@heartlandone/vega 2.84.0 → 2.86.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 (355) hide show
  1. package/dist/cjs/{app-globals-ea063074.js → app-globals-3080f55a.js} +5 -5
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-58bbc5fc.js → child-nodes-event-prevent-slimmer-f3979a03.js} +1 -1
  3. package/dist/cjs/{code-block-6da521e6.js → code-block-c6c70464.js} +6 -0
  4. package/dist/cjs/{component-value-history-controller-slimmer.abstract-f3f35f94.js → component-value-history-controller-slimmer.abstract-a523b747.js} +2 -2
  5. package/dist/cjs/{content-state-89fafb3b.js → content-state-efd3b1a7.js} +1 -1
  6. package/dist/cjs/{event-emit-slimmer-ecca412d.js → event-emit-slimmer-80e1c8ca.js} +1 -1
  7. package/dist/cjs/{image-annotation-action-a6e1e9ed.js → image-annotation-action-93bace08.js} +3 -3
  8. package/dist/cjs/{immutable-map-edf24b54.js → immutable-map-d711339d.js} +16 -4
  9. package/dist/cjs/index.cjs.js +9 -9
  10. package/dist/cjs/{internal-vega-event-manager-6b74b3af.js → internal-vega-event-manager-7e0d966d.js} +2 -1
  11. package/dist/cjs/loader.cjs.js +8 -8
  12. package/dist/cjs/{public-rules-fc52d624.js → public-rules-3cd0f182.js} +3 -3
  13. package/dist/cjs/{range-93cc8ab1.js → range-c9bde0b4.js} +1 -1
  14. package/dist/cjs/{rich-text-editor-required-rule-fd3711fb.js → rich-text-editor-required-rule-d1f0509c.js} +1 -1
  15. package/dist/cjs/{split-cell-operation-532fb9f0.js → split-cell-operation-6a59c9b0.js} +2 -2
  16. package/dist/cjs/{token-extension-39f2b886.js → token-extension-d7d2ead6.js} +282 -224
  17. package/dist/cjs/vega-accordion.cjs.entry.js +3 -3
  18. package/dist/cjs/vega-app-header-button.cjs.entry.js +4 -4
  19. package/dist/cjs/vega-banner.cjs.entry.js +3 -3
  20. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  21. package/dist/cjs/vega-button-circle.cjs.entry.js +4 -4
  22. package/dist/cjs/vega-button-group_2.cjs.entry.js +4 -4
  23. package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
  24. package/dist/cjs/vega-button.cjs.entry.js +4 -4
  25. package/dist/cjs/vega-calendar_4.cjs.entry.js +8 -7
  26. package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
  27. package/dist/cjs/vega-checkbox_2.cjs.entry.js +4 -4
  28. package/dist/cjs/vega-chip.cjs.entry.js +4 -4
  29. package/dist/cjs/vega-code-block.cjs.entry.js +7 -7
  30. package/dist/cjs/vega-color-picker.cjs.entry.js +3 -3
  31. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +188 -46
  32. package/dist/cjs/vega-color-swatch.cjs.entry.js +7 -7
  33. package/dist/cjs/vega-combo-box.cjs.entry.js +4 -4
  34. package/dist/cjs/vega-date-picker_2.cjs.entry.js +17 -5
  35. package/dist/cjs/vega-dialog_2.cjs.entry.js +5 -5
  36. package/dist/cjs/vega-dropdown_5.cjs.entry.js +4 -4
  37. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  38. package/dist/cjs/{vega-event-id-c08ce3d3.js → vega-event-id-d9994eb3.js} +2 -0
  39. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  40. package/dist/cjs/vega-file-uploader.cjs.entry.js +3 -3
  41. package/dist/cjs/vega-form.cjs.entry.js +5 -5
  42. package/dist/cjs/vega-image-uploader.cjs.entry.js +4 -4
  43. package/dist/cjs/vega-input-credit-card.cjs.entry.js +4 -4
  44. package/dist/cjs/vega-input-numeric.cjs.entry.js +4 -4
  45. package/dist/cjs/vega-input-passcode.cjs.entry.js +4 -4
  46. package/dist/cjs/vega-input-phone-number.cjs.entry.js +15 -5
  47. package/dist/cjs/vega-input-range.cjs.entry.js +4 -4
  48. package/dist/cjs/vega-input-select.cjs.entry.js +4 -4
  49. package/dist/cjs/vega-input.cjs.entry.js +3 -3
  50. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  51. package/dist/cjs/vega-left-nav_5.cjs.entry.js +15 -13
  52. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  53. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +3 -3
  54. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +1 -1
  55. package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
  56. package/dist/cjs/vega-popover_2.cjs.entry.js +3 -3
  57. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +3 -3
  58. package/dist/cjs/vega-radio_2.cjs.entry.js +4 -4
  59. package/dist/cjs/vega-rich-text-content.cjs.entry.js +4 -4
  60. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +10 -10
  61. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +6 -6
  62. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  63. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +4 -4
  64. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +161 -28
  65. package/dist/cjs/vega-sidenav_3.cjs.entry.js +3 -3
  66. package/dist/cjs/vega-signature-capture.cjs.entry.js +3 -3
  67. package/dist/cjs/vega-stepper.cjs.entry.js +4 -4
  68. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  69. package/dist/cjs/vega-table_11.cjs.entry.js +1172 -282
  70. package/dist/cjs/vega-textarea.cjs.entry.js +4 -4
  71. package/dist/cjs/vega-time-picker_2.cjs.entry.js +9 -15
  72. package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
  73. package/dist/cjs/vega.cjs.js +8 -8
  74. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +2 -2
  75. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +2 -1
  76. package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/slimmers/renderers/color-swatch-picker-renderer.js +24 -5
  77. package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.js +15 -0
  78. package/dist/collection/components/vega-color-swatch/vega-color-swatch.js +6 -6
  79. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.js +3 -0
  80. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +17 -1
  81. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.js +31 -1
  82. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +10 -0
  83. package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +1 -1
  84. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.js +10 -8
  85. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-zindex-controller.js +2 -2
  86. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
  87. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +8 -2
  88. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
  89. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +1 -0
  90. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +53 -51
  91. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +40 -10
  92. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +75 -62
  93. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +1 -0
  94. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
  95. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +5 -1
  96. package/dist/collection/components/vega-selection-tile/slimmers/renderers/vega-selection-tile-renderer.js +71 -10
  97. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/slimmers/renderers/vega-selection-tile-group-renderer.js +39 -11
  98. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.css +1 -3
  99. package/dist/collection/components/vega-selection-tile/vega-selection-tile.css +23 -18
  100. package/dist/collection/components/vega-selection-tile/vega-selection-tile.js +45 -1
  101. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-expand-row-controller.js +88 -4
  102. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-row-draggable-controller.js +132 -0
  103. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-sort-controller.js +14 -0
  104. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-renderer.js +8 -5
  105. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-col-group-renderer.js +6 -2
  106. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +8 -2
  107. package/dist/collection/components/vega-table/utils.js +4 -3
  108. package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-col-span-controller.js +13 -1
  109. package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-state-controller.js +7 -0
  110. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.js +7 -0
  111. package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/controllers/vega-table-foot-row-state-controller.js +10 -3
  112. package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.js +9 -2
  113. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.js +4 -3
  114. package/dist/collection/components/vega-table/vega-table-head/vega-table-head.js +5 -0
  115. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/controllers/vega-table-head-row-state-controller.js +10 -3
  116. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +12 -2
  117. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.js +5 -4
  118. package/dist/collection/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-state-controller.js +22 -1
  119. package/dist/collection/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.js +19 -4
  120. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.css +6 -0
  121. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +11 -1
  122. package/dist/collection/components/vega-table/vega-table.css +5 -0
  123. package/dist/collection/components/vega-table/vega-table.js +135 -11
  124. package/dist/collection/components/vega-time-picker/vega-time-picker.js +6 -12
  125. package/dist/collection/constants/ui.js +1 -0
  126. package/dist/collection/global/icons/grip-dots-vertical.js +3 -0
  127. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +2 -1
  128. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  129. package/dist/collection/helpers/immutable/immutable-map.js +16 -4
  130. package/dist/collection/helpers/slimmers/draggable-element-slimmer.js +508 -0
  131. package/dist/collection/helpers/slimmers/popover-nested-slot-projection-slimmer.js +118 -0
  132. package/dist/esm/{app-globals-d06de2a5.js → app-globals-37536ac9.js} +5 -5
  133. package/dist/esm/{aria-dialog-focusable-trap-slimmer-853a91de.js → aria-dialog-focusable-trap-slimmer-6eb79723.js} +1 -1
  134. package/dist/esm/{child-nodes-event-prevent-slimmer-f65e2452.js → child-nodes-event-prevent-slimmer-75f93d85.js} +1 -1
  135. package/dist/esm/{code-block-65c8804b.js → code-block-10be3916.js} +7 -1
  136. package/dist/esm/{component-value-history-controller-slimmer.abstract-26c154f6.js → component-value-history-controller-slimmer.abstract-82d51b7a.js} +3 -3
  137. package/dist/esm/{content-state-e676bdf0.js → content-state-afeb700d.js} +2 -2
  138. package/dist/esm/{element-appender-slimmer-d4a82dc3.js → element-appender-slimmer-05f487d7.js} +1 -1
  139. package/dist/esm/{event-emit-slimmer-18711776.js → event-emit-slimmer-1c57093d.js} +1 -1
  140. package/dist/esm/{form-field-controller-slimmer-9a0f8c54.js → form-field-controller-slimmer-ae8478b5.js} +2 -2
  141. package/dist/esm/{image-annotation-action-2d87b66a.js → image-annotation-action-bad7c565.js} +3 -3
  142. package/dist/esm/{immutable-map-612922a2.js → immutable-map-4fe22b11.js} +16 -4
  143. package/dist/esm/index.js +9 -9
  144. package/dist/esm/{internal-vega-event-manager-bed71930.js → internal-vega-event-manager-7cdf3c28.js} +2 -1
  145. package/dist/esm/loader.js +9 -9
  146. package/dist/esm/{public-rules-a61ff09f.js → public-rules-f54e6f39.js} +4 -4
  147. package/dist/esm/{range-d9e55d00.js → range-f32f9185.js} +1 -1
  148. package/dist/esm/{rich-text-editor-required-rule-6a4c853a.js → rich-text-editor-required-rule-627fd7e4.js} +1 -1
  149. package/dist/esm/{split-cell-operation-2e700c5c.js → split-cell-operation-90c30861.js} +3 -3
  150. package/dist/esm/{string-input-formatter-slimmer-ad234bec.js → string-input-formatter-slimmer-4059080b.js} +2 -2
  151. package/dist/esm/{sub-state-notify-slimmer-1f907173.js → sub-state-notify-slimmer-63ecb465.js} +1 -1
  152. package/dist/esm/{sub-state-observer-slimmer-090c500a.js → sub-state-observer-slimmer-2adbbe00.js} +1 -1
  153. package/dist/esm/{token-extension-d3a46c04.js → token-extension-728c0678.js} +282 -224
  154. package/dist/esm/vega-accordion.entry.js +3 -3
  155. package/dist/esm/vega-app-header-button.entry.js +4 -4
  156. package/dist/esm/vega-banner.entry.js +3 -3
  157. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  158. package/dist/esm/vega-button-circle.entry.js +5 -5
  159. package/dist/esm/vega-button-group_2.entry.js +7 -7
  160. package/dist/esm/vega-button-link.entry.js +4 -4
  161. package/dist/esm/vega-button.entry.js +5 -5
  162. package/dist/esm/vega-calendar_4.entry.js +11 -10
  163. package/dist/esm/vega-carousel.entry.js +3 -3
  164. package/dist/esm/vega-checkbox_2.entry.js +7 -7
  165. package/dist/esm/vega-chip.entry.js +4 -4
  166. package/dist/esm/vega-code-block.entry.js +8 -8
  167. package/dist/esm/vega-color-picker.entry.js +6 -6
  168. package/dist/esm/vega-color-swatch-picker.entry.js +192 -50
  169. package/dist/esm/vega-color-swatch.entry.js +7 -7
  170. package/dist/esm/vega-combo-box.entry.js +7 -7
  171. package/dist/esm/vega-date-picker_2.entry.js +24 -12
  172. package/dist/esm/vega-dialog_2.entry.js +7 -7
  173. package/dist/esm/vega-dropdown_5.entry.js +9 -9
  174. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  175. package/dist/esm/{vega-event-id-5841d1d3.js → vega-event-id-a6ccca66.js} +2 -1
  176. package/dist/esm/vega-field-label.entry.js +3 -3
  177. package/dist/esm/vega-file-uploader.entry.js +6 -6
  178. package/dist/esm/vega-form.entry.js +9 -9
  179. package/dist/esm/vega-image-uploader.entry.js +7 -7
  180. package/dist/esm/vega-input-credit-card.entry.js +7 -7
  181. package/dist/esm/vega-input-numeric.entry.js +8 -8
  182. package/dist/esm/vega-input-passcode.entry.js +7 -7
  183. package/dist/esm/vega-input-phone-number.entry.js +18 -8
  184. package/dist/esm/vega-input-range.entry.js +7 -7
  185. package/dist/esm/vega-input-select.entry.js +7 -7
  186. package/dist/esm/vega-input.entry.js +8 -8
  187. package/dist/esm/{vega-internal-event-id-194bac82.js → vega-internal-event-id-db974a0d.js} +1 -1
  188. package/dist/esm/vega-item-toggle.entry.js +3 -3
  189. package/dist/esm/vega-left-nav_5.entry.js +18 -16
  190. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  191. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +4 -4
  192. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +2 -2
  193. package/dist/esm/vega-pagination.entry.js +5 -5
  194. package/dist/esm/vega-popover_2.entry.js +6 -6
  195. package/dist/esm/vega-progress-tracker_2.entry.js +6 -6
  196. package/dist/esm/vega-radio_2.entry.js +7 -7
  197. package/dist/esm/vega-rich-text-content.entry.js +7 -7
  198. package/dist/esm/vega-rich-text-editor_4.entry.js +15 -15
  199. package/dist/esm/vega-rich-text-table-properties_3.entry.js +7 -7
  200. package/dist/esm/vega-segment-control.entry.js +3 -3
  201. package/dist/esm/vega-selection-chip_2.entry.js +8 -8
  202. package/dist/esm/vega-selection-tile_2.entry.js +165 -32
  203. package/dist/esm/vega-sidenav_3.entry.js +6 -6
  204. package/dist/esm/vega-signature-capture.entry.js +6 -6
  205. package/dist/esm/vega-stepper.entry.js +7 -7
  206. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  207. package/dist/esm/vega-table_11.entry.js +1175 -285
  208. package/dist/esm/vega-textarea.entry.js +7 -7
  209. package/dist/esm/vega-time-picker_2.entry.js +13 -19
  210. package/dist/esm/vega-toggle-switch.entry.js +6 -6
  211. package/dist/esm/vega-tooltip_2.entry.js +2 -2
  212. package/dist/esm/vega.js +9 -9
  213. package/dist/esm/{wait-for-component-did-render-30cde59c.js → wait-for-component-did-render-9a83d343.js} +1 -1
  214. package/dist/sri/vega-sri-manifest.json +276 -276
  215. package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/slimmers/renderers/color-swatch-picker-renderer.d.ts +9 -0
  216. package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.d.ts +6 -0
  217. package/dist/types/components/vega-color-swatch/vega-color-swatch.d.ts +4 -4
  218. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.d.ts +1 -0
  219. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.d.ts +8 -0
  220. package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +2 -0
  221. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.d.ts +2 -1
  222. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +2 -0
  223. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +15 -11
  224. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +15 -0
  225. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +25 -22
  226. package/dist/types/components/vega-rich-text-editor/interface.d.ts +5 -0
  227. package/dist/types/components/vega-selection-tile/slimmers/renderers/vega-selection-tile-renderer.d.ts +12 -0
  228. package/dist/types/components/vega-selection-tile/vega-selection-tile-group/slimmers/renderers/vega-selection-tile-group-renderer.d.ts +0 -1
  229. package/dist/types/components/vega-selection-tile/vega-selection-tile.d.ts +2 -0
  230. package/dist/types/components/vega-table/interface.d.ts +2 -0
  231. package/dist/types/components/vega-table/slimmers/controllers/vega-table-expand-row-controller.d.ts +35 -0
  232. package/dist/types/components/vega-table/slimmers/controllers/vega-table-row-draggable-controller.d.ts +52 -0
  233. package/dist/types/components/vega-table/slimmers/controllers/vega-table-sort-controller.d.ts +4 -0
  234. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-renderer.d.ts +3 -1
  235. package/dist/types/components/vega-table/slimmers/renderers/vega-table-col-group-renderer.d.ts +2 -1
  236. package/dist/types/components/vega-table/utils.d.ts +3 -2
  237. package/dist/types/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-col-span-controller.d.ts +5 -0
  238. package/dist/types/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-state-controller.d.ts +1 -0
  239. package/dist/types/components/vega-table/vega-table-expand-row/vega-table-expand-row.d.ts +2 -0
  240. package/dist/types/components/vega-table/vega-table-foot-row/slimmers/controllers/vega-table-foot-row-state-controller.d.ts +2 -1
  241. package/dist/types/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.d.ts +3 -1
  242. package/dist/types/components/vega-table/vega-table-foot-row/vega-table-foot-row.d.ts +6 -2
  243. package/dist/types/components/vega-table/vega-table-head/vega-table-head.d.ts +1 -0
  244. package/dist/types/components/vega-table/vega-table-head-row/slimmers/controllers/vega-table-head-row-state-controller.d.ts +2 -1
  245. package/dist/types/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.d.ts +3 -1
  246. package/dist/types/components/vega-table/vega-table-head-row/vega-table-head-row.d.ts +6 -2
  247. package/dist/types/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-state-controller.d.ts +3 -0
  248. package/dist/types/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.d.ts +3 -0
  249. package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +8 -0
  250. package/dist/types/components/vega-table/vega-table.d.ts +40 -5
  251. package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +5 -11
  252. package/dist/types/components.d.ts +47 -12
  253. package/dist/types/constants/ui.d.ts +1 -1
  254. package/dist/types/global/icons/grip-dots-vertical.d.ts +3 -0
  255. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  256. package/dist/types/helpers/immutable/immutable-map.d.ts +4 -1
  257. package/dist/types/helpers/slimmers/draggable-element-slimmer.d.ts +260 -0
  258. package/dist/types/helpers/slimmers/popover-nested-slot-projection-slimmer.d.ts +65 -0
  259. package/dist/types/types/components.type.d.ts +2 -0
  260. package/dist/types/types/public-api.d.ts +2 -0
  261. package/dist/types/types/ui.type.d.ts +40 -0
  262. package/dist/vega/index.esm.js +1 -1
  263. package/dist/vega/{p-d3ed7c27.entry.js → p-0b5b0fd2.entry.js} +1 -1
  264. package/dist/vega/p-13e7f906.entry.js +1 -0
  265. package/dist/vega/{p-39b71df9.entry.js → p-23b38467.entry.js} +1 -1
  266. package/dist/vega/{p-8d833b44.entry.js → p-25572ea7.entry.js} +1 -1
  267. package/dist/vega/{p-03cf2df1.entry.js → p-268e84e0.entry.js} +1 -1
  268. package/dist/vega/p-2edc066c.entry.js +1 -0
  269. package/dist/vega/{p-5bbb3e68.entry.js → p-2fb26f4f.entry.js} +1 -1
  270. package/dist/vega/{p-032183c1.js → p-33234385.js} +1 -1
  271. package/dist/vega/{p-c0323a55.entry.js → p-35d77c9c.entry.js} +1 -1
  272. package/dist/vega/{p-5ac4649a.entry.js → p-3c456e91.entry.js} +1 -1
  273. package/dist/vega/{p-27b1dc0f.entry.js → p-3d0ba2c6.entry.js} +1 -1
  274. package/dist/vega/{p-20f0060f.entry.js → p-3d92d2af.entry.js} +1 -1
  275. package/dist/vega/{p-4123559f.entry.js → p-3e64fa38.entry.js} +1 -1
  276. package/dist/vega/{p-f986f875.entry.js → p-411ea209.entry.js} +1 -1
  277. package/dist/vega/{p-7cf1e1f7.entry.js → p-423762ae.entry.js} +1 -1
  278. package/dist/vega/{p-0f31b00b.entry.js → p-4530f0e1.entry.js} +1 -1
  279. package/dist/vega/{p-b28d4f7d.js → p-48e3be6a.js} +1 -1
  280. package/dist/vega/{p-753a7832.entry.js → p-4afafeb3.entry.js} +1 -1
  281. package/dist/vega/{p-c6837173.entry.js → p-4c90d013.entry.js} +1 -1
  282. package/dist/vega/p-5087fa1e.entry.js +1 -0
  283. package/dist/vega/{p-7595ad55.js → p-51b2b3de.js} +1 -1
  284. package/dist/vega/{p-bc2786f9.entry.js → p-59c6dcf7.entry.js} +1 -1
  285. package/dist/vega/p-5e50dbb9.js +1 -0
  286. package/dist/vega/p-5f377954.js +1 -1
  287. package/dist/vega/{p-e5546af5.entry.js → p-606d7113.entry.js} +1 -1
  288. package/dist/vega/{p-6f790577.js → p-6817b9bd.js} +1 -1
  289. package/dist/vega/{p-84030271.entry.js → p-69c11b7b.entry.js} +1 -1
  290. package/dist/vega/{p-effa6495.js → p-6b5cb920.js} +1 -1
  291. package/dist/vega/{p-aa985d73.js → p-6c43d54a.js} +1 -1
  292. package/dist/vega/{p-0e15fa94.entry.js → p-6fadee27.entry.js} +1 -1
  293. package/dist/vega/{p-549bea2c.entry.js → p-73c6669e.entry.js} +1 -1
  294. package/dist/vega/{p-9375fbce.js → p-7730bace.js} +1 -1
  295. package/dist/vega/{p-88f57353.entry.js → p-79c12a64.entry.js} +1 -1
  296. package/dist/vega/{p-f8c700dd.entry.js → p-7f74cd41.entry.js} +1 -1
  297. package/dist/vega/p-818da356.js +1 -0
  298. package/dist/vega/{p-aa040383.js → p-84eb3b9c.js} +1 -1
  299. package/dist/vega/{p-b48b3264.js → p-8d48940d.js} +1 -1
  300. package/dist/vega/{p-a5e6a3be.js → p-93afdfc3.js} +1 -1
  301. package/dist/vega/{p-865fc90b.entry.js → p-98a6cd8e.entry.js} +1 -1
  302. package/dist/vega/p-9af0e2e7.js +1 -0
  303. package/dist/vega/{p-f6414a24.entry.js → p-9e2b7718.entry.js} +1 -1
  304. package/dist/vega/{p-e1b1f5f9.entry.js → p-9eb00537.entry.js} +1 -1
  305. package/dist/vega/{p-f0e855b2.entry.js → p-9f36abf9.entry.js} +1 -1
  306. package/dist/vega/{p-b88eab9a.entry.js → p-9fc8bd1f.entry.js} +1 -1
  307. package/dist/vega/{p-9308f874.entry.js → p-a050c24d.entry.js} +1 -1
  308. package/dist/vega/{p-aa4d419c.entry.js → p-a49c25c2.entry.js} +1 -1
  309. package/dist/vega/{p-1df2c29b.entry.js → p-a9528dbd.entry.js} +1 -1
  310. package/dist/vega/{p-0caf52e0.js → p-a9e10a64.js} +1 -1
  311. package/dist/vega/p-a9f34735.entry.js +1 -0
  312. package/dist/vega/{p-3ae5f50e.entry.js → p-aaf44879.entry.js} +1 -1
  313. package/dist/vega/{p-6cada843.js → p-ae1aa4df.js} +1 -1
  314. package/dist/vega/p-af00e6e2.entry.js +1 -0
  315. package/dist/vega/{p-a0c3968b.js → p-af5cb9bc.js} +1 -1
  316. package/dist/vega/{p-d6c9ef6c.entry.js → p-afd1b519.entry.js} +1 -1
  317. package/dist/vega/{p-5490d499.entry.js → p-bc74d7e7.entry.js} +1 -1
  318. package/dist/vega/{p-6ba71ec4.entry.js → p-c2388937.entry.js} +1 -1
  319. package/dist/vega/p-c31a32f4.js +1 -0
  320. package/dist/vega/{p-11a2f834.js → p-c347e08a.js} +1 -1
  321. package/dist/vega/{p-91739ed3.entry.js → p-c51ebb14.entry.js} +1 -1
  322. package/dist/vega/{p-b80217fa.entry.js → p-c601b331.entry.js} +1 -1
  323. package/dist/vega/{p-d3864b94.entry.js → p-c8fe46fd.entry.js} +1 -1
  324. package/dist/vega/p-ce61d23f.entry.js +1 -0
  325. package/dist/vega/{p-d76e3b3c.entry.js → p-cf2838c7.entry.js} +1 -1
  326. package/dist/vega/{p-e4c5b8d1.entry.js → p-d37636a5.entry.js} +1 -1
  327. package/dist/vega/{p-19e10a87.entry.js → p-d402eb7b.entry.js} +1 -1
  328. package/dist/vega/{p-dec5b448.js → p-d4e519a0.js} +1 -1
  329. package/dist/vega/{p-ce975c69.entry.js → p-da8bb883.entry.js} +1 -1
  330. package/dist/vega/{p-68a96fbb.entry.js → p-dffbbc3d.entry.js} +1 -1
  331. package/dist/vega/{p-bdddddb7.js → p-e1709e59.js} +1 -1
  332. package/dist/vega/{p-c47c37f2.js → p-e27626f6.js} +1 -1
  333. package/dist/vega/{p-6236f592.entry.js → p-e47b2c4c.entry.js} +1 -1
  334. package/dist/vega/{p-7dca19d3.entry.js → p-e95cb28f.entry.js} +1 -1
  335. package/dist/vega/{p-74136508.entry.js → p-ecbb63a5.entry.js} +1 -1
  336. package/dist/vega/p-ed26f4c8.entry.js +1 -0
  337. package/dist/vega/{p-43aaeb30.entry.js → p-effb285f.entry.js} +1 -1
  338. package/dist/vega/p-f1c672e4.js +1 -0
  339. package/dist/vega/{p-56c28943.js → p-f5f5a0d9.js} +1 -1
  340. package/dist/vega/{p-748268e6.entry.js → p-f604f2c9.entry.js} +1 -1
  341. package/dist/vega/{p-e5cc839a.entry.js → p-fa91805b.entry.js} +1 -1
  342. package/dist/vega/vega.esm.js +1 -1
  343. package/package.json +1 -1
  344. package/dist/vega/p-220f8ee7.js +0 -1
  345. package/dist/vega/p-38af89b9.js +0 -1
  346. package/dist/vega/p-5215e1d8.entry.js +0 -1
  347. package/dist/vega/p-5409275a.entry.js +0 -1
  348. package/dist/vega/p-5f23c52d.entry.js +0 -1
  349. package/dist/vega/p-7dbaed6c.entry.js +0 -1
  350. package/dist/vega/p-80cb302f.entry.js +0 -1
  351. package/dist/vega/p-874bf8b2.js +0 -1
  352. package/dist/vega/p-99670c56.entry.js +0 -1
  353. package/dist/vega/p-9de25451.js +0 -1
  354. package/dist/vega/p-a2d6d695.entry.js +0 -1
  355. package/dist/vega/p-b78eaec4.js +0 -1
@@ -51,6 +51,13 @@ export class VegaDatePickerCalendar {
51
51
  * @vegaVersion 2.72.0
52
52
  */
53
53
  this.size = 'regular';
54
+ /**
55
+ * Specifies whether to allow the calendar picker to fill the width and height of its parent container.
56
+ * As default, the calendar picker has a max width and height limit based on the size and mode variant.
57
+ *
58
+ * @vegaVersion 2.86.0
59
+ */
60
+ this.fillContainer = false;
54
61
  /**
55
62
  * Specifies the selection mode of the date picker calendar.
56
63
  *
@@ -81,6 +88,7 @@ export class VegaDatePickerCalendar {
81
88
  this.clearButton = false;
82
89
  /**
83
90
  * Specifies the calendar is static height.
91
+ * It means the height of calendar will not change according to the number of weeks in the month.
84
92
  *
85
93
  * @vegaVersion 2.72.0
86
94
  */
@@ -170,6 +178,7 @@ export class VegaDatePickerCalendar {
170
178
  return sanitizeVegaComponent(h(Host, { class: {
171
179
  [this.size]: true,
172
180
  [this.mode]: true,
181
+ 'fill-container': this.fillContainer,
173
182
  'mobile': this.isMobileDevice,
174
183
  'dual-months': this.isDualMonths,
175
184
  } }, this.renderer.render()), this.host);
@@ -209,6 +218,27 @@ export class VegaDatePickerCalendar {
209
218
  "reflect": false,
210
219
  "defaultValue": "'regular'"
211
220
  },
221
+ "fillContainer": {
222
+ "type": "boolean",
223
+ "mutable": false,
224
+ "complexType": {
225
+ "original": "boolean",
226
+ "resolved": "boolean",
227
+ "references": {}
228
+ },
229
+ "required": false,
230
+ "optional": false,
231
+ "docs": {
232
+ "tags": [{
233
+ "name": "vegaVersion",
234
+ "text": "2.86.0"
235
+ }],
236
+ "text": "Specifies whether to allow the calendar picker to fill the width and height of its parent container.\n As default, the calendar picker has a max width and height limit based on the size and mode variant."
237
+ },
238
+ "attribute": "fill-container",
239
+ "reflect": false,
240
+ "defaultValue": "false"
241
+ },
212
242
  "mode": {
213
243
  "type": "string",
214
244
  "mutable": false,
@@ -362,7 +392,7 @@ export class VegaDatePickerCalendar {
362
392
  "name": "vegaVersion",
363
393
  "text": "2.72.0"
364
394
  }],
365
- "text": "Specifies the calendar is static height."
395
+ "text": "Specifies the calendar is static height.\n It means the height of calendar will not change according to the number of weeks in the month."
366
396
  },
367
397
  "attribute": "static-height",
368
398
  "reflect": false,
@@ -13,6 +13,7 @@ import { PhoneNumberInputRenderer } from './slimmers/renderers/phone-number-inpu
13
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
+ import { AriaAttributesValueMapper } from '../../helpers/slimmers/mutation-observer/aria-attributes-value-mapper';
16
17
  import { FormFieldControllerSlimmer } from '../../helpers/slimmers/form-field-controller-slimmer';
17
18
  import { ValidPhoneNumberRule } from '../../helpers/validator/rules/valid-phone-number-rule';
18
19
  import { CountrySelectController } from './slimmers/controllers/country-select-controller';
@@ -34,6 +35,12 @@ export class VegaInputPhoneNumber {
34
35
  this.countrySelectController = new CountrySelectController();
35
36
  this.changeEventEmitter = createEventEmitSlimmer(VegaInputPhoneNumber, VegaChange);
36
37
  this.countryChangeEventEmitter = createEventEmitSlimmer(VegaInputPhoneNumber, VegaCountryChange);
38
+ this.ariaAttributesValueMapper = new AriaAttributesValueMapper(() => this.host.shadowRoot.querySelector('vega-input'), {
39
+ 'data-aria-label': {
40
+ dependency: ['data-aria-label', 'label'],
41
+ defaultValue: 'No label defined',
42
+ },
43
+ });
37
44
  this.inputPhoneNumberEventPrevent = new ChildNodesEventPreventSlimmer([VegaChange], () => this.host, true);
38
45
  this.formFieldController = new FormFieldControllerSlimmer({
39
46
  propertyRules: [
@@ -699,6 +706,9 @@ __decorate([
699
706
  __decorate([
700
707
  InjectVegaSlimmer()
701
708
  ], VegaInputPhoneNumber.prototype, "countryChangeEventEmitter", void 0);
709
+ __decorate([
710
+ InjectVegaSlimmer()
711
+ ], VegaInputPhoneNumber.prototype, "ariaAttributesValueMapper", void 0);
702
712
  __decorate([
703
713
  InjectVegaSlimmer()
704
714
  ], VegaInputPhoneNumber.prototype, "inputPhoneNumberEventPrevent", void 0);
@@ -55,7 +55,7 @@ export class VegaModalRenderer extends VegaSlimmer {
55
55
  return (h("vega-box", { class: {
56
56
  'vega-modal-content': true,
57
57
  'vega-modal-content-with-scroll': this.isContentScrollable(),
58
- }, padding: this.sectionPaddingState.getContentPadding(), maxHeight: this.contentMaxHeight, ref: (e) => (this.modalContent = e) },
58
+ }, padding: this.sectionPaddingState.getContentPadding(), maxHeight: this.contentMaxHeight, ref: (e) => (this.modalContent = e), role: this.isContentScrollable() ? 'document' : undefined, tabindex: this.isContentScrollable() ? '-1' : undefined },
59
59
  h(Fragment, null,
60
60
  h("slot", null),
61
61
  h("slot", { name: "content" }),
@@ -19,13 +19,17 @@ export class VegaLeftNavBackdropController extends PageResizeObserverSlimmer {
19
19
  this.updateBackdropUI(this.openState);
20
20
  },
21
21
  });
22
+ this.backdrop = null;
22
23
  /* eslint-enable jsdoc/require-jsdoc*/
23
24
  }
24
25
  connectedCallback() {
25
- this.backdrop = this.createBackdrop();
26
+ if (!this.backdrop || !this.backdrop.isConnected) {
27
+ this.backdrop = this.createBackdrop();
28
+ }
26
29
  }
27
30
  disconnectedCallback() {
28
31
  this.backdrop && this.backdrop.remove();
32
+ this.backdrop = null;
29
33
  }
30
34
  watchOpenState(newState) {
31
35
  this.updateBackdropUI(newState);
@@ -59,16 +63,14 @@ export class VegaLeftNavBackdropController extends PageResizeObserverSlimmer {
59
63
  updateBackdropUI(state) {
60
64
  // eslint-disable-next-line no-restricted-globals
61
65
  const mainContent = document.querySelector('vega-left-nav + .vega-left-nav-content');
66
+ const backdrop = this.backdrop;
67
+ if (!backdrop)
68
+ return;
62
69
  if (state === 'open') {
63
- if (mainContent && !this.shouldShowBackdrop()) {
64
- this.backdrop.visible = false;
65
- }
66
- else {
67
- this.backdrop.visible = true;
68
- }
70
+ backdrop.visible = !mainContent || this.shouldShowBackdrop();
69
71
  }
70
72
  else {
71
- this.backdrop.visible = false;
73
+ backdrop.visible = false;
72
74
  }
73
75
  }
74
76
  isLargeScreen() {
@@ -19,12 +19,12 @@ export class VegaLeftNavZIndexController extends VegaSlimmer {
19
19
  updateZIndex() {
20
20
  const backDrop = this.backdropController.getBackdrop();
21
21
  if (this.openState == 'open') {
22
- InternalVegaZIndexManager.setZIndex(backDrop, 'base');
22
+ backDrop && InternalVegaZIndexManager.setZIndex(backDrop, 'base');
23
23
  InternalVegaZIndexManager.setZIndex(this.host, 'base');
24
24
  }
25
25
  else {
26
26
  executeAfterTransition(() => {
27
- InternalVegaZIndexManager.removeZIndex(backDrop, 'base');
27
+ backDrop && InternalVegaZIndexManager.removeZIndex(backDrop, 'base');
28
28
  InternalVegaZIndexManager.removeZIndex(this.host, 'base');
29
29
  }, this.host, 300);
30
30
  }
@@ -245,6 +245,12 @@ export class RTETextNode extends RTENode {
245
245
  * @returns {string} HTML string from that depth onward.
246
246
  */
247
247
  renderHtmlFromDepth(depth, options) {
248
+ // At depth 0 this is, by contract, equivalent to `toHtml`. Delegate
249
+ // so derived classes that override `toHtml` (token, and future RTE
250
+ // extensions) emit their own markup instead of falling back to the
251
+ // base text rendering. See VD-9042.
252
+ if (depth === 0)
253
+ return this.toHtml(options);
248
254
  const annotation = this.getInlineHtmlAnnotationAtDepth(depth);
249
255
  if (!annotation)
250
256
  return this.renderTextStr(options);
@@ -110,6 +110,8 @@ export class VegaRTEToolbarButtonRenderer {
110
110
  }
111
111
  /**
112
112
  * Renders a common toolbar button with optional icon, label, and arrow icon.
113
+ * When a tooltip is provided via `buttonProps.tooltip`, the button is wrapped
114
+ * in a `vega-tooltip` element, matching the behavior of default toolbar buttons.
113
115
  *
114
116
  * @param {VegaRTECreateElementFunction} h - Create element function.
115
117
  * @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
@@ -117,9 +119,9 @@ export class VegaRTEToolbarButtonRenderer {
117
119
  * @returns {VegaRTERenderResult} - The render result for the button.
118
120
  */
119
121
  renderButton(h, editorContext, buttonProps) {
120
- const { icon, label, showArrowIcon } = buttonProps;
122
+ const { icon, label, showArrowIcon, tooltip } = buttonProps;
121
123
  const isDisabled = this.isDisabled(editorContext);
122
- return h('vega-rich-text-editor-toolbar-button', {
124
+ const button = h('vega-rich-text-editor-toolbar-button', {
123
125
  disabled: isDisabled,
124
126
  icon: icon,
125
127
  hidden: this.isHidden(editorContext),
@@ -140,6 +142,10 @@ export class VegaRTEToolbarButtonRenderer {
140
142
  })
141
143
  : null,
142
144
  ].filter(isNonNullable));
145
+ if (tooltip === null || tooltip === void 0 ? void 0 : tooltip.text) {
146
+ return h('vega-tooltip', { text: tooltip.text, placement: ['bottom', 'top'] }, [button]);
147
+ }
148
+ return button;
143
149
  }
144
150
  /**
145
151
  * Renders the button label.
@@ -14,6 +14,7 @@ export class FunctionToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer
14
14
  this.renderButton(h, editorContext, {
15
15
  label: 'Functions',
16
16
  showArrowIcon: true,
17
+ tooltip: { text: 'Insert function' },
17
18
  }),
18
19
  this.renderDropdownListTemplate(h, FunctionToolbarButtonRenderer.FUNCTION_LIST),
19
20
  ]);
@@ -62,6 +62,7 @@ export class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRender
62
62
  this.renderButton(createElement, editorContext, {
63
63
  label: this.getLanguageLabelByKey(this.selectedLanguage),
64
64
  showArrowIcon: true,
65
+ tooltip: { text: 'Select language' },
65
66
  }),
66
67
  ]);
67
68
  }
@@ -25,7 +25,6 @@ import { TablePopoverBaseRenderer } from './table-popover-base-renderer';
25
25
  export class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
26
26
  constructor(colors, renderContext) {
27
27
  super(renderContext);
28
- this.tableColorSchema = [];
29
28
  this.popoverCloseType = 'none'; // 'save' | 'cancel' | 'change' | 'none'
30
29
  this.tablePropertiesHandlerMap = {
31
30
  save: new TablePropertiesSaveEventHandler(),
@@ -53,7 +52,7 @@ export class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
53
52
  this.tablePropertiesHandlerMap[eventKey].handle(extensionContext, this.currentTableBlock, e.detail, this.currentFocusNode);
54
53
  }
55
54
  // Update popover position to follow the target after styles change
56
- if (eventKey === 'change' && this.popoverRef) {
55
+ if (eventKey === 'change') {
57
56
  void this.popoverRef.show(true);
58
57
  }
59
58
  };
@@ -73,7 +72,7 @@ export class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
73
72
  this.cellPropertiesHandlerMap[eventKey].handle(extensionContext, e.detail, this.currentFocusNode);
74
73
  }
75
74
  // Update popover position to follow the target after styles change
76
- if (eventKey === 'change' && this.popoverRef) {
75
+ if (eventKey === 'change') {
77
76
  void this.popoverRef.show(true);
78
77
  }
79
78
  };
@@ -125,55 +124,58 @@ export class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
125
124
  await this.popoverRef.hide();
126
125
  }
127
126
  /**
128
- * Renders a vega-popover whose target and content are provided dynamically by callers.
127
+ * Re-targets the shared popovers to the given table.
129
128
  *
130
- * @param {VegaRTECreateElementFunction} h - The create element function.
131
- * @param {() => HTMLElement} getTableRef - Current table DOM reference
132
- * @param {RTETableBlock} renderData - Current table block being rendered.
133
- * @returns {VegaRTERenderResult} The rendered popover host.
129
+ * @param {RTETableBlock} tableBlock - The clicked table's block data.
130
+ * @param {() => HTMLElement} getTableRef - Getter for the clicked table's DOM element.
134
131
  */
135
- render(h, getTableRef, renderData) {
132
+ reTarget(tableBlock, getTableRef) {
136
133
  this.getTableRef = getTableRef;
137
- this.currentTableBlock = renderData;
138
- return h('vega-popover', {
139
- trigger: 'click',
140
- isScreenPosition: true,
141
- class: 'rte-table-dynamic-popover',
142
- // eslint-disable-next-line jsdoc/require-jsdoc
143
- ref: (popover) => {
144
- this.popoverRef = popover;
145
- DomNodeSubjectObserverFactory.addUniqueObserverToNode(popover, VegaPopoverHide, () => {
146
- const extensionContext = this.getTableExtensionContext();
147
- if (this.popoverCloseType === 'change' && extensionContext) {
148
- extensionContext.flushValue(extensionContext.host.value);
149
- }
150
- });
151
- },
152
- }, [
153
- h('div', {
154
- slot: 'popover',
155
- class: 'rte-table-dynamic-popover-content',
156
- }, [
157
- h('vega-rich-text-table-properties', {
158
- // eslint-disable-next-line jsdoc/require-jsdoc
159
- ref: (el) => (this.tablePropertiesFormRef = el),
160
- colors: this.tableColorSchema,
161
- type: TableSettingType.TABLE,
162
- onVegaCancel: this.handleTablePropertiesUpdate,
163
- onVegaChange: this.handleTablePropertiesUpdate,
164
- onVegaSave: this.handleTablePropertiesUpdate,
165
- }),
166
- h('vega-rich-text-table-properties', {
167
- // eslint-disable-next-line jsdoc/require-jsdoc
168
- ref: (el) => (this.cellPropertiesFormRef = el),
169
- colors: this.tableColorSchema,
170
- type: TableSettingType.CELL,
171
- onVegaCancel: this.handleCellPropertiesUpdate,
172
- onVegaChange: this.handleCellPropertiesUpdate,
173
- onVegaSave: this.handleCellPropertiesUpdate,
174
- }),
175
- ]),
176
- ]);
134
+ this.currentTableBlock = tableBlock;
135
+ }
136
+ /**
137
+ * Builds the popover DOM and appends it to the given container.
138
+ *
139
+ * @returns {Nullable<HTMLElement>} The constructed popover element.
140
+ */
141
+ render() {
142
+ const safeDocument = tryGetDocument();
143
+ if (safeDocument) {
144
+ const popover = safeDocument.createElement('vega-popover');
145
+ popover.trigger = 'click';
146
+ popover.isScreenPosition = true;
147
+ popover.className = 'rte-table-dynamic-popover';
148
+ DomNodeSubjectObserverFactory.addUniqueObserverToNode(popover, VegaPopoverHide, () => {
149
+ const extensionContext = this.getTableExtensionContext();
150
+ if (this.popoverCloseType === 'change' && extensionContext) {
151
+ extensionContext.flushValue(extensionContext.host.value);
152
+ }
153
+ });
154
+ const slotDiv = safeDocument.createElement('div');
155
+ slotDiv.setAttribute('slot', 'popover');
156
+ slotDiv.className = 'rte-table-dynamic-popover-content';
157
+ const tablePropsForm = safeDocument.createElement('vega-rich-text-table-properties');
158
+ tablePropsForm.colors = this.tableColorSchema;
159
+ tablePropsForm.type = TableSettingType.TABLE;
160
+ tablePropsForm.setAttribute('type', TableSettingType.TABLE);
161
+ tablePropsForm.addEventListener('vegaCancel', this.handleTablePropertiesUpdate);
162
+ tablePropsForm.addEventListener('vegaChange', this.handleTablePropertiesUpdate);
163
+ tablePropsForm.addEventListener('vegaSave', this.handleTablePropertiesUpdate);
164
+ const cellPropsForm = safeDocument.createElement('vega-rich-text-table-properties');
165
+ cellPropsForm.colors = this.tableColorSchema;
166
+ cellPropsForm.type = TableSettingType.CELL;
167
+ cellPropsForm.setAttribute('type', TableSettingType.CELL);
168
+ cellPropsForm.addEventListener('vegaCancel', this.handleCellPropertiesUpdate);
169
+ cellPropsForm.addEventListener('vegaChange', this.handleCellPropertiesUpdate);
170
+ cellPropsForm.addEventListener('vegaSave', this.handleCellPropertiesUpdate);
171
+ slotDiv.appendChild(tablePropsForm);
172
+ slotDiv.appendChild(cellPropsForm);
173
+ popover.appendChild(slotDiv);
174
+ this.popoverRef = popover;
175
+ this.tablePropertiesFormRef = tablePropsForm;
176
+ this.cellPropertiesFormRef = cellPropsForm;
177
+ return popover;
178
+ }
177
179
  }
178
180
  /**
179
181
  * Updates the visibility of the pre-rendered content blocks based on type.
@@ -183,13 +185,13 @@ export class TableDynamicPopoverRenderer extends TablePopoverBaseRenderer {
183
185
  updateContent(type) {
184
186
  this.popoverCloseType = 'none';
185
187
  const extensionContext = this.getTableExtensionContext();
186
- if (this.tablePropertiesFormRef && type === 'TABLE') {
188
+ if (type === 'TABLE') {
187
189
  this.tablePropertiesFormRef.classList.remove('vega-hidden');
188
190
  this.cellPropertiesFormRef.classList.add('vega-hidden');
189
191
  this.tablePropertiesFormRef.defaultValue =
190
192
  TablePropertiesEventHandler.generateTablePropertiesForm(this.currentTableBlock);
191
193
  }
192
- else if (this.cellPropertiesFormRef && type === 'CELL') {
194
+ else if (type === 'CELL') {
193
195
  this.cellPropertiesFormRef.classList.remove('vega-hidden');
194
196
  this.tablePropertiesFormRef.classList.add('vega-hidden');
195
197
  if (extensionContext) {
@@ -1,13 +1,11 @@
1
1
  import { VegaRTEExtensionRenderer } from '../../base-extension-renderer';
2
2
  import styles from '../table-block-styles.css';
3
3
  import { DeleteTableBlockAction } from '../actions/delete-table-block-action';
4
- import { TableSettingPopoverRenderer } from './table-setting-popover-renderer';
5
4
  import { RTETableExtensionAnnotationTypeEnum } from '../annotations/table-annotation';
6
- import { TableDynamicPopoverRenderer } from './table-dynamic-popover-renderer';
7
5
  import changeManager from '../../../../../helpers/change-manager/change-manager';
8
6
  import DomNodeSubjectFactory from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
9
7
  import { VegaInternalRTEExtensionTableCellsSelectionAnchor } from '../../../../../helpers/event-manager/event-id/vega-internal-event-id';
10
- import { RTETableColorManager } from '../utils/table-color-manager';
8
+ import { TableSettingPopoverRenderer } from './table-setting-popover-renderer';
11
9
  /**
12
10
  * Renderer for the RTETableBlock.
13
11
  */
@@ -16,12 +14,9 @@ export class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
16
14
  * @inheritDoc
17
15
  */
18
16
  doRender(h, renderData, rteContext) {
19
- const tableSettingPopoverRenderer = new TableSettingPopoverRenderer(rteContext);
20
- const tableDynamicPopoverRenderer = new TableDynamicPopoverRenderer(RTETableColorManager.getTableColors(), rteContext);
21
17
  let tableRef;
22
18
  const table = this.renderTable(h, renderData, (ref) => (tableRef = ref));
23
- const tableSettingPopover = tableSettingPopoverRenderer.render(h, renderData, () => tableRef, tableDynamicPopoverRenderer);
24
- const tableDynamicPopover = tableDynamicPopoverRenderer.render(h, () => tableRef, renderData);
19
+ this.renderTableToolbar(rteContext);
25
20
  const tableAnnotation = renderData.getAnnotationByType(RTETableExtensionAnnotationTypeEnum.TABLE);
26
21
  const children = rteContext.editable
27
22
  ? [
@@ -32,17 +27,23 @@ export class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
32
27
  this.handleTableRemove(renderData, tableRef);
33
28
  },
34
29
  // eslint-disable-next-line jsdoc/require-jsdoc
35
- onClick: (event) => tableSettingPopoverRenderer.handleTableClick(event, tableRef),
30
+ onClick: (event) => {
31
+ if (this.tableToolbar) {
32
+ this.tableToolbar.handleTableClick(event, renderData, () => tableRef);
33
+ }
34
+ },
36
35
  // eslint-disable-next-line jsdoc/require-jsdoc
37
36
  onMouseLeave: () => {
38
- tableSettingPopoverRenderer.syncSelectedCells();
37
+ if (this.tableToolbar) {
38
+ this.tableToolbar.syncSelectedCells();
39
+ }
39
40
  },
40
41
  }, [
41
42
  // Add an extra div as slot container, to make sure the cursor can move to before/end of the table.
42
43
  h('div', {
43
44
  contentEditable: true,
44
45
  ref: this.useRef(renderData),
45
- }, [table, tableSettingPopover, tableDynamicPopover]),
46
+ }, [table]),
46
47
  ]),
47
48
  ]
48
49
  : [table];
@@ -64,6 +65,12 @@ export class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
64
65
  result.childrenContainerGetter = () => table;
65
66
  return result;
66
67
  }
68
+ /**
69
+ * Destroys the table toolbar popover.
70
+ */
71
+ destroy() {
72
+ this.destroyTableToolbar();
73
+ }
67
74
  /**
68
75
  * @inheritDoc
69
76
  */
@@ -113,4 +120,27 @@ export class RTETableBlockRenderer extends VegaRTEExtensionRenderer {
113
120
  }
114
121
  }
115
122
  }
123
+ /**
124
+ * Renders the table setting popover toolbar if the context is editable.
125
+ *
126
+ * @param {RTERenderContext} rteContext - The rendering context of the rich text editor.
127
+ */
128
+ renderTableToolbar(rteContext) {
129
+ if (!rteContext.editable) {
130
+ this.destroyTableToolbar();
131
+ return;
132
+ }
133
+ if (!this.tableToolbar) {
134
+ this.tableToolbar = new TableSettingPopoverRenderer(rteContext);
135
+ this.tableToolbar.render();
136
+ }
137
+ }
138
+ /**
139
+ * Destroys the table setting popover toolbar if it exists.
140
+ */
141
+ destroyTableToolbar() {
142
+ var _a;
143
+ (_a = this.tableToolbar) === null || _a === void 0 ? void 0 : _a.destroy();
144
+ this.tableToolbar = null;
145
+ }
116
146
  }