@globalpayments/vega 2.88.0 → 2.89.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 (504) hide show
  1. package/dist/cjs/{action-color-accessibility-validator-15fa91e4.js → action-color-accessibility-validator-24498816.js} +2 -2
  2. package/dist/cjs/{app-globals-6fbbcb2f.js → app-globals-4872f4e6.js} +9 -8
  3. package/dist/cjs/{aria-dialog-focusable-trap-slimmer-c2ca46db.js → aria-dialog-focusable-trap-slimmer-a0ff1263.js} +2 -2
  4. package/dist/cjs/{brand-switch-state-controller-slimmer-3d41b2a4.js → brand-switch-state-controller-slimmer-97882447.js} +1 -1
  5. package/dist/cjs/{child-nodes-event-prevent-slimmer-01930b4e.js → child-nodes-event-prevent-slimmer-85a7fdb0.js} +1 -1
  6. package/dist/cjs/{child-nodes-notify-observer-slimmer-34a606b3.js → child-nodes-notify-observer-slimmer-7ae2a78f.js} +1 -1
  7. package/dist/cjs/{code-block-00fee034.js → code-block-7c49d175.js} +4 -4
  8. package/dist/cjs/{component-value-history-controller-slimmer.abstract-066645b3.js → component-value-history-controller-slimmer.abstract-aae22ddf.js} +5 -5
  9. package/dist/cjs/{content-state-d4f54659.js → content-state-76b81780.js} +32 -7
  10. package/dist/cjs/{dark-mode-state-controller-slimmer-8a87ec08.js → dark-mode-state-controller-slimmer-b454645a.js} +1 -1
  11. package/dist/cjs/{dark-mode-style-controller-ed481250.js → dark-mode-style-controller-32d4054a.js} +2 -2
  12. package/dist/cjs/{date-required-rule-4cea8fc8.js → date-required-rule-71f71b32.js} +1 -1
  13. package/dist/cjs/{design-token-ad9f413c.js → design-token-c80d3f32.js} +3 -3
  14. package/dist/cjs/{dom-node-subject-observer-factory-ba6a95f3.js → dom-node-subject-observer-factory-c82df135.js} +1 -1
  15. package/dist/cjs/{element-appender-slimmer-d04aa177.js → element-appender-slimmer-e95427b5.js} +5 -5
  16. package/dist/cjs/{event-emit-slimmer-5fd6e54a.js → event-emit-slimmer-146316b2.js} +2 -2
  17. package/dist/cjs/{form-field-controller-slimmer-23d112bd.js → form-field-controller-slimmer-430b4f02.js} +5 -5
  18. package/dist/cjs/{image-annotation-action-bcf2a1b4.js → image-annotation-action-7959fd77.js} +5 -5
  19. package/dist/cjs/index.cjs.js +22 -21
  20. package/dist/cjs/{inject-keyboard-manager-acaf1530.js → inject-keyboard-manager-3ccf1cb6.js} +1 -1
  21. package/dist/cjs/{internal-translation-controller-a1250419.js → internal-translation-controller-5582d789.js} +5 -2
  22. package/dist/cjs/{internal-vega-event-manager-c515cf5e.js → internal-vega-event-manager-6e49d1ca.js} +3 -3
  23. package/dist/cjs/{keyboard-manager-6821709a.js → keyboard-manager-5babfda8.js} +2 -2
  24. package/dist/cjs/{keyboard-manager-slimmer-74528545.js → keyboard-manager-slimmer-a73354ca.js} +1 -1
  25. package/dist/cjs/loader.cjs.js +16 -16
  26. package/dist/cjs/{month-view-generator-61578283.js → month-view-generator-43e75062.js} +1 -1
  27. package/dist/cjs/{public-rules-d2fbbbf5.js → public-rules-b23ab52d.js} +11 -11
  28. package/dist/cjs/{range-e797475c.js → range-abe1b989.js} +2 -2
  29. package/dist/cjs/{replace-selected-text-action-a098523f.js → replace-selected-text-action-ef079fed.js} +1 -1
  30. package/dist/cjs/{responsive-format-facade-bf330592.js → responsive-format-facade-cc368403.js} +1 -1
  31. package/dist/cjs/{rich-text-editor-required-rule-ba9d42fa.js → rich-text-editor-required-rule-bbd727a2.js} +1 -1
  32. package/dist/cjs/{split-cell-operation-91ee6894.js → split-cell-operation-b1fe91b5.js} +5 -5
  33. package/dist/cjs/{state-border-formatter-fd194e53.js → state-border-formatter-398134c1.js} +1 -1
  34. package/dist/cjs/{static-subject-title-5829a298.js → static-subject-title-70c73b16.js} +2 -0
  35. package/dist/cjs/{string-format-strategy.abstract-af9fc35e.js → string-format-strategy.abstract-67421e2b.js} +1 -1
  36. package/dist/cjs/{string-input-formatter-slimmer-a3fb1292.js → string-input-formatter-slimmer-e84530b9.js} +3 -3
  37. package/dist/cjs/{string-mask-strategy-2054f3fb.js → string-mask-strategy-f9806f9b.js} +2 -2
  38. package/dist/cjs/{style-formatter-7d60fb70.js → style-formatter-da3a556b.js} +2 -2
  39. package/dist/cjs/{sub-state-notify-slimmer-757e3a76.js → sub-state-notify-slimmer-450277b6.js} +1 -1
  40. package/dist/cjs/{sub-state-observer-slimmer-aa93ab4f.js → sub-state-observer-slimmer-5bfe8e97.js} +2 -2
  41. package/dist/cjs/{time-required-rule-ba450bbd.js → time-required-rule-618109fa.js} +1 -1
  42. package/dist/cjs/{token-extension-8b69f7e1.js → token-extension-dfee303a.js} +525 -12
  43. package/dist/cjs/{translation-slimmer-aee3fb1c.js → translation-slimmer-1a7a2b6d.js} +1 -1
  44. package/dist/cjs/{type-guard-424efe26.js → type-guard-474dec0d.js} +1 -1
  45. package/dist/cjs/{ui-3727d685.js → ui-c91c37a7.js} +1 -31
  46. package/dist/cjs/{valid-credit-card-number-rule-6bd5834c.js → valid-credit-card-number-rule-00c18527.js} +1 -1
  47. package/dist/cjs/vega-accordion.cjs.entry.js +12 -12
  48. package/dist/cjs/vega-app-footer.cjs.entry.js +3 -3
  49. package/dist/cjs/vega-app-header-button.cjs.entry.js +15 -15
  50. package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
  51. package/dist/cjs/vega-banner.cjs.entry.js +5 -5
  52. package/dist/cjs/vega-box.cjs.entry.js +8 -8
  53. package/dist/cjs/vega-brand-logo.cjs.entry.js +3 -3
  54. package/dist/cjs/vega-breadcrumb.cjs.entry.js +7 -7
  55. package/dist/cjs/vega-button-circle.cjs.entry.js +12 -12
  56. package/dist/cjs/vega-button-group_2.cjs.entry.js +8 -8
  57. package/dist/cjs/vega-button-link.cjs.entry.js +8 -8
  58. package/dist/cjs/vega-button.cjs.entry.js +10 -10
  59. package/dist/cjs/vega-calendar_4.cjs.entry.js +15 -15
  60. package/dist/cjs/vega-card.cjs.entry.js +7 -7
  61. package/dist/cjs/vega-carousel.cjs.entry.js +9 -9
  62. package/dist/cjs/vega-checkbox_2.cjs.entry.js +147 -18
  63. package/dist/cjs/vega-chip.cjs.entry.js +14 -14
  64. package/dist/cjs/vega-code-block.cjs.entry.js +16 -16
  65. package/dist/cjs/vega-color-picker.cjs.entry.js +21 -11
  66. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +11 -11
  67. package/dist/cjs/vega-color-swatch.cjs.entry.js +8 -8
  68. package/dist/cjs/vega-combo-box.cjs.entry.js +42 -20
  69. package/dist/cjs/vega-date-picker_2.cjs.entry.js +37 -24
  70. package/dist/cjs/vega-dialog_2.cjs.entry.js +11 -11
  71. package/dist/cjs/vega-divider.cjs.entry.js +6 -6
  72. package/dist/cjs/vega-dropdown_5.cjs.entry.js +18 -18
  73. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  74. package/dist/cjs/{vega-event-id-39dedd17.js → vega-event-id-37c1716f.js} +2 -0
  75. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  76. package/dist/cjs/vega-field-label.cjs.entry.js +86 -14
  77. package/dist/cjs/vega-file-uploader.cjs.entry.js +10 -10
  78. package/dist/cjs/vega-flag-icon.cjs.entry.js +6 -6
  79. package/dist/cjs/vega-flex.cjs.entry.js +8 -8
  80. package/dist/cjs/vega-font.cjs.entry.js +7 -7
  81. package/dist/cjs/vega-form.cjs.entry.js +13 -13
  82. package/dist/cjs/vega-grid.cjs.entry.js +7 -7
  83. package/dist/cjs/vega-icon.cjs.entry.js +7 -7
  84. package/dist/cjs/vega-image-uploader.cjs.entry.js +29 -16
  85. package/dist/cjs/vega-input-credit-card.cjs.entry.js +14 -14
  86. package/dist/cjs/vega-input-numeric.cjs.entry.js +28 -15
  87. package/dist/cjs/vega-input-passcode.cjs.entry.js +13 -13
  88. package/dist/cjs/vega-input-phone-number.cjs.entry.js +12 -12
  89. package/dist/cjs/vega-input-range.cjs.entry.js +25 -12
  90. package/dist/cjs/vega-input-select.cjs.entry.js +34 -21
  91. package/dist/cjs/vega-input.cjs.entry.js +14 -14
  92. package/dist/cjs/vega-item-toggle.cjs.entry.js +5 -5
  93. package/dist/cjs/vega-left-nav_5.cjs.entry.js +17 -17
  94. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +5 -5
  95. package/dist/cjs/vega-page-notification_2.cjs.entry.js +3 -3
  96. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +5 -5
  97. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +6 -6
  98. package/dist/cjs/vega-pagination.cjs.entry.js +11 -11
  99. package/dist/cjs/vega-popover_2.cjs.entry.js +15 -15
  100. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +11 -11
  101. package/dist/cjs/vega-radio_2.cjs.entry.js +14 -14
  102. package/dist/cjs/vega-rich-text-content.cjs.entry.js +13 -13
  103. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +26 -26
  104. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +11 -11
  105. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +16 -16
  106. package/dist/cjs/vega-segment-control.cjs.entry.js +6 -6
  107. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +13 -13
  108. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +32 -34
  109. package/dist/cjs/vega-sidenav_3.cjs.entry.js +11 -11
  110. package/dist/cjs/vega-signature-capture.cjs.entry.js +28 -15
  111. package/dist/cjs/vega-stepper.cjs.entry.js +10 -10
  112. package/dist/cjs/vega-tab-group_2.cjs.entry.js +7 -7
  113. package/dist/cjs/vega-table_11.cjs.entry.js +13 -13
  114. package/dist/cjs/vega-text.cjs.entry.js +177 -63
  115. package/dist/cjs/vega-textarea.cjs.entry.js +11 -11
  116. package/dist/cjs/vega-time-picker_2.cjs.entry.js +31 -18
  117. package/dist/cjs/vega-toggle-switch.cjs.entry.js +20 -10
  118. package/dist/cjs/vega-tooltip_2.cjs.entry.js +9 -9
  119. package/dist/cjs/vega.cjs.js +16 -16
  120. package/dist/cjs/{wait-for-component-did-render-a13f7eb9.js → wait-for-component-did-render-762084fc.js} +1 -1
  121. package/dist/collection/components/vega-app-header-button/vega-app-header-button.css +1 -0
  122. package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +2 -2
  123. package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-collapsed-item-renderer.js +1 -1
  124. package/dist/collection/components/vega-button-link/vega-button-link.css +3 -0
  125. package/dist/collection/components/vega-button-link/vega-button-link.js +1 -1
  126. package/dist/collection/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.js +96 -4
  127. package/dist/collection/components/vega-checkbox/vega-checkbox.js +148 -6
  128. package/dist/collection/components/vega-chip/vega-chip.css +1 -0
  129. package/dist/collection/components/vega-chip/vega-chip.js +1 -1
  130. package/dist/collection/components/vega-color-picker/vega-color-picker.js +36 -2
  131. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +14 -2
  132. package/dist/collection/components/vega-combo-box/vega-combo-box.css +12 -0
  133. package/dist/collection/components/vega-combo-box/vega-combo-box.js +44 -1
  134. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.js +4 -1
  135. package/dist/collection/components/vega-date-picker/vega-date-picker.js +34 -0
  136. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.js +69 -0
  137. package/dist/collection/components/vega-field-label/vega-field-label.css +12 -0
  138. package/dist/collection/components/vega-field-label/vega-field-label.js +11 -2
  139. package/dist/collection/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-renderer.js +4 -1
  140. package/dist/collection/components/vega-image-uploader/vega-image-uploader.js +34 -0
  141. package/dist/collection/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.js +4 -1
  142. package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +34 -0
  143. package/dist/collection/components/vega-input-range/slimmers/renderers/vega-input-range-renderer.js +4 -1
  144. package/dist/collection/components/vega-input-range/vega-input-range.js +34 -0
  145. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +6 -6
  146. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-renderer.js +4 -1
  147. package/dist/collection/components/vega-input-select/vega-input-select.css +1 -0
  148. package/dist/collection/components/vega-input-select/vega-input-select.js +34 -0
  149. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/action-handler-strategies/horizontal-line-block-insert-strategy.js +79 -0
  150. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/action-handler-strategies/hr-to-horizontal-line-block-strategy.js +45 -0
  151. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/actions/insert-horizontal-line-block-action.js +14 -0
  152. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/assets/horizontal-line.js +3 -0
  153. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/dto/horizontal-line-annotation.js +63 -0
  154. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/dto/horizontal-line-block.js +89 -0
  155. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/dto/horizontal-line-node.js +32 -0
  156. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/filter-styles-strategies/horizontal-line-block/horizontal-line-filter-styles-strategy.js +45 -0
  157. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/filter-styles-strategies/horizontal-line-block/predicate.js +14 -0
  158. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/horizontal-line-extension.js +41 -0
  159. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-block-renderer.js +37 -0
  160. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.js +77 -0
  161. package/dist/collection/components/vega-rich-text-editor/public-api.js +1 -0
  162. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/html-block-strategy.js +8 -0
  163. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-element-to-text-node-strategy.js +18 -1
  164. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +1 -1
  165. package/dist/collection/components/vega-segment-control/slimmers/renderers/vega-segment-renderer.js +1 -1
  166. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/slimmers/renderers/vega-selection-tile-group-renderer.js +9 -21
  167. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.css +1 -38
  168. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.js +34 -0
  169. package/dist/collection/components/vega-signature-capture/slimmers/written-mode/renderers/written-mode-renderer.js +4 -1
  170. package/dist/collection/components/vega-signature-capture/vega-signature-capture.js +34 -0
  171. package/dist/collection/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.js +153 -61
  172. package/dist/collection/components/vega-text/vega-text.css +37 -0
  173. package/dist/collection/components/vega-text/vega-text.js +48 -0
  174. package/dist/collection/components/vega-textarea/vega-textarea.js +1 -1
  175. package/dist/collection/components/vega-time-picker/slimmers/renderers/vega-time-picker-label-renderer.js +4 -1
  176. package/dist/collection/components/vega-time-picker/vega-time-picker.js +34 -0
  177. package/dist/collection/components/vega-toggle-switch/vega-toggle-switch.js +35 -1
  178. package/dist/collection/constants/ui.js +1 -0
  179. package/dist/collection/global/scripts/before-vega-load.js +2 -0
  180. package/dist/collection/helpers/change-manager/subject/static-subject/static-subject-title.js +1 -0
  181. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +3 -3
  182. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  183. package/dist/collection/helpers/translation/locales/en.js +4 -1
  184. package/dist/esm/{action-color-accessibility-validator-3d8efb64.js → action-color-accessibility-validator-ce55cb07.js} +2 -2
  185. package/dist/esm/{app-globals-98c3d676.js → app-globals-081bbfd9.js} +9 -8
  186. package/dist/esm/{aria-dialog-focusable-trap-slimmer-7d9a9f5a.js → aria-dialog-focusable-trap-slimmer-7db3d5a7.js} +2 -2
  187. package/dist/esm/{brand-switch-state-controller-slimmer-60249013.js → brand-switch-state-controller-slimmer-9ca03c81.js} +1 -1
  188. package/dist/esm/{child-nodes-event-prevent-slimmer-2f823df2.js → child-nodes-event-prevent-slimmer-1e3ac106.js} +1 -1
  189. package/dist/esm/{child-nodes-notify-observer-slimmer-8822d0d0.js → child-nodes-notify-observer-slimmer-499a3aa7.js} +1 -1
  190. package/dist/esm/{code-block-6261a99d.js → code-block-17f596fc.js} +5 -5
  191. package/dist/esm/{component-value-history-controller-slimmer.abstract-07488472.js → component-value-history-controller-slimmer.abstract-21e9126a.js} +5 -5
  192. package/dist/esm/{content-state-9bf85e00.js → content-state-96741bb0.js} +32 -7
  193. package/dist/esm/{dark-mode-state-controller-slimmer-f2b4f8ed.js → dark-mode-state-controller-slimmer-778dd929.js} +1 -1
  194. package/dist/esm/{dark-mode-style-controller-fcda24ec.js → dark-mode-style-controller-ca5afd2d.js} +2 -2
  195. package/dist/esm/{date-required-rule-281aab50.js → date-required-rule-d6ce832c.js} +1 -1
  196. package/dist/esm/{design-token-b7ce7ed4.js → design-token-0a575bf2.js} +3 -3
  197. package/dist/esm/{dom-node-subject-observer-factory-3897e95b.js → dom-node-subject-observer-factory-ddff8662.js} +1 -1
  198. package/dist/esm/{element-appender-slimmer-3926470f.js → element-appender-slimmer-44bbb5c6.js} +5 -5
  199. package/dist/esm/{event-emit-slimmer-0990037c.js → event-emit-slimmer-3eb4d8ad.js} +2 -2
  200. package/dist/esm/{form-field-controller-slimmer-24aca6c4.js → form-field-controller-slimmer-03894a51.js} +5 -5
  201. package/dist/esm/{image-annotation-action-dadda36f.js → image-annotation-action-e8ab7b64.js} +5 -5
  202. package/dist/esm/index.js +21 -21
  203. package/dist/esm/{inject-keyboard-manager-6317d1b3.js → inject-keyboard-manager-e5874185.js} +1 -1
  204. package/dist/esm/{internal-translation-controller-0b9589d0.js → internal-translation-controller-84958bc9.js} +5 -2
  205. package/dist/esm/{internal-vega-event-manager-dc4c3a37.js → internal-vega-event-manager-a9758b6e.js} +3 -3
  206. package/dist/esm/{keyboard-manager-69761aa6.js → keyboard-manager-404b9c17.js} +2 -2
  207. package/dist/esm/{keyboard-manager-slimmer-c2d038f0.js → keyboard-manager-slimmer-c8fcfe60.js} +1 -1
  208. package/dist/esm/loader.js +16 -16
  209. package/dist/esm/{month-view-generator-4c1ee949.js → month-view-generator-d341fa5a.js} +1 -1
  210. package/dist/esm/{public-rules-da28b413.js → public-rules-09387dcf.js} +11 -11
  211. package/dist/esm/{range-342cbce9.js → range-47d9f95e.js} +2 -2
  212. package/dist/esm/{replace-selected-text-action-a45bee4b.js → replace-selected-text-action-a217dc89.js} +1 -1
  213. package/dist/esm/{responsive-format-facade-3ca1422d.js → responsive-format-facade-51c0c2e1.js} +1 -1
  214. package/dist/esm/{rich-text-editor-required-rule-46d0bc5b.js → rich-text-editor-required-rule-cca16fd0.js} +1 -1
  215. package/dist/esm/{split-cell-operation-1d114aa3.js → split-cell-operation-ddde4106.js} +5 -5
  216. package/dist/esm/{state-border-formatter-3ebc76a4.js → state-border-formatter-50394e9c.js} +1 -1
  217. package/dist/esm/{static-subject-title-52f93124.js → static-subject-title-1c86e974.js} +2 -1
  218. package/dist/esm/{string-format-strategy.abstract-95d691e1.js → string-format-strategy.abstract-de17b899.js} +1 -1
  219. package/dist/esm/{string-input-formatter-slimmer-e18d202c.js → string-input-formatter-slimmer-c3d483ef.js} +3 -3
  220. package/dist/esm/{string-mask-strategy-43d846ac.js → string-mask-strategy-87efdb9e.js} +2 -2
  221. package/dist/esm/{style-formatter-197e2fd3.js → style-formatter-c20c1988.js} +2 -2
  222. package/dist/esm/{sub-state-notify-slimmer-80ac7dee.js → sub-state-notify-slimmer-d5a21bb3.js} +1 -1
  223. package/dist/esm/{sub-state-observer-slimmer-81538a8c.js → sub-state-observer-slimmer-d924288a.js} +2 -2
  224. package/dist/esm/{time-required-rule-78d8ecf1.js → time-required-rule-026c17a1.js} +1 -1
  225. package/dist/esm/{token-extension-30011dc4.js → token-extension-76323d76.js} +525 -13
  226. package/dist/esm/{translation-slimmer-49903fc8.js → translation-slimmer-7f195ba8.js} +1 -1
  227. package/dist/esm/{type-guard-b18807dc.js → type-guard-30eec79c.js} +1 -1
  228. package/dist/esm/{ui-64815a12.js → ui-d73f756a.js} +2 -30
  229. package/dist/esm/{valid-credit-card-number-rule-fe1c8a9c.js → valid-credit-card-number-rule-1ac471e8.js} +1 -1
  230. package/dist/esm/vega-accordion.entry.js +12 -12
  231. package/dist/esm/vega-app-footer.entry.js +3 -3
  232. package/dist/esm/vega-app-header-button.entry.js +15 -15
  233. package/dist/esm/vega-backdrop.entry.js +1 -1
  234. package/dist/esm/vega-banner.entry.js +5 -5
  235. package/dist/esm/vega-box.entry.js +8 -8
  236. package/dist/esm/vega-brand-logo.entry.js +3 -3
  237. package/dist/esm/vega-breadcrumb.entry.js +7 -7
  238. package/dist/esm/vega-button-circle.entry.js +12 -12
  239. package/dist/esm/vega-button-group_2.entry.js +8 -8
  240. package/dist/esm/vega-button-link.entry.js +8 -8
  241. package/dist/esm/vega-button.entry.js +10 -10
  242. package/dist/esm/vega-calendar_4.entry.js +15 -15
  243. package/dist/esm/vega-card.entry.js +7 -7
  244. package/dist/esm/vega-carousel.entry.js +9 -9
  245. package/dist/esm/vega-checkbox_2.entry.js +147 -18
  246. package/dist/esm/vega-chip.entry.js +14 -14
  247. package/dist/esm/vega-code-block.entry.js +16 -16
  248. package/dist/esm/vega-color-picker.entry.js +21 -11
  249. package/dist/esm/vega-color-swatch-picker.entry.js +11 -11
  250. package/dist/esm/vega-color-swatch.entry.js +8 -8
  251. package/dist/esm/vega-combo-box.entry.js +42 -20
  252. package/dist/esm/vega-date-picker_2.entry.js +37 -24
  253. package/dist/esm/vega-dialog_2.entry.js +11 -11
  254. package/dist/esm/vega-divider.entry.js +6 -6
  255. package/dist/esm/vega-dropdown_5.entry.js +18 -18
  256. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  257. package/dist/esm/{vega-event-id-20494454.js → vega-event-id-92848bf5.js} +2 -1
  258. package/dist/esm/vega-field-error.entry.js +1 -1
  259. package/dist/esm/vega-field-label.entry.js +86 -14
  260. package/dist/esm/vega-file-uploader.entry.js +10 -10
  261. package/dist/esm/vega-flag-icon.entry.js +6 -6
  262. package/dist/esm/vega-flex.entry.js +8 -8
  263. package/dist/esm/vega-font.entry.js +7 -7
  264. package/dist/esm/vega-form.entry.js +13 -13
  265. package/dist/esm/vega-grid.entry.js +7 -7
  266. package/dist/esm/vega-icon.entry.js +7 -7
  267. package/dist/esm/vega-image-uploader.entry.js +29 -16
  268. package/dist/esm/vega-input-credit-card.entry.js +14 -14
  269. package/dist/esm/vega-input-numeric.entry.js +28 -15
  270. package/dist/esm/vega-input-passcode.entry.js +13 -13
  271. package/dist/esm/vega-input-phone-number.entry.js +12 -12
  272. package/dist/esm/vega-input-range.entry.js +25 -12
  273. package/dist/esm/vega-input-select.entry.js +34 -21
  274. package/dist/esm/vega-input.entry.js +14 -14
  275. package/dist/esm/vega-item-toggle.entry.js +5 -5
  276. package/dist/esm/vega-left-nav_5.entry.js +17 -17
  277. package/dist/esm/vega-loader-wrapper_2.entry.js +5 -5
  278. package/dist/esm/vega-page-notification_2.entry.js +3 -3
  279. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +5 -5
  280. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
  281. package/dist/esm/vega-pagination.entry.js +11 -11
  282. package/dist/esm/vega-popover_2.entry.js +15 -15
  283. package/dist/esm/vega-progress-tracker_2.entry.js +11 -11
  284. package/dist/esm/vega-radio_2.entry.js +14 -14
  285. package/dist/esm/vega-rich-text-content.entry.js +13 -13
  286. package/dist/esm/vega-rich-text-editor_4.entry.js +26 -26
  287. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +11 -11
  288. package/dist/esm/vega-rich-text-table-properties_3.entry.js +16 -16
  289. package/dist/esm/vega-segment-control.entry.js +6 -6
  290. package/dist/esm/vega-selection-chip_2.entry.js +13 -13
  291. package/dist/esm/vega-selection-tile_2.entry.js +32 -34
  292. package/dist/esm/vega-sidenav_3.entry.js +11 -11
  293. package/dist/esm/vega-signature-capture.entry.js +28 -15
  294. package/dist/esm/vega-stepper.entry.js +10 -10
  295. package/dist/esm/vega-tab-group_2.entry.js +7 -7
  296. package/dist/esm/vega-table_11.entry.js +13 -13
  297. package/dist/esm/vega-text.entry.js +177 -63
  298. package/dist/esm/vega-textarea.entry.js +11 -11
  299. package/dist/esm/vega-time-picker_2.entry.js +31 -18
  300. package/dist/esm/vega-toggle-switch.entry.js +20 -10
  301. package/dist/esm/vega-tooltip_2.entry.js +9 -9
  302. package/dist/esm/vega.js +16 -16
  303. package/dist/esm/{wait-for-component-did-render-4069cbea.js → wait-for-component-did-render-b378bf16.js} +1 -1
  304. package/dist/sri/vega-sri-manifest.json +399 -399
  305. package/dist/types/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.d.ts +41 -1
  306. package/dist/types/components/vega-checkbox/vega-checkbox.d.ts +60 -0
  307. package/dist/types/components/vega-color-picker/vega-color-picker.d.ts +10 -0
  308. package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.d.ts +1 -0
  309. package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +21 -0
  310. package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-renderer.d.ts +1 -0
  311. package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +10 -0
  312. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.d.ts +21 -0
  313. package/dist/types/components/vega-field-label/vega-field-label.d.ts +2 -0
  314. package/dist/types/components/vega-image-uploader/slimmers/renderers/vega-image-uploader-renderer.d.ts +1 -0
  315. package/dist/types/components/vega-image-uploader/vega-image-uploader.d.ts +10 -0
  316. package/dist/types/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.d.ts +1 -0
  317. package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +10 -0
  318. package/dist/types/components/vega-input-range/slimmers/renderers/vega-input-range-renderer.d.ts +1 -0
  319. package/dist/types/components/vega-input-range/vega-input-range.d.ts +10 -0
  320. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-renderer.d.ts +1 -0
  321. package/dist/types/components/vega-input-select/vega-input-select.d.ts +10 -0
  322. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/action-handler-strategies/horizontal-line-block-insert-strategy.d.ts +29 -0
  323. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/action-handler-strategies/hr-to-horizontal-line-block-strategy.d.ts +35 -0
  324. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/actions/insert-horizontal-line-block-action.d.ts +15 -0
  325. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/assets/horizontal-line.d.ts +3 -0
  326. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/dto/horizontal-line-annotation.d.ts +43 -0
  327. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/dto/horizontal-line-block.d.ts +53 -0
  328. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/dto/horizontal-line-node.d.ts +26 -0
  329. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/filter-styles-strategies/horizontal-line-block/horizontal-line-filter-styles-strategy.d.ts +31 -0
  330. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/filter-styles-strategies/horizontal-line-block/predicate.d.ts +12 -0
  331. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/horizontal-line-extension.d.ts +9 -0
  332. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-block-renderer.d.ts +16 -0
  333. package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.d.ts +27 -0
  334. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
  335. package/dist/types/components/vega-selection-tile/vega-selection-tile-group/slimmers/renderers/vega-selection-tile-group-renderer.d.ts +2 -1
  336. package/dist/types/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.d.ts +10 -0
  337. package/dist/types/components/vega-signature-capture/slimmers/written-mode/renderers/written-mode-renderer.d.ts +1 -0
  338. package/dist/types/components/vega-signature-capture/vega-signature-capture.d.ts +10 -0
  339. package/dist/types/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.d.ts +34 -12
  340. package/dist/types/components/vega-text/vega-text.d.ts +19 -0
  341. package/dist/types/components/vega-time-picker/slimmers/renderers/vega-time-picker-label-renderer.d.ts +1 -0
  342. package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +10 -0
  343. package/dist/types/components/vega-toggle-switch/vega-toggle-switch.d.ts +10 -0
  344. package/dist/types/components.d.ts +172 -0
  345. package/dist/types/constants/ui.d.ts +1 -1
  346. package/dist/types/helpers/change-manager/subject/static-subject/static-subject-title.d.ts +2 -1
  347. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  348. package/dist/types/helpers/translation/interface.d.ts +4 -1
  349. package/dist/vega/index.esm.js +1 -1
  350. package/dist/vega/{p-d24892d6.entry.js → p-00d2a013.entry.js} +1 -1
  351. package/dist/vega/{p-77fb5d5c.js → p-014cd411.js} +1 -1
  352. package/dist/vega/{p-b2a0d104.entry.js → p-059ba5f5.entry.js} +1 -1
  353. package/dist/vega/{p-fea75b87.js → p-091fbc35.js} +1 -1
  354. package/dist/vega/p-09deb867.entry.js +1 -0
  355. package/dist/vega/{p-9e0f8b46.entry.js → p-0e298ee8.entry.js} +1 -1
  356. package/dist/vega/p-157a2459.entry.js +1 -0
  357. package/dist/vega/p-1827a459.entry.js +1 -0
  358. package/dist/vega/{p-36e46c4f.js → p-1ab4c08d.js} +1 -1
  359. package/dist/vega/{p-4914a5f8.entry.js → p-1d16a7fa.entry.js} +1 -1
  360. package/dist/vega/p-1e68e217.entry.js +1 -0
  361. package/dist/vega/{p-416e89b0.entry.js → p-2649051e.entry.js} +1 -1
  362. package/dist/vega/{p-a87bc75a.entry.js → p-26a54a73.entry.js} +1 -1
  363. package/dist/vega/{p-ba4f23d8.entry.js → p-285b161c.entry.js} +1 -1
  364. package/dist/vega/{p-c93dfe23.js → p-2abdca42.js} +1 -1
  365. package/dist/vega/{p-c0c13993.entry.js → p-2c5352fe.entry.js} +1 -1
  366. package/dist/vega/{p-1f563387.js → p-2e86aee5.js} +1 -1
  367. package/dist/vega/p-2f2201d6.entry.js +1 -0
  368. package/dist/vega/p-306720b8.entry.js +1 -0
  369. package/dist/vega/{p-7292ac20.js → p-328dbe8e.js} +1 -1
  370. package/dist/vega/p-337440ce.entry.js +1 -0
  371. package/dist/vega/{p-0c460945.js → p-3390bb20.js} +1 -1
  372. package/dist/vega/{p-e7fb7eee.js → p-35e800ac.js} +1 -1
  373. package/dist/vega/{p-9c48e4e5.js → p-363e453b.js} +1 -1
  374. package/dist/vega/{p-518e0a24.js → p-3a49089e.js} +1 -1
  375. package/dist/vega/{p-ffda64ac.js → p-3a5737fa.js} +1 -1
  376. package/dist/vega/{p-b565a6a5.js → p-3e09aeed.js} +1 -1
  377. package/dist/vega/{p-6be01c6b.entry.js → p-3ef9c69d.entry.js} +1 -1
  378. package/dist/vega/{p-18d1d404.entry.js → p-43af604c.entry.js} +1 -1
  379. package/dist/vega/{p-c6201e76.entry.js → p-44d2f9e7.entry.js} +1 -1
  380. package/dist/vega/{p-a53e1a60.entry.js → p-4694fe27.entry.js} +1 -1
  381. package/dist/vega/p-46cab60a.js +1 -0
  382. package/dist/vega/{p-341d5e4e.js → p-46e0c6ca.js} +1 -1
  383. package/dist/vega/{p-7dcc0b23.entry.js → p-48ea74b5.entry.js} +1 -1
  384. package/dist/vega/p-4b34df4c.entry.js +1 -0
  385. package/dist/vega/{p-b5d00d38.entry.js → p-4c6baf92.entry.js} +1 -1
  386. package/dist/vega/p-4edd7f8c.js +1 -0
  387. package/dist/vega/{p-3312e3dd.js → p-50e7020c.js} +1 -1
  388. package/dist/vega/{p-11e2dcf5.js → p-526e3634.js} +1 -1
  389. package/dist/vega/p-528748fa.js +1 -0
  390. package/dist/vega/{p-1d752c37.entry.js → p-57b34bf9.entry.js} +1 -1
  391. package/dist/vega/{p-4f53b45d.entry.js → p-5a6e2c08.entry.js} +1 -1
  392. package/dist/vega/{p-b857a661.js → p-5f09aba8.js} +1 -1
  393. package/dist/vega/p-5f377954.js +1 -1
  394. package/dist/vega/{p-d8591207.entry.js → p-5fd29f29.entry.js} +1 -1
  395. package/dist/vega/p-600f0316.entry.js +1 -0
  396. package/dist/vega/{p-92710213.entry.js → p-61536fcf.entry.js} +1 -1
  397. package/dist/vega/{p-6bd37d32.js → p-630cd479.js} +1 -1
  398. package/dist/vega/{p-a0dd5273.entry.js → p-66b2a285.entry.js} +1 -1
  399. package/dist/vega/p-6a3ea3f0.entry.js +1 -0
  400. package/dist/vega/p-6c484462.entry.js +1 -0
  401. package/dist/vega/p-73508c24.js +1 -0
  402. package/dist/vega/{p-3d6568cc.js → p-76454c9a.js} +1 -1
  403. package/dist/vega/{p-b7f30f68.entry.js → p-78a6e741.entry.js} +1 -1
  404. package/dist/vega/p-7fbd11b0.js +1 -0
  405. package/dist/vega/{p-a73d8915.entry.js → p-8258dc37.entry.js} +1 -1
  406. package/dist/vega/p-8457b6b7.entry.js +1 -0
  407. package/dist/vega/{p-92468c30.entry.js → p-8666f206.entry.js} +1 -1
  408. package/dist/vega/{p-a0fa5ccc.entry.js → p-8865613a.entry.js} +1 -1
  409. package/dist/vega/p-894fb9c9.entry.js +1 -0
  410. package/dist/vega/p-89947a43.js +1 -0
  411. package/dist/vega/{p-a36d4199.entry.js → p-89d55444.entry.js} +1 -1
  412. package/dist/vega/{p-ea48decc.js → p-8a34c08a.js} +1 -1
  413. package/dist/vega/p-8a3d12e6.js +1 -0
  414. package/dist/vega/p-8ce92f5f.entry.js +1 -0
  415. package/dist/vega/p-92e493ea.entry.js +1 -0
  416. package/dist/vega/{p-0d248322.entry.js → p-93cbc231.entry.js} +1 -1
  417. package/dist/vega/{p-f0d70de3.js → p-94a064a3.js} +1 -1
  418. package/dist/vega/{p-03b32939.entry.js → p-976536c7.entry.js} +1 -1
  419. package/dist/vega/{p-5a960f83.entry.js → p-9a35a34f.entry.js} +1 -1
  420. package/dist/vega/p-9a562813.entry.js +1 -0
  421. package/dist/vega/{p-b0fb5099.entry.js → p-9cb92fa3.entry.js} +1 -1
  422. package/dist/vega/{p-3967fa98.entry.js → p-a05a2f1e.entry.js} +1 -1
  423. package/dist/vega/{p-d2237b95.entry.js → p-a0705cd0.entry.js} +1 -1
  424. package/dist/vega/p-a18d280f.js +3 -0
  425. package/dist/vega/{p-10fa27d2.js → p-a58cacca.js} +1 -1
  426. package/dist/vega/p-a9b6ce74.js +1 -0
  427. package/dist/vega/{p-788ada42.js → p-ad89f499.js} +1 -1
  428. package/dist/vega/{p-f7ad9349.js → p-b2488adb.js} +1 -1
  429. package/dist/vega/{p-7cd2b93b.js → p-b3420fcf.js} +1 -1
  430. package/dist/vega/{p-d1641644.entry.js → p-b3b22e36.entry.js} +1 -1
  431. package/dist/vega/{p-0d3830f1.js → p-b66d46ce.js} +1 -1
  432. package/dist/vega/p-b9bd85d6.entry.js +1 -0
  433. package/dist/vega/{p-01f617ee.entry.js → p-baef217a.entry.js} +1 -1
  434. package/dist/vega/{p-ecbead18.entry.js → p-bd5566e3.entry.js} +1 -1
  435. package/dist/vega/{p-81d55efd.js → p-be6c1415.js} +1 -1
  436. package/dist/vega/p-c016b230.entry.js +1 -0
  437. package/dist/vega/{p-ce8a0aa6.entry.js → p-c3be0c29.entry.js} +1 -1
  438. package/dist/vega/{p-b5a3de00.entry.js → p-c4bd6cf8.entry.js} +1 -1
  439. package/dist/vega/{p-abfe46ca.js → p-c91e0a43.js} +1 -1
  440. package/dist/vega/{p-0dafd071.entry.js → p-ca4773c3.entry.js} +1 -1
  441. package/dist/vega/p-cb378636.js +1 -0
  442. package/dist/vega/p-cdde6e64.entry.js +1 -0
  443. package/dist/vega/p-d1cc3544.entry.js +1 -0
  444. package/dist/vega/{p-919de162.js → p-d2916121.js} +1 -1
  445. package/dist/vega/{p-5424e837.js → p-d319ebb5.js} +1 -1
  446. package/dist/vega/{p-6629a68b.js → p-d7790113.js} +1 -1
  447. package/dist/vega/{p-b3e97e2f.entry.js → p-d93574dd.entry.js} +1 -1
  448. package/dist/vega/{p-df4f9264.entry.js → p-dbb02b32.entry.js} +1 -1
  449. package/dist/vega/p-dd529875.js +1 -0
  450. package/dist/vega/{p-5c1a4fd7.entry.js → p-df3a649c.entry.js} +1 -1
  451. package/dist/vega/{p-b72d7b57.entry.js → p-df71c830.entry.js} +1 -1
  452. package/dist/vega/p-e80e7cd9.entry.js +1 -0
  453. package/dist/vega/{p-1385da31.entry.js → p-ed0cc518.entry.js} +1 -1
  454. package/dist/vega/{p-296c90bd.entry.js → p-efe48ed5.entry.js} +1 -1
  455. package/dist/vega/{p-e5726df7.entry.js → p-efe6e4e6.entry.js} +1 -1
  456. package/dist/vega/{p-b519b9ab.entry.js → p-f597b65e.entry.js} +1 -1
  457. package/dist/vega/p-f764b62e.entry.js +1 -0
  458. package/dist/vega/p-f7c6af07.js +1 -0
  459. package/dist/vega/{p-cdd3af89.entry.js → p-f7cab150.entry.js} +1 -1
  460. package/dist/vega/{p-0b2ca33b.js → p-f7e8081e.js} +1 -1
  461. package/dist/vega/{p-36f3dd19.entry.js → p-fa398acc.entry.js} +1 -1
  462. package/dist/vega/{p-cacec680.js → p-fae4d64e.js} +1 -1
  463. package/dist/vega/{p-9f03856e.js → p-fbde6153.js} +1 -1
  464. package/dist/vega/{p-b31802b3.entry.js → p-fc0ce3b5.entry.js} +1 -1
  465. package/dist/vega/p-fcefb62c.js +1 -0
  466. package/dist/vega/p-ff24b342.entry.js +1 -0
  467. package/dist/vega/vega.esm.js +1 -1
  468. package/package.json +1 -1
  469. package/dist/vega/p-05dc6718.js +0 -1
  470. package/dist/vega/p-0edf9c6e.entry.js +0 -1
  471. package/dist/vega/p-30f76962.js +0 -3
  472. package/dist/vega/p-3186995a.entry.js +0 -1
  473. package/dist/vega/p-3ab50c06.entry.js +0 -1
  474. package/dist/vega/p-3e2e4b00.entry.js +0 -1
  475. package/dist/vega/p-50958342.js +0 -1
  476. package/dist/vega/p-540bd78a.entry.js +0 -1
  477. package/dist/vega/p-54ed506c.entry.js +0 -1
  478. package/dist/vega/p-5c8522eb.entry.js +0 -1
  479. package/dist/vega/p-6205288e.entry.js +0 -1
  480. package/dist/vega/p-696d7b8f.js +0 -1
  481. package/dist/vega/p-6ab23e89.entry.js +0 -1
  482. package/dist/vega/p-70e0c3eb.entry.js +0 -1
  483. package/dist/vega/p-7168ef16.entry.js +0 -1
  484. package/dist/vega/p-7348a091.entry.js +0 -1
  485. package/dist/vega/p-7cd8d054.entry.js +0 -1
  486. package/dist/vega/p-8ee917b4.js +0 -1
  487. package/dist/vega/p-a32ad1ac.entry.js +0 -1
  488. package/dist/vega/p-a528714c.js +0 -1
  489. package/dist/vega/p-a5713178.js +0 -1
  490. package/dist/vega/p-ad815280.js +0 -1
  491. package/dist/vega/p-b218141f.entry.js +0 -1
  492. package/dist/vega/p-c4675cd2.entry.js +0 -1
  493. package/dist/vega/p-c51e3b9e.js +0 -1
  494. package/dist/vega/p-c84aa55a.js +0 -1
  495. package/dist/vega/p-cd382652.entry.js +0 -1
  496. package/dist/vega/p-cf5c6172.entry.js +0 -1
  497. package/dist/vega/p-da42fde0.js +0 -1
  498. package/dist/vega/p-dc0f7ef1.entry.js +0 -1
  499. package/dist/vega/p-dcd3b421.entry.js +0 -1
  500. package/dist/vega/p-ea4b5520.entry.js +0 -1
  501. package/dist/vega/p-eb78a2f2.entry.js +0 -1
  502. package/dist/vega/p-ec2a1d4c.js +0 -1
  503. package/dist/vega/p-fdf6f368.js +0 -1
  504. package/dist/vega/p-ffe8a826.entry.js +0 -1
@@ -5,17 +5,16 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { Component, Host, h, Element, Prop, Event, Watch, Method, State } from '@stencil/core';
8
- import { createEnterKeyHandlerToTriggerClick } from '../../utils/accessibility';
9
8
  import { sanitizeVegaComponent } from '../../utils/component';
10
9
  import { CheckBoxRequiredRule } from '../../helpers/validator/rules/check-box-required-rule';
11
10
  import ChangeManager from '../../helpers/change-manager/change-manager';
12
- import { CHECKBOX_GROUP_DISABLED_CHANGE, CHECKBOX_VALUE_CHANGE, FORM_ELEMENT_VALUE_CHANGE, } from '../../helpers/change-manager/subject/static-subject/static-subject-title';
11
+ import { CHECKBOX_GROUP_DISABLED_CHANGE, CHECKBOX_USER_INTERACTION, CHECKBOX_VALUE_CHANGE, FORM_ELEMENT_VALUE_CHANGE, } from '../../helpers/change-manager/subject/static-subject/static-subject-title';
13
12
  import { Observer } from '../../helpers/change-manager/observer/observer';
14
13
  import { arrayToClassString, findParent } from '../../utils/ui';
15
14
  import { InjectVegaGlobalSlimmer, InjectVegaSlimmer } from 'vega-slimmer/core';
16
15
  import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
17
16
  import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
18
- import { VegaChange } from '../../helpers/event-manager/event-id/vega-event-id';
17
+ import { VegaChange, VegaUserChange } from '../../helpers/event-manager/event-id/vega-event-id';
19
18
  import { VegaCheckboxShowErrorController } from './slimmers/controllers/vega-checkbox-show-error-controller';
20
19
  import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
21
20
  import { ChildNodesEventPreventSlimmer } from '../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
@@ -48,12 +47,15 @@ export class VegaCheckbox {
48
47
  touchableAreaGetter: () => [this.inputRef],
49
48
  });
50
49
  this.changeEventEmitter = createEventEmitSlimmer(VegaCheckbox, VegaChange);
51
- this.dropdownEventPrevent = new ChildNodesEventPreventSlimmer([VegaChange], () => this.host, {
50
+ this.userChangeEventEmitter = createEventEmitSlimmer(VegaCheckbox, VegaUserChange);
51
+ this.dropdownEventPrevent = new ChildNodesEventPreventSlimmer([VegaChange, VegaUserChange], () => this.host, {
52
52
  customPreventHandle: (e) => {
53
53
  e.stopPropagation();
54
54
  },
55
55
  });
56
56
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
57
+ this.labelClickPending = false;
58
+ this.isUserInteraction = false;
57
59
  /**
58
60
  * Indicates whether the parent checkbox group is disabled.
59
61
  */
@@ -146,7 +148,62 @@ export class VegaCheckbox {
146
148
  if (this.indeterminate) {
147
149
  this.indeterminate = false;
148
150
  }
151
+ this.isUserInteraction = true;
149
152
  this.checked = e.currentTarget.checked;
153
+ // Defensive: Stencil watchers run synchronously on the setter, so by
154
+ // the time the line above returns, watchCheckedChange has already run
155
+ // (or been skipped under a future same-value guard, e.g. VD-8009).
156
+ // Queue an unconditional clear as a safety net so a skipped watcher
157
+ // can never leak the flag into the next prop-driven update.
158
+ this.isUserInteraction = false;
159
+ };
160
+ // Toggle checked directly on Enter to avoid synthetic click bubbling through
161
+ // the <label>, which would fire vegaChange twice via a second onChange.
162
+ this.onInputKeyDown = (e) => {
163
+ if (e.key !== 'Enter')
164
+ return;
165
+ e.preventDefault();
166
+ if (this.isDisabled())
167
+ return;
168
+ if (this.indeterminate) {
169
+ this.indeterminate = false;
170
+ }
171
+ this.isUserInteraction = true;
172
+ this.checked = !this.checked;
173
+ this.isUserInteraction = false;
174
+ };
175
+ /**
176
+ * Suppresses the duplicate `click` event that bubbles to the host when the
177
+ * browser performs the label's default activation behavior. Clicking the
178
+ * label area dispatches one click on the label (which bubbles to the
179
+ * host), and the browser then synthesizes a second click on the wrapped
180
+ * `<input>`, which also bubbles through the label to the host — causing
181
+ * the consumer's `onClick` to fire twice.
182
+ *
183
+ * We tag the original label-area click with `labelClickPending = true` and,
184
+ * when the synthetic input click bubbles back through the label, call
185
+ * `stopPropagation()` to prevent the duplicate from leaving the host.
186
+ * The input still toggles natively (no `preventDefault`), so `change`
187
+ * fires once and `vegaChange` is emitted exactly once via the normal
188
+ * `@Watch('checked')` path. This avoids the spurious same-value emission
189
+ * that an optimistic local toggle would cause in React controlled
190
+ * components, where the parent re-renders the same `checked` value.
191
+ */
192
+ this.onLabelClick = (e) => {
193
+ if (e.target === this.inputRef) {
194
+ if (this.labelClickPending) {
195
+ e.stopPropagation();
196
+ this.labelClickPending = false;
197
+ }
198
+ return;
199
+ }
200
+ this.labelClickPending = true;
201
+ // Defensive reset for cases where no synthetic input click follows
202
+ // (e.g. disabled input, or the click landing outside the label's
203
+ // associated form control).
204
+ setTimeout(() => {
205
+ this.labelClickPending = false;
206
+ }, 0);
150
207
  };
151
208
  this.onSelectedIconClick = (e) => {
152
209
  e.stopPropagation();
@@ -159,8 +216,18 @@ export class VegaCheckbox {
159
216
  this.checked = this.identifier !== '' ? newValue === this.identifier : newValue === true;
160
217
  }
161
218
  watchCheckedChange() {
219
+ // Snapshot + unconditional clear so the user-interaction flag never
220
+ // leaks into a later prop-driven update. Stencil's prop setter only
221
+ // invokes @Watch when the value actually changed, so a click that
222
+ // does not flip `checked` would otherwise leave the flag set.
223
+ const wasUserInteraction = this.isUserInteraction;
224
+ this.isUserInteraction = false;
162
225
  this.initValue();
163
226
  this.changeEventEmitter.emit(this.value);
227
+ if (wasUserInteraction) {
228
+ this.userChangeEventEmitter.emit(this.value);
229
+ ChangeManager.notify(CHECKBOX_USER_INTERACTION, { host: this.host, detail: this.value });
230
+ }
164
231
  ChangeManager.notify(CHECKBOX_VALUE_CHANGE, { host: this.host, detail: this.value });
165
232
  ChangeManager.notify(FORM_ELEMENT_VALUE_CHANGE, {
166
233
  host: this.host,
@@ -181,6 +248,21 @@ export class VegaCheckbox {
181
248
  this.initValue();
182
249
  this.initAndRegisterGroupDisabledObserver();
183
250
  }
251
+ /**
252
+ * Prevents redundant updates when the checked prop is set
253
+ * to the same value (e.g., from parent re-renders in React).
254
+ *
255
+ * @param {unknown} newValue - The new prop value.
256
+ * @param {unknown} oldValue - The old prop value.
257
+ * @param {string} name - The property name.
258
+ * @returns {boolean} Return false to skip the current update flow.
259
+ */
260
+ componentShouldUpdate(newValue, oldValue, name) {
261
+ if (name === 'checked' && newValue === oldValue) {
262
+ return false;
263
+ }
264
+ return true;
265
+ }
184
266
  componentDidRender() {
185
267
  if (this.host.innerHTML.trim() === '') {
186
268
  this.labelElement.classList.add('vega-hidden');
@@ -211,8 +293,8 @@ export class VegaCheckbox {
211
293
  'vega-checkbox-container',
212
294
  this.showError && 'error',
213
295
  this.size && `size-${this.size}`,
214
- ]), ref: (e) => (this.inputContainerRef = e) },
215
- h("input", { ref: (e) => (this.inputRef = e), type: "checkbox", checked: this.checked, value: this.identifier, onChange: this.onCheckBoxChange, "aria-checked": this.indeterminate ? 'mixed' : undefined, disabled: this.isDisabled(), tabIndex: 0, onKeyDown: createEnterKeyHandlerToTriggerClick() }),
296
+ ]), ref: (e) => (this.inputContainerRef = e), onClick: this.onLabelClick },
297
+ h("input", { ref: (e) => (this.inputRef = e), type: "checkbox", checked: this.checked, value: this.identifier, onChange: this.onCheckBoxChange, "aria-label": this.identifier || 'No label defined', "aria-checked": this.indeterminate ? 'mixed' : undefined, disabled: this.isDisabled(), tabIndex: 0, onKeyDown: this.onInputKeyDown }),
216
298
  h("span", { class: "vega-checkbox-icon", onClick: this.onSelectedIconClick, tabIndex: -1, "aria-hidden": "true" }, this.renderIconDom()),
217
299
  h("div", { class: "vega-checkbox-label-container", ref: (el) => (this.labelElement = el) },
218
300
  this.renderLabelDom(),
@@ -488,6 +570,63 @@ export class VegaCheckbox {
488
570
  "resolved": "boolean | string",
489
571
  "references": {}
490
572
  }
573
+ }, {
574
+ "method": "vegaUserChange",
575
+ "name": "vegaUserChange",
576
+ "bubbles": true,
577
+ "cancelable": true,
578
+ "composed": true,
579
+ "docs": {
580
+ "tags": [{
581
+ "name": "remarks",
582
+ "text": "Calling `event.preventDefault()` is a no-op \u2014 it does not roll\nback `checked`/`value` nor suppress the paired `vegaChange` event.\n`cancelable: true` is retained only for parity with `vegaChange`."
583
+ }, {
584
+ "name": "see",
585
+ "text": "{module :vega-checkbox-user-change}"
586
+ }, {
587
+ "name": "see",
588
+ "text": "{module :vega-checkbox-user-change-keyboard}"
589
+ }, {
590
+ "name": "see",
591
+ "text": "{module :vega-checkbox-user-change-keyboard-enter}"
592
+ }, {
593
+ "name": "see",
594
+ "text": "{module :vega-checkbox-user-change-programmatic}"
595
+ }, {
596
+ "name": "see",
597
+ "text": "{module :vega-checkbox-user-change-containment}"
598
+ }, {
599
+ "name": "vegaVersion",
600
+ "text": "2.89.0"
601
+ }],
602
+ "text": "An event emitter notifying changes in the value of the checkbox\n triggered exclusively by user interaction (mouse click or keyboard activation).\n\nUnlike `vegaChange`, this event does NOT fire when the `checked` or `value`\n prop is reassigned programmatically. Use this event when you want to react\n only to real user input (e.g., analytics, derived \"select all\" state)."
603
+ },
604
+ "complexType": {
605
+ "original": "string | boolean",
606
+ "resolved": "boolean | string",
607
+ "references": {}
608
+ }
609
+ }, {
610
+ "method": "userChange",
611
+ "name": "userChange",
612
+ "bubbles": true,
613
+ "cancelable": true,
614
+ "composed": true,
615
+ "docs": {
616
+ "tags": [{
617
+ "name": "eventSemantics",
618
+ "text": "namespace:native"
619
+ }, {
620
+ "name": "vegaVersion",
621
+ "text": "2.89.0"
622
+ }],
623
+ "text": "An event emitter notifying changes in the value of the checkbox\n triggered exclusively by user interaction (mouse click or keyboard activation)."
624
+ },
625
+ "complexType": {
626
+ "original": "string | boolean",
627
+ "resolved": "boolean | string",
628
+ "references": {}
629
+ }
491
630
  }, {
492
631
  "method": "change",
493
632
  "name": "change",
@@ -558,6 +697,9 @@ __decorate([
558
697
  __decorate([
559
698
  InjectVegaSlimmer()
560
699
  ], VegaCheckbox.prototype, "changeEventEmitter", void 0);
700
+ __decorate([
701
+ InjectVegaSlimmer()
702
+ ], VegaCheckbox.prototype, "userChangeEventEmitter", void 0);
561
703
  __decorate([
562
704
  InjectVegaSlimmer()
563
705
  ], VegaCheckbox.prototype, "dropdownEventPrevent", void 0);
@@ -2032,6 +2032,7 @@
2032
2032
  max-width: 100%;
2033
2033
  position: relative;
2034
2034
  border-radius: 9999px;
2035
+ vertical-align: middle;
2035
2036
  }
2036
2037
  :host vega-flex {
2037
2038
  border-radius: 9999px;
@@ -183,7 +183,7 @@ export class VegaChip {
183
183
  }
184
184
  renderText() {
185
185
  return (h("span", { class: "vega-chip-text" },
186
- h("vega-text", { overflow: "ellipsis", key: this.text }, this.text)));
186
+ h("vega-text", { overflow: "ellipsis", text: this.text, key: this.text })));
187
187
  }
188
188
  setCurrentSize() {
189
189
  this.currentSize = ResponsiveFormatFacade.formatCustom(this.size);
@@ -66,6 +66,16 @@ export class VegaColorPicker {
66
66
  * @vegaVersion 1.13.0
67
67
  */
68
68
  this.required = false;
69
+ /**
70
+ * Indicates whether the field should be presented as optional.
71
+ *
72
+ * This property only takes effect when `required` is `false`.
73
+ * When `true`, an "optional" label is displayed next to the field label.
74
+ *
75
+ * @default false
76
+ * @vegaVersion 2.89.0
77
+ */
78
+ this.optional = false;
69
79
  /**
70
80
  * Specifies the label or title for the color picker.
71
81
  *
@@ -145,7 +155,7 @@ export class VegaColorPicker {
145
155
  }))));
146
156
  };
147
157
  this.renderHintMessage = () => {
148
- return h("vega-text", null, this.hint);
158
+ return h("vega-text", { text: this.hint });
149
159
  };
150
160
  this.updateValueProp = async (e) => {
151
161
  if (!this.disabled) {
@@ -176,7 +186,7 @@ export class VegaColorPicker {
176
186
  this.hint && this.renderHintMessage()), this.host);
177
187
  }
178
188
  renderLabelDom() {
179
- return (h("vega-field-label", { "is-field-required": this.required, disabled: this.disabled, label: this.label }));
189
+ return (h("vega-field-label", { "is-field-required": this.required, optional: this.optional, disabled: this.disabled, label: this.label }));
180
190
  }
181
191
  getValidColumns() {
182
192
  const flooredColumns = Math.floor(this.columns);
@@ -299,6 +309,30 @@ export class VegaColorPicker {
299
309
  "reflect": true,
300
310
  "defaultValue": "false"
301
311
  },
312
+ "optional": {
313
+ "type": "boolean",
314
+ "mutable": false,
315
+ "complexType": {
316
+ "original": "boolean",
317
+ "resolved": "boolean",
318
+ "references": {}
319
+ },
320
+ "required": false,
321
+ "optional": false,
322
+ "docs": {
323
+ "tags": [{
324
+ "name": "default",
325
+ "text": "false"
326
+ }, {
327
+ "name": "vegaVersion",
328
+ "text": "2.89.0"
329
+ }],
330
+ "text": "Indicates whether the field should be presented as optional.\n\nThis property only takes effect when `required` is `false`.\nWhen `true`, an \"optional\" label is displayed next to the field label."
331
+ },
332
+ "attribute": "optional",
333
+ "reflect": true,
334
+ "defaultValue": "false"
335
+ },
302
336
  "label": {
303
337
  "type": "string",
304
338
  "mutable": false,
@@ -11,6 +11,7 @@ import { DomNodeSubjectObserverFactory } from '../../../../helpers/change-manage
11
11
  import { VegaClose, VegaCreate, VegaDropdownClick, VegaDropdownHide, } from '../../../../helpers/event-manager/event-id/vega-event-id';
12
12
  import { VegaInternalDropdownTemplateItemsChange } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
13
13
  import { htmlSanitizer, labelSanitizeStrategy } from '../../../../utils/sanitize';
14
+ import { formatAndValidResponsiveToken } from '../../../../utils/design-token';
14
15
  export class VegaComboBoxDropdownRenderer extends VegaSlimmer {
15
16
  constructor() {
16
17
  super(...arguments);
@@ -103,12 +104,20 @@ export class VegaComboBoxDropdownRenderer extends VegaSlimmer {
103
104
  this.renderItemsSlot()));
104
105
  }
105
106
  renderContainer() {
107
+ const formattedMaxHeight = formatAndValidResponsiveToken(this.containerMaxHeight, 'widthAndHeight');
108
+ const containerContentStyle = formattedMaxHeight
109
+ ? {
110
+ maxHeight: formattedMaxHeight,
111
+ }
112
+ : undefined;
106
113
  return (h("div", { class: {
107
114
  'vega-combo-box-container': true,
108
115
  [`vega-combo-box-size-${this.size}`]: true,
109
- } },
116
+ } }, formattedMaxHeight ? (h("div", { class: "vega-combo-box-container-content", style: containerContentStyle },
117
+ this.renderSelectedContainer(),
118
+ this.renderInputContainer())) : (h(Fragment, null,
110
119
  this.renderSelectedContainer(),
111
- this.renderInputContainer()));
120
+ this.renderInputContainer()))));
112
121
  }
113
122
  renderItemsSlot() {
114
123
  return (this.isTemplateMode && (h("div", { slot: "items", ref: (ref) => {
@@ -160,6 +169,9 @@ __decorate([
160
169
  __decorate([
161
170
  MapToComponentField()
162
171
  ], VegaComboBoxDropdownRenderer.prototype, "size", void 0);
172
+ __decorate([
173
+ MapToComponentField()
174
+ ], VegaComboBoxDropdownRenderer.prototype, "containerMaxHeight", void 0);
163
175
  __decorate([
164
176
  MapToComponentField()
165
177
  ], VegaComboBoxDropdownRenderer.prototype, "vegaDropdownProps", void 0);
@@ -30,6 +30,18 @@
30
30
  border: 1px solid rgba(var(--v-border-input-field-hover, 115, 160, 190, 1));
31
31
  }
32
32
 
33
+ .vega-combo-box-container-content {
34
+ display: flex;
35
+ flex-wrap: wrap;
36
+ align-items: center;
37
+ gap: 8px;
38
+ width: 100%;
39
+ max-height: 100%;
40
+ overflow-y: auto;
41
+ overflow-x: hidden;
42
+ min-height: 26px;
43
+ }
44
+
33
45
  .vega-combo-box-container:focus-within {
34
46
  border: 1px solid rgba(var(--v-border-input-field-focus, 19, 98, 226, 1));
35
47
  outline: 2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));
@@ -4,7 +4,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
4
4
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
- import { Component, Prop, Element, Method, Watch, Event } from '@stencil/core';
7
+ import { Component, Prop, Element, Method, Watch, Event, State } from '@stencil/core';
8
8
  import { RequiredFieldRule } from '../../helpers/validator/rules/required-field-rule';
9
9
  import { sanitizeVegaComponent } from '../../utils/component';
10
10
  import { isArrayOfType, isDropdownSourceItemType } from '../../types/type-guard';
@@ -23,6 +23,7 @@ import { VegaComboBoxRenderer } from './slimmers/renderers/vega-combo-box-render
23
23
  import { VegaComboBoxKeyboardController } from './slimmers/controllers/vega-combo-box-keyboard-controller';
24
24
  import { VegaComboBoxItemsSlotController } from './slimmers/controllers/vega-combo-box-items-slot-controller';
25
25
  import { VegaComboBoxSourceController } from './slimmers/controllers/vega-combo-box-source-controller';
26
+ import { PageResizeObserverSlimmer } from '../../helpers/slimmers/page-resize-observer-slimmer';
26
27
  /**
27
28
  * @vegaVersion 1.11.0
28
29
  */
@@ -35,6 +36,7 @@ export class VegaComboBox {
35
36
  this.sourceController = new VegaComboBoxSourceController();
36
37
  this.renderer = new VegaComboBoxRenderer();
37
38
  this.dropdownRenderer = new VegaComboBoxDropdownRenderer();
39
+ this.pageResizeSlimmer = new PageResizeObserverSlimmer();
38
40
  this.formFieldController = new FormFieldControllerSlimmer({
39
41
  propertyRules: [
40
42
  {
@@ -182,6 +184,9 @@ export class VegaComboBox {
182
184
  watchValidationRules() {
183
185
  methodPlaceholder();
184
186
  }
187
+ watchContainerMaxHeight() {
188
+ methodPlaceholder();
189
+ }
185
190
  /**
186
191
  * Invoke this method to close the dropdown menu associated with the combo box.
187
192
  *
@@ -478,6 +483,35 @@ export class VegaComboBox {
478
483
  "reflect": false,
479
484
  "defaultValue": "'medium'"
480
485
  },
486
+ "containerMaxHeight": {
487
+ "type": "any",
488
+ "mutable": false,
489
+ "complexType": {
490
+ "original": "ResponsiveType<MaxHeightType>",
491
+ "resolved": "number | string | { S?: MaxHeightType; M?: MaxHeightType; L?: MaxHeightType; XL?: MaxHeightType; default?: MaxHeightType; }",
492
+ "references": {
493
+ "ResponsiveType": {
494
+ "location": "import",
495
+ "path": "../../types/ui.type"
496
+ },
497
+ "MaxHeightType": {
498
+ "location": "import",
499
+ "path": "../../types/ui.type"
500
+ }
501
+ }
502
+ },
503
+ "required": false,
504
+ "optional": false,
505
+ "docs": {
506
+ "tags": [{
507
+ "name": "vegaVersion",
508
+ "text": "2.89.0"
509
+ }],
510
+ "text": "Specifies the maximum height of the combo box container,\n including selected chips and input area.\n\nWhen set, vertical scrolling will be enabled once the\n container content exceeds the configured height.\n\nNote: values smaller than the input minimum height (26px)\n are floored to keep the input usable. Use\n `vegaDropdownProps.maxHeight` to control the dropdown\n menu height independently."
511
+ },
512
+ "attribute": "container-max-height",
513
+ "reflect": true
514
+ },
481
515
  "vegaDropdownProps": {
482
516
  "type": "unknown",
483
517
  "mutable": false,
@@ -524,6 +558,9 @@ export class VegaComboBox {
524
558
  "defaultValue": "true"
525
559
  }
526
560
  }; }
561
+ static get states() { return {
562
+ "currentBreakpoint": {}
563
+ }; }
527
564
  static get events() { return [{
528
565
  "method": "vegaChange",
529
566
  "name": "vegaChange",
@@ -692,6 +729,9 @@ export class VegaComboBox {
692
729
  }, {
693
730
  "propName": "validationRules",
694
731
  "methodName": "watchValidationRules"
732
+ }, {
733
+ "propName": "containerMaxHeight",
734
+ "methodName": "watchContainerMaxHeight"
695
735
  }]; }
696
736
  }
697
737
  __decorate([
@@ -715,6 +755,9 @@ __decorate([
715
755
  __decorate([
716
756
  InjectVegaSlimmer()
717
757
  ], VegaComboBox.prototype, "dropdownRenderer", void 0);
758
+ __decorate([
759
+ InjectVegaSlimmer()
760
+ ], VegaComboBox.prototype, "pageResizeSlimmer", void 0);
718
761
  __decorate([
719
762
  InjectVegaSlimmer()
720
763
  ], VegaComboBox.prototype, "formFieldController", void 0);
@@ -38,7 +38,7 @@ export class VegaDatePickerRenderer extends VegaSlimmer {
38
38
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(e, VegaClick, async () => {
39
39
  await this.focusInput();
40
40
  });
41
- }, isFieldRequired: this.required, disabled: this.disabled, label: this.label })));
41
+ }, isFieldRequired: this.required, disabled: this.disabled, optional: this.optional, label: this.label })));
42
42
  };
43
43
  /**
44
44
  * The below method is e2e-test covered in
@@ -90,6 +90,9 @@ __decorate([
90
90
  __decorate([
91
91
  MapToComponentField()
92
92
  ], VegaDatePickerRenderer.prototype, "required", void 0);
93
+ __decorate([
94
+ MapToComponentField()
95
+ ], VegaDatePickerRenderer.prototype, "optional", void 0);
93
96
  __decorate([
94
97
  MapToComponentField()
95
98
  ], VegaDatePickerRenderer.prototype, "readOnly", void 0);
@@ -110,6 +110,16 @@ export class VegaDatePicker {
110
110
  * @vegaVersion 1.3.0
111
111
  */
112
112
  this.required = false;
113
+ /**
114
+ * Indicates whether the field should be presented as optional.
115
+ *
116
+ * This property only takes effect when `required` is `false`.
117
+ * When `true`, an "optional" label is displayed next to the field label.
118
+ *
119
+ * @default false
120
+ * @vegaVersion 2.89.0
121
+ */
122
+ this.optional = false;
113
123
  /**
114
124
  * Specifies the validation status of the date picker component.
115
125
  *
@@ -390,6 +400,30 @@ export class VegaDatePicker {
390
400
  "reflect": true,
391
401
  "defaultValue": "false"
392
402
  },
403
+ "optional": {
404
+ "type": "boolean",
405
+ "mutable": false,
406
+ "complexType": {
407
+ "original": "boolean",
408
+ "resolved": "boolean",
409
+ "references": {}
410
+ },
411
+ "required": false,
412
+ "optional": false,
413
+ "docs": {
414
+ "tags": [{
415
+ "name": "default",
416
+ "text": "false"
417
+ }, {
418
+ "name": "vegaVersion",
419
+ "text": "2.89.0"
420
+ }],
421
+ "text": "Indicates whether the field should be presented as optional.\n\nThis property only takes effect when `required` is `false`.\nWhen `true`, an \"optional\" label is displayed next to the field label."
422
+ },
423
+ "attribute": "optional",
424
+ "reflect": true,
425
+ "defaultValue": "false"
426
+ },
393
427
  "isValid": {
394
428
  "type": "boolean",
395
429
  "mutable": true,
@@ -0,0 +1,69 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { h } from '@stencil/core';
8
+ import { VegaSlimmer, MapToComponentField } from 'vega-slimmer/core';
9
+ /*
10
+ * Screen-reader-only announcement.
11
+ *
12
+ * VoiceOver cannot reliably derive the full field state from the
13
+ * visible label alone because:
14
+ * - "Required" is represented visually by a decorative "*" — AT
15
+ * users would hear the raw asterisk character, not a meaningful word.
16
+ * - "Disabled" has no visible text marker at all.
17
+ *
18
+ * This span provides a single, predictable AT announcement that
19
+ * concatenates the label text with the plain-English states
20
+ * (e.g. "Email, Required, Disabled"), ensuring VoiceOver reads
21
+ * exactly what the user needs to know.
22
+ *
23
+ * The visible <label> below is hidden from AT (`aria-hidden="true"`)
24
+ * to prevent duplicate announcements and to stop VoiceOver from
25
+ * vocalising the decorative "*" as part of the label text.
26
+ */
27
+ export class VegaFieldLabelLabelAnnouncementRenderer extends VegaSlimmer {
28
+ /**
29
+ * Render a label announcement.
30
+ *
31
+ * @returns {Nullable<HTMLElement>}
32
+ */
33
+ render() {
34
+ return this.label && h("span", { class: "aria-announcement" }, this.generateAnnouncement());
35
+ }
36
+ /**
37
+ * Generate a screen-reader-friendly announcement string that concatenates the label text with the field's required/optional and disabled states.
38
+ *
39
+ * @returns {string} The generated announcement string.
40
+ */
41
+ generateAnnouncement() {
42
+ let announcement = this.label;
43
+ if (this.isFieldRequired) {
44
+ announcement += `, ${this.translationSlimmer.t('Required')}`;
45
+ }
46
+ else if (this.optional) {
47
+ announcement += `, ${this.translationSlimmer.t('Optional')}`;
48
+ }
49
+ if (this.disabled) {
50
+ announcement += `, ${this.translationSlimmer.t('Disabled')}`;
51
+ }
52
+ return announcement;
53
+ }
54
+ }
55
+ __decorate([
56
+ MapToComponentField()
57
+ ], VegaFieldLabelLabelAnnouncementRenderer.prototype, "label", void 0);
58
+ __decorate([
59
+ MapToComponentField()
60
+ ], VegaFieldLabelLabelAnnouncementRenderer.prototype, "isFieldRequired", void 0);
61
+ __decorate([
62
+ MapToComponentField()
63
+ ], VegaFieldLabelLabelAnnouncementRenderer.prototype, "optional", void 0);
64
+ __decorate([
65
+ MapToComponentField()
66
+ ], VegaFieldLabelLabelAnnouncementRenderer.prototype, "disabled", void 0);
67
+ __decorate([
68
+ MapToComponentField()
69
+ ], VegaFieldLabelLabelAnnouncementRenderer.prototype, "translationSlimmer", void 0);
@@ -106,4 +106,16 @@ label:first-of-type {
106
106
  line-height: 22px;
107
107
  letter-spacing: 0px;
108
108
  }
109
+ }
110
+
111
+ .aria-announcement {
112
+ position: absolute;
113
+ width: 1px;
114
+ height: 1px;
115
+ padding: 0;
116
+ margin: -1px;
117
+ overflow: hidden;
118
+ clip: rect(0, 0, 0, 0);
119
+ white-space: nowrap;
120
+ border: 0;
109
121
  }
@@ -12,6 +12,7 @@ import { VegaClick, VegaLabelButtonClick } from '../../helpers/event-manager/eve
12
12
  import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
13
13
  import { VegaFieldLabelSuffixElementRenderer } from './slimmers/renderers/vega-field-label-suffix-element-renderer';
14
14
  import { TranslationSlimmer } from '../../helpers/slimmers/translation/translation-slimmer';
15
+ import { VegaFieldLabelLabelAnnouncementRenderer } from './slimmers/renderers/vega-field-label-label-announcement-renderer';
15
16
  /**
16
17
  * @vegaVersion 1.10.0
17
18
  */
@@ -26,6 +27,7 @@ export class VegaFieldLabel {
26
27
  this.suffixButtonClickEventEmitter = createEventEmitSlimmer(VegaFieldLabel, VegaLabelButtonClick);
27
28
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
28
29
  this.suffixElementRenderer = new VegaFieldLabelSuffixElementRenderer();
30
+ this.labelAnnouncementRenderer = new VegaFieldLabelLabelAnnouncementRenderer();
29
31
  this.translationSlimmer = new TranslationSlimmer();
30
32
  /**
31
33
  * @deprecated Please use `suffixButtonConfig` instead
@@ -101,9 +103,13 @@ export class VegaFieldLabel {
101
103
  hidden: this.label === '',
102
104
  disabled: this.disabled,
103
105
  }, onClick: this.handleClick },
104
- h("label", null,
106
+ this.labelAnnouncementRenderer.render(),
107
+ h("label", { "aria-hidden": "true" },
105
108
  h("span", { class: "vega-field-label" }, this.label),
106
- !this.isFieldRequired && this.optional && (h("span", { class: "optional" }, this.translationSlimmer.t('(Optional)'))),
109
+ !this.isFieldRequired && this.optional && (h("span", { class: "optional" },
110
+ "(",
111
+ this.translationSlimmer.t('Optional'),
112
+ ")")),
107
113
  h("span", { class: {
108
114
  'vega-field-label-required': true,
109
115
  'hidden': !this.isFieldRequired,
@@ -337,6 +343,9 @@ __decorate([
337
343
  __decorate([
338
344
  InjectVegaSlimmer()
339
345
  ], VegaFieldLabel.prototype, "suffixElementRenderer", void 0);
346
+ __decorate([
347
+ InjectVegaSlimmer()
348
+ ], VegaFieldLabel.prototype, "labelAnnouncementRenderer", void 0);
340
349
  __decorate([
341
350
  InjectVegaSlimmer()
342
351
  ], VegaFieldLabel.prototype, "translationSlimmer", void 0);