@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
@@ -0,0 +1,186 @@
1
+ import { HTMLContentCleaner } from '../../slimmers/controllers/html-cleaner';
2
+ describe('HTMLContentCleaner', () => {
3
+ let cleaner;
4
+ beforeEach(() => {
5
+ cleaner = new HTMLContentCleaner();
6
+ });
7
+ it('should handle empty string', () => {
8
+ expect(cleaner.clean('')).toBe('');
9
+ });
10
+ it('should handle whitespace-only string', () => {
11
+ expect(cleaner.clean(' ')).toBe(' ');
12
+ });
13
+ it('should remove \\n\\t after opening tag and before closing tag', () => {
14
+ const input = '<div><p>\n\t <span>test</span>\n\t </p></div>';
15
+ expect(cleaner.clean(input)).toBe('<div><p><span>test</span></p></div>');
16
+ });
17
+ it('should remove all \\n and \\t characters between tags', () => {
18
+ const input = '<div><p>\n\ttest\n</p></div>';
19
+ expect(cleaner.clean(input)).toBe('<div><p>test</p></div>');
20
+ });
21
+ it('should preserve space between matching tags', () => {
22
+ const input = '<div><span> </span></div>';
23
+ expect(cleaner.clean(input)).toBe('<div><span> </span></div>');
24
+ });
25
+ it('should preserve space with text between matching tags', () => {
26
+ const input = '<div><span> test </span></div>';
27
+ expect(cleaner.clean(input)).toBe('<div><span> test </span></div>');
28
+ });
29
+ it('should preserve multiple spaces between matching tags', () => {
30
+ const input = '<div><span> </span></div>';
31
+ expect(cleaner.clean(input)).toBe('<div><span> </span></div>');
32
+ });
33
+ it('should remove whitespace between opening tags', () => {
34
+ const input = '<div>\n\t<p></p></div>';
35
+ expect(cleaner.clean(input)).toBe('<div><p></p></div>');
36
+ });
37
+ it('should remove \\n\\t after opening tag but preserve regular spaces', () => {
38
+ const input = '<p>\n\t Hello</p>';
39
+ expect(cleaner.clean(input)).toBe('<p> Hello</p>');
40
+ });
41
+ it('should remove whitespace between multiple closing tags', () => {
42
+ const input = '<table><tbody><tr></tr> </tbody> </table>';
43
+ expect(cleaner.clean(input)).toBe('<table><tbody><tr></tr></tbody></table>');
44
+ });
45
+ it('should remove whitespace between multiple opening tags', () => {
46
+ const input = '<div> <span></span></div>';
47
+ expect(cleaner.clean(input)).toBe('<div><span></span></div>');
48
+ });
49
+ it('should handle complex nested structure', () => {
50
+ const input = '<div>\n\t<p>\n\t\t<span>Hello</span>\n\t</p>\n</div>';
51
+ expect(cleaner.clean(input)).toBe('<div><p><span>Hello</span></p></div>');
52
+ });
53
+ it('should preserve regular spaces within text content', () => {
54
+ const input = '<div><p>Hello World</p></div>';
55
+ expect(cleaner.clean(input)).toBe('<div><p>Hello World</p></div>');
56
+ });
57
+ it('should preserve multiple spaces in text content', () => {
58
+ const input = '<div><p>Hello World</p></div>';
59
+ expect(cleaner.clean(input)).toBe('<div><p>Hello World</p></div>');
60
+ });
61
+ it('should not remove \\n between words in text content', () => {
62
+ const input = '<div><p>Hello\nWorld</p></div>';
63
+ expect(cleaner.clean(input)).toBe('<div><p>Hello\nWorld</p></div>');
64
+ });
65
+ it('should not remove \\n between words with space in text content', () => {
66
+ const input = '<div><p>Hello\n World</p></div>';
67
+ expect(cleaner.clean(input)).toBe('<div><p>Hello\n World</p></div>');
68
+ });
69
+ it('should remove multiple consecutive \\n characters', () => {
70
+ const input = '<div><p>\n\n\n\nHello</p></div>';
71
+ expect(cleaner.clean(input)).toBe('<div><p>Hello</p></div>');
72
+ });
73
+ it('should remove multiple consecutive \\t characters', () => {
74
+ const input = '<div><p>\t\t\tHello</p></div>';
75
+ expect(cleaner.clean(input)).toBe('<div><p>Hello</p></div>');
76
+ });
77
+ it('should preserve empty matching tags', () => {
78
+ const input = '<div><span></span></div>';
79
+ expect(cleaner.clean(input)).toBe('<div><span></span></div>');
80
+ });
81
+ it('should handle mixed spaces, tabs, and newlines', () => {
82
+ const input = '<div> \n\t <p>Text</p> \n\t </div>';
83
+ expect(cleaner.clean(input)).toBe('<div><p>Text</p></div>');
84
+ });
85
+ it('should remove \\t\\n combination', () => {
86
+ const input = '<div><p>\t\nHello</p></div>';
87
+ expect(cleaner.clean(input)).toBe('<div><p>Hello</p></div>');
88
+ });
89
+ it('should remove complex \\n\\t\\n patterns', () => {
90
+ const input = '<div><p>\n\t\n\t\nHello</p></div>';
91
+ expect(cleaner.clean(input)).toBe('<div><p>Hello</p></div>');
92
+ });
93
+ it('should handle 4-level deep nesting', () => {
94
+ const input = '<div>\n\t<section>\n\t\t<article>\n\t\t\t<p>Text</p>\n\t\t</article>\n\t</section>\n</div>';
95
+ expect(cleaner.clean(input)).toBe('<div><section><article><p>Text</p></article></section></div>');
96
+ });
97
+ it('should handle 5-level deep nesting', () => {
98
+ const input = '<div>\n\t<section>\n\t\t<article>\n\t\t\t<main>\n\t\t\t\t<p>Text</p>\n\t\t\t</main>\n\t\t</article>\n\t</section>\n</div>';
99
+ expect(cleaner.clean(input)).toBe('<div><section><article><main><p>Text</p></main></article></section></div>');
100
+ });
101
+ it('should handle 6-level deep nesting', () => {
102
+ const input = '<div>\n\t<section>\n\t\t<article>\n\t\t\t<main>\n\t\t\t\t<aside>\n\t\t\t\t\t<p>Text</p>\n\t\t\t\t</aside>\n\t\t\t</main>\n\t\t</article>\n\t</section>\n</div>';
103
+ expect(cleaner.clean(input)).toBe('<div><section><article><main><aside><p>Text</p></aside></main></article></section></div>');
104
+ });
105
+ it('should remove whitespace after br and hr tags', () => {
106
+ const input1 = '<div><br>\n</div>';
107
+ expect(cleaner.clean(input1)).toBe('<div><br></div>');
108
+ const input2 = '<div><hr>\n\t</div>';
109
+ expect(cleaner.clean(input2)).toBe('<div><hr></div>');
110
+ const input3 = '<div><input type="text">\n</div>';
111
+ expect(cleaner.clean(input3)).toBe('<div><input type="text"></div>');
112
+ });
113
+ it('should remove newlines after br tags', () => {
114
+ const input = '<p>Line 1<br>\nLine 2</p>';
115
+ expect(cleaner.clean(input)).toBe('<p>Line 1<br>Line 2</p>');
116
+ });
117
+ it('should preserve spaces in code blocks between matching tags', () => {
118
+ const input = '<code> const x = 1; </code>';
119
+ expect(cleaner.clean(input)).toBe('<code> const x = 1; </code>');
120
+ });
121
+ it('should preserve plain text without tags', () => {
122
+ const input = 'Hello World';
123
+ expect(cleaner.clean(input)).toBe('Hello World');
124
+ });
125
+ it('should remove whitespace between different inline elements', () => {
126
+ const input = '<span>text</span>\n\t<strong>bold</strong>';
127
+ expect(cleaner.clean(input)).toBe('<span>text</span><strong>bold</strong>');
128
+ });
129
+ it('should inline a table by removing all whitespace between tags', () => {
130
+ const input = `<table style="width: 400px; border-collapse: collapse;"> <thead> <tr> ` +
131
+ `<th style="padding: 12px; text-align: left; font-weight: bold;">Header 1</th> ` +
132
+ `<th style="padding: 12px; text-align: left; font-weight: bold;">Header 2</th> ` +
133
+ `<th style="padding: 12px; text-align: left; font-weight: bold;">Header 3</th> ` +
134
+ `</tr> </thead> <tbody> <tr> <td style="padding: 12px;">Cell 1-1</td> ` +
135
+ `<td style="padding: 12px;">Cell 1-2</td> <td style="padding: 12px;">Cell 1-3</td> ` +
136
+ `</tr> <tr> <td style="padding: 12px;">Cell 2-1</td> <td style="padding: 12px;">Cell 2-2</td> ` +
137
+ `<td style="padding: 12px;">Cell 2-3</td> </tr> <tr> <td style="padding: 12px;">Cell 3-1</td> ` +
138
+ `<td style="padding: 12px;">Cell 3-2</td> <td style="padding: 12px;">Cell 3-3</td> ` +
139
+ `</tr> </tbody> </table>`;
140
+ const expected = `<table style="width: 400px; border-collapse: collapse;"><thead><tr>` +
141
+ `<th style="padding: 12px; text-align: left; font-weight: bold;">Header 1</th>` +
142
+ `<th style="padding: 12px; text-align: left; font-weight: bold;">Header 2</th>` +
143
+ `<th style="padding: 12px; text-align: left; font-weight: bold;">Header 3</th>` +
144
+ `</tr></thead><tbody><tr>` +
145
+ `<td style="padding: 12px;">Cell 1-1</td>` +
146
+ `<td style="padding: 12px;">Cell 1-2</td>` +
147
+ `<td style="padding: 12px;">Cell 1-3</td>` +
148
+ `</tr><tr>` +
149
+ `<td style="padding: 12px;">Cell 2-1</td>` +
150
+ `<td style="padding: 12px;">Cell 2-2</td>` +
151
+ `<td style="padding: 12px;">Cell 2-3</td>` +
152
+ `</tr><tr>` +
153
+ `<td style="padding: 12px;">Cell 3-1</td>` +
154
+ `<td style="padding: 12px;">Cell 3-2</td>` +
155
+ `<td style="padding: 12px;">Cell 3-3</td>` +
156
+ `</tr></tbody></table>`;
157
+ expect(cleaner.clean(input)).toBe(expected);
158
+ });
159
+ it('should remove newline after img tag', () => {
160
+ const input = '<div><img id="image-id" class="img-class" style="vertical-align: bottom; width: 25%; padding: 20px" alt="test alt" src="data:image/svg+xml;base64,xxx=" data-size="sm">\n</div>';
161
+ const expected = '<div><img id="image-id" class="img-class" style="vertical-align: bottom; width: 25%; padding: 20px" alt="test alt" src="data:image/svg+xml;base64,xxx=" data-size="sm"></div>';
162
+ expect(cleaner.clean(input)).toBe(expected);
163
+ });
164
+ it('should preserve spaces in attribute values', () => {
165
+ const input = '<p class="my custom class">Text</p>';
166
+ expect(cleaner.clean(input)).toBe('<p class="my custom class">Text</p>');
167
+ });
168
+ describe('Edge cases', () => {
169
+ it('should handle self-closing tags', () => {
170
+ expect(cleaner.clean('<br/>\n<hr/>')).toBe('<br/><hr/>');
171
+ expect(cleaner.clean('<img src="test.jpg"/>\n<input/>')).toBe('<img src="test.jpg"/><input/>');
172
+ });
173
+ it('should handle nested matching tags', () => {
174
+ expect(cleaner.clean('<div> <div> </div> </div>')).toBe('<div><div> </div></div>');
175
+ });
176
+ it('should handle tags with special characters in attributes', () => {
177
+ expect(cleaner.clean('<a href="http://example.com?a=1&b=2">\nLink</a>')).toBe('<a href="http://example.com?a=1&b=2">Link</a>');
178
+ });
179
+ it('should handle HTML entities', () => {
180
+ expect(cleaner.clean('<div><p>\n&nbsp;&lt;&gt;</p></div>')).toBe('<div><p>&nbsp;&lt;&gt;</p></div>');
181
+ });
182
+ it('should handle comments', () => {
183
+ expect(cleaner.clean('<div>\n<!-- comment -->\n<p>Text</p></div>')).toBe('<div><!-- comment --><p>Text</p></div>');
184
+ });
185
+ });
186
+ });
@@ -0,0 +1,22 @@
1
+ import { RemoveWhitespaceAfterOpeningTagProcessor } from '../../slimmers/controllers/html-cleaner';
2
+ describe('RemoveWhitespaceAfterOpeningTagProcessor', () => {
3
+ let processor;
4
+ beforeEach(() => {
5
+ processor = new RemoveWhitespaceAfterOpeningTagProcessor();
6
+ });
7
+ it('should remove \\n and \\t after opening tag', () => {
8
+ expect(processor.process('<div><p>\n\tHello</p></div>')).toBe('<div><p>Hello</p></div>');
9
+ expect(processor.process('<div><div>\n\n\tWorld</div></div>')).toBe('<div><div>World</div></div>');
10
+ expect(processor.process('<div><span>\tTest</span></div>')).toBe('<div><span>Test</span></div>');
11
+ });
12
+ it('should preserve regular spaces', () => {
13
+ expect(processor.process('<div><p> Hello</p></div>')).toBe('<div><p> Hello</p></div>');
14
+ expect(processor.process('<div><p> World</p></div>')).toBe('<div><p> World</p></div>');
15
+ });
16
+ it('should not affect text without opening tags', () => {
17
+ expect(processor.process('<div>Hello World</div>')).toBe('<div>Hello World</div>');
18
+ });
19
+ it('should handle multiple occurrences', () => {
20
+ expect(processor.process('<div><p>\nHello</p><div>\tWorld</div></div>')).toBe('<div><p>Hello</p><div>World</div></div>');
21
+ });
22
+ });
@@ -0,0 +1,22 @@
1
+ import { RemoveWhitespaceBeforeClosingTagProcessor } from '../../slimmers/controllers/html-cleaner';
2
+ describe('RemoveWhitespaceBeforeClosingTagProcessor', () => {
3
+ let processor;
4
+ beforeEach(() => {
5
+ processor = new RemoveWhitespaceBeforeClosingTagProcessor();
6
+ });
7
+ it('should remove \\n and \\t before closing tag', () => {
8
+ expect(processor.process('<div><p>World\n\t</p></div>')).toBe('<div><p>World</p></div>');
9
+ expect(processor.process('<div><div>Hello\n</div></div>')).toBe('<div><div>Hello</div></div>');
10
+ expect(processor.process('<div><span>Test\t</span></div>')).toBe('<div><span>Test</span></div>');
11
+ });
12
+ it('should preserve regular spaces', () => {
13
+ expect(processor.process('<div><p>Hello </p></div>')).toBe('<div><p>Hello </p></div>');
14
+ expect(processor.process('<div><p>World </p></div>')).toBe('<div><p>World </p></div>');
15
+ });
16
+ it('should not affect text without closing tags', () => {
17
+ expect(processor.process('<div>Hello World</div>')).toBe('<div>Hello World</div>');
18
+ });
19
+ it('should handle multiple occurrences', () => {
20
+ expect(processor.process('<div><p>Hello\n</p><div>World\t</div></div>')).toBe('<div><p>Hello</p><div>World</div></div>');
21
+ });
22
+ });
@@ -0,0 +1,26 @@
1
+ import { RemoveWhitespaceBetweenTagsProcessor } from '../../slimmers/controllers/html-cleaner';
2
+ describe('RemoveWhitespaceBetweenTagsProcessor', () => {
3
+ let processor;
4
+ beforeEach(() => {
5
+ processor = new RemoveWhitespaceBetweenTagsProcessor();
6
+ });
7
+ it('should remove whitespace between different tags', () => {
8
+ expect(processor.process('<div><p></p>\n\t<div></div></div>')).toBe('<div><p></p><div></div></div>');
9
+ expect(processor.process('<div><div>\n\t<span></span></div></div>')).toBe('<div><div><span></span></div></div>');
10
+ expect(processor.process('<div><div></div> <p></p></div>')).toBe('<div><div></div><p></p></div>');
11
+ });
12
+ it('should preserve whitespace between matching tags', () => {
13
+ expect(processor.process('<div><span> </span></div>')).toBe('<div><span> </span></div>');
14
+ expect(processor.process('<div><span> </span></div>')).toBe('<div><span> </span></div>');
15
+ expect(processor.process('<div><span>\n\t</span></div>')).toBe('<div><span>\n\t</span></div>');
16
+ expect(processor.process('<div><code> </code></div>')).toBe('<div><code> </code></div>');
17
+ });
18
+ it('should handle custom elements with hyphens', () => {
19
+ expect(processor.process('<div><my-component> </my-component></div>')).toBe('<div><my-component> </my-component></div>');
20
+ expect(processor.process('<div><my-component></my-component>\n<other-component></other-component></div>')).toBe('<div><my-component></my-component><other-component></other-component></div>');
21
+ });
22
+ it('should handle tags with attributes', () => {
23
+ expect(processor.process('<div><div class="test">\n<span></span></div></div>')).toBe('<div><div class="test"><span></span></div></div>');
24
+ expect(processor.process('<div><span id="test"> </span></div>')).toBe('<div><span id="test"> </span></div>');
25
+ });
26
+ });
@@ -241,7 +241,7 @@ export class VegaSelectionChip {
241
241
  "mutable": false,
242
242
  "complexType": {
243
243
  "original": "VegaSelectionChipTooltipProps",
244
- "resolved": "{ size?: ResponsiveType<SizeType>; trigger?: \"hover\" | \"click\" | \"none\"; positionRelativeTo?: string; minWidth?: ResponsiveType<SizeType>; maxWidth?: ResponsiveType<SizeType>; content?: string; disableInteractive?: boolean; text?: string; placement?: ElementAppenderPlacementType; alignment?: ElementAppenderAlignmentType; }",
244
+ "resolved": "{ size?: ResponsiveType<SizeType>; trigger?: \"click\" | \"hover\" | \"none\"; positionRelativeTo?: string; minWidth?: ResponsiveType<SizeType>; maxWidth?: ResponsiveType<SizeType>; content?: string; disableInteractive?: boolean; text?: string; placement?: ElementAppenderPlacementType; alignment?: ElementAppenderAlignmentType; }",
245
245
  "references": {
246
246
  "VegaSelectionChipTooltipProps": {
247
247
  "location": "import",
@@ -6,6 +6,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
8
8
  import { ElementAppenderSlimmer } from '../../../../helpers/slimmers/element-appender/element-appender-slimmer';
9
+ import { ClickOutsideOnlyToDismissStrategy } from '../../../../helpers/slimmers/element-appender/trigger-strategies/click-outside-only-to-dismiss-strategy';
9
10
  /** The `VegaTimePickerRangeDropdownController` class is responsible for managing the dropdown menu for selecting a range of time in the VegaTimePicker component. */
10
11
  export class VegaTimePickerRangeDropdownController extends ElementAppenderSlimmer {
11
12
  /**
@@ -29,7 +30,7 @@ export class VegaTimePickerRangeDropdownController extends ElementAppenderSlimme
29
30
  placement: ['bottom', 'top'],
30
31
  matchTargetWidth: true,
31
32
  };
32
- }, () => 'custom', 'isRangeDropdownShow');
33
+ }, () => new ClickOutsideOnlyToDismissStrategy(), 'isRangeDropdownShow');
33
34
  this.isRangeDropdownShow = false;
34
35
  this.rangeDropdownType = 'start';
35
36
  /*
@@ -8,6 +8,7 @@ import { MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
8
8
  import { ElementAppenderSlimmer } from '../../../../helpers/slimmers/element-appender/element-appender-slimmer';
9
9
  import { LogUtility } from '../../../../utils/log';
10
10
  import { pad } from '../../../../utils/date';
11
+ import { ClickOutsideOnlyToDismissStrategy } from '../../../../helpers/slimmers/element-appender/trigger-strategies/click-outside-only-to-dismiss-strategy';
11
12
  /** The `VegaTimePickerDropdownController` class is responsible for managing the dropdown functionality of the VegaTimePicker component in a TypeScript application. */
12
13
  export class VegaTimePickerSingleDropdownController extends ElementAppenderSlimmer {
13
14
  /**
@@ -23,7 +24,7 @@ export class VegaTimePickerSingleDropdownController extends ElementAppenderSlimm
23
24
  positionRelativeTo: this.positionRelativeTo,
24
25
  translocation: { X: 0, Y: 8 },
25
26
  placement: ['bottom', 'top'],
26
- }), () => 'custom');
27
+ }), () => new ClickOutsideOnlyToDismissStrategy());
27
28
  }
28
29
  /**
29
30
  * The function initializes a value controller and dropdown source.
@@ -91,6 +91,8 @@ export const VegaNativeEventName = [
91
91
  'clear',
92
92
  'periodChange',
93
93
  'selectionChange',
94
+ 'suggestionItemClick',
95
+ 'nativeInputChange',
94
96
  ];
95
97
  // eslint-disable-next-line @typescript-eslint/typedef
96
98
  export const CssStates = ['default', 'hover', 'active', 'focus-visible'];
@@ -5,6 +5,7 @@ class CodeFormatter {
5
5
  constructor() {
6
6
  /**
7
7
  * Formats a given HTML source string by applying indentation and cleaning up styles.
8
+ * Content inside preserve tags (pre) is preserved as-is without formatting.
8
9
  *
9
10
  * @param {string} source - The HTML source string to format.
10
11
  * @param {CodeFormatOptions} options - Formatting options.
@@ -19,9 +20,25 @@ class CodeFormatter {
19
20
  const tokens = source.split(tagRegex).filter((t) => t.length > 0);
20
21
  let indentLevel = 0;
21
22
  let output = '';
23
+ let preserveDepth = 0;
22
24
  for (let i = 0; i < tokens.length; i++) {
23
25
  let token = tokens[i];
24
- // Decrease indentation for closing tags
26
+ const tagName = CodeFormatter.getTagName(token);
27
+ // Track if we're entering or exiting preserve tags
28
+ if (CodeFormatter.PRESERVE_CONTENT_TAGS.has(tagName)) {
29
+ if (token.startsWith('</')) {
30
+ preserveDepth = Math.max(0, preserveDepth - 1);
31
+ }
32
+ else if (token.startsWith('<')) {
33
+ preserveDepth++;
34
+ }
35
+ }
36
+ // If inside preserve tag, output as-is without formatting
37
+ if (preserveDepth > 0) {
38
+ output += token;
39
+ continue;
40
+ }
41
+ // Decrease indentation for closing tags (after exiting preserve tags)
25
42
  if (token.startsWith('</')) {
26
43
  indentLevel = Math.max(0, indentLevel - 1);
27
44
  }
@@ -31,15 +48,20 @@ class CodeFormatter {
31
48
  token = token.replace(/style\s*=\s*"([^"]*)"/g, (_, styleContent) => {
32
49
  return `style="${this.formatStyle(styleContent)}"`;
33
50
  });
34
- const tagName = CodeFormatter.getTagName(token);
35
51
  const isInline = CodeFormatter.INLINE_TAGS.has(tagName);
36
- // Inline tag grouping: e.g., <strong>Text</strong> stays on one line
37
- if (isInline && i + 2 < tokens.length && tokens[i + 2] === `</${tagName}>`) {
38
- // Group consecutive inline tags
52
+ // Inline tag grouping: e.g., <strong>Text</strong> or <span></span> stays on one line
53
+ // Check for empty tags: <tag></tag> (closing tag immediately follows opening tag)
54
+ if (isInline && i + 1 < tokens.length && tokens[i + 1] === `</${tagName}>`) {
55
+ // Empty inline tag: <span></span>
56
+ output += `${indent}${token}${tokens[i + 1]}\n`;
57
+ i += 1;
58
+ }
59
+ else if (isInline && i + 2 < tokens.length && tokens[i + 2] === `</${tagName}>`) {
60
+ // Group consecutive inline tags with content
39
61
  let inlineGroup = `${token}${tokens[i + 1]}${tokens[i + 2]}`;
40
62
  i += 2;
41
63
  // Keep merging consecutive inline tag pairs
42
- while (i + 2 < tokens.length &&
64
+ while (i + 3 < tokens.length &&
43
65
  tokens[i + 1].startsWith('<') &&
44
66
  CodeFormatter.INLINE_TAGS.has(CodeFormatter.getTagName(tokens[i + 1])) &&
45
67
  tokens[i + 3] === `</${CodeFormatter.getTagName(tokens[i + 1])}>`) {
@@ -53,7 +75,7 @@ class CodeFormatter {
53
75
  // Increase indentation for non-void opening tags
54
76
  if (!token.startsWith('</') &&
55
77
  !token.endsWith('/>') &&
56
- !/^<br|^<img|^<meta|^<input|^<hr/i.test(token)) {
78
+ !CodeFormatter.VOID_TAGS.has(tagName)) {
57
79
  indentLevel++;
58
80
  }
59
81
  }
@@ -94,6 +116,10 @@ class CodeFormatter {
94
116
  .join('; ');
95
117
  }
96
118
  }
119
+ /**
120
+ * Inline/phrasing elements that should be kept on a single line with their content.
121
+ * These tags are formatted as: <tag>content</tag> on one line.
122
+ */
97
123
  CodeFormatter.INLINE_TAGS = new Set([
98
124
  'span',
99
125
  'strong',
@@ -113,4 +139,28 @@ CodeFormatter.INLINE_TAGS = new Set([
113
139
  'del',
114
140
  'ins',
115
141
  ]);
142
+ /**
143
+ * Void/self-closing elements that don't have closing tags.
144
+ * Used to avoid increasing indentation for these elements.
145
+ */
146
+ CodeFormatter.VOID_TAGS = new Set([
147
+ 'area',
148
+ 'base',
149
+ 'br',
150
+ 'col',
151
+ 'embed',
152
+ 'hr',
153
+ 'img',
154
+ 'input',
155
+ 'link',
156
+ 'meta',
157
+ 'param',
158
+ 'source',
159
+ 'track',
160
+ 'wbr',
161
+ ]);
162
+ /**
163
+ * Tags whose content should be preserved as-is without formatting.
164
+ */
165
+ CodeFormatter.PRESERVE_CONTENT_TAGS = new Set(['pre']);
116
166
  export default new CodeFormatter();
@@ -359,4 +359,52 @@ describe('Code formatter', () => {
359
359
  ]).toHtml();
360
360
  expect(CodeFormatter.format(input)).toMatchSnapshot();
361
361
  });
362
+ it('should preserve pre content without formatting', () => {
363
+ const input = `<pre>
364
+ S
365
+ A
366
+ LUT
367
+ M
368
+ O N
369
+ D E
370
+ DONT
371
+ JE SUIS
372
+ LA LAN
373
+ G U E É
374
+ L O Q U E N
375
+ TE QUESA
376
+ B O U C H E
377
+ O P A R I S
378
+ T I R E ET TIRERA
379
+ T O U JOURS
380
+ AUX A L
381
+ LEM ANDS - Apollinaire
382
+ </pre>
383
+ `;
384
+ expect(CodeFormatter.format(input)).toMatchSnapshot();
385
+ });
386
+ it('should format empty inline tags on a single line', () => {
387
+ const input = `<p><span></span></p>`;
388
+ const output = CodeFormatter.format(input);
389
+ expect(output).toMatchSnapshot();
390
+ // Verify empty span stays inline
391
+ expect(output).toContain('<span></span>');
392
+ expect(output).not.toContain('<span>\n');
393
+ });
394
+ it('should format multiple empty inline tags', () => {
395
+ const input = `<p><span></span><strong></strong><em></em></p>`;
396
+ const output = CodeFormatter.format(input);
397
+ expect(output).toMatchSnapshot();
398
+ // Verify all empty inline tags stay inline
399
+ expect(output).toContain('<span></span>');
400
+ expect(output).toContain('<strong></strong>');
401
+ expect(output).toContain('<em></em>');
402
+ });
403
+ it('should format mixed empty and non-empty inline tags', () => {
404
+ const input = `<p><span></span><strong>Text</strong><em></em></p>`;
405
+ const output = CodeFormatter.format(input);
406
+ expect(output).toMatchSnapshot();
407
+ expect(output).toContain('<span></span>');
408
+ expect(output).toContain('<em></em>');
409
+ });
362
410
  });
@@ -1,4 +1,4 @@
1
- import { VegaExpand, VegaClick, VegaDropdownClick, VegaReset, VegaClose, VegaActionButtonClick, VegaChange, VegaEventClick, VegaDateDblClick, VegaMoreActionClick, VegaDateClick, VegaPageUpdate, VegaRemove, VegaCreate, VegaSearch, VegaMonthYearChange, VegaClear, VegaSelectionChange, VegaDropdownShow, VegaDropdownHide, VegaDropdownSearch, VegaSearchTrigger, VegaLabelButtonClick, VegaSelectFileChange, VegaRetry, VegaPreview, VegaFormSubmit, VegaFormReset, VegaValidate, VegaCancel, VegaFocus, VegaBlur, VegaPaste, VegaComplete, VegaCountryChange, VegaShow, VegaHide, VegaToggleStatus, VegaOpen, VegaStateUpdate, VegaGroupClick, VegaMenuClick, VegaActionClick, VegaPageSizeChange, VegaPopoverShow, VegaPopoverHide, VegaCurrentStepUpdate, VegaImageInserted, VegaSelectChange, VegaSelectAllChange, VegaRowClick, VegaRowExpand, VegaRowSelect, VegaRowSelectAll, } from './vega-event-id';
1
+ import { VegaExpand, VegaClick, VegaDropdownClick, VegaReset, VegaClose, VegaActionButtonClick, VegaChange, VegaEventClick, VegaDateDblClick, VegaMoreActionClick, VegaDateClick, VegaPageUpdate, VegaRemove, VegaCreate, VegaSearch, VegaMonthYearChange, VegaClear, VegaSelectionChange, VegaDropdownShow, VegaDropdownHide, VegaDropdownSearch, VegaSearchTrigger, VegaLabelButtonClick, VegaSelectFileChange, VegaRetry, VegaPreview, VegaFormSubmit, VegaFormReset, VegaValidate, VegaCancel, VegaNativeInputChange, VegaFocus, VegaBlur, VegaSuggestionItemClick, VegaPaste, VegaComplete, VegaCountryChange, VegaShow, VegaHide, VegaToggleStatus, VegaOpen, VegaStateUpdate, VegaGroupClick, VegaMenuClick, VegaActionClick, VegaPageSizeChange, VegaPopoverShow, VegaPopoverHide, VegaCurrentStepUpdate, VegaImageInserted, VegaSelectChange, VegaSelectAllChange, VegaRowClick, VegaRowExpand, VegaRowSelect, VegaRowSelectAll, } from './vega-event-id';
2
2
  const entries = [
3
3
  ['vega-accordion', [VegaExpand]],
4
4
  ['vega-app-header-button', [VegaClick, VegaDropdownClick, VegaReset]],
@@ -35,7 +35,18 @@ const entries = [
35
35
  ['vega-file-uploader', [VegaChange, VegaSelectFileChange, VegaRemove, VegaRetry, VegaPreview]],
36
36
  ['vega-form', [VegaFormSubmit, VegaFormReset, VegaValidate]],
37
37
  ['vega-image-uploader', [VegaChange, VegaRemove, VegaCancel]],
38
- ['vega-input', [VegaChange, VegaFocus, VegaBlur, VegaLabelButtonClick, VegaPaste]],
38
+ [
39
+ 'vega-input',
40
+ [
41
+ VegaChange,
42
+ VegaNativeInputChange,
43
+ VegaFocus,
44
+ VegaBlur,
45
+ VegaLabelButtonClick,
46
+ VegaSuggestionItemClick,
47
+ VegaPaste,
48
+ ],
49
+ ],
39
50
  ['vega-input-credit-card', [VegaChange, VegaBlur, VegaFocus]],
40
51
  ['vega-input-numeric', [VegaChange]],
41
52
  ['vega-input-passcode', [VegaChange, VegaComplete]],
@@ -107,3 +107,5 @@ export const VegaPaste = new VegaEventID('vegaPaste', 'paste');
107
107
  export const HTMLNativeEventIds = [VegaChange, VegaClick, VegaFocus, VegaBlur, VegaPaste];
108
108
  export const VegaMonthYearChange = new VegaEventID('vegaMonthYearChange', 'monthYearChange');
109
109
  export const VegaSelectionChange = new VegaEventID('vegaSelectionChange', 'selectionChange');
110
+ export const VegaSuggestionItemClick = new VegaEventID('vegaSuggestionItemClick', 'suggestionItemClick');
111
+ export const VegaNativeInputChange = new VegaEventID('vegaNativeInputChange', 'nativeInputChange');
@@ -1,14 +1,16 @@
1
1
  import { VEGA_COMPONENT_EVENT_MAP } from '../event-id/component-event-id-map';
2
- import { VegaBlur, VegaChange, VegaFocus, VegaLabelButtonClick, VegaPaste } from '../event-id/vega-event-id';
2
+ import { VegaBlur, VegaChange, VegaFocus, VegaLabelButtonClick, VegaNativeInputChange, VegaPaste, VegaSuggestionItemClick, } from '../event-id/vega-event-id';
3
3
  test('VEGA_COMPONENT_EVENT_MAP size', () => {
4
4
  expect(VEGA_COMPONENT_EVENT_MAP.size).not.toEqual(0);
5
5
  });
6
6
  test('VEGA_COMPONENT_EVENT_MAP vega-input', () => {
7
7
  expect(VEGA_COMPONENT_EVENT_MAP.get('vega-input')).toEqual([
8
8
  VegaChange,
9
+ VegaNativeInputChange,
9
10
  VegaFocus,
10
11
  VegaBlur,
11
12
  VegaLabelButtonClick,
13
+ VegaSuggestionItemClick,
12
14
  VegaPaste,
13
15
  ]);
14
16
  });
@@ -1,5 +1,5 @@
1
1
  import { VegaEventManager } from '../../public-api';
2
- import { VegaBlur, VegaChange, VegaCreate, VegaDropdownClick, VegaDropdownHide, VegaDropdownSearch, VegaDropdownShow, VegaFocus, VegaLabelButtonClick, VegaPaste, VegaReset, VegaSearchTrigger, } from '../event-id/vega-event-id';
2
+ import { VegaBlur, VegaChange, VegaCreate, VegaDropdownClick, VegaDropdownHide, VegaDropdownSearch, VegaDropdownShow, VegaFocus, VegaLabelButtonClick, VegaNativeInputChange, VegaPaste, VegaReset, VegaSearchTrigger, VegaSuggestionItemClick, } from '../event-id/vega-event-id';
3
3
  import VegaTelemetryRuntimeMetricsManager from '@globalpayments/vega-telemetry-runtime-metrics/index';
4
4
  import { sleep } from '../../../utils/test-utils';
5
5
  describe('VegaEventManager', () => {
@@ -20,9 +20,11 @@ describe('VegaEventManager', () => {
20
20
  it('should work proper while call getNativeEventName', () => {
21
21
  expect(VegaEventManager.getEnabledEventIdsByComponent('vega-input')).toEqual([
22
22
  VegaChange,
23
+ VegaNativeInputChange,
23
24
  VegaFocus,
24
25
  VegaBlur,
25
26
  VegaLabelButtonClick,
27
+ VegaSuggestionItemClick,
26
28
  VegaPaste,
27
29
  ]);
28
30
  expect(VegaEventManager.getEnabledEventIdsByComponent('vega-dropdown')).toEqual([