@vonage/vivid 3.14.0 → 3.15.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 (103) hide show
  1. package/checkbox/index.js +3 -0
  2. package/custom-elements.json +203 -24
  3. package/empty-state/index.js +14 -0
  4. package/fab/index.js +1 -1
  5. package/header/index.js +1 -1
  6. package/index.js +31 -29
  7. package/layout/index.js +1 -1
  8. package/lib/checkbox/checkbox.d.ts +6 -3
  9. package/lib/components.d.ts +2 -0
  10. package/lib/data-grid/data-grid-row.d.ts +1 -0
  11. package/lib/empty-state/definition.d.ts +3 -0
  12. package/lib/empty-state/empty-state.d.ts +5 -0
  13. package/lib/empty-state/empty-state.template.d.ts +4 -0
  14. package/lib/empty-state/index.d.ts +1 -0
  15. package/listbox/index.js +1 -1
  16. package/menu/index.js +2 -2
  17. package/menu-item/index.js +1 -1
  18. package/nav/index.js +1 -1
  19. package/nav-disclosure/index.js +1 -1
  20. package/nav-item/index.js +1 -1
  21. package/note/index.js +1 -1
  22. package/number-field/index.js +1 -1
  23. package/package.json +1 -1
  24. package/pagination/index.js +14 -232
  25. package/progress/index.js +1 -1
  26. package/radio/index.js +1 -1
  27. package/radio-group/index.js +1 -1
  28. package/select/index.js +1 -1
  29. package/shared/definition.js +1 -1
  30. package/shared/definition10.js +1 -1
  31. package/shared/definition11.js +1 -1
  32. package/shared/definition12.js +1 -1
  33. package/shared/definition14.js +1 -1
  34. package/shared/definition15.js +1 -1
  35. package/shared/definition16.js +1 -1
  36. package/shared/definition17.js +1 -1
  37. package/shared/definition18.js +23 -8
  38. package/shared/definition19.js +1 -1
  39. package/shared/definition2.js +1 -1
  40. package/shared/definition21.js +1 -1
  41. package/shared/definition22.js +73 -31
  42. package/shared/definition23.js +1 -1
  43. package/shared/definition24.js +1 -1
  44. package/shared/definition25.js +39 -76
  45. package/shared/definition26.js +76 -47
  46. package/shared/definition27.js +46 -36
  47. package/shared/definition28.js +39 -49
  48. package/shared/definition29.js +48 -344
  49. package/shared/definition30.js +272 -291
  50. package/shared/definition31.js +366 -14
  51. package/shared/definition32.js +13 -67
  52. package/shared/definition33.js +66 -21
  53. package/shared/definition34.js +21 -39
  54. package/shared/definition35.js +31 -432
  55. package/shared/definition36.js +432 -76
  56. package/shared/definition37.js +223 -34
  57. package/shared/definition38.js +82 -425
  58. package/shared/definition39.js +30 -635
  59. package/shared/definition4.js +1 -1
  60. package/shared/definition40.js +420 -73
  61. package/shared/definition41.js +530 -484
  62. package/shared/definition42.js +76 -133
  63. package/shared/definition43.js +577 -40
  64. package/shared/definition44.js +135 -20
  65. package/shared/definition45.js +42 -423
  66. package/shared/definition46.js +22 -112
  67. package/shared/definition47.js +440 -18
  68. package/shared/definition48.js +92 -247
  69. package/shared/definition49.js +20 -112
  70. package/shared/definition5.js +1 -1
  71. package/shared/definition50.js +259 -590
  72. package/shared/definition51.js +110 -91
  73. package/shared/definition52.js +602 -67
  74. package/shared/definition53.js +89 -294
  75. package/shared/definition54.js +80 -0
  76. package/shared/definition55.js +305 -0
  77. package/shared/definition6.js +1 -1
  78. package/shared/definition7.js +1 -1
  79. package/shared/definition9.js +1 -1
  80. package/shared/form-elements.js +1 -1
  81. package/shared/icon.js +1 -1
  82. package/shared/patterns/form-elements/form-elements.d.ts +4 -4
  83. package/shared/text-field.js +1 -1
  84. package/side-drawer/index.js +1 -1
  85. package/slider/index.js +1 -1
  86. package/styles/core/all.css +1 -1
  87. package/styles/core/theme.css +1 -1
  88. package/styles/core/typography.css +1 -1
  89. package/styles/tokens/theme-dark.css +4 -4
  90. package/styles/tokens/theme-light.css +4 -4
  91. package/switch/index.js +1 -1
  92. package/tab/index.js +1 -1
  93. package/tab-panel/index.js +1 -1
  94. package/tabs/index.js +3 -3
  95. package/tag/index.js +1 -1
  96. package/tag-group/index.js +1 -1
  97. package/text-area/index.js +1 -1
  98. package/text-field/index.js +1 -1
  99. package/toggletip/index.js +1 -1
  100. package/tooltip/index.js +1 -1
  101. package/tree-item/index.js +1 -1
  102. package/tree-view/index.js +1 -1
  103. package/vivid.api.json +210 -0
@@ -1,437 +1,94 @@
1
- import { F as FoundationElement, _ as __decorate, a as attr, o as observable, b as __metadata, h as html, r as registerFactory } from './index.js';
2
- import { D as Direction, g as getDirection } from './direction.js';
3
- import { h as keyArrowRight, i as keyArrowLeft, A as ArrowKeys, c as keyArrowUp, b as keyArrowDown, d as keyEnter } from './key-codes.js';
4
- import { O as Orientation } from './aria.js';
5
- import { R as Radio } from './radio.js';
6
- import { e as elements } from './node-observation.js';
7
- import { O as Orientation$1 } from './aria2.js';
8
- import { s as slotted } from './slotted.js';
1
+ import { s as classofRaw, G as _export, i as functionUncurryThis, _ as __decorate, a as attr, b as __metadata, h as html, r as registerFactory } from './index.js';
2
+ import { B as BaseProgress } from './base-progress.js';
9
3
  import { w as when } from './when.js';
4
+ import { c as classNames } from './class-names.js';
10
5
 
11
- /**
12
- * An Radio Group Custom HTML Element.
13
- * Implements the {@link https://www.w3.org/TR/wai-aria-1.1/#radiogroup | ARIA radiogroup }.
14
- *
15
- * @slot label - The slot for the label
16
- * @slot - The default slot for radio buttons
17
- * @csspart positioning-region - The positioning region for laying out the radios
18
- * @fires change - Fires a custom 'change' event when the value changes
19
- *
20
- * @public
21
- */
22
- class RadioGroup$1 extends FoundationElement {
23
- constructor() {
24
- super(...arguments);
25
- /**
26
- * The orientation of the group
27
- *
28
- * @public
29
- * @remarks
30
- * HTML Attribute: orientation
31
- */
32
- this.orientation = Orientation.horizontal;
33
- this.radioChangeHandler = (e) => {
34
- const changedRadio = e.target;
35
- if (changedRadio.checked) {
36
- this.slottedRadioButtons.forEach((radio) => {
37
- if (radio !== changedRadio) {
38
- radio.checked = false;
39
- if (!this.isInsideFoundationToolbar) {
40
- radio.setAttribute("tabindex", "-1");
41
- }
42
- }
43
- });
44
- this.selectedRadio = changedRadio;
45
- this.value = changedRadio.value;
46
- changedRadio.setAttribute("tabindex", "0");
47
- this.focusedRadio = changedRadio;
48
- }
49
- e.stopPropagation();
50
- };
51
- this.moveToRadioByIndex = (group, index) => {
52
- const radio = group[index];
53
- if (!this.isInsideToolbar) {
54
- radio.setAttribute("tabindex", "0");
55
- if (radio.readOnly) {
56
- this.slottedRadioButtons.forEach((nextRadio) => {
57
- if (nextRadio !== radio) {
58
- nextRadio.setAttribute("tabindex", "-1");
59
- }
60
- });
61
- }
62
- else {
63
- radio.checked = true;
64
- this.selectedRadio = radio;
65
- }
66
- }
67
- this.focusedRadio = radio;
68
- radio.focus();
69
- };
70
- this.moveRightOffGroup = () => {
71
- var _a;
72
- (_a = this.nextElementSibling) === null || _a === void 0 ? void 0 : _a.focus();
73
- };
74
- this.moveLeftOffGroup = () => {
75
- var _a;
76
- (_a = this.previousElementSibling) === null || _a === void 0 ? void 0 : _a.focus();
77
- };
78
- /**
79
- * @internal
80
- */
81
- this.focusOutHandler = (e) => {
82
- const group = this.slottedRadioButtons;
83
- const radio = e.target;
84
- const index = radio !== null ? group.indexOf(radio) : 0;
85
- const focusedIndex = this.focusedRadio
86
- ? group.indexOf(this.focusedRadio)
87
- : -1;
88
- if ((focusedIndex === 0 && index === focusedIndex) ||
89
- (focusedIndex === group.length - 1 && focusedIndex === index)) {
90
- if (!this.selectedRadio) {
91
- this.focusedRadio = group[0];
92
- this.focusedRadio.setAttribute("tabindex", "0");
93
- group.forEach((nextRadio) => {
94
- if (nextRadio !== this.focusedRadio) {
95
- nextRadio.setAttribute("tabindex", "-1");
96
- }
97
- });
98
- }
99
- else {
100
- this.focusedRadio = this.selectedRadio;
101
- if (!this.isInsideFoundationToolbar) {
102
- this.selectedRadio.setAttribute("tabindex", "0");
103
- group.forEach((nextRadio) => {
104
- if (nextRadio !== this.selectedRadio) {
105
- nextRadio.setAttribute("tabindex", "-1");
106
- }
107
- });
108
- }
109
- }
110
- }
111
- return true;
112
- };
113
- /**
114
- * @internal
115
- */
116
- this.clickHandler = (e) => {
117
- const radio = e.target;
118
- if (radio) {
119
- const group = this.slottedRadioButtons;
120
- if (radio.checked || group.indexOf(radio) === 0) {
121
- radio.setAttribute("tabindex", "0");
122
- this.selectedRadio = radio;
123
- }
124
- else {
125
- radio.setAttribute("tabindex", "-1");
126
- this.selectedRadio = null;
127
- }
128
- this.focusedRadio = radio;
129
- }
130
- e.preventDefault();
131
- };
132
- this.shouldMoveOffGroupToTheRight = (index, group, key) => {
133
- return index === group.length && this.isInsideToolbar && key === keyArrowRight;
134
- };
135
- this.shouldMoveOffGroupToTheLeft = (group, key) => {
136
- const index = this.focusedRadio ? group.indexOf(this.focusedRadio) - 1 : 0;
137
- return index < 0 && this.isInsideToolbar && key === keyArrowLeft;
138
- };
139
- this.checkFocusedRadio = () => {
140
- if (this.focusedRadio !== null &&
141
- !this.focusedRadio.readOnly &&
142
- !this.focusedRadio.checked) {
143
- this.focusedRadio.checked = true;
144
- this.focusedRadio.setAttribute("tabindex", "0");
145
- this.focusedRadio.focus();
146
- this.selectedRadio = this.focusedRadio;
147
- }
148
- };
149
- this.moveRight = (e) => {
150
- const group = this.slottedRadioButtons;
151
- let index = 0;
152
- index = this.focusedRadio ? group.indexOf(this.focusedRadio) + 1 : 1;
153
- if (this.shouldMoveOffGroupToTheRight(index, group, e.key)) {
154
- this.moveRightOffGroup();
155
- return;
156
- }
157
- else if (index === group.length) {
158
- index = 0;
159
- }
160
- /* looping to get to next radio that is not disabled */
161
- /* matching native radio/radiogroup which does not select an item if there is only 1 in the group */
162
- while (index < group.length && group.length > 1) {
163
- if (!group[index].disabled) {
164
- this.moveToRadioByIndex(group, index);
165
- break;
166
- }
167
- else if (this.focusedRadio && index === group.indexOf(this.focusedRadio)) {
168
- break;
169
- }
170
- else if (index + 1 >= group.length) {
171
- if (this.isInsideToolbar) {
172
- break;
173
- }
174
- else {
175
- index = 0;
176
- }
177
- }
178
- else {
179
- index += 1;
180
- }
181
- }
182
- };
183
- this.moveLeft = (e) => {
184
- const group = this.slottedRadioButtons;
185
- let index = 0;
186
- index = this.focusedRadio ? group.indexOf(this.focusedRadio) - 1 : 0;
187
- index = index < 0 ? group.length - 1 : index;
188
- if (this.shouldMoveOffGroupToTheLeft(group, e.key)) {
189
- this.moveLeftOffGroup();
190
- return;
191
- }
192
- /* looping to get to next radio that is not disabled */
193
- while (index >= 0 && group.length > 1) {
194
- if (!group[index].disabled) {
195
- this.moveToRadioByIndex(group, index);
196
- break;
197
- }
198
- else if (this.focusedRadio && index === group.indexOf(this.focusedRadio)) {
199
- break;
200
- }
201
- else if (index - 1 < 0) {
202
- index = group.length - 1;
203
- }
204
- else {
205
- index -= 1;
206
- }
207
- }
208
- };
209
- /**
210
- * keyboard handling per https://w3c.github.io/aria-practices/#for-radio-groups-not-contained-in-a-toolbar
211
- * navigation is different when there is an ancestor with role='toolbar'
212
- *
213
- * @internal
214
- */
215
- this.keydownHandler = (e) => {
216
- const key = e.key;
217
- if (key in ArrowKeys && this.isInsideFoundationToolbar) {
218
- return true;
219
- }
220
- switch (key) {
221
- case keyEnter: {
222
- this.checkFocusedRadio();
223
- break;
224
- }
225
- case keyArrowRight:
226
- case keyArrowDown: {
227
- if (this.direction === Direction.ltr) {
228
- this.moveRight(e);
229
- }
230
- else {
231
- this.moveLeft(e);
232
- }
233
- break;
234
- }
235
- case keyArrowLeft:
236
- case keyArrowUp: {
237
- if (this.direction === Direction.ltr) {
238
- this.moveLeft(e);
239
- }
240
- else {
241
- this.moveRight(e);
242
- }
243
- break;
244
- }
245
- default: {
246
- return true;
247
- }
248
- }
249
- };
250
- }
251
- readOnlyChanged() {
252
- if (this.slottedRadioButtons !== undefined) {
253
- this.slottedRadioButtons.forEach((radio) => {
254
- if (this.readOnly) {
255
- radio.readOnly = true;
256
- }
257
- else {
258
- radio.readOnly = false;
259
- }
260
- });
261
- }
262
- }
263
- disabledChanged() {
264
- if (this.slottedRadioButtons !== undefined) {
265
- this.slottedRadioButtons.forEach((radio) => {
266
- if (this.disabled) {
267
- radio.disabled = true;
268
- }
269
- else {
270
- radio.disabled = false;
271
- }
272
- });
273
- }
274
- }
275
- nameChanged() {
276
- if (this.slottedRadioButtons) {
277
- this.slottedRadioButtons.forEach((radio) => {
278
- radio.setAttribute("name", this.name);
279
- });
280
- }
281
- }
282
- valueChanged() {
283
- if (this.slottedRadioButtons) {
284
- this.slottedRadioButtons.forEach((radio) => {
285
- if (radio.value === this.value) {
286
- radio.checked = true;
287
- this.selectedRadio = radio;
288
- }
289
- });
290
- }
291
- this.$emit("change");
292
- }
293
- slottedRadioButtonsChanged(oldValue, newValue) {
294
- if (this.slottedRadioButtons && this.slottedRadioButtons.length > 0) {
295
- this.setupRadioButtons();
296
- }
297
- }
298
- get parentToolbar() {
299
- return this.closest('[role="toolbar"]');
300
- }
301
- get isInsideToolbar() {
302
- var _a;
303
- return ((_a = this.parentToolbar) !== null && _a !== void 0 ? _a : false);
304
- }
305
- get isInsideFoundationToolbar() {
306
- var _a;
307
- return !!((_a = this.parentToolbar) === null || _a === void 0 ? void 0 : _a["$fastController"]);
308
- }
309
- /**
310
- * @internal
311
- */
312
- connectedCallback() {
313
- super.connectedCallback();
314
- this.direction = getDirection(this);
315
- this.setupRadioButtons();
316
- }
317
- disconnectedCallback() {
318
- this.slottedRadioButtons.forEach((radio) => {
319
- radio.removeEventListener("change", this.radioChangeHandler);
320
- });
321
- }
322
- setupRadioButtons() {
323
- const checkedRadios = this.slottedRadioButtons.filter((radio) => {
324
- return radio.hasAttribute("checked");
325
- });
326
- const numberOfCheckedRadios = checkedRadios ? checkedRadios.length : 0;
327
- if (numberOfCheckedRadios > 1) {
328
- const lastCheckedRadio = checkedRadios[numberOfCheckedRadios - 1];
329
- lastCheckedRadio.checked = true;
330
- }
331
- let foundMatchingVal = false;
332
- this.slottedRadioButtons.forEach((radio) => {
333
- if (this.name !== undefined) {
334
- radio.setAttribute("name", this.name);
335
- }
336
- if (this.disabled) {
337
- radio.disabled = true;
338
- }
339
- if (this.readOnly) {
340
- radio.readOnly = true;
341
- }
342
- if (this.value && this.value === radio.value) {
343
- this.selectedRadio = radio;
344
- this.focusedRadio = radio;
345
- radio.checked = true;
346
- radio.setAttribute("tabindex", "0");
347
- foundMatchingVal = true;
348
- }
349
- else {
350
- if (!this.isInsideFoundationToolbar) {
351
- radio.setAttribute("tabindex", "-1");
352
- }
353
- radio.checked = false;
354
- }
355
- radio.addEventListener("change", this.radioChangeHandler);
356
- });
357
- if (this.value === undefined && this.slottedRadioButtons.length > 0) {
358
- const checkedRadios = this.slottedRadioButtons.filter((radio) => {
359
- return radio.hasAttribute("checked");
360
- });
361
- const numberOfCheckedRadios = checkedRadios !== null ? checkedRadios.length : 0;
362
- if (numberOfCheckedRadios > 0 && !foundMatchingVal) {
363
- const lastCheckedRadio = checkedRadios[numberOfCheckedRadios - 1];
364
- lastCheckedRadio.checked = true;
365
- this.focusedRadio = lastCheckedRadio;
366
- lastCheckedRadio.setAttribute("tabindex", "0");
367
- }
368
- else {
369
- this.slottedRadioButtons[0].setAttribute("tabindex", "0");
370
- this.focusedRadio = this.slottedRadioButtons[0];
371
- }
372
- }
373
- }
374
- }
375
- __decorate([
376
- attr({ attribute: "readonly", mode: "boolean" })
377
- ], RadioGroup$1.prototype, "readOnly", void 0);
378
- __decorate([
379
- attr({ attribute: "disabled", mode: "boolean" })
380
- ], RadioGroup$1.prototype, "disabled", void 0);
381
- __decorate([
382
- attr
383
- ], RadioGroup$1.prototype, "name", void 0);
384
- __decorate([
385
- attr
386
- ], RadioGroup$1.prototype, "value", void 0);
387
- __decorate([
388
- attr
389
- ], RadioGroup$1.prototype, "orientation", void 0);
390
- __decorate([
391
- observable
392
- ], RadioGroup$1.prototype, "childItems", void 0);
393
- __decorate([
394
- observable
395
- ], RadioGroup$1.prototype, "slottedRadioButtons", void 0);
6
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Tue, 06 Jun 2023 10:38:32 GMT\n */\n.base {\n height: 6px;\n align-items: center;\n margin: 0;\n outline: none;\n}\n.base:not(.connotation-pacific).connotation-cta {\n /* @cssprop [--vvd-progress-cta-primary=var(--vvd-color-cta-500)] */\n --_connotation-color-primary: var(--vvd-progress-cta-primary, var(--vvd-color-cta-500));\n /* @cssprop [--vvd-progress-cta-soft=var(--vvd-color-cta-100)] */\n --_connotation-color-soft: var(--vvd-progress-cta-soft, var(--vvd-color-cta-100));\n}\n.base:not(.connotation-pacific).connotation-alert {\n /* @cssprop [--vvd-progress-alert-primary=var(--vvd-color-alert-500)] */\n --_connotation-color-primary: var(--vvd-progress-alert-primary, var(--vvd-color-alert-500));\n /* @cssprop [--vvd-progress-alert-soft=var(--vvd-color-alert-100)] */\n --_connotation-color-soft: var(--vvd-progress-alert-soft, var(--vvd-color-alert-100));\n}\n.base:not(.connotation-pacific).connotation-success {\n /* @cssprop [--vvd-progress-success-primary=var(--vvd-color-success-500)] */\n --_connotation-color-primary: var(--vvd-progress-success-primary, var(--vvd-color-success-500));\n /* @cssprop [--vvd-progress-success-soft=var(--vvd-color-success-100)] */\n --_connotation-color-soft: var(--vvd-progress-success-soft, var(--vvd-color-success-100));\n}\n.base:not(.connotation-pacific):not(.connotation-cta, .connotation-alert, .connotation-success) {\n /* @cssprop [--vvd-progress-accent-primary=var(--vvd-color-canvas-text)] */\n --_connotation-color-primary: var(--vvd-progress-accent-primary, var(--vvd-color-canvas-text));\n /* @cssprop [--vvd-progress-accent-soft=var(--vvd-color-neutral-100)] */\n --_connotation-color-soft: var(--vvd-progress-accent-soft, var(--vvd-color-neutral-100));\n}\n.base:not(.connotation-pacific) {\n --_appearance-color-text: var(--_connotation-color-contrast);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.base.connotation-pacific {\n --_connotation-color-primary: linear-gradient(to right, var(--vvd-color-information-200), var(--vvd-color-cta-600));\n}\n\n.progress {\n position: relative;\n display: flex;\n overflow: hidden;\n align-items: center;\n block-size: 100%;\n inline-size: 100%;\n /* Shape */\n}\n.base:not(.connotation-pacific) .progress {\n background-color: var(--_appearance-color-fill);\n}\n.base.connotation-pacific .progress {\n background-color: var(--vvd-color-neutral-100);\n}\n.base:not(.shape-sharp) .progress {\n border-radius: 3px;\n}\n\n.indeterminate {\n display: flex;\n background-color: var(--_connotation-color-primary);\n block-size: 100%;\n border-radius: inherit;\n inline-size: 100%;\n}\n\n.determinate {\n background-color: var(--_connotation-color-primary);\n block-size: 100%;\n border-radius: inherit;\n transition: all 0.2s ease-in-out;\n}\n.connotation-pacific .determinate {\n background-image: var(--_connotation-color-primary);\n}\n.reverse .determinate {\n position: absolute;\n right: 0;\n}\n.paused .determinate {\n background: var(--vvd-color-neutral-300);\n}\n\n.indicator-1 {\n animation: indeterminate-1 2s infinite;\n inline-size: 30%;\n}\n\n.indicator-2 {\n animation: indeterminate-2 2s infinite;\n inline-size: 60%;\n}\n\n.indicator-1,\n.indicator-2 {\n position: absolute;\n animation-timing-function: cubic-bezier(0.4, 0, 0.6, 1);\n background-color: var(--vvd-color-neutral-100);\n block-size: 100%;\n opacity: 0;\n}\n.connotation-pacific .indicator-1,\n.connotation-pacific .indicator-2 {\n background-image: var(--_connotation-color-primary);\n}\n.paused .indicator-1,\n.paused .indicator-2 {\n animation-play-state: paused;\n background-color: var(--_connotation-color-primary);\n}\n.reverse .indicator-1,\n.reverse .indicator-2 {\n animation-direction: reverse;\n}\n\n@keyframes indeterminate-1 {\n 0% {\n opacity: 1;\n transform: translateX(-100%);\n }\n 70% {\n opacity: 1;\n transform: translateX(300%);\n }\n 70.01% {\n opacity: 0;\n }\n 100% {\n opacity: 0;\n transform: translateX(300%);\n }\n}\n@keyframes indeterminate-2 {\n 0% {\n opacity: 0;\n transform: translateX(-150%);\n }\n 29.99% {\n opacity: 0;\n }\n 30% {\n opacity: 1;\n transform: translateX(-150%);\n }\n 100% {\n opacity: 1;\n transform: translateX(166.66%);\n }\n}";
396
7
 
397
- var css_248z = "/**\n * Do not edit directly\n * Generated on Tue, 30 May 2023 12:49:14 GMT\n */\n.positioning-region {\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n}\n.positioning-region.vertical {\n flex-direction: column;\n}\nlabel + .positioning-region {\n margin-block-start: 8px;\n}\n\nlabel {\n color: var(--vvd-color-canvas-text);\n font: var(--vvd-typography-base);\n}";
8
+ var classof = classofRaw;
398
9
 
399
- class RadioGroup extends RadioGroup$1 {}
400
- __decorate([attr, __metadata("design:type", String)], RadioGroup.prototype, "label", void 0);
10
+ // `IsArray` abstract operation
11
+ // https://tc39.es/ecma262/#sec-isarray
12
+ // eslint-disable-next-line es/no-array-isarray -- safe
13
+ var isArray$1 = Array.isArray || function isArray(argument) {
14
+ return classof(argument) == 'Array';
15
+ };
401
16
 
402
- let _ = t => t,
403
- _t,
404
- _t2;
405
- const RadioGroupTemplate = context => {
406
- return html(_t || (_t = _`
407
- <template
408
- role="radiogroup"
409
- aria-disabled="${0}"
410
- aria-readonly="${0}"
411
- aria-orientation="${0}"
412
- @click="${0}"
413
- @keydown="${0}"
414
- @focusout="${0}"
415
- >
17
+ var $ = _export;
18
+ var uncurryThis = functionUncurryThis;
19
+ var isArray = isArray$1;
20
+
21
+ var nativeReverse = uncurryThis([].reverse);
22
+ var test = [1, 2];
23
+
24
+ // `Array.prototype.reverse` method
25
+ // https://tc39.es/ecma262/#sec-array.prototype.reverse
26
+ // fix for Safari 12.0 bug
27
+ // https://bugs.webkit.org/show_bug.cgi?id=188794
28
+ $({ target: 'Array', proto: true, forced: String(test) === String(test.reverse()) }, {
29
+ reverse: function reverse() {
30
+ // eslint-disable-next-line no-self-assign -- dirty hack
31
+ if (isArray(this)) this.length = this.length;
32
+ return nativeReverse(this);
33
+ }
34
+ });
416
35
 
417
- ${0}
36
+ class Progress extends BaseProgress {
37
+ constructor() {
38
+ super(...arguments);
39
+ this.reverse = false;
40
+ }
41
+ }
42
+ __decorate([attr(), __metadata("design:type", String)], Progress.prototype, "shape", void 0);
43
+ __decorate([attr(), __metadata("design:type", String)], Progress.prototype, "connotation", void 0);
44
+ __decorate([attr({
45
+ mode: 'boolean'
46
+ }), __metadata("design:type", Object)], Progress.prototype, "reverse", void 0);
418
47
 
419
- <div class="positioning-region ${0}">
420
- <slot ${0}></slot>
421
- </div>
422
- </template>
423
- `), x => x.disabled, x => x.readOnly, x => x.orientation, (x, c) => x.clickHandler(c.event), (x, c) => x.keydownHandler(c.event), (x, c) => x.focusOutHandler(c.event), when(x => x.label, html(_t2 || (_t2 = _`<label>${0}</label>`), x => x.label)), x => x.orientation === Orientation$1.horizontal ? 'horizontal' : 'vertical', slotted({
424
- property: 'slottedRadioButtons',
425
- filter: elements(context.tagFor(Radio))
426
- }));
48
+ let _2 = t => t,
49
+ _t,
50
+ _t2,
51
+ _t3;
52
+ const getClasses = ({
53
+ connotation,
54
+ shape,
55
+ reverse,
56
+ paused
57
+ }) => classNames('base', [`connotation-${connotation}`, Boolean(connotation)], [`shape-${shape}`, Boolean(shape)], ['reverse', Boolean(reverse)], ['paused', Boolean(paused)]);
58
+ function determinate() {
59
+ return html(_t || (_t = _2`
60
+ <span class="determinate" style="width: ${0}%"></span>`), x => x.percentComplete);
61
+ }
62
+ function indeterminate() {
63
+ return html(_t2 || (_t2 = _2`
64
+ <span class="indeterminate" name="indeterminate">
65
+ <span class="indicator-1"></span>
66
+ <span class="indicator-2"></span>
67
+ </span>`));
68
+ }
69
+ const ProgressTemplate = _ => {
70
+ return html(_t3 || (_t3 = _2`
71
+ <div
72
+ role="progressbar"
73
+ aria-valuenow="${0}"
74
+ aria-valuemin="${0}"
75
+ aria-valuemax="${0}"
76
+ class="${0}"
77
+ >
78
+ <div class="progress">
79
+ ${0}
80
+ ${0}
81
+ </div>
82
+ </div>
83
+ `), x => x.value, x => x.min, x => x.max, getClasses, when(x => typeof x.value === 'number', determinate()), when(x => typeof x.value !== 'number', indeterminate()));
427
84
  };
428
85
 
429
- const radioGroupDefinition = RadioGroup.compose({
430
- baseName: 'radio-group',
431
- template: RadioGroupTemplate,
86
+ const progressDefinition = Progress.compose({
87
+ baseName: 'progress',
88
+ template: ProgressTemplate,
432
89
  styles: css_248z
433
90
  });
434
- const radioGroupRegistries = [radioGroupDefinition()];
435
- const registerRadioGroup = registerFactory(radioGroupRegistries);
91
+ const progressRegistries = [progressDefinition()];
92
+ const registerProgress = registerFactory(progressRegistries);
436
93
 
437
- export { radioGroupDefinition as a, radioGroupRegistries as b, registerRadioGroup as r };
94
+ export { progressRegistries as a, progressDefinition as p, registerProgress as r };