@trimble-oss/moduswebcomponents
Version:
Modus Web Components is a modern, accessible UI library built with Stencil JS that provides reusable web components following Trimble's Modus design system. This updated version focuses on improved flexibility, enhanced theming options, comprehensive cust
273 lines (263 loc) • 11.4 kB
CSS
/**
* This component uses Tailwind CSS and DaisyUI.
* Only add styles here that should not be applied by Tailwind, Daisy, or the theme.
*/
modus-wc-collapse details.modus-wc-collapse > summary {
display: inline-flex;
}
modus-wc-collapse .modus-wc-collapse {
background-color: var(--modus-wc-color-base-100);
border-radius: 0;
box-sizing: border-box;
color: var(--modus-wc-color-base-content);
margin-bottom: var(--modus-wc-spacing-md);
transition: none;
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title {
cursor: pointer;
font-size: var(--modus-wc-font-size-md);
font-weight: var(--modus-wc-font-weight-semibold);
min-height: unset;
padding: var(--modus-wc-spacing-lg) var(--modus-wc-spacing-3xl) var(--modus-wc-spacing-lg) var(--modus-wc-spacing-3xl);
position: relative;
width: auto;
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title:hover {
background-color: var(--modus-wc-color-base-100);
color: var(--modus-wc-color-primary);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title:focus {
background-color: var(--modus-wc-color-base-200);
color: var(--modus-wc-color-primary);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title:active {
background-color: var(--modus-wc-color-primary-pale);
color: var(--modus-wc-color-primary);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title-selected {
background-color: var(--modus-wc-color-primary-pale);
color: var(--modus-wc-color-primary);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title-active {
background-color: var(--modus-wc-color-primary-pale);
color: var(--modus-wc-color-primary);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title-open {
background-color: var(--modus-wc-color-primary-pale);
color: var(--modus-wc-color-primary);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title.selected {
background-color: var(--modus-wc-color-primary-pale);
color: var(--modus-wc-color-primary);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title.active {
background-color: var(--modus-wc-color-primary-pale);
color: var(--modus-wc-color-primary);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title-disabled:hover {
background-color: inherit;
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title--active {
background-color: var(--modus-wc-color-primary-pale);
color: var(--modus-wc-color-primary);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title--selected {
background-color: var(--modus-wc-color-primary-pale);
color: var(--modus-wc-color-primary);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title:checked {
background-color: var(--modus-wc-color-primary);
color: var(--modus-wc-color-primary-content);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title.checked {
background-color: var(--modus-wc-color-primary);
color: var(--modus-wc-color-primary-content);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title-checked {
background-color: var(--modus-wc-color-primary);
color: var(--modus-wc-color-primary-content);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title.pressed {
background-color: var(--modus-wc-color-primary);
color: var(--modus-wc-color-primary-content);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title-pressed {
background-color: var(--modus-wc-color-primary);
color: var(--modus-wc-color-primary-content);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title[aria-pressed=true] {
background-color: var(--modus-wc-color-primary);
color: var(--modus-wc-color-primary-content);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title:hover, modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title:active, modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title:focus {
background-color: transparent;
color: var(--modus-wc-color-base-content);
}
modus-wc-collapse .modus-wc-collapse .description {
font-size: var(--modus-wc-font-size-md);
padding-inline-start: var(--modus-wc-spacing-md);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-content {
font-size: var(--modus-wc-font-size-md);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-title-main-content {
display: inline-flex;
flex: 1;
flex-direction: column;
min-width: 0;
}
modus-wc-collapse .modus-wc-collapse .modus-wc-summary-main-content {
align-items: center;
display: flex;
justify-content: space-between;
min-height: 1rem;
width: 100%;
}
modus-wc-collapse .modus-wc-collapse .modus-wc-title-main-row > modus-wc-icon {
height: 24px;
margin-inline-end: var(--modus-wc-spacing-sm);
}
modus-wc-collapse .modus-wc-collapse .modus-wc-title-end-content {
align-items: center;
display: inline-flex;
}
modus-wc-collapse .modus-wc-collapse .title-end-icon {
height: 24px;
margin-inline-start: var(--modus-wc-spacing-sm);
pointer-events: none;
position: relative;
top: 2px;
}
modus-wc-collapse .modus-wc-collapse .title-start-icon {
height: 24px;
inset-inline-start: var(--modus-wc-spacing-lg);
pointer-events: none;
position: absolute;
top: 50%;
transform: translateY(-50%);
}
modus-wc-collapse .modus-wc-collapse.modus-wc-border {
background-color: var(--modus-wc-color-base-page);
border: none;
border-bottom: var(--modus-wc-border-width-xs) solid var(--modus-wc-color-base-200);
}
modus-wc-collapse .modus-wc-collapse.modus-wc-collapse-arrow.modus-wc-collapse-open .modus-wc-collapse-content {
padding: var(--modus-wc-spacing-md);
padding-top: var(--modus-wc-spacing-sm);
}
modus-wc-collapse .modus-wc-collapse.modus-wc-collapse-arrow.modus-wc-collapse-open .modus-wc-collapse-title {
color: var(--modus-wc-color-base-content);
}
modus-wc-collapse .modus-wc-collapse.has-start-icon > .modus-wc-collapse-title {
padding-inline-start: var(--modus-wc-size-xxl);
}
modus-wc-collapse .modus-wc-collapse.has-start-icon > .modus-wc-collapse-title::before {
inset-inline-start: 49px;
}
modus-wc-collapse .modus-wc-collapse.modus-wc-chevron-left > .modus-wc-collapse-title {
padding-inline-end: 16px;
}
modus-wc-collapse .modus-wc-collapse.no-leading-icons > .modus-wc-collapse-title {
padding-inline-start: 16px;
}
modus-wc-collapse .modus-wc-collapse.no-leading-icons > .modus-wc-collapse-description {
padding-inline-start: var(--modus-wc-spacing-md);
}
.modus-wc-collapse-arrow.modus-wc-chevron-left > .modus-wc-collapse-title::before {
box-shadow: 2px 2px;
content: "";
display: block;
height: 0.5rem;
inset-inline-start: var(--modus-wc-spacing-lg);
pointer-events: none;
position: absolute;
top: 44%;
transform: translateY(-50%) rotate(45deg);
transform-origin: 75% 75%;
transition-duration: 0.2s;
transition-property: transform;
transition-timing-function: cubic-bezier(0, 0, 0.2, 1);
width: 0.5rem;
}
.modus-wc-collapse-arrow.modus-wc-chevron-left.modus-wc-collapse-open > .modus-wc-collapse-title::before {
top: 50%;
transform: translateY(-50%) rotate(225deg);
}
.modus-wc-collapse-arrow.modus-wc-chevron-left > .modus-wc-collapse-title::after {
display: none;
}
[data-theme=modus-classic-light] modus-wc-collapse .modus-wc-collapse,
[data-theme=modus-classic-dark] modus-wc-collapse .modus-wc-collapse {
border-radius: var(--modus-wc-border-radius-md);
margin-bottom: 0;
margin-bottom: -1px;
}
[data-theme=modus-classic-light] modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title,
[data-theme=modus-classic-dark] modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title {
font-weight: var(--modus-wc-font-weight-normal);
min-height: unset;
width: auto;
}
[data-theme=modus-classic-light] modus-wc-collapse .modus-wc-collapse {
background-color: var(--modus-wc-color-white);
color: inherit;
}
[data-theme=modus-classic-light] modus-wc-collapse .modus-wc-collapse.modus-wc-border {
border: var(--modus-wc-border-width-xs) solid var(--modus-wc-color-base-200);
}
[data-theme=modus-classic-light] modus-wc-collapse .modus-wc-collapse .description {
color: var(--modus-wc-color-gray-6);
}
[data-theme=modus-classic-light] modus-wc-collapse .modus-wc-collapse.modus-wc-collapse-arrow.modus-wc-collapse-open {
border-left: var(--modus-wc-spacing-xs) solid var(--modus-wc-color-trimble-blue);
}
[data-theme=modus-classic-light] modus-wc-collapse .modus-wc-collapse.modus-wc-collapse-arrow.modus-wc-collapse-open .modus-wc-collapse-title {
background-color: var(--modus-wc-color-blue-pale);
font-weight: var(--modus-wc-font-weight-normal);
}
[data-theme=modus-classic-light] modus-wc-collapse .modus-wc-collapse.modus-wc-collapse-arrow.modus-wc-collapse-open.no-leading-icons .modus-wc-collapse-description {
padding-inline-start: var(--modus-wc-spacing-md);
}
[data-theme=modus-classic-dark] modus-wc-collapse .modus-wc-collapse {
background-color: var(--modus-wc-color-trimble-gray);
color: inherit;
}
[data-theme=modus-classic-dark] modus-wc-collapse .modus-wc-collapse.modus-wc-border {
border: var(--modus-wc-border-width-xs) solid var(--modus-wc-color-base-200);
}
[data-theme=modus-classic-dark] modus-wc-collapse .modus-wc-collapse .description {
color: var(--modus-wc-color-base-inverted);
}
[data-theme=modus-classic-dark] modus-wc-collapse .modus-wc-collapse.modus-wc-collapse-arrow.modus-wc-collapse-open {
border-left: var(--modus-wc-spacing-xs) solid var(--modus-wc-color-highlight-blue);
}
[data-theme=modus-classic-dark] modus-wc-collapse .modus-wc-collapse.modus-wc-collapse-arrow.modus-wc-collapse-open .modus-wc-collapse-title {
background-color: color-mix(in sRGB, var(--modus-wc-color-highlight-blue) 30%, transparent);
}
[data-theme=modus-classic-dark] modus-wc-collapse .modus-wc-collapse.modus-wc-collapse-arrow.modus-wc-collapse-open.no-leading-icons .modus-wc-collapse-title, [data-theme=modus-classic-dark] modus-wc-collapse .modus-wc-collapse.modus-wc-collapse-arrow.modus-wc-collapse-open.no-leading-icons .modus-wc-collapse-description {
padding-inline-start: var(--modus-wc-spacing-md);
}
[data-theme=connect-light] modus-wc-collapse .modus-wc-collapse,
[data-theme=connect-dark] modus-wc-collapse .modus-wc-collapse {
background-color: var(--modus-wc-color-base-page);
border: 1px solid var(--modus-wc-color-base-200);
color: var(--modus-wc-color-base-content);
}
[data-theme=connect-light] modus-wc-collapse .modus-wc-collapse.modus-wc-border,
[data-theme=connect-dark] modus-wc-collapse .modus-wc-collapse.modus-wc-border {
border-radius: var(--modus-wc-border-radius-box);
}
[data-theme=modus-modern-light] modus-wc-collapse .modus-wc-collapse:not(.modus-wc-border) {
border-radius: var(--modus-wc-border-radius-box);
}
[data-theme=modus-modern-dark] modus-wc-collapse .modus-wc-collapse:not(.modus-wc-border) {
border-radius: var(--modus-wc-border-radius-box);
}
[data-theme=modus-modern-dark] modus-wc-collapse .modus-wc-collapse {
color: var(--modus-wc-color-base-inverted);
}
[data-theme=modus-modern-dark] modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-title,
[data-theme=modus-modern-dark] modus-wc-collapse .modus-wc-collapse .description,
[data-theme=modus-modern-dark] modus-wc-collapse .modus-wc-collapse .modus-wc-collapse-content, [data-theme=modus-modern-dark] modus-wc-collapse .modus-wc-collapse.modus-wc-collapse-arrow.modus-wc-collapse-open .modus-wc-collapse-title {
color: var(--modus-wc-color-base-inverted);
}