@globalpayments/vega 2.98.0 → 2.100.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{accessibility-88f8af84.js → accessibility-6ca2a237.js} +21 -0
- package/dist/cjs/{action-color-accessibility-validator-24498816.js → action-color-accessibility-validator-b8a9ef0f.js} +2 -2
- package/dist/cjs/{app-globals-b3f05631.js → app-globals-48d067a7.js} +11 -10
- package/dist/cjs/{aria-attributes-value-mapper-9a41b9cf.js → aria-attributes-value-mapper-e8c6b0e0.js} +1 -1
- package/dist/cjs/{code-block-d78c2b2c.js → code-block-3b42c364.js} +95 -6
- package/dist/cjs/{component-global-style-slimmer-93c5fb50.js → component-global-style-slimmer-ba588eb4.js} +1 -1
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-beb00fea.js → component-value-history-controller-slimmer.abstract-bbe3bcaf.js} +24 -5
- package/dist/cjs/{content-state-78a620a9.js → content-state-87a06c1a.js} +104 -8
- package/dist/cjs/{dark-mode-style-controller-32d4054a.js → dark-mode-style-controller-f3da3342.js} +2 -2
- package/dist/cjs/{date-required-rule-5250f26d.js → date-required-rule-45c802d3.js} +1 -1
- package/dist/cjs/{design-token-74674ee7.js → design-token-9d762da0.js} +3 -3
- package/dist/cjs/{element-appender-slimmer-597e9e48.js → element-appender-slimmer-f7ba5d9a.js} +2 -2
- package/dist/cjs/{form-field-controller-slimmer-a743be34.js → form-field-controller-slimmer-fbaddc91.js} +2 -2
- package/dist/cjs/{image-annotation-action-85c4bd83.js → image-annotation-action-03d3e01a.js} +7 -6
- package/dist/cjs/{image-extension-260fa69c.js → image-extension-ccda26d3.js} +2 -2
- package/dist/cjs/{index-592b4052.js → index-5d1adcd1.js} +86 -0
- package/dist/cjs/index.cjs.js +20 -19
- package/dist/cjs/{inject-keyboard-manager-6a6f5c9f.js → inject-keyboard-manager-540f0876.js} +1 -1
- package/dist/cjs/{internal-calendar-period-factory-dfcdd3f6.js → internal-calendar-period-factory-b11918ee.js} +1 -1
- package/dist/cjs/{internal-translation-controller-1dac2df8.js → internal-translation-controller-27bfc8c7.js} +17 -0
- package/dist/cjs/{keyboard-manager-c56033b1.js → keyboard-manager-16e96b62.js} +12 -5
- package/dist/cjs/{keyboard-manager-slimmer-7043a106.js → keyboard-manager-slimmer-0a4e556d.js} +1 -1
- package/dist/cjs/{link-extension-220ff6a9.js → link-extension-71eeaa9f.js} +26 -7
- package/dist/cjs/loader.cjs.js +14 -14
- package/dist/cjs/{month-view-generator-7b704a80.js → month-view-generator-0a3e04de.js} +1 -1
- package/dist/cjs/overlay-escape-coordination-901d8942.js +38 -0
- package/dist/cjs/{public-rules-5657bce4.js → public-rules-3dc5d02d.js} +9 -9
- package/dist/cjs/{range-c5afd53a.js → range-d29751e3.js} +1 -1
- package/dist/cjs/{responsive-format-facade-493d1763.js → responsive-format-facade-c6d7f0a1.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-385c1b61.js → rich-text-editor-required-rule-05de7f0c.js} +1 -1
- package/dist/cjs/{split-cell-operation-873d5db7.js → split-cell-operation-ef783850.js} +14 -4
- package/dist/cjs/{state-border-formatter-711c7aaa.js → state-border-formatter-dda9109a.js} +1 -1
- package/dist/cjs/{string-format-strategy.abstract-b61bdcbd.js → string-format-strategy.abstract-3a968a59.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-ef65cca7.js → string-input-formatter-slimmer-9747039f.js} +1 -1
- package/dist/cjs/{string-mask-strategy-ad3fa0ac.js → string-mask-strategy-d9f85c21.js} +2 -2
- package/dist/cjs/{style-formatter-8f711cb0.js → style-formatter-d21a9784.js} +2 -2
- package/dist/cjs/{time-required-rule-87417359.js → time-required-rule-580cbd3d.js} +1 -1
- package/dist/cjs/{token-extension-78b5a026.js → token-extension-8d7bd451.js} +3773 -252
- package/dist/cjs/{translation-slimmer-77c7f37d.js → translation-slimmer-31cd5a57.js} +1 -1
- package/dist/cjs/{type-guard-a57ef3ac.js → type-guard-00b8efc0.js} +1 -1
- package/dist/cjs/{valid-credit-card-number-rule-4c0a3040.js → valid-credit-card-number-rule-70885128.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +6 -6
- package/dist/cjs/vega-app-footer.cjs.entry.js +2 -2
- package/dist/cjs/vega-app-header-button.cjs.entry.js +6 -6
- package/dist/cjs/vega-banner.cjs.entry.js +1 -1
- package/dist/cjs/vega-box.cjs.entry.js +7 -7
- package/dist/cjs/vega-brand-logo.cjs.entry.js +2 -2
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/vega-button-circle.cjs.entry.js +7 -7
- package/dist/cjs/vega-button-group_2.cjs.entry.js +13 -6
- package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
- package/dist/cjs/vega-button.cjs.entry.js +22 -6
- package/dist/cjs/vega-calendar_5.cjs.entry.js +22 -11
- package/dist/cjs/vega-card.cjs.entry.js +5 -5
- package/dist/cjs/vega-carousel.cjs.entry.js +4 -4
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-chip.cjs.entry.js +6 -6
- package/dist/cjs/vega-code-block.cjs.entry.js +12 -12
- package/dist/cjs/vega-color-picker.cjs.entry.js +4 -4
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +4 -4
- package/dist/cjs/vega-color-swatch.cjs.entry.js +3 -3
- package/dist/cjs/vega-combo-box.cjs.entry.js +10 -10
- package/dist/cjs/vega-counter-badge.cjs.entry.js +2 -2
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +15 -15
- package/dist/cjs/vega-dialog_2.cjs.entry.js +72 -6
- package/dist/cjs/vega-divider.cjs.entry.js +5 -5
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +116 -24
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +27 -34
- package/dist/cjs/vega-file-uploader.cjs.entry.js +5 -5
- package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
- package/dist/cjs/vega-flex.cjs.entry.js +6 -6
- package/dist/cjs/vega-font.cjs.entry.js +5 -5
- package/dist/cjs/vega-form.cjs.entry.js +2 -2
- package/dist/cjs/vega-grid.cjs.entry.js +5 -5
- package/dist/cjs/vega-icon.cjs.entry.js +6 -6
- package/dist/cjs/vega-image-uploader.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +7 -7
- package/dist/cjs/vega-input-numeric.cjs.entry.js +6 -6
- package/dist/cjs/vega-input-passcode.cjs.entry.js +6 -6
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +42 -8
- package/dist/cjs/vega-input-range.cjs.entry.js +5 -5
- package/dist/cjs/vega-input-select.cjs.entry.js +25 -8
- package/dist/cjs/vega-input.cjs.entry.js +9 -9
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +10 -10
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination.cjs.entry.js +4 -4
- package/dist/cjs/vega-popover_2.cjs.entry.js +58 -9
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-radio_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +44 -13
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +767 -248
- package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +3 -3
- package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +5 -5
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +158 -105
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +4 -4
- package/dist/cjs/vega-signature-capture.cjs.entry.js +8 -8
- package/dist/cjs/vega-stepper.cjs.entry.js +3 -3
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +22 -9
- package/dist/cjs/vega-table_11.cjs.entry.js +82 -46
- package/dist/cjs/vega-textarea.cjs.entry.js +3 -3
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +11 -11
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +4 -4
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
- package/dist/cjs/vega.cjs.js +14 -14
- package/dist/collection/components/vega-button/vega-button.js +17 -2
- package/dist/collection/components/vega-button-group/vega-button-group-item/slimmers/renderers/vega-button-group-item-renderer.js +13 -6
- package/dist/collection/components/vega-button-link/vega-button-link.js +2 -2
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +5 -2
- package/dist/collection/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.js +9 -1
- package/dist/collection/components/vega-code-block/vega-code-block.css +4 -4
- package/dist/collection/components/vega-counter-badge/vega-counter-badge.js +2 -2
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-controller.js +148 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-scrollable-controller.js +5 -2
- package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js +17 -0
- package/dist/collection/components/vega-dropdown/vega-dropdown-group/slimmers/renderers/vega-dropdown-group-renderer.js +6 -4
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +12 -4
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.css +2 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +1 -1
- package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.js +21 -30
- package/dist/collection/components/vega-field-label/vega-field-label.css +1 -0
- package/dist/collection/components/vega-field-label/vega-field-label.js +7 -5
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +19 -2
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +66 -0
- package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js +17 -0
- package/dist/collection/components/vega-popover/vega-popover.js +33 -1
- package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +4 -1
- package/dist/collection/components/vega-rich-text-editor/constants/constant.js +25 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.js +13 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/commit-value-action.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +22 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +10 -0
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.js +5 -2
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.js +36 -2
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +8 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +20 -3
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +30 -18
- package/dist/collection/components/vega-rich-text-editor/extensions/block-boundary-registry.js +34 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/copy/copy-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/cut/cut-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +51 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/vega-rich-text-find-replace-panel/slimmers/renderers/find-replace-panel-renderer.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/fullscreen/fullscreen-toolbar-button-renderer.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/constants.js +8 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/function-block.js +14 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-containing-function-block-strategy.js +19 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.js +9 -5
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.js +3 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.js +4 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/function-extension.js +18 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.js +5 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/utils.js +36 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.js +16 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/action-handler-strategies/image-replace-src-strategy.js +21 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/actions/image-replace-src-action.js +13 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.js +295 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.js +116 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.js +13 -4
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-extension.js +70 -7
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/default-paste-strategy.js +38 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.js +55 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.js +59 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/strategies/word-paste-strategy.js +416 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-code-block-transformer.js +106 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-image-transformer.js +198 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-list-transformer.js +591 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-paragraph-transformer.js +112 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-table-transformer.js +551 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-transformer.js +7 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/special-characters/special-characters-toolbar-button-renderer.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/dto/table-block.js +10 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.js +3 -9
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-cell-renderer.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.js +81 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.js +148 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +151 -5
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.js +144 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-selection.js +26 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-cell-properties-form-field-renderer.js +11 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.js +5 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-form-field-renderer.js +5 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.css +5 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.js +16 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/caption-button-slimmer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/cell-properties-button-slimmer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/column-button-slimmer.js +10 -9
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/merge-cells-button-slimmer.js +9 -8
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.js +25 -10
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-properties-button-slimmer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-setting-button-slimmer.abstract.js +5 -4
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/vega-rich-text-table-setting-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.css +10 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +4 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node.js +44 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.js +70 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/word-count/type.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/word-count/word-count-extension.js +62 -0
- package/dist/collection/components/vega-rich-text-editor/public-api.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.js +7 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +18 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/insert-composition-text-controller.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +21 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +7 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/value-controller.js +52 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.js +79 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +6 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +111 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +24 -6
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +59 -8
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-source-view-renderer.js +5 -2
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +13 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +16 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.js +124 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.js +9 -1
- package/dist/collection/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.js +14 -7
- package/dist/collection/components/vega-tab-group/vega-tab-group.css +6 -0
- package/dist/collection/components/vega-tab-group/vega-tab-group.js +5 -0
- package/dist/collection/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.js +31 -1
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.js +18 -11
- package/dist/collection/global/scripts/before-vega-load.js +2 -0
- package/dist/collection/helpers/keyboard/keyboard-manager.js +11 -4
- package/dist/collection/helpers/keyboard/overlay-escape-coordination.js +33 -0
- package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +1 -1
- package/dist/collection/helpers/translation/locales/en.js +17 -0
- package/dist/collection/polyfill/libphonenumber/as-you-type.js +21 -3
- package/dist/collection/polyfill/libphonenumber/metadata.js +16 -0
- package/dist/collection/utils/accessibility.js +20 -0
- package/dist/collection/utils/sanitize/index.js +3 -2
- package/dist/collection/utils/sanitize/strategies/index.js +1 -0
- package/dist/collection/utils/sanitize/strategies/label-sanitize-strategy.js +14 -0
- package/dist/collection/utils/sanitize/strategies/plain-text-sanitize-strategy.js +70 -0
- package/dist/esm/{accessibility-6af5cf2e.js → accessibility-c899a968.js} +21 -1
- package/dist/esm/{action-color-accessibility-validator-ce55cb07.js → action-color-accessibility-validator-08877515.js} +2 -2
- package/dist/esm/{app-globals-95c7110a.js → app-globals-1e1371d5.js} +11 -10
- package/dist/esm/{aria-attributes-value-mapper-2c632641.js → aria-attributes-value-mapper-a5c7478e.js} +1 -1
- package/dist/esm/{aria-dialog-focusable-trap-slimmer-f069f54d.js → aria-dialog-focusable-trap-slimmer-b2a24a45.js} +2 -2
- package/dist/esm/{child-nodes-notify-observer-slimmer-499a3aa7.js → child-nodes-notify-observer-slimmer-034bc78c.js} +1 -1
- package/dist/esm/{code-block-9c513169.js → code-block-741d6b8e.js} +91 -9
- package/dist/esm/{component-global-style-slimmer-ac703085.js → component-global-style-slimmer-7d60a04a.js} +1 -1
- package/dist/esm/{component-value-history-controller-slimmer.abstract-9cef2a2a.js → component-value-history-controller-slimmer.abstract-2bcd749e.js} +26 -7
- package/dist/esm/{content-state-25c81c08.js → content-state-2f6f4204.js} +104 -11
- package/dist/esm/{dark-mode-style-controller-ca5afd2d.js → dark-mode-style-controller-352f15ff.js} +2 -2
- package/dist/esm/{date-required-rule-85334d0c.js → date-required-rule-2ea3aec8.js} +1 -1
- package/dist/esm/{design-token-10ff79b5.js → design-token-82a4e107.js} +3 -3
- package/dist/esm/{dom-node-subject-observer-factory-ddff8662.js → dom-node-subject-observer-factory-bb7e68a0.js} +1 -1
- package/dist/esm/{element-appender-slimmer-8a06ecdd.js → element-appender-slimmer-c820c0bf.js} +4 -4
- package/dist/esm/{event-emit-slimmer-2452278f.js → event-emit-slimmer-e8bb2292.js} +1 -1
- package/dist/esm/{form-field-controller-slimmer-68fc5380.js → form-field-controller-slimmer-02165dbe.js} +5 -5
- package/dist/esm/{image-annotation-action-d7f2aecc.js → image-annotation-action-972c1074.js} +8 -7
- package/dist/esm/{image-extension-fbd1ed6e.js → image-extension-59484e9a.js} +2 -2
- package/dist/esm/{index-3b327f29.js → index-35451d12.js} +86 -1
- package/dist/esm/index.js +21 -21
- package/dist/esm/{inject-keyboard-manager-ea1aad5b.js → inject-keyboard-manager-6a10c9b7.js} +1 -1
- package/dist/esm/{internal-calendar-period-factory-7b294fb6.js → internal-calendar-period-factory-d1a60f81.js} +1 -1
- package/dist/esm/{internal-translation-controller-fac22598.js → internal-translation-controller-fff376d2.js} +17 -0
- package/dist/esm/{keyboard-manager-50da85d7.js → keyboard-manager-a58288df.js} +13 -6
- package/dist/esm/{keyboard-manager-slimmer-1f7c8bfb.js → keyboard-manager-slimmer-133b86cd.js} +1 -1
- package/dist/esm/{link-extension-e8ee103e.js → link-extension-e89acb5c.js} +26 -7
- package/dist/esm/loader.js +16 -16
- package/dist/esm/{month-view-generator-a1a9a4ec.js → month-view-generator-20e32b22.js} +1 -1
- package/dist/esm/overlay-escape-coordination-439f7d6f.js +35 -0
- package/dist/esm/{public-rules-49de79c7.js → public-rules-c154201b.js} +11 -11
- package/dist/esm/{range-b678c693.js → range-c818a1eb.js} +2 -2
- package/dist/esm/{responsive-format-facade-f19b601c.js → responsive-format-facade-07843ec3.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-578e0958.js → rich-text-editor-required-rule-878e91c6.js} +1 -1
- package/dist/esm/{split-cell-operation-1c8e7585.js → split-cell-operation-cc0cdf90.js} +15 -5
- package/dist/esm/{state-border-formatter-bfda33aa.js → state-border-formatter-3b3dcfe8.js} +1 -1
- package/dist/esm/{string-format-strategy.abstract-1f4ff1b3.js → string-format-strategy.abstract-44381dcb.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-0006a107.js → string-input-formatter-slimmer-76fe52d3.js} +3 -3
- package/dist/esm/{string-mask-strategy-bbbcdbef.js → string-mask-strategy-999fba4b.js} +2 -2
- package/dist/esm/{style-formatter-e9adc8f4.js → style-formatter-c4192c99.js} +2 -2
- package/dist/esm/{sub-state-notify-slimmer-23b7d0e8.js → sub-state-notify-slimmer-e306c849.js} +1 -1
- package/dist/esm/{sub-state-observer-slimmer-722f6b92.js → sub-state-observer-slimmer-bd85f381.js} +2 -2
- package/dist/esm/{time-required-rule-1ce2d0a0.js → time-required-rule-0554b114.js} +1 -1
- package/dist/esm/{token-extension-f2d009e3.js → token-extension-35c66684.js} +3773 -253
- package/dist/esm/{translation-slimmer-ee0f0e76.js → translation-slimmer-77022f2e.js} +1 -1
- package/dist/esm/{type-guard-f2624334.js → type-guard-26d83e7e.js} +1 -1
- package/dist/esm/{ui-d73f756a.js → ui-80e610f4.js} +1 -1
- package/dist/esm/{valid-credit-card-number-rule-60212b1d.js → valid-credit-card-number-rule-f60b6904.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +9 -9
- package/dist/esm/vega-app-footer.entry.js +5 -5
- package/dist/esm/vega-app-header-button.entry.js +9 -9
- package/dist/esm/vega-backdrop.entry.js +1 -1
- package/dist/esm/vega-banner.entry.js +4 -4
- package/dist/esm/vega-box.entry.js +8 -8
- package/dist/esm/vega-brand-logo.entry.js +2 -2
- package/dist/esm/vega-breadcrumb.entry.js +5 -5
- package/dist/esm/vega-button-circle.entry.js +10 -10
- package/dist/esm/vega-button-group_2.entry.js +18 -11
- package/dist/esm/vega-button-link.entry.js +7 -7
- package/dist/esm/vega-button.entry.js +25 -9
- package/dist/esm/vega-calendar_5.entry.js +27 -16
- package/dist/esm/vega-card.entry.js +6 -6
- package/dist/esm/vega-carousel.entry.js +7 -7
- package/dist/esm/vega-checkbox_2.entry.js +9 -9
- package/dist/esm/vega-chip.entry.js +9 -9
- package/dist/esm/vega-code-block.entry.js +15 -15
- package/dist/esm/vega-color-picker.entry.js +8 -8
- package/dist/esm/vega-color-swatch-picker.entry.js +8 -8
- package/dist/esm/vega-color-swatch.entry.js +6 -6
- package/dist/esm/vega-combo-box.entry.js +14 -14
- package/dist/esm/vega-counter-badge.entry.js +2 -2
- package/dist/esm/vega-date-picker_2.entry.js +21 -21
- package/dist/esm/vega-dialog_2.entry.js +76 -10
- package/dist/esm/vega-divider.entry.js +5 -5
- package/dist/esm/vega-dropdown_5.entry.js +123 -31
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-label.entry.js +30 -37
- package/dist/esm/vega-file-uploader.entry.js +9 -9
- package/dist/esm/vega-flag-icon.entry.js +5 -5
- package/dist/esm/vega-flex.entry.js +7 -7
- package/dist/esm/vega-font.entry.js +6 -6
- package/dist/esm/vega-form.entry.js +8 -8
- package/dist/esm/vega-grid.entry.js +6 -6
- package/dist/esm/vega-icon.entry.js +7 -7
- package/dist/esm/vega-image-uploader.entry.js +12 -12
- package/dist/esm/vega-input-credit-card.entry.js +11 -11
- package/dist/esm/vega-input-numeric.entry.js +11 -11
- package/dist/esm/vega-input-passcode.entry.js +10 -10
- package/dist/esm/vega-input-phone-number.entry.js +46 -12
- package/dist/esm/vega-input-range.entry.js +9 -9
- package/dist/esm/vega-input-select.entry.js +29 -12
- package/dist/esm/vega-input.entry.js +14 -14
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +15 -15
- package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
- package/dist/esm/vega-page-notification_2.entry.js +3 -3
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +2 -2
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +4 -4
- package/dist/esm/vega-pagination.entry.js +7 -7
- package/dist/esm/vega-popover_2.entry.js +62 -13
- package/dist/esm/vega-progress-tracker_2.entry.js +9 -9
- package/dist/esm/vega-radio_2.entry.js +12 -12
- package/dist/esm/vega-rich-text-content.entry.js +48 -17
- package/dist/esm/vega-rich-text-editor_4.entry.js +774 -255
- package/dist/esm/vega-rich-text-find-replace-panel.entry.js +6 -6
- package/dist/esm/vega-rich-text-special-characters-panel.entry.js +8 -8
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +160 -107
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-chip_2.entry.js +11 -11
- package/dist/esm/vega-selection-tile_2.entry.js +9 -9
- package/dist/esm/vega-sidenav_3.entry.js +9 -9
- package/dist/esm/vega-signature-capture.entry.js +12 -12
- package/dist/esm/vega-stepper.entry.js +7 -7
- package/dist/esm/vega-tab-group_2.entry.js +25 -12
- package/dist/esm/vega-table_11.entry.js +59 -23
- package/dist/esm/vega-textarea.entry.js +7 -7
- package/dist/esm/vega-time-picker_2.entry.js +15 -15
- package/dist/esm/vega-toggle-switch.entry.js +8 -8
- package/dist/esm/vega-tooltip_2.entry.js +8 -8
- package/dist/esm/vega.js +16 -16
- package/dist/esm/{wait-for-component-did-render-ff7062aa.js → wait-for-component-did-render-9b91a826.js} +1 -1
- package/dist/sri/vega-sri-manifest.json +399 -395
- package/dist/types/components/vega-button/vega-button.d.ts +2 -0
- package/dist/types/components/vega-button-group/types.d.ts +12 -6
- package/dist/types/components/vega-calendar/vega-calendar-event-preview/slimmers/renderers/vega-calendar-event-preview-detail-renderer.d.ts +2 -0
- package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.d.ts +1 -0
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +1 -1
- package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-label-announcement-renderer.d.ts +3 -10
- package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +8 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +33 -0
- package/dist/types/components/vega-modal/types.d.ts +2 -1
- package/dist/types/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.d.ts +9 -0
- package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/commit-value-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/commit-value-action.d.ts +20 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-default-styles.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy-registry.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/filter-styles-strategy.abstract.d.ts +3 -2
- package/dist/types/components/vega-rich-text-editor/dto/filter-styles-strategies/text-node/title-heading-node-filter-styles-strategy.d.ts +25 -3
- package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +5 -0
- package/dist/types/components/vega-rich-text-editor/extensions/block-boundary-registry.d.ts +21 -0
- package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/constants.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/function-block.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-containing-function-block-strategy.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/utils.d.ts +29 -0
- package/dist/types/components/vega-rich-text-editor/extensions/line-height/line-height-toolbar-button-renderer.d.ts +14 -1
- package/dist/types/components/vega-rich-text-editor/extensions/paste/action-handler-strategies/image-replace-src-strategy.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/actions/image-replace-src-action.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/paste-image-parser.d.ts +136 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/parse-local-images-helper/pending-image-registry.d.ts +68 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.d.ts +9 -4
- package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-extension.d.ts +39 -2
- package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/default-paste-strategy.d.ts +29 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-processing-strategy.abstract.d.ts +61 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/paste-strategy-selector.d.ts +45 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/strategies/word-paste-strategy.d.ts +186 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-code-block-transformer.d.ts +51 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-image-transformer.d.ts +86 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-list-transformer.d.ts +271 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-paragraph-transformer.d.ts +25 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-table-transformer.d.ts +240 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/word-paste-transformers/word-structure-transformer.d.ts +36 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/dto/table-block.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-caption-renderer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-dynamic-popover-renderer.d.ts +31 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-popover-base-renderer.d.ts +91 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.d.ts +46 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/renderers/table-setting-popover-renderer.d.ts +58 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/table-selection.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/slimmers/renderers/vega-rich-text-table-properties-basic-form-field-renderer.abstract.d.ts +2 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-properties/vega-rich-text-table-properties.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/row-button-slimmer.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/slimmers/renderers/table-setting-button-slimmer.abstract.d.ts +3 -1
- package/dist/types/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-setting/vega-rich-text-table-setting.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node.d.ts +19 -1
- package/dist/types/components/vega-rich-text-editor/extensions/word-count/action-handler-interceptors/prevent-hard-limit-exceed-interceptor.d.ts +38 -0
- package/dist/types/components/vega-rich-text-editor/extensions/word-count/type.d.ts +46 -0
- package/dist/types/components/vega-rich-text-editor/extensions/word-count/word-count-extension.d.ts +38 -0
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/public-api.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/annotation-handler/text-style-annotation-handler.d.ts +4 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/value-controller.d.ts +11 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/word-count-controller.d.ts +40 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +4 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/controllers/link-editor-controller.d.ts +68 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/slimmers/renderers/vega-rich-text-link-editor-renderer.d.ts +3 -0
- package/dist/types/components/vega-tab-group/slimmers/vega-tab-group/renderers/vega-tab-group-tab-list-renderer.d.ts +1 -0
- package/dist/types/components/vega-tab-group/types.d.ts +3 -1
- package/dist/types/components/vega-tab-group/vega-tab-group.d.ts +2 -0
- package/dist/types/components/vega-table/interface.d.ts +4 -4
- package/dist/types/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.d.ts +16 -0
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.d.ts +8 -10
- package/dist/types/helpers/keyboard/keyboard-manager.d.ts +9 -0
- package/dist/types/helpers/keyboard/overlay-escape-coordination.d.ts +28 -0
- package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +1 -1
- package/dist/types/helpers/translation/interface.d.ts +18 -1
- package/dist/types/polyfill/libphonenumber/as-you-type.d.ts +1 -0
- package/dist/types/polyfill/libphonenumber/metadata.d.ts +10 -0
- package/dist/types/types/public-api.d.ts +2 -0
- package/dist/types/utils/accessibility.d.ts +9 -0
- package/dist/types/utils/sanitize/index.d.ts +3 -2
- package/dist/types/utils/sanitize/strategies/index.d.ts +1 -0
- package/dist/types/utils/sanitize/strategies/label-sanitize-strategy.d.ts +9 -0
- package/dist/types/utils/sanitize/strategies/plain-text-sanitize-strategy.d.ts +36 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-6f537797.entry.js → p-01ca92e6.entry.js} +1 -1
- package/dist/vega/{p-02d3ce79.entry.js → p-02b5d4ac.entry.js} +1 -1
- package/dist/vega/p-06a42a9f.entry.js +1 -0
- package/dist/vega/{p-fd23c365.entry.js → p-0cd362f3.entry.js} +1 -1
- package/dist/vega/p-0e10798b.entry.js +1 -0
- package/dist/vega/{p-2c2e8615.js → p-0eea1ca8.js} +1 -1
- package/dist/vega/{p-c98c2f5f.entry.js → p-0f344e02.entry.js} +1 -1
- package/dist/vega/{p-4cbfc01e.entry.js → p-23db0a92.entry.js} +1 -1
- package/dist/vega/{p-ccbe3f1b.entry.js → p-284a8828.entry.js} +1 -1
- package/dist/vega/{p-ac94ba1b.entry.js → p-2b26e182.entry.js} +1 -1
- package/dist/vega/{p-56598858.entry.js → p-2c8dc0d2.entry.js} +1 -1
- package/dist/vega/{p-2bb5a232.js → p-3091b105.js} +1 -1
- package/dist/vega/{p-9abf7d0a.entry.js → p-35d37477.entry.js} +1 -1
- package/dist/vega/{p-526e3634.js → p-36a57431.js} +1 -1
- package/dist/vega/{p-810c9c29.js → p-379736e2.js} +1 -1
- package/dist/vega/p-3abb793c.entry.js +1 -0
- package/dist/vega/{p-f29ea345.entry.js → p-3d6a43df.entry.js} +1 -1
- package/dist/vega/{p-c2277448.entry.js → p-3f2a4b34.entry.js} +1 -1
- package/dist/vega/p-401c6764.js +1 -0
- package/dist/vega/{p-da867019.entry.js → p-411cadbc.entry.js} +1 -1
- package/dist/vega/{p-ec64cc59.entry.js → p-46f22f6c.entry.js} +1 -1
- package/dist/vega/{p-8d2501b2.js → p-493108d5.js} +1 -1
- package/dist/vega/{p-085d1647.entry.js → p-49de5559.entry.js} +1 -1
- package/dist/vega/{p-781b7a54.js → p-4b35c748.js} +1 -1
- package/dist/vega/{p-a8174ad8.entry.js → p-4d1896e0.entry.js} +1 -1
- package/dist/vega/{p-b00ec194.entry.js → p-4e23e56c.entry.js} +1 -1
- package/dist/vega/{p-1cff027b.entry.js → p-5006404e.entry.js} +1 -1
- package/dist/vega/{p-56417ec5.entry.js → p-5789690b.entry.js} +1 -1
- package/dist/vega/{p-461100b8.entry.js → p-594cb986.entry.js} +1 -1
- package/dist/vega/p-5a086e93.js +1 -0
- package/dist/vega/{p-3e09aeed.js → p-5b3c8a56.js} +1 -1
- package/dist/vega/p-5b9b1631.entry.js +1 -0
- package/dist/vega/{p-c41a2d4a.js → p-5c3649f9.js} +1 -1
- package/dist/vega/{p-fb9475ab.entry.js → p-5d9be870.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-d609c3fd.js → p-60a74fb7.js} +1 -1
- package/dist/vega/{p-2acf9b42.entry.js → p-61ed7268.entry.js} +1 -1
- package/dist/vega/p-6336d446.entry.js +1 -0
- package/dist/vega/{p-dbb4b1d1.js → p-638b6a7d.js} +1 -1
- package/dist/vega/{p-bdb5180c.js → p-68744e7e.js} +1 -1
- package/dist/vega/p-6e9e7131.js +1 -0
- package/dist/vega/{p-014cd411.js → p-6eedbc4f.js} +1 -1
- package/dist/vega/{p-a090b2be.js → p-6fd8f14b.js} +1 -1
- package/dist/vega/{p-0cf3b5c1.entry.js → p-7469d0d1.entry.js} +1 -1
- package/dist/vega/p-74b20563.entry.js +1 -0
- package/dist/vega/{p-17c69503.entry.js → p-76999ea1.entry.js} +1 -1
- package/dist/vega/p-77bcdd35.js +1 -0
- package/dist/vega/{p-035e2f05.entry.js → p-79b49e8d.entry.js} +1 -1
- package/dist/vega/{p-8d96f0e8.entry.js → p-7a03ef96.entry.js} +1 -1
- package/dist/vega/{p-c5fb8a69.entry.js → p-7ae4cf82.entry.js} +1 -1
- package/dist/vega/{p-f9bfee81.entry.js → p-7cc8855d.entry.js} +1 -1
- package/dist/vega/{p-d470fce2.entry.js → p-7ddc0bec.entry.js} +1 -1
- package/dist/vega/{p-ca3c1317.entry.js → p-7e22610b.entry.js} +1 -1
- package/dist/vega/p-7f395622.entry.js +1 -0
- package/dist/vega/{p-3737b9e2.entry.js → p-816b5fd2.entry.js} +1 -1
- package/dist/vega/p-8387896e.js +1 -0
- package/dist/vega/p-844ad6aa.entry.js +1 -0
- package/dist/vega/p-853a05eb.js +1 -0
- package/dist/vega/p-85de755f.js +1 -0
- package/dist/vega/p-8663314e.js +1 -0
- package/dist/vega/{p-95c18f79.entry.js → p-86fb46d2.entry.js} +1 -1
- package/dist/vega/p-8cfdd0e8.entry.js +1 -0
- package/dist/vega/p-8ebe30a8.js +1 -0
- package/dist/vega/p-8f00dfe6.js +1 -0
- package/dist/vega/{p-66647244.js → p-8fc0a820.js} +1 -1
- package/dist/vega/{p-4fd0cf01.js → p-9034f709.js} +1 -1
- package/dist/vega/{p-456f678b.js → p-941a83db.js} +1 -1
- package/dist/vega/{p-ae2abdfa.js → p-96c090c4.js} +1 -1
- package/dist/vega/p-9ba2fdff.js +1 -0
- package/dist/vega/{p-d319ebb5.js → p-9e9f49f4.js} +1 -1
- package/dist/vega/p-9efa5d76.js +1 -0
- package/dist/vega/{p-a81ad3bd.js → p-a306bb39.js} +1 -1
- package/dist/vega/{p-db11134b.entry.js → p-a48468b5.entry.js} +1 -1
- package/dist/vega/{p-56db3323.js → p-a488447f.js} +1 -1
- package/dist/vega/p-a647c856.entry.js +1 -0
- package/dist/vega/{p-a484e32d.entry.js → p-a6a89f09.entry.js} +1 -1
- package/dist/vega/p-a92cd703.js +1 -0
- package/dist/vega/p-a93b3aed.js +1 -0
- package/dist/vega/{p-528748fa.js → p-aa135628.js} +1 -1
- package/dist/vega/{p-4bfe3258.entry.js → p-aaaf21eb.entry.js} +1 -1
- package/dist/vega/{p-36d9e782.entry.js → p-ab253867.entry.js} +1 -1
- package/dist/vega/{p-dcd3e3a7.js → p-ab9d53e9.js} +1 -1
- package/dist/vega/p-ad367b48.entry.js +1 -0
- package/dist/vega/{p-e18c0656.entry.js → p-af0cfea0.entry.js} +1 -1
- package/dist/vega/p-b07f587a.entry.js +1 -0
- package/dist/vega/p-b21cc390.entry.js +1 -0
- package/dist/vega/{p-12e8a1b2.js → p-b2a4314a.js} +1 -1
- package/dist/vega/p-b52d7724.js +3 -0
- package/dist/vega/{p-5f96e741.entry.js → p-b97ed9f7.entry.js} +1 -1
- package/dist/vega/{p-7dcd2850.entry.js → p-bc0e5598.entry.js} +1 -1
- package/dist/vega/p-bc119e75.entry.js +1 -0
- package/dist/vega/{p-0cbf09f7.entry.js → p-bedb575c.entry.js} +1 -1
- package/dist/vega/{p-cb81126a.entry.js → p-bfe5dff7.entry.js} +1 -1
- package/dist/vega/{p-52c69f9e.entry.js → p-c032f626.entry.js} +1 -1
- package/dist/vega/{p-1ea9ad9a.js → p-c34f4cbc.js} +1 -1
- package/dist/vega/{p-72ab5cd5.entry.js → p-c422ee02.entry.js} +1 -1
- package/dist/vega/{p-39c5054b.js → p-c576e846.js} +1 -1
- package/dist/vega/{p-c70748f7.entry.js → p-c7d46740.entry.js} +1 -1
- package/dist/vega/p-cc569b54.js +1 -0
- package/dist/vega/{p-4e065ef7.entry.js → p-cd04b149.entry.js} +1 -1
- package/dist/vega/{p-2a245138.entry.js → p-cd0a108b.entry.js} +1 -1
- package/dist/vega/{p-8c56d74d.entry.js → p-d1bb6e7a.entry.js} +1 -1
- package/dist/vega/{p-200c8914.entry.js → p-d340ee3d.entry.js} +1 -1
- package/dist/vega/p-d897acd5.js +1 -0
- package/dist/vega/p-debf9e06.entry.js +1 -0
- package/dist/vega/p-e0a51e49.js +1 -0
- package/dist/vega/{p-1aedbfd2.entry.js → p-e11c6ec4.entry.js} +1 -1
- package/dist/vega/{p-1e0a8fd3.js → p-e14323f3.js} +1 -1
- package/dist/vega/{p-6d4518d7.entry.js → p-e5abc288.entry.js} +1 -1
- package/dist/vega/{p-544ce391.entry.js → p-ea1a0046.entry.js} +1 -1
- package/dist/vega/{p-72fd17a1.entry.js → p-edd7aa92.entry.js} +1 -1
- package/dist/vega/p-ef1bbf14.js +1 -0
- package/dist/vega/{p-9834d5d4.entry.js → p-efc08027.entry.js} +1 -1
- package/dist/vega/{p-874e5624.js → p-f485448a.js} +1 -1
- package/dist/vega/{p-92528dc9.entry.js → p-f8b2dbb9.entry.js} +1 -1
- package/dist/vega/{p-cf4b3d40.entry.js → p-f8bf379c.entry.js} +1 -1
- package/dist/vega/{p-b98ead05.entry.js → p-f902305d.entry.js} +1 -1
- package/dist/vega/p-fe985b52.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-keyboard-conttroller.js +0 -85
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-constants.js +0 -6
- package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-constants.d.ts +0 -6
- package/dist/vega/p-03eeadc1.entry.js +0 -1
- package/dist/vega/p-0eb29065.js +0 -3
- package/dist/vega/p-10d30c03.js +0 -1
- package/dist/vega/p-1250b1ab.entry.js +0 -1
- package/dist/vega/p-1abd3c17.js +0 -1
- package/dist/vega/p-2d158cbd.js +0 -1
- package/dist/vega/p-2f07d719.entry.js +0 -1
- package/dist/vega/p-36d2df7a.entry.js +0 -1
- package/dist/vega/p-373541fa.js +0 -1
- package/dist/vega/p-3a620268.js +0 -1
- package/dist/vega/p-3d0b4074.js +0 -1
- package/dist/vega/p-56493601.js +0 -1
- package/dist/vega/p-571ec00b.js +0 -1
- package/dist/vega/p-585e4f1c.entry.js +0 -1
- package/dist/vega/p-5b1f5e4a.entry.js +0 -1
- package/dist/vega/p-6234852e.entry.js +0 -1
- package/dist/vega/p-67eaf77e.js +0 -1
- package/dist/vega/p-6c95a6a3.js +0 -1
- package/dist/vega/p-6fd4f2c6.js +0 -1
- package/dist/vega/p-7e8fdac4.js +0 -1
- package/dist/vega/p-83ad8988.js +0 -1
- package/dist/vega/p-94975537.entry.js +0 -1
- package/dist/vega/p-a91927eb.entry.js +0 -1
- package/dist/vega/p-b3733762.entry.js +0 -1
- package/dist/vega/p-b622c455.js +0 -1
- package/dist/vega/p-c6d775b8.entry.js +0 -1
- package/dist/vega/p-cd69aeae.js +0 -1
- package/dist/vega/p-cfe268a8.entry.js +0 -1
- package/dist/vega/p-daba4af1.js +0 -1
- package/dist/vega/p-de8f0d98.js +0 -1
- package/dist/vega/p-f0e828d8.js +0 -1
- package/dist/vega/p-f62c5a20.entry.js +0 -1
- package/dist/vega/p-f6c0e9e7.entry.js +0 -1
- package/dist/vega/p-fa65956c.entry.js +0 -1
- /package/dist/types/components/vega-dropdown/slimmers/controllers/{vega-dropdown-keyboard-conttroller.d.ts → vega-dropdown-keyboard-controller.d.ts} +0 -0
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { KeyboardManagerSlimmer } from '../../../../helpers/slimmers/keyboard-manager-slimmer';
|
|
8
|
+
import { MapToComponentField } from 'vega-slimmer/core';
|
|
9
|
+
import { markOverlayHandledEscape } from '../../../../helpers/keyboard/overlay-escape-coordination';
|
|
10
|
+
/**
|
|
11
|
+
* The `VegaDropdownKeyboardController` class is responsible for managing keyboard events
|
|
12
|
+
* for a dropdown component.
|
|
13
|
+
*/
|
|
14
|
+
export class VegaDropdownKeyboardController extends KeyboardManagerSlimmer {
|
|
15
|
+
/**
|
|
16
|
+
* The constructor function sets up keyboard event listeners for a dropdown component.
|
|
17
|
+
*/
|
|
18
|
+
constructor() {
|
|
19
|
+
super((target) => {
|
|
20
|
+
const dropdownRef = this.renderer.getDropdownRef();
|
|
21
|
+
const virtualContainerRef = this.renderer.getVirtualContainerRef();
|
|
22
|
+
// VD-9605: In template mode, items are slotted into dropdownContentBoxRef (not
|
|
23
|
+
// virtualContainerRef), so include it in scope so Arrow/Escape listeners fire correctly.
|
|
24
|
+
const dropdownContentBoxRef = this.renderer.getDropdownContentBoxRef();
|
|
25
|
+
return [
|
|
26
|
+
{
|
|
27
|
+
keyCode: 'Tab',
|
|
28
|
+
activeElementInScope: [target.host],
|
|
29
|
+
callback: target.showDropdownIfHover,
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
keyCode: 'Escape',
|
|
33
|
+
activeElementInScope: [
|
|
34
|
+
target.host,
|
|
35
|
+
dropdownRef,
|
|
36
|
+
virtualContainerRef,
|
|
37
|
+
dropdownContentBoxRef,
|
|
38
|
+
],
|
|
39
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
40
|
+
callback: /* istanbul ignore next */ () => target.appenderController.hide(),
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
// Additional `keydown` listener so Escape can close the dropdown when
|
|
44
|
+
// screen readers (e.g. VoiceOver) intercept the `keyup` event or move
|
|
45
|
+
// focus elsewhere after activating the trigger (e.g. into a rich-text
|
|
46
|
+
// editor's editable content). When the dropdown is shown, Escape
|
|
47
|
+
// should always close it regardless of where focus currently is.
|
|
48
|
+
//
|
|
49
|
+
// Registered in the capture phase so ancestor focus-trap containers
|
|
50
|
+
// (e.g. a Bootstrap modal's own keydown handler attached to the modal
|
|
51
|
+
// element) do not also react to the same Escape press and close
|
|
52
|
+
// themselves before the dropdown handles it. The callback calls
|
|
53
|
+
// `stopPropagation` to prevent the event from reaching descendant
|
|
54
|
+
// listeners, and tags the event with a marker that vega-modal's
|
|
55
|
+
// Escape handler checks so the modal does not also close on the
|
|
56
|
+
// same key press — Escape should close only the innermost overlay.
|
|
57
|
+
// We deliberately do NOT use `stopImmediatePropagation` because
|
|
58
|
+
// other document listeners on the same target (e.g. focus-restore
|
|
59
|
+
// observers in toolbar slimmers) still need to observe the key.
|
|
60
|
+
keyCode: 'Escape',
|
|
61
|
+
eventName: 'keydown',
|
|
62
|
+
capture: true,
|
|
63
|
+
preventDefault: true,
|
|
64
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
65
|
+
callback: /* istanbul ignore next */ (event) => {
|
|
66
|
+
if (target.isDropdownShow) {
|
|
67
|
+
event.stopPropagation();
|
|
68
|
+
markOverlayHandledEscape(event);
|
|
69
|
+
target.appenderController.hide();
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
keyCode: ['ArrowUp', 'ArrowDown'],
|
|
75
|
+
activeElementInScope: [
|
|
76
|
+
target.host,
|
|
77
|
+
dropdownRef,
|
|
78
|
+
virtualContainerRef,
|
|
79
|
+
dropdownContentBoxRef,
|
|
80
|
+
],
|
|
81
|
+
// VD-9605: listen on keydown and preventDefault so arrow keys move the
|
|
82
|
+
// dropdown selection instead of scroll-chaining the underlying page.
|
|
83
|
+
eventName: 'keydown',
|
|
84
|
+
preventDefault: true,
|
|
85
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
86
|
+
callback: /* istanbul ignore next */ (event) => target.controlDirectionByKeyboard(event.code),
|
|
87
|
+
},
|
|
88
|
+
{
|
|
89
|
+
keyCode: 'Tab',
|
|
90
|
+
activeElementOutScope: [
|
|
91
|
+
target.host,
|
|
92
|
+
dropdownRef,
|
|
93
|
+
virtualContainerRef,
|
|
94
|
+
dropdownContentBoxRef,
|
|
95
|
+
],
|
|
96
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
97
|
+
callback: /* istanbul ignore next */ () => target.isDropdownShow && target.appenderController.hide(),
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
});
|
|
101
|
+
/* istanbul ignore next */
|
|
102
|
+
/**
|
|
103
|
+
* The below method is e2e-test covered in @see{module:vega-dropdown-keyboard-control-e2e}
|
|
104
|
+
*/
|
|
105
|
+
this.showDropdownIfHover = async () => {
|
|
106
|
+
if (this.trigger === 'hover') {
|
|
107
|
+
this.appenderController.show();
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
/* istanbul ignore next */
|
|
111
|
+
/**
|
|
112
|
+
* The below method is e2e-test covered in @see{module:vega-dropdown-keyboard-control-e2e}
|
|
113
|
+
*
|
|
114
|
+
* @param {string} code - current keyboard code.
|
|
115
|
+
*/
|
|
116
|
+
this.controlDirectionByKeyboard = (code) => {
|
|
117
|
+
var _a, _b;
|
|
118
|
+
const nextItem = this.renderer.getNextActiveItem(code);
|
|
119
|
+
if (!nextItem) {
|
|
120
|
+
return;
|
|
121
|
+
}
|
|
122
|
+
// VD-9605: focus without letting the browser scroll the page, then scroll the
|
|
123
|
+
// dropdown list so the newly-focused item stays inside the visible viewport.
|
|
124
|
+
// Fall back to the host element if the inner <li> is absent (e.g. template mode).
|
|
125
|
+
const focusTarget = (_b = (_a = nextItem.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('li')) !== null && _b !== void 0 ? _b : nextItem;
|
|
126
|
+
focusTarget.focus({ preventScroll: true });
|
|
127
|
+
nextItem.scrollIntoView({ block: 'nearest' });
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
}
|
|
131
|
+
__decorate([
|
|
132
|
+
MapToComponentField()
|
|
133
|
+
], VegaDropdownKeyboardController.prototype, "host", void 0);
|
|
134
|
+
__decorate([
|
|
135
|
+
MapToComponentField()
|
|
136
|
+
], VegaDropdownKeyboardController.prototype, "trigger", void 0);
|
|
137
|
+
__decorate([
|
|
138
|
+
MapToComponentField()
|
|
139
|
+
], VegaDropdownKeyboardController.prototype, "isDropdownShow", void 0);
|
|
140
|
+
__decorate([
|
|
141
|
+
MapToComponentField()
|
|
142
|
+
], VegaDropdownKeyboardController.prototype, "renderer", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
MapToComponentField()
|
|
145
|
+
], VegaDropdownKeyboardController.prototype, "appenderController", void 0);
|
|
146
|
+
__decorate([
|
|
147
|
+
MapToComponentField()
|
|
148
|
+
], VegaDropdownKeyboardController.prototype, "listRenderer", void 0);
|
|
@@ -60,7 +60,7 @@ export class VegaDropdownScrollableController extends VegaSlimmer {
|
|
|
60
60
|
async scrollToSelectedIndex() {
|
|
61
61
|
this.renderModeController.isSourceRenderMode()
|
|
62
62
|
? await this.scrollToVirtualIndex()
|
|
63
|
-
: this.scrollToTemplateIndex();
|
|
63
|
+
: await this.scrollToTemplateIndex();
|
|
64
64
|
}
|
|
65
65
|
/**
|
|
66
66
|
* The function scrollToVirtualIndex asynchronously scrolls to a specific index in a virtual list based
|
|
@@ -79,7 +79,10 @@ export class VegaDropdownScrollableController extends VegaSlimmer {
|
|
|
79
79
|
/**
|
|
80
80
|
* The function scrollToTemplateIndex scrolls the dropdown content box to the selected item key.
|
|
81
81
|
*/
|
|
82
|
-
scrollToTemplateIndex() {
|
|
82
|
+
async scrollToTemplateIndex() {
|
|
83
|
+
if (!this.getSelectedKey())
|
|
84
|
+
return;
|
|
85
|
+
await new Promise((resolve) => requestAnimationFrame(() => resolve()));
|
|
83
86
|
const scrolledKey = this.getSelectedKey();
|
|
84
87
|
if (scrolledKey) {
|
|
85
88
|
const dropdownContent = this.renderer.getDropdownContentBoxRef();
|
package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-renderer.js
CHANGED
|
@@ -87,6 +87,11 @@ export class VegaDropdownRenderer extends VegaSlimmer {
|
|
|
87
87
|
}
|
|
88
88
|
/* istanbul ignore next */
|
|
89
89
|
getAllItems() {
|
|
90
|
+
if (!this.renderModeController.isSourceRenderMode()) {
|
|
91
|
+
// VD-9605: In template mode, appendItemsToContentBox() moves the [slot='items'] div
|
|
92
|
+
// into dropdownContentBoxRef's light DOM. Items are NOT inside dropdownRef.
|
|
93
|
+
return Array.from(this.dropdownContentBoxRef.querySelectorAll('vega-dropdown-item'));
|
|
94
|
+
}
|
|
90
95
|
const virtualScroll = this.dropdownRef.querySelector('vega-virtual-scroll');
|
|
91
96
|
const itemContainer = virtualScroll
|
|
92
97
|
? virtualScroll.shadowRoot
|
|
@@ -95,6 +100,18 @@ export class VegaDropdownRenderer extends VegaSlimmer {
|
|
|
95
100
|
}
|
|
96
101
|
/* istanbul ignore next */
|
|
97
102
|
getCurrentActiveItem() {
|
|
103
|
+
var _a, _b, _c, _d;
|
|
104
|
+
if (!this.renderModeController.isSourceRenderMode()) {
|
|
105
|
+
// VD-9605: In template mode, items live in dropdownContentBoxRef's light DOM.
|
|
106
|
+
// getActiveElement() traversal stops at shadow boundaries; instead find the focused
|
|
107
|
+
// item by checking which item's shadow root reports an active element (focused <li>).
|
|
108
|
+
const items = Array.from(this.dropdownContentBoxRef.querySelectorAll('vega-dropdown-item'));
|
|
109
|
+
// VD-9605: Use the item's own root node so focus is detected correctly even when
|
|
110
|
+
// vega-dropdown is nested inside another Shadow DOM. getRootNode() returns the
|
|
111
|
+
// nearest Document or ShadowRoot, which owns the activeElement for that tree.
|
|
112
|
+
const docActive = (_c = (_b = (_a = items[0]) === null || _a === void 0 ? void 0 : _a.getRootNode()) === null || _b === void 0 ? void 0 : _b.activeElement) !== null && _c !== void 0 ? _c : null;
|
|
113
|
+
return ((_d = items.find((item) => { var _a; return ((_a = item.shadowRoot) === null || _a === void 0 ? void 0 : _a.activeElement) != null || item === docActive; })) !== null && _d !== void 0 ? _d : null);
|
|
114
|
+
}
|
|
98
115
|
return findParent(getActiveElement(this.dropdownContentBoxRef.shadowRoot), 'vega-dropdown-item');
|
|
99
116
|
}
|
|
100
117
|
/* istanbul ignore next */
|
|
@@ -6,15 +6,17 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { h } from '@stencil/core';
|
|
8
8
|
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
+
import { htmlSanitizer, plainTextSanitizeStrategy } from '../../../../../utils/sanitize';
|
|
9
10
|
export class VegaDropdownGroupRenderer extends VegaSlimmer {
|
|
10
11
|
render() {
|
|
11
|
-
|
|
12
|
-
|
|
12
|
+
const plainTextLabel = htmlSanitizer.sanitize(this.label, plainTextSanitizeStrategy);
|
|
13
|
+
return (h("li", { role: "group", "aria-label": plainTextLabel, class: "vega-dropdown-group" },
|
|
14
|
+
this.renderLabel(plainTextLabel),
|
|
13
15
|
this.renderChildren(),
|
|
14
16
|
this.renderDivide()));
|
|
15
17
|
}
|
|
16
|
-
renderLabel() {
|
|
17
|
-
return (this.label && (h("div", { class: "vega-dropdown-group-label", "aria-hidden": "true" },
|
|
18
|
+
renderLabel(plainTextLabel) {
|
|
19
|
+
return (this.label && (h("div", { class: "vega-dropdown-group-label", "aria-hidden": "true" }, plainTextLabel)));
|
|
18
20
|
}
|
|
19
21
|
renderChildren() {
|
|
20
22
|
return (h("ul", { role: "none", class: "vega-dropdown-group-items" },
|
|
@@ -6,8 +6,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { Fragment, h } from '@stencil/core';
|
|
8
8
|
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
-
import {
|
|
10
|
-
import { htmlSanitizer, labelSanitizeStrategy } from '../../../../../utils/sanitize';
|
|
9
|
+
import { createActivationKeyHandlerToTriggerClick } from '../../../../../utils/accessibility';
|
|
10
|
+
import { htmlSanitizer, labelSanitizeStrategy, plainTextSanitizeStrategy, } from '../../../../../utils/sanitize';
|
|
11
11
|
export class VegaDropdownItemRenderer extends VegaSlimmer {
|
|
12
12
|
constructor() {
|
|
13
13
|
super(...arguments);
|
|
@@ -18,14 +18,15 @@ export class VegaDropdownItemRenderer extends VegaSlimmer {
|
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
20
|
render() {
|
|
21
|
-
|
|
21
|
+
const plainTextLabel = this.getPlainTextLabel();
|
|
22
|
+
return (h("li", { key: this.label, role: "menuitem", "aria-label": this.count > 0 ? `${plainTextLabel}, ${this.count}` : plainTextLabel, "aria-disabled": `${this.disabled}`, class: {
|
|
22
23
|
'vega-dropdown-item-selected': this.selected,
|
|
23
24
|
'vega-dropdown-item-disabled': this.disabled,
|
|
24
25
|
[`vega-dropdown-item-display-${this.itemDisplayRule}`]: true,
|
|
25
26
|
'danger': this.danger && this.selectType === 'none',
|
|
26
27
|
}, tabIndex: this.disabled ? -1 : 0,
|
|
27
28
|
/* eslint-disable-next-line react/jsx-no-bind */
|
|
28
|
-
onClick: this.disabled ? undefined : (e) => this.onSelect(e), onKeyDown:
|
|
29
|
+
onClick: this.disabled ? undefined : (e) => this.onSelect(e), onKeyDown: createActivationKeyHandlerToTriggerClick({ preventDefault: true }), style: this.height > 0 && {
|
|
29
30
|
height: `${this.height}px`,
|
|
30
31
|
boxSizing: 'border-box',
|
|
31
32
|
overflow: 'hidden',
|
|
@@ -73,6 +74,13 @@ export class VegaDropdownItemRenderer extends VegaSlimmer {
|
|
|
73
74
|
onSelect(e) {
|
|
74
75
|
this.vegaDropdownItemClickController.handleClick(e);
|
|
75
76
|
}
|
|
77
|
+
getPlainTextLabel() {
|
|
78
|
+
const slotText = this.host.textContent.trim();
|
|
79
|
+
if (slotText) {
|
|
80
|
+
return slotText;
|
|
81
|
+
}
|
|
82
|
+
return htmlSanitizer.sanitize(this.label, plainTextSanitizeStrategy);
|
|
83
|
+
}
|
|
76
84
|
renderLabelWithTooltip() {
|
|
77
85
|
var _a, _b, _c;
|
|
78
86
|
if (!this.label) {
|
|
@@ -65,7 +65,8 @@
|
|
|
65
65
|
background-color: rgba(var(--v-bg-quaternary, 241, 248, 251, 1));
|
|
66
66
|
}
|
|
67
67
|
|
|
68
|
-
:host li:not(.vega-dropdown-item-disabled):focus
|
|
68
|
+
:host li:not(.vega-dropdown-item-disabled):focus,
|
|
69
|
+
:host(:focus) li:not(.vega-dropdown-item-disabled) {
|
|
69
70
|
background-color: rgba(var(--v-bg-quaternary, 241, 248, 251, 1));
|
|
70
71
|
outline: 0;
|
|
71
72
|
}
|
|
@@ -13,7 +13,7 @@ import { VegaDropdownCreateRenderer } from './slimmers/renderers/vega-dropdown-c
|
|
|
13
13
|
import { VegaDropdownListRenderer } from './slimmers/renderers/vega-dropdown-list-renderer';
|
|
14
14
|
import { VegaDropdownItemLevelRenderer } from './slimmers/renderers/vega-dropdown-item-level-renderer';
|
|
15
15
|
import { VegaDropdownSearchRenderer } from './slimmers/renderers/vega-dropdown-search-renderer';
|
|
16
|
-
import { VegaDropdownKeyboardController } from './slimmers/controllers/vega-dropdown-keyboard-
|
|
16
|
+
import { VegaDropdownKeyboardController } from './slimmers/controllers/vega-dropdown-keyboard-controller';
|
|
17
17
|
import { VegaDropdownAppenderController } from './slimmers/controllers/vega-dropdown-appender-controller';
|
|
18
18
|
import { VegaDropdownGroupLevelRenderer } from './slimmers/renderers/vega-dropdown-group-level-renderer';
|
|
19
19
|
import { VegaDropdownSearchController } from './slimmers/controllers/vega-dropdown-search-controller';
|
|
@@ -4,52 +4,43 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
4
4
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
|
-
import { h } from '@stencil/core';
|
|
8
7
|
import { VegaSlimmer, MapToComponentField } from 'vega-slimmer/core';
|
|
9
8
|
/*
|
|
10
|
-
*
|
|
9
|
+
* Builds the visually-hidden state suffix appended to the field label for AT.
|
|
11
10
|
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* - "Required" is represented visually by a decorative "*" — AT
|
|
15
|
-
*
|
|
11
|
+
* Screen-reader users cannot derive the full field state from the visible
|
|
12
|
+
* label alone because:
|
|
13
|
+
* - "Required" is represented visually by a decorative "*" — AT users
|
|
14
|
+
* would otherwise hear the raw asterisk character.
|
|
16
15
|
* - "Disabled" has no visible text marker at all.
|
|
17
16
|
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
*
|
|
22
|
-
*
|
|
23
|
-
* The visible <label> below is hidden from AT (`aria-hidden="true"`)
|
|
24
|
-
* to prevent duplicate announcements and to stop VoiceOver from
|
|
25
|
-
* vocalising the decorative "*" as part of the label text.
|
|
17
|
+
* The suffix (e.g. ", Required, Disabled") is rendered as a real, visually
|
|
18
|
+
* hidden text node INSIDE the visible label span (not as an `aria-label`).
|
|
19
|
+
* A real text node reads consistently across Safari/Chrome/Firefox and,
|
|
20
|
+
* unlike an `aria-label` on a container with hidden children, does not make
|
|
21
|
+
* Chrome/Firefox announce an "empty group".
|
|
26
22
|
*/
|
|
27
23
|
export class VegaFieldLabelLabelAnnouncementRenderer extends VegaSlimmer {
|
|
28
24
|
/**
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
* @returns {Nullable<HTMLElement>}
|
|
32
|
-
*/
|
|
33
|
-
render() {
|
|
34
|
-
return this.label && h("span", { class: "aria-announcement" }, this.generateAnnouncement());
|
|
35
|
-
}
|
|
36
|
-
/**
|
|
37
|
-
* Generate a screen-reader-friendly announcement string that concatenates the label text with the field's required/optional and disabled states.
|
|
25
|
+
* Build the visually-hidden state suffix (the part after the label text).
|
|
38
26
|
*
|
|
39
|
-
* @returns {string}
|
|
27
|
+
* @returns {string} e.g. ", Required, Disabled", or '' when there is no state to announce.
|
|
40
28
|
*/
|
|
41
|
-
|
|
42
|
-
|
|
29
|
+
getStateSuffix() {
|
|
30
|
+
if (!this.label) {
|
|
31
|
+
return '';
|
|
32
|
+
}
|
|
33
|
+
let suffix = '';
|
|
43
34
|
if (this.isFieldRequired) {
|
|
44
|
-
|
|
35
|
+
suffix += `, ${this.translationSlimmer.t('Required')}`;
|
|
45
36
|
}
|
|
46
37
|
else if (this.optional) {
|
|
47
|
-
|
|
38
|
+
suffix += `, ${this.translationSlimmer.t('Optional')}`;
|
|
48
39
|
}
|
|
49
40
|
if (this.disabled) {
|
|
50
|
-
|
|
41
|
+
suffix += `, ${this.translationSlimmer.t('Disabled')}`;
|
|
51
42
|
}
|
|
52
|
-
return
|
|
43
|
+
return suffix;
|
|
53
44
|
}
|
|
54
45
|
}
|
|
55
46
|
__decorate([
|
|
@@ -101,19 +101,21 @@ export class VegaFieldLabel {
|
|
|
101
101
|
render() {
|
|
102
102
|
var _a;
|
|
103
103
|
const shouldCenterAlign = !!((_a = this.suffixButtonConfig) === null || _a === void 0 ? void 0 : _a.centerAlign);
|
|
104
|
+
const stateSuffix = this.labelAnnouncementRenderer.getStateSuffix();
|
|
104
105
|
return sanitizeVegaComponent(h(Host, { class: {
|
|
105
106
|
'hidden': this.label === '',
|
|
106
107
|
'disabled': this.disabled,
|
|
107
108
|
'center-align': shouldCenterAlign,
|
|
108
109
|
}, onClick: this.handleClick },
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
110
|
+
h("label", { part: "container" },
|
|
111
|
+
h("span", { class: "vega-field-label", part: "label", role: "text" },
|
|
112
|
+
this.label,
|
|
113
|
+
stateSuffix && h("span", { class: "aria-announcement" }, stateSuffix)),
|
|
114
|
+
!this.isFieldRequired && this.optional && (h("span", { class: "optional", "aria-hidden": "true" },
|
|
113
115
|
"(",
|
|
114
116
|
this.translationSlimmer.t('Optional'),
|
|
115
117
|
")")),
|
|
116
|
-
h("span", { class: {
|
|
118
|
+
h("span", { "aria-hidden": "true", class: {
|
|
117
119
|
'vega-field-label-required': true,
|
|
118
120
|
'hidden': !this.isFieldRequired,
|
|
119
121
|
} }, "*")),
|
|
@@ -6,7 +6,6 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
};
|
|
7
7
|
import { h } from '@stencil/core';
|
|
8
8
|
import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
|
-
import { createEnterKeyHandlerToTriggerClick } from '../../../../utils/accessibility';
|
|
10
9
|
import chevronUp from '../../../../global/icons/chevron-up';
|
|
11
10
|
import chevronDown from '../../../../global/icons/chevron-down';
|
|
12
11
|
import { VegaInternalIconManager } from '../../../../helpers/icon/internal-icon-manager';
|
|
@@ -16,11 +15,29 @@ export class VegaInputSelectDropdownRenderer extends VegaSlimmer {
|
|
|
16
15
|
constructor() {
|
|
17
16
|
super(...arguments);
|
|
18
17
|
this.renderContainer = () => {
|
|
19
|
-
return (h("div", { role: 'button', class: "vega-input-select-container", ref: (ref) => (this.inputSelectContainer = ref), tabIndex: 0, "aria-disabled": `${this.disabled}`, onKeyDown:
|
|
18
|
+
return (h("div", { role: 'button', class: "vega-input-select-container", ref: (ref) => (this.inputSelectContainer = ref), tabIndex: 0, "aria-disabled": `${this.disabled}`, onKeyDown: this.handleTriggerKeyDown, part: "select-container" },
|
|
20
19
|
this.renderPrefixIcon(),
|
|
21
20
|
this.renderSelectContainer(),
|
|
22
21
|
this.renderToggleIcon()));
|
|
23
22
|
};
|
|
23
|
+
/**
|
|
24
|
+
* VD-9605: open/close the dropdown on both Enter and Space, matching native button
|
|
25
|
+
* semantics. Space is preventDefaulted so activating the trigger does not scroll the page.
|
|
26
|
+
*
|
|
27
|
+
* @param {KeyboardEvent} e - keydown event on the select trigger.
|
|
28
|
+
* @returns {void}
|
|
29
|
+
*/
|
|
30
|
+
this.handleTriggerKeyDown = (e) => {
|
|
31
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
32
|
+
e.preventDefault();
|
|
33
|
+
}
|
|
34
|
+
if (this.disabled) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (e.key === 'Enter' || e.key === ' ') {
|
|
38
|
+
e.currentTarget.dispatchEvent(new MouseEvent('click', { bubbles: true, cancelable: true, view: window }));
|
|
39
|
+
}
|
|
40
|
+
};
|
|
24
41
|
this.renderPrefixIcon = () => {
|
|
25
42
|
return this.vegaInputSelectPrefixIconRenderer.render();
|
|
26
43
|
};
|
|
@@ -8,6 +8,7 @@ import { createDynamicSlimmer, InjectVegaSlimmer, MapToComponentField, MapToComp
|
|
|
8
8
|
import { findParent } from '../../../../utils/ui';
|
|
9
9
|
import { VegaModalOpenState } from '../models/vega-modal-open-state';
|
|
10
10
|
import { AriaDialogFocusableTrapSlimmer } from '../../../../helpers/slimmers/aria-dialog-focusable-trap-slimmer';
|
|
11
|
+
import { isOverlayHandledEscape, markOverlayHandledEscape, } from '../../../../helpers/keyboard/overlay-escape-coordination';
|
|
11
12
|
/**
|
|
12
13
|
* Modal open state controller
|
|
13
14
|
*/
|
|
@@ -39,11 +40,73 @@ export class VegaModalOpenStateController extends VegaSlimmer {
|
|
|
39
40
|
this.close('close-button');
|
|
40
41
|
}
|
|
41
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* Capture-phase document `keydown` listener for Escape. When this modal is
|
|
45
|
+
* the topmost open vega-modal we close it and stop propagation so that
|
|
46
|
+
* ancestor focus traps (e.g. a Bootstrap modal which closes itself on
|
|
47
|
+
* Escape via its own keydown listener attached to the modal element) do
|
|
48
|
+
* not also react to the same key press and close themselves.
|
|
49
|
+
*
|
|
50
|
+
* If an inner overlay (vega-dropdown / vega-popover) already handled this
|
|
51
|
+
* Escape press, it calls `markOverlayHandledEscape(event)` from its own
|
|
52
|
+
* capture-phase listener. `isOverlayHandledEscape` detects this so this
|
|
53
|
+
* modal does not also close — meaning Escape closes only the innermost
|
|
54
|
+
* overlay.
|
|
55
|
+
*
|
|
56
|
+
* @param {KeyboardEvent} event - The keydown event.
|
|
57
|
+
*/
|
|
58
|
+
this.handleEscapeCapture = (event) => {
|
|
59
|
+
if (event.code !== 'Escape') {
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
if (!this.openState.isOpen) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
if (this.openedModalStackController.peek() !== this.host) {
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
// If an inner overlay (vega-dropdown / vega-popover) already handled
|
|
69
|
+
// this Escape press in its own capture-phase listener, skip closing the
|
|
70
|
+
// modal — Escape should close only the innermost overlay.
|
|
71
|
+
if (isOverlayHandledEscape(event)) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
// Stop the event before any descendant or ancestor focus-trap container
|
|
75
|
+
// (e.g. a Bootstrap modal which closes itself on Escape, or an outer
|
|
76
|
+
// vega-modal) reacts to it. Mark the event so an outer vega-modal in the
|
|
77
|
+
// same document-capture phase does not also close on the same key press.
|
|
78
|
+
event.stopPropagation();
|
|
79
|
+
event.preventDefault();
|
|
80
|
+
markOverlayHandledEscape(event);
|
|
81
|
+
this.close('escape');
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Component lifecycle - [connectedCallback]
|
|
86
|
+
*
|
|
87
|
+
* Capture-phase Escape listener is registered here (rather than
|
|
88
|
+
* `componentDidLoad`) so it is re-added whenever the modal element is moved
|
|
89
|
+
* in the DOM (e.g. RTE's Insert-via-URL modal is moved to `host.parentElement`
|
|
90
|
+
* before being shown — that triggers disconnect+connect but does not re-fire
|
|
91
|
+
* `componentDidLoad`).
|
|
92
|
+
*
|
|
93
|
+
* Capture-phase Escape listener so ancestor focus-trap containers (e.g. a
|
|
94
|
+
* Bootstrap modal whose own keydown handler is attached to the modal
|
|
95
|
+
* element) do not also react to the same Escape press while a vega-modal
|
|
96
|
+
* is open inside them. Capture phase fires before any descendant bubble
|
|
97
|
+
* listener; calling `stopPropagation` then prevents those listeners from
|
|
98
|
+
* running. We only intervene when this is the topmost open vega-modal.
|
|
99
|
+
*/
|
|
100
|
+
connectedCallback() {
|
|
101
|
+
// eslint-disable-next-line no-restricted-globals
|
|
102
|
+
document.addEventListener('keydown', this.handleEscapeCapture, true);
|
|
42
103
|
}
|
|
43
104
|
/**
|
|
44
105
|
* Component lifecycle - [disconnectedCallback]
|
|
45
106
|
*/
|
|
46
107
|
disconnectedCallback() {
|
|
108
|
+
// eslint-disable-next-line no-restricted-globals
|
|
109
|
+
document.removeEventListener('keydown', this.handleEscapeCapture, true);
|
|
47
110
|
this.close('remove-node');
|
|
48
111
|
}
|
|
49
112
|
/**
|
|
@@ -325,6 +388,9 @@ __decorate([
|
|
|
325
388
|
__decorate([
|
|
326
389
|
InjectVegaSlimmer()
|
|
327
390
|
], VegaModalOpenStateController.prototype, "ariaDialogFocusableTrapSlimmer", void 0);
|
|
391
|
+
__decorate([
|
|
392
|
+
MapToComponentMethod('connectedCallback')
|
|
393
|
+
], VegaModalOpenStateController.prototype, "connectedCallback", null);
|
|
328
394
|
__decorate([
|
|
329
395
|
MapToComponentMethod('disconnectedCallback')
|
|
330
396
|
], VegaModalOpenStateController.prototype, "disconnectedCallback", null);
|
package/dist/collection/components/vega-popover/slimmers/renderers/vega-popover-appender-renderer.js
CHANGED
|
@@ -25,6 +25,23 @@ export class VegaPopoverAppenderRenderer extends VegaSlimmer {
|
|
|
25
25
|
getPopoverContentBox() {
|
|
26
26
|
return this.popoverContentBox;
|
|
27
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* Whether an inner overlay (e.g. an open `vega-input-select`/`vega-dropdown`
|
|
30
|
+
* or a nested popover) is currently displayed inside this popover's content
|
|
31
|
+
* box. Such overlays own the Escape key, so the popover must not close while
|
|
32
|
+
* one of them is open.
|
|
33
|
+
*
|
|
34
|
+
* @returns {boolean} True when a visible nested overlay content box exists.
|
|
35
|
+
*/
|
|
36
|
+
hasOpenNestedOverlay() {
|
|
37
|
+
if (!this.popoverContentBox) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
const nested = this.popoverContentBox.querySelectorAll('vega-dropdown-content-box, vega-popover-content-box');
|
|
41
|
+
return Array.from(nested).some(
|
|
42
|
+
// eslint-disable-next-line spellcheck/spell-checker
|
|
43
|
+
(box) => box.getClientRects().length > 0);
|
|
44
|
+
}
|
|
28
45
|
/**
|
|
29
46
|
* The `render` function returns a JSX element for a `vega-popover-content-box` component with a ref assigned to `this.popoverContentBox`.
|
|
30
47
|
*
|
|
@@ -13,6 +13,7 @@ import { VegaPopoverShow, VegaPopoverHide } from '../../helpers/event-manager/ev
|
|
|
13
13
|
import { VegaPopoverAppenderRenderer } from './slimmers/renderers/vega-popover-appender-renderer';
|
|
14
14
|
import { VegaPopoverAppenderController } from './slimmers/controllers/vega-popover-appender-controller';
|
|
15
15
|
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../helpers/slimmers/component-usage-runtime-metrics';
|
|
16
|
+
import { isOverlayHandledEscape, markOverlayHandledEscape, } from '../../helpers/keyboard/overlay-escape-coordination';
|
|
16
17
|
/**
|
|
17
18
|
* A Popover is an overlaid window that displays rich content, and is visually tethered to the element that triggers it.
|
|
18
19
|
*
|
|
@@ -505,8 +506,39 @@ __decorate([
|
|
|
505
506
|
{
|
|
506
507
|
keyCode: 'Escape',
|
|
507
508
|
activeElementInScope: [host.appenderRenderer.getPopoverContentBox()],
|
|
508
|
-
|
|
509
|
+
// Capture-phase + stopPropagation so ancestor focus-trap containers
|
|
510
|
+
// (e.g. a Bootstrap modal which closes itself on Escape via its own
|
|
511
|
+
// keydown listener attached to the modal element) do not also react
|
|
512
|
+
// to the same key press and close themselves before/instead of the
|
|
513
|
+
// popover. The popover's own close logic still runs here.
|
|
514
|
+
//
|
|
515
|
+
// `stopPropagation` does NOT block other document-level capture
|
|
516
|
+
// listeners (e.g. vega-modal's Escape handler) on the same target,
|
|
517
|
+
// so we also tag the event with a marker that vega-modal checks to
|
|
518
|
+
// avoid closing when the popover already handled this Escape press.
|
|
519
|
+
// We deliberately do NOT use `stopImmediatePropagation` here because
|
|
520
|
+
// other document listeners on the same target (e.g. focus-restore
|
|
521
|
+
// observers in toolbar slimmers) still need to observe the key.
|
|
522
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
523
|
+
callback: /* istanbul ignore next */ (event) => {
|
|
524
|
+
// An inner overlay (e.g. an open vega-input-select / vega-dropdown
|
|
525
|
+
// or a nested popover) owns this Escape press. Skip closing so it
|
|
526
|
+
// dismisses only the innermost overlay, not the whole popover. This
|
|
527
|
+
// is order-independent within the shared KeyboardManager loop: if
|
|
528
|
+
// the inner overlay's handler ran first it marked the event; if it
|
|
529
|
+
// runs after this one, its still-open content box is detectable
|
|
530
|
+
// inside our content box.
|
|
531
|
+
if (isOverlayHandledEscape(event) || host.appenderRenderer.hasOpenNestedOverlay()) {
|
|
532
|
+
return;
|
|
533
|
+
}
|
|
534
|
+
if (host.isPopoverShow) {
|
|
535
|
+
event.stopPropagation();
|
|
536
|
+
markOverlayHandledEscape(event);
|
|
537
|
+
}
|
|
538
|
+
host.hidePopover();
|
|
539
|
+
},
|
|
509
540
|
eventName: 'keydown',
|
|
541
|
+
capture: true,
|
|
510
542
|
preventDefault: true,
|
|
511
543
|
},
|
|
512
544
|
{
|
|
@@ -43,7 +43,10 @@ export class VegaRichTextContentRenderer extends VegaSlimmer {
|
|
|
43
43
|
}
|
|
44
44
|
renderRichTextContent() {
|
|
45
45
|
const showPlaceholder = this.shouldShowPlaceholder();
|
|
46
|
-
return (h("div", { ref: (el) => (this.richTextContentRef = el), class: { 'showPlaceholder': showPlaceholder, 'rich-text-content': true }, "data-placeholder": this.placeholder, contenteditable: this.contentEditable
|
|
46
|
+
return (h("div", { ref: (el) => (this.richTextContentRef = el), class: { 'showPlaceholder': showPlaceholder, 'rich-text-content': true }, "data-placeholder": this.placeholder, contenteditable: this.contentEditable, role: "textbox", "aria-multiline": "true", "aria-disabled": this.contentEditable ? undefined : 'true',
|
|
47
|
+
// When disabled the element is not contenteditable, so it needs an explicit
|
|
48
|
+
// tabindex to remain a focus stop and let AT announce its disabled state.
|
|
49
|
+
tabindex: this.contentEditable ? undefined : '0' }, this.renderContent()));
|
|
47
50
|
}
|
|
48
51
|
renderContent() {
|
|
49
52
|
var _a;
|