@globalpayments/vega 2.77.0 → 2.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (445) hide show
  1. package/dist/cjs/{app-globals-04e7024b.js → app-globals-55e26945.js} +6 -6
  2. package/dist/cjs/{aria-attributes-value-mapper-f58c73f8.js → aria-attributes-value-mapper-9a41b9cf.js} +10 -3
  3. package/dist/cjs/{breakpoints-751d433a.js → breakpoints-a8ff22f0.js} +1 -1
  4. package/dist/cjs/{child-nodes-event-prevent-slimmer-cc6d2919.js → child-nodes-event-prevent-slimmer-dd0bb8b6.js} +1 -1
  5. package/dist/cjs/{code-block-f1480ec3.js → code-block-1a5fafed.js} +2 -2
  6. package/dist/cjs/{component-value-history-controller-slimmer.abstract-a9264cc8.js → component-value-history-controller-slimmer.abstract-42683f23.js} +4 -4
  7. package/dist/cjs/{date-required-rule-912469e0.js → date-required-rule-ad536cb5.js} +1 -1
  8. package/dist/cjs/{design-token-c49717c8.js → design-token-45ebd5e4.js} +3 -3
  9. package/dist/cjs/{dto-renderer-manager-809c947b.js → dto-renderer-manager-7557d562.js} +3 -3
  10. package/dist/cjs/{element-appender-slimmer-38583ca9.js → element-appender-slimmer-16ec8591.js} +181 -22
  11. package/dist/cjs/{event-emit-slimmer-062cdcb8.js → event-emit-slimmer-c84121c8.js} +1 -1
  12. package/dist/cjs/{form-field-controller-slimmer-102f37c7.js → form-field-controller-slimmer-73f5849e.js} +4 -4
  13. package/dist/cjs/{image-annotation-action-8d9fa20c.js → image-annotation-action-f275863e.js} +3 -3
  14. package/dist/cjs/index.cjs.js +18 -18
  15. package/dist/cjs/{inject-keyboard-manager-0f5bd568.js → inject-keyboard-manager-6667c0f1.js} +1 -1
  16. package/dist/cjs/{internal-translation-controller-053eb0f1.js → internal-translation-controller-24df468f.js} +16 -0
  17. package/dist/cjs/{internal-vega-event-manager-f7ecf3d4.js → internal-vega-event-manager-cc0f511c.js} +2 -2
  18. package/dist/cjs/{keyboard-manager-055e9f67.js → keyboard-manager-7de7ecfd.js} +1 -1
  19. package/dist/cjs/{keyboard-manager-slimmer-0cc0c1c7.js → keyboard-manager-slimmer-b44f0dc9.js} +1 -1
  20. package/dist/cjs/loader.cjs.js +14 -14
  21. package/dist/cjs/{month-view-generator-6a6dd527.js → month-view-generator-36c42772.js} +1 -1
  22. package/dist/cjs/{page-resize-observer-slimmer-7f065ee1.js → page-resize-observer-slimmer-e050cd26.js} +1 -1
  23. package/dist/cjs/{public-rules-922849f3.js → public-rules-6c6cb4ac.js} +9 -9
  24. package/dist/cjs/{range-8aa49b08.js → range-e298d4aa.js} +1 -1
  25. package/dist/cjs/{responsive-format-facade-acc39a40.js → responsive-format-facade-bddac47c.js} +3 -3
  26. package/dist/cjs/{rich-text-editor-required-rule-22225840.js → rich-text-editor-required-rule-6346a888.js} +1 -1
  27. package/dist/cjs/{string-format-strategy.abstract-f2575647.js → string-format-strategy.abstract-814d66c4.js} +1 -1
  28. package/dist/cjs/{string-input-formatter-slimmer-0a334fc6.js → string-input-formatter-slimmer-749e3cfe.js} +3 -3
  29. package/dist/cjs/{string-mask-strategy-dda58395.js → string-mask-strategy-d00871c2.js} +2 -2
  30. package/dist/cjs/{style-formatter-028af284.js → style-formatter-94c1a1ff.js} +2 -2
  31. package/dist/cjs/{sub-state-notify-slimmer-58121111.js → sub-state-notify-slimmer-ac1dae32.js} +1 -1
  32. package/dist/cjs/{sub-state-observer-slimmer-1dfbc4c3.js → sub-state-observer-slimmer-e692d849.js} +1 -1
  33. package/dist/cjs/{time-required-rule-d6fa7aa8.js → time-required-rule-f1f3c8c2.js} +1 -1
  34. package/dist/cjs/{token-extension-ffcaeae0.js → token-extension-1e98ddf3.js} +7 -7
  35. package/dist/cjs/{translation-slimmer-4533bd67.js → translation-slimmer-3fa03d81.js} +1 -1
  36. package/dist/cjs/{type-guard-407ba0b8.js → type-guard-a0d9ff1f.js} +37 -2
  37. package/dist/cjs/{ui-32e69595.js → ui-024696c0.js} +8 -1
  38. package/dist/cjs/{valid-credit-card-number-rule-41a8b51b.js → valid-credit-card-number-rule-cba7d66a.js} +1 -1
  39. package/dist/cjs/vega-accordion.cjs.entry.js +9 -9
  40. package/dist/cjs/vega-app-header-button.cjs.entry.js +31 -13
  41. package/dist/cjs/vega-banner.cjs.entry.js +3 -3
  42. package/dist/cjs/vega-box.cjs.entry.js +8 -8
  43. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  44. package/dist/cjs/vega-button-circle.cjs.entry.js +12 -12
  45. package/dist/cjs/vega-button-group_2.cjs.entry.js +7 -7
  46. package/dist/cjs/vega-button-link.cjs.entry.js +20 -4
  47. package/dist/cjs/vega-button.cjs.entry.js +11 -11
  48. package/dist/cjs/vega-calendar_4.cjs.entry.js +15 -15
  49. package/dist/cjs/vega-card.cjs.entry.js +6 -6
  50. package/dist/cjs/vega-carousel.cjs.entry.js +9 -9
  51. package/dist/cjs/vega-checkbox_2.cjs.entry.js +11 -11
  52. package/dist/cjs/vega-chip.cjs.entry.js +11 -11
  53. package/dist/cjs/vega-code-block.cjs.entry.js +16 -15
  54. package/dist/cjs/vega-color-picker.cjs.entry.js +10 -10
  55. package/dist/cjs/vega-combo-box.cjs.entry.js +14 -14
  56. package/dist/cjs/vega-date-picker_2.cjs.entry.js +113 -32
  57. package/dist/cjs/vega-dialog_2.cjs.entry.js +11 -11
  58. package/dist/cjs/vega-divider.cjs.entry.js +7 -7
  59. package/dist/cjs/vega-dropdown_5.cjs.entry.js +41 -17
  60. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  61. package/dist/cjs/{vega-event-id-ee01d8dd.js → vega-event-id-c08ce3d3.js} +2 -0
  62. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  63. package/dist/cjs/vega-file-uploader.cjs.entry.js +11 -11
  64. package/dist/cjs/vega-flag-icon.cjs.entry.js +6 -6
  65. package/dist/cjs/vega-flex.cjs.entry.js +9 -9
  66. package/dist/cjs/vega-font.cjs.entry.js +7 -7
  67. package/dist/cjs/vega-form.cjs.entry.js +13 -13
  68. package/dist/cjs/vega-grid.cjs.entry.js +6 -6
  69. package/dist/cjs/vega-icon.cjs.entry.js +6 -6
  70. package/dist/cjs/vega-image-uploader.cjs.entry.js +14 -14
  71. package/dist/cjs/vega-input-credit-card.cjs.entry.js +16 -16
  72. package/dist/cjs/vega-input-numeric.cjs.entry.js +102 -42
  73. package/dist/cjs/vega-input-passcode.cjs.entry.js +109 -36
  74. package/dist/cjs/vega-input-phone-number.cjs.entry.js +91 -41
  75. package/dist/cjs/vega-input-range.cjs.entry.js +27 -12
  76. package/dist/cjs/vega-input-select.cjs.entry.js +17 -17
  77. package/dist/cjs/vega-input.cjs.entry.js +414 -187
  78. package/dist/cjs/{vega-internal-event-id-f2465f1b.js → vega-internal-event-id-e0aeac45.js} +2 -0
  79. package/dist/cjs/vega-item-toggle.cjs.entry.js +4 -4
  80. package/dist/cjs/vega-left-nav_5.cjs.entry.js +15 -16
  81. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +6 -6
  82. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  83. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +4 -4
  84. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -4
  85. package/dist/cjs/vega-pagination.cjs.entry.js +12 -12
  86. package/dist/cjs/vega-popover_2.cjs.entry.js +15 -15
  87. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +12 -12
  88. package/dist/cjs/vega-radio_2.cjs.entry.js +14 -14
  89. package/dist/cjs/vega-rich-text-content.cjs.entry.js +17 -11
  90. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +589 -396
  91. package/dist/cjs/vega-segment-control.cjs.entry.js +6 -6
  92. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +14 -14
  93. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +12 -12
  94. package/dist/cjs/vega-sidenav_3.cjs.entry.js +12 -12
  95. package/dist/cjs/vega-signature-capture.cjs.entry.js +14 -14
  96. package/dist/cjs/vega-stepper.cjs.entry.js +12 -12
  97. package/dist/cjs/vega-tab-group_2.cjs.entry.js +7 -7
  98. package/dist/cjs/vega-table_11.cjs.entry.js +14 -14
  99. package/dist/cjs/vega-text.cjs.entry.js +3 -3
  100. package/dist/cjs/vega-textarea.cjs.entry.js +110 -42
  101. package/dist/cjs/vega-time-picker_2.cjs.entry.js +18 -18
  102. package/dist/cjs/vega-toggle-switch.cjs.entry.js +10 -10
  103. package/dist/cjs/vega-tooltip_2.cjs.entry.js +11 -11
  104. package/dist/cjs/vega.cjs.js +14 -14
  105. package/dist/cjs/{wait-for-component-did-render-70a01bf9.js → wait-for-component-did-render-cbebfc33.js} +1 -1
  106. package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +44 -2
  107. package/dist/collection/components/vega-button-link/vega-button-link.js +16 -1
  108. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.js +1 -1
  109. package/dist/collection/components/vega-checkbox/vega-checkbox-group/vega-checkbox-group.js +1 -1
  110. package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-content-renderer.js +4 -0
  111. package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-open-state-controller.js +64 -0
  112. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-selection-controller.js +3 -0
  113. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-header-render.js +3 -3
  114. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.js +19 -1
  115. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-year-month-switcher-renderer.js +3 -2
  116. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.js +3 -2
  117. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +12 -0
  118. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +25 -0
  119. package/dist/collection/components/vega-flex/vega-flex.css +32 -0
  120. package/dist/collection/components/vega-flex/vega-flex.js +1 -1
  121. package/dist/collection/components/vega-grid/vega-grid.js +2 -2
  122. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.js +1 -3
  123. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-container-renderer.js +1 -5
  124. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-renderer.js +1 -4
  125. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.js +5 -2
  126. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-prefix-slot-renderer.js +1 -1
  127. package/dist/collection/components/vega-input/vega-input.js +382 -101
  128. package/dist/collection/components/vega-input-credit-card/vega-input-credit-card.js +1 -1
  129. package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +175 -49
  130. package/dist/collection/components/vega-input-passcode/slimmers/controllers/vega-input-passcode-keyboard-controller.js +2 -0
  131. package/dist/collection/components/vega-input-passcode/slimmers/renderers/vega-input-passcode-renderer.js +30 -2
  132. package/dist/collection/components/vega-input-passcode/vega-input-passcode.js +123 -35
  133. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +145 -56
  134. package/dist/collection/components/vega-input-range/slimmers/renderers/vega-input-range-input-renderer.js +15 -0
  135. package/dist/collection/components/vega-input-select/vega-input-select.js +6 -5
  136. package/dist/collection/components/vega-nav/vega-left-nav-link/slimmers/renderers/vega-left-nav-link-renderer.js +2 -3
  137. package/dist/collection/components/vega-popover/vega-popover-content-box/vega-popover-content-box.css +5 -0
  138. package/dist/collection/components/vega-radio/vega-radio-group/vega-radio-group.js +1 -1
  139. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +7 -1
  140. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-image-controller.js +7 -4
  141. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +113 -12
  142. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +2 -2
  143. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +4 -17
  144. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +102 -0
  145. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +49 -1
  146. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-image-editor/slimmers/renderers/vega-rich-text-image-editor-renderer.js +1 -1
  147. package/dist/collection/components/vega-stepper/vega-stepper.js +1 -1
  148. package/dist/collection/components/vega-textarea/vega-textarea.js +183 -52
  149. package/dist/collection/components/vega-tooltip/vega-tooltip-content-box/vega-tooltip-content-box.css +5 -0
  150. package/dist/collection/constants/ui.js +9 -1
  151. package/dist/collection/helpers/calendar/test/utils.test.js +54 -1
  152. package/dist/collection/helpers/calendar/utils.js +35 -0
  153. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +2 -2
  154. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  155. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  156. package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +27 -0
  157. package/dist/collection/helpers/slimmers/element-appender/test/element-appender-slimmer.test.js +50 -0
  158. package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +10 -3
  159. package/dist/collection/helpers/slimmers/mutation-observer/data-tab-index-value-mapper.js +80 -0
  160. package/dist/collection/helpers/slimmers/mutation-observer/test/aria-attributes-value-mapper.test.js +55 -3
  161. package/dist/collection/helpers/slimmers/mutation-observer/test/data-tab-index-value-mapper.test.js +120 -0
  162. package/dist/collection/helpers/slimmers/position-calculation/base-position-calculation-strategy.js +123 -9
  163. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +14 -4
  164. package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +13 -4
  165. package/dist/collection/helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.js +7 -6
  166. package/dist/collection/helpers/slimmers/position-calculation/test/screen-position-calculation-strategy.test.js +162 -7
  167. package/dist/collection/helpers/translation/locales/en.js +16 -0
  168. package/dist/collection/helpers/translation/tests/internal-translation-controller.test.js +17 -0
  169. package/dist/collection/helpers/translation/tests/translation.test.js +14 -0
  170. package/dist/collection/helpers/ui/test/element-appender.test.js +7 -5
  171. package/dist/collection/utils/e2e-utils.js +6 -0
  172. package/dist/esm/{app-globals-32055795.js → app-globals-3b97bb20.js} +6 -6
  173. package/dist/esm/{aria-attributes-value-mapper-d4fef46a.js → aria-attributes-value-mapper-2c632641.js} +10 -3
  174. package/dist/esm/{breakpoints-56e5407b.js → breakpoints-13353e09.js} +1 -1
  175. package/dist/esm/{child-nodes-event-prevent-slimmer-331312b8.js → child-nodes-event-prevent-slimmer-4feabae0.js} +1 -1
  176. package/dist/esm/{code-block-b6247a45.js → code-block-d65bab61.js} +2 -2
  177. package/dist/esm/{component-value-history-controller-slimmer.abstract-2bb8533d.js → component-value-history-controller-slimmer.abstract-556fcf2a.js} +4 -4
  178. package/dist/esm/{date-required-rule-e771e7d9.js → date-required-rule-4ffd9cae.js} +1 -1
  179. package/dist/esm/{design-token-5bc034e1.js → design-token-b518a2aa.js} +3 -3
  180. package/dist/esm/{dto-renderer-manager-6fd22ab7.js → dto-renderer-manager-73df5cbe.js} +3 -3
  181. package/dist/esm/{element-appender-slimmer-9ea377d0.js → element-appender-slimmer-36b7a572.js} +181 -22
  182. package/dist/esm/{event-emit-slimmer-ffaecb9a.js → event-emit-slimmer-f879fd58.js} +1 -1
  183. package/dist/esm/{form-field-controller-slimmer-5817d14d.js → form-field-controller-slimmer-9a880420.js} +4 -4
  184. package/dist/esm/{image-annotation-action-6701b4c9.js → image-annotation-action-eb3dcad5.js} +3 -3
  185. package/dist/esm/index.js +18 -18
  186. package/dist/esm/{inject-keyboard-manager-78730062.js → inject-keyboard-manager-e5481833.js} +1 -1
  187. package/dist/esm/{internal-translation-controller-911515f9.js → internal-translation-controller-0787a7a7.js} +16 -0
  188. package/dist/esm/{internal-vega-event-manager-32a3d848.js → internal-vega-event-manager-3aebbe55.js} +2 -2
  189. package/dist/esm/{keyboard-manager-38934f94.js → keyboard-manager-4dfc625f.js} +1 -1
  190. package/dist/esm/{keyboard-manager-slimmer-9984d922.js → keyboard-manager-slimmer-87bf68f1.js} +1 -1
  191. package/dist/esm/loader.js +14 -14
  192. package/dist/esm/{month-view-generator-eaf9029c.js → month-view-generator-94134ec5.js} +1 -1
  193. package/dist/esm/{page-resize-observer-slimmer-d6af0d86.js → page-resize-observer-slimmer-e0505250.js} +1 -1
  194. package/dist/esm/{public-rules-25cc3a39.js → public-rules-49912d52.js} +9 -9
  195. package/dist/esm/{range-663f44dc.js → range-0a22b512.js} +1 -1
  196. package/dist/esm/{responsive-format-facade-aa705823.js → responsive-format-facade-b3799ff9.js} +3 -3
  197. package/dist/esm/{rich-text-editor-required-rule-a238b862.js → rich-text-editor-required-rule-d86e3a51.js} +1 -1
  198. package/dist/esm/{string-format-strategy.abstract-713fba36.js → string-format-strategy.abstract-e40a0df7.js} +1 -1
  199. package/dist/esm/{string-input-formatter-slimmer-5b413ff9.js → string-input-formatter-slimmer-076764fc.js} +3 -3
  200. package/dist/esm/{string-mask-strategy-6beaf664.js → string-mask-strategy-df1f5707.js} +2 -2
  201. package/dist/esm/{style-formatter-28138f5c.js → style-formatter-95255392.js} +2 -2
  202. package/dist/esm/{sub-state-notify-slimmer-5133f1a8.js → sub-state-notify-slimmer-f4b3b0b9.js} +1 -1
  203. package/dist/esm/{sub-state-observer-slimmer-478c9f41.js → sub-state-observer-slimmer-058feaf0.js} +1 -1
  204. package/dist/esm/{time-required-rule-e4138a76.js → time-required-rule-b4af75ae.js} +1 -1
  205. package/dist/esm/{token-extension-73e4460a.js → token-extension-ffd98170.js} +7 -7
  206. package/dist/esm/{translation-slimmer-2394b173.js → translation-slimmer-e788cae4.js} +1 -1
  207. package/dist/esm/{type-guard-f50e34d6.js → type-guard-f69d2935.js} +37 -3
  208. package/dist/esm/{ui-28fd4193.js → ui-41f725b7.js} +8 -1
  209. package/dist/esm/{valid-credit-card-number-rule-22ce81db.js → valid-credit-card-number-rule-c023326d.js} +1 -1
  210. package/dist/esm/vega-accordion.entry.js +9 -9
  211. package/dist/esm/vega-app-header-button.entry.js +31 -13
  212. package/dist/esm/vega-banner.entry.js +3 -3
  213. package/dist/esm/vega-box.entry.js +8 -8
  214. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  215. package/dist/esm/vega-button-circle.entry.js +12 -12
  216. package/dist/esm/vega-button-group_2.entry.js +7 -7
  217. package/dist/esm/vega-button-link.entry.js +20 -4
  218. package/dist/esm/vega-button.entry.js +11 -11
  219. package/dist/esm/vega-calendar_4.entry.js +15 -15
  220. package/dist/esm/vega-card.entry.js +6 -6
  221. package/dist/esm/vega-carousel.entry.js +9 -9
  222. package/dist/esm/vega-checkbox_2.entry.js +11 -11
  223. package/dist/esm/vega-chip.entry.js +11 -11
  224. package/dist/esm/vega-code-block.entry.js +16 -15
  225. package/dist/esm/vega-color-picker.entry.js +10 -10
  226. package/dist/esm/vega-combo-box.entry.js +14 -14
  227. package/dist/esm/vega-date-picker_2.entry.js +114 -33
  228. package/dist/esm/vega-dialog_2.entry.js +11 -11
  229. package/dist/esm/vega-divider.entry.js +7 -7
  230. package/dist/esm/vega-dropdown_5.entry.js +42 -18
  231. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  232. package/dist/esm/{vega-event-id-38aa77a0.js → vega-event-id-fdc58a67.js} +2 -1
  233. package/dist/esm/vega-field-label.entry.js +3 -3
  234. package/dist/esm/vega-file-uploader.entry.js +11 -11
  235. package/dist/esm/vega-flag-icon.entry.js +6 -6
  236. package/dist/esm/vega-flex.entry.js +9 -9
  237. package/dist/esm/vega-font.entry.js +7 -7
  238. package/dist/esm/vega-form.entry.js +13 -13
  239. package/dist/esm/vega-grid.entry.js +6 -6
  240. package/dist/esm/vega-icon.entry.js +6 -6
  241. package/dist/esm/vega-image-uploader.entry.js +14 -14
  242. package/dist/esm/vega-input-credit-card.entry.js +16 -16
  243. package/dist/esm/vega-input-numeric.entry.js +102 -42
  244. package/dist/esm/vega-input-passcode.entry.js +109 -36
  245. package/dist/esm/vega-input-phone-number.entry.js +91 -41
  246. package/dist/esm/vega-input-range.entry.js +27 -12
  247. package/dist/esm/vega-input-select.entry.js +17 -17
  248. package/dist/esm/vega-input.entry.js +414 -187
  249. package/dist/esm/{vega-internal-event-id-799d012e.js → vega-internal-event-id-12783594.js} +2 -1
  250. package/dist/esm/vega-item-toggle.entry.js +4 -4
  251. package/dist/esm/vega-left-nav_5.entry.js +15 -16
  252. package/dist/esm/vega-loader-wrapper_2.entry.js +6 -6
  253. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  254. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +4 -4
  255. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +4 -4
  256. package/dist/esm/vega-pagination.entry.js +12 -12
  257. package/dist/esm/vega-popover_2.entry.js +15 -15
  258. package/dist/esm/vega-progress-tracker_2.entry.js +12 -12
  259. package/dist/esm/vega-radio_2.entry.js +14 -14
  260. package/dist/esm/vega-rich-text-content.entry.js +17 -11
  261. package/dist/esm/vega-rich-text-editor_4.entry.js +589 -396
  262. package/dist/esm/vega-segment-control.entry.js +6 -6
  263. package/dist/esm/vega-selection-chip_2.entry.js +14 -14
  264. package/dist/esm/vega-selection-tile_2.entry.js +12 -12
  265. package/dist/esm/vega-sidenav_3.entry.js +12 -12
  266. package/dist/esm/vega-signature-capture.entry.js +14 -14
  267. package/dist/esm/vega-stepper.entry.js +12 -12
  268. package/dist/esm/vega-tab-group_2.entry.js +7 -7
  269. package/dist/esm/vega-table_11.entry.js +14 -14
  270. package/dist/esm/vega-text.entry.js +3 -3
  271. package/dist/esm/vega-textarea.entry.js +110 -42
  272. package/dist/esm/vega-time-picker_2.entry.js +18 -18
  273. package/dist/esm/vega-toggle-switch.entry.js +10 -10
  274. package/dist/esm/vega-tooltip_2.entry.js +11 -11
  275. package/dist/esm/vega.js +14 -14
  276. package/dist/esm/{wait-for-component-did-render-b08ef07b.js → wait-for-component-did-render-4d0a3428.js} +1 -1
  277. package/dist/sri/vega-sri-manifest.json +341 -341
  278. package/dist/types/components/vega-app-header-button/types.d.ts +18 -0
  279. package/dist/types/components/vega-app-header-button/vega-app-header-button.d.ts +8 -1
  280. package/dist/types/components/vega-button-link/vega-button-link.d.ts +2 -0
  281. package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-calendar-open-state-controller.d.ts +21 -0
  282. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/controllers/vega-date-picker-calendar-selection-controller.d.ts +1 -0
  283. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +7 -0
  284. package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +11 -0
  285. package/dist/types/components/vega-input/slimmers/controllers/vega-input-render-mode-controller.d.ts +0 -1
  286. package/dist/types/components/vega-input/slimmers/renderers/vega-input-input-renderer.d.ts +0 -1
  287. package/dist/types/components/vega-input/vega-input.d.ts +321 -79
  288. package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +117 -42
  289. package/dist/types/components/vega-input-passcode/slimmers/renderers/vega-input-passcode-renderer.d.ts +14 -0
  290. package/dist/types/components/vega-input-passcode/vega-input-passcode.d.ts +82 -28
  291. package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +99 -34
  292. package/dist/types/components/vega-input-range/slimmers/renderers/vega-input-range-input-renderer.d.ts +8 -0
  293. package/dist/types/components/vega-input-select/vega-input-select.d.ts +2 -2
  294. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/insert-image-controller.d.ts +7 -1
  295. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +30 -2
  296. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +1 -1
  297. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +1 -3
  298. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.d.ts +37 -0
  299. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +16 -0
  300. package/dist/types/components/vega-textarea/vega-textarea.d.ts +123 -41
  301. package/dist/types/components.d.ts +429 -219
  302. package/dist/types/constants/ui.d.ts +2 -2
  303. package/dist/types/helpers/calendar/utils.d.ts +17 -0
  304. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  305. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  306. package/dist/types/helpers/slimmers/element-appender/element-appender-slimmer.d.ts +12 -0
  307. package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +2 -1
  308. package/dist/types/helpers/slimmers/mutation-observer/data-tab-index-value-mapper.d.ts +35 -0
  309. package/dist/types/helpers/slimmers/mutation-observer/test/data-tab-index-value-mapper.test.d.ts +1 -0
  310. package/dist/types/helpers/slimmers/position-calculation/base-position-calculation-strategy.d.ts +60 -3
  311. package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +3 -2
  312. package/dist/types/helpers/slimmers/position-calculation/test/body-position-calculation-strategy.test.d.ts +1 -1
  313. package/dist/types/helpers/translation/interface.d.ts +17 -1
  314. package/dist/types/types/components.type.d.ts +1 -0
  315. package/dist/types/types/type-guard.d.ts +3 -3
  316. package/dist/types/types/ui.type.d.ts +3 -2
  317. package/dist/types/utils/e2e-utils.d.ts +2 -0
  318. package/dist/vega/index.esm.js +1 -1
  319. package/dist/vega/{p-9441f2ba.entry.js → p-0009e0bc.entry.js} +1 -1
  320. package/dist/vega/{p-2d69632d.js → p-02976501.js} +1 -1
  321. package/dist/vega/{p-bf6fc19f.entry.js → p-03280f85.entry.js} +1 -1
  322. package/dist/vega/{p-f3e6483c.js → p-03b1e442.js} +1 -1
  323. package/dist/vega/{p-33f9ad94.entry.js → p-0681ffee.entry.js} +1 -1
  324. package/dist/vega/{p-3ce2b05c.entry.js → p-093aa0cb.entry.js} +1 -1
  325. package/dist/vega/{p-ffd48e37.entry.js → p-1828f9e6.entry.js} +1 -1
  326. package/dist/vega/{p-f428086c.entry.js → p-19883e27.entry.js} +1 -1
  327. package/dist/vega/p-1e015382.js +1 -0
  328. package/dist/vega/{p-7425cedc.entry.js → p-1ff45314.entry.js} +1 -1
  329. package/dist/vega/{p-9339c6c4.js → p-24b4c64f.js} +1 -1
  330. package/dist/vega/{p-5833f33b.entry.js → p-2e7ec8e0.entry.js} +1 -1
  331. package/dist/vega/{p-1a3236e7.entry.js → p-309b5016.entry.js} +1 -1
  332. package/dist/vega/{p-857069a5.entry.js → p-3592a26d.entry.js} +1 -1
  333. package/dist/vega/{p-560d2f48.entry.js → p-383e235a.entry.js} +1 -1
  334. package/dist/vega/p-3992038a.js +1 -0
  335. package/dist/vega/{p-02c9796a.js → p-3a537cd0.js} +1 -1
  336. package/dist/vega/{p-daa60a59.entry.js → p-3b7ad04b.entry.js} +1 -1
  337. package/dist/vega/{p-5485c387.entry.js → p-3d4b8066.entry.js} +1 -1
  338. package/dist/vega/{p-7d7aaff9.entry.js → p-3e484d99.entry.js} +1 -1
  339. package/dist/vega/{p-c165232c.entry.js → p-3fd3861c.entry.js} +1 -1
  340. package/dist/vega/{p-d78f6ede.js → p-4079e932.js} +1 -1
  341. package/dist/vega/{p-5eb7f382.js → p-43df17a1.js} +1 -1
  342. package/dist/vega/{p-db5fa164.entry.js → p-473ceda5.entry.js} +1 -1
  343. package/dist/vega/{p-67745549.entry.js → p-474b97cf.entry.js} +1 -1
  344. package/dist/vega/{p-242fbcad.entry.js → p-47c202eb.entry.js} +1 -1
  345. package/dist/vega/p-4e0344bc.entry.js +1 -0
  346. package/dist/vega/{p-e6cf2ace.entry.js → p-4efe9cd8.entry.js} +1 -1
  347. package/dist/vega/{p-36a09524.entry.js → p-536ad3d7.entry.js} +1 -1
  348. package/dist/vega/{p-22056609.entry.js → p-53e0b2bd.entry.js} +1 -1
  349. package/dist/vega/p-57180993.entry.js +1 -0
  350. package/dist/vega/{p-e827d56d.js → p-5b238c6d.js} +1 -1
  351. package/dist/vega/{p-464559e3.js → p-5ba34330.js} +1 -1
  352. package/dist/vega/p-5e1d0f21.entry.js +1 -0
  353. package/dist/vega/{p-a786259a.js → p-5ed5aa26.js} +1 -1
  354. package/dist/vega/p-5f377954.js +1 -1
  355. package/dist/vega/{p-d64fab3d.js → p-5f81beae.js} +1 -1
  356. package/dist/vega/{p-34bcf4ed.entry.js → p-6a8ac66d.entry.js} +1 -1
  357. package/dist/vega/{p-4bffdb28.js → p-6b3776ec.js} +1 -1
  358. package/dist/vega/{p-2b142818.entry.js → p-6b4021f0.entry.js} +1 -1
  359. package/dist/vega/{p-2a10e2e5.js → p-6cf28c27.js} +1 -1
  360. package/dist/vega/{p-0037068c.entry.js → p-71cd1d9e.entry.js} +1 -1
  361. package/dist/vega/{p-4aa52ed2.entry.js → p-7440325c.entry.js} +1 -1
  362. package/dist/vega/p-764425e4.entry.js +1 -0
  363. package/dist/vega/p-77908e45.entry.js +1 -0
  364. package/dist/vega/{p-a0b66c25.js → p-7ade785e.js} +1 -1
  365. package/dist/vega/{p-f2b0b58a.js → p-7db5e003.js} +1 -1
  366. package/dist/vega/{p-021d4ae4.js → p-7db918f4.js} +1 -1
  367. package/dist/vega/{p-0572c393.entry.js → p-7f398d23.entry.js} +1 -1
  368. package/dist/vega/p-7f665911.entry.js +1 -0
  369. package/dist/vega/p-840f156e.entry.js +1 -0
  370. package/dist/vega/{p-95528b47.js → p-87379d3c.js} +1 -1
  371. package/dist/vega/p-87ed06cd.entry.js +1 -0
  372. package/dist/vega/{p-a8792e3d.js → p-882a220c.js} +1 -1
  373. package/dist/vega/{p-6b6f0fb4.js → p-898bcb24.js} +1 -1
  374. package/dist/vega/{p-d07f5d5a.entry.js → p-8fbb677e.entry.js} +1 -1
  375. package/dist/vega/p-9493d87a.js +1 -0
  376. package/dist/vega/{p-81b044b9.js → p-951c0172.js} +1 -1
  377. package/dist/vega/p-95919581.entry.js +1 -0
  378. package/dist/vega/{p-7c39ce96.js → p-95d1b547.js} +1 -1
  379. package/dist/vega/{p-50d074ed.entry.js → p-99c8f9a4.entry.js} +1 -1
  380. package/dist/vega/{p-e632475e.js → p-9c713bc0.js} +1 -1
  381. package/dist/vega/{p-3afc025e.entry.js → p-9dc77b66.entry.js} +1 -1
  382. package/dist/vega/{p-415ffa35.js → p-9f467a59.js} +1 -1
  383. package/dist/vega/p-a113fd15.entry.js +1 -0
  384. package/dist/vega/{p-4742feef.entry.js → p-a253e791.entry.js} +1 -1
  385. package/dist/vega/{p-0d4cb1c7.entry.js → p-a3272850.entry.js} +1 -1
  386. package/dist/vega/{p-b1773281.entry.js → p-a432708d.entry.js} +1 -1
  387. package/dist/vega/p-a57a7ab8.entry.js +1 -0
  388. package/dist/vega/{p-6d219c44.entry.js → p-a58bd510.entry.js} +1 -1
  389. package/dist/vega/{p-4ea30592.js → p-a957e15f.js} +1 -1
  390. package/dist/vega/{p-bff57aa4.js → p-abb81b7b.js} +1 -1
  391. package/dist/vega/{p-100b44c3.entry.js → p-ae6ed091.entry.js} +1 -1
  392. package/dist/vega/{p-03004a05.entry.js → p-b5e31243.entry.js} +1 -1
  393. package/dist/vega/{p-49845a91.js → p-b88ca09b.js} +1 -1
  394. package/dist/vega/{p-c2d2faa0.js → p-b901d624.js} +1 -1
  395. package/dist/vega/p-ba475520.entry.js +1 -0
  396. package/dist/vega/p-bdb5180c.js +1 -0
  397. package/dist/vega/p-bf04ff19.js +1 -0
  398. package/dist/vega/{p-1a51bf6f.js → p-c208a3b7.js} +1 -1
  399. package/dist/vega/{p-3c05abd9.entry.js → p-c25577ae.entry.js} +1 -1
  400. package/dist/vega/{p-1f3cd061.entry.js → p-c2560608.entry.js} +1 -1
  401. package/dist/vega/{p-0e679d8c.js → p-c2df94f6.js} +1 -1
  402. package/dist/vega/{p-cfecc1cb.entry.js → p-c3eec160.entry.js} +1 -1
  403. package/dist/vega/p-c6031d3f.entry.js +1 -0
  404. package/dist/vega/{p-70df91fb.entry.js → p-c87cf96a.entry.js} +1 -1
  405. package/dist/vega/{p-592296d7.entry.js → p-cc243e62.entry.js} +1 -1
  406. package/dist/vega/{p-cccd7648.entry.js → p-cd3d177b.entry.js} +1 -1
  407. package/dist/vega/{p-be1a210b.js → p-d0687ec0.js} +1 -1
  408. package/dist/vega/{p-b201f379.js → p-d25db724.js} +1 -1
  409. package/dist/vega/{p-aa1174dc.js → p-d42dbe39.js} +1 -1
  410. package/dist/vega/{p-9fb877c1.entry.js → p-d5570331.entry.js} +1 -1
  411. package/dist/vega/p-d5797747.js +1 -0
  412. package/dist/vega/{p-1a011d47.entry.js → p-d7434f44.entry.js} +1 -1
  413. package/dist/vega/p-db92453f.entry.js +1 -0
  414. package/dist/vega/{p-0a3a285b.entry.js → p-e5be807b.entry.js} +1 -1
  415. package/dist/vega/p-e6f0097f.js +1 -0
  416. package/dist/vega/{p-e8775a56.entry.js → p-e7a8b61e.entry.js} +1 -1
  417. package/dist/vega/{p-d2ee5711.entry.js → p-f46f6679.entry.js} +1 -1
  418. package/dist/vega/{p-1fa0c7da.entry.js → p-f49e8cc5.entry.js} +1 -1
  419. package/dist/vega/p-f5b6059d.entry.js +1 -0
  420. package/dist/vega/p-fb40a829.js +1 -0
  421. package/dist/vega/vega.esm.js +1 -1
  422. package/package.json +3 -2
  423. package/dist/vega/p-010ff53d.entry.js +0 -1
  424. package/dist/vega/p-168bb296.entry.js +0 -1
  425. package/dist/vega/p-40f39194.js +0 -1
  426. package/dist/vega/p-43ff48c0.entry.js +0 -1
  427. package/dist/vega/p-4aa94940.entry.js +0 -1
  428. package/dist/vega/p-4bee4202.entry.js +0 -1
  429. package/dist/vega/p-5cfce62d.entry.js +0 -1
  430. package/dist/vega/p-60f77f5f.entry.js +0 -1
  431. package/dist/vega/p-641cdb5c.entry.js +0 -1
  432. package/dist/vega/p-ab834f06.js +0 -1
  433. package/dist/vega/p-ac82b9f9.entry.js +0 -1
  434. package/dist/vega/p-b54dc37c.entry.js +0 -1
  435. package/dist/vega/p-b597393b.entry.js +0 -1
  436. package/dist/vega/p-b5f18f4b.entry.js +0 -1
  437. package/dist/vega/p-b7f3221f.js +0 -1
  438. package/dist/vega/p-c292ade4.entry.js +0 -1
  439. package/dist/vega/p-c3d2f316.js +0 -1
  440. package/dist/vega/p-cc5eaa1b.js +0 -1
  441. package/dist/vega/p-d1cfe972.entry.js +0 -1
  442. package/dist/vega/p-dad3ba5f.js +0 -1
  443. package/dist/vega/p-de64f6e6.js +0 -1
  444. package/dist/vega/p-e7fbef97.js +0 -1
  445. package/dist/vega/p-fc9ac6e9.entry.js +0 -1
@@ -6,20 +6,46 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { VegaInternalIconManager } from '../../../../../helpers/icon/internal-icon-manager';
8
8
  import image from '../../../assets/image';
9
- import { h } from '@stencil/core';
9
+ import { Fragment, h } from '@stencil/core';
10
10
  import { MapToComponentField } from 'vega-slimmer/core';
11
11
  import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
12
12
  import { ImageUpdateUrlAction } from '../../../dto/actions/image-update-url-action';
13
13
  import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
14
14
  import { ModifyContentActionType } from '../../../dto/actions/modify-content-action.abstract';
15
+ import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
16
+ import { VegaClick, VegaDropdownClick } from '../../../../../helpers/event-manager/event-id/vega-event-id';
17
+ import { tryGetDocument } from '../../../../../utils/try-get-document';
15
18
  export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
16
19
  constructor() {
17
20
  super({
18
21
  icon: 'image',
19
22
  tooltip: { text: 'Image' },
20
23
  });
21
- this.onClick = () => {
22
- this.inputElementRef.click();
24
+ this.insertURLImage = async () => {
25
+ const url = this.normalizeSafeImageUrl(this.insertURLInputRef.value);
26
+ this.applyImageNode(url, 'url');
27
+ await this.insertURLModalRef.modal('hide');
28
+ };
29
+ this.handleDropdownItemClick = async (payload) => {
30
+ const safeDocument = tryGetDocument();
31
+ switch (payload.detail) {
32
+ case 'upload':
33
+ this.uploadInputRef.click();
34
+ break;
35
+ case 'url':
36
+ this.currentRange = this.selectionController.getCurrentRange();
37
+ this.currentSelectedNodes = this.selectionController.getSelectedNodes();
38
+ this.currentSelectedBlocks = this.selectionController.getSelectedBlocks();
39
+ safeDocument && safeDocument.body.append(this.insertURLModalRef);
40
+ this.insertURLInputRef.value = '';
41
+ await this.insertURLModalRef.modal('show');
42
+ await this.insertURLInputRef.doFocus();
43
+ break;
44
+ /* istanbul ignore next */
45
+ default:
46
+ break;
47
+ }
48
+ await this.dropdownRef.hide();
23
49
  };
24
50
  /**
25
51
  * The below method is e2e-test covered in
@@ -32,13 +58,7 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
32
58
  if (!input.files.length) {
33
59
  return;
34
60
  }
35
- const node = this.insertImageController.insertImageToCaretPosition(URL.createObjectURL(input.files[0]));
36
- if (!this.updateNodeURLMap) {
37
- this.updateNodeURLMap = new Map();
38
- }
39
- this.updateNodeURLMap.set(node, (url) => {
40
- node.apply(new ImageUpdateUrlAction(url));
41
- });
61
+ const node = this.applyImageNode(URL.createObjectURL(input.files[0]), 'upload');
42
62
  const payload = {
43
63
  file: input.files[0],
44
64
  sendBackUploadedURLCallback: this.updateNodeURLMap.get(node),
@@ -49,8 +69,14 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
49
69
  }
50
70
  renderBtnWrapper(renderBtn) {
51
71
  return (h("vega-box", null,
52
- renderBtn({ showArrowIcon: false }),
53
- h("input", { type: "file", style: { display: 'none' }, ref: (node) => (this.inputElementRef = node), accept: "image/*", onChange: this.fileInputChange })));
72
+ h("vega-dropdown", { selectType: "none", trigger: "click", alignment: "center", ref: (ref) => {
73
+ this.dropdownRef = ref;
74
+ this.addDropdownObserver(ref);
75
+ } },
76
+ renderBtn({ showArrowIcon: true }),
77
+ h("div", Object.assign({ slot: "items" }, super.preventLostFocus()), this.renderDropdownContent())),
78
+ this.renderUploadInput(),
79
+ this.renderInsertURLModal()));
54
80
  }
55
81
  isSelected() {
56
82
  return false;
@@ -62,10 +88,85 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
62
88
  selectedNodes.some((node) => node.getAnnotationByType(NodeAnnotationTypeEnum.LINK)) ||
63
89
  this.shouldDisabledToolbar(selectedBlock, ModifyContentActionType.INSERT_IMAGE_TO_BLOCK));
64
90
  }
91
+ renderDropdownContent() {
92
+ return (h(Fragment, null, ImageToolbarButtonSlimmer.items.map((item) => {
93
+ return (h("vega-dropdown-item", { key: item.key, itemKey: item.key }, this.translationSlimmer.t(item.label)));
94
+ })));
95
+ }
96
+ renderUploadInput() {
97
+ return (h("input", { type: "file", style: { display: 'none' }, ref: (node) => (this.uploadInputRef = node), accept: "image/*", onChange: this.fileInputChange }));
98
+ }
99
+ renderInsertURLModal() {
100
+ return (h("vega-modal", { size: 500, backdropColor: "semi", ref: (node) => (this.insertURLModalRef = node) },
101
+ h("div", { slot: "modal-title" }, this.translationSlimmer.t('Image via URL')),
102
+ h("div", { slot: "modal-content" },
103
+ h("vega-input", { placeholder: this.translationSlimmer.t('URL'), ref: (ref) => (this.insertURLInputRef = ref),
104
+ /* istanbul ignore next */
105
+ // eslint-disable-next-line react/jsx-no-bind
106
+ onKeyDown: async (event) => {
107
+ event.key === 'Enter' && (await this.insertURLImage());
108
+ } })),
109
+ h("vega-flex", { slot: "modal-footer", gap: "size-8", alignItems: "center", justifyContent: "end" },
110
+ h("vega-button", { label: this.translationSlimmer.t('Cancel'), variant: "secondary", ref: (ref) => {
111
+ this.addModalCancelObserver(ref);
112
+ } }),
113
+ h("vega-button", { label: this.translationSlimmer.t('Insert'), ref: (ref) => {
114
+ this.addModalInsertObserver(ref);
115
+ } }))));
116
+ }
117
+ addDropdownObserver(dropdownRef) {
118
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(dropdownRef, VegaDropdownClick, this.handleDropdownItemClick);
119
+ }
120
+ addModalCancelObserver(buttonRef) {
121
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(buttonRef, VegaClick, async () => {
122
+ await this.insertURLModalRef.modal('hide');
123
+ });
124
+ }
125
+ addModalInsertObserver(buttonRef) {
126
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(buttonRef, VegaClick, this.insertURLImage);
127
+ }
128
+ /**
129
+ * The below method is e2e-test covered in
130
+ * @see{module:should-update-url-properly-when-upload-images}
131
+ */
132
+ /* istanbul ignore next */
133
+ applyImageNode(url, type) {
134
+ const node = type === 'url'
135
+ ? this.insertImageController.insertImageToCaretPosition(url, this.currentSelectedBlocks, this.currentSelectedNodes, this.currentRange)
136
+ : this.insertImageController.insertImageToCaretPosition(url);
137
+ if (!this.updateNodeURLMap) {
138
+ this.updateNodeURLMap = new Map();
139
+ }
140
+ this.updateNodeURLMap.set(node, (url) => {
141
+ node.apply(new ImageUpdateUrlAction(url));
142
+ });
143
+ return node;
144
+ }
145
+ normalizeSafeImageUrl(url) {
146
+ try {
147
+ const parsedUrl = new URL(url);
148
+ if (parsedUrl.protocol === 'javascript:') {
149
+ return '';
150
+ }
151
+ // eslint-disable-next-line no-empty
152
+ }
153
+ catch (_error) { }
154
+ return url;
155
+ }
65
156
  }
66
157
  (() => {
67
158
  VegaInternalIconManager.register({ image: image });
68
159
  })();
160
+ ImageToolbarButtonSlimmer.items = [
161
+ {
162
+ key: 'upload',
163
+ label: 'Upload from computer',
164
+ },
165
+ {
166
+ key: 'url',
167
+ label: 'Insert via URL',
168
+ },
169
+ ];
69
170
  __decorate([
70
171
  MapToComponentField()
71
172
  ], ImageToolbarButtonSlimmer.prototype, "insertImageController", void 0);
@@ -36,7 +36,7 @@ export class SourceEditToolbarButtonSlimmer extends ToolbarButtonSlimmer {
36
36
  return super.isDisabled();
37
37
  }
38
38
  async saveSourceCode() {
39
- const sourceViewValue = this.vegaRichTextEditorRenderer.getSourceCode();
39
+ const sourceViewValue = this.richTextEditorSourceViewRenderer.getSourceCode();
40
40
  if (!sourceViewValue && this.value.isEmpty()) {
41
41
  return;
42
42
  }
@@ -61,7 +61,7 @@ __decorate([
61
61
  ], SourceEditToolbarButtonSlimmer.prototype, "valueController", void 0);
62
62
  __decorate([
63
63
  MapToComponentField()
64
- ], SourceEditToolbarButtonSlimmer.prototype, "vegaRichTextEditorRenderer", void 0);
64
+ ], SourceEditToolbarButtonSlimmer.prototype, "richTextEditorSourceViewRenderer", void 0);
65
65
  __decorate([
66
66
  MapToComponentField()
67
67
  ], SourceEditToolbarButtonSlimmer.prototype, "sourceEditConfig", void 0);
@@ -10,7 +10,6 @@ import { createEnterKeyHandlerToTriggerClick } from '../../../../utils/accessibi
10
10
  import ChangeManager from '../../../../helpers/change-manager/change-manager';
11
11
  import domNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
12
12
  import { VegaInternalComponentDidRender } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
13
- import CodeFormatter from '../../../../helpers/code-format/code-formatter';
14
13
  export class VegaRichTextEditorRenderer extends VegaSlimmer {
15
14
  constructor() {
16
15
  super(...arguments);
@@ -40,16 +39,6 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
40
39
  this.richTextContentFocus = () => {
41
40
  void this.richTextContentRef.vegaFocus();
42
41
  };
43
- this.renderSourceViewContent = () => {
44
- if (!this.allowSourceEdit)
45
- return;
46
- const sourceViewValue = this.sourceView ? CodeFormatter.format(this.value.toHtml()) : '';
47
- return (h("div", { class: {
48
- 'source-view-container': true,
49
- 'vega-hidden': !this.sourceView,
50
- } },
51
- h("vega-code-block", { ref: (ref) => (this.sourceCodeBlockRef = ref), disabled: this.disabled, value: { language: 'html', code: sourceViewValue } })));
52
- };
53
42
  }
54
43
  /**
55
44
  * Component lifecycle - [componentDidRender]{@link VegaRichTextEditor.componentDidRender}
@@ -91,11 +80,6 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
91
80
  return this.richTextContentRef.shadowRoot.querySelector('.rich-text-content');
92
81
  }
93
82
  }
94
- getSourceCode() {
95
- if (this.sourceCodeBlockRef) {
96
- return this.sourceCodeBlockRef.value.code;
97
- }
98
- }
99
83
  render() {
100
84
  return h(Host, null, this.renderRichTextEditor());
101
85
  }
@@ -113,7 +97,7 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
113
97
  renderContent() {
114
98
  return (h(Fragment, null,
115
99
  this.renderTextContent(),
116
- this.renderSourceViewContent()));
100
+ this.richTextEditorSourceViewRenderer.render()));
117
101
  }
118
102
  }
119
103
  __decorate([
@@ -158,6 +142,9 @@ __decorate([
158
142
  __decorate([
159
143
  MapToComponentField()
160
144
  ], VegaRichTextEditorRenderer.prototype, "extensions", void 0);
145
+ __decorate([
146
+ MapToComponentField()
147
+ ], VegaRichTextEditorRenderer.prototype, "richTextEditorSourceViewRenderer", void 0);
161
148
  __decorate([
162
149
  MapToComponentMethod('componentDidRender')
163
150
  ], VegaRichTextEditorRenderer.prototype, "componentDidRender", null);
@@ -0,0 +1,102 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
+ import { h } from '@stencil/core';
9
+ import CodeFormatter from '../../../../helpers/code-format/code-formatter';
10
+ import { DomNodeSubjectObserverFactory } from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
11
+ import { VegaInternalCodeBlockBlur } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
12
+ import { VegaRTEContent } from '../../dto/content-state';
13
+ /**
14
+ * The renderer for the source view of the rich text editor. It renders a code block for editing the source code of the rich text editor content.
15
+ */
16
+ export class VegaRichTextEditorSourceViewRenderer extends VegaSlimmer {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.prevRecord = '';
20
+ /**
21
+ * Handle the blur event of the code block. When the code block loses focus, emit the source code change event with the current source code.
22
+ */
23
+ this.handleCodeBlockBlur = () => {
24
+ var _a;
25
+ // If source view is closed while blurring, it means the user switch back to normal mode, so we can skip emitting the change event.
26
+ if (this.sourceView) {
27
+ const sourceCode = this.getSourceCode();
28
+ const newValue = VegaRTEContent.fromHtml(sourceCode, {
29
+ autoMatchFormat: (_a = this.sourceEditConfig.autoMatchFormat) !== null && _a !== void 0 ? _a : true,
30
+ });
31
+ const newSourceCode = newValue.toHtml();
32
+ if (newSourceCode !== this.prevRecord) {
33
+ this.sourceCodeChangeEventEmitter.emit(newSourceCode);
34
+ this.prevRecord = newSourceCode;
35
+ }
36
+ }
37
+ };
38
+ }
39
+ /**
40
+ * Clean up the code block blur observer when the component is disconnected to prevent memory leaks.
41
+ */
42
+ clearCodeBlockBlurObserver() {
43
+ if (this.sourceCodeBlockRef) {
44
+ DomNodeSubjectObserverFactory.removeUniqueObserverFromNode(this.sourceCodeBlockRef, VegaInternalCodeBlockBlur);
45
+ }
46
+ }
47
+ /**
48
+ * Get the source code from the source view's code block.
49
+ *
50
+ * @returns {Nullable<string>} The source code, or null if the code block reference is not set.
51
+ */
52
+ getSourceCode() {
53
+ if (this.sourceCodeBlockRef) {
54
+ return this.sourceCodeBlockRef.value.code;
55
+ }
56
+ }
57
+ /**
58
+ * Render the source view, which is a code block for editing the source code of the rich text editor content.
59
+ *
60
+ * @returns {Nullable<HTMLElement>} The rendered source view element, or null if source editing is not allowed.
61
+ */
62
+ render() {
63
+ if (!this.allowSourceEdit)
64
+ return;
65
+ const sourceCode = this.value.toHtml();
66
+ const sourceViewValue = this.sourceView ? CodeFormatter.format(sourceCode) : '';
67
+ // Record the source view value when rendering, which will be used to compare with the current source view value when blurring the code block to determine whether to emit the source code change event.
68
+ this.prevRecord = sourceCode;
69
+ return (h("div", { class: {
70
+ 'source-view-container': true,
71
+ 'vega-hidden': !this.sourceView,
72
+ } },
73
+ h("vega-code-block", { ref: (ref) => {
74
+ this.sourceCodeBlockRef = ref;
75
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaInternalCodeBlockBlur, this.handleCodeBlockBlur);
76
+ }, disabled: this.disabled, value: { language: 'html', code: sourceViewValue } })));
77
+ }
78
+ }
79
+ __decorate([
80
+ MapToComponentField()
81
+ ], VegaRichTextEditorSourceViewRenderer.prototype, "host", void 0);
82
+ __decorate([
83
+ MapToComponentField()
84
+ ], VegaRichTextEditorSourceViewRenderer.prototype, "allowSourceEdit", void 0);
85
+ __decorate([
86
+ MapToComponentField()
87
+ ], VegaRichTextEditorSourceViewRenderer.prototype, "sourceView", void 0);
88
+ __decorate([
89
+ MapToComponentField()
90
+ ], VegaRichTextEditorSourceViewRenderer.prototype, "value", void 0);
91
+ __decorate([
92
+ MapToComponentField()
93
+ ], VegaRichTextEditorSourceViewRenderer.prototype, "disabled", void 0);
94
+ __decorate([
95
+ MapToComponentField()
96
+ ], VegaRichTextEditorSourceViewRenderer.prototype, "sourceEditConfig", void 0);
97
+ __decorate([
98
+ MapToComponentField()
99
+ ], VegaRichTextEditorSourceViewRenderer.prototype, "sourceCodeChangeEventEmitter", void 0);
100
+ __decorate([
101
+ MapToComponentMethod('disconnectedCallback')
102
+ ], VegaRichTextEditorSourceViewRenderer.prototype, "clearCodeBlockBlurObserver", null);
@@ -23,7 +23,7 @@ import { LessIndentToolbarButtonSlimmer } from './slimmers/renderers/tools/less-
23
23
  import { ImageToolbarButtonSlimmer } from './slimmers/renderers/tools/image-toolbar-button-slimmer';
24
24
  import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
25
25
  import { createEventEmitSlimmer, } from '../../helpers/event-manager/slimmers/event-emit-slimmer';
26
- import { VegaChange, VegaImageInserted } from '../../helpers/event-manager/event-id/vega-event-id';
26
+ import { VegaChange, VegaImageInserted, VegaSourceCodeChange, } from '../../helpers/event-manager/event-id/vega-event-id';
27
27
  import { TextColorToolbarButtonSlimmer } from './slimmers/renderers/tools/text-color-toolbar-button-slimmer';
28
28
  import { createSubStateNotifySlimmer } from '../../helpers/slimmers/sub-state/sub-state-notify-slimmer';
29
29
  import { BulletsNumbersToolbarButtonSlimmer } from './slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer';
@@ -49,6 +49,7 @@ import { InternalCodeBlockSelectionController } from './slimmers/controllers/int
49
49
  import { SourceEditToolbarButtonSlimmer } from './slimmers/renderers/tools/source-edit-toolbar-button-slimmer';
50
50
  import { RTEExtensionController } from './slimmers/controllers/extension-controller';
51
51
  import { VegaRTEPresetToolbarItems } from './constants/constant';
52
+ import { VegaRichTextEditorSourceViewRenderer } from './slimmers/renderers/vega-rich-text-editor-source-view-renderer';
52
53
  /**
53
54
  * @vegaVersion 2.34.0
54
55
  */
@@ -106,6 +107,8 @@ export class VegaRichTextEditor {
106
107
  this.historyController = new HistoryController();
107
108
  this.internalCodeBlockSelectionController = new InternalCodeBlockSelectionController();
108
109
  this.rteExtensionController = new RTEExtensionController();
110
+ this.sourceCodeChangeEventEmitter = createEventEmitSlimmer(VegaRichTextEditor, VegaSourceCodeChange);
111
+ this.richTextEditorSourceViewRenderer = new VegaRichTextEditorSourceViewRenderer();
109
112
  this.richTextContentEditable = true;
110
113
  this.selectionMap = new Map();
111
114
  this.isInDarkMode = VegaInternalThemeManager.isDarkMode();
@@ -660,6 +663,45 @@ export class VegaRichTextEditor {
660
663
  }
661
664
  }
662
665
  }
666
+ }, {
667
+ "method": "vegaSourceCodeChange",
668
+ "name": "vegaSourceCodeChange",
669
+ "bubbles": true,
670
+ "cancelable": true,
671
+ "composed": true,
672
+ "docs": {
673
+ "tags": [{
674
+ "name": "vegaVersion",
675
+ "text": "2.78.0"
676
+ }],
677
+ "text": "An event emitter notifying a source code change event. It triggers when the editor loses focus in source edit mode."
678
+ },
679
+ "complexType": {
680
+ "original": "string",
681
+ "resolved": "string",
682
+ "references": {}
683
+ }
684
+ }, {
685
+ "method": "sourceCodeChange",
686
+ "name": "sourceCodeChange",
687
+ "bubbles": true,
688
+ "cancelable": true,
689
+ "composed": true,
690
+ "docs": {
691
+ "tags": [{
692
+ "name": "eventSemantics",
693
+ "text": "namespace:native"
694
+ }, {
695
+ "name": "vegaVersion",
696
+ "text": "2.78.0"
697
+ }],
698
+ "text": "An event emitter notifying a source code change event. It triggers when the editor loses focus in source edit mode."
699
+ },
700
+ "complexType": {
701
+ "original": "string",
702
+ "resolved": "string",
703
+ "references": {}
704
+ }
663
705
  }]; }
664
706
  static get elementRef() { return "host"; }
665
707
  static get watchers() { return [{
@@ -802,3 +844,9 @@ __decorate([
802
844
  __decorate([
803
845
  InjectVegaSlimmer()
804
846
  ], VegaRichTextEditor.prototype, "rteExtensionController", void 0);
847
+ __decorate([
848
+ InjectVegaSlimmer()
849
+ ], VegaRichTextEditor.prototype, "sourceCodeChangeEventEmitter", void 0);
850
+ __decorate([
851
+ InjectVegaSlimmer()
852
+ ], VegaRichTextEditor.prototype, "richTextEditorSourceViewRenderer", void 0);
@@ -27,7 +27,7 @@ export class VegaRichTextImageEditorRenderer extends VegaSlimmer {
27
27
  };
28
28
  }
29
29
  render() {
30
- return (h("vega-popover", { style: { width: '100%' }, trigger: "click", alignment: "start", placement: "bottom", showArrow: false, ref: (ref) => {
30
+ return (h("vega-popover", { style: { width: '100%' }, trigger: "click", alignment: "start", placement: "bottom", showArrow: false, isScreenPosition: true, ref: (ref) => {
31
31
  this.popoverRef = ref;
32
32
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaPopoverShow, () => {
33
33
  this.selected = true;
@@ -188,7 +188,7 @@ export class VegaStepper {
188
188
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaBlur, (input) => this.handleInputBlur(input));
189
189
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaChange, (input) => this.onChildInputChange(input));
190
190
  return (this.inputRef = el);
191
- } }),
191
+ }, "data-aria-label": this.label || 'stepper' }),
192
192
  h("vega-button-circle", { label: "Increase", showTooltip: false, ref: (ref) => {
193
193
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClick, () => this.onIncrease());
194
194
  }, icon: "plus-sign", disabled: this.value >= this.max || this.disabled, size: "small", variant: this.buttonVariant == 'secondary' ? 'secondary' : 'primary' }))), this.host);