@globalpayments/vega 2.99.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 (649) hide show
  1. package/dist/cjs/{accessibility-88f8af84.js → accessibility-6ca2a237.js} +21 -0
  2. package/dist/cjs/{action-color-accessibility-validator-b8a9ef0f.js → action-color-accessibility-validator-61af71ae.js} +1 -1
  3. package/dist/cjs/{app-globals-a306dce6.js → app-globals-275ea7c7.js} +19 -10
  4. package/dist/cjs/{aria-attributes-value-mapper-9a41b9cf.js → aria-attributes-value-mapper-e8c6b0e0.js} +1 -1
  5. package/dist/cjs/{aria-dialog-focusable-trap-slimmer-62147489.js → aria-dialog-focusable-trap-slimmer-c79cc3f8.js} +1 -1
  6. package/dist/cjs/{child-nodes-event-prevent-slimmer-e0ac8467.js → child-nodes-event-prevent-slimmer-d720d7e9.js} +1 -1
  7. package/dist/cjs/{code-block-ea1f5eb3.js → code-block-c598832d.js} +815 -751
  8. package/dist/cjs/{component-value-history-controller-slimmer.abstract-7071b064.js → component-value-history-controller-slimmer.abstract-4bd47aa1.js} +4 -4
  9. package/dist/cjs/{content-state-8d07d530.js → content-state-da23e822.js} +47 -3
  10. package/dist/cjs/countries-a8e3812a.js +251 -0
  11. package/dist/cjs/{dark-mode-style-controller-f3da3342.js → dark-mode-style-controller-ec04ece9.js} +45 -45
  12. package/dist/cjs/{date-required-rule-c0c498ad.js → date-required-rule-45c802d3.js} +1 -1
  13. package/dist/cjs/{design-token-58bf7fe8.js → design-token-9d762da0.js} +3 -3
  14. package/dist/cjs/{element-appender-slimmer-a0269315.js → element-appender-slimmer-2aaf8e24.js} +22 -3
  15. package/dist/cjs/{event-emit-slimmer-34aa195e.js → event-emit-slimmer-67b5c186.js} +1 -1
  16. package/dist/cjs/{form-field-controller-slimmer-f73f200e.js → form-field-controller-slimmer-ac9337f4.js} +3 -3
  17. package/dist/cjs/{image-annotation-action-2a28038e.js → image-annotation-action-378838c2.js} +8 -7
  18. package/dist/cjs/{image-extension-9659708b.js → image-extension-673ebe7f.js} +2 -2
  19. package/dist/cjs/index.cjs.js +24 -21
  20. package/dist/cjs/{inject-keyboard-manager-4fa45f9c.js → inject-keyboard-manager-540f0876.js} +1 -1
  21. package/dist/cjs/{internal-calendar-period-factory-6196bc80.js → internal-calendar-period-factory-b11918ee.js} +1 -1
  22. package/dist/cjs/{internal-translation-controller-51f7f865.js → internal-translation-controller-27bfc8c7.js} +15 -0
  23. package/dist/cjs/{internal-vega-event-manager-7003c84a.js → internal-vega-event-manager-976b9526.js} +10 -2
  24. package/dist/cjs/{keyboard-manager-482fe257.js → keyboard-manager-16e96b62.js} +12 -5
  25. package/dist/cjs/{keyboard-manager-slimmer-a19430dd.js → keyboard-manager-slimmer-0a4e556d.js} +1 -1
  26. package/dist/cjs/{link-extension-11340e1c.js → link-extension-f493e432.js} +3 -3
  27. package/dist/cjs/loader.cjs.js +17 -16
  28. package/dist/cjs/{month-view-generator-1a534451.js → month-view-generator-0a3e04de.js} +1 -1
  29. package/dist/cjs/overlay-escape-coordination-901d8942.js +38 -0
  30. package/dist/cjs/{public-rules-6c77b545.js → public-rules-bae12c47.js} +9 -9
  31. package/dist/cjs/{range-22ddd452.js → range-9f42fb40.js} +1 -1
  32. package/dist/cjs/{responsive-format-facade-74e6d791.js → responsive-format-facade-c6d7f0a1.js} +1 -1
  33. package/dist/cjs/{rich-text-editor-required-rule-09d1093a.js → rich-text-editor-required-rule-bb232741.js} +1 -1
  34. package/dist/cjs/{split-cell-operation-11bfb305.js → split-cell-operation-0d33123e.js} +4 -4
  35. package/dist/cjs/{state-border-formatter-bf4f9f1c.js → state-border-formatter-dda9109a.js} +1 -1
  36. package/dist/cjs/{string-format-strategy.abstract-bf37b14c.js → string-format-strategy.abstract-3a968a59.js} +1 -1
  37. package/dist/cjs/{string-input-formatter-slimmer-ffeb18a6.js → string-input-formatter-slimmer-2e0a838e.js} +3 -3
  38. package/dist/cjs/{string-mask-strategy-7f394726.js → string-mask-strategy-d9f85c21.js} +2 -2
  39. package/dist/cjs/{style-formatter-4ac63910.js → style-formatter-d21a9784.js} +2 -2
  40. package/dist/cjs/{sub-state-notify-slimmer-e264a120.js → sub-state-notify-slimmer-3b33e31c.js} +1 -1
  41. package/dist/cjs/{sub-state-observer-slimmer-6033b824.js → sub-state-observer-slimmer-5b68ba3f.js} +1 -1
  42. package/dist/cjs/{time-required-rule-e2a50003.js → time-required-rule-580cbd3d.js} +1 -1
  43. package/dist/cjs/{token-extension-4686cb3b.js → token-extension-4badb962.js} +811 -53
  44. package/dist/cjs/{translation-slimmer-e4997f8f.js → translation-slimmer-31cd5a57.js} +1 -1
  45. package/dist/cjs/{type-guard-b8d7bb3f.js → type-guard-00b8efc0.js} +1 -1
  46. package/dist/cjs/{valid-credit-card-number-rule-f5a6f009.js → valid-credit-card-number-rule-70885128.js} +1 -1
  47. package/dist/cjs/vega-accordion.cjs.entry.js +9 -9
  48. package/dist/cjs/vega-app-footer.cjs.entry.js +4 -4
  49. package/dist/cjs/vega-app-header-button.cjs.entry.js +10 -10
  50. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  51. package/dist/cjs/vega-box.cjs.entry.js +6 -6
  52. package/dist/cjs/vega-brand-logo.cjs.entry.js +1 -1
  53. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  54. package/dist/cjs/vega-button-circle.cjs.entry.js +12 -12
  55. package/dist/cjs/vega-button-group_2.cjs.entry.js +20 -13
  56. package/dist/cjs/vega-button-link.cjs.entry.js +8 -8
  57. package/dist/cjs/vega-button.cjs.entry.js +27 -11
  58. package/dist/cjs/vega-calendar_5.cjs.entry.js +130 -24
  59. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  60. package/dist/cjs/vega-carousel.cjs.entry.js +7 -7
  61. package/dist/cjs/vega-checkbox_2.cjs.entry.js +9 -9
  62. package/dist/cjs/vega-chip.cjs.entry.js +10 -10
  63. package/dist/cjs/vega-code-block.cjs.entry.js +15 -15
  64. package/dist/cjs/vega-color-picker.cjs.entry.js +8 -8
  65. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +9 -9
  66. package/dist/cjs/vega-color-swatch.cjs.entry.js +6 -6
  67. package/dist/cjs/vega-combo-box.cjs.entry.js +15 -15
  68. package/dist/cjs/vega-date-picker_2.cjs.entry.js +22 -22
  69. package/dist/cjs/vega-dialog_2.cjs.entry.js +76 -10
  70. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  71. package/dist/cjs/vega-dropdown_5.cjs.entry.js +108 -25
  72. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  73. package/dist/cjs/{vega-event-id-58afed7a.js → vega-event-id-987a170c.js} +2 -0
  74. package/dist/cjs/vega-field-label.cjs.entry.js +29 -36
  75. package/dist/cjs/vega-file-uploader.cjs.entry.js +9 -9
  76. package/dist/cjs/vega-flag-icon.cjs.entry.js +11 -11
  77. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  78. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  79. package/dist/cjs/vega-form.cjs.entry.js +9 -9
  80. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  81. package/dist/cjs/vega-icon.cjs.entry.js +5 -5
  82. package/dist/cjs/vega-image-uploader.cjs.entry.js +13 -13
  83. package/dist/cjs/vega-input-credit-card.cjs.entry.js +12 -12
  84. package/dist/cjs/vega-input-numeric.cjs.entry.js +12 -12
  85. package/dist/cjs/vega-input-passcode.cjs.entry.js +11 -11
  86. package/dist/cjs/vega-input-phone-number.cjs.entry.js +56 -275
  87. package/dist/cjs/vega-input-range.cjs.entry.js +10 -10
  88. package/dist/cjs/vega-input-select.cjs.entry.js +39 -39
  89. package/dist/cjs/vega-input.cjs.entry.js +14 -14
  90. package/dist/cjs/{vega-internal-event-id-f4d33037.js → vega-internal-event-id-98d499d7.js} +6 -2
  91. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  92. package/dist/cjs/vega-left-nav_5.cjs.entry.js +14 -14
  93. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  94. package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
  95. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +4 -4
  96. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -4
  97. package/dist/cjs/vega-pagination.cjs.entry.js +9 -9
  98. package/dist/cjs/vega-popover_2.cjs.entry.js +63 -14
  99. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +10 -10
  100. package/dist/cjs/vega-radio_2.cjs.entry.js +12 -12
  101. package/dist/cjs/vega-rich-text-content.cjs.entry.js +16 -13
  102. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +712 -250
  103. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +6 -6
  104. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +8 -8
  105. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +161 -108
  106. package/dist/cjs/vega-segment-control.cjs.entry.js +11 -4
  107. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +12 -12
  108. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +9 -9
  109. package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
  110. package/dist/cjs/vega-signature-capture.cjs.entry.js +12 -12
  111. package/dist/cjs/vega-stepper.cjs.entry.js +8 -8
  112. package/dist/cjs/vega-tab-group_2.cjs.entry.js +7 -7
  113. package/dist/cjs/vega-table_11.cjs.entry.js +625 -666
  114. package/dist/cjs/vega-textarea.cjs.entry.js +8 -8
  115. package/dist/cjs/vega-time-picker_2.cjs.entry.js +16 -16
  116. package/dist/cjs/vega-toggle-switch.cjs.entry.js +8 -8
  117. package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
  118. package/dist/cjs/vega.cjs.js +17 -16
  119. package/dist/cjs/{wait-for-component-did-render-44d006ee.js → wait-for-component-did-render-90edbc1a.js} +1 -1
  120. package/dist/collection/components/vega-button/vega-button.css +3 -3
  121. package/dist/collection/components/vega-button/vega-button.js +17 -2
  122. package/dist/collection/components/vega-button-circle/vega-button-circle.css +3 -3
  123. package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.js +13 -6
  124. package/dist/collection/components/vega-button-link/vega-button-link.css +4 -4
  125. package/dist/collection/components/vega-button-link/vega-button-link.js +2 -2
  126. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +45 -5
  127. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.js +43 -1
  128. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +23 -4
  129. package/dist/collection/components/vega-calendar/vega-calendar.js +77 -1
  130. package/dist/collection/components/vega-code-block/vega-code-block.css +4 -4
  131. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-controller.js +148 -0
  132. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +5 -2
  133. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +17 -0
  134. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +2 -2
  135. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +2 -1
  136. package/dist/collection/components/vega-dropdown/vega-dropdown.js +1 -1
  137. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.js +21 -30
  138. package/dist/collection/components/vega-field-label/vega-field-label.js +7 -5
  139. package/dist/collection/components/vega-flag-icon/slimmers/controllers/vega-flag-icon-controller.js +6 -6
  140. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.js +4 -8
  141. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +19 -2
  142. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-prefix-icon-renderer.js +8 -28
  143. package/dist/collection/components/vega-input-select/vega-input-select.js +3 -1
  144. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +66 -0
  145. package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +17 -0
  146. package/dist/collection/components/vega-popover/vega-popover.js +33 -1
  147. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +4 -1
  148. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +9 -0
  149. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.js +13 -0
  150. package/dist/collection/components/vega-rich-text-editor/dto/actions/commit-value-action.js +20 -0
  151. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +11 -0
  152. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +11 -2
  153. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +18 -6
  154. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
  155. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +6 -0
  156. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
  157. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
  158. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +30 -18
  159. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +1 -0
  160. package/dist/collection/components/vega-rich-text-editor/extensions/copy/copy-toolbar-button-renderer.js +1 -0
  161. package/dist/collection/components/vega-rich-text-editor/extensions/cut/cut-toolbar-button-renderer.js +1 -0
  162. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +51 -0
  163. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/vega-rich-text-find-replace-panel/slimmers/renderers/find-replace-panel-renderer.js +2 -2
  164. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +3 -0
  165. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +6 -0
  166. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
  167. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.js +1 -0
  168. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +5 -3
  169. package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.js +16 -0
  170. package/dist/collection/components/vega-rich-text-editor/extensions/special-characters/special-characters-toolbar-button-renderer.js +2 -0
  171. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.js +3 -9
  172. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-cell-renderer.js +2 -2
  173. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +81 -1
  174. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.js +148 -0
  175. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +151 -5
  176. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +144 -2
  177. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js +26 -1
  178. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
  179. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-cell-properties-form-field-renderer.js +11 -2
  180. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.js +5 -2
  181. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-form-field-renderer.js +5 -1
  182. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.css +5 -0
  183. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.js +16 -1
  184. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/caption-button-slimmer.js +1 -0
  185. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/cell-properties-button-slimmer.js +1 -0
  186. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +10 -9
  187. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +9 -8
  188. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +25 -10
  189. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-properties-button-slimmer.js +1 -0
  190. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-setting-button-slimmer.abstract.js +5 -4
  191. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/vega-rich-text-table-setting-renderer.js +1 -1
  192. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.css +10 -0
  193. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.js +2 -0
  194. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -0
  195. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.js +70 -0
  196. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/type.js +1 -0
  197. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/word-count-extension.js +62 -0
  198. package/dist/collection/components/vega-rich-text-editor/public-api.js +1 -0
  199. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +2 -1
  200. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +7 -1
  201. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +52 -2
  202. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.js +79 -0
  203. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +6 -3
  204. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -1
  205. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
  206. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +3 -2
  207. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +111 -2
  208. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +17 -6
  209. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
  210. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
  211. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
  212. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +59 -8
  213. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.js +1 -1
  214. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +13 -1
  215. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +16 -0
  216. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.js +124 -0
  217. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +9 -1
  218. package/dist/collection/components/vega-segment-control/slimmers/renderers/vega-segment-renderer.js +8 -1
  219. package/dist/collection/components/vega-segment-control/vega-segment-control.js +23 -0
  220. package/dist/collection/components/vega-table/slimmers/controllers/dto/column-render-input-model.js +25 -8
  221. package/dist/collection/components/vega-table/slimmers/controllers/dto/row-render-input-model.js +41 -0
  222. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-head-template-structure-controller.js +1 -0
  223. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-render-input-controller.js +316 -18
  224. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-renderer.js +6 -1
  225. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-header-renderer.js +1 -0
  226. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +33 -530
  227. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-row-renderer.js +1 -0
  228. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.css +10 -0
  229. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +25 -8
  230. package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.js +14 -6
  231. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.css +20 -0
  232. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.js +7 -0
  233. package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +21 -2
  234. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.css +10 -0
  235. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.js +12 -1
  236. package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.js +20 -13
  237. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.css +26 -0
  238. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.js +12 -0
  239. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.css +10 -0
  240. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +19 -6
  241. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +21 -46
  242. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.css +16 -7
  243. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.js +9 -2
  244. package/dist/collection/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.js +28 -13
  245. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.css +26 -0
  246. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +11 -0
  247. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-border-tokens.js +1 -1
  248. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-color-tokens.js +20 -20
  249. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-ring-tokens.js +1 -1
  250. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-shadow-tokens.js +1 -1
  251. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-border-tokens.js +1 -1
  252. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-color-tokens.js +19 -19
  253. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-shadow-tokens.js +1 -1
  254. package/dist/collection/constants/ui.js +1 -0
  255. package/dist/collection/global/scripts/before-vega-load.js +10 -0
  256. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +10 -2
  257. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  258. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +3 -1
  259. package/dist/collection/helpers/keyboard/keyboard-manager.js +11 -4
  260. package/dist/collection/helpers/keyboard/overlay-escape-coordination.js +33 -0
  261. package/dist/collection/helpers/public-api.js +1 -0
  262. package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +1 -1
  263. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +8 -0
  264. package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +10 -0
  265. package/dist/collection/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.js +2 -0
  266. package/dist/collection/helpers/translation/locales/en.js +15 -0
  267. package/dist/collection/helpers/ui/element-appender.js +1 -0
  268. package/dist/collection/polyfill/libphonenumber/as-you-type.js +21 -3
  269. package/dist/collection/polyfill/libphonenumber/metadata.js +16 -0
  270. package/dist/collection/utils/accessibility.js +20 -0
  271. package/dist/esm/{accessibility-6af5cf2e.js → accessibility-c899a968.js} +21 -1
  272. package/dist/esm/{action-color-accessibility-validator-08877515.js → action-color-accessibility-validator-3e824a59.js} +1 -1
  273. package/dist/esm/{app-globals-c59364c2.js → app-globals-ad3c7cea.js} +19 -10
  274. package/dist/esm/{aria-attributes-value-mapper-2c632641.js → aria-attributes-value-mapper-a5c7478e.js} +1 -1
  275. package/dist/esm/{aria-dialog-focusable-trap-slimmer-f069f54d.js → aria-dialog-focusable-trap-slimmer-27a6aa19.js} +3 -3
  276. package/dist/esm/{child-nodes-event-prevent-slimmer-82626871.js → child-nodes-event-prevent-slimmer-0ebcbf47.js} +1 -1
  277. package/dist/esm/{child-nodes-notify-observer-slimmer-499a3aa7.js → child-nodes-notify-observer-slimmer-034bc78c.js} +1 -1
  278. package/dist/esm/{code-block-e6443949.js → code-block-1cdf7a51.js} +816 -754
  279. package/dist/esm/{component-value-history-controller-slimmer.abstract-ee393213.js → component-value-history-controller-slimmer.abstract-bdeeb43f.js} +6 -6
  280. package/dist/esm/{content-state-43cdacff.js → content-state-6eb610b8.js} +48 -6
  281. package/dist/esm/countries-50d3339b.js +249 -0
  282. package/dist/esm/{dark-mode-style-controller-352f15ff.js → dark-mode-style-controller-4e04a2d3.js} +45 -45
  283. package/dist/esm/{date-required-rule-b5b67498.js → date-required-rule-2ea3aec8.js} +1 -1
  284. package/dist/esm/{design-token-8319bb59.js → design-token-82a4e107.js} +3 -3
  285. package/dist/esm/{dom-node-subject-observer-factory-ddff8662.js → dom-node-subject-observer-factory-bb7e68a0.js} +1 -1
  286. package/dist/esm/{element-appender-slimmer-c81d1fe3.js → element-appender-slimmer-dd4e2908.js} +24 -5
  287. package/dist/esm/{event-emit-slimmer-2452278f.js → event-emit-slimmer-12ee1593.js} +2 -2
  288. package/dist/esm/{form-field-controller-slimmer-511b7ac5.js → form-field-controller-slimmer-5c794b4d.js} +5 -5
  289. package/dist/esm/{image-annotation-action-d7cb80aa.js → image-annotation-action-cdd50dcc.js} +9 -8
  290. package/dist/esm/{image-extension-9b8abd0d.js → image-extension-f6dbd70c.js} +2 -2
  291. package/dist/esm/index.js +24 -23
  292. package/dist/esm/{inject-keyboard-manager-dd368d56.js → inject-keyboard-manager-6a10c9b7.js} +1 -1
  293. package/dist/esm/{internal-calendar-period-factory-d58f35c6.js → internal-calendar-period-factory-d1a60f81.js} +1 -1
  294. package/dist/esm/{internal-translation-controller-b33430c6.js → internal-translation-controller-fff376d2.js} +15 -0
  295. package/dist/esm/{internal-vega-event-manager-2ecc9186.js → internal-vega-event-manager-0c381f3b.js} +10 -2
  296. package/dist/esm/{keyboard-manager-b4a0d97d.js → keyboard-manager-a58288df.js} +13 -6
  297. package/dist/esm/{keyboard-manager-slimmer-0517fc70.js → keyboard-manager-slimmer-133b86cd.js} +1 -1
  298. package/dist/esm/{link-extension-230bae8d.js → link-extension-bc234cf7.js} +3 -3
  299. package/dist/esm/loader.js +19 -18
  300. package/dist/esm/{month-view-generator-f470caac.js → month-view-generator-20e32b22.js} +1 -1
  301. package/dist/esm/overlay-escape-coordination-439f7d6f.js +35 -0
  302. package/dist/esm/{public-rules-28ef32d3.js → public-rules-8dc3fb00.js} +11 -11
  303. package/dist/esm/{range-efad2578.js → range-d2439ba7.js} +2 -2
  304. package/dist/esm/{responsive-format-facade-dec87e46.js → responsive-format-facade-07843ec3.js} +1 -1
  305. package/dist/esm/{rich-text-editor-required-rule-a697e5bd.js → rich-text-editor-required-rule-a0663a84.js} +1 -1
  306. package/dist/esm/{split-cell-operation-89b91a38.js → split-cell-operation-1a889fa0.js} +5 -5
  307. package/dist/esm/{state-border-formatter-1e900a2f.js → state-border-formatter-3b3dcfe8.js} +1 -1
  308. package/dist/esm/{string-format-strategy.abstract-d0ce3f65.js → string-format-strategy.abstract-44381dcb.js} +1 -1
  309. package/dist/esm/{string-input-formatter-slimmer-6546cfc7.js → string-input-formatter-slimmer-69887c40.js} +4 -4
  310. package/dist/esm/{string-mask-strategy-dd13ae21.js → string-mask-strategy-999fba4b.js} +2 -2
  311. package/dist/esm/{style-formatter-057d7120.js → style-formatter-c4192c99.js} +2 -2
  312. package/dist/esm/{sub-state-notify-slimmer-23b7d0e8.js → sub-state-notify-slimmer-ba72f30b.js} +2 -2
  313. package/dist/esm/{sub-state-observer-slimmer-722f6b92.js → sub-state-observer-slimmer-bee1c7fa.js} +3 -3
  314. package/dist/esm/{time-required-rule-73753a54.js → time-required-rule-0554b114.js} +1 -1
  315. package/dist/esm/{token-extension-74a0eeb1.js → token-extension-530d9bde.js} +813 -56
  316. package/dist/esm/{translation-slimmer-ef970ffc.js → translation-slimmer-77022f2e.js} +1 -1
  317. package/dist/esm/{type-guard-6fc96870.js → type-guard-26d83e7e.js} +1 -1
  318. package/dist/esm/{ui-d73f756a.js → ui-80e610f4.js} +1 -1
  319. package/dist/esm/{valid-credit-card-number-rule-b54a31e7.js → valid-credit-card-number-rule-f60b6904.js} +1 -1
  320. package/dist/esm/vega-accordion.entry.js +11 -11
  321. package/dist/esm/vega-app-footer.entry.js +6 -6
  322. package/dist/esm/vega-app-header-button.entry.js +12 -12
  323. package/dist/esm/vega-backdrop.entry.js +1 -1
  324. package/dist/esm/vega-banner.entry.js +6 -6
  325. package/dist/esm/vega-box.entry.js +7 -7
  326. package/dist/esm/vega-brand-logo.entry.js +1 -1
  327. package/dist/esm/vega-breadcrumb.entry.js +6 -6
  328. package/dist/esm/vega-button-circle.entry.js +14 -14
  329. package/dist/esm/vega-button-group_2.entry.js +22 -15
  330. package/dist/esm/vega-button-link.entry.js +10 -10
  331. package/dist/esm/vega-button.entry.js +29 -13
  332. package/dist/esm/vega-calendar_5.entry.js +132 -26
  333. package/dist/esm/vega-card.entry.js +6 -6
  334. package/dist/esm/vega-carousel.entry.js +9 -9
  335. package/dist/esm/vega-checkbox_2.entry.js +12 -12
  336. package/dist/esm/vega-chip.entry.js +12 -12
  337. package/dist/esm/vega-code-block.entry.js +17 -17
  338. package/dist/esm/vega-color-picker.entry.js +10 -10
  339. package/dist/esm/vega-color-swatch-picker.entry.js +11 -11
  340. package/dist/esm/vega-color-swatch.entry.js +8 -8
  341. package/dist/esm/vega-combo-box.entry.js +17 -17
  342. package/dist/esm/vega-date-picker_2.entry.js +24 -24
  343. package/dist/esm/vega-dialog_2.entry.js +78 -12
  344. package/dist/esm/vega-divider.entry.js +5 -5
  345. package/dist/esm/vega-dropdown_5.entry.js +111 -28
  346. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  347. package/dist/esm/{vega-event-id-f55f6977.js → vega-event-id-59cd9297.js} +2 -1
  348. package/dist/esm/vega-field-label.entry.js +31 -38
  349. package/dist/esm/vega-file-uploader.entry.js +11 -11
  350. package/dist/esm/vega-flag-icon.entry.js +11 -11
  351. package/dist/esm/vega-flex.entry.js +7 -7
  352. package/dist/esm/vega-font.entry.js +6 -6
  353. package/dist/esm/vega-form.entry.js +12 -12
  354. package/dist/esm/vega-grid.entry.js +6 -6
  355. package/dist/esm/vega-icon.entry.js +6 -6
  356. package/dist/esm/vega-image-uploader.entry.js +15 -15
  357. package/dist/esm/vega-input-credit-card.entry.js +14 -14
  358. package/dist/esm/vega-input-numeric.entry.js +14 -14
  359. package/dist/esm/vega-input-passcode.entry.js +13 -13
  360. package/dist/esm/vega-input-phone-number.entry.js +55 -274
  361. package/dist/esm/vega-input-range.entry.js +12 -12
  362. package/dist/esm/vega-input-select.entry.js +41 -41
  363. package/dist/esm/vega-input.entry.js +16 -16
  364. package/dist/esm/{vega-internal-event-id-86fce049.js → vega-internal-event-id-02093067.js} +4 -2
  365. package/dist/esm/vega-item-toggle.entry.js +5 -5
  366. package/dist/esm/vega-left-nav_5.entry.js +16 -16
  367. package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
  368. package/dist/esm/vega-page-notification_2.entry.js +4 -4
  369. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +6 -6
  370. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
  371. package/dist/esm/vega-pagination.entry.js +11 -11
  372. package/dist/esm/vega-popover_2.entry.js +65 -16
  373. package/dist/esm/vega-progress-tracker_2.entry.js +12 -12
  374. package/dist/esm/vega-radio_2.entry.js +15 -15
  375. package/dist/esm/vega-rich-text-content.entry.js +18 -15
  376. package/dist/esm/vega-rich-text-editor_4.entry.js +715 -253
  377. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +8 -8
  378. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +10 -10
  379. package/dist/esm/vega-rich-text-table-properties_3.entry.js +163 -110
  380. package/dist/esm/vega-segment-control.entry.js +13 -6
  381. package/dist/esm/vega-selection-chip_2.entry.js +14 -14
  382. package/dist/esm/vega-selection-tile_2.entry.js +12 -12
  383. package/dist/esm/vega-sidenav_3.entry.js +12 -12
  384. package/dist/esm/vega-signature-capture.entry.js +14 -14
  385. package/dist/esm/vega-stepper.entry.js +10 -10
  386. package/dist/esm/vega-tab-group_2.entry.js +9 -9
  387. package/dist/esm/vega-table_11.entry.js +627 -668
  388. package/dist/esm/vega-textarea.entry.js +10 -10
  389. package/dist/esm/vega-time-picker_2.entry.js +18 -18
  390. package/dist/esm/vega-toggle-switch.entry.js +10 -10
  391. package/dist/esm/vega-tooltip_2.entry.js +9 -9
  392. package/dist/esm/vega.js +19 -18
  393. package/dist/esm/{wait-for-component-did-render-ff7062aa.js → wait-for-component-did-render-9e84d92d.js} +2 -2
  394. package/dist/sri/vega-sri-manifest.json +415 -407
  395. package/dist/types/components/vega-button/vega-button.d.ts +2 -0
  396. package/dist/types/components/vega-button-group/types.d.ts +12 -6
  397. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +18 -0
  398. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.d.ts +9 -0
  399. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +9 -1
  400. package/dist/types/components/vega-calendar/types.d.ts +22 -0
  401. package/dist/types/components/vega-calendar/vega-calendar.d.ts +23 -1
  402. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -1
  403. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.d.ts +3 -10
  404. package/dist/types/components/vega-flag-icon/slimmers/controllers/vega-flag-icon-controller.d.ts +2 -2
  405. package/dist/types/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.d.ts +0 -1
  406. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +8 -0
  407. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-prefix-icon-renderer.d.ts +2 -14
  408. package/dist/types/components/vega-input-select/vega-input-select.d.ts +1 -0
  409. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +33 -0
  410. package/dist/types/components/vega-modal/types.d.ts +2 -1
  411. package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +9 -0
  412. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +6 -0
  413. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.d.ts +13 -0
  414. package/dist/types/components/vega-rich-text-editor/dto/actions/commit-value-action.d.ts +20 -0
  415. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +6 -0
  416. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  417. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +11 -1
  418. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
  419. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +4 -0
  420. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +6 -0
  421. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
  422. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +5 -0
  423. package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.d.ts +19 -0
  424. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +4 -0
  425. package/dist/types/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.d.ts +14 -1
  426. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.d.ts +2 -2
  427. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +31 -1
  428. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.d.ts +91 -0
  429. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +46 -0
  430. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +58 -0
  431. package/dist/types/components/vega-rich-text-editor/extensions/table/table-selection.d.ts +8 -0
  432. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.d.ts +2 -1
  433. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.d.ts +2 -0
  434. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.d.ts +3 -0
  435. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-setting-button-slimmer.abstract.d.ts +3 -1
  436. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.d.ts +1 -0
  437. package/dist/types/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.d.ts +38 -0
  438. package/dist/types/components/vega-rich-text-editor/extensions/word-count/type.d.ts +46 -0
  439. package/dist/types/components/vega-rich-text-editor/extensions/word-count/word-count-extension.d.ts +38 -0
  440. package/dist/types/components/vega-rich-text-editor/interface.d.ts +12 -0
  441. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
  442. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +11 -1
  443. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.d.ts +40 -0
  444. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +14 -0
  445. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +3 -1
  446. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
  447. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +12 -0
  448. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +2 -0
  449. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -0
  450. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.d.ts +68 -0
  451. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.d.ts +3 -0
  452. package/dist/types/components/vega-segment-control/slimmers/renderers/vega-segment-renderer.d.ts +1 -0
  453. package/dist/types/components/vega-segment-control/types.d.ts +2 -0
  454. package/dist/types/components/vega-segment-control/vega-segment-control.d.ts +7 -1
  455. package/dist/types/components/vega-table/slimmers/controllers/dto/column-render-input-model.d.ts +17 -0
  456. package/dist/types/components/vega-table/slimmers/controllers/dto/row-render-input-model.d.ts +39 -0
  457. package/dist/types/components/vega-table/slimmers/controllers/vega-table-render-input-controller.d.ts +71 -7
  458. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-renderer.d.ts +1 -0
  459. package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +3 -88
  460. package/dist/types/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.d.ts +1 -1
  461. package/dist/types/components/vega-table/vega-table-expand-row/vega-table-expand-row.d.ts +5 -0
  462. package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.d.ts +1 -0
  463. package/dist/types/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.d.ts +5 -0
  464. package/dist/types/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.d.ts +1 -3
  465. package/dist/types/components/vega-table/vega-table-foot-row/vega-table-foot-row.d.ts +5 -0
  466. package/dist/types/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.d.ts +0 -4
  467. package/dist/types/components/vega-table/vega-table-head-row/vega-table-head-row.d.ts +2 -2
  468. package/dist/types/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.d.ts +2 -3
  469. package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +4 -0
  470. package/dist/types/components.d.ts +33 -2
  471. package/dist/types/constants/ui.d.ts +1 -1
  472. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  473. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -1
  474. package/dist/types/helpers/keyboard/keyboard-manager.d.ts +9 -0
  475. package/dist/types/helpers/keyboard/overlay-escape-coordination.d.ts +28 -0
  476. package/dist/types/helpers/public-api.d.ts +1 -0
  477. package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +1 -1
  478. package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +6 -0
  479. package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +6 -0
  480. package/dist/types/helpers/slimmers/position-calculation/screen-scroll-position-update.d.ts +2 -1
  481. package/dist/types/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.d.ts +2 -1
  482. package/dist/types/helpers/translation/interface.d.ts +16 -1
  483. package/dist/types/polyfill/libphonenumber/as-you-type.d.ts +1 -0
  484. package/dist/types/polyfill/libphonenumber/metadata.d.ts +10 -0
  485. package/dist/types/types/components.type.d.ts +7 -1
  486. package/dist/types/types/public-api.d.ts +2 -0
  487. package/dist/types/utils/accessibility.d.ts +9 -0
  488. package/dist/vega/index.esm.js +1 -1
  489. package/dist/vega/p-022cbf8a.js +1 -0
  490. package/dist/vega/{p-c8ad7207.entry.js → p-02c1284e.entry.js} +1 -1
  491. package/dist/vega/{p-22edd3cc.js → p-069bbb4a.js} +1 -1
  492. package/dist/vega/p-08fd229c.js +1 -0
  493. package/dist/vega/{p-fcb6b499.js → p-0eea1ca8.js} +1 -1
  494. package/dist/vega/{p-ba6881da.entry.js → p-131ce9df.entry.js} +1 -1
  495. package/dist/vega/{p-024db952.entry.js → p-143ee395.entry.js} +1 -1
  496. package/dist/vega/p-178634f3.js +1 -0
  497. package/dist/vega/{p-9e9f49f4.js → p-1836a6a5.js} +1 -1
  498. package/dist/vega/p-1dbf8d1f.js +1 -0
  499. package/dist/vega/{p-d4d90ce2.entry.js → p-2b26e182.entry.js} +1 -1
  500. package/dist/vega/p-2dda5c65.entry.js +1 -0
  501. package/dist/vega/{p-df63c2fb.entry.js → p-30010c41.entry.js} +1 -1
  502. package/dist/vega/p-32f5a6dd.entry.js +1 -0
  503. package/dist/vega/{p-3c8421d5.entry.js → p-3460a1c5.entry.js} +1 -1
  504. package/dist/vega/p-34b523da.entry.js +1 -0
  505. package/dist/vega/p-357c0226.entry.js +1 -0
  506. package/dist/vega/p-361f8996.js +1 -0
  507. package/dist/vega/{p-526e3634.js → p-36a57431.js} +1 -1
  508. package/dist/vega/p-36ee9d54.js +1 -0
  509. package/dist/vega/{p-6659c910.entry.js → p-37d5c37e.entry.js} +1 -1
  510. package/dist/vega/{p-47a48329.entry.js → p-3d6a43df.entry.js} +1 -1
  511. package/dist/vega/{p-0ca3b4bf.entry.js → p-45ad2d90.entry.js} +1 -1
  512. package/dist/vega/{p-fb9475ab.entry.js → p-4b117bfd.entry.js} +1 -1
  513. package/dist/vega/p-4b35c748.js +1 -0
  514. package/dist/vega/{p-55dc3053.entry.js → p-4e23e56c.entry.js} +1 -1
  515. package/dist/vega/p-4e70836a.entry.js +1 -0
  516. package/dist/vega/{p-66647244.js → p-4ea477d5.js} +1 -1
  517. package/dist/vega/{p-5147c30d.entry.js → p-50e8e24f.entry.js} +1 -1
  518. package/dist/vega/{p-9c5289dc.entry.js → p-522a6eec.entry.js} +1 -1
  519. package/dist/vega/p-53e3f259.js +1 -0
  520. package/dist/vega/{p-2c737fc8.js → p-5536146c.js} +1 -1
  521. package/dist/vega/{p-944e284d.entry.js → p-55c2c0df.entry.js} +1 -1
  522. package/dist/vega/p-587130f6.entry.js +1 -0
  523. package/dist/vega/{p-9c9b0629.js → p-58c8a4ac.js} +1 -1
  524. package/dist/vega/{p-4f6aaac5.entry.js → p-594cb986.entry.js} +1 -1
  525. package/dist/vega/{p-b12de1bf.entry.js → p-5c17ddda.entry.js} +1 -1
  526. package/dist/vega/{p-7977352b.entry.js → p-5c9c0c0d.entry.js} +1 -1
  527. package/dist/vega/p-5f377954.js +1 -1
  528. package/dist/vega/p-60010f14.entry.js +1 -0
  529. package/dist/vega/p-6098c4bb.js +1 -0
  530. package/dist/vega/{p-2044eba9.js → p-60a74fb7.js} +1 -1
  531. package/dist/vega/p-61e63c0e.entry.js +1 -0
  532. package/dist/vega/{p-49d7cfed.entry.js → p-62254dc7.entry.js} +1 -1
  533. package/dist/vega/{p-2af1d8b8.entry.js → p-62ae9327.entry.js} +1 -1
  534. package/dist/vega/{p-b3c4943b.js → p-638b6a7d.js} +1 -1
  535. package/dist/vega/p-66245bc0.entry.js +1 -0
  536. package/dist/vega/{p-bdb5180c.js → p-68744e7e.js} +1 -1
  537. package/dist/vega/{p-f0a0fc77.entry.js → p-68ca8d3c.entry.js} +1 -1
  538. package/dist/vega/p-6a6c1279.js +1 -0
  539. package/dist/vega/{p-5e9e04f3.entry.js → p-6ae93679.entry.js} +1 -1
  540. package/dist/vega/{p-433b1395.entry.js → p-6d90d28d.entry.js} +1 -1
  541. package/dist/vega/p-6e9e7131.js +1 -0
  542. package/dist/vega/{p-014cd411.js → p-6eedbc4f.js} +1 -1
  543. package/dist/vega/{p-c348eaf5.js → p-6fae6768.js} +1 -1
  544. package/dist/vega/p-71813a9e.entry.js +1 -0
  545. package/dist/vega/{p-860e76f5.entry.js → p-729529d6.entry.js} +1 -1
  546. package/dist/vega/{p-aa433430.entry.js → p-75bfbffe.entry.js} +1 -1
  547. package/dist/vega/{p-d6023dc0.entry.js → p-764b4e51.entry.js} +1 -1
  548. package/dist/vega/p-77bcdd35.js +1 -0
  549. package/dist/vega/{p-c41a2d4a.js → p-7d3419c7.js} +1 -1
  550. package/dist/vega/p-8387896e.js +1 -0
  551. package/dist/vega/p-853a05eb.js +1 -0
  552. package/dist/vega/{p-db11134b.entry.js → p-8e8b5790.entry.js} +1 -1
  553. package/dist/vega/{p-444e24c6.js → p-8ebe30a8.js} +1 -1
  554. package/dist/vega/p-8f00dfe6.js +1 -0
  555. package/dist/vega/{p-4022412e.entry.js → p-9236b8d9.entry.js} +1 -1
  556. package/dist/vega/p-9402f32f.js +1 -0
  557. package/dist/vega/{p-691bdc20.js → p-941a83db.js} +1 -1
  558. package/dist/vega/{p-840444c9.entry.js → p-942f9ea6.entry.js} +1 -1
  559. package/dist/vega/{p-5110c84f.js → p-96c090c4.js} +1 -1
  560. package/dist/vega/{p-328ebbdb.entry.js → p-9fdf66a8.entry.js} +1 -1
  561. package/dist/vega/{p-867cc602.entry.js → p-a2c45173.entry.js} +1 -1
  562. package/dist/vega/{p-66fe8b4e.entry.js → p-a54ed341.entry.js} +1 -1
  563. package/dist/vega/{p-44999c88.entry.js → p-a6a89f09.entry.js} +1 -1
  564. package/dist/vega/{p-ccbed811.entry.js → p-a8a246e8.entry.js} +1 -1
  565. package/dist/vega/p-a93b3aed.js +1 -0
  566. package/dist/vega/{p-528748fa.js → p-aa135628.js} +1 -1
  567. package/dist/vega/{p-a1f220ca.js → p-ab9d53e9.js} +1 -1
  568. package/dist/vega/{p-e18c0656.entry.js → p-af0cfea0.entry.js} +1 -1
  569. package/dist/vega/p-af0e9bd5.entry.js +1 -0
  570. package/dist/vega/{p-daba4af1.js → p-b1557bbe.js} +1 -1
  571. package/dist/vega/{p-f13b39d8.js → p-b2a4314a.js} +1 -1
  572. package/dist/vega/p-b94f164a.entry.js +1 -0
  573. package/dist/vega/{p-23c1f378.entry.js → p-b97ed9f7.entry.js} +1 -1
  574. package/dist/vega/{p-1a37d63c.entry.js → p-bbfffe6b.entry.js} +1 -1
  575. package/dist/vega/{p-aa914dbd.entry.js → p-beccc38c.entry.js} +1 -1
  576. package/dist/vega/{p-dd0bd78b.js → p-c34f4cbc.js} +1 -1
  577. package/dist/vega/p-c51de680.js +3 -0
  578. package/dist/vega/{p-e1c82ca9.js → p-c576e846.js} +1 -1
  579. package/dist/vega/p-c601eea6.js +1 -0
  580. package/dist/vega/{p-200c8914.entry.js → p-c6d2513c.entry.js} +1 -1
  581. package/dist/vega/{p-d62e618a.entry.js → p-ca6bd3a0.entry.js} +1 -1
  582. package/dist/vega/{p-ce82d6bb.entry.js → p-cab890be.entry.js} +1 -1
  583. package/dist/vega/p-cb1cd15f.entry.js +1 -0
  584. package/dist/vega/p-d1f47512.js +1 -0
  585. package/dist/vega/{p-66a785d0.entry.js → p-d37d2ea4.entry.js} +1 -1
  586. package/dist/vega/{p-2f89ee14.entry.js → p-d3e99d4a.entry.js} +1 -1
  587. package/dist/vega/{p-f9bfee81.entry.js → p-d6bd3ce4.entry.js} +1 -1
  588. package/dist/vega/{p-f2384411.entry.js → p-d7838f6e.entry.js} +1 -1
  589. package/dist/vega/{p-a4360b7e.entry.js → p-d8c9ea46.entry.js} +1 -1
  590. package/dist/vega/p-d9588b3f.entry.js +1 -0
  591. package/dist/vega/p-db69a5c9.entry.js +1 -0
  592. package/dist/vega/{p-50eda925.js → p-de1d0284.js} +1 -1
  593. package/dist/vega/{p-3c559c8b.js → p-de6fc52c.js} +1 -1
  594. package/dist/vega/{p-fa5cd8b1.js → p-e14323f3.js} +1 -1
  595. package/dist/vega/{p-bd7725f7.entry.js → p-e48b7a8a.entry.js} +1 -1
  596. package/dist/vega/p-e6f67a44.js +1 -0
  597. package/dist/vega/{p-7754b10f.entry.js → p-e8e3bf74.entry.js} +1 -1
  598. package/dist/vega/p-eadc10bc.entry.js +1 -0
  599. package/dist/vega/p-ee329596.entry.js +1 -0
  600. package/dist/vega/p-f01bc6a2.js +1 -0
  601. package/dist/vega/{p-94b54a95.js → p-f324e90e.js} +1 -1
  602. package/dist/vega/{p-f9a3805d.js → p-f48519d2.js} +1 -1
  603. package/dist/vega/{p-52878ea9.js → p-f485448a.js} +1 -1
  604. package/dist/vega/{p-4afd6715.entry.js → p-f8b2dbb9.entry.js} +1 -1
  605. package/dist/vega/{p-35d37477.entry.js → p-f8d13d01.entry.js} +1 -1
  606. package/dist/vega/{p-4370b954.entry.js → p-f902305d.entry.js} +1 -1
  607. package/dist/vega/{p-3c152bad.entry.js → p-f99f054c.entry.js} +1 -1
  608. package/dist/vega/{p-77fb3971.entry.js → p-fe41e3b6.entry.js} +1 -1
  609. package/dist/vega/vega.esm.js +1 -1
  610. package/package.json +1 -1
  611. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-conttroller.js +0 -85
  612. package/dist/vega/p-0b2c4c0b.js +0 -1
  613. package/dist/vega/p-1fa22fda.js +0 -1
  614. package/dist/vega/p-2529820e.js +0 -1
  615. package/dist/vega/p-35628af4.js +0 -1
  616. package/dist/vega/p-3a230d4b.entry.js +0 -1
  617. package/dist/vega/p-3a620268.js +0 -1
  618. package/dist/vega/p-4473d8b1.js +0 -3
  619. package/dist/vega/p-4a2fe3a4.js +0 -1
  620. package/dist/vega/p-5447a8e8.js +0 -1
  621. package/dist/vega/p-5af312f8.js +0 -1
  622. package/dist/vega/p-5b3c8a56.js +0 -1
  623. package/dist/vega/p-6493f13a.entry.js +0 -1
  624. package/dist/vega/p-66728dd4.entry.js +0 -1
  625. package/dist/vega/p-67e88cd7.entry.js +0 -1
  626. package/dist/vega/p-67eaf77e.js +0 -1
  627. package/dist/vega/p-6d6b4495.entry.js +0 -1
  628. package/dist/vega/p-7b133734.entry.js +0 -1
  629. package/dist/vega/p-7b84a943.entry.js +0 -1
  630. package/dist/vega/p-83ad8988.js +0 -1
  631. package/dist/vega/p-8c30a60d.js +0 -1
  632. package/dist/vega/p-8d2a9012.js +0 -1
  633. package/dist/vega/p-8d4be607.js +0 -1
  634. package/dist/vega/p-8d77c7cf.js +0 -1
  635. package/dist/vega/p-8f3b93db.js +0 -1
  636. package/dist/vega/p-9c2b3279.js +0 -1
  637. package/dist/vega/p-9c9ff871.entry.js +0 -1
  638. package/dist/vega/p-9d90e271.entry.js +0 -1
  639. package/dist/vega/p-a7517760.entry.js +0 -1
  640. package/dist/vega/p-c8fb3aac.entry.js +0 -1
  641. package/dist/vega/p-cede3535.js +0 -1
  642. package/dist/vega/p-cf4b3d40.entry.js +0 -1
  643. package/dist/vega/p-d35a31a5.entry.js +0 -1
  644. package/dist/vega/p-ded1ecc1.entry.js +0 -1
  645. package/dist/vega/p-e1a65e06.entry.js +0 -1
  646. package/dist/vega/p-e469ba27.entry.js +0 -1
  647. package/dist/vega/p-e4c5cb4f.js +0 -1
  648. package/dist/vega/p-fd23c365.entry.js +0 -1
  649. /package/dist/types/components/vega-dropdown/slimmers/controllers/{vega-dropdown-keyboard-conttroller.d.ts → vega-dropdown-keyboard-controller.d.ts} +0 -0
@@ -7,31 +7,31 @@ import { e as BreakpointKeys } from './ui-93922c59.js';
7
7
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
8
8
  import { m as TABLE_EXPAND_ROW, n as TABLE_ROW_SELECTION, o as TABLE_ROW_SELECTION_ALL, p as TABLE_ROW_CLICK, S as SHADOW_ROOT_ELEMENT_SCROLLING } from './static-subject-title-1c86e974.js';
9
9
  import { O as Observer } from './observer-3959f9dd.js';
10
- import { f as findParent, a as arrayToClassString, m as extractNumberFromString } from './ui-d73f756a.js';
11
- import { d as domNodeSubjectFactory, D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-ddff8662.js';
10
+ import { f as findParent, a as arrayToClassString, m as extractNumberFromString } from './ui-80e610f4.js';
11
+ import { d as domNodeSubjectFactory, D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-bb7e68a0.js';
12
12
  import { r as remoteInvocationRegistry } from './remote-invocation-registry-d69245c2.js';
13
- import { U as VegaInternalTableRowExpand, W as VegaInternalTableRowSelect, X as VegaInternalTableRowSelectAll, Y as VegaInternalVegaTableRenderInputChange, Z as VegaInternalColumnHeadRowRenderInputRIC, _ as VegaInternalColumnHeadCellRenderInputRIC, $ as VegaInternalColumnBodyCellRenderInputRIC, a0 as VegaInternalTableHeadTemplateStructureChange, a1 as VegaInternalTableHeadCellSortEvent } from './vega-internal-event-id-86fce049.js';
14
- import { a as VegaClick, d as VegaChange, _ as VegaPageSizeChange, e as VegaExpand, a2 as VegaSelectChange, a3 as VegaSelectAllChange, a4 as VegaRowClick, a5 as VegaRowExpand, a6 as VegaRowDragDrop, a7 as VegaRowSelect, a8 as VegaRowSelectAll } from './vega-event-id-f55f6977.js';
15
- import { R as ResponsiveFormatFacade } from './responsive-format-facade-dec87e46.js';
16
- import { i as isNonNullable, s as isBreakpointsTokenType, ap as isVegaTableColumnGroupingModelType } from './type-guard-6fc96870.js';
13
+ import { T as VegaInternalTableRowExpand, U as VegaInternalTableRowSelect, W as VegaInternalTableRowSelectAll, X as VegaInternalVegaTableRenderInputChange, Y as VegaInternalColumnHeadRowRenderInputRIC, Z as VegaInternalColumnHeadCellRenderInputRIC, _ as VegaInternalColumnBodyCellRenderInputRIC, $ as VegaInternalRowRenderInputRIC, a0 as VegaInternalColumnExpandCellRenderInputRIC, a1 as VegaInternalColumnFootCellRenderInputRIC, a2 as VegaInternalTableHeadTemplateStructureChange, a3 as VegaInternalTableHeadCellSortEvent } from './vega-internal-event-id-02093067.js';
14
+ import { a as VegaClick, d as VegaChange, $ as VegaPageSizeChange, e as VegaExpand, a3 as VegaSelectChange, a4 as VegaSelectAllChange, a5 as VegaRowClick, a6 as VegaRowExpand, a7 as VegaRowDragDrop, a8 as VegaRowSelect, a9 as VegaRowSelectAll } from './vega-event-id-59cd9297.js';
15
+ import { R as ResponsiveFormatFacade } from './responsive-format-facade-07843ec3.js';
16
+ import { i as isNonNullable, s as isBreakpointsTokenType, ap as isVegaTableColumnGroupingModelType } from './type-guard-26d83e7e.js';
17
17
  import { s as sanitizeVegaComponent } from './component-7d906393.js';
18
18
  import { g as generateUUID } from './misc-9fdbcfbb.js';
19
19
  import { g as getCurrentBreakpoint } from './breakpoints-332702ed.js';
20
20
  import { M as MutationObserverSlimmer } from './mutation-observer-slimmer-58ebc13c.js';
21
21
  import { T as TagNameMutationFilter, a as TagNameAndAttributeMutationFilter } from './mutation-observer-filters-1a054fb0.js';
22
22
  import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-e24d36c5.js';
23
- import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-23b7d0e8.js';
24
- import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-82626871.js';
25
- import { c as createEventEmitSlimmer } from './event-emit-slimmer-2452278f.js';
23
+ import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-ba72f30b.js';
24
+ import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-0ebcbf47.js';
25
+ import { c as createEventEmitSlimmer } from './event-emit-slimmer-12ee1593.js';
26
26
  import { I as ImmutableMap } from './immutable-map-4fe22b11.js';
27
- import { T as TranslationSlimmer } from './translation-slimmer-ef970ffc.js';
27
+ import { T as TranslationSlimmer } from './translation-slimmer-77022f2e.js';
28
28
  import { S as SynchronizeTaskQueue } from './synchronize-task-queue-ac8acc3b.js';
29
29
  import { c as createDynamicSlimmer } from './dynamic-slimmer-90b8af32.js';
30
30
  import { I as InternalVegaZIndexManager } from './internal-vega-z-index-manager-7d2b54c3.js';
31
- import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-722f6b92.js';
31
+ import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-bee1c7fa.js';
32
32
  import { F as FeatureFlag } from './feature-flag-controller-3fd04ea9.js';
33
33
  import { B as Breakpoints } from './breakpoints-d9faf11c.js';
34
- import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-6af5cf2e.js';
34
+ import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-c899a968.js';
35
35
  import { V as VegaInternalIconManager } from './internal-icon-manager-e7c57096.js';
36
36
  import { c as chevronUp } from './chevron-up-b1989751.js';
37
37
  import { c as chevronDown } from './chevron-down-4a75d28e.js';
@@ -39,9 +39,9 @@ import './number-4398f2e1.js';
39
39
  import './pixel-f32c07ce.js';
40
40
  import './array-7888f339.js';
41
41
  import './typography-19c3b9be.js';
42
- import './internal-translation-controller-b33430c6.js';
42
+ import './internal-translation-controller-fff376d2.js';
43
43
  import './try-get-document-bef0f526.js';
44
- import './internal-vega-event-manager-2ecc9186.js';
44
+ import './internal-vega-event-manager-0c381f3b.js';
45
45
  import './vega-env-manager-8f8dc473.js';
46
46
  import './index-9c9865c0.js';
47
47
  import './icon-manager-4ef3f6dd.js';
@@ -207,6 +207,23 @@ class ColumnRenderInputModel {
207
207
  this.columnIndex = columnIndex;
208
208
  this.parent = parent;
209
209
  this.children = children;
210
+ /**
211
+ * Prefix-sum pixel offset for `sticky left` positioning. Mutated by
212
+ * {@link VegaTableRenderInputController.recomputePinnedOffsets} on resize / column
213
+ * structure change. Consumed by the cell's own `render()` to emit `style.left`
214
+ * declaratively instead of receiving external shadow-DOM style mutation.
215
+ * Null when the column is not left-pinned or offsets have not yet been computed.
216
+ */
217
+ this.leftOffsetPx = null;
218
+ /**
219
+ * Prefix-sum pixel offset for `sticky right` positioning. Mirrors
220
+ * {@link leftOffsetPx} but for right-pinned columns.
221
+ */
222
+ this.rightOffsetPx = null;
223
+ this.isVisibleLeftEndPinned = false;
224
+ this.isVisibleRightStartPinned = false;
225
+ this.isVisibleRightEndPinned = false;
226
+ this.visibleColSpan = null;
210
227
  this.iteratorCacheMap = new Map();
211
228
  this.leaves = [];
212
229
  }
@@ -267,14 +284,14 @@ class ColumnRenderInputModel {
267
284
  isNoPinnedEnd = isNoPinnedEnd || leaf.isNoPinnedEnd;
268
285
  isViewEnd = isViewEnd || leaf.isViewEnd;
269
286
  }
270
- // Return the base unchanged when no flags were gained (common fast-path).
271
- if (isLeftEndPinned === base.isLeftEndPinned &&
272
- isRightStartPinned === base.isRightStartPinned &&
273
- isNoPinnedEnd === base.isNoPinnedEnd &&
274
- isViewEnd === base.isViewEnd) {
275
- return base;
276
- }
277
- return new ColumnRenderInputModel(base.key, base.label, base.pinned, base.colSpan, base.rowSpan, base.isViewStart, isViewEnd, isLeftEndPinned, isRightStartPinned, isNoPinnedEnd, base.headHasGroupColumn, base.headHasPinnedColumn, base.headMaxDepth, base.level, base.columnIndex, base.parent, base.children);
287
+ const renderInput = new ColumnRenderInputModel(base.key, base.label, base.pinned, base.colSpan, base.rowSpan, base.isViewStart, isViewEnd, isLeftEndPinned, isRightStartPinned, isNoPinnedEnd, base.headHasGroupColumn, base.headHasPinnedColumn, base.headMaxDepth, base.level, base.columnIndex, base.parent, base.children);
288
+ renderInput.leftOffsetPx = base.leftOffsetPx;
289
+ renderInput.rightOffsetPx = base.rightOffsetPx;
290
+ renderInput.isVisibleLeftEndPinned = base.isVisibleLeftEndPinned;
291
+ renderInput.isVisibleRightStartPinned = base.isVisibleRightStartPinned;
292
+ renderInput.isVisibleRightEndPinned = base.isVisibleRightEndPinned;
293
+ renderInput.visibleColSpan = base.visibleColSpan;
294
+ return renderInput;
278
295
  }
279
296
  /**
280
297
  * True when the provided structure model is the last left-pinned sibling in its parent's children.
@@ -1699,7 +1716,9 @@ class VegaTableBodyRenderer extends VegaSlimmer {
1699
1716
  }, editable),
1700
1717
  this.vegaTableExpandRowController.isExpandableRow(record) && (h("vega-table-expand-row", { class: {
1701
1718
  'v-hidden': !isVisibleInCurrentPage,
1702
- }, key: `vega-table-expanded-row-${rowKey}`, rowKey: rowKey, striped: this.striped && index % 2 === 1 },
1719
+ }, key: `vega-table-expanded-row-${rowKey}`, rowKey: rowKey, striped: this.striped && index % 2 === 1, ref: (ref) => {
1720
+ this.vegaTableRenderInputController.addRowRenderInputMap(ref, 'expand');
1721
+ } },
1703
1722
  h("slot", { name: `${VegaTableExpandRowController.expandRowSlotNamePrefix}${rowKey}` })))));
1704
1723
  })));
1705
1724
  };
@@ -1750,6 +1769,9 @@ __decorate$S([
1750
1769
  __decorate$S([
1751
1770
  MapToComponentField()
1752
1771
  ], VegaTableBodyRenderer.prototype, "vegaTableExpandRowController", void 0);
1772
+ __decorate$S([
1773
+ MapToComponentField()
1774
+ ], VegaTableBodyRenderer.prototype, "vegaTableRenderInputController", void 0);
1753
1775
 
1754
1776
  var __decorate$R = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1755
1777
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1772,6 +1794,7 @@ class VegaTableHeaderRenderer extends VegaSlimmer {
1772
1794
  var _a;
1773
1795
  return (h("vega-table-head-row", { hideSelectAll: (_a = this.rowSelection) === null || _a === void 0 ? void 0 : _a.hideSelectAll, ref: (ref) => {
1774
1796
  this.vegaTableRenderInputController.addHeadRowRenderInputMap(ref, cells);
1797
+ this.vegaTableRenderInputController.addRowRenderInputMap(ref, 'head');
1775
1798
  } }, cells.map((renderInput) => {
1776
1799
  if (renderInput.label) {
1777
1800
  return this.renderGroupCell(renderInput);
@@ -2932,6 +2955,7 @@ class VegaTableRowRenderer$1 extends VegaSlimmer {
2932
2955
  }, key: `vega-table-row-${rowKey}`, rowKey: rowKey,
2933
2956
  /* eslint-disable-next-line react/jsx-no-bind */
2934
2957
  ref: (ref) => {
2958
+ this.vegaTableRenderInputController.addRowRenderInputMap(ref, 'body');
2935
2959
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClick, () => {
2936
2960
  this.rowClickEventEmitter.emit({ record: record, index: index });
2937
2961
  });
@@ -3383,6 +3407,47 @@ __decorate$G([
3383
3407
  MapToComponentMethod('watchTemplateGroupColumns')
3384
3408
  ], VegaTableColumnStructureModelController.prototype, "watchTemplateGroupColumns", null);
3385
3409
 
3410
+ /** Render-time structural state shared by table row variants. */
3411
+ class RowRenderInputModel {
3412
+ constructor(kind, hasLeftPinnedColumn, hasRightPinnedColumn, showSelectionCell, showDraggableCell, showExpandActionCell, hasExpandedRowSlot, leftPaddingPx, rightPaddingPx, startRowSpan = null, endRowSpan = null, isStartHidden = false, isEndHidden = false) {
3413
+ this.kind = kind;
3414
+ this.hasLeftPinnedColumn = hasLeftPinnedColumn;
3415
+ this.hasRightPinnedColumn = hasRightPinnedColumn;
3416
+ this.showSelectionCell = showSelectionCell;
3417
+ this.showDraggableCell = showDraggableCell;
3418
+ this.showExpandActionCell = showExpandActionCell;
3419
+ this.hasExpandedRowSlot = hasExpandedRowSlot;
3420
+ this.leftPaddingPx = leftPaddingPx;
3421
+ this.rightPaddingPx = rightPaddingPx;
3422
+ this.startRowSpan = startRowSpan;
3423
+ this.endRowSpan = endRowSpan;
3424
+ this.isStartHidden = isStartHidden;
3425
+ this.isEndHidden = isEndHidden;
3426
+ }
3427
+ /**
3428
+ * Create row render input from table and column structure state.
3429
+ *
3430
+ * @param {ColumnStructureModel} structure - Current column structure.
3431
+ * @param {TableRowStructure} table - Current row-related table state.
3432
+ * @param {RowKind} kind - Row variant being rendered.
3433
+ * @param {ColumnRenderInputModel[]} headRenderInputs - Header columns for row-span metadata.
3434
+ * @returns {RowRenderInputModel} Row-owned render input.
3435
+ */
3436
+ static from(structure, table, kind, headRenderInputs = null) {
3437
+ const startRenderInput = headRenderInputs === null || headRenderInputs === void 0 ? void 0 : headRenderInputs[0];
3438
+ const endRenderInput = headRenderInputs === null || headRenderInputs === void 0 ? void 0 : headRenderInputs[headRenderInputs.length - 1];
3439
+ const isMultipleSelection = !!table.rowSelection && (table.rowSelection.type || 'multiple') === 'multiple';
3440
+ 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)
3441
+ ? isMultipleSelection && startRenderInput.level === 0
3442
+ ? startRenderInput.headMaxDepth
3443
+ : startRenderInput.rowSpan
3444
+ : null, (endRenderInput === null || endRenderInput === void 0 ? void 0 : endRenderInput.headHasGroupColumn) ? endRenderInput.rowSpan : null, !!(startRenderInput === null || startRenderInput === void 0 ? void 0 : startRenderInput.headHasGroupColumn) &&
3445
+ ((isMultipleSelection && startRenderInput.level > 0) || !startRenderInput.isViewStart), !!(startRenderInput === null || startRenderInput === void 0 ? void 0 : startRenderInput.headHasGroupColumn) &&
3446
+ !!(endRenderInput === null || endRenderInput === void 0 ? void 0 : endRenderInput.headHasGroupColumn) &&
3447
+ !endRenderInput.isViewEnd);
3448
+ }
3449
+ }
3450
+
3386
3451
  var __decorate$F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3387
3452
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3388
3453
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -3401,9 +3466,12 @@ var __decorate$F = (undefined && undefined.__decorate) || function (decorators,
3401
3466
  class VegaTableRenderInputController extends VegaSlimmer {
3402
3467
  constructor() {
3403
3468
  super(...arguments);
3404
- this.headRowRenderInputMap = new Map();
3405
- this.headCellRenderInputMap = new Map();
3406
- this.pinnedColumnBodyCellRenderInputMap = new Map();
3469
+ this.headRowRenderInputMap = new WeakMap();
3470
+ this.headCellRenderInputMap = new WeakMap();
3471
+ this.bodyCellRenderInputMap = new WeakMap();
3472
+ this.hasPendingCellRenderInputChange = false;
3473
+ this.rowRenderInputMap = new WeakMap();
3474
+ this.footCellRenderInputMap = new Map();
3407
3475
  this.cellRenderInputChangeTaskQueue = new SynchronizeTaskQueue();
3408
3476
  }
3409
3477
  /**
@@ -3429,10 +3497,19 @@ class VegaTableRenderInputController extends VegaSlimmer {
3429
3497
  }
3430
3498
  /**
3431
3499
  * Notify body cells about render input changes after the table has re-rendered.
3432
- * This ensures ref callbacks have fired and the pinnedColumnBodyCellRenderInputMap is up-to-date.
3500
+ * This ensures ref callbacks have fired and the body-cell render inputs are up-to-date.
3433
3501
  * Called via component lifecycle mapping.
3434
3502
  */
3435
3503
  async componentDidRender() {
3504
+ if (this.isTemplateRenderMode) {
3505
+ this.registerTemplateCellRenderInputs();
3506
+ if (this.hasPendingCellRenderInputChange &&
3507
+ !this.columnStructureModel.hasLeftPinnedColumn() &&
3508
+ !this.columnStructureModel.hasRightPinnedColumn()) {
3509
+ this.notifyRenderInputChange();
3510
+ this.hasPendingCellRenderInputChange = false;
3511
+ }
3512
+ }
3436
3513
  await this.cellRenderInputChangeTaskQueue.runTask();
3437
3514
  }
3438
3515
  /**
@@ -3441,7 +3518,7 @@ class VegaTableRenderInputController extends VegaSlimmer {
3441
3518
  */
3442
3519
  async watchColumnStructureModel() {
3443
3520
  this.setRenderInputModel();
3444
- this.pinnedColumnBodyCellRenderInputMap.clear();
3521
+ this.bodyCellRenderInputMap = new WeakMap();
3445
3522
  await this.cellRenderInputChangeTaskQueue.enqueue({
3446
3523
  /**
3447
3524
  * Notify body-cell render-input changes after render completes.
@@ -3451,6 +3528,11 @@ class VegaTableRenderInputController extends VegaSlimmer {
3451
3528
  },
3452
3529
  }, false);
3453
3530
  }
3531
+ /** Clear cached row inputs when row-related table state changes. */
3532
+ watchRowStructure() {
3533
+ this.rowRenderInputMap = new WeakMap();
3534
+ ChangeManager.notify(domNodeSubjectFactory.getSubject(this.host, VegaInternalVegaTableRenderInputChange), {});
3535
+ }
3454
3536
  /**
3455
3537
  * Return render input models for table body (flattened leaves).
3456
3538
  *
@@ -3474,6 +3556,8 @@ class VegaTableRenderInputController extends VegaSlimmer {
3474
3556
  * @param {ColumnRenderInputModel[]} renderInputs - Associated render input models.
3475
3557
  */
3476
3558
  addHeadRowRenderInputMap(headRow, renderInputs) {
3559
+ if (!headRow)
3560
+ return;
3477
3561
  this.headRowRenderInputMap.set(headRow, renderInputs);
3478
3562
  }
3479
3563
  /**
@@ -3483,6 +3567,8 @@ class VegaTableRenderInputController extends VegaSlimmer {
3483
3567
  * @param {ColumnRenderInputModel} renderInput - Associated render input model.
3484
3568
  */
3485
3569
  addHeadCellRenderInputMap(headCell, renderInput) {
3570
+ if (!headCell)
3571
+ return;
3486
3572
  this.headCellRenderInputMap.set(headCell, renderInput);
3487
3573
  }
3488
3574
  /**
@@ -3493,21 +3579,37 @@ class VegaTableRenderInputController extends VegaSlimmer {
3493
3579
  * re-registers via ref callbacks each render, so stale entries are overwritten naturally.
3494
3580
  */
3495
3581
  clearHeadRenderInputMaps() {
3496
- this.headRowRenderInputMap.clear();
3497
- this.headCellRenderInputMap.clear();
3582
+ this.headRowRenderInputMap = new WeakMap();
3583
+ this.headCellRenderInputMap = new WeakMap();
3498
3584
  }
3499
3585
  /**
3500
- * Store body cell render input mapping for pinned cells (used to update sticky positions).
3501
- *
3502
- * Only stores cells that require sticky positioning (left/right or no-pinned-end).
3586
+ * Store body cell render input mapping without retaining disconnected cell hosts.
3503
3587
  *
3504
3588
  * @param {HTMLElement} cell - The body cell element.
3505
3589
  * @param {ColumnRenderInputModel} renderInput - Associated render input model.
3506
3590
  */
3507
3591
  addCellRenderInputMap(cell, renderInput) {
3508
- if ((cell && ['left', 'right'].includes(renderInput.pinned)) || renderInput.isNoPinnedEnd) {
3509
- this.pinnedColumnBodyCellRenderInputMap.set(cell, renderInput);
3592
+ if (!cell)
3593
+ return;
3594
+ const current = this.bodyCellRenderInputMap.get(cell);
3595
+ const next = this.hasSameCellStructure(current, renderInput)
3596
+ ? current
3597
+ : renderInput;
3598
+ if (current !== next) {
3599
+ this.hasPendingCellRenderInputChange = true;
3510
3600
  }
3601
+ this.bodyCellRenderInputMap.set(cell, next);
3602
+ }
3603
+ /**
3604
+ * Store row render input mapping for remote invocation.
3605
+ *
3606
+ * @param {HTMLElement} row - Row host element.
3607
+ * @param {RowKind} kind - Row variant.
3608
+ */
3609
+ addRowRenderInputMap(row, kind) {
3610
+ if (!row)
3611
+ return;
3612
+ this.rowRenderInputMap.set(row, this.createRowRenderInputModel(kind, row));
3511
3613
  }
3512
3614
  /**
3513
3615
  * Expose the internal head-cell -> render-input mapping.
@@ -3516,16 +3618,133 @@ class VegaTableRenderInputController extends VegaSlimmer {
3516
3618
  * @returns {Map<HTMLVegaTableHeadCellElement, ColumnRenderInputModel>} Map of head cell elements to render input.
3517
3619
  */
3518
3620
  getHeadCellRenderInputMap() {
3519
- return this.headCellRenderInputMap;
3621
+ var _a;
3622
+ const renderInputMap = new Map();
3623
+ const root = this.isTemplateRenderMode ? this.host : (_a = this.host) === null || _a === void 0 ? void 0 : _a.shadowRoot;
3624
+ root === null || root === void 0 ? void 0 : root.querySelectorAll('vega-table-head-cell').forEach((cell) => {
3625
+ const renderInput = this.headCellRenderInputMap.get(cell);
3626
+ if (renderInput)
3627
+ renderInputMap.set(cell, renderInput);
3628
+ });
3629
+ return renderInputMap;
3520
3630
  }
3521
3631
  /**
3522
- * Expose the internal map of pinned body cells to their render inputs.
3632
+ * Return a snapshot of currently rendered body cells and their render inputs.
3523
3633
  *
3524
3634
  * @typedef {import('../../../../types/components').HTMLVegaTableCellElement} HTMLVegaTableCellElement
3525
- * @returns {Map<HTMLVegaTableCellElement, ColumnRenderInputModel>} Map of body cell hosts requiring sticky positioning.
3635
+ * @returns {Map<HTMLVegaTableCellElement, ColumnRenderInputModel>} Current body-cell render inputs.
3526
3636
  */
3527
3637
  getPinnedColumnBodyCellRenderInputMap() {
3528
- return this.pinnedColumnBodyCellRenderInputMap;
3638
+ var _a;
3639
+ const renderInputMap = new Map();
3640
+ const root = this.isTemplateRenderMode ? this.host : (_a = this.host) === null || _a === void 0 ? void 0 : _a.shadowRoot;
3641
+ root === null || root === void 0 ? void 0 : root.querySelectorAll('vega-table-cell').forEach((cell) => {
3642
+ const renderInput = this.bodyCellRenderInputMap.get(cell);
3643
+ if (renderInput)
3644
+ renderInputMap.set(cell, renderInput);
3645
+ });
3646
+ return renderInputMap;
3647
+ }
3648
+ /**
3649
+ * Recompute per-column sticky pinned offsets (`leftOffsetPx` / `rightOffsetPx`) on
3650
+ * every registered head, body, and foot cell render input,
3651
+ * then notify subscribers so pinned cells re-render with the new offsets.
3652
+ *
3653
+ * This is the write-side of the declarative pinned pipeline described in VD-9881:
3654
+ * instead of {@link VegaTablePinnedRenderer} mutating each cell's shadow-DOM
3655
+ * `style.left`/`style.right`, the controller populates the offset on the DTO and
3656
+ * pinned cells consume it from their own `render()` via a JSX `style` prop.
3657
+ *
3658
+ * Idempotent — safe to call multiple times per lifecycle event. Measurement of
3659
+ * `prevShadowThWidth`, `nextShadowThWidth`, and `leafWidths` lives with the pinned
3660
+ * renderer (it needs those values for other passes too — breakpoint-hidden column
3661
+ * detection, template-mode leaf zipping, etc.) and is supplied by the caller.
3662
+ *
3663
+ * @param {number} prevShadowThWidth - Aggregate width of leading row-fixed cells (left padding).
3664
+ * @param {number} nextShadowThWidth - Aggregate width of trailing row-fixed cells (right padding).
3665
+ * @param {number[]} leafWidths - Rendered width of each leaf column, indexed by columnIndex.
3666
+ */
3667
+ recomputePinnedOffsets(prevShadowThWidth, nextShadowThWidth, leafWidths) {
3668
+ var _a, _b, _c;
3669
+ const headCellRenderInputMap = this.getHeadCellRenderInputMap();
3670
+ if (!headCellRenderInputMap.size)
3671
+ return;
3672
+ this.registerTemplateCellRenderInputs();
3673
+ const leafPrefixLeft = new Array(leafWidths.length + 1).fill(0);
3674
+ for (let i = 0; i < leafWidths.length; i++) {
3675
+ leafPrefixLeft[i + 1] = leafPrefixLeft[i] + leafWidths[i];
3676
+ }
3677
+ const allLeafWidthsHidden = leafWidths.every((width) => width === 0);
3678
+ const visibleLeftPinned = this.leavesRenderInputModels.filter((model) => model.pinned === 'left' && (allLeafWidthsHidden || leafWidths[model.columnIndex] > 0));
3679
+ const visibleRightPinned = this.leavesRenderInputModels.filter((model) => model.pinned === 'right' && (allLeafWidthsHidden || leafWidths[model.columnIndex] > 0));
3680
+ const visibleLeftEndIndex = (_a = visibleLeftPinned[visibleLeftPinned.length - 1]) === null || _a === void 0 ? void 0 : _a.columnIndex;
3681
+ const visibleRightStartIndex = (_b = visibleRightPinned[0]) === null || _b === void 0 ? void 0 : _b.columnIndex;
3682
+ const visibleRightEndIndex = (_c = visibleRightPinned[visibleRightPinned.length - 1]) === null || _c === void 0 ? void 0 : _c.columnIndex;
3683
+ let hasRenderInputChange = this.hasPendingCellRenderInputChange;
3684
+ /**
3685
+ * Apply cell-owned visible boundaries and sticky offsets.
3686
+ *
3687
+ * @param {ColumnRenderInputModel} renderInput - Cell render input to update.
3688
+ * @param {HTMLElement} cell - Cell host supplying its effective colspan.
3689
+ * @returns {boolean} Whether the render input changed.
3690
+ */
3691
+ const setOffsets = (renderInput, cell) => {
3692
+ var _a;
3693
+ const colSpan = (_a = renderInput.colSpan) !== null && _a !== void 0 ? _a : (cell.colSpan || 1);
3694
+ /**
3695
+ * Check whether the current cell spans a leaf index.
3696
+ *
3697
+ * @param {number} index - Leaf index to test.
3698
+ * @returns {boolean} Whether the cell includes the index.
3699
+ */
3700
+ const spansIndex = (index) => Number.isInteger(index) &&
3701
+ index >= renderInput.columnIndex &&
3702
+ index < renderInput.columnIndex + colSpan;
3703
+ const isVisibleLeftEndPinned = spansIndex(visibleLeftEndIndex);
3704
+ const isVisibleRightStartPinned = spansIndex(visibleRightStartIndex);
3705
+ const isVisibleRightEndPinned = spansIndex(visibleRightEndIndex);
3706
+ const visibleColSpan = colSpan > 1 && !allLeafWidthsHidden
3707
+ ? Math.max(1, leafWidths
3708
+ .slice(renderInput.columnIndex, renderInput.columnIndex + colSpan)
3709
+ .filter((width) => width > 0).length)
3710
+ : null;
3711
+ let leftOffsetPx = null;
3712
+ let rightOffsetPx = null;
3713
+ if (renderInput.pinned === 'left') {
3714
+ leftOffsetPx = prevShadowThWidth + leafPrefixLeft[renderInput.columnIndex];
3715
+ }
3716
+ else if (renderInput.pinned === 'right') {
3717
+ const endIndex = renderInput.columnIndex + colSpan;
3718
+ rightOffsetPx =
3719
+ nextShadowThWidth + (leafPrefixLeft[leafWidths.length] - leafPrefixLeft[endIndex]);
3720
+ }
3721
+ const changed = renderInput.isVisibleLeftEndPinned !== isVisibleLeftEndPinned ||
3722
+ renderInput.isVisibleRightStartPinned !== isVisibleRightStartPinned ||
3723
+ renderInput.isVisibleRightEndPinned !== isVisibleRightEndPinned ||
3724
+ renderInput.visibleColSpan !== visibleColSpan ||
3725
+ renderInput.leftOffsetPx !== leftOffsetPx ||
3726
+ renderInput.rightOffsetPx !== rightOffsetPx;
3727
+ renderInput.isVisibleLeftEndPinned = isVisibleLeftEndPinned;
3728
+ renderInput.isVisibleRightStartPinned = isVisibleRightStartPinned;
3729
+ renderInput.isVisibleRightEndPinned = isVisibleRightEndPinned;
3730
+ renderInput.visibleColSpan = visibleColSpan;
3731
+ renderInput.leftOffsetPx = leftOffsetPx;
3732
+ renderInput.rightOffsetPx = rightOffsetPx;
3733
+ return changed;
3734
+ };
3735
+ headCellRenderInputMap.forEach((renderInput, cell) => {
3736
+ hasRenderInputChange = setOffsets(renderInput, cell) || hasRenderInputChange;
3737
+ });
3738
+ this.getPinnedColumnBodyCellRenderInputMap().forEach((renderInput, cell) => {
3739
+ hasRenderInputChange = setOffsets(renderInput, cell) || hasRenderInputChange;
3740
+ });
3741
+ this.footCellRenderInputMap.forEach((renderInput, cell) => {
3742
+ hasRenderInputChange = setOffsets(renderInput, cell) || hasRenderInputChange;
3743
+ });
3744
+ this.hasPendingCellRenderInputChange = false;
3745
+ if (hasRenderInputChange) {
3746
+ this.notifyRenderInputChange();
3747
+ }
3529
3748
  }
3530
3749
  /**
3531
3750
  * Register remote invocation callbacks to allow DOM nodes to request render inputs.
@@ -3538,7 +3757,18 @@ class VegaTableRenderInputController extends VegaSlimmer {
3538
3757
  return this.headCellRenderInputMap.get(headCell);
3539
3758
  });
3540
3759
  remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnBodyCellRenderInputRIC), (cell) => {
3541
- return this.pinnedColumnBodyCellRenderInputMap.get(cell);
3760
+ return this.bodyCellRenderInputMap.get(cell);
3761
+ });
3762
+ remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalRowRenderInputRIC), (row) => {
3763
+ var _a;
3764
+ return (_a = this.rowRenderInputMap.get(row)) !== null && _a !== void 0 ? _a : this.createRowRenderInput(row);
3765
+ });
3766
+ remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnExpandCellRenderInputRIC), (row) => {
3767
+ var _a;
3768
+ return (_a = this.rowRenderInputMap.get(row)) !== null && _a !== void 0 ? _a : this.createRowRenderInput(row);
3769
+ });
3770
+ remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnFootCellRenderInputRIC), (cell) => {
3771
+ return this.footCellRenderInputMap.get(cell);
3542
3772
  });
3543
3773
  }
3544
3774
  /**
@@ -3548,11 +3778,118 @@ class VegaTableRenderInputController extends VegaSlimmer {
3548
3778
  remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnHeadRowRenderInputRIC));
3549
3779
  remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnHeadCellRenderInputRIC));
3550
3780
  remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnBodyCellRenderInputRIC));
3781
+ remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalRowRenderInputRIC));
3782
+ remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnExpandCellRenderInputRIC));
3783
+ remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnFootCellRenderInputRIC));
3784
+ }
3785
+ /** Register authored template rows and cells with their render inputs. */
3786
+ registerTemplateCellRenderInputs() {
3787
+ const rows = this.host.querySelectorAll('vega-table-row, vega-table-foot-row');
3788
+ if (!rows.length) {
3789
+ if (this.footCellRenderInputMap.size)
3790
+ this.hasPendingCellRenderInputChange = true;
3791
+ this.footCellRenderInputMap = new Map();
3792
+ return;
3793
+ }
3794
+ const nextFootCellRenderInputMap = new Map();
3795
+ rows.forEach((row) => {
3796
+ this.addRowRenderInputMap(row, row.matches('vega-table-foot-row') ? 'foot' : 'body');
3797
+ let leafIndex = 0;
3798
+ Array.from(row.children).forEach((cell) => {
3799
+ if (cell.tagName !== 'VEGA-TABLE-CELL' && cell.tagName !== 'VEGA-TABLE-FOOT-CELL')
3800
+ return;
3801
+ const leafCell = cell;
3802
+ const base = this.leavesRenderInputModels[leafIndex];
3803
+ const colSpan = leafCell.colSpan || 1;
3804
+ if (base) {
3805
+ const candidate = ColumnRenderInputModel.withMergedBoundaries(base, this.leavesRenderInputModels.slice(leafIndex, leafIndex + colSpan));
3806
+ if (cell.tagName === 'VEGA-TABLE-FOOT-CELL') {
3807
+ const footCell = leafCell;
3808
+ const current = this.footCellRenderInputMap.get(footCell);
3809
+ const renderInput = this.hasSameCellStructure(current, candidate)
3810
+ ? current
3811
+ : candidate;
3812
+ if (renderInput !== current)
3813
+ this.hasPendingCellRenderInputChange = true;
3814
+ nextFootCellRenderInputMap.set(footCell, renderInput);
3815
+ }
3816
+ else {
3817
+ const bodyCell = leafCell;
3818
+ const current = this.bodyCellRenderInputMap.get(bodyCell);
3819
+ this.addCellRenderInputMap(bodyCell, this.hasSameCellStructure(current, candidate) ? current : candidate);
3820
+ }
3821
+ }
3822
+ leafIndex += colSpan;
3823
+ });
3824
+ });
3825
+ if (nextFootCellRenderInputMap.size !== this.footCellRenderInputMap.size) {
3826
+ this.hasPendingCellRenderInputChange = true;
3827
+ }
3828
+ this.footCellRenderInputMap = nextFootCellRenderInputMap;
3829
+ }
3830
+ /**
3831
+ * Compare the structural fields that determine a cell render input.
3832
+ *
3833
+ * @param {ColumnRenderInputModel} current - Existing render input.
3834
+ * @param {ColumnRenderInputModel} candidate - Newly computed render input.
3835
+ * @returns {boolean} Whether the structural fields match.
3836
+ */
3837
+ hasSameCellStructure(current, candidate) {
3838
+ return (!!current &&
3839
+ current.key === candidate.key &&
3840
+ current.pinned === candidate.pinned &&
3841
+ current.columnIndex === candidate.columnIndex &&
3842
+ current.isViewStart === candidate.isViewStart &&
3843
+ current.isViewEnd === candidate.isViewEnd &&
3844
+ current.isLeftEndPinned === candidate.isLeftEndPinned &&
3845
+ current.isRightStartPinned === candidate.isRightStartPinned &&
3846
+ current.isNoPinnedEnd === candidate.isNoPinnedEnd);
3847
+ }
3848
+ /** Notify consumers that table render inputs changed. */
3849
+ notifyRenderInputChange() {
3850
+ ChangeManager.notify(domNodeSubjectFactory.getSubject(this.host, VegaInternalVegaTableRenderInputChange), {});
3851
+ }
3852
+ /**
3853
+ * Create and cache render input for a requesting row.
3854
+ *
3855
+ * @param {HTMLElement} row - Requesting row host.
3856
+ * @returns {RowRenderInputModel} Cached row render input.
3857
+ */
3858
+ createRowRenderInput(row) {
3859
+ const kind = row.matches('vega-table-head-row')
3860
+ ? 'head'
3861
+ : row.matches('vega-table-foot-row')
3862
+ ? 'foot'
3863
+ : row.matches('vega-table-expand-row')
3864
+ ? 'expand'
3865
+ : 'body';
3866
+ const renderInput = this.createRowRenderInputModel(kind, row);
3867
+ this.rowRenderInputMap.set(row, renderInput);
3868
+ return renderInput;
3869
+ }
3870
+ /**
3871
+ * Build row render input from current table state.
3872
+ *
3873
+ * @param {RowKind} kind - Row variant.
3874
+ * @param {HTMLElement} row - Row host used for header metadata lookup.
3875
+ * @returns {RowRenderInputModel} Current row render input.
3876
+ */
3877
+ createRowRenderInputModel(kind, row) {
3878
+ const table = {
3879
+ hasExpandableRow: this.hasExpandableRow,
3880
+ paddingX: this.paddingX,
3881
+ rowDraggable: this.rowDraggable,
3882
+ rowExpandable: this.rowExpandable,
3883
+ rowSelection: this.rowSelection,
3884
+ };
3885
+ return RowRenderInputModel.from(this.columnStructureModel, table, kind, kind === 'head' ? this.headRowRenderInputMap.get(row) : null);
3551
3886
  }
3552
3887
  /**
3553
3888
  * Build the ColumnRenderInputModel forest from the current ColumnStructureModel.
3554
3889
  */
3555
3890
  setRenderInputModel() {
3891
+ this.rowRenderInputMap = new WeakMap();
3892
+ this.footCellRenderInputMap.clear();
3556
3893
  this.columnRenderInputModels = ColumnRenderInputModel.from(this.columnStructureModel);
3557
3894
  this.leavesRenderInputModels = this.columnRenderInputModels.flatMap((model) => model.getLeaves());
3558
3895
  }
@@ -3563,6 +3900,24 @@ __decorate$F([
3563
3900
  __decorate$F([
3564
3901
  MapToComponentField()
3565
3902
  ], VegaTableRenderInputController.prototype, "columnStructureModel", void 0);
3903
+ __decorate$F([
3904
+ MapToComponentField()
3905
+ ], VegaTableRenderInputController.prototype, "hasExpandableRow", void 0);
3906
+ __decorate$F([
3907
+ MapToComponentField()
3908
+ ], VegaTableRenderInputController.prototype, "paddingX", void 0);
3909
+ __decorate$F([
3910
+ MapToComponentField()
3911
+ ], VegaTableRenderInputController.prototype, "rowDraggable", void 0);
3912
+ __decorate$F([
3913
+ MapToComponentField()
3914
+ ], VegaTableRenderInputController.prototype, "rowExpandable", void 0);
3915
+ __decorate$F([
3916
+ MapToComponentField()
3917
+ ], VegaTableRenderInputController.prototype, "rowSelection", void 0);
3918
+ __decorate$F([
3919
+ MapToComponentField()
3920
+ ], VegaTableRenderInputController.prototype, "isTemplateRenderMode", void 0);
3566
3921
  __decorate$F([
3567
3922
  MapToComponentMethod('connectedCallback')
3568
3923
  ], VegaTableRenderInputController.prototype, "connectedCallback", null);
@@ -3578,6 +3933,13 @@ __decorate$F([
3578
3933
  __decorate$F([
3579
3934
  MapToComponentMethod('watchColumnStructureModel')
3580
3935
  ], VegaTableRenderInputController.prototype, "watchColumnStructureModel", null);
3936
+ __decorate$F([
3937
+ MapToComponentMethod('watchHasExpandableRow'),
3938
+ MapToComponentMethod('watchPaddingX'),
3939
+ MapToComponentMethod('watchRowDraggable'),
3940
+ MapToComponentMethod('watchRowExpandable'),
3941
+ MapToComponentMethod('watchRowSelection')
3942
+ ], VegaTableRenderInputController.prototype, "watchRowStructure", null);
3581
3943
 
3582
3944
  var __decorate$E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3583
3945
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -3592,557 +3954,65 @@ class VegaTablePinnedRenderer extends VegaSlimmer {
3592
3954
  // eslint-disable-next-line
3593
3955
  target: () => this.host.shadowRoot.querySelector('table'),
3594
3956
  isDeferred: true,
3595
- /*
3596
- * The below method is e2e-test covered in
3597
- * @see{module:resize-pinned-position-by-edit-row}
3598
- */
3599
3957
  callback: /* istanbul ignore next */ async () => {
3600
- await this.host.componentOnReady().then(() => {
3601
- this.updateTableRowPinnedPosition();
3602
- this.updateTableCellPinnedPosition();
3603
- });
3958
+ await this.host.componentOnReady();
3959
+ this.recomputeRenderInputs();
3604
3960
  },
3605
3961
  });
3606
- this.previouslyStyledCells = new Set();
3607
- // Each set tracks cells where exactly one dynamic class was added — cleared per class so
3608
- // that static classes from render() on the same cell are never inadvertently stripped
3609
- // (e.g. a cell that is both isRightStartPinned and the last-visible body cell).
3610
- this.dynamicRightDividerCells = new Set();
3611
- this.dynamicLeftDividerCells = new Set();
3612
- this.dynamicHideRightBorderCells = new Set();
3613
- // Authored template cells whose shadow <td> colspan was shrunk for breakpoint-hidden columns,
3614
- // tracked so the authored colspan can be restored when pinning is removed at runtime (VD-9768).
3615
- this.templateColspanSyncedCells = new Set();
3616
- this.clearPinnedPositionsTaskQueue = new SynchronizeTaskQueue(1);
3617
3962
  }
3618
3963
  componentDidLoad() {
3619
3964
  }
3620
- async componentDidRender() {
3621
- await this.clearPinnedPositionsTaskQueue.runTask();
3622
- this.updateTableRowPinnedPosition();
3623
- const unreadyCells = this.updateTableCellPinnedPosition();
3624
- if (unreadyCells.length > 0) {
3625
- // In dev builds, Stencil's HMR flag forces loadModule() to always use a
3626
- // dynamic import(), so a brand-new cell's first render is deferred. We wait
3627
- // for each unready cell via componentOnReady() — which resolves exactly when
3628
- // the cell's shadow <td> is first rendered — then apply sticky positioning.
3629
- // In production (hotModuleReplacement=false) loadModule() is synchronous, so
3630
- // cells are always ready by componentDidRender and this branch is never reached.
3631
- await Promise.all(unreadyCells.map((cell) => cell.componentOnReady()));
3632
- this.updateTableCellPinnedPosition();
3633
- }
3965
+ componentDidRender() {
3966
+ this.recomputeRenderInputs();
3634
3967
  }
3635
3968
  watchColumnStructureModel() {
3636
- void this.clearPinnedPositionsTaskQueue.enqueue({
3637
- run: async () => {
3638
- this.clearAllPinnedPositions();
3639
- },
3640
- }, false);
3641
3969
  }
3642
- updateTableCellPinnedPosition() {
3970
+ recomputeRenderInputs() {
3971
+ this.host.style.setProperty('--vega-table-content-width', `${this.host.getBoundingClientRect().width}px`);
3643
3972
  if (!this.columnStructureModel.hasLeftPinnedColumn() &&
3644
3973
  !this.columnStructureModel.hasRightPinnedColumn())
3645
- return [];
3646
- // Clear stale dynamic boundary classes before re-evaluating breakpoint visibility.
3647
- // This ensures the classes are removed when the viewport grows back (e.g. column B
3648
- // becomes visible again) and not only when the column structure changes.
3649
- // Each set only removes the single class it tracks, preserving any other static
3650
- // border classes that render() placed on the same cell (VD-9565).
3651
- this.dynamicRightDividerCells.forEach((cell) => cell.classList.remove('right-divider'));
3652
- this.dynamicRightDividerCells.clear();
3653
- this.dynamicLeftDividerCells.forEach((cell) => cell.classList.remove('left-divider'));
3654
- this.dynamicLeftDividerCells.clear();
3655
- this.dynamicHideRightBorderCells.forEach((cell) => cell.classList.remove('hide-right-border'));
3656
- this.dynamicHideRightBorderCells.clear();
3657
- // if not have head row, it means no pinned, so no need to update.
3658
- // In template mode the authored rows live in light DOM (slotted), so resolve the row
3659
- // container root accordingly instead of always querying the table's shadow root.
3974
+ return;
3660
3975
  const row = this.getRowContainerRoot().querySelector('vega-table-head-row');
3661
- // to avoid window resize before table rendered.
3662
- // @see{module:resize-pinned-position-by-edit-row}
3663
3976
  /* istanbul ignore next */
3664
- if (!row)
3665
- return [];
3666
- const headCellRenderInputMap = this.vegaTableRenderInputController.getHeadCellRenderInputMap();
3667
- const pinnedColumnBodyCellRenderInputMap = this.vegaTableRenderInputController.getPinnedColumnBodyCellRenderInputMap();
3668
- const [prevShadowThWidth, nextShadowThWidth] = this.getRowShadowThWidths();
3669
- const leafWidths = this.getLeafWidths();
3670
- // Track the last visible left-pinned head cell and first visible right-pinned head cell
3671
- // to dynamically apply boundary classes when breakpoint-hidden columns shift the boundary.
3672
- let lastVisibleLeftPinnedHeadCell = null;
3673
- let firstVisibleRightPinnedHeadCell = null;
3674
- let lastVisibleRightPinnedHeadCell = null;
3675
- headCellRenderInputMap.forEach((renderInput, headCell) => {
3676
- var _a;
3677
- /* istanbul ignore next -- defensive null-guard: jsdom always provides shadowRoot */
3678
- const shadowCell = (_a = headCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
3679
- const isVisible = shadowCell ? shadowCell.getBoundingClientRect().width > 0 : false;
3680
- this.updateCellPinnedPosition(renderInput, headCell, prevShadowThWidth, leafWidths, nextShadowThWidth);
3681
- if (isVisible && renderInput.pinned === 'left') {
3682
- lastVisibleLeftPinnedHeadCell = shadowCell;
3683
- }
3684
- if (isVisible && renderInput.pinned === 'right' && !firstVisibleRightPinnedHeadCell) {
3685
- firstVisibleRightPinnedHeadCell = shadowCell;
3686
- }
3687
- if (isVisible && renderInput.pinned === 'right') {
3688
- lastVisibleRightPinnedHeadCell = shadowCell;
3689
- }
3690
- });
3691
- // Track last visible left-pinned body cells per row for boundary class propagation.
3692
- // Declared before the template positioning pass so authored cells feed the same maps the
3693
- // shared dynamic-boundary logic below consumes (one update flow for both render modes).
3694
- const lastVisibleLeftPinnedBodyCells = new Map();
3695
- const firstVisibleRightPinnedBodyCells = new Map();
3696
- const lastVisibleRightPinnedBodyCells = new Map();
3697
- // Template mode has no JSX ref callbacks to populate the body-cell render-input map, and
3698
- // its rows live in light DOM. Position the authored body/foot leaf cells directly by zipping
3699
- // them with the leaf render inputs (respecting colSpan), reusing the shared positioning primitive.
3700
- if (this.isTemplateRenderMode) {
3701
- this.updateTemplateLeafCellPinnedPosition(prevShadowThWidth, leafWidths, nextShadowThWidth, lastVisibleLeftPinnedBodyCells, firstVisibleRightPinnedBodyCells, lastVisibleRightPinnedBodyCells);
3702
- }
3703
- // Remove stale entries (disconnected cells) left over from prior renders (e.g. after drag reorder).
3704
- pinnedColumnBodyCellRenderInputMap.forEach((_, bodyCell) => {
3705
- /* istanbul ignore next -- defensive cleanup for disconnected cells; jsdom always keeps cells connected */
3706
- if (!(bodyCell === null || bodyCell === void 0 ? void 0 : bodyCell.isConnected)) {
3707
- pinnedColumnBodyCellRenderInputMap.delete(bodyCell);
3708
- }
3709
- });
3710
- // Collect body cells whose shadow DOM is not yet ready (newly created cells).
3711
- const unreadyCells = [];
3712
- pinnedColumnBodyCellRenderInputMap.forEach((renderInput, bodyCell) => {
3713
- var _a;
3714
- /* istanbul ignore next -- defensive null-guard: jsdom always provides shadowRoot */
3715
- const shadowCell = (_a = bodyCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
3716
- const isVisible = shadowCell ? shadowCell.getBoundingClientRect().width > 0 : false;
3717
- // Shadow DOM not ready yet — cell was just created (e.g. colspan collapsed after drag).
3718
- if (['left', 'right'].includes(renderInput.pinned) && !shadowCell) {
3719
- unreadyCells.push(bodyCell);
3720
- return;
3721
- }
3722
- this.updateCellPinnedPosition(renderInput, bodyCell, prevShadowThWidth, leafWidths, nextShadowThWidth);
3723
- if (isVisible && renderInput.pinned === 'left') {
3724
- // Use the parent row as the grouping key for per-row tracking
3725
- const parentRow = bodyCell.closest('vega-table-row');
3726
- if (parentRow) {
3727
- lastVisibleLeftPinnedBodyCells.set(parentRow, shadowCell);
3728
- }
3729
- }
3730
- if (isVisible && renderInput.pinned === 'right') {
3731
- const parentRow = bodyCell.closest('vega-table-row');
3732
- if (parentRow && !firstVisibleRightPinnedBodyCells.has(parentRow)) {
3733
- firstVisibleRightPinnedBodyCells.set(parentRow, shadowCell);
3734
- }
3735
- if (parentRow) {
3736
- lastVisibleRightPinnedBodyCells.set(parentRow, shadowCell);
3737
- }
3738
- }
3739
- });
3740
- // Apply boundary divider to the last visible left-pinned cell when the static
3741
- // isLeftEndPinned column is hidden by breakpoint.
3742
- if (lastVisibleLeftPinnedHeadCell &&
3743
- !lastVisibleLeftPinnedHeadCell.classList.contains('right-divider')) {
3744
- // Check if the static boundary column is hidden — if leafWidths shows 0 for the
3745
- // isLeftEndPinned column, the boundary has shifted.
3746
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
3747
- const staticBoundaryLeaf = leafRenderInputs.find((leaf) => leaf.isLeftEndPinned);
3748
- if (staticBoundaryLeaf && leafWidths[staticBoundaryLeaf.columnIndex] === 0) {
3749
- lastVisibleLeftPinnedHeadCell.classList.add('right-divider');
3750
- this.dynamicRightDividerCells.add(lastVisibleLeftPinnedHeadCell);
3751
- lastVisibleLeftPinnedBodyCells.forEach((cell) => {
3752
- // Only track cells that don't already hold `right-divider` from their
3753
- // static render (effectiveRenderInput.isLeftEndPinned). If we add a
3754
- // statically-classed cell here, the per-class clear on the next resize
3755
- // would erroneously remove the static class (VD-9540).
3756
- if (!cell.classList.contains('right-divider')) {
3757
- cell.classList.add('right-divider');
3758
- this.dynamicRightDividerCells.add(cell);
3759
- }
3760
- });
3761
- }
3762
- }
3763
- if (firstVisibleRightPinnedHeadCell &&
3764
- !firstVisibleRightPinnedHeadCell.classList.contains('left-divider')) {
3765
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
3766
- const staticBoundaryLeaf = leafRenderInputs.find((leaf) => leaf.isRightStartPinned);
3767
- if (staticBoundaryLeaf && leafWidths[staticBoundaryLeaf.columnIndex] === 0) {
3768
- firstVisibleRightPinnedHeadCell.classList.add('left-divider');
3769
- this.dynamicLeftDividerCells.add(firstVisibleRightPinnedHeadCell);
3770
- firstVisibleRightPinnedBodyCells.forEach((cell) => {
3771
- // Only track cells that don't already hold `left-divider` from their
3772
- // static render (effectiveRenderInput.isRightStartPinned). If we add a
3773
- // statically-classed cell here, the per-class clear on the next resize
3774
- // would erroneously remove the static class (VD-9540).
3775
- if (!cell.classList.contains('left-divider')) {
3776
- cell.classList.add('left-divider');
3777
- this.dynamicLeftDividerCells.add(cell);
3778
- }
3779
- });
3780
- }
3781
- }
3782
- // Apply hide-right-border to the last visible right-pinned cell when the structural
3783
- // right-most column is hidden by breakpoint. Without this, the new right-most visible
3784
- // pinned column keeps a right border while the head cell suppresses it (head cells use
3785
- // isViewEnd), leaving an extra vertical border at the table's right edge (VD-9565).
3786
- if (lastVisibleRightPinnedHeadCell &&
3787
- !lastVisibleRightPinnedHeadCell.classList.contains('hide-right-border')) {
3788
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
3789
- // The structural right-most column is the last right-pinned leaf. Leaf render
3790
- // inputs do not carry `isViewEnd` (unlike head render inputs), so identify the
3791
- // boundary via `pinned` order instead.
3792
- const rightPinnedLeaves = leafRenderInputs.filter((leaf) => leaf.pinned === 'right');
3793
- const structuralEndLeaf = rightPinnedLeaves[rightPinnedLeaves.length - 1];
3794
- if (structuralEndLeaf && leafWidths[structuralEndLeaf.columnIndex] === 0) {
3795
- lastVisibleRightPinnedHeadCell.classList.add('hide-right-border');
3796
- this.dynamicHideRightBorderCells.add(lastVisibleRightPinnedHeadCell);
3797
- lastVisibleRightPinnedBodyCells.forEach((cell) => {
3798
- // Only track cells that don't already hold `hide-right-border` from their
3799
- // static render (isViewEnd/isNoPinnedEnd). Adding a statically-classed cell
3800
- // here would let the per-class clear erroneously strip the static class on
3801
- // the next resize (mirrors the VD-9540 divider guard).
3802
- if (!cell.classList.contains('hide-right-border')) {
3803
- cell.classList.add('hide-right-border');
3804
- this.dynamicHideRightBorderCells.add(cell);
3805
- }
3806
- });
3807
- }
3808
- }
3809
- // Sync colspan on pinned body cells that span breakpoint-hidden columns.
3810
- // Chrome does not honour visibility:collapse / display:none on <col> for table layout,
3811
- // so we directly adjust the shadow <td> colspan attribute to exclude hidden columns (VD-9540).
3812
- this.syncColspanForHiddenColumns(leafWidths, pinnedColumnBodyCellRenderInputMap);
3813
- return unreadyCells;
3977
+ if (!(row === null || row === void 0 ? void 0 : row.shadowRoot))
3978
+ return;
3979
+ const [leftRowFixedWidth, rightRowFixedWidth] = this.getRowFixedWidths(row);
3980
+ this.vegaTableRenderInputController.recomputePinnedOffsets(leftRowFixedWidth, rightRowFixedWidth, this.getLeafWidths());
3814
3981
  }
3815
- /**
3816
- * Resolve the DOM root that holds the table rows.
3817
- *
3818
- * In data-source mode rows are rendered into the table's shadow root; in template mode the
3819
- * authored rows are slotted, so they live in the host's light DOM.
3820
- *
3821
- * @returns {ShadowRoot | HTMLElement} The container to query rows from.
3822
- */
3823
3982
  getRowContainerRoot() {
3824
3983
  return this.isTemplateRenderMode ? this.host : this.host.shadowRoot;
3825
3984
  }
3826
- /**
3827
- * Position authored template body and foot leaf cells by zipping them with the leaf render
3828
- * inputs in authored order, advancing by each cell's colSpan. Also applies the pinned-boundary
3829
- * divider classes (mirroring the body cell's render()), since authored body/foot cells have no
3830
- * render-input of their own in template mode.
3831
- *
3832
- * @param {number} prevShadowThWidth - Aggregate width of leading fixed columns (table left padding).
3833
- * @param {number[]} leafWidths - Rendered width of each leaf column, indexed by columnIndex.
3834
- * @param {number} nextShadowThWidth - Aggregate width of trailing fixed columns (table right padding).
3835
- */
3836
- updateTemplateLeafCellPinnedPosition(prevShadowThWidth, leafWidths, nextShadowThWidth, lastVisibleLeftPinnedBodyCells, firstVisibleRightPinnedBodyCells, lastVisibleRightPinnedBodyCells) {
3837
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
3838
- // Off-screen / jsdom renders report every width as 0; skip colspan sync there so we don't
3839
- // collapse every span to 1 (mirrors the data-source syncColspanForHiddenColumns guard).
3840
- const allLeafWidthsHidden = leafWidths.every((w) => w === 0);
3841
- this.getRowContainerRoot()
3842
- .querySelectorAll('vega-table-row, vega-table-foot-row')
3843
- .forEach((row) => {
3844
- let leafIndex = 0;
3845
- Array.from(row.children).forEach((cell) => {
3846
- if (cell.tagName !== 'VEGA-TABLE-CELL' && cell.tagName !== 'VEGA-TABLE-FOOT-CELL')
3847
- return;
3848
- const leafCell = cell;
3849
- const renderInput = leafRenderInputs[leafIndex];
3850
- // Unlike data-source mode (resolveBodyColSpan), template mode positions the authored
3851
- // <td> as-is and intentionally does NOT clamp col-span at a pinned boundary: the
3852
- // consumer owns this literal DOM, so a col-span crossing pinned <-> unpinned is an
3853
- // invalid authoring choice (a cell cannot be both frozen and scrolling), not a case
3854
- // the component rewrites.
3855
- const colSpan = this.resolveCellColSpan(leafCell, renderInput);
3856
- if (renderInput) {
3857
- this.updateCellPinnedPosition(renderInput, leafCell, prevShadowThWidth, leafWidths, nextShadowThWidth);
3858
- this.applyTemplateLeafDividerClass(leafCell, leafRenderInputs.slice(leafIndex, leafIndex + colSpan));
3859
- this.syncTemplateLeafColspan(leafCell, renderInput, colSpan, leafWidths, allLeafWidthsHidden);
3860
- this.trackVisiblePinnedTemplateCell(row, leafCell, renderInput, lastVisibleLeftPinnedBodyCells, firstVisibleRightPinnedBodyCells, lastVisibleRightPinnedBodyCells);
3861
- }
3862
- leafIndex += colSpan;
3863
- });
3864
- });
3865
- }
3866
- /**
3867
- * Record an authored template leaf cell's shadow cell as the last visible left-pinned / first &
3868
- * last visible right-pinned cell of its row, so the shared dynamic-boundary logic can shift the
3869
- * boundary divider onto it when the static boundary column is breakpoint-hidden.
3870
- *
3871
- * @param {HTMLElement} row - The authored body or foot row (used as the per-row grouping key).
3872
- * @param {HTMLVegaTableCellElement} leafCell - Authored body or foot cell host.
3873
- * @param {ColumnRenderInputModel} renderInput - Render input of the cell's first leaf.
3874
- * @param {Map<HTMLElement, HTMLElement>} lastVisibleLeftPinnedBodyCells - Per-row last visible left-pinned shadow cell.
3875
- * @param {Map<HTMLElement, HTMLElement>} firstVisibleRightPinnedBodyCells - Per-row first visible right-pinned shadow cell.
3876
- * @param {Map<HTMLElement, HTMLElement>} lastVisibleRightPinnedBodyCells - Per-row last visible right-pinned shadow cell.
3877
- */
3878
- trackVisiblePinnedTemplateCell(row, leafCell, renderInput, lastVisibleLeftPinnedBodyCells, firstVisibleRightPinnedBodyCells, lastVisibleRightPinnedBodyCells) {
3879
- var _a;
3880
- const shadowCell = (_a = leafCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
3881
- if (!shadowCell || shadowCell.getBoundingClientRect().width <= 0)
3882
- return;
3883
- if (renderInput.pinned === 'left') {
3884
- lastVisibleLeftPinnedBodyCells.set(row, shadowCell);
3885
- }
3886
- if (renderInput.pinned === 'right') {
3887
- if (!firstVisibleRightPinnedBodyCells.has(row)) {
3888
- firstVisibleRightPinnedBodyCells.set(row, shadowCell);
3889
- }
3890
- lastVisibleRightPinnedBodyCells.set(row, shadowCell);
3891
- }
3892
- }
3893
- /**
3894
- * Reduce an authored template pinned cell's shadow <td> colspan to the number of *visible*
3895
- * columns it spans. Breakpoint-hidden columns report width 0 but Chrome still counts them in the
3896
- * table grid, so without this a pinned span drifts out of column-alignment with the header
3897
- * (VD-9540). Only applies to pinned cells; skipped off-screen / in jsdom where every width is 0.
3898
- *
3899
- * @param {HTMLVegaTableCellElement} leafCell - Authored body or foot cell host.
3900
- * @param {ColumnRenderInputModel} renderInput - Render input of the cell's first leaf.
3901
- * @param {number} colSpan - The cell's originally declared colspan.
3902
- * @param {number[]} leafWidths - Rendered width of each leaf column, indexed by columnIndex.
3903
- * @param {boolean} allLeafWidthsHidden - True when every leaf width is 0 (off-screen / jsdom).
3904
- */
3905
- syncTemplateLeafColspan(leafCell, renderInput, colSpan, leafWidths, allLeafWidthsHidden) {
3906
- var _a;
3907
- if (colSpan <= 1 || allLeafWidthsHidden)
3908
- return;
3909
- if (!['left', 'right'].includes(renderInput.pinned))
3910
- return;
3911
- const shadowTd = (_a = leafCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
3912
- if (!shadowTd)
3913
- return;
3914
- const visibleColspan = this.countVisibleColspan(leafWidths, renderInput.columnIndex, colSpan);
3915
- shadowTd.setAttribute('colspan', String(visibleColspan));
3916
- if (visibleColspan !== colSpan) {
3917
- this.templateColspanSyncedCells.add(leafCell);
3918
- }
3919
- else {
3920
- this.templateColspanSyncedCells.delete(leafCell);
3921
- }
3922
- }
3923
- /**
3924
- * Restore the authored colspan on every template cell whose shadow <td> was shrunk by
3925
- * {@link syncTemplateLeafColspan}. Runs on cleanup so removing `pinned` at runtime does not leave
3926
- * a body/foot cell stuck at the breakpoint-shrunk colspan once positioning no longer runs (VD-9768).
3927
- */
3928
- restoreTemplateLeafColspan() {
3929
- this.templateColspanSyncedCells.forEach((leafCell) => {
3930
- var _a, _b;
3931
- const shadowTd = (_a = leafCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
3932
- if (!shadowTd)
3933
- return;
3934
- const authoredColSpan = (_b = leafCell.colSpan) !== null && _b !== void 0 ? _b : 1;
3935
- if (authoredColSpan > 1) {
3936
- shadowTd.setAttribute('colspan', String(authoredColSpan));
3937
- }
3938
- else {
3939
- shadowTd.removeAttribute('colspan');
3940
- }
3941
- });
3942
- this.templateColspanSyncedCells.clear();
3943
- }
3944
- /**
3945
- * Apply the pinned-boundary divider classes to an authored template body/foot cell's shadow
3946
- * cell, merging boundary flags across the leaves the cell spans. Tracked in the dynamic sets so
3947
- * the next positioning pass clears and re-evaluates them (matching the data-source cleanup path).
3948
- *
3949
- * @param {HTMLVegaTableCellElement} cell - Authored body or foot cell host.
3950
- * @param {ColumnRenderInputModel[]} spannedLeaves - Leaf render inputs the cell spans.
3951
- */
3952
- applyTemplateLeafDividerClass(cell, spannedLeaves) {
3953
- var _a;
3954
- const shadowCell = (_a = cell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
3955
- if (!shadowCell)
3956
- return;
3957
- const spans = (predicate) => spannedLeaves.some((leaf) => !!leaf && predicate(leaf));
3958
- if (spans((leaf) => leaf.isLeftEndPinned)) {
3959
- shadowCell.classList.add('right-divider');
3960
- this.dynamicRightDividerCells.add(shadowCell);
3961
- }
3962
- if (spans((leaf) => leaf.isRightStartPinned)) {
3963
- shadowCell.classList.add('left-divider');
3964
- this.dynamicLeftDividerCells.add(shadowCell);
3965
- }
3966
- if (spans((leaf) => leaf.isNoPinnedEnd || leaf.isViewEnd)) {
3967
- shadowCell.classList.add('hide-right-border');
3968
- this.dynamicHideRightBorderCells.add(shadowCell);
3969
- }
3970
- }
3971
- getRowShadowThWidths() {
3972
- const row = this.getRowContainerRoot().querySelector('vega-table-head-row');
3973
- const rowShadow = row.shadowRoot;
3974
- const firstTh = rowShadow.querySelector('th:first-of-type');
3975
- const draggableTh = rowShadow.querySelector('.vega-table-draggable-column');
3976
- const selectionTh = rowShadow.querySelector('.vega-table-selection-column');
3977
- const expandTh = rowShadow.querySelector('.vega-table-expand-action-column');
3978
- const lastTh = rowShadow.querySelector('th:last-of-type');
3979
- if (firstTh) {
3980
- const prevWidth = firstTh.getBoundingClientRect().width +
3981
- ((selectionTh === null || selectionTh === void 0 ? void 0 : selectionTh.getBoundingClientRect().width) || 0) +
3982
- ((draggableTh === null || draggableTh === void 0 ? void 0 : draggableTh.getBoundingClientRect().width) || 0);
3983
- const nextWidth = ((expandTh === null || expandTh === void 0 ? void 0 : expandTh.getBoundingClientRect().width) || 0) + lastTh.getBoundingClientRect().width;
3984
- return [prevWidth, nextWidth];
3985
- }
3986
- // to avoid window resize before row rendered.
3987
- // @see{module:resize-pinned-position-by-edit-row}
3985
+ getRowFixedWidths(row) {
3986
+ const firstCell = row.shadowRoot.querySelector('th:first-of-type');
3987
+ const draggableCell = row.shadowRoot.querySelector('.vega-table-draggable-column');
3988
+ const selectionCell = row.shadowRoot.querySelector('.vega-table-selection-column');
3989
+ const expandCell = row.shadowRoot.querySelector('.vega-table-expand-action-column');
3990
+ const lastCell = row.shadowRoot.querySelector('th:last-of-type');
3988
3991
  /* istanbul ignore next */
3989
- return [0, 0];
3992
+ if (!firstCell)
3993
+ return [0, 0];
3994
+ return [
3995
+ firstCell.getBoundingClientRect().width +
3996
+ ((selectionCell === null || selectionCell === void 0 ? void 0 : selectionCell.getBoundingClientRect().width) || 0) +
3997
+ ((draggableCell === null || draggableCell === void 0 ? void 0 : draggableCell.getBoundingClientRect().width) || 0),
3998
+ ((expandCell === null || expandCell === void 0 ? void 0 : expandCell.getBoundingClientRect().width) || 0) + ((lastCell === null || lastCell === void 0 ? void 0 : lastCell.getBoundingClientRect().width) || 0),
3999
+ ];
3990
4000
  }
3991
4001
  getLeafWidths() {
3992
4002
  const headCellRenderInputMap = this.vegaTableRenderInputController.getHeadCellRenderInputMap();
3993
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
3994
- return leafRenderInputs.map((leaf) => {
3995
- var _a;
4003
+ return this.vegaTableRenderInputController
4004
+ .getLeafRenderInputs()
4005
+ .map((leaf) => {
4006
+ var _a, _b;
3996
4007
  for (const [cell, renderInput] of headCellRenderInputMap.entries()) {
3997
4008
  if (leaf === renderInput) {
3998
- // to avoid window resize before cell rendered.
3999
- // @see{module:resize-pinned-position-by-edit-row}
4000
4009
  /* istanbul ignore next */
4001
- return ((_a = cell.shadowRoot.querySelector('th, td')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 0;
4002
- }
4003
- }
4004
- });
4005
- }
4006
- syncColspanForHiddenColumns(leafWidths, pinnedColumnBodyCellRenderInputMap) {
4007
- // NOTE: renderInput.colSpan is null for flat (non-group) tables — it only holds a value for
4008
- // group-column subtree spans. We read the original colspan from the component prop (bodyCell.colSpan)
4009
- // which is always the rendered value, unaffected by our shadow-DOM attribute writes.
4010
- //
4011
- // Skip when ALL leaf widths are 0 — that means the table is running in jsdom / an off-screen
4012
- // context where getBoundingClientRect() always returns 0. Adjusting in that state would
4013
- // incorrectly reduce every colspan to 1 (no visible columns = Math.max(1,0)=1).
4014
- if (leafWidths.every((w) => w === 0))
4015
- return;
4016
- pinnedColumnBodyCellRenderInputMap.forEach((renderInput, bodyCell) => {
4017
- var _a;
4018
- const originalColspan = bodyCell.colSpan || 1;
4019
- if (originalColspan <= 1)
4020
- return;
4021
- /* istanbul ignore next -- defensive null-guard: jsdom always provides shadowRoot */
4022
- const shadowTd = (_a = bodyCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('td');
4023
- /* istanbul ignore next -- shadowTd is always present in jsdom */
4024
- if (!shadowTd)
4025
- return;
4026
- shadowTd.setAttribute('colspan', String(this.countVisibleColspan(leafWidths, renderInput.columnIndex, originalColspan)));
4027
- });
4028
- }
4029
- /**
4030
- * Count how many columns in a span are actually visible (leaf width > 0). Breakpoint-hidden
4031
- * columns report width 0 because their <th> is display:none; Chrome ignores that on the table
4032
- * grid, so a spanning cell's shadow <td> colspan must be reduced to the visible count to stay
4033
- * column-aligned (VD-9540). Shared by data-source and template positioning paths.
4034
- *
4035
- * @param {number[]} leafWidths - Rendered width of each leaf column, indexed by columnIndex.
4036
- * @param {number} startIndex - columnIndex of the first leaf the spanning cell covers.
4037
- * @param {number} declaredColspan - The cell's originally declared colspan.
4038
- * @returns {number} The number of visible columns in the span (>= 1).
4039
- */
4040
- countVisibleColspan(leafWidths, startIndex, declaredColspan) {
4041
- const spanned = leafWidths.slice(startIndex, startIndex + declaredColspan);
4042
- return Math.max(1, spanned.filter((w) => w > 0).length);
4043
- }
4044
- resolveCellColSpan(cell, renderInput) {
4045
- var _a;
4046
- // Group-column render inputs carry an explicit colSpan; flat/leaf and authored template
4047
- // cells fall back to the col-span prop on the cell. The authored value is honored verbatim
4048
- // (no pinned-boundary clamping) — see updateTemplateLeafCellPinnedPosition.
4049
- const colSpan = (_a = renderInput === null || renderInput === void 0 ? void 0 : renderInput.colSpan) !== null && _a !== void 0 ? _a : null;
4050
- return isNonNullable(colSpan) ? colSpan : cell.colSpan || 1;
4051
- }
4052
- updateCellPinnedPosition(renderInput, headCell, prevShadowThWidth, leafWidths, nextShadowThWidth) {
4053
- if (['left', 'right'].includes(renderInput.pinned)) {
4054
- const shadowCell = headCell.shadowRoot.querySelector('th, td');
4055
- if (renderInput.pinned === 'left') {
4056
- const position = prevShadowThWidth +
4057
- leafWidths
4058
- .slice(0, renderInput.columnIndex)
4059
- .reduce((count, colWidth) => count + colWidth, 0);
4060
- this.updatePinnedPosition(shadowCell, 'left', position);
4061
- }
4062
- if (renderInput.pinned === 'right') {
4063
- // renderInput.colSpan is null for flat (non-group) tables — it only carries a value
4064
- // for group-column subtree spans (multi-level headers). For body cells with an HTML
4065
- // colspan (e.g. colSpan:2 spanning the last two right-pinned columns), we read the
4066
- // actual span from the host component prop so the right-edge offset is calculated
4067
- // over the full spanned width rather than just one column (VD-9565).
4068
- const colSpan = this.resolveCellColSpan(headCell, renderInput);
4069
- const position = nextShadowThWidth +
4070
- leafWidths
4071
- .slice(renderInput.columnIndex + colSpan)
4072
- .reduce((count, colWidth) => count + colWidth, 0);
4073
- this.updatePinnedPosition(shadowCell, 'right', position);
4074
- }
4075
- }
4076
- }
4077
- updateTableRowPinnedPosition() {
4078
- const hasLeftPinnedColumn = this.columnStructureModel.hasLeftPinnedColumn();
4079
- const hasRightPinnedColumn = this.columnStructureModel.hasRightPinnedColumn();
4080
- const tableWidth = this.host.getBoundingClientRect().width;
4081
- const leftPadding = extractNumberFromString(this.paddingX[0]);
4082
- const rightPadding = extractNumberFromString(this.paddingX[1]);
4083
- // table width - padding(8*2) - border(2);
4084
- const expandContainerWidth = tableWidth - leftPadding - rightPadding - 2;
4085
- this.getRowContainerRoot()
4086
- .querySelectorAll('vega-table-head-row, vega-table-row, vega-table-expand-row, vega-table-foot-row')
4087
- .forEach((row) => {
4088
- const rowShadow = row.shadowRoot;
4089
- if (hasLeftPinnedColumn) {
4090
- const firstCell = rowShadow.querySelector('th:first-of-type, td:first-of-type');
4091
- const selectionCell = rowShadow.querySelector('.vega-table-selection-column');
4092
- const draggableCell = rowShadow.querySelector('.vega-table-draggable-column');
4093
- this.updatePinnedPosition(firstCell, 'left', 0);
4094
- this.updatePinnedPosition(draggableCell, 'left', leftPadding);
4095
- const draggableCellWidth = (draggableCell === null || draggableCell === void 0 ? void 0 : draggableCell.getBoundingClientRect().width) || 0;
4096
- this.updatePinnedPosition(selectionCell, 'left', leftPadding + draggableCellWidth);
4097
- }
4098
- if (hasRightPinnedColumn) {
4099
- const expandCell = rowShadow.querySelector('.vega-table-expand-action-column');
4100
- const lastCell = rowShadow.querySelector('th:last-of-type, td:last-of-type');
4101
- this.updatePinnedPosition(expandCell, 'right', rightPadding);
4102
- this.updatePinnedPosition(lastCell, 'right', 0);
4103
- }
4104
- if (hasRightPinnedColumn || hasLeftPinnedColumn) {
4105
- const expandCell = rowShadow.querySelector('.vega-table-expanded-row-slot-container');
4106
- if (expandCell) {
4107
- const slotInnerContainer = expandCell.querySelector('.expanded-row-slot-inner');
4108
- this.updatePinnedPosition(slotInnerContainer, 'left', leftPadding);
4109
- // we should set the width to make the expand slot not scroll by table scroll.
4110
- // ticket: https://gethired.atlassian.net/browse/VD-7015
4111
- slotInnerContainer.style.width = `${expandContainerWidth}px`;
4010
+ return ((_b = (_a = cell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td')) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().width) || 0;
4112
4011
  }
4113
4012
  }
4013
+ return 0;
4114
4014
  });
4115
4015
  }
4116
- clearAllPinnedPositions() {
4117
- this.previouslyStyledCells.forEach((cell) => {
4118
- cell.style.position = '';
4119
- cell.style.zIndex = '';
4120
- cell.style.left = '';
4121
- cell.style.right = '';
4122
- if (cell.classList.contains('expanded-row-slot-inner')) {
4123
- cell.style.width = '';
4124
- }
4125
- });
4126
- // Remove boundary classes only from cells where they were dynamically added
4127
- // (breakpoint-shifted boundaries). Static boundary classes from renderInput are
4128
- // re-applied by the cell's own render cycle.
4129
- this.dynamicRightDividerCells.forEach((cell) => cell.classList.remove('right-divider'));
4130
- this.dynamicRightDividerCells.clear();
4131
- this.dynamicLeftDividerCells.forEach((cell) => cell.classList.remove('left-divider'));
4132
- this.dynamicLeftDividerCells.clear();
4133
- this.dynamicHideRightBorderCells.forEach((cell) => cell.classList.remove('hide-right-border'));
4134
- this.dynamicHideRightBorderCells.clear();
4135
- this.restoreTemplateLeafColspan();
4136
- this.previouslyStyledCells.clear();
4137
- }
4138
- updatePinnedPosition(cell, type, position) {
4139
- if (!cell)
4140
- return;
4141
- cell.style.position = 'sticky';
4142
- cell.style.zIndex = '1';
4143
- cell.style[type] = `${position}px`;
4144
- this.previouslyStyledCells.add(cell);
4145
- }
4146
4016
  }
4147
4017
  __decorate$E([
4148
4018
  MapToComponentField()
@@ -4150,9 +4020,6 @@ __decorate$E([
4150
4020
  __decorate$E([
4151
4021
  MapToComponentField()
4152
4022
  ], VegaTablePinnedRenderer.prototype, "columnStructureModel", void 0);
4153
- __decorate$E([
4154
- MapToComponentField()
4155
- ], VegaTablePinnedRenderer.prototype, "paddingX", void 0);
4156
4023
  __decorate$E([
4157
4024
  MapToComponentField()
4158
4025
  ], VegaTablePinnedRenderer.prototype, "isTemplateRenderMode", void 0);
@@ -5026,6 +4893,7 @@ class VegaTableHeadTemplateStructureController extends VegaSlimmer {
5026
4893
  return;
5027
4894
  const resolvedRowRenderInputs = rowRenderInputs;
5028
4895
  this.vegaTableRenderInputController.addHeadRowRenderInputMap(templateRow, resolvedRowRenderInputs);
4896
+ this.vegaTableRenderInputController.addRowRenderInputMap(templateRow, 'head');
5029
4897
  templateCells.forEach((templateCell, cellIndex) => {
5030
4898
  this.vegaTableRenderInputController.addHeadCellRenderInputMap(templateCell, resolvedRowRenderInputs[cellIndex]);
5031
4899
  });
@@ -6137,6 +6005,7 @@ class VegaTableChildRenderInputConsumerSlimmer extends VegaSlimmer {
6137
6005
  registerRenderInputChangeObserver() {
6138
6006
  this.observer = new Observer((_input) => true, () => {
6139
6007
  this.renderInput = this.fetchRenderInput();
6008
+ forceUpdate(this.host);
6140
6009
  });
6141
6010
  ChangeManager.register(domNodeSubjectFactory.getSubject(this.table, VegaInternalVegaTableRenderInputChange), this.observer);
6142
6011
  }
@@ -6163,7 +6032,7 @@ __decorate$w([
6163
6032
  MapToComponentMethod('disconnectedCallback')
6164
6033
  ], VegaTableChildRenderInputConsumerSlimmer.prototype, "disconnectRenderInputObserver", null);
6165
6034
 
6166
- const vegaTableCellCss = ":host .vega-table-cell.v-hidden{display:none}@media (min-width: 320px){:host .vega-table-cell.S\\:v-table-cell{display:table-cell}}@media (min-width: 768px){:host .vega-table-cell.M\\:v-table-cell{display:table-cell}}@media (min-width: 1024px){:host .vega-table-cell.L\\:v-table-cell{display:table-cell}}@media (min-width: 1440px){:host .vega-table-cell.XL\\:v-table-cell{display:table-cell}}:host{display:contents}.vega-table-cell{padding:12px;box-sizing:border-box;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;overflow-wrap:break-word}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-table-cell{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-table-cell{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-table-cell{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}.vega-table-cell.break-word{word-break:break-word}td{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));color:rgba(var(--v-text-primary, 32, 54, 69, 1));text-align:left;padding:0px;vertical-align:middle}td.v-text-center{text-align:center}td.v-text-left{text-align:left}td.v-text-right{text-align:right}:host(.density-default) .vega-table-cell{padding:12px}:host(.density-compact) .vega-table-cell{padding:4px}:host(.density-relaxed) .vega-table-cell{padding:16px}.vega-table-cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.vega-table-cell-scroll{overflow:auto}:host(.column-divider) .vega-table-cell{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:1px;border-right-style:solid}:host(.row-divider) .vega-table-cell{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-bottom-width:1px;border-bottom-style:solid}:host(.striped) .vega-table-cell{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}:host(.clickable.hovered:not(.checked)) .vega-table-cell{cursor:pointer;background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1))}:host(.checked) .vega-table-cell{background-color:rgba(var(--v-bg-table-selected-row, 204, 223, 255, 1))}:host(.expanded) .vega-table-cell{border-top-width:1px;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-input-field, 171, 198, 216, 1))}:host .vega-table-cell.right-divider{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:2px;border-right-style:solid}:host .vega-table-cell.left-divider{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-left-width:2px;border-left-style:solid}:host .vega-table-cell.hide-right-border{border-right-width:0px}";
6035
+ const vegaTableCellCss = ":host .vega-table-cell.v-hidden{display:none}@media (min-width: 320px){:host .vega-table-cell.S\\:v-table-cell{display:table-cell}}@media (min-width: 768px){:host .vega-table-cell.M\\:v-table-cell{display:table-cell}}@media (min-width: 1024px){:host .vega-table-cell.L\\:v-table-cell{display:table-cell}}@media (min-width: 1440px){:host .vega-table-cell.XL\\:v-table-cell{display:table-cell}}:host{display:contents}.vega-table-cell{padding:12px;box-sizing:border-box;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px;overflow-wrap:break-word}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-table-cell{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-table-cell{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-table-cell{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:400;line-height:18px}}.vega-table-cell.break-word{word-break:break-word}td{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));color:rgba(var(--v-text-primary, 32, 54, 69, 1));text-align:left;padding:0px;vertical-align:middle}td.v-text-center{text-align:center}td.v-text-left{text-align:left}td.v-text-right{text-align:right}:host(.density-default) .vega-table-cell{padding:12px}:host(.density-compact) .vega-table-cell{padding:4px}:host(.density-relaxed) .vega-table-cell{padding:16px}.vega-table-cell-ellipsis{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:break-all}.vega-table-cell-scroll{overflow:auto}:host(.column-divider) .vega-table-cell{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:1px;border-right-style:solid}:host(.row-divider) .vega-table-cell{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-bottom-width:1px;border-bottom-style:solid}:host(.striped) .vega-table-cell{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}:host(.clickable.hovered:not(.checked)) .vega-table-cell{cursor:pointer;background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1))}:host(.checked) .vega-table-cell{background-color:rgba(var(--v-bg-table-selected-row, 204, 223, 255, 1))}:host(.expanded) .vega-table-cell{border-top-width:1px;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-input-field, 171, 198, 216, 1))}:host .vega-table-cell.pinned-left{position:sticky;z-index:1;left:var(--pinned-offset-left, 0)}:host .vega-table-cell.pinned-right{position:sticky;z-index:1;right:var(--pinned-offset-right, 0)}:host .vega-table-cell.right-divider{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:2px;border-right-style:solid}:host .vega-table-cell.left-divider{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-left-width:2px;border-left-style:solid}:host .vega-table-cell.hide-right-border{border-right-width:0px}";
6167
6036
 
6168
6037
  var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6169
6038
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -6208,23 +6077,36 @@ const VegaTableCell = class {
6208
6077
  }
6209
6078
  }
6210
6079
  render() {
6211
- var _a, _b, _c, _d, _e, _f;
6080
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
6081
+ const renderInput = this.renderInput;
6082
+ const pinned = renderInput === null || renderInput === void 0 ? void 0 : renderInput.pinned;
6083
+ const leftOffsetPx = (_a = renderInput === null || renderInput === void 0 ? void 0 : renderInput.leftOffsetPx) !== null && _a !== void 0 ? _a : 0;
6084
+ const rightOffsetPx = (_b = renderInput === null || renderInput === void 0 ? void 0 : renderInput.rightOffsetPx) !== null && _b !== void 0 ? _b : 0;
6212
6085
  const responsiveClass = generateResponsiveClass(this.breakpoint, 'v-table-cell');
6213
6086
  const columnAlignClass = generateTextAlignClass(this.textAlign);
6214
6087
  const overflowClass = this.getCellOverflowClass();
6215
- const columnClasses = [responsiveClass, columnAlignClass, 'vega-table-cell'];
6088
+ const columnClasses = [
6089
+ responsiveClass,
6090
+ columnAlignClass,
6091
+ 'vega-table-cell',
6092
+ pinned === 'left' && 'pinned-left',
6093
+ pinned === 'right' && 'pinned-right',
6094
+ ];
6216
6095
  if (!FeatureFlag.isEnabled('VEGA_TABLE.ENABLE_NEW_CELL_BREAK_WORDS_STYLE')) {
6217
6096
  columnClasses.push('break-word');
6218
6097
  }
6219
- if ((_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.isRightStartPinned) {
6098
+ if (((_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.isRightStartPinned) || ((_d = this.renderInput) === null || _d === void 0 ? void 0 : _d.isVisibleRightStartPinned)) {
6220
6099
  columnClasses.push('left-divider');
6221
6100
  }
6222
- if ((_b = this.renderInput) === null || _b === void 0 ? void 0 : _b.isLeftEndPinned) {
6101
+ if (((_e = this.renderInput) === null || _e === void 0 ? void 0 : _e.isLeftEndPinned) || ((_f = this.renderInput) === null || _f === void 0 ? void 0 : _f.isVisibleLeftEndPinned)) {
6223
6102
  columnClasses.push('right-divider');
6224
6103
  }
6225
- if (((_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.isNoPinnedEnd) || ((_d = this.renderInput) === null || _d === void 0 ? void 0 : _d.isViewEnd)) {
6104
+ if (((_g = this.renderInput) === null || _g === void 0 ? void 0 : _g.isNoPinnedEnd) ||
6105
+ ((_h = this.renderInput) === null || _h === void 0 ? void 0 : _h.isViewEnd) ||
6106
+ ((_j = this.renderInput) === null || _j === void 0 ? void 0 : _j.isVisibleRightEndPinned)) {
6226
6107
  columnClasses.push('hide-right-border');
6227
6108
  }
6109
+ const effectiveColSpan = (_l = (_k = this.renderInput) === null || _k === void 0 ? void 0 : _k.visibleColSpan) !== null && _l !== void 0 ? _l : this.colSpan;
6228
6110
  return sanitizeVegaComponent(h(Host, { class: arrayToClassString([
6229
6111
  `density-${ResponsiveFormatFacade.formatCustom(this.density)}`,
6230
6112
  this.rowDivider && 'row-divider',
@@ -6233,11 +6115,15 @@ const VegaTableCell = class {
6233
6115
  this.checked && 'checked',
6234
6116
  this.striped && 'striped',
6235
6117
  this.expanded && 'expanded',
6236
- ]), "aria-colspan": ((_e = this.colSpan) !== null && _e !== void 0 ? _e : 0) > 1 ? String(this.colSpan) : null }, h("td", { class: arrayToClassString(columnClasses), part: "cell", colSpan: ((_f = this.colSpan) !== null && _f !== void 0 ? _f : 0) > 1 ? this.colSpan : null,
6118
+ ]), "aria-colspan": (effectiveColSpan !== null && effectiveColSpan !== void 0 ? effectiveColSpan : 0) > 1 ? String(effectiveColSpan) : null }, h("td", { class: arrayToClassString(columnClasses), part: "cell", colSpan: (effectiveColSpan !== null && effectiveColSpan !== void 0 ? effectiveColSpan : 0) > 1 ? effectiveColSpan : null,
6237
6119
  /* eslint-disable-next-line react/jsx-no-bind */
6238
6120
  onMouseEnter: this.onMouseEnter.bind(this),
6239
6121
  /* eslint-disable-next-line react/jsx-no-bind */
6240
- onMouseLeave: this.onMouseLeave.bind(this), style: { width: this.width } }, this.overflow === 'ellipsis' && this.ellipsisShowTooltip ? (h("vega-tooltip", { text: this.ellipsisTooltipText, trigger: this.ellipsisTooltipTrigger, maxWidth: 300, style: { display: 'block', width: '100%', minWidth: '0' } }, h("div", { class: overflowClass, ref: (ref) => {
6122
+ onMouseLeave: this.onMouseLeave.bind(this), style: {
6123
+ 'width': this.width,
6124
+ '--pinned-offset-left': pinned === 'left' ? `${leftOffsetPx}px` : null,
6125
+ '--pinned-offset-right': pinned === 'right' ? `${rightOffsetPx}px` : null,
6126
+ } }, this.overflow === 'ellipsis' && this.ellipsisShowTooltip ? (h("vega-tooltip", { text: this.ellipsisTooltipText, trigger: this.ellipsisTooltipTrigger, maxWidth: 300, style: { display: 'block', width: '100%', minWidth: '0' } }, h("div", { class: overflowClass, ref: (ref) => {
6241
6127
  this.overflowContentRef = ref;
6242
6128
  } }, h("slot", { ref: (ref) => {
6243
6129
  this.slotRef = ref;
@@ -6322,22 +6208,27 @@ var __decorate$u = (undefined && undefined.__decorate) || function (decorators,
6322
6208
  };
6323
6209
  class VegaTableExpandRowRenderer extends VegaSlimmer {
6324
6210
  render() {
6211
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
6325
6212
  return (h("tr", { class: {
6326
6213
  'vega-table-expanded-row': true,
6327
6214
  'expanded': this.expanded,
6328
6215
  'checked': this.checked,
6329
6216
  'striped': this.striped,
6330
6217
  }, key: `vega-table-expanded-row-${this.rowKey}`, "data-expanded-row-key": this.rowKey },
6331
- h("td", null),
6218
+ h("td", { class: { 'pinned-left': (_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.hasLeftPinnedColumn } }),
6332
6219
  h("td", { colSpan: this.colSpan, key: `${VegaTableExpandRowController.expandRowSlotNamePrefix}${this.rowKey}`, class: "vega-table-expanded-row-slot-container" },
6333
- h("div", { class: "expanded-row-slot-inner" },
6220
+ h("div", { class: {
6221
+ 'expanded-row-slot-inner': true,
6222
+ 'pinned-left': ((_b = this.renderInput) === null || _b === void 0 ? void 0 : _b.hasLeftPinnedColumn) ||
6223
+ ((_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.hasRightPinnedColumn),
6224
+ }, style: {
6225
+ '--pinned-offset-left': `${(_e = (_d = this.renderInput) === null || _d === void 0 ? void 0 : _d.leftPaddingPx) !== null && _e !== void 0 ? _e : 0}px`,
6226
+ '--expand-row-content-width': `calc(var(--vega-table-content-width, 0px) - ${(_g = (_f = this.renderInput) === null || _f === void 0 ? void 0 : _f.leftPaddingPx) !== null && _g !== void 0 ? _g : 0}px - ${(_j = (_h = this.renderInput) === null || _h === void 0 ? void 0 : _h.rightPaddingPx) !== null && _j !== void 0 ? _j : 0}px - 2px)`,
6227
+ } },
6334
6228
  h("slot", null))),
6335
- h("td", null)));
6229
+ h("td", { class: { 'pinned-right': (_k = this.renderInput) === null || _k === void 0 ? void 0 : _k.hasRightPinnedColumn } })));
6336
6230
  }
6337
6231
  }
6338
- __decorate$u([
6339
- MapToComponentField()
6340
- ], VegaTableExpandRowRenderer.prototype, "host", void 0);
6341
6232
  __decorate$u([
6342
6233
  MapToComponentField()
6343
6234
  ], VegaTableExpandRowRenderer.prototype, "rowKey", void 0);
@@ -6353,6 +6244,9 @@ __decorate$u([
6353
6244
  __decorate$u([
6354
6245
  MapToComponentField()
6355
6246
  ], VegaTableExpandRowRenderer.prototype, "striped", void 0);
6247
+ __decorate$u([
6248
+ MapToComponentField()
6249
+ ], VegaTableExpandRowRenderer.prototype, "renderInput", void 0);
6356
6250
 
6357
6251
  var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6358
6252
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -6632,7 +6526,7 @@ __decorate$q([
6632
6526
  MapToComponentMethod('watchWithRowDraggable')
6633
6527
  ], VegaTableExpandRowColSpanController.prototype, "watchWithRowDraggable", null);
6634
6528
 
6635
- const vegaTableExpandRowCss = ":host{display:contents}:host .vega-table-expanded-row.striped:not(.checked) td{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}:host(.v-hidden){display:none}.vega-table-expanded-row{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1))}.vega-table-expanded-row:not(.expanded){display:none}.vega-table-expanded-row.expanded td{border-bottom-width:1px;border-top-width:0px;border-right-width:0px;border-left-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-input-field, 171, 198, 216, 1));padding:0px;vertical-align:middle}.vega-table-expanded-row.expanded td:first-of-type{border-left-width:1px;border-bottom-width:1px;border-top-left-radius:12px;border-bottom-left-radius:12px;border-top-left-radius:0px}.vega-table-expanded-row.expanded td:last-of-type{border-right-width:1px;border-bottom-width:1px;border-top-right-radius:12px;border-bottom-right-radius:12px;border-top-right-radius:0px}.vega-table-expanded-row.expanded td.vega-table-expanded-row-slot-container{border-top-width:1px;border-style:solid;border-color:rgba(var(--v-border-color-input-field, 171, 198, 216, 1))}.vega-table-expanded-row.expanded.checked{background-color:rgba(var(--v-bg-table-row-selected-expanded, 229, 239, 255, 1))}:host tr.is-pinned-row td:first-of-type{position:sticky;z-index:1;left:0px}:host tr.is-pinned-row td.vega-table-expanded-row-slot-container div{position:sticky;z-index:1;left:8px}";
6529
+ const vegaTableExpandRowCss = ":host{display:contents}td.pinned-left,td.pinned-right,.expanded-row-slot-inner.pinned-left{position:sticky;z-index:1}td.pinned-left{left:0}td.pinned-right{right:0}.expanded-row-slot-inner.pinned-left{left:var(--pinned-offset-left, 0);width:var(--expand-row-content-width)}:host .vega-table-expanded-row.striped:not(.checked) td{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}:host(.v-hidden){display:none}.vega-table-expanded-row{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1))}.vega-table-expanded-row:not(.expanded){display:none}.vega-table-expanded-row.expanded td{border-bottom-width:1px;border-top-width:0px;border-right-width:0px;border-left-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-input-field, 171, 198, 216, 1));padding:0px;vertical-align:middle}.vega-table-expanded-row.expanded td:first-of-type{border-left-width:1px;border-bottom-width:1px;border-top-left-radius:12px;border-bottom-left-radius:12px;border-top-left-radius:0px}.vega-table-expanded-row.expanded td:last-of-type{border-right-width:1px;border-bottom-width:1px;border-top-right-radius:12px;border-bottom-right-radius:12px;border-top-right-radius:0px}.vega-table-expanded-row.expanded td.vega-table-expanded-row-slot-container{border-top-width:1px;border-style:solid;border-color:rgba(var(--v-border-color-input-field, 171, 198, 216, 1))}.vega-table-expanded-row.expanded.checked{background-color:rgba(var(--v-bg-table-row-selected-expanded, 229, 239, 255, 1))}:host tr.is-pinned-row td:first-of-type{position:sticky;z-index:1;left:0px}:host tr.is-pinned-row td.vega-table-expanded-row-slot-container div{position:sticky;z-index:1;left:8px}";
6636
6530
 
6637
6531
  var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6638
6532
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -6654,6 +6548,7 @@ const VegaTableExpandRow = class {
6654
6548
  this.vegaTableExpandRowStateController = new VegaTableExpandRowStateController();
6655
6549
  this.vegaTableExpandRowColSpanController = new VegaTableExpandRowColSpanController();
6656
6550
  this.pageResizeObserverSlimmer = new PageResizeObserverSlimmer();
6551
+ this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(VegaInternalColumnExpandCellRenderInputRIC);
6657
6552
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
6658
6553
  this.currentBreakpoint = getCurrentBreakpoint();
6659
6554
  /**
@@ -6708,6 +6603,9 @@ __decorate$p([
6708
6603
  __decorate$p([
6709
6604
  InjectVegaSlimmer()
6710
6605
  ], VegaTableExpandRow.prototype, "pageResizeObserverSlimmer", void 0);
6606
+ __decorate$p([
6607
+ InjectVegaSlimmer()
6608
+ ], VegaTableExpandRow.prototype, "vegaTableRenderInputConsumerSlimmer", void 0);
6711
6609
  __decorate$p([
6712
6610
  InjectVegaSlimmer()
6713
6611
  ], VegaTableExpandRow.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
@@ -6878,12 +6776,28 @@ var __decorate$l = (undefined && undefined.__decorate) || function (decorators,
6878
6776
  };
6879
6777
  class VegaTableFootCellRenderer extends VegaSlimmer {
6880
6778
  render() {
6881
- var _a;
6779
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
6780
+ const renderInput = this.renderInput;
6781
+ const pinned = renderInput === null || renderInput === void 0 ? void 0 : renderInput.pinned;
6782
+ const effectiveColSpan = (_a = renderInput === null || renderInput === void 0 ? void 0 : renderInput.visibleColSpan) !== null && _a !== void 0 ? _a : this.colSpan;
6783
+ const leftOffsetPx = (_b = renderInput === null || renderInput === void 0 ? void 0 : renderInput.leftOffsetPx) !== null && _b !== void 0 ? _b : 0;
6784
+ const rightOffsetPx = (_c = renderInput === null || renderInput === void 0 ? void 0 : renderInput.rightOffsetPx) !== null && _c !== void 0 ? _c : 0;
6882
6785
  return (h("td", { class: {
6883
6786
  'vega-table-cell': true,
6787
+ 'pinned-left': pinned === 'left',
6788
+ 'pinned-right': pinned === 'right',
6789
+ 'right-divider': ((_d = this.renderInput) === null || _d === void 0 ? void 0 : _d.isLeftEndPinned) || ((_e = this.renderInput) === null || _e === void 0 ? void 0 : _e.isVisibleLeftEndPinned),
6790
+ 'left-divider': ((_f = this.renderInput) === null || _f === void 0 ? void 0 : _f.isRightStartPinned) || ((_g = this.renderInput) === null || _g === void 0 ? void 0 : _g.isVisibleRightStartPinned),
6791
+ 'hide-right-border': ((_h = this.renderInput) === null || _h === void 0 ? void 0 : _h.isNoPinnedEnd) ||
6792
+ ((_j = this.renderInput) === null || _j === void 0 ? void 0 : _j.isViewEnd) ||
6793
+ ((_k = this.renderInput) === null || _k === void 0 ? void 0 : _k.isVisibleRightEndPinned),
6884
6794
  'break-word': !FeatureFlag.isEnabled('VEGA_TABLE.ENABLE_NEW_CELL_BREAK_WORDS_STYLE'),
6885
6795
  [generateResponsiveClass(this.breakpoint, 'v-table-cell')]: true,
6886
- }, colSpan: ((_a = this.colSpan) !== null && _a !== void 0 ? _a : 0) > 1 ? this.colSpan : null, style: { width: this.width } },
6796
+ }, colSpan: (effectiveColSpan !== null && effectiveColSpan !== void 0 ? effectiveColSpan : 0) > 1 ? effectiveColSpan : null, style: {
6797
+ 'width': this.width,
6798
+ '--pinned-offset-left': pinned === 'left' ? `${leftOffsetPx}px` : null,
6799
+ '--pinned-offset-right': pinned === 'right' ? `${rightOffsetPx}px` : null,
6800
+ } },
6887
6801
  h("div", { class: arrayToClassString(['vega-table-column', this.textAlign]) },
6888
6802
  h("span", { class: "vega-table-column-label" },
6889
6803
  h("slot", null)))));
@@ -6904,8 +6818,11 @@ __decorate$l([
6904
6818
  __decorate$l([
6905
6819
  MapToComponentField()
6906
6820
  ], VegaTableFootCellRenderer.prototype, "width", void 0);
6821
+ __decorate$l([
6822
+ MapToComponentField()
6823
+ ], VegaTableFootCellRenderer.prototype, "renderInput", void 0);
6907
6824
 
6908
- const vegaTableFootCellCss = ":host .vega-table-cell.v-hidden{display:none}@media (min-width: 320px){:host .vega-table-cell.S\\:v-table-cell{display:table-cell}}@media (min-width: 768px){:host .vega-table-cell.M\\:v-table-cell{display:table-cell}}@media (min-width: 1024px){:host .vega-table-cell.L\\:v-table-cell{display:table-cell}}@media (min-width: 1440px){:host .vega-table-cell.XL\\:v-table-cell{display:table-cell}}:host{display:contents}td{background-color:rgba(var(--v-bg-table-header, 240, 243, 247, 1));color:rgba(var(--v-text-primary, 32, 54, 69, 1));text-align:left;vertical-align:middle;padding:12px;box-sizing:border-box;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;overflow-wrap:break-word}@media screen and (min-width: 768px) and (max-width: 1023px){td{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){td{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){td{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}td.break-word{word-break:break-word}.vega-table-column{display:flex;align-items:center}.vega-table-column.center{justify-content:center;text-align:center}.vega-table-column.right{justify-content:flex-end;text-align:right}.vega-table-column.left{justify-content:flex-start;text-align:left}.vega-table-column .vega-table-column-label{min-width:0px}:host(.density-default) .vega-table-cell{padding:12px}:host(.density-compact) .vega-table-cell{padding:4px}:host(.density-relaxed) .vega-table-cell{padding:16px}:host(.column-divider) .vega-table-cell{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:1px;border-right-style:solid}:host .vega-table-cell.right-divider{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:2px;border-right-style:solid}:host .vega-table-cell.left-divider{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-left-width:2px;border-left-style:solid}:host .vega-table-cell.hide-right-border{border-right-width:0px}";
6825
+ const vegaTableFootCellCss = ":host .vega-table-cell.v-hidden{display:none}@media (min-width: 320px){:host .vega-table-cell.S\\:v-table-cell{display:table-cell}}@media (min-width: 768px){:host .vega-table-cell.M\\:v-table-cell{display:table-cell}}@media (min-width: 1024px){:host .vega-table-cell.L\\:v-table-cell{display:table-cell}}@media (min-width: 1440px){:host .vega-table-cell.XL\\:v-table-cell{display:table-cell}}:host{display:contents}td{background-color:rgba(var(--v-bg-table-header, 240, 243, 247, 1));color:rgba(var(--v-text-primary, 32, 54, 69, 1));text-align:left;vertical-align:middle;padding:12px;box-sizing:border-box;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;overflow-wrap:break-word}@media screen and (min-width: 768px) and (max-width: 1023px){td{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){td{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){td{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}td.break-word{word-break:break-word}.vega-table-column{display:flex;align-items:center}.vega-table-column.center{justify-content:center;text-align:center}.vega-table-column.right{justify-content:flex-end;text-align:right}.vega-table-column.left{justify-content:flex-start;text-align:left}.vega-table-column .vega-table-column-label{min-width:0px}:host(.density-default) .vega-table-cell{padding:12px}:host(.density-compact) .vega-table-cell{padding:4px}:host(.density-relaxed) .vega-table-cell{padding:16px}:host(.column-divider) .vega-table-cell{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:1px;border-right-style:solid}:host .vega-table-cell.pinned-left{position:sticky;z-index:1;left:var(--pinned-offset-left, 0)}:host .vega-table-cell.pinned-right{position:sticky;z-index:1;right:var(--pinned-offset-right, 0)}:host .vega-table-cell.right-divider{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:2px;border-right-style:solid}:host .vega-table-cell.left-divider{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-left-width:2px;border-left-style:solid}:host .vega-table-cell.hide-right-border{border-right-width:0px}";
6909
6826
 
6910
6827
  var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6911
6828
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -6925,14 +6842,19 @@ const VegaTableFootCell = class {
6925
6842
  this.vegaTableFootCellRenderer = new VegaTableFootCellRenderer();
6926
6843
  this.pageResizeObserverSlimmer = new PageResizeObserverSlimmer();
6927
6844
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
6845
+ this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(VegaInternalColumnFootCellRenderInputRIC);
6928
6846
  this.currentBreakpoint = getCurrentBreakpoint();
6929
6847
  }
6930
6848
  render() {
6931
6849
  var _a;
6850
+ let effectiveColSpan = this.colSpan;
6851
+ if (((_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.visibleColSpan) != null) {
6852
+ effectiveColSpan = this.renderInput.visibleColSpan;
6853
+ }
6932
6854
  return sanitizeVegaComponent(h(Host, { class: {
6933
6855
  [`density-${ResponsiveFormatFacade.formatCustom(this.density)}`]: true,
6934
6856
  'column-divider': this.columnDivider,
6935
- }, "aria-colspan": ((_a = this.colSpan) !== null && _a !== void 0 ? _a : 0) > 1 ? String(this.colSpan) : null }, this.vegaTableFootCellRenderer.render()), this.host);
6857
+ }, "aria-colspan": (effectiveColSpan !== null && effectiveColSpan !== void 0 ? effectiveColSpan : 0) > 1 ? String(effectiveColSpan) : null }, this.vegaTableFootCellRenderer.render()), this.host);
6936
6858
  }
6937
6859
  get host() { return getElement(this); }
6938
6860
  };
@@ -6951,6 +6873,9 @@ __decorate$k([
6951
6873
  __decorate$k([
6952
6874
  InjectVegaSlimmer()
6953
6875
  ], VegaTableFootCell.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
6876
+ __decorate$k([
6877
+ InjectVegaSlimmer()
6878
+ ], VegaTableFootCell.prototype, "vegaTableRenderInputConsumerSlimmer", void 0);
6954
6879
  VegaTableFootCell.style = vegaTableFootCellCss;
6955
6880
 
6956
6881
  var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -6963,25 +6888,38 @@ class VegaTableFootRowRenderer extends VegaSlimmer {
6963
6888
  constructor() {
6964
6889
  super(...arguments);
6965
6890
  this.renderFooterSelectionCell = () => {
6966
- if (this.selectionType !== 'multiple')
6891
+ const renderInput = this.renderInput;
6892
+ if (!(renderInput === null || renderInput === void 0 ? void 0 : renderInput.showSelectionCell))
6967
6893
  return;
6968
- return h("td", { class: "vega-table-selection-column" });
6894
+ return (h("td", { class: {
6895
+ 'vega-table-selection-column': true,
6896
+ 'pinned-left': renderInput.hasLeftPinnedColumn,
6897
+ } }));
6969
6898
  };
6970
6899
  this.renderFooterExpandableCell = () => {
6971
- return this.hasExpandableRow && h("td", { class: "vega-table-expand-action-column" });
6900
+ const renderInput = this.renderInput;
6901
+ return ((renderInput === null || renderInput === void 0 ? void 0 : renderInput.showExpandActionCell) && (h("td", { class: {
6902
+ 'vega-table-expand-action-column': true,
6903
+ 'pinned-right': renderInput.hasRightPinnedColumn,
6904
+ } })));
6972
6905
  };
6973
6906
  this.renderFooterDraggableCell = () => {
6974
- return this.draggable && h("td", { class: "vega-table-draggable-column" });
6907
+ const renderInput = this.renderInput;
6908
+ return ((renderInput === null || renderInput === void 0 ? void 0 : renderInput.showDraggableCell) && (h("td", { class: {
6909
+ 'vega-table-draggable-column': true,
6910
+ 'pinned-left': renderInput.hasLeftPinnedColumn,
6911
+ } })));
6975
6912
  };
6976
6913
  }
6977
6914
  render() {
6915
+ var _a, _b;
6978
6916
  return (h("tr", null,
6979
- h("td", { style: { width: this.paddingX[0] } }),
6917
+ h("td", { class: { 'pinned-left': (_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.hasLeftPinnedColumn }, style: { width: this.paddingX[0] } }),
6980
6918
  this.renderFooterDraggableCell(),
6981
6919
  this.renderFooterSelectionCell(),
6982
6920
  h("slot", null),
6983
6921
  this.renderFooterExpandableCell(),
6984
- h("td", { style: { width: this.paddingX[1] } })));
6922
+ h("td", { class: { 'pinned-right': (_b = this.renderInput) === null || _b === void 0 ? void 0 : _b.hasRightPinnedColumn }, style: { width: this.paddingX[1] } })));
6985
6923
  }
6986
6924
  }
6987
6925
  __decorate$j([
@@ -6992,13 +6930,7 @@ __decorate$j([
6992
6930
  ], VegaTableFootRowRenderer.prototype, "paddingX", void 0);
6993
6931
  __decorate$j([
6994
6932
  MapToComponentField()
6995
- ], VegaTableFootRowRenderer.prototype, "selectionType", void 0);
6996
- __decorate$j([
6997
- MapToComponentField()
6998
- ], VegaTableFootRowRenderer.prototype, "hasExpandableRow", void 0);
6999
- __decorate$j([
7000
- MapToComponentField()
7001
- ], VegaTableFootRowRenderer.prototype, "draggable", void 0);
6933
+ ], VegaTableFootRowRenderer.prototype, "renderInput", void 0);
7002
6934
 
7003
6935
  var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
7004
6936
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -7083,7 +7015,7 @@ __decorate$i([
7083
7015
  MapToComponentField({ writable: true })
7084
7016
  ], VegaTableFootRowStateController.prototype, "draggable", void 0);
7085
7017
 
7086
- const vegaTableFootRowCss = ":host{display:contents}td{background-color:rgba(var(--v-bg-table-header, 240, 243, 247, 1));padding:0px;vertical-align:middle}td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-default) td:first-of-type,:host(.density-relaxed) td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-default) td:last-of-type,:host(.density-relaxed) td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-compact) td:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}:host(.density-compact) td:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}.vega-table-expand-action-column{width:40px;min-width:40px}.vega-table-selection-column{width:40px;min-width:40px}";
7018
+ const vegaTableFootRowCss = ":host{display:contents}td{background-color:rgba(var(--v-bg-table-header, 240, 243, 247, 1));padding:0px;vertical-align:middle}td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}td.pinned-left,td.pinned-right{position:sticky;z-index:1}td.pinned-left:first-of-type{left:0}td.vega-table-draggable-column.pinned-left{left:var(--row-left-padding, 0px)}td.vega-table-selection-column.pinned-left{left:calc(var(--row-left-padding, 0px) + var(--row-draggable-width, 0px))}td.vega-table-expand-action-column.pinned-right{right:var(--row-right-padding, 0px)}td.pinned-right:last-of-type{right:0}:host(.density-default) td:first-of-type,:host(.density-relaxed) td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-default) td:last-of-type,:host(.density-relaxed) td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-compact) td:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}:host(.density-compact) td:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}.vega-table-expand-action-column{width:40px;min-width:40px}.vega-table-selection-column{width:40px;min-width:40px}";
7087
7019
 
7088
7020
  var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
7089
7021
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -7103,6 +7035,7 @@ const VegaTableFootRow = class {
7103
7035
  this.vegaTableFootRowRenderer = new VegaTableFootRowRenderer();
7104
7036
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
7105
7037
  this.pageResizeObserverSlimmer = new PageResizeObserverSlimmer();
7038
+ this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(VegaInternalRowRenderInputRIC);
7106
7039
  this.currentBreakpoint = getCurrentBreakpoint();
7107
7040
  /**
7108
7041
  * Indicates whether the table has a expandable row.
@@ -7110,10 +7043,15 @@ const VegaTableFootRow = class {
7110
7043
  this.hasExpandableRow = false;
7111
7044
  }
7112
7045
  render() {
7046
+ var _a, _b, _c, _d, _e;
7113
7047
  slotPlaceholder(h("slot", null));
7114
7048
  return sanitizeVegaComponent(h(Host, { class: {
7115
7049
  'column-divider': this.columnDivider,
7116
7050
  [`density-${ResponsiveFormatFacade.formatCustom(this.density)}`]: true,
7051
+ }, style: {
7052
+ '--row-left-padding': `${(_b = (_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.leftPaddingPx) !== null && _b !== void 0 ? _b : 0}px`,
7053
+ '--row-right-padding': `${(_d = (_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.rightPaddingPx) !== null && _d !== void 0 ? _d : 0}px`,
7054
+ '--row-draggable-width': ((_e = this.renderInput) === null || _e === void 0 ? void 0 : _e.showDraggableCell) ? '16px' : '0px',
7117
7055
  } }, this.vegaTableFootRowRenderer.render()), this.host);
7118
7056
  }
7119
7057
  get host() { return getElement(this); }
@@ -7133,6 +7071,9 @@ __decorate$h([
7133
7071
  __decorate$h([
7134
7072
  InjectVegaSlimmer()
7135
7073
  ], VegaTableFootRow.prototype, "pageResizeObserverSlimmer", void 0);
7074
+ __decorate$h([
7075
+ InjectVegaSlimmer()
7076
+ ], VegaTableFootRow.prototype, "vegaTableRenderInputConsumerSlimmer", void 0);
7136
7077
  VegaTableFootRow.style = vegaTableFootRowCss;
7137
7078
 
7138
7079
  var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -7431,7 +7372,7 @@ __decorate$b([
7431
7372
  MapToComponentField()
7432
7373
  ], VegaTableHeadCellTemplateStructureController.prototype, "host", void 0);
7433
7374
 
7434
- const vegaTableHeadCellCss = ":host .vega-table-cell.v-hidden{display:none}@media (min-width: 320px){:host .vega-table-cell.S\\:v-table-cell{display:table-cell}}@media (min-width: 768px){:host .vega-table-cell.M\\:v-table-cell{display:table-cell}}@media (min-width: 1024px){:host .vega-table-cell.L\\:v-table-cell{display:table-cell}}@media (min-width: 1440px){:host .vega-table-cell.XL\\:v-table-cell{display:table-cell}}:host{display:contents}:host(.sortable){cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.sortable:hover){background-color:rgba(var(--v-bg-table-row-hover, 241, 248, 251, 1))}th{background-color:rgba(var(--v-bg-table-header, 240, 243, 247, 1));color:rgba(var(--v-text-primary, 32, 54, 69, 1));text-align:left;vertical-align:middle;padding:0px;padding:12px;box-sizing:border-box;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;overflow-wrap:break-word}@media screen and (min-width: 768px) and (max-width: 1023px){th{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){th{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){th{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}th.break-word{word-break:break-word}.vega-table-column{display:flex;align-items:center}.vega-table-column.center{justify-content:center;text-align:center}.vega-table-column.right{justify-content:flex-end;text-align:right}.vega-table-column.left{justify-content:flex-start;text-align:left}.vega-table-column .vega-table-column-label{min-width:0px}.vega-table-column .vega-table-column-sorter{display:flex;align-items:center;justify-content:center;padding:2px;margin-left:8px;cursor:pointer;outline:none}:host(.density-default) .vega-table-cell{padding:12px}:host(.density-compact) .vega-table-cell{padding:4px}:host(.density-relaxed) .vega-table-cell{padding:16px}:host(.column-divider) .vega-table-cell{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:1px;border-right-style:solid}:host .vega-table-cell.is-group-cell{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:1px;border-bottom-width:1px;border-right-style:solid;border-bottom-style:solid}:host .vega-table-cell.hide-right-border{border-right-width:0px}:host .vega-table-cell.bottom-border{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-bottom-width:1px;border-bottom-style:solid}:host .vega-table-cell.right-divider{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:2px;border-right-style:solid}:host .vega-table-cell.left-divider{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-left-width:2px;border-left-style:solid}";
7375
+ const vegaTableHeadCellCss = ":host .vega-table-cell.v-hidden{display:none}@media (min-width: 320px){:host .vega-table-cell.S\\:v-table-cell{display:table-cell}}@media (min-width: 768px){:host .vega-table-cell.M\\:v-table-cell{display:table-cell}}@media (min-width: 1024px){:host .vega-table-cell.L\\:v-table-cell{display:table-cell}}@media (min-width: 1440px){:host .vega-table-cell.XL\\:v-table-cell{display:table-cell}}:host{display:contents}:host(.sortable){cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}:host(.sortable:hover){background-color:rgba(var(--v-bg-table-row-hover, 241, 248, 251, 1))}th{background-color:rgba(var(--v-bg-table-header, 240, 243, 247, 1));color:rgba(var(--v-text-primary, 32, 54, 69, 1));text-align:left;vertical-align:middle;padding:0px;padding:12px;box-sizing:border-box;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;overflow-wrap:break-word}@media screen and (min-width: 768px) and (max-width: 1023px){th{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){th{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){th{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}th.break-word{word-break:break-word}.vega-table-column{display:flex;align-items:center}.vega-table-column.center{justify-content:center;text-align:center}.vega-table-column.right{justify-content:flex-end;text-align:right}.vega-table-column.left{justify-content:flex-start;text-align:left}.vega-table-column .vega-table-column-label{min-width:0px}.vega-table-column .vega-table-column-sorter{display:flex;align-items:center;justify-content:center;padding:2px;margin-left:8px;cursor:pointer;outline:none}:host(.density-default) .vega-table-cell{padding:12px}:host(.density-compact) .vega-table-cell{padding:4px}:host(.density-relaxed) .vega-table-cell{padding:16px}:host(.column-divider) .vega-table-cell{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:1px;border-right-style:solid}:host .vega-table-cell.pinned-left{position:sticky;z-index:1;left:var(--pinned-offset-left, 0)}:host .vega-table-cell.pinned-right{position:sticky;z-index:1;right:var(--pinned-offset-right, 0)}:host .vega-table-cell.is-group-cell{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:1px;border-bottom-width:1px;border-right-style:solid;border-bottom-style:solid}:host .vega-table-cell.hide-right-border{border-right-width:0px}:host .vega-table-cell.bottom-border{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-bottom-width:1px;border-bottom-style:solid}:host .vega-table-cell.right-divider{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:2px;border-right-style:solid}:host .vega-table-cell.left-divider{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-left-width:2px;border-left-style:solid}";
7435
7376
 
7436
7377
  var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
7437
7378
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -7491,7 +7432,11 @@ const VegaTableHeadCell = class {
7491
7432
  this.vegaTableHeadCellTemplateStructureController.notifyTemplateHeadStructureChange();
7492
7433
  }
7493
7434
  render() {
7494
- var _a, _b, _c, _d, _e, _f, _g;
7435
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
7436
+ const renderInput = this.renderInput;
7437
+ const pinned = renderInput === null || renderInput === void 0 ? void 0 : renderInput.pinned;
7438
+ const leftOffsetPx = (_a = renderInput === null || renderInput === void 0 ? void 0 : renderInput.leftOffsetPx) !== null && _a !== void 0 ? _a : 0;
7439
+ const rightOffsetPx = (_b = renderInput === null || renderInput === void 0 ? void 0 : renderInput.rightOffsetPx) !== null && _b !== void 0 ? _b : 0;
7495
7440
  const sortableConfig = this.sorter
7496
7441
  ? {
7497
7442
  role: 'button',
@@ -7506,13 +7451,22 @@ const VegaTableHeadCell = class {
7506
7451
  'column-divider': this.columnDivider,
7507
7452
  } }, h("th", Object.assign({ class: {
7508
7453
  'vega-table-cell': true,
7454
+ 'pinned-left': pinned === 'left',
7455
+ 'pinned-right': pinned === 'right',
7509
7456
  'break-word': !FeatureFlag.isEnabled('VEGA_TABLE.ENABLE_NEW_CELL_BREAK_WORDS_STYLE'),
7510
- 'is-group-cell': (_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.headHasGroupColumn,
7511
- 'hide-right-border': ((_b = this.renderInput) === null || _b === void 0 ? void 0 : _b.isViewEnd) || ((_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.isNoPinnedEnd),
7512
- 'right-divider': (_d = this.renderInput) === null || _d === void 0 ? void 0 : _d.isLeftEndPinned,
7513
- 'left-divider': (_e = this.renderInput) === null || _e === void 0 ? void 0 : _e.isRightStartPinned,
7457
+ 'is-group-cell': (_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.headHasGroupColumn,
7458
+ 'hide-right-border': ((_d = this.renderInput) === null || _d === void 0 ? void 0 : _d.isViewEnd) ||
7459
+ ((_e = this.renderInput) === null || _e === void 0 ? void 0 : _e.isNoPinnedEnd) ||
7460
+ ((_f = this.renderInput) === null || _f === void 0 ? void 0 : _f.isVisibleRightEndPinned),
7461
+ 'right-divider': ((_g = this.renderInput) === null || _g === void 0 ? void 0 : _g.isLeftEndPinned) || ((_h = this.renderInput) === null || _h === void 0 ? void 0 : _h.isVisibleLeftEndPinned),
7462
+ 'left-divider': ((_j = this.renderInput) === null || _j === void 0 ? void 0 : _j.isRightStartPinned) ||
7463
+ ((_k = this.renderInput) === null || _k === void 0 ? void 0 : _k.isVisibleRightStartPinned),
7514
7464
  [generateResponsiveClass(this.breakpoint, 'v-table-cell')]: true,
7515
- } }, sortableConfig, { colSpan: (_f = this.renderInput) === null || _f === void 0 ? void 0 : _f.colSpan, rowSpan: (_g = this.renderInput) === null || _g === void 0 ? void 0 : _g.rowSpan, style: { width: this.width } }), h("div", { class: arrayToClassString(['vega-table-column', this.textAlign]) }, h("span", { class: "vega-table-column-label" }, h("slot", null)), this.sortIconRenderer.render()))), this.host);
7465
+ } }, sortableConfig, { colSpan: (_l = this.renderInput) === null || _l === void 0 ? void 0 : _l.colSpan, rowSpan: (_m = this.renderInput) === null || _m === void 0 ? void 0 : _m.rowSpan, style: {
7466
+ 'width': this.width,
7467
+ '--pinned-offset-left': pinned === 'left' ? `${leftOffsetPx}px` : null,
7468
+ '--pinned-offset-right': pinned === 'right' ? `${rightOffsetPx}px` : null,
7469
+ } }), h("div", { class: arrayToClassString(['vega-table-column', this.textAlign]) }, h("span", { class: "vega-table-column-label" }, h("slot", null)), this.sortIconRenderer.render()))), this.host);
7516
7470
  }
7517
7471
  get host() { return getElement(this); }
7518
7472
  static get watchers() { return {
@@ -7569,17 +7523,18 @@ class VegaTableHeadRowRenderer extends VegaSlimmer {
7569
7523
  constructor() {
7570
7524
  super(...arguments);
7571
7525
  this.renderHeaderSelectionCell = (renderInput) => {
7572
- if (this.selectionType !== 'multiple')
7526
+ if (!renderInput)
7573
7527
  return;
7574
- return (h("th", { rowSpan: renderInput.startRowSpan, class: {
7528
+ return (renderInput.showSelectionCell && (h("th", { rowSpan: renderInput.startRowSpan, class: {
7575
7529
  'vega-table-selection-column': true,
7576
7530
  'hidden': renderInput.isStartHidden,
7531
+ 'pinned-left': renderInput.hasLeftPinnedColumn,
7577
7532
  } }, !this.hideSelectAll && (h("div", { class: "vega-table-checkbox-wrapper" },
7578
7533
  h("vega-checkbox", { size: "small", disabled: this.isEmptyTable || this.selectAllDisabled, checked: this.checkedAll, onClick: this.handleClick,
7579
7534
  /* eslint-disable-next-line react/jsx-no-bind */
7580
7535
  ref: (ref) => {
7581
7536
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, this.handleSelectAll);
7582
- } })))));
7537
+ } }))))));
7583
7538
  };
7584
7539
  this.handleSelectAll = (input) => {
7585
7540
  if (input.eventName === 'vegaChange') {
@@ -7593,15 +7548,21 @@ class VegaTableHeadRowRenderer extends VegaSlimmer {
7593
7548
  }
7594
7549
  };
7595
7550
  this.renderHeaderDraggableCell = (renderInput) => {
7596
- return (this.draggable && (h("th", { rowSpan: renderInput.startRowSpan, class: {
7551
+ if (!renderInput)
7552
+ return;
7553
+ return (renderInput.showDraggableCell && (h("th", { rowSpan: renderInput.startRowSpan, class: {
7597
7554
  'vega-table-draggable-column': true,
7598
7555
  'hidden': renderInput.isStartHidden,
7556
+ 'pinned-left': renderInput.hasLeftPinnedColumn,
7599
7557
  } })));
7600
7558
  };
7601
7559
  this.renderHeaderExpandableCell = (renderInput) => {
7602
- return (this.hasExpandableRow && (h("th", { rowSpan: renderInput.endRowSpan, class: {
7560
+ if (!renderInput)
7561
+ return;
7562
+ return (renderInput.showExpandActionCell && (h("th", { rowSpan: renderInput.endRowSpan, class: {
7603
7563
  'vega-table-expand-action-column': true,
7604
7564
  'hidden': renderInput.isEndHidden,
7565
+ 'pinned-right': renderInput.hasRightPinnedColumn,
7605
7566
  } })));
7606
7567
  };
7607
7568
  this.handleClick = (e) => {
@@ -7632,49 +7593,26 @@ class VegaTableHeadRowRenderer extends VegaSlimmer {
7632
7593
  }
7633
7594
  render() {
7634
7595
  var _a, _b;
7635
- const renderInput = this.getRowRenderInput();
7596
+ const renderInput = this.renderInput;
7636
7597
  return (h("tr", { class: {
7637
- 'is-group-row': renderInput.headHasGroupColumn,
7638
- 'is-pinned-row': renderInput.headHasPinnedColumn,
7598
+ 'is-group-row': !!(renderInput === null || renderInput === void 0 ? void 0 : renderInput.startRowSpan),
7599
+ 'is-pinned-row': (renderInput === null || renderInput === void 0 ? void 0 : renderInput.hasLeftPinnedColumn) || (renderInput === null || renderInput === void 0 ? void 0 : renderInput.hasRightPinnedColumn),
7639
7600
  } },
7640
7601
  h("th", { style: {
7641
7602
  width: (_a = this.paddingX) === null || _a === void 0 ? void 0 : _a[0],
7642
- }, rowSpan: renderInput.startRowSpan, class: {
7643
- hidden: renderInput.isStartHidden,
7603
+ }, rowSpan: renderInput === null || renderInput === void 0 ? void 0 : renderInput.startRowSpan, class: {
7604
+ 'hidden': renderInput === null || renderInput === void 0 ? void 0 : renderInput.isStartHidden,
7605
+ 'pinned-left': renderInput === null || renderInput === void 0 ? void 0 : renderInput.hasLeftPinnedColumn,
7644
7606
  } }),
7645
7607
  this.renderHeaderDraggableCell(renderInput),
7646
7608
  this.renderHeaderSelectionCell(renderInput),
7647
7609
  h("slot", null),
7648
7610
  this.renderHeaderExpandableCell(renderInput),
7649
- h("th", { style: { width: (_b = this.paddingX) === null || _b === void 0 ? void 0 : _b[1] }, rowSpan: renderInput.endRowSpan, class: {
7650
- hidden: renderInput.isEndHidden,
7611
+ h("th", { style: { width: (_b = this.paddingX) === null || _b === void 0 ? void 0 : _b[1] }, rowSpan: renderInput === null || renderInput === void 0 ? void 0 : renderInput.endRowSpan, class: {
7612
+ 'hidden': renderInput === null || renderInput === void 0 ? void 0 : renderInput.isEndHidden,
7613
+ 'pinned-right': renderInput === null || renderInput === void 0 ? void 0 : renderInput.hasRightPinnedColumn,
7651
7614
  } })));
7652
7615
  }
7653
- getRowRenderInput() {
7654
- const renderInput = {};
7655
- const renderInputs = this.renderInput;
7656
- const startRenderInput = renderInputs === null || renderInputs === void 0 ? void 0 : renderInputs[0];
7657
- const endRenderInput = renderInputs === null || renderInputs === void 0 ? void 0 : renderInputs[renderInputs.length - 1];
7658
- if (startRenderInput) {
7659
- renderInput.headHasGroupColumn = startRenderInput.headHasGroupColumn;
7660
- renderInput.headHasPinnedColumn = startRenderInput.headHasPinnedColumn;
7661
- if (renderInput.headHasGroupColumn) {
7662
- renderInput.startRowSpan =
7663
- this.selectionType === 'multiple' && startRenderInput.level === 0
7664
- ? startRenderInput.headMaxDepth
7665
- : startRenderInput.rowSpan;
7666
- renderInput.isStartHidden =
7667
- startRenderInput.headHasGroupColumn &&
7668
- ((this.selectionType === 'multiple' && startRenderInput.level > 0) ||
7669
- !startRenderInput.isViewStart);
7670
- }
7671
- }
7672
- if (endRenderInput && endRenderInput.headHasGroupColumn) {
7673
- renderInput.endRowSpan = endRenderInput.rowSpan;
7674
- renderInput.isEndHidden = startRenderInput.headHasGroupColumn && !endRenderInput.isViewEnd;
7675
- }
7676
- return renderInput;
7677
- }
7678
7616
  }
7679
7617
  __decorate$9([
7680
7618
  MapToComponentField()
@@ -7682,9 +7620,6 @@ __decorate$9([
7682
7620
  __decorate$9([
7683
7621
  MapToComponentField()
7684
7622
  ], VegaTableHeadRowRenderer.prototype, "paddingX", void 0);
7685
- __decorate$9([
7686
- MapToComponentField()
7687
- ], VegaTableHeadRowRenderer.prototype, "selectionType", void 0);
7688
7623
  __decorate$9([
7689
7624
  MapToComponentField()
7690
7625
  ], VegaTableHeadRowRenderer.prototype, "hideSelectAll", void 0);
@@ -7694,12 +7629,6 @@ __decorate$9([
7694
7629
  __decorate$9([
7695
7630
  MapToComponentField()
7696
7631
  ], VegaTableHeadRowRenderer.prototype, "checkedAll", void 0);
7697
- __decorate$9([
7698
- MapToComponentField()
7699
- ], VegaTableHeadRowRenderer.prototype, "hasExpandableRow", void 0);
7700
- __decorate$9([
7701
- MapToComponentField()
7702
- ], VegaTableHeadRowRenderer.prototype, "draggable", void 0);
7703
7632
  __decorate$9([
7704
7633
  MapToComponentField()
7705
7634
  ], VegaTableHeadRowRenderer.prototype, "isEmptyTable", void 0);
@@ -7877,7 +7806,7 @@ __decorate$7([
7877
7806
  MapToComponentField({ writable: true })
7878
7807
  ], VegaTableHeadRowStateController.prototype, "draggable", void 0);
7879
7808
 
7880
- const vegaTableHeadRowCss = ":host{display:table-row}:host tr{display:contents}th{background-color:rgba(var(--v-bg-table-header, 240, 243, 247, 1));padding:0px;vertical-align:middle}th:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}th:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.column-divider) ::slotted(vega-table-head-cell:not(:last-of-type)){border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:1px;border-right-style:solid}.vega-table-checkbox-wrapper{display:flex;align-items:center;justify-content:center}:host(.density-default) th:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-default) th:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-compact) th:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}:host(.density-compact) th:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}:host(.density-relaxed) th:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-relaxed) th:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}.vega-table-expand-action-column{width:40px;min-width:40px}.vega-table-selection-column{width:40px;min-width:40px}:host tr.is-group-row th{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-bottom-width:1px;border-bottom-style:solid}:host tr.is-group-row th.hidden{display:none}:host tr.is-group-row th.vega-table-selection-column{border-right-width:1px;border-right-style:solid}:host tr.is-group-row th:first-of-type{border-top-left-radius:0px;border-bottom-left-radius:0px}:host tr.is-group-row th:last-of-type{border-top-right-radius:0px;border-bottom-right-radius:0px}:host tr.is-pinned-row th{position:sticky;z-index:1}:host tr.is-pinned-row th:first-of-type{left:0px}:host tr.is-pinned-row th.vega-table-selection-column{left:8px}:host tr.is-pinned-row th.vega-table-expand-action-column{right:8px}:host tr.is-pinned-row th:last-of-type{right:0px}";
7809
+ const vegaTableHeadRowCss = ":host{display:table-row}:host tr{display:contents}th{background-color:rgba(var(--v-bg-table-header, 240, 243, 247, 1));padding:0px;vertical-align:middle}th:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}th:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.column-divider) ::slotted(vega-table-head-cell:not(:last-of-type)){border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-right-width:1px;border-right-style:solid}.vega-table-checkbox-wrapper{display:flex;align-items:center;justify-content:center}:host(.density-default) th:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-default) th:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-compact) th:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}:host(.density-compact) th:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}:host(.density-relaxed) th:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-relaxed) th:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}.vega-table-expand-action-column{width:40px;min-width:40px}.vega-table-selection-column{width:40px;min-width:40px}:host tr.is-group-row th{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-bottom-width:1px;border-bottom-style:solid}:host tr.is-group-row th.hidden{display:none}:host tr.is-group-row th.vega-table-selection-column{border-right-width:1px;border-right-style:solid}:host tr.is-group-row th:first-of-type{border-top-left-radius:0px;border-bottom-left-radius:0px}:host tr.is-group-row th:last-of-type{border-top-right-radius:0px;border-bottom-right-radius:0px}:host tr.is-pinned-row th.pinned-left,:host tr.is-pinned-row th.pinned-right{position:sticky;z-index:1}:host tr.is-pinned-row th.pinned-left.pinned-left:first-of-type,:host tr.is-pinned-row th.pinned-right.pinned-left:first-of-type{left:0px}:host tr.is-pinned-row th.pinned-left.vega-table-draggable-column.pinned-left,:host tr.is-pinned-row th.pinned-right.vega-table-draggable-column.pinned-left{left:var(--row-left-padding, 8px)}:host tr.is-pinned-row th.pinned-left.vega-table-selection-column.pinned-left,:host tr.is-pinned-row th.pinned-right.vega-table-selection-column.pinned-left{left:calc(var(--row-left-padding, 8px) + var(--row-draggable-width, 0px))}:host tr.is-pinned-row th.pinned-left.vega-table-expand-action-column.pinned-right,:host tr.is-pinned-row th.pinned-right.vega-table-expand-action-column.pinned-right{right:var(--row-right-padding, 8px)}:host tr.is-pinned-row th.pinned-left.pinned-right:last-of-type,:host tr.is-pinned-row th.pinned-right.pinned-right:last-of-type{right:0px}";
7881
7810
 
7882
7811
  var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
7883
7812
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -7899,7 +7828,7 @@ const VegaTableHeadRow = class {
7899
7828
  this.headCellEventPrevent = new ChildNodesEventPreventSlimmer([VegaClick], () => this.host, undefined, true);
7900
7829
  this.pageResizeObserverSlimmer = new PageResizeObserverSlimmer();
7901
7830
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
7902
- this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(VegaInternalColumnHeadRowRenderInputRIC);
7831
+ this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(VegaInternalRowRenderInputRIC);
7903
7832
  this.currentBreakpoint = getCurrentBreakpoint();
7904
7833
  /**
7905
7834
  * Indicates whether the table has an expandable row.
@@ -7907,10 +7836,17 @@ const VegaTableHeadRow = class {
7907
7836
  this.hasExpandableRow = false;
7908
7837
  }
7909
7838
  render() {
7839
+ var _a, _b, _c, _d, _e;
7910
7840
  slotPlaceholder(h("slot", null));
7911
7841
  return sanitizeVegaComponent(h(Host, { class: {
7912
7842
  'column-divider': this.columnDivider,
7913
7843
  [`density-${ResponsiveFormatFacade.formatCustom(this.density)}`]: true,
7844
+ }, style: {
7845
+ '--row-left-padding': `${(_b = (_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.leftPaddingPx) !== null && _b !== void 0 ? _b : 0}px`,
7846
+ '--row-right-padding': `${(_d = (_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.rightPaddingPx) !== null && _d !== void 0 ? _d : 0}px`,
7847
+ '--row-draggable-width': ((_e = this.renderInput) === null || _e === void 0 ? void 0 : _e.showDraggableCell) && !this.renderInput.isStartHidden
7848
+ ? '16px'
7849
+ : '0px',
7914
7850
  } }, this.vegaTableHeadRowRenderer.render()), this.host);
7915
7851
  }
7916
7852
  get host() { return getElement(this); }
@@ -7955,14 +7891,22 @@ class VegaTableRowRenderer extends VegaSlimmer {
7955
7891
  constructor() {
7956
7892
  super(...arguments);
7957
7893
  this.renderDragIcon = () => {
7958
- return (this.draggable && (h("td", { class: "vega-table-draggable-column" },
7894
+ const renderInput = this.renderInput;
7895
+ return ((renderInput === null || renderInput === void 0 ? void 0 : renderInput.showDraggableCell) && (h("td", { class: {
7896
+ 'vega-table-draggable-column': true,
7897
+ 'pinned-left': renderInput.hasLeftPinnedColumn,
7898
+ } },
7959
7899
  h("vega-flex", { alignItems: "center" },
7960
7900
  h("vega-icon", { icon: VegaInternalIconManager.getIconKey('grip-dots-vertical'), color: "text-link" })))));
7961
7901
  };
7962
7902
  this.renderRowSelection = () => {
7963
- if (this.selectionType !== 'multiple')
7903
+ const renderInput = this.renderInput;
7904
+ if (!(renderInput === null || renderInput === void 0 ? void 0 : renderInput.showSelectionCell))
7964
7905
  return;
7965
- return (h("td", { class: "vega-table-selection-column" },
7906
+ return (h("td", { class: {
7907
+ 'vega-table-selection-column': true,
7908
+ 'pinned-left': renderInput.hasLeftPinnedColumn,
7909
+ } },
7966
7910
  h("div", { class: "vega-table-checkbox-wrapper" },
7967
7911
  h("vega-checkbox", { size: "small", checked: this.checked,
7968
7912
  /* eslint-disable-next-line react/jsx-no-bind */
@@ -7973,7 +7917,11 @@ class VegaTableRowRenderer extends VegaSlimmer {
7973
7917
  } }))));
7974
7918
  };
7975
7919
  this.renderExpandIcon = () => {
7976
- return ((this.expandable || this.hasExpandableRow) && (h("td", { class: "vega-table-expand-action-column" },
7920
+ const renderInput = this.renderInput;
7921
+ return ((renderInput === null || renderInput === void 0 ? void 0 : renderInput.showExpandActionCell) && (h("td", { class: {
7922
+ 'vega-table-expand-action-column': true,
7923
+ 'pinned-right': renderInput.hasRightPinnedColumn,
7924
+ } },
7977
7925
  h("div", { class: "vega-table-expand-icon-wrapper" }, this.expandable && (h("vega-icon", { icon: VegaInternalIconManager.getIconKey('chevron-down'), color: "text-link", onClick: this.onExpandIconClick }))))));
7978
7926
  };
7979
7927
  this.onRowClick = () => {
@@ -8009,11 +7957,17 @@ class VegaTableRowRenderer extends VegaSlimmer {
8009
7957
  connectedCallback() {
8010
7958
  this.setParentTableRef();
8011
7959
  }
7960
+ componentDidRender() {
7961
+ var _a, _b;
7962
+ const draggableCell = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.vega-table-draggable-column');
7963
+ this.host.style.setProperty('--row-draggable-width', `${(_b = draggableCell === null || draggableCell === void 0 ? void 0 : draggableCell.getBoundingClientRect().width) !== null && _b !== void 0 ? _b : 0}px`);
7964
+ }
8012
7965
  getParentTableRef() {
8013
7966
  return this.parentTableRef;
8014
7967
  }
8015
7968
  render() {
8016
7969
  var _a, _b;
7970
+ const renderInput = this.renderInput;
8017
7971
  return (h(Fragment, null,
8018
7972
  this.renderExpandRowSpace(this.rowKey),
8019
7973
  h("tr", { class: {
@@ -8025,12 +7979,12 @@ class VegaTableRowRenderer extends VegaSlimmer {
8025
7979
  },
8026
7980
  /* eslint-disable-next-line react/jsx-no-bind */
8027
7981
  onClick: this.clickable ? this.onRowClick : null },
8028
- h("td", { style: { width: (_a = this.paddingX) === null || _a === void 0 ? void 0 : _a[0] } }),
7982
+ h("td", { class: { 'pinned-left': renderInput === null || renderInput === void 0 ? void 0 : renderInput.hasLeftPinnedColumn }, style: { width: (_a = this.paddingX) === null || _a === void 0 ? void 0 : _a[0] } }),
8029
7983
  this.renderDragIcon(),
8030
7984
  this.renderRowSelection(),
8031
7985
  h("slot", null),
8032
7986
  this.renderExpandIcon(),
8033
- h("td", { style: { width: (_b = this.paddingX) === null || _b === void 0 ? void 0 : _b[1] } }))));
7987
+ h("td", { class: { 'pinned-right': renderInput === null || renderInput === void 0 ? void 0 : renderInput.hasRightPinnedColumn }, style: { width: (_b = this.paddingX) === null || _b === void 0 ? void 0 : _b[1] } }))));
8034
7988
  }
8035
7989
  renderExpandRowSpace(rowKey) {
8036
7990
  return (this.expandable && (h("tr", { key: `vega-table-expand-row-space-${rowKey}`, class: "expand-row-space" })));
@@ -8069,18 +8023,12 @@ __decorate$5([
8069
8023
  __decorate$5([
8070
8024
  MapToComponentField()
8071
8025
  ], VegaTableRowRenderer.prototype, "expandable", void 0);
8072
- __decorate$5([
8073
- MapToComponentField()
8074
- ], VegaTableRowRenderer.prototype, "hasExpandableRow", void 0);
8075
8026
  __decorate$5([
8076
8027
  MapToComponentField()
8077
8028
  ], VegaTableRowRenderer.prototype, "vegaClick", void 0);
8078
8029
  __decorate$5([
8079
8030
  MapToComponentField()
8080
- ], VegaTableRowRenderer.prototype, "selectionType", void 0);
8081
- __decorate$5([
8082
- MapToComponentField()
8083
- ], VegaTableRowRenderer.prototype, "draggable", void 0);
8031
+ ], VegaTableRowRenderer.prototype, "renderInput", void 0);
8084
8032
  __decorate$5([
8085
8033
  MapToComponentField()
8086
8034
  ], VegaTableRowRenderer.prototype, "vegaTableRowSelectionController", void 0);
@@ -8096,6 +8044,9 @@ __decorate$5([
8096
8044
  __decorate$5([
8097
8045
  MapToComponentMethod('connectedCallback')
8098
8046
  ], VegaTableRowRenderer.prototype, "connectedCallback", null);
8047
+ __decorate$5([
8048
+ MapToComponentMethod('componentDidRender')
8049
+ ], VegaTableRowRenderer.prototype, "componentDidRender", null);
8099
8050
 
8100
8051
  var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
8101
8052
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -8474,7 +8425,7 @@ __decorate$1([
8474
8425
  MapToComponentMethod('componentWillLoad')
8475
8426
  ], VegaTableRowStateController.prototype, "handleComponentWillLoad", null);
8476
8427
 
8477
- const vegaTableRowCss = ":host{display:contents}:host(.v-hidden){display:none}td{padding:0px;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));vertical-align:middle}td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.striped) .vega-table-row:not(.checked):not(.clickable:hover) td{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.checked td{background-color:rgba(var(--v-bg-table-selected-row, 204, 223, 255, 1))}:not(.checked).clickable:hover{cursor:pointer}:not(.checked).clickable:hover td{background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1))}.vega-table-checkbox-wrapper{display:flex;align-items:center;justify-content:center}.vega-table-row .vega-table-expand-icon-wrapper{display:flex;align-items:center;justify-content:center}.vega-table-row .vega-table-expand-icon-wrapper vega-icon{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;cursor:pointer}.vega-table-row.expand-row .vega-table-expand-icon-wrapper vega-icon{transform:rotate(180deg)}:host tr.expand-row td{border-top-width:1px;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-input-field, 171, 198, 216, 1))}:host tr.expand-row td:first-of-type{border-left-width:1px;border-top-width:1px;border-bottom-left-radius:0px}:host tr.expand-row td:last-of-type{border-right-width:1px;border-top-width:1px;border-bottom-right-radius:0px}tr.expand-row-space{display:block;padding-top:8px}:host(.row-divider:not(:last-of-type)) td{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-bottom-width:1px;border-bottom-style:solid}:host(.row-divider:not(:last-of-type)) td:first-of-type,:host(.row-divider:not(:last-of-type)) td:last-of-type{border-radius:0px}:host(.density-default) td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-default) td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-default) tr.expand-row-space{display:block;padding-top:8px}:host(.density-compact) td:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}:host(.density-compact) td:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}:host(.density-compact) tr.expand-row-space{display:block;padding-top:4px}:host(.density-relaxed) td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-relaxed) td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-relaxed) tr.expand-row-space{display:block;padding-top:12px}.vega-table-expand-action-column{width:40px;min-width:40px}.vega-table-selection-column{width:40px;min-width:40px}.vega-table-draggable-column{width:16px;min-width:16px;cursor:move}";
8428
+ const vegaTableRowCss = ":host{display:contents}:host(.v-hidden){display:none}td{padding:0px;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));vertical-align:middle}td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}td.pinned-left,td.pinned-right{position:sticky;z-index:1}td.pinned-left:first-of-type{left:0}td.vega-table-draggable-column.pinned-left{left:var(--row-left-padding, 0px)}td.vega-table-selection-column.pinned-left{left:calc(var(--row-left-padding, 0px) + var(--row-draggable-width, 0px))}td.vega-table-expand-action-column.pinned-right{right:var(--row-right-padding, 0px)}td.pinned-right:last-of-type{right:0}:host(.striped) .vega-table-row:not(.checked):not(.clickable:hover) td{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.checked td{background-color:rgba(var(--v-bg-table-selected-row, 204, 223, 255, 1))}:not(.checked).clickable:hover{cursor:pointer}:not(.checked).clickable:hover td{background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1))}.vega-table-checkbox-wrapper{display:flex;align-items:center;justify-content:center}.vega-table-row .vega-table-expand-icon-wrapper{display:flex;align-items:center;justify-content:center}.vega-table-row .vega-table-expand-icon-wrapper vega-icon{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;cursor:pointer}.vega-table-row.expand-row .vega-table-expand-icon-wrapper vega-icon{transform:rotate(180deg)}:host tr.expand-row td{border-top-width:1px;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-input-field, 171, 198, 216, 1))}:host tr.expand-row td:first-of-type{border-left-width:1px;border-top-width:1px;border-bottom-left-radius:0px}:host tr.expand-row td:last-of-type{border-right-width:1px;border-top-width:1px;border-bottom-right-radius:0px}tr.expand-row-space{display:block;padding-top:8px}:host(.row-divider:not(:last-of-type)) td{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-bottom-width:1px;border-bottom-style:solid}:host(.row-divider:not(:last-of-type)) td:first-of-type,:host(.row-divider:not(:last-of-type)) td:last-of-type{border-radius:0px}:host(.density-default) td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-default) td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-default) tr.expand-row-space{display:block;padding-top:8px}:host(.density-compact) td:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}:host(.density-compact) td:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}:host(.density-compact) tr.expand-row-space{display:block;padding-top:4px}:host(.density-relaxed) td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-relaxed) td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-relaxed) tr.expand-row-space{display:block;padding-top:12px}.vega-table-expand-action-column{width:40px;min-width:40px}.vega-table-selection-column{width:40px;min-width:40px}.vega-table-draggable-column{width:16px;min-width:16px;cursor:move}";
8478
8429
 
8479
8430
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
8480
8431
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -8499,6 +8450,7 @@ const VegaTableRow = class {
8499
8450
  this.vegaTableRowExpandController = new VegaTableRowExpandController();
8500
8451
  this.vegaTableRowClickController = new VegaTableRowClickController();
8501
8452
  this.vegaTableRowStateController = new VegaTableRowStateController();
8453
+ this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(VegaInternalRowRenderInputRIC);
8502
8454
  this.clickEventEmitter = createEventEmitSlimmer(VegaTableRow, VegaClick);
8503
8455
  this.expandEventEmitter = createEventEmitSlimmer(VegaTableRow, VegaExpand);
8504
8456
  this.checkboxValueChangeEventPrevent = new ChildNodesEventPreventSlimmer([VegaClick], () => this.host, undefined, true);
@@ -8529,12 +8481,16 @@ const VegaTableRow = class {
8529
8481
  watchRowDivider() {
8530
8482
  }
8531
8483
  render() {
8484
+ var _a, _b, _c, _d;
8532
8485
  slotPlaceholder(h("slot", null));
8533
8486
  return sanitizeVegaComponent(h(Host, { class: {
8534
8487
  'row-divider': this.rowDivider,
8535
8488
  'column-divider': this.columnDivider,
8536
8489
  'striped': this.striped,
8537
8490
  [`density-${ResponsiveFormatFacade.formatCustom(this.density)}`]: true,
8491
+ }, style: {
8492
+ '--row-left-padding': `${(_b = (_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.leftPaddingPx) !== null && _b !== void 0 ? _b : 0}px`,
8493
+ '--row-right-padding': `${(_d = (_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.rightPaddingPx) !== null && _d !== void 0 ? _d : 0}px`,
8538
8494
  } }, this.vegaTableRowRenderer.render()), this.host);
8539
8495
  }
8540
8496
  get host() { return getElement(this); }
@@ -8564,6 +8520,9 @@ __decorate([
8564
8520
  __decorate([
8565
8521
  InjectVegaSlimmer()
8566
8522
  ], VegaTableRow.prototype, "vegaTableRowStateController", void 0);
8523
+ __decorate([
8524
+ InjectVegaSlimmer()
8525
+ ], VegaTableRow.prototype, "vegaTableRenderInputConsumerSlimmer", void 0);
8567
8526
  __decorate([
8568
8527
  InjectVegaSlimmer()
8569
8528
  ], VegaTableRow.prototype, "clickEventEmitter", void 0);