material-inspired-component-library 8.1.0 → 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.
Files changed (284) hide show
  1. package/README.md +106 -18
  2. package/components/README.md +1 -1
  3. package/components/accordion/README.md +6 -6
  4. package/components/alert/README.md +10 -10
  5. package/components/alert/index.scss +27 -52
  6. package/components/appbar/README.md +19 -6
  7. package/components/appbar/index.scss +40 -44
  8. package/components/badge/README.md +12 -10
  9. package/components/badge/index.scss +21 -25
  10. package/components/bottomsheet/README.md +26 -1
  11. package/components/bottomsheet/index.scss +58 -44
  12. package/components/button/README.md +70 -10
  13. package/components/button/_shared.scss +210 -0
  14. package/components/button/index.scss +75 -389
  15. package/components/card/README.md +97 -85
  16. package/components/card/index.scss +46 -65
  17. package/components/checkbox/README.md +25 -14
  18. package/{tools/shapes/check.mjs → components/checkbox/_label.scss} +37 -42
  19. package/components/checkbox/index.scss +66 -66
  20. package/components/chip/README.md +186 -0
  21. package/components/chip/index.scss +285 -0
  22. package/components/datepicker/README.md +79 -0
  23. package/components/datepicker/index.scss +346 -315
  24. package/components/dialog/README.md +20 -10
  25. package/components/dialog/index.scss +55 -66
  26. package/components/divider/README.md +16 -15
  27. package/components/divider/index.scss +9 -25
  28. package/components/iconbutton/README.md +63 -12
  29. package/components/iconbutton/index.scss +142 -303
  30. package/components/list/README.md +89 -156
  31. package/components/list/index.scss +34 -36
  32. package/components/menu/README.md +81 -155
  33. package/components/menu/index.scss +52 -58
  34. package/components/navigationbar/README.md +108 -0
  35. package/components/navigationbar/index.scss +185 -0
  36. package/components/navigationrail/README.md +62 -37
  37. package/components/navigationrail/_navitem.scss +96 -0
  38. package/components/navigationrail/index.scss +78 -132
  39. package/components/progressindicator/README.md +83 -47
  40. package/components/progressindicator/index.scss +622 -172
  41. package/components/radio/README.md +11 -9
  42. package/components/radio/index.scss +36 -33
  43. package/components/select/README.md +12 -7
  44. package/components/select/index.scss +26 -34
  45. package/components/shapes/README.md +3 -3
  46. package/components/shapes/index.scss +0 -1
  47. package/components/sidesheet/README.md +21 -9
  48. package/components/sidesheet/index.scss +38 -46
  49. package/components/slider/README.md +21 -0
  50. package/components/slider/index.scss +108 -139
  51. package/components/snackbar/README.md +32 -35
  52. package/components/snackbar/index.scss +10 -22
  53. package/components/stepper/README.md +14 -7
  54. package/components/stepper/index.scss +58 -39
  55. package/components/switch/README.md +22 -15
  56. package/components/switch/index.scss +68 -60
  57. package/components/textfield/README.md +48 -5
  58. package/components/textfield/index.scss +192 -248
  59. package/components/timepicker/README.md +53 -23
  60. package/components/timepicker/index.scss +110 -128
  61. package/dist/alert.css +1 -1
  62. package/dist/alert.js +1 -1
  63. package/dist/appbar.css +1 -1
  64. package/dist/appbar.js +1 -1
  65. package/dist/badge.css +1 -1
  66. package/dist/badge.js +1 -1
  67. package/dist/base.css +1 -0
  68. package/dist/base.js +1 -0
  69. package/dist/bottomsheet.css +1 -1
  70. package/dist/bottomsheet.js +1 -1
  71. package/dist/button.css +1 -1
  72. package/dist/button.js +1 -1
  73. package/dist/card.css +1 -1
  74. package/dist/card.js +1 -1
  75. package/dist/checkbox.css +1 -1
  76. package/dist/checkbox.js +1 -1
  77. package/dist/chip.css +1 -0
  78. package/dist/chip.js +1 -0
  79. package/dist/components/button/index.d.ts +1 -1
  80. package/dist/components/iconbutton/index.d.ts +2 -7
  81. package/dist/components/slider/index.d.ts +1 -1
  82. package/dist/components/textfield/index.d.ts +2 -2
  83. package/dist/datepicker.css +1 -1
  84. package/dist/datepicker.js +1 -1
  85. package/dist/dialog.css +1 -1
  86. package/dist/dialog.js +1 -1
  87. package/dist/divider.css +1 -1
  88. package/dist/divider.js +1 -1
  89. package/dist/field.css +1 -0
  90. package/dist/field.js +1 -0
  91. package/dist/foundations/form/index.js +1 -1
  92. package/dist/foundations/runtime.d.ts +15 -0
  93. package/dist/foundations/runtime.js +1 -0
  94. package/dist/iconbutton.css +1 -1
  95. package/dist/iconbutton.js +1 -1
  96. package/dist/layout.css +1 -1
  97. package/dist/layout.js +1 -1
  98. package/dist/list.css +1 -1
  99. package/dist/list.js +1 -1
  100. package/dist/menu.css +1 -1
  101. package/dist/menu.js +1 -1
  102. package/dist/micl.css +1 -1
  103. package/dist/micl.d.ts +14 -5
  104. package/dist/micl.js +1 -1
  105. package/dist/navigationbar.css +1 -0
  106. package/dist/navigationbar.js +1 -0
  107. package/dist/navigationrail.css +1 -1
  108. package/dist/navigationrail.js +1 -1
  109. package/dist/progressindicator.css +1 -1
  110. package/dist/progressindicator.js +1 -1
  111. package/dist/radio.css +1 -1
  112. package/dist/radio.js +1 -1
  113. package/dist/scrollbar.js +1 -1
  114. package/dist/select.css +1 -1
  115. package/dist/select.js +1 -1
  116. package/dist/shapes.css +1 -1
  117. package/dist/shapes.js +1 -1
  118. package/dist/sidesheet.css +1 -1
  119. package/dist/sidesheet.js +1 -1
  120. package/dist/slider.css +1 -1
  121. package/dist/slider.js +1 -1
  122. package/dist/snackbar.css +1 -1
  123. package/dist/snackbar.js +1 -1
  124. package/dist/stepper.css +1 -1
  125. package/dist/stepper.js +1 -1
  126. package/dist/switch.css +1 -1
  127. package/dist/switch.js +1 -1
  128. package/dist/textfield.css +1 -1
  129. package/dist/textfield.js +1 -1
  130. package/dist/timepicker.css +1 -1
  131. package/dist/timepicker.js +1 -1
  132. package/foundations/_index.scss +35 -0
  133. package/foundations/{index.scss → base/index.scss} +21 -56
  134. package/foundations/field/index.scss +37 -0
  135. package/foundations/layout/index.scss +64 -65
  136. package/package.json +23 -9
  137. package/styles/statelayer.scss +20 -5
  138. package/styles.scss +5 -2
  139. package/.claude/settings.local.json +0 -14
  140. package/.editorconfig +0 -12
  141. package/.gitattributes +0 -9
  142. package/.github/ISSUE_TEMPLATE/bug_report.md +0 -35
  143. package/.github/ISSUE_TEMPLATE/feature_request.md +0 -20
  144. package/CLAUDE.md +0 -53
  145. package/CODE_OF_CONDUCT.md +0 -128
  146. package/components/bottomsheet/index.ts +0 -153
  147. package/components/button/index.ts +0 -79
  148. package/components/checkbox/index.ts +0 -148
  149. package/components/datepicker/index.ts +0 -693
  150. package/components/iconbutton/index.ts +0 -77
  151. package/components/list/index.ts +0 -138
  152. package/components/menu/index.ts +0 -145
  153. package/components/navigationrail/index.ts +0 -87
  154. package/components/progressindicator/index.ts +0 -77
  155. package/components/slider/index.ts +0 -149
  156. package/components/snackbar/index.ts +0 -118
  157. package/components/stepper/index.ts +0 -248
  158. package/components/textfield/index.ts +0 -188
  159. package/components/timepicker/index.ts +0 -413
  160. package/dist/components/progressindicator/index.d.ts +0 -6
  161. package/dist/foundations.css +0 -1
  162. package/dist/foundations.js +0 -1
  163. package/docs/accordion.html +0 -344
  164. package/docs/alert.html +0 -177
  165. package/docs/bottomsheet.html +0 -240
  166. package/docs/button.html +0 -290
  167. package/docs/card-awards.webp +0 -0
  168. package/docs/card-cabinet.webp +0 -0
  169. package/docs/card-city.webp +0 -0
  170. package/docs/card-fingerprint.webp +0 -0
  171. package/docs/card-holiday.webp +0 -0
  172. package/docs/card-names.webp +0 -0
  173. package/docs/card.html +0 -159
  174. package/docs/checkbox.html +0 -147
  175. package/docs/datepicker.html +0 -274
  176. package/docs/dialog.html +0 -195
  177. package/docs/divider.html +0 -139
  178. package/docs/docs.css +0 -26
  179. package/docs/docs.js +0 -139
  180. package/docs/iconbutton.html +0 -329
  181. package/docs/index.html +0 -431
  182. package/docs/list.html +0 -310
  183. package/docs/menu.html +0 -574
  184. package/docs/micl.css +0 -1
  185. package/docs/micl.js +0 -1
  186. package/docs/navigationrail.html +0 -138
  187. package/docs/progressindicator.html +0 -288
  188. package/docs/radio.html +0 -123
  189. package/docs/select.html +0 -337
  190. package/docs/shapes.css +0 -1
  191. package/docs/shapes.html +0 -159
  192. package/docs/shapes.js +0 -1
  193. package/docs/sidesheet.html +0 -149
  194. package/docs/slider.html +0 -141
  195. package/docs/snackbar.html +0 -102
  196. package/docs/stepper.html +0 -319
  197. package/docs/switch.html +0 -196
  198. package/docs/textfield.html +0 -208
  199. package/docs/themes/airblue/dark-hc.css +0 -51
  200. package/docs/themes/airblue/dark-mc.css +0 -51
  201. package/docs/themes/airblue/dark.css +0 -51
  202. package/docs/themes/airblue/light-hc.css +0 -51
  203. package/docs/themes/airblue/light-mc.css +0 -51
  204. package/docs/themes/airblue/light.css +0 -51
  205. package/docs/themes/airblue/theme.css +0 -306
  206. package/docs/themes/barnred/dark-hc.css +0 -51
  207. package/docs/themes/barnred/dark-mc.css +0 -51
  208. package/docs/themes/barnred/dark.css +0 -51
  209. package/docs/themes/barnred/light-hc.css +0 -51
  210. package/docs/themes/barnred/light-mc.css +0 -51
  211. package/docs/themes/barnred/light.css +0 -51
  212. package/docs/themes/barnred/theme.css +0 -306
  213. package/docs/themes/citrine/dark-hc.css +0 -51
  214. package/docs/themes/citrine/dark-mc.css +0 -51
  215. package/docs/themes/citrine/dark.css +0 -51
  216. package/docs/themes/citrine/light-hc.css +0 -51
  217. package/docs/themes/citrine/light-mc.css +0 -51
  218. package/docs/themes/citrine/light.css +0 -51
  219. package/docs/themes/citrine/theme.css +0 -306
  220. package/docs/themes/gray/dark-hc.css +0 -51
  221. package/docs/themes/gray/dark-mc.css +0 -51
  222. package/docs/themes/gray/dark.css +0 -51
  223. package/docs/themes/gray/light-hc.css +0 -51
  224. package/docs/themes/gray/light-mc.css +0 -51
  225. package/docs/themes/gray/light.css +0 -51
  226. package/docs/themes/gray/theme.css +0 -306
  227. package/docs/themes/greenery/dark-hc.css +0 -51
  228. package/docs/themes/greenery/dark-mc.css +0 -51
  229. package/docs/themes/greenery/dark.css +0 -51
  230. package/docs/themes/greenery/light-hc.css +0 -51
  231. package/docs/themes/greenery/light-mc.css +0 -51
  232. package/docs/themes/greenery/light.css +0 -51
  233. package/docs/themes/greenery/theme.css +0 -306
  234. package/docs/themes/hermana/dark-hc.css +0 -51
  235. package/docs/themes/hermana/dark-mc.css +0 -51
  236. package/docs/themes/hermana/dark.css +0 -51
  237. package/docs/themes/hermana/light-hc.css +0 -51
  238. package/docs/themes/hermana/light-mc.css +0 -51
  239. package/docs/themes/hermana/light.css +0 -51
  240. package/docs/themes/hermana/theme.css +0 -306
  241. package/docs/themes/illuminating/dark-hc.css +0 -51
  242. package/docs/themes/illuminating/dark-mc.css +0 -51
  243. package/docs/themes/illuminating/dark.css +0 -51
  244. package/docs/themes/illuminating/light-hc.css +0 -51
  245. package/docs/themes/illuminating/light-mc.css +0 -51
  246. package/docs/themes/illuminating/light.css +0 -51
  247. package/docs/themes/illuminating/theme.css +0 -306
  248. package/docs/themes/magenta/dark-hc.css +0 -51
  249. package/docs/themes/magenta/dark-mc.css +0 -51
  250. package/docs/themes/magenta/dark.css +0 -51
  251. package/docs/themes/magenta/light-hc.css +0 -51
  252. package/docs/themes/magenta/light-mc.css +0 -51
  253. package/docs/themes/magenta/light.css +0 -51
  254. package/docs/themes/magenta/theme.css +0 -306
  255. package/docs/themes/mocha/dark-hc.css +0 -51
  256. package/docs/themes/mocha/dark-mc.css +0 -51
  257. package/docs/themes/mocha/dark.css +0 -51
  258. package/docs/themes/mocha/light-hc.css +0 -51
  259. package/docs/themes/mocha/light-mc.css +0 -51
  260. package/docs/themes/mocha/light.css +0 -51
  261. package/docs/themes/mocha/theme.css +0 -306
  262. package/docs/themes/olivegreen/dark-hc.css +0 -51
  263. package/docs/themes/olivegreen/dark-mc.css +0 -51
  264. package/docs/themes/olivegreen/dark.css +0 -51
  265. package/docs/themes/olivegreen/light-hc.css +0 -51
  266. package/docs/themes/olivegreen/light-mc.css +0 -51
  267. package/docs/themes/olivegreen/light.css +0 -51
  268. package/docs/themes/olivegreen/theme.css +0 -306
  269. package/docs/themes/peri/dark-hc.css +0 -51
  270. package/docs/themes/peri/dark-mc.css +0 -51
  271. package/docs/themes/peri/dark.css +0 -51
  272. package/docs/themes/peri/light-hc.css +0 -51
  273. package/docs/themes/peri/light-mc.css +0 -51
  274. package/docs/themes/peri/light.css +0 -51
  275. package/docs/themes/peri/theme.css +0 -306
  276. package/docs/timepicker.html +0 -160
  277. package/foundations/form/index.ts +0 -174
  278. package/foundations/layout/README.md +0 -127
  279. package/intl.d.ts +0 -9
  280. package/micl.ts +0 -221
  281. package/styles/README.md +0 -196
  282. package/tools/shapes/generate.mjs +0 -828
  283. package/tsconfig.json +0 -116
  284. package/webpack.config.js +0 -104
@@ -26,10 +26,15 @@ The Time picker component is an extension of the [**Dialog** component](../dialo
26
26
  <div class="micl-dialog__actions">
27
27
  <button
28
28
  type="button"
29
- class="micl-timepicker__inputmode micl-iconbutton-standard-s material-symbols-outlined"
30
- data-miclalt="schedule"
29
+ id="myinputmode"
30
+ class="micl-timepicker__inputmode micl-iconbutton-standard-s micl-button--toggle micl-button--square material-symbols-outlined"
31
+ commandfor="myinputmode"
32
+ command="--micl-toggle"
33
+ data-miclicon="keyboard"
34
+ data-micliconselected="schedule"
35
+ aria-pressed="false"
31
36
  aria-label="Switch input mode"
32
- >keyboard</button>
37
+ ></button>
33
38
  <div>
34
39
  <button class="micl-button-text-s" value="">Cancel</button>
35
40
  <button class="micl-button-text-s" value="OK">OK</button>
@@ -40,10 +45,12 @@ The Time picker component is an extension of the [**Dialog** component](../dialo
40
45
  ```
41
46
 
42
47
  ### CSS
43
- Import both the time picker and the dialog styles into your project:
48
+ Import the time picker, dialog and button styles into your project:
44
49
 
45
50
  ```CSS
46
51
  @use "material-inspired-component-library/dist/dialog";
52
+ @use "material-inspired-component-library/dist/button";
53
+ @use "material-inspired-component-library/dist/iconbutton";
47
54
  @use "material-inspired-component-library/dist/timepicker";
48
55
  ```
49
56
 
@@ -58,6 +65,7 @@ This component requires JavaScript to function:
58
65
  ```JavaScript
59
66
  import micl from "material-inspired-component-library/dist/micl";
60
67
  ```
68
+ When loading individual JavaScript files, also load `dist/textfield` — it wires the input field that opens the picker.
61
69
 
62
70
  This will initialize any Time picker component, including those that will be added to the DOM later on.
63
71
 
@@ -80,11 +88,15 @@ For the picker to function correctly, the `micl-dialog__content` area must conta
80
88
  By default, the layout is **vertical**. To switch to a **horizontal** layout (side-by-side inputs and dial), add the modifier class `micl-timepicker--horizontal` to the `<dialog>`.
81
89
 
82
90
  #### Input Mode Switching
83
- To allow users to toggle between the text inputs and the analog dial, add a button to the `micl-dialog__actions` container:
91
+ To allow users to toggle between the text inputs and the analog dial, add an icon [toggle button](../button/README.md#toggle-button) to the `micl-dialog__actions` container, as shown in the basic example above:
84
92
 
85
- - Class: `micl-timepicker__inputmode`
86
- - Data Attribute: `data-miclicon="keyboard"` (defines the icon to show).
87
- - Data Attribute: `data-micliconselected="schedule"` (defines the icon to show when toggled).
93
+ - Class: `micl-timepicker__inputmode` in addition to the icon button and `micl-button--toggle` classes.
94
+ - A self-targeting `commandfor`/`command="--micl-toggle"` pair, which flips the button's `aria-pressed` state on activation.
95
+ - Data Attribute: `data-miclicon="keyboard"` (the icon shown in dial mode, when `aria-pressed="false"`).
96
+ - Data Attribute: `data-micliconselected="schedule"` (the icon shown in input mode, when `aria-pressed="true"`).
97
+
98
+ #### Starting in Input Mode
99
+ The picker opens in dial mode by default. To open it in input mode instead, add the `micl-timepicker__dial--hidden` class to the `micl-timepicker__dial` element, and set `aria-pressed="true"` on the `micl-timepicker__inputmode` button so it shows the matching `schedule` icon. The two attributes are independent, so they must agree in the initial markup.
88
100
 
89
101
  ### Integration
90
102
  You can trigger the Time picker component from standard input fields or buttons.
@@ -109,25 +121,43 @@ You can trigger the picker from a button using the standard `popovertarget` attr
109
121
  - **Behavior**: The Time picker reads from and writes to the button's value attribute.
110
122
  - **Formatting**: The component automatically updates the button's text content with the selected time, formatted according to the user's locale.
111
123
 
112
- ## Customizations
113
- You can customize the appearance of the Time picker component by overriding its global CSS variables. These variables are declared on the `:root` pseudo-class and can be changed on any appropriate parent element to affect its child time pickers.
114
-
115
- | Variable name | Default Value | Description |
116
- | ------------- | ------------- | ----------- |
117
- | --md-sys-timepicker-input-height | 72px | Height of the hour a minute input boxes |
118
- | --md-sys-timepicker-input-width | 96px | Width of the input boxes in 12-hour mode |
119
- | --md-sys-timepicker-input-width-24h | 114px | Width of the input boxes in 24-hour mode |
120
- | --md-sys-timepicker-separator-width | 24px | Width of the space containing the colon separator |
121
- | --md-sys-timepicker-period-height | 72px | Total height of the AM/PM selector toggle |
122
- | --md-sys-timepicker-period-width | 52px | Width of the AM/PM selector toggle |
123
- | --md-sys-timepicker-dial-size | 256px | Diameter of the analog clock face |
124
- | --md-sys-timepicker-dial-center-size | 8px | Diameter of the center dot in the analog dial |
125
- | --md-sys-timepicker-dial-track-width | 2px | Thickness of the circular track line on the dial |
124
+ ## Theming
125
+ Each time picker can be themed with CSS custom properties that follow the Material Design 3 component-token naming convention. The container color, shape and elevation are inherited from the [Dialog component](../dialog/README.md).
126
+
127
+ | Custom property | Meaning | Default |
128
+ |---|---|---|
129
+ | `--md-comp-time-picker-time-selector-container-height` | Height of the hour and minute input boxes | `72px` (`80px` in dial mode) |
130
+ | `--md-comp-time-picker-time-selector-container-width` | Width of the input boxes in 12-hour mode | `96px` |
131
+ | `--md-comp-time-picker-time-selector-24h-container-width` | Width of the input boxes in 24-hour mode | `114px` |
132
+ | `--md-comp-time-picker-time-selector-unselected-container-color` | The background color of the input boxes | `--md-sys-color-surface-container-highest` |
133
+ | `--md-comp-time-picker-time-selector-unselected-label-text-color` | The text color of the input boxes | `--md-sys-color-on-surface` |
134
+ | `--md-comp-time-picker-time-selector-selected-container-color` | The background color of the active input box | `--md-sys-color-primary-container` |
135
+ | `--md-comp-time-picker-time-selector-selected-label-text-color` | The text color of the active input box | `--md-sys-color-on-primary-container` |
136
+ | `--md-comp-time-input-focus-outline-color` | The border color of the active input box in keyboard input mode | `--md-sys-color-primary` |
137
+ | `--md-comp-time-picker-separator-width` | Width of the space containing the colon separator | `24px` |
138
+ | `--md-comp-time-picker-separator-color` | The color of the colon separator | `--md-sys-color-on-surface` |
139
+ | `--md-comp-time-picker-headline-color` | The text color of the headline | `--md-sys-color-on-surface-variant` |
140
+ | `--md-comp-time-picker-supporting-text-color` | The text color of the labels below the input boxes | `--md-sys-color-on-surface-variant` |
141
+ | `--md-comp-time-picker-period-selector-container-height` | Total height of the AM/PM selector toggle | `72px` (`80px` or `38px` in dial modes) |
142
+ | `--md-comp-time-picker-period-selector-container-width` | Width of the AM/PM selector toggle | `52px` |
143
+ | `--md-comp-time-picker-period-selector-outline-color` | The border color of the AM/PM selector toggle | `--md-sys-color-outline` |
144
+ | `--md-comp-time-picker-period-selector-unselected-label-text-color` | The text color of the unselected period | `--md-sys-color-on-surface-variant` |
145
+ | `--md-comp-time-picker-period-selector-selected-container-color` | The background color of the selected period | `--md-sys-color-tertiary-container` |
146
+ | `--md-comp-time-picker-period-selector-selected-label-text-color` | The text color of the selected period | `--md-sys-color-on-tertiary-container` |
147
+ | `--md-comp-time-picker-clock-dial-container-size` | Diameter of the analog clock face | `256px` |
148
+ | `--md-comp-time-picker-clock-dial-color` | The background color of the analog clock face | `--md-sys-color-surface-container-highest` |
149
+ | `--md-comp-time-picker-clock-dial-unselected-label-text-color` | The text color of the dial marks | `--md-sys-color-on-surface` |
150
+ | `--md-comp-time-picker-clock-dial-selected-label-text-color` | The text color of the selected dial mark | `--md-sys-color-on-primary` |
151
+ | `--md-comp-time-picker-clock-dial-selector-handle-container-color` | The background color of the selected dial mark | `--md-sys-color-primary` |
152
+ | `--md-comp-time-picker-clock-dial-selector-track-container-color` | The color of the selector track line on the dial | `--md-sys-color-primary` |
153
+ | `--md-comp-time-picker-clock-dial-selector-track-container-width` | Thickness of the selector track line on the dial | `2px` |
154
+ | `--md-comp-time-picker-clock-dial-selector-center-container-color` | The color of the center dot of the dial | `--md-sys-color-primary` |
155
+ | `--md-comp-time-picker-clock-dial-selector-center-container-size` | Diameter of the center dot of the dial | `8px` |
126
156
 
127
157
  **Example: Changing the width of the dial track**
128
158
 
129
159
  ```HTML
130
- <div style="--md-sys-timepicker-dial-track-width:3px">
160
+ <div style="--md-comp-time-picker-clock-dial-selector-track-container-width:3px">
131
161
  <dialog class="micl-dialog micl-timepicker" closedby="closerequest">
132
162
  ...
133
163
  </dialog>
@@ -19,7 +19,6 @@
19
19
  // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
20
20
  // SOFTWARE.
21
21
 
22
- @use '../../foundations';
23
22
  @use '../../styles/motion';
24
23
  @use '../../styles/shape';
25
24
  @use '../../styles/statelayer';
@@ -41,20 +40,43 @@
41
40
  @include typography.scale('body-small');
42
41
  @include typography.scale('label-medium');
43
42
 
44
- :root {
45
- --md-sys-timepicker-input-height: 72px;
46
- --md-sys-timepicker-input-width: 96px;
47
- --md-sys-timepicker-input-width-24h: 114px;
48
- --md-sys-timepicker-separator-width: 24px;
49
- --md-sys-timepicker-period-height: 72px;
50
- --md-sys-timepicker-period-width: 52px;
51
- --md-sys-timepicker-dial-size: 256px;
52
- --md-sys-timepicker-dial-center-size: 8px;
53
- --md-sys-timepicker-dial-track-width: 2px;
43
+ // State layer background shared by the time fields and the AM/PM toggles.
44
+ // The state layer color follows the label color of the current state.
45
+ %statelayer-background {
46
+ --statelayer-color: currentColor;
47
+
48
+ background-image: linear-gradient(rgb(from var(--statelayer-color) r g b / var(--statelayer-opacity)));
49
+ background-repeat: no-repeat;
50
+ background-size: 100%;
51
+ -webkit-tap-highlight-color: transparent;
52
+ transition: --statelayer-opacity var(--md-comp-time-picker-motion-duration) linear;
53
+
54
+ &:hover {
55
+ --statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity);
56
+ }
57
+ &:focus-visible {
58
+ --statelayer-opacity: var(--md-sys-state-focus-state-layer-opacity);
59
+ }
60
+ &:active {
61
+ --statelayer-opacity: var(--md-sys-state-pressed-state-layer-opacity);
62
+ }
54
63
  }
55
64
 
56
65
  dialog.micl-dialog.micl-timepicker {
57
- --md-sys-timepicker-motion-duration: #{motion.$md-sys-motion-expressive-fast-spatial-duration};
66
+ --md-comp-time-picker-motion-duration: #{motion.$md-sys-motion-expressive-fast-spatial-duration};
67
+
68
+ // Internal aliases: each public token is referenced from many descendants.
69
+ // The keyboard-input mode uses the (smaller) time-input defaults; the
70
+ // dial modes below re-declare the aliases with the time-picker defaults.
71
+ --_input-height: var(--md-comp-time-picker-time-selector-container-height, 72px);
72
+ --_input-width: var(--md-comp-time-picker-time-selector-container-width, 96px);
73
+ --_separator-width: var(--md-comp-time-picker-separator-width, 24px);
74
+ --_period-height: var(--md-comp-time-picker-period-selector-container-height, 72px);
75
+ --_period-width: var(--md-comp-time-picker-period-selector-container-width, 52px);
76
+ --_dial-size: var(--md-comp-time-picker-clock-dial-container-size, 256px);
77
+ --_center-size: var(--md-comp-time-picker-clock-dial-selector-center-container-size, 8px);
78
+ --_track-width: var(--md-comp-time-picker-clock-dial-selector-track-container-width, 2px);
79
+ --_target: var(--md-sys-target-size, 48px);
58
80
 
59
81
  .micl-dialog__headline {
60
82
  padding-block-end: 20px;
@@ -62,17 +84,17 @@ dialog.micl-dialog.micl-timepicker {
62
84
  h2 {
63
85
  @include typography.label-medium;
64
86
 
65
- color: var(--md-sys-color-on-surface-variant);
87
+ color: var(--md-comp-time-picker-headline-color, var(--md-sys-color-on-surface-variant));
66
88
  }
67
89
  }
68
90
  .micl-dialog__content {
69
91
  display: grid;
70
92
  padding-block-start: 1px;
71
93
  grid-template-areas:
72
- "timepicker-hour timepicker-separator timepicker-minute timepicker-period"
73
- "timepicker-hour-supporting timepicker-hour-supporting timepicker-minute-supporting timepicker-minute-supporting"
74
- "timepicker-dial timepicker-dial timepicker-dial timepicker-dial";
75
- grid-template-columns: auto var(--md-sys-timepicker-separator-width) var(--md-sys-timepicker-input-width) auto;
94
+ "hr sep min per"
95
+ "hsup hsup msup msup"
96
+ "dial dial dial dial";
97
+ grid-template-columns: auto var(--_separator-width) var(--_input-width) auto;
76
98
  }
77
99
  .micl-dialog__actions {
78
100
  &:has(.micl-timepicker__inputmode) {
@@ -84,26 +106,26 @@ dialog.micl-dialog.micl-timepicker {
84
106
  }
85
107
  }
86
108
 
87
- &:has(.micl-timepicker__dial:not(.micl-hidden)) {
88
- --md-sys-timepicker-input-height: 80px;
89
- --md-sys-timepicker-period-height: 80px;
109
+ &:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)) {
110
+ --_input-height: var(--md-comp-time-picker-time-selector-container-height, 80px);
111
+ --_period-height: var(--md-comp-time-picker-period-selector-container-height, 80px);
90
112
 
91
113
  &.micl-timepicker--horizontal {
92
- --md-sys-timepicker-period-height: 38px;
114
+ --_period-height: var(--md-comp-time-picker-period-selector-container-height, 38px);
93
115
 
94
116
  .micl-dialog__headline {
95
117
  padding-block-end: 0;
96
118
  }
97
119
  .micl-dialog__content {
98
120
  grid-template-areas:
99
- "timepicker-dummy timepicker-dummy timepicker-dummy timepicker-dial"
100
- "timepicker-hour timepicker-separator timepicker-minute timepicker-dial"
101
- "timepicker-period timepicker-period timepicker-period timepicker-dial";
102
- grid-template-rows: 72px var(--md-sys-timepicker-input-height) auto;
121
+ "x x x dial"
122
+ "hr sep min dial"
123
+ "per per per dial";
124
+ grid-template-rows: 72px var(--_input-height) auto;
103
125
 
104
126
  .micl-timepicker__period {
105
- --md-sys-timepicker-ampm-height: var(--md-sys-timepicker-period-height);
106
- --md-sys-timepicker-period-width: calc(2 * var(--md-sys-timepicker-input-width) + var(--md-sys-timepicker-separator-width));
127
+ --_ampm-height: var(--_period-height);
128
+ --_period-width: calc(2 * var(--_input-width) + var(--_separator-width));
107
129
 
108
130
  display: flex;
109
131
  align-self: flex-start;
@@ -137,28 +159,22 @@ dialog.micl-dialog.micl-timepicker {
137
159
  .micl-timepicker {
138
160
  input[name=hour],
139
161
  input[name=minute] {
140
- --statelayer-color: var(--md-sys-color-on-surface);
141
-
162
+ @extend %statelayer-background;
142
163
  @include typography.display-medium;
143
164
 
144
165
  box-sizing: border-box;
145
- inline-size: var(--md-sys-timepicker-input-width);
146
- block-size: var(--md-sys-timepicker-input-height);
166
+ inline-size: var(--_input-width);
167
+ block-size: var(--_input-height);
147
168
  margin: 0;
148
169
  padding: 0;
149
170
  border: none;
150
171
  outline: none;
151
172
  border-radius: var(--md-sys-shape-corner-small);
152
- background-color: var(--md-sys-color-surface-container-highest);
153
- background-image: linear-gradient(rgb(from var(--statelayer-color) r g b / var(--statelayer-opacity)));
154
- background-repeat: no-repeat;
155
- background-size: 100%;
156
- color: var(--md-sys-color-on-surface);
173
+ background-color: var(--md-comp-time-picker-time-selector-unselected-container-color, var(--md-sys-color-surface-container-highest));
174
+ color: var(--md-comp-time-picker-time-selector-unselected-label-text-color, var(--md-sys-color-on-surface));
157
175
  text-align: center;
158
176
  user-select: none;
159
- -webkit-tap-highlight-color: transparent;
160
177
  -moz-appearance: textfield;
161
- transition: --statelayer-opacity var(--md-sys-timepicker-motion-duration) linear;
162
178
 
163
179
  &::-webkit-inner-spin-button,
164
180
  &::-webkit-outer-spin-button {
@@ -168,30 +184,19 @@ dialog.micl-dialog.micl-timepicker {
168
184
  background-color: transparent;
169
185
  }
170
186
  &.micl-timepicker--selected {
171
- --statelayer-color: var(--md-sys-color-on-primary-container);
172
-
173
- background-color: var(--md-sys-color-primary-container);
174
- color: var(--md-sys-color-on-primary-container);
175
- border: 2px solid var(--md-sys-color-primary);
176
- }
177
- &:hover {
178
- --statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity, 8%);
179
- }
180
- &:focus-visible {
181
- --statelayer-opacity: var(--md-sys-state-focus-state-layer-opacity, 10%);
182
- }
183
- &:active {
184
- --statelayer-opacity: var(--md-sys-state-pressed-state-layer-opacity, 10%);
187
+ background-color: var(--md-comp-time-picker-time-selector-selected-container-color, var(--md-sys-color-primary-container));
188
+ color: var(--md-comp-time-picker-time-selector-selected-label-text-color, var(--md-sys-color-on-primary-container));
189
+ border: 2px solid var(--md-comp-time-input-focus-outline-color, var(--md-sys-color-primary));
185
190
  }
186
191
  }
187
192
  input[name=hour] {
188
- grid-area: timepicker-hour;
193
+ grid-area: hr;
189
194
  justify-self: flex-end;
190
195
  }
191
196
  input[name=minute] {
192
- grid-area: timepicker-minute;
197
+ grid-area: min;
193
198
  }
194
- &:has(.micl-timepicker__dial:not(.micl-hidden)) {
199
+ &:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden)) {
195
200
  input[name=hour],
196
201
  input[name=minute] {
197
202
  @include typography.display-large;
@@ -200,35 +205,34 @@ dialog.micl-dialog.micl-timepicker {
200
205
  cursor: pointer;
201
206
  }
202
207
  }
203
- &:not(:has(.micl-timepicker__am)):not(:has(.micl-timepicker__dial:not(.micl-hidden))) {
204
- --md-sys-timepicker-input-width: var(--md-sys-timepicker-input-width-24h);
208
+ &:not(:has(.micl-timepicker__am)):not(:has(.micl-timepicker__dial:not(.micl-timepicker__dial--hidden))) {
209
+ --_input-width: var(--md-comp-time-picker-time-selector-24h-container-width, 114px);
205
210
  }
206
211
  }
207
212
  .micl-timepicker__separator {
208
213
  @include typography.display-large;
209
214
 
210
- grid-area: timepicker-separator;
211
- block-size: var(--md-sys-timepicker-input-height);
212
- line-height: var(--md-sys-timepicker-input-height);
213
- inline-size: var(--md-sys-timepicker-separator-width);
215
+ grid-area: sep;
216
+ block-size: var(--_input-height);
217
+ line-height: var(--_input-height);
218
+ inline-size: var(--_separator-width);
214
219
  text-align: center;
215
- color: var(--md-sys-color-on-surface);
220
+ color: var(--md-comp-time-picker-separator-color, var(--md-sys-color-on-surface));
216
221
  }
217
222
  .micl-timepicker__period {
218
- --md-sys-timepicker-ampm-height: calc(var(--md-sys-timepicker-period-height) / 2);
223
+ --_ampm-height: calc(var(--_period-height) / 2);
219
224
 
220
- grid-area: timepicker-period;
221
- block-size: var(--md-sys-timepicker-period-height);
225
+ grid-area: per;
226
+ block-size: var(--_period-height);
222
227
  inline-size: 0;
223
228
 
224
229
  &:has(.micl-timepicker__am) {
225
- inline-size: var(--md-sys-timepicker-period-width);
230
+ inline-size: var(--_period-width);
226
231
  margin-inline: 12px 0;
227
232
  }
228
233
  .micl-timepicker__am,
229
234
  .micl-timepicker__pm {
230
- --statelayer-color: var(--md-sys-color-on-surface-variant);
231
-
235
+ @extend %statelayer-background;
232
236
  @include typography.title-medium;
233
237
 
234
238
  appearance: none;
@@ -236,20 +240,15 @@ dialog.micl-dialog.micl-timepicker {
236
240
  position: relative;
237
241
  display: flex;
238
242
  align-items: center;
239
- inline-size: var(--md-sys-timepicker-period-width);
240
- block-size: var(--md-sys-timepicker-ampm-height);
241
- min-block-size: var(--md-sys-timepicker-ampm-height);
243
+ inline-size: var(--_period-width);
244
+ block-size: var(--_ampm-height);
245
+ min-block-size: var(--_ampm-height);
242
246
  margin: 0;
243
- border: 1px solid var(--md-sys-color-outline);
247
+ border: 1px solid var(--md-comp-time-picker-period-selector-outline-color, var(--md-sys-color-outline));
244
248
  outline: none;
245
- color: var(--md-sys-color-on-surface-variant);
249
+ color: var(--md-comp-time-picker-period-selector-unselected-label-text-color, var(--md-sys-color-on-surface-variant));
246
250
  background-color: transparent;
247
- background-image: linear-gradient(rgb(from var(--statelayer-color) r g b / var(--statelayer-opacity)));
248
- background-repeat: no-repeat;
249
- background-size: 100%;
250
251
  cursor: pointer;
251
- -webkit-tap-highlight-color: transparent;
252
- transition: --statelayer-opacity var(--md-sys-timepicker-motion-duration) linear;
253
252
 
254
253
  &::before {
255
254
  content: "AM";
@@ -258,34 +257,13 @@ dialog.micl-dialog.micl-timepicker {
258
257
  text-align: center;
259
258
  }
260
259
  &:checked {
261
- color: var(--md-sys-color-on-tertiary-container);
262
- background-color: var(--md-sys-color-tertiary-container);
263
- }
264
- &:hover,
265
- &:focus-visible,
266
- &:active {
267
- &:checked {
268
- --statelayer-color: var(--md-sys-color-on-tertiary-container);
269
- }
270
- &::after {
271
- border-color: var(--md-sys-color-on-surface);
272
- }
273
- &:checked::after {
274
- border-color: var(--md-sys-color-primary);
275
- }
276
- }
277
- &:hover {
278
- --statelayer-opacity: var(--md-sys-state-hover-state-layer-opacity, 8%);
260
+ color: var(--md-comp-time-picker-period-selector-selected-label-text-color, var(--md-sys-color-on-tertiary-container));
261
+ background-color: var(--md-comp-time-picker-period-selector-selected-container-color, var(--md-sys-color-tertiary-container));
279
262
  }
280
263
  &:focus-visible {
281
- --statelayer-opacity: var(--md-sys-state-focus-state-layer-opacity, 10%);
282
-
283
- outline: var(--md-sys-state-focus-indicator-thickness, 3px) solid var(--md-sys-color-secondary);
264
+ outline: var(--md-sys-state-focus-indicator-thickness) solid var(--md-sys-color-secondary);
284
265
  outline-offset: -2px;
285
266
  }
286
- &:active {
287
- --statelayer-opacity: var(--md-sys-state-pressed-state-layer-opacity, 10%);
288
- }
289
267
  }
290
268
  .micl-timepicker__am {
291
269
  border-start-start-radius: var(--md-sys-shape-corner-small);
@@ -306,34 +284,34 @@ dialog.micl-dialog.micl-timepicker {
306
284
  .micl-timepicker__supporting-text-minute {
307
285
  @include typography.body-small;
308
286
 
309
- grid-area: timepicker-hour-supporting;
287
+ grid-area: hsup;
310
288
  padding-block: 4px 0;
311
- color: var(--md-sys-color-on-surface-variant);
289
+ color: var(--md-comp-time-picker-supporting-text-color, var(--md-sys-color-on-surface-variant));
312
290
  }
313
291
  .micl-timepicker__supporting-text-minute {
314
- grid-area: timepicker-minute-supporting;
292
+ grid-area: msup;
315
293
  }
316
294
 
317
295
  .micl-timepicker .micl-timepicker__dial {
318
- --micl-dial-radius: calc((var(--md-sys-timepicker-dial-size, 256px) - var(--md-sys-target-size, 48px)) / 2);
296
+ --micl-dial-radius: calc((var(--_dial-size) - var(--_target)) / 2);
319
297
  --micl-hour-radius: var(--micl-dial-radius);
320
298
  --micl-angle: 0deg;
321
299
 
322
300
  position: relative;
323
- grid-area: timepicker-dial;
301
+ grid-area: dial;
324
302
  justify-self: center;
325
- block-size: var(--md-sys-timepicker-dial-size, 256px);
326
- inline-size: var(--md-sys-timepicker-dial-size, 256px);
303
+ block-size: var(--_dial-size);
304
+ inline-size: var(--_dial-size);
327
305
  margin-block: 36px 0;
328
306
  margin-inline: 0;
329
307
  outline: none;
330
308
  border-radius: var(--md-sys-shape-corner-full);
331
- background-color: var(--md-sys-color-surface-container-highest);
309
+ background-color: var(--md-comp-time-picker-clock-dial-color, var(--md-sys-color-surface-container-highest));
332
310
  list-style-type: none;
333
311
  touch-action: none;
334
312
 
335
313
  data.micl-timepicker__dial-inner {
336
- --micl-hour-radius: calc(var(--micl-dial-radius) - var(--md-sys-target-size, 48px) + 12px);
314
+ --micl-hour-radius: calc(var(--micl-dial-radius) - var(--_target) + 12px);
337
315
 
338
316
  z-index: 2;
339
317
  &::before {
@@ -349,31 +327,31 @@ dialog.micl-dialog.micl-timepicker {
349
327
  position: absolute;
350
328
  display: grid;
351
329
  place-content: center;
352
- block-size: var(--md-sys-target-size, 48px);
353
- inline-size: var(--md-sys-target-size, 48px);
330
+ block-size: var(--_target);
331
+ inline-size: var(--_target);
354
332
  inset-inline-start: var(--micl-a);
355
333
  inset-block-start: var(--micl-b);
356
334
  outline: none;
357
335
  border-radius: var(--md-sys-shape-corner-full);
358
- color: var(--md-sys-color-on-surface);
336
+ color: var(--md-comp-time-picker-clock-dial-unselected-label-text-color, var(--md-sys-color-on-surface));
359
337
  cursor: pointer;
360
338
  z-index: 1;
361
339
  user-select: none;
362
340
  -webkit-tap-highlight-color: transparent;
363
341
 
364
342
  &.micl-timepicker__time--selected {
365
- color: var(--md-sys-color-on-primary);
366
- background-color: var(--md-sys-color-primary);
343
+ color: var(--md-comp-time-picker-clock-dial-selected-label-text-color, var(--md-sys-color-on-primary));
344
+ background-color: var(--md-comp-time-picker-clock-dial-selector-handle-container-color, var(--md-sys-color-primary));
367
345
  }
368
346
  &::before {
369
347
  content: "";
370
348
  position: absolute;
371
- block-size: var(--md-sys-target-size, 48px);
372
- inline-size: calc(2 * var(--md-sys-target-size, 48px));
349
+ block-size: var(--_target);
350
+ inline-size: calc(2 * var(--_target));
373
351
  inset-inline-start: 0;
374
352
  inset-block-end: 0;
375
- transform: rotate(var(--micl-angle)) translate(calc(-1 * var(--md-sys-target-size, 48px)));
376
- transform-origin: calc(var(--md-sys-target-size, 48px) / 2) center;
353
+ transform: rotate(var(--micl-angle)) translate(calc(-1 * var(--_target)));
354
+ transform-origin: calc(var(--_target) / 2) center;
377
355
  z-index: 1;
378
356
  }
379
357
  }
@@ -383,12 +361,12 @@ dialog.micl-dialog.micl-timepicker {
383
361
 
384
362
  position: relative;
385
363
  display: block;
386
- inline-size: var(--md-sys-timepicker-dial-track-width, 2px);
364
+ inline-size: var(--_track-width);
387
365
  block-size: var(--micl-track-length);
388
- inset-inline-start: calc((var(--md-sys-timepicker-dial-size, 256px) - var(--md-sys-timepicker-dial-track-width, 2px)) / 2);
389
- inset-block-start: calc((var(--md-sys-timepicker-dial-size, 256px) / 2) - var(--micl-track-length));
390
- border-radius: calc(var(--md-sys-timepicker-dial-track-width, 2px) * 2);
391
- background-color: var(--md-sys-color-primary);
366
+ inset-inline-start: calc((var(--_dial-size) - var(--_track-width)) / 2);
367
+ inset-block-start: calc((var(--_dial-size) / 2) - var(--micl-track-length));
368
+ border-radius: calc(var(--_track-width) * 2);
369
+ background-color: var(--md-comp-time-picker-clock-dial-selector-track-container-color, var(--md-sys-color-primary));
392
370
  transform: rotate(calc(90deg + var(--micl-angle)));
393
371
  transform-origin: bottom;
394
372
 
@@ -396,12 +374,16 @@ dialog.micl-dialog.micl-timepicker {
396
374
  content: "";
397
375
  position: absolute;
398
376
  display: block;
399
- block-size: var(--md-sys-timepicker-dial-center-size, 8px);
400
- inline-size: var(--md-sys-timepicker-dial-center-size, 8px);
377
+ block-size: var(--_center-size);
378
+ inline-size: var(--_center-size);
401
379
  inset-block-end: -3px;
402
380
  inset-inline-start: -3px;
403
381
  border-radius: var(--md-sys-shape-corner-full);
404
- background-color: var(--md-sys-color-primary);
382
+ background-color: var(--md-comp-time-picker-clock-dial-selector-center-container-color, var(--md-sys-color-primary));
405
383
  }
406
384
  }
407
385
  }
386
+
387
+ .micl-timepicker__dial--hidden {
388
+ display: none !important;
389
+ }
package/dist/alert.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-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-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-body-medium-size: 0.875rem;--md-sys-typescale-body-medium-line-height: 1.25rem;--md-sys-typescale-body-medium-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-body-medium-tracking: 0.0125rem}:root{--md-sys-alert-padding: 16px;--md-sys-alert-space: 16px}.micl-alert-filled,.micl-alert-tonal,.micl-alert-outlined{--md-sys-alert-background-color: inherit;--md-sys-alert-color: inherit;box-sizing:border-box;display:flex;inline-size:100%;padding:var(--md-sys-alert-padding, 16px);column-gap:var(--md-sys-alert-space, 8px);border:none;outline:none;border-radius:var(--md-sys-shape-corner-small, 8px);background-color:var(--md-sys-alert-background-color);color:var(--md-sys-alert-color)}.micl-alert-filled .micl-alert__icon,.micl-alert-tonal .micl-alert__icon,.micl-alert-outlined .micl-alert__icon{block-size:var(--md-sys-icon-size, 24px);inline-size:var(--md-sys-icon-size, 24px);font-size:var(--md-sys-icon-size, 24px)}.micl-alert-filled .micl-alert__text,.micl-alert-tonal .micl-alert__text,.micl-alert-outlined .micl-alert__text{display:flex;flex-direction:column;row-gap:8px}.micl-alert-filled .micl-alert__text h1,.micl-alert-filled .micl-alert__text h2,.micl-alert-filled .micl-alert__text h3,.micl-alert-filled .micl-alert__text h4,.micl-alert-filled .micl-alert__text h5,.micl-alert-filled .micl-alert__text h6,.micl-alert-filled .micl-alert__text .micl-heading,.micl-alert-tonal .micl-alert__text h1,.micl-alert-tonal .micl-alert__text h2,.micl-alert-tonal .micl-alert__text h3,.micl-alert-tonal .micl-alert__text h4,.micl-alert-tonal .micl-alert__text h5,.micl-alert-tonal .micl-alert__text h6,.micl-alert-tonal .micl-alert__text .micl-heading,.micl-alert-outlined .micl-alert__text h1,.micl-alert-outlined .micl-alert__text h2,.micl-alert-outlined .micl-alert__text h3,.micl-alert-outlined .micl-alert__text h4,.micl-alert-outlined .micl-alert__text h5,.micl-alert-outlined .micl-alert__text h6,.micl-alert-outlined .micl-alert__text .micl-heading{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);margin:0}.micl-alert-filled .micl-alert__text .micl-alert__supporting-text,.micl-alert-tonal .micl-alert__text .micl-alert__supporting-text,.micl-alert-outlined .micl-alert__text .micl-alert__supporting-text{font-family:var(--md-sys-typescale-body-medium-font);font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);font-weight:var(--md-sys-typescale-body-medium-weight);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin:0}.micl-alert-filled{--md-sys-alert-background-color: var(--md-sys-color-error);--md-sys-alert-color: var(--md-sys-color-on-error)}.micl-alert-filled.micl-alert--primary{--md-sys-alert-background-color: var(--md-sys-color-primary);--md-sys-alert-color: var(--md-sys-color-on-primary)}.micl-alert-filled.micl-alert--secondary{--md-sys-alert-background-color: var(--md-sys-color-secondary);--md-sys-alert-color: var(--md-sys-color-on-secondary)}.micl-alert-filled.micl-alert--tertiary{--md-sys-alert-background-color: var(--md-sys-color-tertiary);--md-sys-alert-color: var(--md-sys-color-on-tertiary)}.micl-alert-tonal{--md-sys-alert-background-color: var(--md-sys-color-error-container);--md-sys-alert-color: var(--md-sys-color-on-error-container)}.micl-alert-tonal.micl-alert--primary{--md-sys-alert-background-color: var(--md-sys-color-primary-container);--md-sys-alert-color: var(--md-sys-color-on-primary-container)}.micl-alert-tonal.micl-alert--secondary{--md-sys-alert-background-color: var(--md-sys-color-secondary-container);--md-sys-alert-color: var(--md-sys-color-on-secondary-container)}.micl-alert-tonal.micl-alert--tertiary{--md-sys-alert-background-color: var(--md-sys-color-tertiary-container);--md-sys-alert-color: var(--md-sys-color-on-tertiary-container)}.micl-alert-outlined{--md-sys-alert-color: var(--md-sys-color-error);border:1px solid var(--md-sys-alert-color)}.micl-alert-outlined.micl-alert--primary{--md-sys-alert-color: var(--md-sys-color-primary)}.micl-alert-outlined.micl-alert--secondary{--md-sys-alert-color: var(--md-sys-color-secondary)}.micl-alert-outlined.micl-alert--tertiary{--md-sys-alert-color: var(--md-sys-color-tertiary)}
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-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-medium-font: var(--md-ref-typeface-plain);--md-sys-typescale-body-medium-size: 0.875rem;--md-sys-typescale-body-medium-line-height: 1.25rem;--md-sys-typescale-body-medium-weight: var(--md-ref-typeface-weight-regular);--md-sys-typescale-body-medium-tracking: 0.0125rem}:is(.micl-alert-filled,.micl-alert-tonal,.micl-alert-outlined){box-sizing:border-box;display:flex;inline-size:100%;padding:var(--md-comp-alert-padding, 16px);column-gap:var(--md-comp-alert-space, 16px);border:none;outline:none;border-radius:var(--md-sys-shape-corner-small, 8px);background-color:var(--_background-color, transparent);color:var(--_color, inherit)}:is(.micl-alert-filled,.micl-alert-tonal,.micl-alert-outlined) .micl-alert__icon{block-size:var(--md-sys-icon-size, 24px);inline-size:var(--md-sys-icon-size, 24px);font-size:var(--md-sys-icon-size, 24px)}:is(.micl-alert-filled,.micl-alert-tonal,.micl-alert-outlined) .micl-alert__text{display:flex;flex-direction:column;row-gap:8px}:is(.micl-alert-filled,.micl-alert-tonal,.micl-alert-outlined) .micl-alert__text :is(h1,h2,h3,h4,h5,h6,.micl-heading){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);margin:0}:is(.micl-alert-filled,.micl-alert-tonal,.micl-alert-outlined) .micl-alert__text .micl-alert__supporting-text{font-family:var(--md-sys-typescale-body-medium-font);font-size:var(--md-sys-typescale-body-medium-size);line-height:var(--md-sys-typescale-body-medium-line-height);font-weight:var(--md-sys-typescale-body-medium-weight);letter-spacing:var(--md-sys-typescale-body-medium-tracking);margin:0}.micl-alert-filled{--_background-color: var(--md-sys-color-error);--_color: var(--md-sys-color-on-error)}.micl-alert-filled.micl-alert--primary{--_background-color: var(--md-sys-color-primary);--_color: var(--md-sys-color-on-primary)}.micl-alert-filled.micl-alert--secondary{--_background-color: var(--md-sys-color-secondary);--_color: var(--md-sys-color-on-secondary)}.micl-alert-filled.micl-alert--tertiary{--_background-color: var(--md-sys-color-tertiary);--_color: var(--md-sys-color-on-tertiary)}.micl-alert-tonal{--_background-color: var(--md-sys-color-error-container);--_color: var(--md-sys-color-on-error-container)}.micl-alert-tonal.micl-alert--primary{--_background-color: var(--md-sys-color-primary-container);--_color: var(--md-sys-color-on-primary-container)}.micl-alert-tonal.micl-alert--secondary{--_background-color: var(--md-sys-color-secondary-container);--_color: var(--md-sys-color-on-secondary-container)}.micl-alert-tonal.micl-alert--tertiary{--_background-color: var(--md-sys-color-tertiary-container);--_color: var(--md-sys-color-on-tertiary-container)}.micl-alert-outlined{--_color: var(--md-sys-color-error);border:1px solid var(--_color)}.micl-alert-outlined.micl-alert--primary{--_color: var(--md-sys-color-primary)}.micl-alert-outlined.micl-alert--secondary{--_color: var(--md-sys-color-secondary)}.micl-alert-outlined.micl-alert--tertiary{--_color: var(--md-sys-color-tertiary)}
package/dist/alert.js CHANGED
@@ -1 +1 @@
1
- !function(e,o){"object"==typeof exports&&"object"==typeof module?module.exports=o():"function"==typeof define&&define.amd?define([],o):"object"==typeof exports?exports.micl=o():e.micl=o()}(self,()=>(()=>{"use strict";var e={};return(e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})})(e),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";let e={};return(e=>{Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})})(e),e})());