@heartlandone/vega 2.76.0 → 2.77.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 (357) hide show
  1. package/dist/cjs/{app-globals-12b7d808.js → app-globals-04e7024b.js} +2 -2
  2. package/dist/cjs/aria-attributes-value-mapper-f58c73f8.js +136 -0
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-84435957.js → child-nodes-event-prevent-slimmer-cc6d2919.js} +1 -1
  4. package/dist/cjs/{design-token-41baf118.js → design-token-c49717c8.js} +1 -1
  5. package/dist/cjs/{element-appender-slimmer-34e4eb56.js → element-appender-slimmer-38583ca9.js} +2 -2
  6. package/dist/cjs/index.cjs.js +4 -4
  7. package/dist/cjs/legend-input-processor-1e53e5bc.js +2126 -0
  8. package/dist/cjs/loader.cjs.js +4 -4
  9. package/dist/cjs/{responsive-format-facade-ea59bdcd.js → responsive-format-facade-acc39a40.js} +1 -1
  10. package/dist/cjs/{style-formatter-0c3ced39.js → style-formatter-028af284.js} +1 -1
  11. package/dist/cjs/{token-extension-07cac85d.js → token-extension-ffcaeae0.js} +98 -77
  12. package/dist/cjs/vega-accordion.cjs.entry.js +5 -5
  13. package/dist/cjs/vega-app-header-button.cjs.entry.js +18 -143
  14. package/dist/cjs/vega-banner.cjs.entry.js +1 -1
  15. package/dist/cjs/vega-bar-chart.cjs.entry.js +2 -2
  16. package/dist/cjs/vega-box.cjs.entry.js +4 -4
  17. package/dist/cjs/vega-breadcrumb.cjs.entry.js +2 -2
  18. package/dist/cjs/vega-button-circle.cjs.entry.js +21 -6
  19. package/dist/cjs/vega-button-group_2.cjs.entry.js +2 -2
  20. package/dist/cjs/vega-button-link.cjs.entry.js +2 -2
  21. package/dist/cjs/vega-button.cjs.entry.js +3 -3
  22. package/dist/cjs/vega-calendar_4.cjs.entry.js +2 -2
  23. package/dist/cjs/vega-card.cjs.entry.js +3 -3
  24. package/dist/cjs/vega-carousel.cjs.entry.js +2 -2
  25. package/dist/cjs/vega-checkbox_2.cjs.entry.js +2 -2
  26. package/dist/cjs/vega-chip.cjs.entry.js +4 -4
  27. package/dist/cjs/vega-code-block.cjs.entry.js +2 -2
  28. package/dist/cjs/vega-combo-box.cjs.entry.js +2 -2
  29. package/dist/cjs/vega-date-picker_2.cjs.entry.js +29 -7
  30. package/dist/cjs/vega-dialog_2.cjs.entry.js +4 -4
  31. package/dist/cjs/vega-divider.cjs.entry.js +3 -3
  32. package/dist/cjs/vega-dropdown_5.cjs.entry.js +4 -4
  33. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  34. package/dist/cjs/vega-flag-icon.cjs.entry.js +3 -3
  35. package/dist/cjs/vega-flex.cjs.entry.js +4 -4
  36. package/dist/cjs/vega-font.cjs.entry.js +3 -3
  37. package/dist/cjs/vega-form.cjs.entry.js +2 -2
  38. package/dist/cjs/vega-grid.cjs.entry.js +3 -3
  39. package/dist/cjs/vega-icon.cjs.entry.js +3 -3
  40. package/dist/cjs/vega-image-uploader.cjs.entry.js +3 -3
  41. package/dist/cjs/vega-input-credit-card.cjs.entry.js +2 -2
  42. package/dist/cjs/vega-input-numeric.cjs.entry.js +2 -2
  43. package/dist/cjs/vega-input-passcode.cjs.entry.js +2 -2
  44. package/dist/cjs/vega-input-phone-number.cjs.entry.js +4753 -5585
  45. package/dist/cjs/vega-input-range.cjs.entry.js +2 -2
  46. package/dist/cjs/vega-input-select.cjs.entry.js +3 -3
  47. package/dist/cjs/vega-left-nav_5.cjs.entry.js +3 -3
  48. package/dist/cjs/vega-line-chart.cjs.entry.js +325 -23
  49. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +2 -2
  50. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +2 -2
  51. package/dist/cjs/vega-pagination.cjs.entry.js +3 -3
  52. package/dist/cjs/vega-pie-chart.cjs.entry.js +5 -88
  53. package/dist/cjs/vega-popover_2.cjs.entry.js +4 -4
  54. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +2 -2
  55. package/dist/cjs/vega-radio_2.cjs.entry.js +2 -2
  56. package/dist/cjs/vega-rich-text-content.cjs.entry.js +14 -0
  57. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +2 -2
  58. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +3 -3
  59. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +2 -2
  60. package/dist/cjs/vega-sidenav_3.cjs.entry.js +2 -2
  61. package/dist/cjs/vega-signature-capture.cjs.entry.js +3 -3
  62. package/dist/cjs/vega-stepper.cjs.entry.js +2 -2
  63. package/dist/cjs/vega-tab-group_2.cjs.entry.js +2 -2
  64. package/dist/cjs/vega-table_11.cjs.entry.js +3 -3
  65. package/dist/cjs/vega-textarea.cjs.entry.js +2 -2
  66. package/dist/cjs/vega-time-picker_2.cjs.entry.js +4 -4
  67. package/dist/cjs/vega-tooltip_2.cjs.entry.js +3 -3
  68. package/dist/cjs/vega.cjs.js +4 -4
  69. package/dist/cjs/y-axis-input-processor-54a26515.js +832 -0
  70. package/dist/collection/components/vega-accordion/slimmers/vega-accordion-renderer.js +1 -1
  71. package/dist/collection/components/vega-accordion/vega-accordion.css +5 -0
  72. package/dist/collection/components/vega-button-circle/vega-button-circle.js +17 -3
  73. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.js +16 -2
  74. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +184 -207
  75. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.js +32 -0
  76. package/dist/collection/components/vega-input-phone-number/slimmers/controllers/country-select-controller.js +1 -1
  77. package/dist/collection/components/vega-input-phone-number/slimmers/controllers/vega-input-phone-number-value-controller.js +1 -1
  78. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.js +1 -1
  79. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/phone-number-input-renderer.js +1 -1
  80. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +4 -4
  81. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +15 -0
  82. package/dist/collection/components/vega-rich-text-editor/extensions/base-extension-renderer.js +11 -0
  83. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +15 -1
  84. package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +2 -0
  85. package/dist/collection/components/vega-rich-text-editor/extensions/functions/function-extension.js +0 -11
  86. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +23 -23
  87. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-extension.js +0 -10
  88. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.js +7 -17
  89. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +12 -16
  90. package/dist/collection/components/vega-rich-text-editor/helpers/extension-context-manager.js +31 -0
  91. package/dist/collection/components/vega-rich-text-editor/helpers/extension-context-manager.test.js +19 -0
  92. package/dist/collection/components/vega-rich-text-editor/test/extensions/extension-test-utils.js +41 -0
  93. package/dist/collection/helpers/chart/input-processors/format-time-positions-input-processor.js +2 -2
  94. package/dist/collection/helpers/chart/input-processors/pie-chart-arc-path-input-processor.js +1 -1
  95. package/dist/collection/helpers/chart/input-processors/x-axis-input-processor.js +5 -3
  96. package/dist/collection/helpers/chart/input-processors/x-axis-label-formatter-input-processor.js +2 -1
  97. package/dist/collection/helpers/chart/input-processors/y-axis-input-processor.js +7 -5
  98. package/dist/collection/helpers/chart/interacting-entry-generator/arc-path-hover-generator.js +1 -1
  99. package/dist/collection/helpers/chart/interacting-entry-generator/pie-legend-hover-generator.js +1 -1
  100. package/dist/collection/helpers/chart/renderers/canvas-renderer.js +1 -1
  101. package/dist/collection/helpers/chart/renderers/svg-renderer.js +1 -1
  102. package/dist/collection/helpers/chart/test/drawers/arc-path-drawer.test.js +1 -1
  103. package/dist/collection/helpers/chart/test/input-processors/format-time-positions-input-processor.test.js +1 -1
  104. package/dist/collection/helpers/chart/test/input-processors/sort-positions-input-processor.test.js +1 -1
  105. package/dist/collection/helpers/chart/test/input-processors/x-axis-input-processor.test.js +39 -0
  106. package/dist/collection/helpers/chart/test/input-processors/x-axis-label-formatter-input-processor.test.js +61 -14
  107. package/dist/collection/helpers/chart/test/input-processors/y-axis-input-processor.coverage.test.js +39 -0
  108. package/dist/collection/helpers/chart/test/input-processors/y-axis-input-processor.test.js +14 -0
  109. package/dist/collection/helpers/chart/test/renderers/svg-renderer.test.js +1 -1
  110. package/dist/collection/helpers/common/test/wait-for-component-did-render.test.js +67 -0
  111. package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +4 -0
  112. package/dist/collection/helpers/slimmers/mutation-observer/test/aria-attributes-value-mapper.test.js +1 -1
  113. package/dist/collection/helpers/validator/rules/valid-phone-number-rule.js +1 -1
  114. package/dist/collection/helpers/validator/test/rules/valid-phone-number-rule.test.js +10 -0
  115. package/dist/collection/polyfill/d3/d3-array-polyfill.js +89 -0
  116. package/dist/collection/polyfill/d3/d3-axis-polyfill.js +195 -0
  117. package/dist/collection/polyfill/d3/d3-scale-polyfill.js +582 -0
  118. package/dist/collection/polyfill/d3/d3-selection-polyfill.js +274 -0
  119. package/dist/collection/polyfill/d3/d3-shape-polyfill.js +252 -0
  120. package/dist/collection/polyfill/d3/d3-time-format-polyfill.js +207 -0
  121. package/dist/collection/polyfill/d3/d3-time-polyfill.js +99 -0
  122. package/dist/collection/polyfill/d3/index.js +31 -0
  123. package/dist/collection/polyfill/d3/test/d3-array-polyfill.test.js +72 -0
  124. package/dist/collection/polyfill/d3/test/d3-axis-polyfill.test.js +171 -0
  125. package/dist/collection/polyfill/d3/test/d3-integration.test.js +137 -0
  126. package/dist/collection/polyfill/d3/test/d3-scale-polyfill.test.js +382 -0
  127. package/dist/collection/polyfill/d3/test/d3-selection-polyfill.test.js +239 -0
  128. package/dist/collection/polyfill/d3/test/d3-shape-polyfill.test.js +225 -0
  129. package/dist/collection/polyfill/d3/test/d3-time-format-polyfill.test.js +162 -0
  130. package/dist/collection/polyfill/d3/test/d3-time-polyfill.test.js +76 -0
  131. package/dist/collection/polyfill/d3/test/index.test.js +78 -0
  132. package/dist/collection/polyfill/libphonenumber/as-you-type.js +405 -0
  133. package/dist/collection/polyfill/libphonenumber/format-helpers.js +186 -0
  134. package/dist/collection/polyfill/libphonenumber/index.js +22 -0
  135. package/dist/collection/polyfill/libphonenumber/metadata.js +150 -0
  136. package/dist/collection/polyfill/libphonenumber/metadata.json.js +3900 -0
  137. package/dist/collection/polyfill/libphonenumber/parse-phone-number.js +127 -0
  138. package/dist/collection/polyfill/libphonenumber/phone-number.js +38 -0
  139. package/dist/collection/polyfill/libphonenumber/test/as-you-type.test.js +309 -0
  140. package/dist/collection/polyfill/libphonenumber/test/format-helpers.test.js +192 -0
  141. package/dist/collection/polyfill/libphonenumber/test/index.test.js +16 -0
  142. package/dist/collection/polyfill/libphonenumber/test/metadata.test.js +196 -0
  143. package/dist/collection/polyfill/libphonenumber/test/parse-phone-number.test.js +218 -0
  144. package/dist/collection/polyfill/libphonenumber/test/phone-number.test.js +56 -0
  145. package/dist/collection/polyfill/libphonenumber/types.js +23 -0
  146. package/dist/esm/{app-globals-c0676920.js → app-globals-32055795.js} +2 -2
  147. package/dist/esm/aria-attributes-value-mapper-d4fef46a.js +134 -0
  148. package/dist/esm/{child-nodes-event-prevent-slimmer-649b9d30.js → child-nodes-event-prevent-slimmer-331312b8.js} +1 -1
  149. package/dist/esm/{design-token-4aee1c56.js → design-token-5bc034e1.js} +1 -1
  150. package/dist/esm/{element-appender-slimmer-e4713a72.js → element-appender-slimmer-9ea377d0.js} +2 -2
  151. package/dist/esm/index.js +4 -4
  152. package/dist/esm/legend-input-processor-122008c5.js +2116 -0
  153. package/dist/esm/loader.js +4 -4
  154. package/dist/esm/{responsive-format-facade-7a071174.js → responsive-format-facade-aa705823.js} +1 -1
  155. package/dist/esm/{style-formatter-3d06b72d.js → style-formatter-28138f5c.js} +1 -1
  156. package/dist/esm/{token-extension-e33fd151.js → token-extension-73e4460a.js} +98 -77
  157. package/dist/esm/vega-accordion.entry.js +5 -5
  158. package/dist/esm/vega-app-header-button.entry.js +17 -142
  159. package/dist/esm/vega-banner.entry.js +1 -1
  160. package/dist/esm/vega-bar-chart.entry.js +2 -2
  161. package/dist/esm/vega-box.entry.js +4 -4
  162. package/dist/esm/vega-breadcrumb.entry.js +2 -2
  163. package/dist/esm/vega-button-circle.entry.js +21 -6
  164. package/dist/esm/vega-button-group_2.entry.js +2 -2
  165. package/dist/esm/vega-button-link.entry.js +2 -2
  166. package/dist/esm/vega-button.entry.js +3 -3
  167. package/dist/esm/vega-calendar_4.entry.js +2 -2
  168. package/dist/esm/vega-card.entry.js +3 -3
  169. package/dist/esm/vega-carousel.entry.js +2 -2
  170. package/dist/esm/vega-checkbox_2.entry.js +2 -2
  171. package/dist/esm/vega-chip.entry.js +4 -4
  172. package/dist/esm/vega-code-block.entry.js +2 -2
  173. package/dist/esm/vega-combo-box.entry.js +2 -2
  174. package/dist/esm/vega-date-picker_2.entry.js +29 -7
  175. package/dist/esm/vega-dialog_2.entry.js +4 -4
  176. package/dist/esm/vega-divider.entry.js +3 -3
  177. package/dist/esm/vega-dropdown_5.entry.js +4 -4
  178. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  179. package/dist/esm/vega-flag-icon.entry.js +3 -3
  180. package/dist/esm/vega-flex.entry.js +4 -4
  181. package/dist/esm/vega-font.entry.js +3 -3
  182. package/dist/esm/vega-form.entry.js +2 -2
  183. package/dist/esm/vega-grid.entry.js +3 -3
  184. package/dist/esm/vega-icon.entry.js +3 -3
  185. package/dist/esm/vega-image-uploader.entry.js +3 -3
  186. package/dist/esm/vega-input-credit-card.entry.js +2 -2
  187. package/dist/esm/vega-input-numeric.entry.js +2 -2
  188. package/dist/esm/vega-input-passcode.entry.js +2 -2
  189. package/dist/esm/vega-input-phone-number.entry.js +4753 -5585
  190. package/dist/esm/vega-input-range.entry.js +2 -2
  191. package/dist/esm/vega-input-select.entry.js +3 -3
  192. package/dist/esm/vega-left-nav_5.entry.js +3 -3
  193. package/dist/esm/vega-line-chart.entry.js +311 -9
  194. package/dist/esm/vega-loader-wrapper_2.entry.js +2 -2
  195. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +2 -2
  196. package/dist/esm/vega-pagination.entry.js +3 -3
  197. package/dist/esm/vega-pie-chart.entry.js +5 -88
  198. package/dist/esm/vega-popover_2.entry.js +4 -4
  199. package/dist/esm/vega-progress-tracker_2.entry.js +2 -2
  200. package/dist/esm/vega-radio_2.entry.js +2 -2
  201. package/dist/esm/vega-rich-text-content.entry.js +14 -0
  202. package/dist/esm/vega-rich-text-editor_4.entry.js +2 -2
  203. package/dist/esm/vega-selection-chip_2.entry.js +3 -3
  204. package/dist/esm/vega-selection-tile_2.entry.js +2 -2
  205. package/dist/esm/vega-sidenav_3.entry.js +2 -2
  206. package/dist/esm/vega-signature-capture.entry.js +3 -3
  207. package/dist/esm/vega-stepper.entry.js +2 -2
  208. package/dist/esm/vega-tab-group_2.entry.js +2 -2
  209. package/dist/esm/vega-table_11.entry.js +3 -3
  210. package/dist/esm/vega-textarea.entry.js +2 -2
  211. package/dist/esm/vega-time-picker_2.entry.js +4 -4
  212. package/dist/esm/vega-tooltip_2.entry.js +3 -3
  213. package/dist/esm/vega.js +4 -4
  214. package/dist/esm/y-axis-input-processor-c7e05353.js +826 -0
  215. package/dist/sri/vega-sri-manifest.json +234 -230
  216. package/dist/types/components/vega-button-circle/vega-button-circle.d.ts +2 -0
  217. package/dist/types/components/vega-date-picker/types.d.ts +14 -0
  218. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.d.ts +3 -0
  219. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.d.ts +9 -1
  220. package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +6 -0
  221. package/dist/types/components/vega-rich-text-editor/extensions/base-extension-renderer.d.ts +9 -1
  222. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +9 -1
  223. package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts +0 -7
  224. package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.d.ts +5 -10
  225. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-extension.d.ts +1 -5
  226. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.d.ts +3 -8
  227. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.d.ts +5 -9
  228. package/dist/types/components/vega-rich-text-editor/helpers/extension-context-manager.d.ts +26 -0
  229. package/dist/types/components/vega-rich-text-editor/helpers/extension-context-manager.test.d.ts +1 -0
  230. package/dist/types/components/vega-rich-text-editor/interface.d.ts +4 -0
  231. package/dist/types/components/vega-rich-text-editor/test/extensions/extension-test-utils.d.ts +21 -0
  232. package/dist/types/components.d.ts +11 -1
  233. package/dist/types/helpers/chart/test/input-processors/y-axis-input-processor.coverage.test.d.ts +1 -0
  234. package/dist/types/helpers/common/test/wait-for-component-did-render.test.d.ts +1 -0
  235. package/dist/types/polyfill/d3/d3-array-polyfill.d.ts +48 -0
  236. package/dist/types/polyfill/d3/d3-axis-polyfill.d.ts +53 -0
  237. package/dist/types/polyfill/d3/d3-scale-polyfill.d.ts +42 -0
  238. package/dist/types/polyfill/d3/d3-selection-polyfill.d.ts +173 -0
  239. package/dist/types/polyfill/d3/d3-shape-polyfill.d.ts +129 -0
  240. package/dist/types/polyfill/d3/d3-time-format-polyfill.d.ts +28 -0
  241. package/dist/types/polyfill/d3/d3-time-polyfill.d.ts +68 -0
  242. package/dist/types/polyfill/d3/index.d.ts +27 -0
  243. package/dist/types/polyfill/d3/test/d3-array-polyfill.test.d.ts +1 -0
  244. package/dist/types/polyfill/d3/test/d3-axis-polyfill.test.d.ts +1 -0
  245. package/dist/types/polyfill/d3/test/d3-integration.test.d.ts +1 -0
  246. package/dist/types/polyfill/d3/test/d3-scale-polyfill.test.d.ts +1 -0
  247. package/dist/types/polyfill/d3/test/d3-selection-polyfill.test.d.ts +1 -0
  248. package/dist/types/polyfill/d3/test/d3-shape-polyfill.test.d.ts +1 -0
  249. package/dist/types/polyfill/d3/test/d3-time-format-polyfill.test.d.ts +1 -0
  250. package/dist/types/polyfill/d3/test/d3-time-polyfill.test.d.ts +1 -0
  251. package/dist/types/polyfill/d3/test/index.test.d.ts +1 -0
  252. package/dist/types/polyfill/libphonenumber/as-you-type.d.ts +154 -0
  253. package/dist/types/polyfill/libphonenumber/format-helpers.d.ts +64 -0
  254. package/dist/types/polyfill/libphonenumber/index.d.ts +22 -0
  255. package/dist/types/polyfill/libphonenumber/metadata.d.ts +45 -0
  256. package/dist/types/polyfill/libphonenumber/metadata.json.d.ts +470 -0
  257. package/dist/types/polyfill/libphonenumber/parse-phone-number.d.ts +26 -0
  258. package/dist/types/polyfill/libphonenumber/phone-number.d.ts +24 -0
  259. package/dist/types/polyfill/libphonenumber/test/as-you-type.test.d.ts +1 -0
  260. package/dist/types/polyfill/libphonenumber/test/format-helpers.test.d.ts +1 -0
  261. package/dist/types/polyfill/libphonenumber/test/index.test.d.ts +1 -0
  262. package/dist/types/polyfill/libphonenumber/test/metadata.test.d.ts +1 -0
  263. package/dist/types/polyfill/libphonenumber/test/parse-phone-number.test.d.ts +1 -0
  264. package/dist/types/polyfill/libphonenumber/test/phone-number.test.d.ts +1 -0
  265. package/dist/types/polyfill/libphonenumber/types.d.ts +77 -0
  266. package/dist/types/types/components.type.d.ts +1 -0
  267. package/dist/types/types/flag.type.d.ts +255 -4
  268. package/dist/types/types/vega-chart.d.ts +10 -11
  269. package/dist/vega/index.esm.js +1 -1
  270. package/dist/vega/{p-d8fadcdc.entry.js → p-0037068c.entry.js} +1 -1
  271. package/dist/vega/{p-3d8122ab.entry.js → p-010ff53d.entry.js} +1 -1
  272. package/dist/vega/{p-bb5e0192.entry.js → p-03004a05.entry.js} +1 -1
  273. package/dist/vega/{p-f05b8f76.entry.js → p-0572c393.entry.js} +1 -1
  274. package/dist/vega/{p-02a7d60c.entry.js → p-0a3a285b.entry.js} +1 -1
  275. package/dist/vega/p-0d4cb1c7.entry.js +1 -0
  276. package/dist/vega/{p-a7a8a4eb.entry.js → p-100b44c3.entry.js} +1 -1
  277. package/dist/vega/{p-8dbdd609.entry.js → p-168bb296.entry.js} +1 -1
  278. package/dist/vega/{p-b136ebba.entry.js → p-1a011d47.entry.js} +1 -1
  279. package/dist/vega/{p-10734a00.js → p-1a51bf6f.js} +1 -1
  280. package/dist/vega/{p-6dcdb580.entry.js → p-1deedff2.entry.js} +1 -1
  281. package/dist/vega/{p-3244c605.entry.js → p-1fa0c7da.entry.js} +1 -1
  282. package/dist/vega/{p-dd3a94f4.entry.js → p-22056609.entry.js} +1 -1
  283. package/dist/vega/{p-c29068fb.entry.js → p-2b142818.entry.js} +1 -1
  284. package/dist/vega/{p-2ba78982.entry.js → p-34bcf4ed.entry.js} +1 -1
  285. package/dist/vega/{p-94a77fbe.entry.js → p-36a09524.entry.js} +1 -1
  286. package/dist/vega/{p-154f9cf7.entry.js → p-3c05abd9.entry.js} +1 -1
  287. package/dist/vega/{p-fd7ddd64.entry.js → p-3ce2b05c.entry.js} +1 -1
  288. package/dist/vega/{p-28ad1864.entry.js → p-43ff48c0.entry.js} +1 -1
  289. package/dist/vega/{p-ca5898dc.entry.js → p-4742feef.entry.js} +1 -1
  290. package/dist/vega/{p-eda988d5.entry.js → p-4aa52ed2.entry.js} +1 -1
  291. package/dist/vega/{p-d555f677.entry.js → p-4aa94940.entry.js} +1 -1
  292. package/dist/vega/p-4bee4202.entry.js +1 -0
  293. package/dist/vega/{p-01d58eb8.entry.js → p-50d074ed.entry.js} +1 -1
  294. package/dist/vega/{p-033c31d8.entry.js → p-5485c387.entry.js} +1 -1
  295. package/dist/vega/{p-f14a5eae.entry.js → p-560d2f48.entry.js} +1 -1
  296. package/dist/vega/{p-bebfbe95.entry.js → p-5833f33b.entry.js} +1 -1
  297. package/dist/vega/{p-b366deff.entry.js → p-592296d7.entry.js} +1 -1
  298. package/dist/vega/{p-5831d6d3.entry.js → p-5cfce62d.entry.js} +1 -1
  299. package/dist/vega/p-5f377954.js +1 -1
  300. package/dist/vega/{p-e1431c14.entry.js → p-60f77f5f.entry.js} +1 -1
  301. package/dist/vega/p-641cdb5c.entry.js +1 -0
  302. package/dist/vega/{p-32183637.entry.js → p-67745549.entry.js} +1 -1
  303. package/dist/vega/{p-087ea379.entry.js → p-70df91fb.entry.js} +1 -1
  304. package/dist/vega/{p-76181a70.entry.js → p-7425cedc.entry.js} +1 -1
  305. package/dist/vega/{p-89f2e16d.entry.js → p-857069a5.entry.js} +1 -1
  306. package/dist/vega/p-8e34b266.js +1 -0
  307. package/dist/vega/{p-32faa460.entry.js → p-9441f2ba.entry.js} +1 -1
  308. package/dist/vega/{p-2b49686d.entry.js → p-9fb877c1.entry.js} +1 -1
  309. package/dist/vega/p-a46e977b.entry.js +1 -0
  310. package/dist/vega/p-ac82b9f9.entry.js +1 -0
  311. package/dist/vega/p-b1773281.entry.js +1 -0
  312. package/dist/vega/{p-6d60b66a.entry.js → p-b54dc37c.entry.js} +1 -1
  313. package/dist/vega/{p-179aad4f.entry.js → p-b5f18f4b.entry.js} +1 -1
  314. package/dist/vega/{p-7181861a.js → p-bff57aa4.js} +1 -1
  315. package/dist/vega/{p-d7a78c5e.entry.js → p-c165232c.entry.js} +1 -1
  316. package/dist/vega/{p-8950987b.entry.js → p-c292ade4.entry.js} +1 -1
  317. package/dist/vega/p-c2d2faa0.js +1 -0
  318. package/dist/vega/{p-fc1fa345.js → p-cc5eaa1b.js} +1 -1
  319. package/dist/vega/p-cccd7648.entry.js +1 -0
  320. package/dist/vega/{p-7958614a.entry.js → p-cfecc1cb.entry.js} +1 -1
  321. package/dist/vega/{p-57927b10.entry.js → p-d07f5d5a.entry.js} +1 -1
  322. package/dist/vega/{p-9a137bab.entry.js → p-d1cfe972.entry.js} +1 -1
  323. package/dist/vega/{p-d6dbbe61.entry.js → p-d2ee5711.entry.js} +1 -1
  324. package/dist/vega/{p-b256b7a4.js → p-d78f6ede.js} +1 -1
  325. package/dist/vega/p-d8180e42.entry.js +1 -0
  326. package/dist/vega/{p-8b153acd.entry.js → p-daa60a59.entry.js} +1 -1
  327. package/dist/vega/{p-249df6d2.entry.js → p-db5fa164.entry.js} +1 -1
  328. package/dist/vega/p-de64f6e6.js +1 -0
  329. package/dist/vega/p-e4917e76.js +1 -0
  330. package/dist/vega/{p-2cc9d126.entry.js → p-e6cf2ace.entry.js} +1 -1
  331. package/dist/vega/p-e7fbef97.js +1 -0
  332. package/dist/vega/p-f3e6483c.js +1 -0
  333. package/dist/vega/{p-a560d8c5.entry.js → p-f428086c.entry.js} +1 -1
  334. package/dist/vega/{p-4e017458.entry.js → p-fc9ac6e9.entry.js} +1 -1
  335. package/dist/vega/{p-e2af0e24.entry.js → p-ffd48e37.entry.js} +1 -1
  336. package/dist/vega/vega.esm.js +1 -1
  337. package/package.json +2 -6
  338. package/dist/cjs/legend-input-processor-27c65353.js +0 -4759
  339. package/dist/cjs/y-axis-input-processor-9fbfd5e7.js +0 -2302
  340. package/dist/esm/legend-input-processor-5ecae3a7.js +0 -4742
  341. package/dist/esm/y-axis-input-processor-bc54314a.js +0 -2290
  342. package/dist/vega/p-1f5e35dc.entry.js +0 -1
  343. package/dist/vega/p-2e91295d.entry.js +0 -1
  344. package/dist/vega/p-32033e7a.js +0 -1
  345. package/dist/vega/p-46b077d9.js +0 -1
  346. package/dist/vega/p-4e4a0228.entry.js +0 -1
  347. package/dist/vega/p-644f701a.js +0 -1
  348. package/dist/vega/p-6a62e476.entry.js +0 -1
  349. package/dist/vega/p-a13a73fa.entry.js +0 -1
  350. package/dist/vega/p-be23bef2.js +0 -1
  351. package/dist/vega/p-c1d13eec.entry.js +0 -1
  352. package/dist/vega/p-e89e3ede.entry.js +0 -1
  353. package/dist/vega/p-f3d0f2dc.js +0 -1
  354. package/dist/vega/p-f5bafc45.entry.js +0 -1
  355. /package/dist/cjs/{feature-flag-controller-04cb1e69.js → feature-flag-controller-9129ef52.js} +0 -0
  356. /package/dist/esm/{feature-flag-controller-09ea7e87.js → feature-flag-controller-30f7b625.js} +0 -0
  357. /package/dist/vega/{p-07cb0243.js → p-18e8d9b7.js} +0 -0
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
- import { getCountries } from 'libphonenumber-js';
8
+ import { getCountries } from '../../../../polyfill/libphonenumber';
9
9
  import remoteInvocationRegistry from '../../../../helpers/remote-invocation/remote-invocation-registry';
10
10
  import { COUNTRIES } from '../../assets/countries';
11
11
  import { VegaDropdownSearchInternalOverridden } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
@@ -7,7 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
8
  import { FORM_ELEMENT_VALUE_CHANGE } from '../../../../helpers/change-manager/subject/static-subject/static-subject-title';
9
9
  import ChangeManager from '../../../../helpers/change-manager/change-manager';
10
- import { AsYouType, formatIncompletePhoneNumber, getCountryCallingCode, parseIncompletePhoneNumber, } from 'libphonenumber-js';
10
+ import { AsYouType, formatIncompletePhoneNumber, getCountryCallingCode, parseIncompletePhoneNumber, } from '../../../../polyfill/libphonenumber';
11
11
  import { CountrySelectController } from './country-select-controller';
12
12
  /**
13
13
  * The `VegaInputPhoneNumberValueController` class in TypeScript manages input phone number values and
@@ -9,7 +9,7 @@ import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-sli
9
9
  import { DomNodeSubjectObserverFactory } from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
10
10
  import { VegaChange } from '../../../../helpers/event-manager/event-id/vega-event-id';
11
11
  import { VegaInternalIconManager } from '../../../../helpers/icon/internal-icon-manager';
12
- import { getCountryCallingCode } from 'libphonenumber-js';
12
+ import { getCountryCallingCode } from '../../../../polyfill/libphonenumber';
13
13
  import { COUNTRIES } from '../../assets/countries';
14
14
  import remoteInvocationRegistry from '../../../../helpers/remote-invocation/remote-invocation-registry';
15
15
  import { VegaDropdownRenderItemInternalOverridden, VegaInputSelectRenderPrefixIconInternalOverridden, } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
@@ -8,7 +8,7 @@ import { h } from '@stencil/core';
8
8
  import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
9
9
  import { DomNodeSubjectObserverFactory } from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
10
10
  import { VegaChange } from '../../../../helpers/event-manager/event-id/vega-event-id';
11
- import { parseIncompletePhoneNumber } from 'libphonenumber-js';
11
+ import { parseIncompletePhoneNumber } from '../../../../polyfill/libphonenumber';
12
12
  import { VegaPhoneNumberInputStrategy } from '../../../../helpers/formatter/string-formatter/vega-phone-number-input-strategy';
13
13
  export class PhoneNumberInputRenderer extends VegaSlimmer {
14
14
  constructor() {
@@ -10,7 +10,7 @@ import { InjectVegaGlobalSlimmer, InjectVegaSlimmer, methodPlaceholder, } from '
10
10
  import { VegaInputPhoneNumberRenderer } from './slimmers/renderers/vega-input-phone-number-renderer';
11
11
  import { CountrySelectRenderer } from './slimmers/renderers/country-select-renderer';
12
12
  import { PhoneNumberInputRenderer } from './slimmers/renderers/phone-number-input-renderer';
13
- import { getCountryCallingCode } from 'libphonenumber-js';
13
+ import { getCountryCallingCode } from '../../polyfill/libphonenumber';
14
14
  import { VegaInputPhoneNumberValueController } from './slimmers/controllers/vega-input-phone-number-value-controller';
15
15
  import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
16
16
  import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
@@ -298,7 +298,7 @@ export class VegaInputPhoneNumber {
298
298
  "mutable": false,
299
299
  "complexType": {
300
300
  "original": "VegaCountryCode[]",
301
- "resolved": "CountryCode[]",
301
+ "resolved": "VegaCountryCode[]",
302
302
  "references": {
303
303
  "VegaCountryCode": {
304
304
  "location": "import",
@@ -533,7 +533,7 @@ export class VegaInputPhoneNumber {
533
533
  },
534
534
  "complexType": {
535
535
  "original": "VegaCountryType",
536
- "resolved": "{ callingCode: string; countryCode: CountryCode; name: string; }",
536
+ "resolved": "{ callingCode: string; countryCode: VegaCountryCode; name: string; }",
537
537
  "references": {
538
538
  "VegaCountryType": {
539
539
  "location": "import",
@@ -559,7 +559,7 @@ export class VegaInputPhoneNumber {
559
559
  },
560
560
  "complexType": {
561
561
  "original": "VegaCountryType",
562
- "resolved": "{ callingCode: string; countryCode: CountryCode; name: string; }",
562
+ "resolved": "{ callingCode: string; countryCode: VegaCountryCode; name: string; }",
563
563
  "references": {
564
564
  "VegaCountryType": {
565
565
  "location": "import",
@@ -11,6 +11,7 @@ import { TextColorToolbarButtonSlimmer } from '../../../vega-rich-text-editor/sl
11
11
  import { VegaRTEContent } from '../../../vega-rich-text-editor/dto/content-state';
12
12
  import RTEBlockRendererFactory from '../../../vega-rich-text-editor/dto/renderers/renderer-factory';
13
13
  import { vegaNonceManager } from '../../../../helpers/csp/vega-nonce-manager';
14
+ import stateEntityRenderingRegistry from '../../../vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry';
14
15
  export class VegaRichTextContentRenderer extends VegaSlimmer {
15
16
  constructor() {
16
17
  super();
@@ -47,6 +48,7 @@ export class VegaRichTextContentRenderer extends VegaSlimmer {
47
48
  renderContent() {
48
49
  var _a;
49
50
  const renderContext = { editable: this.contentEditable };
51
+ this.injectRTERefIntoContext(renderContext);
50
52
  return (_a = this.content) === null || _a === void 0 ? void 0 : _a.children.map((block) => {
51
53
  const blockRenderer = RTEBlockRendererFactory.getBlockRenderer(block.type);
52
54
  if (blockRenderer) {
@@ -69,6 +71,19 @@ export class VegaRichTextContentRenderer extends VegaSlimmer {
69
71
  }
70
72
  return true;
71
73
  }
74
+ /**
75
+ * Inject the reference of rich text editor into render context for the usage of extensions.
76
+ *
77
+ * @param {RTERenderContext} renderContext - The render context which may contain the host reference.
78
+ */
79
+ injectRTERefIntoContext(renderContext) {
80
+ const content = this.content;
81
+ if (content) {
82
+ const ref = stateEntityRenderingRegistry.getDOMByEntity(content);
83
+ // The ref will be null if the content is not rendered by VegaRichTextEditor, in that case we will not inject the ref into context to avoid potential error on extensions which use the ref.
84
+ ref && (renderContext.host = ref);
85
+ }
86
+ }
72
87
  }
73
88
  __decorate([
74
89
  MapToComponentField()
@@ -1,4 +1,5 @@
1
1
  import RTEDTORendererManager from '../../../helpers/rte-manager/dto-renderer-manager';
2
+ import rteExtensionContextManager from '../helpers/extension-context-manager';
2
3
  import { isNonNullable } from '../../../types/type-guard';
3
4
  import { VegaRTEBaseRenderer } from '../dto/renderers/base-renderer';
4
5
  import stateEntityRenderingRegistry from '../slimmers/controllers/state-entity-rendering-registry';
@@ -52,6 +53,16 @@ export class VegaRTEExtensionRenderer extends VegaRTEBaseRenderer {
52
53
  getDTORenderer(key) {
53
54
  return RTEDTORendererManager.getRTERenderer(key);
54
55
  }
56
+ /**
57
+ * Get the extension context for the given rich text editor host element.
58
+ *
59
+ * @typedef HTMLVegaRichTextEditorElement - The type definition for the rich text editor host element.
60
+ * @param {HTMLVegaRichTextEditorElement} el - The host rich text editor element.
61
+ * @returns {Nullable<RTEExtensionContext>} - The extension context associated with the host.
62
+ */
63
+ getExtensionContext(el) {
64
+ return rteExtensionContextManager.getExtensionContext(el);
65
+ }
55
66
  /**
56
67
  * Auto render the block children if the block element is not exist
57
68
  *
@@ -1,6 +1,7 @@
1
1
  import { DomNodeSubjectObserverFactory } from '../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
2
2
  import { VegaClick, VegaDropdownClick } from '../../../helpers/event-manager/event-id/vega-event-id';
3
3
  import { VegaInternalIconManager } from '../../../helpers/icon/internal-icon-manager';
4
+ import rteExtensionContextManager from '../helpers/extension-context-manager';
4
5
  import { isNonNullable } from '../../../types/type-guard';
5
6
  /**
6
7
  * Base class for rendering extension toolbar button in the rich text editor.
@@ -23,6 +24,16 @@ export class VegaRTEToolbarButtonRenderer {
23
24
  isHidden(editorContext) {
24
25
  return editorContext.sourceEditMode;
25
26
  }
27
+ /**
28
+ * Get the extension context for the given rich text editor host element.
29
+ *
30
+ * @typedef HTMLVegaRichTextEditorElement - The type definition for the rich text editor host element.
31
+ * @param {HTMLVegaRichTextEditorElement} el - The host rich text editor element.
32
+ * @returns {Nullable<RTEExtensionContext>} - The extension context associated with the host.
33
+ */
34
+ getExtensionContext(el) {
35
+ return rteExtensionContextManager.getExtensionContext(el);
36
+ }
26
37
  /**
27
38
  * Renders a dropdown component with the specified properties and children.
28
39
  *
@@ -36,7 +47,10 @@ export class VegaRTEToolbarButtonRenderer {
36
47
  return h('vega-dropdown', Object.assign({ trigger: 'click', searchable: false, maxWidth: '200', itemDisplayRule: 'ellipsis',
37
48
  // eslint-disable-next-line jsdoc/require-jsdoc
38
49
  ref: (el) => {
39
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownClick, (input) => this.handleDropdownClick(input.detail, editorContext));
50
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownClick, (input) => {
51
+ const payload = input;
52
+ this.handleDropdownClick(payload.detail, editorContext);
53
+ });
40
54
  } }, dropdownProps), children);
41
55
  }
42
56
  /**
@@ -2,6 +2,7 @@ import RTEDTOClassManager from '../../../helpers/rte-manager/dto-class-manager';
2
2
  import RTEDTORendererManager from '../../../helpers/rte-manager/dto-renderer-manager';
3
3
  import RTEDTOActionStrategyManager from '../../../helpers/rte-manager/dto-action-strategy-manager';
4
4
  import ElementToDTOClassStrategyManager from '../../../helpers/rte-manager/element-dto-class-strategy-manager';
5
+ import rteExtensionContextManager from '../helpers/extension-context-manager';
5
6
  import { ActionHandleStrategyRegistry } from '../dto/action-handle-strategies/action-handle-strategy-registry';
6
7
  import { VegaRTEExtensionRenderer } from './base-extension-renderer';
7
8
  import { ActionHandlerInterceptorRegistry } from '../dto/action-handle-strategies/action-handle-interceptor-registry';
@@ -43,6 +44,7 @@ export class VegaRTEExtension {
43
44
  */
44
45
  initialExtension(context) {
45
46
  this.extensionContext = context;
47
+ rteExtensionContextManager.setExtensionContext(context);
46
48
  }
47
49
  /**
48
50
  * Collect custom styles for the extension renderers.
@@ -40,17 +40,6 @@ export class VegaRTEFunctionExtension extends VegaRTEExtension {
40
40
  this.registerElementToBlockDTOClassStrategy(convertFunctionContentStrategy);
41
41
  this.registerElementToBlockDTOClassStrategy(convertFunctionBlockStrategy);
42
42
  }
43
- /**
44
- * Initializes the extension with the given context
45
- *
46
- * @param {RTEExtensionContext} context - extension context
47
- */
48
- initialExtension(context) {
49
- super.initialExtension(context);
50
- if (this.toolbarButtonRenderer) {
51
- this.toolbarButtonRenderer.injectExtensionContext(context);
52
- }
53
- }
54
43
  /**
55
44
  * Remove the appen children strategies to prevent default insert new paragraph logic in function block
56
45
  */
@@ -6,14 +6,6 @@ import { INSERT_FUNCTION_BLOCK, InsertFunctionBlockAction, } from '../actions/in
6
6
  * Function toolbar button renderer class.
7
7
  */
8
8
  export class FunctionToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
9
- /**
10
- * Injects the extension context
11
- *
12
- * @param {RTEExtensionContext} context - extension context
13
- */
14
- injectExtensionContext(context) {
15
- this.extensionContext = context;
16
- }
17
9
  /**
18
10
  * @inheritDoc
19
11
  */
@@ -29,11 +21,13 @@ export class FunctionToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer
29
21
  /**
30
22
  * Overrides the isDisabled method to determine if the button should be disabled.
31
23
  *
24
+ * @param {VegaRTEToolbarRenderContext} editorContext The render context for the editor.
32
25
  * @returns {boolean} - true if the button should be disabled, false otherwise.
33
26
  */
34
- isDisabled() {
35
- if (this.extensionContext) {
36
- const { host, getSelectedNodes } = this.extensionContext;
27
+ isDisabled(editorContext) {
28
+ const context = this.getExtensionContext(editorContext.host);
29
+ if (context) {
30
+ const { host, getSelectedNodes } = context;
37
31
  const focusNode = getSelectedNodes()[0];
38
32
  let enableInsert = true;
39
33
  if (focusNode) {
@@ -52,19 +46,25 @@ export class FunctionToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer
52
46
  * Handles dropdown click event
53
47
  *
54
48
  * @param {RTEExtensionFunctionType} itemKey - key of the clicked item
49
+ * @param {VegaRTEToolbarRenderContext} editorContext The render context for the editor.
55
50
  */
56
- handleDropdownClick(itemKey) {
57
- const { host, getSelectedNodes } = this.extensionContext;
58
- const focusNode = getSelectedNodes()[0];
59
- const action = new InsertFunctionBlockAction(itemKey);
60
- if (!focusNode) {
61
- host.value.apply(action);
62
- }
63
- else if (focusNode.parent) {
64
- focusNode.parent.apply(action);
65
- }
66
- if (action.nextFocusNode) {
67
- host.value.apply(new UpdateCursorPositionAction(action.nextFocusNode, 1));
51
+ handleDropdownClick(itemKey, editorContext) {
52
+ if (editorContext) {
53
+ const context = this.getExtensionContext(editorContext.host);
54
+ if (context) {
55
+ const { host, getSelectedNodes } = context;
56
+ const focusNode = getSelectedNodes()[0];
57
+ const action = new InsertFunctionBlockAction(itemKey);
58
+ if (!focusNode) {
59
+ host.value.apply(action);
60
+ }
61
+ else if (focusNode.parent) {
62
+ focusNode.parent.apply(action);
63
+ }
64
+ if (action.nextFocusNode) {
65
+ host.value.apply(new UpdateCursorPositionAction(action.nextFocusNode, 1));
66
+ }
67
+ }
68
68
  }
69
69
  }
70
70
  }
@@ -20,16 +20,6 @@ export class VegaRTETokenExtension extends VegaRTEExtension {
20
20
  this.registerToolbarButtonRenderer('token', this.tokenToolbarButtonRenderer);
21
21
  this.registerElementToNodeDTOClassStrategy(spanToTokenNodeStrategy);
22
22
  }
23
- /**
24
- * @inheritDoc
25
- */
26
- initialExtension(context) {
27
- super.initialExtension(context);
28
- this.tokenRenderer.injectExtensionContext(context);
29
- if (this.tokenToolbarButtonRenderer) {
30
- this.tokenToolbarButtonRenderer.injectExtensionContext(context);
31
- }
32
- }
33
23
  }
34
24
  (() => {
35
25
  const insertTokenNodeStrategy = new InsertTokenNodeStrategy();
@@ -1,13 +1,9 @@
1
- import { UpdateCursorPositionAction } from '../../public-api';
1
+ import { UpdateCursorPositionAction } from '../../dto/actions/update-cursor-position-action';
2
2
  import { VegaRTEExtensionRenderer } from '../base-extension-renderer';
3
3
  /**
4
4
  * Token node renderer for the rich text editor.
5
5
  */
6
6
  export class RTETokenNodeRenderer extends VegaRTEExtensionRenderer {
7
- constructor() {
8
- super(...arguments);
9
- this.extensionContext = null;
10
- }
11
7
  /**
12
8
  * Renders the token node as a DOM element.
13
9
  *
@@ -23,18 +19,10 @@ export class RTETokenNodeRenderer extends VegaRTEExtensionRenderer {
23
19
  'onClick': (event) => {
24
20
  event.preventDefault();
25
21
  if (editorContent && editorContent.editable !== false) {
26
- this.handleTokenElementClick(event, node);
22
+ this.handleTokenElementClick(event, node, editorContent.host);
27
23
  }
28
24
  } }), node.text);
29
25
  }
30
- /**
31
- * Sets the RTE extension context.
32
- *
33
- * @param {RTEExtensionContext} context - The context of the RTE extension.
34
- */
35
- injectExtensionContext(context) {
36
- this.extensionContext = context;
37
- }
38
26
  /**
39
27
  * Override to inject RTE scope styles for the token node.
40
28
  *
@@ -46,13 +34,15 @@ export class RTETokenNodeRenderer extends VegaRTEExtensionRenderer {
46
34
  /**
47
35
  * Handle the click event on the token element.
48
36
  *
37
+ * @typedef HTMLVegaRichTextEditorElement - The type definition for the rich text editor host element.
49
38
  * @param {MouseEvent} event - The click event.
50
39
  * @param {RTETokenNode} node - The token node that was clicked.
40
+ * @param {HTMLVegaRichTextEditorElement} [richTextEditor] - The rich text editor host element.
51
41
  */
52
- handleTokenElementClick(event, node) {
42
+ handleTokenElementClick(event, node, richTextEditor) {
53
43
  event.preventDefault();
54
- if (this.extensionContext) {
55
- this.extensionContext.host.value.apply(new UpdateCursorPositionAction(node, undefined, true));
44
+ if (richTextEditor) {
45
+ richTextEditor.value.apply(new UpdateCursorPositionAction(node, undefined, true));
56
46
  }
57
47
  }
58
48
  /**
@@ -9,17 +9,8 @@ export class RTETokenToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer
9
9
  constructor(tokenList) {
10
10
  super();
11
11
  this.tokenList = [];
12
- this.extensionContext = null;
13
12
  this.tokenList = tokenList;
14
13
  }
15
- /**
16
- * Sets the RTE extension context.
17
- *
18
- * @param {RTEExtensionContext} context - The context of the RTE extension.
19
- */
20
- injectExtensionContext(context) {
21
- this.extensionContext = context;
22
- }
23
14
  /**
24
15
  * Renders the token toolbar button.
25
16
  *
@@ -36,11 +27,13 @@ export class RTETokenToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer
36
27
  /**
37
28
  * Checks if the token toolbar button is disabled.
38
29
  *
30
+ * @param {VegaRTEToolbarRenderContext} editorContext The render context for the editor.
39
31
  * @returns {boolean} True if the button is disabled, false otherwise.
40
32
  */
41
- isDisabled() {
42
- if (this.extensionContext) {
43
- const { host, getSelectedNodes } = this.extensionContext;
33
+ isDisabled(editorContext) {
34
+ const context = this.getExtensionContext(editorContext.host);
35
+ if (context) {
36
+ const { host, getSelectedNodes } = context;
44
37
  const [startNode] = getSelectedNodes();
45
38
  return startNode
46
39
  ? host.disabled ||
@@ -72,16 +65,19 @@ export class RTETokenToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer
72
65
  const action = new InsertTokenNodeAction(rteRange, token);
73
66
  startNode.parent.apply(action);
74
67
  if (action.actionHandleResult) {
75
- this.flushEditorUI();
68
+ this.flushEditorUI(editorContext);
76
69
  }
77
70
  }
78
71
  }
79
72
  /**
80
73
  * Refreshes the editor UI.
74
+ *
75
+ * @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
81
76
  */
82
- flushEditorUI() {
83
- if (this.extensionContext) {
84
- const { host, flushValue } = this.extensionContext;
77
+ flushEditorUI(editorContext) {
78
+ const context = this.getExtensionContext(editorContext.host);
79
+ if (context) {
80
+ const { host, flushValue } = context;
85
81
  flushValue(host.value);
86
82
  }
87
83
  }
@@ -0,0 +1,31 @@
1
+ /**
2
+ * Manager for storing and retrieving the extension context associated with each rich text editor host element.
3
+ *
4
+ * @todo Currently, there are three types of contexts in RTE: toolbar render context, extension context, and DTO render context. The second and third types are bound to the extension context via host props. We are considering optimizing these three types of contexts to make the program more flexible and easier to maintain.
5
+ */
6
+ class RTEExtensionContextManager {
7
+ constructor() {
8
+ this.extensionContextMap = new WeakMap();
9
+ }
10
+ /**
11
+ * Store the extension context for the given rich text editor host element.
12
+ *
13
+ * @param {RTEExtensionContext} context - The extension context to store.
14
+ */
15
+ setExtensionContext(context) {
16
+ if (context && context.host) {
17
+ this.extensionContextMap.set(context.host, context);
18
+ }
19
+ }
20
+ /**
21
+ * Get the extension context for the given rich text editor host element.
22
+ *
23
+ * @typedef HTMLVegaRichTextEditorElement - The type definition for the rich text editor host element.
24
+ * @param {Nullable<HTMLVegaRichTextEditorElement>} el - The host rich text editor element.
25
+ * @returns {Nullable<RTEExtensionContext>} - The extension context associated with the host.
26
+ */
27
+ getExtensionContext(el) {
28
+ return el ? this.extensionContextMap.get(el) : null;
29
+ }
30
+ }
31
+ export default new RTEExtensionContextManager();
@@ -0,0 +1,19 @@
1
+ import extensionContextManager from './extension-context-manager';
2
+ describe('extension context manager', () => {
3
+ it('should store and retrieve context by host element', () => {
4
+ const host = document.createElement('vega-rich-text-editor');
5
+ const context = {
6
+ host,
7
+ isSourceEditMode: jest.fn().mockReturnValue(false),
8
+ getSelectedNodes: jest.fn().mockReturnValue([]),
9
+ flushValue: jest.fn(),
10
+ };
11
+ extensionContextManager.setExtensionContext(context);
12
+ expect(extensionContextManager.getExtensionContext(host)).toBe(context);
13
+ expect(extensionContextManager.getExtensionContext(null)).toBeNull();
14
+ });
15
+ it('should return null when no context registered for host', () => {
16
+ const host = document.createElement('vega-rich-text-editor');
17
+ expect(extensionContextManager.getExtensionContext(host)).toBeUndefined();
18
+ });
19
+ });
@@ -0,0 +1,41 @@
1
+ import extensionContextManager from '../../helpers/extension-context-manager';
2
+ import { tryGetDocument } from '../../../../utils/try-get-document';
3
+ import { RTERange } from '../../dto/range';
4
+ /**
5
+ * Gets a mock rich text editor element for testing purposes.
6
+ *
7
+ * @returns {HTMLElement} A mock rich text editor element.
8
+ */
9
+ export function getMockRichTextEditor() {
10
+ var _a;
11
+ return (_a = tryGetDocument()) === null || _a === void 0 ? void 0 : _a.createElement('vega-rich-text-editor');
12
+ }
13
+ /**
14
+ * Mocks the extension context for testing purposes.
15
+ *
16
+ * @param {Partial<RTEExtensionContext>} context - Partial context to override default mock values.
17
+ * @returns {RTEExtensionContext} The mocked extension context.
18
+ */
19
+ export function mockExtensionContext(context = {}) {
20
+ const extensionContext = {
21
+ host: context.host || getMockRichTextEditor(),
22
+ isSourceEditMode: context.isSourceEditMode || jest.fn().mockReturnValue(false),
23
+ getSelectedNodes: context.getSelectedNodes || jest.fn().mockReturnValue([]),
24
+ flushValue: context.flushValue || jest.fn(),
25
+ };
26
+ extensionContextManager.setExtensionContext(extensionContext);
27
+ return extensionContext;
28
+ }
29
+ /**
30
+ * Mocks the toolbar render context for testing purposes.
31
+ *
32
+ * @param {Partial<VegaRTEToolbarRenderContext>} context - Partial context to override default mock values.
33
+ * @returns {VegaRTEToolbarRenderContext} The mocked toolbar render context.
34
+ */
35
+ export function mockToolbarRenderContext(context = {}) {
36
+ return {
37
+ host: context.host || getMockRichTextEditor(),
38
+ rteRange: context.rteRange || new RTERange(),
39
+ sourceEditMode: context.sourceEditMode || false,
40
+ };
41
+ }
@@ -1,5 +1,5 @@
1
1
  import { convertArrayToNestedArray, flatNestedArray } from '../../../utils/array';
2
- import { map as d3Map, timeParse as d3TimeParse } from 'd3';
2
+ import { map as d3Map, timeParse as d3TimeParse } from '../../../polyfill/d3';
3
3
  /** The FormatTimePositionsInputProcessor class processes input data for a line chart by formatting time positions if the x-axis type is 'time'. */
4
4
  export class FormatTimePositionsInputProcessor {
5
5
  /**
@@ -30,7 +30,7 @@ export class FormatTimePositionsInputProcessor {
30
30
  let lengthArray = [];
31
31
  const flatArray = flatNestedArray(data);
32
32
  const flatArray_date = d3Map(flatArray, (d) => {
33
- return { x: typeof d.x === 'string' ? d3TimeParse('%Y-%m-%d')(d.x) : d.x, y: d.y };
33
+ return { x: (typeof d.x === 'string' ? d3TimeParse('%Y-%m-%d')(d.x) : d.x), y: d.y };
34
34
  });
35
35
  if (data && Array.isArray(data[0])) {
36
36
  lengthArray = data.map((item) => item.length);
@@ -1,4 +1,4 @@
1
- import { pie as d3Pie } from 'd3';
1
+ import { pie as d3Pie } from '../../../polyfill/d3';
2
2
  /** The PieChartArchPathInputProcessor class processes input data to generate options for rendering a pie or donut chart with D3.js. */
3
3
  export class PieChartArchPathInputProcessor {
4
4
  /**
@@ -1,5 +1,5 @@
1
1
  import { flatNestedArray } from '../../../utils/array';
2
- import { scaleTime, scaleLinear, scaleBand, extent as d3Extent } from 'd3';
2
+ import { scaleTime, scaleLinear, scaleBand, extent as d3Extent } from '../../../polyfill/d3';
3
3
  /** The XAxisInputProcessor class generates X-axis options for a line chart based on input data and previous layout results. */
4
4
  export class XAxisInputProcessor {
5
5
  /**
@@ -43,16 +43,18 @@ export class XAxisInputProcessor {
43
43
  const xData = flatData.map((item) => item.x);
44
44
  let xScale;
45
45
  if (xAxisType === 'time') {
46
+ const ext = d3Extent(xData);
46
47
  xScale = scaleTime()
47
- .domain(d3Extent(xData))
48
+ .domain(ext[0] !== undefined ? ext : [new Date(), new Date()])
48
49
  .range([0, width]);
49
50
  }
50
51
  else if (xAxisType === 'category') {
51
52
  xScale = scaleBand(typeof sorter === 'function' ? xData.sort(sorter) : xData, [0, width]).padding(padding);
52
53
  }
53
54
  else {
55
+ const ext = d3Extent(xData);
54
56
  xScale = scaleLinear()
55
- .domain(d3Extent(xData))
57
+ .domain(ext[0] !== undefined ? ext : [0, 0])
56
58
  .range([0, width]);
57
59
  }
58
60
  return xScale;
@@ -1,4 +1,5 @@
1
- import { timeFormat, timeSecond, timeMinute, timeHour, timeDay, timeMonth, timeWeek, timeYear } from 'd3';
1
+ import { timeFormat } from '../../../polyfill/d3/d3-time-format-polyfill';
2
+ import { timeSecond, timeMinute, timeHour, timeDay, timeMonth, timeWeek, timeYear, } from '../../../polyfill/d3/d3-time-polyfill';
2
3
  /** The XAxisInputProcessor class generates X-axis options for a line chart based on input data and previous layout results. */
3
4
  export class XAxisLabelFormatterInputProcessor {
4
5
  constructor() {
@@ -1,5 +1,5 @@
1
1
  import { flatNestedArray } from '../../../utils/array';
2
- import { min as d3Min, max as d3Max, extent as d3Extent, scaleLinear } from 'd3';
2
+ import { min as d3Min, max as d3Max, extent as d3Extent, scaleLinear } from '../../../polyfill/d3';
3
3
  /** The YAxisInputProcessor class generates Y-axis options for a line chart based on input data and previous layout results. */
4
4
  export class YAxisInputProcessor {
5
5
  /**
@@ -37,14 +37,16 @@ export class YAxisInputProcessor {
37
37
  * @returns {ScaleType}y scale
38
38
  */
39
39
  getScale(data, range, ticks) {
40
+ var _a, _b;
40
41
  const flatData = flatNestedArray(data);
41
42
  const yData = flatData.map((item) => item.y).concat(0);
42
- let maxYData = d3Max(yData);
43
- let minYData = d3Min(yData);
43
+ let maxYData = (_a = d3Max(yData)) !== null && _a !== void 0 ? _a : 0;
44
+ let minYData = (_b = d3Min(yData)) !== null && _b !== void 0 ? _b : 0;
44
45
  let yScale = scaleLinear().domain([minYData, maxYData]);
45
- const ticksValue = yScale.ticks(ticks);
46
+ const ticksValue = (yScale.ticks ? yScale.ticks(ticks) : []);
46
47
  const step = Math.abs(ticksValue[ticksValue.length - 1] - ticksValue[ticksValue.length - 2]);
47
- const [minTickValue, maxTickValue] = d3Extent(ticksValue);
48
+ const ext = d3Extent(ticksValue);
49
+ const [minTickValue, maxTickValue] = ext[0] !== undefined ? ext : [0, 0];
48
50
  if (minYData < minTickValue) {
49
51
  minYData = minTickValue - step;
50
52
  ticks += 1;
@@ -1,5 +1,5 @@
1
1
  import { InteractingEntryGenerator } from './interacting-entry-generator';
2
- import { select as d3Select } from 'd3';
2
+ import { select as d3Select } from '../../../polyfill/d3';
3
3
  /** The `ArcPathHoverGenerator` class is a TypeScript function that handles mouseover events on SVG elements with a specific class and modifies their appearance. */
4
4
  export class ArcPathHoverGenerator extends InteractingEntryGenerator {
5
5
  constructor() {
@@ -1,5 +1,5 @@
1
1
  import { InteractingEntryGenerator } from './interacting-entry-generator';
2
- import { select as d3Select } from 'd3';
2
+ import { select as d3Select } from '../../../polyfill/d3';
3
3
  /** The PieLegendHoverGenerator class generates an InteractingEntry object that handles mouseover events on a legend of a D3 pie chart and triggers a mouseover event on the corresponding path element. */
4
4
  export class PieLegendHoverGenerator extends InteractingEntryGenerator {
5
5
  constructor() {
@@ -1,5 +1,5 @@
1
1
  import { BaseRenderer } from './base-renderer';
2
- import { line as d3Line, create as d3Create } from 'd3';
2
+ import { line as d3Line, create as d3Create } from '../../../polyfill/d3';
3
3
  /**
4
4
  * The CanvasRenderer class is a TypeScript class that extends the BaseRenderer class and provides
5
5
  * methods for drawing various shapes and elements on a canvas.
@@ -1,5 +1,5 @@
1
1
  import { BaseRenderer } from './base-renderer';
2
- import { select as d3Select, create as d3Create, line as d3Line, axisBottom, axisLeft, arc as d3Arc, } from 'd3';
2
+ import { select as d3Select, create as d3Create, line as d3Line, axisBottom, axisLeft, arc as d3Arc, } from '../../../polyfill/d3';
3
3
  /** This class is used to render charts using SVG elements. */
4
4
  export class SVGRenderer extends BaseRenderer {
5
5
  /**
@@ -1,6 +1,6 @@
1
1
  import { SVGRenderer } from '../../renderers/svg-renderer';
2
2
  import { ArcPathDrawer } from '../../drawers/arc-path-drawer';
3
- import { pie as d3Pie } from 'd3';
3
+ import { pie as d3Pie } from '../../../../polyfill/d3';
4
4
  import { SVGInteractor } from '../../interactors/svg-interactor';
5
5
  describe('path drawer', () => {
6
6
  it('should call renderer function when run the execute function', () => {