@vonage/vivid 3.0.0-next.109 → 3.0.0-next.110

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 (120) hide show
  1. package/README.md +24 -0
  2. package/accordion/index.js +3 -3
  3. package/accordion-item/index.js +12 -12
  4. package/action-group/index.js +3 -7
  5. package/avatar/index.js +10 -10
  6. package/badge/index.js +9 -9
  7. package/banner/index.js +9 -19
  8. package/breadcrumb/index.js +2 -2
  9. package/breadcrumb-item/index.js +13 -14
  10. package/button/index.js +92 -16
  11. package/calendar/index.js +3 -7
  12. package/calendar-event/index.js +3 -6
  13. package/card/index.js +9 -11
  14. package/checkbox/index.js +11 -12
  15. package/custom-elements.json +49 -49
  16. package/dialog/index.js +9 -25
  17. package/divider/index.js +26 -3
  18. package/elevation/index.js +25 -3
  19. package/fab/index.js +12 -14
  20. package/focus/index.js +4 -4
  21. package/header/index.js +10 -8
  22. package/icon/index.js +3 -5
  23. package/index.js +24 -22
  24. package/layout/index.js +2 -2
  25. package/lib/accordion-item/index.d.ts +0 -2
  26. package/lib/avatar/index.d.ts +0 -1
  27. package/lib/badge/index.d.ts +0 -1
  28. package/lib/banner/index.d.ts +0 -1
  29. package/lib/breadcrumb-item/index.d.ts +0 -2
  30. package/lib/button/index.d.ts +1 -4
  31. package/lib/card/index.d.ts +0 -2
  32. package/lib/checkbox/index.d.ts +0 -2
  33. package/lib/components.d.ts +1 -1
  34. package/lib/dialog/index.d.ts +0 -3
  35. package/lib/fab/index.d.ts +0 -2
  36. package/lib/header/index.d.ts +0 -1
  37. package/lib/listbox/index.d.ts +1 -4
  38. package/lib/menu/index.d.ts +0 -2
  39. package/lib/menu-item/index.d.ts +0 -1
  40. package/lib/nav-disclosure/index.d.ts +0 -2
  41. package/lib/nav-item/index.d.ts +0 -2
  42. package/lib/note/note.template.d.ts +0 -1
  43. package/lib/number-field/index.d.ts +0 -2
  44. package/lib/{listbox-option → option}/index.d.ts +0 -2
  45. package/lib/{listbox-option/listbox-option.d.ts → option/option.d.ts} +0 -0
  46. package/lib/{listbox-option/listbox-option.template.d.ts → option/option.template.d.ts} +1 -1
  47. package/lib/popup/index.d.ts +0 -2
  48. package/lib/radio/index.d.ts +0 -1
  49. package/lib/slider/index.d.ts +0 -1
  50. package/lib/switch/index.d.ts +0 -2
  51. package/lib/text-area/index.d.ts +0 -2
  52. package/lib/text-field/index.d.ts +0 -2
  53. package/lib/text-field/text-field.template.d.ts +0 -1
  54. package/lib/tooltip/index.d.ts +0 -1
  55. package/listbox/index.js +14 -18
  56. package/menu/index.js +12 -26
  57. package/menu-item/index.js +82 -13
  58. package/nav/index.js +2 -2
  59. package/nav-disclosure/index.js +11 -13
  60. package/nav-item/index.js +11 -13
  61. package/note/index.js +10 -10
  62. package/number-field/index.js +14 -15
  63. package/option/index.js +75 -0
  64. package/package.json +3 -2
  65. package/popup/index.js +57 -20
  66. package/progress/index.js +3 -7
  67. package/progress-ring/index.js +3 -3
  68. package/radio/index.js +11 -6
  69. package/radio-group/index.js +3 -3
  70. package/shared/affix.js +0 -1
  71. package/shared/anchor.js +1 -1
  72. package/shared/apply-mixins.js +1 -1
  73. package/shared/base-progress.js +1 -1
  74. package/shared/breadcrumb-item.js +1 -1
  75. package/shared/button.js +18 -195
  76. package/shared/button2.js +200 -0
  77. package/shared/calendar-event.js +1 -1
  78. package/shared/design-system/index.d.ts +1 -1
  79. package/shared/{index4.js → divider.js} +2 -24
  80. package/shared/elevation.js +10 -0
  81. package/shared/es.object.assign.js +1 -59
  82. package/shared/es.promise.resolve.js +944 -0
  83. package/shared/es.regexp.to-string.js +1 -2
  84. package/shared/focus.js +9 -3
  85. package/shared/focus2.js +3 -9
  86. package/shared/form-associated.js +1 -1
  87. package/shared/form-elements.js +2 -3
  88. package/shared/icon.js +9 -1098
  89. package/shared/index.js +3673 -5
  90. package/shared/index2.js +6 -104
  91. package/shared/{index5.js → listbox-option.js} +11 -71
  92. package/shared/{index7.js → menu-item.js} +13 -85
  93. package/shared/patterns/form-elements/form-elements.d.ts +2 -2
  94. package/shared/{index6.js → popup.js} +3 -43
  95. package/shared/radio.js +1 -1
  96. package/shared/ref.js +1 -1
  97. package/shared/slotted.js +1 -1
  98. package/shared/string-trim.js +1 -2
  99. package/shared/text-anchor.template.js +1 -1
  100. package/shared/utils/index.d.ts +1 -0
  101. package/side-drawer/index.js +3 -7
  102. package/slider/index.js +10 -10
  103. package/styles/core/all.css +1 -1
  104. package/styles/core/theme.css +1 -1
  105. package/styles/core/typography.css +1 -1
  106. package/styles/tokens/theme-dark.css +4 -4
  107. package/styles/tokens/theme-light.css +4 -4
  108. package/switch/index.js +11 -11
  109. package/text-anchor/index.js +4 -8
  110. package/text-area/index.js +11 -12
  111. package/text-field/index.js +11 -12
  112. package/tooltip/index.js +11 -27
  113. package/vivid.api.json +11 -189
  114. package/listbox-option/index.js +0 -22
  115. package/shared/export.js +0 -1017
  116. package/shared/index3.js +0 -31
  117. package/shared/iterators.js +0 -61
  118. package/shared/object-keys.js +0 -13
  119. package/shared/to-string.js +0 -51
  120. package/shared/web.dom-collections.iterator.js +0 -472
@@ -1,8 +1,8 @@
1
- import { F as FoundationElement, D as DOM, _ as __decorate, a as attr, n as nullableNumberConverter, o as observable, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
2
- import { B as Button } from '../shared/index2.js';
3
- import { D as Divider } from '../shared/index4.js';
1
+ import '../shared/es.promise.resolve.js';
2
+ import { F as FoundationElement, a2 as DOM, _ as __decorate, a as attr, a6 as nullableNumberConverter, V as observable, b as __metadata, h as html, g as getPrefix, d as designSystem } from '../shared/index.js';
3
+ import { l as loadComponentsModules } from '../shared/index2.js';
4
4
  import { b as AffixIcon } from '../shared/affix.js';
5
- import '../shared/focus.js';
5
+ import '../shared/focus2.js';
6
6
  import { D as DelegatesARIATextbox, f as formElements, g as getFeedbackTemplate } from '../shared/form-elements.js';
7
7
  import { S as StartEnd } from '../shared/start-end.js';
8
8
  import { a as applyMixins } from '../shared/apply-mixins.js';
@@ -10,22 +10,17 @@ import { F as FormAssociated } from '../shared/form-associated.js';
10
10
  import { f as keyArrowDown, e as keyArrowUp } from '../shared/key-codes.js';
11
11
  import '../shared/es.regexp.to-string.js';
12
12
  import { S as Shape } from '../shared/enums.js';
13
- import { f as focusTemplateFactory } from '../shared/focus2.js';
13
+ import { f as focusTemplateFactory } from '../shared/focus.js';
14
+ import { B as Button } from '../shared/button.js';
15
+ import { D as Divider } from '../shared/divider.js';
14
16
  import { w as when } from '../shared/when.js';
15
17
  import { r as ref } from '../shared/ref.js';
16
18
  import { c as classNames } from '../shared/class-names.js';
17
- import '../icon/index.js';
18
19
  import '../shared/icon.js';
19
- import '../shared/export.js';
20
- import '../shared/iterators.js';
21
- import '../shared/to-string.js';
22
20
  import '../shared/string-trim.js';
23
21
  import '../shared/_has.js';
24
- import '../focus/index.js';
25
- import '../shared/web.dom-collections.iterator.js';
26
- import '../shared/object-keys.js';
27
- import '../shared/button.js';
28
22
  import '../shared/aria-global.js';
23
+ import '../shared/button2.js';
29
24
  import '../shared/aria.js';
30
25
 
31
26
  class _NumberField extends FoundationElement {
@@ -324,7 +319,7 @@ __decorate([
324
319
  ], NumberField$1.prototype, "defaultSlottedNodes", void 0);
325
320
  applyMixins(NumberField$1, StartEnd, DelegatesARIATextbox);
326
321
 
327
- var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 13:40:32 GMT\n */\n:host {\n display: inline-block;\n}\n\n.base {\n display: inline-grid;\n width: 100%;\n gap: 4px;\n grid-template-columns: min-content 1fr max-content;\n}\n.base {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--_connotation-color-backdrop);\n --_appearance-color-outline: var(--_connotation-color-intermediate);\n}\n.base.appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--_connotation-color-backdrop);\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)).appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: var(--vvd-color-neutral-200);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base:where(:disabled, .disabled).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(.readonly):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-neutral-800);\n --_appearance-color-fill: var(--vvd-color-neutral-200);\n --_appearance-color-outline: var(--vvd-color-neutral-500);\n}\n.base:where(.readonly):where(:not(:disabled, .disabled)).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base.connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n --_connotation-color-backdrop: var(--vvd-color-success-50);\n --_connotation-color-intermediate: var(--vvd-color-success-500);\n --_connotation-color-firm: var(--vvd-color-success-600);\n}\n.base.connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n --_connotation-color-backdrop: var(--vvd-color-alert-50);\n --_connotation-color-intermediate: var(--vvd-color-alert-500);\n --_connotation-color-firm: var(--vvd-color-alert-600);\n}\n.base:not(.connotation-success, .connotation-alert) {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-backdrop: var(--vvd-color-canvas);\n --_connotation-color-intermediate: var(--vvd-color-neutral-500);\n --_connotation-color-firm: var(--vvd-color-canvas-text);\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base:not(.disabled) {\n --_low-ink-color: var(--vvd-color-neutral-600);\n}\n.base.disabled {\n --_low-ink-color: var(--_appearance-color-text);\n}\n\n.label {\n color: var(--vvd-color-canvas-text);\n contain: inline-size;\n font: var(--vvd-typography-base);\n grid-column: 1/4;\n grid-row: 1;\n}\n.char-count + .label {\n grid-column: 1/3;\n}\n\n.char-count {\n color: var(--_low-ink-color);\n font: var(--vvd-typography-base);\n grid-column: 3/4;\n}\n\n.fieldset {\n position: relative;\n display: flex;\n align-items: center;\n grid-column: 1/4;\n transition: color 0.2s;\n /* Shape */\n}\n.base > .fieldset {\n block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n}\n.base:not(.shape-pill) .fieldset {\n border-radius: 6px;\n}\n.base.shape-pill .fieldset {\n border-radius: 24px;\n}\n\n.control {\n width: 100%;\n border: 0 none;\n background-color: var(--_appearance-color-fill);\n block-size: 100%;\n border-radius: inherit;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n font: var(--vvd-typography-base);\n padding-inline-end: 16px;\n padding-inline-start: 16px;\n transition: box-shadow 0.2s, background-color 0.2s;\n}\n.control:disabled {\n cursor: not-allowed;\n opacity: 1; /* 2. correct opacity on iOS */\n -webkit-text-fill-color: var(--_appearance-color-text); /* 1. sets text fill to current `color` for safari */\n}\n.control::placeholder, .control:disabled::placeholder {\n opacity: 1; /* 2. correct opacity on iOS */\n -webkit-text-fill-color: var(--_low-ink-color); /* 1. sets text fill to current `color` for safari */\n}\n@supports selector(:focus-visible) {\n .control:focus {\n outline: none;\n }\n}\n\n.icon {\n position: absolute;\n z-index: 1;\n color: var(--_low-ink-color);\n font-size: 20px;\n inset-inline-start: 16px;\n}\n.icon + .control {\n padding-inline-start: 44px;\n}\n\n.focus-indicator {\n --focus-stroke-gap-color: transparent;\n pointer-events: none;\n}\n.fieldset:not(:focus-visible, :focus-within) > .focus-indicator {\n display: none;\n}\n\n.control {\n padding-inline-end: 70px;\n}\n.control::-webkit-outer-spin-button, .control::-webkit-inner-spin-button {\n appearance: none;\n}\n.control-buttons {\n position: absolute;\n z-index: 1;\n right: 3px;\n display: flex;\n}\n.readonly .control-buttons, .disabled .control-buttons {\n pointer-events: none;\n}\n.control-buttons .divider {\n margin-block: 8px;\n}\n.control-buttons > * {\n flex-shrink: 0;\n}\n\n.disabled .focus-indicator {\n display: none;\n pointer-events: none;\n}";
322
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 15:37:45 GMT\n */\n:host {\n display: inline-block;\n}\n\n.base {\n display: inline-grid;\n width: 100%;\n gap: 4px;\n grid-template-columns: min-content 1fr max-content;\n}\n.base {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--_connotation-color-backdrop);\n --_appearance-color-outline: var(--_connotation-color-intermediate);\n}\n.base.appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--_connotation-color-backdrop);\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)).appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: var(--vvd-color-neutral-200);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base:where(:disabled, .disabled).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(.readonly):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-neutral-800);\n --_appearance-color-fill: var(--vvd-color-neutral-200);\n --_appearance-color-outline: var(--vvd-color-neutral-500);\n}\n.base:where(.readonly):where(:not(:disabled, .disabled)).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base.connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n --_connotation-color-backdrop: var(--vvd-color-success-50);\n --_connotation-color-intermediate: var(--vvd-color-success-500);\n --_connotation-color-firm: var(--vvd-color-success-600);\n}\n.base.connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n --_connotation-color-backdrop: var(--vvd-color-alert-50);\n --_connotation-color-intermediate: var(--vvd-color-alert-500);\n --_connotation-color-firm: var(--vvd-color-alert-600);\n}\n.base:not(.connotation-success, .connotation-alert) {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-backdrop: var(--vvd-color-canvas);\n --_connotation-color-intermediate: var(--vvd-color-neutral-500);\n --_connotation-color-firm: var(--vvd-color-canvas-text);\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base:not(.disabled) {\n --_low-ink-color: var(--vvd-color-neutral-600);\n}\n.base.disabled {\n --_low-ink-color: var(--_appearance-color-text);\n}\n\n.label {\n color: var(--vvd-color-canvas-text);\n contain: inline-size;\n font: var(--vvd-typography-base);\n grid-column: 1/4;\n grid-row: 1;\n}\n.char-count + .label {\n grid-column: 1/3;\n}\n\n.char-count {\n color: var(--_low-ink-color);\n font: var(--vvd-typography-base);\n grid-column: 3/4;\n}\n\n.fieldset {\n position: relative;\n display: flex;\n align-items: center;\n grid-column: 1/4;\n transition: color 0.2s;\n /* Shape */\n}\n.base > .fieldset {\n block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n}\n.base:not(.shape-pill) .fieldset {\n border-radius: 6px;\n}\n.base.shape-pill .fieldset {\n border-radius: 24px;\n}\n\n.control {\n width: 100%;\n border: 0 none;\n background-color: var(--_appearance-color-fill);\n block-size: 100%;\n border-radius: inherit;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n font: var(--vvd-typography-base);\n padding-inline-end: 16px;\n padding-inline-start: 16px;\n transition: box-shadow 0.2s, background-color 0.2s;\n}\n.control:disabled {\n cursor: not-allowed;\n opacity: 1; /* 2. correct opacity on iOS */\n -webkit-text-fill-color: var(--_appearance-color-text); /* 1. sets text fill to current `color` for safari */\n}\n.control::placeholder, .control:disabled::placeholder {\n opacity: 1; /* 2. correct opacity on iOS */\n -webkit-text-fill-color: var(--_low-ink-color); /* 1. sets text fill to current `color` for safari */\n}\n@supports selector(:focus-visible) {\n .control:focus {\n outline: none;\n }\n}\n\n.icon {\n position: absolute;\n z-index: 1;\n color: var(--_low-ink-color);\n font-size: 20px;\n inset-inline-start: 16px;\n}\n.icon + .control {\n padding-inline-start: 44px;\n}\n\n.focus-indicator {\n --focus-stroke-gap-color: transparent;\n pointer-events: none;\n}\n.fieldset:not(:focus-visible, :focus-within) > .focus-indicator {\n display: none;\n}\n\n.control {\n padding-inline-end: 70px;\n}\n.control::-webkit-outer-spin-button, .control::-webkit-inner-spin-button {\n appearance: none;\n}\n.control-buttons {\n position: absolute;\n z-index: 1;\n right: 3px;\n display: flex;\n}\n.readonly .control-buttons, .disabled .control-buttons {\n pointer-events: none;\n}\n.control-buttons .divider {\n margin-block: 8px;\n}\n.control-buttons > * {\n flex-shrink: 0;\n}\n\n.disabled .focus-indicator {\n display: none;\n pointer-events: none;\n}";
328
323
 
329
324
  let NumberField = class NumberField extends NumberField$1 {};
330
325
  __decorate([attr, __metadata("design:type", String)], NumberField.prototype, "appearance", void 0);
@@ -448,6 +443,7 @@ const NumberFieldTemplate = context => {
448
443
  }, getFeedbackTemplate('helper', context)), when(x => !x.successText && x.errorValidationMessage, getFeedbackTemplate('error', context)), when(x => x.successText, getFeedbackTemplate('success', context)));
449
444
  };
450
445
 
446
+ const prefix = getPrefix(import.meta.url);
451
447
  const vividNumberField = NumberField.compose({
452
448
  baseName: 'number-field',
453
449
  template: NumberFieldTemplate,
@@ -456,6 +452,9 @@ const vividNumberField = NumberField.compose({
456
452
  delegatesFocus: true
457
453
  }
458
454
  });
459
- designSystem.register(vividNumberField());
455
+ (async () => {
456
+ await loadComponentsModules(['button', 'divider'], prefix);
457
+ designSystem.withPrefix(prefix).register(vividNumberField());
458
+ })();
460
459
 
461
460
  export { vividNumberField };
@@ -0,0 +1,75 @@
1
+ import '../shared/es.promise.resolve.js';
2
+ import { _ as __decorate, a as attr, b as __metadata, h as html, g as getPrefix, d as designSystem } from '../shared/index.js';
3
+ import { l as loadComponentsModules } from '../shared/index2.js';
4
+ import { A as AffixIconWithTrailing, a as affixIconTemplateFactory } from '../shared/affix.js';
5
+ import { L as ListboxOption$1 } from '../shared/listbox-option.js';
6
+ import { a as applyMixins } from '../shared/apply-mixins.js';
7
+ import { f as focusTemplateFactory } from '../shared/focus.js';
8
+ import '../shared/icon.js';
9
+ import { w as when } from '../shared/when.js';
10
+ import { c as classNames } from '../shared/class-names.js';
11
+ import '../shared/aria-global.js';
12
+ import '../shared/start-end.js';
13
+ import '../shared/ref.js';
14
+ import '../shared/dom.js';
15
+ import '../shared/focus2.js';
16
+ import '../shared/string-trim.js';
17
+ import '../shared/_has.js';
18
+
19
+ class ListboxOption extends ListboxOption$1 {
20
+ set text(value) {
21
+ this._text = value;
22
+ }
23
+ get text() {
24
+ var _a;
25
+ return (_a = this._text) !== null && _a !== void 0 ? _a : '';
26
+ }
27
+ }
28
+ __decorate([attr({
29
+ attribute: 'text'
30
+ }), __metadata("design:type", String)], ListboxOption.prototype, "_text", void 0);
31
+ applyMixins(ListboxOption, AffixIconWithTrailing);
32
+
33
+ let _ = t => t,
34
+ _t,
35
+ _t2;
36
+ const getClasses = ({
37
+ icon,
38
+ disabled,
39
+ selected,
40
+ checked
41
+ }) => classNames('base', ['disabled', disabled], ['selected', Boolean(selected)], ['active', Boolean(checked)], ['icon', Boolean(icon)]);
42
+ const ListboxOptionTemplate = context => {
43
+ const affixIconTemplate = affixIconTemplateFactory(context);
44
+ const focusTemplate = focusTemplateFactory(context);
45
+ return html(_t || (_t = _`
46
+ <template
47
+ aria-checked="${0}"
48
+ aria-disabled="${0}"
49
+ aria-posinset="${0}"
50
+ aria-selected="${0}"
51
+ aria-setsize="${0}"
52
+ role="option">
53
+ <div class="${0}">
54
+ ${0}
55
+ ${0}
56
+ ${0}
57
+ </div>
58
+ </template>
59
+ `), x => x.ariaChecked, x => x.ariaDisabled, x => x.ariaPosInSet, x => x.ariaSelected, x => x.ariaSetSize, getClasses, () => focusTemplate, x => affixIconTemplate(x.icon), when(x => x.text, html(_t2 || (_t2 = _`<div class="text">${0}</div>`), x => x.text)));
60
+ };
61
+
62
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 15:37:45 GMT\n */\n.base {\n position: relative; /* this is needed for the focus */\n display: flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n border-radius: 6px;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n font: var(--vvd-typography-base);\n gap: 12px;\n hyphens: auto;\n inline-size: 100%;\n min-block-size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n padding-block: 10px;\n padding-inline: 16px;\n vertical-align: middle;\n word-break: break-word;\n}\n.base {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-primary-increment: var(--vvd-color-neutral-800);\n --_connotation-color-faint: var(--vvd-color-neutral-50);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.base:where(.selected, [aria-current]):where(:not(:disabled, .disabled, :hover, .hover)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.base:where(.selected, [aria-current]):where(:hover, .hover) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary-increment);\n --_appearance-color-outline: transparent;\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base:not(.disabled) {\n cursor: pointer;\n}\n.base.disabled {\n cursor: not-allowed;\n}\n.base .text {\n font: var(--vvd-typography-base);\n}\n\n.icon {\n font-size: 20px;\n}\n.base:not(.disabled, .selected) .icon {\n color: var(--vvd-color-neutral-600);\n}\n\n.focus-indicator {\n --focus-stroke-color: var(--vvd-color-neutral-500);\n --focus-stroke-gap-color: transparent;\n}\n:host(:not([aria-checked=true])) .focus-indicator {\n display: none;\n}";
63
+
64
+ const prefix = getPrefix(import.meta.url);
65
+ const vividListboxOption = ListboxOption.compose({
66
+ baseName: 'option',
67
+ template: ListboxOptionTemplate,
68
+ styles: css_248z
69
+ });
70
+ (async () => {
71
+ await loadComponentsModules(['icon', 'focus'], prefix);
72
+ designSystem.withPrefix(prefix).register(vividListboxOption());
73
+ })();
74
+
75
+ export { vividListboxOption };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vonage/vivid",
3
- "version": "3.0.0-next.109",
3
+ "version": "3.0.0-next.110",
4
4
  "type": "module",
5
5
  "module": "./index.js",
6
6
  "main": "./index.js",
@@ -43,7 +43,7 @@
43
43
  "./nav-item": "./nav-item",
44
44
  "./number-field": "./number-field",
45
45
  "./note": "./note",
46
- "./option": "./listbox-option",
46
+ "./option": "./option",
47
47
  "./popup": "./popup",
48
48
  "./progress": "./progress",
49
49
  "./progress-ring": "./progress-ring",
@@ -59,6 +59,7 @@
59
59
  "types": "./index.d.ts",
60
60
  "dependencies": {
61
61
  "rollup-plugin-postcss": "4.0.2",
62
+ "@jest/globals": "28.1.3",
62
63
  "@microsoft/fast-element": "1.11.0",
63
64
  "@microsoft/fast-foundation": "2.47.0",
64
65
  "@microsoft/fast-web-utilities": "5.4.1",
package/popup/index.js CHANGED
@@ -1,27 +1,64 @@
1
- import '../shared/index3.js';
2
- import '../shared/index2.js';
3
- import '../shared/index.js';
4
- export { v as vividPopup } from '../shared/index6.js';
5
- import '../shared/class-names.js';
6
- import '../icon/index.js';
1
+ import '../shared/es.promise.resolve.js';
2
+ import { h as html, g as getPrefix, d as designSystem } from '../shared/index.js';
3
+ import { l as loadComponentsModules } from '../shared/index2.js';
4
+ import { P as Popup } from '../shared/popup.js';
5
+ import { E as Elevation } from '../shared/elevation.js';
6
+ import { B as Button } from '../shared/button.js';
7
+ import { w as when } from '../shared/when.js';
8
+ import { r as ref } from '../shared/ref.js';
9
+ import { c as classNames } from '../shared/class-names.js';
10
+ import '../shared/es.object.assign.js';
11
+ import '../shared/key-codes.js';
12
+ import '../shared/affix.js';
7
13
  import '../shared/icon.js';
8
- import '../shared/export.js';
9
- import '../shared/iterators.js';
10
- import '../shared/to-string.js';
11
14
  import '../shared/string-trim.js';
12
15
  import '../shared/_has.js';
13
- import '../shared/when.js';
14
- import '../focus/index.js';
15
- import '../shared/focus.js';
16
- import '../shared/web.dom-collections.iterator.js';
17
- import '../shared/object-keys.js';
18
- import '../shared/affix.js';
19
- import '../shared/button.js';
16
+ import '../shared/button2.js';
20
17
  import '../shared/apply-mixins.js';
21
18
  import '../shared/form-associated.js';
22
- import '../shared/key-codes.js';
23
19
  import '../shared/aria-global.js';
24
20
  import '../shared/start-end.js';
25
- import '../shared/ref.js';
26
- import '../shared/focus2.js';
27
- import '../shared/es.object.assign.js';
21
+
22
+ var css_248z = ".control {\n background: var(--vvd-color-surface-4dp);\n border-radius: inherit;\n contain: layout;\n inline-size: fit-content;\n}\n.control:not(.open) {\n display: none;\n}\n\n.popup-wrapper {\n position: fixed;\n border-radius: 6px;\n}\n\n.popup-content {\n display: grid;\n color: var(--vvd-color-canvas-text); /* neutral-100 */\n}\n.dismissible .popup-content {\n align-content: start;\n grid-template-columns: 1fr auto;\n}\n\n.arrow {\n position: absolute;\n z-index: -1;\n width: 8px;\n height: 8px;\n background: var(--vvd-color-surface-4dp);\n transform: rotate(45deg);\n}\n\n.dismissible-button {\n align-self: flex-start;\n margin-block-start: 4px;\n margin-inline-end: 4px;\n}";
23
+
24
+ let _ = t => t,
25
+ _t,
26
+ _t2,
27
+ _t3;
28
+ const getClasses = ({
29
+ open,
30
+ dismissible,
31
+ alternate
32
+ }) => classNames('control', ['open', Boolean(open)], ['dismissible', Boolean(dismissible)], ['alternate', Boolean(alternate)]);
33
+ const popupTemplate = context => {
34
+ const elevationTag = context.tagFor(Elevation);
35
+ const buttonTag = context.tagFor(Button);
36
+ return html(_t || (_t = _`
37
+ <${0}>
38
+ <!--the popup-wrapper is needed for alternating the inside of the popup nd not its shadow-->
39
+ <div class="popup-wrapper" ${0}>
40
+ <div class="${0}" aria-hidden="${0}"
41
+ part="${0}">
42
+ <div class="popup-content">
43
+ <slot></slot>
44
+ ${0}
45
+ </div>
46
+ ${0}
47
+ </div>
48
+ </div>
49
+ </${0}>`), elevationTag, ref('popupEl'), getClasses, x => x.open ? 'false' : 'true', x => x.alternate ? 'vvd-theme-alternate' : '', when(x => x.dismissible, html(_t2 || (_t2 = _`<${0} size="condensed" @click="${0}"
50
+ class="dismissible-button" icon="close-small-solid" shape="pill"></${0}>`), buttonTag, x => x.open = false, buttonTag)), when(x => x.arrow, html(_t3 || (_t3 = _`<div class="arrow" ${0}></div>`), ref('arrowEl'))), elevationTag);
51
+ };
52
+
53
+ const prefix = getPrefix(import.meta.url);
54
+ const vividPopup = Popup.compose({
55
+ baseName: 'popup',
56
+ template: popupTemplate,
57
+ styles: css_248z
58
+ });
59
+ (async () => {
60
+ await loadComponentsModules(['elevation', 'button'], prefix);
61
+ designSystem.withPrefix(prefix).register(vividPopup());
62
+ })();
63
+
64
+ export { vividPopup };
package/progress/index.js CHANGED
@@ -1,13 +1,9 @@
1
- import { _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
2
- import '../shared/web.dom-collections.iterator.js';
3
- import { c as classofRaw, _ as _export, f as functionUncurryThis } from '../shared/export.js';
1
+ import { c as classofRaw, E as _export, n as functionUncurryThis, _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem, g as getPrefix } from '../shared/index.js';
4
2
  import { B as BaseProgress } from '../shared/base-progress.js';
5
3
  import { w as when } from '../shared/when.js';
6
4
  import { c as classNames } from '../shared/class-names.js';
7
- import '../shared/object-keys.js';
8
- import '../shared/iterators.js';
9
5
 
10
- var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 13:40: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 --_connotation-color-primary: var(--vvd-color-cta-500);\n}\n.base:not(.connotation-pacific).connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n}\n.base:not(.connotation-pacific).connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n}\n.base:not(.connotation-pacific):not(.connotation-cta, .connotation-alert, .connotation-success) {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\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 background-color: var(--vvd-color-neutral-100);\n block-size: 100%;\n inline-size: 100%;\n /* Shape */\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-color: 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}";
6
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 15:37:45 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 --_connotation-color-primary: var(--vvd-color-cta-500);\n}\n.base:not(.connotation-pacific).connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n}\n.base:not(.connotation-pacific).connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n}\n.base:not(.connotation-pacific):not(.connotation-cta, .connotation-alert, .connotation-success) {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\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 background-color: var(--vvd-color-neutral-100);\n block-size: 100%;\n inline-size: 100%;\n /* Shape */\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-color: 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}";
11
7
 
12
8
  var classof = classofRaw;
13
9
 
@@ -92,6 +88,6 @@ const vividProgress = Progress.compose({
92
88
  template: ProgressTemplate,
93
89
  styles: css_248z
94
90
  });
95
- designSystem.register(vividProgress());
91
+ designSystem.withPrefix(getPrefix(import.meta.url)).register(vividProgress());
96
92
 
97
93
  export { vividProgress };
@@ -1,9 +1,9 @@
1
- import { _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
1
+ import { _ as __decorate, a as attr, b as __metadata, h as html, d as designSystem, g as getPrefix } from '../shared/index.js';
2
2
  import { B as BaseProgress } from '../shared/base-progress.js';
3
3
  import { w as when } from '../shared/when.js';
4
4
  import { c as classNames } from '../shared/class-names.js';
5
5
 
6
- var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 13:40:32 GMT\n */\n.base {\n align-items: center;\n block-size: var(--_size);\n color: var(--_appearance-color-text);\n inline-size: var(--_size);\n outline: none;\n}\n.base.connotation-cta {\n --_connotation-color-primary: var(--vvd-color-cta-500);\n}\n.base.connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n}\n.base.connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n}\n.base:not(.connotation-cta, .connotation-alert, .connotation-success) {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base.size--5 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 20));\n}\n.base.size--4 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 16));\n}\n.base.size--3 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 12));\n}\n.base.size--2 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 8));\n}\n.base.size--1 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 4));\n}\n.base.size-1 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 4));\n}\n.base.size-2 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 8));\n}\n.base.size-3 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 12));\n}\n.base.size-4 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 16));\n}\n.base.size-5 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 20));\n}\n.base:not(.size--5, .size--4, .size--3, .size--2, .size--1, .size-1, .size-2, .size-3, .size-4, .size-5) {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n}\n\n.progress {\n width: 100%;\n height: 100%;\n}\n\n.background {\n fill: none;\n stroke: transparent;\n stroke-width: 2px;\n}\n\n.determinate {\n fill: none;\n stroke: currentColor;\n stroke-linecap: round;\n stroke-width: 2px;\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n transition: all 0.2s ease-in-out;\n}\n\n.indeterminate-indicator-1 {\n animation: spin-infinite 2s linear infinite;\n fill: none;\n stroke: currentColor;\n stroke-linecap: round;\n stroke-width: 2px;\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n transition: all 0.2s ease-in-out;\n}\n\n.base.paused .indeterminate-indicator-1 {\n animation-play-state: paused;\n}\n\n@keyframes spin-infinite {\n 0% {\n stroke-dasharray: 0.01px 43.97px;\n transform: rotate(0deg);\n }\n 50% {\n stroke-dasharray: 21.99px 21.99px;\n transform: rotate(450deg);\n }\n 100% {\n stroke-dasharray: 0.01px 43.97px;\n transform: rotate(1080deg);\n }\n}";
6
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 15:37:45 GMT\n */\n.base {\n align-items: center;\n block-size: var(--_size);\n color: var(--_appearance-color-text);\n inline-size: var(--_size);\n outline: none;\n}\n.base.connotation-cta {\n --_connotation-color-primary: var(--vvd-color-cta-500);\n}\n.base.connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n}\n.base.connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n}\n.base:not(.connotation-cta, .connotation-alert, .connotation-success) {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base.size--5 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 20));\n}\n.base.size--4 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 16));\n}\n.base.size--3 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 12));\n}\n.base.size--2 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 8));\n}\n.base.size--1 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) - 4));\n}\n.base.size-1 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 4));\n}\n.base.size-2 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 8));\n}\n.base.size-3 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 12));\n}\n.base.size-4 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 16));\n}\n.base.size-5 {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2) + 20));\n}\n.base:not(.size--5, .size--4, .size--3, .size--2, .size--1, .size-1, .size-2, .size-3, .size-4, .size-5) {\n --_size: calc(1px * (40 + 4 * clamp(-1, var(--vvd-size-density, 0), 2)));\n}\n\n.progress {\n width: 100%;\n height: 100%;\n}\n\n.background {\n fill: none;\n stroke: transparent;\n stroke-width: 2px;\n}\n\n.determinate {\n fill: none;\n stroke: currentColor;\n stroke-linecap: round;\n stroke-width: 2px;\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n transition: all 0.2s ease-in-out;\n}\n\n.indeterminate-indicator-1 {\n animation: spin-infinite 2s linear infinite;\n fill: none;\n stroke: currentColor;\n stroke-linecap: round;\n stroke-width: 2px;\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n transition: all 0.2s ease-in-out;\n}\n\n.base.paused .indeterminate-indicator-1 {\n animation-play-state: paused;\n}\n\n@keyframes spin-infinite {\n 0% {\n stroke-dasharray: 0.01px 43.97px;\n transform: rotate(0deg);\n }\n 50% {\n stroke-dasharray: 21.99px 21.99px;\n transform: rotate(450deg);\n }\n 100% {\n stroke-dasharray: 0.01px 43.97px;\n transform: rotate(1080deg);\n }\n}";
7
7
 
8
8
  class ProgressRing extends BaseProgress {}
9
9
  __decorate([attr, __metadata("design:type", String)], ProgressRing.prototype, "connotation", void 0);
@@ -71,6 +71,6 @@ const vividProgressRing = ProgressRing.compose({
71
71
  template: ProgressRingTemplate,
72
72
  styles: css_248z
73
73
  });
74
- designSystem.register(vividProgressRing());
74
+ designSystem.withPrefix(getPrefix(import.meta.url)).register(vividProgressRing());
75
75
 
76
76
  export { vividProgressRing };
package/radio/index.js CHANGED
@@ -1,14 +1,15 @@
1
- import '../focus/index.js';
2
- import { h as html, d as designSystem } from '../shared/index.js';
1
+ import '../shared/es.promise.resolve.js';
2
+ import { h as html, g as getPrefix, d as designSystem } from '../shared/index.js';
3
+ import { l as loadComponentsModules } from '../shared/index2.js';
3
4
  import { R as Radio } from '../shared/radio.js';
4
- import { f as focusTemplateFactory } from '../shared/focus2.js';
5
+ import { f as focusTemplateFactory } from '../shared/focus.js';
5
6
  import { w as when } from '../shared/when.js';
6
7
  import { c as classNames } from '../shared/class-names.js';
7
- import '../shared/focus.js';
8
8
  import '../shared/form-associated.js';
9
9
  import '../shared/key-codes.js';
10
+ import '../shared/focus2.js';
10
11
 
11
- var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 13:40:32 GMT\n */\n@supports selector(:focus-visible) {\n :host(:focus) {\n outline: none;\n }\n}\n.base {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n gap: 8px;\n}\n.base {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-firm: var(--vvd-color-canvas-text);\n --_connotation-color-faint: var(--vvd-color-neutral-50);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-firm);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-firm);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.base:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-firm);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.base:where(:checked, .checked):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: var(--_connotation-color-primary);\n}\n.base:where(:checked, .checked):where(:hover, .hover) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: var(--_connotation-color-primary);\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base:where(.readonly):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base.disabled {\n cursor: not-allowed;\n}\n\n.control {\n position: relative;\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n background-color: var(--_appearance-color-fill);\n border-radius: 50%;\n box-shadow: inset 0 0 0 2px var(--_appearance-color-outline);\n}\n.control::after {\n position: absolute;\n background-color: var(--_appearance-color-text);\n border-radius: inherit;\n content: \"\";\n inset: 5px;\n}\n.base:not(.checked) .control::after {\n display: none;\n}\n\nlabel {\n color: var(--vvd-color-canvas-text);\n cursor: pointer;\n font: var(--vvd-typography-base);\n}\n\n.focus-indicator {\n --focus-inset: -3px;\n --focus-stroke-gap-color: transparent;\n border-radius: 50%;\n}\n:host(:not(:focus-visible)) .focus-indicator {\n display: none;\n}";
12
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 15:37:45 GMT\n */\n@supports selector(:focus-visible) {\n :host(:focus) {\n outline: none;\n }\n}\n.base {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n gap: 8px;\n}\n.base {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-firm: var(--vvd-color-canvas-text);\n --_connotation-color-faint: var(--vvd-color-neutral-50);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-firm);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled, .readonly)) {\n --_appearance-color-text: var(--_connotation-color-firm);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.base:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-firm);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: var(--_connotation-color-firm);\n}\n.base:where(:checked, .checked):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: var(--_connotation-color-primary);\n}\n.base:where(:checked, .checked):where(:hover, .hover) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: var(--_connotation-color-primary);\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base:where(.readonly):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base.disabled {\n cursor: not-allowed;\n}\n\n.control {\n position: relative;\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n background-color: var(--_appearance-color-fill);\n border-radius: 50%;\n box-shadow: inset 0 0 0 2px var(--_appearance-color-outline);\n}\n.control::after {\n position: absolute;\n background-color: var(--_appearance-color-text);\n border-radius: inherit;\n content: \"\";\n inset: 5px;\n}\n.base:not(.checked) .control::after {\n display: none;\n}\n\nlabel {\n color: var(--vvd-color-canvas-text);\n cursor: pointer;\n font: var(--vvd-typography-base);\n}\n\n.focus-indicator {\n --focus-inset: -3px;\n --focus-stroke-gap-color: transparent;\n border-radius: 50%;\n}\n:host(:not(:focus-visible)) .focus-indicator {\n display: none;\n}";
12
13
 
13
14
  let _ = t => t,
14
15
  _t,
@@ -37,11 +38,15 @@ const RadioTemplate = context => {
37
38
  `), getClasses, x => x.checked, x => x.required, x => x.disabled, (x, c) => x.keypressHandler(c.event), (x, c) => x.clickHandler(c.event), () => focusTemplate, when(x => x.label, html(_t2 || (_t2 = _`<label class="label">${0}</label>`), x => x.label)));
38
39
  };
39
40
 
41
+ const prefix = getPrefix(import.meta.url);
40
42
  const vividRadio = Radio.compose({
41
43
  baseName: 'radio',
42
44
  template: RadioTemplate,
43
45
  styles: css_248z
44
46
  });
45
- designSystem.register(vividRadio());
47
+ (async () => {
48
+ await loadComponentsModules(['focus'], prefix);
49
+ designSystem.withPrefix(prefix).register(vividRadio());
50
+ })();
46
51
 
47
52
  export { vividRadio };
@@ -1,4 +1,4 @@
1
- import { F as FoundationElement, _ as __decorate, a as attr, o as observable, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
1
+ import { F as FoundationElement, _ as __decorate, a as attr, V as observable, b as __metadata, h as html, d as designSystem, g as getPrefix } from '../shared/index.js';
2
2
  import { D as Direction, g as getDirection } from '../shared/direction.js';
3
3
  import { i as keyArrowRight, h as keyArrowLeft, A as ArrowKeys, e as keyArrowUp, f as keyArrowDown, k as keyEnter } from '../shared/key-codes.js';
4
4
  import { O as Orientation } from '../shared/aria.js';
@@ -393,7 +393,7 @@ __decorate([
393
393
  observable
394
394
  ], RadioGroup$1.prototype, "slottedRadioButtons", void 0);
395
395
 
396
- var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 13:40:32 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}";
396
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Sun, 04 Dec 2022 15:37:45 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}";
397
397
 
398
398
  class RadioGroup extends RadioGroup$1 {}
399
399
  __decorate([attr, __metadata("design:type", String)], RadioGroup.prototype, "label", void 0);
@@ -430,6 +430,6 @@ const vividRadioGroup = RadioGroup.compose({
430
430
  template: RadioGroupTemplate,
431
431
  styles: css_248z
432
432
  });
433
- designSystem.register(vividRadioGroup());
433
+ designSystem.withPrefix(getPrefix(import.meta.url)).register(vividRadioGroup());
434
434
 
435
435
  export { vividRadioGroup };
package/shared/affix.js CHANGED
@@ -1,4 +1,3 @@
1
- import './web.dom-collections.iterator.js';
2
1
  import { _ as __decorate, a as attr, b as __metadata, h as html } from './index.js';
3
2
  import { I as Icon } from './icon.js';
4
3
 
package/shared/anchor.js CHANGED
@@ -1,4 +1,4 @@
1
- import { F as FoundationElement, _ as __decorate, a as attr, o as observable } from './index.js';
1
+ import { F as FoundationElement, _ as __decorate, a as attr, V as observable } from './index.js';
2
2
  import { a as applyMixins } from './apply-mixins.js';
3
3
  import { A as ARIAGlobalStatesAndProperties } from './aria-global.js';
4
4
  import { S as StartEnd } from './start-end.js';
@@ -1,4 +1,4 @@
1
- import { A as AttributeConfiguration } from './index.js';
1
+ import { T as AttributeConfiguration } from './index.js';
2
2
 
3
3
  /**
4
4
  * Apply mixins to a constructor.
@@ -1,4 +1,4 @@
1
- import { F as FoundationElement, _ as __decorate, a as attr, n as nullableNumberConverter, o as observable } from './index.js';
1
+ import { F as FoundationElement, _ as __decorate, a as attr, a6 as nullableNumberConverter, V as observable } from './index.js';
2
2
 
3
3
  /**
4
4
  * An Progress HTML Element.
@@ -1,4 +1,4 @@
1
- import { _ as __decorate, o as observable } from './index.js';
1
+ import { _ as __decorate, V as observable } from './index.js';
2
2
  import { A as Anchor, D as DelegatesARIALink } from './anchor.js';
3
3
  import { a as applyMixins } from './apply-mixins.js';
4
4
  import { S as StartEnd } from './start-end.js';