material-inspired-component-library 8.1.1 → 9.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +106 -18
- package/components/README.md +1 -1
- package/components/accordion/README.md +6 -6
- package/components/alert/README.md +10 -10
- package/components/alert/index.scss +27 -52
- package/components/appbar/README.md +19 -6
- package/components/appbar/index.scss +40 -44
- package/components/badge/README.md +12 -10
- package/components/badge/index.scss +21 -25
- package/components/bottomsheet/README.md +26 -1
- package/components/bottomsheet/index.scss +58 -44
- package/components/button/README.md +7 -5
- package/components/button/_shared.scss +210 -0
- package/components/button/index.scss +49 -283
- package/components/card/README.md +97 -85
- package/components/card/index.scss +46 -65
- package/components/checkbox/README.md +25 -14
- package/{tools/shapes/check.mjs → components/checkbox/_label.scss} +37 -42
- package/components/checkbox/index.scss +66 -66
- package/components/chip/README.md +186 -0
- package/components/chip/index.scss +285 -0
- package/components/datepicker/README.md +79 -0
- package/components/datepicker/index.scss +346 -315
- package/components/dialog/README.md +20 -10
- package/components/dialog/index.scss +55 -66
- package/components/divider/README.md +16 -15
- package/components/divider/index.scss +9 -25
- package/components/iconbutton/README.md +8 -3
- package/components/iconbutton/index.scss +83 -186
- package/components/list/README.md +89 -156
- package/components/list/index.scss +34 -36
- package/components/menu/README.md +81 -155
- package/components/menu/index.scss +52 -58
- package/components/navigationbar/README.md +108 -0
- package/components/navigationbar/index.scss +185 -0
- package/components/navigationrail/README.md +60 -36
- package/components/navigationrail/_navitem.scss +96 -0
- package/components/navigationrail/index.scss +76 -130
- package/components/progressindicator/README.md +83 -47
- package/components/progressindicator/index.scss +622 -172
- package/components/radio/README.md +11 -9
- package/components/radio/index.scss +36 -33
- package/components/select/README.md +12 -7
- package/components/select/index.scss +26 -34
- package/components/shapes/README.md +3 -3
- package/components/shapes/index.scss +0 -1
- package/components/sidesheet/README.md +21 -9
- package/components/sidesheet/index.scss +38 -46
- package/components/slider/README.md +21 -0
- package/components/slider/index.scss +108 -139
- package/components/snackbar/README.md +32 -35
- package/components/snackbar/index.scss +10 -22
- package/components/stepper/README.md +14 -7
- package/components/stepper/index.scss +58 -39
- package/components/switch/README.md +22 -15
- package/components/switch/index.scss +68 -60
- package/components/textfield/README.md +48 -5
- package/components/textfield/index.scss +192 -248
- package/components/timepicker/README.md +53 -23
- package/components/timepicker/index.scss +110 -128
- package/dist/alert.css +1 -1
- package/dist/alert.js +1 -1
- package/dist/appbar.css +1 -1
- package/dist/appbar.js +1 -1
- package/dist/badge.css +1 -1
- package/dist/badge.js +1 -1
- package/dist/base.css +1 -0
- package/dist/base.js +1 -0
- package/dist/bottomsheet.css +1 -1
- package/dist/bottomsheet.js +1 -1
- package/dist/button.css +1 -1
- package/dist/button.js +1 -1
- package/dist/card.css +1 -1
- package/dist/card.js +1 -1
- package/dist/checkbox.css +1 -1
- package/dist/checkbox.js +1 -1
- package/dist/chip.css +1 -0
- package/dist/chip.js +1 -0
- package/dist/components/iconbutton/index.d.ts +2 -7
- package/dist/components/slider/index.d.ts +1 -1
- package/dist/components/textfield/index.d.ts +2 -2
- package/dist/datepicker.css +1 -1
- package/dist/datepicker.js +1 -1
- package/dist/dialog.css +1 -1
- package/dist/dialog.js +1 -1
- package/dist/divider.css +1 -1
- package/dist/divider.js +1 -1
- package/dist/field.css +1 -0
- package/dist/field.js +1 -0
- package/dist/foundations/form/index.js +1 -1
- package/dist/foundations/runtime.d.ts +15 -0
- package/dist/foundations/runtime.js +1 -0
- package/dist/iconbutton.css +1 -1
- package/dist/iconbutton.js +1 -1
- package/dist/layout.css +1 -1
- package/dist/layout.js +1 -1
- package/dist/list.css +1 -1
- package/dist/list.js +1 -1
- package/dist/menu.css +1 -1
- package/dist/menu.js +1 -1
- package/dist/micl.css +1 -1
- package/dist/micl.d.ts +14 -5
- package/dist/micl.js +1 -1
- package/dist/navigationbar.css +1 -0
- package/dist/navigationbar.js +1 -0
- package/dist/navigationrail.css +1 -1
- package/dist/navigationrail.js +1 -1
- package/dist/progressindicator.css +1 -1
- package/dist/progressindicator.js +1 -1
- package/dist/radio.css +1 -1
- package/dist/radio.js +1 -1
- package/dist/scrollbar.js +1 -1
- package/dist/select.css +1 -1
- package/dist/select.js +1 -1
- package/dist/shapes.css +1 -1
- package/dist/shapes.js +1 -1
- package/dist/sidesheet.css +1 -1
- package/dist/sidesheet.js +1 -1
- package/dist/slider.css +1 -1
- package/dist/slider.js +1 -1
- package/dist/snackbar.css +1 -1
- package/dist/snackbar.js +1 -1
- package/dist/stepper.css +1 -1
- package/dist/stepper.js +1 -1
- package/dist/switch.css +1 -1
- package/dist/switch.js +1 -1
- package/dist/textfield.css +1 -1
- package/dist/textfield.js +1 -1
- package/dist/timepicker.css +1 -1
- package/dist/timepicker.js +1 -1
- package/foundations/_index.scss +35 -0
- package/foundations/{index.scss → base/index.scss} +21 -56
- package/foundations/field/index.scss +37 -0
- package/foundations/layout/index.scss +64 -65
- package/package.json +23 -9
- package/styles/statelayer.scss +20 -5
- package/styles.scss +5 -2
- package/.claude/settings.local.json +0 -17
- package/.editorconfig +0 -12
- package/.gitattributes +0 -9
- package/.github/ISSUE_TEMPLATE/bug_report.md +0 -35
- package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
- package/CLAUDE.md +0 -53
- package/CODE_OF_CONDUCT.md +0 -128
- package/components/bottomsheet/index.ts +0 -153
- package/components/button/index.ts +0 -79
- package/components/checkbox/index.ts +0 -148
- package/components/datepicker/index.ts +0 -693
- package/components/iconbutton/index.ts +0 -77
- package/components/list/index.ts +0 -138
- package/components/menu/index.ts +0 -145
- package/components/navigationrail/index.ts +0 -87
- package/components/progressindicator/index.ts +0 -77
- package/components/slider/index.ts +0 -149
- package/components/snackbar/index.ts +0 -118
- package/components/stepper/index.ts +0 -248
- package/components/textfield/index.ts +0 -188
- package/components/timepicker/index.ts +0 -413
- package/dist/components/progressindicator/index.d.ts +0 -6
- package/dist/foundations.css +0 -1
- package/dist/foundations.js +0 -1
- package/docs/accordion.html +0 -344
- package/docs/alert.html +0 -177
- package/docs/bottomsheet.html +0 -240
- package/docs/button.html +0 -291
- package/docs/card-awards.webp +0 -0
- package/docs/card-cabinet.webp +0 -0
- package/docs/card-city.webp +0 -0
- package/docs/card-fingerprint.webp +0 -0
- package/docs/card-holiday.webp +0 -0
- package/docs/card-names.webp +0 -0
- package/docs/card.html +0 -159
- package/docs/checkbox.html +0 -147
- package/docs/datepicker.html +0 -274
- package/docs/dialog.html +0 -195
- package/docs/divider.html +0 -139
- package/docs/docs.css +0 -26
- package/docs/docs.js +0 -139
- package/docs/iconbutton.html +0 -331
- package/docs/index.html +0 -431
- package/docs/list.html +0 -310
- package/docs/menu.html +0 -574
- package/docs/micl.css +0 -1
- package/docs/micl.js +0 -1
- package/docs/navigationrail.html +0 -138
- package/docs/progressindicator.html +0 -288
- package/docs/radio.html +0 -123
- package/docs/select.html +0 -337
- package/docs/shapes.css +0 -1
- package/docs/shapes.html +0 -159
- package/docs/shapes.js +0 -1
- package/docs/sidesheet.html +0 -149
- package/docs/slider.html +0 -141
- package/docs/snackbar.html +0 -102
- package/docs/stepper.html +0 -319
- package/docs/switch.html +0 -196
- package/docs/textfield.html +0 -208
- package/docs/themes/airblue/dark-hc.css +0 -51
- package/docs/themes/airblue/dark-mc.css +0 -51
- package/docs/themes/airblue/dark.css +0 -51
- package/docs/themes/airblue/light-hc.css +0 -51
- package/docs/themes/airblue/light-mc.css +0 -51
- package/docs/themes/airblue/light.css +0 -51
- package/docs/themes/airblue/theme.css +0 -306
- package/docs/themes/barnred/dark-hc.css +0 -51
- package/docs/themes/barnred/dark-mc.css +0 -51
- package/docs/themes/barnred/dark.css +0 -51
- package/docs/themes/barnred/light-hc.css +0 -51
- package/docs/themes/barnred/light-mc.css +0 -51
- package/docs/themes/barnred/light.css +0 -51
- package/docs/themes/barnred/theme.css +0 -306
- package/docs/themes/citrine/dark-hc.css +0 -51
- package/docs/themes/citrine/dark-mc.css +0 -51
- package/docs/themes/citrine/dark.css +0 -51
- package/docs/themes/citrine/light-hc.css +0 -51
- package/docs/themes/citrine/light-mc.css +0 -51
- package/docs/themes/citrine/light.css +0 -51
- package/docs/themes/citrine/theme.css +0 -306
- package/docs/themes/gray/dark-hc.css +0 -51
- package/docs/themes/gray/dark-mc.css +0 -51
- package/docs/themes/gray/dark.css +0 -51
- package/docs/themes/gray/light-hc.css +0 -51
- package/docs/themes/gray/light-mc.css +0 -51
- package/docs/themes/gray/light.css +0 -51
- package/docs/themes/gray/theme.css +0 -306
- package/docs/themes/greenery/dark-hc.css +0 -51
- package/docs/themes/greenery/dark-mc.css +0 -51
- package/docs/themes/greenery/dark.css +0 -51
- package/docs/themes/greenery/light-hc.css +0 -51
- package/docs/themes/greenery/light-mc.css +0 -51
- package/docs/themes/greenery/light.css +0 -51
- package/docs/themes/greenery/theme.css +0 -306
- package/docs/themes/hermana/dark-hc.css +0 -51
- package/docs/themes/hermana/dark-mc.css +0 -51
- package/docs/themes/hermana/dark.css +0 -51
- package/docs/themes/hermana/light-hc.css +0 -51
- package/docs/themes/hermana/light-mc.css +0 -51
- package/docs/themes/hermana/light.css +0 -51
- package/docs/themes/hermana/theme.css +0 -306
- package/docs/themes/illuminating/dark-hc.css +0 -51
- package/docs/themes/illuminating/dark-mc.css +0 -51
- package/docs/themes/illuminating/dark.css +0 -51
- package/docs/themes/illuminating/light-hc.css +0 -51
- package/docs/themes/illuminating/light-mc.css +0 -51
- package/docs/themes/illuminating/light.css +0 -51
- package/docs/themes/illuminating/theme.css +0 -306
- package/docs/themes/magenta/dark-hc.css +0 -51
- package/docs/themes/magenta/dark-mc.css +0 -51
- package/docs/themes/magenta/dark.css +0 -51
- package/docs/themes/magenta/light-hc.css +0 -51
- package/docs/themes/magenta/light-mc.css +0 -51
- package/docs/themes/magenta/light.css +0 -51
- package/docs/themes/magenta/theme.css +0 -306
- package/docs/themes/mocha/dark-hc.css +0 -51
- package/docs/themes/mocha/dark-mc.css +0 -51
- package/docs/themes/mocha/dark.css +0 -51
- package/docs/themes/mocha/light-hc.css +0 -51
- package/docs/themes/mocha/light-mc.css +0 -51
- package/docs/themes/mocha/light.css +0 -51
- package/docs/themes/mocha/theme.css +0 -306
- package/docs/themes/olivegreen/dark-hc.css +0 -51
- package/docs/themes/olivegreen/dark-mc.css +0 -51
- package/docs/themes/olivegreen/dark.css +0 -51
- package/docs/themes/olivegreen/light-hc.css +0 -51
- package/docs/themes/olivegreen/light-mc.css +0 -51
- package/docs/themes/olivegreen/light.css +0 -51
- package/docs/themes/olivegreen/theme.css +0 -306
- package/docs/themes/peri/dark-hc.css +0 -51
- package/docs/themes/peri/dark-mc.css +0 -51
- package/docs/themes/peri/dark.css +0 -51
- package/docs/themes/peri/light-hc.css +0 -51
- package/docs/themes/peri/light-mc.css +0 -51
- package/docs/themes/peri/light.css +0 -51
- package/docs/themes/peri/theme.css +0 -306
- package/docs/timepicker.html +0 -160
- package/foundations/form/index.ts +0 -174
- package/foundations/layout/README.md +0 -127
- package/intl.d.ts +0 -9
- package/micl.ts +0 -221
- package/styles/README.md +0 -196
- package/tools/shapes/generate.mjs +0 -828
- package/tsconfig.json +0 -116
- package/webpack.config.js +0 -159
package/dist/timepicker.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
:root{--md-sys-icon-size: 24px;--md-sys-padding-xxs: 4px;--md-sys-padding-xs: 8px;--md-sys-padding-s: 12px;--md-sys-padding-m: 16px;--md-sys-padding-l: 20px;--md-sys-padding-xl: 24px;--md-sys-padding-xxl: 28px}.micl-hidden{display:none !important}.micl-no-transition{transition:none !important}.micl-flex--vcenter{display:flex;flex-direction:row;align-items:center}.micl-grid-field,.micl-grid-iconfield{box-sizing:border-box;display:grid;row-gap:var(--md-sys-padding-xl, 24px)}.micl-grid-iconfield{grid-template-columns:48px 1fr}.micl-grid-iconfield__icon{grid-column:1;margin-block-start:.6rem}.micl-grid-iconfield__field{grid-column:2}.micl-link{display:flex;align-items:center;justify-content:center;text-decoration:none}@property --micl-ripple{syntax:"<integer>";inherits:false;initial-value:0}@property --micl-x{syntax:"<length>";inherits:false;initial-value:-100000px}@property --micl-y{syntax:"<length>";inherits:false;initial-value:-100000px}@property --micl-width{syntax:"<length>";inherits:true;initial-value:0px}@property --micl-height{syntax:"<length>";inherits:true;initial-value:0px}:root{--md-ref-typeface-plain: Google Sans, system-ui, sans-serif;--md-ref-typeface-plain-narrow: 0;--md-ref-typeface-brand: Google Sans, system-ui, sans-serif;--md-ref-typeface-weight-regular: 400;--md-ref-typeface-weight-medium: 500;--md-ref-typeface-weight-bold: 700}:root{--md-sys-shape-corner-small: 8px}:root{--md-sys-shape-corner-full: 50%}:root{--md-sys-state-hover-state-layer-opacity: 8%}:root{--md-sys-state-focus-state-layer-opacity: 10%}:root{--md-sys-state-pressed-state-layer-opacity: 10%}:root{--md-sys-state-focus-indicator-thickness: 3px}@property --statelayer-color{syntax:"<color>";initial-value:rgba(0,0,0,0);inherits:false}@property --statelayer-opacity{syntax:"<percentage>";initial-value:0%;inherits:false}:root{--md-sys-typescale-display-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-display-large-size: 3.5625rem;--md-sys-typescale-display-large-line-height: 4rem;--md-sys-typescale-display-large-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-display-large-tracking: -0.0125rem}:root{--md-sys-typescale-display-medium-font: var(--md-ref-typeface-brand);--md-sys-typescale-display-medium-size: 2.8125rem;--md-sys-typescale-display-medium-line-height: 3.25rem;--md-sys-typescale-display-medium-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-display-medium-tracking: 0}:root{--md-sys-typescale-title-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-title-medium-size: 1rem;--md-sys-typescale-title-medium-line-height: 1.5rem;--md-sys-typescale-title-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-title-medium-tracking: 0.0125rem}:root{--md-sys-typescale-body-large-font: var(--md-ref-typeface-plain);--md-sys-typescale-body-large-size: 1rem;--md-sys-typescale-body-large-line-height: 1.5rem;--md-sys-typescale-body-large-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-body-large-tracking: 0.03125rem}:root{--md-sys-typescale-body-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-body-small-size: 0.75rem;--md-sys-typescale-body-small-line-height: 1rem;--md-sys-typescale-body-small-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-body-small-tracking: 0.025rem}:root{--md-sys-typescale-label-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-label-medium-size: 0.75rem;--md-sys-typescale-label-medium-line-height: 1rem;--md-sys-typescale-label-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-label-medium-tracking: 0.03125rem}:root{--md-sys-timepicker-input-height: 72px;--md-sys-timepicker-input-width: 96px;--md-sys-timepicker-input-width-24h: 114px;--md-sys-timepicker-separator-width: 24px;--md-sys-timepicker-period-height: 72px;--md-sys-timepicker-period-width: 52px;--md-sys-timepicker-dial-size: 256px;--md-sys-timepicker-dial-center-size: 8px;--md-sys-timepicker-dial-track-width: 2px}dialog.micl-dialog.micl-timepicker{--md-sys-timepicker-motion-duration: 350ms}dialog.micl-dialog.micl-timepicker .micl-dialog__headline{padding-block-end:20px}dialog.micl-dialog.micl-timepicker .micl-dialog__headline h2{font-family:var(--md-sys-typescale-label-medium-font);font-size:var(--md-sys-typescale-label-medium-size);line-height:var(--md-sys-typescale-label-medium-line-height);font-weight:var(--md-sys-typescale-label-medium-weight);letter-spacing:var(--md-sys-typescale-label-medium-tracking);color:var(--md-sys-color-on-surface-variant)}dialog.micl-dialog.micl-timepicker .micl-dialog__content{display:grid;padding-block-start:1px;grid-template-areas:"timepicker-hour timepicker-separator timepicker-minute timepicker-period" "timepicker-hour-supporting timepicker-hour-supporting timepicker-minute-supporting timepicker-minute-supporting" "timepicker-dial timepicker-dial timepicker-dial timepicker-dial";grid-template-columns:auto var(--md-sys-timepicker-separator-width) var(--md-sys-timepicker-input-width) auto}dialog.micl-dialog.micl-timepicker .micl-dialog__actions:has(.micl-timepicker__inputmode){justify-content:space-between}dialog.micl-dialog.micl-timepicker .micl-dialog__actions .micl-timepicker__inputmode{margin-inline-start:-8px}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-hidden)){--md-sys-timepicker-input-height: 80px;--md-sys-timepicker-period-height: 80px}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-hidden)).micl-timepicker--horizontal{--md-sys-timepicker-period-height: 38px}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-hidden)).micl-timepicker--horizontal .micl-dialog__headline{padding-block-end:0}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-hidden)).micl-timepicker--horizontal .micl-dialog__content{grid-template-areas:"timepicker-dummy timepicker-dummy timepicker-dummy timepicker-dial" "timepicker-hour timepicker-separator timepicker-minute timepicker-dial" "timepicker-period timepicker-period timepicker-period timepicker-dial";grid-template-rows:72px var(--md-sys-timepicker-input-height) auto}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-hidden)).micl-timepicker--horizontal .micl-dialog__content .micl-timepicker__period{--md-sys-timepicker-ampm-height: var(--md-sys-timepicker-period-height);--md-sys-timepicker-period-width: calc(2 * var(--md-sys-timepicker-input-width) + var(--md-sys-timepicker-separator-width));display:flex;align-self:flex-start;margin-inline:0;margin-block:16px 0}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-hidden)).micl-timepicker--horizontal .micl-dialog__content .micl-timepicker__period .micl-timepicker__am{border-start-end-radius:0;border-end-start-radius:var(--md-sys-shape-corner-small)}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-hidden)).micl-timepicker--horizontal .micl-dialog__content .micl-timepicker__period .micl-timepicker__pm{border-block-start-width:1px;border-inline-start-width:0px;border-start-end-radius:var(--md-sys-shape-corner-small);border-end-start-radius:0}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-hidden)).micl-timepicker--horizontal .micl-dialog__content .micl-timepicker__dial{margin-block:0;margin-inline:40px 0}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-hidden)) .micl-timepicker__supporting-text-hour,dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-hidden)) .micl-timepicker__supporting-text-minute{display:none}.micl-timepicker input[name=hour],.micl-timepicker input[name=minute]{--statelayer-color: var(--md-sys-color-on-surface);font-family:var(--md-sys-typescale-display-medium-font);font-size:var(--md-sys-typescale-display-medium-size);line-height:var(--md-sys-typescale-display-medium-line-height);font-weight:var(--md-sys-typescale-display-medium-weight);letter-spacing:var(--md-sys-typescale-display-medium-tracking);box-sizing:border-box;inline-size:var(--md-sys-timepicker-input-width);block-size:var(--md-sys-timepicker-input-height);margin:0;padding:0;border:none;outline:none;border-radius:var(--md-sys-shape-corner-small);background-color:var(--md-sys-color-surface-container-highest);background-image:linear-gradient(rgb(from var(--statelayer-color) r g b/var(--statelayer-opacity)));background-repeat:no-repeat;background-size:100%;color:var(--md-sys-color-on-surface);text-align:center;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0);-moz-appearance:textfield;transition:--statelayer-opacity var(--md-sys-timepicker-motion-duration) linear}.micl-timepicker input[name=hour]::-webkit-inner-spin-button,.micl-timepicker input[name=hour]::-webkit-outer-spin-button,.micl-timepicker input[name=minute]::-webkit-inner-spin-button,.micl-timepicker input[name=minute]::-webkit-outer-spin-button{-webkit-appearance:none}.micl-timepicker input[name=hour]::selection,.micl-timepicker input[name=minute]::selection{background-color:rgba(0,0,0,0)}.micl-timepicker input[name=hour].micl-timepicker--selected,.micl-timepicker input[name=minute].micl-timepicker--selected{--statelayer-color: var(--md-sys-color-on-primary-container);background-color:var(--md-sys-color-primary-container);color:var(--md-sys-color-on-primary-container);border:2px solid var(--md-sys-color-primary)}.micl-timepicker input[name=hour]:hover,.micl-timepicker input[name=minute]:hover{--statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity, 8%)}.micl-timepicker input[name=hour]:focus-visible,.micl-timepicker input[name=minute]:focus-visible{--statelayer-opacity: var(--md-sys-state-focus-state-layer-opacity, 10%)}.micl-timepicker input[name=hour]:active,.micl-timepicker input[name=minute]:active{--statelayer-opacity: var(--md-sys-state-pressed-state-layer-opacity, 10%)}.micl-timepicker input[name=hour]{grid-area:timepicker-hour;justify-self:flex-end}.micl-timepicker input[name=minute]{grid-area:timepicker-minute}.micl-timepicker:has(.micl-timepicker__dial:not(.micl-hidden)) input[name=hour],.micl-timepicker:has(.micl-timepicker__dial:not(.micl-hidden)) input[name=minute]{font-family:var(--md-sys-typescale-display-large-font);font-size:var(--md-sys-typescale-display-large-size);line-height:var(--md-sys-typescale-display-large-line-height);font-weight:var(--md-sys-typescale-display-large-weight);letter-spacing:var(--md-sys-typescale-display-large-tracking);border:none;cursor:pointer}.micl-timepicker:not(:has(.micl-timepicker__am)):not(:has(.micl-timepicker__dial:not(.micl-hidden))){--md-sys-timepicker-input-width: var(--md-sys-timepicker-input-width-24h)}.micl-timepicker__separator{font-family:var(--md-sys-typescale-display-large-font);font-size:var(--md-sys-typescale-display-large-size);line-height:var(--md-sys-typescale-display-large-line-height);font-weight:var(--md-sys-typescale-display-large-weight);letter-spacing:var(--md-sys-typescale-display-large-tracking);grid-area:timepicker-separator;block-size:var(--md-sys-timepicker-input-height);line-height:var(--md-sys-timepicker-input-height);inline-size:var(--md-sys-timepicker-separator-width);text-align:center;color:var(--md-sys-color-on-surface)}.micl-timepicker__period{--md-sys-timepicker-ampm-height: calc(var(--md-sys-timepicker-period-height) / 2);grid-area:timepicker-period;block-size:var(--md-sys-timepicker-period-height);inline-size:0}.micl-timepicker__period:has(.micl-timepicker__am){inline-size:var(--md-sys-timepicker-period-width);margin-inline:12px 0}.micl-timepicker__period .micl-timepicker__am,.micl-timepicker__period .micl-timepicker__pm{--statelayer-color: var(--md-sys-color-on-surface-variant);font-family:var(--md-sys-typescale-title-medium-font);font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-title-medium-line-height);font-weight:var(--md-sys-typescale-title-medium-weight);letter-spacing:var(--md-sys-typescale-title-medium-tracking);appearance:none;box-sizing:border-box;position:relative;display:flex;align-items:center;inline-size:var(--md-sys-timepicker-period-width);block-size:var(--md-sys-timepicker-ampm-height);min-block-size:var(--md-sys-timepicker-ampm-height);margin:0;border:1px solid var(--md-sys-color-outline);outline:none;color:var(--md-sys-color-on-surface-variant);background-color:rgba(0,0,0,0);background-image:linear-gradient(rgb(from var(--statelayer-color) r g b/var(--statelayer-opacity)));background-repeat:no-repeat;background-size:100%;cursor:pointer;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:--statelayer-opacity var(--md-sys-timepicker-motion-duration) linear}.micl-timepicker__period .micl-timepicker__am::before,.micl-timepicker__period .micl-timepicker__pm::before{content:"AM";position:absolute;inline-size:100%;text-align:center}.micl-timepicker__period .micl-timepicker__am:checked,.micl-timepicker__period .micl-timepicker__pm:checked{color:var(--md-sys-color-on-tertiary-container);background-color:var(--md-sys-color-tertiary-container)}.micl-timepicker__period .micl-timepicker__am:hover:checked,.micl-timepicker__period .micl-timepicker__am:focus-visible:checked,.micl-timepicker__period .micl-timepicker__am:active:checked,.micl-timepicker__period .micl-timepicker__pm:hover:checked,.micl-timepicker__period .micl-timepicker__pm:focus-visible:checked,.micl-timepicker__period .micl-timepicker__pm:active:checked{--statelayer-color: var(--md-sys-color-on-tertiary-container)}.micl-timepicker__period .micl-timepicker__am:hover::after,.micl-timepicker__period .micl-timepicker__am:focus-visible::after,.micl-timepicker__period .micl-timepicker__am:active::after,.micl-timepicker__period .micl-timepicker__pm:hover::after,.micl-timepicker__period .micl-timepicker__pm:focus-visible::after,.micl-timepicker__period .micl-timepicker__pm:active::after{border-color:var(--md-sys-color-on-surface)}.micl-timepicker__period .micl-timepicker__am:hover:checked::after,.micl-timepicker__period .micl-timepicker__am:focus-visible:checked::after,.micl-timepicker__period .micl-timepicker__am:active:checked::after,.micl-timepicker__period .micl-timepicker__pm:hover:checked::after,.micl-timepicker__period .micl-timepicker__pm:focus-visible:checked::after,.micl-timepicker__period .micl-timepicker__pm:active:checked::after{border-color:var(--md-sys-color-primary)}.micl-timepicker__period .micl-timepicker__am:hover,.micl-timepicker__period .micl-timepicker__pm:hover{--statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity, 8%)}.micl-timepicker__period .micl-timepicker__am:focus-visible,.micl-timepicker__period .micl-timepicker__pm:focus-visible{--statelayer-opacity: var(--md-sys-state-focus-state-layer-opacity, 10%);outline:var(--md-sys-state-focus-indicator-thickness, 3px) solid var(--md-sys-color-secondary);outline-offset:-2px}.micl-timepicker__period .micl-timepicker__am:active,.micl-timepicker__period .micl-timepicker__pm:active{--statelayer-opacity: var(--md-sys-state-pressed-state-layer-opacity, 10%)}.micl-timepicker__period .micl-timepicker__am{border-start-start-radius:var(--md-sys-shape-corner-small);border-start-end-radius:var(--md-sys-shape-corner-small)}.micl-timepicker__period .micl-timepicker__pm{border-block-start-width:0px;border-end-start-radius:var(--md-sys-shape-corner-small);border-end-end-radius:var(--md-sys-shape-corner-small)}.micl-timepicker__period .micl-timepicker__pm::before{content:"PM"}.micl-timepicker__supporting-text-hour,.micl-timepicker__supporting-text-minute{font-family:var(--md-sys-typescale-body-small-font);font-size:var(--md-sys-typescale-body-small-size);line-height:var(--md-sys-typescale-body-small-line-height);font-weight:var(--md-sys-typescale-body-small-weight);letter-spacing:var(--md-sys-typescale-body-small-tracking);grid-area:timepicker-hour-supporting;padding-block:4px 0;color:var(--md-sys-color-on-surface-variant)}.micl-timepicker__supporting-text-minute{grid-area:timepicker-minute-supporting}.micl-timepicker .micl-timepicker__dial{--micl-dial-radius: calc((var(--md-sys-timepicker-dial-size, 256px) - var(--md-sys-target-size, 48px)) / 2);--micl-hour-radius: var(--micl-dial-radius);--micl-angle: 0deg;position:relative;grid-area:timepicker-dial;justify-self:center;block-size:var(--md-sys-timepicker-dial-size, 256px);inline-size:var(--md-sys-timepicker-dial-size, 256px);margin-block:36px 0;margin-inline:0;outline:none;border-radius:var(--md-sys-shape-corner-full);background-color:var(--md-sys-color-surface-container-highest);list-style-type:none;touch-action:none}.micl-timepicker .micl-timepicker__dial data.micl-timepicker__dial-inner{--micl-hour-radius: calc(var(--micl-dial-radius) - var(--md-sys-target-size, 48px) + 12px);z-index:2}.micl-timepicker .micl-timepicker__dial data.micl-timepicker__dial-inner::before{z-index:2}.micl-timepicker .micl-timepicker__dial data{--micl-a: calc(var(--micl-dial-radius) + (var(--micl-hour-radius) * cos(var(--micl-angle))));--micl-b: calc(var(--micl-dial-radius) + (var(--micl-hour-radius) * sin(var(--micl-angle))));font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);font-weight:var(--md-sys-typescale-body-large-weight);letter-spacing:var(--md-sys-typescale-body-large-tracking);position:absolute;display:grid;place-content:center;block-size:var(--md-sys-target-size, 48px);inline-size:var(--md-sys-target-size, 48px);inset-inline-start:var(--micl-a);inset-block-start:var(--micl-b);outline:none;border-radius:var(--md-sys-shape-corner-full);color:var(--md-sys-color-on-surface);cursor:pointer;z-index:1;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.micl-timepicker .micl-timepicker__dial data.micl-timepicker__time--selected{color:var(--md-sys-color-on-primary);background-color:var(--md-sys-color-primary)}.micl-timepicker .micl-timepicker__dial data::before{content:"";position:absolute;block-size:var(--md-sys-target-size, 48px);inline-size:calc(2*var(--md-sys-target-size, 48px));inset-inline-start:0;inset-block-end:0;transform:rotate(var(--micl-angle)) translate(calc(-1 * var(--md-sys-target-size, 48px)));transform-origin:calc(var(--md-sys-target-size, 48px)/2) center;z-index:1}.micl-timepicker .micl-timepicker__dial .micl-timepicker__track{--micl-track-length: 92px;position:relative;display:block;inline-size:var(--md-sys-timepicker-dial-track-width, 2px);block-size:var(--micl-track-length);inset-inline-start:calc((var(--md-sys-timepicker-dial-size, 256px) - var(--md-sys-timepicker-dial-track-width, 2px))/2);inset-block-start:calc(var(--md-sys-timepicker-dial-size, 256px)/2 - var(--micl-track-length));border-radius:calc(var(--md-sys-timepicker-dial-track-width, 2px)*2);background-color:var(--md-sys-color-primary);transform:rotate(calc(90deg + var(--micl-angle)));transform-origin:bottom}.micl-timepicker .micl-timepicker__dial .micl-timepicker__track::before{content:"";position:absolute;display:block;block-size:var(--md-sys-timepicker-dial-center-size, 8px);inline-size:var(--md-sys-timepicker-dial-center-size, 8px);inset-block-end:-3px;inset-inline-start:-3px;border-radius:var(--md-sys-shape-corner-full);background-color:var(--md-sys-color-primary)}
|
|
1
|
+
:root{--md-ref-typeface-plain: Google Sans, system-ui, sans-serif;--md-ref-typeface-plain-narrow: 0;--md-ref-typeface-brand: Google Sans, system-ui, sans-serif;--md-ref-typeface-weight-regular: 400;--md-ref-typeface-weight-medium: 500;--md-ref-typeface-weight-bold: 700}:root{--md-sys-shape-corner-small: 8px}:root{--md-sys-shape-corner-full: 50%}:root{--md-sys-state-hover-state-layer-opacity: 8%}:root{--md-sys-state-focus-state-layer-opacity: 10%}:root{--md-sys-state-pressed-state-layer-opacity: 10%}:root{--md-sys-state-focus-indicator-thickness: 3px}@property --statelayer-color{syntax:"<color>";initial-value:rgba(0,0,0,0);inherits:false}@property --statelayer-opacity{syntax:"<percentage>";initial-value:0%;inherits:false}:root{--md-sys-typescale-display-large-font: var(--md-ref-typeface-brand);--md-sys-typescale-display-large-size: 3.5625rem;--md-sys-typescale-display-large-line-height: 4rem;--md-sys-typescale-display-large-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-display-large-tracking: -0.0125rem}:root{--md-sys-typescale-display-medium-font: var(--md-ref-typeface-brand);--md-sys-typescale-display-medium-size: 2.8125rem;--md-sys-typescale-display-medium-line-height: 3.25rem;--md-sys-typescale-display-medium-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-display-medium-tracking: 0}:root{--md-sys-typescale-title-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-title-medium-size: 1rem;--md-sys-typescale-title-medium-line-height: 1.5rem;--md-sys-typescale-title-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-title-medium-tracking: 0.0125rem}:root{--md-sys-typescale-body-large-font: var(--md-ref-typeface-plain);--md-sys-typescale-body-large-size: 1rem;--md-sys-typescale-body-large-line-height: 1.5rem;--md-sys-typescale-body-large-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-body-large-tracking: 0.03125rem}:root{--md-sys-typescale-body-small-font: var(--md-ref-typeface-plain);--md-sys-typescale-body-small-size: 0.75rem;--md-sys-typescale-body-small-line-height: 1rem;--md-sys-typescale-body-small-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-body-small-tracking: 0.025rem}:root{--md-sys-typescale-label-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-label-medium-size: 0.75rem;--md-sys-typescale-label-medium-line-height: 1rem;--md-sys-typescale-label-medium-weight: var(--md-ref-typeface-weight-medium);--md-sys-typescale-label-medium-tracking: 0.03125rem}.micl-timepicker__period .micl-timepicker__am,.micl-timepicker__period .micl-timepicker__pm,.micl-timepicker input[name=hour],.micl-timepicker input[name=minute]{--statelayer-color: currentColor;background-image:linear-gradient(rgb(from var(--statelayer-color) r g b/var(--statelayer-opacity)));background-repeat:no-repeat;background-size:100%;-webkit-tap-highlight-color:rgba(0,0,0,0);transition:--statelayer-opacity var(--md-comp-time-picker-motion-duration) linear}.micl-timepicker__period .micl-timepicker__am:hover,.micl-timepicker__period .micl-timepicker__pm:hover,.micl-timepicker input[name=hour]:hover,.micl-timepicker input[name=minute]:hover{--statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity)}.micl-timepicker__period .micl-timepicker__am:focus-visible,.micl-timepicker__period .micl-timepicker__pm:focus-visible,.micl-timepicker input[name=hour]:focus-visible,.micl-timepicker input[name=minute]:focus-visible{--statelayer-opacity: var(--md-sys-state-focus-state-layer-opacity)}.micl-timepicker__period .micl-timepicker__am:active,.micl-timepicker__period .micl-timepicker__pm:active,.micl-timepicker input[name=hour]:active,.micl-timepicker input[name=minute]:active{--statelayer-opacity: var(--md-sys-state-pressed-state-layer-opacity)}dialog.micl-dialog.micl-timepicker{--md-comp-time-picker-motion-duration: 350ms;--_input-height: var(--md-comp-time-picker-time-selector-container-height, 72px);--_input-width: var(--md-comp-time-picker-time-selector-container-width, 96px);--_separator-width: var(--md-comp-time-picker-separator-width, 24px);--_period-height: var(--md-comp-time-picker-period-selector-container-height, 72px);--_period-width: var(--md-comp-time-picker-period-selector-container-width, 52px);--_dial-size: var(--md-comp-time-picker-clock-dial-container-size, 256px);--_center-size: var(--md-comp-time-picker-clock-dial-selector-center-container-size, 8px);--_track-width: var(--md-comp-time-picker-clock-dial-selector-track-container-width, 2px);--_target: var(--md-sys-target-size, 48px)}dialog.micl-dialog.micl-timepicker .micl-dialog__headline{padding-block-end:20px}dialog.micl-dialog.micl-timepicker .micl-dialog__headline h2{font-family:var(--md-sys-typescale-label-medium-font);font-size:var(--md-sys-typescale-label-medium-size);line-height:var(--md-sys-typescale-label-medium-line-height);font-weight:var(--md-sys-typescale-label-medium-weight);letter-spacing:var(--md-sys-typescale-label-medium-tracking);color:var(--md-comp-time-picker-headline-color, var(--md-sys-color-on-surface-variant))}dialog.micl-dialog.micl-timepicker .micl-dialog__content{display:grid;padding-block-start:1px;grid-template-areas:"hr sep min per" "hsup hsup msup msup" "dial dial dial dial";grid-template-columns:auto var(--_separator-width) var(--_input-width) auto}dialog.micl-dialog.micl-timepicker .micl-dialog__actions:has(.micl-timepicker__inputmode){justify-content:space-between}dialog.micl-dialog.micl-timepicker .micl-dialog__actions .micl-timepicker__inputmode{margin-inline-start:-8px}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)){--_input-height: var(--md-comp-time-picker-time-selector-container-height, 80px);--_period-height: var(--md-comp-time-picker-period-selector-container-height, 80px)}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)).micl-timepicker--horizontal{--_period-height: var(--md-comp-time-picker-period-selector-container-height, 38px)}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)).micl-timepicker--horizontal .micl-dialog__headline{padding-block-end:0}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)).micl-timepicker--horizontal .micl-dialog__content{grid-template-areas:"x x x dial" "hr sep min dial" "per per per dial";grid-template-rows:72px var(--_input-height) auto}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)).micl-timepicker--horizontal .micl-dialog__content .micl-timepicker__period{--_ampm-height: var(--_period-height);--_period-width: calc(2 * var(--_input-width) + var(--_separator-width));display:flex;align-self:flex-start;margin-inline:0;margin-block:16px 0}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)).micl-timepicker--horizontal .micl-dialog__content .micl-timepicker__period .micl-timepicker__am{border-start-end-radius:0;border-end-start-radius:var(--md-sys-shape-corner-small)}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)).micl-timepicker--horizontal .micl-dialog__content .micl-timepicker__period .micl-timepicker__pm{border-block-start-width:1px;border-inline-start-width:0px;border-start-end-radius:var(--md-sys-shape-corner-small);border-end-start-radius:0}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)).micl-timepicker--horizontal .micl-dialog__content .micl-timepicker__dial{margin-block:0;margin-inline:40px 0}dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)) .micl-timepicker__supporting-text-hour,dialog.micl-dialog.micl-timepicker:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)) .micl-timepicker__supporting-text-minute{display:none}.micl-timepicker input[name=hour],.micl-timepicker input[name=minute]{font-family:var(--md-sys-typescale-display-medium-font);font-size:var(--md-sys-typescale-display-medium-size);line-height:var(--md-sys-typescale-display-medium-line-height);font-weight:var(--md-sys-typescale-display-medium-weight);letter-spacing:var(--md-sys-typescale-display-medium-tracking);box-sizing:border-box;inline-size:var(--_input-width);block-size:var(--_input-height);margin:0;padding:0;border:none;outline:none;border-radius:var(--md-sys-shape-corner-small);background-color:var(--md-comp-time-picker-time-selector-unselected-container-color, var(--md-sys-color-surface-container-highest));color:var(--md-comp-time-picker-time-selector-unselected-label-text-color, var(--md-sys-color-on-surface));text-align:center;user-select:none;-moz-appearance:textfield}.micl-timepicker input[name=hour]::-webkit-inner-spin-button,.micl-timepicker input[name=hour]::-webkit-outer-spin-button,.micl-timepicker input[name=minute]::-webkit-inner-spin-button,.micl-timepicker input[name=minute]::-webkit-outer-spin-button{-webkit-appearance:none}.micl-timepicker input[name=hour]::selection,.micl-timepicker input[name=minute]::selection{background-color:rgba(0,0,0,0)}.micl-timepicker input[name=hour].micl-timepicker--selected,.micl-timepicker input[name=minute].micl-timepicker--selected{background-color:var(--md-comp-time-picker-time-selector-selected-container-color, var(--md-sys-color-primary-container));color:var(--md-comp-time-picker-time-selector-selected-label-text-color, var(--md-sys-color-on-primary-container));border:2px solid var(--md-comp-time-input-focus-outline-color, var(--md-sys-color-primary))}.micl-timepicker input[name=hour]{grid-area:hr;justify-self:flex-end}.micl-timepicker input[name=minute]{grid-area:min}.micl-timepicker:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)) input[name=hour],.micl-timepicker:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)) input[name=minute]{font-family:var(--md-sys-typescale-display-large-font);font-size:var(--md-sys-typescale-display-large-size);line-height:var(--md-sys-typescale-display-large-line-height);font-weight:var(--md-sys-typescale-display-large-weight);letter-spacing:var(--md-sys-typescale-display-large-tracking);border:none;cursor:pointer}.micl-timepicker:not(:has(.micl-timepicker__am)):not(:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden))){--_input-width: var(--md-comp-time-picker-time-selector-24h-container-width, 114px)}.micl-timepicker__separator{font-family:var(--md-sys-typescale-display-large-font);font-size:var(--md-sys-typescale-display-large-size);line-height:var(--md-sys-typescale-display-large-line-height);font-weight:var(--md-sys-typescale-display-large-weight);letter-spacing:var(--md-sys-typescale-display-large-tracking);grid-area:sep;block-size:var(--_input-height);line-height:var(--_input-height);inline-size:var(--_separator-width);text-align:center;color:var(--md-comp-time-picker-separator-color, var(--md-sys-color-on-surface))}.micl-timepicker__period{--_ampm-height: calc(var(--_period-height) / 2);grid-area:per;block-size:var(--_period-height);inline-size:0}.micl-timepicker__period:has(.micl-timepicker__am){inline-size:var(--_period-width);margin-inline:12px 0}.micl-timepicker__period .micl-timepicker__am,.micl-timepicker__period .micl-timepicker__pm{font-family:var(--md-sys-typescale-title-medium-font);font-size:var(--md-sys-typescale-title-medium-size);line-height:var(--md-sys-typescale-title-medium-line-height);font-weight:var(--md-sys-typescale-title-medium-weight);letter-spacing:var(--md-sys-typescale-title-medium-tracking);appearance:none;box-sizing:border-box;position:relative;display:flex;align-items:center;inline-size:var(--_period-width);block-size:var(--_ampm-height);min-block-size:var(--_ampm-height);margin:0;border:1px solid var(--md-comp-time-picker-period-selector-outline-color, var(--md-sys-color-outline));outline:none;color:var(--md-comp-time-picker-period-selector-unselected-label-text-color, var(--md-sys-color-on-surface-variant));background-color:rgba(0,0,0,0);cursor:pointer}.micl-timepicker__period .micl-timepicker__am::before,.micl-timepicker__period .micl-timepicker__pm::before{content:"AM";position:absolute;inline-size:100%;text-align:center}.micl-timepicker__period .micl-timepicker__am:checked,.micl-timepicker__period .micl-timepicker__pm:checked{color:var(--md-comp-time-picker-period-selector-selected-label-text-color, var(--md-sys-color-on-tertiary-container));background-color:var(--md-comp-time-picker-period-selector-selected-container-color, var(--md-sys-color-tertiary-container))}.micl-timepicker__period .micl-timepicker__am:focus-visible,.micl-timepicker__period .micl-timepicker__pm:focus-visible{outline:var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);outline-offset:-2px}.micl-timepicker__period .micl-timepicker__am{border-start-start-radius:var(--md-sys-shape-corner-small);border-start-end-radius:var(--md-sys-shape-corner-small)}.micl-timepicker__period .micl-timepicker__pm{border-block-start-width:0px;border-end-start-radius:var(--md-sys-shape-corner-small);border-end-end-radius:var(--md-sys-shape-corner-small)}.micl-timepicker__period .micl-timepicker__pm::before{content:"PM"}.micl-timepicker__supporting-text-hour,.micl-timepicker__supporting-text-minute{font-family:var(--md-sys-typescale-body-small-font);font-size:var(--md-sys-typescale-body-small-size);line-height:var(--md-sys-typescale-body-small-line-height);font-weight:var(--md-sys-typescale-body-small-weight);letter-spacing:var(--md-sys-typescale-body-small-tracking);grid-area:hsup;padding-block:4px 0;color:var(--md-comp-time-picker-supporting-text-color, var(--md-sys-color-on-surface-variant))}.micl-timepicker__supporting-text-minute{grid-area:msup}.micl-timepicker .micl-timepicker__dial{--micl-dial-radius: calc((var(--_dial-size) - var(--_target)) / 2);--micl-hour-radius: var(--micl-dial-radius);--micl-angle: 0deg;position:relative;grid-area:dial;justify-self:center;block-size:var(--_dial-size);inline-size:var(--_dial-size);margin-block:36px 0;margin-inline:0;outline:none;border-radius:var(--md-sys-shape-corner-full);background-color:var(--md-comp-time-picker-clock-dial-color, var(--md-sys-color-surface-container-highest));list-style-type:none;touch-action:none}.micl-timepicker .micl-timepicker__dial data.micl-timepicker__dial-inner{--micl-hour-radius: calc(var(--micl-dial-radius) - var(--_target) + 12px);z-index:2}.micl-timepicker .micl-timepicker__dial data.micl-timepicker__dial-inner::before{z-index:2}.micl-timepicker .micl-timepicker__dial data{--micl-a: calc(var(--micl-dial-radius) + (var(--micl-hour-radius) * cos(var(--micl-angle))));--micl-b: calc(var(--micl-dial-radius) + (var(--micl-hour-radius) * sin(var(--micl-angle))));font-family:var(--md-sys-typescale-body-large-font);font-size:var(--md-sys-typescale-body-large-size);line-height:var(--md-sys-typescale-body-large-line-height);font-weight:var(--md-sys-typescale-body-large-weight);letter-spacing:var(--md-sys-typescale-body-large-tracking);position:absolute;display:grid;place-content:center;block-size:var(--_target);inline-size:var(--_target);inset-inline-start:var(--micl-a);inset-block-start:var(--micl-b);outline:none;border-radius:var(--md-sys-shape-corner-full);color:var(--md-comp-time-picker-clock-dial-unselected-label-text-color, var(--md-sys-color-on-surface));cursor:pointer;z-index:1;user-select:none;-webkit-tap-highlight-color:rgba(0,0,0,0)}.micl-timepicker .micl-timepicker__dial data.micl-timepicker__time--selected{color:var(--md-comp-time-picker-clock-dial-selected-label-text-color, var(--md-sys-color-on-primary));background-color:var(--md-comp-time-picker-clock-dial-selector-handle-container-color, var(--md-sys-color-primary))}.micl-timepicker .micl-timepicker__dial data::before{content:"";position:absolute;block-size:var(--_target);inline-size:calc(2*var(--_target));inset-inline-start:0;inset-block-end:0;transform:rotate(var(--micl-angle)) translate(calc(-1 * var(--_target)));transform-origin:calc(var(--_target)/2) center;z-index:1}.micl-timepicker .micl-timepicker__dial .micl-timepicker__track{--micl-track-length: 92px;position:relative;display:block;inline-size:var(--_track-width);block-size:var(--micl-track-length);inset-inline-start:calc((var(--_dial-size) - var(--_track-width))/2);inset-block-start:calc(var(--_dial-size)/2 - var(--micl-track-length));border-radius:calc(var(--_track-width)*2);background-color:var(--md-comp-time-picker-clock-dial-selector-track-container-color, var(--md-sys-color-primary));transform:rotate(calc(90deg + var(--micl-angle)));transform-origin:bottom}.micl-timepicker .micl-timepicker__dial .micl-timepicker__track::before{content:"";position:absolute;display:block;block-size:var(--_center-size);inline-size:var(--_center-size);inset-block-end:-3px;inset-inline-start:-3px;border-radius:var(--md-sys-shape-corner-full);background-color:var(--md-comp-time-picker-clock-dial-selector-center-container-color, var(--md-sys-color-primary))}.micl-timepicker__dial--hidden{display:none !important}
|
package/dist/timepicker.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.micl=t():e.micl=t()}(self,()=>(()=>{"use strict";var e={
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.micl=t():e.micl=t()}(self,()=>(()=>{"use strict";var e={56(e,t,n){const o=globalThis.__miclRegistry??={map:{},rippled:new WeakSet,activated:!1},r=()=>Object.keys(o.map).join(","),i=e=>Object.entries(o.map).find(([t,{type:n}])=>e.matches(t)&&e instanceof n)?.[1],a=e=>{const t=i(e);t&&"function"==typeof t.component.initialize&&t.component.initialize(e)},l=e=>{const t=i(e);t&&"function"==typeof t.component.cleanup&&t.component.cleanup(e)},c=e=>{const t=r();if(!t)return;const n=e.target.closest(t);if(!(n instanceof HTMLElement))return;const o=i(n),a=e.type;o&&"function"==typeof o.component[a]&&o.component[a]?.(e)},s=()=>{o.activated||(o.activated=!0,new MutationObserver(e=>{e.forEach(e=>{"childList"===e.type&&(e.addedNodes.forEach(e=>{if(e instanceof HTMLElement){const t=r();t&&e.matches(t)&&a(e),t&&e.querySelectorAll(t).forEach(a)}}),e.removedNodes.forEach(e=>{if(e instanceof HTMLElement){const t=r();t&&e.matches(t)&&l(e),(e=>{const t=r();t&&e.querySelectorAll(t).forEach(l)})(e)}}))})}).observe(document.body,{childList:!0,subtree:!0}),(e=>{const t=r();t&&e.querySelectorAll(t).forEach(a),e.querySelectorAll('[class*="micl-"], [class*="micl-"] > summary').forEach(e=>{o.rippled.has(e)||"1"===window.getComputedStyle(e).getPropertyValue("--micl-ripple")&&(e.addEventListener("pointerdown",t=>{if(t.currentTarget.classList.contains("micl-card--nonactionable"))return;t.stopPropagation();const n=e.getBoundingClientRect();e.style.setProperty("--micl-x",(t.clientX-n.left)/n.width*100+"%"),e.style.setProperty("--micl-y",(t.clientY-n.top)/n.height*100+"%"),e.classList.remove("micl-rippling"),e.offsetWidth,e.classList.add("micl-rippling");const o=t=>{"micl-ripple"===t.animationName&&(e.classList.remove("micl-rippling"),e.style.removeProperty("--micl-x"),e.style.removeProperty("--micl-y"),e.removeEventListener("animationend",o))};e.addEventListener("animationend",o)}),o.rippled.add(e))}),document.documentElement.style.setProperty("--md-sys-scrollbar-thumb-color",window.getComputedStyle(document.body).getPropertyValue("--md-sys-color-outline").trim())})(document),document.addEventListener("change",c),document.addEventListener("input",c),document.addEventListener("keydown",c))},d=()=>{document.removeEventListener("DOMContentLoaded",d),s()};"loading"!==document.readyState?s():document.addEventListener("DOMContentLoaded",d),n.d(t,["register",0,(e,t,n)=>(o.map[e]={component:t,type:n},o.activated&&document.querySelectorAll(e).forEach(a),t)])}};const t={};function n(o){const r=t[o];if(void 0!==r)return r.exports;const i=t[o]={exports:{}};return e[o](i,i.exports,n),i.exports}n.d=(e,t)=>{if(Array.isArray(t))for(var o=0;o<t.length;){var r=t[o++],i=t[o++];n.o(e,r)?0===i&&o++:0===i?Object.defineProperty(e,r,{enumerable:!0,value:t[o++]}):Object.defineProperty(e,r,{enumerable:!0,get:i})}else for(var r in t)n.o(t,r)&&!n.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},n.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),n.r=e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};let o={};n.r(o);var r=n(56);const i="dialog.micl-dialog.micl-timepicker",a="micl-timepicker__",l="micl-timepicker__dial--hidden",c="micl-timepicker--selected",s=(()=>{try{const e=new Intl.DateTimeFormat(void 0,{hour:"numeric"}).resolvedOptions().hourCycle;return"h11"===e||"h12"===e}catch(e){return!1}})(),d=(e,t)=>e.querySelector(t),m=e=>e instanceof HTMLInputElement||e instanceof HTMLButtonElement,u=e=>!!e&&!e.classList.contains(l),p=(e,t)=>{e.classList.toggle(c,t)},f=e=>document.querySelector(`[data-timepicker="${e.id}"],[popovertarget="${e.id}"],[commandfor="${e.id}"]`),y=e=>"hour"===e?{min:s?1:0,max:s?12:23}:{min:0,max:59},v=(e,t,n)=>{e.querySelectorAll("data").forEach(e=>e.classList.remove(`${a}time--selected`));const o=e.querySelector(`data[data-${t}][value="${n}"]`);let r="";o?(r=window.getComputedStyle(o).getPropertyValue("--micl-angle"),o.classList.add(`${a}time--selected`)):"minute"===t&&(r=`${Math.round(360*parseInt(n,10)/60-90)}deg`),r&&e.style.setProperty("--micl-angle",r)},g=(e,t,n,o,r=!0)=>{let i=parseInt(n||"0",10);if(isNaN(i))return;const l=d(e,`input[name=${t}]`);if(l){if("hour"===t&&o&&s){const t=e.querySelector(`.${a}am`),n=e.querySelector(`.${a}pm`);i>=12?(n&&(n.checked=!0),i>12&&(i-=12)):(t&&(t.checked=!0),0===i&&(i=12))}if(l.value=`${i}`.padStart(2,"0"),r){const n=d(e,`.${a}dial`);if(!n)return;v(n,t,l.value)}}},h=(e,t,n)=>{if("ArrowDown"!==n.key&&"ArrowUp"!==n.key)return;n.preventDefault();const{max:o,min:r}=y(t.name);let i=parseInt(t.value,10)||0;if(i+="ArrowUp"===n.key?1:-1,(i<r||i>o)&&(i=i<r?o:r,"hour"===t.name&&s)){const t=e.querySelector("input[name=period]:not(:checked)");t?.click()}g(e,t.name,`${i}`)},E=(0,r.register)(i,{initialize:e=>{if(e.dataset.miclinitialized)return;const t=d(e,"form"),n=d(e,`.${a}inputmode`),o=d(e,`.${a}dial`),r=[d(e,"input[name=hour]"),d(e,"input[name=minute]")].filter(e=>null!==e);if(!t||r.length<2)return;e.dataset.miclinitialized="1",r.forEach((t,n)=>{(e=>{const{min:t,max:n}=y(e.name);let o;o="hour"===e.name?s?"(0[1-9]|1[0-2])":"(0[0-9]|1[0-9]|2[0-3])":"(0[0-9]|[1-5][0-9])";const r={maxlength:"2",pattern:o,inputmode:"numeric",autocomplete:"off",role:"spinbutton",min:String(t),max:String(n)};for(const t in r)e.setAttribute(t,r[t])})(t),o&&t.toggleAttribute("readonly",u(o)),t.addEventListener("keydown",h.bind(null,e,t)),t.addEventListener("focus",()=>{p(r[0===n?1:0],!1),p(t,!0),o&&(((e,t)=>{e.querySelectorAll("data").forEach(e=>{e.dataset[t]&&(e.textContent=e.dataset[t],e.value=e.dataset[t].padStart(2,"0")),e.classList.contains(`${a}dial-inner`)&&e.classList["hour"===t?"remove":"add"](l)})})(o,t.name),v(o,t.name,t.value))}),t.addEventListener("blur",()=>{u(o)||((e=>{const{max:t,min:n}=y(e.name);let o=parseInt(e.value,10);isNaN(o)&&(o=n),o>t&&(o=t),o<0&&(o=n),e.value=String(o).padStart(2,"0")})(t),p(t,!1))})});const i=e.querySelector(`.${a}period`);if(i&&s&&(["am","pm"].forEach(e=>{let t=document.createElement("input");t.type="radio",t.name="period",t.className=`${a}${e}`,t.value=e,t.ariaLabel=e.toUpperCase(),i.appendChild(t)}),i.classList.toggle(l,!s)),n?.addEventListener("click",()=>{o?.classList.toggle(l),r.forEach(e=>{e.toggleAttribute("readonly",u(o))}),u(o)&&r[0].focus()}),o){(e=>{let t=s?300:270;for(let n=s?1:0;n<=(s?12:23);n++){const o=document.createElement("data");o.value=`${n}`.padStart(2,"0"),o.textContent=`${n}`,o.dataset.hour=`${n}`,o.style.setProperty("--micl-angle",`${t}deg`),!s&&n>=12?o.classList.add(`${a}dial-inner`):o.dataset.minute=""+5*n%60,e.appendChild(o),t=(t+30)%360}const n=document.createElement("span");n.className=`${a}track`,e.appendChild(n)})(o);const t=(t,n)=>{const o=document.elementFromPoint(t,n);o&&"DATA"===o.tagName&&g(e,e.querySelector(`input[name=hour].${c}`)?"hour":"minute",o.value)};o.addEventListener("pointerdown",e=>{o.classList.add(`${a}dial--dragging`),t(e.clientX,e.clientY),o.setPointerCapture(e.pointerId)}),o.addEventListener("pointermove",e=>{o.classList.contains(`${a}dial--dragging`)&&t(e.clientX,e.clientY)});const n=e=>{o.classList.remove(`${a}dial--dragging`),o.releasePointerCapture(e.pointerId)};o.addEventListener("pointerup",n),o.addEventListener("pointercancel",n)}e.addEventListener("beforetoggle",t=>{if("open"===t.oldState)return;let n=document.activeElement;if((!m(n)||n.dataset.timepicker!==e.id&&n.popoverTargetElement!==e&&n.commandForElement!==e)&&(n=f(e)),!m(n))return;e._miclInvoker=n;const o=(n.value||n.textContent).split(":");2===o.length&&(g(e,"hour",o[0],!0),g(e,"minute",o[1],!1,!1))}),e.addEventListener("close",()=>{if(!e.returnValue)return;let n=e._miclInvoker;if(n||(n=f(e)),!m(n))return;const o=t.elements;let r=parseInt(o.namedItem("hour")?.value||"0",10);if(isNaN(r))return;s&&(r%=12,"pm"===o.namedItem("period")?.value&&(r+=12));const i=parseInt(o.namedItem("minute")?.value||"0",10);if(isNaN(i))return;const a=`${r}`.padStart(2,"0")+":"+`${i}`.padStart(2,"0");n.value=a,n instanceof HTMLInputElement?(n.dispatchEvent(new Event("change",{bubbles:!0})),n.dispatchEvent(new Event("input",{bubbles:!0}))):n.textContent=a})}},HTMLDialogElement);return n.d(o,["default",0,E,"timepickerSelector",0,i]),o})());
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright © 2025 Hermana AS
|
|
3
|
+
//
|
|
4
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
6
|
+
// in the Software without restriction, including without limitation the rights
|
|
7
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
// furnished to do so, subject to the following conditions:
|
|
10
|
+
//
|
|
11
|
+
// The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
// copies or substantial portions of the Software.
|
|
13
|
+
//
|
|
14
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
// SOFTWARE.
|
|
21
|
+
|
|
22
|
+
// Pure declarations only — @use of this module must never emit CSS.
|
|
23
|
+
// The emitted foundation styles (:root tokens, @property registrations,
|
|
24
|
+
// utility classes) live in foundations/base, which is compiled once into
|
|
25
|
+
// micl.css and standalone as dist/base.css.
|
|
26
|
+
|
|
27
|
+
$md-sys-icon-size: 24px;
|
|
28
|
+
|
|
29
|
+
$md-sys-padding-xxs: 4px;
|
|
30
|
+
$md-sys-padding-xs: 8px;
|
|
31
|
+
$md-sys-padding-s: 12px;
|
|
32
|
+
$md-sys-padding-m: 16px;
|
|
33
|
+
$md-sys-padding-l: 20px;
|
|
34
|
+
$md-sys-padding-xl: 24px;
|
|
35
|
+
$md-sys-padding-xxl: 28px;
|
|
@@ -19,62 +19,23 @@
|
|
|
19
19
|
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
20
|
// SOFTWARE.
|
|
21
21
|
|
|
22
|
-
|
|
22
|
+
// Shared foundation styles, emitted exactly once: the :root design tokens,
|
|
23
|
+
// the @property registrations the ripple effect depends on, and the generic
|
|
24
|
+
// utility classes. Included in micl.css; consumers loading per-component CSS
|
|
25
|
+
// files must load dist/base.css first (once).
|
|
23
26
|
|
|
24
|
-
|
|
25
|
-
$md-sys-padding-xs: 8px;
|
|
26
|
-
$md-sys-padding-s: 12px;
|
|
27
|
-
$md-sys-padding-m: 16px;
|
|
28
|
-
$md-sys-padding-l: 20px;
|
|
29
|
-
$md-sys-padding-xl: 24px;
|
|
30
|
-
$md-sys-padding-xxl: 28px;
|
|
27
|
+
@use '../index' as foundations;
|
|
31
28
|
|
|
32
29
|
:root {
|
|
33
|
-
--md-sys-icon-size: #{
|
|
30
|
+
--md-sys-icon-size: #{foundations.$md-sys-icon-size};
|
|
34
31
|
|
|
35
|
-
--md-sys-padding-xxs: #{
|
|
36
|
-
--md-sys-padding-xs: #{
|
|
37
|
-
--md-sys-padding-s: #{
|
|
38
|
-
--md-sys-padding-m: #{
|
|
39
|
-
--md-sys-padding-l: #{
|
|
40
|
-
--md-sys-padding-xl: #{
|
|
41
|
-
--md-sys-padding-xxl: #{
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.micl-hidden {
|
|
45
|
-
display: none !important;
|
|
46
|
-
}
|
|
47
|
-
.micl-no-transition {
|
|
48
|
-
transition: none !important;
|
|
49
|
-
}
|
|
50
|
-
.micl-flex--vcenter {
|
|
51
|
-
display: flex;
|
|
52
|
-
flex-direction: row;
|
|
53
|
-
align-items: center;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
.micl-grid-field,
|
|
57
|
-
.micl-grid-iconfield {
|
|
58
|
-
box-sizing: border-box;
|
|
59
|
-
display: grid;
|
|
60
|
-
row-gap: var(--md-sys-padding-xl, 24px);
|
|
61
|
-
}
|
|
62
|
-
.micl-grid-iconfield {
|
|
63
|
-
grid-template-columns: 48px 1fr;
|
|
64
|
-
}
|
|
65
|
-
.micl-grid-iconfield__icon {
|
|
66
|
-
grid-column: 1;
|
|
67
|
-
margin-block-start: 0.6rem;
|
|
68
|
-
}
|
|
69
|
-
.micl-grid-iconfield__field {
|
|
70
|
-
grid-column: 2;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
.micl-link {
|
|
74
|
-
display: flex;
|
|
75
|
-
align-items: center;
|
|
76
|
-
justify-content: center;
|
|
77
|
-
text-decoration: none;
|
|
32
|
+
--md-sys-padding-xxs: #{foundations.$md-sys-padding-xxs};
|
|
33
|
+
--md-sys-padding-xs: #{foundations.$md-sys-padding-xs};
|
|
34
|
+
--md-sys-padding-s: #{foundations.$md-sys-padding-s};
|
|
35
|
+
--md-sys-padding-m: #{foundations.$md-sys-padding-m};
|
|
36
|
+
--md-sys-padding-l: #{foundations.$md-sys-padding-l};
|
|
37
|
+
--md-sys-padding-xl: #{foundations.$md-sys-padding-xl};
|
|
38
|
+
--md-sys-padding-xxl: #{foundations.$md-sys-padding-xxl};
|
|
78
39
|
}
|
|
79
40
|
|
|
80
41
|
@property --micl-ripple {
|
|
@@ -82,15 +43,19 @@ $md-sys-padding-xxl: 28px;
|
|
|
82
43
|
inherits: false;
|
|
83
44
|
initial-value: 0;
|
|
84
45
|
}
|
|
46
|
+
// The ripple coordinates are percentages: the runtime sets the touch point as a percentage of the
|
|
47
|
+
// element, which pins the gradient box (background-position) and the circle within it (circle at)
|
|
48
|
+
// to the same element point at every background-size.
|
|
49
|
+
// The 50% initial value doubles as a centered fallback.
|
|
85
50
|
@property --micl-x {
|
|
86
|
-
syntax: '<length>';
|
|
51
|
+
syntax: '<length-percentage>';
|
|
87
52
|
inherits: false;
|
|
88
|
-
initial-value:
|
|
53
|
+
initial-value: 50%;
|
|
89
54
|
}
|
|
90
55
|
@property --micl-y {
|
|
91
|
-
syntax: '<length>';
|
|
56
|
+
syntax: '<length-percentage>';
|
|
92
57
|
inherits: false;
|
|
93
|
-
initial-value:
|
|
58
|
+
initial-value: 50%;
|
|
94
59
|
}
|
|
95
60
|
@property --micl-width {
|
|
96
61
|
syntax: '<length>';
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
//
|
|
2
|
+
// Copyright © 2025 Hermana AS
|
|
3
|
+
//
|
|
4
|
+
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
5
|
+
// of this software and associated documentation files (the "Software"), to deal
|
|
6
|
+
// in the Software without restriction, including without limitation the rights
|
|
7
|
+
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
// copies of the Software, and to permit persons to whom the Software is
|
|
9
|
+
// furnished to do so, subject to the following conditions:
|
|
10
|
+
//
|
|
11
|
+
// The above copyright notice and this permission notice shall be included in all
|
|
12
|
+
// copies or substantial portions of the Software.
|
|
13
|
+
//
|
|
14
|
+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
15
|
+
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
16
|
+
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
17
|
+
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
18
|
+
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
19
|
+
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
20
|
+
// SOFTWARE.
|
|
21
|
+
|
|
22
|
+
.micl-grid-field,
|
|
23
|
+
.micl-grid-iconfield {
|
|
24
|
+
box-sizing: border-box;
|
|
25
|
+
display: grid;
|
|
26
|
+
row-gap: var(--md-sys-padding-xl, 24px);
|
|
27
|
+
}
|
|
28
|
+
.micl-grid-iconfield {
|
|
29
|
+
grid-template-columns: 48px 1fr;
|
|
30
|
+
}
|
|
31
|
+
.micl-grid-iconfield__icon {
|
|
32
|
+
grid-column: 1;
|
|
33
|
+
margin-block-start: 0.6rem;
|
|
34
|
+
}
|
|
35
|
+
.micl-grid-iconfield__field {
|
|
36
|
+
grid-column: 2;
|
|
37
|
+
}
|
|
@@ -23,59 +23,60 @@
|
|
|
23
23
|
|
|
24
24
|
@include shape.corner('medium');
|
|
25
25
|
|
|
26
|
-
$md-sys-
|
|
27
|
-
$md-sys-
|
|
28
|
-
$md-sys-
|
|
29
|
-
$md-sys-
|
|
30
|
-
$md-sys-
|
|
31
|
-
$md-sys-
|
|
32
|
-
$md-sys-
|
|
33
|
-
$md-sys-
|
|
26
|
+
$md-sys-breakpoint-compact-max: 599px;
|
|
27
|
+
$md-sys-breakpoint-medium-min: 600px;
|
|
28
|
+
$md-sys-breakpoint-medium-max: 839px;
|
|
29
|
+
$md-sys-breakpoint-expanded-min: 840px;
|
|
30
|
+
$md-sys-breakpoint-expanded-max: 1199px;
|
|
31
|
+
$md-sys-breakpoint-large-min: 1200px;
|
|
32
|
+
$md-sys-breakpoint-large-max: 1599px;
|
|
33
|
+
$md-sys-breakpoint-extralarge-min: 1600px;
|
|
34
34
|
|
|
35
35
|
$md-sys-window-margin-compact: 16px;
|
|
36
|
-
$md-sys-window-margin
|
|
37
|
-
$md-sys-window-margin-expanded: 24px;
|
|
38
|
-
$md-sys-window-margin-large: 24px;
|
|
39
|
-
$md-sys-window-margin-extralarge: 24px;
|
|
36
|
+
$md-sys-window-margin: 24px; // medium and larger breakpoints
|
|
40
37
|
|
|
41
38
|
$md-sys-pane-spacer: 24px;
|
|
42
39
|
|
|
40
|
+
$md-sys-pane-fixed-width-expanded: 360px;
|
|
41
|
+
$md-sys-pane-fixed-width-large: 412px;
|
|
42
|
+
|
|
43
43
|
:root {
|
|
44
44
|
--md-sys-layout-pane-spacer: #{$md-sys-pane-spacer};
|
|
45
|
+
--md-sys-layout-window-margin: #{$md-sys-window-margin};
|
|
45
46
|
|
|
46
|
-
@media (max-width: $md-sys-
|
|
47
|
+
@media (max-width: $md-sys-breakpoint-compact-max) {
|
|
47
48
|
--md-sys-layout-window-margin: #{$md-sys-window-margin-compact};
|
|
48
49
|
}
|
|
49
|
-
@media (min-width: $md-sys-
|
|
50
|
-
--md-sys-layout-
|
|
51
|
-
}
|
|
52
|
-
@media (min-width: $md-sys-window-expanded-min) and (max-width: $md-sys-window-expanded-max) {
|
|
53
|
-
--md-sys-layout-window-margin: #{$md-sys-window-margin-expanded};
|
|
50
|
+
@media (min-width: $md-sys-breakpoint-expanded-min) and (max-width: $md-sys-breakpoint-expanded-max) {
|
|
51
|
+
--md-sys-layout-pane-fixed-width: #{$md-sys-pane-fixed-width-expanded};
|
|
54
52
|
}
|
|
55
|
-
@media (min-width: $md-sys-
|
|
56
|
-
--md-sys-layout-
|
|
57
|
-
}
|
|
58
|
-
@media (min-width: $md-sys-window-extralarge-min) {
|
|
59
|
-
--md-sys-layout-window-margin: #{$md-sys-window-margin-extralarge};
|
|
53
|
+
@media (min-width: $md-sys-breakpoint-large-min) {
|
|
54
|
+
--md-sys-layout-pane-fixed-width: #{$md-sys-pane-fixed-width-large};
|
|
60
55
|
}
|
|
61
56
|
}
|
|
62
57
|
|
|
63
58
|
.micl-window {
|
|
64
|
-
padding:
|
|
59
|
+
padding:
|
|
60
|
+
env(safe-area-inset-top, 0px)
|
|
61
|
+
calc(var(--md-sys-layout-window-margin) + env(safe-area-inset-right, 0px))
|
|
62
|
+
calc(var(--md-sys-layout-window-margin) + env(safe-area-inset-bottom, 0px))
|
|
63
|
+
calc(var(--md-sys-layout-window-margin) + env(safe-area-inset-left, 0px));
|
|
65
64
|
margin: 0;
|
|
66
65
|
background-color: var(--md-sys-color-surface);
|
|
67
66
|
|
|
68
|
-
.micl-
|
|
67
|
+
.micl-panes .micl-appbar {
|
|
69
68
|
margin-inline: calc(-1 * var(--md-sys-layout-window-margin));
|
|
70
69
|
}
|
|
71
|
-
&:not(.micl-window--spatial):has(nav.micl-navigationrail) .micl-
|
|
70
|
+
&:not(.micl-window--spatial):has(nav.micl-navigationrail) .micl-panes .micl-appbar {
|
|
72
71
|
margin-inline-start: 0;
|
|
73
72
|
}
|
|
74
73
|
&.micl-window--spatial {
|
|
75
74
|
--md-sys-layout-spatial-radius: calc(var(--md-sys-shape-corner-medium) + var(--md-sys-layout-window-margin));
|
|
76
75
|
|
|
77
76
|
display: flex;
|
|
78
|
-
padding-block:
|
|
77
|
+
padding-block:
|
|
78
|
+
calc(2 * var(--md-sys-layout-window-margin) + env(safe-area-inset-top, 0px))
|
|
79
|
+
calc(2 * var(--md-sys-layout-window-margin) + env(safe-area-inset-bottom, 0px));
|
|
79
80
|
gap: var(--md-sys-layout-window-margin);
|
|
80
81
|
|
|
81
82
|
.micl-navigationrail {
|
|
@@ -87,7 +88,7 @@ $md-sys-pane-spacer: 24px;
|
|
|
87
88
|
padding-block-end: var(--md-sys-navigationrail-top-space, 0px);
|
|
88
89
|
border-radius: var(--md-sys-layout-spatial-radius);
|
|
89
90
|
}
|
|
90
|
-
.micl-
|
|
91
|
+
.micl-panes {
|
|
91
92
|
background: transparent;
|
|
92
93
|
}
|
|
93
94
|
.micl-pane {
|
|
@@ -97,19 +98,25 @@ $md-sys-pane-spacer: 24px;
|
|
|
97
98
|
}
|
|
98
99
|
}
|
|
99
100
|
}
|
|
100
|
-
.micl-
|
|
101
|
+
.micl-panes {
|
|
101
102
|
box-sizing: border-box;
|
|
102
103
|
display: flex;
|
|
103
104
|
flex-direction: row;
|
|
104
105
|
gap: var(--md-sys-comp-margin, 8px) var(--md-sys-layout-pane-spacer);
|
|
105
106
|
background-color: inherit;
|
|
106
107
|
|
|
107
|
-
&.micl-
|
|
108
|
-
|
|
109
|
-
|
|
108
|
+
&.micl-panes--split > .micl-pane + .micl-pane {
|
|
109
|
+
// The physical safety inset on the trailing pane's side of the screen.
|
|
110
|
+
--_layout-safe-inline-end: env(safe-area-inset-right, 0px);
|
|
111
|
+
|
|
112
|
+
box-sizing: border-box;
|
|
113
|
+
flex: 0 1 var(--_layout-stacked-pane-size, calc(50vw - var(--md-sys-layout-window-margin, 0px) - var(--_layout-safe-inline-end) - var(--md-sys-layout-pane-spacer) / 2));
|
|
114
|
+
|
|
115
|
+
&:dir(rtl) {
|
|
116
|
+
--_layout-safe-inline-end: env(safe-area-inset-left, 0px);
|
|
110
117
|
}
|
|
111
118
|
}
|
|
112
|
-
&.micl-
|
|
119
|
+
&.micl-panes--evenly .micl-pane {
|
|
113
120
|
flex: 1 1 0;
|
|
114
121
|
}
|
|
115
122
|
}
|
|
@@ -122,6 +129,8 @@ $md-sys-pane-spacer: 24px;
|
|
|
122
129
|
|
|
123
130
|
&.micl-pane--fixed {
|
|
124
131
|
flex: 0 0 auto;
|
|
132
|
+
box-sizing: border-box;
|
|
133
|
+
inline-size: var(--_layout-stacked-pane-size, var(--md-sys-layout-pane-fixed-width, auto));
|
|
125
134
|
}
|
|
126
135
|
&:has(> .micl-card-elevated, > .micl-card-filled, > .micl-card-outlined),
|
|
127
136
|
&> *:has(> .micl-card-elevated, > .micl-card-filled, > .micl-card-outlined) {
|
|
@@ -153,59 +162,49 @@ $md-sys-pane-spacer: 24px;
|
|
|
153
162
|
}
|
|
154
163
|
}
|
|
155
164
|
|
|
156
|
-
@media (max-width: $md-sys-
|
|
157
|
-
.micl-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
.micl-body.micl-body--stacked-to-extralarge {
|
|
165
|
+
@media (max-width: $md-sys-breakpoint-compact-max) {
|
|
166
|
+
.micl-panes.micl-panes--stacked-to-medium {
|
|
167
|
+
--_layout-stacked-pane-size: auto;
|
|
168
|
+
|
|
161
169
|
flex-direction: column;
|
|
162
170
|
}
|
|
163
|
-
.micl-pane.micl-pane--hidden-to-medium
|
|
164
|
-
.micl-pane.micl-pane--hidden-to-expanded,
|
|
165
|
-
.micl-pane.micl-pane--hidden-to-large,
|
|
166
|
-
.micl-pane.micl-pane--hidden-to-extralarge {
|
|
171
|
+
.micl-pane.micl-pane--hidden-to-medium {
|
|
167
172
|
display: none;
|
|
168
173
|
}
|
|
169
|
-
.micl-pane__columns.micl-pane__columns--stacked-to-medium
|
|
170
|
-
.micl-pane__columns.micl-pane__columns--stacked-to-expanded,
|
|
171
|
-
.micl-pane__columns.micl-pane__columns--stacked-to-large,
|
|
172
|
-
.micl-pane__columns.micl-pane__columns--stacked-to-extralarge {
|
|
174
|
+
.micl-pane__columns.micl-pane__columns--stacked-to-medium {
|
|
173
175
|
flex-direction: column;
|
|
174
176
|
}
|
|
175
177
|
}
|
|
176
|
-
@media (
|
|
177
|
-
.micl-
|
|
178
|
-
|
|
179
|
-
|
|
178
|
+
@media (max-width: $md-sys-breakpoint-medium-max) {
|
|
179
|
+
.micl-panes.micl-panes--stacked-to-expanded {
|
|
180
|
+
--_layout-stacked-pane-size: auto;
|
|
181
|
+
|
|
180
182
|
flex-direction: column;
|
|
181
183
|
}
|
|
182
|
-
.micl-pane.micl-pane--hidden-to-expanded
|
|
183
|
-
.micl-pane.micl-pane--hidden-to-large,
|
|
184
|
-
.micl-pane.micl-pane--hidden-to-extralarge {
|
|
184
|
+
.micl-pane.micl-pane--hidden-to-expanded {
|
|
185
185
|
display: none;
|
|
186
186
|
}
|
|
187
|
-
.micl-pane__columns.micl-pane__columns--stacked-to-expanded
|
|
188
|
-
.micl-pane__columns.micl-pane__columns--stacked-to-large,
|
|
189
|
-
.micl-pane__columns.micl-pane__columns--stacked-to-extralarge {
|
|
187
|
+
.micl-pane__columns.micl-pane__columns--stacked-to-expanded {
|
|
190
188
|
flex-direction: column;
|
|
191
189
|
}
|
|
192
190
|
}
|
|
193
|
-
@media (
|
|
194
|
-
.micl-
|
|
195
|
-
|
|
191
|
+
@media (max-width: $md-sys-breakpoint-expanded-max) {
|
|
192
|
+
.micl-panes.micl-panes--stacked-to-large {
|
|
193
|
+
--_layout-stacked-pane-size: auto;
|
|
194
|
+
|
|
196
195
|
flex-direction: column;
|
|
197
196
|
}
|
|
198
|
-
.micl-pane.micl-pane--hidden-to-large
|
|
199
|
-
.micl-pane.micl-pane--hidden-to-extralarge {
|
|
197
|
+
.micl-pane.micl-pane--hidden-to-large {
|
|
200
198
|
display: none;
|
|
201
199
|
}
|
|
202
|
-
.micl-pane__columns.micl-pane__columns--stacked-to-large
|
|
203
|
-
.micl-pane__columns.micl-pane__columns--stacked-to-extralarge {
|
|
200
|
+
.micl-pane__columns.micl-pane__columns--stacked-to-large {
|
|
204
201
|
flex-direction: column;
|
|
205
202
|
}
|
|
206
203
|
}
|
|
207
|
-
@media (
|
|
208
|
-
.micl-
|
|
204
|
+
@media (max-width: $md-sys-breakpoint-large-max) {
|
|
205
|
+
.micl-panes.micl-panes--stacked-to-extralarge {
|
|
206
|
+
--_layout-stacked-pane-size: auto;
|
|
207
|
+
|
|
209
208
|
flex-direction: column;
|
|
210
209
|
}
|
|
211
210
|
.micl-pane.micl-pane--hidden-to-extralarge {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "material-inspired-component-library",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "9.0.0",
|
|
4
4
|
"description": "The Material-Inspired Component Library (MICL) offers a collection of beautifully crafted components leveraging native HTML markup, designed to align with the Material Design 3 guidelines.",
|
|
5
5
|
"author": "MICL Hermana <micl.hermana@proton.me> (https://github.com/henkpb/micl)",
|
|
6
6
|
"license": "MIT",
|
|
@@ -21,14 +21,19 @@
|
|
|
21
21
|
"button",
|
|
22
22
|
"card",
|
|
23
23
|
"checkbox",
|
|
24
|
+
"chip",
|
|
24
25
|
"date picker",
|
|
26
|
+
"date range picker",
|
|
25
27
|
"dialog",
|
|
26
28
|
"divider",
|
|
29
|
+
"field",
|
|
27
30
|
"iconbutton",
|
|
28
31
|
"layout",
|
|
29
32
|
"list",
|
|
30
33
|
"menu",
|
|
34
|
+
"navigation bar",
|
|
31
35
|
"navigation rail",
|
|
36
|
+
"progress indicator",
|
|
32
37
|
"radio button",
|
|
33
38
|
"select",
|
|
34
39
|
"shapes",
|
|
@@ -50,25 +55,34 @@
|
|
|
50
55
|
},
|
|
51
56
|
"main": "dist/micl.js",
|
|
52
57
|
"types": "dist/micl.d.ts",
|
|
58
|
+
"files": [
|
|
59
|
+
"dist",
|
|
60
|
+
"styles.scss",
|
|
61
|
+
"styles/**/*.scss",
|
|
62
|
+
"foundations/**/*.scss",
|
|
63
|
+
"components/**/*.scss",
|
|
64
|
+
"components/**/README.md",
|
|
65
|
+
"themes"
|
|
66
|
+
],
|
|
53
67
|
"scripts": {
|
|
54
68
|
"build": "webpack",
|
|
55
69
|
"gen:shapes": "node tools/shapes/generate.mjs",
|
|
56
70
|
"check:shapes": "node tools/shapes/check.mjs"
|
|
57
71
|
},
|
|
58
|
-
"sideEffects": false,
|
|
59
72
|
"devDependencies": {
|
|
60
73
|
"autoprefixer": "^10.5",
|
|
61
74
|
"css-loader": "^7.1",
|
|
62
|
-
"extract-loader": "^5.1",
|
|
63
|
-
"file-loader": "^6.2",
|
|
64
75
|
"glob": "^13.0",
|
|
65
76
|
"mini-css-extract-plugin": "^2.10",
|
|
66
77
|
"postcss-loader": "^8.2",
|
|
67
|
-
"sass": "^1.
|
|
68
|
-
"sass-loader": "^
|
|
69
|
-
"ts-loader": "^9.
|
|
78
|
+
"sass": "^1.101",
|
|
79
|
+
"sass-loader": "^17.0",
|
|
80
|
+
"ts-loader": "^9.6",
|
|
70
81
|
"typescript": "^6.0",
|
|
71
|
-
"webpack": "^5.
|
|
72
|
-
"webpack-cli": "^7.
|
|
82
|
+
"webpack": "^5.108",
|
|
83
|
+
"webpack-cli": "^7.2"
|
|
84
|
+
},
|
|
85
|
+
"allowScripts": {
|
|
86
|
+
"@parcel/watcher@2.5.6": true
|
|
73
87
|
}
|
|
74
88
|
}
|