@globalpayments/vega 2.98.0 → 2.100.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 (645) hide show
  1. package/dist/cjs/{accessibility-88f8af84.js → accessibility-6ca2a237.js} +21 -0
  2. package/dist/cjs/{action-color-accessibility-validator-24498816.js → action-color-accessibility-validator-b8a9ef0f.js} +2 -2
  3. package/dist/cjs/{app-globals-b3f05631.js → app-globals-48d067a7.js} +11 -10
  4. package/dist/cjs/{aria-attributes-value-mapper-9a41b9cf.js → aria-attributes-value-mapper-e8c6b0e0.js} +1 -1
  5. package/dist/cjs/{code-block-d78c2b2c.js → code-block-3b42c364.js} +95 -6
  6. package/dist/cjs/{component-global-style-slimmer-93c5fb50.js → component-global-style-slimmer-ba588eb4.js} +1 -1
  7. package/dist/cjs/{component-value-history-controller-slimmer.abstract-beb00fea.js → component-value-history-controller-slimmer.abstract-bbe3bcaf.js} +24 -5
  8. package/dist/cjs/{content-state-78a620a9.js → content-state-87a06c1a.js} +104 -8
  9. package/dist/cjs/{dark-mode-style-controller-32d4054a.js → dark-mode-style-controller-f3da3342.js} +2 -2
  10. package/dist/cjs/{date-required-rule-5250f26d.js → date-required-rule-45c802d3.js} +1 -1
  11. package/dist/cjs/{design-token-74674ee7.js → design-token-9d762da0.js} +3 -3
  12. package/dist/cjs/{element-appender-slimmer-597e9e48.js → element-appender-slimmer-f7ba5d9a.js} +2 -2
  13. package/dist/cjs/{form-field-controller-slimmer-a743be34.js → form-field-controller-slimmer-fbaddc91.js} +2 -2
  14. package/dist/cjs/{image-annotation-action-85c4bd83.js → image-annotation-action-03d3e01a.js} +7 -6
  15. package/dist/cjs/{image-extension-260fa69c.js → image-extension-ccda26d3.js} +2 -2
  16. package/dist/cjs/{index-592b4052.js → index-5d1adcd1.js} +86 -0
  17. package/dist/cjs/index.cjs.js +20 -19
  18. package/dist/cjs/{inject-keyboard-manager-6a6f5c9f.js → inject-keyboard-manager-540f0876.js} +1 -1
  19. package/dist/cjs/{internal-calendar-period-factory-dfcdd3f6.js → internal-calendar-period-factory-b11918ee.js} +1 -1
  20. package/dist/cjs/{internal-translation-controller-1dac2df8.js → internal-translation-controller-27bfc8c7.js} +17 -0
  21. package/dist/cjs/{keyboard-manager-c56033b1.js → keyboard-manager-16e96b62.js} +12 -5
  22. package/dist/cjs/{keyboard-manager-slimmer-7043a106.js → keyboard-manager-slimmer-0a4e556d.js} +1 -1
  23. package/dist/cjs/{link-extension-220ff6a9.js → link-extension-71eeaa9f.js} +26 -7
  24. package/dist/cjs/loader.cjs.js +14 -14
  25. package/dist/cjs/{month-view-generator-7b704a80.js → month-view-generator-0a3e04de.js} +1 -1
  26. package/dist/cjs/overlay-escape-coordination-901d8942.js +38 -0
  27. package/dist/cjs/{public-rules-5657bce4.js → public-rules-3dc5d02d.js} +9 -9
  28. package/dist/cjs/{range-c5afd53a.js → range-d29751e3.js} +1 -1
  29. package/dist/cjs/{responsive-format-facade-493d1763.js → responsive-format-facade-c6d7f0a1.js} +1 -1
  30. package/dist/cjs/{rich-text-editor-required-rule-385c1b61.js → rich-text-editor-required-rule-05de7f0c.js} +1 -1
  31. package/dist/cjs/{split-cell-operation-873d5db7.js → split-cell-operation-ef783850.js} +14 -4
  32. package/dist/cjs/{state-border-formatter-711c7aaa.js → state-border-formatter-dda9109a.js} +1 -1
  33. package/dist/cjs/{string-format-strategy.abstract-b61bdcbd.js → string-format-strategy.abstract-3a968a59.js} +1 -1
  34. package/dist/cjs/{string-input-formatter-slimmer-ef65cca7.js → string-input-formatter-slimmer-9747039f.js} +1 -1
  35. package/dist/cjs/{string-mask-strategy-ad3fa0ac.js → string-mask-strategy-d9f85c21.js} +2 -2
  36. package/dist/cjs/{style-formatter-8f711cb0.js → style-formatter-d21a9784.js} +2 -2
  37. package/dist/cjs/{time-required-rule-87417359.js → time-required-rule-580cbd3d.js} +1 -1
  38. package/dist/cjs/{token-extension-78b5a026.js → token-extension-8d7bd451.js} +3773 -252
  39. package/dist/cjs/{translation-slimmer-77c7f37d.js → translation-slimmer-31cd5a57.js} +1 -1
  40. package/dist/cjs/{type-guard-a57ef3ac.js → type-guard-00b8efc0.js} +1 -1
  41. package/dist/cjs/{valid-credit-card-number-rule-4c0a3040.js → valid-credit-card-number-rule-70885128.js} +1 -1
  42. package/dist/cjs/vega-accordion.cjs.entry.js +6 -6
  43. package/dist/cjs/vega-app-footer.cjs.entry.js +2 -2
  44. package/dist/cjs/vega-app-header-button.cjs.entry.js +6 -6
  45. package/dist/cjs/vega-banner.cjs.entry.js +1 -1
  46. package/dist/cjs/vega-box.cjs.entry.js +7 -7
  47. package/dist/cjs/vega-brand-logo.cjs.entry.js +2 -2
  48. package/dist/cjs/vega-breadcrumb.cjs.entry.js +2 -2
  49. package/dist/cjs/vega-button-circle.cjs.entry.js +7 -7
  50. package/dist/cjs/vega-button-group_2.cjs.entry.js +13 -6
  51. package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
  52. package/dist/cjs/vega-button.cjs.entry.js +22 -6
  53. package/dist/cjs/vega-calendar_5.cjs.entry.js +22 -11
  54. package/dist/cjs/vega-card.cjs.entry.js +5 -5
  55. package/dist/cjs/vega-carousel.cjs.entry.js +4 -4
  56. package/dist/cjs/vega-checkbox_2.cjs.entry.js +4 -4
  57. package/dist/cjs/vega-chip.cjs.entry.js +6 -6
  58. package/dist/cjs/vega-code-block.cjs.entry.js +12 -12
  59. package/dist/cjs/vega-color-picker.cjs.entry.js +4 -4
  60. package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +4 -4
  61. package/dist/cjs/vega-color-swatch.cjs.entry.js +3 -3
  62. package/dist/cjs/vega-combo-box.cjs.entry.js +10 -10
  63. package/dist/cjs/vega-counter-badge.cjs.entry.js +2 -2
  64. package/dist/cjs/vega-date-picker_2.cjs.entry.js +15 -15
  65. package/dist/cjs/vega-dialog_2.cjs.entry.js +72 -6
  66. package/dist/cjs/vega-divider.cjs.entry.js +5 -5
  67. package/dist/cjs/vega-dropdown_5.cjs.entry.js +116 -24
  68. package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
  69. package/dist/cjs/vega-field-label.cjs.entry.js +27 -34
  70. package/dist/cjs/vega-file-uploader.cjs.entry.js +5 -5
  71. package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
  72. package/dist/cjs/vega-flex.cjs.entry.js +6 -6
  73. package/dist/cjs/vega-font.cjs.entry.js +5 -5
  74. package/dist/cjs/vega-form.cjs.entry.js +2 -2
  75. package/dist/cjs/vega-grid.cjs.entry.js +5 -5
  76. package/dist/cjs/vega-icon.cjs.entry.js +6 -6
  77. package/dist/cjs/vega-image-uploader.cjs.entry.js +8 -8
  78. package/dist/cjs/vega-input-credit-card.cjs.entry.js +7 -7
  79. package/dist/cjs/vega-input-numeric.cjs.entry.js +6 -6
  80. package/dist/cjs/vega-input-passcode.cjs.entry.js +6 -6
  81. package/dist/cjs/vega-input-phone-number.cjs.entry.js +42 -8
  82. package/dist/cjs/vega-input-range.cjs.entry.js +5 -5
  83. package/dist/cjs/vega-input-select.cjs.entry.js +25 -8
  84. package/dist/cjs/vega-input.cjs.entry.js +9 -9
  85. package/dist/cjs/vega-left-nav_5.cjs.entry.js +10 -10
  86. package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
  87. package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
  88. package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
  89. package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
  90. package/dist/cjs/vega-popover_2.cjs.entry.js +58 -9
  91. package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +4 -4
  92. package/dist/cjs/vega-radio_2.cjs.entry.js +7 -7
  93. package/dist/cjs/vega-rich-text-content.cjs.entry.js +44 -13
  94. package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +767 -248
  95. package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +3 -3
  96. package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +5 -5
  97. package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +158 -105
  98. package/dist/cjs/vega-selection-chip_2.cjs.entry.js +6 -6
  99. package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -3
  100. package/dist/cjs/vega-sidenav_3.cjs.entry.js +4 -4
  101. package/dist/cjs/vega-signature-capture.cjs.entry.js +8 -8
  102. package/dist/cjs/vega-stepper.cjs.entry.js +3 -3
  103. package/dist/cjs/vega-tab-group_2.cjs.entry.js +22 -9
  104. package/dist/cjs/vega-table_11.cjs.entry.js +82 -46
  105. package/dist/cjs/vega-textarea.cjs.entry.js +3 -3
  106. package/dist/cjs/vega-time-picker_2.cjs.entry.js +11 -11
  107. package/dist/cjs/vega-toggle-switch.cjs.entry.js +4 -4
  108. package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
  109. package/dist/cjs/vega.cjs.js +14 -14
  110. package/dist/collection/components/vega-button/vega-button.js +17 -2
  111. package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.js +13 -6
  112. package/dist/collection/components/vega-button-link/vega-button-link.js +2 -2
  113. package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +5 -2
  114. package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.js +9 -1
  115. package/dist/collection/components/vega-code-block/vega-code-block.css +4 -4
  116. package/dist/collection/components/vega-counter-badge/vega-counter-badge.js +2 -2
  117. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-controller.js +148 -0
  118. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +5 -2
  119. package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +17 -0
  120. package/dist/collection/components/vega-dropdown/vega-dropdown-group/slimmers/renderers/vega-dropdown-group-renderer.js +6 -4
  121. package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +12 -4
  122. package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +2 -1
  123. package/dist/collection/components/vega-dropdown/vega-dropdown.js +1 -1
  124. package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.js +21 -30
  125. package/dist/collection/components/vega-field-label/vega-field-label.css +1 -0
  126. package/dist/collection/components/vega-field-label/vega-field-label.js +7 -5
  127. package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +19 -2
  128. package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +66 -0
  129. package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +17 -0
  130. package/dist/collection/components/vega-popover/vega-popover.js +33 -1
  131. package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +4 -1
  132. package/dist/collection/components/vega-rich-text-editor/constants/constant.js +25 -0
  133. package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.js +13 -0
  134. package/dist/collection/components/vega-rich-text-editor/dto/actions/commit-value-action.js +20 -0
  135. package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.js +2 -1
  136. package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +22 -0
  137. package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +10 -0
  138. package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
  139. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.js +2 -1
  140. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.js +5 -2
  141. package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.js +36 -2
  142. package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +6 -0
  143. package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
  144. package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
  145. package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +20 -3
  146. package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +12 -0
  147. package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +30 -18
  148. package/dist/collection/components/vega-rich-text-editor/extensions/block-boundary-registry.js +34 -0
  149. package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +1 -0
  150. package/dist/collection/components/vega-rich-text-editor/extensions/copy/copy-toolbar-button-renderer.js +1 -0
  151. package/dist/collection/components/vega-rich-text-editor/extensions/cut/cut-toolbar-button-renderer.js +1 -0
  152. package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +20 -0
  153. package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +51 -0
  154. 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
  155. package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +3 -0
  156. package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.js +3 -2
  157. package/dist/collection/components/vega-rich-text-editor/extensions/functions/constants.js +8 -0
  158. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/function-block.js +14 -3
  159. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.js +2 -1
  160. package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +6 -0
  161. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-containing-function-block-strategy.js +19 -0
  162. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.js +9 -5
  163. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.js +3 -3
  164. package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.js +4 -2
  165. package/dist/collection/components/vega-rich-text-editor/extensions/functions/function-extension.js +18 -0
  166. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.js +5 -2
  167. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
  168. package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.js +2 -1
  169. package/dist/collection/components/vega-rich-text-editor/extensions/functions/utils.js +36 -0
  170. package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.js +1 -0
  171. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +1 -0
  172. package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +5 -3
  173. package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.js +16 -0
  174. package/dist/collection/components/vega-rich-text-editor/extensions/paste/action-handler-strategies/image-replace-src-strategy.js +21 -0
  175. package/dist/collection/components/vega-rich-text-editor/extensions/paste/actions/image-replace-src-action.js +13 -0
  176. package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.js +295 -0
  177. package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.js +116 -0
  178. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.js +13 -4
  179. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-extension.js +70 -7
  180. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/default-paste-strategy.js +38 -0
  181. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.js +55 -0
  182. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.js +59 -0
  183. package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/word-paste-strategy.js +416 -0
  184. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-code-block-transformer.js +106 -0
  185. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-image-transformer.js +198 -0
  186. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-list-transformer.js +591 -0
  187. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-paragraph-transformer.js +112 -0
  188. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-table-transformer.js +551 -0
  189. package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-transformer.js +7 -0
  190. package/dist/collection/components/vega-rich-text-editor/extensions/special-characters/special-characters-toolbar-button-renderer.js +2 -0
  191. package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-block.js +10 -0
  192. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.js +3 -9
  193. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-cell-renderer.js +2 -2
  194. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +81 -1
  195. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.js +148 -0
  196. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +151 -5
  197. package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +144 -2
  198. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js +26 -1
  199. package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
  200. 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
  201. 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
  202. 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
  203. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.css +5 -0
  204. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.js +16 -1
  205. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/caption-button-slimmer.js +1 -0
  206. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/cell-properties-button-slimmer.js +1 -0
  207. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +10 -9
  208. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +9 -8
  209. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +25 -10
  210. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-properties-button-slimmer.js +1 -0
  211. 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
  212. 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
  213. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.css +10 -0
  214. package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.js +2 -0
  215. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +4 -2
  216. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node.js +44 -0
  217. package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -0
  218. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.js +70 -0
  219. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/type.js +1 -0
  220. package/dist/collection/components/vega-rich-text-editor/extensions/word-count/word-count-extension.js +62 -0
  221. package/dist/collection/components/vega-rich-text-editor/public-api.js +1 -0
  222. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +2 -0
  223. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.js +7 -4
  224. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +17 -0
  225. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +18 -4
  226. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +2 -1
  227. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +21 -2
  228. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +7 -1
  229. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +52 -2
  230. package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.js +79 -0
  231. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +6 -3
  232. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -1
  233. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
  234. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +3 -2
  235. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +111 -2
  236. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +24 -6
  237. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
  238. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
  239. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
  240. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +59 -8
  241. package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +5 -2
  242. 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
  243. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +13 -1
  244. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +16 -0
  245. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.js +124 -0
  246. package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +9 -1
  247. package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.js +14 -7
  248. package/dist/collection/components/vega-tab-group/vega-tab-group.css +6 -0
  249. package/dist/collection/components/vega-tab-group/vega-tab-group.js +5 -0
  250. package/dist/collection/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.js +31 -1
  251. package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.js +18 -11
  252. package/dist/collection/global/scripts/before-vega-load.js +2 -0
  253. package/dist/collection/helpers/keyboard/keyboard-manager.js +11 -4
  254. package/dist/collection/helpers/keyboard/overlay-escape-coordination.js +33 -0
  255. package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +1 -1
  256. package/dist/collection/helpers/translation/locales/en.js +17 -0
  257. package/dist/collection/polyfill/libphonenumber/as-you-type.js +21 -3
  258. package/dist/collection/polyfill/libphonenumber/metadata.js +16 -0
  259. package/dist/collection/utils/accessibility.js +20 -0
  260. package/dist/collection/utils/sanitize/index.js +3 -2
  261. package/dist/collection/utils/sanitize/strategies/index.js +1 -0
  262. package/dist/collection/utils/sanitize/strategies/label-sanitize-strategy.js +14 -0
  263. package/dist/collection/utils/sanitize/strategies/plain-text-sanitize-strategy.js +70 -0
  264. package/dist/esm/{accessibility-6af5cf2e.js → accessibility-c899a968.js} +21 -1
  265. package/dist/esm/{action-color-accessibility-validator-ce55cb07.js → action-color-accessibility-validator-08877515.js} +2 -2
  266. package/dist/esm/{app-globals-95c7110a.js → app-globals-1e1371d5.js} +11 -10
  267. package/dist/esm/{aria-attributes-value-mapper-2c632641.js → aria-attributes-value-mapper-a5c7478e.js} +1 -1
  268. package/dist/esm/{aria-dialog-focusable-trap-slimmer-f069f54d.js → aria-dialog-focusable-trap-slimmer-b2a24a45.js} +2 -2
  269. package/dist/esm/{child-nodes-notify-observer-slimmer-499a3aa7.js → child-nodes-notify-observer-slimmer-034bc78c.js} +1 -1
  270. package/dist/esm/{code-block-9c513169.js → code-block-741d6b8e.js} +91 -9
  271. package/dist/esm/{component-global-style-slimmer-ac703085.js → component-global-style-slimmer-7d60a04a.js} +1 -1
  272. package/dist/esm/{component-value-history-controller-slimmer.abstract-9cef2a2a.js → component-value-history-controller-slimmer.abstract-2bcd749e.js} +26 -7
  273. package/dist/esm/{content-state-25c81c08.js → content-state-2f6f4204.js} +104 -11
  274. package/dist/esm/{dark-mode-style-controller-ca5afd2d.js → dark-mode-style-controller-352f15ff.js} +2 -2
  275. package/dist/esm/{date-required-rule-85334d0c.js → date-required-rule-2ea3aec8.js} +1 -1
  276. package/dist/esm/{design-token-10ff79b5.js → design-token-82a4e107.js} +3 -3
  277. package/dist/esm/{dom-node-subject-observer-factory-ddff8662.js → dom-node-subject-observer-factory-bb7e68a0.js} +1 -1
  278. package/dist/esm/{element-appender-slimmer-8a06ecdd.js → element-appender-slimmer-c820c0bf.js} +4 -4
  279. package/dist/esm/{event-emit-slimmer-2452278f.js → event-emit-slimmer-e8bb2292.js} +1 -1
  280. package/dist/esm/{form-field-controller-slimmer-68fc5380.js → form-field-controller-slimmer-02165dbe.js} +5 -5
  281. package/dist/esm/{image-annotation-action-d7f2aecc.js → image-annotation-action-972c1074.js} +8 -7
  282. package/dist/esm/{image-extension-fbd1ed6e.js → image-extension-59484e9a.js} +2 -2
  283. package/dist/esm/{index-3b327f29.js → index-35451d12.js} +86 -1
  284. package/dist/esm/index.js +21 -21
  285. package/dist/esm/{inject-keyboard-manager-ea1aad5b.js → inject-keyboard-manager-6a10c9b7.js} +1 -1
  286. package/dist/esm/{internal-calendar-period-factory-7b294fb6.js → internal-calendar-period-factory-d1a60f81.js} +1 -1
  287. package/dist/esm/{internal-translation-controller-fac22598.js → internal-translation-controller-fff376d2.js} +17 -0
  288. package/dist/esm/{keyboard-manager-50da85d7.js → keyboard-manager-a58288df.js} +13 -6
  289. package/dist/esm/{keyboard-manager-slimmer-1f7c8bfb.js → keyboard-manager-slimmer-133b86cd.js} +1 -1
  290. package/dist/esm/{link-extension-e8ee103e.js → link-extension-e89acb5c.js} +26 -7
  291. package/dist/esm/loader.js +16 -16
  292. package/dist/esm/{month-view-generator-a1a9a4ec.js → month-view-generator-20e32b22.js} +1 -1
  293. package/dist/esm/overlay-escape-coordination-439f7d6f.js +35 -0
  294. package/dist/esm/{public-rules-49de79c7.js → public-rules-c154201b.js} +11 -11
  295. package/dist/esm/{range-b678c693.js → range-c818a1eb.js} +2 -2
  296. package/dist/esm/{responsive-format-facade-f19b601c.js → responsive-format-facade-07843ec3.js} +1 -1
  297. package/dist/esm/{rich-text-editor-required-rule-578e0958.js → rich-text-editor-required-rule-878e91c6.js} +1 -1
  298. package/dist/esm/{split-cell-operation-1c8e7585.js → split-cell-operation-cc0cdf90.js} +15 -5
  299. package/dist/esm/{state-border-formatter-bfda33aa.js → state-border-formatter-3b3dcfe8.js} +1 -1
  300. package/dist/esm/{string-format-strategy.abstract-1f4ff1b3.js → string-format-strategy.abstract-44381dcb.js} +1 -1
  301. package/dist/esm/{string-input-formatter-slimmer-0006a107.js → string-input-formatter-slimmer-76fe52d3.js} +3 -3
  302. package/dist/esm/{string-mask-strategy-bbbcdbef.js → string-mask-strategy-999fba4b.js} +2 -2
  303. package/dist/esm/{style-formatter-e9adc8f4.js → style-formatter-c4192c99.js} +2 -2
  304. package/dist/esm/{sub-state-notify-slimmer-23b7d0e8.js → sub-state-notify-slimmer-e306c849.js} +1 -1
  305. package/dist/esm/{sub-state-observer-slimmer-722f6b92.js → sub-state-observer-slimmer-bd85f381.js} +2 -2
  306. package/dist/esm/{time-required-rule-1ce2d0a0.js → time-required-rule-0554b114.js} +1 -1
  307. package/dist/esm/{token-extension-f2d009e3.js → token-extension-35c66684.js} +3773 -253
  308. package/dist/esm/{translation-slimmer-ee0f0e76.js → translation-slimmer-77022f2e.js} +1 -1
  309. package/dist/esm/{type-guard-f2624334.js → type-guard-26d83e7e.js} +1 -1
  310. package/dist/esm/{ui-d73f756a.js → ui-80e610f4.js} +1 -1
  311. package/dist/esm/{valid-credit-card-number-rule-60212b1d.js → valid-credit-card-number-rule-f60b6904.js} +1 -1
  312. package/dist/esm/vega-accordion.entry.js +9 -9
  313. package/dist/esm/vega-app-footer.entry.js +5 -5
  314. package/dist/esm/vega-app-header-button.entry.js +9 -9
  315. package/dist/esm/vega-backdrop.entry.js +1 -1
  316. package/dist/esm/vega-banner.entry.js +4 -4
  317. package/dist/esm/vega-box.entry.js +8 -8
  318. package/dist/esm/vega-brand-logo.entry.js +2 -2
  319. package/dist/esm/vega-breadcrumb.entry.js +5 -5
  320. package/dist/esm/vega-button-circle.entry.js +10 -10
  321. package/dist/esm/vega-button-group_2.entry.js +18 -11
  322. package/dist/esm/vega-button-link.entry.js +7 -7
  323. package/dist/esm/vega-button.entry.js +25 -9
  324. package/dist/esm/vega-calendar_5.entry.js +27 -16
  325. package/dist/esm/vega-card.entry.js +6 -6
  326. package/dist/esm/vega-carousel.entry.js +7 -7
  327. package/dist/esm/vega-checkbox_2.entry.js +9 -9
  328. package/dist/esm/vega-chip.entry.js +9 -9
  329. package/dist/esm/vega-code-block.entry.js +15 -15
  330. package/dist/esm/vega-color-picker.entry.js +8 -8
  331. package/dist/esm/vega-color-swatch-picker.entry.js +8 -8
  332. package/dist/esm/vega-color-swatch.entry.js +6 -6
  333. package/dist/esm/vega-combo-box.entry.js +14 -14
  334. package/dist/esm/vega-counter-badge.entry.js +2 -2
  335. package/dist/esm/vega-date-picker_2.entry.js +21 -21
  336. package/dist/esm/vega-dialog_2.entry.js +76 -10
  337. package/dist/esm/vega-divider.entry.js +5 -5
  338. package/dist/esm/vega-dropdown_5.entry.js +123 -31
  339. package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
  340. package/dist/esm/vega-field-label.entry.js +30 -37
  341. package/dist/esm/vega-file-uploader.entry.js +9 -9
  342. package/dist/esm/vega-flag-icon.entry.js +5 -5
  343. package/dist/esm/vega-flex.entry.js +7 -7
  344. package/dist/esm/vega-font.entry.js +6 -6
  345. package/dist/esm/vega-form.entry.js +8 -8
  346. package/dist/esm/vega-grid.entry.js +6 -6
  347. package/dist/esm/vega-icon.entry.js +7 -7
  348. package/dist/esm/vega-image-uploader.entry.js +12 -12
  349. package/dist/esm/vega-input-credit-card.entry.js +11 -11
  350. package/dist/esm/vega-input-numeric.entry.js +11 -11
  351. package/dist/esm/vega-input-passcode.entry.js +10 -10
  352. package/dist/esm/vega-input-phone-number.entry.js +46 -12
  353. package/dist/esm/vega-input-range.entry.js +9 -9
  354. package/dist/esm/vega-input-select.entry.js +29 -12
  355. package/dist/esm/vega-input.entry.js +14 -14
  356. package/dist/esm/vega-item-toggle.entry.js +3 -3
  357. package/dist/esm/vega-left-nav_5.entry.js +15 -15
  358. package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
  359. package/dist/esm/vega-page-notification_2.entry.js +3 -3
  360. package/dist/esm/vega-pagination-page-selector-mobile.entry.js +2 -2
  361. package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +4 -4
  362. package/dist/esm/vega-pagination.entry.js +7 -7
  363. package/dist/esm/vega-popover_2.entry.js +62 -13
  364. package/dist/esm/vega-progress-tracker_2.entry.js +9 -9
  365. package/dist/esm/vega-radio_2.entry.js +12 -12
  366. package/dist/esm/vega-rich-text-content.entry.js +48 -17
  367. package/dist/esm/vega-rich-text-editor_4.entry.js +774 -255
  368. package/dist/esm/vega-rich-text-find-replace-panel.entry.js +6 -6
  369. package/dist/esm/vega-rich-text-special-characters-panel.entry.js +8 -8
  370. package/dist/esm/vega-rich-text-table-properties_3.entry.js +160 -107
  371. package/dist/esm/vega-segment-control.entry.js +3 -3
  372. package/dist/esm/vega-selection-chip_2.entry.js +11 -11
  373. package/dist/esm/vega-selection-tile_2.entry.js +9 -9
  374. package/dist/esm/vega-sidenav_3.entry.js +9 -9
  375. package/dist/esm/vega-signature-capture.entry.js +12 -12
  376. package/dist/esm/vega-stepper.entry.js +7 -7
  377. package/dist/esm/vega-tab-group_2.entry.js +25 -12
  378. package/dist/esm/vega-table_11.entry.js +59 -23
  379. package/dist/esm/vega-textarea.entry.js +7 -7
  380. package/dist/esm/vega-time-picker_2.entry.js +15 -15
  381. package/dist/esm/vega-toggle-switch.entry.js +8 -8
  382. package/dist/esm/vega-tooltip_2.entry.js +8 -8
  383. package/dist/esm/vega.js +16 -16
  384. package/dist/esm/{wait-for-component-did-render-ff7062aa.js → wait-for-component-did-render-9b91a826.js} +1 -1
  385. package/dist/sri/vega-sri-manifest.json +399 -395
  386. package/dist/types/components/vega-button/vega-button.d.ts +2 -0
  387. package/dist/types/components/vega-button-group/types.d.ts +12 -6
  388. package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.d.ts +2 -0
  389. package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.d.ts +1 -0
  390. package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -1
  391. package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.d.ts +3 -10
  392. package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +8 -0
  393. package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +33 -0
  394. package/dist/types/components/vega-modal/types.d.ts +2 -1
  395. package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +9 -0
  396. package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +22 -0
  397. package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.d.ts +13 -0
  398. package/dist/types/components/vega-rich-text-editor/dto/actions/commit-value-action.d.ts +20 -0
  399. package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.d.ts +1 -0
  400. package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +15 -0
  401. package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
  402. package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
  403. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.d.ts +1 -0
  404. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.d.ts +3 -2
  405. package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.d.ts +25 -3
  406. package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +4 -0
  407. package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +6 -0
  408. package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
  409. package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +7 -0
  410. package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +11 -0
  411. package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +5 -0
  412. package/dist/types/components/vega-rich-text-editor/extensions/block-boundary-registry.d.ts +21 -0
  413. package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +15 -0
  414. package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.d.ts +19 -0
  415. package/dist/types/components/vega-rich-text-editor/extensions/functions/constants.d.ts +4 -0
  416. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/function-block.d.ts +7 -0
  417. package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +4 -0
  418. package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-containing-function-block-strategy.d.ts +8 -0
  419. package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts +6 -0
  420. package/dist/types/components/vega-rich-text-editor/extensions/functions/utils.d.ts +29 -0
  421. package/dist/types/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.d.ts +14 -1
  422. package/dist/types/components/vega-rich-text-editor/extensions/paste/action-handler-strategies/image-replace-src-strategy.d.ts +12 -0
  423. package/dist/types/components/vega-rich-text-editor/extensions/paste/actions/image-replace-src-action.d.ts +11 -0
  424. package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.d.ts +136 -0
  425. package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.d.ts +68 -0
  426. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.d.ts +9 -4
  427. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-extension.d.ts +39 -2
  428. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/default-paste-strategy.d.ts +29 -0
  429. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.d.ts +61 -0
  430. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.d.ts +45 -0
  431. package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/word-paste-strategy.d.ts +186 -0
  432. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-code-block-transformer.d.ts +51 -0
  433. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-image-transformer.d.ts +86 -0
  434. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-list-transformer.d.ts +271 -0
  435. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-paragraph-transformer.d.ts +25 -0
  436. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-table-transformer.d.ts +240 -0
  437. package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-transformer.d.ts +36 -0
  438. package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-block.d.ts +8 -0
  439. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.d.ts +2 -2
  440. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +31 -1
  441. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.d.ts +91 -0
  442. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +46 -0
  443. package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +58 -0
  444. package/dist/types/components/vega-rich-text-editor/extensions/table/table-selection.d.ts +8 -0
  445. 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
  446. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.d.ts +2 -0
  447. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.d.ts +3 -0
  448. 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
  449. package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.d.ts +1 -0
  450. package/dist/types/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.d.ts +2 -2
  451. package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node.d.ts +19 -1
  452. package/dist/types/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.d.ts +38 -0
  453. package/dist/types/components/vega-rich-text-editor/extensions/word-count/type.d.ts +46 -0
  454. package/dist/types/components/vega-rich-text-editor/extensions/word-count/word-count-extension.d.ts +38 -0
  455. package/dist/types/components/vega-rich-text-editor/interface.d.ts +22 -0
  456. package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
  457. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.d.ts +4 -1
  458. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.d.ts +8 -0
  459. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +11 -1
  460. package/dist/types/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.d.ts +40 -0
  461. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +14 -0
  462. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +4 -1
  463. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
  464. package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +12 -0
  465. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +2 -0
  466. package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -0
  467. package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.d.ts +68 -0
  468. 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
  469. package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.d.ts +1 -0
  470. package/dist/types/components/vega-tab-group/types.d.ts +3 -1
  471. package/dist/types/components/vega-tab-group/vega-tab-group.d.ts +2 -0
  472. package/dist/types/components/vega-table/interface.d.ts +4 -4
  473. package/dist/types/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.d.ts +16 -0
  474. package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.d.ts +8 -10
  475. package/dist/types/helpers/keyboard/keyboard-manager.d.ts +9 -0
  476. package/dist/types/helpers/keyboard/overlay-escape-coordination.d.ts +28 -0
  477. package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +1 -1
  478. package/dist/types/helpers/translation/interface.d.ts +18 -1
  479. package/dist/types/polyfill/libphonenumber/as-you-type.d.ts +1 -0
  480. package/dist/types/polyfill/libphonenumber/metadata.d.ts +10 -0
  481. package/dist/types/types/public-api.d.ts +2 -0
  482. package/dist/types/utils/accessibility.d.ts +9 -0
  483. package/dist/types/utils/sanitize/index.d.ts +3 -2
  484. package/dist/types/utils/sanitize/strategies/index.d.ts +1 -0
  485. package/dist/types/utils/sanitize/strategies/label-sanitize-strategy.d.ts +9 -0
  486. package/dist/types/utils/sanitize/strategies/plain-text-sanitize-strategy.d.ts +36 -0
  487. package/dist/vega/index.esm.js +1 -1
  488. package/dist/vega/{p-6f537797.entry.js → p-01ca92e6.entry.js} +1 -1
  489. package/dist/vega/{p-02d3ce79.entry.js → p-02b5d4ac.entry.js} +1 -1
  490. package/dist/vega/p-06a42a9f.entry.js +1 -0
  491. package/dist/vega/{p-fd23c365.entry.js → p-0cd362f3.entry.js} +1 -1
  492. package/dist/vega/p-0e10798b.entry.js +1 -0
  493. package/dist/vega/{p-2c2e8615.js → p-0eea1ca8.js} +1 -1
  494. package/dist/vega/{p-c98c2f5f.entry.js → p-0f344e02.entry.js} +1 -1
  495. package/dist/vega/{p-4cbfc01e.entry.js → p-23db0a92.entry.js} +1 -1
  496. package/dist/vega/{p-ccbe3f1b.entry.js → p-284a8828.entry.js} +1 -1
  497. package/dist/vega/{p-ac94ba1b.entry.js → p-2b26e182.entry.js} +1 -1
  498. package/dist/vega/{p-56598858.entry.js → p-2c8dc0d2.entry.js} +1 -1
  499. package/dist/vega/{p-2bb5a232.js → p-3091b105.js} +1 -1
  500. package/dist/vega/{p-9abf7d0a.entry.js → p-35d37477.entry.js} +1 -1
  501. package/dist/vega/{p-526e3634.js → p-36a57431.js} +1 -1
  502. package/dist/vega/{p-810c9c29.js → p-379736e2.js} +1 -1
  503. package/dist/vega/p-3abb793c.entry.js +1 -0
  504. package/dist/vega/{p-f29ea345.entry.js → p-3d6a43df.entry.js} +1 -1
  505. package/dist/vega/{p-c2277448.entry.js → p-3f2a4b34.entry.js} +1 -1
  506. package/dist/vega/p-401c6764.js +1 -0
  507. package/dist/vega/{p-da867019.entry.js → p-411cadbc.entry.js} +1 -1
  508. package/dist/vega/{p-ec64cc59.entry.js → p-46f22f6c.entry.js} +1 -1
  509. package/dist/vega/{p-8d2501b2.js → p-493108d5.js} +1 -1
  510. package/dist/vega/{p-085d1647.entry.js → p-49de5559.entry.js} +1 -1
  511. package/dist/vega/{p-781b7a54.js → p-4b35c748.js} +1 -1
  512. package/dist/vega/{p-a8174ad8.entry.js → p-4d1896e0.entry.js} +1 -1
  513. package/dist/vega/{p-b00ec194.entry.js → p-4e23e56c.entry.js} +1 -1
  514. package/dist/vega/{p-1cff027b.entry.js → p-5006404e.entry.js} +1 -1
  515. package/dist/vega/{p-56417ec5.entry.js → p-5789690b.entry.js} +1 -1
  516. package/dist/vega/{p-461100b8.entry.js → p-594cb986.entry.js} +1 -1
  517. package/dist/vega/p-5a086e93.js +1 -0
  518. package/dist/vega/{p-3e09aeed.js → p-5b3c8a56.js} +1 -1
  519. package/dist/vega/p-5b9b1631.entry.js +1 -0
  520. package/dist/vega/{p-c41a2d4a.js → p-5c3649f9.js} +1 -1
  521. package/dist/vega/{p-fb9475ab.entry.js → p-5d9be870.entry.js} +1 -1
  522. package/dist/vega/p-5f377954.js +1 -1
  523. package/dist/vega/{p-d609c3fd.js → p-60a74fb7.js} +1 -1
  524. package/dist/vega/{p-2acf9b42.entry.js → p-61ed7268.entry.js} +1 -1
  525. package/dist/vega/p-6336d446.entry.js +1 -0
  526. package/dist/vega/{p-dbb4b1d1.js → p-638b6a7d.js} +1 -1
  527. package/dist/vega/{p-bdb5180c.js → p-68744e7e.js} +1 -1
  528. package/dist/vega/p-6e9e7131.js +1 -0
  529. package/dist/vega/{p-014cd411.js → p-6eedbc4f.js} +1 -1
  530. package/dist/vega/{p-a090b2be.js → p-6fd8f14b.js} +1 -1
  531. package/dist/vega/{p-0cf3b5c1.entry.js → p-7469d0d1.entry.js} +1 -1
  532. package/dist/vega/p-74b20563.entry.js +1 -0
  533. package/dist/vega/{p-17c69503.entry.js → p-76999ea1.entry.js} +1 -1
  534. package/dist/vega/p-77bcdd35.js +1 -0
  535. package/dist/vega/{p-035e2f05.entry.js → p-79b49e8d.entry.js} +1 -1
  536. package/dist/vega/{p-8d96f0e8.entry.js → p-7a03ef96.entry.js} +1 -1
  537. package/dist/vega/{p-c5fb8a69.entry.js → p-7ae4cf82.entry.js} +1 -1
  538. package/dist/vega/{p-f9bfee81.entry.js → p-7cc8855d.entry.js} +1 -1
  539. package/dist/vega/{p-d470fce2.entry.js → p-7ddc0bec.entry.js} +1 -1
  540. package/dist/vega/{p-ca3c1317.entry.js → p-7e22610b.entry.js} +1 -1
  541. package/dist/vega/p-7f395622.entry.js +1 -0
  542. package/dist/vega/{p-3737b9e2.entry.js → p-816b5fd2.entry.js} +1 -1
  543. package/dist/vega/p-8387896e.js +1 -0
  544. package/dist/vega/p-844ad6aa.entry.js +1 -0
  545. package/dist/vega/p-853a05eb.js +1 -0
  546. package/dist/vega/p-85de755f.js +1 -0
  547. package/dist/vega/p-8663314e.js +1 -0
  548. package/dist/vega/{p-95c18f79.entry.js → p-86fb46d2.entry.js} +1 -1
  549. package/dist/vega/p-8cfdd0e8.entry.js +1 -0
  550. package/dist/vega/p-8ebe30a8.js +1 -0
  551. package/dist/vega/p-8f00dfe6.js +1 -0
  552. package/dist/vega/{p-66647244.js → p-8fc0a820.js} +1 -1
  553. package/dist/vega/{p-4fd0cf01.js → p-9034f709.js} +1 -1
  554. package/dist/vega/{p-456f678b.js → p-941a83db.js} +1 -1
  555. package/dist/vega/{p-ae2abdfa.js → p-96c090c4.js} +1 -1
  556. package/dist/vega/p-9ba2fdff.js +1 -0
  557. package/dist/vega/{p-d319ebb5.js → p-9e9f49f4.js} +1 -1
  558. package/dist/vega/p-9efa5d76.js +1 -0
  559. package/dist/vega/{p-a81ad3bd.js → p-a306bb39.js} +1 -1
  560. package/dist/vega/{p-db11134b.entry.js → p-a48468b5.entry.js} +1 -1
  561. package/dist/vega/{p-56db3323.js → p-a488447f.js} +1 -1
  562. package/dist/vega/p-a647c856.entry.js +1 -0
  563. package/dist/vega/{p-a484e32d.entry.js → p-a6a89f09.entry.js} +1 -1
  564. package/dist/vega/p-a92cd703.js +1 -0
  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-4bfe3258.entry.js → p-aaaf21eb.entry.js} +1 -1
  568. package/dist/vega/{p-36d9e782.entry.js → p-ab253867.entry.js} +1 -1
  569. package/dist/vega/{p-dcd3e3a7.js → p-ab9d53e9.js} +1 -1
  570. package/dist/vega/p-ad367b48.entry.js +1 -0
  571. package/dist/vega/{p-e18c0656.entry.js → p-af0cfea0.entry.js} +1 -1
  572. package/dist/vega/p-b07f587a.entry.js +1 -0
  573. package/dist/vega/p-b21cc390.entry.js +1 -0
  574. package/dist/vega/{p-12e8a1b2.js → p-b2a4314a.js} +1 -1
  575. package/dist/vega/p-b52d7724.js +3 -0
  576. package/dist/vega/{p-5f96e741.entry.js → p-b97ed9f7.entry.js} +1 -1
  577. package/dist/vega/{p-7dcd2850.entry.js → p-bc0e5598.entry.js} +1 -1
  578. package/dist/vega/p-bc119e75.entry.js +1 -0
  579. package/dist/vega/{p-0cbf09f7.entry.js → p-bedb575c.entry.js} +1 -1
  580. package/dist/vega/{p-cb81126a.entry.js → p-bfe5dff7.entry.js} +1 -1
  581. package/dist/vega/{p-52c69f9e.entry.js → p-c032f626.entry.js} +1 -1
  582. package/dist/vega/{p-1ea9ad9a.js → p-c34f4cbc.js} +1 -1
  583. package/dist/vega/{p-72ab5cd5.entry.js → p-c422ee02.entry.js} +1 -1
  584. package/dist/vega/{p-39c5054b.js → p-c576e846.js} +1 -1
  585. package/dist/vega/{p-c70748f7.entry.js → p-c7d46740.entry.js} +1 -1
  586. package/dist/vega/p-cc569b54.js +1 -0
  587. package/dist/vega/{p-4e065ef7.entry.js → p-cd04b149.entry.js} +1 -1
  588. package/dist/vega/{p-2a245138.entry.js → p-cd0a108b.entry.js} +1 -1
  589. package/dist/vega/{p-8c56d74d.entry.js → p-d1bb6e7a.entry.js} +1 -1
  590. package/dist/vega/{p-200c8914.entry.js → p-d340ee3d.entry.js} +1 -1
  591. package/dist/vega/p-d897acd5.js +1 -0
  592. package/dist/vega/p-debf9e06.entry.js +1 -0
  593. package/dist/vega/p-e0a51e49.js +1 -0
  594. package/dist/vega/{p-1aedbfd2.entry.js → p-e11c6ec4.entry.js} +1 -1
  595. package/dist/vega/{p-1e0a8fd3.js → p-e14323f3.js} +1 -1
  596. package/dist/vega/{p-6d4518d7.entry.js → p-e5abc288.entry.js} +1 -1
  597. package/dist/vega/{p-544ce391.entry.js → p-ea1a0046.entry.js} +1 -1
  598. package/dist/vega/{p-72fd17a1.entry.js → p-edd7aa92.entry.js} +1 -1
  599. package/dist/vega/p-ef1bbf14.js +1 -0
  600. package/dist/vega/{p-9834d5d4.entry.js → p-efc08027.entry.js} +1 -1
  601. package/dist/vega/{p-874e5624.js → p-f485448a.js} +1 -1
  602. package/dist/vega/{p-92528dc9.entry.js → p-f8b2dbb9.entry.js} +1 -1
  603. package/dist/vega/{p-cf4b3d40.entry.js → p-f8bf379c.entry.js} +1 -1
  604. package/dist/vega/{p-b98ead05.entry.js → p-f902305d.entry.js} +1 -1
  605. package/dist/vega/p-fe985b52.js +1 -0
  606. package/dist/vega/vega.esm.js +1 -1
  607. package/package.json +1 -1
  608. package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-conttroller.js +0 -85
  609. package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-constants.js +0 -6
  610. package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-constants.d.ts +0 -6
  611. package/dist/vega/p-03eeadc1.entry.js +0 -1
  612. package/dist/vega/p-0eb29065.js +0 -3
  613. package/dist/vega/p-10d30c03.js +0 -1
  614. package/dist/vega/p-1250b1ab.entry.js +0 -1
  615. package/dist/vega/p-1abd3c17.js +0 -1
  616. package/dist/vega/p-2d158cbd.js +0 -1
  617. package/dist/vega/p-2f07d719.entry.js +0 -1
  618. package/dist/vega/p-36d2df7a.entry.js +0 -1
  619. package/dist/vega/p-373541fa.js +0 -1
  620. package/dist/vega/p-3a620268.js +0 -1
  621. package/dist/vega/p-3d0b4074.js +0 -1
  622. package/dist/vega/p-56493601.js +0 -1
  623. package/dist/vega/p-571ec00b.js +0 -1
  624. package/dist/vega/p-585e4f1c.entry.js +0 -1
  625. package/dist/vega/p-5b1f5e4a.entry.js +0 -1
  626. package/dist/vega/p-6234852e.entry.js +0 -1
  627. package/dist/vega/p-67eaf77e.js +0 -1
  628. package/dist/vega/p-6c95a6a3.js +0 -1
  629. package/dist/vega/p-6fd4f2c6.js +0 -1
  630. package/dist/vega/p-7e8fdac4.js +0 -1
  631. package/dist/vega/p-83ad8988.js +0 -1
  632. package/dist/vega/p-94975537.entry.js +0 -1
  633. package/dist/vega/p-a91927eb.entry.js +0 -1
  634. package/dist/vega/p-b3733762.entry.js +0 -1
  635. package/dist/vega/p-b622c455.js +0 -1
  636. package/dist/vega/p-c6d775b8.entry.js +0 -1
  637. package/dist/vega/p-cd69aeae.js +0 -1
  638. package/dist/vega/p-cfe268a8.entry.js +0 -1
  639. package/dist/vega/p-daba4af1.js +0 -1
  640. package/dist/vega/p-de8f0d98.js +0 -1
  641. package/dist/vega/p-f0e828d8.js +0 -1
  642. package/dist/vega/p-f62c5a20.entry.js +0 -1
  643. package/dist/vega/p-f6c0e9e7.entry.js +0 -1
  644. package/dist/vega/p-fa65956c.entry.js +0 -1
  645. /package/dist/types/components/vega-dropdown/slimmers/controllers/{vega-dropdown-keyboard-conttroller.d.ts → vega-dropdown-keyboard-controller.d.ts} +0 -0
@@ -0,0 +1,591 @@
1
+ /** Font families Word uses to render bullet symbols rather than real characters. */
2
+ const BULLET_FONT_PATTERN = /symbol|wingdings|webdings/i;
3
+ /**
4
+ * Matches the paragraph-level Word list marker (`mso-list:l0 level1 lfo1`). The
5
+ * presence of `l<number>` distinguishes a genuine list paragraph from the inner
6
+ * `mso-list:Ignore` marker span.
7
+ */
8
+ const PARAGRAPH_LIST_PATTERN = /mso-list\s*:\s*l\d+/i;
9
+ /** Extracts the Word nesting depth (`level<number>`) from a list paragraph. */
10
+ const LIST_LEVEL_PATTERN = /mso-list\s*:\s*l\d+\s+level(\d+)/i;
11
+ /** Extracts the abstract Word list template id (`l<number>`). */
12
+ const LIST_TEMPLATE_ID_PATTERN = /mso-list\s*:\s*l(\d+)/i;
13
+ /** Extracts the Word list-format override id (`lfo<number>`), unique per list instance. */
14
+ const LIST_OVERRIDE_ID_PATTERN = /\blfo(\d+)/i;
15
+ /** Matches the inner span that holds the Word-rendered bullet / number glyph. */
16
+ const LIST_IGNORE_PATTERN = /mso-list\s*:\s*ignore/i;
17
+ /** Extracts a `font-family` declaration value from a preserved style string. */
18
+ const FONT_FAMILY_PATTERN = /font-family\s*:\s*([^;]+)/i;
19
+ /** Fallback Word list paragraph class when no `mso-list` style is present. */
20
+ const LIST_PARAGRAPH_CLASS_PATTERN = /MsoListParagraph/i;
21
+ /**
22
+ * CSS `list-style-type` values keyed by the shape of the Word marker token.
23
+ * Decimal markers are intentionally absent: a plain `<ol>` already renders as
24
+ * `1. 2. 3.`, so numeric lists keep the current behavior with no inline style.
25
+ *
26
+ * Roman patterns explicitly accept a lone `i` / `I` (representing 1), which is
27
+ * the typical first item of a Roman-numeral list. Multi-character sequences
28
+ * must contain only Roman letters.
29
+ */
30
+ const LOWER_ROMAN_PATTERN = /^(i|[ivxlcdm]{2,})$/;
31
+ const UPPER_ROMAN_PATTERN = /^(I|[IVXLCDM]{2,})$/;
32
+ const LOWER_ALPHA_PATTERN = /^[a-z]+$/;
33
+ const UPPER_ALPHA_PATTERN = /^[A-Z]+$/;
34
+ const DECIMAL_PATTERN = /^[0-9]+$/;
35
+ /** Extracts the `list-style-type` value from a preserved style string. */
36
+ const LIST_STYLE_TYPE_PATTERN = /list-style-type\s*:\s*([^;]+)/i;
37
+ /**
38
+ * Maps the HTML `<ol type>` attribute values Word emits on real ordered lists
39
+ * to the equivalent CSS `list-style-type`. Decimal (`type=1`) is intentionally
40
+ * absent: a plain `<ol>` already renders as `1. 2. 3.`, so it needs no inline
41
+ * style (matching the marker-derived handling above).
42
+ */
43
+ const OL_TYPE_TO_LIST_STYLE_TYPE = {
44
+ a: 'lower-alpha',
45
+ A: 'upper-alpha',
46
+ i: 'lower-roman',
47
+ I: 'upper-roman',
48
+ };
49
+ /**
50
+ * Rebuilds Word list paragraphs into real `<ul>` / `<ol>` / `<li>` structures.
51
+ *
52
+ * Word does not emit list elements: it emits a flat sequence of `<p>` blocks
53
+ * that each carry an `mso-list:l<id> level<depth> lfo<override>` marker plus an
54
+ * inner `mso-list:Ignore` span that renders the visible bullet or number. This
55
+ * transformer walks every container that hosts list paragraphs (so nested
56
+ * `<div>` / table cells are covered), strips the marker span, decides bullet
57
+ * vs. numbered from the marker text / font, and folds the flat items back into
58
+ * a nested list tree the RTE slimmer can parse.
59
+ *
60
+ * Runs before {@link WordParagraphRoleTransformer} so the converted `<li>`
61
+ * elements are no longer seen as paragraphs during role resolution.
62
+ */
63
+ export class WordListRoleTransformer {
64
+ /** @inheritDoc */
65
+ apply(root) {
66
+ // Word can also emit real `<ol>` / `<ul>` structures where a nested list
67
+ // is a **sibling** of the preceding `<li>` rather than a child of it (an
68
+ // invalid nesting the HTML parser preserves as-is). Fix that first so the
69
+ // rest of the pipeline sees the standard `<li><ol>…</ol></li>` shape.
70
+ this.nestSiblingLists(root);
71
+ // Word may nest list paragraphs inside containers (e.g. `<div>`, table
72
+ // cells). Group by their direct parent so contiguous siblings in each
73
+ // container are folded together, regardless of where they sit in the tree.
74
+ const containers = new Set();
75
+ Array.from(root.querySelectorAll('p')).forEach((paragraph) => {
76
+ if (this.isWordListParagraph(paragraph) && paragraph.parentElement) {
77
+ containers.add(paragraph.parentElement);
78
+ }
79
+ });
80
+ // Include the root itself when it hosts list paragraphs directly.
81
+ if (Array.from(root.children).some((child) => this.isWordListParagraph(child))) {
82
+ containers.add(root);
83
+ }
84
+ containers.forEach((container) => this.processContainer(container));
85
+ // Word also emits real `<ol type=...>` elements whose numbering style lives
86
+ // on the (non-allowlisted) `type` attribute. Fold that into a preserved
87
+ // `list-style-type` so the marker style survives the allowlist pass.
88
+ this.applyOrderedListTypeAttributes(root);
89
+ }
90
+ /** @inheritDoc */
91
+ getAllowedTags() {
92
+ return ['UL', 'OL', 'LI'];
93
+ }
94
+ /** @inheritDoc */
95
+ getAllowedAttributes() {
96
+ return new Map();
97
+ }
98
+ /** @inheritDoc */
99
+ getAllowedStyles() {
100
+ return ['list-style'];
101
+ }
102
+ /**
103
+ * Moves any `<ol>` / `<ul>` that appears as a direct child of another
104
+ * `<ol>` / `<ul>` into the preceding `<li>` sibling, so downstream strategies
105
+ * see a well-formed nested list. Word emits this invalid shape when it uses
106
+ * real list elements (rather than flat `mso-list` paragraphs) — the browser
107
+ * parser keeps the nested list as a sibling of the `<li>` it should belong
108
+ * to, and the RTE's OL/UL block strategy would drop it because its
109
+ * `appendChildBlocks` only keeps `<li>` children.
110
+ *
111
+ * Runs bottom-up so a nested list that also has misplaced children is fixed
112
+ * before its own parent list picks it up.
113
+ *
114
+ * @param {HTMLElement} root Parsed body element.
115
+ */
116
+ nestSiblingLists(root) {
117
+ const lists = Array.from(root.querySelectorAll('ol, ul'));
118
+ for (let index = lists.length - 1; index >= 0; index--) {
119
+ Array.from(lists[index].children).forEach((child) => {
120
+ if (child.tagName !== 'OL' && child.tagName !== 'UL') {
121
+ return;
122
+ }
123
+ const previousItem = child.previousElementSibling;
124
+ if (previousItem && previousItem.tagName === 'LI') {
125
+ previousItem.appendChild(child);
126
+ }
127
+ });
128
+ }
129
+ }
130
+ /**
131
+ * Converts the HTML `<ol type>` attribute into a preserved
132
+ * `list-style-type` declaration for every ordered list that carries one.
133
+ *
134
+ * Word can paste genuine `<ol>` elements (rather than flat list paragraphs)
135
+ * that encode alpha / Roman numbering via the legacy `type` attribute
136
+ * (`type=a`, `type=i`, `type=I`, …). The `type` attribute is not on the
137
+ * allowlist and would be dropped, losing the numbering style, so it is mapped
138
+ * onto `list-style-type` inside `data-style`. Decimal (`type=1`) lists are
139
+ * left untouched because a bare `<ol>` already renders as `1. 2. 3.`. An
140
+ * existing `list-style-type` declaration wins and is never overwritten.
141
+ *
142
+ * @param {HTMLElement} root Parsed body element.
143
+ */
144
+ applyOrderedListTypeAttributes(root) {
145
+ Array.from(root.querySelectorAll('ol[type]')).forEach((orderedList) => {
146
+ const type = orderedList.getAttribute('type') || '';
147
+ const listStyleType = OL_TYPE_TO_LIST_STYLE_TYPE[type];
148
+ if (!listStyleType) {
149
+ return;
150
+ }
151
+ const style = orderedList.getAttribute('data-style') || '';
152
+ if (LIST_STYLE_TYPE_PATTERN.test(style)) {
153
+ return;
154
+ }
155
+ const prefix = style.trim() === '' ? '' : `${style.replace(/;\s*$/, '')}; `;
156
+ orderedList.setAttribute('data-style', `${prefix}list-style-type: ${listStyleType}`);
157
+ });
158
+ }
159
+ /**
160
+ * Walks a container, folding each contiguous run of Word list paragraphs
161
+ * into a nested list tree in place of the original paragraphs.
162
+ *
163
+ * @param {HTMLElement} container Element whose direct children may include list paragraphs.
164
+ */
165
+ processContainer(container) {
166
+ const children = Array.from(container.children);
167
+ let index = 0;
168
+ while (index < children.length) {
169
+ if (!this.isWordListParagraph(children[index])) {
170
+ index++;
171
+ continue;
172
+ }
173
+ const run = [];
174
+ while (index < children.length && this.isWordListParagraph(children[index])) {
175
+ run.push(children[index]);
176
+ index++;
177
+ }
178
+ this.transformRun(run, container);
179
+ }
180
+ }
181
+ /**
182
+ * Determines whether an element is a Word list paragraph.
183
+ *
184
+ * A paragraph is only treated as a list when it carries a genuine Word list
185
+ * marker: either the `mso-list:l<n>` paragraph style, or the `MsoListParagraph`
186
+ * class **together with** an inner `mso-list:Ignore` marker span. The
187
+ * `MsoListParagraph` class alone is not sufficient — Word also uses that
188
+ * paragraph style for plain indented content (e.g. headings), which must not
189
+ * be folded into a `<ul>` / `<ol>`.
190
+ *
191
+ * @param {HTMLElement} element Candidate element.
192
+ * @returns {boolean} `true` when the element is a `<p>` carrying a Word list marker.
193
+ */
194
+ isWordListParagraph(element) {
195
+ if (element.tagName !== 'P') {
196
+ return false;
197
+ }
198
+ const style = element.getAttribute('data-style') || '';
199
+ if (PARAGRAPH_LIST_PATTERN.test(style)) {
200
+ return true;
201
+ }
202
+ const className = element.getAttribute('class') || '';
203
+ return LIST_PARAGRAPH_CLASS_PATTERN.test(className) && this.findMarker(element) !== undefined;
204
+ }
205
+ /**
206
+ * Folds a flat run of Word list paragraphs into a nested list tree inserted
207
+ * before the run, then removes the original paragraphs.
208
+ *
209
+ * @param {HTMLElement[]} run Consecutive Word list paragraphs.
210
+ * @param {HTMLElement} container Element hosting the run.
211
+ */
212
+ transformRun(run, container) {
213
+ const anchor = run[0];
214
+ const stack = [];
215
+ run.forEach((paragraph) => {
216
+ // Compute the marker once per paragraph and thread it through the
217
+ // helpers that need it, so the DOM is not re-queried multiple times.
218
+ const marker = this.findMarker(paragraph);
219
+ const level = this.resolveLevel(paragraph);
220
+ const ordered = marker ? this.isOrderedMarker(marker, paragraph) : false;
221
+ const listId = this.resolveListId(paragraph);
222
+ // Close any lists deeper than the current item.
223
+ while (stack.length > 0 && stack[stack.length - 1].level > level) {
224
+ stack.pop();
225
+ }
226
+ // Resolve the marker style with the same-level list already open in
227
+ // context, so an ambiguous lone "i" / "I" continues an alpha list
228
+ // instead of being misread as Roman 1. The marker text is still on the
229
+ // paragraph here (buildListItem strips it below).
230
+ let top = stack[stack.length - 1];
231
+ const listStyleType = ordered && marker ? this.resolveListStyleType(marker, top, level, listId) : null;
232
+ const listItem = this.buildListItem(paragraph, marker);
233
+ if (!top || top.level < level) {
234
+ top = this.openNestedList(stack, container, anchor, ordered, level, listStyleType, listId);
235
+ }
236
+ else if (this.needsSiblingList(top, ordered, listStyleType, listId)) {
237
+ top = this.openSiblingList(stack, ordered, level, listStyleType, listId);
238
+ }
239
+ top.listEl.appendChild(listItem);
240
+ });
241
+ run.forEach((paragraph) => paragraph.remove());
242
+ }
243
+ /**
244
+ * Reports whether a same-level item must break out into a new sibling list.
245
+ * A different Word list instance always splits (so two separate lists pasted
246
+ * back-to-back keep independent numbering). Bullet-vs-numbered switches also
247
+ * split, and numbered lists additionally split when the CSS `list-style-type`
248
+ * changes (e.g. `1.` → `a)`).
249
+ *
250
+ * @param {OpenList} top Currently open list at the same nesting depth.
251
+ * @param {boolean} ordered Whether the incoming item is numbered.
252
+ * @param {string | null} listStyleType Incoming numbered list style, if any.
253
+ * @param {string | null} listId Incoming Word list instance id, if any.
254
+ * @returns {boolean} `true` when a new sibling list should be opened.
255
+ */
256
+ needsSiblingList(top, ordered, listStyleType, listId) {
257
+ // A known change of list instance means the two runs are distinct lists.
258
+ if (top.listId !== null && listId !== null && top.listId !== listId) {
259
+ return true;
260
+ }
261
+ if (top.ordered !== ordered) {
262
+ return true;
263
+ }
264
+ if (!ordered) {
265
+ return false;
266
+ }
267
+ return this.readListStyleType(top.listEl) !== listStyleType;
268
+ }
269
+ /**
270
+ * Reads a previously-written `list-style-type` from an open list element.
271
+ *
272
+ * @param {HTMLElement} listEl List element.
273
+ * @returns {string | null} The style value, or `null` when none is set.
274
+ */
275
+ readListStyleType(listEl) {
276
+ const match = LIST_STYLE_TYPE_PATTERN.exec(listEl.getAttribute('data-style') || '');
277
+ return match ? match[1].trim() : null;
278
+ }
279
+ /**
280
+ * Opens a new list nested one or more levels deeper than the current top.
281
+ * Word occasionally skips indent levels on paste (e.g. jumping from `level1`
282
+ * to `level3`); this walks the gap one level at a time, inserting placeholder
283
+ * lists so the deeper list is nested through empty `<li>` anchors instead of
284
+ * appearing as a sibling of the shallower list.
285
+ *
286
+ * @param {OpenList[]} stack Stack of currently open lists.
287
+ * @param {HTMLElement} container Host element for the top-level list.
288
+ * @param {HTMLElement} anchor Element the top-level list is inserted before.
289
+ * @param {boolean} ordered Whether the new list is numbered.
290
+ * @param {number} level Word nesting depth for the new list.
291
+ * @param {string | null} listStyleType CSS `list-style-type` for ordered lists.
292
+ * @param {string | null} listId Word list instance id for the new list.
293
+ * @returns {OpenList} The newly opened list.
294
+ */
295
+ openNestedList(stack, container, anchor, ordered, level, listStyleType, listId) {
296
+ let currentTop = stack[stack.length - 1];
297
+ let currentLevel = currentTop ? currentTop.level : 0;
298
+ while (currentLevel < level - 1) {
299
+ const bridge = this.createListElement(container, ordered, null);
300
+ this.attachList(bridge, currentTop, container, anchor);
301
+ // Empty `<li>` anchor so the next deeper list can be nested inside it.
302
+ bridge.appendChild(bridge.ownerDocument.createElement('li'));
303
+ stack.push({ level: currentLevel + 1, ordered, listId, listEl: bridge });
304
+ currentTop = stack[stack.length - 1];
305
+ currentLevel = currentTop.level;
306
+ }
307
+ const parent = stack[stack.length - 1];
308
+ const listEl = this.createListElement(container, ordered, listStyleType);
309
+ this.attachList(listEl, parent, container, anchor);
310
+ const opened = { level, ordered, listId, listEl };
311
+ stack.push(opened);
312
+ return opened;
313
+ }
314
+ /**
315
+ * Replaces the current top list with a sibling list at the same nesting
316
+ * depth. Used when the list flavor (bullet vs. numbered, or the ordered
317
+ * marker style) flips between two consecutive same-level items.
318
+ *
319
+ * @param {OpenList[]} stack Stack of currently open lists.
320
+ * @param {boolean} ordered Whether the sibling list is numbered.
321
+ * @param {number} level Word nesting depth for the sibling list.
322
+ * @param {string | null} listStyleType CSS `list-style-type` for ordered lists.
323
+ * @param {string | null} listId Word list instance id for the sibling list.
324
+ * @returns {OpenList} The newly opened sibling list.
325
+ */
326
+ openSiblingList(stack, ordered, level, listStyleType, listId) {
327
+ const current = stack[stack.length - 1];
328
+ const listEl = this.createListElement(current.listEl, ordered, listStyleType);
329
+ const parentNode = current.listEl.parentNode;
330
+ if (parentNode) {
331
+ parentNode.insertBefore(listEl, current.listEl.nextSibling);
332
+ }
333
+ stack.pop();
334
+ const opened = { level, ordered, listId, listEl };
335
+ stack.push(opened);
336
+ return opened;
337
+ }
338
+ /**
339
+ * Attaches a freshly created list element either inside the last item of the
340
+ * parent list (for nested lists) or before the run anchor (top-level lists).
341
+ *
342
+ * @param {HTMLElement} listEl List element to attach.
343
+ * @param {OpenList | undefined} parent Currently open parent list, if any.
344
+ * @param {HTMLElement} container Host element used for top-level insertion.
345
+ * @param {HTMLElement} anchor Element the top-level list is inserted before.
346
+ */
347
+ attachList(listEl, parent, container, anchor) {
348
+ if (parent) {
349
+ const parentItem = parent.listEl.lastElementChild;
350
+ (parentItem || parent.listEl).appendChild(listEl);
351
+ }
352
+ else {
353
+ container.insertBefore(listEl, anchor);
354
+ }
355
+ }
356
+ /**
357
+ * Creates an empty `<ol>` or `<ul>` element, tagging ordered lists with a
358
+ * `list-style-type` when their markers are not plain decimals.
359
+ *
360
+ * @param {HTMLElement} reference Element whose document creates the list.
361
+ * @param {boolean} ordered Whether to create a numbered list.
362
+ * @param {string | null} listStyleType CSS `list-style-type` for ordered lists.
363
+ * @returns {HTMLElement} The new list element.
364
+ */
365
+ createListElement(reference, ordered, listStyleType) {
366
+ const listEl = reference.ownerDocument.createElement(ordered ? 'ol' : 'ul');
367
+ if (ordered && listStyleType) {
368
+ // Styles are preserved as `data-style` across the DOMParser boundary and
369
+ // restored to `style` after the allowlist pass.
370
+ listEl.setAttribute('data-style', `list-style-type: ${listStyleType}`);
371
+ }
372
+ return listEl;
373
+ }
374
+ /**
375
+ * Converts a Word list paragraph into an `<li>` element: the marker span is
376
+ * removed and the remaining content is moved into the list item.
377
+ *
378
+ * @param {HTMLElement} paragraph Word list paragraph.
379
+ * @param {HTMLElement | undefined} marker Pre-resolved `mso-list:Ignore` span.
380
+ * @returns {HTMLLIElement} The populated list item.
381
+ */
382
+ buildListItem(paragraph, marker) {
383
+ const listItem = paragraph.ownerDocument.createElement('li');
384
+ if (marker) {
385
+ this.preserveMarkerPlaceholderImages(marker, paragraph);
386
+ this.removeMarker(marker, paragraph);
387
+ }
388
+ while (paragraph.firstChild) {
389
+ listItem.appendChild(paragraph.firstChild);
390
+ }
391
+ return listItem;
392
+ }
393
+ /**
394
+ * Moves any local (`file://`) images out of the marker span so they survive
395
+ * marker removal as list-item placeholders.
396
+ *
397
+ * Word renders a picture bullet as an `<img>` inside the `mso-list:Ignore`
398
+ * marker span. That bullet still occupies one image slot in the clipboard RTF,
399
+ * so silently dropping it here would leave its RTF blip unconsumed and shift
400
+ * every following image onto the wrong file. Keeping the bullet as a `file://`
401
+ * placeholder inside the `<li>` lets downstream preview pairing consume its RTF
402
+ * slot and then drop it (list images have no editor representation), keeping the
403
+ * remaining images aligned with their files. Non-local bullet images have no RTF
404
+ * counterpart and are left in the marker to be removed with it.
405
+ *
406
+ * @param {HTMLElement} marker Marker span holding the bullet glyph / image.
407
+ * @param {HTMLElement} paragraph Owning list paragraph (placeholder host).
408
+ */
409
+ preserveMarkerPlaceholderImages(marker, paragraph) {
410
+ const localImages = Array.from(marker.querySelectorAll('img')).filter((image) => (image.getAttribute('src') || '').startsWith('file://'));
411
+ // Capture the original first child once so images land ahead of the list
412
+ // content in their document order (repeated inserts before a stable anchor).
413
+ const anchor = paragraph.firstChild;
414
+ localImages.forEach((image) => {
415
+ paragraph.insertBefore(image, anchor);
416
+ });
417
+ }
418
+ /**
419
+ * Removes the `mso-list:Ignore` marker span and any wrapper elements it
420
+ * leaves empty behind.
421
+ *
422
+ * @param {HTMLElement} marker Marker span to remove.
423
+ * @param {HTMLElement} paragraph Owning list paragraph (stop boundary).
424
+ */
425
+ removeMarker(marker, paragraph) {
426
+ let current = marker;
427
+ while (current !== paragraph) {
428
+ const parent = current.parentElement;
429
+ current.remove();
430
+ if (!parent || parent === paragraph || !this.isEmptyElement(parent)) {
431
+ break;
432
+ }
433
+ current = parent;
434
+ }
435
+ }
436
+ /**
437
+ * Finds the `mso-list:Ignore` marker span within a list paragraph.
438
+ *
439
+ * @param {HTMLElement} paragraph Word list paragraph.
440
+ * @returns {HTMLElement | undefined} The marker span, if present.
441
+ */
442
+ findMarker(paragraph) {
443
+ return Array.from(paragraph.querySelectorAll('span')).find((span) => LIST_IGNORE_PATTERN.test(span.getAttribute('data-style') || ''));
444
+ }
445
+ /**
446
+ * Reports whether an element has no meaningful (non-whitespace) content left.
447
+ *
448
+ * @param {HTMLElement} element Element to inspect.
449
+ * @returns {boolean} `true` when only whitespace remains.
450
+ */
451
+ isEmptyElement(element) {
452
+ return (element.textContent || '').replace(/[\s\u00A0]/g, '') === '';
453
+ }
454
+ /**
455
+ * Resolves the Word nesting depth for a list paragraph (defaults to 1).
456
+ *
457
+ * @param {HTMLElement} paragraph Word list paragraph.
458
+ * @returns {number} One-based nesting depth.
459
+ */
460
+ resolveLevel(paragraph) {
461
+ const style = paragraph.getAttribute('data-style') || '';
462
+ const match = LIST_LEVEL_PATTERN.exec(style);
463
+ return match ? parseInt(match[1], 10) : 1;
464
+ }
465
+ /**
466
+ * Resolves the Word list instance id for a paragraph. Prefers the list-format
467
+ * override (`lfo<n>`), which is unique per pasted list, and falls back to the
468
+ * abstract list template id (`l<n>`). Returns `null` when neither is present
469
+ * (e.g. the `MsoListParagraph` class fallback).
470
+ *
471
+ * @param {HTMLElement} paragraph Word list paragraph.
472
+ * @returns {string | null} The list instance id, or `null` when unknown.
473
+ */
474
+ resolveListId(paragraph) {
475
+ const style = paragraph.getAttribute('data-style') || '';
476
+ const override = LIST_OVERRIDE_ID_PATTERN.exec(style);
477
+ if (override) {
478
+ return `lfo${override[1]}`;
479
+ }
480
+ const template = LIST_TEMPLATE_ID_PATTERN.exec(style);
481
+ return template ? `l${template[1]}` : null;
482
+ }
483
+ /**
484
+ * Decides whether a resolved marker span represents a numbered (`<ol>`) or
485
+ * bulleted (`<ul>`) item based on its text and font.
486
+ *
487
+ * @param {HTMLElement} marker Marker span.
488
+ * @param {HTMLElement} paragraph Owning list paragraph.
489
+ * @returns {boolean} `true` for numbered items, `false` for bulleted items.
490
+ */
491
+ isOrderedMarker(marker, paragraph) {
492
+ const markerText = marker.textContent.replace(/[\s\u00A0]/g, '');
493
+ if (BULLET_FONT_PATTERN.test(this.resolveMarkerFont(marker, paragraph))) {
494
+ return false;
495
+ }
496
+ // Numbered markers are alphanumeric sequences ("1.", "a)", "iv)");
497
+ // bullet markers are standalone symbols.
498
+ return /[0-9]/.test(markerText) || /^[a-z]+[.)]/i.test(markerText);
499
+ }
500
+ /**
501
+ * Resolves the CSS `list-style-type` for a numbered list marker.
502
+ * Plain decimal markers ("1.", "2.") return `null` so a bare `<ol>` is used;
503
+ * alphabetic and Roman markers map to the matching CSS value so their marker
504
+ * style is preserved.
505
+ *
506
+ * A lone `i` / `I` is ambiguous: it is both Roman numeral 1 and the 9th
507
+ * letter of the alphabet. When the same-level list already open for this
508
+ * instance is alpha, the marker is kept alpha so a long `a) ... h) i) j)`
509
+ * run does not split into a Roman sibling at item 9; otherwise the lone
510
+ * marker is treated as Roman 1 (the first item of a Roman list).
511
+ *
512
+ * @param {HTMLElement} marker Marker span.
513
+ * @param {OpenList | undefined} openList Same-depth list already open, if any.
514
+ * @param {number} level Word nesting depth of the incoming item.
515
+ * @param {string | null} listId Word list instance id of the incoming item.
516
+ * @returns {string | null} The CSS `list-style-type`, or `null` for decimals.
517
+ */
518
+ resolveListStyleType(marker, openList, level, listId) {
519
+ // Drop surrounding whitespace and the trailing "." / ")" separator to
520
+ // isolate the numbering token (e.g. "a)" -> "a", "iv." -> "iv").
521
+ const token = marker.textContent.replace(/[\s\u00A0]/g, '').replace(/[.)]+$/, '');
522
+ if (DECIMAL_PATTERN.test(token)) {
523
+ return null;
524
+ }
525
+ // Disambiguate a lone "i" / "I" from list context before the Roman check:
526
+ // if the current same-level list is already alpha, continue it.
527
+ if (token === 'i' || token === 'I') {
528
+ const alphaStyle = token === 'i' ? 'lower-alpha' : 'upper-alpha';
529
+ if (this.continuesAlphaList(openList, level, listId, alphaStyle)) {
530
+ return alphaStyle;
531
+ }
532
+ }
533
+ // Roman tokens are checked before alpha so "i" / "I" (Roman numeral 1) and
534
+ // multi-character sequences like "ii" / "IV" are not mistaken for letters.
535
+ if (LOWER_ROMAN_PATTERN.test(token)) {
536
+ return 'lower-roman';
537
+ }
538
+ if (UPPER_ROMAN_PATTERN.test(token)) {
539
+ return 'upper-roman';
540
+ }
541
+ if (LOWER_ALPHA_PATTERN.test(token)) {
542
+ return 'lower-alpha';
543
+ }
544
+ if (UPPER_ALPHA_PATTERN.test(token)) {
545
+ return 'upper-alpha';
546
+ }
547
+ return null;
548
+ }
549
+ /**
550
+ * Reports whether a lone `i` / `I` marker continues an already-open alpha
551
+ * list rather than starting a Roman one. True only when the same-depth list
552
+ * is a matching alpha `<ol>` for the same Word list instance, so an ambiguous
553
+ * marker at item 9 stays part of the surrounding `lower-alpha` / `upper-alpha`
554
+ * run instead of opening a Roman sibling.
555
+ *
556
+ * @param {OpenList | undefined} openList Same-depth list already open, if any.
557
+ * @param {number} level Word nesting depth of the incoming item.
558
+ * @param {string | null} listId Word list instance id of the incoming item.
559
+ * @param {string} alphaStyle The alpha style the marker would continue.
560
+ * @returns {boolean} `true` when the marker should be treated as alpha.
561
+ */
562
+ continuesAlphaList(openList, level, listId, alphaStyle) {
563
+ if (!openList || !openList.ordered || openList.level !== level) {
564
+ return false;
565
+ }
566
+ // Distinct Word list instances are separate lists; do not carry style over.
567
+ if (openList.listId !== null && listId !== null && openList.listId !== listId) {
568
+ return false;
569
+ }
570
+ return this.readListStyleType(openList.listEl) === alphaStyle;
571
+ }
572
+ /**
573
+ * Resolves the effective `font-family` for a marker by walking up to the
574
+ * paragraph, so Word's `Symbol` / `Wingdings` bullet fonts can be detected.
575
+ *
576
+ * @param {HTMLElement} marker Marker span.
577
+ * @param {HTMLElement} paragraph Owning list paragraph.
578
+ * @returns {string} The resolved font family, or an empty string.
579
+ */
580
+ resolveMarkerFont(marker, paragraph) {
581
+ let node = marker;
582
+ while (node && node !== paragraph.parentElement) {
583
+ const match = FONT_FAMILY_PATTERN.exec(node.getAttribute('data-style') || '');
584
+ if (match) {
585
+ return match[1];
586
+ }
587
+ node = node.parentElement;
588
+ }
589
+ return '';
590
+ }
591
+ }