@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,50 +6,51 @@ const index = require('./index-58ea899e.js');
|
|
|
6
6
|
const globalSlimmerRegistry = require('./global-slimmer-registry-b3bce7e0.js');
|
|
7
7
|
const componentUsageRuntimeMetrics = require('./component-usage-runtime-metrics-389d1548.js');
|
|
8
8
|
const component = require('./component-1e352960.js');
|
|
9
|
-
const accessibility = require('./accessibility-
|
|
9
|
+
const accessibility = require('./accessibility-6ca2a237.js');
|
|
10
10
|
const changeManager = require('./change-manager-a297e4d2.js');
|
|
11
11
|
const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-c82df135.js');
|
|
12
12
|
const vegaInternalEventId = require('./vega-internal-event-id-f4d33037.js');
|
|
13
13
|
const staticSubjectTitle = require('./static-subject-title-70c73b16.js');
|
|
14
|
-
const codeBlock = require('./code-block-
|
|
15
|
-
const
|
|
16
|
-
const
|
|
14
|
+
const codeBlock = require('./code-block-3b42c364.js');
|
|
15
|
+
const typeGuard = require('./type-guard-00b8efc0.js');
|
|
16
|
+
const linkExtension = require('./link-extension-71eeaa9f.js');
|
|
17
17
|
const internalIconManager = require('./internal-icon-manager-40bcac72.js');
|
|
18
|
-
const imageAnnotationAction = require('./image-annotation-action-
|
|
18
|
+
const imageAnnotationAction = require('./image-annotation-action-03d3e01a.js');
|
|
19
19
|
const vegaEventId = require('./vega-event-id-58afed7a.js');
|
|
20
20
|
const misc = require('./misc-3d30df91.js');
|
|
21
21
|
const waitForComponentDidRender = require('./wait-for-component-did-render-44d006ee.js');
|
|
22
|
-
const imageExtension = require('./image-extension-
|
|
23
|
-
const formFieldControllerSlimmer = require('./form-field-controller-slimmer-
|
|
22
|
+
const imageExtension = require('./image-extension-ccda26d3.js');
|
|
23
|
+
const formFieldControllerSlimmer = require('./form-field-controller-slimmer-fbaddc91.js');
|
|
24
24
|
const eventEmitSlimmer = require('./event-emit-slimmer-34aa195e.js');
|
|
25
25
|
const subStateNotifySlimmer = require('./sub-state-notify-slimmer-e264a120.js');
|
|
26
|
-
const contentState = require('./content-state-
|
|
26
|
+
const contentState = require('./content-state-87a06c1a.js');
|
|
27
27
|
const alignLeft = require('./align-left-4a76df69.js');
|
|
28
|
-
const componentValueHistoryControllerSlimmer_abstract = require('./component-value-history-controller-slimmer.abstract-
|
|
28
|
+
const componentValueHistoryControllerSlimmer_abstract = require('./component-value-history-controller-slimmer.abstract-bbe3bcaf.js');
|
|
29
29
|
const observer = require('./observer-f49483e8.js');
|
|
30
30
|
const timer = require('./timer-5f33058b.js');
|
|
31
31
|
const darkModeStateControllerSlimmer = require('./dark-mode-state-controller-slimmer-b454645a.js');
|
|
32
32
|
const ui = require('./ui-c91c37a7.js');
|
|
33
|
-
const richTextEditorRequiredRule = require('./rich-text-editor-required-rule-
|
|
33
|
+
const richTextEditorRequiredRule = require('./rich-text-editor-required-rule-05de7f0c.js');
|
|
34
34
|
const childNodesEventPreventSlimmer = require('./child-nodes-event-prevent-slimmer-e0ac8467.js');
|
|
35
|
-
const translationSlimmer = require('./translation-slimmer-
|
|
36
|
-
const darkModeStyleController = require('./dark-mode-style-controller-
|
|
35
|
+
const translationSlimmer = require('./translation-slimmer-31cd5a57.js');
|
|
36
|
+
const darkModeStyleController = require('./dark-mode-style-controller-f3da3342.js');
|
|
37
37
|
const autoRunWhenReRenderTaskQueueSlimmer_abstract = require('./auto-run-when-re-render-task-queue-slimmer.abstract-5734634d.js');
|
|
38
38
|
const array = require('./array-249289f2.js');
|
|
39
|
+
const object = require('./object-b53e9416.js');
|
|
40
|
+
const ariaAttributesValueMapper = require('./aria-attributes-value-mapper-e8c6b0e0.js');
|
|
39
41
|
const chevronDown = require('./chevron-down-9847bf78.js');
|
|
40
42
|
const chevronUp = require('./chevron-up-21465cf7.js');
|
|
41
43
|
const trashCan = require('./trash-can-46a5e19a.js');
|
|
42
44
|
const remoteInvocationRegistry = require('./remote-invocation-registry-fc22fdd0.js');
|
|
43
45
|
require('./string-39438062.js');
|
|
44
46
|
require('./typography-3ea4fe41.js');
|
|
45
|
-
require('./object-b53e9416.js');
|
|
46
47
|
require('./breakpoints-ebde4837.js');
|
|
47
48
|
require('./ui-32120990.js');
|
|
48
|
-
require('./internal-translation-controller-
|
|
49
|
+
require('./internal-translation-controller-27bfc8c7.js');
|
|
49
50
|
require('./icon-manager-be358b32.js');
|
|
50
51
|
require('./create-public-api-runtime-metrics-slimmer-91b0cbfb.js');
|
|
51
52
|
require('./dynamic-slimmer-f31fdfd7.js');
|
|
52
|
-
require('./index-
|
|
53
|
+
require('./index-5d1adcd1.js');
|
|
53
54
|
require('./try-get-document-c0ebd39a.js');
|
|
54
55
|
require('./page-resize-observer-slimmer-273d62ef.js');
|
|
55
56
|
require('./breakpoints-1cc2c4c6.js');
|
|
@@ -59,9 +60,9 @@ require('./mutation-observer-slimmer-749d5020.js');
|
|
|
59
60
|
require('./mutation-observer-filters-38cebc6d.js');
|
|
60
61
|
require('./sub-state-observer-slimmer-6033b824.js');
|
|
61
62
|
require('./internal-vega-event-manager-7003c84a.js');
|
|
62
|
-
require('./range-
|
|
63
|
-
require('./keyboard-manager-slimmer-
|
|
64
|
-
require('./keyboard-manager-
|
|
63
|
+
require('./range-d29751e3.js');
|
|
64
|
+
require('./keyboard-manager-slimmer-0a4e556d.js');
|
|
65
|
+
require('./keyboard-manager-16e96b62.js');
|
|
65
66
|
require('./vega-env-manager-23b8b23c.js');
|
|
66
67
|
require('./feature-flag-controller-c19d0b58.js');
|
|
67
68
|
require('./index-3ca118c4.js');
|
|
@@ -70,7 +71,7 @@ require('./vega-nonce-manager-df69d3ed.js');
|
|
|
70
71
|
require('./synchronize-task-queue-1ee80e94.js');
|
|
71
72
|
require('./number-4816603d.js');
|
|
72
73
|
|
|
73
|
-
var __decorate$
|
|
74
|
+
var __decorate$I = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
74
75
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
75
76
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
76
77
|
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;
|
|
@@ -91,11 +92,21 @@ class VegaRichTextEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
91
92
|
const containerStyle = this.rows !== undefined
|
|
92
93
|
? { height: this.rows >= 2 ? `${this.rows * codeBlock.VegaRTEOneRowHeightPx}px` : defaultHeight }
|
|
93
94
|
: { minHeight: defaultHeight };
|
|
94
|
-
return (
|
|
95
|
+
return (
|
|
96
|
+
// This container delegates focus to the inner <vega-rich-text-content> editor when
|
|
97
|
+
// clicking anywhere in the editing area. It is a layout wrapper, not an interactive
|
|
98
|
+
// widget, so giving it a widget role (e.g. `textbox`) would expose a second,
|
|
99
|
+
// non-editable textbox that traps VoiceOver focus and prevents typing.
|
|
100
|
+
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
101
|
+
index.h("div", { class: {
|
|
95
102
|
'rich-text-editor-container': true,
|
|
96
103
|
'disabled': this.disabled,
|
|
97
104
|
'vega-hidden': this.sourceView,
|
|
98
|
-
}, style: containerStyle, onClick: this.richTextContentFocus,
|
|
105
|
+
}, style: containerStyle, onClick: this.richTextContentFocus,
|
|
106
|
+
// Keep this wrapper out of the tab order so AT lands directly on the inner text
|
|
107
|
+
// region (focusable via contenteditable when enabled, via tabindex when disabled)
|
|
108
|
+
// rather than announcing this generic wrapper as a group.
|
|
109
|
+
tabIndex: -1, onKeyDown: accessibility.createEnterKeyHandlerToTriggerClick(), ref: (node) => (this.richTextContainerRef = node) },
|
|
99
110
|
index.h("vega-rich-text-content", { ref: (ref) => (this.richTextContentRef = ref), content: this.value, extensions: this.extensions, onScroll: this.notifyContentScrolling }),
|
|
100
111
|
this.renderCharacterCounter()));
|
|
101
112
|
};
|
|
@@ -109,12 +120,20 @@ class VegaRichTextEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
109
120
|
});
|
|
110
121
|
};
|
|
111
122
|
this.renderCharacterCounter = () => {
|
|
123
|
+
if (!this.wordCountController.shouldShowUI()) {
|
|
124
|
+
return null;
|
|
125
|
+
}
|
|
126
|
+
// The word count extension is registered, so the data is guaranteed to be non-null.
|
|
127
|
+
const data = this.wordCountController.getData();
|
|
128
|
+
const isSetMaxChars = typeGuard.isNonNullable(data.maxChars);
|
|
112
129
|
return (index.h("div", { class: {
|
|
113
130
|
'text-editor-counter': true,
|
|
114
|
-
'counter-exceed-max-length':
|
|
115
|
-
}
|
|
116
|
-
index.h("span", null,
|
|
117
|
-
index.h("span", null,
|
|
131
|
+
'counter-exceed-max-length': isSetMaxChars && data.count > data.maxChars,
|
|
132
|
+
} },
|
|
133
|
+
index.h("span", null, data.count),
|
|
134
|
+
isSetMaxChars && index.h("span", null,
|
|
135
|
+
"/",
|
|
136
|
+
data.maxChars)));
|
|
118
137
|
};
|
|
119
138
|
this.renderErrorMessage = () => {
|
|
120
139
|
return index.h("div", { class: "vega-error vega-hidden" });
|
|
@@ -163,6 +182,35 @@ class VegaRichTextEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
163
182
|
return this.richTextContentRef.shadowRoot.querySelector('.rich-text-content');
|
|
164
183
|
}
|
|
165
184
|
}
|
|
185
|
+
/**
|
|
186
|
+
* Re-injects the zero-width space placeholder into empty text spans.
|
|
187
|
+
* When a commit is rejected and the model rolls back unchanged, the framework
|
|
188
|
+
* short-circuits the text diff and leaves the span empty, collapsing the line
|
|
189
|
+
* height, so the placeholder is restored here.
|
|
190
|
+
*/
|
|
191
|
+
restoreEmptyTextPlaceholders() {
|
|
192
|
+
const editableElement = this.getRTEEditableElementRef();
|
|
193
|
+
if (!editableElement) {
|
|
194
|
+
return;
|
|
195
|
+
}
|
|
196
|
+
// The text node will only be rendered as a span and a code.
|
|
197
|
+
editableElement.querySelectorAll('span:empty, code:empty').forEach((element) => {
|
|
198
|
+
const textNode = element.firstChild;
|
|
199
|
+
if (textNode && textNode.nodeType === Node.TEXT_NODE) {
|
|
200
|
+
// Reuse the existing text node, `textContent` would swap in a new one and leave the framework patching a detached node.
|
|
201
|
+
textNode.nodeValue = codeBlock.ZERO_WIDTH_SPACE;
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
element.textContent = codeBlock.ZERO_WIDTH_SPACE;
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
}
|
|
208
|
+
/**
|
|
209
|
+
* Forces a re-render of the rich text content component, which is useful when the content has changed but the framework has not detected it.
|
|
210
|
+
*/
|
|
211
|
+
forceContentRepaint() {
|
|
212
|
+
index.forceUpdate(this.richTextContentRef);
|
|
213
|
+
}
|
|
166
214
|
render() {
|
|
167
215
|
return index.h(index.Host, null, this.renderRichTextEditor());
|
|
168
216
|
}
|
|
@@ -183,59 +231,62 @@ class VegaRichTextEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
183
231
|
this.richTextEditorSourceViewRenderer.render()));
|
|
184
232
|
}
|
|
185
233
|
}
|
|
186
|
-
__decorate$
|
|
234
|
+
__decorate$I([
|
|
187
235
|
globalSlimmerRegistry.MapToComponentField()
|
|
188
236
|
], VegaRichTextEditorRenderer.prototype, "host", void 0);
|
|
189
|
-
__decorate$
|
|
237
|
+
__decorate$I([
|
|
190
238
|
globalSlimmerRegistry.MapToComponentField()
|
|
191
239
|
], VegaRichTextEditorRenderer.prototype, "toolbarRenderer", void 0);
|
|
192
|
-
__decorate$
|
|
240
|
+
__decorate$I([
|
|
193
241
|
globalSlimmerRegistry.MapToComponentField()
|
|
194
242
|
], VegaRichTextEditorRenderer.prototype, "label", void 0);
|
|
195
|
-
__decorate$
|
|
243
|
+
__decorate$I([
|
|
196
244
|
globalSlimmerRegistry.MapToComponentField()
|
|
197
245
|
], VegaRichTextEditorRenderer.prototype, "required", void 0);
|
|
198
|
-
__decorate$
|
|
246
|
+
__decorate$I([
|
|
199
247
|
globalSlimmerRegistry.MapToComponentField()
|
|
200
248
|
], VegaRichTextEditorRenderer.prototype, "optional", void 0);
|
|
201
|
-
__decorate$
|
|
249
|
+
__decorate$I([
|
|
202
250
|
globalSlimmerRegistry.MapToComponentField()
|
|
203
251
|
], VegaRichTextEditorRenderer.prototype, "hint", void 0);
|
|
204
|
-
__decorate$
|
|
252
|
+
__decorate$I([
|
|
205
253
|
globalSlimmerRegistry.MapToComponentField()
|
|
206
254
|
], VegaRichTextEditorRenderer.prototype, "disabled", void 0);
|
|
207
|
-
__decorate$
|
|
255
|
+
__decorate$I([
|
|
208
256
|
globalSlimmerRegistry.MapToComponentField()
|
|
209
257
|
], VegaRichTextEditorRenderer.prototype, "rows", void 0);
|
|
210
|
-
__decorate$
|
|
258
|
+
__decorate$I([
|
|
211
259
|
globalSlimmerRegistry.MapToComponentField()
|
|
212
260
|
], VegaRichTextEditorRenderer.prototype, "placeholder", void 0);
|
|
213
|
-
__decorate$
|
|
261
|
+
__decorate$I([
|
|
214
262
|
globalSlimmerRegistry.MapToComponentField()
|
|
215
263
|
], VegaRichTextEditorRenderer.prototype, "value", void 0);
|
|
216
|
-
__decorate$
|
|
264
|
+
__decorate$I([
|
|
217
265
|
globalSlimmerRegistry.MapToComponentField()
|
|
218
266
|
], VegaRichTextEditorRenderer.prototype, "sourceView", void 0);
|
|
219
|
-
__decorate$
|
|
267
|
+
__decorate$I([
|
|
220
268
|
globalSlimmerRegistry.MapToComponentField()
|
|
221
269
|
], VegaRichTextEditorRenderer.prototype, "toolbarItems", void 0);
|
|
222
|
-
__decorate$
|
|
270
|
+
__decorate$I([
|
|
223
271
|
globalSlimmerRegistry.MapToComponentField()
|
|
224
272
|
], VegaRichTextEditorRenderer.prototype, "sourceEditConfig", void 0);
|
|
225
|
-
__decorate$
|
|
273
|
+
__decorate$I([
|
|
226
274
|
globalSlimmerRegistry.MapToComponentField()
|
|
227
275
|
], VegaRichTextEditorRenderer.prototype, "allowSourceEdit", void 0);
|
|
228
|
-
__decorate$
|
|
276
|
+
__decorate$I([
|
|
229
277
|
globalSlimmerRegistry.MapToComponentField()
|
|
230
278
|
], VegaRichTextEditorRenderer.prototype, "extensions", void 0);
|
|
231
|
-
__decorate$
|
|
279
|
+
__decorate$I([
|
|
280
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
281
|
+
], VegaRichTextEditorRenderer.prototype, "wordCountController", void 0);
|
|
282
|
+
__decorate$I([
|
|
232
283
|
globalSlimmerRegistry.MapToComponentField()
|
|
233
284
|
], VegaRichTextEditorRenderer.prototype, "richTextEditorSourceViewRenderer", void 0);
|
|
234
|
-
__decorate$
|
|
285
|
+
__decorate$I([
|
|
235
286
|
globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
|
|
236
287
|
], VegaRichTextEditorRenderer.prototype, "componentDidRender", null);
|
|
237
288
|
|
|
238
|
-
var __decorate$
|
|
289
|
+
var __decorate$H = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
239
290
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
240
291
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
241
292
|
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;
|
|
@@ -287,14 +338,17 @@ class ToolbarRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
287
338
|
const [renderedItems, totalVisibleCount] = this.renderToolbarItems();
|
|
288
339
|
return (index.h("vega-flex", { gap: "size-8", alignItems: "center", flexWrap: "wrap" },
|
|
289
340
|
this.allowSourceEdit && (index.h(index.Fragment, null,
|
|
290
|
-
index.h("div", { class: "toolbar-btn-group" }, this.sourceEditToolbarButtonSlimmer.render()),
|
|
341
|
+
index.h("div", { class: "toolbar-btn-group", role: "presentation" }, this.sourceEditToolbarButtonSlimmer.render()),
|
|
291
342
|
this.uniqueToolbarItems.length > 0 &&
|
|
292
343
|
totalVisibleCount > 0 &&
|
|
293
344
|
this.renderVegaDivider())),
|
|
294
345
|
renderedItems));
|
|
295
346
|
}
|
|
296
347
|
renderVegaDivider() {
|
|
297
|
-
|
|
348
|
+
// Mark the divider as decorative so screen readers (e.g. VoiceOver
|
|
349
|
+
// on Firefox) skip it when navigating from the Edit Source button
|
|
350
|
+
// to the next toolbar item.
|
|
351
|
+
return (index.h("vega-box", { height: "size-32", "aria-hidden": "true", role: "presentation" },
|
|
298
352
|
index.h("vega-divider", { direction: "vertical" })));
|
|
299
353
|
}
|
|
300
354
|
/**
|
|
@@ -333,81 +387,81 @@ class ToolbarRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
333
387
|
return null;
|
|
334
388
|
})
|
|
335
389
|
.filter(typeGuard.isNonNullable);
|
|
336
|
-
return (index.h("div", { class: { 'toolbar-btn-group': true, 'vega-hidden': visibleCountPerGroup < 1 } }, groupElement));
|
|
390
|
+
return (index.h("div", { class: { 'toolbar-btn-group': true, 'vega-hidden': visibleCountPerGroup < 1 }, role: "presentation" }, groupElement));
|
|
337
391
|
});
|
|
338
392
|
return [renderedItems, totalVisibleCount];
|
|
339
393
|
}
|
|
340
394
|
}
|
|
341
|
-
__decorate$
|
|
395
|
+
__decorate$H([
|
|
342
396
|
globalSlimmerRegistry.MapToComponentField()
|
|
343
397
|
], ToolbarRenderer.prototype, "uniqueToolbarItems", void 0);
|
|
344
|
-
__decorate$
|
|
398
|
+
__decorate$H([
|
|
345
399
|
globalSlimmerRegistry.MapToComponentField()
|
|
346
400
|
], ToolbarRenderer.prototype, "allowSourceEdit", void 0);
|
|
347
|
-
__decorate$
|
|
401
|
+
__decorate$H([
|
|
348
402
|
globalSlimmerRegistry.MapToComponentField()
|
|
349
403
|
], ToolbarRenderer.prototype, "host", void 0);
|
|
350
|
-
__decorate$
|
|
404
|
+
__decorate$H([
|
|
351
405
|
globalSlimmerRegistry.MapToComponentField()
|
|
352
406
|
], ToolbarRenderer.prototype, "clearStyleToolbarButtonSlimmer", void 0);
|
|
353
|
-
__decorate$
|
|
407
|
+
__decorate$H([
|
|
354
408
|
globalSlimmerRegistry.MapToComponentField()
|
|
355
409
|
], ToolbarRenderer.prototype, "boldToolbarButtonSlimmer", void 0);
|
|
356
|
-
__decorate$
|
|
410
|
+
__decorate$H([
|
|
357
411
|
globalSlimmerRegistry.MapToComponentField()
|
|
358
412
|
], ToolbarRenderer.prototype, "textStylesToolbarButtonSlimmer", void 0);
|
|
359
|
-
__decorate$
|
|
413
|
+
__decorate$H([
|
|
360
414
|
globalSlimmerRegistry.MapToComponentField()
|
|
361
415
|
], ToolbarRenderer.prototype, "italicToolbarButtonSlimmer", void 0);
|
|
362
|
-
__decorate$
|
|
416
|
+
__decorate$H([
|
|
363
417
|
globalSlimmerRegistry.MapToComponentField()
|
|
364
418
|
], ToolbarRenderer.prototype, "underlineToolbarButtonSlimmer", void 0);
|
|
365
|
-
__decorate$
|
|
419
|
+
__decorate$H([
|
|
366
420
|
globalSlimmerRegistry.MapToComponentField()
|
|
367
421
|
], ToolbarRenderer.prototype, "textColorToolbarButtonSlimmer", void 0);
|
|
368
|
-
__decorate$
|
|
422
|
+
__decorate$H([
|
|
369
423
|
globalSlimmerRegistry.MapToComponentField()
|
|
370
424
|
], ToolbarRenderer.prototype, "bulletsNumbersToolbarButtonSlimmer", void 0);
|
|
371
|
-
__decorate$
|
|
425
|
+
__decorate$H([
|
|
372
426
|
globalSlimmerRegistry.MapToComponentField()
|
|
373
427
|
], ToolbarRenderer.prototype, "horizontalAlignmentToolbarButtonSlimmer", void 0);
|
|
374
|
-
__decorate$
|
|
428
|
+
__decorate$H([
|
|
375
429
|
globalSlimmerRegistry.MapToComponentField()
|
|
376
430
|
], ToolbarRenderer.prototype, "strikethroughToolbarButtonSlimmer", void 0);
|
|
377
|
-
__decorate$
|
|
431
|
+
__decorate$H([
|
|
378
432
|
globalSlimmerRegistry.MapToComponentField()
|
|
379
433
|
], ToolbarRenderer.prototype, "imageToolbarButtonSlimmer", void 0);
|
|
380
|
-
__decorate$
|
|
434
|
+
__decorate$H([
|
|
381
435
|
globalSlimmerRegistry.MapToComponentField()
|
|
382
436
|
], ToolbarRenderer.prototype, "moreIndentToolbarButtonSlimmer", void 0);
|
|
383
|
-
__decorate$
|
|
437
|
+
__decorate$H([
|
|
384
438
|
globalSlimmerRegistry.MapToComponentField()
|
|
385
439
|
], ToolbarRenderer.prototype, "lessIndentToolbarButtonSlimmer", void 0);
|
|
386
|
-
__decorate$
|
|
440
|
+
__decorate$H([
|
|
387
441
|
globalSlimmerRegistry.MapToComponentField()
|
|
388
442
|
], ToolbarRenderer.prototype, "codeToolbarButtonSlimmer", void 0);
|
|
389
|
-
__decorate$
|
|
443
|
+
__decorate$H([
|
|
390
444
|
globalSlimmerRegistry.MapToComponentField()
|
|
391
445
|
], ToolbarRenderer.prototype, "linkToolbarButtonSlimmer", void 0);
|
|
392
|
-
__decorate$
|
|
446
|
+
__decorate$H([
|
|
393
447
|
globalSlimmerRegistry.MapToComponentField()
|
|
394
448
|
], ToolbarRenderer.prototype, "codeBlockToolbarButtonSlimmer", void 0);
|
|
395
|
-
__decorate$
|
|
449
|
+
__decorate$H([
|
|
396
450
|
globalSlimmerRegistry.MapToComponentField()
|
|
397
451
|
], ToolbarRenderer.prototype, "undoToolbarButtonSlimmer", void 0);
|
|
398
|
-
__decorate$
|
|
452
|
+
__decorate$H([
|
|
399
453
|
globalSlimmerRegistry.MapToComponentField()
|
|
400
454
|
], ToolbarRenderer.prototype, "redoToolbarButtonSlimmer", void 0);
|
|
401
|
-
__decorate$
|
|
455
|
+
__decorate$H([
|
|
402
456
|
globalSlimmerRegistry.MapToComponentField()
|
|
403
457
|
], ToolbarRenderer.prototype, "sourceEditToolbarButtonSlimmer", void 0);
|
|
404
|
-
__decorate$
|
|
458
|
+
__decorate$H([
|
|
405
459
|
globalSlimmerRegistry.MapToComponentField()
|
|
406
460
|
], ToolbarRenderer.prototype, "selectionController", void 0);
|
|
407
|
-
__decorate$
|
|
461
|
+
__decorate$H([
|
|
408
462
|
globalSlimmerRegistry.MapToComponentField()
|
|
409
463
|
], ToolbarRenderer.prototype, "translationSlimmer", void 0);
|
|
410
|
-
__decorate$
|
|
464
|
+
__decorate$H([
|
|
411
465
|
globalSlimmerRegistry.MapToComponentField()
|
|
412
466
|
], ToolbarRenderer.prototype, "sourceView", void 0);
|
|
413
467
|
|
|
@@ -415,7 +469,7 @@ const bold = {
|
|
|
415
469
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M0 64C0 46.3 14.3 32 32 32H80 96 224c70.7 0 128 57.3 128 128c0 31.3-11.3 60.1-30 82.3c37.1 22.4 62 63.1 62 109.7c0 70.7-57.3 128-128 128H96 80 32c-17.7 0-32-14.3-32-32s14.3-32 32-32H48V256 96H32C14.3 96 0 81.7 0 64zM224 224c35.3 0 64-28.7 64-64s-28.7-64-64-64H112V224H224zM112 288V416H256c35.3 0 64-28.7 64-64s-28.7-64-64-64H224 112z"/></svg>`,
|
|
416
470
|
};
|
|
417
471
|
|
|
418
|
-
var __decorate$
|
|
472
|
+
var __decorate$G = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
419
473
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
420
474
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
421
475
|
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;
|
|
@@ -457,7 +511,7 @@ class BoldToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
457
511
|
(() => {
|
|
458
512
|
internalIconManager.VegaInternalIconManager.register({ bold });
|
|
459
513
|
})();
|
|
460
|
-
__decorate$
|
|
514
|
+
__decorate$G([
|
|
461
515
|
globalSlimmerRegistry.MapToComponentField()
|
|
462
516
|
], BoldToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
463
517
|
|
|
@@ -465,7 +519,7 @@ const italic = {
|
|
|
465
519
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 384 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M128 64c0-17.7 14.3-32 32-32H352c17.7 0 32 14.3 32 32s-14.3 32-32 32H293.3L160 416h64c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H90.7L224 96H160c-17.7 0-32-14.3-32-32z"/></svg>`,
|
|
466
520
|
};
|
|
467
521
|
|
|
468
|
-
var __decorate$
|
|
522
|
+
var __decorate$F = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
469
523
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
470
524
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
471
525
|
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;
|
|
@@ -505,7 +559,7 @@ class ItalicToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbar
|
|
|
505
559
|
(() => {
|
|
506
560
|
internalIconManager.VegaInternalIconManager.register({ italic });
|
|
507
561
|
})();
|
|
508
|
-
__decorate$
|
|
562
|
+
__decorate$F([
|
|
509
563
|
globalSlimmerRegistry.MapToComponentField()
|
|
510
564
|
], ItalicToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
511
565
|
|
|
@@ -513,7 +567,7 @@ const underline = {
|
|
|
513
567
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M16 64c0-17.7 14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H128V224c0 53 43 96 96 96s96-43 96-96V96H304c-17.7 0-32-14.3-32-32s14.3-32 32-32h96c17.7 0 32 14.3 32 32s-14.3 32-32 32H384V224c0 88.4-71.6 160-160 160s-160-71.6-160-160V96H48C30.3 96 16 81.7 16 64zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32z"/></svg>`,
|
|
514
568
|
};
|
|
515
569
|
|
|
516
|
-
var __decorate$
|
|
570
|
+
var __decorate$E = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
517
571
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
518
572
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
519
573
|
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;
|
|
@@ -556,7 +610,7 @@ class UnderlineToolbarButtonSlimmer extends imageAnnotationAction.VisualModeTool
|
|
|
556
610
|
(() => {
|
|
557
611
|
internalIconManager.VegaInternalIconManager.register({ underline });
|
|
558
612
|
})();
|
|
559
|
-
__decorate$
|
|
613
|
+
__decorate$E([
|
|
560
614
|
globalSlimmerRegistry.MapToComponentField()
|
|
561
615
|
], UnderlineToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
562
616
|
|
|
@@ -564,7 +618,7 @@ const textSize = {
|
|
|
564
618
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M64 128V96h96l0 320H128c-17.7 0-32 14.3-32 32s14.3 32 32 32H256c17.7 0 32-14.3 32-32s-14.3-32-32-32H224l0-320h96v32c0 17.7 14.3 32 32 32s32-14.3 32-32V80c0-26.5-21.5-48-48-48H192 48C21.5 32 0 53.5 0 80v48c0 17.7 14.3 32 32 32s32-14.3 32-32zM384 304V288h64l0 128H432c-17.7 0-32 14.3-32 32s14.3 32 32 32h96c17.7 0 32-14.3 32-32s-14.3-32-32-32H512l0-128h64v16c0 17.7 14.3 32 32 32s32-14.3 32-32V272c0-26.5-21.5-48-48-48H368c-26.5 0-48 21.5-48 48v32c0 17.7 14.3 32 32 32s32-14.3 32-32z"/></svg>`,
|
|
565
619
|
};
|
|
566
620
|
|
|
567
|
-
var __decorate$
|
|
621
|
+
var __decorate$D = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
568
622
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
569
623
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
570
624
|
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;
|
|
@@ -601,7 +655,7 @@ class TextStylesToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
|
|
|
601
655
|
};
|
|
602
656
|
}
|
|
603
657
|
renderBtnWrapper(renderBtn) {
|
|
604
|
-
return (index.h("vega-dropdown", { selectType: "single", trigger: "click", alignment: "center", isScreenPosition: true, selectedSourceKey: this.getSelectedSourceKey(), ref: (ref) => {
|
|
658
|
+
return (index.h("vega-dropdown", { selectType: "single", trigger: "click", alignment: "center", isScreenPosition: true, role: "presentation", selectedSourceKey: this.getSelectedSourceKey(), ref: (ref) => {
|
|
605
659
|
this.addDropdownObserver(ref);
|
|
606
660
|
} },
|
|
607
661
|
renderBtn({ showArrowIcon: true }),
|
|
@@ -692,13 +746,13 @@ TextStylesToolbarButtonSlimmer.allItems = [
|
|
|
692
746
|
label: 'Paragraph',
|
|
693
747
|
},
|
|
694
748
|
];
|
|
695
|
-
__decorate$
|
|
749
|
+
__decorate$D([
|
|
696
750
|
globalSlimmerRegistry.MapToComponentField()
|
|
697
751
|
], TextStylesToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
698
|
-
__decorate$
|
|
752
|
+
__decorate$D([
|
|
699
753
|
globalSlimmerRegistry.MapToComponentField()
|
|
700
754
|
], TextStylesToolbarButtonSlimmer.prototype, "focusController", void 0);
|
|
701
|
-
__decorate$
|
|
755
|
+
__decorate$D([
|
|
702
756
|
globalSlimmerRegistry.MapToComponentField()
|
|
703
757
|
], TextStylesToolbarButtonSlimmer.prototype, "textStyleItems", void 0);
|
|
704
758
|
|
|
@@ -706,7 +760,7 @@ const TextSlash = {
|
|
|
706
760
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M38.8 5.1C28.4-3.1 13.3-1.2 5.1 9.2S-1.2 34.7 9.2 42.9l592 464c10.4 8.2 25.5 6.3 33.7-4.1s6.3-25.5-4.1-33.7L355.7 253.5 400.2 96H503L497 120.2c-4.3 17.1 6.1 34.5 23.3 38.8s34.5-6.1 38.8-23.3l11-44.1C577.6 61.3 554.7 32 523.5 32H376.1h-.3H204.5c-22 0-41.2 15-46.6 36.4l-6.3 25.2L38.8 5.1zm168 131.7c.1-.3 .2-.7 .3-1L217 96H333.7L301.3 210.8l-94.5-74.1zM243.3 416H192c-17.7 0-32 14.3-32 32s14.3 32 32 32H352c17.7 0 32-14.3 32-32s-14.3-32-32-32H309.8l17.6-62.1L272.9 311 243.3 416z"/></svg>`,
|
|
707
761
|
};
|
|
708
762
|
|
|
709
|
-
var __decorate$
|
|
763
|
+
var __decorate$C = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
710
764
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
711
765
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
712
766
|
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;
|
|
@@ -743,7 +797,7 @@ class ClearStyleToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
|
|
|
743
797
|
'text-slash': TextSlash,
|
|
744
798
|
});
|
|
745
799
|
})();
|
|
746
|
-
__decorate$
|
|
800
|
+
__decorate$C([
|
|
747
801
|
globalSlimmerRegistry.MapToComponentField()
|
|
748
802
|
], ClearStyleToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
749
803
|
|
|
@@ -751,7 +805,7 @@ const codeSimple = {
|
|
|
751
805
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M214.6 118.6c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0l-160 160c-12.5 12.5-12.5 32.8 0 45.3l160 160c12.5 12.5 32.8 12.5 45.3 0s12.5-32.8 0-45.3L77.3 256 214.6 118.6zm146.7 0L498.7 256 361.4 393.4c-12.5 12.5-12.5 32.8 0 45.3s32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3l-160-160c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3z"/></svg>`,
|
|
752
806
|
};
|
|
753
807
|
|
|
754
|
-
var __decorate$
|
|
808
|
+
var __decorate$B = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
755
809
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
756
810
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
757
811
|
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;
|
|
@@ -789,7 +843,7 @@ class CodeToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
789
843
|
(() => {
|
|
790
844
|
internalIconManager.VegaInternalIconManager.register({ 'code-simple': codeSimple });
|
|
791
845
|
})();
|
|
792
|
-
__decorate$
|
|
846
|
+
__decorate$B([
|
|
793
847
|
globalSlimmerRegistry.MapToComponentField()
|
|
794
848
|
], CodeToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
795
849
|
|
|
@@ -797,7 +851,7 @@ const strikethrough = {
|
|
|
797
851
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Free 6.1.1 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) Copyright 2022 Fonticons, Inc. --><path fill="currentColor" d="M332.2 319.9c17.22 12.17 22.33 26.51 18.61 48.21c-3.031 17.59-10.88 29.34-24.72 36.99c-35.44 19.75-108.5 11.96-186-19.68c-16.34-6.686-35.03 1.156-41.72 17.53s1.188 35.05 17.53 41.71c31.75 12.93 95.69 35.37 157.6 35.37c29.62 0 58.81-5.156 83.72-18.96c30.81-17.09 50.44-45.46 56.72-82.11c3.998-23.27 2.168-42.58-3.488-59.05H332.2zM488 239.9l-176.5-.0309c-15.85-5.613-31.83-10.34-46.7-14.62c-85.47-24.62-110.9-39.05-103.7-81.33c2.5-14.53 10.16-25.96 22.72-34.03c20.47-13.15 64.06-23.84 155.4 .3438c17.09 4.531 34.59-5.654 39.13-22.74c4.531-17.09-5.656-34.59-22.75-39.12c-91.31-24.18-160.7-21.62-206.3 7.654C121.8 73.72 103.6 101.1 98.09 133.1C89.26 184.5 107.9 217.3 137.2 239.9L24 239.9c-13.25 0-24 10.75-24 23.1c0 13.25 10.75 23.1 24 23.1h464c13.25 0 24-10.75 24-23.1C512 250.7 501.3 239.9 488 239.9z"/></svg>`,
|
|
798
852
|
};
|
|
799
853
|
|
|
800
|
-
var __decorate$
|
|
854
|
+
var __decorate$A = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
801
855
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
802
856
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
803
857
|
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;
|
|
@@ -840,7 +894,7 @@ class StrikethroughToolbarButtonSlimmer extends imageAnnotationAction.VisualMode
|
|
|
840
894
|
(() => {
|
|
841
895
|
internalIconManager.VegaInternalIconManager.register({ strikethrough });
|
|
842
896
|
})();
|
|
843
|
-
__decorate$
|
|
897
|
+
__decorate$A([
|
|
844
898
|
globalSlimmerRegistry.MapToComponentField()
|
|
845
899
|
], StrikethroughToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
846
900
|
|
|
@@ -848,12 +902,16 @@ const link = {
|
|
|
848
902
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 640 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M562.8 267.7c56.5-56.5 56.5-148 0-204.5c-50-50-128.8-56.5-186.3-15.4l-1.6 1.1c-14.4 10.3-17.7 30.3-7.4 44.6s30.3 17.7 44.6 7.4l1.6-1.1c32.1-22.9 76-19.3 103.8 8.6c31.5 31.5 31.5 82.5 0 114L405.3 334.8c-31.5 31.5-82.5 31.5-114 0c-27.9-27.9-31.5-71.8-8.6-103.8l1.1-1.6c10.3-14.4 6.9-34.4-7.4-44.6s-34.4-6.9-44.6 7.4l-1.1 1.6C189.5 251.2 196 330 246 380c56.5 56.5 148 56.5 204.5 0L562.8 267.7zM43.2 244.3c-56.5 56.5-56.5 148 0 204.5c50 50 128.8 56.5 186.3 15.4l1.6-1.1c14.4-10.3 17.7-30.3 7.4-44.6s-30.3-17.7-44.6-7.4l-1.6 1.1c-32.1 22.9-76 19.3-103.8-8.6C57 372 57 321 88.5 289.5L200.7 177.2c31.5-31.5 82.5-31.5 114 0c27.9 27.9 31.5 71.8 8.6 103.9l-1.1 1.6c-10.3 14.4-6.9 34.4 7.4 44.6s34.4 6.9 44.6-7.4l1.1-1.6C416.5 260.8 410 182 360 132c-56.5-56.5-148-56.5-204.5 0L43.2 244.3z"/></svg>`,
|
|
849
903
|
};
|
|
850
904
|
|
|
851
|
-
var __decorate$
|
|
905
|
+
var __decorate$z = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
852
906
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
853
907
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
854
908
|
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;
|
|
855
909
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
856
910
|
};
|
|
911
|
+
// One rAF is ~16 ms; 50 ms gives roughly two frames of buffer for the popover's
|
|
912
|
+
// internal focus trap to settle (and for screen readers such as VoiceOver to
|
|
913
|
+
// observe focus on <body>) before we restore focus to the trigger button.
|
|
914
|
+
const FOCUS_RESTORE_DELAY_MS = 50;
|
|
857
915
|
class LinkToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarButtonSlimmer {
|
|
858
916
|
constructor() {
|
|
859
917
|
super({
|
|
@@ -861,7 +919,21 @@ class LinkToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
861
919
|
tooltip: {
|
|
862
920
|
text: 'Link',
|
|
863
921
|
},
|
|
922
|
+
ariaLabel: 'Insert Link',
|
|
864
923
|
});
|
|
924
|
+
// Restoring focus to the link button on Escape: the popover lives in
|
|
925
|
+
// vega-rich-text-link-editor's shadow root and is portalled to <body>, so
|
|
926
|
+
// the popover's built-in focus trap can't put focus back on our trigger.
|
|
927
|
+
// We track an Escape press during the popover lifetime and restore focus
|
|
928
|
+
// on hide; submit / outside-click flows leave the flag false. Stale
|
|
929
|
+
// Escape presses (pressed while the popover was closed) are cleared by
|
|
930
|
+
// `handleWrapperClickCapture` on the next open.
|
|
931
|
+
this.escapePressedDuringPopover = false;
|
|
932
|
+
// Tracks whether the document-level keydown listener has been registered
|
|
933
|
+
// so it can be removed in disconnectedCallback. Without removal, document
|
|
934
|
+
// keeps a strong reference to this slimmer instance after the rich-text
|
|
935
|
+
// editor is destroyed, leaking memory.
|
|
936
|
+
this.documentKeydownRegistered = false;
|
|
865
937
|
this.handleLinkEditorChange = ({ detail, }) => {
|
|
866
938
|
switch (detail.action) {
|
|
867
939
|
case 'link': {
|
|
@@ -886,9 +958,97 @@ class LinkToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
886
958
|
}
|
|
887
959
|
}
|
|
888
960
|
};
|
|
961
|
+
this.handleWrapperClickCapture = () => {
|
|
962
|
+
// Reset the Escape flag for each new open; only an Escape during this
|
|
963
|
+
// popover's lifetime should trigger focus restoration. Activating the
|
|
964
|
+
// trigger via keyboard (Enter / Space on the inner native <button>) also
|
|
965
|
+
// dispatches a synthetic click in the capture phase, so this handler
|
|
966
|
+
// runs in both pointer and keyboard activation paths. Also clears any
|
|
967
|
+
// stale Escape press recorded while the popover was closed. The
|
|
968
|
+
// `vegaPopoverShow` listener provides the same guarantee for
|
|
969
|
+
// programmatic-open paths that don't go through a wrapper click.
|
|
970
|
+
this.escapePressedDuringPopover = false;
|
|
971
|
+
};
|
|
972
|
+
this.handlePopoverShow = () => {
|
|
973
|
+
// Belt-and-suspenders reset for programmatic opens (e.g. an external
|
|
974
|
+
// caller invoking `linkEditorRef.show()`): without this, an Escape press
|
|
975
|
+
// recorded while the popover was previously closed could survive into
|
|
976
|
+
// the new open and trigger a spurious focus restore on the next hide.
|
|
977
|
+
this.escapePressedDuringPopover = false;
|
|
978
|
+
};
|
|
979
|
+
this.handleDocumentKeydown = (event) => {
|
|
980
|
+
// We cannot guard on a local `isPopoverOpen` flag here: vega-popover's
|
|
981
|
+
// own KeyboardManager registers its capture-phase keydown listener on
|
|
982
|
+
// document before this slimmer's listener, so it runs first, calls
|
|
983
|
+
// hidePopover(), and synchronously fires `vegaPopoverHide` — which
|
|
984
|
+
// would flip our flag to closed before this handler ever observes the
|
|
985
|
+
// Escape key. Instead, always record the Escape press; stale presses
|
|
986
|
+
// (made while the popover was closed) are cleared by
|
|
987
|
+
// `handleWrapperClickCapture` on the next open.
|
|
988
|
+
// Use `event.code` for consistency with vega-modal's Escape handling
|
|
989
|
+
// (vega-modal-open-state-controller.ts).
|
|
990
|
+
if (event.code === 'Escape') {
|
|
991
|
+
this.escapePressedDuringPopover = true;
|
|
992
|
+
}
|
|
993
|
+
};
|
|
994
|
+
this.handlePopoverHide = () => {
|
|
995
|
+
// vegaPopoverHide fires synchronously from the popover's own Escape
|
|
996
|
+
// handler — before our document-capture keydown observes the key, and
|
|
997
|
+
// before the popover's internal focus trap settles focus on <body>.
|
|
998
|
+
// Defer the decision/restore past that internal restore.
|
|
999
|
+
// eslint-disable-next-line no-restricted-globals
|
|
1000
|
+
setTimeout(() => {
|
|
1001
|
+
var _a, _b, _c, _d;
|
|
1002
|
+
const shouldRestore = this.escapePressedDuringPopover;
|
|
1003
|
+
this.escapePressedDuringPopover = false;
|
|
1004
|
+
if (shouldRestore) {
|
|
1005
|
+
// The toolbar button uses shadow DOM without delegatesFocus,
|
|
1006
|
+
// so focusing the host is a no-op — focus the inner <button>.
|
|
1007
|
+
// The toolbar button may have been removed from the DOM during
|
|
1008
|
+
// the timeout window (e.g. editor destroyed), so guard each step.
|
|
1009
|
+
/* istanbul ignore next */
|
|
1010
|
+
(_d = (_c = (_b = (_a = this.linkBtnWrapperRef) === null || _a === void 0 ? void 0 : _a.querySelector('vega-rich-text-editor-toolbar-button')) === null || _b === void 0 ? void 0 : _b.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('button')) === null || _d === void 0 ? void 0 : _d.focus();
|
|
1011
|
+
}
|
|
1012
|
+
}, FOCUS_RESTORE_DELAY_MS);
|
|
1013
|
+
};
|
|
1014
|
+
}
|
|
1015
|
+
/**
|
|
1016
|
+
* Component lifecycle - [disconnectedCallback]
|
|
1017
|
+
*
|
|
1018
|
+
* Removes the document-level Escape listener registered in the wrapper
|
|
1019
|
+
* ref callback so the slimmer instance is not retained by document after
|
|
1020
|
+
* the rich-text editor is destroyed.
|
|
1021
|
+
*/
|
|
1022
|
+
disconnectedCallback() {
|
|
1023
|
+
if (this.documentKeydownRegistered) {
|
|
1024
|
+
// eslint-disable-next-line no-restricted-globals
|
|
1025
|
+
document.removeEventListener('keydown', this.handleDocumentKeydown, { capture: true });
|
|
1026
|
+
this.documentKeydownRegistered = false;
|
|
1027
|
+
}
|
|
1028
|
+
this.linkBtnWrapperRef = undefined;
|
|
889
1029
|
}
|
|
890
1030
|
renderBtnWrapper(renderBtn) {
|
|
891
|
-
return (index.h("div", { class: "toolbar-btn-link-wrapper", ref: (ref) =>
|
|
1031
|
+
return (index.h("div", { class: "toolbar-btn-link-wrapper", role: "presentation", ref: (ref) => {
|
|
1032
|
+
if (ref && ref !== this.linkBtnWrapperRef) {
|
|
1033
|
+
this.linkBtnWrapperRef = ref;
|
|
1034
|
+
ref.addEventListener('click', this.handleWrapperClickCapture, { capture: true });
|
|
1035
|
+
// `vegaPopoverShow` clears any stale Escape recorded while the
|
|
1036
|
+
// popover was closed, covering programmatic-open paths
|
|
1037
|
+
// (e.g. linkEditorRef.show()) where no wrapper click fires.
|
|
1038
|
+
ref.addEventListener('vegaPopoverShow', this.handlePopoverShow);
|
|
1039
|
+
ref.addEventListener('vegaPopoverHide', this.handlePopoverHide);
|
|
1040
|
+
// Esc inside the portalled popover doesn't bubble to the wrapper,
|
|
1041
|
+
// so observe it on document capture. Tracked so it can be removed
|
|
1042
|
+
// in disconnectedCallback to avoid leaking this slimmer instance.
|
|
1043
|
+
if (!this.documentKeydownRegistered) {
|
|
1044
|
+
// eslint-disable-next-line no-restricted-globals
|
|
1045
|
+
document.addEventListener('keydown', this.handleDocumentKeydown, {
|
|
1046
|
+
capture: true,
|
|
1047
|
+
});
|
|
1048
|
+
this.documentKeydownRegistered = true;
|
|
1049
|
+
}
|
|
1050
|
+
}
|
|
1051
|
+
} },
|
|
892
1052
|
renderBtn(),
|
|
893
1053
|
index.h("vega-rich-text-link-editor", { resetStatusAfterHide: false, status: "linkEdit", ref: (ref) => {
|
|
894
1054
|
if (ref) {
|
|
@@ -937,15 +1097,18 @@ class LinkToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
937
1097
|
(() => {
|
|
938
1098
|
internalIconManager.VegaInternalIconManager.register({ link: link });
|
|
939
1099
|
})();
|
|
940
|
-
__decorate$
|
|
1100
|
+
__decorate$z([
|
|
941
1101
|
globalSlimmerRegistry.MapToComponentField()
|
|
942
1102
|
], LinkToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1103
|
+
__decorate$z([
|
|
1104
|
+
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
1105
|
+
], LinkToolbarButtonSlimmer.prototype, "disconnectedCallback", null);
|
|
943
1106
|
|
|
944
1107
|
const indent = {
|
|
945
1108
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M0 64C0 46.3 14.3 32 32 32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 96 0 81.7 0 64zM192 192c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32zm32 96H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H224c-17.7 0-32-14.3-32-32s14.3-32 32-32zM0 448c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM127.8 268.6L25.8 347.9C15.3 356.1 0 348.6 0 335.3V176.7c0-13.3 15.3-20.8 25.8-12.6l101.9 79.3c8.2 6.4 8.2 18.9 0 25.3z"/></svg>`,
|
|
946
1109
|
};
|
|
947
1110
|
|
|
948
|
-
var __decorate$
|
|
1111
|
+
var __decorate$y = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
949
1112
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
950
1113
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
951
1114
|
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;
|
|
@@ -979,7 +1142,7 @@ class MoreIndentToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
|
|
|
979
1142
|
(() => {
|
|
980
1143
|
internalIconManager.VegaInternalIconManager.register({ indent: indent });
|
|
981
1144
|
})();
|
|
982
|
-
__decorate$
|
|
1145
|
+
__decorate$y([
|
|
983
1146
|
globalSlimmerRegistry.MapToComponentField()
|
|
984
1147
|
], MoreIndentToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
985
1148
|
|
|
@@ -987,7 +1150,7 @@ const outdent = {
|
|
|
987
1150
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M6 64C6 46.3 20.3 32 38 32H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H38C20.3 96 6 81.7 6 64zM198 192c0-17.7 14.3-32 32-32H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H230c-17.7 0-32-14.3-32-32zm32 96H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H230c-17.7 0-32-14.3-32-32s14.3-32 32-32zM6 448c0-17.7 14.3-32 32-32H422c17.7 0 32 14.3 32 32s-14.3 32-32 32H38c-17.7 0-32-14.3-32-32zm.2-179.4c-8.2-6.4-8.2-18.9 0-25.3l101.9-79.3c10.5-8.2 25.8-.7 25.8 12.6V335.3c0 13.3-15.3 20.8-25.8 12.6L6.2 268.6z"/></svg>`,
|
|
988
1151
|
};
|
|
989
1152
|
|
|
990
|
-
var __decorate$
|
|
1153
|
+
var __decorate$x = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
991
1154
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
992
1155
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
993
1156
|
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;
|
|
@@ -1022,7 +1185,7 @@ class LessIndentToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
|
|
|
1022
1185
|
(() => {
|
|
1023
1186
|
internalIconManager.VegaInternalIconManager.register({ outdent: outdent });
|
|
1024
1187
|
})();
|
|
1025
|
-
__decorate$
|
|
1188
|
+
__decorate$x([
|
|
1026
1189
|
globalSlimmerRegistry.MapToComponentField()
|
|
1027
1190
|
], LessIndentToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1028
1191
|
|
|
@@ -1043,7 +1206,7 @@ class ImageUpdateUrlAction extends codeBlock.ModifyContentAction {
|
|
|
1043
1206
|
}
|
|
1044
1207
|
}
|
|
1045
1208
|
|
|
1046
|
-
var __decorate$
|
|
1209
|
+
var __decorate$w = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1047
1210
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1048
1211
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1049
1212
|
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;
|
|
@@ -1055,6 +1218,7 @@ class ImageToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarB
|
|
|
1055
1218
|
icon: 'image',
|
|
1056
1219
|
tooltip: { text: 'Image' },
|
|
1057
1220
|
autoFocusOnClick: false,
|
|
1221
|
+
ariaLabel: 'Insert Image',
|
|
1058
1222
|
});
|
|
1059
1223
|
this.insertURLImage = async () => {
|
|
1060
1224
|
const url = this.normalizeSafeImageUrl(this.insertURLInputRef.value);
|
|
@@ -1109,8 +1273,8 @@ class ImageToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarB
|
|
|
1109
1273
|
if (!shouldRenderUpload && !shouldRenderUrlInsertion) {
|
|
1110
1274
|
return null;
|
|
1111
1275
|
}
|
|
1112
|
-
return (index.h("vega-box",
|
|
1113
|
-
shouldRenderDropdown ? (index.h("vega-dropdown", { selectType: "none", trigger: "click", alignment: "center", isScreenPosition: true, ref: (ref) => {
|
|
1276
|
+
return (index.h("vega-box", { role: "presentation" },
|
|
1277
|
+
shouldRenderDropdown ? (index.h("vega-dropdown", { selectType: "none", trigger: "click", alignment: "center", isScreenPosition: true, role: "presentation", ref: (ref) => {
|
|
1114
1278
|
this.dropdownRef = ref;
|
|
1115
1279
|
this.addDropdownObserver(ref);
|
|
1116
1280
|
} },
|
|
@@ -1242,16 +1406,16 @@ ImageToolbarButtonSlimmer.allItems = [
|
|
|
1242
1406
|
label: 'Insert via URL',
|
|
1243
1407
|
},
|
|
1244
1408
|
];
|
|
1245
|
-
__decorate$
|
|
1409
|
+
__decorate$w([
|
|
1246
1410
|
globalSlimmerRegistry.MapToComponentField()
|
|
1247
1411
|
], ImageToolbarButtonSlimmer.prototype, "host", void 0);
|
|
1248
|
-
__decorate$
|
|
1412
|
+
__decorate$w([
|
|
1249
1413
|
globalSlimmerRegistry.MapToComponentField()
|
|
1250
1414
|
], ImageToolbarButtonSlimmer.prototype, "insertImageController", void 0);
|
|
1251
|
-
__decorate$
|
|
1415
|
+
__decorate$w([
|
|
1252
1416
|
globalSlimmerRegistry.MapToComponentField()
|
|
1253
1417
|
], ImageToolbarButtonSlimmer.prototype, "imageInsertedEventEmitter", void 0);
|
|
1254
|
-
__decorate$
|
|
1418
|
+
__decorate$w([
|
|
1255
1419
|
globalSlimmerRegistry.MapToComponentField()
|
|
1256
1420
|
], ImageToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1257
1421
|
|
|
@@ -1561,7 +1725,7 @@ class ListShiftTabOutdentHandler extends AbstractListKeyboardHandler {
|
|
|
1561
1725
|
}
|
|
1562
1726
|
}
|
|
1563
1727
|
|
|
1564
|
-
var __decorate$
|
|
1728
|
+
var __decorate$v = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1565
1729
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1566
1730
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1567
1731
|
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;
|
|
@@ -1713,28 +1877,28 @@ class ListKeyboardSlimmer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
1713
1877
|
this.selectionController.enqueueSelectionRangeFutureState(firstNode, Math.min(startOffset, firstNode.getRangeEndOffset()), lastNode, Math.min(endOffset, lastNode.getRangeEndOffset()), true);
|
|
1714
1878
|
}
|
|
1715
1879
|
}
|
|
1716
|
-
__decorate$
|
|
1880
|
+
__decorate$v([
|
|
1717
1881
|
globalSlimmerRegistry.MapToComponentField()
|
|
1718
1882
|
], ListKeyboardSlimmer.prototype, "selectionController", void 0);
|
|
1719
|
-
__decorate$
|
|
1883
|
+
__decorate$v([
|
|
1720
1884
|
globalSlimmerRegistry.MapToComponentField()
|
|
1721
1885
|
], ListKeyboardSlimmer.prototype, "valueController", void 0);
|
|
1722
|
-
__decorate$
|
|
1886
|
+
__decorate$v([
|
|
1723
1887
|
globalSlimmerRegistry.MapToComponentField()
|
|
1724
1888
|
], ListKeyboardSlimmer.prototype, "value", void 0);
|
|
1725
|
-
__decorate$
|
|
1889
|
+
__decorate$v([
|
|
1726
1890
|
globalSlimmerRegistry.MapToComponentField()
|
|
1727
1891
|
], ListKeyboardSlimmer.prototype, "toolbarItems", void 0);
|
|
1728
|
-
__decorate$
|
|
1892
|
+
__decorate$v([
|
|
1729
1893
|
globalSlimmerRegistry.MapToComponentField()
|
|
1730
1894
|
], ListKeyboardSlimmer.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
1731
|
-
__decorate$
|
|
1895
|
+
__decorate$v([
|
|
1732
1896
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
1733
1897
|
], ListKeyboardSlimmer.prototype, "disconnectedCallback", null);
|
|
1734
|
-
__decorate$
|
|
1898
|
+
__decorate$v([
|
|
1735
1899
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
1736
1900
|
], ListKeyboardSlimmer.prototype, "componentDidLoad", null);
|
|
1737
|
-
__decorate$
|
|
1901
|
+
__decorate$v([
|
|
1738
1902
|
globalSlimmerRegistry.MapToComponentMethod('watchToolbarItems')
|
|
1739
1903
|
], ListKeyboardSlimmer.prototype, "watchToolbarItems", null);
|
|
1740
1904
|
|
|
@@ -1751,7 +1915,7 @@ class TransformListAction extends codeBlock.ModifyContentAction {
|
|
|
1751
1915
|
}
|
|
1752
1916
|
}
|
|
1753
1917
|
|
|
1754
|
-
var __decorate$
|
|
1918
|
+
var __decorate$u = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1755
1919
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1756
1920
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1757
1921
|
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;
|
|
@@ -1810,14 +1974,14 @@ class BulletsToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolba
|
|
|
1810
1974
|
}
|
|
1811
1975
|
}
|
|
1812
1976
|
}
|
|
1813
|
-
__decorate$
|
|
1977
|
+
__decorate$u([
|
|
1814
1978
|
globalSlimmerRegistry.MapToComponentField()
|
|
1815
1979
|
], BulletsToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1816
|
-
__decorate$
|
|
1980
|
+
__decorate$u([
|
|
1817
1981
|
globalSlimmerRegistry.MapToComponentField()
|
|
1818
1982
|
], BulletsToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
1819
1983
|
|
|
1820
|
-
var __decorate$
|
|
1984
|
+
var __decorate$t = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1821
1985
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1822
1986
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1823
1987
|
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;
|
|
@@ -1874,14 +2038,14 @@ class NumbersToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolba
|
|
|
1874
2038
|
}
|
|
1875
2039
|
}
|
|
1876
2040
|
}
|
|
1877
|
-
__decorate$
|
|
2041
|
+
__decorate$t([
|
|
1878
2042
|
globalSlimmerRegistry.MapToComponentField()
|
|
1879
2043
|
], NumbersToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1880
|
-
__decorate$
|
|
2044
|
+
__decorate$t([
|
|
1881
2045
|
globalSlimmerRegistry.MapToComponentField()
|
|
1882
2046
|
], NumbersToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
1883
2047
|
|
|
1884
|
-
var __decorate$
|
|
2048
|
+
var __decorate$s = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1885
2049
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
1886
2050
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
1887
2051
|
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;
|
|
@@ -1894,6 +2058,7 @@ class BulletsNumbersToolbarButtonSlimmer extends imageAnnotationAction.VisualMod
|
|
|
1894
2058
|
tooltip: {
|
|
1895
2059
|
text: 'Bullets',
|
|
1896
2060
|
},
|
|
2061
|
+
ariaLabel: 'Bullets and Numbers',
|
|
1897
2062
|
});
|
|
1898
2063
|
this.bulletsToolbarButtonSlimmer = new BulletsToolbarButtonSlimmer();
|
|
1899
2064
|
this.numbersToolbarButtonSlimmer = new NumbersToolbarButtonSlimmer();
|
|
@@ -1912,7 +2077,7 @@ class BulletsNumbersToolbarButtonSlimmer extends imageAnnotationAction.VisualMod
|
|
|
1912
2077
|
}
|
|
1913
2078
|
}
|
|
1914
2079
|
renderBtnWrapper(renderBtn) {
|
|
1915
|
-
return (index.h("vega-popover", { showArrow: false, trigger: "click", placement: "bottom", alignment: "center", isScreenPosition: true, ref: (ref) => (this.popoverRef = ref) },
|
|
2080
|
+
return (index.h("vega-popover", { showArrow: false, trigger: "click", placement: "bottom", alignment: "center", isScreenPosition: true, role: "presentation", ref: (ref) => (this.popoverRef = ref) },
|
|
1916
2081
|
index.h("div", { slot: "popover-content" }, renderBtn({ showArrowIcon: true })),
|
|
1917
2082
|
index.h("div", { slot: "popover" }, this.renderContent())));
|
|
1918
2083
|
}
|
|
@@ -1961,41 +2126,41 @@ class BulletsNumbersToolbarButtonSlimmer extends imageAnnotationAction.VisualMod
|
|
|
1961
2126
|
'list-ol': ListOL,
|
|
1962
2127
|
});
|
|
1963
2128
|
})();
|
|
1964
|
-
__decorate$
|
|
2129
|
+
__decorate$s([
|
|
1965
2130
|
globalSlimmerRegistry.MapToComponentField()
|
|
1966
2131
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
1967
|
-
__decorate$
|
|
2132
|
+
__decorate$s([
|
|
1968
2133
|
globalSlimmerRegistry.MapToComponentField()
|
|
1969
2134
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "valueController", void 0);
|
|
1970
|
-
__decorate$
|
|
2135
|
+
__decorate$s([
|
|
1971
2136
|
globalSlimmerRegistry.MapToComponentField()
|
|
1972
2137
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "value", void 0);
|
|
1973
|
-
__decorate$
|
|
2138
|
+
__decorate$s([
|
|
1974
2139
|
globalSlimmerRegistry.MapToComponentField()
|
|
1975
2140
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "toolbarItems", void 0);
|
|
1976
|
-
__decorate$
|
|
2141
|
+
__decorate$s([
|
|
1977
2142
|
globalSlimmerRegistry.MapToComponentField()
|
|
1978
2143
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
1979
|
-
__decorate$
|
|
2144
|
+
__decorate$s([
|
|
1980
2145
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
1981
2146
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "bulletsToolbarButtonSlimmer", void 0);
|
|
1982
|
-
__decorate$
|
|
2147
|
+
__decorate$s([
|
|
1983
2148
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
1984
2149
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "numbersToolbarButtonSlimmer", void 0);
|
|
1985
|
-
__decorate$
|
|
2150
|
+
__decorate$s([
|
|
1986
2151
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
1987
2152
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "listKeyboardSlimmer", void 0);
|
|
1988
|
-
__decorate$
|
|
2153
|
+
__decorate$s([
|
|
1989
2154
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
1990
2155
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "disconnectedCallback", null);
|
|
1991
|
-
__decorate$
|
|
2156
|
+
__decorate$s([
|
|
1992
2157
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
1993
2158
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "componentDidLoad", null);
|
|
1994
|
-
__decorate$
|
|
2159
|
+
__decorate$s([
|
|
1995
2160
|
globalSlimmerRegistry.MapToComponentMethod('componentWillRender')
|
|
1996
2161
|
], BulletsNumbersToolbarButtonSlimmer.prototype, "componentWillRender", null);
|
|
1997
2162
|
|
|
1998
|
-
var __decorate$
|
|
2163
|
+
var __decorate$r = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
1999
2164
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2000
2165
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2001
2166
|
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;
|
|
@@ -2030,14 +2195,14 @@ class LeftAlignToolbarButtonSlimmer extends imageAnnotationAction.VisualModeTool
|
|
|
2030
2195
|
'align-left': alignLeft.AlignLeft,
|
|
2031
2196
|
});
|
|
2032
2197
|
})();
|
|
2033
|
-
__decorate$
|
|
2198
|
+
__decorate$r([
|
|
2034
2199
|
globalSlimmerRegistry.MapToComponentField()
|
|
2035
2200
|
], LeftAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
2036
|
-
__decorate$
|
|
2201
|
+
__decorate$r([
|
|
2037
2202
|
globalSlimmerRegistry.MapToComponentField()
|
|
2038
2203
|
], LeftAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
2039
2204
|
|
|
2040
|
-
var __decorate$
|
|
2205
|
+
var __decorate$q = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
2041
2206
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2042
2207
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2043
2208
|
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;
|
|
@@ -2072,14 +2237,14 @@ class CenterAlignToolbarButtonSlimmer extends imageAnnotationAction.VisualModeTo
|
|
|
2072
2237
|
'align-center': alignLeft.AlignCenter,
|
|
2073
2238
|
});
|
|
2074
2239
|
})();
|
|
2075
|
-
__decorate$
|
|
2240
|
+
__decorate$q([
|
|
2076
2241
|
globalSlimmerRegistry.MapToComponentField()
|
|
2077
2242
|
], CenterAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
2078
|
-
__decorate$
|
|
2243
|
+
__decorate$q([
|
|
2079
2244
|
globalSlimmerRegistry.MapToComponentField()
|
|
2080
2245
|
], CenterAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
2081
2246
|
|
|
2082
|
-
var __decorate$
|
|
2247
|
+
var __decorate$p = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
2083
2248
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2084
2249
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2085
2250
|
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;
|
|
@@ -2114,14 +2279,14 @@ class RightAlignToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToo
|
|
|
2114
2279
|
'align-right': alignLeft.AlignRight,
|
|
2115
2280
|
});
|
|
2116
2281
|
})();
|
|
2117
|
-
__decorate$
|
|
2282
|
+
__decorate$p([
|
|
2118
2283
|
globalSlimmerRegistry.MapToComponentField()
|
|
2119
2284
|
], RightAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
2120
|
-
__decorate$
|
|
2285
|
+
__decorate$p([
|
|
2121
2286
|
globalSlimmerRegistry.MapToComponentField()
|
|
2122
2287
|
], RightAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
2123
2288
|
|
|
2124
|
-
var __decorate$
|
|
2289
|
+
var __decorate$o = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
2125
2290
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2126
2291
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2127
2292
|
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;
|
|
@@ -2156,14 +2321,14 @@ class JustifyAlignToolbarButtonSlimmer extends imageAnnotationAction.VisualModeT
|
|
|
2156
2321
|
'align-justify': alignLeft.AlignJustify,
|
|
2157
2322
|
});
|
|
2158
2323
|
})();
|
|
2159
|
-
__decorate$
|
|
2324
|
+
__decorate$o([
|
|
2160
2325
|
globalSlimmerRegistry.MapToComponentField()
|
|
2161
2326
|
], JustifyAlignToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
2162
|
-
__decorate$
|
|
2327
|
+
__decorate$o([
|
|
2163
2328
|
globalSlimmerRegistry.MapToComponentField()
|
|
2164
2329
|
], JustifyAlignToolbarButtonSlimmer.prototype, "popoverRef", void 0);
|
|
2165
2330
|
|
|
2166
|
-
var __decorate$
|
|
2331
|
+
var __decorate$n = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
2167
2332
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2168
2333
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2169
2334
|
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;
|
|
@@ -2176,6 +2341,7 @@ class HorizontalAlignmentToolbarButtonSlimmer extends imageAnnotationAction.Visu
|
|
|
2176
2341
|
tooltip: {
|
|
2177
2342
|
text: 'Left Align',
|
|
2178
2343
|
},
|
|
2344
|
+
ariaLabel: 'Horizontal Alignment',
|
|
2179
2345
|
});
|
|
2180
2346
|
this.leftAlignToolbarButtonSlimmer = new LeftAlignToolbarButtonSlimmer();
|
|
2181
2347
|
this.centerAlignToolbarButtonSlimmer = new CenterAlignToolbarButtonSlimmer();
|
|
@@ -2200,7 +2366,7 @@ class HorizontalAlignmentToolbarButtonSlimmer extends imageAnnotationAction.Visu
|
|
|
2200
2366
|
}
|
|
2201
2367
|
}
|
|
2202
2368
|
renderBtnWrapper(renderBtn) {
|
|
2203
|
-
return (index.h("vega-popover", { trigger: "click", showArrow: false, alignment: "center", placement: "bottom", isScreenPosition: true, ref: (ref) => (this.popoverRef = ref) },
|
|
2369
|
+
return (index.h("vega-popover", { trigger: "click", showArrow: false, alignment: "center", placement: "bottom", isScreenPosition: true, role: "presentation", ref: (ref) => (this.popoverRef = ref) },
|
|
2204
2370
|
index.h("div", { slot: "popover-content" }, renderBtn({ showArrowIcon: true })),
|
|
2205
2371
|
index.h("div", { slot: "popover" }, this.renderContent())));
|
|
2206
2372
|
}
|
|
@@ -2221,22 +2387,22 @@ class HorizontalAlignmentToolbarButtonSlimmer extends imageAnnotationAction.Visu
|
|
|
2221
2387
|
.some((block) => this.shouldDisabledToolbar(block, codeBlock.HorizontalAlignmentAnnotationAction.name)));
|
|
2222
2388
|
}
|
|
2223
2389
|
}
|
|
2224
|
-
__decorate$
|
|
2390
|
+
__decorate$n([
|
|
2225
2391
|
globalSlimmerRegistry.MapToComponentField()
|
|
2226
2392
|
], HorizontalAlignmentToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
2227
|
-
__decorate$
|
|
2393
|
+
__decorate$n([
|
|
2228
2394
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
2229
2395
|
], HorizontalAlignmentToolbarButtonSlimmer.prototype, "leftAlignToolbarButtonSlimmer", void 0);
|
|
2230
|
-
__decorate$
|
|
2396
|
+
__decorate$n([
|
|
2231
2397
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
2232
2398
|
], HorizontalAlignmentToolbarButtonSlimmer.prototype, "centerAlignToolbarButtonSlimmer", void 0);
|
|
2233
|
-
__decorate$
|
|
2399
|
+
__decorate$n([
|
|
2234
2400
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
2235
2401
|
], HorizontalAlignmentToolbarButtonSlimmer.prototype, "rightAlignToolbarButtonSlimmer", void 0);
|
|
2236
|
-
__decorate$
|
|
2402
|
+
__decorate$n([
|
|
2237
2403
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
2238
2404
|
], HorizontalAlignmentToolbarButtonSlimmer.prototype, "justifiedToolbarButtonSlimmer", void 0);
|
|
2239
|
-
__decorate$
|
|
2405
|
+
__decorate$n([
|
|
2240
2406
|
globalSlimmerRegistry.MapToComponentMethod('componentWillRender')
|
|
2241
2407
|
], HorizontalAlignmentToolbarButtonSlimmer.prototype, "componentWillRender", null);
|
|
2242
2408
|
|
|
@@ -2277,7 +2443,7 @@ class RTEEditorState {
|
|
|
2277
2443
|
}
|
|
2278
2444
|
}
|
|
2279
2445
|
|
|
2280
|
-
var __decorate$
|
|
2446
|
+
var __decorate$m = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
2281
2447
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
2282
2448
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
2283
2449
|
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;
|
|
@@ -2287,6 +2453,11 @@ var __decorate$l = (undefined && undefined.__decorate) || function (decorators,
|
|
|
2287
2453
|
* The value controller is responsible for updating the value of the rich text editor.
|
|
2288
2454
|
*/
|
|
2289
2455
|
class ValueController extends globalSlimmerRegistry.VegaSlimmer {
|
|
2456
|
+
constructor() {
|
|
2457
|
+
super(...arguments);
|
|
2458
|
+
// Deep clone of the last committed value, kept only while a commit validator is active, used to roll back rejected changes.
|
|
2459
|
+
this.committedSnapshot = null;
|
|
2460
|
+
}
|
|
2290
2461
|
/**
|
|
2291
2462
|
* Component lifecycle - [connectedCallback]{@link VegaRichTextEditor.connectedCallback}
|
|
2292
2463
|
*/
|
|
@@ -2331,15 +2502,47 @@ class ValueController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
2331
2502
|
});
|
|
2332
2503
|
}
|
|
2333
2504
|
this.registerEditorRefAndContent();
|
|
2505
|
+
this.seedCommittedSnapshot();
|
|
2506
|
+
}
|
|
2507
|
+
/**
|
|
2508
|
+
* Seeds the rollback snapshot from the current value while a commit interceptor is active.
|
|
2509
|
+
* Runs on load and on extension changes so runtime re-registration stays protected.
|
|
2510
|
+
*/
|
|
2511
|
+
seedCommittedSnapshot() {
|
|
2512
|
+
if (this.wordCountController.hasWordCountHardLimit()) {
|
|
2513
|
+
this.committedSnapshot = this.value ? this.value.clone(true) : null;
|
|
2514
|
+
}
|
|
2334
2515
|
}
|
|
2335
2516
|
/**
|
|
2336
2517
|
* Updates the value of the editor and restore the selection.
|
|
2337
2518
|
*
|
|
2338
2519
|
* @param {VegaRTEContent} newValue The new value to set.
|
|
2339
2520
|
* @param {boolean} recordHistory - Whether to record the change in history.
|
|
2340
|
-
|
|
2341
|
-
|
|
2342
|
-
|
|
2521
|
+
* @param {RTEUpdateSource} updateSource - The source of the update, defaulting to 'default'.
|
|
2522
|
+
*/
|
|
2523
|
+
async flushChanges(newValue, recordHistory = true, updateSource = codeBlock.RTEUpdateSource.Default) {
|
|
2524
|
+
const previous = this.committedSnapshot;
|
|
2525
|
+
const action = new contentState.CommitValueAction(newValue, previous, this.host);
|
|
2526
|
+
const committed = codeBlock.ActionHandleStrategyRegistry.executeTheStrategy(action, newValue);
|
|
2527
|
+
if (!committed) {
|
|
2528
|
+
if (updateSource === codeBlock.RTEUpdateSource.Composition) {
|
|
2529
|
+
// The composition input characters cannot be deleted, so we force a repaint to restore the content from the model.
|
|
2530
|
+
this.vegaRichTextEditorRenderer.forceContentRepaint();
|
|
2531
|
+
}
|
|
2532
|
+
else {
|
|
2533
|
+
// The commit was vetoed, so restore the placeholder the framework skipped repainting and roll back.
|
|
2534
|
+
this.vegaRichTextEditorRenderer.restoreEmptyTextPlaceholders();
|
|
2535
|
+
}
|
|
2536
|
+
// Deep clone so the rolled-back value never shares nodes with the snapshot, which in-place edits would otherwise corrupt.
|
|
2537
|
+
this.value = (previous !== null && previous !== void 0 ? previous : newValue).clone(true);
|
|
2538
|
+
if (previous) {
|
|
2539
|
+
// Seed the snapshot again so the next commit attempt has a valid rollback point.
|
|
2540
|
+
this.seedCommittedSnapshot();
|
|
2541
|
+
}
|
|
2542
|
+
await waitForComponentDidRender.waitForComponentDidRender(this.host);
|
|
2543
|
+
return;
|
|
2544
|
+
}
|
|
2545
|
+
this.value = committed.clone();
|
|
2343
2546
|
if (recordHistory) {
|
|
2344
2547
|
this.historyController.registerHistory(new RTEEditorState(this.value, new componentValueHistoryControllerSlimmer_abstract.RTESelectionState(this.selectionController.getCurrentRange())));
|
|
2345
2548
|
}
|
|
@@ -2363,39 +2566,49 @@ class ValueController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
2363
2566
|
}
|
|
2364
2567
|
}
|
|
2365
2568
|
ValueController.VALUE_CHANGE_DEBOUNCE_TIME = 50;
|
|
2366
|
-
__decorate$
|
|
2569
|
+
__decorate$m([
|
|
2367
2570
|
globalSlimmerRegistry.MapToComponentField()
|
|
2368
2571
|
], ValueController.prototype, "host", void 0);
|
|
2369
|
-
__decorate$
|
|
2572
|
+
__decorate$m([
|
|
2370
2573
|
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
2371
2574
|
], ValueController.prototype, "value", void 0);
|
|
2372
|
-
__decorate$
|
|
2575
|
+
__decorate$m([
|
|
2373
2576
|
globalSlimmerRegistry.MapToComponentField()
|
|
2374
2577
|
], ValueController.prototype, "changeEventEmitter", void 0);
|
|
2375
|
-
__decorate$
|
|
2578
|
+
__decorate$m([
|
|
2376
2579
|
globalSlimmerRegistry.MapToComponentField()
|
|
2377
2580
|
], ValueController.prototype, "valueController", void 0);
|
|
2378
|
-
__decorate$
|
|
2581
|
+
__decorate$m([
|
|
2379
2582
|
globalSlimmerRegistry.MapToComponentField()
|
|
2380
2583
|
], ValueController.prototype, "historyController", void 0);
|
|
2381
|
-
__decorate$
|
|
2584
|
+
__decorate$m([
|
|
2382
2585
|
globalSlimmerRegistry.MapToComponentField()
|
|
2383
2586
|
], ValueController.prototype, "selectionController", void 0);
|
|
2384
|
-
__decorate$
|
|
2587
|
+
__decorate$m([
|
|
2588
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
2589
|
+
], ValueController.prototype, "wordCountController", void 0);
|
|
2590
|
+
__decorate$m([
|
|
2591
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
2592
|
+
], ValueController.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
2593
|
+
__decorate$m([
|
|
2385
2594
|
globalSlimmerRegistry.MapToComponentField()
|
|
2386
2595
|
], ValueController.prototype, "sourceEditConfig", void 0);
|
|
2387
|
-
__decorate$
|
|
2596
|
+
__decorate$m([
|
|
2388
2597
|
globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
|
|
2389
2598
|
], ValueController.prototype, "connectedCallback", null);
|
|
2390
|
-
__decorate$
|
|
2599
|
+
__decorate$m([
|
|
2391
2600
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
2392
2601
|
], ValueController.prototype, "disconnectedCallback", null);
|
|
2393
|
-
__decorate$
|
|
2602
|
+
__decorate$m([
|
|
2394
2603
|
globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
|
|
2395
2604
|
], ValueController.prototype, "componentWillLoad", null);
|
|
2396
|
-
__decorate$
|
|
2605
|
+
__decorate$m([
|
|
2397
2606
|
globalSlimmerRegistry.MapToComponentMethod('watchValueUpdate')
|
|
2398
2607
|
], ValueController.prototype, "watchValueUpdate", null);
|
|
2608
|
+
__decorate$m([
|
|
2609
|
+
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad'),
|
|
2610
|
+
globalSlimmerRegistry.MapToComponentMethod('watchExtensions')
|
|
2611
|
+
], ValueController.prototype, "seedCommittedSnapshot", null);
|
|
2399
2612
|
|
|
2400
2613
|
/**
|
|
2401
2614
|
* The rich text content controller
|
|
@@ -3227,8 +3440,11 @@ class InsertPasteHandler extends BaseHandler {
|
|
|
3227
3440
|
const body = parsedDoc.body;
|
|
3228
3441
|
// Extract plain text from the parsed document
|
|
3229
3442
|
const plainText = (body.textContent || '').replace(/\r\n?/g, '\n');
|
|
3230
|
-
// Check for rich inline formatting
|
|
3231
|
-
|
|
3443
|
+
// Check for rich inline formatting. Code blocks (`pre` carrying
|
|
3444
|
+
// `data-language`, the marker the code-block strategy recognizes) count as
|
|
3445
|
+
// formatting so they are never flattened to inline plain text, which would
|
|
3446
|
+
// drop the code block on single-line pastes whose text equals the HTML text.
|
|
3447
|
+
let hasFormatting = Boolean(body.querySelector('b,strong,i,em,s,del,strike,u,mark,code,pre[data-language]'));
|
|
3232
3448
|
if (!hasFormatting) {
|
|
3233
3449
|
hasFormatting = Array.from(body.querySelectorAll('span')).some((span) => {
|
|
3234
3450
|
const style = span.getAttribute('style') || span.getAttribute('data-style') || '';
|
|
@@ -3319,9 +3535,18 @@ class InsertPasteHandler extends BaseHandler {
|
|
|
3319
3535
|
context.restore(rootElements);
|
|
3320
3536
|
this.normalizeImportedHtmlArtifacts(parsedDoc.body);
|
|
3321
3537
|
const htmlElements = Array.from(parsedDoc.body.childNodes);
|
|
3322
|
-
|
|
3538
|
+
// Word paste enables custom-annotation processing (skipCustomAnnotations: false)
|
|
3539
|
+
// so that inline styles produced by WordPasteStrategy (colors, font-weight, etc.)
|
|
3540
|
+
// are mapped to RTE annotations. Regular rich paste skips them (undefined → default).
|
|
3541
|
+
const transformOptions = payload.type === codeBlock.RTE_PASTE_MODE_WORD
|
|
3542
|
+
? {
|
|
3543
|
+
autoMatchFormat: true,
|
|
3544
|
+
skipCustomAnnotations: false,
|
|
3545
|
+
}
|
|
3546
|
+
: undefined;
|
|
3547
|
+
const resultBlocks = contentState.ElementToDtoStrategyProcessor.process(htmlElements, transformOptions)
|
|
3323
3548
|
.filter(Boolean)
|
|
3324
|
-
.map((output) => output.toDto())
|
|
3549
|
+
.map((output) => output.toDto(transformOptions))
|
|
3325
3550
|
.filter(Boolean);
|
|
3326
3551
|
// Fallback for synthetic payloads: if strategy conversion yields no blocks
|
|
3327
3552
|
// but we still have plain text, create paragraph/text blocks directly.
|
|
@@ -3590,6 +3815,7 @@ class InsertPasteHandler extends BaseHandler {
|
|
|
3590
3815
|
return {
|
|
3591
3816
|
html: event.dataTransfer.getData('text/html') || eventPayload.html || '',
|
|
3592
3817
|
text: event.dataTransfer.getData('text/plain') || eventPayload.text || '',
|
|
3818
|
+
type: event.dataTransfer.getData(codeBlock.RTE_PASTE_MODE_DATA_TYPE) || '',
|
|
3593
3819
|
};
|
|
3594
3820
|
}
|
|
3595
3821
|
}
|
|
@@ -3887,7 +4113,7 @@ class KeyboardLinkHandler extends BaseHandler {
|
|
|
3887
4113
|
}
|
|
3888
4114
|
}
|
|
3889
4115
|
|
|
3890
|
-
var __decorate$
|
|
4116
|
+
var __decorate$l = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
3891
4117
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3892
4118
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
3893
4119
|
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;
|
|
@@ -3928,6 +4154,7 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
3928
4154
|
}
|
|
3929
4155
|
this.insertCompositionTextController.removeObserver();
|
|
3930
4156
|
let updateFlag = false;
|
|
4157
|
+
let updateSource = codeBlock.RTEUpdateSource.Default;
|
|
3931
4158
|
switch (inputType) {
|
|
3932
4159
|
case 'insertParagraph':
|
|
3933
4160
|
updateFlag = true;
|
|
@@ -3935,6 +4162,10 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
3935
4162
|
break;
|
|
3936
4163
|
case 'insertText':
|
|
3937
4164
|
updateFlag = true;
|
|
4165
|
+
updateSource =
|
|
4166
|
+
e[codeBlock.RTE_UPDATE_SOURCE_KEY] === codeBlock.RTEUpdateSource.Composition
|
|
4167
|
+
? codeBlock.RTEUpdateSource.Composition
|
|
4168
|
+
: codeBlock.RTEUpdateSource.Default;
|
|
3938
4169
|
this.insertTextHandler.execute(this.value, this.selectionController, this.host, e);
|
|
3939
4170
|
break;
|
|
3940
4171
|
case 'insertLineBreak':
|
|
@@ -3955,7 +4186,7 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
3955
4186
|
break;
|
|
3956
4187
|
}
|
|
3957
4188
|
if (updateFlag) {
|
|
3958
|
-
void this.valueController.flushChanges(this.value);
|
|
4189
|
+
void this.valueController.flushChanges(this.value, true, updateSource);
|
|
3959
4190
|
}
|
|
3960
4191
|
};
|
|
3961
4192
|
}
|
|
@@ -4031,28 +4262,28 @@ class UserInputController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
4031
4262
|
return false;
|
|
4032
4263
|
}
|
|
4033
4264
|
}
|
|
4034
|
-
__decorate$
|
|
4265
|
+
__decorate$l([
|
|
4035
4266
|
globalSlimmerRegistry.MapToComponentField()
|
|
4036
4267
|
], UserInputController.prototype, "host", void 0);
|
|
4037
|
-
__decorate$
|
|
4268
|
+
__decorate$l([
|
|
4038
4269
|
globalSlimmerRegistry.MapToComponentField()
|
|
4039
4270
|
], UserInputController.prototype, "value", void 0);
|
|
4040
|
-
__decorate$
|
|
4271
|
+
__decorate$l([
|
|
4041
4272
|
globalSlimmerRegistry.MapToComponentField()
|
|
4042
4273
|
], UserInputController.prototype, "valueController", void 0);
|
|
4043
|
-
__decorate$
|
|
4274
|
+
__decorate$l([
|
|
4044
4275
|
globalSlimmerRegistry.MapToComponentField()
|
|
4045
4276
|
], UserInputController.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
4046
|
-
__decorate$
|
|
4277
|
+
__decorate$l([
|
|
4047
4278
|
globalSlimmerRegistry.MapToComponentField()
|
|
4048
4279
|
], UserInputController.prototype, "selectionController", void 0);
|
|
4049
|
-
__decorate$
|
|
4280
|
+
__decorate$l([
|
|
4050
4281
|
globalSlimmerRegistry.MapToComponentField()
|
|
4051
4282
|
], UserInputController.prototype, "insertCompositionTextController", void 0);
|
|
4052
|
-
__decorate$
|
|
4283
|
+
__decorate$l([
|
|
4053
4284
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
4054
4285
|
], UserInputController.prototype, "addActionListener", null);
|
|
4055
|
-
__decorate$
|
|
4286
|
+
__decorate$l([
|
|
4056
4287
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
4057
4288
|
], UserInputController.prototype, "removeActionListener", null);
|
|
4058
4289
|
|
|
@@ -4072,7 +4303,7 @@ class InsertImageToBlockAction extends codeBlock.ModifyContentAction {
|
|
|
4072
4303
|
}
|
|
4073
4304
|
}
|
|
4074
4305
|
|
|
4075
|
-
var __decorate$
|
|
4306
|
+
var __decorate$k = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4076
4307
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4077
4308
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4078
4309
|
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;
|
|
@@ -4164,26 +4395,26 @@ class InsertImageController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
4164
4395
|
}
|
|
4165
4396
|
}
|
|
4166
4397
|
}
|
|
4167
|
-
__decorate$
|
|
4398
|
+
__decorate$k([
|
|
4168
4399
|
globalSlimmerRegistry.MapToComponentField()
|
|
4169
4400
|
], InsertImageController.prototype, "selectionController", void 0);
|
|
4170
|
-
__decorate$
|
|
4401
|
+
__decorate$k([
|
|
4171
4402
|
globalSlimmerRegistry.MapToComponentField()
|
|
4172
4403
|
], InsertImageController.prototype, "value", void 0);
|
|
4173
|
-
__decorate$
|
|
4404
|
+
__decorate$k([
|
|
4174
4405
|
globalSlimmerRegistry.MapToComponentField()
|
|
4175
4406
|
], InsertImageController.prototype, "valueController", void 0);
|
|
4176
|
-
__decorate$
|
|
4407
|
+
__decorate$k([
|
|
4177
4408
|
globalSlimmerRegistry.MapToComponentField()
|
|
4178
4409
|
], InsertImageController.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
4179
|
-
__decorate$
|
|
4410
|
+
__decorate$k([
|
|
4180
4411
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
4181
4412
|
], InsertImageController.prototype, "registerObserver", null);
|
|
4182
|
-
__decorate$
|
|
4413
|
+
__decorate$k([
|
|
4183
4414
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
4184
4415
|
], InsertImageController.prototype, "unRegisterObserver", null);
|
|
4185
4416
|
|
|
4186
|
-
var __decorate$
|
|
4417
|
+
var __decorate$j = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4187
4418
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4188
4419
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4189
4420
|
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;
|
|
@@ -4249,20 +4480,20 @@ class FocusController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
4249
4480
|
this.selectionController.setSelectionRange(range);
|
|
4250
4481
|
}
|
|
4251
4482
|
}
|
|
4252
|
-
__decorate$
|
|
4483
|
+
__decorate$j([
|
|
4253
4484
|
globalSlimmerRegistry.MapToComponentField()
|
|
4254
4485
|
], FocusController.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
4255
|
-
__decorate$
|
|
4486
|
+
__decorate$j([
|
|
4256
4487
|
globalSlimmerRegistry.MapToComponentField()
|
|
4257
4488
|
], FocusController.prototype, "selectionController", void 0);
|
|
4258
|
-
__decorate$
|
|
4489
|
+
__decorate$j([
|
|
4259
4490
|
globalSlimmerRegistry.MapToComponentField()
|
|
4260
4491
|
], FocusController.prototype, "valueController", void 0);
|
|
4261
|
-
__decorate$
|
|
4492
|
+
__decorate$j([
|
|
4262
4493
|
globalSlimmerRegistry.MapToComponentField()
|
|
4263
4494
|
], FocusController.prototype, "value", void 0);
|
|
4264
4495
|
|
|
4265
|
-
var __decorate$
|
|
4496
|
+
var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4266
4497
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4267
4498
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4268
4499
|
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;
|
|
@@ -4469,38 +4700,39 @@ class InsertCompositionTextController extends globalSlimmerRegistry.VegaSlimmer
|
|
|
4469
4700
|
const inputEvent = new CustomEvent('beforeinput');
|
|
4470
4701
|
inputEvent['data'] = text;
|
|
4471
4702
|
inputEvent['inputType'] = 'insertText';
|
|
4703
|
+
inputEvent[codeBlock.RTE_UPDATE_SOURCE_KEY] = codeBlock.RTEUpdateSource.Composition;
|
|
4472
4704
|
this.editableElementRef.dispatchEvent(inputEvent);
|
|
4473
4705
|
}
|
|
4474
4706
|
}
|
|
4475
|
-
__decorate$
|
|
4707
|
+
__decorate$i([
|
|
4476
4708
|
globalSlimmerRegistry.MapToComponentField()
|
|
4477
4709
|
], InsertCompositionTextController.prototype, "selectionController", void 0);
|
|
4478
|
-
__decorate$
|
|
4710
|
+
__decorate$i([
|
|
4479
4711
|
globalSlimmerRegistry.MapToComponentField()
|
|
4480
4712
|
], InsertCompositionTextController.prototype, "host", void 0);
|
|
4481
|
-
__decorate$
|
|
4713
|
+
__decorate$i([
|
|
4482
4714
|
globalSlimmerRegistry.MapToComponentField()
|
|
4483
4715
|
], InsertCompositionTextController.prototype, "value", void 0);
|
|
4484
|
-
__decorate$
|
|
4716
|
+
__decorate$i([
|
|
4485
4717
|
globalSlimmerRegistry.MapToComponentField()
|
|
4486
4718
|
], InsertCompositionTextController.prototype, "valueController", void 0);
|
|
4487
|
-
__decorate$
|
|
4719
|
+
__decorate$i([
|
|
4488
4720
|
globalSlimmerRegistry.MapToComponentField()
|
|
4489
4721
|
], InsertCompositionTextController.prototype, "userInputController", void 0);
|
|
4490
|
-
__decorate$
|
|
4722
|
+
__decorate$i([
|
|
4491
4723
|
globalSlimmerRegistry.MapToComponentField()
|
|
4492
4724
|
], InsertCompositionTextController.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
4493
|
-
__decorate$
|
|
4725
|
+
__decorate$i([
|
|
4494
4726
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
4495
4727
|
], InsertCompositionTextController.prototype, "addCompositionTextEventListener", null);
|
|
4496
|
-
__decorate$
|
|
4728
|
+
__decorate$i([
|
|
4497
4729
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
4498
4730
|
], InsertCompositionTextController.prototype, "removeCompositionTextEventListener", null);
|
|
4499
|
-
__decorate$
|
|
4731
|
+
__decorate$i([
|
|
4500
4732
|
globalSlimmerRegistry.MapToComponentMethod('componentDidRender')
|
|
4501
4733
|
], InsertCompositionTextController.prototype, "reConnectObserver", null);
|
|
4502
4734
|
|
|
4503
|
-
var __decorate$
|
|
4735
|
+
var __decorate$h = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4504
4736
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4505
4737
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4506
4738
|
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;
|
|
@@ -4709,23 +4941,23 @@ class DeleteSelectedNodesController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
4709
4941
|
}
|
|
4710
4942
|
}
|
|
4711
4943
|
}
|
|
4712
|
-
__decorate$
|
|
4944
|
+
__decorate$h([
|
|
4713
4945
|
globalSlimmerRegistry.MapToComponentField()
|
|
4714
4946
|
], DeleteSelectedNodesController.prototype, "host", void 0);
|
|
4715
|
-
__decorate$
|
|
4947
|
+
__decorate$h([
|
|
4716
4948
|
globalSlimmerRegistry.MapToComponentField()
|
|
4717
4949
|
], DeleteSelectedNodesController.prototype, "selectionController", void 0);
|
|
4718
|
-
__decorate$
|
|
4950
|
+
__decorate$h([
|
|
4719
4951
|
globalSlimmerRegistry.MapToComponentField()
|
|
4720
4952
|
], DeleteSelectedNodesController.prototype, "value", void 0);
|
|
4721
|
-
__decorate$
|
|
4953
|
+
__decorate$h([
|
|
4722
4954
|
globalSlimmerRegistry.MapToComponentMethod('connectedCallback')
|
|
4723
4955
|
], DeleteSelectedNodesController.prototype, "addDeleteObserver", null);
|
|
4724
|
-
__decorate$
|
|
4956
|
+
__decorate$h([
|
|
4725
4957
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
4726
4958
|
], DeleteSelectedNodesController.prototype, "removeDeleteObserver", null);
|
|
4727
4959
|
|
|
4728
|
-
var __decorate$
|
|
4960
|
+
var __decorate$g = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4729
4961
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4730
4962
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4731
4963
|
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;
|
|
@@ -4802,22 +5034,22 @@ class HistoryController extends componentValueHistoryControllerSlimmer_abstract.
|
|
|
4802
5034
|
await this.valueController.flushChanges(content, false);
|
|
4803
5035
|
}
|
|
4804
5036
|
}
|
|
4805
|
-
__decorate$
|
|
5037
|
+
__decorate$g([
|
|
4806
5038
|
globalSlimmerRegistry.MapToComponentField()
|
|
4807
5039
|
], HistoryController.prototype, "host", void 0);
|
|
4808
|
-
__decorate$
|
|
5040
|
+
__decorate$g([
|
|
4809
5041
|
globalSlimmerRegistry.MapToComponentField()
|
|
4810
5042
|
], HistoryController.prototype, "vegaRichTextEditorRenderer", void 0);
|
|
4811
|
-
__decorate$
|
|
5043
|
+
__decorate$g([
|
|
4812
5044
|
globalSlimmerRegistry.MapToComponentField()
|
|
4813
5045
|
], HistoryController.prototype, "valueController", void 0);
|
|
4814
|
-
__decorate$
|
|
5046
|
+
__decorate$g([
|
|
4815
5047
|
globalSlimmerRegistry.MapToComponentField()
|
|
4816
5048
|
], HistoryController.prototype, "value", void 0);
|
|
4817
|
-
__decorate$
|
|
5049
|
+
__decorate$g([
|
|
4818
5050
|
globalSlimmerRegistry.MapToComponentField()
|
|
4819
5051
|
], HistoryController.prototype, "selectionController", void 0);
|
|
4820
|
-
__decorate$
|
|
5052
|
+
__decorate$g([
|
|
4821
5053
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
4822
5054
|
], HistoryController.prototype, "registerInitState", null);
|
|
4823
5055
|
|
|
@@ -4838,7 +5070,7 @@ class TransformToCodeBlockAction extends codeBlock.ModifyContentAction {
|
|
|
4838
5070
|
}
|
|
4839
5071
|
}
|
|
4840
5072
|
|
|
4841
|
-
var __decorate$
|
|
5073
|
+
var __decorate$f = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4842
5074
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4843
5075
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4844
5076
|
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;
|
|
@@ -4894,13 +5126,13 @@ class CodeBlockToolbarButtonSlimmer extends imageAnnotationAction.VisualModeTool
|
|
|
4894
5126
|
(() => {
|
|
4895
5127
|
internalIconManager.VegaInternalIconManager.register({ 'rectangle-code': rectangleCode });
|
|
4896
5128
|
})();
|
|
4897
|
-
__decorate$
|
|
5129
|
+
__decorate$f([
|
|
4898
5130
|
globalSlimmerRegistry.MapToComponentField()
|
|
4899
5131
|
], CodeBlockToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
4900
|
-
__decorate$
|
|
5132
|
+
__decorate$f([
|
|
4901
5133
|
globalSlimmerRegistry.MapToComponentField()
|
|
4902
5134
|
], CodeBlockToolbarButtonSlimmer.prototype, "valueController", void 0);
|
|
4903
|
-
__decorate$
|
|
5135
|
+
__decorate$f([
|
|
4904
5136
|
globalSlimmerRegistry.MapToComponentField()
|
|
4905
5137
|
], CodeBlockToolbarButtonSlimmer.prototype, "value", void 0);
|
|
4906
5138
|
|
|
@@ -4908,7 +5140,7 @@ const undoIcon = {
|
|
|
4908
5140
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc. --><path fill="currentColor" d="M464 424c0 13.3 10.7 24 24 24s24-10.7 24-24l0-96c0-53-43-96-96-96l-334.1 0 95-95c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239c-4.5 4.5-7 10.6-7 17s2.5 12.5 7 17L143 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-95-95 334.1 0c26.5 0 48 21.5 48 48l0 96z"/></svg>`,
|
|
4909
5141
|
};
|
|
4910
5142
|
|
|
4911
|
-
var __decorate$
|
|
5143
|
+
var __decorate$e = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4912
5144
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4913
5145
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4914
5146
|
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;
|
|
@@ -4937,7 +5169,7 @@ class UndoToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
4937
5169
|
(() => {
|
|
4938
5170
|
internalIconManager.VegaInternalIconManager.register({ 'arrow-turn-left': undoIcon });
|
|
4939
5171
|
})();
|
|
4940
|
-
__decorate$
|
|
5172
|
+
__decorate$e([
|
|
4941
5173
|
globalSlimmerRegistry.MapToComponentField()
|
|
4942
5174
|
], UndoToolbarButtonSlimmer.prototype, "historyController", void 0);
|
|
4943
5175
|
|
|
@@ -4945,7 +5177,7 @@ const redoIcon = {
|
|
|
4945
5177
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc. --><path fill="currentColor" d="M48 424c0 13.3-10.7 24-24 24S0 437.3 0 424l0-96c0-53 43-96 96-96l334.1 0-95-95c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L505 239c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17L369 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l95-95-334.1 0c-26.5 0-48 21.5-48 48l0 96z"/></svg>`,
|
|
4946
5178
|
};
|
|
4947
5179
|
|
|
4948
|
-
var __decorate$
|
|
5180
|
+
var __decorate$d = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
4949
5181
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4950
5182
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4951
5183
|
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;
|
|
@@ -4974,7 +5206,7 @@ class RedoToolbarButtonSlimmer extends imageAnnotationAction.VisualModeToolbarBu
|
|
|
4974
5206
|
(() => {
|
|
4975
5207
|
internalIconManager.VegaInternalIconManager.register({ 'arrow-turn-right': redoIcon });
|
|
4976
5208
|
})();
|
|
4977
|
-
__decorate$
|
|
5209
|
+
__decorate$d([
|
|
4978
5210
|
globalSlimmerRegistry.MapToComponentField()
|
|
4979
5211
|
], RedoToolbarButtonSlimmer.prototype, "historyController", void 0);
|
|
4980
5212
|
|
|
@@ -5045,7 +5277,7 @@ const displayCode = {
|
|
|
5045
5277
|
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 576 512"><!--! Font Awesome Pro 6.3.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --><path fill="currentColor" d="M512 48c8.8 0 16 7.2 16 16V352c0 8.8-7.2 16-16 16H336.5c-.3 0-.6 0-.8 0H240.4c-.3 0-.6 0-.8 0H64c-8.8 0-16-7.2-16-16V64c0-8.8 7.2-16 16-16H512zM64 416H211.7l-8 48H152c-13.3 0-24 10.7-24 24s10.7 24 24 24h72H352h72c13.3 0 24-10.7 24-24s-10.7-24-24-24H372.3l-8-48H512c35.3 0 64-28.7 64-64V64c0-35.3-28.7-64-64-64H64C28.7 0 0 28.7 0 64V352c0 35.3 28.7 64 64 64zm188.3 48l8-48h55.3l8 48H252.3zM249 177c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0l-48 48c-9.4 9.4-9.4 24.6 0 33.9l48 48c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-31-31 31-31zM361 143c-9.4-9.4-24.6-9.4-33.9 0s-9.4 24.6 0 33.9l31 31-31 31c-9.4 9.4-9.4 24.6 0 33.9s24.6 9.4 33.9 0l48-48c9.4-9.4 9.4-24.6 0-33.9l-48-48z"/></svg>`,
|
|
5046
5278
|
};
|
|
5047
5279
|
|
|
5048
|
-
var __decorate$
|
|
5280
|
+
var __decorate$c = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
5049
5281
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5050
5282
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5051
5283
|
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;
|
|
@@ -5066,11 +5298,25 @@ class SourceEditToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButton
|
|
|
5066
5298
|
if (isSelected) {
|
|
5067
5299
|
await this.saveSourceCode();
|
|
5068
5300
|
}
|
|
5069
|
-
|
|
5070
|
-
|
|
5071
|
-
|
|
5301
|
+
// VD-8789 (keyboard a11y): the previous implementation cleared the editor
|
|
5302
|
+
// selection here via `selectionController.setSelectionRange(new Range())`
|
|
5303
|
+
// when entering source view. That call is intentionally removed so the
|
|
5304
|
+
// caret position is preserved when toggling back to visual mode, and so
|
|
5305
|
+
// the source-edit button can be re-activated from the keyboard without
|
|
5306
|
+
// the selection being reset out from under the user.
|
|
5072
5307
|
this.sourceView = !isSelected;
|
|
5073
5308
|
}
|
|
5309
|
+
// VD-8789 (keyboard a11y): the default `preventLostFocus` calls
|
|
5310
|
+
// `e.preventDefault()` on mousedown so the button never receives focus and
|
|
5311
|
+
// the rich-text editor selection is preserved. The source-edit toggle is
|
|
5312
|
+
// different — activating it switches the editor to source-view mode, where
|
|
5313
|
+
// the visual-mode selection is no longer relevant. We override with a no-op
|
|
5314
|
+
// so the button is allowed to take focus on click, matching its keyboard
|
|
5315
|
+
// activation path and giving keyboard / screen-reader users a stable focus
|
|
5316
|
+
// target to toggle back out of source view.
|
|
5317
|
+
preventLostFocus() {
|
|
5318
|
+
return {};
|
|
5319
|
+
}
|
|
5074
5320
|
isSelected() {
|
|
5075
5321
|
return this.sourceView;
|
|
5076
5322
|
}
|
|
@@ -5078,7 +5324,9 @@ class SourceEditToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButton
|
|
|
5078
5324
|
return super.isDisabled();
|
|
5079
5325
|
}
|
|
5080
5326
|
async saveSourceCode() {
|
|
5327
|
+
var _a;
|
|
5081
5328
|
const sourceViewValue = this.richTextEditorSourceViewRenderer.getSourceCode();
|
|
5329
|
+
const blockBoundaryRegistry = (_a = linkExtension.extensionContextManager.getExtensionContext(this.host)) === null || _a === void 0 ? void 0 : _a.blockBoundaryRegistry;
|
|
5082
5330
|
if (!sourceViewValue && this.value.isEmpty()) {
|
|
5083
5331
|
return;
|
|
5084
5332
|
}
|
|
@@ -5086,6 +5334,7 @@ class SourceEditToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButton
|
|
|
5086
5334
|
await this.valueController.flushChanges(contentState.VegaRTEContent.fromHtml(sourceViewValue, {
|
|
5087
5335
|
autoMatchFormat: this.sourceEditConfig.autoMatchFormat,
|
|
5088
5336
|
filterInlineStyles: this.sourceEditConfig.filterInlineStyles,
|
|
5337
|
+
blockBoundaryRegistry,
|
|
5089
5338
|
}));
|
|
5090
5339
|
}
|
|
5091
5340
|
}
|
|
@@ -5093,26 +5342,61 @@ class SourceEditToolbarButtonSlimmer extends imageAnnotationAction.ToolbarButton
|
|
|
5093
5342
|
(() => {
|
|
5094
5343
|
internalIconManager.VegaInternalIconManager.register({ 'display-code': displayCode });
|
|
5095
5344
|
})();
|
|
5096
|
-
__decorate$
|
|
5345
|
+
__decorate$c([
|
|
5097
5346
|
globalSlimmerRegistry.MapToComponentField({ writable: true })
|
|
5098
5347
|
], SourceEditToolbarButtonSlimmer.prototype, "sourceView", void 0);
|
|
5099
|
-
__decorate$
|
|
5100
|
-
globalSlimmerRegistry.MapToComponentField()
|
|
5101
|
-
], SourceEditToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
5102
|
-
__decorate$b([
|
|
5348
|
+
__decorate$c([
|
|
5103
5349
|
globalSlimmerRegistry.MapToComponentField()
|
|
5104
5350
|
], SourceEditToolbarButtonSlimmer.prototype, "valueController", void 0);
|
|
5105
|
-
__decorate$
|
|
5351
|
+
__decorate$c([
|
|
5106
5352
|
globalSlimmerRegistry.MapToComponentField()
|
|
5107
5353
|
], SourceEditToolbarButtonSlimmer.prototype, "richTextEditorSourceViewRenderer", void 0);
|
|
5108
|
-
__decorate$
|
|
5354
|
+
__decorate$c([
|
|
5109
5355
|
globalSlimmerRegistry.MapToComponentField()
|
|
5110
5356
|
], SourceEditToolbarButtonSlimmer.prototype, "sourceEditConfig", void 0);
|
|
5111
|
-
__decorate$
|
|
5357
|
+
__decorate$c([
|
|
5358
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
5359
|
+
], SourceEditToolbarButtonSlimmer.prototype, "host", void 0);
|
|
5360
|
+
__decorate$c([
|
|
5112
5361
|
globalSlimmerRegistry.MapToComponentField()
|
|
5113
5362
|
], SourceEditToolbarButtonSlimmer.prototype, "value", void 0);
|
|
5114
5363
|
|
|
5115
|
-
|
|
5364
|
+
/**
|
|
5365
|
+
* Per-editor registry for block-boundary predicates contributed by extensions.
|
|
5366
|
+
*/
|
|
5367
|
+
class BlockBoundaryRegistry {
|
|
5368
|
+
constructor() {
|
|
5369
|
+
this.predicates = new Set();
|
|
5370
|
+
}
|
|
5371
|
+
/**
|
|
5372
|
+
* Register a block-boundary predicate.
|
|
5373
|
+
*
|
|
5374
|
+
* @param {BlockBoundaryPredicate} predicate - Predicate to register.
|
|
5375
|
+
* @returns {() => void} Unregister callback.
|
|
5376
|
+
*/
|
|
5377
|
+
register(predicate) {
|
|
5378
|
+
this.predicates.add(predicate);
|
|
5379
|
+
return () => {
|
|
5380
|
+
this.predicates.delete(predicate);
|
|
5381
|
+
};
|
|
5382
|
+
}
|
|
5383
|
+
/**
|
|
5384
|
+
* Returns true when any registered predicate marks the element as a boundary.
|
|
5385
|
+
*
|
|
5386
|
+
* @param {HTMLElement} element - Element to inspect.
|
|
5387
|
+
* @returns {boolean} Whether the element is a boundary.
|
|
5388
|
+
*/
|
|
5389
|
+
isBoundary(element) {
|
|
5390
|
+
for (const predicate of this.predicates) {
|
|
5391
|
+
if (predicate(element)) {
|
|
5392
|
+
return true;
|
|
5393
|
+
}
|
|
5394
|
+
}
|
|
5395
|
+
return false;
|
|
5396
|
+
}
|
|
5397
|
+
}
|
|
5398
|
+
|
|
5399
|
+
var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
5116
5400
|
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5117
5401
|
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5118
5402
|
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;
|
|
@@ -5224,37 +5508,114 @@ class RTEExtensionController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
5224
5508
|
getSelectedNodes: this.getSelectedNodes,
|
|
5225
5509
|
setSelectedNodes: this.selectionController.setSelectedNodes.bind(this.selectionController),
|
|
5226
5510
|
getSelection: this.selectionController.getSelection.bind(this.selectionController),
|
|
5511
|
+
blockBoundaryRegistry: new BlockBoundaryRegistry(),
|
|
5227
5512
|
};
|
|
5228
5513
|
}
|
|
5229
5514
|
}
|
|
5230
|
-
__decorate$
|
|
5515
|
+
__decorate$b([
|
|
5231
5516
|
globalSlimmerRegistry.MapToComponentField()
|
|
5232
5517
|
], RTEExtensionController.prototype, "extensions", void 0);
|
|
5233
|
-
__decorate$
|
|
5518
|
+
__decorate$b([
|
|
5234
5519
|
globalSlimmerRegistry.MapToComponentField()
|
|
5235
5520
|
], RTEExtensionController.prototype, "host", void 0);
|
|
5236
|
-
__decorate$
|
|
5521
|
+
__decorate$b([
|
|
5237
5522
|
globalSlimmerRegistry.MapToComponentField()
|
|
5238
5523
|
], RTEExtensionController.prototype, "sourceView", void 0);
|
|
5239
|
-
__decorate$
|
|
5524
|
+
__decorate$b([
|
|
5240
5525
|
globalSlimmerRegistry.MapToComponentField()
|
|
5241
5526
|
], RTEExtensionController.prototype, "valueController", void 0);
|
|
5242
|
-
__decorate$
|
|
5527
|
+
__decorate$b([
|
|
5243
5528
|
globalSlimmerRegistry.MapToComponentField()
|
|
5244
5529
|
], RTEExtensionController.prototype, "selectionController", void 0);
|
|
5245
|
-
__decorate$
|
|
5530
|
+
__decorate$b([
|
|
5246
5531
|
globalSlimmerRegistry.MapToComponentMethod('componentWillLoad')
|
|
5247
5532
|
], RTEExtensionController.prototype, "prepareExtensionsBeforeLoad", null);
|
|
5248
|
-
__decorate$
|
|
5533
|
+
__decorate$b([
|
|
5249
5534
|
globalSlimmerRegistry.MapToComponentMethod('componentDidLoad')
|
|
5250
5535
|
], RTEExtensionController.prototype, "initialExtensionContext", null);
|
|
5251
|
-
__decorate$
|
|
5536
|
+
__decorate$b([
|
|
5252
5537
|
globalSlimmerRegistry.MapToComponentMethod('disconnectedCallback')
|
|
5253
5538
|
], RTEExtensionController.prototype, "destroyExtension", null);
|
|
5254
|
-
__decorate$
|
|
5539
|
+
__decorate$b([
|
|
5255
5540
|
globalSlimmerRegistry.MapToComponentMethod('watchExtensions')
|
|
5256
5541
|
], RTEExtensionController.prototype, "handleExtensionsChange", null);
|
|
5257
5542
|
|
|
5543
|
+
var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
5544
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
5545
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5546
|
+
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;
|
|
5547
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
5548
|
+
};
|
|
5549
|
+
/**
|
|
5550
|
+
* Bridges the word count extension to the editor component so the footer UI can
|
|
5551
|
+
* read whether the character count should be shown and its current value.
|
|
5552
|
+
*/
|
|
5553
|
+
class WordCountController extends globalSlimmerRegistry.VegaSlimmer {
|
|
5554
|
+
constructor() {
|
|
5555
|
+
super(...arguments);
|
|
5556
|
+
this.cachedValue = null;
|
|
5557
|
+
this.cachedConfig = null;
|
|
5558
|
+
this.cachedData = null;
|
|
5559
|
+
}
|
|
5560
|
+
/**
|
|
5561
|
+
* Whether the character count UI should be rendered.
|
|
5562
|
+
*
|
|
5563
|
+
* @returns {boolean} True when a word count extension requests the UI.
|
|
5564
|
+
*/
|
|
5565
|
+
shouldShowUI() {
|
|
5566
|
+
var _a;
|
|
5567
|
+
return !!((_a = this.findWordCountExtension()) === null || _a === void 0 ? void 0 : _a.getConfig().showCharCount);
|
|
5568
|
+
}
|
|
5569
|
+
/**
|
|
5570
|
+
* Compute the current character count data from the editor content.
|
|
5571
|
+
*
|
|
5572
|
+
* @returns {Nullable<VegaRTEWordCountData>} The count data or null when no word count extension is registered.
|
|
5573
|
+
*/
|
|
5574
|
+
getData() {
|
|
5575
|
+
const extension = this.findWordCountExtension();
|
|
5576
|
+
if (!extension) {
|
|
5577
|
+
return null;
|
|
5578
|
+
}
|
|
5579
|
+
const value = this.host.value;
|
|
5580
|
+
const config = extension.getConfig();
|
|
5581
|
+
// VegaRTEContent is immutable, so a matching value/config reference means the data is unchanged.
|
|
5582
|
+
if (this.cachedData && value === this.cachedValue && object.deepEqual(config, this.cachedConfig)) {
|
|
5583
|
+
return this.cachedData;
|
|
5584
|
+
}
|
|
5585
|
+
this.cachedData = extension.getData(value);
|
|
5586
|
+
this.cachedValue = value;
|
|
5587
|
+
this.cachedConfig = config;
|
|
5588
|
+
return this.cachedData;
|
|
5589
|
+
}
|
|
5590
|
+
/**
|
|
5591
|
+
* Whether the word count extension gates commits with a hard character limit.
|
|
5592
|
+
*
|
|
5593
|
+
* @returns {boolean} True when a hard limit with a max character count is configured for this host.
|
|
5594
|
+
*/
|
|
5595
|
+
hasWordCountHardLimit() {
|
|
5596
|
+
var _a;
|
|
5597
|
+
const config = (_a = this.findWordCountExtension()) === null || _a === void 0 ? void 0 : _a.getConfig();
|
|
5598
|
+
return !!config && Boolean(config.hardLimit) && typeGuard.isNonNullable(config.maxChars);
|
|
5599
|
+
}
|
|
5600
|
+
/**
|
|
5601
|
+
* Locate the word count extension by its runtime `type` discriminator.
|
|
5602
|
+
* Use this way instead of instanceof to avoid direct dependency on the extension class.
|
|
5603
|
+
*
|
|
5604
|
+
* @returns {Nullable<VegaRTEWordCountExtension>} The word count extension or null.
|
|
5605
|
+
*/
|
|
5606
|
+
findWordCountExtension() {
|
|
5607
|
+
var _a;
|
|
5608
|
+
const extension = ((_a = this.extensions) !== null && _a !== void 0 ? _a : []).find((ext) => 'type' in ext && ext['type'] === codeBlock.RTE_WORD_COUNT_KEY);
|
|
5609
|
+
return extension !== null && extension !== void 0 ? extension : null;
|
|
5610
|
+
}
|
|
5611
|
+
}
|
|
5612
|
+
__decorate$a([
|
|
5613
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
5614
|
+
], WordCountController.prototype, "extensions", void 0);
|
|
5615
|
+
__decorate$a([
|
|
5616
|
+
globalSlimmerRegistry.MapToComponentField()
|
|
5617
|
+
], WordCountController.prototype, "host", void 0);
|
|
5618
|
+
|
|
5258
5619
|
/**
|
|
5259
5620
|
* Class to format HTML code with proper indentation and style cleanup.
|
|
5260
5621
|
*/
|
|
@@ -5439,14 +5800,16 @@ class VegaRichTextEditorSourceViewRenderer extends globalSlimmerRegistry.VegaSli
|
|
|
5439
5800
|
* Handle the blur event of the code block. When the code block loses focus, emit the source code change event with the current source code.
|
|
5440
5801
|
*/
|
|
5441
5802
|
this.handleCodeBlockBlur = () => {
|
|
5442
|
-
var _a;
|
|
5803
|
+
var _a, _b;
|
|
5443
5804
|
// If source view is closed while blurring, it means the user switch back to normal mode, so we can skip emitting the change event.
|
|
5444
5805
|
if (this.sourceView) {
|
|
5445
5806
|
const filterInlineStyles = Boolean(this.sourceEditConfig.filterInlineStyles);
|
|
5446
5807
|
const sourceCode = this.getSourceCode();
|
|
5808
|
+
const blockBoundaryRegistry = (_a = linkExtension.extensionContextManager.getExtensionContext(this.host)) === null || _a === void 0 ? void 0 : _a.blockBoundaryRegistry;
|
|
5447
5809
|
const newValue = contentState.VegaRTEContent.fromHtml(sourceCode, {
|
|
5448
|
-
autoMatchFormat: (
|
|
5810
|
+
autoMatchFormat: (_b = this.sourceEditConfig.autoMatchFormat) !== null && _b !== void 0 ? _b : true,
|
|
5449
5811
|
filterInlineStyles,
|
|
5812
|
+
blockBoundaryRegistry,
|
|
5450
5813
|
});
|
|
5451
5814
|
const newSourceCode = newValue.toHtml({ filterInlineStyles });
|
|
5452
5815
|
if (newSourceCode !== this.prevRecord) {
|
|
@@ -5569,6 +5932,13 @@ const VegaRichTextEditor = class {
|
|
|
5569
5932
|
this.vegaSourceCodeChange = index.createEvent(this, "vegaSourceCodeChange", 7);
|
|
5570
5933
|
this.sourceCodeChange = index.createEvent(this, "sourceCodeChange", 7);
|
|
5571
5934
|
this.globalSlimmers = {};
|
|
5935
|
+
this.ariaAttributesValueMapper = new ariaAttributesValueMapper.AriaAttributesValueMapper(() => this.vegaRichTextEditorRenderer.getRTEEditableElementRef(), {
|
|
5936
|
+
'aria-label': {
|
|
5937
|
+
dependency: ['data-aria-label', 'label'],
|
|
5938
|
+
// When no label is provided, announce a meaningful role name
|
|
5939
|
+
defaultValue: () => this.translationSlimmer.t('Rich Text Editor. Editing area: main. '),
|
|
5940
|
+
},
|
|
5941
|
+
});
|
|
5572
5942
|
this.translationSlimmer = new translationSlimmer.TranslationSlimmer();
|
|
5573
5943
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new componentUsageRuntimeMetrics.VegaComponentUsageRuntimeMetricsSlimmer();
|
|
5574
5944
|
this.formFieldController = new formFieldControllerSlimmer.FormFieldControllerSlimmer({
|
|
@@ -5621,6 +5991,7 @@ const VegaRichTextEditor = class {
|
|
|
5621
5991
|
this.historyController = new HistoryController();
|
|
5622
5992
|
this.internalCodeBlockSelectionController = new InternalCodeBlockSelectionController();
|
|
5623
5993
|
this.rteExtensionController = new RTEExtensionController();
|
|
5994
|
+
this.wordCountController = new WordCountController();
|
|
5624
5995
|
this.sourceCodeChangeEventEmitter = eventEmitSlimmer.createEventEmitSlimmer(VegaRichTextEditor, vegaEventId.VegaSourceCodeChange);
|
|
5625
5996
|
this.richTextEditorSourceViewRenderer = new VegaRichTextEditorSourceViewRenderer();
|
|
5626
5997
|
this.richTextContentEditable = true;
|
|
@@ -5819,6 +6190,9 @@ const VegaRichTextEditor = class {
|
|
|
5819
6190
|
__decorate$8([
|
|
5820
6191
|
componentUsageRuntimeMetrics.InjectVegaGlobalSlimmer()
|
|
5821
6192
|
], VegaRichTextEditor.prototype, "globalSlimmers", void 0);
|
|
6193
|
+
__decorate$8([
|
|
6194
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
6195
|
+
], VegaRichTextEditor.prototype, "ariaAttributesValueMapper", void 0);
|
|
5822
6196
|
__decorate$8([
|
|
5823
6197
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5824
6198
|
], VegaRichTextEditor.prototype, "translationSlimmer", void 0);
|
|
@@ -5939,6 +6313,9 @@ __decorate$8([
|
|
|
5939
6313
|
__decorate$8([
|
|
5940
6314
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5941
6315
|
], VegaRichTextEditor.prototype, "rteExtensionController", void 0);
|
|
6316
|
+
__decorate$8([
|
|
6317
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
6318
|
+
], VegaRichTextEditor.prototype, "wordCountController", void 0);
|
|
5942
6319
|
__decorate$8([
|
|
5943
6320
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
5944
6321
|
], VegaRichTextEditor.prototype, "sourceCodeChangeEventEmitter", void 0);
|
|
@@ -5972,7 +6349,7 @@ class VegaRichTextEditorToolbarButtonRenderer extends globalSlimmerRegistry.Vega
|
|
|
5972
6349
|
'rich-text-editor-toolbar-button-hidden': this.hidden,
|
|
5973
6350
|
'rich-text-editor-toolbar-button-selected': this.selected,
|
|
5974
6351
|
}, onClick: this.handleClick, disabled: this.disabled, hidden: this.hidden },
|
|
5975
|
-
index.h("vega-flex", { gap: "size-8", justifyContent: "center", alignItems: "center" },
|
|
6352
|
+
index.h("vega-flex", { "aria-hidden": "true", gap: "size-8", justifyContent: "center", alignItems: "center" },
|
|
5976
6353
|
this.icon && (index.h("vega-icon", { size: "size-16", color: this.iconColor, icon: internalIconManager.VegaInternalIconManager.getIconKey(this.icon) })),
|
|
5977
6354
|
this.showArrowIcon && (index.h("vega-icon", { size: "size-8", color: "text-secondary", icon: internalIconManager.VegaInternalIconManager.getIconKey(this.arrowIcon || 'chevron-down') }))),
|
|
5978
6355
|
index.h("slot", null)));
|
|
@@ -6038,6 +6415,12 @@ const VegaRichTextEditorToolbarButton = class {
|
|
|
6038
6415
|
},
|
|
6039
6416
|
});
|
|
6040
6417
|
this.renderer = new VegaRichTextEditorToolbarButtonRenderer();
|
|
6418
|
+
this.ariaAttributesValueMapper = new ariaAttributesValueMapper.AriaAttributesValueMapper(() => this.host.shadowRoot.querySelector('button'), {
|
|
6419
|
+
'aria-label': {
|
|
6420
|
+
dependency: ['data-aria-label'],
|
|
6421
|
+
defaultValue: 'No label defined',
|
|
6422
|
+
},
|
|
6423
|
+
});
|
|
6041
6424
|
/**
|
|
6042
6425
|
* Specifies whether the rich text editor toolbar button element is disabled.
|
|
6043
6426
|
*
|
|
@@ -6082,7 +6465,9 @@ const VegaRichTextEditorToolbarButton = class {
|
|
|
6082
6465
|
this.iconColor = 'text-primary';
|
|
6083
6466
|
}
|
|
6084
6467
|
render() {
|
|
6085
|
-
|
|
6468
|
+
// The host is a decorative wrapper around the shadow <button>; keep it out of the
|
|
6469
|
+
// a11y tree so VoiceOver doesn't announce it as a "group" when entering the button.
|
|
6470
|
+
return component.sanitizeVegaComponent(index.h(index.Host, { role: "presentation" }, this.renderer.render()), this.host);
|
|
6086
6471
|
}
|
|
6087
6472
|
get host() { return index.getElement(this); }
|
|
6088
6473
|
};
|
|
@@ -6101,6 +6486,9 @@ __decorate$6([
|
|
|
6101
6486
|
__decorate$6([
|
|
6102
6487
|
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
6103
6488
|
], VegaRichTextEditorToolbarButton.prototype, "renderer", void 0);
|
|
6489
|
+
__decorate$6([
|
|
6490
|
+
globalSlimmerRegistry.InjectVegaSlimmer()
|
|
6491
|
+
], VegaRichTextEditorToolbarButton.prototype, "ariaAttributesValueMapper", void 0);
|
|
6104
6492
|
VegaRichTextEditorToolbarButton.style = vegaRichTextEditorToolbarButtonCss;
|
|
6105
6493
|
|
|
6106
6494
|
var __decorate$5 = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
@@ -6328,6 +6716,11 @@ class VegaRichTextLinkEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
6328
6716
|
this.handleFormRef = (ref) => {
|
|
6329
6717
|
this.formRef = ref;
|
|
6330
6718
|
};
|
|
6719
|
+
this.handlePopoverContentRef = (ref) => {
|
|
6720
|
+
if (ref) {
|
|
6721
|
+
this.popoverContentRef = ref;
|
|
6722
|
+
}
|
|
6723
|
+
};
|
|
6331
6724
|
this.handleUrlInputRef = (ref) => {
|
|
6332
6725
|
if (ref) {
|
|
6333
6726
|
this.urlInputRef = ref;
|
|
@@ -6361,6 +6754,9 @@ class VegaRichTextLinkEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
6361
6754
|
getPopoverRef() {
|
|
6362
6755
|
return this.popoverRef;
|
|
6363
6756
|
}
|
|
6757
|
+
getPopoverContentRef() {
|
|
6758
|
+
return this.popoverContentRef;
|
|
6759
|
+
}
|
|
6364
6760
|
getFormRef() {
|
|
6365
6761
|
return this.formRef;
|
|
6366
6762
|
}
|
|
@@ -6374,7 +6770,7 @@ class VegaRichTextLinkEditorRenderer extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
6374
6770
|
return (index.h("vega-popover", { trigger: "click", alignment: "start", placement: "bottom", showArrow: false, isScreenPosition: true, ref: this.handlePopoverRef },
|
|
6375
6771
|
index.h("span", { slot: "popover-content" },
|
|
6376
6772
|
index.h("slot", null)),
|
|
6377
|
-
index.h("div", { slot: "popover" },
|
|
6773
|
+
index.h("div", { slot: "popover", ref: this.handlePopoverContentRef },
|
|
6378
6774
|
this.renderLinkUnlinkContent(),
|
|
6379
6775
|
this.renderLinkEditContent())));
|
|
6380
6776
|
}
|
|
@@ -6600,10 +6996,41 @@ class LinkEditorController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
6600
6996
|
super(...arguments);
|
|
6601
6997
|
this.linkUrlNormalizer = new LinkUrlNormalizer();
|
|
6602
6998
|
this.linkTypeHandlers = LINK_TYPE_HANDLER_MAP;
|
|
6999
|
+
/**
|
|
7000
|
+
* The element the trigger click listener is currently attached to (the link
|
|
7001
|
+
* wrapper acting as the popover target).
|
|
7002
|
+
*/
|
|
7003
|
+
this.triggerListenerEl = null;
|
|
7004
|
+
/**
|
|
7005
|
+
* Whether the popover was opened via a keyboard or screen-reader (VoiceOver)
|
|
7006
|
+
* activation. When true, focus is moved into the popover so screen reader
|
|
7007
|
+
* users land on the Edit button.
|
|
7008
|
+
*/
|
|
7009
|
+
this.isVoiceOverTrigger = false;
|
|
7010
|
+
/**
|
|
7011
|
+
* The element that had focus when the VoiceOver activation happened, so focus
|
|
7012
|
+
* can be restored to the link once the popover is hidden.
|
|
7013
|
+
*/
|
|
7014
|
+
this.focusReturnEl = null;
|
|
7015
|
+
/**
|
|
7016
|
+
* Records whether the popover was opened via a keyboard/VoiceOver activation
|
|
7017
|
+
* and, if so, the element to restore focus to when the popover closes.
|
|
7018
|
+
*
|
|
7019
|
+
* @param {MouseEvent} e - The click event on the link wrapper.
|
|
7020
|
+
* @returns {void} No return value.
|
|
7021
|
+
*/
|
|
7022
|
+
this.handleTriggerClick = (e) => {
|
|
7023
|
+
this.isVoiceOverTrigger = this.isKeyboardOrScreenReaderActivation(e);
|
|
7024
|
+
this.focusReturnEl = this.isVoiceOverTrigger
|
|
7025
|
+
? // eslint-disable-next-line no-restricted-globals
|
|
7026
|
+
ui.getDeepActiveElementInShadow(document, true)
|
|
7027
|
+
: null;
|
|
7028
|
+
};
|
|
6603
7029
|
}
|
|
6604
7030
|
/** Initializes the popover target after the component loads. */
|
|
6605
7031
|
componentDidLoad() {
|
|
6606
7032
|
this.updatePopoverTarget();
|
|
7033
|
+
this.attachTriggerListener();
|
|
6607
7034
|
}
|
|
6608
7035
|
/** Notifies observers after each render cycle. */
|
|
6609
7036
|
componentDidRender() {
|
|
@@ -6622,6 +7049,7 @@ class LinkEditorController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
6622
7049
|
watchTargetChange() {
|
|
6623
7050
|
this.linkTypeConfigController.invalidateConfiguredLinkTypesCache();
|
|
6624
7051
|
this.updatePopoverTarget();
|
|
7052
|
+
this.attachTriggerListener();
|
|
6625
7053
|
}
|
|
6626
7054
|
/**
|
|
6627
7055
|
* Prepares the editor state before the popover is shown.
|
|
@@ -6652,6 +7080,9 @@ class LinkEditorController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
6652
7080
|
}
|
|
6653
7081
|
await this.populateEditForm();
|
|
6654
7082
|
}
|
|
7083
|
+
if (this.status !== 'linkEdit' && this.isVoiceOverTrigger) {
|
|
7084
|
+
this.focusPopoverContentForVoiceOver();
|
|
7085
|
+
}
|
|
6655
7086
|
}
|
|
6656
7087
|
/**
|
|
6657
7088
|
* Clears form state after the popover hides.
|
|
@@ -6668,6 +7099,7 @@ class LinkEditorController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
6668
7099
|
if (this.resetStatusAfterHide) {
|
|
6669
7100
|
this.linkEditorStateManager.setShouldResetStatusOnNextShow(true);
|
|
6670
7101
|
}
|
|
7102
|
+
this.restoreFocusAfterVoiceOver();
|
|
6671
7103
|
}
|
|
6672
7104
|
/**
|
|
6673
7105
|
* Switches the editor into link edit mode.
|
|
@@ -6829,6 +7261,93 @@ class LinkEditorController extends globalSlimmerRegistry.VegaSlimmer {
|
|
|
6829
7261
|
updatePopoverTarget() {
|
|
6830
7262
|
remoteInvocationRegistry.remoteInvocationRegistry.call(domNodeSubjectObserverFactory.domNodeSubjectFactory.getSubject(this.renderer.getPopoverRef(), vegaInternalEventId.VegaInternalPopoverUpdateTarget), this.target);
|
|
6831
7263
|
}
|
|
7264
|
+
/**
|
|
7265
|
+
* Attaches a capture-phase click listener to the link wrapper (the popover
|
|
7266
|
+
* target) so a keyboard/VoiceOver activation can be distinguished from a real
|
|
7267
|
+
* pointer click before the popover opens. Re-attaches when the target changes.
|
|
7268
|
+
*
|
|
7269
|
+
* @returns {void} No return value.
|
|
7270
|
+
*/
|
|
7271
|
+
attachTriggerListener() {
|
|
7272
|
+
if (this.triggerListenerEl === this.target) {
|
|
7273
|
+
return;
|
|
7274
|
+
}
|
|
7275
|
+
this.detachTriggerListener();
|
|
7276
|
+
if (this.target) {
|
|
7277
|
+
this.triggerListenerEl = this.target;
|
|
7278
|
+
this.target.addEventListener('click', this.handleTriggerClick, { capture: true });
|
|
7279
|
+
}
|
|
7280
|
+
}
|
|
7281
|
+
/**
|
|
7282
|
+
* Removes the trigger listener from the previously observed element.
|
|
7283
|
+
*
|
|
7284
|
+
* @returns {void} No return value.
|
|
7285
|
+
*/
|
|
7286
|
+
detachTriggerListener() {
|
|
7287
|
+
if (this.triggerListenerEl) {
|
|
7288
|
+
this.triggerListenerEl.removeEventListener('click', this.handleTriggerClick, { capture: true });
|
|
7289
|
+
this.triggerListenerEl = null;
|
|
7290
|
+
}
|
|
7291
|
+
}
|
|
7292
|
+
/**
|
|
7293
|
+
* Determines whether a click on the link wrapper came from a keyboard or
|
|
7294
|
+
* screen reader (VoiceOver) rather than a real pointer.
|
|
7295
|
+
*
|
|
7296
|
+
* A genuine pointer click lands inside the activated element. Keyboard (Enter,
|
|
7297
|
+
* `detail === 0`) and VoiceOver activations dispatch a click with coordinates
|
|
7298
|
+
* that are not on the element, so we treat any click whose point falls outside
|
|
7299
|
+
* the wrapper as an assistive-technology activation.
|
|
7300
|
+
*
|
|
7301
|
+
* @param {MouseEvent} e - The click event on the link wrapper.
|
|
7302
|
+
* @returns {boolean} True when the activation is keyboard/screen-reader driven.
|
|
7303
|
+
*/
|
|
7304
|
+
isKeyboardOrScreenReaderActivation(e) {
|
|
7305
|
+
if (ui.checkIsVoiceOverClick(e)) {
|
|
7306
|
+
return true;
|
|
7307
|
+
}
|
|
7308
|
+
const rect = this.target ? this.target.getBoundingClientRect() : null;
|
|
7309
|
+
if (!rect || (rect.width === 0 && rect.height === 0)) {
|
|
7310
|
+
return false;
|
|
7311
|
+
}
|
|
7312
|
+
const isInsideTarget = e.clientX >= rect.left &&
|
|
7313
|
+
e.clientX <= rect.right &&
|
|
7314
|
+
e.clientY >= rect.top &&
|
|
7315
|
+
e.clientY <= rect.bottom;
|
|
7316
|
+
return !isInsideTarget;
|
|
7317
|
+
}
|
|
7318
|
+
/**
|
|
7319
|
+
* Moves focus to the first focusable element within the popover content (the
|
|
7320
|
+
* Edit button) so VoiceOver users land inside the opened toolbar.
|
|
7321
|
+
*
|
|
7322
|
+
* Deferred to the next macrotask so it runs after the editor has finished
|
|
7323
|
+
* placing the caret/focus into the content area on the activating click.
|
|
7324
|
+
*
|
|
7325
|
+
* @returns {void} No return value.
|
|
7326
|
+
*/
|
|
7327
|
+
focusPopoverContentForVoiceOver() {
|
|
7328
|
+
setTimeout(() => {
|
|
7329
|
+
const contentRef = this.renderer.getPopoverContentRef();
|
|
7330
|
+
if (!contentRef) {
|
|
7331
|
+
return;
|
|
7332
|
+
}
|
|
7333
|
+
const focusable = ui.getFirstFocusableElement(contentRef);
|
|
7334
|
+
(focusable !== null && focusable !== void 0 ? focusable : contentRef).focus();
|
|
7335
|
+
});
|
|
7336
|
+
}
|
|
7337
|
+
/**
|
|
7338
|
+
* Restores focus to the link wrapper after the popover is hidden following a
|
|
7339
|
+
* VoiceOver activation.
|
|
7340
|
+
*
|
|
7341
|
+
* @returns {void} No return value.
|
|
7342
|
+
*/
|
|
7343
|
+
restoreFocusAfterVoiceOver() {
|
|
7344
|
+
if (this.isVoiceOverTrigger && this.focusReturnEl) {
|
|
7345
|
+
const returnEl = this.focusReturnEl;
|
|
7346
|
+
setTimeout(() => returnEl.focus());
|
|
7347
|
+
}
|
|
7348
|
+
this.isVoiceOverTrigger = false;
|
|
7349
|
+
this.focusReturnEl = null;
|
|
7350
|
+
}
|
|
6832
7351
|
/**
|
|
6833
7352
|
* Preserves an unchanged mailto URL when the form edits are equivalent.
|
|
6834
7353
|
*
|