@vonage/vivid 4.4.0 → 4.6.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 (235) hide show
  1. package/custom-elements.json +7181 -6876
  2. package/elevation/index.cjs +1 -1
  3. package/elevation/index.js +1 -1
  4. package/index.cjs +80 -74
  5. package/index.js +23 -22
  6. package/lib/components.d.ts +1 -0
  7. package/lib/fab/fab.d.ts +1 -1
  8. package/lib/icon/icon.d.ts +1 -1
  9. package/lib/menu/menu.d.ts +2 -1
  10. package/lib/number-field/number-field.d.ts +3 -1
  11. package/lib/searchable-select/definition.d.ts +4 -0
  12. package/lib/searchable-select/locale.d.ts +6 -0
  13. package/lib/searchable-select/option-tag.d.ts +14 -0
  14. package/lib/searchable-select/option-tag.template.d.ts +4 -0
  15. package/lib/searchable-select/searchable-select.d.ts +29 -0
  16. package/lib/searchable-select/searchable-select.form-associated.d.ts +10 -0
  17. package/lib/searchable-select/searchable-select.template.d.ts +4 -0
  18. package/lib/select/select.d.ts +4 -1
  19. package/lib/tab/locale.d.ts +3 -0
  20. package/lib/tab/tab.d.ts +5 -1
  21. package/lib/tabs/tabs.d.ts +2 -0
  22. package/lib/tag/definition.d.ts +1 -0
  23. package/lib/text-field/text-field.d.ts +3 -1
  24. package/lib/video-player/video-player.d.ts +0 -1
  25. package/listbox/index.cjs +1 -1
  26. package/listbox/index.js +1 -1
  27. package/locales/de-DE.cjs +12 -0
  28. package/locales/de-DE.js +12 -0
  29. package/locales/en-GB.cjs +12 -0
  30. package/locales/en-GB.js +12 -0
  31. package/locales/en-US.cjs +12 -0
  32. package/locales/en-US.js +12 -0
  33. package/locales/ja-JP.cjs +12 -0
  34. package/locales/ja-JP.js +12 -0
  35. package/locales/zh-CN.cjs +12 -0
  36. package/locales/zh-CN.js +12 -0
  37. package/package.json +6 -1
  38. package/popup/index.cjs +1 -1
  39. package/popup/index.js +1 -1
  40. package/searchable-select/index.cjs +5 -0
  41. package/searchable-select/index.js +3 -0
  42. package/select/index.cjs +1 -1
  43. package/select/index.js +1 -1
  44. package/selectable-box/index.cjs +1 -1
  45. package/selectable-box/index.js +1 -1
  46. package/shared/anchored.js +1 -1
  47. package/shared/calendar-event.js +1 -1
  48. package/shared/definition.cjs +2 -2
  49. package/shared/definition.js +2 -2
  50. package/shared/definition11.cjs +1 -1
  51. package/shared/definition11.js +1 -1
  52. package/shared/definition12.cjs +1 -1
  53. package/shared/definition12.js +1 -1
  54. package/shared/definition13.js +1 -1
  55. package/shared/definition14.cjs +1 -1
  56. package/shared/definition14.js +1 -1
  57. package/shared/definition15.cjs +7 -8
  58. package/shared/definition15.js +2 -3
  59. package/shared/definition16.cjs +11 -7
  60. package/shared/definition16.js +10 -6
  61. package/shared/definition17.cjs +2 -2
  62. package/shared/definition17.js +2 -2
  63. package/shared/definition18.cjs +5 -6
  64. package/shared/definition18.js +3 -4
  65. package/shared/definition19.cjs +5 -6
  66. package/shared/definition19.js +3 -4
  67. package/shared/definition20.cjs +16 -38
  68. package/shared/definition20.js +17 -39
  69. package/shared/definition21.cjs +7 -6
  70. package/shared/definition21.js +8 -7
  71. package/shared/definition23.cjs +1 -1
  72. package/shared/definition23.js +2 -2
  73. package/shared/definition24.cjs +2 -2
  74. package/shared/definition24.js +2 -2
  75. package/shared/definition25.cjs +6 -7
  76. package/shared/definition25.js +2 -3
  77. package/shared/definition26.cjs +1 -1
  78. package/shared/definition26.js +2 -2
  79. package/shared/definition27.cjs +1 -1
  80. package/shared/definition27.js +1 -1
  81. package/shared/definition28.js +1 -1
  82. package/shared/definition29.cjs +8 -4
  83. package/shared/definition29.js +8 -4
  84. package/shared/definition3.cjs +1 -1
  85. package/shared/definition3.js +2 -2
  86. package/shared/definition30.cjs +4 -2
  87. package/shared/definition30.js +4 -2
  88. package/shared/definition31.cjs +1 -1
  89. package/shared/definition31.js +2 -2
  90. package/shared/definition32.cjs +1 -1
  91. package/shared/definition32.js +1 -1
  92. package/shared/definition34.cjs +2 -3
  93. package/shared/definition34.js +2 -3
  94. package/shared/definition35.cjs +21 -16
  95. package/shared/definition35.js +16 -11
  96. package/shared/definition36.cjs +50 -207
  97. package/shared/definition36.js +51 -207
  98. package/shared/definition37.js +1 -1
  99. package/shared/definition38.cjs +1 -1
  100. package/shared/definition38.js +1 -1
  101. package/shared/definition4.cjs +6 -4
  102. package/shared/definition4.js +7 -5
  103. package/shared/definition41.cjs +1 -1
  104. package/shared/definition41.js +1 -1
  105. package/shared/definition42.cjs +6 -7
  106. package/shared/definition42.js +6 -7
  107. package/shared/definition43.cjs +998 -643
  108. package/shared/definition43.js +992 -638
  109. package/shared/definition44.cjs +723 -112
  110. package/shared/definition44.js +722 -111
  111. package/shared/definition45.cjs +121 -79
  112. package/shared/definition45.js +120 -78
  113. package/shared/definition46.cjs +81 -616
  114. package/shared/definition46.js +80 -614
  115. package/shared/definition47.cjs +609 -116
  116. package/shared/definition47.js +607 -115
  117. package/shared/definition48.cjs +116 -134
  118. package/shared/definition48.js +115 -133
  119. package/shared/definition49.cjs +149 -19
  120. package/shared/definition49.js +148 -18
  121. package/shared/definition5.cjs +5 -6
  122. package/shared/definition5.js +5 -6
  123. package/shared/definition50.cjs +21 -82
  124. package/shared/definition50.js +20 -81
  125. package/shared/definition51.cjs +78 -494
  126. package/shared/definition51.js +77 -493
  127. package/shared/definition52.cjs +568 -28
  128. package/shared/definition52.js +567 -27
  129. package/shared/definition53.cjs +28 -123
  130. package/shared/definition53.js +27 -123
  131. package/shared/definition54.cjs +115 -296
  132. package/shared/definition54.js +114 -295
  133. package/shared/definition55.cjs +258 -318
  134. package/shared/definition55.js +252 -312
  135. package/shared/definition56.cjs +303 -784
  136. package/shared/definition56.js +298 -779
  137. package/shared/definition57.cjs +802 -95
  138. package/shared/definition57.js +801 -94
  139. package/shared/definition58.cjs +95 -60
  140. package/shared/definition58.js +94 -59
  141. package/shared/definition59.cjs +117 -75
  142. package/shared/definition59.js +116 -74
  143. package/shared/definition6.cjs +1 -1
  144. package/shared/definition6.js +1 -1
  145. package/shared/definition60.cjs +70 -285
  146. package/shared/definition60.js +71 -286
  147. package/shared/definition61.cjs +296 -325
  148. package/shared/definition61.js +295 -324
  149. package/shared/definition62.cjs +66160 -27
  150. package/shared/definition62.js +66159 -26
  151. package/shared/definition63.cjs +24 -1952
  152. package/shared/definition63.js +23 -1950
  153. package/shared/definition64.cjs +1976 -0
  154. package/shared/definition64.js +1971 -0
  155. package/shared/definition7.cjs +1 -1
  156. package/shared/definition7.js +1 -1
  157. package/shared/definition8.cjs +2 -3
  158. package/shared/definition8.js +3 -4
  159. package/shared/definition9.cjs +1 -1
  160. package/shared/definition9.js +1 -1
  161. package/shared/dialog/index.d.ts +1 -0
  162. package/shared/form-elements.cjs +236 -0
  163. package/shared/form-elements.js +229 -0
  164. package/shared/icon.js +1 -1
  165. package/shared/index2.cjs +6 -256
  166. package/shared/index2.js +6 -249
  167. package/shared/listbox-option.cjs +204 -0
  168. package/shared/listbox-option.js +201 -0
  169. package/shared/listbox.cjs +3 -3
  170. package/shared/listbox.js +1 -1
  171. package/shared/localization/Locale.d.ts +4 -0
  172. package/shared/localized.cjs +26 -2
  173. package/shared/localized.js +25 -2
  174. package/shared/playbackRates.cjs +13 -0
  175. package/shared/playbackRates.js +11 -0
  176. package/shared/presentationDate.cjs +11 -11
  177. package/shared/presentationDate.js +11 -11
  178. package/shared/scrollIntoView.cjs +51 -0
  179. package/shared/scrollIntoView.js +49 -0
  180. package/shared/slider.template.cjs +1 -1
  181. package/shared/slider.template.js +1 -1
  182. package/shared/text-anchor.cjs +1 -1
  183. package/shared/text-anchor.js +1 -1
  184. package/shared/text-field.cjs +1 -1
  185. package/shared/text-field.js +1 -1
  186. package/shared/utils/playbackRates.d.ts +1 -0
  187. package/shared/utils/scrollIntoView.d.ts +1 -0
  188. package/side-drawer/index.cjs +1 -1
  189. package/side-drawer/index.js +1 -1
  190. package/slider/index.cjs +1 -1
  191. package/slider/index.js +1 -1
  192. package/split-button/index.cjs +1 -1
  193. package/split-button/index.js +1 -1
  194. package/styles/core/all.css +1 -1
  195. package/styles/core/theme.css +1 -1
  196. package/styles/core/typography.css +1 -1
  197. package/styles/tokens/theme-dark.css +4 -4
  198. package/styles/tokens/theme-light.css +4 -4
  199. package/styles/tokens/vivid-2-compat.css +1 -1
  200. package/switch/index.cjs +1 -1
  201. package/switch/index.js +1 -1
  202. package/tab/index.cjs +1 -1
  203. package/tab/index.js +1 -1
  204. package/tab-panel/index.cjs +1 -1
  205. package/tab-panel/index.js +1 -1
  206. package/tabs/index.cjs +1 -1
  207. package/tabs/index.js +1 -1
  208. package/tag/index.cjs +1 -1
  209. package/tag/index.js +1 -1
  210. package/tag-group/index.cjs +1 -1
  211. package/tag-group/index.js +1 -1
  212. package/text-area/index.cjs +1 -1
  213. package/text-area/index.js +1 -1
  214. package/text-field/index.cjs +1 -1
  215. package/text-field/index.js +1 -1
  216. package/time-picker/index.cjs +1 -1
  217. package/time-picker/index.js +1 -1
  218. package/toggletip/index.cjs +1 -1
  219. package/toggletip/index.js +1 -1
  220. package/tooltip/index.cjs +1 -1
  221. package/tooltip/index.js +1 -1
  222. package/tree-item/index.cjs +1 -1
  223. package/tree-item/index.js +1 -1
  224. package/tree-view/index.cjs +1 -1
  225. package/tree-view/index.js +1 -1
  226. package/video-player/index.cjs +1 -1
  227. package/video-player/index.js +1 -1
  228. package/vivid.api.json +312 -8
  229. package/appearance-ui/index.cjs +0 -102
  230. package/appearance-ui/index.js +0 -100
  231. package/lib/appearance-ui/appearance-ui.d.ts +0 -12
  232. package/lib/appearance-ui/appearance-ui.template.d.ts +0 -4
  233. package/lib/appearance-ui/definition.d.ts +0 -3
  234. package/shared/video-player.cjs +0 -65860
  235. package/shared/video-player.js +0 -65857
@@ -0,0 +1,204 @@
1
+ 'use strict';
2
+
3
+ const index = require('./index.cjs');
4
+ const ariaGlobal = require('./aria-global.cjs');
5
+ const startEnd = require('./start-end.cjs');
6
+ const applyMixins = require('./apply-mixins.cjs');
7
+ const dom = require('./dom.cjs');
8
+
9
+ /**
10
+ * Determines if the element is a {@link (ListboxOption:class)}
11
+ *
12
+ * @param element - the element to test.
13
+ * @public
14
+ */
15
+ function isListboxOption(el) {
16
+ return (dom.isHTMLElement(el) &&
17
+ (el.getAttribute("role") === "option" ||
18
+ el instanceof HTMLOptionElement));
19
+ }
20
+ /**
21
+ * An Option Custom HTML Element.
22
+ * Implements {@link https://www.w3.org/TR/wai-aria-1.1/#option | ARIA option }.
23
+ *
24
+ * @slot start - Content which can be provided before the listbox option content
25
+ * @slot end - Content which can be provided after the listbox option content
26
+ * @slot - The default slot for listbox option content
27
+ * @csspart content - Wraps the listbox option content
28
+ *
29
+ * @public
30
+ */
31
+ let ListboxOption$1 = class ListboxOption extends index.FoundationElement {
32
+ constructor(text, value, defaultSelected, selected) {
33
+ super();
34
+ /**
35
+ * The defaultSelected state of the option.
36
+ * @public
37
+ */
38
+ this.defaultSelected = false;
39
+ /**
40
+ * Tracks whether the "selected" property has been changed.
41
+ * @internal
42
+ */
43
+ this.dirtySelected = false;
44
+ /**
45
+ * The checked state of the control.
46
+ *
47
+ * @public
48
+ */
49
+ this.selected = this.defaultSelected;
50
+ /**
51
+ * Track whether the value has been changed from the initial value
52
+ */
53
+ this.dirtyValue = false;
54
+ if (text) {
55
+ this.textContent = text;
56
+ }
57
+ if (value) {
58
+ this.initialValue = value;
59
+ }
60
+ if (defaultSelected) {
61
+ this.defaultSelected = defaultSelected;
62
+ }
63
+ if (selected) {
64
+ this.selected = selected;
65
+ }
66
+ this.proxy = new Option(`${this.textContent}`, this.initialValue, this.defaultSelected, this.selected);
67
+ this.proxy.disabled = this.disabled;
68
+ }
69
+ /**
70
+ * Updates the ariaChecked property when the checked property changes.
71
+ *
72
+ * @param prev - the previous checked value
73
+ * @param next - the current checked value
74
+ *
75
+ * @public
76
+ */
77
+ checkedChanged(prev, next) {
78
+ if (typeof next === "boolean") {
79
+ this.ariaChecked = next ? "true" : "false";
80
+ return;
81
+ }
82
+ this.ariaChecked = null;
83
+ }
84
+ /**
85
+ * Updates the proxy's text content when the default slot changes.
86
+ * @param prev - the previous content value
87
+ * @param next - the current content value
88
+ *
89
+ * @internal
90
+ */
91
+ contentChanged(prev, next) {
92
+ if (this.proxy instanceof HTMLOptionElement) {
93
+ this.proxy.textContent = this.textContent;
94
+ }
95
+ this.$emit("contentchange", null, { bubbles: true });
96
+ }
97
+ defaultSelectedChanged() {
98
+ if (!this.dirtySelected) {
99
+ this.selected = this.defaultSelected;
100
+ if (this.proxy instanceof HTMLOptionElement) {
101
+ this.proxy.selected = this.defaultSelected;
102
+ }
103
+ }
104
+ }
105
+ disabledChanged(prev, next) {
106
+ this.ariaDisabled = this.disabled ? "true" : "false";
107
+ if (this.proxy instanceof HTMLOptionElement) {
108
+ this.proxy.disabled = this.disabled;
109
+ }
110
+ }
111
+ selectedAttributeChanged() {
112
+ this.defaultSelected = this.selectedAttribute;
113
+ if (this.proxy instanceof HTMLOptionElement) {
114
+ this.proxy.defaultSelected = this.defaultSelected;
115
+ }
116
+ }
117
+ selectedChanged() {
118
+ this.ariaSelected = this.selected ? "true" : "false";
119
+ if (!this.dirtySelected) {
120
+ this.dirtySelected = true;
121
+ }
122
+ if (this.proxy instanceof HTMLOptionElement) {
123
+ this.proxy.selected = this.selected;
124
+ }
125
+ }
126
+ initialValueChanged(previous, next) {
127
+ // If the value is clean and the component is connected to the DOM
128
+ // then set value equal to the attribute value.
129
+ if (!this.dirtyValue) {
130
+ this.value = this.initialValue;
131
+ this.dirtyValue = false;
132
+ }
133
+ }
134
+ get label() {
135
+ var _a;
136
+ return (_a = this.value) !== null && _a !== void 0 ? _a : this.text;
137
+ }
138
+ get text() {
139
+ var _a, _b;
140
+ return (_b = (_a = this.textContent) === null || _a === void 0 ? void 0 : _a.replace(/\s+/g, " ").trim()) !== null && _b !== void 0 ? _b : "";
141
+ }
142
+ set value(next) {
143
+ const newValue = `${next !== null && next !== void 0 ? next : ""}`;
144
+ this._value = newValue;
145
+ this.dirtyValue = true;
146
+ if (this.proxy instanceof HTMLOptionElement) {
147
+ this.proxy.value = newValue;
148
+ }
149
+ index.Observable.notify(this, "value");
150
+ }
151
+ get value() {
152
+ var _a;
153
+ index.Observable.track(this, "value");
154
+ return (_a = this._value) !== null && _a !== void 0 ? _a : this.text;
155
+ }
156
+ get form() {
157
+ return this.proxy ? this.proxy.form : null;
158
+ }
159
+ };
160
+ index.__decorate([
161
+ index.observable
162
+ ], ListboxOption$1.prototype, "checked", void 0);
163
+ index.__decorate([
164
+ index.observable
165
+ ], ListboxOption$1.prototype, "content", void 0);
166
+ index.__decorate([
167
+ index.observable
168
+ ], ListboxOption$1.prototype, "defaultSelected", void 0);
169
+ index.__decorate([
170
+ index.attr({ mode: "boolean" })
171
+ ], ListboxOption$1.prototype, "disabled", void 0);
172
+ index.__decorate([
173
+ index.attr({ attribute: "selected", mode: "boolean" })
174
+ ], ListboxOption$1.prototype, "selectedAttribute", void 0);
175
+ index.__decorate([
176
+ index.observable
177
+ ], ListboxOption$1.prototype, "selected", void 0);
178
+ index.__decorate([
179
+ index.attr({ attribute: "value", mode: "fromView" })
180
+ ], ListboxOption$1.prototype, "initialValue", void 0);
181
+ /**
182
+ * States and properties relating to the ARIA `option` role.
183
+ *
184
+ * @public
185
+ */
186
+ class DelegatesARIAListboxOption {
187
+ }
188
+ index.__decorate([
189
+ index.observable
190
+ ], DelegatesARIAListboxOption.prototype, "ariaChecked", void 0);
191
+ index.__decorate([
192
+ index.observable
193
+ ], DelegatesARIAListboxOption.prototype, "ariaPosInSet", void 0);
194
+ index.__decorate([
195
+ index.observable
196
+ ], DelegatesARIAListboxOption.prototype, "ariaSelected", void 0);
197
+ index.__decorate([
198
+ index.observable
199
+ ], DelegatesARIAListboxOption.prototype, "ariaSetSize", void 0);
200
+ applyMixins.applyMixins(DelegatesARIAListboxOption, ariaGlobal.ARIAGlobalStatesAndProperties);
201
+ applyMixins.applyMixins(ListboxOption$1, startEnd.StartEnd, DelegatesARIAListboxOption);
202
+
203
+ exports.ListboxOption = ListboxOption$1;
204
+ exports.isListboxOption = isListboxOption;
@@ -0,0 +1,201 @@
1
+ import { F as FoundationElement, O as Observable, _ as __decorate, o as observable, a as attr } from './index.js';
2
+ import { A as ARIAGlobalStatesAndProperties } from './aria-global.js';
3
+ import { S as StartEnd } from './start-end.js';
4
+ import { a as applyMixins } from './apply-mixins.js';
5
+ import { i as isHTMLElement } from './dom.js';
6
+
7
+ /**
8
+ * Determines if the element is a {@link (ListboxOption:class)}
9
+ *
10
+ * @param element - the element to test.
11
+ * @public
12
+ */
13
+ function isListboxOption(el) {
14
+ return (isHTMLElement(el) &&
15
+ (el.getAttribute("role") === "option" ||
16
+ el instanceof HTMLOptionElement));
17
+ }
18
+ /**
19
+ * An Option Custom HTML Element.
20
+ * Implements {@link https://www.w3.org/TR/wai-aria-1.1/#option | ARIA option }.
21
+ *
22
+ * @slot start - Content which can be provided before the listbox option content
23
+ * @slot end - Content which can be provided after the listbox option content
24
+ * @slot - The default slot for listbox option content
25
+ * @csspart content - Wraps the listbox option content
26
+ *
27
+ * @public
28
+ */
29
+ let ListboxOption$1 = class ListboxOption extends FoundationElement {
30
+ constructor(text, value, defaultSelected, selected) {
31
+ super();
32
+ /**
33
+ * The defaultSelected state of the option.
34
+ * @public
35
+ */
36
+ this.defaultSelected = false;
37
+ /**
38
+ * Tracks whether the "selected" property has been changed.
39
+ * @internal
40
+ */
41
+ this.dirtySelected = false;
42
+ /**
43
+ * The checked state of the control.
44
+ *
45
+ * @public
46
+ */
47
+ this.selected = this.defaultSelected;
48
+ /**
49
+ * Track whether the value has been changed from the initial value
50
+ */
51
+ this.dirtyValue = false;
52
+ if (text) {
53
+ this.textContent = text;
54
+ }
55
+ if (value) {
56
+ this.initialValue = value;
57
+ }
58
+ if (defaultSelected) {
59
+ this.defaultSelected = defaultSelected;
60
+ }
61
+ if (selected) {
62
+ this.selected = selected;
63
+ }
64
+ this.proxy = new Option(`${this.textContent}`, this.initialValue, this.defaultSelected, this.selected);
65
+ this.proxy.disabled = this.disabled;
66
+ }
67
+ /**
68
+ * Updates the ariaChecked property when the checked property changes.
69
+ *
70
+ * @param prev - the previous checked value
71
+ * @param next - the current checked value
72
+ *
73
+ * @public
74
+ */
75
+ checkedChanged(prev, next) {
76
+ if (typeof next === "boolean") {
77
+ this.ariaChecked = next ? "true" : "false";
78
+ return;
79
+ }
80
+ this.ariaChecked = null;
81
+ }
82
+ /**
83
+ * Updates the proxy's text content when the default slot changes.
84
+ * @param prev - the previous content value
85
+ * @param next - the current content value
86
+ *
87
+ * @internal
88
+ */
89
+ contentChanged(prev, next) {
90
+ if (this.proxy instanceof HTMLOptionElement) {
91
+ this.proxy.textContent = this.textContent;
92
+ }
93
+ this.$emit("contentchange", null, { bubbles: true });
94
+ }
95
+ defaultSelectedChanged() {
96
+ if (!this.dirtySelected) {
97
+ this.selected = this.defaultSelected;
98
+ if (this.proxy instanceof HTMLOptionElement) {
99
+ this.proxy.selected = this.defaultSelected;
100
+ }
101
+ }
102
+ }
103
+ disabledChanged(prev, next) {
104
+ this.ariaDisabled = this.disabled ? "true" : "false";
105
+ if (this.proxy instanceof HTMLOptionElement) {
106
+ this.proxy.disabled = this.disabled;
107
+ }
108
+ }
109
+ selectedAttributeChanged() {
110
+ this.defaultSelected = this.selectedAttribute;
111
+ if (this.proxy instanceof HTMLOptionElement) {
112
+ this.proxy.defaultSelected = this.defaultSelected;
113
+ }
114
+ }
115
+ selectedChanged() {
116
+ this.ariaSelected = this.selected ? "true" : "false";
117
+ if (!this.dirtySelected) {
118
+ this.dirtySelected = true;
119
+ }
120
+ if (this.proxy instanceof HTMLOptionElement) {
121
+ this.proxy.selected = this.selected;
122
+ }
123
+ }
124
+ initialValueChanged(previous, next) {
125
+ // If the value is clean and the component is connected to the DOM
126
+ // then set value equal to the attribute value.
127
+ if (!this.dirtyValue) {
128
+ this.value = this.initialValue;
129
+ this.dirtyValue = false;
130
+ }
131
+ }
132
+ get label() {
133
+ var _a;
134
+ return (_a = this.value) !== null && _a !== void 0 ? _a : this.text;
135
+ }
136
+ get text() {
137
+ var _a, _b;
138
+ return (_b = (_a = this.textContent) === null || _a === void 0 ? void 0 : _a.replace(/\s+/g, " ").trim()) !== null && _b !== void 0 ? _b : "";
139
+ }
140
+ set value(next) {
141
+ const newValue = `${next !== null && next !== void 0 ? next : ""}`;
142
+ this._value = newValue;
143
+ this.dirtyValue = true;
144
+ if (this.proxy instanceof HTMLOptionElement) {
145
+ this.proxy.value = newValue;
146
+ }
147
+ Observable.notify(this, "value");
148
+ }
149
+ get value() {
150
+ var _a;
151
+ Observable.track(this, "value");
152
+ return (_a = this._value) !== null && _a !== void 0 ? _a : this.text;
153
+ }
154
+ get form() {
155
+ return this.proxy ? this.proxy.form : null;
156
+ }
157
+ };
158
+ __decorate([
159
+ observable
160
+ ], ListboxOption$1.prototype, "checked", void 0);
161
+ __decorate([
162
+ observable
163
+ ], ListboxOption$1.prototype, "content", void 0);
164
+ __decorate([
165
+ observable
166
+ ], ListboxOption$1.prototype, "defaultSelected", void 0);
167
+ __decorate([
168
+ attr({ mode: "boolean" })
169
+ ], ListboxOption$1.prototype, "disabled", void 0);
170
+ __decorate([
171
+ attr({ attribute: "selected", mode: "boolean" })
172
+ ], ListboxOption$1.prototype, "selectedAttribute", void 0);
173
+ __decorate([
174
+ observable
175
+ ], ListboxOption$1.prototype, "selected", void 0);
176
+ __decorate([
177
+ attr({ attribute: "value", mode: "fromView" })
178
+ ], ListboxOption$1.prototype, "initialValue", void 0);
179
+ /**
180
+ * States and properties relating to the ARIA `option` role.
181
+ *
182
+ * @public
183
+ */
184
+ class DelegatesARIAListboxOption {
185
+ }
186
+ __decorate([
187
+ observable
188
+ ], DelegatesARIAListboxOption.prototype, "ariaChecked", void 0);
189
+ __decorate([
190
+ observable
191
+ ], DelegatesARIAListboxOption.prototype, "ariaPosInSet", void 0);
192
+ __decorate([
193
+ observable
194
+ ], DelegatesARIAListboxOption.prototype, "ariaSelected", void 0);
195
+ __decorate([
196
+ observable
197
+ ], DelegatesARIAListboxOption.prototype, "ariaSetSize", void 0);
198
+ applyMixins(DelegatesARIAListboxOption, ARIAGlobalStatesAndProperties);
199
+ applyMixins(ListboxOption$1, StartEnd, DelegatesARIAListboxOption);
200
+
201
+ export { ListboxOption$1 as L, isListboxOption as i };
@@ -2,7 +2,7 @@
2
2
 
3
3
  const keyCodes$1 = require('./key-codes2.cjs');
4
4
  const index = require('./index.cjs');
5
- const definition = require('./definition36.cjs');
5
+ const listboxOption = require('./listbox-option.cjs');
6
6
  const ariaGlobal = require('./aria-global.cjs');
7
7
  const applyMixins = require('./apply-mixins.cjs');
8
8
  const keyCodes = require('./key-codes.cjs');
@@ -458,7 +458,7 @@ let Listbox$1 = class Listbox extends index.FoundationElement {
458
458
  */
459
459
  slottedOptionsChanged(prev, next) {
460
460
  this.options = next.reduce((options, item) => {
461
- if (definition.isListboxOption(item)) {
461
+ if (listboxOption.isListboxOption(item)) {
462
462
  options.push(item);
463
463
  }
464
464
  return options;
@@ -503,7 +503,7 @@ let Listbox$1 = class Listbox extends index.FoundationElement {
503
503
  * @param n - element to filter
504
504
  * @public
505
505
  */
506
- Listbox$1.slottedOptionFilter = (n) => definition.isListboxOption(n) && !n.hidden;
506
+ Listbox$1.slottedOptionFilter = (n) => listboxOption.isListboxOption(n) && !n.hidden;
507
507
  /**
508
508
  * Typeahead timeout in milliseconds.
509
509
  *
package/shared/listbox.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { k as keyArrowLeft, a as keyArrowRight } from './key-codes2.js';
2
2
  import { F as FoundationElement, O as Observable, _ as __decorate, a as attr, o as observable, D as DOM, n as nullableNumberConverter } from './index.js';
3
- import { i as isListboxOption } from './definition36.js';
3
+ import { i as isListboxOption } from './listbox-option.js';
4
4
  import { A as ARIAGlobalStatesAndProperties } from './aria-global.js';
5
5
  import { a as applyMixins } from './apply-mixins.js';
6
6
  import { a as keySpace, b as keyEscape, k as keyEnter, c as keyTab, d as keyEnd, e as keyArrowUp, f as keyArrowDown, g as keyHome } from './key-codes.js';
@@ -10,6 +10,8 @@ import type { VideoPlayerLocale } from '../../lib/video-player/locale';
10
10
  import type { TimePickerLocale } from '../../lib/time-picker/locale';
11
11
  import type { RangeSliderLocale } from '../../lib/range-slider/locale';
12
12
  import type { DialPadLocale } from '../../lib/dial-pad/locale';
13
+ import type { TabLocale } from '../../lib/tab/locale';
14
+ import type { SearchableSelectLocale } from '../../lib/searchable-select/locale';
13
15
  export interface Locale {
14
16
  lang: string;
15
17
  common: {
@@ -27,4 +29,6 @@ export interface Locale {
27
29
  videoPlayer: VideoPlayerLocale;
28
30
  rangeSlider: RangeSliderLocale;
29
31
  dialPad: DialPadLocale;
32
+ tab: TabLocale;
33
+ searchableSelect: SearchableSelectLocale;
30
34
  }
@@ -1,11 +1,35 @@
1
1
  'use strict';
2
2
 
3
- const index = require('./index2.cjs');
3
+ const locales_enUS = require('../locales/en-US.cjs');
4
+ const index = require('./index.cjs');
5
+
6
+ var __defProp = Object.defineProperty;
7
+ var __decorateClass = (decorators, target, key, kind) => {
8
+ var result = void 0 ;
9
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
10
+ if (decorator = decorators[i])
11
+ result = (decorator(target, key, result) ) || result;
12
+ if (result) __defProp(target, key, result);
13
+ return result;
14
+ };
15
+ class CurrentLocale {
16
+ constructor() {
17
+ this.locale = locales_enUS;
18
+ }
19
+ }
20
+ __decorateClass([
21
+ index.observable
22
+ ], CurrentLocale.prototype, "locale");
23
+ const currentLocale = new CurrentLocale();
24
+ const setLocale = (locale) => {
25
+ currentLocale.locale = locale;
26
+ };
4
27
 
5
28
  class Localized {
6
29
  get locale() {
7
- return index.currentLocale.locale;
30
+ return currentLocale.locale;
8
31
  }
9
32
  }
10
33
 
11
34
  exports.Localized = Localized;
35
+ exports.setLocale = setLocale;
@@ -1,4 +1,27 @@
1
- import { c as currentLocale } from './index2.js';
1
+ import enUS from '../locales/en-US.js';
2
+ import { o as observable } from './index.js';
3
+
4
+ var __defProp = Object.defineProperty;
5
+ var __decorateClass = (decorators, target, key, kind) => {
6
+ var result = void 0 ;
7
+ for (var i = decorators.length - 1, decorator; i >= 0; i--)
8
+ if (decorator = decorators[i])
9
+ result = (decorator(target, key, result) ) || result;
10
+ if (result) __defProp(target, key, result);
11
+ return result;
12
+ };
13
+ class CurrentLocale {
14
+ constructor() {
15
+ this.locale = enUS;
16
+ }
17
+ }
18
+ __decorateClass([
19
+ observable
20
+ ], CurrentLocale.prototype, "locale");
21
+ const currentLocale = new CurrentLocale();
22
+ const setLocale = (locale) => {
23
+ currentLocale.locale = locale;
24
+ };
2
25
 
3
26
  class Localized {
4
27
  get locale() {
@@ -6,4 +29,4 @@ class Localized {
6
29
  }
7
30
  }
8
31
 
9
- export { Localized as L };
32
+ export { Localized as L, setLocale as s };
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ function getPlaybackRatesArray(playbackRates) {
4
+ if (playbackRates === "") return [];
5
+ const ratesArray = [];
6
+ playbackRates.split(",").forEach((numStr) => {
7
+ const num = Number(numStr);
8
+ if (!isNaN(num)) ratesArray.push(num);
9
+ });
10
+ return ratesArray;
11
+ }
12
+
13
+ exports.getPlaybackRatesArray = getPlaybackRatesArray;
@@ -0,0 +1,11 @@
1
+ function getPlaybackRatesArray(playbackRates) {
2
+ if (playbackRates === "") return [];
3
+ const ratesArray = [];
4
+ playbackRates.split(",").forEach((numStr) => {
5
+ const num = Number(numStr);
6
+ if (!isNaN(num)) ratesArray.push(num);
7
+ });
8
+ return ratesArray;
9
+ }
10
+
11
+ export { getPlaybackRatesArray as g };
@@ -1,8 +1,8 @@
1
1
  'use strict';
2
2
 
3
3
  const definition$2 = require('./definition11.cjs');
4
- const definition = require('./definition63.cjs');
5
- const definition$1 = require('./definition55.cjs');
4
+ const definition = require('./definition64.cjs');
5
+ const definition$1 = require('./definition56.cjs');
6
6
  const definition$3 = require('./definition22.cjs');
7
7
  const index = require('./index.cjs');
8
8
  const ref = require('./ref.cjs');
@@ -10,14 +10,14 @@ const slotted = require('./slotted.cjs');
10
10
  const repeat = require('./repeat.cjs');
11
11
  const when = require('./when.cjs');
12
12
  const classNames = require('./class-names.cjs');
13
- require('./affix.cjs');
14
- const index$1 = require('./index2.cjs');
15
- const localized = require('./localized.cjs');
16
- const trappedFocus = require('./trapped-focus.cjs');
17
13
  const applyMixinsWithObservables = require('./applyMixinsWithObservables.cjs');
14
+ const index$1 = require('./index2.cjs');
18
15
  const formAssociated = require('./form-associated.cjs');
16
+ const trappedFocus = require('./trapped-focus.cjs');
17
+ const formElements = require('./form-elements.cjs');
18
+ const localized = require('./localized.cjs');
19
19
 
20
- const styles = ":host{display:inline-block}.base{display:inline-block;inline-size:100%}.control{inline-size:100%}.dialog{display:inline-flex;flex-direction:column;padding:12px;gap:12px}.dialog .footer{display:flex;align-items:center;justify-content:flex-end;padding:8px;gap:8px}.segments{display:flex;gap:24px}.segment{display:flex;flex-direction:column;gap:12px}.segment .header{display:flex;align-items:center;padding-block:8px}.segment .title{display:flex;flex-grow:1;justify-content:center}.segment .title-action{border-radius:8px;block-size:24px;font:var(--vvd-typography-base-extended);padding-inline:8px}.calendar{display:flex;flex-direction:column;margin-top:8px;gap:4px}.calendar .calendar-separator{margin-inline:10px}.calendar .calendar-weekdays{display:flex;justify-content:center}.calendar .calendar-weekday{display:inline-flex;align-items:center;justify-content:center;block-size:16px;font:var(--vvd-typography-base-condensed);inline-size:40px}.calendar .calendar-week{display:flex;justify-content:center}.calendar .calendar-day{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;aspect-ratio:1/1;block-size:28px;font:var(--vvd-typography-base);margin-inline:6px;--focus-inset: -2px}.calendar .calendar-day.start,.calendar .calendar-day.end{border:2px solid var(--vvd-color-cta-50);background-color:var(--vvd-color-cta-200)}.calendar .calendar-day:before,.calendar .calendar-day:after{position:absolute;z-index:-1;display:block;width:20px;height:28px}.calendar .calendar-day:before{right:50%}.calendar .calendar-day:after{left:50%}.calendar .calendar-day.range:before,.calendar .calendar-day.range:after{background-color:var(--vvd-color-cta-50)}.calendar .calendar-day.range:not(.start):before,.calendar .calendar-day.range:not(.end):after{content:\"\"}.calendar .calendar-day.outside-month,.calendar .calendar-day:disabled{color:var(--vvd-color-neutral-400)}.months-separator{margin-inline:-12px}.month-grid{display:flex;flex-direction:column;gap:34px}.month-grid .months-row{display:flex;justify-content:center;gap:29px}.month-grid .month{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;aspect-ratio:1/1;block-size:48px;font:var(--vvd-typography-base-extended);text-transform:uppercase}.month-grid .month:disabled{color:var(--vvd-color-neutral-400)}.button{position:relative;padding:0;border:none;background-color:var(--_appearance-color-fill);color:var(--_appearance-color-text);cursor:pointer}.button{--_connotation-color-primary: var(--vvd-date-picker-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-firm: var(--vvd-date-picker-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-date-picker-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-date-picker-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-dim: var(--vvd-date-picker-accent-dim, var(--vvd-color-neutral-200));--_connotation-color-pale: var(--vvd-date-picker-accent-pale, var(--vvd-color-neutral-300))}.button{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.button:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.button:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.button:where(.selected):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.button:where(.selected):where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.button:where(.selected):where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: transparent}.button:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));color:var(--vvd-color-canvas-text)}.button.current{border:1px solid var(--vvd-color-neutral-200)}.button:disabled{cursor:not-allowed}";
20
+ const styles = ":host{display:inline-block}.base{display:inline-block;inline-size:100%}.control{inline-size:100%}.dialog{display:inline-flex;flex-direction:column;padding:12px;gap:12px}.dialog .footer{display:flex;align-items:center;justify-content:flex-end;padding:8px;gap:8px}.segments{display:flex;gap:24px}.segment{display:flex;flex-direction:column;gap:12px}.segment .header{display:flex;align-items:center;padding-block:8px}.segment .title{display:flex;flex-grow:1;justify-content:center}.segment .title-action{border-radius:8px;block-size:24px;font:var(--vvd-typography-base-extended);padding-inline:8px}.calendar{display:flex;flex-direction:column;margin-top:8px;gap:4px}.calendar .calendar-separator{margin-inline:10px}.calendar .calendar-weekdays{display:flex;justify-content:center}.calendar .calendar-weekday{display:inline-flex;align-items:center;justify-content:center;block-size:16px;font:var(--vvd-typography-base-condensed);inline-size:40px}.calendar .calendar-week{display:flex;justify-content:center}.calendar .calendar-day{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;aspect-ratio:1/1;block-size:28px;font:var(--vvd-typography-base);margin-inline:6px;--focus-inset: -2px}.calendar .calendar-day.start,.calendar .calendar-day.end{border:2px solid var(--vvd-color-cta-50);background-color:var(--vvd-color-cta-200)}.calendar .calendar-day:before,.calendar .calendar-day:after{position:absolute;z-index:-1;display:block;width:20px;height:28px}.calendar .calendar-day:before{right:50%}.calendar .calendar-day:after{left:50%}.calendar .calendar-day.range:before,.calendar .calendar-day.range:after{background-color:var(--vvd-color-cta-50)}.calendar .calendar-day.range:not(.start):before,.calendar .calendar-day.range:not(.end):after{content:\"\"}.calendar .calendar-day.outside-month,.calendar .calendar-day:disabled{color:var(--vvd-color-neutral-400)}.months-separator{margin-inline:-12px}.month-grid{display:flex;flex-direction:column;gap:34px}.month-grid .months-row{display:flex;justify-content:center;gap:29px}.month-grid .month{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;aspect-ratio:1/1;block-size:48px;font:var(--vvd-typography-base-extended);text-transform:uppercase}.month-grid .month:disabled{color:var(--vvd-color-neutral-400)}.button{--_connotation-color-primary: var(--vvd-date-picker-accent-primary, var(--vvd-color-canvas-text));--_connotation-color-firm: var(--vvd-date-picker-accent-firm, var(--vvd-color-canvas-text));--_connotation-color-faint: var(--vvd-date-picker-accent-faint, var(--vvd-color-neutral-50));--_connotation-color-soft: var(--vvd-date-picker-accent-soft, var(--vvd-color-neutral-100));--_connotation-color-dim: var(--vvd-date-picker-accent-dim, var(--vvd-color-neutral-200));--_connotation-color-pale: var(--vvd-date-picker-accent-pale, var(--vvd-color-neutral-300))}.button{--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: transparent;--_appearance-color-outline: transparent}.button:where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-faint);--_appearance-color-outline: transparent}.button:where(.active,:active):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.button:where(.selected):where(:not(.disabled,:disabled)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-soft);--_appearance-color-outline: transparent}.button:where(.selected):where(.hover,:hover):where(:not(.disabled,:disabled,.readonly)){--_appearance-color-text: var(--_connotation-color-firm);--_appearance-color-fill: var(--_connotation-color-dim);--_appearance-color-outline: transparent}.button:where(.selected):where(.disabled,:disabled){--_appearance-color-text: var(--vvd-color-neutral-300);--_appearance-color-fill: var(--vvd-color-neutral-200);--_appearance-color-outline: transparent}.button{position:relative;padding:0;border:none;background-color:var(--_appearance-color-fill);color:var(--_appearance-color-text);cursor:pointer}.button:focus-visible{--focus-stroke-gap-color: transparent;box-shadow:inset 0 0 0 3px var(--focus-stroke-gap-color, currentColor);outline:2px solid var(--focus-stroke-color, var(--vvd-color-canvas-text));outline-offset:calc(-2px - var(--focus-inset, 0px));color:var(--vvd-color-canvas-text)}.button.current{border:1px solid var(--vvd-color-neutral-200)}.button:disabled{cursor:not-allowed}";
21
21
 
22
22
  function _typeof(obj) {
23
23
  "@babel/helpers - typeof";
@@ -1289,7 +1289,7 @@ function formatTimezoneShort(offset, dirtyDelimiter) {
1289
1289
  if (minutes === 0) {
1290
1290
  return sign + String(hours);
1291
1291
  }
1292
- var delimiter = dirtyDelimiter ;
1292
+ var delimiter = dirtyDelimiter;
1293
1293
  return sign + String(hours) + delimiter + addLeadingZeros(minutes, 2);
1294
1294
  }
1295
1295
  function formatTimezoneWithOptionalMinutes(offset, dirtyDelimiter) {
@@ -2406,7 +2406,7 @@ function _unsupportedIterableToArray(o, minLen) {
2406
2406
  function _createForOfIteratorHelper(o, allowArrayLike) {
2407
2407
  var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"];
2408
2408
  if (!it) {
2409
- if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike ) {
2409
+ if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike) {
2410
2410
  if (it) o = it;
2411
2411
  var i = 0;
2412
2412
  var F = function F() {};
@@ -5834,7 +5834,7 @@ class DatePickerBase extends FormAssociatedDatePickerBase {
5834
5834
  * @internal
5835
5835
  */
5836
5836
  _onBaseKeyDown(event) {
5837
- if (event.key === "Escape") {
5837
+ if (this._popupOpen && index$1.handleEscapeKeyAndStopPropogation(event)) {
5838
5838
  this._closePopup();
5839
5839
  return false;
5840
5840
  }
@@ -6199,7 +6199,7 @@ __decorateClass([
6199
6199
  applyMixinsWithObservables.applyMixinsWithObservables(
6200
6200
  DatePickerBase,
6201
6201
  localized.Localized,
6202
- index$1.FormElementHelperText,
6202
+ formElements.FormElementHelperText,
6203
6203
  trappedFocus.TrappedFocus
6204
6204
  );
6205
6205