material 3.3.3 → 3.3.4

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 (163) hide show
  1. package/README.md +1 -1
  2. package/dist/components/menu/features/controller.js +23 -75
  3. package/dist/components/menu/features/opener.js +3 -15
  4. package/dist/components/menu/types.d.ts +1 -0
  5. package/dist/components/split-button/features/menu-on-demand.js +141 -0
  6. package/dist/components/split-button/features/menu.js +3 -4
  7. package/dist/elements/preupgrade/badge.css +1 -1
  8. package/dist/elements/preupgrade/bottom-app-bar.css +1 -1
  9. package/dist/elements/preupgrade/bottom-sheet.css +1 -1
  10. package/dist/elements/preupgrade/button-group.css +1 -1
  11. package/dist/elements/preupgrade/button.css +1 -1
  12. package/dist/elements/preupgrade/card.css +1 -1
  13. package/dist/elements/preupgrade/carousel.css +1 -1
  14. package/dist/elements/preupgrade/checkbox.css +1 -1
  15. package/dist/elements/preupgrade/chips.css +1 -1
  16. package/dist/elements/preupgrade/datepicker.css +1 -1
  17. package/dist/elements/preupgrade/dialog.css +1 -1
  18. package/dist/elements/preupgrade/divider.css +1 -1
  19. package/dist/elements/preupgrade/drawer.css +1 -1
  20. package/dist/elements/preupgrade/extended-fab.css +1 -1
  21. package/dist/elements/preupgrade/fab-menu.css +1 -1
  22. package/dist/elements/preupgrade/fab.css +1 -1
  23. package/dist/elements/preupgrade/icon-button.css +1 -1
  24. package/dist/elements/preupgrade/list.css +1 -1
  25. package/dist/elements/preupgrade/loading-indicator.css +1 -1
  26. package/dist/elements/preupgrade/menu.css +1 -1
  27. package/dist/elements/preupgrade/navigation-bar.css +1 -1
  28. package/dist/elements/preupgrade/navigation-rail.css +1 -1
  29. package/dist/elements/preupgrade/progress.css +1 -1
  30. package/dist/elements/preupgrade/radios.css +1 -1
  31. package/dist/elements/preupgrade/search.css +1 -1
  32. package/dist/elements/preupgrade/select.css +1 -1
  33. package/dist/elements/preupgrade/side-sheet.css +1 -1
  34. package/dist/elements/preupgrade/slider.css +1 -1
  35. package/dist/elements/preupgrade/snackbar.css +1 -1
  36. package/dist/elements/preupgrade/split-button.css +1 -1
  37. package/dist/elements/preupgrade/switch.css +1 -1
  38. package/dist/elements/preupgrade/tabs.css +1 -1
  39. package/dist/elements/preupgrade/text-field.css +1 -1
  40. package/dist/elements/preupgrade/timepicker.css +1 -1
  41. package/dist/elements/preupgrade/toolbar.css +1 -1
  42. package/dist/elements/preupgrade/tooltip.css +1 -1
  43. package/dist/elements/preupgrade/top-app-bar.css +1 -1
  44. package/dist/elements/preupgrade.css +1 -1
  45. package/dist/package.json +1 -1
  46. package/dist/styles/badge.css +1 -1
  47. package/dist/styles/base.css +1 -1
  48. package/dist/styles/bottom-app-bar.css +1 -1
  49. package/dist/styles/bottom-sheet.css +1 -1
  50. package/dist/styles/button-group.css +1 -1
  51. package/dist/styles/button.css +1 -1
  52. package/dist/styles/card.css +1 -1
  53. package/dist/styles/carousel.css +1 -1
  54. package/dist/styles/checkbox.css +1 -1
  55. package/dist/styles/chips.css +1 -1
  56. package/dist/styles/contrast.css +1 -1
  57. package/dist/styles/datepicker.css +1 -1
  58. package/dist/styles/dialog.css +1 -1
  59. package/dist/styles/divider.css +1 -1
  60. package/dist/styles/drawer.css +1 -1
  61. package/dist/styles/extended-fab.css +1 -1
  62. package/dist/styles/fab-menu.css +1 -1
  63. package/dist/styles/fab.css +1 -1
  64. package/dist/styles/icon-button.css +1 -1
  65. package/dist/styles/list.css +1 -1
  66. package/dist/styles/loading-indicator.css +1 -1
  67. package/dist/styles/menu.css +1 -1
  68. package/dist/styles/navigation-bar.css +1 -1
  69. package/dist/styles/navigation-rail.css +1 -1
  70. package/dist/styles/progress.css +1 -1
  71. package/dist/styles/radios.css +1 -1
  72. package/dist/styles/search.css +1 -1
  73. package/dist/styles/select.css +1 -1
  74. package/dist/styles/side-sheet.css +1 -1
  75. package/dist/styles/slider.css +1 -1
  76. package/dist/styles/snackbar.css +1 -1
  77. package/dist/styles/split-button.css +1 -1
  78. package/dist/styles/switch.css +1 -1
  79. package/dist/styles/tabs.css +1 -1
  80. package/dist/styles/text-field.css +1 -1
  81. package/dist/styles/timepicker.css +1 -1
  82. package/dist/styles/toolbar.css +1 -1
  83. package/dist/styles/tooltip.css +1 -1
  84. package/dist/styles/top-app-bar.css +1 -1
  85. package/dist/styles/typography.css +1 -1
  86. package/dist/styles/utilities.css +1 -1
  87. package/dist/styles.css +1 -1
  88. package/dist/themes/autumn-contrast.css +1 -1
  89. package/dist/themes/autumn.css +1 -1
  90. package/dist/themes/baseline-contrast.css +1 -1
  91. package/dist/themes/baseline.css +1 -1
  92. package/dist/themes/brownbeige-contrast.css +1 -1
  93. package/dist/themes/brownbeige.css +1 -1
  94. package/dist/themes/content-contrast.css +1 -1
  95. package/dist/themes/content.css +1 -1
  96. package/dist/themes/desert-contrast.css +1 -1
  97. package/dist/themes/desert.css +1 -1
  98. package/dist/themes/expressive-contrast.css +1 -1
  99. package/dist/themes/expressive.css +1 -1
  100. package/dist/themes/fidelity-contrast.css +1 -1
  101. package/dist/themes/fidelity.css +1 -1
  102. package/dist/themes/forest-contrast.css +1 -1
  103. package/dist/themes/forest.css +1 -1
  104. package/dist/themes/fruit-salad-contrast.css +1 -1
  105. package/dist/themes/fruit-salad.css +1 -1
  106. package/dist/themes/highcontrast-contrast.css +1 -1
  107. package/dist/themes/highcontrast.css +1 -1
  108. package/dist/themes/monochrome-contrast.css +1 -1
  109. package/dist/themes/monochrome.css +1 -1
  110. package/dist/themes/neutral-contrast.css +1 -1
  111. package/dist/themes/neutral.css +1 -1
  112. package/dist/themes/ocean-contrast.css +1 -1
  113. package/dist/themes/ocean.css +1 -1
  114. package/dist/themes/rainbow-contrast.css +1 -1
  115. package/dist/themes/rainbow.css +1 -1
  116. package/dist/themes/sageivory-contrast.css +1 -1
  117. package/dist/themes/sageivory.css +1 -1
  118. package/dist/themes/spring-contrast.css +1 -1
  119. package/dist/themes/spring.css +1 -1
  120. package/dist/themes/summer-contrast.css +1 -1
  121. package/dist/themes/summer.css +1 -1
  122. package/dist/themes/sunset-contrast.css +1 -1
  123. package/dist/themes/sunset.css +1 -1
  124. package/dist/themes/tealcaramel-contrast.css +1 -1
  125. package/dist/themes/tealcaramel.css +1 -1
  126. package/dist/themes/vibrant-contrast.css +1 -1
  127. package/dist/themes/vibrant.css +1 -1
  128. package/package.json +1 -1
  129. package/dist/components/badge/types.js +0 -1
  130. package/dist/components/bottom-app-bar/types.js +0 -1
  131. package/dist/components/bottom-sheet/types.js +0 -1
  132. package/dist/components/button/types.js +0 -1
  133. package/dist/components/button-group/types.js +0 -1
  134. package/dist/components/card/types.js +0 -1
  135. package/dist/components/carousel/types.js +0 -1
  136. package/dist/components/checkbox/types.js +0 -1
  137. package/dist/components/chips/types.js +0 -1
  138. package/dist/components/dialog/types.js +0 -1
  139. package/dist/components/divider/types.js +0 -1
  140. package/dist/components/drawer/types.js +0 -1
  141. package/dist/components/extended-fab/types.js +0 -1
  142. package/dist/components/fab/types.js +0 -1
  143. package/dist/components/fab-menu/types.js +0 -1
  144. package/dist/components/icon-button/types.js +0 -1
  145. package/dist/components/list/types.js +0 -1
  146. package/dist/components/loading-indicator/types.js +0 -1
  147. package/dist/components/menu/types.js +0 -14
  148. package/dist/components/navigation-bar/types.js +0 -1
  149. package/dist/components/navigation-rail/types.js +0 -1
  150. package/dist/components/progress/types.js +0 -1
  151. package/dist/components/radios/types.js +0 -1
  152. package/dist/components/search/types.js +0 -1
  153. package/dist/components/select/types.js +0 -4
  154. package/dist/components/side-sheet/types.js +0 -1
  155. package/dist/components/snackbar/types.js +0 -1
  156. package/dist/components/split-button/types.js +0 -1
  157. package/dist/components/switch/types.js +0 -1
  158. package/dist/components/tabs/types.js +0 -1
  159. package/dist/components/text-field/types.js +0 -18
  160. package/dist/components/toolbar/types.js +0 -1
  161. package/dist/components/top-app-bar/types.js +0 -1
  162. package/dist/react/jsx.js +0 -2
  163. package/dist/solid/jsx.js +0 -1
package/README.md CHANGED
@@ -94,7 +94,7 @@ What a bundler keeps, minified and gzipped (kB is 1,000 bytes), measured from th
94
94
  | `createButton` from `material`, with code splitting: the initial chunks (the progress indicator loads on demand) | 7.6 kB |
95
95
  | `createButton`, without code splitting (the progress indicator included) | 13.9 kB |
96
96
  | `createButton`, `createTextField` and `createCheckbox`, without code splitting | 20.2 kB |
97
- | Everything the root exports (`export * from 'material'`), without code splitting | 126.7 kB |
97
+ | Everything the root exports (`export * from 'material'`), without code splitting | 127.1 kB |
98
98
  | `material/styles/base` | 2.9 kB |
99
99
  | `material/styles/base` and `material/styles/button` | 5.2 kB |
100
100
  | `material/styles`, the full stylesheet | 63.7 kB |
@@ -45,23 +45,11 @@ const withController = (config, getComponent) => (component) => {
45
45
  return eventData;
46
46
  },
47
47
  };
48
- const getOpenerElement = () => {
49
- if (component.opener && typeof component.opener.getOpener === "function") {
50
- return component.opener.getOpener();
51
- }
52
- const { opener } = config;
53
- if (typeof opener === "string") {
54
- const element = document.querySelector(opener);
55
- if (!element) {
56
- console.warn(`Menu opener not found: ${opener}`);
57
- return null;
58
- }
59
- return element;
60
- }
61
- if (typeof opener === "object" && opener !== null && "element" in opener) {
62
- return opener.element;
63
- }
64
- return opener;
48
+ const getOpenerElement = () => getComponent().getOpener() ?? null;
49
+ const reposition = () => {
50
+ const opener = getOpenerElement();
51
+ if (opener)
52
+ component.position?.positionMenu(opener);
65
53
  };
66
54
  const createMenuItem = (item, index) => {
67
55
  const itemElement = document.createElement("li");
@@ -287,10 +275,7 @@ const withController = (config, getComponent) => (component) => {
287
275
  if (topLayer)
288
276
  showInTopLayer(component.element, { kind: "popover-manual" });
289
277
  showTimer = tasks.setTimeout(() => {
290
- const openerElement = getOpenerElement();
291
- if (openerElement && component.position) {
292
- component.position.positionMenu(openerElement);
293
- }
278
+ reposition();
294
279
  component.element.setAttribute("aria-hidden", "false");
295
280
  component.element.style.transform = "";
296
281
  component.element.style.opacity = "";
@@ -298,24 +283,7 @@ const withController = (config, getComponent) => (component) => {
298
283
  component.element.classList.add(`${component.getClass("menu--visible")}`);
299
284
  if (!listbox)
300
285
  focusTimer = tasks.setTimeout(() => {
301
- if (component.keyboard && component.keyboard.handleInitialFocus) {
302
- component.keyboard.handleInitialFocus(component.element, interactionType);
303
- }
304
- else {
305
- const items = Array.from(component.element.querySelectorAll(`.${component.getClass("menu__item")}`));
306
- items.forEach((item) => {
307
- item.tabIndex = -1;
308
- });
309
- if (items.length > 0)
310
- items[0].tabIndex = 0;
311
- if (interactionType === "keyboard" && items.length > 0) {
312
- items[0].focus();
313
- }
314
- else {
315
- component.element.tabIndex = -1;
316
- component.element.focus();
317
- }
318
- }
286
+ component.keyboard?.handleInitialFocus(component.element, interactionType);
319
287
  }, 100);
320
288
  window.addEventListener("resize", handleWindowResize, {
321
289
  passive: true,
@@ -406,26 +374,18 @@ const withController = (config, getComponent) => (component) => {
406
374
  }
407
375
  }
408
376
  else if (isTargetInsideSubmenu) {
409
- if (component.keyboard && component.keyboard.handleMenuKeydown) {
410
- component.keyboard.handleMenuKeydown(e, state, {
411
- closeMenu,
412
- findItemById,
413
- ...submenuActions,
414
- });
415
- }
416
- else if (e.key === "Escape") {
417
- e.preventDefault();
418
- closeMenu(e, true);
419
- }
377
+ component.keyboard?.handleMenuKeydown(e, state, {
378
+ closeMenu,
379
+ findItemById,
380
+ ...submenuActions,
381
+ });
420
382
  }
421
383
  else {
422
- if (component.keyboard && component.keyboard.handleMenuKeydown) {
423
- component.keyboard.handleMenuKeydown(e, state, {
424
- closeMenu,
425
- findItemById,
426
- ...submenuActions,
427
- });
428
- }
384
+ component.keyboard?.handleMenuKeydown(e, state, {
385
+ closeMenu,
386
+ findItemById,
387
+ ...submenuActions,
388
+ });
429
389
  }
430
390
  }
431
391
  };
@@ -435,10 +395,7 @@ const withController = (config, getComponent) => (component) => {
435
395
  closeMenu(undefined, true);
436
396
  }
437
397
  else {
438
- const openerElement = getOpenerElement();
439
- if (openerElement && component.position) {
440
- component.position.positionMenu(openerElement);
441
- }
398
+ reposition();
442
399
  }
443
400
  }
444
401
  };
@@ -447,19 +404,13 @@ const withController = (config, getComponent) => (component) => {
447
404
  return;
448
405
  if (state.visible) {
449
406
  tasks.requestAnimationFrame(() => {
450
- const openerElement = getOpenerElement();
451
- if (openerElement && component.position) {
452
- component.position.positionMenu(openerElement);
453
- }
407
+ reposition();
454
408
  });
455
409
  }
456
410
  };
457
411
  const initMenu = () => {
458
412
  if (state.visible) {
459
- const openerElement = getOpenerElement();
460
- if (openerElement && component.position) {
461
- component.position.positionMenu(openerElement);
462
- }
413
+ reposition();
463
414
  component.element.classList.add(`${component.getClass("menu--visible")}`);
464
415
  if (config.closeOnClickOutside) {
465
416
  document.addEventListener("click", handleDocumentClick);
@@ -493,8 +444,8 @@ const withController = (config, getComponent) => (component) => {
493
444
  });
494
445
  });
495
446
  renderMenuItems();
496
- if (!listbox && component.keyboard && component.keyboard.setupKeyboardHandlers) {
497
- component.keyboard.setupKeyboardHandlers(component.element, state, {
447
+ if (!listbox) {
448
+ component.keyboard?.setupKeyboardHandlers(component.element, state, {
498
449
  closeMenu,
499
450
  findItemById,
500
451
  ...submenuActions,
@@ -550,10 +501,7 @@ const withController = (config, getComponent) => (component) => {
550
501
  setPosition: (position) => {
551
502
  state.position = position;
552
503
  if (state.visible) {
553
- const openerElement = getOpenerElement();
554
- if (openerElement && component.position) {
555
- component.position.positionMenu(openerElement);
556
- }
504
+ reposition();
557
505
  }
558
506
  return component;
559
507
  },
@@ -2,16 +2,7 @@ import { createMenuTasks } from "./tasks.js";
2
2
  import { focusWithin } from "./layer.js";
3
3
  const withOpener = (config) => (component) => {
4
4
  const tasks = createMenuTasks();
5
- let isTabNavigation = false;
6
- let tabTimeout = null;
7
- const handleTabKey = (e) => {
8
- isTabNavigation = e.key === "Tab";
9
- tasks.clearTimeout(tabTimeout);
10
- tabTimeout = tasks.setTimeout(() => {
11
- isTabNavigation = false;
12
- }, 100);
13
- };
14
- document.addEventListener("keydown", handleTabKey);
5
+ const isTabNavigationActive = () => component.keyboard?.isTabNavigationActive?.() ?? false;
15
6
  const state = {
16
7
  openerElement: null,
17
8
  openerComponent: null,
@@ -203,7 +194,7 @@ const withOpener = (config) => (component) => {
203
194
  if (!component.menu || !component.menu.isOpen())
204
195
  return;
205
196
  const relatedTarget = e.relatedTarget;
206
- if (isTabNavigation) {
197
+ if (isTabNavigationActive()) {
207
198
  tasks.setTimeout(() => {
208
199
  if (component.menu && component.menu.isOpen()) {
209
200
  component.menu.close(e, false);
@@ -228,8 +219,6 @@ const withOpener = (config) => (component) => {
228
219
  };
229
220
  const cleanup = () => {
230
221
  tasks.cancelAll();
231
- tabTimeout = null;
232
- isTabNavigation = false;
233
222
  if (state.openerElement) {
234
223
  if (!config.manualOpen) {
235
224
  state.openerElement.removeEventListener("click", handleOpenerClick);
@@ -254,7 +243,6 @@ const withOpener = (config) => (component) => {
254
243
  if (tasks.destroyed)
255
244
  return;
256
245
  tasks.destroy();
257
- document.removeEventListener("keydown", handleTabKey);
258
246
  cleanup();
259
247
  originalDestroy.call(component.lifecycle);
260
248
  };
@@ -269,7 +257,7 @@ const withOpener = (config) => (component) => {
269
257
  if (state.openerElement && !config.listbox) {
270
258
  state.openerElement.setAttribute("aria-expanded", "false");
271
259
  setOpenerActive(false);
272
- if (event.restoreFocus && !isTabNavigation) {
260
+ if (event.restoreFocus && !isTabNavigationActive()) {
273
261
  restoreFocusToOpener();
274
262
  }
275
263
  }
@@ -165,6 +165,7 @@ export interface MenuFeatureHost {
165
165
  removeKeyboardHandlers: (element: HTMLElement) => void;
166
166
  handleMenuKeydown: (e: KeyboardEvent, state: KeyboardMenuState, actions: KeyboardActions) => void;
167
167
  handleInitialFocus: (menuElement: HTMLElement, interactionType: "keyboard" | "mouse") => void;
168
+ isTabNavigationActive: () => boolean;
168
169
  };
169
170
  submenu?: {
170
171
  handleSubmenuClick: (item: MenuItem, index: number, itemElement: HTMLElement) => void;
@@ -0,0 +1,141 @@
1
+ export const createOnDemandMenu = (settings, items) => {
2
+ let menu = null;
3
+ let loading = false;
4
+ let destroyed = false;
5
+ let opened = false;
6
+ let asked = [undefined, undefined];
7
+ let current = items;
8
+ let selected;
9
+ let position = settings.position ?? "bottom-end";
10
+ let opener = settings.opener;
11
+ const openerElement = typeof settings.opener === "string"
12
+ ? null
13
+ : settings.opener.element ?? settings.opener;
14
+ const placeholder = document.createElement("div");
15
+ placeholder.id = `menu-${Date.now()}-${Math.floor(Math.random() * 1000)}`;
16
+ openerElement?.setAttribute("aria-controls", placeholder.id);
17
+ const listeners = new Map();
18
+ const notify = (event, payload) => {
19
+ for (const listener of listeners.get(event) ?? [])
20
+ listener(payload);
21
+ };
22
+ const attach = (created) => {
23
+ menu = created;
24
+ if (selected !== undefined)
25
+ created.setSelected(selected);
26
+ if (position !== settings.position)
27
+ created.setPosition(position);
28
+ if (opener !== settings.opener)
29
+ created.setOpener(opener);
30
+ if (opened)
31
+ created.open(asked[0], asked[1]);
32
+ for (const [event, set] of listeners)
33
+ for (const listener of set)
34
+ created.on(event, listener);
35
+ listeners.clear();
36
+ };
37
+ const load = () => {
38
+ if (menu || loading || destroyed)
39
+ return;
40
+ loading = true;
41
+ import("../../menu/index.js").then(({ default: createMenu }) => {
42
+ loading = false;
43
+ if (destroyed)
44
+ return;
45
+ attach(createMenu({ ...settings, items: current }));
46
+ }, (error) => {
47
+ loading = false;
48
+ console.error("Split button menu failed to load:", error);
49
+ });
50
+ };
51
+ const api = {
52
+ get element() {
53
+ return menu?.element ?? placeholder;
54
+ },
55
+ open(event, interactionType) {
56
+ if (menu) {
57
+ menu.open(event, interactionType);
58
+ return api;
59
+ }
60
+ if (!opened) {
61
+ opened = true;
62
+ notify("open", { menu: api, originalEvent: event });
63
+ }
64
+ asked = [event, interactionType];
65
+ load();
66
+ return api;
67
+ },
68
+ close(event, restoreFocus = true, skipAnimation = false) {
69
+ if (menu) {
70
+ menu.close(event, restoreFocus, skipAnimation);
71
+ return api;
72
+ }
73
+ if (opened) {
74
+ opened = false;
75
+ notify("close", { menu: api, originalEvent: event });
76
+ }
77
+ return api;
78
+ },
79
+ toggle(event) {
80
+ if (api.isOpen())
81
+ api.close(event);
82
+ else
83
+ api.open(event);
84
+ return api;
85
+ },
86
+ isOpen: () => (menu ? menu.isOpen() : opened),
87
+ setItems(items) {
88
+ current = items;
89
+ menu?.setItems(items);
90
+ return api;
91
+ },
92
+ getItems: () => (menu ? menu.getItems() : current),
93
+ setOpener(value) {
94
+ if (menu)
95
+ menu.setOpener(value);
96
+ else
97
+ opener = value;
98
+ return api;
99
+ },
100
+ getOpener: () => (menu ? menu.getOpener() : opener),
101
+ setPosition(value) {
102
+ if (menu)
103
+ menu.setPosition(value);
104
+ else
105
+ position = value;
106
+ return api;
107
+ },
108
+ getPosition: () => (menu ? menu.getPosition() : position),
109
+ setSelected(value) {
110
+ if (menu)
111
+ menu.setSelected(value);
112
+ else
113
+ selected = value;
114
+ return api;
115
+ },
116
+ getSelected: () => (menu ? menu.getSelected() : (selected ?? null)),
117
+ on(event, handler) {
118
+ if (menu)
119
+ menu.on(event, handler);
120
+ else {
121
+ const set = listeners.get(event) ?? new Set();
122
+ set.add(handler);
123
+ listeners.set(event, set);
124
+ }
125
+ return api;
126
+ },
127
+ off(event, handler) {
128
+ if (menu)
129
+ menu.off(event, handler);
130
+ else
131
+ listeners.get(event)?.delete(handler);
132
+ return api;
133
+ },
134
+ destroy() {
135
+ destroyed = true;
136
+ listeners.clear();
137
+ menu?.destroy();
138
+ },
139
+ };
140
+ return api;
141
+ };
@@ -1,15 +1,14 @@
1
- import createMenu from "../../menu/index.js";
2
1
  import { MENU } from "../../menu/inner.js";
3
2
  import { SPLIT_BUTTON_DEFAULTS } from "../constants.js";
4
- export const makeMenu = (config, trailing, items) => createMenu({
3
+ import { createOnDemandMenu } from "./menu-on-demand.js";
4
+ export const makeMenu = (config, trailing, items) => createOnDemandMenu({
5
5
  opener: trailing,
6
- items,
7
6
  position: "bottom-end",
8
7
  offset: SPLIT_BUTTON_DEFAULTS.MENU_OFFSET,
9
8
  manualOpen: true,
10
9
  ...(config.layer ? { layer: config.layer } : {}),
11
10
  prefix: config.prefix,
12
- });
11
+ }, items);
13
12
  export const withMenu = (config) => (component) => {
14
13
  if (!config.items || config.items.length === 0)
15
14
  return component;
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-badge:not(:defined){display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;vertical-align:middle;overflow:hidden;height:16px;min-width:16px;max-width:34px;padding:0 4px;border-radius:var(--mtrl-sys-shape-corner-full, 9999px);font-weight:500;font-size:11px;line-height:16px;background-color:var(--mtrl-sys-color-error);color:var(--mtrl-sys-color-on-error)}m-badge:not(:defined)[color=primary]{background-color:var(--mtrl-sys-color-primary);color:var(--mtrl-sys-color-on-primary)}m-badge:not(:defined)[color=secondary]{background-color:var(--mtrl-sys-color-secondary);color:var(--mtrl-sys-color-on-secondary)}m-badge:not(:defined)[color=tertiary]{background-color:var(--mtrl-sys-color-tertiary);color:var(--mtrl-sys-color-on-tertiary)}m-badge:not(:defined)[color=success]{background-color:var(--mtrl-sys-color-success);color:var(--mtrl-sys-color-on-success)}m-badge:not(:defined)[color=warning]{background-color:var(--mtrl-sys-color-warning);color:var(--mtrl-sys-color-on-warning)}m-badge:not(:defined)[color=info]{background-color:var(--mtrl-sys-color-info);color:var(--mtrl-sys-color-on-info)}m-badge:not(:defined):empty[label]:not([label=""])::before{content:attr(label)}m-badge:not(:defined):not([variant=small]):is(:empty:not([label]),[label=""],[label="0"]){width:0;height:0;min-width:0;max-width:none;padding:0;font-size:0;background-color:rgba(0,0,0,0)}m-badge:not(:defined)[variant=small]{width:6px;height:6px;min-width:6px;max-width:none;padding:0;font-size:0}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-bottom-sheet:not(:defined){display:none}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-button-group:not(:defined){display:inline-flex;vertical-align:baseline;gap:12px;white-space:nowrap}m-button-group:not(:defined)::before{width:0;height:32px;margin-inline-end:-12px;align-self:flex-start}m-button-group:not(:defined):has(>[icon]:empty:first-child){align-items:center}m-button-group:not(:defined):has(>[icon]:empty:first-child)::before{content:""}m-button-group:not(:defined)[size=xs]{gap:18px}m-button-group:not(:defined):is([size=m],[size=l],[size=xl]){gap:8px}m-button-group:not(:defined)[density=comfortable]>*{height:36px}m-button-group:not(:defined)[density=compact]>*{height:32px}m-button-group:not(:defined)[size=xs]>*{height:32px;padding:0 13px}m-button-group:not(:defined)[size=xs][density=comfortable]>*{height:28px}m-button-group:not(:defined)[size=xs][density=compact]>*{height:24px}m-button-group:not(:defined)[size=xs]::before{height:26px;margin-inline-end:-18px}m-button-group:not(:defined)[size=m]>*{height:56px;padding:0 25px;font-size:16px;line-height:24px;letter-spacing:.15px}m-button-group:not(:defined)[size=m][density=comfortable]>*{height:52px}m-button-group:not(:defined)[size=m][density=compact]>*{height:48px}m-button-group:not(:defined)[size=m]::before{height:40px}m-button-group:not(:defined)[size=l]>*{height:96px;padding:0 50px;font-size:24px;line-height:32px}m-button-group:not(:defined)[size=l][density=comfortable]>*{height:92px}m-button-group:not(:defined)[size=l][density=compact]>*{height:88px}m-button-group:not(:defined)[size=l]::before{height:64px}m-button-group:not(:defined)[size=xl]>*{height:136px;padding:0 67px;font-size:32px;line-height:40px}m-button-group:not(:defined)[size=xl][density=comfortable]>*{height:132px}m-button-group:not(:defined)[size=xl][density=compact]>*{height:128px}m-button-group:not(:defined)[size=xl]::before{height:88px}m-button-group:not(:defined):is([size=m],[size=l],[size=xl])::before{margin-inline-end:-8px}m-button-group:not(:defined):is([size=l],[size=xl])>*{letter-spacing:0;font-weight:400}m-button-group:not(:defined)[density=comfortable]::before{margin-block-start:-2px}m-button-group:not(:defined)[density=compact]::before{margin-block-start:-4px}m-button-group:not(:defined)>*{visibility:hidden;display:inline-flex;align-items:center;flex:none;min-width:58px;font-family:var(--mtrl-ref-typeface-plain, Roboto, sans-serif);height:40px;padding:0 17px;font-size:14px;line-height:20px;letter-spacing:.1px;font-weight:500}m-button-group:not(:defined)>*[icon]:empty{min-width:0;padding:0;aspect-ratio:1}m-button-group:not(:defined)[kind=connected]{gap:2px}m-button-group:not(:defined)[kind=connected]::before{margin-inline-end:-2px}m-button-group:not(:defined):is(:not([size]),[size=xs],[size=s])[kind=connected]>*{min-width:48px}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | 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,m-button:not(:defined)[icon][icon-position=end]::after{width:20px;height:20px}m-button:not(:defined)[size=xs]{height:32px;padding:0 12px;gap:4px;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,m-button:not(:defined)[size=xs][icon][icon-position=end]::after{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,m-button:not(:defined)[size=s][icon][icon-position=end]::after{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,m-button:not(:defined)[size=m][icon][icon-position=end]::after{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,m-button:not(:defined)[size=l][icon][icon-position=end]::after{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,m-button:not(:defined)[size=xl][icon][icon-position=end]::after{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,m-button:not(:defined)[icon][icon-position=end]::after{content:"";flex:none}m-button:not(:defined)[icon][icon-position=end]::before{content:none}m-button:not(:defined)[icon]:not([size]),m-button:not(:defined)[icon][size=s]{padding-inline-start:12px}m-button:not(:defined)[icon]:not([size])[icon-position=end],m-button:not(:defined)[icon][size=s][icon-position=end]{padding-inline-start:16px;padding-inline-end:12px}m-button:not(:defined)[variant=text][icon]:not([size]),m-button:not(:defined)[variant=text][icon][size=xs],m-button:not(:defined)[variant=text][icon][size=s]{padding-inline:12px 16px}m-button:not(:defined)[variant=text][icon]:not([size])[icon-position=end],m-button:not(:defined)[variant=text][icon][size=xs][icon-position=end],m-button:not(:defined)[variant=text][icon][size=s][icon-position=end]{padding-inline:16px 12px}m-button:not(:defined)[variant=text][icon][size=m]{padding:0 24px}m-button:not(:defined)[variant=text][icon][size=l]{padding:0 48px}m-button:not(:defined)[variant=text][icon][size=xl]{padding:0 64px}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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-card:not(:defined):not(:has(>[slot=actions]~[slot=actions]))>[slot=actions]{align-self:flex-end;margin-block:24px -8px;margin-inline:-8px}m-card:not(:defined):not(:has(>[slot=actions]~[slot=actions]))[actions-align=start]>[slot=actions],m-card:not(:defined):not(:has(>[slot=actions]~[slot=actions]))[actions-align=space-between]>[slot=actions]{align-self:flex-start}m-card:not(:defined):not(:has(>[slot=actions]~[slot=actions]))[actions-align=center]>[slot=actions]{align-self:center}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-carousel:not(:defined){display:block}m-carousel:not(:defined)>*{visibility:hidden;display:none}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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-checkbox:not(:defined):empty:is(:not([label]),[label=""]){min-width:48px;justify-content:center}m-checkbox:not(:defined):empty:is(:not([label]),[label=""])::before{margin-inline:0}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-datepicker:not(:defined){display:inline-flex;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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-dialog:not(:defined){display:none}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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)[placement=top-start]{position:fixed;top:16px;inset-inline-start:16px}m-extended-fab:not(:defined)[placement=top-end]{position:fixed;top:16px;inset-inline-end:16px}m-extended-fab:not(:defined)[placement=bottom-start]{position:fixed;bottom:16px;inset-inline-start:16px}m-extended-fab:not(:defined)[placement=bottom-end]{position:fixed;bottom:16px;inset-inline-end:16px}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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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)[placement=top-start]{position:fixed;top:16px;inset-inline-start:16px}m-fab:not(:defined)[placement=top-end]{position:fixed;top:16px;inset-inline-end:16px}m-fab:not(:defined)[placement=bottom-start]{position:fixed;bottom:16px;inset-inline-start:16px}m-fab:not(:defined)[placement=bottom-end]{position:fixed;bottom:16px;inset-inline-end:16px}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)}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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)}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-list:not(:defined){display:block;padding:8px 0;background-color:var(--mtrl-sys-color-surface);border-radius:var(--mtrl-list-item-shape-outer, var(--mtrl-sys-shape-corner-large, 16px))}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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-loading-indicator:not(:defined){display:inline-flex;vertical-align:middle;width:48px;height:48px;overflow:hidden;color:rgba(0,0,0,0)}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-menu:not(:defined){display:none}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-navigation-bar:not(:defined){display:block;box-sizing:border-box;block-size:calc(64px + env(safe-area-inset-bottom, 0px));background:var(--mtrl-sys-color-surface-container)}m-navigation-bar:not(:defined)>*{visibility:hidden;display:none}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-radios:not(:defined){display:flex;flex-direction:column;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]{flex-direction:row;flex-wrap:wrap}m-radios:not(:defined)[direction=horizontal]>m-radio{margin-inline-end:16px}m-radios:not(:defined)[direction=horizontal]>m-radio:last-of-type{margin-inline-end:0}m-radios:not(:defined):has(>m-radio)::before{content:"";flex:none;height:34px;margin-block-end:-34px}m-radios:not(:defined)>*{visibility:hidden;display:flex;align-items:center;box-sizing:border-box;min-height:48px;padding-inline-start:48px}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-select:not(:defined){display:inline-block;position:relative;box-sizing:border-box;width:280px;height:56px;padding:24.5px 52px 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):not([label]){padding-top:16.5px}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]:not([label]){padding-top:10px}m-select:not(:defined)[density=compact][variant=outlined]{padding-top:9px}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:" "}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-side-sheet:not(:defined){display:none}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-slider:not(:defined){display:block;height:48px;overflow:hidden;color:rgba(0,0,0,0)}m-slider:not(:defined)[label]:not([label=""]){height:76px}m-slider:not(:defined):is(:not([label]),[label=""])[size=xs i]{height:48px}m-slider:not(:defined)[label]:not([label=""])[size=xs i]{height:76px}m-slider:not(:defined):is(:not([label]),[label=""])[size=s i]{height:48px}m-slider:not(:defined)[label]:not([label=""])[size=s i]{height:76px}m-slider:not(:defined):is(:not([label]),[label=""])[size=m i]{height:52px}m-slider:not(:defined)[label]:not([label=""])[size=m i]{height:80px}m-slider:not(:defined):is(:not([label]),[label=""])[size=l i]{height:68px}m-slider:not(:defined)[label]:not([label=""])[size=l i]{height:96px}m-slider:not(:defined):is(:not([label]),[label=""])[size=xl i]{height:108px}m-slider:not(:defined)[label]:not([label=""])[size=xl i]{height:136px}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{m-snackbar:not(:defined){display:none}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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-switch:not(:defined):empty:is(:not([label]),[label=""])[supporting-text]:not([supporting-text=""])::after{grid-row:2}m-switch:not(:defined):empty:is(:not([label]),[label=""]):is(:not([supporting-text]),[supporting-text=""]){column-gap:0;min-height:48px}m-switch:not(:defined):empty:is(:not([label]),[label=""]):is(:not([supporting-text]),[supporting-text=""])::before{content:"";grid-column:1;grid-row:1/span 2}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}
@@ -1,2 +1,2 @@
1
- /*! material v3.3.3 | MIT */
1
+ /*! material v3.3.4 | MIT */
2
2
  @layer mtrl.preupgrade{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}[data-mtrl-ssr]:not(:defined):not(#\0),[data-mtrl-ssr]:not(:defined):not(#\0)::before,[data-mtrl-ssr]:not(:defined):not(#\0)::after,[data-mtrl-ssr]:not(:defined):not(#\0) > :defined{all:revert-layer}}