mtrl 0.10.4 → 0.10.6

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 (230) hide show
  1. package/README.md +15 -5
  2. package/dist/README.md +15 -5
  3. package/dist/components/bottom-app-bar/bottom-app-bar.js +2 -1
  4. package/dist/components/bottom-app-bar/index.d.ts +3 -1
  5. package/dist/components/button/api.js +3 -0
  6. package/dist/components/button/constants.d.ts +2 -0
  7. package/dist/components/button/index.d.ts +1 -0
  8. package/dist/components/button/types.d.ts +7 -1
  9. package/dist/components/button-group/button-group.js +25 -6
  10. package/dist/components/button-group/config.js +2 -2
  11. package/dist/components/button-group/constants.d.ts +8 -2
  12. package/dist/components/button-group/index.d.ts +1 -0
  13. package/dist/components/button-group/types.d.ts +5 -1
  14. package/dist/components/card/index.d.ts +21 -3
  15. package/dist/components/card/index.js +1 -1
  16. package/dist/components/card/types.d.ts +20 -4
  17. package/dist/components/carousel/api.d.ts +1 -0
  18. package/dist/components/carousel/api.js +4 -0
  19. package/dist/components/carousel/features/scroll.d.ts +1 -0
  20. package/dist/components/carousel/features/scroll.js +117 -2
  21. package/dist/components/carousel/types.d.ts +11 -0
  22. package/dist/components/checkbox/api.js +3 -0
  23. package/dist/components/checkbox/config.js +1 -0
  24. package/dist/components/checkbox/types.d.ts +8 -2
  25. package/dist/components/chips/types.d.ts +10 -2
  26. package/dist/components/datepicker/index.d.ts +3 -1
  27. package/dist/components/datepicker/index.js +1 -1
  28. package/dist/components/extended-fab/api.d.ts +2 -0
  29. package/dist/components/extended-fab/api.js +3 -0
  30. package/dist/components/extended-fab/config.d.ts +1 -0
  31. package/dist/components/extended-fab/config.js +1 -0
  32. package/dist/components/extended-fab/types.d.ts +2 -0
  33. package/dist/components/fab/api.d.ts +2 -0
  34. package/dist/components/fab/api.js +3 -0
  35. package/dist/components/fab/config.d.ts +1 -0
  36. package/dist/components/fab/config.js +1 -0
  37. package/dist/components/fab/constants.d.ts +2 -1
  38. package/dist/components/fab/types.d.ts +2 -0
  39. package/dist/components/fab-menu/fab-menu.js +2 -1
  40. package/dist/components/icon-button/api.js +3 -0
  41. package/dist/components/icon-button/constants.d.ts +2 -0
  42. package/dist/components/icon-button/types.d.ts +5 -0
  43. package/dist/components/index.d.ts +18 -5
  44. package/dist/components/index.js +2 -1
  45. package/dist/components/list/types.d.ts +5 -3
  46. package/dist/components/menu/features/keyboard.js +8 -5
  47. package/dist/components/menu/features/opener.js +1 -1
  48. package/dist/components/menu/index.d.ts +1 -0
  49. package/dist/components/navigation-rail/types.d.ts +2 -0
  50. package/dist/components/progress/features/canvas.js +1 -1
  51. package/dist/components/progress/features/colors.d.ts +2 -1
  52. package/dist/components/progress/features/colors.js +20 -10
  53. package/dist/components/radios/api.d.ts +1 -0
  54. package/dist/components/radios/api.js +3 -0
  55. package/dist/components/radios/constants.d.ts +9 -9
  56. package/dist/components/radios/radio.d.ts +1 -0
  57. package/dist/components/radios/radio.js +1 -0
  58. package/dist/components/radios/types.d.ts +10 -3
  59. package/dist/components/search/features/states.d.ts +2 -0
  60. package/dist/components/search/features/states.js +12 -1
  61. package/dist/components/search/features/structure.js +2 -0
  62. package/dist/components/search/types.d.ts +6 -6
  63. package/dist/components/segmented-button/config.js +2 -2
  64. package/dist/components/select/api.js +3 -0
  65. package/dist/components/select/constants.d.ts +1 -1
  66. package/dist/components/select/features.js +2 -0
  67. package/dist/components/select/index.d.ts +1 -0
  68. package/dist/components/select/types.d.ts +6 -0
  69. package/dist/components/split-button/types.d.ts +5 -1
  70. package/dist/components/switch/api.js +3 -0
  71. package/dist/components/switch/config.js +1 -0
  72. package/dist/components/switch/index.d.ts +6 -2
  73. package/dist/components/switch/index.js +1 -1
  74. package/dist/components/switch/types.d.ts +6 -2
  75. package/dist/components/tabs/config.js +2 -2
  76. package/dist/components/tabs/index.d.ts +36 -3
  77. package/dist/components/tabs/index.js +2 -1
  78. package/dist/components/tabs/tab.js +8 -1
  79. package/dist/components/tabs/types.d.ts +3 -1
  80. package/dist/components/tabs/utils.js +2 -1
  81. package/dist/components/textfield/api.d.ts +5 -0
  82. package/dist/components/textfield/api.js +209 -188
  83. package/dist/components/textfield/config.js +4 -3
  84. package/dist/components/textfield/constants.d.ts +24 -7
  85. package/dist/components/textfield/constants.js +9 -7
  86. package/dist/components/textfield/features/index.d.ts +3 -1
  87. package/dist/components/textfield/features/index.js +1 -0
  88. package/dist/components/textfield/features/leading-icon.js +1 -0
  89. package/dist/components/textfield/features/placement.js +15 -2
  90. package/dist/components/textfield/features/required.d.ts +33 -0
  91. package/dist/components/textfield/features/required.js +50 -0
  92. package/dist/components/textfield/features/supporting-text.js +43 -21
  93. package/dist/components/textfield/features/trailing-icon.d.ts +23 -1
  94. package/dist/components/textfield/features/trailing-icon.js +39 -5
  95. package/dist/components/textfield/index.d.ts +16 -1
  96. package/dist/components/textfield/index.js +1 -0
  97. package/dist/components/textfield/textfield.js +2 -2
  98. package/dist/components/textfield/types.d.ts +33 -3
  99. package/dist/components/timepicker/types.d.ts +2 -1
  100. package/dist/components/toolbar/toolbar.js +2 -1
  101. package/dist/components/tooltip/api.js +20 -18
  102. package/dist/components/tooltip/constants.d.ts +4 -1
  103. package/dist/components/top-app-bar/index.d.ts +3 -1
  104. package/dist/components/top-app-bar/top-app-bar.d.ts +2 -57
  105. package/dist/components/top-app-bar/top-app-bar.js +2 -1
  106. package/dist/core/compose/features/input.d.ts +9 -2
  107. package/dist/core/utils/theme.d.ts +6 -2
  108. package/dist/core/utils/theme.js +12 -19
  109. package/dist/elements/carousel.d.ts +5 -0
  110. package/dist/elements/carousel.js +1 -0
  111. package/dist/elements/css/textfield.js +1 -1
  112. package/dist/elements/define.d.ts +8 -0
  113. package/dist/elements/define.js +2 -1
  114. package/dist/elements/dialog.js +1 -1
  115. package/dist/elements/icon-button.d.ts +3 -2
  116. package/dist/elements/index.d.ts +15 -4
  117. package/dist/elements/index.js +2 -1
  118. package/dist/elements/preupgrade.css +1 -1
  119. package/dist/elements/textfield.d.ts +1 -1
  120. package/dist/elements/textfield.js +1 -1
  121. package/dist/index.cjs +0 -0
  122. package/dist/package.json +1 -1
  123. package/dist/react/dialog.d.ts +3 -0
  124. package/dist/react/dialog.js +3 -0
  125. package/dist/react/index.d.ts +4 -1
  126. package/dist/react/index.js +2 -1
  127. package/dist/solid/dialog.d.ts +3 -0
  128. package/dist/solid/dialog.js +3 -0
  129. package/dist/solid/index.d.ts +4 -1
  130. package/dist/solid/index.js +2 -1
  131. package/dist/styles/badge.css +1 -1
  132. package/dist/styles/base.css +2 -2
  133. package/dist/styles/bottom-app-bar.css +1 -1
  134. package/dist/styles/bottom-sheet.css +1 -1
  135. package/dist/styles/button-group.css +1 -1
  136. package/dist/styles/button.css +1 -1
  137. package/dist/styles/card.css +1 -1
  138. package/dist/styles/carousel.css +1 -1
  139. package/dist/styles/checkbox.css +1 -1
  140. package/dist/styles/chips.css +1 -1
  141. package/dist/styles/datepicker.css +1 -1
  142. package/dist/styles/dialog.css +1 -1
  143. package/dist/styles/divider.css +1 -1
  144. package/dist/styles/drawer.css +1 -1
  145. package/dist/styles/extended-fab.css +1 -1
  146. package/dist/styles/fab-menu.css +1 -1
  147. package/dist/styles/fab.css +1 -1
  148. package/dist/styles/icon-button.css +1 -1
  149. package/dist/styles/list.css +1 -1
  150. package/dist/styles/loading-indicator.css +1 -1
  151. package/dist/styles/menu.css +1 -1
  152. package/dist/styles/navigation-rail.css +1 -1
  153. package/dist/styles/progress.css +1 -1
  154. package/dist/styles/radios.css +1 -1
  155. package/dist/styles/search.css +1 -1
  156. package/dist/styles/segmented-button.css +1 -1
  157. package/dist/styles/select.css +1 -1
  158. package/dist/styles/side-sheet.css +1 -1
  159. package/dist/styles/slider.css +1 -1
  160. package/dist/styles/snackbar.css +1 -1
  161. package/dist/styles/split-button.css +1 -1
  162. package/dist/styles/switch.css +1 -1
  163. package/dist/styles/tabs.css +1 -1
  164. package/dist/styles/textfield.css +2 -2
  165. package/dist/styles/timepicker.css +1 -1
  166. package/dist/styles/toolbar.css +1 -1
  167. package/dist/styles/tooltip.css +1 -1
  168. package/dist/styles/top-app-bar.css +1 -1
  169. package/dist/styles/utilities.css +1 -1
  170. package/dist/styles.css +2 -2
  171. package/dist/svelte/Dialog.svelte +3 -0
  172. package/dist/svelte/index.d.ts +5 -1
  173. package/dist/svelte/index.js +5 -1
  174. package/dist/themes/autumn.css +2 -2
  175. package/dist/themes/baseline.css +2 -2
  176. package/dist/themes/brownbeige.css +2 -2
  177. package/dist/themes/browngreen.css +2 -2
  178. package/dist/themes/content.css +2 -2
  179. package/dist/themes/desert.css +2 -2
  180. package/dist/themes/expressive.css +2 -2
  181. package/dist/themes/fidelity.css +2 -2
  182. package/dist/themes/forest.css +2 -2
  183. package/dist/themes/fruit-salad.css +2 -2
  184. package/dist/themes/highcontrast.css +2 -2
  185. package/dist/themes/legacy.css +2 -2
  186. package/dist/themes/material.css +2 -2
  187. package/dist/themes/monochrome.css +2 -2
  188. package/dist/themes/neutral.css +2 -2
  189. package/dist/themes/ocean.css +2 -2
  190. package/dist/themes/rainbow.css +2 -2
  191. package/dist/themes/sageivory.css +2 -2
  192. package/dist/themes/spring.css +2 -2
  193. package/dist/themes/summer.css +2 -2
  194. package/dist/themes/sunset.css +2 -2
  195. package/dist/themes/tealcaramel.css +2 -2
  196. package/dist/themes/vibrant.css +2 -2
  197. package/dist/themes/winter.css +2 -2
  198. package/dist/vue/dialog.d.ts +3 -0
  199. package/dist/vue/dialog.js +3 -0
  200. package/dist/vue/index.d.ts +4 -1
  201. package/dist/vue/index.js +2 -1
  202. package/package.json +1 -1
  203. package/src/styles/abstract/_theme.scss +6 -6
  204. package/src/styles/abstract/_variables.scss +14 -4
  205. package/src/styles/components/_textfield.scss +61 -8
  206. package/src/styles/themes/_autumn.scss +173 -0
  207. package/src/styles/themes/_base-theme.scss +100 -12
  208. package/src/styles/themes/_baseline.scss +172 -0
  209. package/src/styles/themes/_brownbeige.scss +150 -0
  210. package/src/styles/themes/_browngreen.scss +183 -0
  211. package/src/styles/themes/_content.scss +148 -0
  212. package/src/styles/themes/_desert.scss +150 -0
  213. package/src/styles/themes/_expressive.scss +150 -0
  214. package/src/styles/themes/_fidelity.scss +148 -0
  215. package/src/styles/themes/_forest.scss +175 -0
  216. package/src/styles/themes/_fruit-salad.scss +150 -0
  217. package/src/styles/themes/_highcontrast.scss +74 -0
  218. package/src/styles/themes/_legacy.scss +181 -0
  219. package/src/styles/themes/_material.scss +181 -0
  220. package/src/styles/themes/_monochrome.scss +134 -0
  221. package/src/styles/themes/_neutral.scss +150 -0
  222. package/src/styles/themes/_ocean.scss +175 -0
  223. package/src/styles/themes/_rainbow.scss +150 -0
  224. package/src/styles/themes/_sageivory.scss +150 -0
  225. package/src/styles/themes/_spring.scss +171 -0
  226. package/src/styles/themes/_summer.scss +150 -0
  227. package/src/styles/themes/_sunset.scss +175 -0
  228. package/src/styles/themes/_tealcaramel.scss +150 -0
  229. package/src/styles/themes/_vibrant.scss +150 -0
  230. package/src/styles/themes/_winter.scss +181 -0
@@ -1,3 +1,4 @@
1
+ import { processClassNames } from "../../core/config/component.js";
1
2
  import { createBase, withElement, withEvents, withLifecycle, } from "../../core/compose/index.js";
2
3
  import { createConfig } from "./config.js";
3
4
  import { TOP_APP_BAR_DEFAULTS } from "./constants.js";
@@ -18,7 +19,7 @@ export const createTopAppBar = (config = {}) => {
18
19
  };
19
20
  const { leadingContainer, headlineElement, trailingContainer } = createContainers();
20
21
  const getInitialClasses = () => {
21
- const classes = [componentConfig.class];
22
+ const classes = [processClassNames(componentConfig.className || "")];
22
23
  if (componentConfig.type !== "small") {
23
24
  classes.push(`${component.getClass("top-app-bar")}--${componentConfig.type}`);
24
25
  }
@@ -58,12 +58,16 @@ export interface InputFeature {
58
58
  */
59
59
  input: HTMLInputElement;
60
60
  /**
61
- * Gets the current input value
61
+ * Gets the current input value.
62
+ * In 1.0 `getValue()` returns the checked boolean, and the input's string
63
+ * value is `getValueAttribute()`.
62
64
  * @returns Current value
63
65
  */
64
66
  getValue: () => string;
65
67
  /**
66
- * Sets the input value and emits a value event
68
+ * Sets the input value and emits a value event.
69
+ * In 1.0 `setValue()` takes the checked boolean and is silent (no `value`
70
+ * event); the input's string value is set with `setValueAttribute()`.
67
71
  * @param value - New value to set
68
72
  * @returns Component instance for chaining
69
73
  */
@@ -82,6 +86,9 @@ export interface InputComponent extends ElementComponent, InputFeature {
82
86
  * Creates an input element and adds it to a component
83
87
  * Handles both input creation and event emission for state changes
84
88
  *
89
+ * In 1.0 the `change` payload's `value` is the checked boolean, as the checkbox
90
+ * and the switch report it, and the input's string value is `valueAttribute`.
91
+ *
85
92
  * @param config - Input configuration
86
93
  * @returns Function that enhances a component with input functionality
87
94
  */
@@ -8,13 +8,16 @@ export declare const onThemeChange: (callback: ThemeChangeCallback) => (() => vo
8
8
  /**
9
9
  * Gets a theme color from CSS variables, with optional alpha/opacity support.
10
10
  * The prefix is automatically added to the variable name.
11
- * Colors are retrieved from the active theme (defined on body element) if available,
12
- * falling back to the default theme (defined on :root) if not found.
11
+ * With `element`, colors are read where that element sits, so a theme set on
12
+ * any ancestor (or a shadow host) applies. Otherwise they are retrieved from
13
+ * the active theme (defined on body element) if available, falling back to
14
+ * the default theme (defined on :root) if not found.
13
15
  *
14
16
  * @param {string} varName - The CSS variable name without prefix (e.g. 'sys-color-primary')
15
17
  * @param {object} [options] - Options for color retrieval
16
18
  * @param {number} [options.alpha] - Alpha value (0-1): a hex colour is returned as rgba()
17
19
  * @param {string} [options.fallback] - Fallback color if variable is not found
20
+ * @param {Element} [options.element] - Element whose theme to read; used when it is in a document
18
21
  * @param {ThemeChangeCallback} [options.onThemeChange] - Optional callback for theme changes
19
22
  * @returns {string} The color value (hex, rgb, or rgba)
20
23
  *
@@ -38,6 +41,7 @@ export declare const onThemeChange: (callback: ThemeChangeCallback) => (() => vo
38
41
  export declare function getThemeColor(varName: string, options?: {
39
42
  alpha?: number;
40
43
  fallback?: string;
44
+ element?: Element | null;
41
45
  onThemeChange?: ThemeChangeCallback;
42
46
  }): string;
43
47
  export {};
@@ -4,20 +4,14 @@ let themeObserver = null;
4
4
  const setupThemeObserver = () => {
5
5
  if (themeObserver)
6
6
  return;
7
- themeObserver = new MutationObserver((mutations) => {
8
- for (const mutation of mutations) {
9
- if (mutation.type === 'attributes' &&
10
- (mutation.attributeName === 'data-theme' || mutation.attributeName === 'data-theme-mode')) {
11
- themeChangeCallbacks.forEach(callback => callback());
12
- break;
13
- }
14
- }
7
+ themeObserver = new MutationObserver(() => {
8
+ themeChangeCallbacks.forEach(callback => callback());
9
+ });
10
+ themeObserver.observe(document.documentElement, {
11
+ attributes: true,
12
+ attributeFilter: ['data-theme', 'data-theme-mode'],
13
+ subtree: true,
15
14
  });
16
- const options = { attributes: true, attributeFilter: ['data-theme', 'data-theme-mode'] };
17
- themeObserver.observe(document.documentElement, options);
18
- if (document.body) {
19
- themeObserver.observe(document.body, options);
20
- }
21
15
  };
22
16
  export const onThemeChange = (callback) => {
23
17
  if (!themeObserver) {
@@ -41,18 +35,17 @@ const hexToTriplet = (value) => {
41
35
  const full = hex.length === 3 ? hex.split('').map((c) => c + c).join('') : hex;
42
36
  return [0, 2, 4].map((i) => parseInt(full.substring(i, i + 2), 16)).join(', ');
43
37
  };
44
- const readVar = (name) => {
45
- const prefixed = `--${PREFIX}-${name}`;
46
- const value = getComputedStyle(document.body).getPropertyValue(prefixed).trim();
47
- return value || getComputedStyle(document.documentElement).getPropertyValue(prefixed).trim();
38
+ const readVar = (name, element) => {
39
+ const read = (from) => getComputedStyle(from).getPropertyValue(`--${PREFIX}-${name}`).trim();
40
+ return element?.isConnected ? read(element) : read(document.body) || read(document.documentElement);
48
41
  };
49
42
  export function getThemeColor(varName, options) {
50
43
  if (options?.onThemeChange) {
51
44
  onThemeChange(options.onThemeChange);
52
45
  }
53
- let value = readVar(varName);
46
+ let value = readVar(varName, options?.element);
54
47
  if (!value && varName.endsWith('-rgb')) {
55
- value = hexToTriplet(readVar(varName.slice(0, -4))) ?? '';
48
+ value = hexToTriplet(readVar(varName.slice(0, -4), options?.element)) ?? '';
56
49
  }
57
50
  if (!value && options?.fallback)
58
51
  return options.fallback;
@@ -27,6 +27,11 @@ declare const carouselSpec: {
27
27
  styles: string[];
28
28
  hostStyles: string;
29
29
  attributes: {
30
+ wheel: {
31
+ type: "boolean";
32
+ config: string;
33
+ update: (c: CarouselComponent, v: import("./define.js").AttributeValue) => undefined;
34
+ };
30
35
  variant: {
31
36
  type: "string";
32
37
  config: string;
@@ -65,6 +65,7 @@ const carouselSpec = {
65
65
  styles: ["carousel"],
66
66
  hostStyles: ":host{display:block}",
67
67
  attributes: {
68
+ wheel: { type: "boolean", config: "wheel", update: (c, v) => void c.setWheel(!!v) },
68
69
  variant: { type: "string", config: "variant" },
69
70
  index: { type: "number", config: "initialSlide", update: (c, v) => void c.goTo(Number(v ?? 0)) },
70
71
  "item-width": { type: "number", config: "itemWidth" },
@@ -1,4 +1,4 @@
1
1
  import "./ripple.js";
2
2
  import { registerStyles, registerPreupgrade } from "../styles.js";
3
- registerStyles({ "textfield": "@keyframes onAutoFillStart{from{opacity:1}to{opacity:1}}@keyframes onAutoFillCancel{from{opacity:1}to{opacity:1}}.mtrl-textfield{position:relative;display:inline-flex;flex-direction:column;contain:inline-size;contain-intrinsic-inline-size:280px;flex:0 0 auto}.mtrl-textfield__field{position:relative;display:flex;flex-direction:column}.mtrl-textfield__label{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400;user-select:none;position:absolute;left:16px;top:50%;transform:translateY(-50%);transform-origin:left top;pointer-events:none;color:var(--mtrl-sys-color-on-surface-variant);transition:transform 200ms cubic-bezier(0.3, 0, 0, 1),color 100ms cubic-bezier(0.2, 0, 0, 1),left 200ms cubic-bezier(0.3, 0, 0, 1)}.mtrl-textfield__input{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400;border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px);padding:13px 16px;width:100%;height:56px;color:var(--mtrl-sys-color-on-surface);caret-color:var(--mtrl-sys-color-primary);border:0;appearance:none;outline:none;animation-name:onAutoFillCancel;animation-duration:10ms;transition:background-color 0s ease-out 50000000s}.mtrl-textfield__input::placeholder{color:var(--mtrl-sys-color-on-surface-variant);opacity:1}.mtrl-textfield__input:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:10ms;-webkit-text-fill-color:var(--mtrl-sys-color-on-surface);transition:background-color 5000s ease-in-out 0s}.mtrl-textfield__input:autofill{animation-name:onAutoFillStart;animation-duration:10ms;color:var(--mtrl-sys-color-on-surface)}.mtrl-textfield:has(>.mtrl-textfield__field>.mtrl-textfield__label):not(.mtrl-textfield--focused) .mtrl-textfield__input::placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0)}.mtrl-textfield--empty:has(>.mtrl-textfield__field>.mtrl-textfield__label):not(.mtrl-textfield--focused):not(:has(.mtrl-textfield__input:is(:not(:placeholder-shown),:autofill,:-webkit-autofill))) :is(.mtrl-textfield__prefix,.mtrl-textfield__suffix){opacity:0}.mtrl-textfield__prefix{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400;position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mtrl-sys-color-on-surface-variant);pointer-events:none;z-index:2;white-space:nowrap;max-width:40%;overflow:hidden;text-overflow:ellipsis;transition:top 200ms cubic-bezier(0.3, 0, 0, 1),opacity 200ms cubic-bezier(0.3, 0, 0, 1)}.mtrl-textfield__suffix{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400;position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--mtrl-sys-color-on-surface-variant);pointer-events:none;z-index:2;white-space:nowrap;max-width:40%;overflow:hidden;text-overflow:ellipsis;transition:top 200ms cubic-bezier(0.3, 0, 0, 1),opacity 200ms cubic-bezier(0.3, 0, 0, 1)}.mtrl-textfield__leading-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;pointer-events:none;color:var(--mtrl-sys-color-on-surface-variant);z-index:1;transition:top 200ms cubic-bezier(0.3, 0, 0, 1)}.mtrl-textfield__leading-icon svg{width:24px;height:24px}.mtrl-textfield__trailing-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--mtrl-sys-color-on-surface-variant);z-index:1;cursor:pointer;transition:top 200ms cubic-bezier(0.3, 0, 0, 1)}.mtrl-textfield__trailing-icon svg{width:24px;height:24px}.mtrl-textfield--with-prefix .mtrl-textfield__label{left:48px}.mtrl-textfield--with-prefix .mtrl-textfield__input{padding-left:48px}.mtrl-textfield--with-suffix .mtrl-textfield__input{padding-right:48px}.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:44px}.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding-left:44px}.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__prefix{left:44px}.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__label{left:76px}.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__input{padding-left:76px}.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:44px}.mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__suffix{right:44px}.mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__input{padding-right:76px}.mtrl-textfield--error .mtrl-textfield__label,.mtrl-textfield--error .mtrl-textfield__trailing-icon{color:var(--mtrl-sys-color-error)}.mtrl-textfield--error .mtrl-textfield__input{caret-color:var(--mtrl-sys-color-error)}.mtrl-textfield--disabled .mtrl-textfield__input{color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent);-webkit-text-fill-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent);pointer-events:none}.mtrl-textfield--disabled .mtrl-textfield__supporting{color:var(--mtrl-sys-color-on-surface);opacity:.38}.mtrl-textfield--disabled .mtrl-textfield__label{color:var(--mtrl-sys-color-on-surface);opacity:.38}.mtrl-textfield--disabled .mtrl-textfield__leading-icon,.mtrl-textfield--disabled .mtrl-textfield__trailing-icon,.mtrl-textfield--disabled .mtrl-textfield__prefix,.mtrl-textfield--disabled .mtrl-textfield__suffix{color:var(--mtrl-sys-color-on-surface);opacity:.38}.mtrl-textfield:has(.mtrl-textfield__input:disabled) .mtrl-textfield__label,.mtrl-textfield:has(.mtrl-textfield__input:disabled) .mtrl-textfield__supporting{color:var(--mtrl-sys-color-on-surface);opacity:.38}.mtrl-textfield__input:disabled{color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent);-webkit-text-fill-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent);pointer-events:none}.mtrl-textfield__input:disabled~.mtrl-textfield__leading-icon,.mtrl-textfield__input:disabled~.mtrl-textfield__trailing-icon,.mtrl-textfield__input:disabled~.mtrl-textfield__prefix,.mtrl-textfield__input:disabled~.mtrl-textfield__suffix{color:var(--mtrl-sys-color-on-surface);opacity:.38}.mtrl-textfield__supporting{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:12px;line-height:16px;letter-spacing:.4px;font-weight:400;display:flex;gap:16px;padding:4px 16px 0;color:var(--mtrl-sys-color-on-surface-variant)}.mtrl-textfield__helper{flex:1 1 auto;min-width:0}.mtrl-textfield__helper--error{color:var(--mtrl-sys-color-error)}.mtrl-textfield__counter{flex:none;margin-inline-start:auto}.mtrl-textfield--error .mtrl-textfield__counter{color:var(--mtrl-sys-color-error)}.mtrl-textfield__required{color:var(--mtrl-sys-color-error);margin-left:4px}@media(prefers-reduced-motion: reduce){.mtrl-textfield__label,.mtrl-textfield__outline-leading,.mtrl-textfield__outline-notch,.mtrl-textfield__outline-trailing{transition:none}.mtrl-textfield__prefix,.mtrl-textfield__suffix,.mtrl-textfield__leading-icon,.mtrl-textfield__trailing-icon{transition:none}}[dir=rtl] .mtrl-textfield__label{left:auto;right:16px;transform-origin:right top}[dir=rtl] .mtrl-textfield__required{margin-left:0;margin-right:4px}[dir=rtl] .mtrl-textfield__prefix{left:auto;right:16px}[dir=rtl] .mtrl-textfield__suffix{right:auto;left:16px}[dir=rtl] .mtrl-textfield__leading-icon{left:auto;right:12px}[dir=rtl] .mtrl-textfield__trailing-icon{right:auto;left:12px}[dir=rtl] .mtrl-textfield--with-prefix .mtrl-textfield__label{left:auto;right:48px}[dir=rtl] .mtrl-textfield--with-prefix .mtrl-textfield__input{padding-left:16px;padding-right:48px}[dir=rtl] .mtrl-textfield--with-suffix .mtrl-textfield__input{padding-right:16px;padding-left:48px}[dir=rtl] .mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:auto;right:44px}[dir=rtl] .mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding-left:16px;padding-right:44px}[dir=rtl] .mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__prefix{left:auto;right:44px}[dir=rtl] .mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__label{left:auto;right:76px}[dir=rtl] .mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__input{padding-left:16px;padding-right:76px}[dir=rtl] .mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:16px;padding-left:44px}[dir=rtl] .mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__suffix{right:auto;left:44px}[dir=rtl] .mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__input{padding-right:16px;padding-left:76px}.mtrl-textfield--filled .mtrl-textfield__label{opacity:1}.mtrl-textfield--filled .mtrl-textfield__input{background-color:var(--mtrl-sys-color-surface-container-highest);padding:20px 16px 7px;border-bottom:1px solid var(--mtrl-sys-color-on-surface-variant);border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) 0 0;transition:background-color 100ms cubic-bezier(0.2, 0, 0, 1),border-color 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-textfield--filled .mtrl-textfield__input:-webkit-autofill{border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) 0 0}.mtrl-textfield--filled .mtrl-textfield__field::before{content:\"\";position:absolute;opacity:0;bottom:0;width:100%;height:2px;background-color:var(--mtrl-sys-color-primary);border-radius:0;pointer-events:none;transition:.2s opacity ease}.mtrl-textfield--filled:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--filled.mtrl-textfield--focused .mtrl-textfield__label{transform:translateY(-95%) scale(0.75)}.mtrl-textfield--filled:has(.mtrl-textfield__input:is(:not(:placeholder-shown),:autofill,:-webkit-autofill)) .mtrl-textfield__label{transform:translateY(-95%) scale(0.75)}.mtrl-textfield--filled.mtrl-textfield--with-prefix:not(.mtrl-textfield--empty) .mtrl-textfield__prefix,.mtrl-textfield--filled.mtrl-textfield--with-prefix:not(.mtrl-textfield--empty) .mtrl-textfield__suffix,.mtrl-textfield--filled.mtrl-textfield--with-prefix.mtrl-textfield--focused .mtrl-textfield__prefix,.mtrl-textfield--filled.mtrl-textfield--with-prefix.mtrl-textfield--focused .mtrl-textfield__suffix,.mtrl-textfield--filled.mtrl-textfield--with-suffix:not(.mtrl-textfield--empty) .mtrl-textfield__prefix,.mtrl-textfield--filled.mtrl-textfield--with-suffix:not(.mtrl-textfield--empty) .mtrl-textfield__suffix,.mtrl-textfield--filled.mtrl-textfield--with-suffix.mtrl-textfield--focused .mtrl-textfield__prefix,.mtrl-textfield--filled.mtrl-textfield--with-suffix.mtrl-textfield--focused .mtrl-textfield__suffix{top:34px}.mtrl-textfield--filled.mtrl-textfield--focused .mtrl-textfield__label{color:var(--mtrl-sys-color-primary)}.mtrl-textfield--filled.mtrl-textfield--focused .mtrl-textfield__field::before{opacity:1}.mtrl-textfield--filled:hover:not(.mtrl-textfield--focused):not(.mtrl-textfield--disabled):not(:has(.mtrl-textfield__input:disabled)) .mtrl-textfield__input{background-image:linear-gradient(color-mix(in srgb, var(--mtrl-sys-color-on-surface) 8%, transparent), color-mix(in srgb, var(--mtrl-sys-color-on-surface) 8%, transparent))}.mtrl-textfield--filled:hover:not(.mtrl-textfield--focused):not(.mtrl-textfield--disabled):not(.mtrl-textfield--error):not(:has(.mtrl-textfield__input:disabled)) .mtrl-textfield__input{border-bottom-color:var(--mtrl-sys-color-on-surface)}.mtrl-textfield--filled.mtrl-textfield--error .mtrl-textfield__input{border-bottom-color:var(--mtrl-sys-color-error)}.mtrl-textfield--filled.mtrl-textfield--error .mtrl-textfield__field::before{background-color:var(--mtrl-sys-color-error)}.mtrl-textfield--filled.mtrl-textfield--error .mtrl-textfield__label{color:var(--mtrl-sys-color-error)}.mtrl-textfield--filled.mtrl-textfield--error:hover:not(.mtrl-textfield--focused) .mtrl-textfield__input{border-bottom-color:var(--mtrl-sys-color-on-error-container)}.mtrl-textfield--filled.mtrl-textfield--error:hover:not(.mtrl-textfield--focused) .mtrl-textfield__label,.mtrl-textfield--filled.mtrl-textfield--error:hover:not(.mtrl-textfield--focused) .mtrl-textfield__trailing-icon{color:var(--mtrl-sys-color-on-error-container)}.mtrl-textfield--filled.mtrl-textfield--disabled .mtrl-textfield__input,.mtrl-textfield--filled .mtrl-textfield__input:disabled{background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 4%, transparent);border-bottom-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent)}.mtrl-textfield--filled.mtrl-textfield--disabled{pointer-events:none}.mtrl-textfield--filled.mtrl-textfield--with-prefix .mtrl-textfield__prefix{top:28px}.mtrl-textfield--filled.mtrl-textfield--with-suffix .mtrl-textfield__suffix{top:28px}.mtrl-textfield--filled.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding:20px 16px 7px 44px}.mtrl-textfield--filled.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:44px}.mtrl-textfield--filled.mtrl-textfield--with-leading-icon .mtrl-textfield__leading-icon{top:28px}.mtrl-textfield--filled:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--filled.mtrl-textfield--focused .mtrl-textfield__label{left:16px}.mtrl-textfield--filled.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:44px}.mtrl-textfield--filled.mtrl-textfield--with-trailing-icon .mtrl-textfield__trailing-icon{top:28px}[dir=rtl] .mtrl-textfield--filled .mtrl-textfield__label{left:auto;right:16px}[dir=rtl] .mtrl-textfield--filled.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding:20px 44px 7px 16px}[dir=rtl] .mtrl-textfield--filled.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:auto;right:44px}[dir=rtl] .mtrl-textfield--filled.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:16px;padding-left:44px}.mtrl-textfield__outline{display:none;position:absolute;inset:0;pointer-events:none}.mtrl-textfield__outline-leading,.mtrl-textfield__outline-notch,.mtrl-textfield__outline-trailing{border:var(--mtrl-textfield-outline-width, 1px) solid var(--mtrl-textfield-outline-color, var(--mtrl-sys-color-outline));transition:border-color 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-textfield__outline-leading{flex:0 0 12px;border-inline-end:0;border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px) 0 0 var(--mtrl-sys-shape-corner-extra-small, 4px)}.mtrl-textfield__outline-notch{flex:0 0 auto;width:0;max-width:calc(100% - 24px);border-inline:0}.mtrl-textfield__outline-trailing{flex:1 1 auto;border-inline-start:0;border-radius:0 var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) 0}.mtrl-textfield__outline--notched .mtrl-textfield__outline-notch{border-top-color:rgba(0,0,0,0)}.mtrl-textfield--outlined{--mtrl-textfield-outline-color: var(--mtrl-sys-color-outline);--mtrl-textfield-outline-width: 1px;border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px)}.mtrl-textfield--outlined .mtrl-textfield__outline{display:flex}.mtrl-textfield--outlined .mtrl-textfield__input:not(:placeholder-shown)~.mtrl-textfield__outline .mtrl-textfield__outline-notch,.mtrl-textfield--outlined .mtrl-textfield__input:-webkit-autofill~.mtrl-textfield__outline .mtrl-textfield__outline-notch,.mtrl-textfield--outlined .mtrl-textfield__input:autofill~.mtrl-textfield__outline .mtrl-textfield__outline-notch{border-top-color:rgba(0,0,0,0)}.mtrl-textfield--outlined .mtrl-textfield__input{background-color:rgba(0,0,0,0);padding:12px 15px 13px;border:1px solid rgba(0,0,0,0);transition:padding 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-textfield--outlined .mtrl-textfield__input:-webkit-autofill{border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px)}.mtrl-textfield--outlined .mtrl-textfield__label{left:16px;top:50%}.mtrl-textfield--outlined:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--outlined.mtrl-textfield--focused .mtrl-textfield__label{transform:translateY(-147%) scale(0.75);left:16px}.mtrl-textfield--outlined:has(.mtrl-textfield__input:is(:not(:placeholder-shown),:autofill,:-webkit-autofill)) .mtrl-textfield__label{transform:translateY(-147%) scale(0.75);left:16px}.mtrl-textfield--outlined:hover:not(.mtrl-textfield--focused):not(.mtrl-textfield--disabled):not(.mtrl-textfield--error):not(:has(.mtrl-textfield__input:disabled)){--mtrl-textfield-outline-color: var(--mtrl-sys-color-on-surface)}.mtrl-textfield--outlined:hover:not(.mtrl-textfield--focused):not(.mtrl-textfield--disabled):not(.mtrl-textfield--error):not(:has(.mtrl-textfield__input:disabled)) .mtrl-textfield__label{color:var(--mtrl-sys-color-on-surface)}.mtrl-textfield--outlined.mtrl-textfield--focused{--mtrl-textfield-outline-color: var(--mtrl-sys-color-primary);--mtrl-textfield-outline-width: 2px}.mtrl-textfield--outlined.mtrl-textfield--focused .mtrl-textfield__label{color:var(--mtrl-sys-color-primary)}.mtrl-textfield--outlined.mtrl-textfield--error{--mtrl-textfield-outline-color: var(--mtrl-sys-color-error)}.mtrl-textfield--outlined.mtrl-textfield--error:hover:not(.mtrl-textfield--focused){--mtrl-textfield-outline-color: var(--mtrl-sys-color-on-error-container)}.mtrl-textfield--outlined.mtrl-textfield--error:hover:not(.mtrl-textfield--focused) .mtrl-textfield__label,.mtrl-textfield--outlined.mtrl-textfield--error:hover:not(.mtrl-textfield--focused) .mtrl-textfield__trailing-icon{color:var(--mtrl-sys-color-on-error-container)}.mtrl-textfield--outlined.mtrl-textfield--error .mtrl-textfield__label{color:var(--mtrl-sys-color-error)}.mtrl-textfield--outlined.mtrl-textfield--disabled{--mtrl-textfield-outline-color: color-mix(in srgb, var(--mtrl-sys-color-on-surface) 12%, transparent);pointer-events:none}.mtrl-textfield--outlined.mtrl-textfield--with-prefix .mtrl-textfield__prefix{top:50%}.mtrl-textfield--outlined.mtrl-textfield--with-suffix .mtrl-textfield__suffix{top:50%}.mtrl-textfield--outlined.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding-left:44px}.mtrl-textfield--outlined.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:44px}.mtrl-textfield--outlined.mtrl-textfield--with-leading-icon:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--outlined.mtrl-textfield--with-leading-icon.mtrl-textfield--focused .mtrl-textfield__label{left:16px}.mtrl-textfield--outlined.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:44px}.mtrl-textfield--outlined.mtrl-textfield--rtl .mtrl-textfield__label{left:auto;right:16px;transform-origin:right top}.mtrl-textfield--outlined.mtrl-textfield--rtl.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:auto;right:44px}.mtrl-textfield--outlined.mtrl-textfield--rtl:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--outlined.mtrl-textfield--rtl.mtrl-textfield--focused .mtrl-textfield__label,.mtrl-textfield--outlined.mtrl-textfield--rtl:has(.mtrl-textfield__input:is(:not(:placeholder-shown),:autofill,:-webkit-autofill)) .mtrl-textfield__label{left:auto;right:16px}.mtrl-textfield--outlined.mtrl-textfield--rtl .mtrl-textfield__outline-leading{border-radius:0 var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) 0}.mtrl-textfield--outlined.mtrl-textfield--rtl .mtrl-textfield__outline-trailing{border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px) 0 0 var(--mtrl-sys-shape-corner-extra-small, 4px)}[dir=rtl] .mtrl-textfield--outlined.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding-left:16px;padding-right:44px}[dir=rtl] .mtrl-textfield--outlined.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:16px;padding-left:44px}.mtrl-textfield--multiline .mtrl-textfield__input{min-height:100px;height:auto;resize:vertical;padding-top:12px}.mtrl-textfield--multiline .mtrl-textfield__prefix,.mtrl-textfield--multiline .mtrl-textfield__suffix{top:28px}.mtrl-textfield--multiline .mtrl-textfield__label{top:24px}.mtrl-textfield__input[type=multiline]{min-height:100px;height:auto;max-height:none;flex-shrink:1}.mtrl-textfield__input[type=multiline]~.mtrl-textfield__leading-icon,.mtrl-textfield__input[type=multiline]~.mtrl-textfield__trailing-icon,.mtrl-textfield__input[type=multiline]~.mtrl-textfield__prefix,.mtrl-textfield__input[type=multiline]~.mtrl-textfield__suffix{top:20px;transform:none}.mtrl-textfield--density-compact .mtrl-textfield__input{height:40px;padding:8px 16px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}.mtrl-textfield--density-compact .mtrl-textfield__label{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}.mtrl-textfield--density-compact .mtrl-textfield__leading-icon,.mtrl-textfield--density-compact .mtrl-textfield__trailing-icon{width:20px;height:20px}.mtrl-textfield--density-compact .mtrl-textfield__leading-icon svg,.mtrl-textfield--density-compact .mtrl-textfield__trailing-icon svg{width:16px;height:16px}.mtrl-textfield--density-compact .mtrl-textfield__prefix,.mtrl-textfield--density-compact .mtrl-textfield__suffix{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}.mtrl-textfield--density-compact.mtrl-textfield--filled .mtrl-textfield__input{padding:12px 16px 4px}.mtrl-textfield--density-compact.mtrl-textfield--filled:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--focused .mtrl-textfield__label{transform:translateY(-90%) scale(0.75)}.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-prefix:not(.mtrl-textfield--empty) .mtrl-textfield__prefix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-prefix:not(.mtrl-textfield--empty) .mtrl-textfield__suffix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-prefix.mtrl-textfield--focused .mtrl-textfield__prefix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-prefix.mtrl-textfield--focused .mtrl-textfield__suffix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-suffix:not(.mtrl-textfield--empty) .mtrl-textfield__prefix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-suffix:not(.mtrl-textfield--empty) .mtrl-textfield__suffix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-suffix.mtrl-textfield--focused .mtrl-textfield__prefix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-suffix.mtrl-textfield--focused .mtrl-textfield__suffix{top:22px}.mtrl-textfield--density-compact.mtrl-textfield--filled .mtrl-textfield__leading-icon,.mtrl-textfield--density-compact.mtrl-textfield--filled .mtrl-textfield__trailing-icon{top:20px}.mtrl-textfield--density-compact.mtrl-textfield--outlined .mtrl-textfield__input{padding:9px 15px 8px}.mtrl-textfield--density-compact.mtrl-textfield--outlined:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--density-compact.mtrl-textfield--outlined.mtrl-textfield--focused .mtrl-textfield__label{transform:translateY(-130%) scale(0.75)}.mtrl-textfield--density-compact.mtrl-textfield--multiline .mtrl-textfield__input{min-height:40px;padding:8px 16px}.mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:40px}.mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding-left:40px}.mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__prefix{left:40px}.mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__label{left:68px}.mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__input{padding-left:68px}.mtrl-textfield--density-compact.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:40px}.mtrl-textfield--density-compact.mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__suffix{right:40px}.mtrl-textfield--density-compact.mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__input{padding-right:68px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:auto;right:40px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding-left:16px;padding-right:40px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__prefix{left:auto;right:40px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__label{left:auto;right:68px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__input{padding-left:16px;padding-right:68px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:16px;padding-left:40px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__suffix{right:auto;left:40px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__input{padding-right:16px;padding-left:68px}" });
3
+ registerStyles({ "textfield": "@keyframes onAutoFillStart{from{opacity:1}to{opacity:1}}@keyframes onAutoFillCancel{from{opacity:1}to{opacity:1}}.mtrl-textfield{position:relative;display:inline-flex;flex-direction:column;contain:inline-size;contain-intrinsic-inline-size:280px;flex:0 0 auto}.mtrl-textfield__field{position:relative;display:flex;flex-direction:column}.mtrl-textfield__label{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400;user-select:none;position:absolute;left:16px;top:50%;transform:translateY(-50%);transform-origin:left top;pointer-events:none;color:var(--mtrl-sys-color-on-surface-variant);transition:transform 200ms cubic-bezier(0.3, 0, 0, 1),color 100ms cubic-bezier(0.2, 0, 0, 1),left 200ms cubic-bezier(0.3, 0, 0, 1)}.mtrl-textfield__input{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400;border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px);padding:13px 16px;width:100%;height:56px;color:var(--mtrl-sys-color-on-surface);caret-color:var(--mtrl-sys-color-primary);border:0;appearance:none;outline:none;animation-name:onAutoFillCancel;animation-duration:10ms;transition:background-color 0s ease-out 50000000s}.mtrl-textfield__input::placeholder{color:var(--mtrl-sys-color-on-surface-variant);opacity:1}.mtrl-textfield__input:-webkit-autofill{animation-name:onAutoFillStart;animation-duration:10ms;-webkit-text-fill-color:var(--mtrl-sys-color-on-surface);transition:background-color 5000s ease-in-out 0s}.mtrl-textfield__input:autofill{animation-name:onAutoFillStart;animation-duration:10ms;color:var(--mtrl-sys-color-on-surface)}.mtrl-textfield:has(>.mtrl-textfield__field>.mtrl-textfield__label):not(.mtrl-textfield--focused) .mtrl-textfield__input::placeholder{color:rgba(0,0,0,0);-webkit-text-fill-color:rgba(0,0,0,0)}.mtrl-textfield--empty:has(>.mtrl-textfield__field>.mtrl-textfield__label):not(.mtrl-textfield--focused):not(:has(.mtrl-textfield__input:is(:not(:placeholder-shown),:autofill,:-webkit-autofill))) :is(.mtrl-textfield__prefix,.mtrl-textfield__suffix){opacity:0}.mtrl-textfield__prefix{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400;position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--mtrl-sys-color-on-surface-variant);pointer-events:none;z-index:2;white-space:nowrap;max-width:40%;overflow:hidden;text-overflow:ellipsis;transition:top 200ms cubic-bezier(0.3, 0, 0, 1),opacity 200ms cubic-bezier(0.3, 0, 0, 1)}.mtrl-textfield__suffix{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400;position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--mtrl-sys-color-on-surface-variant);pointer-events:none;z-index:2;white-space:nowrap;max-width:40%;overflow:hidden;text-overflow:ellipsis;transition:top 200ms cubic-bezier(0.3, 0, 0, 1),opacity 200ms cubic-bezier(0.3, 0, 0, 1)}.mtrl-textfield__leading-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;pointer-events:none;color:var(--mtrl-sys-color-on-surface-variant);z-index:1;transition:top 200ms cubic-bezier(0.3, 0, 0, 1)}.mtrl-textfield__leading-icon svg{width:24px;height:24px}.mtrl-textfield__trailing-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:24px;height:24px;color:var(--mtrl-sys-color-on-surface-variant);z-index:1;cursor:pointer;transition:top 200ms cubic-bezier(0.3, 0, 0, 1)}.mtrl-textfield__trailing-icon svg{width:24px;height:24px}.mtrl-textfield--with-prefix .mtrl-textfield__label{left:48px}.mtrl-textfield--with-prefix .mtrl-textfield__input{padding-left:48px}.mtrl-textfield--with-suffix .mtrl-textfield__input{padding-right:48px}.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:44px}.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding-left:44px}.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__prefix{left:44px}.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__label{left:76px}.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__input{padding-left:76px}.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:44px}.mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__suffix{right:44px}.mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__input{padding-right:76px}.mtrl-textfield--error .mtrl-textfield__label,.mtrl-textfield--error .mtrl-textfield__trailing-icon{color:var(--mtrl-sys-color-error)}.mtrl-textfield--error .mtrl-textfield__input{caret-color:var(--mtrl-sys-color-error)}.mtrl-textfield--disabled .mtrl-textfield__input{color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent);-webkit-text-fill-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent);pointer-events:none}.mtrl-textfield--disabled .mtrl-textfield__supporting{color:var(--mtrl-sys-color-on-surface);opacity:.38}.mtrl-textfield--disabled .mtrl-textfield__label{color:var(--mtrl-sys-color-on-surface);opacity:.38}.mtrl-textfield--disabled .mtrl-textfield__leading-icon,.mtrl-textfield--disabled .mtrl-textfield__trailing-icon,.mtrl-textfield--disabled .mtrl-textfield__prefix,.mtrl-textfield--disabled .mtrl-textfield__suffix{color:var(--mtrl-sys-color-on-surface);opacity:.38}.mtrl-textfield:has(.mtrl-textfield__input:disabled) .mtrl-textfield__label,.mtrl-textfield:has(.mtrl-textfield__input:disabled) .mtrl-textfield__supporting{color:var(--mtrl-sys-color-on-surface);opacity:.38}.mtrl-textfield__input:disabled{color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent);-webkit-text-fill-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent);pointer-events:none}.mtrl-textfield__input:disabled~.mtrl-textfield__leading-icon,.mtrl-textfield__input:disabled~.mtrl-textfield__trailing-icon,.mtrl-textfield__input:disabled~.mtrl-textfield__prefix,.mtrl-textfield__input:disabled~.mtrl-textfield__suffix{color:var(--mtrl-sys-color-on-surface);opacity:.38}.mtrl-textfield__supporting{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:12px;line-height:16px;letter-spacing:.4px;font-weight:400;display:flex;gap:16px;padding:4px 16px 0;color:var(--mtrl-sys-color-on-surface-variant)}.mtrl-textfield__helper{flex:1 1 auto;min-width:0}.mtrl-textfield__helper--error{color:var(--mtrl-sys-color-error)}.mtrl-textfield__counter{flex:none;margin-inline-start:auto}.mtrl-textfield--error .mtrl-textfield__counter{color:var(--mtrl-sys-color-error)}.mtrl-textfield__required{color:inherit}@media(prefers-reduced-motion: reduce){.mtrl-textfield__label,.mtrl-textfield__outline-leading,.mtrl-textfield__outline-notch,.mtrl-textfield__outline-trailing{transition:none}.mtrl-textfield__prefix,.mtrl-textfield__suffix,.mtrl-textfield__leading-icon,.mtrl-textfield__trailing-icon{transition:none}}[dir=rtl] .mtrl-textfield__label{left:auto;right:16px;transform-origin:right top}[dir=rtl] .mtrl-textfield__prefix{left:auto;right:16px}[dir=rtl] .mtrl-textfield__suffix{right:auto;left:16px}[dir=rtl] .mtrl-textfield__leading-icon{left:auto;right:12px}[dir=rtl] .mtrl-textfield__trailing-icon{right:auto;left:12px}[dir=rtl] .mtrl-textfield--with-prefix .mtrl-textfield__label{left:auto;right:48px}[dir=rtl] .mtrl-textfield--with-prefix .mtrl-textfield__input{padding-left:16px;padding-right:48px}[dir=rtl] .mtrl-textfield--with-suffix .mtrl-textfield__input{padding-right:16px;padding-left:48px}[dir=rtl] .mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:auto;right:44px}[dir=rtl] .mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding-left:16px;padding-right:44px}[dir=rtl] .mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__prefix{left:auto;right:44px}[dir=rtl] .mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__label{left:auto;right:76px}[dir=rtl] .mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__input{padding-left:16px;padding-right:76px}[dir=rtl] .mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:16px;padding-left:44px}[dir=rtl] .mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__suffix{right:auto;left:44px}[dir=rtl] .mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__input{padding-right:16px;padding-left:76px}.mtrl-textfield--filled .mtrl-textfield__label{opacity:1}.mtrl-textfield--filled .mtrl-textfield__input{background-color:var(--mtrl-sys-color-surface-container-highest);padding:20px 16px 7px;border-bottom:1px solid var(--mtrl-sys-color-on-surface-variant);border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) 0 0;transition:background-color 100ms cubic-bezier(0.2, 0, 0, 1),border-color 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-textfield--filled .mtrl-textfield__input:-webkit-autofill{border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) 0 0}.mtrl-textfield--filled .mtrl-textfield__field::before{content:\"\";position:absolute;opacity:0;bottom:0;width:100%;height:2px;background-color:var(--mtrl-sys-color-primary);border-radius:0;pointer-events:none;transition:.2s opacity ease}.mtrl-textfield--filled:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--filled.mtrl-textfield--focused .mtrl-textfield__label{transform:translateY(-95%) scale(0.75)}.mtrl-textfield--filled:has(.mtrl-textfield__input:is(:not(:placeholder-shown),:autofill,:-webkit-autofill)) .mtrl-textfield__label{transform:translateY(-95%) scale(0.75)}.mtrl-textfield--filled.mtrl-textfield--with-prefix:not(.mtrl-textfield--empty) .mtrl-textfield__prefix,.mtrl-textfield--filled.mtrl-textfield--with-prefix:not(.mtrl-textfield--empty) .mtrl-textfield__suffix,.mtrl-textfield--filled.mtrl-textfield--with-prefix.mtrl-textfield--focused .mtrl-textfield__prefix,.mtrl-textfield--filled.mtrl-textfield--with-prefix.mtrl-textfield--focused .mtrl-textfield__suffix,.mtrl-textfield--filled.mtrl-textfield--with-suffix:not(.mtrl-textfield--empty) .mtrl-textfield__prefix,.mtrl-textfield--filled.mtrl-textfield--with-suffix:not(.mtrl-textfield--empty) .mtrl-textfield__suffix,.mtrl-textfield--filled.mtrl-textfield--with-suffix.mtrl-textfield--focused .mtrl-textfield__prefix,.mtrl-textfield--filled.mtrl-textfield--with-suffix.mtrl-textfield--focused .mtrl-textfield__suffix{top:34px}.mtrl-textfield--filled.mtrl-textfield--focused .mtrl-textfield__label{color:var(--mtrl-sys-color-primary)}.mtrl-textfield--filled.mtrl-textfield--focused .mtrl-textfield__field::before{opacity:1}.mtrl-textfield--filled:hover:not(.mtrl-textfield--focused):not(.mtrl-textfield--disabled):not(:has(.mtrl-textfield__input:disabled)) .mtrl-textfield__input{background-image:linear-gradient(color-mix(in srgb, var(--mtrl-sys-color-on-surface) 8%, transparent), color-mix(in srgb, var(--mtrl-sys-color-on-surface) 8%, transparent))}.mtrl-textfield--filled:hover:not(.mtrl-textfield--focused):not(.mtrl-textfield--disabled):not(.mtrl-textfield--error):not(:has(.mtrl-textfield__input:disabled)) .mtrl-textfield__input{border-bottom-color:var(--mtrl-sys-color-on-surface)}.mtrl-textfield--filled.mtrl-textfield--error .mtrl-textfield__input{border-bottom-color:var(--mtrl-sys-color-error)}.mtrl-textfield--filled.mtrl-textfield--error .mtrl-textfield__field::before{background-color:var(--mtrl-sys-color-error)}.mtrl-textfield--filled.mtrl-textfield--error .mtrl-textfield__label{color:var(--mtrl-sys-color-error)}.mtrl-textfield--filled.mtrl-textfield--error:hover:not(.mtrl-textfield--focused) .mtrl-textfield__input{border-bottom-color:var(--mtrl-sys-color-on-error-container)}.mtrl-textfield--filled.mtrl-textfield--error:hover:not(.mtrl-textfield--focused) .mtrl-textfield__label,.mtrl-textfield--filled.mtrl-textfield--error:hover:not(.mtrl-textfield--focused) .mtrl-textfield__trailing-icon{color:var(--mtrl-sys-color-on-error-container)}.mtrl-textfield--filled.mtrl-textfield--disabled .mtrl-textfield__input,.mtrl-textfield--filled .mtrl-textfield__input:disabled{background-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 4%, transparent);border-bottom-color:color-mix(in srgb, var(--mtrl-sys-color-on-surface) 38%, transparent)}.mtrl-textfield--filled.mtrl-textfield--disabled{pointer-events:none}.mtrl-textfield--filled.mtrl-textfield--with-prefix .mtrl-textfield__prefix{top:28px}.mtrl-textfield--filled.mtrl-textfield--with-suffix .mtrl-textfield__suffix{top:28px}.mtrl-textfield--filled.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding:20px 16px 7px 44px}.mtrl-textfield--filled.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:44px}.mtrl-textfield--filled.mtrl-textfield--with-leading-icon .mtrl-textfield__leading-icon{top:28px}.mtrl-textfield--filled:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--filled.mtrl-textfield--focused .mtrl-textfield__label{left:16px}.mtrl-textfield--filled.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:44px}.mtrl-textfield--filled.mtrl-textfield--with-trailing-icon .mtrl-textfield__trailing-icon{top:28px}[dir=rtl] .mtrl-textfield--filled .mtrl-textfield__label{left:auto;right:16px}[dir=rtl] .mtrl-textfield--filled.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding:20px 44px 7px 16px}[dir=rtl] .mtrl-textfield--filled.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:auto;right:44px}[dir=rtl] .mtrl-textfield--filled.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:16px;padding-left:44px}.mtrl-textfield__outline{display:none;position:absolute;inset:0;pointer-events:none}.mtrl-textfield__outline-leading,.mtrl-textfield__outline-notch,.mtrl-textfield__outline-trailing{border:var(--mtrl-textfield-outline-width, 1px) solid var(--mtrl-textfield-outline-color, var(--mtrl-sys-color-outline));transition:border-color 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-textfield__outline-leading{flex:0 0 12px;border-inline-end:0;border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px) 0 0 var(--mtrl-sys-shape-corner-extra-small, 4px)}.mtrl-textfield__outline-notch{flex:0 0 auto;width:0;max-width:calc(100% - 24px);border-inline:0}.mtrl-textfield__outline-trailing{flex:1 1 auto;border-inline-start:0;border-radius:0 var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) 0}.mtrl-textfield__outline--notched .mtrl-textfield__outline-notch{border-top-color:rgba(0,0,0,0)}.mtrl-textfield--outlined{--mtrl-textfield-outline-color: var(--mtrl-sys-color-outline);--mtrl-textfield-outline-width: 1px;border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px)}.mtrl-textfield--outlined .mtrl-textfield__outline{display:flex}.mtrl-textfield--outlined .mtrl-textfield__input:not(:placeholder-shown)~.mtrl-textfield__outline .mtrl-textfield__outline-notch,.mtrl-textfield--outlined .mtrl-textfield__input:-webkit-autofill~.mtrl-textfield__outline .mtrl-textfield__outline-notch,.mtrl-textfield--outlined .mtrl-textfield__input:autofill~.mtrl-textfield__outline .mtrl-textfield__outline-notch{border-top-color:rgba(0,0,0,0)}.mtrl-textfield--outlined .mtrl-textfield__input{background-color:rgba(0,0,0,0);padding:12px 15px 13px;border:1px solid rgba(0,0,0,0);transition:padding 100ms cubic-bezier(0.2, 0, 0, 1)}.mtrl-textfield--outlined .mtrl-textfield__input:-webkit-autofill{border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px)}.mtrl-textfield--outlined .mtrl-textfield__label{left:16px;top:50%}.mtrl-textfield--outlined:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--outlined.mtrl-textfield--focused .mtrl-textfield__label{transform:translateY(-147%) scale(0.75);left:16px}.mtrl-textfield--outlined:has(.mtrl-textfield__input:is(:not(:placeholder-shown),:autofill,:-webkit-autofill)) .mtrl-textfield__label{transform:translateY(-147%) scale(0.75);left:16px}.mtrl-textfield--outlined:hover:not(.mtrl-textfield--focused):not(.mtrl-textfield--disabled):not(.mtrl-textfield--error):not(:has(.mtrl-textfield__input:disabled)){--mtrl-textfield-outline-color: var(--mtrl-sys-color-on-surface)}.mtrl-textfield--outlined:hover:not(.mtrl-textfield--focused):not(.mtrl-textfield--disabled):not(.mtrl-textfield--error):not(:has(.mtrl-textfield__input:disabled)) .mtrl-textfield__label{color:var(--mtrl-sys-color-on-surface)}.mtrl-textfield--outlined.mtrl-textfield--focused{--mtrl-textfield-outline-color: var(--mtrl-sys-color-primary);--mtrl-textfield-outline-width: 2px}.mtrl-textfield--outlined.mtrl-textfield--focused .mtrl-textfield__label{color:var(--mtrl-sys-color-primary)}.mtrl-textfield--outlined.mtrl-textfield--error{--mtrl-textfield-outline-color: var(--mtrl-sys-color-error)}.mtrl-textfield--outlined.mtrl-textfield--error:hover:not(.mtrl-textfield--focused){--mtrl-textfield-outline-color: var(--mtrl-sys-color-on-error-container)}.mtrl-textfield--outlined.mtrl-textfield--error:hover:not(.mtrl-textfield--focused) .mtrl-textfield__label,.mtrl-textfield--outlined.mtrl-textfield--error:hover:not(.mtrl-textfield--focused) .mtrl-textfield__trailing-icon{color:var(--mtrl-sys-color-on-error-container)}.mtrl-textfield--outlined.mtrl-textfield--error .mtrl-textfield__label{color:var(--mtrl-sys-color-error)}.mtrl-textfield--outlined.mtrl-textfield--disabled{--mtrl-textfield-outline-color: color-mix(in srgb, var(--mtrl-sys-color-on-surface) 12%, transparent);pointer-events:none}.mtrl-textfield--outlined.mtrl-textfield--with-prefix .mtrl-textfield__prefix{top:50%}.mtrl-textfield--outlined.mtrl-textfield--with-suffix .mtrl-textfield__suffix{top:50%}.mtrl-textfield--outlined.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding-left:44px}.mtrl-textfield--outlined.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:44px}.mtrl-textfield--outlined.mtrl-textfield--with-leading-icon:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--outlined.mtrl-textfield--with-leading-icon.mtrl-textfield--focused .mtrl-textfield__label{left:16px}.mtrl-textfield--outlined.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:44px}.mtrl-textfield--outlined.mtrl-textfield--rtl .mtrl-textfield__label{left:auto;right:16px;transform-origin:right top}.mtrl-textfield--outlined.mtrl-textfield--rtl.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:auto;right:44px}.mtrl-textfield--outlined.mtrl-textfield--rtl:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--outlined.mtrl-textfield--rtl.mtrl-textfield--focused .mtrl-textfield__label,.mtrl-textfield--outlined.mtrl-textfield--rtl:has(.mtrl-textfield__input:is(:not(:placeholder-shown),:autofill,:-webkit-autofill)) .mtrl-textfield__label{left:auto;right:16px}.mtrl-textfield--outlined.mtrl-textfield--rtl .mtrl-textfield__outline-leading{border-radius:0 var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) 0}.mtrl-textfield--outlined.mtrl-textfield--rtl .mtrl-textfield__outline-trailing{border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px) 0 0 var(--mtrl-sys-shape-corner-extra-small, 4px)}[dir=rtl] .mtrl-textfield--outlined.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding-left:16px;padding-right:44px}[dir=rtl] .mtrl-textfield--outlined.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:16px;padding-left:44px}.mtrl-textfield--multiline .mtrl-textfield__input{min-height:100px;height:auto;resize:vertical;padding-top:12px}.mtrl-textfield--multiline .mtrl-textfield__prefix,.mtrl-textfield--multiline .mtrl-textfield__suffix{top:28px}.mtrl-textfield--multiline .mtrl-textfield__label{top:24px}.mtrl-textfield__input[type=multiline]{min-height:100px;height:auto;max-height:none;flex-shrink:1}.mtrl-textfield__input[type=multiline]~.mtrl-textfield__leading-icon,.mtrl-textfield__input[type=multiline]~.mtrl-textfield__trailing-icon,.mtrl-textfield__input[type=multiline]~.mtrl-textfield__prefix,.mtrl-textfield__input[type=multiline]~.mtrl-textfield__suffix{top:20px;transform:none}.mtrl-textfield--density-compact .mtrl-textfield__input{height:40px;padding:8px 16px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}.mtrl-textfield--density-compact .mtrl-textfield__label{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}.mtrl-textfield--density-compact .mtrl-textfield__leading-icon,.mtrl-textfield--density-compact .mtrl-textfield__trailing-icon{width:20px;height:20px}.mtrl-textfield--density-compact .mtrl-textfield__leading-icon svg,.mtrl-textfield--density-compact .mtrl-textfield__trailing-icon svg{width:16px;height:16px}.mtrl-textfield--density-compact .mtrl-textfield__prefix,.mtrl-textfield--density-compact .mtrl-textfield__suffix{font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}.mtrl-textfield--density-compact.mtrl-textfield--filled .mtrl-textfield__input{padding:12px 16px 4px}.mtrl-textfield--density-compact.mtrl-textfield--filled:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--focused .mtrl-textfield__label{transform:translateY(-90%) scale(0.75)}.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-prefix:not(.mtrl-textfield--empty) .mtrl-textfield__prefix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-prefix:not(.mtrl-textfield--empty) .mtrl-textfield__suffix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-prefix.mtrl-textfield--focused .mtrl-textfield__prefix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-prefix.mtrl-textfield--focused .mtrl-textfield__suffix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-suffix:not(.mtrl-textfield--empty) .mtrl-textfield__prefix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-suffix:not(.mtrl-textfield--empty) .mtrl-textfield__suffix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-suffix.mtrl-textfield--focused .mtrl-textfield__prefix,.mtrl-textfield--density-compact.mtrl-textfield--filled.mtrl-textfield--with-suffix.mtrl-textfield--focused .mtrl-textfield__suffix{top:22px}.mtrl-textfield--density-compact.mtrl-textfield--filled .mtrl-textfield__leading-icon,.mtrl-textfield--density-compact.mtrl-textfield--filled .mtrl-textfield__trailing-icon{top:20px}.mtrl-textfield--density-compact.mtrl-textfield--outlined .mtrl-textfield__input{padding:9px 15px 8px}.mtrl-textfield--density-compact.mtrl-textfield--outlined:not(.mtrl-textfield--empty) .mtrl-textfield__label,.mtrl-textfield--density-compact.mtrl-textfield--outlined.mtrl-textfield--focused .mtrl-textfield__label{transform:translateY(-130%) scale(0.75)}.mtrl-textfield--density-compact.mtrl-textfield--multiline .mtrl-textfield__input{min-height:40px;padding:8px 16px}.mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:40px}.mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding-left:40px}.mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__prefix{left:40px}.mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__label{left:68px}.mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__input{padding-left:68px}.mtrl-textfield--density-compact.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:40px}.mtrl-textfield--density-compact.mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__suffix{right:40px}.mtrl-textfield--density-compact.mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__input{padding-right:68px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon .mtrl-textfield__label{left:auto;right:40px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon .mtrl-textfield__input{padding-left:16px;padding-right:40px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__prefix{left:auto;right:40px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__label{left:auto;right:68px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-leading-icon.mtrl-textfield--with-prefix .mtrl-textfield__input{padding-left:16px;padding-right:68px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-trailing-icon .mtrl-textfield__input{padding-right:16px;padding-left:40px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__suffix{right:auto;left:40px}[dir=rtl] .mtrl-textfield--density-compact.mtrl-textfield--with-trailing-icon.mtrl-textfield--with-suffix .mtrl-textfield__input{padding-right:16px;padding-left:68px}.mtrl-textfield__trailing-icon.mtrl-textfield__trailing-icon--button{right:4px;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,0);font:inherit;cursor:pointer;position:relative;position:absolute}.mtrl-textfield__trailing-icon.mtrl-textfield__trailing-icon--button::after{content:\"\";position:absolute;top:50%;inset-inline-start:50%;width:48px;height:48px;transform:translate(-50%, -50%)}.mtrl-textfield__trailing-icon.mtrl-textfield__trailing-icon--button::before{content:\"\";position:absolute;inset:0;border-radius:inherit;background-color:currentColor;opacity:0;pointer-events:none}.mtrl-textfield__trailing-icon.mtrl-textfield__trailing-icon--button:hover:not(:disabled)::before{opacity:.08}.mtrl-textfield__trailing-icon.mtrl-textfield__trailing-icon--button:focus-visible{outline:2px solid var(--mtrl-sys-color-secondary);outline-offset:2px}.mtrl-textfield__trailing-icon.mtrl-textfield__trailing-icon--button:focus-visible::before,.mtrl-textfield__trailing-icon.mtrl-textfield__trailing-icon--button:active:not(:disabled)::before{opacity:.1}.mtrl-textfield__trailing-icon.mtrl-textfield__trailing-icon--button:disabled{cursor:default}[dir=rtl] .mtrl-textfield__trailing-icon.mtrl-textfield__trailing-icon--button{right:auto;left:4px}" });
4
4
  registerPreupgrade({ "textfield": "m-textfield:not(:defined){display:inline-block;position:relative;box-sizing:border-box;width:280px;height:56px;padding:22px 16px 0 16px;border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) 0 0;border-bottom:1px solid var(--mtrl-sys-color-on-surface-variant);background-color:var(--mtrl-sys-color-surface-container-highest);color:var(--mtrl-sys-color-on-surface);white-space:nowrap;overflow:clip;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400}m-textfield:not(:defined)::before{content:attr(value) \" \";white-space:pre}m-textfield:not(:defined)[label]::after{content:attr(label);position:absolute;top:16px;left:16px;color:var(--mtrl-sys-color-on-surface-variant)}m-textfield:not(:defined)[label][value]:not([value=\"\"])::after{top:8px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:12px;line-height:16px;letter-spacing:.4px;font-weight:400}m-textfield:not(:defined)[variant=outlined]{padding-top:15.5px;border:1px solid var(--mtrl-sys-color-outline);border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px);background:none}m-textfield:not(:defined)[variant=outlined][label][value]:not([value=\"\"])::after{top:-8px;padding:0 4px;left:12px}m-textfield:not(:defined)[density=compact]{height:40px;padding-top:13.5px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}m-textfield:not(:defined)[density=compact]::after{top:10px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}m-textfield:not(:defined)[density=compact][variant=outlined]{padding-top:9.5px}m-textfield:not(:defined)[supporting-text]:not([supporting-text=\"\"]),m-textfield:not(:defined)[maxlength]{height:calc(56px + 20px);border-bottom:20px solid rgba(0,0,0,0);background-clip:padding-box;background-image:linear-gradient(to top, var(--mtrl-sys-color-on-surface-variant) 1px, transparent 1px)}m-textfield:not(:defined)[supporting-text]:not([supporting-text=\"\"])[variant=outlined],m-textfield:not(:defined)[maxlength][variant=outlined]{padding-top:calc(15.5px + 1px);padding-left:calc(16px + 1px);border-width:0 0 20px;border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px)/var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) calc(var(--mtrl-sys-shape-corner-extra-small, 4px) + 20px) calc(var(--mtrl-sys-shape-corner-extra-small, 4px) + 20px);background-image:none;box-shadow:inset 0 0 0 1px var(--mtrl-sys-color-outline)}m-textfield:not(:defined)[supporting-text]:not([supporting-text=\"\"])[density=compact],m-textfield:not(:defined)[maxlength][density=compact]{height:calc(40px + 20px)}m-textfield:not(:defined)>*{display:none}" });
@@ -141,6 +141,14 @@ export { DEFAULT_PREFIX };
141
141
  * Registered under these names like the component entries.
142
142
  */
143
143
  export declare const SHADOW_BASE_STYLES: readonly ["ripple"];
144
+ /**
145
+ * The sheet every shadow root adopts first. The reduced-motion rule is the
146
+ * document reset's (styles/base/_reset.scss), which does not match inside a
147
+ * shadow tree: transitions are limited to the fades, animations end at once
148
+ * (FLO-549). test/styles/reduced-motion.test.ts keeps the two copies equal.
149
+ * @internal
150
+ */
151
+ export declare const BASE_HOST_STYLES: string;
144
152
  type Camel<S extends string> = S extends `${infer H}-${infer T}` ? `${H}${Capitalize<Camel<T>>}` : S;
145
153
  type ValueOf<T> = T extends "boolean" ? boolean : T extends "number" ? number : string;
146
154
  type Get<S, K extends string> = S extends {
@@ -18,7 +18,8 @@ import { PREFIX } from "../core/config.js";
18
18
  import { applyStyles, DEFAULT_PREFIX, hasStyles, registerStyles, usePreupgradePrefix } from "./styles.js";
19
19
  export { DEFAULT_PREFIX };
20
20
  export const SHADOW_BASE_STYLES = ["ripple"];
21
- const BASE_HOST_STYLES = ":host{display:inline-block}:host([hidden]){display:none}*,*::before,*::after{box-sizing:border-box}";
21
+ export const BASE_HOST_STYLES = ":host{display:inline-block}:host([hidden]){display:none}*,*::before,*::after{box-sizing:border-box}" +
22
+ "@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-property:opacity,color,background-color,border-color,outline-color,box-shadow,visibility!important;scroll-behavior:auto!important}}";
22
23
  const camel = (name) => name.replace(/-([a-z])/g, (_, c) => c.toUpperCase());
23
24
  const kebab = (name) => name.replace(/[A-Z]/g, (c) => `-${c.toLowerCase()}`);
24
25
  const read = (host, name, type) => {
@@ -87,7 +87,7 @@ const dialogSpec = {
87
87
  name: "dialog",
88
88
  slots: ["headline", "actions"],
89
89
  create: (config) => create(config),
90
- styles: ["dialog"],
90
+ styles: ["progress", "button", "divider", "dialog"],
91
91
  hostStyles: ":host{display:contents}",
92
92
  attributes: {
93
93
  open: { type: "boolean", update: (c, v) => setOpen(c, !!v) },
@@ -6,8 +6,8 @@
6
6
  * `selected` property the live one: the attribute moves the state until the
7
7
  * user or script changes it. A click dispatches `change` with `{ selected }`
8
8
  * from the host, as `<m-switch>` and `<m-checkbox>` do; `toggle`, which
9
- * clashed with the native ToggleEvent, is dispatched as well for one release
10
- * (deprecated, FLO-295).
9
+ * clashed with the native ToggleEvent, is dispatched as well until 1.0
10
+ * removes it (deprecated, FLO-295): listen to `change`.
11
11
  * `type="submit"` and `type="reset"` act on the host's form.
12
12
  *
13
13
  * Parts: `icon-button`, `icon`, `ripple`.
@@ -96,6 +96,7 @@ declare const iconButtonSpec: {
96
96
  selected: boolean;
97
97
  };
98
98
  };
99
+ /** @deprecated Dispatched beside `change`; removed in 1.0. Listen to `change` (FLO-295). */
99
100
  toggle: {
100
101
  detail: (payload: unknown) => {
101
102
  selected: boolean;
@@ -38,8 +38,19 @@ export { checkboxElement, defineCheckbox } from "./checkbox.js";
38
38
  export type { CheckboxSpec, CheckboxElement } from "./checkbox.js";
39
39
  export { sliderElement, defineSlider } from "./slider.js";
40
40
  export type { SliderSpec, SliderElement } from "./slider.js";
41
- export { textfieldElement, defineTextfield } from "./textfield.js";
42
- export type { TextfieldSpec, TextfieldElement, TextfieldElementComponent } from "./textfield.js";
41
+ export { textfieldElement as textFieldElement, defineTextfield as defineTextField } from "./textfield.js";
42
+ export {
43
+ /** @deprecated Use textFieldElement: M3 writes "text field" as two words. Removed in 1.0 (FLO-383). */
44
+ textfieldElement,
45
+ /** @deprecated Use defineTextField: M3 writes "text field" as two words. Removed in 1.0 (FLO-383). */
46
+ defineTextfield, } from "./textfield.js";
47
+ export type { TextfieldSpec as TextFieldSpec, TextfieldElement as TextFieldElement, TextfieldElementComponent as TextFieldElementComponent,
48
+ /** @deprecated Use TextFieldSpec: M3 writes "text field" as two words. Removed in 1.0 (FLO-383). */
49
+ TextfieldSpec,
50
+ /** @deprecated Use TextFieldElement: M3 writes "text field" as two words. Removed in 1.0 (FLO-383). */
51
+ TextfieldElement,
52
+ /** @deprecated Use TextFieldElementComponent: M3 writes "text field" as two words. Removed in 1.0 (FLO-383). */
53
+ TextfieldElementComponent, } from "./textfield.js";
43
54
  export { radiosElement, radioDeclaration, defineRadios } from "./radios.js";
44
55
  export type { RadiosSpec, RadiosElement, RadioAttributes } from "./radios.js";
45
56
  export { navigationRailElement, navigationRailItemDeclaration, defineNavigationRail } from "./navigation-rail.js";
@@ -107,8 +118,8 @@ export declare const elements: {
107
118
  readonly radios: import("./define.js").ElementDefinition<import("../index.js").RadiosComponent>;
108
119
  readonly navigationRail: import("./define.js").ElementDefinition<import("../index.js").NavigationRailComponent>;
109
120
  readonly drawer: import("./define.js").ElementDefinition<import("../index.js").DrawerComponent>;
110
- readonly topAppBar: import("./define.js").ElementDefinition<import("../components/top-app-bar/top-app-bar.js").TopAppBar>;
111
- readonly bottomAppBar: import("./define.js").ElementDefinition<import("../index.js").BottomAppBar>;
121
+ readonly topAppBar: import("./define.js").ElementDefinition<import("../index.js").TopAppBarComponent>;
122
+ readonly bottomAppBar: import("./define.js").ElementDefinition<import("../index.js").BottomAppBarComponent>;
112
123
  readonly buttonGroup: import("./define.js").ElementDefinition<import("../index.js").ButtonGroupComponent>;
113
124
  readonly chips: import("./define.js").ElementDefinition<import("../index.js").ChipsComponent>;
114
125
  readonly list: import("./define.js").ElementDefinition<import("../index.js").ListComponent<import("../index.js").ListItem>>;
@@ -49,7 +49,8 @@ export { fabElement, defineFab } from "./fab.js";
49
49
  export { extendedFabElement, defineExtendedFab } from "./extended-fab.js";
50
50
  export { checkboxElement, defineCheckbox } from "./checkbox.js";
51
51
  export { sliderElement, defineSlider } from "./slider.js";
52
- export { textfieldElement, defineTextfield } from "./textfield.js";
52
+ export { textfieldElement as textFieldElement, defineTextfield as defineTextField } from "./textfield.js";
53
+ export { textfieldElement, defineTextfield, } from "./textfield.js";
53
54
  export { radiosElement, radioDeclaration, defineRadios } from "./radios.js";
54
55
  export { navigationRailElement, navigationRailItemDeclaration, defineNavigationRail } from "./navigation-rail.js";
55
56
  export { drawerElement, drawerItemDeclaration, defineDrawer } from "./drawer.js";
@@ -1,2 +1,2 @@
1
- /*! mtrl v0.10.4 | MIT */
1
+ /*! mtrl v0.10.6 | MIT */
2
2
  @layer mtrl.preupgrade{m-button:not(:defined){display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;box-sizing:border-box;min-width:58px;white-space:nowrap;background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary);height:40px;padding:0 16px;gap:8px;border-radius:20px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500}m-button:not(:defined)[icon]::before{width:20px;height:20px}m-button:not(:defined)[size=xs]{height:32px;padding:0 12px;gap:8px;border-radius:16px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500}m-button:not(:defined)[size=xs][icon]::before{width:20px;height:20px}m-button:not(:defined)[size=s]{height:40px;padding:0 16px;gap:8px;border-radius:20px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500}m-button:not(:defined)[size=s][icon]::before{width:20px;height:20px}m-button:not(:defined)[size=m]{height:56px;padding:0 24px;gap:8px;border-radius:28px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500}m-button:not(:defined)[size=m][icon]::before{width:24px;height:24px}m-button:not(:defined)[size=l]{height:96px;padding:0 48px;gap:12px;border-radius:48px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:24px;line-height:32px;letter-spacing:0;font-weight:400}m-button:not(:defined)[size=l][icon]::before{width:32px;height:32px}m-button:not(:defined)[size=xl]{height:136px;padding:0 64px;gap:16px;border-radius:68px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:32px;line-height:40px;letter-spacing:0;font-weight:400}m-button:not(:defined)[size=xl][icon]::before{width:40px;height:40px}m-button:not(:defined)[variant=filled]{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}m-button:not(:defined)[variant=elevated]{background-color:var(--mtrl-sys-color-surface-container-low);color:var(--mtrl-sys-color-primary)}m-button:not(:defined)[variant=tonal]{background-color:var(--mtrl-sys-color-secondary-container);color:var(--mtrl-sys-color-on-secondary-container)}m-button:not(:defined)[variant=outlined]{background-color:rgba(0,0,0,0);color:var(--mtrl-sys-color-on-surface-variant)}m-button:not(:defined)[variant=text]{background-color:rgba(0,0,0,0);color:var(--mtrl-sys-color-primary)}m-button:not(:defined)[variant=outlined]{border:1px solid var(--mtrl-sys-color-outline-variant)}m-button:not(:defined)[variant=text]{padding:0 12px}m-button:not(:defined)[icon]::before{content:"";flex:none}m-button:not(:defined)[icon]:not([size]),m-button:not(:defined)[icon][size=s]{padding-left:12px}m-switch:not(:defined){display:inline-grid;grid-template-columns:auto auto;align-content:center;align-items:center;column-gap:12px;box-sizing:border-box;min-height:56px;padding:4px 0;color:var(--mtrl-sys-color-on-surface);font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400}m-switch:not(:defined)::after{content:"";grid-column:2;grid-row:1;box-sizing:border-box;width:52px;height:32px;border:2px solid var(--mtrl-sys-color-outline);border-radius:var(--mtrl-sys-shape-corner-full, 9999px);background:radial-gradient(circle at 14px 50%, var(--mtrl-sys-color-outline) 8px, transparent 8.5px) var(--mtrl-sys-color-surface-container-highest)}m-switch:not(:defined)[checked]::after{border-color:var(--mtrl-sys-color-primary);background:radial-gradient(circle at calc(100% - 14px) 50%, var(--mtrl-sys-color-on-primary) 12px, transparent 12.5px) var(--mtrl-sys-color-primary)}m-switch:not(:defined)[supporting-text]::after{grid-row:1/span 2}m-switch:not(:defined)[supporting-text]::before{content:attr(supporting-text);grid-column:1;grid-row:2;color:var(--mtrl-sys-color-on-surface-variant);font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}m-tabs:not(:defined){display:block;box-sizing:border-box;height:48px;overflow:hidden;border-bottom:1px solid var(--mtrl-sys-color-outline-variant)}m-tabs:not(:defined):has(>[icon]){height:64px}m-tabs:not(:defined)>*{visibility:hidden;display:none}m-progress:not(:defined){display:block;box-sizing:border-box;height:4px;padding:0 4px;overflow:hidden;color:rgba(0,0,0,0);background:var(--mtrl-sys-color-secondary-container) content-box}m-progress:not(:defined)[variant=circular]{display:inline-flex;vertical-align:middle;width:40px;height:40px;padding:0;background:none}m-loading-indicator:not(:defined){display:inline-flex;vertical-align:middle;width:48px;height:48px;overflow:hidden;color:rgba(0,0,0,0)}m-badge:not(:defined){display:inline-flex;vertical-align:middle;width:0;height:0;overflow:hidden}m-divider:not(:defined){display:block;height:1px;overflow:hidden;color:rgba(0,0,0,0);background-color:var(--mtrl-sys-color-outline-variant)}m-divider:not(:defined)[orientation=vertical]{display:inline-block;align-self:stretch;width:1px;height:auto}m-icon-button:not(:defined){display:inline-block;vertical-align:middle;box-sizing:border-box;overflow:hidden;color:rgba(0,0,0,0);height:40px;width:40px;border-radius:20px}m-icon-button:not(:defined)[size=xs]{height:32px;width:32px;border-radius:16px}m-icon-button:not(:defined)[size=xs][width=narrow]{height:32px;width:28px;border-radius:16px}m-icon-button:not(:defined)[size=xs][width=wide]{height:32px;width:40px;border-radius:16px}m-icon-button:not(:defined)[width=narrow]{height:40px;width:32px;border-radius:20px}m-icon-button:not(:defined)[width=wide]{height:40px;width:52px;border-radius:20px}m-icon-button:not(:defined)[size=m]{height:56px;width:56px;border-radius:28px}m-icon-button:not(:defined)[size=m][width=narrow]{height:56px;width:48px;border-radius:28px}m-icon-button:not(:defined)[size=m][width=wide]{height:56px;width:72px;border-radius:28px}m-icon-button:not(:defined)[size=l]{height:96px;width:96px;border-radius:48px}m-icon-button:not(:defined)[size=l][width=narrow]{height:96px;width:64px;border-radius:48px}m-icon-button:not(:defined)[size=l][width=wide]{height:96px;width:128px;border-radius:48px}m-icon-button:not(:defined)[size=xl]{height:136px;width:136px;border-radius:68px}m-icon-button:not(:defined)[size=xl][width=narrow]{height:136px;width:104px;border-radius:68px}m-icon-button:not(:defined)[size=xl][width=wide]{height:136px;width:184px;border-radius:68px}m-icon-button:not(:defined)[variant=filled]{background-color:var(--mtrl-sys-color-primary)}m-icon-button:not(:defined)[variant=tonal]{background-color:var(--mtrl-sys-color-secondary-container)}m-icon-button:not(:defined)[variant=outlined]{border:1px solid var(--mtrl-sys-color-outline-variant)}m-fab:not(:defined){display:inline-block;vertical-align:middle;box-sizing:border-box;overflow:hidden;color:rgba(0,0,0,0);background-color:var(--mtrl-sys-color-primary-container);width:56px;height:56px;border-radius:var(--mtrl-sys-shape-corner-large, 16px)}m-fab:not(:defined)[size=small]{width:40px;height:40px;border-radius:var(--mtrl-sys-shape-corner-medium, 12px)}m-fab:not(:defined)[size=default]{width:56px;height:56px;border-radius:var(--mtrl-sys-shape-corner-large, 16px)}m-fab:not(:defined)[size=medium]{width:80px;height:80px;border-radius:var(--mtrl-sys-shape-corner-large-increased, 20px)}m-fab:not(:defined)[size=large]{width:96px;height:96px;border-radius:var(--mtrl-sys-shape-corner-extra-large, 28px)}m-extended-fab:not(:defined){display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;box-sizing:border-box;white-space:nowrap;background-color:var(--mtrl-sys-color-primary-container);color:var(--mtrl-sys-color-on-primary-container);height:56px;min-width:56px;padding:0 16px;gap:8px;border-radius:var(--mtrl-sys-shape-corner-large, 16px);font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.15px;font-weight:500}m-extended-fab:not(:defined)[icon]::before{width:24px;height:24px}m-extended-fab:not(:defined)[icon]::before{content:"";flex:none}m-extended-fab:not(:defined)[icon-position=end]::before{order:1}m-extended-fab:not(:defined)[size=medium]{height:80px;min-width:80px;padding:0 26px;gap:16px;border-radius:var(--mtrl-sys-shape-corner-large-increased, 20px);font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:22px;line-height:28px;letter-spacing:0;font-weight:400}m-extended-fab:not(:defined)[size=medium][icon]::before{width:28px;height:28px}m-extended-fab:not(:defined)[size=large]{height:96px;min-width:96px;padding:0 28px;gap:20px;border-radius:var(--mtrl-sys-shape-corner-extra-large, 28px);font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:24px;line-height:32px;letter-spacing:0;font-weight:400}m-extended-fab:not(:defined)[size=large][icon]::before{width:32px;height:32px}m-checkbox:not(:defined){display:inline-flex;align-items:center;box-sizing:border-box;min-height:48px;padding:4px 0;color:var(--mtrl-sys-color-on-surface);font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400}m-checkbox:not(:defined)::before{content:"";flex:none;box-sizing:border-box;width:18px;height:18px;margin-inline-end:12px;border:2px solid var(--mtrl-sys-color-on-surface-variant);border-radius:2px}m-checkbox:not(:defined)[checked]::before{border-color:var(--mtrl-sys-color-primary);background-color:var(--mtrl-sys-color-primary)}m-checkbox:not(:defined)[label-position=start]::before{order:1;margin-inline:12px 0}m-slider:not(:defined){display:block;height:48px;overflow:hidden;color:rgba(0,0,0,0)}m-textfield:not(:defined){display:inline-block;position:relative;box-sizing:border-box;width:280px;height:56px;padding:22px 16px 0 16px;border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) 0 0;border-bottom:1px solid var(--mtrl-sys-color-on-surface-variant);background-color:var(--mtrl-sys-color-surface-container-highest);color:var(--mtrl-sys-color-on-surface);white-space:nowrap;overflow:clip;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400}m-textfield:not(:defined)::before{content:attr(value) " ";white-space:pre}m-textfield:not(:defined)[label]::after{content:attr(label);position:absolute;top:16px;left:16px;color:var(--mtrl-sys-color-on-surface-variant)}m-textfield:not(:defined)[label][value]:not([value=""])::after{top:8px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:12px;line-height:16px;letter-spacing:.4px;font-weight:400}m-textfield:not(:defined)[variant=outlined]{padding-top:15.5px;border:1px solid var(--mtrl-sys-color-outline);border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px);background:none}m-textfield:not(:defined)[variant=outlined][label][value]:not([value=""])::after{top:-8px;padding:0 4px;left:12px}m-textfield:not(:defined)[density=compact]{height:40px;padding-top:13.5px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}m-textfield:not(:defined)[density=compact]::after{top:10px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}m-textfield:not(:defined)[density=compact][variant=outlined]{padding-top:9.5px}m-textfield:not(:defined)[supporting-text]:not([supporting-text=""]),m-textfield:not(:defined)[maxlength]{height:calc(56px + 20px);border-bottom:20px solid rgba(0,0,0,0);background-clip:padding-box;background-image:linear-gradient(to top, var(--mtrl-sys-color-on-surface-variant) 1px, transparent 1px)}m-textfield:not(:defined)[supporting-text]:not([supporting-text=""])[variant=outlined],m-textfield:not(:defined)[maxlength][variant=outlined]{padding-top:calc(15.5px + 1px);padding-left:calc(16px + 1px);border-width:0 0 20px;border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px)/var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) calc(var(--mtrl-sys-shape-corner-extra-small, 4px) + 20px) calc(var(--mtrl-sys-shape-corner-extra-small, 4px) + 20px);background-image:none;box-shadow:inset 0 0 0 1px var(--mtrl-sys-color-outline)}m-textfield:not(:defined)[supporting-text]:not([supporting-text=""])[density=compact],m-textfield:not(:defined)[maxlength][density=compact]{height:calc(40px + 20px)}m-textfield:not(:defined)>*{display:none}m-radios:not(:defined){display:block;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400}m-radios:not(:defined)[direction=horizontal]{display:flex;flex-wrap:wrap}m-radios:not(:defined)>*{visibility:hidden;display:flex;align-items:center;box-sizing:border-box;height:48px;padding-inline-start:48px}m-navigation-rail:not(:defined){display:block;box-sizing:border-box;padding:132px 0 16px;background:linear-gradient(var(--mtrl-sys-color-surface), var(--mtrl-sys-color-surface)) no-repeat 0 0/96px 100%}m-navigation-rail:not(:defined)>*{visibility:hidden;display:block;height:64px;overflow:hidden}m-navigation-rail:not(:defined)>*+*{margin-top:4px}m-drawer:not(:defined){display:block;flex-shrink:0;padding:12px 0}m-drawer:not(:defined)[open]{background-color:var(--mtrl-sys-color-surface)}m-drawer:not(:defined)>*{visibility:hidden;display:block;height:56px;overflow:hidden}m-top-app-bar:not(:defined){position:absolute;top:0;left:0;right:0;z-index:50;display:flex;align-items:center;box-sizing:border-box;height:64px;padding:0 12px 0 28px;background-color:var(--mtrl-sys-color-surface);color:var(--mtrl-sys-color-on-surface);white-space:nowrap;overflow:hidden;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:22px;line-height:28px;letter-spacing:0;font-weight:400}m-top-app-bar:not(:defined)[type=center]{justify-content:center}m-top-app-bar:not(:defined)[type=medium],m-top-app-bar:not(:defined)[type=large]{align-items:flex-end;padding-left:44px;padding-bottom:24px;height:112px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:24px;line-height:32px;letter-spacing:0;font-weight:400}m-top-app-bar:not(:defined)[type=large]{padding-bottom:28px;height:152px;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:28px;line-height:36px;letter-spacing:0;font-weight:400}m-top-app-bar:not(:defined)>[slot=leading]{order:-1}m-top-app-bar:not(:defined)>[slot=trailing]{order:1;margin-left:auto}m-bottom-app-bar:not(:defined){position:absolute;bottom:0;left:0;right:0;display:flex;align-items:center;gap:4px;box-sizing:border-box;height:80px;padding:12px 16px 12px 4px;background-color:var(--mtrl-sys-color-surface-container)}m-bottom-app-bar:not(:defined)>[slot=fab]{margin-left:auto}m-button-group:not(:defined){display:inline-flex;vertical-align:middle;gap:12px;white-space:nowrap}m-button-group:not(:defined)>*{visibility:hidden;display:inline-flex;align-items:center;box-sizing:border-box;height:40px;padding:0 16px;border:1px solid rgba(0,0,0,0);font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500}m-chips:not(:defined){display:flex;flex-wrap:wrap;gap:8px}m-chips:not(:defined)[vertical]{flex-direction:column;align-items:flex-start}m-chips:not(:defined)[scrollable]{flex-wrap:nowrap;overflow:hidden}m-chips:not(:defined)>*{visibility:hidden;display:inline-flex;align-items:center;box-sizing:border-box;height:32px;padding:0 16px;white-space:nowrap;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500}m-list:not(:defined){display:block;padding:8px 0;background-color:var(--mtrl-sys-color-surface)}m-list:not(:defined)>*{visibility:hidden;display:block;height:56px;overflow:hidden}m-list:not(:defined)>*[supporting-text],m-list:not(:defined)>*[overline]{height:72px}m-list:not(:defined)>*[kind=divider]{height:1px}m-list:not(:defined)>*[kind=subheader]{height:auto;padding:16px 16px 8px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500}m-card:not(:defined){display:flex;flex-direction:column;box-sizing:border-box;padding:16px;border-radius:var(--mtrl-sys-shape-corner-medium, 12px);background-color:var(--mtrl-sys-color-surface-container-low);color:var(--mtrl-sys-color-on-surface);font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}m-card:not(:defined)[variant=filled]{background-color:var(--mtrl-sys-color-surface-container-highest)}m-card:not(:defined)[variant=outlined]{border:1px solid var(--mtrl-sys-color-outline-variant);background-color:var(--mtrl-sys-color-surface)}m-card:not(:defined)[headline]::before{content:attr(headline);order:-2;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:22px;line-height:28px;letter-spacing:0;font-weight:400}m-card:not(:defined)[subhead]::after{content:attr(subhead);order:-1;color:var(--mtrl-sys-color-on-surface-variant)}m-card:not(:defined)[headline]:not([subhead])::before,m-card:not(:defined)[subhead]::after{margin-bottom:16px}m-card:not(:defined)>[slot=headline]{order:-2;font-family:var(--mtrl-ref-typeface-brand, Roboto, sans-serif);font-size:22px;line-height:28px;letter-spacing:0;font-weight:400}m-card:not(:defined)>[slot=subhead]{order:-1;color:var(--mtrl-sys-color-on-surface-variant)}m-carousel:not(:defined){display:block}m-carousel:not(:defined)>*{visibility:hidden;display:none}m-menu:not(:defined){display:none}m-fab-menu:not(:defined){display:inline-block;vertical-align:middle;box-sizing:border-box;overflow:hidden;background-color:var(--mtrl-sys-color-primary-container);width:56px;height:56px;border-radius:var(--mtrl-sys-shape-corner-large, 16px)}m-fab-menu:not(:defined)[size=default]{width:56px;height:56px;border-radius:var(--mtrl-sys-shape-corner-large, 16px)}m-fab-menu:not(:defined)[size=medium]{width:80px;height:80px;border-radius:var(--mtrl-sys-shape-corner-large-increased, 20px)}m-fab-menu:not(:defined)[size=large]{width:96px;height:96px;border-radius:var(--mtrl-sys-shape-corner-extra-large, 28px)}m-fab-menu:not(:defined)[color=secondary]{background-color:var(--mtrl-sys-color-secondary-container)}m-fab-menu:not(:defined)[color=tertiary]{background-color:var(--mtrl-sys-color-tertiary-container)}m-fab-menu:not(:defined)>*{visibility:hidden;display:none}m-select:not(:defined){display:inline-block;position:relative;box-sizing:border-box;width:280px;height:56px;padding:22px 44px 0 16px;border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) 0 0;border-bottom:1px solid var(--mtrl-sys-color-on-surface-variant);background-color:var(--mtrl-sys-color-surface-container-highest);color:var(--mtrl-sys-color-on-surface);white-space:nowrap;overflow:clip;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400}m-select:not(:defined)::before{content:attr(value) " ";white-space:pre}m-select:not(:defined)[label]::after{content:attr(label);position:absolute;top:16px;left:16px;color:var(--mtrl-sys-color-on-surface-variant)}m-select:not(:defined)[label][value]:not([value=""])::after{top:8px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:12px;line-height:16px;letter-spacing:.4px;font-weight:400}m-select:not(:defined)[variant=outlined]{padding-top:15.5px;border:1px solid var(--mtrl-sys-color-outline);border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px);background:none}m-select:not(:defined)[variant=outlined][label][value]:not([value=""])::after{top:-8px;padding:0 4px;left:12px}m-select:not(:defined)[density=compact]{height:40px;padding-top:13.5px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}m-select:not(:defined)[density=compact]::after{top:10px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.25px;font-weight:400}m-select:not(:defined)[density=compact][variant=outlined]{padding-top:9.5px}m-select:not(:defined)[supporting-text]:not([supporting-text=""]),m-select:not(:defined)[maxlength]{height:calc(56px + 20px);border-bottom:20px solid rgba(0,0,0,0);background-clip:padding-box;background-image:linear-gradient(to top, var(--mtrl-sys-color-on-surface-variant) 1px, transparent 1px)}m-select:not(:defined)[supporting-text]:not([supporting-text=""])[variant=outlined],m-select:not(:defined)[maxlength][variant=outlined]{padding-top:calc(15.5px + 1px);padding-left:calc(16px + 1px);border-width:0 0 20px;border-radius:var(--mtrl-sys-shape-corner-extra-small, 4px)/var(--mtrl-sys-shape-corner-extra-small, 4px) var(--mtrl-sys-shape-corner-extra-small, 4px) calc(var(--mtrl-sys-shape-corner-extra-small, 4px) + 20px) calc(var(--mtrl-sys-shape-corner-extra-small, 4px) + 20px);background-image:none;box-shadow:inset 0 0 0 1px var(--mtrl-sys-color-outline)}m-select:not(:defined)[supporting-text]:not([supporting-text=""])[density=compact],m-select:not(:defined)[maxlength][density=compact]{height:calc(40px + 20px)}m-select:not(:defined)>*{display:none}m-select:not(:defined)::before{content:" "}m-split-button:not(:defined){display:inline-flex;vertical-align:middle;align-items:center;position:relative;z-index:0;box-sizing:border-box;height:40px;padding:0 calc(12px + 50px) 0 16px;color:var(--mtrl-sys-color-on-primary);white-space:nowrap;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500}m-split-button:not(:defined)::before,m-split-button:not(:defined)::after{content:"";position:absolute;z-index:-1;top:0;bottom:0;background-color:var(--mtrl-sys-color-primary)}m-split-button:not(:defined)::before{left:0;right:50px;border-radius:20px 4px 4px 20px}m-split-button:not(:defined)::after{right:0;width:48px;border-radius:4px 20px 20px 4px}m-split-button:not(:defined)>*{display:none}m-tooltip:not(:defined){display:none}m-toolbar:not(:defined){display:flex;align-items:center;justify-content:space-between;gap:8px;box-sizing:border-box;min-height:64px;padding-inline:16px;background-color:var(--mtrl-sys-color-surface-container)}m-toolbar:not(:defined)[arrangement=center]{justify-content:center;gap:32px}m-toolbar:not(:defined)[variant=floating]{width:fit-content;justify-content:center;gap:4px;padding:8px;border-radius:var(--mtrl-sys-shape-corner-full, 9999px)}m-toolbar:not(:defined)[variant=floating]:not([flat]){box-shadow:0px 1px 2px rgba(0,0,0,.3),0px 1px 3px 1px rgba(0,0,0,.15)}m-toolbar:not(:defined)[variant=floating][orientation=vertical]{flex-direction:column;min-height:0;min-width:64px}m-toolbar:not(:defined)[color=vibrant]{background-color:var(--mtrl-sys-color-primary-container)}m-snackbar:not(:defined){display:none}m-dialog:not(:defined){display:none}m-bottom-sheet:not(:defined){display:none}m-side-sheet:not(:defined){display:none}m-datepicker:not(:defined){display:inline-block;box-sizing:border-box;width:280px;vertical-align:baseline;white-space:nowrap}m-datepicker:not(:defined)::before{content:attr(label) " ";white-space:pre;display:inline-block;width:100%;padding-bottom:80px;color:var(--mtrl-sys-color-on-surface);font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:12px;line-height:16px;letter-spacing:.4px;font-weight:400}m-datepicker:not(:defined)>*{display:none}m-timepicker:not(:defined){display:none}m-search:not(:defined){display:flex;align-items:center;box-sizing:border-box;height:56px;padding:0 56px 0 60px;border-radius:var(--mtrl-sys-shape-corner-full, 9999px);background-color:var(--mtrl-sys-color-surface-container-high);color:var(--mtrl-sys-color-on-surface-variant);white-space:nowrap;overflow:hidden;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);font-size:16px;line-height:24px;letter-spacing:.5px;font-weight:400}m-search:not(:defined)::before{content:attr(placeholder)}m-search:not(:defined)[value]:not([value=""])::before{content:attr(value);color:var(--mtrl-sys-color-on-surface)}m-search:not(:defined)>*{visibility:hidden;display:none}}
@@ -96,7 +96,7 @@ declare const textfieldSpec: {
96
96
  required: {
97
97
  type: "boolean";
98
98
  config: string;
99
- update: (c: TextfieldElementComponent, v: AttributeValue) => void;
99
+ update: (c: TextfieldElementComponent, v: AttributeValue) => undefined;
100
100
  };
101
101
  readonly: {
102
102
  type: "boolean";
@@ -67,7 +67,7 @@ const textfieldSpec = {
67
67
  },
68
68
  maxlength: { type: "number", config: "maxLength", update: inputAttribute("maxlength") },
69
69
  pattern: { type: "string", config: "pattern", update: inputAttribute("pattern") },
70
- required: { type: "boolean", config: "required", update: inputAttribute("required") },
70
+ required: { type: "boolean", config: "required", update: (c, v) => void c.setRequired(!!v) },
71
71
  readonly: { type: "boolean", config: "readonly", update: inputAttribute("readonly") },
72
72
  disabled: { type: "boolean", config: "disabled", update: (c, v) => void (v ? c.disable() : c.enable()) },
73
73
  error: { type: "boolean", config: "error", update: (c, v) => void c.setError(!!v) },
package/dist/index.cjs CHANGED
Binary file
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mtrl",
3
- "version": "0.10.4",
3
+ "version": "0.10.6",
4
4
  "description": "Material Design 3 components for the web: plain JavaScript, web components, and React, Vue, Svelte and Solid components. TypeScript, zero dependencies.",
5
5
  "author": "floor",
6
6
  "license": "MIT",
@@ -1,3 +1,6 @@
1
+ import "mtrl/elements/css/progress";
2
+ import "mtrl/elements/css/button";
3
+ import "mtrl/elements/css/divider";
1
4
  import "mtrl/elements/css/dialog";
2
5
  import { type DialogSpec, type DialogElement } from "../elements/dialog.js";
3
6
  import { type MComponent } from "./create.js";
@@ -1,6 +1,9 @@
1
1
  // src/react/dialog.ts
2
2
  // Generated by scripts/generate-adapters.ts from src/elements. Do not edit.
3
3
  "use client";
4
+ import "mtrl/elements/css/progress";
5
+ import "mtrl/elements/css/button";
6
+ import "mtrl/elements/css/divider";
4
7
  import "mtrl/elements/css/dialog";
5
8
  import { dialogElement, defineDialog } from "../elements/dialog.js";
6
9
  import { createComponent } from "./create.js";
@@ -18,7 +18,10 @@ export { Fab } from "./fab.js";
18
18
  export { ExtendedFab } from "./extended-fab.js";
19
19
  export { Checkbox } from "./checkbox.js";
20
20
  export { Slider } from "./slider.js";
21
- export { Textfield } from "./textfield.js";
21
+ export { Textfield as TextField } from "./textfield.js";
22
+ export {
23
+ /** @deprecated Use TextField: M3 writes "text field" as two words. Removed in 1.0 (FLO-383). */
24
+ Textfield, } from "./textfield.js";
22
25
  export { Radios } from "./radios.js";
23
26
  export { NavigationRail } from "./navigation-rail.js";
24
27
  export { Drawer } from "./drawer.js";
@@ -12,7 +12,8 @@ export { Fab } from "./fab.js";
12
12
  export { ExtendedFab } from "./extended-fab.js";
13
13
  export { Checkbox } from "./checkbox.js";
14
14
  export { Slider } from "./slider.js";
15
- export { Textfield } from "./textfield.js";
15
+ export { Textfield as TextField } from "./textfield.js";
16
+ export { Textfield, } from "./textfield.js";
16
17
  export { Radios } from "./radios.js";
17
18
  export { NavigationRail } from "./navigation-rail.js";
18
19
  export { Drawer } from "./drawer.js";
@@ -1,3 +1,6 @@
1
+ import "mtrl/elements/css/progress";
2
+ import "mtrl/elements/css/button";
3
+ import "mtrl/elements/css/divider";
1
4
  import "mtrl/elements/css/dialog";
2
5
  import { type DialogSpec, type DialogElement } from "../elements/dialog.js";
3
6
  import { type MComponent } from "./create.js";
@@ -1,5 +1,8 @@
1
1
  // src/solid/dialog.ts
2
2
  // Generated by scripts/generate-adapters.ts from src/elements. Do not edit.
3
+ import "mtrl/elements/css/progress";
4
+ import "mtrl/elements/css/button";
5
+ import "mtrl/elements/css/divider";
3
6
  import "mtrl/elements/css/dialog";
4
7
  import { dialogElement, defineDialog } from "../elements/dialog.js";
5
8
  import { createComponent } from "./create.js";
@@ -18,7 +18,10 @@ export { Fab } from "./fab.js";
18
18
  export { ExtendedFab } from "./extended-fab.js";
19
19
  export { Checkbox } from "./checkbox.js";
20
20
  export { Slider } from "./slider.js";
21
- export { Textfield } from "./textfield.js";
21
+ export { Textfield as TextField } from "./textfield.js";
22
+ export {
23
+ /** @deprecated Use TextField: M3 writes "text field" as two words. Removed in 1.0 (FLO-383). */
24
+ Textfield, } from "./textfield.js";
22
25
  export { Radios } from "./radios.js";
23
26
  export { NavigationRail } from "./navigation-rail.js";
24
27
  export { Drawer } from "./drawer.js";
@@ -11,7 +11,8 @@ export { Fab } from "./fab.js";
11
11
  export { ExtendedFab } from "./extended-fab.js";
12
12
  export { Checkbox } from "./checkbox.js";
13
13
  export { Slider } from "./slider.js";
14
- export { Textfield } from "./textfield.js";
14
+ export { Textfield as TextField } from "./textfield.js";
15
+ export { Textfield, } from "./textfield.js";
15
16
  export { Radios } from "./radios.js";
16
17
  export { NavigationRail } from "./navigation-rail.js";
17
18
  export { Drawer } from "./drawer.js";
@@ -1,2 +1,2 @@
1
- /*! mtrl v0.10.4 | MIT */
1
+ /*! mtrl v0.10.6 | MIT */
2
2
  @layer mtrl.base,mtrl.utilities,mtrl.textfield,mtrl.badge,mtrl.bottom-app-bar,mtrl.bottom-sheet,mtrl.side-sheet,mtrl.menu,mtrl.slider,mtrl.switch,mtrl.select,mtrl.progress,mtrl.button,mtrl.tabs,mtrl.top-app-bar,mtrl.icon-button,mtrl.button-group,mtrl.fab,mtrl.fab-menu,mtrl.extended-fab,mtrl.segmented-button,mtrl.card,mtrl.carousel,mtrl.checkbox,mtrl.chips,mtrl.divider,mtrl.dialog,mtrl.drawer,mtrl.loading-indicator,mtrl.split-button,mtrl.radios,mtrl.datepicker,mtrl.timepicker,mtrl.search,mtrl.snackbar,mtrl.navigation-rail,mtrl.list,mtrl.tooltip,mtrl.toolbar;@layer mtrl.badge{.mtrl-badge__wrapper{position:relative;display:inline-flex;flex-shrink:0}.mtrl-badge{position:absolute;display:flex;align-items:center;justify-content:center;font-weight:500;box-sizing:border-box;overflow:hidden;transition:all 200ms ease;text-overflow:ellipsis}.mtrl-badge--invisible{display:none}.mtrl-badge--small{width:6px;height:6px;min-width:6px;border-radius:var(--mtrl-sys-shape-corner-full, 9999px);font-size:0;padding:0}.mtrl-badge--large{height:16px;min-width:16px;border-radius:var(--mtrl-sys-shape-corner-full, 9999px);padding:0 4px;font-size:11px;line-height:16px;padding-top:.5px}.mtrl-badge--large.mtrl-badge--overflow{min-width:auto;max-width:34px;padding:0 4px}.mtrl-badge--positioned.mtrl-badge--small.mtrl-badge--top-right{top:-3px;right:-3px}.mtrl-badge--positioned.mtrl-badge--small.mtrl-badge--top-left{top:-3px;left:-3px}.mtrl-badge--positioned.mtrl-badge--small.mtrl-badge--bottom-right{bottom:-3px;right:-3px}.mtrl-badge--positioned.mtrl-badge--small.mtrl-badge--bottom-left{bottom:-3px;left:-3px}.mtrl-badge--positioned.mtrl-badge--large.mtrl-badge--top-right{top:-8px;right:-8px}.mtrl-badge--positioned.mtrl-badge--large.mtrl-badge--top-left{top:-8px;left:-8px}.mtrl-badge--positioned.mtrl-badge--large.mtrl-badge--bottom-right{bottom:-8px;right:-8px}.mtrl-badge--positioned.mtrl-badge--large.mtrl-badge--bottom-left{bottom:-8px;left:-8px}.mtrl-badge--error{background-color:var(--mtrl-sys-color-error);color:var(--mtrl-sys-color-on-error)}.mtrl-badge--primary{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}.mtrl-badge--secondary{background-color:var(--mtrl-sys-color-secondary);color:var(--mtrl-sys-color-on-secondary)}.mtrl-badge--tertiary{background-color:var(--mtrl-sys-color-tertiary);color:var(--mtrl-sys-color-on-tertiary)}.mtrl-badge--success{background-color:var(--mtrl-sys-color-success);color:var(--mtrl-sys-color-on-success)}.mtrl-badge--warning{background-color:var(--mtrl-sys-color-warning);color:var(--mtrl-sys-color-on-warning)}.mtrl-badge--info{background-color:var(--mtrl-sys-color-info);color:var(--mtrl-sys-color-on-info)}[dir=rtl] .mtrl-badge--positioned.mtrl-badge--top-right{right:auto;left:-8px}[dir=rtl] .mtrl-badge--positioned.mtrl-badge--top-left{left:auto;right:-8px}[dir=rtl] .mtrl-badge--positioned.mtrl-badge--bottom-right{right:auto;left:-8px}[dir=rtl] .mtrl-badge--positioned.mtrl-badge--bottom-left{left:auto;right:-8px}}