@heartlandone/vega 2.77.0 → 2.78.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 (445) hide show
  1. package/dist/cjs/{app-globals-04e7024b.js → app-globals-55e26945.js} +6 -6
  2. package/dist/cjs/{aria-attributes-value-mapper-f58c73f8.js → aria-attributes-value-mapper-9a41b9cf.js} +10 -3
  3. package/dist/cjs/{breakpoints-751d433a.js → breakpoints-a8ff22f0.js} +1 -1
  4. package/dist/cjs/{child-nodes-event-prevent-slimmer-cc6d2919.js → child-nodes-event-prevent-slimmer-dd0bb8b6.js} +1 -1
  5. package/dist/cjs/{code-block-f1480ec3.js → code-block-1a5fafed.js} +2 -2
  6. package/dist/cjs/{component-value-history-controller-slimmer.abstract-a9264cc8.js → component-value-history-controller-slimmer.abstract-42683f23.js} +4 -4
  7. package/dist/cjs/{date-required-rule-912469e0.js → date-required-rule-ad536cb5.js} +1 -1
  8. package/dist/cjs/{design-token-c49717c8.js → design-token-45ebd5e4.js} +3 -3
  9. package/dist/cjs/{dto-renderer-manager-809c947b.js → dto-renderer-manager-7557d562.js} +3 -3
  10. package/dist/cjs/{element-appender-slimmer-38583ca9.js → element-appender-slimmer-16ec8591.js} +181 -22
  11. package/dist/cjs/{event-emit-slimmer-062cdcb8.js → event-emit-slimmer-c84121c8.js} +1 -1
  12. package/dist/cjs/{form-field-controller-slimmer-102f37c7.js → form-field-controller-slimmer-73f5849e.js} +4 -4
  13. package/dist/cjs/{image-annotation-action-8d9fa20c.js → image-annotation-action-f275863e.js} +3 -3
  14. package/dist/cjs/index.cjs.js +18 -18
  15. package/dist/cjs/{inject-keyboard-manager-0f5bd568.js → inject-keyboard-manager-6667c0f1.js} +1 -1
  16. package/dist/cjs/{internal-translation-controller-053eb0f1.js → internal-translation-controller-24df468f.js} +16 -0
  17. package/dist/cjs/{internal-vega-event-manager-f7ecf3d4.js → internal-vega-event-manager-cc0f511c.js} +2 -2
  18. package/dist/cjs/{keyboard-manager-055e9f67.js → keyboard-manager-7de7ecfd.js} +1 -1
  19. package/dist/cjs/{keyboard-manager-slimmer-0cc0c1c7.js → keyboard-manager-slimmer-b44f0dc9.js} +1 -1
  20. package/dist/cjs/loader.cjs.js +14 -14
  21. package/dist/cjs/{month-view-generator-6a6dd527.js → month-view-generator-36c42772.js} +1 -1
  22. package/dist/cjs/{page-resize-observer-slimmer-7f065ee1.js → page-resize-observer-slimmer-e050cd26.js} +1 -1
  23. package/dist/cjs/{public-rules-922849f3.js → public-rules-6c6cb4ac.js} +9 -9
  24. package/dist/cjs/{range-8aa49b08.js → range-e298d4aa.js} +1 -1
  25. package/dist/cjs/{responsive-format-facade-acc39a40.js → responsive-format-facade-bddac47c.js} +3 -3
  26. package/dist/cjs/{rich-text-editor-required-rule-22225840.js → rich-text-editor-required-rule-6346a888.js} +1 -1
  27. package/dist/cjs/{string-format-strategy.abstract-f2575647.js → string-format-strategy.abstract-814d66c4.js} +1 -1
  28. package/dist/cjs/{string-input-formatter-slimmer-0a334fc6.js → string-input-formatter-slimmer-749e3cfe.js} +3 -3
  29. package/dist/cjs/{string-mask-strategy-dda58395.js → string-mask-strategy-d00871c2.js} +2 -2
  30. package/dist/cjs/{style-formatter-028af284.js → style-formatter-94c1a1ff.js} +2 -2
  31. package/dist/cjs/{sub-state-notify-slimmer-58121111.js → sub-state-notify-slimmer-ac1dae32.js} +1 -1
  32. package/dist/cjs/{sub-state-observer-slimmer-1dfbc4c3.js → sub-state-observer-slimmer-e692d849.js} +1 -1
  33. package/dist/cjs/{time-required-rule-d6fa7aa8.js → time-required-rule-f1f3c8c2.js} +1 -1
  34. package/dist/cjs/{token-extension-ffcaeae0.js → token-extension-1e98ddf3.js} +7 -7
  35. package/dist/cjs/{translation-slimmer-4533bd67.js → translation-slimmer-3fa03d81.js} +1 -1
  36. package/dist/cjs/{type-guard-407ba0b8.js → type-guard-a0d9ff1f.js} +37 -2
  37. package/dist/cjs/{ui-32e69595.js → ui-024696c0.js} +8 -1
  38. package/dist/cjs/{valid-credit-card-number-rule-41a8b51b.js → valid-credit-card-number-rule-cba7d66a.js} +1 -1
  39. package/dist/cjs/vega-accordion.cjs.entry.js +9 -9
  40. package/dist/cjs/vega-app-header-button.cjs.entry.js +31 -13
  41. package/dist/cjs/vega-banner.cjs.entry.js +3 -3
  42. package/dist/cjs/vega-box.cjs.entry.js +8 -8
  43. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  44. package/dist/cjs/vega-button-circle.cjs.entry.js +12 -12
  45. package/dist/cjs/vega-button-group_2.cjs.entry.js +7 -7
  46. package/dist/cjs/vega-button-link.cjs.entry.js +20 -4
  47. package/dist/cjs/vega-button.cjs.entry.js +11 -11
  48. package/dist/cjs/vega-calendar_4.cjs.entry.js +15 -15
  49. package/dist/cjs/vega-card.cjs.entry.js +6 -6
  50. package/dist/cjs/vega-carousel.cjs.entry.js +9 -9
  51. package/dist/cjs/vega-checkbox_2.cjs.entry.js +11 -11
  52. package/dist/cjs/vega-chip.cjs.entry.js +11 -11
  53. package/dist/cjs/vega-code-block.cjs.entry.js +16 -15
  54. package/dist/cjs/vega-color-picker.cjs.entry.js +10 -10
  55. package/dist/cjs/vega-combo-box.cjs.entry.js +14 -14
  56. package/dist/cjs/vega-date-picker_2.cjs.entry.js +113 -32
  57. package/dist/cjs/vega-dialog_2.cjs.entry.js +11 -11
  58. package/dist/cjs/vega-divider.cjs.entry.js +7 -7
  59. package/dist/cjs/vega-dropdown_5.cjs.entry.js +41 -17
  60. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  61. package/dist/cjs/{vega-event-id-ee01d8dd.js → vega-event-id-c08ce3d3.js} +2 -0
  62. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  63. package/dist/cjs/vega-file-uploader.cjs.entry.js +11 -11
  64. package/dist/cjs/vega-flag-icon.cjs.entry.js +6 -6
  65. package/dist/cjs/vega-flex.cjs.entry.js +9 -9
  66. package/dist/cjs/vega-font.cjs.entry.js +7 -7
  67. package/dist/cjs/vega-form.cjs.entry.js +13 -13
  68. package/dist/cjs/vega-grid.cjs.entry.js +6 -6
  69. package/dist/cjs/vega-icon.cjs.entry.js +6 -6
  70. package/dist/cjs/vega-image-uploader.cjs.entry.js +14 -14
  71. package/dist/cjs/vega-input-credit-card.cjs.entry.js +16 -16
  72. package/dist/cjs/vega-input-numeric.cjs.entry.js +102 -42
  73. package/dist/cjs/vega-input-passcode.cjs.entry.js +109 -36
  74. package/dist/cjs/vega-input-phone-number.cjs.entry.js +91 -41
  75. package/dist/cjs/vega-input-range.cjs.entry.js +27 -12
  76. package/dist/cjs/vega-input-select.cjs.entry.js +17 -17
  77. package/dist/cjs/vega-input.cjs.entry.js +414 -187
  78. package/dist/cjs/{vega-internal-event-id-f2465f1b.js → vega-internal-event-id-e0aeac45.js} +2 -0
  79. package/dist/cjs/vega-item-toggle.cjs.entry.js +4 -4
  80. package/dist/cjs/vega-left-nav_5.cjs.entry.js +15 -16
  81. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +6 -6
  82. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  83. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +4 -4
  84. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -4
  85. package/dist/cjs/vega-pagination.cjs.entry.js +12 -12
  86. package/dist/cjs/vega-popover_2.cjs.entry.js +15 -15
  87. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +12 -12
  88. package/dist/cjs/vega-radio_2.cjs.entry.js +14 -14
  89. package/dist/cjs/vega-rich-text-content.cjs.entry.js +17 -11
  90. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +589 -396
  91. package/dist/cjs/vega-segment-control.cjs.entry.js +6 -6
  92. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +14 -14
  93. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +12 -12
  94. package/dist/cjs/vega-sidenav_3.cjs.entry.js +12 -12
  95. package/dist/cjs/vega-signature-capture.cjs.entry.js +14 -14
  96. package/dist/cjs/vega-stepper.cjs.entry.js +12 -12
  97. package/dist/cjs/vega-tab-group_2.cjs.entry.js +7 -7
  98. package/dist/cjs/vega-table_11.cjs.entry.js +14 -14
  99. package/dist/cjs/vega-text.cjs.entry.js +3 -3
  100. package/dist/cjs/vega-textarea.cjs.entry.js +110 -42
  101. package/dist/cjs/vega-time-picker_2.cjs.entry.js +18 -18
  102. package/dist/cjs/vega-toggle-switch.cjs.entry.js +10 -10
  103. package/dist/cjs/vega-tooltip_2.cjs.entry.js +11 -11
  104. package/dist/cjs/vega.cjs.js +14 -14
  105. package/dist/cjs/{wait-for-component-did-render-70a01bf9.js → wait-for-component-did-render-cbebfc33.js} +1 -1
  106. package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +44 -2
  107. package/dist/collection/components/vega-button-link/vega-button-link.js +16 -1
  108. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.js +1 -1
  109. package/dist/collection/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.js +1 -1
  110. package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-content-renderer.js +4 -0
  111. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-open-state-controller.js +64 -0
  112. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-selection-controller.js +3 -0
  113. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.js +3 -3
  114. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.js +19 -1
  115. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.js +3 -2
  116. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.js +3 -2
  117. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +12 -0
  118. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +25 -0
  119. package/dist/collection/components/vega-flex/vega-flex.css +32 -0
  120. package/dist/collection/components/vega-flex/vega-flex.js +1 -1
  121. package/dist/collection/components/vega-grid/vega-grid.js +2 -2
  122. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.js +1 -3
  123. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-container-renderer.js +1 -5
  124. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-renderer.js +1 -4
  125. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.js +5 -2
  126. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-prefix-slot-renderer.js +1 -1
  127. package/dist/collection/components/vega-input/vega-input.js +382 -101
  128. package/dist/collection/components/vega-input-credit-card/vega-input-credit-card.js +1 -1
  129. package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +175 -49
  130. package/dist/collection/components/vega-input-passcode/slimmers/controllers/vega-input-passcode-keyboard-controller.js +2 -0
  131. package/dist/collection/components/vega-input-passcode/slimmers/renderers/vega-input-passcode-renderer.js +30 -2
  132. package/dist/collection/components/vega-input-passcode/vega-input-passcode.js +123 -35
  133. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +145 -56
  134. package/dist/collection/components/vega-input-range/slimmers/renderers/vega-input-range-input-renderer.js +15 -0
  135. package/dist/collection/components/vega-input-select/vega-input-select.js +6 -5
  136. package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/renderers/vega-left-nav-link-renderer.js +2 -3
  137. package/dist/collection/components/vega-popover/vega-popover-content-box/vega-popover-content-box.css +5 -0
  138. package/dist/collection/components/vega-radio/vega-radio-group/vega-radio-group.js +1 -1
  139. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +7 -1
  140. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-image-controller.js +7 -4
  141. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +113 -12
  142. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +2 -2
  143. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +4 -17
  144. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +102 -0
  145. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +49 -1
  146. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-image-editor/slimmers/renderers/vega-rich-text-image-editor-renderer.js +1 -1
  147. package/dist/collection/components/vega-stepper/vega-stepper.js +1 -1
  148. package/dist/collection/components/vega-textarea/vega-textarea.js +183 -52
  149. package/dist/collection/components/vega-tooltip/vega-tooltip-content-box/vega-tooltip-content-box.css +5 -0
  150. package/dist/collection/constants/ui.js +9 -1
  151. package/dist/collection/helpers/calendar/test/utils.test.js +54 -1
  152. package/dist/collection/helpers/calendar/utils.js +35 -0
  153. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +2 -2
  154. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  155. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  156. package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +27 -0
  157. package/dist/collection/helpers/slimmers/element-appender/test/element-appender-slimmer.test.js +50 -0
  158. package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +10 -3
  159. package/dist/collection/helpers/slimmers/mutation-observer/data-tab-index-value-mapper.js +80 -0
  160. package/dist/collection/helpers/slimmers/mutation-observer/test/aria-attributes-value-mapper.test.js +55 -3
  161. package/dist/collection/helpers/slimmers/mutation-observer/test/data-tab-index-value-mapper.test.js +120 -0
  162. package/dist/collection/helpers/slimmers/position-calculation/base-position-calculation-strategy.js +123 -9
  163. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +14 -4
  164. package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +13 -4
  165. package/dist/collection/helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.js +7 -6
  166. package/dist/collection/helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.js +162 -7
  167. package/dist/collection/helpers/translation/locales/en.js +16 -0
  168. package/dist/collection/helpers/translation/tests/internal-translation-controller.test.js +17 -0
  169. package/dist/collection/helpers/translation/tests/translation.test.js +14 -0
  170. package/dist/collection/helpers/ui/test/element-appender.test.js +7 -5
  171. package/dist/collection/utils/e2e-utils.js +6 -0
  172. package/dist/esm/{app-globals-32055795.js → app-globals-3b97bb20.js} +6 -6
  173. package/dist/esm/{aria-attributes-value-mapper-d4fef46a.js → aria-attributes-value-mapper-2c632641.js} +10 -3
  174. package/dist/esm/{breakpoints-56e5407b.js → breakpoints-13353e09.js} +1 -1
  175. package/dist/esm/{child-nodes-event-prevent-slimmer-331312b8.js → child-nodes-event-prevent-slimmer-4feabae0.js} +1 -1
  176. package/dist/esm/{code-block-b6247a45.js → code-block-d65bab61.js} +2 -2
  177. package/dist/esm/{component-value-history-controller-slimmer.abstract-2bb8533d.js → component-value-history-controller-slimmer.abstract-556fcf2a.js} +4 -4
  178. package/dist/esm/{date-required-rule-e771e7d9.js → date-required-rule-4ffd9cae.js} +1 -1
  179. package/dist/esm/{design-token-5bc034e1.js → design-token-b518a2aa.js} +3 -3
  180. package/dist/esm/{dto-renderer-manager-6fd22ab7.js → dto-renderer-manager-73df5cbe.js} +3 -3
  181. package/dist/esm/{element-appender-slimmer-9ea377d0.js → element-appender-slimmer-36b7a572.js} +181 -22
  182. package/dist/esm/{event-emit-slimmer-ffaecb9a.js → event-emit-slimmer-f879fd58.js} +1 -1
  183. package/dist/esm/{form-field-controller-slimmer-5817d14d.js → form-field-controller-slimmer-9a880420.js} +4 -4
  184. package/dist/esm/{image-annotation-action-6701b4c9.js → image-annotation-action-eb3dcad5.js} +3 -3
  185. package/dist/esm/index.js +18 -18
  186. package/dist/esm/{inject-keyboard-manager-78730062.js → inject-keyboard-manager-e5481833.js} +1 -1
  187. package/dist/esm/{internal-translation-controller-911515f9.js → internal-translation-controller-0787a7a7.js} +16 -0
  188. package/dist/esm/{internal-vega-event-manager-32a3d848.js → internal-vega-event-manager-3aebbe55.js} +2 -2
  189. package/dist/esm/{keyboard-manager-38934f94.js → keyboard-manager-4dfc625f.js} +1 -1
  190. package/dist/esm/{keyboard-manager-slimmer-9984d922.js → keyboard-manager-slimmer-87bf68f1.js} +1 -1
  191. package/dist/esm/loader.js +14 -14
  192. package/dist/esm/{month-view-generator-eaf9029c.js → month-view-generator-94134ec5.js} +1 -1
  193. package/dist/esm/{page-resize-observer-slimmer-d6af0d86.js → page-resize-observer-slimmer-e0505250.js} +1 -1
  194. package/dist/esm/{public-rules-25cc3a39.js → public-rules-49912d52.js} +9 -9
  195. package/dist/esm/{range-663f44dc.js → range-0a22b512.js} +1 -1
  196. package/dist/esm/{responsive-format-facade-aa705823.js → responsive-format-facade-b3799ff9.js} +3 -3
  197. package/dist/esm/{rich-text-editor-required-rule-a238b862.js → rich-text-editor-required-rule-d86e3a51.js} +1 -1
  198. package/dist/esm/{string-format-strategy.abstract-713fba36.js → string-format-strategy.abstract-e40a0df7.js} +1 -1
  199. package/dist/esm/{string-input-formatter-slimmer-5b413ff9.js → string-input-formatter-slimmer-076764fc.js} +3 -3
  200. package/dist/esm/{string-mask-strategy-6beaf664.js → string-mask-strategy-df1f5707.js} +2 -2
  201. package/dist/esm/{style-formatter-28138f5c.js → style-formatter-95255392.js} +2 -2
  202. package/dist/esm/{sub-state-notify-slimmer-5133f1a8.js → sub-state-notify-slimmer-f4b3b0b9.js} +1 -1
  203. package/dist/esm/{sub-state-observer-slimmer-478c9f41.js → sub-state-observer-slimmer-058feaf0.js} +1 -1
  204. package/dist/esm/{time-required-rule-e4138a76.js → time-required-rule-b4af75ae.js} +1 -1
  205. package/dist/esm/{token-extension-73e4460a.js → token-extension-ffd98170.js} +7 -7
  206. package/dist/esm/{translation-slimmer-2394b173.js → translation-slimmer-e788cae4.js} +1 -1
  207. package/dist/esm/{type-guard-f50e34d6.js → type-guard-f69d2935.js} +37 -3
  208. package/dist/esm/{ui-28fd4193.js → ui-41f725b7.js} +8 -1
  209. package/dist/esm/{valid-credit-card-number-rule-22ce81db.js → valid-credit-card-number-rule-c023326d.js} +1 -1
  210. package/dist/esm/vega-accordion.entry.js +9 -9
  211. package/dist/esm/vega-app-header-button.entry.js +31 -13
  212. package/dist/esm/vega-banner.entry.js +3 -3
  213. package/dist/esm/vega-box.entry.js +8 -8
  214. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  215. package/dist/esm/vega-button-circle.entry.js +12 -12
  216. package/dist/esm/vega-button-group_2.entry.js +7 -7
  217. package/dist/esm/vega-button-link.entry.js +20 -4
  218. package/dist/esm/vega-button.entry.js +11 -11
  219. package/dist/esm/vega-calendar_4.entry.js +15 -15
  220. package/dist/esm/vega-card.entry.js +6 -6
  221. package/dist/esm/vega-carousel.entry.js +9 -9
  222. package/dist/esm/vega-checkbox_2.entry.js +11 -11
  223. package/dist/esm/vega-chip.entry.js +11 -11
  224. package/dist/esm/vega-code-block.entry.js +16 -15
  225. package/dist/esm/vega-color-picker.entry.js +10 -10
  226. package/dist/esm/vega-combo-box.entry.js +14 -14
  227. package/dist/esm/vega-date-picker_2.entry.js +114 -33
  228. package/dist/esm/vega-dialog_2.entry.js +11 -11
  229. package/dist/esm/vega-divider.entry.js +7 -7
  230. package/dist/esm/vega-dropdown_5.entry.js +42 -18
  231. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  232. package/dist/esm/{vega-event-id-38aa77a0.js → vega-event-id-fdc58a67.js} +2 -1
  233. package/dist/esm/vega-field-label.entry.js +3 -3
  234. package/dist/esm/vega-file-uploader.entry.js +11 -11
  235. package/dist/esm/vega-flag-icon.entry.js +6 -6
  236. package/dist/esm/vega-flex.entry.js +9 -9
  237. package/dist/esm/vega-font.entry.js +7 -7
  238. package/dist/esm/vega-form.entry.js +13 -13
  239. package/dist/esm/vega-grid.entry.js +6 -6
  240. package/dist/esm/vega-icon.entry.js +6 -6
  241. package/dist/esm/vega-image-uploader.entry.js +14 -14
  242. package/dist/esm/vega-input-credit-card.entry.js +16 -16
  243. package/dist/esm/vega-input-numeric.entry.js +102 -42
  244. package/dist/esm/vega-input-passcode.entry.js +109 -36
  245. package/dist/esm/vega-input-phone-number.entry.js +91 -41
  246. package/dist/esm/vega-input-range.entry.js +27 -12
  247. package/dist/esm/vega-input-select.entry.js +17 -17
  248. package/dist/esm/vega-input.entry.js +414 -187
  249. package/dist/esm/{vega-internal-event-id-799d012e.js → vega-internal-event-id-12783594.js} +2 -1
  250. package/dist/esm/vega-item-toggle.entry.js +4 -4
  251. package/dist/esm/vega-left-nav_5.entry.js +15 -16
  252. package/dist/esm/vega-loader-wrapper_2.entry.js +6 -6
  253. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  254. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +4 -4
  255. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +4 -4
  256. package/dist/esm/vega-pagination.entry.js +12 -12
  257. package/dist/esm/vega-popover_2.entry.js +15 -15
  258. package/dist/esm/vega-progress-tracker_2.entry.js +12 -12
  259. package/dist/esm/vega-radio_2.entry.js +14 -14
  260. package/dist/esm/vega-rich-text-content.entry.js +17 -11
  261. package/dist/esm/vega-rich-text-editor_4.entry.js +589 -396
  262. package/dist/esm/vega-segment-control.entry.js +6 -6
  263. package/dist/esm/vega-selection-chip_2.entry.js +14 -14
  264. package/dist/esm/vega-selection-tile_2.entry.js +12 -12
  265. package/dist/esm/vega-sidenav_3.entry.js +12 -12
  266. package/dist/esm/vega-signature-capture.entry.js +14 -14
  267. package/dist/esm/vega-stepper.entry.js +12 -12
  268. package/dist/esm/vega-tab-group_2.entry.js +7 -7
  269. package/dist/esm/vega-table_11.entry.js +14 -14
  270. package/dist/esm/vega-text.entry.js +3 -3
  271. package/dist/esm/vega-textarea.entry.js +110 -42
  272. package/dist/esm/vega-time-picker_2.entry.js +18 -18
  273. package/dist/esm/vega-toggle-switch.entry.js +10 -10
  274. package/dist/esm/vega-tooltip_2.entry.js +11 -11
  275. package/dist/esm/vega.js +14 -14
  276. package/dist/esm/{wait-for-component-did-render-b08ef07b.js → wait-for-component-did-render-4d0a3428.js} +1 -1
  277. package/dist/sri/vega-sri-manifest.json +341 -341
  278. package/dist/types/components/vega-app-header-button/types.d.ts +18 -0
  279. package/dist/types/components/vega-app-header-button/vega-app-header-button.d.ts +8 -1
  280. package/dist/types/components/vega-button-link/vega-button-link.d.ts +2 -0
  281. package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-open-state-controller.d.ts +21 -0
  282. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-selection-controller.d.ts +1 -0
  283. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +7 -0
  284. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +11 -0
  285. package/dist/types/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.d.ts +0 -1
  286. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-renderer.d.ts +0 -1
  287. package/dist/types/components/vega-input/vega-input.d.ts +321 -79
  288. package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +117 -42
  289. package/dist/types/components/vega-input-passcode/slimmers/renderers/vega-input-passcode-renderer.d.ts +14 -0
  290. package/dist/types/components/vega-input-passcode/vega-input-passcode.d.ts +82 -28
  291. package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +99 -34
  292. package/dist/types/components/vega-input-range/slimmers/renderers/vega-input-range-input-renderer.d.ts +8 -0
  293. package/dist/types/components/vega-input-select/vega-input-select.d.ts +2 -2
  294. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/insert-image-controller.d.ts +7 -1
  295. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +30 -2
  296. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +1 -1
  297. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +1 -3
  298. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.d.ts +37 -0
  299. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +16 -0
  300. package/dist/types/components/vega-textarea/vega-textarea.d.ts +123 -41
  301. package/dist/types/components.d.ts +429 -219
  302. package/dist/types/constants/ui.d.ts +2 -2
  303. package/dist/types/helpers/calendar/utils.d.ts +17 -0
  304. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  305. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  306. package/dist/types/helpers/slimmers/element-appender/element-appender-slimmer.d.ts +12 -0
  307. package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +2 -1
  308. package/dist/types/helpers/slimmers/mutation-observer/data-tab-index-value-mapper.d.ts +35 -0
  309. package/dist/types/helpers/slimmers/mutation-observer/test/data-tab-index-value-mapper.test.d.ts +1 -0
  310. package/dist/types/helpers/slimmers/position-calculation/base-position-calculation-strategy.d.ts +60 -3
  311. package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +3 -2
  312. package/dist/types/helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.d.ts +1 -1
  313. package/dist/types/helpers/translation/interface.d.ts +17 -1
  314. package/dist/types/types/components.type.d.ts +1 -0
  315. package/dist/types/types/type-guard.d.ts +3 -3
  316. package/dist/types/types/ui.type.d.ts +3 -2
  317. package/dist/types/utils/e2e-utils.d.ts +2 -0
  318. package/dist/vega/index.esm.js +1 -1
  319. package/dist/vega/{p-9441f2ba.entry.js → p-0009e0bc.entry.js} +1 -1
  320. package/dist/vega/{p-2d69632d.js → p-02976501.js} +1 -1
  321. package/dist/vega/{p-bf6fc19f.entry.js → p-03280f85.entry.js} +1 -1
  322. package/dist/vega/{p-f3e6483c.js → p-03b1e442.js} +1 -1
  323. package/dist/vega/{p-33f9ad94.entry.js → p-0681ffee.entry.js} +1 -1
  324. package/dist/vega/{p-3ce2b05c.entry.js → p-093aa0cb.entry.js} +1 -1
  325. package/dist/vega/{p-ffd48e37.entry.js → p-1828f9e6.entry.js} +1 -1
  326. package/dist/vega/{p-f428086c.entry.js → p-19883e27.entry.js} +1 -1
  327. package/dist/vega/p-1e015382.js +1 -0
  328. package/dist/vega/{p-7425cedc.entry.js → p-1ff45314.entry.js} +1 -1
  329. package/dist/vega/{p-9339c6c4.js → p-24b4c64f.js} +1 -1
  330. package/dist/vega/{p-5833f33b.entry.js → p-2e7ec8e0.entry.js} +1 -1
  331. package/dist/vega/{p-1a3236e7.entry.js → p-309b5016.entry.js} +1 -1
  332. package/dist/vega/{p-857069a5.entry.js → p-3592a26d.entry.js} +1 -1
  333. package/dist/vega/{p-560d2f48.entry.js → p-383e235a.entry.js} +1 -1
  334. package/dist/vega/p-3992038a.js +1 -0
  335. package/dist/vega/{p-02c9796a.js → p-3a537cd0.js} +1 -1
  336. package/dist/vega/{p-daa60a59.entry.js → p-3b7ad04b.entry.js} +1 -1
  337. package/dist/vega/{p-5485c387.entry.js → p-3d4b8066.entry.js} +1 -1
  338. package/dist/vega/{p-7d7aaff9.entry.js → p-3e484d99.entry.js} +1 -1
  339. package/dist/vega/{p-c165232c.entry.js → p-3fd3861c.entry.js} +1 -1
  340. package/dist/vega/{p-d78f6ede.js → p-4079e932.js} +1 -1
  341. package/dist/vega/{p-5eb7f382.js → p-43df17a1.js} +1 -1
  342. package/dist/vega/{p-db5fa164.entry.js → p-473ceda5.entry.js} +1 -1
  343. package/dist/vega/{p-67745549.entry.js → p-474b97cf.entry.js} +1 -1
  344. package/dist/vega/{p-242fbcad.entry.js → p-47c202eb.entry.js} +1 -1
  345. package/dist/vega/p-4e0344bc.entry.js +1 -0
  346. package/dist/vega/{p-e6cf2ace.entry.js → p-4efe9cd8.entry.js} +1 -1
  347. package/dist/vega/{p-36a09524.entry.js → p-536ad3d7.entry.js} +1 -1
  348. package/dist/vega/{p-22056609.entry.js → p-53e0b2bd.entry.js} +1 -1
  349. package/dist/vega/p-57180993.entry.js +1 -0
  350. package/dist/vega/{p-e827d56d.js → p-5b238c6d.js} +1 -1
  351. package/dist/vega/{p-464559e3.js → p-5ba34330.js} +1 -1
  352. package/dist/vega/p-5e1d0f21.entry.js +1 -0
  353. package/dist/vega/{p-a786259a.js → p-5ed5aa26.js} +1 -1
  354. package/dist/vega/p-5f377954.js +1 -1
  355. package/dist/vega/{p-d64fab3d.js → p-5f81beae.js} +1 -1
  356. package/dist/vega/{p-34bcf4ed.entry.js → p-6a8ac66d.entry.js} +1 -1
  357. package/dist/vega/{p-4bffdb28.js → p-6b3776ec.js} +1 -1
  358. package/dist/vega/{p-2b142818.entry.js → p-6b4021f0.entry.js} +1 -1
  359. package/dist/vega/{p-2a10e2e5.js → p-6cf28c27.js} +1 -1
  360. package/dist/vega/{p-0037068c.entry.js → p-71cd1d9e.entry.js} +1 -1
  361. package/dist/vega/{p-4aa52ed2.entry.js → p-7440325c.entry.js} +1 -1
  362. package/dist/vega/p-764425e4.entry.js +1 -0
  363. package/dist/vega/p-77908e45.entry.js +1 -0
  364. package/dist/vega/{p-a0b66c25.js → p-7ade785e.js} +1 -1
  365. package/dist/vega/{p-f2b0b58a.js → p-7db5e003.js} +1 -1
  366. package/dist/vega/{p-021d4ae4.js → p-7db918f4.js} +1 -1
  367. package/dist/vega/{p-0572c393.entry.js → p-7f398d23.entry.js} +1 -1
  368. package/dist/vega/p-7f665911.entry.js +1 -0
  369. package/dist/vega/p-840f156e.entry.js +1 -0
  370. package/dist/vega/{p-95528b47.js → p-87379d3c.js} +1 -1
  371. package/dist/vega/p-87ed06cd.entry.js +1 -0
  372. package/dist/vega/{p-a8792e3d.js → p-882a220c.js} +1 -1
  373. package/dist/vega/{p-6b6f0fb4.js → p-898bcb24.js} +1 -1
  374. package/dist/vega/{p-d07f5d5a.entry.js → p-8fbb677e.entry.js} +1 -1
  375. package/dist/vega/p-9493d87a.js +1 -0
  376. package/dist/vega/{p-81b044b9.js → p-951c0172.js} +1 -1
  377. package/dist/vega/p-95919581.entry.js +1 -0
  378. package/dist/vega/{p-7c39ce96.js → p-95d1b547.js} +1 -1
  379. package/dist/vega/{p-50d074ed.entry.js → p-99c8f9a4.entry.js} +1 -1
  380. package/dist/vega/{p-e632475e.js → p-9c713bc0.js} +1 -1
  381. package/dist/vega/{p-3afc025e.entry.js → p-9dc77b66.entry.js} +1 -1
  382. package/dist/vega/{p-415ffa35.js → p-9f467a59.js} +1 -1
  383. package/dist/vega/p-a113fd15.entry.js +1 -0
  384. package/dist/vega/{p-4742feef.entry.js → p-a253e791.entry.js} +1 -1
  385. package/dist/vega/{p-0d4cb1c7.entry.js → p-a3272850.entry.js} +1 -1
  386. package/dist/vega/{p-b1773281.entry.js → p-a432708d.entry.js} +1 -1
  387. package/dist/vega/p-a57a7ab8.entry.js +1 -0
  388. package/dist/vega/{p-6d219c44.entry.js → p-a58bd510.entry.js} +1 -1
  389. package/dist/vega/{p-4ea30592.js → p-a957e15f.js} +1 -1
  390. package/dist/vega/{p-bff57aa4.js → p-abb81b7b.js} +1 -1
  391. package/dist/vega/{p-100b44c3.entry.js → p-ae6ed091.entry.js} +1 -1
  392. package/dist/vega/{p-03004a05.entry.js → p-b5e31243.entry.js} +1 -1
  393. package/dist/vega/{p-49845a91.js → p-b88ca09b.js} +1 -1
  394. package/dist/vega/{p-c2d2faa0.js → p-b901d624.js} +1 -1
  395. package/dist/vega/p-ba475520.entry.js +1 -0
  396. package/dist/vega/p-bdb5180c.js +1 -0
  397. package/dist/vega/p-bf04ff19.js +1 -0
  398. package/dist/vega/{p-1a51bf6f.js → p-c208a3b7.js} +1 -1
  399. package/dist/vega/{p-3c05abd9.entry.js → p-c25577ae.entry.js} +1 -1
  400. package/dist/vega/{p-1f3cd061.entry.js → p-c2560608.entry.js} +1 -1
  401. package/dist/vega/{p-0e679d8c.js → p-c2df94f6.js} +1 -1
  402. package/dist/vega/{p-cfecc1cb.entry.js → p-c3eec160.entry.js} +1 -1
  403. package/dist/vega/p-c6031d3f.entry.js +1 -0
  404. package/dist/vega/{p-70df91fb.entry.js → p-c87cf96a.entry.js} +1 -1
  405. package/dist/vega/{p-592296d7.entry.js → p-cc243e62.entry.js} +1 -1
  406. package/dist/vega/{p-cccd7648.entry.js → p-cd3d177b.entry.js} +1 -1
  407. package/dist/vega/{p-be1a210b.js → p-d0687ec0.js} +1 -1
  408. package/dist/vega/{p-b201f379.js → p-d25db724.js} +1 -1
  409. package/dist/vega/{p-aa1174dc.js → p-d42dbe39.js} +1 -1
  410. package/dist/vega/{p-9fb877c1.entry.js → p-d5570331.entry.js} +1 -1
  411. package/dist/vega/p-d5797747.js +1 -0
  412. package/dist/vega/{p-1a011d47.entry.js → p-d7434f44.entry.js} +1 -1
  413. package/dist/vega/p-db92453f.entry.js +1 -0
  414. package/dist/vega/{p-0a3a285b.entry.js → p-e5be807b.entry.js} +1 -1
  415. package/dist/vega/p-e6f0097f.js +1 -0
  416. package/dist/vega/{p-e8775a56.entry.js → p-e7a8b61e.entry.js} +1 -1
  417. package/dist/vega/{p-d2ee5711.entry.js → p-f46f6679.entry.js} +1 -1
  418. package/dist/vega/{p-1fa0c7da.entry.js → p-f49e8cc5.entry.js} +1 -1
  419. package/dist/vega/p-f5b6059d.entry.js +1 -0
  420. package/dist/vega/p-fb40a829.js +1 -0
  421. package/dist/vega/vega.esm.js +1 -1
  422. package/package.json +3 -2
  423. package/dist/vega/p-010ff53d.entry.js +0 -1
  424. package/dist/vega/p-168bb296.entry.js +0 -1
  425. package/dist/vega/p-40f39194.js +0 -1
  426. package/dist/vega/p-43ff48c0.entry.js +0 -1
  427. package/dist/vega/p-4aa94940.entry.js +0 -1
  428. package/dist/vega/p-4bee4202.entry.js +0 -1
  429. package/dist/vega/p-5cfce62d.entry.js +0 -1
  430. package/dist/vega/p-60f77f5f.entry.js +0 -1
  431. package/dist/vega/p-641cdb5c.entry.js +0 -1
  432. package/dist/vega/p-ab834f06.js +0 -1
  433. package/dist/vega/p-ac82b9f9.entry.js +0 -1
  434. package/dist/vega/p-b54dc37c.entry.js +0 -1
  435. package/dist/vega/p-b597393b.entry.js +0 -1
  436. package/dist/vega/p-b5f18f4b.entry.js +0 -1
  437. package/dist/vega/p-b7f3221f.js +0 -1
  438. package/dist/vega/p-c292ade4.entry.js +0 -1
  439. package/dist/vega/p-c3d2f316.js +0 -1
  440. package/dist/vega/p-cc5eaa1b.js +0 -1
  441. package/dist/vega/p-d1cfe972.entry.js +0 -1
  442. package/dist/vega/p-dad3ba5f.js +0 -1
  443. package/dist/vega/p-de64f6e6.js +0 -1
  444. package/dist/vega/p-e7fbef97.js +0 -1
  445. package/dist/vega/p-fc9ac6e9.entry.js +0 -1
@@ -63,10 +63,20 @@ export class PositionCalculationController extends VegaSlimmer {
63
63
  }
64
64
  appendableElement.style.left = `${positionBox.left}px`;
65
65
  appendableElement.style.top = `${positionBox.top}px`;
66
- appendableElement.classList.remove('vega-placement-left', 'vega-placement-right', 'vega-placement-top', 'vega-placement-bottom');
67
- appendableElement.classList.remove('vega-alignment-start', 'vega-alignment-center', 'vega-alignment-end');
68
- appendableElement.classList.add(`vega-placement-${positionBox.placement}`);
69
- appendableElement.classList.add(`vega-alignment-${positionBox.alignment}`);
66
+ appendableElement.classList.remove('vega-placement-left', 'vega-placement-right', 'vega-placement-top', 'vega-placement-bottom', 'vega-no-suitable-placement');
67
+ appendableElement.classList.remove('vega-alignment-start', 'vega-alignment-center', 'vega-alignment-end', 'vega-no-suitable-alignment');
68
+ if (positionBox.placement) {
69
+ appendableElement.classList.add(`vega-placement-${positionBox.placement}`);
70
+ }
71
+ else {
72
+ appendableElement.classList.add(`vega-no-suitable-placement`);
73
+ }
74
+ if (positionBox.alignment) {
75
+ appendableElement.classList.add(`vega-alignment-${positionBox.alignment}`);
76
+ }
77
+ else {
78
+ appendableElement.classList.add(`vega-no-suitable-alignment`);
79
+ }
70
80
  }
71
81
  /**
72
82
  * It sets the width of the appendable element to the width of the target element if the
@@ -9,6 +9,7 @@ import { BasePositionCalculationStrategy } from './base-position-calculation-str
9
9
  import { ScreenScrollPositionUpdate } from './screen-scroll-position-update';
10
10
  import { tryGetDocument } from '../../../utils/try-get-document';
11
11
  import { FeatureFlag } from '../../feature-control/feature-flag-controller';
12
+ import { isNonNullable } from '../../../types/type-guard';
12
13
  /**
13
14
  * calculate position by screen container
14
15
  */
@@ -93,9 +94,17 @@ export class ScreenPositionCalculationStrategy extends BasePositionCalculationSt
93
94
  */
94
95
  getPosition(usePreviousPlacement) {
95
96
  const stayPlacement = usePreviousPlacement ? this.usePreviousPlacement : false;
96
- const positionBox = stayPlacement
97
- ? this.getPositionBox([this.previousPositionBox.placement], [this.previousPositionBox.alignment])
98
- : this.getPositionBox();
97
+ let positionBox;
98
+ if (stayPlacement) {
99
+ positionBox = this.getPositionBox([this.previousPositionBox.placement].filter(isNonNullable), [this.previousPositionBox.alignment].filter(isNonNullable));
100
+ if (!FeatureFlag.isEnabled('VEGA_ELEMENT_APPENDER.AUTO_PLACEMENT')) {
101
+ positionBox.placement = this.previousPositionBox.placement;
102
+ positionBox.alignment = this.previousPositionBox.alignment;
103
+ }
104
+ }
105
+ else {
106
+ positionBox = this.getPositionBox();
107
+ }
99
108
  this.previousPositionBox = positionBox;
100
109
  return positionBox;
101
110
  }
@@ -154,7 +163,7 @@ export class ScreenPositionCalculationStrategy extends BasePositionCalculationSt
154
163
  * @param {ElementBoundBox} elementBox - The box of the element to place.
155
164
  * @param {ElementBoundBox} targetBox - The box of the target element.
156
165
  * @param {PlacementType[]} placements - Ordered list of placements to try.
157
- * @returns {PlacementType} The chosen placement.
166
+ * @returns {Nullable<PlacementType>} The chosen placement.
158
167
  */
159
168
  getSuitablePlacement(containerBox, elementBox, targetBox, placements) {
160
169
  const alignments = this.getAlignments();
@@ -18,7 +18,7 @@ export class PositionCalculationMockedComponent {
18
18
  setIsScreenPosition(isScreenPosition) {
19
19
  this.isScreenPosition = isScreenPosition;
20
20
  }
21
- getPositionBox(container, element, target, placement, alignment, translocation = { X: 0, Y: 0 }) {
21
+ getPositionBox(container, element, target, placement, alignment, translocation = { X: 0, Y: 0 }, positionRelativeTo) {
22
22
  this.container = container;
23
23
  this.showConfig = {
24
24
  target: target,
@@ -27,11 +27,12 @@ export class PositionCalculationMockedComponent {
27
27
  alignment: alignment,
28
28
  translocation: translocation,
29
29
  isScreenPosition: this.isScreenPosition,
30
+ positionRelativeTo: positionRelativeTo,
30
31
  };
31
32
  this.positionCalculationController.setCalculationStrategy();
32
33
  this.positionCalculationController.adjustPosition();
33
- let placementResult;
34
- let alignmentResult;
34
+ let placementResult = null;
35
+ let alignmentResult = null;
35
36
  element.className.split(' ').forEach((item) => {
36
37
  if (item.includes('vega-placement')) {
37
38
  placementResult = item.replace('vega-placement-', '');
@@ -291,7 +292,7 @@ describe('component.getPositionBox', () => {
291
292
  X: 100,
292
293
  Y: 100,
293
294
  });
294
- expect(positionBox).toEqual({ top: -60, left: 200, placement: 'top', alignment: 'start' });
295
+ expect(positionBox).toEqual({ top: 0, left: 200, placement: 'top', alignment: 'start' });
295
296
  const positionBox1 = component.getPositionBox(container, element, target, 'right', undefined, {
296
297
  X: 100,
297
298
  Y: 100,
@@ -301,7 +302,7 @@ describe('component.getPositionBox', () => {
301
302
  X: 100,
302
303
  Y: 100,
303
304
  });
304
- expect(positionBox2).toEqual({ top: 200, left: -60, placement: 'left', alignment: 'start' });
305
+ expect(positionBox2).toEqual({ top: 200, left: 0, placement: 'left', alignment: 'start' });
305
306
  });
306
307
  test('return result as expected when container scrolled', () => {
307
308
  container.scrollTop = 20;
@@ -310,7 +311,7 @@ describe('component.getPositionBox', () => {
310
311
  X: 100,
311
312
  Y: 100,
312
313
  });
313
- expect(positionBox).toEqual({ top: -40, left: 220, placement: 'top', alignment: 'start' });
314
+ expect(positionBox).toEqual({ top: 0, left: 220, placement: 'top', alignment: 'start' });
314
315
  const positionBox1 = component.getPositionBox(container, element, target, 'right', undefined, {
315
316
  X: 100,
316
317
  Y: 100,
@@ -11,28 +11,30 @@ describe('BodyPositionCalculationStrategy.getPositionBox', () => {
11
11
  const element = document.querySelector('.element');
12
12
  const target = document.querySelector('.target');
13
13
  const container = document.querySelector('.container');
14
- function mockElementReturn(element, method, value) {
15
- spyOn(element, method).and.returnValue(value);
16
- }
17
14
  beforeAll(() => {
18
15
  Object.assign(window, { innerWidth: 500 });
19
16
  Object.assign(window, { innerHeight: 500 });
20
17
  });
21
18
  describe('directions', () => {
22
19
  let component;
20
+ let elementRectSpy;
21
+ let targetRectSpy;
23
22
  beforeEach(() => {
24
23
  component = new PositionCalculationMockedComponent();
25
24
  component.setIsScreenPosition(true);
26
- });
27
- beforeAll(() => {
28
- mockElementReturn(element, 'getBoundingClientRect', { width: 50, height: 50 });
29
- mockElementReturn(target, 'getBoundingClientRect', {
25
+ elementRectSpy = jest
26
+ .spyOn(element, 'getBoundingClientRect')
27
+ .mockReturnValue({ width: 50, height: 50 });
28
+ targetRectSpy = jest.spyOn(target, 'getBoundingClientRect').mockReturnValue({
30
29
  width: 100,
31
30
  height: 100,
32
31
  top: 100,
33
32
  left: 100,
34
33
  });
35
34
  });
35
+ afterEach(() => {
36
+ jest.restoreAllMocks();
37
+ });
36
38
  test('return result as expected in top-start', () => {
37
39
  expect(component.getPositionBox(container, element, target, ['top'], ['start'])).toEqual({
38
40
  top: 50,
@@ -129,6 +131,159 @@ describe('BodyPositionCalculationStrategy.getPositionBox', () => {
129
131
  alignment: 'end',
130
132
  });
131
133
  });
134
+ test('nudges element up when bottom placement slightly overflows viewport bottom edge', () => {
135
+ // no space for bottom → suitablePlacement=null, uses default bottom
136
+ // top=420+50=470, overflowBottom=470+50-500=20 < targetH(50) → top=450
137
+ Object.assign(window, { innerHeight: 500, innerWidth: 500 });
138
+ elementRectSpy.mockReturnValue({ width: 50, height: 50 });
139
+ targetRectSpy.mockReturnValue({
140
+ width: 100,
141
+ height: 50,
142
+ top: 420,
143
+ left: 100,
144
+ });
145
+ expect(component.getPositionBox(container, element, target, ['bottom'], ['start'])).toEqual({
146
+ top: 450,
147
+ left: 100,
148
+ placement: null,
149
+ alignment: null,
150
+ });
151
+ });
152
+ test('nudges element down when top placement slightly overflows viewport top edge', () => {
153
+ // no space for top → suitablePlacement=null, uses default top
154
+ // top=30-50=-20, overflowTop=20 < targetH(50) → top=0
155
+ Object.assign(window, { innerHeight: 500, innerWidth: 500 });
156
+ elementRectSpy.mockReturnValue({ width: 50, height: 50 });
157
+ targetRectSpy.mockReturnValue({
158
+ width: 100,
159
+ height: 50,
160
+ top: 30,
161
+ left: 100,
162
+ });
163
+ expect(component.getPositionBox(container, element, target, ['top'], ['start'])).toEqual({
164
+ top: 0,
165
+ left: 100,
166
+ placement: null,
167
+ alignment: null,
168
+ });
169
+ });
170
+ test('nudges element left when right placement slightly overflows viewport right edge', () => {
171
+ // no space for right → suitablePlacement=null, uses default right
172
+ // left=380+100=480, overflowRight=480+50-500=30 < targetW(100) → left=450
173
+ Object.assign(window, { innerHeight: 500, innerWidth: 500 });
174
+ elementRectSpy.mockReturnValue({ width: 50, height: 50 });
175
+ targetRectSpy.mockReturnValue({
176
+ width: 100,
177
+ height: 50,
178
+ top: 100,
179
+ left: 380,
180
+ });
181
+ expect(component.getPositionBox(container, element, target, ['right'], ['start'])).toEqual({
182
+ top: 100,
183
+ left: 450,
184
+ placement: null,
185
+ alignment: null,
186
+ });
187
+ });
188
+ test('nudges element right when left placement slightly overflows viewport left edge', () => {
189
+ // no space for left → suitablePlacement=null, uses default left
190
+ // left=30-50=-20, overflowLeft=20 < targetW(100) → left=0
191
+ Object.assign(window, { innerHeight: 500, innerWidth: 500 });
192
+ elementRectSpy.mockReturnValue({ width: 50, height: 50 });
193
+ targetRectSpy.mockReturnValue({
194
+ width: 100,
195
+ height: 50,
196
+ top: 100,
197
+ left: 30,
198
+ });
199
+ expect(component.getPositionBox(container, element, target, ['left'], ['start'])).toEqual({
200
+ top: 100,
201
+ left: 0,
202
+ placement: null,
203
+ alignment: null,
204
+ });
205
+ });
206
+ test('positions element correctly for bottom+start when fully within viewport', () => {
207
+ // top=200+50=250, left=50, both within viewport → no adjustment
208
+ Object.assign(window, { innerHeight: 500, innerWidth: 500 });
209
+ elementRectSpy.mockReturnValue({ width: 100, height: 100 });
210
+ targetRectSpy.mockReturnValue({
211
+ width: 100,
212
+ height: 50,
213
+ top: 200,
214
+ left: 50,
215
+ });
216
+ expect(component.getPositionBox(container, element, target, ['bottom'], ['start'])).toEqual({
217
+ top: 250,
218
+ left: 50,
219
+ placement: 'bottom',
220
+ alignment: 'start',
221
+ });
222
+ });
223
+ test('positions element correctly for right+center when fully within viewport', () => {
224
+ // top=200-(100-100)/2=200, left=200+100=300, both within viewport → no adjustment
225
+ Object.assign(window, { innerHeight: 500, innerWidth: 500 });
226
+ elementRectSpy.mockReturnValue({ width: 100, height: 100 });
227
+ targetRectSpy.mockReturnValue({
228
+ width: 100,
229
+ height: 100,
230
+ top: 200,
231
+ left: 200,
232
+ });
233
+ expect(component.getPositionBox(container, element, target, ['right'], ['center'])).toEqual({
234
+ top: 200,
235
+ left: 300,
236
+ placement: 'right',
237
+ alignment: 'center',
238
+ });
239
+ });
240
+ describe('positionRelativeTo — viewport adjustment is skipped', () => {
241
+ beforeEach(() => {
242
+ Object.assign(window, { innerHeight: 500, innerWidth: 500 });
243
+ });
244
+ test('does not clamp top when positionRelativeTo is set and element overflows window bottom', () => {
245
+ // Without positionRelativeTo: keepVerticallyInView would clamp top from 821 → 393
246
+ // (Math.min(821, 911-518)=393). With positionRelativeTo the raw calculated top is kept.
247
+ elementRectSpy.mockReturnValue({ width: 300, height: 518 });
248
+ targetRectSpy.mockReturnValue({
249
+ width: 137,
250
+ height: 40,
251
+ top: 781,
252
+ left: 11,
253
+ });
254
+ const result = component.getPositionBox(container, element, target, ['bottom'], ['start'], { X: 0, Y: 0 }, '#test2');
255
+ // top = 781 + 40 = 821, not clamped to 393
256
+ expect(result.top).toBe(821);
257
+ expect(result.left).toBe(11);
258
+ });
259
+ test('applies viewport adjustment normally when positionRelativeTo is not set', () => {
260
+ // Same geometry — without positionRelativeTo, keepVerticallyInView clamps top to 393
261
+ Object.assign(window, { innerHeight: 911, innerWidth: 500 });
262
+ elementRectSpy.mockReturnValue({ width: 300, height: 518 });
263
+ targetRectSpy.mockReturnValue({
264
+ width: 137,
265
+ height: 40,
266
+ top: 781,
267
+ left: 11,
268
+ });
269
+ const result = component.getPositionBox(container, element, target, ['bottom'], ['start']);
270
+ // keepVerticallyInView: Math.min(821, 911-518) = 393
271
+ expect(result.top).toBe(393);
272
+ expect(result.left).toBe(11);
273
+ });
274
+ test('does not clamp left when positionRelativeTo is set and element overflows window right', () => {
275
+ elementRectSpy.mockReturnValue({ width: 200, height: 50 });
276
+ targetRectSpy.mockReturnValue({
277
+ width: 60,
278
+ height: 40,
279
+ top: 100,
280
+ left: 380,
281
+ });
282
+ const result = component.getPositionBox(container, element, target, ['bottom'], ['start'], { X: 0, Y: 0 }, '#test2');
283
+ // left = 380, not clamped to Math.min(380, 500-200)=300
284
+ expect(result.left).toBe(380);
285
+ });
286
+ });
132
287
  });
133
288
  });
134
289
  describe('ScreenScrollPositionUpdate.shouldUpdatePosition', () => {
@@ -31,6 +31,8 @@ export const staticTranslations = {
31
31
  'Upload': 'Upload',
32
32
  'Clear': 'Clear',
33
33
  'Today': 'Today',
34
+ 'Previous month': 'Previous month',
35
+ 'Next month': 'Next month',
34
36
  'Day': 'Day',
35
37
  'Week': 'Week',
36
38
  'Month': 'Month',
@@ -48,6 +50,13 @@ export const staticTranslations = {
48
50
  'Thu-short': 'T',
49
51
  'Fri-short': 'F',
50
52
  'Sat-short': 'S',
53
+ 'Sun-full': 'Sunday',
54
+ 'Mon-full': 'Monday',
55
+ 'Tue-full': 'Tuesday',
56
+ 'Wed-full': 'Wednesday',
57
+ 'Thu-full': 'Thursday',
58
+ 'Fri-full': 'Friday',
59
+ 'Sat-full': 'Saturday',
51
60
  'January': 'January',
52
61
  'February': 'February',
53
62
  'March': 'March',
@@ -103,6 +112,10 @@ export const staticTranslations = {
103
112
  'Less Indent': 'Less Indent',
104
113
  'Link': 'Link',
105
114
  'Image': 'Image',
115
+ 'Upload from computer': 'Upload from computer',
116
+ 'Insert via URL': 'Insert via URL',
117
+ 'Image via URL': 'Image via URL',
118
+ 'Insert': 'Insert',
106
119
  'Clear Style': 'Clear Style',
107
120
  'URL': 'URL',
108
121
  'Text': 'Text',
@@ -145,5 +158,8 @@ export const staticTranslations = {
145
158
  'Saturday': 'Saturday',
146
159
  'am': 'am',
147
160
  'pm': 'pm',
161
+ '{0} Selected': '{0} Selected',
162
+ 'date picker': 'Date Picker',
163
+ 'Selected result': 'Selected result',
148
164
  };
149
165
  export default staticTranslations;
@@ -119,6 +119,8 @@ describe('VegaTranslationController', () => {
119
119
  'Upload': 'Upload',
120
120
  'Clear': 'Clear',
121
121
  'Today': 'Today',
122
+ 'Previous month': 'Previous month',
123
+ 'Next month': 'Next month',
122
124
  'Day': 'Day',
123
125
  'Week': 'Week',
124
126
  'Month': 'Month',
@@ -136,6 +138,13 @@ describe('VegaTranslationController', () => {
136
138
  'Thu-short': 'T',
137
139
  'Fri-short': 'F',
138
140
  'Sat-short': 'S',
141
+ 'Sun-full': 'Sunday',
142
+ 'Mon-full': 'Monday',
143
+ 'Tue-full': 'Tuesday',
144
+ 'Wed-full': 'Wednesday',
145
+ 'Thu-full': 'Thursday',
146
+ 'Fri-full': 'Friday',
147
+ 'Sat-full': 'Saturday',
139
148
  'January': 'January',
140
149
  'February': 'February',
141
150
  'March': 'March',
@@ -191,6 +200,10 @@ describe('VegaTranslationController', () => {
191
200
  'Less Indent': 'Less Indent',
192
201
  'Link': 'Link',
193
202
  'Image': 'Image',
203
+ 'Image via URL': 'Image via URL',
204
+ 'Insert': 'Insert',
205
+ 'Insert via URL': 'Insert via URL',
206
+ 'Upload from computer': 'Upload from computer',
194
207
  'Clear Style': 'Clear Style',
195
208
  'URL': 'URL',
196
209
  'Text': 'Text',
@@ -214,6 +227,8 @@ describe('VegaTranslationController', () => {
214
227
  'Select Language': 'Select Language',
215
228
  'Code Block': 'Code Block',
216
229
  'Copied': 'Copied',
230
+ 'date picker': 'Date Picker',
231
+ 'Selected result': 'Selected result',
217
232
  'Repeat every {0} days': 'Repeat every {0} days',
218
233
  'Repeat daily': 'Repeat daily',
219
234
  'Repeat every {0} weeks on {1}': 'Repeat every {0} weeks on {1}',
@@ -235,6 +250,7 @@ describe('VegaTranslationController', () => {
235
250
  'pm': 'pm',
236
251
  'The value does not exist in the source': 'The value does not exist in the source',
237
252
  'There are values that do not exist in the source': 'There are values that do not exist in the source',
253
+ '{0} Selected': '{0} Selected',
238
254
  });
239
255
  /* eslint-enable @typescript-eslint/naming-convention,spellcheck/spell-checker */
240
256
  });
@@ -246,6 +262,7 @@ describe('VegaTranslationController', () => {
246
262
  // eslint-disable-next-line @typescript-eslint/naming-convention,spellcheck/spell-checker
247
263
  'This field is required': 'Ce champ est obligatoire',
248
264
  'Custom text': 'Texte personnalisé',
265
+ '{0} Selected': '{0} Sélectionné',
249
266
  },
250
267
  /* eslint-enable @typescript-eslint/naming-convention,spellcheck/spell-checker */
251
268
  };
@@ -29,4 +29,18 @@ describe('VegaTranslation', () => {
29
29
  VegaTranslation.changeLanguage('en');
30
30
  expect(VegaTranslation.currentLanguage).toBe('en');
31
31
  });
32
+ it('should translate Selected word to expected message', () => {
33
+ const resources = {
34
+ en: VegaTranslationResourceEN,
35
+ fr: {
36
+ // eslint-disable-next-line @typescript-eslint/naming-convention,spellcheck/spell-checker
37
+ '{0} Selected': '{0} Sélectionné',
38
+ },
39
+ };
40
+ VegaTranslation.init({ resources, language: 'fr' });
41
+ // eslint-disable-next-line spellcheck/spell-checker
42
+ expect(VegaInternalTranslation.t('{0} Selected', 1)).toBe('1 Sélectionné');
43
+ VegaTranslation.changeLanguage('en');
44
+ expect(VegaInternalTranslation.t('{0} Selected', 1)).toBe('1 Selected');
45
+ });
32
46
  });
@@ -192,7 +192,7 @@ test('content should append to modal while in modal', () => {
192
192
  <div class="modal-dialog"></div>
193
193
  </mock:shadow-root>
194
194
  <vega-input-select slot="content"></vega-input-select>
195
- <div class="dropdown vega-element-appender-appendable vega-alignment-start vega-placement-top" slot="content" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
195
+ <div class="dropdown vega-element-appender-appendable vega-no-suitable-alignment vega-no-suitable-placement" slot="content" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
196
196
  </vega-modal>`);
197
197
  drop.hide();
198
198
  });
@@ -213,7 +213,7 @@ test('content append proper while positionRelativeTo set', () => {
213
213
  expect(document.body).toEqualHtml(`
214
214
  <div id="container">
215
215
  <vega-input-select></vega-input-select>
216
- <div class="dropdown vega-element-appender-appendable vega-placement-top vega-alignment-start" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
216
+ <div class="dropdown vega-element-appender-appendable vega-no-suitable-alignment vega-no-suitable-placement" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
217
217
  </div>
218
218
  `);
219
219
  drop.hide();
@@ -244,7 +244,7 @@ test('content should append to modal content while in scroll modal content', ()
244
244
  </div>
245
245
  </mock:shadow-root>
246
246
  <vega-input-select></vega-input-select>
247
- <div class="dropdown vega-element-appender-appendable vega-alignment-start vega-placement-top" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
247
+ <div class="dropdown vega-element-appender-appendable vega-no-suitable-alignment vega-no-suitable-placement" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
248
248
  </vega-modal>`);
249
249
  drop.hide();
250
250
  });
@@ -267,7 +267,7 @@ test('content should append to popover content while in scroll modal content', (
267
267
  <vega-modal>
268
268
  <vega-popover class="vega-popover">
269
269
  <vega-input-select></vega-input-select>
270
- <div class="dropdown vega-element-appender-appendable vega-placement-top vega-alignment-start" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
270
+ <div class="dropdown vega-element-appender-appendable vega-no-suitable-alignment vega-no-suitable-placement" style="box-sizing: border-box; left: NaNpx; top: NaNpx; z-index: 10001;"></div>
271
271
  </vega-popover>
272
272
  </vega-modal>
273
273
  `);
@@ -515,6 +515,7 @@ describe('screen position', () => {
515
515
  drop1.show();
516
516
  expect(element).toHaveClass('vega-placement-top');
517
517
  expect(element.style.top).toEqual('50px');
518
+ expect(element.style.left).toEqual('100px');
518
519
  targetRectSpyOn.and.returnValue({
519
520
  width: 100,
520
521
  height: 100,
@@ -523,6 +524,7 @@ describe('screen position', () => {
523
524
  });
524
525
  drop1.onScroll();
525
526
  expect(element).toHaveClass('vega-placement-top');
526
- expect(element.style.top).toEqual('-10px');
527
+ expect(element.style.top).toEqual('0px');
528
+ expect(element.style.left).toEqual('100px');
527
529
  });
528
530
  });
@@ -1,6 +1,7 @@
1
1
  import { newE2EPage } from '@stencil/core/testing';
2
2
  import * as axe from 'axe-core';
3
3
  import { TestIcons } from '../test-assets/test-icons';
4
+ import { getViewportByDeviceType } from './test-utils';
4
5
  /**
5
6
  * NOTE: This method is only for **E2E** test cases.
6
7
  * Clear the input field and type the input
@@ -241,10 +242,15 @@ export const getScreenshotDiffResults = async (page, desc, selector) => {
241
242
  * @param {number} config.timeout --sets the content timeout
242
243
  * @param {InjectFeatureFlagsConfig} config.featureFlags -inject feature flags.
243
244
  * @param {string} config.timezone -sets the browser timezone (defaults to 'Asia/Shanghai' for consistent behavior across environments).
245
+ * @param {boolean} config.isMobile - whether to set the viewport to a mobile device size (defaults to false).
244
246
  */
245
247
  export const initVegaE2EPage = async (content, config) => {
246
248
  var _a, _b, _c;
247
249
  const page = await newE2EPage();
250
+ if (config === null || config === void 0 ? void 0 : config.isMobile) {
251
+ await page.setUserAgent('Mobile');
252
+ await page.setViewport(getViewportByDeviceType('mobile'));
253
+ }
248
254
  // Set timezone to ensure consistent behavior across different environments
249
255
  const timezone = (_a = config === null || config === void 0 ? void 0 : config.timezone) !== null && _a !== void 0 ? _a : 'Asia/Shanghai';
250
256
  const pageWithTimezone = page;
@@ -1,19 +1,19 @@
1
1
  import { F as FeatureFlag } from './feature-flag-controller-30f7b625.js';
2
- import { V as VegaLoader, a as VegaNotify, b as VegaThemeManager, c as VegaEventManager, d as VegaZIndexManager, w as waitForVega, e as VegaSkeletonLoader, f as VegaTranslation, g as VegaRTETokenExtension, h as VegaRTELanguageExtension, i as VegaRTEFunctionExtension } from './token-extension-73e4460a.js';
2
+ import { V as VegaLoader, a as VegaNotify, b as VegaThemeManager, c as VegaEventManager, d as VegaZIndexManager, w as waitForVega, e as VegaSkeletonLoader, f as VegaTranslation, g as VegaRTETokenExtension, h as VegaRTELanguageExtension, i as VegaRTEFunctionExtension } from './token-extension-ffd98170.js';
3
3
  import { M as MapToComponentMethod, V as VegaSlimmer, s as setVegaLogLevel, G as GlobalSlimmersRegistry } from './global-slimmer-registry-17c4efd4.js';
4
4
  import { V as VegaDialog } from './vega-dialog-controller-bbb2fc52.js';
5
5
  import { T as TypographyUrls } from './typography-396de03f.js';
6
6
  import { V as VegaIconManager } from './icon-manager-539d7cf7.js';
7
- import { V as VegaInternalTranslation, s as staticTranslations } from './internal-translation-controller-911515f9.js';
8
- import { V as ValidCreditCardNumberRule } from './valid-credit-card-number-rule-22ce81db.js';
7
+ import { V as VegaInternalTranslation, s as staticTranslations } from './internal-translation-controller-0787a7a7.js';
8
+ import { V as ValidCreditCardNumberRule } from './valid-credit-card-number-rule-c023326d.js';
9
9
  import { v as vegaEnvManager } from './vega-env-manager-8f8dc473.js';
10
10
  import { U as UPDATE_TRANSLATION } from './static-subject-title-52f93124.js';
11
11
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
12
12
  import { O as Observer } from './observer-3959f9dd.js';
13
13
  import { f as forceUpdate } from './index-090d31ca.js';
14
- import { V as VegaRTEContent } from './dto-renderer-manager-6fd22ab7.js';
14
+ import { V as VegaRTEContent } from './dto-renderer-manager-73df5cbe.js';
15
15
  import { v as vegaNonceManager, s as setVegaNonce } from './vega-nonce-manager-497e5eb5.js';
16
- import { V as VegaRTEPresetToolbarItems } from './code-block-b6247a45.js';
16
+ import { V as VegaRTEPresetToolbarItems } from './code-block-d65bab61.js';
17
17
 
18
18
  var __decorate$2 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
19
19
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -394,7 +394,7 @@ function injectVegaRichTextEditorClassIntoGlobal() {
394
394
  * Inject VegaPublicValidationRules to global as a public api
395
395
  */
396
396
  function injectVegaPublicValidationRules() {
397
- void import('./public-rules-25cc3a39.js').then((module) => {
397
+ void import('./public-rules-49912d52.js').then((module) => {
398
398
  Object.entries(module).forEach(([name, value]) => {
399
399
  globalThis[name] = value;
400
400
  });
@@ -102,7 +102,7 @@ class AriaAttributesValueMapper extends MutationObserverSlimmer {
102
102
  }
103
103
  }
104
104
  if (finalValue === null || finalValue === undefined || String(finalValue).trim() === '') {
105
- finalValue = defaultValue !== null && defaultValue !== void 0 ? defaultValue : '';
105
+ finalValue = defaultValue;
106
106
  }
107
107
  try {
108
108
  if (String(finalValue).trim() === '') {
@@ -110,8 +110,15 @@ class AriaAttributesValueMapper extends MutationObserverSlimmer {
110
110
  return;
111
111
  }
112
112
  const existing = target.getAttribute(ariaAttr);
113
- if (existing !== finalValue) {
114
- target.setAttribute(ariaAttr, finalValue);
113
+ if (finalValue === null || finalValue === undefined) {
114
+ if (existing !== null) {
115
+ target.removeAttribute(ariaAttr);
116
+ }
117
+ return;
118
+ }
119
+ const stringValue = String(finalValue);
120
+ if (existing !== stringValue) {
121
+ target.setAttribute(ariaAttr, stringValue);
115
122
  }
116
123
  }
117
124
  catch (e) {
@@ -1,4 +1,4 @@
1
- import { e as BreakpointKeys } from './ui-28fd4193.js';
1
+ import { e as BreakpointKeys } from './ui-41f725b7.js';
2
2
  import { B as Breakpoints } from './breakpoints-d9faf11c.js';
3
3
 
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  import { c as MapToComponentField, M as MapToComponentMethod, V as VegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
2
- import { i as internalVegaEventManager, j as jqueryDelegatedStrategyController } from './internal-vega-event-manager-32a3d848.js';
2
+ import { i as internalVegaEventManager, j as jqueryDelegatedStrategyController } from './internal-vega-event-manager-3aebbe55.js';
3
3
  import { v as vegaEnvManager } from './vega-env-manager-8f8dc473.js';
4
4
  import { F as FeatureFlag } from './feature-flag-controller-30f7b625.js';
5
5
 
@@ -1,9 +1,9 @@
1
1
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
2
2
  import { d as domNodeSubjectFactory } from './dom-node-subject-observer-factory-82f346e3.js';
3
- import { a as VegaInternalRichTextEditorFlushChanges, b as VegaInternalRichTextEditorSelectionRangeChange } from './vega-internal-event-id-799d012e.js';
3
+ import { a as VegaInternalRichTextEditorFlushChanges, b as VegaInternalRichTextEditorSelectionRangeChange } from './vega-internal-event-id-12783594.js';
4
4
  import { c as camelToDashCase } from './string-a953eafc.js';
5
5
  import { L as LogUtility } from './global-slimmer-registry-17c4efd4.js';
6
- import { i as isNonNullable } from './type-guard-f50e34d6.js';
6
+ import { i as isNonNullable } from './type-guard-f69d2935.js';
7
7
  import { g as generateUUID } from './misc-9fdbcfbb.js';
8
8
  import { V as VegaInternalThemeManager } from './dark-mode-style-controller-82e5c1c6.js';
9
9
  import { c as cleanObject } from './object-66c37948.js';
@@ -1,15 +1,15 @@
1
1
  import { M as MapToComponentMethod, V as VegaSlimmer, L as LogUtility, c as MapToComponentField } from './global-slimmer-registry-17c4efd4.js';
2
- import { a0 as RTECodeBlockNode, b as RTETextNode, Z as ZERO_WIDTH_SPACE, _ as SelectionChangeAction, j as InternalAnnotationTypeEnum, s as stateEntityRenderingRegistry, c as RTEBlock, h as RTENode, z as RTEDecoratorNode, x as RTECodeBlock } from './code-block-b6247a45.js';
2
+ import { a0 as RTECodeBlockNode, b as RTETextNode, Z as ZERO_WIDTH_SPACE, _ as SelectionChangeAction, j as InternalAnnotationTypeEnum, s as stateEntityRenderingRegistry, c as RTEBlock, h as RTENode, z as RTEDecoratorNode, x as RTECodeBlock } from './code-block-d65bab61.js';
3
3
  import { d as debounce } from './timer-9321173b.js';
4
4
  import { g as getActiveElement } from './component-7d906393.js';
5
5
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
6
6
  import { d as domNodeSubjectFactory, D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-82f346e3.js';
7
- import { b as VegaInternalRichTextEditorSelectionRangeChange, V as VegaInternalUpdateRTECursorPosition } from './vega-internal-event-id-799d012e.js';
7
+ import { b as VegaInternalRichTextEditorSelectionRangeChange, V as VegaInternalUpdateRTECursorPosition } from './vega-internal-event-id-12783594.js';
8
8
  import { O as Observer } from './observer-3959f9dd.js';
9
- import { R as RTERange } from './range-663f44dc.js';
9
+ import { R as RTERange } from './range-0a22b512.js';
10
10
  import { S as SynchronizeTaskQueue } from './synchronize-task-queue-ac8acc3b.js';
11
11
  import { i as isHTMLElement } from './ui-ee31416b.js';
12
- import { K as KeyboardManagerSlimmer } from './keyboard-manager-slimmer-9984d922.js';
12
+ import { K as KeyboardManagerSlimmer } from './keyboard-manager-slimmer-87bf68f1.js';
13
13
 
14
14
  let processing = false;
15
15
  /**
@@ -1,4 +1,4 @@
1
- import { Q as isDateStr } from './type-guard-f50e34d6.js';
1
+ import { Q as isDateStr } from './type-guard-f69d2935.js';
2
2
  import { I as InternalFormFieldValidationRule } from './internal-form-field-validation-rule.abstract-f5b6bdbf.js';
3
3
 
4
4
  /**
@@ -1,9 +1,9 @@
1
- import { j as StateVariantFormatter, k as isBorderColorTokenType, b as BorderColors, e as BorderColorMap, l as isShadowsTokenType, f as Shadows, g as ShadowMap, m as isBorderTokenType, n as Borders, o as BorderMap, p as StateBackgroundColorFormatter, q as isSpacingTokenType, r as isBorderRadiusTokenType, s as isBackgroundColorTokenType, t as isTextColorTokenType, u as isBreakpointsTokenType, h as Spacing, v as isBorderStyleType, B as BorderRadius, C as Colors, w as isTypographyTokenType } from './type-guard-f50e34d6.js';
1
+ import { j as StateVariantFormatter, k as isBorderColorTokenType, b as BorderColors, e as BorderColorMap, l as isShadowsTokenType, f as Shadows, g as ShadowMap, m as isBorderTokenType, n as Borders, o as BorderMap, p as StateBackgroundColorFormatter, q as isSpacingTokenType, r as isBorderRadiusTokenType, s as isBackgroundColorTokenType, t as isTextColorTokenType, u as isBreakpointsTokenType, h as Spacing, v as isBorderStyleType, B as BorderRadius, C as Colors, w as isTypographyTokenType } from './type-guard-f69d2935.js';
2
2
  import { B as Breakpoints } from './breakpoints-d9faf11c.js';
3
3
  import { L as LogUtility } from './global-slimmer-registry-17c4efd4.js';
4
- import { R as ResponsiveFormatFacade } from './responsive-format-facade-aa705823.js';
4
+ import { R as ResponsiveFormatFacade } from './responsive-format-facade-b3799ff9.js';
5
5
  import { a as TypographyKeys } from './typography-396de03f.js';
6
- import { B as BorderStyle } from './ui-28fd4193.js';
6
+ import { B as BorderStyle } from './ui-41f725b7.js';
7
7
 
8
8
  /**
9
9
  * The `StateBorderColorFormatter` class in TypeScript formats border color tokens based on