@vonage/vivid 4.22.0 → 4.23.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 (213) hide show
  1. package/custom-elements.json +1987 -631
  2. package/lib/accordion-item/accordion-item.d.ts +11 -5
  3. package/lib/action-group/action-group.d.ts +8 -6
  4. package/lib/alert/alert.d.ts +21 -9
  5. package/lib/audio-player/audio-player.d.ts +11 -5
  6. package/lib/badge/badge.d.ts +11 -5
  7. package/lib/banner/banner.d.ts +26 -12
  8. package/lib/breadcrumb/breadcrumb.d.ts +333 -1
  9. package/lib/breadcrumb/breadcrumb.template.d.ts +2 -3
  10. package/lib/breadcrumb-item/breadcrumb-item.d.ts +8 -6
  11. package/lib/button/button.d.ts +11 -5
  12. package/lib/calendar-event/calendar-event.d.ts +333 -1
  13. package/lib/checkbox/checkbox.d.ts +8 -6
  14. package/lib/combobox/combobox.d.ts +11 -5
  15. package/lib/date-picker/date-picker.d.ts +74 -50
  16. package/lib/date-range-picker/date-range-picker.d.ts +38 -26
  17. package/lib/date-time-picker/date-time-picker.d.ts +76 -52
  18. package/lib/dial-pad/dial-pad.d.ts +11 -5
  19. package/lib/dialog/dialog.d.ts +16 -8
  20. package/lib/divider/divider.d.ts +8 -6
  21. package/lib/fab/fab.d.ts +11 -5
  22. package/lib/file-picker/file-picker.d.ts +339 -3
  23. package/lib/header/header.d.ts +333 -1
  24. package/lib/menu/menu.d.ts +16 -8
  25. package/lib/menu-item/menu-item.d.ts +338 -2
  26. package/lib/nav/nav.d.ts +333 -1
  27. package/lib/nav-disclosure/nav-disclosure.d.ts +16 -8
  28. package/lib/nav-item/nav-item.d.ts +11 -5
  29. package/lib/note/note.d.ts +11 -5
  30. package/lib/number-field/number-field.d.ts +26 -12
  31. package/lib/option/option.d.ts +339 -3
  32. package/lib/progress/progress.d.ts +8 -6
  33. package/lib/progress-ring/progress-ring.d.ts +8 -6
  34. package/lib/radio-group/radio-group.d.ts +333 -1
  35. package/lib/range-slider/range-slider.d.ts +11 -5
  36. package/lib/rich-text-editor/facades/prose-mirror-vivid.schema.d.ts +1 -1
  37. package/lib/rich-text-editor/facades/vivid-prose-mirror.facade.d.ts +7 -1
  38. package/lib/rich-text-editor/menubar/consts.d.ts +18 -0
  39. package/lib/rich-text-editor/menubar/menubar.d.ts +3 -0
  40. package/lib/rich-text-editor/rich-text-editor.d.ts +10 -0
  41. package/lib/searchable-select/option-tag.d.ts +11 -5
  42. package/lib/searchable-select/searchable-select.d.ts +349 -7
  43. package/lib/select/select.d.ts +339 -3
  44. package/lib/selectable-box/selectable-box.d.ts +8 -6
  45. package/lib/slider/slider.d.ts +16 -8
  46. package/lib/split-button/split-button.d.ts +26 -12
  47. package/lib/switch/switch.d.ts +8 -6
  48. package/lib/tab/tab.d.ts +349 -7
  49. package/lib/tab-panel/tab-panel.d.ts +333 -1
  50. package/lib/tag/tag.d.ts +338 -2
  51. package/lib/tag-group/tag-group.d.ts +8 -6
  52. package/lib/text-anchor/text-anchor.d.ts +16 -8
  53. package/lib/text-area/text-area.d.ts +8 -6
  54. package/lib/text-field/text-field.d.ts +16 -8
  55. package/lib/time-picker/time-picker.d.ts +38 -26
  56. package/lib/toggletip/toggletip.d.ts +9 -3
  57. package/lib/tooltip/tooltip.d.ts +9 -3
  58. package/lib/tree-item/tree-item.d.ts +338 -2
  59. package/lib/tree-view/tree-view.d.ts +333 -1
  60. package/lib/video-player/video-player.d.ts +11 -5
  61. package/package.json +1 -1
  62. package/shared/affix.js +1 -1
  63. package/shared/aria/aria-change-subscription.d.ts +6 -0
  64. package/shared/aria/aria-mixin.d.ts +338 -0
  65. package/shared/aria/delegate-aria-behavior.d.ts +31 -0
  66. package/shared/aria/delegates-aria.d.ts +14 -9
  67. package/shared/aria/host-semantics-behavior.d.ts +22 -0
  68. package/shared/aria/host-semantics.d.ts +337 -0
  69. package/shared/attribute-binding-behaviour.cjs +41 -0
  70. package/shared/attribute-binding-behaviour.js +39 -0
  71. package/shared/calendar-event.cjs +2 -1
  72. package/shared/calendar-event.js +2 -1
  73. package/shared/definition.js +1 -1
  74. package/shared/definition10.cjs +8 -2
  75. package/shared/definition10.js +9 -3
  76. package/shared/definition11.cjs +4 -28
  77. package/shared/definition11.js +5 -29
  78. package/shared/definition12.cjs +4 -1
  79. package/shared/definition12.js +5 -2
  80. package/shared/definition13.js +1 -1
  81. package/shared/definition14.js +1 -1
  82. package/shared/definition15.cjs +8 -7
  83. package/shared/definition15.js +10 -9
  84. package/shared/definition16.js +1 -1
  85. package/shared/definition17.js +1 -1
  86. package/shared/definition18.js +1 -1
  87. package/shared/definition19.js +1 -1
  88. package/shared/definition2.js +1 -1
  89. package/shared/definition20.js +1 -1
  90. package/shared/definition21.js +1 -1
  91. package/shared/definition22.cjs +3 -2
  92. package/shared/definition22.js +5 -4
  93. package/shared/definition23.cjs +4 -2
  94. package/shared/definition23.js +6 -4
  95. package/shared/definition24.js +1 -1
  96. package/shared/definition25.cjs +2 -14
  97. package/shared/definition25.js +3 -15
  98. package/shared/definition26.cjs +7 -2
  99. package/shared/definition26.js +8 -3
  100. package/shared/definition27.cjs +3 -2
  101. package/shared/definition27.js +4 -3
  102. package/shared/definition28.js +1 -1
  103. package/shared/definition29.js +1 -1
  104. package/shared/definition3.cjs +3 -2
  105. package/shared/definition3.js +5 -4
  106. package/shared/definition30.cjs +33 -34
  107. package/shared/definition30.js +35 -36
  108. package/shared/definition31.cjs +6 -4
  109. package/shared/definition31.js +8 -6
  110. package/shared/definition32.js +1 -1
  111. package/shared/definition33.cjs +7 -2
  112. package/shared/definition33.js +8 -3
  113. package/shared/definition34.js +1 -1
  114. package/shared/definition35.cjs +2 -13
  115. package/shared/definition35.js +4 -15
  116. package/shared/definition36.cjs +8 -5
  117. package/shared/definition36.js +9 -6
  118. package/shared/definition37.js +1 -1
  119. package/shared/definition38.cjs +7 -8
  120. package/shared/definition38.js +9 -10
  121. package/shared/definition39.cjs +7 -8
  122. package/shared/definition39.js +9 -10
  123. package/shared/definition4.js +1 -1
  124. package/shared/definition40.cjs +8 -5
  125. package/shared/definition40.js +9 -6
  126. package/shared/definition41.js +1 -1
  127. package/shared/definition42.js +1 -1
  128. package/shared/definition43.cjs +465 -105
  129. package/shared/definition43.js +457 -97
  130. package/shared/definition44.cjs +9 -6
  131. package/shared/definition44.js +10 -7
  132. package/shared/definition45.cjs +13 -7
  133. package/shared/definition45.js +14 -8
  134. package/shared/definition46.cjs +18 -6
  135. package/shared/definition46.js +20 -8
  136. package/shared/definition47.js +1 -1
  137. package/shared/definition48.js +1 -1
  138. package/shared/definition49.cjs +10 -3
  139. package/shared/definition49.js +12 -5
  140. package/shared/definition5.cjs +7 -2
  141. package/shared/definition5.js +8 -3
  142. package/shared/definition50.cjs +7 -6
  143. package/shared/definition50.js +9 -8
  144. package/shared/definition51.cjs +3 -2
  145. package/shared/definition51.js +4 -3
  146. package/shared/definition52.cjs +8 -4
  147. package/shared/definition52.js +9 -5
  148. package/shared/definition53.js +1 -1
  149. package/shared/definition54.cjs +4 -3
  150. package/shared/definition54.js +6 -5
  151. package/shared/definition55.cjs +7 -4
  152. package/shared/definition55.js +8 -5
  153. package/shared/definition56.cjs +68 -14
  154. package/shared/definition56.js +69 -15
  155. package/shared/definition57.cjs +163 -112
  156. package/shared/definition57.js +165 -114
  157. package/shared/definition58.js +1 -1
  158. package/shared/definition59.js +1 -1
  159. package/shared/definition6.js +1 -1
  160. package/shared/definition60.js +1 -1
  161. package/shared/definition61.cjs +8 -5
  162. package/shared/definition61.js +9 -6
  163. package/shared/definition62.cjs +5 -2
  164. package/shared/definition62.js +6 -3
  165. package/shared/definition63.js +1 -1
  166. package/shared/definition64.js +1 -1
  167. package/shared/definition65.js +1 -1
  168. package/shared/definition7.js +1 -1
  169. package/shared/definition8.cjs +4 -2
  170. package/shared/definition8.js +6 -4
  171. package/shared/definition9.js +1 -1
  172. package/shared/delegates-aria.cjs +106 -56
  173. package/shared/delegates-aria.js +107 -58
  174. package/shared/foundation/button/button.d.ts +8 -6
  175. package/shared/foundation/vivid-element/vivid-element.d.ts +339 -1
  176. package/shared/host-semantics.cjs +65 -0
  177. package/shared/host-semantics.js +62 -0
  178. package/shared/option.cjs +4 -1
  179. package/shared/option.js +4 -1
  180. package/shared/patterns/affix.d.ts +22 -10
  181. package/shared/patterns/anchored.d.ts +18 -6
  182. package/shared/patterns/localized.d.ts +11 -5
  183. package/shared/patterns/trapped-focus.d.ts +11 -5
  184. package/shared/picker-field/mixins/calendar-picker.d.ts +19 -13
  185. package/shared/picker-field/mixins/calendar-picker.template.d.ts +19 -13
  186. package/shared/picker-field/mixins/inline-time-picker/inline-time-picker.d.ts +11 -5
  187. package/shared/picker-field/mixins/min-max-calendar-picker.d.ts +38 -26
  188. package/shared/picker-field/mixins/single-date-picker.d.ts +55 -37
  189. package/shared/picker-field/mixins/single-value-picker.d.ts +17 -11
  190. package/shared/picker-field/mixins/time-selection-picker.d.ts +38 -26
  191. package/shared/picker-field/mixins/time-selection-picker.template.d.ts +38 -26
  192. package/shared/picker-field/picker-field.d.ts +21 -9
  193. package/shared/picker-field.template.js +1 -1
  194. package/shared/repeat.js +1 -1
  195. package/shared/slider.template.cjs +10 -9
  196. package/shared/slider.template.js +10 -9
  197. package/shared/templating/attribute-binding-behaviour.d.ts +15 -0
  198. package/shared/templating/render-in-light-dom.d.ts +22 -0
  199. package/shared/text-anchor.template.cjs +2 -13
  200. package/shared/text-anchor.template.js +2 -13
  201. package/shared/time-selection-picker.template.js +1 -1
  202. package/shared/vivid-element.cjs +96 -2
  203. package/shared/vivid-element.js +93 -3
  204. package/styles/core/all.css +1 -1
  205. package/styles/core/theme.css +1 -1
  206. package/styles/core/typography.css +1 -1
  207. package/styles/tokens/theme-dark.css +4 -4
  208. package/styles/tokens/theme-light.css +4 -4
  209. package/styles/tokens/vivid-2-compat.css +1 -1
  210. package/text-anchor/index.js +1 -1
  211. package/vivid.api.json +155 -14
  212. package/shared/Reflector.cjs +0 -71
  213. package/shared/Reflector.js +0 -69
@@ -22,20 +22,20 @@ export declare const TimeSelectionPicker: <T_4 extends AbstractConstructor<{
22
22
  _pickerButtonEl: import("../../..").VwcButtonElement;
23
23
  connectedCallback(): void;
24
24
  disconnectedCallback(): void;
25
- "__#17@#onFocusIn": () => void;
26
- "__#17@#onFocusOut": () => void;
25
+ "__#16@#onFocusIn": () => void;
26
+ "__#16@#onFocusOut": () => void;
27
27
  errorValidationMessage: string;
28
28
  validate(): void;
29
29
  _getCustomValidationError(): string | null;
30
- "__#17@#localeChangeHandler": {
30
+ "__#16@#localeChangeHandler": {
31
31
  handleChange: () => void;
32
32
  };
33
- "__#17@#localeChangeObserver": BindingObserver<any, any, any>;
34
- "__#17@#startObservingLocaleChanges"(): void;
35
- "__#17@#stopObservingLocaleChanges"(): void;
33
+ "__#16@#localeChangeObserver": BindingObserver<any, any, any>;
34
+ "__#16@#startObservingLocaleChanges"(): void;
35
+ "__#16@#stopObservingLocaleChanges"(): void;
36
36
  _popupOpen: boolean;
37
- "__#17@#dismissOnClickOutside": (event: MouseEvent) => void;
38
- "__#17@#openPopupIfPossible"(): void;
37
+ "__#16@#dismissOnClickOutside": (event: MouseEvent) => void;
38
+ "__#16@#openPopupIfPossible"(): void;
39
39
  _closePopup(restoreFocusToTextField?: boolean): void;
40
40
  _onBaseKeyDown(event: KeyboardEvent): boolean;
41
41
  _focusableElsWithinDialog(): NodeListOf<HTMLElement>;
@@ -50,6 +50,11 @@ export declare const TimeSelectionPicker: <T_4 extends AbstractConstructor<{
50
50
  _onPickerButtonClick(): void;
51
51
  _onOkClick(): void;
52
52
  _trappedFocus(event: KeyboardEvent, getFocusableEls: () => NodeListOf<HTMLElement>): boolean;
53
+ specialHandling: boolean;
54
+ _vividAriaBehaviour: import("../../aria/aria-mixin").VividAriaBehaviour;
55
+ readonly $fastController: import("@microsoft/fast-element").Controller;
56
+ $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
57
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
53
58
  accessKey: string;
54
59
  readonly accessKeyLabel: string;
55
60
  autocapitalize: string;
@@ -366,9 +371,10 @@ export declare const TimeSelectionPicker: <T_4 extends AbstractConstructor<{
366
371
  tabIndex: number;
367
372
  blur(): void;
368
373
  focus(options?: FocusOptions | undefined): void;
369
- readonly $fastController: import("@microsoft/fast-element").Controller;
370
- $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
371
- attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
374
+ ariaColIndexText: string | null;
375
+ ariaDescription: string | null;
376
+ ariaRowIndexText: string | null;
377
+ ariaRelevant: string | null;
372
378
  readonly locale: import("../../localization/Locale").Locale;
373
379
  proxy: HTMLInputElement;
374
380
  dirtyValue: boolean;
@@ -410,12 +416,12 @@ export declare const TimeSelectionPicker: <T_4 extends AbstractConstructor<{
410
416
  readonly _displaySeconds: boolean;
411
417
  readonly _use12hClock: boolean;
412
418
  readonly _timePlaceholder: string;
413
- "__#20@#clockChangeHandler": {
419
+ "__#19@#clockChangeHandler": {
414
420
  handleChange: () => void;
415
421
  };
416
- "__#20@#clockChangeObserver": BindingObserver;
417
- "__#20@#startObservingClockChanges"(): void;
418
- "__#20@#stopObservingClockChanges"(): void;
422
+ "__#19@#clockChangeObserver": BindingObserver;
423
+ "__#19@#startObservingClockChanges"(): void;
424
+ "__#19@#stopObservingClockChanges"(): void;
419
425
  connectedCallback(): void;
420
426
  disconnectedCallback(): void;
421
427
  _onPickerButtonClick(): void;
@@ -438,20 +444,20 @@ export declare const TimeSelectionPicker: <T_4 extends AbstractConstructor<{
438
444
  _textFieldEl: import("../../..").VwcTextFieldElement;
439
445
  _dialogEl: HTMLElement;
440
446
  _pickerButtonEl: import("../../..").VwcButtonElement;
441
- "__#17@#onFocusIn": () => void;
442
- "__#17@#onFocusOut": () => void;
447
+ "__#16@#onFocusIn": () => void;
448
+ "__#16@#onFocusOut": () => void;
443
449
  errorValidationMessage: string;
444
450
  validate(): void;
445
451
  _getCustomValidationError(): string | null;
446
- "__#17@#localeChangeHandler": {
452
+ "__#16@#localeChangeHandler": {
447
453
  handleChange: () => void;
448
454
  };
449
- "__#17@#localeChangeObserver": BindingObserver<any, any, any>;
450
- "__#17@#startObservingLocaleChanges"(): void;
451
- "__#17@#stopObservingLocaleChanges"(): void;
455
+ "__#16@#localeChangeObserver": BindingObserver<any, any, any>;
456
+ "__#16@#startObservingLocaleChanges"(): void;
457
+ "__#16@#stopObservingLocaleChanges"(): void;
452
458
  _popupOpen: boolean;
453
- "__#17@#dismissOnClickOutside": (event: MouseEvent) => void;
454
- "__#17@#openPopupIfPossible"(): void;
459
+ "__#16@#dismissOnClickOutside": (event: MouseEvent) => void;
460
+ "__#16@#openPopupIfPossible"(): void;
455
461
  _closePopup(restoreFocusToTextField?: boolean): void;
456
462
  _onBaseKeyDown(event: KeyboardEvent): boolean;
457
463
  _focusableElsWithinDialog(): NodeListOf<HTMLElement>;
@@ -465,6 +471,11 @@ export declare const TimeSelectionPicker: <T_4 extends AbstractConstructor<{
465
471
  readonly _pickerButtonIcon: string;
466
472
  _onOkClick(): void;
467
473
  _trappedFocus(event: KeyboardEvent, getFocusableEls: () => NodeListOf<HTMLElement>): boolean;
474
+ specialHandling: boolean;
475
+ _vividAriaBehaviour: import("../../aria/aria-mixin").VividAriaBehaviour;
476
+ readonly $fastController: import("@microsoft/fast-element").Controller;
477
+ $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
478
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
468
479
  accessKey: string;
469
480
  readonly accessKeyLabel: string;
470
481
  autocapitalize: string;
@@ -781,9 +792,10 @@ export declare const TimeSelectionPicker: <T_4 extends AbstractConstructor<{
781
792
  tabIndex: number;
782
793
  blur(): void;
783
794
  focus(options?: FocusOptions | undefined): void;
784
- readonly $fastController: import("@microsoft/fast-element").Controller;
785
- $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
786
- attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
795
+ ariaColIndexText: string | null;
796
+ ariaDescription: string | null;
797
+ ariaRowIndexText: string | null;
798
+ ariaRelevant: string | null;
787
799
  readonly locale: import("../../localization/Locale").Locale;
788
800
  proxy: HTMLInputElement;
789
801
  dirtyValue: boolean;
@@ -12,12 +12,12 @@ export declare const TimeSelectionPickerTemplate: (context: VividElementDefiniti
12
12
  readonly _displaySeconds: boolean;
13
13
  readonly _use12hClock: boolean;
14
14
  readonly _timePlaceholder: string;
15
- "__#20@#clockChangeHandler": {
15
+ "__#19@#clockChangeHandler": {
16
16
  handleChange: () => void;
17
17
  };
18
- "__#20@#clockChangeObserver": import("@microsoft/fast-element").BindingObserver<any, any, any>;
19
- "__#20@#startObservingClockChanges"(): void;
20
- "__#20@#stopObservingClockChanges"(): void;
18
+ "__#19@#clockChangeObserver": import("@microsoft/fast-element").BindingObserver<any, any, any>;
19
+ "__#19@#startObservingClockChanges"(): void;
20
+ "__#19@#stopObservingClockChanges"(): void;
21
21
  connectedCallback(): void;
22
22
  disconnectedCallback(): void;
23
23
  _onPickerButtonClick(): void;
@@ -40,20 +40,20 @@ export declare const TimeSelectionPickerTemplate: (context: VividElementDefiniti
40
40
  _textFieldEl: import("../../..").VwcTextFieldElement;
41
41
  _dialogEl: HTMLElement;
42
42
  _pickerButtonEl: import("../../..").VwcButtonElement;
43
- "__#17@#onFocusIn": () => void;
44
- "__#17@#onFocusOut": () => void;
43
+ "__#16@#onFocusIn": () => void;
44
+ "__#16@#onFocusOut": () => void;
45
45
  errorValidationMessage: string;
46
46
  validate(): void;
47
47
  _getCustomValidationError(): string | null;
48
- "__#17@#localeChangeHandler": {
48
+ "__#16@#localeChangeHandler": {
49
49
  handleChange: () => void;
50
50
  };
51
- "__#17@#localeChangeObserver": import("@microsoft/fast-element").BindingObserver<any, any, any>;
52
- "__#17@#startObservingLocaleChanges"(): void;
53
- "__#17@#stopObservingLocaleChanges"(): void;
51
+ "__#16@#localeChangeObserver": import("@microsoft/fast-element").BindingObserver<any, any, any>;
52
+ "__#16@#startObservingLocaleChanges"(): void;
53
+ "__#16@#stopObservingLocaleChanges"(): void;
54
54
  _popupOpen: boolean;
55
- "__#17@#dismissOnClickOutside": (event: MouseEvent) => void;
56
- "__#17@#openPopupIfPossible"(): void;
55
+ "__#16@#dismissOnClickOutside": (event: MouseEvent) => void;
56
+ "__#16@#openPopupIfPossible"(): void;
57
57
  _closePopup(restoreFocusToTextField?: boolean): void;
58
58
  _onBaseKeyDown(event: KeyboardEvent): boolean;
59
59
  _focusableElsWithinDialog(): NodeListOf<HTMLElement>;
@@ -67,6 +67,11 @@ export declare const TimeSelectionPickerTemplate: (context: VividElementDefiniti
67
67
  readonly _pickerButtonIcon: string;
68
68
  _onOkClick(): void;
69
69
  _trappedFocus(event: KeyboardEvent, getFocusableEls: () => NodeListOf<HTMLElement>): boolean;
70
+ specialHandling: boolean;
71
+ _vividAriaBehaviour: import("../../aria/aria-mixin").VividAriaBehaviour;
72
+ readonly $fastController: import("@microsoft/fast-element").Controller;
73
+ $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
74
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
70
75
  accessKey: string;
71
76
  readonly accessKeyLabel: string;
72
77
  autocapitalize: string;
@@ -383,9 +388,10 @@ export declare const TimeSelectionPickerTemplate: (context: VividElementDefiniti
383
388
  tabIndex: number;
384
389
  blur(): void;
385
390
  focus(options?: FocusOptions | undefined): void;
386
- readonly $fastController: import("@microsoft/fast-element").Controller;
387
- $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
388
- attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
391
+ ariaColIndexText: string | null;
392
+ ariaDescription: string | null;
393
+ ariaRowIndexText: string | null;
394
+ ariaRelevant: string | null;
389
395
  readonly locale: import("../../localization/Locale").Locale;
390
396
  proxy: HTMLInputElement;
391
397
  dirtyValue: boolean;
@@ -435,20 +441,20 @@ export declare const TimeSelectionPickerTemplate: (context: VividElementDefiniti
435
441
  _pickerButtonEl: import("../../..").VwcButtonElement;
436
442
  connectedCallback(): void;
437
443
  disconnectedCallback(): void;
438
- "__#17@#onFocusIn": () => void;
439
- "__#17@#onFocusOut": () => void;
444
+ "__#16@#onFocusIn": () => void;
445
+ "__#16@#onFocusOut": () => void;
440
446
  errorValidationMessage: string;
441
447
  validate(): void;
442
448
  _getCustomValidationError(): string | null;
443
- "__#17@#localeChangeHandler": {
449
+ "__#16@#localeChangeHandler": {
444
450
  handleChange: () => void;
445
451
  };
446
- "__#17@#localeChangeObserver": import("@microsoft/fast-element").BindingObserver<any, any, any>;
447
- "__#17@#startObservingLocaleChanges"(): void;
448
- "__#17@#stopObservingLocaleChanges"(): void;
452
+ "__#16@#localeChangeObserver": import("@microsoft/fast-element").BindingObserver<any, any, any>;
453
+ "__#16@#startObservingLocaleChanges"(): void;
454
+ "__#16@#stopObservingLocaleChanges"(): void;
449
455
  _popupOpen: boolean;
450
- "__#17@#dismissOnClickOutside": (event: MouseEvent) => void;
451
- "__#17@#openPopupIfPossible"(): void;
456
+ "__#16@#dismissOnClickOutside": (event: MouseEvent) => void;
457
+ "__#16@#openPopupIfPossible"(): void;
452
458
  _closePopup(restoreFocusToTextField?: boolean): void;
453
459
  _onBaseKeyDown(event: KeyboardEvent): boolean;
454
460
  _focusableElsWithinDialog(): NodeListOf<HTMLElement>;
@@ -463,6 +469,11 @@ export declare const TimeSelectionPickerTemplate: (context: VividElementDefiniti
463
469
  _onPickerButtonClick(): void;
464
470
  _onOkClick(): void;
465
471
  _trappedFocus(event: KeyboardEvent, getFocusableEls: () => NodeListOf<HTMLElement>): boolean;
472
+ specialHandling: boolean;
473
+ _vividAriaBehaviour: import("../../aria/aria-mixin").VividAriaBehaviour;
474
+ readonly $fastController: import("@microsoft/fast-element").Controller;
475
+ $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
476
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
466
477
  accessKey: string;
467
478
  readonly accessKeyLabel: string;
468
479
  autocapitalize: string;
@@ -779,9 +790,10 @@ export declare const TimeSelectionPickerTemplate: (context: VividElementDefiniti
779
790
  tabIndex: number;
780
791
  blur(): void;
781
792
  focus(options?: FocusOptions | undefined): void;
782
- readonly $fastController: import("@microsoft/fast-element").Controller;
783
- $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
784
- attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
793
+ ariaColIndexText: string | null;
794
+ ariaDescription: string | null;
795
+ ariaRowIndexText: string | null;
796
+ ariaRelevant: string | null;
785
797
  readonly locale: import("../../localization/Locale").Locale;
786
798
  proxy: HTMLInputElement;
787
799
  dirtyValue: boolean;
@@ -3,6 +3,13 @@ import { FormAssociatedPickerField } from './picker-field.form-associated';
3
3
  declare const PickerField_base: {
4
4
  new (...args: any[]): {
5
5
  _trappedFocus(event: KeyboardEvent, getFocusableEls: () => NodeListOf<HTMLElement>): boolean;
6
+ specialHandling: boolean;
7
+ _vividAriaBehaviour: import("../aria/aria-mixin").VividAriaBehaviour;
8
+ readonly $fastController: import("@microsoft/fast-element").Controller;
9
+ $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
10
+ connectedCallback(): void;
11
+ disconnectedCallback(): void;
12
+ attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
6
13
  accessKey: string;
7
14
  readonly accessKeyLabel: string;
8
15
  autocapitalize: string;
@@ -319,15 +326,21 @@ declare const PickerField_base: {
319
326
  tabIndex: number;
320
327
  blur(): void;
321
328
  focus(options?: FocusOptions | undefined): void;
329
+ ariaColIndexText: string | null;
330
+ ariaDescription: string | null;
331
+ ariaRowIndexText: string | null;
332
+ ariaRelevant: string | null;
333
+ };
334
+ } & {
335
+ new (...args: any[]): {
336
+ readonly locale: import("../localization/Locale").Locale;
337
+ specialHandling: boolean;
338
+ _vividAriaBehaviour: import("../aria/aria-mixin").VividAriaBehaviour;
322
339
  readonly $fastController: import("@microsoft/fast-element").Controller;
323
340
  $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
324
341
  connectedCallback(): void;
325
342
  disconnectedCallback(): void;
326
343
  attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
327
- };
328
- } & {
329
- new (...args: any[]): {
330
- readonly locale: import("../localization/Locale").Locale;
331
344
  accessKey: string;
332
345
  readonly accessKeyLabel: string;
333
346
  autocapitalize: string;
@@ -644,11 +657,10 @@ declare const PickerField_base: {
644
657
  tabIndex: number;
645
658
  blur(): void;
646
659
  focus(options?: FocusOptions | undefined): void;
647
- readonly $fastController: import("@microsoft/fast-element").Controller;
648
- $emit(type: string, detail?: any, options?: Omit<CustomEventInit<any>, "detail"> | undefined): boolean | void;
649
- connectedCallback(): void;
650
- disconnectedCallback(): void;
651
- attributeChangedCallback(name: string, oldValue: string, newValue: string): void;
660
+ ariaColIndexText: string | null;
661
+ ariaDescription: string | null;
662
+ ariaRowIndexText: string | null;
663
+ ariaRelevant: string | null;
652
664
  };
653
665
  } & typeof FormAssociatedPickerField;
654
666
  export declare abstract class PickerField extends PickerField_base {
@@ -1,7 +1,7 @@
1
1
  import { h as handleEscapeKeyAndStopPropogation } from './index.js';
2
2
  import { a as applyMixinsWithObservables } from './applyMixinsWithObservables.js';
3
3
  import { F as FormAssociated } from './form-associated.js';
4
- import { V as VividElement, a as attr, o as observable, O as Observable, i as defaultExecutionContext, h as html } from './vivid-element.js';
4
+ import { V as VividElement, a as attr, o as observable, O as Observable, k as defaultExecutionContext, h as html } from './vivid-element.js';
5
5
  import { a as FormElementHelperText } from './form-elements.js';
6
6
  import { L as Localized } from './localized.js';
7
7
  import { P as Popup } from './definition65.js';
package/shared/repeat.js CHANGED
@@ -1,4 +1,4 @@
1
- import { e as emptyArray, O as Observable, S as SubscriberSet, D as DOM, H as HTMLDirective, g as HTMLView } from './vivid-element.js';
1
+ import { e as emptyArray, O as Observable, S as SubscriberSet, D as DOM, H as HTMLDirective, j as HTMLView } from './vivid-element.js';
2
2
 
3
3
  /** @internal */
4
4
  function newSplice(index, removed, addedCount) {
@@ -2,6 +2,7 @@
2
2
 
3
3
  const numbers = require('./numbers.cjs');
4
4
  const definition = require('./definition65.cjs');
5
+ const delegatesAria = require('./delegates-aria.cjs');
5
6
  const classNames = require('./class-names.cjs');
6
7
  const ref = require('./ref.cjs');
7
8
  const when = require('./when.cjs');
@@ -56,21 +57,21 @@ const getMarkersTemplate = (isHorizontal, numMarkers) => {
56
57
  const SliderTemplate = (context) => {
57
58
  const popupTag = context.tagFor(definition.Popup);
58
59
  return vividElement.html`<template
59
- role="${(x) => x.ariaLabel ? "presentation" : null}"
60
60
  @focusin="${(x) => x._onFocusIn()}"
61
61
  @focusout="${(x) => x._onFocusOut()}"
62
62
  >
63
63
  <div
64
- role="slider"
65
64
  tabindex="${(x) => x.disabled ? null : 0}"
66
- aria-label="${(x) => x.ariaLabel}"
67
- aria-valuetext="${(x) => x.ariaValueText || x.valueTextFormatter(x.value)}"
68
- aria-valuenow="${(x) => x.value}"
69
- aria-valuemin="${(x) => x.min}"
70
- aria-valuemax="${(x) => x.max}"
71
- aria-disabled="${(x) => x.disabled ? true : void 0}"
72
- aria-orientation="${(x) => x.orientation}"
73
65
  class="${getClasses} ${(x) => x.orientation}"
66
+ ${delegatesAria.delegateAria({
67
+ role: "slider",
68
+ ariaValueText: (x) => x.ariaValueText || x.valueTextFormatter(x.value),
69
+ ariaValueNow: (x) => x.value,
70
+ ariaValueMin: (x) => x.min,
71
+ ariaValueMax: (x) => x.max,
72
+ ariaDisabled: (x) => x.disabled ? "true" : null,
73
+ ariaOrientation: (x) => x.orientation
74
+ })}
74
75
  >
75
76
  <div class="positioning-region">
76
77
  <div ${ref.ref("track")} class="track">
@@ -1,5 +1,6 @@
1
1
  import { l as limit } from './numbers.js';
2
2
  import { P as Popup, a as PlacementStrategy } from './definition65.js';
3
+ import { d as delegateAria } from './delegates-aria.js';
3
4
  import { c as classNames } from './class-names.js';
4
5
  import { r as ref } from './ref.js';
5
6
  import { w as when } from './when.js';
@@ -54,21 +55,21 @@ const getMarkersTemplate = (isHorizontal, numMarkers) => {
54
55
  const SliderTemplate = (context) => {
55
56
  const popupTag = context.tagFor(Popup);
56
57
  return html`<template
57
- role="${(x) => x.ariaLabel ? "presentation" : null}"
58
58
  @focusin="${(x) => x._onFocusIn()}"
59
59
  @focusout="${(x) => x._onFocusOut()}"
60
60
  >
61
61
  <div
62
- role="slider"
63
62
  tabindex="${(x) => x.disabled ? null : 0}"
64
- aria-label="${(x) => x.ariaLabel}"
65
- aria-valuetext="${(x) => x.ariaValueText || x.valueTextFormatter(x.value)}"
66
- aria-valuenow="${(x) => x.value}"
67
- aria-valuemin="${(x) => x.min}"
68
- aria-valuemax="${(x) => x.max}"
69
- aria-disabled="${(x) => x.disabled ? true : void 0}"
70
- aria-orientation="${(x) => x.orientation}"
71
63
  class="${getClasses} ${(x) => x.orientation}"
64
+ ${delegateAria({
65
+ role: "slider",
66
+ ariaValueText: (x) => x.ariaValueText || x.valueTextFormatter(x.value),
67
+ ariaValueNow: (x) => x.value,
68
+ ariaValueMin: (x) => x.min,
69
+ ariaValueMax: (x) => x.max,
70
+ ariaDisabled: (x) => x.disabled ? "true" : null,
71
+ ariaOrientation: (x) => x.orientation
72
+ })}
72
73
  >
73
74
  <div class="positioning-region">
74
75
  <div ${ref("track")} class="track">
@@ -0,0 +1,15 @@
1
+ import { type Behavior, type Binding, type ExecutionContext, type Subscriber } from '@microsoft/fast-element';
2
+ export declare class AttributeBindingBehavior implements Behavior, Subscriber {
3
+ private target;
4
+ private binding;
5
+ private isBindingVolatile;
6
+ private attributeName;
7
+ constructor(target: HTMLElement, binding: Binding, isBindingVolatile: boolean, attributeName: string);
8
+ private source;
9
+ private context;
10
+ private bindingObserver?;
11
+ bind(source: unknown, context: ExecutionContext): void;
12
+ unbind(): void;
13
+ handleChange(): void;
14
+ updateTarget(value: unknown): void;
15
+ }
@@ -0,0 +1,22 @@
1
+ import { type Behavior, type Binding, type CaptureType, ExecutionContext, HTMLDirective, type Subscriber, type SyntheticViewTemplate } from '@microsoft/fast-element';
2
+ import type { VividElement } from '../foundation/vivid-element/vivid-element';
3
+ export declare class RenderInLightDomBehaviour<TSource extends VividElement> implements Behavior, Subscriber {
4
+ private source;
5
+ private view?;
6
+ private insertionPoint?;
7
+ private templateBindingObserver;
8
+ private context?;
9
+ constructor(templateBinding: Binding<TSource, SyntheticViewTemplate>, isTemplateBindingVolatile: boolean);
10
+ bind(source: TSource, context: ExecutionContext): void;
11
+ unbind(): void;
12
+ handleChange(): void;
13
+ private instantiateTemplate;
14
+ }
15
+ export declare class RenderInLightDomDirective<TSource extends VividElement> extends HTMLDirective {
16
+ readonly templateBinding: Binding<TSource, SyntheticViewTemplate>;
17
+ createPlaceholder: (index: number) => string;
18
+ private readonly isTemplateBindingVolatile;
19
+ constructor(templateBinding: Binding<TSource, SyntheticViewTemplate>);
20
+ createBehavior(): RenderInLightDomBehaviour<TSource>;
21
+ }
22
+ export declare function renderInLightDOM<TSource extends VividElement>(templateOrTemplateBinding: SyntheticViewTemplate | Binding<TSource, SyntheticViewTemplate>): CaptureType<TSource>;
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  const affix = require('./affix.cjs');
4
+ const delegatesAria = require('./delegates-aria.cjs');
4
5
  const classNames = require('./class-names.cjs');
5
6
  const ref = require('./ref.cjs');
6
7
  const vividElement = require('./vivid-element.cjs');
@@ -23,19 +24,7 @@ const textAnchorTemplate = (context) => {
23
24
  rel="${(x) => x.rel}"
24
25
  target="${(x) => x.target}"
25
26
  type="${(x) => x.type}"
26
- aria-atomic="${(x) => x.ariaAtomic}"
27
- aria-busy="${(x) => x.ariaBusy}"
28
- aria-current="${(x) => x.ariaCurrent}"
29
- aria-disabled="${(x) => x.ariaDisabled}"
30
- aria-expanded="${(x) => x.ariaExpanded}"
31
- aria-haspopup="${(x) => x.ariaHasPopup}"
32
- aria-hidden="${(x) => x.ariaHidden}"
33
- aria-invalid="${(x) => x.ariaInvalid}"
34
- aria-keyshortcuts="${(x) => x.ariaKeyShortcuts}"
35
- aria-label="${(x) => x.ariaLabel}"
36
- aria-live="${(x) => x.ariaLive}"
37
- aria-relevant="${(x) => x.ariaRelevant}"
38
- aria-roledescription="${(x) => x.ariaRoleDescription}"
27
+ ${delegatesAria.delegateAria()}
39
28
  ${ref.ref("control")}
40
29
  >
41
30
  ${(x) => affixIconTemplate(x.icon, affix.IconWrapper.Slot)} ${(x) => x.text}
@@ -1,4 +1,5 @@
1
1
  import { a as affixIconTemplateFactory, I as IconWrapper } from './affix.js';
2
+ import { d as delegateAria } from './delegates-aria.js';
2
3
  import { c as classNames } from './class-names.js';
3
4
  import { r as ref } from './ref.js';
4
5
  import { h as html } from './vivid-element.js';
@@ -21,19 +22,7 @@ const textAnchorTemplate = (context) => {
21
22
  rel="${(x) => x.rel}"
22
23
  target="${(x) => x.target}"
23
24
  type="${(x) => x.type}"
24
- aria-atomic="${(x) => x.ariaAtomic}"
25
- aria-busy="${(x) => x.ariaBusy}"
26
- aria-current="${(x) => x.ariaCurrent}"
27
- aria-disabled="${(x) => x.ariaDisabled}"
28
- aria-expanded="${(x) => x.ariaExpanded}"
29
- aria-haspopup="${(x) => x.ariaHasPopup}"
30
- aria-hidden="${(x) => x.ariaHidden}"
31
- aria-invalid="${(x) => x.ariaInvalid}"
32
- aria-keyshortcuts="${(x) => x.ariaKeyShortcuts}"
33
- aria-label="${(x) => x.ariaLabel}"
34
- aria-live="${(x) => x.ariaLive}"
35
- aria-relevant="${(x) => x.ariaRelevant}"
36
- aria-roledescription="${(x) => x.ariaRoleDescription}"
25
+ ${delegateAria()}
37
26
  ${ref("control")}
38
27
  >
39
28
  ${(x) => affixIconTemplate(x.icon, IconWrapper.Slot)} ${(x) => x.text}
@@ -1,4 +1,4 @@
1
- import { h as html, V as VividElement, o as observable, f as defineVividComponent, a as attr, O as Observable, i as defaultExecutionContext, D as DOM, n as nullableNumberConverter, v as volatile } from './vivid-element.js';
1
+ import { h as html, V as VividElement, o as observable, i as defineVividComponent, a as attr, O as Observable, k as defaultExecutionContext, D as DOM, n as nullableNumberConverter, v as volatile } from './vivid-element.js';
2
2
  import { i as ignoreEventInFocusTraps, a as PickerField } from './picker-field.template.js';
3
3
  import { S as SingleValuePicker } from './single-value-picker.js';
4
4
  import { e as errorText, f as formElements } from './form-elements.js';
@@ -2591,9 +2591,99 @@ const defineVividComponent = (name, type, template, dependencies, options) => ({
2591
2591
  options
2592
2592
  });
2593
2593
 
2594
- class VividElement extends FASTElement {
2594
+ const ariaChangeSubscribers = /* @__PURE__ */ new WeakMap();
2595
+ const getSubscribers = (source) => {
2596
+ let subscribers = ariaChangeSubscribers.get(source);
2597
+ if (!subscribers) {
2598
+ subscribers = [];
2599
+ ariaChangeSubscribers.set(source, subscribers);
2600
+ }
2601
+ return subscribers;
2602
+ };
2603
+ const subscribeToAriaPropertyChanges = (source, listener) => {
2604
+ getSubscribers(source).push(listener);
2605
+ };
2606
+ const unsubscribeFromAriaPropertyChanges = (source, listener) => {
2607
+ getSubscribers(source).splice(getSubscribers(source).indexOf(listener), 1);
2608
+ };
2609
+ const publishAriaPropertyChange = (source, changedAriaProperty) => {
2610
+ getSubscribers(source).forEach((s) => s(source, changedAriaProperty));
2611
+ };
2612
+
2613
+ const ariaMixinProperties = [
2614
+ "role",
2615
+ "ariaAtomic",
2616
+ "ariaAutoComplete",
2617
+ "ariaBusy",
2618
+ "ariaChecked",
2619
+ "ariaColCount",
2620
+ "ariaColIndex",
2621
+ "ariaColIndexText",
2622
+ "ariaColSpan",
2623
+ "ariaCurrent",
2624
+ "ariaDescription",
2625
+ "ariaDisabled",
2626
+ "ariaExpanded",
2627
+ "ariaHasPopup",
2628
+ "ariaHidden",
2629
+ "ariaInvalid",
2630
+ "ariaKeyShortcuts",
2631
+ "ariaLabel",
2632
+ "ariaLevel",
2633
+ "ariaLive",
2634
+ "ariaModal",
2635
+ "ariaMultiLine",
2636
+ "ariaMultiSelectable",
2637
+ "ariaOrientation",
2638
+ "ariaPlaceholder",
2639
+ "ariaPosInSet",
2640
+ "ariaPressed",
2641
+ "ariaReadOnly",
2642
+ "ariaRequired",
2643
+ "ariaRoleDescription",
2644
+ "ariaRowCount",
2645
+ "ariaRowIndex",
2646
+ "ariaRowIndexText",
2647
+ "ariaRowSpan",
2648
+ "ariaSelected",
2649
+ "ariaSetSize",
2650
+ "ariaSort",
2651
+ "ariaValueMax",
2652
+ "ariaValueMin",
2653
+ "ariaValueNow",
2654
+ "ariaValueText",
2655
+ "ariaRelevant"
2656
+ // Non-standard
2657
+ ];
2658
+ const ariaAttributeName = (ariaPropertyName) => ariaPropertyName.replace("aria", "aria-").toLowerCase();
2659
+ const AriaMixin = (Base) => {
2660
+ class AriaMixinElement extends Base {
2661
+ constructor(...args) {
2662
+ super(args);
2663
+ this.specialHandling = false;
2664
+ this._vividAriaBehaviour = "default";
2665
+ for (const ariaProperty of ariaMixinProperties) {
2666
+ this[ariaProperty] = null;
2667
+ }
2668
+ }
2669
+ }
2670
+ for (const ariaProperty of ariaMixinProperties) {
2671
+ attr({
2672
+ attribute: ariaAttributeName(ariaProperty),
2673
+ mode: "reflect"
2674
+ })(AriaMixinElement.prototype, ariaProperty);
2675
+ AriaMixinElement.prototype[`${ariaProperty}Changed`] = function() {
2676
+ if (this._vividAriaBehaviour !== "default") {
2677
+ publishAriaPropertyChange(this, ariaProperty);
2678
+ }
2679
+ };
2680
+ }
2681
+ return AriaMixinElement;
2682
+ };
2683
+
2684
+ class VividElement extends AriaMixin(FASTElement) {
2595
2685
  static {
2596
- this.VIVID_VERSION = "4.22.0";
2686
+ this.VIVID_VERSION = "4.23.0";
2597
2687
  }
2598
2688
  }
2599
2689
 
@@ -2605,6 +2695,8 @@ exports.HTMLView = HTMLView;
2605
2695
  exports.Observable = Observable;
2606
2696
  exports.SubscriberSet = SubscriberSet;
2607
2697
  exports.VividElement = VividElement;
2698
+ exports.ariaAttributeName = ariaAttributeName;
2699
+ exports.ariaMixinProperties = ariaMixinProperties;
2608
2700
  exports.attr = attr;
2609
2701
  exports.booleanConverter = booleanConverter;
2610
2702
  exports.createRegisterFunction = createRegisterFunction;
@@ -2614,4 +2706,6 @@ exports.emptyArray = emptyArray;
2614
2706
  exports.html = html;
2615
2707
  exports.nullableNumberConverter = nullableNumberConverter;
2616
2708
  exports.observable = observable;
2709
+ exports.subscribeToAriaPropertyChanges = subscribeToAriaPropertyChanges;
2710
+ exports.unsubscribeFromAriaPropertyChanges = unsubscribeFromAriaPropertyChanges;
2617
2711
  exports.volatile = volatile;