@globalpayments/vega 2.99.0 → 2.101.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (649) hide show
  1. package/dist/cjs/{accessibility-88f8af84.js → accessibility-6ca2a237.js} +21 -0
  2. package/dist/cjs/{action-color-accessibility-validator-b8a9ef0f.js → action-color-accessibility-validator-61af71ae.js} +1 -1
  3. package/dist/cjs/{app-globals-a306dce6.js → app-globals-275ea7c7.js} +19 -10
  4. package/dist/cjs/{aria-attributes-value-mapper-9a41b9cf.js → aria-attributes-value-mapper-e8c6b0e0.js} +1 -1
  5. package/dist/cjs/{aria-dialog-focusable-trap-slimmer-62147489.js → aria-dialog-focusable-trap-slimmer-c79cc3f8.js} +1 -1
  6. package/dist/cjs/{child-nodes-event-prevent-slimmer-e0ac8467.js → child-nodes-event-prevent-slimmer-d720d7e9.js} +1 -1
  7. package/dist/cjs/{code-block-ea1f5eb3.js → code-block-c598832d.js} +815 -751
  8. package/dist/cjs/{component-value-history-controller-slimmer.abstract-7071b064.js → component-value-history-controller-slimmer.abstract-4bd47aa1.js} +4 -4
  9. package/dist/cjs/{content-state-8d07d530.js → content-state-da23e822.js} +47 -3
  10. package/dist/cjs/countries-a8e3812a.js +251 -0
  11. package/dist/cjs/{dark-mode-style-controller-f3da3342.js → dark-mode-style-controller-ec04ece9.js} +45 -45
  12. package/dist/cjs/{date-required-rule-c0c498ad.js → date-required-rule-45c802d3.js} +1 -1
  13. package/dist/cjs/{design-token-58bf7fe8.js → design-token-9d762da0.js} +3 -3
  14. package/dist/cjs/{element-appender-slimmer-a0269315.js → element-appender-slimmer-2aaf8e24.js} +22 -3
  15. package/dist/cjs/{event-emit-slimmer-34aa195e.js → event-emit-slimmer-67b5c186.js} +1 -1
  16. package/dist/cjs/{form-field-controller-slimmer-f73f200e.js → form-field-controller-slimmer-ac9337f4.js} +3 -3
  17. package/dist/cjs/{image-annotation-action-2a28038e.js → image-annotation-action-378838c2.js} +8 -7
  18. package/dist/cjs/{image-extension-9659708b.js → image-extension-673ebe7f.js} +2 -2
  19. package/dist/cjs/index.cjs.js +24 -21
  20. package/dist/cjs/{inject-keyboard-manager-4fa45f9c.js → inject-keyboard-manager-540f0876.js} +1 -1
  21. package/dist/cjs/{internal-calendar-period-factory-6196bc80.js → internal-calendar-period-factory-b11918ee.js} +1 -1
  22. package/dist/cjs/{internal-translation-controller-51f7f865.js → internal-translation-controller-27bfc8c7.js} +15 -0
  23. package/dist/cjs/{internal-vega-event-manager-7003c84a.js → internal-vega-event-manager-976b9526.js} +10 -2
  24. package/dist/cjs/{keyboard-manager-482fe257.js → keyboard-manager-16e96b62.js} +12 -5
  25. package/dist/cjs/{keyboard-manager-slimmer-a19430dd.js → keyboard-manager-slimmer-0a4e556d.js} +1 -1
  26. package/dist/cjs/{link-extension-11340e1c.js → link-extension-f493e432.js} +3 -3
  27. package/dist/cjs/loader.cjs.js +17 -16
  28. package/dist/cjs/{month-view-generator-1a534451.js → month-view-generator-0a3e04de.js} +1 -1
  29. package/dist/cjs/overlay-escape-coordination-901d8942.js +38 -0
  30. package/dist/cjs/{public-rules-6c77b545.js → public-rules-bae12c47.js} +9 -9
  31. package/dist/cjs/{range-22ddd452.js → range-9f42fb40.js} +1 -1
  32. package/dist/cjs/{responsive-format-facade-74e6d791.js → responsive-format-facade-c6d7f0a1.js} +1 -1
  33. package/dist/cjs/{rich-text-editor-required-rule-09d1093a.js → rich-text-editor-required-rule-bb232741.js} +1 -1
  34. package/dist/cjs/{split-cell-operation-11bfb305.js → split-cell-operation-0d33123e.js} +4 -4
  35. package/dist/cjs/{state-border-formatter-bf4f9f1c.js → state-border-formatter-dda9109a.js} +1 -1
  36. package/dist/cjs/{string-format-strategy.abstract-bf37b14c.js → string-format-strategy.abstract-3a968a59.js} +1 -1
  37. package/dist/cjs/{string-input-formatter-slimmer-ffeb18a6.js → string-input-formatter-slimmer-2e0a838e.js} +3 -3
  38. package/dist/cjs/{string-mask-strategy-7f394726.js → string-mask-strategy-d9f85c21.js} +2 -2
  39. package/dist/cjs/{style-formatter-4ac63910.js → style-formatter-d21a9784.js} +2 -2
  40. package/dist/cjs/{sub-state-notify-slimmer-e264a120.js → sub-state-notify-slimmer-3b33e31c.js} +1 -1
  41. package/dist/cjs/{sub-state-observer-slimmer-6033b824.js → sub-state-observer-slimmer-5b68ba3f.js} +1 -1
  42. package/dist/cjs/{time-required-rule-e2a50003.js → time-required-rule-580cbd3d.js} +1 -1
  43. package/dist/cjs/{token-extension-4686cb3b.js → token-extension-4badb962.js} +811 -53
  44. package/dist/cjs/{translation-slimmer-e4997f8f.js → translation-slimmer-31cd5a57.js} +1 -1
  45. package/dist/cjs/{type-guard-b8d7bb3f.js → type-guard-00b8efc0.js} +1 -1
  46. package/dist/cjs/{valid-credit-card-number-rule-f5a6f009.js → valid-credit-card-number-rule-70885128.js} +1 -1
  47. package/dist/cjs/vega-accordion.cjs.entry.js +9 -9
  48. package/dist/cjs/vega-app-footer.cjs.entry.js +4 -4
  49. package/dist/cjs/vega-app-header-button.cjs.entry.js +10 -10
  50. package/dist/cjs/vega-banner.cjs.entry.js +4 -4
  51. package/dist/cjs/vega-box.cjs.entry.js +6 -6
  52. package/dist/cjs/vega-brand-logo.cjs.entry.js +1 -1
  53. package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
  54. package/dist/cjs/vega-button-circle.cjs.entry.js +12 -12
  55. package/dist/cjs/vega-button-group_2.cjs.entry.js +20 -13
  56. package/dist/cjs/vega-button-link.cjs.entry.js +8 -8
  57. package/dist/cjs/vega-button.cjs.entry.js +27 -11
  58. package/dist/cjs/vega-calendar_5.cjs.entry.js +130 -24
  59. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  60. package/dist/cjs/vega-carousel.cjs.entry.js +7 -7
  61. package/dist/cjs/vega-checkbox_2.cjs.entry.js +9 -9
  62. package/dist/cjs/vega-chip.cjs.entry.js +10 -10
  63. package/dist/cjs/vega-code-block.cjs.entry.js +15 -15
  64. package/dist/cjs/vega-color-picker.cjs.entry.js +8 -8
  65. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +9 -9
  66. package/dist/cjs/vega-color-swatch.cjs.entry.js +6 -6
  67. package/dist/cjs/vega-combo-box.cjs.entry.js +15 -15
  68. package/dist/cjs/vega-date-picker_2.cjs.entry.js +22 -22
  69. package/dist/cjs/vega-dialog_2.cjs.entry.js +76 -10
  70. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  71. package/dist/cjs/vega-dropdown_5.cjs.entry.js +108 -25
  72. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  73. package/dist/cjs/{vega-event-id-58afed7a.js → vega-event-id-987a170c.js} +2 -0
  74. package/dist/cjs/vega-field-label.cjs.entry.js +29 -36
  75. package/dist/cjs/vega-file-uploader.cjs.entry.js +9 -9
  76. package/dist/cjs/vega-flag-icon.cjs.entry.js +11 -11
  77. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  78. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  79. package/dist/cjs/vega-form.cjs.entry.js +9 -9
  80. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  81. package/dist/cjs/vega-icon.cjs.entry.js +5 -5
  82. package/dist/cjs/vega-image-uploader.cjs.entry.js +13 -13
  83. package/dist/cjs/vega-input-credit-card.cjs.entry.js +12 -12
  84. package/dist/cjs/vega-input-numeric.cjs.entry.js +12 -12
  85. package/dist/cjs/vega-input-passcode.cjs.entry.js +11 -11
  86. package/dist/cjs/vega-input-phone-number.cjs.entry.js +56 -275
  87. package/dist/cjs/vega-input-range.cjs.entry.js +10 -10
  88. package/dist/cjs/vega-input-select.cjs.entry.js +39 -39
  89. package/dist/cjs/vega-input.cjs.entry.js +14 -14
  90. package/dist/cjs/{vega-internal-event-id-f4d33037.js → vega-internal-event-id-98d499d7.js} +6 -2
  91. package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
  92. package/dist/cjs/vega-left-nav_5.cjs.entry.js +14 -14
  93. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  94. package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
  95. package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +4 -4
  96. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -4
  97. package/dist/cjs/vega-pagination.cjs.entry.js +9 -9
  98. package/dist/cjs/vega-popover_2.cjs.entry.js +63 -14
  99. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +10 -10
  100. package/dist/cjs/vega-radio_2.cjs.entry.js +12 -12
  101. package/dist/cjs/vega-rich-text-content.cjs.entry.js +16 -13
  102. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +712 -250
  103. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +6 -6
  104. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +8 -8
  105. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +161 -108
  106. package/dist/cjs/vega-segment-control.cjs.entry.js +11 -4
  107. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +12 -12
  108. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +9 -9
  109. package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
  110. package/dist/cjs/vega-signature-capture.cjs.entry.js +12 -12
  111. package/dist/cjs/vega-stepper.cjs.entry.js +8 -8
  112. package/dist/cjs/vega-tab-group_2.cjs.entry.js +7 -7
  113. package/dist/cjs/vega-table_11.cjs.entry.js +625 -666
  114. package/dist/cjs/vega-textarea.cjs.entry.js +8 -8
  115. package/dist/cjs/vega-time-picker_2.cjs.entry.js +16 -16
  116. package/dist/cjs/vega-toggle-switch.cjs.entry.js +8 -8
  117. package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
  118. package/dist/cjs/vega.cjs.js +17 -16
  119. package/dist/cjs/{wait-for-component-did-render-44d006ee.js → wait-for-component-did-render-90edbc1a.js} +1 -1
  120. package/dist/collection/components/vega-button/vega-button.css +3 -3
  121. package/dist/collection/components/vega-button/vega-button.js +17 -2
  122. package/dist/collection/components/vega-button-circle/vega-button-circle.css +3 -3
  123. package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.js +13 -6
  124. package/dist/collection/components/vega-button-link/vega-button-link.css +4 -4
  125. package/dist/collection/components/vega-button-link/vega-button-link.js +2 -2
  126. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +45 -5
  127. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.js +43 -1
  128. package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +23 -4
  129. package/dist/collection/components/vega-calendar/vega-calendar.js +77 -1
  130. package/dist/collection/components/vega-code-block/vega-code-block.css +4 -4
  131. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-controller.js +148 -0
  132. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +5 -2
  133. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +17 -0
  134. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +2 -2
  135. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +2 -1
  136. package/dist/collection/components/vega-dropdown/vega-dropdown.js +1 -1
  137. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.js +21 -30
  138. package/dist/collection/components/vega-field-label/vega-field-label.js +7 -5
  139. package/dist/collection/components/vega-flag-icon/slimmers/controllers/vega-flag-icon-controller.js +6 -6
  140. package/dist/collection/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.js +4 -8
  141. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +19 -2
  142. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-prefix-icon-renderer.js +8 -28
  143. package/dist/collection/components/vega-input-select/vega-input-select.js +3 -1
  144. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +66 -0
  145. package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +17 -0
  146. package/dist/collection/components/vega-popover/vega-popover.js +33 -1
  147. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +4 -1
  148. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +9 -0
  149. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.js +13 -0
  150. package/dist/collection/components/vega-rich-text-editor/dto/actions/commit-value-action.js +20 -0
  151. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +11 -0
  152. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +11 -2
  153. package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +18 -6
  154. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
  155. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +6 -0
  156. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
  157. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
  158. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +30 -18
  159. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +1 -0
  160. package/dist/collection/components/vega-rich-text-editor/extensions/copy/copy-toolbar-button-renderer.js +1 -0
  161. package/dist/collection/components/vega-rich-text-editor/extensions/cut/cut-toolbar-button-renderer.js +1 -0
  162. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +51 -0
  163. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/vega-rich-text-find-replace-panel/slimmers/renderers/find-replace-panel-renderer.js +2 -2
  164. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +3 -0
  165. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +6 -0
  166. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
  167. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.js +1 -0
  168. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +5 -3
  169. package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.js +16 -0
  170. package/dist/collection/components/vega-rich-text-editor/extensions/special-characters/special-characters-toolbar-button-renderer.js +2 -0
  171. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.js +3 -9
  172. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-cell-renderer.js +2 -2
  173. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +81 -1
  174. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.js +148 -0
  175. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +151 -5
  176. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +144 -2
  177. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js +26 -1
  178. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
  179. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-cell-properties-form-field-renderer.js +11 -2
  180. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.js +5 -2
  181. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-form-field-renderer.js +5 -1
  182. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.css +5 -0
  183. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.js +16 -1
  184. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/caption-button-slimmer.js +1 -0
  185. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/cell-properties-button-slimmer.js +1 -0
  186. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +10 -9
  187. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +9 -8
  188. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +25 -10
  189. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-properties-button-slimmer.js +1 -0
  190. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-setting-button-slimmer.abstract.js +5 -4
  191. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/vega-rich-text-table-setting-renderer.js +1 -1
  192. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.css +10 -0
  193. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.js +2 -0
  194. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -0
  195. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.js +70 -0
  196. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/type.js +1 -0
  197. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/word-count-extension.js +62 -0
  198. package/dist/collection/components/vega-rich-text-editor/public-api.js +1 -0
  199. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +2 -1
  200. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +7 -1
  201. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +52 -2
  202. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.js +79 -0
  203. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +6 -3
  204. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -1
  205. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
  206. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +3 -2
  207. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +111 -2
  208. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +17 -6
  209. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
  210. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
  211. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
  212. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +59 -8
  213. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.js +1 -1
  214. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +13 -1
  215. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +16 -0
  216. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.js +124 -0
  217. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +9 -1
  218. package/dist/collection/components/vega-segment-control/slimmers/renderers/vega-segment-renderer.js +8 -1
  219. package/dist/collection/components/vega-segment-control/vega-segment-control.js +23 -0
  220. package/dist/collection/components/vega-table/slimmers/controllers/dto/column-render-input-model.js +25 -8
  221. package/dist/collection/components/vega-table/slimmers/controllers/dto/row-render-input-model.js +41 -0
  222. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-head-template-structure-controller.js +1 -0
  223. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-render-input-controller.js +316 -18
  224. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-renderer.js +6 -1
  225. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-header-renderer.js +1 -0
  226. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +33 -530
  227. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-row-renderer.js +1 -0
  228. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.css +10 -0
  229. package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +25 -8
  230. package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.js +14 -6
  231. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.css +20 -0
  232. package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.js +7 -0
  233. package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +21 -2
  234. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.css +10 -0
  235. package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.js +12 -1
  236. package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.js +20 -13
  237. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.css +26 -0
  238. package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.js +12 -0
  239. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.css +10 -0
  240. package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +19 -6
  241. package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +21 -46
  242. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.css +16 -7
  243. package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.js +9 -2
  244. package/dist/collection/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.js +28 -13
  245. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.css +26 -0
  246. package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +11 -0
  247. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-border-tokens.js +1 -1
  248. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-color-tokens.js +20 -20
  249. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-ring-tokens.js +1 -1
  250. package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-shadow-tokens.js +1 -1
  251. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-border-tokens.js +1 -1
  252. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-color-tokens.js +19 -19
  253. package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-shadow-tokens.js +1 -1
  254. package/dist/collection/constants/ui.js +1 -0
  255. package/dist/collection/global/scripts/before-vega-load.js +10 -0
  256. package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +10 -2
  257. package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
  258. package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +3 -1
  259. package/dist/collection/helpers/keyboard/keyboard-manager.js +11 -4
  260. package/dist/collection/helpers/keyboard/overlay-escape-coordination.js +33 -0
  261. package/dist/collection/helpers/public-api.js +1 -0
  262. package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +1 -1
  263. package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +8 -0
  264. package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +10 -0
  265. package/dist/collection/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.js +2 -0
  266. package/dist/collection/helpers/translation/locales/en.js +15 -0
  267. package/dist/collection/helpers/ui/element-appender.js +1 -0
  268. package/dist/collection/polyfill/libphonenumber/as-you-type.js +21 -3
  269. package/dist/collection/polyfill/libphonenumber/metadata.js +16 -0
  270. package/dist/collection/utils/accessibility.js +20 -0
  271. package/dist/esm/{accessibility-6af5cf2e.js → accessibility-c899a968.js} +21 -1
  272. package/dist/esm/{action-color-accessibility-validator-08877515.js → action-color-accessibility-validator-3e824a59.js} +1 -1
  273. package/dist/esm/{app-globals-c59364c2.js → app-globals-ad3c7cea.js} +19 -10
  274. package/dist/esm/{aria-attributes-value-mapper-2c632641.js → aria-attributes-value-mapper-a5c7478e.js} +1 -1
  275. package/dist/esm/{aria-dialog-focusable-trap-slimmer-f069f54d.js → aria-dialog-focusable-trap-slimmer-27a6aa19.js} +3 -3
  276. package/dist/esm/{child-nodes-event-prevent-slimmer-82626871.js → child-nodes-event-prevent-slimmer-0ebcbf47.js} +1 -1
  277. package/dist/esm/{child-nodes-notify-observer-slimmer-499a3aa7.js → child-nodes-notify-observer-slimmer-034bc78c.js} +1 -1
  278. package/dist/esm/{code-block-e6443949.js → code-block-1cdf7a51.js} +816 -754
  279. package/dist/esm/{component-value-history-controller-slimmer.abstract-ee393213.js → component-value-history-controller-slimmer.abstract-bdeeb43f.js} +6 -6
  280. package/dist/esm/{content-state-43cdacff.js → content-state-6eb610b8.js} +48 -6
  281. package/dist/esm/countries-50d3339b.js +249 -0
  282. package/dist/esm/{dark-mode-style-controller-352f15ff.js → dark-mode-style-controller-4e04a2d3.js} +45 -45
  283. package/dist/esm/{date-required-rule-b5b67498.js → date-required-rule-2ea3aec8.js} +1 -1
  284. package/dist/esm/{design-token-8319bb59.js → design-token-82a4e107.js} +3 -3
  285. package/dist/esm/{dom-node-subject-observer-factory-ddff8662.js → dom-node-subject-observer-factory-bb7e68a0.js} +1 -1
  286. package/dist/esm/{element-appender-slimmer-c81d1fe3.js → element-appender-slimmer-dd4e2908.js} +24 -5
  287. package/dist/esm/{event-emit-slimmer-2452278f.js → event-emit-slimmer-12ee1593.js} +2 -2
  288. package/dist/esm/{form-field-controller-slimmer-511b7ac5.js → form-field-controller-slimmer-5c794b4d.js} +5 -5
  289. package/dist/esm/{image-annotation-action-d7cb80aa.js → image-annotation-action-cdd50dcc.js} +9 -8
  290. package/dist/esm/{image-extension-9b8abd0d.js → image-extension-f6dbd70c.js} +2 -2
  291. package/dist/esm/index.js +24 -23
  292. package/dist/esm/{inject-keyboard-manager-dd368d56.js → inject-keyboard-manager-6a10c9b7.js} +1 -1
  293. package/dist/esm/{internal-calendar-period-factory-d58f35c6.js → internal-calendar-period-factory-d1a60f81.js} +1 -1
  294. package/dist/esm/{internal-translation-controller-b33430c6.js → internal-translation-controller-fff376d2.js} +15 -0
  295. package/dist/esm/{internal-vega-event-manager-2ecc9186.js → internal-vega-event-manager-0c381f3b.js} +10 -2
  296. package/dist/esm/{keyboard-manager-b4a0d97d.js → keyboard-manager-a58288df.js} +13 -6
  297. package/dist/esm/{keyboard-manager-slimmer-0517fc70.js → keyboard-manager-slimmer-133b86cd.js} +1 -1
  298. package/dist/esm/{link-extension-230bae8d.js → link-extension-bc234cf7.js} +3 -3
  299. package/dist/esm/loader.js +19 -18
  300. package/dist/esm/{month-view-generator-f470caac.js → month-view-generator-20e32b22.js} +1 -1
  301. package/dist/esm/overlay-escape-coordination-439f7d6f.js +35 -0
  302. package/dist/esm/{public-rules-28ef32d3.js → public-rules-8dc3fb00.js} +11 -11
  303. package/dist/esm/{range-efad2578.js → range-d2439ba7.js} +2 -2
  304. package/dist/esm/{responsive-format-facade-dec87e46.js → responsive-format-facade-07843ec3.js} +1 -1
  305. package/dist/esm/{rich-text-editor-required-rule-a697e5bd.js → rich-text-editor-required-rule-a0663a84.js} +1 -1
  306. package/dist/esm/{split-cell-operation-89b91a38.js → split-cell-operation-1a889fa0.js} +5 -5
  307. package/dist/esm/{state-border-formatter-1e900a2f.js → state-border-formatter-3b3dcfe8.js} +1 -1
  308. package/dist/esm/{string-format-strategy.abstract-d0ce3f65.js → string-format-strategy.abstract-44381dcb.js} +1 -1
  309. package/dist/esm/{string-input-formatter-slimmer-6546cfc7.js → string-input-formatter-slimmer-69887c40.js} +4 -4
  310. package/dist/esm/{string-mask-strategy-dd13ae21.js → string-mask-strategy-999fba4b.js} +2 -2
  311. package/dist/esm/{style-formatter-057d7120.js → style-formatter-c4192c99.js} +2 -2
  312. package/dist/esm/{sub-state-notify-slimmer-23b7d0e8.js → sub-state-notify-slimmer-ba72f30b.js} +2 -2
  313. package/dist/esm/{sub-state-observer-slimmer-722f6b92.js → sub-state-observer-slimmer-bee1c7fa.js} +3 -3
  314. package/dist/esm/{time-required-rule-73753a54.js → time-required-rule-0554b114.js} +1 -1
  315. package/dist/esm/{token-extension-74a0eeb1.js → token-extension-530d9bde.js} +813 -56
  316. package/dist/esm/{translation-slimmer-ef970ffc.js → translation-slimmer-77022f2e.js} +1 -1
  317. package/dist/esm/{type-guard-6fc96870.js → type-guard-26d83e7e.js} +1 -1
  318. package/dist/esm/{ui-d73f756a.js → ui-80e610f4.js} +1 -1
  319. package/dist/esm/{valid-credit-card-number-rule-b54a31e7.js → valid-credit-card-number-rule-f60b6904.js} +1 -1
  320. package/dist/esm/vega-accordion.entry.js +11 -11
  321. package/dist/esm/vega-app-footer.entry.js +6 -6
  322. package/dist/esm/vega-app-header-button.entry.js +12 -12
  323. package/dist/esm/vega-backdrop.entry.js +1 -1
  324. package/dist/esm/vega-banner.entry.js +6 -6
  325. package/dist/esm/vega-box.entry.js +7 -7
  326. package/dist/esm/vega-brand-logo.entry.js +1 -1
  327. package/dist/esm/vega-breadcrumb.entry.js +6 -6
  328. package/dist/esm/vega-button-circle.entry.js +14 -14
  329. package/dist/esm/vega-button-group_2.entry.js +22 -15
  330. package/dist/esm/vega-button-link.entry.js +10 -10
  331. package/dist/esm/vega-button.entry.js +29 -13
  332. package/dist/esm/vega-calendar_5.entry.js +132 -26
  333. package/dist/esm/vega-card.entry.js +6 -6
  334. package/dist/esm/vega-carousel.entry.js +9 -9
  335. package/dist/esm/vega-checkbox_2.entry.js +12 -12
  336. package/dist/esm/vega-chip.entry.js +12 -12
  337. package/dist/esm/vega-code-block.entry.js +17 -17
  338. package/dist/esm/vega-color-picker.entry.js +10 -10
  339. package/dist/esm/vega-color-swatch-picker.entry.js +11 -11
  340. package/dist/esm/vega-color-swatch.entry.js +8 -8
  341. package/dist/esm/vega-combo-box.entry.js +17 -17
  342. package/dist/esm/vega-date-picker_2.entry.js +24 -24
  343. package/dist/esm/vega-dialog_2.entry.js +78 -12
  344. package/dist/esm/vega-divider.entry.js +5 -5
  345. package/dist/esm/vega-dropdown_5.entry.js +111 -28
  346. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  347. package/dist/esm/{vega-event-id-f55f6977.js → vega-event-id-59cd9297.js} +2 -1
  348. package/dist/esm/vega-field-label.entry.js +31 -38
  349. package/dist/esm/vega-file-uploader.entry.js +11 -11
  350. package/dist/esm/vega-flag-icon.entry.js +11 -11
  351. package/dist/esm/vega-flex.entry.js +7 -7
  352. package/dist/esm/vega-font.entry.js +6 -6
  353. package/dist/esm/vega-form.entry.js +12 -12
  354. package/dist/esm/vega-grid.entry.js +6 -6
  355. package/dist/esm/vega-icon.entry.js +6 -6
  356. package/dist/esm/vega-image-uploader.entry.js +15 -15
  357. package/dist/esm/vega-input-credit-card.entry.js +14 -14
  358. package/dist/esm/vega-input-numeric.entry.js +14 -14
  359. package/dist/esm/vega-input-passcode.entry.js +13 -13
  360. package/dist/esm/vega-input-phone-number.entry.js +55 -274
  361. package/dist/esm/vega-input-range.entry.js +12 -12
  362. package/dist/esm/vega-input-select.entry.js +41 -41
  363. package/dist/esm/vega-input.entry.js +16 -16
  364. package/dist/esm/{vega-internal-event-id-86fce049.js → vega-internal-event-id-02093067.js} +4 -2
  365. package/dist/esm/vega-item-toggle.entry.js +5 -5
  366. package/dist/esm/vega-left-nav_5.entry.js +16 -16
  367. package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
  368. package/dist/esm/vega-page-notification_2.entry.js +4 -4
  369. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +6 -6
  370. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
  371. package/dist/esm/vega-pagination.entry.js +11 -11
  372. package/dist/esm/vega-popover_2.entry.js +65 -16
  373. package/dist/esm/vega-progress-tracker_2.entry.js +12 -12
  374. package/dist/esm/vega-radio_2.entry.js +15 -15
  375. package/dist/esm/vega-rich-text-content.entry.js +18 -15
  376. package/dist/esm/vega-rich-text-editor_4.entry.js +715 -253
  377. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +8 -8
  378. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +10 -10
  379. package/dist/esm/vega-rich-text-table-properties_3.entry.js +163 -110
  380. package/dist/esm/vega-segment-control.entry.js +13 -6
  381. package/dist/esm/vega-selection-chip_2.entry.js +14 -14
  382. package/dist/esm/vega-selection-tile_2.entry.js +12 -12
  383. package/dist/esm/vega-sidenav_3.entry.js +12 -12
  384. package/dist/esm/vega-signature-capture.entry.js +14 -14
  385. package/dist/esm/vega-stepper.entry.js +10 -10
  386. package/dist/esm/vega-tab-group_2.entry.js +9 -9
  387. package/dist/esm/vega-table_11.entry.js +627 -668
  388. package/dist/esm/vega-textarea.entry.js +10 -10
  389. package/dist/esm/vega-time-picker_2.entry.js +18 -18
  390. package/dist/esm/vega-toggle-switch.entry.js +10 -10
  391. package/dist/esm/vega-tooltip_2.entry.js +9 -9
  392. package/dist/esm/vega.js +19 -18
  393. package/dist/esm/{wait-for-component-did-render-ff7062aa.js → wait-for-component-did-render-9e84d92d.js} +2 -2
  394. package/dist/sri/vega-sri-manifest.json +415 -407
  395. package/dist/types/components/vega-button/vega-button.d.ts +2 -0
  396. package/dist/types/components/vega-button-group/types.d.ts +12 -6
  397. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +18 -0
  398. package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.d.ts +9 -0
  399. package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +9 -1
  400. package/dist/types/components/vega-calendar/types.d.ts +22 -0
  401. package/dist/types/components/vega-calendar/vega-calendar.d.ts +23 -1
  402. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -1
  403. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.d.ts +3 -10
  404. package/dist/types/components/vega-flag-icon/slimmers/controllers/vega-flag-icon-controller.d.ts +2 -2
  405. package/dist/types/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.d.ts +0 -1
  406. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +8 -0
  407. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-prefix-icon-renderer.d.ts +2 -14
  408. package/dist/types/components/vega-input-select/vega-input-select.d.ts +1 -0
  409. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +33 -0
  410. package/dist/types/components/vega-modal/types.d.ts +2 -1
  411. package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +9 -0
  412. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +6 -0
  413. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.d.ts +13 -0
  414. package/dist/types/components/vega-rich-text-editor/dto/actions/commit-value-action.d.ts +20 -0
  415. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +6 -0
  416. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  417. package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +11 -1
  418. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
  419. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +4 -0
  420. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +6 -0
  421. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
  422. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +5 -0
  423. package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.d.ts +19 -0
  424. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +4 -0
  425. package/dist/types/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.d.ts +14 -1
  426. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.d.ts +2 -2
  427. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +31 -1
  428. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.d.ts +91 -0
  429. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +46 -0
  430. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +58 -0
  431. package/dist/types/components/vega-rich-text-editor/extensions/table/table-selection.d.ts +8 -0
  432. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.d.ts +2 -1
  433. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.d.ts +2 -0
  434. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.d.ts +3 -0
  435. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-setting-button-slimmer.abstract.d.ts +3 -1
  436. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.d.ts +1 -0
  437. package/dist/types/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.d.ts +38 -0
  438. package/dist/types/components/vega-rich-text-editor/extensions/word-count/type.d.ts +46 -0
  439. package/dist/types/components/vega-rich-text-editor/extensions/word-count/word-count-extension.d.ts +38 -0
  440. package/dist/types/components/vega-rich-text-editor/interface.d.ts +12 -0
  441. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
  442. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +11 -1
  443. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.d.ts +40 -0
  444. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +14 -0
  445. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +3 -1
  446. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
  447. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +12 -0
  448. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +2 -0
  449. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -0
  450. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.d.ts +68 -0
  451. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.d.ts +3 -0
  452. package/dist/types/components/vega-segment-control/slimmers/renderers/vega-segment-renderer.d.ts +1 -0
  453. package/dist/types/components/vega-segment-control/types.d.ts +2 -0
  454. package/dist/types/components/vega-segment-control/vega-segment-control.d.ts +7 -1
  455. package/dist/types/components/vega-table/slimmers/controllers/dto/column-render-input-model.d.ts +17 -0
  456. package/dist/types/components/vega-table/slimmers/controllers/dto/row-render-input-model.d.ts +39 -0
  457. package/dist/types/components/vega-table/slimmers/controllers/vega-table-render-input-controller.d.ts +71 -7
  458. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-renderer.d.ts +1 -0
  459. package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +3 -88
  460. package/dist/types/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.d.ts +1 -1
  461. package/dist/types/components/vega-table/vega-table-expand-row/vega-table-expand-row.d.ts +5 -0
  462. package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.d.ts +1 -0
  463. package/dist/types/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.d.ts +5 -0
  464. package/dist/types/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.d.ts +1 -3
  465. package/dist/types/components/vega-table/vega-table-foot-row/vega-table-foot-row.d.ts +5 -0
  466. package/dist/types/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.d.ts +0 -4
  467. package/dist/types/components/vega-table/vega-table-head-row/vega-table-head-row.d.ts +2 -2
  468. package/dist/types/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.d.ts +2 -3
  469. package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +4 -0
  470. package/dist/types/components.d.ts +33 -2
  471. package/dist/types/constants/ui.d.ts +1 -1
  472. package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
  473. package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -1
  474. package/dist/types/helpers/keyboard/keyboard-manager.d.ts +9 -0
  475. package/dist/types/helpers/keyboard/overlay-escape-coordination.d.ts +28 -0
  476. package/dist/types/helpers/public-api.d.ts +1 -0
  477. package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +1 -1
  478. package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +6 -0
  479. package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +6 -0
  480. package/dist/types/helpers/slimmers/position-calculation/screen-scroll-position-update.d.ts +2 -1
  481. package/dist/types/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.d.ts +2 -1
  482. package/dist/types/helpers/translation/interface.d.ts +16 -1
  483. package/dist/types/polyfill/libphonenumber/as-you-type.d.ts +1 -0
  484. package/dist/types/polyfill/libphonenumber/metadata.d.ts +10 -0
  485. package/dist/types/types/components.type.d.ts +7 -1
  486. package/dist/types/types/public-api.d.ts +2 -0
  487. package/dist/types/utils/accessibility.d.ts +9 -0
  488. package/dist/vega/index.esm.js +1 -1
  489. package/dist/vega/p-022cbf8a.js +1 -0
  490. package/dist/vega/{p-c8ad7207.entry.js → p-02c1284e.entry.js} +1 -1
  491. package/dist/vega/{p-22edd3cc.js → p-069bbb4a.js} +1 -1
  492. package/dist/vega/p-08fd229c.js +1 -0
  493. package/dist/vega/{p-fcb6b499.js → p-0eea1ca8.js} +1 -1
  494. package/dist/vega/{p-ba6881da.entry.js → p-131ce9df.entry.js} +1 -1
  495. package/dist/vega/{p-024db952.entry.js → p-143ee395.entry.js} +1 -1
  496. package/dist/vega/p-178634f3.js +1 -0
  497. package/dist/vega/{p-9e9f49f4.js → p-1836a6a5.js} +1 -1
  498. package/dist/vega/p-1dbf8d1f.js +1 -0
  499. package/dist/vega/{p-d4d90ce2.entry.js → p-2b26e182.entry.js} +1 -1
  500. package/dist/vega/p-2dda5c65.entry.js +1 -0
  501. package/dist/vega/{p-df63c2fb.entry.js → p-30010c41.entry.js} +1 -1
  502. package/dist/vega/p-32f5a6dd.entry.js +1 -0
  503. package/dist/vega/{p-3c8421d5.entry.js → p-3460a1c5.entry.js} +1 -1
  504. package/dist/vega/p-34b523da.entry.js +1 -0
  505. package/dist/vega/p-357c0226.entry.js +1 -0
  506. package/dist/vega/p-361f8996.js +1 -0
  507. package/dist/vega/{p-526e3634.js → p-36a57431.js} +1 -1
  508. package/dist/vega/p-36ee9d54.js +1 -0
  509. package/dist/vega/{p-6659c910.entry.js → p-37d5c37e.entry.js} +1 -1
  510. package/dist/vega/{p-47a48329.entry.js → p-3d6a43df.entry.js} +1 -1
  511. package/dist/vega/{p-0ca3b4bf.entry.js → p-45ad2d90.entry.js} +1 -1
  512. package/dist/vega/{p-fb9475ab.entry.js → p-4b117bfd.entry.js} +1 -1
  513. package/dist/vega/p-4b35c748.js +1 -0
  514. package/dist/vega/{p-55dc3053.entry.js → p-4e23e56c.entry.js} +1 -1
  515. package/dist/vega/p-4e70836a.entry.js +1 -0
  516. package/dist/vega/{p-66647244.js → p-4ea477d5.js} +1 -1
  517. package/dist/vega/{p-5147c30d.entry.js → p-50e8e24f.entry.js} +1 -1
  518. package/dist/vega/{p-9c5289dc.entry.js → p-522a6eec.entry.js} +1 -1
  519. package/dist/vega/p-53e3f259.js +1 -0
  520. package/dist/vega/{p-2c737fc8.js → p-5536146c.js} +1 -1
  521. package/dist/vega/{p-944e284d.entry.js → p-55c2c0df.entry.js} +1 -1
  522. package/dist/vega/p-587130f6.entry.js +1 -0
  523. package/dist/vega/{p-9c9b0629.js → p-58c8a4ac.js} +1 -1
  524. package/dist/vega/{p-4f6aaac5.entry.js → p-594cb986.entry.js} +1 -1
  525. package/dist/vega/{p-b12de1bf.entry.js → p-5c17ddda.entry.js} +1 -1
  526. package/dist/vega/{p-7977352b.entry.js → p-5c9c0c0d.entry.js} +1 -1
  527. package/dist/vega/p-5f377954.js +1 -1
  528. package/dist/vega/p-60010f14.entry.js +1 -0
  529. package/dist/vega/p-6098c4bb.js +1 -0
  530. package/dist/vega/{p-2044eba9.js → p-60a74fb7.js} +1 -1
  531. package/dist/vega/p-61e63c0e.entry.js +1 -0
  532. package/dist/vega/{p-49d7cfed.entry.js → p-62254dc7.entry.js} +1 -1
  533. package/dist/vega/{p-2af1d8b8.entry.js → p-62ae9327.entry.js} +1 -1
  534. package/dist/vega/{p-b3c4943b.js → p-638b6a7d.js} +1 -1
  535. package/dist/vega/p-66245bc0.entry.js +1 -0
  536. package/dist/vega/{p-bdb5180c.js → p-68744e7e.js} +1 -1
  537. package/dist/vega/{p-f0a0fc77.entry.js → p-68ca8d3c.entry.js} +1 -1
  538. package/dist/vega/p-6a6c1279.js +1 -0
  539. package/dist/vega/{p-5e9e04f3.entry.js → p-6ae93679.entry.js} +1 -1
  540. package/dist/vega/{p-433b1395.entry.js → p-6d90d28d.entry.js} +1 -1
  541. package/dist/vega/p-6e9e7131.js +1 -0
  542. package/dist/vega/{p-014cd411.js → p-6eedbc4f.js} +1 -1
  543. package/dist/vega/{p-c348eaf5.js → p-6fae6768.js} +1 -1
  544. package/dist/vega/p-71813a9e.entry.js +1 -0
  545. package/dist/vega/{p-860e76f5.entry.js → p-729529d6.entry.js} +1 -1
  546. package/dist/vega/{p-aa433430.entry.js → p-75bfbffe.entry.js} +1 -1
  547. package/dist/vega/{p-d6023dc0.entry.js → p-764b4e51.entry.js} +1 -1
  548. package/dist/vega/p-77bcdd35.js +1 -0
  549. package/dist/vega/{p-c41a2d4a.js → p-7d3419c7.js} +1 -1
  550. package/dist/vega/p-8387896e.js +1 -0
  551. package/dist/vega/p-853a05eb.js +1 -0
  552. package/dist/vega/{p-db11134b.entry.js → p-8e8b5790.entry.js} +1 -1
  553. package/dist/vega/{p-444e24c6.js → p-8ebe30a8.js} +1 -1
  554. package/dist/vega/p-8f00dfe6.js +1 -0
  555. package/dist/vega/{p-4022412e.entry.js → p-9236b8d9.entry.js} +1 -1
  556. package/dist/vega/p-9402f32f.js +1 -0
  557. package/dist/vega/{p-691bdc20.js → p-941a83db.js} +1 -1
  558. package/dist/vega/{p-840444c9.entry.js → p-942f9ea6.entry.js} +1 -1
  559. package/dist/vega/{p-5110c84f.js → p-96c090c4.js} +1 -1
  560. package/dist/vega/{p-328ebbdb.entry.js → p-9fdf66a8.entry.js} +1 -1
  561. package/dist/vega/{p-867cc602.entry.js → p-a2c45173.entry.js} +1 -1
  562. package/dist/vega/{p-66fe8b4e.entry.js → p-a54ed341.entry.js} +1 -1
  563. package/dist/vega/{p-44999c88.entry.js → p-a6a89f09.entry.js} +1 -1
  564. package/dist/vega/{p-ccbed811.entry.js → p-a8a246e8.entry.js} +1 -1
  565. package/dist/vega/p-a93b3aed.js +1 -0
  566. package/dist/vega/{p-528748fa.js → p-aa135628.js} +1 -1
  567. package/dist/vega/{p-a1f220ca.js → p-ab9d53e9.js} +1 -1
  568. package/dist/vega/{p-e18c0656.entry.js → p-af0cfea0.entry.js} +1 -1
  569. package/dist/vega/p-af0e9bd5.entry.js +1 -0
  570. package/dist/vega/{p-daba4af1.js → p-b1557bbe.js} +1 -1
  571. package/dist/vega/{p-f13b39d8.js → p-b2a4314a.js} +1 -1
  572. package/dist/vega/p-b94f164a.entry.js +1 -0
  573. package/dist/vega/{p-23c1f378.entry.js → p-b97ed9f7.entry.js} +1 -1
  574. package/dist/vega/{p-1a37d63c.entry.js → p-bbfffe6b.entry.js} +1 -1
  575. package/dist/vega/{p-aa914dbd.entry.js → p-beccc38c.entry.js} +1 -1
  576. package/dist/vega/{p-dd0bd78b.js → p-c34f4cbc.js} +1 -1
  577. package/dist/vega/p-c51de680.js +3 -0
  578. package/dist/vega/{p-e1c82ca9.js → p-c576e846.js} +1 -1
  579. package/dist/vega/p-c601eea6.js +1 -0
  580. package/dist/vega/{p-200c8914.entry.js → p-c6d2513c.entry.js} +1 -1
  581. package/dist/vega/{p-d62e618a.entry.js → p-ca6bd3a0.entry.js} +1 -1
  582. package/dist/vega/{p-ce82d6bb.entry.js → p-cab890be.entry.js} +1 -1
  583. package/dist/vega/p-cb1cd15f.entry.js +1 -0
  584. package/dist/vega/p-d1f47512.js +1 -0
  585. package/dist/vega/{p-66a785d0.entry.js → p-d37d2ea4.entry.js} +1 -1
  586. package/dist/vega/{p-2f89ee14.entry.js → p-d3e99d4a.entry.js} +1 -1
  587. package/dist/vega/{p-f9bfee81.entry.js → p-d6bd3ce4.entry.js} +1 -1
  588. package/dist/vega/{p-f2384411.entry.js → p-d7838f6e.entry.js} +1 -1
  589. package/dist/vega/{p-a4360b7e.entry.js → p-d8c9ea46.entry.js} +1 -1
  590. package/dist/vega/p-d9588b3f.entry.js +1 -0
  591. package/dist/vega/p-db69a5c9.entry.js +1 -0
  592. package/dist/vega/{p-50eda925.js → p-de1d0284.js} +1 -1
  593. package/dist/vega/{p-3c559c8b.js → p-de6fc52c.js} +1 -1
  594. package/dist/vega/{p-fa5cd8b1.js → p-e14323f3.js} +1 -1
  595. package/dist/vega/{p-bd7725f7.entry.js → p-e48b7a8a.entry.js} +1 -1
  596. package/dist/vega/p-e6f67a44.js +1 -0
  597. package/dist/vega/{p-7754b10f.entry.js → p-e8e3bf74.entry.js} +1 -1
  598. package/dist/vega/p-eadc10bc.entry.js +1 -0
  599. package/dist/vega/p-ee329596.entry.js +1 -0
  600. package/dist/vega/p-f01bc6a2.js +1 -0
  601. package/dist/vega/{p-94b54a95.js → p-f324e90e.js} +1 -1
  602. package/dist/vega/{p-f9a3805d.js → p-f48519d2.js} +1 -1
  603. package/dist/vega/{p-52878ea9.js → p-f485448a.js} +1 -1
  604. package/dist/vega/{p-4afd6715.entry.js → p-f8b2dbb9.entry.js} +1 -1
  605. package/dist/vega/{p-35d37477.entry.js → p-f8d13d01.entry.js} +1 -1
  606. package/dist/vega/{p-4370b954.entry.js → p-f902305d.entry.js} +1 -1
  607. package/dist/vega/{p-3c152bad.entry.js → p-f99f054c.entry.js} +1 -1
  608. package/dist/vega/{p-77fb3971.entry.js → p-fe41e3b6.entry.js} +1 -1
  609. package/dist/vega/vega.esm.js +1 -1
  610. package/package.json +1 -1
  611. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-conttroller.js +0 -85
  612. package/dist/vega/p-0b2c4c0b.js +0 -1
  613. package/dist/vega/p-1fa22fda.js +0 -1
  614. package/dist/vega/p-2529820e.js +0 -1
  615. package/dist/vega/p-35628af4.js +0 -1
  616. package/dist/vega/p-3a230d4b.entry.js +0 -1
  617. package/dist/vega/p-3a620268.js +0 -1
  618. package/dist/vega/p-4473d8b1.js +0 -3
  619. package/dist/vega/p-4a2fe3a4.js +0 -1
  620. package/dist/vega/p-5447a8e8.js +0 -1
  621. package/dist/vega/p-5af312f8.js +0 -1
  622. package/dist/vega/p-5b3c8a56.js +0 -1
  623. package/dist/vega/p-6493f13a.entry.js +0 -1
  624. package/dist/vega/p-66728dd4.entry.js +0 -1
  625. package/dist/vega/p-67e88cd7.entry.js +0 -1
  626. package/dist/vega/p-67eaf77e.js +0 -1
  627. package/dist/vega/p-6d6b4495.entry.js +0 -1
  628. package/dist/vega/p-7b133734.entry.js +0 -1
  629. package/dist/vega/p-7b84a943.entry.js +0 -1
  630. package/dist/vega/p-83ad8988.js +0 -1
  631. package/dist/vega/p-8c30a60d.js +0 -1
  632. package/dist/vega/p-8d2a9012.js +0 -1
  633. package/dist/vega/p-8d4be607.js +0 -1
  634. package/dist/vega/p-8d77c7cf.js +0 -1
  635. package/dist/vega/p-8f3b93db.js +0 -1
  636. package/dist/vega/p-9c2b3279.js +0 -1
  637. package/dist/vega/p-9c9ff871.entry.js +0 -1
  638. package/dist/vega/p-9d90e271.entry.js +0 -1
  639. package/dist/vega/p-a7517760.entry.js +0 -1
  640. package/dist/vega/p-c8fb3aac.entry.js +0 -1
  641. package/dist/vega/p-cede3535.js +0 -1
  642. package/dist/vega/p-cf4b3d40.entry.js +0 -1
  643. package/dist/vega/p-d35a31a5.entry.js +0 -1
  644. package/dist/vega/p-ded1ecc1.entry.js +0 -1
  645. package/dist/vega/p-e1a65e06.entry.js +0 -1
  646. package/dist/vega/p-e469ba27.entry.js +0 -1
  647. package/dist/vega/p-e4c5cb4f.js +0 -1
  648. package/dist/vega/p-fd23c365.entry.js +0 -1
  649. /package/dist/types/components/vega-dropdown/slimmers/controllers/{vega-dropdown-keyboard-conttroller.d.ts → vega-dropdown-keyboard-controller.d.ts} +0 -0
@@ -5,10 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
5
5
  return c > 3 && r && Object.defineProperty(target, key, r), r;
6
6
  };
7
7
  import { InjectVegaSlimmer, MapToComponentField, MapToComponentMethod, methodPlaceholder, VegaSlimmer, } from 'vega-slimmer/core';
8
- import { isNonNullable } from '../../../../types/type-guard';
9
8
  import { PageResizeObserverSlimmer } from '../../../../helpers/slimmers/page-resize-observer-slimmer';
10
- import { extractNumberFromString } from '../../../../utils/ui';
11
- import { SynchronizeTaskQueue } from '../../../../helpers/queue/synchronize-task-queue';
12
9
  export class VegaTablePinnedRenderer extends VegaSlimmer {
13
10
  constructor() {
14
11
  super(...arguments);
@@ -16,558 +13,67 @@ export class VegaTablePinnedRenderer extends VegaSlimmer {
16
13
  // eslint-disable-next-line
17
14
  target: () => this.host.shadowRoot.querySelector('table'),
18
15
  isDeferred: true,
19
- /*
20
- * The below method is e2e-test covered in
21
- * @see{module:resize-pinned-position-by-edit-row}
22
- */
23
16
  callback: /* istanbul ignore next */ async () => {
24
- await this.host.componentOnReady().then(() => {
25
- this.updateTableRowPinnedPosition();
26
- this.updateTableCellPinnedPosition();
27
- });
17
+ await this.host.componentOnReady();
18
+ this.recomputeRenderInputs();
28
19
  },
29
20
  });
30
- this.previouslyStyledCells = new Set();
31
- // Each set tracks cells where exactly one dynamic class was added — cleared per class so
32
- // that static classes from render() on the same cell are never inadvertently stripped
33
- // (e.g. a cell that is both isRightStartPinned and the last-visible body cell).
34
- this.dynamicRightDividerCells = new Set();
35
- this.dynamicLeftDividerCells = new Set();
36
- this.dynamicHideRightBorderCells = new Set();
37
- // Authored template cells whose shadow <td> colspan was shrunk for breakpoint-hidden columns,
38
- // tracked so the authored colspan can be restored when pinning is removed at runtime (VD-9768).
39
- this.templateColspanSyncedCells = new Set();
40
- this.clearPinnedPositionsTaskQueue = new SynchronizeTaskQueue(1);
41
21
  }
42
22
  componentDidLoad() {
43
- methodPlaceholder;
23
+ methodPlaceholder();
44
24
  }
45
- async componentDidRender() {
46
- await this.clearPinnedPositionsTaskQueue.runTask();
47
- this.updateTableRowPinnedPosition();
48
- const unreadyCells = this.updateTableCellPinnedPosition();
49
- if (unreadyCells.length > 0) {
50
- // In dev builds, Stencil's HMR flag forces loadModule() to always use a
51
- // dynamic import(), so a brand-new cell's first render is deferred. We wait
52
- // for each unready cell via componentOnReady() — which resolves exactly when
53
- // the cell's shadow <td> is first rendered — then apply sticky positioning.
54
- // In production (hotModuleReplacement=false) loadModule() is synchronous, so
55
- // cells are always ready by componentDidRender and this branch is never reached.
56
- await Promise.all(unreadyCells.map((cell) => cell.componentOnReady()));
57
- this.updateTableCellPinnedPosition();
58
- }
25
+ componentDidRender() {
26
+ this.recomputeRenderInputs();
59
27
  }
60
28
  watchColumnStructureModel() {
61
- void this.clearPinnedPositionsTaskQueue.enqueue({
62
- run: async () => {
63
- this.clearAllPinnedPositions();
64
- },
65
- }, false);
29
+ methodPlaceholder();
66
30
  }
67
- updateTableCellPinnedPosition() {
31
+ recomputeRenderInputs() {
32
+ this.host.style.setProperty('--vega-table-content-width', `${this.host.getBoundingClientRect().width}px`);
68
33
  if (!this.columnStructureModel.hasLeftPinnedColumn() &&
69
34
  !this.columnStructureModel.hasRightPinnedColumn())
70
- return [];
71
- // Clear stale dynamic boundary classes before re-evaluating breakpoint visibility.
72
- // This ensures the classes are removed when the viewport grows back (e.g. column B
73
- // becomes visible again) and not only when the column structure changes.
74
- // Each set only removes the single class it tracks, preserving any other static
75
- // border classes that render() placed on the same cell (VD-9565).
76
- this.dynamicRightDividerCells.forEach((cell) => cell.classList.remove('right-divider'));
77
- this.dynamicRightDividerCells.clear();
78
- this.dynamicLeftDividerCells.forEach((cell) => cell.classList.remove('left-divider'));
79
- this.dynamicLeftDividerCells.clear();
80
- this.dynamicHideRightBorderCells.forEach((cell) => cell.classList.remove('hide-right-border'));
81
- this.dynamicHideRightBorderCells.clear();
82
- // if not have head row, it means no pinned, so no need to update.
83
- // In template mode the authored rows live in light DOM (slotted), so resolve the row
84
- // container root accordingly instead of always querying the table's shadow root.
35
+ return;
85
36
  const row = this.getRowContainerRoot().querySelector('vega-table-head-row');
86
- // to avoid window resize before table rendered.
87
- // @see{module:resize-pinned-position-by-edit-row}
88
37
  /* istanbul ignore next */
89
- if (!row)
90
- return [];
91
- const headCellRenderInputMap = this.vegaTableRenderInputController.getHeadCellRenderInputMap();
92
- const pinnedColumnBodyCellRenderInputMap = this.vegaTableRenderInputController.getPinnedColumnBodyCellRenderInputMap();
93
- const [prevShadowThWidth, nextShadowThWidth] = this.getRowShadowThWidths();
94
- const leafWidths = this.getLeafWidths();
95
- // Track the last visible left-pinned head cell and first visible right-pinned head cell
96
- // to dynamically apply boundary classes when breakpoint-hidden columns shift the boundary.
97
- let lastVisibleLeftPinnedHeadCell = null;
98
- let firstVisibleRightPinnedHeadCell = null;
99
- let lastVisibleRightPinnedHeadCell = null;
100
- headCellRenderInputMap.forEach((renderInput, headCell) => {
101
- var _a;
102
- /* istanbul ignore next -- defensive null-guard: jsdom always provides shadowRoot */
103
- const shadowCell = (_a = headCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
104
- const isVisible = shadowCell ? shadowCell.getBoundingClientRect().width > 0 : false;
105
- this.updateCellPinnedPosition(renderInput, headCell, prevShadowThWidth, leafWidths, nextShadowThWidth);
106
- if (isVisible && renderInput.pinned === 'left') {
107
- lastVisibleLeftPinnedHeadCell = shadowCell;
108
- }
109
- if (isVisible && renderInput.pinned === 'right' && !firstVisibleRightPinnedHeadCell) {
110
- firstVisibleRightPinnedHeadCell = shadowCell;
111
- }
112
- if (isVisible && renderInput.pinned === 'right') {
113
- lastVisibleRightPinnedHeadCell = shadowCell;
114
- }
115
- });
116
- // Track last visible left-pinned body cells per row for boundary class propagation.
117
- // Declared before the template positioning pass so authored cells feed the same maps the
118
- // shared dynamic-boundary logic below consumes (one update flow for both render modes).
119
- const lastVisibleLeftPinnedBodyCells = new Map();
120
- const firstVisibleRightPinnedBodyCells = new Map();
121
- const lastVisibleRightPinnedBodyCells = new Map();
122
- // Template mode has no JSX ref callbacks to populate the body-cell render-input map, and
123
- // its rows live in light DOM. Position the authored body/foot leaf cells directly by zipping
124
- // them with the leaf render inputs (respecting colSpan), reusing the shared positioning primitive.
125
- if (this.isTemplateRenderMode) {
126
- this.updateTemplateLeafCellPinnedPosition(prevShadowThWidth, leafWidths, nextShadowThWidth, lastVisibleLeftPinnedBodyCells, firstVisibleRightPinnedBodyCells, lastVisibleRightPinnedBodyCells);
127
- }
128
- // Remove stale entries (disconnected cells) left over from prior renders (e.g. after drag reorder).
129
- pinnedColumnBodyCellRenderInputMap.forEach((_, bodyCell) => {
130
- /* istanbul ignore next -- defensive cleanup for disconnected cells; jsdom always keeps cells connected */
131
- if (!(bodyCell === null || bodyCell === void 0 ? void 0 : bodyCell.isConnected)) {
132
- pinnedColumnBodyCellRenderInputMap.delete(bodyCell);
133
- }
134
- });
135
- // Collect body cells whose shadow DOM is not yet ready (newly created cells).
136
- const unreadyCells = [];
137
- pinnedColumnBodyCellRenderInputMap.forEach((renderInput, bodyCell) => {
138
- var _a;
139
- /* istanbul ignore next -- defensive null-guard: jsdom always provides shadowRoot */
140
- const shadowCell = (_a = bodyCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
141
- const isVisible = shadowCell ? shadowCell.getBoundingClientRect().width > 0 : false;
142
- // Shadow DOM not ready yet — cell was just created (e.g. colspan collapsed after drag).
143
- if (['left', 'right'].includes(renderInput.pinned) && !shadowCell) {
144
- unreadyCells.push(bodyCell);
145
- return;
146
- }
147
- this.updateCellPinnedPosition(renderInput, bodyCell, prevShadowThWidth, leafWidths, nextShadowThWidth);
148
- if (isVisible && renderInput.pinned === 'left') {
149
- // Use the parent row as the grouping key for per-row tracking
150
- const parentRow = bodyCell.closest('vega-table-row');
151
- if (parentRow) {
152
- lastVisibleLeftPinnedBodyCells.set(parentRow, shadowCell);
153
- }
154
- }
155
- if (isVisible && renderInput.pinned === 'right') {
156
- const parentRow = bodyCell.closest('vega-table-row');
157
- if (parentRow && !firstVisibleRightPinnedBodyCells.has(parentRow)) {
158
- firstVisibleRightPinnedBodyCells.set(parentRow, shadowCell);
159
- }
160
- if (parentRow) {
161
- lastVisibleRightPinnedBodyCells.set(parentRow, shadowCell);
162
- }
163
- }
164
- });
165
- // Apply boundary divider to the last visible left-pinned cell when the static
166
- // isLeftEndPinned column is hidden by breakpoint.
167
- if (lastVisibleLeftPinnedHeadCell &&
168
- !lastVisibleLeftPinnedHeadCell.classList.contains('right-divider')) {
169
- // Check if the static boundary column is hidden — if leafWidths shows 0 for the
170
- // isLeftEndPinned column, the boundary has shifted.
171
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
172
- const staticBoundaryLeaf = leafRenderInputs.find((leaf) => leaf.isLeftEndPinned);
173
- if (staticBoundaryLeaf && leafWidths[staticBoundaryLeaf.columnIndex] === 0) {
174
- lastVisibleLeftPinnedHeadCell.classList.add('right-divider');
175
- this.dynamicRightDividerCells.add(lastVisibleLeftPinnedHeadCell);
176
- lastVisibleLeftPinnedBodyCells.forEach((cell) => {
177
- // Only track cells that don't already hold `right-divider` from their
178
- // static render (effectiveRenderInput.isLeftEndPinned). If we add a
179
- // statically-classed cell here, the per-class clear on the next resize
180
- // would erroneously remove the static class (VD-9540).
181
- if (!cell.classList.contains('right-divider')) {
182
- cell.classList.add('right-divider');
183
- this.dynamicRightDividerCells.add(cell);
184
- }
185
- });
186
- }
187
- }
188
- if (firstVisibleRightPinnedHeadCell &&
189
- !firstVisibleRightPinnedHeadCell.classList.contains('left-divider')) {
190
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
191
- const staticBoundaryLeaf = leafRenderInputs.find((leaf) => leaf.isRightStartPinned);
192
- if (staticBoundaryLeaf && leafWidths[staticBoundaryLeaf.columnIndex] === 0) {
193
- firstVisibleRightPinnedHeadCell.classList.add('left-divider');
194
- this.dynamicLeftDividerCells.add(firstVisibleRightPinnedHeadCell);
195
- firstVisibleRightPinnedBodyCells.forEach((cell) => {
196
- // Only track cells that don't already hold `left-divider` from their
197
- // static render (effectiveRenderInput.isRightStartPinned). If we add a
198
- // statically-classed cell here, the per-class clear on the next resize
199
- // would erroneously remove the static class (VD-9540).
200
- if (!cell.classList.contains('left-divider')) {
201
- cell.classList.add('left-divider');
202
- this.dynamicLeftDividerCells.add(cell);
203
- }
204
- });
205
- }
206
- }
207
- // Apply hide-right-border to the last visible right-pinned cell when the structural
208
- // right-most column is hidden by breakpoint. Without this, the new right-most visible
209
- // pinned column keeps a right border while the head cell suppresses it (head cells use
210
- // isViewEnd), leaving an extra vertical border at the table's right edge (VD-9565).
211
- if (lastVisibleRightPinnedHeadCell &&
212
- !lastVisibleRightPinnedHeadCell.classList.contains('hide-right-border')) {
213
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
214
- // The structural right-most column is the last right-pinned leaf. Leaf render
215
- // inputs do not carry `isViewEnd` (unlike head render inputs), so identify the
216
- // boundary via `pinned` order instead.
217
- const rightPinnedLeaves = leafRenderInputs.filter((leaf) => leaf.pinned === 'right');
218
- const structuralEndLeaf = rightPinnedLeaves[rightPinnedLeaves.length - 1];
219
- if (structuralEndLeaf && leafWidths[structuralEndLeaf.columnIndex] === 0) {
220
- lastVisibleRightPinnedHeadCell.classList.add('hide-right-border');
221
- this.dynamicHideRightBorderCells.add(lastVisibleRightPinnedHeadCell);
222
- lastVisibleRightPinnedBodyCells.forEach((cell) => {
223
- // Only track cells that don't already hold `hide-right-border` from their
224
- // static render (isViewEnd/isNoPinnedEnd). Adding a statically-classed cell
225
- // here would let the per-class clear erroneously strip the static class on
226
- // the next resize (mirrors the VD-9540 divider guard).
227
- if (!cell.classList.contains('hide-right-border')) {
228
- cell.classList.add('hide-right-border');
229
- this.dynamicHideRightBorderCells.add(cell);
230
- }
231
- });
232
- }
233
- }
234
- // Sync colspan on pinned body cells that span breakpoint-hidden columns.
235
- // Chrome does not honour visibility:collapse / display:none on <col> for table layout,
236
- // so we directly adjust the shadow <td> colspan attribute to exclude hidden columns (VD-9540).
237
- this.syncColspanForHiddenColumns(leafWidths, pinnedColumnBodyCellRenderInputMap);
238
- return unreadyCells;
38
+ if (!(row === null || row === void 0 ? void 0 : row.shadowRoot))
39
+ return;
40
+ const [leftRowFixedWidth, rightRowFixedWidth] = this.getRowFixedWidths(row);
41
+ this.vegaTableRenderInputController.recomputePinnedOffsets(leftRowFixedWidth, rightRowFixedWidth, this.getLeafWidths());
239
42
  }
240
- /**
241
- * Resolve the DOM root that holds the table rows.
242
- *
243
- * In data-source mode rows are rendered into the table's shadow root; in template mode the
244
- * authored rows are slotted, so they live in the host's light DOM.
245
- *
246
- * @returns {ShadowRoot | HTMLElement} The container to query rows from.
247
- */
248
43
  getRowContainerRoot() {
249
44
  return this.isTemplateRenderMode ? this.host : this.host.shadowRoot;
250
45
  }
251
- /**
252
- * Position authored template body and foot leaf cells by zipping them with the leaf render
253
- * inputs in authored order, advancing by each cell's colSpan. Also applies the pinned-boundary
254
- * divider classes (mirroring the body cell's render()), since authored body/foot cells have no
255
- * render-input of their own in template mode.
256
- *
257
- * @param {number} prevShadowThWidth - Aggregate width of leading fixed columns (table left padding).
258
- * @param {number[]} leafWidths - Rendered width of each leaf column, indexed by columnIndex.
259
- * @param {number} nextShadowThWidth - Aggregate width of trailing fixed columns (table right padding).
260
- */
261
- updateTemplateLeafCellPinnedPosition(prevShadowThWidth, leafWidths, nextShadowThWidth, lastVisibleLeftPinnedBodyCells, firstVisibleRightPinnedBodyCells, lastVisibleRightPinnedBodyCells) {
262
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
263
- // Off-screen / jsdom renders report every width as 0; skip colspan sync there so we don't
264
- // collapse every span to 1 (mirrors the data-source syncColspanForHiddenColumns guard).
265
- const allLeafWidthsHidden = leafWidths.every((w) => w === 0);
266
- this.getRowContainerRoot()
267
- .querySelectorAll('vega-table-row, vega-table-foot-row')
268
- .forEach((row) => {
269
- let leafIndex = 0;
270
- Array.from(row.children).forEach((cell) => {
271
- if (cell.tagName !== 'VEGA-TABLE-CELL' && cell.tagName !== 'VEGA-TABLE-FOOT-CELL')
272
- return;
273
- const leafCell = cell;
274
- const renderInput = leafRenderInputs[leafIndex];
275
- // Unlike data-source mode (resolveBodyColSpan), template mode positions the authored
276
- // <td> as-is and intentionally does NOT clamp col-span at a pinned boundary: the
277
- // consumer owns this literal DOM, so a col-span crossing pinned <-> unpinned is an
278
- // invalid authoring choice (a cell cannot be both frozen and scrolling), not a case
279
- // the component rewrites.
280
- const colSpan = this.resolveCellColSpan(leafCell, renderInput);
281
- if (renderInput) {
282
- this.updateCellPinnedPosition(renderInput, leafCell, prevShadowThWidth, leafWidths, nextShadowThWidth);
283
- this.applyTemplateLeafDividerClass(leafCell, leafRenderInputs.slice(leafIndex, leafIndex + colSpan));
284
- this.syncTemplateLeafColspan(leafCell, renderInput, colSpan, leafWidths, allLeafWidthsHidden);
285
- this.trackVisiblePinnedTemplateCell(row, leafCell, renderInput, lastVisibleLeftPinnedBodyCells, firstVisibleRightPinnedBodyCells, lastVisibleRightPinnedBodyCells);
286
- }
287
- leafIndex += colSpan;
288
- });
289
- });
290
- }
291
- /**
292
- * Record an authored template leaf cell's shadow cell as the last visible left-pinned / first &
293
- * last visible right-pinned cell of its row, so the shared dynamic-boundary logic can shift the
294
- * boundary divider onto it when the static boundary column is breakpoint-hidden.
295
- *
296
- * @param {HTMLElement} row - The authored body or foot row (used as the per-row grouping key).
297
- * @param {HTMLVegaTableCellElement} leafCell - Authored body or foot cell host.
298
- * @param {ColumnRenderInputModel} renderInput - Render input of the cell's first leaf.
299
- * @param {Map<HTMLElement, HTMLElement>} lastVisibleLeftPinnedBodyCells - Per-row last visible left-pinned shadow cell.
300
- * @param {Map<HTMLElement, HTMLElement>} firstVisibleRightPinnedBodyCells - Per-row first visible right-pinned shadow cell.
301
- * @param {Map<HTMLElement, HTMLElement>} lastVisibleRightPinnedBodyCells - Per-row last visible right-pinned shadow cell.
302
- */
303
- trackVisiblePinnedTemplateCell(row, leafCell, renderInput, lastVisibleLeftPinnedBodyCells, firstVisibleRightPinnedBodyCells, lastVisibleRightPinnedBodyCells) {
304
- var _a;
305
- const shadowCell = (_a = leafCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
306
- if (!shadowCell || shadowCell.getBoundingClientRect().width <= 0)
307
- return;
308
- if (renderInput.pinned === 'left') {
309
- lastVisibleLeftPinnedBodyCells.set(row, shadowCell);
310
- }
311
- if (renderInput.pinned === 'right') {
312
- if (!firstVisibleRightPinnedBodyCells.has(row)) {
313
- firstVisibleRightPinnedBodyCells.set(row, shadowCell);
314
- }
315
- lastVisibleRightPinnedBodyCells.set(row, shadowCell);
316
- }
317
- }
318
- /**
319
- * Reduce an authored template pinned cell's shadow <td> colspan to the number of *visible*
320
- * columns it spans. Breakpoint-hidden columns report width 0 but Chrome still counts them in the
321
- * table grid, so without this a pinned span drifts out of column-alignment with the header
322
- * (VD-9540). Only applies to pinned cells; skipped off-screen / in jsdom where every width is 0.
323
- *
324
- * @param {HTMLVegaTableCellElement} leafCell - Authored body or foot cell host.
325
- * @param {ColumnRenderInputModel} renderInput - Render input of the cell's first leaf.
326
- * @param {number} colSpan - The cell's originally declared colspan.
327
- * @param {number[]} leafWidths - Rendered width of each leaf column, indexed by columnIndex.
328
- * @param {boolean} allLeafWidthsHidden - True when every leaf width is 0 (off-screen / jsdom).
329
- */
330
- syncTemplateLeafColspan(leafCell, renderInput, colSpan, leafWidths, allLeafWidthsHidden) {
331
- var _a;
332
- if (colSpan <= 1 || allLeafWidthsHidden)
333
- return;
334
- if (!['left', 'right'].includes(renderInput.pinned))
335
- return;
336
- const shadowTd = (_a = leafCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
337
- if (!shadowTd)
338
- return;
339
- const visibleColspan = this.countVisibleColspan(leafWidths, renderInput.columnIndex, colSpan);
340
- shadowTd.setAttribute('colspan', String(visibleColspan));
341
- if (visibleColspan !== colSpan) {
342
- this.templateColspanSyncedCells.add(leafCell);
343
- }
344
- else {
345
- this.templateColspanSyncedCells.delete(leafCell);
346
- }
347
- }
348
- /**
349
- * Restore the authored colspan on every template cell whose shadow <td> was shrunk by
350
- * {@link syncTemplateLeafColspan}. Runs on cleanup so removing `pinned` at runtime does not leave
351
- * a body/foot cell stuck at the breakpoint-shrunk colspan once positioning no longer runs (VD-9768).
352
- */
353
- restoreTemplateLeafColspan() {
354
- this.templateColspanSyncedCells.forEach((leafCell) => {
355
- var _a, _b;
356
- const shadowTd = (_a = leafCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
357
- if (!shadowTd)
358
- return;
359
- const authoredColSpan = (_b = leafCell.colSpan) !== null && _b !== void 0 ? _b : 1;
360
- if (authoredColSpan > 1) {
361
- shadowTd.setAttribute('colspan', String(authoredColSpan));
362
- }
363
- else {
364
- shadowTd.removeAttribute('colspan');
365
- }
366
- });
367
- this.templateColspanSyncedCells.clear();
368
- }
369
- /**
370
- * Apply the pinned-boundary divider classes to an authored template body/foot cell's shadow
371
- * cell, merging boundary flags across the leaves the cell spans. Tracked in the dynamic sets so
372
- * the next positioning pass clears and re-evaluates them (matching the data-source cleanup path).
373
- *
374
- * @param {HTMLVegaTableCellElement} cell - Authored body or foot cell host.
375
- * @param {ColumnRenderInputModel[]} spannedLeaves - Leaf render inputs the cell spans.
376
- */
377
- applyTemplateLeafDividerClass(cell, spannedLeaves) {
378
- var _a;
379
- const shadowCell = (_a = cell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td');
380
- if (!shadowCell)
381
- return;
382
- const spans = (predicate) => spannedLeaves.some((leaf) => !!leaf && predicate(leaf));
383
- if (spans((leaf) => leaf.isLeftEndPinned)) {
384
- shadowCell.classList.add('right-divider');
385
- this.dynamicRightDividerCells.add(shadowCell);
386
- }
387
- if (spans((leaf) => leaf.isRightStartPinned)) {
388
- shadowCell.classList.add('left-divider');
389
- this.dynamicLeftDividerCells.add(shadowCell);
390
- }
391
- if (spans((leaf) => leaf.isNoPinnedEnd || leaf.isViewEnd)) {
392
- shadowCell.classList.add('hide-right-border');
393
- this.dynamicHideRightBorderCells.add(shadowCell);
394
- }
395
- }
396
- getRowShadowThWidths() {
397
- const row = this.getRowContainerRoot().querySelector('vega-table-head-row');
398
- const rowShadow = row.shadowRoot;
399
- const firstTh = rowShadow.querySelector('th:first-of-type');
400
- const draggableTh = rowShadow.querySelector('.vega-table-draggable-column');
401
- const selectionTh = rowShadow.querySelector('.vega-table-selection-column');
402
- const expandTh = rowShadow.querySelector('.vega-table-expand-action-column');
403
- const lastTh = rowShadow.querySelector('th:last-of-type');
404
- if (firstTh) {
405
- const prevWidth = firstTh.getBoundingClientRect().width +
406
- ((selectionTh === null || selectionTh === void 0 ? void 0 : selectionTh.getBoundingClientRect().width) || 0) +
407
- ((draggableTh === null || draggableTh === void 0 ? void 0 : draggableTh.getBoundingClientRect().width) || 0);
408
- const nextWidth = ((expandTh === null || expandTh === void 0 ? void 0 : expandTh.getBoundingClientRect().width) || 0) + lastTh.getBoundingClientRect().width;
409
- return [prevWidth, nextWidth];
410
- }
411
- // to avoid window resize before row rendered.
412
- // @see{module:resize-pinned-position-by-edit-row}
46
+ getRowFixedWidths(row) {
47
+ const firstCell = row.shadowRoot.querySelector('th:first-of-type');
48
+ const draggableCell = row.shadowRoot.querySelector('.vega-table-draggable-column');
49
+ const selectionCell = row.shadowRoot.querySelector('.vega-table-selection-column');
50
+ const expandCell = row.shadowRoot.querySelector('.vega-table-expand-action-column');
51
+ const lastCell = row.shadowRoot.querySelector('th:last-of-type');
413
52
  /* istanbul ignore next */
414
- return [0, 0];
53
+ if (!firstCell)
54
+ return [0, 0];
55
+ return [
56
+ firstCell.getBoundingClientRect().width +
57
+ ((selectionCell === null || selectionCell === void 0 ? void 0 : selectionCell.getBoundingClientRect().width) || 0) +
58
+ ((draggableCell === null || draggableCell === void 0 ? void 0 : draggableCell.getBoundingClientRect().width) || 0),
59
+ ((expandCell === null || expandCell === void 0 ? void 0 : expandCell.getBoundingClientRect().width) || 0) + ((lastCell === null || lastCell === void 0 ? void 0 : lastCell.getBoundingClientRect().width) || 0),
60
+ ];
415
61
  }
416
62
  getLeafWidths() {
417
63
  const headCellRenderInputMap = this.vegaTableRenderInputController.getHeadCellRenderInputMap();
418
- const leafRenderInputs = this.vegaTableRenderInputController.getLeafRenderInputs();
419
- return leafRenderInputs.map((leaf) => {
420
- var _a;
64
+ return this.vegaTableRenderInputController
65
+ .getLeafRenderInputs()
66
+ .map((leaf) => {
67
+ var _a, _b;
421
68
  for (const [cell, renderInput] of headCellRenderInputMap.entries()) {
422
69
  if (leaf === renderInput) {
423
- // to avoid window resize before cell rendered.
424
- // @see{module:resize-pinned-position-by-edit-row}
425
70
  /* istanbul ignore next */
426
- return ((_a = cell.shadowRoot.querySelector('th, td')) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect().width) || 0;
427
- }
428
- }
429
- });
430
- }
431
- syncColspanForHiddenColumns(leafWidths, pinnedColumnBodyCellRenderInputMap) {
432
- // NOTE: renderInput.colSpan is null for flat (non-group) tables — it only holds a value for
433
- // group-column subtree spans. We read the original colspan from the component prop (bodyCell.colSpan)
434
- // which is always the rendered value, unaffected by our shadow-DOM attribute writes.
435
- //
436
- // Skip when ALL leaf widths are 0 — that means the table is running in jsdom / an off-screen
437
- // context where getBoundingClientRect() always returns 0. Adjusting in that state would
438
- // incorrectly reduce every colspan to 1 (no visible columns = Math.max(1,0)=1).
439
- if (leafWidths.every((w) => w === 0))
440
- return;
441
- pinnedColumnBodyCellRenderInputMap.forEach((renderInput, bodyCell) => {
442
- var _a;
443
- const originalColspan = bodyCell.colSpan || 1;
444
- if (originalColspan <= 1)
445
- return;
446
- /* istanbul ignore next -- defensive null-guard: jsdom always provides shadowRoot */
447
- const shadowTd = (_a = bodyCell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('td');
448
- /* istanbul ignore next -- shadowTd is always present in jsdom */
449
- if (!shadowTd)
450
- return;
451
- shadowTd.setAttribute('colspan', String(this.countVisibleColspan(leafWidths, renderInput.columnIndex, originalColspan)));
452
- });
453
- }
454
- /**
455
- * Count how many columns in a span are actually visible (leaf width > 0). Breakpoint-hidden
456
- * columns report width 0 because their <th> is display:none; Chrome ignores that on the table
457
- * grid, so a spanning cell's shadow <td> colspan must be reduced to the visible count to stay
458
- * column-aligned (VD-9540). Shared by data-source and template positioning paths.
459
- *
460
- * @param {number[]} leafWidths - Rendered width of each leaf column, indexed by columnIndex.
461
- * @param {number} startIndex - columnIndex of the first leaf the spanning cell covers.
462
- * @param {number} declaredColspan - The cell's originally declared colspan.
463
- * @returns {number} The number of visible columns in the span (>= 1).
464
- */
465
- countVisibleColspan(leafWidths, startIndex, declaredColspan) {
466
- const spanned = leafWidths.slice(startIndex, startIndex + declaredColspan);
467
- return Math.max(1, spanned.filter((w) => w > 0).length);
468
- }
469
- resolveCellColSpan(cell, renderInput) {
470
- var _a;
471
- // Group-column render inputs carry an explicit colSpan; flat/leaf and authored template
472
- // cells fall back to the col-span prop on the cell. The authored value is honored verbatim
473
- // (no pinned-boundary clamping) — see updateTemplateLeafCellPinnedPosition.
474
- const colSpan = (_a = renderInput === null || renderInput === void 0 ? void 0 : renderInput.colSpan) !== null && _a !== void 0 ? _a : null;
475
- return isNonNullable(colSpan) ? colSpan : cell.colSpan || 1;
476
- }
477
- updateCellPinnedPosition(renderInput, headCell, prevShadowThWidth, leafWidths, nextShadowThWidth) {
478
- if (['left', 'right'].includes(renderInput.pinned)) {
479
- const shadowCell = headCell.shadowRoot.querySelector('th, td');
480
- if (renderInput.pinned === 'left') {
481
- const position = prevShadowThWidth +
482
- leafWidths
483
- .slice(0, renderInput.columnIndex)
484
- .reduce((count, colWidth) => count + colWidth, 0);
485
- this.updatePinnedPosition(shadowCell, 'left', position);
486
- }
487
- if (renderInput.pinned === 'right') {
488
- // renderInput.colSpan is null for flat (non-group) tables — it only carries a value
489
- // for group-column subtree spans (multi-level headers). For body cells with an HTML
490
- // colspan (e.g. colSpan:2 spanning the last two right-pinned columns), we read the
491
- // actual span from the host component prop so the right-edge offset is calculated
492
- // over the full spanned width rather than just one column (VD-9565).
493
- const colSpan = this.resolveCellColSpan(headCell, renderInput);
494
- const position = nextShadowThWidth +
495
- leafWidths
496
- .slice(renderInput.columnIndex + colSpan)
497
- .reduce((count, colWidth) => count + colWidth, 0);
498
- this.updatePinnedPosition(shadowCell, 'right', position);
499
- }
500
- }
501
- }
502
- updateTableRowPinnedPosition() {
503
- const hasLeftPinnedColumn = this.columnStructureModel.hasLeftPinnedColumn();
504
- const hasRightPinnedColumn = this.columnStructureModel.hasRightPinnedColumn();
505
- const tableWidth = this.host.getBoundingClientRect().width;
506
- const leftPadding = extractNumberFromString(this.paddingX[0]);
507
- const rightPadding = extractNumberFromString(this.paddingX[1]);
508
- // table width - padding(8*2) - border(2);
509
- const expandContainerWidth = tableWidth - leftPadding - rightPadding - 2;
510
- this.getRowContainerRoot()
511
- .querySelectorAll('vega-table-head-row, vega-table-row, vega-table-expand-row, vega-table-foot-row')
512
- .forEach((row) => {
513
- const rowShadow = row.shadowRoot;
514
- if (hasLeftPinnedColumn) {
515
- const firstCell = rowShadow.querySelector('th:first-of-type, td:first-of-type');
516
- const selectionCell = rowShadow.querySelector('.vega-table-selection-column');
517
- const draggableCell = rowShadow.querySelector('.vega-table-draggable-column');
518
- this.updatePinnedPosition(firstCell, 'left', 0);
519
- this.updatePinnedPosition(draggableCell, 'left', leftPadding);
520
- const draggableCellWidth = (draggableCell === null || draggableCell === void 0 ? void 0 : draggableCell.getBoundingClientRect().width) || 0;
521
- this.updatePinnedPosition(selectionCell, 'left', leftPadding + draggableCellWidth);
522
- }
523
- if (hasRightPinnedColumn) {
524
- const expandCell = rowShadow.querySelector('.vega-table-expand-action-column');
525
- const lastCell = rowShadow.querySelector('th:last-of-type, td:last-of-type');
526
- this.updatePinnedPosition(expandCell, 'right', rightPadding);
527
- this.updatePinnedPosition(lastCell, 'right', 0);
528
- }
529
- if (hasRightPinnedColumn || hasLeftPinnedColumn) {
530
- const expandCell = rowShadow.querySelector('.vega-table-expanded-row-slot-container');
531
- if (expandCell) {
532
- const slotInnerContainer = expandCell.querySelector('.expanded-row-slot-inner');
533
- this.updatePinnedPosition(slotInnerContainer, 'left', leftPadding);
534
- // we should set the width to make the expand slot not scroll by table scroll.
535
- // ticket: https://gethired.atlassian.net/browse/VD-7015
536
- slotInnerContainer.style.width = `${expandContainerWidth}px`;
71
+ return ((_b = (_a = cell.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('th, td')) === null || _b === void 0 ? void 0 : _b.getBoundingClientRect().width) || 0;
537
72
  }
538
73
  }
74
+ return 0;
539
75
  });
540
76
  }
541
- clearAllPinnedPositions() {
542
- this.previouslyStyledCells.forEach((cell) => {
543
- cell.style.position = '';
544
- cell.style.zIndex = '';
545
- cell.style.left = '';
546
- cell.style.right = '';
547
- if (cell.classList.contains('expanded-row-slot-inner')) {
548
- cell.style.width = '';
549
- }
550
- });
551
- // Remove boundary classes only from cells where they were dynamically added
552
- // (breakpoint-shifted boundaries). Static boundary classes from renderInput are
553
- // re-applied by the cell's own render cycle.
554
- this.dynamicRightDividerCells.forEach((cell) => cell.classList.remove('right-divider'));
555
- this.dynamicRightDividerCells.clear();
556
- this.dynamicLeftDividerCells.forEach((cell) => cell.classList.remove('left-divider'));
557
- this.dynamicLeftDividerCells.clear();
558
- this.dynamicHideRightBorderCells.forEach((cell) => cell.classList.remove('hide-right-border'));
559
- this.dynamicHideRightBorderCells.clear();
560
- this.restoreTemplateLeafColspan();
561
- this.previouslyStyledCells.clear();
562
- }
563
- updatePinnedPosition(cell, type, position) {
564
- if (!cell)
565
- return;
566
- cell.style.position = 'sticky';
567
- cell.style.zIndex = '1';
568
- cell.style[type] = `${position}px`;
569
- this.previouslyStyledCells.add(cell);
570
- }
571
77
  }
572
78
  __decorate([
573
79
  MapToComponentField()
@@ -575,9 +81,6 @@ __decorate([
575
81
  __decorate([
576
82
  MapToComponentField()
577
83
  ], VegaTablePinnedRenderer.prototype, "columnStructureModel", void 0);
578
- __decorate([
579
- MapToComponentField()
580
- ], VegaTablePinnedRenderer.prototype, "paddingX", void 0);
581
84
  __decorate([
582
85
  MapToComponentField()
583
86
  ], VegaTablePinnedRenderer.prototype, "isTemplateRenderMode", void 0);
@@ -32,6 +32,7 @@ export class VegaTableRowRenderer extends VegaSlimmer {
32
32
  }, key: `vega-table-row-${rowKey}`, rowKey: rowKey,
33
33
  /* eslint-disable-next-line react/jsx-no-bind */
34
34
  ref: (ref) => {
35
+ this.vegaTableRenderInputController.addRowRenderInputMap(ref, 'body');
35
36
  DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClick, () => {
36
37
  this.rowClickEventEmitter.emit({ record: record, index: index });
37
38
  });
@@ -148,6 +148,16 @@ td.v-text-right {
148
148
  border-color: rgba(var(--v-border-color-input-field, 171, 198, 216, 1));
149
149
  }
150
150
 
151
+ :host .vega-table-cell.pinned-left {
152
+ position: sticky;
153
+ z-index: 1;
154
+ left: var(--pinned-offset-left, 0);
155
+ }
156
+ :host .vega-table-cell.pinned-right {
157
+ position: sticky;
158
+ z-index: 1;
159
+ right: var(--pinned-offset-right, 0);
160
+ }
151
161
  :host .vega-table-cell.right-divider {
152
162
  border-color: rgba(var(--v-border-color-divider, 171, 198, 216, 1));
153
163
  border-right-width: 2px;