@globalpayments/vega 2.56.0 → 2.57.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 (402) hide show
  1. package/dist/cjs/{app-globals-7e482341.js → app-globals-26e2fe1e.js} +9 -9
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-29020cc8.js → child-nodes-event-prevent-slimmer-96240a0e.js} +1 -1
  3. package/dist/cjs/{code-block-e56c5216.js → code-block-7650c868.js} +3 -3
  4. package/dist/cjs/{component-usage-runtime-metrics-dcb32c24.js → component-usage-runtime-metrics-d10ace87.js} +1 -1
  5. package/dist/cjs/{component-value-history-controller-slimmer.abstract-9a1285a1.js → component-value-history-controller-slimmer.abstract-a6e4e5bc.js} +3 -3
  6. package/dist/cjs/{content-state-e07c843c.js → content-state-fd5ad4a8.js} +3 -3
  7. package/dist/cjs/{create-public-api-runtime-metrics-slimmer-a3d17afb.js → create-public-api-runtime-metrics-slimmer-e2e274e1.js} +1 -1
  8. package/dist/cjs/{design-token-3e0bd48d.js → design-token-e771bb16.js} +3 -3
  9. package/dist/cjs/{element-appender-slimmer-2b9ca234.js → element-appender-slimmer-7f98d16b.js} +4 -4
  10. package/dist/cjs/{feature-flag-controller-5e58aae4.js → feature-flag-controller-ce2162c8.js} +1 -1
  11. package/dist/cjs/{form-field-controller-slimmer-dc6d0fe1.js → form-field-controller-slimmer-7bb7df10.js} +4 -4
  12. package/dist/cjs/{icon-manager-9a47399c.js → icon-manager-9072356d.js} +1 -1
  13. package/dist/cjs/{image-annotation-action-76e3c89d.js → image-annotation-action-6715d6f3.js} +2 -2
  14. package/dist/cjs/{index-8b247c17.js → index-4d7bce1a.js} +2 -2
  15. package/dist/cjs/{index-ebb1bb17.js → index-ee4bc191.js} +2 -2
  16. package/dist/cjs/index.cjs.js +16 -16
  17. package/dist/cjs/{inject-keyboard-manager-11df8296.js → inject-keyboard-manager-f1f781b7.js} +1 -1
  18. package/dist/cjs/{internal-icon-manager-00f49470.js → internal-icon-manager-f8677abb.js} +1 -1
  19. package/dist/cjs/{keyboard-manager-1843112c.js → keyboard-manager-0be55fb9.js} +1 -1
  20. package/dist/cjs/{keyboard-manager-slimmer-0a5f5770.js → keyboard-manager-slimmer-92c7227b.js} +1 -1
  21. package/dist/cjs/loader.cjs.js +14 -14
  22. package/dist/cjs/{public-rules-1ac67099.js → public-rules-036795a4.js} +6 -6
  23. package/dist/cjs/{responsive-format-facade-e2e11c24.js → responsive-format-facade-d164ced7.js} +7 -7
  24. package/dist/cjs/{rich-text-editor-required-rule-63f50aa4.js → rich-text-editor-required-rule-91eb0e22.js} +1 -1
  25. package/dist/cjs/{state-background-color-formatter-e585a027.js → state-background-color-formatter-c57409ea.js} +1 -1
  26. package/dist/cjs/{string-input-formatter-slimmer-a5feb2ed.js → string-input-formatter-slimmer-92ab034f.js} +3 -3
  27. package/dist/cjs/{style-formatter-0213d3a8.js → style-formatter-3e7af35b.js} +2 -2
  28. package/dist/cjs/{sub-state-notify-slimmer-f68fbf29.js → sub-state-notify-slimmer-409bbd1a.js} +1 -1
  29. package/dist/cjs/{sub-state-observer-slimmer-e06cdf7e.js → sub-state-observer-slimmer-93d0a609.js} +1 -1
  30. package/dist/cjs/{translation-e5003a00.js → translation-de7e351e.js} +1 -1
  31. package/dist/cjs/{translation-slimmer-127a0f83.js → translation-slimmer-83bdb9fe.js} +1 -1
  32. package/dist/cjs/{type-guard-4ba85fdc.js → type-guard-aa8fdeaf.js} +16 -0
  33. package/dist/cjs/vega-accordion.cjs.entry.js +16 -16
  34. package/dist/cjs/vega-app-footer.cjs.entry.js +1 -1
  35. package/dist/cjs/vega-app-header-button.cjs.entry.js +17 -17
  36. package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
  37. package/dist/cjs/vega-banner.cjs.entry.js +6 -6
  38. package/dist/cjs/vega-bar-chart.cjs.entry.js +1 -1
  39. package/dist/cjs/vega-box.cjs.entry.js +16 -16
  40. package/dist/cjs/vega-brand-logo.cjs.entry.js +4 -4
  41. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  42. package/dist/cjs/vega-button-circle.cjs.entry.js +16 -16
  43. package/dist/cjs/vega-button-group_2.cjs.entry.js +7 -7
  44. package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
  45. package/dist/cjs/vega-button.cjs.entry.js +14 -14
  46. package/dist/cjs/vega-calendar_3.cjs.entry.js +14 -14
  47. package/dist/cjs/vega-card.cjs.entry.js +15 -15
  48. package/dist/cjs/vega-carousel.cjs.entry.js +13 -13
  49. package/dist/cjs/vega-checkbox_2.cjs.entry.js +9 -9
  50. package/dist/cjs/vega-chip.cjs.entry.js +16 -16
  51. package/dist/cjs/vega-code-block.cjs.entry.js +15 -15
  52. package/dist/cjs/vega-color-picker.cjs.entry.js +6 -6
  53. package/dist/cjs/vega-combo-box.cjs.entry.js +12 -12
  54. package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
  55. package/dist/cjs/vega-date-picker_2.cjs.entry.js +23 -23
  56. package/dist/cjs/vega-dialog_2.cjs.entry.js +16 -16
  57. package/dist/cjs/vega-divider.cjs.entry.js +15 -15
  58. package/dist/cjs/vega-dropdown_5.cjs.entry.js +20 -20
  59. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  60. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  61. package/dist/cjs/vega-field-label.cjs.entry.js +1 -1
  62. package/dist/cjs/vega-file-uploader.cjs.entry.js +9 -9
  63. package/dist/cjs/vega-flag-icon.cjs.entry.js +16 -16
  64. package/dist/cjs/vega-flex.cjs.entry.js +16 -16
  65. package/dist/cjs/vega-font.cjs.entry.js +15 -15
  66. package/dist/cjs/vega-form.cjs.entry.js +10 -10
  67. package/dist/cjs/vega-grid.cjs.entry.js +15 -15
  68. package/dist/cjs/vega-hint.cjs.entry.js +1 -1
  69. package/dist/cjs/vega-icon.cjs.entry.js +15 -15
  70. package/dist/cjs/vega-image-uploader.cjs.entry.js +17 -17
  71. package/dist/cjs/vega-input-credit-card.cjs.entry.js +11 -11
  72. package/dist/cjs/vega-input-numeric.cjs.entry.js +13 -13
  73. package/dist/cjs/vega-input-phone-number.cjs.entry.js +16 -16
  74. package/dist/cjs/vega-input-range.cjs.entry.js +10 -10
  75. package/dist/cjs/vega-input-select.cjs.entry.js +18 -18
  76. package/dist/cjs/vega-input.cjs.entry.js +10 -10
  77. package/dist/cjs/{vega-internal-event-id-6cdc95fe.js → vega-internal-event-id-bda08efa.js} +6 -0
  78. package/dist/cjs/vega-item-toggle.cjs.entry.js +1 -1
  79. package/dist/cjs/vega-left-nav_5.cjs.entry.js +18 -18
  80. package/dist/cjs/vega-line-chart.cjs.entry.js +1 -1
  81. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +13 -13
  82. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  83. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +5 -5
  84. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +5 -5
  85. package/dist/cjs/vega-pagination.cjs.entry.js +15 -15
  86. package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
  87. package/dist/cjs/vega-popover_2.cjs.entry.js +16 -16
  88. package/dist/cjs/vega-progress-tracker.cjs.entry.js +1 -1
  89. package/dist/cjs/vega-radio_2.cjs.entry.js +12 -12
  90. package/dist/cjs/vega-rich-text-content.cjs.entry.js +12 -12
  91. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +23 -23
  92. package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
  93. package/dist/cjs/vega-segment-control.cjs.entry.js +1 -1
  94. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +17 -17
  95. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +10 -10
  96. package/dist/cjs/vega-sidenav_3.cjs.entry.js +16 -16
  97. package/dist/cjs/vega-signature-capture.cjs.entry.js +19 -19
  98. package/dist/cjs/{vega-skeleton-loader-controller-3833c813.js → vega-skeleton-loader-controller-d534f5a1.js} +1 -1
  99. package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
  100. package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
  101. package/dist/cjs/vega-stepper.cjs.entry.js +9 -9
  102. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  103. package/dist/cjs/vega-table_8.cjs.entry.js +1474 -316
  104. package/dist/cjs/vega-text.cjs.entry.js +1 -1
  105. package/dist/cjs/vega-textarea.cjs.entry.js +9 -9
  106. package/dist/cjs/vega-time-picker_2.cjs.entry.js +20 -20
  107. package/dist/cjs/vega-toggle-switch.cjs.entry.js +6 -6
  108. package/dist/cjs/vega-tooltip_2.cjs.entry.js +16 -16
  109. package/dist/cjs/vega.cjs.js +14 -14
  110. package/dist/cjs/{wait-for-vega-handler-4491efc9.js → wait-for-vega-handler-5469ff80.js} +1 -1
  111. package/dist/collection/components/vega-table/slimmers/controllers/dto/column-render-input-model.js +216 -0
  112. package/dist/collection/components/vega-table/slimmers/controllers/dto/column-structure-model.js +238 -0
  113. package/dist/collection/components/vega-table/slimmers/controllers/dto/test/column-render-input-model.test.js +83 -0
  114. package/dist/collection/components/vega-table/slimmers/controllers/dto/test/column-structure-model.test.js +147 -0
  115. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-column-structure-model-controller.js +66 -0
  116. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-render-input-controller.js +171 -0
  117. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-renderer.js +6 -1
  118. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-cell-renderer.js +22 -4
  119. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-col-group-renderer.js +13 -3
  120. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-header-renderer.js +43 -6
  121. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +175 -0
  122. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-renderer.js +7 -0
  123. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-row-renderer.js +6 -5
  124. package/dist/collection/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-cell-state-controller.js +41 -0
  125. package/dist/collection/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-row-state-controller.js +48 -0
  126. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.css +58 -11
  127. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +49 -6
  128. package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.js +5 -1
  129. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.css +11 -0
  130. package/dist/collection/components/vega-table/vega-table-head-cell/slimmers/controllers/vega-table-head-cell-state-controller.js +15 -0
  131. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.css +42 -11
  132. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +45 -9
  133. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +53 -10
  134. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.css +37 -0
  135. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.css +5 -16
  136. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +21 -0
  137. package/dist/collection/components/vega-table/vega-table.css +22 -0
  138. package/dist/collection/components/vega-table/vega-table.js +52 -1
  139. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +3 -0
  140. package/dist/collection/types/type-guard.js +15 -0
  141. package/dist/esm/{app-globals-b5881948.js → app-globals-366415b3.js} +9 -9
  142. package/dist/esm/{child-nodes-event-prevent-slimmer-2b975cbf.js → child-nodes-event-prevent-slimmer-b59a578e.js} +1 -1
  143. package/dist/esm/{code-block-1cdb0599.js → code-block-73869a3c.js} +3 -3
  144. package/dist/esm/{component-usage-runtime-metrics-385c7124.js → component-usage-runtime-metrics-a84cc93e.js} +1 -1
  145. package/dist/esm/{component-value-history-controller-slimmer.abstract-c12b2958.js → component-value-history-controller-slimmer.abstract-dfe89c93.js} +3 -3
  146. package/dist/esm/{content-state-cf27d19b.js → content-state-953906e8.js} +3 -3
  147. package/dist/esm/{create-public-api-runtime-metrics-slimmer-8ada793f.js → create-public-api-runtime-metrics-slimmer-bedf3a1e.js} +1 -1
  148. package/dist/esm/{design-token-96e03257.js → design-token-28a0a2e6.js} +3 -3
  149. package/dist/esm/{element-appender-slimmer-00dcccb9.js → element-appender-slimmer-7b9f4a8e.js} +4 -4
  150. package/dist/esm/{feature-flag-controller-0fbe8fb0.js → feature-flag-controller-51659753.js} +2 -2
  151. package/dist/esm/{form-field-controller-slimmer-6f49d396.js → form-field-controller-slimmer-707a6da2.js} +4 -4
  152. package/dist/esm/{icon-manager-638dd4d4.js → icon-manager-2ee1c619.js} +1 -1
  153. package/dist/esm/{image-annotation-action-e76b3396.js → image-annotation-action-5bfda07c.js} +2 -2
  154. package/dist/esm/{index-f5d2fe61.js → index-3e551cbe.js} +2 -2
  155. package/dist/esm/{index-44c794b4.js → index-e9da316f.js} +2 -2
  156. package/dist/esm/index.js +16 -16
  157. package/dist/esm/{inject-keyboard-manager-a15cf43c.js → inject-keyboard-manager-5141d09a.js} +1 -1
  158. package/dist/esm/{internal-icon-manager-58cf8aa6.js → internal-icon-manager-7eac52c8.js} +1 -1
  159. package/dist/esm/{keyboard-manager-f496a623.js → keyboard-manager-3ffe81b0.js} +1 -1
  160. package/dist/esm/{keyboard-manager-slimmer-a4cc9593.js → keyboard-manager-slimmer-751e98f5.js} +1 -1
  161. package/dist/esm/loader.js +14 -14
  162. package/dist/esm/{public-rules-e8616346.js → public-rules-c5d2c1e1.js} +6 -6
  163. package/dist/esm/{responsive-format-facade-464498b6.js → responsive-format-facade-60731164.js} +7 -7
  164. package/dist/esm/{rich-text-editor-required-rule-69844536.js → rich-text-editor-required-rule-4429066e.js} +1 -1
  165. package/dist/esm/{state-background-color-formatter-121ae7d3.js → state-background-color-formatter-da5e76e8.js} +1 -1
  166. package/dist/esm/{string-input-formatter-slimmer-e53b6412.js → string-input-formatter-slimmer-6ab5cad6.js} +3 -3
  167. package/dist/esm/{style-formatter-670e20f7.js → style-formatter-57fc600a.js} +2 -2
  168. package/dist/esm/{sub-state-notify-slimmer-b6c8051c.js → sub-state-notify-slimmer-1c4d1e78.js} +1 -1
  169. package/dist/esm/{sub-state-observer-slimmer-93eeb87d.js → sub-state-observer-slimmer-1e9af9ec.js} +1 -1
  170. package/dist/esm/{translation-71e0711d.js → translation-a6eacb5f.js} +1 -1
  171. package/dist/esm/{translation-slimmer-e6b130bf.js → translation-slimmer-f28e4708.js} +1 -1
  172. package/dist/esm/{type-guard-158f6d7a.js → type-guard-84b1f192.js} +16 -1
  173. package/dist/esm/vega-accordion.entry.js +16 -16
  174. package/dist/esm/vega-app-footer.entry.js +1 -1
  175. package/dist/esm/vega-app-header-button.entry.js +17 -17
  176. package/dist/esm/vega-backdrop.entry.js +1 -1
  177. package/dist/esm/vega-banner.entry.js +6 -6
  178. package/dist/esm/vega-bar-chart.entry.js +1 -1
  179. package/dist/esm/vega-box.entry.js +16 -16
  180. package/dist/esm/vega-brand-logo.entry.js +4 -4
  181. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  182. package/dist/esm/vega-button-circle.entry.js +16 -16
  183. package/dist/esm/vega-button-group_2.entry.js +7 -7
  184. package/dist/esm/vega-button-link.entry.js +4 -4
  185. package/dist/esm/vega-button.entry.js +14 -14
  186. package/dist/esm/vega-calendar_3.entry.js +14 -14
  187. package/dist/esm/vega-card.entry.js +15 -15
  188. package/dist/esm/vega-carousel.entry.js +13 -13
  189. package/dist/esm/vega-checkbox_2.entry.js +9 -9
  190. package/dist/esm/vega-chip.entry.js +16 -16
  191. package/dist/esm/vega-code-block.entry.js +15 -15
  192. package/dist/esm/vega-color-picker.entry.js +6 -6
  193. package/dist/esm/vega-combo-box.entry.js +12 -12
  194. package/dist/esm/vega-counter-badge.entry.js +1 -1
  195. package/dist/esm/vega-date-picker_2.entry.js +23 -23
  196. package/dist/esm/vega-dialog_2.entry.js +16 -16
  197. package/dist/esm/vega-divider.entry.js +15 -15
  198. package/dist/esm/vega-dropdown_5.entry.js +20 -20
  199. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  200. package/dist/esm/vega-field-error.entry.js +1 -1
  201. package/dist/esm/vega-field-label.entry.js +1 -1
  202. package/dist/esm/vega-file-uploader.entry.js +9 -9
  203. package/dist/esm/vega-flag-icon.entry.js +16 -16
  204. package/dist/esm/vega-flex.entry.js +16 -16
  205. package/dist/esm/vega-font.entry.js +15 -15
  206. package/dist/esm/vega-form.entry.js +10 -10
  207. package/dist/esm/vega-grid.entry.js +15 -15
  208. package/dist/esm/vega-hint.entry.js +1 -1
  209. package/dist/esm/vega-icon.entry.js +15 -15
  210. package/dist/esm/vega-image-uploader.entry.js +17 -17
  211. package/dist/esm/vega-input-credit-card.entry.js +11 -11
  212. package/dist/esm/vega-input-numeric.entry.js +13 -13
  213. package/dist/esm/vega-input-phone-number.entry.js +16 -16
  214. package/dist/esm/vega-input-range.entry.js +10 -10
  215. package/dist/esm/vega-input-select.entry.js +18 -18
  216. package/dist/esm/vega-input.entry.js +10 -10
  217. package/dist/esm/{vega-internal-event-id-178b2743.js → vega-internal-event-id-f0ea2bab.js} +4 -1
  218. package/dist/esm/vega-item-toggle.entry.js +1 -1
  219. package/dist/esm/vega-left-nav_5.entry.js +18 -18
  220. package/dist/esm/vega-line-chart.entry.js +1 -1
  221. package/dist/esm/vega-loader-wrapper_2.entry.js +13 -13
  222. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  223. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +5 -5
  224. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +5 -5
  225. package/dist/esm/vega-pagination.entry.js +15 -15
  226. package/dist/esm/vega-pie-chart.entry.js +1 -1
  227. package/dist/esm/vega-popover_2.entry.js +16 -16
  228. package/dist/esm/vega-progress-tracker.entry.js +1 -1
  229. package/dist/esm/vega-radio_2.entry.js +12 -12
  230. package/dist/esm/vega-rich-text-content.entry.js +12 -12
  231. package/dist/esm/vega-rich-text-editor_4.entry.js +23 -23
  232. package/dist/esm/vega-section-title.entry.js +1 -1
  233. package/dist/esm/vega-segment-control.entry.js +1 -1
  234. package/dist/esm/vega-selection-chip_2.entry.js +17 -17
  235. package/dist/esm/vega-selection-tile_2.entry.js +10 -10
  236. package/dist/esm/vega-sidenav_3.entry.js +16 -16
  237. package/dist/esm/vega-signature-capture.entry.js +19 -19
  238. package/dist/esm/{vega-skeleton-loader-controller-9d1ffa6c.js → vega-skeleton-loader-controller-3f6faa17.js} +1 -1
  239. package/dist/esm/vega-skeleton.entry.js +1 -1
  240. package/dist/esm/vega-slot-container.entry.js +1 -1
  241. package/dist/esm/vega-stepper.entry.js +9 -9
  242. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  243. package/dist/esm/vega-table_8.entry.js +1475 -317
  244. package/dist/esm/vega-text.entry.js +1 -1
  245. package/dist/esm/vega-textarea.entry.js +9 -9
  246. package/dist/esm/vega-time-picker_2.entry.js +20 -20
  247. package/dist/esm/vega-toggle-switch.entry.js +6 -6
  248. package/dist/esm/vega-tooltip_2.entry.js +16 -16
  249. package/dist/esm/vega.js +14 -14
  250. package/dist/esm/{wait-for-vega-handler-e0a928cd.js → wait-for-vega-handler-c2c07ac3.js} +1 -1
  251. package/dist/types/components/vega-table/interface.d.ts +31 -0
  252. package/dist/types/components/vega-table/slimmers/controllers/dto/column-render-input-model.d.ts +138 -0
  253. package/dist/types/components/vega-table/slimmers/controllers/dto/column-structure-model.d.ts +140 -0
  254. package/dist/types/components/vega-table/slimmers/controllers/dto/test/column-render-input-model.test.d.ts +1 -0
  255. package/dist/types/components/vega-table/slimmers/controllers/dto/test/column-structure-model.test.d.ts +1 -0
  256. package/dist/types/components/vega-table/slimmers/controllers/vega-table-column-structure-model-controller.d.ts +35 -0
  257. package/dist/types/components/vega-table/slimmers/controllers/vega-table-render-input-controller.d.ts +103 -0
  258. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-renderer.d.ts +1 -0
  259. package/dist/types/components/vega-table/slimmers/renderers/vega-table-cell-renderer.d.ts +5 -2
  260. package/dist/types/components/vega-table/slimmers/renderers/vega-table-col-group-renderer.d.ts +1 -0
  261. package/dist/types/components/vega-table/slimmers/renderers/vega-table-header-renderer.d.ts +4 -1
  262. package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +18 -0
  263. package/dist/types/components/vega-table/slimmers/renderers/vega-table-renderer.d.ts +1 -0
  264. package/dist/types/components/vega-table/slimmers/renderers/vega-table-row-renderer.d.ts +1 -1
  265. package/dist/types/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-cell-state-controller.d.ts +4 -0
  266. package/dist/types/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-row-state-controller.d.ts +15 -0
  267. package/dist/types/components/vega-table/vega-table-cell/vega-table-cell.d.ts +10 -0
  268. package/dist/types/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.d.ts +1 -0
  269. package/dist/types/components/vega-table/vega-table-head-cell/slimmers/controllers/vega-table-head-cell-state-controller.d.ts +1 -0
  270. package/dist/types/components/vega-table/vega-table-head-cell/vega-table-head-cell.d.ts +8 -1
  271. package/dist/types/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.d.ts +1 -0
  272. package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +5 -0
  273. package/dist/types/components/vega-table/vega-table.d.ts +17 -1
  274. package/dist/types/components.d.ts +21 -1
  275. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -0
  276. package/dist/types/types/components.type.d.ts +2 -0
  277. package/dist/types/types/type-guard.d.ts +10 -0
  278. package/dist/vega/index.esm.js +1 -1
  279. package/dist/vega/{p-397c7199.js → p-007bf7df.js} +1 -1
  280. package/dist/vega/{p-03c759ae.entry.js → p-0496f1cb.entry.js} +1 -1
  281. package/dist/vega/{p-1ebc1acf.entry.js → p-0604563a.entry.js} +1 -1
  282. package/dist/vega/{p-08a0cbd0.entry.js → p-07927476.entry.js} +1 -1
  283. package/dist/vega/{p-f50cd6c3.entry.js → p-0b77c6c9.entry.js} +1 -1
  284. package/dist/vega/{p-7e70938a.entry.js → p-1792a352.entry.js} +1 -1
  285. package/dist/vega/{p-7cc20ed5.entry.js → p-1c4d05de.entry.js} +1 -1
  286. package/dist/vega/{p-6b8d105e.entry.js → p-1e3f4007.entry.js} +1 -1
  287. package/dist/vega/{p-1737536e.entry.js → p-21a7530c.entry.js} +1 -1
  288. package/dist/vega/{p-ae74d511.js → p-2458ad97.js} +1 -1
  289. package/dist/vega/{p-0c660956.entry.js → p-27dca371.entry.js} +1 -1
  290. package/dist/vega/{p-3162a3f0.entry.js → p-2873b600.entry.js} +1 -1
  291. package/dist/vega/{p-e2282f71.entry.js → p-29f4cbed.entry.js} +1 -1
  292. package/dist/vega/{p-c5afd9aa.entry.js → p-2ebef70f.entry.js} +1 -1
  293. package/dist/vega/{p-578ac47f.entry.js → p-311f338d.entry.js} +1 -1
  294. package/dist/vega/p-34643550.entry.js +1 -0
  295. package/dist/vega/{p-5016b57e.entry.js → p-34dc3f71.entry.js} +1 -1
  296. package/dist/vega/{p-5cb92c51.entry.js → p-39049341.entry.js} +1 -1
  297. package/dist/vega/{p-a2c4c241.entry.js → p-397b5d91.entry.js} +1 -1
  298. package/dist/vega/{p-61e1e356.entry.js → p-3a7e897b.entry.js} +1 -1
  299. package/dist/vega/{p-06cd4a19.entry.js → p-41465ad0.entry.js} +1 -1
  300. package/dist/vega/{p-002062c3.entry.js → p-44880bdf.entry.js} +1 -1
  301. package/dist/vega/{p-7a8b6f2f.entry.js → p-4674c318.entry.js} +1 -1
  302. package/dist/vega/{p-e5eda663.entry.js → p-47e89c0e.entry.js} +1 -1
  303. package/dist/vega/p-49fd1009.js +1 -0
  304. package/dist/vega/{p-6bd7114d.entry.js → p-4c871d0f.entry.js} +1 -1
  305. package/dist/vega/{p-8e31e7ea.js → p-4f5eb8d5.js} +1 -1
  306. package/dist/vega/{p-72a4edf2.entry.js → p-500684e1.entry.js} +1 -1
  307. package/dist/vega/p-51297b96.js +1 -0
  308. package/dist/vega/{p-bbdc6170.entry.js → p-5130bb06.entry.js} +1 -1
  309. package/dist/vega/{p-4c595d8d.entry.js → p-51a4dc20.entry.js} +1 -1
  310. package/dist/vega/p-53e9595f.js +1 -0
  311. package/dist/vega/{p-bba5b112.entry.js → p-59282fc8.entry.js} +1 -1
  312. package/dist/vega/{p-fa5eb496.js → p-5d676a94.js} +1 -1
  313. package/dist/vega/{p-46eb330f.entry.js → p-5dec9bd9.entry.js} +1 -1
  314. package/dist/vega/{p-b1f65b13.js → p-5e2c9e69.js} +1 -1
  315. package/dist/vega/p-5f377954.js +1 -1
  316. package/dist/vega/{p-e860318d.entry.js → p-5f6b942c.entry.js} +1 -1
  317. package/dist/vega/{p-b6e0d996.entry.js → p-6131f229.entry.js} +1 -1
  318. package/dist/vega/p-65d8c2bc.js +1 -0
  319. package/dist/vega/{p-6419abd9.entry.js → p-66e9d31a.entry.js} +1 -1
  320. package/dist/vega/{p-dc383362.entry.js → p-6acf0a51.entry.js} +1 -1
  321. package/dist/vega/{p-7503fe08.entry.js → p-6dad2e5c.entry.js} +1 -1
  322. package/dist/vega/{p-da1d0c02.js → p-6e1b5949.js} +1 -1
  323. package/dist/vega/{p-636142ae.entry.js → p-6ec338b0.entry.js} +1 -1
  324. package/dist/vega/{p-246090cf.entry.js → p-75ff12da.entry.js} +1 -1
  325. package/dist/vega/{p-144d2390.entry.js → p-766ed063.entry.js} +1 -1
  326. package/dist/vega/{p-78937642.entry.js → p-76818196.entry.js} +1 -1
  327. package/dist/vega/p-79a0a06c.js +1 -0
  328. package/dist/vega/p-79c2282c.entry.js +1 -0
  329. package/dist/vega/p-7c0004dc.entry.js +1 -0
  330. package/dist/vega/{p-0ce88865.entry.js → p-7c348ac7.entry.js} +1 -1
  331. package/dist/vega/{p-fc790de5.entry.js → p-7d5ebd26.entry.js} +1 -1
  332. package/dist/vega/p-81ed90d5.js +1 -0
  333. package/dist/vega/{p-c685adcd.js → p-8246f8ae.js} +1 -1
  334. package/dist/vega/{p-aab6f547.entry.js → p-82b18195.entry.js} +1 -1
  335. package/dist/vega/{p-cc6410e6.js → p-832b59af.js} +1 -1
  336. package/dist/vega/{p-5c9efff8.entry.js → p-86a300e8.entry.js} +1 -1
  337. package/dist/vega/{p-576b812b.entry.js → p-888dc143.entry.js} +1 -1
  338. package/dist/vega/{p-b3da0b44.entry.js → p-8ba8a7cc.entry.js} +1 -1
  339. package/dist/vega/{p-cc63e827.js → p-8c46e116.js} +1 -1
  340. package/dist/vega/{p-6ec0e3ce.entry.js → p-8e581755.entry.js} +1 -1
  341. package/dist/vega/{p-a46ac2eb.js → p-8e662f26.js} +1 -1
  342. package/dist/vega/{p-fac5990f.entry.js → p-8fb5bcb0.entry.js} +1 -1
  343. package/dist/vega/{p-04c8b83d.entry.js → p-9481c073.entry.js} +1 -1
  344. package/dist/vega/{p-1a7d0e21.entry.js → p-99c4559e.entry.js} +1 -1
  345. package/dist/vega/{p-4ab3df00.js → p-9d6003ef.js} +1 -1
  346. package/dist/vega/{p-f3ec4ae6.entry.js → p-a1e50e6c.entry.js} +1 -1
  347. package/dist/vega/{p-302e01e9.entry.js → p-a2ef3429.entry.js} +1 -1
  348. package/dist/vega/p-a33c6652.entry.js +1 -0
  349. package/dist/vega/p-a4670e23.js +1 -0
  350. package/dist/vega/{p-487c0f17.entry.js → p-a92a8172.entry.js} +1 -1
  351. package/dist/vega/{p-4b2a90b8.js → p-aed3320d.js} +1 -1
  352. package/dist/vega/{p-7728041e.entry.js → p-b449fe9a.entry.js} +1 -1
  353. package/dist/vega/{p-81e56716.entry.js → p-b44ebc84.entry.js} +2 -2
  354. package/dist/vega/{p-5e530257.js → p-b8d7d4a9.js} +1 -1
  355. package/dist/vega/{p-d5f1794e.js → p-bcdb235d.js} +1 -1
  356. package/dist/vega/{p-36827489.entry.js → p-bd84b7b9.entry.js} +1 -1
  357. package/dist/vega/p-bdaf1143.entry.js +1 -0
  358. package/dist/vega/{p-ac3a2d9c.entry.js → p-c42ec0ac.entry.js} +1 -1
  359. package/dist/vega/{p-1c3e1134.js → p-cd3d468c.js} +1 -1
  360. package/dist/vega/{p-d8e1ed2d.js → p-ce14af16.js} +1 -1
  361. package/dist/vega/{p-2a6517f9.entry.js → p-d5ab867e.entry.js} +1 -1
  362. package/dist/vega/{p-6b7dca3e.js → p-d789b291.js} +1 -1
  363. package/dist/vega/{p-9a9766cc.entry.js → p-d82ceacf.entry.js} +1 -1
  364. package/dist/vega/p-d849e0f5.js +1 -0
  365. package/dist/vega/{p-7a40e033.js → p-db8cdba6.js} +1 -1
  366. package/dist/vega/{p-586139ce.entry.js → p-dc16e6ba.entry.js} +1 -1
  367. package/dist/vega/{p-c9f544bd.entry.js → p-e277ea73.entry.js} +1 -1
  368. package/dist/vega/{p-5f86a286.entry.js → p-e28fcf04.entry.js} +1 -1
  369. package/dist/vega/{p-c0043eed.entry.js → p-e32efc2e.entry.js} +1 -1
  370. package/dist/vega/{p-5be150cb.entry.js → p-e5196440.entry.js} +1 -1
  371. package/dist/vega/{p-4d793cb0.js → p-e77a83e4.js} +1 -1
  372. package/dist/vega/{p-c990e249.js → p-e940bc37.js} +1 -1
  373. package/dist/vega/{p-138fcf6e.js → p-ecd032fc.js} +1 -1
  374. package/dist/vega/{p-c9b9322b.js → p-f08a4adf.js} +1 -1
  375. package/dist/vega/{p-151dec6a.entry.js → p-f3bd26a1.entry.js} +1 -1
  376. package/dist/vega/p-f3f7d059.entry.js +1 -0
  377. package/dist/vega/{p-59f1fd3e.entry.js → p-f4546425.entry.js} +1 -1
  378. package/dist/vega/{p-ec7dc51f.entry.js → p-f4a7acff.entry.js} +1 -1
  379. package/dist/vega/{p-a42bc438.entry.js → p-f79c82c7.entry.js} +1 -1
  380. package/dist/vega/{p-4df90a1b.entry.js → p-f8e0e4f0.entry.js} +1 -1
  381. package/dist/vega/p-f8f8e7d2.entry.js +1 -0
  382. package/dist/vega/{p-73821eba.entry.js → p-f940b7f7.entry.js} +1 -1
  383. package/dist/vega/{p-66516ee9.js → p-fb8c99c5.js} +1 -1
  384. package/dist/vega/{p-778fd499.js → p-fcb04960.js} +1 -1
  385. package/dist/vega/{p-dc3d93d6.js → p-fd2f699b.js} +1 -1
  386. package/dist/vega/vega.esm.js +1 -1
  387. package/package.json +2 -2
  388. package/dist/vega/p-063d0bee.entry.js +0 -1
  389. package/dist/vega/p-2205ee4c.js +0 -1
  390. package/dist/vega/p-23064067.entry.js +0 -1
  391. package/dist/vega/p-2f6c4f2c.entry.js +0 -1
  392. package/dist/vega/p-37b05e0b.js +0 -1
  393. package/dist/vega/p-425ba7d6.js +0 -1
  394. package/dist/vega/p-4387d550.js +0 -1
  395. package/dist/vega/p-4a12fb0d.entry.js +0 -1
  396. package/dist/vega/p-68864531.js +0 -1
  397. package/dist/vega/p-6a7b7214.js +0 -1
  398. package/dist/vega/p-7cb11f3f.entry.js +0 -1
  399. package/dist/vega/p-962b40d1.entry.js +0 -1
  400. package/dist/vega/p-9d286c08.entry.js +0 -1
  401. package/dist/vega/p-d64b20c2.js +0 -1
  402. package/dist/vega/p-f4a13f3f.js +0 -1
@@ -1,34 +1,34 @@
1
1
  import { h, f as forceUpdate, F as Fragment, H as Host, r as registerInstance, c as createEvent, g as getElement } from './index-d0a47531.js';
2
2
  import { c as MapToComponentField, V as VegaSlimmer, L as LogUtility, M as MapToComponentMethod, I as InjectVegaSlimmer } from './global-slimmer-registry-17c4efd4.js';
3
3
  import { m as methodPlaceholder, s as slotPlaceholder } from './placeholder-bf562081.js';
4
- import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-385c7124.js';
4
+ import { V as VegaComponentUsageRuntimeMetricsSlimmer, I as InjectVegaGlobalSlimmer } from './component-usage-runtime-metrics-a84cc93e.js';
5
5
  import { g as getValueByPath } from './object-261e7344.js';
6
6
  import { C as ChangeManager } from './change-manager-6a7eb88c.js';
7
7
  import { n as TABLE_EXPAND_ROW, o as TABLE_ROW_SELECTION, p as TABLE_ROW_SELECTION_ALL, q as TABLE_ROW_CLICK, S as SHADOW_ROOT_ELEMENT_SCROLLING } from './static-subject-title-ca83d6b6.js';
8
8
  import { O as Observer } from './observer-3959f9dd.js';
9
- import { f as findParent, a as arrayToClassString } from './ui-7d177fb0.js';
9
+ import { f as findParent, a as arrayToClassString, k as extractNumberFromString } from './ui-7d177fb0.js';
10
10
  import { d as domNodeSubjectFactory, a as VegaClick, f as VegaChange, L as VegaPageSizeChange, V as VegaExpand, Q as VegaSelectChange, R as VegaSelectAllChange, S as VegaRowClick, T as VegaRowExpand, U as VegaRowSelect, W as VegaRowSelectAll } from './dom-node-subject-factory-6374611f.js';
11
11
  import { r as remoteInvocationRegistry } from './remote-invocation-registry-d69245c2.js';
12
- import { C as VegaInternalTableRowExpand, D as VegaInternalTableRowSelect, E as VegaInternalTableRowSelectAll, F as VegaInternalTableHeadCellSortEvent } from './vega-internal-event-id-178b2743.js';
12
+ import { C as VegaInternalTableRowExpand, D as VegaInternalTableRowSelect, E as VegaInternalTableRowSelectAll, F as VegaInternalColumnHeadRowRenderInputRIC, G as VegaInternalColumnHeadCellRenderInputRIC, H as VegaInternalColumnBodyCellRenderInputRIC, I as VegaInternalTableHeadCellSortEvent } from './vega-internal-event-id-f0ea2bab.js';
13
13
  import { D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-c345ca2e.js';
14
- import { R as ResponsiveFormatFacade } from './responsive-format-facade-464498b6.js';
15
- import { i as isNonNullable, s as isBreakpointsTokenType } from './type-guard-158f6d7a.js';
14
+ import { R as ResponsiveFormatFacade } from './responsive-format-facade-60731164.js';
15
+ import { i as isNonNullable, s as isBreakpointsTokenType, Q as isVegaTableColumnGroupingModelType } from './type-guard-84b1f192.js';
16
16
  import { s as sanitizeVegaComponent } from './component-7d906393.js';
17
- import { g as generateUUID } from './create-public-api-runtime-metrics-slimmer-8ada793f.js';
17
+ import { g as generateUUID } from './create-public-api-runtime-metrics-slimmer-bedf3a1e.js';
18
18
  import { P as PageResizeObserverSlimmer, g as getCurrentBreakpoint } from './page-resize-observer-slimmer-0bf7fbf3.js';
19
19
  import { M as MutationObserverSlimmer } from './mutation-observer-slimmer-58ebc13c.js';
20
20
  import { T as TagNameMutationFilter } from './mutation-observer-filters-1a054fb0.js';
21
- import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-b6c8051c.js';
22
- import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-2b975cbf.js';
21
+ import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-1c4d1e78.js';
22
+ import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-b59a578e.js';
23
23
  import { c as createEventEmitSlimmer } from './event-emit-slimmer-b5cb9b81.js';
24
24
  import { I as ImmutableMap } from './immutable-map-612922a2.js';
25
- import { T as TranslationSlimmer } from './translation-slimmer-e6b130bf.js';
26
- import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-93eeb87d.js';
27
- import { F as FeatureFlag } from './feature-flag-controller-0fbe8fb0.js';
25
+ import { T as TranslationSlimmer } from './translation-slimmer-f28e4708.js';
26
+ import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-1e9af9ec.js';
27
+ import { F as FeatureFlag } from './feature-flag-controller-51659753.js';
28
28
  import { B as Breakpoints } from './breakpoints-d9faf11c.js';
29
- import { I as InternalVegaZIndexManager } from './vega-skeleton-loader-controller-9d1ffa6c.js';
29
+ import { I as InternalVegaZIndexManager } from './vega-skeleton-loader-controller-3f6faa17.js';
30
30
  import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-e5fd0fab.js';
31
- import { V as VegaInternalIconManager } from './internal-icon-manager-58cf8aa6.js';
31
+ import { V as VegaInternalIconManager } from './internal-icon-manager-7eac52c8.js';
32
32
  import { c as chevronUp } from './chevron-up-b1989751.js';
33
33
  import { c as chevronDown } from './chevron-down-4a75d28e.js';
34
34
  import './number-4398f2e1.js';
@@ -36,11 +36,11 @@ import './ui-8424715a.js';
36
36
  import './pixel-f32c07ce.js';
37
37
  import './array-7888f339.js';
38
38
  import './vega-env-manager-8f8dc473.js';
39
- import './icon-manager-638dd4d4.js';
40
- import './wait-for-vega-handler-e0a928cd.js';
41
- import './translation-71e0711d.js';
42
- import './content-state-cf27d19b.js';
43
- import './code-block-1cdb0599.js';
39
+ import './icon-manager-2ee1c619.js';
40
+ import './wait-for-vega-handler-c2c07ac3.js';
41
+ import './translation-a6eacb5f.js';
42
+ import './content-state-953906e8.js';
43
+ import './code-block-73869a3c.js';
44
44
  import './dark-mode-style-controller-ea798fc8.js';
45
45
  import './_commonjsHelpers-9943807e.js';
46
46
  import './regex-dfe11abf.js';
@@ -48,7 +48,7 @@ import './typography-396de03f.js';
48
48
  import './dynamic-slimmer-90b8af32.js';
49
49
  import './try-get-document-bef0f526.js';
50
50
  import './internal-vega-event-manager-d80c53c5.js';
51
- import './index-44c794b4.js';
51
+ import './index-e9da316f.js';
52
52
 
53
53
  /**
54
54
  * Immutable Set cannot be changed once created
@@ -157,7 +157,7 @@ const VegaTableEditableFieldTypes = [
157
157
  'time-picker',
158
158
  ];
159
159
 
160
- var __decorate$F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
160
+ var __decorate$J = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
161
161
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
162
162
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
163
163
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -240,23 +240,41 @@ class VegaTableCellRenderer extends VegaSlimmer {
240
240
  new RegExp(VegaTableEditableFieldTypes.join('|'), 'i').test(tagName));
241
241
  };
242
242
  }
243
- render(column, record, index) {
244
- const rowKey = this.vegaTableDataSourceController.getRecordKey(record);
245
- const columnKey = `${rowKey}_${column.key || column.prop}`;
246
- return (h("vega-table-cell", { key: columnKey, textAlign: column.align, breakpoint: column.breakpoint, overflow: column.overflow }, this.renderTableCellContent(column, record, index)));
243
+ render(renderInput, record, index) {
244
+ const column = this.columns.find((column) => column.key === renderInput.key ||
245
+ column.prop === renderInput.key ||
246
+ column.label === renderInput.key);
247
+ if (column) {
248
+ const rowKey = this.vegaTableDataSourceController.getRecordKey(record);
249
+ const columnKey = `${rowKey}_${column.key || column.prop}`;
250
+ return (h("vega-table-cell", { key: columnKey, textAlign: column.align, breakpoint: column.breakpoint, overflow: column.overflow, ref: (ref) => {
251
+ this.vegaTableRenderInputController.addCellRenderInputMap(ref, renderInput);
252
+ } }, this.renderTableCellContent(column, record, index)));
253
+ }
254
+ else {
255
+ return (h("vega-table-cell", { key: renderInput.key, ref: (ref) => {
256
+ this.vegaTableRenderInputController.addCellRenderInputMap(ref, renderInput);
257
+ } }));
258
+ }
247
259
  }
248
260
  }
249
- __decorate$F([
261
+ __decorate$J([
250
262
  MapToComponentField()
251
263
  ], VegaTableCellRenderer.prototype, "rowKey", void 0);
252
- __decorate$F([
264
+ __decorate$J([
265
+ MapToComponentField()
266
+ ], VegaTableCellRenderer.prototype, "columns", void 0);
267
+ __decorate$J([
253
268
  MapToComponentField()
254
269
  ], VegaTableCellRenderer.prototype, "vegaTableDataSourceController", void 0);
255
- __decorate$F([
270
+ __decorate$J([
256
271
  MapToComponentField()
257
272
  ], VegaTableCellRenderer.prototype, "vegaTableEditableController", void 0);
273
+ __decorate$J([
274
+ MapToComponentField()
275
+ ], VegaTableCellRenderer.prototype, "vegaTableRenderInputController", void 0);
258
276
 
259
- var __decorate$E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
277
+ var __decorate$I = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
260
278
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
261
279
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
262
280
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -451,47 +469,47 @@ class VegaTableExpandRowController extends VegaSlimmer {
451
469
  }
452
470
  }
453
471
  VegaTableExpandRowController.expandRowSlotNamePrefix = 'vega-table-expand-row-';
454
- __decorate$E([
472
+ __decorate$I([
455
473
  MapToComponentField()
456
474
  ], VegaTableExpandRowController.prototype, "host", void 0);
457
- __decorate$E([
475
+ __decorate$I([
458
476
  MapToComponentField()
459
477
  ], VegaTableExpandRowController.prototype, "expandedRowKeySet", void 0);
460
- __decorate$E([
478
+ __decorate$I([
461
479
  MapToComponentField()
462
480
  ], VegaTableExpandRowController.prototype, "rowExpandable", void 0);
463
- __decorate$E([
481
+ __decorate$I([
464
482
  MapToComponentField()
465
483
  ], VegaTableExpandRowController.prototype, "rowExpandEventEmitter", void 0);
466
- __decorate$E([
484
+ __decorate$I([
467
485
  MapToComponentField()
468
486
  ], VegaTableExpandRowController.prototype, "vegaTableDataSourceController", void 0);
469
- __decorate$E([
487
+ __decorate$I([
470
488
  MapToComponentMethod('connectedCallback')
471
489
  ], VegaTableExpandRowController.prototype, "connectedCallback", null);
472
- __decorate$E([
490
+ __decorate$I([
473
491
  MapToComponentMethod('disconnectedCallback')
474
492
  ], VegaTableExpandRowController.prototype, "disconnectedCallback", null);
475
- __decorate$E([
493
+ __decorate$I([
476
494
  MapToComponentMethod('componentDidLoad')
477
495
  ], VegaTableExpandRowController.prototype, "componentDidLoad", null);
478
- __decorate$E([
496
+ __decorate$I([
479
497
  MapToComponentMethod('toggleExpandRow')
480
498
  ], VegaTableExpandRowController.prototype, "toggleExpandRow", void 0);
481
- __decorate$E([
499
+ __decorate$I([
482
500
  MapToComponentMethod('openExpandRow')
483
501
  ], VegaTableExpandRowController.prototype, "openExpandRow", void 0);
484
- __decorate$E([
502
+ __decorate$I([
485
503
  MapToComponentMethod('closeExpandRow')
486
504
  ], VegaTableExpandRowController.prototype, "closeExpandRow", void 0);
487
- __decorate$E([
505
+ __decorate$I([
488
506
  MapToComponentMethod('closeAllExpandRow')
489
507
  ], VegaTableExpandRowController.prototype, "closeAllExpandRow", void 0);
490
- __decorate$E([
508
+ __decorate$I([
491
509
  MapToComponentMethod('watchRowExpandable')
492
510
  ], VegaTableExpandRowController.prototype, "watchRowExpandable", null);
493
511
 
494
- var __decorate$D = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
512
+ var __decorate$H = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
495
513
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
496
514
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
497
515
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -830,68 +848,68 @@ class VegaTableRowSelectionController$1 extends VegaSlimmer {
830
848
  this.host === findParent(input['host'], 'vega-table'));
831
849
  }
832
850
  }
833
- __decorate$D([
851
+ __decorate$H([
834
852
  MapToComponentField()
835
853
  ], VegaTableRowSelectionController$1.prototype, "host", void 0);
836
- __decorate$D([
854
+ __decorate$H([
837
855
  MapToComponentField({ writable: true })
838
856
  ], VegaTableRowSelectionController$1.prototype, "isSelectedAll", void 0);
839
- __decorate$D([
857
+ __decorate$H([
840
858
  MapToComponentField()
841
859
  ], VegaTableRowSelectionController$1.prototype, "selectedRowKeySet", void 0);
842
- __decorate$D([
860
+ __decorate$H([
843
861
  MapToComponentField({ writable: true })
844
862
  ], VegaTableRowSelectionController$1.prototype, "rowSelection", void 0);
845
- __decorate$D([
863
+ __decorate$H([
846
864
  MapToComponentField()
847
865
  ], VegaTableRowSelectionController$1.prototype, "rowKey", void 0);
848
- __decorate$D([
866
+ __decorate$H([
849
867
  MapToComponentField()
850
868
  ], VegaTableRowSelectionController$1.prototype, "selectChangeEventEmitter", void 0);
851
- __decorate$D([
869
+ __decorate$H([
852
870
  MapToComponentField()
853
871
  ], VegaTableRowSelectionController$1.prototype, "selectAllChangeEventEmitter", void 0);
854
- __decorate$D([
872
+ __decorate$H([
855
873
  MapToComponentField()
856
874
  ], VegaTableRowSelectionController$1.prototype, "vegaTableDataSourceController", void 0);
857
- __decorate$D([
875
+ __decorate$H([
858
876
  MapToComponentField()
859
877
  ], VegaTableRowSelectionController$1.prototype, "rowSelectEventEmitter", void 0);
860
- __decorate$D([
878
+ __decorate$H([
861
879
  MapToComponentField()
862
880
  ], VegaTableRowSelectionController$1.prototype, "rowSelectAllEventEmitter", void 0);
863
- __decorate$D([
881
+ __decorate$H([
864
882
  MapToComponentMethod('connectedCallback')
865
883
  ], VegaTableRowSelectionController$1.prototype, "connectedCallback", null);
866
- __decorate$D([
884
+ __decorate$H([
867
885
  MapToComponentMethod('disconnectedCallback')
868
886
  ], VegaTableRowSelectionController$1.prototype, "disconnectedCallback", null);
869
- __decorate$D([
887
+ __decorate$H([
870
888
  MapToComponentMethod('componentWillLoad')
871
889
  ], VegaTableRowSelectionController$1.prototype, "componentWillLoad", null);
872
- __decorate$D([
890
+ __decorate$H([
873
891
  MapToComponentMethod('watchRowSelection')
874
892
  ], VegaTableRowSelectionController$1.prototype, "watchRowSelection", null);
875
- __decorate$D([
893
+ __decorate$H([
876
894
  MapToComponentMethod('setSelection')
877
895
  ], VegaTableRowSelectionController$1.prototype, "setSelection", null);
878
- __decorate$D([
896
+ __decorate$H([
879
897
  MapToComponentMethod('watchCurrentData')
880
898
  ], VegaTableRowSelectionController$1.prototype, "watchCurrentData", null);
881
- __decorate$D([
899
+ __decorate$H([
882
900
  MapToComponentMethod('clearSelection')
883
901
  ], VegaTableRowSelectionController$1.prototype, "clearSelection", null);
884
- __decorate$D([
902
+ __decorate$H([
885
903
  MapToComponentMethod('getSelection')
886
904
  ], VegaTableRowSelectionController$1.prototype, "getSelection", null);
887
- __decorate$D([
905
+ __decorate$H([
888
906
  MapToComponentMethod('watchSelectedRowKeySet')
889
907
  ], VegaTableRowSelectionController$1.prototype, "watchSelectedRowKeySet", null);
890
- __decorate$D([
908
+ __decorate$H([
891
909
  MapToComponentMethod('watchSelectedAll')
892
910
  ], VegaTableRowSelectionController$1.prototype, "watchSelectedAll", null);
893
911
 
894
- var __decorate$C = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
912
+ var __decorate$G = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
895
913
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
896
914
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
897
915
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1031,41 +1049,41 @@ class VegaTableDataSourceController extends VegaSlimmer {
1031
1049
  }
1032
1050
  }
1033
1051
  }
1034
- __decorate$C([
1052
+ __decorate$G([
1035
1053
  MapToComponentField()
1036
1054
  ], VegaTableDataSourceController.prototype, "rowKey", void 0);
1037
- __decorate$C([
1055
+ __decorate$G([
1038
1056
  MapToComponentField({ writable: true })
1039
1057
  ], VegaTableDataSourceController.prototype, "currentData", void 0);
1040
- __decorate$C([
1058
+ __decorate$G([
1041
1059
  MapToComponentField({ writable: true })
1042
1060
  ], VegaTableDataSourceController.prototype, "dataSource", void 0);
1043
- __decorate$C([
1061
+ __decorate$G([
1044
1062
  MapToComponentField()
1045
1063
  ], VegaTableDataSourceController.prototype, "columns", void 0);
1046
- __decorate$C([
1064
+ __decorate$G([
1047
1065
  MapToComponentField()
1048
1066
  ], VegaTableDataSourceController.prototype, "sortersMap", void 0);
1049
- __decorate$C([
1067
+ __decorate$G([
1050
1068
  MapToComponentField()
1051
1069
  ], VegaTableDataSourceController.prototype, "vegaTableSortController", void 0);
1052
- __decorate$C([
1070
+ __decorate$G([
1053
1071
  MapToComponentField()
1054
1072
  ], VegaTableDataSourceController.prototype, "vegaTableRenderer", void 0);
1055
- __decorate$C([
1073
+ __decorate$G([
1056
1074
  MapToComponentField()
1057
1075
  ], VegaTableDataSourceController.prototype, "isTemplateRenderMode", void 0);
1058
- __decorate$C([
1076
+ __decorate$G([
1059
1077
  MapToComponentMethod('componentWillLoad')
1060
1078
  ], VegaTableDataSourceController.prototype, "componentWillLoad", null);
1061
- __decorate$C([
1079
+ __decorate$G([
1062
1080
  MapToComponentMethod('watchSortersMap')
1063
1081
  ], VegaTableDataSourceController.prototype, "watchSortersMap", null);
1064
- __decorate$C([
1082
+ __decorate$G([
1065
1083
  MapToComponentMethod('watchDataSource')
1066
1084
  ], VegaTableDataSourceController.prototype, "watchDataSource", null);
1067
1085
 
1068
- var __decorate$B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1086
+ var __decorate$F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1069
1087
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1070
1088
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1071
1089
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1098,39 +1116,44 @@ class VegaTableBodyRenderer extends VegaSlimmer {
1098
1116
  return this.tableFormRef;
1099
1117
  }
1100
1118
  render() {
1101
- const editable = this.columns.some((item) => item.editable);
1119
+ const editable = this.columnStructureModel
1120
+ .generateColumnConfigByLeaves(this.columns)
1121
+ .some((item) => item === null || item === void 0 ? void 0 : item.editable);
1102
1122
  return editable ? (h("vega-form", { ref: (ref) => (this.tableFormRef = ref) }, this.renderTableBody(editable))) : (this.renderTableBody(false));
1103
1123
  }
1104
1124
  }
1105
- __decorate$B([
1125
+ __decorate$F([
1106
1126
  MapToComponentField()
1107
1127
  ], VegaTableBodyRenderer.prototype, "striped", void 0);
1108
- __decorate$B([
1128
+ __decorate$F([
1109
1129
  MapToComponentField()
1110
1130
  ], VegaTableBodyRenderer.prototype, "columns", void 0);
1111
- __decorate$B([
1131
+ __decorate$F([
1112
1132
  MapToComponentField()
1113
1133
  ], VegaTableBodyRenderer.prototype, "currentBreakpoint", void 0);
1114
- __decorate$B([
1134
+ __decorate$F([
1115
1135
  MapToComponentField()
1116
1136
  ], VegaTableBodyRenderer.prototype, "rowExpandable", void 0);
1117
- __decorate$B([
1137
+ __decorate$F([
1118
1138
  MapToComponentField()
1119
1139
  ], VegaTableBodyRenderer.prototype, "rowClickable", void 0);
1120
- __decorate$B([
1140
+ __decorate$F([
1121
1141
  MapToComponentField()
1122
1142
  ], VegaTableBodyRenderer.prototype, "vegaTableDataSourceController", void 0);
1123
- __decorate$B([
1143
+ __decorate$F([
1124
1144
  MapToComponentField()
1125
1145
  ], VegaTableBodyRenderer.prototype, "vegaTablePaginationController", void 0);
1126
- __decorate$B([
1146
+ __decorate$F([
1127
1147
  MapToComponentField()
1128
1148
  ], VegaTableBodyRenderer.prototype, "vegaTableRowSelectionController", void 0);
1129
- __decorate$B([
1149
+ __decorate$F([
1130
1150
  MapToComponentField()
1131
1151
  ], VegaTableBodyRenderer.prototype, "vegaTableRowRenderer", void 0);
1152
+ __decorate$F([
1153
+ MapToComponentField()
1154
+ ], VegaTableBodyRenderer.prototype, "columnStructureModel", void 0);
1132
1155
 
1133
- var __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1156
+ var __decorate$E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1134
1157
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1135
1158
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1136
1159
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1139,49 +1162,86 @@ var __decorate$A = (undefined && undefined.__decorate) || function (decorators,
1139
1162
  class VegaTableHeaderRenderer extends VegaSlimmer {
1140
1163
  constructor() {
1141
1164
  super(...arguments);
1142
- this.renderHeaderColumnCells = () => {
1143
- return this.columns.map((column) => {
1165
+ this.renderHeaderRows = () => {
1166
+ const renderInputs = this.vegaTableRenderInputController.getHeadRenderInputs();
1167
+ const rows = [];
1168
+ let levelRenderInputs = renderInputs;
1169
+ while (levelRenderInputs.length > 0) {
1170
+ rows.push(levelRenderInputs);
1171
+ levelRenderInputs = levelRenderInputs.flatMap((n) => n.children);
1172
+ }
1173
+ return rows.map((cells) => {
1144
1174
  var _a;
1175
+ return (h("vega-table-head-row", { hideSelectAll: (_a = this.rowSelection) === null || _a === void 0 ? void 0 : _a.hideSelectAll, ref: (ref) => {
1176
+ this.vegaTableRenderInputController.addHeadRowRenderInputMap(ref, cells);
1177
+ } }, cells.map((renderInput) => {
1178
+ if (renderInput.label) {
1179
+ return this.renderGroupCell(renderInput);
1180
+ }
1181
+ else {
1182
+ const column = this.columns.find((column) => column.key === renderInput.key ||
1183
+ column.prop === renderInput.key ||
1184
+ column.label === renderInput.key);
1185
+ return this.renderCell(renderInput, column);
1186
+ }
1187
+ })));
1188
+ });
1189
+ };
1190
+ this.renderGroupCell = (renderInput) => {
1191
+ return (h("vega-table-head-cell", { key: renderInput.key, ref: (ref) => {
1192
+ this.vegaTableRenderInputController.addHeadCellRenderInputMap(ref, renderInput);
1193
+ } }, renderInput.label));
1194
+ };
1195
+ this.renderCell = (renderInput, column) => {
1196
+ var _a;
1197
+ if (column) {
1145
1198
  return (h("vega-table-head-cell", { key: column.key || column.prop, textAlign: column.align, sorter: column.sorter, sortOrder: (_a = this.sortersMap.get(column.prop)) === null || _a === void 0 ? void 0 : _a.getSortOrder(), sortConfig: this.sortConfig, breakpoint: column.breakpoint,
1146
1199
  /* eslint-disable-next-line react/jsx-no-bind */
1147
1200
  ref: (ref) => {
1201
+ this.vegaTableRenderInputController.addHeadCellRenderInputMap(ref, renderInput);
1148
1202
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClick, (input) => {
1149
1203
  const sortOrder = input.detail.sortOrder;
1150
1204
  this.vegaTableSortController.handleHeadSortClick(column, sortOrder);
1151
1205
  });
1152
1206
  } }, column.label));
1153
- });
1207
+ }
1208
+ else {
1209
+ return (h("vega-table-head-cell", { key: renderInput.key, ref: (ref) => {
1210
+ this.vegaTableRenderInputController.addHeadCellRenderInputMap(ref, renderInput);
1211
+ } }));
1212
+ }
1154
1213
  };
1155
1214
  }
1156
1215
  render() {
1157
- var _a;
1158
- return (this.showHeader && (h("vega-table-head", null,
1159
- h("vega-table-head-row", { hideSelectAll: (_a = this.rowSelection) === null || _a === void 0 ? void 0 : _a.hideSelectAll }, this.renderHeaderColumnCells()))));
1216
+ return this.showHeader && h("vega-table-head", null, this.renderHeaderRows());
1160
1217
  }
1161
1218
  }
1162
- __decorate$A([
1219
+ __decorate$E([
1163
1220
  MapToComponentField()
1164
1221
  ], VegaTableHeaderRenderer.prototype, "showHeader", void 0);
1165
- __decorate$A([
1222
+ __decorate$E([
1166
1223
  MapToComponentField()
1167
1224
  ], VegaTableHeaderRenderer.prototype, "sortersMap", void 0);
1168
- __decorate$A([
1225
+ __decorate$E([
1169
1226
  MapToComponentField()
1170
1227
  ], VegaTableHeaderRenderer.prototype, "sortConfig", void 0);
1171
- __decorate$A([
1228
+ __decorate$E([
1172
1229
  MapToComponentField()
1173
1230
  ], VegaTableHeaderRenderer.prototype, "columns", void 0);
1174
- __decorate$A([
1231
+ __decorate$E([
1175
1232
  MapToComponentField()
1176
1233
  ], VegaTableHeaderRenderer.prototype, "rowSelection", void 0);
1177
- __decorate$A([
1234
+ __decorate$E([
1178
1235
  MapToComponentField()
1179
1236
  ], VegaTableHeaderRenderer.prototype, "vegaTableSortController", void 0);
1180
- __decorate$A([
1237
+ __decorate$E([
1181
1238
  MapToComponentField()
1182
1239
  ], VegaTableHeaderRenderer.prototype, "vegaTableDataSourceController", void 0);
1240
+ __decorate$E([
1241
+ MapToComponentField()
1242
+ ], VegaTableHeaderRenderer.prototype, "vegaTableRenderInputController", void 0);
1183
1243
 
1184
- var __decorate$z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1244
+ var __decorate$D = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1185
1245
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1186
1246
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1187
1247
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1247,19 +1307,19 @@ class VegaTablePaginationRenderer extends VegaSlimmer {
1247
1307
  ref: this.paginationRefCallback }))));
1248
1308
  }
1249
1309
  }
1250
- __decorate$z([
1310
+ __decorate$D([
1251
1311
  MapToComponentField()
1252
1312
  ], VegaTablePaginationRenderer.prototype, "pagination", void 0);
1253
- __decorate$z([
1313
+ __decorate$D([
1254
1314
  MapToComponentField()
1255
1315
  ], VegaTablePaginationRenderer.prototype, "pageSize", void 0);
1256
- __decorate$z([
1316
+ __decorate$D([
1257
1317
  MapToComponentField()
1258
1318
  ], VegaTablePaginationRenderer.prototype, "currentPage", void 0);
1259
- __decorate$z([
1319
+ __decorate$D([
1260
1320
  MapToComponentField()
1261
1321
  ], VegaTablePaginationRenderer.prototype, "vegaTablePaginationController", void 0);
1262
- __decorate$z([
1322
+ __decorate$D([
1263
1323
  MapToComponentField()
1264
1324
  ], VegaTablePaginationRenderer.prototype, "vegaTableDataSourceController", void 0);
1265
1325
 
@@ -1286,7 +1346,7 @@ const VegaTableScrollableContainer = ({ scrollConfig = {}, ref, onScroll }, chil
1286
1346
  onScroll: handleVerticalScroll }, children));
1287
1347
  };
1288
1348
 
1289
- var __decorate$y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1349
+ var __decorate$C = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1290
1350
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1291
1351
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1292
1352
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1319,20 +1379,20 @@ class VegaTableScrollContainerRenderer extends VegaSlimmer {
1319
1379
  this.tableScrollContainerRef = ref;
1320
1380
  }
1321
1381
  }
1322
- __decorate$y([
1382
+ __decorate$C([
1323
1383
  MapToComponentField()
1324
1384
  ], VegaTableScrollContainerRenderer.prototype, "scrollConfig", void 0);
1325
- __decorate$y([
1385
+ __decorate$C([
1326
1386
  MapToComponentField()
1327
1387
  ], VegaTableScrollContainerRenderer.prototype, "host", void 0);
1328
- __decorate$y([
1388
+ __decorate$C([
1329
1389
  MapToComponentField()
1330
1390
  ], VegaTableScrollContainerRenderer.prototype, "isTemplateRenderMode", void 0);
1331
- __decorate$y([
1391
+ __decorate$C([
1332
1392
  MapToComponentMethod('watchCurrentPage')
1333
1393
  ], VegaTableScrollContainerRenderer.prototype, "watchCurrentPage", null);
1334
1394
 
1335
- var __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1395
+ var __decorate$B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1336
1396
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1337
1397
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1338
1398
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1366,6 +1426,10 @@ class VegaTableRenderer extends VegaSlimmer {
1366
1426
  this.columnDivider && 'column-divider',
1367
1427
  `density-${ResponsiveFormatFacade.formatCustom(this.density)}`,
1368
1428
  this.striped && 'striped',
1429
+ this.columnStructureModel.hasGroupColumn() && 'is-group-table',
1430
+ (this.columnStructureModel.hasLeftPinnedColumn() ||
1431
+ this.columnStructureModel.hasRightPinnedColumn()) &&
1432
+ 'is-pinned-table',
1369
1433
  ]);
1370
1434
  return sanitizeVegaComponent(h(Host, { class: hostClasses },
1371
1435
  this.vegaTableScrollContainerRenderer.render(this.renderInternalTable()),
@@ -1373,62 +1437,65 @@ class VegaTableRenderer extends VegaSlimmer {
1373
1437
  this.renderEmpty()), this.host);
1374
1438
  }
1375
1439
  }
1376
- __decorate$x([
1440
+ __decorate$B([
1377
1441
  MapToComponentField()
1378
1442
  ], VegaTableRenderer.prototype, "host", void 0);
1379
- __decorate$x([
1443
+ __decorate$B([
1380
1444
  MapToComponentField()
1381
1445
  ], VegaTableRenderer.prototype, "columns", void 0);
1382
- __decorate$x([
1446
+ __decorate$B([
1383
1447
  MapToComponentField()
1384
1448
  ], VegaTableRenderer.prototype, "emptyDescription", void 0);
1385
- __decorate$x([
1449
+ __decorate$B([
1386
1450
  MapToComponentField()
1387
1451
  ], VegaTableRenderer.prototype, "rowDivider", void 0);
1388
- __decorate$x([
1452
+ __decorate$B([
1389
1453
  MapToComponentField()
1390
1454
  ], VegaTableRenderer.prototype, "columnDivider", void 0);
1391
- __decorate$x([
1455
+ __decorate$B([
1392
1456
  MapToComponentField()
1393
1457
  ], VegaTableRenderer.prototype, "density", void 0);
1394
- __decorate$x([
1458
+ __decorate$B([
1395
1459
  MapToComponentField()
1396
1460
  ], VegaTableRenderer.prototype, "dataSource", void 0);
1397
- __decorate$x([
1461
+ __decorate$B([
1398
1462
  MapToComponentField()
1399
1463
  ], VegaTableRenderer.prototype, "striped", void 0);
1400
- __decorate$x([
1464
+ __decorate$B([
1465
+ MapToComponentField()
1466
+ ], VegaTableRenderer.prototype, "columnStructureModel", void 0);
1467
+ __decorate$B([
1401
1468
  MapToComponentField()
1402
1469
  ], VegaTableRenderer.prototype, "vegaTableHeaderRenderer", void 0);
1403
- __decorate$x([
1470
+ __decorate$B([
1404
1471
  MapToComponentField()
1405
1472
  ], VegaTableRenderer.prototype, "vegaTableBodyRenderer", void 0);
1406
- __decorate$x([
1473
+ __decorate$B([
1407
1474
  MapToComponentField()
1408
1475
  ], VegaTableRenderer.prototype, "vegaTableColGroupRenderer", void 0);
1409
- __decorate$x([
1476
+ __decorate$B([
1410
1477
  MapToComponentField()
1411
1478
  ], VegaTableRenderer.prototype, "vegaTableScrollContainerRenderer", void 0);
1412
- __decorate$x([
1479
+ __decorate$B([
1413
1480
  MapToComponentField()
1414
1481
  ], VegaTableRenderer.prototype, "vegaTablePaginationRenderer", void 0);
1415
- __decorate$x([
1482
+ __decorate$B([
1416
1483
  MapToComponentField()
1417
1484
  ], VegaTableRenderer.prototype, "vegaTableDataSourceController", void 0);
1418
- __decorate$x([
1485
+ __decorate$B([
1419
1486
  MapToComponentField()
1420
1487
  ], VegaTableRenderer.prototype, "translationSlimmer", void 0);
1421
- __decorate$x([
1488
+ __decorate$B([
1422
1489
  MapToComponentField({ writable: true })
1423
1490
  ], VegaTableRenderer.prototype, "vegaTableChildrenController", void 0);
1424
- __decorate$x([
1491
+ __decorate$B([
1425
1492
  MapToComponentField()
1426
1493
  ], VegaTableRenderer.prototype, "isTemplateRenderMode", void 0);
1427
- __decorate$x([
1494
+ __decorate$B([
1428
1495
  MapToComponentField()
1429
1496
  ], VegaTableRenderer.prototype, "editingRows", void 0);
1430
1497
 
1431
- var __decorate$w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1498
+ var __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1432
1499
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1433
1500
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1434
1501
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1492,23 +1559,23 @@ class VegaTablePaginationController extends VegaSlimmer {
1492
1559
  return index >= start && index < end;
1493
1560
  }
1494
1561
  }
1495
- __decorate$w([
1562
+ __decorate$A([
1496
1563
  MapToComponentField()
1497
1564
  ], VegaTablePaginationController.prototype, "pagination", void 0);
1498
- __decorate$w([
1565
+ __decorate$A([
1499
1566
  MapToComponentField({ writable: true })
1500
1567
  ], VegaTablePaginationController.prototype, "pageSize", void 0);
1501
- __decorate$w([
1568
+ __decorate$A([
1502
1569
  MapToComponentField({ writable: true })
1503
1570
  ], VegaTablePaginationController.prototype, "currentPage", void 0);
1504
- __decorate$w([
1571
+ __decorate$A([
1505
1572
  MapToComponentMethod('componentWillLoad')
1506
1573
  ], VegaTablePaginationController.prototype, "componentWillLoad", null);
1507
- __decorate$w([
1574
+ __decorate$A([
1508
1575
  MapToComponentMethod('watchPagination')
1509
1576
  ], VegaTablePaginationController.prototype, "watchPagination", null);
1510
1577
 
1511
- var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1578
+ var __decorate$z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1512
1579
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1513
1580
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1514
1581
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1737,55 +1804,55 @@ class VegaTableEditableController extends VegaSlimmer {
1737
1804
  }
1738
1805
  }
1739
1806
  VegaTableEditableController.rowFormKeyPrefix = 'vega-table-row-form-';
1740
- __decorate$v([
1807
+ __decorate$z([
1741
1808
  MapToComponentField()
1742
1809
  ], VegaTableEditableController.prototype, "editingRows", void 0);
1743
- __decorate$v([
1810
+ __decorate$z([
1744
1811
  MapToComponentField()
1745
1812
  ], VegaTableEditableController.prototype, "rowKey", void 0);
1746
- __decorate$v([
1813
+ __decorate$z([
1747
1814
  MapToComponentField()
1748
1815
  ], VegaTableEditableController.prototype, "columns", void 0);
1749
- __decorate$v([
1816
+ __decorate$z([
1750
1817
  MapToComponentField()
1751
1818
  ], VegaTableEditableController.prototype, "vegaTableDataSourceController", void 0);
1752
- __decorate$v([
1819
+ __decorate$z([
1753
1820
  MapToComponentField()
1754
1821
  ], VegaTableEditableController.prototype, "vegaTableBodyRenderer", void 0);
1755
- __decorate$v([
1822
+ __decorate$z([
1756
1823
  MapToComponentMethod('saveAllEditRows')
1757
1824
  ], VegaTableEditableController.prototype, "saveAllEditRows", null);
1758
- __decorate$v([
1825
+ __decorate$z([
1759
1826
  MapToComponentMethod('stopAllRowEditMode')
1760
1827
  ], VegaTableEditableController.prototype, "stopAllRowEditMode", null);
1761
- __decorate$v([
1828
+ __decorate$z([
1762
1829
  MapToComponentMethod('watchDataSource')
1763
1830
  ], VegaTableEditableController.prototype, "watchDataSource", null);
1764
- __decorate$v([
1831
+ __decorate$z([
1765
1832
  MapToComponentMethod('saveEditRow')
1766
1833
  ], VegaTableEditableController.prototype, "saveEditRow", null);
1767
- __decorate$v([
1834
+ __decorate$z([
1768
1835
  MapToComponentMethod('stopRowEditMode')
1769
1836
  ], VegaTableEditableController.prototype, "stopRowEditMode", null);
1770
- __decorate$v([
1837
+ __decorate$z([
1771
1838
  MapToComponentMethod('removeRow')
1772
1839
  ], VegaTableEditableController.prototype, "removeRow", null);
1773
- __decorate$v([
1840
+ __decorate$z([
1774
1841
  MapToComponentMethod('startRowEditMode')
1775
1842
  ], VegaTableEditableController.prototype, "startRowEditMode", null);
1776
- __decorate$v([
1843
+ __decorate$z([
1777
1844
  MapToComponentMethod('addNewRow')
1778
1845
  ], VegaTableEditableController.prototype, "addNewRow", null);
1779
- __decorate$v([
1846
+ __decorate$z([
1780
1847
  MapToComponentMethod('getRowsData')
1781
1848
  ], VegaTableEditableController.prototype, "getRowsData", null);
1782
- __decorate$v([
1849
+ __decorate$z([
1783
1850
  MapToComponentMethod('getEditingRowsKey')
1784
1851
  ], VegaTableEditableController.prototype, "getEditingRowsKey", null);
1785
- __decorate$v([
1852
+ __decorate$z([
1786
1853
  MapToComponentMethod('getFormRef')
1787
1854
  ], VegaTableEditableController.prototype, "getFormRef", null);
1788
- __decorate$v([
1855
+ __decorate$z([
1789
1856
  MapToComponentMethod('getRowData')
1790
1857
  ], VegaTableEditableController.prototype, "getRowData", null);
1791
1858
 
@@ -1831,7 +1898,7 @@ class VegaTableSorter {
1831
1898
  }
1832
1899
  }
1833
1900
 
1834
- var __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1901
+ var __decorate$y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1835
1902
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1836
1903
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1837
1904
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1901,26 +1968,26 @@ class VegaTableSortController extends VegaSlimmer {
1901
1968
  });
1902
1969
  }
1903
1970
  }
1904
- __decorate$u([
1971
+ __decorate$y([
1905
1972
  MapToComponentField({ writable: true })
1906
1973
  ], VegaTableSortController.prototype, "sortersMap", void 0);
1907
- __decorate$u([
1974
+ __decorate$y([
1908
1975
  MapToComponentField()
1909
1976
  ], VegaTableSortController.prototype, "columns", void 0);
1910
- __decorate$u([
1977
+ __decorate$y([
1911
1978
  MapToComponentField()
1912
1979
  ], VegaTableSortController.prototype, "changeEventEmitter", void 0);
1913
- __decorate$u([
1980
+ __decorate$y([
1914
1981
  MapToComponentField()
1915
1982
  ], VegaTableSortController.prototype, "vegaTableDataSourceController", void 0);
1916
- __decorate$u([
1983
+ __decorate$y([
1917
1984
  MapToComponentField()
1918
1985
  ], VegaTableSortController.prototype, "sortConfig", void 0);
1919
- __decorate$u([
1986
+ __decorate$y([
1920
1987
  MapToComponentMethod('watchColumns')
1921
1988
  ], VegaTableSortController.prototype, "watchColumns", null);
1922
1989
 
1923
- var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1990
+ var __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1924
1991
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1925
1992
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1926
1993
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -1939,28 +2006,38 @@ class VegaTableColGroupRenderer extends VegaSlimmer {
1939
2006
  return (h("colgroup", null,
1940
2007
  h("col", { style: { minWidth: this.paddingX[0], width: this.paddingX[0] } }),
1941
2008
  this.vegaTableRowSelectionController.getRowSelectionType() === 'multiple' && (h("col", { style: { minWidth: '40px', width: '40px' } })),
1942
- this.columns.map((column) => {
1943
- const responsiveClass = this.getColResponsiveClass(column);
1944
- return (h("col", { class: responsiveClass, style: { width: column.width ? column.width : null } }));
2009
+ this.columnStructureModel
2010
+ .generateColumnConfigByLeaves(this.columns)
2011
+ .map((column) => {
2012
+ if (column) {
2013
+ const responsiveClass = this.getColResponsiveClass(column);
2014
+ return (h("col", { class: responsiveClass, style: { width: column.width ? column.width : null } }));
2015
+ }
2016
+ else {
2017
+ return h("col", null);
2018
+ }
1945
2019
  }),
1946
2020
  this.rowExpandable && h("col", { style: { minWidth: '40px', width: '40px' } }),
1947
2021
  h("col", { style: { minWidth: this.paddingX[1], width: this.paddingX[1] } })));
1948
2022
  }
1949
2023
  }
1950
- __decorate$t([
2024
+ __decorate$x([
1951
2025
  MapToComponentField()
1952
2026
  ], VegaTableColGroupRenderer.prototype, "paddingX", void 0);
1953
- __decorate$t([
2027
+ __decorate$x([
2028
+ MapToComponentField()
2029
+ ], VegaTableColGroupRenderer.prototype, "columnStructureModel", void 0);
2030
+ __decorate$x([
1954
2031
  MapToComponentField()
1955
2032
  ], VegaTableColGroupRenderer.prototype, "columns", void 0);
1956
- __decorate$t([
2033
+ __decorate$x([
1957
2034
  MapToComponentField()
1958
2035
  ], VegaTableColGroupRenderer.prototype, "rowExpandable", void 0);
1959
- __decorate$t([
2036
+ __decorate$x([
1960
2037
  MapToComponentField()
1961
2038
  ], VegaTableColGroupRenderer.prototype, "vegaTableRowSelectionController", void 0);
1962
2039
 
1963
- var __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2040
+ var __decorate$w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1964
2041
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1965
2042
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1966
2043
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -2115,59 +2192,59 @@ class VegaTableChildrenController extends VegaSlimmer {
2115
2192
  }
2116
2193
  }
2117
2194
  }
2118
- __decorate$s([
2195
+ __decorate$w([
2119
2196
  MapToComponentField()
2120
2197
  ], VegaTableChildrenController.prototype, "host", void 0);
2121
- __decorate$s([
2198
+ __decorate$w([
2122
2199
  MapToComponentField()
2123
2200
  ], VegaTableChildrenController.prototype, "columns", void 0);
2124
- __decorate$s([
2201
+ __decorate$w([
2125
2202
  MapToComponentField()
2126
2203
  ], VegaTableChildrenController.prototype, "dataSource", void 0);
2127
- __decorate$s([
2204
+ __decorate$w([
2128
2205
  MapToComponentField()
2129
2206
  ], VegaTableChildrenController.prototype, "currentData", void 0);
2130
- __decorate$s([
2207
+ __decorate$w([
2131
2208
  MapToComponentField()
2132
2209
  ], VegaTableChildrenController.prototype, "rowSelection", void 0);
2133
- __decorate$s([
2210
+ __decorate$w([
2134
2211
  MapToComponentField()
2135
2212
  ], VegaTableChildrenController.prototype, "striped", void 0);
2136
- __decorate$s([
2213
+ __decorate$w([
2137
2214
  MapToComponentField()
2138
2215
  ], VegaTableChildrenController.prototype, "vegaTableDataSourceController", void 0);
2139
- __decorate$s([
2216
+ __decorate$w([
2140
2217
  MapToComponentField()
2141
2218
  ], VegaTableChildrenController.prototype, "vegaTableRenderer", void 0);
2142
- __decorate$s([
2219
+ __decorate$w([
2143
2220
  MapToComponentField()
2144
2221
  ], VegaTableChildrenController.prototype, "isTemplateRenderMode", void 0);
2145
- __decorate$s([
2222
+ __decorate$w([
2146
2223
  InjectVegaSlimmer()
2147
2224
  ], VegaTableChildrenController.prototype, "currentDataObserver", void 0);
2148
- __decorate$s([
2225
+ __decorate$w([
2149
2226
  InjectVegaSlimmer()
2150
2227
  ], VegaTableChildrenController.prototype, "rowStripedObserver", void 0);
2151
- __decorate$s([
2228
+ __decorate$w([
2152
2229
  MapToComponentMethod('connectedCallback')
2153
2230
  ], VegaTableChildrenController.prototype, "connectedCallback", null);
2154
- __decorate$s([
2231
+ __decorate$w([
2155
2232
  MapToComponentMethod('disconnectedCallback')
2156
2233
  ], VegaTableChildrenController.prototype, "disconnectedCallback", null);
2157
- __decorate$s([
2234
+ __decorate$w([
2158
2235
  MapToComponentMethod('componentWillLoad')
2159
2236
  ], VegaTableChildrenController.prototype, "componentWillLoad", null);
2160
- __decorate$s([
2237
+ __decorate$w([
2161
2238
  MapToComponentMethod('componentDidLoad')
2162
2239
  ], VegaTableChildrenController.prototype, "componentDidLoad", null);
2163
- __decorate$s([
2240
+ __decorate$w([
2164
2241
  MapToComponentMethod('clearSelection')
2165
2242
  ], VegaTableChildrenController.prototype, "clearSelection", null);
2166
- __decorate$s([
2243
+ __decorate$w([
2167
2244
  MapToComponentMethod('watchStriped')
2168
2245
  ], VegaTableChildrenController.prototype, "watchStriped", null);
2169
2246
 
2170
- var __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2247
+ var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2171
2248
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2172
2249
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2173
2250
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -2178,6 +2255,7 @@ class VegaTableRowRenderer$1 extends VegaSlimmer {
2178
2255
  super(...arguments);
2179
2256
  this.renderTableRowComponent = (rowProps) => {
2180
2257
  const { rowKey, index, record, isVisibleInCurrentPage } = rowProps;
2258
+ const renderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
2181
2259
  return (h("vega-table-row", { class: {
2182
2260
  'v-hidden': !isVisibleInCurrentPage,
2183
2261
  }, key: `vega-table-row-${rowKey}`, rowKey: rowKey,
@@ -2186,8 +2264,8 @@ class VegaTableRowRenderer$1 extends VegaSlimmer {
2186
2264
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClick, () => {
2187
2265
  this.rowClickEventEmitter.emit({ record: record, index: index });
2188
2266
  });
2189
- }, "data-striped": this.striped && index % 2 === 1 ? 'striped' : undefined }, this.columns.map((column) => {
2190
- return this.vegaTableCellRenderer.render(column, record, index);
2267
+ }, "data-striped": this.striped && index % 2 === 1 ? 'striped' : undefined }, renderInputs.map((renderInput) => {
2268
+ return this.vegaTableCellRenderer.render(renderInput, record, index);
2191
2269
  })));
2192
2270
  };
2193
2271
  }
@@ -2196,23 +2274,23 @@ class VegaTableRowRenderer$1 extends VegaSlimmer {
2196
2274
  return editable ? (h("vega-form", { key: `vega-table-row-form-${rowKey}`, "data-vega-form": `${VegaTableEditableController.rowFormKeyPrefix}${rowKey}`, ref: (ref) => this.vegaTableEditableController.getRowFormRefMap().set(rowKey, ref) }, this.renderTableRowComponent(rowProps))) : (this.renderTableRowComponent(rowProps));
2197
2275
  }
2198
2276
  }
2199
- __decorate$r([
2200
- MapToComponentField()
2201
- ], VegaTableRowRenderer$1.prototype, "columns", void 0);
2202
- __decorate$r([
2277
+ __decorate$v([
2203
2278
  MapToComponentField()
2204
2279
  ], VegaTableRowRenderer$1.prototype, "rowClickEventEmitter", void 0);
2205
- __decorate$r([
2280
+ __decorate$v([
2206
2281
  MapToComponentField()
2207
2282
  ], VegaTableRowRenderer$1.prototype, "vegaTableEditableController", void 0);
2208
- __decorate$r([
2283
+ __decorate$v([
2209
2284
  MapToComponentField()
2210
2285
  ], VegaTableRowRenderer$1.prototype, "vegaTableCellRenderer", void 0);
2211
- __decorate$r([
2286
+ __decorate$v([
2212
2287
  MapToComponentField()
2213
2288
  ], VegaTableRowRenderer$1.prototype, "striped", void 0);
2289
+ __decorate$v([
2290
+ MapToComponentField()
2291
+ ], VegaTableRowRenderer$1.prototype, "vegaTableRenderInputController", void 0);
2214
2292
 
2215
- var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2293
+ var __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2216
2294
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2217
2295
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2218
2296
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -2262,64 +2340,922 @@ class VegaTableRenderModeController extends VegaSlimmer {
2262
2340
  componentWillLoad() {
2263
2341
  this.isTemplateRenderMode = this.checkIsTemplateRenderMode(this.host);
2264
2342
  }
2265
- /**
2266
- * Used by {@link currentDataObserver}
2267
- */
2268
- componentDidLoad() {
2343
+ /**
2344
+ * Used by {@link currentDataObserver}
2345
+ */
2346
+ componentDidLoad() {
2347
+ }
2348
+ }
2349
+ __decorate$u([
2350
+ MapToComponentField()
2351
+ ], VegaTableRenderModeController.prototype, "host", void 0);
2352
+ __decorate$u([
2353
+ MapToComponentField({ writable: true })
2354
+ ], VegaTableRenderModeController.prototype, "isTemplateRenderMode", void 0);
2355
+ __decorate$u([
2356
+ InjectVegaSlimmer()
2357
+ ], VegaTableRenderModeController.prototype, "currentDataObserver", void 0);
2358
+ __decorate$u([
2359
+ MapToComponentMethod('connectedCallback')
2360
+ ], VegaTableRenderModeController.prototype, "connectedCallback", null);
2361
+ __decorate$u([
2362
+ MapToComponentMethod('disconnectedCallback')
2363
+ ], VegaTableRenderModeController.prototype, "disconnectedCallback", null);
2364
+ __decorate$u([
2365
+ MapToComponentMethod('componentWillLoad')
2366
+ ], VegaTableRenderModeController.prototype, "componentWillLoad", null);
2367
+ __decorate$u([
2368
+ MapToComponentMethod('componentDidLoad')
2369
+ ], VegaTableRenderModeController.prototype, "componentDidLoad", null);
2370
+
2371
+ const VegaTableRuntimeMetricsPayloadDefinition = [
2372
+ {
2373
+ payloadKey: 'IS_USING_TEMPLATE',
2374
+ payloadDescription: 'Contains the data records to be rendered and displayed within the table',
2375
+ /**
2376
+ * The function checks if the length `dataSource` property of the `host` element is equal to '0'.
2377
+ * If it is, the function will return `true`.
2378
+ *
2379
+ * @param {HTMLElement} host - The element to check
2380
+ * @returns {boolean} A boolean value
2381
+ */
2382
+ payloadValue: (host) => host.dataSource.length === 0,
2383
+ },
2384
+ {
2385
+ payloadKey: 'IS_USING_DATA_SOURCE',
2386
+ payloadDescription: 'Contains the data records to be rendered and displayed within the table',
2387
+ /**
2388
+ * The function checks if the length `dataSource` property of the `host` element is not equal to '0'.
2389
+ * If it is, the function will return `true`.
2390
+ *
2391
+ * @param {HTMLElement} host - The element to check
2392
+ * @returns {boolean} A boolean value
2393
+ */
2394
+ payloadValue: (host) => host.dataSource.length > 0,
2395
+ },
2396
+ ];
2397
+
2398
+ /**
2399
+ * Represents the hierarchical structure of table columns (including group columns).
2400
+ *
2401
+ * Responsibilities:
2402
+ * - Build the tree from flat or grouped column configs (.from / .fromGroupColumns)
2403
+ * - Provide traversal helpers (iterator / dfs) with caching
2404
+ * - Provide utility checks (isLeaf, hasGroupColumn, hasPinnedColumn)
2405
+ * - Produce leaf column configs for rendering (generateColumnConfigByLeaves)
2406
+ * - Order root children by pinned type for rendering (orderChildrenByPinned)
2407
+ */
2408
+ class ColumnStructureModel {
2409
+ /**
2410
+ * Constructor for ColumnStructureModel.
2411
+ *
2412
+ * @param {string} key - Unique key for the column.
2413
+ * @param {number} level - Row level of this column (root uses ROOT_LEVEL).
2414
+ * @param {ColumnStructureModel} [parent] - Optional parent node.
2415
+ * @param {string} [label] - Optional display label for the column.
2416
+ * @param {VegaTablePinnedType} [pinned] - Optional pinned metadata ('left'|'right'|null).
2417
+ */
2418
+ constructor(key, level, parent, label, pinned) {
2419
+ this.key = key;
2420
+ this.level = level;
2421
+ this.parent = parent;
2422
+ this.label = label;
2423
+ this.pinned = pinned;
2424
+ this.leaves = [];
2425
+ this.orderedChildren = [];
2426
+ this.iteratorCacheMap = new Map();
2427
+ }
2428
+ /**
2429
+ * Creates the root ColumnStructureModel from column configs.
2430
+ *
2431
+ * @param {VegaTableColumnConfig[]} columnsConfig - Array of column configs.
2432
+ * @param {Nullable<VegaTableGroupColumnConfig[]>} groupColumnConfig - Optional grouping configuration.
2433
+ * @returns {ColumnStructureModel} Root column structure model.
2434
+ */
2435
+ static from(columnsConfig, groupColumnConfig) {
2436
+ const rootModel = new ColumnStructureModel(this.ROOT_KEY, ColumnStructureModel.ROOT_LEVEL);
2437
+ if (groupColumnConfig) {
2438
+ rootModel.children = this.fromGroupColumns(rootModel, groupColumnConfig);
2439
+ return rootModel;
2440
+ }
2441
+ else if (columnsConfig) {
2442
+ rootModel.children = columnsConfig.map((column) => new ColumnStructureModel(column.key || column.prop || column.label, 0, rootModel, null, column.pinned));
2443
+ return rootModel;
2444
+ }
2445
+ else {
2446
+ rootModel.children = [];
2447
+ return rootModel;
2448
+ }
2449
+ }
2450
+ /**
2451
+ * Recursively creates ColumnStructureModel children from group column configs.
2452
+ *
2453
+ * @param {ColumnStructureModel} parent - Parent node for the created children.
2454
+ * @param {VegaTableGroupColumnConfig[]} groupColumns - Array of group column configs.
2455
+ * @param {number} level - Current row level.
2456
+ * @returns {ColumnStructureModel[]} Array of child column structure models.
2457
+ */
2458
+ static fromGroupColumns(parent, groupColumns, level = 0) {
2459
+ if (groupColumns && groupColumns.length > 0) {
2460
+ return groupColumns.map((groupColumn) => {
2461
+ if (isVegaTableColumnGroupingModelType(groupColumn)) {
2462
+ const current = new ColumnStructureModel(groupColumn.key, level, parent, groupColumn.label, groupColumn.pinned);
2463
+ current.children = this.fromGroupColumns(current, groupColumn.children, level + 1);
2464
+ return current;
2465
+ }
2466
+ else {
2467
+ return new ColumnStructureModel(groupColumn.key, level, parent);
2468
+ }
2469
+ });
2470
+ }
2471
+ return [];
2472
+ }
2473
+ /**
2474
+ * Generates an array of VegaTableColumnConfig for all leaf columns.
2475
+ *
2476
+ * @param {VegaTableColumnConfig[]} columns - Array of all column configs.
2477
+ * @returns {VegaTableColumnConfig[]} Array of configs for leaf columns.
2478
+ */
2479
+ generateColumnConfigByLeaves(columns) {
2480
+ return this.getLeaves().map((leaf) => columns.find((column) => column.key === leaf.key || column.prop === leaf.key || column.label === leaf.key));
2481
+ }
2482
+ /**
2483
+ * Compute the maximum depth (highest level value) under this node.
2484
+ * This is useful to determine the number of header rows required for rendering.
2485
+ *
2486
+ * @returns {number} Maximum level found in the subtree (or 0 when empty).
2487
+ */
2488
+ getMaxDepth() {
2489
+ const models = this.dfsIterator();
2490
+ if (models.length === 0) {
2491
+ return 0;
2492
+ }
2493
+ return Math.max(...models.map((model) => model.level)) + 1;
2494
+ }
2495
+ /**
2496
+ * Checks if this subtree contains any group (non-leaf) columns.
2497
+ *
2498
+ * @returns {boolean} True if any descendant is a group column.
2499
+ */
2500
+ hasGroupColumn() {
2501
+ return !!this.children.find((model) => !model.isLeaf());
2502
+ }
2503
+ /**
2504
+ * Checks if this subtree contains any left pinned children.
2505
+ *
2506
+ * @returns {boolean} True if any immediate child has a pinned value.
2507
+ */
2508
+ hasLeftPinnedColumn() {
2509
+ return !!this.children.find((model) => model.pinned === 'left');
2510
+ }
2511
+ /**
2512
+ * Checks if this subtree contains any right pinned children.
2513
+ *
2514
+ * @returns {boolean} True if any immediate child has a pinned value.
2515
+ */
2516
+ hasRightPinnedColumn() {
2517
+ return !!this.children.find((model) => model.pinned === 'right');
2518
+ }
2519
+ /**
2520
+ * Checks if this node is a leaf (no children).
2521
+ *
2522
+ * @returns {boolean} True when this node has no children.
2523
+ */
2524
+ isLeaf() {
2525
+ return !this.children || this.children.length === 0;
2526
+ }
2527
+ /**
2528
+ * Return an array of nodes for this subtree using the specified traversal mode.
2529
+ *
2530
+ * Currently only depth-first search ('dfs') is supported. The returned array is
2531
+ * cached per-mode to avoid repeated traversal costs.
2532
+ *
2533
+ * @param {IteratorMode} mode - Traversal mode to use. Defaults to 'dfs'.
2534
+ * @returns {ColumnStructureModel[]} Array of ColumnStructureModel nodes in traversal order.
2535
+ */
2536
+ iterator(mode = 'dfs') {
2537
+ if (mode === 'dfs') {
2538
+ return this.dfsIterator();
2539
+ }
2540
+ return [];
2541
+ }
2542
+ /**
2543
+ * Gets all leaf nodes in the subtree, with caching.
2544
+ *
2545
+ * Subsequent calls return the cached array until the underlying model is rebuilt.
2546
+ *
2547
+ * @returns {ColumnStructureModel[]} Array of leaf column models.
2548
+ */
2549
+ getLeaves() {
2550
+ if (this.leaves.length > 0) {
2551
+ return this.leaves;
2552
+ }
2553
+ const leaves = this.dfsIterator().filter((model) => model.isLeaf());
2554
+ this.leaves = leaves;
2555
+ return leaves;
2556
+ }
2557
+ /**
2558
+ * For root nodes, returns children ordered by pinned type (left, none, right).
2559
+ * For non-root nodes, returns children in their natural order.
2560
+ *
2561
+ * @returns {ColumnStructureModel[]} Array of child column models.
2562
+ */
2563
+ getOrderedChildren() {
2564
+ if (!this.isRoot())
2565
+ return this.children;
2566
+ return this.orderedChildren;
2567
+ }
2568
+ /**
2569
+ * Orders root children by pinned type (left, none, right) and caches the result.
2570
+ *
2571
+ * For non-root nodes this method returns children in their natural order.
2572
+ *
2573
+ * @returns {ColumnStructureModel[]} Array of ordered child column models.
2574
+ */
2575
+ orderChildrenByPinned() {
2576
+ if (!this.isRoot())
2577
+ return this.children;
2578
+ if (this.orderedChildren.length > 0) {
2579
+ return this.orderedChildren;
2580
+ }
2581
+ const leftPinned = [];
2582
+ const noPinned = [];
2583
+ const rightPinned = [];
2584
+ this.children.forEach((child) => {
2585
+ if (child.pinned === 'left') {
2586
+ leftPinned.push(child);
2587
+ }
2588
+ else if (child.pinned === 'right') {
2589
+ rightPinned.push(child);
2590
+ }
2591
+ else {
2592
+ noPinned.push(child);
2593
+ }
2594
+ });
2595
+ const children = [...leftPinned, ...noPinned, ...rightPinned];
2596
+ this.orderedChildren = children;
2597
+ return children;
2598
+ }
2599
+ /**
2600
+ * Checks if this node is the root node.
2601
+ *
2602
+ * @returns {boolean} True if root node, false otherwise.
2603
+ */
2604
+ isRoot() {
2605
+ return this.level === ColumnStructureModel.ROOT_LEVEL;
2606
+ }
2607
+ /**
2608
+ * Performs a depth-first traversal of the column structure.
2609
+ *
2610
+ * The traversal respects root-child pinned ordering (left/no/right) for the root node.
2611
+ * Results are cached per-node to avoid repeated recursion costs.
2612
+ *
2613
+ * @returns {ColumnStructureModel[]} Array of all nodes in DFS order.
2614
+ */
2615
+ dfsIterator() {
2616
+ if (this.iteratorCacheMap.has('dfs')) {
2617
+ return this.iteratorCacheMap.get('dfs');
2618
+ }
2619
+ const localResult = [];
2620
+ const children = this.orderChildrenByPinned();
2621
+ if (!this.isRoot()) {
2622
+ localResult.push(this);
2623
+ }
2624
+ if (children && children.length > 0) {
2625
+ children.forEach((child) => {
2626
+ localResult.push(...child.dfsIterator());
2627
+ });
2628
+ }
2629
+ this.iteratorCacheMap.set('dfs', localResult);
2630
+ return localResult;
2631
+ }
2632
+ }
2633
+ ColumnStructureModel.ROOT_LEVEL = -1;
2634
+ ColumnStructureModel.ROOT_KEY = '#root-model#';
2635
+
2636
+ var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2637
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2638
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2639
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2640
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2641
+ };
2642
+ /**
2643
+ * Controller responsible for building and keeping the ColumnStructureModel in sync
2644
+ * with the component's `columns` and `groupColumns` properties.
2645
+ *
2646
+ * This slimmer maps relevant component fields and lifecycle/watch hooks to
2647
+ * automatically rebuild the column structure when inputs change.
2648
+ */
2649
+ class VegaTableColumnStructureModelController extends VegaSlimmer {
2650
+ /**
2651
+ * Component lifecycle hook mapped to the host's componentWillLoad.
2652
+ * Initializes the ColumnStructureModel prior to initial render.
2653
+ */
2654
+ componentWillLoad() {
2655
+ this.setColumnStructureModel();
2656
+ }
2657
+ /**
2658
+ * Watch handler mapped to the host's watchColumns.
2659
+ * Rebuilds the ColumnStructureModel when `columns` changes.
2660
+ */
2661
+ watchColumns() {
2662
+ this.setColumnStructureModel();
2663
+ }
2664
+ /**
2665
+ * Watch handler mapped to the host's watchGroupColumns.
2666
+ * Rebuilds the ColumnStructureModel when `groupColumns` changes.
2667
+ */
2668
+ watchGroupColumns() {
2669
+ this.setColumnStructureModel();
2670
+ }
2671
+ /**
2672
+ * Build and assign the ColumnStructureModel from current `columns` and `groupColumns`.
2673
+ * Uses `ColumnStructureModel.from` which returns a root model representing the column tree.
2674
+ */
2675
+ setColumnStructureModel() {
2676
+ this.columnStructureModel = ColumnStructureModel.from(this.columns, this.groupColumns);
2677
+ }
2678
+ }
2679
+ __decorate$t([
2680
+ MapToComponentField()
2681
+ ], VegaTableColumnStructureModelController.prototype, "host", void 0);
2682
+ __decorate$t([
2683
+ MapToComponentField()
2684
+ ], VegaTableColumnStructureModelController.prototype, "columns", void 0);
2685
+ __decorate$t([
2686
+ MapToComponentField()
2687
+ ], VegaTableColumnStructureModelController.prototype, "groupColumns", void 0);
2688
+ __decorate$t([
2689
+ MapToComponentField({ writable: true })
2690
+ ], VegaTableColumnStructureModelController.prototype, "columnStructureModel", void 0);
2691
+ __decorate$t([
2692
+ MapToComponentMethod('componentWillLoad')
2693
+ ], VegaTableColumnStructureModelController.prototype, "componentWillLoad", null);
2694
+ __decorate$t([
2695
+ MapToComponentMethod('watchColumns')
2696
+ ], VegaTableColumnStructureModelController.prototype, "watchColumns", null);
2697
+ __decorate$t([
2698
+ MapToComponentMethod('watchGroupColumns')
2699
+ ], VegaTableColumnStructureModelController.prototype, "watchGroupColumns", null);
2700
+
2701
+ /**
2702
+ * ColumnRenderInputModel
2703
+ *
2704
+ * Render-time representation of a column or group node used by header/body renderers.
2705
+ * Built from a ColumnStructureModel tree, it carries computed layout metadata required
2706
+ * for rendering and pinned/sticky calculations (colSpan, rowSpan, pinned boundaries, etc).
2707
+ *
2708
+ * Instances form a forest (root-level nodes in an array) that mirrors the structure model
2709
+ * but contains additional render-specific properties and parent/child links for renderers.
2710
+ */
2711
+ class ColumnRenderInputModel {
2712
+ /**
2713
+ * Create a new render input node.
2714
+ *
2715
+ * @param {string} key - Unique key (matches ColumnStructureModel.key).
2716
+ * @param {string} label - Optional display label (from structure model).
2717
+ * @param {VegaTablePinnedType} pinned - Pinned type for this node ('left' | 'right' | null).
2718
+ * @param {Nullable<number>} colSpan - Number of visual columns spanned by this node's subtree.
2719
+ * @param {Nullable<number>} rowSpan - Number of header rows this node should span.
2720
+ * @param {boolean} isViewStart - True when this node is the start of a visible view range.
2721
+ * @param {boolean} isViewEnd - True when this node is the end of a visible view range.
2722
+ * @param {boolean} isLeftEndPinned - True when node is last left-pinned sibling.
2723
+ * @param {boolean} isRightStartPinned - True when node is first right-pinned sibling.
2724
+ * @param {boolean} isNoPinnedEnd - True when node is last non-pinned sibling.
2725
+ * @param {boolean} headHasGroupColumn - Header contains group columns (affects rowSpan).
2726
+ * @param {boolean} headHasPinnedColumn - Header contains pinned columns.
2727
+ * @param {number} headMaxDepth - Maximum header depth (number of header rows).
2728
+ * @param {number} level - Level/index of this node within header rows (0-based).
2729
+ * @param {number} columnIndex - Sequential leaf index (used for ordering).
2730
+ * @param {Nullable<ColumnRenderInputModel>} parent - Parent render input node (null for root-level).
2731
+ * @param {ColumnRenderInputModel[]} children - Child render input nodes.
2732
+ */
2733
+ constructor(key, label, pinned, colSpan, rowSpan, isViewStart, isViewEnd, isLeftEndPinned, isRightStartPinned, isNoPinnedEnd, headHasGroupColumn, headHasPinnedColumn, headMaxDepth, level, columnIndex, parent, children = []) {
2734
+ this.key = key;
2735
+ this.label = label;
2736
+ this.pinned = pinned;
2737
+ this.colSpan = colSpan;
2738
+ this.rowSpan = rowSpan;
2739
+ this.isViewStart = isViewStart;
2740
+ this.isViewEnd = isViewEnd;
2741
+ this.isLeftEndPinned = isLeftEndPinned;
2742
+ this.isRightStartPinned = isRightStartPinned;
2743
+ this.isNoPinnedEnd = isNoPinnedEnd;
2744
+ this.headHasGroupColumn = headHasGroupColumn;
2745
+ this.headHasPinnedColumn = headHasPinnedColumn;
2746
+ this.headMaxDepth = headMaxDepth;
2747
+ this.level = level;
2748
+ this.columnIndex = columnIndex;
2749
+ this.parent = parent;
2750
+ this.children = children;
2751
+ this.iteratorCacheMap = new Map();
2752
+ this.leaves = [];
2753
+ }
2754
+ /**
2755
+ * Build a forest of ColumnRenderInputModel nodes from a ColumnStructureModel root.
2756
+ *
2757
+ * @param {ColumnStructureModel} rootModel - Root ColumnStructureModel that supplies tree and level data.
2758
+ * @returns {ColumnRenderInputModel[]} Array of root-level ColumnRenderInputModel nodes (the render forest).
2759
+ */
2760
+ static from(rootModel) {
2761
+ const renderInputs = [];
2762
+ const parentStack = [];
2763
+ const maxLevel = rootModel.getMaxDepth();
2764
+ const hasGroupColumn = rootModel.hasGroupColumn();
2765
+ const hasPinnedColumn = rootModel.hasLeftPinnedColumn() || rootModel.hasRightPinnedColumn();
2766
+ let columnIndex = 0;
2767
+ // Iterate structure model (DFS by default) and construct render nodes.
2768
+ rootModel.iterator().forEach((model) => {
2769
+ const parent = model.level > 0 ? parentStack[model.level - 1] : null;
2770
+ const isParentStart = hasGroupColumn && this.isParentStart(model);
2771
+ const isParentEnd = hasGroupColumn && this.isParentEnd(model);
2772
+ const renderInput = new ColumnRenderInputModel(model.key, model.label, parent ? parent.pinned : model.pinned, hasGroupColumn ? this.getColSpan(model) : null, hasGroupColumn ? (model.isLeaf() ? maxLevel - model.level : 1) : null, parent ? parent.isViewStart && isParentStart : isParentStart, parent ? parent.isViewEnd && isParentEnd : isParentEnd, parent
2773
+ ? parent.isLeftEndPinned && isParentEnd
2774
+ : hasPinnedColumn && this.isLeftEndPinned(model), parent
2775
+ ? parent.isRightStartPinned && isParentStart
2776
+ : hasPinnedColumn && this.isRightStartPinned(model), parent ? parent.isNoPinnedEnd && isParentEnd : hasPinnedColumn && this.isNoPinnedEnd(model), hasGroupColumn, hasPinnedColumn, maxLevel, model.level, columnIndex, parent);
2777
+ // Attach to parent if present, otherwise add to root-level array.
2778
+ parent ? parent.children.push(renderInput) : renderInputs.push(renderInput);
2779
+ // Maintain parent stack keyed by level to allow next nodes to find their parent.
2780
+ parentStack[model.level] = renderInput;
2781
+ parentStack.length = model.level + 1;
2782
+ // Increment leaf index when encountering a leaf structure node.
2783
+ if (model.isLeaf())
2784
+ columnIndex++;
2785
+ });
2786
+ return renderInputs;
2787
+ }
2788
+ /**
2789
+ * True when the provided structure model is the last left-pinned sibling in its parent's children.
2790
+ * Used to mark boundary nodes for left-pinned groups.
2791
+ *
2792
+ * @param {ColumnStructureModel} model - Structure model to check.
2793
+ * @returns {boolean} True when model is the last left-pinned sibling.
2794
+ */
2795
+ static isLeftEndPinned(model) {
2796
+ const siblings = model.parent
2797
+ .getOrderedChildren()
2798
+ .filter((child) => child.pinned === 'left');
2799
+ return siblings[siblings.length - 1] === model;
2800
+ }
2801
+ /**
2802
+ * True when the provided structure model is the first right-pinned sibling in its parent's children.
2803
+ * Used to mark boundary nodes for right-pinned groups.
2804
+ *
2805
+ * @param {ColumnStructureModel} model - Structure model to check.
2806
+ * @returns {boolean} True when model is the first right-pinned sibling.
2807
+ */
2808
+ static isRightStartPinned(model) {
2809
+ const siblings = model.parent
2810
+ .getOrderedChildren()
2811
+ .filter((child) => child.pinned === 'right');
2812
+ return siblings[0] === model;
2813
+ }
2814
+ /**
2815
+ * True when the provided structure model is the last non-pinned sibling in its parent's children.
2816
+ * Useful to handle the 'no-pinned-end' condition.
2817
+ *
2818
+ * @param {ColumnStructureModel} model - Structure model to check.
2819
+ * @returns {boolean} True when model is the last non-pinned sibling.
2820
+ */
2821
+ static isNoPinnedEnd(model) {
2822
+ const siblings = model.parent
2823
+ .getOrderedChildren()
2824
+ .filter((child) => !child.pinned);
2825
+ return siblings[siblings.length - 1] === model;
2826
+ }
2827
+ /**
2828
+ * True when the provided model is the first child of its parent.
2829
+ *
2830
+ * @param {ColumnStructureModel} model - Structure model to check.
2831
+ * @returns {boolean} True when model is the first child.
2832
+ */
2833
+ static isParentStart(model) {
2834
+ return model.parent.getOrderedChildren()[0] === model;
2835
+ }
2836
+ /**
2837
+ * True when the provided model is the last child of its parent.
2838
+ *
2839
+ * @param {ColumnStructureModel} model - Structure model to check.
2840
+ * @returns {boolean} True when model is the last child.
2841
+ */
2842
+ static isParentEnd(model) {
2843
+ const parentChildren = model.parent.getOrderedChildren();
2844
+ return parentChildren[parentChildren.length - 1] === model;
2845
+ }
2846
+ /**
2847
+ * Compute a node's colSpan by iterating its subtree and counting the maximum number
2848
+ * of nodes present at any single level (visual column span).
2849
+ *
2850
+ * @param {ColumnStructureModel} mode - ColumnStructureModel node to examine.
2851
+ * @returns {number} Number of visual columns spanned by the node.
2852
+ */
2853
+ static getColSpan(mode) {
2854
+ const children = mode.iterator();
2855
+ const rowMap = {};
2856
+ children.forEach((node) => {
2857
+ rowMap[node.level] = (rowMap[node.level] || 0) + 1;
2858
+ });
2859
+ return Math.max(...Object.values(rowMap));
2860
+ }
2861
+ /**
2862
+ * Return cached leaf render nodes for this subtree.
2863
+ * Caches the result on first call and returns cached array on subsequent calls.
2864
+ *
2865
+ * @returns {ColumnRenderInputModel[]} Array of leaf render input nodes.
2866
+ */
2867
+ getLeaves() {
2868
+ if (this.leaves.length > 0) {
2869
+ return this.leaves;
2870
+ }
2871
+ const leaves = this.iterator().filter((model) => model.isLeaf());
2872
+ this.leaves = leaves;
2873
+ return leaves;
2874
+ }
2875
+ /**
2876
+ * Generic iterator that supports traversal modes ('dfs' currently implemented).
2877
+ *
2878
+ * @param {IteratorMode} [mode='dfs'] - Iterator mode ('dfs' | 'bfs').
2879
+ * @returns {ColumnRenderInputModel[]} Traversal-ordered array of nodes.
2880
+ */
2881
+ iterator(mode = 'dfs') {
2882
+ if (mode === 'dfs') {
2883
+ return this.dfsIterator();
2884
+ }
2885
+ // Future: implement BFS mode here.
2886
+ return [];
2887
+ }
2888
+ /**
2889
+ * Depth-first pre-order traversal of this node and its descendants.
2890
+ * Caches the result for the 'dfs' mode to avoid repeated recursion.
2891
+ *
2892
+ * @returns {ColumnRenderInputModel[]} Array of nodes in DFS order (includes this node).
2893
+ */
2894
+ dfsIterator() {
2895
+ if (this.iteratorCacheMap.has('dfs')) {
2896
+ return this.iteratorCacheMap.get('dfs');
2897
+ }
2898
+ const localResult = [];
2899
+ localResult.push(this);
2900
+ if (this.children && this.children.length > 0) {
2901
+ this.children.forEach((child) => {
2902
+ localResult.push(...child.dfsIterator());
2903
+ });
2904
+ }
2905
+ this.iteratorCacheMap.set('dfs', localResult);
2906
+ return localResult;
2907
+ }
2908
+ /**
2909
+ * True when this render node has no children (visual leaf).
2910
+ *
2911
+ * @returns {boolean} True when node is a leaf.
2912
+ */
2913
+ isLeaf() {
2914
+ return !this.children || this.children.length === 0;
2915
+ }
2916
+ }
2917
+
2918
+ var __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2919
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2920
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2921
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
2922
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
2923
+ };
2924
+ /**
2925
+ * VegaTableRenderInputController
2926
+ *
2927
+ * Central controller that computes and provides render input data for table header rows,
2928
+ * header cells and body cells. Responsibilities:
2929
+ * - Build and cache shared header layout context (depth, width, pinned indices).
2930
+ * - Generate per-head-row and per-body-row render inputs used by head/row renderers.
2931
+ * - Expose render inputs to shadow DOM cells via Remote Invocation Call (RIC) registry.
2932
+ */
2933
+ class VegaTableRenderInputController extends VegaSlimmer {
2934
+ constructor() {
2935
+ super(...arguments);
2936
+ this.headRowRenderInputMap = new Map();
2937
+ this.headCellRenderInputMap = new Map();
2938
+ this.pinnedColumnBodyCellRenderInputMap = new Map();
2939
+ }
2940
+ /**
2941
+ * Register remote invocation observers when controller is connected.
2942
+ * Called via component lifecycle mapping.
2943
+ */
2944
+ connectedCallback() {
2945
+ this.registerRenderInputRICObserver();
2946
+ }
2947
+ /**
2948
+ * Unregister remote invocation observers when controller is disconnected.
2949
+ * Called via component lifecycle mapping.
2950
+ */
2951
+ disconnectedCallback() {
2952
+ this.unRegisterRenderInputRICObserver();
2953
+ }
2954
+ /**
2955
+ * Initialize head context before component load.
2956
+ * Called via component lifecycle mapping.
2957
+ */
2958
+ componentWillLoad() {
2959
+ this.setRenderInputModel();
2960
+ }
2961
+ /**
2962
+ * Recompute head context when the column structure model changes.
2963
+ * Called via watch mapping.
2964
+ */
2965
+ watchColumnStructureModel() {
2966
+ this.setRenderInputModel();
2967
+ }
2968
+ /**
2969
+ * Return render input models for table body (flattened leaves).
2970
+ *
2971
+ * @returns {ColumnRenderInputModel[]} Flattened array of leaf render input models.
2972
+ */
2973
+ getLeafRenderInputs() {
2974
+ return this.leavesRenderInputModels;
2975
+ }
2976
+ /**
2977
+ * Return render input models for table head (root-level forest).
2978
+ *
2979
+ * @returns {ColumnRenderInputModel[]} Root-level column render input models.
2980
+ */
2981
+ getHeadRenderInputs() {
2982
+ return this.columnRenderInputModels;
2983
+ }
2984
+ /**
2985
+ * Store head row render input mapping for remote invocation.
2986
+ *
2987
+ * @param {HTMLElement} headRow - The head row element.
2988
+ * @param {ColumnRenderInputModel[]} renderInputs - Associated render input models.
2989
+ */
2990
+ addHeadRowRenderInputMap(headRow, renderInputs) {
2991
+ this.headRowRenderInputMap.set(headRow, renderInputs);
2992
+ }
2993
+ /**
2994
+ * Store head cell render input mapping for remote invocation.
2995
+ *
2996
+ * @param {HTMLElement} headCell - The head cell element.
2997
+ * @param {ColumnRenderInputModel} renderInput - Associated render input model.
2998
+ */
2999
+ addHeadCellRenderInputMap(headCell, renderInput) {
3000
+ this.headCellRenderInputMap.set(headCell, renderInput);
3001
+ }
3002
+ /**
3003
+ * Store body cell render input mapping for pinned cells (used to update sticky positions).
3004
+ *
3005
+ * Only stores cells that require sticky positioning (left/right or no-pinned-end).
3006
+ *
3007
+ * @param {HTMLElement} cell - The body cell element.
3008
+ * @param {ColumnRenderInputModel} renderInput - Associated render input model.
3009
+ */
3010
+ addCellRenderInputMap(cell, renderInput) {
3011
+ if ((cell && ['left', 'right'].includes(renderInput.pinned)) || renderInput.isNoPinnedEnd) {
3012
+ this.pinnedColumnBodyCellRenderInputMap.set(cell, renderInput);
3013
+ }
3014
+ }
3015
+ /**
3016
+ * Expose the internal head-cell -> render-input mapping.
3017
+ *
3018
+ * @typedef {import('../../../../types/components').HTMLVegaTableHeadCellElement} HTMLVegaTableHeadCellElement
3019
+ * @returns {Map<HTMLVegaTableHeadCellElement, ColumnRenderInputModel>} Map of head cell elements to render input.
3020
+ */
3021
+ getHeadCellRenderInputMap() {
3022
+ return this.headCellRenderInputMap;
3023
+ }
3024
+ /**
3025
+ * Expose the internal map of pinned body cells to their render inputs.
3026
+ *
3027
+ * @typedef {import('../../../../types/components').HTMLVegaTableCellElement} HTMLVegaTableCellElement
3028
+ * @returns {Map<HTMLVegaTableCellElement, ColumnRenderInputModel>} Map of body cell hosts requiring sticky positioning.
3029
+ */
3030
+ getPinnedColumnBodyCellRenderInputMap() {
3031
+ return this.pinnedColumnBodyCellRenderInputMap;
3032
+ }
3033
+ /**
3034
+ * Register remote invocation callbacks to allow DOM nodes to request render inputs.
3035
+ */
3036
+ registerRenderInputRICObserver() {
3037
+ remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnHeadRowRenderInputRIC), (headRow) => {
3038
+ return this.headRowRenderInputMap.get(headRow);
3039
+ });
3040
+ remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnHeadCellRenderInputRIC), (headCell) => {
3041
+ return this.headCellRenderInputMap.get(headCell);
3042
+ });
3043
+ remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnBodyCellRenderInputRIC), (cell) => {
3044
+ return this.pinnedColumnBodyCellRenderInputMap.get(cell);
3045
+ });
3046
+ }
3047
+ /**
3048
+ * Unregister remote invocation callbacks previously registered.
3049
+ */
3050
+ unRegisterRenderInputRICObserver() {
3051
+ remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnHeadRowRenderInputRIC));
3052
+ remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnHeadCellRenderInputRIC));
3053
+ remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnBodyCellRenderInputRIC));
3054
+ }
3055
+ /**
3056
+ * Build the ColumnRenderInputModel forest from the current ColumnStructureModel.
3057
+ */
3058
+ setRenderInputModel() {
3059
+ this.columnRenderInputModels = ColumnRenderInputModel.from(this.columnStructureModel);
3060
+ this.leavesRenderInputModels = this.columnRenderInputModels.flatMap((model) => model.getLeaves());
3061
+ }
3062
+ }
3063
+ __decorate$s([
3064
+ MapToComponentField()
3065
+ ], VegaTableRenderInputController.prototype, "host", void 0);
3066
+ __decorate$s([
3067
+ MapToComponentField()
3068
+ ], VegaTableRenderInputController.prototype, "columnStructureModel", void 0);
3069
+ __decorate$s([
3070
+ MapToComponentField()
3071
+ ], VegaTableRenderInputController.prototype, "vegaTableColGroupRenderer", void 0);
3072
+ __decorate$s([
3073
+ MapToComponentMethod('connectedCallback')
3074
+ ], VegaTableRenderInputController.prototype, "connectedCallback", null);
3075
+ __decorate$s([
3076
+ MapToComponentMethod('disconnectedCallback')
3077
+ ], VegaTableRenderInputController.prototype, "disconnectedCallback", null);
3078
+ __decorate$s([
3079
+ MapToComponentMethod('componentWillLoad')
3080
+ ], VegaTableRenderInputController.prototype, "componentWillLoad", null);
3081
+ __decorate$s([
3082
+ MapToComponentMethod('watchColumnStructureModel')
3083
+ ], VegaTableRenderInputController.prototype, "watchColumnStructureModel", null);
3084
+
3085
+ var __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3086
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3087
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3088
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
3089
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3090
+ };
3091
+ class VegaTablePinnedRenderer extends VegaSlimmer {
3092
+ constructor() {
3093
+ super(...arguments);
3094
+ this.pageResizeObserverSlimmer = new PageResizeObserverSlimmer({
3095
+ // eslint-disable-next-line
3096
+ target: () => this.host.shadowRoot.querySelector('table'),
3097
+ isDeferred: true,
3098
+ /*
3099
+ * The below method is e2e-test covered in
3100
+ * @see{module:resize-pinned-position-by-edit-row}
3101
+ */
3102
+ callback: /* istanbul ignore next */ async () => {
3103
+ await this.host.componentOnReady().then(() => {
3104
+ this.updateTableRowPinnedPosition();
3105
+ this.updateTableCellPinnedPosition();
3106
+ });
3107
+ },
3108
+ });
3109
+ }
3110
+ componentDidLoad() {
3111
+ }
3112
+ componentDidRender() {
3113
+ this.updateTableRowPinnedPosition();
3114
+ this.updateTableCellPinnedPosition();
3115
+ }
3116
+ updateTableCellPinnedPosition() {
3117
+ if (!this.columnStructureModel.hasLeftPinnedColumn() &&
3118
+ !this.columnStructureModel.hasRightPinnedColumn())
3119
+ return;
3120
+ // if not have head row, it means no pinned, so no need to update
3121
+ const row = this.host.shadowRoot.querySelector('vega-table-head-row');
3122
+ // to avoid window resize before table rendered.
3123
+ // @see{module:resize-pinned-position-by-edit-row}
3124
+ /* istanbul ignore next */
3125
+ if (!row)
3126
+ return;
3127
+ const headCellRenderInputMap = this.vegaTableRenderInputController.getHeadCellRenderInputMap();
3128
+ const pinnedColumnBodyCellRenderInputMap = this.vegaTableRenderInputController.getPinnedColumnBodyCellRenderInputMap();
3129
+ const [prevShadowThWidth, nextShadowThWidth] = this.getRowShadowThWidths();
3130
+ const leafWidths = this.getLeafWidths();
3131
+ headCellRenderInputMap.forEach((renderInput, headCell) => {
3132
+ this.updateCellPinnedPosition(renderInput, headCell, prevShadowThWidth, leafWidths, nextShadowThWidth);
3133
+ });
3134
+ pinnedColumnBodyCellRenderInputMap.forEach((renderInput, headCell) => {
3135
+ this.updateCellPinnedPosition(renderInput, headCell, prevShadowThWidth, leafWidths, nextShadowThWidth);
3136
+ });
3137
+ }
3138
+ getRowShadowThWidths() {
3139
+ const row = this.host.shadowRoot.querySelector('vega-table-head-row');
3140
+ const rowShadow = row.shadowRoot;
3141
+ const firstTh = rowShadow.querySelector('th:first-of-type');
3142
+ const selectionTh = rowShadow.querySelector('.vega-table-selection-column');
3143
+ const expandTh = rowShadow.querySelector('.vega-table-expand-action-column');
3144
+ const lastTh = rowShadow.querySelector('th:last-of-type');
3145
+ if (firstTh) {
3146
+ const prevWidth = firstTh.getBoundingClientRect().width + ((selectionTh === null || selectionTh === void 0 ? void 0 : selectionTh.getBoundingClientRect().width) || 0);
3147
+ const nextWidth = ((expandTh === null || expandTh === void 0 ? void 0 : expandTh.getBoundingClientRect().width) || 0) + lastTh.getBoundingClientRect().width;
3148
+ return [prevWidth, nextWidth];
3149
+ }
3150
+ // to avoid window resize before row rendered.
3151
+ // @see{module:resize-pinned-position-by-edit-row}
3152
+ /* istanbul ignore next */
3153
+ return [0, 0];
3154
+ }
3155
+ getLeafWidths() {
3156
+ const headCellRenderInputMap = this.vegaTableRenderInputController.getHeadCellRenderInputMap();
3157
+ const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
3158
+ return leafRenderInputs.map((leaf) => {
3159
+ var _a;
3160
+ for (const [cell, renderInput] of headCellRenderInputMap.entries()) {
3161
+ if (leaf === renderInput) {
3162
+ // to avoid window resize before cell rendered.
3163
+ // @see{module:resize-pinned-position-by-edit-row}
3164
+ /* istanbul ignore next */
3165
+ return ((_a = cell.shadowRoot.querySelector('th, td')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 0;
3166
+ }
3167
+ }
3168
+ });
3169
+ }
3170
+ updateCellPinnedPosition(renderInput, headCell, prevShadowThWidth, leafWidths, nextShadowThWidth) {
3171
+ if (['left', 'right'].includes(renderInput.pinned)) {
3172
+ const shadowCell = headCell.shadowRoot.querySelector('th, td');
3173
+ if (renderInput.pinned === 'left') {
3174
+ const position = prevShadowThWidth +
3175
+ leafWidths
3176
+ .slice(0, renderInput.columnIndex)
3177
+ .reduce((count, colWidth) => count + colWidth, 0);
3178
+ this.updatePinnedPosition(shadowCell, 'left', position);
3179
+ }
3180
+ if (renderInput.pinned === 'right') {
3181
+ const colSpan = isNonNullable(renderInput.colSpan) ? renderInput.colSpan : 1;
3182
+ const position = nextShadowThWidth +
3183
+ leafWidths
3184
+ .slice(renderInput.columnIndex + (colSpan - 1) + 1)
3185
+ .reduce((count, colWidth) => count + colWidth, 0);
3186
+ this.updatePinnedPosition(shadowCell, 'right', position);
3187
+ }
3188
+ }
3189
+ }
3190
+ updateTableRowPinnedPosition() {
3191
+ const hasLeftPinnedColumn = this.columnStructureModel.hasLeftPinnedColumn();
3192
+ const hasRightPinnedColumn = this.columnStructureModel.hasRightPinnedColumn();
3193
+ const tableWidth = this.host.getBoundingClientRect().width;
3194
+ const leftPadding = extractNumberFromString(this.paddingX[0]);
3195
+ const rightPadding = extractNumberFromString(this.paddingX[1]);
3196
+ // table width - padding(8*2) - border(2);
3197
+ const expandContainerWidth = tableWidth - leftPadding - rightPadding - 2;
3198
+ this.host.shadowRoot
3199
+ .querySelectorAll('vega-table-head-row, vega-table-row, vega-table-expand-row')
3200
+ .forEach((row) => {
3201
+ const rowShadow = row.shadowRoot;
3202
+ if (hasLeftPinnedColumn) {
3203
+ const firstCell = rowShadow.querySelector('th:first-of-type, td:first-of-type');
3204
+ const selectionCell = rowShadow.querySelector('.vega-table-selection-column');
3205
+ this.updatePinnedPosition(firstCell, 'left', 0);
3206
+ this.updatePinnedPosition(selectionCell, 'left', leftPadding);
3207
+ }
3208
+ if (hasRightPinnedColumn) {
3209
+ const expandCell = rowShadow.querySelector('.vega-table-expand-action-column');
3210
+ const lastCell = rowShadow.querySelector('th:last-of-type, td:last-of-type');
3211
+ this.updatePinnedPosition(expandCell, 'right', rightPadding);
3212
+ this.updatePinnedPosition(lastCell, 'right', 0);
3213
+ }
3214
+ if (hasRightPinnedColumn || hasLeftPinnedColumn) {
3215
+ const expandCell = rowShadow.querySelector('.vega-table-expanded-row-slot-container');
3216
+ if (expandCell) {
3217
+ const slotInnerContainer = expandCell.querySelector('.expanded-row-slot-inner');
3218
+ this.updatePinnedPosition(slotInnerContainer, 'left', leftPadding);
3219
+ // we should set the width to make the expand slot not scroll by table scroll.
3220
+ // ticket: https://gethired.atlassian.net/browse/VD-7015
3221
+ slotInnerContainer.style.width = `${expandContainerWidth}px`;
3222
+ }
3223
+ }
3224
+ });
3225
+ }
3226
+ updatePinnedPosition(cell, type, position) {
3227
+ if (!cell)
3228
+ return;
3229
+ cell.style.position = 'sticky';
3230
+ cell.style.zIndex = '1';
3231
+ cell.style[type] = `${position}px`;
2269
3232
  }
2270
3233
  }
2271
- __decorate$q([
3234
+ __decorate$r([
2272
3235
  MapToComponentField()
2273
- ], VegaTableRenderModeController.prototype, "host", void 0);
2274
- __decorate$q([
2275
- MapToComponentField({ writable: true })
2276
- ], VegaTableRenderModeController.prototype, "isTemplateRenderMode", void 0);
2277
- __decorate$q([
3236
+ ], VegaTablePinnedRenderer.prototype, "host", void 0);
3237
+ __decorate$r([
3238
+ MapToComponentField()
3239
+ ], VegaTablePinnedRenderer.prototype, "columnStructureModel", void 0);
3240
+ __decorate$r([
3241
+ MapToComponentField()
3242
+ ], VegaTablePinnedRenderer.prototype, "paddingX", void 0);
3243
+ __decorate$r([
3244
+ MapToComponentField()
3245
+ ], VegaTablePinnedRenderer.prototype, "vegaTableRenderInputController", void 0);
3246
+ __decorate$r([
2278
3247
  InjectVegaSlimmer()
2279
- ], VegaTableRenderModeController.prototype, "currentDataObserver", void 0);
2280
- __decorate$q([
2281
- MapToComponentMethod('connectedCallback')
2282
- ], VegaTableRenderModeController.prototype, "connectedCallback", null);
2283
- __decorate$q([
2284
- MapToComponentMethod('disconnectedCallback')
2285
- ], VegaTableRenderModeController.prototype, "disconnectedCallback", null);
2286
- __decorate$q([
2287
- MapToComponentMethod('componentWillLoad')
2288
- ], VegaTableRenderModeController.prototype, "componentWillLoad", null);
2289
- __decorate$q([
3248
+ ], VegaTablePinnedRenderer.prototype, "pageResizeObserverSlimmer", void 0);
3249
+ __decorate$r([
2290
3250
  MapToComponentMethod('componentDidLoad')
2291
- ], VegaTableRenderModeController.prototype, "componentDidLoad", null);
2292
-
2293
- const VegaTableRuntimeMetricsPayloadDefinition = [
2294
- {
2295
- payloadKey: 'IS_USING_TEMPLATE',
2296
- payloadDescription: 'Contains the data records to be rendered and displayed within the table',
2297
- /**
2298
- * The function checks if the length `dataSource` property of the `host` element is equal to '0'.
2299
- * If it is, the function will return `true`.
2300
- *
2301
- * @param {HTMLElement} host - The element to check
2302
- * @returns {boolean} A boolean value
2303
- */
2304
- payloadValue: (host) => host.dataSource.length === 0,
2305
- },
2306
- {
2307
- payloadKey: 'IS_USING_DATA_SOURCE',
2308
- payloadDescription: 'Contains the data records to be rendered and displayed within the table',
2309
- /**
2310
- * The function checks if the length `dataSource` property of the `host` element is not equal to '0'.
2311
- * If it is, the function will return `true`.
2312
- *
2313
- * @param {HTMLElement} host - The element to check
2314
- * @returns {boolean} A boolean value
2315
- */
2316
- payloadValue: (host) => host.dataSource.length > 0,
2317
- },
2318
- ];
3251
+ ], VegaTablePinnedRenderer.prototype, "componentDidLoad", null);
3252
+ __decorate$r([
3253
+ MapToComponentMethod('componentDidRender')
3254
+ ], VegaTablePinnedRenderer.prototype, "componentDidRender", null);
2319
3255
 
2320
- const vegaTableCss = ":host{display:block}table{width:100%;border-spacing:0}.vega-table-empty-description{text-align:center;padding:24px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-table-empty-description{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-table-empty-description{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-table-empty-description{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}table.v-table-fixed{table-layout:fixed}.vega-table-scrollable-container{overflow:auto}.vega-table-scrollable-container vega-table-head{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.vega-table-scrollable-container.scrolled vega-table-head.fixed-header{box-shadow:0px 4px 0px rgba(0, 0, 0, 0.1);}vega-form{display:contents}*::part(field-error-message){display:none !important}.vega-table-pagination-container{margin-top:24px}.vega-table-pagination-container.bottom-center{display:flex;justify-content:center}.vega-table-pagination-container.bottom-right{display:flex;justify-content:flex-end}.vega-table-pagination-container.bottom-left{display:flex;justify-content:flex-start}col.v-hidden{display:none}@media (min-width: 320px){col.S\\:v-table-column{display:table-column}}@media (min-width: 768px){col.M\\:v-table-column{display:table-column}}@media (min-width: 1024px){col.L\\:v-table-column{display:table-column}}@media (min-width: 1440px){col.XL\\:v-table-column{display:table-column}}";
3256
+ const vegaTableCss = ":host{display:block}table{width:100%;border-spacing:0}.vega-table-empty-description{text-align:center;padding:24px;font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px;color:rgba(var(--v-text-secondary, 107, 116, 125, 1))}@media screen and (min-width: 768px) and (max-width: 1023px){.vega-table-empty-description{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1024px) and (max-width: 1439px){.vega-table-empty-description{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}@media screen and (min-width: 1440px) and (max-width: 9999px){.vega-table-empty-description{font-family:\"Inter\", sans-serif;font-size:14px;font-weight:700;line-height:18px}}table.v-table-fixed{table-layout:fixed}.vega-table-scrollable-container{overflow:auto}.vega-table-scrollable-container vega-table-head{transition-property:box-shadow;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms}.vega-table-scrollable-container.scrolled vega-table-head.fixed-header{box-shadow:0px 4px 0px rgba(0, 0, 0, 0.1);}vega-form{display:contents}*::part(field-error-message){display:none !important}.vega-table-pagination-container{margin-top:24px}.vega-table-pagination-container.bottom-center{display:flex;justify-content:center}.vega-table-pagination-container.bottom-right{display:flex;justify-content:flex-end}.vega-table-pagination-container.bottom-left{display:flex;justify-content:flex-start}col.v-hidden{display:none}@media (min-width: 320px){col.S\\:v-table-column{display:table-column}}@media (min-width: 768px){col.M\\:v-table-column{display:table-column}}@media (min-width: 1024px){col.L\\:v-table-column{display:table-column}}@media (min-width: 1440px){col.XL\\:v-table-column{display:table-column}}:host(.is-group-table) .vega-table-scrollable-container{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-width:1px;border-style:solid}:host(.is-group-table.density-relaxed) .vega-table-scrollable-container{border-radius:12px}:host(.is-group-table.density-default) .vega-table-scrollable-container{border-radius:12px}:host(.is-group-table.density-compact) .vega-table-scrollable-container{border-radius:4px}:host(.is-pinned-table) table{min-width:max-content}";
2321
3257
 
2322
- var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3258
+ var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2323
3259
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2324
3260
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2325
3261
  r = Reflect.decorate(decorators, target, key, desc);
@@ -2349,6 +3285,9 @@ const VegaTable = class {
2349
3285
  this.globalSlimmers = {};
2350
3286
  this.translationSlimmer = new TranslationSlimmer();
2351
3287
  this.vegaTableRenderModeController = new VegaTableRenderModeController();
3288
+ this.vegaTableColumnStructureModelController = new VegaTableColumnStructureModelController();
3289
+ this.vegaTableRenderInputController = new VegaTableRenderInputController();
3290
+ this.vegaTablePinnedRenderer = new VegaTablePinnedRenderer();
2352
3291
  this.vegaTableRenderer = new VegaTableRenderer();
2353
3292
  this.vegaTableHeaderRenderer = new VegaTableHeaderRenderer();
2354
3293
  this.vegaTableBodyRenderer = new VegaTableBodyRenderer();
@@ -2533,8 +3472,12 @@ const VegaTable = class {
2533
3472
  }
2534
3473
  watchTemplateRenderMode() {
2535
3474
  }
3475
+ watchColumnStructureModel() {
3476
+ }
2536
3477
  watchColumns() {
2537
3478
  }
3479
+ watchGroupColumns() {
3480
+ }
2538
3481
  watchDataSource() {
2539
3482
  }
2540
3483
  watchRowSelection() {
@@ -2765,7 +3708,9 @@ const VegaTable = class {
2765
3708
  "currentPage": ["watchCurrentPage"],
2766
3709
  "isSelectedAll": ["watchSelectedAll"],
2767
3710
  "isTemplateRenderMode": ["watchTemplateRenderMode"],
3711
+ "columnStructureModel": ["watchColumnStructureModel"],
2768
3712
  "columns": ["watchColumns"],
3713
+ "groupColumns": ["watchGroupColumns"],
2769
3714
  "dataSource": ["watchDataSource"],
2770
3715
  "rowSelection": ["watchRowSelection"],
2771
3716
  "rowExpandable": ["watchRowExpandable"],
@@ -2779,125 +3724,134 @@ const VegaTable = class {
2779
3724
  "scrollConfig": ["watchScrollConfig"]
2780
3725
  }; }
2781
3726
  };
2782
- __decorate$p([
3727
+ __decorate$q([
2783
3728
  InjectVegaGlobalSlimmer()
2784
3729
  ], VegaTable.prototype, "globalSlimmers", void 0);
2785
- __decorate$p([
3730
+ __decorate$q([
2786
3731
  InjectVegaSlimmer()
2787
3732
  ], VegaTable.prototype, "translationSlimmer", void 0);
2788
- __decorate$p([
3733
+ __decorate$q([
2789
3734
  InjectVegaSlimmer()
2790
3735
  ], VegaTable.prototype, "vegaTableRenderModeController", void 0);
2791
- __decorate$p([
3736
+ __decorate$q([
3737
+ InjectVegaSlimmer()
3738
+ ], VegaTable.prototype, "vegaTableColumnStructureModelController", void 0);
3739
+ __decorate$q([
3740
+ InjectVegaSlimmer()
3741
+ ], VegaTable.prototype, "vegaTableRenderInputController", void 0);
3742
+ __decorate$q([
3743
+ InjectVegaSlimmer()
3744
+ ], VegaTable.prototype, "vegaTablePinnedRenderer", void 0);
3745
+ __decorate$q([
2792
3746
  InjectVegaSlimmer()
2793
3747
  ], VegaTable.prototype, "vegaTableRenderer", void 0);
2794
- __decorate$p([
3748
+ __decorate$q([
2795
3749
  InjectVegaSlimmer()
2796
3750
  ], VegaTable.prototype, "vegaTableHeaderRenderer", void 0);
2797
- __decorate$p([
3751
+ __decorate$q([
2798
3752
  InjectVegaSlimmer()
2799
3753
  ], VegaTable.prototype, "vegaTableBodyRenderer", void 0);
2800
- __decorate$p([
3754
+ __decorate$q([
2801
3755
  InjectVegaSlimmer()
2802
3756
  ], VegaTable.prototype, "vegaTableRowRenderer", void 0);
2803
- __decorate$p([
3757
+ __decorate$q([
2804
3758
  InjectVegaSlimmer()
2805
3759
  ], VegaTable.prototype, "vegaTableCellRenderer", void 0);
2806
- __decorate$p([
3760
+ __decorate$q([
2807
3761
  InjectVegaSlimmer()
2808
3762
  ], VegaTable.prototype, "vegaTablePaginationRenderer", void 0);
2809
- __decorate$p([
3763
+ __decorate$q([
2810
3764
  InjectVegaSlimmer()
2811
3765
  ], VegaTable.prototype, "vegaTableScrollContainerRenderer", void 0);
2812
- __decorate$p([
3766
+ __decorate$q([
2813
3767
  InjectVegaSlimmer()
2814
3768
  ], VegaTable.prototype, "vegaTableExpandRowController", void 0);
2815
- __decorate$p([
3769
+ __decorate$q([
2816
3770
  InjectVegaSlimmer()
2817
3771
  ], VegaTable.prototype, "vegaTableRowSelectionController", void 0);
2818
- __decorate$p([
3772
+ __decorate$q([
2819
3773
  InjectVegaSlimmer()
2820
3774
  ], VegaTable.prototype, "vegaTableDataSourceController", void 0);
2821
- __decorate$p([
3775
+ __decorate$q([
2822
3776
  InjectVegaSlimmer()
2823
3777
  ], VegaTable.prototype, "vegaTablePaginationController", void 0);
2824
- __decorate$p([
3778
+ __decorate$q([
2825
3779
  InjectVegaSlimmer()
2826
3780
  ], VegaTable.prototype, "vegaTableEditableController", void 0);
2827
- __decorate$p([
3781
+ __decorate$q([
2828
3782
  InjectVegaSlimmer()
2829
3783
  ], VegaTable.prototype, "vegaTableSortController", void 0);
2830
- __decorate$p([
3784
+ __decorate$q([
2831
3785
  InjectVegaSlimmer()
2832
3786
  ], VegaTable.prototype, "vegaTableColGroupRenderer", void 0);
2833
- __decorate$p([
3787
+ __decorate$q([
2834
3788
  InjectVegaSlimmer()
2835
3789
  ], VegaTable.prototype, "vegaTableChildrenController", void 0);
2836
- __decorate$p([
3790
+ __decorate$q([
2837
3791
  InjectVegaSlimmer()
2838
3792
  ], VegaTable.prototype, "pageResizeObserverSlimmer", void 0);
2839
- __decorate$p([
3793
+ __decorate$q([
2840
3794
  InjectVegaSlimmer()
2841
3795
  ], VegaTable.prototype, "rowSelectionNotifySlimmer", void 0);
2842
- __decorate$p([
3796
+ __decorate$q([
2843
3797
  InjectVegaSlimmer()
2844
3798
  ], VegaTable.prototype, "rowExpandableNotifySlimmer", void 0);
2845
- __decorate$p([
3799
+ __decorate$q([
2846
3800
  InjectVegaSlimmer()
2847
3801
  ], VegaTable.prototype, "paddingXNotifySlimmer", void 0);
2848
- __decorate$p([
3802
+ __decorate$q([
2849
3803
  InjectVegaSlimmer()
2850
3804
  ], VegaTable.prototype, "rowClickableNotifySlimmer", void 0);
2851
- __decorate$p([
3805
+ __decorate$q([
2852
3806
  InjectVegaSlimmer()
2853
3807
  ], VegaTable.prototype, "scrollConfigNotifySlimmer", void 0);
2854
- __decorate$p([
3808
+ __decorate$q([
2855
3809
  InjectVegaSlimmer()
2856
3810
  ], VegaTable.prototype, "eventsPrevent", void 0);
2857
- __decorate$p([
3811
+ __decorate$q([
2858
3812
  InjectVegaSlimmer()
2859
3813
  ], VegaTable.prototype, "changeEventEmitter", void 0);
2860
- __decorate$p([
3814
+ __decorate$q([
2861
3815
  InjectVegaSlimmer()
2862
3816
  ], VegaTable.prototype, "selectChangeEventEmitter", void 0);
2863
- __decorate$p([
3817
+ __decorate$q([
2864
3818
  InjectVegaSlimmer()
2865
3819
  ], VegaTable.prototype, "selectAllChangeEventEmitter", void 0);
2866
- __decorate$p([
3820
+ __decorate$q([
2867
3821
  InjectVegaSlimmer()
2868
3822
  ], VegaTable.prototype, "rowClickEventEmitter", void 0);
2869
- __decorate$p([
3823
+ __decorate$q([
2870
3824
  InjectVegaSlimmer()
2871
3825
  ], VegaTable.prototype, "rowExpandEventEmitter", void 0);
2872
- __decorate$p([
3826
+ __decorate$q([
2873
3827
  InjectVegaSlimmer()
2874
3828
  ], VegaTable.prototype, "rowDividerNotifySlimmer", void 0);
2875
- __decorate$p([
3829
+ __decorate$q([
2876
3830
  InjectVegaSlimmer()
2877
3831
  ], VegaTable.prototype, "columnDividerNotifySlimmer", void 0);
2878
- __decorate$p([
3832
+ __decorate$q([
2879
3833
  InjectVegaSlimmer()
2880
3834
  ], VegaTable.prototype, "densityNotifySlimmer", void 0);
2881
- __decorate$p([
3835
+ __decorate$q([
2882
3836
  InjectVegaSlimmer()
2883
3837
  ], VegaTable.prototype, "isTemplateRenderModeNotifySlimmer", void 0);
2884
- __decorate$p([
3838
+ __decorate$q([
2885
3839
  InjectVegaSlimmer()
2886
3840
  ], VegaTable.prototype, "currentDataNotifySlimmer", void 0);
2887
- __decorate$p([
3841
+ __decorate$q([
2888
3842
  InjectVegaSlimmer()
2889
3843
  ], VegaTable.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
2890
- __decorate$p([
3844
+ __decorate$q([
2891
3845
  InjectVegaSlimmer()
2892
3846
  ], VegaTable.prototype, "rowSelectEventEmitter", void 0);
2893
- __decorate$p([
3847
+ __decorate$q([
2894
3848
  InjectVegaSlimmer()
2895
3849
  ], VegaTable.prototype, "rowSelectAllEventEmitter", void 0);
2896
3850
  VegaTable.style = vegaTableCss;
2897
3851
 
2898
3852
  const vegaTableBodyCss = ":host{display:contents}";
2899
3853
 
2900
- var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3854
+ var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2901
3855
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2902
3856
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function")
2903
3857
  r = Reflect.decorate(decorators, target, key, desc);
@@ -2919,13 +3873,13 @@ const VegaTableBody = class {
2919
3873
  }
2920
3874
  get host() { return getElement(this); }
2921
3875
  };
2922
- __decorate$o([
3876
+ __decorate$p([
2923
3877
  InjectVegaGlobalSlimmer()
2924
3878
  ], VegaTableBody.prototype, "globalSlimmers", void 0);
2925
- __decorate$o([
3879
+ __decorate$p([
2926
3880
  InjectVegaSlimmer()
2927
3881
  ], VegaTableBody.prototype, "childChangeEventPrevent", void 0);
2928
- __decorate$o([
3882
+ __decorate$p([
2929
3883
  InjectVegaSlimmer()
2930
3884
  ], VegaTableBody.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
2931
3885
  VegaTableBody.style = vegaTableBodyCss;
@@ -2974,7 +3928,7 @@ const generateColSpan = (columnLength, withMultipleSelection) => {
2974
3928
  return columnLength + (withMultipleSelection ? 2 : 1);
2975
3929
  };
2976
3930
 
2977
- var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3931
+ var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2978
3932
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2979
3933
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2980
3934
  else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
@@ -2993,15 +3947,103 @@ class VegaTableCellStateController extends SubStateObserverSlimmer {
2993
3947
  subStateName: 'density',
2994
3948
  parentStateName: 'density',
2995
3949
  },
3950
+ {
3951
+ subStateName: 'rowDivider',
3952
+ parentStateName: 'rowDivider',
3953
+ // eslint-disable-next-line jsdoc/require-jsdoc
3954
+ callback: (rowDivider) => {
3955
+ const row = this.host.parentElement;
3956
+ const body = row.parentElement;
3957
+ if (row && body) {
3958
+ const lastRow = body.querySelector('vega-table-row:last-of-type');
3959
+ this.rowDivider = rowDivider && lastRow !== row;
3960
+ }
3961
+ },
3962
+ },
3963
+ {
3964
+ subStateName: 'columnDivider',
3965
+ parentStateName: 'columnDivider',
3966
+ // eslint-disable-next-line jsdoc/require-jsdoc
3967
+ callback: (columnDivider) => {
3968
+ const parent = this.host.parentElement;
3969
+ if (parent) {
3970
+ const lastCell = parent.querySelector('vega-table-cell:last-of-type');
3971
+ this.columnDivider = columnDivider && lastCell !== this.host;
3972
+ }
3973
+ },
3974
+ },
3975
+ {
3976
+ subStateName: 'clickable',
3977
+ parentStateName: 'rowClickable',
3978
+ },
2996
3979
  ],
2997
3980
  });
2998
3981
  }
2999
3982
  }
3000
- __decorate$n([
3983
+ __decorate$o([
3984
+ MapToComponentField()
3985
+ ], VegaTableCellStateController.prototype, "host", void 0);
3986
+ __decorate$o([
3001
3987
  MapToComponentField({ writable: true })
3002
3988
  ], VegaTableCellStateController.prototype, "density", void 0);
3989
+ __decorate$o([
3990
+ MapToComponentField({ writable: true })
3991
+ ], VegaTableCellStateController.prototype, "rowDivider", void 0);
3992
+ __decorate$o([
3993
+ MapToComponentField({ writable: true })
3994
+ ], VegaTableCellStateController.prototype, "columnDivider", void 0);
3995
+ __decorate$o([
3996
+ MapToComponentField({ writable: true })
3997
+ ], VegaTableCellStateController.prototype, "clickable", void 0);
3998
+
3999
+ var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4000
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4001
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4002
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
4003
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
4004
+ };
4005
+ /**
4006
+ * Controller for the table row states
4007
+ */
4008
+ class VegaTableRowStateController$1 extends SubStateObserverSlimmer {
4009
+ // eslint-disable-next-line jsdoc/require-jsdoc
4010
+ constructor() {
4011
+ super({
4012
+ parent: 'vega-table-row',
4013
+ subStates: [
4014
+ {
4015
+ subStateName: 'checked',
4016
+ parentStateName: 'checked',
4017
+ },
4018
+ {
4019
+ subStateName: 'expanded',
4020
+ parentStateName: 'expanded',
4021
+ },
4022
+ ],
4023
+ });
4024
+ }
4025
+ /**
4026
+ * Component lifecycle - [componentWillLoad]{@link VegaTableCell.componentWillLoad}
4027
+ */
4028
+ componentWillRender() {
4029
+ const row = this.host.parentElement;
4030
+ this.striped = row && row.dataset.striped === 'striped';
4031
+ }
4032
+ }
4033
+ __decorate$n([
4034
+ MapToComponentField({ writable: true })
4035
+ ], VegaTableRowStateController$1.prototype, "checked", void 0);
4036
+ __decorate$n([
4037
+ MapToComponentField({ writable: true })
4038
+ ], VegaTableRowStateController$1.prototype, "striped", void 0);
4039
+ __decorate$n([
4040
+ MapToComponentField({ writable: true })
4041
+ ], VegaTableRowStateController$1.prototype, "expanded", void 0);
4042
+ __decorate$n([
4043
+ MapToComponentMethod('componentWillRender')
4044
+ ], VegaTableRowStateController$1.prototype, "componentWillRender", null);
3003
4045
 
3004
- const vegaTableCellCss = ":host(.v-hidden){display:none}@media (min-width: 320px){:host(.S\\:v-table-cell){display:table-cell}}@media (min-width: 768px){:host(.M\\:v-table-cell){display:table-cell}}@media (min-width: 1024px){:host(.L\\:v-table-cell){display:table-cell}}@media (min-width: 1440px){:host(.XL\\:v-table-cell){display:table-cell}}:host{display:table-cell;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));color:rgba(var(--v-text-primary, 32, 54, 69, 1));text-align:left;vertical-align:middle}.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{display:block;padding:0px}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}";
4046
+ 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}";
3005
4047
 
3006
4048
  var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3007
4049
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -3018,6 +4060,7 @@ const VegaTableCell = class {
3018
4060
  registerInstance(this, hostRef);
3019
4061
  this.globalSlimmers = {};
3020
4062
  this.vegaTableCellStateController = new VegaTableCellStateController();
4063
+ this.vegaTableRowStateController = new VegaTableRowStateController$1();
3021
4064
  this.pageResizeObserverSlimmer = new PageResizeObserverSlimmer();
3022
4065
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
3023
4066
  this.currentBreakpoint = getCurrentBreakpoint();
@@ -3034,14 +4077,43 @@ const VegaTableCell = class {
3034
4077
  const responsiveClass = generateResponsiveClass(this.breakpoint, 'v-table-cell');
3035
4078
  const columnAlignClass = generateTextAlignClass(this.textAlign);
3036
4079
  const overflowClass = this.getCellOverflowClass();
3037
- const columnClasses = [columnAlignClass, 'vega-table-cell'];
4080
+ const columnClasses = [responsiveClass, columnAlignClass, 'vega-table-cell'];
3038
4081
  if (!FeatureFlag.isEnabled('VEGA_TABLE.ENABLE_NEW_CELL_BREAK_WORDS_STYLE')) {
3039
4082
  columnClasses.push('break-word');
3040
4083
  }
4084
+ const table = findParent(this.host, 'vega-table');
4085
+ const renderInput = table &&
4086
+ remoteInvocationRegistry.call(domNodeSubjectFactory.getSubject(table, VegaInternalColumnBodyCellRenderInputRIC), this.host);
4087
+ if (renderInput === null || renderInput === void 0 ? void 0 : renderInput.isRightStartPinned) {
4088
+ columnClasses.push('left-divider');
4089
+ }
4090
+ if (renderInput === null || renderInput === void 0 ? void 0 : renderInput.isLeftEndPinned) {
4091
+ columnClasses.push('right-divider');
4092
+ }
4093
+ if (renderInput === null || renderInput === void 0 ? void 0 : renderInput.isNoPinnedEnd) {
4094
+ columnClasses.push('hide-right-border');
4095
+ }
3041
4096
  return sanitizeVegaComponent(h(Host, { class: arrayToClassString([
3042
4097
  `density-${ResponsiveFormatFacade.formatCustom(this.density)}`,
3043
- responsiveClass,
3044
- ]), style: { width: this.width } }, h("td", { class: arrayToClassString(columnClasses), part: "cell" }, h("div", { class: overflowClass }, h("slot", null)))), this.host);
4098
+ this.rowDivider && 'row-divider',
4099
+ this.columnDivider && 'column-divider',
4100
+ this.clickable && 'clickable',
4101
+ this.checked && 'checked',
4102
+ this.striped && 'striped',
4103
+ this.expanded && 'expanded',
4104
+ ]) }, h("td", { class: arrayToClassString(columnClasses), part: "cell",
4105
+ /* eslint-disable-next-line react/jsx-no-bind */
4106
+ onMouseEnter: this.onMouseEnter.bind(this),
4107
+ /* eslint-disable-next-line react/jsx-no-bind */
4108
+ onMouseLeave: this.onMouseLeave.bind(this), style: { width: this.width } }, h("div", { class: overflowClass }, h("slot", null)))), this.host);
4109
+ }
4110
+ onMouseEnter() {
4111
+ const row = this.host.parentElement;
4112
+ row.querySelectorAll('vega-table-cell').forEach((cell) => cell.classList.add('hovered'));
4113
+ }
4114
+ onMouseLeave() {
4115
+ const row = this.host.parentElement;
4116
+ row.querySelectorAll('vega-table-cell').forEach((cell) => cell.classList.remove('hovered'));
3045
4117
  }
3046
4118
  get host() { return getElement(this); }
3047
4119
  };
@@ -3051,6 +4123,9 @@ __decorate$m([
3051
4123
  __decorate$m([
3052
4124
  InjectVegaSlimmer()
3053
4125
  ], VegaTableCell.prototype, "vegaTableCellStateController", void 0);
4126
+ __decorate$m([
4127
+ InjectVegaSlimmer()
4128
+ ], VegaTableCell.prototype, "vegaTableRowStateController", void 0);
3054
4129
  __decorate$m([
3055
4130
  InjectVegaSlimmer()
3056
4131
  ], VegaTableCell.prototype, "pageResizeObserverSlimmer", void 0);
@@ -3074,10 +4149,14 @@ class VegaTableExpandRowRenderer extends VegaSlimmer {
3074
4149
  }, key: `vega-table-expanded-row-${this.rowKey}`, "data-expanded-row-key": this.rowKey },
3075
4150
  h("td", null),
3076
4151
  h("td", { colSpan: this.colSpan, key: `${VegaTableExpandRowController.expandRowSlotNamePrefix}${this.rowKey}`, class: "vega-table-expanded-row-slot-container" },
3077
- h("slot", null)),
4152
+ h("div", { class: "expanded-row-slot-inner" },
4153
+ h("slot", null))),
3078
4154
  h("td", null)));
3079
4155
  }
3080
4156
  }
4157
+ __decorate$l([
4158
+ MapToComponentField()
4159
+ ], VegaTableExpandRowRenderer.prototype, "host", void 0);
3081
4160
  __decorate$l([
3082
4161
  MapToComponentField()
3083
4162
  ], VegaTableExpandRowRenderer.prototype, "rowKey", void 0);
@@ -3341,7 +4420,7 @@ __decorate$h([
3341
4420
  MapToComponentMethod('watchWithMultipleSelection')
3342
4421
  ], VegaTableExpandRowColSpanController.prototype, "watchWithMultipleSelection", null);
3343
4422
 
3344
- const vegaTableExpandRowCss = ":host{display:contents}:host([data-striped=striped]) .vega-table-expanded-row: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))}";
4423
+ const vegaTableExpandRowCss = ":host{display:contents}:host([data-striped=striped]) .vega-table-expanded-row: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}";
3345
4424
 
3346
4425
  var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3347
4426
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -3530,6 +4609,18 @@ class VegaTableHeadCellStateController extends SubStateObserverSlimmer {
3530
4609
  subStateName: 'density',
3531
4610
  parentStateName: 'density',
3532
4611
  },
4612
+ {
4613
+ subStateName: 'columnDivider',
4614
+ parentStateName: 'columnDivider',
4615
+ // eslint-disable-next-line jsdoc/require-jsdoc
4616
+ callback: (columnDivider) => {
4617
+ const parent = this.host.parentElement;
4618
+ if (parent) {
4619
+ const lastCell = parent.querySelector('vega-table-head-cell:last-of-type');
4620
+ this.columnDivider = columnDivider && lastCell !== this.host;
4621
+ }
4622
+ },
4623
+ },
3533
4624
  ],
3534
4625
  });
3535
4626
  }
@@ -3537,6 +4628,9 @@ class VegaTableHeadCellStateController extends SubStateObserverSlimmer {
3537
4628
  __decorate$d([
3538
4629
  MapToComponentField({ writable: true })
3539
4630
  ], VegaTableHeadCellStateController.prototype, "density", void 0);
4631
+ __decorate$d([
4632
+ MapToComponentField({ writable: true })
4633
+ ], VegaTableHeadCellStateController.prototype, "columnDivider", void 0);
3540
4634
 
3541
4635
  const arrowUpArrowDown = {
3542
4636
  icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M489 377c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-55 55V56c0-13.3-10.7-24-24-24s-24 10.7-24 24V398.1l-55-55c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l96 96c9.4 9.4 24.6 9.4 33.9 0l96-96zM137 39c-9.4-9.4-24.6-9.4-33.9 0L7 135c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l55-55V456c0 13.3 10.7 24 24 24s24-10.7 24-24V113.9l55 55c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9L137 39z"/></svg>`,
@@ -3671,7 +4765,7 @@ __decorate$b([
3671
4765
  MapToComponentMethod('componentWillLoad')
3672
4766
  ], VegaTableHeadCellSortConfigController.prototype, "componentWillLoad", null);
3673
4767
 
3674
- const vegaTableHeadCellCss = ":host(.v-hidden){display:none}@media (min-width: 320px){:host(.S\\:v-table-cell){display:table-cell}}@media (min-width: 768px){:host(.M\\:v-table-cell){display:table-cell}}@media (min-width: 1024px){:host(.L\\:v-table-cell){display:table-cell}}@media (min-width: 1440px){:host(.XL\\:v-table-cell){display:table-cell}}:host{display:table-cell;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}: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{display:block;padding:0px;padding:12px;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}";
4768
+ 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;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}";
3675
4769
 
3676
4770
  var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3677
4771
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -3728,15 +4822,22 @@ const VegaTableHeadCell = class {
3728
4822
  onClick: (e) => this.handleSort(e),
3729
4823
  }
3730
4824
  : null;
3731
- const cellClassNames = ['vega-table-cell'];
3732
- if (!FeatureFlag.isEnabled('VEGA_TABLE.ENABLE_NEW_CELL_BREAK_WORDS_STYLE')) {
3733
- cellClassNames.push('break-word');
3734
- }
4825
+ const table = findParent(this.host, 'vega-table');
4826
+ const renderInput = table &&
4827
+ remoteInvocationRegistry.call(domNodeSubjectFactory.getSubject(table, VegaInternalColumnHeadCellRenderInputRIC), this.host);
3735
4828
  return sanitizeVegaComponent(h(Host, { class: {
3736
4829
  [`density-${ResponsiveFormatFacade.formatCustom(this.density)}`]: true,
3737
- sortable: !!this.sorter,
4830
+ 'sortable': !!this.sorter,
4831
+ 'column-divider': this.columnDivider,
4832
+ }, style: { width: this.width } }, h("th", Object.assign({ class: {
4833
+ 'vega-table-cell': true,
4834
+ 'break-word': !FeatureFlag.isEnabled('VEGA_TABLE.ENABLE_NEW_CELL_BREAK_WORDS_STYLE'),
4835
+ 'is-group-cell': renderInput === null || renderInput === void 0 ? void 0 : renderInput.headHasGroupColumn,
4836
+ 'hide-right-border': (renderInput === null || renderInput === void 0 ? void 0 : renderInput.isViewEnd) || (renderInput === null || renderInput === void 0 ? void 0 : renderInput.isNoPinnedEnd),
4837
+ 'right-divider': renderInput === null || renderInput === void 0 ? void 0 : renderInput.isLeftEndPinned,
4838
+ 'left-divider': renderInput === null || renderInput === void 0 ? void 0 : renderInput.isRightStartPinned,
3738
4839
  [generateResponsiveClass(this.breakpoint, 'v-table-cell')]: true,
3739
- }, style: { width: this.width } }, h("th", Object.assign({ class: arrayToClassString(cellClassNames) }, sortableConfig), h("div", { class: arrayToClassString(['vega-table-column', this.textAlign]) }, h("span", { class: "vega-table-column-label" }, h("slot", null)), this.sortIconRenderer.render()))), this.host);
4840
+ } }, sortableConfig, { colSpan: renderInput === null || renderInput === void 0 ? void 0 : renderInput.colSpan, rowSpan: renderInput === null || renderInput === void 0 ? void 0 : renderInput.rowSpan }), h("div", { class: arrayToClassString(['vega-table-column', this.textAlign]) }, h("span", { class: "vega-table-column-label" }, h("slot", null)), this.sortIconRenderer.render()))), this.host);
3740
4841
  }
3741
4842
  get host() { return getElement(this); }
3742
4843
  };
@@ -3781,10 +4882,13 @@ var __decorate$9 = (undefined && undefined.__decorate) || function (decorators,
3781
4882
  class VegaTableHeadRowRenderer extends VegaSlimmer {
3782
4883
  constructor() {
3783
4884
  super(...arguments);
3784
- this.renderHeaderSelectionCell = () => {
4885
+ this.renderHeaderSelectionCell = (renderInput) => {
3785
4886
  if (this.selectionType !== 'multiple')
3786
4887
  return;
3787
- return (h("th", { class: "vega-table-selection-column" }, !this.hideSelectAll && (h("div", { class: "vega-table-checkbox-wrapper" },
4888
+ return (h("th", { rowSpan: renderInput.startRowSpan, class: {
4889
+ 'vega-table-selection-column': true,
4890
+ 'hidden': renderInput.isStartHidden,
4891
+ } }, !this.hideSelectAll && (h("div", { class: "vega-table-checkbox-wrapper" },
3788
4892
  h("vega-checkbox", { size: "small", disabled: this.isEmptyTable || this.selectAllDisabled, checked: this.checkedAll, onClick: this.handleClick,
3789
4893
  /* eslint-disable-next-line react/jsx-no-bind */
3790
4894
  ref: (ref) => {
@@ -3802,8 +4906,11 @@ class VegaTableHeadRowRenderer extends VegaSlimmer {
3802
4906
  }
3803
4907
  }
3804
4908
  };
3805
- this.renderHeaderExpandableCell = () => {
3806
- return this.expandable && h("th", { class: "vega-table-expand-action-column" });
4909
+ this.renderHeaderExpandableCell = (renderInput) => {
4910
+ return (this.expandable && (h("th", { rowSpan: renderInput.endRowSpan, class: {
4911
+ 'vega-table-expand-action-column': true,
4912
+ 'hidden': renderInput.isEndHidden,
4913
+ } })));
3807
4914
  };
3808
4915
  this.handleClick = (e) => {
3809
4916
  e.stopPropagation();
@@ -3833,12 +4940,49 @@ class VegaTableHeadRowRenderer extends VegaSlimmer {
3833
4940
  }
3834
4941
  render() {
3835
4942
  var _a, _b;
3836
- return (h("tr", null,
3837
- h("th", { style: { width: (_a = this.paddingX) === null || _a === void 0 ? void 0 : _a[0] } }),
3838
- this.renderHeaderSelectionCell(),
4943
+ const renderInput = this.getRowRenderInput();
4944
+ return (h("tr", { class: {
4945
+ 'is-group-row': renderInput.headHasGroupColumn,
4946
+ 'is-pinned-row': renderInput.headHasPinnedColumn,
4947
+ } },
4948
+ h("th", { style: {
4949
+ width: (_a = this.paddingX) === null || _a === void 0 ? void 0 : _a[0],
4950
+ }, rowSpan: renderInput.startRowSpan, class: {
4951
+ hidden: renderInput.isStartHidden,
4952
+ } }),
4953
+ this.renderHeaderSelectionCell(renderInput),
3839
4954
  h("slot", null),
3840
- this.renderHeaderExpandableCell(),
3841
- h("th", { style: { width: (_b = this.paddingX) === null || _b === void 0 ? void 0 : _b[1] } })));
4955
+ this.renderHeaderExpandableCell(renderInput),
4956
+ h("th", { style: { width: (_b = this.paddingX) === null || _b === void 0 ? void 0 : _b[1] }, rowSpan: renderInput.endRowSpan, class: {
4957
+ hidden: renderInput.isEndHidden,
4958
+ } })));
4959
+ }
4960
+ getRowRenderInput() {
4961
+ const renderInput = {};
4962
+ const table = findParent(this.host, 'vega-table');
4963
+ const renderInputs = table &&
4964
+ remoteInvocationRegistry.call(domNodeSubjectFactory.getSubject(table, VegaInternalColumnHeadRowRenderInputRIC), this.host);
4965
+ const startRenderInput = renderInputs === null || renderInputs === void 0 ? void 0 : renderInputs[0];
4966
+ const endRenderInput = renderInputs === null || renderInputs === void 0 ? void 0 : renderInputs[renderInputs.length - 1];
4967
+ if (startRenderInput) {
4968
+ renderInput.headHasGroupColumn = startRenderInput.headHasGroupColumn;
4969
+ renderInput.headHasPinnedColumn = startRenderInput.headHasPinnedColumn;
4970
+ if (renderInput.headHasGroupColumn) {
4971
+ renderInput.startRowSpan =
4972
+ this.selectionType === 'multiple' && startRenderInput.level === 0
4973
+ ? startRenderInput.headMaxDepth
4974
+ : startRenderInput.rowSpan;
4975
+ renderInput.isStartHidden =
4976
+ startRenderInput.headHasGroupColumn &&
4977
+ ((this.selectionType === 'multiple' && startRenderInput.level > 0) ||
4978
+ !startRenderInput.isViewStart);
4979
+ }
4980
+ }
4981
+ if (endRenderInput && endRenderInput.headHasGroupColumn) {
4982
+ renderInput.endRowSpan = endRenderInput.rowSpan;
4983
+ renderInput.isEndHidden = startRenderInput.headHasGroupColumn && !endRenderInput.isViewEnd;
4984
+ }
4985
+ return renderInput;
3842
4986
  }
3843
4987
  }
3844
4988
  __decorate$9([
@@ -4029,7 +5173,7 @@ __decorate$7([
4029
5173
  MapToComponentField({ writable: true })
4030
5174
  ], VegaTableHeadRowStateController.prototype, "isEmptyTable", void 0);
4031
5175
 
4032
- 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}";
5176
+ 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}";
4033
5177
 
4034
5178
  var __decorate$6 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4035
5179
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -4590,7 +5734,7 @@ __decorate$1([
4590
5734
  MapToComponentMethod('componentWillLoad')
4591
5735
  ], VegaTableRowStateController.prototype, "handleComponentWillLoad", null);
4592
5736
 
4593
- 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([data-striped=striped]) .vega-table-row:not(.checked):not(.clickable:hover) td,:host([data-striped=striped]) .vega-table-row:not(.checked):not(.clickable:hover) ::slotted(vega-table-cell){background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.checked td,.checked ::slotted(vega-table-cell){background-color:rgba(var(--v-bg-table-selected-row, 204, 223, 255, 1))}:not(.checked).clickable:hover{cursor:pointer}:not(.checked).clickable:hover td,:not(.checked).clickable:hover ::slotted(vega-table-cell){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,:host tr.expand-row ::slotted(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 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,:host(.row-divider:not(:last-of-type)) ::slotted(vega-table-cell){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(.column-divider) ::slotted(vega-table-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}: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}";
5737
+ 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([data-striped=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}";
4594
5738
 
4595
5739
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4596
5740
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -4620,10 +5764,16 @@ const VegaTableRow = class {
4620
5764
  this.checkboxValueChangeEventPrevent = new ChildNodesEventPreventSlimmer([VegaClick], () => this.host, undefined, true);
4621
5765
  this.pageResizeObserverSlimmer = new PageResizeObserverSlimmer();
4622
5766
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
5767
+ this.checkedNotifySlimmer = createSubStateNotifySlimmer(VegaTableRow, 'checked', 'watchChecked');
5768
+ this.expandedNotifySlimmer = createSubStateNotifySlimmer(VegaTableRow, 'expanded', 'watchExpanded');
4623
5769
  this.currentBreakpoint = getCurrentBreakpoint();
4624
5770
  }
4625
5771
  watchSelectionType() {
4626
5772
  }
5773
+ watchChecked() {
5774
+ }
5775
+ watchExpanded() {
5776
+ }
4627
5777
  render() {
4628
5778
  slotPlaceholder(h("slot", null));
4629
5779
  return sanitizeVegaComponent(h(Host, { class: {
@@ -4634,7 +5784,9 @@ const VegaTableRow = class {
4634
5784
  }
4635
5785
  get host() { return getElement(this); }
4636
5786
  static get watchers() { return {
4637
- "selectionType": ["watchSelectionType"]
5787
+ "selectionType": ["watchSelectionType"],
5788
+ "checked": ["watchChecked"],
5789
+ "expanded": ["watchExpanded"]
4638
5790
  }; }
4639
5791
  };
4640
5792
  __decorate([
@@ -4670,6 +5822,12 @@ __decorate([
4670
5822
  __decorate([
4671
5823
  InjectVegaSlimmer()
4672
5824
  ], VegaTableRow.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
5825
+ __decorate([
5826
+ InjectVegaSlimmer()
5827
+ ], VegaTableRow.prototype, "checkedNotifySlimmer", void 0);
5828
+ __decorate([
5829
+ InjectVegaSlimmer()
5830
+ ], VegaTableRow.prototype, "expandedNotifySlimmer", void 0);
4673
5831
  VegaTableRow.style = vegaTableRowCss;
4674
5832
 
4675
5833
  export { VegaTable as vega_table, VegaTableBody as vega_table_body, VegaTableCell as vega_table_cell, VegaTableExpandRow as vega_table_expand_row, VegaTableHead as vega_table_head, VegaTableHeadCell as vega_table_head_cell, VegaTableHeadRow as vega_table_head_row, VegaTableRow as vega_table_row };