@globalpayments/vega 2.56.0 → 2.57.1

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 (428) hide show
  1. package/dist/cjs/{app-globals-7e482341.js → app-globals-26e2fe1e.js} +9 -9
  2. package/dist/cjs/card-config-2ee5505e.js +65 -0
  3. package/dist/cjs/{child-nodes-event-prevent-slimmer-29020cc8.js → child-nodes-event-prevent-slimmer-96240a0e.js} +1 -1
  4. package/dist/cjs/{code-block-e56c5216.js → code-block-7650c868.js} +3 -3
  5. package/dist/cjs/{component-usage-runtime-metrics-dcb32c24.js → component-usage-runtime-metrics-d10ace87.js} +1 -1
  6. package/dist/cjs/{component-value-history-controller-slimmer.abstract-9a1285a1.js → component-value-history-controller-slimmer.abstract-a6e4e5bc.js} +3 -3
  7. package/dist/cjs/{content-state-e07c843c.js → content-state-fd5ad4a8.js} +3 -3
  8. package/dist/cjs/{create-public-api-runtime-metrics-slimmer-a3d17afb.js → create-public-api-runtime-metrics-slimmer-e2e274e1.js} +1 -1
  9. package/dist/cjs/{design-token-3e0bd48d.js → design-token-e771bb16.js} +3 -3
  10. package/dist/cjs/{element-appender-slimmer-2b9ca234.js → element-appender-slimmer-7f98d16b.js} +4 -4
  11. package/dist/cjs/{feature-flag-controller-5e58aae4.js → feature-flag-controller-ce2162c8.js} +1 -1
  12. package/dist/cjs/{form-field-controller-slimmer-dc6d0fe1.js → form-field-controller-slimmer-7bb7df10.js} +4 -4
  13. package/dist/cjs/{icon-manager-9a47399c.js → icon-manager-9072356d.js} +1 -1
  14. package/dist/cjs/{image-annotation-action-76e3c89d.js → image-annotation-action-6715d6f3.js} +2 -2
  15. package/dist/cjs/{index-8b247c17.js → index-4d7bce1a.js} +2 -2
  16. package/dist/cjs/{index-ebb1bb17.js → index-ee4bc191.js} +2 -2
  17. package/dist/cjs/index.cjs.js +16 -16
  18. package/dist/cjs/{inject-keyboard-manager-11df8296.js → inject-keyboard-manager-f1f781b7.js} +1 -1
  19. package/dist/cjs/{internal-icon-manager-00f49470.js → internal-icon-manager-f8677abb.js} +1 -1
  20. package/dist/cjs/{keyboard-manager-1843112c.js → keyboard-manager-0be55fb9.js} +1 -1
  21. package/dist/cjs/{keyboard-manager-slimmer-0a5f5770.js → keyboard-manager-slimmer-92c7227b.js} +1 -1
  22. package/dist/cjs/loader.cjs.js +14 -14
  23. package/dist/cjs/{public-rules-1ac67099.js → public-rules-036795a4.js} +6 -6
  24. package/dist/cjs/{responsive-format-facade-e2e11c24.js → responsive-format-facade-d164ced7.js} +7 -7
  25. package/dist/cjs/{rich-text-editor-required-rule-63f50aa4.js → rich-text-editor-required-rule-91eb0e22.js} +1 -1
  26. package/dist/cjs/{state-background-color-formatter-e585a027.js → state-background-color-formatter-c57409ea.js} +1 -1
  27. package/dist/cjs/{string-input-formatter-slimmer-a5feb2ed.js → string-input-formatter-slimmer-dc1747ad.js} +23 -4
  28. package/dist/cjs/{style-formatter-0213d3a8.js → style-formatter-3e7af35b.js} +2 -2
  29. package/dist/cjs/{sub-state-notify-slimmer-f68fbf29.js → sub-state-notify-slimmer-409bbd1a.js} +1 -1
  30. package/dist/cjs/{sub-state-observer-slimmer-e06cdf7e.js → sub-state-observer-slimmer-93d0a609.js} +1 -1
  31. package/dist/cjs/{translation-e5003a00.js → translation-de7e351e.js} +1 -1
  32. package/dist/cjs/{translation-slimmer-127a0f83.js → translation-slimmer-83bdb9fe.js} +1 -1
  33. package/dist/cjs/{type-guard-4ba85fdc.js → type-guard-aa8fdeaf.js} +16 -0
  34. package/dist/cjs/vega-accordion.cjs.entry.js +16 -16
  35. package/dist/cjs/vega-app-footer.cjs.entry.js +1 -1
  36. package/dist/cjs/vega-app-header-button.cjs.entry.js +17 -17
  37. package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
  38. package/dist/cjs/vega-banner.cjs.entry.js +6 -6
  39. package/dist/cjs/vega-bar-chart.cjs.entry.js +1 -1
  40. package/dist/cjs/vega-box.cjs.entry.js +16 -16
  41. package/dist/cjs/vega-brand-logo.cjs.entry.js +4 -4
  42. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  43. package/dist/cjs/vega-button-circle.cjs.entry.js +16 -16
  44. package/dist/cjs/vega-button-group_2.cjs.entry.js +7 -7
  45. package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
  46. package/dist/cjs/vega-button.cjs.entry.js +14 -14
  47. package/dist/cjs/vega-calendar_3.cjs.entry.js +14 -14
  48. package/dist/cjs/vega-card.cjs.entry.js +15 -15
  49. package/dist/cjs/vega-carousel.cjs.entry.js +13 -13
  50. package/dist/cjs/vega-checkbox_2.cjs.entry.js +9 -9
  51. package/dist/cjs/vega-chip.cjs.entry.js +16 -16
  52. package/dist/cjs/vega-code-block.cjs.entry.js +15 -15
  53. package/dist/cjs/vega-color-picker.cjs.entry.js +6 -6
  54. package/dist/cjs/vega-combo-box.cjs.entry.js +12 -12
  55. package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
  56. package/dist/cjs/vega-date-picker_2.cjs.entry.js +23 -23
  57. package/dist/cjs/vega-dialog_2.cjs.entry.js +16 -16
  58. package/dist/cjs/vega-divider.cjs.entry.js +15 -15
  59. package/dist/cjs/vega-dropdown_5.cjs.entry.js +20 -20
  60. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  61. package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
  62. package/dist/cjs/vega-field-label.cjs.entry.js +1 -1
  63. package/dist/cjs/vega-file-uploader.cjs.entry.js +9 -9
  64. package/dist/cjs/vega-flag-icon.cjs.entry.js +16 -16
  65. package/dist/cjs/vega-flex.cjs.entry.js +16 -16
  66. package/dist/cjs/vega-font.cjs.entry.js +15 -15
  67. package/dist/cjs/vega-form.cjs.entry.js +10 -10
  68. package/dist/cjs/vega-grid.cjs.entry.js +15 -15
  69. package/dist/cjs/vega-hint.cjs.entry.js +1 -1
  70. package/dist/cjs/vega-icon.cjs.entry.js +15 -15
  71. package/dist/cjs/vega-image-uploader.cjs.entry.js +17 -17
  72. package/dist/cjs/vega-input-credit-card.cjs.entry.js +28 -124
  73. package/dist/cjs/vega-input-numeric.cjs.entry.js +13 -13
  74. package/dist/cjs/vega-input-phone-number.cjs.entry.js +16 -16
  75. package/dist/cjs/vega-input-range.cjs.entry.js +10 -10
  76. package/dist/cjs/vega-input-select.cjs.entry.js +18 -18
  77. package/dist/cjs/vega-input.cjs.entry.js +203 -11
  78. package/dist/cjs/{vega-internal-event-id-6cdc95fe.js → vega-internal-event-id-bda08efa.js} +6 -0
  79. package/dist/cjs/vega-item-toggle.cjs.entry.js +1 -1
  80. package/dist/cjs/vega-left-nav_5.cjs.entry.js +18 -18
  81. package/dist/cjs/vega-line-chart.cjs.entry.js +1 -1
  82. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +13 -13
  83. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  84. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +5 -5
  85. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +5 -5
  86. package/dist/cjs/vega-pagination.cjs.entry.js +15 -15
  87. package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
  88. package/dist/cjs/vega-popover_2.cjs.entry.js +16 -16
  89. package/dist/cjs/vega-progress-tracker.cjs.entry.js +1 -1
  90. package/dist/cjs/vega-radio_2.cjs.entry.js +12 -12
  91. package/dist/cjs/vega-rich-text-content.cjs.entry.js +12 -12
  92. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +23 -23
  93. package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
  94. package/dist/cjs/vega-segment-control.cjs.entry.js +1 -1
  95. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +17 -17
  96. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +10 -10
  97. package/dist/cjs/vega-sidenav_3.cjs.entry.js +16 -16
  98. package/dist/cjs/vega-signature-capture.cjs.entry.js +19 -19
  99. package/dist/cjs/{vega-skeleton-loader-controller-3833c813.js → vega-skeleton-loader-controller-d534f5a1.js} +1 -1
  100. package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
  101. package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
  102. package/dist/cjs/vega-stepper.cjs.entry.js +9 -9
  103. package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
  104. package/dist/cjs/vega-table_8.cjs.entry.js +1474 -316
  105. package/dist/cjs/vega-text.cjs.entry.js +1 -1
  106. package/dist/cjs/vega-textarea.cjs.entry.js +9 -9
  107. package/dist/cjs/vega-time-picker_2.cjs.entry.js +20 -20
  108. package/dist/cjs/vega-toggle-switch.cjs.entry.js +6 -6
  109. package/dist/cjs/vega-tooltip_2.cjs.entry.js +16 -16
  110. package/dist/cjs/vega.cjs.js +14 -14
  111. package/dist/cjs/{wait-for-vega-handler-4491efc9.js → wait-for-vega-handler-5469ff80.js} +1 -1
  112. package/dist/collection/components/vega-input/slimmers/controllers/vega-input-mask-config-controller.js +25 -2
  113. package/dist/collection/components/vega-input/vega-input.js +1 -1
  114. package/dist/collection/components/vega-input-credit-card/vega-input-credit-card.js +13 -52
  115. package/dist/collection/components/vega-table/slimmers/controllers/dto/column-render-input-model.js +216 -0
  116. package/dist/collection/components/vega-table/slimmers/controllers/dto/column-structure-model.js +238 -0
  117. package/dist/collection/components/vega-table/slimmers/controllers/dto/test/column-render-input-model.test.js +83 -0
  118. package/dist/collection/components/vega-table/slimmers/controllers/dto/test/column-structure-model.test.js +147 -0
  119. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-column-structure-model-controller.js +66 -0
  120. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-render-input-controller.js +171 -0
  121. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-renderer.js +6 -1
  122. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-cell-renderer.js +22 -4
  123. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-col-group-renderer.js +13 -3
  124. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-header-renderer.js +43 -6
  125. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +175 -0
  126. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-renderer.js +7 -0
  127. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-row-renderer.js +6 -5
  128. package/dist/collection/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-cell-state-controller.js +41 -0
  129. package/dist/collection/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-row-state-controller.js +48 -0
  130. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.css +58 -11
  131. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +49 -6
  132. package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.js +5 -1
  133. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.css +11 -0
  134. package/dist/collection/components/vega-table/vega-table-head-cell/slimmers/controllers/vega-table-head-cell-state-controller.js +15 -0
  135. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.css +42 -11
  136. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +45 -9
  137. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +53 -10
  138. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.css +37 -0
  139. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.css +5 -16
  140. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +21 -0
  141. package/dist/collection/components/vega-table/vega-table.css +22 -0
  142. package/dist/collection/components/vega-table/vega-table.js +52 -1
  143. package/dist/collection/constants/card-config.js +4 -4
  144. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +3 -0
  145. package/dist/collection/helpers/formatter/string-formatter/credit-card-blur-mask-strategy.js +74 -0
  146. package/dist/collection/helpers/formatter/string-formatter/credit-card-input-mask-strategy.js +34 -0
  147. package/dist/collection/helpers/formatter/string-formatter/credit-card-mask-strategy.abstract.js +63 -0
  148. package/dist/collection/helpers/formatter/string-formatter/string-format-strategy.abstract.js +4 -1
  149. package/dist/collection/helpers/formatter/string-formatter/string-mask-strategy.js +8 -0
  150. package/dist/collection/helpers/slimmers/string-input-formatter-slimmer.js +8 -0
  151. package/dist/collection/types/type-guard.js +15 -0
  152. package/dist/esm/{app-globals-b5881948.js → app-globals-ee6a1250.js} +9 -9
  153. package/dist/esm/card-config-d2ad484e.js +63 -0
  154. package/dist/esm/{child-nodes-event-prevent-slimmer-2b975cbf.js → child-nodes-event-prevent-slimmer-b59a578e.js} +1 -1
  155. package/dist/esm/{code-block-1cdb0599.js → code-block-7bd4cb87.js} +3 -3
  156. package/dist/esm/{component-usage-runtime-metrics-385c7124.js → component-usage-runtime-metrics-a84cc93e.js} +1 -1
  157. package/dist/esm/{component-value-history-controller-slimmer.abstract-c12b2958.js → component-value-history-controller-slimmer.abstract-41c58caf.js} +3 -3
  158. package/dist/esm/{content-state-cf27d19b.js → content-state-a43e703e.js} +3 -3
  159. package/dist/esm/{create-public-api-runtime-metrics-slimmer-8ada793f.js → create-public-api-runtime-metrics-slimmer-bedf3a1e.js} +1 -1
  160. package/dist/esm/{design-token-96e03257.js → design-token-23522f5c.js} +3 -3
  161. package/dist/esm/{element-appender-slimmer-00dcccb9.js → element-appender-slimmer-042df95a.js} +4 -4
  162. package/dist/esm/{feature-flag-controller-0fbe8fb0.js → feature-flag-controller-51659753.js} +2 -2
  163. package/dist/esm/{form-field-controller-slimmer-6f49d396.js → form-field-controller-slimmer-f0982f11.js} +4 -4
  164. package/dist/esm/{icon-manager-638dd4d4.js → icon-manager-2ee1c619.js} +1 -1
  165. package/dist/esm/{image-annotation-action-e76b3396.js → image-annotation-action-1e88f5a0.js} +2 -2
  166. package/dist/esm/{index-44c794b4.js → index-e9da316f.js} +2 -2
  167. package/dist/esm/{index-f5d2fe61.js → index-fb3b74bd.js} +2 -2
  168. package/dist/esm/index.js +16 -16
  169. package/dist/esm/{inject-keyboard-manager-a15cf43c.js → inject-keyboard-manager-5141d09a.js} +1 -1
  170. package/dist/esm/{internal-icon-manager-58cf8aa6.js → internal-icon-manager-7eac52c8.js} +1 -1
  171. package/dist/esm/{keyboard-manager-f496a623.js → keyboard-manager-3ffe81b0.js} +1 -1
  172. package/dist/esm/{keyboard-manager-slimmer-a4cc9593.js → keyboard-manager-slimmer-751e98f5.js} +1 -1
  173. package/dist/esm/loader.js +14 -14
  174. package/dist/esm/{public-rules-e8616346.js → public-rules-287d4d77.js} +6 -6
  175. package/dist/esm/{responsive-format-facade-464498b6.js → responsive-format-facade-d2632288.js} +7 -7
  176. package/dist/esm/{rich-text-editor-required-rule-69844536.js → rich-text-editor-required-rule-69d5f035.js} +1 -1
  177. package/dist/esm/{state-background-color-formatter-121ae7d3.js → state-background-color-formatter-da5e76e8.js} +1 -1
  178. package/dist/esm/{string-input-formatter-slimmer-e53b6412.js → string-input-formatter-slimmer-09478e0d.js} +24 -5
  179. package/dist/esm/{style-formatter-670e20f7.js → style-formatter-f7951677.js} +2 -2
  180. package/dist/esm/{sub-state-notify-slimmer-b6c8051c.js → sub-state-notify-slimmer-0a6c3cbb.js} +1 -1
  181. package/dist/esm/{sub-state-observer-slimmer-93eeb87d.js → sub-state-observer-slimmer-53eec5fb.js} +1 -1
  182. package/dist/esm/{translation-71e0711d.js → translation-a6eacb5f.js} +1 -1
  183. package/dist/esm/{translation-slimmer-e6b130bf.js → translation-slimmer-f28e4708.js} +1 -1
  184. package/dist/esm/{type-guard-158f6d7a.js → type-guard-84b1f192.js} +16 -1
  185. package/dist/esm/vega-accordion.entry.js +16 -16
  186. package/dist/esm/vega-app-footer.entry.js +1 -1
  187. package/dist/esm/vega-app-header-button.entry.js +17 -17
  188. package/dist/esm/vega-backdrop.entry.js +1 -1
  189. package/dist/esm/vega-banner.entry.js +6 -6
  190. package/dist/esm/vega-bar-chart.entry.js +1 -1
  191. package/dist/esm/vega-box.entry.js +16 -16
  192. package/dist/esm/vega-brand-logo.entry.js +4 -4
  193. package/dist/esm/vega-breadcrumb.entry.js +4 -4
  194. package/dist/esm/vega-button-circle.entry.js +16 -16
  195. package/dist/esm/vega-button-group_2.entry.js +7 -7
  196. package/dist/esm/vega-button-link.entry.js +4 -4
  197. package/dist/esm/vega-button.entry.js +14 -14
  198. package/dist/esm/vega-calendar_3.entry.js +14 -14
  199. package/dist/esm/vega-card.entry.js +15 -15
  200. package/dist/esm/vega-carousel.entry.js +13 -13
  201. package/dist/esm/vega-checkbox_2.entry.js +9 -9
  202. package/dist/esm/vega-chip.entry.js +16 -16
  203. package/dist/esm/vega-code-block.entry.js +15 -15
  204. package/dist/esm/vega-color-picker.entry.js +6 -6
  205. package/dist/esm/vega-combo-box.entry.js +12 -12
  206. package/dist/esm/vega-counter-badge.entry.js +1 -1
  207. package/dist/esm/vega-date-picker_2.entry.js +23 -23
  208. package/dist/esm/vega-dialog_2.entry.js +16 -16
  209. package/dist/esm/vega-divider.entry.js +15 -15
  210. package/dist/esm/vega-dropdown_5.entry.js +20 -20
  211. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  212. package/dist/esm/vega-field-error.entry.js +1 -1
  213. package/dist/esm/vega-field-label.entry.js +1 -1
  214. package/dist/esm/vega-file-uploader.entry.js +9 -9
  215. package/dist/esm/vega-flag-icon.entry.js +16 -16
  216. package/dist/esm/vega-flex.entry.js +16 -16
  217. package/dist/esm/vega-font.entry.js +15 -15
  218. package/dist/esm/vega-form.entry.js +10 -10
  219. package/dist/esm/vega-grid.entry.js +15 -15
  220. package/dist/esm/vega-hint.entry.js +1 -1
  221. package/dist/esm/vega-icon.entry.js +15 -15
  222. package/dist/esm/vega-image-uploader.entry.js +17 -17
  223. package/dist/esm/vega-input-credit-card.entry.js +27 -123
  224. package/dist/esm/vega-input-numeric.entry.js +13 -13
  225. package/dist/esm/vega-input-phone-number.entry.js +16 -16
  226. package/dist/esm/vega-input-range.entry.js +10 -10
  227. package/dist/esm/vega-input-select.entry.js +18 -18
  228. package/dist/esm/vega-input.entry.js +203 -11
  229. package/dist/esm/{vega-internal-event-id-178b2743.js → vega-internal-event-id-4072659b.js} +4 -1
  230. package/dist/esm/vega-item-toggle.entry.js +1 -1
  231. package/dist/esm/vega-left-nav_5.entry.js +18 -18
  232. package/dist/esm/vega-line-chart.entry.js +1 -1
  233. package/dist/esm/vega-loader-wrapper_2.entry.js +13 -13
  234. package/dist/esm/vega-page-notification_2.entry.js +1 -1
  235. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +5 -5
  236. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +5 -5
  237. package/dist/esm/vega-pagination.entry.js +15 -15
  238. package/dist/esm/vega-pie-chart.entry.js +1 -1
  239. package/dist/esm/vega-popover_2.entry.js +16 -16
  240. package/dist/esm/vega-progress-tracker.entry.js +1 -1
  241. package/dist/esm/vega-radio_2.entry.js +12 -12
  242. package/dist/esm/vega-rich-text-content.entry.js +12 -12
  243. package/dist/esm/vega-rich-text-editor_4.entry.js +23 -23
  244. package/dist/esm/vega-section-title.entry.js +1 -1
  245. package/dist/esm/vega-segment-control.entry.js +1 -1
  246. package/dist/esm/vega-selection-chip_2.entry.js +17 -17
  247. package/dist/esm/vega-selection-tile_2.entry.js +10 -10
  248. package/dist/esm/vega-sidenav_3.entry.js +16 -16
  249. package/dist/esm/vega-signature-capture.entry.js +19 -19
  250. package/dist/esm/{vega-skeleton-loader-controller-9d1ffa6c.js → vega-skeleton-loader-controller-3f6faa17.js} +1 -1
  251. package/dist/esm/vega-skeleton.entry.js +1 -1
  252. package/dist/esm/vega-slot-container.entry.js +1 -1
  253. package/dist/esm/vega-stepper.entry.js +9 -9
  254. package/dist/esm/vega-tab-group_2.entry.js +4 -4
  255. package/dist/esm/vega-table_8.entry.js +1475 -317
  256. package/dist/esm/vega-text.entry.js +1 -1
  257. package/dist/esm/vega-textarea.entry.js +9 -9
  258. package/dist/esm/vega-time-picker_2.entry.js +20 -20
  259. package/dist/esm/vega-toggle-switch.entry.js +6 -6
  260. package/dist/esm/vega-tooltip_2.entry.js +16 -16
  261. package/dist/esm/vega.js +14 -14
  262. package/dist/esm/{wait-for-vega-handler-e0a928cd.js → wait-for-vega-handler-c2c07ac3.js} +1 -1
  263. package/dist/types/components/vega-input/slimmers/controllers/vega-input-mask-config-controller.d.ts +7 -0
  264. package/dist/types/components/vega-input/types.d.ts +10 -1
  265. package/dist/types/components/vega-input-credit-card/vega-input-credit-card.d.ts +1 -13
  266. package/dist/types/components/vega-table/interface.d.ts +38 -0
  267. package/dist/types/components/vega-table/slimmers/controllers/dto/column-render-input-model.d.ts +138 -0
  268. package/dist/types/components/vega-table/slimmers/controllers/dto/column-structure-model.d.ts +140 -0
  269. package/dist/types/components/vega-table/slimmers/controllers/dto/test/column-render-input-model.test.d.ts +1 -0
  270. package/dist/types/components/vega-table/slimmers/controllers/dto/test/column-structure-model.test.d.ts +1 -0
  271. package/dist/types/components/vega-table/slimmers/controllers/vega-table-column-structure-model-controller.d.ts +35 -0
  272. package/dist/types/components/vega-table/slimmers/controllers/vega-table-render-input-controller.d.ts +103 -0
  273. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-renderer.d.ts +1 -0
  274. package/dist/types/components/vega-table/slimmers/renderers/vega-table-cell-renderer.d.ts +5 -2
  275. package/dist/types/components/vega-table/slimmers/renderers/vega-table-col-group-renderer.d.ts +1 -0
  276. package/dist/types/components/vega-table/slimmers/renderers/vega-table-header-renderer.d.ts +4 -1
  277. package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +18 -0
  278. package/dist/types/components/vega-table/slimmers/renderers/vega-table-renderer.d.ts +1 -0
  279. package/dist/types/components/vega-table/slimmers/renderers/vega-table-row-renderer.d.ts +1 -1
  280. package/dist/types/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-cell-state-controller.d.ts +4 -0
  281. package/dist/types/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-row-state-controller.d.ts +15 -0
  282. package/dist/types/components/vega-table/vega-table-cell/vega-table-cell.d.ts +10 -0
  283. package/dist/types/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.d.ts +1 -0
  284. package/dist/types/components/vega-table/vega-table-head-cell/slimmers/controllers/vega-table-head-cell-state-controller.d.ts +1 -0
  285. package/dist/types/components/vega-table/vega-table-head-cell/vega-table-head-cell.d.ts +8 -1
  286. package/dist/types/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.d.ts +1 -0
  287. package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +5 -0
  288. package/dist/types/components/vega-table/vega-table.d.ts +17 -1
  289. package/dist/types/components.d.ts +21 -1
  290. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -0
  291. package/dist/types/helpers/formatter/string-formatter/credit-card-blur-mask-strategy.d.ts +28 -0
  292. package/dist/types/helpers/formatter/string-formatter/credit-card-input-mask-strategy.d.ts +21 -0
  293. package/dist/types/helpers/formatter/string-formatter/credit-card-mask-strategy.abstract.d.ts +36 -0
  294. package/dist/types/helpers/formatter/string-formatter/string-format-strategy.abstract.d.ts +1 -1
  295. package/dist/types/helpers/formatter/string-formatter/string-mask-strategy.d.ts +9 -3
  296. package/dist/types/helpers/slimmers/string-input-formatter-slimmer.d.ts +4 -0
  297. package/dist/types/types/components.type.d.ts +2 -0
  298. package/dist/types/types/public-api.d.ts +1 -0
  299. package/dist/types/types/type-guard.d.ts +10 -0
  300. package/dist/vega/index.esm.js +1 -1
  301. package/dist/vega/{p-4df90a1b.entry.js → p-080db42b.entry.js} +1 -1
  302. package/dist/vega/{p-dc383362.entry.js → p-083af15f.entry.js} +1 -1
  303. package/dist/vega/{p-246090cf.entry.js → p-091ab617.entry.js} +1 -1
  304. package/dist/vega/{p-e5eda663.entry.js → p-0b5330e1.entry.js} +1 -1
  305. package/dist/vega/{p-7e70938a.entry.js → p-1792a352.entry.js} +1 -1
  306. package/dist/vega/{p-ec7dc51f.entry.js → p-1a4f77de.entry.js} +1 -1
  307. package/dist/vega/{p-1737536e.entry.js → p-1a6dacc7.entry.js} +1 -1
  308. package/dist/vega/{p-c5afd9aa.entry.js → p-1db2ba98.entry.js} +1 -1
  309. package/dist/vega/{p-c9f544bd.entry.js → p-1f9a735a.entry.js} +1 -1
  310. package/dist/vega/{p-002062c3.entry.js → p-24042f0c.entry.js} +1 -1
  311. package/dist/vega/{p-03c759ae.entry.js → p-27ec0c07.entry.js} +1 -1
  312. package/dist/vega/{p-578ac47f.entry.js → p-311f338d.entry.js} +1 -1
  313. package/dist/vega/{p-0c660956.entry.js → p-317920e6.entry.js} +1 -1
  314. package/dist/vega/{p-5016b57e.entry.js → p-34dc3f71.entry.js} +1 -1
  315. package/dist/vega/{p-302e01e9.entry.js → p-376b3ec7.entry.js} +1 -1
  316. package/dist/vega/{p-586139ce.entry.js → p-394594e9.entry.js} +1 -1
  317. package/dist/vega/{p-a2c4c241.entry.js → p-397b5d91.entry.js} +1 -1
  318. package/dist/vega/{p-08a0cbd0.entry.js → p-39906ad2.entry.js} +1 -1
  319. package/dist/vega/{p-06cd4a19.entry.js → p-41465ad0.entry.js} +1 -1
  320. package/dist/vega/{p-fac5990f.entry.js → p-42ec43ef.entry.js} +1 -1
  321. package/dist/vega/{p-da1d0c02.js → p-43263510.js} +1 -1
  322. package/dist/vega/{p-e2282f71.entry.js → p-435451be.entry.js} +1 -1
  323. package/dist/vega/{p-04c8b83d.entry.js → p-45eb1e01.entry.js} +1 -1
  324. package/dist/vega/{p-7a8b6f2f.entry.js → p-4674c318.entry.js} +1 -1
  325. package/dist/vega/p-472108bd.entry.js +1 -0
  326. package/dist/vega/{p-b6e0d996.entry.js → p-48ae6f02.entry.js} +1 -1
  327. package/dist/vega/{p-7cc20ed5.entry.js → p-48b24fd3.entry.js} +1 -1
  328. package/dist/vega/p-49fd1009.js +1 -0
  329. package/dist/vega/{p-66516ee9.js → p-4a237308.js} +1 -1
  330. package/dist/vega/{p-46eb330f.entry.js → p-4ab67150.entry.js} +1 -1
  331. package/dist/vega/{p-9a9766cc.entry.js → p-4c4ac1a5.entry.js} +1 -1
  332. package/dist/vega/{p-6bd7114d.entry.js → p-4c871d0f.entry.js} +1 -1
  333. package/dist/vega/p-4fb159d5.js +1 -0
  334. package/dist/vega/{p-72a4edf2.entry.js → p-500684e1.entry.js} +1 -1
  335. package/dist/vega/{p-bba5b112.entry.js → p-59282fc8.entry.js} +1 -1
  336. package/dist/vega/p-5bd3487e.js +1 -0
  337. package/dist/vega/{p-fa5eb496.js → p-5d676a94.js} +1 -1
  338. package/dist/vega/{p-b1f65b13.js → p-5e2c9e69.js} +1 -1
  339. package/dist/vega/p-5f377954.js +1 -1
  340. package/dist/vega/{p-e860318d.entry.js → p-5f6b942c.entry.js} +1 -1
  341. package/dist/vega/{p-5cb92c51.entry.js → p-5fe47fe8.entry.js} +1 -1
  342. package/dist/vega/{p-2a6517f9.entry.js → p-61ea2d75.entry.js} +1 -1
  343. package/dist/vega/{p-c0043eed.entry.js → p-63adca7b.entry.js} +1 -1
  344. package/dist/vega/{p-6419abd9.entry.js → p-66e9d31a.entry.js} +1 -1
  345. package/dist/vega/p-699032fc.entry.js +1 -0
  346. package/dist/vega/{p-7503fe08.entry.js → p-6dad2e5c.entry.js} +1 -1
  347. package/dist/vega/{p-f50cd6c3.entry.js → p-710da484.entry.js} +1 -1
  348. package/dist/vega/{p-397c7199.js → p-71c65f7e.js} +1 -1
  349. package/dist/vega/{p-0ce88865.entry.js → p-7c348ac7.entry.js} +1 -1
  350. package/dist/vega/{p-fc790de5.entry.js → p-7d5ebd26.entry.js} +1 -1
  351. package/dist/vega/{p-487c0f17.entry.js → p-81279fea.entry.js} +1 -1
  352. package/dist/vega/p-81ed90d5.js +1 -0
  353. package/dist/vega/{p-aab6f547.entry.js → p-82b18195.entry.js} +1 -1
  354. package/dist/vega/{p-cc6410e6.js → p-832b59af.js} +1 -1
  355. package/dist/vega/{p-5c9efff8.entry.js → p-86a300e8.entry.js} +1 -1
  356. package/dist/vega/{p-138fcf6e.js → p-8782abeb.js} +1 -1
  357. package/dist/vega/{p-68864531.js → p-88e08a33.js} +1 -1
  358. package/dist/vega/{p-cc63e827.js → p-8c46e116.js} +1 -1
  359. package/dist/vega/{p-8e31e7ea.js → p-8c4f893b.js} +1 -1
  360. package/dist/vega/{p-6ec0e3ce.entry.js → p-8e581755.entry.js} +1 -1
  361. package/dist/vega/{p-a46ac2eb.js → p-8e662f26.js} +1 -1
  362. package/dist/vega/{p-3162a3f0.entry.js → p-8f8de5ab.entry.js} +1 -1
  363. package/dist/vega/p-92355996.entry.js +1 -0
  364. package/dist/vega/{p-d8e1ed2d.js → p-9a956a00.js} +1 -1
  365. package/dist/vega/{p-778fd499.js → p-9afdcf65.js} +1 -1
  366. package/dist/vega/p-9b08ed46.entry.js +1 -0
  367. package/dist/vega/{p-1ebc1acf.entry.js → p-9ca7467d.entry.js} +1 -1
  368. package/dist/vega/{p-81e56716.entry.js → p-9ce0bd82.entry.js} +2 -2
  369. package/dist/vega/{p-4ab3df00.js → p-9d6003ef.js} +1 -1
  370. package/dist/vega/p-a04491cc.entry.js +1 -0
  371. package/dist/vega/{p-1a7d0e21.entry.js → p-a1056063.entry.js} +1 -1
  372. package/dist/vega/{p-f3ec4ae6.entry.js → p-a1e50e6c.entry.js} +1 -1
  373. package/dist/vega/p-a4670e23.js +1 -0
  374. package/dist/vega/{p-7728041e.entry.js → p-a4a0fcfd.entry.js} +1 -1
  375. package/dist/vega/{p-a42bc438.entry.js → p-a7042a5a.entry.js} +1 -1
  376. package/dist/vega/p-acf7667e.entry.js +1 -0
  377. package/dist/vega/{p-b3da0b44.entry.js → p-b21b128c.entry.js} +1 -1
  378. package/dist/vega/{p-144d2390.entry.js → p-b75a8edb.entry.js} +1 -1
  379. package/dist/vega/{p-d5f1794e.js → p-bcdb235d.js} +1 -1
  380. package/dist/vega/{p-36827489.entry.js → p-bd84b7b9.entry.js} +1 -1
  381. package/dist/vega/{p-6b8d105e.entry.js → p-c21295cf.entry.js} +1 -1
  382. package/dist/vega/{p-ac3a2d9c.entry.js → p-c42ec0ac.entry.js} +1 -1
  383. package/dist/vega/{p-bbdc6170.entry.js → p-c69a6547.entry.js} +1 -1
  384. package/dist/vega/p-c9740710.entry.js +1 -0
  385. package/dist/vega/{p-59f1fd3e.entry.js → p-ce5a3589.entry.js} +1 -1
  386. package/dist/vega/{p-1c3e1134.js → p-d1355307.js} +1 -1
  387. package/dist/vega/{p-6b7dca3e.js → p-d789b291.js} +1 -1
  388. package/dist/vega/{p-c685adcd.js → p-d7e0c57a.js} +1 -1
  389. package/dist/vega/p-d849e0f5.js +1 -0
  390. package/dist/vega/{p-7a40e033.js → p-db8cdba6.js} +1 -1
  391. package/dist/vega/{p-f4a13f3f.js → p-e1ed78db.js} +1 -1
  392. package/dist/vega/{p-4d793cb0.js → p-e77a83e4.js} +1 -1
  393. package/dist/vega/{p-c990e249.js → p-e940bc37.js} +1 -1
  394. package/dist/vega/p-ef84dc90.entry.js +1 -0
  395. package/dist/vega/{p-c9b9322b.js → p-f08a4adf.js} +1 -1
  396. package/dist/vega/{p-ae74d511.js → p-f229d6d1.js} +1 -1
  397. package/dist/vega/{p-dc3d93d6.js → p-f25570f5.js} +1 -1
  398. package/dist/vega/{p-576b812b.entry.js → p-f27fcc7c.entry.js} +1 -1
  399. package/dist/vega/{p-5f86a286.entry.js → p-f3ab00ad.entry.js} +1 -1
  400. package/dist/vega/{p-151dec6a.entry.js → p-f3bd26a1.entry.js} +1 -1
  401. package/dist/vega/p-f543e911.entry.js +1 -0
  402. package/dist/vega/p-f5ac60f5.js +1 -0
  403. package/dist/vega/p-f7b5833d.entry.js +1 -0
  404. package/dist/vega/{p-73821eba.entry.js → p-f940b7f7.entry.js} +1 -1
  405. package/dist/vega/p-fc02a67a.js +1 -0
  406. package/dist/vega/p-fcb5b40f.entry.js +1 -0
  407. package/dist/vega/{p-4b2a90b8.js → p-fda6f8bc.js} +1 -1
  408. package/dist/vega/{p-5be150cb.entry.js → p-fe1512f9.entry.js} +1 -1
  409. package/dist/vega/vega.esm.js +1 -1
  410. package/package.json +2 -2
  411. package/dist/vega/p-063d0bee.entry.js +0 -1
  412. package/dist/vega/p-2205ee4c.js +0 -1
  413. package/dist/vega/p-23064067.entry.js +0 -1
  414. package/dist/vega/p-2f6c4f2c.entry.js +0 -1
  415. package/dist/vega/p-37b05e0b.js +0 -1
  416. package/dist/vega/p-425ba7d6.js +0 -1
  417. package/dist/vega/p-4387d550.js +0 -1
  418. package/dist/vega/p-4a12fb0d.entry.js +0 -1
  419. package/dist/vega/p-4c595d8d.entry.js +0 -1
  420. package/dist/vega/p-5e530257.js +0 -1
  421. package/dist/vega/p-61e1e356.entry.js +0 -1
  422. package/dist/vega/p-636142ae.entry.js +0 -1
  423. package/dist/vega/p-6a7b7214.js +0 -1
  424. package/dist/vega/p-78937642.entry.js +0 -1
  425. package/dist/vega/p-7cb11f3f.entry.js +0 -1
  426. package/dist/vega/p-962b40d1.entry.js +0 -1
  427. package/dist/vega/p-9d286c08.entry.js +0 -1
  428. package/dist/vega/p-d64b20c2.js +0 -1
@@ -0,0 +1,147 @@
1
+ import { ColumnStructureModel } from '../column-structure-model';
2
+ describe('ColumnStructureModel', () => {
3
+ it('normal columns', () => {
4
+ const columns = [
5
+ { key: 'a', label: 'A' },
6
+ { label: 'B' },
7
+ { prop: 'c', label: 'C' },
8
+ ];
9
+ const root = ColumnStructureModel.from(columns, null);
10
+ const keys = root.iterator().map((m) => m.key);
11
+ expect(keys).toEqual(['a', 'B', 'c']);
12
+ const leafKeys = root.getLeaves().map((l) => l.key);
13
+ expect(leafKeys).toEqual(['a', 'B', 'c']);
14
+ expect(root.hasLeftPinnedColumn()).toBe(false);
15
+ expect(root.hasRightPinnedColumn()).toBe(false);
16
+ expect(root.hasGroupColumn()).toBe(false);
17
+ expect(root.getMaxDepth()).toBe(1);
18
+ expect(root.generateColumnConfigByLeaves(columns)).toEqual([
19
+ { key: 'a', label: 'A' },
20
+ { label: 'B' },
21
+ { prop: 'c', label: 'C' },
22
+ ]);
23
+ });
24
+ it('normal columns with pinned', () => {
25
+ const columns = [
26
+ { key: 'a', label: 'A' },
27
+ { key: 'c', pinned: 'right', label: 'C' },
28
+ { key: 'b', pinned: 'left', label: 'B' },
29
+ ];
30
+ const root = ColumnStructureModel.from(columns, null);
31
+ const keys = root.iterator().map((m) => m.key);
32
+ expect(keys).toEqual(['b', 'a', 'c']);
33
+ const leafKeys = root.getLeaves().map((l) => l.key);
34
+ expect(leafKeys).toEqual(['b', 'a', 'c']);
35
+ expect(root.hasLeftPinnedColumn()).toBe(true);
36
+ expect(root.hasRightPinnedColumn()).toBe(true);
37
+ expect(root.hasGroupColumn()).toBe(false);
38
+ expect(root.getMaxDepth()).toBe(1);
39
+ expect(root.generateColumnConfigByLeaves(columns)).toEqual([
40
+ { key: 'b', label: 'B', pinned: 'left' },
41
+ { key: 'a', label: 'A' },
42
+ { key: 'c', label: 'C', pinned: 'right' },
43
+ ]);
44
+ });
45
+ it('group columns', () => {
46
+ const groupConfig = [
47
+ {
48
+ key: 'a',
49
+ label: 'Group A',
50
+ children: [{ key: 'e' }, { key: 'f' }],
51
+ },
52
+ {
53
+ key: 'b',
54
+ label: 'Group B',
55
+ pinned: 'right',
56
+ children: [{ key: 'g' }],
57
+ },
58
+ { key: 'c', label: 'Group C', pinned: 'left' },
59
+ { key: 'd' },
60
+ ];
61
+ const root = ColumnStructureModel.from(null, groupConfig);
62
+ const keys = root.iterator().map((m) => m.key);
63
+ expect(keys).toEqual(['c', 'a', 'e', 'f', 'd', 'b', 'g']);
64
+ const leafKeys = root.getLeaves().map((l) => l.key);
65
+ expect(leafKeys).toEqual(['c', 'e', 'f', 'd', 'g']);
66
+ expect(root.hasLeftPinnedColumn()).toBe(true);
67
+ expect(root.hasRightPinnedColumn()).toBe(true);
68
+ expect(root.hasGroupColumn()).toBe(true);
69
+ expect(root.getMaxDepth()).toBe(2);
70
+ expect(root.generateColumnConfigByLeaves([
71
+ { key: 'e', label: 'E' },
72
+ { key: 'c', label: 'C' },
73
+ { key: 'f', label: 'F' },
74
+ { key: 'h', label: 'H' },
75
+ { key: 'd', label: 'D' },
76
+ ])).toEqual([
77
+ { key: 'c', label: 'C' },
78
+ { key: 'e', label: 'E' },
79
+ { key: 'f', label: 'F' },
80
+ { key: 'd', label: 'D' },
81
+ undefined,
82
+ ]);
83
+ });
84
+ it('iterator cache', () => {
85
+ const groupConfig = [
86
+ {
87
+ key: 'a',
88
+ label: 'Group A',
89
+ children: [{ key: 'e' }, { key: 'f' }],
90
+ },
91
+ { key: 'd' },
92
+ ];
93
+ const root = ColumnStructureModel.from(null, groupConfig);
94
+ expect(root.iterator('bfs')).toEqual([]);
95
+ const first = root.iterator();
96
+ const second = root.iterator();
97
+ expect(first).toBe(second);
98
+ });
99
+ it('leaves cache', () => {
100
+ const groupConfig = [
101
+ {
102
+ key: 'a',
103
+ label: 'Group A',
104
+ children: [{ key: 'e' }, { key: 'f' }],
105
+ },
106
+ { key: 'd' },
107
+ ];
108
+ const root = ColumnStructureModel.from(null, groupConfig);
109
+ const first = root.getLeaves();
110
+ const second = root.getLeaves();
111
+ expect(first).toBe(second);
112
+ });
113
+ it('order cache', () => {
114
+ const groupConfig = [
115
+ {
116
+ key: 'a',
117
+ label: 'Group A',
118
+ children: [{ key: 'e' }, { key: 'f' }],
119
+ },
120
+ { key: 'c', label: 'Group C', pinned: 'left' },
121
+ { key: 'd' },
122
+ ];
123
+ const root = ColumnStructureModel.from(null, groupConfig);
124
+ const first = root['orderChildrenByPinned']();
125
+ const second = root['orderChildrenByPinned']();
126
+ expect(first).toBe(second);
127
+ expect(root.children[0]['orderedChildren']).toEqual([]);
128
+ });
129
+ it('handles empty inputs (no columns / groups)', () => {
130
+ const root = ColumnStructureModel.from([], []);
131
+ expect(root.children).toEqual([]);
132
+ expect(root.iterator()).toEqual([]);
133
+ expect(root.getLeaves()).toEqual([]);
134
+ expect(root.getMaxDepth()).toBe(0);
135
+ expect(root.hasGroupColumn()).toBe(false);
136
+ expect(root.hasLeftPinnedColumn()).toBe(false);
137
+ expect(root.hasRightPinnedColumn()).toBe(false);
138
+ expect(root.generateColumnConfigByLeaves([
139
+ { key: 'e', label: 'E' },
140
+ { key: 'c', label: 'C' },
141
+ ])).toEqual([]);
142
+ });
143
+ it('call iterator with a not supported type', () => {
144
+ const root = ColumnStructureModel.from(null, null);
145
+ expect(root.iterator('not-support')).toEqual([]);
146
+ });
147
+ });
@@ -0,0 +1,66 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
+ import { ColumnStructureModel } from './dto/column-structure-model';
9
+ /**
10
+ * Controller responsible for building and keeping the ColumnStructureModel in sync
11
+ * with the component's `columns` and `groupColumns` properties.
12
+ *
13
+ * This slimmer maps relevant component fields and lifecycle/watch hooks to
14
+ * automatically rebuild the column structure when inputs change.
15
+ */
16
+ export class VegaTableColumnStructureModelController extends VegaSlimmer {
17
+ /**
18
+ * Component lifecycle hook mapped to the host's componentWillLoad.
19
+ * Initializes the ColumnStructureModel prior to initial render.
20
+ */
21
+ componentWillLoad() {
22
+ this.setColumnStructureModel();
23
+ }
24
+ /**
25
+ * Watch handler mapped to the host's watchColumns.
26
+ * Rebuilds the ColumnStructureModel when `columns` changes.
27
+ */
28
+ watchColumns() {
29
+ this.setColumnStructureModel();
30
+ }
31
+ /**
32
+ * Watch handler mapped to the host's watchGroupColumns.
33
+ * Rebuilds the ColumnStructureModel when `groupColumns` changes.
34
+ */
35
+ watchGroupColumns() {
36
+ this.setColumnStructureModel();
37
+ }
38
+ /**
39
+ * Build and assign the ColumnStructureModel from current `columns` and `groupColumns`.
40
+ * Uses `ColumnStructureModel.from` which returns a root model representing the column tree.
41
+ */
42
+ setColumnStructureModel() {
43
+ this.columnStructureModel = ColumnStructureModel.from(this.columns, this.groupColumns);
44
+ }
45
+ }
46
+ __decorate([
47
+ MapToComponentField()
48
+ ], VegaTableColumnStructureModelController.prototype, "host", void 0);
49
+ __decorate([
50
+ MapToComponentField()
51
+ ], VegaTableColumnStructureModelController.prototype, "columns", void 0);
52
+ __decorate([
53
+ MapToComponentField()
54
+ ], VegaTableColumnStructureModelController.prototype, "groupColumns", void 0);
55
+ __decorate([
56
+ MapToComponentField({ writable: true })
57
+ ], VegaTableColumnStructureModelController.prototype, "columnStructureModel", void 0);
58
+ __decorate([
59
+ MapToComponentMethod('componentWillLoad')
60
+ ], VegaTableColumnStructureModelController.prototype, "componentWillLoad", null);
61
+ __decorate([
62
+ MapToComponentMethod('watchColumns')
63
+ ], VegaTableColumnStructureModelController.prototype, "watchColumns", null);
64
+ __decorate([
65
+ MapToComponentMethod('watchGroupColumns')
66
+ ], VegaTableColumnStructureModelController.prototype, "watchGroupColumns", null);
@@ -0,0 +1,171 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ 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;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
8
+ import domNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
9
+ import { VegaInternalColumnBodyCellRenderInputRIC, VegaInternalColumnHeadCellRenderInputRIC, VegaInternalColumnHeadRowRenderInputRIC, } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
10
+ import remoteInvocationRegistry from '../../../../helpers/remote-invocation/remote-invocation-registry';
11
+ import { ColumnRenderInputModel } from './dto/column-render-input-model';
12
+ /**
13
+ * VegaTableRenderInputController
14
+ *
15
+ * Central controller that computes and provides render input data for table header rows,
16
+ * header cells and body cells. Responsibilities:
17
+ * - Build and cache shared header layout context (depth, width, pinned indices).
18
+ * - Generate per-head-row and per-body-row render inputs used by head/row renderers.
19
+ * - Expose render inputs to shadow DOM cells via Remote Invocation Call (RIC) registry.
20
+ */
21
+ export class VegaTableRenderInputController extends VegaSlimmer {
22
+ constructor() {
23
+ super(...arguments);
24
+ this.headRowRenderInputMap = new Map();
25
+ this.headCellRenderInputMap = new Map();
26
+ this.pinnedColumnBodyCellRenderInputMap = new Map();
27
+ }
28
+ /**
29
+ * Register remote invocation observers when controller is connected.
30
+ * Called via component lifecycle mapping.
31
+ */
32
+ connectedCallback() {
33
+ this.registerRenderInputRICObserver();
34
+ }
35
+ /**
36
+ * Unregister remote invocation observers when controller is disconnected.
37
+ * Called via component lifecycle mapping.
38
+ */
39
+ disconnectedCallback() {
40
+ this.unRegisterRenderInputRICObserver();
41
+ }
42
+ /**
43
+ * Initialize head context before component load.
44
+ * Called via component lifecycle mapping.
45
+ */
46
+ componentWillLoad() {
47
+ this.setRenderInputModel();
48
+ }
49
+ /**
50
+ * Recompute head context when the column structure model changes.
51
+ * Called via watch mapping.
52
+ */
53
+ watchColumnStructureModel() {
54
+ this.setRenderInputModel();
55
+ }
56
+ /**
57
+ * Return render input models for table body (flattened leaves).
58
+ *
59
+ * @returns {ColumnRenderInputModel[]} Flattened array of leaf render input models.
60
+ */
61
+ getLeafRenderInputs() {
62
+ return this.leavesRenderInputModels;
63
+ }
64
+ /**
65
+ * Return render input models for table head (root-level forest).
66
+ *
67
+ * @returns {ColumnRenderInputModel[]} Root-level column render input models.
68
+ */
69
+ getHeadRenderInputs() {
70
+ return this.columnRenderInputModels;
71
+ }
72
+ /**
73
+ * Store head row render input mapping for remote invocation.
74
+ *
75
+ * @param {HTMLElement} headRow - The head row element.
76
+ * @param {ColumnRenderInputModel[]} renderInputs - Associated render input models.
77
+ */
78
+ addHeadRowRenderInputMap(headRow, renderInputs) {
79
+ this.headRowRenderInputMap.set(headRow, renderInputs);
80
+ }
81
+ /**
82
+ * Store head cell render input mapping for remote invocation.
83
+ *
84
+ * @param {HTMLElement} headCell - The head cell element.
85
+ * @param {ColumnRenderInputModel} renderInput - Associated render input model.
86
+ */
87
+ addHeadCellRenderInputMap(headCell, renderInput) {
88
+ this.headCellRenderInputMap.set(headCell, renderInput);
89
+ }
90
+ /**
91
+ * Store body cell render input mapping for pinned cells (used to update sticky positions).
92
+ *
93
+ * Only stores cells that require sticky positioning (left/right or no-pinned-end).
94
+ *
95
+ * @param {HTMLElement} cell - The body cell element.
96
+ * @param {ColumnRenderInputModel} renderInput - Associated render input model.
97
+ */
98
+ addCellRenderInputMap(cell, renderInput) {
99
+ if ((cell && ['left', 'right'].includes(renderInput.pinned)) || renderInput.isNoPinnedEnd) {
100
+ this.pinnedColumnBodyCellRenderInputMap.set(cell, renderInput);
101
+ }
102
+ }
103
+ /**
104
+ * Expose the internal head-cell -> render-input mapping.
105
+ *
106
+ * @typedef {import('../../../../types/components').HTMLVegaTableHeadCellElement} HTMLVegaTableHeadCellElement
107
+ * @returns {Map<HTMLVegaTableHeadCellElement, ColumnRenderInputModel>} Map of head cell elements to render input.
108
+ */
109
+ getHeadCellRenderInputMap() {
110
+ return this.headCellRenderInputMap;
111
+ }
112
+ /**
113
+ * Expose the internal map of pinned body cells to their render inputs.
114
+ *
115
+ * @typedef {import('../../../../types/components').HTMLVegaTableCellElement} HTMLVegaTableCellElement
116
+ * @returns {Map<HTMLVegaTableCellElement, ColumnRenderInputModel>} Map of body cell hosts requiring sticky positioning.
117
+ */
118
+ getPinnedColumnBodyCellRenderInputMap() {
119
+ return this.pinnedColumnBodyCellRenderInputMap;
120
+ }
121
+ /**
122
+ * Register remote invocation callbacks to allow DOM nodes to request render inputs.
123
+ */
124
+ registerRenderInputRICObserver() {
125
+ remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnHeadRowRenderInputRIC), (headRow) => {
126
+ return this.headRowRenderInputMap.get(headRow);
127
+ });
128
+ remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnHeadCellRenderInputRIC), (headCell) => {
129
+ return this.headCellRenderInputMap.get(headCell);
130
+ });
131
+ remoteInvocationRegistry.register(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnBodyCellRenderInputRIC), (cell) => {
132
+ return this.pinnedColumnBodyCellRenderInputMap.get(cell);
133
+ });
134
+ }
135
+ /**
136
+ * Unregister remote invocation callbacks previously registered.
137
+ */
138
+ unRegisterRenderInputRICObserver() {
139
+ remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnHeadRowRenderInputRIC));
140
+ remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnHeadCellRenderInputRIC));
141
+ remoteInvocationRegistry.unRegister(domNodeSubjectFactory.getSubject(this.host, VegaInternalColumnBodyCellRenderInputRIC));
142
+ }
143
+ /**
144
+ * Build the ColumnRenderInputModel forest from the current ColumnStructureModel.
145
+ */
146
+ setRenderInputModel() {
147
+ this.columnRenderInputModels = ColumnRenderInputModel.from(this.columnStructureModel);
148
+ this.leavesRenderInputModels = this.columnRenderInputModels.flatMap((model) => model.getLeaves());
149
+ }
150
+ }
151
+ __decorate([
152
+ MapToComponentField()
153
+ ], VegaTableRenderInputController.prototype, "host", void 0);
154
+ __decorate([
155
+ MapToComponentField()
156
+ ], VegaTableRenderInputController.prototype, "columnStructureModel", void 0);
157
+ __decorate([
158
+ MapToComponentField()
159
+ ], VegaTableRenderInputController.prototype, "vegaTableColGroupRenderer", void 0);
160
+ __decorate([
161
+ MapToComponentMethod('connectedCallback')
162
+ ], VegaTableRenderInputController.prototype, "connectedCallback", null);
163
+ __decorate([
164
+ MapToComponentMethod('disconnectedCallback')
165
+ ], VegaTableRenderInputController.prototype, "disconnectedCallback", null);
166
+ __decorate([
167
+ MapToComponentMethod('componentWillLoad')
168
+ ], VegaTableRenderInputController.prototype, "componentWillLoad", null);
169
+ __decorate([
170
+ MapToComponentMethod('watchColumnStructureModel')
171
+ ], VegaTableRenderInputController.prototype, "watchColumnStructureModel", null);
@@ -34,7 +34,9 @@ export class VegaTableBodyRenderer extends VegaSlimmer {
34
34
  return this.tableFormRef;
35
35
  }
36
36
  render() {
37
- const editable = this.columns.some((item) => item.editable);
37
+ const editable = this.columnStructureModel
38
+ .generateColumnConfigByLeaves(this.columns)
39
+ .some((item) => item === null || item === void 0 ? void 0 : item.editable);
38
40
  return editable ? (h("vega-form", { ref: (ref) => (this.tableFormRef = ref) }, this.renderTableBody(editable))) : (this.renderTableBody(false));
39
41
  }
40
42
  }
@@ -65,3 +67,6 @@ __decorate([
65
67
  __decorate([
66
68
  MapToComponentField()
67
69
  ], VegaTableBodyRenderer.prototype, "vegaTableRowRenderer", void 0);
70
+ __decorate([
71
+ MapToComponentField()
72
+ ], VegaTableBodyRenderer.prototype, "columnStructureModel", void 0);
@@ -86,18 +86,36 @@ export class VegaTableCellRenderer extends VegaSlimmer {
86
86
  new RegExp(VegaTableEditableFieldTypes.join('|'), 'i').test(tagName));
87
87
  };
88
88
  }
89
- render(column, record, index) {
90
- const rowKey = this.vegaTableDataSourceController.getRecordKey(record);
91
- const columnKey = `${rowKey}_${column.key || column.prop}`;
92
- return (h("vega-table-cell", { key: columnKey, textAlign: column.align, breakpoint: column.breakpoint, overflow: column.overflow }, this.renderTableCellContent(column, record, index)));
89
+ render(renderInput, record, index) {
90
+ const column = this.columns.find((column) => column.key === renderInput.key ||
91
+ column.prop === renderInput.key ||
92
+ column.label === renderInput.key);
93
+ if (column) {
94
+ const rowKey = this.vegaTableDataSourceController.getRecordKey(record);
95
+ const columnKey = `${rowKey}_${column.key || column.prop}`;
96
+ return (h("vega-table-cell", { key: columnKey, textAlign: column.align, breakpoint: column.breakpoint, overflow: column.overflow, ref: (ref) => {
97
+ this.vegaTableRenderInputController.addCellRenderInputMap(ref, renderInput);
98
+ } }, this.renderTableCellContent(column, record, index)));
99
+ }
100
+ else {
101
+ return (h("vega-table-cell", { key: renderInput.key, ref: (ref) => {
102
+ this.vegaTableRenderInputController.addCellRenderInputMap(ref, renderInput);
103
+ } }));
104
+ }
93
105
  }
94
106
  }
95
107
  __decorate([
96
108
  MapToComponentField()
97
109
  ], VegaTableCellRenderer.prototype, "rowKey", void 0);
110
+ __decorate([
111
+ MapToComponentField()
112
+ ], VegaTableCellRenderer.prototype, "columns", void 0);
98
113
  __decorate([
99
114
  MapToComponentField()
100
115
  ], VegaTableCellRenderer.prototype, "vegaTableDataSourceController", void 0);
101
116
  __decorate([
102
117
  MapToComponentField()
103
118
  ], VegaTableCellRenderer.prototype, "vegaTableEditableController", void 0);
119
+ __decorate([
120
+ MapToComponentField()
121
+ ], VegaTableCellRenderer.prototype, "vegaTableRenderInputController", void 0);
@@ -20,9 +20,16 @@ export class VegaTableColGroupRenderer extends VegaSlimmer {
20
20
  return (h("colgroup", null,
21
21
  h("col", { style: { minWidth: this.paddingX[0], width: this.paddingX[0] } }),
22
22
  this.vegaTableRowSelectionController.getRowSelectionType() === 'multiple' && (h("col", { style: { minWidth: '40px', width: '40px' } })),
23
- this.columns.map((column) => {
24
- const responsiveClass = this.getColResponsiveClass(column);
25
- return (h("col", { class: responsiveClass, style: { width: column.width ? column.width : null } }));
23
+ this.columnStructureModel
24
+ .generateColumnConfigByLeaves(this.columns)
25
+ .map((column) => {
26
+ if (column) {
27
+ const responsiveClass = this.getColResponsiveClass(column);
28
+ return (h("col", { class: responsiveClass, style: { width: column.width ? column.width : null } }));
29
+ }
30
+ else {
31
+ return h("col", null);
32
+ }
26
33
  }),
27
34
  this.rowExpandable && h("col", { style: { minWidth: '40px', width: '40px' } }),
28
35
  h("col", { style: { minWidth: this.paddingX[1], width: this.paddingX[1] } })));
@@ -31,6 +38,9 @@ export class VegaTableColGroupRenderer extends VegaSlimmer {
31
38
  __decorate([
32
39
  MapToComponentField()
33
40
  ], VegaTableColGroupRenderer.prototype, "paddingX", void 0);
41
+ __decorate([
42
+ MapToComponentField()
43
+ ], VegaTableColGroupRenderer.prototype, "columnStructureModel", void 0);
34
44
  __decorate([
35
45
  MapToComponentField()
36
46
  ], VegaTableColGroupRenderer.prototype, "columns", void 0);
@@ -11,24 +11,58 @@ import { VegaClick } from '../../../../helpers/event-manager/event-id/vega-event
11
11
  export class VegaTableHeaderRenderer extends VegaSlimmer {
12
12
  constructor() {
13
13
  super(...arguments);
14
- this.renderHeaderColumnCells = () => {
15
- return this.columns.map((column) => {
14
+ this.renderHeaderRows = () => {
15
+ const renderInputs = this.vegaTableRenderInputController.getHeadRenderInputs();
16
+ const rows = [];
17
+ let levelRenderInputs = renderInputs;
18
+ while (levelRenderInputs.length > 0) {
19
+ rows.push(levelRenderInputs);
20
+ levelRenderInputs = levelRenderInputs.flatMap((n) => n.children);
21
+ }
22
+ return rows.map((cells) => {
16
23
  var _a;
24
+ return (h("vega-table-head-row", { hideSelectAll: (_a = this.rowSelection) === null || _a === void 0 ? void 0 : _a.hideSelectAll, ref: (ref) => {
25
+ this.vegaTableRenderInputController.addHeadRowRenderInputMap(ref, cells);
26
+ } }, cells.map((renderInput) => {
27
+ if (renderInput.label) {
28
+ return this.renderGroupCell(renderInput);
29
+ }
30
+ else {
31
+ const column = this.columns.find((column) => column.key === renderInput.key ||
32
+ column.prop === renderInput.key ||
33
+ column.label === renderInput.key);
34
+ return this.renderCell(renderInput, column);
35
+ }
36
+ })));
37
+ });
38
+ };
39
+ this.renderGroupCell = (renderInput) => {
40
+ return (h("vega-table-head-cell", { key: renderInput.key, ref: (ref) => {
41
+ this.vegaTableRenderInputController.addHeadCellRenderInputMap(ref, renderInput);
42
+ } }, renderInput.label));
43
+ };
44
+ this.renderCell = (renderInput, column) => {
45
+ var _a;
46
+ if (column) {
17
47
  return (h("vega-table-head-cell", { key: column.key || column.prop, textAlign: column.align, sorter: column.sorter, sortOrder: (_a = this.sortersMap.get(column.prop)) === null || _a === void 0 ? void 0 : _a.getSortOrder(), sortConfig: this.sortConfig, breakpoint: column.breakpoint,
18
48
  /* eslint-disable-next-line react/jsx-no-bind */
19
49
  ref: (ref) => {
50
+ this.vegaTableRenderInputController.addHeadCellRenderInputMap(ref, renderInput);
20
51
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClick, (input) => {
21
52
  const sortOrder = input.detail.sortOrder;
22
53
  this.vegaTableSortController.handleHeadSortClick(column, sortOrder);
23
54
  });
24
55
  } }, column.label));
25
- });
56
+ }
57
+ else {
58
+ return (h("vega-table-head-cell", { key: renderInput.key, ref: (ref) => {
59
+ this.vegaTableRenderInputController.addHeadCellRenderInputMap(ref, renderInput);
60
+ } }));
61
+ }
26
62
  };
27
63
  }
28
64
  render() {
29
- var _a;
30
- return (this.showHeader && (h("vega-table-head", null,
31
- h("vega-table-head-row", { hideSelectAll: (_a = this.rowSelection) === null || _a === void 0 ? void 0 : _a.hideSelectAll }, this.renderHeaderColumnCells()))));
65
+ return this.showHeader && h("vega-table-head", null, this.renderHeaderRows());
32
66
  }
33
67
  }
34
68
  __decorate([
@@ -52,3 +86,6 @@ __decorate([
52
86
  __decorate([
53
87
  MapToComponentField()
54
88
  ], VegaTableHeaderRenderer.prototype, "vegaTableDataSourceController", void 0);
89
+ __decorate([
90
+ MapToComponentField()
91
+ ], VegaTableHeaderRenderer.prototype, "vegaTableRenderInputController", void 0);