@francofantomius/material-components 1.0.2 → 1.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (168) hide show
  1. package/CHANGELOG.md +49 -0
  2. package/README.md +41 -9
  3. package/custom-elements.json +19060 -9017
  4. package/dist/chunks/account-menu-Dau0UHTl.js +1290 -0
  5. package/dist/chunks/account-menu-Dau0UHTl.js.map +1 -0
  6. package/dist/chunks/app-drawer-Du1ePzxZ.js +903 -0
  7. package/dist/chunks/app-drawer-Du1ePzxZ.js.map +1 -0
  8. package/dist/chunks/bottom-sheet-q79BBYAj.js +402 -0
  9. package/dist/chunks/bottom-sheet-q79BBYAj.js.map +1 -0
  10. package/dist/chunks/{button-B4TSZ7Sl.js → button-D2vn7kJ8.js} +9 -8
  11. package/dist/chunks/button-D2vn7kJ8.js.map +1 -0
  12. package/dist/chunks/button-group-CNqvJx1n.js +143 -0
  13. package/dist/chunks/button-group-CNqvJx1n.js.map +1 -0
  14. package/dist/chunks/carousel-item-BG6kjjjk.js +371 -0
  15. package/dist/chunks/carousel-item-BG6kjjjk.js.map +1 -0
  16. package/dist/chunks/date-picker-DJeHi4w-.js +777 -0
  17. package/dist/chunks/date-picker-DJeHi4w-.js.map +1 -0
  18. package/dist/chunks/fab-menu.css-3pu930sZ.js +320 -0
  19. package/dist/chunks/fab-menu.css-3pu930sZ.js.map +1 -0
  20. package/dist/chunks/{icon-button-BdSc7eot.js → icon-button-BQz73GLa.js} +2 -2
  21. package/dist/chunks/icon-button-BQz73GLa.js.map +1 -0
  22. package/dist/chunks/loading-indicator-CvWnZr9o.js +193 -0
  23. package/dist/chunks/loading-indicator-CvWnZr9o.js.map +1 -0
  24. package/dist/chunks/menu-item-BBSp5Cqc.js +390 -0
  25. package/dist/chunks/menu-item-BBSp5Cqc.js.map +1 -0
  26. package/dist/chunks/navigation-bar-item-C9DfOEzg.js +397 -0
  27. package/dist/chunks/navigation-bar-item-C9DfOEzg.js.map +1 -0
  28. package/dist/chunks/navigation-rail-item-6pdhNHJK.js +357 -0
  29. package/dist/chunks/navigation-rail-item-6pdhNHJK.js.map +1 -0
  30. package/dist/chunks/{search-bar-TXnqJ-gd.js → search-bar-fUD0qU2P.js} +22 -4
  31. package/dist/chunks/search-bar-fUD0qU2P.js.map +1 -0
  32. package/dist/chunks/segmented-button-B0BvGSQ7.js +265 -0
  33. package/dist/chunks/segmented-button-B0BvGSQ7.js.map +1 -0
  34. package/dist/chunks/side-sheet-S2w081AK.js +360 -0
  35. package/dist/chunks/side-sheet-S2w081AK.js.map +1 -0
  36. package/dist/chunks/slider-D-mnO8yQ.js +450 -0
  37. package/dist/chunks/slider-D-mnO8yQ.js.map +1 -0
  38. package/dist/chunks/split-button-DUfjukQY.js +450 -0
  39. package/dist/chunks/split-button-DUfjukQY.js.map +1 -0
  40. package/dist/chunks/{table-aRTYzDyE.js → table-CqHnneAj.js} +2 -2
  41. package/dist/chunks/{table-aRTYzDyE.js.map → table-CqHnneAj.js.map} +1 -1
  42. package/dist/chunks/time-picker-CZnb2sWz.js +785 -0
  43. package/dist/chunks/time-picker-CZnb2sWz.js.map +1 -0
  44. package/dist/chunks/toolbar-DXVQbQKJ.js +271 -0
  45. package/dist/chunks/toolbar-DXVQbQKJ.js.map +1 -0
  46. package/dist/chunks/tooltip-CE7JMHMu.js +398 -0
  47. package/dist/chunks/tooltip-CE7JMHMu.js.map +1 -0
  48. package/dist/components/account-menu/account-menu.js +8 -0
  49. package/dist/components/app-drawer/app-drawer.js +9 -0
  50. package/dist/components/bottom-sheet/bottom-sheet.css.d.ts +2 -0
  51. package/dist/components/bottom-sheet/bottom-sheet.css.d.ts.map +1 -0
  52. package/dist/components/bottom-sheet/bottom-sheet.d.ts +69 -0
  53. package/dist/components/bottom-sheet/bottom-sheet.d.ts.map +1 -0
  54. package/dist/components/bottom-sheet/bottom-sheet.js +4 -0
  55. package/dist/components/button/button.css.d.ts.map +1 -1
  56. package/dist/components/button/button.js +1 -1
  57. package/dist/components/button-group/button-group.css.d.ts +2 -0
  58. package/dist/components/button-group/button-group.css.d.ts.map +1 -0
  59. package/dist/components/button-group/button-group.d.ts +28 -0
  60. package/dist/components/button-group/button-group.d.ts.map +1 -0
  61. package/dist/components/button-group/button-group.js +4 -0
  62. package/dist/components/carousel/carousel-item.d.ts +33 -0
  63. package/dist/components/carousel/carousel-item.d.ts.map +1 -0
  64. package/dist/components/carousel/carousel-item.js +4 -0
  65. package/dist/components/carousel/carousel.css.d.ts +3 -0
  66. package/dist/components/carousel/carousel.css.d.ts.map +1 -0
  67. package/dist/components/carousel/carousel.d.ts +81 -0
  68. package/dist/components/carousel/carousel.d.ts.map +1 -0
  69. package/dist/components/carousel/carousel.js +284 -0
  70. package/dist/components/carousel/carousel.js.map +1 -0
  71. package/dist/components/date-picker/date-picker.css.d.ts +2 -0
  72. package/dist/components/date-picker/date-picker.css.d.ts.map +1 -0
  73. package/dist/components/date-picker/date-picker.d.ts +59 -0
  74. package/dist/components/date-picker/date-picker.d.ts.map +1 -0
  75. package/dist/components/date-picker/date-picker.js +4 -0
  76. package/dist/components/fab-menu/fab-menu-item.d.ts +35 -0
  77. package/dist/components/fab-menu/fab-menu-item.d.ts.map +1 -0
  78. package/dist/components/fab-menu/fab-menu-item.js +93 -0
  79. package/dist/components/fab-menu/fab-menu-item.js.map +1 -0
  80. package/dist/components/fab-menu/fab-menu.css.d.ts +3 -0
  81. package/dist/components/fab-menu/fab-menu.css.d.ts.map +1 -0
  82. package/dist/components/fab-menu/fab-menu.d.ts +72 -0
  83. package/dist/components/fab-menu/fab-menu.d.ts.map +1 -0
  84. package/dist/components/fab-menu/fab-menu.js +148 -0
  85. package/dist/components/fab-menu/fab-menu.js.map +1 -0
  86. package/dist/components/icon-button/icon-button.js +1 -1
  87. package/dist/components/loading-indicator/loading-indicator.css.d.ts +2 -0
  88. package/dist/components/loading-indicator/loading-indicator.css.d.ts.map +1 -0
  89. package/dist/components/loading-indicator/loading-indicator.d.ts +48 -0
  90. package/dist/components/loading-indicator/loading-indicator.d.ts.map +1 -0
  91. package/dist/components/loading-indicator/loading-indicator.js +4 -0
  92. package/dist/components/menu/menu-item.d.ts +41 -0
  93. package/dist/components/menu/menu-item.d.ts.map +1 -0
  94. package/dist/components/menu/menu-item.js +4 -0
  95. package/dist/components/menu/menu.css.d.ts +3 -0
  96. package/dist/components/menu/menu.css.d.ts.map +1 -0
  97. package/dist/components/menu/menu.d.ts +91 -0
  98. package/dist/components/menu/menu.d.ts.map +1 -0
  99. package/dist/components/menu/menu.js +205 -0
  100. package/dist/components/menu/menu.js.map +1 -0
  101. package/dist/components/navigation-bar/navigation-bar-item.d.ts +49 -0
  102. package/dist/components/navigation-bar/navigation-bar-item.d.ts.map +1 -0
  103. package/dist/components/navigation-bar/navigation-bar-item.js +5 -0
  104. package/dist/components/navigation-bar/navigation-bar.css.d.ts +3 -0
  105. package/dist/components/navigation-bar/navigation-bar.css.d.ts.map +1 -0
  106. package/dist/components/navigation-bar/navigation-bar.d.ts +50 -0
  107. package/dist/components/navigation-bar/navigation-bar.d.ts.map +1 -0
  108. package/dist/components/navigation-bar/navigation-bar.js +150 -0
  109. package/dist/components/navigation-bar/navigation-bar.js.map +1 -0
  110. package/dist/components/navigation-rail/navigation-rail-item.d.ts +36 -0
  111. package/dist/components/navigation-rail/navigation-rail-item.d.ts.map +1 -0
  112. package/dist/components/navigation-rail/navigation-rail-item.js +5 -0
  113. package/dist/components/navigation-rail/navigation-rail.css.d.ts +3 -0
  114. package/dist/components/navigation-rail/navigation-rail.css.d.ts.map +1 -0
  115. package/dist/components/navigation-rail/navigation-rail.d.ts +43 -0
  116. package/dist/components/navigation-rail/navigation-rail.d.ts.map +1 -0
  117. package/dist/components/navigation-rail/navigation-rail.js +121 -0
  118. package/dist/components/navigation-rail/navigation-rail.js.map +1 -0
  119. package/dist/components/search-bar/search-bar.css.d.ts.map +1 -1
  120. package/dist/components/search-bar/search-bar.js +1 -1
  121. package/dist/components/segmented-button/segmented-button.css.d.ts +3 -0
  122. package/dist/components/segmented-button/segmented-button.css.d.ts.map +1 -0
  123. package/dist/components/segmented-button/segmented-button.d.ts +40 -0
  124. package/dist/components/segmented-button/segmented-button.d.ts.map +1 -0
  125. package/dist/components/segmented-button/segmented-button.js +5 -0
  126. package/dist/components/side-sheet/side-sheet.css.d.ts +2 -0
  127. package/dist/components/side-sheet/side-sheet.css.d.ts.map +1 -0
  128. package/dist/components/side-sheet/side-sheet.d.ts +57 -0
  129. package/dist/components/side-sheet/side-sheet.d.ts.map +1 -0
  130. package/dist/components/side-sheet/side-sheet.js +4 -0
  131. package/dist/components/slider/slider.css.d.ts +2 -0
  132. package/dist/components/slider/slider.css.d.ts.map +1 -0
  133. package/dist/components/slider/slider.d.ts +51 -0
  134. package/dist/components/slider/slider.d.ts.map +1 -0
  135. package/dist/components/slider/slider.js +4 -0
  136. package/dist/components/split-button/split-button.css.d.ts +2 -0
  137. package/dist/components/split-button/split-button.css.d.ts.map +1 -0
  138. package/dist/components/split-button/split-button.d.ts +89 -0
  139. package/dist/components/split-button/split-button.d.ts.map +1 -0
  140. package/dist/components/split-button/split-button.js +4 -0
  141. package/dist/components/table/table.js +1 -1
  142. package/dist/components/time-picker/time-picker.css.d.ts +2 -0
  143. package/dist/components/time-picker/time-picker.css.d.ts.map +1 -0
  144. package/dist/components/time-picker/time-picker.d.ts +87 -0
  145. package/dist/components/time-picker/time-picker.d.ts.map +1 -0
  146. package/dist/components/time-picker/time-picker.js +4 -0
  147. package/dist/components/toolbar/toolbar.css.d.ts +2 -0
  148. package/dist/components/toolbar/toolbar.css.d.ts.map +1 -0
  149. package/dist/components/toolbar/toolbar.d.ts +53 -0
  150. package/dist/components/toolbar/toolbar.d.ts.map +1 -0
  151. package/dist/components/toolbar/toolbar.js +4 -0
  152. package/dist/components/tooltip/tooltip.css.d.ts +2 -0
  153. package/dist/components/tooltip/tooltip.css.d.ts.map +1 -0
  154. package/dist/components/tooltip/tooltip.d.ts +89 -0
  155. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  156. package/dist/components/tooltip/tooltip.js +4 -0
  157. package/dist/index.d.ts +21 -0
  158. package/dist/index.d.ts.map +1 -1
  159. package/dist/index.js +148 -2263
  160. package/dist/tokens/index.js +4 -2
  161. package/dist/tokens/index.js.map +1 -1
  162. package/dist/tokens/theme.css.d.ts.map +1 -1
  163. package/llms.txt +919 -0
  164. package/package.json +97 -1
  165. package/dist/chunks/button-B4TSZ7Sl.js.map +0 -1
  166. package/dist/chunks/icon-button-BdSc7eot.js.map +0 -1
  167. package/dist/chunks/search-bar-TXnqJ-gd.js.map +0 -1
  168. package/dist/index.js.map +0 -1
@@ -0,0 +1,397 @@
1
+ import { n as r, t as i } from "./decorate-DXuynaiA.js";
2
+ import "./ripple-squbKHhj.js";
3
+ import "./focus-ring-CuiJuM-y.js";
4
+ import "./icon-DrNqcNEL.js";
5
+ import { css as c, html as o, nothing as s } from "lit";
6
+ import { customElement as d, property as a, queryAssignedElements as h } from "lit/decorators.js";
7
+ var x = c`
8
+ :host {
9
+ display: flex;
10
+ flex-direction: row;
11
+ position: relative;
12
+ width: 100%;
13
+ height: var(--md-navigation-bar-container-height, 80px);
14
+ min-height: 80px;
15
+ box-sizing: border-box;
16
+ font-family: var(--md-sys-typescale-font-family, inherit);
17
+ background-color: var(--md-navigation-bar-container-color, var(--md-sys-color-surface-container, #F3EDF7));
18
+ color: var(--md-navigation-bar-container-text-color, var(--md-sys-color-on-surface, #1D1B20));
19
+ box-shadow: var(--md-navigation-bar-elevation, none);
20
+ align-items: center;
21
+ justify-content: space-evenly;
22
+ user-select: none;
23
+ overflow: hidden;
24
+ z-index: 1;
25
+ }
26
+
27
+ .nav-bar-container {
28
+ display: flex;
29
+ flex-direction: row;
30
+ align-items: center;
31
+ justify-content: space-around;
32
+ width: 100%;
33
+ height: 100%;
34
+ max-width: var(--md-navigation-bar-max-width, 100%);
35
+ margin: 0 auto;
36
+ box-sizing: border-box;
37
+ }
38
+
39
+ /* When hidden label mode is applied to bar */
40
+ :host([label-mode="hidden"]) ::slotted(md-navigation-bar-item),
41
+ :host([label-mode="none"]) ::slotted(md-navigation-bar-item) {
42
+ --md-navigation-bar-label-display: none;
43
+ }
44
+ `, b = c`
45
+ :host {
46
+ display: flex;
47
+ flex: 1 1 0px;
48
+ min-width: 48px;
49
+ max-width: 168px;
50
+ height: 100%;
51
+ box-sizing: border-box;
52
+ align-items: center;
53
+ justify-content: center;
54
+ position: relative;
55
+ outline: none;
56
+ cursor: pointer;
57
+ -webkit-tap-highlight-color: transparent;
58
+ color: var(--md-navigation-bar-item-icon-color, var(--md-sys-color-on-surface-variant, #49454F));
59
+ font-family: var(--md-sys-typescale-font-family, inherit);
60
+ }
61
+
62
+ :host([disabled]) {
63
+ pointer-events: none;
64
+ opacity: 0.38;
65
+ cursor: default;
66
+ }
67
+
68
+ .item {
69
+ display: flex;
70
+ flex-direction: column;
71
+ align-items: center;
72
+ justify-content: center;
73
+ width: 100%;
74
+ height: 100%;
75
+ padding: 12px 0 16px 0;
76
+ box-sizing: border-box;
77
+ text-decoration: none;
78
+ color: inherit;
79
+ position: relative;
80
+ outline: none;
81
+ gap: 4px;
82
+ }
83
+
84
+ /* Active Indicator Pill */
85
+ .icon-wrapper {
86
+ position: relative;
87
+ display: flex;
88
+ align-items: center;
89
+ justify-content: center;
90
+ width: var(--md-navigation-bar-indicator-width, 64px);
91
+ height: var(--md-navigation-bar-indicator-height, 32px);
92
+ border-radius: var(--md-navigation-bar-indicator-shape, 16px);
93
+ position: relative;
94
+ transition: transform 200ms cubic-bezier(0.2, 0, 0, 1),
95
+ background-color 200ms cubic-bezier(0.2, 0, 0, 1),
96
+ color 200ms cubic-bezier(0.2, 0, 0, 1);
97
+ }
98
+
99
+ .indicator {
100
+ position: absolute;
101
+ inset: 0;
102
+ border-radius: var(--md-navigation-bar-indicator-shape, 16px);
103
+ background-color: var(--md-navigation-bar-indicator-color, var(--md-sys-color-secondary-container, #E8DEF8));
104
+ opacity: 0;
105
+ transform: scaleX(0.5);
106
+ transition: transform 200ms cubic-bezier(0.2, 0, 0, 1),
107
+ opacity 200ms cubic-bezier(0.2, 0, 0, 1);
108
+ pointer-events: none;
109
+ z-index: 0;
110
+ }
111
+
112
+ :host([active]) .indicator,
113
+ :host([selected]) .indicator {
114
+ opacity: 1;
115
+ transform: scaleX(1);
116
+ }
117
+
118
+ .icon {
119
+ position: relative;
120
+ display: inline-flex;
121
+ align-items: center;
122
+ justify-content: center;
123
+ width: 24px;
124
+ height: 24px;
125
+ font-size: 24px;
126
+ z-index: 1;
127
+ color: var(--md-navigation-bar-item-icon-color, var(--md-sys-color-on-surface-variant, #49454F));
128
+ transition: color 200ms cubic-bezier(0.2, 0, 0, 1);
129
+ }
130
+
131
+ :host([active]) .icon,
132
+ :host([selected]) .icon {
133
+ color: var(--md-navigation-bar-item-active-icon-color, var(--md-sys-color-on-secondary-container, #1D192B));
134
+ }
135
+
136
+ .active-icon {
137
+ display: none;
138
+ }
139
+
140
+ :host([active]) .inactive-icon,
141
+ :host([selected]) .inactive-icon {
142
+ display: none;
143
+ }
144
+
145
+ :host([active]) .active-icon,
146
+ :host([selected]) .active-icon {
147
+ display: inline-flex;
148
+ }
149
+
150
+ /* Badge */
151
+ .badge-slot {
152
+ position: absolute;
153
+ top: 2px;
154
+ right: calc(50% - 24px);
155
+ z-index: 2;
156
+ pointer-events: none;
157
+ }
158
+
159
+ .badge {
160
+ position: absolute;
161
+ top: 2px;
162
+ right: calc(50% - 24px);
163
+ z-index: 2;
164
+ pointer-events: none;
165
+ box-sizing: border-box;
166
+ display: inline-flex;
167
+ align-items: center;
168
+ justify-content: center;
169
+ background-color: var(--md-sys-color-error, #B3261E);
170
+ color: var(--md-sys-color-on-error, #FFFFFF);
171
+ font-family: var(--md-sys-typescale-font-family, inherit);
172
+ font-size: 11px;
173
+ font-weight: 600;
174
+ line-height: 16px;
175
+ letter-spacing: 0.2px;
176
+ border-radius: 8px;
177
+ min-width: 16px;
178
+ height: 16px;
179
+ padding: 0 4px;
180
+ }
181
+
182
+ .badge.dot {
183
+ min-width: 6px;
184
+ width: 6px;
185
+ height: 6px;
186
+ padding: 0;
187
+ border-radius: 50%;
188
+ top: 4px;
189
+ right: calc(50% - 16px);
190
+ }
191
+
192
+ /* Label */
193
+ .label-container {
194
+ display: flex;
195
+ align-items: center;
196
+ justify-content: center;
197
+ max-width: 100%;
198
+ padding: 0 4px;
199
+ box-sizing: border-box;
200
+ transition: opacity 150ms cubic-bezier(0.2, 0, 0, 1),
201
+ transform 150ms cubic-bezier(0.2, 0, 0, 1);
202
+ }
203
+
204
+ .label {
205
+ font-size: var(--md-sys-typescale-label-medium-size, 12px);
206
+ font-weight: 500;
207
+ line-height: 16px;
208
+ letter-spacing: 0.5px;
209
+ text-align: center;
210
+ white-space: nowrap;
211
+ overflow: hidden;
212
+ text-overflow: ellipsis;
213
+ color: var(--md-navigation-bar-item-label-color, var(--md-sys-color-on-surface-variant, #49454F));
214
+ transition: color 200ms cubic-bezier(0.2, 0, 0, 1),
215
+ font-weight 200ms cubic-bezier(0.2, 0, 0, 1);
216
+ }
217
+
218
+ :host([active]) .label,
219
+ :host([selected]) .label {
220
+ color: var(--md-navigation-bar-item-active-label-color, var(--md-sys-color-on-surface, #1D1B20));
221
+ font-weight: 700;
222
+ }
223
+
224
+ /* Label Mode: hidden */
225
+ :host([label-mode="hidden"]) .label-container,
226
+ :host([label-mode="none"]) .label-container {
227
+ display: none;
228
+ }
229
+
230
+ /* Label Mode: selectedShow (only show label when active/selected) */
231
+ :host([label-mode="selectedShow"]:not([active]):not([selected])) .label-container,
232
+ :host([label-mode="selected-show"]:not([active]):not([selected])) .label-container,
233
+ :host([label-mode="selected"]:not([active]):not([selected])) .label-container,
234
+ :host([hide-inactive-labels]:not([active]):not([selected])) .label-container {
235
+ display: none;
236
+ }
237
+
238
+ /* Ripple and focus */
239
+ md-ripple {
240
+ border-radius: var(--md-navigation-bar-indicator-shape, 16px);
241
+ }
242
+
243
+ md-focus-ring {
244
+ --md-focus-ring-shape: var(--md-navigation-bar-indicator-shape, 16px);
245
+ }
246
+ `, t = class extends r {
247
+ constructor(...e) {
248
+ super(...e), this.active = !1, this.selected = !1, this.disabled = !1, this.icon = "", this.activeIcon = "", this.label = "", this.badge = "", this.value = "", this.href = "", this.target = "", this.labelMode = "alwaysShow", this.hideInactiveLabels = !1, this.handleClick = (n) => {
249
+ if (this.disabled) {
250
+ n.preventDefault(), n.stopImmediatePropagation();
251
+ return;
252
+ }
253
+ this.emitEvent("item-click", {
254
+ item: this,
255
+ value: this.value || this.label,
256
+ label: this.label,
257
+ active: this.active
258
+ });
259
+ };
260
+ }
261
+ static {
262
+ this.styles = [r.styles, b];
263
+ }
264
+ willUpdate(e) {
265
+ super.willUpdate(e), e.has("active") && !e.has("selected") ? this.selected = this.active : e.has("selected") && !e.has("active") ? this.active = this.selected : e.has("active") && e.has("selected") && (this.active ? this.selected = !0 : this.selected && (this.active = !0));
266
+ }
267
+ connectedCallback() {
268
+ super.connectedCallback(), this.setAttribute("role", "tab"), this.updateAriaAttributes();
269
+ }
270
+ updated(e) {
271
+ super.updated(e), (e.has("active") || e.has("selected") || e.has("disabled")) && this.updateAriaAttributes();
272
+ }
273
+ updateAriaAttributes() {
274
+ const e = this.active || this.selected;
275
+ this.setAttribute("aria-selected", e ? "true" : "false"), this.disabled ? this.setAttribute("aria-disabled", "true") : this.removeAttribute("aria-disabled");
276
+ }
277
+ renderBadge() {
278
+ if (this.assignedBadges && this.assignedBadges.length > 0) return o`<span class="badge-slot"><slot name="badge"></slot></span>`;
279
+ if (this.badge === "" || this.badge === null || this.badge === void 0) return o`<slot name="badge"></slot>`;
280
+ const e = this.badge === "dot" || this.badge === "true" || this.badge === "", n = e ? "" : this.badge;
281
+ return o`
282
+ <span class="badge ${e ? "dot" : ""}">
283
+ ${n}
284
+ </span>
285
+ <slot name="badge"></slot>
286
+ `;
287
+ }
288
+ renderIcon() {
289
+ const e = this.assignedActiveIcons && this.assignedActiveIcons.length > 0;
290
+ return this.activeIcon || e ? o`
291
+ <span class="icon inactive-icon">
292
+ <slot name="icon">
293
+ ${this.icon ? o`<md-icon name=${this.icon}></md-icon>` : s}
294
+ </slot>
295
+ </span>
296
+ <span class="icon active-icon">
297
+ <slot name="active-icon">
298
+ ${this.activeIcon ? o`<md-icon name=${this.activeIcon}></md-icon>` : s}
299
+ </slot>
300
+ </span>
301
+ ` : o`
302
+ <span class="icon">
303
+ <slot name="icon">
304
+ ${this.icon ? o`<md-icon name=${this.icon}></md-icon>` : s}
305
+ </slot>
306
+ </span>
307
+ `;
308
+ }
309
+ render() {
310
+ const e = this.active || this.selected, n = o`
311
+ <div class="icon-wrapper">
312
+ <div class="indicator"></div>
313
+ <md-ripple ?disabled=${this.disabled}></md-ripple>
314
+ <md-focus-ring></md-focus-ring>
315
+ ${this.renderIcon()}
316
+ ${this.renderBadge()}
317
+ </div>
318
+
319
+ <div class="label-container">
320
+ <span class="label">
321
+ <slot>${this.label}</slot>
322
+ </span>
323
+ </div>
324
+ `;
325
+ return this.href ? o`
326
+ <a
327
+ class="item"
328
+ href=${this.disabled ? s : this.href}
329
+ target=${this.target || s}
330
+ aria-selected=${e ? "true" : "false"}
331
+ tabindex=${this.disabled ? "-1" : s}
332
+ @click=${this.handleClick}
333
+ >
334
+ ${n}
335
+ </a>
336
+ ` : o`
337
+ <div
338
+ class="item"
339
+ tabindex=${this.disabled ? "-1" : s}
340
+ @click=${this.handleClick}
341
+ >
342
+ ${n}
343
+ </div>
344
+ `;
345
+ }
346
+ };
347
+ i([a({
348
+ type: Boolean,
349
+ reflect: !0
350
+ })], t.prototype, "active", void 0);
351
+ i([a({
352
+ type: Boolean,
353
+ reflect: !0
354
+ })], t.prototype, "selected", void 0);
355
+ i([a({
356
+ type: Boolean,
357
+ reflect: !0
358
+ })], t.prototype, "disabled", void 0);
359
+ i([a({ type: String })], t.prototype, "icon", void 0);
360
+ i([a({
361
+ type: String,
362
+ attribute: "active-icon"
363
+ })], t.prototype, "activeIcon", void 0);
364
+ i([a({ type: String })], t.prototype, "label", void 0);
365
+ i([a({
366
+ type: String,
367
+ reflect: !0
368
+ })], t.prototype, "badge", void 0);
369
+ i([a({
370
+ type: String,
371
+ reflect: !0
372
+ })], t.prototype, "value", void 0);
373
+ i([a({ type: String })], t.prototype, "href", void 0);
374
+ i([a({ type: String })], t.prototype, "target", void 0);
375
+ i([a({
376
+ type: String,
377
+ reflect: !0,
378
+ attribute: "label-mode"
379
+ })], t.prototype, "labelMode", void 0);
380
+ i([a({
381
+ type: Boolean,
382
+ reflect: !0,
383
+ attribute: "hide-inactive-labels"
384
+ })], t.prototype, "hideInactiveLabels", void 0);
385
+ i([h({ slot: "active-icon" })], t.prototype, "assignedActiveIcons", void 0);
386
+ i([h({ slot: "badge" })], t.prototype, "assignedBadges", void 0);
387
+ t = i([d("md-navigation-bar-item")], t);
388
+ var l = class extends t {
389
+ };
390
+ l = i([d("md-nav-bar-item")], l);
391
+ export {
392
+ t as n,
393
+ x as r,
394
+ l as t
395
+ };
396
+
397
+ //# sourceMappingURL=navigation-bar-item-C9DfOEzg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"navigation-bar-item-C9DfOEzg.js","names":[],"sources":["../../src/components/navigation-bar/navigation-bar.css.ts","../../src/components/navigation-bar/navigation-bar-item.ts"],"sourcesContent":["import { css } from 'lit';\n\nexport const navigationBarStyles = css`\n :host {\n display: flex;\n flex-direction: row;\n position: relative;\n width: 100%;\n height: var(--md-navigation-bar-container-height, 80px);\n min-height: 80px;\n box-sizing: border-box;\n font-family: var(--md-sys-typescale-font-family, inherit);\n background-color: var(--md-navigation-bar-container-color, var(--md-sys-color-surface-container, #F3EDF7));\n color: var(--md-navigation-bar-container-text-color, var(--md-sys-color-on-surface, #1D1B20));\n box-shadow: var(--md-navigation-bar-elevation, none);\n align-items: center;\n justify-content: space-evenly;\n user-select: none;\n overflow: hidden;\n z-index: 1;\n }\n\n .nav-bar-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-around;\n width: 100%;\n height: 100%;\n max-width: var(--md-navigation-bar-max-width, 100%);\n margin: 0 auto;\n box-sizing: border-box;\n }\n\n /* When hidden label mode is applied to bar */\n :host([label-mode=\"hidden\"]) ::slotted(md-navigation-bar-item),\n :host([label-mode=\"none\"]) ::slotted(md-navigation-bar-item) {\n --md-navigation-bar-label-display: none;\n }\n`;\n\nexport const navigationBarItemStyles = css`\n :host {\n display: flex;\n flex: 1 1 0px;\n min-width: 48px;\n max-width: 168px;\n height: 100%;\n box-sizing: border-box;\n align-items: center;\n justify-content: center;\n position: relative;\n outline: none;\n cursor: pointer;\n -webkit-tap-highlight-color: transparent;\n color: var(--md-navigation-bar-item-icon-color, var(--md-sys-color-on-surface-variant, #49454F));\n font-family: var(--md-sys-typescale-font-family, inherit);\n }\n\n :host([disabled]) {\n pointer-events: none;\n opacity: 0.38;\n cursor: default;\n }\n\n .item {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n width: 100%;\n height: 100%;\n padding: 12px 0 16px 0;\n box-sizing: border-box;\n text-decoration: none;\n color: inherit;\n position: relative;\n outline: none;\n gap: 4px;\n }\n\n /* Active Indicator Pill */\n .icon-wrapper {\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--md-navigation-bar-indicator-width, 64px);\n height: var(--md-navigation-bar-indicator-height, 32px);\n border-radius: var(--md-navigation-bar-indicator-shape, 16px);\n position: relative;\n transition: transform 200ms cubic-bezier(0.2, 0, 0, 1),\n background-color 200ms cubic-bezier(0.2, 0, 0, 1),\n color 200ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n .indicator {\n position: absolute;\n inset: 0;\n border-radius: var(--md-navigation-bar-indicator-shape, 16px);\n background-color: var(--md-navigation-bar-indicator-color, var(--md-sys-color-secondary-container, #E8DEF8));\n opacity: 0;\n transform: scaleX(0.5);\n transition: transform 200ms cubic-bezier(0.2, 0, 0, 1),\n opacity 200ms cubic-bezier(0.2, 0, 0, 1);\n pointer-events: none;\n z-index: 0;\n }\n\n :host([active]) .indicator,\n :host([selected]) .indicator {\n opacity: 1;\n transform: scaleX(1);\n }\n\n .icon {\n position: relative;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: 24px;\n height: 24px;\n font-size: 24px;\n z-index: 1;\n color: var(--md-navigation-bar-item-icon-color, var(--md-sys-color-on-surface-variant, #49454F));\n transition: color 200ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n :host([active]) .icon,\n :host([selected]) .icon {\n color: var(--md-navigation-bar-item-active-icon-color, var(--md-sys-color-on-secondary-container, #1D192B));\n }\n\n .active-icon {\n display: none;\n }\n\n :host([active]) .inactive-icon,\n :host([selected]) .inactive-icon {\n display: none;\n }\n\n :host([active]) .active-icon,\n :host([selected]) .active-icon {\n display: inline-flex;\n }\n\n /* Badge */\n .badge-slot {\n position: absolute;\n top: 2px;\n right: calc(50% - 24px);\n z-index: 2;\n pointer-events: none;\n }\n\n .badge {\n position: absolute;\n top: 2px;\n right: calc(50% - 24px);\n z-index: 2;\n pointer-events: none;\n box-sizing: border-box;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n background-color: var(--md-sys-color-error, #B3261E);\n color: var(--md-sys-color-on-error, #FFFFFF);\n font-family: var(--md-sys-typescale-font-family, inherit);\n font-size: 11px;\n font-weight: 600;\n line-height: 16px;\n letter-spacing: 0.2px;\n border-radius: 8px;\n min-width: 16px;\n height: 16px;\n padding: 0 4px;\n }\n\n .badge.dot {\n min-width: 6px;\n width: 6px;\n height: 6px;\n padding: 0;\n border-radius: 50%;\n top: 4px;\n right: calc(50% - 16px);\n }\n\n /* Label */\n .label-container {\n display: flex;\n align-items: center;\n justify-content: center;\n max-width: 100%;\n padding: 0 4px;\n box-sizing: border-box;\n transition: opacity 150ms cubic-bezier(0.2, 0, 0, 1),\n transform 150ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n .label {\n font-size: var(--md-sys-typescale-label-medium-size, 12px);\n font-weight: 500;\n line-height: 16px;\n letter-spacing: 0.5px;\n text-align: center;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--md-navigation-bar-item-label-color, var(--md-sys-color-on-surface-variant, #49454F));\n transition: color 200ms cubic-bezier(0.2, 0, 0, 1),\n font-weight 200ms cubic-bezier(0.2, 0, 0, 1);\n }\n\n :host([active]) .label,\n :host([selected]) .label {\n color: var(--md-navigation-bar-item-active-label-color, var(--md-sys-color-on-surface, #1D1B20));\n font-weight: 700;\n }\n\n /* Label Mode: hidden */\n :host([label-mode=\"hidden\"]) .label-container,\n :host([label-mode=\"none\"]) .label-container {\n display: none;\n }\n\n /* Label Mode: selectedShow (only show label when active/selected) */\n :host([label-mode=\"selectedShow\"]:not([active]):not([selected])) .label-container,\n :host([label-mode=\"selected-show\"]:not([active]):not([selected])) .label-container,\n :host([label-mode=\"selected\"]:not([active]):not([selected])) .label-container,\n :host([hide-inactive-labels]:not([active]):not([selected])) .label-container {\n display: none;\n }\n\n /* Ripple and focus */\n md-ripple {\n border-radius: var(--md-navigation-bar-indicator-shape, 16px);\n }\n\n md-focus-ring {\n --md-focus-ring-shape: var(--md-navigation-bar-indicator-shape, 16px);\n }\n`;\n","import { html, nothing } from 'lit';\nimport { customElement, property, queryAssignedElements } from 'lit/decorators.js';\nimport { MdBaseElement } from '../../internal/base-component.js';\nimport '../../internal/ripple/ripple.js';\nimport '../../internal/focus-ring/focus-ring.js';\nimport '../icon/icon.js';\nimport { navigationBarItemStyles } from './navigation-bar.css.js';\n\nexport type NavigationBarLabelMode = 'alwaysShow' | 'selectedShow' | 'hidden' | 'always' | 'selected' | 'none';\n\n/**\n * Material Design 3 Navigation Bar Item Component.\n *\n * Represents an individual destination in a navigation bar with an icon,\n * active indicator pill, badge, and label.\n *\n * @slot icon - Leading/inactive icon.\n * @slot active-icon - Custom icon shown when the item is active.\n * @slot badge - Custom badge indicator or element.\n * @slot - Default slot for item label text.\n *\n * @fires item-click - Dispatched when the item is clicked.\n */\n@customElement('md-navigation-bar-item')\nexport class MdNavigationBarItem extends MdBaseElement {\n static override styles = [MdBaseElement.styles, navigationBarItemStyles];\n\n @property({ type: Boolean, reflect: true })\n active = false;\n\n @property({ type: Boolean, reflect: true })\n selected = false;\n\n @property({ type: Boolean, reflect: true })\n disabled = false;\n\n @property({ type: String })\n icon = '';\n\n @property({ type: String, attribute: 'active-icon' })\n activeIcon = '';\n\n @property({ type: String })\n label = '';\n\n @property({ type: String, reflect: true })\n badge = '';\n\n @property({ type: String, reflect: true })\n value = '';\n\n @property({ type: String })\n href = '';\n\n @property({ type: String })\n target = '';\n\n @property({ type: String, reflect: true, attribute: 'label-mode' })\n labelMode: NavigationBarLabelMode = 'alwaysShow';\n\n @property({ type: Boolean, reflect: true, attribute: 'hide-inactive-labels' })\n hideInactiveLabels = false;\n\n @queryAssignedElements({ slot: 'active-icon' })\n private assignedActiveIcons!: HTMLElement[];\n\n @queryAssignedElements({ slot: 'badge' })\n private assignedBadges!: HTMLElement[];\n\n override willUpdate(changedProperties: Map<string, unknown>) {\n super.willUpdate(changedProperties);\n if (changedProperties.has('active') && !changedProperties.has('selected')) {\n this.selected = this.active;\n } else if (changedProperties.has('selected') && !changedProperties.has('active')) {\n this.active = this.selected;\n } else if (changedProperties.has('active') && changedProperties.has('selected')) {\n if (this.active) {\n this.selected = true;\n } else if (this.selected) {\n this.active = true;\n }\n }\n }\n\n override connectedCallback() {\n super.connectedCallback();\n this.setAttribute('role', 'tab');\n this.updateAriaAttributes();\n }\n\n override updated(changedProperties: Map<string, unknown>) {\n super.updated(changedProperties);\n if (changedProperties.has('active') || changedProperties.has('selected') || changedProperties.has('disabled')) {\n this.updateAriaAttributes();\n }\n }\n\n private updateAriaAttributes() {\n const isSelected = this.active || this.selected;\n this.setAttribute('aria-selected', isSelected ? 'true' : 'false');\n if (this.disabled) {\n this.setAttribute('aria-disabled', 'true');\n } else {\n this.removeAttribute('aria-disabled');\n }\n }\n\n private handleClick = (event: MouseEvent) => {\n if (this.disabled) {\n event.preventDefault();\n event.stopImmediatePropagation();\n return;\n }\n\n this.emitEvent('item-click', {\n item: this,\n value: this.value || this.label,\n label: this.label,\n active: this.active,\n });\n };\n\n private renderBadge() {\n if (this.assignedBadges && this.assignedBadges.length > 0) {\n return html`<span class=\"badge-slot\"><slot name=\"badge\"></slot></span>`;\n }\n\n if (this.badge === '' || this.badge === null || this.badge === undefined) {\n return html`<slot name=\"badge\"></slot>`;\n }\n\n const isDot = this.badge === 'dot' || this.badge === 'true' || this.badge === '';\n const badgeText = isDot ? '' : this.badge;\n\n return html`\n <span class=\"badge ${isDot ? 'dot' : ''}\">\n ${badgeText}\n </span>\n <slot name=\"badge\"></slot>\n `;\n }\n\n private renderIcon() {\n const hasCustomActiveIconSlot = this.assignedActiveIcons && this.assignedActiveIcons.length > 0;\n const hasActiveIconProp = Boolean(this.activeIcon);\n\n if (hasActiveIconProp || hasCustomActiveIconSlot) {\n return html`\n <span class=\"icon inactive-icon\">\n <slot name=\"icon\">\n ${this.icon ? html`<md-icon name=${this.icon}></md-icon>` : nothing}\n </slot>\n </span>\n <span class=\"icon active-icon\">\n <slot name=\"active-icon\">\n ${this.activeIcon ? html`<md-icon name=${this.activeIcon}></md-icon>` : nothing}\n </slot>\n </span>\n `;\n }\n\n return html`\n <span class=\"icon\">\n <slot name=\"icon\">\n ${this.icon ? html`<md-icon name=${this.icon}></md-icon>` : nothing}\n </slot>\n </span>\n `;\n }\n\n override render() {\n const isSelected = this.active || this.selected;\n\n const content = html`\n <div class=\"icon-wrapper\">\n <div class=\"indicator\"></div>\n <md-ripple ?disabled=${this.disabled}></md-ripple>\n <md-focus-ring></md-focus-ring>\n ${this.renderIcon()}\n ${this.renderBadge()}\n </div>\n\n <div class=\"label-container\">\n <span class=\"label\">\n <slot>${this.label}</slot>\n </span>\n </div>\n `;\n\n if (this.href) {\n return html`\n <a\n class=\"item\"\n href=${this.disabled ? nothing : this.href}\n target=${this.target || nothing}\n aria-selected=${isSelected ? 'true' : 'false'}\n tabindex=${this.disabled ? '-1' : nothing}\n @click=${this.handleClick}\n >\n ${content}\n </a>\n `;\n }\n\n return html`\n <div\n class=\"item\"\n tabindex=${this.disabled ? '-1' : nothing}\n @click=${this.handleClick}\n >\n ${content}\n </div>\n `;\n }\n}\n\n// Aliases\n@customElement('md-nav-bar-item')\nexport class MdNavBarItem extends MdNavigationBarItem {}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'md-navigation-bar-item': MdNavigationBarItem;\n 'md-nav-bar-item': MdNavBarItem;\n }\n}\n"],"mappings":";;;;;;AAEA,IAAa,IAAsB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAuCtB,IAA0B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GCjB1B,IAAN,cAAkC,EAAc;AAAA;iBAI5C,KAAA,SAAA,IAGE,KAAA,WAAA,IAGA,KAAA,WAAA,IAGJ,KAAA,OAAA,IAGM,KAAA,aAAA,IAGL,KAAA,QAAA,IAGA,KAAA,QAAA,IAGA,KAAA,QAAA,IAGD,KAAA,OAAA,IAGE,KAAA,SAAA,IAG2B,KAAA,YAAA,cAGf,KAAA,qBAAA,IA8CE,KAAA,cAAA,CAAA,MAAsB;AAC3C,UAAI,KAAK,UAAU;AACjB,QAAA,EAAM,eAAe,GACrB,EAAM,yBAAyB;AAC/B;AAAA,MACF;AAEA,WAAK,UAAU,cAAc;AAAA,QAC3B,MAAM;AAAA,QACN,OAAO,KAAK,SAAS,KAAK;AAAA,QAC1B,OAAO,KAAK;AAAA,QACZ,QAAQ,KAAK;AAAA,MACf,CAAC;AAAA,IACH;AAAA;;AA/FyB,SAAA,SAAA,CAAC,EAAc,QAAQ,CAAuB;AAAA;EA4CvE,WAAoB,GAAyC;AAC3D,UAAM,WAAW,CAAiB,GAC9B,EAAkB,IAAI,QAAQ,KAAK,CAAC,EAAkB,IAAI,UAAU,IACtE,KAAK,WAAW,KAAK,SACZ,EAAkB,IAAI,UAAU,KAAK,CAAC,EAAkB,IAAI,QAAQ,IAC7E,KAAK,SAAS,KAAK,WACV,EAAkB,IAAI,QAAQ,KAAK,EAAkB,IAAI,UAAU,MACxE,KAAK,SACP,KAAK,WAAW,KACP,KAAK,aACd,KAAK,SAAS;AAAA,EAGpB;AAAA,EAEA,oBAA6B;AAC3B,UAAM,kBAAkB,GACxB,KAAK,aAAa,QAAQ,KAAK,GAC/B,KAAK,qBAAqB;AAAA,EAC5B;AAAA,EAEA,QAAiB,GAAyC;AACxD,UAAM,QAAQ,CAAiB,IAC3B,EAAkB,IAAI,QAAQ,KAAK,EAAkB,IAAI,UAAU,KAAK,EAAkB,IAAI,UAAU,MAC1G,KAAK,qBAAqB;AAAA,EAE9B;AAAA,EAEA,uBAA+B;AAC7B,UAAM,IAAa,KAAK,UAAU,KAAK;AACvC,SAAK,aAAa,iBAAiB,IAAa,SAAS,OAAO,GAC5D,KAAK,WACP,KAAK,aAAa,iBAAiB,MAAM,IAEzC,KAAK,gBAAgB,eAAe;AAAA,EAExC;AAAA,EAiBA,cAAsB;AACpB,QAAI,KAAK,kBAAkB,KAAK,eAAe,SAAS,EACtD,QAAO;AAGT,QAAI,KAAK,UAAU,MAAM,KAAK,UAAU,QAAQ,KAAK,UAAU,OAC7D,QAAO;AAGT,UAAM,IAAQ,KAAK,UAAU,SAAS,KAAK,UAAU,UAAU,KAAK,UAAU,IACxE,IAAY,IAAQ,KAAK,KAAK;AAEpC,WAAO;AAAA,2BACgB,IAAQ,QAAQ,EAAA;AAAA,UACjC,CAAA;AAAA;AAAA;AAAA;AAAA,EAIR;AAAA,EAEA,aAAqB;AACnB,UAAM,IAA0B,KAAK,uBAAuB,KAAK,oBAAoB,SAAS;AAG9F,WAFkC,KAAK,cAEd,IAChB;AAAA;AAAA;AAAA,cAGC,KAAK,OAAO,kBAAqB,KAAK,IAAA,gBAAoB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,cAK1D,KAAK,aAAa,kBAAqB,KAAK,UAAA,gBAA0B,CAAA;AAAA;AAAA;AAAA,UAMzE;AAAA;AAAA;AAAA,YAGC,KAAK,OAAO,kBAAqB,KAAK,IAAA,gBAAoB,CAAA;AAAA;AAAA;AAAA;AAAA,EAIpE;AAAA,EAEA,SAAkB;AAChB,UAAM,IAAa,KAAK,UAAU,KAAK,UAEjC,IAAU;AAAA;AAAA;AAAA,+BAGW,KAAK,QAAA;AAAA;AAAA,UAE1B,KAAK,WAAW,CAAA;AAAA,UAChB,KAAK,YAAY,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAKT,KAAK,KAAA;AAAA;AAAA;AAAA;AAKnB,WAAI,KAAK,OACA;AAAA;AAAA;AAAA,iBAGI,KAAK,WAAW,IAAU,KAAK,IAAA;AAAA,mBAC7B,KAAK,UAAU,CAAA;AAAA,0BACR,IAAa,SAAS,OAAA;AAAA,qBAC3B,KAAK,WAAW,OAAO,CAAA;AAAA,mBACzB,KAAK,WAAA;AAAA;AAAA,YAEZ,CAAA;AAAA;AAAA,UAKD;AAAA;AAAA;AAAA,mBAGQ,KAAK,WAAW,OAAO,CAAA;AAAA,iBACzB,KAAK,WAAA;AAAA;AAAA,UAEZ,CAAA;AAAA;AAAA;AAAA,EAGR;AACF;AA3LG,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,UAAA,MAAA;AAGzC,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,MAAA;AAGzC,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAS,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,YAAA,MAAA;AAGzC,EAAA,CAAA,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,MAAA;AAGzB,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAQ,WAAW;AAAc,CAAC,CAAA,GAAA,EAAA,WAAA,cAAA,MAAA;AAGnD,EAAA,CAAA,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,SAAA,MAAA;AAGzB,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,SAAA,MAAA;AAGxC,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAQ,SAAS;AAAK,CAAC,CAAA,GAAA,EAAA,WAAA,SAAA,MAAA;AAGxC,EAAA,CAAA,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,QAAA,MAAA;AAGzB,EAAA,CAAA,EAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,EAAA,WAAA,UAAA,MAAA;AAGzB,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAQ,SAAS;AAAA,EAAM,WAAW;AAAa,CAAC,CAAA,GAAA,EAAA,WAAA,aAAA,MAAA;AAGjE,EAAA,CAAA,EAAS;AAAA,EAAE,MAAM;AAAA,EAAS,SAAS;AAAA,EAAM,WAAW;AAAuB,CAAC,CAAA,GAAA,EAAA,WAAA,sBAAA,MAAA;AAG5E,EAAA,CAAA,EAAsB,EAAE,MAAM,cAAc,CAAC,CAAA,GAAA,EAAA,WAAA,uBAAA,MAAA;AAG7C,EAAA,CAAA,EAAsB,EAAE,MAAM,QAAQ,CAAC,CAAA,GAAA,EAAA,WAAA,kBAAA,MAAA;AA3CzC,IAAA,EAAA,CAAA,EAAc,wBAAwB,CAAA,GAAA,CAAA;AAmMhC,IAAM,IAAN,cAA2B,EAAoB;AAAC;AADtD,IAAA,EAAA,CAAA,EAAc,iBAAiB,CAAA,GAAA,CAAA"}