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

198 lines (195 loc) 11.8 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-menu-item .modus-wc-menu-item button { align-items: center; border-radius: inherit; display: flex; width: 100%; } modus-wc-menu-item .modus-wc-menu-item button:hover { background-color: transparent; } modus-wc-menu-item .modus-wc-menu-item button:focus { background-color: transparent; } modus-wc-menu-item .modus-wc-menu-item button.modus-wc-menu-dropdown-toggle::after { color: var(--modus-wc-color-base-content); } modus-wc-menu-item .modus-wc-menu-item button .modus-wc-menu-item-content { align-items: center; display: flex; width: 100%; } modus-wc-menu-item .modus-wc-menu-item button .modus-wc-menu-item-content [slot=start-icon] { padding-inline-end: var(--modus-wc-spacing-sm); } modus-wc-menu-item .modus-wc-menu-item button .modus-wc-menu-item-content modus-wc-checkbox { padding-inline-end: var(--modus-wc-spacing-sm); } modus-wc-menu-item .modus-wc-menu-item button .modus-wc-menu-item-content .modus-wc-menu-item-labels { padding-inline-end: var(--modus-wc-spacing-xs); padding-inline-start: var(--modus-wc-spacing-md); white-space: nowrap; } modus-wc-menu-item .modus-wc-menu-item button .modus-wc-menu-item-content .modus-wc-menu-item-sublabel { font-size: var(--modus-wc-font-size-sm); white-space: nowrap; } modus-wc-menu-item .modus-wc-menu-item button .modus-wc-menu-item-content .modus-wc-menu-item-selected-icon { margin-left: auto; } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-sm button { font-size: var(--modus-wc-font-size-sm); } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-sm button .modus-wc-menu-item-sublabel { font-size: var(--modus-wc-font-size-xs); } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-md button { font-size: var(--modus-wc-font-size-md); } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-md button .modus-wc-menu-item-sublabel { font-size: var(--modus-wc-font-size-sm); } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-lg button { font-size: var(--modus-wc-font-size-lg); } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-lg button .modus-wc-menu-item-sublabel { font-size: var(--modus-wc-font-size-md); } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-bordered { border-bottom: var(--modus-wc-border-width-xs) solid var(--modus-wc-color-base-200); border-radius: 0; border-top: var(--modus-wc-border-width-xs) solid var(--modus-wc-color-base-200); } modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-selected) { color: var(--modus-wc-color-base-content); } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-selected { background-color: color-mix(in sRGB, var(--modus-wc-color-primary-pale) 50%, transparent); border-radius: inherit; color: var(--modus-wc-base-content); } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-selected:focus { background-color: color-mix(in sRGB, var(--modus-wc-color-primary-pale) 50%, transparent); } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-selected button { background-color: transparent; } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-selected button:hover, modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-selected button:focus { background-color: transparent; border-radius: inherit; box-shadow: none; color: inherit; } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active { background-color: color-mix(in sRGB, var(--modus-wc-color-primary-pale) 50%, transparent); border-radius: inherit; color: var(--modus-wc-color-base-content); } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active:focus { background-color: color-mix(in sRGB, var(--modus-wc-color-primary-pale) 50%, transparent); } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active button { background-color: transparent; } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active button:hover, modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active button:focus { background-color: transparent; border-radius: inherit; box-shadow: none; color: inherit; } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-disabled { opacity: 0.4; } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-disabled button { pointer-events: none; } modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-disabled):not(.modus-wc-menu-item-focused):not(:has(.modus-wc-menu-dropdown)):hover { background-color: var(--modus-wc-color-base-100); outline: none; } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-focused:not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)):hover { background-color: var(--modus-wc-color-base-100); } modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-active):not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)):focus:not(:focus-visible), modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-active):not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)).modus-wc-arrow-focused { background-color: var(--modus-wc-color-base-100); color: var(--modus-wc-color-primary); outline: none; } modus-wc-menu-item .modus-wc-menu-item:focus-visible { background-color: transparent; outline: 2px solid var(--modus-wc-color-primary); outline-offset: -2px; } modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-focused { border-radius: inherit; outline: 2px solid var(--modus-wc-color-primary); outline-offset: -2px; } [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-active), [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-active) { color: var(--modus-wc-color-gray-light); } [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item button.modus-wc-menu-dropdown-toggle::after, [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item button.modus-wc-menu-dropdown-toggle::after { color: var(--modus-wc-color-gray-3); } [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-disabled):not(.modus-wc-menu-item-focused):not(:has(.modus-wc-menu-dropdown)):hover, [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-disabled):not(.modus-wc-menu-item-focused):not(:has(.modus-wc-menu-dropdown)):hover { background-color: var(--modus-wc-color-gray-9); color: inherit; outline: none; } [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-focused:not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)):hover, [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-focused:not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)):hover { background-color: var(--modus-wc-color-gray-9); color: inherit; } [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active, [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item:active:not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)), [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active, [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item:active:not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)) { background-color: color-mix(in sRGB, var(--modus-wc-color-primary) 30%, transparent); } [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active button, [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item:active:not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)) button, [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active button, [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item:active:not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)) button { background-color: transparent; } [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active button:hover, [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active button:focus, [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item:active:not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)) button:hover, [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item:active:not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)) button:focus, [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active button:hover, [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-active button:focus, [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item:active:not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)) button:hover, [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item:active:not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)) button:focus { background-color: transparent; box-shadow: none; color: inherit; } [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-active):not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)):focus:not(:focus-visible), [data-theme=modus-classic-dark] modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-active):not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)).modus-wc-arrow-focused, [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-active):not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)):focus:not(:focus-visible), [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-active):not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)).modus-wc-arrow-focused { background-color: var(--modus-wc-color-gray-9); } [data-theme=connect-light] modus-wc-menu-item .modus-wc-menu-item > button.modus-wc-menu-dropdown-toggle::after, [data-theme=connect-dark] modus-wc-menu-item .modus-wc-menu-item > button.modus-wc-menu-dropdown-toggle::after { color: var(--modus-wc-color-white); } /* Connect side nav: never paint li with base-100 on hover (white flash on blue panel). */ [data-theme=connect-light] modus-wc-side-navigation modus-wc-menu .modus-wc-menu li.modus-wc-menu-item:not(.modus-wc-menu-item-active):hover { background-color: transparent; } [data-theme=connect-light] modus-wc-side-navigation modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-disabled):not(.modus-wc-menu-item-focused):not(:has(.modus-wc-menu-dropdown)):hover { background-color: transparent; outline: none; } [data-theme=connect-light] modus-wc-side-navigation modus-wc-menu-item .modus-wc-menu-item.modus-wc-menu-item-focused:not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)):hover { background-color: transparent; } [data-theme=connect-light] modus-wc-side-navigation modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-active):not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)):focus:not(:focus-visible), [data-theme=connect-light] modus-wc-side-navigation modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-active):not(.modus-wc-menu-item-disabled):not(:has(.modus-wc-menu-dropdown)).modus-wc-arrow-focused { background-color: transparent; } [data-theme=connect-light] modus-wc-side-navigation modus-wc-menu-item .modus-wc-menu-item:not(.modus-wc-menu-item-active) > button:hover { background-color: var(--modus-wc-color-trimble-blue); color: var(--modus-wc-color-white); }