@vonage/vivid 3.0.0-next.82 → 3.0.0-next.84

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 (80) hide show
  1. package/accordion/index.js +2 -9
  2. package/accordion-item/index.js +8 -22
  3. package/action-group/index.js +2 -8
  4. package/avatar/index.js +4 -14
  5. package/badge/index.js +3 -13
  6. package/banner/index.js +3 -26
  7. package/breadcrumb/index.js +1 -1
  8. package/breadcrumb-item/index.js +5 -9
  9. package/calendar/index.js +12 -49
  10. package/calendar-event/index.js +4 -7
  11. package/card/index.js +9 -28
  12. package/checkbox/index.js +3 -11
  13. package/dialog/index.js +7 -59
  14. package/divider/index.js +1 -0
  15. package/fab/index.js +2 -8
  16. package/focus/index.js +2 -2
  17. package/header/index.js +2 -7
  18. package/icon/index.js +2 -5
  19. package/index.js +5 -1
  20. package/layout/index.js +1 -9
  21. package/lib/badge/badge.d.ts +1 -3
  22. package/lib/components.d.ts +2 -0
  23. package/lib/listbox-option/index.d.ts +4 -0
  24. package/lib/listbox-option/listbox-option.d.ts +7 -0
  25. package/lib/listbox-option/listbox-option.template.d.ts +4 -0
  26. package/lib/radio-group/index.d.ts +10 -0
  27. package/lib/radio-group/radio-group.d.ts +4 -0
  28. package/lib/radio-group/radio-group.template.d.ts +4 -0
  29. package/listbox-option/index.js +248 -0
  30. package/menu/index.js +2 -7
  31. package/menu-item/index.js +1 -0
  32. package/nav/index.js +1 -1
  33. package/nav-disclosure/index.js +4 -11
  34. package/nav-item/index.js +2 -2
  35. package/note/index.js +4 -12
  36. package/number-field/index.js +25 -21
  37. package/package.json +13 -9
  38. package/popup/index.js +0 -1
  39. package/progress/index.js +5 -13
  40. package/progress-ring/index.js +4 -8
  41. package/radio/index.js +7 -131
  42. package/radio-group/index.js +435 -0
  43. package/shared/affix.js +1 -6
  44. package/shared/apply-mixins.js +5 -4
  45. package/shared/aria.js +9 -0
  46. package/shared/calendar-event.js +0 -7
  47. package/shared/direction.js +20 -0
  48. package/shared/enums.js +0 -17
  49. package/shared/es.object.assign.js +4 -4
  50. package/shared/export.js +79 -57
  51. package/shared/focus2.js +1 -1
  52. package/shared/form-associated.js +1 -1
  53. package/shared/form-elements.js +5 -27
  54. package/shared/icon.js +8 -18
  55. package/shared/index.js +38 -25
  56. package/shared/index2.js +2 -13
  57. package/shared/index3.js +1 -5
  58. package/shared/index4.js +3 -12
  59. package/shared/index5.js +6 -581
  60. package/shared/index6.js +7 -29
  61. package/shared/iterators.js +3 -3
  62. package/shared/key-codes.js +7 -1
  63. package/shared/object-keys.js +2 -2
  64. package/shared/patterns/form-elements/form-elements.d.ts +1 -1
  65. package/shared/radio.js +127 -0
  66. package/shared/ref.js +1 -1
  67. package/shared/slotted.js +1 -1
  68. package/shared/text-anchor.js +0 -2
  69. package/shared/text-anchor.template.js +1 -3
  70. package/shared/web.dom-collections.iterator.js +6 -8
  71. package/side-drawer/index.js +3 -16
  72. package/styles/core/all.css +1 -1
  73. package/styles/core/theme.css +1 -1
  74. package/styles/core/typography.css +1 -1
  75. package/styles/tokens/theme-dark.css +29 -23
  76. package/styles/tokens/theme-light.css +29 -23
  77. package/text-area/index.js +3 -9
  78. package/text-field/index.js +4 -14
  79. package/tooltip/index.js +2 -10
  80. package/shared/regexp-flags.js +0 -21
@@ -0,0 +1,248 @@
1
+ import '../icon/index.js';
2
+ import '../focus/index.js';
3
+ import { F as FoundationElement, O as Observable, _ as __decorate, o as observable, a as attr, b as __metadata, h as html, d as designSystem } from '../shared/index.js';
4
+ import { A as AffixIconWithTrailing, a as affixIconTemplateFactory } from '../shared/affix.js';
5
+ import { A as ARIAGlobalStatesAndProperties } from '../shared/aria-global.js';
6
+ import { S as StartEnd } from '../shared/start-end.js';
7
+ import { a as applyMixins } from '../shared/apply-mixins.js';
8
+ import { f as focusTemplateFactory } from '../shared/focus2.js';
9
+ import '../shared/web.dom-collections.iterator.js';
10
+ import '../shared/icon.js';
11
+ import { w as when } from '../shared/when.js';
12
+ import { c as classNames } from '../shared/class-names.js';
13
+ import '../shared/export.js';
14
+ import '../shared/iterators.js';
15
+ import '../shared/to-string.js';
16
+ import '../shared/_has.js';
17
+ import '../shared/focus.js';
18
+ import '../shared/ref.js';
19
+ import '../shared/object-keys.js';
20
+
21
+ /**
22
+ * An Option Custom HTML Element.
23
+ * Implements {@link https://www.w3.org/TR/wai-aria-1.1/#option | ARIA option }.
24
+ *
25
+ * @slot start - Content which can be provided before the listbox option content
26
+ * @slot end - Content which can be provided after the listbox option content
27
+ * @slot - The default slot for listbox option content
28
+ * @csspart content - Wraps the listbox option content
29
+ *
30
+ * @public
31
+ */
32
+ class ListboxOption$1 extends FoundationElement {
33
+ constructor(text, value, defaultSelected, selected) {
34
+ super();
35
+ /**
36
+ * The defaultSelected state of the option.
37
+ * @public
38
+ */
39
+ this.defaultSelected = false;
40
+ /**
41
+ * Tracks whether the "selected" property has been changed.
42
+ * @internal
43
+ */
44
+ this.dirtySelected = false;
45
+ /**
46
+ * The checked state of the control.
47
+ *
48
+ * @public
49
+ */
50
+ this.selected = this.defaultSelected;
51
+ /**
52
+ * Track whether the value has been changed from the initial value
53
+ */
54
+ this.dirtyValue = false;
55
+ if (text) {
56
+ this.textContent = text;
57
+ }
58
+ if (value) {
59
+ this.initialValue = value;
60
+ }
61
+ if (defaultSelected) {
62
+ this.defaultSelected = defaultSelected;
63
+ }
64
+ if (selected) {
65
+ this.selected = selected;
66
+ }
67
+ this.proxy = new Option(`${this.textContent}`, this.initialValue, this.defaultSelected, this.selected);
68
+ this.proxy.disabled = this.disabled;
69
+ }
70
+ /**
71
+ * Updates the ariaChecked property when the checked property changes.
72
+ *
73
+ * @param prev - the previous checked value
74
+ * @param next - the current checked value
75
+ *
76
+ * @public
77
+ */
78
+ checkedChanged(prev, next) {
79
+ if (typeof next === "boolean") {
80
+ this.ariaChecked = next ? "true" : "false";
81
+ return;
82
+ }
83
+ this.ariaChecked = null;
84
+ }
85
+ /**
86
+ * Updates the proxy's text content when the default slot changes.
87
+ * @param prev - the previous content value
88
+ * @param next - the current content value
89
+ *
90
+ * @internal
91
+ */
92
+ contentChanged(prev, next) {
93
+ if (this.proxy instanceof HTMLOptionElement) {
94
+ this.proxy.textContent = this.textContent;
95
+ }
96
+ this.$emit("contentchange", null, { bubbles: true });
97
+ }
98
+ defaultSelectedChanged() {
99
+ if (!this.dirtySelected) {
100
+ this.selected = this.defaultSelected;
101
+ if (this.proxy instanceof HTMLOptionElement) {
102
+ this.proxy.selected = this.defaultSelected;
103
+ }
104
+ }
105
+ }
106
+ disabledChanged(prev, next) {
107
+ this.ariaDisabled = this.disabled ? "true" : "false";
108
+ if (this.proxy instanceof HTMLOptionElement) {
109
+ this.proxy.disabled = this.disabled;
110
+ }
111
+ }
112
+ selectedAttributeChanged() {
113
+ this.defaultSelected = this.selectedAttribute;
114
+ if (this.proxy instanceof HTMLOptionElement) {
115
+ this.proxy.defaultSelected = this.defaultSelected;
116
+ }
117
+ }
118
+ selectedChanged() {
119
+ this.ariaSelected = this.selected ? "true" : "false";
120
+ if (!this.dirtySelected) {
121
+ this.dirtySelected = true;
122
+ }
123
+ if (this.proxy instanceof HTMLOptionElement) {
124
+ this.proxy.selected = this.selected;
125
+ }
126
+ }
127
+ initialValueChanged(previous, next) {
128
+ // If the value is clean and the component is connected to the DOM
129
+ // then set value equal to the attribute value.
130
+ if (!this.dirtyValue) {
131
+ this.value = this.initialValue;
132
+ this.dirtyValue = false;
133
+ }
134
+ }
135
+ get label() {
136
+ var _a;
137
+ return (_a = this.value) !== null && _a !== void 0 ? _a : this.text;
138
+ }
139
+ get text() {
140
+ var _a, _b;
141
+ return (_b = (_a = this.textContent) === null || _a === void 0 ? void 0 : _a.replace(/\s+/g, " ").trim()) !== null && _b !== void 0 ? _b : "";
142
+ }
143
+ set value(next) {
144
+ const newValue = `${next !== null && next !== void 0 ? next : ""}`;
145
+ this._value = newValue;
146
+ this.dirtyValue = true;
147
+ if (this.proxy instanceof HTMLOptionElement) {
148
+ this.proxy.value = newValue;
149
+ }
150
+ Observable.notify(this, "value");
151
+ }
152
+ get value() {
153
+ var _a;
154
+ Observable.track(this, "value");
155
+ return (_a = this._value) !== null && _a !== void 0 ? _a : this.text;
156
+ }
157
+ get form() {
158
+ return this.proxy ? this.proxy.form : null;
159
+ }
160
+ }
161
+ __decorate([
162
+ observable
163
+ ], ListboxOption$1.prototype, "checked", void 0);
164
+ __decorate([
165
+ observable
166
+ ], ListboxOption$1.prototype, "content", void 0);
167
+ __decorate([
168
+ observable
169
+ ], ListboxOption$1.prototype, "defaultSelected", void 0);
170
+ __decorate([
171
+ attr({ mode: "boolean" })
172
+ ], ListboxOption$1.prototype, "disabled", void 0);
173
+ __decorate([
174
+ attr({ attribute: "selected", mode: "boolean" })
175
+ ], ListboxOption$1.prototype, "selectedAttribute", void 0);
176
+ __decorate([
177
+ observable
178
+ ], ListboxOption$1.prototype, "selected", void 0);
179
+ __decorate([
180
+ attr({ attribute: "value", mode: "fromView" })
181
+ ], ListboxOption$1.prototype, "initialValue", void 0);
182
+ /**
183
+ * States and properties relating to the ARIA `option` role.
184
+ *
185
+ * @public
186
+ */
187
+ class DelegatesARIAListboxOption {
188
+ }
189
+ __decorate([
190
+ observable
191
+ ], DelegatesARIAListboxOption.prototype, "ariaChecked", void 0);
192
+ __decorate([
193
+ observable
194
+ ], DelegatesARIAListboxOption.prototype, "ariaPosInSet", void 0);
195
+ __decorate([
196
+ observable
197
+ ], DelegatesARIAListboxOption.prototype, "ariaSelected", void 0);
198
+ __decorate([
199
+ observable
200
+ ], DelegatesARIAListboxOption.prototype, "ariaSetSize", void 0);
201
+ applyMixins(DelegatesARIAListboxOption, ARIAGlobalStatesAndProperties);
202
+ applyMixins(ListboxOption$1, StartEnd, DelegatesARIAListboxOption);
203
+
204
+ class ListboxOption extends ListboxOption$1 {}
205
+ __decorate([attr({
206
+ attribute: 'text'
207
+ }), __metadata("design:type", String)], ListboxOption.prototype, "optionText", void 0);
208
+ applyMixins(ListboxOption, AffixIconWithTrailing);
209
+
210
+ let _ = t => t,
211
+ _t,
212
+ _t2;
213
+ const getClasses = ({
214
+ icon,
215
+ disabled,
216
+ selected,
217
+ checked
218
+ }) => classNames('base', ['disabled', disabled], ['selected', Boolean(selected)], ['active', Boolean(checked)], ['icon', Boolean(icon)]);
219
+ const ListboxOptionTemplate = context => {
220
+ const affixIconTemplate = affixIconTemplateFactory(context);
221
+ const focusTemplate = focusTemplateFactory(context);
222
+ return html(_t || (_t = _`
223
+ <template
224
+ aria-checked="${0}"
225
+ aria-disabled="${0}"
226
+ aria-posinset="${0}"
227
+ aria-selected="${0}"
228
+ aria-setsize="${0}"
229
+ role="option">
230
+ <div class="${0}">
231
+ ${0}
232
+ ${0}
233
+ ${0}
234
+ </div>
235
+ </template>
236
+ `), x => x.ariaChecked, x => x.ariaDisabled, x => x.ariaPosInSet, x => x.ariaSelected, x => x.ariaSetSize, getClasses, () => focusTemplate, x => affixIconTemplate(x.icon), when(x => x.optionText, html(_t2 || (_t2 = _`<div class="text">${0}</div>`), x => x.optionText)));
237
+ };
238
+
239
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Mon, 31 Oct 2022 12:51:44 GMT\n */\n.base {\n display: flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n border-radius: 6px;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n font: var(--vvd-typography-base);\n gap: 8px;\n hyphens: auto;\n inline-size: 100%;\n min-block-size: 40px;\n padding-block: 10px;\n padding-inline: 8px;\n vertical-align: middle;\n word-break: break-word;\n}\n.base {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-primary-increment: var(--vvd-color-neutral-800);\n --_connotation-color-faint: var(--vvd-color-neutral-50);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n}\n.base {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.base:where(.selected, [aria-current]):where(:not(:disabled, .disabled, :hover, .hover)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.base:where(.selected, [aria-current]):where(:hover, .hover) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary-increment);\n --_appearance-color-outline: transparent;\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base:not(.disabled) {\n cursor: pointer;\n}\n.base.disabled {\n cursor: not-allowed;\n}\n.base .text {\n font: var(--vvd-typography-base);\n}\n\n.icon {\n font-size: 20px;\n}\n\n.focus-indicator {\n --focus-stroke-color: var(--vvd-color-neutral-500);\n}\n:host(:not([aria-checked=true])) .focus-indicator {\n display: none;\n}";
240
+
241
+ const vividListboxOption = ListboxOption.compose({
242
+ baseName: 'option',
243
+ template: ListboxOptionTemplate,
244
+ styles: css_248z
245
+ });
246
+ designSystem.register(vividListboxOption());
247
+
248
+ export { vividListboxOption };
package/menu/index.js CHANGED
@@ -26,7 +26,7 @@ import '../shared/start-end.js';
26
26
  import '../shared/focus2.js';
27
27
  import '../shared/es.object.assign.js';
28
28
  import '../shared/object-keys.js';
29
- import '../shared/regexp-flags.js';
29
+ import '../shared/direction.js';
30
30
 
31
31
  /**
32
32
  * A test that ensures that all arguments are HTML Elements
@@ -327,24 +327,19 @@ class Menu extends Menu$1 {
327
327
  constructor() {
328
328
  super(...arguments);
329
329
  this.open = false;
330
-
331
330
  this.popupOpenChanged = () => {
332
331
  this.open = this._popup.open;
333
332
  };
334
333
  }
335
-
336
334
  }
337
-
338
335
  __decorate([attr({
339
336
  mode: 'boolean'
340
337
  }), __metadata("design:type", Object)], Menu.prototype, "open", void 0);
341
-
342
338
  __decorate([attr, __metadata("design:type", String)], Menu.prototype, "placement", void 0);
343
-
344
339
  __decorate([attr, __metadata("design:type", String)], Menu.prototype, "anchor", void 0);
345
340
 
346
341
  let _ = t => t,
347
- _t;
342
+ _t;
348
343
  const MenuTemplate = context => {
349
344
  const popupTag = context.tagFor(Popup);
350
345
  return html(_t || (_t = _`
@@ -13,6 +13,7 @@ import '../shared/web.dom-collections.iterator.js';
13
13
  import '../shared/object-keys.js';
14
14
  import '../shared/start-end.js';
15
15
  import '../shared/ref.js';
16
+ import '../shared/direction.js';
16
17
  import '../shared/apply-mixins.js';
17
18
  import '../shared/key-codes.js';
18
19
  import '../shared/focus2.js';
package/nav/index.js CHANGED
@@ -3,7 +3,7 @@ import { F as FoundationElement, h as html, d as designSystem } from '../shared/
3
3
  class Nav extends FoundationElement {}
4
4
 
5
5
  let _ = t => t,
6
- _t;
6
+ _t;
7
7
  const NavTemplate = () => html(_t || (_t = _`
8
8
  <nav><slot></slot></nav>
9
9
  `));
@@ -16,46 +16,39 @@ import '../shared/class-names.js';
16
16
  import '../shared/focus.js';
17
17
  import '../shared/object-keys.js';
18
18
 
19
- var css_248z = "/**\n * Do not edit directly\n * Generated on Thu, 27 Oct 2022 06:37:06 GMT\n */\n.control {\n position: relative;\n display: flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n border-radius: 6px;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n cursor: pointer;\n font: var(--vvd-typography-base);\n gap: 8px;\n hyphens: auto;\n inline-size: 100%;\n min-block-size: 40px;\n padding-inline: 8px;\n text-decoration: none;\n vertical-align: middle;\n word-break: break-word;\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.control:where(.selected, [aria-current]):where(:not(:disabled, .disabled, :hover, .hover, :active, .active)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.control {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-faint: var(--vvd-color-neutral-50);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n}\n@supports selector(:focus-visible) {\n .control:focus {\n outline: none;\n }\n}\n@supports (user-select: none) {\n .control {\n user-select: none;\n }\n}\n.control .toggleIcon {\n margin-inline-start: auto;\n}\n\n.control:not(:focus-visible) .focus-indicator {\n display: none;\n}\n\n.icon {\n font-size: 20px;\n}\n\n.content {\n border-inline-start: 1px solid var(--vvd-color-neutral-200);\n margin-inline-start: 20px;\n padding-inline-start: 12px;\n}\n\ndetails > summary {\n list-style: none;\n}\n\ndetails > summary::-webkit-details-marker {\n display: none;\n}";
19
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Mon, 31 Oct 2022 12:51:44 GMT\n */\n.control {\n position: relative;\n display: flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n border-radius: 6px;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n cursor: pointer;\n font: var(--vvd-typography-base);\n gap: 8px;\n hyphens: auto;\n inline-size: 100%;\n min-block-size: 40px;\n padding-inline: 8px;\n text-decoration: none;\n vertical-align: middle;\n word-break: break-word;\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.control:where(.selected, [aria-current]):where(:not(:disabled, .disabled, :hover, .hover)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.control {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-faint: var(--vvd-color-neutral-50);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n}\n@supports selector(:focus-visible) {\n .control:focus {\n outline: none;\n }\n}\n@supports (user-select: none) {\n .control {\n user-select: none;\n }\n}\n.control .toggleIcon {\n margin-inline-start: auto;\n}\n\n.control:not(:focus-visible) .focus-indicator {\n display: none;\n}\n\n.icon {\n font-size: 20px;\n}\n\n.content {\n border-inline-start: 1px solid var(--vvd-color-neutral-200);\n margin-inline-start: 20px;\n padding-inline-start: 12px;\n}\n\ndetails > summary {\n list-style: none;\n}\n\ndetails > summary::-webkit-details-marker {\n display: none;\n}";
20
20
 
21
21
  var _NavDisclosure_onToggle;
22
22
  class NavDisclosure extends FoundationElement {
23
23
  constructor() {
24
24
  super(...arguments);
25
25
  this.open = false;
26
-
27
26
  _NavDisclosure_onToggle.set(this, () => {
28
27
  this.open = this.details.open;
29
28
  this.$emit('toggle');
30
29
  });
31
30
  }
32
-
33
31
  connectedCallback() {
34
32
  super.connectedCallback();
35
33
  this.details.addEventListener('toggle', __classPrivateFieldGet(this, _NavDisclosure_onToggle, "f"));
36
34
  this.details.open = this.open;
37
35
  }
38
-
39
36
  disconnectedCallback() {
40
37
  super.disconnectedCallback();
41
38
  this.details.removeEventListener('toggle', __classPrivateFieldGet(this, _NavDisclosure_onToggle, "f"));
42
39
  }
43
-
44
40
  }
45
41
  _NavDisclosure_onToggle = new WeakMap();
46
-
47
42
  __decorate([attr, __metadata("design:type", String)], NavDisclosure.prototype, "label", void 0);
48
-
49
43
  __decorate([attr({
50
44
  mode: 'boolean'
51
45
  }), __metadata("design:type", Object)], NavDisclosure.prototype, "open", void 0);
52
-
53
46
  applyMixins(NavDisclosure, AffixIcon);
54
47
 
55
48
  let _ = t => t,
56
- _t,
57
- _t2,
58
- _t3;
49
+ _t,
50
+ _t2,
51
+ _t3;
59
52
  const NavDisclosureTemplate = context => {
60
53
  const affixIconTemplate = affixIconTemplateFactory(context);
61
54
  const focusTemplate = focusTemplateFactory(context);
package/nav-item/index.js CHANGED
@@ -21,13 +21,13 @@ import '../shared/start-end.js';
21
21
  import '../shared/ref.js';
22
22
  import '../shared/focus2.js';
23
23
 
24
- var css_248z = "/**\n * Do not edit directly\n * Generated on Thu, 27 Oct 2022 06:37:06 GMT\n */\n.control {\n position: relative;\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n border-radius: 6px;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n font: var(--vvd-typography-base);\n gap: 8px;\n hyphens: auto;\n inline-size: 100%;\n min-block-size: 40px;\n padding-block: 10px;\n padding-inline: 8px;\n text-decoration: none;\n vertical-align: middle;\n word-break: break-word;\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.control:where(.selected, [aria-current]):where(:not(:disabled, .disabled, :hover, .hover, :active, .active)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.control {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-faint: var(--vvd-color-neutral-50);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n}\n@supports selector(:focus-visible) {\n .control:focus {\n outline: none;\n }\n}\n.control.icon-only {\n display: flex;\n block-size: 40px;\n inline-size: 40px;\n place-content: center;\n}\n\n.control:not(:focus-visible) .focus-indicator {\n display: none;\n}\n\n.icon {\n font-size: 20px;\n}";
24
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Mon, 31 Oct 2022 12:51:44 GMT\n */\n.control {\n position: relative;\n display: inline-flex;\n box-sizing: border-box;\n align-items: center;\n background-color: var(--_appearance-color-fill);\n border-radius: 6px;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: var(--_appearance-color-text);\n font: var(--vvd-typography-base);\n gap: 8px;\n hyphens: auto;\n inline-size: 100%;\n min-block-size: 40px;\n padding-block: 10px;\n padding-inline: 8px;\n text-decoration: none;\n vertical-align: middle;\n word-break: break-word;\n}\n.control {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.control:where(:hover, .hover):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.control:where(:active, .active):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-soft);\n --_appearance-color-outline: transparent;\n}\n.control:where(.selected, [aria-current]):where(:not(:disabled, .disabled, :hover, .hover)) {\n --_appearance-color-text: var(--_connotation-color-primary-text);\n --_appearance-color-fill: var(--_connotation-color-primary);\n --_appearance-color-outline: transparent;\n}\n.control {\n --_connotation-color-primary: var(--vvd-color-canvas-text);\n --_connotation-color-primary-text: var(--vvd-color-canvas);\n --_connotation-color-faint: var(--vvd-color-neutral-50);\n --_connotation-color-soft: var(--vvd-color-neutral-100);\n}\n@supports selector(:focus-visible) {\n .control:focus {\n outline: none;\n }\n}\n.control.icon-only {\n display: flex;\n block-size: 40px;\n inline-size: 40px;\n place-content: center;\n}\n\n.control:not(:focus-visible) .focus-indicator {\n display: none;\n}\n\n.icon {\n font-size: 20px;\n}";
25
25
 
26
26
  class NavItem extends TextAnchor {}
27
27
  applyMixins(NavItem, AffixIcon);
28
28
 
29
29
  let _ = t => t,
30
- _t;
30
+ _t;
31
31
  const NavItemTemplate = (context, definition) => html(_t || (_t = _`
32
32
  ${0}
33
33
  `), textAnchorTemplate(context));
package/note/index.js CHANGED
@@ -14,38 +14,30 @@ import '../shared/iterators.js';
14
14
  import '../shared/to-string.js';
15
15
  import '../shared/_has.js';
16
16
 
17
- var css_248z = "/**\n * Do not edit directly\n * Generated on Thu, 27 Oct 2022 06:37:06 GMT\n */\n.base {\n display: flex;\n align-items: stretch;\n padding: 20px;\n border-left: 8px solid var(--_connotation-color-primary);\n background-color: var(--vvd-color-canvas);\n border-radius: 6px;\n box-shadow: inset 0 1px 0 0 var(--vvd-color-neutral-300), inset -1px 0 0 0 var(--vvd-color-neutral-300), inset 0 -1px 0 0 var(--vvd-color-neutral-300);\n color: var(--vvd-color-canvas-text);\n}\n.base.connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n}\n.base.connotation-information {\n --_connotation-color-primary: var(--vvd-color-information-500);\n}\n.base.connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n}\n.base.connotation-warning {\n --_connotation-color-primary: var(--vvd-color-warning-500);\n}\n.base:not(.connotation-success, .connotation-information, .connotation-alert, .connotation-warning) {\n --_connotation-color-primary: var(--vvd-color-announcement-500);\n}\n@supports (contain: content) {\n .base {\n contain: content;\n }\n}\n@supports not (contain: content) {\n .base {\n overflow: hidden;\n }\n}\n\n.icon {\n align-self: flex-start;\n font-size: 24px;\n margin-inline-end: 16px;\n}\n\n.text {\n display: flex;\n min-height: 24px;\n flex: 1;\n flex-direction: column;\n justify-content: center;\n gap: 4px;\n text-align: start;\n}\n.text .headline {\n font: var(--vvd-typography-base-bold);\n}\n.text .message {\n font: var(--vvd-typography-base);\n}";
17
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Mon, 31 Oct 2022 12:51:44 GMT\n */\n.base {\n display: flex;\n align-items: stretch;\n padding: 20px;\n border-left: 8px solid var(--_connotation-color-primary);\n background-color: var(--vvd-color-canvas);\n border-radius: 6px;\n box-shadow: inset 0 1px 0 0 var(--vvd-color-neutral-300), inset -1px 0 0 0 var(--vvd-color-neutral-300), inset 0 -1px 0 0 var(--vvd-color-neutral-300);\n color: var(--vvd-color-canvas-text);\n}\n.base.connotation-success {\n --_connotation-color-primary: var(--vvd-color-success-500);\n}\n.base.connotation-information {\n --_connotation-color-primary: var(--vvd-color-information-500);\n}\n.base.connotation-alert {\n --_connotation-color-primary: var(--vvd-color-alert-500);\n}\n.base.connotation-warning {\n --_connotation-color-primary: var(--vvd-color-warning-500);\n}\n.base:not(.connotation-success, .connotation-information, .connotation-alert, .connotation-warning) {\n --_connotation-color-primary: var(--vvd-color-announcement-500);\n}\n@supports (contain: content) {\n .base {\n contain: content;\n }\n}\n@supports not (contain: content) {\n .base {\n overflow: hidden;\n }\n}\n\n.icon {\n align-self: flex-start;\n font-size: 24px;\n margin-inline-end: 16px;\n}\n\n.text {\n display: flex;\n min-height: 24px;\n flex: 1;\n flex-direction: column;\n justify-content: center;\n gap: 4px;\n text-align: start;\n}\n.text .headline {\n font: var(--vvd-typography-base-bold);\n}\n.text .message {\n font: var(--vvd-typography-base);\n}";
18
18
 
19
19
  class Note extends FoundationElement {}
20
-
21
20
  __decorate([attr, __metadata("design:type", String)], Note.prototype, "headline", void 0);
22
-
23
21
  __decorate([attr, __metadata("design:type", String)], Note.prototype, "connotation", void 0);
24
-
25
22
  applyMixins(Note, AffixIcon);
26
23
 
27
24
  let _ = t => t,
28
- _t,
29
- _t2,
30
- _t3;
25
+ _t,
26
+ _t2,
27
+ _t3;
31
28
  const connotationIconMap = new Map([[Connotation.Information, 'info-solid'], [Connotation.Announcement, 'megaphone-solid'], [Connotation.Success, 'check-circle-solid'], [Connotation.Warning, 'warning-solid'], [Connotation.Alert, 'error-solid']]);
32
-
33
29
  const getClasses = ({
34
30
  connotation
35
31
  }) => classNames('base', `connotation-${connotation}`);
36
-
37
32
  function getHeaderTemplate() {
38
33
  return html(_t || (_t = _`<div class="headline">${0}</div>`), x => x.headline);
39
34
  }
40
-
41
35
  function getIconType(note) {
42
36
  return note.icon ? note.icon : note.connotation ? connotationIconMap.get(note.connotation) : 'megaphone-solid';
43
37
  }
44
-
45
38
  function getIconTemplate() {
46
39
  return html(_t2 || (_t2 = _`<vwc-icon class="icon" type="${0}"></vwc-icon>`), getIconType);
47
40
  }
48
-
49
41
  const NoteTemplate = () => html(_t3 || (_t3 = _`
50
42
  <div class="${0}">
51
43
  ${0}
@@ -8,9 +8,8 @@ import { S as StartEnd } from '../shared/start-end.js';
8
8
  import { a as applyMixins } from '../shared/apply-mixins.js';
9
9
  import { F as FormAssociated } from '../shared/form-associated.js';
10
10
  import { e as keyArrowDown, d as keyArrowUp } from '../shared/key-codes.js';
11
- import { x as functionCall, q as hasOwnProperty_1, b as objectIsPrototypeOf, D as functionName, v as defineBuiltIn$1, e as fails$1, j as anObject$1 } from '../shared/export.js';
11
+ import { j as anObject$2, x as functionCall, q as hasOwnProperty_1, b as objectIsPrototypeOf, D as functionName, v as defineBuiltIn$1, e as fails$1 } from '../shared/export.js';
12
12
  import { t as toString } from '../shared/to-string.js';
13
- import { r as regexpFlags } from '../shared/regexp-flags.js';
14
13
  import { S as Shape, D as Density } from '../shared/enums.js';
15
14
  import { f as focusTemplateFactory } from '../shared/focus2.js';
16
15
  import { w as when } from '../shared/when.js';
@@ -25,6 +24,7 @@ import '../shared/web.dom-collections.iterator.js';
25
24
  import '../shared/object-keys.js';
26
25
  import '../shared/button.js';
27
26
  import '../shared/aria-global.js';
27
+ import '../shared/aria.js';
28
28
 
29
29
  class _NumberField extends FoundationElement {
30
30
  }
@@ -322,21 +322,34 @@ __decorate([
322
322
  ], NumberField$1.prototype, "defaultSlottedNodes", void 0);
323
323
  applyMixins(NumberField$1, StartEnd, DelegatesARIATextbox);
324
324
 
325
- var css_248z = "/**\n * Do not edit directly\n * Generated on Thu, 27 Oct 2022 06:37:06 GMT\n */\n:host {\n display: inline-block;\n}\n\n.base {\n display: inline-grid;\n width: 100%;\n gap: 4px;\n grid-template-columns: min-content 1fr max-content;\n}\n.base {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--vvd-color-canvas);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base.appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--vvd-color-canvas);\n --_appearance-color-outline: var(--vvd-color-canvas-text);\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled)).appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: var(--vvd-color-neutral-100);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base:where(:disabled, .disabled).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:readonly, .readonly):where(:not(:disabled, .disabled, :hover, .hover, :active, .active)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--vvd-color-neutral-100);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base:where(:readonly, .readonly):where(:not(:disabled, .disabled, :hover, .hover, :active, .active)).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(.error):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-alert-500);\n --_appearance-color-fill: var(--vvd-color-alert-100);\n --_appearance-color-outline: var(--vvd-color-alert-500);\n}\n.base:where(.error):where(:not(:disabled, .disabled)).appearance-ghost {\n --_appearance-color-text: transparent;\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(.success):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--vvd-color-success-100);\n --_appearance-color-outline: var(--vvd-color-success-500);\n}\n.base:where(.success):where(:not(:disabled, .disabled)).appearance-ghost {\n --_appearance-color-text: transparent;\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base:not(.disabled) {\n --_low-ink-color: var(--vvd-color-neutral-600);\n}\n.base.disabled {\n --_low-ink-color: var(--vvd-color-neutral-400);\n}\n\n.label {\n contain: inline-size;\n font: var(--vvd-typography-base);\n grid-column: 1/4;\n grid-row: 1;\n}\n.char-count + .label {\n grid-column: 1/3;\n}\n.base:not(.disabled) .label {\n color: var(--vvd-color-canvas-text);\n}\n.base.disabled .label {\n color: var(--vvd-color-neutral-400);\n}\n\n.char-count {\n color: var(--_low-ink-color);\n font: var(--vvd-typography-base);\n grid-column: 3/4;\n}\n\n.fieldset {\n position: relative;\n display: flex;\n align-items: center;\n color: var(--_appearance-color-text);\n grid-column: 1/4;\n transition: color 0.2s;\n /* Size */\n /* Shape */\n}\n.success .fieldset {\n --focus-stroke-color: var(--vvd-color-success-500);\n}\n.error .fieldset {\n --focus-stroke-color: var(--vvd-color-alert-500);\n}\n.base:not(.density-extended) > .fieldset {\n block-size: 40px;\n}\n.base.density-extended > .fieldset {\n block-size: 48px;\n}\n.base:not(.shape-pill) .fieldset {\n border-radius: 6px;\n}\n.base.shape-pill .fieldset {\n border-radius: 24px;\n}\n\n.control {\n width: 100%;\n border: 0 none;\n background-color: var(--_appearance-color-fill);\n block-size: 100%;\n border-radius: inherit;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: inherit;\n font: var(--vvd-typography-base);\n padding-inline-end: 16px;\n padding-inline-start: 16px;\n transition: box-shadow 0.2s, background-color 0.2s;\n}\n@supports selector(:focus-visible) {\n .control:focus {\n outline: none;\n }\n}\n.control::placeholder {\n color: var(--_low-ink-color);\n}\n\n.icon {\n position: absolute;\n z-index: 1;\n color: var(--_low-ink-color);\n font-size: 20px;\n inset-inline-start: 16px;\n}\n.icon + .control {\n padding-inline-start: 44px;\n}\n\n.focus-indicator {\n --focus-stroke-gap-color: transparent;\n pointer-events: none;\n}\n.fieldset:not(:focus-visible, :focus-within) > .focus-indicator {\n display: none;\n}\n\n.control {\n padding-inline-end: 70px;\n}\n.control::-webkit-outer-spin-button, .control::-webkit-inner-spin-button {\n appearance: none;\n}\n.control-buttons {\n position: absolute;\n z-index: 1;\n right: 3px;\n display: flex;\n}\n.readonly .control-buttons, .disabled .control-buttons {\n pointer-events: none;\n}\n.control-buttons .divider {\n margin-block: 8px;\n}\n.control-buttons > * {\n flex-shrink: 0;\n}\n\n.disabled .focus-indicator {\n display: none;\n pointer-events: none;\n}";
325
+ var css_248z = "/**\n * Do not edit directly\n * Generated on Mon, 31 Oct 2022 12:51:44 GMT\n */\n:host {\n display: inline-block;\n}\n\n.base {\n display: inline-grid;\n width: 100%;\n gap: 4px;\n grid-template-columns: min-content 1fr max-content;\n}\n.base {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--vvd-color-canvas);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base.appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--vvd-color-canvas);\n --_appearance-color-outline: var(--vvd-color-canvas-text);\n}\n.base:where(:hover, .hover):where(:not(:disabled, .disabled)).appearance-ghost {\n --_appearance-color-text: var(--_connotation-color-primary);\n --_appearance-color-fill: var(--_connotation-color-faint);\n --_appearance-color-outline: transparent;\n}\n.base:where(:disabled, .disabled) {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: var(--vvd-color-neutral-100);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base:where(:disabled, .disabled).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(:readonly, .readonly):where(:not(:disabled, .disabled, :hover, .hover, :active, .active)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--vvd-color-neutral-100);\n --_appearance-color-outline: var(--vvd-color-neutral-400);\n}\n.base:where(:readonly, .readonly):where(:not(:disabled, .disabled, :hover, .hover, :active, .active)).appearance-ghost {\n --_appearance-color-text: var(--vvd-color-neutral-400);\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(.error):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-alert-500);\n --_appearance-color-fill: var(--vvd-color-alert-100);\n --_appearance-color-outline: var(--vvd-color-alert-500);\n}\n.base:where(.error):where(:not(:disabled, .disabled)).appearance-ghost {\n --_appearance-color-text: transparent;\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n.base:where(.success):where(:not(:disabled, .disabled)) {\n --_appearance-color-text: var(--vvd-color-canvas-text);\n --_appearance-color-fill: var(--vvd-color-success-100);\n --_appearance-color-outline: var(--vvd-color-success-500);\n}\n.base:where(.success):where(:not(:disabled, .disabled)).appearance-ghost {\n --_appearance-color-text: transparent;\n --_appearance-color-fill: transparent;\n --_appearance-color-outline: transparent;\n}\n@supports (user-select: none) {\n .base {\n user-select: none;\n }\n}\n.base:not(.disabled) {\n --_low-ink-color: var(--vvd-color-neutral-600);\n}\n.base.disabled {\n --_low-ink-color: var(--vvd-color-neutral-400);\n}\n\n.label {\n contain: inline-size;\n font: var(--vvd-typography-base);\n grid-column: 1/4;\n grid-row: 1;\n}\n.char-count + .label {\n grid-column: 1/3;\n}\n.base:not(.disabled) .label {\n color: var(--vvd-color-canvas-text);\n}\n.base.disabled .label {\n color: var(--vvd-color-neutral-400);\n}\n\n.char-count {\n color: var(--_low-ink-color);\n font: var(--vvd-typography-base);\n grid-column: 3/4;\n}\n\n.fieldset {\n position: relative;\n display: flex;\n align-items: center;\n color: var(--_appearance-color-text);\n grid-column: 1/4;\n transition: color 0.2s;\n /* Size */\n /* Shape */\n}\n.success .fieldset {\n --focus-stroke-color: var(--vvd-color-success-500);\n}\n.error .fieldset {\n --focus-stroke-color: var(--vvd-color-alert-500);\n}\n.base:not(.density-extended) > .fieldset {\n block-size: 40px;\n}\n.base.density-extended > .fieldset {\n block-size: 48px;\n}\n.base:not(.shape-pill) .fieldset {\n border-radius: 6px;\n}\n.base.shape-pill .fieldset {\n border-radius: 24px;\n}\n\n.control {\n width: 100%;\n border: 0 none;\n background-color: var(--_appearance-color-fill);\n block-size: 100%;\n border-radius: inherit;\n box-shadow: inset 0 0 0 1px var(--_appearance-color-outline);\n color: inherit;\n font: var(--vvd-typography-base);\n padding-inline-end: 16px;\n padding-inline-start: 16px;\n transition: box-shadow 0.2s, background-color 0.2s;\n}\n@supports selector(:focus-visible) {\n .control:focus {\n outline: none;\n }\n}\n.control::placeholder {\n color: var(--_low-ink-color);\n}\n\n.icon {\n position: absolute;\n z-index: 1;\n color: var(--_low-ink-color);\n font-size: 20px;\n inset-inline-start: 16px;\n}\n.icon + .control {\n padding-inline-start: 44px;\n}\n\n.focus-indicator {\n --focus-stroke-gap-color: transparent;\n pointer-events: none;\n}\n.fieldset:not(:focus-visible, :focus-within) > .focus-indicator {\n display: none;\n}\n\n.control {\n padding-inline-end: 70px;\n}\n.control::-webkit-outer-spin-button, .control::-webkit-inner-spin-button {\n appearance: none;\n}\n.control-buttons {\n position: absolute;\n z-index: 1;\n right: 3px;\n display: flex;\n}\n.readonly .control-buttons, .disabled .control-buttons {\n pointer-events: none;\n}\n.control-buttons .divider {\n margin-block: 8px;\n}\n.control-buttons > * {\n flex-shrink: 0;\n}\n\n.disabled .focus-indicator {\n display: none;\n pointer-events: none;\n}";
326
326
 
327
327
  let NumberField = class NumberField extends NumberField$1 {};
328
-
329
328
  __decorate([attr, __metadata("design:type", String)], NumberField.prototype, "density", void 0);
330
-
331
329
  __decorate([attr, __metadata("design:type", String)], NumberField.prototype, "appearance", void 0);
332
-
333
330
  __decorate([attr, __metadata("design:type", String)], NumberField.prototype, "shape", void 0);
334
-
335
331
  __decorate([attr, __metadata("design:type", String)], NumberField.prototype, "autoComplete", void 0);
336
-
337
332
  NumberField = __decorate([formElements], NumberField);
338
333
  applyMixins(NumberField, AffixIcon);
339
334
 
335
+ var anObject$1 = anObject$2;
336
+
337
+ // `RegExp.prototype.flags` getter implementation
338
+ // https://tc39.es/ecma262/#sec-get-regexp.prototype.flags
339
+ var regexpFlags = function () {
340
+ var that = anObject$1(this);
341
+ var result = '';
342
+ if (that.hasIndices) result += 'd';
343
+ if (that.global) result += 'g';
344
+ if (that.ignoreCase) result += 'i';
345
+ if (that.multiline) result += 'm';
346
+ if (that.dotAll) result += 's';
347
+ if (that.unicode) result += 'u';
348
+ if (that.unicodeSets) result += 'v';
349
+ if (that.sticky) result += 'y';
350
+ return result;
351
+ };
352
+
340
353
  var call = functionCall;
341
354
  var hasOwn = hasOwnProperty_1;
342
355
  var isPrototypeOf = objectIsPrototypeOf;
@@ -352,7 +365,7 @@ var regexpGetFlags = function (R) {
352
365
 
353
366
  var PROPER_FUNCTION_NAME = functionName.PROPER;
354
367
  var defineBuiltIn = defineBuiltIn$1;
355
- var anObject = anObject$1;
368
+ var anObject = anObject$2;
356
369
  var $toString = toString;
357
370
  var fails = fails$1;
358
371
  var getRegExpFlags = regexpGetFlags;
@@ -377,12 +390,11 @@ if (NOT_GENERIC || INCORRECT_NAME) {
377
390
  }
378
391
 
379
392
  let _ = t => t,
380
- _t,
381
- _t2,
382
- _t3;
393
+ _t,
394
+ _t2,
395
+ _t3;
383
396
  const ADD = 1;
384
397
  const SUBTRACT = -1;
385
-
386
398
  const getStateClasses = ({
387
399
  errorValidationMessage,
388
400
  disabled,
@@ -395,30 +407,24 @@ const getStateClasses = ({
395
407
  label,
396
408
  successText
397
409
  }) => classNames(['error', Boolean(errorValidationMessage)], ['disabled', disabled], ['has-value', Boolean(value)], ['readonly', readOnly], ['placeholder', Boolean(placeholder)], [`density-${density}`, Boolean(density)], [`appearance-${appearance}`, Boolean(appearance)], [`shape-${shape}`, Boolean(shape)], ['no-label', !label], ['success', !!successText]);
398
-
399
410
  function renderLabel() {
400
411
  return html(_t || (_t = _`
401
412
  <label for="control" class="label">
402
413
  ${0}
403
414
  </label>`), x => x.label);
404
415
  }
405
-
406
416
  function adjustValueByStep(numberField, direction = ADD) {
407
417
  numberField.value = (Number(numberField.value) + direction * (numberField.step ? numberField.step : 1)).toString();
408
418
  }
409
-
410
419
  function setControlButtonShape(numberField) {
411
420
  return numberField.shape === Shape.Pill ? Shape.Pill : null;
412
421
  }
413
-
414
422
  function setControlButtonDensity(numberField) {
415
423
  return numberField.density === Density.Extended ? Density.Normal : Density.Condensed;
416
424
  }
417
-
418
425
  function getTabIndex(numberField) {
419
426
  return numberField.disabled || numberField.readOnly ? '-1' : null;
420
427
  }
421
-
422
428
  function numberControlButtons(context) {
423
429
  const buttonTag = context.tagFor(Button);
424
430
  const dividerTag = context.tagFor(Divider);
@@ -441,7 +447,6 @@ function numberControlButtons(context) {
441
447
  </div>
442
448
  `), x => x.disabled || x.readOnly, buttonTag, setControlButtonShape, setControlButtonDensity, getTabIndex, x => adjustValueByStep(x, SUBTRACT), buttonTag, dividerTag, dividerTag, buttonTag, setControlButtonShape, setControlButtonDensity, getTabIndex, x => adjustValueByStep(x), buttonTag);
443
449
  }
444
-
445
450
  const NumberFieldTemplate = context => {
446
451
  const focusTemplate = focusTemplateFactory(context);
447
452
  return html(_t3 || (_t3 = _`
@@ -499,7 +504,6 @@ const NumberFieldTemplate = context => {
499
504
  </div>
500
505
  `), getStateClasses, when(x => x.label, renderLabel()), x => x.handleTextInput(), x => x.handleChange(), x => x.autofocus, x => x.disabled, x => x.list, x => x.step ? x.step : null, x => x.max, x => x.min, x => x.maxlength, x => x.minlength, x => x.placeholder, x => x.readOnly, x => x.required, x => x.size, x => x.autoComplete, x => x.name, x => x.spellcheck, x => x.value, x => x.ariaAtomic, x => x.ariaBusy, x => x.ariaControls, x => x.ariaCurrent, x => x.ariaDescribedby, x => x.ariaDetails, x => x.ariaDisabled, x => x.ariaErrormessage, x => x.ariaFlowto, x => x.ariaHaspopup, x => x.ariaHidden, x => x.ariaInvalid, x => x.ariaKeyshortcuts, x => x.ariaLabel, x => x.ariaLabelledby, x => x.ariaLive, x => x.ariaOwns, x => x.ariaRelevant, x => x.ariaRoledescription, ref('control'), () => focusTemplate, () => numberControlButtons(context), when(x => {
501
506
  var _a;
502
-
503
507
  return !x.successText && !x.errorValidationMessage && ((_a = x.helperText) === null || _a === void 0 ? void 0 : _a.length);
504
508
  }, getFeedbackTemplate('helper', context)), when(x => !x.successText && x.errorValidationMessage, getFeedbackTemplate('error', context)), when(x => x.successText, getFeedbackTemplate('success', context)));
505
509
  };
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@vonage/vivid",
3
- "version": "3.0.0-next.82",
3
+ "version": "3.0.0-next.84",
4
4
  "type": "module",
5
- "module": "./index.esm.js",
5
+ "module": "./index.js",
6
6
  "main": "./index.js",
7
7
  "homepage": "https://vivid.deno.dev",
8
8
  "repository": {
@@ -40,24 +40,28 @@
40
40
  "./nav-disclosure": "./nav-disclosure",
41
41
  "./nav-item": "./nav-item",
42
42
  "./note": "./note",
43
+ "./option": "./listbox-option",
43
44
  "./popup": "./popup",
44
45
  "./progress": "./progress",
45
46
  "./progress-ring": "./progress-ring",
46
47
  "./radio": "./radio",
48
+ "./radio-group": "./radio-group",
47
49
  "./side-drawer": "./side-drawer",
48
50
  "./text-field": "./text-field",
49
51
  "./text-area": "./text-area",
50
52
  "./tooltip": "./tooltip",
51
53
  "./number-field": "./number-field"
52
54
  },
53
- "typings": "./index.d.ts",
55
+ "types": "./index.d.ts",
54
56
  "dependencies": {
55
- "@microsoft/fast-element": "^1.10.5",
56
- "@microsoft/fast-foundation": "^2.46.14",
57
- "@microsoft/fast-web-utilities": "^5.4.1",
58
- "ramda": "^0.27.2",
59
- "dialog-polyfill": "^0.5.6",
60
- "@floating-ui/dom": "^0.5.4"
57
+ "rollup-plugin-postcss": "4.0.2",
58
+ "@microsoft/fast-element": "1.11.0",
59
+ "@microsoft/fast-foundation": "2.47.0",
60
+ "@microsoft/fast-web-utilities": "5.4.1",
61
+ "ramda": "0.27.2",
62
+ "dialog-polyfill": "0.5.6",
63
+ "@floating-ui/dom": "0.5.4",
64
+ "markdown-it": "12.3.2"
61
65
  },
62
66
  "peerDependencies": {}
63
67
  }
package/popup/index.js CHANGED
@@ -24,4 +24,3 @@ import '../shared/start-end.js';
24
24
  import '../shared/ref.js';
25
25
  import '../shared/focus2.js';
26
26
  import '../shared/es.object.assign.js';
27
- import '../shared/regexp-flags.js';