@globalpayments/vega 2.100.0 → 2.101.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 (394) hide show
  1. package/dist/cjs/{action-color-accessibility-validator-b8a9ef0f.js → action-color-accessibility-validator-61af71ae.js} +1 -1
  2. package/dist/cjs/{app-globals-48d067a7.js → app-globals-275ea7c7.js} +15 -7
  3. package/dist/cjs/{aria-dialog-focusable-trap-slimmer-62147489.js → aria-dialog-focusable-trap-slimmer-c79cc3f8.js} +1 -1
  4. package/dist/cjs/{child-nodes-event-prevent-slimmer-e0ac8467.js → child-nodes-event-prevent-slimmer-d720d7e9.js} +1 -1
  5. package/dist/cjs/{code-block-3b42c364.js → code-block-c598832d.js} +793 -781
  6. package/dist/cjs/{component-value-history-controller-slimmer.abstract-bbe3bcaf.js → component-value-history-controller-slimmer.abstract-4bd47aa1.js} +3 -3
  7. package/dist/cjs/{content-state-87a06c1a.js → content-state-da23e822.js} +2 -2
  8. package/dist/cjs/countries-a8e3812a.js +251 -0
  9. package/dist/cjs/{dark-mode-style-controller-f3da3342.js → dark-mode-style-controller-ec04ece9.js} +45 -45
  10. package/dist/cjs/{element-appender-slimmer-f7ba5d9a.js → element-appender-slimmer-2aaf8e24.js} +20 -1
  11. package/dist/cjs/{event-emit-slimmer-34aa195e.js → event-emit-slimmer-67b5c186.js} +1 -1
  12. package/dist/cjs/{form-field-controller-slimmer-fbaddc91.js → form-field-controller-slimmer-ac9337f4.js} +2 -2
  13. package/dist/cjs/{image-annotation-action-03d3e01a.js → image-annotation-action-378838c2.js} +4 -4
  14. package/dist/cjs/{image-extension-ccda26d3.js → image-extension-673ebe7f.js} +2 -2
  15. package/dist/cjs/index.cjs.js +14 -12
  16. package/dist/cjs/{internal-vega-event-manager-7003c84a.js → internal-vega-event-manager-976b9526.js} +10 -2
  17. package/dist/cjs/{link-extension-71eeaa9f.js → link-extension-f493e432.js} +2 -2
  18. package/dist/cjs/loader.cjs.js +13 -12
  19. package/dist/cjs/{public-rules-3dc5d02d.js → public-rules-bae12c47.js} +5 -5
  20. package/dist/cjs/{range-d29751e3.js → range-9f42fb40.js} +1 -1
  21. package/dist/cjs/{rich-text-editor-required-rule-05de7f0c.js → rich-text-editor-required-rule-bb232741.js} +1 -1
  22. package/dist/cjs/{split-cell-operation-ef783850.js → split-cell-operation-0d33123e.js} +3 -3
  23. package/dist/cjs/{string-input-formatter-slimmer-9747039f.js → string-input-formatter-slimmer-2e0a838e.js} +2 -2
  24. package/dist/cjs/{sub-state-notify-slimmer-e264a120.js → sub-state-notify-slimmer-3b33e31c.js} +1 -1
  25. package/dist/cjs/{sub-state-observer-slimmer-6033b824.js → sub-state-observer-slimmer-5b68ba3f.js} +1 -1
  26. package/dist/cjs/{token-extension-8d7bd451.js → token-extension-4badb962.js} +9 -9
  27. package/dist/cjs/vega-accordion.cjs.entry.js +3 -3
  28. package/dist/cjs/vega-app-footer.cjs.entry.js +4 -4
  29. package/dist/cjs/vega-app-header-button.cjs.entry.js +4 -4
  30. package/dist/cjs/vega-banner.cjs.entry.js +3 -3
  31. package/dist/cjs/vega-brand-logo.cjs.entry.js +1 -1
  32. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  33. package/dist/cjs/vega-button-circle.cjs.entry.js +6 -6
  34. package/dist/cjs/vega-button-group_2.cjs.entry.js +7 -7
  35. package/dist/cjs/vega-button-link.cjs.entry.js +5 -5
  36. package/dist/cjs/vega-button.cjs.entry.js +6 -6
  37. package/dist/cjs/vega-calendar_5.cjs.entry.js +122 -16
  38. package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
  39. package/dist/cjs/vega-checkbox_2.cjs.entry.js +7 -7
  40. package/dist/cjs/vega-chip.cjs.entry.js +4 -4
  41. package/dist/cjs/vega-code-block.cjs.entry.js +9 -9
  42. package/dist/cjs/vega-color-picker.cjs.entry.js +6 -6
  43. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +7 -7
  44. package/dist/cjs/vega-color-swatch.cjs.entry.js +3 -3
  45. package/dist/cjs/vega-combo-box.cjs.entry.js +7 -7
  46. package/dist/cjs/vega-date-picker_2.cjs.entry.js +11 -11
  47. package/dist/cjs/vega-dialog_2.cjs.entry.js +6 -6
  48. package/dist/cjs/vega-dropdown_5.cjs.entry.js +9 -9
  49. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  50. package/dist/cjs/{vega-event-id-58afed7a.js → vega-event-id-987a170c.js} +2 -0
  51. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  52. package/dist/cjs/vega-file-uploader.cjs.entry.js +6 -6
  53. package/dist/cjs/vega-flag-icon.cjs.entry.js +6 -6
  54. package/dist/cjs/vega-form.cjs.entry.js +7 -7
  55. package/dist/cjs/vega-image-uploader.cjs.entry.js +8 -8
  56. package/dist/cjs/vega-input-credit-card.cjs.entry.js +7 -7
  57. package/dist/cjs/vega-input-numeric.cjs.entry.js +8 -8
  58. package/dist/cjs/vega-input-passcode.cjs.entry.js +7 -7
  59. package/dist/cjs/vega-input-phone-number.cjs.entry.js +16 -269
  60. package/dist/cjs/vega-input-range.cjs.entry.js +7 -7
  61. package/dist/cjs/vega-input-select.cjs.entry.js +16 -33
  62. package/dist/cjs/vega-input.cjs.entry.js +8 -8
  63. package/dist/cjs/{vega-internal-event-id-f4d33037.js → vega-internal-event-id-98d499d7.js} +6 -2
  64. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  65. package/dist/cjs/vega-left-nav_5.cjs.entry.js +7 -7
  66. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  67. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +4 -4
  68. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
  69. package/dist/cjs/vega-pagination.cjs.entry.js +5 -5
  70. package/dist/cjs/vega-popover_2.cjs.entry.js +6 -6
  71. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +6 -6
  72. package/dist/cjs/vega-radio_2.cjs.entry.js +7 -7
  73. package/dist/cjs/vega-rich-text-content.cjs.entry.js +9 -9
  74. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +18 -18
  75. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +3 -3
  76. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +3 -3
  77. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +8 -8
  78. package/dist/cjs/vega-segment-control.cjs.entry.js +11 -4
  79. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +8 -8
  80. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +8 -8
  81. package/dist/cjs/vega-sidenav_3.cjs.entry.js +6 -6
  82. package/dist/cjs/vega-signature-capture.cjs.entry.js +6 -6
  83. package/dist/cjs/vega-stepper.cjs.entry.js +7 -7
  84. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  85. package/dist/cjs/vega-table_11.cjs.entry.js +620 -661
  86. package/dist/cjs/vega-textarea.cjs.entry.js +7 -7
  87. package/dist/cjs/vega-time-picker_2.cjs.entry.js +8 -8
  88. package/dist/cjs/vega-toggle-switch.cjs.entry.js +6 -6
  89. package/dist/cjs/vega-tooltip_2.cjs.entry.js +2 -2
  90. package/dist/cjs/vega.cjs.js +13 -12
  91. package/dist/cjs/{wait-for-component-did-render-44d006ee.js → wait-for-component-did-render-90edbc1a.js} +1 -1
  92. package/dist/collection/components/vega-button/vega-button.css +3 -3
  93. package/dist/collection/components/vega-button-circle/vega-button-circle.css +3 -3
  94. package/dist/collection/components/vega-button-link/vega-button-link.css +4 -4
  95. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +45 -5
  96. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.js +43 -1
  97. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +23 -4
  98. package/dist/collection/components/vega-calendar/vega-calendar.js +77 -1
  99. package/dist/collection/components/vega-flag-icon/slimmers/controllers/vega-flag-icon-controller.js +6 -6
  100. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.js +4 -8
  101. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-prefix-icon-renderer.js +8 -28
  102. package/dist/collection/components/vega-input-select/vega-input-select.js +3 -1
  103. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +1 -2
  104. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +18 -6
  105. package/dist/collection/components/vega-segment-control/slimmers/renderers/vega-segment-renderer.js +8 -1
  106. package/dist/collection/components/vega-segment-control/vega-segment-control.js +23 -0
  107. package/dist/collection/components/vega-table/slimmers/controllers/dto/column-render-input-model.js +25 -8
  108. package/dist/collection/components/vega-table/slimmers/controllers/dto/row-render-input-model.js +41 -0
  109. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-head-template-structure-controller.js +1 -0
  110. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-render-input-controller.js +316 -18
  111. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-renderer.js +6 -1
  112. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-header-renderer.js +1 -0
  113. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +33 -530
  114. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-row-renderer.js +1 -0
  115. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.css +10 -0
  116. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +25 -8
  117. package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.js +14 -6
  118. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.css +20 -0
  119. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.js +7 -0
  120. package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +21 -2
  121. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.css +10 -0
  122. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.js +12 -1
  123. package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.js +20 -13
  124. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.css +26 -0
  125. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.js +12 -0
  126. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.css +10 -0
  127. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +19 -6
  128. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +21 -46
  129. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.css +16 -7
  130. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.js +9 -2
  131. package/dist/collection/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.js +28 -13
  132. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.css +26 -0
  133. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +11 -0
  134. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-border-tokens.js +1 -1
  135. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-color-tokens.js +20 -20
  136. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-ring-tokens.js +1 -1
  137. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-shadow-tokens.js +1 -1
  138. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-border-tokens.js +1 -1
  139. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-color-tokens.js +19 -19
  140. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-shadow-tokens.js +1 -1
  141. package/dist/collection/constants/ui.js +1 -0
  142. package/dist/collection/global/scripts/before-vega-load.js +8 -0
  143. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +10 -2
  144. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  145. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +3 -1
  146. package/dist/collection/helpers/public-api.js +1 -0
  147. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +8 -0
  148. package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +10 -0
  149. package/dist/collection/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.js +2 -0
  150. package/dist/collection/helpers/ui/element-appender.js +1 -0
  151. package/dist/esm/{action-color-accessibility-validator-08877515.js → action-color-accessibility-validator-3e824a59.js} +1 -1
  152. package/dist/esm/{app-globals-1e1371d5.js → app-globals-ad3c7cea.js} +15 -7
  153. package/dist/esm/{aria-dialog-focusable-trap-slimmer-b2a24a45.js → aria-dialog-focusable-trap-slimmer-27a6aa19.js} +1 -1
  154. package/dist/esm/{child-nodes-event-prevent-slimmer-82626871.js → child-nodes-event-prevent-slimmer-0ebcbf47.js} +1 -1
  155. package/dist/esm/{code-block-741d6b8e.js → code-block-1cdf7a51.js} +793 -781
  156. package/dist/esm/{component-value-history-controller-slimmer.abstract-2bcd749e.js → component-value-history-controller-slimmer.abstract-bdeeb43f.js} +3 -3
  157. package/dist/esm/{content-state-2f6f4204.js → content-state-6eb610b8.js} +2 -2
  158. package/dist/esm/countries-50d3339b.js +249 -0
  159. package/dist/esm/{dark-mode-style-controller-352f15ff.js → dark-mode-style-controller-4e04a2d3.js} +45 -45
  160. package/dist/esm/{element-appender-slimmer-c820c0bf.js → element-appender-slimmer-dd4e2908.js} +20 -1
  161. package/dist/esm/{event-emit-slimmer-e8bb2292.js → event-emit-slimmer-12ee1593.js} +1 -1
  162. package/dist/esm/{form-field-controller-slimmer-02165dbe.js → form-field-controller-slimmer-5c794b4d.js} +2 -2
  163. package/dist/esm/{image-annotation-action-972c1074.js → image-annotation-action-cdd50dcc.js} +4 -4
  164. package/dist/esm/{image-extension-59484e9a.js → image-extension-f6dbd70c.js} +2 -2
  165. package/dist/esm/index.js +13 -12
  166. package/dist/esm/{internal-vega-event-manager-2ecc9186.js → internal-vega-event-manager-0c381f3b.js} +10 -2
  167. package/dist/esm/{link-extension-e89acb5c.js → link-extension-bc234cf7.js} +2 -2
  168. package/dist/esm/loader.js +13 -12
  169. package/dist/esm/{public-rules-c154201b.js → public-rules-8dc3fb00.js} +5 -5
  170. package/dist/esm/{range-c818a1eb.js → range-d2439ba7.js} +1 -1
  171. package/dist/esm/{rich-text-editor-required-rule-878e91c6.js → rich-text-editor-required-rule-a0663a84.js} +1 -1
  172. package/dist/esm/{split-cell-operation-cc0cdf90.js → split-cell-operation-1a889fa0.js} +3 -3
  173. package/dist/esm/{string-input-formatter-slimmer-76fe52d3.js → string-input-formatter-slimmer-69887c40.js} +2 -2
  174. package/dist/esm/{sub-state-notify-slimmer-e306c849.js → sub-state-notify-slimmer-ba72f30b.js} +1 -1
  175. package/dist/esm/{sub-state-observer-slimmer-bd85f381.js → sub-state-observer-slimmer-bee1c7fa.js} +1 -1
  176. package/dist/esm/{token-extension-35c66684.js → token-extension-530d9bde.js} +9 -9
  177. package/dist/esm/vega-accordion.entry.js +3 -3
  178. package/dist/esm/vega-app-footer.entry.js +4 -4
  179. package/dist/esm/vega-app-header-button.entry.js +4 -4
  180. package/dist/esm/vega-banner.entry.js +3 -3
  181. package/dist/esm/vega-brand-logo.entry.js +1 -1
  182. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  183. package/dist/esm/vega-button-circle.entry.js +6 -6
  184. package/dist/esm/vega-button-group_2.entry.js +7 -7
  185. package/dist/esm/vega-button-link.entry.js +5 -5
  186. package/dist/esm/vega-button.entry.js +6 -6
  187. package/dist/esm/vega-calendar_5.entry.js +122 -16
  188. package/dist/esm/vega-carousel.entry.js +3 -3
  189. package/dist/esm/vega-checkbox_2.entry.js +7 -7
  190. package/dist/esm/vega-chip.entry.js +4 -4
  191. package/dist/esm/vega-code-block.entry.js +9 -9
  192. package/dist/esm/vega-color-picker.entry.js +6 -6
  193. package/dist/esm/vega-color-swatch-picker.entry.js +7 -7
  194. package/dist/esm/vega-color-swatch.entry.js +3 -3
  195. package/dist/esm/vega-combo-box.entry.js +7 -7
  196. package/dist/esm/vega-date-picker_2.entry.js +11 -11
  197. package/dist/esm/vega-dialog_2.entry.js +6 -6
  198. package/dist/esm/vega-dropdown_5.entry.js +9 -9
  199. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  200. package/dist/esm/{vega-event-id-f55f6977.js → vega-event-id-59cd9297.js} +2 -1
  201. package/dist/esm/vega-field-label.entry.js +3 -3
  202. package/dist/esm/vega-file-uploader.entry.js +6 -6
  203. package/dist/esm/vega-flag-icon.entry.js +6 -6
  204. package/dist/esm/vega-form.entry.js +7 -7
  205. package/dist/esm/vega-image-uploader.entry.js +8 -8
  206. package/dist/esm/vega-input-credit-card.entry.js +7 -7
  207. package/dist/esm/vega-input-numeric.entry.js +8 -8
  208. package/dist/esm/vega-input-passcode.entry.js +7 -7
  209. package/dist/esm/vega-input-phone-number.entry.js +13 -266
  210. package/dist/esm/vega-input-range.entry.js +7 -7
  211. package/dist/esm/vega-input-select.entry.js +17 -34
  212. package/dist/esm/vega-input.entry.js +8 -8
  213. package/dist/esm/{vega-internal-event-id-86fce049.js → vega-internal-event-id-02093067.js} +4 -2
  214. package/dist/esm/vega-item-toggle.entry.js +3 -3
  215. package/dist/esm/vega-left-nav_5.entry.js +7 -7
  216. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  217. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +4 -4
  218. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +2 -2
  219. package/dist/esm/vega-pagination.entry.js +5 -5
  220. package/dist/esm/vega-popover_2.entry.js +6 -6
  221. package/dist/esm/vega-progress-tracker_2.entry.js +6 -6
  222. package/dist/esm/vega-radio_2.entry.js +7 -7
  223. package/dist/esm/vega-rich-text-content.entry.js +9 -9
  224. package/dist/esm/vega-rich-text-editor_4.entry.js +18 -18
  225. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +3 -3
  226. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +3 -3
  227. package/dist/esm/vega-rich-text-table-properties_3.entry.js +8 -8
  228. package/dist/esm/vega-segment-control.entry.js +11 -4
  229. package/dist/esm/vega-selection-chip_2.entry.js +8 -8
  230. package/dist/esm/vega-selection-tile_2.entry.js +8 -8
  231. package/dist/esm/vega-sidenav_3.entry.js +6 -6
  232. package/dist/esm/vega-signature-capture.entry.js +6 -6
  233. package/dist/esm/vega-stepper.entry.js +7 -7
  234. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  235. package/dist/esm/vega-table_11.entry.js +620 -661
  236. package/dist/esm/vega-textarea.entry.js +7 -7
  237. package/dist/esm/vega-time-picker_2.entry.js +8 -8
  238. package/dist/esm/vega-toggle-switch.entry.js +6 -6
  239. package/dist/esm/vega-tooltip_2.entry.js +2 -2
  240. package/dist/esm/vega.js +13 -12
  241. package/dist/esm/{wait-for-component-did-render-9b91a826.js → wait-for-component-did-render-9e84d92d.js} +1 -1
  242. package/dist/sri/vega-sri-manifest.json +308 -304
  243. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +18 -0
  244. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.d.ts +9 -0
  245. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +9 -1
  246. package/dist/types/components/vega-calendar/types.d.ts +22 -0
  247. package/dist/types/components/vega-calendar/vega-calendar.d.ts +23 -1
  248. package/dist/types/components/vega-flag-icon/slimmers/controllers/vega-flag-icon-controller.d.ts +2 -2
  249. package/dist/types/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.d.ts +0 -1
  250. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-prefix-icon-renderer.d.ts +2 -14
  251. package/dist/types/components/vega-input-select/vega-input-select.d.ts +1 -0
  252. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +11 -1
  253. package/dist/types/components/vega-segment-control/slimmers/renderers/vega-segment-renderer.d.ts +1 -0
  254. package/dist/types/components/vega-segment-control/types.d.ts +2 -0
  255. package/dist/types/components/vega-segment-control/vega-segment-control.d.ts +7 -1
  256. package/dist/types/components/vega-table/slimmers/controllers/dto/column-render-input-model.d.ts +17 -0
  257. package/dist/types/components/vega-table/slimmers/controllers/dto/row-render-input-model.d.ts +39 -0
  258. package/dist/types/components/vega-table/slimmers/controllers/vega-table-render-input-controller.d.ts +71 -7
  259. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-renderer.d.ts +1 -0
  260. package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +3 -88
  261. package/dist/types/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.d.ts +1 -1
  262. package/dist/types/components/vega-table/vega-table-expand-row/vega-table-expand-row.d.ts +5 -0
  263. package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.d.ts +1 -0
  264. package/dist/types/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.d.ts +5 -0
  265. package/dist/types/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.d.ts +1 -3
  266. package/dist/types/components/vega-table/vega-table-foot-row/vega-table-foot-row.d.ts +5 -0
  267. package/dist/types/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.d.ts +0 -4
  268. package/dist/types/components/vega-table/vega-table-head-row/vega-table-head-row.d.ts +2 -2
  269. package/dist/types/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.d.ts +2 -3
  270. package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +4 -0
  271. package/dist/types/components.d.ts +33 -2
  272. package/dist/types/constants/ui.d.ts +1 -1
  273. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  274. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -1
  275. package/dist/types/helpers/public-api.d.ts +1 -0
  276. package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +6 -0
  277. package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +6 -0
  278. package/dist/types/helpers/slimmers/position-calculation/screen-scroll-position-update.d.ts +2 -1
  279. package/dist/types/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.d.ts +2 -1
  280. package/dist/types/types/components.type.d.ts +7 -1
  281. package/dist/types/types/public-api.d.ts +1 -0
  282. package/dist/vega/index.esm.js +1 -1
  283. package/dist/vega/{p-85de755f.js → p-022cbf8a.js} +1 -1
  284. package/dist/vega/{p-284a8828.entry.js → p-02c1284e.entry.js} +1 -1
  285. package/dist/vega/{p-a488447f.js → p-069bbb4a.js} +1 -1
  286. package/dist/vega/{p-9efa5d76.js → p-08fd229c.js} +1 -1
  287. package/dist/vega/{p-e11c6ec4.entry.js → p-131ce9df.entry.js} +1 -1
  288. package/dist/vega/{p-bedb575c.entry.js → p-143ee395.entry.js} +1 -1
  289. package/dist/vega/p-178634f3.js +1 -0
  290. package/dist/vega/{p-9e9f49f4.js → p-1836a6a5.js} +1 -1
  291. package/dist/vega/p-1dbf8d1f.js +1 -0
  292. package/dist/vega/p-2dda5c65.entry.js +1 -0
  293. package/dist/vega/{p-3abb793c.entry.js → p-30010c41.entry.js} +1 -1
  294. package/dist/vega/p-32f5a6dd.entry.js +1 -0
  295. package/dist/vega/{p-7ddc0bec.entry.js → p-3460a1c5.entry.js} +1 -1
  296. package/dist/vega/{p-b07f587a.entry.js → p-34b523da.entry.js} +1 -1
  297. package/dist/vega/{p-5b9b1631.entry.js → p-357c0226.entry.js} +1 -1
  298. package/dist/vega/p-361f8996.js +1 -0
  299. package/dist/vega/p-36ee9d54.js +1 -0
  300. package/dist/vega/{p-2c8dc0d2.entry.js → p-37d5c37e.entry.js} +1 -1
  301. package/dist/vega/{p-3f2a4b34.entry.js → p-45ad2d90.entry.js} +1 -1
  302. package/dist/vega/{p-5d9be870.entry.js → p-4b117bfd.entry.js} +1 -1
  303. package/dist/vega/p-4e70836a.entry.js +1 -0
  304. package/dist/vega/{p-8fc0a820.js → p-4ea477d5.js} +1 -1
  305. package/dist/vega/{p-cd0a108b.entry.js → p-50e8e24f.entry.js} +1 -1
  306. package/dist/vega/{p-7e22610b.entry.js → p-522a6eec.entry.js} +1 -1
  307. package/dist/vega/p-53e3f259.js +1 -0
  308. package/dist/vega/{p-2c737fc8.js → p-5536146c.js} +1 -1
  309. package/dist/vega/{p-5789690b.entry.js → p-55c2c0df.entry.js} +1 -1
  310. package/dist/vega/p-587130f6.entry.js +1 -0
  311. package/dist/vega/{p-379736e2.js → p-58c8a4ac.js} +1 -1
  312. package/dist/vega/{p-c422ee02.entry.js → p-5c17ddda.entry.js} +1 -1
  313. package/dist/vega/{p-ea1a0046.entry.js → p-5c9c0c0d.entry.js} +1 -1
  314. package/dist/vega/p-5f377954.js +1 -1
  315. package/dist/vega/p-60010f14.entry.js +1 -0
  316. package/dist/vega/p-6098c4bb.js +1 -0
  317. package/dist/vega/{p-debf9e06.entry.js → p-61e63c0e.entry.js} +1 -1
  318. package/dist/vega/{p-7469d0d1.entry.js → p-62254dc7.entry.js} +1 -1
  319. package/dist/vega/{p-7a03ef96.entry.js → p-62ae9327.entry.js} +1 -1
  320. package/dist/vega/p-66245bc0.entry.js +1 -0
  321. package/dist/vega/{p-46f22f6c.entry.js → p-68ca8d3c.entry.js} +1 -1
  322. package/dist/vega/p-6a6c1279.js +1 -0
  323. package/dist/vega/{p-61ed7268.entry.js → p-6ae93679.entry.js} +1 -1
  324. package/dist/vega/{p-c7d46740.entry.js → p-6d90d28d.entry.js} +1 -1
  325. package/dist/vega/{p-6fd8f14b.js → p-6fae6768.js} +1 -1
  326. package/dist/vega/{p-8cfdd0e8.entry.js → p-71813a9e.entry.js} +1 -1
  327. package/dist/vega/{p-816b5fd2.entry.js → p-729529d6.entry.js} +1 -1
  328. package/dist/vega/{p-7ae4cf82.entry.js → p-75bfbffe.entry.js} +1 -1
  329. package/dist/vega/{p-bfe5dff7.entry.js → p-764b4e51.entry.js} +1 -1
  330. package/dist/vega/{p-5c3649f9.js → p-7d3419c7.js} +1 -1
  331. package/dist/vega/{p-a48468b5.entry.js → p-8e8b5790.entry.js} +1 -1
  332. package/dist/vega/{p-bc0e5598.entry.js → p-9236b8d9.entry.js} +1 -1
  333. package/dist/vega/p-9402f32f.js +1 -0
  334. package/dist/vega/{p-02b5d4ac.entry.js → p-942f9ea6.entry.js} +1 -1
  335. package/dist/vega/{p-c032f626.entry.js → p-9fdf66a8.entry.js} +1 -1
  336. package/dist/vega/{p-edd7aa92.entry.js → p-a2c45173.entry.js} +1 -1
  337. package/dist/vega/{p-ab253867.entry.js → p-a54ed341.entry.js} +1 -1
  338. package/dist/vega/{p-0f344e02.entry.js → p-a8a246e8.entry.js} +1 -1
  339. package/dist/vega/{p-bc119e75.entry.js → p-af0e9bd5.entry.js} +1 -1
  340. package/dist/vega/p-b1557bbe.js +1 -0
  341. package/dist/vega/p-b94f164a.entry.js +1 -0
  342. package/dist/vega/{p-01ca92e6.entry.js → p-bbfffe6b.entry.js} +1 -1
  343. package/dist/vega/{p-5006404e.entry.js → p-beccc38c.entry.js} +1 -1
  344. package/dist/vega/{p-b52d7724.js → p-c51de680.js} +1 -1
  345. package/dist/vega/{p-fe985b52.js → p-c601eea6.js} +1 -1
  346. package/dist/vega/{p-d340ee3d.entry.js → p-c6d2513c.entry.js} +1 -1
  347. package/dist/vega/{p-4d1896e0.entry.js → p-ca6bd3a0.entry.js} +1 -1
  348. package/dist/vega/{p-411cadbc.entry.js → p-cab890be.entry.js} +1 -1
  349. package/dist/vega/p-cb1cd15f.entry.js +1 -0
  350. package/dist/vega/p-d1f47512.js +1 -0
  351. package/dist/vega/{p-23db0a92.entry.js → p-d37d2ea4.entry.js} +1 -1
  352. package/dist/vega/{p-76999ea1.entry.js → p-d3e99d4a.entry.js} +1 -1
  353. package/dist/vega/{p-7cc8855d.entry.js → p-d6bd3ce4.entry.js} +1 -1
  354. package/dist/vega/{p-cd04b149.entry.js → p-d7838f6e.entry.js} +1 -1
  355. package/dist/vega/{p-79b49e8d.entry.js → p-d8c9ea46.entry.js} +1 -1
  356. package/dist/vega/p-d9588b3f.entry.js +1 -0
  357. package/dist/vega/{p-74b20563.entry.js → p-db69a5c9.entry.js} +1 -1
  358. package/dist/vega/{p-9ba2fdff.js → p-de1d0284.js} +1 -1
  359. package/dist/vega/{p-e0a51e49.js → p-de6fc52c.js} +1 -1
  360. package/dist/vega/{p-efc08027.entry.js → p-e48b7a8a.entry.js} +1 -1
  361. package/dist/vega/{p-d897acd5.js → p-e6f67a44.js} +1 -1
  362. package/dist/vega/{p-844ad6aa.entry.js → p-e8e3bf74.entry.js} +1 -1
  363. package/dist/vega/p-eadc10bc.entry.js +1 -0
  364. package/dist/vega/p-ee329596.entry.js +1 -0
  365. package/dist/vega/p-f01bc6a2.js +1 -0
  366. package/dist/vega/p-f324e90e.js +1 -0
  367. package/dist/vega/{p-493108d5.js → p-f48519d2.js} +1 -1
  368. package/dist/vega/{p-35d37477.entry.js → p-f8d13d01.entry.js} +1 -1
  369. package/dist/vega/{p-aaaf21eb.entry.js → p-f99f054c.entry.js} +1 -1
  370. package/dist/vega/{p-49de5559.entry.js → p-fe41e3b6.entry.js} +1 -1
  371. package/dist/vega/vega.esm.js +1 -1
  372. package/package.json +1 -1
  373. package/dist/vega/p-06a42a9f.entry.js +0 -1
  374. package/dist/vega/p-0cd362f3.entry.js +0 -1
  375. package/dist/vega/p-0e10798b.entry.js +0 -1
  376. package/dist/vega/p-401c6764.js +0 -1
  377. package/dist/vega/p-4a2fe3a4.js +0 -1
  378. package/dist/vega/p-5447a8e8.js +0 -1
  379. package/dist/vega/p-5a086e93.js +0 -1
  380. package/dist/vega/p-5b3c8a56.js +0 -1
  381. package/dist/vega/p-6336d446.entry.js +0 -1
  382. package/dist/vega/p-7f395622.entry.js +0 -1
  383. package/dist/vega/p-8663314e.js +0 -1
  384. package/dist/vega/p-86fb46d2.entry.js +0 -1
  385. package/dist/vega/p-8c30a60d.js +0 -1
  386. package/dist/vega/p-9034f709.js +0 -1
  387. package/dist/vega/p-a306bb39.js +0 -1
  388. package/dist/vega/p-a647c856.entry.js +0 -1
  389. package/dist/vega/p-a92cd703.js +0 -1
  390. package/dist/vega/p-ad367b48.entry.js +0 -1
  391. package/dist/vega/p-d1bb6e7a.entry.js +0 -1
  392. package/dist/vega/p-e5abc288.entry.js +0 -1
  393. package/dist/vega/p-ef1bbf14.js +0 -1
  394. package/dist/vega/p-f8bf379c.entry.js +0 -1
@@ -0,0 +1,41 @@
1
+ import { extractNumberFromString } from '../../../../../utils/ui';
2
+ /** Render-time structural state shared by table row variants. */
3
+ export class RowRenderInputModel {
4
+ constructor(kind, hasLeftPinnedColumn, hasRightPinnedColumn, showSelectionCell, showDraggableCell, showExpandActionCell, hasExpandedRowSlot, leftPaddingPx, rightPaddingPx, startRowSpan = null, endRowSpan = null, isStartHidden = false, isEndHidden = false) {
5
+ this.kind = kind;
6
+ this.hasLeftPinnedColumn = hasLeftPinnedColumn;
7
+ this.hasRightPinnedColumn = hasRightPinnedColumn;
8
+ this.showSelectionCell = showSelectionCell;
9
+ this.showDraggableCell = showDraggableCell;
10
+ this.showExpandActionCell = showExpandActionCell;
11
+ this.hasExpandedRowSlot = hasExpandedRowSlot;
12
+ this.leftPaddingPx = leftPaddingPx;
13
+ this.rightPaddingPx = rightPaddingPx;
14
+ this.startRowSpan = startRowSpan;
15
+ this.endRowSpan = endRowSpan;
16
+ this.isStartHidden = isStartHidden;
17
+ this.isEndHidden = isEndHidden;
18
+ }
19
+ /**
20
+ * Create row render input from table and column structure state.
21
+ *
22
+ * @param {ColumnStructureModel} structure - Current column structure.
23
+ * @param {TableRowStructure} table - Current row-related table state.
24
+ * @param {RowKind} kind - Row variant being rendered.
25
+ * @param {ColumnRenderInputModel[]} headRenderInputs - Header columns for row-span metadata.
26
+ * @returns {RowRenderInputModel} Row-owned render input.
27
+ */
28
+ static from(structure, table, kind, headRenderInputs = null) {
29
+ const startRenderInput = headRenderInputs === null || headRenderInputs === void 0 ? void 0 : headRenderInputs[0];
30
+ const endRenderInput = headRenderInputs === null || headRenderInputs === void 0 ? void 0 : headRenderInputs[headRenderInputs.length - 1];
31
+ const isMultipleSelection = !!table.rowSelection && (table.rowSelection.type || 'multiple') === 'multiple';
32
+ return new RowRenderInputModel(kind, structure.hasLeftPinnedColumn(), structure.hasRightPinnedColumn(), isMultipleSelection, !!table.rowDraggable, kind !== 'expand' && table.hasExpandableRow, kind === 'expand', extractNumberFromString(table.paddingX[0]), extractNumberFromString(table.paddingX[1]), (startRenderInput === null || startRenderInput === void 0 ? void 0 : startRenderInput.headHasGroupColumn)
33
+ ? isMultipleSelection && startRenderInput.level === 0
34
+ ? startRenderInput.headMaxDepth
35
+ : startRenderInput.rowSpan
36
+ : null, (endRenderInput === null || endRenderInput === void 0 ? void 0 : endRenderInput.headHasGroupColumn) ? endRenderInput.rowSpan : null, !!(startRenderInput === null || startRenderInput === void 0 ? void 0 : startRenderInput.headHasGroupColumn) &&
37
+ ((isMultipleSelection && startRenderInput.level > 0) || !startRenderInput.isViewStart), !!(startRenderInput === null || startRenderInput === void 0 ? void 0 : startRenderInput.headHasGroupColumn) &&
38
+ !!(endRenderInput === null || endRenderInput === void 0 ? void 0 : endRenderInput.headHasGroupColumn) &&
39
+ !endRenderInput.isViewEnd);
40
+ }
41
+ }
@@ -226,6 +226,7 @@ export class VegaTableHeadTemplateStructureController extends VegaSlimmer {
226
226
  return;
227
227
  const resolvedRowRenderInputs = rowRenderInputs;
228
228
  this.vegaTableRenderInputController.addHeadRowRenderInputMap(templateRow, resolvedRowRenderInputs);
229
+ this.vegaTableRenderInputController.addRowRenderInputMap(templateRow, 'head');
229
230
  templateCells.forEach((templateCell, cellIndex) => {
230
231
  this.vegaTableRenderInputController.addHeadCellRenderInputMap(templateCell, resolvedRowRenderInputs[cellIndex]);
231
232
  });
@@ -6,11 +6,12 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
6
6
  };
7
7
  import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
8
  import domNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
9
- import { VegaInternalVegaTableRenderInputChange, VegaInternalColumnBodyCellRenderInputRIC, VegaInternalColumnHeadCellRenderInputRIC, VegaInternalColumnHeadRowRenderInputRIC, } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
9
+ import { VegaInternalVegaTableRenderInputChange, VegaInternalColumnBodyCellRenderInputRIC, VegaInternalColumnHeadCellRenderInputRIC, VegaInternalColumnHeadRowRenderInputRIC, VegaInternalRowRenderInputRIC, VegaInternalColumnFootCellRenderInputRIC, VegaInternalColumnExpandCellRenderInputRIC, } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
10
10
  import remoteInvocationRegistry from '../../../../helpers/remote-invocation/remote-invocation-registry';
11
11
  import changeManager from '../../../../helpers/change-manager/change-manager';
12
12
  import { SynchronizeTaskQueue } from '../../../../helpers/queue/synchronize-task-queue';
13
13
  import { ColumnRenderInputModel } from './dto/column-render-input-model';
14
+ import { RowRenderInputModel } from './dto/row-render-input-model';
14
15
  /**
15
16
  * VegaTableRenderInputController
16
17
  *
@@ -23,9 +24,12 @@ import { ColumnRenderInputModel } from './dto/column-render-input-model';
23
24
  export class VegaTableRenderInputController extends VegaSlimmer {
24
25
  constructor() {
25
26
  super(...arguments);
26
- this.headRowRenderInputMap = new Map();
27
- this.headCellRenderInputMap = new Map();
28
- this.pinnedColumnBodyCellRenderInputMap = new Map();
27
+ this.headRowRenderInputMap = new WeakMap();
28
+ this.headCellRenderInputMap = new WeakMap();
29
+ this.bodyCellRenderInputMap = new WeakMap();
30
+ this.hasPendingCellRenderInputChange = false;
31
+ this.rowRenderInputMap = new WeakMap();
32
+ this.footCellRenderInputMap = new Map();
29
33
  this.cellRenderInputChangeTaskQueue = new SynchronizeTaskQueue();
30
34
  }
31
35
  /**
@@ -51,10 +55,19 @@ export class VegaTableRenderInputController extends VegaSlimmer {
51
55
  }
52
56
  /**
53
57
  * Notify body cells about render input changes after the table has re-rendered.
54
- * This ensures ref callbacks have fired and the pinnedColumnBodyCellRenderInputMap is up-to-date.
58
+ * This ensures ref callbacks have fired and the body-cell render inputs are up-to-date.
55
59
  * Called via component lifecycle mapping.
56
60
  */
57
61
  async componentDidRender() {
62
+ if (this.isTemplateRenderMode) {
63
+ this.registerTemplateCellRenderInputs();
64
+ if (this.hasPendingCellRenderInputChange &&
65
+ !this.columnStructureModel.hasLeftPinnedColumn() &&
66
+ !this.columnStructureModel.hasRightPinnedColumn()) {
67
+ this.notifyRenderInputChange();
68
+ this.hasPendingCellRenderInputChange = false;
69
+ }
70
+ }
58
71
  await this.cellRenderInputChangeTaskQueue.runTask();
59
72
  }
60
73
  /**
@@ -63,7 +76,7 @@ export class VegaTableRenderInputController extends VegaSlimmer {
63
76
  */
64
77
  async watchColumnStructureModel() {
65
78
  this.setRenderInputModel();
66
- this.pinnedColumnBodyCellRenderInputMap.clear();
79
+ this.bodyCellRenderInputMap = new WeakMap();
67
80
  await this.cellRenderInputChangeTaskQueue.enqueue({
68
81
  /**
69
82
  * Notify body-cell render-input changes after render completes.
@@ -73,6 +86,11 @@ export class VegaTableRenderInputController extends VegaSlimmer {
73
86
  },
74
87
  }, false);
75
88
  }
89
+ /** Clear cached row inputs when row-related table state changes. */
90
+ watchRowStructure() {
91
+ this.rowRenderInputMap = new WeakMap();
92
+ changeManager.notify(domNodeSubjectFactory.getSubject(this.host, VegaInternalVegaTableRenderInputChange), {});
93
+ }
76
94
  /**
77
95
  * Return render input models for table body (flattened leaves).
78
96
  *
@@ -96,6 +114,8 @@ export class VegaTableRenderInputController extends VegaSlimmer {
96
114
  * @param {ColumnRenderInputModel[]} renderInputs - Associated render input models.
97
115
  */
98
116
  addHeadRowRenderInputMap(headRow, renderInputs) {
117
+ if (!headRow)
118
+ return;
99
119
  this.headRowRenderInputMap.set(headRow, renderInputs);
100
120
  }
101
121
  /**
@@ -105,6 +125,8 @@ export class VegaTableRenderInputController extends VegaSlimmer {
105
125
  * @param {ColumnRenderInputModel} renderInput - Associated render input model.
106
126
  */
107
127
  addHeadCellRenderInputMap(headCell, renderInput) {
128
+ if (!headCell)
129
+ return;
108
130
  this.headCellRenderInputMap.set(headCell, renderInput);
109
131
  }
110
132
  /**
@@ -115,21 +137,37 @@ export class VegaTableRenderInputController extends VegaSlimmer {
115
137
  * re-registers via ref callbacks each render, so stale entries are overwritten naturally.
116
138
  */
117
139
  clearHeadRenderInputMaps() {
118
- this.headRowRenderInputMap.clear();
119
- this.headCellRenderInputMap.clear();
140
+ this.headRowRenderInputMap = new WeakMap();
141
+ this.headCellRenderInputMap = new WeakMap();
120
142
  }
121
143
  /**
122
- * Store body cell render input mapping for pinned cells (used to update sticky positions).
123
- *
124
- * Only stores cells that require sticky positioning (left/right or no-pinned-end).
144
+ * Store body cell render input mapping without retaining disconnected cell hosts.
125
145
  *
126
146
  * @param {HTMLElement} cell - The body cell element.
127
147
  * @param {ColumnRenderInputModel} renderInput - Associated render input model.
128
148
  */
129
149
  addCellRenderInputMap(cell, renderInput) {
130
- if ((cell && ['left', 'right'].includes(renderInput.pinned)) || renderInput.isNoPinnedEnd) {
131
- this.pinnedColumnBodyCellRenderInputMap.set(cell, renderInput);
150
+ if (!cell)
151
+ return;
152
+ const current = this.bodyCellRenderInputMap.get(cell);
153
+ const next = this.hasSameCellStructure(current, renderInput)
154
+ ? current
155
+ : renderInput;
156
+ if (current !== next) {
157
+ this.hasPendingCellRenderInputChange = true;
132
158
  }
159
+ this.bodyCellRenderInputMap.set(cell, next);
160
+ }
161
+ /**
162
+ * Store row render input mapping for remote invocation.
163
+ *
164
+ * @param {HTMLElement} row - Row host element.
165
+ * @param {RowKind} kind - Row variant.
166
+ */
167
+ addRowRenderInputMap(row, kind) {
168
+ if (!row)
169
+ return;
170
+ this.rowRenderInputMap.set(row, this.createRowRenderInputModel(kind, row));
133
171
  }
134
172
  /**
135
173
  * Expose the internal head-cell -> render-input mapping.
@@ -138,16 +176,133 @@ export class VegaTableRenderInputController extends VegaSlimmer {
138
176
  * @returns {Map<HTMLVegaTableHeadCellElement, ColumnRenderInputModel>} Map of head cell elements to render input.
139
177
  */
140
178
  getHeadCellRenderInputMap() {
141
- return this.headCellRenderInputMap;
179
+ var _a;
180
+ const renderInputMap = new Map();
181
+ const root = this.isTemplateRenderMode ? this.host : (_a = this.host) === null || _a === void 0 ? void 0 : _a.shadowRoot;
182
+ root === null || root === void 0 ? void 0 : root.querySelectorAll('vega-table-head-cell').forEach((cell) => {
183
+ const renderInput = this.headCellRenderInputMap.get(cell);
184
+ if (renderInput)
185
+ renderInputMap.set(cell, renderInput);
186
+ });
187
+ return renderInputMap;
142
188
  }
143
189
  /**
144
- * Expose the internal map of pinned body cells to their render inputs.
190
+ * Return a snapshot of currently rendered body cells and their render inputs.
145
191
  *
146
192
  * @typedef {import('../../../../types/components').HTMLVegaTableCellElement} HTMLVegaTableCellElement
147
- * @returns {Map<HTMLVegaTableCellElement, ColumnRenderInputModel>} Map of body cell hosts requiring sticky positioning.
193
+ * @returns {Map<HTMLVegaTableCellElement, ColumnRenderInputModel>} Current body-cell render inputs.
148
194
  */
149
195
  getPinnedColumnBodyCellRenderInputMap() {
150
- return this.pinnedColumnBodyCellRenderInputMap;
196
+ var _a;
197
+ const renderInputMap = new Map();
198
+ const root = this.isTemplateRenderMode ? this.host : (_a = this.host) === null || _a === void 0 ? void 0 : _a.shadowRoot;
199
+ root === null || root === void 0 ? void 0 : root.querySelectorAll('vega-table-cell').forEach((cell) => {
200
+ const renderInput = this.bodyCellRenderInputMap.get(cell);
201
+ if (renderInput)
202
+ renderInputMap.set(cell, renderInput);
203
+ });
204
+ return renderInputMap;
205
+ }
206
+ /**
207
+ * Recompute per-column sticky pinned offsets (`leftOffsetPx` / `rightOffsetPx`) on
208
+ * every registered head, body, and foot cell render input,
209
+ * then notify subscribers so pinned cells re-render with the new offsets.
210
+ *
211
+ * This is the write-side of the declarative pinned pipeline described in VD-9881:
212
+ * instead of {@link VegaTablePinnedRenderer} mutating each cell's shadow-DOM
213
+ * `style.left`/`style.right`, the controller populates the offset on the DTO and
214
+ * pinned cells consume it from their own `render()` via a JSX `style` prop.
215
+ *
216
+ * Idempotent — safe to call multiple times per lifecycle event. Measurement of
217
+ * `prevShadowThWidth`, `nextShadowThWidth`, and `leafWidths` lives with the pinned
218
+ * renderer (it needs those values for other passes too — breakpoint-hidden column
219
+ * detection, template-mode leaf zipping, etc.) and is supplied by the caller.
220
+ *
221
+ * @param {number} prevShadowThWidth - Aggregate width of leading row-fixed cells (left padding).
222
+ * @param {number} nextShadowThWidth - Aggregate width of trailing row-fixed cells (right padding).
223
+ * @param {number[]} leafWidths - Rendered width of each leaf column, indexed by columnIndex.
224
+ */
225
+ recomputePinnedOffsets(prevShadowThWidth, nextShadowThWidth, leafWidths) {
226
+ var _a, _b, _c;
227
+ const headCellRenderInputMap = this.getHeadCellRenderInputMap();
228
+ if (!headCellRenderInputMap.size)
229
+ return;
230
+ this.registerTemplateCellRenderInputs();
231
+ const leafPrefixLeft = new Array(leafWidths.length + 1).fill(0);
232
+ for (let i = 0; i < leafWidths.length; i++) {
233
+ leafPrefixLeft[i + 1] = leafPrefixLeft[i] + leafWidths[i];
234
+ }
235
+ const allLeafWidthsHidden = leafWidths.every((width) => width === 0);
236
+ const visibleLeftPinned = this.leavesRenderInputModels.filter((model) => model.pinned === 'left' && (allLeafWidthsHidden || leafWidths[model.columnIndex] > 0));
237
+ const visibleRightPinned = this.leavesRenderInputModels.filter((model) => model.pinned === 'right' && (allLeafWidthsHidden || leafWidths[model.columnIndex] > 0));
238
+ const visibleLeftEndIndex = (_a = visibleLeftPinned[visibleLeftPinned.length - 1]) === null || _a === void 0 ? void 0 : _a.columnIndex;
239
+ const visibleRightStartIndex = (_b = visibleRightPinned[0]) === null || _b === void 0 ? void 0 : _b.columnIndex;
240
+ const visibleRightEndIndex = (_c = visibleRightPinned[visibleRightPinned.length - 1]) === null || _c === void 0 ? void 0 : _c.columnIndex;
241
+ let hasRenderInputChange = this.hasPendingCellRenderInputChange;
242
+ /**
243
+ * Apply cell-owned visible boundaries and sticky offsets.
244
+ *
245
+ * @param {ColumnRenderInputModel} renderInput - Cell render input to update.
246
+ * @param {HTMLElement} cell - Cell host supplying its effective colspan.
247
+ * @returns {boolean} Whether the render input changed.
248
+ */
249
+ const setOffsets = (renderInput, cell) => {
250
+ var _a;
251
+ const colSpan = (_a = renderInput.colSpan) !== null && _a !== void 0 ? _a : (cell.colSpan || 1);
252
+ /**
253
+ * Check whether the current cell spans a leaf index.
254
+ *
255
+ * @param {number} index - Leaf index to test.
256
+ * @returns {boolean} Whether the cell includes the index.
257
+ */
258
+ const spansIndex = (index) => Number.isInteger(index) &&
259
+ index >= renderInput.columnIndex &&
260
+ index < renderInput.columnIndex + colSpan;
261
+ const isVisibleLeftEndPinned = spansIndex(visibleLeftEndIndex);
262
+ const isVisibleRightStartPinned = spansIndex(visibleRightStartIndex);
263
+ const isVisibleRightEndPinned = spansIndex(visibleRightEndIndex);
264
+ const visibleColSpan = colSpan > 1 && !allLeafWidthsHidden
265
+ ? Math.max(1, leafWidths
266
+ .slice(renderInput.columnIndex, renderInput.columnIndex + colSpan)
267
+ .filter((width) => width > 0).length)
268
+ : null;
269
+ let leftOffsetPx = null;
270
+ let rightOffsetPx = null;
271
+ if (renderInput.pinned === 'left') {
272
+ leftOffsetPx = prevShadowThWidth + leafPrefixLeft[renderInput.columnIndex];
273
+ }
274
+ else if (renderInput.pinned === 'right') {
275
+ const endIndex = renderInput.columnIndex + colSpan;
276
+ rightOffsetPx =
277
+ nextShadowThWidth + (leafPrefixLeft[leafWidths.length] - leafPrefixLeft[endIndex]);
278
+ }
279
+ const changed = renderInput.isVisibleLeftEndPinned !== isVisibleLeftEndPinned ||
280
+ renderInput.isVisibleRightStartPinned !== isVisibleRightStartPinned ||
281
+ renderInput.isVisibleRightEndPinned !== isVisibleRightEndPinned ||
282
+ renderInput.visibleColSpan !== visibleColSpan ||
283
+ renderInput.leftOffsetPx !== leftOffsetPx ||
284
+ renderInput.rightOffsetPx !== rightOffsetPx;
285
+ renderInput.isVisibleLeftEndPinned = isVisibleLeftEndPinned;
286
+ renderInput.isVisibleRightStartPinned = isVisibleRightStartPinned;
287
+ renderInput.isVisibleRightEndPinned = isVisibleRightEndPinned;
288
+ renderInput.visibleColSpan = visibleColSpan;
289
+ renderInput.leftOffsetPx = leftOffsetPx;
290
+ renderInput.rightOffsetPx = rightOffsetPx;
291
+ return changed;
292
+ };
293
+ headCellRenderInputMap.forEach((renderInput, cell) => {
294
+ hasRenderInputChange = setOffsets(renderInput, cell) || hasRenderInputChange;
295
+ });
296
+ this.getPinnedColumnBodyCellRenderInputMap().forEach((renderInput, cell) => {
297
+ hasRenderInputChange = setOffsets(renderInput, cell) || hasRenderInputChange;
298
+ });
299
+ this.footCellRenderInputMap.forEach((renderInput, cell) => {
300
+ hasRenderInputChange = setOffsets(renderInput, cell) || hasRenderInputChange;
301
+ });
302
+ this.hasPendingCellRenderInputChange = false;
303
+ if (hasRenderInputChange) {
304
+ this.notifyRenderInputChange();
305
+ }
151
306
  }
152
307
  /**
153
308
  * Register remote invocation callbacks to allow DOM nodes to request render inputs.
@@ -160,7 +315,18 @@ export class VegaTableRenderInputController extends VegaSlimmer {
160
315
  return this.headCellRenderInputMap.get(headCell);
161
316
  });
162
317
  remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnBodyCellRenderInputRIC), (cell) => {
163
- return this.pinnedColumnBodyCellRenderInputMap.get(cell);
318
+ return this.bodyCellRenderInputMap.get(cell);
319
+ });
320
+ remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalRowRenderInputRIC), (row) => {
321
+ var _a;
322
+ return (_a = this.rowRenderInputMap.get(row)) !== null && _a !== void 0 ? _a : this.createRowRenderInput(row);
323
+ });
324
+ remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnExpandCellRenderInputRIC), (row) => {
325
+ var _a;
326
+ return (_a = this.rowRenderInputMap.get(row)) !== null && _a !== void 0 ? _a : this.createRowRenderInput(row);
327
+ });
328
+ remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnFootCellRenderInputRIC), (cell) => {
329
+ return this.footCellRenderInputMap.get(cell);
164
330
  });
165
331
  }
166
332
  /**
@@ -170,11 +336,118 @@ export class VegaTableRenderInputController extends VegaSlimmer {
170
336
  remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnHeadRowRenderInputRIC));
171
337
  remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnHeadCellRenderInputRIC));
172
338
  remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnBodyCellRenderInputRIC));
339
+ remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalRowRenderInputRIC));
340
+ remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnExpandCellRenderInputRIC));
341
+ remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnFootCellRenderInputRIC));
342
+ }
343
+ /** Register authored template rows and cells with their render inputs. */
344
+ registerTemplateCellRenderInputs() {
345
+ const rows = this.host.querySelectorAll('vega-table-row, vega-table-foot-row');
346
+ if (!rows.length) {
347
+ if (this.footCellRenderInputMap.size)
348
+ this.hasPendingCellRenderInputChange = true;
349
+ this.footCellRenderInputMap = new Map();
350
+ return;
351
+ }
352
+ const nextFootCellRenderInputMap = new Map();
353
+ rows.forEach((row) => {
354
+ this.addRowRenderInputMap(row, row.matches('vega-table-foot-row') ? 'foot' : 'body');
355
+ let leafIndex = 0;
356
+ Array.from(row.children).forEach((cell) => {
357
+ if (cell.tagName !== 'VEGA-TABLE-CELL' && cell.tagName !== 'VEGA-TABLE-FOOT-CELL')
358
+ return;
359
+ const leafCell = cell;
360
+ const base = this.leavesRenderInputModels[leafIndex];
361
+ const colSpan = leafCell.colSpan || 1;
362
+ if (base) {
363
+ const candidate = ColumnRenderInputModel.withMergedBoundaries(base, this.leavesRenderInputModels.slice(leafIndex, leafIndex + colSpan));
364
+ if (cell.tagName === 'VEGA-TABLE-FOOT-CELL') {
365
+ const footCell = leafCell;
366
+ const current = this.footCellRenderInputMap.get(footCell);
367
+ const renderInput = this.hasSameCellStructure(current, candidate)
368
+ ? current
369
+ : candidate;
370
+ if (renderInput !== current)
371
+ this.hasPendingCellRenderInputChange = true;
372
+ nextFootCellRenderInputMap.set(footCell, renderInput);
373
+ }
374
+ else {
375
+ const bodyCell = leafCell;
376
+ const current = this.bodyCellRenderInputMap.get(bodyCell);
377
+ this.addCellRenderInputMap(bodyCell, this.hasSameCellStructure(current, candidate) ? current : candidate);
378
+ }
379
+ }
380
+ leafIndex += colSpan;
381
+ });
382
+ });
383
+ if (nextFootCellRenderInputMap.size !== this.footCellRenderInputMap.size) {
384
+ this.hasPendingCellRenderInputChange = true;
385
+ }
386
+ this.footCellRenderInputMap = nextFootCellRenderInputMap;
387
+ }
388
+ /**
389
+ * Compare the structural fields that determine a cell render input.
390
+ *
391
+ * @param {ColumnRenderInputModel} current - Existing render input.
392
+ * @param {ColumnRenderInputModel} candidate - Newly computed render input.
393
+ * @returns {boolean} Whether the structural fields match.
394
+ */
395
+ hasSameCellStructure(current, candidate) {
396
+ return (!!current &&
397
+ current.key === candidate.key &&
398
+ current.pinned === candidate.pinned &&
399
+ current.columnIndex === candidate.columnIndex &&
400
+ current.isViewStart === candidate.isViewStart &&
401
+ current.isViewEnd === candidate.isViewEnd &&
402
+ current.isLeftEndPinned === candidate.isLeftEndPinned &&
403
+ current.isRightStartPinned === candidate.isRightStartPinned &&
404
+ current.isNoPinnedEnd === candidate.isNoPinnedEnd);
405
+ }
406
+ /** Notify consumers that table render inputs changed. */
407
+ notifyRenderInputChange() {
408
+ changeManager.notify(domNodeSubjectFactory.getSubject(this.host, VegaInternalVegaTableRenderInputChange), {});
409
+ }
410
+ /**
411
+ * Create and cache render input for a requesting row.
412
+ *
413
+ * @param {HTMLElement} row - Requesting row host.
414
+ * @returns {RowRenderInputModel} Cached row render input.
415
+ */
416
+ createRowRenderInput(row) {
417
+ const kind = row.matches('vega-table-head-row')
418
+ ? 'head'
419
+ : row.matches('vega-table-foot-row')
420
+ ? 'foot'
421
+ : row.matches('vega-table-expand-row')
422
+ ? 'expand'
423
+ : 'body';
424
+ const renderInput = this.createRowRenderInputModel(kind, row);
425
+ this.rowRenderInputMap.set(row, renderInput);
426
+ return renderInput;
427
+ }
428
+ /**
429
+ * Build row render input from current table state.
430
+ *
431
+ * @param {RowKind} kind - Row variant.
432
+ * @param {HTMLElement} row - Row host used for header metadata lookup.
433
+ * @returns {RowRenderInputModel} Current row render input.
434
+ */
435
+ createRowRenderInputModel(kind, row) {
436
+ const table = {
437
+ hasExpandableRow: this.hasExpandableRow,
438
+ paddingX: this.paddingX,
439
+ rowDraggable: this.rowDraggable,
440
+ rowExpandable: this.rowExpandable,
441
+ rowSelection: this.rowSelection,
442
+ };
443
+ return RowRenderInputModel.from(this.columnStructureModel, table, kind, kind === 'head' ? this.headRowRenderInputMap.get(row) : null);
173
444
  }
174
445
  /**
175
446
  * Build the ColumnRenderInputModel forest from the current ColumnStructureModel.
176
447
  */
177
448
  setRenderInputModel() {
449
+ this.rowRenderInputMap = new WeakMap();
450
+ this.footCellRenderInputMap.clear();
178
451
  this.columnRenderInputModels = ColumnRenderInputModel.from(this.columnStructureModel);
179
452
  this.leavesRenderInputModels = this.columnRenderInputModels.flatMap((model) => model.getLeaves());
180
453
  }
@@ -185,6 +458,24 @@ __decorate([
185
458
  __decorate([
186
459
  MapToComponentField()
187
460
  ], VegaTableRenderInputController.prototype, "columnStructureModel", void 0);
461
+ __decorate([
462
+ MapToComponentField()
463
+ ], VegaTableRenderInputController.prototype, "hasExpandableRow", void 0);
464
+ __decorate([
465
+ MapToComponentField()
466
+ ], VegaTableRenderInputController.prototype, "paddingX", void 0);
467
+ __decorate([
468
+ MapToComponentField()
469
+ ], VegaTableRenderInputController.prototype, "rowDraggable", void 0);
470
+ __decorate([
471
+ MapToComponentField()
472
+ ], VegaTableRenderInputController.prototype, "rowExpandable", void 0);
473
+ __decorate([
474
+ MapToComponentField()
475
+ ], VegaTableRenderInputController.prototype, "rowSelection", void 0);
476
+ __decorate([
477
+ MapToComponentField()
478
+ ], VegaTableRenderInputController.prototype, "isTemplateRenderMode", void 0);
188
479
  __decorate([
189
480
  MapToComponentMethod('connectedCallback')
190
481
  ], VegaTableRenderInputController.prototype, "connectedCallback", null);
@@ -200,3 +491,10 @@ __decorate([
200
491
  __decorate([
201
492
  MapToComponentMethod('watchColumnStructureModel')
202
493
  ], VegaTableRenderInputController.prototype, "watchColumnStructureModel", null);
494
+ __decorate([
495
+ MapToComponentMethod('watchHasExpandableRow'),
496
+ MapToComponentMethod('watchPaddingX'),
497
+ MapToComponentMethod('watchRowDraggable'),
498
+ MapToComponentMethod('watchRowExpandable'),
499
+ MapToComponentMethod('watchRowSelection')
500
+ ], VegaTableRenderInputController.prototype, "watchRowStructure", null);
@@ -26,7 +26,9 @@ export class VegaTableBodyRenderer extends VegaSlimmer {
26
26
  }, editable),
27
27
  this.vegaTableExpandRowController.isExpandableRow(record) && (h("vega-table-expand-row", { class: {
28
28
  'v-hidden': !isVisibleInCurrentPage,
29
- }, key: `vega-table-expanded-row-${rowKey}`, rowKey: rowKey, striped: this.striped && index % 2 === 1 },
29
+ }, key: `vega-table-expanded-row-${rowKey}`, rowKey: rowKey, striped: this.striped && index % 2 === 1, ref: (ref) => {
30
+ this.vegaTableRenderInputController.addRowRenderInputMap(ref, 'expand');
31
+ } },
30
32
  h("slot", { name: `${VegaTableExpandRowController.expandRowSlotNamePrefix}${rowKey}` })))));
31
33
  })));
32
34
  };
@@ -77,3 +79,6 @@ __decorate([
77
79
  __decorate([
78
80
  MapToComponentField()
79
81
  ], VegaTableBodyRenderer.prototype, "vegaTableExpandRowController", void 0);
82
+ __decorate([
83
+ MapToComponentField()
84
+ ], VegaTableBodyRenderer.prototype, "vegaTableRenderInputController", void 0);
@@ -23,6 +23,7 @@ export class VegaTableHeaderRenderer extends VegaSlimmer {
23
23
  var _a;
24
24
  return (h("vega-table-head-row", { hideSelectAll: (_a = this.rowSelection) === null || _a === void 0 ? void 0 : _a.hideSelectAll, ref: (ref) => {
25
25
  this.vegaTableRenderInputController.addHeadRowRenderInputMap(ref, cells);
26
+ this.vegaTableRenderInputController.addRowRenderInputMap(ref, 'head');
26
27
  } }, cells.map((renderInput) => {
27
28
  if (renderInput.label) {
28
29
  return this.renderGroupCell(renderInput);