@redvars/peacock 3.3.0 → 3.3.2

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 (159) hide show
  1. package/dist/{IndividualComponent-tDnXrOLV.js → IndividualComponent-Dt5xirYG.js} +2 -2
  2. package/dist/{IndividualComponent-tDnXrOLV.js.map → IndividualComponent-Dt5xirYG.js.map} +1 -1
  3. package/dist/array-D5vjT2Xm.js +14 -0
  4. package/dist/array-D5vjT2Xm.js.map +1 -0
  5. package/dist/assets/components.css +1 -1
  6. package/dist/assets/components.css.map +1 -1
  7. package/dist/assets/styles.css +1 -1
  8. package/dist/assets/styles.css.map +1 -1
  9. package/dist/{button-BGFJfbT2.js → button-ClzS8JLq.js} +3 -4
  10. package/dist/{button-BGFJfbT2.js.map → button-ClzS8JLq.js.map} +1 -1
  11. package/dist/button-group-BMS5WvaF.js +292 -0
  12. package/dist/button-group-BMS5WvaF.js.map +1 -0
  13. package/dist/button-group.js +6 -107
  14. package/dist/button-group.js.map +1 -1
  15. package/dist/button.js +3 -4
  16. package/dist/button.js.map +1 -1
  17. package/dist/card.js +104 -0
  18. package/dist/card.js.map +1 -0
  19. package/dist/chart-bar-DbnXQgvS.js +1121 -0
  20. package/dist/chart-bar-DbnXQgvS.js.map +1 -0
  21. package/dist/chart-bar.js +259 -0
  22. package/dist/chart-bar.js.map +1 -0
  23. package/dist/chart-donut.js +4 -2
  24. package/dist/chart-donut.js.map +1 -1
  25. package/dist/chart-doughnut.js +4 -2
  26. package/dist/chart-doughnut.js.map +1 -1
  27. package/dist/chart-pie.js +4 -2
  28. package/dist/chart-pie.js.map +1 -1
  29. package/dist/chart-stacked-bar.js +401 -0
  30. package/dist/chart-stacked-bar.js.map +1 -0
  31. package/dist/{class-map-DpeNtqCn.js → class-map-59YGWLnx.js} +9 -3
  32. package/dist/class-map-59YGWLnx.js.map +1 -0
  33. package/dist/clock.js +1 -1
  34. package/dist/code-editor.js +7 -7
  35. package/dist/code-editor.js.map +1 -1
  36. package/dist/code-highlighter.js +7 -25
  37. package/dist/code-highlighter.js.map +1 -1
  38. package/dist/custom-elements-jsdocs.json +8824 -5047
  39. package/dist/custom-elements.json +7468 -4147
  40. package/dist/index.js +16 -10
  41. package/dist/index.js.map +1 -1
  42. package/dist/number-counter.js +2 -2
  43. package/dist/{observe-theme-change-BISF-Gl5.js → observe-theme-change-pALI5fmV.js} +2 -2
  44. package/dist/{observe-theme-change-BISF-Gl5.js.map → observe-theme-change-pALI5fmV.js.map} +1 -1
  45. package/dist/peacock-loader.js +42 -1016
  46. package/dist/peacock-loader.js.map +1 -1
  47. package/dist/pie-Dz0IDiPt.js +537 -0
  48. package/dist/pie-Dz0IDiPt.js.map +1 -0
  49. package/dist/{slider-Dk9CFWTG.js → snackbar-74YCdMPL.js} +6205 -3206
  50. package/dist/snackbar-74YCdMPL.js.map +1 -0
  51. package/dist/src/accordion/accordion-item.d.ts +1 -0
  52. package/dist/src/breadcrumb/breadcrumb/breadcrumb.d.ts +2 -0
  53. package/dist/src/breadcrumb/breadcrumb-item/breadcrumb-item.d.ts +1 -0
  54. package/dist/src/button/button-group/button-group.d.ts +4 -0
  55. package/dist/src/card/card.d.ts +27 -0
  56. package/dist/src/card/index.d.ts +1 -0
  57. package/dist/src/chart-bar/chart-bar.d.ts +53 -0
  58. package/dist/src/chart-bar/chart-stacked-bar.d.ts +78 -0
  59. package/dist/src/chart-bar/index.d.ts +2 -0
  60. package/dist/src/code-editor/code-editor.d.ts +4 -3
  61. package/dist/src/code-highlighter/code-highlighter.d.ts +4 -7
  62. package/dist/src/index.d.ts +9 -0
  63. package/dist/src/menu/index.d.ts +3 -0
  64. package/dist/src/menu/menu/MenuSurfaceController.d.ts +18 -0
  65. package/dist/src/menu/menu/menu.d.ts +54 -12
  66. package/dist/src/menu/menu-item/menu-item.d.ts +12 -5
  67. package/dist/src/menu/sub-menu/sub-menu.d.ts +36 -0
  68. package/dist/src/pagination/index.d.ts +1 -0
  69. package/dist/src/pagination/pagination.d.ts +38 -0
  70. package/dist/src/popover/PopoverController.d.ts +4 -1
  71. package/dist/src/snackbar/index.d.ts +1 -0
  72. package/dist/src/snackbar/snackbar.d.ts +40 -0
  73. package/dist/src/table/index.d.ts +1 -0
  74. package/dist/src/table/table.d.ts +110 -0
  75. package/dist/src/tabs/tab-group.d.ts +5 -1
  76. package/dist/src/tabs/tab-panel.d.ts +2 -0
  77. package/dist/src/tabs/tab.d.ts +3 -1
  78. package/dist/src/tabs/tabs.d.ts +2 -0
  79. package/dist/src/tooltip/tooltip.d.ts +1 -3
  80. package/dist/src/tree-view/index.d.ts +2 -0
  81. package/dist/src/tree-view/tree-node.d.ts +69 -0
  82. package/dist/src/tree-view/tree-view.d.ts +40 -0
  83. package/dist/src/tree-view/wc-tree-view.d.ts +6 -0
  84. package/dist/{style-map-CfNHEkQp.js → style-map-DcB52w-l.js} +2 -2
  85. package/dist/{style-map-CfNHEkQp.js.map → style-map-DcB52w-l.js.map} +1 -1
  86. package/dist/test/card.test.d.ts +1 -0
  87. package/dist/test/chart-bar.test.d.ts +1 -0
  88. package/dist/test/icon.test.d.ts +1 -1
  89. package/dist/test/menu.test.d.ts +1 -0
  90. package/dist/test/snackbar.test.d.ts +1 -0
  91. package/dist/test/sub-menu.test.d.ts +1 -0
  92. package/dist/test/tree-view.test.d.ts +1 -0
  93. package/dist/{transform-DRuHEvar.js → transform-DSwFSqzD.js} +13 -558
  94. package/dist/transform-DSwFSqzD.js.map +1 -0
  95. package/dist/tsconfig.tsbuildinfo +1 -1
  96. package/dist/{unsafe-html-CV6Je6HL.js → unsafe-html-C2r3PyzF.js} +2 -2
  97. package/dist/{unsafe-html-CV6Je6HL.js.map → unsafe-html-C2r3PyzF.js.map} +1 -1
  98. package/package.json +1 -1
  99. package/readme.md +40 -40
  100. package/src/accordion/accordion-item.ts +2 -1
  101. package/src/breadcrumb/breadcrumb/breadcrumb.ts +3 -0
  102. package/src/breadcrumb/breadcrumb-item/breadcrumb-item.ts +1 -0
  103. package/src/button/button-group/button-group.ts +6 -0
  104. package/src/card/card.scss +61 -0
  105. package/src/card/card.ts +38 -0
  106. package/src/card/index.ts +1 -0
  107. package/src/chart-bar/chart-bar.scss +58 -0
  108. package/src/chart-bar/chart-bar.ts +306 -0
  109. package/src/chart-bar/chart-stacked-bar.ts +402 -0
  110. package/src/chart-bar/index.ts +2 -0
  111. package/src/code-editor/code-editor.ts +4 -3
  112. package/src/code-highlighter/code-highlighter.ts +4 -22
  113. package/src/divider/divider.scss +2 -2
  114. package/src/empty-state/empty-state.scss +1 -1
  115. package/src/empty-state/empty-state.ts +1 -1
  116. package/src/index.ts +11 -2
  117. package/src/menu/index.ts +3 -0
  118. package/src/menu/menu/MenuSurfaceController.ts +61 -0
  119. package/src/menu/{menu-list/menu-list.scss → menu/menu.scss} +19 -4
  120. package/src/menu/menu/menu.ts +389 -81
  121. package/src/menu/menu-item/menu-item.ts +115 -36
  122. package/src/menu/sub-menu/sub-menu.scss +7 -0
  123. package/src/menu/sub-menu/sub-menu.ts +243 -0
  124. package/src/pagination/index.ts +1 -0
  125. package/src/pagination/pagination.scss +59 -0
  126. package/src/pagination/pagination.ts +135 -0
  127. package/src/peacock-loader.ts +39 -11
  128. package/src/popover/PopoverController.ts +13 -7
  129. package/src/snackbar/demo/index.html +29 -0
  130. package/src/snackbar/index.ts +1 -0
  131. package/src/snackbar/snackbar.scss +73 -0
  132. package/src/snackbar/snackbar.ts +151 -0
  133. package/src/table/index.ts +1 -0
  134. package/src/table/table.scss +174 -0
  135. package/src/table/table.ts +475 -0
  136. package/src/tabs/tab-group.ts +63 -28
  137. package/src/tabs/tab-panel.scss +3 -3
  138. package/src/tabs/tab-panel.ts +3 -0
  139. package/src/tabs/tab.scss +76 -2
  140. package/src/tabs/tab.ts +29 -6
  141. package/src/tabs/tabs.scss +6 -5
  142. package/src/tabs/tabs.ts +19 -5
  143. package/src/text/text.css-component.scss +6 -3
  144. package/src/tooltip/tooltip.scss +16 -13
  145. package/src/tooltip/tooltip.ts +7 -9
  146. package/src/tree-view/demo/index.html +57 -0
  147. package/src/tree-view/index.ts +2 -0
  148. package/src/tree-view/tree-node.scss +101 -0
  149. package/src/tree-view/tree-node.ts +268 -0
  150. package/src/tree-view/tree-view.scss +12 -0
  151. package/src/tree-view/tree-view.ts +182 -0
  152. package/src/tree-view/wc-tree-view.ts +9 -0
  153. package/dist/class-map-DpeNtqCn.js.map +0 -1
  154. package/dist/slider-Dk9CFWTG.js.map +0 -1
  155. package/dist/src/menu/menu-list/menu-list.d.ts +0 -22
  156. package/dist/state-8v48Exzh.js +0 -10
  157. package/dist/state-8v48Exzh.js.map +0 -1
  158. package/dist/transform-DRuHEvar.js.map +0 -1
  159. package/src/menu/menu-list/menu-list.ts +0 -48
@@ -1,1013 +1,15 @@
1
- import { A as Accordion, m as Slider, j as Image, e as Container, g as EmptyState, n as Spinner, o as Switch, c as BreadcrumbItem, b as Breadcrumb, v as Tooltip, u as TimePicker, D as DatePicker, t as Textarea, N as NumberField, k as Input, F as Field, S as Skeleton, d as CircularProgress, L as LinearProgress, s as Tag, C as Chip, l as Link, q as TabPanel, T as Tab, p as TabGroup, r as Tabs, R as Ripple, E as Elevation, f as Divider, i as IconButton, B as Badge, a as Avatar, h as FocusRing, I as Icon } from './slider-Dk9CFWTG.js';
2
- import { s as spread, B as Button } from './button-BGFJfbT2.js';
3
- import { ButtonGroup } from './button-group.js';
4
- import { i, _ as __decorate, n, a as i$1, w, b } from './IndividualComponent-tDnXrOLV.js';
5
- import { r } from './state-8v48Exzh.js';
6
- import { e } from './query-QBcUV-L_.js';
7
- import { e as e$1 } from './class-map-DpeNtqCn.js';
1
+ import { H as TreeView, A as Accordion, o as Snackbar, P as Pagination, u as Table, n as Slider, j as Image, f as Container, q as SubMenu, m as MenuItem, M as Menu, h as EmptyState, p as Spinner, C as Checkbox, r as Switch, c as BreadcrumbItem, b as Breadcrumb, z as Tooltip, y as TimePicker, D as DatePicker, x as Textarea, N as NumberField, k as Input, F as Field, S as Skeleton, e as CircularProgress, L as LinearProgress, w as Tag, d as Chip, l as Link, t as TabPanel, T as Tab, s as TabGroup, v as Tabs, R as Ripple, E as Elevation, g as Divider, B as Badge, a as Avatar, i as FocusRing, I as Icon } from './snackbar-74YCdMPL.js';
2
+ import { B as Button } from './button-ClzS8JLq.js';
3
+ import { B as ButtonGroup, I as IconButton } from './button-group-BMS5WvaF.js';
4
+ import { Card } from './card.js';
5
+ import './IndividualComponent-Dt5xirYG.js';
6
+ import './class-map-59YGWLnx.js';
8
7
  import './directive-Cuw6h7YA.js';
9
- import './unsafe-html-CV6Je6HL.js';
8
+ import './unsafe-html-C2r3PyzF.js';
10
9
  import './dispatch-event-utils-B4odODQf.js';
11
- import './style-map-CfNHEkQp.js';
12
- import './observe-theme-change-BISF-Gl5.js';
13
-
14
- var css_248z$3 = i`* {
15
- box-sizing: border-box;
16
- }
17
-
18
- .screen-reader-only {
19
- display: none !important;
20
- }
21
-
22
- :host {
23
- display: inline-block;
24
- --checkbox-size: 18px;
25
- --checkbox-icon-size: 12px;
26
- --checkbox-selected-color: var(--color-primary);
27
- --checkbox-unselected-color: var(--color-on-surface-variant);
28
- --checkbox-checkmark-color: var(--color-on-primary);
29
- --checkbox-state-layer-size: 40px;
30
- --checkbox-disabled-opacity: 0.38;
31
- --checkbox-border-radius: 2px;
32
- }
33
-
34
- .checkbox {
35
- position: relative;
36
- display: inline-flex;
37
- align-items: center;
38
- cursor: pointer;
39
- user-select: none;
40
- vertical-align: middle;
41
- font-family: var(--typography-body-medium-font-family) !important;
42
- font-size: var(--typography-body-medium-font-size) !important;
43
- font-weight: var(--typography-body-medium-font-weight) !important;
44
- line-height: var(--typography-body-medium-line-height) !important;
45
- letter-spacing: var(--typography-body-medium-letter-spacing) !important;
46
- }
47
- .checkbox.has-content {
48
- gap: 8px;
49
- }
50
- .checkbox .input-native {
51
- position: absolute;
52
- width: 1px;
53
- height: 1px;
54
- padding: 0;
55
- margin: -1px;
56
- overflow: hidden;
57
- clip: rect(0, 0, 0, 0);
58
- border: 0;
59
- }
60
- .checkbox .container {
61
- position: relative;
62
- display: inline-flex;
63
- align-items: center;
64
- justify-content: center;
65
- width: var(--checkbox-state-layer-size);
66
- height: var(--checkbox-state-layer-size);
67
- cursor: inherit;
68
- outline: none;
69
- flex-shrink: 0;
70
- }
71
- .checkbox .state-layer {
72
- position: absolute;
73
- inset: 0;
74
- border-radius: 50%;
75
- opacity: 0;
76
- transition: opacity var(--duration-short2) var(--easing-standard);
77
- }
78
- .checkbox .outline {
79
- position: absolute;
80
- width: var(--checkbox-size);
81
- height: var(--checkbox-size);
82
- border: 2px solid var(--checkbox-unselected-color);
83
- border-radius: var(--checkbox-border-radius);
84
- box-sizing: border-box;
85
- transition: border-color var(--duration-short2) var(--easing-standard);
86
- }
87
- .checkbox .background {
88
- position: absolute;
89
- width: var(--checkbox-size);
90
- height: var(--checkbox-size);
91
- background: var(--checkbox-selected-color);
92
- border-radius: var(--checkbox-border-radius);
93
- opacity: 0;
94
- transform: scale(0);
95
- transition: transform var(--duration-short2) var(--easing-standard), opacity var(--duration-short2) var(--easing-standard);
96
- }
97
- .checkbox .icon {
98
- position: absolute;
99
- width: var(--checkbox-icon-size);
100
- height: var(--checkbox-icon-size);
101
- fill: none;
102
- stroke: var(--checkbox-checkmark-color);
103
- stroke-width: 2;
104
- stroke-linecap: round;
105
- stroke-linejoin: round;
106
- opacity: 0;
107
- transition: opacity var(--duration-short1) var(--easing-standard);
108
- }
109
- .checkbox .icon .checkmark {
110
- stroke-dasharray: 14;
111
- stroke-dashoffset: 14;
112
- transition: stroke-dashoffset var(--duration-short4) var(--easing-emphasized);
113
- }
114
- .checkbox .icon .indeterminate {
115
- transform-origin: center;
116
- opacity: 0;
117
- transition: opacity var(--duration-short1) var(--easing-standard);
118
- }
119
- .checkbox .label {
120
- color: var(--color-on-surface);
121
- cursor: inherit;
122
- }
123
- .checkbox:hover:not(.disabled):not(.readonly) .state-layer {
124
- opacity: 0.08;
125
- background: var(--color-on-surface);
126
- }
127
- .checkbox:hover:not(.disabled):not(.readonly).state-checked .state-layer, .checkbox:hover:not(.disabled):not(.readonly).state-indeterminate .state-layer {
128
- background: var(--checkbox-selected-color);
129
- }
130
- .checkbox.has-focus:not(.active):not(.disabled):not(.readonly) .state-layer {
131
- opacity: 0.12;
132
- background: var(--color-on-surface);
133
- }
134
- .checkbox.has-focus:not(.active):not(.disabled):not(.readonly) .container {
135
- outline: 3px solid var(--color-primary);
136
- outline-offset: 2px;
137
- border-radius: 50%;
138
- }
139
- .checkbox.has-focus:not(.active):not(.disabled):not(.readonly).state-checked .state-layer, .checkbox.has-focus:not(.active):not(.disabled):not(.readonly).state-indeterminate .state-layer {
140
- background: var(--checkbox-selected-color);
141
- }
142
- .checkbox.active:not(.disabled):not(.readonly) .state-layer {
143
- opacity: 0.12;
144
- background: var(--color-on-surface);
145
- }
146
- .checkbox.active:not(.disabled):not(.readonly).state-checked .state-layer, .checkbox.active:not(.disabled):not(.readonly).state-indeterminate .state-layer {
147
- background: var(--checkbox-selected-color);
148
- }
149
- .checkbox.rounded {
150
- --checkbox-border-radius: 18px;
151
- }
152
-
153
- .checkbox.state-checked .outline {
154
- border-color: transparent;
155
- }
156
- .checkbox.state-checked .background {
157
- opacity: 1;
158
- transform: scale(1);
159
- }
160
- .checkbox.state-checked .icon {
161
- opacity: 1;
162
- }
163
- .checkbox.state-checked .icon .checkmark {
164
- stroke-dashoffset: 0;
165
- }
166
-
167
- .checkbox.state-indeterminate .outline {
168
- border-color: transparent;
169
- }
170
- .checkbox.state-indeterminate .background {
171
- opacity: 1;
172
- transform: scale(1);
173
- }
174
- .checkbox.state-indeterminate .icon {
175
- opacity: 1;
176
- fill: var(--checkbox-checkmark-color);
177
- }
178
- .checkbox.state-indeterminate .icon .indeterminate {
179
- opacity: 1;
180
- }
181
-
182
- .checkbox.size-sm {
183
- --checkbox-size: 16px;
184
- --checkbox-icon-size: 10px;
185
- --checkbox-state-layer-size: 36px;
186
- font-size: var(--font-size-body-small);
187
- line-height: var(--line-height-body-small);
188
- }
189
- .checkbox.size-sm .icon {
190
- stroke-width: 1.5;
191
- }
192
-
193
- .checkbox.size-md {
194
- --checkbox-size: 18px;
195
- --checkbox-icon-size: 12px;
196
- --checkbox-state-layer-size: 40px;
197
- }
198
- .checkbox.size-md .icon {
199
- stroke-width: 2;
200
- }
201
-
202
- .checkbox.size-lg {
203
- --checkbox-size: 24px;
204
- --checkbox-icon-size: 16px;
205
- --checkbox-state-layer-size: 48px;
206
- font-size: var(--font-size-body-large);
207
- line-height: var(--line-height-body-large);
208
- }
209
- .checkbox.size-lg .icon {
210
- stroke-width: 2.5;
211
- }
212
-
213
- .checkbox.readonly {
214
- cursor: default;
215
- }
216
- .checkbox.readonly .label {
217
- color: var(--color-on-surface);
218
- }
219
- .checkbox.readonly .outline {
220
- border-color: var(--color-on-surface-variant);
221
- }
222
- .checkbox.readonly.state-checked .background, .checkbox.readonly.state-indeterminate .background {
223
- background: var(--color-on-surface-variant);
224
- }
225
- .checkbox.readonly .state-layer {
226
- display: none;
227
- }
228
-
229
- .checkbox.disabled {
230
- cursor: not-allowed;
231
- opacity: var(--checkbox-disabled-opacity);
232
- }
233
- .checkbox.disabled .label {
234
- color: var(--color-on-surface);
235
- }
236
- .checkbox.disabled .outline {
237
- border-color: var(--color-on-surface);
238
- }
239
- .checkbox.disabled.state-checked .background, .checkbox.disabled.state-indeterminate .background {
240
- background: var(--color-on-surface);
241
- }
242
- .checkbox.disabled .state-layer {
243
- display: none;
244
- }`;
245
-
246
- /**
247
- * @label Checkbox
248
- * @tag wc-checkbox
249
- * @rawTag checkbox
250
- * @summary Captures boolean input with an optional indeterminate mode.
251
- * @overview
252
- * <p>Checkboxes allow users to select one or more items from a set. Checkboxes can turn an option on or off.</p>
253
- * <p>Material Design 3 checkboxes feature a smooth animation and clear visual states for checked, unchecked, and indeterminate.</p>
254
- * @cssprop --checkbox-size: Size of the checkbox container.
255
- * @cssprop --checkbox-selected-color: Color of the checkbox when selected.
256
- * @cssprop --checkbox-unselected-color: Color of the checkbox border when unselected.
257
- * @cssprop --checkbox-checkmark-color: Color of the checkmark icon.
258
- * @cssprop --checkbox-state-layer-size: Size of the state layer for touch target.
259
- * @fires {CustomEvent} change - Dispatched when the checkbox value changes.
260
- * @fires {CustomEvent} blur - Dispatched when the checkbox loses focus.
261
- * @fires {CustomEvent} focus - Dispatched when the checkbox receives focus.
262
- * @tags input, form
263
- *
264
- * @example
265
- * ```html
266
- * <wc-checkbox label="Accept terms"></wc-checkbox>
267
- * ```
268
- */
269
- class Checkbox extends i$1 {
270
- constructor() {
271
- super(...arguments);
272
- /**
273
- * The input field name.
274
- */
275
- this.name = '';
276
- /**
277
- * The checkbox label.
278
- */
279
- this.label = '';
280
- /**
281
- * The input field value (checked state).
282
- */
283
- this.value = false;
284
- /**
285
- * If true, displays the checkbox in an indeterminate state.
286
- */
287
- this.indeterminate = false;
288
- /**
289
- * If true, the checkbox has rounded corners. Defaults to `false`.
290
- */
291
- this.rounded = false;
292
- /**
293
- * The checkbox size.
294
- * Possible values are: `"sm"`, `"md"`, `"lg"`. Defaults to `"md"`.
295
- */
296
- this.size = 'md';
297
- /**
298
- * If true, required icon is shown. Defaults to `false`.
299
- */
300
- this.required = false;
301
- /**
302
- * If true, the checkbox is readonly. Defaults to `false`.
303
- */
304
- this.readonly = false;
305
- /**
306
- * If true, the user cannot interact with the checkbox. Defaults to `false`.
307
- */
308
- this.disabled = false;
309
- /**
310
- * Configuration object for aria attributes.
311
- */
312
- this.configAria = {};
313
- this.hasFocus = false;
314
- this.isActive = false;
315
- this.slotHasContent = false;
316
- this.windowMouseUp = () => {
317
- if (this.isActive) {
318
- this.isActive = false;
319
- }
320
- };
321
- this.windowKeyUp = (evt) => {
322
- if (this.isActive && evt.key === ' ') {
323
- this.isActive = false;
324
- }
325
- };
326
- this.mouseDownHandler = () => {
327
- this.isActive = true;
328
- };
329
- this.keyDownHandler = (evt) => {
330
- if (evt.key === ' ') {
331
- evt.preventDefault();
332
- this.isActive = true;
333
- this.clickHandler(evt);
334
- }
335
- };
336
- this.clickHandler = (ev) => {
337
- if (!this.disabled && !this.readonly) {
338
- this.value = !this.value;
339
- this.indeterminate = false;
340
- this.dispatchEvent(new CustomEvent('change', {
341
- detail: { value: this.value, originalEvent: ev },
342
- bubbles: true,
343
- composed: true,
344
- }));
345
- this.containerElement?.focus();
346
- }
347
- };
348
- this.blurHandler = (ev) => {
349
- this.hasFocus = false;
350
- this.dispatchEvent(new CustomEvent('blur', {
351
- detail: ev,
352
- bubbles: true,
353
- composed: true,
354
- }));
355
- };
356
- this.focusHandler = (ev) => {
357
- this.hasFocus = true;
358
- this.dispatchEvent(new CustomEvent('focus', {
359
- detail: ev,
360
- bubbles: true,
361
- composed: true,
362
- }));
363
- };
364
- this.handleKeyUp = (evt) => {
365
- if (evt.key === 'Enter') {
366
- this.clickHandler(evt);
367
- }
368
- };
369
- }
370
- connectedCallback() {
371
- super.connectedCallback();
372
- this.handleInitialAttributes();
373
- window.addEventListener('mouseup', this.windowMouseUp);
374
- window.addEventListener('keyup', this.windowKeyUp);
375
- }
376
- disconnectedCallback() {
377
- super.disconnectedCallback();
378
- window.removeEventListener('mouseup', this.windowMouseUp);
379
- window.removeEventListener('keyup', this.windowKeyUp);
380
- }
381
- firstUpdated() {
382
- this.slotHasContent = this.hasChildNodes();
383
- }
384
- handleInitialAttributes() {
385
- if (this.hasAttribute('tabindex')) {
386
- this.tabindex = this.getAttribute('tabindex') || undefined;
387
- this.removeAttribute('tabindex');
388
- }
389
- Array.from(this.attributes).forEach(attr => {
390
- if (attr.name.startsWith('aria-')) {
391
- this.configAria[attr.name] = attr.value;
392
- this.removeAttribute(attr.name);
393
- }
394
- });
395
- }
396
- /**
397
- * Sets focus on the checkbox.
398
- */
399
- focus() {
400
- this.containerElement?.focus();
401
- }
402
- /**
403
- * Removes focus from the checkbox.
404
- */
405
- blur() {
406
- this.containerElement?.blur();
407
- }
408
- render() {
409
- const cssClasses = {
410
- checkbox: true,
411
- 'state-checked': this.value,
412
- 'state-indeterminate': !this.value && this.indeterminate,
413
- [`size-${this.size}`]: true,
414
- 'has-focus': this.hasFocus,
415
- active: this.isActive,
416
- disabled: this.disabled,
417
- readonly: this.readonly,
418
- required: this.required,
419
- rounded: this.rounded,
420
- 'has-content': this.slotHasContent,
421
- };
422
- return b `
423
- <label class=${e$1(cssClasses)}>
424
- <div
425
- class="container"
426
- tabindex=${this.tabindex || 0}
427
- @keyup=${this.handleKeyUp}
428
- @mousedown=${this.mouseDownHandler}
429
- @keydown=${this.keyDownHandler}
430
- @blur=${this.blurHandler}
431
- @focus=${this.focusHandler}
432
- role="checkbox"
433
- aria-disabled=${this.disabled}
434
- aria-required=${this.required}
435
- aria-checked=${this.value
436
- ? 'true'
437
- : this.indeterminate
438
- ? 'mixed'
439
- : 'false'}
440
- ${spread(this.configAria)}
441
- >
442
- <div class="state-layer"></div>
443
- <div class="outline"></div>
444
- <div class="background"></div>
445
- <svg class="icon" viewBox="0 0 12 12">
446
- ${this.value
447
- ? w `
448
- <path
449
- class="checkmark"
450
- d="M2 6L5 9L10 2"
451
- />
452
- `
453
- : this.indeterminate
454
- ? w `<rect
455
- class="indeterminate"
456
- x="2"
457
- y="5"
458
- width="8"
459
- height="2"
460
- />`
461
- : ''}
462
- </svg>
463
- </div>
464
-
465
- <input
466
- type="checkbox"
467
- class="input-native"
468
- name=${this.name}
469
- .checked=${this.value}
470
- .indeterminate=${this.indeterminate}
471
- aria-hidden="true"
472
- ?required=${this.required}
473
- tabindex="-1"
474
- @click=${this.clickHandler}
475
- />
476
-
477
- ${this.label
478
- ? b `<div class="label">${this.label}</div>`
479
- : b `<div class="label slot-container"><slot></slot></div>`}
480
- </label>
481
- `;
482
- }
483
- }
484
- Checkbox.styles = [css_248z$3];
485
- __decorate([
486
- n({ type: String })
487
- ], Checkbox.prototype, "name", void 0);
488
- __decorate([
489
- n({ type: String })
490
- ], Checkbox.prototype, "label", void 0);
491
- __decorate([
492
- n({ type: Boolean, reflect: true })
493
- ], Checkbox.prototype, "value", void 0);
494
- __decorate([
495
- n({ type: Boolean, reflect: true })
496
- ], Checkbox.prototype, "indeterminate", void 0);
497
- __decorate([
498
- n({ type: Boolean })
499
- ], Checkbox.prototype, "rounded", void 0);
500
- __decorate([
501
- n({ type: String })
502
- ], Checkbox.prototype, "size", void 0);
503
- __decorate([
504
- n({ type: Boolean, reflect: true })
505
- ], Checkbox.prototype, "required", void 0);
506
- __decorate([
507
- n({ type: Boolean, reflect: true })
508
- ], Checkbox.prototype, "readonly", void 0);
509
- __decorate([
510
- n({ type: Boolean, reflect: true })
511
- ], Checkbox.prototype, "disabled", void 0);
512
- __decorate([
513
- n({ type: Object })
514
- ], Checkbox.prototype, "configAria", void 0);
515
- __decorate([
516
- r()
517
- ], Checkbox.prototype, "hasFocus", void 0);
518
- __decorate([
519
- r()
520
- ], Checkbox.prototype, "isActive", void 0);
521
- __decorate([
522
- r()
523
- ], Checkbox.prototype, "slotHasContent", void 0);
524
- __decorate([
525
- e('.container')
526
- ], Checkbox.prototype, "containerElement", void 0);
527
- __decorate([
528
- e('.input-native')
529
- ], Checkbox.prototype, "nativeElement", void 0);
530
-
531
- /**
532
- * @label Menu
533
- * @tag wc-menu
534
- * @rawTag menu
535
- * @summary A dropdown menu component.
536
- * @tags navigation
537
- *
538
- * @example
539
- * ```html
540
- * <wc-menu>
541
- * <wc-menu-list>
542
- * <wc-menu-item>Item 1</wc-menu-item>
543
- * </wc-menu-list>
544
- * </wc-menu>
545
- * ```
546
- */
547
- class Menu extends i$1 {
548
- constructor() {
549
- super();
550
- this.open = false;
551
- // Position: 'bottom-start' | 'bottom-end' | etc. (Simplified here to generic dropdown)
552
- this.align = 'start';
553
- this._boundClickOutside = this._handleClickOutside.bind(this);
554
- }
555
- connectedCallback() {
556
- // eslint-disable-next-line wc/guard-super-call
557
- super.connectedCallback();
558
- window.addEventListener('click', this._boundClickOutside);
559
- // Listen for menu-item clicks bubbling up
560
- this.addEventListener('click', this._handleItemClick);
561
- }
562
- disconnectedCallback() {
563
- // eslint-disable-next-line wc/guard-super-call
564
- super.disconnectedCallback();
565
- window.removeEventListener('click', this._boundClickOutside);
566
- this.removeEventListener('click', this._handleItemClick);
567
- }
568
- _handleClickOutside(e) {
569
- if (!this.open)
570
- return;
571
- const path = e.composedPath();
572
- if (!path.includes(this)) {
573
- this.open = false;
574
- }
575
- }
576
- _handleItemClick(e) {
577
- const target = e.target;
578
- // Check if the clicked element is a menu-item
579
- if (target.tagName.toLowerCase() === 'menu-item') {
580
- // Dispatch custom event with value
581
- const value = target.value;
582
- this.dispatchEvent(new CustomEvent('menu-selected', {
583
- detail: { value },
584
- bubbles: true,
585
- composed: true,
586
- }));
587
- this.open = false;
588
- }
589
- }
590
- _toggleMenu(e) {
591
- e.stopPropagation(); // Prevent immediate closing via window listener
592
- this.open = !this.open;
593
- }
594
- render() {
595
- return b `
596
- <div class="trigger" @click="${this._toggleMenu}">
597
- <slot name="trigger"></slot>
598
- </div>
599
-
600
- <div class="menu-wrapper">
601
- <!-- We expect a menu-list to be passed here -->
602
- <slot></slot>
603
- </div>
604
- `;
605
- }
606
- }
607
- Menu.styles = i `
608
- :host {
609
- display: inline-block;
610
- position: relative;
611
- }
612
-
613
- .trigger {
614
- cursor: pointer;
615
- display: inline-block;
616
- }
617
-
618
- .menu-wrapper {
619
- position: absolute;
620
- top: 100%;
621
- z-index: 10;
622
- opacity: 0;
623
- transform: scale(0.95);
624
- transform-origin: top left;
625
- transition:
626
- opacity 0.1s ease-out,
627
- transform 0.1s ease-out;
628
- pointer-events: none; /* Prevent clicking when hidden */
629
- margin-top: 4px; /* Slight gap */
630
- }
631
-
632
- :host([open]) .menu-wrapper {
633
- opacity: 1;
634
- transform: scale(1);
635
- pointer-events: auto;
636
- }
637
-
638
- /* Alignment logic */
639
- :host([align='end']) .menu-wrapper {
640
- right: 0;
641
- transform-origin: top right;
642
- }
643
- :host([align='start']) .menu-wrapper {
644
- left: 0;
645
- transform-origin: top left;
646
- }
647
- `;
648
- __decorate([
649
- n({ type: Boolean, reflect: true })
650
- ], Menu.prototype, "open", void 0);
651
- __decorate([
652
- n({ type: String })
653
- ], Menu.prototype, "align", void 0);
654
- __decorate([
655
- e('.menu-wrapper')
656
- ], Menu.prototype, "menuWrapper", void 0);
657
-
658
- var css_248z$2 = i`* {
659
- box-sizing: border-box;
660
- }
661
-
662
- .screen-reader-only {
663
- display: none !important;
664
- }
665
-
666
- :host {
667
- padding-inline: var(--spacing-050);
668
- }
669
-
670
- .menu-item {
671
- position: relative;
672
- height: 3rem;
673
- display: flex;
674
- align-items: center;
675
- padding-inline: 0.75rem;
676
- outline: 0;
677
- text-decoration: none;
678
- font-family: var(--typography-label-large-font-family) !important;
679
- font-size: var(--typography-label-large-font-size) !important;
680
- font-weight: var(--typography-label-large-font-weight) !important;
681
- line-height: var(--typography-label-large-line-height) !important;
682
- letter-spacing: var(--typography-label-large-letter-spacing) !important;
683
- }
684
- .menu-item .menu-item-content {
685
- display: flex;
686
- align-items: center;
687
- z-index: 1;
688
- width: 100%;
689
- gap: var(--spacing-100);
690
- color: var(--_label-text-color);
691
- opacity: var(--_label-text-opacity, 1);
692
- --icon-size: var(--button-icon-size, var(--_button-icon-size));
693
- --icon-color: var(--_label-text-color);
694
- }
695
- .menu-item .menu-item-content .slot-container {
696
- flex: 1;
697
- }
698
- .menu-item .background {
699
- display: block;
700
- position: absolute;
701
- left: 0;
702
- top: 0;
703
- width: 100%;
704
- height: 100%;
705
- background-color: var(--_container-color);
706
- opacity: var(--_container-opacity, 1);
707
- border-start-start-radius: var(--_container-shape-start-start);
708
- border-start-end-radius: var(--_container-shape-start-end);
709
- border-end-start-radius: var(--_container-shape-end-start);
710
- border-end-end-radius: var(--_container-shape-end-end);
711
- corner-shape: var(--_container-corner-shape-variant);
712
- pointer-events: none;
713
- }
714
- .menu-item {
715
- /*
716
- Background layers
717
- */
718
- }
719
- .menu-item .focus-ring {
720
- z-index: 2;
721
- --focus-ring-container-shape-start-start: var(--_container-shape-start-start);
722
- --focus-ring-container-shape-start-end: var(--_container-shape-start-end);
723
- --focus-ring-container-shape-end-start: var(--_container-shape-end-start);
724
- --focus-ring-container-shape-end-end: var(--_container-shape-end-end);
725
- --focus-ring-container-shape-variant: var(--_container-corner-shape-variant);
726
- }
727
- .menu-item .ripple {
728
- --ripple-state-opacity: var(--_container-state-opacity, 0);
729
- --ripple-pressed-color: var(--_container-state-color);
730
- border-start-start-radius: var(--_container-shape-start-start);
731
- border-start-end-radius: var(--_container-shape-start-end);
732
- border-end-start-radius: var(--_container-shape-end-start);
733
- border-end-end-radius: var(--_container-shape-end-end);
734
- corner-shape: var(--_container-corner-shape-variant);
735
- }
736
-
737
- .menu-item {
738
- --_container-shape-start-start: var(--menu-item-container-shape-start-start, var(--shape-corner-extra-small));
739
- --_container-shape-start-end: var(--menu-item-container-shape-start-end, var(--shape-corner-extra-small));
740
- --_container-shape-end-start: var(--menu-item-container-shape-end-start, var(--shape-corner-extra-small));
741
- --_container-shape-end-end: var(--menu-item-container-shape-end-end, var(--shape-corner-extra-small));
742
- --_container-corner-shape-variant: none;
743
- --_label-text-color: var(--menu-item-label-color);
744
- --_container-state-color: var(--_label-text-color);
745
- }
746
- .menu-item:hover:not(:where(.disabled, .selected)) {
747
- --_container-state-opacity: 0.08;
748
- }
749
- .menu-item.selected {
750
- --_container-color: var(--menu-item-container-selected-color);
751
- --_label-text-color: var(--menu-item-label-selected-color);
752
- --_container-shape-start-start: var(--shape-corner-large);
753
- --_container-shape-start-end: var(--shape-corner-large);
754
- --_container-shape-end-start: var(--shape-corner-large);
755
- --_container-shape-end-end: var(--shape-corner-large);
756
- --_container-corner-shape-variant: none;
757
- }
758
- .menu-item.disabled {
759
- cursor: not-allowed;
760
- --_container-color: var(--color-on-surface);
761
- --_container-opacity: 0.1;
762
- --_label-text-color: var(--color-on-surface);
763
- --_label-text-opacity: 0.38;
764
- }
765
- .menu-item.disabled .ripple {
766
- display: none;
767
- }`;
768
-
769
- var css_248z$1 = i`:host-context([variant=standard]) {
770
- --menu-item-label-color: var(--color-on-surface-variant);
771
- --menu-item-label-selected-color: var(--color-on-tertiary-container);
772
- --menu-item-container-selected-color: var(--color-tertiary-container);
773
- }
774
-
775
- :host-context([variant=vibrant]) {
776
- --menu-item-label-color: var(--color-on-tertiary-container);
777
- --menu-item-label-selected-color: var(--color-on-tertiary);
778
- --menu-item-container-selected-color: var(--color-tertiary);
779
- }`;
780
-
781
- /**
782
- * @label Menu Item
783
- * @tag wc-menu-item
784
- * @rawTag menu-item
785
- * @summary An item in a menu list.
786
- * @tags navigation
787
- *
788
- * @example
789
- * ```html
790
- * <wc-menu-item>Menu Item</wc-menu-item>
791
- * ```
792
- */
793
- class MenuItem extends i$1 {
794
- constructor() {
795
- super(...arguments);
796
- this.disabled = false;
797
- this.value = '';
798
- this.selected = false;
799
- /**
800
- * Sets or retrieves the window or frame at which to target content.
801
- */
802
- this.target = '_self';
803
- this.variant = 'standard';
804
- }
805
- connectedCallback() {
806
- // eslint-disable-next-line wc/guard-super-call
807
- super.connectedCallback();
808
- if (!this.hasAttribute('role')) {
809
- this.setAttribute('role', 'menuitem');
810
- }
811
- }
812
- // Handle keyboard activation (Enter/Space)
813
- _handleKeyDown(e) {
814
- if (e.key === 'Enter' || e.key === ' ') {
815
- e.preventDefault();
816
- this.click();
817
- }
818
- }
819
- __isLink() {
820
- return !!this.href;
821
- }
822
- focus() {
823
- this.menuItemElement?.focus();
824
- }
825
- blur() {
826
- this.menuItemElement?.blur();
827
- }
828
- render() {
829
- const isLink = this.__isLink();
830
- const cssClasses = {
831
- 'menu-item': true,
832
- disabled: this.disabled,
833
- selected: this.selected,
834
- };
835
- if (isLink) {
836
- return b `<a
837
- class=${e$1(cssClasses)}
838
- href=${this.href}
839
- target=${this.target}
840
- >
841
- ${this.renderContent()}
842
- </a>
843
- `;
844
- }
845
- return b `<div
846
- class=${e$1(cssClasses)}
847
- tabindex=${!this.disabled ? 0 : -1}
848
- @keydown="${this._handleKeyDown}"
849
- >
850
- ${this.renderContent()}
851
- </div>
852
- `;
853
- }
854
- renderContent() {
855
- return b `
856
- <wc-focus-ring class="focus-ring" .control=${this} element="menuItemElement"></wc-focus-ring>
857
- <div class="background"></div>
858
- <wc-ripple class="ripple"></wc-ripple>
859
-
860
- <div class="menu-item-content">
861
- <slot name="leading-icon"></slot>
862
- <div class="slot-container">
863
- <slot></slot>
864
- </div>
865
- <slot
866
- name="trailing-supporting-text"
867
- ></slot>
868
- </div>
869
- `;
870
- }
871
- }
872
- MenuItem.styles = [css_248z$2, css_248z$1];
873
- __decorate([
874
- n({ type: Boolean, reflect: true })
875
- ], MenuItem.prototype, "disabled", void 0);
876
- __decorate([
877
- n({ type: String })
878
- ], MenuItem.prototype, "value", void 0);
879
- __decorate([
880
- n({ type: Boolean })
881
- ], MenuItem.prototype, "selected", void 0);
882
- __decorate([
883
- n({ reflect: true })
884
- ], MenuItem.prototype, "href", void 0);
885
- __decorate([
886
- n()
887
- ], MenuItem.prototype, "target", void 0);
888
- __decorate([
889
- n({ type: String, reflect: true })
890
- ], MenuItem.prototype, "variant", void 0);
891
- __decorate([
892
- e('.menu-item')
893
- ], MenuItem.prototype, "menuItemElement", void 0);
894
-
895
- var css_248z = i`* {
896
- box-sizing: border-box;
897
- }
898
-
899
- .screen-reader-only {
900
- display: none !important;
901
- }
902
-
903
- .menu-list {
904
- display: flex;
905
- position: relative;
906
- min-width: 112px;
907
- padding-block: var(--spacing-050);
908
- }
909
- .menu-list .menu-list-content {
910
- display: flex;
911
- flex-direction: column;
912
- gap: var(--spacing-050);
913
- z-index: 1;
914
- width: 100%;
915
- }
916
- .menu-list .menu-list-content ::slotted(:first-child) {
917
- --menu-item-container-shape-start-start: var(--shape-corner-medium);
918
- --menu-item-container-shape-start-end: var(--shape-corner-medium);
919
- }
920
- .menu-list .menu-list-content ::slotted(:last-child) {
921
- --menu-item-container-shape-end-start: var(--shape-corner-medium);
922
- --menu-item-container-shape-end-end: var(--shape-corner-medium);
923
- }
924
- .menu-list .menu-list-content ::slotted(base-divider) {
925
- --divider-spacing: var(--spacing-100);
926
- padding-inline: var(--spacing-050);
927
- }
928
- .menu-list .background {
929
- display: block;
930
- position: absolute;
931
- left: 0;
932
- top: 0;
933
- width: 100%;
934
- height: 100%;
935
- background-color: var(--_container-color);
936
- opacity: var(--_container-opacity, 1);
937
- border-start-start-radius: var(--_container-shape-start-start);
938
- border-start-end-radius: var(--_container-shape-start-end);
939
- border-end-start-radius: var(--_container-shape-end-start);
940
- border-end-end-radius: var(--_container-shape-end-end);
941
- pointer-events: none;
942
- }
943
- .menu-list .elevation {
944
- --elevation-level: 2;
945
- transition-duration: 280ms;
946
- --elevation-container-shape-start-start: var(--_container-shape-start-start);
947
- --elevation-container-shape-start-end: var(--_container-shape-start-end);
948
- --elevation-container-shape-end-start: var(--_container-shape-end-start);
949
- --elevation-container-shape-end-end: var(--_container-shape-end-end);
950
- --elevation-container-shape-variant: var(--_container-corner-shape-variant);
951
- }
952
-
953
- .menu-list {
954
- --_container-shape-start-start: var(--shape-corner-large);
955
- --_container-shape-start-end: var(--shape-corner-large);
956
- --_container-shape-end-start: var(--shape-corner-large);
957
- --_container-shape-end-end: var(--shape-corner-large);
958
- }
959
- .menu-list.variant-standard {
960
- --_container-color: var(--color-surface-container);
961
- }
962
- .menu-list.variant-vibrant {
963
- --_container-color: var(--color-tertiary-container);
964
- }`;
965
-
966
- /**
967
- * @label Menu List
968
- * @tag wc-menu-list
969
- * @rawTag menu-list
970
- * @summary A list of menu items.
971
- * @tags navigation
972
- *
973
- * @example
974
- * ```html
975
- * <wc-menu-list>
976
- * <wc-menu-item>Item 1</wc-menu-item>
977
- * <wc-menu-item>Item 2</wc-menu-item>
978
- * </wc-menu-list>
979
- * ```
980
- */
981
- class MenuList extends i$1 {
982
- constructor() {
983
- super(...arguments);
984
- this.variant = 'standard';
985
- }
986
- connectedCallback() {
987
- // eslint-disable-next-line wc/guard-super-call
988
- super.connectedCallback();
989
- this.setAttribute('role', 'menu');
990
- }
991
- render() {
992
- return b `<div
993
- class=${e$1({
994
- 'menu-list': true,
995
- [`variant-${this.variant}`]: true,
996
- })}
997
- >
998
- <div class="background"></div>
999
- <wc-elevation class="elevation"></wc-elevation>
1000
-
1001
- <div class="menu-list-content">
1002
- <slot></slot>
1003
- </div>
1004
- </div>`;
1005
- }
1006
- }
1007
- MenuList.styles = [css_248z];
1008
- __decorate([
1009
- n({ type: String, reflect: true })
1010
- ], MenuList.prototype, "variant", void 0);
10
+ import './query-QBcUV-L_.js';
11
+ import './style-map-DcB52w-l.js';
12
+ import './observe-theme-change-pALI5fmV.js';
1011
13
 
1012
14
  class LoaderUtils {
1013
15
  constructor(loaderConfig) {
@@ -1182,7 +184,7 @@ const loaderConfig = {
1182
184
  CustomElementClass: TabGroup,
1183
185
  },
1184
186
  'wc-tab': {
1185
- CustomElementClass: Tab
187
+ CustomElementClass: Tab,
1186
188
  },
1187
189
  'wc-tab-panel': {
1188
190
  CustomElementClass: TabPanel,
@@ -1193,6 +195,9 @@ const loaderConfig = {
1193
195
  'wc-chip': {
1194
196
  CustomElementClass: Chip,
1195
197
  },
198
+ 'wc-card': {
199
+ CustomElementClass: Card,
200
+ },
1196
201
  'wc-tag': {
1197
202
  CustomElementClass: Tag,
1198
203
  },
@@ -1253,30 +258,51 @@ const loaderConfig = {
1253
258
  'wc-empty-state': {
1254
259
  CustomElementClass: EmptyState,
1255
260
  },
1256
- 'wc-base-menu': {
261
+ 'wc-menu': {
1257
262
  CustomElementClass: Menu,
1258
263
  },
1259
264
  'wc-menu-item': {
1260
265
  CustomElementClass: MenuItem,
1261
266
  },
1262
- 'wc-menu-list': {
1263
- CustomElementClass: MenuList,
267
+ 'wc-sub-menu': {
268
+ CustomElementClass: SubMenu,
1264
269
  },
1265
270
  'wc-container': {
1266
- CustomElementClass: Container
271
+ CustomElementClass: Container,
1267
272
  },
1268
273
  'wc-image': {
1269
- CustomElementClass: Image
274
+ CustomElementClass: Image,
1270
275
  },
1271
276
  'wc-slider': {
1272
- CustomElementClass: Slider
277
+ CustomElementClass: Slider,
278
+ },
279
+ 'wc-table': {
280
+ CustomElementClass: Table,
281
+ },
282
+ 'wc-pagination': {
283
+ CustomElementClass: Pagination,
284
+ },
285
+ 'wc-tree-view': {
286
+ CustomElementClass: TreeView,
287
+ },
288
+ 'wc-tree-node': {
289
+ CustomElementClass: TreeView.Node,
290
+ },
291
+ 'wc-snackbar': {
292
+ CustomElementClass: Snackbar,
1273
293
  },
1274
294
  'wc-chart-doughnut': {
1275
295
  importPath: `${distDirectory}/chart-doughnut.js`,
1276
296
  },
1277
297
  'wc-chart-pie': {
1278
298
  importPath: `${distDirectory}/chart-pie.js`,
1279
- }
299
+ },
300
+ 'wc-chart-bar': {
301
+ importPath: `${distDirectory}/chart-bar.js`,
302
+ },
303
+ 'wc-chart-stacked-bar': {
304
+ importPath: `${distDirectory}/chart-stacked-bar.js`,
305
+ },
1280
306
  },
1281
307
  };
1282
308
  new LoaderUtils(loaderConfig).start();