@globalpayments/vega 2.73.0 → 2.75.1

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 (435) hide show
  1. package/dist/cjs/{app-globals-cc162173.js → app-globals-35614ce8.js} +8 -8
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-536d29fc.js → child-nodes-event-prevent-slimmer-aca87dac.js} +1 -1
  3. package/dist/cjs/click-outside-only-to-dismiss-strategy-407f6d1e.js +32 -0
  4. package/dist/cjs/{code-block-823cd481.js → code-block-c1d2e6a8.js} +3 -3
  5. package/dist/cjs/{component-value-history-controller-slimmer.abstract-e2e0c6f3.js → component-value-history-controller-slimmer.abstract-787c67dc.js} +4 -4
  6. package/dist/cjs/{date-required-rule-99cca681.js → date-required-rule-30ee62d0.js} +1 -1
  7. package/dist/cjs/{design-token-11656685.js → design-token-bb39e07e.js} +2 -2
  8. package/dist/cjs/{dom-node-subject-observer-factory-1c8f7880.js → dom-node-subject-observer-factory-b5e71bf6.js} +4 -0
  9. package/dist/cjs/{dto-renderer-manager-bd2bd447.js → dto-renderer-manager-03e1a038.js} +218 -27
  10. package/dist/cjs/{element-appender-slimmer-12f40b8b.js → element-appender-slimmer-daa8b9f5.js} +160 -36
  11. package/dist/cjs/{event-emit-slimmer-6a591353.js → event-emit-slimmer-2dacabbd.js} +2 -2
  12. package/dist/cjs/{form-field-controller-slimmer-6e3e14fd.js → form-field-controller-slimmer-aef2fb1e.js} +2 -2
  13. package/dist/cjs/{function-extension-78ec27e0.js → function-extension-cfbbc57e.js} +5 -5
  14. package/dist/cjs/{image-annotation-action-7408a4b3.js → image-annotation-action-3fa501b7.js} +3 -3
  15. package/dist/cjs/{index-638a0f0d.js → index-95fca64f.js} +1 -1
  16. package/dist/cjs/index.cjs.js +15 -15
  17. package/dist/cjs/{inject-keyboard-manager-a6101379.js → inject-keyboard-manager-d21b4387.js} +1 -1
  18. package/dist/cjs/{internal-vega-event-manager-d587a33c.js → internal-vega-event-manager-6befeb34.js} +13 -2
  19. package/dist/cjs/{keyboard-manager-d8adb0ed.js → keyboard-manager-3dea6b28.js} +1 -1
  20. package/dist/cjs/{keyboard-manager-slimmer-15e65357.js → keyboard-manager-slimmer-0d45f944.js} +1 -1
  21. package/dist/cjs/{language-extension-716015a5.js → language-extension-8c4a56ff.js} +2 -2
  22. package/dist/cjs/loader.cjs.js +11 -11
  23. package/dist/cjs/{month-view-generator-706c5477.js → month-view-generator-49cc5fc2.js} +1 -1
  24. package/dist/cjs/{public-rules-2950f1fc.js → public-rules-dc2a8d62.js} +7 -7
  25. package/dist/cjs/{range-c3c48132.js → range-79b668e7.js} +1 -1
  26. package/dist/cjs/{responsive-format-facade-96c5f598.js → responsive-format-facade-d5dba942.js} +4 -4
  27. package/dist/cjs/{rich-text-editor-required-rule-4aab05a3.js → rich-text-editor-required-rule-ba312af9.js} +1 -1
  28. package/dist/cjs/sanitize-fb222510.js +131 -0
  29. package/dist/cjs/{string-format-strategy.abstract-a8264fca.js → string-format-strategy.abstract-63514c60.js} +1 -1
  30. package/dist/cjs/{string-input-formatter-slimmer-338bbd73.js → string-input-formatter-slimmer-f3e0bbc7.js} +3 -3
  31. package/dist/cjs/{string-mask-strategy-4e7d3780.js → string-mask-strategy-d23ac21a.js} +2 -2
  32. package/dist/cjs/{style-formatter-9c42d41b.js → style-formatter-49693da7.js} +2 -2
  33. package/dist/cjs/{sub-state-notify-slimmer-1efa69c4.js → sub-state-notify-slimmer-468e19aa.js} +1 -1
  34. package/dist/cjs/{sub-state-observer-slimmer-6afa62f5.js → sub-state-observer-slimmer-5d0b8ac3.js} +1 -1
  35. package/dist/cjs/{time-required-rule-9d39a620.js → time-required-rule-c96ecdc9.js} +1 -1
  36. package/dist/cjs/{type-guard-69d2cf01.js → type-guard-a0f026d8.js} +12 -0
  37. package/dist/cjs/{valid-credit-card-number-rule-9f40d1d9.js → valid-credit-card-number-rule-c854bed9.js} +1 -1
  38. package/dist/cjs/vega-accordion.cjs.entry.js +9 -9
  39. package/dist/cjs/vega-app-header-button.cjs.entry.js +10 -10
  40. package/dist/cjs/vega-banner.cjs.entry.js +3 -3
  41. package/dist/cjs/vega-box.cjs.entry.js +9 -9
  42. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  43. package/dist/cjs/vega-button-circle.cjs.entry.js +10 -10
  44. package/dist/cjs/vega-button-group_2.cjs.entry.js +6 -6
  45. package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
  46. package/dist/cjs/vega-button.cjs.entry.js +9 -9
  47. package/dist/cjs/vega-calendar_4.cjs.entry.js +8 -8
  48. package/dist/cjs/vega-card.cjs.entry.js +8 -8
  49. package/dist/cjs/vega-carousel.cjs.entry.js +8 -8
  50. package/dist/cjs/vega-checkbox_2.cjs.entry.js +6 -6
  51. package/dist/cjs/vega-chip.cjs.entry.js +10 -10
  52. package/dist/cjs/vega-code-block.cjs.entry.js +10 -10
  53. package/dist/cjs/vega-color-picker.cjs.entry.js +5 -5
  54. package/dist/cjs/vega-combo-box.cjs.entry.js +11 -10
  55. package/dist/cjs/vega-date-picker_2.cjs.entry.js +389 -342
  56. package/dist/cjs/vega-dialog_2.cjs.entry.js +10 -10
  57. package/dist/cjs/vega-divider.cjs.entry.js +8 -8
  58. package/dist/cjs/vega-dropdown_5.cjs.entry.js +49 -21
  59. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  60. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  61. package/dist/cjs/vega-file-uploader.cjs.entry.js +5 -5
  62. package/dist/cjs/vega-flag-icon.cjs.entry.js +8 -8
  63. package/dist/cjs/vega-flex.cjs.entry.js +9 -9
  64. package/dist/cjs/vega-font.cjs.entry.js +8 -8
  65. package/dist/cjs/vega-form.cjs.entry.js +8 -8
  66. package/dist/cjs/vega-grid.cjs.entry.js +8 -8
  67. package/dist/cjs/vega-icon.cjs.entry.js +8 -8
  68. package/dist/cjs/vega-image-uploader.cjs.entry.js +11 -11
  69. package/dist/cjs/vega-input-credit-card.cjs.entry.js +10 -10
  70. package/dist/cjs/vega-input-numeric.cjs.entry.js +10 -10
  71. package/dist/cjs/vega-input-passcode.cjs.entry.js +9 -9
  72. package/dist/cjs/vega-input-phone-number.cjs.entry.js +11 -11
  73. package/dist/cjs/vega-input-range.cjs.entry.js +6 -6
  74. package/dist/cjs/vega-input-select.cjs.entry.js +187 -54
  75. package/dist/cjs/vega-input.cjs.entry.js +339 -98
  76. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  77. package/dist/cjs/vega-left-nav_5.cjs.entry.js +11 -11
  78. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +7 -7
  79. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  80. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +3 -3
  81. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +1 -1
  82. package/dist/cjs/vega-pagination.cjs.entry.js +9 -9
  83. package/dist/cjs/vega-popover_2.cjs.entry.js +12 -12
  84. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +10 -10
  85. package/dist/cjs/vega-radio_2.cjs.entry.js +9 -9
  86. package/dist/cjs/vega-rich-text-content.cjs.entry.js +7 -7
  87. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +87 -27
  88. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  89. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +12 -12
  90. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +7 -7
  91. package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
  92. package/dist/cjs/vega-signature-capture.cjs.entry.js +11 -11
  93. package/dist/cjs/vega-stepper.cjs.entry.js +6 -6
  94. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  95. package/dist/cjs/vega-table_11.cjs.entry.js +11 -11
  96. package/dist/cjs/vega-textarea.cjs.entry.js +6 -6
  97. package/dist/cjs/vega-time-picker_2.cjs.entry.js +18 -17
  98. package/dist/cjs/vega-toggle-switch.cjs.entry.js +5 -5
  99. package/dist/cjs/vega-tooltip_2.cjs.entry.js +10 -10
  100. package/dist/cjs/vega.cjs.js +11 -11
  101. package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +1 -1
  102. package/dist/collection/components/vega-button-group/vega-button-group-item/vega-button-group-item.js +1 -1
  103. package/dist/collection/components/vega-calendar/vega-calendar.js +1 -1
  104. package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +2 -1
  105. package/dist/collection/components/vega-date-picker/assets/icons.js +4 -1
  106. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-open-state-controller.js +2 -1
  107. package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +2 -2
  108. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.js +109 -0
  109. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.js +4 -0
  110. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.js +42 -70
  111. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.js +12 -56
  112. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +435 -108
  113. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.js +5 -0
  114. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-search-controller.js +5 -1
  115. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.js +7 -0
  116. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +6 -3
  117. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +3 -2
  118. package/dist/collection/components/vega-dropdown/vega-dropdown.js +50 -4
  119. package/dist/collection/components/vega-field-label/vega-field-label.js +1 -1
  120. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.js +51 -0
  121. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-renderer.js +6 -0
  122. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.js +142 -0
  123. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-renderer.js +12 -1
  124. package/dist/collection/components/vega-input/vega-input.js +200 -3
  125. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-item-controller.js +89 -0
  126. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-source-controller.js +4 -0
  127. package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-value-controller.js +4 -0
  128. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +38 -13
  129. package/dist/collection/components/vega-input-select/vega-input-select.js +27 -7
  130. package/dist/collection/components/vega-rich-text-editor/dto/annotations/plain-text-annotation.js +1 -1
  131. package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +16 -0
  132. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +21 -24
  133. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +1 -1
  134. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/html-content-cleaner-processor.interface.js +1 -0
  135. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/html-content-cleaner.js +59 -0
  136. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/index.js +4 -0
  137. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-after-opening-tag-processor.js +21 -0
  138. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-before-closing-tag-processor.js +21 -0
  139. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-between-tags-processor.js +77 -0
  140. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +6 -2
  141. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +6 -0
  142. package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/html-block.test.js +39 -0
  143. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +171 -1
  144. package/dist/collection/components/vega-rich-text-editor/test/html-cleaner/html-content-cleaner.test.js +186 -0
  145. package/dist/collection/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-after-opening-tag-processor.test.js +22 -0
  146. package/dist/collection/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-before-closing-tag-processor.test.js +22 -0
  147. package/dist/collection/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-between-tags-processor.test.js +26 -0
  148. package/dist/collection/components/vega-selection-chip/vega-selection-chip.js +1 -1
  149. package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-range-dropdown-controller.js +2 -1
  150. package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-single-dropdown-controller.js +2 -1
  151. package/dist/collection/constants/ui.js +2 -0
  152. package/dist/collection/helpers/code-format/code-formatter.js +57 -7
  153. package/dist/collection/helpers/code-format/test/code-formatter.test.js +48 -0
  154. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +13 -2
  155. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +2 -0
  156. package/dist/collection/helpers/event-manager/test/component-event-id-map.test.js +3 -1
  157. package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +3 -1
  158. package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +60 -32
  159. package/dist/collection/helpers/slimmers/element-appender/test/element-appender-slimmer.test.js +3 -2
  160. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/click-outside-only-to-dismiss-strategy.js +28 -0
  161. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/click-trigger-strategy.js +33 -0
  162. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/hover-trigger-strategy.js +42 -0
  163. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/none-trigger-strategy.js +22 -0
  164. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/trigger-strategy.interface.js +1 -0
  165. package/dist/collection/types/test/type-guard.test.js +8 -1
  166. package/dist/collection/types/type-guard.js +11 -0
  167. package/dist/collection/utils/sanitize.js +126 -0
  168. package/dist/collection/utils/test/sanitize.test.js +65 -0
  169. package/dist/esm/{app-globals-949d2e18.js → app-globals-2ac60ff5.js} +8 -8
  170. package/dist/esm/{child-nodes-event-prevent-slimmer-e6f98de5.js → child-nodes-event-prevent-slimmer-e662bee2.js} +1 -1
  171. package/dist/esm/click-outside-only-to-dismiss-strategy-3d286c1b.js +30 -0
  172. package/dist/esm/{code-block-666674d7.js → code-block-8ee34ab6.js} +3 -3
  173. package/dist/esm/{component-value-history-controller-slimmer.abstract-171dda08.js → component-value-history-controller-slimmer.abstract-a61bf821.js} +4 -4
  174. package/dist/esm/{date-required-rule-a9980386.js → date-required-rule-47ecc28f.js} +1 -1
  175. package/dist/esm/{design-token-9b510e59.js → design-token-007efbaa.js} +2 -2
  176. package/dist/esm/{dom-node-subject-observer-factory-1aaa1159.js → dom-node-subject-observer-factory-064ee2b2.js} +3 -1
  177. package/dist/esm/{dto-renderer-manager-49ae5d56.js → dto-renderer-manager-ee1a5864.js} +218 -27
  178. package/dist/esm/{element-appender-slimmer-b9890dcb.js → element-appender-slimmer-35e26b5a.js} +160 -36
  179. package/dist/esm/{event-emit-slimmer-2d791d0e.js → event-emit-slimmer-09827cec.js} +2 -2
  180. package/dist/esm/{form-field-controller-slimmer-257928c1.js → form-field-controller-slimmer-5d9dc384.js} +2 -2
  181. package/dist/esm/{function-extension-8b06c6f8.js → function-extension-e8c0e43e.js} +5 -5
  182. package/dist/esm/{image-annotation-action-b3eea6a2.js → image-annotation-action-285d432e.js} +3 -3
  183. package/dist/esm/{index-0d487fae.js → index-51a7da7f.js} +1 -1
  184. package/dist/esm/index.js +15 -15
  185. package/dist/esm/{inject-keyboard-manager-9241968c.js → inject-keyboard-manager-83d76ff5.js} +1 -1
  186. package/dist/esm/{internal-vega-event-manager-fdee2a0a.js → internal-vega-event-manager-efb6786e.js} +13 -2
  187. package/dist/esm/{keyboard-manager-89acac79.js → keyboard-manager-c92808d8.js} +1 -1
  188. package/dist/esm/{keyboard-manager-slimmer-e303cb7d.js → keyboard-manager-slimmer-79c78ce8.js} +1 -1
  189. package/dist/esm/{language-extension-b3f836d4.js → language-extension-29bf8acd.js} +2 -2
  190. package/dist/esm/loader.js +11 -11
  191. package/dist/esm/{month-view-generator-4bec99fd.js → month-view-generator-16192182.js} +1 -1
  192. package/dist/esm/{public-rules-b164e40e.js → public-rules-724873f5.js} +7 -7
  193. package/dist/esm/{range-9cc1422b.js → range-5257c062.js} +1 -1
  194. package/dist/esm/{responsive-format-facade-94897ae8.js → responsive-format-facade-28ee2dbd.js} +4 -4
  195. package/dist/esm/{rich-text-editor-required-rule-2131f21c.js → rich-text-editor-required-rule-873e2e67.js} +1 -1
  196. package/dist/esm/sanitize-fd0cb40d.js +129 -0
  197. package/dist/esm/{string-format-strategy.abstract-75540c16.js → string-format-strategy.abstract-fc60db79.js} +1 -1
  198. package/dist/esm/{string-input-formatter-slimmer-3a42d9b8.js → string-input-formatter-slimmer-ee32b1fd.js} +3 -3
  199. package/dist/esm/{string-mask-strategy-4a18ed1a.js → string-mask-strategy-0b0accaa.js} +2 -2
  200. package/dist/esm/{style-formatter-bb5aec96.js → style-formatter-314b37f3.js} +2 -2
  201. package/dist/esm/{sub-state-notify-slimmer-71b9bbd5.js → sub-state-notify-slimmer-4453047a.js} +1 -1
  202. package/dist/esm/{sub-state-observer-slimmer-41a1b380.js → sub-state-observer-slimmer-202ec7dc.js} +1 -1
  203. package/dist/esm/{time-required-rule-8ec1faf5.js → time-required-rule-5fa43804.js} +1 -1
  204. package/dist/esm/{type-guard-b48aec98.js → type-guard-c65a227d.js} +12 -1
  205. package/dist/esm/{valid-credit-card-number-rule-96eaf9b1.js → valid-credit-card-number-rule-666c415d.js} +1 -1
  206. package/dist/esm/vega-accordion.entry.js +9 -9
  207. package/dist/esm/vega-app-header-button.entry.js +10 -10
  208. package/dist/esm/vega-banner.entry.js +3 -3
  209. package/dist/esm/vega-box.entry.js +9 -9
  210. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  211. package/dist/esm/vega-button-circle.entry.js +10 -10
  212. package/dist/esm/vega-button-group_2.entry.js +6 -6
  213. package/dist/esm/vega-button-link.entry.js +4 -4
  214. package/dist/esm/vega-button.entry.js +9 -9
  215. package/dist/esm/vega-calendar_4.entry.js +8 -8
  216. package/dist/esm/vega-card.entry.js +8 -8
  217. package/dist/esm/vega-carousel.entry.js +8 -8
  218. package/dist/esm/vega-checkbox_2.entry.js +6 -6
  219. package/dist/esm/vega-chip.entry.js +10 -10
  220. package/dist/esm/vega-code-block.entry.js +10 -10
  221. package/dist/esm/vega-color-picker.entry.js +5 -5
  222. package/dist/esm/vega-combo-box.entry.js +11 -10
  223. package/dist/esm/vega-date-picker_2.entry.js +389 -342
  224. package/dist/esm/vega-dialog_2.entry.js +10 -10
  225. package/dist/esm/vega-divider.entry.js +8 -8
  226. package/dist/esm/vega-dropdown_5.entry.js +49 -21
  227. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  228. package/dist/esm/vega-field-label.entry.js +3 -3
  229. package/dist/esm/vega-file-uploader.entry.js +5 -5
  230. package/dist/esm/vega-flag-icon.entry.js +8 -8
  231. package/dist/esm/vega-flex.entry.js +9 -9
  232. package/dist/esm/vega-font.entry.js +8 -8
  233. package/dist/esm/vega-form.entry.js +8 -8
  234. package/dist/esm/vega-grid.entry.js +8 -8
  235. package/dist/esm/vega-icon.entry.js +8 -8
  236. package/dist/esm/vega-image-uploader.entry.js +11 -11
  237. package/dist/esm/vega-input-credit-card.entry.js +10 -10
  238. package/dist/esm/vega-input-numeric.entry.js +10 -10
  239. package/dist/esm/vega-input-passcode.entry.js +9 -9
  240. package/dist/esm/vega-input-phone-number.entry.js +11 -11
  241. package/dist/esm/vega-input-range.entry.js +6 -6
  242. package/dist/esm/vega-input-select.entry.js +187 -54
  243. package/dist/esm/vega-input.entry.js +340 -99
  244. package/dist/esm/vega-item-toggle.entry.js +3 -3
  245. package/dist/esm/vega-left-nav_5.entry.js +11 -11
  246. package/dist/esm/vega-loader-wrapper_2.entry.js +7 -7
  247. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  248. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +3 -3
  249. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +1 -1
  250. package/dist/esm/vega-pagination.entry.js +9 -9
  251. package/dist/esm/vega-popover_2.entry.js +12 -12
  252. package/dist/esm/vega-progress-tracker_2.entry.js +10 -10
  253. package/dist/esm/vega-radio_2.entry.js +9 -9
  254. package/dist/esm/vega-rich-text-content.entry.js +7 -7
  255. package/dist/esm/vega-rich-text-editor_4.entry.js +87 -27
  256. package/dist/esm/vega-segment-control.entry.js +3 -3
  257. package/dist/esm/vega-selection-chip_2.entry.js +12 -12
  258. package/dist/esm/vega-selection-tile_2.entry.js +7 -7
  259. package/dist/esm/vega-sidenav_3.entry.js +10 -10
  260. package/dist/esm/vega-signature-capture.entry.js +11 -11
  261. package/dist/esm/vega-stepper.entry.js +6 -6
  262. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  263. package/dist/esm/vega-table_11.entry.js +11 -11
  264. package/dist/esm/vega-textarea.entry.js +6 -6
  265. package/dist/esm/vega-time-picker_2.entry.js +18 -17
  266. package/dist/esm/vega-toggle-switch.entry.js +5 -5
  267. package/dist/esm/vega-tooltip_2.entry.js +10 -10
  268. package/dist/esm/vega.js +11 -11
  269. package/dist/sri/vega-sri-manifest.json +326 -318
  270. package/dist/types/components/vega-date-picker/assets/icons.d.ts +1 -1
  271. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.d.ts +20 -0
  272. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +1 -0
  273. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.d.ts +4 -11
  274. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.d.ts +4 -9
  275. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.d.ts +2 -0
  276. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.d.ts +2 -0
  277. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.d.ts +1 -0
  278. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +14 -2
  279. package/dist/types/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.d.ts +27 -0
  280. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-renderer.d.ts +1 -0
  281. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.d.ts +40 -0
  282. package/dist/types/components/vega-input/slimmers/renderers/vega-input-renderer.d.ts +3 -0
  283. package/dist/types/components/vega-input/types.d.ts +4 -0
  284. package/dist/types/components/vega-input/vega-input.d.ts +55 -1
  285. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-item-controller.d.ts +29 -0
  286. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-source-controller.d.ts +1 -0
  287. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-value-controller.d.ts +1 -0
  288. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +1 -1
  289. package/dist/types/components/vega-input-select/types.d.ts +5 -0
  290. package/dist/types/components/vega-input-select/vega-input-select.d.ts +12 -4
  291. package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +10 -0
  292. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +8 -1
  293. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/html-content-cleaner-processor.interface.d.ts +13 -0
  294. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/html-content-cleaner.d.ts +35 -0
  295. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/index.d.ts +4 -0
  296. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-after-opening-tag-processor.d.ts +19 -0
  297. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-before-closing-tag-processor.d.ts +19 -0
  298. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/html-cleaner/processors/remove-whitespace-between-tags-processor.d.ts +59 -0
  299. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +1 -0
  300. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +1 -0
  301. package/dist/types/components/vega-rich-text-editor/test/html-cleaner/html-content-cleaner.test.d.ts +1 -0
  302. package/dist/types/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-after-opening-tag-processor.test.d.ts +1 -0
  303. package/dist/types/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-before-closing-tag-processor.test.d.ts +1 -0
  304. package/dist/types/components/vega-rich-text-editor/test/html-cleaner/remove-whitespace-between-tags-processor.test.d.ts +1 -0
  305. package/dist/types/components.d.ts +65 -11
  306. package/dist/types/constants/ui.d.ts +1 -1
  307. package/dist/types/helpers/code-format/code-formatter.d.ts +14 -0
  308. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +2 -0
  309. package/dist/types/helpers/slimmers/element-appender/element-appender-slimmer.d.ts +4 -9
  310. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/click-outside-only-to-dismiss-strategy.d.ts +21 -0
  311. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/click-trigger-strategy.d.ts +21 -0
  312. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/hover-trigger-strategy.d.ts +22 -0
  313. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/none-trigger-strategy.d.ts +18 -0
  314. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/trigger-strategy.interface.d.ts +37 -0
  315. package/dist/types/types/components.type.d.ts +3 -0
  316. package/dist/types/types/type-guard.d.ts +8 -0
  317. package/dist/types/types/ui.type.d.ts +9 -0
  318. package/dist/types/utils/sanitize.d.ts +71 -0
  319. package/dist/types/utils/test/sanitize.test.d.ts +1 -0
  320. package/dist/vega/index.esm.js +1 -1
  321. package/dist/vega/{p-44bc9ea9.entry.js → p-011b94b1.entry.js} +1 -1
  322. package/dist/vega/{p-6e701542.entry.js → p-012753b5.entry.js} +1 -1
  323. package/dist/vega/{p-db62b038.entry.js → p-024331ce.entry.js} +1 -1
  324. package/dist/vega/{p-74a77cad.js → p-0575d22e.js} +1 -1
  325. package/dist/vega/{p-42a283b5.entry.js → p-08a90cc6.entry.js} +1 -1
  326. package/dist/vega/{p-d01fe83d.entry.js → p-0ede1fea.entry.js} +1 -1
  327. package/dist/vega/{p-8fba7f9a.js → p-1298b126.js} +1 -1
  328. package/dist/vega/{p-9b673fd4.entry.js → p-17c55205.entry.js} +1 -1
  329. package/dist/vega/{p-161b9c5b.js → p-1f83cebf.js} +1 -1
  330. package/dist/vega/p-3353b3d7.js +1 -0
  331. package/dist/vega/p-365b1b35.entry.js +1 -0
  332. package/dist/vega/{p-f3831dc9.entry.js → p-3ae9ee3d.entry.js} +1 -1
  333. package/dist/vega/p-3af92370.entry.js +1 -0
  334. package/dist/vega/{p-59fa3f68.js → p-3bf66be2.js} +1 -1
  335. package/dist/vega/{p-6e84e451.entry.js → p-3c5a28e4.entry.js} +1 -1
  336. package/dist/vega/p-3e5f362f.js +1 -0
  337. package/dist/vega/{p-c0036e71.js → p-430be941.js} +1 -1
  338. package/dist/vega/p-43f585f7.entry.js +1 -0
  339. package/dist/vega/{p-75d91ee9.entry.js → p-45296fd4.entry.js} +1 -1
  340. package/dist/vega/p-476a173a.js +1 -0
  341. package/dist/vega/p-491618a6.entry.js +1 -0
  342. package/dist/vega/p-4a537391.entry.js +1 -0
  343. package/dist/vega/p-4aa893ef.entry.js +1 -0
  344. package/dist/vega/{p-2b20a215.entry.js → p-4c47e8bb.entry.js} +1 -1
  345. package/dist/vega/{p-7f86b3c8.js → p-4da75f2b.js} +1 -1
  346. package/dist/vega/{p-82dbff54.entry.js → p-509eb52e.entry.js} +1 -1
  347. package/dist/vega/{p-adc615a4.entry.js → p-5110ba73.entry.js} +1 -1
  348. package/dist/vega/{p-38ed3d59.entry.js → p-556f9a21.entry.js} +1 -1
  349. package/dist/vega/{p-70b2906a.entry.js → p-55b54ba0.entry.js} +1 -1
  350. package/dist/vega/{p-94cf46ca.entry.js → p-5ea2e43c.entry.js} +1 -1
  351. package/dist/vega/{p-5f09868d.entry.js → p-5efc6fe1.entry.js} +1 -1
  352. package/dist/vega/p-5f377954.js +1 -1
  353. package/dist/vega/{p-de70aac1.js → p-60851f9d.js} +1 -1
  354. package/dist/vega/{p-03e16a05.entry.js → p-64cd1931.entry.js} +1 -1
  355. package/dist/vega/{p-f2c8c363.js → p-66fa700b.js} +1 -1
  356. package/dist/vega/{p-623c3911.entry.js → p-67fcf6f2.entry.js} +1 -1
  357. package/dist/vega/{p-e88f2dc3.js → p-68df4288.js} +1 -1
  358. package/dist/vega/{p-2971b17a.js → p-691ba1ae.js} +1 -1
  359. package/dist/vega/{p-676eaf3f.entry.js → p-6a2205a1.entry.js} +1 -1
  360. package/dist/vega/{p-b007d0d5.entry.js → p-6a4277df.entry.js} +1 -1
  361. package/dist/vega/{p-30e7544c.js → p-6e136980.js} +1 -1
  362. package/dist/vega/{p-bf61d136.js → p-6f8be8ea.js} +1 -1
  363. package/dist/vega/{p-f427d88c.entry.js → p-6fa8e231.entry.js} +1 -1
  364. package/dist/vega/p-7045e84c.entry.js +1 -0
  365. package/dist/vega/{p-3566ad76.js → p-7288f8c4.js} +1 -1
  366. package/dist/vega/{p-9dfe2bbc.js → p-749f96a4.js} +1 -1
  367. package/dist/vega/{p-5be29f14.js → p-77edf50c.js} +1 -1
  368. package/dist/vega/{p-114c6df8.entry.js → p-7aaece55.entry.js} +1 -1
  369. package/dist/vega/{p-40561fa0.entry.js → p-7ec6a104.entry.js} +1 -1
  370. package/dist/vega/{p-9fb71d8c.entry.js → p-81134e9e.entry.js} +1 -1
  371. package/dist/vega/p-8187878e.js +1 -0
  372. package/dist/vega/p-89d685a8.js +1 -0
  373. package/dist/vega/{p-2ae5ad30.entry.js → p-8c0eb12f.entry.js} +1 -1
  374. package/dist/vega/p-8d0ca805.js +1 -0
  375. package/dist/vega/{p-0ba0f83d.entry.js → p-8d701832.entry.js} +1 -1
  376. package/dist/vega/{p-f6cd7a08.entry.js → p-8e42a14c.entry.js} +1 -1
  377. package/dist/vega/{p-a3c4fa30.entry.js → p-8ed0faa2.entry.js} +1 -1
  378. package/dist/vega/{p-a8dad05d.js → p-920719ad.js} +1 -1
  379. package/dist/vega/{p-a58bdbad.entry.js → p-94394df7.entry.js} +1 -1
  380. package/dist/vega/p-99aa554b.entry.js +1 -0
  381. package/dist/vega/{p-7be3aefc.entry.js → p-9a2446f1.entry.js} +1 -1
  382. package/dist/vega/{p-a4ec6575.js → p-a2aeb646.js} +1 -1
  383. package/dist/vega/{p-a125cfec.entry.js → p-a475d525.entry.js} +1 -1
  384. package/dist/vega/{p-2409a475.entry.js → p-a530797f.entry.js} +1 -1
  385. package/dist/vega/{p-be0b67b8.entry.js → p-a85ad369.entry.js} +1 -1
  386. package/dist/vega/p-ac5e9955.entry.js +1 -0
  387. package/dist/vega/{p-ce2ffff7.js → p-aedf7146.js} +1 -1
  388. package/dist/vega/p-b1f869fb.js +1 -0
  389. package/dist/vega/p-b4ea3fad.js +1 -0
  390. package/dist/vega/{p-d991fb11.js → p-badad9ed.js} +1 -1
  391. package/dist/vega/{p-c7194674.entry.js → p-bb4a558d.entry.js} +1 -1
  392. package/dist/vega/{p-4957f07a.entry.js → p-bb8339ed.entry.js} +1 -1
  393. package/dist/vega/{p-6b9d2996.entry.js → p-be930e85.entry.js} +1 -1
  394. package/dist/vega/{p-398220f5.entry.js → p-bf2bd6d0.entry.js} +1 -1
  395. package/dist/vega/{p-dd72ad9e.js → p-c2488ed6.js} +1 -1
  396. package/dist/vega/{p-ead1da57.entry.js → p-c379a5a5.entry.js} +1 -1
  397. package/dist/vega/{p-184d8443.js → p-c9b6b5a9.js} +1 -1
  398. package/dist/vega/{p-9d8e2939.entry.js → p-ca3472c1.entry.js} +1 -1
  399. package/dist/vega/{p-2e0deef6.js → p-cc43bffb.js} +1 -1
  400. package/dist/vega/{p-721b2981.entry.js → p-cf5b80f9.entry.js} +1 -1
  401. package/dist/vega/{p-d1d0f08a.js → p-d0e31633.js} +1 -1
  402. package/dist/vega/{p-21e7808a.entry.js → p-db60a38e.entry.js} +1 -1
  403. package/dist/vega/{p-6c1ef2ed.js → p-dd11f735.js} +1 -1
  404. package/dist/vega/{p-3d85411d.js → p-e16b3adf.js} +1 -1
  405. package/dist/vega/{p-1e019406.js → p-e93545fd.js} +1 -1
  406. package/dist/vega/{p-a5d4d168.entry.js → p-e9c4fd24.entry.js} +1 -1
  407. package/dist/vega/{p-7a8c4cf8.entry.js → p-eb60cfe1.entry.js} +1 -1
  408. package/dist/vega/{p-7b337fd4.entry.js → p-ec192283.entry.js} +1 -1
  409. package/dist/vega/{p-3938880f.entry.js → p-f2a3a1ec.entry.js} +1 -1
  410. package/dist/vega/{p-c2ac6b47.entry.js → p-f2cdd212.entry.js} +1 -1
  411. package/dist/vega/{p-c7f292dd.entry.js → p-f3c3ff26.entry.js} +1 -1
  412. package/dist/vega/{p-2bc4f7d9.entry.js → p-f4c05b4a.entry.js} +1 -1
  413. package/dist/vega/{p-7f9acdf7.entry.js → p-f52a0155.entry.js} +1 -1
  414. package/dist/vega/{p-e39aa2ea.entry.js → p-f8641214.entry.js} +1 -1
  415. package/dist/vega/{p-0ad59141.entry.js → p-f89443aa.entry.js} +1 -1
  416. package/dist/vega/{p-96797fee.entry.js → p-f8f7cf48.entry.js} +1 -1
  417. package/dist/vega/p-fe12eff6.js +1 -0
  418. package/dist/vega/vega.esm.js +1 -1
  419. package/package.json +1 -1
  420. package/dist/vega/p-1faef917.entry.js +0 -1
  421. package/dist/vega/p-207cfa6a.js +0 -1
  422. package/dist/vega/p-21cba83b.entry.js +0 -1
  423. package/dist/vega/p-2f592078.entry.js +0 -1
  424. package/dist/vega/p-3162a7fd.entry.js +0 -1
  425. package/dist/vega/p-524ffc12.entry.js +0 -1
  426. package/dist/vega/p-697eb0e1.js +0 -1
  427. package/dist/vega/p-76e6c13a.js +0 -1
  428. package/dist/vega/p-79a544d6.js +0 -1
  429. package/dist/vega/p-8bd496b4.js +0 -1
  430. package/dist/vega/p-9a83a6b0.js +0 -1
  431. package/dist/vega/p-aab0deab.js +0 -1
  432. package/dist/vega/p-b406a846.entry.js +0 -1
  433. package/dist/vega/p-bd60c72e.entry.js +0 -1
  434. package/dist/vega/p-c4700277.entry.js +0 -1
  435. package/dist/vega/p-f38a4be2.entry.js +0 -1
@@ -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, k as InternalAnnotationTypeEnum, s as stateEntityRenderingRegistry, f as RTEBlock, i as RTENode, z as RTEDecoratorNode, x as RTECodeBlock } from './code-block-666674d7.js';
2
+ import { a0 as RTECodeBlockNode, b as RTETextNode, Z as ZERO_WIDTH_SPACE, _ as SelectionChangeAction, k as InternalAnnotationTypeEnum, s as stateEntityRenderingRegistry, f as RTEBlock, i as RTENode, z as RTEDecoratorNode, x as RTECodeBlock } from './code-block-8ee34ab6.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
- import { d as domNodeSubjectFactory, D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-1aaa1159.js';
6
+ import { d as domNodeSubjectFactory, D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-064ee2b2.js';
7
7
  import { c as VegaInternalRichTextEditorSelectionRangeChange, a as VegaInternalUpdateRTECursorPosition } from './vega-internal-event-id-4a06d705.js';
8
8
  import { O as Observer } from './observer-3959f9dd.js';
9
- import { R as RTERange } from './range-9cc1422b.js';
9
+ import { R as RTERange } from './range-5257c062.js';
10
10
  import { S as SynchronizeTaskQueue } from './synchronize-task-queue-ac8acc3b.js';
11
11
  import { i as isHTMLElement } from './ui-bb99c0c2.js';
12
- import { K as KeyboardManagerSlimmer } from './keyboard-manager-slimmer-e303cb7d.js';
12
+ import { K as KeyboardManagerSlimmer } from './keyboard-manager-slimmer-79c78ce8.js';
13
13
 
14
14
  let processing = false;
15
15
  /**
@@ -1,4 +1,4 @@
1
- import { Q as isDateStr } from './type-guard-b48aec98.js';
1
+ import { Q as isDateStr } from './type-guard-c65a227d.js';
2
2
  import { I as InternalFormFieldValidationRule } from './internal-form-field-validation-rule.abstract-f5b6bdbf.js';
3
3
 
4
4
  /**
@@ -1,7 +1,7 @@
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-b48aec98.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-c65a227d.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-94897ae8.js';
4
+ import { R as ResponsiveFormatFacade } from './responsive-format-facade-28ee2dbd.js';
5
5
  import { a as TypographyKeys } from './typography-396de03f.js';
6
6
  import { B as BorderStyle } from './ui-28fd4193.js';
7
7
 
@@ -111,6 +111,8 @@ const VegaPaste = new VegaEventID('vegaPaste', 'paste');
111
111
  const HTMLNativeEventIds = [VegaChange, VegaClick, VegaFocus, VegaBlur, VegaPaste];
112
112
  const VegaMonthYearChange = new VegaEventID('vegaMonthYearChange', 'monthYearChange');
113
113
  const VegaSelectionChange = new VegaEventID('vegaSelectionChange', 'selectionChange');
114
+ const VegaSuggestionItemClick = new VegaEventID('vegaSuggestionItemClick', 'suggestionItemClick');
115
+ const VegaNativeInputChange = new VegaEventID('vegaNativeInputChange', 'nativeInputChange');
114
116
 
115
117
  /** The DomNodeSubject class represents a subject related to DOM nodes. */
116
118
  class DomNodeSubject {
@@ -245,4 +247,4 @@ class DomNodeSubjectObserverFactory {
245
247
  }
246
248
  }
247
249
 
248
- export { VegaRowExpand as $, VegaFormSubmit as A, VegaFormReset as B, VegaValidate as C, DomNodeSubjectObserverFactory as D, VegaCancel as E, VegaFocus as F, VegaBlur as G, VegaPaste as H, VegaComplete as I, VegaCountryChange as J, VegaShow as K, VegaHide as L, VegaToggleStatus as M, VegaOpen as N, VegaStateUpdate as O, VegaGroupClick as P, VegaMenuClick as Q, VegaActionClick as R, VegaPageSizeChange as S, VegaPopoverShow as T, VegaPopoverHide as U, VegaDropdownClick as V, VegaCurrentStepUpdate as W, VegaImageInserted as X, VegaSelectChange as Y, VegaSelectAllChange as Z, VegaRowClick as _, VegaClick as a, VegaRowSelect as a0, VegaRowSelectAll as a1, VegaExpand as b, VegaReset as c, domNodeSubjectFactory as d, VegaClose as e, VegaActionButtonClick as f, VegaChange as g, VegaEventClick as h, VegaDateDblClick as i, VegaMoreActionClick as j, VegaDateClick as k, VegaPageUpdate as l, VegaRemove as m, VegaCreate as n, VegaSearch as o, VegaMonthYearChange as p, VegaClear as q, VegaSelectionChange as r, VegaDropdownShow as s, VegaDropdownHide as t, VegaDropdownSearch as u, VegaSearchTrigger as v, VegaLabelButtonClick as w, VegaSelectFileChange as x, VegaRetry as y, VegaPreview as z };
250
+ export { VegaSelectAllChange as $, VegaFormSubmit as A, VegaFormReset as B, VegaValidate as C, DomNodeSubjectObserverFactory as D, VegaCancel as E, VegaNativeInputChange as F, VegaFocus as G, VegaBlur as H, VegaSuggestionItemClick as I, VegaPaste as J, VegaComplete as K, VegaCountryChange as L, VegaShow as M, VegaHide as N, VegaToggleStatus as O, VegaOpen as P, VegaStateUpdate as Q, VegaGroupClick as R, VegaMenuClick as S, VegaActionClick as T, VegaPageSizeChange as U, VegaDropdownClick as V, VegaPopoverShow as W, VegaPopoverHide as X, VegaCurrentStepUpdate as Y, VegaImageInserted as Z, VegaSelectChange as _, VegaClick as a, VegaRowClick as a0, VegaRowExpand as a1, VegaRowSelect as a2, VegaRowSelectAll as a3, VegaExpand as b, VegaReset as c, domNodeSubjectFactory as d, VegaClose as e, VegaActionButtonClick as f, VegaChange as g, VegaEventClick as h, VegaDateDblClick as i, VegaMoreActionClick as j, VegaDateClick as k, VegaPageUpdate as l, VegaRemove as m, VegaCreate as n, VegaSearch as o, VegaMonthYearChange as p, VegaClear as q, VegaSelectionChange as r, VegaDropdownShow as s, VegaDropdownHide as t, VegaDropdownSearch as u, VegaSearchTrigger as v, VegaLabelButtonClick as w, VegaSelectFileChange as x, VegaRetry as y, VegaPreview as z };
@@ -1,8 +1,8 @@
1
- import { d as ActionHandleStrategy, e as RTETextBlock, b as RTETextNode, h as AppendChildrenAction, A as ActionHandleStrategyRegistry, T as TextStyleAnnotationAction, B as BlockUpdateTextStyleStrategy, H as HorizontalAlignmentAnnotationAction, l as BlockUpdateHorizontalAlignmentStrategy, c as ModifyContentActionType, m as BlockInsertLineBreakStrategy, n as BlockInsertLineBreakWithBlocksStrategy, o as BlockSplitWithTextNodeStrategy, p as BlockReplaceNodesStrategy, q as BlockMergeNodesStrategy, I as InsertChildrenAfterAction, r as RemoveChildrenAction, S as SyncUpSelectionAction, j as InsertChildrenBeforeAction, t as BlockAnnotation, u as BlockAnnotationTypeEnum, f as RTEBlock, v as CustomStyleAnnotation, w as CustomClassAnnotation, C as CustomAttributeAnnotation, x as RTECodeBlock, s as stateEntityRenderingRegistry, N as NodeAnnotation, y as NodeAnnotationTypeEnum, z as RTEDecoratorNode, D as NodeTypeEnum, E as CommonAnnotation, F as AnnotationAction, G as ReplaceChildNodesAction, M as ModifyContentAction, J as SplitBlockWithNodeAction, K as BlockDeleteNodeContentStrategy, U as UpdateTextAction, L as RemoveChildrenStrategy, O as RTE_TEXT_COLORS, P as RTE_DEFAULT_TEXT_COLOR, R as RTEDTOClassManager } from './code-block-666674d7.js';
1
+ import { d as ActionHandleStrategy, e as RTETextBlock, b as RTETextNode, h as AppendChildrenAction, A as ActionHandleStrategyRegistry, T as TextStyleAnnotationAction, B as BlockUpdateTextStyleStrategy, H as HorizontalAlignmentAnnotationAction, l as BlockUpdateHorizontalAlignmentStrategy, c as ModifyContentActionType, m as BlockInsertLineBreakStrategy, n as BlockInsertLineBreakWithBlocksStrategy, o as BlockSplitWithTextNodeStrategy, p as BlockReplaceNodesStrategy, q as BlockMergeNodesStrategy, I as InsertChildrenAfterAction, r as RemoveChildrenAction, S as SyncUpSelectionAction, j as InsertChildrenBeforeAction, t as BlockAnnotation, u as BlockAnnotationTypeEnum, f as RTEBlock, v as CustomStyleAnnotation, w as CustomClassAnnotation, C as CustomAttributeAnnotation, x as RTECodeBlock, s as stateEntityRenderingRegistry, N as NodeAnnotation, y as NodeAnnotationTypeEnum, z as RTEDecoratorNode, D as NodeTypeEnum, E as CommonAnnotation, F as AnnotationAction, G as ReplaceChildNodesAction, M as ModifyContentAction, J as SplitBlockWithNodeAction, K as BlockDeleteNodeContentStrategy, U as UpdateTextAction, L as RemoveChildrenStrategy, O as RTE_TEXT_COLORS, P as RTE_DEFAULT_TEXT_COLOR, R as RTEDTOClassManager } from './code-block-8ee34ab6.js';
2
2
  import { g as generateUUID } from './create-public-api-runtime-metrics-slimmer-bedf3a1e.js';
3
- import { i as isNonNullable } from './type-guard-b48aec98.js';
3
+ import { i as isNonNullable } from './type-guard-c65a227d.js';
4
4
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
5
- import { d as domNodeSubjectFactory } from './dom-node-subject-observer-factory-1aaa1159.js';
5
+ import { d as domNodeSubjectFactory } from './dom-node-subject-observer-factory-064ee2b2.js';
6
6
  import { a as VegaInternalUpdateRTECursorPosition, b as VegaInternalRichTextEditorFlushChanges } from './vega-internal-event-id-4a06d705.js';
7
7
  import { d as dashCaseToCamel } from './string-a953eafc.js';
8
8
  import { r as rgbToHex, i as isHTMLElement } from './ui-bb99c0c2.js';
@@ -1220,6 +1220,12 @@ class RTEHtmlBlock extends RTEBlock {
1220
1220
  toHtml() {
1221
1221
  const BlockTag = this.htmlTag;
1222
1222
  const attrStr = super.generateAttributeString();
1223
+ // Handle void/self-closing tags (hr, input, col, etc.)
1224
+ // Uses HTML5 syntax without self-closing slash for consistency with img and br tags
1225
+ if (RTEHtmlBlock.VOID_TAGS.has(this.htmlTag)) {
1226
+ return `<${BlockTag}${attrStr}>`;
1227
+ }
1228
+ // Handle normal tags with children
1223
1229
  return [
1224
1230
  `<${BlockTag}${attrStr}>`,
1225
1231
  this.children.map((block) => block.toHtml()).join(''),
@@ -1233,6 +1239,16 @@ class RTEHtmlBlock extends RTEBlock {
1233
1239
  return Object.assign(Object.assign({}, super.toJSON()), { id: this.id, type: this.type, htmlTag: this.htmlTag, children: this.children.map((child) => child.toJSON()) });
1234
1240
  }
1235
1241
  }
1242
+ /**
1243
+ * Void/self-closing tags that don't have closing tags and don't contain children.
1244
+ * These tags should be rendered as <tag> or <tag/> instead of <tag></tag>.
1245
+ *
1246
+ * Based on canHandleTags from html-block-strategy.ts, the following are void tags:
1247
+ * - HR: horizontal rule
1248
+ * - INPUT: form input
1249
+ * - COL: table column
1250
+ */
1251
+ RTEHtmlBlock.VOID_TAGS = new Set(['hr', 'input', 'col']);
1236
1252
 
1237
1253
  /**
1238
1254
  * Merge the two blocks node into first block if the two blocks nodes type is same(text node or image node)
@@ -3629,6 +3645,185 @@ class StylePreservationContext {
3629
3645
  }
3630
3646
  }
3631
3647
 
3648
+ /**
3649
+ * Removes whitespace between tags, except preserves ALL whitespace between matching opening/closing tag pairs.
3650
+ *
3651
+ * This processor scans for patterns of `<tag>(whitespace)<tag>` and:
3652
+ * - If the first tag is an opening tag and the second tag is its matching closing tag (e.g., `<span> </span>`),
3653
+ * preserves ALL the whitespace between them (including spaces, tabs, newlines)
3654
+ * - Otherwise, removes all the whitespace between the tags
3655
+ *
3656
+ * Examples:
3657
+ * - `</p>\n\t<div>` → `</p><div>` (different tags: closing p, opening div - whitespace removed)
3658
+ * - `<div>\n\t<span>` → `<div><span>` (different tags: opening div, opening span - whitespace removed)
3659
+ * - `<span> </span>` → `<span> </span>` (matching tags: opening span, closing span - space preserved)
3660
+ * - `<span> </span>` → `<span> </span>` (matching tags - multiple spaces preserved)
3661
+ * - `<span>\n\t</span>` → `<span>\n\t</span>` (matching tags - \n\t preserved)
3662
+ * - `<code> </code>` → `<code> </code>` (matching tags - space preserved)
3663
+ * - `</div> <p>` → `</div><p>` (different tags: closing div, opening p - whitespace removed)
3664
+ */
3665
+ class RemoveWhitespaceBetweenTagsProcessor {
3666
+ /**
3667
+ * Process the HTML string to remove whitespace between non-matching tags.
3668
+ *
3669
+ * @param {string} html - The HTML string to process.
3670
+ * @returns {string} The processed HTML string.
3671
+ */
3672
+ process(html) {
3673
+ return html.replace(/(<[^>]+>)(\s+)(<[^>]+>)/g, (_match, tag1, whitespace, tag2) => {
3674
+ const openingTagName = this.extractOpeningTagName(tag1);
3675
+ const closingTagName = this.extractClosingTagName(tag2);
3676
+ // Preserve all whitespace if tags match (e.g., <span> </span>)
3677
+ if (openingTagName && closingTagName && openingTagName === closingTagName) {
3678
+ return `${tag1}${whitespace}${tag2}`;
3679
+ }
3680
+ // Remove whitespace for non-matching tags
3681
+ return `${tag1}${tag2}`;
3682
+ });
3683
+ }
3684
+ /**
3685
+ * Extracts the tag name from an opening HTML tag.
3686
+ *
3687
+ * Supports standard HTML tags (div, span, h1, etc.) and custom elements with hyphens (my-component).
3688
+ *
3689
+ * Examples:
3690
+ * - `<span>` → `span`
3691
+ * - `<div class="test">` → `div`
3692
+ * - `<my-component id="123">` → `my-component`
3693
+ * - `</span>` → `null` (not an opening tag)
3694
+ *
3695
+ * @param {string} tag - The tag string to extract from (e.g., '<span>', '<div class="test">').
3696
+ * @returns {string | null} The tag name or null if not an opening tag.
3697
+ * @private
3698
+ */
3699
+ extractOpeningTagName(tag) {
3700
+ // Pattern: <(tag name) where tag name starts with letter, followed by letters/numbers/hyphens
3701
+ const match = tag.match(/<(\w[\w-]*)/);
3702
+ return match ? match[1] : null;
3703
+ }
3704
+ /**
3705
+ * Extracts the tag name from a closing HTML tag.
3706
+ *
3707
+ * Supports standard HTML tags (div, span, h1, etc.) and custom elements with hyphens (my-component).
3708
+ *
3709
+ * Examples:
3710
+ * - `</span>` → `span`
3711
+ * - `</div>` → `div`
3712
+ * - `</my-component>` → `my-component`
3713
+ * - `<span>` → `null` (not a closing tag)
3714
+ *
3715
+ * @param {string} tag - The tag string to extract from (e.g., '</span>', '</div>').
3716
+ * @returns {string | null} The tag name or null if not a closing tag.
3717
+ * @private
3718
+ */
3719
+ extractClosingTagName(tag) {
3720
+ // Pattern: </(tag name) where tag name starts with letter, followed by letters/numbers/hyphens
3721
+ const match = tag.match(/<\/(\w[\w-]*)/);
3722
+ return match ? match[1] : null;
3723
+ }
3724
+ }
3725
+
3726
+ /**
3727
+ * Removes `\n` and `\t` characters after opening tags (before text content).
3728
+ *
3729
+ * Transforms patterns like `>[\n\t]+(text)` to `>(text)`.
3730
+ *
3731
+ * Examples:
3732
+ * - `<p>\n\tHello` → `<p>Hello`
3733
+ * - `<div>\n\n\tWorld` → `<div>World`
3734
+ */
3735
+ class RemoveWhitespaceAfterOpeningTagProcessor {
3736
+ /**
3737
+ * Process the HTML string to remove `\n` and `\t` after opening tags.
3738
+ *
3739
+ * @param {string} html - The HTML string to process.
3740
+ * @returns {string} The processed HTML string.
3741
+ */
3742
+ process(html) {
3743
+ // Pattern: `>[\n\t]+(text)` → `>(text)`
3744
+ return html.replace(/(>)[\n\t]+(?=.)/g, '$1');
3745
+ }
3746
+ }
3747
+
3748
+ /**
3749
+ * Removes `\n` and `\t` characters before closing tags (after text content).
3750
+ *
3751
+ * Transforms patterns like `(text)[\n\t]+<` to `(text)<`.
3752
+ *
3753
+ * Examples:
3754
+ * - `World\n\t</p>` → `World</p>`
3755
+ * - `Hello\n</div>` → `Hello</div>`
3756
+ */
3757
+ class RemoveWhitespaceBeforeClosingTagProcessor {
3758
+ /**
3759
+ * Process the HTML string to remove `\n` and `\t` before closing tags.
3760
+ *
3761
+ * @param {string} html - The HTML string to process.
3762
+ * @returns {string} The processed HTML string.
3763
+ */
3764
+ process(html) {
3765
+ // Pattern: `(text)[\n\t]+<` → `(text)<`
3766
+ return html.replace(/(.?)[\n\t]+(?=<)/g, '$1');
3767
+ }
3768
+ }
3769
+
3770
+ /**
3771
+ * Main HTML content cleaner that orchestrates multiple cleaning processors.
3772
+ *
3773
+ * This class implements a chain of responsibility pattern where each processor
3774
+ * handles a specific aspect of HTML cleaning. The processors are applied in sequence
3775
+ * and the entire chain is repeated until no more changes occur.
3776
+ *
3777
+ * Processors (in order):
3778
+ * 1. RemoveWhitespaceBetweenTagsProcessor - Removes whitespace between non-matching tags
3779
+ * 2. RemoveWhitespaceAfterOpeningTagProcessor - Removes \n and \t after opening tags
3780
+ * 3. RemoveWhitespaceBeforeClosingTagProcessor - Removes \n and \t before closing tags
3781
+ */
3782
+ class HTMLContentCleaner {
3783
+ constructor() {
3784
+ this.processors = [
3785
+ new RemoveWhitespaceBetweenTagsProcessor(),
3786
+ new RemoveWhitespaceAfterOpeningTagProcessor(),
3787
+ new RemoveWhitespaceBeforeClosingTagProcessor(),
3788
+ ];
3789
+ }
3790
+ /**
3791
+ * Cleans HTML by applying all processors in the chain repeatedly until no changes occur.
3792
+ *
3793
+ * The cleaning process:
3794
+ * 1. Applies each processor in sequence
3795
+ * 2. Compares the result with the input
3796
+ * 3. If changes were made, repeats the process
3797
+ * 4. Returns the final cleaned HTML
3798
+ *
3799
+ * Examples of transformations:
3800
+ * - `<p>\n\t <span>test</span>\n\t </p>` → `<p><span>test</span></p>`
3801
+ * - `<p>\n\tHello</p>` → `<p>Hello</p>`
3802
+ * - `<p>Hello\n\t</p>` → `<p>Hello</p>`
3803
+ * - `<span> </span>` → `<span> </span>` (preserved - matching tags)
3804
+ * - `<p>Hello World</p>` → `<p>Hello World</p>` (preserved - regular spaces)
3805
+ *
3806
+ * @param {string} html - The HTML string to clean.
3807
+ * @returns {string} The cleaned HTML string.
3808
+ */
3809
+ clean(html) {
3810
+ if (!html || html.trim().length === 0) {
3811
+ return html;
3812
+ }
3813
+ let result = html;
3814
+ let previousResult;
3815
+ // Keep processing until no more changes occur
3816
+ do {
3817
+ previousResult = result;
3818
+ // Apply each processor in the chain
3819
+ for (const processor of this.processors) {
3820
+ result = processor.process(result);
3821
+ }
3822
+ } while (result !== previousResult);
3823
+ return result;
3824
+ }
3825
+ }
3826
+
3632
3827
  /**
3633
3828
  * Class representing the content state of the rich text editor.
3634
3829
  */
@@ -3661,22 +3856,27 @@ class VegaRTEContent {
3661
3856
  /**
3662
3857
  * Create an empty content state
3663
3858
  *
3859
+ * @param {VegaRTETransformOptions} options - Optional transformation options.
3664
3860
  * @returns {VegaRTEContent} An empty content state
3665
3861
  */
3666
- static createEmptyContent() {
3862
+ static createEmptyContent(options = { autoMatchFormat: true }) {
3667
3863
  return VegaRTEContent.fromJSON([
3668
3864
  {
3669
3865
  id: generateUUID(),
3670
3866
  type: 'paragraph',
3867
+ annotations: {
3868
+ internalWrapper: !options.autoMatchFormat,
3869
+ },
3671
3870
  nodes: [
3672
3871
  {
3673
3872
  id: generateUUID(),
3873
+ annotations: { plainText: !options.autoMatchFormat },
3674
3874
  type: 'text',
3675
3875
  text: '',
3676
3876
  },
3677
3877
  ],
3678
3878
  },
3679
- ]);
3879
+ ], options);
3680
3880
  }
3681
3881
  /**
3682
3882
  * Converts HTML content to a VegaRTEContent instance.
@@ -3686,28 +3886,8 @@ class VegaRTEContent {
3686
3886
  * @returns {VegaRTEContent} The converted content state.
3687
3887
  */
3688
3888
  static fromHtml(html, options = { autoMatchFormat: true, skipCustomAnnotations: false }) {
3689
- /**
3690
- * remove redundant spaces between tags, for example:
3691
- * case1:
3692
- * '<p>\n\t <span>test</span>\n\t </p>' will be formatted into '<p><span>test</span></p>'
3693
- * '<p>
3694
- * test
3695
- * </p>' will be formatted into '<p>test</p>'
3696
- *
3697
- * case2:
3698
- * <h1>
3699
- * _test&*....
3700
- * </h1> will be formatted into <h1>_test&*....</h1>
3701
- *
3702
- * The blank space between individual tags should be preserved:
3703
- * <span> </span>
3704
- */
3705
- const formattedHtml = html
3706
- .replace(/>\s+<\/?/g, (match) => {
3707
- return match.endsWith('</') ? match : '><';
3708
- })
3709
- .replace(/(>)[\n\t]+(?=[a-zA-Z0-9_\W])/g, '$1')
3710
- .replace(/([a-zA-Z0-9_\W])[\n\t]+(?=<)/g, '$1');
3889
+ const cleaner = new HTMLContentCleaner();
3890
+ const formattedHtml = cleaner.clean(html);
3711
3891
  const context = StylePreservator.preserve(formattedHtml);
3712
3892
  const safeHtml = context.getProcessedHtml();
3713
3893
  const body = new DOMParser().parseFromString(safeHtml, 'text/html').body;
@@ -3749,8 +3929,19 @@ class VegaRTEContent {
3749
3929
  if (options) {
3750
3930
  LogUtility.warn(`The 'options' parameter in toHtml method is deprecated and will be removed in the future.`);
3751
3931
  }
3932
+ if (this.isEmpty()) {
3933
+ return '';
3934
+ }
3752
3935
  return this.children.map((block) => block.toHtml()).join('');
3753
3936
  }
3937
+ /**
3938
+ * Checks if the content state is empty.
3939
+ *
3940
+ * @returns {boolean} True if the content state is empty, false otherwise.
3941
+ */
3942
+ isEmpty() {
3943
+ return this.children.length === 0 || (this.children.length === 1 && !this.children[0].isNotEmpty());
3944
+ }
3754
3945
  /**
3755
3946
  * Internal method to add the block item, remove the block item
3756
3947
  *
@@ -1,15 +1,15 @@
1
1
  import { c as MapToComponentField, I as InjectVegaSlimmer, V as VegaSlimmer, L as LogUtility, M as MapToComponentMethod } from './global-slimmer-registry-17c4efd4.js';
2
2
  import { f as findParent, d as isElementVisible, b as isParent } from './ui-bb99c0c2.js';
3
- import { n as InternalVegaZIndexManager } from './function-extension-8b06c6f8.js';
3
+ import { n as InternalVegaZIndexManager } from './function-extension-e8c0e43e.js';
4
4
  import { c as createDynamicSlimmer } from './dynamic-slimmer-90b8af32.js';
5
5
  import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-8744cb44.js';
6
6
  import { P as Placements, A as Alignments } from './ui-28fd4193.js';
7
- import { H as isTranslocationType } from './type-guard-b48aec98.js';
8
- import { R as ResponsiveFormatFacade } from './responsive-format-facade-94897ae8.js';
7
+ import { H as isTranslocationType, a3 as isEATriggerStrategy } from './type-guard-c65a227d.js';
8
+ import { R as ResponsiveFormatFacade } from './responsive-format-facade-28ee2dbd.js';
9
9
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
10
10
  import { S as SHADOW_ROOT_ELEMENT_SCROLLING } from './static-subject-title-52f93124.js';
11
11
  import { O as Observer } from './observer-3959f9dd.js';
12
- import { d as domNodeSubjectFactory, D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-1aaa1159.js';
12
+ import { d as domNodeSubjectFactory, D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-064ee2b2.js';
13
13
  import { x as VegaInternalNestEAHierarchyTreeChange } from './vega-internal-event-id-4a06d705.js';
14
14
 
15
15
  var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -1257,6 +1257,106 @@ __decorate$1([
1257
1257
  MapToComponentMethod('hide')
1258
1258
  ], ElementAppenderHierarchyTreeManager.prototype, "onHide", null);
1259
1259
 
1260
+ /**
1261
+ * ClickTriggerStrategy handles 'targetClick' and 'globalMouseDown' events to toggle or hide the appendable element.
1262
+ */
1263
+ class ClickTriggerStrategy {
1264
+ /**
1265
+ * Determines if the strategy can evaluate the given event type.
1266
+ *
1267
+ * @param {VegaEAEventType} type - The type of the event.
1268
+ * @returns {boolean} True if the event type is 'targetClick' or 'globalMouseDown', otherwise false.
1269
+ */
1270
+ canEvaluate(type) {
1271
+ return type === 'target-click' || type === 'click-outside';
1272
+ }
1273
+ /**
1274
+ * Evaluates the trigger context and determines whether to show, hide, or toggle the appendable element.
1275
+ *
1276
+ * @param {VegaEATriggerContext} context - The context of the trigger event.
1277
+ * @returns {VegaEATriggerResult} An object indicating whether to show, hide, or toggle the appendable element.
1278
+ */
1279
+ evaluate(context) {
1280
+ if (context.eventType === 'target-click') {
1281
+ return {
1282
+ nextAction: context.currentState.isVisible ? 'hide' : 'show',
1283
+ };
1284
+ }
1285
+ if (context.eventType === 'click-outside' && context.currentState.isVisible) {
1286
+ return {
1287
+ nextAction: 'hide',
1288
+ };
1289
+ }
1290
+ return {};
1291
+ }
1292
+ }
1293
+
1294
+ /**
1295
+ * HoverTriggerStrategy handles mouse enter and leave events on the target and appendable elements,
1296
+ * as well as global mouse down events to show or hide the appendable element.
1297
+ */
1298
+ class HoverTriggerStrategy {
1299
+ /**
1300
+ * Determines if the strategy can evaluate the given event type.
1301
+ *
1302
+ * @param {VegaEAEventType} type - The type of the event.
1303
+ * @returns {boolean} True if the event type is related to hover actions or global mouse down, otherwise false.
1304
+ */
1305
+ canEvaluate(type) {
1306
+ return [
1307
+ 'target-mouseenter',
1308
+ 'target-mouseleave',
1309
+ 'element-mouseenter',
1310
+ 'element-mouseleave',
1311
+ ].includes(type);
1312
+ }
1313
+ /**
1314
+ * Evaluates the trigger context and determines whether to show, hide, or toggle the appendable element.
1315
+ *
1316
+ * @param {VegaEATriggerContext} context - The context of the trigger event.
1317
+ * @returns {VegaEATriggerResult} An object indicating whether to show, hide, or toggle the appendable element.
1318
+ */
1319
+ evaluate(context) {
1320
+ if (['target-mouseenter', 'element-mouseenter'].includes(context.eventType)) {
1321
+ return !context.currentState.isVisible
1322
+ ? {
1323
+ nextAction: 'show',
1324
+ }
1325
+ : {};
1326
+ }
1327
+ if (['target-mouseleave', 'element-mouseleave'].includes(context.eventType)) {
1328
+ return {
1329
+ nextAction: 'hide',
1330
+ };
1331
+ }
1332
+ /* istanbul ignore next */
1333
+ return {};
1334
+ }
1335
+ }
1336
+
1337
+ /**
1338
+ * NoneTriggerStrategy does not respond to any events and always indicates no action.
1339
+ */
1340
+ class NoneTriggerStrategy {
1341
+ /**
1342
+ * Determines if the strategy can evaluate the given event type.
1343
+ *
1344
+ * @returns {boolean} Always false as this strategy does not respond to any events.
1345
+ */
1346
+ canEvaluate() {
1347
+ return false;
1348
+ }
1349
+ /* istanbul ignore next */
1350
+ /**
1351
+ * Evaluates the trigger context and always indicates no action.
1352
+ *
1353
+ * @returns {VegaEATriggerResult} An object indicating no action (no show, hide, or toggle).
1354
+ */
1355
+ evaluate() {
1356
+ return {};
1357
+ }
1358
+ }
1359
+
1260
1360
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1261
1361
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1262
1362
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -1288,25 +1388,28 @@ class ElementAppenderSlimmer extends VegaSlimmer {
1288
1388
  };
1289
1389
  /* It's a function that listens to the click event on the dropdown. It checks if the trigger
1290
1390
  property is equal to 'click'. If it is, then it toggles the dropdown. */
1291
- this.targetClickHandler = () => {
1292
- if (this.shouldListenerWork('click')) {
1293
- this.isShowing() ? this.hide() : this.show();
1391
+ this.targetClickHandler = (event) => {
1392
+ const triggerStrategy = this.getTriggerStrategy();
1393
+ if (triggerStrategy.canEvaluate('target-click')) {
1394
+ this.executeTriggerStrategy(triggerStrategy, event, 'target-click');
1294
1395
  }
1295
1396
  };
1296
1397
  /* It's a function that listens to the mouseenter event on the dropdown. It checks if the trigger
1297
1398
  property is equal to 'hover'. If it is, then it clears the timer. */
1298
- this.targetMouseEnterHandler = () => {
1299
- if (this.shouldListenerWork('hover')) {
1300
- this.isShowing() === false && this.show();
1399
+ this.targetMouseEnterHandler = (event) => {
1400
+ const triggerStrategy = this.getTriggerStrategy();
1401
+ if (triggerStrategy.canEvaluate('target-mouseenter')) {
1402
+ this.executeTriggerStrategy(triggerStrategy, event, 'target-mouseenter');
1301
1403
  this.clearDelayHideTimer();
1302
1404
  }
1303
1405
  };
1304
1406
  /* It's a function that listens to the mouseleave event on the dropdown. It checks if the trigger
1305
1407
  property is equal to 'hover'. If it is, then it creates a timer that will hide the dropdown after a
1306
1408
  certain amount of time. */
1307
- this.targetMouseLeaveHandler = () => {
1308
- if (this.shouldListenerWork('hover')) {
1309
- this.createDelayHideTimer();
1409
+ this.targetMouseLeaveHandler = (event) => {
1410
+ const triggerStrategy = this.getTriggerStrategy();
1411
+ if (triggerStrategy.canEvaluate('target-mouseleave')) {
1412
+ this.createDelayHideTimer(event, 'target-mouseleave');
1310
1413
  }
1311
1414
  };
1312
1415
  /* istanbul ignore next */
@@ -1314,7 +1417,7 @@ class ElementAppenderSlimmer extends VegaSlimmer {
1314
1417
  this.targetFocusoutHandler = (e) => {
1315
1418
  var _a;
1316
1419
  if (!isParent(e.relatedTarget, (_a = this.showConfig) === null || _a === void 0 ? void 0 : _a.appendableElement)) {
1317
- this.targetMouseLeaveHandler();
1420
+ this.targetMouseLeaveHandler(e);
1318
1421
  }
1319
1422
  };
1320
1423
  /* It's a function that listens to the mouseenter event on the dropdown. It checks if the trigger
@@ -1322,18 +1425,20 @@ class ElementAppenderSlimmer extends VegaSlimmer {
1322
1425
  this.elementMouseEnterHandler = () => {
1323
1426
  var _a;
1324
1427
  (_a = this.hierarchyTreeManager.getParent()) === null || _a === void 0 ? void 0 : _a.elementMouseEnterHandler();
1325
- if (this.shouldListenerWork('hover') && !this.disableInteractiveGetter()) {
1428
+ const triggerStrategy = this.getTriggerStrategy();
1429
+ if (triggerStrategy.canEvaluate('element-mouseenter') && !this.disableInteractiveGetter()) {
1326
1430
  this.clearDelayHideTimer();
1327
1431
  }
1328
1432
  };
1329
1433
  /* It's a function that listens to the mouseleave event on the dropdown. It checks if the trigger
1330
1434
  property is equal to 'hover'. If it is, then it creates a timer that will hide the dropdown after a
1331
1435
  certain amount of time. */
1332
- this.elementMouseLeaveHandler = () => {
1436
+ this.elementMouseLeaveHandler = (event) => {
1333
1437
  var _a;
1334
- (_a = this.hierarchyTreeManager.getParent()) === null || _a === void 0 ? void 0 : _a.elementMouseLeaveHandler();
1335
- if (this.shouldListenerWork('hover') && !this.disableInteractiveGetter()) {
1336
- this.createDelayHideTimer();
1438
+ (_a = this.hierarchyTreeManager.getParent()) === null || _a === void 0 ? void 0 : _a.elementMouseLeaveHandler(event);
1439
+ const triggerStrategy = this.getTriggerStrategy();
1440
+ if (triggerStrategy.canEvaluate('element-mouseleave') && !this.disableInteractiveGetter()) {
1441
+ this.createDelayHideTimer(event, 'element-mouseleave');
1337
1442
  }
1338
1443
  };
1339
1444
  /* It's a function that listens to the global mousedown event. It checks if the dropdown is showing,
@@ -1344,15 +1449,15 @@ class ElementAppenderSlimmer extends VegaSlimmer {
1344
1449
  const hasChildShowing = this.hierarchyTreeManager
1345
1450
  .getChildren()
1346
1451
  .some((child) => child.isShowing());
1452
+ const triggerStrategy = this.getTriggerStrategy();
1347
1453
  if (!hasChildShowing &&
1348
- this.shouldListenerWork('custom') &&
1349
- this.isShowing() &&
1454
+ triggerStrategy.canEvaluate('click-outside') &&
1350
1455
  this.showConfig &&
1351
1456
  !isParent(currentTarget, this.showConfig.appendableElement) &&
1352
1457
  !isParent(currentTarget, this.showConfig.target) &&
1353
1458
  (this.showConfig.isScreenPosition ||
1354
1459
  findParent(currentTarget, 'vega-modal') === findParent(this.showConfig.target, 'vega-modal'))) {
1355
- this.hide();
1460
+ this.executeTriggerStrategy(triggerStrategy, e, 'click-outside');
1356
1461
  }
1357
1462
  };
1358
1463
  /* istanbul ignore next */
@@ -1364,9 +1469,10 @@ class ElementAppenderSlimmer extends VegaSlimmer {
1364
1469
  }
1365
1470
  };
1366
1471
  /* A timer that will hide the dropdown after a certain amount of time. */
1367
- this.createDelayHideTimer = () => {
1472
+ this.createDelayHideTimer = (event, eventType) => {
1473
+ const triggerStrategy = this.getTriggerStrategy();
1368
1474
  this.delayHideTimer = setTimeout(() => {
1369
- this.hide();
1475
+ this.executeTriggerStrategy(triggerStrategy, event, eventType);
1370
1476
  clearTimeout(this.delayHideTimer);
1371
1477
  }, ElementAppenderSlimmer.DELAY_HIDE_TIME);
1372
1478
  };
@@ -1374,19 +1480,22 @@ class ElementAppenderSlimmer extends VegaSlimmer {
1374
1480
  this.clearDelayHideTimer = () => {
1375
1481
  this.delayHideTimer && clearTimeout(this.delayHideTimer);
1376
1482
  };
1377
- /* It's a function that checks if the listener should work or not. */
1378
- this.shouldListenerWork = (trigger) => {
1379
- const currentTrigger = this.getTrigger();
1380
- switch (trigger) {
1381
- case 'custom':
1382
- return currentTrigger !== 'none';
1383
- case 'click':
1384
- return currentTrigger === 'click';
1385
- case 'hover':
1386
- return currentTrigger === 'hover';
1483
+ this.executeTriggerStrategy = (triggerStrategy, event, eventType) => {
1484
+ if (this.showConfig) {
1485
+ const result = triggerStrategy.evaluate({
1486
+ target: this.showConfig.target,
1487
+ appendableElement: this.showConfig.appendableElement,
1488
+ htmlEvent: event,
1489
+ eventType: eventType,
1490
+ currentState: {
1491
+ isVisible: this.isShowing(),
1492
+ },
1493
+ });
1494
+ if (result) {
1495
+ result.nextAction === 'hide' && this.hide();
1496
+ result.nextAction === 'show' && this.show();
1497
+ }
1387
1498
  }
1388
- /* istanbul ignore next */
1389
- throw new Error(`Unexpected trigger: ${trigger}. Expected values are custom, click, or hover.`);
1390
1499
  };
1391
1500
  this.showConfigFactory = showConfigFactory;
1392
1501
  this.getTrigger = getTrigger;
@@ -1488,6 +1597,21 @@ class ElementAppenderSlimmer extends VegaSlimmer {
1488
1597
  removeShadowRootElementScrolling() {
1489
1598
  ChangeManager.unregister(SHADOW_ROOT_ELEMENT_SCROLLING, this.shadowRootElementScrollingObserver);
1490
1599
  }
1600
+ getTriggerStrategy() {
1601
+ const trigger = this.getTrigger();
1602
+ if (trigger === 'click') {
1603
+ return new ClickTriggerStrategy();
1604
+ }
1605
+ else if (trigger === 'hover') {
1606
+ return new HoverTriggerStrategy();
1607
+ }
1608
+ else if (isEATriggerStrategy(trigger)) {
1609
+ return trigger;
1610
+ }
1611
+ else {
1612
+ return new NoneTriggerStrategy();
1613
+ }
1614
+ }
1491
1615
  }
1492
1616
  ElementAppenderSlimmer.DELAY_HIDE_TIME = 100;
1493
1617
  __decorate([