@material/web 2.4.2-nightly.f6c1871.0 → 2.4.2-nightly.fd6fe2a.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (182) hide show
  1. package/button/internal/_touch-target.scss +1 -1
  2. package/button/internal/button.d.ts +0 -4
  3. package/button/internal/button.js.map +1 -1
  4. package/button/internal/shared-styles.css +1 -1
  5. package/button/internal/shared-styles.css.map +1 -1
  6. package/button/internal/shared-styles.cssresult.js +1 -1
  7. package/button/internal/shared-styles.cssresult.js.map +1 -1
  8. package/checkbox/internal/checkbox.d.ts +2 -2
  9. package/checkbox/internal/checkbox.js.map +1 -1
  10. package/chips/internal/chip.d.ts +2 -0
  11. package/custom-elements.json +47238 -0
  12. package/icon/internal/icon.d.ts +1 -1
  13. package/icon/internal/icon.js +1 -1
  14. package/icon/internal/icon.js.map +1 -1
  15. package/iconbutton/internal/icon-button.d.ts +0 -4
  16. package/iconbutton/internal/icon-button.js.map +1 -1
  17. package/internal/aria/aria.d.ts +1 -1
  18. package/labs/behaviors/form-associated.d.ts +0 -22
  19. package/labs/behaviors/form-associated.js +0 -11
  20. package/labs/behaviors/form-associated.js.map +1 -1
  21. package/labs/gb/components/button/button.d.ts +1 -1
  22. package/labs/gb/components/button/button.js +5 -5
  23. package/labs/gb/components/button/button.js.map +1 -1
  24. package/labs/gb/components/button/md-button.d.ts +10 -2
  25. package/labs/gb/components/button/md-button.js +92 -11
  26. package/labs/gb/components/button/md-button.js.map +1 -1
  27. package/labs/gb/components/card/card.d.ts +1 -1
  28. package/labs/gb/components/card/card.js +3 -3
  29. package/labs/gb/components/card/card.js.map +1 -1
  30. package/labs/gb/components/card/md-card.d.ts +9 -1
  31. package/labs/gb/components/card/md-card.js +85 -8
  32. package/labs/gb/components/card/md-card.js.map +1 -1
  33. package/labs/gb/components/checkbox/checkbox.css +1 -1
  34. package/labs/gb/components/checkbox/checkbox.css.map +1 -1
  35. package/labs/gb/components/checkbox/checkbox.cssresult.js +1 -1
  36. package/labs/gb/components/checkbox/checkbox.cssresult.js.map +1 -1
  37. package/labs/gb/components/checkbox/checkbox.d.ts +1 -1
  38. package/labs/gb/components/checkbox/checkbox.js +4 -4
  39. package/labs/gb/components/checkbox/checkbox.js.map +1 -1
  40. package/labs/gb/components/checkbox/checkbox.scss +13 -13
  41. package/labs/gb/components/checkbox/md-checkbox.d.ts +4 -4
  42. package/labs/gb/components/checkbox/md-checkbox.js +10 -10
  43. package/labs/gb/components/checkbox/md-checkbox.js.map +1 -1
  44. package/labs/gb/components/divider/divider.d.ts +1 -1
  45. package/labs/gb/components/divider/divider.js +1 -1
  46. package/labs/gb/components/divider/divider.js.map +1 -1
  47. package/labs/gb/components/fab/fab.d.ts +1 -1
  48. package/labs/gb/components/fab/fab.js +4 -4
  49. package/labs/gb/components/fab/fab.js.map +1 -1
  50. package/labs/gb/components/fab/md-fab.js +4 -4
  51. package/labs/gb/components/fab/md-fab.js.map +1 -1
  52. package/labs/gb/components/focus/focus-ring.js +1 -1
  53. package/labs/gb/components/focus/focus-ring.js.map +1 -1
  54. package/labs/gb/components/iconbutton/icon-button.d.ts +1 -1
  55. package/labs/gb/components/iconbutton/icon-button.js +5 -5
  56. package/labs/gb/components/iconbutton/icon-button.js.map +1 -1
  57. package/labs/gb/components/iconbutton/md-icon-button.d.ts +1 -1
  58. package/labs/gb/components/iconbutton/md-icon-button.js +7 -7
  59. package/labs/gb/components/iconbutton/md-icon-button.js.map +1 -1
  60. package/labs/gb/components/list/_list-tokens.scss +102 -0
  61. package/labs/gb/components/list/list.css +4 -0
  62. package/labs/gb/components/list/list.css.map +1 -0
  63. package/labs/gb/components/list/list.cssresult.d.ts +3 -0
  64. package/labs/gb/components/list/list.cssresult.js +14 -0
  65. package/labs/gb/components/list/list.cssresult.js.map +1 -0
  66. package/labs/gb/components/list/list.d.ts +103 -0
  67. package/labs/gb/components/list/list.js +109 -0
  68. package/labs/gb/components/list/list.js.map +1 -0
  69. package/labs/gb/components/list/list.scss +212 -0
  70. package/labs/gb/components/list/md-list-item.d.ts +44 -0
  71. package/labs/gb/components/list/md-list-item.js +122 -0
  72. package/labs/gb/components/list/md-list-item.js.map +1 -0
  73. package/labs/gb/components/list/md-list.d.ts +26 -0
  74. package/labs/gb/components/list/md-list.js +51 -0
  75. package/labs/gb/components/list/md-list.js.map +1 -0
  76. package/labs/gb/components/menu/_menu-tokens.scss +128 -0
  77. package/labs/gb/components/menu/md-menu-group.d.ts +26 -0
  78. package/labs/gb/components/menu/md-menu-group.js +65 -0
  79. package/labs/gb/components/menu/md-menu-group.js.map +1 -0
  80. package/labs/gb/components/menu/md-menu-item.d.ts +30 -0
  81. package/labs/gb/components/menu/md-menu-item.js +165 -0
  82. package/labs/gb/components/menu/md-menu-item.js.map +1 -0
  83. package/labs/gb/components/menu/md-menu.d.ts +28 -0
  84. package/labs/gb/components/menu/md-menu.js +141 -0
  85. package/labs/gb/components/menu/md-menu.js.map +1 -0
  86. package/labs/gb/components/menu/menu.css +4 -0
  87. package/labs/gb/components/menu/menu.css.map +1 -0
  88. package/labs/gb/components/menu/menu.cssresult.d.ts +3 -0
  89. package/labs/gb/components/menu/menu.cssresult.js +14 -0
  90. package/labs/gb/components/menu/menu.cssresult.js.map +1 -0
  91. package/labs/gb/components/menu/menu.d.ts +117 -0
  92. package/labs/gb/components/menu/menu.js +107 -0
  93. package/labs/gb/components/menu/menu.js.map +1 -0
  94. package/labs/gb/components/menu/menu.scss +171 -0
  95. package/labs/gb/components/radio/md-radio.d.ts +4 -4
  96. package/labs/gb/components/radio/md-radio.js +11 -11
  97. package/labs/gb/components/radio/md-radio.js.map +1 -1
  98. package/labs/gb/components/radio/radio.css +1 -1
  99. package/labs/gb/components/radio/radio.css.map +1 -1
  100. package/labs/gb/components/radio/radio.cssresult.js +1 -1
  101. package/labs/gb/components/radio/radio.cssresult.js.map +1 -1
  102. package/labs/gb/components/radio/radio.d.ts +1 -1
  103. package/labs/gb/components/radio/radio.js +4 -4
  104. package/labs/gb/components/radio/radio.js.map +1 -1
  105. package/labs/gb/components/radio/radio.scss +4 -5
  106. package/labs/gb/components/ripple/ripple.js +5 -2
  107. package/labs/gb/components/ripple/ripple.js.map +1 -1
  108. package/labs/gb/components/shared/directives.js +2 -3
  109. package/labs/gb/components/shared/directives.js.map +1 -1
  110. package/labs/gb/components/splitbutton/_split-button-tokens.scss +135 -0
  111. package/labs/gb/components/splitbutton/md-split-button.d.ts +26 -0
  112. package/labs/gb/components/splitbutton/md-split-button.js +119 -0
  113. package/labs/gb/components/splitbutton/md-split-button.js.map +1 -0
  114. package/labs/gb/components/splitbutton/split-button.css +4 -0
  115. package/labs/gb/components/splitbutton/split-button.css.map +1 -0
  116. package/labs/gb/components/splitbutton/split-button.cssresult.d.ts +3 -0
  117. package/labs/gb/components/splitbutton/split-button.cssresult.js +14 -0
  118. package/labs/gb/components/splitbutton/split-button.cssresult.js.map +1 -0
  119. package/labs/gb/components/splitbutton/split-button.d.ts +47 -0
  120. package/labs/gb/components/splitbutton/split-button.js +46 -0
  121. package/labs/gb/components/splitbutton/split-button.js.map +1 -0
  122. package/labs/gb/components/splitbutton/split-button.scss +164 -0
  123. package/labs/gb/components/switch/md-switch.d.ts +4 -4
  124. package/labs/gb/components/switch/md-switch.js +12 -12
  125. package/labs/gb/components/switch/md-switch.js.map +1 -1
  126. package/labs/gb/components/switch/switch.d.ts +1 -1
  127. package/labs/gb/components/switch/switch.js +5 -5
  128. package/labs/gb/components/switch/switch.js.map +1 -1
  129. package/labs/gb/styles/adopt-styles.js +1 -6
  130. package/labs/gb/styles/adopt-styles.js.map +1 -1
  131. package/labs/gb/styles/icon/md-icon.css +1 -1
  132. package/labs/gb/styles/icon/md-icon.css.map +1 -1
  133. package/labs/gb/styles/icon/md-icon.cssresult.js +1 -1
  134. package/labs/gb/styles/icon/md-icon.cssresult.js.map +1 -1
  135. package/labs/gb/styles/icon/md-icon.d.ts +20 -0
  136. package/labs/gb/styles/icon/md-icon.js +24 -0
  137. package/labs/gb/styles/icon/md-icon.js.map +1 -0
  138. package/labs/gb/styles/icon/md-icon.scss +2 -1
  139. package/labs/gb/styles/m3.css +5 -2
  140. package/labs/gb/styles/m3.css.map +1 -1
  141. package/labs/gb/styles/m3.cssresult.js +5 -2
  142. package/labs/gb/styles/m3.cssresult.js.map +1 -1
  143. package/labs/gb/styles/m3.scss +1 -0
  144. package/labs/gb/styles/space/md-space-tokens.css +4 -0
  145. package/labs/gb/styles/space/md-space-tokens.css.map +1 -0
  146. package/labs/gb/styles/space/md-space-tokens.cssresult.d.ts +3 -0
  147. package/labs/gb/styles/space/md-space-tokens.cssresult.js +14 -0
  148. package/labs/gb/styles/space/md-space-tokens.cssresult.js.map +1 -0
  149. package/labs/gb/styles/space/md-space-tokens.scss +28 -0
  150. package/labs/gb/styles/tailwind.css +4 -0
  151. package/labs/gb/styles/tailwind.css.map +1 -0
  152. package/labs/gb/styles/tailwind.cssresult.d.ts +3 -0
  153. package/labs/gb/styles/tailwind.cssresult.js +14 -0
  154. package/labs/gb/styles/tailwind.cssresult.js.map +1 -0
  155. package/labs/gb/styles/tailwind.scss +349 -0
  156. package/labs/gb/styles/typography/internal/_typography-tokens.scss +85 -16
  157. package/labs/gb/styles/typography/md-typography-tokens.css +1 -1
  158. package/labs/gb/styles/typography/md-typography-tokens.css.map +1 -1
  159. package/labs/gb/styles/typography/md-typography-tokens.cssresult.js +1 -1
  160. package/labs/gb/styles/typography/md-typography-tokens.cssresult.js.map +1 -1
  161. package/list/internal/listitem/list-item.d.ts +6 -1
  162. package/list/internal/listitem/list-item.js +4 -1
  163. package/list/internal/listitem/list-item.js.map +1 -1
  164. package/menu/internal/menuitem/menu-item.d.ts +2 -0
  165. package/menu/internal/submenu/sub-menu.d.ts +5 -1
  166. package/menu/internal/submenu/sub-menu.js +5 -1
  167. package/menu/internal/submenu/sub-menu.js.map +1 -1
  168. package/package.json +27 -4
  169. package/radio/internal/radio.d.ts +0 -2
  170. package/radio/internal/radio.js.map +1 -1
  171. package/select/internal/select.d.ts +2 -2
  172. package/select/internal/select.js.map +1 -1
  173. package/select/internal/selectoption/select-option.d.ts +2 -0
  174. package/slider/internal/slider.d.ts +0 -2
  175. package/slider/internal/slider.js.map +1 -1
  176. package/switch/internal/_switch.scss +1 -0
  177. package/switch/internal/switch-styles.css +1 -1
  178. package/switch/internal/switch-styles.css.map +1 -1
  179. package/switch/internal/switch-styles.cssresult.js +1 -1
  180. package/switch/internal/switch-styles.cssresult.js.map +1 -1
  181. package/switch/internal/switch.d.ts +0 -2
  182. package/switch/internal/switch.js.map +1 -1
@@ -0,0 +1,164 @@
1
+ /*!
2
+ * Copyright 2026 Google LLC
3
+ * SPDX-License-Identifier: Apache-2.0
4
+ */
5
+
6
+ // go/keep-sorted start by_regex='(.+) prefix_order=sass:
7
+ @use 'split-button-tokens';
8
+ // go/keep-sorted end
9
+
10
+ @layer md.sys, md.comp.ripple, md.comp.focus-ring, md.comp.button;
11
+ @layer md.comp.split-button {
12
+ .split-btn {
13
+ @include split-button-tokens.root;
14
+
15
+ .btn {
16
+ @include split-button-tokens.button;
17
+ }
18
+
19
+ .btn-xs {
20
+ @include split-button-tokens.button-xs;
21
+
22
+ &:where(:nth-child(1 of .btn)) {
23
+ @include split-button-tokens.button-xs-leading;
24
+ }
25
+
26
+ &:where(:nth-last-child(1 of .btn)) {
27
+ @include split-button-tokens.button-xs-trailing;
28
+ }
29
+
30
+ &:where(:hover, .hover) {
31
+ @include split-button-tokens.button-xs-hovered;
32
+ }
33
+
34
+ &:where(:active, .active) {
35
+ @include split-button-tokens.button-xs-pressed;
36
+ }
37
+ }
38
+
39
+ .btn-sm {
40
+ @include split-button-tokens.button-sm;
41
+
42
+ &:where(:nth-child(1 of .btn)) {
43
+ @include split-button-tokens.button-sm-leading;
44
+ }
45
+
46
+ &:where(:nth-last-child(1 of .btn)) {
47
+ @include split-button-tokens.button-sm-trailing;
48
+ }
49
+
50
+ &:where(:hover, .hover) {
51
+ @include split-button-tokens.button-sm-hovered;
52
+ }
53
+
54
+ &:where(:active, .active) {
55
+ @include split-button-tokens.button-sm-pressed;
56
+ }
57
+ }
58
+
59
+ .btn-md {
60
+ @include split-button-tokens.button-md;
61
+
62
+ &:where(:nth-child(1 of .btn)) {
63
+ @include split-button-tokens.button-md-leading;
64
+ }
65
+
66
+ &:where(:nth-last-child(1 of .btn)) {
67
+ @include split-button-tokens.button-md-trailing;
68
+ }
69
+
70
+ &:where(:hover, .hover) {
71
+ @include split-button-tokens.button-md-hovered;
72
+ }
73
+
74
+ &:where(:active, .active) {
75
+ @include split-button-tokens.button-md-pressed;
76
+ }
77
+ }
78
+
79
+ .btn-lg {
80
+ @include split-button-tokens.button-lg;
81
+
82
+ &:where(:nth-child(1 of .btn)) {
83
+ @include split-button-tokens.button-lg-leading;
84
+ }
85
+
86
+ &:where(:nth-last-child(1 of .btn)) {
87
+ @include split-button-tokens.button-lg-trailing;
88
+ }
89
+
90
+ &:where(:hover, .hover) {
91
+ @include split-button-tokens.button-lg-hovered;
92
+ }
93
+
94
+ &:where(:active, .active) {
95
+ @include split-button-tokens.button-lg-pressed;
96
+ }
97
+ }
98
+
99
+ .btn-xl {
100
+ @include split-button-tokens.button-xl;
101
+
102
+ &:where(:nth-child(1 of .btn)) {
103
+ @include split-button-tokens.button-xl-leading;
104
+ }
105
+
106
+ &:where(:nth-last-child(1 of .btn)) {
107
+ @include split-button-tokens.button-xl-trailing;
108
+ }
109
+
110
+ &:where(:hover, .hover) {
111
+ @include split-button-tokens.button-xl-hovered;
112
+ }
113
+
114
+ &:where(:active, .active) {
115
+ @include split-button-tokens.button-xl-pressed;
116
+ }
117
+ }
118
+
119
+ &:is(.split-btn-selected, :has(:popover-open)) {
120
+ :nth-last-child(1 of .btn) {
121
+ @include split-button-tokens.button-trailing-selected;
122
+ }
123
+ }
124
+ }
125
+
126
+ .split-btn {
127
+ & {
128
+ display: inline-flex;
129
+ align-items: center;
130
+ gap: var(--between-space);
131
+ }
132
+
133
+ :nth-child(1 of .btn) {
134
+ border-start-start-radius: var(--outer-corner-size);
135
+ border-end-start-radius: var(--outer-corner-size);
136
+ border-start-end-radius: var(--inner-corner-size);
137
+ border-end-end-radius: var(--inner-corner-size);
138
+ }
139
+
140
+ :nth-last-child(1 of .btn) {
141
+ border-start-start-radius: var(--inner-corner-size);
142
+ border-end-start-radius: var(--inner-corner-size);
143
+ border-start-end-radius: var(--outer-corner-size);
144
+ border-end-end-radius: var(--outer-corner-size);
145
+
146
+ &::before {
147
+ content: 'arrow_drop_down';
148
+ font: var(--md-icon-size) var(--md-icon-font);
149
+ display: flex;
150
+ align-items: center;
151
+ aspect-ratio: 1;
152
+ width: var(--md-icon-size);
153
+ overflow: hidden;
154
+ }
155
+ }
156
+
157
+ &:is(.split-btn-selected, :has(:popover-open))
158
+ :nth-last-child(1 of .btn)::before {
159
+ transform: rotate(180deg);
160
+ transition: transform var(--md-sys-motion-duration-short4)
161
+ var(--md-sys-motion-easing-standard);
162
+ }
163
+ }
164
+ }
@@ -3,17 +3,17 @@
3
3
  * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { createValidator, getValidityAnchor } from '@material/web/labs/behaviors/constraint-validation.js';
7
- import { getFormState, getFormValue } from '@material/web/labs/behaviors/form-associated.js';
8
- import { CheckboxValidator } from '@material/web/labs/behaviors/validators/checkbox-validator.js';
9
6
  import { CSSResultOrNative, LitElement } from 'lit';
7
+ import { createValidator, getValidityAnchor } from '../../../behaviors/constraint-validation.js';
8
+ import { getFormState, getFormValue } from '../../../behaviors/form-associated.js';
9
+ import { CheckboxValidator } from '../../../behaviors/validators/checkbox-validator.js';
10
10
  declare global {
11
11
  interface HTMLElementTagNameMap {
12
12
  /** A Material Design switch component. */
13
13
  'md-switch': Switch;
14
14
  }
15
15
  }
16
- declare const baseClass: import("@material/web/labs/behaviors/mixin.js").MixinReturn<import("@material/web/labs/behaviors/mixin.js").MixinReturn<import("@material/web/labs/behaviors/mixin.js").MixinReturn<(abstract new (...args: any[]) => import("@material/web/labs/behaviors/custom-state-set.js").WithCustomStateSet) & (abstract new (...args: any[]) => import("@material/web/labs/behaviors/element-internals.js").WithElementInternals) & typeof LitElement & import("@material/web/labs/behaviors/form-associated.js").FormAssociatedConstructor, import("@material/web/labs/behaviors/form-associated.js").FormAssociated>, import("@material/web/labs/behaviors/constraint-validation.js").ConstraintValidation>>;
16
+ declare const baseClass: import("@material/web/labs/behaviors/mixin.js").MixinReturn<import("@material/web/labs/behaviors/mixin.js").MixinReturn<import("@material/web/labs/behaviors/mixin.js").MixinReturn<(abstract new (...args: any[]) => import("../../../behaviors/custom-state-set.js").WithCustomStateSet) & (abstract new (...args: any[]) => import("../../../behaviors/element-internals.js").WithElementInternals) & typeof LitElement & import("../../../behaviors/form-associated.js").FormAssociatedConstructor, import("../../../behaviors/form-associated.js").FormAssociated>, import("../../../behaviors/constraint-validation.js").ConstraintValidation>>;
17
17
  /**
18
18
  * A Material Design switch component.
19
19
  */
@@ -4,20 +4,20 @@
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
6
  import { __decorate } from "tslib";
7
- import { mixinDelegatesAria } from '@material/web/internal/aria/delegate.js';
8
- import { redispatchEvent } from '@material/web/internal/events/redispatch-event.js';
9
- import { createValidator, getValidityAnchor, mixinConstraintValidation, } from '@material/web/labs/behaviors/constraint-validation.js';
10
- import { hasState, mixinCustomStateSet, toggleState, } from '@material/web/labs/behaviors/custom-state-set.js';
11
- import { mixinElementInternals } from '@material/web/labs/behaviors/element-internals.js';
12
- import { getFormState, getFormValue, mixinFormAssociated, } from '@material/web/labs/behaviors/form-associated.js';
13
- import { CheckboxValidator } from '@material/web/labs/behaviors/validators/checkbox-validator.js';
14
- import { hasSlotted } from '@material/web/labs/gb/components/shared/has-slotted.js';
15
7
  import { css, html, LitElement, nothing } from 'lit';
16
8
  import { customElement, property, query } from 'lit/decorators.js';
17
- import focusRingStyles from '@material/web/labs/gb/components/focus/focus-ring.css' with { type: 'css' }; // github-only
18
- // import focusRingStyles from '@material/web/labs/gb/components/focus/focus-ring.cssresult.js'; // google3-only
19
- import rippleStyles from '@material/web/labs/gb/components/ripple/ripple.css' with { type: 'css' }; // github-only
20
- // import rippleStyles from '@material/web/labs/gb/components/ripple/ripple.cssresult.js'; // google3-only
9
+ import { mixinDelegatesAria } from '../../../../internal/aria/delegate.js';
10
+ import { redispatchEvent } from '../../../../internal/events/redispatch-event.js';
11
+ import { createValidator, getValidityAnchor, mixinConstraintValidation, } from '../../../behaviors/constraint-validation.js';
12
+ import { hasState, mixinCustomStateSet, toggleState, } from '../../../behaviors/custom-state-set.js';
13
+ import { mixinElementInternals } from '../../../behaviors/element-internals.js';
14
+ import { getFormState, getFormValue, mixinFormAssociated, } from '../../../behaviors/form-associated.js';
15
+ import { CheckboxValidator } from '../../../behaviors/validators/checkbox-validator.js';
16
+ import { hasSlotted } from '../shared/has-slotted.js';
17
+ import focusRingStyles from '../focus/focus-ring.css' with { type: 'css' }; // github-only
18
+ // import focusRingStyles from '../focus/focus-ring.cssresult.js'; // google3-only
19
+ import rippleStyles from '../ripple/ripple.css' with { type: 'css' }; // github-only
20
+ // import rippleStyles from '../ripple/ripple.cssresult.js'; // google3-only
21
21
  import switchStyles from './switch.css' with { type: 'css' }; // github-only
22
22
  // import switchStyles from './switch.cssresult.js'; // google3-only
23
23
  import { switchToggle } from './switch.js';
@@ -1 +1 @@
1
- {"version":3,"file":"md-switch.js","sourceRoot":"","sources":["md-switch.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {ARIAMixinStrict} from '@material/web/internal/aria/aria.js';\nimport {mixinDelegatesAria} from '@material/web/internal/aria/delegate.js';\nimport {redispatchEvent} from '@material/web/internal/events/redispatch-event.js';\nimport {\n createValidator,\n getValidityAnchor,\n mixinConstraintValidation,\n} from '@material/web/labs/behaviors/constraint-validation.js';\nimport {\n hasState,\n mixinCustomStateSet,\n toggleState,\n} from '@material/web/labs/behaviors/custom-state-set.js';\nimport {mixinElementInternals} from '@material/web/labs/behaviors/element-internals.js';\nimport {\n getFormState,\n getFormValue,\n mixinFormAssociated,\n} from '@material/web/labs/behaviors/form-associated.js';\nimport {CheckboxValidator} from '@material/web/labs/behaviors/validators/checkbox-validator.js';\nimport {hasSlotted} from '@material/web/labs/gb/components/shared/has-slotted.js';\nimport {css, CSSResultOrNative, html, LitElement, nothing} from 'lit';\nimport {customElement, property, query} from 'lit/decorators.js';\n\nimport focusRingStyles from '@material/web/labs/gb/components/focus/focus-ring.css' with {type: 'css'}; // github-only\n// import focusRingStyles from '@material/web/labs/gb/components/focus/focus-ring.cssresult.js'; // google3-only\nimport rippleStyles from '@material/web/labs/gb/components/ripple/ripple.css' with {type: 'css'}; // github-only\n// import rippleStyles from '@material/web/labs/gb/components/ripple/ripple.cssresult.js'; // google3-only\nimport switchStyles from './switch.css' with {type: 'css'}; // github-only\n// import switchStyles from './switch.cssresult.js'; // google3-only\n\nimport {switchToggle} from './switch.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n /** A Material Design switch component. */\n 'md-switch': Switch;\n }\n}\n\n// Separate variable needed for closure.\nconst baseClass = mixinDelegatesAria(\n mixinConstraintValidation(\n mixinFormAssociated(mixinCustomStateSet(mixinElementInternals(LitElement))),\n ),\n);\n\n/**\n * A Material Design switch component.\n */\n@customElement('md-switch')\nexport class Switch extends baseClass {\n /** @nocollapse */\n static override shadowRootOptions: ShadowRootInit = {\n mode: 'open',\n delegatesFocus: true,\n };\n\n static override styles: CSSResultOrNative[] = [\n focusRingStyles,\n rippleStyles,\n switchStyles,\n css`\n :host {\n display: inline-flex;\n }\n .switch {\n flex: 1;\n }\n ::slotted(*) {\n grid-area: handle;\n }\n `,\n ];\n\n /**\n * Puts the switch in the selected state and sets the form submission value to\n * the `value` property.\n */\n @property({type: Boolean})\n get selected() {\n return this[hasState]('selected');\n }\n set selected(value: boolean) {\n this[toggleState]('selected', value);\n }\n\n /**\n * The default selected state of the switch.\n */\n get defaultSelected(): boolean {\n return this.hasAttribute('selected');\n }\n set defaultSelected(value: boolean) {\n this.toggleAttribute('selected', value || false);\n }\n\n /**\n * When true, require the switch to be selected when participating in\n * form submission.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#validation\n */\n @property({type: Boolean}) required = false;\n\n /**\n * The value associated with this switch on form submission. `null` is\n * submitted when `selected` is `false`.\n */\n @property() value = 'on';\n\n @query('button', true)\n private readonly button!: HTMLButtonElement | null;\n\n /**\n * Mimics the behavior of <input> dirty checkedness, where the `checked`\n * attribute only updates the checked state if the checkbox has not been\n * interacted with.\n *\n * @see https://html.spec.whatwg.org/multipage/input.html#concept-input-checked-dirty-flag\n */\n private dirtyCheckedness = false;\n\n protected override render() {\n const {ariaLabel} = this as ARIAMixinStrict;\n return html`\n <button\n role=\"switch\"\n part=\"switch\"\n class=\"${switchToggle()}\"\n aria-checked=\"${this.selected ? 'true' : 'false'}\"\n aria-label=${ariaLabel || nothing}\n ?disabled=${this.disabled}\n @change=${this.handleChange}>\n <slot name=\"off-icon\" class=\"switch-icon-off\" ${hasSlotted()}></slot>\n <slot name=\"on-icon\" class=\"switch-icon-on\"></slot>\n </button>\n `;\n }\n\n private handleChange(event: Event) {\n this.dirtyCheckedness = true;\n this.selected = this.button?.ariaChecked === 'true';\n // Change event is not composed, re-dispatch it.\n redispatchEvent(this, event);\n }\n\n override attributeChangedCallback(\n name: string,\n oldValue: string | null,\n newValue: string | null,\n ) {\n if (name === 'selected' && this.dirtyCheckedness) {\n // The 'selected' attribute does not update switches that have been\n // interacted with.\n return;\n }\n\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n override [getFormValue]() {\n return this.selected ? this.value : null;\n }\n\n override [getFormState]() {\n return String(this.selected);\n }\n\n override formResetCallback() {\n this.dirtyCheckedness = false;\n this.selected = this.defaultSelected;\n }\n\n override formStateRestoreCallback(state: string) {\n this.selected = state === 'true';\n }\n\n override [createValidator]() {\n return new CheckboxValidator(() => ({\n checked: this.selected,\n required: this.required,\n }));\n }\n\n override [getValidityAnchor]() {\n return this.button;\n }\n}\n"]}
1
+ {"version":3,"file":"md-switch.js","sourceRoot":"","sources":["md-switch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAEH,OAAO,EAAC,GAAG,EAAqB,IAAI,EAAE,UAAU,EAAE,OAAO,EAAC,MAAM,KAAK,CAAC;AACtE,OAAO,EAAC,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAC,MAAM,mBAAmB,CAAC;AAEjE,OAAO,EAAC,kBAAkB,EAAC,MAAM,uCAAuC,CAAC;AACzE,OAAO,EAAC,eAAe,EAAC,MAAM,iDAAiD,CAAC;AAChF,OAAO,EACL,eAAe,EACf,iBAAiB,EACjB,yBAAyB,GAC1B,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACL,QAAQ,EACR,mBAAmB,EACnB,WAAW,GACZ,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAC,qBAAqB,EAAC,MAAM,yCAAyC,CAAC;AAC9E,OAAO,EACL,YAAY,EACZ,YAAY,EACZ,mBAAmB,GACpB,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAC,iBAAiB,EAAC,MAAM,qDAAqD,CAAC;AACtF,OAAO,EAAC,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAEpD,OAAO,eAAe,MAAM,yBAAyB,CAAC,OAAM,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,cAAc;AACxF,kFAAkF;AAClF,OAAO,YAAY,MAAM,sBAAsB,CAAC,OAAM,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,cAAc;AAClF,4EAA4E;AAC5E,OAAO,YAAY,MAAM,cAAc,CAAC,OAAM,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,cAAc;AAC1E,oEAAoE;AAEpE,OAAO,EAAC,YAAY,EAAC,MAAM,aAAa,CAAC;AASzC,wCAAwC;AACxC,MAAM,SAAS,GAAG,kBAAkB,CAClC,yBAAyB,CACvB,mBAAmB,CAAC,mBAAmB,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC,CAAC,CAC5E,CACF,CAAC;AAEF;;GAEG;AAEI,IAAM,MAAM,GAAZ,MAAM,MAAO,SAAQ,SAAS;IAA9B;;QA8CL;;;;;WAKG;QACwB,aAAQ,GAAG,KAAK,CAAC;QAE5C;;;WAGG;QACS,UAAK,GAAG,IAAI,CAAC;QAKzB;;;;;;WAMG;QACK,qBAAgB,GAAG,KAAK,CAAC;IAmEnC,CAAC;IAjHC;;;OAGG;IAEH,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;IACpC,CAAC;IACD,IAAI,QAAQ,CAAC,KAAc;QACzB,IAAI,CAAC,WAAW,CAAC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,CAAC;IACvC,CAAC;IACD,IAAI,eAAe,CAAC,KAAc;QAChC,IAAI,CAAC,eAAe,CAAC,UAAU,EAAE,KAAK,IAAI,KAAK,CAAC,CAAC;IACnD,CAAC;IA4BkB,MAAM;QACvB,MAAM,EAAC,SAAS,EAAC,GAAG,IAAuB,CAAC;QAC5C,OAAO,IAAI,CAAA;;;;iBAIE,YAAY,EAAE;wBACP,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO;qBACnC,SAAS,IAAI,OAAO;oBACrB,IAAI,CAAC,QAAQ;kBACf,IAAI,CAAC,YAAY;wDACqB,UAAU,EAAE;;;KAG/D,CAAC;IACJ,CAAC;IAEO,YAAY,CAAC,KAAY;QAC/B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAC7B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,WAAW,KAAK,MAAM,CAAC;QACpD,gDAAgD;QAChD,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC/B,CAAC;IAEQ,wBAAwB,CAC/B,IAAY,EACZ,QAAuB,EACvB,QAAuB;QAEvB,IAAI,IAAI,KAAK,UAAU,IAAI,IAAI,CAAC,gBAAgB,EAAE,CAAC;YACjD,mEAAmE;YACnE,mBAAmB;YACnB,OAAO;QACT,CAAC;QAED,KAAK,CAAC,wBAAwB,CAAC,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;IAC3D,CAAC;IAEQ,CAAC,YAAY,CAAC;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IAC3C,CAAC;IAEQ,CAAC,YAAY,CAAC;QACrB,OAAO,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/B,CAAC;IAEQ,iBAAiB;QACxB,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC;QAC9B,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,eAAe,CAAC;IACvC,CAAC;IAEQ,wBAAwB,CAAC,KAAa;QAC7C,IAAI,CAAC,QAAQ,GAAG,KAAK,KAAK,MAAM,CAAC;IACnC,CAAC;IAEQ,CAAC,eAAe,CAAC;QACxB,OAAO,IAAI,iBAAiB,CAAC,GAAG,EAAE,CAAC,CAAC;YAClC,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAC,CAAC,CAAC;IACN,CAAC;IAEQ,CAAC,iBAAiB,CAAC;QAC1B,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;;AAvID,kBAAkB;AACF,wBAAiB,GAAmB;IAClD,IAAI,EAAE,MAAM;IACZ,cAAc,EAAE,IAAI;CACrB,AAHgC,CAG/B;AAEc,aAAM,GAAwB;IAC5C,eAAe;IACf,YAAY;IACZ,YAAY;IACZ,GAAG,CAAA;;;;;;;;;;KAUF;CACF,AAfqB,CAepB;AAOF;IADC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;sCAGzB;AAqB0B;IAA1B,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,EAAC,CAAC;wCAAkB;AAMhC;IAAX,QAAQ,EAAE;qCAAc;AAGR;IADhB,KAAK,CAAC,QAAQ,EAAE,IAAI,CAAC;sCAC6B;AA7DxC,MAAM;IADlB,aAAa,CAAC,WAAW,CAAC;GACd,MAAM,CAyIlB","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {css, CSSResultOrNative, html, LitElement, nothing} from 'lit';\nimport {customElement, property, query} from 'lit/decorators.js';\nimport {ARIAMixinStrict} from '../../../../internal/aria/aria.js';\nimport {mixinDelegatesAria} from '../../../../internal/aria/delegate.js';\nimport {redispatchEvent} from '../../../../internal/events/redispatch-event.js';\nimport {\n createValidator,\n getValidityAnchor,\n mixinConstraintValidation,\n} from '../../../behaviors/constraint-validation.js';\nimport {\n hasState,\n mixinCustomStateSet,\n toggleState,\n} from '../../../behaviors/custom-state-set.js';\nimport {mixinElementInternals} from '../../../behaviors/element-internals.js';\nimport {\n getFormState,\n getFormValue,\n mixinFormAssociated,\n} from '../../../behaviors/form-associated.js';\nimport {CheckboxValidator} from '../../../behaviors/validators/checkbox-validator.js';\nimport {hasSlotted} from '../shared/has-slotted.js';\n\nimport focusRingStyles from '../focus/focus-ring.css' with {type: 'css'}; // github-only\n// import focusRingStyles from '../focus/focus-ring.cssresult.js'; // google3-only\nimport rippleStyles from '../ripple/ripple.css' with {type: 'css'}; // github-only\n// import rippleStyles from '../ripple/ripple.cssresult.js'; // google3-only\nimport switchStyles from './switch.css' with {type: 'css'}; // github-only\n// import switchStyles from './switch.cssresult.js'; // google3-only\n\nimport {switchToggle} from './switch.js';\n\ndeclare global {\n interface HTMLElementTagNameMap {\n /** A Material Design switch component. */\n 'md-switch': Switch;\n }\n}\n\n// Separate variable needed for closure.\nconst baseClass = mixinDelegatesAria(\n mixinConstraintValidation(\n mixinFormAssociated(mixinCustomStateSet(mixinElementInternals(LitElement))),\n ),\n);\n\n/**\n * A Material Design switch component.\n */\n@customElement('md-switch')\nexport class Switch extends baseClass {\n /** @nocollapse */\n static override shadowRootOptions: ShadowRootInit = {\n mode: 'open',\n delegatesFocus: true,\n };\n\n static override styles: CSSResultOrNative[] = [\n focusRingStyles,\n rippleStyles,\n switchStyles,\n css`\n :host {\n display: inline-flex;\n }\n .switch {\n flex: 1;\n }\n ::slotted(*) {\n grid-area: handle;\n }\n `,\n ];\n\n /**\n * Puts the switch in the selected state and sets the form submission value to\n * the `value` property.\n */\n @property({type: Boolean})\n get selected() {\n return this[hasState]('selected');\n }\n set selected(value: boolean) {\n this[toggleState]('selected', value);\n }\n\n /**\n * The default selected state of the switch.\n */\n get defaultSelected(): boolean {\n return this.hasAttribute('selected');\n }\n set defaultSelected(value: boolean) {\n this.toggleAttribute('selected', value || false);\n }\n\n /**\n * When true, require the switch to be selected when participating in\n * form submission.\n *\n * https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#validation\n */\n @property({type: Boolean}) required = false;\n\n /**\n * The value associated with this switch on form submission. `null` is\n * submitted when `selected` is `false`.\n */\n @property() value = 'on';\n\n @query('button', true)\n private readonly button!: HTMLButtonElement | null;\n\n /**\n * Mimics the behavior of <input> dirty checkedness, where the `checked`\n * attribute only updates the checked state if the checkbox has not been\n * interacted with.\n *\n * @see https://html.spec.whatwg.org/multipage/input.html#concept-input-checked-dirty-flag\n */\n private dirtyCheckedness = false;\n\n protected override render() {\n const {ariaLabel} = this as ARIAMixinStrict;\n return html`\n <button\n role=\"switch\"\n part=\"switch\"\n class=\"${switchToggle()}\"\n aria-checked=\"${this.selected ? 'true' : 'false'}\"\n aria-label=${ariaLabel || nothing}\n ?disabled=${this.disabled}\n @change=${this.handleChange}>\n <slot name=\"off-icon\" class=\"switch-icon-off\" ${hasSlotted()}></slot>\n <slot name=\"on-icon\" class=\"switch-icon-on\"></slot>\n </button>\n `;\n }\n\n private handleChange(event: Event) {\n this.dirtyCheckedness = true;\n this.selected = this.button?.ariaChecked === 'true';\n // Change event is not composed, re-dispatch it.\n redispatchEvent(this, event);\n }\n\n override attributeChangedCallback(\n name: string,\n oldValue: string | null,\n newValue: string | null,\n ) {\n if (name === 'selected' && this.dirtyCheckedness) {\n // The 'selected' attribute does not update switches that have been\n // interacted with.\n return;\n }\n\n super.attributeChangedCallback(name, oldValue, newValue);\n }\n\n override [getFormValue]() {\n return this.selected ? this.value : null;\n }\n\n override [getFormState]() {\n return String(this.selected);\n }\n\n override formResetCallback() {\n this.dirtyCheckedness = false;\n this.selected = this.defaultSelected;\n }\n\n override formStateRestoreCallback(state: string) {\n this.selected = state === 'true';\n }\n\n override [createValidator]() {\n return new CheckboxValidator(() => ({\n checked: this.selected,\n required: this.required,\n }));\n }\n\n override [getValidityAnchor]() {\n return this.button;\n }\n}\n"]}
@@ -51,4 +51,4 @@ export declare function setupSwitch(switchEl: HTMLElement, opts?: {
51
51
  * `;
52
52
  * ```
53
53
  */
54
- export declare const switchToggle: (state?: SwitchClassesState & import("@material/web/labs/gb/components/shared/directives.js").AdditionalClasses) => import("lit-html/directive.js").DirectiveResult;
54
+ export declare const switchToggle: (state?: SwitchClassesState & import("../shared/directives.js").AdditionalClasses) => import("lit-html/directive.js").DirectiveResult;
@@ -3,11 +3,11 @@
3
3
  * Copyright 2026 Google LLC
4
4
  * SPDX-License-Identifier: Apache-2.0
5
5
  */
6
- import { afterDispatch, setupDispatchHooks, } from '@material/web/internal/events/dispatch-hooks.js';
7
- import { focusRingClasses } from '@material/web/labs/gb/components/focus/focus-ring.js';
8
- import { rippleClasses, setupRipple, } from '@material/web/labs/gb/components/ripple/ripple.js';
9
- import { createClassMapDirective } from '@material/web/labs/gb/components/shared/directives.js';
10
- import { PSEUDO_CLASSES, isDisabled, } from '@material/web/labs/gb/components/shared/pseudo-classes.js';
6
+ import { afterDispatch, setupDispatchHooks, } from '../../../../internal/events/dispatch-hooks.js';
7
+ import { focusRingClasses } from '../focus/focus-ring.js';
8
+ import { rippleClasses, setupRipple } from '../ripple/ripple.js';
9
+ import { createClassMapDirective } from '../shared/directives.js';
10
+ import { PSEUDO_CLASSES, isDisabled } from '../shared/pseudo-classes.js';
11
11
  /** Switch classes. */
12
12
  export const SWITCH_CLASSES = {
13
13
  switch: 'switch',
@@ -1 +1 @@
1
- {"version":3,"file":"switch.js","sourceRoot":"","sources":["switch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,iDAAiD,CAAC;AACzD,OAAO,EAAC,gBAAgB,EAAC,MAAM,sDAAsD,CAAC;AACtF,OAAO,EACL,aAAa,EACb,WAAW,GACZ,MAAM,mDAAmD,CAAC;AAC3D,OAAO,EAAC,uBAAuB,EAAC,MAAM,uDAAuD,CAAC;AAC9F,OAAO,EACL,cAAc,EACd,UAAU,GACX,MAAM,2DAA2D,CAAC;AAGnE,sBAAsB;AACtB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,cAAc,CAAC,OAAO;IAC/B,KAAK,EAAE,cAAc,CAAC,KAAK;IAC3B,MAAM,EAAE,cAAc,CAAC,MAAM;IAC7B,QAAQ,EAAE,cAAc,CAAC,QAAQ;CACzB,CAAC;AAcX;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,KAAK,MACM,EAAE;IACxB,OAAO;QACL,GAAG,aAAa,EAAE;QAClB,GAAG,gBAAgB,EAAE;QACrB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI;QAC7B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO;QACjC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK;QAC7B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM;QAC/B,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,QAAQ;KACpC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,QAAqB,EACrB,IAA6B;IAE7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,QAAQ,EAAE,CAAC;QACb,2EAA2E;QAC3E,gDAAgD;QAChD,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,0DAA0D;IAC1D,QAAQ,CAAC,gBAAgB,CACvB,OAAO,EACP,CAAC,KAAK,EAAE,EAAE;QACR,IAAI,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO;QACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,KAAK,MAAM,CAAC;QACnD,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3C,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE;YACxB,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,wDAAwD;YACxD,QAAQ,CAAC,aAAa,CACpB,IAAI,UAAU,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CACzD,CAAC;YACF,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,EACD,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,uBAAuB,CAAC;IAClD,UAAU,EAAE,aAAa;IACzB,YAAY,EAAE,WAAW;CAC1B,CAAC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {\n afterDispatch,\n setupDispatchHooks,\n} from '@material/web/internal/events/dispatch-hooks.js';\nimport {focusRingClasses} from '@material/web/labs/gb/components/focus/focus-ring.js';\nimport {\n rippleClasses,\n setupRipple,\n} from '@material/web/labs/gb/components/ripple/ripple.js';\nimport {createClassMapDirective} from '@material/web/labs/gb/components/shared/directives.js';\nimport {\n PSEUDO_CLASSES,\n isDisabled,\n} from '@material/web/labs/gb/components/shared/pseudo-classes.js';\nimport {type ClassInfo} from 'lit/directives/class-map.js';\n\n/** Switch classes. */\nexport const SWITCH_CLASSES = {\n switch: 'switch',\n checked: PSEUDO_CLASSES.checked,\n hover: PSEUDO_CLASSES.hover,\n active: PSEUDO_CLASSES.active,\n disabled: PSEUDO_CLASSES.disabled,\n} as const;\n\n/** The state provided to the `switchClasses()` function. */\nexport interface SwitchClassesState {\n /** Emulates `:checked`. */\n checked?: boolean;\n /** Emulates `:hover`. */\n hover?: boolean;\n /** Emulates `:active`. */\n active?: boolean;\n /** Emulates `:disabled`. */\n disabled?: boolean;\n}\n\n/**\n * Returns the switch classes to apply to an element based on the given state.\n *\n * @param state The state of the switch.\n * @return An object of class names and truthy values if they apply.\n */\nexport function switchClasses({\n checked = false,\n hover = false,\n active = false,\n disabled = false,\n}: SwitchClassesState = {}): ClassInfo {\n return {\n ...rippleClasses(),\n ...focusRingClasses(),\n [SWITCH_CLASSES.switch]: true,\n [SWITCH_CLASSES.checked]: checked,\n [SWITCH_CLASSES.hover]: hover,\n [SWITCH_CLASSES.active]: active,\n [SWITCH_CLASSES.disabled]: disabled,\n };\n}\n\n/**\n * Sets up switch functionality for the given element.\n *\n * @param switchEl The element on which to set up switch functionality.\n * @param opts Setup options, supports a cleanup `signal`.\n */\nexport function setupSwitch(\n switchEl: HTMLElement,\n opts?: {signal?: AbortSignal},\n): void {\n const isButton = switchEl.matches('button');\n if (isButton) {\n // Only setup dispatch hooks if we add a button click listener, but call it\n // before setupRipple() adds its click listener.\n setupDispatchHooks(switchEl, 'click');\n }\n\n setupRipple(switchEl, opts);\n if (!isButton) return;\n\n // Support toggling <button role=\"switch\" aria-checked=\"\">\n switchEl.addEventListener(\n 'click',\n (event) => {\n if (isDisabled(switchEl)) return;\n const wasChecked = switchEl.ariaChecked === 'true';\n switchEl.ariaChecked = String(!wasChecked);\n afterDispatch(event, () => {\n if (event.defaultPrevented) {\n switchEl.ariaChecked = String(wasChecked);\n return;\n }\n\n // Mimic native browser input and change event behavior.\n switchEl.dispatchEvent(\n new InputEvent('input', {bubbles: true, composed: true}),\n );\n switchEl.dispatchEvent(new Event('change', {bubbles: true}));\n });\n },\n opts,\n );\n}\n\n/**\n * A Lit directive that adds switch styling and functionality to its element.\n *\n * @example\n * ```ts\n * html`\n * <input role=\"switch\" type=\"checkbox\" class=\"${switchToggle()}\">\n *\n * <button role=\"switch\" aria-checked=\"false\" class=\"${switchToggle()}\"></button>\n * `;\n * ```\n */\nexport const switchToggle = createClassMapDirective({\n getClasses: switchClasses,\n setupElement: setupSwitch,\n});\n"]}
1
+ {"version":3,"file":"switch.js","sourceRoot":"","sources":["switch.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,aAAa,EACb,kBAAkB,GACnB,MAAM,+CAA+C,CAAC;AACvD,OAAO,EAAC,gBAAgB,EAAC,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAC,aAAa,EAAE,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAC/D,OAAO,EAAC,uBAAuB,EAAC,MAAM,yBAAyB,CAAC;AAChE,OAAO,EAAC,cAAc,EAAE,UAAU,EAAC,MAAM,6BAA6B,CAAC;AAEvE,sBAAsB;AACtB,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,cAAc,CAAC,OAAO;IAC/B,KAAK,EAAE,cAAc,CAAC,KAAK;IAC3B,MAAM,EAAE,cAAc,CAAC,MAAM;IAC7B,QAAQ,EAAE,cAAc,CAAC,QAAQ;CACzB,CAAC;AAcX;;;;;GAKG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,OAAO,GAAG,KAAK,EACf,KAAK,GAAG,KAAK,EACb,MAAM,GAAG,KAAK,EACd,QAAQ,GAAG,KAAK,MACM,EAAE;IACxB,OAAO;QACL,GAAG,aAAa,EAAE;QAClB,GAAG,gBAAgB,EAAE;QACrB,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,IAAI;QAC7B,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,OAAO;QACjC,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,KAAK;QAC7B,CAAC,cAAc,CAAC,MAAM,CAAC,EAAE,MAAM;QAC/B,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,QAAQ;KACpC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,WAAW,CACzB,QAAqB,EACrB,IAA6B;IAE7B,MAAM,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,QAAQ,EAAE,CAAC;QACb,2EAA2E;QAC3E,gDAAgD;QAChD,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;IAED,WAAW,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC5B,IAAI,CAAC,QAAQ;QAAE,OAAO;IAEtB,0DAA0D;IAC1D,QAAQ,CAAC,gBAAgB,CACvB,OAAO,EACP,CAAC,KAAK,EAAE,EAAE;QACR,IAAI,UAAU,CAAC,QAAQ,CAAC;YAAE,OAAO;QACjC,MAAM,UAAU,GAAG,QAAQ,CAAC,WAAW,KAAK,MAAM,CAAC;QACnD,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,CAAC,UAAU,CAAC,CAAC;QAC3C,aAAa,CAAC,KAAK,EAAE,GAAG,EAAE;YACxB,IAAI,KAAK,CAAC,gBAAgB,EAAE,CAAC;gBAC3B,QAAQ,CAAC,WAAW,GAAG,MAAM,CAAC,UAAU,CAAC,CAAC;gBAC1C,OAAO;YACT,CAAC;YAED,wDAAwD;YACxD,QAAQ,CAAC,aAAa,CACpB,IAAI,UAAU,CAAC,OAAO,EAAE,EAAC,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CACzD,CAAC;YACF,QAAQ,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,QAAQ,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QAC/D,CAAC,CAAC,CAAC;IACL,CAAC,EACD,IAAI,CACL,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,uBAAuB,CAAC;IAClD,UAAU,EAAE,aAAa;IACzB,YAAY,EAAE,WAAW;CAC1B,CAAC,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {type ClassInfo} from 'lit/directives/class-map.js';\nimport {\n afterDispatch,\n setupDispatchHooks,\n} from '../../../../internal/events/dispatch-hooks.js';\nimport {focusRingClasses} from '../focus/focus-ring.js';\nimport {rippleClasses, setupRipple} from '../ripple/ripple.js';\nimport {createClassMapDirective} from '../shared/directives.js';\nimport {PSEUDO_CLASSES, isDisabled} from '../shared/pseudo-classes.js';\n\n/** Switch classes. */\nexport const SWITCH_CLASSES = {\n switch: 'switch',\n checked: PSEUDO_CLASSES.checked,\n hover: PSEUDO_CLASSES.hover,\n active: PSEUDO_CLASSES.active,\n disabled: PSEUDO_CLASSES.disabled,\n} as const;\n\n/** The state provided to the `switchClasses()` function. */\nexport interface SwitchClassesState {\n /** Emulates `:checked`. */\n checked?: boolean;\n /** Emulates `:hover`. */\n hover?: boolean;\n /** Emulates `:active`. */\n active?: boolean;\n /** Emulates `:disabled`. */\n disabled?: boolean;\n}\n\n/**\n * Returns the switch classes to apply to an element based on the given state.\n *\n * @param state The state of the switch.\n * @return An object of class names and truthy values if they apply.\n */\nexport function switchClasses({\n checked = false,\n hover = false,\n active = false,\n disabled = false,\n}: SwitchClassesState = {}): ClassInfo {\n return {\n ...rippleClasses(),\n ...focusRingClasses(),\n [SWITCH_CLASSES.switch]: true,\n [SWITCH_CLASSES.checked]: checked,\n [SWITCH_CLASSES.hover]: hover,\n [SWITCH_CLASSES.active]: active,\n [SWITCH_CLASSES.disabled]: disabled,\n };\n}\n\n/**\n * Sets up switch functionality for the given element.\n *\n * @param switchEl The element on which to set up switch functionality.\n * @param opts Setup options, supports a cleanup `signal`.\n */\nexport function setupSwitch(\n switchEl: HTMLElement,\n opts?: {signal?: AbortSignal},\n): void {\n const isButton = switchEl.matches('button');\n if (isButton) {\n // Only setup dispatch hooks if we add a button click listener, but call it\n // before setupRipple() adds its click listener.\n setupDispatchHooks(switchEl, 'click');\n }\n\n setupRipple(switchEl, opts);\n if (!isButton) return;\n\n // Support toggling <button role=\"switch\" aria-checked=\"\">\n switchEl.addEventListener(\n 'click',\n (event) => {\n if (isDisabled(switchEl)) return;\n const wasChecked = switchEl.ariaChecked === 'true';\n switchEl.ariaChecked = String(!wasChecked);\n afterDispatch(event, () => {\n if (event.defaultPrevented) {\n switchEl.ariaChecked = String(wasChecked);\n return;\n }\n\n // Mimic native browser input and change event behavior.\n switchEl.dispatchEvent(\n new InputEvent('input', {bubbles: true, composed: true}),\n );\n switchEl.dispatchEvent(new Event('change', {bubbles: true}));\n });\n },\n opts,\n );\n}\n\n/**\n * A Lit directive that adds switch styling and functionality to its element.\n *\n * @example\n * ```ts\n * html`\n * <input role=\"switch\" type=\"checkbox\" class=\"${switchToggle()}\">\n *\n * <button role=\"switch\" aria-checked=\"false\" class=\"${switchToggle()}\"></button>\n * `;\n * ```\n */\nexport const switchToggle = createClassMapDirective({\n getClasses: switchClasses,\n setupElement: setupSwitch,\n});\n"]}
@@ -37,9 +37,7 @@ export function adoptStyles(owner, styles) {
37
37
  if (!owner)
38
38
  return;
39
39
  styles = Array.isArray(styles) ? styles : [styles];
40
- const stylesheets = styles.map((cssResultOrNative) => isCSSResult(cssResultOrNative)
41
- ? cssResultOrNative.styleSheet
42
- : cssResultOrNative);
40
+ const stylesheets = styles.map((s) => s instanceof CSSStyleSheet ? s : s.styleSheet);
43
41
  if (adopt(owner, stylesheets)) {
44
42
  // Styles adopted directly on the owner document or shadow root.
45
43
  return;
@@ -56,7 +54,4 @@ function adopt(node, stylesheets) {
56
54
  }
57
55
  return false;
58
56
  }
59
- function isCSSResult(style) {
60
- return 'styleSheet' in style;
61
- }
62
57
  //# sourceMappingURL=adopt-styles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"adopt-styles.js","sourceRoot":"","sources":["adopt-styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,WAAW,CACzB,KAA0C,EAC1C,MAA+C;IAE/C,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,WAAW,GAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,iBAAiB,EAAE,EAAE,CACpE,WAAW,CAAC,iBAAiB,CAAC;QAC5B,CAAC,CAAC,iBAAiB,CAAC,UAAW;QAC/B,CAAC,CAAC,iBAAiB,CACtB,CAAC;IAEF,IAAI,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;QAC9B,gEAAgE;QAChE,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,2BAA2B;IAC3B,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACxC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,KAAK,CACZ,IAAwC,EACxC,WAA4B;IAE5B,IAAI,IAAI,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAClC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,WAAW,CAAC,CAAC,CACtD,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,WAAW,CAAC,KAAwB;IAC3C,OAAO,YAAY,IAAI,KAAK,CAAC;AAC/B,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {type CSSResult, type CSSResultOrNative} from 'lit';\n\n/**\n * Owner types that can adopt stylesheets using `adoptStyles()`.\n */\nexport type AdoptStylesOwner = DocumentOrShadowRoot | Element;\n\n/**\n * Adopts the given stylesheets to the provided document or shadow root owner.\n *\n * @example\n * ```ts\n * import globalStylesheet from './stylesheet.css' with {type: 'css'};\n *\n * adoptStyles(document, globalStylesheet);\n * ```\n *\n * If an element is provided, the styles are adopted to the element's owner\n * document. If the element is within a shadow root, the styles are also adopted\n * to the host shadow root.\n *\n * @example\n * ```ts\n * import hostClasses from './stylesheet.css' with {type: 'css'};\n *\n * class LightDomElement extends HTMLElement {\n * connectedCallback() {\n * adoptStyles(this, hostClasses);\n * this.classList.add('host-class');\n * }\n * }\n * ```\n *\n * @param owner The owner document, shadow root, or element to adopt the\n * styles to.\n * @param styles The styles to adopt.\n */\nexport function adoptStyles(\n owner: AdoptStylesOwner | null | undefined,\n styles: CSSResultOrNative | CSSResultOrNative[],\n): void {\n if (!owner) return;\n\n styles = Array.isArray(styles) ? styles : [styles];\n const stylesheets: CSSStyleSheet[] = styles.map((cssResultOrNative) =>\n isCSSResult(cssResultOrNative)\n ? cssResultOrNative.styleSheet!\n : cssResultOrNative,\n );\n\n if (adopt(owner, stylesheets)) {\n // Styles adopted directly on the owner document or shadow root.\n return;\n }\n\n // When provided an element, adopt styles to the element's document and host\n // shadow root, if present.\n adopt(owner.ownerDocument, stylesheets);\n adopt(owner.getRootNode(), stylesheets);\n}\n\nfunction adopt(\n node: DocumentOrShadowRoot | Node | null,\n stylesheets: CSSStyleSheet[],\n): node is DocumentOrShadowRoot {\n if (node && 'adoptedStyleSheets' in node) {\n node.adoptedStyleSheets = Array.from(\n new Set([...node.adoptedStyleSheets, ...stylesheets]),\n );\n return true;\n }\n return false;\n}\n\nfunction isCSSResult(style: CSSResultOrNative): style is CSSResult {\n return 'styleSheet' in style;\n}\n"]}
1
+ {"version":3,"file":"adopt-styles.js","sourceRoot":"","sources":["adopt-styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AASH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,UAAU,WAAW,CACzB,KAA0C,EAC1C,MAA+C;IAE/C,IAAI,CAAC,KAAK;QAAE,OAAO;IAEnB,MAAM,GAAG,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IACnD,MAAM,WAAW,GAAoB,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACpD,CAAC,YAAY,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,UAAW,CAC/C,CAAC;IAEF,IAAI,KAAK,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,CAAC;QAC9B,gEAAgE;QAChE,OAAO;IACT,CAAC;IAED,4EAA4E;IAC5E,2BAA2B;IAC3B,KAAK,CAAC,KAAK,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;IACxC,KAAK,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE,WAAW,CAAC,CAAC;AAC1C,CAAC;AAED,SAAS,KAAK,CACZ,IAAwC,EACxC,WAA4B;IAE5B,IAAI,IAAI,IAAI,oBAAoB,IAAI,IAAI,EAAE,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAClC,IAAI,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,kBAAkB,EAAE,GAAG,WAAW,CAAC,CAAC,CACtD,CAAC;QACF,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {type CSSResultOrNative} from 'lit';\n\n/**\n * Owner types that can adopt stylesheets using `adoptStyles()`.\n */\nexport type AdoptStylesOwner = DocumentOrShadowRoot | Element;\n\n/**\n * Adopts the given stylesheets to the provided document or shadow root owner.\n *\n * @example\n * ```ts\n * import globalStylesheet from './stylesheet.css' with {type: 'css'};\n *\n * adoptStyles(document, globalStylesheet);\n * ```\n *\n * If an element is provided, the styles are adopted to the element's owner\n * document. If the element is within a shadow root, the styles are also adopted\n * to the host shadow root.\n *\n * @example\n * ```ts\n * import hostClasses from './stylesheet.css' with {type: 'css'};\n *\n * class LightDomElement extends HTMLElement {\n * connectedCallback() {\n * adoptStyles(this, hostClasses);\n * this.classList.add('host-class');\n * }\n * }\n * ```\n *\n * @param owner The owner document, shadow root, or element to adopt the\n * styles to.\n * @param styles The styles to adopt.\n */\nexport function adoptStyles(\n owner: AdoptStylesOwner | null | undefined,\n styles: CSSResultOrNative | CSSResultOrNative[],\n): void {\n if (!owner) return;\n\n styles = Array.isArray(styles) ? styles : [styles];\n const stylesheets: CSSStyleSheet[] = styles.map((s) =>\n s instanceof CSSStyleSheet ? s : s.styleSheet!,\n );\n\n if (adopt(owner, stylesheets)) {\n // Styles adopted directly on the owner document or shadow root.\n return;\n }\n\n // When provided an element, adopt styles to the element's document and host\n // shadow root, if present.\n adopt(owner.ownerDocument, stylesheets);\n adopt(owner.getRootNode(), stylesheets);\n}\n\nfunction adopt(\n node: DocumentOrShadowRoot | Node | null,\n stylesheets: CSSStyleSheet[],\n): node is DocumentOrShadowRoot {\n if (node && 'adoptedStyleSheets' in node) {\n node.adoptedStyleSheets = Array.from(\n new Set([...node.adoptedStyleSheets, ...stylesheets]),\n );\n return true;\n }\n return false;\n}\n"]}
@@ -1,4 +1,4 @@
1
1
  /*!
2
2
  * Copyright 2026 Google LLC
3
3
  * SPDX-License-Identifier: Apache-2.0
4
- */@property --md-icon-font{syntax:"<string>#";inherits:true;initial-value:"Material Symbols"}@property --md-icon-color{syntax:"<color>";inherits:true;initial-value:currentColor}@property --md-icon-size{syntax:"<length-percentage>";inherits:true;initial-value:24px}@property --md-icon-opsz{syntax:"<number>";inherits:true;initial-value:24}@property --md-icon-wght{syntax:"<number>";inherits:true;initial-value:400}@property --md-icon-fill{syntax:"<number>";inherits:true;initial-value:0}@property --md-icon-grad{syntax:"<number>";inherits:true;initial-value:0}@layer md.sys.icon{.md-icon{display:inline-flex;place-items:center;place-content:center;overflow:hidden;color:var(--md-icon-color);fill:var(--md-icon-color);aspect-ratio:1;min-width:var(--md-icon-size);max-width:var(--md-icon-size);font-size:var(--md-icon-size);font-family:var(--md-icon-font);font-variation-settings:"opsz" var(--md-icon-opsz),"wght" var(--md-icon-wght),"FILL" var(--md-icon-fill),"GRAD" var(--md-icon-grad);-webkit-font-smoothing:antialiased}}/*# sourceMappingURL=md-icon.css.map */
4
+ */@property --md-icon-font{syntax:"<string>#";inherits:true;initial-value:"Material Symbols"}@property --md-icon-color{syntax:"<color>";inherits:true;initial-value:currentColor}@property --md-icon-size{syntax:"<length-percentage>";inherits:true;initial-value:24px}@property --md-icon-opsz{syntax:"<number>";inherits:true;initial-value:24}@property --md-icon-wght{syntax:"<number>";inherits:true;initial-value:400}@property --md-icon-fill{syntax:"<number>";inherits:true;initial-value:0}@property --md-icon-grad{syntax:"<number>";inherits:true;initial-value:0}@layer md.sys.icon{.md-icon,:host(.md-icon){display:inline-flex;place-items:center;place-content:center;overflow:hidden;color:var(--md-icon-color);fill:var(--md-icon-color);aspect-ratio:1;min-width:var(--md-icon-size);max-width:var(--md-icon-size);font-size:var(--md-icon-size);font-family:var(--md-icon-font);font-variation-settings:"opsz" var(--md-icon-opsz),"wght" var(--md-icon-wght),"FILL" var(--md-icon-fill),"GRAD" var(--md-icon-grad);-webkit-font-smoothing:antialiased}}/*# sourceMappingURL=md-icon.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["md-icon.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAKA,yBACE,mBACA,cACA,iCAEF,0BACE,iBACA,cACA,2BAEF,yBACE,6BACA,cACA,mBAEF,yBACE,kBACA,cACA,iBAEF,yBACE,kBACA,cACA,kBAEF,yBACE,kBACA,cACA,gBAEF,yBACE,kBACA,cACA,gBAGF,mBACE,SACE,oBACA,mBACA,qBACA,gBACA,2BACA,0BACA,eACA,8BACA,8BACA,8BACA,gCACA,wBACE,4GAIF","file":"md-icon.css"}
1
+ {"version":3,"sourceRoot":"","sources":["md-icon.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA,GAKA,yBACE,mBACA,cACA,iCAEF,0BACE,iBACA,cACA,2BAEF,yBACE,6BACA,cACA,mBAEF,yBACE,kBACA,cACA,iBAEF,yBACE,kBACA,cACA,kBAEF,yBACE,kBACA,cACA,gBAEF,yBACE,kBACA,cACA,gBAGF,mBACE,yBAEE,oBACA,mBACA,qBACA,gBACA,2BACA,0BACA,eACA,8BACA,8BACA,8BACA,gCACA,wBACE,4GAIF","file":"md-icon.css"}
@@ -8,7 +8,7 @@ import { css } from 'lit';
8
8
  export const styles = css `/*!
9
9
  * Copyright 2026 Google LLC
10
10
  * SPDX-License-Identifier: Apache-2.0
11
- */@property --md-icon-font{syntax:"<string>#";inherits:true;initial-value:"Material Symbols"}@property --md-icon-color{syntax:"<color>";inherits:true;initial-value:currentColor}@property --md-icon-size{syntax:"<length-percentage>";inherits:true;initial-value:24px}@property --md-icon-opsz{syntax:"<number>";inherits:true;initial-value:24}@property --md-icon-wght{syntax:"<number>";inherits:true;initial-value:400}@property --md-icon-fill{syntax:"<number>";inherits:true;initial-value:0}@property --md-icon-grad{syntax:"<number>";inherits:true;initial-value:0}@layer md.sys.icon{.md-icon{display:inline-flex;place-items:center;place-content:center;overflow:hidden;color:var(--md-icon-color);fill:var(--md-icon-color);aspect-ratio:1;min-width:var(--md-icon-size);max-width:var(--md-icon-size);font-size:var(--md-icon-size);font-family:var(--md-icon-font);font-variation-settings:"opsz" var(--md-icon-opsz),"wght" var(--md-icon-wght),"FILL" var(--md-icon-fill),"GRAD" var(--md-icon-grad);-webkit-font-smoothing:antialiased}}
11
+ */@property --md-icon-font{syntax:"<string>#";inherits:true;initial-value:"Material Symbols"}@property --md-icon-color{syntax:"<color>";inherits:true;initial-value:currentColor}@property --md-icon-size{syntax:"<length-percentage>";inherits:true;initial-value:24px}@property --md-icon-opsz{syntax:"<number>";inherits:true;initial-value:24}@property --md-icon-wght{syntax:"<number>";inherits:true;initial-value:400}@property --md-icon-fill{syntax:"<number>";inherits:true;initial-value:0}@property --md-icon-grad{syntax:"<number>";inherits:true;initial-value:0}@layer md.sys.icon{.md-icon,:host(.md-icon){display:inline-flex;place-items:center;place-content:center;overflow:hidden;color:var(--md-icon-color);fill:var(--md-icon-color);aspect-ratio:1;min-width:var(--md-icon-size);max-width:var(--md-icon-size);font-size:var(--md-icon-size);font-family:var(--md-icon-font);font-variation-settings:"opsz" var(--md-icon-opsz),"wght" var(--md-icon-wght),"FILL" var(--md-icon-fill),"GRAD" var(--md-icon-grad);-webkit-font-smoothing:antialiased}}
12
12
  `;
13
13
  export default styles.styleSheet;
14
14
  //# sourceMappingURL=md-icon.cssresult.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"md-icon.cssresult.js","sourceRoot":"","sources":["md-icon.cssresult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,8DAA8D;AAC9D,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;CAIxB,CAAC;AACF,eAAe,MAAM,CAAC,UAAW,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./labs/gb/styles/icon/md-icon.css.\nimport {css} from 'lit';\nexport const styles = css`/*!\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */@property --md-icon-font{syntax:\"<string>#\";inherits:true;initial-value:\"Material Symbols\"}@property --md-icon-color{syntax:\"<color>\";inherits:true;initial-value:currentColor}@property --md-icon-size{syntax:\"<length-percentage>\";inherits:true;initial-value:24px}@property --md-icon-opsz{syntax:\"<number>\";inherits:true;initial-value:24}@property --md-icon-wght{syntax:\"<number>\";inherits:true;initial-value:400}@property --md-icon-fill{syntax:\"<number>\";inherits:true;initial-value:0}@property --md-icon-grad{syntax:\"<number>\";inherits:true;initial-value:0}@layer md.sys.icon{.md-icon{display:inline-flex;place-items:center;place-content:center;overflow:hidden;color:var(--md-icon-color);fill:var(--md-icon-color);aspect-ratio:1;min-width:var(--md-icon-size);max-width:var(--md-icon-size);font-size:var(--md-icon-size);font-family:var(--md-icon-font);font-variation-settings:\"opsz\" var(--md-icon-opsz),\"wght\" var(--md-icon-wght),\"FILL\" var(--md-icon-fill),\"GRAD\" var(--md-icon-grad);-webkit-font-smoothing:antialiased}}\n`;\nexport default styles.styleSheet!;\n"]}
1
+ {"version":3,"file":"md-icon.cssresult.js","sourceRoot":"","sources":["md-icon.cssresult.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,8DAA8D;AAC9D,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;CAIxB,CAAC;AACF,eAAe,MAAM,CAAC,UAAW,CAAC","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n// Generated stylesheet for ./labs/gb/styles/icon/md-icon.css.\nimport {css} from 'lit';\nexport const styles = css`/*!\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */@property --md-icon-font{syntax:\"<string>#\";inherits:true;initial-value:\"Material Symbols\"}@property --md-icon-color{syntax:\"<color>\";inherits:true;initial-value:currentColor}@property --md-icon-size{syntax:\"<length-percentage>\";inherits:true;initial-value:24px}@property --md-icon-opsz{syntax:\"<number>\";inherits:true;initial-value:24}@property --md-icon-wght{syntax:\"<number>\";inherits:true;initial-value:400}@property --md-icon-fill{syntax:\"<number>\";inherits:true;initial-value:0}@property --md-icon-grad{syntax:\"<number>\";inherits:true;initial-value:0}@layer md.sys.icon{.md-icon,:host(.md-icon){display:inline-flex;place-items:center;place-content:center;overflow:hidden;color:var(--md-icon-color);fill:var(--md-icon-color);aspect-ratio:1;min-width:var(--md-icon-size);max-width:var(--md-icon-size);font-size:var(--md-icon-size);font-family:var(--md-icon-font);font-variation-settings:\"opsz\" var(--md-icon-opsz),\"wght\" var(--md-icon-wght),\"FILL\" var(--md-icon-fill),\"GRAD\" var(--md-icon-grad);-webkit-font-smoothing:antialiased}}\n`;\nexport default styles.styleSheet!;\n"]}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { type CSSResultOrNative } from 'lit';
7
+ import { Icon as IconBase } from '../../../../icon/internal/icon.js';
8
+ declare global {
9
+ interface HTMLElementTagNameMap {
10
+ /** A Material Design icon component. */
11
+ 'md-icon': Icon;
12
+ }
13
+ }
14
+ /**
15
+ * A Material Design icon component.
16
+ */
17
+ export declare class Icon extends IconBase {
18
+ static styles: CSSResultOrNative[];
19
+ connectedCallback(): void;
20
+ }
@@ -0,0 +1,24 @@
1
+ /**
2
+ * @license
3
+ * Copyright 2026 Google LLC
4
+ * SPDX-License-Identifier: Apache-2.0
5
+ */
6
+ import { __decorate } from "tslib";
7
+ import { customElement } from 'lit/decorators.js';
8
+ import { Icon as IconBase } from '../../../../icon/internal/icon.js';
9
+ import iconStyles from './md-icon.css' with { type: 'css' }; // github-only
10
+ /**
11
+ * A Material Design icon component.
12
+ */
13
+ let Icon = class Icon extends IconBase {
14
+ connectedCallback() {
15
+ super.connectedCallback();
16
+ this.classList.add('md-icon');
17
+ }
18
+ };
19
+ Icon.styles = [iconStyles];
20
+ Icon = __decorate([
21
+ customElement('md-icon')
22
+ ], Icon);
23
+ export { Icon };
24
+ //# sourceMappingURL=md-icon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"md-icon.js","sourceRoot":"","sources":["md-icon.ts"],"names":[],"mappings":"AAAA;;;;GAIG;;AAGH,OAAO,EAAC,aAAa,EAAC,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAC,IAAI,IAAI,QAAQ,EAAC,MAAM,mCAAmC,CAAC;AAEnE,OAAO,UAAU,MAAM,eAAe,CAAC,OAAM,IAAI,EAAE,KAAK,EAAC,CAAC,CAAC,cAAc;AAUzE;;GAEG;AAEI,IAAM,IAAI,GAAV,MAAM,IAAK,SAAQ,QAAQ;IAGvB,iBAAiB;QACxB,KAAK,CAAC,iBAAiB,EAAE,CAAC;QAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAChC,CAAC;;AALe,WAAM,GAAwB,CAAC,UAAU,CAAC,AAApC,CAAqC;AADhD,IAAI;IADhB,aAAa,CAAC,SAAS,CAAC;GACZ,IAAI,CAOhB","sourcesContent":["/**\n * @license\n * Copyright 2026 Google LLC\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport {type CSSResultOrNative} from 'lit';\nimport {customElement} from 'lit/decorators.js';\nimport {Icon as IconBase} from '../../../../icon/internal/icon.js';\n\nimport iconStyles from './md-icon.css' with {type: 'css'}; // github-only\n// import iconStyles from './md-icon.cssresult.js'; // google3-only\n\ndeclare global {\n interface HTMLElementTagNameMap {\n /** A Material Design icon component. */\n 'md-icon': Icon;\n }\n}\n\n/**\n * A Material Design icon component.\n */\n@customElement('md-icon')\nexport class Icon extends IconBase {\n static override styles: CSSResultOrNative[] = [iconStyles];\n\n override connectedCallback() {\n super.connectedCallback();\n this.classList.add('md-icon');\n }\n}\n"]}
@@ -40,7 +40,8 @@
40
40
  }
41
41
 
42
42
  @layer md.sys.icon {
43
- .md-icon {
43
+ .md-icon,
44
+ :host(.md-icon) {
44
45
  display: inline-flex;
45
46
  place-items: center;
46
47
  place-content: center;
@@ -10,7 +10,7 @@
10
10
  */@layer md.sys.elevation{:root{--md-sys-elevation-shadow-0: none;--md-sys-elevation-shadow-1: 0 1px 2px 0 hsl(from var(--md-sys-color-shadow) h s l / 0.3), 0 1px 3px 1px hsl(from var(--md-sys-color-shadow) h s l / 0.15);--md-sys-elevation-shadow-2: 0 1px 2px 0 hsl(from var(--md-sys-color-shadow) h s l / 0.3), 0 2px 6px 2px hsl(from var(--md-sys-color-shadow) h s l / 0.15);--md-sys-elevation-shadow-3: 0 1px 3px 0 hsl(from var(--md-sys-color-shadow) h s l / 0.3), 0 4px 8px 3px hsl(from var(--md-sys-color-shadow) h s l / 0.15);--md-sys-elevation-shadow-4: 0 2px 3px 0 hsl(from var(--md-sys-color-shadow) h s l / 0.3), 0 6px 10px 4px hsl(from var(--md-sys-color-shadow) h s l / 0.15);--md-sys-elevation-shadow-5: 0 4px 4px 0 hsl(from var(--md-sys-color-shadow) h s l / 0.3), 0 8px 12px 6px hsl(from var(--md-sys-color-shadow) h s l / 0.15)}}/*!
11
11
  * Copyright 2026 Google LLC
12
12
  * SPDX-License-Identifier: Apache-2.0
13
- */@property --md-icon-font{syntax:"<string>#";inherits:true;initial-value:"Material Symbols"}@property --md-icon-color{syntax:"<color>";inherits:true;initial-value:currentColor}@property --md-icon-size{syntax:"<length-percentage>";inherits:true;initial-value:24px}@property --md-icon-opsz{syntax:"<number>";inherits:true;initial-value:24}@property --md-icon-wght{syntax:"<number>";inherits:true;initial-value:400}@property --md-icon-fill{syntax:"<number>";inherits:true;initial-value:0}@property --md-icon-grad{syntax:"<number>";inherits:true;initial-value:0}@layer md.sys.icon{.md-icon{display:inline-flex;place-items:center;place-content:center;overflow:hidden;color:var(--md-icon-color);fill:var(--md-icon-color);aspect-ratio:1;min-width:var(--md-icon-size);max-width:var(--md-icon-size);font-size:var(--md-icon-size);font-family:var(--md-icon-font);font-variation-settings:"opsz" var(--md-icon-opsz),"wght" var(--md-icon-wght),"FILL" var(--md-icon-fill),"GRAD" var(--md-icon-grad);-webkit-font-smoothing:antialiased}}/*!
13
+ */@property --md-icon-font{syntax:"<string>#";inherits:true;initial-value:"Material Symbols"}@property --md-icon-color{syntax:"<color>";inherits:true;initial-value:currentColor}@property --md-icon-size{syntax:"<length-percentage>";inherits:true;initial-value:24px}@property --md-icon-opsz{syntax:"<number>";inherits:true;initial-value:24}@property --md-icon-wght{syntax:"<number>";inherits:true;initial-value:400}@property --md-icon-fill{syntax:"<number>";inherits:true;initial-value:0}@property --md-icon-grad{syntax:"<number>";inherits:true;initial-value:0}@layer md.sys.icon{.md-icon,:host(.md-icon){display:inline-flex;place-items:center;place-content:center;overflow:hidden;color:var(--md-icon-color);fill:var(--md-icon-color);aspect-ratio:1;min-width:var(--md-icon-size);max-width:var(--md-icon-size);font-size:var(--md-icon-size);font-family:var(--md-icon-font);font-variation-settings:"opsz" var(--md-icon-opsz),"wght" var(--md-icon-wght),"FILL" var(--md-icon-fill),"GRAD" var(--md-icon-grad);-webkit-font-smoothing:antialiased}}/*!
14
14
  * Copyright 2026 Google LLC
15
15
  * SPDX-License-Identifier: Apache-2.0
16
16
  */@layer md.sys.motion{:root{--md-sys-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(0.3, 0, 1, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-easing-emphasized: cubic-bezier(0.2, 0, 0, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: 100ms;--md-sys-motion-duration-short3: 150ms;--md-sys-motion-duration-short4: 200ms;--md-sys-motion-duration-medium1: 250ms;--md-sys-motion-duration-medium2: 300ms;--md-sys-motion-duration-medium3: 350ms;--md-sys-motion-duration-medium4: 400ms;--md-sys-motion-duration-long1: 450ms;--md-sys-motion-duration-long2: 500ms;--md-sys-motion-duration-long3: 550ms;--md-sys-motion-duration-long4: 600ms;--md-sys-motion-duration-extra-long1: 700ms;--md-sys-motion-duration-extra-long2: 800ms;--md-sys-motion-duration-extra-long3: 900ms;--md-sys-motion-duration-extra-long4: 1000ms}}/*!
@@ -19,4 +19,7 @@
19
19
  */@layer md.sys.shape{:root{--md-sys-shape-corner-none: 0px;--md-sys-shape-corner-xs: 4px;--md-sys-shape-corner-sm: 8px;--md-sys-shape-corner-md: 12px;--md-sys-shape-corner-lg: 16px;--md-sys-shape-corner-lg-increased: 20px;--md-sys-shape-corner-xl: 28px;--md-sys-shape-corner-xl-increased: 32px;--md-sys-shape-corner-xxl: 48px;--md-sys-shape-corner-full: 50cqmin}}/*!
20
20
  * Copyright 2026 Google LLC
21
21
  * SPDX-License-Identifier: Apache-2.0
22
- */@layer md.sys.typescale{:root{--md-ref-typeface-brand: var(--md-ref-typeface-plain);--md-ref-typeface-plain: Roboto Flex, Roboto, Noto Sans, system-ui, sans-serif;--md-ref-typeface-weight-regular: 400;--md-ref-typeface-weight-medium: 500;--md-ref-typeface-weight-bold: 700;--md-sys-typescale-label-sm: var(--md-ref-typeface-weight-medium) 0.6875rem / 1rem var(--md-ref-typeface-plain);--md-sys-typescale-label-sm-tracking: 0.03125rem;--md-sys-typescale-label-md: var(--md-ref-typeface-weight-medium) 0.75rem / 1rem var(--md-ref-typeface-plain);--md-sys-typescale-label-md-tracking: 0.03125rem;--md-sys-typescale-label-lg: var(--md-ref-typeface-weight-medium) 0.875rem / 1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-label-lg-tracking: 0.00625rem;--md-sys-typescale-body-sm: var(--md-ref-typeface-weight-regular) 0.75rem / 1rem var(--md-ref-typeface-plain);--md-sys-typescale-body-sm-tracking: 0.025rem;--md-sys-typescale-body-md: var(--md-ref-typeface-weight-regular) 0.875rem / 1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-body-md-tracking: 0.015625rem;--md-sys-typescale-body-lg: var(--md-ref-typeface-weight-regular) 1rem / 1.5rem var(--md-ref-typeface-plain);--md-sys-typescale-body-lg-tracking: 0.03125rem;--md-sys-typescale-title-sm: var(--md-ref-typeface-weight-medium) 0.875rem / 1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-title-sm-tracking: 0.00625rem;--md-sys-typescale-title-md: var(--md-ref-typeface-weight-medium) 1rem / 1.5rem var(--md-ref-typeface-plain);--md-sys-typescale-title-md-tracking: 0.009375rem;--md-sys-typescale-title-lg: var(--md-ref-typeface-weight-regular) 1.375rem / 1.75rem var(--md-ref-typeface-brand);--md-sys-typescale-title-lg-tracking: 0rem;--md-sys-typescale-headline-sm: var(--md-ref-typeface-weight-regular) 1.5rem / 2rem var(--md-ref-typeface-brand);--md-sys-typescale-headline-sm-tracking: 0rem;--md-sys-typescale-headline-md: var(--md-ref-typeface-weight-regular) 1.75rem / 2.25rem var(--md-ref-typeface-brand);--md-sys-typescale-headline-md-tracking: 0rem;--md-sys-typescale-headline-lg: var(--md-ref-typeface-weight-regular) 2rem / 2.5rem var(--md-ref-typeface-brand);--md-sys-typescale-headline-lg-tracking: 0rem;--md-sys-typescale-display-sm: var(--md-ref-typeface-weight-regular) 2.25rem / 2.75rem var(--md-ref-typeface-brand);--md-sys-typescale-display-sm-tracking: 0rem;--md-sys-typescale-display-md: var(--md-ref-typeface-weight-regular) 2.8125rem / 3.25rem var(--md-ref-typeface-brand);--md-sys-typescale-display-md-tracking: 0rem;--md-sys-typescale-display-lg: var(--md-ref-typeface-weight-regular) 3.5625rem / 4rem var(--md-ref-typeface-brand);--md-sys-typescale-display-lg-tracking: -0.015625rem}}/*# sourceMappingURL=m3.css.map */
22
+ */@layer md.sys.space{:root{--md-sys-space-unit: 8px;--md-sys-space-0: calc(var(--md-sys-space-unit) * 0);--md-sys-space-25: calc(var(--md-sys-space-unit) * 0.25);--md-sys-space-50: calc(var(--md-sys-space-unit) * 0.5);--md-sys-space-75: calc(var(--md-sys-space-unit) * 0.75);--md-sys-space-100: var(--md-sys-space-unit);--md-sys-space-125: calc(var(--md-sys-space-unit) * 1.25);--md-sys-space-150: calc(var(--md-sys-space-unit) * 1.5);--md-sys-space-175: calc(var(--md-sys-space-unit) * 1.75);--md-sys-space-200: calc(var(--md-sys-space-unit) * 2);--md-sys-space-250: calc(var(--md-sys-space-unit) * 2.5);--md-sys-space-300: calc(var(--md-sys-space-unit) * 3);--md-sys-space-400: calc(var(--md-sys-space-unit) * 4);--md-sys-space-450: calc(var(--md-sys-space-unit) * 4.5);--md-sys-space-500: calc(var(--md-sys-space-unit) * 5);--md-sys-space-600: calc(var(--md-sys-space-unit) * 6);--md-sys-space-700: calc(var(--md-sys-space-unit) * 7);--md-sys-space-800: calc(var(--md-sys-space-unit) * 8);--md-sys-space-900: calc(var(--md-sys-space-unit) * 9)}}/*!
23
+ * Copyright 2026 Google LLC
24
+ * SPDX-License-Identifier: Apache-2.0
25
+ */@layer md.sys.typescale{:root{--md-ref-typeface-brand: var(--md-ref-typeface-plain);--md-ref-typeface-plain: Roboto Flex, Roboto, Noto Sans, system-ui, sans-serif;--md-ref-typeface-weight-regular: 400;--md-ref-typeface-weight-medium: 500;--md-ref-typeface-weight-bold: 700;--md-sys-typescale-label-sm: var(--md-ref-typeface-weight-medium) 0.6875rem/1rem var(--md-ref-typeface-plain);--md-sys-typescale-label-sm-tracking: 0.03125rem;--md-sys-typescale-label-sm-axes: normal;--md-sys-typescale-emphasized-label-sm: var(--md-ref-typeface-weight-bold) 0.6875rem/1rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-label-sm-axes: "ROND" 100;--md-sys-typescale-label-md: var(--md-ref-typeface-weight-medium) 0.75rem/1rem var(--md-ref-typeface-plain);--md-sys-typescale-label-md-tracking: 0.03125rem;--md-sys-typescale-label-md-axes: normal;--md-sys-typescale-emphasized-label-md: var(--md-ref-typeface-weight-bold) 0.75rem/1rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-label-md-axes: "ROND" 100;--md-sys-typescale-label-lg: var(--md-ref-typeface-weight-medium) 0.875rem/1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-label-lg-tracking: 0.00625rem;--md-sys-typescale-label-lg-axes: normal;--md-sys-typescale-emphasized-label-lg: var(--md-ref-typeface-weight-bold) 0.875rem/1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-label-lg-axes: "ROND" 100;--md-sys-typescale-body-sm: var(--md-ref-typeface-weight-regular) 0.75rem/1rem var(--md-ref-typeface-plain);--md-sys-typescale-body-sm-tracking: 0.025rem;--md-sys-typescale-body-sm-axes: normal;--md-sys-typescale-emphasized-body-sm: var(--md-ref-typeface-weight-medium) 0.75rem/1rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-body-sm-axes: "ROND" 100;--md-sys-typescale-body-md: var(--md-ref-typeface-weight-regular) 0.875rem/1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-body-md-tracking: 0.015625rem;--md-sys-typescale-body-md-axes: normal;--md-sys-typescale-emphasized-body-md: var(--md-ref-typeface-weight-medium) 0.875rem/1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-body-md-axes: "ROND" 100;--md-sys-typescale-body-lg: var(--md-ref-typeface-weight-regular) 1rem/1.5rem var(--md-ref-typeface-plain);--md-sys-typescale-body-lg-tracking: 0.03125rem;--md-sys-typescale-body-lg-axes: normal;--md-sys-typescale-emphasized-body-lg: var(--md-ref-typeface-weight-medium) 1rem/1.5rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-body-lg-axes: "ROND" 100;--md-sys-typescale-title-sm: var(--md-ref-typeface-weight-medium) 0.875rem/1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-title-sm-tracking: 0.00625rem;--md-sys-typescale-title-sm-axes: normal;--md-sys-typescale-emphasized-title-sm: var(--md-ref-typeface-weight-bold) 0.875rem/1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-title-sm-axes: "ROND" 100;--md-sys-typescale-title-md: var(--md-ref-typeface-weight-medium) 1rem/1.5rem var(--md-ref-typeface-plain);--md-sys-typescale-title-md-tracking: 0.009375rem;--md-sys-typescale-title-md-axes: normal;--md-sys-typescale-emphasized-title-md: var(--md-ref-typeface-weight-bold) 1rem/1.5rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-title-md-axes: "ROND" 100;--md-sys-typescale-title-lg: var(--md-ref-typeface-weight-regular) 1.375rem/1.75rem var(--md-ref-typeface-brand);--md-sys-typescale-title-lg-tracking: 0rem;--md-sys-typescale-title-lg-axes: normal;--md-sys-typescale-emphasized-title-lg: var(--md-ref-typeface-weight-medium) 1.375rem/1.75rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-title-lg-axes: "ROND" 100;--md-sys-typescale-headline-sm: var(--md-ref-typeface-weight-regular) 1.5rem/2rem var(--md-ref-typeface-brand);--md-sys-typescale-headline-sm-tracking: 0rem;--md-sys-typescale-headline-sm-axes: normal;--md-sys-typescale-emphasized-headline-sm: var(--md-ref-typeface-weight-medium) 1.5rem/2rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-headline-sm-axes: "ROND" 100;--md-sys-typescale-headline-md: var(--md-ref-typeface-weight-regular) 1.75rem/2.25rem var(--md-ref-typeface-brand);--md-sys-typescale-headline-md-tracking: 0rem;--md-sys-typescale-headline-md-axes: normal;--md-sys-typescale-emphasized-headline-md: var(--md-ref-typeface-weight-medium) 1.75rem/2.25rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-headline-md-axes: "ROND" 100;--md-sys-typescale-headline-lg: var(--md-ref-typeface-weight-regular) 2rem/2.5rem var(--md-ref-typeface-brand);--md-sys-typescale-headline-lg-tracking: 0rem;--md-sys-typescale-headline-lg-axes: normal;--md-sys-typescale-emphasized-headline-lg: var(--md-ref-typeface-weight-medium) 2rem/2.5rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-headline-lg-axes: "ROND" 100;--md-sys-typescale-display-sm: var(--md-ref-typeface-weight-regular) 2.25rem/2.75rem var(--md-ref-typeface-brand);--md-sys-typescale-display-sm-tracking: 0rem;--md-sys-typescale-display-sm-axes: normal;--md-sys-typescale-emphasized-display-sm: var(--md-ref-typeface-weight-medium) 2.25rem/2.75rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-display-sm-axes: "ROND" 100;--md-sys-typescale-display-md: var(--md-ref-typeface-weight-regular) 2.8125rem/3.25rem var(--md-ref-typeface-brand);--md-sys-typescale-display-md-tracking: 0rem;--md-sys-typescale-display-md-axes: normal;--md-sys-typescale-emphasized-display-md: var(--md-ref-typeface-weight-medium) 2.8125rem/3.25rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-display-md-axes: "ROND" 100;--md-sys-typescale-display-lg: var(--md-ref-typeface-weight-regular) 3.5625rem/4rem var(--md-ref-typeface-brand);--md-sys-typescale-display-lg-tracking: -0.015625rem;--md-sys-typescale-display-lg-axes: normal;--md-sys-typescale-emphasized-display-lg: var(--md-ref-typeface-weight-medium) 3.5625rem/4rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-display-lg-axes: "ROND" 100}}/*# sourceMappingURL=m3.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["m3.scss","color/md-color-tokens.scss","color/internal/_color-tokens.scss","elevation/md-elevation-tokens.scss","icon/md-icon.scss","motion/md-motion-tokens-easing.scss","shape/md-shape-tokens.scss","typography/md-typography-tokens.scss","typography/internal/_typography-tokens.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCSA,oBACE,MACE,wBC2EA,g5ECtFJ;AAAA;AAAA;AAAA,GAKA,wBACE,MACE,kCACA,2JAGA,2JAGA,2JAGA,4JAGA,6JCpBJ;AAAA;AAAA;AAAA,GAKA,yBACE,mBACA,cACA,iCAEF,0BACE,iBACA,cACA,2BAEF,yBACE,6BACA,cACA,mBAEF,yBACE,kBACA,cACA,iBAEF,yBACE,kBACA,cACA,kBAEF,yBACE,kBACA,cACA,gBAEF,yBACE,kBACA,cACA,gBAGF,mBACE,SACE,oBACA,mBACA,qBACA,gBACA,2BACA,0BACA,eACA,8BACA,8BACA,8BACA,gCACA,wBACE,4GAIF,oCC3DJ;AAAA;AAAA;AAAA,GASA,qBACE,MACE,4DACA,uEACA,qEACA,8DACA,8EACA,8EACA,sCACA,uCACA,uCACA,uCACA,wCACA,wCACA,wCACA,wCACA,sCACA,sCACA,sCACA,sCACA,4CACA,4CACA,4CACA,8CChCJ;AAAA;AAAA;AAAA,GASA,oBACE,MACE,gCACA,8BACA,8BACA,+BACA,+BACA,yCACA,+BACA,yCACA,gCACA,qCCpBJ;AAAA;AAAA;AAAA,GASA,wBACE,MCsBA,sDACA,+EACA,sCAIA,qCAIA,mCA8BI,gHAIA,iDAJA,8GAIA,iDAJA,kHAIA,iDAJA,8GAIA,8CAJA,kHAIA,iDAJA,6GAIA,gDAJA,kHAIA,iDAJA,6GAIA,kDAJA,mHAIA,2CAJA,iHAIA,8CAJA,qHAIA,8CAJA,iHAIA,8CAJA,oHAIA,6CAJA,sHAIA,6CAJA,mHAIA","file":"m3.css"}
1
+ {"version":3,"sourceRoot":"","sources":["m3.scss","color/md-color-tokens.scss","color/internal/_color-tokens.scss","elevation/md-elevation-tokens.scss","icon/md-icon.scss","motion/md-motion-tokens-easing.scss","shape/md-shape-tokens.scss","space/md-space-tokens.scss","typography/md-typography-tokens.scss","typography/internal/_typography-tokens.scss"],"names":[],"mappings":"AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCSA,oBACE,MACE,wBC2EA,g5ECtFJ;AAAA;AAAA;AAAA,GAKA,wBACE,MACE,kCACA,2JAGA,2JAGA,2JAGA,4JAGA,6JCpBJ;AAAA;AAAA;AAAA,GAKA,yBACE,mBACA,cACA,iCAEF,0BACE,iBACA,cACA,2BAEF,yBACE,6BACA,cACA,mBAEF,yBACE,kBACA,cACA,iBAEF,yBACE,kBACA,cACA,kBAEF,yBACE,kBACA,cACA,gBAEF,yBACE,kBACA,cACA,gBAGF,mBACE,yBAEE,oBACA,mBACA,qBACA,gBACA,2BACA,0BACA,eACA,8BACA,8BACA,8BACA,gCACA,wBACE,4GAIF,oCC5DJ;AAAA;AAAA;AAAA,GASA,qBACE,MACE,4DACA,uEACA,qEACA,8DACA,8EACA,8EACA,sCACA,uCACA,uCACA,uCACA,wCACA,wCACA,wCACA,wCACA,sCACA,sCACA,sCACA,sCACA,4CACA,4CACA,4CACA,8CChCJ;AAAA;AAAA;AAAA,GASA,oBACE,MACE,gCACA,8BACA,8BACA,+BACA,+BACA,yCACA,+BACA,yCACA,gCACA,qCCpBJ;AAAA;AAAA;AAAA,GAKA,oBACE,MACE,yBACA,qDACA,yDACA,wDACA,yDACA,6CACA,0DACA,yDACA,0DACA,uDACA,yDACA,uDACA,uDACA,yDACA,uDACA,uDACA,uDACA,uDACA,wDCzBJ;AAAA;AAAA;AAAA,GASA,wBACE,MC6BA,sDACA,+EACA,sCAIA,qCAIA,mCA6BI,8GACA,iDACA,yCACA,uHACA,wDAJA,4GACA,iDACA,yCACA,qHACA,wDAJA,gHACA,iDACA,yCACA,yHACA,wDAJA,4GACA,8CACA,wCACA,sHACA,uDAJA,gHACA,iDACA,wCACA,0HACA,uDAJA,2GACA,gDACA,wCACA,qHACA,uDAJA,gHACA,iDACA,yCACA,yHACA,wDAJA,2GACA,kDACA,yCACA,oHACA,wDAJA,iHACA,2CACA,yCACA,2HACA,wDAJA,+GACA,8CACA,4CACA,yHACA,2DAJA,mHACA,8CACA,4CACA,6HACA,2DAJA,+GACA,8CACA,4CACA,yHACA,2DAJA,kHACA,6CACA,2CACA,4HACA,0DAJA,oHACA,6CACA,2CACA,8HACA,0DAJA,iHACA,qDACA,2CACA,2HACA","file":"m3.css"}
@@ -17,7 +17,7 @@ export const styles = css `/*!
17
17
  */@layer md.sys.elevation{:root{--md-sys-elevation-shadow-0: none;--md-sys-elevation-shadow-1: 0 1px 2px 0 hsl(from var(--md-sys-color-shadow) h s l / 0.3), 0 1px 3px 1px hsl(from var(--md-sys-color-shadow) h s l / 0.15);--md-sys-elevation-shadow-2: 0 1px 2px 0 hsl(from var(--md-sys-color-shadow) h s l / 0.3), 0 2px 6px 2px hsl(from var(--md-sys-color-shadow) h s l / 0.15);--md-sys-elevation-shadow-3: 0 1px 3px 0 hsl(from var(--md-sys-color-shadow) h s l / 0.3), 0 4px 8px 3px hsl(from var(--md-sys-color-shadow) h s l / 0.15);--md-sys-elevation-shadow-4: 0 2px 3px 0 hsl(from var(--md-sys-color-shadow) h s l / 0.3), 0 6px 10px 4px hsl(from var(--md-sys-color-shadow) h s l / 0.15);--md-sys-elevation-shadow-5: 0 4px 4px 0 hsl(from var(--md-sys-color-shadow) h s l / 0.3), 0 8px 12px 6px hsl(from var(--md-sys-color-shadow) h s l / 0.15)}}/*!
18
18
  * Copyright 2026 Google LLC
19
19
  * SPDX-License-Identifier: Apache-2.0
20
- */@property --md-icon-font{syntax:"<string>#";inherits:true;initial-value:"Material Symbols"}@property --md-icon-color{syntax:"<color>";inherits:true;initial-value:currentColor}@property --md-icon-size{syntax:"<length-percentage>";inherits:true;initial-value:24px}@property --md-icon-opsz{syntax:"<number>";inherits:true;initial-value:24}@property --md-icon-wght{syntax:"<number>";inherits:true;initial-value:400}@property --md-icon-fill{syntax:"<number>";inherits:true;initial-value:0}@property --md-icon-grad{syntax:"<number>";inherits:true;initial-value:0}@layer md.sys.icon{.md-icon{display:inline-flex;place-items:center;place-content:center;overflow:hidden;color:var(--md-icon-color);fill:var(--md-icon-color);aspect-ratio:1;min-width:var(--md-icon-size);max-width:var(--md-icon-size);font-size:var(--md-icon-size);font-family:var(--md-icon-font);font-variation-settings:"opsz" var(--md-icon-opsz),"wght" var(--md-icon-wght),"FILL" var(--md-icon-fill),"GRAD" var(--md-icon-grad);-webkit-font-smoothing:antialiased}}/*!
20
+ */@property --md-icon-font{syntax:"<string>#";inherits:true;initial-value:"Material Symbols"}@property --md-icon-color{syntax:"<color>";inherits:true;initial-value:currentColor}@property --md-icon-size{syntax:"<length-percentage>";inherits:true;initial-value:24px}@property --md-icon-opsz{syntax:"<number>";inherits:true;initial-value:24}@property --md-icon-wght{syntax:"<number>";inherits:true;initial-value:400}@property --md-icon-fill{syntax:"<number>";inherits:true;initial-value:0}@property --md-icon-grad{syntax:"<number>";inherits:true;initial-value:0}@layer md.sys.icon{.md-icon,:host(.md-icon){display:inline-flex;place-items:center;place-content:center;overflow:hidden;color:var(--md-icon-color);fill:var(--md-icon-color);aspect-ratio:1;min-width:var(--md-icon-size);max-width:var(--md-icon-size);font-size:var(--md-icon-size);font-family:var(--md-icon-font);font-variation-settings:"opsz" var(--md-icon-opsz),"wght" var(--md-icon-wght),"FILL" var(--md-icon-fill),"GRAD" var(--md-icon-grad);-webkit-font-smoothing:antialiased}}/*!
21
21
  * Copyright 2026 Google LLC
22
22
  * SPDX-License-Identifier: Apache-2.0
23
23
  */@layer md.sys.motion{:root{--md-sys-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(0.3, 0, 1, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1);--md-sys-motion-easing-emphasized: cubic-bezier(0.2, 0, 0, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: 100ms;--md-sys-motion-duration-short3: 150ms;--md-sys-motion-duration-short4: 200ms;--md-sys-motion-duration-medium1: 250ms;--md-sys-motion-duration-medium2: 300ms;--md-sys-motion-duration-medium3: 350ms;--md-sys-motion-duration-medium4: 400ms;--md-sys-motion-duration-long1: 450ms;--md-sys-motion-duration-long2: 500ms;--md-sys-motion-duration-long3: 550ms;--md-sys-motion-duration-long4: 600ms;--md-sys-motion-duration-extra-long1: 700ms;--md-sys-motion-duration-extra-long2: 800ms;--md-sys-motion-duration-extra-long3: 900ms;--md-sys-motion-duration-extra-long4: 1000ms}}/*!
@@ -26,7 +26,10 @@ export const styles = css `/*!
26
26
  */@layer md.sys.shape{:root{--md-sys-shape-corner-none: 0px;--md-sys-shape-corner-xs: 4px;--md-sys-shape-corner-sm: 8px;--md-sys-shape-corner-md: 12px;--md-sys-shape-corner-lg: 16px;--md-sys-shape-corner-lg-increased: 20px;--md-sys-shape-corner-xl: 28px;--md-sys-shape-corner-xl-increased: 32px;--md-sys-shape-corner-xxl: 48px;--md-sys-shape-corner-full: 50cqmin}}/*!
27
27
  * Copyright 2026 Google LLC
28
28
  * SPDX-License-Identifier: Apache-2.0
29
- */@layer md.sys.typescale{:root{--md-ref-typeface-brand: var(--md-ref-typeface-plain);--md-ref-typeface-plain: Roboto Flex, Roboto, Noto Sans, system-ui, sans-serif;--md-ref-typeface-weight-regular: 400;--md-ref-typeface-weight-medium: 500;--md-ref-typeface-weight-bold: 700;--md-sys-typescale-label-sm: var(--md-ref-typeface-weight-medium) 0.6875rem / 1rem var(--md-ref-typeface-plain);--md-sys-typescale-label-sm-tracking: 0.03125rem;--md-sys-typescale-label-md: var(--md-ref-typeface-weight-medium) 0.75rem / 1rem var(--md-ref-typeface-plain);--md-sys-typescale-label-md-tracking: 0.03125rem;--md-sys-typescale-label-lg: var(--md-ref-typeface-weight-medium) 0.875rem / 1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-label-lg-tracking: 0.00625rem;--md-sys-typescale-body-sm: var(--md-ref-typeface-weight-regular) 0.75rem / 1rem var(--md-ref-typeface-plain);--md-sys-typescale-body-sm-tracking: 0.025rem;--md-sys-typescale-body-md: var(--md-ref-typeface-weight-regular) 0.875rem / 1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-body-md-tracking: 0.015625rem;--md-sys-typescale-body-lg: var(--md-ref-typeface-weight-regular) 1rem / 1.5rem var(--md-ref-typeface-plain);--md-sys-typescale-body-lg-tracking: 0.03125rem;--md-sys-typescale-title-sm: var(--md-ref-typeface-weight-medium) 0.875rem / 1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-title-sm-tracking: 0.00625rem;--md-sys-typescale-title-md: var(--md-ref-typeface-weight-medium) 1rem / 1.5rem var(--md-ref-typeface-plain);--md-sys-typescale-title-md-tracking: 0.009375rem;--md-sys-typescale-title-lg: var(--md-ref-typeface-weight-regular) 1.375rem / 1.75rem var(--md-ref-typeface-brand);--md-sys-typescale-title-lg-tracking: 0rem;--md-sys-typescale-headline-sm: var(--md-ref-typeface-weight-regular) 1.5rem / 2rem var(--md-ref-typeface-brand);--md-sys-typescale-headline-sm-tracking: 0rem;--md-sys-typescale-headline-md: var(--md-ref-typeface-weight-regular) 1.75rem / 2.25rem var(--md-ref-typeface-brand);--md-sys-typescale-headline-md-tracking: 0rem;--md-sys-typescale-headline-lg: var(--md-ref-typeface-weight-regular) 2rem / 2.5rem var(--md-ref-typeface-brand);--md-sys-typescale-headline-lg-tracking: 0rem;--md-sys-typescale-display-sm: var(--md-ref-typeface-weight-regular) 2.25rem / 2.75rem var(--md-ref-typeface-brand);--md-sys-typescale-display-sm-tracking: 0rem;--md-sys-typescale-display-md: var(--md-ref-typeface-weight-regular) 2.8125rem / 3.25rem var(--md-ref-typeface-brand);--md-sys-typescale-display-md-tracking: 0rem;--md-sys-typescale-display-lg: var(--md-ref-typeface-weight-regular) 3.5625rem / 4rem var(--md-ref-typeface-brand);--md-sys-typescale-display-lg-tracking: -0.015625rem}}
29
+ */@layer md.sys.space{:root{--md-sys-space-unit: 8px;--md-sys-space-0: calc(var(--md-sys-space-unit) * 0);--md-sys-space-25: calc(var(--md-sys-space-unit) * 0.25);--md-sys-space-50: calc(var(--md-sys-space-unit) * 0.5);--md-sys-space-75: calc(var(--md-sys-space-unit) * 0.75);--md-sys-space-100: var(--md-sys-space-unit);--md-sys-space-125: calc(var(--md-sys-space-unit) * 1.25);--md-sys-space-150: calc(var(--md-sys-space-unit) * 1.5);--md-sys-space-175: calc(var(--md-sys-space-unit) * 1.75);--md-sys-space-200: calc(var(--md-sys-space-unit) * 2);--md-sys-space-250: calc(var(--md-sys-space-unit) * 2.5);--md-sys-space-300: calc(var(--md-sys-space-unit) * 3);--md-sys-space-400: calc(var(--md-sys-space-unit) * 4);--md-sys-space-450: calc(var(--md-sys-space-unit) * 4.5);--md-sys-space-500: calc(var(--md-sys-space-unit) * 5);--md-sys-space-600: calc(var(--md-sys-space-unit) * 6);--md-sys-space-700: calc(var(--md-sys-space-unit) * 7);--md-sys-space-800: calc(var(--md-sys-space-unit) * 8);--md-sys-space-900: calc(var(--md-sys-space-unit) * 9)}}/*!
30
+ * Copyright 2026 Google LLC
31
+ * SPDX-License-Identifier: Apache-2.0
32
+ */@layer md.sys.typescale{:root{--md-ref-typeface-brand: var(--md-ref-typeface-plain);--md-ref-typeface-plain: Roboto Flex, Roboto, Noto Sans, system-ui, sans-serif;--md-ref-typeface-weight-regular: 400;--md-ref-typeface-weight-medium: 500;--md-ref-typeface-weight-bold: 700;--md-sys-typescale-label-sm: var(--md-ref-typeface-weight-medium) 0.6875rem/1rem var(--md-ref-typeface-plain);--md-sys-typescale-label-sm-tracking: 0.03125rem;--md-sys-typescale-label-sm-axes: normal;--md-sys-typescale-emphasized-label-sm: var(--md-ref-typeface-weight-bold) 0.6875rem/1rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-label-sm-axes: "ROND" 100;--md-sys-typescale-label-md: var(--md-ref-typeface-weight-medium) 0.75rem/1rem var(--md-ref-typeface-plain);--md-sys-typescale-label-md-tracking: 0.03125rem;--md-sys-typescale-label-md-axes: normal;--md-sys-typescale-emphasized-label-md: var(--md-ref-typeface-weight-bold) 0.75rem/1rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-label-md-axes: "ROND" 100;--md-sys-typescale-label-lg: var(--md-ref-typeface-weight-medium) 0.875rem/1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-label-lg-tracking: 0.00625rem;--md-sys-typescale-label-lg-axes: normal;--md-sys-typescale-emphasized-label-lg: var(--md-ref-typeface-weight-bold) 0.875rem/1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-label-lg-axes: "ROND" 100;--md-sys-typescale-body-sm: var(--md-ref-typeface-weight-regular) 0.75rem/1rem var(--md-ref-typeface-plain);--md-sys-typescale-body-sm-tracking: 0.025rem;--md-sys-typescale-body-sm-axes: normal;--md-sys-typescale-emphasized-body-sm: var(--md-ref-typeface-weight-medium) 0.75rem/1rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-body-sm-axes: "ROND" 100;--md-sys-typescale-body-md: var(--md-ref-typeface-weight-regular) 0.875rem/1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-body-md-tracking: 0.015625rem;--md-sys-typescale-body-md-axes: normal;--md-sys-typescale-emphasized-body-md: var(--md-ref-typeface-weight-medium) 0.875rem/1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-body-md-axes: "ROND" 100;--md-sys-typescale-body-lg: var(--md-ref-typeface-weight-regular) 1rem/1.5rem var(--md-ref-typeface-plain);--md-sys-typescale-body-lg-tracking: 0.03125rem;--md-sys-typescale-body-lg-axes: normal;--md-sys-typescale-emphasized-body-lg: var(--md-ref-typeface-weight-medium) 1rem/1.5rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-body-lg-axes: "ROND" 100;--md-sys-typescale-title-sm: var(--md-ref-typeface-weight-medium) 0.875rem/1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-title-sm-tracking: 0.00625rem;--md-sys-typescale-title-sm-axes: normal;--md-sys-typescale-emphasized-title-sm: var(--md-ref-typeface-weight-bold) 0.875rem/1.25rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-title-sm-axes: "ROND" 100;--md-sys-typescale-title-md: var(--md-ref-typeface-weight-medium) 1rem/1.5rem var(--md-ref-typeface-plain);--md-sys-typescale-title-md-tracking: 0.009375rem;--md-sys-typescale-title-md-axes: normal;--md-sys-typescale-emphasized-title-md: var(--md-ref-typeface-weight-bold) 1rem/1.5rem var(--md-ref-typeface-plain);--md-sys-typescale-emphasized-title-md-axes: "ROND" 100;--md-sys-typescale-title-lg: var(--md-ref-typeface-weight-regular) 1.375rem/1.75rem var(--md-ref-typeface-brand);--md-sys-typescale-title-lg-tracking: 0rem;--md-sys-typescale-title-lg-axes: normal;--md-sys-typescale-emphasized-title-lg: var(--md-ref-typeface-weight-medium) 1.375rem/1.75rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-title-lg-axes: "ROND" 100;--md-sys-typescale-headline-sm: var(--md-ref-typeface-weight-regular) 1.5rem/2rem var(--md-ref-typeface-brand);--md-sys-typescale-headline-sm-tracking: 0rem;--md-sys-typescale-headline-sm-axes: normal;--md-sys-typescale-emphasized-headline-sm: var(--md-ref-typeface-weight-medium) 1.5rem/2rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-headline-sm-axes: "ROND" 100;--md-sys-typescale-headline-md: var(--md-ref-typeface-weight-regular) 1.75rem/2.25rem var(--md-ref-typeface-brand);--md-sys-typescale-headline-md-tracking: 0rem;--md-sys-typescale-headline-md-axes: normal;--md-sys-typescale-emphasized-headline-md: var(--md-ref-typeface-weight-medium) 1.75rem/2.25rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-headline-md-axes: "ROND" 100;--md-sys-typescale-headline-lg: var(--md-ref-typeface-weight-regular) 2rem/2.5rem var(--md-ref-typeface-brand);--md-sys-typescale-headline-lg-tracking: 0rem;--md-sys-typescale-headline-lg-axes: normal;--md-sys-typescale-emphasized-headline-lg: var(--md-ref-typeface-weight-medium) 2rem/2.5rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-headline-lg-axes: "ROND" 100;--md-sys-typescale-display-sm: var(--md-ref-typeface-weight-regular) 2.25rem/2.75rem var(--md-ref-typeface-brand);--md-sys-typescale-display-sm-tracking: 0rem;--md-sys-typescale-display-sm-axes: normal;--md-sys-typescale-emphasized-display-sm: var(--md-ref-typeface-weight-medium) 2.25rem/2.75rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-display-sm-axes: "ROND" 100;--md-sys-typescale-display-md: var(--md-ref-typeface-weight-regular) 2.8125rem/3.25rem var(--md-ref-typeface-brand);--md-sys-typescale-display-md-tracking: 0rem;--md-sys-typescale-display-md-axes: normal;--md-sys-typescale-emphasized-display-md: var(--md-ref-typeface-weight-medium) 2.8125rem/3.25rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-display-md-axes: "ROND" 100;--md-sys-typescale-display-lg: var(--md-ref-typeface-weight-regular) 3.5625rem/4rem var(--md-ref-typeface-brand);--md-sys-typescale-display-lg-tracking: -0.015625rem;--md-sys-typescale-display-lg-axes: normal;--md-sys-typescale-emphasized-display-lg: var(--md-ref-typeface-weight-medium) 3.5625rem/4rem var(--md-ref-typeface-brand);--md-sys-typescale-emphasized-display-lg-axes: "ROND" 100}}
30
33
  `;
31
34
  export default styles.styleSheet;
32
35
  //# sourceMappingURL=m3.cssresult.js.map