@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
|
@@ -6,7 +6,7 @@ import { RowOperationEventHandler } from '../setting-event-handlers/row-operatio
|
|
|
6
6
|
import { CaptionOperationEventHandler } from '../setting-event-handlers/caption-operation';
|
|
7
7
|
import { ColumnOperationEventHandler } from '../setting-event-handlers/column-operation';
|
|
8
8
|
import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
9
|
-
import { VegaPopoverShow } from '../../../../../helpers/event-manager/event-id/vega-event-id';
|
|
9
|
+
import { VegaPopoverShow, VegaPopoverHide, } from '../../../../../helpers/event-manager/event-id/vega-event-id';
|
|
10
10
|
import { TableDynamicPopoverRenderer } from './table-dynamic-popover-renderer';
|
|
11
11
|
import { MergeCellsOperationEventHandler } from '../setting-event-handlers/merge-cells-operation';
|
|
12
12
|
import { SplitCellOperationEventHandler } from '../setting-event-handlers/split-cell-operation';
|
|
@@ -57,6 +57,62 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
57
57
|
this.tableSettingRef.selectedCells = this.getTableSelectedCells();
|
|
58
58
|
}
|
|
59
59
|
};
|
|
60
|
+
/**
|
|
61
|
+
* Hides the table setting toolbar and its dynamic popover. Used when focus leaves the table (e.g.
|
|
62
|
+
* Escape moves focus from a cell back onto the table) so the contextual toolbar does not linger.
|
|
63
|
+
*/
|
|
64
|
+
this.hide = () => {
|
|
65
|
+
var _a;
|
|
66
|
+
void this.tableDynamicPopover.hide();
|
|
67
|
+
void ((_a = this.popoverRef) === null || _a === void 0 ? void 0 : _a.hide());
|
|
68
|
+
};
|
|
69
|
+
/**
|
|
70
|
+
* Opens the table setting toolbar for keyboard/screen-reader users and moves focus to its first
|
|
71
|
+
* enabled button. Used by the Alt+F10 shortcut so the toolbar can be reached from inside a cell
|
|
72
|
+
* even when it is currently closed: it re-targets and shows the popover (the same path as a table
|
|
73
|
+
* click) before deferring focus to the first enabled button.
|
|
74
|
+
*
|
|
75
|
+
* @param {RTETableBlock} tableBlock - The table's block data.
|
|
76
|
+
* @param {() => HTMLElement} getTableRef - Getter for the table's DOM element.
|
|
77
|
+
* @param {Nullable<HTMLElement>} returnCell - The cell to return focus to if the toolbar is dismissed with Escape.
|
|
78
|
+
*/
|
|
79
|
+
this.openSettingToolbarForKeyboard = (tableBlock, getTableRef, returnCell) => {
|
|
80
|
+
// Re-target and show the popover through the same path as a table click so the toolbar is
|
|
81
|
+
// actually visible before focus lands on it — otherwise focus would be pushed onto a hidden
|
|
82
|
+
// or stale toolbar that isn't shown.
|
|
83
|
+
this.reTarget(tableBlock, getTableRef);
|
|
84
|
+
void this.tableDynamicPopover.hide();
|
|
85
|
+
remoteInvocationRegistry.call(domNodeSubjectFactory.getSubject(this.popoverRef, VegaInternalPopoverUpdateTarget), getTableRef());
|
|
86
|
+
void this.popoverRef.show(true);
|
|
87
|
+
this.focusFirstSettingButton(returnCell);
|
|
88
|
+
};
|
|
89
|
+
/**
|
|
90
|
+
* Moves focus to the first enabled button in the table setting toolbar. Used by the Alt+F10
|
|
91
|
+
* shortcut so keyboard and screen-reader users can reach the toolbar from inside the table.
|
|
92
|
+
*
|
|
93
|
+
* @param {Nullable<HTMLElement>} returnCell - The cell to return focus to if the toolbar is dismissed with Escape.
|
|
94
|
+
*/
|
|
95
|
+
this.focusFirstSettingButton = (returnCell) => {
|
|
96
|
+
var _a, _b;
|
|
97
|
+
// Remember the cell to return focus to if the toolbar is dismissed with Escape, and clear any
|
|
98
|
+
// stale Escape recorded before the toolbar was focused.
|
|
99
|
+
this.beginReturnFocusTracking(returnCell);
|
|
100
|
+
// Safari VoiceOver ignores the toolbar's aria-modal and keeps driving a caret through the still
|
|
101
|
+
// editable content, so on Ctrl+Opt+Right it walks the DOM caret out of the table into the editor
|
|
102
|
+
// instead of staying on the toolbar. Clear the caret AND make the editor content inert so there is
|
|
103
|
+
// no text context for VoiceOver to advance; the inert flag is lifted again when the toolbar hides.
|
|
104
|
+
(_b = (_a = this.getTableExtensionContext()) === null || _a === void 0 ? void 0 : _a.getSelection()) === null || _b === void 0 ? void 0 : _b.removeAllRanges();
|
|
105
|
+
this.setEditorContentInert(true);
|
|
106
|
+
// The popover reveals its content asynchronously, so defer to the next tick to make sure
|
|
107
|
+
// the setting buttons are present and focusable.
|
|
108
|
+
// eslint-disable-next-line no-restricted-globals
|
|
109
|
+
setTimeout(() => {
|
|
110
|
+
var _a, _b, _c;
|
|
111
|
+
const buttons = Array.from((_c = (_b = (_a = this.tableSettingRef) === null || _a === void 0 ? void 0 : _a.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('.rte-table-setting-item')) !== null && _c !== void 0 ? _c : []);
|
|
112
|
+
const firstEnabled = buttons.find((button) => !button.hasAttribute('disabled'));
|
|
113
|
+
firstEnabled === null || firstEnabled === void 0 ? void 0 : firstEnabled.focus();
|
|
114
|
+
}, 0);
|
|
115
|
+
};
|
|
60
116
|
/**
|
|
61
117
|
* Handles setting menu click events.
|
|
62
118
|
*
|
|
@@ -69,11 +125,16 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
69
125
|
extensionContext && handler.execute(event.detail, extensionContext, this.tableBlock);
|
|
70
126
|
if (event.detail[0] === TableSettingType.CAPTION) {
|
|
71
127
|
this.updateTableSettingCaption();
|
|
128
|
+
this.moveFocusToCaption();
|
|
72
129
|
}
|
|
73
130
|
}
|
|
74
131
|
if (event.detail[0] === TableSettingType.TABLE || event.detail[0] === TableSettingType.CELL) {
|
|
132
|
+
// Capture the return cell before hiding the setting popover, whose own hide handler clears
|
|
133
|
+
// it, so the properties dialog can move focus into itself and restore it to the cell on
|
|
134
|
+
// Escape for keyboard/screen-reader users.
|
|
135
|
+
const returnCell = this.returnFocusCell;
|
|
75
136
|
void this.popoverRef.hide();
|
|
76
|
-
void this.tableDynamicPopover.show(event.detail[0]);
|
|
137
|
+
void this.tableDynamicPopover.show(event.detail[0], returnCell);
|
|
77
138
|
}
|
|
78
139
|
};
|
|
79
140
|
/**
|
|
@@ -81,6 +142,17 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
81
142
|
*/
|
|
82
143
|
this.handleTableSettingPopoverShow = () => {
|
|
83
144
|
this.syncSelectedCells();
|
|
145
|
+
this.labelSettingDialog();
|
|
146
|
+
};
|
|
147
|
+
/**
|
|
148
|
+
* When the setting popover hides after an Escape press, returns focus (and the caret) to the
|
|
149
|
+
* table cell that had focus before the toolbar was reached via Alt+F10.
|
|
150
|
+
*/
|
|
151
|
+
this.handleTableSettingPopoverHide = () => {
|
|
152
|
+
// Lift the inert guard on the editor content synchronously, before any focus restore runs, so the
|
|
153
|
+
// cell (or the properties dialog) can receive focus and the editor is interactive again.
|
|
154
|
+
this.setEditorContentInert(false);
|
|
155
|
+
this.restoreFocusOnEscapeHide();
|
|
84
156
|
};
|
|
85
157
|
this.tableDynamicPopover = new TableDynamicPopoverRenderer(RTETableColorManager.getTableColors(), renderContext);
|
|
86
158
|
}
|
|
@@ -89,6 +161,8 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
89
161
|
*/
|
|
90
162
|
destroy() {
|
|
91
163
|
this.tableDynamicPopover.destroy();
|
|
164
|
+
this.setEditorContentInert(false);
|
|
165
|
+
this.detachEscapeTracker();
|
|
92
166
|
if (this.popoverContainer) {
|
|
93
167
|
this.popoverContainer.remove();
|
|
94
168
|
}
|
|
@@ -109,6 +183,10 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
109
183
|
popover.isScreenPosition = true;
|
|
110
184
|
popover.className = 'rte-table-setting-popover';
|
|
111
185
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(popover, VegaPopoverShow, this.handleTableSettingPopoverShow);
|
|
186
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(popover, VegaPopoverHide, this.handleTableSettingPopoverHide);
|
|
187
|
+
// Escape inside the popover (rendered in a portal) does not bubble back to the table, so
|
|
188
|
+
// observe it on the document (capture phase) to know when to return focus to the cell.
|
|
189
|
+
this.attachEscapeTracker(safeDocument);
|
|
112
190
|
const slotDiv = safeDocument.createElement('div');
|
|
113
191
|
slotDiv.setAttribute('slot', 'popover');
|
|
114
192
|
const tableSetting = safeDocument.createElement('vega-rich-text-table-setting');
|
|
@@ -121,6 +199,25 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
121
199
|
this.tableSettingRef = tableSetting;
|
|
122
200
|
}
|
|
123
201
|
}
|
|
202
|
+
/**
|
|
203
|
+
* Whether the given event originated inside the setting toolbar subtree.
|
|
204
|
+
*
|
|
205
|
+
* @param {Event} event - The event to test.
|
|
206
|
+
* @returns {boolean} `true` when the toolbar is rendered and the event's composed path includes it.
|
|
207
|
+
*/
|
|
208
|
+
isEventWithinPopover(event) {
|
|
209
|
+
return !!this.tableSettingRef && event.composedPath().includes(this.tableSettingRef);
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Resolves the `.rich-text-content` editor root from the setting toolbar's target so the content
|
|
213
|
+
* can be made inert while the toolbar holds keyboard/VoiceOver focus.
|
|
214
|
+
*
|
|
215
|
+
* @returns {Nullable<HTMLElement>} The editor content element, or `null` when it cannot be resolved.
|
|
216
|
+
*/
|
|
217
|
+
getInertContentTarget() {
|
|
218
|
+
var _a, _b, _c;
|
|
219
|
+
return (_c = (_b = (_a = this.tableSettingRef) === null || _a === void 0 ? void 0 : _a.target) === null || _b === void 0 ? void 0 : _b.closest('.rich-text-content')) !== null && _c !== void 0 ? _c : null;
|
|
220
|
+
}
|
|
124
221
|
/**
|
|
125
222
|
* Updates the table setting component caption state to match the current table data.
|
|
126
223
|
*/
|
|
@@ -130,6 +227,35 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
130
227
|
this.tableSettingRef.hasCaption = hasCaption;
|
|
131
228
|
}
|
|
132
229
|
}
|
|
230
|
+
/**
|
|
231
|
+
* When the caption is toggled on, moves keyboard/VoiceOver focus and the caret into the caption so
|
|
232
|
+
* the user lands in it to start typing. The setting toolbar is opened as inert-guarded for
|
|
233
|
+
* keyboard/screen-reader users, so lift that guard first; the caption is re-rendered by the toggle,
|
|
234
|
+
* so defer the focus to the next tick when the `<caption>` element exists.
|
|
235
|
+
*/
|
|
236
|
+
moveFocusToCaption() {
|
|
237
|
+
if (!this.tableBlock.hasCaption()) {
|
|
238
|
+
return;
|
|
239
|
+
}
|
|
240
|
+
this.setEditorContentInert(false);
|
|
241
|
+
// eslint-disable-next-line no-restricted-globals
|
|
242
|
+
setTimeout(() => {
|
|
243
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
244
|
+
const caption = (_c = (_b = (_a = this.tableSettingRef) === null || _a === void 0 ? void 0 : _a.target) === null || _b === void 0 ? void 0 : _b.querySelector('caption')) !== null && _c !== void 0 ? _c : null;
|
|
245
|
+
if (!caption) {
|
|
246
|
+
return;
|
|
247
|
+
}
|
|
248
|
+
caption.focus();
|
|
249
|
+
const selection = (_g = (_e = (_d = this.getTableExtensionContext()) === null || _d === void 0 ? void 0 : _d.getSelection()) !== null && _e !== void 0 ? _e : (_f = caption.ownerDocument) === null || _f === void 0 ? void 0 : _f.getSelection()) !== null && _g !== void 0 ? _g : null;
|
|
250
|
+
if (selection) {
|
|
251
|
+
const range = new Range();
|
|
252
|
+
range.selectNodeContents(caption);
|
|
253
|
+
range.collapse(false);
|
|
254
|
+
selection.removeAllRanges();
|
|
255
|
+
selection.addRange(range);
|
|
256
|
+
}
|
|
257
|
+
}, 0);
|
|
258
|
+
}
|
|
133
259
|
/**
|
|
134
260
|
* Re-targets the shared popovers to the given table.
|
|
135
261
|
*
|
|
@@ -144,6 +270,22 @@ export class TableSettingPopoverRenderer extends TablePopoverBaseRenderer {
|
|
|
144
270
|
this.tableDynamicPopover.reTarget(tableBlock, getTableRef);
|
|
145
271
|
}
|
|
146
272
|
}
|
|
273
|
+
/**
|
|
274
|
+
* `vega-popover-content-box` renders `role="dialog"` + `aria-modal="true"`, which on WebKit
|
|
275
|
+
* VoiceOver confines the reading cursor to the popover. Keep those semantics so Ctrl+Opt+Arrow
|
|
276
|
+
* cannot walk the VoiceOver cursor out of the toolbar past the last button (VoiceOver swallows
|
|
277
|
+
* those keys, so this cannot be trapped in JS), and give the dialog an accessible name so it
|
|
278
|
+
* announces "Table tools" on entry.
|
|
279
|
+
*/
|
|
280
|
+
labelSettingDialog() {
|
|
281
|
+
var _a, _b;
|
|
282
|
+
const dialog = (_b = (_a = this.tableSettingRef) === null || _a === void 0 ? void 0 : _a.closest('vega-popover-content-box')) !== null && _b !== void 0 ? _b : null;
|
|
283
|
+
if (dialog) {
|
|
284
|
+
dialog.setAttribute('role', 'dialog');
|
|
285
|
+
dialog.setAttribute('aria-modal', 'true');
|
|
286
|
+
dialog.setAttribute('aria-label', 'Table tools');
|
|
287
|
+
}
|
|
288
|
+
}
|
|
147
289
|
/**
|
|
148
290
|
* Collects and returns the currently selected table cells.
|
|
149
291
|
*
|
package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js
CHANGED
|
@@ -366,11 +366,36 @@ export class RTETableSelection {
|
|
|
366
366
|
const commonAncestorContainer = range.commonAncestorContainer;
|
|
367
367
|
const rangeInTable = !!findParent(commonAncestorContainer, `table`);
|
|
368
368
|
if (rangeInTable) {
|
|
369
|
-
|
|
369
|
+
let selectedCells = this.filterSelectedCell(range, commonAncestorContainer);
|
|
370
|
+
if (selectedCells.length === 0) {
|
|
371
|
+
// A collapsed caret placed at an element boundary (e.g. keyboard/VoiceOver entry via
|
|
372
|
+
// Ctrl+Option+Space) does not intersect a text node, so filterSelectedCell finds nothing
|
|
373
|
+
// on browsers that keep the caret on the element (Firefox) instead of normalizing it into
|
|
374
|
+
// the text node (Chrome). Resolve the containing cell directly so the setting toolbar is
|
|
375
|
+
// still enabled.
|
|
376
|
+
selectedCells = this.resolveCaretCell(commonAncestorContainer);
|
|
377
|
+
}
|
|
370
378
|
this.setSelectedCells(selectedCells);
|
|
371
379
|
}
|
|
372
380
|
}
|
|
373
381
|
}
|
|
382
|
+
/**
|
|
383
|
+
* Resolve the single table cell that contains the given selection node. Used as a fallback when a
|
|
384
|
+
* collapsed caret does not intersect any text node (see handleSelectionChange).
|
|
385
|
+
*
|
|
386
|
+
* @param {Node} node - The selection's common ancestor container.
|
|
387
|
+
* @returns {RTETableCellBlock[]} The containing cell block, or an empty list when none is found.
|
|
388
|
+
*/
|
|
389
|
+
resolveCaretCell(node) {
|
|
390
|
+
var _a;
|
|
391
|
+
const startElement = node.nodeType === Node.TEXT_NODE ? node.parentElement : node;
|
|
392
|
+
const cellRef = (_a = startElement === null || startElement === void 0 ? void 0 : startElement.closest('td, th')) !== null && _a !== void 0 ? _a : null;
|
|
393
|
+
if (!cellRef) {
|
|
394
|
+
return [];
|
|
395
|
+
}
|
|
396
|
+
const cellBlock = stateEntityRenderingRegistry.getEntityByDOM(cellRef);
|
|
397
|
+
return cellBlock ? [cellBlock] : [];
|
|
398
|
+
}
|
|
374
399
|
/**
|
|
375
400
|
* Mark the beginning of a drag operation.
|
|
376
401
|
*/
|
|
@@ -18,6 +18,7 @@ export class RTETableToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer
|
|
|
18
18
|
return createTablePopoverRenderer.render(h, super.renderButton(h, editorContext, {
|
|
19
19
|
showArrowIcon: true,
|
|
20
20
|
icon: 'rte-table',
|
|
21
|
+
ariaLabel: 'Table',
|
|
21
22
|
tooltip: { text: 'Insert table' },
|
|
22
23
|
}));
|
|
23
24
|
}
|
|
@@ -76,8 +76,17 @@ export class VegaRichTextCellPropertiesFormFieldRenderer extends VegaRichTextTab
|
|
|
76
76
|
return (h("div", { class: "text-alignment-container" },
|
|
77
77
|
h("vega-font", { variant: "font-field-label", color: "text-primary" }, "Text Alignment"),
|
|
78
78
|
h("vega-flex", { direction: "row", gap: "size-16" },
|
|
79
|
-
this.renderAlignmentField(['left', 'center', 'right', 'justify'], 'align-', 'textAlign'
|
|
80
|
-
|
|
79
|
+
this.renderAlignmentField(['left', 'center', 'right', 'justify'], 'align-', 'textAlign', {
|
|
80
|
+
left: this.translationSlimmer.t('Align text left'),
|
|
81
|
+
center: this.translationSlimmer.t('Align text center'),
|
|
82
|
+
right: this.translationSlimmer.t('Align text right'),
|
|
83
|
+
justify: this.translationSlimmer.t('Justify text'),
|
|
84
|
+
}),
|
|
85
|
+
this.renderAlignmentField(['top', 'middle', 'bottom'], 'align-', 'verticalAlign', {
|
|
86
|
+
top: this.translationSlimmer.t('Align vertically top'),
|
|
87
|
+
middle: this.translationSlimmer.t('Align vertically middle'),
|
|
88
|
+
bottom: this.translationSlimmer.t('Align vertically bottom'),
|
|
89
|
+
}))));
|
|
81
90
|
}
|
|
82
91
|
/**
|
|
83
92
|
* Merge form data with style map for all selected cell blocks.
|
|
@@ -182,11 +182,11 @@ export class VegaRichTextTablePropertiesBaseFormFieldRenderer extends VegaSlimme
|
|
|
182
182
|
h("vega-input", { ref: this.handleFormChange, "data-vega-form": "height", label: "Height", validationRules: this.dimensionFieldValidationRule }),
|
|
183
183
|
withPadding && (h("vega-input", { ref: this.handleFormChange, "data-vega-form": "padding", label: "Padding", validationRules: this.dimensionFieldValidationRule }))));
|
|
184
184
|
}
|
|
185
|
-
renderAlignmentField(alignmentList, iconPrefix, formFieldName) {
|
|
185
|
+
renderAlignmentField(alignmentList, iconPrefix, formFieldName, ariaLabelMap) {
|
|
186
186
|
return (h("vega-flex", { direction: "row", gap: "0", class: "text-alignment-button-group" },
|
|
187
187
|
h("vega-input", { ref: this.handleFormChange, "data-vega-form": formFieldName, type: "hidden" }),
|
|
188
188
|
alignmentList.map((key) => {
|
|
189
|
-
return (h("button", { "data-id": key, "data-form-field-name": formFieldName, class: `text-alignment-${key}`, onClick: this.handleAlignmentButtonClick },
|
|
189
|
+
return (h("button", { "data-id": key, "data-form-field-name": formFieldName, class: `text-alignment-${key}`, "aria-label": ariaLabelMap[key], onClick: this.handleAlignmentButtonClick },
|
|
190
190
|
h("vega-icon", { icon: VegaInternalIconManager.getIconKey(`${iconPrefix}${key}`) })));
|
|
191
191
|
})));
|
|
192
192
|
}
|
|
@@ -274,6 +274,9 @@ __decorate([
|
|
|
274
274
|
__decorate([
|
|
275
275
|
MapToComponentField()
|
|
276
276
|
], VegaRichTextTablePropertiesBaseFormFieldRenderer.prototype, "defaultValue", void 0);
|
|
277
|
+
__decorate([
|
|
278
|
+
MapToComponentField()
|
|
279
|
+
], VegaRichTextTablePropertiesBaseFormFieldRenderer.prototype, "translationSlimmer", void 0);
|
|
277
280
|
__decorate([
|
|
278
281
|
MapToComponentField()
|
|
279
282
|
], VegaRichTextTablePropertiesBaseFormFieldRenderer.prototype, "renderer", void 0);
|
|
@@ -53,6 +53,10 @@ export class VegaRichTextTablePropertiesFormFieldRenderer extends VegaRichTextTa
|
|
|
53
53
|
renderTextAlignmentField() {
|
|
54
54
|
return (h("div", { class: "text-alignment-container" },
|
|
55
55
|
h("vega-font", { variant: "font-field-label", color: "text-primary" }, "Alignment"),
|
|
56
|
-
h("vega-flex", { direction: "row", gap: "size-16" }, this.renderAlignmentField(['left', 'center', 'right'], 'objects-align-', 'textAlign'
|
|
56
|
+
h("vega-flex", { direction: "row", gap: "size-16" }, this.renderAlignmentField(['left', 'center', 'right'], 'objects-align-', 'textAlign', {
|
|
57
|
+
left: this.translationSlimmer.t('Align table left'),
|
|
58
|
+
center: this.translationSlimmer.t('Align table center'),
|
|
59
|
+
right: this.translationSlimmer.t('Align table right'),
|
|
60
|
+
}))));
|
|
57
61
|
}
|
|
58
62
|
}
|
|
@@ -70,6 +70,11 @@
|
|
|
70
70
|
background-color: rgba(var(--v-bg-quaternary, 241, 248, 251, 1));
|
|
71
71
|
z-index: 1;
|
|
72
72
|
}
|
|
73
|
+
:host .text-alignment-button-group button:focus-visible {
|
|
74
|
+
outline: 2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));
|
|
75
|
+
outline-offset: -2px;
|
|
76
|
+
z-index: 2;
|
|
77
|
+
}
|
|
73
78
|
:host .text-alignment-button-group vega-input[value=left] ~ .text-alignment-left,
|
|
74
79
|
:host .text-alignment-button-group vega-input[value=center] ~ .text-alignment-center,
|
|
75
80
|
:host .text-alignment-button-group vega-input[value=right] ~ .text-alignment-right,
|
|
@@ -17,6 +17,7 @@ import { VegaRichTextTablePropertiesFormFieldRenderer } from './slimmers/rendere
|
|
|
17
17
|
import { VegaRichTextCellPropertiesFormFieldRenderer } from './slimmers/renderers/vega-rich-text-cell-properties-form-field-renderer';
|
|
18
18
|
import { VegaInternalThemeManager } from '../../../../../helpers/theme/internal-theme-manager';
|
|
19
19
|
import { DarkModeStateControllerSlimmer } from '../../../../../helpers/slimmers/dark-mode-state-controller-slimmer';
|
|
20
|
+
import { AriaAttributesValueMapper } from '../../../../../helpers/slimmers/mutation-observer/aria-attributes-value-mapper';
|
|
20
21
|
/**
|
|
21
22
|
* @vegaVersion 2.79.0
|
|
22
23
|
*/
|
|
@@ -30,6 +31,17 @@ export class VegaRichTextTableProperties {
|
|
|
30
31
|
this.cellFormRenderer = new VegaRichTextCellPropertiesFormFieldRenderer();
|
|
31
32
|
this.controller = new TableColorController();
|
|
32
33
|
this.darkModeStateSlimmer = new DarkModeStateControllerSlimmer();
|
|
34
|
+
this.ariaAttributesValueMapper = new AriaAttributesValueMapper(() => this.host, {
|
|
35
|
+
'aria-label': {
|
|
36
|
+
dependency: ['data-aria-label'],
|
|
37
|
+
// Derive the fallback accessible name from `type` so the component
|
|
38
|
+
// announces the correct form even when consumers don't set
|
|
39
|
+
// `data-aria-label` explicitly.
|
|
40
|
+
defaultValue: () => this.type === 'CELL'
|
|
41
|
+
? this.translationSlimmer.t('Cell properties')
|
|
42
|
+
: this.translationSlimmer.t('Table properties'),
|
|
43
|
+
},
|
|
44
|
+
});
|
|
33
45
|
this.changeEventPreventSlimmer = new ChildNodesEventPreventSlimmer([VegaChange], () => this.renderer.getFormRef());
|
|
34
46
|
this.isInDarkMode = VegaInternalThemeManager.isDarkMode();
|
|
35
47
|
/**
|
|
@@ -45,7 +57,7 @@ export class VegaRichTextTableProperties {
|
|
|
45
57
|
methodPlaceholder(newValue);
|
|
46
58
|
}
|
|
47
59
|
render() {
|
|
48
|
-
return sanitizeVegaComponent(h(Host,
|
|
60
|
+
return sanitizeVegaComponent(h(Host, { role: "form" }, this.renderer.render()), this.host);
|
|
49
61
|
}
|
|
50
62
|
static get is() { return "vega-rich-text-table-properties"; }
|
|
51
63
|
static get encapsulation() { return "shadow"; }
|
|
@@ -246,6 +258,9 @@ __decorate([
|
|
|
246
258
|
__decorate([
|
|
247
259
|
InjectVegaSlimmer()
|
|
248
260
|
], VegaRichTextTableProperties.prototype, "darkModeStateSlimmer", void 0);
|
|
261
|
+
__decorate([
|
|
262
|
+
InjectVegaSlimmer()
|
|
263
|
+
], VegaRichTextTableProperties.prototype, "ariaAttributesValueMapper", void 0);
|
|
249
264
|
__decorate([
|
|
250
265
|
InjectVegaSlimmer()
|
|
251
266
|
], VegaRichTextTableProperties.prototype, "changeEventPreventSlimmer", void 0);
|
|
@@ -23,6 +23,7 @@ export class ColumnButtonSlimmer extends TableSettingButtonSlimmer {
|
|
|
23
23
|
icon: 'rte-table-column',
|
|
24
24
|
title: 'Column',
|
|
25
25
|
showArrowIcon: true,
|
|
26
|
+
ariaLabel: 'Column Operations',
|
|
26
27
|
});
|
|
27
28
|
this.handleDropdownItemClick = (input) => {
|
|
28
29
|
this.emitClickEvent([TableSettingType.COLUMN, input.detail]);
|
|
@@ -32,7 +33,7 @@ export class ColumnButtonSlimmer extends TableSettingButtonSlimmer {
|
|
|
32
33
|
};
|
|
33
34
|
}
|
|
34
35
|
renderBtnWrapper(renderBtn) {
|
|
35
|
-
return (h("vega-dropdown", { minWidth: 210, trigger: "click", ref: (el) => {
|
|
36
|
+
return (h("vega-dropdown", { role: "presentation", isScreenPosition: true, minWidth: 210, trigger: "click", ref: (el) => {
|
|
36
37
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownClick, this.handleDropdownItemClick);
|
|
37
38
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownShow, this.handleDropdownVisibilityChange);
|
|
38
39
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownHide, this.handleDropdownVisibilityChange);
|
|
@@ -55,15 +56,15 @@ export class ColumnButtonSlimmer extends TableSettingButtonSlimmer {
|
|
|
55
56
|
* @returns {HTMLElement} The action list element.
|
|
56
57
|
*/
|
|
57
58
|
renderActionList() {
|
|
59
|
+
const isHeaderColumnSelected = ToggleHeaderTableColumnStrategy.isFullHeaderSelection(this.selectedCells);
|
|
58
60
|
return (h("div", { tabIndex: 0, role: "menu", slot: "items", onMouseDown: this.preventDefaultEvent, onKeyDown: this.preventDefaultEvent },
|
|
59
|
-
h("vega-dropdown-item", { itemKey: ColumnOperationType.HEADER_COLUMN },
|
|
60
|
-
h("vega-flex", { alignItems: "center", gap: "size-8" },
|
|
61
|
-
h("vega-toggle-switch", { checked:
|
|
62
|
-
|
|
63
|
-
h("vega-dropdown-item", { itemKey: ColumnOperationType.
|
|
64
|
-
h("vega-dropdown-item", { itemKey: ColumnOperationType.
|
|
65
|
-
h("vega-dropdown-item", { itemKey: ColumnOperationType.
|
|
66
|
-
h("vega-dropdown-item", { itemKey: ColumnOperationType.SELECT_COLUMN }, "Select column")));
|
|
61
|
+
h("vega-dropdown-item", { itemKey: ColumnOperationType.HEADER_COLUMN, label: "Header Column" },
|
|
62
|
+
h("vega-flex", { alignItems: "center", gap: "size-8", "aria-hidden": "true" },
|
|
63
|
+
h("vega-toggle-switch", { checked: isHeaderColumnSelected, size: "small", label: "Header Column" }))),
|
|
64
|
+
h("vega-dropdown-item", { itemKey: ColumnOperationType.ADD_COLUMN_LEFT, label: "Insert column left" }, "Insert column left"),
|
|
65
|
+
h("vega-dropdown-item", { itemKey: ColumnOperationType.ADD_COLUMN_RIGHT, label: "Insert column right" }, "Insert column right"),
|
|
66
|
+
h("vega-dropdown-item", { itemKey: ColumnOperationType.DELETE_COLUMN, label: "Delete column", disabled: this.allColumnSelected(this.selectedCells) }, "Delete column"),
|
|
67
|
+
h("vega-dropdown-item", { itemKey: ColumnOperationType.SELECT_COLUMN, label: "Select column" }, "Select column")));
|
|
67
68
|
}
|
|
68
69
|
/**
|
|
69
70
|
* Determine if all columns are selected based on the selected cell range.
|
|
@@ -22,6 +22,7 @@ export class MergeCellsButtonSlimmer extends TableSettingButtonSlimmer {
|
|
|
22
22
|
icon: 'rte-table-merge-cells',
|
|
23
23
|
title: 'Merge cells',
|
|
24
24
|
showArrowIcon: true,
|
|
25
|
+
ariaLabel: 'Merge Cells',
|
|
25
26
|
});
|
|
26
27
|
this.handleDropdownItemClick = (input) => {
|
|
27
28
|
if (Object.values(SplitCellOperationType).includes(input.detail)) {
|
|
@@ -35,7 +36,7 @@ export class MergeCellsButtonSlimmer extends TableSettingButtonSlimmer {
|
|
|
35
36
|
};
|
|
36
37
|
}
|
|
37
38
|
renderBtnWrapper(renderBtn) {
|
|
38
|
-
return (h("vega-dropdown", { minWidth: 150, trigger: "click", ref: (el) => {
|
|
39
|
+
return (h("vega-dropdown", { role: "presentation", isScreenPosition: true, minWidth: 150, trigger: "click", ref: (el) => {
|
|
39
40
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownClick, this.handleDropdownItemClick);
|
|
40
41
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownShow, this.handleDropdownVisibilityChange);
|
|
41
42
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownHide, this.handleDropdownVisibilityChange);
|
|
@@ -68,13 +69,13 @@ export class MergeCellsButtonSlimmer extends TableSettingButtonSlimmer {
|
|
|
68
69
|
renderActionList() {
|
|
69
70
|
const disabledMap = this.getMergeDirectionDisabledMap();
|
|
70
71
|
return (h("div", { tabIndex: 0, role: "menu", slot: "items", onMouseDown: this.preventDefaultEvent, onKeyDown: this.preventDefaultEvent },
|
|
71
|
-
h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELLS }, "Merge cells"),
|
|
72
|
-
h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_UP, disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_UP] }, "Merge cell up"),
|
|
73
|
-
h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_RIGHT, disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_RIGHT] }, "Merge cell right"),
|
|
74
|
-
h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_DOWN, disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_DOWN] }, "Merge cell down"),
|
|
75
|
-
h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_LEFT, disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_LEFT] }, "Merge cell left"),
|
|
76
|
-
h("vega-dropdown-item", { itemKey: SplitCellOperationType.SPLIT_CELL_VERTICALLY, disabled: !this.selectSingleCell() }, "Split cell vertically"),
|
|
77
|
-
h("vega-dropdown-item", { itemKey: SplitCellOperationType.SPLIT_CELL_HORIZONTALLY, disabled: !this.selectSingleCell() }, "Split cell horizontally")));
|
|
72
|
+
h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELLS, label: "Merge cells" }, "Merge cells"),
|
|
73
|
+
h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_UP, label: "Merge cell up", disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_UP] }, "Merge cell up"),
|
|
74
|
+
h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_RIGHT, label: "Merge cell right", disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_RIGHT] }, "Merge cell right"),
|
|
75
|
+
h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_DOWN, label: "Merge cell down", disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_DOWN] }, "Merge cell down"),
|
|
76
|
+
h("vega-dropdown-item", { itemKey: MergeCellsOperationType.MERGE_CELL_LEFT, label: "Merge cell left", disabled: disabledMap[MergeCellsOperationType.MERGE_CELL_LEFT] }, "Merge cell left"),
|
|
77
|
+
h("vega-dropdown-item", { itemKey: SplitCellOperationType.SPLIT_CELL_VERTICALLY, label: "Split cell vertically", disabled: !this.selectSingleCell() }, "Split cell vertically"),
|
|
78
|
+
h("vega-dropdown-item", { itemKey: SplitCellOperationType.SPLIT_CELL_HORIZONTALLY, label: "Split cell horizontally", disabled: !this.selectSingleCell() }, "Split cell horizontally")));
|
|
78
79
|
}
|
|
79
80
|
selectSingleCell() {
|
|
80
81
|
return this.selectedCells.length === 1;
|
|
@@ -1,13 +1,20 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
1
7
|
import { h } from '@stencil/core';
|
|
2
8
|
import { TableSettingButtonSlimmer } from './table-setting-button-slimmer.abstract';
|
|
3
9
|
import { DomNodeSubjectObserverFactory } from '../../../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
4
|
-
import { VegaDropdownClick } from '../../../../../../../helpers/event-manager/event-id/vega-event-id';
|
|
10
|
+
import { VegaDropdownClick, VegaDropdownHide, VegaDropdownShow, } from '../../../../../../../helpers/event-manager/event-id/vega-event-id';
|
|
5
11
|
import { TableSettingType } from '../../../setting-event-handlers/setting-event-handler.abstract';
|
|
6
12
|
import { RowOperationType } from '../../../setting-event-handlers/row-operation';
|
|
7
13
|
import { RTETableHeadBlock } from '../../../dto/table-head-block';
|
|
8
14
|
import { RTETableBlock } from '../../../dto/table-block';
|
|
9
15
|
import { getParentBlockByType } from '../../../utils/utils';
|
|
10
16
|
import { RTETableBodyBlock } from '../../../dto/table-body-block';
|
|
17
|
+
import { MapToComponentField } from 'vega-slimmer/core';
|
|
11
18
|
/**
|
|
12
19
|
* Slimmer dedicated to building the row button.
|
|
13
20
|
*/
|
|
@@ -17,14 +24,20 @@ export class RowButtonSlimmer extends TableSettingButtonSlimmer {
|
|
|
17
24
|
icon: 'rte-table-row',
|
|
18
25
|
title: 'Row',
|
|
19
26
|
showArrowIcon: true,
|
|
27
|
+
ariaLabel: 'Row Operations',
|
|
20
28
|
});
|
|
21
29
|
this.handleDropdownItemClick = (input) => {
|
|
22
30
|
this.emitClickEvent([TableSettingType.ROW, input.detail]);
|
|
23
31
|
};
|
|
32
|
+
this.handleDropdownVisibilityChange = ({ eventName }) => {
|
|
33
|
+
this.isRowDropdownOpen = eventName.toLocaleLowerCase().indexOf('show') >= 0;
|
|
34
|
+
};
|
|
24
35
|
}
|
|
25
36
|
renderBtnWrapper(renderBtn) {
|
|
26
|
-
return (h("vega-dropdown", { minWidth: 180, trigger: "click", ref: (el) => {
|
|
37
|
+
return (h("vega-dropdown", { role: "presentation", isScreenPosition: true, minWidth: 180, trigger: "click", ref: (el) => {
|
|
27
38
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownClick, this.handleDropdownItemClick);
|
|
39
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownShow, this.handleDropdownVisibilityChange);
|
|
40
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, VegaDropdownHide, this.handleDropdownVisibilityChange);
|
|
28
41
|
} },
|
|
29
42
|
renderBtn(),
|
|
30
43
|
this.renderActionList()));
|
|
@@ -46,14 +59,13 @@ export class RowButtonSlimmer extends TableSettingButtonSlimmer {
|
|
|
46
59
|
renderActionList() {
|
|
47
60
|
const shouldChecked = this.areSelectedRowsHeaderRows();
|
|
48
61
|
return (h("div", { tabIndex: 0, role: "menu", slot: "items", onMouseDown: this.preventDefaultEvent, onKeyDown: this.preventDefaultEvent },
|
|
49
|
-
h("vega-dropdown-item", { itemKey: RowOperationType.HEADER_ROW },
|
|
50
|
-
h("vega-flex", { alignItems: "center", direction: "row", gap: "size-8" },
|
|
51
|
-
h("vega-toggle-switch", { key: shouldChecked.toString(), size: "small", checked: shouldChecked }),
|
|
52
|
-
|
|
53
|
-
h("vega-dropdown-item", { itemKey: RowOperationType.
|
|
54
|
-
h("vega-dropdown-item", { itemKey: RowOperationType.
|
|
55
|
-
h("vega-dropdown-item", {
|
|
56
|
-
h("vega-dropdown-item", { itemKey: RowOperationType.SELECT_ROW }, "Select row")));
|
|
62
|
+
h("vega-dropdown-item", { itemKey: RowOperationType.HEADER_ROW, label: "Header Row" },
|
|
63
|
+
h("vega-flex", { alignItems: "center", direction: "row", gap: "size-8", "aria-hidden": "true" },
|
|
64
|
+
h("vega-toggle-switch", { key: shouldChecked.toString(), size: "small", checked: shouldChecked, label: "Header Row" }))),
|
|
65
|
+
h("vega-dropdown-item", { itemKey: RowOperationType.ADD_ROW_ABOVE, label: "Insert row above" }, "Insert row above"),
|
|
66
|
+
h("vega-dropdown-item", { itemKey: RowOperationType.ADD_ROW_BELOW, label: "Insert row below" }, "Insert row below"),
|
|
67
|
+
h("vega-dropdown-item", { disabled: this.areAllRowsSelected(), itemKey: RowOperationType.DELETE_ROW, label: "Delete row" }, "Delete row"),
|
|
68
|
+
h("vega-dropdown-item", { itemKey: RowOperationType.SELECT_ROW, label: "Select row" }, "Select row")));
|
|
57
69
|
}
|
|
58
70
|
/**
|
|
59
71
|
* Check if all selected rows are header rows.
|
|
@@ -101,3 +113,6 @@ export class RowButtonSlimmer extends TableSettingButtonSlimmer {
|
|
|
101
113
|
return Array.from(selectedRows);
|
|
102
114
|
}
|
|
103
115
|
}
|
|
116
|
+
__decorate([
|
|
117
|
+
MapToComponentField({ writable: true })
|
|
118
|
+
], RowButtonSlimmer.prototype, "isRowDropdownOpen", void 0);
|
|
@@ -8,13 +8,13 @@ import { h } from '@stencil/core';
|
|
|
8
8
|
import { VegaInternalIconManager } from '../../../../../../../helpers/icon/internal-icon-manager';
|
|
9
9
|
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
10
10
|
export class TableSettingButtonSlimmer extends VegaSlimmer {
|
|
11
|
-
constructor({ icon, title, showArrowIcon }) {
|
|
11
|
+
constructor({ icon, title, showArrowIcon, ariaLabel }) {
|
|
12
12
|
super();
|
|
13
13
|
this.renderBtn = () => {
|
|
14
14
|
const selected = this.isSelected();
|
|
15
15
|
const disable = this.isDisabled();
|
|
16
|
-
return (h("vega-tooltip", { key: `table-setting-${this.icon}`, text: this.getTitle(), placement: ['bottom', 'top'], trigger: "hover" },
|
|
17
|
-
h("button", { type: "button", class: {
|
|
16
|
+
return (h("vega-tooltip", { role: "presentation", key: `table-setting-${this.icon}`, text: this.getTitle(), placement: ['bottom', 'top'], trigger: "hover" },
|
|
17
|
+
h("button", { type: "button", "aria-label": this.ariaLabel, class: {
|
|
18
18
|
'rte-table-setting-item': true,
|
|
19
19
|
'rte-table-setting-item-disabled': disable,
|
|
20
20
|
'rte-table-setting-item-selected': selected,
|
|
@@ -26,13 +26,14 @@ export class TableSettingButtonSlimmer extends VegaSlimmer {
|
|
|
26
26
|
}
|
|
27
27
|
this.handleClick(event);
|
|
28
28
|
}, onKeyDown: this.preventDefaultEvent, onMouseDown: this.preventDefaultEvent },
|
|
29
|
-
h("vega-flex", { alignItems: "center", justifyContent: "center" },
|
|
29
|
+
h("vega-flex", { alignItems: "center", justifyContent: "center", "aria-hidden": "true" },
|
|
30
30
|
h("vega-icon", { icon: VegaInternalIconManager.getIconKey(this.icon), size: "size-16", color: this.getIconColor() }),
|
|
31
31
|
this.showArrowIcon ? (h("vega-icon", { size: "size-8", style: { marginLeft: '8px' }, icon: VegaInternalIconManager.getIconKey('chevron-down'), color: this.getIconColor() })) : null))));
|
|
32
32
|
};
|
|
33
33
|
this.icon = icon;
|
|
34
34
|
this.title = title;
|
|
35
35
|
this.showArrowIcon = showArrowIcon;
|
|
36
|
+
this.ariaLabel = ariaLabel;
|
|
36
37
|
}
|
|
37
38
|
render() {
|
|
38
39
|
return typeof this.renderBtnWrapper === 'function'
|
|
@@ -16,7 +16,7 @@ const buttonList = [
|
|
|
16
16
|
];
|
|
17
17
|
export class VegaRichTextTableSettingRenderer extends VegaSlimmer {
|
|
18
18
|
render() {
|
|
19
|
-
return (h("
|
|
19
|
+
return (h("div", { class: "rte-table-setting-content" }, buttonList.map((item) => this.renderButton(item))));
|
|
20
20
|
}
|
|
21
21
|
renderButton(item) {
|
|
22
22
|
switch (item) {
|
|
@@ -3,8 +3,14 @@
|
|
|
3
3
|
* Deprecated. Not for use in new websites.
|
|
4
4
|
* https://developer.mozilla.org/en-US/docs/Web/CSS/word-break#break-word
|
|
5
5
|
*/
|
|
6
|
+
:host .rte-table-setting-content {
|
|
7
|
+
display: flex;
|
|
8
|
+
gap: 8px;
|
|
9
|
+
align-items: center;
|
|
10
|
+
}
|
|
6
11
|
:host .rte-table-setting-item {
|
|
7
12
|
border: none;
|
|
13
|
+
border-radius: 4px;
|
|
8
14
|
padding-top: 4px;
|
|
9
15
|
padding-bottom: 4px;
|
|
10
16
|
padding-left: 4px;
|
|
@@ -12,6 +18,10 @@
|
|
|
12
18
|
cursor: pointer;
|
|
13
19
|
background-color: rgba(var(--v-bg-primary, 252, 252, 252, 1));
|
|
14
20
|
}
|
|
21
|
+
:host .rte-table-setting-item:focus {
|
|
22
|
+
outline: 2px solid rgba(var(--v-border-color-action, 19, 98, 226, 1));
|
|
23
|
+
outline-offset: -1px;
|
|
24
|
+
}
|
|
15
25
|
:host .rte-table-setting-item:not(.rte-table-setting-item-disabled, .rte-table-setting-item-selected):hover {
|
|
16
26
|
background-color: rgba(var(--v-bg-quaternary, 241, 248, 251, 1));
|
|
17
27
|
}
|