UNPKG

@limetech/lime-elements

Version:
1,007 lines (941 loc) 27.2 kB
@charset "UTF-8"; /* * This file is imported into every component! * * Nothing in this file may output any CSS * without being explicitly called by outside code. */ /** * Note! This file is exported to `dist/scss/` in the published * node module, for consumer projects to import. * That means this file cannot import from any file that isn't * also exported, keeping the same relative path. * * Or, just don't import anything, that works too. */ /** * This can be used on a trigger element that opens a dropdown menu or a popover. */ /** * This mixin will mask out the content that is close to * the edges of a scrollable area. * - If the scrollable content has `overflow-y`, use `vertically` * as an argument for `$direction`. - If the scrollable content has `overflow-x`, use `horizontally` * as an argument for `$direction`. * * For the visual effect to work smoothly, we need to make sure that * the size of the fade-out edge effect is the same as the * internal paddings of the scrollable area. Otherwise, content of a * scrollable area that does not have a padding will fade out before * any scrolling has been done. * This is why this mixin already adds paddings, which automatically * default to the size of the fade-out effect. * This size defaults to `1rem`, but to override the size use * `--limel-top-edge-fade-height` & `--limel-bottom-edge-fade-height` * when `vertically` argument is set, and use * `--limel-left-edge-fade-width` & `--limel-right-edge-fade-width` * when `horizontally` argument is set. * Of course you can also programmatically increase and decrease the * size of these variables for each edge, based on the amount of * scrolling that has been done by the user. In this case, make sure * to add a custom padding where the mixin is used, to override * the paddings that are automatically added by the mixin in the * compiled CSS code. */ /** * This mixin will add an animated underline to the bottom of an `a` elements. * Note that you may need to add `all: unset;` –depending on your use case– * before using this mixin. */ /** * This mixin creates a cross-browser font stack. * - `sans-serif` can be used for the UI of the components. * - `monospace` can be used for code. * * ⚠️ If we change the font stacks, we need to update * 1. the consumer documentation in `README.md`, and * 2. the CSS variables of `--kompendium-example-font-family` * in the `<style>` tag of `index.html`. */ /** * This mixin is a hack, using old CSS syntax * to enable you to truncate a piece of text, * after a certain number of lines. */ /** * This mixin will add a chessboard background pattern, * typically used to visualize transparency. */ /** * Make a container resizable by the user. * This is used in the documentations and examples * of some components, to demonstrate how the component * behaves in a resizable container. */ /** * The breakpoints below are used to create responsive designs * in Lime's products. Therefore, they are here to get distributed * to all components in other private repos, which rely on this `mixins` * file, to create consistent styles. * * :::important * In very rare cases you should used media queries! * Nowadays, there are many better ways of achieving responsive design * without media queries. For example, using CSS Grid, Flexbox, and their features. * ::: */ /** * Media query mixins for responsive design based on screen width. * Note that these mixins do not detect the device type! */ :root { --mdc-theme-primary: #6200ee; --mdc-theme-secondary: #018786; --mdc-theme-background: #fff; --mdc-theme-surface: #fff; --mdc-theme-error: #b00020; --mdc-theme-on-primary: #fff; --mdc-theme-on-secondary: #fff; --mdc-theme-on-surface: #000; --mdc-theme-on-error: #fff; --mdc-theme-text-primary-on-background: rgba(0, 0, 0, 0.87); --mdc-theme-text-secondary-on-background: rgba(0, 0, 0, 0.54); --mdc-theme-text-hint-on-background: rgba(0, 0, 0, 0.38); --mdc-theme-text-disabled-on-background: rgba(0, 0, 0, 0.38); --mdc-theme-text-icon-on-background: rgba(0, 0, 0, 0.38); --mdc-theme-text-primary-on-light: rgba(0, 0, 0, 0.87); --mdc-theme-text-secondary-on-light: rgba(0, 0, 0, 0.54); --mdc-theme-text-hint-on-light: rgba(0, 0, 0, 0.38); --mdc-theme-text-disabled-on-light: rgba(0, 0, 0, 0.38); --mdc-theme-text-icon-on-light: rgba(0, 0, 0, 0.38); --mdc-theme-text-primary-on-dark: white; --mdc-theme-text-secondary-on-dark: rgba(255, 255, 255, 0.7); --mdc-theme-text-hint-on-dark: rgba(255, 255, 255, 0.5); --mdc-theme-text-disabled-on-dark: rgba(255, 255, 255, 0.5); --mdc-theme-text-icon-on-dark: rgba(255, 255, 255, 0.5); } .mdc-theme--primary { color: #6200ee !important; /* @alternate */ color: var(--mdc-theme-primary, #6200ee) !important; } .mdc-theme--secondary { color: #018786 !important; /* @alternate */ color: var(--mdc-theme-secondary, #018786) !important; } .mdc-theme--background { background-color: #fff; /* @alternate */ background-color: var(--mdc-theme-background, #fff); } .mdc-theme--surface { background-color: #fff; /* @alternate */ background-color: var(--mdc-theme-surface, #fff); } .mdc-theme--error { color: #b00020 !important; /* @alternate */ color: var(--mdc-theme-error, #b00020) !important; } .mdc-theme--on-primary { color: #fff !important; /* @alternate */ color: var(--mdc-theme-on-primary, #fff) !important; } .mdc-theme--on-secondary { color: #fff !important; /* @alternate */ color: var(--mdc-theme-on-secondary, #fff) !important; } .mdc-theme--on-surface { color: #000 !important; /* @alternate */ color: var(--mdc-theme-on-surface, #000) !important; } .mdc-theme--on-error { color: #fff !important; /* @alternate */ color: var(--mdc-theme-on-error, #fff) !important; } .mdc-theme--text-primary-on-background { color: rgba(0, 0, 0, 0.87) !important; /* @alternate */ color: var(--mdc-theme-text-primary-on-background, rgba(0, 0, 0, 0.87)) !important; } .mdc-theme--text-secondary-on-background { color: rgba(0, 0, 0, 0.54) !important; /* @alternate */ color: var(--mdc-theme-text-secondary-on-background, rgba(0, 0, 0, 0.54)) !important; } .mdc-theme--text-hint-on-background { color: rgba(0, 0, 0, 0.38) !important; /* @alternate */ color: var(--mdc-theme-text-hint-on-background, rgba(0, 0, 0, 0.38)) !important; } .mdc-theme--text-disabled-on-background { color: rgba(0, 0, 0, 0.38) !important; /* @alternate */ color: var(--mdc-theme-text-disabled-on-background, rgba(0, 0, 0, 0.38)) !important; } .mdc-theme--text-icon-on-background { color: rgba(0, 0, 0, 0.38) !important; /* @alternate */ color: var(--mdc-theme-text-icon-on-background, rgba(0, 0, 0, 0.38)) !important; } .mdc-theme--text-primary-on-light { color: rgba(0, 0, 0, 0.87) !important; /* @alternate */ color: var(--mdc-theme-text-primary-on-light, rgba(0, 0, 0, 0.87)) !important; } .mdc-theme--text-secondary-on-light { color: rgba(0, 0, 0, 0.54) !important; /* @alternate */ color: var(--mdc-theme-text-secondary-on-light, rgba(0, 0, 0, 0.54)) !important; } .mdc-theme--text-hint-on-light { color: rgba(0, 0, 0, 0.38) !important; /* @alternate */ color: var(--mdc-theme-text-hint-on-light, rgba(0, 0, 0, 0.38)) !important; } .mdc-theme--text-disabled-on-light { color: rgba(0, 0, 0, 0.38) !important; /* @alternate */ color: var(--mdc-theme-text-disabled-on-light, rgba(0, 0, 0, 0.38)) !important; } .mdc-theme--text-icon-on-light { color: rgba(0, 0, 0, 0.38) !important; /* @alternate */ color: var(--mdc-theme-text-icon-on-light, rgba(0, 0, 0, 0.38)) !important; } .mdc-theme--text-primary-on-dark { color: white !important; /* @alternate */ color: var(--mdc-theme-text-primary-on-dark, white) !important; } .mdc-theme--text-secondary-on-dark { color: rgba(255, 255, 255, 0.7) !important; /* @alternate */ color: var(--mdc-theme-text-secondary-on-dark, rgba(255, 255, 255, 0.7)) !important; } .mdc-theme--text-hint-on-dark { color: rgba(255, 255, 255, 0.5) !important; /* @alternate */ color: var(--mdc-theme-text-hint-on-dark, rgba(255, 255, 255, 0.5)) !important; } .mdc-theme--text-disabled-on-dark { color: rgba(255, 255, 255, 0.5) !important; /* @alternate */ color: var(--mdc-theme-text-disabled-on-dark, rgba(255, 255, 255, 0.5)) !important; } .mdc-theme--text-icon-on-dark { color: rgba(255, 255, 255, 0.5) !important; /* @alternate */ color: var(--mdc-theme-text-icon-on-dark, rgba(255, 255, 255, 0.5)) !important; } .mdc-theme--primary-bg { background-color: #6200ee !important; /* @alternate */ background-color: var(--mdc-theme-primary, #6200ee) !important; } .mdc-theme--secondary-bg { background-color: #018786 !important; /* @alternate */ background-color: var(--mdc-theme-secondary, #018786) !important; } .flatpickr-calendar { text-align: center; direction: ltr; font-size: 14px; line-height: 24px; width: 307.875px; -ms-touch-action: manipulation; touch-action: manipulation; } .flatpickr-calendar .hasWeeks .dayContainer, .flatpickr-calendar .hasTime .dayContainer { border-bottom: 0; border-bottom-right-radius: 0; border-bottom-left-radius: 0; } .flatpickr-calendar .hasWeeks .dayContainer { border-left: 0; } .flatpickr-calendar:focus { outline: 0; } .flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7) { box-shadow: none !important; } .flatpickr-wrapper { position: relative; display: inline-block; } .flatpickr-months { display: flex; } .flatpickr-months .flatpickr-month { background: transparent; height: 34px; line-height: 1; text-align: center; position: relative; user-select: none; overflow: hidden; flex: 1; } .flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month { user-select: none; text-decoration: none; cursor: pointer; } .flatpickr-months .flatpickr-prev-month.flatpickr-disabled, .flatpickr-months .flatpickr-next-month.flatpickr-disabled { display: none; } .flatpickr-months .flatpickr-prev-month i, .flatpickr-months .flatpickr-next-month i { position: relative; } .numInputWrapper { position: relative; height: auto; } .numInputWrapper input, .numInputWrapper span { display: inline-block; } .numInputWrapper input { width: 100%; } .numInputWrapper input::-ms-clear { display: none; } .numInputWrapper input::-webkit-outer-spin-button, .numInputWrapper input::-webkit-inner-spin-button { margin: 0; -webkit-appearance: none; } .numInputWrapper span { position: absolute; right: 0; height: 50%; line-height: 50%; opacity: 0; cursor: pointer; box-sizing: border-box; } .numInputWrapper span:after { display: block; content: ""; position: absolute; } .numInputWrapper span.arrowUp { top: 0; border-bottom: 0; } .numInputWrapper span.arrowUp:after { border-left: 4px solid transparent; border-right: 4px solid transparent; border-bottom: 4px solid rgba(57, 57, 57, 0.6); } .numInputWrapper span.arrowDown { top: 50%; } .numInputWrapper span.arrowDown:after { border-left: 4px solid transparent; border-right: 4px solid transparent; border-top: 4px solid rgba(57, 57, 57, 0.6); } .numInputWrapper span svg { width: inherit; height: auto; } .numInputWrapper:hover { background: rgba(0, 0, 0, 0.05); } .numInputWrapper:hover span { opacity: 1; } .flatpickr-current-month input.cur-year { background: transparent; box-sizing: border-box; color: inherit; cursor: text; padding: 0 0 0 0.5ch; margin: 0; display: inline-block; font-size: inherit; font-family: inherit; font-weight: 300; line-height: inherit; height: auto; border: 0; border-radius: 0; vertical-align: initial; -webkit-appearance: textfield; -moz-appearance: textfield; appearance: textfield; } .flatpickr-current-month input.cur-year:focus { outline: 0; } .flatpickr-current-month input.cur-year[disabled] { font-size: 100%; background: transparent; pointer-events: none; } .flatpickr-current-month input.cur-year[disabled]:hover { font-size: 100%; background: transparent; pointer-events: none; } .flatpickr-current-month .flatpickr-monthDropdown-months { appearance: menulist; background: transparent; border: none; cursor: pointer; font-family: inherit; font-weight: 300; height: auto; line-height: inherit; outline: none; position: relative; vertical-align: initial; -webkit-appearance: menulist; -moz-appearance: menulist; width: auto; } .flatpickr-current-month .flatpickr-monthDropdown-months:focus, .flatpickr-current-month .flatpickr-monthDropdown-months:active { outline: none; } .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month { background-color: transparent; outline: none; padding: 0; } .flatpickr-weekdays { display: flex; align-items: center; height: 28px; } span.flatpickr-weekday { font-size: 90%; font-weight: bolder; } .flatpickr-days { position: relative; } .flatpickr-day.selected.startRange, .flatpickr-day.startRange.startRange, .flatpickr-day.endRange.startRange { border-radius: 50px 0 0 50px; } .flatpickr-day.selected.endRange, .flatpickr-day.startRange.endRange, .flatpickr-day.endRange.endRange { border-radius: 0 50px 50px 0; } .flatpickr-day.selected.startRange.endRange, .flatpickr-day.startRange.startRange.endRange { border-radius: 50px; } .flatpickr-day.flatpickr-disabled, .flatpickr-day.notAllowed { opacity: 0.4; background: transparent; border-color: transparent; cursor: default; } .flatpickr-day.flatpickr-disabled.prevMonthDay, .flatpickr-day.flatpickr-disabled.nextMonthDay, .flatpickr-day.notAllowed.prevMonthDay, .flatpickr-day.notAllowed.nextMonthDay { background: transparent; border-color: transparent; cursor: default; } .flatpickr-day.week.selected { border-radius: 0; } .flatpickr-day.hidden { visibility: hidden; } .flatpickr-weekwrapper { float: left; } .flatpickr-weekwrapper .flatpickr-weekday { float: none; width: 100%; line-height: 28px; } .flatpickr-weekwrapper span.flatpickr-day { display: block; width: 100%; max-width: none; background: transparent; cursor: default; border: none; } .flatpickr-weekwrapper span.flatpickr-day:hover { display: block; width: 100%; max-width: none; background: transparent; cursor: default; border: none; } .flatpickr-innerContainer { display: flex; } .flatpickr-rContainer { display: inline-block; padding: 0; box-sizing: border-box; } .flatpickr-time { text-align: center; outline: 0; line-height: 40px; max-height: 40px; box-sizing: border-box; overflow: hidden; display: flex; } .flatpickr-time:after { content: ""; display: table; clear: both; } .flatpickr-time .numInputWrapper { flex: 1; width: 40%; height: 40px; float: left; } .flatpickr-time.hasSeconds .numInputWrapper { width: 26%; } .flatpickr-time.time24hr .numInputWrapper { width: 49%; } .flatpickr-time input { background: transparent; box-shadow: none; border: 0; border-radius: 0; text-align: center; margin: 0; padding: 0; height: inherit; line-height: inherit; font-size: 14px; position: relative; box-sizing: border-box; appearance: textfield; } .flatpickr-time input.flatpickr-hour { font-weight: bold; } .flatpickr-time input.flatpickr-minute, .flatpickr-time input.flatpickr-second { font-weight: 400; } .flatpickr-time input:focus { outline: 0; border: 0; } .flatpickr-time .flatpickr-time-separator { height: inherit; float: left; line-height: inherit; font-weight: bold; width: 2%; user-select: none; align-self: center; } .flatpickr-time .flatpickr-am-pm { height: inherit; float: left; line-height: inherit; user-select: none; align-self: center; outline: 0; width: 18%; cursor: pointer; text-align: center; font-weight: 400; } .flatpickr-input[readonly] { cursor: pointer; } /** * @prop --today-label: Tooltip label for "today". */ :host(limel-flatpickr-adapter) { --calendar-text-color: rgb(var(--contrast-1400)); color: var(--calendar-text-color); } :host(limel-flatpickr-adapter) * { box-sizing: border-box; } svg { fill: var(--calendar-text-color) !important; } .flatpickr-calendar { isolation: isolate; border-radius: 0.25rem; background-color: var(--lime-elevated-surface-background-color); box-shadow: var(--shadow-depth-16); } .flatpickr-weekwrapper .flatpickr-day, .flatpickr-weekwrapper .flatpickr-weekday { color: rgb(var(--contrast-700)); } .flatpickr-weeks { padding: 0 0.5rem; box-shadow: 1px 0 0 rgb(var(--contrast-300)); } .flatpickr-weekdaycontainer, .dayContainer { flex-grow: 1; display: grid; grid-template-columns: repeat(7, 1fr); } .flatpickr-day { position: relative; cursor: pointer; display: flex; align-items: center; justify-content: center; color: var(--calendar-text-color); border: 1px solid transparent; border-radius: 2.5rem; width: 2.5rem; height: 2.5rem; line-height: 2.5rem; } .dayContainer .flatpickr-day { transition: color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease); cursor: pointer; color: var(--limel-theme-on-surface-color); background-color: transparent; } .dayContainer .flatpickr-day:hover, .dayContainer .flatpickr-day:focus, .dayContainer .flatpickr-day:focus-visible { will-change: color, background-color, box-shadow, transform; } .dayContainer .flatpickr-day:hover, .dayContainer .flatpickr-day:focus-visible { transform: translate3d(0, 0.01rem, 0); color: var(--limel-theme-on-surface-color); background-color: var(--lime-elevated-surface-background-color); } .dayContainer .flatpickr-day:hover { box-shadow: var(--button-shadow-hovered); } .dayContainer .flatpickr-day:active { --limel-clickable-transform-timing-function: cubic-bezier( 0.83, -0.15, 0.49, 1.16 ); transform: translate3d(0, 0.05rem, 0); box-shadow: var(--button-shadow-pressed); } .dayContainer .flatpickr-day:hover, .dayContainer .flatpickr-day:active { --limel-clickable-transition-speed: 0.2s; --limel-clickable-transform-speed: 0.16s; } .flatpickr-day:hover { z-index: 1; } .flatpickr-day.prevMonthDay, .flatpickr-day.nextMonthDay { color: rgb(var(--contrast-800)); } .flatpickr-day.prevMonthDay.inRange, .flatpickr-day.nextMonthDay.inRange { opacity: 0.6; } .flatpickr-day.selected, .flatpickr-day.startRange, .flatpickr-day.endRange, .flatpickr-day.inRange, .flatpickr-day.selected:hover { border-color: var(--lime-primary-color, var(--limel-theme-primary-color)); color: var(--lime-on-primary-color, var(--limel-theme-on-primary-color)); background: var(--lime-primary-color, var(--limel-theme-primary-color)); } .flatpickr-day.today { border-color: var(--lime-on-primary-color, var(--limel-theme-on-primary-color)); box-shadow: 0 0 0 0.125rem var(--lime-primary-color, var(--limel-theme-primary-color)); } .flatpickr-day.today:hover:not(.selected) { background-color: transparent; color: var(--lime-primary-color, var(--limel-theme-primary-color)); } .flatpickr-day.today:hover:before { top: -60%; opacity: 1; } .flatpickr-day.today:before { transition: opacity 0.2s ease, top 0.2s ease; pointer-events: none; content: var(--today-label); display: inline-block; position: absolute; inset: auto; top: -50%; height: 1.25rem; line-height: 1.25rem; font-size: 0.75rem; color: rgb(var(--contrast-1100)); border-radius: 1rem; padding: 0.125rem 0.5rem; background-color: rgb(var(--contrast-100), 0.9); box-shadow: var(--shadow-depth-16); opacity: 0; } .flatpickr-day.inRange { transition-duration: 0s; } .flatpickr-time { border-top: 1px solid rgb(var(--contrast-400)); } .flatpickr-time input { color: var(--limel-theme-on-surface-color); } .flatpickr-time input:hover, .flatpickr-time input:focus, .flatpickr-time .flatpickr-am-pm:hover, .flatpickr-time .flatpickr-am-pm:focus { background: rgb(var(--contrast-100)); } .flatpickr-weekdays { background-color: rgb(var(--contrast-300)); } .flatpickr-months { justify-items: center; padding: 0.125rem; color: var(--calendar-text-color) !important; border-bottom: 1px solid rgb(var(--contrast-300)); } .flatpickr-months svg { height: 0.75rem; width: 0.75rem; } .flatpickr-months .flatpickr-month { display: flex; align-items: stretch; } .flatpickr-months .flatpickr-current-month { display: flex; justify-content: space-evenly; align-items: stretch; gap: 1rem; inset: 0; height: unset; width: 100%; padding: 0.25rem; } .flatpickr-months .flatpickr-current-month .numInputWrapper { width: 4rem; border-radius: 0.25rem; } .flatpickr-months .flatpickr-current-month .numInputWrapper:hover { background-color: rgb(var(--contrast-300)); } .flatpickr-months .flatpickr-current-month input { height: 100%; } .flatpickr-months .flatpickr-prev-month, .flatpickr-months .flatpickr-next-month { position: relative; display: flex; align-items: center; justify-content: center; width: 2rem; } .flatpickr-monthDropdown-months, .flatpickr-prev-month, .flatpickr-next-month, .arrowUp, .arrowDown { transition: color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease); cursor: pointer; color: var(--limel-theme-on-surface-color); background-color: transparent; border-radius: 0.25rem; } .flatpickr-monthDropdown-months:hover, .flatpickr-monthDropdown-months:focus, .flatpickr-monthDropdown-months:focus-visible, .flatpickr-prev-month:hover, .flatpickr-prev-month:focus, .flatpickr-prev-month:focus-visible, .flatpickr-next-month:hover, .flatpickr-next-month:focus, .flatpickr-next-month:focus-visible, .arrowUp:hover, .arrowUp:focus, .arrowUp:focus-visible, .arrowDown:hover, .arrowDown:focus, .arrowDown:focus-visible { will-change: color, background-color, box-shadow, transform; } .flatpickr-monthDropdown-months:hover, .flatpickr-monthDropdown-months:focus-visible, .flatpickr-prev-month:hover, .flatpickr-prev-month:focus-visible, .flatpickr-next-month:hover, .flatpickr-next-month:focus-visible, .arrowUp:hover, .arrowUp:focus-visible, .arrowDown:hover, .arrowDown:focus-visible { transform: translate3d(0, 0.01rem, 0); color: var(--limel-theme-on-surface-color); background-color: var(--lime-elevated-surface-background-color); } .flatpickr-monthDropdown-months:hover, .flatpickr-prev-month:hover, .flatpickr-next-month:hover, .arrowUp:hover, .arrowDown:hover { box-shadow: var(--button-shadow-hovered); } .flatpickr-monthDropdown-months:active, .flatpickr-prev-month:active, .flatpickr-next-month:active, .arrowUp:active, .arrowDown:active { --limel-clickable-transform-timing-function: cubic-bezier( 0.83, -0.15, 0.49, 1.16 ); transform: translate3d(0, 0.05rem, 0); box-shadow: var(--button-shadow-pressed); } .flatpickr-monthDropdown-months:hover, .flatpickr-monthDropdown-months:active, .flatpickr-prev-month:hover, .flatpickr-prev-month:active, .flatpickr-next-month:hover, .flatpickr-next-month:active, .arrowUp:hover, .arrowUp:active, .arrowDown:hover, .arrowDown:active { --limel-clickable-transition-speed: 0.2s; --limel-clickable-transform-speed: 0.16s; } .arrowUp { border-radius: 0 0.25rem 0 0; } .arrowDown { border-radius: 0 0 0.25rem 0; } .numInputWrapper { border-radius: 0.25rem; } .numInputWrapper span { display: flex; align-items: center; justify-content: center; width: 1rem; } .numInputWrapper span.arrowUp:after { border-bottom-color: rgb(var(--contrast-1400)); } .numInputWrapper span.arrowDown:after { border-top-color: rgb(var(--contrast-1400)); } .datepicker-months-container, .datepicker-quarters-container, .datepicker-years-container { display: grid; gap: 0.5rem; padding: 0.5rem; } .datepicker-months-container { grid-template-columns: repeat(6, 1fr); } .datepicker-quarters-container { grid-template-columns: repeat(4, 1fr); } .datepicker-years-container { grid-template-columns: repeat(5, 1fr); } .datepicker-month, .datepicker-quarter, .datepicker-year { transition: color var(--limel-clickable-transition-speed, 0.4s) ease, background-color var(--limel-clickable-transition-speed, 0.4s) ease, box-shadow var(--limel-clickable-transform-speed, 0.4s) ease, transform var(--limel-clickable-transform-speed, 0.4s) var(--limel-clickable-transform-timing-function, ease); cursor: pointer; color: var(--limel-theme-on-surface-color); background-color: transparent; min-width: 0; text-align: center; } .datepicker-month:hover, .datepicker-month:focus, .datepicker-month:focus-visible, .datepicker-quarter:hover, .datepicker-quarter:focus, .datepicker-quarter:focus-visible, .datepicker-year:hover, .datepicker-year:focus, .datepicker-year:focus-visible { will-change: color, background-color, box-shadow, transform; } .datepicker-month:hover, .datepicker-month:focus-visible, .datepicker-quarter:hover, .datepicker-quarter:focus-visible, .datepicker-year:hover, .datepicker-year:focus-visible { transform: translate3d(0, 0.01rem, 0); color: var(--limel-theme-on-surface-color); background-color: var(--lime-elevated-surface-background-color); } .datepicker-month:hover, .datepicker-quarter:hover, .datepicker-year:hover { box-shadow: var(--button-shadow-hovered); } .datepicker-month:active, .datepicker-quarter:active, .datepicker-year:active { --limel-clickable-transform-timing-function: cubic-bezier( 0.83, -0.15, 0.49, 1.16 ); transform: translate3d(0, 0.05rem, 0); box-shadow: var(--button-shadow-pressed); } .datepicker-month:hover, .datepicker-month:active, .datepicker-quarter:hover, .datepicker-quarter:active, .datepicker-year:hover, .datepicker-year:active { --limel-clickable-transition-speed: 0.2s; --limel-clickable-transform-speed: 0.16s; } .datepicker-month.selected, .datepicker-quarter.selected, .datepicker-year.selected { color: var(--lime-on-primary-color, var(--limel-theme-on-primary-color)); background: var(--lime-primary-color, var(--limel-theme-primary-color)); } .datepicker-month-heading, .datepicker-quarter-heading, .datepicker-year-heading { align-self: center; } .datepicker-month { padding: 0.125rem 0.5rem; border-radius: 2rem; } .datepicker-quarter { padding: 0.75rem 0; border-radius: 1rem; } .datepicker-year { padding: 0.125rem 0.25rem; border-radius: 2rem; } .datepicker-quarter { font-weight: bold; font-size: 1rem; } .datepicker-month-in-quarter { opacity: 0.7; display: block; font-size: 0.75rem; font-weight: normal; } .datepicker-month-in-quarter:first-of-type { margin-top: 0.5rem; }