@heartlandone/vega 2.84.0 → 2.86.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (355) hide show
  1. package/dist/cjs/{app-globals-ea063074.js → app-globals-3080f55a.js} +5 -5
  2. package/dist/cjs/{child-nodes-event-prevent-slimmer-58bbc5fc.js → child-nodes-event-prevent-slimmer-f3979a03.js} +1 -1
  3. package/dist/cjs/{code-block-6da521e6.js → code-block-c6c70464.js} +6 -0
  4. package/dist/cjs/{component-value-history-controller-slimmer.abstract-f3f35f94.js → component-value-history-controller-slimmer.abstract-a523b747.js} +2 -2
  5. package/dist/cjs/{content-state-89fafb3b.js → content-state-efd3b1a7.js} +1 -1
  6. package/dist/cjs/{event-emit-slimmer-ecca412d.js → event-emit-slimmer-80e1c8ca.js} +1 -1
  7. package/dist/cjs/{image-annotation-action-a6e1e9ed.js → image-annotation-action-93bace08.js} +3 -3
  8. package/dist/cjs/{immutable-map-edf24b54.js → immutable-map-d711339d.js} +16 -4
  9. package/dist/cjs/index.cjs.js +9 -9
  10. package/dist/cjs/{internal-vega-event-manager-6b74b3af.js → internal-vega-event-manager-7e0d966d.js} +2 -1
  11. package/dist/cjs/loader.cjs.js +8 -8
  12. package/dist/cjs/{public-rules-fc52d624.js → public-rules-3cd0f182.js} +3 -3
  13. package/dist/cjs/{range-93cc8ab1.js → range-c9bde0b4.js} +1 -1
  14. package/dist/cjs/{rich-text-editor-required-rule-fd3711fb.js → rich-text-editor-required-rule-d1f0509c.js} +1 -1
  15. package/dist/cjs/{split-cell-operation-532fb9f0.js → split-cell-operation-6a59c9b0.js} +2 -2
  16. package/dist/cjs/{token-extension-39f2b886.js → token-extension-d7d2ead6.js} +282 -224
  17. package/dist/cjs/vega-accordion.cjs.entry.js +3 -3
  18. package/dist/cjs/vega-app-header-button.cjs.entry.js +4 -4
  19. package/dist/cjs/vega-banner.cjs.entry.js +3 -3
  20. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  21. package/dist/cjs/vega-button-circle.cjs.entry.js +4 -4
  22. package/dist/cjs/vega-button-group_2.cjs.entry.js +4 -4
  23. package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
  24. package/dist/cjs/vega-button.cjs.entry.js +4 -4
  25. package/dist/cjs/vega-calendar_4.cjs.entry.js +8 -7
  26. package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
  27. package/dist/cjs/vega-checkbox_2.cjs.entry.js +4 -4
  28. package/dist/cjs/vega-chip.cjs.entry.js +4 -4
  29. package/dist/cjs/vega-code-block.cjs.entry.js +7 -7
  30. package/dist/cjs/vega-color-picker.cjs.entry.js +3 -3
  31. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +188 -46
  32. package/dist/cjs/vega-color-swatch.cjs.entry.js +7 -7
  33. package/dist/cjs/vega-combo-box.cjs.entry.js +4 -4
  34. package/dist/cjs/vega-date-picker_2.cjs.entry.js +17 -5
  35. package/dist/cjs/vega-dialog_2.cjs.entry.js +5 -5
  36. package/dist/cjs/vega-dropdown_5.cjs.entry.js +4 -4
  37. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  38. package/dist/cjs/{vega-event-id-c08ce3d3.js → vega-event-id-d9994eb3.js} +2 -0
  39. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  40. package/dist/cjs/vega-file-uploader.cjs.entry.js +3 -3
  41. package/dist/cjs/vega-form.cjs.entry.js +5 -5
  42. package/dist/cjs/vega-image-uploader.cjs.entry.js +4 -4
  43. package/dist/cjs/vega-input-credit-card.cjs.entry.js +4 -4
  44. package/dist/cjs/vega-input-numeric.cjs.entry.js +4 -4
  45. package/dist/cjs/vega-input-passcode.cjs.entry.js +4 -4
  46. package/dist/cjs/vega-input-phone-number.cjs.entry.js +15 -5
  47. package/dist/cjs/vega-input-range.cjs.entry.js +4 -4
  48. package/dist/cjs/vega-input-select.cjs.entry.js +4 -4
  49. package/dist/cjs/vega-input.cjs.entry.js +3 -3
  50. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  51. package/dist/cjs/vega-left-nav_5.cjs.entry.js +15 -13
  52. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  53. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +3 -3
  54. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +1 -1
  55. package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
  56. package/dist/cjs/vega-popover_2.cjs.entry.js +3 -3
  57. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +3 -3
  58. package/dist/cjs/vega-radio_2.cjs.entry.js +4 -4
  59. package/dist/cjs/vega-rich-text-content.cjs.entry.js +4 -4
  60. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +10 -10
  61. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +6 -6
  62. package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
  63. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +4 -4
  64. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +161 -28
  65. package/dist/cjs/vega-sidenav_3.cjs.entry.js +3 -3
  66. package/dist/cjs/vega-signature-capture.cjs.entry.js +3 -3
  67. package/dist/cjs/vega-stepper.cjs.entry.js +4 -4
  68. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  69. package/dist/cjs/vega-table_11.cjs.entry.js +1172 -282
  70. package/dist/cjs/vega-textarea.cjs.entry.js +4 -4
  71. package/dist/cjs/vega-time-picker_2.cjs.entry.js +9 -15
  72. package/dist/cjs/vega-toggle-switch.cjs.entry.js +3 -3
  73. package/dist/cjs/vega.cjs.js +8 -8
  74. package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +2 -2
  75. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +2 -1
  76. package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/slimmers/renderers/color-swatch-picker-renderer.js +24 -5
  77. package/dist/collection/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.js +15 -0
  78. package/dist/collection/components/vega-color-swatch/vega-color-swatch.js +6 -6
  79. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.js +3 -0
  80. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.css +17 -1
  81. package/dist/collection/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.js +31 -1
  82. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +10 -0
  83. package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +1 -1
  84. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.js +10 -8
  85. package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-zindex-controller.js +2 -2
  86. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
  87. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +8 -2
  88. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
  89. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +1 -0
  90. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +53 -51
  91. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +40 -10
  92. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +75 -62
  93. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +1 -0
  94. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
  95. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +5 -1
  96. package/dist/collection/components/vega-selection-tile/slimmers/renderers/vega-selection-tile-renderer.js +71 -10
  97. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/slimmers/renderers/vega-selection-tile-group-renderer.js +39 -11
  98. package/dist/collection/components/vega-selection-tile/vega-selection-tile-group/vega-selection-tile-group.css +1 -3
  99. package/dist/collection/components/vega-selection-tile/vega-selection-tile.css +23 -18
  100. package/dist/collection/components/vega-selection-tile/vega-selection-tile.js +45 -1
  101. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-expand-row-controller.js +88 -4
  102. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-row-draggable-controller.js +132 -0
  103. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-sort-controller.js +14 -0
  104. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-renderer.js +8 -5
  105. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-col-group-renderer.js +6 -2
  106. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +8 -2
  107. package/dist/collection/components/vega-table/utils.js +4 -3
  108. package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-col-span-controller.js +13 -1
  109. package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-state-controller.js +7 -0
  110. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.js +7 -0
  111. package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/controllers/vega-table-foot-row-state-controller.js +10 -3
  112. package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.js +9 -2
  113. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.js +4 -3
  114. package/dist/collection/components/vega-table/vega-table-head/vega-table-head.js +5 -0
  115. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/controllers/vega-table-head-row-state-controller.js +10 -3
  116. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +12 -2
  117. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.js +5 -4
  118. package/dist/collection/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-state-controller.js +22 -1
  119. package/dist/collection/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.js +19 -4
  120. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.css +6 -0
  121. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +11 -1
  122. package/dist/collection/components/vega-table/vega-table.css +5 -0
  123. package/dist/collection/components/vega-table/vega-table.js +135 -11
  124. package/dist/collection/components/vega-time-picker/vega-time-picker.js +6 -12
  125. package/dist/collection/constants/ui.js +1 -0
  126. package/dist/collection/global/icons/grip-dots-vertical.js +3 -0
  127. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +2 -1
  128. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  129. package/dist/collection/helpers/immutable/immutable-map.js +16 -4
  130. package/dist/collection/helpers/slimmers/draggable-element-slimmer.js +508 -0
  131. package/dist/collection/helpers/slimmers/popover-nested-slot-projection-slimmer.js +118 -0
  132. package/dist/esm/{app-globals-d06de2a5.js → app-globals-37536ac9.js} +5 -5
  133. package/dist/esm/{aria-dialog-focusable-trap-slimmer-853a91de.js → aria-dialog-focusable-trap-slimmer-6eb79723.js} +1 -1
  134. package/dist/esm/{child-nodes-event-prevent-slimmer-f65e2452.js → child-nodes-event-prevent-slimmer-75f93d85.js} +1 -1
  135. package/dist/esm/{code-block-65c8804b.js → code-block-10be3916.js} +7 -1
  136. package/dist/esm/{component-value-history-controller-slimmer.abstract-26c154f6.js → component-value-history-controller-slimmer.abstract-82d51b7a.js} +3 -3
  137. package/dist/esm/{content-state-e676bdf0.js → content-state-afeb700d.js} +2 -2
  138. package/dist/esm/{element-appender-slimmer-d4a82dc3.js → element-appender-slimmer-05f487d7.js} +1 -1
  139. package/dist/esm/{event-emit-slimmer-18711776.js → event-emit-slimmer-1c57093d.js} +1 -1
  140. package/dist/esm/{form-field-controller-slimmer-9a0f8c54.js → form-field-controller-slimmer-ae8478b5.js} +2 -2
  141. package/dist/esm/{image-annotation-action-2d87b66a.js → image-annotation-action-bad7c565.js} +3 -3
  142. package/dist/esm/{immutable-map-612922a2.js → immutable-map-4fe22b11.js} +16 -4
  143. package/dist/esm/index.js +9 -9
  144. package/dist/esm/{internal-vega-event-manager-bed71930.js → internal-vega-event-manager-7cdf3c28.js} +2 -1
  145. package/dist/esm/loader.js +9 -9
  146. package/dist/esm/{public-rules-a61ff09f.js → public-rules-f54e6f39.js} +4 -4
  147. package/dist/esm/{range-d9e55d00.js → range-f32f9185.js} +1 -1
  148. package/dist/esm/{rich-text-editor-required-rule-6a4c853a.js → rich-text-editor-required-rule-627fd7e4.js} +1 -1
  149. package/dist/esm/{split-cell-operation-2e700c5c.js → split-cell-operation-90c30861.js} +3 -3
  150. package/dist/esm/{string-input-formatter-slimmer-ad234bec.js → string-input-formatter-slimmer-4059080b.js} +2 -2
  151. package/dist/esm/{sub-state-notify-slimmer-1f907173.js → sub-state-notify-slimmer-63ecb465.js} +1 -1
  152. package/dist/esm/{sub-state-observer-slimmer-090c500a.js → sub-state-observer-slimmer-2adbbe00.js} +1 -1
  153. package/dist/esm/{token-extension-d3a46c04.js → token-extension-728c0678.js} +282 -224
  154. package/dist/esm/vega-accordion.entry.js +3 -3
  155. package/dist/esm/vega-app-header-button.entry.js +4 -4
  156. package/dist/esm/vega-banner.entry.js +3 -3
  157. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  158. package/dist/esm/vega-button-circle.entry.js +5 -5
  159. package/dist/esm/vega-button-group_2.entry.js +7 -7
  160. package/dist/esm/vega-button-link.entry.js +4 -4
  161. package/dist/esm/vega-button.entry.js +5 -5
  162. package/dist/esm/vega-calendar_4.entry.js +11 -10
  163. package/dist/esm/vega-carousel.entry.js +3 -3
  164. package/dist/esm/vega-checkbox_2.entry.js +7 -7
  165. package/dist/esm/vega-chip.entry.js +4 -4
  166. package/dist/esm/vega-code-block.entry.js +8 -8
  167. package/dist/esm/vega-color-picker.entry.js +6 -6
  168. package/dist/esm/vega-color-swatch-picker.entry.js +192 -50
  169. package/dist/esm/vega-color-swatch.entry.js +7 -7
  170. package/dist/esm/vega-combo-box.entry.js +7 -7
  171. package/dist/esm/vega-date-picker_2.entry.js +24 -12
  172. package/dist/esm/vega-dialog_2.entry.js +7 -7
  173. package/dist/esm/vega-dropdown_5.entry.js +9 -9
  174. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  175. package/dist/esm/{vega-event-id-5841d1d3.js → vega-event-id-a6ccca66.js} +2 -1
  176. package/dist/esm/vega-field-label.entry.js +3 -3
  177. package/dist/esm/vega-file-uploader.entry.js +6 -6
  178. package/dist/esm/vega-form.entry.js +9 -9
  179. package/dist/esm/vega-image-uploader.entry.js +7 -7
  180. package/dist/esm/vega-input-credit-card.entry.js +7 -7
  181. package/dist/esm/vega-input-numeric.entry.js +8 -8
  182. package/dist/esm/vega-input-passcode.entry.js +7 -7
  183. package/dist/esm/vega-input-phone-number.entry.js +18 -8
  184. package/dist/esm/vega-input-range.entry.js +7 -7
  185. package/dist/esm/vega-input-select.entry.js +7 -7
  186. package/dist/esm/vega-input.entry.js +8 -8
  187. package/dist/esm/{vega-internal-event-id-194bac82.js → vega-internal-event-id-db974a0d.js} +1 -1
  188. package/dist/esm/vega-item-toggle.entry.js +3 -3
  189. package/dist/esm/vega-left-nav_5.entry.js +18 -16
  190. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  191. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +4 -4
  192. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +2 -2
  193. package/dist/esm/vega-pagination.entry.js +5 -5
  194. package/dist/esm/vega-popover_2.entry.js +6 -6
  195. package/dist/esm/vega-progress-tracker_2.entry.js +6 -6
  196. package/dist/esm/vega-radio_2.entry.js +7 -7
  197. package/dist/esm/vega-rich-text-content.entry.js +7 -7
  198. package/dist/esm/vega-rich-text-editor_4.entry.js +15 -15
  199. package/dist/esm/vega-rich-text-table-properties_3.entry.js +7 -7
  200. package/dist/esm/vega-segment-control.entry.js +3 -3
  201. package/dist/esm/vega-selection-chip_2.entry.js +8 -8
  202. package/dist/esm/vega-selection-tile_2.entry.js +165 -32
  203. package/dist/esm/vega-sidenav_3.entry.js +6 -6
  204. package/dist/esm/vega-signature-capture.entry.js +6 -6
  205. package/dist/esm/vega-stepper.entry.js +7 -7
  206. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  207. package/dist/esm/vega-table_11.entry.js +1175 -285
  208. package/dist/esm/vega-textarea.entry.js +7 -7
  209. package/dist/esm/vega-time-picker_2.entry.js +13 -19
  210. package/dist/esm/vega-toggle-switch.entry.js +6 -6
  211. package/dist/esm/vega-tooltip_2.entry.js +2 -2
  212. package/dist/esm/vega.js +9 -9
  213. package/dist/esm/{wait-for-component-did-render-30cde59c.js → wait-for-component-did-render-9a83d343.js} +1 -1
  214. package/dist/sri/vega-sri-manifest.json +276 -276
  215. package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/slimmers/renderers/color-swatch-picker-renderer.d.ts +9 -0
  216. package/dist/types/components/vega-color-swatch/vega-color-swatch-picker/vega-color-swatch-picker.d.ts +6 -0
  217. package/dist/types/components/vega-color-swatch/vega-color-swatch.d.ts +4 -4
  218. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/slimmers/renderers/vega-date-picker-month-item-renderer.d.ts +1 -0
  219. package/dist/types/components/vega-date-picker/vega-date-picker-calendar/vega-date-picker-calendar.d.ts +8 -0
  220. package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +2 -0
  221. package/dist/types/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.d.ts +2 -1
  222. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +2 -0
  223. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +15 -11
  224. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +15 -0
  225. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +25 -22
  226. package/dist/types/components/vega-rich-text-editor/interface.d.ts +5 -0
  227. package/dist/types/components/vega-selection-tile/slimmers/renderers/vega-selection-tile-renderer.d.ts +12 -0
  228. package/dist/types/components/vega-selection-tile/vega-selection-tile-group/slimmers/renderers/vega-selection-tile-group-renderer.d.ts +0 -1
  229. package/dist/types/components/vega-selection-tile/vega-selection-tile.d.ts +2 -0
  230. package/dist/types/components/vega-table/interface.d.ts +2 -0
  231. package/dist/types/components/vega-table/slimmers/controllers/vega-table-expand-row-controller.d.ts +35 -0
  232. package/dist/types/components/vega-table/slimmers/controllers/vega-table-row-draggable-controller.d.ts +52 -0
  233. package/dist/types/components/vega-table/slimmers/controllers/vega-table-sort-controller.d.ts +4 -0
  234. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-renderer.d.ts +3 -1
  235. package/dist/types/components/vega-table/slimmers/renderers/vega-table-col-group-renderer.d.ts +2 -1
  236. package/dist/types/components/vega-table/utils.d.ts +3 -2
  237. package/dist/types/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-col-span-controller.d.ts +5 -0
  238. package/dist/types/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-state-controller.d.ts +1 -0
  239. package/dist/types/components/vega-table/vega-table-expand-row/vega-table-expand-row.d.ts +2 -0
  240. package/dist/types/components/vega-table/vega-table-foot-row/slimmers/controllers/vega-table-foot-row-state-controller.d.ts +2 -1
  241. package/dist/types/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.d.ts +3 -1
  242. package/dist/types/components/vega-table/vega-table-foot-row/vega-table-foot-row.d.ts +6 -2
  243. package/dist/types/components/vega-table/vega-table-head/vega-table-head.d.ts +1 -0
  244. package/dist/types/components/vega-table/vega-table-head-row/slimmers/controllers/vega-table-head-row-state-controller.d.ts +2 -1
  245. package/dist/types/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.d.ts +3 -1
  246. package/dist/types/components/vega-table/vega-table-head-row/vega-table-head-row.d.ts +6 -2
  247. package/dist/types/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-state-controller.d.ts +3 -0
  248. package/dist/types/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.d.ts +3 -0
  249. package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +8 -0
  250. package/dist/types/components/vega-table/vega-table.d.ts +40 -5
  251. package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +5 -11
  252. package/dist/types/components.d.ts +47 -12
  253. package/dist/types/constants/ui.d.ts +1 -1
  254. package/dist/types/global/icons/grip-dots-vertical.d.ts +3 -0
  255. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  256. package/dist/types/helpers/immutable/immutable-map.d.ts +4 -1
  257. package/dist/types/helpers/slimmers/draggable-element-slimmer.d.ts +260 -0
  258. package/dist/types/helpers/slimmers/popover-nested-slot-projection-slimmer.d.ts +65 -0
  259. package/dist/types/types/components.type.d.ts +2 -0
  260. package/dist/types/types/public-api.d.ts +2 -0
  261. package/dist/types/types/ui.type.d.ts +40 -0
  262. package/dist/vega/index.esm.js +1 -1
  263. package/dist/vega/{p-d3ed7c27.entry.js → p-0b5b0fd2.entry.js} +1 -1
  264. package/dist/vega/p-13e7f906.entry.js +1 -0
  265. package/dist/vega/{p-39b71df9.entry.js → p-23b38467.entry.js} +1 -1
  266. package/dist/vega/{p-8d833b44.entry.js → p-25572ea7.entry.js} +1 -1
  267. package/dist/vega/{p-03cf2df1.entry.js → p-268e84e0.entry.js} +1 -1
  268. package/dist/vega/p-2edc066c.entry.js +1 -0
  269. package/dist/vega/{p-5bbb3e68.entry.js → p-2fb26f4f.entry.js} +1 -1
  270. package/dist/vega/{p-032183c1.js → p-33234385.js} +1 -1
  271. package/dist/vega/{p-c0323a55.entry.js → p-35d77c9c.entry.js} +1 -1
  272. package/dist/vega/{p-5ac4649a.entry.js → p-3c456e91.entry.js} +1 -1
  273. package/dist/vega/{p-27b1dc0f.entry.js → p-3d0ba2c6.entry.js} +1 -1
  274. package/dist/vega/{p-20f0060f.entry.js → p-3d92d2af.entry.js} +1 -1
  275. package/dist/vega/{p-4123559f.entry.js → p-3e64fa38.entry.js} +1 -1
  276. package/dist/vega/{p-f986f875.entry.js → p-411ea209.entry.js} +1 -1
  277. package/dist/vega/{p-7cf1e1f7.entry.js → p-423762ae.entry.js} +1 -1
  278. package/dist/vega/{p-0f31b00b.entry.js → p-4530f0e1.entry.js} +1 -1
  279. package/dist/vega/{p-b28d4f7d.js → p-48e3be6a.js} +1 -1
  280. package/dist/vega/{p-753a7832.entry.js → p-4afafeb3.entry.js} +1 -1
  281. package/dist/vega/{p-c6837173.entry.js → p-4c90d013.entry.js} +1 -1
  282. package/dist/vega/p-5087fa1e.entry.js +1 -0
  283. package/dist/vega/{p-7595ad55.js → p-51b2b3de.js} +1 -1
  284. package/dist/vega/{p-bc2786f9.entry.js → p-59c6dcf7.entry.js} +1 -1
  285. package/dist/vega/p-5e50dbb9.js +1 -0
  286. package/dist/vega/p-5f377954.js +1 -1
  287. package/dist/vega/{p-e5546af5.entry.js → p-606d7113.entry.js} +1 -1
  288. package/dist/vega/{p-6f790577.js → p-6817b9bd.js} +1 -1
  289. package/dist/vega/{p-84030271.entry.js → p-69c11b7b.entry.js} +1 -1
  290. package/dist/vega/{p-effa6495.js → p-6b5cb920.js} +1 -1
  291. package/dist/vega/{p-aa985d73.js → p-6c43d54a.js} +1 -1
  292. package/dist/vega/{p-0e15fa94.entry.js → p-6fadee27.entry.js} +1 -1
  293. package/dist/vega/{p-549bea2c.entry.js → p-73c6669e.entry.js} +1 -1
  294. package/dist/vega/{p-9375fbce.js → p-7730bace.js} +1 -1
  295. package/dist/vega/{p-88f57353.entry.js → p-79c12a64.entry.js} +1 -1
  296. package/dist/vega/{p-f8c700dd.entry.js → p-7f74cd41.entry.js} +1 -1
  297. package/dist/vega/p-818da356.js +1 -0
  298. package/dist/vega/{p-aa040383.js → p-84eb3b9c.js} +1 -1
  299. package/dist/vega/{p-b48b3264.js → p-8d48940d.js} +1 -1
  300. package/dist/vega/{p-a5e6a3be.js → p-93afdfc3.js} +1 -1
  301. package/dist/vega/{p-865fc90b.entry.js → p-98a6cd8e.entry.js} +1 -1
  302. package/dist/vega/p-9af0e2e7.js +1 -0
  303. package/dist/vega/{p-f6414a24.entry.js → p-9e2b7718.entry.js} +1 -1
  304. package/dist/vega/{p-e1b1f5f9.entry.js → p-9eb00537.entry.js} +1 -1
  305. package/dist/vega/{p-f0e855b2.entry.js → p-9f36abf9.entry.js} +1 -1
  306. package/dist/vega/{p-b88eab9a.entry.js → p-9fc8bd1f.entry.js} +1 -1
  307. package/dist/vega/{p-9308f874.entry.js → p-a050c24d.entry.js} +1 -1
  308. package/dist/vega/{p-aa4d419c.entry.js → p-a49c25c2.entry.js} +1 -1
  309. package/dist/vega/{p-1df2c29b.entry.js → p-a9528dbd.entry.js} +1 -1
  310. package/dist/vega/{p-0caf52e0.js → p-a9e10a64.js} +1 -1
  311. package/dist/vega/p-a9f34735.entry.js +1 -0
  312. package/dist/vega/{p-3ae5f50e.entry.js → p-aaf44879.entry.js} +1 -1
  313. package/dist/vega/{p-6cada843.js → p-ae1aa4df.js} +1 -1
  314. package/dist/vega/p-af00e6e2.entry.js +1 -0
  315. package/dist/vega/{p-a0c3968b.js → p-af5cb9bc.js} +1 -1
  316. package/dist/vega/{p-d6c9ef6c.entry.js → p-afd1b519.entry.js} +1 -1
  317. package/dist/vega/{p-5490d499.entry.js → p-bc74d7e7.entry.js} +1 -1
  318. package/dist/vega/{p-6ba71ec4.entry.js → p-c2388937.entry.js} +1 -1
  319. package/dist/vega/p-c31a32f4.js +1 -0
  320. package/dist/vega/{p-11a2f834.js → p-c347e08a.js} +1 -1
  321. package/dist/vega/{p-91739ed3.entry.js → p-c51ebb14.entry.js} +1 -1
  322. package/dist/vega/{p-b80217fa.entry.js → p-c601b331.entry.js} +1 -1
  323. package/dist/vega/{p-d3864b94.entry.js → p-c8fe46fd.entry.js} +1 -1
  324. package/dist/vega/p-ce61d23f.entry.js +1 -0
  325. package/dist/vega/{p-d76e3b3c.entry.js → p-cf2838c7.entry.js} +1 -1
  326. package/dist/vega/{p-e4c5b8d1.entry.js → p-d37636a5.entry.js} +1 -1
  327. package/dist/vega/{p-19e10a87.entry.js → p-d402eb7b.entry.js} +1 -1
  328. package/dist/vega/{p-dec5b448.js → p-d4e519a0.js} +1 -1
  329. package/dist/vega/{p-ce975c69.entry.js → p-da8bb883.entry.js} +1 -1
  330. package/dist/vega/{p-68a96fbb.entry.js → p-dffbbc3d.entry.js} +1 -1
  331. package/dist/vega/{p-bdddddb7.js → p-e1709e59.js} +1 -1
  332. package/dist/vega/{p-c47c37f2.js → p-e27626f6.js} +1 -1
  333. package/dist/vega/{p-6236f592.entry.js → p-e47b2c4c.entry.js} +1 -1
  334. package/dist/vega/{p-7dca19d3.entry.js → p-e95cb28f.entry.js} +1 -1
  335. package/dist/vega/{p-74136508.entry.js → p-ecbb63a5.entry.js} +1 -1
  336. package/dist/vega/p-ed26f4c8.entry.js +1 -0
  337. package/dist/vega/{p-43aaeb30.entry.js → p-effb285f.entry.js} +1 -1
  338. package/dist/vega/p-f1c672e4.js +1 -0
  339. package/dist/vega/{p-56c28943.js → p-f5f5a0d9.js} +1 -1
  340. package/dist/vega/{p-748268e6.entry.js → p-f604f2c9.entry.js} +1 -1
  341. package/dist/vega/{p-e5cc839a.entry.js → p-fa91805b.entry.js} +1 -1
  342. package/dist/vega/vega.esm.js +1 -1
  343. package/package.json +1 -1
  344. package/dist/vega/p-220f8ee7.js +0 -1
  345. package/dist/vega/p-38af89b9.js +0 -1
  346. package/dist/vega/p-5215e1d8.entry.js +0 -1
  347. package/dist/vega/p-5409275a.entry.js +0 -1
  348. package/dist/vega/p-5f23c52d.entry.js +0 -1
  349. package/dist/vega/p-7dbaed6c.entry.js +0 -1
  350. package/dist/vega/p-80cb302f.entry.js +0 -1
  351. package/dist/vega/p-874bf8b2.js +0 -1
  352. package/dist/vega/p-99670c56.entry.js +0 -1
  353. package/dist/vega/p-9de25451.js +0 -1
  354. package/dist/vega/p-a2d6d695.entry.js +0 -1
  355. package/dist/vega/p-b78eaec4.js +0 -1
@@ -9,8 +9,8 @@ import { O as Observer } from './observer-3959f9dd.js';
9
9
  import { f as findParent, a as arrayToClassString, n as extractNumberFromString } from './ui-b7600a48.js';
10
10
  import { d as domNodeSubjectFactory, D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-aca0116e.js';
11
11
  import { r as remoteInvocationRegistry } from './remote-invocation-registry-d69245c2.js';
12
- import { S as VegaInternalTableRowExpand, T as VegaInternalTableRowSelect, U as VegaInternalTableRowSelectAll, W as VegaInternalVegaTableRenderInputChange, X as VegaInternalColumnHeadRowRenderInputRIC, Y as VegaInternalColumnHeadCellRenderInputRIC, Z as VegaInternalColumnBodyCellRenderInputRIC, _ as VegaInternalTableHeadCellSortEvent } from './vega-internal-event-id-194bac82.js';
13
- import { a as VegaClick, i as VegaChange, U as VegaPageSizeChange, d as VegaExpand, Z as VegaSelectChange, _ as VegaSelectAllChange, $ as VegaRowClick, a0 as VegaRowExpand, a1 as VegaRowSelect, a2 as VegaRowSelectAll } from './vega-event-id-5841d1d3.js';
12
+ import { S as VegaInternalTableRowExpand, T as VegaInternalTableRowSelect, U as VegaInternalTableRowSelectAll, W as VegaInternalVegaTableRenderInputChange, X as VegaInternalColumnHeadRowRenderInputRIC, Y as VegaInternalColumnHeadCellRenderInputRIC, Z as VegaInternalColumnBodyCellRenderInputRIC, _ as VegaInternalTableHeadCellSortEvent } from './vega-internal-event-id-db974a0d.js';
13
+ import { a as VegaClick, i as VegaChange, U as VegaPageSizeChange, d as VegaExpand, Z as VegaSelectChange, _ as VegaSelectAllChange, $ as VegaRowClick, a0 as VegaRowExpand, a1 as VegaRowDragDrop, a2 as VegaRowSelect, a3 as VegaRowSelectAll } from './vega-event-id-a6ccca66.js';
14
14
  import { R as ResponsiveFormatFacade } from './responsive-format-facade-456a9f16.js';
15
15
  import { i as isNonNullable, p as isBreakpointsTokenType, ao as isVegaTableColumnGroupingModelType } from './type-guard-adc244fd.js';
16
16
  import { s as sanitizeVegaComponent } from './component-7d906393.js';
@@ -19,16 +19,17 @@ import { g as getCurrentBreakpoint } from './breakpoints-332702ed.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
21
  import { P as PageResizeObserverSlimmer } from './page-resize-observer-slimmer-e24d36c5.js';
22
- import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-1f907173.js';
23
- import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-f65e2452.js';
24
- import { c as createEventEmitSlimmer } from './event-emit-slimmer-18711776.js';
25
- import { I as ImmutableMap } from './immutable-map-612922a2.js';
22
+ import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-63ecb465.js';
23
+ import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-75f93d85.js';
24
+ import { c as createEventEmitSlimmer } from './event-emit-slimmer-1c57093d.js';
25
+ import { I as ImmutableMap } from './immutable-map-4fe22b11.js';
26
26
  import { T as TranslationSlimmer } from './translation-slimmer-5e2bff5f.js';
27
27
  import { S as SynchronizeTaskQueue } from './synchronize-task-queue-ac8acc3b.js';
28
- import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-090c500a.js';
28
+ import { c as createDynamicSlimmer } from './dynamic-slimmer-90b8af32.js';
29
+ import { I as InternalVegaZIndexManager } from './internal-vega-z-index-manager-7d2b54c3.js';
30
+ import { S as SubStateObserverSlimmer } from './sub-state-observer-slimmer-2adbbe00.js';
29
31
  import { F as FeatureFlag } from './feature-flag-controller-30f7b625.js';
30
32
  import { B as Breakpoints } from './breakpoints-d9faf11c.js';
31
- import { I as InternalVegaZIndexManager } from './internal-vega-z-index-manager-7d2b54c3.js';
32
33
  import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-524cabd2.js';
33
34
  import { V as VegaInternalIconManager } from './internal-icon-manager-bd80b3bb.js';
34
35
  import { c as chevronUp } from './chevron-up-b1989751.js';
@@ -40,8 +41,7 @@ import './array-7888f339.js';
40
41
  import './typography-396de03f.js';
41
42
  import './internal-translation-controller-d7dee4a0.js';
42
43
  import './try-get-document-bef0f526.js';
43
- import './dynamic-slimmer-90b8af32.js';
44
- import './internal-vega-event-manager-bed71930.js';
44
+ import './internal-vega-event-manager-7cdf3c28.js';
45
45
  import './vega-env-manager-8f8dc473.js';
46
46
  import './index-bfc6dfa2.js';
47
47
  import './icon-manager-539d7cf7.js';
@@ -157,7 +157,7 @@ const VegaTableEditableFieldTypes = [
157
157
  'time-picker',
158
158
  ];
159
159
 
160
- var __decorate$S = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
160
+ var __decorate$U = (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;
@@ -258,23 +258,23 @@ class VegaTableCellRenderer extends VegaSlimmer {
258
258
  }
259
259
  }
260
260
  }
261
- __decorate$S([
261
+ __decorate$U([
262
262
  MapToComponentField()
263
263
  ], VegaTableCellRenderer.prototype, "rowKey", void 0);
264
- __decorate$S([
264
+ __decorate$U([
265
265
  MapToComponentField()
266
266
  ], VegaTableCellRenderer.prototype, "columns", void 0);
267
- __decorate$S([
267
+ __decorate$U([
268
268
  MapToComponentField()
269
269
  ], VegaTableCellRenderer.prototype, "vegaTableDataSourceController", void 0);
270
- __decorate$S([
270
+ __decorate$U([
271
271
  MapToComponentField()
272
272
  ], VegaTableCellRenderer.prototype, "vegaTableEditableController", void 0);
273
- __decorate$S([
273
+ __decorate$U([
274
274
  MapToComponentField()
275
275
  ], VegaTableCellRenderer.prototype, "vegaTableRenderInputController", void 0);
276
276
 
277
- var __decorate$R = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
277
+ var __decorate$T = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
278
278
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
279
279
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
280
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;
@@ -292,7 +292,7 @@ class VegaTableExpandRowController extends VegaSlimmer {
292
292
  * @param {string} rowKey - The row key of the row
293
293
  */
294
294
  this.toggleExpandRow = (rowKey) => {
295
- this.rowExpandable && this.handleToggleExpandRow(rowKey, !this.isExpanded(rowKey));
295
+ this.isRowExpandable(rowKey) && this.handleToggleExpandRow(rowKey, !this.isExpanded(rowKey));
296
296
  };
297
297
  /**
298
298
  * Open expandable row by rowKey
@@ -300,7 +300,7 @@ class VegaTableExpandRowController extends VegaSlimmer {
300
300
  * @param {string} rowKey - The row key of the row
301
301
  */
302
302
  this.openExpandRow = (rowKey) => {
303
- this.rowExpandable && this.handleToggleExpandRow(rowKey, true);
303
+ this.isRowExpandable(rowKey) && this.handleToggleExpandRow(rowKey, true);
304
304
  };
305
305
  /**
306
306
  * Close expanded row by rowKey
@@ -308,13 +308,22 @@ class VegaTableExpandRowController extends VegaSlimmer {
308
308
  * @param {string} rowKey - The row key of the row
309
309
  */
310
310
  this.closeExpandRow = (rowKey) => {
311
- this.rowExpandable && this.handleToggleExpandRow(rowKey, false);
311
+ this.isRowExpandable(rowKey) && this.handleToggleExpandRow(rowKey, false);
312
312
  };
313
313
  /**
314
314
  * Close all expanded row
315
315
  */
316
316
  this.closeAllExpandRow = () => {
317
- this.rowExpandable && this.handleCloseAllExpandRow();
317
+ this.hasExpandableRow && this.handleCloseAllExpandRow();
318
+ };
319
+ /**
320
+ * Whether the row is expandable
321
+ *
322
+ * @param {VegaTableDataSourceItem} row - The row data
323
+ * @returns {boolean} Return true if the row is expandable
324
+ */
325
+ this.isExpandableRow = (row) => {
326
+ return this.expandableRows.includes(this.vegaTableDataSourceController.getRecordKey(row));
318
327
  };
319
328
  /**
320
329
  * Whether the row is expandable
@@ -425,6 +434,12 @@ class VegaTableExpandRowController extends VegaSlimmer {
425
434
  ChangeManager.unregister(TABLE_EXPAND_ROW, this.expandObserver);
426
435
  remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalTableRowExpand));
427
436
  }
437
+ /**
438
+ * Component lifecycle - componentWillLoad
439
+ */
440
+ componentWillLoad() {
441
+ this.setExpandableRows();
442
+ }
428
443
  /**
429
444
  * Component lifecycle - componentDidLoad
430
445
  */
@@ -435,8 +450,16 @@ class VegaTableExpandRowController extends VegaSlimmer {
435
450
  * The callback to handle [watchRowExpandable]{@link VegaTable.watchRowExpandable}
436
451
  */
437
452
  watchRowExpandable() {
453
+ this.setExpandableRows();
438
454
  this.handleCloseAllExpandRow();
439
455
  }
456
+ /**
457
+ * Set the expandable rows based on the rowExpandable prop
458
+ */
459
+ watchCurrentData() {
460
+ this.setExpandableRows();
461
+ this.clearUnusedExpandRowSlot();
462
+ }
440
463
  /**
441
464
  * Initializes row expand observer
442
465
  */
@@ -467,49 +490,110 @@ class VegaTableExpandRowController extends VegaSlimmer {
467
490
  return (input['host']['tagName'] === 'VEGA-TABLE-ROW' &&
468
491
  this.host === findParent(input['host'], 'vega-table'));
469
492
  }
493
+ /**
494
+ * Sets expandable rows and hasExpandableRow based on rowExpandable and currentData
495
+ */
496
+ setExpandableRows() {
497
+ if (typeof this.rowExpandable === 'boolean') {
498
+ this.expandableRows = this.rowExpandable
499
+ ? this.currentData.map((item) => this.vegaTableDataSourceController.getRecordKey(item))
500
+ : [];
501
+ this.hasExpandableRow = this.rowExpandable;
502
+ }
503
+ else if (typeof this.rowExpandable === 'function') {
504
+ const result = [];
505
+ this.currentData.forEach((item) => {
506
+ const rowKey = this.vegaTableDataSourceController.getRecordKey(item);
507
+ if (this.rowExpandable(rowKey)) {
508
+ result.push(rowKey);
509
+ }
510
+ });
511
+ this.expandableRows = result;
512
+ this.hasExpandableRow = result.length > 0;
513
+ }
514
+ else {
515
+ this.expandableRows = [];
516
+ this.hasExpandableRow = false;
517
+ }
518
+ }
519
+ /**
520
+ * Whether the row is expandable by rowKey
521
+ *
522
+ * @param {string} rowKey - The row key of the row
523
+ * @returns {boolean} Return true if the row is expandable
524
+ */
525
+ isRowExpandable(rowKey) {
526
+ return this.expandableRows.includes(rowKey);
527
+ }
528
+ /**
529
+ * Clear the expand row slot which is not expandable anymore to avoid confusion,
530
+ * this can be triggered by the change of rowExpandable or currentData
531
+ */
532
+ clearUnusedExpandRowSlot() {
533
+ this.expandedRowKeySet.toArray().forEach((rowKey) => {
534
+ if (!this.isRowExpandable(rowKey)) {
535
+ this.expandedRowKeySet.delete(rowKey);
536
+ }
537
+ });
538
+ }
470
539
  }
471
540
  VegaTableExpandRowController.expandRowSlotNamePrefix = 'vega-table-expand-row-';
472
- __decorate$R([
541
+ __decorate$T([
473
542
  MapToComponentField()
474
543
  ], VegaTableExpandRowController.prototype, "host", void 0);
475
- __decorate$R([
544
+ __decorate$T([
476
545
  MapToComponentField()
477
546
  ], VegaTableExpandRowController.prototype, "expandedRowKeySet", void 0);
478
- __decorate$R([
547
+ __decorate$T([
548
+ MapToComponentField({ writable: true })
549
+ ], VegaTableExpandRowController.prototype, "expandableRows", void 0);
550
+ __decorate$T([
551
+ MapToComponentField({ writable: true })
552
+ ], VegaTableExpandRowController.prototype, "hasExpandableRow", void 0);
553
+ __decorate$T([
479
554
  MapToComponentField()
480
555
  ], VegaTableExpandRowController.prototype, "rowExpandable", void 0);
481
- __decorate$R([
556
+ __decorate$T([
557
+ MapToComponentField()
558
+ ], VegaTableExpandRowController.prototype, "currentData", void 0);
559
+ __decorate$T([
482
560
  MapToComponentField()
483
561
  ], VegaTableExpandRowController.prototype, "rowExpandEventEmitter", void 0);
484
- __decorate$R([
562
+ __decorate$T([
485
563
  MapToComponentField()
486
564
  ], VegaTableExpandRowController.prototype, "vegaTableDataSourceController", void 0);
487
- __decorate$R([
565
+ __decorate$T([
488
566
  MapToComponentMethod('connectedCallback')
489
567
  ], VegaTableExpandRowController.prototype, "connectedCallback", null);
490
- __decorate$R([
568
+ __decorate$T([
491
569
  MapToComponentMethod('disconnectedCallback')
492
570
  ], VegaTableExpandRowController.prototype, "disconnectedCallback", null);
493
- __decorate$R([
571
+ __decorate$T([
572
+ MapToComponentMethod('componentWillLoad')
573
+ ], VegaTableExpandRowController.prototype, "componentWillLoad", null);
574
+ __decorate$T([
494
575
  MapToComponentMethod('componentDidLoad')
495
576
  ], VegaTableExpandRowController.prototype, "componentDidLoad", null);
496
- __decorate$R([
577
+ __decorate$T([
497
578
  MapToComponentMethod('toggleExpandRow')
498
579
  ], VegaTableExpandRowController.prototype, "toggleExpandRow", void 0);
499
- __decorate$R([
580
+ __decorate$T([
500
581
  MapToComponentMethod('openExpandRow')
501
582
  ], VegaTableExpandRowController.prototype, "openExpandRow", void 0);
502
- __decorate$R([
583
+ __decorate$T([
503
584
  MapToComponentMethod('closeExpandRow')
504
585
  ], VegaTableExpandRowController.prototype, "closeExpandRow", void 0);
505
- __decorate$R([
586
+ __decorate$T([
506
587
  MapToComponentMethod('closeAllExpandRow')
507
588
  ], VegaTableExpandRowController.prototype, "closeAllExpandRow", void 0);
508
- __decorate$R([
589
+ __decorate$T([
509
590
  MapToComponentMethod('watchRowExpandable')
510
591
  ], VegaTableExpandRowController.prototype, "watchRowExpandable", null);
592
+ __decorate$T([
593
+ MapToComponentMethod('watchCurrentData')
594
+ ], VegaTableExpandRowController.prototype, "watchCurrentData", null);
511
595
 
512
- var __decorate$Q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
596
+ var __decorate$S = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
513
597
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
514
598
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
515
599
  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;
@@ -848,68 +932,68 @@ class VegaTableRowSelectionController$1 extends VegaSlimmer {
848
932
  this.host === findParent(input['host'], 'vega-table'));
849
933
  }
850
934
  }
851
- __decorate$Q([
935
+ __decorate$S([
852
936
  MapToComponentField()
853
937
  ], VegaTableRowSelectionController$1.prototype, "host", void 0);
854
- __decorate$Q([
938
+ __decorate$S([
855
939
  MapToComponentField({ writable: true })
856
940
  ], VegaTableRowSelectionController$1.prototype, "isSelectedAll", void 0);
857
- __decorate$Q([
941
+ __decorate$S([
858
942
  MapToComponentField()
859
943
  ], VegaTableRowSelectionController$1.prototype, "selectedRowKeySet", void 0);
860
- __decorate$Q([
944
+ __decorate$S([
861
945
  MapToComponentField({ writable: true })
862
946
  ], VegaTableRowSelectionController$1.prototype, "rowSelection", void 0);
863
- __decorate$Q([
947
+ __decorate$S([
864
948
  MapToComponentField()
865
949
  ], VegaTableRowSelectionController$1.prototype, "rowKey", void 0);
866
- __decorate$Q([
950
+ __decorate$S([
867
951
  MapToComponentField()
868
952
  ], VegaTableRowSelectionController$1.prototype, "selectChangeEventEmitter", void 0);
869
- __decorate$Q([
953
+ __decorate$S([
870
954
  MapToComponentField()
871
955
  ], VegaTableRowSelectionController$1.prototype, "selectAllChangeEventEmitter", void 0);
872
- __decorate$Q([
956
+ __decorate$S([
873
957
  MapToComponentField()
874
958
  ], VegaTableRowSelectionController$1.prototype, "vegaTableDataSourceController", void 0);
875
- __decorate$Q([
959
+ __decorate$S([
876
960
  MapToComponentField()
877
961
  ], VegaTableRowSelectionController$1.prototype, "rowSelectEventEmitter", void 0);
878
- __decorate$Q([
962
+ __decorate$S([
879
963
  MapToComponentField()
880
964
  ], VegaTableRowSelectionController$1.prototype, "rowSelectAllEventEmitter", void 0);
881
- __decorate$Q([
965
+ __decorate$S([
882
966
  MapToComponentMethod('connectedCallback')
883
967
  ], VegaTableRowSelectionController$1.prototype, "connectedCallback", null);
884
- __decorate$Q([
968
+ __decorate$S([
885
969
  MapToComponentMethod('disconnectedCallback')
886
970
  ], VegaTableRowSelectionController$1.prototype, "disconnectedCallback", null);
887
- __decorate$Q([
971
+ __decorate$S([
888
972
  MapToComponentMethod('componentWillLoad')
889
973
  ], VegaTableRowSelectionController$1.prototype, "componentWillLoad", null);
890
- __decorate$Q([
974
+ __decorate$S([
891
975
  MapToComponentMethod('watchRowSelection')
892
976
  ], VegaTableRowSelectionController$1.prototype, "watchRowSelection", null);
893
- __decorate$Q([
977
+ __decorate$S([
894
978
  MapToComponentMethod('setSelection')
895
979
  ], VegaTableRowSelectionController$1.prototype, "setSelection", null);
896
- __decorate$Q([
980
+ __decorate$S([
897
981
  MapToComponentMethod('watchCurrentData')
898
982
  ], VegaTableRowSelectionController$1.prototype, "watchCurrentData", null);
899
- __decorate$Q([
983
+ __decorate$S([
900
984
  MapToComponentMethod('clearSelection')
901
985
  ], VegaTableRowSelectionController$1.prototype, "clearSelection", null);
902
- __decorate$Q([
986
+ __decorate$S([
903
987
  MapToComponentMethod('getSelection')
904
988
  ], VegaTableRowSelectionController$1.prototype, "getSelection", null);
905
- __decorate$Q([
989
+ __decorate$S([
906
990
  MapToComponentMethod('watchSelectedRowKeySet')
907
991
  ], VegaTableRowSelectionController$1.prototype, "watchSelectedRowKeySet", null);
908
- __decorate$Q([
992
+ __decorate$S([
909
993
  MapToComponentMethod('watchSelectedAll')
910
994
  ], VegaTableRowSelectionController$1.prototype, "watchSelectedAll", null);
911
995
 
912
- var __decorate$P = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
996
+ var __decorate$R = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
913
997
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
914
998
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
915
999
  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;
@@ -1049,41 +1133,41 @@ class VegaTableDataSourceController extends VegaSlimmer {
1049
1133
  }
1050
1134
  }
1051
1135
  }
1052
- __decorate$P([
1136
+ __decorate$R([
1053
1137
  MapToComponentField()
1054
1138
  ], VegaTableDataSourceController.prototype, "rowKey", void 0);
1055
- __decorate$P([
1139
+ __decorate$R([
1056
1140
  MapToComponentField({ writable: true })
1057
1141
  ], VegaTableDataSourceController.prototype, "currentData", void 0);
1058
- __decorate$P([
1142
+ __decorate$R([
1059
1143
  MapToComponentField({ writable: true })
1060
1144
  ], VegaTableDataSourceController.prototype, "dataSource", void 0);
1061
- __decorate$P([
1145
+ __decorate$R([
1062
1146
  MapToComponentField()
1063
1147
  ], VegaTableDataSourceController.prototype, "columns", void 0);
1064
- __decorate$P([
1148
+ __decorate$R([
1065
1149
  MapToComponentField()
1066
1150
  ], VegaTableDataSourceController.prototype, "sortersMap", void 0);
1067
- __decorate$P([
1151
+ __decorate$R([
1068
1152
  MapToComponentField()
1069
1153
  ], VegaTableDataSourceController.prototype, "vegaTableSortController", void 0);
1070
- __decorate$P([
1154
+ __decorate$R([
1071
1155
  MapToComponentField()
1072
1156
  ], VegaTableDataSourceController.prototype, "vegaTableRenderer", void 0);
1073
- __decorate$P([
1157
+ __decorate$R([
1074
1158
  MapToComponentField()
1075
1159
  ], VegaTableDataSourceController.prototype, "isTemplateRenderMode", void 0);
1076
- __decorate$P([
1160
+ __decorate$R([
1077
1161
  MapToComponentMethod('componentWillLoad')
1078
1162
  ], VegaTableDataSourceController.prototype, "componentWillLoad", null);
1079
- __decorate$P([
1163
+ __decorate$R([
1080
1164
  MapToComponentMethod('watchSortersMap')
1081
1165
  ], VegaTableDataSourceController.prototype, "watchSortersMap", null);
1082
- __decorate$P([
1166
+ __decorate$R([
1083
1167
  MapToComponentMethod('watchDataSource')
1084
1168
  ], VegaTableDataSourceController.prototype, "watchDataSource", null);
1085
1169
 
1086
- var __decorate$O = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1170
+ var __decorate$Q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1087
1171
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1088
1172
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1089
1173
  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;
@@ -1094,7 +1178,7 @@ class VegaTableBodyRenderer extends VegaSlimmer {
1094
1178
  super(...arguments);
1095
1179
  this.renderTableBody = (editable) => {
1096
1180
  const currentData = this.vegaTableDataSourceController.getCurrentData();
1097
- return (h("vega-table-body", null, currentData.map((record, index) => {
1181
+ return (h("vega-table-body", { ref: (ref) => (this.tableBodyRef = ref) }, currentData.map((record, index) => {
1098
1182
  const rowKey = this.vegaTableDataSourceController.getRecordKey(record);
1099
1183
  const isVisibleInCurrentPage = this.vegaTablePaginationController.isRowVisible(index);
1100
1184
  const isLastRow = index === currentData.length - 1;
@@ -1106,7 +1190,7 @@ class VegaTableBodyRenderer extends VegaSlimmer {
1106
1190
  isVisibleInCurrentPage,
1107
1191
  isLastRow: isLastRow,
1108
1192
  }, editable),
1109
- this.rowExpandable && (h("vega-table-expand-row", { class: {
1193
+ this.vegaTableExpandRowController.isExpandableRow(record) && (h("vega-table-expand-row", { class: {
1110
1194
  'v-hidden': !isVisibleInCurrentPage,
1111
1195
  }, key: `vega-table-expanded-row-${rowKey}`, rowKey: rowKey, striped: this.striped && index % 2 === 1 },
1112
1196
  h("slot", { name: `${VegaTableExpandRowController.expandRowSlotNamePrefix}${rowKey}` })))));
@@ -1116,6 +1200,9 @@ class VegaTableBodyRenderer extends VegaSlimmer {
1116
1200
  getTableFormRef() {
1117
1201
  return this.tableFormRef;
1118
1202
  }
1203
+ getTableBodyRef() {
1204
+ return this.tableBodyRef;
1205
+ }
1119
1206
  render() {
1120
1207
  const editable = this.columnStructureModel
1121
1208
  .generateColumnConfigByLeaves(this.columns)
@@ -1123,41 +1210,41 @@ class VegaTableBodyRenderer extends VegaSlimmer {
1123
1210
  return editable ? (h("vega-form", { ref: (ref) => (this.tableFormRef = ref) }, this.renderTableBody(editable))) : (this.renderTableBody(false));
1124
1211
  }
1125
1212
  }
1126
- __decorate$O([
1213
+ __decorate$Q([
1127
1214
  MapToComponentField()
1128
1215
  ], VegaTableBodyRenderer.prototype, "striped", void 0);
1129
- __decorate$O([
1216
+ __decorate$Q([
1130
1217
  MapToComponentField()
1131
1218
  ], VegaTableBodyRenderer.prototype, "rowDivider", void 0);
1132
- __decorate$O([
1219
+ __decorate$Q([
1133
1220
  MapToComponentField()
1134
1221
  ], VegaTableBodyRenderer.prototype, "columns", void 0);
1135
- __decorate$O([
1222
+ __decorate$Q([
1136
1223
  MapToComponentField()
1137
1224
  ], VegaTableBodyRenderer.prototype, "currentBreakpoint", void 0);
1138
- __decorate$O([
1139
- MapToComponentField()
1140
- ], VegaTableBodyRenderer.prototype, "rowExpandable", void 0);
1141
- __decorate$O([
1225
+ __decorate$Q([
1142
1226
  MapToComponentField()
1143
1227
  ], VegaTableBodyRenderer.prototype, "rowClickable", void 0);
1144
- __decorate$O([
1228
+ __decorate$Q([
1145
1229
  MapToComponentField()
1146
1230
  ], VegaTableBodyRenderer.prototype, "vegaTableDataSourceController", void 0);
1147
- __decorate$O([
1231
+ __decorate$Q([
1148
1232
  MapToComponentField()
1149
1233
  ], VegaTableBodyRenderer.prototype, "vegaTablePaginationController", void 0);
1150
- __decorate$O([
1234
+ __decorate$Q([
1151
1235
  MapToComponentField()
1152
1236
  ], VegaTableBodyRenderer.prototype, "vegaTableRowSelectionController", void 0);
1153
- __decorate$O([
1237
+ __decorate$Q([
1154
1238
  MapToComponentField()
1155
1239
  ], VegaTableBodyRenderer.prototype, "vegaTableRowRenderer", void 0);
1156
- __decorate$O([
1240
+ __decorate$Q([
1157
1241
  MapToComponentField()
1158
1242
  ], VegaTableBodyRenderer.prototype, "columnStructureModel", void 0);
1243
+ __decorate$Q([
1244
+ MapToComponentField()
1245
+ ], VegaTableBodyRenderer.prototype, "vegaTableExpandRowController", void 0);
1159
1246
 
1160
- var __decorate$N = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1247
+ var __decorate$P = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1161
1248
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1162
1249
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1163
1250
  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;
@@ -1220,32 +1307,32 @@ class VegaTableHeaderRenderer extends VegaSlimmer {
1220
1307
  return this.showHeader && h("vega-table-head", null, this.renderHeaderRows());
1221
1308
  }
1222
1309
  }
1223
- __decorate$N([
1310
+ __decorate$P([
1224
1311
  MapToComponentField()
1225
1312
  ], VegaTableHeaderRenderer.prototype, "showHeader", void 0);
1226
- __decorate$N([
1313
+ __decorate$P([
1227
1314
  MapToComponentField()
1228
1315
  ], VegaTableHeaderRenderer.prototype, "sortersMap", void 0);
1229
- __decorate$N([
1316
+ __decorate$P([
1230
1317
  MapToComponentField()
1231
1318
  ], VegaTableHeaderRenderer.prototype, "sortConfig", void 0);
1232
- __decorate$N([
1319
+ __decorate$P([
1233
1320
  MapToComponentField()
1234
1321
  ], VegaTableHeaderRenderer.prototype, "columns", void 0);
1235
- __decorate$N([
1322
+ __decorate$P([
1236
1323
  MapToComponentField()
1237
1324
  ], VegaTableHeaderRenderer.prototype, "rowSelection", void 0);
1238
- __decorate$N([
1325
+ __decorate$P([
1239
1326
  MapToComponentField()
1240
1327
  ], VegaTableHeaderRenderer.prototype, "vegaTableSortController", void 0);
1241
- __decorate$N([
1328
+ __decorate$P([
1242
1329
  MapToComponentField()
1243
1330
  ], VegaTableHeaderRenderer.prototype, "vegaTableDataSourceController", void 0);
1244
- __decorate$N([
1331
+ __decorate$P([
1245
1332
  MapToComponentField()
1246
1333
  ], VegaTableHeaderRenderer.prototype, "vegaTableRenderInputController", void 0);
1247
1334
 
1248
- var __decorate$M = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1335
+ var __decorate$O = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1249
1336
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1250
1337
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1251
1338
  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;
@@ -1311,19 +1398,19 @@ class VegaTablePaginationRenderer extends VegaSlimmer {
1311
1398
  ref: this.paginationRefCallback }))));
1312
1399
  }
1313
1400
  }
1314
- __decorate$M([
1401
+ __decorate$O([
1315
1402
  MapToComponentField()
1316
1403
  ], VegaTablePaginationRenderer.prototype, "pagination", void 0);
1317
- __decorate$M([
1404
+ __decorate$O([
1318
1405
  MapToComponentField()
1319
1406
  ], VegaTablePaginationRenderer.prototype, "pageSize", void 0);
1320
- __decorate$M([
1407
+ __decorate$O([
1321
1408
  MapToComponentField()
1322
1409
  ], VegaTablePaginationRenderer.prototype, "currentPage", void 0);
1323
- __decorate$M([
1410
+ __decorate$O([
1324
1411
  MapToComponentField()
1325
1412
  ], VegaTablePaginationRenderer.prototype, "vegaTablePaginationController", void 0);
1326
- __decorate$M([
1413
+ __decorate$O([
1327
1414
  MapToComponentField()
1328
1415
  ], VegaTablePaginationRenderer.prototype, "vegaTableDataSourceController", void 0);
1329
1416
 
@@ -1350,7 +1437,7 @@ const VegaTableScrollableContainer = ({ scrollConfig = {}, ref, onScroll }, chil
1350
1437
  onScroll: handleVerticalScroll }, children));
1351
1438
  };
1352
1439
 
1353
- var __decorate$L = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1440
+ var __decorate$N = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1354
1441
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1355
1442
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1356
1443
  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;
@@ -1383,20 +1470,20 @@ class VegaTableScrollContainerRenderer extends VegaSlimmer {
1383
1470
  this.tableScrollContainerRef = ref;
1384
1471
  }
1385
1472
  }
1386
- __decorate$L([
1473
+ __decorate$N([
1387
1474
  MapToComponentField()
1388
1475
  ], VegaTableScrollContainerRenderer.prototype, "scrollConfig", void 0);
1389
- __decorate$L([
1476
+ __decorate$N([
1390
1477
  MapToComponentField()
1391
1478
  ], VegaTableScrollContainerRenderer.prototype, "host", void 0);
1392
- __decorate$L([
1479
+ __decorate$N([
1393
1480
  MapToComponentField()
1394
1481
  ], VegaTableScrollContainerRenderer.prototype, "isTemplateRenderMode", void 0);
1395
- __decorate$L([
1482
+ __decorate$N([
1396
1483
  MapToComponentMethod('watchCurrentPage')
1397
1484
  ], VegaTableScrollContainerRenderer.prototype, "watchCurrentPage", null);
1398
1485
 
1399
- var __decorate$K = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1486
+ var __decorate$M = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1400
1487
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1401
1488
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1402
1489
  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;
@@ -1441,65 +1528,65 @@ class VegaTableRenderer extends VegaSlimmer {
1441
1528
  this.renderEmpty()), this.host);
1442
1529
  }
1443
1530
  }
1444
- __decorate$K([
1531
+ __decorate$M([
1445
1532
  MapToComponentField()
1446
1533
  ], VegaTableRenderer.prototype, "host", void 0);
1447
- __decorate$K([
1534
+ __decorate$M([
1448
1535
  MapToComponentField()
1449
1536
  ], VegaTableRenderer.prototype, "columns", void 0);
1450
- __decorate$K([
1537
+ __decorate$M([
1451
1538
  MapToComponentField()
1452
1539
  ], VegaTableRenderer.prototype, "emptyDescription", void 0);
1453
- __decorate$K([
1540
+ __decorate$M([
1454
1541
  MapToComponentField()
1455
1542
  ], VegaTableRenderer.prototype, "rowDivider", void 0);
1456
- __decorate$K([
1543
+ __decorate$M([
1457
1544
  MapToComponentField()
1458
1545
  ], VegaTableRenderer.prototype, "columnDivider", void 0);
1459
- __decorate$K([
1546
+ __decorate$M([
1460
1547
  MapToComponentField()
1461
1548
  ], VegaTableRenderer.prototype, "density", void 0);
1462
- __decorate$K([
1549
+ __decorate$M([
1463
1550
  MapToComponentField()
1464
1551
  ], VegaTableRenderer.prototype, "dataSource", void 0);
1465
- __decorate$K([
1552
+ __decorate$M([
1466
1553
  MapToComponentField()
1467
1554
  ], VegaTableRenderer.prototype, "striped", void 0);
1468
- __decorate$K([
1555
+ __decorate$M([
1469
1556
  MapToComponentField()
1470
1557
  ], VegaTableRenderer.prototype, "columnStructureModel", void 0);
1471
- __decorate$K([
1558
+ __decorate$M([
1472
1559
  MapToComponentField()
1473
1560
  ], VegaTableRenderer.prototype, "vegaTableHeaderRenderer", void 0);
1474
- __decorate$K([
1561
+ __decorate$M([
1475
1562
  MapToComponentField()
1476
1563
  ], VegaTableRenderer.prototype, "vegaTableBodyRenderer", void 0);
1477
- __decorate$K([
1564
+ __decorate$M([
1478
1565
  MapToComponentField()
1479
1566
  ], VegaTableRenderer.prototype, "vegaTableColGroupRenderer", void 0);
1480
- __decorate$K([
1567
+ __decorate$M([
1481
1568
  MapToComponentField()
1482
1569
  ], VegaTableRenderer.prototype, "vegaTableScrollContainerRenderer", void 0);
1483
- __decorate$K([
1570
+ __decorate$M([
1484
1571
  MapToComponentField()
1485
1572
  ], VegaTableRenderer.prototype, "vegaTablePaginationRenderer", void 0);
1486
- __decorate$K([
1573
+ __decorate$M([
1487
1574
  MapToComponentField()
1488
1575
  ], VegaTableRenderer.prototype, "vegaTableDataSourceController", void 0);
1489
- __decorate$K([
1576
+ __decorate$M([
1490
1577
  MapToComponentField()
1491
1578
  ], VegaTableRenderer.prototype, "translationSlimmer", void 0);
1492
- __decorate$K([
1579
+ __decorate$M([
1493
1580
  MapToComponentField({ writable: true })
1494
1581
  ], VegaTableRenderer.prototype, "vegaTableChildrenController", void 0);
1495
- __decorate$K([
1582
+ __decorate$M([
1496
1583
  MapToComponentField()
1497
1584
  ], VegaTableRenderer.prototype, "isTemplateRenderMode", void 0);
1498
- __decorate$K([
1585
+ __decorate$M([
1499
1586
  MapToComponentField()
1500
1587
  ], VegaTableRenderer.prototype, "editingRows", void 0);
1501
1588
 
1502
- var __decorate$J = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1589
+ var __decorate$L = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1503
1590
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1504
1591
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1505
1592
  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;
@@ -1563,23 +1650,23 @@ class VegaTablePaginationController extends VegaSlimmer {
1563
1650
  return index >= start && index < end;
1564
1651
  }
1565
1652
  }
1566
- __decorate$J([
1653
+ __decorate$L([
1567
1654
  MapToComponentField()
1568
1655
  ], VegaTablePaginationController.prototype, "pagination", void 0);
1569
- __decorate$J([
1656
+ __decorate$L([
1570
1657
  MapToComponentField({ writable: true })
1571
1658
  ], VegaTablePaginationController.prototype, "pageSize", void 0);
1572
- __decorate$J([
1659
+ __decorate$L([
1573
1660
  MapToComponentField({ writable: true })
1574
1661
  ], VegaTablePaginationController.prototype, "currentPage", void 0);
1575
- __decorate$J([
1662
+ __decorate$L([
1576
1663
  MapToComponentMethod('componentWillLoad')
1577
1664
  ], VegaTablePaginationController.prototype, "componentWillLoad", null);
1578
- __decorate$J([
1665
+ __decorate$L([
1579
1666
  MapToComponentMethod('watchPagination')
1580
1667
  ], VegaTablePaginationController.prototype, "watchPagination", null);
1581
1668
 
1582
- var __decorate$I = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1669
+ var __decorate$K = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1583
1670
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1584
1671
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1585
1672
  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;
@@ -1808,55 +1895,55 @@ class VegaTableEditableController extends VegaSlimmer {
1808
1895
  }
1809
1896
  }
1810
1897
  VegaTableEditableController.rowFormKeyPrefix = 'vega-table-row-form-';
1811
- __decorate$I([
1898
+ __decorate$K([
1812
1899
  MapToComponentField()
1813
1900
  ], VegaTableEditableController.prototype, "editingRows", void 0);
1814
- __decorate$I([
1901
+ __decorate$K([
1815
1902
  MapToComponentField()
1816
1903
  ], VegaTableEditableController.prototype, "rowKey", void 0);
1817
- __decorate$I([
1904
+ __decorate$K([
1818
1905
  MapToComponentField()
1819
1906
  ], VegaTableEditableController.prototype, "columns", void 0);
1820
- __decorate$I([
1907
+ __decorate$K([
1821
1908
  MapToComponentField()
1822
1909
  ], VegaTableEditableController.prototype, "vegaTableDataSourceController", void 0);
1823
- __decorate$I([
1910
+ __decorate$K([
1824
1911
  MapToComponentField()
1825
1912
  ], VegaTableEditableController.prototype, "vegaTableBodyRenderer", void 0);
1826
- __decorate$I([
1913
+ __decorate$K([
1827
1914
  MapToComponentMethod('saveAllEditRows')
1828
1915
  ], VegaTableEditableController.prototype, "saveAllEditRows", null);
1829
- __decorate$I([
1916
+ __decorate$K([
1830
1917
  MapToComponentMethod('stopAllRowEditMode')
1831
1918
  ], VegaTableEditableController.prototype, "stopAllRowEditMode", null);
1832
- __decorate$I([
1919
+ __decorate$K([
1833
1920
  MapToComponentMethod('watchDataSource')
1834
1921
  ], VegaTableEditableController.prototype, "watchDataSource", null);
1835
- __decorate$I([
1922
+ __decorate$K([
1836
1923
  MapToComponentMethod('saveEditRow')
1837
1924
  ], VegaTableEditableController.prototype, "saveEditRow", null);
1838
- __decorate$I([
1925
+ __decorate$K([
1839
1926
  MapToComponentMethod('stopRowEditMode')
1840
1927
  ], VegaTableEditableController.prototype, "stopRowEditMode", null);
1841
- __decorate$I([
1928
+ __decorate$K([
1842
1929
  MapToComponentMethod('removeRow')
1843
1930
  ], VegaTableEditableController.prototype, "removeRow", null);
1844
- __decorate$I([
1931
+ __decorate$K([
1845
1932
  MapToComponentMethod('startRowEditMode')
1846
1933
  ], VegaTableEditableController.prototype, "startRowEditMode", null);
1847
- __decorate$I([
1934
+ __decorate$K([
1848
1935
  MapToComponentMethod('addNewRow')
1849
1936
  ], VegaTableEditableController.prototype, "addNewRow", null);
1850
- __decorate$I([
1937
+ __decorate$K([
1851
1938
  MapToComponentMethod('getRowsData')
1852
1939
  ], VegaTableEditableController.prototype, "getRowsData", null);
1853
- __decorate$I([
1940
+ __decorate$K([
1854
1941
  MapToComponentMethod('getEditingRowsKey')
1855
1942
  ], VegaTableEditableController.prototype, "getEditingRowsKey", null);
1856
- __decorate$I([
1943
+ __decorate$K([
1857
1944
  MapToComponentMethod('getFormRef')
1858
1945
  ], VegaTableEditableController.prototype, "getFormRef", null);
1859
- __decorate$I([
1946
+ __decorate$K([
1860
1947
  MapToComponentMethod('getRowData')
1861
1948
  ], VegaTableEditableController.prototype, "getRowData", null);
1862
1949
 
@@ -1902,7 +1989,7 @@ class VegaTableSorter {
1902
1989
  }
1903
1990
  }
1904
1991
 
1905
- var __decorate$H = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1992
+ var __decorate$J = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1906
1993
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1907
1994
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1908
1995
  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;
@@ -1912,6 +1999,20 @@ var __decorate$H = (undefined && undefined.__decorate) || function (decorators,
1912
1999
  * The sort controller for the vega-table
1913
2000
  */
1914
2001
  class VegaTableSortController extends VegaSlimmer {
2002
+ constructor() {
2003
+ super(...arguments);
2004
+ /**
2005
+ * The method to clear all sorters
2006
+ */
2007
+ this.clearSorter = () => {
2008
+ if (this.sortersMap.size > 0) {
2009
+ this.sortersMap.clear(false);
2010
+ this.changeEventEmitter.emit({
2011
+ sorters: [],
2012
+ });
2013
+ }
2014
+ };
2015
+ }
1915
2016
  /**
1916
2017
  * The callback of [watchColumns]{@link VegaTable.watchColumns}
1917
2018
  */
@@ -1972,26 +2073,26 @@ class VegaTableSortController extends VegaSlimmer {
1972
2073
  });
1973
2074
  }
1974
2075
  }
1975
- __decorate$H([
2076
+ __decorate$J([
1976
2077
  MapToComponentField({ writable: true })
1977
2078
  ], VegaTableSortController.prototype, "sortersMap", void 0);
1978
- __decorate$H([
2079
+ __decorate$J([
1979
2080
  MapToComponentField()
1980
2081
  ], VegaTableSortController.prototype, "columns", void 0);
1981
- __decorate$H([
2082
+ __decorate$J([
1982
2083
  MapToComponentField()
1983
2084
  ], VegaTableSortController.prototype, "changeEventEmitter", void 0);
1984
- __decorate$H([
2085
+ __decorate$J([
1985
2086
  MapToComponentField()
1986
2087
  ], VegaTableSortController.prototype, "vegaTableDataSourceController", void 0);
1987
- __decorate$H([
2088
+ __decorate$J([
1988
2089
  MapToComponentField()
1989
2090
  ], VegaTableSortController.prototype, "sortConfig", void 0);
1990
- __decorate$H([
2091
+ __decorate$J([
1991
2092
  MapToComponentMethod('watchColumns')
1992
2093
  ], VegaTableSortController.prototype, "watchColumns", null);
1993
2094
 
1994
- var __decorate$G = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2095
+ var __decorate$I = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
1995
2096
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
1996
2097
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
1997
2098
  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;
@@ -2009,6 +2110,7 @@ class VegaTableColGroupRenderer extends VegaSlimmer {
2009
2110
  render() {
2010
2111
  return (h("colgroup", null,
2011
2112
  h("col", { style: { minWidth: this.paddingX[0], width: this.paddingX[0] } }),
2113
+ this.rowDraggable && h("col", { class: "draggable-col" }),
2012
2114
  this.vegaTableRowSelectionController.getRowSelectionType() === 'multiple' && (h("col", { style: { minWidth: '40px', width: '40px' } })),
2013
2115
  this.columnStructureModel
2014
2116
  .generateColumnConfigByLeaves(this.columns)
@@ -2021,27 +2123,30 @@ class VegaTableColGroupRenderer extends VegaSlimmer {
2021
2123
  return h("col", null);
2022
2124
  }
2023
2125
  }),
2024
- this.rowExpandable && h("col", { style: { minWidth: '40px', width: '40px' } }),
2126
+ this.hasExpandableRow && h("col", { style: { minWidth: '40px', width: '40px' } }),
2025
2127
  h("col", { style: { minWidth: this.paddingX[1], width: this.paddingX[1] } })));
2026
2128
  }
2027
2129
  }
2028
- __decorate$G([
2130
+ __decorate$I([
2029
2131
  MapToComponentField()
2030
2132
  ], VegaTableColGroupRenderer.prototype, "paddingX", void 0);
2031
- __decorate$G([
2133
+ __decorate$I([
2032
2134
  MapToComponentField()
2033
2135
  ], VegaTableColGroupRenderer.prototype, "columnStructureModel", void 0);
2034
- __decorate$G([
2136
+ __decorate$I([
2035
2137
  MapToComponentField()
2036
2138
  ], VegaTableColGroupRenderer.prototype, "columns", void 0);
2037
- __decorate$G([
2139
+ __decorate$I([
2038
2140
  MapToComponentField()
2039
- ], VegaTableColGroupRenderer.prototype, "rowExpandable", void 0);
2040
- __decorate$G([
2141
+ ], VegaTableColGroupRenderer.prototype, "hasExpandableRow", void 0);
2142
+ __decorate$I([
2143
+ MapToComponentField()
2144
+ ], VegaTableColGroupRenderer.prototype, "rowDraggable", void 0);
2145
+ __decorate$I([
2041
2146
  MapToComponentField()
2042
2147
  ], VegaTableColGroupRenderer.prototype, "vegaTableRowSelectionController", void 0);
2043
2148
 
2044
- var __decorate$F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2149
+ var __decorate$H = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2045
2150
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2046
2151
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2047
2152
  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;
@@ -2226,68 +2331,68 @@ class VegaTableChildrenController extends VegaSlimmer {
2226
2331
  }
2227
2332
  }
2228
2333
  }
2229
- __decorate$F([
2334
+ __decorate$H([
2230
2335
  MapToComponentField()
2231
2336
  ], VegaTableChildrenController.prototype, "host", void 0);
2232
- __decorate$F([
2337
+ __decorate$H([
2233
2338
  MapToComponentField()
2234
2339
  ], VegaTableChildrenController.prototype, "columns", void 0);
2235
- __decorate$F([
2340
+ __decorate$H([
2236
2341
  MapToComponentField()
2237
2342
  ], VegaTableChildrenController.prototype, "dataSource", void 0);
2238
- __decorate$F([
2343
+ __decorate$H([
2239
2344
  MapToComponentField()
2240
2345
  ], VegaTableChildrenController.prototype, "currentData", void 0);
2241
- __decorate$F([
2346
+ __decorate$H([
2242
2347
  MapToComponentField()
2243
2348
  ], VegaTableChildrenController.prototype, "rowSelection", void 0);
2244
- __decorate$F([
2349
+ __decorate$H([
2245
2350
  MapToComponentField()
2246
2351
  ], VegaTableChildrenController.prototype, "striped", void 0);
2247
- __decorate$F([
2352
+ __decorate$H([
2248
2353
  MapToComponentField()
2249
2354
  ], VegaTableChildrenController.prototype, "rowDivider", void 0);
2250
- __decorate$F([
2355
+ __decorate$H([
2251
2356
  MapToComponentField()
2252
2357
  ], VegaTableChildrenController.prototype, "vegaTableDataSourceController", void 0);
2253
- __decorate$F([
2358
+ __decorate$H([
2254
2359
  MapToComponentField()
2255
2360
  ], VegaTableChildrenController.prototype, "vegaTableRenderer", void 0);
2256
- __decorate$F([
2361
+ __decorate$H([
2257
2362
  MapToComponentField()
2258
2363
  ], VegaTableChildrenController.prototype, "isTemplateRenderMode", void 0);
2259
- __decorate$F([
2364
+ __decorate$H([
2260
2365
  InjectVegaSlimmer()
2261
2366
  ], VegaTableChildrenController.prototype, "currentDataObserver", void 0);
2262
- __decorate$F([
2367
+ __decorate$H([
2263
2368
  InjectVegaSlimmer()
2264
2369
  ], VegaTableChildrenController.prototype, "rowStripedObserver", void 0);
2265
- __decorate$F([
2370
+ __decorate$H([
2266
2371
  MapToComponentMethod('connectedCallback')
2267
2372
  ], VegaTableChildrenController.prototype, "connectedCallback", null);
2268
- __decorate$F([
2373
+ __decorate$H([
2269
2374
  MapToComponentMethod('disconnectedCallback')
2270
2375
  ], VegaTableChildrenController.prototype, "disconnectedCallback", null);
2271
- __decorate$F([
2376
+ __decorate$H([
2272
2377
  MapToComponentMethod('componentWillLoad')
2273
2378
  ], VegaTableChildrenController.prototype, "componentWillLoad", null);
2274
- __decorate$F([
2379
+ __decorate$H([
2275
2380
  MapToComponentMethod('componentDidLoad')
2276
2381
  ], VegaTableChildrenController.prototype, "componentDidLoad", null);
2277
- __decorate$F([
2382
+ __decorate$H([
2278
2383
  MapToComponentMethod('clearSelection')
2279
2384
  ], VegaTableChildrenController.prototype, "clearSelection", null);
2280
- __decorate$F([
2385
+ __decorate$H([
2281
2386
  MapToComponentMethod('watchCurrentData')
2282
2387
  ], VegaTableChildrenController.prototype, "watchCurrentData", null);
2283
- __decorate$F([
2388
+ __decorate$H([
2284
2389
  MapToComponentMethod('watchStriped')
2285
2390
  ], VegaTableChildrenController.prototype, "watchStriped", null);
2286
- __decorate$F([
2391
+ __decorate$H([
2287
2392
  MapToComponentMethod('watchRowDivider')
2288
2393
  ], VegaTableChildrenController.prototype, "watchRowDivider", null);
2289
2394
 
2290
- var __decorate$E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2395
+ var __decorate$G = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2291
2396
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2292
2397
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2293
2398
  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;
@@ -2317,26 +2422,26 @@ class VegaTableRowRenderer$1 extends VegaSlimmer {
2317
2422
  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));
2318
2423
  }
2319
2424
  }
2320
- __decorate$E([
2425
+ __decorate$G([
2321
2426
  MapToComponentField()
2322
2427
  ], VegaTableRowRenderer$1.prototype, "rowClickEventEmitter", void 0);
2323
- __decorate$E([
2428
+ __decorate$G([
2324
2429
  MapToComponentField()
2325
2430
  ], VegaTableRowRenderer$1.prototype, "vegaTableEditableController", void 0);
2326
- __decorate$E([
2431
+ __decorate$G([
2327
2432
  MapToComponentField()
2328
2433
  ], VegaTableRowRenderer$1.prototype, "vegaTableCellRenderer", void 0);
2329
- __decorate$E([
2434
+ __decorate$G([
2330
2435
  MapToComponentField()
2331
2436
  ], VegaTableRowRenderer$1.prototype, "striped", void 0);
2332
- __decorate$E([
2437
+ __decorate$G([
2333
2438
  MapToComponentField()
2334
2439
  ], VegaTableRowRenderer$1.prototype, "rowDivider", void 0);
2335
- __decorate$E([
2440
+ __decorate$G([
2336
2441
  MapToComponentField()
2337
2442
  ], VegaTableRowRenderer$1.prototype, "vegaTableRenderInputController", void 0);
2338
2443
 
2339
- var __decorate$D = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2444
+ var __decorate$F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2340
2445
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2341
2446
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2342
2447
  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;
@@ -2392,25 +2497,25 @@ class VegaTableRenderModeController extends VegaSlimmer {
2392
2497
  componentDidLoad() {
2393
2498
  }
2394
2499
  }
2395
- __decorate$D([
2500
+ __decorate$F([
2396
2501
  MapToComponentField()
2397
2502
  ], VegaTableRenderModeController.prototype, "host", void 0);
2398
- __decorate$D([
2503
+ __decorate$F([
2399
2504
  MapToComponentField({ writable: true })
2400
2505
  ], VegaTableRenderModeController.prototype, "isTemplateRenderMode", void 0);
2401
- __decorate$D([
2506
+ __decorate$F([
2402
2507
  InjectVegaSlimmer()
2403
2508
  ], VegaTableRenderModeController.prototype, "currentDataObserver", void 0);
2404
- __decorate$D([
2509
+ __decorate$F([
2405
2510
  MapToComponentMethod('connectedCallback')
2406
2511
  ], VegaTableRenderModeController.prototype, "connectedCallback", null);
2407
- __decorate$D([
2512
+ __decorate$F([
2408
2513
  MapToComponentMethod('disconnectedCallback')
2409
2514
  ], VegaTableRenderModeController.prototype, "disconnectedCallback", null);
2410
- __decorate$D([
2515
+ __decorate$F([
2411
2516
  MapToComponentMethod('componentWillLoad')
2412
2517
  ], VegaTableRenderModeController.prototype, "componentWillLoad", null);
2413
- __decorate$D([
2518
+ __decorate$F([
2414
2519
  MapToComponentMethod('componentDidLoad')
2415
2520
  ], VegaTableRenderModeController.prototype, "componentDidLoad", null);
2416
2521
 
@@ -2679,7 +2784,7 @@ class ColumnStructureModel {
2679
2784
  ColumnStructureModel.ROOT_LEVEL = -1;
2680
2785
  ColumnStructureModel.ROOT_KEY = '#root-model#';
2681
2786
 
2682
- var __decorate$C = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2787
+ var __decorate$E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2683
2788
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2684
2789
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2685
2790
  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;
@@ -2722,25 +2827,25 @@ class VegaTableColumnStructureModelController extends VegaSlimmer {
2722
2827
  this.columnStructureModel = ColumnStructureModel.from(this.columns, this.groupColumns);
2723
2828
  }
2724
2829
  }
2725
- __decorate$C([
2830
+ __decorate$E([
2726
2831
  MapToComponentField()
2727
2832
  ], VegaTableColumnStructureModelController.prototype, "host", void 0);
2728
- __decorate$C([
2833
+ __decorate$E([
2729
2834
  MapToComponentField()
2730
2835
  ], VegaTableColumnStructureModelController.prototype, "columns", void 0);
2731
- __decorate$C([
2836
+ __decorate$E([
2732
2837
  MapToComponentField()
2733
2838
  ], VegaTableColumnStructureModelController.prototype, "groupColumns", void 0);
2734
- __decorate$C([
2839
+ __decorate$E([
2735
2840
  MapToComponentField({ writable: true })
2736
2841
  ], VegaTableColumnStructureModelController.prototype, "columnStructureModel", void 0);
2737
- __decorate$C([
2842
+ __decorate$E([
2738
2843
  MapToComponentMethod('componentWillLoad')
2739
2844
  ], VegaTableColumnStructureModelController.prototype, "componentWillLoad", null);
2740
- __decorate$C([
2845
+ __decorate$E([
2741
2846
  MapToComponentMethod('watchColumns')
2742
2847
  ], VegaTableColumnStructureModelController.prototype, "watchColumns", null);
2743
- __decorate$C([
2848
+ __decorate$E([
2744
2849
  MapToComponentMethod('watchGroupColumns')
2745
2850
  ], VegaTableColumnStructureModelController.prototype, "watchGroupColumns", null);
2746
2851
 
@@ -2961,7 +3066,7 @@ class ColumnRenderInputModel {
2961
3066
  }
2962
3067
  }
2963
3068
 
2964
- var __decorate$B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3069
+ var __decorate$D = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
2965
3070
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
2966
3071
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
2967
3072
  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;
@@ -3124,32 +3229,32 @@ class VegaTableRenderInputController extends VegaSlimmer {
3124
3229
  this.leavesRenderInputModels = this.columnRenderInputModels.flatMap((model) => model.getLeaves());
3125
3230
  }
3126
3231
  }
3127
- __decorate$B([
3232
+ __decorate$D([
3128
3233
  MapToComponentField()
3129
3234
  ], VegaTableRenderInputController.prototype, "host", void 0);
3130
- __decorate$B([
3235
+ __decorate$D([
3131
3236
  MapToComponentField()
3132
3237
  ], VegaTableRenderInputController.prototype, "columnStructureModel", void 0);
3133
- __decorate$B([
3238
+ __decorate$D([
3134
3239
  MapToComponentField()
3135
3240
  ], VegaTableRenderInputController.prototype, "vegaTableColGroupRenderer", void 0);
3136
- __decorate$B([
3241
+ __decorate$D([
3137
3242
  MapToComponentMethod('connectedCallback')
3138
3243
  ], VegaTableRenderInputController.prototype, "connectedCallback", null);
3139
- __decorate$B([
3244
+ __decorate$D([
3140
3245
  MapToComponentMethod('disconnectedCallback')
3141
3246
  ], VegaTableRenderInputController.prototype, "disconnectedCallback", null);
3142
- __decorate$B([
3247
+ __decorate$D([
3143
3248
  MapToComponentMethod('componentWillLoad')
3144
3249
  ], VegaTableRenderInputController.prototype, "componentWillLoad", null);
3145
- __decorate$B([
3250
+ __decorate$D([
3146
3251
  MapToComponentMethod('componentDidRender')
3147
3252
  ], VegaTableRenderInputController.prototype, "componentDidRender", null);
3148
- __decorate$B([
3253
+ __decorate$D([
3149
3254
  MapToComponentMethod('watchColumnStructureModel')
3150
3255
  ], VegaTableRenderInputController.prototype, "watchColumnStructureModel", null);
3151
3256
 
3152
- var __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3257
+ var __decorate$C = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3153
3258
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3154
3259
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3155
3260
  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;
@@ -3216,11 +3321,14 @@ class VegaTablePinnedRenderer extends VegaSlimmer {
3216
3321
  const row = this.host.shadowRoot.querySelector('vega-table-head-row');
3217
3322
  const rowShadow = row.shadowRoot;
3218
3323
  const firstTh = rowShadow.querySelector('th:first-of-type');
3324
+ const draggableTh = rowShadow.querySelector('.vega-table-draggable-column');
3219
3325
  const selectionTh = rowShadow.querySelector('.vega-table-selection-column');
3220
3326
  const expandTh = rowShadow.querySelector('.vega-table-expand-action-column');
3221
3327
  const lastTh = rowShadow.querySelector('th:last-of-type');
3222
3328
  if (firstTh) {
3223
- const prevWidth = firstTh.getBoundingClientRect().width + ((selectionTh === null || selectionTh === void 0 ? void 0 : selectionTh.getBoundingClientRect().width) || 0);
3329
+ const prevWidth = firstTh.getBoundingClientRect().width +
3330
+ ((selectionTh === null || selectionTh === void 0 ? void 0 : selectionTh.getBoundingClientRect().width) || 0) +
3331
+ ((draggableTh === null || draggableTh === void 0 ? void 0 : draggableTh.getBoundingClientRect().width) || 0);
3224
3332
  const nextWidth = ((expandTh === null || expandTh === void 0 ? void 0 : expandTh.getBoundingClientRect().width) || 0) + lastTh.getBoundingClientRect().width;
3225
3333
  return [prevWidth, nextWidth];
3226
3334
  }
@@ -3279,8 +3387,11 @@ class VegaTablePinnedRenderer extends VegaSlimmer {
3279
3387
  if (hasLeftPinnedColumn) {
3280
3388
  const firstCell = rowShadow.querySelector('th:first-of-type, td:first-of-type');
3281
3389
  const selectionCell = rowShadow.querySelector('.vega-table-selection-column');
3390
+ const draggableCell = rowShadow.querySelector('.vega-table-draggable-column');
3282
3391
  this.updatePinnedPosition(firstCell, 'left', 0);
3283
- this.updatePinnedPosition(selectionCell, 'left', leftPadding);
3392
+ this.updatePinnedPosition(draggableCell, 'left', leftPadding);
3393
+ const draggableCellWidth = (draggableCell === null || draggableCell === void 0 ? void 0 : draggableCell.getBoundingClientRect().width) || 0;
3394
+ this.updatePinnedPosition(selectionCell, 'left', leftPadding + draggableCellWidth);
3284
3395
  }
3285
3396
  if (hasRightPinnedColumn) {
3286
3397
  const expandCell = rowShadow.querySelector('.vega-table-expand-action-column');
@@ -3288,65 +3399,699 @@ class VegaTablePinnedRenderer extends VegaSlimmer {
3288
3399
  this.updatePinnedPosition(expandCell, 'right', rightPadding);
3289
3400
  this.updatePinnedPosition(lastCell, 'right', 0);
3290
3401
  }
3291
- if (hasRightPinnedColumn || hasLeftPinnedColumn) {
3292
- const expandCell = rowShadow.querySelector('.vega-table-expanded-row-slot-container');
3293
- if (expandCell) {
3294
- const slotInnerContainer = expandCell.querySelector('.expanded-row-slot-inner');
3295
- this.updatePinnedPosition(slotInnerContainer, 'left', leftPadding);
3296
- // we should set the width to make the expand slot not scroll by table scroll.
3297
- // ticket: https://gethired.atlassian.net/browse/VD-7015
3298
- slotInnerContainer.style.width = `${expandContainerWidth}px`;
3299
- }
3402
+ if (hasRightPinnedColumn || hasLeftPinnedColumn) {
3403
+ const expandCell = rowShadow.querySelector('.vega-table-expanded-row-slot-container');
3404
+ if (expandCell) {
3405
+ const slotInnerContainer = expandCell.querySelector('.expanded-row-slot-inner');
3406
+ this.updatePinnedPosition(slotInnerContainer, 'left', leftPadding);
3407
+ // we should set the width to make the expand slot not scroll by table scroll.
3408
+ // ticket: https://gethired.atlassian.net/browse/VD-7015
3409
+ slotInnerContainer.style.width = `${expandContainerWidth}px`;
3410
+ }
3411
+ }
3412
+ });
3413
+ }
3414
+ clearAllPinnedPositions() {
3415
+ this.previouslyStyledCells.forEach((cell) => {
3416
+ cell.style.position = '';
3417
+ cell.style.zIndex = '';
3418
+ cell.style.left = '';
3419
+ cell.style.right = '';
3420
+ if (cell.classList.contains('expanded-row-slot-inner')) {
3421
+ cell.style.width = '';
3422
+ }
3423
+ });
3424
+ this.previouslyStyledCells.clear();
3425
+ }
3426
+ updatePinnedPosition(cell, type, position) {
3427
+ if (!cell)
3428
+ return;
3429
+ cell.style.position = 'sticky';
3430
+ cell.style.zIndex = '1';
3431
+ cell.style[type] = `${position}px`;
3432
+ this.previouslyStyledCells.add(cell);
3433
+ }
3434
+ }
3435
+ __decorate$C([
3436
+ MapToComponentField()
3437
+ ], VegaTablePinnedRenderer.prototype, "host", void 0);
3438
+ __decorate$C([
3439
+ MapToComponentField()
3440
+ ], VegaTablePinnedRenderer.prototype, "columnStructureModel", void 0);
3441
+ __decorate$C([
3442
+ MapToComponentField()
3443
+ ], VegaTablePinnedRenderer.prototype, "paddingX", void 0);
3444
+ __decorate$C([
3445
+ MapToComponentField()
3446
+ ], VegaTablePinnedRenderer.prototype, "vegaTableRenderInputController", void 0);
3447
+ __decorate$C([
3448
+ InjectVegaSlimmer()
3449
+ ], VegaTablePinnedRenderer.prototype, "pageResizeObserverSlimmer", void 0);
3450
+ __decorate$C([
3451
+ MapToComponentMethod('componentDidLoad')
3452
+ ], VegaTablePinnedRenderer.prototype, "componentDidLoad", null);
3453
+ __decorate$C([
3454
+ MapToComponentMethod('componentDidRender')
3455
+ ], VegaTablePinnedRenderer.prototype, "componentDidRender", null);
3456
+ __decorate$C([
3457
+ MapToComponentMethod('watchColumnStructureModel')
3458
+ ], VegaTablePinnedRenderer.prototype, "watchColumnStructureModel", null);
3459
+
3460
+ var __decorate$B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3461
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3462
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3463
+ 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;
3464
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3465
+ };
3466
+ /**
3467
+ * Makes the direct children of a container element sortable via pointer events.
3468
+ * This works across shadow DOM boundaries because pointer events are composed.
3469
+ */
3470
+ class DraggableElementSlimmer extends VegaSlimmer {
3471
+ constructor(entry) {
3472
+ super();
3473
+ this.activePointerId = null;
3474
+ this.activeItem = null;
3475
+ this.isDragging = false;
3476
+ this.startX = 0;
3477
+ this.startY = 0;
3478
+ this.dragFromIndex = null;
3479
+ this.dragToIndex = null;
3480
+ this.currentOverItem = null;
3481
+ this.currentOverIndex = null;
3482
+ this.activeItemHeight = 0;
3483
+ this.cachedItems = [];
3484
+ this.cachedItemDraggableMap = new WeakMap();
3485
+ /**
3486
+ * Handles the `pointerdown` event. Validates that the event originated from the trigger element
3487
+ * and initiates a drag session for the matched item.
3488
+ *
3489
+ * @param {PointerEvent} e - The pointer event fired on the container.
3490
+ */
3491
+ this.onPointerDown = (e) => {
3492
+ // check left mouse button only
3493
+ if (e.button !== 0)
3494
+ return;
3495
+ const item = this.getItemFromComposedPath(e, true);
3496
+ if (item) {
3497
+ this.startDrag(item, e);
3498
+ e.preventDefault();
3499
+ }
3500
+ };
3501
+ /**
3502
+ * Handles the `pointermove` event. Once the drag threshold is crossed, updates the dragged
3503
+ * element's visual position and recalculates the current drop target.
3504
+ *
3505
+ * @param {PointerEvent} e - The pointer event fired on the window.
3506
+ */
3507
+ this.onPointerMove = (e) => {
3508
+ if (!this.isCurrentPointEvent(e) || !this.hasCrossedDragThreshold(e))
3509
+ return;
3510
+ this.beginDragging();
3511
+ this.syncActiveVisual(e);
3512
+ this.updateDropTarget(e);
3513
+ this.emitDrag();
3514
+ e.preventDefault();
3515
+ };
3516
+ /**
3517
+ * Handles the `pointerup` event. Finalizes the drag and fires the reorder callback
3518
+ * if the item was released at a different position.
3519
+ *
3520
+ * @param {PointerEvent} e - The pointer event fired on the window.
3521
+ */
3522
+ this.onPointerUp = (e) => {
3523
+ if (!this.isCurrentPointEvent(e))
3524
+ return;
3525
+ this.finishDrag();
3526
+ };
3527
+ /**
3528
+ * Handles the `pointercancel` event. Aborts the active drag session and restores all
3529
+ * inline styles to their pre-drag state. Only responds to the active pointer.
3530
+ *
3531
+ * @param {PointerEvent} e - The pointer event fired on the window.
3532
+ */
3533
+ this.onPointerCancel = (e) => {
3534
+ if (e.pointerId === this.activePointerId)
3535
+ this.resetDragState();
3536
+ };
3537
+ this.entry = entry;
3538
+ }
3539
+ /**
3540
+ * Re-registers pointer event listeners when the host component is re-attached to the DOM after a prior disconnection.
3541
+ */
3542
+ connectedCallback() {
3543
+ this.init();
3544
+ }
3545
+ /**
3546
+ * Removes all pointer event listeners and clears drag state when the host component is detached from the DOM.
3547
+ */
3548
+ disconnectedCallback() {
3549
+ this.destroy();
3550
+ }
3551
+ /**
3552
+ * Registers pointer event listeners once the host component has finished its initial render.
3553
+ */
3554
+ componentDidLoad() {
3555
+ this.init();
3556
+ }
3557
+ /**
3558
+ * Updates the slimmer's draggable state in response to changes in the host component's `rowDraggable` property.
3559
+ */
3560
+ watchIsDraggable() {
3561
+ this.isDraggable ? this.init() : this.destroy();
3562
+ }
3563
+ /**
3564
+ * Initializes the slimmer by attaching pointer event listeners if `isDraggable` is true.
3565
+ */
3566
+ init() {
3567
+ this.isDraggable && this.listenPointerEvents();
3568
+ }
3569
+ /**
3570
+ * Cleans up the slimmer by removing pointer event listeners and resetting all drag state.
3571
+ */
3572
+ destroy() {
3573
+ this.removePointerListeners();
3574
+ this.resetDragState();
3575
+ }
3576
+ /**
3577
+ * Attaches `pointerdown` on the container and `pointermove` / `pointerup` / `pointercancel` on the window.
3578
+ */
3579
+ listenPointerEvents() {
3580
+ const container = this.getContainer();
3581
+ if (container) {
3582
+ container.addEventListener('pointerdown', this.onPointerDown);
3583
+ window.addEventListener('pointermove', this.onPointerMove);
3584
+ window.addEventListener('pointerup', this.onPointerUp);
3585
+ window.addEventListener('pointercancel', this.onPointerCancel);
3586
+ }
3587
+ }
3588
+ /**
3589
+ * Removes all pointer event listeners that were registered by {@link listenPointerEvents}.
3590
+ */
3591
+ removePointerListeners() {
3592
+ const container = this.getContainer();
3593
+ if (container)
3594
+ container.removeEventListener('pointerdown', this.onPointerDown);
3595
+ window.removeEventListener('pointermove', this.onPointerMove);
3596
+ window.removeEventListener('pointerup', this.onPointerUp);
3597
+ window.removeEventListener('pointercancel', this.onPointerCancel);
3598
+ }
3599
+ /**
3600
+ * Initializes all drag state for the given item. Caches the current item list,
3601
+ * records the pointer origin, and captures the item height used for sibling offset calculations.
3602
+ *
3603
+ * @param {HTMLElement} item - The draggable item element that was grabbed.
3604
+ * @param {PointerEvent} e - The originating `pointerdown` event.
3605
+ */
3606
+ startDrag(item, e) {
3607
+ this.activePointerId = e.pointerId;
3608
+ this.activeItem = item;
3609
+ this.isDragging = false;
3610
+ this.startX = e.clientX;
3611
+ this.startY = e.clientY;
3612
+ this.cacheItems();
3613
+ this.dragFromIndex = this.getItems().indexOf(item);
3614
+ this.dragToIndex = this.dragFromIndex;
3615
+ this.currentOverItem = item;
3616
+ this.currentOverIndex = this.dragFromIndex;
3617
+ this.activeItemHeight = this.getVisualElement(item).getBoundingClientRect().height;
3618
+ }
3619
+ /**
3620
+ * Marks the interaction as an active drag after threshold crossing.
3621
+ */
3622
+ beginDragging() {
3623
+ if (this.isDragging || this.dragFromIndex === null || !this.activeItem)
3624
+ return;
3625
+ this.isDragging = true;
3626
+ this.onDragDrop('start');
3627
+ }
3628
+ /**
3629
+ * Translates the dragged item's visual element to follow the pointer and lifts it
3630
+ * above sibling items by applying `zIndex` and disabling its pointer events.
3631
+ *
3632
+ * @param {PointerEvent} e - The current `pointermove` event.
3633
+ */
3634
+ syncActiveVisual(e) {
3635
+ if (!this.activeItem)
3636
+ return;
3637
+ const visualElement = this.getVisualElement(this.activeItem);
3638
+ const moveY = e.clientY - this.startY;
3639
+ visualElement.style.transform = `translateY(${moveY}px)`;
3640
+ visualElement.style.position = 'relative';
3641
+ visualElement.style.pointerEvents = 'none';
3642
+ visualElement.style.boxShadow = '0 4px 8px rgba(0, 0, 0, 0.15)';
3643
+ InternalVegaZIndexManager.setZIndex(visualElement, 'top');
3644
+ }
3645
+ /**
3646
+ * Resolves the item currently under the pointer and updates `dragToIndex`,
3647
+ * then applies slot-shift transforms to all sibling items.
3648
+ *
3649
+ * @param {PointerEvent} e - The current `pointermove` event.
3650
+ */
3651
+ updateDropTarget(e) {
3652
+ if (this.dragFromIndex === null || !this.activeItem)
3653
+ return;
3654
+ const overItem = this.getItemFromComposedPath(e, false);
3655
+ if (!overItem) {
3656
+ this.emitDragLeave(this.currentOverIndex, this.currentOverItem);
3657
+ this.currentOverItem = null;
3658
+ this.currentOverIndex = null;
3659
+ return;
3660
+ }
3661
+ const overIndex = this.getItemIndex(overItem);
3662
+ const resolvedDropIndex = this.getResolvedDropIndex(overItem, e.clientY);
3663
+ if (this.currentOverItem !== overItem) {
3664
+ this.emitDragLeave(this.currentOverIndex, this.currentOverItem);
3665
+ this.currentOverItem = overItem;
3666
+ this.currentOverIndex = overIndex;
3667
+ this.onDragDrop('enter');
3668
+ }
3669
+ else {
3670
+ this.currentOverIndex = overIndex;
3671
+ }
3672
+ this.dragToIndex = resolvedDropIndex;
3673
+ this.onDragDrop('over');
3674
+ this.applyLayoutTransforms();
3675
+ }
3676
+ /**
3677
+ * Completes the drag session. Captures the final `fromIndex` and `toIndex` before
3678
+ * resetting state, then fires `onReorder` if the item was moved to a new position.
3679
+ */
3680
+ finishDrag() {
3681
+ var _a, _b, _c;
3682
+ const fromIndex = this.dragFromIndex;
3683
+ const toIndex = this.dragToIndex;
3684
+ const shouldReorder = this.isDragging && fromIndex != null && fromIndex !== toIndex;
3685
+ const fromItem = fromIndex != null ? (_a = this.getItems().at(fromIndex)) !== null && _a !== void 0 ? _a : null : null;
3686
+ const toItem = this.currentOverItem;
3687
+ if (this.isDragging && fromIndex != null && fromItem) {
3688
+ this.onDragDrop('drop');
3689
+ }
3690
+ this.resetDragState();
3691
+ if (shouldReorder && fromIndex != null && fromItem) {
3692
+ (_c = (_b = this.entry).onDragDrop) === null || _c === void 0 ? void 0 : _c.call(_b, {
3693
+ status: 'end',
3694
+ options: {
3695
+ fromIndex,
3696
+ fromItem,
3697
+ toIndex,
3698
+ toItem,
3699
+ },
3700
+ });
3701
+ }
3702
+ }
3703
+ /**
3704
+ * Clears all inline drag styles applied to cached items and resets every
3705
+ * drag-related state field to its initial value.
3706
+ */
3707
+ resetDragState() {
3708
+ // Restore inline styles for all cached items.
3709
+ this.cachedItems.forEach((item) => {
3710
+ const cachedItem = this.cachedItemDraggableMap.get(item);
3711
+ if (!cachedItem)
3712
+ return;
3713
+ const { visualElement, inlineStyle } = cachedItem;
3714
+ if (inlineStyle == null) {
3715
+ visualElement.removeAttribute('style');
3716
+ }
3717
+ else {
3718
+ visualElement.setAttribute('style', inlineStyle);
3300
3719
  }
3301
3720
  });
3721
+ // Clear any zIndex overrides from the active item.
3722
+ if (this.activeItem) {
3723
+ const activeVisualElement = this.getVisualElement(this.activeItem);
3724
+ InternalVegaZIndexManager.removeZIndex(activeVisualElement, 'top');
3725
+ }
3726
+ // Reset all drag state fields.
3727
+ this.activePointerId = null;
3728
+ this.activeItem = null;
3729
+ this.isDragging = false;
3730
+ this.dragFromIndex = null;
3731
+ this.dragToIndex = null;
3732
+ this.currentOverItem = null;
3733
+ this.currentOverIndex = null;
3734
+ this.activeItemHeight = 0;
3735
+ this.cachedItemDraggableMap = new WeakMap();
3736
+ this.cachedItems = [];
3302
3737
  }
3303
- clearAllPinnedPositions() {
3304
- this.previouslyStyledCells.forEach((cell) => {
3305
- cell.style.position = '';
3306
- cell.style.zIndex = '';
3307
- cell.style.left = '';
3308
- cell.style.right = '';
3309
- if (cell.classList.contains('expanded-row-slot-inner')) {
3310
- cell.style.width = '';
3738
+ /**
3739
+ * Invokes the container factory function to retrieve the current container element.
3740
+ *
3741
+ * @returns {Nullable<HTMLElement>} The resolved container element, or `null` if the factory throws.
3742
+ */
3743
+ getContainer() {
3744
+ return this.entry.container();
3745
+ }
3746
+ /**
3747
+ * Performs a live DOM query for all elements matching `itemSelector` within the container.
3748
+ *
3749
+ * @returns {HTMLElement[]} An array of matched item elements, or an empty array if the container is unavailable.
3750
+ */
3751
+ queryItems() {
3752
+ const container = this.getContainer();
3753
+ if (!container)
3754
+ return [];
3755
+ return Array.from(container.querySelectorAll(this.entry.itemSelector));
3756
+ }
3757
+ /**
3758
+ * Returns the cached item list during an active drag session.
3759
+ * Falls back to a live DOM query when no drag is in progress.
3760
+ *
3761
+ * @returns {HTMLElement[]} The current list of draggable item elements.
3762
+ */
3763
+ getItems() {
3764
+ return this.cachedItems.length > 0 ? this.cachedItems : this.queryItems();
3765
+ }
3766
+ /**
3767
+ * Returns the zero-based index of the given element within the current item list.
3768
+ *
3769
+ * @param {HTMLElement} target - The element to locate.
3770
+ * @returns {number} The index of the element, or `-1` if it is not found.
3771
+ */
3772
+ getItemIndex(target) {
3773
+ return this.getItems().indexOf(target);
3774
+ }
3775
+ /**
3776
+ * Resolves the element that should receive drag-related inline styles for a given item.
3777
+ * Checks the item's shadow root first, then its light DOM children, then falls back to the item itself.
3778
+ *
3779
+ * @param {HTMLElement} item - The draggable item element.
3780
+ * @returns {HTMLElement} The visual target element for style application.
3781
+ */
3782
+ getVisualElement(item) {
3783
+ const cachedItem = this.cachedItemDraggableMap.get(item);
3784
+ if (cachedItem)
3785
+ return cachedItem.visualElement;
3786
+ return this.resolveVisualElement(item);
3787
+ }
3788
+ /**
3789
+ * Resolves the element that should receive drag-related inline styles for a given item.
3790
+ * Checks the item's shadow root first, then its light DOM children, then falls back to the item itself.
3791
+ *
3792
+ * @param {HTMLElement} item - The draggable item element.
3793
+ * @returns {HTMLElement} The visual target element for style application.
3794
+ */
3795
+ resolveVisualElement(item) {
3796
+ var _a, _b;
3797
+ const visualElementSelector = this.entry.visualElementSelector;
3798
+ if (!visualElementSelector)
3799
+ return item;
3800
+ const shadowElement = (_a = item.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector(visualElementSelector);
3801
+ if (shadowElement)
3802
+ return shadowElement;
3803
+ return (_b = item.querySelector(visualElementSelector)) !== null && _b !== void 0 ? _b : item;
3804
+ }
3805
+ /**
3806
+ * Caches each draggable item using the item as the map key and stores its resolved visual element
3807
+ * together with the visual element's original inline style for precise restoration after dragging.
3808
+ */
3809
+ cacheItems() {
3810
+ this.cachedItemDraggableMap = new WeakMap();
3811
+ this.cachedItems = this.queryItems();
3812
+ this.cachedItems.forEach((cachedItem) => {
3813
+ const visualElement = this.resolveVisualElement(cachedItem);
3814
+ this.cachedItemDraggableMap.set(cachedItem, {
3815
+ visualElement,
3816
+ inlineStyle: visualElement.getAttribute('style'),
3817
+ });
3818
+ });
3819
+ }
3820
+ /**
3821
+ * Walks the event's composed path to find the matching item element.
3822
+ * When `requireTriggerMatch` is `true`, also verifies that the event originated
3823
+ * inside the configured trigger element; returns `null` if either condition fails.
3824
+ *
3825
+ * @param {Event} e - The event whose composed path is inspected.
3826
+ * @param {boolean} requireTriggerMatch - When `true`, the item is only returned if the trigger element was also matched.
3827
+ * @returns {Nullable<HTMLElement>} The matched item element, or `null` if not found or trigger requirement not met.
3828
+ */
3829
+ getItemFromComposedPath(e, requireTriggerMatch = false) {
3830
+ const itemSelector = this.entry.itemSelector;
3831
+ const triggerElementSelector = this.entry.triggerElementSelector;
3832
+ let matchedItem = null;
3833
+ let matchedTrigger = !triggerElementSelector;
3834
+ for (const node of e.composedPath()) {
3835
+ if (!(node instanceof HTMLElement))
3836
+ continue;
3837
+ if (!matchedItem && node.matches(itemSelector)) {
3838
+ matchedItem = node;
3311
3839
  }
3840
+ if (!matchedTrigger && triggerElementSelector && node.matches(triggerElementSelector)) {
3841
+ matchedTrigger = true;
3842
+ }
3843
+ if (matchedItem && matchedTrigger)
3844
+ break;
3845
+ }
3846
+ return !matchedItem || (requireTriggerMatch && !matchedTrigger) ? null : matchedItem;
3847
+ }
3848
+ /**
3849
+ * Translates sibling items up or down to visually make space for the dragged item at its current drop target.
3850
+ * Items within the affected index range shift by one item height; all others are reset to their natural position.
3851
+ */
3852
+ applyLayoutTransforms() {
3853
+ if (this.dragFromIndex == null || this.dragToIndex == null || this.activeItemHeight === 0)
3854
+ return;
3855
+ const fromIndex = this.dragFromIndex;
3856
+ const toIndex = this.dragToIndex;
3857
+ const offsetY = fromIndex < toIndex ? -this.activeItemHeight : this.activeItemHeight;
3858
+ this.getItems().forEach((item, index) => {
3859
+ if (item === this.activeItem)
3860
+ return;
3861
+ const visualElement = this.getVisualElement(item);
3862
+ const isInRange = fromIndex < toIndex
3863
+ ? index > fromIndex && index <= toIndex
3864
+ : index >= toIndex && index < fromIndex;
3865
+ visualElement.style.transform = isInRange ? `translateY(${offsetY}px)` : '';
3312
3866
  });
3313
- this.previouslyStyledCells.clear();
3314
3867
  }
3315
- updatePinnedPosition(cell, type, position) {
3316
- if (!cell)
3868
+ /**
3869
+ * Calculates the resolved drop index based on whether the pointer is above or below
3870
+ * the midpoint of the hovered item. The slot only switches after crossing the 50% mark,
3871
+ * preventing index jitter at slot boundaries.
3872
+ *
3873
+ * @param {HTMLElement} overItem - The item element currently under the pointer.
3874
+ * @param {number} pointerClientY - The vertical client coordinate of the pointer.
3875
+ * @returns {number} The resolved zero-based index where the dragged item would be inserted.
3876
+ */
3877
+ getResolvedDropIndex(overItem, pointerClientY) {
3878
+ const overIndex = this.getItemIndex(overItem);
3879
+ const dragFromIndex = this.dragFromIndex;
3880
+ if (overIndex < 0 || dragFromIndex == null)
3881
+ return overIndex;
3882
+ if (overIndex === dragFromIndex)
3883
+ return overIndex;
3884
+ const overRect = this.getVisualElement(overItem).getBoundingClientRect();
3885
+ const isAfterMidpoint = pointerClientY > overRect.top + overRect.height / 2;
3886
+ return overIndex > dragFromIndex
3887
+ ? isAfterMidpoint
3888
+ ? overIndex
3889
+ : overIndex - 1
3890
+ : isAfterMidpoint
3891
+ ? overIndex + 1
3892
+ : overIndex;
3893
+ }
3894
+ /**
3895
+ * Checks whether the given pointer event belongs to the pointer that started the current drag session.
3896
+ *
3897
+ * @param {PointerEvent} e - The pointer event to test.
3898
+ * @returns {boolean} `true` if the event's `pointerId` matches the active drag pointer.
3899
+ */
3900
+ isCurrentPointEvent(e) {
3901
+ return this.activePointerId !== null && this.activePointerId === e.pointerId;
3902
+ }
3903
+ /**
3904
+ * Checks whether the pointer has moved at least `DRAG_THRESHOLD` pixels (combined X + Y delta)
3905
+ * from its origin, or whether a drag is already in progress.
3906
+ *
3907
+ * @param {PointerEvent} e - The current `pointermove` event.
3908
+ * @returns {boolean} `true` if the drag threshold has been crossed or dragging is already active.
3909
+ */
3910
+ hasCrossedDragThreshold(e) {
3911
+ if (this.isDragging)
3912
+ return true;
3913
+ const deltaX = Math.abs(e.clientX - this.startX);
3914
+ const deltaY = Math.abs(e.clientY - this.startY);
3915
+ return deltaX + deltaY >= DraggableElementSlimmer.DRAG_THRESHOLD;
3916
+ }
3917
+ /**
3918
+ * Emits the drag lifecycle callback while the pointer is moving.
3919
+ */
3920
+ emitDrag() {
3921
+ if (this.dragFromIndex === null || !this.activeItem)
3317
3922
  return;
3318
- cell.style.position = 'sticky';
3319
- cell.style.zIndex = '1';
3320
- cell.style[type] = `${position}px`;
3321
- this.previouslyStyledCells.add(cell);
3923
+ this.onDragDrop('drag');
3924
+ }
3925
+ /**
3926
+ * Emits a drag-leave lifecycle callback when the pointer exits a hovered item.
3927
+ *
3928
+ * @param {Nullable<number>} toIndex - Index of the item being left.
3929
+ * @param {Nullable<HTMLElement>} toItem - Item element being left.
3930
+ */
3931
+ emitDragLeave(toIndex, toItem) {
3932
+ if (toIndex === null || !toItem)
3933
+ return;
3934
+ this.onDragDrop('leave');
3935
+ }
3936
+ /**
3937
+ * Emits a drag lifecycle payload to consumers.
3938
+ *
3939
+ * @param {DragDropEventStatus} status - Current lifecycle phase.
3940
+ */
3941
+ onDragDrop(status) {
3942
+ var _a, _b;
3943
+ if (this.dragFromIndex == null || !this.activeItem)
3944
+ return;
3945
+ (_b = (_a = this.entry).onDragDrop) === null || _b === void 0 ? void 0 : _b.call(_a, {
3946
+ status,
3947
+ options: {
3948
+ fromIndex: this.dragFromIndex,
3949
+ fromItem: this.activeItem,
3950
+ toIndex: this.dragToIndex,
3951
+ toItem: this.currentOverItem,
3952
+ },
3953
+ });
3954
+ }
3955
+ }
3956
+ DraggableElementSlimmer.DRAG_THRESHOLD = 4;
3957
+ __decorate$B([
3958
+ MapToComponentMethod('connectedCallback')
3959
+ ], DraggableElementSlimmer.prototype, "connectedCallback", null);
3960
+ __decorate$B([
3961
+ MapToComponentMethod('disconnectedCallback')
3962
+ ], DraggableElementSlimmer.prototype, "disconnectedCallback", null);
3963
+ __decorate$B([
3964
+ MapToComponentMethod('componentDidLoad')
3965
+ ], DraggableElementSlimmer.prototype, "componentDidLoad", null);
3966
+
3967
+ var __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3968
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3969
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
3970
+ 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;
3971
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
3972
+ };
3973
+ /**
3974
+ * The row draggable controller for the vega-table
3975
+ */
3976
+ class VegaTableRowDraggableController extends VegaSlimmer {
3977
+ constructor() {
3978
+ super(...arguments);
3979
+ this.draggableElementSlimmer = createDynamicSlimmer(VegaTableRowDraggableController, DraggableElementSlimmer, [{ mapFrom: 'rowDraggable', mapTo: 'isDraggable' }], [{ mapFrom: 'watchRowDraggable', mapTo: 'watchIsDraggable' }], [
3980
+ {
3981
+ container: this.getDragContainer.bind(this),
3982
+ itemSelector: 'vega-table-row',
3983
+ triggerElementSelector: 'td.vega-table-draggable-column',
3984
+ visualElementSelector: 'tr.vega-table-row',
3985
+ onDragDrop: this.onDragDrop.bind(this),
3986
+ },
3987
+ ]);
3988
+ }
3989
+ /**
3990
+ * Component lifecycle - [connectedCallback]{@link VegaPopover.connectedCallback}
3991
+ */
3992
+ connectedCallback() {
3993
+ }
3994
+ /**
3995
+ * Component lifecycle - [disconnectedCallback]{@link VegaPopover.disconnectedCallback}
3996
+ */
3997
+ disconnectedCallback() {
3998
+ }
3999
+ /**
4000
+ * Component lifecycle - [componentDidLoad]{@link VegaPopover.componentDidLoad}
4001
+ */
4002
+ componentDidLoad() {
4003
+ }
4004
+ /**
4005
+ * Watches for changes to the rowDraggable property and initializes or destroys the DraggableElement instance accordingly.
4006
+ * If rowDraggable is true, it calls setRowDraggableElement to initialize the instance;
4007
+ * if false, it calls destroyRowDraggableElement to clean up.
4008
+ */
4009
+ watchRowDraggable() {
4010
+ }
4011
+ /**
4012
+ * Resolve the draggable container for current render mode.
4013
+ *
4014
+ * @returns {Nullable<HTMLElement>} The table body container used by drag behavior.
4015
+ */
4016
+ getDragContainer() {
4017
+ return this.isTemplateRenderMode
4018
+ ? this.host.querySelector('vega-table-body')
4019
+ : this.vegaTableBodyRenderer.getTableBodyRef();
4020
+ }
4021
+ /**
4022
+ * Handles the drag and drop event emitted by the DraggableElement instance, re-emitting it through the rowDragDropEventEmitter with additional details.
4023
+ *
4024
+ * @param {DragDropEventPayload} payload - An object containing payload about the drag event.
4025
+ */
4026
+ onDragDrop(payload) {
4027
+ const event = this.rowDragDropEventEmitter.emit(payload);
4028
+ if (!event.defaultPrevented) {
4029
+ payload.status === 'end' && this.onDragEnd(payload);
4030
+ }
4031
+ }
4032
+ /**
4033
+ * Handles the logic for reordering rows in the table when a drag and drop action is completed.
4034
+ *
4035
+ * @param {DragDropEventPayload} payload - An object containing details about the completed drag event, including fromIndex and toIndex.
4036
+ */
4037
+ onDragEnd(payload) {
4038
+ const fromIndex = payload.options.fromIndex;
4039
+ const toIndex = payload.options.toIndex;
4040
+ this.vegaTableSortController.clearSorter();
4041
+ if (this.isTemplateRenderMode) {
4042
+ const rows = Array.from(this.host.querySelectorAll('vega-table-row'));
4043
+ const container = this.host.querySelector('vega-table-body');
4044
+ fromIndex > toIndex
4045
+ ? container.insertBefore(rows[fromIndex], rows[toIndex])
4046
+ : container.insertBefore(rows[fromIndex], rows[toIndex].nextSibling);
4047
+ }
4048
+ else {
4049
+ const rows = this.vegaTableDataSourceController.getCurrentData();
4050
+ const copiedRows = [...rows];
4051
+ const [moved] = copiedRows.splice(fromIndex, 1);
4052
+ copiedRows.splice(toIndex, 0, moved);
4053
+ this.vegaTableDataSourceController.setCurrentData(copiedRows);
4054
+ }
3322
4055
  }
3323
4056
  }
3324
4057
  __decorate$A([
3325
4058
  MapToComponentField()
3326
- ], VegaTablePinnedRenderer.prototype, "host", void 0);
4059
+ ], VegaTableRowDraggableController.prototype, "rowDraggable", void 0);
3327
4060
  __decorate$A([
3328
4061
  MapToComponentField()
3329
- ], VegaTablePinnedRenderer.prototype, "columnStructureModel", void 0);
4062
+ ], VegaTableRowDraggableController.prototype, "host", void 0);
3330
4063
  __decorate$A([
3331
4064
  MapToComponentField()
3332
- ], VegaTablePinnedRenderer.prototype, "paddingX", void 0);
4065
+ ], VegaTableRowDraggableController.prototype, "vegaTableDataSourceController", void 0);
3333
4066
  __decorate$A([
3334
4067
  MapToComponentField()
3335
- ], VegaTablePinnedRenderer.prototype, "vegaTableRenderInputController", void 0);
4068
+ ], VegaTableRowDraggableController.prototype, "isTemplateRenderMode", void 0);
4069
+ __decorate$A([
4070
+ MapToComponentField()
4071
+ ], VegaTableRowDraggableController.prototype, "vegaTableBodyRenderer", void 0);
4072
+ __decorate$A([
4073
+ MapToComponentField()
4074
+ ], VegaTableRowDraggableController.prototype, "vegaTableSortController", void 0);
4075
+ __decorate$A([
4076
+ MapToComponentField()
4077
+ ], VegaTableRowDraggableController.prototype, "rowDragDropEventEmitter", void 0);
3336
4078
  __decorate$A([
3337
4079
  InjectVegaSlimmer()
3338
- ], VegaTablePinnedRenderer.prototype, "pageResizeObserverSlimmer", void 0);
4080
+ ], VegaTableRowDraggableController.prototype, "draggableElementSlimmer", void 0);
3339
4081
  __decorate$A([
3340
- MapToComponentMethod('componentDidLoad')
3341
- ], VegaTablePinnedRenderer.prototype, "componentDidLoad", null);
4082
+ MapToComponentMethod('connectedCallback')
4083
+ ], VegaTableRowDraggableController.prototype, "connectedCallback", null);
3342
4084
  __decorate$A([
3343
- MapToComponentMethod('componentDidRender')
3344
- ], VegaTablePinnedRenderer.prototype, "componentDidRender", null);
4085
+ MapToComponentMethod('disconnectedCallback')
4086
+ ], VegaTableRowDraggableController.prototype, "disconnectedCallback", null);
3345
4087
  __decorate$A([
3346
- MapToComponentMethod('watchColumnStructureModel')
3347
- ], VegaTablePinnedRenderer.prototype, "watchColumnStructureModel", null);
4088
+ MapToComponentMethod('componentDidLoad')
4089
+ ], VegaTableRowDraggableController.prototype, "componentDidLoad", null);
4090
+ __decorate$A([
4091
+ MapToComponentMethod('watchRowDraggable')
4092
+ ], VegaTableRowDraggableController.prototype, "watchRowDraggable", null);
3348
4093
 
3349
- 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,.vega-table-scrollable-container.scrolled ::slotted(vega-table-head.fixed-header){box-shadow:0px 4px 0px rgba(0, 0, 0, 0.1);}.vega-table-scrollable-container.scrolled vega-table-foot.fixed-footer::after,.vega-table-scrollable-container.scrolled ::slotted(vega-table-foot.fixed-footer)::after{content:\"\";position:absolute;top:0;left:0;width:100%;height:1px;background-color:rgba(var(--v-bg-divider, 171, 198, 216, 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}";
4094
+ 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,.vega-table-scrollable-container.scrolled ::slotted(vega-table-head.fixed-header){box-shadow:0px 4px 0px rgba(0, 0, 0, 0.1);}.vega-table-scrollable-container.scrolled vega-table-foot.fixed-footer::after,.vega-table-scrollable-container.scrolled ::slotted(vega-table-foot.fixed-footer)::after{content:\"\";position:absolute;top:0;left:0;width:100%;height:1px;background-color:rgba(var(--v-bg-divider, 171, 198, 216, 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}.draggable-col{min-width:16px;width:16px}";
3350
4095
 
3351
4096
  var __decorate$z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
3352
4097
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -3375,6 +4120,8 @@ const VegaTable = class {
3375
4120
  this.rowSelect = createEvent(this, "rowSelect", 7);
3376
4121
  this.vegaRowSelectAll = createEvent(this, "vegaRowSelectAll", 7);
3377
4122
  this.rowSelectAll = createEvent(this, "rowSelectAll", 7);
4123
+ this.vegaRowDragDrop = createEvent(this, "vegaRowDragDrop", 7);
4124
+ this.rowDragDrop = createEvent(this, "rowDragDrop", 7);
3378
4125
  this.globalSlimmers = {};
3379
4126
  this.translationSlimmer = new TranslationSlimmer();
3380
4127
  this.vegaTableRenderModeController = new VegaTableRenderModeController();
@@ -3388,7 +4135,6 @@ const VegaTable = class {
3388
4135
  this.vegaTableCellRenderer = new VegaTableCellRenderer();
3389
4136
  this.vegaTablePaginationRenderer = new VegaTablePaginationRenderer();
3390
4137
  this.vegaTableScrollContainerRenderer = new VegaTableScrollContainerRenderer();
3391
- this.vegaTableExpandRowController = new VegaTableExpandRowController();
3392
4138
  this.vegaTableRowSelectionController = new VegaTableRowSelectionController$1();
3393
4139
  this.vegaTableDataSourceController = new VegaTableDataSourceController();
3394
4140
  this.vegaTablePaginationController = new VegaTablePaginationController();
@@ -3396,13 +4142,20 @@ const VegaTable = class {
3396
4142
  this.vegaTableSortController = new VegaTableSortController();
3397
4143
  this.vegaTableColGroupRenderer = new VegaTableColGroupRenderer();
3398
4144
  this.vegaTableChildrenController = new VegaTableChildrenController();
4145
+ this.vegaTableRowDraggableController = new VegaTableRowDraggableController();
4146
+ /**
4147
+ * vegaTableExpandRowController should be injected after childrenController and VegaTableDataSourceController,
4148
+ * because it needs to wait for sync currentData to set expandableRows.
4149
+ */
4150
+ this.vegaTableExpandRowController = new VegaTableExpandRowController();
3399
4151
  /**
3400
4152
  * The below method is e2e-test covered in
3401
4153
  * @see{module:should-render-responsive-columns-with-expandable-row-and-current-breakpoint-is-smaller-than-S}
3402
4154
  */
3403
4155
  this.pageResizeObserverSlimmer = new PageResizeObserverSlimmer();
3404
4156
  this.rowSelectionNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'rowSelection', 'watchRowSelection');
3405
- this.rowExpandableNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'rowExpandable', 'watchRowExpandable');
4157
+ this.expandableRowsNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'expandableRows', 'watchExpandableRows');
4158
+ this.hasExpandableRowNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'hasExpandableRow', 'watchHasExpandableRow');
3406
4159
  this.paddingXNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'paddingX', 'watchPaddingX');
3407
4160
  this.rowClickableNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'rowClickable', 'watchRowClickable');
3408
4161
  this.scrollConfigNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'scrollConfig', 'watchScrollConfig');
@@ -3412,11 +4165,13 @@ const VegaTable = class {
3412
4165
  this.selectAllChangeEventEmitter = createEventEmitSlimmer(VegaTable, VegaSelectAllChange);
3413
4166
  this.rowClickEventEmitter = createEventEmitSlimmer(VegaTable, VegaRowClick);
3414
4167
  this.rowExpandEventEmitter = createEventEmitSlimmer(VegaTable, VegaRowExpand);
4168
+ this.rowDragDropEventEmitter = createEventEmitSlimmer(VegaTable, VegaRowDragDrop);
3415
4169
  this.rowDividerNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'rowDivider', 'watchRowDivider');
3416
4170
  this.columnDividerNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'columnDivider', 'watchColumnDivider');
3417
4171
  this.densityNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'density', 'watchDensity');
3418
4172
  this.isTemplateRenderModeNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'isTemplateRenderMode', 'watchTemplateRenderMode');
3419
4173
  this.currentDataNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'currentData', 'watchCurrentData');
4174
+ this.rowDraggableNotifySlimmer = createSubStateNotifySlimmer(VegaTable, 'rowDraggable', 'watchRowDraggable');
3420
4175
  this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer(VegaTableRuntimeMetricsPayloadDefinition);
3421
4176
  this.rowSelectEventEmitter = createEventEmitSlimmer(VegaTable, VegaRowSelect);
3422
4177
  this.rowSelectAllEventEmitter = createEventEmitSlimmer(VegaTable, VegaRowSelectAll);
@@ -3443,6 +4198,8 @@ const VegaTable = class {
3443
4198
  this.editingRows = newSet;
3444
4199
  });
3445
4200
  this.isSelectedAll = false;
4201
+ this.expandableRows = [];
4202
+ this.hasExpandableRow = false;
3446
4203
  /**
3447
4204
  * Defines the columns of the table.
3448
4205
  *
@@ -3486,6 +4243,12 @@ const VegaTable = class {
3486
4243
  * @vegaVersion 1.3.0
3487
4244
  */
3488
4245
  this.rowClickable = false;
4246
+ /**
4247
+ * Specifies whether the table supports row dragging for reordering.
4248
+ *
4249
+ * @vegaVersion 2.85.0
4250
+ */
4251
+ this.rowDraggable = false;
3489
4252
  /**
3490
4253
  * Specifies whether dividers should be displayed
3491
4254
  * between rows in the table.
@@ -3567,6 +4330,10 @@ const VegaTable = class {
3567
4330
  }
3568
4331
  watchColumnStructureModel() {
3569
4332
  }
4333
+ watchExpandableRows() {
4334
+ }
4335
+ watchHasExpandableRow() {
4336
+ }
3570
4337
  watchColumns() {
3571
4338
  }
3572
4339
  watchGroupColumns() {
@@ -3579,6 +4346,8 @@ const VegaTable = class {
3579
4346
  }
3580
4347
  watchRowClickable() {
3581
4348
  }
4349
+ watchRowDraggable() {
4350
+ }
3582
4351
  watchRowDivider() {
3583
4352
  }
3584
4353
  watchColumnDivider() {
@@ -3802,12 +4571,15 @@ const VegaTable = class {
3802
4571
  "isSelectedAll": ["watchSelectedAll"],
3803
4572
  "isTemplateRenderMode": ["watchTemplateRenderMode"],
3804
4573
  "columnStructureModel": ["watchColumnStructureModel"],
4574
+ "expandableRows": ["watchExpandableRows"],
4575
+ "hasExpandableRow": ["watchHasExpandableRow"],
3805
4576
  "columns": ["watchColumns"],
3806
4577
  "groupColumns": ["watchGroupColumns"],
3807
4578
  "dataSource": ["watchDataSource"],
3808
4579
  "rowSelection": ["watchRowSelection"],
3809
4580
  "rowExpandable": ["watchRowExpandable"],
3810
4581
  "rowClickable": ["watchRowClickable"],
4582
+ "rowDraggable": ["watchRowDraggable"],
3811
4583
  "rowDivider": ["watchRowDivider"],
3812
4584
  "columnDivider": ["watchColumnDivider"],
3813
4585
  "striped": ["watchStriped"],
@@ -3856,9 +4628,6 @@ __decorate$z([
3856
4628
  __decorate$z([
3857
4629
  InjectVegaSlimmer()
3858
4630
  ], VegaTable.prototype, "vegaTableScrollContainerRenderer", void 0);
3859
- __decorate$z([
3860
- InjectVegaSlimmer()
3861
- ], VegaTable.prototype, "vegaTableExpandRowController", void 0);
3862
4631
  __decorate$z([
3863
4632
  InjectVegaSlimmer()
3864
4633
  ], VegaTable.prototype, "vegaTableRowSelectionController", void 0);
@@ -3880,6 +4649,12 @@ __decorate$z([
3880
4649
  __decorate$z([
3881
4650
  InjectVegaSlimmer()
3882
4651
  ], VegaTable.prototype, "vegaTableChildrenController", void 0);
4652
+ __decorate$z([
4653
+ InjectVegaSlimmer()
4654
+ ], VegaTable.prototype, "vegaTableRowDraggableController", void 0);
4655
+ __decorate$z([
4656
+ InjectVegaSlimmer()
4657
+ ], VegaTable.prototype, "vegaTableExpandRowController", void 0);
3883
4658
  __decorate$z([
3884
4659
  InjectVegaSlimmer()
3885
4660
  ], VegaTable.prototype, "pageResizeObserverSlimmer", void 0);
@@ -3888,7 +4663,10 @@ __decorate$z([
3888
4663
  ], VegaTable.prototype, "rowSelectionNotifySlimmer", void 0);
3889
4664
  __decorate$z([
3890
4665
  InjectVegaSlimmer()
3891
- ], VegaTable.prototype, "rowExpandableNotifySlimmer", void 0);
4666
+ ], VegaTable.prototype, "expandableRowsNotifySlimmer", void 0);
4667
+ __decorate$z([
4668
+ InjectVegaSlimmer()
4669
+ ], VegaTable.prototype, "hasExpandableRowNotifySlimmer", void 0);
3892
4670
  __decorate$z([
3893
4671
  InjectVegaSlimmer()
3894
4672
  ], VegaTable.prototype, "paddingXNotifySlimmer", void 0);
@@ -3916,6 +4694,9 @@ __decorate$z([
3916
4694
  __decorate$z([
3917
4695
  InjectVegaSlimmer()
3918
4696
  ], VegaTable.prototype, "rowExpandEventEmitter", void 0);
4697
+ __decorate$z([
4698
+ InjectVegaSlimmer()
4699
+ ], VegaTable.prototype, "rowDragDropEventEmitter", void 0);
3919
4700
  __decorate$z([
3920
4701
  InjectVegaSlimmer()
3921
4702
  ], VegaTable.prototype, "rowDividerNotifySlimmer", void 0);
@@ -3931,6 +4712,9 @@ __decorate$z([
3931
4712
  __decorate$z([
3932
4713
  InjectVegaSlimmer()
3933
4714
  ], VegaTable.prototype, "currentDataNotifySlimmer", void 0);
4715
+ __decorate$z([
4716
+ InjectVegaSlimmer()
4717
+ ], VegaTable.prototype, "rowDraggableNotifySlimmer", void 0);
3934
4718
  __decorate$z([
3935
4719
  InjectVegaSlimmer()
3936
4720
  ], VegaTable.prototype, "vegaComponentUsageRuntimeMetricsSlimmer", void 0);
@@ -4015,10 +4799,11 @@ const generateTextAlignClass = (align) => {
4015
4799
  *
4016
4800
  * @param {number} columnLength - The number of columns in a table or grid.
4017
4801
  * @param {boolean} withMultipleSelection - A boolean value indicating whether the table has a column for multiple selection.
4018
- * @returns {number} the value of `columnLength` plus 2 if `withMultipleSelection` is true, or plus 1 if `withMultipleSelection` is false.
4802
+ * @param {boolean} withRowDraggable - A boolean value indicating whether the table has a column for row draggable.
4803
+ * @returns {number} the value of `columnLength` plus 2 if `withMultipleSelection` is true, or plus 1 if `withMultipleSelection` is false, plus 1 if `withRowDraggable` is true.
4019
4804
  */
4020
- const generateColSpan = (columnLength, withMultipleSelection) => {
4021
- return columnLength + (withMultipleSelection ? 2 : 1);
4805
+ const generateColSpan = (columnLength, withMultipleSelection, withRowDraggable) => {
4806
+ return columnLength + (withMultipleSelection ? 2 : 1) + (withRowDraggable ? 1 : 0);
4022
4807
  };
4023
4808
 
4024
4809
  var __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -4496,6 +5281,10 @@ class VegaTableExpandRowStateController extends SubStateObserverSlimmer {
4496
5281
  }
4497
5282
  },
4498
5283
  },
5284
+ {
5285
+ subStateName: 'withRowDraggable',
5286
+ parentStateName: 'rowDraggable',
5287
+ },
4499
5288
  ],
4500
5289
  });
4501
5290
  }
@@ -4506,6 +5295,9 @@ __decorate$q([
4506
5295
  __decorate$q([
4507
5296
  MapToComponentField({ writable: true })
4508
5297
  ], VegaTableExpandRowStateController.prototype, "withMultipleSelection", void 0);
5298
+ __decorate$q([
5299
+ MapToComponentField({ writable: true })
5300
+ ], VegaTableExpandRowStateController.prototype, "withRowDraggable", void 0);
4509
5301
  __decorate$q([
4510
5302
  MapToComponentField()
4511
5303
  ], VegaTableExpandRowStateController.prototype, "vegaTableExpandRowColSpanController", void 0);
@@ -4532,7 +5324,7 @@ class VegaTableExpandRowColSpanController extends VegaSlimmer {
4532
5324
  * Update state colSpan
4533
5325
  */
4534
5326
  this.updateColSpan = () => {
4535
- this.colSpan = generateColSpan(this.getVisibleColumnsNumber(), this.withMultipleSelection);
5327
+ this.colSpan = generateColSpan(this.getVisibleColumnsNumber(), this.withMultipleSelection, this.withRowDraggable);
4536
5328
  };
4537
5329
  }
4538
5330
  /**
@@ -4553,6 +5345,12 @@ class VegaTableExpandRowColSpanController extends VegaSlimmer {
4553
5345
  watchWithMultipleSelection() {
4554
5346
  this.updateColSpan();
4555
5347
  }
5348
+ /**
5349
+ * Update the expand row content col span when draggable state changed
5350
+ */
5351
+ watchWithRowDraggable() {
5352
+ this.updateColSpan();
5353
+ }
4556
5354
  /**
4557
5355
  * Get visual columns number, it will be changed by the breakpoints
4558
5356
  *
@@ -4584,6 +5382,9 @@ __decorate$p([
4584
5382
  __decorate$p([
4585
5383
  MapToComponentField()
4586
5384
  ], VegaTableExpandRowColSpanController.prototype, "withMultipleSelection", void 0);
5385
+ __decorate$p([
5386
+ MapToComponentField()
5387
+ ], VegaTableExpandRowColSpanController.prototype, "withRowDraggable", void 0);
4587
5388
  __decorate$p([
4588
5389
  MapToComponentMethod('componentWillLoad')
4589
5390
  ], VegaTableExpandRowColSpanController.prototype, "componentWillLoad", null);
@@ -4593,6 +5394,9 @@ __decorate$p([
4593
5394
  __decorate$p([
4594
5395
  MapToComponentMethod('watchWithMultipleSelection')
4595
5396
  ], VegaTableExpandRowColSpanController.prototype, "watchWithMultipleSelection", null);
5397
+ __decorate$p([
5398
+ MapToComponentMethod('watchWithRowDraggable')
5399
+ ], VegaTableExpandRowColSpanController.prototype, "watchWithRowDraggable", null);
4596
5400
 
4597
5401
  const vegaTableExpandRowCss = ":host{display:contents}:host .vega-table-expanded-row.striped:not(.checked) td{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}:host(.v-hidden){display:none}.vega-table-expanded-row{background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1))}.vega-table-expanded-row:not(.expanded){display:none}.vega-table-expanded-row.expanded td{border-bottom-width:1px;border-top-width:0px;border-right-width:0px;border-left-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-input-field, 171, 198, 216, 1));padding:0px;vertical-align:middle}.vega-table-expanded-row.expanded td:first-of-type{border-left-width:1px;border-bottom-width:1px;border-top-left-radius:12px;border-bottom-left-radius:12px;border-top-left-radius:0px}.vega-table-expanded-row.expanded td:last-of-type{border-right-width:1px;border-bottom-width:1px;border-top-right-radius:12px;border-bottom-right-radius:12px;border-top-right-radius:0px}.vega-table-expanded-row.expanded td.vega-table-expanded-row-slot-container{border-top-width:1px;border-style:solid;border-color:rgba(var(--v-border-color-input-field, 171, 198, 216, 1))}.vega-table-expanded-row.expanded.checked{background-color:rgba(var(--v-bg-table-row-selected-expanded, 229, 239, 255, 1))}:host tr.is-pinned-row td:first-of-type{position:sticky;z-index:1;left:0px}:host tr.is-pinned-row td.vega-table-expanded-row-slot-container div{position:sticky;z-index:1;left:8px}";
4598
5402
 
@@ -4636,6 +5440,8 @@ const VegaTableExpandRow = class {
4636
5440
  }
4637
5441
  watchWithMultipleSelection() {
4638
5442
  }
5443
+ watchWithRowDraggable() {
5444
+ }
4639
5445
  render() {
4640
5446
  slotPlaceholder(h("slot", null));
4641
5447
  return sanitizeVegaComponent(h(Host, null, this.vegaTableExpandRowRenderer.render()), this.host);
@@ -4643,7 +5449,8 @@ const VegaTableExpandRow = class {
4643
5449
  get host() { return getElement(this); }
4644
5450
  static get watchers() { return {
4645
5451
  "currentBreakpoint": ["watchCurrentBreakpoint"],
4646
- "withMultipleSelection": ["watchWithMultipleSelection"]
5452
+ "withMultipleSelection": ["watchWithMultipleSelection"],
5453
+ "withRowDraggable": ["watchWithRowDraggable"]
4647
5454
  }; }
4648
5455
  };
4649
5456
  __decorate$o([
@@ -4919,12 +5726,16 @@ class VegaTableFootRowRenderer extends VegaSlimmer {
4919
5726
  return h("td", { class: "vega-table-selection-column" });
4920
5727
  };
4921
5728
  this.renderFooterExpandableCell = () => {
4922
- return this.expandable && h("td", { class: "vega-table-expand-action-column" });
5729
+ return this.hasExpandableRow && h("td", { class: "vega-table-expand-action-column" });
5730
+ };
5731
+ this.renderFooterDraggableCell = () => {
5732
+ return this.draggable && h("td", { class: "vega-table-draggable-column" });
4923
5733
  };
4924
5734
  }
4925
5735
  render() {
4926
5736
  return (h("tr", null,
4927
5737
  h("td", { style: { width: this.paddingX[0] } }),
5738
+ this.renderFooterDraggableCell(),
4928
5739
  this.renderFooterSelectionCell(),
4929
5740
  h("slot", null),
4930
5741
  this.renderFooterExpandableCell(),
@@ -4942,7 +5753,10 @@ __decorate$i([
4942
5753
  ], VegaTableFootRowRenderer.prototype, "selectionType", void 0);
4943
5754
  __decorate$i([
4944
5755
  MapToComponentField()
4945
- ], VegaTableFootRowRenderer.prototype, "expandable", void 0);
5756
+ ], VegaTableFootRowRenderer.prototype, "hasExpandableRow", void 0);
5757
+ __decorate$i([
5758
+ MapToComponentField()
5759
+ ], VegaTableFootRowRenderer.prototype, "draggable", void 0);
4946
5760
 
4947
5761
  var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
4948
5762
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -4960,8 +5774,8 @@ class VegaTableFootRowStateController extends SubStateObserverSlimmer {
4960
5774
  parent: 'vega-table',
4961
5775
  subStates: [
4962
5776
  {
4963
- subStateName: 'expandable',
4964
- parentStateName: 'rowExpandable',
5777
+ subStateName: 'hasExpandableRow',
5778
+ parentStateName: 'hasExpandableRow',
4965
5779
  },
4966
5780
  {
4967
5781
  subStateName: 'paddingX',
@@ -4983,6 +5797,10 @@ class VegaTableFootRowStateController extends SubStateObserverSlimmer {
4983
5797
  subStateName: 'density',
4984
5798
  parentStateName: 'density',
4985
5799
  },
5800
+ {
5801
+ subStateName: 'draggable',
5802
+ parentStateName: 'rowDraggable',
5803
+ },
4986
5804
  ],
4987
5805
  });
4988
5806
  /**
@@ -5018,7 +5836,10 @@ __decorate$h([
5018
5836
  ], VegaTableFootRowStateController.prototype, "density", void 0);
5019
5837
  __decorate$h([
5020
5838
  MapToComponentField({ writable: true })
5021
- ], VegaTableFootRowStateController.prototype, "expandable", void 0);
5839
+ ], VegaTableFootRowStateController.prototype, "hasExpandableRow", void 0);
5840
+ __decorate$h([
5841
+ MapToComponentField({ writable: true })
5842
+ ], VegaTableFootRowStateController.prototype, "draggable", void 0);
5022
5843
 
5023
5844
  const vegaTableFootRowCss = ":host{display:contents}td{background-color:rgba(var(--v-bg-table-header, 240, 243, 247, 1));padding:0px;vertical-align:middle}td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-default) td:first-of-type,:host(.density-relaxed) td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-default) td:last-of-type,:host(.density-relaxed) td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-compact) td:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}:host(.density-compact) td:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}.vega-table-expand-action-column{width:40px;min-width:40px}.vega-table-selection-column{width:40px;min-width:40px}";
5024
5845
 
@@ -5042,9 +5863,9 @@ const VegaTableFootRow = class {
5042
5863
  this.pageResizeObserverSlimmer = new PageResizeObserverSlimmer();
5043
5864
  this.currentBreakpoint = getCurrentBreakpoint();
5044
5865
  /**
5045
- * Indicates whether the row is expandable.
5866
+ * Indicates whether the table has a expandable row.
5046
5867
  */
5047
- this.expandable = false;
5868
+ this.hasExpandableRow = false;
5048
5869
  }
5049
5870
  render() {
5050
5871
  slotPlaceholder(h("slot", null));
@@ -5140,6 +5961,11 @@ const VegaTableHead = class {
5140
5961
  this.tableHeadRef = ref;
5141
5962
  };
5142
5963
  }
5964
+ connectedCallback() {
5965
+ if (this.tableHeadRef && this.fixed) {
5966
+ InternalVegaZIndexManager.setZIndex(this.tableHeadRef, 'base');
5967
+ }
5968
+ }
5143
5969
  disconnectedCallback() {
5144
5970
  InternalVegaZIndexManager.removeZIndex(this.tableHeadRef, 'base');
5145
5971
  }
@@ -5482,8 +6308,14 @@ class VegaTableHeadRowRenderer extends VegaSlimmer {
5482
6308
  }
5483
6309
  }
5484
6310
  };
6311
+ this.renderHeaderDraggableCell = (renderInput) => {
6312
+ return (this.draggable && (h("th", { rowSpan: renderInput.startRowSpan, class: {
6313
+ 'vega-table-draggable-column': true,
6314
+ 'hidden': renderInput.isStartHidden,
6315
+ } })));
6316
+ };
5485
6317
  this.renderHeaderExpandableCell = (renderInput) => {
5486
- return (this.expandable && (h("th", { rowSpan: renderInput.endRowSpan, class: {
6318
+ return (this.hasExpandableRow && (h("th", { rowSpan: renderInput.endRowSpan, class: {
5487
6319
  'vega-table-expand-action-column': true,
5488
6320
  'hidden': renderInput.isEndHidden,
5489
6321
  } })));
@@ -5526,6 +6358,7 @@ class VegaTableHeadRowRenderer extends VegaSlimmer {
5526
6358
  }, rowSpan: renderInput.startRowSpan, class: {
5527
6359
  hidden: renderInput.isStartHidden,
5528
6360
  } }),
6361
+ this.renderHeaderDraggableCell(renderInput),
5529
6362
  this.renderHeaderSelectionCell(renderInput),
5530
6363
  h("slot", null),
5531
6364
  this.renderHeaderExpandableCell(renderInput),
@@ -5579,7 +6412,10 @@ __decorate$9([
5579
6412
  ], VegaTableHeadRowRenderer.prototype, "checkedAll", void 0);
5580
6413
  __decorate$9([
5581
6414
  MapToComponentField()
5582
- ], VegaTableHeadRowRenderer.prototype, "expandable", void 0);
6415
+ ], VegaTableHeadRowRenderer.prototype, "hasExpandableRow", void 0);
6416
+ __decorate$9([
6417
+ MapToComponentField()
6418
+ ], VegaTableHeadRowRenderer.prototype, "draggable", void 0);
5583
6419
  __decorate$9([
5584
6420
  MapToComponentField()
5585
6421
  ], VegaTableHeadRowRenderer.prototype, "isEmptyTable", void 0);
@@ -5665,8 +6501,8 @@ class VegaTableHeadRowStateController extends SubStateObserverSlimmer {
5665
6501
  parent: 'vega-table',
5666
6502
  subStates: [
5667
6503
  {
5668
- subStateName: 'expandable',
5669
- parentStateName: 'rowExpandable',
6504
+ subStateName: 'hasExpandableRow',
6505
+ parentStateName: 'hasExpandableRow',
5670
6506
  },
5671
6507
  {
5672
6508
  subStateName: 'paddingX',
@@ -5707,6 +6543,10 @@ class VegaTableHeadRowStateController extends SubStateObserverSlimmer {
5707
6543
  this.isEmptyTable = currentData.length === 0;
5708
6544
  },
5709
6545
  },
6546
+ {
6547
+ subStateName: 'draggable',
6548
+ parentStateName: 'rowDraggable',
6549
+ },
5710
6550
  ],
5711
6551
  });
5712
6552
  /**
@@ -5730,7 +6570,7 @@ __decorate$7([
5730
6570
  ], VegaTableHeadRowStateController.prototype, "host", void 0);
5731
6571
  __decorate$7([
5732
6572
  MapToComponentField({ writable: true })
5733
- ], VegaTableHeadRowStateController.prototype, "expandable", void 0);
6573
+ ], VegaTableHeadRowStateController.prototype, "hasExpandableRow", void 0);
5734
6574
  __decorate$7([
5735
6575
  MapToComponentField({ writable: true })
5736
6576
  ], VegaTableHeadRowStateController.prototype, "selectionType", void 0);
@@ -5749,6 +6589,9 @@ __decorate$7([
5749
6589
  __decorate$7([
5750
6590
  MapToComponentField({ writable: true })
5751
6591
  ], VegaTableHeadRowStateController.prototype, "isEmptyTable", void 0);
6592
+ __decorate$7([
6593
+ MapToComponentField({ writable: true })
6594
+ ], VegaTableHeadRowStateController.prototype, "draggable", void 0);
5752
6595
 
5753
6596
  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}";
5754
6597
 
@@ -5775,9 +6618,9 @@ const VegaTableHeadRow = class {
5775
6618
  this.vegaTableRenderInputConsumerSlimmer = new VegaTableChildRenderInputConsumerSlimmer(VegaInternalColumnHeadRowRenderInputRIC);
5776
6619
  this.currentBreakpoint = getCurrentBreakpoint();
5777
6620
  /**
5778
- * Indicates whether the row is expandable.
6621
+ * Indicates whether the table has an expandable row.
5779
6622
  */
5780
- this.expandable = false;
6623
+ this.hasExpandableRow = false;
5781
6624
  }
5782
6625
  render() {
5783
6626
  slotPlaceholder(h("slot", null));
@@ -5814,6 +6657,10 @@ __decorate$6([
5814
6657
  ], VegaTableHeadRow.prototype, "vegaTableRenderInputConsumerSlimmer", void 0);
5815
6658
  VegaTableHeadRow.style = vegaTableHeadRowCss;
5816
6659
 
6660
+ const gripDotsVertical = {
6661
+ icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 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="M32 128a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm0 160a32 32 0 1 0 0-64 32 32 0 1 0 0 64zM64 416A32 32 0 1 0 0 416a32 32 0 1 0 64 0zm96-288a32 32 0 1 0 0-64 32 32 0 1 0 0 64zm32 128a32 32 0 1 0 -64 0 32 32 0 1 0 64 0zM160 448a32 32 0 1 0 0-64 32 32 0 1 0 0 64z"/></svg>`,
6662
+ };
6663
+
5817
6664
  var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
5818
6665
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
5819
6666
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -5823,6 +6670,11 @@ var __decorate$5 = (undefined && undefined.__decorate) || function (decorators,
5823
6670
  class VegaTableRowRenderer extends VegaSlimmer {
5824
6671
  constructor() {
5825
6672
  super(...arguments);
6673
+ this.renderDragIcon = () => {
6674
+ return (this.draggable && (h("td", { class: "vega-table-draggable-column" },
6675
+ h("vega-flex", { alignItems: "center" },
6676
+ h("vega-icon", { icon: VegaInternalIconManager.getIconKey('grip-dots-vertical'), color: "text-link" })))));
6677
+ };
5826
6678
  this.renderRowSelection = () => {
5827
6679
  if (this.selectionType !== 'multiple')
5828
6680
  return;
@@ -5837,9 +6689,8 @@ class VegaTableRowRenderer extends VegaSlimmer {
5837
6689
  } }))));
5838
6690
  };
5839
6691
  this.renderExpandIcon = () => {
5840
- return (this.expandable && (h("td", { class: "vega-table-expand-action-column" },
5841
- h("div", { class: "vega-table-expand-icon-wrapper" },
5842
- h("vega-icon", { icon: VegaInternalIconManager.getIconKey('chevron-down'), color: "text-link", onClick: this.onExpandIconClick })))));
6692
+ return ((this.expandable || this.hasExpandableRow) && (h("td", { class: "vega-table-expand-action-column" },
6693
+ h("div", { class: "vega-table-expand-icon-wrapper" }, this.expandable && (h("vega-icon", { icon: VegaInternalIconManager.getIconKey('chevron-down'), color: "text-link", onClick: this.onExpandIconClick }))))));
5843
6694
  };
5844
6695
  this.onRowClick = () => {
5845
6696
  this.vegaTableRowClickController.handleRowClick();
@@ -5891,6 +6742,7 @@ class VegaTableRowRenderer extends VegaSlimmer {
5891
6742
  /* eslint-disable-next-line react/jsx-no-bind */
5892
6743
  onClick: this.clickable ? this.onRowClick : null },
5893
6744
  h("td", { style: { width: (_a = this.paddingX) === null || _a === void 0 ? void 0 : _a[0] } }),
6745
+ this.renderDragIcon(),
5894
6746
  this.renderRowSelection(),
5895
6747
  h("slot", null),
5896
6748
  this.renderExpandIcon(),
@@ -5904,7 +6756,10 @@ class VegaTableRowRenderer extends VegaSlimmer {
5904
6756
  }
5905
6757
  }
5906
6758
  (() => {
5907
- VegaInternalIconManager.register({ 'chevron-down': chevronDown });
6759
+ VegaInternalIconManager.register({
6760
+ 'chevron-down': chevronDown,
6761
+ 'grip-dots-vertical': gripDotsVertical,
6762
+ });
5908
6763
  })();
5909
6764
  __decorate$5([
5910
6765
  MapToComponentField()
@@ -5930,12 +6785,18 @@ __decorate$5([
5930
6785
  __decorate$5([
5931
6786
  MapToComponentField()
5932
6787
  ], VegaTableRowRenderer.prototype, "expandable", void 0);
6788
+ __decorate$5([
6789
+ MapToComponentField()
6790
+ ], VegaTableRowRenderer.prototype, "hasExpandableRow", void 0);
5933
6791
  __decorate$5([
5934
6792
  MapToComponentField()
5935
6793
  ], VegaTableRowRenderer.prototype, "vegaClick", void 0);
5936
6794
  __decorate$5([
5937
6795
  MapToComponentField()
5938
6796
  ], VegaTableRowRenderer.prototype, "selectionType", void 0);
6797
+ __decorate$5([
6798
+ MapToComponentField()
6799
+ ], VegaTableRowRenderer.prototype, "draggable", void 0);
5939
6800
  __decorate$5([
5940
6801
  MapToComponentField()
5941
6802
  ], VegaTableRowRenderer.prototype, "vegaTableRowSelectionController", void 0);
@@ -6215,7 +7076,15 @@ class VegaTableRowStateController extends SubStateObserverSlimmer {
6215
7076
  subStates: [
6216
7077
  {
6217
7078
  subStateName: 'expandable',
6218
- parentStateName: 'rowExpandable',
7079
+ parentStateName: 'expandableRows',
7080
+ // eslint-disable-next-line jsdoc/require-jsdoc
7081
+ callback: (value) => {
7082
+ this.expandable = value.includes(this.rowKey);
7083
+ },
7084
+ },
7085
+ {
7086
+ subStateName: 'hasExpandableRow',
7087
+ parentStateName: 'hasExpandableRow',
6219
7088
  },
6220
7089
  {
6221
7090
  subStateName: 'clickable',
@@ -6254,6 +7123,10 @@ class VegaTableRowStateController extends SubStateObserverSlimmer {
6254
7123
  subStateName: 'density',
6255
7124
  parentStateName: 'density',
6256
7125
  },
7126
+ {
7127
+ subStateName: 'draggable',
7128
+ parentStateName: 'rowDraggable',
7129
+ },
6257
7130
  ],
6258
7131
  });
6259
7132
  }
@@ -6286,6 +7159,9 @@ __decorate$1([
6286
7159
  __decorate$1([
6287
7160
  MapToComponentField({ writable: true })
6288
7161
  ], VegaTableRowStateController.prototype, "expandable", void 0);
7162
+ __decorate$1([
7163
+ MapToComponentField({ writable: true })
7164
+ ], VegaTableRowStateController.prototype, "hasExpandableRow", void 0);
6289
7165
  __decorate$1([
6290
7166
  MapToComponentField({ writable: true })
6291
7167
  ], VegaTableRowStateController.prototype, "clickable", void 0);
@@ -6301,6 +7177,12 @@ __decorate$1([
6301
7177
  __decorate$1([
6302
7178
  MapToComponentField({ writable: true })
6303
7179
  ], VegaTableRowStateController.prototype, "density", void 0);
7180
+ __decorate$1([
7181
+ MapToComponentField({ writable: true })
7182
+ ], VegaTableRowStateController.prototype, "draggable", void 0);
7183
+ __decorate$1([
7184
+ MapToComponentField()
7185
+ ], VegaTableRowStateController.prototype, "rowKey", void 0);
6304
7186
  __decorate$1([
6305
7187
  MapToComponentMethod('watchSelectionType')
6306
7188
  ], VegaTableRowStateController.prototype, "watchSelectionType", null);
@@ -6308,7 +7190,7 @@ __decorate$1([
6308
7190
  MapToComponentMethod('componentWillLoad')
6309
7191
  ], VegaTableRowStateController.prototype, "handleComponentWillLoad", null);
6310
7192
 
6311
- const vegaTableRowCss = ":host{display:contents}:host(.v-hidden){display:none}td{padding:0px;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));vertical-align:middle}td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.striped) .vega-table-row:not(.checked):not(.clickable:hover) td{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.checked td{background-color:rgba(var(--v-bg-table-selected-row, 204, 223, 255, 1))}:not(.checked).clickable:hover{cursor:pointer}:not(.checked).clickable:hover td{background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1))}.vega-table-checkbox-wrapper{display:flex;align-items:center;justify-content:center}.vega-table-row .vega-table-expand-icon-wrapper{display:flex;align-items:center;justify-content:center}.vega-table-row .vega-table-expand-icon-wrapper vega-icon{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;cursor:pointer}.vega-table-row.expand-row .vega-table-expand-icon-wrapper vega-icon{transform:rotate(180deg)}:host tr.expand-row td{border-top-width:1px;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-input-field, 171, 198, 216, 1))}:host tr.expand-row td:first-of-type{border-left-width:1px;border-top-width:1px;border-bottom-left-radius:0px}:host tr.expand-row td:last-of-type{border-right-width:1px;border-top-width:1px;border-bottom-right-radius:0px}tr.expand-row-space{display:block;padding-top:8px}:host(.row-divider:not(:last-of-type)) td{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-bottom-width:1px;border-bottom-style:solid}:host(.row-divider:not(:last-of-type)) td:first-of-type,:host(.row-divider:not(:last-of-type)) td:last-of-type{border-radius:0px}:host(.density-default) td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-default) td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-default) tr.expand-row-space{display:block;padding-top:8px}:host(.density-compact) td:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}:host(.density-compact) td:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}:host(.density-compact) tr.expand-row-space{display:block;padding-top:4px}:host(.density-relaxed) td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-relaxed) td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-relaxed) tr.expand-row-space{display:block;padding-top:12px}.vega-table-expand-action-column{width:40px;min-width:40px}.vega-table-selection-column{width:40px;min-width:40px}";
7193
+ const vegaTableRowCss = ":host{display:contents}:host(.v-hidden){display:none}td{padding:0px;background-color:rgba(var(--v-bg-primary, 252, 252, 252, 1));vertical-align:middle}td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.striped) .vega-table-row:not(.checked):not(.clickable:hover) td{background-color:rgba(var(--v-bg-secondary, 245, 247, 247, 1))}.checked td{background-color:rgba(var(--v-bg-table-selected-row, 204, 223, 255, 1))}:not(.checked).clickable:hover{cursor:pointer}:not(.checked).clickable:hover td{background-color:rgba(var(--v-bg-quaternary, 241, 248, 251, 1))}.vega-table-checkbox-wrapper{display:flex;align-items:center;justify-content:center}.vega-table-row .vega-table-expand-icon-wrapper{display:flex;align-items:center;justify-content:center}.vega-table-row .vega-table-expand-icon-wrapper vega-icon{transition-property:transform;transition-timing-function:cubic-bezier(0.4, 0, 0.2, 1);transition-duration:150ms;cursor:pointer}.vega-table-row.expand-row .vega-table-expand-icon-wrapper vega-icon{transform:rotate(180deg)}:host tr.expand-row td{border-top-width:1px;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;border-style:solid;border-color:rgba(var(--v-border-color-input-field, 171, 198, 216, 1))}:host tr.expand-row td:first-of-type{border-left-width:1px;border-top-width:1px;border-bottom-left-radius:0px}:host tr.expand-row td:last-of-type{border-right-width:1px;border-top-width:1px;border-bottom-right-radius:0px}tr.expand-row-space{display:block;padding-top:8px}:host(.row-divider:not(:last-of-type)) td{border-color:rgba(var(--v-border-color-divider, 171, 198, 216, 1));border-bottom-width:1px;border-bottom-style:solid}:host(.row-divider:not(:last-of-type)) td:first-of-type,:host(.row-divider:not(:last-of-type)) td:last-of-type{border-radius:0px}:host(.density-default) td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-default) td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-default) tr.expand-row-space{display:block;padding-top:8px}:host(.density-compact) td:first-of-type{border-top-left-radius:4px;border-bottom-left-radius:4px}:host(.density-compact) td:last-of-type{border-top-right-radius:4px;border-bottom-right-radius:4px}:host(.density-compact) tr.expand-row-space{display:block;padding-top:4px}:host(.density-relaxed) td:first-of-type{border-top-left-radius:12px;border-bottom-left-radius:12px}:host(.density-relaxed) td:last-of-type{border-top-right-radius:12px;border-bottom-right-radius:12px}:host(.density-relaxed) tr.expand-row-space{display:block;padding-top:12px}.vega-table-expand-action-column{width:40px;min-width:40px}.vega-table-selection-column{width:40px;min-width:40px}.vega-table-draggable-column{width:16px;min-width:16px;cursor:move}";
6312
7194
 
6313
7195
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
6314
7196
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
@@ -6343,6 +7225,14 @@ const VegaTableRow = class {
6343
7225
  this.stripedNotifySlimmer = createSubStateNotifySlimmer(VegaTableRow, 'striped', 'watchStriped');
6344
7226
  this.rowDividerNotifySlimmer = createSubStateNotifySlimmer(VegaTableRow, 'rowDivider', 'watchRowDivider');
6345
7227
  this.currentBreakpoint = getCurrentBreakpoint();
7228
+ /**
7229
+ * Indicates whether the table has an expandable row.
7230
+ */
7231
+ this.hasExpandableRow = false;
7232
+ /**
7233
+ * Sync from {@link VegaTable.rowDraggable}
7234
+ */
7235
+ this.draggable = false;
6346
7236
  }
6347
7237
  watchSelectionType() {
6348
7238
  }