@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
@@ -14,28 +14,28 @@ const observer = require('./observer-f49483e8.js');
14
14
  const ui$1 = require('./ui-c91c37a7.js');
15
15
  const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-c82df135.js');
16
16
  const remoteInvocationRegistry = require('./remote-invocation-registry-fc22fdd0.js');
17
- const vegaInternalEventId = require('./vega-internal-event-id-f4d33037.js');
18
- const vegaEventId = require('./vega-event-id-58afed7a.js');
19
- const responsiveFormatFacade = require('./responsive-format-facade-74e6d791.js');
20
- const typeGuard = require('./type-guard-b8d7bb3f.js');
17
+ const vegaInternalEventId = require('./vega-internal-event-id-98d499d7.js');
18
+ const vegaEventId = require('./vega-event-id-987a170c.js');
19
+ const responsiveFormatFacade = require('./responsive-format-facade-c6d7f0a1.js');
20
+ const typeGuard = require('./type-guard-00b8efc0.js');
21
21
  const component = require('./component-1e352960.js');
22
22
  const misc = require('./misc-3d30df91.js');
23
23
  const breakpoints = require('./breakpoints-1cc2c4c6.js');
24
24
  const mutationObserverSlimmer = require('./mutation-observer-slimmer-749d5020.js');
25
25
  const mutationObserverFilters = require('./mutation-observer-filters-38cebc6d.js');
26
26
  const pageResizeObserverSlimmer = require('./page-resize-observer-slimmer-273d62ef.js');
27
- const subStateNotifySlimmer = require('./sub-state-notify-slimmer-e264a120.js');
28
- const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-e0ac8467.js');
29
- const eventEmitSlimmer = require('./event-emit-slimmer-34aa195e.js');
27
+ const subStateNotifySlimmer = require('./sub-state-notify-slimmer-3b33e31c.js');
28
+ const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-d720d7e9.js');
29
+ const eventEmitSlimmer = require('./event-emit-slimmer-67b5c186.js');
30
30
  const immutableMap = require('./immutable-map-d711339d.js');
31
- const translationSlimmer = require('./translation-slimmer-e4997f8f.js');
31
+ const translationSlimmer = require('./translation-slimmer-31cd5a57.js');
32
32
  const synchronizeTaskQueue = require('./synchronize-task-queue-1ee80e94.js');
33
33
  const dynamicSlimmer = require('./dynamic-slimmer-f31fdfd7.js');
34
34
  const internalVegaZIndexManager = require('./internal-vega-z-index-manager-f03ddb37.js');
35
- const subStateObserverSlimmer = require('./sub-state-observer-slimmer-6033b824.js');
35
+ const subStateObserverSlimmer = require('./sub-state-observer-slimmer-5b68ba3f.js');
36
36
  const featureFlagController = require('./feature-flag-controller-c19d0b58.js');
37
37
  const breakpoints$1 = require('./breakpoints-ebde4837.js');
38
- const accessibility = require('./accessibility-88f8af84.js');
38
+ const accessibility = require('./accessibility-6ca2a237.js');
39
39
  const internalIconManager = require('./internal-icon-manager-40bcac72.js');
40
40
  const chevronUp = require('./chevron-up-21465cf7.js');
41
41
  const chevronDown = require('./chevron-down-9847bf78.js');
@@ -43,9 +43,9 @@ require('./number-4816603d.js');
43
43
  require('./pixel-98f2a10c.js');
44
44
  require('./array-249289f2.js');
45
45
  require('./typography-3ea4fe41.js');
46
- require('./internal-translation-controller-51f7f865.js');
46
+ require('./internal-translation-controller-27bfc8c7.js');
47
47
  require('./try-get-document-c0ebd39a.js');
48
- require('./internal-vega-event-manager-7003c84a.js');
48
+ require('./internal-vega-event-manager-976b9526.js');
49
49
  require('./vega-env-manager-23b8b23c.js');
50
50
  require('./index-3ca118c4.js');
51
51
  require('./icon-manager-be358b32.js');
@@ -211,6 +211,23 @@ class ColumnRenderInputModel {
211
211
  this.columnIndex = columnIndex;
212
212
  this.parent = parent;
213
213
  this.children = children;
214
+ /**
215
+ * Prefix-sum pixel offset for `sticky left` positioning. Mutated by
216
+ * {@link VegaTableRenderInputController.recomputePinnedOffsets} on resize / column
217
+ * structure change. Consumed by the cell's own `render()` to emit `style.left`
218
+ * declaratively instead of receiving external shadow-DOM style mutation.
219
+ * Null when the column is not left-pinned or offsets have not yet been computed.
220
+ */
221
+ this.leftOffsetPx = null;
222
+ /**
223
+ * Prefix-sum pixel offset for `sticky right` positioning. Mirrors
224
+ * {@link leftOffsetPx} but for right-pinned columns.
225
+ */
226
+ this.rightOffsetPx = null;
227
+ this.isVisibleLeftEndPinned = false;
228
+ this.isVisibleRightStartPinned = false;
229
+ this.isVisibleRightEndPinned = false;
230
+ this.visibleColSpan = null;
214
231
  this.iteratorCacheMap = new Map();
215
232
  this.leaves = [];
216
233
  }
@@ -271,14 +288,14 @@ class ColumnRenderInputModel {
271
288
  isNoPinnedEnd = isNoPinnedEnd || leaf.isNoPinnedEnd;
272
289
  isViewEnd = isViewEnd || leaf.isViewEnd;
273
290
  }
274
- // Return the base unchanged when no flags were gained (common fast-path).
275
- if (isLeftEndPinned === base.isLeftEndPinned &&
276
- isRightStartPinned === base.isRightStartPinned &&
277
- isNoPinnedEnd === base.isNoPinnedEnd &&
278
- isViewEnd === base.isViewEnd) {
279
- return base;
280
- }
281
- 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);
291
+ 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);
292
+ renderInput.leftOffsetPx = base.leftOffsetPx;
293
+ renderInput.rightOffsetPx = base.rightOffsetPx;
294
+ renderInput.isVisibleLeftEndPinned = base.isVisibleLeftEndPinned;
295
+ renderInput.isVisibleRightStartPinned = base.isVisibleRightStartPinned;
296
+ renderInput.isVisibleRightEndPinned = base.isVisibleRightEndPinned;
297
+ renderInput.visibleColSpan = base.visibleColSpan;
298
+ return renderInput;
282
299
  }
283
300
  /**
284
301
  * True when the provided structure model is the last left-pinned sibling in its parent's children.
@@ -1703,7 +1720,9 @@ class VegaTableBodyRenderer extends globalSlimmerRegistry.VegaSlimmer {
1703
1720
  }, editable),
1704
1721
  this.vegaTableExpandRowController.isExpandableRow(record) && (index.h("vega-table-expand-row", { class: {
1705
1722
  'v-hidden': !isVisibleInCurrentPage,
1706
- }, key: `vega-table-expanded-row-${rowKey}`, rowKey: rowKey, striped: this.striped && index$1 % 2 === 1 },
1723
+ }, key: `vega-table-expanded-row-${rowKey}`, rowKey: rowKey, striped: this.striped && index$1 % 2 === 1, ref: (ref) => {
1724
+ this.vegaTableRenderInputController.addRowRenderInputMap(ref, 'expand');
1725
+ } },
1707
1726
  index.h("slot", { name: `${VegaTableExpandRowController.expandRowSlotNamePrefix}${rowKey}` })))));
1708
1727
  })));
1709
1728
  };
@@ -1754,6 +1773,9 @@ __decorate$S([
1754
1773
  __decorate$S([
1755
1774
  globalSlimmerRegistry.MapToComponentField()
1756
1775
  ], VegaTableBodyRenderer.prototype, "vegaTableExpandRowController", void 0);
1776
+ __decorate$S([
1777
+ globalSlimmerRegistry.MapToComponentField()
1778
+ ], VegaTableBodyRenderer.prototype, "vegaTableRenderInputController", void 0);
1757
1779
 
1758
1780
  var __decorate$R = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1759
1781
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -1776,6 +1798,7 @@ class VegaTableHeaderRenderer extends globalSlimmerRegistry.VegaSlimmer {
1776
1798
  var _a;
1777
1799
  return (index.h("vega-table-head-row", { hideSelectAll: (_a = this.rowSelection) === null || _a === void 0 ? void 0 : _a.hideSelectAll, ref: (ref) => {
1778
1800
  this.vegaTableRenderInputController.addHeadRowRenderInputMap(ref, cells);
1801
+ this.vegaTableRenderInputController.addRowRenderInputMap(ref, 'head');
1779
1802
  } }, cells.map((renderInput) => {
1780
1803
  if (renderInput.label) {
1781
1804
  return this.renderGroupCell(renderInput);
@@ -2936,6 +2959,7 @@ class VegaTableRowRenderer$1 extends globalSlimmerRegistry.VegaSlimmer {
2936
2959
  }, key: `vega-table-row-${rowKey}`, rowKey: rowKey,
2937
2960
  /* eslint-disable-next-line react/jsx-no-bind */
2938
2961
  ref: (ref) => {
2962
+ this.vegaTableRenderInputController.addRowRenderInputMap(ref, 'body');
2939
2963
  domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaClick, () => {
2940
2964
  this.rowClickEventEmitter.emit({ record: record, index: index$1 });
2941
2965
  });
@@ -3387,6 +3411,47 @@ __decorate$G([
3387
3411
  globalSlimmerRegistry.MapToComponentMethod('watchTemplateGroupColumns')
3388
3412
  ], VegaTableColumnStructureModelController.prototype, "watchTemplateGroupColumns", null);
3389
3413
 
3414
+ /** Render-time structural state shared by table row variants. */
3415
+ class RowRenderInputModel {
3416
+ constructor(kind, hasLeftPinnedColumn, hasRightPinnedColumn, showSelectionCell, showDraggableCell, showExpandActionCell, hasExpandedRowSlot, leftPaddingPx, rightPaddingPx, startRowSpan = null, endRowSpan = null, isStartHidden = false, isEndHidden = false) {
3417
+ this.kind = kind;
3418
+ this.hasLeftPinnedColumn = hasLeftPinnedColumn;
3419
+ this.hasRightPinnedColumn = hasRightPinnedColumn;
3420
+ this.showSelectionCell = showSelectionCell;
3421
+ this.showDraggableCell = showDraggableCell;
3422
+ this.showExpandActionCell = showExpandActionCell;
3423
+ this.hasExpandedRowSlot = hasExpandedRowSlot;
3424
+ this.leftPaddingPx = leftPaddingPx;
3425
+ this.rightPaddingPx = rightPaddingPx;
3426
+ this.startRowSpan = startRowSpan;
3427
+ this.endRowSpan = endRowSpan;
3428
+ this.isStartHidden = isStartHidden;
3429
+ this.isEndHidden = isEndHidden;
3430
+ }
3431
+ /**
3432
+ * Create row render input from table and column structure state.
3433
+ *
3434
+ * @param {ColumnStructureModel} structure - Current column structure.
3435
+ * @param {TableRowStructure} table - Current row-related table state.
3436
+ * @param {RowKind} kind - Row variant being rendered.
3437
+ * @param {ColumnRenderInputModel[]} headRenderInputs - Header columns for row-span metadata.
3438
+ * @returns {RowRenderInputModel} Row-owned render input.
3439
+ */
3440
+ static from(structure, table, kind, headRenderInputs = null) {
3441
+ const startRenderInput = headRenderInputs === null || headRenderInputs === void 0 ? void 0 : headRenderInputs[0];
3442
+ const endRenderInput = headRenderInputs === null || headRenderInputs === void 0 ? void 0 : headRenderInputs[headRenderInputs.length - 1];
3443
+ const isMultipleSelection = !!table.rowSelection && (table.rowSelection.type || 'multiple') === 'multiple';
3444
+ return new RowRenderInputModel(kind, structure.hasLeftPinnedColumn(), structure.hasRightPinnedColumn(), isMultipleSelection, !!table.rowDraggable, kind !== 'expand' && table.hasExpandableRow, kind === 'expand', ui$1.extractNumberFromString(table.paddingX[0]), ui$1.extractNumberFromString(table.paddingX[1]), (startRenderInput === null || startRenderInput === void 0 ? void 0 : startRenderInput.headHasGroupColumn)
3445
+ ? isMultipleSelection && startRenderInput.level === 0
3446
+ ? startRenderInput.headMaxDepth
3447
+ : startRenderInput.rowSpan
3448
+ : null, (endRenderInput === null || endRenderInput === void 0 ? void 0 : endRenderInput.headHasGroupColumn) ? endRenderInput.rowSpan : null, !!(startRenderInput === null || startRenderInput === void 0 ? void 0 : startRenderInput.headHasGroupColumn) &&
3449
+ ((isMultipleSelection && startRenderInput.level > 0) || !startRenderInput.isViewStart), !!(startRenderInput === null || startRenderInput === void 0 ? void 0 : startRenderInput.headHasGroupColumn) &&
3450
+ !!(endRenderInput === null || endRenderInput === void 0 ? void 0 : endRenderInput.headHasGroupColumn) &&
3451
+ !endRenderInput.isViewEnd);
3452
+ }
3453
+ }
3454
+
3390
3455
  var __decorate$F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3391
3456
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3392
3457
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -3405,9 +3470,12 @@ var __decorate$F = (undefined && undefined.__decorate) || function (decorators,
3405
3470
  class VegaTableRenderInputController extends globalSlimmerRegistry.VegaSlimmer {
3406
3471
  constructor() {
3407
3472
  super(...arguments);
3408
- this.headRowRenderInputMap = new Map();
3409
- this.headCellRenderInputMap = new Map();
3410
- this.pinnedColumnBodyCellRenderInputMap = new Map();
3473
+ this.headRowRenderInputMap = new WeakMap();
3474
+ this.headCellRenderInputMap = new WeakMap();
3475
+ this.bodyCellRenderInputMap = new WeakMap();
3476
+ this.hasPendingCellRenderInputChange = false;
3477
+ this.rowRenderInputMap = new WeakMap();
3478
+ this.footCellRenderInputMap = new Map();
3411
3479
  this.cellRenderInputChangeTaskQueue = new synchronizeTaskQueue.SynchronizeTaskQueue();
3412
3480
  }
3413
3481
  /**
@@ -3433,10 +3501,19 @@ class VegaTableRenderInputController extends globalSlimmerRegistry.VegaSlimmer {
3433
3501
  }
3434
3502
  /**
3435
3503
  * Notify body cells about render input changes after the table has re-rendered.
3436
- * This ensures ref callbacks have fired and the pinnedColumnBodyCellRenderInputMap is up-to-date.
3504
+ * This ensures ref callbacks have fired and the body-cell render inputs are up-to-date.
3437
3505
  * Called via component lifecycle mapping.
3438
3506
  */
3439
3507
  async componentDidRender() {
3508
+ if (this.isTemplateRenderMode) {
3509
+ this.registerTemplateCellRenderInputs();
3510
+ if (this.hasPendingCellRenderInputChange &&
3511
+ !this.columnStructureModel.hasLeftPinnedColumn() &&
3512
+ !this.columnStructureModel.hasRightPinnedColumn()) {
3513
+ this.notifyRenderInputChange();
3514
+ this.hasPendingCellRenderInputChange = false;
3515
+ }
3516
+ }
3440
3517
  await this.cellRenderInputChangeTaskQueue.runTask();
3441
3518
  }
3442
3519
  /**
@@ -3445,7 +3522,7 @@ class VegaTableRenderInputController extends globalSlimmerRegistry.VegaSlimmer {
3445
3522
  */
3446
3523
  async watchColumnStructureModel() {
3447
3524
  this.setRenderInputModel();
3448
- this.pinnedColumnBodyCellRenderInputMap.clear();
3525
+ this.bodyCellRenderInputMap = new WeakMap();
3449
3526
  await this.cellRenderInputChangeTaskQueue.enqueue({
3450
3527
  /**
3451
3528
  * Notify body-cell render-input changes after render completes.
@@ -3455,6 +3532,11 @@ class VegaTableRenderInputController extends globalSlimmerRegistry.VegaSlimmer {
3455
3532
  },
3456
3533
  }, false);
3457
3534
  }
3535
+ /** Clear cached row inputs when row-related table state changes. */
3536
+ watchRowStructure() {
3537
+ this.rowRenderInputMap = new WeakMap();
3538
+ changeManager.ChangeManager.notify(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalVegaTableRenderInputChange), {});
3539
+ }
3458
3540
  /**
3459
3541
  * Return render input models for table body (flattened leaves).
3460
3542
  *
@@ -3478,6 +3560,8 @@ class VegaTableRenderInputController extends globalSlimmerRegistry.VegaSlimmer {
3478
3560
  * @param {ColumnRenderInputModel[]} renderInputs - Associated render input models.
3479
3561
  */
3480
3562
  addHeadRowRenderInputMap(headRow, renderInputs) {
3563
+ if (!headRow)
3564
+ return;
3481
3565
  this.headRowRenderInputMap.set(headRow, renderInputs);
3482
3566
  }
3483
3567
  /**
@@ -3487,6 +3571,8 @@ class VegaTableRenderInputController extends globalSlimmerRegistry.VegaSlimmer {
3487
3571
  * @param {ColumnRenderInputModel} renderInput - Associated render input model.
3488
3572
  */
3489
3573
  addHeadCellRenderInputMap(headCell, renderInput) {
3574
+ if (!headCell)
3575
+ return;
3490
3576
  this.headCellRenderInputMap.set(headCell, renderInput);
3491
3577
  }
3492
3578
  /**
@@ -3497,21 +3583,37 @@ class VegaTableRenderInputController extends globalSlimmerRegistry.VegaSlimmer {
3497
3583
  * re-registers via ref callbacks each render, so stale entries are overwritten naturally.
3498
3584
  */
3499
3585
  clearHeadRenderInputMaps() {
3500
- this.headRowRenderInputMap.clear();
3501
- this.headCellRenderInputMap.clear();
3586
+ this.headRowRenderInputMap = new WeakMap();
3587
+ this.headCellRenderInputMap = new WeakMap();
3502
3588
  }
3503
3589
  /**
3504
- * Store body cell render input mapping for pinned cells (used to update sticky positions).
3505
- *
3506
- * Only stores cells that require sticky positioning (left/right or no-pinned-end).
3590
+ * Store body cell render input mapping without retaining disconnected cell hosts.
3507
3591
  *
3508
3592
  * @param {HTMLElement} cell - The body cell element.
3509
3593
  * @param {ColumnRenderInputModel} renderInput - Associated render input model.
3510
3594
  */
3511
3595
  addCellRenderInputMap(cell, renderInput) {
3512
- if ((cell && ['left', 'right'].includes(renderInput.pinned)) || renderInput.isNoPinnedEnd) {
3513
- this.pinnedColumnBodyCellRenderInputMap.set(cell, renderInput);
3596
+ if (!cell)
3597
+ return;
3598
+ const current = this.bodyCellRenderInputMap.get(cell);
3599
+ const next = this.hasSameCellStructure(current, renderInput)
3600
+ ? current
3601
+ : renderInput;
3602
+ if (current !== next) {
3603
+ this.hasPendingCellRenderInputChange = true;
3514
3604
  }
3605
+ this.bodyCellRenderInputMap.set(cell, next);
3606
+ }
3607
+ /**
3608
+ * Store row render input mapping for remote invocation.
3609
+ *
3610
+ * @param {HTMLElement} row - Row host element.
3611
+ * @param {RowKind} kind - Row variant.
3612
+ */
3613
+ addRowRenderInputMap(row, kind) {
3614
+ if (!row)
3615
+ return;
3616
+ this.rowRenderInputMap.set(row, this.createRowRenderInputModel(kind, row));
3515
3617
  }
3516
3618
  /**
3517
3619
  * Expose the internal head-cell -> render-input mapping.
@@ -3520,16 +3622,133 @@ class VegaTableRenderInputController extends globalSlimmerRegistry.VegaSlimmer {
3520
3622
  * @returns {Map<HTMLVegaTableHeadCellElement, ColumnRenderInputModel>} Map of head cell elements to render input.
3521
3623
  */
3522
3624
  getHeadCellRenderInputMap() {
3523
- return this.headCellRenderInputMap;
3625
+ var _a;
3626
+ const renderInputMap = new Map();
3627
+ const root = this.isTemplateRenderMode ? this.host : (_a = this.host) === null || _a === void 0 ? void 0 : _a.shadowRoot;
3628
+ root === null || root === void 0 ? void 0 : root.querySelectorAll('vega-table-head-cell').forEach((cell) => {
3629
+ const renderInput = this.headCellRenderInputMap.get(cell);
3630
+ if (renderInput)
3631
+ renderInputMap.set(cell, renderInput);
3632
+ });
3633
+ return renderInputMap;
3524
3634
  }
3525
3635
  /**
3526
- * Expose the internal map of pinned body cells to their render inputs.
3636
+ * Return a snapshot of currently rendered body cells and their render inputs.
3527
3637
  *
3528
3638
  * @typedef {import('../../../../types/components').HTMLVegaTableCellElement} HTMLVegaTableCellElement
3529
- * @returns {Map<HTMLVegaTableCellElement, ColumnRenderInputModel>} Map of body cell hosts requiring sticky positioning.
3639
+ * @returns {Map<HTMLVegaTableCellElement, ColumnRenderInputModel>} Current body-cell render inputs.
3530
3640
  */
3531
3641
  getPinnedColumnBodyCellRenderInputMap() {
3532
- return this.pinnedColumnBodyCellRenderInputMap;
3642
+ var _a;
3643
+ const renderInputMap = new Map();
3644
+ const root = this.isTemplateRenderMode ? this.host : (_a = this.host) === null || _a === void 0 ? void 0 : _a.shadowRoot;
3645
+ root === null || root === void 0 ? void 0 : root.querySelectorAll('vega-table-cell').forEach((cell) => {
3646
+ const renderInput = this.bodyCellRenderInputMap.get(cell);
3647
+ if (renderInput)
3648
+ renderInputMap.set(cell, renderInput);
3649
+ });
3650
+ return renderInputMap;
3651
+ }
3652
+ /**
3653
+ * Recompute per-column sticky pinned offsets (`leftOffsetPx` / `rightOffsetPx`) on
3654
+ * every registered head, body, and foot cell render input,
3655
+ * then notify subscribers so pinned cells re-render with the new offsets.
3656
+ *
3657
+ * This is the write-side of the declarative pinned pipeline described in VD-9881:
3658
+ * instead of {@link VegaTablePinnedRenderer} mutating each cell's shadow-DOM
3659
+ * `style.left`/`style.right`, the controller populates the offset on the DTO and
3660
+ * pinned cells consume it from their own `render()` via a JSX `style` prop.
3661
+ *
3662
+ * Idempotent — safe to call multiple times per lifecycle event. Measurement of
3663
+ * `prevShadowThWidth`, `nextShadowThWidth`, and `leafWidths` lives with the pinned
3664
+ * renderer (it needs those values for other passes too — breakpoint-hidden column
3665
+ * detection, template-mode leaf zipping, etc.) and is supplied by the caller.
3666
+ *
3667
+ * @param {number} prevShadowThWidth - Aggregate width of leading row-fixed cells (left padding).
3668
+ * @param {number} nextShadowThWidth - Aggregate width of trailing row-fixed cells (right padding).
3669
+ * @param {number[]} leafWidths - Rendered width of each leaf column, indexed by columnIndex.
3670
+ */
3671
+ recomputePinnedOffsets(prevShadowThWidth, nextShadowThWidth, leafWidths) {
3672
+ var _a, _b, _c;
3673
+ const headCellRenderInputMap = this.getHeadCellRenderInputMap();
3674
+ if (!headCellRenderInputMap.size)
3675
+ return;
3676
+ this.registerTemplateCellRenderInputs();
3677
+ const leafPrefixLeft = new Array(leafWidths.length + 1).fill(0);
3678
+ for (let i = 0; i < leafWidths.length; i++) {
3679
+ leafPrefixLeft[i + 1] = leafPrefixLeft[i] + leafWidths[i];
3680
+ }
3681
+ const allLeafWidthsHidden = leafWidths.every((width) => width === 0);
3682
+ const visibleLeftPinned = this.leavesRenderInputModels.filter((model) => model.pinned === 'left' && (allLeafWidthsHidden || leafWidths[model.columnIndex] > 0));
3683
+ const visibleRightPinned = this.leavesRenderInputModels.filter((model) => model.pinned === 'right' && (allLeafWidthsHidden || leafWidths[model.columnIndex] > 0));
3684
+ const visibleLeftEndIndex = (_a = visibleLeftPinned[visibleLeftPinned.length - 1]) === null || _a === void 0 ? void 0 : _a.columnIndex;
3685
+ const visibleRightStartIndex = (_b = visibleRightPinned[0]) === null || _b === void 0 ? void 0 : _b.columnIndex;
3686
+ const visibleRightEndIndex = (_c = visibleRightPinned[visibleRightPinned.length - 1]) === null || _c === void 0 ? void 0 : _c.columnIndex;
3687
+ let hasRenderInputChange = this.hasPendingCellRenderInputChange;
3688
+ /**
3689
+ * Apply cell-owned visible boundaries and sticky offsets.
3690
+ *
3691
+ * @param {ColumnRenderInputModel} renderInput - Cell render input to update.
3692
+ * @param {HTMLElement} cell - Cell host supplying its effective colspan.
3693
+ * @returns {boolean} Whether the render input changed.
3694
+ */
3695
+ const setOffsets = (renderInput, cell) => {
3696
+ var _a;
3697
+ const colSpan = (_a = renderInput.colSpan) !== null && _a !== void 0 ? _a : (cell.colSpan || 1);
3698
+ /**
3699
+ * Check whether the current cell spans a leaf index.
3700
+ *
3701
+ * @param {number} index - Leaf index to test.
3702
+ * @returns {boolean} Whether the cell includes the index.
3703
+ */
3704
+ const spansIndex = (index) => Number.isInteger(index) &&
3705
+ index >= renderInput.columnIndex &&
3706
+ index < renderInput.columnIndex + colSpan;
3707
+ const isVisibleLeftEndPinned = spansIndex(visibleLeftEndIndex);
3708
+ const isVisibleRightStartPinned = spansIndex(visibleRightStartIndex);
3709
+ const isVisibleRightEndPinned = spansIndex(visibleRightEndIndex);
3710
+ const visibleColSpan = colSpan > 1 && !allLeafWidthsHidden
3711
+ ? Math.max(1, leafWidths
3712
+ .slice(renderInput.columnIndex, renderInput.columnIndex + colSpan)
3713
+ .filter((width) => width > 0).length)
3714
+ : null;
3715
+ let leftOffsetPx = null;
3716
+ let rightOffsetPx = null;
3717
+ if (renderInput.pinned === 'left') {
3718
+ leftOffsetPx = prevShadowThWidth + leafPrefixLeft[renderInput.columnIndex];
3719
+ }
3720
+ else if (renderInput.pinned === 'right') {
3721
+ const endIndex = renderInput.columnIndex + colSpan;
3722
+ rightOffsetPx =
3723
+ nextShadowThWidth + (leafPrefixLeft[leafWidths.length] - leafPrefixLeft[endIndex]);
3724
+ }
3725
+ const changed = renderInput.isVisibleLeftEndPinned !== isVisibleLeftEndPinned ||
3726
+ renderInput.isVisibleRightStartPinned !== isVisibleRightStartPinned ||
3727
+ renderInput.isVisibleRightEndPinned !== isVisibleRightEndPinned ||
3728
+ renderInput.visibleColSpan !== visibleColSpan ||
3729
+ renderInput.leftOffsetPx !== leftOffsetPx ||
3730
+ renderInput.rightOffsetPx !== rightOffsetPx;
3731
+ renderInput.isVisibleLeftEndPinned = isVisibleLeftEndPinned;
3732
+ renderInput.isVisibleRightStartPinned = isVisibleRightStartPinned;
3733
+ renderInput.isVisibleRightEndPinned = isVisibleRightEndPinned;
3734
+ renderInput.visibleColSpan = visibleColSpan;
3735
+ renderInput.leftOffsetPx = leftOffsetPx;
3736
+ renderInput.rightOffsetPx = rightOffsetPx;
3737
+ return changed;
3738
+ };
3739
+ headCellRenderInputMap.forEach((renderInput, cell) => {
3740
+ hasRenderInputChange = setOffsets(renderInput, cell) || hasRenderInputChange;
3741
+ });
3742
+ this.getPinnedColumnBodyCellRenderInputMap().forEach((renderInput, cell) => {
3743
+ hasRenderInputChange = setOffsets(renderInput, cell) || hasRenderInputChange;
3744
+ });
3745
+ this.footCellRenderInputMap.forEach((renderInput, cell) => {
3746
+ hasRenderInputChange = setOffsets(renderInput, cell) || hasRenderInputChange;
3747
+ });
3748
+ this.hasPendingCellRenderInputChange = false;
3749
+ if (hasRenderInputChange) {
3750
+ this.notifyRenderInputChange();
3751
+ }
3533
3752
  }
3534
3753
  /**
3535
3754
  * Register remote invocation callbacks to allow DOM nodes to request render inputs.
@@ -3542,7 +3761,18 @@ class VegaTableRenderInputController extends globalSlimmerRegistry.VegaSlimmer {
3542
3761
  return this.headCellRenderInputMap.get(headCell);
3543
3762
  });
3544
3763
  remoteInvocationRegistry.remoteInvocationRegistry.register(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalColumnBodyCellRenderInputRIC), (cell) => {
3545
- return this.pinnedColumnBodyCellRenderInputMap.get(cell);
3764
+ return this.bodyCellRenderInputMap.get(cell);
3765
+ });
3766
+ remoteInvocationRegistry.remoteInvocationRegistry.register(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalRowRenderInputRIC), (row) => {
3767
+ var _a;
3768
+ return (_a = this.rowRenderInputMap.get(row)) !== null && _a !== void 0 ? _a : this.createRowRenderInput(row);
3769
+ });
3770
+ remoteInvocationRegistry.remoteInvocationRegistry.register(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalColumnExpandCellRenderInputRIC), (row) => {
3771
+ var _a;
3772
+ return (_a = this.rowRenderInputMap.get(row)) !== null && _a !== void 0 ? _a : this.createRowRenderInput(row);
3773
+ });
3774
+ remoteInvocationRegistry.remoteInvocationRegistry.register(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalColumnFootCellRenderInputRIC), (cell) => {
3775
+ return this.footCellRenderInputMap.get(cell);
3546
3776
  });
3547
3777
  }
3548
3778
  /**
@@ -3552,11 +3782,118 @@ class VegaTableRenderInputController extends globalSlimmerRegistry.VegaSlimmer {
3552
3782
  remoteInvocationRegistry.remoteInvocationRegistry.unRegister(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalColumnHeadRowRenderInputRIC));
3553
3783
  remoteInvocationRegistry.remoteInvocationRegistry.unRegister(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalColumnHeadCellRenderInputRIC));
3554
3784
  remoteInvocationRegistry.remoteInvocationRegistry.unRegister(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalColumnBodyCellRenderInputRIC));
3785
+ remoteInvocationRegistry.remoteInvocationRegistry.unRegister(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalRowRenderInputRIC));
3786
+ remoteInvocationRegistry.remoteInvocationRegistry.unRegister(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalColumnExpandCellRenderInputRIC));
3787
+ remoteInvocationRegistry.remoteInvocationRegistry.unRegister(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalColumnFootCellRenderInputRIC));
3788
+ }
3789
+ /** Register authored template rows and cells with their render inputs. */
3790
+ registerTemplateCellRenderInputs() {
3791
+ const rows = this.host.querySelectorAll('vega-table-row, vega-table-foot-row');
3792
+ if (!rows.length) {
3793
+ if (this.footCellRenderInputMap.size)
3794
+ this.hasPendingCellRenderInputChange = true;
3795
+ this.footCellRenderInputMap = new Map();
3796
+ return;
3797
+ }
3798
+ const nextFootCellRenderInputMap = new Map();
3799
+ rows.forEach((row) => {
3800
+ this.addRowRenderInputMap(row, row.matches('vega-table-foot-row') ? 'foot' : 'body');
3801
+ let leafIndex = 0;
3802
+ Array.from(row.children).forEach((cell) => {
3803
+ if (cell.tagName !== 'VEGA-TABLE-CELL' && cell.tagName !== 'VEGA-TABLE-FOOT-CELL')
3804
+ return;
3805
+ const leafCell = cell;
3806
+ const base = this.leavesRenderInputModels[leafIndex];
3807
+ const colSpan = leafCell.colSpan || 1;
3808
+ if (base) {
3809
+ const candidate = ColumnRenderInputModel.withMergedBoundaries(base, this.leavesRenderInputModels.slice(leafIndex, leafIndex + colSpan));
3810
+ if (cell.tagName === 'VEGA-TABLE-FOOT-CELL') {
3811
+ const footCell = leafCell;
3812
+ const current = this.footCellRenderInputMap.get(footCell);
3813
+ const renderInput = this.hasSameCellStructure(current, candidate)
3814
+ ? current
3815
+ : candidate;
3816
+ if (renderInput !== current)
3817
+ this.hasPendingCellRenderInputChange = true;
3818
+ nextFootCellRenderInputMap.set(footCell, renderInput);
3819
+ }
3820
+ else {
3821
+ const bodyCell = leafCell;
3822
+ const current = this.bodyCellRenderInputMap.get(bodyCell);
3823
+ this.addCellRenderInputMap(bodyCell, this.hasSameCellStructure(current, candidate) ? current : candidate);
3824
+ }
3825
+ }
3826
+ leafIndex += colSpan;
3827
+ });
3828
+ });
3829
+ if (nextFootCellRenderInputMap.size !== this.footCellRenderInputMap.size) {
3830
+ this.hasPendingCellRenderInputChange = true;
3831
+ }
3832
+ this.footCellRenderInputMap = nextFootCellRenderInputMap;
3833
+ }
3834
+ /**
3835
+ * Compare the structural fields that determine a cell render input.
3836
+ *
3837
+ * @param {ColumnRenderInputModel} current - Existing render input.
3838
+ * @param {ColumnRenderInputModel} candidate - Newly computed render input.
3839
+ * @returns {boolean} Whether the structural fields match.
3840
+ */
3841
+ hasSameCellStructure(current, candidate) {
3842
+ return (!!current &&
3843
+ current.key === candidate.key &&
3844
+ current.pinned === candidate.pinned &&
3845
+ current.columnIndex === candidate.columnIndex &&
3846
+ current.isViewStart === candidate.isViewStart &&
3847
+ current.isViewEnd === candidate.isViewEnd &&
3848
+ current.isLeftEndPinned === candidate.isLeftEndPinned &&
3849
+ current.isRightStartPinned === candidate.isRightStartPinned &&
3850
+ current.isNoPinnedEnd === candidate.isNoPinnedEnd);
3851
+ }
3852
+ /** Notify consumers that table render inputs changed. */
3853
+ notifyRenderInputChange() {
3854
+ changeManager.ChangeManager.notify(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.host, vegaInternalEventId.VegaInternalVegaTableRenderInputChange), {});
3855
+ }
3856
+ /**
3857
+ * Create and cache render input for a requesting row.
3858
+ *
3859
+ * @param {HTMLElement} row - Requesting row host.
3860
+ * @returns {RowRenderInputModel} Cached row render input.
3861
+ */
3862
+ createRowRenderInput(row) {
3863
+ const kind = row.matches('vega-table-head-row')
3864
+ ? 'head'
3865
+ : row.matches('vega-table-foot-row')
3866
+ ? 'foot'
3867
+ : row.matches('vega-table-expand-row')
3868
+ ? 'expand'
3869
+ : 'body';
3870
+ const renderInput = this.createRowRenderInputModel(kind, row);
3871
+ this.rowRenderInputMap.set(row, renderInput);
3872
+ return renderInput;
3873
+ }
3874
+ /**
3875
+ * Build row render input from current table state.
3876
+ *
3877
+ * @param {RowKind} kind - Row variant.
3878
+ * @param {HTMLElement} row - Row host used for header metadata lookup.
3879
+ * @returns {RowRenderInputModel} Current row render input.
3880
+ */
3881
+ createRowRenderInputModel(kind, row) {
3882
+ const table = {
3883
+ hasExpandableRow: this.hasExpandableRow,
3884
+ paddingX: this.paddingX,
3885
+ rowDraggable: this.rowDraggable,
3886
+ rowExpandable: this.rowExpandable,
3887
+ rowSelection: this.rowSelection,
3888
+ };
3889
+ return RowRenderInputModel.from(this.columnStructureModel, table, kind, kind === 'head' ? this.headRowRenderInputMap.get(row) : null);
3555
3890
  }
3556
3891
  /**
3557
3892
  * Build the ColumnRenderInputModel forest from the current ColumnStructureModel.
3558
3893
  */
3559
3894
  setRenderInputModel() {
3895
+ this.rowRenderInputMap = new WeakMap();
3896
+ this.footCellRenderInputMap.clear();
3560
3897
  this.columnRenderInputModels = ColumnRenderInputModel.from(this.columnStructureModel);
3561
3898
  this.leavesRenderInputModels = this.columnRenderInputModels.flatMap((model) => model.getLeaves());
3562
3899
  }
@@ -3567,6 +3904,24 @@ __decorate$F([
3567
3904
  __decorate$F([
3568
3905
  globalSlimmerRegistry.MapToComponentField()
3569
3906
  ], VegaTableRenderInputController.prototype, "columnStructureModel", void 0);
3907
+ __decorate$F([
3908
+ globalSlimmerRegistry.MapToComponentField()
3909
+ ], VegaTableRenderInputController.prototype, "hasExpandableRow", void 0);
3910
+ __decorate$F([
3911
+ globalSlimmerRegistry.MapToComponentField()
3912
+ ], VegaTableRenderInputController.prototype, "paddingX", void 0);
3913
+ __decorate$F([
3914
+ globalSlimmerRegistry.MapToComponentField()
3915
+ ], VegaTableRenderInputController.prototype, "rowDraggable", void 0);
3916
+ __decorate$F([
3917
+ globalSlimmerRegistry.MapToComponentField()
3918
+ ], VegaTableRenderInputController.prototype, "rowExpandable", void 0);
3919
+ __decorate$F([
3920
+ globalSlimmerRegistry.MapToComponentField()
3921
+ ], VegaTableRenderInputController.prototype, "rowSelection", void 0);
3922
+ __decorate$F([
3923
+ globalSlimmerRegistry.MapToComponentField()
3924
+ ], VegaTableRenderInputController.prototype, "isTemplateRenderMode", void 0);
3570
3925
  __decorate$F([
3571
3926
  globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
3572
3927
  ], VegaTableRenderInputController.prototype, "connectedCallback", null);
@@ -3582,6 +3937,13 @@ __decorate$F([
3582
3937
  __decorate$F([
3583
3938
  globalSlimmerRegistry.MapToComponentMethod('watchColumnStructureModel')
3584
3939
  ], VegaTableRenderInputController.prototype, "watchColumnStructureModel", null);
3940
+ __decorate$F([
3941
+ globalSlimmerRegistry.MapToComponentMethod('watchHasExpandableRow'),
3942
+ globalSlimmerRegistry.MapToComponentMethod('watchPaddingX'),
3943
+ globalSlimmerRegistry.MapToComponentMethod('watchRowDraggable'),
3944
+ globalSlimmerRegistry.MapToComponentMethod('watchRowExpandable'),
3945
+ globalSlimmerRegistry.MapToComponentMethod('watchRowSelection')
3946
+ ], VegaTableRenderInputController.prototype, "watchRowStructure", null);
3585
3947
 
3586
3948
  var __decorate$E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3587
3949
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -3596,557 +3958,65 @@ class VegaTablePinnedRenderer extends globalSlimmerRegistry.VegaSlimmer {
3596
3958
  // eslint-disable-next-line
3597
3959
  target: () => this.host.shadowRoot.querySelector('table'),
3598
3960
  isDeferred: true,
3599
- /*
3600
- * The below method is e2e-test covered in
3601
- * @see{module:resize-pinned-position-by-edit-row}
3602
- */
3603
3961
  callback: /* istanbul ignore next */ async () => {
3604
- await this.host.componentOnReady().then(() => {
3605
- this.updateTableRowPinnedPosition();
3606
- this.updateTableCellPinnedPosition();
3607
- });
3962
+ await this.host.componentOnReady();
3963
+ this.recomputeRenderInputs();
3608
3964
  },
3609
3965
  });
3610
- this.previouslyStyledCells = new Set();
3611
- // Each set tracks cells where exactly one dynamic class was added — cleared per class so
3612
- // that static classes from render() on the same cell are never inadvertently stripped
3613
- // (e.g. a cell that is both isRightStartPinned and the last-visible body cell).
3614
- this.dynamicRightDividerCells = new Set();
3615
- this.dynamicLeftDividerCells = new Set();
3616
- this.dynamicHideRightBorderCells = new Set();
3617
- // Authored template cells whose shadow <td> colspan was shrunk for breakpoint-hidden columns,
3618
- // tracked so the authored colspan can be restored when pinning is removed at runtime (VD-9768).
3619
- this.templateColspanSyncedCells = new Set();
3620
- this.clearPinnedPositionsTaskQueue = new synchronizeTaskQueue.SynchronizeTaskQueue(1);
3621
3966
  }
3622
3967
  componentDidLoad() {
3623
3968
  }
3624
- async componentDidRender() {
3625
- await this.clearPinnedPositionsTaskQueue.runTask();
3626
- this.updateTableRowPinnedPosition();
3627
- const unreadyCells = this.updateTableCellPinnedPosition();
3628
- if (unreadyCells.length > 0) {
3629
- // In dev builds, Stencil's HMR flag forces loadModule() to always use a
3630
- // dynamic import(), so a brand-new cell's first render is deferred. We wait
3631
- // for each unready cell via componentOnReady() — which resolves exactly when
3632
- // the cell's shadow <td> is first rendered — then apply sticky positioning.
3633
- // In production (hotModuleReplacement=false) loadModule() is synchronous, so
3634
- // cells are always ready by componentDidRender and this branch is never reached.
3635
- await Promise.all(unreadyCells.map((cell) => cell.componentOnReady()));
3636
- this.updateTableCellPinnedPosition();
3637
- }
3969
+ componentDidRender() {
3970
+ this.recomputeRenderInputs();
3638
3971
  }
3639
3972
  watchColumnStructureModel() {
3640
- void this.clearPinnedPositionsTaskQueue.enqueue({
3641
- run: async () => {
3642
- this.clearAllPinnedPositions();
3643
- },
3644
- }, false);
3645
3973
  }
3646
- updateTableCellPinnedPosition() {
3974
+ recomputeRenderInputs() {
3975
+ this.host.style.setProperty('--vega-table-content-width', `${this.host.getBoundingClientRect().width}px`);
3647
3976
  if (!this.columnStructureModel.hasLeftPinnedColumn() &&
3648
3977
  !this.columnStructureModel.hasRightPinnedColumn())
3649
- return [];
3650
- // Clear stale dynamic boundary classes before re-evaluating breakpoint visibility.
3651
- // This ensures the classes are removed when the viewport grows back (e.g. column B
3652
- // becomes visible again) and not only when the column structure changes.
3653
- // Each set only removes the single class it tracks, preserving any other static
3654
- // border classes that render() placed on the same cell (VD-9565).
3655
- this.dynamicRightDividerCells.forEach((cell) => cell.classList.remove('right-divider'));
3656
- this.dynamicRightDividerCells.clear();
3657
- this.dynamicLeftDividerCells.forEach((cell) => cell.classList.remove('left-divider'));
3658
- this.dynamicLeftDividerCells.clear();
3659
- this.dynamicHideRightBorderCells.forEach((cell) => cell.classList.remove('hide-right-border'));
3660
- this.dynamicHideRightBorderCells.clear();
3661
- // if not have head row, it means no pinned, so no need to update.
3662
- // In template mode the authored rows live in light DOM (slotted), so resolve the row
3663
- // container root accordingly instead of always querying the table's shadow root.
3978
+ return;
3664
3979
  const row = this.getRowContainerRoot().querySelector('vega-table-head-row');
3665
- // to avoid window resize before table rendered.
3666
- // @see{module:resize-pinned-position-by-edit-row}
3667
3980
  /* istanbul ignore next */
3668
- if (!row)
3669
- return [];
3670
- const headCellRenderInputMap = this.vegaTableRenderInputController.getHeadCellRenderInputMap();
3671
- const pinnedColumnBodyCellRenderInputMap = this.vegaTableRenderInputController.getPinnedColumnBodyCellRenderInputMap();
3672
- const [prevShadowThWidth, nextShadowThWidth] = this.getRowShadowThWidths();
3673
- const leafWidths = this.getLeafWidths();
3674
- // Track the last visible left-pinned head cell and first visible right-pinned head cell
3675
- // to dynamically apply boundary classes when breakpoint-hidden columns shift the boundary.
3676
- let lastVisibleLeftPinnedHeadCell = null;
3677
- let firstVisibleRightPinnedHeadCell = null;
3678
- let lastVisibleRightPinnedHeadCell = null;
3679
- headCellRenderInputMap.forEach((renderInput, headCell) => {
3680
- var _a;
3681
- /* istanbul ignore next -- defensive null-guard: jsdom always provides shadowRoot */
3682
- const shadowCell = (_a = headCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
3683
- const isVisible = shadowCell ? shadowCell.getBoundingClientRect().width > 0 : false;
3684
- this.updateCellPinnedPosition(renderInput, headCell, prevShadowThWidth, leafWidths, nextShadowThWidth);
3685
- if (isVisible && renderInput.pinned === 'left') {
3686
- lastVisibleLeftPinnedHeadCell = shadowCell;
3687
- }
3688
- if (isVisible && renderInput.pinned === 'right' && !firstVisibleRightPinnedHeadCell) {
3689
- firstVisibleRightPinnedHeadCell = shadowCell;
3690
- }
3691
- if (isVisible && renderInput.pinned === 'right') {
3692
- lastVisibleRightPinnedHeadCell = shadowCell;
3693
- }
3694
- });
3695
- // Track last visible left-pinned body cells per row for boundary class propagation.
3696
- // Declared before the template positioning pass so authored cells feed the same maps the
3697
- // shared dynamic-boundary logic below consumes (one update flow for both render modes).
3698
- const lastVisibleLeftPinnedBodyCells = new Map();
3699
- const firstVisibleRightPinnedBodyCells = new Map();
3700
- const lastVisibleRightPinnedBodyCells = new Map();
3701
- // Template mode has no JSX ref callbacks to populate the body-cell render-input map, and
3702
- // its rows live in light DOM. Position the authored body/foot leaf cells directly by zipping
3703
- // them with the leaf render inputs (respecting colSpan), reusing the shared positioning primitive.
3704
- if (this.isTemplateRenderMode) {
3705
- this.updateTemplateLeafCellPinnedPosition(prevShadowThWidth, leafWidths, nextShadowThWidth, lastVisibleLeftPinnedBodyCells, firstVisibleRightPinnedBodyCells, lastVisibleRightPinnedBodyCells);
3706
- }
3707
- // Remove stale entries (disconnected cells) left over from prior renders (e.g. after drag reorder).
3708
- pinnedColumnBodyCellRenderInputMap.forEach((_, bodyCell) => {
3709
- /* istanbul ignore next -- defensive cleanup for disconnected cells; jsdom always keeps cells connected */
3710
- if (!(bodyCell === null || bodyCell === void 0 ? void 0 : bodyCell.isConnected)) {
3711
- pinnedColumnBodyCellRenderInputMap.delete(bodyCell);
3712
- }
3713
- });
3714
- // Collect body cells whose shadow DOM is not yet ready (newly created cells).
3715
- const unreadyCells = [];
3716
- pinnedColumnBodyCellRenderInputMap.forEach((renderInput, bodyCell) => {
3717
- var _a;
3718
- /* istanbul ignore next -- defensive null-guard: jsdom always provides shadowRoot */
3719
- const shadowCell = (_a = bodyCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
3720
- const isVisible = shadowCell ? shadowCell.getBoundingClientRect().width > 0 : false;
3721
- // Shadow DOM not ready yet — cell was just created (e.g. colspan collapsed after drag).
3722
- if (['left', 'right'].includes(renderInput.pinned) && !shadowCell) {
3723
- unreadyCells.push(bodyCell);
3724
- return;
3725
- }
3726
- this.updateCellPinnedPosition(renderInput, bodyCell, prevShadowThWidth, leafWidths, nextShadowThWidth);
3727
- if (isVisible && renderInput.pinned === 'left') {
3728
- // Use the parent row as the grouping key for per-row tracking
3729
- const parentRow = bodyCell.closest('vega-table-row');
3730
- if (parentRow) {
3731
- lastVisibleLeftPinnedBodyCells.set(parentRow, shadowCell);
3732
- }
3733
- }
3734
- if (isVisible && renderInput.pinned === 'right') {
3735
- const parentRow = bodyCell.closest('vega-table-row');
3736
- if (parentRow && !firstVisibleRightPinnedBodyCells.has(parentRow)) {
3737
- firstVisibleRightPinnedBodyCells.set(parentRow, shadowCell);
3738
- }
3739
- if (parentRow) {
3740
- lastVisibleRightPinnedBodyCells.set(parentRow, shadowCell);
3741
- }
3742
- }
3743
- });
3744
- // Apply boundary divider to the last visible left-pinned cell when the static
3745
- // isLeftEndPinned column is hidden by breakpoint.
3746
- if (lastVisibleLeftPinnedHeadCell &&
3747
- !lastVisibleLeftPinnedHeadCell.classList.contains('right-divider')) {
3748
- // Check if the static boundary column is hidden — if leafWidths shows 0 for the
3749
- // isLeftEndPinned column, the boundary has shifted.
3750
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
3751
- const staticBoundaryLeaf = leafRenderInputs.find((leaf) => leaf.isLeftEndPinned);
3752
- if (staticBoundaryLeaf && leafWidths[staticBoundaryLeaf.columnIndex] === 0) {
3753
- lastVisibleLeftPinnedHeadCell.classList.add('right-divider');
3754
- this.dynamicRightDividerCells.add(lastVisibleLeftPinnedHeadCell);
3755
- lastVisibleLeftPinnedBodyCells.forEach((cell) => {
3756
- // Only track cells that don't already hold `right-divider` from their
3757
- // static render (effectiveRenderInput.isLeftEndPinned). If we add a
3758
- // statically-classed cell here, the per-class clear on the next resize
3759
- // would erroneously remove the static class (VD-9540).
3760
- if (!cell.classList.contains('right-divider')) {
3761
- cell.classList.add('right-divider');
3762
- this.dynamicRightDividerCells.add(cell);
3763
- }
3764
- });
3765
- }
3766
- }
3767
- if (firstVisibleRightPinnedHeadCell &&
3768
- !firstVisibleRightPinnedHeadCell.classList.contains('left-divider')) {
3769
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
3770
- const staticBoundaryLeaf = leafRenderInputs.find((leaf) => leaf.isRightStartPinned);
3771
- if (staticBoundaryLeaf && leafWidths[staticBoundaryLeaf.columnIndex] === 0) {
3772
- firstVisibleRightPinnedHeadCell.classList.add('left-divider');
3773
- this.dynamicLeftDividerCells.add(firstVisibleRightPinnedHeadCell);
3774
- firstVisibleRightPinnedBodyCells.forEach((cell) => {
3775
- // Only track cells that don't already hold `left-divider` from their
3776
- // static render (effectiveRenderInput.isRightStartPinned). If we add a
3777
- // statically-classed cell here, the per-class clear on the next resize
3778
- // would erroneously remove the static class (VD-9540).
3779
- if (!cell.classList.contains('left-divider')) {
3780
- cell.classList.add('left-divider');
3781
- this.dynamicLeftDividerCells.add(cell);
3782
- }
3783
- });
3784
- }
3785
- }
3786
- // Apply hide-right-border to the last visible right-pinned cell when the structural
3787
- // right-most column is hidden by breakpoint. Without this, the new right-most visible
3788
- // pinned column keeps a right border while the head cell suppresses it (head cells use
3789
- // isViewEnd), leaving an extra vertical border at the table's right edge (VD-9565).
3790
- if (lastVisibleRightPinnedHeadCell &&
3791
- !lastVisibleRightPinnedHeadCell.classList.contains('hide-right-border')) {
3792
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
3793
- // The structural right-most column is the last right-pinned leaf. Leaf render
3794
- // inputs do not carry `isViewEnd` (unlike head render inputs), so identify the
3795
- // boundary via `pinned` order instead.
3796
- const rightPinnedLeaves = leafRenderInputs.filter((leaf) => leaf.pinned === 'right');
3797
- const structuralEndLeaf = rightPinnedLeaves[rightPinnedLeaves.length - 1];
3798
- if (structuralEndLeaf && leafWidths[structuralEndLeaf.columnIndex] === 0) {
3799
- lastVisibleRightPinnedHeadCell.classList.add('hide-right-border');
3800
- this.dynamicHideRightBorderCells.add(lastVisibleRightPinnedHeadCell);
3801
- lastVisibleRightPinnedBodyCells.forEach((cell) => {
3802
- // Only track cells that don't already hold `hide-right-border` from their
3803
- // static render (isViewEnd/isNoPinnedEnd). Adding a statically-classed cell
3804
- // here would let the per-class clear erroneously strip the static class on
3805
- // the next resize (mirrors the VD-9540 divider guard).
3806
- if (!cell.classList.contains('hide-right-border')) {
3807
- cell.classList.add('hide-right-border');
3808
- this.dynamicHideRightBorderCells.add(cell);
3809
- }
3810
- });
3811
- }
3812
- }
3813
- // Sync colspan on pinned body cells that span breakpoint-hidden columns.
3814
- // Chrome does not honour visibility:collapse / display:none on <col> for table layout,
3815
- // so we directly adjust the shadow <td> colspan attribute to exclude hidden columns (VD-9540).
3816
- this.syncColspanForHiddenColumns(leafWidths, pinnedColumnBodyCellRenderInputMap);
3817
- return unreadyCells;
3981
+ if (!(row === null || row === void 0 ? void 0 : row.shadowRoot))
3982
+ return;
3983
+ const [leftRowFixedWidth, rightRowFixedWidth] = this.getRowFixedWidths(row);
3984
+ this.vegaTableRenderInputController.recomputePinnedOffsets(leftRowFixedWidth, rightRowFixedWidth, this.getLeafWidths());
3818
3985
  }
3819
- /**
3820
- * Resolve the DOM root that holds the table rows.
3821
- *
3822
- * In data-source mode rows are rendered into the table's shadow root; in template mode the
3823
- * authored rows are slotted, so they live in the host's light DOM.
3824
- *
3825
- * @returns {ShadowRoot | HTMLElement} The container to query rows from.
3826
- */
3827
3986
  getRowContainerRoot() {
3828
3987
  return this.isTemplateRenderMode ? this.host : this.host.shadowRoot;
3829
3988
  }
3830
- /**
3831
- * Position authored template body and foot leaf cells by zipping them with the leaf render
3832
- * inputs in authored order, advancing by each cell's colSpan. Also applies the pinned-boundary
3833
- * divider classes (mirroring the body cell's render()), since authored body/foot cells have no
3834
- * render-input of their own in template mode.
3835
- *
3836
- * @param {number} prevShadowThWidth - Aggregate width of leading fixed columns (table left padding).
3837
- * @param {number[]} leafWidths - Rendered width of each leaf column, indexed by columnIndex.
3838
- * @param {number} nextShadowThWidth - Aggregate width of trailing fixed columns (table right padding).
3839
- */
3840
- updateTemplateLeafCellPinnedPosition(prevShadowThWidth, leafWidths, nextShadowThWidth, lastVisibleLeftPinnedBodyCells, firstVisibleRightPinnedBodyCells, lastVisibleRightPinnedBodyCells) {
3841
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
3842
- // Off-screen / jsdom renders report every width as 0; skip colspan sync there so we don't
3843
- // collapse every span to 1 (mirrors the data-source syncColspanForHiddenColumns guard).
3844
- const allLeafWidthsHidden = leafWidths.every((w) => w === 0);
3845
- this.getRowContainerRoot()
3846
- .querySelectorAll('vega-table-row, vega-table-foot-row')
3847
- .forEach((row) => {
3848
- let leafIndex = 0;
3849
- Array.from(row.children).forEach((cell) => {
3850
- if (cell.tagName !== 'VEGA-TABLE-CELL' && cell.tagName !== 'VEGA-TABLE-FOOT-CELL')
3851
- return;
3852
- const leafCell = cell;
3853
- const renderInput = leafRenderInputs[leafIndex];
3854
- // Unlike data-source mode (resolveBodyColSpan), template mode positions the authored
3855
- // <td> as-is and intentionally does NOT clamp col-span at a pinned boundary: the
3856
- // consumer owns this literal DOM, so a col-span crossing pinned <-> unpinned is an
3857
- // invalid authoring choice (a cell cannot be both frozen and scrolling), not a case
3858
- // the component rewrites.
3859
- const colSpan = this.resolveCellColSpan(leafCell, renderInput);
3860
- if (renderInput) {
3861
- this.updateCellPinnedPosition(renderInput, leafCell, prevShadowThWidth, leafWidths, nextShadowThWidth);
3862
- this.applyTemplateLeafDividerClass(leafCell, leafRenderInputs.slice(leafIndex, leafIndex + colSpan));
3863
- this.syncTemplateLeafColspan(leafCell, renderInput, colSpan, leafWidths, allLeafWidthsHidden);
3864
- this.trackVisiblePinnedTemplateCell(row, leafCell, renderInput, lastVisibleLeftPinnedBodyCells, firstVisibleRightPinnedBodyCells, lastVisibleRightPinnedBodyCells);
3865
- }
3866
- leafIndex += colSpan;
3867
- });
3868
- });
3869
- }
3870
- /**
3871
- * Record an authored template leaf cell's shadow cell as the last visible left-pinned / first &
3872
- * last visible right-pinned cell of its row, so the shared dynamic-boundary logic can shift the
3873
- * boundary divider onto it when the static boundary column is breakpoint-hidden.
3874
- *
3875
- * @param {HTMLElement} row - The authored body or foot row (used as the per-row grouping key).
3876
- * @param {HTMLVegaTableCellElement} leafCell - Authored body or foot cell host.
3877
- * @param {ColumnRenderInputModel} renderInput - Render input of the cell's first leaf.
3878
- * @param {Map<HTMLElement, HTMLElement>} lastVisibleLeftPinnedBodyCells - Per-row last visible left-pinned shadow cell.
3879
- * @param {Map<HTMLElement, HTMLElement>} firstVisibleRightPinnedBodyCells - Per-row first visible right-pinned shadow cell.
3880
- * @param {Map<HTMLElement, HTMLElement>} lastVisibleRightPinnedBodyCells - Per-row last visible right-pinned shadow cell.
3881
- */
3882
- trackVisiblePinnedTemplateCell(row, leafCell, renderInput, lastVisibleLeftPinnedBodyCells, firstVisibleRightPinnedBodyCells, lastVisibleRightPinnedBodyCells) {
3883
- var _a;
3884
- const shadowCell = (_a = leafCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
3885
- if (!shadowCell || shadowCell.getBoundingClientRect().width <= 0)
3886
- return;
3887
- if (renderInput.pinned === 'left') {
3888
- lastVisibleLeftPinnedBodyCells.set(row, shadowCell);
3889
- }
3890
- if (renderInput.pinned === 'right') {
3891
- if (!firstVisibleRightPinnedBodyCells.has(row)) {
3892
- firstVisibleRightPinnedBodyCells.set(row, shadowCell);
3893
- }
3894
- lastVisibleRightPinnedBodyCells.set(row, shadowCell);
3895
- }
3896
- }
3897
- /**
3898
- * Reduce an authored template pinned cell's shadow <td> colspan to the number of *visible*
3899
- * columns it spans. Breakpoint-hidden columns report width 0 but Chrome still counts them in the
3900
- * table grid, so without this a pinned span drifts out of column-alignment with the header
3901
- * (VD-9540). Only applies to pinned cells; skipped off-screen / in jsdom where every width is 0.
3902
- *
3903
- * @param {HTMLVegaTableCellElement} leafCell - Authored body or foot cell host.
3904
- * @param {ColumnRenderInputModel} renderInput - Render input of the cell's first leaf.
3905
- * @param {number} colSpan - The cell's originally declared colspan.
3906
- * @param {number[]} leafWidths - Rendered width of each leaf column, indexed by columnIndex.
3907
- * @param {boolean} allLeafWidthsHidden - True when every leaf width is 0 (off-screen / jsdom).
3908
- */
3909
- syncTemplateLeafColspan(leafCell, renderInput, colSpan, leafWidths, allLeafWidthsHidden) {
3910
- var _a;
3911
- if (colSpan <= 1 || allLeafWidthsHidden)
3912
- return;
3913
- if (!['left', 'right'].includes(renderInput.pinned))
3914
- return;
3915
- const shadowTd = (_a = leafCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
3916
- if (!shadowTd)
3917
- return;
3918
- const visibleColspan = this.countVisibleColspan(leafWidths, renderInput.columnIndex, colSpan);
3919
- shadowTd.setAttribute('colspan', String(visibleColspan));
3920
- if (visibleColspan !== colSpan) {
3921
- this.templateColspanSyncedCells.add(leafCell);
3922
- }
3923
- else {
3924
- this.templateColspanSyncedCells.delete(leafCell);
3925
- }
3926
- }
3927
- /**
3928
- * Restore the authored colspan on every template cell whose shadow <td> was shrunk by
3929
- * {@link syncTemplateLeafColspan}. Runs on cleanup so removing `pinned` at runtime does not leave
3930
- * a body/foot cell stuck at the breakpoint-shrunk colspan once positioning no longer runs (VD-9768).
3931
- */
3932
- restoreTemplateLeafColspan() {
3933
- this.templateColspanSyncedCells.forEach((leafCell) => {
3934
- var _a, _b;
3935
- const shadowTd = (_a = leafCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
3936
- if (!shadowTd)
3937
- return;
3938
- const authoredColSpan = (_b = leafCell.colSpan) !== null && _b !== void 0 ? _b : 1;
3939
- if (authoredColSpan > 1) {
3940
- shadowTd.setAttribute('colspan', String(authoredColSpan));
3941
- }
3942
- else {
3943
- shadowTd.removeAttribute('colspan');
3944
- }
3945
- });
3946
- this.templateColspanSyncedCells.clear();
3947
- }
3948
- /**
3949
- * Apply the pinned-boundary divider classes to an authored template body/foot cell's shadow
3950
- * cell, merging boundary flags across the leaves the cell spans. Tracked in the dynamic sets so
3951
- * the next positioning pass clears and re-evaluates them (matching the data-source cleanup path).
3952
- *
3953
- * @param {HTMLVegaTableCellElement} cell - Authored body or foot cell host.
3954
- * @param {ColumnRenderInputModel[]} spannedLeaves - Leaf render inputs the cell spans.
3955
- */
3956
- applyTemplateLeafDividerClass(cell, spannedLeaves) {
3957
- var _a;
3958
- const shadowCell = (_a = cell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
3959
- if (!shadowCell)
3960
- return;
3961
- const spans = (predicate) => spannedLeaves.some((leaf) => !!leaf && predicate(leaf));
3962
- if (spans((leaf) => leaf.isLeftEndPinned)) {
3963
- shadowCell.classList.add('right-divider');
3964
- this.dynamicRightDividerCells.add(shadowCell);
3965
- }
3966
- if (spans((leaf) => leaf.isRightStartPinned)) {
3967
- shadowCell.classList.add('left-divider');
3968
- this.dynamicLeftDividerCells.add(shadowCell);
3969
- }
3970
- if (spans((leaf) => leaf.isNoPinnedEnd || leaf.isViewEnd)) {
3971
- shadowCell.classList.add('hide-right-border');
3972
- this.dynamicHideRightBorderCells.add(shadowCell);
3973
- }
3974
- }
3975
- getRowShadowThWidths() {
3976
- const row = this.getRowContainerRoot().querySelector('vega-table-head-row');
3977
- const rowShadow = row.shadowRoot;
3978
- const firstTh = rowShadow.querySelector('th:first-of-type');
3979
- const draggableTh = rowShadow.querySelector('.vega-table-draggable-column');
3980
- const selectionTh = rowShadow.querySelector('.vega-table-selection-column');
3981
- const expandTh = rowShadow.querySelector('.vega-table-expand-action-column');
3982
- const lastTh = rowShadow.querySelector('th:last-of-type');
3983
- if (firstTh) {
3984
- const prevWidth = firstTh.getBoundingClientRect().width +
3985
- ((selectionTh === null || selectionTh === void 0 ? void 0 : selectionTh.getBoundingClientRect().width) || 0) +
3986
- ((draggableTh === null || draggableTh === void 0 ? void 0 : draggableTh.getBoundingClientRect().width) || 0);
3987
- const nextWidth = ((expandTh === null || expandTh === void 0 ? void 0 : expandTh.getBoundingClientRect().width) || 0) + lastTh.getBoundingClientRect().width;
3988
- return [prevWidth, nextWidth];
3989
- }
3990
- // to avoid window resize before row rendered.
3991
- // @see{module:resize-pinned-position-by-edit-row}
3989
+ getRowFixedWidths(row) {
3990
+ const firstCell = row.shadowRoot.querySelector('th:first-of-type');
3991
+ const draggableCell = row.shadowRoot.querySelector('.vega-table-draggable-column');
3992
+ const selectionCell = row.shadowRoot.querySelector('.vega-table-selection-column');
3993
+ const expandCell = row.shadowRoot.querySelector('.vega-table-expand-action-column');
3994
+ const lastCell = row.shadowRoot.querySelector('th:last-of-type');
3992
3995
  /* istanbul ignore next */
3993
- return [0, 0];
3996
+ if (!firstCell)
3997
+ return [0, 0];
3998
+ return [
3999
+ firstCell.getBoundingClientRect().width +
4000
+ ((selectionCell === null || selectionCell === void 0 ? void 0 : selectionCell.getBoundingClientRect().width) || 0) +
4001
+ ((draggableCell === null || draggableCell === void 0 ? void 0 : draggableCell.getBoundingClientRect().width) || 0),
4002
+ ((expandCell === null || expandCell === void 0 ? void 0 : expandCell.getBoundingClientRect().width) || 0) + ((lastCell === null || lastCell === void 0 ? void 0 : lastCell.getBoundingClientRect().width) || 0),
4003
+ ];
3994
4004
  }
3995
4005
  getLeafWidths() {
3996
4006
  const headCellRenderInputMap = this.vegaTableRenderInputController.getHeadCellRenderInputMap();
3997
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
3998
- return leafRenderInputs.map((leaf) => {
3999
- var _a;
4007
+ return this.vegaTableRenderInputController
4008
+ .getLeafRenderInputs()
4009
+ .map((leaf) => {
4010
+ var _a, _b;
4000
4011
  for (const [cell, renderInput] of headCellRenderInputMap.entries()) {
4001
4012
  if (leaf === renderInput) {
4002
- // to avoid window resize before cell rendered.
4003
- // @see{module:resize-pinned-position-by-edit-row}
4004
4013
  /* istanbul ignore next */
4005
- return ((_a = cell.shadowRoot.querySelector('th, td')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 0;
4006
- }
4007
- }
4008
- });
4009
- }
4010
- syncColspanForHiddenColumns(leafWidths, pinnedColumnBodyCellRenderInputMap) {
4011
- // NOTE: renderInput.colSpan is null for flat (non-group) tables — it only holds a value for
4012
- // group-column subtree spans. We read the original colspan from the component prop (bodyCell.colSpan)
4013
- // which is always the rendered value, unaffected by our shadow-DOM attribute writes.
4014
- //
4015
- // Skip when ALL leaf widths are 0 — that means the table is running in jsdom / an off-screen
4016
- // context where getBoundingClientRect() always returns 0. Adjusting in that state would
4017
- // incorrectly reduce every colspan to 1 (no visible columns = Math.max(1,0)=1).
4018
- if (leafWidths.every((w) => w === 0))
4019
- return;
4020
- pinnedColumnBodyCellRenderInputMap.forEach((renderInput, bodyCell) => {
4021
- var _a;
4022
- const originalColspan = bodyCell.colSpan || 1;
4023
- if (originalColspan <= 1)
4024
- return;
4025
- /* istanbul ignore next -- defensive null-guard: jsdom always provides shadowRoot */
4026
- const shadowTd = (_a = bodyCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('td');
4027
- /* istanbul ignore next -- shadowTd is always present in jsdom */
4028
- if (!shadowTd)
4029
- return;
4030
- shadowTd.setAttribute('colspan', String(this.countVisibleColspan(leafWidths, renderInput.columnIndex, originalColspan)));
4031
- });
4032
- }
4033
- /**
4034
- * Count how many columns in a span are actually visible (leaf width > 0). Breakpoint-hidden
4035
- * columns report width 0 because their <th> is display:none; Chrome ignores that on the table
4036
- * grid, so a spanning cell's shadow <td> colspan must be reduced to the visible count to stay
4037
- * column-aligned (VD-9540). Shared by data-source and template positioning paths.
4038
- *
4039
- * @param {number[]} leafWidths - Rendered width of each leaf column, indexed by columnIndex.
4040
- * @param {number} startIndex - columnIndex of the first leaf the spanning cell covers.
4041
- * @param {number} declaredColspan - The cell's originally declared colspan.
4042
- * @returns {number} The number of visible columns in the span (>= 1).
4043
- */
4044
- countVisibleColspan(leafWidths, startIndex, declaredColspan) {
4045
- const spanned = leafWidths.slice(startIndex, startIndex + declaredColspan);
4046
- return Math.max(1, spanned.filter((w) => w > 0).length);
4047
- }
4048
- resolveCellColSpan(cell, renderInput) {
4049
- var _a;
4050
- // Group-column render inputs carry an explicit colSpan; flat/leaf and authored template
4051
- // cells fall back to the col-span prop on the cell. The authored value is honored verbatim
4052
- // (no pinned-boundary clamping) — see updateTemplateLeafCellPinnedPosition.
4053
- const colSpan = (_a = renderInput === null || renderInput === void 0 ? void 0 : renderInput.colSpan) !== null && _a !== void 0 ? _a : null;
4054
- return typeGuard.isNonNullable(colSpan) ? colSpan : cell.colSpan || 1;
4055
- }
4056
- updateCellPinnedPosition(renderInput, headCell, prevShadowThWidth, leafWidths, nextShadowThWidth) {
4057
- if (['left', 'right'].includes(renderInput.pinned)) {
4058
- const shadowCell = headCell.shadowRoot.querySelector('th, td');
4059
- if (renderInput.pinned === 'left') {
4060
- const position = prevShadowThWidth +
4061
- leafWidths
4062
- .slice(0, renderInput.columnIndex)
4063
- .reduce((count, colWidth) => count + colWidth, 0);
4064
- this.updatePinnedPosition(shadowCell, 'left', position);
4065
- }
4066
- if (renderInput.pinned === 'right') {
4067
- // renderInput.colSpan is null for flat (non-group) tables — it only carries a value
4068
- // for group-column subtree spans (multi-level headers). For body cells with an HTML
4069
- // colspan (e.g. colSpan:2 spanning the last two right-pinned columns), we read the
4070
- // actual span from the host component prop so the right-edge offset is calculated
4071
- // over the full spanned width rather than just one column (VD-9565).
4072
- const colSpan = this.resolveCellColSpan(headCell, renderInput);
4073
- const position = nextShadowThWidth +
4074
- leafWidths
4075
- .slice(renderInput.columnIndex + colSpan)
4076
- .reduce((count, colWidth) => count + colWidth, 0);
4077
- this.updatePinnedPosition(shadowCell, 'right', position);
4078
- }
4079
- }
4080
- }
4081
- updateTableRowPinnedPosition() {
4082
- const hasLeftPinnedColumn = this.columnStructureModel.hasLeftPinnedColumn();
4083
- const hasRightPinnedColumn = this.columnStructureModel.hasRightPinnedColumn();
4084
- const tableWidth = this.host.getBoundingClientRect().width;
4085
- const leftPadding = ui$1.extractNumberFromString(this.paddingX[0]);
4086
- const rightPadding = ui$1.extractNumberFromString(this.paddingX[1]);
4087
- // table width - padding(8*2) - border(2);
4088
- const expandContainerWidth = tableWidth - leftPadding - rightPadding - 2;
4089
- this.getRowContainerRoot()
4090
- .querySelectorAll('vega-table-head-row, vega-table-row, vega-table-expand-row, vega-table-foot-row')
4091
- .forEach((row) => {
4092
- const rowShadow = row.shadowRoot;
4093
- if (hasLeftPinnedColumn) {
4094
- const firstCell = rowShadow.querySelector('th:first-of-type, td:first-of-type');
4095
- const selectionCell = rowShadow.querySelector('.vega-table-selection-column');
4096
- const draggableCell = rowShadow.querySelector('.vega-table-draggable-column');
4097
- this.updatePinnedPosition(firstCell, 'left', 0);
4098
- this.updatePinnedPosition(draggableCell, 'left', leftPadding);
4099
- const draggableCellWidth = (draggableCell === null || draggableCell === void 0 ? void 0 : draggableCell.getBoundingClientRect().width) || 0;
4100
- this.updatePinnedPosition(selectionCell, 'left', leftPadding + draggableCellWidth);
4101
- }
4102
- if (hasRightPinnedColumn) {
4103
- const expandCell = rowShadow.querySelector('.vega-table-expand-action-column');
4104
- const lastCell = rowShadow.querySelector('th:last-of-type, td:last-of-type');
4105
- this.updatePinnedPosition(expandCell, 'right', rightPadding);
4106
- this.updatePinnedPosition(lastCell, 'right', 0);
4107
- }
4108
- if (hasRightPinnedColumn || hasLeftPinnedColumn) {
4109
- const expandCell = rowShadow.querySelector('.vega-table-expanded-row-slot-container');
4110
- if (expandCell) {
4111
- const slotInnerContainer = expandCell.querySelector('.expanded-row-slot-inner');
4112
- this.updatePinnedPosition(slotInnerContainer, 'left', leftPadding);
4113
- // we should set the width to make the expand slot not scroll by table scroll.
4114
- // ticket: https://gethired.atlassian.net/browse/VD-7015
4115
- slotInnerContainer.style.width = `${expandContainerWidth}px`;
4014
+ 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;
4116
4015
  }
4117
4016
  }
4017
+ return 0;
4118
4018
  });
4119
4019
  }
4120
- clearAllPinnedPositions() {
4121
- this.previouslyStyledCells.forEach((cell) => {
4122
- cell.style.position = '';
4123
- cell.style.zIndex = '';
4124
- cell.style.left = '';
4125
- cell.style.right = '';
4126
- if (cell.classList.contains('expanded-row-slot-inner')) {
4127
- cell.style.width = '';
4128
- }
4129
- });
4130
- // Remove boundary classes only from cells where they were dynamically added
4131
- // (breakpoint-shifted boundaries). Static boundary classes from renderInput are
4132
- // re-applied by the cell's own render cycle.
4133
- this.dynamicRightDividerCells.forEach((cell) => cell.classList.remove('right-divider'));
4134
- this.dynamicRightDividerCells.clear();
4135
- this.dynamicLeftDividerCells.forEach((cell) => cell.classList.remove('left-divider'));
4136
- this.dynamicLeftDividerCells.clear();
4137
- this.dynamicHideRightBorderCells.forEach((cell) => cell.classList.remove('hide-right-border'));
4138
- this.dynamicHideRightBorderCells.clear();
4139
- this.restoreTemplateLeafColspan();
4140
- this.previouslyStyledCells.clear();
4141
- }
4142
- updatePinnedPosition(cell, type, position) {
4143
- if (!cell)
4144
- return;
4145
- cell.style.position = 'sticky';
4146
- cell.style.zIndex = '1';
4147
- cell.style[type] = `${position}px`;
4148
- this.previouslyStyledCells.add(cell);
4149
- }
4150
4020
  }
4151
4021
  __decorate$E([
4152
4022
  globalSlimmerRegistry.MapToComponentField()
@@ -4154,9 +4024,6 @@ __decorate$E([
4154
4024
  __decorate$E([
4155
4025
  globalSlimmerRegistry.MapToComponentField()
4156
4026
  ], VegaTablePinnedRenderer.prototype, "columnStructureModel", void 0);
4157
- __decorate$E([
4158
- globalSlimmerRegistry.MapToComponentField()
4159
- ], VegaTablePinnedRenderer.prototype, "paddingX", void 0);
4160
4027
  __decorate$E([
4161
4028
  globalSlimmerRegistry.MapToComponentField()
4162
4029
  ], VegaTablePinnedRenderer.prototype, "isTemplateRenderMode", void 0);
@@ -5030,6 +4897,7 @@ class VegaTableHeadTemplateStructureController extends globalSlimmerRegistry.Veg
5030
4897
  return;
5031
4898
  const resolvedRowRenderInputs = rowRenderInputs;
5032
4899
  this.vegaTableRenderInputController.addHeadRowRenderInputMap(templateRow, resolvedRowRenderInputs);
4900
+ this.vegaTableRenderInputController.addRowRenderInputMap(templateRow, 'head');
5033
4901
  templateCells.forEach((templateCell, cellIndex) => {
5034
4902
  this.vegaTableRenderInputController.addHeadCellRenderInputMap(templateCell, resolvedRowRenderInputs[cellIndex]);
5035
4903
  });
@@ -6141,6 +6009,7 @@ class VegaTableChildRenderInputConsumerSlimmer extends globalSlimmerRegistry.Veg
6141
6009
  registerRenderInputChangeObserver() {
6142
6010
  this.observer = new observer.Observer((_input) => true, () => {
6143
6011
  this.renderInput = this.fetchRenderInput();
6012
+ index.forceUpdate(this.host);
6144
6013
  });
6145
6014
  changeManager.ChangeManager.register(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.table, vegaInternalEventId.VegaInternalVegaTableRenderInputChange), this.observer);
6146
6015
  }
@@ -6167,7 +6036,7 @@ __decorate$w([
6167
6036
  globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
6168
6037
  ], VegaTableChildRenderInputConsumerSlimmer.prototype, "disconnectRenderInputObserver", null);
6169
6038
 
6170
- 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}";
6039
+ 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}";
6171
6040
 
6172
6041
  var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6173
6042
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -6212,23 +6081,36 @@ const VegaTableCell = class {
6212
6081
  }
6213
6082
  }
6214
6083
  render() {
6215
- var _a, _b, _c, _d, _e, _f;
6084
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
6085
+ const renderInput = this.renderInput;
6086
+ const pinned = renderInput === null || renderInput === void 0 ? void 0 : renderInput.pinned;
6087
+ const leftOffsetPx = (_a = renderInput === null || renderInput === void 0 ? void 0 : renderInput.leftOffsetPx) !== null && _a !== void 0 ? _a : 0;
6088
+ const rightOffsetPx = (_b = renderInput === null || renderInput === void 0 ? void 0 : renderInput.rightOffsetPx) !== null && _b !== void 0 ? _b : 0;
6216
6089
  const responsiveClass = generateResponsiveClass(this.breakpoint, 'v-table-cell');
6217
6090
  const columnAlignClass = generateTextAlignClass(this.textAlign);
6218
6091
  const overflowClass = this.getCellOverflowClass();
6219
- const columnClasses = [responsiveClass, columnAlignClass, 'vega-table-cell'];
6092
+ const columnClasses = [
6093
+ responsiveClass,
6094
+ columnAlignClass,
6095
+ 'vega-table-cell',
6096
+ pinned === 'left' && 'pinned-left',
6097
+ pinned === 'right' && 'pinned-right',
6098
+ ];
6220
6099
  if (!featureFlagController.FeatureFlag.isEnabled('VEGA_TABLE.ENABLE_NEW_CELL_BREAK_WORDS_STYLE')) {
6221
6100
  columnClasses.push('break-word');
6222
6101
  }
6223
- if ((_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.isRightStartPinned) {
6102
+ if (((_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.isRightStartPinned) || ((_d = this.renderInput) === null || _d === void 0 ? void 0 : _d.isVisibleRightStartPinned)) {
6224
6103
  columnClasses.push('left-divider');
6225
6104
  }
6226
- if ((_b = this.renderInput) === null || _b === void 0 ? void 0 : _b.isLeftEndPinned) {
6105
+ if (((_e = this.renderInput) === null || _e === void 0 ? void 0 : _e.isLeftEndPinned) || ((_f = this.renderInput) === null || _f === void 0 ? void 0 : _f.isVisibleLeftEndPinned)) {
6227
6106
  columnClasses.push('right-divider');
6228
6107
  }
6229
- if (((_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.isNoPinnedEnd) || ((_d = this.renderInput) === null || _d === void 0 ? void 0 : _d.isViewEnd)) {
6108
+ if (((_g = this.renderInput) === null || _g === void 0 ? void 0 : _g.isNoPinnedEnd) ||
6109
+ ((_h = this.renderInput) === null || _h === void 0 ? void 0 : _h.isViewEnd) ||
6110
+ ((_j = this.renderInput) === null || _j === void 0 ? void 0 : _j.isVisibleRightEndPinned)) {
6230
6111
  columnClasses.push('hide-right-border');
6231
6112
  }
6113
+ const effectiveColSpan = (_l = (_k = this.renderInput) === null || _k === void 0 ? void 0 : _k.visibleColSpan) !== null && _l !== void 0 ? _l : this.colSpan;
6232
6114
  return component.sanitizeVegaComponent(index.h(index.Host, { class: ui$1.arrayToClassString([
6233
6115
  `density-${responsiveFormatFacade.ResponsiveFormatFacade.formatCustom(this.density)}`,
6234
6116
  this.rowDivider && 'row-divider',
@@ -6237,11 +6119,15 @@ const VegaTableCell = class {
6237
6119
  this.checked && 'checked',
6238
6120
  this.striped && 'striped',
6239
6121
  this.expanded && 'expanded',
6240
- ]), "aria-colspan": ((_e = this.colSpan) !== null && _e !== void 0 ? _e : 0) > 1 ? String(this.colSpan) : null }, index.h("td", { class: ui$1.arrayToClassString(columnClasses), part: "cell", colSpan: ((_f = this.colSpan) !== null && _f !== void 0 ? _f : 0) > 1 ? this.colSpan : null,
6122
+ ]), "aria-colspan": (effectiveColSpan !== null && effectiveColSpan !== void 0 ? effectiveColSpan : 0) > 1 ? String(effectiveColSpan) : null }, index.h("td", { class: ui$1.arrayToClassString(columnClasses), part: "cell", colSpan: (effectiveColSpan !== null && effectiveColSpan !== void 0 ? effectiveColSpan : 0) > 1 ? effectiveColSpan : null,
6241
6123
  /* eslint-disable-next-line react/jsx-no-bind */
6242
6124
  onMouseEnter: this.onMouseEnter.bind(this),
6243
6125
  /* eslint-disable-next-line react/jsx-no-bind */
6244
- onMouseLeave: this.onMouseLeave.bind(this), style: { width: this.width } }, this.overflow === 'ellipsis' && this.ellipsisShowTooltip ? (index.h("vega-tooltip", { text: this.ellipsisTooltipText, trigger: this.ellipsisTooltipTrigger, maxWidth: 300, style: { display: 'block', width: '100%', minWidth: '0' } }, index.h("div", { class: overflowClass, ref: (ref) => {
6126
+ onMouseLeave: this.onMouseLeave.bind(this), style: {
6127
+ 'width': this.width,
6128
+ '--pinned-offset-left': pinned === 'left' ? `${leftOffsetPx}px` : null,
6129
+ '--pinned-offset-right': pinned === 'right' ? `${rightOffsetPx}px` : null,
6130
+ } }, this.overflow === 'ellipsis' && this.ellipsisShowTooltip ? (index.h("vega-tooltip", { text: this.ellipsisTooltipText, trigger: this.ellipsisTooltipTrigger, maxWidth: 300, style: { display: 'block', width: '100%', minWidth: '0' } }, index.h("div", { class: overflowClass, ref: (ref) => {
6245
6131
  this.overflowContentRef = ref;
6246
6132
  } }, index.h("slot", { ref: (ref) => {
6247
6133
  this.slotRef = ref;
@@ -6326,22 +6212,27 @@ var __decorate$u = (undefined && undefined.__decorate) || function (decorators,
6326
6212
  };
6327
6213
  class VegaTableExpandRowRenderer extends globalSlimmerRegistry.VegaSlimmer {
6328
6214
  render() {
6215
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
6329
6216
  return (index.h("tr", { class: {
6330
6217
  'vega-table-expanded-row': true,
6331
6218
  'expanded': this.expanded,
6332
6219
  'checked': this.checked,
6333
6220
  'striped': this.striped,
6334
6221
  }, key: `vega-table-expanded-row-${this.rowKey}`, "data-expanded-row-key": this.rowKey },
6335
- index.h("td", null),
6222
+ index.h("td", { class: { 'pinned-left': (_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.hasLeftPinnedColumn } }),
6336
6223
  index.h("td", { colSpan: this.colSpan, key: `${VegaTableExpandRowController.expandRowSlotNamePrefix}${this.rowKey}`, class: "vega-table-expanded-row-slot-container" },
6337
- index.h("div", { class: "expanded-row-slot-inner" },
6224
+ index.h("div", { class: {
6225
+ 'expanded-row-slot-inner': true,
6226
+ 'pinned-left': ((_b = this.renderInput) === null || _b === void 0 ? void 0 : _b.hasLeftPinnedColumn) ||
6227
+ ((_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.hasRightPinnedColumn),
6228
+ }, style: {
6229
+ '--pinned-offset-left': `${(_e = (_d = this.renderInput) === null || _d === void 0 ? void 0 : _d.leftPaddingPx) !== null && _e !== void 0 ? _e : 0}px`,
6230
+ '--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)`,
6231
+ } },
6338
6232
  index.h("slot", null))),
6339
- index.h("td", null)));
6233
+ index.h("td", { class: { 'pinned-right': (_k = this.renderInput) === null || _k === void 0 ? void 0 : _k.hasRightPinnedColumn } })));
6340
6234
  }
6341
6235
  }
6342
- __decorate$u([
6343
- globalSlimmerRegistry.MapToComponentField()
6344
- ], VegaTableExpandRowRenderer.prototype, "host", void 0);
6345
6236
  __decorate$u([
6346
6237
  globalSlimmerRegistry.MapToComponentField()
6347
6238
  ], VegaTableExpandRowRenderer.prototype, "rowKey", void 0);
@@ -6357,6 +6248,9 @@ __decorate$u([
6357
6248
  __decorate$u([
6358
6249
  globalSlimmerRegistry.MapToComponentField()
6359
6250
  ], VegaTableExpandRowRenderer.prototype, "striped", void 0);
6251
+ __decorate$u([
6252
+ globalSlimmerRegistry.MapToComponentField()
6253
+ ], VegaTableExpandRowRenderer.prototype, "renderInput", void 0);
6360
6254
 
6361
6255
  var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6362
6256
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -6636,7 +6530,7 @@ __decorate$q([
6636
6530
  globalSlimmerRegistry.MapToComponentMethod('watchWithRowDraggable')
6637
6531
  ], VegaTableExpandRowColSpanController.prototype, "watchWithRowDraggable", null);
6638
6532
 
6639
- 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}";
6533
+ 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}";
6640
6534
 
6641
6535
  var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6642
6536
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -6658,6 +6552,7 @@ const VegaTableExpandRow = class {
6658
6552
  this.vegaTableExpandRowStateController = new VegaTableExpandRowStateController();
6659
6553
  this.vegaTableExpandRowColSpanController = new VegaTableExpandRowColSpanController();
6660
6554
  this.pageResizeObserverSlimmer = new pageResizeObserverSlimmer.PageResizeObserverSlimmer();
6555
+ this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(vegaInternalEventId.VegaInternalColumnExpandCellRenderInputRIC);
6661
6556
  this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
6662
6557
  this.currentBreakpoint = breakpoints.getCurrentBreakpoint();
6663
6558
  /**
@@ -6712,6 +6607,9 @@ __decorate$p([
6712
6607
  __decorate$p([
6713
6608
  globalSlimmerRegistry.InjectVegaSlimmer()
6714
6609
  ], VegaTableExpandRow.prototype, "pageResizeObserverSlimmer", void 0);
6610
+ __decorate$p([
6611
+ globalSlimmerRegistry.InjectVegaSlimmer()
6612
+ ], VegaTableExpandRow.prototype, "vegaTableRenderInputConsumerSlimmer", void 0);
6715
6613
  __decorate$p([
6716
6614
  globalSlimmerRegistry.InjectVegaSlimmer()
6717
6615
  ], VegaTableExpandRow.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
@@ -6882,12 +6780,28 @@ var __decorate$l = (undefined && undefined.__decorate) || function (decorators,
6882
6780
  };
6883
6781
  class VegaTableFootCellRenderer extends globalSlimmerRegistry.VegaSlimmer {
6884
6782
  render() {
6885
- var _a;
6783
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
6784
+ const renderInput = this.renderInput;
6785
+ const pinned = renderInput === null || renderInput === void 0 ? void 0 : renderInput.pinned;
6786
+ const effectiveColSpan = (_a = renderInput === null || renderInput === void 0 ? void 0 : renderInput.visibleColSpan) !== null && _a !== void 0 ? _a : this.colSpan;
6787
+ const leftOffsetPx = (_b = renderInput === null || renderInput === void 0 ? void 0 : renderInput.leftOffsetPx) !== null && _b !== void 0 ? _b : 0;
6788
+ const rightOffsetPx = (_c = renderInput === null || renderInput === void 0 ? void 0 : renderInput.rightOffsetPx) !== null && _c !== void 0 ? _c : 0;
6886
6789
  return (index.h("td", { class: {
6887
6790
  'vega-table-cell': true,
6791
+ 'pinned-left': pinned === 'left',
6792
+ 'pinned-right': pinned === 'right',
6793
+ 'right-divider': ((_d = this.renderInput) === null || _d === void 0 ? void 0 : _d.isLeftEndPinned) || ((_e = this.renderInput) === null || _e === void 0 ? void 0 : _e.isVisibleLeftEndPinned),
6794
+ 'left-divider': ((_f = this.renderInput) === null || _f === void 0 ? void 0 : _f.isRightStartPinned) || ((_g = this.renderInput) === null || _g === void 0 ? void 0 : _g.isVisibleRightStartPinned),
6795
+ 'hide-right-border': ((_h = this.renderInput) === null || _h === void 0 ? void 0 : _h.isNoPinnedEnd) ||
6796
+ ((_j = this.renderInput) === null || _j === void 0 ? void 0 : _j.isViewEnd) ||
6797
+ ((_k = this.renderInput) === null || _k === void 0 ? void 0 : _k.isVisibleRightEndPinned),
6888
6798
  'break-word': !featureFlagController.FeatureFlag.isEnabled('VEGA_TABLE.ENABLE_NEW_CELL_BREAK_WORDS_STYLE'),
6889
6799
  [generateResponsiveClass(this.breakpoint, 'v-table-cell')]: true,
6890
- }, colSpan: ((_a = this.colSpan) !== null && _a !== void 0 ? _a : 0) > 1 ? this.colSpan : null, style: { width: this.width } },
6800
+ }, colSpan: (effectiveColSpan !== null && effectiveColSpan !== void 0 ? effectiveColSpan : 0) > 1 ? effectiveColSpan : null, style: {
6801
+ 'width': this.width,
6802
+ '--pinned-offset-left': pinned === 'left' ? `${leftOffsetPx}px` : null,
6803
+ '--pinned-offset-right': pinned === 'right' ? `${rightOffsetPx}px` : null,
6804
+ } },
6891
6805
  index.h("div", { class: ui$1.arrayToClassString(['vega-table-column', this.textAlign]) },
6892
6806
  index.h("span", { class: "vega-table-column-label" },
6893
6807
  index.h("slot", null)))));
@@ -6908,8 +6822,11 @@ __decorate$l([
6908
6822
  __decorate$l([
6909
6823
  globalSlimmerRegistry.MapToComponentField()
6910
6824
  ], VegaTableFootCellRenderer.prototype, "width", void 0);
6825
+ __decorate$l([
6826
+ globalSlimmerRegistry.MapToComponentField()
6827
+ ], VegaTableFootCellRenderer.prototype, "renderInput", void 0);
6911
6828
 
6912
- 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}";
6829
+ 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}";
6913
6830
 
6914
6831
  var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6915
6832
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -6929,14 +6846,19 @@ const VegaTableFootCell = class {
6929
6846
  this.vegaTableFootCellRenderer = new VegaTableFootCellRenderer();
6930
6847
  this.pageResizeObserverSlimmer = new pageResizeObserverSlimmer.PageResizeObserverSlimmer();
6931
6848
  this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
6849
+ this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(vegaInternalEventId.VegaInternalColumnFootCellRenderInputRIC);
6932
6850
  this.currentBreakpoint = breakpoints.getCurrentBreakpoint();
6933
6851
  }
6934
6852
  render() {
6935
6853
  var _a;
6854
+ let effectiveColSpan = this.colSpan;
6855
+ if (((_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.visibleColSpan) != null) {
6856
+ effectiveColSpan = this.renderInput.visibleColSpan;
6857
+ }
6936
6858
  return component.sanitizeVegaComponent(index.h(index.Host, { class: {
6937
6859
  [`density-${responsiveFormatFacade.ResponsiveFormatFacade.formatCustom(this.density)}`]: true,
6938
6860
  'column-divider': this.columnDivider,
6939
- }, "aria-colspan": ((_a = this.colSpan) !== null && _a !== void 0 ? _a : 0) > 1 ? String(this.colSpan) : null }, this.vegaTableFootCellRenderer.render()), this.host);
6861
+ }, "aria-colspan": (effectiveColSpan !== null && effectiveColSpan !== void 0 ? effectiveColSpan : 0) > 1 ? String(effectiveColSpan) : null }, this.vegaTableFootCellRenderer.render()), this.host);
6940
6862
  }
6941
6863
  get host() { return index.getElement(this); }
6942
6864
  };
@@ -6955,6 +6877,9 @@ __decorate$k([
6955
6877
  __decorate$k([
6956
6878
  globalSlimmerRegistry.InjectVegaSlimmer()
6957
6879
  ], VegaTableFootCell.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
6880
+ __decorate$k([
6881
+ globalSlimmerRegistry.InjectVegaSlimmer()
6882
+ ], VegaTableFootCell.prototype, "vegaTableRenderInputConsumerSlimmer", void 0);
6958
6883
  VegaTableFootCell.style = vegaTableFootCellCss;
6959
6884
 
6960
6885
  var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -6967,25 +6892,38 @@ class VegaTableFootRowRenderer extends globalSlimmerRegistry.VegaSlimmer {
6967
6892
  constructor() {
6968
6893
  super(...arguments);
6969
6894
  this.renderFooterSelectionCell = () => {
6970
- if (this.selectionType !== 'multiple')
6895
+ const renderInput = this.renderInput;
6896
+ if (!(renderInput === null || renderInput === void 0 ? void 0 : renderInput.showSelectionCell))
6971
6897
  return;
6972
- return index.h("td", { class: "vega-table-selection-column" });
6898
+ return (index.h("td", { class: {
6899
+ 'vega-table-selection-column': true,
6900
+ 'pinned-left': renderInput.hasLeftPinnedColumn,
6901
+ } }));
6973
6902
  };
6974
6903
  this.renderFooterExpandableCell = () => {
6975
- return this.hasExpandableRow && index.h("td", { class: "vega-table-expand-action-column" });
6904
+ const renderInput = this.renderInput;
6905
+ return ((renderInput === null || renderInput === void 0 ? void 0 : renderInput.showExpandActionCell) && (index.h("td", { class: {
6906
+ 'vega-table-expand-action-column': true,
6907
+ 'pinned-right': renderInput.hasRightPinnedColumn,
6908
+ } })));
6976
6909
  };
6977
6910
  this.renderFooterDraggableCell = () => {
6978
- return this.draggable && index.h("td", { class: "vega-table-draggable-column" });
6911
+ const renderInput = this.renderInput;
6912
+ return ((renderInput === null || renderInput === void 0 ? void 0 : renderInput.showDraggableCell) && (index.h("td", { class: {
6913
+ 'vega-table-draggable-column': true,
6914
+ 'pinned-left': renderInput.hasLeftPinnedColumn,
6915
+ } })));
6979
6916
  };
6980
6917
  }
6981
6918
  render() {
6919
+ var _a, _b;
6982
6920
  return (index.h("tr", null,
6983
- index.h("td", { style: { width: this.paddingX[0] } }),
6921
+ index.h("td", { class: { 'pinned-left': (_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.hasLeftPinnedColumn }, style: { width: this.paddingX[0] } }),
6984
6922
  this.renderFooterDraggableCell(),
6985
6923
  this.renderFooterSelectionCell(),
6986
6924
  index.h("slot", null),
6987
6925
  this.renderFooterExpandableCell(),
6988
- index.h("td", { style: { width: this.paddingX[1] } })));
6926
+ index.h("td", { class: { 'pinned-right': (_b = this.renderInput) === null || _b === void 0 ? void 0 : _b.hasRightPinnedColumn }, style: { width: this.paddingX[1] } })));
6989
6927
  }
6990
6928
  }
6991
6929
  __decorate$j([
@@ -6996,13 +6934,7 @@ __decorate$j([
6996
6934
  ], VegaTableFootRowRenderer.prototype, "paddingX", void 0);
6997
6935
  __decorate$j([
6998
6936
  globalSlimmerRegistry.MapToComponentField()
6999
- ], VegaTableFootRowRenderer.prototype, "selectionType", void 0);
7000
- __decorate$j([
7001
- globalSlimmerRegistry.MapToComponentField()
7002
- ], VegaTableFootRowRenderer.prototype, "hasExpandableRow", void 0);
7003
- __decorate$j([
7004
- globalSlimmerRegistry.MapToComponentField()
7005
- ], VegaTableFootRowRenderer.prototype, "draggable", void 0);
6937
+ ], VegaTableFootRowRenderer.prototype, "renderInput", void 0);
7006
6938
 
7007
6939
  var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
7008
6940
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -7087,7 +7019,7 @@ __decorate$i([
7087
7019
  globalSlimmerRegistry.MapToComponentField({ writable: true })
7088
7020
  ], VegaTableFootRowStateController.prototype, "draggable", void 0);
7089
7021
 
7090
- 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}";
7022
+ 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}";
7091
7023
 
7092
7024
  var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
7093
7025
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -7107,6 +7039,7 @@ const VegaTableFootRow = class {
7107
7039
  this.vegaTableFootRowRenderer = new VegaTableFootRowRenderer();
7108
7040
  this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
7109
7041
  this.pageResizeObserverSlimmer = new pageResizeObserverSlimmer.PageResizeObserverSlimmer();
7042
+ this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(vegaInternalEventId.VegaInternalRowRenderInputRIC);
7110
7043
  this.currentBreakpoint = breakpoints.getCurrentBreakpoint();
7111
7044
  /**
7112
7045
  * Indicates whether the table has a expandable row.
@@ -7114,10 +7047,15 @@ const VegaTableFootRow = class {
7114
7047
  this.hasExpandableRow = false;
7115
7048
  }
7116
7049
  render() {
7050
+ var _a, _b, _c, _d, _e;
7117
7051
  placeholder.slotPlaceholder(index.h("slot", null));
7118
7052
  return component.sanitizeVegaComponent(index.h(index.Host, { class: {
7119
7053
  'column-divider': this.columnDivider,
7120
7054
  [`density-${responsiveFormatFacade.ResponsiveFormatFacade.formatCustom(this.density)}`]: true,
7055
+ }, style: {
7056
+ '--row-left-padding': `${(_b = (_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.leftPaddingPx) !== null && _b !== void 0 ? _b : 0}px`,
7057
+ '--row-right-padding': `${(_d = (_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.rightPaddingPx) !== null && _d !== void 0 ? _d : 0}px`,
7058
+ '--row-draggable-width': ((_e = this.renderInput) === null || _e === void 0 ? void 0 : _e.showDraggableCell) ? '16px' : '0px',
7121
7059
  } }, this.vegaTableFootRowRenderer.render()), this.host);
7122
7060
  }
7123
7061
  get host() { return index.getElement(this); }
@@ -7137,6 +7075,9 @@ __decorate$h([
7137
7075
  __decorate$h([
7138
7076
  globalSlimmerRegistry.InjectVegaSlimmer()
7139
7077
  ], VegaTableFootRow.prototype, "pageResizeObserverSlimmer", void 0);
7078
+ __decorate$h([
7079
+ globalSlimmerRegistry.InjectVegaSlimmer()
7080
+ ], VegaTableFootRow.prototype, "vegaTableRenderInputConsumerSlimmer", void 0);
7140
7081
  VegaTableFootRow.style = vegaTableFootRowCss;
7141
7082
 
7142
7083
  var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -7435,7 +7376,7 @@ __decorate$b([
7435
7376
  globalSlimmerRegistry.MapToComponentField()
7436
7377
  ], VegaTableHeadCellTemplateStructureController.prototype, "host", void 0);
7437
7378
 
7438
- 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}";
7379
+ 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}";
7439
7380
 
7440
7381
  var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
7441
7382
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -7495,7 +7436,11 @@ const VegaTableHeadCell = class {
7495
7436
  this.vegaTableHeadCellTemplateStructureController.notifyTemplateHeadStructureChange();
7496
7437
  }
7497
7438
  render() {
7498
- var _a, _b, _c, _d, _e, _f, _g;
7439
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
7440
+ const renderInput = this.renderInput;
7441
+ const pinned = renderInput === null || renderInput === void 0 ? void 0 : renderInput.pinned;
7442
+ const leftOffsetPx = (_a = renderInput === null || renderInput === void 0 ? void 0 : renderInput.leftOffsetPx) !== null && _a !== void 0 ? _a : 0;
7443
+ const rightOffsetPx = (_b = renderInput === null || renderInput === void 0 ? void 0 : renderInput.rightOffsetPx) !== null && _b !== void 0 ? _b : 0;
7499
7444
  const sortableConfig = this.sorter
7500
7445
  ? {
7501
7446
  role: 'button',
@@ -7510,13 +7455,22 @@ const VegaTableHeadCell = class {
7510
7455
  'column-divider': this.columnDivider,
7511
7456
  } }, index.h("th", Object.assign({ class: {
7512
7457
  'vega-table-cell': true,
7458
+ 'pinned-left': pinned === 'left',
7459
+ 'pinned-right': pinned === 'right',
7513
7460
  'break-word': !featureFlagController.FeatureFlag.isEnabled('VEGA_TABLE.ENABLE_NEW_CELL_BREAK_WORDS_STYLE'),
7514
- 'is-group-cell': (_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.headHasGroupColumn,
7515
- '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),
7516
- 'right-divider': (_d = this.renderInput) === null || _d === void 0 ? void 0 : _d.isLeftEndPinned,
7517
- 'left-divider': (_e = this.renderInput) === null || _e === void 0 ? void 0 : _e.isRightStartPinned,
7461
+ 'is-group-cell': (_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.headHasGroupColumn,
7462
+ 'hide-right-border': ((_d = this.renderInput) === null || _d === void 0 ? void 0 : _d.isViewEnd) ||
7463
+ ((_e = this.renderInput) === null || _e === void 0 ? void 0 : _e.isNoPinnedEnd) ||
7464
+ ((_f = this.renderInput) === null || _f === void 0 ? void 0 : _f.isVisibleRightEndPinned),
7465
+ 'right-divider': ((_g = this.renderInput) === null || _g === void 0 ? void 0 : _g.isLeftEndPinned) || ((_h = this.renderInput) === null || _h === void 0 ? void 0 : _h.isVisibleLeftEndPinned),
7466
+ 'left-divider': ((_j = this.renderInput) === null || _j === void 0 ? void 0 : _j.isRightStartPinned) ||
7467
+ ((_k = this.renderInput) === null || _k === void 0 ? void 0 : _k.isVisibleRightStartPinned),
7518
7468
  [generateResponsiveClass(this.breakpoint, 'v-table-cell')]: true,
7519
- } }, 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 } }), index.h("div", { class: ui$1.arrayToClassString(['vega-table-column', this.textAlign]) }, index.h("span", { class: "vega-table-column-label" }, index.h("slot", null)), this.sortIconRenderer.render()))), this.host);
7469
+ } }, 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: {
7470
+ 'width': this.width,
7471
+ '--pinned-offset-left': pinned === 'left' ? `${leftOffsetPx}px` : null,
7472
+ '--pinned-offset-right': pinned === 'right' ? `${rightOffsetPx}px` : null,
7473
+ } }), index.h("div", { class: ui$1.arrayToClassString(['vega-table-column', this.textAlign]) }, index.h("span", { class: "vega-table-column-label" }, index.h("slot", null)), this.sortIconRenderer.render()))), this.host);
7520
7474
  }
7521
7475
  get host() { return index.getElement(this); }
7522
7476
  static get watchers() { return {
@@ -7573,17 +7527,18 @@ class VegaTableHeadRowRenderer extends globalSlimmerRegistry.VegaSlimmer {
7573
7527
  constructor() {
7574
7528
  super(...arguments);
7575
7529
  this.renderHeaderSelectionCell = (renderInput) => {
7576
- if (this.selectionType !== 'multiple')
7530
+ if (!renderInput)
7577
7531
  return;
7578
- return (index.h("th", { rowSpan: renderInput.startRowSpan, class: {
7532
+ return (renderInput.showSelectionCell && (index.h("th", { rowSpan: renderInput.startRowSpan, class: {
7579
7533
  'vega-table-selection-column': true,
7580
7534
  'hidden': renderInput.isStartHidden,
7535
+ 'pinned-left': renderInput.hasLeftPinnedColumn,
7581
7536
  } }, !this.hideSelectAll && (index.h("div", { class: "vega-table-checkbox-wrapper" },
7582
7537
  index.h("vega-checkbox", { size: "small", disabled: this.isEmptyTable || this.selectAllDisabled, checked: this.checkedAll, onClick: this.handleClick,
7583
7538
  /* eslint-disable-next-line react/jsx-no-bind */
7584
7539
  ref: (ref) => {
7585
7540
  domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, vegaEventId.VegaChange, this.handleSelectAll);
7586
- } })))));
7541
+ } }))))));
7587
7542
  };
7588
7543
  this.handleSelectAll = (input) => {
7589
7544
  if (input.eventName === 'vegaChange') {
@@ -7597,15 +7552,21 @@ class VegaTableHeadRowRenderer extends globalSlimmerRegistry.VegaSlimmer {
7597
7552
  }
7598
7553
  };
7599
7554
  this.renderHeaderDraggableCell = (renderInput) => {
7600
- return (this.draggable && (index.h("th", { rowSpan: renderInput.startRowSpan, class: {
7555
+ if (!renderInput)
7556
+ return;
7557
+ return (renderInput.showDraggableCell && (index.h("th", { rowSpan: renderInput.startRowSpan, class: {
7601
7558
  'vega-table-draggable-column': true,
7602
7559
  'hidden': renderInput.isStartHidden,
7560
+ 'pinned-left': renderInput.hasLeftPinnedColumn,
7603
7561
  } })));
7604
7562
  };
7605
7563
  this.renderHeaderExpandableCell = (renderInput) => {
7606
- return (this.hasExpandableRow && (index.h("th", { rowSpan: renderInput.endRowSpan, class: {
7564
+ if (!renderInput)
7565
+ return;
7566
+ return (renderInput.showExpandActionCell && (index.h("th", { rowSpan: renderInput.endRowSpan, class: {
7607
7567
  'vega-table-expand-action-column': true,
7608
7568
  'hidden': renderInput.isEndHidden,
7569
+ 'pinned-right': renderInput.hasRightPinnedColumn,
7609
7570
  } })));
7610
7571
  };
7611
7572
  this.handleClick = (e) => {
@@ -7636,49 +7597,26 @@ class VegaTableHeadRowRenderer extends globalSlimmerRegistry.VegaSlimmer {
7636
7597
  }
7637
7598
  render() {
7638
7599
  var _a, _b;
7639
- const renderInput = this.getRowRenderInput();
7600
+ const renderInput = this.renderInput;
7640
7601
  return (index.h("tr", { class: {
7641
- 'is-group-row': renderInput.headHasGroupColumn,
7642
- 'is-pinned-row': renderInput.headHasPinnedColumn,
7602
+ 'is-group-row': !!(renderInput === null || renderInput === void 0 ? void 0 : renderInput.startRowSpan),
7603
+ 'is-pinned-row': (renderInput === null || renderInput === void 0 ? void 0 : renderInput.hasLeftPinnedColumn) || (renderInput === null || renderInput === void 0 ? void 0 : renderInput.hasRightPinnedColumn),
7643
7604
  } },
7644
7605
  index.h("th", { style: {
7645
7606
  width: (_a = this.paddingX) === null || _a === void 0 ? void 0 : _a[0],
7646
- }, rowSpan: renderInput.startRowSpan, class: {
7647
- hidden: renderInput.isStartHidden,
7607
+ }, rowSpan: renderInput === null || renderInput === void 0 ? void 0 : renderInput.startRowSpan, class: {
7608
+ 'hidden': renderInput === null || renderInput === void 0 ? void 0 : renderInput.isStartHidden,
7609
+ 'pinned-left': renderInput === null || renderInput === void 0 ? void 0 : renderInput.hasLeftPinnedColumn,
7648
7610
  } }),
7649
7611
  this.renderHeaderDraggableCell(renderInput),
7650
7612
  this.renderHeaderSelectionCell(renderInput),
7651
7613
  index.h("slot", null),
7652
7614
  this.renderHeaderExpandableCell(renderInput),
7653
- index.h("th", { style: { width: (_b = this.paddingX) === null || _b === void 0 ? void 0 : _b[1] }, rowSpan: renderInput.endRowSpan, class: {
7654
- hidden: renderInput.isEndHidden,
7615
+ index.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: {
7616
+ 'hidden': renderInput === null || renderInput === void 0 ? void 0 : renderInput.isEndHidden,
7617
+ 'pinned-right': renderInput === null || renderInput === void 0 ? void 0 : renderInput.hasRightPinnedColumn,
7655
7618
  } })));
7656
7619
  }
7657
- getRowRenderInput() {
7658
- const renderInput = {};
7659
- const renderInputs = this.renderInput;
7660
- const startRenderInput = renderInputs === null || renderInputs === void 0 ? void 0 : renderInputs[0];
7661
- const endRenderInput = renderInputs === null || renderInputs === void 0 ? void 0 : renderInputs[renderInputs.length - 1];
7662
- if (startRenderInput) {
7663
- renderInput.headHasGroupColumn = startRenderInput.headHasGroupColumn;
7664
- renderInput.headHasPinnedColumn = startRenderInput.headHasPinnedColumn;
7665
- if (renderInput.headHasGroupColumn) {
7666
- renderInput.startRowSpan =
7667
- this.selectionType === 'multiple' && startRenderInput.level === 0
7668
- ? startRenderInput.headMaxDepth
7669
- : startRenderInput.rowSpan;
7670
- renderInput.isStartHidden =
7671
- startRenderInput.headHasGroupColumn &&
7672
- ((this.selectionType === 'multiple' && startRenderInput.level > 0) ||
7673
- !startRenderInput.isViewStart);
7674
- }
7675
- }
7676
- if (endRenderInput && endRenderInput.headHasGroupColumn) {
7677
- renderInput.endRowSpan = endRenderInput.rowSpan;
7678
- renderInput.isEndHidden = startRenderInput.headHasGroupColumn && !endRenderInput.isViewEnd;
7679
- }
7680
- return renderInput;
7681
- }
7682
7620
  }
7683
7621
  __decorate$9([
7684
7622
  globalSlimmerRegistry.MapToComponentField()
@@ -7686,9 +7624,6 @@ __decorate$9([
7686
7624
  __decorate$9([
7687
7625
  globalSlimmerRegistry.MapToComponentField()
7688
7626
  ], VegaTableHeadRowRenderer.prototype, "paddingX", void 0);
7689
- __decorate$9([
7690
- globalSlimmerRegistry.MapToComponentField()
7691
- ], VegaTableHeadRowRenderer.prototype, "selectionType", void 0);
7692
7627
  __decorate$9([
7693
7628
  globalSlimmerRegistry.MapToComponentField()
7694
7629
  ], VegaTableHeadRowRenderer.prototype, "hideSelectAll", void 0);
@@ -7698,12 +7633,6 @@ __decorate$9([
7698
7633
  __decorate$9([
7699
7634
  globalSlimmerRegistry.MapToComponentField()
7700
7635
  ], VegaTableHeadRowRenderer.prototype, "checkedAll", void 0);
7701
- __decorate$9([
7702
- globalSlimmerRegistry.MapToComponentField()
7703
- ], VegaTableHeadRowRenderer.prototype, "hasExpandableRow", void 0);
7704
- __decorate$9([
7705
- globalSlimmerRegistry.MapToComponentField()
7706
- ], VegaTableHeadRowRenderer.prototype, "draggable", void 0);
7707
7636
  __decorate$9([
7708
7637
  globalSlimmerRegistry.MapToComponentField()
7709
7638
  ], VegaTableHeadRowRenderer.prototype, "isEmptyTable", void 0);
@@ -7881,7 +7810,7 @@ __decorate$7([
7881
7810
  globalSlimmerRegistry.MapToComponentField({ writable: true })
7882
7811
  ], VegaTableHeadRowStateController.prototype, "draggable", void 0);
7883
7812
 
7884
- 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}";
7813
+ 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}";
7885
7814
 
7886
7815
  var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
7887
7816
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -7903,7 +7832,7 @@ const VegaTableHeadRow = class {
7903
7832
  this.headCellEventPrevent = new childNodesEventPreventSlimmer.ChildNodesEventPreventSlimmer([vegaEventId.VegaClick], () => this.host, undefined, true);
7904
7833
  this.pageResizeObserverSlimmer = new pageResizeObserverSlimmer.PageResizeObserverSlimmer();
7905
7834
  this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
7906
- this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(vegaInternalEventId.VegaInternalColumnHeadRowRenderInputRIC);
7835
+ this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(vegaInternalEventId.VegaInternalRowRenderInputRIC);
7907
7836
  this.currentBreakpoint = breakpoints.getCurrentBreakpoint();
7908
7837
  /**
7909
7838
  * Indicates whether the table has an expandable row.
@@ -7911,10 +7840,17 @@ const VegaTableHeadRow = class {
7911
7840
  this.hasExpandableRow = false;
7912
7841
  }
7913
7842
  render() {
7843
+ var _a, _b, _c, _d, _e;
7914
7844
  placeholder.slotPlaceholder(index.h("slot", null));
7915
7845
  return component.sanitizeVegaComponent(index.h(index.Host, { class: {
7916
7846
  'column-divider': this.columnDivider,
7917
7847
  [`density-${responsiveFormatFacade.ResponsiveFormatFacade.formatCustom(this.density)}`]: true,
7848
+ }, style: {
7849
+ '--row-left-padding': `${(_b = (_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.leftPaddingPx) !== null && _b !== void 0 ? _b : 0}px`,
7850
+ '--row-right-padding': `${(_d = (_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.rightPaddingPx) !== null && _d !== void 0 ? _d : 0}px`,
7851
+ '--row-draggable-width': ((_e = this.renderInput) === null || _e === void 0 ? void 0 : _e.showDraggableCell) && !this.renderInput.isStartHidden
7852
+ ? '16px'
7853
+ : '0px',
7918
7854
  } }, this.vegaTableHeadRowRenderer.render()), this.host);
7919
7855
  }
7920
7856
  get host() { return index.getElement(this); }
@@ -7959,14 +7895,22 @@ class VegaTableRowRenderer extends globalSlimmerRegistry.VegaSlimmer {
7959
7895
  constructor() {
7960
7896
  super(...arguments);
7961
7897
  this.renderDragIcon = () => {
7962
- return (this.draggable && (index.h("td", { class: "vega-table-draggable-column" },
7898
+ const renderInput = this.renderInput;
7899
+ return ((renderInput === null || renderInput === void 0 ? void 0 : renderInput.showDraggableCell) && (index.h("td", { class: {
7900
+ 'vega-table-draggable-column': true,
7901
+ 'pinned-left': renderInput.hasLeftPinnedColumn,
7902
+ } },
7963
7903
  index.h("vega-flex", { alignItems: "center" },
7964
7904
  index.h("vega-icon", { icon: internalIconManager.VegaInternalIconManager.getIconKey('grip-dots-vertical'), color: "text-link" })))));
7965
7905
  };
7966
7906
  this.renderRowSelection = () => {
7967
- if (this.selectionType !== 'multiple')
7907
+ const renderInput = this.renderInput;
7908
+ if (!(renderInput === null || renderInput === void 0 ? void 0 : renderInput.showSelectionCell))
7968
7909
  return;
7969
- return (index.h("td", { class: "vega-table-selection-column" },
7910
+ return (index.h("td", { class: {
7911
+ 'vega-table-selection-column': true,
7912
+ 'pinned-left': renderInput.hasLeftPinnedColumn,
7913
+ } },
7970
7914
  index.h("div", { class: "vega-table-checkbox-wrapper" },
7971
7915
  index.h("vega-checkbox", { size: "small", checked: this.checked,
7972
7916
  /* eslint-disable-next-line react/jsx-no-bind */
@@ -7977,7 +7921,11 @@ class VegaTableRowRenderer extends globalSlimmerRegistry.VegaSlimmer {
7977
7921
  } }))));
7978
7922
  };
7979
7923
  this.renderExpandIcon = () => {
7980
- return ((this.expandable || this.hasExpandableRow) && (index.h("td", { class: "vega-table-expand-action-column" },
7924
+ const renderInput = this.renderInput;
7925
+ return ((renderInput === null || renderInput === void 0 ? void 0 : renderInput.showExpandActionCell) && (index.h("td", { class: {
7926
+ 'vega-table-expand-action-column': true,
7927
+ 'pinned-right': renderInput.hasRightPinnedColumn,
7928
+ } },
7981
7929
  index.h("div", { class: "vega-table-expand-icon-wrapper" }, this.expandable && (index.h("vega-icon", { icon: internalIconManager.VegaInternalIconManager.getIconKey('chevron-down'), color: "text-link", onClick: this.onExpandIconClick }))))));
7982
7930
  };
7983
7931
  this.onRowClick = () => {
@@ -8013,11 +7961,17 @@ class VegaTableRowRenderer extends globalSlimmerRegistry.VegaSlimmer {
8013
7961
  connectedCallback() {
8014
7962
  this.setParentTableRef();
8015
7963
  }
7964
+ componentDidRender() {
7965
+ var _a, _b;
7966
+ const draggableCell = (_a = this.host.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('.vega-table-draggable-column');
7967
+ 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`);
7968
+ }
8016
7969
  getParentTableRef() {
8017
7970
  return this.parentTableRef;
8018
7971
  }
8019
7972
  render() {
8020
7973
  var _a, _b;
7974
+ const renderInput = this.renderInput;
8021
7975
  return (index.h(index.Fragment, null,
8022
7976
  this.renderExpandRowSpace(this.rowKey),
8023
7977
  index.h("tr", { class: {
@@ -8029,12 +7983,12 @@ class VegaTableRowRenderer extends globalSlimmerRegistry.VegaSlimmer {
8029
7983
  },
8030
7984
  /* eslint-disable-next-line react/jsx-no-bind */
8031
7985
  onClick: this.clickable ? this.onRowClick : null },
8032
- index.h("td", { style: { width: (_a = this.paddingX) === null || _a === void 0 ? void 0 : _a[0] } }),
7986
+ index.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] } }),
8033
7987
  this.renderDragIcon(),
8034
7988
  this.renderRowSelection(),
8035
7989
  index.h("slot", null),
8036
7990
  this.renderExpandIcon(),
8037
- index.h("td", { style: { width: (_b = this.paddingX) === null || _b === void 0 ? void 0 : _b[1] } }))));
7991
+ index.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] } }))));
8038
7992
  }
8039
7993
  renderExpandRowSpace(rowKey) {
8040
7994
  return (this.expandable && (index.h("tr", { key: `vega-table-expand-row-space-${rowKey}`, class: "expand-row-space" })));
@@ -8073,18 +8027,12 @@ __decorate$5([
8073
8027
  __decorate$5([
8074
8028
  globalSlimmerRegistry.MapToComponentField()
8075
8029
  ], VegaTableRowRenderer.prototype, "expandable", void 0);
8076
- __decorate$5([
8077
- globalSlimmerRegistry.MapToComponentField()
8078
- ], VegaTableRowRenderer.prototype, "hasExpandableRow", void 0);
8079
8030
  __decorate$5([
8080
8031
  globalSlimmerRegistry.MapToComponentField()
8081
8032
  ], VegaTableRowRenderer.prototype, "vegaClick", void 0);
8082
8033
  __decorate$5([
8083
8034
  globalSlimmerRegistry.MapToComponentField()
8084
- ], VegaTableRowRenderer.prototype, "selectionType", void 0);
8085
- __decorate$5([
8086
- globalSlimmerRegistry.MapToComponentField()
8087
- ], VegaTableRowRenderer.prototype, "draggable", void 0);
8035
+ ], VegaTableRowRenderer.prototype, "renderInput", void 0);
8088
8036
  __decorate$5([
8089
8037
  globalSlimmerRegistry.MapToComponentField()
8090
8038
  ], VegaTableRowRenderer.prototype, "vegaTableRowSelectionController", void 0);
@@ -8100,6 +8048,9 @@ __decorate$5([
8100
8048
  __decorate$5([
8101
8049
  globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
8102
8050
  ], VegaTableRowRenderer.prototype, "connectedCallback", null);
8051
+ __decorate$5([
8052
+ globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
8053
+ ], VegaTableRowRenderer.prototype, "componentDidRender", null);
8103
8054
 
8104
8055
  var __decorate$4 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
8105
8056
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -8478,7 +8429,7 @@ __decorate$1([
8478
8429
  globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
8479
8430
  ], VegaTableRowStateController.prototype, "handleComponentWillLoad", null);
8480
8431
 
8481
- 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}";
8432
+ 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}";
8482
8433
 
8483
8434
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
8484
8435
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -8503,6 +8454,7 @@ const VegaTableRow = class {
8503
8454
  this.vegaTableRowExpandController = new VegaTableRowExpandController();
8504
8455
  this.vegaTableRowClickController = new VegaTableRowClickController();
8505
8456
  this.vegaTableRowStateController = new VegaTableRowStateController();
8457
+ this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(vegaInternalEventId.VegaInternalRowRenderInputRIC);
8506
8458
  this.clickEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaTableRow, vegaEventId.VegaClick);
8507
8459
  this.expandEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaTableRow, vegaEventId.VegaExpand);
8508
8460
  this.checkboxValueChangeEventPrevent = new childNodesEventPreventSlimmer.ChildNodesEventPreventSlimmer([vegaEventId.VegaClick], () => this.host, undefined, true);
@@ -8533,12 +8485,16 @@ const VegaTableRow = class {
8533
8485
  watchRowDivider() {
8534
8486
  }
8535
8487
  render() {
8488
+ var _a, _b, _c, _d;
8536
8489
  placeholder.slotPlaceholder(index.h("slot", null));
8537
8490
  return component.sanitizeVegaComponent(index.h(index.Host, { class: {
8538
8491
  'row-divider': this.rowDivider,
8539
8492
  'column-divider': this.columnDivider,
8540
8493
  'striped': this.striped,
8541
8494
  [`density-${responsiveFormatFacade.ResponsiveFormatFacade.formatCustom(this.density)}`]: true,
8495
+ }, style: {
8496
+ '--row-left-padding': `${(_b = (_a = this.renderInput) === null || _a === void 0 ? void 0 : _a.leftPaddingPx) !== null && _b !== void 0 ? _b : 0}px`,
8497
+ '--row-right-padding': `${(_d = (_c = this.renderInput) === null || _c === void 0 ? void 0 : _c.rightPaddingPx) !== null && _d !== void 0 ? _d : 0}px`,
8542
8498
  } }, this.vegaTableRowRenderer.render()), this.host);
8543
8499
  }
8544
8500
  get host() { return index.getElement(this); }
@@ -8568,6 +8524,9 @@ __decorate([
8568
8524
  __decorate([
8569
8525
  globalSlimmerRegistry.InjectVegaSlimmer()
8570
8526
  ], VegaTableRow.prototype, "vegaTableRowStateController", void 0);
8527
+ __decorate([
8528
+ globalSlimmerRegistry.InjectVegaSlimmer()
8529
+ ], VegaTableRow.prototype, "vegaTableRenderInputConsumerSlimmer", void 0);
8571
8530
  __decorate([
8572
8531
  globalSlimmerRegistry.InjectVegaSlimmer()
8573
8532
  ], VegaTableRow.prototype, "clickEventEmitter", void 0);