@globalpayments/vega 2.97.0 → 2.99.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 (628) hide show
  1. package/dist/cjs/{action-color-accessibility-validator-24498816.js → action-color-accessibility-validator-b8a9ef0f.js} +2 -2
  2. package/dist/cjs/{app-globals-3f57f7b9.js → app-globals-a306dce6.js} +10 -10
  3. package/dist/cjs/{aria-dialog-focusable-trap-slimmer-73b4c0cb.js → aria-dialog-focusable-trap-slimmer-62147489.js} +1 -1
  4. package/dist/cjs/{code-block-28a7732e.js → code-block-ea1f5eb3.js} +58 -14
  5. package/dist/cjs/{component-global-style-slimmer-93c5fb50.js → component-global-style-slimmer-ba588eb4.js} +1 -1
  6. package/dist/cjs/{component-value-history-controller-slimmer.abstract-50cdba6e.js → component-value-history-controller-slimmer.abstract-7071b064.js} +25 -6
  7. package/dist/cjs/constants-907d7d89.js +16 -0
  8. package/dist/cjs/{content-state-e2ab0f06.js → content-state-8d07d530.js} +61 -9
  9. package/dist/cjs/{dark-mode-style-controller-32d4054a.js → dark-mode-style-controller-f3da3342.js} +2 -2
  10. package/dist/cjs/{date-required-rule-5250f26d.js → date-required-rule-c0c498ad.js} +1 -1
  11. package/dist/cjs/{design-token-74674ee7.js → design-token-58bf7fe8.js} +3 -3
  12. package/dist/cjs/{element-appender-slimmer-ccb2e3c2.js → element-appender-slimmer-a0269315.js} +3 -3
  13. package/dist/cjs/{form-field-controller-slimmer-58621b5e.js → form-field-controller-slimmer-f73f200e.js} +4 -4
  14. package/dist/cjs/{image-annotation-action-b54dc669.js → image-annotation-action-2a28038e.js} +3 -3
  15. package/dist/cjs/{image-extension-1e3eeaa3.js → image-extension-9659708b.js} +2 -2
  16. package/dist/cjs/{index-592b4052.js → index-5d1adcd1.js} +86 -0
  17. package/dist/cjs/index.cjs.js +20 -20
  18. package/dist/cjs/{inject-keyboard-manager-6a6f5c9f.js → inject-keyboard-manager-4fa45f9c.js} +1 -1
  19. package/dist/cjs/{internal-calendar-period-factory-dfcdd3f6.js → internal-calendar-period-factory-6196bc80.js} +1 -1
  20. package/dist/cjs/{internal-translation-controller-1dac2df8.js → internal-translation-controller-51f7f865.js} +2 -0
  21. package/dist/cjs/{keyboard-manager-c56033b1.js → keyboard-manager-482fe257.js} +1 -1
  22. package/dist/cjs/{keyboard-manager-slimmer-7043a106.js → keyboard-manager-slimmer-a19430dd.js} +1 -1
  23. package/dist/cjs/{link-extension-71c27ff3.js → link-extension-11340e1c.js} +26 -7
  24. package/dist/cjs/loader.cjs.js +15 -15
  25. package/dist/cjs/{month-view-generator-7b704a80.js → month-view-generator-1a534451.js} +1 -1
  26. package/dist/cjs/{public-rules-55e34d2e.js → public-rules-6c77b545.js} +10 -10
  27. package/dist/cjs/{range-eebe0e3c.js → range-22ddd452.js} +1 -1
  28. package/dist/cjs/{responsive-format-facade-493d1763.js → responsive-format-facade-74e6d791.js} +1 -1
  29. package/dist/cjs/{rich-text-editor-required-rule-4fdee376.js → rich-text-editor-required-rule-09d1093a.js} +1 -1
  30. package/dist/cjs/{split-cell-operation-51097409.js → split-cell-operation-11bfb305.js} +14 -4
  31. package/dist/cjs/{state-border-formatter-711c7aaa.js → state-border-formatter-bf4f9f1c.js} +1 -1
  32. package/dist/cjs/{string-format-strategy.abstract-b61bdcbd.js → string-format-strategy.abstract-bf37b14c.js} +1 -1
  33. package/dist/cjs/{string-input-formatter-slimmer-18d45942.js → string-input-formatter-slimmer-ffeb18a6.js} +3 -3
  34. package/dist/cjs/{string-mask-strategy-ad3fa0ac.js → string-mask-strategy-7f394726.js} +2 -2
  35. package/dist/cjs/{style-formatter-8f711cb0.js → style-formatter-4ac63910.js} +2 -2
  36. package/dist/cjs/{sub-state-notify-slimmer-18891389.js → sub-state-notify-slimmer-e264a120.js} +1 -1
  37. package/dist/cjs/{sub-state-observer-slimmer-eee2f0ae.js → sub-state-observer-slimmer-6033b824.js} +1 -1
  38. package/dist/cjs/{time-required-rule-87417359.js → time-required-rule-e2a50003.js} +1 -1
  39. package/dist/cjs/{token-extension-608bbf7b.js → token-extension-4686cb3b.js} +2921 -158
  40. package/dist/cjs/{translation-slimmer-77c7f37d.js → translation-slimmer-e4997f8f.js} +1 -1
  41. package/dist/cjs/{type-guard-a57ef3ac.js → type-guard-b8d7bb3f.js} +1 -1
  42. package/dist/cjs/{valid-credit-card-number-rule-4c0a3040.js → valid-credit-card-number-rule-f5a6f009.js} +1 -1
  43. package/dist/cjs/vega-accordion.cjs.entry.js +6 -6
  44. package/dist/cjs/vega-app-footer.cjs.entry.js +2 -2
  45. package/dist/cjs/vega-app-header-button.cjs.entry.js +5 -5
  46. package/dist/cjs/vega-box.cjs.entry.js +7 -7
  47. package/dist/cjs/vega-brand-logo.cjs.entry.js +2 -2
  48. package/dist/cjs/vega-breadcrumb.cjs.entry.js +2 -2
  49. package/dist/cjs/vega-button-circle.cjs.entry.js +7 -7
  50. package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
  51. package/dist/cjs/vega-button-link.cjs.entry.js +1 -1
  52. package/dist/cjs/vega-button.cjs.entry.js +5 -5
  53. package/dist/cjs/vega-calendar_5.cjs.entry.js +24 -13
  54. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  55. package/dist/cjs/vega-carousel.cjs.entry.js +3 -3
  56. package/dist/cjs/vega-checkbox_2.cjs.entry.js +5 -5
  57. package/dist/cjs/vega-chip.cjs.entry.js +5 -5
  58. package/dist/cjs/vega-code-block.cjs.entry.js +16 -29
  59. package/dist/cjs/vega-color-picker.cjs.entry.js +5 -5
  60. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +6 -6
  61. package/dist/cjs/vega-color-swatch.cjs.entry.js +2 -2
  62. package/dist/cjs/vega-combo-box.cjs.entry.js +11 -11
  63. package/dist/cjs/vega-counter-badge.cjs.entry.js +2 -2
  64. package/dist/cjs/vega-date-picker_2.cjs.entry.js +18 -18
  65. package/dist/cjs/vega-dialog_2.cjs.entry.js +7 -7
  66. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  67. package/dist/cjs/vega-dropdown_5.cjs.entry.js +46 -31
  68. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  69. package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
  70. package/dist/cjs/vega-file-uploader.cjs.entry.js +41 -8
  71. package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
  72. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  73. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  74. package/dist/cjs/vega-form.cjs.entry.js +5 -5
  75. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  76. package/dist/cjs/vega-icon.cjs.entry.js +6 -6
  77. package/dist/cjs/vega-image-uploader.cjs.entry.js +9 -9
  78. package/dist/cjs/vega-input-credit-card.cjs.entry.js +9 -9
  79. package/dist/cjs/vega-input-numeric.cjs.entry.js +9 -9
  80. package/dist/cjs/vega-input-passcode.cjs.entry.js +8 -8
  81. package/dist/cjs/vega-input-phone-number.cjs.entry.js +7 -7
  82. package/dist/cjs/vega-input-range.cjs.entry.js +6 -6
  83. package/dist/cjs/vega-input-select.cjs.entry.js +8 -8
  84. package/dist/cjs/vega-input.cjs.entry.js +17 -12
  85. package/dist/cjs/{vega-internal-event-id-ecc5b87a.js → vega-internal-event-id-f4d33037.js} +2 -0
  86. package/dist/cjs/vega-left-nav_5.cjs.entry.js +13 -13
  87. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  88. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +1 -1
  89. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +3 -3
  90. package/dist/cjs/vega-pagination.cjs.entry.js +5 -5
  91. package/dist/cjs/vega-popover_2.cjs.entry.js +10 -10
  92. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +6 -6
  93. package/dist/cjs/vega-radio_2.cjs.entry.js +8 -8
  94. package/dist/cjs/vega-rich-text-content.cjs.entry.js +42 -14
  95. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +83 -26
  96. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +1 -1
  97. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +5 -5
  98. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +11 -11
  99. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +8 -8
  100. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +6 -6
  101. package/dist/cjs/vega-sidenav_3.cjs.entry.js +6 -6
  102. package/dist/cjs/vega-signature-capture.cjs.entry.js +10 -10
  103. package/dist/cjs/vega-stepper.cjs.entry.js +5 -5
  104. package/dist/cjs/vega-tab-group_2.cjs.entry.js +21 -8
  105. package/dist/cjs/vega-table_11.cjs.entry.js +1219 -489
  106. package/dist/cjs/vega-textarea.cjs.entry.js +5 -5
  107. package/dist/cjs/vega-time-picker_2.cjs.entry.js +12 -12
  108. package/dist/cjs/vega-toggle-switch.cjs.entry.js +5 -5
  109. package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
  110. package/dist/cjs/vega.cjs.js +15 -15
  111. package/dist/cjs/{wait-for-component-did-render-02ca4bee.js → wait-for-component-did-render-44d006ee.js} +1 -1
  112. package/dist/collection/components/vega-accordion/vega-accordion.js +2 -0
  113. package/dist/collection/components/vega-app-footer/vega-app-footer.js +2 -0
  114. package/dist/collection/components/vega-app-header-button/vega-app-header-button.js +2 -0
  115. package/dist/collection/components/vega-banner/vega-banner.js +2 -0
  116. package/dist/collection/components/vega-box/vega-box.js +2 -0
  117. package/dist/collection/components/vega-brand-logo/vega-brand-logo.js +2 -0
  118. package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.js +2 -0
  119. package/dist/collection/components/vega-button/vega-button.js +2 -0
  120. package/dist/collection/components/vega-button-circle/vega-button-circle.js +2 -0
  121. package/dist/collection/components/vega-button-group/vega-button-group.js +2 -0
  122. package/dist/collection/components/vega-button-link/vega-button-link.js +2 -0
  123. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +5 -2
  124. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.js +9 -1
  125. package/dist/collection/components/vega-calendar/vega-calendar.js +2 -0
  126. package/dist/collection/components/vega-card/vega-card.js +2 -0
  127. package/dist/collection/components/vega-carousel/vega-carousel.js +2 -0
  128. package/dist/collection/components/vega-checkbox/vega-checkbox.js +2 -0
  129. package/dist/collection/components/vega-chip/vega-chip.js +2 -0
  130. package/dist/collection/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.js +4 -17
  131. package/dist/collection/components/vega-color-picker/vega-color-picker.js +2 -0
  132. package/dist/collection/components/vega-combo-box/vega-combo-box.js +2 -0
  133. package/dist/collection/components/vega-counter-badge/vega-counter-badge.js +4 -2
  134. package/dist/collection/components/vega-date-picker/vega-date-picker.js +2 -0
  135. package/dist/collection/components/vega-divider/vega-divider.js +2 -0
  136. package/dist/collection/components/vega-dropdown/constants.js +10 -0
  137. package/dist/collection/components/vega-dropdown/vega-dropdown-group/slimmers/renderers/vega-dropdown-group-renderer.js +6 -4
  138. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +10 -2
  139. package/dist/collection/components/vega-dropdown/vega-dropdown.js +45 -14
  140. package/dist/collection/components/vega-field-error/vega-field-error.js +2 -0
  141. package/dist/collection/components/vega-field-label/vega-field-label.css +1 -0
  142. package/dist/collection/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-file-list-renderer.js +22 -2
  143. package/dist/collection/components/vega-file-uploader/vega-file-uploader.js +63 -6
  144. package/dist/collection/components/vega-flag-icon/vega-flag-icon.js +2 -0
  145. package/dist/collection/components/vega-flex/vega-flex.js +2 -0
  146. package/dist/collection/components/vega-font/vega-font.js +2 -0
  147. package/dist/collection/components/vega-form/vega-form.js +2 -0
  148. package/dist/collection/components/vega-grid/vega-grid.js +2 -0
  149. package/dist/collection/components/vega-icon/vega-icon.js +2 -0
  150. package/dist/collection/components/vega-image-uploader/vega-image-uploader.js +2 -0
  151. package/dist/collection/components/vega-input/slimmers/renderers/vega-input-input-suggestions-renderer.js +7 -2
  152. package/dist/collection/components/vega-input/vega-input.js +2 -0
  153. package/dist/collection/components/vega-input-credit-card/vega-input-credit-card.js +2 -0
  154. package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +2 -0
  155. package/dist/collection/components/vega-input-passcode/vega-input-passcode.js +2 -0
  156. package/dist/collection/components/vega-input-phone-number/vega-input-phone-number.js +2 -0
  157. package/dist/collection/components/vega-input-range/vega-input-range.js +2 -0
  158. package/dist/collection/components/vega-input-select/vega-input-select.js +2 -0
  159. package/dist/collection/components/vega-item-toggle/vega-item-toggle.js +2 -0
  160. package/dist/collection/components/vega-loading-indicator/vega-loading-indicator.js +2 -0
  161. package/dist/collection/components/vega-modal/vega-modal.js +2 -0
  162. package/dist/collection/components/vega-page-notification/vega-page-notification.js +2 -0
  163. package/dist/collection/components/vega-pagination/vega-pagination.js +2 -0
  164. package/dist/collection/components/vega-popover/vega-popover.js +2 -0
  165. package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +2 -0
  166. package/dist/collection/components/vega-radio/vega-radio.js +2 -0
  167. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +16 -0
  168. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.js +2 -1
  169. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +11 -0
  170. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +3 -0
  171. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.js +2 -1
  172. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.js +5 -2
  173. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.js +36 -2
  174. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +2 -1
  175. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +20 -3
  176. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +12 -0
  177. package/dist/collection/components/vega-rich-text-editor/extensions/block-boundary-registry.js +34 -0
  178. package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +20 -0
  179. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.js +3 -2
  180. package/dist/collection/components/vega-rich-text-editor/extensions/functions/constants.js +8 -0
  181. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/function-block.js +14 -3
  182. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.js +2 -1
  183. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-containing-function-block-strategy.js +19 -0
  184. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.js +9 -5
  185. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.js +3 -3
  186. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.js +4 -2
  187. package/dist/collection/components/vega-rich-text-editor/extensions/functions/function-extension.js +18 -0
  188. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.js +5 -2
  189. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.js +2 -1
  190. package/dist/collection/components/vega-rich-text-editor/extensions/functions/utils.js +36 -0
  191. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +1 -0
  192. package/dist/collection/components/vega-rich-text-editor/extensions/paste/action-handler-strategies/image-replace-src-strategy.js +21 -0
  193. package/dist/collection/components/vega-rich-text-editor/extensions/paste/actions/image-replace-src-action.js +13 -0
  194. package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.js +295 -0
  195. package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.js +116 -0
  196. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.js +13 -4
  197. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-extension.js +70 -7
  198. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/default-paste-strategy.js +38 -0
  199. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.js +55 -0
  200. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.js +59 -0
  201. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/word-paste-strategy.js +416 -0
  202. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-code-block-transformer.js +106 -0
  203. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-image-transformer.js +198 -0
  204. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-list-transformer.js +591 -0
  205. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-paragraph-transformer.js +112 -0
  206. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-table-transformer.js +551 -0
  207. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-transformer.js +7 -0
  208. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-block.js +10 -0
  209. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +4 -2
  210. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node.js +44 -0
  211. package/dist/collection/components/vega-rich-text-editor/helpers/utils.js +10 -6
  212. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +2 -0
  213. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.js +7 -4
  214. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +17 -0
  215. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +18 -4
  216. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +21 -2
  217. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +7 -0
  218. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +5 -2
  219. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +2 -0
  220. package/dist/collection/components/vega-section-title/vega-section-title.js +2 -0
  221. package/dist/collection/components/vega-segment-control/vega-segment-control.js +2 -0
  222. package/dist/collection/components/vega-selection-chip/vega-selection-chip.js +2 -0
  223. package/dist/collection/components/vega-selection-tile/vega-selection-tile.js +2 -0
  224. package/dist/collection/components/vega-sidenav/vega-sidenav.js +2 -0
  225. package/dist/collection/components/vega-signature-capture/vega-signature-capture.js +2 -0
  226. package/dist/collection/components/vega-skeleton/vega-skeleton.js +2 -0
  227. package/dist/collection/components/vega-stepper/vega-stepper.js +2 -0
  228. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.js +14 -7
  229. package/dist/collection/components/vega-tab-group/vega-tab-group.css +6 -0
  230. package/dist/collection/components/vega-tab-group/vega-tab-group.js +7 -0
  231. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.js +31 -1
  232. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-column-structure-model-controller.js +17 -7
  233. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-head-template-structure-controller.js +440 -0
  234. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-render-input-controller.js +11 -3
  235. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.js +18 -11
  236. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +207 -17
  237. package/dist/collection/components/vega-table/vega-table-foot/vega-table-foot.css +1 -0
  238. package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +4 -1
  239. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.css +15 -0
  240. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.js +1 -1
  241. package/dist/collection/components/vega-table/vega-table-head-cell/slimmers/controllers/vega-table-head-cell-template-structure-controller.js +28 -0
  242. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.css +1 -0
  243. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +68 -4
  244. package/dist/collection/components/vega-table/vega-table.js +15 -0
  245. package/dist/collection/components/vega-textarea/vega-textarea.js +2 -0
  246. package/dist/collection/components/vega-time-picker/vega-time-picker.js +2 -0
  247. package/dist/collection/components/vega-toggle-switch/vega-toggle-switch.js +2 -0
  248. package/dist/collection/components/vega-tooltip/vega-tooltip.js +2 -0
  249. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
  250. package/dist/collection/helpers/translation/locales/en.js +2 -0
  251. package/dist/collection/utils/sanitize/index.js +3 -2
  252. package/dist/collection/utils/sanitize/strategies/index.js +1 -0
  253. package/dist/collection/utils/sanitize/strategies/label-sanitize-strategy.js +14 -0
  254. package/dist/collection/utils/sanitize/strategies/plain-text-sanitize-strategy.js +70 -0
  255. package/dist/esm/{action-color-accessibility-validator-ce55cb07.js → action-color-accessibility-validator-08877515.js} +2 -2
  256. package/dist/esm/{app-globals-d3991e53.js → app-globals-c59364c2.js} +10 -10
  257. package/dist/esm/{aria-dialog-focusable-trap-slimmer-9eae86c6.js → aria-dialog-focusable-trap-slimmer-f069f54d.js} +1 -1
  258. package/dist/esm/{code-block-8df86434.js → code-block-e6443949.js} +54 -15
  259. package/dist/esm/{component-global-style-slimmer-ac703085.js → component-global-style-slimmer-7d60a04a.js} +1 -1
  260. package/dist/esm/{component-value-history-controller-slimmer.abstract-e4b95997.js → component-value-history-controller-slimmer.abstract-ee393213.js} +25 -6
  261. package/dist/esm/constants-4725f97f.js +13 -0
  262. package/dist/esm/{content-state-c63fbeda.js → content-state-43cdacff.js} +61 -10
  263. package/dist/esm/{dark-mode-style-controller-ca5afd2d.js → dark-mode-style-controller-352f15ff.js} +2 -2
  264. package/dist/esm/{date-required-rule-85334d0c.js → date-required-rule-b5b67498.js} +1 -1
  265. package/dist/esm/{design-token-10ff79b5.js → design-token-8319bb59.js} +3 -3
  266. package/dist/esm/{element-appender-slimmer-24be8e94.js → element-appender-slimmer-c81d1fe3.js} +3 -3
  267. package/dist/esm/{form-field-controller-slimmer-d8628837.js → form-field-controller-slimmer-511b7ac5.js} +4 -4
  268. package/dist/esm/{image-annotation-action-fcceff95.js → image-annotation-action-d7cb80aa.js} +3 -3
  269. package/dist/esm/{image-extension-3280bdb0.js → image-extension-9b8abd0d.js} +2 -2
  270. package/dist/esm/{index-3b327f29.js → index-35451d12.js} +86 -1
  271. package/dist/esm/index.js +20 -20
  272. package/dist/esm/{inject-keyboard-manager-ea1aad5b.js → inject-keyboard-manager-dd368d56.js} +1 -1
  273. package/dist/esm/{internal-calendar-period-factory-7b294fb6.js → internal-calendar-period-factory-d58f35c6.js} +1 -1
  274. package/dist/esm/{internal-translation-controller-fac22598.js → internal-translation-controller-b33430c6.js} +2 -0
  275. package/dist/esm/{keyboard-manager-50da85d7.js → keyboard-manager-b4a0d97d.js} +1 -1
  276. package/dist/esm/{keyboard-manager-slimmer-1f7c8bfb.js → keyboard-manager-slimmer-0517fc70.js} +1 -1
  277. package/dist/esm/{link-extension-f92c06ef.js → link-extension-230bae8d.js} +26 -7
  278. package/dist/esm/loader.js +15 -15
  279. package/dist/esm/{month-view-generator-a1a9a4ec.js → month-view-generator-f470caac.js} +1 -1
  280. package/dist/esm/{public-rules-3695aaf7.js → public-rules-28ef32d3.js} +10 -10
  281. package/dist/esm/{range-717d552d.js → range-efad2578.js} +1 -1
  282. package/dist/esm/{responsive-format-facade-f19b601c.js → responsive-format-facade-dec87e46.js} +1 -1
  283. package/dist/esm/{rich-text-editor-required-rule-2e39264a.js → rich-text-editor-required-rule-a697e5bd.js} +1 -1
  284. package/dist/esm/{split-cell-operation-6c26af91.js → split-cell-operation-89b91a38.js} +14 -4
  285. package/dist/esm/{state-border-formatter-bfda33aa.js → state-border-formatter-1e900a2f.js} +1 -1
  286. package/dist/esm/{string-format-strategy.abstract-1f4ff1b3.js → string-format-strategy.abstract-d0ce3f65.js} +1 -1
  287. package/dist/esm/{string-input-formatter-slimmer-68b2af39.js → string-input-formatter-slimmer-6546cfc7.js} +3 -3
  288. package/dist/esm/{string-mask-strategy-bbbcdbef.js → string-mask-strategy-dd13ae21.js} +2 -2
  289. package/dist/esm/{style-formatter-e9adc8f4.js → style-formatter-057d7120.js} +2 -2
  290. package/dist/esm/{sub-state-notify-slimmer-0f72ce74.js → sub-state-notify-slimmer-23b7d0e8.js} +1 -1
  291. package/dist/esm/{sub-state-observer-slimmer-64532d94.js → sub-state-observer-slimmer-722f6b92.js} +1 -1
  292. package/dist/esm/{time-required-rule-1ce2d0a0.js → time-required-rule-73753a54.js} +1 -1
  293. package/dist/esm/{token-extension-5082a4d2.js → token-extension-74a0eeb1.js} +2919 -156
  294. package/dist/esm/{translation-slimmer-ee0f0e76.js → translation-slimmer-ef970ffc.js} +1 -1
  295. package/dist/esm/{type-guard-f2624334.js → type-guard-6fc96870.js} +1 -1
  296. package/dist/esm/{valid-credit-card-number-rule-60212b1d.js → valid-credit-card-number-rule-b54a31e7.js} +1 -1
  297. package/dist/esm/vega-accordion.entry.js +6 -6
  298. package/dist/esm/vega-app-footer.entry.js +2 -2
  299. package/dist/esm/vega-app-header-button.entry.js +5 -5
  300. package/dist/esm/vega-box.entry.js +7 -7
  301. package/dist/esm/vega-brand-logo.entry.js +2 -2
  302. package/dist/esm/vega-breadcrumb.entry.js +2 -2
  303. package/dist/esm/vega-button-circle.entry.js +7 -7
  304. package/dist/esm/vega-button-group_2.entry.js +3 -3
  305. package/dist/esm/vega-button-link.entry.js +1 -1
  306. package/dist/esm/vega-button.entry.js +5 -5
  307. package/dist/esm/vega-calendar_5.entry.js +24 -13
  308. package/dist/esm/vega-card.entry.js +5 -5
  309. package/dist/esm/vega-carousel.entry.js +3 -3
  310. package/dist/esm/vega-checkbox_2.entry.js +5 -5
  311. package/dist/esm/vega-chip.entry.js +5 -5
  312. package/dist/esm/vega-code-block.entry.js +16 -29
  313. package/dist/esm/vega-color-picker.entry.js +5 -5
  314. package/dist/esm/vega-color-swatch-picker.entry.js +6 -6
  315. package/dist/esm/vega-color-swatch.entry.js +2 -2
  316. package/dist/esm/vega-combo-box.entry.js +11 -11
  317. package/dist/esm/vega-counter-badge.entry.js +2 -2
  318. package/dist/esm/vega-date-picker_2.entry.js +18 -18
  319. package/dist/esm/vega-dialog_2.entry.js +7 -7
  320. package/dist/esm/vega-divider.entry.js +5 -5
  321. package/dist/esm/vega-dropdown_5.entry.js +42 -27
  322. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  323. package/dist/esm/vega-field-label.entry.js +3 -3
  324. package/dist/esm/vega-file-uploader.entry.js +41 -8
  325. package/dist/esm/vega-flag-icon.entry.js +5 -5
  326. package/dist/esm/vega-flex.entry.js +6 -6
  327. package/dist/esm/vega-font.entry.js +5 -5
  328. package/dist/esm/vega-form.entry.js +5 -5
  329. package/dist/esm/vega-grid.entry.js +5 -5
  330. package/dist/esm/vega-icon.entry.js +6 -6
  331. package/dist/esm/vega-image-uploader.entry.js +9 -9
  332. package/dist/esm/vega-input-credit-card.entry.js +9 -9
  333. package/dist/esm/vega-input-numeric.entry.js +9 -9
  334. package/dist/esm/vega-input-passcode.entry.js +8 -8
  335. package/dist/esm/vega-input-phone-number.entry.js +7 -7
  336. package/dist/esm/vega-input-range.entry.js +6 -6
  337. package/dist/esm/vega-input-select.entry.js +8 -8
  338. package/dist/esm/vega-input.entry.js +17 -12
  339. package/dist/esm/{vega-internal-event-id-827eb1ce.js → vega-internal-event-id-86fce049.js} +2 -1
  340. package/dist/esm/vega-left-nav_5.entry.js +13 -13
  341. package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
  342. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +1 -1
  343. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +3 -3
  344. package/dist/esm/vega-pagination.entry.js +5 -5
  345. package/dist/esm/vega-popover_2.entry.js +10 -10
  346. package/dist/esm/vega-progress-tracker_2.entry.js +6 -6
  347. package/dist/esm/vega-radio_2.entry.js +8 -8
  348. package/dist/esm/vega-rich-text-content.entry.js +42 -14
  349. package/dist/esm/vega-rich-text-editor_4.entry.js +83 -26
  350. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +1 -1
  351. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +5 -5
  352. package/dist/esm/vega-rich-text-table-properties_3.entry.js +11 -11
  353. package/dist/esm/vega-selection-chip_2.entry.js +8 -8
  354. package/dist/esm/vega-selection-tile_2.entry.js +6 -6
  355. package/dist/esm/vega-sidenav_3.entry.js +6 -6
  356. package/dist/esm/vega-signature-capture.entry.js +10 -10
  357. package/dist/esm/vega-stepper.entry.js +5 -5
  358. package/dist/esm/vega-tab-group_2.entry.js +21 -8
  359. package/dist/esm/vega-table_11.entry.js +1194 -464
  360. package/dist/esm/vega-textarea.entry.js +5 -5
  361. package/dist/esm/vega-time-picker_2.entry.js +12 -12
  362. package/dist/esm/vega-toggle-switch.entry.js +5 -5
  363. package/dist/esm/vega-tooltip_2.entry.js +7 -7
  364. package/dist/esm/vega.js +15 -15
  365. package/dist/esm/{wait-for-component-did-render-0c237cb8.js → wait-for-component-did-render-ff7062aa.js} +1 -1
  366. package/dist/sri/vega-sri-manifest.json +371 -367
  367. package/dist/types/components/vega-accordion/vega-accordion.d.ts +2 -0
  368. package/dist/types/components/vega-app-footer/vega-app-footer.d.ts +2 -0
  369. package/dist/types/components/vega-app-header-button/vega-app-header-button.d.ts +2 -0
  370. package/dist/types/components/vega-banner/vega-banner.d.ts +2 -0
  371. package/dist/types/components/vega-box/vega-box.d.ts +2 -0
  372. package/dist/types/components/vega-brand-logo/vega-brand-logo.d.ts +2 -0
  373. package/dist/types/components/vega-breadcrumb/vega-breadcrumb.d.ts +2 -0
  374. package/dist/types/components/vega-button/vega-button.d.ts +2 -0
  375. package/dist/types/components/vega-button-circle/vega-button-circle.d.ts +2 -0
  376. package/dist/types/components/vega-button-group/vega-button-group.d.ts +2 -0
  377. package/dist/types/components/vega-button-link/vega-button-link.d.ts +2 -0
  378. package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.d.ts +2 -0
  379. package/dist/types/components/vega-calendar/vega-calendar.d.ts +2 -0
  380. package/dist/types/components/vega-card/vega-card.d.ts +2 -0
  381. package/dist/types/components/vega-carousel/vega-carousel.d.ts +2 -0
  382. package/dist/types/components/vega-checkbox/vega-checkbox.d.ts +2 -0
  383. package/dist/types/components/vega-chip/vega-chip.d.ts +2 -0
  384. package/dist/types/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.d.ts +2 -1
  385. package/dist/types/components/vega-color-picker/vega-color-picker.d.ts +2 -0
  386. package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +2 -0
  387. package/dist/types/components/vega-counter-badge/vega-counter-badge.d.ts +2 -0
  388. package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +2 -0
  389. package/dist/types/components/vega-divider/vega-divider.d.ts +2 -0
  390. package/dist/types/components/vega-dropdown/constants.d.ts +12 -0
  391. package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.d.ts +1 -0
  392. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +9 -0
  393. package/dist/types/components/vega-field-error/vega-field-error.d.ts +2 -0
  394. package/dist/types/components/vega-file-uploader/slimmers/renderers/vega-file-uploader-file-list-renderer.d.ts +10 -0
  395. package/dist/types/components/vega-file-uploader/types.d.ts +4 -0
  396. package/dist/types/components/vega-file-uploader/vega-file-uploader.d.ts +15 -0
  397. package/dist/types/components/vega-flag-icon/vega-flag-icon.d.ts +2 -0
  398. package/dist/types/components/vega-flex/vega-flex.d.ts +2 -0
  399. package/dist/types/components/vega-font/vega-font.d.ts +2 -0
  400. package/dist/types/components/vega-form/vega-form.d.ts +2 -0
  401. package/dist/types/components/vega-grid/vega-grid.d.ts +2 -0
  402. package/dist/types/components/vega-icon/vega-icon.d.ts +2 -0
  403. package/dist/types/components/vega-image-uploader/vega-image-uploader.d.ts +2 -0
  404. package/dist/types/components/vega-input/types.d.ts +11 -1
  405. package/dist/types/components/vega-input/vega-input.d.ts +2 -0
  406. package/dist/types/components/vega-input-credit-card/vega-input-credit-card.d.ts +2 -0
  407. package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +2 -0
  408. package/dist/types/components/vega-input-passcode/vega-input-passcode.d.ts +2 -0
  409. package/dist/types/components/vega-input-phone-number/vega-input-phone-number.d.ts +2 -0
  410. package/dist/types/components/vega-input-range/vega-input-range.d.ts +2 -0
  411. package/dist/types/components/vega-input-select/vega-input-select.d.ts +2 -0
  412. package/dist/types/components/vega-item-toggle/vega-item-toggle.d.ts +2 -0
  413. package/dist/types/components/vega-loading-indicator/vega-loading-indicator.d.ts +2 -0
  414. package/dist/types/components/vega-modal/vega-modal.d.ts +2 -0
  415. package/dist/types/components/vega-page-notification/vega-page-notification.d.ts +2 -0
  416. package/dist/types/components/vega-pagination/vega-pagination.d.ts +2 -0
  417. package/dist/types/components/vega-popover/vega-popover.d.ts +2 -0
  418. package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +2 -0
  419. package/dist/types/components/vega-radio/vega-radio.d.ts +2 -0
  420. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +16 -0
  421. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.d.ts +1 -0
  422. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +9 -0
  423. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.d.ts +1 -0
  424. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.d.ts +3 -2
  425. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.d.ts +25 -3
  426. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +7 -0
  427. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +11 -0
  428. package/dist/types/components/vega-rich-text-editor/extensions/block-boundary-registry.d.ts +21 -0
  429. package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +15 -0
  430. package/dist/types/components/vega-rich-text-editor/extensions/functions/constants.d.ts +4 -0
  431. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/function-block.d.ts +7 -0
  432. package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-containing-function-block-strategy.d.ts +8 -0
  433. package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts +6 -0
  434. package/dist/types/components/vega-rich-text-editor/extensions/functions/utils.d.ts +29 -0
  435. package/dist/types/components/vega-rich-text-editor/extensions/paste/action-handler-strategies/image-replace-src-strategy.d.ts +12 -0
  436. package/dist/types/components/vega-rich-text-editor/extensions/paste/actions/image-replace-src-action.d.ts +11 -0
  437. package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.d.ts +136 -0
  438. package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.d.ts +68 -0
  439. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.d.ts +9 -4
  440. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-extension.d.ts +39 -2
  441. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/default-paste-strategy.d.ts +29 -0
  442. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.d.ts +61 -0
  443. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.d.ts +45 -0
  444. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/word-paste-strategy.d.ts +186 -0
  445. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-code-block-transformer.d.ts +51 -0
  446. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-image-transformer.d.ts +86 -0
  447. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-list-transformer.d.ts +271 -0
  448. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-paragraph-transformer.d.ts +25 -0
  449. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-table-transformer.d.ts +240 -0
  450. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-transformer.d.ts +36 -0
  451. package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-block.d.ts +8 -0
  452. package/dist/types/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.d.ts +2 -2
  453. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node.d.ts +19 -1
  454. package/dist/types/components/vega-rich-text-editor/helpers/utils.d.ts +7 -0
  455. package/dist/types/components/vega-rich-text-editor/interface.d.ts +10 -0
  456. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.d.ts +4 -1
  457. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.d.ts +8 -0
  458. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +1 -0
  459. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +2 -0
  460. package/dist/types/components/vega-section-title/vega-section-title.d.ts +2 -0
  461. package/dist/types/components/vega-segment-control/vega-segment-control.d.ts +2 -0
  462. package/dist/types/components/vega-selection-chip/vega-selection-chip.d.ts +2 -0
  463. package/dist/types/components/vega-selection-tile/vega-selection-tile.d.ts +2 -0
  464. package/dist/types/components/vega-sidenav/vega-sidenav.d.ts +2 -0
  465. package/dist/types/components/vega-signature-capture/vega-signature-capture.d.ts +2 -0
  466. package/dist/types/components/vega-skeleton/vega-skeleton.d.ts +2 -0
  467. package/dist/types/components/vega-stepper/vega-stepper.d.ts +2 -0
  468. package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.d.ts +1 -0
  469. package/dist/types/components/vega-tab-group/types.d.ts +3 -1
  470. package/dist/types/components/vega-tab-group/vega-tab-group.d.ts +4 -0
  471. package/dist/types/components/vega-table/interface.d.ts +4 -4
  472. package/dist/types/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.d.ts +16 -0
  473. package/dist/types/components/vega-table/slimmers/controllers/vega-table-column-structure-model-controller.d.ts +8 -4
  474. package/dist/types/components/vega-table/slimmers/controllers/vega-table-head-template-structure-controller.d.ts +168 -0
  475. package/dist/types/components/vega-table/slimmers/controllers/vega-table-render-input-controller.d.ts +8 -1
  476. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.d.ts +8 -10
  477. package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +76 -0
  478. package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.d.ts +1 -0
  479. package/dist/types/components/vega-table/vega-table-head-cell/slimmers/controllers/vega-table-head-cell-template-structure-controller.d.ts +12 -0
  480. package/dist/types/components/vega-table/vega-table-head-cell/vega-table-head-cell.d.ts +19 -0
  481. package/dist/types/components/vega-table/vega-table.d.ts +6 -0
  482. package/dist/types/components/vega-textarea/vega-textarea.d.ts +2 -0
  483. package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +2 -0
  484. package/dist/types/components/vega-toggle-switch/vega-toggle-switch.d.ts +2 -0
  485. package/dist/types/components/vega-tooltip/vega-tooltip.d.ts +2 -0
  486. package/dist/types/components.d.ts +54 -0
  487. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
  488. package/dist/types/helpers/translation/interface.d.ts +3 -1
  489. package/dist/types/types/public-api.d.ts +1 -0
  490. package/dist/types/utils/sanitize/index.d.ts +3 -2
  491. package/dist/types/utils/sanitize/strategies/index.d.ts +1 -0
  492. package/dist/types/utils/sanitize/strategies/label-sanitize-strategy.d.ts +9 -0
  493. package/dist/types/utils/sanitize/strategies/plain-text-sanitize-strategy.d.ts +36 -0
  494. package/dist/vega/index.esm.js +1 -1
  495. package/dist/vega/{p-36c89520.entry.js → p-024db952.entry.js} +1 -1
  496. package/dist/vega/p-0b2c4c0b.js +1 -0
  497. package/dist/vega/{p-c2277448.entry.js → p-0ca3b4bf.entry.js} +1 -1
  498. package/dist/vega/{p-363ee8a5.entry.js → p-1a37d63c.entry.js} +1 -1
  499. package/dist/vega/{p-b622c455.js → p-1fa22fda.js} +1 -1
  500. package/dist/vega/{p-d609c3fd.js → p-2044eba9.js} +1 -1
  501. package/dist/vega/{p-e1029acc.js → p-22edd3cc.js} +1 -1
  502. package/dist/vega/{p-5f96e741.entry.js → p-23c1f378.entry.js} +1 -1
  503. package/dist/vega/{p-6c95a6a3.js → p-2529820e.js} +1 -1
  504. package/dist/vega/{p-8d96f0e8.entry.js → p-2af1d8b8.entry.js} +1 -1
  505. package/dist/vega/{p-4c3a08be.entry.js → p-2f89ee14.entry.js} +1 -1
  506. package/dist/vega/{p-2bb5a232.js → p-3091b105.js} +1 -1
  507. package/dist/vega/{p-3af5e87b.entry.js → p-328ebbdb.entry.js} +1 -1
  508. package/dist/vega/p-35628af4.js +1 -0
  509. package/dist/vega/{p-9abf7d0a.entry.js → p-35d37477.entry.js} +1 -1
  510. package/dist/vega/{p-26760c66.entry.js → p-3a230d4b.entry.js} +1 -1
  511. package/dist/vega/{p-040ea356.entry.js → p-3c152bad.entry.js} +1 -1
  512. package/dist/vega/p-3c559c8b.js +1 -0
  513. package/dist/vega/{p-e3fdb65c.entry.js → p-3c8421d5.entry.js} +1 -1
  514. package/dist/vega/{p-b594a11c.entry.js → p-4022412e.entry.js} +1 -1
  515. package/dist/vega/{p-046203cb.entry.js → p-433b1395.entry.js} +1 -1
  516. package/dist/vega/{p-b98ead05.entry.js → p-4370b954.entry.js} +1 -1
  517. package/dist/vega/p-444e24c6.js +1 -0
  518. package/dist/vega/p-4473d8b1.js +3 -0
  519. package/dist/vega/{p-a484e32d.entry.js → p-44999c88.entry.js} +1 -1
  520. package/dist/vega/{p-f29ea345.entry.js → p-47a48329.entry.js} +1 -1
  521. package/dist/vega/{p-0cf3b5c1.entry.js → p-49d7cfed.entry.js} +1 -1
  522. package/dist/vega/p-4a2fe3a4.js +1 -0
  523. package/dist/vega/{p-92528dc9.entry.js → p-4afd6715.entry.js} +1 -1
  524. package/dist/vega/{p-461100b8.entry.js → p-4f6aaac5.entry.js} +1 -1
  525. package/dist/vega/p-50eda925.js +1 -0
  526. package/dist/vega/{p-ae2abdfa.js → p-5110c84f.js} +1 -1
  527. package/dist/vega/{p-deaf037a.entry.js → p-5147c30d.entry.js} +1 -1
  528. package/dist/vega/{p-874e5624.js → p-52878ea9.js} +1 -1
  529. package/dist/vega/{p-b00ec194.entry.js → p-55dc3053.entry.js} +1 -1
  530. package/dist/vega/p-5af312f8.js +1 -0
  531. package/dist/vega/{p-3e09aeed.js → p-5b3c8a56.js} +1 -1
  532. package/dist/vega/{p-2acf9b42.entry.js → p-5e9e04f3.entry.js} +1 -1
  533. package/dist/vega/p-5f377954.js +1 -1
  534. package/dist/vega/p-6493f13a.entry.js +1 -0
  535. package/dist/vega/{p-8611465f.entry.js → p-6659c910.entry.js} +1 -1
  536. package/dist/vega/{p-9c4c474e.entry.js → p-66728dd4.entry.js} +1 -1
  537. package/dist/vega/{p-21f608e8.entry.js → p-66a785d0.entry.js} +1 -1
  538. package/dist/vega/{p-0499e65a.entry.js → p-66fe8b4e.entry.js} +1 -1
  539. package/dist/vega/p-67e88cd7.entry.js +1 -0
  540. package/dist/vega/p-67eaf77e.js +1 -0
  541. package/dist/vega/{p-456f678b.js → p-691bdc20.js} +1 -1
  542. package/dist/vega/{p-1132a74e.entry.js → p-6d6b4495.entry.js} +1 -1
  543. package/dist/vega/p-6db1b9ac.js +1 -0
  544. package/dist/vega/p-7754b10f.entry.js +1 -0
  545. package/dist/vega/{p-d2cbcf5e.entry.js → p-77fb3971.entry.js} +1 -1
  546. package/dist/vega/{p-e7e963ba.entry.js → p-7977352b.entry.js} +1 -1
  547. package/dist/vega/{p-a91927eb.entry.js → p-7b133734.entry.js} +1 -1
  548. package/dist/vega/p-7b84a943.entry.js +1 -0
  549. package/dist/vega/{p-a2bd621e.js → p-83ad8988.js} +1 -1
  550. package/dist/vega/{p-2eb8e167.entry.js → p-840444c9.entry.js} +1 -1
  551. package/dist/vega/{p-703ac992.entry.js → p-860e76f5.entry.js} +1 -1
  552. package/dist/vega/p-867cc602.entry.js +1 -0
  553. package/dist/vega/p-8d2a9012.js +1 -0
  554. package/dist/vega/{p-5e37b041.js → p-8d4be607.js} +1 -1
  555. package/dist/vega/p-8d77c7cf.js +1 -0
  556. package/dist/vega/{p-c29934ef.js → p-8f3b93db.js} +1 -1
  557. package/dist/vega/{p-56417ec5.entry.js → p-944e284d.entry.js} +1 -1
  558. package/dist/vega/{p-0809c651.js → p-94b54a95.js} +1 -1
  559. package/dist/vega/p-9c2b3279.js +1 -0
  560. package/dist/vega/{p-aeb50cad.entry.js → p-9c5289dc.entry.js} +1 -1
  561. package/dist/vega/{p-d25c1a48.js → p-9c9b0629.js} +1 -1
  562. package/dist/vega/{p-abbceebf.entry.js → p-9c9ff871.entry.js} +1 -1
  563. package/dist/vega/{p-a034dfc0.entry.js → p-9d90e271.entry.js} +1 -1
  564. package/dist/vega/{p-d319ebb5.js → p-9e9f49f4.js} +1 -1
  565. package/dist/vega/{p-dcd3e3a7.js → p-a1f220ca.js} +1 -1
  566. package/dist/vega/{p-3488a3f1.entry.js → p-a4360b7e.entry.js} +1 -1
  567. package/dist/vega/{p-2540fd1c.entry.js → p-a7517760.entry.js} +1 -1
  568. package/dist/vega/{p-8ed3b2b6.entry.js → p-aa433430.entry.js} +1 -1
  569. package/dist/vega/{p-c3646101.entry.js → p-aa914dbd.entry.js} +1 -1
  570. package/dist/vega/{p-72ab5cd5.entry.js → p-b12de1bf.entry.js} +1 -1
  571. package/dist/vega/p-b21cc390.entry.js +1 -0
  572. package/dist/vega/{p-dbb4b1d1.js → p-b3c4943b.js} +1 -1
  573. package/dist/vega/{p-98fc5821.entry.js → p-ba6881da.entry.js} +1 -1
  574. package/dist/vega/p-bd7725f7.entry.js +1 -0
  575. package/dist/vega/{p-dad7d2ac.js → p-c348eaf5.js} +1 -1
  576. package/dist/vega/{p-29e3eb12.js → p-c41a2d4a.js} +1 -1
  577. package/dist/vega/{p-ccbe3f1b.entry.js → p-c8ad7207.entry.js} +1 -1
  578. package/dist/vega/{p-b3733762.entry.js → p-c8fb3aac.entry.js} +1 -1
  579. package/dist/vega/p-cc569b54.js +1 -0
  580. package/dist/vega/{p-53fd3c41.entry.js → p-ccbed811.entry.js} +1 -1
  581. package/dist/vega/{p-8ff92914.entry.js → p-ce82d6bb.entry.js} +1 -1
  582. package/dist/vega/{p-f1078e63.js → p-cede3535.js} +1 -1
  583. package/dist/vega/{p-775ecfad.entry.js → p-cf4b3d40.entry.js} +1 -1
  584. package/dist/vega/p-d35a31a5.entry.js +1 -0
  585. package/dist/vega/{p-ac94ba1b.entry.js → p-d4d90ce2.entry.js} +1 -1
  586. package/dist/vega/{p-f5095035.entry.js → p-d6023dc0.entry.js} +1 -1
  587. package/dist/vega/{p-a8174ad8.entry.js → p-d62e618a.entry.js} +1 -1
  588. package/dist/vega/{p-3f183b52.js → p-daba4af1.js} +1 -1
  589. package/dist/vega/{p-1ea9ad9a.js → p-dd0bd78b.js} +1 -1
  590. package/dist/vega/{p-36d2df7a.entry.js → p-ded1ecc1.entry.js} +1 -1
  591. package/dist/vega/p-df63c2fb.entry.js +1 -0
  592. package/dist/vega/{p-d3413a78.entry.js → p-e1a65e06.entry.js} +1 -1
  593. package/dist/vega/{p-39c5054b.js → p-e1c82ca9.js} +1 -1
  594. package/dist/vega/{p-6b76b572.entry.js → p-e469ba27.entry.js} +1 -1
  595. package/dist/vega/{p-e9d09211.js → p-e4c5cb4f.js} +1 -1
  596. package/dist/vega/{p-ec64cc59.entry.js → p-f0a0fc77.entry.js} +1 -1
  597. package/dist/vega/{p-12e8a1b2.js → p-f13b39d8.js} +1 -1
  598. package/dist/vega/{p-21626b93.entry.js → p-f2384411.entry.js} +1 -1
  599. package/dist/vega/{p-09524fec.js → p-f9a3805d.js} +1 -1
  600. package/dist/vega/{p-1e0a8fd3.js → p-fa5cd8b1.js} +1 -1
  601. package/dist/vega/{p-56d19601.entry.js → p-fb9475ab.entry.js} +1 -1
  602. package/dist/vega/{p-2c2e8615.js → p-fcb6b499.js} +1 -1
  603. package/dist/vega/vega.esm.js +1 -1
  604. package/package.json +1 -1
  605. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-constants.js +0 -6
  606. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-constants.d.ts +0 -6
  607. package/dist/vega/p-10d43a80.entry.js +0 -1
  608. package/dist/vega/p-1250b1ab.entry.js +0 -1
  609. package/dist/vega/p-1d5e05d9.js +0 -3
  610. package/dist/vega/p-2bb60f89.js +0 -1
  611. package/dist/vega/p-2d158cbd.js +0 -1
  612. package/dist/vega/p-2d7388c9.entry.js +0 -1
  613. package/dist/vega/p-2ff4ae1c.js +0 -1
  614. package/dist/vega/p-3980dfa8.entry.js +0 -1
  615. package/dist/vega/p-3a68b729.js +0 -1
  616. package/dist/vega/p-781b7a54.js +0 -1
  617. package/dist/vega/p-81d4dfcb.entry.js +0 -1
  618. package/dist/vega/p-88a6c89a.js +0 -1
  619. package/dist/vega/p-8e7932bc.js +0 -1
  620. package/dist/vega/p-9664e914.entry.js +0 -1
  621. package/dist/vega/p-9be02fa5.js +0 -1
  622. package/dist/vega/p-ca270da3.entry.js +0 -1
  623. package/dist/vega/p-cd69aeae.js +0 -1
  624. package/dist/vega/p-de8f0d98.js +0 -1
  625. package/dist/vega/p-e9b005df.js +0 -1
  626. package/dist/vega/p-f0e828d8.js +0 -1
  627. package/dist/vega/p-f95d8d10.entry.js +0 -1
  628. package/dist/vega/p-fa65956c.entry.js +0 -1
@@ -8,7 +8,7 @@ import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-sli
8
8
  import { ColumnStructureModel } from './dto/column-structure-model';
9
9
  /**
10
10
  * Controller responsible for building and keeping the ColumnStructureModel in sync
11
- * with the component's `columns` and `groupColumns` properties.
11
+ * with data source and template-derived column configuration.
12
12
  *
13
13
  * This slimmer maps relevant component fields and lifecycle/watch hooks to
14
14
  * automatically rebuild the column structure when inputs change.
@@ -36,22 +36,29 @@ export class VegaTableColumnStructureModelController extends VegaSlimmer {
36
36
  this.setColumnStructureModel();
37
37
  }
38
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.
39
+ * Rebuilds the ColumnStructureModel when template-derived grouping changes.
40
+ */
41
+ watchTemplateGroupColumns() {
42
+ this.setColumnStructureModel();
43
+ }
44
+ /**
45
+ * Build and assign the ColumnStructureModel from current inputs.
46
+ * Template-derived grouping takes precedence over the public `groupColumns` input.
41
47
  */
42
48
  setColumnStructureModel() {
43
- this.columnStructureModel = ColumnStructureModel.from(this.columns, this.groupColumns);
49
+ var _a;
50
+ this.columnStructureModel = ColumnStructureModel.from(this.columns, (_a = this.templateGroupColumns) !== null && _a !== void 0 ? _a : this.groupColumns);
44
51
  }
45
52
  }
46
- __decorate([
47
- MapToComponentField()
48
- ], VegaTableColumnStructureModelController.prototype, "host", void 0);
49
53
  __decorate([
50
54
  MapToComponentField()
51
55
  ], VegaTableColumnStructureModelController.prototype, "columns", void 0);
52
56
  __decorate([
53
57
  MapToComponentField()
54
58
  ], VegaTableColumnStructureModelController.prototype, "groupColumns", void 0);
59
+ __decorate([
60
+ MapToComponentField()
61
+ ], VegaTableColumnStructureModelController.prototype, "templateGroupColumns", void 0);
55
62
  __decorate([
56
63
  MapToComponentField({ writable: true })
57
64
  ], VegaTableColumnStructureModelController.prototype, "columnStructureModel", void 0);
@@ -64,3 +71,6 @@ __decorate([
64
71
  __decorate([
65
72
  MapToComponentMethod('watchGroupColumns')
66
73
  ], VegaTableColumnStructureModelController.prototype, "watchGroupColumns", null);
74
+ __decorate([
75
+ MapToComponentMethod('watchTemplateGroupColumns')
76
+ ], VegaTableColumnStructureModelController.prototype, "watchTemplateGroupColumns", null);
@@ -0,0 +1,440 @@
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 { InjectVegaSlimmer, MapToComponentField, MapToComponentMethod, methodPlaceholder, VegaSlimmer, } from 'vega-slimmer/core';
8
+ import { TagNameAndAttributeMutationFilter } from '../../../../helpers/slimmers/mutation-observer/mutation-observer-filters';
9
+ import { MutationObserverSlimmer } from '../../../../helpers/slimmers/mutation-observer/mutation-observer-slimmer';
10
+ import { Observer } from '../../../../helpers/change-manager/observer/observer';
11
+ import changeManager from '../../../../helpers/change-manager/change-manager';
12
+ import domNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
13
+ import { VegaInternalTableHeadTemplateStructureChange, VegaInternalVegaTableRenderInputChange, } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
14
+ /**
15
+ * Derives column configuration from the authored `<vega-table-head>` markup.
16
+ *
17
+ * Currently produces grouped-column configuration; header-declared column concerns
18
+ * (e.g. pinning) are intended to live here as well.
19
+ */
20
+ export class VegaTableHeadTemplateStructureController extends VegaSlimmer {
21
+ constructor() {
22
+ super(...arguments);
23
+ this.templateHeadObserver = new MutationObserverSlimmer({
24
+ // eslint-disable-next-line jsdoc/require-jsdoc
25
+ target: () => this.host,
26
+ options: {
27
+ childList: true,
28
+ subtree: true,
29
+ attributes: true,
30
+ attributeFilter: ['group-key', 'parent-group-key', 'pinned', 'col-span'],
31
+ },
32
+ mutationFilter: TagNameAndAttributeMutationFilter('VEGA-TABLE-HEAD', 'VEGA-TABLE-HEAD-ROW', 'VEGA-TABLE-HEAD-CELL'),
33
+ callback:
34
+ /* istanbul ignore next */
35
+ // eslint-disable-next-line jsdoc/require-jsdoc
36
+ () => this.handleTemplateHeadStructureChange(),
37
+ });
38
+ // Head node the explicit observer is currently bound to, so it can be rebound when replaced.
39
+ this.observedTemplateHead = null;
40
+ this.lastTemplateHeadStructureSnapshot = null;
41
+ }
42
+ /**
43
+ * Refresh template grouping before the mutation observer resumes after reconnecting.
44
+ */
45
+ connectedCallback() {
46
+ this.setTemplateGroupColumns();
47
+ this.lastTemplateHeadStructureSnapshot = this.getTemplateHeadStructureSnapshot();
48
+ this.registerTemplateHeadStructureObserver();
49
+ }
50
+ /**
51
+ * Used by {@link templateHeadObserver} to stop observing while the table is disconnected.
52
+ */
53
+ disconnectedCallback() {
54
+ this.unRegisterTemplateHeadStructureObserver();
55
+ methodPlaceholder();
56
+ }
57
+ /**
58
+ * Initialize template grouping before the column structure is built.
59
+ */
60
+ componentWillLoad() {
61
+ this.setTemplateGroupColumns();
62
+ this.lastTemplateHeadStructureSnapshot = this.getTemplateHeadStructureSnapshot();
63
+ }
64
+ /**
65
+ * Used by {@link templateHeadObserver}.
66
+ */
67
+ componentDidLoad() {
68
+ this.registerTemplateHeadMaps();
69
+ // Runtime changes are notified by the render-input watcher; initial load has no
70
+ // following componentDidRender, so it needs one synchronous notification here.
71
+ changeManager.notify(domNodeSubjectFactory.getSubject(this.host, VegaInternalVegaTableRenderInputChange), {});
72
+ }
73
+ /**
74
+ * Rebuild template grouping when render mode changes.
75
+ */
76
+ watchTemplateRenderMode() {
77
+ this.setTemplateGroupColumns();
78
+ this.lastTemplateHeadStructureSnapshot = this.getTemplateHeadStructureSnapshot();
79
+ }
80
+ /**
81
+ * Update the internal template grouping configuration.
82
+ */
83
+ setTemplateGroupColumns() {
84
+ this.templateGroupColumns = this.getTemplateGroupColumns();
85
+ }
86
+ /**
87
+ * Recompute template grouping and row/cell render-input mappings after template head changes.
88
+ *
89
+ * Map registration is done here directly instead of via watchColumnStructureModel because
90
+ * this controller is registered before the render-input controller. If map registration
91
+ * were deferred to the columnStructureModel watcher, render inputs would still be stale
92
+ * (render-input controller's watcher hasn't fired yet due to slimmer registration order).
93
+ */
94
+ handleTemplateHeadStructureChange() {
95
+ const nextSnapshot = this.getTemplateHeadStructureSnapshot();
96
+ if (this.isSameTemplateHeadStructure(nextSnapshot, this.lastTemplateHeadStructureSnapshot))
97
+ return;
98
+ this.lastTemplateHeadStructureSnapshot = nextSnapshot;
99
+ this.setTemplateGroupColumns();
100
+ this.registerTemplateHeadStructureObserver();
101
+ this.registerTemplateHeadMaps();
102
+ }
103
+ /**
104
+ * Collect a normalized snapshot for template-head hierarchy keys.
105
+ *
106
+ * This lets us ignore duplicated observer notifications that represent the same logical
107
+ * structure (e.g. reflected-attribute path and explicit watcher path firing for one update).
108
+ *
109
+ * @returns {Nullable<TemplateHeadStructureCell[]>} Snapshot of current template head structure.
110
+ */
111
+ getTemplateHeadStructureSnapshot() {
112
+ if (!this.isTemplateRenderMode)
113
+ return null;
114
+ const templateHead = this.getTemplateHead();
115
+ if (!templateHead)
116
+ return null;
117
+ const rows = Array.from(templateHead.children).filter((child) => child.tagName === 'VEGA-TABLE-HEAD-ROW');
118
+ return rows.flatMap((row, rowIndex) => {
119
+ const cells = Array.from(row.children).filter((child) => child.tagName === 'VEGA-TABLE-HEAD-CELL');
120
+ return cells.map((cell, cellIndex) => ({
121
+ rowIndex,
122
+ cellIndex,
123
+ key: this.getCellProperty(cell, 'groupKey', 'group-key'),
124
+ parentKey: this.getCellProperty(cell, 'parentGroupKey', 'parent-group-key'),
125
+ pinned: this.getCellProperty(cell, 'pinned', 'pinned'),
126
+ }));
127
+ });
128
+ }
129
+ /**
130
+ * Compare two structure snapshots by authored order and key values.
131
+ *
132
+ * @param {Nullable<TemplateHeadStructureCell[]>} nextSnapshot - Latest snapshot.
133
+ * @param {Nullable<TemplateHeadStructureCell[]>} prevSnapshot - Previous snapshot.
134
+ * @returns {boolean} True when snapshots represent the same logical structure.
135
+ */
136
+ isSameTemplateHeadStructure(nextSnapshot, prevSnapshot) {
137
+ if (nextSnapshot === prevSnapshot)
138
+ return true;
139
+ if (!nextSnapshot || !prevSnapshot)
140
+ return false;
141
+ if (nextSnapshot.length !== prevSnapshot.length)
142
+ return false;
143
+ return nextSnapshot.every((nextCell, index) => {
144
+ const prevCell = prevSnapshot[index];
145
+ return (nextCell.rowIndex === prevCell.rowIndex &&
146
+ nextCell.cellIndex === prevCell.cellIndex &&
147
+ nextCell.key === prevCell.key &&
148
+ nextCell.parentKey === prevCell.parentKey &&
149
+ nextCell.pinned === prevCell.pinned);
150
+ });
151
+ }
152
+ /**
153
+ * Register explicit head-cell structure-change observer for property-assignment updates.
154
+ */
155
+ registerTemplateHeadStructureObserver() {
156
+ const templateHead = this.getTemplateHead();
157
+ if (!templateHead || templateHead === this.observedTemplateHead)
158
+ return;
159
+ // Rebind when the authored head node was replaced so property-update notifications from the
160
+ // new head's subject are still observed.
161
+ this.unRegisterTemplateHeadStructureObserver();
162
+ if (!this.templateHeadStructureObserver) {
163
+ this.templateHeadStructureObserver = new Observer((input) => {
164
+ return Boolean(input && input.host);
165
+ }, () => this.handleTemplateHeadStructureChange());
166
+ }
167
+ changeManager.register(domNodeSubjectFactory.getSubject(templateHead, VegaInternalTableHeadTemplateStructureChange), this.templateHeadStructureObserver);
168
+ this.observedTemplateHead = templateHead;
169
+ }
170
+ /**
171
+ * Unregister explicit head-cell structure-change observer.
172
+ */
173
+ unRegisterTemplateHeadStructureObserver() {
174
+ const templateHead = this.observedTemplateHead;
175
+ if (!templateHead || !this.templateHeadStructureObserver)
176
+ return;
177
+ changeManager.unregister(domNodeSubjectFactory.getSubject(templateHead, VegaInternalTableHeadTemplateStructureChange), this.templateHeadStructureObserver);
178
+ this.observedTemplateHead = null;
179
+ }
180
+ /**
181
+ * Find authored template head element under table host.
182
+ *
183
+ * @typedef {import('../../../../types/components').HTMLVegaTableHeadElement} HTMLVegaTableHeadElement
184
+ * @returns {Nullable<HTMLVegaTableHeadElement>} Template head element if present.
185
+ */
186
+ getTemplateHead() {
187
+ return Array.from(this.host.children).find((child) => child.tagName === 'VEGA-TABLE-HEAD');
188
+ }
189
+ /**
190
+ * Register template head rows/cells with render-input maps using authored position.
191
+ *
192
+ * This mirrors data-source mode, where header renderer registers maps during JSX ref callbacks.
193
+ * Runtime changes are notified after the column model rebuilds, keeping maps ready without a
194
+ * second notification for the same template mutation.
195
+ */
196
+ registerTemplateHeadMaps() {
197
+ if (!this.isTemplateRenderMode)
198
+ return;
199
+ const templateHead = this.getTemplateHead();
200
+ if (!templateHead)
201
+ return;
202
+ // Clear all head mappings before rebuilding to prevent stale entries
203
+ // from persisting when template transitions from valid to invalid/unresolved.
204
+ this.vegaTableRenderInputController.clearHeadRenderInputMaps();
205
+ const renderInputs = this.vegaTableRenderInputController.getHeadRenderInputs() || [];
206
+ const renderInputByKey = new Map(renderInputs
207
+ .flatMap((model) => model.iterator())
208
+ .map((model) => [model.key, model]));
209
+ const templateRows = Array.from(templateHead.children).filter((child) => child.tagName === 'VEGA-TABLE-HEAD-ROW');
210
+ // Leaf render inputs in authored order, used to map headers without group keys by position.
211
+ const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs() || [];
212
+ templateRows.forEach((templateRow) => {
213
+ const templateCells = Array.from(templateRow.children).filter((child) => child.tagName === 'VEGA-TABLE-HEAD-CELL');
214
+ // A header without group keys carries no grouping identity, so pinning is resolved by position:
215
+ // the authored cell index maps directly onto the leaf render input at the same index.
216
+ const rowHasKey = templateCells.some((templateCell) => Boolean(this.getCellProperty(templateCell, 'groupKey', 'group-key')));
217
+ const rowRenderInputs = templateCells.map((templateCell, cellIndex) => {
218
+ if (!rowHasKey)
219
+ return leafRenderInputs[cellIndex] || null;
220
+ const key = this.getCellProperty(templateCell, 'groupKey', 'group-key');
221
+ return renderInputByKey.get(key) || null;
222
+ });
223
+ // Register only when every authored cell has a matching render input.
224
+ // Partial mappings can corrupt row-level edge/span calculations.
225
+ if (rowRenderInputs.some((renderInput) => !renderInput))
226
+ return;
227
+ const resolvedRowRenderInputs = rowRenderInputs;
228
+ this.vegaTableRenderInputController.addHeadRowRenderInputMap(templateRow, resolvedRowRenderInputs);
229
+ templateCells.forEach((templateCell, cellIndex) => {
230
+ this.vegaTableRenderInputController.addHeadCellRenderInputMap(templateCell, resolvedRowRenderInputs[cellIndex]);
231
+ });
232
+ });
233
+ }
234
+ /**
235
+ * Convert a hand-authored template head into the public grouped-column model.
236
+ *
237
+ * Grouping needs authored keys: every cell must have a unique `groupKey`, and cells below the
238
+ * first row must declare `parentGroupKey` pointing to a cell in the immediately preceding row.
239
+ * Pinning, in contrast, is purely positional, so a header without group keys that only declares edge
240
+ * `pinned` is handled by {@link getFlatPinnedColumns} instead of being treated as unkeyed.
241
+ * Group labels are derived from cell text and default to an empty string because template
242
+ * markup remains responsible for the visible content.
243
+ *
244
+ * @returns {Nullable<VegaTableGroupColumnConfig[]>} Derived grouping configuration; null for a
245
+ * header without group keys with no edge pinning, or an empty array for malformed structured markup.
246
+ */
247
+ getTemplateGroupColumns() {
248
+ if (!this.isTemplateRenderMode)
249
+ return null;
250
+ const templateHead = this.getTemplateHead();
251
+ if (!templateHead)
252
+ return null;
253
+ const nodes = this.collectTemplateNodes(templateHead);
254
+ if (nodes.length === 0)
255
+ return null;
256
+ if (nodes.every((node) => !node.key))
257
+ return this.getFlatPinnedColumns(nodes);
258
+ if (nodes.some((node) => !node.key))
259
+ return [];
260
+ const nodesByKey = new Map(nodes.map((node) => [node.key, node]));
261
+ if (nodesByKey.size !== nodes.length)
262
+ return [];
263
+ if (!this.linkTemplateNodes(nodes, nodesByKey))
264
+ return [];
265
+ const topLevelNodes = nodes.filter((node) => node.rowIndex === 0);
266
+ this.dropNonEdgePinned(topLevelNodes);
267
+ return topLevelNodes.map((node) => this.toGroupColumnConfig(node));
268
+ }
269
+ /**
270
+ * Derive flat, position-keyed leaf columns for a header without group keys whose only column concern is
271
+ * edge pinning. Grouping requires authored keys, but pinning is positional, so a single-row
272
+ * header that declares `pinned` without any `group-key` still yields pinned leaf columns.
273
+ *
274
+ * Returns null when the header spans multiple rows (grouping cannot be inferred without keys) or
275
+ * declares no honorable edge pin, preserving the legacy behavior where a plain header without group keys
276
+ * derives no column model and simply renders its authored cells.
277
+ *
278
+ * @param {TemplateColumnNode[]} nodes - Template nodes in authored order (all row 0 when valid).
279
+ * @returns {Nullable<VegaTableGroupColumnConfig[]>} Position-keyed leaf configs, or null.
280
+ */
281
+ getFlatPinnedColumns(nodes) {
282
+ if (nodes.some((node) => node.rowIndex !== 0))
283
+ return null;
284
+ this.dropNonEdgePinned(nodes);
285
+ if (nodes.every((node) => !node.pinned))
286
+ return null;
287
+ // The authored index is the identity here; these keys are never used for head-cell lookup
288
+ // (registerTemplateHeadMaps maps headers without group keys by position, matching the positional body zip).
289
+ return nodes.map((node, index) => {
290
+ node.key = String(index);
291
+ return this.toGroupColumnConfig(node);
292
+ });
293
+ }
294
+ /**
295
+ * Drop `pinned` from top-level cells that are not at the physical edge.
296
+ *
297
+ * Data-source mode reorders columns to `[left, none, right]` via `orderChildrenByPinned`, so any
298
+ * pinned column ends up at an edge. Template mode renders authored cells in place and never
299
+ * reorders them, and sticky pinning only works when the pinned column already sits at the edge.
300
+ * So we honor `pinned` only for a contiguous leading run (left) and trailing run (right) of the
301
+ * authored top-level cells; a pinned cell anywhere in between would freeze mid-table and let the
302
+ * columns authored before it scroll underneath, so its pin is ignored.
303
+ *
304
+ * @param {TemplateColumnNode[]} topLevelNodes - Row-0 nodes in authored (physical) order.
305
+ */
306
+ dropNonEdgePinned(topLevelNodes) {
307
+ // End of the leading run of left-pinned cells (exclusive).
308
+ let leadingLeftEnd = 0;
309
+ while (leadingLeftEnd < topLevelNodes.length && topLevelNodes[leadingLeftEnd].pinned === 'left') {
310
+ leadingLeftEnd++;
311
+ }
312
+ // Start of the trailing run of right-pinned cells (exclusive lower bound).
313
+ let trailingRightStart = topLevelNodes.length - 1;
314
+ while (trailingRightStart >= 0 && topLevelNodes[trailingRightStart].pinned === 'right') {
315
+ trailingRightStart--;
316
+ }
317
+ topLevelNodes.forEach((node, index) => {
318
+ const isEdgeLeft = node.pinned === 'left' && index < leadingLeftEnd;
319
+ const isEdgeRight = node.pinned === 'right' && index > trailingRightStart;
320
+ if (!isEdgeLeft && !isEdgeRight)
321
+ node.pinned = undefined;
322
+ });
323
+ }
324
+ /**
325
+ * Flatten the authored template head rows into row-major template nodes.
326
+ *
327
+ * @param {HTMLElement} templateHead - Authored `<vega-table-head>` element.
328
+ * @returns {TemplateColumnNode[]} Template nodes in authored order.
329
+ */
330
+ collectTemplateNodes(templateHead) {
331
+ const rows = Array.from(templateHead.children).filter((child) => child.tagName === 'VEGA-TABLE-HEAD-ROW');
332
+ return rows.flatMap((row, rowIndex) => Array.from(row.children)
333
+ .filter((child) => child.tagName === 'VEGA-TABLE-HEAD-CELL')
334
+ .map((cell, cellIndex) => ({
335
+ cell,
336
+ key: this.getCellProperty(cell, 'groupKey', 'group-key'),
337
+ rowIndex,
338
+ cellIndex,
339
+ children: [],
340
+ pinned: this.getCellProperty(cell, 'pinned', 'pinned'),
341
+ })));
342
+ }
343
+ /**
344
+ * Validate parent references and link each node to its parent in place.
345
+ *
346
+ * Children must reference a cell in the immediately preceding row, be grouped by parent, and
347
+ * list parents left-to-right; first-row cells must not declare a parent.
348
+ *
349
+ * @param {TemplateColumnNode[]} nodes - Template nodes in authored order.
350
+ * @param {Map<string, TemplateColumnNode>} nodesByKey - Node lookup by group key.
351
+ * @returns {boolean} True when the hierarchy is well-formed.
352
+ */
353
+ linkTemplateNodes(nodes, nodesByKey) {
354
+ var _a;
355
+ const lastParentIndexByRow = new Map();
356
+ for (const node of nodes) {
357
+ const parentKey = this.getCellProperty(node.cell, 'parentGroupKey', 'parent-group-key');
358
+ if (node.rowIndex === 0) {
359
+ if (parentKey)
360
+ return false;
361
+ continue;
362
+ }
363
+ const parent = nodesByKey.get(parentKey);
364
+ if (!parent || parent.rowIndex !== node.rowIndex - 1)
365
+ return false;
366
+ // Children must be listed grouped by parent and parents left-to-right, so a parent's
367
+ // cell index can never move backwards within a row. This single check rejects both
368
+ // non-contiguous children and out-of-order parent groups.
369
+ if (parent.cellIndex < ((_a = lastParentIndexByRow.get(node.rowIndex)) !== null && _a !== void 0 ? _a : -1))
370
+ return false;
371
+ lastParentIndexByRow.set(node.rowIndex, parent.cellIndex);
372
+ parent.children.push(node);
373
+ }
374
+ return true;
375
+ }
376
+ /**
377
+ * Convert a template node tree into a grouped-column configuration.
378
+ *
379
+ * @param {TemplateColumnNode} node - Template node to convert.
380
+ * @returns {VegaTableGroupColumnConfig} Group or leaf configuration.
381
+ */
382
+ toGroupColumnConfig(node) {
383
+ // A childless top-level node carries its pinning through the group-model `pinned` field
384
+ // (which applies to top-level nodes), so `VegaTableColumnGroupingLeafModel` stays a plain
385
+ // `{ key }` reference and does not need a variant-only pinned property.
386
+ if (node.children.length === 0) {
387
+ return node.pinned
388
+ ? { key: node.key, label: (node.cell.textContent || '').trim(), pinned: node.pinned }
389
+ : { key: node.key };
390
+ }
391
+ return Object.assign(Object.assign({ key: node.key, label: (node.cell.textContent || '').trim() }, (node.pinned ? { pinned: node.pinned } : {})), { children: node.children.map((child) => this.toGroupColumnConfig(child)) });
392
+ }
393
+ /**
394
+ * Read a reflected template-cell property with an attribute fallback.
395
+ *
396
+ * The `pinned` variant returns only valid pinning values; invalid values return undefined.
397
+ *
398
+ * @param {HTMLElement} cell - Template head cell.
399
+ * @param {'groupKey' | 'parentGroupKey' | 'pinned'} property - Component property name.
400
+ * @param {'group-key' | 'parent-group-key' | 'pinned'} attribute - Reflected attribute name.
401
+ * @returns {string | undefined} Normalized property value.
402
+ */
403
+ getCellProperty(cell, property, attribute) {
404
+ const value = (cell[property] || cell.getAttribute(attribute) || '').trim();
405
+ if (property === 'pinned') {
406
+ return value === 'left' || value === 'right' ? value : undefined;
407
+ }
408
+ return value;
409
+ }
410
+ }
411
+ __decorate([
412
+ MapToComponentField()
413
+ ], VegaTableHeadTemplateStructureController.prototype, "host", void 0);
414
+ __decorate([
415
+ MapToComponentField()
416
+ ], VegaTableHeadTemplateStructureController.prototype, "isTemplateRenderMode", void 0);
417
+ __decorate([
418
+ MapToComponentField({ writable: true })
419
+ ], VegaTableHeadTemplateStructureController.prototype, "templateGroupColumns", void 0);
420
+ __decorate([
421
+ MapToComponentField()
422
+ ], VegaTableHeadTemplateStructureController.prototype, "vegaTableRenderInputController", void 0);
423
+ __decorate([
424
+ InjectVegaSlimmer()
425
+ ], VegaTableHeadTemplateStructureController.prototype, "templateHeadObserver", void 0);
426
+ __decorate([
427
+ MapToComponentMethod('connectedCallback')
428
+ ], VegaTableHeadTemplateStructureController.prototype, "connectedCallback", null);
429
+ __decorate([
430
+ MapToComponentMethod('disconnectedCallback')
431
+ ], VegaTableHeadTemplateStructureController.prototype, "disconnectedCallback", null);
432
+ __decorate([
433
+ MapToComponentMethod('componentWillLoad')
434
+ ], VegaTableHeadTemplateStructureController.prototype, "componentWillLoad", null);
435
+ __decorate([
436
+ MapToComponentMethod('componentDidLoad')
437
+ ], VegaTableHeadTemplateStructureController.prototype, "componentDidLoad", null);
438
+ __decorate([
439
+ MapToComponentMethod('watchTemplateRenderMode')
440
+ ], VegaTableHeadTemplateStructureController.prototype, "watchTemplateRenderMode", null);
@@ -107,6 +107,17 @@ export class VegaTableRenderInputController extends VegaSlimmer {
107
107
  addHeadCellRenderInputMap(headCell, renderInput) {
108
108
  this.headCellRenderInputMap.set(headCell, renderInput);
109
109
  }
110
+ /**
111
+ * Clear all head row and head cell render-input mappings.
112
+ *
113
+ * Used by template-mode lifecycle to invalidate stale grouped-header metadata
114
+ * before re-registering current mappings. In data-source mode the header renderer
115
+ * re-registers via ref callbacks each render, so stale entries are overwritten naturally.
116
+ */
117
+ clearHeadRenderInputMaps() {
118
+ this.headRowRenderInputMap.clear();
119
+ this.headCellRenderInputMap.clear();
120
+ }
110
121
  /**
111
122
  * Store body cell render input mapping for pinned cells (used to update sticky positions).
112
123
  *
@@ -174,9 +185,6 @@ __decorate([
174
185
  __decorate([
175
186
  MapToComponentField()
176
187
  ], VegaTableRenderInputController.prototype, "columnStructureModel", void 0);
177
- __decorate([
178
- MapToComponentField()
179
- ], VegaTableRenderInputController.prototype, "vegaTableColGroupRenderer", void 0);
180
188
  __decorate([
181
189
  MapToComponentMethod('connectedCallback')
182
190
  ], VegaTableRenderInputController.prototype, "connectedCallback", null);
@@ -37,16 +37,16 @@ function normalizeSpan(rawSpan) {
37
37
  * Walk rightward from the starting leaf to find the widest legal span.
38
38
  *
39
39
  * Stops (and returns a clamp reason) when the span would either run past the end of the
40
- * row or cross a pinned ↔ unpinned column boundary (which would break sticky positioning).
41
- * Breakpoint-hidden columns are intentionally **not** a stop condition the span mirrors
42
- * across them (matching header group colSpan).
40
+ * row, cross a pinned ↔ unpinned column boundary, or encounter a breakpoint-hidden column.
41
+ * Breakpoint-hidden columns are a shrink trigger (the span stops before them).
43
42
  *
44
43
  * @param {number} declared - The declared span requested by the column.
45
44
  * @param {number} leafIndex - Index of the starting leaf in the flattened render-input array.
46
45
  * @param {ColumnRenderInputModel[]} allLeaves - All leaf render inputs for the table (ordered).
46
+ * @param {boolean[]} isHiddenAtBreakpoint - Per-leaf boolean: true if leaf is hidden at current breakpoint.
47
47
  * @returns {MaxSpan} The widest legal span plus the clamp reason (null when unconstrained).
48
48
  */
49
- function computeMaxSpan(declared, leafIndex, allLeaves) {
49
+ function computeMaxSpan(declared, leafIndex, allLeaves, isHiddenAtBreakpoint) {
50
50
  var _a, _b;
51
51
  const startPinned = (_a = allLeaves[leafIndex]) === null || _a === void 0 ? void 0 : _a.pinned;
52
52
  let span = 1;
@@ -58,6 +58,13 @@ function computeMaxSpan(declared, leafIndex, allLeaves) {
58
58
  clampReason: `extends past the end of the row (${allLeaves.length} columns total)`,
59
59
  };
60
60
  }
61
+ // Reject if the next column is hidden at the current breakpoint.
62
+ if (isHiddenAtBreakpoint[leafIndex + offset]) {
63
+ return {
64
+ span,
65
+ clampReason: null, // Breakpoint-hidden stop is not a config-error warning — it is legitimate responsive hiding.
66
+ };
67
+ }
61
68
  // Reject if the next column is in a different pinned group.
62
69
  if (nextLeaf.pinned !== startPinned) {
63
70
  return {
@@ -87,11 +94,10 @@ function warnClampOnce(colKey, declared, effective, reason, warnedKeys) {
87
94
  /**
88
95
  * Resolve the effective body-cell colspan for a single source-data row cell.
89
96
  *
90
- * Clamps the declared span so it never runs past the end of the row nor crosses a
91
- * pinned ↔ unpinned column boundary. Structural clamps (end-of-row / pinned boundary) emit a
92
- * warning once per column key (tracked via the caller-supplied {@link warnedKeys} set).
93
- * Breakpoint-hidden columns are **not** clamped the span mirrors across a `display: none`
94
- * column (matching header group colSpan) so the body grid stays column-aligned with the header.
97
+ * Clamps the declared span so it never runs past the end of the row, crosses a
98
+ * pinned ↔ unpinned column boundary, or encounters a breakpoint-hidden column (shrink before it).
99
+ * Structural clamps (end-of-row / pinned boundary) emit a warning once per column key
100
+ * (tracked via the caller-supplied {@link warnedKeys} set). Breakpoint-hidden stops are silent.
95
101
  *
96
102
  * @param {VegaTableColumnConfig} column - The column configuration for the spanning cell.
97
103
  * @param {VegaTableDataSourceItem} record - The row data record.
@@ -99,14 +105,15 @@ function warnClampOnce(colKey, declared, effective, reason, warnedKeys) {
99
105
  * @param {number} leafIndex - Index of this column in the flattened leaf render-input array.
100
106
  * @param {ColumnRenderInputModel[]} allLeaves - All leaf render inputs for the table (ordered).
101
107
  * @param {Set<string>} warnedKeys - Per-instance set tracking column keys that have already received a clamping warning.
108
+ * @param {boolean[]} isHiddenAtBreakpoint - Per-leaf boolean: true if leaf is hidden at current breakpoint.
102
109
  * @returns {BodyColSpanResult} Resolved spanning metadata for the cell.
103
110
  */
104
- export function resolveBodyColSpan(column, record, rowIndex, leafIndex, allLeaves, warnedKeys) {
111
+ export function resolveBodyColSpan(column, record, rowIndex, leafIndex, allLeaves, warnedKeys, isHiddenAtBreakpoint) {
105
112
  var _a, _b, _c;
106
113
  const declared = getDeclaredSpan(column, record, rowIndex);
107
114
  if (!declared || declared <= 1)
108
115
  return NO_SPAN;
109
- const { span, clampReason } = computeMaxSpan(declared, leafIndex, allLeaves);
116
+ const { span, clampReason } = computeMaxSpan(declared, leafIndex, allLeaves, isHiddenAtBreakpoint);
110
117
  const effectiveSpan = Math.min(declared, span);
111
118
  if (clampReason && effectiveSpan < declared) {
112
119
  const colKey = (_c = (_b = (_a = column.key) !== null && _a !== void 0 ? _a : column.prop) !== null && _b !== void 0 ? _b : column.label) !== null && _c !== void 0 ? _c : '';