@vonage/vivid 5.9.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 (113) 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/definition10.js +4 -4
  5. package/bundled/definition7.js +3 -3
  6. package/bundled/host-semantics.js +4 -4
  7. package/bundled/localized.cjs +1 -1
  8. package/bundled/localized.js +14 -12
  9. package/bundled/mixins.cjs +2 -2
  10. package/bundled/mixins.js +6 -6
  11. package/bundled/{feature.cjs → slottable-request.cjs} +3 -3
  12. package/bundled/{feature.js → slottable-request.js} +63 -42
  13. package/bundled/vivid-element.cjs +1 -1
  14. package/bundled/vivid-element.js +1 -1
  15. package/card/definition.cjs +1 -1
  16. package/card/definition.js +1 -1
  17. package/card/index.cjs +10 -10
  18. package/card/index.js +42 -42
  19. package/country/definition.cjs +340 -0
  20. package/country/definition.js +334 -0
  21. package/country/index.cjs +12 -0
  22. package/country/index.js +317 -0
  23. package/custom-elements.json +12745 -9921
  24. package/index.cjs +26 -14
  25. package/index.js +4 -2
  26. package/lib/components.d.ts +3 -1
  27. package/lib/country/countries-data.d.ts +6 -0
  28. package/lib/country/country-code-to-flag-icon.d.ts +5 -0
  29. package/lib/country/country.d.ts +5 -0
  30. package/lib/country/country.template.d.ts +3 -0
  31. package/lib/country/definition.d.ts +3 -0
  32. package/lib/rich-text-editor/locale.d.ts +2 -0
  33. package/lib/rich-text-editor/popover.d.ts +1 -0
  34. package/lib/rich-text-editor/rte/config.d.ts +2 -1
  35. package/lib/rich-text-editor/rte/exports.d.ts +4 -0
  36. package/lib/rich-text-editor/rte/feature.d.ts +7 -1
  37. package/lib/rich-text-editor/rte/features/internal/basic-text-blocks.d.ts +1 -1
  38. package/lib/rich-text-editor/rte/features/internal/foreign-html.d.ts +1 -1
  39. package/lib/rich-text-editor/rte/features/internal/history.d.ts +1 -1
  40. package/lib/rich-text-editor/rte/features/internal/input-rules.d.ts +15 -0
  41. package/lib/rich-text-editor/rte/instance.d.ts +4 -2
  42. package/lib/rich-text-editor/rte/utils/feature-state.d.ts +8 -0
  43. package/lib/rich-text-editor/rte/utils/text-before-cursor.d.ts +2 -0
  44. package/lib/rich-text-editor/rte/utils/ui.d.ts +2 -0
  45. package/lib/rich-text-editor/rte/view.d.ts +2 -2
  46. package/lib/rich-text-view/definition.d.ts +1 -0
  47. package/lib/rich-text-view/rich-text-view.d.ts +4 -0
  48. package/lib/selectable-box/selectable-box.d.ts +1 -0
  49. package/lib/status/definition.d.ts +4 -0
  50. package/lib/status/status.d.ts +388 -0
  51. package/lib/status/status.template.d.ts +3 -0
  52. package/lib/{data-table → table}/definition.d.ts +1 -1
  53. package/lib/tag/tag.d.ts +1 -1
  54. package/lib/tag-name-map.d.ts +3 -1
  55. package/locales/de-DE.cjs +3 -1
  56. package/locales/de-DE.js +3 -1
  57. package/locales/en-GB.cjs +3 -1
  58. package/locales/en-GB.js +3 -1
  59. package/locales/en-US.cjs +3 -1
  60. package/locales/en-US.js +3 -1
  61. package/locales/ja-JP.cjs +3 -1
  62. package/locales/ja-JP.js +3 -1
  63. package/locales/zh-CN.cjs +3 -1
  64. package/locales/zh-CN.js +3 -1
  65. package/package.json +8 -7
  66. package/rich-text-editor/definition.cjs +3217 -2195
  67. package/rich-text-editor/definition.js +3074 -2056
  68. package/rich-text-editor/index.cjs +20 -19
  69. package/rich-text-editor/index.js +3834 -3082
  70. package/rich-text-view/definition.cjs +30 -18
  71. package/rich-text-view/definition.js +22 -10
  72. package/rich-text-view/index.cjs +1 -1
  73. package/rich-text-view/index.js +46 -38
  74. package/selectable-box/definition.cjs +16 -5
  75. package/selectable-box/definition.js +16 -5
  76. package/selectable-box/index.cjs +11 -9
  77. package/selectable-box/index.js +86 -78
  78. package/shared/utils/slottable-request.d.ts +7 -0
  79. package/status/definition.cjs +76 -0
  80. package/status/definition.js +70 -0
  81. package/status/index.cjs +11 -0
  82. package/status/index.js +55 -0
  83. package/styles/core/all.css +2 -2
  84. package/styles/core/theme.css +2 -2
  85. package/styles/core/typography.css +1 -1
  86. package/styles/tokens/theme-dark.css +4 -4
  87. package/styles/tokens/theme-light.css +4 -4
  88. package/styles/tokens/vivid-2-compat.css +1 -1
  89. package/{data-table → table}/definition.cjs +21 -57
  90. package/{data-table → table}/definition.js +21 -57
  91. package/{data-table → table}/index.cjs +8 -8
  92. package/{data-table → table}/index.js +43 -79
  93. package/tag/definition.cjs +1 -1
  94. package/tag/definition.js +1 -1
  95. package/tag/index.cjs +24 -24
  96. package/tag/index.js +89 -89
  97. package/unbundled/{feature.cjs → slottable-request.cjs} +24 -0
  98. package/unbundled/{feature.js → slottable-request.js} +23 -1
  99. package/unbundled/vivid-element.cjs +1 -1
  100. package/unbundled/vivid-element.js +1 -1
  101. package/vivid.api.json +505 -26
  102. /package/lib/{data-table → table}/table-body.d.ts +0 -0
  103. /package/lib/{data-table → table}/table-body.template.d.ts +0 -0
  104. /package/lib/{data-table → table}/table-cell.d.ts +0 -0
  105. /package/lib/{data-table → table}/table-cell.template.d.ts +0 -0
  106. /package/lib/{data-table → table}/table-head.d.ts +0 -0
  107. /package/lib/{data-table → table}/table-head.template.d.ts +0 -0
  108. /package/lib/{data-table → table}/table-header-cell.d.ts +0 -0
  109. /package/lib/{data-table → table}/table-header-cell.template.d.ts +0 -0
  110. /package/lib/{data-table → table}/table-row.d.ts +0 -0
  111. /package/lib/{data-table → table}/table-row.template.d.ts +0 -0
  112. /package/lib/{data-table → table}/table.d.ts +0 -0
  113. /package/lib/{data-table → table}/table.template.d.ts +0 -0
package/card/index.js CHANGED
@@ -1,75 +1,75 @@
1
- import { I as b, i as x } from "../bundled/definition2.js";
1
+ import { I as m, i as x } from "../bundled/definition2.js";
2
2
  import { E as g, e as y } from "../bundled/definition4.js";
3
- import { V as $, a as l, o as f, h as o, c as _, d as w } from "../bundled/vivid-element.js";
3
+ import { V as $, a as l, o as f, h as r, c as _, d as w } from "../bundled/vivid-element.js";
4
4
  import { L as C } from "../bundled/linkable.js";
5
5
  import { A as c } from "../bundled/enums.js";
6
6
  import { d as k } from "../bundled/delegates-aria.js";
7
7
  import { w as i } from "../bundled/when.js";
8
8
  import { s as u } from "../bundled/slotted.js";
9
9
  import { c as S } from "../bundled/class-names.js";
10
- const E = ":host{display:flex}.base{border-radius:8px;inline-size:100%;text-align:start}.base{padding:0;border:0 none;outline:none;text-decoration:none}.base:is(button,a):not(:disabled){cursor:pointer}.base:is(button,a):disabled{cursor:not-allowed}.base:is(button,a):focus-visible{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))}.wrapper{display:flex;overflow:hidden;flex-flow:column;border-radius:inherit;block-size:100%;color:var(--vvd-color-canvas-text)}.wrapper{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.wrapper:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.wrapper.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.wrapper:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.wrapper.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.wrapper{--_connotation-color-primary: var(--vvd-card-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-card-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-card-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-card-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-card-cta-soft, var(--vvd-color-cta-100))}@media (hover: hover){.base:is(button,a):hover>.wrapper{background-color:var(--_appearance-color-fill)}}.main-content{display:flex;flex-flow:column;padding:24px}.header{display:flex;flex:1;align-items:flex-start;gap:8px}.header-content{flex:1}.header-wrapper{display:flex;gap:8px}.header-headline,.header-subtitle{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.header-headline{font:var(--vvd-typography-heading-4);-webkit-line-clamp:var(--headline-line-clamp)}.header-subtitle{font:var(--vvd-typography-base);-webkit-line-clamp:var(--subtitle-line-clamp)}.hide-header .header{display:none}.header-subtitle,.text{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base)}.text{padding-right:8px;margin-top:12px}.footer{display:inline-flex;flex-direction:column;align-items:flex-end;padding-bottom:24px;margin-top:auto;padding-inline:24px}.hide-footer .footer{display:none}::slotted([slot=graphic i]),.icon{flex-shrink:0;align-self:baseline;margin-block-start:4px}.icon{font-size:20px}::slotted([slot=meta i]){flex-shrink:0;align-self:flex-start;margin-block-start:-8px;margin-inline:auto -8px}";
11
- var H = Object.defineProperty, n = (e, a, t, h) => {
12
- for (var d = void 0, s = e.length - 1, m; s >= 0; s--)
13
- (m = e[s]) && (d = m(a, t, d) || d);
14
- return d && H(a, t, d), d;
10
+ const E = ":host{display:flex;--_vvd-tinted-shadow-surface-0dp: drop-shadow( 1px 0px 0px var(--card-border-color) ) drop-shadow(0px 1px 0px var(--card-border-color)) drop-shadow(0px -1px 0px var(--card-border-color)) drop-shadow(-1px 0px 0px var(--card-border-color))}.base{border-radius:8px;inline-size:100%;text-align:start}.base{padding:0;border:0 none;outline:none;text-decoration:none}.base:is(button,a):not(:disabled){cursor:pointer}.base:is(button,a):disabled{cursor:not-allowed}.base:is(button,a):focus-visible{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))}.wrapper{display:flex;overflow:hidden;flex-flow:column;border-radius:inherit;block-size:100%;color:var(--vvd-color-canvas-text)}.wrapper{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}@media (hover: hover){.wrapper:hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}}.wrapper.hover:where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.wrapper:active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.wrapper.active:where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.wrapper{--_connotation-color-primary: var(--vvd-card-cta-primary, var(--vvd-color-cta-500));--_connotation-color-primary-text: var(--vvd-card-cta-primary-text, var(--vvd-color-canvas));--_connotation-color-primary-increment: var(--vvd-card-cta-primary-increment, var(--vvd-color-cta-600));--_connotation-color-faint: var(--vvd-card-cta-faint, var(--vvd-color-cta-50));--_connotation-color-soft: var(--vvd-card-cta-soft, var(--vvd-color-cta-100))}@media (hover: hover){.base:is(button,a):hover>.wrapper{background-color:var(--_appearance-color-fill)}}.main-content{display:flex;flex-flow:column;padding:24px}.header{display:flex;flex:1;align-items:flex-start;gap:8px}.header-content{flex:1}.header-wrapper{display:flex;gap:8px}.header-headline,.header-subtitle{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical}.header-headline{font:var(--vvd-typography-heading-4);-webkit-line-clamp:var(--headline-line-clamp)}.header-subtitle{font:var(--vvd-typography-base);-webkit-line-clamp:var(--subtitle-line-clamp)}.hide-header .header{display:none}.header-subtitle,.text{color:var(--vvd-color-neutral-600);font:var(--vvd-typography-base)}.text{padding-right:8px;margin-top:12px}.footer{display:inline-flex;flex-direction:column;align-items:flex-end;padding-bottom:24px;margin-top:auto;padding-inline:24px}.hide-footer .footer{display:none}::slotted([slot=graphic i]),.icon{flex-shrink:0;align-self:baseline;margin-block-start:4px}.icon{font-size:20px}::slotted([slot=meta i]){flex-shrink:0;align-self:flex-start;margin-block-start:-8px;margin-inline:auto -8px}";
11
+ var H = Object.defineProperty, n = (e, a, o, h) => {
12
+ for (var d = void 0, s = e.length - 1, b; s >= 0; s--)
13
+ (b = e[s]) && (d = b(a, o, d) || d);
14
+ return d && H(a, o, d), d;
15
15
  };
16
- class r extends C($) {
16
+ class t extends C($) {
17
17
  constructor() {
18
18
  super(...arguments), this.clickableCard = !1;
19
19
  }
20
20
  }
21
21
  n([
22
22
  l
23
- ], r.prototype, "appearance");
23
+ ], t.prototype, "appearance");
24
24
  n([
25
25
  l
26
- ], r.prototype, "headline");
26
+ ], t.prototype, "headline");
27
27
  n([
28
28
  l
29
- ], r.prototype, "subtitle");
29
+ ], t.prototype, "subtitle");
30
30
  n([
31
31
  l
32
- ], r.prototype, "text");
32
+ ], t.prototype, "text");
33
33
  n([
34
34
  l
35
- ], r.prototype, "icon");
35
+ ], t.prototype, "icon");
36
36
  n([
37
37
  l
38
- ], r.prototype, "elevation");
38
+ ], t.prototype, "elevation");
39
39
  n([
40
40
  l({
41
41
  mode: "boolean",
42
42
  attribute: "clickable-card"
43
43
  })
44
- ], r.prototype, "clickableCard");
44
+ ], t.prototype, "clickableCard");
45
45
  n([
46
46
  f
47
- ], r.prototype, "footerSlottedContent");
47
+ ], t.prototype, "footerSlottedContent");
48
48
  n([
49
49
  f
50
- ], r.prototype, "graphicSlottedContent");
50
+ ], t.prototype, "graphicSlottedContent");
51
51
  n([
52
52
  f
53
- ], r.prototype, "hasMetaSlottedContent");
53
+ ], t.prototype, "hasMetaSlottedContent");
54
54
  const v = (e) => S(
55
55
  "base",
56
56
  ["hide-footer", !e.footerSlottedContent || !e.footerSlottedContent.length],
57
57
  ["hide-header", L(e)]
58
58
  );
59
59
  function z(e) {
60
- return o`
60
+ return r`
61
61
  <${e} class="icon" inline name="${(a) => a.icon}"></${e}>`;
62
62
  }
63
63
  function A() {
64
- return o`
64
+ return r`
65
65
  <div class="header-headline" id="card-headline">${(e) => e.headline}</div>
66
66
  `;
67
67
  }
68
68
  function D() {
69
- return o` <div class="header-subtitle">${(e) => e.subtitle}</div> `;
69
+ return r` <div class="header-subtitle">${(e) => e.subtitle}</div> `;
70
70
  }
71
71
  function F() {
72
- return o`
72
+ return r`
73
73
  <div class="header-content">
74
74
  ${i((e) => e.headline, A())}
75
75
  ${i((e) => e.subtitle, D())}
@@ -77,7 +77,7 @@ function F() {
77
77
  `;
78
78
  }
79
79
  function I(e) {
80
- return o` <div class="header">
80
+ return r` <div class="header">
81
81
  <slot name="graphic" ${u("graphicSlottedContent")}
82
82
  >${i((a) => a.icon, z(e))}</slot
83
83
  >
@@ -88,13 +88,13 @@ function L(e) {
88
88
  return !e.headline && !e.subtitle && !e.icon && (!e.graphicSlottedContent || !e.graphicSlottedContent.length);
89
89
  }
90
90
  function O() {
91
- return o` <slot name="meta" ${u("metaSlottedContent")}></slot> `;
91
+ return r` <slot name="meta" ${u("metaSlottedContent")}></slot> `;
92
92
  }
93
93
  function V() {
94
- return o` <div class="text">${(e) => e.text}</div> `;
94
+ return r` <div class="text">${(e) => e.text}</div> `;
95
95
  }
96
96
  function B(e) {
97
- return o`<button
97
+ return r`<button
98
98
  class="${v}"
99
99
  type="button"
100
100
  ${k()}
@@ -104,19 +104,19 @@ function B(e) {
104
104
  </button>`;
105
105
  }
106
106
  function G(e, a) {
107
- return e.href ? e._renderLinkElement(a, v) : e.clickableCard ? B(a) : o`<div
107
+ return e.href ? e._renderLinkElement(a, v) : e.clickableCard ? B(a) : r`<div
108
108
  class="${v}"
109
- aria-labelledby="${(t) => t.headline ? "card-headline" : null}"
109
+ aria-labelledby="${(o) => o.headline ? "card-headline" : null}"
110
110
  >
111
111
  ${a}
112
112
  </div>`;
113
113
  }
114
114
  function p(e) {
115
- const a = e.tagFor(b);
116
- return o`
117
- ${(t) => G(
118
- t,
119
- o`<div class="wrapper">
115
+ const a = e.tagFor(m);
116
+ return r`
117
+ ${(o) => G(
118
+ o,
119
+ r`<div class="wrapper">
120
120
  <div class="vwc-card-media">
121
121
  <slot name="media"></slot>
122
122
  </div>
@@ -137,31 +137,31 @@ function p(e) {
137
137
  }
138
138
  const M = (e) => {
139
139
  const a = e.tagFor(g);
140
- return o`
140
+ return r`
141
141
  ${i(
142
- (t) => t.appearance !== c.Ghost && t.appearance !== c.Outlined,
143
- o`
144
- <${a} dp=${(t) => t.elevation ?? "4"}>
142
+ (o) => o.appearance !== c.Ghost && o.appearance !== c.Outlined,
143
+ r`
144
+ <${a} dp=${(o) => o.elevation ?? "4"}>
145
145
  ${p(e)}
146
146
  </${a}>
147
147
  `
148
148
  )}
149
149
  ${i(
150
- (t) => t.appearance === c.Outlined,
151
- o`
150
+ (o) => o.appearance === c.Outlined,
151
+ r`
152
152
  <${a} dp='0')}>
153
153
  ${p(e)}
154
154
  </${a}>
155
155
  `
156
156
  )}
157
157
  ${i(
158
- (t) => t.appearance === c.Ghost,
159
- o` ${p(e)} `
158
+ (o) => o.appearance === c.Ghost,
159
+ r` ${p(e)} `
160
160
  )}
161
161
  `;
162
162
  }, P = w(
163
163
  "card",
164
- r,
164
+ t,
165
165
  M,
166
166
  [x, y],
167
167
  {
@@ -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;