UNPKG

@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
/** * 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); }