@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.
- package/dist/cjs/{accessibility-88f8af84.js → accessibility-6ca2a237.js} +21 -0
- package/dist/cjs/{action-color-accessibility-validator-24498816.js → action-color-accessibility-validator-b8a9ef0f.js} +2 -2
- package/dist/cjs/{app-globals-b3f05631.js → app-globals-48d067a7.js} +11 -10
- package/dist/cjs/{aria-attributes-value-mapper-9a41b9cf.js → aria-attributes-value-mapper-e8c6b0e0.js} +1 -1
- package/dist/cjs/{code-block-d78c2b2c.js → code-block-3b42c364.js} +95 -6
- package/dist/cjs/{component-global-style-slimmer-93c5fb50.js → component-global-style-slimmer-ba588eb4.js} +1 -1
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-beb00fea.js → component-value-history-controller-slimmer.abstract-bbe3bcaf.js} +24 -5
- package/dist/cjs/{content-state-78a620a9.js → content-state-87a06c1a.js} +104 -8
- package/dist/cjs/{dark-mode-style-controller-32d4054a.js → dark-mode-style-controller-f3da3342.js} +2 -2
- package/dist/cjs/{date-required-rule-5250f26d.js → date-required-rule-45c802d3.js} +1 -1
- package/dist/cjs/{design-token-74674ee7.js → design-token-9d762da0.js} +3 -3
- package/dist/cjs/{element-appender-slimmer-597e9e48.js → element-appender-slimmer-f7ba5d9a.js} +2 -2
- package/dist/cjs/{form-field-controller-slimmer-a743be34.js → form-field-controller-slimmer-fbaddc91.js} +2 -2
- package/dist/cjs/{image-annotation-action-85c4bd83.js → image-annotation-action-03d3e01a.js} +7 -6
- package/dist/cjs/{image-extension-260fa69c.js → image-extension-ccda26d3.js} +2 -2
- package/dist/cjs/{index-592b4052.js → index-5d1adcd1.js} +86 -0
- package/dist/cjs/index.cjs.js +20 -19
- package/dist/cjs/{inject-keyboard-manager-6a6f5c9f.js → inject-keyboard-manager-540f0876.js} +1 -1
- package/dist/cjs/{internal-calendar-period-factory-dfcdd3f6.js → internal-calendar-period-factory-b11918ee.js} +1 -1
- package/dist/cjs/{internal-translation-controller-1dac2df8.js → internal-translation-controller-27bfc8c7.js} +17 -0
- package/dist/cjs/{keyboard-manager-c56033b1.js → keyboard-manager-16e96b62.js} +12 -5
- package/dist/cjs/{keyboard-manager-slimmer-7043a106.js → keyboard-manager-slimmer-0a4e556d.js} +1 -1
- package/dist/cjs/{link-extension-220ff6a9.js → link-extension-71eeaa9f.js} +26 -7
- package/dist/cjs/loader.cjs.js +14 -14
- package/dist/cjs/{month-view-generator-7b704a80.js → month-view-generator-0a3e04de.js} +1 -1
- package/dist/cjs/overlay-escape-coordination-901d8942.js +38 -0
- package/dist/cjs/{public-rules-5657bce4.js → public-rules-3dc5d02d.js} +9 -9
- package/dist/cjs/{range-c5afd53a.js → range-d29751e3.js} +1 -1
- package/dist/cjs/{responsive-format-facade-493d1763.js → responsive-format-facade-c6d7f0a1.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-385c1b61.js → rich-text-editor-required-rule-05de7f0c.js} +1 -1
- package/dist/cjs/{split-cell-operation-873d5db7.js → split-cell-operation-ef783850.js} +14 -4
- package/dist/cjs/{state-border-formatter-711c7aaa.js → state-border-formatter-dda9109a.js} +1 -1
- package/dist/cjs/{string-format-strategy.abstract-b61bdcbd.js → string-format-strategy.abstract-3a968a59.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-ef65cca7.js → string-input-formatter-slimmer-9747039f.js} +1 -1
- package/dist/cjs/{string-mask-strategy-ad3fa0ac.js → string-mask-strategy-d9f85c21.js} +2 -2
- package/dist/cjs/{style-formatter-8f711cb0.js → style-formatter-d21a9784.js} +2 -2
- package/dist/cjs/{time-required-rule-87417359.js → time-required-rule-580cbd3d.js} +1 -1
- package/dist/cjs/{token-extension-78b5a026.js → token-extension-8d7bd451.js} +3773 -252
- package/dist/cjs/{translation-slimmer-77c7f37d.js → translation-slimmer-31cd5a57.js} +1 -1
- package/dist/cjs/{type-guard-a57ef3ac.js → type-guard-00b8efc0.js} +1 -1
- package/dist/cjs/{valid-credit-card-number-rule-4c0a3040.js → valid-credit-card-number-rule-70885128.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +6 -6
- package/dist/cjs/vega-app-footer.cjs.entry.js +2 -2
- package/dist/cjs/vega-app-header-button.cjs.entry.js +6 -6
- package/dist/cjs/vega-banner.cjs.entry.js +1 -1
- package/dist/cjs/vega-box.cjs.entry.js +7 -7
- package/dist/cjs/vega-brand-logo.cjs.entry.js +2 -2
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/vega-button-circle.cjs.entry.js +7 -7
- package/dist/cjs/vega-button-group_2.cjs.entry.js +13 -6
- package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
- package/dist/cjs/vega-button.cjs.entry.js +22 -6
- package/dist/cjs/vega-calendar_5.cjs.entry.js +22 -11
- package/dist/cjs/vega-card.cjs.entry.js +5 -5
- package/dist/cjs/vega-carousel.cjs.entry.js +4 -4
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-chip.cjs.entry.js +6 -6
- package/dist/cjs/vega-code-block.cjs.entry.js +12 -12
- package/dist/cjs/vega-color-picker.cjs.entry.js +4 -4
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +4 -4
- package/dist/cjs/vega-color-swatch.cjs.entry.js +3 -3
- package/dist/cjs/vega-combo-box.cjs.entry.js +10 -10
- package/dist/cjs/vega-counter-badge.cjs.entry.js +2 -2
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +15 -15
- package/dist/cjs/vega-dialog_2.cjs.entry.js +72 -6
- package/dist/cjs/vega-divider.cjs.entry.js +5 -5
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +116 -24
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +27 -34
- package/dist/cjs/vega-file-uploader.cjs.entry.js +5 -5
- package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
- package/dist/cjs/vega-flex.cjs.entry.js +6 -6
- package/dist/cjs/vega-font.cjs.entry.js +5 -5
- package/dist/cjs/vega-form.cjs.entry.js +2 -2
- package/dist/cjs/vega-grid.cjs.entry.js +5 -5
- package/dist/cjs/vega-icon.cjs.entry.js +6 -6
- package/dist/cjs/vega-image-uploader.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +7 -7
- package/dist/cjs/vega-input-numeric.cjs.entry.js +6 -6
- package/dist/cjs/vega-input-passcode.cjs.entry.js +6 -6
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +42 -8
- package/dist/cjs/vega-input-range.cjs.entry.js +5 -5
- package/dist/cjs/vega-input-select.cjs.entry.js +25 -8
- package/dist/cjs/vega-input.cjs.entry.js +9 -9
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +10 -10
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
- package/dist/cjs/vega-popover_2.cjs.entry.js +58 -9
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-radio_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +44 -13
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +767 -248
- package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +3 -3
- package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +5 -5
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +158 -105
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +4 -4
- package/dist/cjs/vega-signature-capture.cjs.entry.js +8 -8
- package/dist/cjs/vega-stepper.cjs.entry.js +3 -3
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +22 -9
- package/dist/cjs/vega-table_11.cjs.entry.js +82 -46
- package/dist/cjs/vega-textarea.cjs.entry.js +3 -3
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +11 -11
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +4 -4
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
- package/dist/cjs/vega.cjs.js +14 -14
- package/dist/collection/components/vega-button/vega-button.js +17 -2
- package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.js +13 -6
- package/dist/collection/components/vega-button-link/vega-button-link.js +2 -2
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +5 -2
- package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.js +9 -1
- package/dist/collection/components/vega-code-block/vega-code-block.css +4 -4
- package/dist/collection/components/vega-counter-badge/vega-counter-badge.js +2 -2
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-controller.js +148 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +5 -2
- package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +17 -0
- package/dist/collection/components/vega-dropdown/vega-dropdown-group/slimmers/renderers/vega-dropdown-group-renderer.js +6 -4
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +12 -4
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +2 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +1 -1
- package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.js +21 -30
- package/dist/collection/components/vega-field-label/vega-field-label.css +1 -0
- package/dist/collection/components/vega-field-label/vega-field-label.js +7 -5
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +19 -2
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +66 -0
- package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +17 -0
- package/dist/collection/components/vega-popover/vega-popover.js +33 -1
- package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +4 -1
- package/dist/collection/components/vega-rich-text-editor/constants/constant.js +25 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.js +13 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/commit-value-action.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +22 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +10 -0
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.js +5 -2
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.js +36 -2
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +20 -3
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +30 -18
- package/dist/collection/components/vega-rich-text-editor/extensions/block-boundary-registry.js +34 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/copy/copy-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/cut/cut-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +51 -0
- 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
- package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/constants.js +8 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/function-block.js +14 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-containing-function-block-strategy.js +19 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.js +9 -5
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.js +3 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.js +4 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/function-extension.js +18 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.js +5 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/utils.js +36 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.js +16 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/action-handler-strategies/image-replace-src-strategy.js +21 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/actions/image-replace-src-action.js +13 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.js +295 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.js +116 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.js +13 -4
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-extension.js +70 -7
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/default-paste-strategy.js +38 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.js +55 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.js +59 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/word-paste-strategy.js +416 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-code-block-transformer.js +106 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-image-transformer.js +198 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-list-transformer.js +591 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-paragraph-transformer.js +112 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-table-transformer.js +551 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-transformer.js +7 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/special-characters/special-characters-toolbar-button-renderer.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-block.js +10 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.js +3 -9
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-cell-renderer.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +81 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.js +148 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +151 -5
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +144 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js +26 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
- 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
- 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
- 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
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.css +5 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.js +16 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/caption-button-slimmer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/cell-properties-button-slimmer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +10 -9
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +9 -8
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +25 -10
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-properties-button-slimmer.js +1 -0
- 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
- 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
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.css +10 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +4 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node.js +44 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.js +70 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/word-count/type.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/word-count/word-count-extension.js +62 -0
- package/dist/collection/components/vega-rich-text-editor/public-api.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.js +7 -4
- 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
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +18 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +21 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +7 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +52 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.js +79 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +6 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +111 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +24 -6
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +59 -8
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +5 -2
- 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
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +13 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +16 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.js +124 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +9 -1
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.js +14 -7
- package/dist/collection/components/vega-tab-group/vega-tab-group.css +6 -0
- package/dist/collection/components/vega-tab-group/vega-tab-group.js +5 -0
- package/dist/collection/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.js +31 -1
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.js +18 -11
- package/dist/collection/global/scripts/before-vega-load.js +2 -0
- package/dist/collection/helpers/keyboard/keyboard-manager.js +11 -4
- package/dist/collection/helpers/keyboard/overlay-escape-coordination.js +33 -0
- package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +1 -1
- package/dist/collection/helpers/translation/locales/en.js +17 -0
- package/dist/collection/polyfill/libphonenumber/as-you-type.js +21 -3
- package/dist/collection/polyfill/libphonenumber/metadata.js +16 -0
- package/dist/collection/utils/accessibility.js +20 -0
- package/dist/collection/utils/sanitize/index.js +3 -2
- package/dist/collection/utils/sanitize/strategies/index.js +1 -0
- package/dist/collection/utils/sanitize/strategies/label-sanitize-strategy.js +14 -0
- package/dist/collection/utils/sanitize/strategies/plain-text-sanitize-strategy.js +70 -0
- package/dist/esm/{accessibility-6af5cf2e.js → accessibility-c899a968.js} +21 -1
- package/dist/esm/{action-color-accessibility-validator-ce55cb07.js → action-color-accessibility-validator-08877515.js} +2 -2
- package/dist/esm/{app-globals-95c7110a.js → app-globals-1e1371d5.js} +11 -10
- package/dist/esm/{aria-attributes-value-mapper-2c632641.js → aria-attributes-value-mapper-a5c7478e.js} +1 -1
- package/dist/esm/{aria-dialog-focusable-trap-slimmer-f069f54d.js → aria-dialog-focusable-trap-slimmer-b2a24a45.js} +2 -2
- package/dist/esm/{child-nodes-notify-observer-slimmer-499a3aa7.js → child-nodes-notify-observer-slimmer-034bc78c.js} +1 -1
- package/dist/esm/{code-block-9c513169.js → code-block-741d6b8e.js} +91 -9
- package/dist/esm/{component-global-style-slimmer-ac703085.js → component-global-style-slimmer-7d60a04a.js} +1 -1
- package/dist/esm/{component-value-history-controller-slimmer.abstract-9cef2a2a.js → component-value-history-controller-slimmer.abstract-2bcd749e.js} +26 -7
- package/dist/esm/{content-state-25c81c08.js → content-state-2f6f4204.js} +104 -11
- package/dist/esm/{dark-mode-style-controller-ca5afd2d.js → dark-mode-style-controller-352f15ff.js} +2 -2
- package/dist/esm/{date-required-rule-85334d0c.js → date-required-rule-2ea3aec8.js} +1 -1
- package/dist/esm/{design-token-10ff79b5.js → design-token-82a4e107.js} +3 -3
- package/dist/esm/{dom-node-subject-observer-factory-ddff8662.js → dom-node-subject-observer-factory-bb7e68a0.js} +1 -1
- package/dist/esm/{element-appender-slimmer-8a06ecdd.js → element-appender-slimmer-c820c0bf.js} +4 -4
- package/dist/esm/{event-emit-slimmer-2452278f.js → event-emit-slimmer-e8bb2292.js} +1 -1
- package/dist/esm/{form-field-controller-slimmer-68fc5380.js → form-field-controller-slimmer-02165dbe.js} +5 -5
- package/dist/esm/{image-annotation-action-d7f2aecc.js → image-annotation-action-972c1074.js} +8 -7
- package/dist/esm/{image-extension-fbd1ed6e.js → image-extension-59484e9a.js} +2 -2
- package/dist/esm/{index-3b327f29.js → index-35451d12.js} +86 -1
- package/dist/esm/index.js +21 -21
- package/dist/esm/{inject-keyboard-manager-ea1aad5b.js → inject-keyboard-manager-6a10c9b7.js} +1 -1
- package/dist/esm/{internal-calendar-period-factory-7b294fb6.js → internal-calendar-period-factory-d1a60f81.js} +1 -1
- package/dist/esm/{internal-translation-controller-fac22598.js → internal-translation-controller-fff376d2.js} +17 -0
- package/dist/esm/{keyboard-manager-50da85d7.js → keyboard-manager-a58288df.js} +13 -6
- package/dist/esm/{keyboard-manager-slimmer-1f7c8bfb.js → keyboard-manager-slimmer-133b86cd.js} +1 -1
- package/dist/esm/{link-extension-e8ee103e.js → link-extension-e89acb5c.js} +26 -7
- package/dist/esm/loader.js +16 -16
- package/dist/esm/{month-view-generator-a1a9a4ec.js → month-view-generator-20e32b22.js} +1 -1
- package/dist/esm/overlay-escape-coordination-439f7d6f.js +35 -0
- package/dist/esm/{public-rules-49de79c7.js → public-rules-c154201b.js} +11 -11
- package/dist/esm/{range-b678c693.js → range-c818a1eb.js} +2 -2
- package/dist/esm/{responsive-format-facade-f19b601c.js → responsive-format-facade-07843ec3.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-578e0958.js → rich-text-editor-required-rule-878e91c6.js} +1 -1
- package/dist/esm/{split-cell-operation-1c8e7585.js → split-cell-operation-cc0cdf90.js} +15 -5
- package/dist/esm/{state-border-formatter-bfda33aa.js → state-border-formatter-3b3dcfe8.js} +1 -1
- package/dist/esm/{string-format-strategy.abstract-1f4ff1b3.js → string-format-strategy.abstract-44381dcb.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-0006a107.js → string-input-formatter-slimmer-76fe52d3.js} +3 -3
- package/dist/esm/{string-mask-strategy-bbbcdbef.js → string-mask-strategy-999fba4b.js} +2 -2
- package/dist/esm/{style-formatter-e9adc8f4.js → style-formatter-c4192c99.js} +2 -2
- package/dist/esm/{sub-state-notify-slimmer-23b7d0e8.js → sub-state-notify-slimmer-e306c849.js} +1 -1
- package/dist/esm/{sub-state-observer-slimmer-722f6b92.js → sub-state-observer-slimmer-bd85f381.js} +2 -2
- package/dist/esm/{time-required-rule-1ce2d0a0.js → time-required-rule-0554b114.js} +1 -1
- package/dist/esm/{token-extension-f2d009e3.js → token-extension-35c66684.js} +3773 -253
- package/dist/esm/{translation-slimmer-ee0f0e76.js → translation-slimmer-77022f2e.js} +1 -1
- package/dist/esm/{type-guard-f2624334.js → type-guard-26d83e7e.js} +1 -1
- package/dist/esm/{ui-d73f756a.js → ui-80e610f4.js} +1 -1
- package/dist/esm/{valid-credit-card-number-rule-60212b1d.js → valid-credit-card-number-rule-f60b6904.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +9 -9
- package/dist/esm/vega-app-footer.entry.js +5 -5
- package/dist/esm/vega-app-header-button.entry.js +9 -9
- package/dist/esm/vega-backdrop.entry.js +1 -1
- package/dist/esm/vega-banner.entry.js +4 -4
- package/dist/esm/vega-box.entry.js +8 -8
- package/dist/esm/vega-brand-logo.entry.js +2 -2
- package/dist/esm/vega-breadcrumb.entry.js +5 -5
- package/dist/esm/vega-button-circle.entry.js +10 -10
- package/dist/esm/vega-button-group_2.entry.js +18 -11
- package/dist/esm/vega-button-link.entry.js +7 -7
- package/dist/esm/vega-button.entry.js +25 -9
- package/dist/esm/vega-calendar_5.entry.js +27 -16
- package/dist/esm/vega-card.entry.js +6 -6
- package/dist/esm/vega-carousel.entry.js +7 -7
- package/dist/esm/vega-checkbox_2.entry.js +9 -9
- package/dist/esm/vega-chip.entry.js +9 -9
- package/dist/esm/vega-code-block.entry.js +15 -15
- package/dist/esm/vega-color-picker.entry.js +8 -8
- package/dist/esm/vega-color-swatch-picker.entry.js +8 -8
- package/dist/esm/vega-color-swatch.entry.js +6 -6
- package/dist/esm/vega-combo-box.entry.js +14 -14
- package/dist/esm/vega-counter-badge.entry.js +2 -2
- package/dist/esm/vega-date-picker_2.entry.js +21 -21
- package/dist/esm/vega-dialog_2.entry.js +76 -10
- package/dist/esm/vega-divider.entry.js +5 -5
- package/dist/esm/vega-dropdown_5.entry.js +123 -31
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-label.entry.js +30 -37
- package/dist/esm/vega-file-uploader.entry.js +9 -9
- package/dist/esm/vega-flag-icon.entry.js +5 -5
- package/dist/esm/vega-flex.entry.js +7 -7
- package/dist/esm/vega-font.entry.js +6 -6
- package/dist/esm/vega-form.entry.js +8 -8
- package/dist/esm/vega-grid.entry.js +6 -6
- package/dist/esm/vega-icon.entry.js +7 -7
- package/dist/esm/vega-image-uploader.entry.js +12 -12
- package/dist/esm/vega-input-credit-card.entry.js +11 -11
- package/dist/esm/vega-input-numeric.entry.js +11 -11
- package/dist/esm/vega-input-passcode.entry.js +10 -10
- package/dist/esm/vega-input-phone-number.entry.js +46 -12
- package/dist/esm/vega-input-range.entry.js +9 -9
- package/dist/esm/vega-input-select.entry.js +29 -12
- package/dist/esm/vega-input.entry.js +14 -14
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +15 -15
- package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
- package/dist/esm/vega-page-notification_2.entry.js +3 -3
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +2 -2
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +4 -4
- package/dist/esm/vega-pagination.entry.js +7 -7
- package/dist/esm/vega-popover_2.entry.js +62 -13
- package/dist/esm/vega-progress-tracker_2.entry.js +9 -9
- package/dist/esm/vega-radio_2.entry.js +12 -12
- package/dist/esm/vega-rich-text-content.entry.js +48 -17
- package/dist/esm/vega-rich-text-editor_4.entry.js +774 -255
- package/dist/esm/vega-rich-text-find-replace-panel.entry.js +6 -6
- package/dist/esm/vega-rich-text-special-characters-panel.entry.js +8 -8
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +160 -107
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-chip_2.entry.js +11 -11
- package/dist/esm/vega-selection-tile_2.entry.js +9 -9
- package/dist/esm/vega-sidenav_3.entry.js +9 -9
- package/dist/esm/vega-signature-capture.entry.js +12 -12
- package/dist/esm/vega-stepper.entry.js +7 -7
- package/dist/esm/vega-tab-group_2.entry.js +25 -12
- package/dist/esm/vega-table_11.entry.js +59 -23
- package/dist/esm/vega-textarea.entry.js +7 -7
- package/dist/esm/vega-time-picker_2.entry.js +15 -15
- package/dist/esm/vega-toggle-switch.entry.js +8 -8
- package/dist/esm/vega-tooltip_2.entry.js +8 -8
- package/dist/esm/vega.js +16 -16
- package/dist/esm/{wait-for-component-did-render-ff7062aa.js → wait-for-component-did-render-9b91a826.js} +1 -1
- package/dist/sri/vega-sri-manifest.json +399 -395
- package/dist/types/components/vega-button/vega-button.d.ts +2 -0
- package/dist/types/components/vega-button-group/types.d.ts +12 -6
- package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.d.ts +2 -0
- package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.d.ts +1 -0
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -1
- package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.d.ts +3 -10
- package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +8 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +33 -0
- package/dist/types/components/vega-modal/types.d.ts +2 -1
- package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +9 -0
- package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/commit-value-action.d.ts +20 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.d.ts +3 -2
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.d.ts +25 -3
- package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +5 -0
- package/dist/types/components/vega-rich-text-editor/extensions/block-boundary-registry.d.ts +21 -0
- package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/constants.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/function-block.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-containing-function-block-strategy.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/utils.d.ts +29 -0
- package/dist/types/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.d.ts +14 -1
- package/dist/types/components/vega-rich-text-editor/extensions/paste/action-handler-strategies/image-replace-src-strategy.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/actions/image-replace-src-action.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.d.ts +136 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.d.ts +68 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.d.ts +9 -4
- package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-extension.d.ts +39 -2
- package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/default-paste-strategy.d.ts +29 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.d.ts +61 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.d.ts +45 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/word-paste-strategy.d.ts +186 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-code-block-transformer.d.ts +51 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-image-transformer.d.ts +86 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-list-transformer.d.ts +271 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-paragraph-transformer.d.ts +25 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-table-transformer.d.ts +240 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-transformer.d.ts +36 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-block.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +31 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.d.ts +91 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +46 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +58 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/table-selection.d.ts +8 -0
- 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
- package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.d.ts +3 -0
- 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
- package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node.d.ts +19 -1
- package/dist/types/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.d.ts +38 -0
- package/dist/types/components/vega-rich-text-editor/extensions/word-count/type.d.ts +46 -0
- package/dist/types/components/vega-rich-text-editor/extensions/word-count/word-count-extension.d.ts +38 -0
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
- 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
- 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
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +11 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.d.ts +40 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +4 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.d.ts +68 -0
- 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
- package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.d.ts +1 -0
- package/dist/types/components/vega-tab-group/types.d.ts +3 -1
- package/dist/types/components/vega-tab-group/vega-tab-group.d.ts +2 -0
- package/dist/types/components/vega-table/interface.d.ts +4 -4
- package/dist/types/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.d.ts +16 -0
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.d.ts +8 -10
- package/dist/types/helpers/keyboard/keyboard-manager.d.ts +9 -0
- package/dist/types/helpers/keyboard/overlay-escape-coordination.d.ts +28 -0
- package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +1 -1
- package/dist/types/helpers/translation/interface.d.ts +18 -1
- package/dist/types/polyfill/libphonenumber/as-you-type.d.ts +1 -0
- package/dist/types/polyfill/libphonenumber/metadata.d.ts +10 -0
- package/dist/types/types/public-api.d.ts +2 -0
- package/dist/types/utils/accessibility.d.ts +9 -0
- package/dist/types/utils/sanitize/index.d.ts +3 -2
- package/dist/types/utils/sanitize/strategies/index.d.ts +1 -0
- package/dist/types/utils/sanitize/strategies/label-sanitize-strategy.d.ts +9 -0
- package/dist/types/utils/sanitize/strategies/plain-text-sanitize-strategy.d.ts +36 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-6f537797.entry.js → p-01ca92e6.entry.js} +1 -1
- package/dist/vega/{p-02d3ce79.entry.js → p-02b5d4ac.entry.js} +1 -1
- package/dist/vega/p-06a42a9f.entry.js +1 -0
- package/dist/vega/{p-fd23c365.entry.js → p-0cd362f3.entry.js} +1 -1
- package/dist/vega/p-0e10798b.entry.js +1 -0
- package/dist/vega/{p-2c2e8615.js → p-0eea1ca8.js} +1 -1
- package/dist/vega/{p-c98c2f5f.entry.js → p-0f344e02.entry.js} +1 -1
- package/dist/vega/{p-4cbfc01e.entry.js → p-23db0a92.entry.js} +1 -1
- package/dist/vega/{p-ccbe3f1b.entry.js → p-284a8828.entry.js} +1 -1
- package/dist/vega/{p-ac94ba1b.entry.js → p-2b26e182.entry.js} +1 -1
- package/dist/vega/{p-56598858.entry.js → p-2c8dc0d2.entry.js} +1 -1
- package/dist/vega/{p-2bb5a232.js → p-3091b105.js} +1 -1
- package/dist/vega/{p-9abf7d0a.entry.js → p-35d37477.entry.js} +1 -1
- package/dist/vega/{p-526e3634.js → p-36a57431.js} +1 -1
- package/dist/vega/{p-810c9c29.js → p-379736e2.js} +1 -1
- package/dist/vega/p-3abb793c.entry.js +1 -0
- package/dist/vega/{p-f29ea345.entry.js → p-3d6a43df.entry.js} +1 -1
- package/dist/vega/{p-c2277448.entry.js → p-3f2a4b34.entry.js} +1 -1
- package/dist/vega/p-401c6764.js +1 -0
- package/dist/vega/{p-da867019.entry.js → p-411cadbc.entry.js} +1 -1
- package/dist/vega/{p-ec64cc59.entry.js → p-46f22f6c.entry.js} +1 -1
- package/dist/vega/{p-8d2501b2.js → p-493108d5.js} +1 -1
- package/dist/vega/{p-085d1647.entry.js → p-49de5559.entry.js} +1 -1
- package/dist/vega/{p-781b7a54.js → p-4b35c748.js} +1 -1
- package/dist/vega/{p-a8174ad8.entry.js → p-4d1896e0.entry.js} +1 -1
- package/dist/vega/{p-b00ec194.entry.js → p-4e23e56c.entry.js} +1 -1
- package/dist/vega/{p-1cff027b.entry.js → p-5006404e.entry.js} +1 -1
- package/dist/vega/{p-56417ec5.entry.js → p-5789690b.entry.js} +1 -1
- package/dist/vega/{p-461100b8.entry.js → p-594cb986.entry.js} +1 -1
- package/dist/vega/p-5a086e93.js +1 -0
- package/dist/vega/{p-3e09aeed.js → p-5b3c8a56.js} +1 -1
- package/dist/vega/p-5b9b1631.entry.js +1 -0
- package/dist/vega/{p-c41a2d4a.js → p-5c3649f9.js} +1 -1
- package/dist/vega/{p-fb9475ab.entry.js → p-5d9be870.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-d609c3fd.js → p-60a74fb7.js} +1 -1
- package/dist/vega/{p-2acf9b42.entry.js → p-61ed7268.entry.js} +1 -1
- package/dist/vega/p-6336d446.entry.js +1 -0
- package/dist/vega/{p-dbb4b1d1.js → p-638b6a7d.js} +1 -1
- package/dist/vega/{p-bdb5180c.js → p-68744e7e.js} +1 -1
- package/dist/vega/p-6e9e7131.js +1 -0
- package/dist/vega/{p-014cd411.js → p-6eedbc4f.js} +1 -1
- package/dist/vega/{p-a090b2be.js → p-6fd8f14b.js} +1 -1
- package/dist/vega/{p-0cf3b5c1.entry.js → p-7469d0d1.entry.js} +1 -1
- package/dist/vega/p-74b20563.entry.js +1 -0
- package/dist/vega/{p-17c69503.entry.js → p-76999ea1.entry.js} +1 -1
- package/dist/vega/p-77bcdd35.js +1 -0
- package/dist/vega/{p-035e2f05.entry.js → p-79b49e8d.entry.js} +1 -1
- package/dist/vega/{p-8d96f0e8.entry.js → p-7a03ef96.entry.js} +1 -1
- package/dist/vega/{p-c5fb8a69.entry.js → p-7ae4cf82.entry.js} +1 -1
- package/dist/vega/{p-f9bfee81.entry.js → p-7cc8855d.entry.js} +1 -1
- package/dist/vega/{p-d470fce2.entry.js → p-7ddc0bec.entry.js} +1 -1
- package/dist/vega/{p-ca3c1317.entry.js → p-7e22610b.entry.js} +1 -1
- package/dist/vega/p-7f395622.entry.js +1 -0
- package/dist/vega/{p-3737b9e2.entry.js → p-816b5fd2.entry.js} +1 -1
- package/dist/vega/p-8387896e.js +1 -0
- package/dist/vega/p-844ad6aa.entry.js +1 -0
- package/dist/vega/p-853a05eb.js +1 -0
- package/dist/vega/p-85de755f.js +1 -0
- package/dist/vega/p-8663314e.js +1 -0
- package/dist/vega/{p-95c18f79.entry.js → p-86fb46d2.entry.js} +1 -1
- package/dist/vega/p-8cfdd0e8.entry.js +1 -0
- package/dist/vega/p-8ebe30a8.js +1 -0
- package/dist/vega/p-8f00dfe6.js +1 -0
- package/dist/vega/{p-66647244.js → p-8fc0a820.js} +1 -1
- package/dist/vega/{p-4fd0cf01.js → p-9034f709.js} +1 -1
- package/dist/vega/{p-456f678b.js → p-941a83db.js} +1 -1
- package/dist/vega/{p-ae2abdfa.js → p-96c090c4.js} +1 -1
- package/dist/vega/p-9ba2fdff.js +1 -0
- package/dist/vega/{p-d319ebb5.js → p-9e9f49f4.js} +1 -1
- package/dist/vega/p-9efa5d76.js +1 -0
- package/dist/vega/{p-a81ad3bd.js → p-a306bb39.js} +1 -1
- package/dist/vega/{p-db11134b.entry.js → p-a48468b5.entry.js} +1 -1
- package/dist/vega/{p-56db3323.js → p-a488447f.js} +1 -1
- package/dist/vega/p-a647c856.entry.js +1 -0
- package/dist/vega/{p-a484e32d.entry.js → p-a6a89f09.entry.js} +1 -1
- package/dist/vega/p-a92cd703.js +1 -0
- package/dist/vega/p-a93b3aed.js +1 -0
- package/dist/vega/{p-528748fa.js → p-aa135628.js} +1 -1
- package/dist/vega/{p-4bfe3258.entry.js → p-aaaf21eb.entry.js} +1 -1
- package/dist/vega/{p-36d9e782.entry.js → p-ab253867.entry.js} +1 -1
- package/dist/vega/{p-dcd3e3a7.js → p-ab9d53e9.js} +1 -1
- package/dist/vega/p-ad367b48.entry.js +1 -0
- package/dist/vega/{p-e18c0656.entry.js → p-af0cfea0.entry.js} +1 -1
- package/dist/vega/p-b07f587a.entry.js +1 -0
- package/dist/vega/p-b21cc390.entry.js +1 -0
- package/dist/vega/{p-12e8a1b2.js → p-b2a4314a.js} +1 -1
- package/dist/vega/p-b52d7724.js +3 -0
- package/dist/vega/{p-5f96e741.entry.js → p-b97ed9f7.entry.js} +1 -1
- package/dist/vega/{p-7dcd2850.entry.js → p-bc0e5598.entry.js} +1 -1
- package/dist/vega/p-bc119e75.entry.js +1 -0
- package/dist/vega/{p-0cbf09f7.entry.js → p-bedb575c.entry.js} +1 -1
- package/dist/vega/{p-cb81126a.entry.js → p-bfe5dff7.entry.js} +1 -1
- package/dist/vega/{p-52c69f9e.entry.js → p-c032f626.entry.js} +1 -1
- package/dist/vega/{p-1ea9ad9a.js → p-c34f4cbc.js} +1 -1
- package/dist/vega/{p-72ab5cd5.entry.js → p-c422ee02.entry.js} +1 -1
- package/dist/vega/{p-39c5054b.js → p-c576e846.js} +1 -1
- package/dist/vega/{p-c70748f7.entry.js → p-c7d46740.entry.js} +1 -1
- package/dist/vega/p-cc569b54.js +1 -0
- package/dist/vega/{p-4e065ef7.entry.js → p-cd04b149.entry.js} +1 -1
- package/dist/vega/{p-2a245138.entry.js → p-cd0a108b.entry.js} +1 -1
- package/dist/vega/{p-8c56d74d.entry.js → p-d1bb6e7a.entry.js} +1 -1
- package/dist/vega/{p-200c8914.entry.js → p-d340ee3d.entry.js} +1 -1
- package/dist/vega/p-d897acd5.js +1 -0
- package/dist/vega/p-debf9e06.entry.js +1 -0
- package/dist/vega/p-e0a51e49.js +1 -0
- package/dist/vega/{p-1aedbfd2.entry.js → p-e11c6ec4.entry.js} +1 -1
- package/dist/vega/{p-1e0a8fd3.js → p-e14323f3.js} +1 -1
- package/dist/vega/{p-6d4518d7.entry.js → p-e5abc288.entry.js} +1 -1
- package/dist/vega/{p-544ce391.entry.js → p-ea1a0046.entry.js} +1 -1
- package/dist/vega/{p-72fd17a1.entry.js → p-edd7aa92.entry.js} +1 -1
- package/dist/vega/p-ef1bbf14.js +1 -0
- package/dist/vega/{p-9834d5d4.entry.js → p-efc08027.entry.js} +1 -1
- package/dist/vega/{p-874e5624.js → p-f485448a.js} +1 -1
- package/dist/vega/{p-92528dc9.entry.js → p-f8b2dbb9.entry.js} +1 -1
- package/dist/vega/{p-cf4b3d40.entry.js → p-f8bf379c.entry.js} +1 -1
- package/dist/vega/{p-b98ead05.entry.js → p-f902305d.entry.js} +1 -1
- package/dist/vega/p-fe985b52.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-conttroller.js +0 -85
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-constants.js +0 -6
- package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-constants.d.ts +0 -6
- package/dist/vega/p-03eeadc1.entry.js +0 -1
- package/dist/vega/p-0eb29065.js +0 -3
- package/dist/vega/p-10d30c03.js +0 -1
- package/dist/vega/p-1250b1ab.entry.js +0 -1
- package/dist/vega/p-1abd3c17.js +0 -1
- package/dist/vega/p-2d158cbd.js +0 -1
- package/dist/vega/p-2f07d719.entry.js +0 -1
- package/dist/vega/p-36d2df7a.entry.js +0 -1
- package/dist/vega/p-373541fa.js +0 -1
- package/dist/vega/p-3a620268.js +0 -1
- package/dist/vega/p-3d0b4074.js +0 -1
- package/dist/vega/p-56493601.js +0 -1
- package/dist/vega/p-571ec00b.js +0 -1
- package/dist/vega/p-585e4f1c.entry.js +0 -1
- package/dist/vega/p-5b1f5e4a.entry.js +0 -1
- package/dist/vega/p-6234852e.entry.js +0 -1
- package/dist/vega/p-67eaf77e.js +0 -1
- package/dist/vega/p-6c95a6a3.js +0 -1
- package/dist/vega/p-6fd4f2c6.js +0 -1
- package/dist/vega/p-7e8fdac4.js +0 -1
- package/dist/vega/p-83ad8988.js +0 -1
- package/dist/vega/p-94975537.entry.js +0 -1
- package/dist/vega/p-a91927eb.entry.js +0 -1
- package/dist/vega/p-b3733762.entry.js +0 -1
- package/dist/vega/p-b622c455.js +0 -1
- package/dist/vega/p-c6d775b8.entry.js +0 -1
- package/dist/vega/p-cd69aeae.js +0 -1
- package/dist/vega/p-cfe268a8.entry.js +0 -1
- package/dist/vega/p-daba4af1.js +0 -1
- package/dist/vega/p-de8f0d98.js +0 -1
- package/dist/vega/p-f0e828d8.js +0 -1
- package/dist/vega/p-f62c5a20.entry.js +0 -1
- package/dist/vega/p-f6c0e9e7.entry.js +0 -1
- package/dist/vega/p-fa65956c.entry.js +0 -1
- /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,186 @@
|
|
|
1
|
+
import { AbstractPasteProcessingStrategy, RTEPasteMode } from './paste-processing-strategy.abstract';
|
|
2
|
+
import { WordStructureTransformer } from '../word-paste-transformers/word-structure-transformer';
|
|
3
|
+
/**
|
|
4
|
+
* Dynamic allowlist configuration for the Word paste sanitizer. Every rule is
|
|
5
|
+
* data-driven so the supported surface can grow per requirement without touching
|
|
6
|
+
* the sanitizer algorithm.
|
|
7
|
+
*/
|
|
8
|
+
export declare type WordSanitizeConfig = {
|
|
9
|
+
/** Allowed HTML tag names (upper case). */
|
|
10
|
+
allowedTags: string[];
|
|
11
|
+
/**
|
|
12
|
+
* Attribute names allowed per tag (upper case key). Use
|
|
13
|
+
* {@link WORD_SANITIZE_ALL_TAGS_KEY} for attributes allowed on every tag.
|
|
14
|
+
*/
|
|
15
|
+
allowedAttributes: Record<string, string[]>;
|
|
16
|
+
/**
|
|
17
|
+
* CSS property **prefixes** to preserve. A property is kept if its canonical
|
|
18
|
+
* name (lower-case) starts with any prefix in this list; all others
|
|
19
|
+
* (including `mso-*` Word artifacts) are stripped.
|
|
20
|
+
*
|
|
21
|
+
* Examples:
|
|
22
|
+
* - `'margin'` keeps `margin`, `margin-left`, `margin-right`, etc.
|
|
23
|
+
* - `'background'` keeps `background`, `background-color`, etc.
|
|
24
|
+
* - `'text-align'` keeps only `text-align` (exact match when no variants).
|
|
25
|
+
*/
|
|
26
|
+
allowedStylePrefixes: string[];
|
|
27
|
+
};
|
|
28
|
+
/**
|
|
29
|
+
* Default Word transformers. Sanitizer allowlist is aggregated from these
|
|
30
|
+
* transformer contracts so adding a new transformer automatically extends the
|
|
31
|
+
* allowlist surface.
|
|
32
|
+
*/
|
|
33
|
+
export declare const WORD_STRUCTURE_TRANSFORMERS: WordStructureTransformer[];
|
|
34
|
+
/**
|
|
35
|
+
* Default sanitizer allowlist aggregated from
|
|
36
|
+
* {@link WORD_STRUCTURE_TRANSFORMERS}. Exported so tests and callers can still
|
|
37
|
+
* provide stable overrides.
|
|
38
|
+
*/
|
|
39
|
+
export declare const WORD_SANITIZE_CONFIG: WordSanitizeConfig;
|
|
40
|
+
/**
|
|
41
|
+
* Pre processes raw Word/Office clipboard HTML into clean, RTE-friendly HTML.
|
|
42
|
+
*
|
|
43
|
+
* The pipeline mirrors the two-phase design of the source Word cleaner:
|
|
44
|
+
* 1. Structure fixing — maps Word paragraph styles onto RTE text styles and
|
|
45
|
+
* drops Word list marker artifacts.
|
|
46
|
+
* 2. Dynamic allowlist sanitizing — recursively strips disallowed tags,
|
|
47
|
+
* attributes and inline style declarations while keeping inner content.
|
|
48
|
+
*/
|
|
49
|
+
export declare class WordPasteProcessingStrategy extends AbstractPasteProcessingStrategy {
|
|
50
|
+
/**
|
|
51
|
+
* Ordered list of structure transformers applied in Phase 1 before allowlist
|
|
52
|
+
* sanitization. To add support for a new node type (table, image, list…),
|
|
53
|
+
* create a class that implements {@link WordStructureTransformer} and append
|
|
54
|
+
* it here — no other changes to the pipeline are needed.
|
|
55
|
+
*/
|
|
56
|
+
static readonly STRUCTURE_TRANSFORMERS: WordStructureTransformer[];
|
|
57
|
+
/**
|
|
58
|
+
* Signatures that identify clipboard HTML produced by Microsoft Word / Office.
|
|
59
|
+
* Any single match is enough to treat the payload as Word content because
|
|
60
|
+
* these markers do not appear in ordinary web or plain rich-text clipboards.
|
|
61
|
+
*/
|
|
62
|
+
private static readonly WORD_SIGNATURE_PATTERNS;
|
|
63
|
+
/**
|
|
64
|
+
* Downstream paste mode marker for Word-specific processing.
|
|
65
|
+
*
|
|
66
|
+
* @returns {RTEPasteMode} `word` so downstream handlers preserve Word annotations.
|
|
67
|
+
*/
|
|
68
|
+
get type(): RTEPasteMode;
|
|
69
|
+
/**
|
|
70
|
+
* Detects whether raw clipboard HTML originated from Microsoft Word / Office.
|
|
71
|
+
*
|
|
72
|
+
* Used to auto-route a normal "rich text" paste through the Word cleaning
|
|
73
|
+
* pipeline when the source is actually Word, so users get correct formatting
|
|
74
|
+
* without having to explicitly pick the Word paste option.
|
|
75
|
+
*
|
|
76
|
+
* @param {string} html Raw `text/html` clipboard payload.
|
|
77
|
+
* @returns {boolean} `true` when the HTML carries Word/Office signatures.
|
|
78
|
+
*/
|
|
79
|
+
canHandle(html: string): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Returns the priority of this strategy relative to others; higher values run first.
|
|
82
|
+
*
|
|
83
|
+
* @returns {number} The priority value.
|
|
84
|
+
*/
|
|
85
|
+
get priority(): number;
|
|
86
|
+
/**
|
|
87
|
+
* Whether this strategy extracts pasted images and produces local previews.
|
|
88
|
+
*
|
|
89
|
+
* @returns {boolean} Always `true`; Word paste swaps `file://` images to previews.
|
|
90
|
+
*/
|
|
91
|
+
get supportsImageProcessing(): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Cleans raw Word clipboard HTML so it can flow through the normal RTE paste
|
|
94
|
+
* pipeline.
|
|
95
|
+
*
|
|
96
|
+
* @param {string} html Raw `text/html` clipboard payload from Word.
|
|
97
|
+
* @param {WordSanitizeConfig} [config] Optional allowlist override.
|
|
98
|
+
* @returns {string} Sanitized HTML string.
|
|
99
|
+
*/
|
|
100
|
+
process(html: string, config?: WordSanitizeConfig): string;
|
|
101
|
+
/**
|
|
102
|
+
* Removes Office XML comments and down-level conditional markup that would
|
|
103
|
+
* otherwise confuse `DOMParser`.
|
|
104
|
+
*
|
|
105
|
+
* @param {string} html Raw HTML string.
|
|
106
|
+
* @returns {string} HTML without Word comment blocks.
|
|
107
|
+
*/
|
|
108
|
+
private stripWordComments;
|
|
109
|
+
/**
|
|
110
|
+
* First phase: repairs Word-specific structure so it aligns with RTE text
|
|
111
|
+
* styles before the allowlist pass runs.
|
|
112
|
+
*
|
|
113
|
+
* @param {HTMLElement} root Parsed body element.
|
|
114
|
+
*/
|
|
115
|
+
private fixWordStructure;
|
|
116
|
+
/**
|
|
117
|
+
* Removes the whitespace-only text nodes Word emits directly between block
|
|
118
|
+
* elements (the `\n\n` at the top level of the fragment). After the allowlist
|
|
119
|
+
* pass, disallowed containers are already unwrapped, so any remaining
|
|
120
|
+
* top-level text node that is pure whitespace is an inter-block artifact.
|
|
121
|
+
* Whitespace inside inline/text elements is left untouched.
|
|
122
|
+
*
|
|
123
|
+
* @param {HTMLElement} root Parsed body element.
|
|
124
|
+
*/
|
|
125
|
+
private removeInterBlockWhitespace;
|
|
126
|
+
/**
|
|
127
|
+
* Collapses insignificant ASCII whitespace inside text nodes the way a
|
|
128
|
+
* browser would when rendering. Word wraps long runs of text across multiple
|
|
129
|
+
* source lines, so a single logical line such as "Number list 1" arrives as
|
|
130
|
+
* "Number\nlist 1"; without normalization the newline surfaces as a spurious
|
|
131
|
+
* line break in the editor. Non-breaking spaces (`\u00A0`) are left untouched
|
|
132
|
+
* so intentional Word spacing and blank lines survive.
|
|
133
|
+
*
|
|
134
|
+
* @param {Node} node Node whose text descendants are normalized in place.
|
|
135
|
+
*/
|
|
136
|
+
private collapseInsignificantWhitespace;
|
|
137
|
+
/**
|
|
138
|
+
* Preserves intentional blank lines authored in Word (empty paragraphs whose
|
|
139
|
+
* only content is a non-breaking space). The downstream paste pipeline drops
|
|
140
|
+
* any block whose text content trims to empty, and `trim()` also removes a
|
|
141
|
+
* non-breaking space; replacing the content with a zero-width space keeps the
|
|
142
|
+
* blank line because it survives `trim()` while still rendering as empty.
|
|
143
|
+
*
|
|
144
|
+
* @param {HTMLElement} root Parsed body element.
|
|
145
|
+
*/
|
|
146
|
+
private preserveWordEmptyLines;
|
|
147
|
+
/**
|
|
148
|
+
* Second phase: recursively enforces the dynamic allowlist on a node tree.
|
|
149
|
+
*
|
|
150
|
+
* @param {Node} node Node to sanitize in place.
|
|
151
|
+
* @param {WordSanitizeConfig} config Active allowlist configuration.
|
|
152
|
+
*/
|
|
153
|
+
private sanitizeNode;
|
|
154
|
+
/**
|
|
155
|
+
* Removes disallowed attributes and filters style declarations.
|
|
156
|
+
*
|
|
157
|
+
* @param {Element} element Element being sanitized.
|
|
158
|
+
* @param {string} tagName Upper-case tag name.
|
|
159
|
+
* @param {WordSanitizeConfig} config Active sanitize configuration.
|
|
160
|
+
*/
|
|
161
|
+
private sanitizeAttributes;
|
|
162
|
+
/**
|
|
163
|
+
* Filters CSS declarations inside a preserved style attribute: keeps only
|
|
164
|
+
* properties matching a prefix in {@link WordSanitizeConfig.allowedStylePrefixes};
|
|
165
|
+
* all others (including `mso-*` Word artifacts) are stripped.
|
|
166
|
+
*
|
|
167
|
+
* @param {Element} element Element owning the style attribute.
|
|
168
|
+
* @param {string} attrName Preserved style attribute name.
|
|
169
|
+
* @param {WordSanitizeConfig} config Active sanitize configuration.
|
|
170
|
+
*/
|
|
171
|
+
private sanitizeStyleAttribute;
|
|
172
|
+
/**
|
|
173
|
+
* Converts preserved `data-style` attributes back to `style` in the final
|
|
174
|
+
* HTML string so downstream paste handling receives standard markup.
|
|
175
|
+
*
|
|
176
|
+
* @param {string} html Serialized sanitized HTML.
|
|
177
|
+
* @returns {string} HTML with `style` attributes restored.
|
|
178
|
+
*/
|
|
179
|
+
private restoreStyleAttributeName;
|
|
180
|
+
/**
|
|
181
|
+
* Removes the element from its parent node if it has one.
|
|
182
|
+
*
|
|
183
|
+
* @param {Node | Element} elementToBeRemoved The element to be removed from the DOM.
|
|
184
|
+
*/
|
|
185
|
+
private removeSelf;
|
|
186
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { WordStructureTransformer } from './word-structure-transformer';
|
|
2
|
+
/**
|
|
3
|
+
* Normalizes pasted `<pre>` nodes so they can be parsed as RTE code blocks.
|
|
4
|
+
*
|
|
5
|
+
* The RTE recognizes a code block only when `data-language` is present on
|
|
6
|
+
* `<pre>`. Word-exported snippets commonly use plain `<pre>` with no
|
|
7
|
+
* language metadata, so this transformer adds a default language and copies any
|
|
8
|
+
* detectable language hint from nested code markup when available.
|
|
9
|
+
*/
|
|
10
|
+
export declare class WordCodeBlockTransformer implements WordStructureTransformer {
|
|
11
|
+
/**
|
|
12
|
+
* Determines whether a node is a code block whose whitespace must be preserved.
|
|
13
|
+
*
|
|
14
|
+
* @param {Node} node Node to inspect.
|
|
15
|
+
* @returns {boolean} `true` when the node is a `<pre>` element.
|
|
16
|
+
*/
|
|
17
|
+
static isCodeBlock(node: Node): boolean;
|
|
18
|
+
/** @inheritDoc */
|
|
19
|
+
apply(root: HTMLElement): void;
|
|
20
|
+
/** @inheritDoc */
|
|
21
|
+
getAllowedTags(): string[];
|
|
22
|
+
/** @inheritDoc */
|
|
23
|
+
getAllowedAttributes(): Map<string, string[]>;
|
|
24
|
+
/** @inheritDoc */
|
|
25
|
+
getAllowedStyles(): string[];
|
|
26
|
+
/**
|
|
27
|
+
* Resolves code language metadata from `<pre>` class hints, falling back to
|
|
28
|
+
* {@link DEFAULT_CODE_LANGUAGE}.
|
|
29
|
+
*
|
|
30
|
+
* `apply()` only invokes this method when the `<pre>` has no
|
|
31
|
+
* `data-language` attribute, so class-based inference is the only source
|
|
32
|
+
* this method needs to consult.
|
|
33
|
+
*
|
|
34
|
+
* @param {HTMLElement} preElement Source `<pre>` element.
|
|
35
|
+
* @returns {string} Resolved language id or `plainText` fallback.
|
|
36
|
+
*/
|
|
37
|
+
private resolveLanguage;
|
|
38
|
+
/**
|
|
39
|
+
* Extracts a language id from class names like `language-js` or `lang-ts`.
|
|
40
|
+
*
|
|
41
|
+
* @param {HTMLElement} preElement Source `<pre>` element.
|
|
42
|
+
* @returns {string} Extracted language id or empty string.
|
|
43
|
+
*/
|
|
44
|
+
private resolveLanguageFromClassName;
|
|
45
|
+
/**
|
|
46
|
+
* Removes Word-only `Mso*` class names and keeps any non-Word classes.
|
|
47
|
+
*
|
|
48
|
+
* @param {HTMLElement} preElement Source `<pre>` element.
|
|
49
|
+
*/
|
|
50
|
+
private stripWordClassArtifacts;
|
|
51
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { WordStructureTransformer } from './word-structure-transformer';
|
|
2
|
+
/**
|
|
3
|
+
* Normalizes Word image markup into plain <img> tags, drops list-marker images,
|
|
4
|
+
* and optionally remaps image source paths.
|
|
5
|
+
*/
|
|
6
|
+
export declare class WordImageTransformer implements WordStructureTransformer {
|
|
7
|
+
/** @inheritDoc */
|
|
8
|
+
getAllowedTags(): string[];
|
|
9
|
+
/** @inheritDoc */
|
|
10
|
+
getAllowedAttributes(): Map<string, string[]>;
|
|
11
|
+
/** @inheritDoc */
|
|
12
|
+
getAllowedStyles(): string[];
|
|
13
|
+
/** @inheritDoc */
|
|
14
|
+
apply(root: HTMLElement): void;
|
|
15
|
+
/**
|
|
16
|
+
* Lifts images out of text-style blocks (`h1`-`h6`, Word title / subtitle
|
|
17
|
+
* paragraphs) so they become standalone top-level images.
|
|
18
|
+
*
|
|
19
|
+
* The RTE data model represents these blocks as text blocks whose children
|
|
20
|
+
* are text nodes only, so an `<img>` nested inside one has no text-node
|
|
21
|
+
* representation and would be silently dropped during DTO conversion. Moving
|
|
22
|
+
* each image to a sibling position right after its block lets the downstream
|
|
23
|
+
* image-block strategies pick it up. Images are re-inserted in document order
|
|
24
|
+
* so they stay aligned with the RTF files paired later.
|
|
25
|
+
*
|
|
26
|
+
* Word title / subtitle paragraphs still carry their raw `MsoTitle` /
|
|
27
|
+
* `MsoSubtitle` class here because {@link WordParagraphRoleTransformer} runs
|
|
28
|
+
* after this transformer.
|
|
29
|
+
*
|
|
30
|
+
* @param {HTMLElement} root Parsed Word fragment root.
|
|
31
|
+
*/
|
|
32
|
+
private liftImagesOutOfTextStyleBlocks;
|
|
33
|
+
/**
|
|
34
|
+
* Reports whether a block hosts its images as text-only children, requiring
|
|
35
|
+
* nested images to be lifted out: any heading (`h1`-`h6`) or a Word title /
|
|
36
|
+
* subtitle paragraph.
|
|
37
|
+
*
|
|
38
|
+
* @param {HTMLElement} element Candidate block element.
|
|
39
|
+
* @returns {boolean} `true` when nested images must be lifted out of the block.
|
|
40
|
+
*/
|
|
41
|
+
private isImageLiftTargetBlock;
|
|
42
|
+
/**
|
|
43
|
+
* Converts Word VML `v:imagedata` elements to plain `<img>` elements.
|
|
44
|
+
*
|
|
45
|
+
* @param {HTMLElement} root Parsed Word fragment root.
|
|
46
|
+
*/
|
|
47
|
+
private normalizeWordImageDataElements;
|
|
48
|
+
/**
|
|
49
|
+
* Removes non-VML fallback images that reference a specific Word VML shape id.
|
|
50
|
+
*
|
|
51
|
+
* Word clipboard HTML often includes both `v:imagedata` and an `<img v:shapes="...">`
|
|
52
|
+
* fallback for the same visual image. Once VML is normalized, the fallback must
|
|
53
|
+
* be removed to avoid duplicated image handling.
|
|
54
|
+
*
|
|
55
|
+
* @param {HTMLElement} root Parsed Word fragment root.
|
|
56
|
+
* @param {string} shapeId VML shape id referenced by fallback images.
|
|
57
|
+
*/
|
|
58
|
+
private removeFallbackImagesForShapeId;
|
|
59
|
+
/**
|
|
60
|
+
* Removes list-marker images and sourceless `<img>` elements.
|
|
61
|
+
*
|
|
62
|
+
* @param {HTMLElement} root Parsed Word fragment root.
|
|
63
|
+
*/
|
|
64
|
+
private normalizeStandardImages;
|
|
65
|
+
/**
|
|
66
|
+
* Inserts an empty `<span> </span>` between adjacent images to avoid
|
|
67
|
+
* downstream image-block parsing treating a compact image run as a single image.
|
|
68
|
+
*
|
|
69
|
+
* @param {HTMLElement} root Parsed Word fragment root.
|
|
70
|
+
*/
|
|
71
|
+
private insertSpanBetweenAdjacentImages;
|
|
72
|
+
/**
|
|
73
|
+
* Currently the RTE does not support list images, so they must be removed from the paste content.
|
|
74
|
+
* Local (file://) list images are kept as placeholders here and removed later during preview pairing
|
|
75
|
+
* so the local images stay aligned with the RTF images; non-local list images are removed immediately.
|
|
76
|
+
* Returns true when the image is part of list content and should be ignored.
|
|
77
|
+
*
|
|
78
|
+
* Word list markup (`MsoListParagraph` / `mso-list`) is already normalized into
|
|
79
|
+
* real `li/ul/ol` by {@link WordListRoleTransformer}, which runs before this
|
|
80
|
+
* transformer, so a plain list-ancestor check is sufficient here.
|
|
81
|
+
*
|
|
82
|
+
* @param {Element} element Image element (or its wrapper).
|
|
83
|
+
* @returns {boolean} Whether this image belongs to list content.
|
|
84
|
+
*/
|
|
85
|
+
private isListImage;
|
|
86
|
+
}
|
|
@@ -0,0 +1,271 @@
|
|
|
1
|
+
import { WordStructureTransformer } from './word-structure-transformer';
|
|
2
|
+
/**
|
|
3
|
+
* Rebuilds Word list paragraphs into real `<ul>` / `<ol>` / `<li>` structures.
|
|
4
|
+
*
|
|
5
|
+
* Word does not emit list elements: it emits a flat sequence of `<p>` blocks
|
|
6
|
+
* that each carry an `mso-list:l<id> level<depth> lfo<override>` marker plus an
|
|
7
|
+
* inner `mso-list:Ignore` span that renders the visible bullet or number. This
|
|
8
|
+
* transformer walks every container that hosts list paragraphs (so nested
|
|
9
|
+
* `<div>` / table cells are covered), strips the marker span, decides bullet
|
|
10
|
+
* vs. numbered from the marker text / font, and folds the flat items back into
|
|
11
|
+
* a nested list tree the RTE slimmer can parse.
|
|
12
|
+
*
|
|
13
|
+
* Runs before {@link WordParagraphRoleTransformer} so the converted `<li>`
|
|
14
|
+
* elements are no longer seen as paragraphs during role resolution.
|
|
15
|
+
*/
|
|
16
|
+
export declare class WordListRoleTransformer implements WordStructureTransformer {
|
|
17
|
+
/** @inheritDoc */
|
|
18
|
+
apply(root: HTMLElement): void;
|
|
19
|
+
/** @inheritDoc */
|
|
20
|
+
getAllowedTags(): string[];
|
|
21
|
+
/** @inheritDoc */
|
|
22
|
+
getAllowedAttributes(): Map<string, string[]>;
|
|
23
|
+
/** @inheritDoc */
|
|
24
|
+
getAllowedStyles(): string[];
|
|
25
|
+
/**
|
|
26
|
+
* Moves any `<ol>` / `<ul>` that appears as a direct child of another
|
|
27
|
+
* `<ol>` / `<ul>` into the preceding `<li>` sibling, so downstream strategies
|
|
28
|
+
* see a well-formed nested list. Word emits this invalid shape when it uses
|
|
29
|
+
* real list elements (rather than flat `mso-list` paragraphs) — the browser
|
|
30
|
+
* parser keeps the nested list as a sibling of the `<li>` it should belong
|
|
31
|
+
* to, and the RTE's OL/UL block strategy would drop it because its
|
|
32
|
+
* `appendChildBlocks` only keeps `<li>` children.
|
|
33
|
+
*
|
|
34
|
+
* Runs bottom-up so a nested list that also has misplaced children is fixed
|
|
35
|
+
* before its own parent list picks it up.
|
|
36
|
+
*
|
|
37
|
+
* @param {HTMLElement} root Parsed body element.
|
|
38
|
+
*/
|
|
39
|
+
private nestSiblingLists;
|
|
40
|
+
/**
|
|
41
|
+
* Converts the HTML `<ol type>` attribute into a preserved
|
|
42
|
+
* `list-style-type` declaration for every ordered list that carries one.
|
|
43
|
+
*
|
|
44
|
+
* Word can paste genuine `<ol>` elements (rather than flat list paragraphs)
|
|
45
|
+
* that encode alpha / Roman numbering via the legacy `type` attribute
|
|
46
|
+
* (`type=a`, `type=i`, `type=I`, …). The `type` attribute is not on the
|
|
47
|
+
* allowlist and would be dropped, losing the numbering style, so it is mapped
|
|
48
|
+
* onto `list-style-type` inside `data-style`. Decimal (`type=1`) lists are
|
|
49
|
+
* left untouched because a bare `<ol>` already renders as `1. 2. 3.`. An
|
|
50
|
+
* existing `list-style-type` declaration wins and is never overwritten.
|
|
51
|
+
*
|
|
52
|
+
* @param {HTMLElement} root Parsed body element.
|
|
53
|
+
*/
|
|
54
|
+
private applyOrderedListTypeAttributes;
|
|
55
|
+
/**
|
|
56
|
+
* Walks a container, folding each contiguous run of Word list paragraphs
|
|
57
|
+
* into a nested list tree in place of the original paragraphs.
|
|
58
|
+
*
|
|
59
|
+
* @param {HTMLElement} container Element whose direct children may include list paragraphs.
|
|
60
|
+
*/
|
|
61
|
+
private processContainer;
|
|
62
|
+
/**
|
|
63
|
+
* Determines whether an element is a Word list paragraph.
|
|
64
|
+
*
|
|
65
|
+
* A paragraph is only treated as a list when it carries a genuine Word list
|
|
66
|
+
* marker: either the `mso-list:l<n>` paragraph style, or the `MsoListParagraph`
|
|
67
|
+
* class **together with** an inner `mso-list:Ignore` marker span. The
|
|
68
|
+
* `MsoListParagraph` class alone is not sufficient — Word also uses that
|
|
69
|
+
* paragraph style for plain indented content (e.g. headings), which must not
|
|
70
|
+
* be folded into a `<ul>` / `<ol>`.
|
|
71
|
+
*
|
|
72
|
+
* @param {HTMLElement} element Candidate element.
|
|
73
|
+
* @returns {boolean} `true` when the element is a `<p>` carrying a Word list marker.
|
|
74
|
+
*/
|
|
75
|
+
private isWordListParagraph;
|
|
76
|
+
/**
|
|
77
|
+
* Folds a flat run of Word list paragraphs into a nested list tree inserted
|
|
78
|
+
* before the run, then removes the original paragraphs.
|
|
79
|
+
*
|
|
80
|
+
* @param {HTMLElement[]} run Consecutive Word list paragraphs.
|
|
81
|
+
* @param {HTMLElement} container Element hosting the run.
|
|
82
|
+
*/
|
|
83
|
+
private transformRun;
|
|
84
|
+
/**
|
|
85
|
+
* Reports whether a same-level item must break out into a new sibling list.
|
|
86
|
+
* A different Word list instance always splits (so two separate lists pasted
|
|
87
|
+
* back-to-back keep independent numbering). Bullet-vs-numbered switches also
|
|
88
|
+
* split, and numbered lists additionally split when the CSS `list-style-type`
|
|
89
|
+
* changes (e.g. `1.` → `a)`).
|
|
90
|
+
*
|
|
91
|
+
* @param {OpenList} top Currently open list at the same nesting depth.
|
|
92
|
+
* @param {boolean} ordered Whether the incoming item is numbered.
|
|
93
|
+
* @param {string | null} listStyleType Incoming numbered list style, if any.
|
|
94
|
+
* @param {string | null} listId Incoming Word list instance id, if any.
|
|
95
|
+
* @returns {boolean} `true` when a new sibling list should be opened.
|
|
96
|
+
*/
|
|
97
|
+
private needsSiblingList;
|
|
98
|
+
/**
|
|
99
|
+
* Reads a previously-written `list-style-type` from an open list element.
|
|
100
|
+
*
|
|
101
|
+
* @param {HTMLElement} listEl List element.
|
|
102
|
+
* @returns {string | null} The style value, or `null` when none is set.
|
|
103
|
+
*/
|
|
104
|
+
private readListStyleType;
|
|
105
|
+
/**
|
|
106
|
+
* Opens a new list nested one or more levels deeper than the current top.
|
|
107
|
+
* Word occasionally skips indent levels on paste (e.g. jumping from `level1`
|
|
108
|
+
* to `level3`); this walks the gap one level at a time, inserting placeholder
|
|
109
|
+
* lists so the deeper list is nested through empty `<li>` anchors instead of
|
|
110
|
+
* appearing as a sibling of the shallower list.
|
|
111
|
+
*
|
|
112
|
+
* @param {OpenList[]} stack Stack of currently open lists.
|
|
113
|
+
* @param {HTMLElement} container Host element for the top-level list.
|
|
114
|
+
* @param {HTMLElement} anchor Element the top-level list is inserted before.
|
|
115
|
+
* @param {boolean} ordered Whether the new list is numbered.
|
|
116
|
+
* @param {number} level Word nesting depth for the new list.
|
|
117
|
+
* @param {string | null} listStyleType CSS `list-style-type` for ordered lists.
|
|
118
|
+
* @param {string | null} listId Word list instance id for the new list.
|
|
119
|
+
* @returns {OpenList} The newly opened list.
|
|
120
|
+
*/
|
|
121
|
+
private openNestedList;
|
|
122
|
+
/**
|
|
123
|
+
* Replaces the current top list with a sibling list at the same nesting
|
|
124
|
+
* depth. Used when the list flavor (bullet vs. numbered, or the ordered
|
|
125
|
+
* marker style) flips between two consecutive same-level items.
|
|
126
|
+
*
|
|
127
|
+
* @param {OpenList[]} stack Stack of currently open lists.
|
|
128
|
+
* @param {boolean} ordered Whether the sibling list is numbered.
|
|
129
|
+
* @param {number} level Word nesting depth for the sibling list.
|
|
130
|
+
* @param {string | null} listStyleType CSS `list-style-type` for ordered lists.
|
|
131
|
+
* @param {string | null} listId Word list instance id for the sibling list.
|
|
132
|
+
* @returns {OpenList} The newly opened sibling list.
|
|
133
|
+
*/
|
|
134
|
+
private openSiblingList;
|
|
135
|
+
/**
|
|
136
|
+
* Attaches a freshly created list element either inside the last item of the
|
|
137
|
+
* parent list (for nested lists) or before the run anchor (top-level lists).
|
|
138
|
+
*
|
|
139
|
+
* @param {HTMLElement} listEl List element to attach.
|
|
140
|
+
* @param {OpenList | undefined} parent Currently open parent list, if any.
|
|
141
|
+
* @param {HTMLElement} container Host element used for top-level insertion.
|
|
142
|
+
* @param {HTMLElement} anchor Element the top-level list is inserted before.
|
|
143
|
+
*/
|
|
144
|
+
private attachList;
|
|
145
|
+
/**
|
|
146
|
+
* Creates an empty `<ol>` or `<ul>` element, tagging ordered lists with a
|
|
147
|
+
* `list-style-type` when their markers are not plain decimals.
|
|
148
|
+
*
|
|
149
|
+
* @param {HTMLElement} reference Element whose document creates the list.
|
|
150
|
+
* @param {boolean} ordered Whether to create a numbered list.
|
|
151
|
+
* @param {string | null} listStyleType CSS `list-style-type` for ordered lists.
|
|
152
|
+
* @returns {HTMLElement} The new list element.
|
|
153
|
+
*/
|
|
154
|
+
private createListElement;
|
|
155
|
+
/**
|
|
156
|
+
* Converts a Word list paragraph into an `<li>` element: the marker span is
|
|
157
|
+
* removed and the remaining content is moved into the list item.
|
|
158
|
+
*
|
|
159
|
+
* @param {HTMLElement} paragraph Word list paragraph.
|
|
160
|
+
* @param {HTMLElement | undefined} marker Pre-resolved `mso-list:Ignore` span.
|
|
161
|
+
* @returns {HTMLLIElement} The populated list item.
|
|
162
|
+
*/
|
|
163
|
+
private buildListItem;
|
|
164
|
+
/**
|
|
165
|
+
* Moves any local (`file://`) images out of the marker span so they survive
|
|
166
|
+
* marker removal as list-item placeholders.
|
|
167
|
+
*
|
|
168
|
+
* Word renders a picture bullet as an `<img>` inside the `mso-list:Ignore`
|
|
169
|
+
* marker span. That bullet still occupies one image slot in the clipboard RTF,
|
|
170
|
+
* so silently dropping it here would leave its RTF blip unconsumed and shift
|
|
171
|
+
* every following image onto the wrong file. Keeping the bullet as a `file://`
|
|
172
|
+
* placeholder inside the `<li>` lets downstream preview pairing consume its RTF
|
|
173
|
+
* slot and then drop it (list images have no editor representation), keeping the
|
|
174
|
+
* remaining images aligned with their files. Non-local bullet images have no RTF
|
|
175
|
+
* counterpart and are left in the marker to be removed with it.
|
|
176
|
+
*
|
|
177
|
+
* @param {HTMLElement} marker Marker span holding the bullet glyph / image.
|
|
178
|
+
* @param {HTMLElement} paragraph Owning list paragraph (placeholder host).
|
|
179
|
+
*/
|
|
180
|
+
private preserveMarkerPlaceholderImages;
|
|
181
|
+
/**
|
|
182
|
+
* Removes the `mso-list:Ignore` marker span and any wrapper elements it
|
|
183
|
+
* leaves empty behind.
|
|
184
|
+
*
|
|
185
|
+
* @param {HTMLElement} marker Marker span to remove.
|
|
186
|
+
* @param {HTMLElement} paragraph Owning list paragraph (stop boundary).
|
|
187
|
+
*/
|
|
188
|
+
private removeMarker;
|
|
189
|
+
/**
|
|
190
|
+
* Finds the `mso-list:Ignore` marker span within a list paragraph.
|
|
191
|
+
*
|
|
192
|
+
* @param {HTMLElement} paragraph Word list paragraph.
|
|
193
|
+
* @returns {HTMLElement | undefined} The marker span, if present.
|
|
194
|
+
*/
|
|
195
|
+
private findMarker;
|
|
196
|
+
/**
|
|
197
|
+
* Reports whether an element has no meaningful (non-whitespace) content left.
|
|
198
|
+
*
|
|
199
|
+
* @param {HTMLElement} element Element to inspect.
|
|
200
|
+
* @returns {boolean} `true` when only whitespace remains.
|
|
201
|
+
*/
|
|
202
|
+
private isEmptyElement;
|
|
203
|
+
/**
|
|
204
|
+
* Resolves the Word nesting depth for a list paragraph (defaults to 1).
|
|
205
|
+
*
|
|
206
|
+
* @param {HTMLElement} paragraph Word list paragraph.
|
|
207
|
+
* @returns {number} One-based nesting depth.
|
|
208
|
+
*/
|
|
209
|
+
private resolveLevel;
|
|
210
|
+
/**
|
|
211
|
+
* Resolves the Word list instance id for a paragraph. Prefers the list-format
|
|
212
|
+
* override (`lfo<n>`), which is unique per pasted list, and falls back to the
|
|
213
|
+
* abstract list template id (`l<n>`). Returns `null` when neither is present
|
|
214
|
+
* (e.g. the `MsoListParagraph` class fallback).
|
|
215
|
+
*
|
|
216
|
+
* @param {HTMLElement} paragraph Word list paragraph.
|
|
217
|
+
* @returns {string | null} The list instance id, or `null` when unknown.
|
|
218
|
+
*/
|
|
219
|
+
private resolveListId;
|
|
220
|
+
/**
|
|
221
|
+
* Decides whether a resolved marker span represents a numbered (`<ol>`) or
|
|
222
|
+
* bulleted (`<ul>`) item based on its text and font.
|
|
223
|
+
*
|
|
224
|
+
* @param {HTMLElement} marker Marker span.
|
|
225
|
+
* @param {HTMLElement} paragraph Owning list paragraph.
|
|
226
|
+
* @returns {boolean} `true` for numbered items, `false` for bulleted items.
|
|
227
|
+
*/
|
|
228
|
+
private isOrderedMarker;
|
|
229
|
+
/**
|
|
230
|
+
* Resolves the CSS `list-style-type` for a numbered list marker.
|
|
231
|
+
* Plain decimal markers ("1.", "2.") return `null` so a bare `<ol>` is used;
|
|
232
|
+
* alphabetic and Roman markers map to the matching CSS value so their marker
|
|
233
|
+
* style is preserved.
|
|
234
|
+
*
|
|
235
|
+
* A lone `i` / `I` is ambiguous: it is both Roman numeral 1 and the 9th
|
|
236
|
+
* letter of the alphabet. When the same-level list already open for this
|
|
237
|
+
* instance is alpha, the marker is kept alpha so a long `a) ... h) i) j)`
|
|
238
|
+
* run does not split into a Roman sibling at item 9; otherwise the lone
|
|
239
|
+
* marker is treated as Roman 1 (the first item of a Roman list).
|
|
240
|
+
*
|
|
241
|
+
* @param {HTMLElement} marker Marker span.
|
|
242
|
+
* @param {OpenList | undefined} openList Same-depth list already open, if any.
|
|
243
|
+
* @param {number} level Word nesting depth of the incoming item.
|
|
244
|
+
* @param {string | null} listId Word list instance id of the incoming item.
|
|
245
|
+
* @returns {string | null} The CSS `list-style-type`, or `null` for decimals.
|
|
246
|
+
*/
|
|
247
|
+
private resolveListStyleType;
|
|
248
|
+
/**
|
|
249
|
+
* Reports whether a lone `i` / `I` marker continues an already-open alpha
|
|
250
|
+
* list rather than starting a Roman one. True only when the same-depth list
|
|
251
|
+
* is a matching alpha `<ol>` for the same Word list instance, so an ambiguous
|
|
252
|
+
* marker at item 9 stays part of the surrounding `lower-alpha` / `upper-alpha`
|
|
253
|
+
* run instead of opening a Roman sibling.
|
|
254
|
+
*
|
|
255
|
+
* @param {OpenList | undefined} openList Same-depth list already open, if any.
|
|
256
|
+
* @param {number} level Word nesting depth of the incoming item.
|
|
257
|
+
* @param {string | null} listId Word list instance id of the incoming item.
|
|
258
|
+
* @param {string} alphaStyle The alpha style the marker would continue.
|
|
259
|
+
* @returns {boolean} `true` when the marker should be treated as alpha.
|
|
260
|
+
*/
|
|
261
|
+
private continuesAlphaList;
|
|
262
|
+
/**
|
|
263
|
+
* Resolves the effective `font-family` for a marker by walking up to the
|
|
264
|
+
* paragraph, so Word's `Symbol` / `Wingdings` bullet fonts can be detected.
|
|
265
|
+
*
|
|
266
|
+
* @param {HTMLElement} marker Marker span.
|
|
267
|
+
* @param {HTMLElement} paragraph Owning list paragraph.
|
|
268
|
+
* @returns {string} The resolved font family, or an empty string.
|
|
269
|
+
*/
|
|
270
|
+
private resolveMarkerFont;
|
|
271
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { WordStructureTransformer } from './word-structure-transformer';
|
|
2
|
+
/**
|
|
3
|
+
* Maps Word title / subtitle / heading paragraph style class names onto RTE
|
|
4
|
+
* CSS text-style classes. Any pre-existing `data-type` attributes are stripped
|
|
5
|
+
* first so only trusted values remain. Using a class instead of a custom
|
|
6
|
+
* attribute prevents the value from leaking into the DTO's custom-attribute
|
|
7
|
+
* annotation and subsequently into the serialized HTML output.
|
|
8
|
+
*/
|
|
9
|
+
export declare class WordParagraphRoleTransformer implements WordStructureTransformer {
|
|
10
|
+
/** @inheritDoc */
|
|
11
|
+
apply(root: HTMLElement): void;
|
|
12
|
+
/** @inheritDoc */
|
|
13
|
+
getAllowedTags(): string[];
|
|
14
|
+
/** @inheritDoc */
|
|
15
|
+
getAllowedAttributes(): Map<string, string[]>;
|
|
16
|
+
/** @inheritDoc */
|
|
17
|
+
getAllowedStyles(): string[];
|
|
18
|
+
/**
|
|
19
|
+
* Resolves the RTE text style for a Word paragraph class name.
|
|
20
|
+
*
|
|
21
|
+
* @param {string | null} className Raw `class` attribute value.
|
|
22
|
+
* @returns {WordParagraphRole | null} Matched role or `null`.
|
|
23
|
+
*/
|
|
24
|
+
private resolveRole;
|
|
25
|
+
}
|