@vonage/vivid 5.8.0 → 5.10.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 (158) hide show
  1. package/bundled/affix.js +1 -1
  2. package/bundled/anchored.cjs +1 -1
  3. package/bundled/anchored.js +6 -6
  4. package/bundled/data-grid.options.cjs +1 -0
  5. package/bundled/data-grid.options.js +29 -0
  6. package/bundled/definition10.js +4 -4
  7. package/bundled/definition2.cjs +1 -1
  8. package/bundled/definition2.js +1 -1
  9. package/bundled/definition3.cjs +1 -1
  10. package/bundled/definition3.js +1 -1
  11. package/bundled/definition7.js +3 -3
  12. package/bundled/definition9.cjs +9 -9
  13. package/bundled/definition9.js +113 -1342
  14. package/bundled/floating-ui.dom.cjs +1 -0
  15. package/bundled/floating-ui.dom.js +1242 -0
  16. package/bundled/host-semantics.js +4 -4
  17. package/bundled/localized.cjs +1 -1
  18. package/bundled/localized.js +21 -16
  19. package/bundled/mixins.cjs +2 -2
  20. package/bundled/mixins.js +6 -6
  21. package/bundled/slottable-request.cjs +4 -0
  22. package/bundled/slottable-request.js +2907 -0
  23. package/bundled/vivid-element.cjs +3 -3
  24. package/bundled/vivid-element.js +89 -69
  25. package/card/definition.cjs +1 -1
  26. package/card/definition.js +1 -1
  27. package/card/index.cjs +10 -10
  28. package/card/index.js +42 -42
  29. package/combobox/definition.cjs +14 -15
  30. package/combobox/definition.js +15 -16
  31. package/combobox/index.cjs +4 -4
  32. package/combobox/index.js +82 -87
  33. package/country/definition.cjs +340 -0
  34. package/country/definition.js +334 -0
  35. package/country/index.cjs +12 -0
  36. package/country/index.js +317 -0
  37. package/custom-elements.json +4835 -613
  38. package/data-grid/definition.cjs +23 -49
  39. package/data-grid/definition.js +1 -27
  40. package/data-grid/index.cjs +27 -27
  41. package/data-grid/index.js +44 -64
  42. package/file-picker/definition.cjs +10 -8
  43. package/file-picker/definition.js +10 -8
  44. package/file-picker/index.cjs +5 -5
  45. package/file-picker/index.js +12 -12
  46. package/icon/definition.cjs +1 -1
  47. package/icon/definition.js +1 -1
  48. package/index.cjs +38 -4
  49. package/index.js +7 -2
  50. package/lib/components.d.ts +6 -1
  51. package/lib/country/countries-data.d.ts +6 -0
  52. package/lib/country/country-code-to-flag-icon.d.ts +5 -0
  53. package/lib/country/country.d.ts +5 -0
  54. package/lib/country/country.template.d.ts +3 -0
  55. package/lib/country/definition.d.ts +3 -0
  56. package/lib/popover/definition.d.ts +4 -0
  57. package/lib/popover/locale.d.ts +3 -0
  58. package/lib/popover/popover.d.ts +781 -0
  59. package/lib/popover/popover.template.d.ts +3 -0
  60. package/lib/rich-text-editor/locale.d.ts +2 -0
  61. package/lib/rich-text-editor/popover.d.ts +1 -0
  62. package/lib/rich-text-editor/rte/config.d.ts +5 -1
  63. package/lib/rich-text-editor/rte/document.d.ts +2 -0
  64. package/lib/rich-text-editor/rte/exports.d.ts +5 -0
  65. package/lib/rich-text-editor/rte/feature.d.ts +7 -1
  66. package/lib/rich-text-editor/rte/features/internal/basic-text-blocks.d.ts +1 -1
  67. package/lib/rich-text-editor/rte/features/internal/foreign-html.d.ts +1 -1
  68. package/lib/rich-text-editor/rte/features/internal/history.d.ts +1 -1
  69. package/lib/rich-text-editor/rte/features/internal/input-rules.d.ts +15 -0
  70. package/lib/rich-text-editor/rte/instance.d.ts +4 -2
  71. package/lib/rich-text-editor/rte/utils/feature-state.d.ts +8 -0
  72. package/lib/rich-text-editor/rte/utils/text-before-cursor.d.ts +2 -0
  73. package/lib/rich-text-editor/rte/utils/ui.d.ts +2 -0
  74. package/lib/rich-text-editor/rte/view.d.ts +30 -0
  75. package/lib/rich-text-view/definition.d.ts +5 -0
  76. package/lib/rich-text-view/rich-text-view.d.ts +19 -0
  77. package/lib/rich-text-view/rich-text-view.template.d.ts +3 -0
  78. package/lib/selectable-box/selectable-box.d.ts +1 -0
  79. package/lib/status/definition.d.ts +4 -0
  80. package/lib/status/status.d.ts +388 -0
  81. package/lib/status/status.template.d.ts +3 -0
  82. package/lib/table/definition.d.ts +8 -0
  83. package/lib/table/table-body.d.ts +3 -0
  84. package/lib/table/table-body.template.d.ts +3 -0
  85. package/lib/table/table-cell.d.ts +381 -0
  86. package/lib/table/table-cell.template.d.ts +3 -0
  87. package/lib/table/table-head.d.ts +3 -0
  88. package/lib/table/table-head.template.d.ts +3 -0
  89. package/lib/table/table-header-cell.d.ts +381 -0
  90. package/lib/table/table-header-cell.template.d.ts +3 -0
  91. package/lib/table/table-row.d.ts +381 -0
  92. package/lib/table/table-row.template.d.ts +3 -0
  93. package/lib/table/table.d.ts +3 -0
  94. package/lib/table/table.template.d.ts +3 -0
  95. package/lib/tag/tag.d.ts +1 -1
  96. package/lib/tag-name-map.d.ts +11 -1
  97. package/locales/de-DE.cjs +6 -1
  98. package/locales/de-DE.js +6 -1
  99. package/locales/en-GB.cjs +6 -1
  100. package/locales/en-GB.js +6 -1
  101. package/locales/en-US.cjs +6 -1
  102. package/locales/en-US.js +6 -1
  103. package/locales/ja-JP.cjs +6 -1
  104. package/locales/ja-JP.js +6 -1
  105. package/locales/zh-CN.cjs +6 -1
  106. package/locales/zh-CN.js +6 -1
  107. package/package.json +10 -9
  108. package/popover/definition.cjs +363 -0
  109. package/popover/definition.js +357 -0
  110. package/popover/index.cjs +27 -0
  111. package/popover/index.js +263 -0
  112. package/rich-text-editor/definition.cjs +12125 -14657
  113. package/rich-text-editor/definition.js +8876 -11412
  114. package/rich-text-editor/index.cjs +20 -22
  115. package/rich-text-editor/index.js +5046 -7096
  116. package/rich-text-view/definition.cjs +171 -0
  117. package/rich-text-view/definition.js +165 -0
  118. package/rich-text-view/index.cjs +1 -0
  119. package/rich-text-view/index.js +103 -0
  120. package/selectable-box/definition.cjs +16 -5
  121. package/selectable-box/definition.js +16 -5
  122. package/selectable-box/index.cjs +11 -9
  123. package/selectable-box/index.js +86 -78
  124. package/shared/localization/Locale.d.ts +2 -0
  125. package/shared/utils/slottable-request.d.ts +7 -0
  126. package/status/definition.cjs +76 -0
  127. package/status/definition.js +70 -0
  128. package/status/index.cjs +11 -0
  129. package/status/index.js +55 -0
  130. package/styles/core/all.css +2 -2
  131. package/styles/core/theme.css +2 -2
  132. package/styles/core/typography.css +1 -1
  133. package/styles/tokens/theme-dark.css +4 -4
  134. package/styles/tokens/theme-light.css +4 -4
  135. package/styles/tokens/vivid-2-compat.css +1 -1
  136. package/table/definition.cjs +168 -0
  137. package/table/definition.js +152 -0
  138. package/table/index.cjs +37 -0
  139. package/table/index.js +107 -0
  140. package/tag/definition.cjs +1 -1
  141. package/tag/definition.js +1 -1
  142. package/tag/index.cjs +24 -24
  143. package/tag/index.js +89 -89
  144. package/unbundled/_commonjsHelpers.cjs +26 -0
  145. package/unbundled/_commonjsHelpers.js +26 -1
  146. package/unbundled/data-grid.options.cjs +34 -0
  147. package/unbundled/data-grid.options.js +28 -0
  148. package/unbundled/definition.cjs +1 -1
  149. package/unbundled/definition.js +1 -1
  150. package/unbundled/slottable-request.cjs +3702 -0
  151. package/unbundled/slottable-request.js +3684 -0
  152. package/unbundled/vivid-element.cjs +1 -1
  153. package/unbundled/vivid-element.js +1 -1
  154. package/video-player/definition.cjs +11 -1
  155. package/video-player/definition.js +12 -2
  156. package/video-player/index.cjs +30 -30
  157. package/video-player/index.js +705 -702
  158. package/vivid.api.json +1957 -143
package/combobox/index.js CHANGED
@@ -1,44 +1,44 @@
1
1
  import { i as y } from "../bundled/definition2.js";
2
- import { P as k, p as $ } from "../bundled/definition9.js";
3
- import { l as I } from "../bundled/definition12.js";
2
+ import { P as k, p as I } from "../bundled/definition9.js";
3
+ import { l as $ } from "../bundled/definition12.js";
4
4
  import { s as C } from "../bundled/text-field.js";
5
- import { U as O, O as S, a as l, o as v, h as u, c as A, d as V } from "../bundled/vivid-element.js";
6
- import { W as H, f as D } from "../bundled/mixins.js";
5
+ import { O as S, a as l, o as v, h as u, c as O, d as A } from "../bundled/vivid-element.js";
6
+ import { W as V, f as H } from "../bundled/mixins.js";
7
7
  import { L as b } from "../bundled/listbox.js";
8
- import { F as T } from "../bundled/form-associated.js";
9
- import { W as F } from "../bundled/with-contextual-help.js";
10
- import { W as B } from "../bundled/with-error-text.js";
11
- import { W as L } from "../bundled/with-success-text.js";
12
- import { F as E } from "../bundled/form-element.js";
13
- import { b as W, a as R, I as P } from "../bundled/affix.js";
14
- import { u as z } from "../bundled/strings.js";
15
- import { l as q } from "../bundled/numbers.js";
16
- import { h as K } from "../bundled/index.js";
17
- import { c as M } from "../bundled/definition3.js";
8
+ import { F as D } from "../bundled/form-associated.js";
9
+ import { W as T } from "../bundled/with-contextual-help.js";
10
+ import { W as F } from "../bundled/with-error-text.js";
11
+ import { W as B } from "../bundled/with-success-text.js";
12
+ import { F as L } from "../bundled/form-element.js";
13
+ import { b as E, a as W, I as R } from "../bundled/affix.js";
14
+ import { u as P } from "../bundled/strings.js";
15
+ import { l as z } from "../bundled/numbers.js";
16
+ import { h as q } from "../bundled/index.js";
17
+ import { c as N } from "../bundled/definition3.js";
18
18
  import { r as d } from "../bundled/ref.js";
19
19
  import { s as h } from "../bundled/slotted.js";
20
- import { w as U } from "../bundled/when.js";
21
- import { c as N } from "../bundled/class-names.js";
20
+ import { w as K } from "../bundled/when.js";
21
+ import { c as M } from "../bundled/class-names.js";
22
22
  const j = '.label-wrapper{display:flex;flex-direction:row;align-items:center;gap:var(--label-wrapper-gap, 4px)}.label-wrapper[hidden]{display:none}.label:not(slot),.label::slotted(label){flex:0 1 auto}.chevron{display:flex;flex-shrink:0;font:var(--vvd-typography-base-extended);transform:rotate(0);transition:transform .2s}:host([data-expanded=true]) .chevron,:host([open]) .chevron{transform:rotate(180deg)}:not(.disabled) .chevron{cursor:pointer}.disabled .chevron{color:var(--_low-ink-color);cursor:not-allowed}:host{position:relative;display:inline-flex;flex-direction:column;gap:4px;--_low-ink-color: var(--vvd-color-neutral-600)}:host([disabled]){--_low-ink-color: var(--vvd-color-neutral-400);cursor:not-allowed}.base{--_text-field-gutter-end: 8px}.base{--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-500)}.base.appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.base:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-700)}.base:hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.base.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-canvas);--_appearance-color-outline: var(--vvd-color-neutral-700)}.base.hover:where(:not(.disabled,:disabled,.readonly)).appearance-ghost{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.base:disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.base:disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.disabled{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-100);--_appearance-color-outline: var(--vvd-color-neutral-300)}.base.disabled.appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.readonly:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--vvd-color-canvas-text);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: var(--vvd-color-neutral-400)}.base.readonly:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: var(--vvd-color-neutral-600);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.base.error:where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: var(--vvd-color-alert-500)}.base.error:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-alert-50);--_appearance-color-outline: transparent}.base.success:where(:not(.disabled,:disabled)){--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: var(--vvd-color-success-500)}.base.success:where(:not(.disabled,:disabled)).appearance-ghost{--_appearance-color-text: notSet;--_appearance-color-fill: var(--vvd-color-success-50);--_appearance-color-outline: transparent}.base:not(.shape-pill) .base{border-radius:var(--_text-field-border-radius)}.base.shape-pill .base{border-radius:var(--_text-field-pill-border-radius)}.base slot[name=icon]{position:absolute;z-index:1;display:inline-block;color:var(--_low-ink-color);font-size:var(--_text-field-icon-size);inset-block-start:50%;inset-inline-start:var(--_text-field-gutter-start);line-height:1;pointer-events:none;transform:translateY(-50%)}.base.has-meta{padding-inline-end:16px}.control{text-overflow:ellipsis;white-space:nowrap}.fieldset .leading-items-wrapper{position:relative;display:flex;flex-shrink:0;align-items:center;gap:8px;padding-inline-end:16px}.listbox{display:flex;max-height:var(--combobox-height, 408px);flex-direction:column;padding:4px;border-radius:8px;contain:paint;gap:2px;overflow-y:auto}::part(popup-base){inline-size:max-content;min-inline-size:var(--_combobox-fixed-width, 100%)}@supports selector(:has(*)){.base:not(.has-activedescendant) .fieldset:has(.control:focus-within):after{--focus-stroke-gap-color: transparent;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px))}}@supports not selector(:has(*)){.base:not(.has-activedescendant) .fieldset:focus-within:after{box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent;position:absolute;z-index:1;display:block;border-radius:inherit;content:"";inset:0;pointer-events:none}}::slotted([data-vvd-component=option][current-selected]){border-radius:8px;box-shadow:0 0 0 4px color-mix(in srgb,var(--focus-stroke-color, var(--vvd-color-cta-500)),transparent 85%),inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:1px solid var(--focus-stroke-color, var(--vvd-color-cta-500));outline-offset:calc(-1px - var(--focus-inset, 0px));--focus-stroke-gap-color: transparent}', p = {
23
23
  inline: "inline",
24
24
  list: "list",
25
25
  both: "both",
26
26
  none: "none"
27
27
  };
28
- var Y = Object.defineProperty, i = (a, t, e, o) => {
29
- for (var r = void 0, n = a.length - 1, c; n >= 0; n--)
30
- (c = a[n]) && (r = c(t, e, r) || r);
31
- return r && Y(t, e, r), r;
28
+ var U = Object.defineProperty, n = (a, t, e, o) => {
29
+ for (var r = void 0, s = a.length - 1, c; s >= 0; s--)
30
+ (c = a[s]) && (r = c(t, e, r) || r);
31
+ return r && U(t, e, r), r;
32
32
  };
33
- class s extends F(
34
- H(
35
- B(
36
- L(E(W(T(b))))
33
+ class i extends T(
34
+ V(
35
+ F(
36
+ B(L(E(D(b))))
37
37
  )
38
38
  )
39
39
  ) {
40
40
  constructor() {
41
- super(...arguments), this.filteredOptions = [], this.filter = "", this.fixedDropdown = !1, this.listboxId = z("listbox-"), this.maxHeight = 0, this.open = !1, this.proxy = document.createElement("input");
41
+ super(...arguments), this.filteredOptions = [], this.filter = "", this.fixedDropdown = !1, this.listboxId = P("listbox-"), this.maxHeight = 0, this.open = !1, this.proxy = document.createElement("input");
42
42
  }
43
43
  /**
44
44
  * @internal
@@ -60,18 +60,10 @@ class s extends F(
60
60
  return this.autocomplete === p.both;
61
61
  }
62
62
  /**
63
- * Sets focus when the open property changes.
64
- *
65
- * @param prev - the previous open value
66
- * @param next - the current open value
67
- *
68
63
  * @internal
69
64
  */
70
65
  openChanged() {
71
- if (this.open) {
72
- this.focusAndScrollOptionIntoView(), O.enqueue(() => this.control.focus());
73
- return;
74
- }
66
+ this.open && this.enqueueScrollSelectedOptionIntoViewIfNeeded();
75
67
  }
76
68
  /**
77
69
  * The list of options.
@@ -101,8 +93,8 @@ class s extends F(
101
93
  if (this.$fastController.isConnected && this.options) {
102
94
  const o = this.options.findIndex(
103
95
  (c) => c.text.toLowerCase() === e.toLowerCase()
104
- ), r = this.options[this.selectedIndex]?.text, n = this.options[o]?.text;
105
- this.selectedIndex = r !== n ? o : this.selectedIndex;
96
+ ), r = this.options[this.selectedIndex]?.text, s = this.options[o]?.text;
97
+ this.selectedIndex = r !== s ? o : this.selectedIndex;
106
98
  }
107
99
  super.valueChanged(t, e);
108
100
  }
@@ -157,14 +149,17 @@ class s extends F(
157
149
  * Overrides: `Listbox.focusAndScrollOptionIntoView`
158
150
  */
159
151
  focusAndScrollOptionIntoView() {
160
- if (this.contains(document.activeElement)) {
161
- this.control.focus();
162
- const t = this.firstSelectedOption;
163
- /* v8 ignore else -- @preserve */
164
- t && requestAnimationFrame(() => {
165
- t.scrollIntoView({ block: "nearest" });
166
- });
167
- }
152
+ this.contains(document.activeElement) && (this.control.focus(), this.enqueueScrollSelectedOptionIntoViewIfNeeded());
153
+ }
154
+ /**
155
+ * @internal
156
+ */
157
+ enqueueScrollSelectedOptionIntoViewIfNeeded() {
158
+ const t = this.firstSelectedOption;
159
+ /* v8 ignore else -- @preserve */
160
+ t && requestAnimationFrame(() => {
161
+ t.scrollIntoView({ block: "nearest" });
162
+ });
168
163
  }
169
164
  /**
170
165
  * Handle focus state when the element or its children lose focus.
@@ -249,7 +244,7 @@ class s extends F(
249
244
  */
250
245
  selectedIndexChanged(t, e) {
251
246
  if (this.$fastController.isConnected) {
252
- if (e = q(-1, this.options.length - 1, e), e !== this.selectedIndex) {
247
+ if (e = z(-1, this.options.length - 1, e), e !== this.selectedIndex) {
253
248
  this.selectedIndex = e;
254
249
  return;
255
250
  }
@@ -347,43 +342,43 @@ class s extends F(
347
342
  this.control.setSelectionRange(t, t);
348
343
  }
349
344
  }
350
- i([
345
+ n([
351
346
  l({ attribute: "autocomplete", mode: "fromView" })
352
- ], s.prototype, "autocomplete");
353
- i([
347
+ ], i.prototype, "autocomplete");
348
+ n([
354
349
  l
355
- ], s.prototype, "appearance");
356
- i([
350
+ ], i.prototype, "appearance");
351
+ n([
357
352
  l
358
- ], s.prototype, "shape");
359
- i([
353
+ ], i.prototype, "shape");
354
+ n([
360
355
  l()
361
- ], s.prototype, "scale");
362
- i([
356
+ ], i.prototype, "scale");
357
+ n([
363
358
  l
364
- ], s.prototype, "placement");
365
- i([
359
+ ], i.prototype, "placement");
360
+ n([
366
361
  l({ mode: "boolean", attribute: "fixed-dropdown" })
367
- ], s.prototype, "fixedDropdown");
368
- i([
362
+ ], i.prototype, "fixedDropdown");
363
+ n([
369
364
  v
370
- ], s.prototype, "metaSlottedContent");
371
- i([
365
+ ], i.prototype, "metaSlottedContent");
366
+ n([
372
367
  v
373
- ], s.prototype, "maxHeight");
374
- i([
368
+ ], i.prototype, "maxHeight");
369
+ n([
375
370
  l({ attribute: "open", mode: "boolean" })
376
- ], s.prototype, "open");
377
- i([
371
+ ], i.prototype, "open");
372
+ n([
378
373
  l
379
- ], s.prototype, "placeholder");
380
- const G = ({
374
+ ], i.prototype, "placeholder");
375
+ const Y = ({
381
376
  icon: a,
382
377
  iconSlottedContent: t,
383
378
  metaSlottedContent: e,
384
379
  errorValidationMessage: o,
385
380
  successText: r,
386
- shape: n,
381
+ shape: s,
387
382
  scale: c,
388
383
  disabled: x,
389
384
  placeholder: m,
@@ -391,10 +386,10 @@ const G = ({
391
386
  appearance: f,
392
387
  open: g,
393
388
  _activeDescendant: w
394
- }) => N(
389
+ }) => M(
395
390
  "base",
396
391
  ["disabled", x],
397
- [`shape-${n}`, !!n],
392
+ [`shape-${s}`, !!s],
398
393
  [`size-${c}`, !!c],
399
394
  ["placeholder", !!m],
400
395
  [`appearance-${f}`, !!f],
@@ -405,31 +400,31 @@ const G = ({
405
400
  ["error", !!o],
406
401
  ["success", !!r]
407
402
  );
408
- function J() {
403
+ function G() {
409
404
  return u` <label for="control" class="label">
410
405
  ${(a) => a.label}
411
406
  </label>`;
412
407
  }
413
- function Q(a) {
408
+ function J(a) {
414
409
  return a.open && a.fixedDropdown ? `--_combobox-fixed-width: ${Math.round(
415
410
  a.getBoundingClientRect().width
416
411
  )}px` : null;
417
412
  }
418
- function X(a) {
419
- const t = R(a), e = M(a);
420
- return u` <div class="${G}" ${d("_anchor")}>
413
+ function Q(a) {
414
+ const t = W(a), e = N(a);
415
+ return u` <div class="${Y}" ${d("_anchor")}>
421
416
  <div
422
417
  class="label-wrapper"
423
418
  ?hidden=${(o) => !o.label && !o._hasContextualHelp}
424
419
  >
425
- ${U((o) => o.label, J())}
420
+ ${K((o) => o.label, G())}
426
421
  <slot
427
422
  name="contextual-help"
428
423
  ${h("_contextualHelpSlottedContent")}
429
424
  ></slot>
430
425
  </div>
431
426
  <div class="fieldset">
432
- ${(o) => t(o.icon, P.Slot)}
427
+ ${(o) => t(o.icon, R.Slot)}
433
428
  <div class="wrapper">
434
429
  <input
435
430
  id="control"
@@ -461,19 +456,19 @@ function X(a) {
461
456
  </div>
462
457
  </div>`;
463
458
  }
464
- const Z = (a) => {
459
+ const X = (a) => {
465
460
  const t = a.tagFor(k);
466
461
  return u`
467
462
  <template
468
463
  tabindex="${(e) => e.disabled ? null : "0"}"
469
464
  @click="${(e, o) => e.clickHandler(o.event)}"
470
465
  @focusout="${(e, o) => e.focusoutHandler(o.event)}"
471
- @keydown="${(e, { event: o }) => (e.open && K(o), e.keydownHandler(o))}"
466
+ @keydown="${(e, { event: o }) => (e.open && q(o), e.keydownHandler(o))}"
472
467
  >
473
468
  <div class="control-wrapper">
474
- ${() => X(a)}
469
+ ${() => Q(a)}
475
470
  <${t} class="popup"
476
- style="${Q}"
471
+ style="${J}"
477
472
  ?open="${(e) => e.open}"
478
473
  placement="${(e) => e.placement ?? "bottom-start"}"
479
474
  strategy="${(e) => e.fixedDropdown ? "fixed" : "absolute"}"
@@ -497,15 +492,15 @@ const Z = (a) => {
497
492
  </div>
498
493
  </template>
499
494
  `;
500
- }, ee = V(
495
+ }, Z = A(
501
496
  "combobox",
502
- s,
503
- Z,
497
+ i,
498
+ X,
504
499
  [
505
500
  y,
506
- $,
507
501
  I,
508
- D
502
+ $,
503
+ H
509
504
  ],
510
505
  {
511
506
  styles: [C, j],
@@ -513,5 +508,5 @@ const Z = (a) => {
513
508
  delegatesFocus: !0
514
509
  }
515
510
  }
516
- ), te = A(ee);
517
- te();
511
+ ), ee = O(Z);
512
+ ee();
@@ -0,0 +1,340 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
+
5
+ const vividElement = require('../unbundled/vivid-element.cjs');
6
+ const icon_definition = require('../icon/definition.cjs');
7
+ const fastElement = require('@microsoft/fast-element');
8
+
9
+ const styles = ":host{display:inline-flex}.base{display:inline-flex;align-items:center;column-gap:8px}.icon{display:inline-flex;align-items:center}.icon vwc-icon{flex-shrink:0;block-size:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)));inline-size:auto}.icon ::slotted(*){display:block;border-radius:2px;block-size:calc(1px*(24 + 4*clamp(-1,var(--vvd-size-density, 0),2)));inline-size:auto;object-fit:contain}.text{color:var(--vvd-color-canvas-text);font:var(--vvd-typography-base)}";
10
+
11
+ const countries = [
12
+ { code: "AF", countryCode: "+93", iconFlagName: "flag-afghanistan" },
13
+ { code: "AL", countryCode: "+355", iconFlagName: "flag-albania" },
14
+ { code: "DZ", countryCode: "+213", iconFlagName: "flag-algeria" },
15
+ { code: "AS", countryCode: "+1", iconFlagName: "" },
16
+ { code: "AD", countryCode: "+376", iconFlagName: "" },
17
+ { code: "AO", countryCode: "+244", iconFlagName: "" },
18
+ { code: "AI", countryCode: "+43", iconFlagName: "" },
19
+ { code: "AG", countryCode: "+1", iconFlagName: "" },
20
+ { code: "AR", countryCode: "+54", iconFlagName: "flag-argentina" },
21
+ { code: "AM", countryCode: "+374", iconFlagName: "flag-armenia" },
22
+ { code: "AW", countryCode: "+297", iconFlagName: "flag-aruba" },
23
+ { code: "AU", countryCode: "+61", iconFlagName: "flag-australia" },
24
+ { code: "AT", countryCode: "+43", iconFlagName: "flag-austria" },
25
+ { code: "AZ", countryCode: "+994", iconFlagName: "" },
26
+ { code: "BS", countryCode: "+1", iconFlagName: "flag-bahamas" },
27
+ { code: "BH", countryCode: "+973", iconFlagName: "flag-bahrain" },
28
+ { code: "BD", countryCode: "+880", iconFlagName: "flag-bangladesh" },
29
+ { code: "BB", countryCode: "+1", iconFlagName: "" },
30
+ { code: "BY", countryCode: "+375", iconFlagName: "flag-belarus" },
31
+ { code: "BE", countryCode: "+32", iconFlagName: "flag-belgium" },
32
+ { code: "BZ", countryCode: "+501", iconFlagName: "" },
33
+ { code: "BJ", countryCode: "+229", iconFlagName: "flag-benin" },
34
+ { code: "BM", countryCode: "+1", iconFlagName: "" },
35
+ { code: "BT", countryCode: "+975", iconFlagName: "" },
36
+ { code: "BO", countryCode: "+591", iconFlagName: "flag-bolivia" },
37
+ { code: "BA", countryCode: "+387", iconFlagName: "" },
38
+ { code: "BW", countryCode: "+267", iconFlagName: "flag-botswana" },
39
+ { code: "BR", countryCode: "+55", iconFlagName: "flag-brazil" },
40
+ { code: "IO", countryCode: "+246", iconFlagName: "" },
41
+ { code: "VG", countryCode: "+1", iconFlagName: "" },
42
+ { code: "VI", countryCode: "+1", iconFlagName: "" },
43
+ { code: "BN", countryCode: "+673", iconFlagName: "" },
44
+ { code: "BG", countryCode: "+359", iconFlagName: "flag-bulgaria" },
45
+ { code: "BF", countryCode: "+226", iconFlagName: "flag-burkina-faso" },
46
+ { code: "BI", countryCode: "+257", iconFlagName: "" },
47
+ { code: "KH", countryCode: "+855", iconFlagName: "flag-cambodia" },
48
+ { code: "CM", countryCode: "+237", iconFlagName: "" },
49
+ { code: "CA", countryCode: "+1", iconFlagName: "flag-canada" },
50
+ { code: "CV", countryCode: "+238", iconFlagName: "" },
51
+ { code: "KY", countryCode: "+1", iconFlagName: "flag-cayman-islands" },
52
+ {
53
+ code: "CF",
54
+ countryCode: "+236",
55
+ iconFlagName: "flag-central-african-republic"
56
+ },
57
+ {
58
+ code: "CF",
59
+ countryCode: "+236",
60
+ iconFlagName: "flag-central-african-republic"
61
+ },
62
+ { code: "CL", countryCode: "+56", iconFlagName: "flag-chile" },
63
+ { code: "CN", countryCode: "+86", iconFlagName: "flag-china" },
64
+ { code: "CO", countryCode: "+57", iconFlagName: "flag-colombia" },
65
+ { code: "KM", countryCode: "+269", iconFlagName: "" },
66
+ { code: "CG", countryCode: "+242", iconFlagName: "" },
67
+ { code: "CD", countryCode: "+243", iconFlagName: "" },
68
+ { code: "CK", countryCode: "+682", iconFlagName: "" },
69
+ { code: "CR", countryCode: "+506", iconFlagName: "flag-costa-rica" },
70
+ { code: "HR", countryCode: "+385", iconFlagName: "flag-croatia" },
71
+ { code: "CU", countryCode: "+53", iconFlagName: "" },
72
+ { code: "CU", countryCode: "+53", iconFlagName: "" },
73
+ { code: "CY", countryCode: "+357", iconFlagName: "flag-cyprus" },
74
+ { code: "CZ", countryCode: "+420", iconFlagName: "flag-czech-republic" },
75
+ { code: "DK", countryCode: "+45", iconFlagName: "flag-denmark" },
76
+ { code: "DJ", countryCode: "+253", iconFlagName: "" },
77
+ { code: "DM", countryCode: "+1", iconFlagName: "" },
78
+ { code: "DO", countryCode: "+1", iconFlagName: "flag-dominican-republic" },
79
+ { code: "EC", countryCode: "+593", iconFlagName: "" },
80
+ { code: "EG", countryCode: "+20", iconFlagName: "flag-egypt" },
81
+ { code: "SV", countryCode: "+503", iconFlagName: "flag-el-salvador" },
82
+ { code: "GQ", countryCode: "+240", iconFlagName: "" },
83
+ { code: "ER", countryCode: "+291", iconFlagName: "" },
84
+ { code: "EE", countryCode: "+372", iconFlagName: "flag-estonia" },
85
+ { code: "ET", countryCode: "+251", iconFlagName: "" },
86
+ { code: "FK", countryCode: "+500", iconFlagName: "" },
87
+ { code: "FO", countryCode: "+298", iconFlagName: "" },
88
+ { code: "FJ", countryCode: "+679", iconFlagName: "" },
89
+ { code: "FI", countryCode: "+358", iconFlagName: "flag-finland" },
90
+ { code: "FR", countryCode: "+33", iconFlagName: "flag-france" },
91
+ { code: "GF", countryCode: "+594", iconFlagName: "" },
92
+ { code: "PF", countryCode: "+689", iconFlagName: "" },
93
+ { code: "GA", countryCode: "+241", iconFlagName: "" },
94
+ { code: "GM", countryCode: "+220", iconFlagName: "" },
95
+ { code: "GE", countryCode: "+995", iconFlagName: "flag-georgia" },
96
+ { code: "DE", countryCode: "+49", iconFlagName: "flag-germany" },
97
+ { code: "GH", countryCode: "+233", iconFlagName: "flag-ghana" },
98
+ { code: "GI", countryCode: "+350", iconFlagName: "" },
99
+ { code: "GR", countryCode: "+30", iconFlagName: "flag-greece" },
100
+ { code: "GL", countryCode: "+299", iconFlagName: "" },
101
+ { code: "GD", countryCode: "+1", iconFlagName: "flag-grenada" },
102
+ { code: "GP", countryCode: "+590", iconFlagName: "" },
103
+ { code: "GU", countryCode: "+1", iconFlagName: "" },
104
+ { code: "GT", countryCode: "+502", iconFlagName: "flag-guatemala" },
105
+ { code: "GN", countryCode: "+224", iconFlagName: "" },
106
+ { code: "GW", countryCode: "+245", iconFlagName: "" },
107
+ { code: "GY", countryCode: "+592", iconFlagName: "" },
108
+ { code: "HT", countryCode: "+509", iconFlagName: "" },
109
+ { code: "VA", countryCode: "+39", iconFlagName: "" },
110
+ { code: "HN", countryCode: "+504", iconFlagName: "flag-honduras" },
111
+ { code: "HK", countryCode: "+852", iconFlagName: "flag-hong-kong" },
112
+ { code: "HU", countryCode: "+36", iconFlagName: "flag-hungary" },
113
+ { code: "IS", countryCode: "+354", iconFlagName: "flag-iceland" },
114
+ { code: "IN", countryCode: "+91", iconFlagName: "flag-india" },
115
+ { code: "ID", countryCode: "+62", iconFlagName: "flag-indonesia" },
116
+ { code: "CI", countryCode: "+225", iconFlagName: "" },
117
+ { code: "IR", countryCode: "+98", iconFlagName: "" },
118
+ { code: "IQ", countryCode: "+964", iconFlagName: "" },
119
+ { code: "IE", countryCode: "+353", iconFlagName: "flag-ireland" },
120
+ { code: "IL", countryCode: "+972", iconFlagName: "flag-israel" },
121
+ { code: "IT", countryCode: "+39", iconFlagName: "flag-italy" },
122
+ { code: "JM", countryCode: "+1", iconFlagName: "flag-jamaica" },
123
+ { code: "JP", countryCode: "+81", iconFlagName: "flag-japan" },
124
+ { code: "JO", countryCode: "+962", iconFlagName: "" },
125
+ { code: "KZ", countryCode: "+7", iconFlagName: "" },
126
+ { code: "KE", countryCode: "+254", iconFlagName: "" },
127
+ { code: "KI", countryCode: "+686", iconFlagName: "" },
128
+ { code: "KW", countryCode: "+965", iconFlagName: "" },
129
+ { code: "KG", countryCode: "+996", iconFlagName: "" },
130
+ { code: "LA", countryCode: "+856", iconFlagName: "" },
131
+ { code: "LV", countryCode: "+371", iconFlagName: "flag-latvia" },
132
+ { code: "LB", countryCode: "+961", iconFlagName: "" },
133
+ { code: "LS", countryCode: "+266", iconFlagName: "" },
134
+ { code: "LR", countryCode: "+231", iconFlagName: "" },
135
+ { code: "LY", countryCode: "+218", iconFlagName: "" },
136
+ { code: "LI", countryCode: "+423", iconFlagName: "flag-liechtenstein" },
137
+ { code: "LT", countryCode: "+370", iconFlagName: "flag-lithuania" },
138
+ { code: "LU", countryCode: "+352", iconFlagName: "flag-luxembourg" },
139
+ { code: "MO", countryCode: "+853", iconFlagName: "flag-macao" },
140
+ { code: "MK", countryCode: "+389", iconFlagName: "" },
141
+ { code: "MG", countryCode: "+261", iconFlagName: "" },
142
+ { code: "MW", countryCode: "+265", iconFlagName: "" },
143
+ { code: "MY", countryCode: "+60", iconFlagName: "flag-malaysia" },
144
+ { code: "MV", countryCode: "+960", iconFlagName: "" },
145
+ { code: "ML", countryCode: "+223", iconFlagName: "" },
146
+ { code: "MT", countryCode: "+356", iconFlagName: "flag-malta" },
147
+ { code: "MH", countryCode: "+692", iconFlagName: "" },
148
+ { code: "MQ", countryCode: "+596", iconFlagName: "" },
149
+ { code: "MR", countryCode: "+222", iconFlagName: "" },
150
+ { code: "MU", countryCode: "+230", iconFlagName: "flag-mauritius" },
151
+ { code: "YT", countryCode: "+262", iconFlagName: "" },
152
+ { code: "MX", countryCode: "+52", iconFlagName: "flag-mexico" },
153
+ { code: "FM", countryCode: "+691", iconFlagName: "" },
154
+ { code: "MD", countryCode: "+373", iconFlagName: "flag-moldova" },
155
+ { code: "MC", countryCode: "+377", iconFlagName: "" },
156
+ { code: "MN", countryCode: "+976", iconFlagName: "" },
157
+ { code: "ME", countryCode: "+382", iconFlagName: "" },
158
+ { code: "MS", countryCode: "+1", iconFlagName: "" },
159
+ { code: "MA", countryCode: "+212", iconFlagName: "" },
160
+ { code: "MZ", countryCode: "+258", iconFlagName: "" },
161
+ { code: "MM", countryCode: "+95", iconFlagName: "" },
162
+ { code: "NA", countryCode: "+264", iconFlagName: "" },
163
+ { code: "NR", countryCode: "+674", iconFlagName: "" },
164
+ { code: "NP", countryCode: "+977", iconFlagName: "" },
165
+ { code: "NL", countryCode: "+31", iconFlagName: "flag-netherlands" },
166
+ { code: "NC", countryCode: "+687", iconFlagName: "" },
167
+ { code: "NZ", countryCode: "+64", iconFlagName: "flag-new-zealand" },
168
+ { code: "NI", countryCode: "+505", iconFlagName: "" },
169
+ { code: "NE", countryCode: "+227", iconFlagName: "" },
170
+ { code: "NG", countryCode: "+234", iconFlagName: "flag-nigeria" },
171
+ { code: "NU", countryCode: "+683", iconFlagName: "" },
172
+ { code: "NF", countryCode: "+672", iconFlagName: "" },
173
+ { code: "KP", countryCode: "+850", iconFlagName: "" },
174
+ { code: "MP", countryCode: "+1", iconFlagName: "" },
175
+ { code: "NO", countryCode: "+47", iconFlagName: "flag-norway" },
176
+ { code: "OM", countryCode: "+968", iconFlagName: "" },
177
+ { code: "PK", countryCode: "+92", iconFlagName: "flag-pakistan" },
178
+ { code: "PW", countryCode: "+680", iconFlagName: "" },
179
+ { code: "PS", countryCode: "+970", iconFlagName: "" },
180
+ { code: "PA", countryCode: "+507", iconFlagName: "flag-panama" },
181
+ { code: "PG", countryCode: "+675", iconFlagName: "" },
182
+ { code: "PY", countryCode: "+595", iconFlagName: "" },
183
+ { code: "PE", countryCode: "+51", iconFlagName: "flag-peru" },
184
+ { code: "PH", countryCode: "+63", iconFlagName: "flag-philippines" },
185
+ { code: "PL", countryCode: "+48", iconFlagName: "flag-poland" },
186
+ { code: "PT", countryCode: "+351", iconFlagName: "flag-portugal" },
187
+ { code: "PR", countryCode: "+1", iconFlagName: "flag-puertorico" },
188
+ { code: "QA", countryCode: "+974", iconFlagName: "" },
189
+ { code: "XK", countryCode: "+381", iconFlagName: "" },
190
+ { code: "RE", countryCode: "+262", iconFlagName: "" },
191
+ { code: "RO", countryCode: "+40", iconFlagName: "flag-romania" },
192
+ { code: "RU", countryCode: "+7", iconFlagName: "flag-russia" },
193
+ { code: "RW", countryCode: "+250", iconFlagName: "flag-rwanda" },
194
+ { code: "BL", countryCode: "+590", iconFlagName: "" },
195
+ { code: "SH", countryCode: "+290", iconFlagName: "" },
196
+ { code: "KN", countryCode: "+1", iconFlagName: "" },
197
+ { code: "LC", countryCode: "+1", iconFlagName: "" },
198
+ { code: "MF", countryCode: "+590", iconFlagName: "" },
199
+ { code: "PM", countryCode: "+508", iconFlagName: "" },
200
+ { code: "VC", countryCode: "+1", iconFlagName: "" },
201
+ { code: "WS", countryCode: "+685", iconFlagName: "" },
202
+ { code: "SM", countryCode: "+378", iconFlagName: "" },
203
+ { code: "ST", countryCode: "+239", iconFlagName: "" },
204
+ { code: "SA", countryCode: "+966", iconFlagName: "flag-saudi-arabia" },
205
+ { code: "SN", countryCode: "+221", iconFlagName: "" },
206
+ { code: "RS", countryCode: "+381", iconFlagName: "flag-serbia" },
207
+ { code: "SC", countryCode: "+248", iconFlagName: "" },
208
+ { code: "SL", countryCode: "+232", iconFlagName: "" },
209
+ { code: "SG", countryCode: "+65", iconFlagName: "flag-singapore" },
210
+ { code: "SG", countryCode: "+65", iconFlagName: "flag-singapore" },
211
+ { code: "SK", countryCode: "+421", iconFlagName: "flag-slovakia" },
212
+ { code: "SI", countryCode: "+386", iconFlagName: "flag-slovenia" },
213
+ { code: "SB", countryCode: "+677", iconFlagName: "" },
214
+ { code: "SO", countryCode: "+252", iconFlagName: "" },
215
+ { code: "ZA", countryCode: "+27", iconFlagName: "flag-south-africa" },
216
+ { code: "KR", countryCode: "+82", iconFlagName: "flag-south-korea" },
217
+ { code: "ES", countryCode: "+34", iconFlagName: "flag-spain" },
218
+ { code: "LK", countryCode: "+94", iconFlagName: "flag-sri-lanka" },
219
+ { code: "SD", countryCode: "+249", iconFlagName: "" },
220
+ { code: "SR", countryCode: "+597", iconFlagName: "" },
221
+ { code: "SZ", countryCode: "+268", iconFlagName: "" },
222
+ { code: "SE", countryCode: "+46", iconFlagName: "flag-sweden" },
223
+ { code: "CH", countryCode: "+41", iconFlagName: "flag-switzerland" },
224
+ { code: "SY", countryCode: "+963", iconFlagName: "" },
225
+ { code: "TW", countryCode: "+886", iconFlagName: "flag-taiwan" },
226
+ { code: "TJ", countryCode: "+992", iconFlagName: "flag-tajikistan" },
227
+ { code: "TZ", countryCode: "+255", iconFlagName: "flag-tanzania" },
228
+ { code: "TH", countryCode: "+66", iconFlagName: "flag-thailand" },
229
+ { code: "TL", countryCode: "+670", iconFlagName: "" },
230
+ { code: "TG", countryCode: "+228", iconFlagName: "" },
231
+ { code: "TK", countryCode: "+690", iconFlagName: "" },
232
+ { code: "TO", countryCode: "+676", iconFlagName: "" },
233
+ { code: "TT", countryCode: "+1", iconFlagName: "flag-trinidad-and-tobago" },
234
+ { code: "TN", countryCode: "+216", iconFlagName: "" },
235
+ { code: "TR", countryCode: "+90", iconFlagName: "flag-turkey" },
236
+ { code: "TM", countryCode: "+993", iconFlagName: "" },
237
+ { code: "TC", countryCode: "+1", iconFlagName: "" },
238
+ { code: "TV", countryCode: "+688", iconFlagName: "" },
239
+ { code: "UG", countryCode: "+256", iconFlagName: "" },
240
+ { code: "UA", countryCode: "+380", iconFlagName: "flag-ukraine" },
241
+ {
242
+ code: "AE",
243
+ countryCode: "+971",
244
+ iconFlagName: "flag-united-arab-emirates"
245
+ },
246
+ { code: "GB", countryCode: "+44", iconFlagName: "flag-united-kingdom" },
247
+ { code: "UK", countryCode: "+44", iconFlagName: "flag-united-kingdom" },
248
+ { code: "US", countryCode: "+1", iconFlagName: "flag-united-states" },
249
+ { code: "UY", countryCode: "+598", iconFlagName: "flag-uruguay" },
250
+ { code: "UZ", countryCode: "+998", iconFlagName: "flag-uzbekistan" },
251
+ { code: "VU", countryCode: "+678", iconFlagName: "" },
252
+ { code: "VE", countryCode: "+58", iconFlagName: "flag-venezuela" },
253
+ { code: "VN", countryCode: "+84", iconFlagName: "flag-vietnam" },
254
+ { code: "WF", countryCode: "+681", iconFlagName: "" },
255
+ { code: "WF", countryCode: "+681", iconFlagName: "" },
256
+ { code: "YE", countryCode: "+967", iconFlagName: "" },
257
+ { code: "ZM", countryCode: "+260", iconFlagName: "flag-zambia" },
258
+ { code: "ZW", countryCode: "+263", iconFlagName: "" }
259
+ ];
260
+
261
+ const CODE_TO_COUNTRY = new Map(
262
+ countries.map((c) => [c.code, c])
263
+ );
264
+ function getFlagIconName(countryCode) {
265
+ if (!countryCode || typeof countryCode !== "string") {
266
+ return void 0;
267
+ }
268
+ const icon = CODE_TO_COUNTRY.get(
269
+ countryCode.trim().toUpperCase()
270
+ )?.iconFlagName;
271
+ return icon && icon.length > 0 ? icon : void 0;
272
+ }
273
+
274
+ var __defProp = Object.defineProperty;
275
+ var __decorateClass = (decorators, target, key, kind) => {
276
+ var result = void 0 ;
277
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
278
+ if (decorator = decorators[i])
279
+ result = (decorator(target, key, result) ) || result;
280
+ if (result) __defProp(target, key, result);
281
+ return result;
282
+ };
283
+ class Country extends vividElement.VividElement {
284
+ /** @internal */
285
+ get flagIconName() {
286
+ return getFlagIconName(this.code);
287
+ }
288
+ /** @internal */
289
+ get displayText() {
290
+ const customLabel = this.label?.trim();
291
+ if (customLabel) {
292
+ return customLabel;
293
+ }
294
+ const codeValue = this.code?.trim();
295
+ return codeValue ? codeValue.toUpperCase() : void 0;
296
+ }
297
+ }
298
+ __decorateClass([
299
+ fastElement.attr
300
+ ], Country.prototype, "code");
301
+ __decorateClass([
302
+ fastElement.attr
303
+ ], Country.prototype, "label");
304
+
305
+ const CountryTemplate = (context) => {
306
+ const iconTag = context.tagFor(icon_definition.VwcIconElement);
307
+ return fastElement.html`
308
+ <div class="base">
309
+ <slot name="icon" class="icon">
310
+ ${fastElement.when(
311
+ (x) => x.flagIconName,
312
+ fastElement.html`<${iconTag}
313
+ size="-4"
314
+ name="${(x) => x.flagIconName}"
315
+ aria-hidden="true"
316
+ ></${iconTag}>`
317
+ )}
318
+ </slot>
319
+ ${fastElement.when(
320
+ (x) => x.displayText,
321
+ fastElement.html`<span class="text">${(x) => x.displayText}</span>`
322
+ )}
323
+ </div>
324
+ `;
325
+ };
326
+
327
+ const countryDefinition = vividElement.defineVividComponent(
328
+ "country",
329
+ Country,
330
+ CountryTemplate,
331
+ [icon_definition.iconDefinition],
332
+ {
333
+ styles
334
+ }
335
+ );
336
+ const registerCountry = vividElement.createRegisterFunction(countryDefinition);
337
+
338
+ exports.VwcCountryElement = Country;
339
+ exports.countryDefinition = countryDefinition;
340
+ exports.registerCountry = registerCountry;