material 3.0.0-next.0 → 3.0.0-next.1

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 (245) hide show
  1. package/README.md +55 -370
  2. package/dist/components/badge/index.d.ts +1 -1
  3. package/dist/components/badge/index.js +1 -1
  4. package/dist/components/button/index.d.ts +1 -1
  5. package/dist/components/button/index.js +1 -1
  6. package/dist/components/card/index.d.ts +1 -1
  7. package/dist/components/card/index.js +1 -1
  8. package/dist/components/checkbox/index.d.ts +1 -1
  9. package/dist/components/checkbox/index.js +1 -1
  10. package/dist/components/chips/index.d.ts +1 -1
  11. package/dist/components/chips/index.js +1 -1
  12. package/dist/components/datepicker/index.d.ts +1 -1
  13. package/dist/components/datepicker/index.js +1 -1
  14. package/dist/components/dialog/index.d.ts +1 -1
  15. package/dist/components/dialog/index.js +1 -1
  16. package/dist/components/divider/index.d.ts +1 -1
  17. package/dist/components/divider/index.js +1 -1
  18. package/dist/components/drawer/index.d.ts +1 -1
  19. package/dist/components/drawer/index.js +1 -1
  20. package/dist/components/list/index.d.ts +1 -1
  21. package/dist/components/list/index.js +1 -1
  22. package/dist/components/list/list.d.ts +13 -0
  23. package/dist/components/list/types.d.ts +14 -1
  24. package/dist/components/loading-indicator/index.d.ts +1 -1
  25. package/dist/components/loading-indicator/index.js +1 -1
  26. package/dist/components/menu/index.d.ts +1 -1
  27. package/dist/components/menu/index.js +1 -1
  28. package/dist/components/progress/index.d.ts +1 -1
  29. package/dist/components/progress/index.js +1 -1
  30. package/dist/components/progress/types.d.ts +20 -10
  31. package/dist/components/radios/index.d.ts +1 -1
  32. package/dist/components/radios/index.js +1 -1
  33. package/dist/components/search/index.d.ts +1 -1
  34. package/dist/components/search/index.js +1 -1
  35. package/dist/components/select/index.d.ts +1 -1
  36. package/dist/components/select/index.js +1 -1
  37. package/dist/components/slider/index.d.ts +1 -1
  38. package/dist/components/slider/index.js +1 -1
  39. package/dist/components/slider/types.d.ts +7 -0
  40. package/dist/components/snackbar/index.d.ts +1 -1
  41. package/dist/components/snackbar/index.js +1 -1
  42. package/dist/components/split-button/index.d.ts +1 -1
  43. package/dist/components/split-button/index.js +1 -1
  44. package/dist/components/switch/index.d.ts +1 -1
  45. package/dist/components/switch/index.js +1 -1
  46. package/dist/components/tabs/index.d.ts +1 -0
  47. package/dist/components/tabs/index.js +1 -0
  48. package/dist/components/tabs/types.d.ts +15 -3
  49. package/dist/components/text-field/features/placement.js +7 -4
  50. package/dist/components/timepicker/index.d.ts +1 -1
  51. package/dist/components/timepicker/index.js +1 -1
  52. package/dist/components/tooltip/index.d.ts +1 -1
  53. package/dist/components/tooltip/index.js +1 -1
  54. package/dist/core/compose/features/textinput.js +3 -1
  55. package/dist/core/compose/index.d.ts +1 -1
  56. package/dist/core/dom/html.d.ts +1 -1
  57. package/dist/elements/css/button.css +1 -1
  58. package/dist/elements/css/button.js +1 -1
  59. package/dist/elements/css/card.css +1 -1
  60. package/dist/elements/css/card.js +1 -1
  61. package/dist/elements/css/checkbox.css +1 -1
  62. package/dist/elements/css/checkbox.js +1 -1
  63. package/dist/elements/css/chips.css +1 -1
  64. package/dist/elements/css/chips.js +1 -1
  65. package/dist/elements/css/dialog.css +1 -1
  66. package/dist/elements/css/dialog.js +1 -1
  67. package/dist/elements/css/extended-fab.css +1 -1
  68. package/dist/elements/css/extended-fab.js +1 -1
  69. package/dist/elements/css/fab-menu.css +1 -1
  70. package/dist/elements/css/fab-menu.js +1 -1
  71. package/dist/elements/css/fab.css +1 -1
  72. package/dist/elements/css/fab.js +1 -1
  73. package/dist/elements/css/hosts/switch.css +1 -1
  74. package/dist/elements/css/hosts/text-field.css +1 -1
  75. package/dist/elements/css/icon-button.css +1 -1
  76. package/dist/elements/css/icon-button.js +1 -1
  77. package/dist/elements/css/list.css +1 -1
  78. package/dist/elements/css/list.js +1 -1
  79. package/dist/elements/css/menu.css +1 -1
  80. package/dist/elements/css/menu.js +1 -1
  81. package/dist/elements/css/radios.css +1 -1
  82. package/dist/elements/css/radios.js +1 -1
  83. package/dist/elements/css/select.css +1 -1
  84. package/dist/elements/css/select.js +1 -1
  85. package/dist/elements/css/side-sheet.css +1 -1
  86. package/dist/elements/css/side-sheet.js +1 -1
  87. package/dist/elements/css/slider.css +1 -1
  88. package/dist/elements/css/slider.js +1 -1
  89. package/dist/elements/css/snackbar.css +1 -1
  90. package/dist/elements/css/snackbar.js +1 -1
  91. package/dist/elements/css/switch.css +1 -1
  92. package/dist/elements/css/switch.js +1 -1
  93. package/dist/elements/css/text-field.css +1 -1
  94. package/dist/elements/css/text-field.js +1 -1
  95. package/dist/elements/define.d.ts +20 -0
  96. package/dist/elements/preupgrade/badge.css +1 -1
  97. package/dist/elements/preupgrade/bottom-app-bar.css +1 -1
  98. package/dist/elements/preupgrade/bottom-sheet.css +1 -1
  99. package/dist/elements/preupgrade/button-group.css +1 -1
  100. package/dist/elements/preupgrade/button.css +2 -2
  101. package/dist/elements/preupgrade/card.css +1 -1
  102. package/dist/elements/preupgrade/carousel.css +1 -1
  103. package/dist/elements/preupgrade/checkbox.css +2 -2
  104. package/dist/elements/preupgrade/chips.css +1 -1
  105. package/dist/elements/preupgrade/datepicker.css +1 -1
  106. package/dist/elements/preupgrade/dialog.css +1 -1
  107. package/dist/elements/preupgrade/divider.css +1 -1
  108. package/dist/elements/preupgrade/drawer.css +1 -1
  109. package/dist/elements/preupgrade/extended-fab.css +1 -1
  110. package/dist/elements/preupgrade/fab-menu.css +1 -1
  111. package/dist/elements/preupgrade/fab.css +1 -1
  112. package/dist/elements/preupgrade/icon-button.css +1 -1
  113. package/dist/elements/preupgrade/list.css +2 -2
  114. package/dist/elements/preupgrade/loading-indicator.css +1 -1
  115. package/dist/elements/preupgrade/menu.css +1 -1
  116. package/dist/elements/preupgrade/navigation-bar.css +1 -1
  117. package/dist/elements/preupgrade/navigation-rail.css +1 -1
  118. package/dist/elements/preupgrade/progress.css +1 -1
  119. package/dist/elements/preupgrade/radios.css +2 -2
  120. package/dist/elements/preupgrade/search.css +1 -1
  121. package/dist/elements/preupgrade/select.css +1 -1
  122. package/dist/elements/preupgrade/side-sheet.css +1 -1
  123. package/dist/elements/preupgrade/slider.css +1 -1
  124. package/dist/elements/preupgrade/snackbar.css +1 -1
  125. package/dist/elements/preupgrade/split-button.css +1 -1
  126. package/dist/elements/preupgrade/switch.css +2 -2
  127. package/dist/elements/preupgrade/tabs.css +1 -1
  128. package/dist/elements/preupgrade/text-field.css +2 -2
  129. package/dist/elements/preupgrade/timepicker.css +1 -1
  130. package/dist/elements/preupgrade/toolbar.css +1 -1
  131. package/dist/elements/preupgrade/tooltip.css +1 -1
  132. package/dist/elements/preupgrade/top-app-bar.css +1 -1
  133. package/dist/elements/preupgrade.css +2 -2
  134. package/dist/elements/preupgrade.js +1 -1
  135. package/dist/elements/styles.d.ts +13 -1
  136. package/dist/elements/switch.d.ts +1 -0
  137. package/dist/elements/switch.js +1 -0
  138. package/dist/elements/text-field.js +1 -5
  139. package/dist/package.json +28 -4
  140. package/dist/styles/badge.css +1 -1
  141. package/dist/styles/base.css +1 -1
  142. package/dist/styles/bottom-app-bar.css +1 -1
  143. package/dist/styles/bottom-sheet.css +1 -1
  144. package/dist/styles/button-group.css +1 -1
  145. package/dist/styles/button.css +2 -2
  146. package/dist/styles/card.css +2 -2
  147. package/dist/styles/carousel.css +1 -1
  148. package/dist/styles/checkbox.css +2 -2
  149. package/dist/styles/chips.css +2 -2
  150. package/dist/styles/contrast.css +1 -1
  151. package/dist/styles/datepicker.css +1 -1
  152. package/dist/styles/dialog.css +2 -2
  153. package/dist/styles/divider.css +1 -1
  154. package/dist/styles/drawer.css +1 -1
  155. package/dist/styles/extended-fab.css +2 -2
  156. package/dist/styles/fab-menu.css +2 -2
  157. package/dist/styles/fab.css +2 -2
  158. package/dist/styles/icon-button.css +2 -2
  159. package/dist/styles/list.css +2 -2
  160. package/dist/styles/loading-indicator.css +1 -1
  161. package/dist/styles/menu.css +2 -2
  162. package/dist/styles/navigation-bar.css +1 -1
  163. package/dist/styles/navigation-rail.css +1 -1
  164. package/dist/styles/progress.css +1 -1
  165. package/dist/styles/radios.css +2 -2
  166. package/dist/styles/search.css +1 -1
  167. package/dist/styles/select.css +2 -2
  168. package/dist/styles/side-sheet.css +2 -2
  169. package/dist/styles/slider.css +2 -2
  170. package/dist/styles/snackbar.css +2 -2
  171. package/dist/styles/split-button.css +1 -1
  172. package/dist/styles/switch.css +2 -2
  173. package/dist/styles/tabs.css +1 -1
  174. package/dist/styles/text-field.css +2 -2
  175. package/dist/styles/timepicker.css +1 -1
  176. package/dist/styles/toolbar.css +1 -1
  177. package/dist/styles/tooltip.css +1 -1
  178. package/dist/styles/top-app-bar.css +1 -1
  179. package/dist/styles/typography.css +1 -1
  180. package/dist/styles/utilities.css +1 -1
  181. package/dist/styles.css +2 -2
  182. package/dist/themes/autumn-contrast.css +1 -1
  183. package/dist/themes/autumn.css +1 -1
  184. package/dist/themes/baseline-contrast.css +1 -1
  185. package/dist/themes/baseline.css +1 -1
  186. package/dist/themes/brownbeige-contrast.css +1 -1
  187. package/dist/themes/brownbeige.css +1 -1
  188. package/dist/themes/content-contrast.css +1 -1
  189. package/dist/themes/content.css +1 -1
  190. package/dist/themes/desert-contrast.css +1 -1
  191. package/dist/themes/desert.css +1 -1
  192. package/dist/themes/expressive-contrast.css +1 -1
  193. package/dist/themes/expressive.css +1 -1
  194. package/dist/themes/fidelity-contrast.css +1 -1
  195. package/dist/themes/fidelity.css +1 -1
  196. package/dist/themes/forest-contrast.css +1 -1
  197. package/dist/themes/forest.css +1 -1
  198. package/dist/themes/fruit-salad-contrast.css +1 -1
  199. package/dist/themes/fruit-salad.css +1 -1
  200. package/dist/themes/highcontrast-contrast.css +1 -1
  201. package/dist/themes/highcontrast.css +1 -1
  202. package/dist/themes/monochrome-contrast.css +1 -1
  203. package/dist/themes/monochrome.css +1 -1
  204. package/dist/themes/neutral-contrast.css +1 -1
  205. package/dist/themes/neutral.css +1 -1
  206. package/dist/themes/ocean-contrast.css +1 -1
  207. package/dist/themes/ocean.css +1 -1
  208. package/dist/themes/rainbow-contrast.css +1 -1
  209. package/dist/themes/rainbow.css +1 -1
  210. package/dist/themes/sageivory-contrast.css +1 -1
  211. package/dist/themes/sageivory.css +1 -1
  212. package/dist/themes/spring-contrast.css +1 -1
  213. package/dist/themes/spring.css +1 -1
  214. package/dist/themes/summer-contrast.css +1 -1
  215. package/dist/themes/summer.css +1 -1
  216. package/dist/themes/sunset-contrast.css +1 -1
  217. package/dist/themes/sunset.css +1 -1
  218. package/dist/themes/tealcaramel-contrast.css +1 -1
  219. package/dist/themes/tealcaramel.css +1 -1
  220. package/dist/themes/vibrant-contrast.css +1 -1
  221. package/dist/themes/vibrant.css +1 -1
  222. package/package.json +28 -4
  223. package/src/styles/abstract/_mixins.scss +17 -5
  224. package/src/styles/abstract/_variables.scss +1 -1
  225. package/src/styles/components/_button.scss +10 -7
  226. package/src/styles/components/_checkbox.scss +10 -0
  227. package/src/styles/components/_chips.scss +10 -0
  228. package/src/styles/components/_dialog.scss +16 -0
  229. package/src/styles/components/_icon-button.scss +6 -0
  230. package/src/styles/components/_list.scss +43 -2
  231. package/src/styles/components/_menu.scss +8 -0
  232. package/src/styles/components/_radios.scss +22 -4
  233. package/src/styles/components/_select.scss +13 -29
  234. package/src/styles/components/_side-sheet.scss +22 -0
  235. package/src/styles/components/_slider.scss +3 -3
  236. package/src/styles/components/_switch.scss +19 -0
  237. package/src/styles/components/_text-field.scss +87 -321
  238. package/src/styles/elements/_button.scss +17 -1
  239. package/src/styles/elements/_checkbox.scss +16 -0
  240. package/src/styles/elements/_list.scss +6 -0
  241. package/src/styles/elements/_radios.scss +3 -2
  242. package/src/styles/elements/_switch.scss +52 -0
  243. package/src/styles/elements/_text-field.scss +21 -0
  244. package/dist/LICENSE +0 -21
  245. package/dist/README.md +0 -438
@@ -1,2 +1,2 @@
1
1
  import { createDivider } from "./divider.js";
2
- export { createDivider };
2
+ export { createDivider, createDivider as default };
@@ -2,5 +2,5 @@
2
2
  * Drawer component module
3
3
  * @module components/drawer
4
4
  */
5
- export { default } from "./drawer.js";
5
+ export { default, default as createDrawer } from "./drawer.js";
6
6
  export type { DrawerConfig, DrawerComponent, DrawerVariant, DrawerPosition, DrawerItemConfig, DrawerSelectEvent, DrawerEvents, } from "./types.js";
@@ -1 +1 @@
1
- export { default } from "./drawer.js";
1
+ export { default, default as createDrawer } from "./drawer.js";
@@ -1,4 +1,4 @@
1
1
  /** Material list anatomy for static data. */
2
- export { default } from "./list.js";
2
+ export { default, default as createList } from "./list.js";
3
3
  export { LIST_DEFAULTS, LIST_TYPES, LIST_SELECTION_MODES, LIST_EVENTS, LIST_SCROLL_POSITIONS, LIST_CLASSES, } from "./constants.js";
4
4
  export type { ListConfig, ListItem, ListSlot, ListComponent, SelectEvent, LoadEvent, } from "./types.js";
@@ -1,2 +1,2 @@
1
- export { default } from "./list.js";
1
+ export { default, default as createList } from "./list.js";
2
2
  export { LIST_DEFAULTS, LIST_TYPES, LIST_SELECTION_MODES, LIST_EVENTS, LIST_SCROLL_POSITIONS, LIST_CLASSES, } from "./constants.js";
@@ -5,6 +5,19 @@ import type { ListComponent, ListConfig, ListItem } from "./types.js";
5
5
  * The List component provides a simple way to render static arrays of data
6
6
  * with Material item anatomy and built-in selection capabilities.
7
7
  *
8
+ * The row's corners are four custom properties, named as the button's
9
+ * `--mtrl-button-shape` and `--mtrl-button-shape-pressed`:
10
+ * `--mtrl-list-item-shape` (4px at rest), `--mtrl-list-item-shape-outer`
11
+ * (16px, the rows' outer corners and the container),
12
+ * `--mtrl-list-item-shape-hover` (12px) and `--mtrl-list-item-shape-active`
13
+ * (16px focused, pressed or selected). The list reads them and does not
14
+ * declare them, so set them on the list, on any ancestor, or on the
15
+ * `<m-list>` element. The container is rounded by
16
+ * `--mtrl-list-item-shape-outer`, so the corners show at rest on a
17
+ * background that is not the surface colour. Set that property to `0` to
18
+ * square the container and the rows' outer corners. Set the four to `0`
19
+ * for square rows.
20
+ *
8
21
  * @param config - Configuration options for the list
9
22
  * @returns List component instance
10
23
  */
@@ -18,7 +18,14 @@ export interface ListConfig<T = unknown> {
18
18
  renderItem?: (item: T, index: number) => HTMLElement;
19
19
  /**
20
20
  * Whether to track item selection
21
- * When true, clicked items will receive a selected class
21
+ * When true, clicked items will receive a selected class.
22
+ *
23
+ * With `trackSelection`, each row's action is a button with `aria-pressed`,
24
+ * inside its `listitem`. That is this option's contract and it stays: a row
25
+ * can also hold a control of the app's, and pressing the selected row again
26
+ * deselects it. A listbox of options (`role="listbox"`, `aria-selected`,
27
+ * one tab stop), which allows neither, would be a separate opt-in mode, not
28
+ * a change to this one.
22
29
  * @default true
23
30
  */
24
31
  trackSelection?: boolean;
@@ -83,6 +90,12 @@ export interface ListItem {
83
90
  overline?: string;
84
91
  supportingText?: string;
85
92
  leading?: ListSlot;
93
+ /**
94
+ * The slot at the row's end: text, an icon, or a control of the app's
95
+ * (a checkbox, a radio, a switch). It is sized by its content: a control
96
+ * that fills its container, such as a slider, is not a list-row control
97
+ * and goes outside the row.
98
+ */
86
99
  trailing?: ListSlot;
87
100
  /** Blocks user activation; programmatic selection is still allowed. */
88
101
  disabled?: boolean;
@@ -1,3 +1,3 @@
1
- export { default } from "./loading-indicator.js";
1
+ export { default, default as createLoadingIndicator } from "./loading-indicator.js";
2
2
  export type { LoadingIndicatorConfig, LoadingIndicatorComponent } from "./types.js";
3
3
  export { LOADING_INDICATOR_SHAPES, LOADING_INDICATOR_DEFAULTS } from "./constants.js";
@@ -1,2 +1,2 @@
1
- export { default } from "./loading-indicator.js";
1
+ export { default, default as createLoadingIndicator } from "./loading-indicator.js";
2
2
  export { LOADING_INDICATOR_SHAPES, LOADING_INDICATOR_DEFAULTS } from "./constants.js";
@@ -7,7 +7,7 @@
7
7
  * @module components/menu
8
8
  * @category Components
9
9
  */
10
- export { default } from "./menu.js";
10
+ export { default, default as createMenu } from "./menu.js";
11
11
  export type { MenuEvents } from "./types.js";
12
12
  export type { MenuConfig, MenuVariant, MenuComponent, MenuItem, MenuDivider, MenuGap, MenuContent, MenuEvent, MenuSelectEvent, MenuPosition } from "./types.js";
13
13
  /**
@@ -1,2 +1,2 @@
1
- export { default } from "./menu.js";
1
+ export { default, default as createMenu } from "./menu.js";
2
2
  export { MENU_POSITION, MENU_DEFAULTS, MENU_INTERACTION_TYPES, MENU_ITEM_TYPES, MENU_EVENTS, MENU_CLASSES } from "./constants.js";
@@ -1,2 +1,2 @@
1
- export { default } from "./progress.js";
1
+ export { default, default as createProgress } from "./progress.js";
2
2
  export type { ProgressConfig, ProgressVariant, ProgressComponent, ProgressShape, ProgressEvents, ProgressEventPayload } from "./types.js";
@@ -1 +1 @@
1
- export { default } from "./progress.js";
1
+ export { default, default as createProgress } from "./progress.js";
@@ -132,19 +132,29 @@ export interface ProgressEvents {
132
132
  /** The value reached the maximum */
133
133
  complete: (event: ProgressEventPayload) => void;
134
134
  }
135
+ /**
136
+ * What the progress draws with. **Not part of the public contract** (3.0.0):
137
+ * these five were on `ProgressComponent`, which tied the public type to one
138
+ * way of drawing the indicator. They are still on the object the factory
139
+ * returns, for the library's own code and tests; how the indicator is drawn
140
+ * may change in any release. The canvas is the element's own:
141
+ * `progress.element.querySelector('canvas')`. Nothing needs to call `resize`:
142
+ * the component observes its own size.
143
+ * @internal
144
+ */
145
+ export interface ProgressInternals {
146
+ /** The canvas the indicator is drawn on */
147
+ canvas: HTMLCanvasElement;
148
+ /** Re-measures the canvas and redraws; the component does this on resize */
149
+ resize: () => void;
150
+ /** The canvas again: these three named the parts of the SVG this replaced */
151
+ track: SVGElement;
152
+ indicator: SVGElement;
153
+ buffer: SVGElement;
154
+ }
135
155
  export interface ProgressComponent {
136
156
  /** The component's root DOM element */
137
157
  element: HTMLElement;
138
- /** The track element (unfilled part) - always an SVG element */
139
- track: SVGElement;
140
- /** The indicator element (filled part) - always an SVG element */
141
- indicator: SVGElement;
142
- /** The canvas the indicator is drawn on */
143
- canvas?: HTMLCanvasElement;
144
- /** Re-measures the canvas and redraws; the component does this on resize */
145
- resize?: () => void;
146
- /** The buffer element for linear variant (pre-loaded state) - always an SVG element */
147
- buffer?: SVGElement;
148
158
  /**
149
159
  * Gets a class name with the component's prefix
150
160
  * @param name - Base class name
@@ -1,3 +1,3 @@
1
- export { default } from "./radios.js";
1
+ export { default, default as createRadios } from "./radios.js";
2
2
  export type { RadiosConfig, RadiosComponent, RadiosEvents, RadiosChangePayload, RadioOptionConfig } from "./types.js";
3
3
  export { RADIO_STATES, RADIO_DIRECTIONS, RADIO_EVENTS, RADIO_DEFAULTS } from "./constants.js";
@@ -1,2 +1,2 @@
1
- export { default } from "./radios.js";
1
+ export { default, default as createRadios } from "./radios.js";
2
2
  export { RADIO_STATES, RADIO_DIRECTIONS, RADIO_EVENTS, RADIO_DEFAULTS } from "./constants.js";
@@ -1,2 +1,2 @@
1
- export { default } from "./search.js";
1
+ export { default, default as createSearch } from "./search.js";
2
2
  export type { SearchConfig, SearchComponent, SearchEvent, SearchEvents, SearchStateEvent, SearchState, SearchViewMode, SearchVariant, SearchEventType, SearchSuggestion, SearchTrailingItem, } from "./types.js";
@@ -1 +1 @@
1
- export { default } from "./search.js";
1
+ export { default, default as createSearch } from "./search.js";
@@ -7,7 +7,7 @@
7
7
  * @module components/select
8
8
  * @category Components
9
9
  */
10
- export { default } from "./select.js";
10
+ export { default, default as createSelect } from "./select.js";
11
11
  export type { SelectEvents } from "./types.js";
12
12
  export type { SelectConfig, SelectVariant, SelectComponent, SelectOption, SelectEvent, SelectChangeEvent } from "./types.js";
13
13
  /**
@@ -1,2 +1,2 @@
1
- export { default } from "./select.js";
1
+ export { default, default as createSelect } from "./select.js";
2
2
  export { SELECT_VARIANTS, SELECT_PLACEMENT, SELECT_INTERACTION, SELECT_EVENTS, SELECT_ICONS, SELECT_DEFAULTS, SELECT_CLASSES } from "./constants.js";
@@ -1,2 +1,2 @@
1
- export { default } from "./slider.js";
1
+ export { default, default as createSlider } from "./slider.js";
2
2
  export type { SliderConfig, SliderComponent, SliderEvent, SliderEvents, } from "./types.js";
@@ -1 +1 @@
1
- export { default } from "./slider.js";
1
+ export { default, default as createSlider } from "./slider.js";
@@ -171,6 +171,13 @@ export interface SliderStateComponent {
171
171
  valueBubble?: HTMLElement | null;
172
172
  secondHandle?: HTMLElement | null;
173
173
  secondValueBubble?: HTMLElement | null;
174
+ /**
175
+ * The older bag the same elements were kept in. **Internal, and not part of
176
+ * the public contract** (3.0.0): nothing in the library fills it, the
177
+ * controller and the handlers only fall back to it, and it may go in any
178
+ * release. `SliderComponent` has no `components`.
179
+ * @internal
180
+ */
174
181
  components?: Record<string, HTMLElement | null | undefined>;
175
182
  getClass: (name: string) => string;
176
183
  emit: (event: string, data: unknown) => unknown;
@@ -1,4 +1,4 @@
1
- export { default } from "./snackbar.js";
1
+ export { default, default as createSnackbar } from "./snackbar.js";
2
2
  export { clearSnackbars } from "./snackbar.js";
3
3
  export type { SnackbarConfig, SnackbarComponent, SnackbarEvent, SnackbarEvents, SnackbarPosition, SnackbarDuration, SnackbarCloseReason, SnackbarQueueBehavior, } from "./types.js";
4
4
  export { SNACKBAR_POSITIONS, SNACKBAR_DURATIONS, SNACKBAR_CLOSE_REASONS, SNACKBAR_QUEUE_BEHAVIORS, } from "./constants.js";
@@ -1,3 +1,3 @@
1
- export { default } from "./snackbar.js";
1
+ export { default, default as createSnackbar } from "./snackbar.js";
2
2
  export { clearSnackbars } from "./snackbar.js";
3
3
  export { SNACKBAR_POSITIONS, SNACKBAR_DURATIONS, SNACKBAR_CLOSE_REASONS, SNACKBAR_QUEUE_BEHAVIORS, } from "./constants.js";
@@ -1,3 +1,3 @@
1
- export { default } from "./split-button.js";
1
+ export { default, default as createSplitButton } from "./split-button.js";
2
2
  export type { SplitButtonConfig, SplitButtonComponent, SplitButtonEvent, SplitButtonVariant, SplitButtonSize, } from "./types.js";
3
3
  export { SPLIT_BUTTON_VARIANTS, SPLIT_BUTTON_SIZES, SPLIT_BUTTON_EVENTS, } from "./constants.js";
@@ -1,2 +1,2 @@
1
- export { default } from "./split-button.js";
1
+ export { default, default as createSplitButton } from "./split-button.js";
2
2
  export { SPLIT_BUTTON_VARIANTS, SPLIT_BUTTON_SIZES, SPLIT_BUTTON_EVENTS, } from "./constants.js";
@@ -1,3 +1,3 @@
1
- export { default } from "./switch.js";
1
+ export { default, default as createSwitch } from "./switch.js";
2
2
  export { SWITCH_LABEL_POSITIONS, SWITCH_STATES, SWITCH_EVENTS, SWITCH_DEFAULTS, SWITCH_CLASSES } from "./constants.js";
3
3
  export type { SwitchConfig, SwitchComponent, SwitchEvents, SwitchChangePayload } from "./types.js";
@@ -1,2 +1,2 @@
1
- export { default } from "./switch.js";
1
+ export { default, default as createSwitch } from "./switch.js";
2
2
  export { SWITCH_LABEL_POSITIONS, SWITCH_STATES, SWITCH_EVENTS, SWITCH_DEFAULTS, SWITCH_CLASSES } from "./constants.js";
@@ -8,4 +8,5 @@ export { tabIdFor, tabPanelIdFor };
8
8
  export type { ResponsiveConfig } from "./responsive.js";
9
9
  export type { TabIndicator } from "./indicator.js";
10
10
  export default createTabs;
11
+ export { createTabs };
11
12
  export { createTab } from "./tab.js";
@@ -5,4 +5,5 @@ export { TAB_VARIANTS, TAB_STATES, TAB_INDICATOR_WIDTH_STRATEGIES, TAB_EVENTS, T
5
5
  export { setupResponsiveBehavior };
6
6
  export { tabIdFor, tabPanelIdFor };
7
7
  export default createTabs;
8
+ export { createTabs };
8
9
  export { createTab } from "./tab.js";
@@ -287,8 +287,17 @@ export interface TabComponent {
287
287
  element: HTMLElement;
288
288
  /** The button the tab is built on */
289
289
  button?: TabButton;
290
- /** The tab's badge component (if any) */
291
- badge?: BadgeComponent;
290
+ /**
291
+ * The tab's badge component, or `undefined`. **It may be undefined until
292
+ * the badge is shown**, whatever the `badge` option said: the contract
293
+ * (3.0.0) is that a tab creates its badge no later than when it shows it,
294
+ * so that a later release can create it only then. Today it exists from
295
+ * the first `setBadge()`, or from creation with the `badge` option. To set,
296
+ * read, show or hide the badge, use `setBadge()`, `getBadge()`,
297
+ * `showBadge()` and `hideBadge()`, which work whether it exists yet or not;
298
+ * check this for `undefined` before reading it.
299
+ */
300
+ badge?: BadgeComponent | undefined;
292
301
  /** Gets a class name with the component's prefix */
293
302
  getClass: (name: string) => string;
294
303
  /** Gets the tab's value attribute */
@@ -323,7 +332,10 @@ export interface TabComponent {
323
332
  showBadge: () => TabComponent;
324
333
  /** Hides the tab's badge */
325
334
  hideBadge: () => TabComponent;
326
- /** Gets the badge component instance */
335
+ /**
336
+ * Gets the badge component instance, or `undefined`: it may not exist
337
+ * until the badge is shown (see `badge`)
338
+ */
327
339
  getBadgeComponent: () => BadgeComponent | undefined;
328
340
  /** Updates the tab's layout style based on content */
329
341
  updateLayoutStyle: () => void;
@@ -67,16 +67,15 @@ export const withPlacement = () => (component) => {
67
67
  const isOutlined = has("outlined");
68
68
  const isFocused = has("focused");
69
69
  const isEmpty = has("empty");
70
- const rtl = isOutlined ? getComputedStyle(element).direction === "rtl" : false;
70
+ const rtl = globalThis.getComputedStyle?.(element).direction === "rtl";
71
71
  const labelWidth = isOutlined && labelEl ? labelEl.offsetWidth : 0;
72
72
  const affixes = [prefixEl, suffixEl].map((affix) => affix?.getBoundingClientRect().width);
73
73
  return () => {
74
74
  if (destroyed)
75
75
  return;
76
- if (isOutlined) {
76
+ if (isOutlined)
77
77
  ensureOutline();
78
- element.classList.toggle(`${PREFIX}-${COMPONENT}--rtl`, rtl);
79
- }
78
+ element.classList.toggle(`${PREFIX}-${COMPONENT}--rtl`, rtl);
80
79
  if (outline && notch) {
81
80
  if (labelWidth > 0)
82
81
  notch.style.width = `${labelWidth * FLOATED_LABEL_SCALE + NOTCH_PADDING * 2}px`;
@@ -118,8 +117,11 @@ export const withPlacement = () => (component) => {
118
117
  const needsPlacement = has("outlined") ||
119
118
  has("with-leading-icon") ||
120
119
  component.element.querySelector(`.${PREFIX}-${COMPONENT}__prefix, .${PREFIX}-${COMPONENT}__suffix`) !== null;
120
+ const inShadowRoot = () => (component.element.getRootNode().host ? measure() : () => { });
121
121
  if (needsPlacement)
122
122
  schedulePositionUpdate();
123
+ else
124
+ schedule(inShadowRoot);
123
125
  if ("lifecycle" in component && component.lifecycle?.destroy) {
124
126
  const originalDestroy = component.lifecycle.destroy;
125
127
  component.lifecycle.destroy = () => {
@@ -127,6 +129,7 @@ export const withPlacement = () => (component) => {
127
129
  return;
128
130
  destroyed = true;
129
131
  pending.delete(measure);
132
+ pending.delete(inShadowRoot);
130
133
  if (!pending.size && flushing !== null) {
131
134
  clearTimeout(flushing);
132
135
  flushing = null;
@@ -1,4 +1,4 @@
1
- export { default } from "./timepicker.js";
1
+ export { default, default as createTimePicker } from "./timepicker.js";
2
2
  export { TIMEPICKER_TYPES, TIMEPICKER_ORIENTATIONS, TIMEPICKER_FORMATS, TIMEPICKER_PERIODS, TIMEPICKER_EVENTS, TIMEPICKER_VALUES, TIMEPICKER_SELECTORS, TIMEPICKER_ICONS, TIMEPICKER_DEFAULTS } from "./constants.js";
3
3
  export type { TimePickerConfig, TimePickerComponent, TimeValue, TimePickerEvents, TimePickerValueEvent, TimePickerInputEvent, TimePickerTapPayload, TimePickerSwipePayload } from "./types.js";
4
4
  export { TIME_PICKER_TYPE, TIME_PICKER_ORIENTATION, TIME_FORMAT, TIME_PERIOD } from "./types.js";
@@ -1,3 +1,3 @@
1
- export { default } from "./timepicker.js";
1
+ export { default, default as createTimePicker } from "./timepicker.js";
2
2
  export { TIMEPICKER_TYPES, TIMEPICKER_ORIENTATIONS, TIMEPICKER_FORMATS, TIMEPICKER_PERIODS, TIMEPICKER_EVENTS, TIMEPICKER_VALUES, TIMEPICKER_SELECTORS, TIMEPICKER_ICONS, TIMEPICKER_DEFAULTS } from "./constants.js";
3
3
  export { TIME_PICKER_TYPE, TIME_PICKER_ORIENTATION, TIME_FORMAT, TIME_PERIOD } from "./types.js";
@@ -1,3 +1,3 @@
1
- export { default } from "./tooltip.js";
1
+ export { default, default as createTooltip } from "./tooltip.js";
2
2
  export { TOOLTIP_POSITIONS, TOOLTIP_VARIANTS, TOOLTIP_EVENTS, TOOLTIP_DEFAULTS, TOOLTIP_CLASSES } from "./constants.js";
3
3
  export type { TooltipConfig, TooltipVariant, TooltipComponent } from "./types.js";
@@ -1,2 +1,2 @@
1
- export { default } from "./tooltip.js";
1
+ export { default, default as createTooltip } from "./tooltip.js";
2
2
  export { TOOLTIP_POSITIONS, TOOLTIP_VARIANTS, TOOLTIP_EVENTS, TOOLTIP_DEFAULTS, TOOLTIP_CLASSES } from "./constants.js";
@@ -11,7 +11,7 @@ export const withTextInput = (config = {}) => (component) => {
11
11
  maxLength: config.maxLength,
12
12
  pattern: config.pattern,
13
13
  autocomplete: config.autocomplete,
14
- value: config.value || "",
14
+ value: isMultiline ? undefined : config.value || "",
15
15
  placeholder: config.placeholder || " ",
16
16
  };
17
17
  if (!isMultiline) {
@@ -32,6 +32,8 @@ export const withTextInput = (config = {}) => (component) => {
32
32
  }
33
33
  }
34
34
  });
35
+ if (isMultiline)
36
+ input.defaultValue = config.value || "";
35
37
  const updateInputState = () => {
36
38
  const isEmpty = !input.value;
37
39
  component.element.classList.toggle(`${component.getClass("text-field")}--empty`, isEmpty);
@@ -8,6 +8,6 @@ export { createBase, withElement } from "./component.js";
8
8
  export { withEvents, withIcon, withSize, withPosition, withText, withVariant, withDisabled, withLifecycle, withRipple, withInput, withCheckable, withStyle, withTextInput, withTextLabel, withTrack, withEnhancedEvents, withThrottle, withDebounce, } from "./features/index.js";
9
9
  export type { Component } from "./base.js";
10
10
  export type { BaseComponent, BaseConfig, ElementComponent, TouchState, WithElementOptions, } from "./component.js";
11
- export type { EventComponent, TextComponent, IconComponent, LifecycleComponent, Lifecycle, DisabledComponent, DisabledManager, RippleComponent, InputComponent, CheckableComponent, CheckableManager, TextInputComponent, LabelComponent, TrackComponent, EnhancedEventComponent, ThrottleComponent, ThrottleConfig, DebounceComponent, DebounceConfig, } from "./features/index.js";
11
+ export type { EventComponent, TextComponent, IconComponent, LifecycleComponent, Lifecycle, DisabledComponent, DisabledManager, RippleComponent, InputComponent, CheckableComponent, CheckableManager, TextInputComponent, LabelComponent, LabelManager, TrackComponent, EnhancedEventComponent, ThrottleComponent, ThrottleConfig, DebounceComponent, DebounceConfig, } from "./features/index.js";
12
12
  export { hasLifecycle, hasEmit } from "./utils/type-guards.js";
13
13
  export type { ComponentWithLifecycle, ComponentWithEmit, } from "./utils/type-guards.js";
@@ -21,7 +21,7 @@ export interface HTMLPolicy {
21
21
  * configureHTML({ sanitize: (html) => DOMPurify.sanitize(html) });
22
22
  *
23
23
  * // Trusted Types: a policy the page's CSP allows
24
- * const trusted = window.trustedTypes.createPolicy('mtrl', { createHTML: (html) => DOMPurify.sanitize(html) });
24
+ * const trusted = window.trustedTypes.createPolicy('app', { createHTML: (html) => DOMPurify.sanitize(html) });
25
25
  * configureHTML({ sanitize: (html) => trusted.createHTML(html) });
26
26
  */
27
27
  export declare const configureHTML: (next: HTMLPolicy | null) => void;
@@ -1 +1 @@
1
- .mtrl-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:58px;height:40px;padding:0 16px;border:none;border-radius:var(--mtrl-button-shape, 20px);background-color:rgba(0,0,0,0);color:inherit;font:inherit;text-decoration:none;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;will-change:border-radius;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500;transition:background-color 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),color 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),box-shadow 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),border-color 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),border-radius 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1)}.mtrl-button:focus{outline:none}.mtrl-button:focus-visible{outline:3px solid var(--mtrl-sys-color-secondary);outline-offset:2px}.mtrl-button:disabled{pointer-events:none;color:color-mix(in srgb, var(--mtrl-sys-color-on-surface-variant) 38%, transparent);background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 10%, transparent);box-shadow:none}.mtrl-button:disabled .mtrl-button__icon{color:color-mix(in srgb, var(--mtrl-sys-color-on-surface-variant) 38%, transparent)}.mtrl-button::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:0;pointer-events:none;border-radius:inherit;transition:opacity 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-button:hover::before{opacity:.08}.mtrl-button:focus-visible::before{opacity:.1}.mtrl-button:active:not(:has(>.mtrl-ripple))::before,.mtrl-button--active:not(:has(>.mtrl-ripple))::before{opacity:.1}.mtrl-button__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px}.mtrl-button__icon svg{width:100%;height:100%}.mtrl-button__progress{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px}.mtrl-button__progress.mtrl-progress{width:20px;height:20px;transition:opacity 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-button__progress .mtrl-progress__canvas{color:currentColor}.mtrl-button__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mtrl-button--xs{height:32px;padding:0 12px;gap:8px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500;border-radius:var(--mtrl-button-shape, 16px)}.mtrl-button--xs .mtrl-button__icon,.mtrl-button--xs .mtrl-button__progress,.mtrl-button--xs .mtrl-button__progress.mtrl-progress{width:20px;height:20px}.mtrl-button--xs.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--xs.mtrl-button--outlined{border-width:1px}.mtrl-button--s{height:40px;padding:0 16px;gap:8px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500;border-radius:var(--mtrl-button-shape, 20px)}.mtrl-button--s .mtrl-button__icon,.mtrl-button--s .mtrl-button__progress,.mtrl-button--s .mtrl-button__progress.mtrl-progress{width:20px;height:20px}.mtrl-button--s.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--s.mtrl-button--outlined{border-width:1px}.mtrl-button--m{height:56px;padding:0 24px;gap:8px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500;border-radius:var(--mtrl-button-shape, 28px)}.mtrl-button--m .mtrl-button__icon,.mtrl-button--m .mtrl-button__progress,.mtrl-button--m .mtrl-button__progress.mtrl-progress{width:24px;height:24px}.mtrl-button--m.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--m.mtrl-button--outlined{border-width:1px}.mtrl-button--l{height:96px;padding:0 48px;gap:12px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:24px;line-height:32px;letter-spacing:0;font-weight:400;border-radius:var(--mtrl-button-shape, 48px)}.mtrl-button--l .mtrl-button__icon,.mtrl-button--l .mtrl-button__progress,.mtrl-button--l .mtrl-button__progress.mtrl-progress{width:32px;height:32px}.mtrl-button--l.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--l.mtrl-button--outlined{border-width:2px}.mtrl-button--xl{height:136px;padding:0 64px;gap:16px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:32px;line-height:40px;letter-spacing:0;font-weight:400;border-radius:var(--mtrl-button-shape, 68px)}.mtrl-button--xl .mtrl-button__icon,.mtrl-button--xl .mtrl-button__progress,.mtrl-button--xl .mtrl-button__progress.mtrl-progress{width:40px;height:40px}.mtrl-button--xl.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--xl.mtrl-button--outlined{border-width:3px}.mtrl-button--s.mtrl-button--icon{padding-left:12px}.mtrl-button--s.mtrl-button--icon:has(.mtrl-button__icon--end){padding-left:16px;padding-right:12px}.mtrl-button--xs::after,.mtrl-button--s::after{content:"";position:absolute;left:0;right:0;top:50%;height:48px;transform:translateY(-50%)}.mtrl-button:active,.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px));box-shadow:none}.mtrl-button--xs:active,.mtrl-button--xs.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--s:active,.mtrl-button--s.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--m:active,.mtrl-button--m.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--l:active,.mtrl-button--l.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--xl:active,.mtrl-button--xl.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--filled{color:var(--mtrl-sys-color-on-primary)}.mtrl-button--elevated{color:var(--mtrl-sys-color-primary)}.mtrl-button--tonal{color:var(--mtrl-sys-color-on-secondary-container)}.mtrl-button--outlined{color:var(--mtrl-sys-color-on-surface-variant)}.mtrl-button--text{color:var(--mtrl-button-text-color, var(--mtrl-sys-color-primary))}.mtrl-button--filled{background-color:var(--mtrl-sys-color-primary)}.mtrl-button--filled:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--filled:active,.mtrl-button--filled.mtrl-button--active,.mtrl-button--filled:disabled{box-shadow:none}.mtrl-button--elevated{background-color:var(--mtrl-sys-color-surface-container-low);box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--elevated:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 2px 6px 2px rgba(0,0,0,.15)}.mtrl-button--elevated:active,.mtrl-button--elevated.mtrl-button--active{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--elevated:disabled{box-shadow:none}.mtrl-button--tonal{background-color:var(--mtrl-sys-color-secondary-container)}.mtrl-button--tonal:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--tonal:active,.mtrl-button--tonal.mtrl-button--active,.mtrl-button--tonal:disabled{box-shadow:none}.mtrl-button--outlined{border:1px solid var(--mtrl-sys-color-outline-variant)}.mtrl-button--outlined:disabled{background-color:rgba(0,0,0,0);border-color:color-mix(in srgb, var(--mtrl-sys-color-outline-variant) 10%, transparent)}.mtrl-button--text{padding:0 12px}.mtrl-button--text.mtrl-button--icon{padding:0 16px 0 12px}.mtrl-button--text.mtrl-button--icon:has(.mtrl-button__icon--end){padding:0 12px 0 16px}.mtrl-button--text.mtrl-button--m{padding:0 24px}.mtrl-button--text.mtrl-button--l{padding:0 48px}.mtrl-button--text.mtrl-button--xl{padding:0 64px}.mtrl-button--text:disabled{background-color:rgba(0,0,0,0)}.mtrl-button--toggle.mtrl-button--filled,.mtrl-button--toggle.mtrl-button--filled:hover,.mtrl-button--toggle.mtrl-button--filled:active,.mtrl-button--toggle.mtrl-button--filled.mtrl-button--active,.mtrl-button--toggle.mtrl-button--tonal,.mtrl-button--toggle.mtrl-button--tonal:hover,.mtrl-button--toggle.mtrl-button--tonal:active,.mtrl-button--toggle.mtrl-button--tonal.mtrl-button--active{box-shadow:none}.mtrl-button--toggle.mtrl-button--filled{background-color:var(--mtrl-sys-color-surface-container);color:var(--mtrl-sys-color-on-surface-variant)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--filled{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--elevated{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--tonal{background-color:var(--mtrl-sys-color-secondary);color:var(--mtrl-sys-color-on-secondary)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--outlined{background-color:var(--mtrl-sys-color-inverse-surface);color:var(--mtrl-sys-color-inverse-on-surface)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--outlined{border-color:rgba(0,0,0,0)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xs{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--s{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--m{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--l{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xl{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--xs{border-radius:var(--mtrl-button-shape-selected, 16px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--s{border-radius:var(--mtrl-button-shape-selected, 20px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--m{border-radius:var(--mtrl-button-shape-selected, 28px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--l{border-radius:var(--mtrl-button-shape-selected, 48px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--xl{border-radius:var(--mtrl-button-shape-selected, 68px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xs:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xs.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--s:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--s.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--m:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--m.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--l:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--l.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xl:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xl.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--toggle:disabled,.mtrl-button--toggle.mtrl-button--selected:disabled{color:color-mix(in srgb, var(--mtrl-sys-color-on-surface-variant) 38%, transparent);background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 10%, transparent);border-color:color-mix(in srgb, var(--mtrl-sys-color-outline-variant) 10%, transparent);box-shadow:none}.mtrl-button--toggle.mtrl-button--outlined:disabled{background-color:rgba(0,0,0,0)}.mtrl-button--circular{flex:none !important;border-radius:50%;padding:8px;min-width:unset;width:40px !important;height:40px}.mtrl-button--circular:active,.mtrl-button--circular.mtrl-button--active{border-radius:50%}.mtrl-button--circular:active.mtrl-button--square,.mtrl-button--circular.mtrl-button--active.mtrl-button--square{border-radius:var(--mtrl-sys-shape-corner-medium, 12px) !important}.mtrl-button--circular.mtrl-button--square{border-radius:var(--mtrl-sys-shape-corner-medium, 12px)}.mtrl-button--circular.mtrl-button--xs{width:32px;height:32px;padding:0}.mtrl-button--circular.mtrl-button--s{width:40px;height:40px;padding:0}.mtrl-button--circular.mtrl-button--m{width:56px;height:56px;padding:0}.mtrl-button--circular.mtrl-button--l{width:96px;height:96px;padding:0}.mtrl-button--circular.mtrl-button--xl{width:136px;height:136px;padding:0}.mtrl-button--circular .mtrl-button__text{display:none}.mtrl-button--circular.mtrl-button--progress{padding:0 !important}.mtrl-button[disabled].mtrl-button--progress .mtrl-button__progress{opacity:.7}
1
+ .mtrl-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:58px;height:40px;padding:0 16px;border:none;border-radius:var(--mtrl-button-shape, 20px);background-color:rgba(0,0,0,0);color:inherit;font:inherit;text-decoration:none;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;will-change:border-radius;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500;transition:background-color 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),color 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),box-shadow 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),border-color 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),border-radius 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1)}.mtrl-button:focus{outline:none}.mtrl-button:focus-visible{outline:3px solid var(--mtrl-sys-color-secondary);outline-offset:2px}.mtrl-button:disabled{pointer-events:none;color:color-mix(in srgb, var(--mtrl-sys-color-on-surface-variant) 38%, transparent);background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 10%, transparent);box-shadow:none}.mtrl-button:disabled .mtrl-button__icon{color:color-mix(in srgb, var(--mtrl-sys-color-on-surface-variant) 38%, transparent)}.mtrl-button::before{content:"";position:absolute;inset:0;background-color:currentColor;opacity:0;pointer-events:none;border-radius:inherit;transition:opacity 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-button:hover::before{opacity:.08}.mtrl-button:focus-visible::before{opacity:.1}.mtrl-button:active:not(:has(>.mtrl-ripple))::before,.mtrl-button--active:not(:has(>.mtrl-ripple))::before{opacity:.1}.mtrl-button__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px}.mtrl-button__icon svg{width:100%;height:100%}.mtrl-button__progress{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px}.mtrl-button__progress.mtrl-progress{width:20px;height:20px;transition:opacity 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-button__progress .mtrl-progress__canvas{color:currentColor}.mtrl-button__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mtrl-button--xs{height:32px;padding:0 12px;gap:4px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500;border-radius:var(--mtrl-button-shape, 16px)}.mtrl-button--xs .mtrl-button__icon,.mtrl-button--xs .mtrl-button__progress,.mtrl-button--xs .mtrl-button__progress.mtrl-progress{width:20px;height:20px}.mtrl-button--xs.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--xs.mtrl-button--outlined{border-width:1px}.mtrl-button--s{height:40px;padding:0 16px;gap:8px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500;border-radius:var(--mtrl-button-shape, 20px)}.mtrl-button--s .mtrl-button__icon,.mtrl-button--s .mtrl-button__progress,.mtrl-button--s .mtrl-button__progress.mtrl-progress{width:20px;height:20px}.mtrl-button--s.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--s.mtrl-button--outlined{border-width:1px}.mtrl-button--m{height:56px;padding:0 24px;gap:8px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500;border-radius:var(--mtrl-button-shape, 28px)}.mtrl-button--m .mtrl-button__icon,.mtrl-button--m .mtrl-button__progress,.mtrl-button--m .mtrl-button__progress.mtrl-progress{width:24px;height:24px}.mtrl-button--m.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--m.mtrl-button--outlined{border-width:1px}.mtrl-button--l{height:96px;padding:0 48px;gap:12px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:24px;line-height:32px;letter-spacing:0;font-weight:400;border-radius:var(--mtrl-button-shape, 48px)}.mtrl-button--l .mtrl-button__icon,.mtrl-button--l .mtrl-button__progress,.mtrl-button--l .mtrl-button__progress.mtrl-progress{width:32px;height:32px}.mtrl-button--l.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--l.mtrl-button--outlined{border-width:2px}.mtrl-button--xl{height:136px;padding:0 64px;gap:16px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:32px;line-height:40px;letter-spacing:0;font-weight:400;border-radius:var(--mtrl-button-shape, 68px)}.mtrl-button--xl .mtrl-button__icon,.mtrl-button--xl .mtrl-button__progress,.mtrl-button--xl .mtrl-button__progress.mtrl-progress{width:40px;height:40px}.mtrl-button--xl.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--xl.mtrl-button--outlined{border-width:3px}.mtrl-button--s.mtrl-button--icon{padding-inline-start:12px}.mtrl-button--s.mtrl-button--icon:has(.mtrl-button__icon--end){padding-inline-start:16px;padding-inline-end:12px}.mtrl-button--xs::after,.mtrl-button--s::after{content:"";position:absolute;left:0;right:0;top:50%;height:48px;transform:translateY(-50%)}.mtrl-button:active,.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px));box-shadow:none}.mtrl-button--xs:active,.mtrl-button--xs.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--s:active,.mtrl-button--s.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--m:active,.mtrl-button--m.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--l:active,.mtrl-button--l.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--xl:active,.mtrl-button--xl.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--filled{color:var(--mtrl-sys-color-on-primary)}.mtrl-button--elevated{color:var(--mtrl-sys-color-primary)}.mtrl-button--tonal{color:var(--mtrl-sys-color-on-secondary-container)}.mtrl-button--outlined{color:var(--mtrl-sys-color-on-surface-variant)}.mtrl-button--text{color:var(--mtrl-button-text-color, var(--mtrl-sys-color-primary))}.mtrl-button--filled{background-color:var(--mtrl-sys-color-primary)}.mtrl-button--filled:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--filled:active,.mtrl-button--filled.mtrl-button--active,.mtrl-button--filled:disabled{box-shadow:none}.mtrl-button--elevated{background-color:var(--mtrl-sys-color-surface-container-low);box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--elevated:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 2px 6px 2px rgba(0,0,0,.15)}.mtrl-button--elevated:active,.mtrl-button--elevated.mtrl-button--active{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--elevated:disabled{box-shadow:none}.mtrl-button--tonal{background-color:var(--mtrl-sys-color-secondary-container)}.mtrl-button--tonal:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--tonal:active,.mtrl-button--tonal.mtrl-button--active,.mtrl-button--tonal:disabled{box-shadow:none}.mtrl-button--outlined{border:1px solid var(--mtrl-sys-color-outline-variant)}.mtrl-button--outlined:disabled{background-color:rgba(0,0,0,0);border-color:color-mix(in srgb, var(--mtrl-sys-color-outline-variant) 10%, transparent)}.mtrl-button--text{padding:0 12px}.mtrl-button--text.mtrl-button--icon{padding-inline:12px 16px}.mtrl-button--text.mtrl-button--icon:has(.mtrl-button__icon--end){padding-inline:16px 12px}.mtrl-button--text.mtrl-button--m{padding:0 24px}.mtrl-button--text.mtrl-button--l{padding:0 48px}.mtrl-button--text.mtrl-button--xl{padding:0 64px}.mtrl-button--text:disabled{background-color:rgba(0,0,0,0)}.mtrl-button--toggle.mtrl-button--filled,.mtrl-button--toggle.mtrl-button--filled:hover,.mtrl-button--toggle.mtrl-button--filled:active,.mtrl-button--toggle.mtrl-button--filled.mtrl-button--active,.mtrl-button--toggle.mtrl-button--tonal,.mtrl-button--toggle.mtrl-button--tonal:hover,.mtrl-button--toggle.mtrl-button--tonal:active,.mtrl-button--toggle.mtrl-button--tonal.mtrl-button--active{box-shadow:none}.mtrl-button--toggle.mtrl-button--filled{background-color:var(--mtrl-sys-color-surface-container);color:var(--mtrl-sys-color-on-surface-variant)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--filled{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--elevated{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--tonal{background-color:var(--mtrl-sys-color-secondary);color:var(--mtrl-sys-color-on-secondary)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--outlined{background-color:var(--mtrl-sys-color-inverse-surface);color:var(--mtrl-sys-color-inverse-on-surface)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--outlined{border-color:rgba(0,0,0,0)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xs{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--s{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--m{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--l{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xl{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--xs{border-radius:var(--mtrl-button-shape-selected, 16px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--s{border-radius:var(--mtrl-button-shape-selected, 20px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--m{border-radius:var(--mtrl-button-shape-selected, 28px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--l{border-radius:var(--mtrl-button-shape-selected, 48px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--xl{border-radius:var(--mtrl-button-shape-selected, 68px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xs:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xs.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--s:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--s.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--m:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--m.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--l:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--l.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xl:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xl.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--toggle:disabled,.mtrl-button--toggle.mtrl-button--selected:disabled{color:color-mix(in srgb, var(--mtrl-sys-color-on-surface-variant) 38%, transparent);background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 10%, transparent);border-color:color-mix(in srgb, var(--mtrl-sys-color-outline-variant) 10%, transparent);box-shadow:none}.mtrl-button--toggle.mtrl-button--outlined:disabled{background-color:rgba(0,0,0,0)}.mtrl-button--circular{flex:none !important;border-radius:50%;padding:8px;min-width:unset;width:40px !important;height:40px}.mtrl-button--circular:active,.mtrl-button--circular.mtrl-button--active{border-radius:50%}.mtrl-button--circular:active.mtrl-button--square,.mtrl-button--circular.mtrl-button--active.mtrl-button--square{border-radius:var(--mtrl-sys-shape-corner-medium, 12px) !important}.mtrl-button--circular.mtrl-button--square{border-radius:var(--mtrl-sys-shape-corner-medium, 12px)}.mtrl-button--circular.mtrl-button--xs{width:32px;height:32px;padding:0}.mtrl-button--circular.mtrl-button--s{width:40px;height:40px;padding:0}.mtrl-button--circular.mtrl-button--m{width:56px;height:56px;padding:0}.mtrl-button--circular.mtrl-button--l{width:96px;height:96px;padding:0}.mtrl-button--circular.mtrl-button--xl{width:136px;height:136px;padding:0}.mtrl-button--circular .mtrl-button__text{display:none}.mtrl-button--circular.mtrl-button--progress{padding:0 !important}.mtrl-button[disabled].mtrl-button--progress .mtrl-button__progress{opacity:.7}
@@ -1,4 +1,4 @@
1
1
  import "./ripple.js";
2
2
  import "./progress.js";
3
3
  import { registerStyles } from "../styles.js";
4
- registerStyles({ "button": ".mtrl-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:58px;height:40px;padding:0 16px;border:none;border-radius:var(--mtrl-button-shape, 20px);background-color:rgba(0,0,0,0);color:inherit;font:inherit;text-decoration:none;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;will-change:border-radius;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500;transition:background-color 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),color 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),box-shadow 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),border-color 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),border-radius 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1)}.mtrl-button:focus{outline:none}.mtrl-button:focus-visible{outline:3px solid var(--mtrl-sys-color-secondary);outline-offset:2px}.mtrl-button:disabled{pointer-events:none;color:color-mix(in srgb, var(--mtrl-sys-color-on-surface-variant) 38%, transparent);background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 10%, transparent);box-shadow:none}.mtrl-button:disabled .mtrl-button__icon{color:color-mix(in srgb, var(--mtrl-sys-color-on-surface-variant) 38%, transparent)}.mtrl-button::before{content:\"\";position:absolute;inset:0;background-color:currentColor;opacity:0;pointer-events:none;border-radius:inherit;transition:opacity 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-button:hover::before{opacity:.08}.mtrl-button:focus-visible::before{opacity:.1}.mtrl-button:active:not(:has(>.mtrl-ripple))::before,.mtrl-button--active:not(:has(>.mtrl-ripple))::before{opacity:.1}.mtrl-button__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px}.mtrl-button__icon svg{width:100%;height:100%}.mtrl-button__progress{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px}.mtrl-button__progress.mtrl-progress{width:20px;height:20px;transition:opacity 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-button__progress .mtrl-progress__canvas{color:currentColor}.mtrl-button__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mtrl-button--xs{height:32px;padding:0 12px;gap:8px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500;border-radius:var(--mtrl-button-shape, 16px)}.mtrl-button--xs .mtrl-button__icon,.mtrl-button--xs .mtrl-button__progress,.mtrl-button--xs .mtrl-button__progress.mtrl-progress{width:20px;height:20px}.mtrl-button--xs.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--xs.mtrl-button--outlined{border-width:1px}.mtrl-button--s{height:40px;padding:0 16px;gap:8px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500;border-radius:var(--mtrl-button-shape, 20px)}.mtrl-button--s .mtrl-button__icon,.mtrl-button--s .mtrl-button__progress,.mtrl-button--s .mtrl-button__progress.mtrl-progress{width:20px;height:20px}.mtrl-button--s.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--s.mtrl-button--outlined{border-width:1px}.mtrl-button--m{height:56px;padding:0 24px;gap:8px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500;border-radius:var(--mtrl-button-shape, 28px)}.mtrl-button--m .mtrl-button__icon,.mtrl-button--m .mtrl-button__progress,.mtrl-button--m .mtrl-button__progress.mtrl-progress{width:24px;height:24px}.mtrl-button--m.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--m.mtrl-button--outlined{border-width:1px}.mtrl-button--l{height:96px;padding:0 48px;gap:12px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:24px;line-height:32px;letter-spacing:0;font-weight:400;border-radius:var(--mtrl-button-shape, 48px)}.mtrl-button--l .mtrl-button__icon,.mtrl-button--l .mtrl-button__progress,.mtrl-button--l .mtrl-button__progress.mtrl-progress{width:32px;height:32px}.mtrl-button--l.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--l.mtrl-button--outlined{border-width:2px}.mtrl-button--xl{height:136px;padding:0 64px;gap:16px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:32px;line-height:40px;letter-spacing:0;font-weight:400;border-radius:var(--mtrl-button-shape, 68px)}.mtrl-button--xl .mtrl-button__icon,.mtrl-button--xl .mtrl-button__progress,.mtrl-button--xl .mtrl-button__progress.mtrl-progress{width:40px;height:40px}.mtrl-button--xl.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--xl.mtrl-button--outlined{border-width:3px}.mtrl-button--s.mtrl-button--icon{padding-left:12px}.mtrl-button--s.mtrl-button--icon:has(.mtrl-button__icon--end){padding-left:16px;padding-right:12px}.mtrl-button--xs::after,.mtrl-button--s::after{content:\"\";position:absolute;left:0;right:0;top:50%;height:48px;transform:translateY(-50%)}.mtrl-button:active,.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px));box-shadow:none}.mtrl-button--xs:active,.mtrl-button--xs.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--s:active,.mtrl-button--s.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--m:active,.mtrl-button--m.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--l:active,.mtrl-button--l.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--xl:active,.mtrl-button--xl.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--filled{color:var(--mtrl-sys-color-on-primary)}.mtrl-button--elevated{color:var(--mtrl-sys-color-primary)}.mtrl-button--tonal{color:var(--mtrl-sys-color-on-secondary-container)}.mtrl-button--outlined{color:var(--mtrl-sys-color-on-surface-variant)}.mtrl-button--text{color:var(--mtrl-button-text-color, var(--mtrl-sys-color-primary))}.mtrl-button--filled{background-color:var(--mtrl-sys-color-primary)}.mtrl-button--filled:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--filled:active,.mtrl-button--filled.mtrl-button--active,.mtrl-button--filled:disabled{box-shadow:none}.mtrl-button--elevated{background-color:var(--mtrl-sys-color-surface-container-low);box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--elevated:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 2px 6px 2px rgba(0,0,0,.15)}.mtrl-button--elevated:active,.mtrl-button--elevated.mtrl-button--active{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--elevated:disabled{box-shadow:none}.mtrl-button--tonal{background-color:var(--mtrl-sys-color-secondary-container)}.mtrl-button--tonal:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--tonal:active,.mtrl-button--tonal.mtrl-button--active,.mtrl-button--tonal:disabled{box-shadow:none}.mtrl-button--outlined{border:1px solid var(--mtrl-sys-color-outline-variant)}.mtrl-button--outlined:disabled{background-color:rgba(0,0,0,0);border-color:color-mix(in srgb, var(--mtrl-sys-color-outline-variant) 10%, transparent)}.mtrl-button--text{padding:0 12px}.mtrl-button--text.mtrl-button--icon{padding:0 16px 0 12px}.mtrl-button--text.mtrl-button--icon:has(.mtrl-button__icon--end){padding:0 12px 0 16px}.mtrl-button--text.mtrl-button--m{padding:0 24px}.mtrl-button--text.mtrl-button--l{padding:0 48px}.mtrl-button--text.mtrl-button--xl{padding:0 64px}.mtrl-button--text:disabled{background-color:rgba(0,0,0,0)}.mtrl-button--toggle.mtrl-button--filled,.mtrl-button--toggle.mtrl-button--filled:hover,.mtrl-button--toggle.mtrl-button--filled:active,.mtrl-button--toggle.mtrl-button--filled.mtrl-button--active,.mtrl-button--toggle.mtrl-button--tonal,.mtrl-button--toggle.mtrl-button--tonal:hover,.mtrl-button--toggle.mtrl-button--tonal:active,.mtrl-button--toggle.mtrl-button--tonal.mtrl-button--active{box-shadow:none}.mtrl-button--toggle.mtrl-button--filled{background-color:var(--mtrl-sys-color-surface-container);color:var(--mtrl-sys-color-on-surface-variant)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--filled{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--elevated{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--tonal{background-color:var(--mtrl-sys-color-secondary);color:var(--mtrl-sys-color-on-secondary)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--outlined{background-color:var(--mtrl-sys-color-inverse-surface);color:var(--mtrl-sys-color-inverse-on-surface)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--outlined{border-color:rgba(0,0,0,0)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xs{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--s{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--m{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--l{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xl{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--xs{border-radius:var(--mtrl-button-shape-selected, 16px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--s{border-radius:var(--mtrl-button-shape-selected, 20px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--m{border-radius:var(--mtrl-button-shape-selected, 28px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--l{border-radius:var(--mtrl-button-shape-selected, 48px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--xl{border-radius:var(--mtrl-button-shape-selected, 68px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xs:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xs.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--s:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--s.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--m:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--m.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--l:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--l.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xl:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xl.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--toggle:disabled,.mtrl-button--toggle.mtrl-button--selected:disabled{color:color-mix(in srgb, var(--mtrl-sys-color-on-surface-variant) 38%, transparent);background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 10%, transparent);border-color:color-mix(in srgb, var(--mtrl-sys-color-outline-variant) 10%, transparent);box-shadow:none}.mtrl-button--toggle.mtrl-button--outlined:disabled{background-color:rgba(0,0,0,0)}.mtrl-button--circular{flex:none !important;border-radius:50%;padding:8px;min-width:unset;width:40px !important;height:40px}.mtrl-button--circular:active,.mtrl-button--circular.mtrl-button--active{border-radius:50%}.mtrl-button--circular:active.mtrl-button--square,.mtrl-button--circular.mtrl-button--active.mtrl-button--square{border-radius:var(--mtrl-sys-shape-corner-medium, 12px) !important}.mtrl-button--circular.mtrl-button--square{border-radius:var(--mtrl-sys-shape-corner-medium, 12px)}.mtrl-button--circular.mtrl-button--xs{width:32px;height:32px;padding:0}.mtrl-button--circular.mtrl-button--s{width:40px;height:40px;padding:0}.mtrl-button--circular.mtrl-button--m{width:56px;height:56px;padding:0}.mtrl-button--circular.mtrl-button--l{width:96px;height:96px;padding:0}.mtrl-button--circular.mtrl-button--xl{width:136px;height:136px;padding:0}.mtrl-button--circular .mtrl-button__text{display:none}.mtrl-button--circular.mtrl-button--progress{padding:0 !important}.mtrl-button[disabled].mtrl-button--progress .mtrl-button__progress{opacity:.7}" });
4
+ registerStyles({ "button": ".mtrl-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:58px;height:40px;padding:0 16px;border:none;border-radius:var(--mtrl-button-shape, 20px);background-color:rgba(0,0,0,0);color:inherit;font:inherit;text-decoration:none;cursor:pointer;user-select:none;vertical-align:middle;appearance:none;will-change:border-radius;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500;transition:background-color 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),color 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),box-shadow 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),border-color 250ms linear(0, 0.066, 0.203, 0.355, 0.496, 0.616, 0.713, 0.788, 0.845, 0.888, 0.92, 0.943, 0.96, 0.971, 0.98, 0.986, 0.99, 0.993, 0.995, 0.997, 0.998, 0.998, 0.999, 0.999, 1),border-radius 425ms linear(0, 0.102, 0.323, 0.57, 0.784, 0.942, 1.039, 1.085, 1.094, 1.082, 1.06, 1.037, 1.018, 1.004, 0.995, 0.992, 0.991, 0.992, 0.995, 0.997, 0.999, 1, 1.001, 1.001, 1)}.mtrl-button:focus{outline:none}.mtrl-button:focus-visible{outline:3px solid var(--mtrl-sys-color-secondary);outline-offset:2px}.mtrl-button:disabled{pointer-events:none;color:color-mix(in srgb, var(--mtrl-sys-color-on-surface-variant) 38%, transparent);background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 10%, transparent);box-shadow:none}.mtrl-button:disabled .mtrl-button__icon{color:color-mix(in srgb, var(--mtrl-sys-color-on-surface-variant) 38%, transparent)}.mtrl-button::before{content:\"\";position:absolute;inset:0;background-color:currentColor;opacity:0;pointer-events:none;border-radius:inherit;transition:opacity 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-button:hover::before{opacity:.08}.mtrl-button:focus-visible::before{opacity:.1}.mtrl-button:active:not(:has(>.mtrl-ripple))::before,.mtrl-button--active:not(:has(>.mtrl-ripple))::before{opacity:.1}.mtrl-button__icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px}.mtrl-button__icon svg{width:100%;height:100%}.mtrl-button__progress{display:inline-flex;align-items:center;justify-content:center;flex:none;width:20px;height:20px}.mtrl-button__progress.mtrl-progress{width:20px;height:20px;transition:opacity 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-button__progress .mtrl-progress__canvas{color:currentColor}.mtrl-button__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mtrl-button--xs{height:32px;padding:0 12px;gap:4px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500;border-radius:var(--mtrl-button-shape, 16px)}.mtrl-button--xs .mtrl-button__icon,.mtrl-button--xs .mtrl-button__progress,.mtrl-button--xs .mtrl-button__progress.mtrl-progress{width:20px;height:20px}.mtrl-button--xs.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--xs.mtrl-button--outlined{border-width:1px}.mtrl-button--s{height:40px;padding:0 16px;gap:8px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500;border-radius:var(--mtrl-button-shape, 20px)}.mtrl-button--s .mtrl-button__icon,.mtrl-button--s .mtrl-button__progress,.mtrl-button--s .mtrl-button__progress.mtrl-progress{width:20px;height:20px}.mtrl-button--s.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--s.mtrl-button--outlined{border-width:1px}.mtrl-button--m{height:56px;padding:0 24px;gap:8px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500;border-radius:var(--mtrl-button-shape, 28px)}.mtrl-button--m .mtrl-button__icon,.mtrl-button--m .mtrl-button__progress,.mtrl-button--m .mtrl-button__progress.mtrl-progress{width:24px;height:24px}.mtrl-button--m.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--m.mtrl-button--outlined{border-width:1px}.mtrl-button--l{height:96px;padding:0 48px;gap:12px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:24px;line-height:32px;letter-spacing:0;font-weight:400;border-radius:var(--mtrl-button-shape, 48px)}.mtrl-button--l .mtrl-button__icon,.mtrl-button--l .mtrl-button__progress,.mtrl-button--l .mtrl-button__progress.mtrl-progress{width:32px;height:32px}.mtrl-button--l.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--l.mtrl-button--outlined{border-width:2px}.mtrl-button--xl{height:136px;padding:0 64px;gap:16px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:32px;line-height:40px;letter-spacing:0;font-weight:400;border-radius:var(--mtrl-button-shape, 68px)}.mtrl-button--xl .mtrl-button__icon,.mtrl-button--xl .mtrl-button__progress,.mtrl-button--xl .mtrl-button__progress.mtrl-progress{width:40px;height:40px}.mtrl-button--xl.mtrl-button--square{border-radius:var(--mtrl-button-shape, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--xl.mtrl-button--outlined{border-width:3px}.mtrl-button--s.mtrl-button--icon{padding-inline-start:12px}.mtrl-button--s.mtrl-button--icon:has(.mtrl-button__icon--end){padding-inline-start:16px;padding-inline-end:12px}.mtrl-button--xs::after,.mtrl-button--s::after{content:\"\";position:absolute;left:0;right:0;top:50%;height:48px;transform:translateY(-50%)}.mtrl-button:active,.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px));box-shadow:none}.mtrl-button--xs:active,.mtrl-button--xs.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--s:active,.mtrl-button--s.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--m:active,.mtrl-button--m.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--l:active,.mtrl-button--l.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--xl:active,.mtrl-button--xl.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--filled{color:var(--mtrl-sys-color-on-primary)}.mtrl-button--elevated{color:var(--mtrl-sys-color-primary)}.mtrl-button--tonal{color:var(--mtrl-sys-color-on-secondary-container)}.mtrl-button--outlined{color:var(--mtrl-sys-color-on-surface-variant)}.mtrl-button--text{color:var(--mtrl-button-text-color, var(--mtrl-sys-color-primary))}.mtrl-button--filled{background-color:var(--mtrl-sys-color-primary)}.mtrl-button--filled:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--filled:active,.mtrl-button--filled.mtrl-button--active,.mtrl-button--filled:disabled{box-shadow:none}.mtrl-button--elevated{background-color:var(--mtrl-sys-color-surface-container-low);box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--elevated:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 2px 6px 2px rgba(0,0,0,.15)}.mtrl-button--elevated:active,.mtrl-button--elevated.mtrl-button--active{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--elevated:disabled{box-shadow:none}.mtrl-button--tonal{background-color:var(--mtrl-sys-color-secondary-container)}.mtrl-button--tonal:hover{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-button--tonal:active,.mtrl-button--tonal.mtrl-button--active,.mtrl-button--tonal:disabled{box-shadow:none}.mtrl-button--outlined{border:1px solid var(--mtrl-sys-color-outline-variant)}.mtrl-button--outlined:disabled{background-color:rgba(0,0,0,0);border-color:color-mix(in srgb, var(--mtrl-sys-color-outline-variant) 10%, transparent)}.mtrl-button--text{padding:0 12px}.mtrl-button--text.mtrl-button--icon{padding-inline:12px 16px}.mtrl-button--text.mtrl-button--icon:has(.mtrl-button__icon--end){padding-inline:16px 12px}.mtrl-button--text.mtrl-button--m{padding:0 24px}.mtrl-button--text.mtrl-button--l{padding:0 48px}.mtrl-button--text.mtrl-button--xl{padding:0 64px}.mtrl-button--text:disabled{background-color:rgba(0,0,0,0)}.mtrl-button--toggle.mtrl-button--filled,.mtrl-button--toggle.mtrl-button--filled:hover,.mtrl-button--toggle.mtrl-button--filled:active,.mtrl-button--toggle.mtrl-button--filled.mtrl-button--active,.mtrl-button--toggle.mtrl-button--tonal,.mtrl-button--toggle.mtrl-button--tonal:hover,.mtrl-button--toggle.mtrl-button--tonal:active,.mtrl-button--toggle.mtrl-button--tonal.mtrl-button--active{box-shadow:none}.mtrl-button--toggle.mtrl-button--filled{background-color:var(--mtrl-sys-color-surface-container);color:var(--mtrl-sys-color-on-surface-variant)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--filled{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--elevated{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--tonal{background-color:var(--mtrl-sys-color-secondary);color:var(--mtrl-sys-color-on-secondary)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--outlined{background-color:var(--mtrl-sys-color-inverse-surface);color:var(--mtrl-sys-color-inverse-on-surface)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--outlined{border-color:rgba(0,0,0,0)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xs{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--s{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--m{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--l{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xl{border-radius:var(--mtrl-button-shape-selected, var(--mtrl-sys-shape-corner-extra-large, 28px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--xs{border-radius:var(--mtrl-button-shape-selected, 16px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--s{border-radius:var(--mtrl-button-shape-selected, 20px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--m{border-radius:var(--mtrl-button-shape-selected, 28px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--l{border-radius:var(--mtrl-button-shape-selected, 48px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--square.mtrl-button--xl{border-radius:var(--mtrl-button-shape-selected, 68px)}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xs:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xs.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--s:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--s.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-small, 8px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--m:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--m.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-medium, 12px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--l:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--l.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xl:active,.mtrl-button--toggle.mtrl-button--selected.mtrl-button--xl.mtrl-button--active{border-radius:var(--mtrl-button-shape-pressed, var(--mtrl-sys-shape-corner-large, 16px))}.mtrl-button--toggle:disabled,.mtrl-button--toggle.mtrl-button--selected:disabled{color:color-mix(in srgb, var(--mtrl-sys-color-on-surface-variant) 38%, transparent);background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 10%, transparent);border-color:color-mix(in srgb, var(--mtrl-sys-color-outline-variant) 10%, transparent);box-shadow:none}.mtrl-button--toggle.mtrl-button--outlined:disabled{background-color:rgba(0,0,0,0)}.mtrl-button--circular{flex:none !important;border-radius:50%;padding:8px;min-width:unset;width:40px !important;height:40px}.mtrl-button--circular:active,.mtrl-button--circular.mtrl-button--active{border-radius:50%}.mtrl-button--circular:active.mtrl-button--square,.mtrl-button--circular.mtrl-button--active.mtrl-button--square{border-radius:var(--mtrl-sys-shape-corner-medium, 12px) !important}.mtrl-button--circular.mtrl-button--square{border-radius:var(--mtrl-sys-shape-corner-medium, 12px)}.mtrl-button--circular.mtrl-button--xs{width:32px;height:32px;padding:0}.mtrl-button--circular.mtrl-button--s{width:40px;height:40px;padding:0}.mtrl-button--circular.mtrl-button--m{width:56px;height:56px;padding:0}.mtrl-button--circular.mtrl-button--l{width:96px;height:96px;padding:0}.mtrl-button--circular.mtrl-button--xl{width:136px;height:136px;padding:0}.mtrl-button--circular .mtrl-button__text{display:none}.mtrl-button--circular.mtrl-button--progress{padding:0 !important}.mtrl-button[disabled].mtrl-button--progress .mtrl-button__progress{opacity:.7}" });
@@ -1 +1 @@
1
- .mtrl-card{position:relative;display:flex;flex-direction:column;box-sizing:border-box;border-radius:var(--mtrl-sys-shape-corner-medium, 12px);background-color:var(--mtrl-sys-color-surface);color:var(--mtrl-sys-color-on-surface);overflow:hidden;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400;transition:box-shadow 100ms cubic-bezier(0.2, 0, 0, 1),background-color 100ms cubic-bezier(0.2, 0, 0, 1),border-color 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-card:focus-visible:focus-visible{outline:2px solid var(--mtrl-sys-color-secondary);outline-offset:2px;box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-card--focused:focus-visible{outline:2px solid var(--mtrl-sys-color-secondary);outline-offset:2px;box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-card .ripple{position:absolute;border-radius:50%;transform:scale(0);pointer-events:none;background-color:currentColor;opacity:.08}.mtrl-card>:not(:last-child){margin-bottom:0}.mtrl-card--elevated{background-color:var(--mtrl-sys-color-surface-container-low);box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-card--elevated:hover.mtrl-card--interactive{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 2px 6px 2px rgba(0,0,0,.15)}.mtrl-card--elevated:active.mtrl-card--interactive{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15);position:relative}.mtrl-card--elevated:active.mtrl-card--interactive:not(:has(>.mtrl-ripple))::before{content:"";position:absolute;inset:0;background-color:var(--mtrl-sys-color-on-surface);opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-card--elevated.mtrl-card--dragging{box-shadow:0px 2px 3px rgba(0,0,0,.3),0px 6px 10px 4px rgba(0,0,0,.15)}.mtrl-card--elevated.mtrl-card--state-disabled{background-color:var(--mtrl-sys-color-surface);box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-card--filled{background-color:var(--mtrl-sys-color-surface-container-highest);box-shadow:none}.mtrl-card--filled:hover.mtrl-card--interactive{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15);position:relative}.mtrl-card--filled:hover.mtrl-card--interactive::before{content:"";position:absolute;inset:0;background-color:var(--mtrl-sys-color-on-surface);opacity:.08;pointer-events:none;border-radius:inherit}.mtrl-card--filled:active.mtrl-card--interactive{box-shadow:none;position:relative}.mtrl-card--filled:active.mtrl-card--interactive:not(:has(>.mtrl-ripple))::before{content:"";position:absolute;inset:0;background-color:var(--mtrl-sys-color-on-surface);opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-card--filled.mtrl-card--dragging{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}.mtrl-card--filled.mtrl-card--state-disabled{background-color:var(--mtrl-sys-color-surface-variant)}.mtrl-card--outlined{border:1px solid var(--mtrl-sys-color-outline-variant);background-color:var(--mtrl-sys-color-surface);box-shadow:none}.mtrl-card--outlined:hover.mtrl-card--interactive{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15);position:relative;border-color:var(--mtrl-sys-color-outline-variant)}.mtrl-card--outlined:hover.mtrl-card--interactive::before{content:"";position:absolute;inset:0;background-color:var(--mtrl-sys-color-on-surface);opacity:.08;pointer-events:none;border-radius:inherit}.mtrl-card--outlined:focus-visible,.mtrl-card--outlined.mtrl-card--focused{border-color:var(--mtrl-sys-color-on-surface)}.mtrl-card--outlined:active.mtrl-card--interactive{box-shadow:none;position:relative;border-color:var(--mtrl-sys-color-outline-variant)}.mtrl-card--outlined:active.mtrl-card--interactive:not(:has(>.mtrl-ripple))::before{content:"";position:absolute;inset:0;background-color:var(--mtrl-sys-color-on-surface);opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-card--outlined.mtrl-card--dragging{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}.mtrl-card--outlined.mtrl-card--state-disabled{border-color:color-mix(in srgb, var(--mtrl-sys-color-outline) 12%, transparent)}.mtrl-card--interactive{cursor:pointer;user-select:none}.mtrl-card--full-width{width:100%}.mtrl-card--small{width:344px}.mtrl-card--medium{width:480px}.mtrl-card--large{width:624px}.mtrl-card__header{display:flex;align-items:center;padding:16px;padding-bottom:0}.mtrl-card__header-avatar{margin-right:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.mtrl-card__header-avatar img{width:40px;height:40px;border-radius:50%;object-fit:cover}.mtrl-card__header-text{flex:1;overflow:hidden}.mtrl-card__header-title{margin:0;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:22px;line-height:28px;letter-spacing:0;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mtrl-sys-color-on-surface)}.mtrl-card__header-subtitle{margin:0;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mtrl-sys-color-on-surface-variant)}.mtrl-card__header-action{margin-left:8px;flex-shrink:0}.mtrl-card__media{position:relative;overflow:hidden;border-radius:var(--mtrl-sys-shape-corner-medium, 12px)}.mtrl-card__media-img{display:block;width:100%;object-fit:cover}.mtrl-card__media--16-9{aspect-ratio:16/9}.mtrl-card__media--16-9 img{height:100%}.mtrl-card__media--4-3{aspect-ratio:4/3}.mtrl-card__media--4-3 img{height:100%}.mtrl-card__media--1-1{aspect-ratio:1/1}.mtrl-card__media--1-1 img{height:100%}.mtrl-card__media--contain img{object-fit:contain}.mtrl-card__content{padding:16px;flex:1 1 auto}.mtrl-card__content>*:first-child{margin-top:0}.mtrl-card__content>*:last-child{margin-bottom:0}.mtrl-card__media+.mtrl-card__content:not(.mtrl-card__content--no-padding){padding-top:16px}.mtrl-card__content--no-padding{padding:0}.mtrl-card__actions{display:flex;flex-wrap:wrap;padding:8px;align-items:center}.mtrl-card__actions>*{margin:0 4px}.mtrl-card__actions>*:first-child{margin-left:8px}.mtrl-card__actions>*:last-child{margin-right:8px}.mtrl-card__actions--full-bleed{padding:0}.mtrl-card__actions--full-bleed>*{margin:0;border-radius:0;flex:1 1 auto}.mtrl-card__actions--full-bleed>*:first-child{margin-left:0}.mtrl-card__actions--full-bleed>*:last-child{margin-right:0}.mtrl-card__actions--vertical{flex-direction:column}.mtrl-card__actions--vertical>*{width:100%;margin:4px 0}.mtrl-card__actions--vertical>*:first-child{margin-top:8px}.mtrl-card__actions--vertical>*:last-child{margin-bottom:8px}.mtrl-card__actions--center{justify-content:center}.mtrl-card__actions--end{justify-content:flex-end}.mtrl-card__actions--space-between{justify-content:space-between}.mtrl-card--state-disabled{opacity:.38;pointer-events:none}.mtrl-card--state-loading{pointer-events:none}.mtrl-card--dragging{cursor:grabbing}.mtrl-card__loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:color-mix(in srgb, var(--mtrl-sys-color-surface) 70%, transparent);z-index:1}.mtrl-card__loading-spinner{width:40px;height:40px;border-radius:50%;border:3px solid color-mix(in srgb, var(--mtrl-sys-color-primary) 20%, transparent);border-top-color:var(--mtrl-sys-color-primary);animation:card-spinner 1s infinite linear}.mtrl-card__expandable-content{overflow:hidden;transition:max-height 250ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-card__expand-button{background:none;border:none;padding:8px;cursor:pointer;color:var(--mtrl-sys-color-primary);display:inline-flex;align-items:center;justify-content:center}.mtrl-card__expand-button::before{content:"";display:inline-block;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-card__expand-button[aria-expanded=true]::before{transform:rotate(-135deg)}.mtrl-card--swipeable{touch-action:pan-y;transition:transform 250ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-card__swipe-left-action,.mtrl-card__swipe-right-action{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}@keyframes card-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@media(max-width: 599px){.mtrl-card{width:100%}}
1
+ .mtrl-card{position:relative;display:flex;flex-direction:column;box-sizing:border-box;border-radius:var(--mtrl-sys-shape-corner-medium, 12px);background-color:var(--mtrl-sys-color-surface);color:var(--mtrl-sys-color-on-surface);overflow:hidden;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400;transition:box-shadow 100ms cubic-bezier(0.2, 0, 0, 1),background-color 100ms cubic-bezier(0.2, 0, 0, 1),border-color 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-card:focus-visible:focus-visible{outline:2px solid var(--mtrl-sys-color-secondary);outline-offset:2px;box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-card--focused:focus-visible{outline:2px solid var(--mtrl-sys-color-secondary);outline-offset:2px;box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-card .ripple{position:absolute;border-radius:50%;transform:scale(0);pointer-events:none;background-color:currentColor;opacity:.08}.mtrl-card>:not(:last-child){margin-bottom:0}.mtrl-card--elevated{background-color:var(--mtrl-sys-color-surface-container-low);box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-card--elevated:hover.mtrl-card--interactive{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 2px 6px 2px rgba(0,0,0,.15)}.mtrl-card--elevated:active.mtrl-card--interactive{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}:where(.mtrl-card--elevated:active.mtrl-card--interactive){position:relative}.mtrl-card--elevated:active.mtrl-card--interactive:not(:has(>.mtrl-ripple))::before{content:"";position:absolute;inset:0;background-color:var(--mtrl-sys-color-on-surface);opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-card--elevated.mtrl-card--dragging{box-shadow:0px 2px 3px rgba(0,0,0,.3),0px 6px 10px 4px rgba(0,0,0,.15)}.mtrl-card--elevated.mtrl-card--state-disabled{background-color:var(--mtrl-sys-color-surface);box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}.mtrl-card--filled{background-color:var(--mtrl-sys-color-surface-container-highest);box-shadow:none}.mtrl-card--filled:hover.mtrl-card--interactive{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}:where(.mtrl-card--filled:hover.mtrl-card--interactive){position:relative}.mtrl-card--filled:hover.mtrl-card--interactive::before{content:"";position:absolute;inset:0;background-color:var(--mtrl-sys-color-on-surface);opacity:.08;pointer-events:none;border-radius:inherit}.mtrl-card--filled:active.mtrl-card--interactive{box-shadow:none}:where(.mtrl-card--filled:active.mtrl-card--interactive){position:relative}.mtrl-card--filled:active.mtrl-card--interactive:not(:has(>.mtrl-ripple))::before{content:"";position:absolute;inset:0;background-color:var(--mtrl-sys-color-on-surface);opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-card--filled.mtrl-card--dragging{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}.mtrl-card--filled.mtrl-card--state-disabled{background-color:var(--mtrl-sys-color-surface-variant)}.mtrl-card--outlined{border:1px solid var(--mtrl-sys-color-outline-variant);background-color:var(--mtrl-sys-color-surface);box-shadow:none}.mtrl-card--outlined:hover.mtrl-card--interactive{box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15);border-color:var(--mtrl-sys-color-outline-variant)}:where(.mtrl-card--outlined:hover.mtrl-card--interactive){position:relative}.mtrl-card--outlined:hover.mtrl-card--interactive::before{content:"";position:absolute;inset:0;background-color:var(--mtrl-sys-color-on-surface);opacity:.08;pointer-events:none;border-radius:inherit}.mtrl-card--outlined:focus-visible,.mtrl-card--outlined.mtrl-card--focused{border-color:var(--mtrl-sys-color-on-surface)}.mtrl-card--outlined:active.mtrl-card--interactive{box-shadow:none;border-color:var(--mtrl-sys-color-outline-variant)}:where(.mtrl-card--outlined:active.mtrl-card--interactive){position:relative}.mtrl-card--outlined:active.mtrl-card--interactive:not(:has(>.mtrl-ripple))::before{content:"";position:absolute;inset:0;background-color:var(--mtrl-sys-color-on-surface);opacity:.1;pointer-events:none;border-radius:inherit}.mtrl-card--outlined.mtrl-card--dragging{box-shadow:0px 1px 3px rgba(0,0,0,.3),0px 4px 8px 3px rgba(0,0,0,.15)}.mtrl-card--outlined.mtrl-card--state-disabled{border-color:color-mix(in srgb, var(--mtrl-sys-color-outline) 12%, transparent)}.mtrl-card--interactive{cursor:pointer;user-select:none}.mtrl-card--full-width{width:100%}.mtrl-card--small{width:344px}.mtrl-card--medium{width:480px}.mtrl-card--large{width:624px}.mtrl-card__header{display:flex;align-items:center;padding:16px;padding-bottom:0}.mtrl-card__header-avatar{margin-right:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.mtrl-card__header-avatar img{width:40px;height:40px;border-radius:50%;object-fit:cover}.mtrl-card__header-text{flex:1;overflow:hidden}.mtrl-card__header-title{margin:0;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:22px;line-height:28px;letter-spacing:0;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mtrl-sys-color-on-surface)}.mtrl-card__header-subtitle{margin:0;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--mtrl-sys-color-on-surface-variant)}.mtrl-card__header-action{margin-left:8px;flex-shrink:0}.mtrl-card__media{position:relative;overflow:hidden;border-radius:var(--mtrl-sys-shape-corner-medium, 12px)}.mtrl-card__media-img{display:block;width:100%;object-fit:cover}.mtrl-card__media--16-9{aspect-ratio:16/9}.mtrl-card__media--16-9 img{height:100%}.mtrl-card__media--4-3{aspect-ratio:4/3}.mtrl-card__media--4-3 img{height:100%}.mtrl-card__media--1-1{aspect-ratio:1/1}.mtrl-card__media--1-1 img{height:100%}.mtrl-card__media--contain img{object-fit:contain}.mtrl-card__content{padding:16px;flex:1 1 auto}.mtrl-card__content>*:first-child{margin-top:0}.mtrl-card__content>*:last-child{margin-bottom:0}.mtrl-card__media+.mtrl-card__content:not(.mtrl-card__content--no-padding){padding-top:16px}.mtrl-card__content--no-padding{padding:0}.mtrl-card__actions{display:flex;flex-wrap:wrap;padding:8px;align-items:center}.mtrl-card__actions>*{margin:0 4px}.mtrl-card__actions>*:first-child{margin-left:8px}.mtrl-card__actions>*:last-child{margin-right:8px}.mtrl-card__actions--full-bleed{padding:0}.mtrl-card__actions--full-bleed>*{margin:0;border-radius:0;flex:1 1 auto}.mtrl-card__actions--full-bleed>*:first-child{margin-left:0}.mtrl-card__actions--full-bleed>*:last-child{margin-right:0}.mtrl-card__actions--vertical{flex-direction:column}.mtrl-card__actions--vertical>*{width:100%;margin:4px 0}.mtrl-card__actions--vertical>*:first-child{margin-top:8px}.mtrl-card__actions--vertical>*:last-child{margin-bottom:8px}.mtrl-card__actions--center{justify-content:center}.mtrl-card__actions--end{justify-content:flex-end}.mtrl-card__actions--space-between{justify-content:space-between}.mtrl-card--state-disabled{opacity:.38;pointer-events:none}.mtrl-card--state-loading{pointer-events:none}.mtrl-card--dragging{cursor:grabbing}.mtrl-card__loading-overlay{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background-color:color-mix(in srgb, var(--mtrl-sys-color-surface) 70%, transparent);z-index:1}.mtrl-card__loading-spinner{width:40px;height:40px;border-radius:50%;border:3px solid color-mix(in srgb, var(--mtrl-sys-color-primary) 20%, transparent);border-top-color:var(--mtrl-sys-color-primary);animation:card-spinner 1s infinite linear}.mtrl-card__expandable-content{overflow:hidden;transition:max-height 250ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-card__expand-button{background:none;border:none;padding:8px;cursor:pointer;color:var(--mtrl-sys-color-primary);display:inline-flex;align-items:center;justify-content:center}.mtrl-card__expand-button::before{content:"";display:inline-block;width:10px;height:10px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);transition:transform 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-card__expand-button[aria-expanded=true]::before{transform:rotate(-135deg)}.mtrl-card--swipeable{touch-action:pan-y;transition:transform 250ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-card__swipe-left-action,.mtrl-card__swipe-right-action{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border:0}@keyframes card-spinner{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}@media(max-width: 599px){.mtrl-card{width:100%}}