<style>
:host {
outline: none;
}
#container {
position: relative;
}
#card {
align-items: center;
background-color: var(--cros-sys-app_base_shaded);
border: 2px solid transparent;
cursor: pointer;
display: flex;
flex-direction: row;
justify-content: space-between;
padding: 16px;
user-select: none;
}
#card[selected] {
background-color: var(--cros-sys-primary_container);
}
#card > .hover-layer {
background-color: var(--cros-sys-hover_on_subtle);
content: '';
display: none;
inset: 0;
pointer-events: none;
position: absolute;
z-index: 1;
}
#card:hover:not([selected]) > .hover-layer {
display: block;
}
:host(:focus-visible) #card {
border: 2px solid var(--cros-sys-focus_ring);
color: var(--cros-sys-ripple_neutral_on_subtle);
}
.margin-top {
margin-block-start: 8px;
}
/* Apply border radius to both #card and paper-ripple */
#container.round-top #card,
#container.round-top #card > paper-ripple,
#container.round-top #card > .hover-layer {
border-top-left-radius: 12px;
border-top-right-radius: 12px;
}
#container.round-bottom #card,
#container.round-bottom #card > paper-ripple,
#container.round-bottom #card > .hover-layer {
border-bottom-left-radius: 12px;
border-bottom-right-radius: 12px;
}
#container.separator-bottom {
border-bottom: 1px solid var(--cros-sys-separator);
}
#content {
display: flex;
flex-direction: column;
flex-grow: 1;
max-width: 344px;
}
#icon {
background-size: 32px;
border-radius: 50%;
box-sizing: border-box;
height: 32px;
margin-inline-end: 16px;
width: 32px;
}
#icon.docs,
#icon.sheets,
#icon.slides,
#icon.office {
background-color: var(--cros-sys-base_elevated);
background-position: center;
background-repeat: no-repeat;
border: 1px solid var(--cros-sys-separator);
}
#icon.docs {
background-image: url(../icons/docs.svg);
}
#icon.sheets {
background-image: url(../icons/sheets.svg);
}
#icon.slides {
background-image: url(../icons/slides.svg);
}
#icon.office {
background-image: url(../icons/office.svg);
background-size: 20px;
}
#title {
color: var(--cros-sys-on_surface);
font: var(--cros-body-1-font);
}
#description {
color: var(--cros-sys-on_surface_variant);
font: var(--cros-body-2-font);
}
#title,
#description {
color: var(--cros-sys-on_surface);
}
#card[selected] #title,
#card[selected] #description {
color: var(--cros-sys-on_primary_container);
}
#right-icon {
-webkit-mask-image: url(../icons/list_check.svg);
-webkit-mask-position: center;
-webkit-mask-repeat: no-repeat;
background: no-repeat center var(--cros-sys-on_primary_container);
border-radius: 50%;
box-sizing: border-box;
height: 20px;
margin-inline-start: 16px;
width: 20px;
}
#right-icon.chevron {
-webkit-mask-image: url(../icons/chevron.svg);
-webkit-mask-size: 90%;
background: no-repeat center var(--cros-sys-on_primary_container);
}
.chevron[expanded] {
transform: rotate(180deg);
}
.chevron:not([expanded]) {
transform: rotate(0deg);
}
#card:not([selected]) > #right-icon:not(.chevron) {
visibility: hidden;
}
</style>
<div id="container">
<div id="card">
<paper-ripple></paper-ripple>
<div class="hover-layer"></div>
<div id="icon"></div>
<div id="content">
<div id="title"></div>
<div id="description"></div>
</div>
<div id="right-icon"></div>
</div>
</div>