@globalpayments/vega 2.73.0 → 2.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (410) hide show
  1. package/dist/cjs/{app-globals-cc162173.js → app-globals-bf183914.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-cbc01283.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-2fc24151.js} +21 -5
  10. package/dist/cjs/{element-appender-slimmer-12f40b8b.js → element-appender-slimmer-318d29c7.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-ca9aa115.js} +5 -5
  14. package/dist/cjs/{image-annotation-action-7408a4b3.js → image-annotation-action-e4a35325.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-38e4905e.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-661823fa.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-f71d399c.js} +4 -4
  27. package/dist/cjs/{rich-text-editor-required-rule-4aab05a3.js → rich-text-editor-required-rule-d5feeffd.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-566df206.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 +30 -20
  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/content-state.js +18 -2
  132. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +1 -1
  133. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +6 -2
  134. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +6 -0
  135. package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +5 -0
  136. package/dist/collection/components/vega-selection-chip/vega-selection-chip.js +1 -1
  137. package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-range-dropdown-controller.js +2 -1
  138. package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-single-dropdown-controller.js +2 -1
  139. package/dist/collection/constants/ui.js +2 -0
  140. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +13 -2
  141. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +2 -0
  142. package/dist/collection/helpers/event-manager/test/component-event-id-map.test.js +3 -1
  143. package/dist/collection/helpers/event-manager/test/vega-event-manager.test.js +3 -1
  144. package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +60 -32
  145. package/dist/collection/helpers/slimmers/element-appender/test/element-appender-slimmer.test.js +3 -2
  146. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/click-outside-only-to-dismiss-strategy.js +28 -0
  147. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/click-trigger-strategy.js +33 -0
  148. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/hover-trigger-strategy.js +42 -0
  149. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/none-trigger-strategy.js +22 -0
  150. package/dist/collection/helpers/slimmers/element-appender/trigger-strategies/trigger-strategy.interface.js +1 -0
  151. package/dist/collection/types/test/type-guard.test.js +8 -1
  152. package/dist/collection/types/type-guard.js +11 -0
  153. package/dist/collection/utils/sanitize.js +126 -0
  154. package/dist/collection/utils/test/sanitize.test.js +65 -0
  155. package/dist/esm/{app-globals-949d2e18.js → app-globals-f3414aca.js} +8 -8
  156. package/dist/esm/{child-nodes-event-prevent-slimmer-e6f98de5.js → child-nodes-event-prevent-slimmer-e662bee2.js} +1 -1
  157. package/dist/esm/click-outside-only-to-dismiss-strategy-3d286c1b.js +30 -0
  158. package/dist/esm/{code-block-666674d7.js → code-block-8ee34ab6.js} +3 -3
  159. package/dist/esm/{component-value-history-controller-slimmer.abstract-171dda08.js → component-value-history-controller-slimmer.abstract-a61bf821.js} +4 -4
  160. package/dist/esm/{date-required-rule-a9980386.js → date-required-rule-47ecc28f.js} +1 -1
  161. package/dist/esm/{design-token-9b510e59.js → design-token-9b299589.js} +2 -2
  162. package/dist/esm/{dom-node-subject-observer-factory-1aaa1159.js → dom-node-subject-observer-factory-064ee2b2.js} +3 -1
  163. package/dist/esm/{dto-renderer-manager-49ae5d56.js → dto-renderer-manager-f07cf2d9.js} +21 -5
  164. package/dist/esm/{element-appender-slimmer-b9890dcb.js → element-appender-slimmer-7cb08343.js} +160 -36
  165. package/dist/esm/{event-emit-slimmer-2d791d0e.js → event-emit-slimmer-09827cec.js} +2 -2
  166. package/dist/esm/{form-field-controller-slimmer-257928c1.js → form-field-controller-slimmer-5d9dc384.js} +2 -2
  167. package/dist/esm/{function-extension-8b06c6f8.js → function-extension-63028f20.js} +5 -5
  168. package/dist/esm/{image-annotation-action-b3eea6a2.js → image-annotation-action-53529cd9.js} +3 -3
  169. package/dist/esm/{index-0d487fae.js → index-51a7da7f.js} +1 -1
  170. package/dist/esm/index.js +15 -15
  171. package/dist/esm/{inject-keyboard-manager-9241968c.js → inject-keyboard-manager-83d76ff5.js} +1 -1
  172. package/dist/esm/{internal-vega-event-manager-fdee2a0a.js → internal-vega-event-manager-efb6786e.js} +13 -2
  173. package/dist/esm/{keyboard-manager-89acac79.js → keyboard-manager-c92808d8.js} +1 -1
  174. package/dist/esm/{keyboard-manager-slimmer-e303cb7d.js → keyboard-manager-slimmer-79c78ce8.js} +1 -1
  175. package/dist/esm/{language-extension-b3f836d4.js → language-extension-c4ff21dd.js} +2 -2
  176. package/dist/esm/loader.js +11 -11
  177. package/dist/esm/{month-view-generator-4bec99fd.js → month-view-generator-16192182.js} +1 -1
  178. package/dist/esm/{public-rules-b164e40e.js → public-rules-6ebdfcf5.js} +7 -7
  179. package/dist/esm/{range-9cc1422b.js → range-5257c062.js} +1 -1
  180. package/dist/esm/{responsive-format-facade-94897ae8.js → responsive-format-facade-05e53016.js} +4 -4
  181. package/dist/esm/{rich-text-editor-required-rule-2131f21c.js → rich-text-editor-required-rule-f63a37d1.js} +1 -1
  182. package/dist/esm/sanitize-fd0cb40d.js +129 -0
  183. package/dist/esm/{string-format-strategy.abstract-75540c16.js → string-format-strategy.abstract-fc60db79.js} +1 -1
  184. package/dist/esm/{string-input-formatter-slimmer-3a42d9b8.js → string-input-formatter-slimmer-ee32b1fd.js} +3 -3
  185. package/dist/esm/{string-mask-strategy-4a18ed1a.js → string-mask-strategy-0b0accaa.js} +2 -2
  186. package/dist/esm/{style-formatter-bb5aec96.js → style-formatter-5f5bd714.js} +2 -2
  187. package/dist/esm/{sub-state-notify-slimmer-71b9bbd5.js → sub-state-notify-slimmer-4453047a.js} +1 -1
  188. package/dist/esm/{sub-state-observer-slimmer-41a1b380.js → sub-state-observer-slimmer-202ec7dc.js} +1 -1
  189. package/dist/esm/{time-required-rule-8ec1faf5.js → time-required-rule-5fa43804.js} +1 -1
  190. package/dist/esm/{type-guard-b48aec98.js → type-guard-c65a227d.js} +12 -1
  191. package/dist/esm/{valid-credit-card-number-rule-96eaf9b1.js → valid-credit-card-number-rule-666c415d.js} +1 -1
  192. package/dist/esm/vega-accordion.entry.js +9 -9
  193. package/dist/esm/vega-app-header-button.entry.js +10 -10
  194. package/dist/esm/vega-banner.entry.js +3 -3
  195. package/dist/esm/vega-box.entry.js +9 -9
  196. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  197. package/dist/esm/vega-button-circle.entry.js +10 -10
  198. package/dist/esm/vega-button-group_2.entry.js +6 -6
  199. package/dist/esm/vega-button-link.entry.js +4 -4
  200. package/dist/esm/vega-button.entry.js +9 -9
  201. package/dist/esm/vega-calendar_4.entry.js +8 -8
  202. package/dist/esm/vega-card.entry.js +8 -8
  203. package/dist/esm/vega-carousel.entry.js +8 -8
  204. package/dist/esm/vega-checkbox_2.entry.js +6 -6
  205. package/dist/esm/vega-chip.entry.js +10 -10
  206. package/dist/esm/vega-code-block.entry.js +10 -10
  207. package/dist/esm/vega-color-picker.entry.js +5 -5
  208. package/dist/esm/vega-combo-box.entry.js +11 -10
  209. package/dist/esm/vega-date-picker_2.entry.js +389 -342
  210. package/dist/esm/vega-dialog_2.entry.js +10 -10
  211. package/dist/esm/vega-divider.entry.js +8 -8
  212. package/dist/esm/vega-dropdown_5.entry.js +49 -21
  213. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  214. package/dist/esm/vega-field-label.entry.js +3 -3
  215. package/dist/esm/vega-file-uploader.entry.js +5 -5
  216. package/dist/esm/vega-flag-icon.entry.js +8 -8
  217. package/dist/esm/vega-flex.entry.js +9 -9
  218. package/dist/esm/vega-font.entry.js +8 -8
  219. package/dist/esm/vega-form.entry.js +8 -8
  220. package/dist/esm/vega-grid.entry.js +8 -8
  221. package/dist/esm/vega-icon.entry.js +8 -8
  222. package/dist/esm/vega-image-uploader.entry.js +11 -11
  223. package/dist/esm/vega-input-credit-card.entry.js +10 -10
  224. package/dist/esm/vega-input-numeric.entry.js +10 -10
  225. package/dist/esm/vega-input-passcode.entry.js +9 -9
  226. package/dist/esm/vega-input-phone-number.entry.js +11 -11
  227. package/dist/esm/vega-input-range.entry.js +6 -6
  228. package/dist/esm/vega-input-select.entry.js +187 -54
  229. package/dist/esm/vega-input.entry.js +340 -99
  230. package/dist/esm/vega-item-toggle.entry.js +3 -3
  231. package/dist/esm/vega-left-nav_5.entry.js +11 -11
  232. package/dist/esm/vega-loader-wrapper_2.entry.js +7 -7
  233. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  234. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +3 -3
  235. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +1 -1
  236. package/dist/esm/vega-pagination.entry.js +9 -9
  237. package/dist/esm/vega-popover_2.entry.js +12 -12
  238. package/dist/esm/vega-progress-tracker_2.entry.js +10 -10
  239. package/dist/esm/vega-radio_2.entry.js +9 -9
  240. package/dist/esm/vega-rich-text-content.entry.js +7 -7
  241. package/dist/esm/vega-rich-text-editor_4.entry.js +30 -20
  242. package/dist/esm/vega-segment-control.entry.js +3 -3
  243. package/dist/esm/vega-selection-chip_2.entry.js +12 -12
  244. package/dist/esm/vega-selection-tile_2.entry.js +7 -7
  245. package/dist/esm/vega-sidenav_3.entry.js +10 -10
  246. package/dist/esm/vega-signature-capture.entry.js +11 -11
  247. package/dist/esm/vega-stepper.entry.js +6 -6
  248. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  249. package/dist/esm/vega-table_11.entry.js +11 -11
  250. package/dist/esm/vega-textarea.entry.js +6 -6
  251. package/dist/esm/vega-time-picker_2.entry.js +18 -17
  252. package/dist/esm/vega-toggle-switch.entry.js +5 -5
  253. package/dist/esm/vega-tooltip_2.entry.js +10 -10
  254. package/dist/esm/vega.js +11 -11
  255. package/dist/sri/vega-sri-manifest.json +326 -318
  256. package/dist/types/components/vega-date-picker/assets/icons.d.ts +1 -1
  257. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.d.ts +20 -0
  258. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +1 -0
  259. 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
  260. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.d.ts +4 -9
  261. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.d.ts +2 -0
  262. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.d.ts +2 -0
  263. package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.d.ts +1 -0
  264. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +14 -2
  265. package/dist/types/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.d.ts +27 -0
  266. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-renderer.d.ts +1 -0
  267. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.d.ts +40 -0
  268. package/dist/types/components/vega-input/slimmers/renderers/vega-input-renderer.d.ts +3 -0
  269. package/dist/types/components/vega-input/types.d.ts +4 -0
  270. package/dist/types/components/vega-input/vega-input.d.ts +55 -1
  271. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-item-controller.d.ts +29 -0
  272. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-source-controller.d.ts +1 -0
  273. package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-value-controller.d.ts +1 -0
  274. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +1 -1
  275. package/dist/types/components/vega-input-select/types.d.ts +5 -0
  276. package/dist/types/components/vega-input-select/vega-input-select.d.ts +12 -4
  277. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +8 -1
  278. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +1 -0
  279. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +1 -0
  280. package/dist/types/components.d.ts +65 -11
  281. package/dist/types/constants/ui.d.ts +1 -1
  282. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +2 -0
  283. package/dist/types/helpers/slimmers/element-appender/element-appender-slimmer.d.ts +4 -9
  284. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/click-outside-only-to-dismiss-strategy.d.ts +21 -0
  285. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/click-trigger-strategy.d.ts +21 -0
  286. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/hover-trigger-strategy.d.ts +22 -0
  287. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/none-trigger-strategy.d.ts +18 -0
  288. package/dist/types/helpers/slimmers/element-appender/trigger-strategies/trigger-strategy.interface.d.ts +37 -0
  289. package/dist/types/types/components.type.d.ts +3 -0
  290. package/dist/types/types/type-guard.d.ts +8 -0
  291. package/dist/types/types/ui.type.d.ts +9 -0
  292. package/dist/types/utils/sanitize.d.ts +71 -0
  293. package/dist/types/utils/test/sanitize.test.d.ts +1 -0
  294. package/dist/vega/index.esm.js +1 -1
  295. package/dist/vega/{p-44bc9ea9.entry.js → p-011b94b1.entry.js} +1 -1
  296. package/dist/vega/{p-1e019406.js → p-06aaced4.js} +1 -1
  297. package/dist/vega/{p-38ed3d59.entry.js → p-07d3df01.entry.js} +1 -1
  298. package/dist/vega/{p-c2ac6b47.entry.js → p-08f18b22.entry.js} +1 -1
  299. package/dist/vega/{p-8fba7f9a.js → p-1298b126.js} +1 -1
  300. package/dist/vega/{p-9b673fd4.entry.js → p-17c55205.entry.js} +1 -1
  301. package/dist/vega/{p-161b9c5b.js → p-1f83cebf.js} +1 -1
  302. package/dist/vega/{p-7f86b3c8.js → p-20ad42be.js} +1 -1
  303. package/dist/vega/p-22b2841f.entry.js +1 -0
  304. package/dist/vega/{p-e88f2dc3.js → p-22c5d83b.js} +1 -1
  305. package/dist/vega/{p-2bc4f7d9.entry.js → p-34246870.entry.js} +1 -1
  306. package/dist/vega/p-35bf5789.entry.js +1 -0
  307. package/dist/vega/{p-a125cfec.entry.js → p-3bbc0c7d.entry.js} +1 -1
  308. package/dist/vega/{p-59fa3f68.js → p-3bf66be2.js} +1 -1
  309. package/dist/vega/{p-6e84e451.entry.js → p-3c5a28e4.entry.js} +1 -1
  310. package/dist/vega/p-3cfd8616.entry.js +1 -0
  311. package/dist/vega/p-3e5f362f.js +1 -0
  312. package/dist/vega/p-43f585f7.entry.js +1 -0
  313. package/dist/vega/p-476a173a.js +1 -0
  314. package/dist/vega/p-4a537391.entry.js +1 -0
  315. package/dist/vega/{p-82dbff54.entry.js → p-509eb52e.entry.js} +1 -1
  316. package/dist/vega/{p-5f09868d.entry.js → p-50ab977c.entry.js} +1 -1
  317. package/dist/vega/p-53a694d1.entry.js +1 -0
  318. package/dist/vega/{p-79a544d6.js → p-56e97df8.js} +1 -1
  319. package/dist/vega/{p-e39aa2ea.entry.js → p-5a27084e.entry.js} +1 -1
  320. package/dist/vega/{p-03e16a05.entry.js → p-5df9a856.entry.js} +1 -1
  321. package/dist/vega/{p-94cf46ca.entry.js → p-5ea2e43c.entry.js} +1 -1
  322. package/dist/vega/p-5f377954.js +1 -1
  323. package/dist/vega/p-60274fb1.js +1 -0
  324. package/dist/vega/{p-de70aac1.js → p-60851f9d.js} +1 -1
  325. package/dist/vega/{p-0ad59141.entry.js → p-60da99c6.entry.js} +1 -1
  326. package/dist/vega/{p-f2c8c363.js → p-66fa700b.js} +1 -1
  327. package/dist/vega/{p-114c6df8.entry.js → p-67f18b9e.entry.js} +1 -1
  328. package/dist/vega/{p-623c3911.entry.js → p-67fcf6f2.entry.js} +1 -1
  329. package/dist/vega/{p-676eaf3f.entry.js → p-6a2205a1.entry.js} +1 -1
  330. package/dist/vega/{p-b007d0d5.entry.js → p-6a4277df.entry.js} +1 -1
  331. package/dist/vega/{p-30e7544c.js → p-6e136980.js} +1 -1
  332. package/dist/vega/p-6f239144.entry.js +1 -0
  333. package/dist/vega/{p-bf61d136.js → p-6f8be8ea.js} +1 -1
  334. package/dist/vega/p-7045e84c.entry.js +1 -0
  335. package/dist/vega/{p-3566ad76.js → p-7288f8c4.js} +1 -1
  336. package/dist/vega/{p-721b2981.entry.js → p-747d6afc.entry.js} +1 -1
  337. package/dist/vega/{p-40561fa0.entry.js → p-75651f32.entry.js} +1 -1
  338. package/dist/vega/{p-5be29f14.js → p-77edf50c.js} +1 -1
  339. package/dist/vega/p-7ae55fd5.js +1 -0
  340. package/dist/vega/{p-9fb71d8c.entry.js → p-81134e9e.entry.js} +1 -1
  341. package/dist/vega/p-8187878e.js +1 -0
  342. package/dist/vega/p-87238c4c.entry.js +1 -0
  343. package/dist/vega/{p-21e7808a.entry.js → p-8a887843.entry.js} +1 -1
  344. package/dist/vega/{p-2ae5ad30.entry.js → p-8c0eb12f.entry.js} +1 -1
  345. package/dist/vega/p-8d0ca805.js +1 -0
  346. package/dist/vega/{p-f6cd7a08.entry.js → p-8e42a14c.entry.js} +1 -1
  347. package/dist/vega/{p-9dfe2bbc.js → p-91ec2e30.js} +1 -1
  348. package/dist/vega/{p-a8dad05d.js → p-920719ad.js} +1 -1
  349. package/dist/vega/{p-a58bdbad.entry.js → p-94394df7.entry.js} +1 -1
  350. package/dist/vega/p-991008a8.entry.js +1 -0
  351. package/dist/vega/p-a20854d6.entry.js +1 -0
  352. package/dist/vega/{p-a4ec6575.js → p-a2aeb646.js} +1 -1
  353. package/dist/vega/{p-2409a475.entry.js → p-a530797f.entry.js} +1 -1
  354. package/dist/vega/{p-f3831dc9.entry.js → p-a5bd3c15.entry.js} +1 -1
  355. package/dist/vega/{p-70b2906a.entry.js → p-a65941d0.entry.js} +1 -1
  356. package/dist/vega/{p-be0b67b8.entry.js → p-a85ad369.entry.js} +1 -1
  357. package/dist/vega/{p-42a283b5.entry.js → p-a86010f7.entry.js} +1 -1
  358. package/dist/vega/{p-6e701542.entry.js → p-aa10eeb3.entry.js} +1 -1
  359. package/dist/vega/{p-7be3aefc.entry.js → p-ab2f35af.entry.js} +1 -1
  360. package/dist/vega/{p-c0036e71.js → p-ac4563d7.js} +1 -1
  361. package/dist/vega/{p-ce2ffff7.js → p-aedf7146.js} +1 -1
  362. package/dist/vega/p-b4ea3fad.js +1 -0
  363. package/dist/vega/{p-d991fb11.js → p-badad9ed.js} +1 -1
  364. package/dist/vega/{p-c7194674.entry.js → p-bb4a558d.entry.js} +1 -1
  365. package/dist/vega/{p-4957f07a.entry.js → p-bb8339ed.entry.js} +1 -1
  366. package/dist/vega/{p-6b9d2996.entry.js → p-be930e85.entry.js} +1 -1
  367. package/dist/vega/{p-398220f5.entry.js → p-bf2bd6d0.entry.js} +1 -1
  368. package/dist/vega/{p-ead1da57.entry.js → p-c379a5a5.entry.js} +1 -1
  369. package/dist/vega/{p-2971b17a.js → p-c8f1b9d5.js} +1 -1
  370. package/dist/vega/{p-184d8443.js → p-c9b6b5a9.js} +1 -1
  371. package/dist/vega/{p-9d8e2939.entry.js → p-ca3472c1.entry.js} +1 -1
  372. package/dist/vega/{p-2e0deef6.js → p-cc43bffb.js} +1 -1
  373. package/dist/vega/{p-74a77cad.js → p-ce1a2982.js} +1 -1
  374. package/dist/vega/{p-d1d0f08a.js → p-d0e31633.js} +1 -1
  375. package/dist/vega/{p-75d91ee9.entry.js → p-d6ed3d76.entry.js} +1 -1
  376. package/dist/vega/{p-6c1ef2ed.js → p-dd11f735.js} +1 -1
  377. package/dist/vega/{p-adc615a4.entry.js → p-e1610196.entry.js} +1 -1
  378. package/dist/vega/{p-3d85411d.js → p-e16b3adf.js} +1 -1
  379. package/dist/vega/{p-a3c4fa30.entry.js → p-e87b0b4a.entry.js} +1 -1
  380. package/dist/vega/{p-a5d4d168.entry.js → p-e9c4fd24.entry.js} +1 -1
  381. package/dist/vega/{p-7a8c4cf8.entry.js → p-eb60cfe1.entry.js} +1 -1
  382. package/dist/vega/{p-2b20a215.entry.js → p-ef001c70.entry.js} +1 -1
  383. package/dist/vega/{p-dd72ad9e.js → p-f383c856.js} +1 -1
  384. package/dist/vega/{p-c7f292dd.entry.js → p-f3c3ff26.entry.js} +1 -1
  385. package/dist/vega/{p-7f9acdf7.entry.js → p-f52a0155.entry.js} +1 -1
  386. package/dist/vega/{p-96797fee.entry.js → p-f8f7cf48.entry.js} +1 -1
  387. package/dist/vega/{p-f427d88c.entry.js → p-fba14ad2.entry.js} +1 -1
  388. package/dist/vega/{p-7b337fd4.entry.js → p-fbd64f9c.entry.js} +1 -1
  389. package/dist/vega/{p-db62b038.entry.js → p-fdc270b8.entry.js} +1 -1
  390. package/dist/vega/p-fe12eff6.js +1 -0
  391. package/dist/vega/{p-0ba0f83d.entry.js → p-ffbff9b5.entry.js} +1 -1
  392. package/dist/vega/vega.esm.js +1 -1
  393. package/package.json +1 -1
  394. package/dist/vega/p-1faef917.entry.js +0 -1
  395. package/dist/vega/p-207cfa6a.js +0 -1
  396. package/dist/vega/p-21cba83b.entry.js +0 -1
  397. package/dist/vega/p-2f592078.entry.js +0 -1
  398. package/dist/vega/p-3162a7fd.entry.js +0 -1
  399. package/dist/vega/p-3938880f.entry.js +0 -1
  400. package/dist/vega/p-524ffc12.entry.js +0 -1
  401. package/dist/vega/p-697eb0e1.js +0 -1
  402. package/dist/vega/p-76e6c13a.js +0 -1
  403. package/dist/vega/p-8bd496b4.js +0 -1
  404. package/dist/vega/p-9a83a6b0.js +0 -1
  405. package/dist/vega/p-aab0deab.js +0 -1
  406. package/dist/vega/p-b406a846.entry.js +0 -1
  407. package/dist/vega/p-bd60c72e.entry.js +0 -1
  408. package/dist/vega/p-c4700277.entry.js +0 -1
  409. package/dist/vega/p-d01fe83d.entry.js +0 -1
  410. package/dist/vega/p-f38a4be2.entry.js +0 -1
@@ -0,0 +1,126 @@
1
+ import { tryGetDocument } from './try-get-document';
2
+ /**
3
+ * Helper utilities for sanitizing string from harmful tags
4
+ * This utility is intentionally restrictive of allowed tags depending on expected output.
5
+ *
6
+ * - Uses DOM-based parsing (no regex)
7
+ * - All attributes are stripped
8
+ * - Disallowed elements are unwrapped (children preserved)
9
+ */
10
+ export class SanitizeUtility {
11
+ /**
12
+ * It cleans up string for labels and allow minor formatting like bold, italic, strong
13
+ *
14
+ * @param {string} input - the passed label input string for sanitization
15
+ * @returns {string} returns sanitized string
16
+ */
17
+ static sanitizeHtmlLabel(input) {
18
+ return this.sanitize(input, this.LABEL_ALLOWED_TAGS);
19
+ }
20
+ /**
21
+ * Sanitizes the provided HTML string by parsing it into a DOM tree and
22
+ * removing all disallowed elements and attributes.
23
+ *
24
+ * @param {string} input - raw HTML string to sanitize
25
+ * @param {ReadonlySet<string>} allowedTags - set of allowed HTML tag names
26
+ * @returns {string} sanitized HTML string
27
+ */
28
+ static sanitize(input, allowedTags) {
29
+ if (input.trim() === '')
30
+ return '';
31
+ const doc = tryGetDocument();
32
+ if (!doc)
33
+ return '';
34
+ const parser = new DOMParser();
35
+ const parsedDocument = parser.parseFromString(input, 'text/html');
36
+ const outputFragment = doc.createDocumentFragment();
37
+ parsedDocument.body.childNodes.forEach((node) => {
38
+ const cleanNode = this.sanitizeNode(node, allowedTags, doc);
39
+ if (cleanNode) {
40
+ outputFragment.appendChild(cleanNode);
41
+ }
42
+ });
43
+ return this.serializeFragment(outputFragment, doc);
44
+ }
45
+ /**
46
+ * Sanitizes a DOM node recursively.
47
+ * - Text nodes are preserved
48
+ * - Element nodes are sanitized based on allowed tags
49
+ * - Other node types are discarded
50
+ *
51
+ * @param {Node} node - DOM node to sanitize
52
+ * @param {ReadonlySet<string>} allowedTags - set of allowed HTML tag names
53
+ * @param {Document} doc - document reference
54
+ * @returns {Nullable<Node>} sanitized node or null if not allowed
55
+ */
56
+ static sanitizeNode(node, allowedTags, doc) {
57
+ switch (node.nodeType) {
58
+ case Node.TEXT_NODE:
59
+ return node.cloneNode(true);
60
+ case Node.ELEMENT_NODE:
61
+ return this.sanitizeElement(node, allowedTags, doc);
62
+ default:
63
+ return null;
64
+ }
65
+ }
66
+ /**
67
+ * Sanitizes an HTML element.
68
+ * - If the element tag is not allowed, it is removed but its children are preserved
69
+ * - If allowed, a clean element is created with no attributes
70
+ *
71
+ * @param {HTMLElement} element - element to sanitize
72
+ * @param {ReadonlySet<string>} allowedTags - set of allowed HTML tag names
73
+ * @param {Document} doc - document reference
74
+ * @returns {Node} sanitized node or fragment
75
+ */
76
+ static sanitizeElement(element, allowedTags, doc) {
77
+ if (!allowedTags.has(element.tagName)) {
78
+ const fragment = doc.createDocumentFragment();
79
+ element.childNodes.forEach((child) => {
80
+ const cleanChild = this.sanitizeNode(child, allowedTags, doc);
81
+ if (cleanChild) {
82
+ fragment.appendChild(cleanChild);
83
+ }
84
+ });
85
+ return fragment;
86
+ }
87
+ const cleanElement = doc.createElement(element.tagName.toLowerCase());
88
+ element.childNodes.forEach((child) => {
89
+ const cleanChild = this.sanitizeNode(child, allowedTags, doc);
90
+ if (cleanChild) {
91
+ cleanElement.appendChild(cleanChild);
92
+ }
93
+ });
94
+ return cleanElement;
95
+ }
96
+ /**
97
+ * Serializes a DocumentFragment back into an HTML string.
98
+ *
99
+ * @param {DocumentFragment} fragment - fragment to serialize
100
+ * @param {Document} doc - document reference
101
+ * @returns {string} serialized HTML string
102
+ */
103
+ static serializeFragment(fragment, doc) {
104
+ var _a;
105
+ const container = doc.createElement('div');
106
+ container.appendChild(fragment);
107
+ // If no HTML elements exist, return textContent
108
+ return container.children.length === 0 ? (_a = container.textContent) !== null && _a !== void 0 ? _a : '' : container.innerHTML;
109
+ }
110
+ }
111
+ /**
112
+ * Set of allowed HTML tags for label rendering.
113
+ * Tags must be uppercase to match DOMParser element.tagName output.
114
+ */
115
+ SanitizeUtility.LABEL_ALLOWED_TAGS = new Set(['B', 'I', 'STRONG', 'EM']);
116
+ /**
117
+ * Standalone helper (keeps parity with existing utility exports pattern)
118
+ *
119
+ * It cleans up string for labels and allow minor formatting like bold, italic, strong
120
+ *
121
+ * @param {string} input - the passed label input string for sanitization
122
+ * @returns {string} returns sanitized string
123
+ */
124
+ export function sanitizeHtmlLabel(input) {
125
+ return SanitizeUtility.sanitizeHtmlLabel(input);
126
+ }
@@ -0,0 +1,65 @@
1
+ import { tryGetDocument } from '../try-get-document';
2
+ import { sanitizeHtmlLabel } from '../sanitize';
3
+ test('sanitizeHtmlLabel should render simple string as it is', () => {
4
+ expect(sanitizeHtmlLabel('Hello')).toEqual('Hello');
5
+ expect(sanitizeHtmlLabel('Hello world paragraph text')).toEqual('Hello world paragraph text');
6
+ expect(sanitizeHtmlLabel('')).toBe('');
7
+ expect(sanitizeHtmlLabel(' ')).toBe('');
8
+ expect(sanitizeHtmlLabel('\n\t')).toBe('');
9
+ });
10
+ test('sanitizeHtmlLabel should preserve allowed formatting tags', () => {
11
+ // bold
12
+ expect(sanitizeHtmlLabel('<b>Hello</b>')).toEqual('<b>Hello</b>');
13
+ // italic
14
+ expect(sanitizeHtmlLabel('<i>Hello</i>')).toEqual('<i>Hello</i>');
15
+ // em
16
+ expect(sanitizeHtmlLabel('<em>Em</em>')).toEqual('<em>Em</em>');
17
+ // strong
18
+ expect(sanitizeHtmlLabel('<strong>Strong text</strong>')).toEqual('<strong>Strong text</strong>');
19
+ });
20
+ test('sanitizeHtmlLabel should not allow executable tags and functions', () => {
21
+ expect(sanitizeHtmlLabel('<script>window.__xssExecuted = true</script>')).toEqual('');
22
+ expect(sanitizeHtmlLabel('<img src="x" onerror="window.__xssImg = true">')).toEqual('');
23
+ expect(sanitizeHtmlLabel('<span onclick="window.__xssClick = true">Span</span>')).toEqual('Span');
24
+ });
25
+ test('sanitizeHtmlLabel should unwrap disallowed elements but preserve their children', () => {
26
+ expect(sanitizeHtmlLabel('<div>Hello <span>World</span></div>')).toEqual('Hello World');
27
+ });
28
+ test('sanitizeHtmlLabel should ignore non-element, non-text nodes', () => {
29
+ expect(sanitizeHtmlLabel('Text <!-- malicious comment --><script>alert(1)</script>')).toEqual('Text alert(1)');
30
+ });
31
+ it('sanitizeHtmlLabel should not return empty string if document is available', () => {
32
+ expect(typeof document).toBe('object');
33
+ expect(tryGetDocument()).toBe(document);
34
+ expect(sanitizeHtmlLabel('<b>Some</b> text')).toEqual('<b>Some</b> text');
35
+ });
36
+ it('sanitizeHtmlLabel should return empty string if document is not available', () => {
37
+ const originalDocument = globalThis.document;
38
+ delete globalThis.document;
39
+ expect(tryGetDocument()).toBeUndefined();
40
+ expect(sanitizeHtmlLabel('<b>Some</b> text')).toEqual('');
41
+ globalThis.document = originalDocument;
42
+ });
43
+ test('sanitizeHtmlLabel should return textContent if no HTML elements exist', () => {
44
+ expect(sanitizeHtmlLabel('>hello')).toEqual('>hello');
45
+ expect(sanitizeHtmlLabel('Me > You')).toEqual('Me > You');
46
+ expect(sanitizeHtmlLabel('Me <b>></b> You')).toEqual('Me <b>&gt;</b> You');
47
+ });
48
+ test('serializeFragment should return innerHTML when HTML elements exist', () => {
49
+ expect(sanitizeHtmlLabel('<b>Bold</b>')).toBe('<b>Bold</b>');
50
+ });
51
+ test('serializeFragment falls back to empty string when textContent is null', () => {
52
+ const originalCreateElement = document.createElement;
53
+ jest.spyOn(document, 'createElement').mockImplementation((tagName) => {
54
+ const el = originalCreateElement.call(document, tagName);
55
+ if (tagName === 'div') {
56
+ Object.defineProperty(el, 'textContent', {
57
+ get: () => null,
58
+ configurable: true,
59
+ });
60
+ }
61
+ return el;
62
+ });
63
+ expect(sanitizeHtmlLabel('plain text')).toBe('');
64
+ document.createElement.mockRestore();
65
+ });
@@ -1,19 +1,19 @@
1
1
  import { F as FeatureFlag } from './feature-flag-controller-51659753.js';
2
- import { V as VegaLoader, a as VegaNotify, b as VegaThemeManager, c as VegaDialog, d as VegaEventManager, e as VegaZIndexManager, f as VegaSkeletonLoader, g as VegaRTETokenExtension, h as VegaRTEFunctionExtension } from './function-extension-8b06c6f8.js';
2
+ import { V as VegaLoader, a as VegaNotify, b as VegaThemeManager, c as VegaDialog, d as VegaEventManager, e as VegaZIndexManager, f as VegaSkeletonLoader, g as VegaRTETokenExtension, h as VegaRTEFunctionExtension } from './function-extension-63028f20.js';
3
3
  import { M as MapToComponentMethod, V as VegaSlimmer, s as setVegaLogLevel, G as GlobalSlimmersRegistry } from './global-slimmer-registry-17c4efd4.js';
4
4
  import { v as vegaEnvManager } from './vega-env-manager-8f8dc473.js';
5
5
  import { V as VegaIconManager } from './internal-icon-manager-f0486245.js';
6
6
  import './wait-for-vega-handler-c2c07ac3.js';
7
7
  import './ui-bb99c0c2.js';
8
8
  import { V as VegaInternalTranslation, a as VegaTranslation, s as staticTranslations } from './translation-96e5debd.js';
9
- import { V as VegaRTEContent } from './dto-renderer-manager-49ae5d56.js';
9
+ import { V as VegaRTEContent } from './dto-renderer-manager-f07cf2d9.js';
10
10
  import { v as vegaNonceManager, s as setVegaNonce } from './vega-nonce-manager-497e5eb5.js';
11
- import { V as VegaRTEPresetToolbarItems } from './code-block-666674d7.js';
12
- import './type-guard-b48aec98.js';
11
+ import { V as VegaRTEPresetToolbarItems } from './code-block-8ee34ab6.js';
12
+ import './type-guard-c65a227d.js';
13
13
  import { T as TypographyUrls } from './typography-396de03f.js';
14
- import { V as ValidCreditCardNumberRule } from './valid-credit-card-number-rule-96eaf9b1.js';
15
- import { w as waitForVega } from './index-0d487fae.js';
16
- import { V as VegaRTELanguageExtension } from './language-extension-b3f836d4.js';
14
+ import { V as ValidCreditCardNumberRule } from './valid-credit-card-number-rule-666c415d.js';
15
+ import { w as waitForVega } from './index-51a7da7f.js';
16
+ import { V as VegaRTELanguageExtension } from './language-extension-c4ff21dd.js';
17
17
  import { U as UPDATE_TRANSLATION } from './static-subject-title-52f93124.js';
18
18
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
19
19
  import { O as Observer } from './observer-3959f9dd.js';
@@ -398,7 +398,7 @@ function injectVegaRichTextEditorClassIntoGlobal() {
398
398
  * Inject VegaPublicValidationRules to global as a public api
399
399
  */
400
400
  function injectVegaPublicValidationRules() {
401
- void import('./public-rules-b164e40e.js').then((module) => {
401
+ void import('./public-rules-6ebdfcf5.js').then((module) => {
402
402
  Object.entries(module).forEach(([name, value]) => {
403
403
  globalThis[name] = value;
404
404
  });
@@ -1,5 +1,5 @@
1
1
  import { c as MapToComponentField, M as MapToComponentMethod, V as VegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
2
- import { i as internalVegaEventManager, j as jqueryDelegatedStrategyController } from './internal-vega-event-manager-fdee2a0a.js';
2
+ import { i as internalVegaEventManager, j as jqueryDelegatedStrategyController } from './internal-vega-event-manager-efb6786e.js';
3
3
  import { v as vegaEnvManager } from './vega-env-manager-8f8dc473.js';
4
4
  import { F as FeatureFlag } from './feature-flag-controller-51659753.js';
5
5
 
@@ -0,0 +1,30 @@
1
+ /**
2
+ * A trigger strategy that hides the appendable element when a global mouse down event occurs outside the element.
3
+ */
4
+ class ClickOutsideOnlyToDismissStrategy {
5
+ /**
6
+ * Determines if the strategy can evaluate the given event type.
7
+ *
8
+ * @param {VegaEAEventType} type - The type of the event.
9
+ * @returns {boolean} True if the event type is 'globalMouseDown', otherwise false.
10
+ */
11
+ canEvaluate(type) {
12
+ return type === 'click-outside';
13
+ }
14
+ /**
15
+ * Evaluates the trigger context and determines whether to hide the appendable element.
16
+ *
17
+ * @param {VegaEATriggerContext} context - The context of the trigger event.
18
+ * @returns {VegaEATriggerResult} An object indicating whether to hide the appendable element.
19
+ */
20
+ evaluate(context) {
21
+ if (context.eventType === 'click-outside' && context.currentState.isVisible) {
22
+ return {
23
+ nextAction: 'hide',
24
+ };
25
+ }
26
+ return {};
27
+ }
28
+ }
29
+
30
+ export { ClickOutsideOnlyToDismissStrategy as C };
@@ -1,9 +1,9 @@
1
1
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
2
- import { d as domNodeSubjectFactory } from './dom-node-subject-observer-factory-1aaa1159.js';
2
+ import { d as domNodeSubjectFactory } from './dom-node-subject-observer-factory-064ee2b2.js';
3
3
  import { b as VegaInternalRichTextEditorFlushChanges, c as VegaInternalRichTextEditorSelectionRangeChange } from './vega-internal-event-id-4a06d705.js';
4
4
  import { c as camelToDashCase } from './string-a953eafc.js';
5
5
  import { L as LogUtility } from './global-slimmer-registry-17c4efd4.js';
6
- import { i as isNonNullable } from './type-guard-b48aec98.js';
6
+ import { i as isNonNullable } from './type-guard-c65a227d.js';
7
7
  import { g as generateUUID } from './create-public-api-runtime-metrics-slimmer-bedf3a1e.js';
8
8
  import { V as VegaInternalThemeManager } from './dark-mode-style-controller-de88a117.js';
9
9
  import { c as cleanObject } from './object-66c37948.js';
@@ -2620,7 +2620,7 @@ class PlainTextAnnotation extends NodeAnnotation {
2620
2620
  * @inheritDoc
2621
2621
  */
2622
2622
  toJSON() {
2623
- return { plainText: this.plainText };
2623
+ return this.plainText ? { plainText: this.plainText } : undefined;
2624
2624
  }
2625
2625
  }
2626
2626
 
@@ -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-05e53016.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';
@@ -3661,22 +3661,27 @@ class VegaRTEContent {
3661
3661
  /**
3662
3662
  * Create an empty content state
3663
3663
  *
3664
+ * @param {VegaRTETransformOptions} options - Optional transformation options.
3664
3665
  * @returns {VegaRTEContent} An empty content state
3665
3666
  */
3666
- static createEmptyContent() {
3667
+ static createEmptyContent(options = { autoMatchFormat: true }) {
3667
3668
  return VegaRTEContent.fromJSON([
3668
3669
  {
3669
3670
  id: generateUUID(),
3670
3671
  type: 'paragraph',
3672
+ annotations: {
3673
+ internalWrapper: !options.autoMatchFormat,
3674
+ },
3671
3675
  nodes: [
3672
3676
  {
3673
3677
  id: generateUUID(),
3678
+ annotations: { plainText: !options.autoMatchFormat },
3674
3679
  type: 'text',
3675
3680
  text: '',
3676
3681
  },
3677
3682
  ],
3678
3683
  },
3679
- ]);
3684
+ ], options);
3680
3685
  }
3681
3686
  /**
3682
3687
  * Converts HTML content to a VegaRTEContent instance.
@@ -3749,8 +3754,19 @@ class VegaRTEContent {
3749
3754
  if (options) {
3750
3755
  LogUtility.warn(`The 'options' parameter in toHtml method is deprecated and will be removed in the future.`);
3751
3756
  }
3757
+ if (this.isEmpty()) {
3758
+ return '';
3759
+ }
3752
3760
  return this.children.map((block) => block.toHtml()).join('');
3753
3761
  }
3762
+ /**
3763
+ * Checks if the content state is empty.
3764
+ *
3765
+ * @returns {boolean} True if the content state is empty, false otherwise.
3766
+ */
3767
+ isEmpty() {
3768
+ return this.children.length === 0 || (this.children.length === 1 && !this.children[0].isNotEmpty());
3769
+ }
3754
3770
  /**
3755
3771
  * Internal method to add the block item, remove the block item
3756
3772
  *