@globalpayments/vega 2.99.0 → 2.101.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-b8a9ef0f.js → action-color-accessibility-validator-61af71ae.js} +1 -1
- package/dist/cjs/{app-globals-a306dce6.js → app-globals-275ea7c7.js} +19 -10
- package/dist/cjs/{aria-attributes-value-mapper-9a41b9cf.js → aria-attributes-value-mapper-e8c6b0e0.js} +1 -1
- package/dist/cjs/{aria-dialog-focusable-trap-slimmer-62147489.js → aria-dialog-focusable-trap-slimmer-c79cc3f8.js} +1 -1
- package/dist/cjs/{child-nodes-event-prevent-slimmer-e0ac8467.js → child-nodes-event-prevent-slimmer-d720d7e9.js} +1 -1
- package/dist/cjs/{code-block-ea1f5eb3.js → code-block-c598832d.js} +815 -751
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-7071b064.js → component-value-history-controller-slimmer.abstract-4bd47aa1.js} +4 -4
- package/dist/cjs/{content-state-8d07d530.js → content-state-da23e822.js} +47 -3
- package/dist/cjs/countries-a8e3812a.js +251 -0
- package/dist/cjs/{dark-mode-style-controller-f3da3342.js → dark-mode-style-controller-ec04ece9.js} +45 -45
- package/dist/cjs/{date-required-rule-c0c498ad.js → date-required-rule-45c802d3.js} +1 -1
- package/dist/cjs/{design-token-58bf7fe8.js → design-token-9d762da0.js} +3 -3
- package/dist/cjs/{element-appender-slimmer-a0269315.js → element-appender-slimmer-2aaf8e24.js} +22 -3
- package/dist/cjs/{event-emit-slimmer-34aa195e.js → event-emit-slimmer-67b5c186.js} +1 -1
- package/dist/cjs/{form-field-controller-slimmer-f73f200e.js → form-field-controller-slimmer-ac9337f4.js} +3 -3
- package/dist/cjs/{image-annotation-action-2a28038e.js → image-annotation-action-378838c2.js} +8 -7
- package/dist/cjs/{image-extension-9659708b.js → image-extension-673ebe7f.js} +2 -2
- package/dist/cjs/index.cjs.js +24 -21
- package/dist/cjs/{inject-keyboard-manager-4fa45f9c.js → inject-keyboard-manager-540f0876.js} +1 -1
- package/dist/cjs/{internal-calendar-period-factory-6196bc80.js → internal-calendar-period-factory-b11918ee.js} +1 -1
- package/dist/cjs/{internal-translation-controller-51f7f865.js → internal-translation-controller-27bfc8c7.js} +15 -0
- package/dist/cjs/{internal-vega-event-manager-7003c84a.js → internal-vega-event-manager-976b9526.js} +10 -2
- package/dist/cjs/{keyboard-manager-482fe257.js → keyboard-manager-16e96b62.js} +12 -5
- package/dist/cjs/{keyboard-manager-slimmer-a19430dd.js → keyboard-manager-slimmer-0a4e556d.js} +1 -1
- package/dist/cjs/{link-extension-11340e1c.js → link-extension-f493e432.js} +3 -3
- package/dist/cjs/loader.cjs.js +17 -16
- package/dist/cjs/{month-view-generator-1a534451.js → month-view-generator-0a3e04de.js} +1 -1
- package/dist/cjs/overlay-escape-coordination-901d8942.js +38 -0
- package/dist/cjs/{public-rules-6c77b545.js → public-rules-bae12c47.js} +9 -9
- package/dist/cjs/{range-22ddd452.js → range-9f42fb40.js} +1 -1
- package/dist/cjs/{responsive-format-facade-74e6d791.js → responsive-format-facade-c6d7f0a1.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-09d1093a.js → rich-text-editor-required-rule-bb232741.js} +1 -1
- package/dist/cjs/{split-cell-operation-11bfb305.js → split-cell-operation-0d33123e.js} +4 -4
- package/dist/cjs/{state-border-formatter-bf4f9f1c.js → state-border-formatter-dda9109a.js} +1 -1
- package/dist/cjs/{string-format-strategy.abstract-bf37b14c.js → string-format-strategy.abstract-3a968a59.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-ffeb18a6.js → string-input-formatter-slimmer-2e0a838e.js} +3 -3
- package/dist/cjs/{string-mask-strategy-7f394726.js → string-mask-strategy-d9f85c21.js} +2 -2
- package/dist/cjs/{style-formatter-4ac63910.js → style-formatter-d21a9784.js} +2 -2
- package/dist/cjs/{sub-state-notify-slimmer-e264a120.js → sub-state-notify-slimmer-3b33e31c.js} +1 -1
- package/dist/cjs/{sub-state-observer-slimmer-6033b824.js → sub-state-observer-slimmer-5b68ba3f.js} +1 -1
- package/dist/cjs/{time-required-rule-e2a50003.js → time-required-rule-580cbd3d.js} +1 -1
- package/dist/cjs/{token-extension-4686cb3b.js → token-extension-4badb962.js} +811 -53
- package/dist/cjs/{translation-slimmer-e4997f8f.js → translation-slimmer-31cd5a57.js} +1 -1
- package/dist/cjs/{type-guard-b8d7bb3f.js → type-guard-00b8efc0.js} +1 -1
- package/dist/cjs/{valid-credit-card-number-rule-f5a6f009.js → valid-credit-card-number-rule-70885128.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +9 -9
- package/dist/cjs/vega-app-footer.cjs.entry.js +4 -4
- package/dist/cjs/vega-app-header-button.cjs.entry.js +10 -10
- package/dist/cjs/vega-banner.cjs.entry.js +4 -4
- package/dist/cjs/vega-box.cjs.entry.js +6 -6
- package/dist/cjs/vega-brand-logo.cjs.entry.js +1 -1
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
- package/dist/cjs/vega-button-circle.cjs.entry.js +12 -12
- package/dist/cjs/vega-button-group_2.cjs.entry.js +20 -13
- package/dist/cjs/vega-button-link.cjs.entry.js +8 -8
- package/dist/cjs/vega-button.cjs.entry.js +27 -11
- package/dist/cjs/vega-calendar_5.cjs.entry.js +130 -24
- package/dist/cjs/vega-card.cjs.entry.js +5 -5
- package/dist/cjs/vega-carousel.cjs.entry.js +7 -7
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-chip.cjs.entry.js +10 -10
- package/dist/cjs/vega-code-block.cjs.entry.js +15 -15
- package/dist/cjs/vega-color-picker.cjs.entry.js +8 -8
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +9 -9
- package/dist/cjs/vega-color-swatch.cjs.entry.js +6 -6
- package/dist/cjs/vega-combo-box.cjs.entry.js +15 -15
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +22 -22
- package/dist/cjs/vega-dialog_2.cjs.entry.js +76 -10
- package/dist/cjs/vega-divider.cjs.entry.js +5 -5
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +108 -25
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/{vega-event-id-58afed7a.js → vega-event-id-987a170c.js} +2 -0
- package/dist/cjs/vega-field-label.cjs.entry.js +29 -36
- package/dist/cjs/vega-file-uploader.cjs.entry.js +9 -9
- package/dist/cjs/vega-flag-icon.cjs.entry.js +11 -11
- 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 +9 -9
- package/dist/cjs/vega-grid.cjs.entry.js +5 -5
- package/dist/cjs/vega-icon.cjs.entry.js +5 -5
- package/dist/cjs/vega-image-uploader.cjs.entry.js +13 -13
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +12 -12
- package/dist/cjs/vega-input-numeric.cjs.entry.js +12 -12
- package/dist/cjs/vega-input-passcode.cjs.entry.js +11 -11
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +56 -275
- package/dist/cjs/vega-input-range.cjs.entry.js +10 -10
- package/dist/cjs/vega-input-select.cjs.entry.js +39 -39
- package/dist/cjs/vega-input.cjs.entry.js +14 -14
- package/dist/cjs/{vega-internal-event-id-f4d33037.js → vega-internal-event-id-98d499d7.js} +6 -2
- package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +14 -14
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +4 -4
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -4
- package/dist/cjs/vega-pagination.cjs.entry.js +9 -9
- package/dist/cjs/vega-popover_2.cjs.entry.js +63 -14
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +10 -10
- package/dist/cjs/vega-radio_2.cjs.entry.js +12 -12
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +16 -13
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +712 -250
- package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +6 -6
- package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +8 -8
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +161 -108
- package/dist/cjs/vega-segment-control.cjs.entry.js +11 -4
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +12 -12
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
- package/dist/cjs/vega-signature-capture.cjs.entry.js +12 -12
- package/dist/cjs/vega-stepper.cjs.entry.js +8 -8
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-table_11.cjs.entry.js +625 -666
- package/dist/cjs/vega-textarea.cjs.entry.js +8 -8
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +16 -16
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +8 -8
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
- package/dist/cjs/vega.cjs.js +17 -16
- package/dist/cjs/{wait-for-component-did-render-44d006ee.js → wait-for-component-did-render-90edbc1a.js} +1 -1
- package/dist/collection/components/vega-button/vega-button.css +3 -3
- package/dist/collection/components/vega-button/vega-button.js +17 -2
- package/dist/collection/components/vega-button-circle/vega-button-circle.css +3 -3
- 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.css +4 -4
- 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 +45 -5
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.js +43 -1
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.js +23 -4
- package/dist/collection/components/vega-calendar/vega-calendar.js +77 -1
- package/dist/collection/components/vega-code-block/vega-code-block.css +4 -4
- 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-item/slimmers/renderers/vega-dropdown-item-renderer.js +2 -2
- 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.js +7 -5
- package/dist/collection/components/vega-flag-icon/slimmers/controllers/vega-flag-icon-controller.js +6 -6
- package/dist/collection/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.js +4 -8
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +19 -2
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-prefix-icon-renderer.js +8 -28
- package/dist/collection/components/vega-input-select/vega-input-select.js +3 -1
- 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 +9 -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/blocks/block.abstract.js +11 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +11 -2
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +18 -6
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
- 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/extensions/base-toolbar-button-renderer.js +30 -18
- 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/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/dto/logic-control-node.js +6 -0
- 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/horizontal-line/renderers/horizontal-line-toolbar-button-renderer.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/special-characters/special-characters-toolbar-button-renderer.js +2 -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/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/insert-composition-text-controller.js +2 -1
- 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 +17 -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/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-segment-control/slimmers/renderers/vega-segment-renderer.js +8 -1
- package/dist/collection/components/vega-segment-control/vega-segment-control.js +23 -0
- package/dist/collection/components/vega-table/slimmers/controllers/dto/column-render-input-model.js +25 -8
- package/dist/collection/components/vega-table/slimmers/controllers/dto/row-render-input-model.js +41 -0
- package/dist/collection/components/vega-table/slimmers/controllers/vega-table-head-template-structure-controller.js +1 -0
- package/dist/collection/components/vega-table/slimmers/controllers/vega-table-render-input-controller.js +316 -18
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-renderer.js +6 -1
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-header-renderer.js +1 -0
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +33 -530
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-row-renderer.js +1 -0
- package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.css +10 -0
- package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +25 -8
- package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.js +14 -6
- package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.css +20 -0
- package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.js +7 -0
- package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +21 -2
- package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.css +10 -0
- package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.js +12 -1
- package/dist/collection/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.js +20 -13
- package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.css +26 -0
- package/dist/collection/components/vega-table/vega-table-foot-row/vega-table-foot-row.js +12 -0
- package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.css +10 -0
- package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +19 -6
- package/dist/collection/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.js +21 -46
- package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.css +16 -7
- package/dist/collection/components/vega-table/vega-table-head-row/vega-table-head-row.js +9 -2
- package/dist/collection/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.js +28 -13
- package/dist/collection/components/vega-table/vega-table-row/vega-table-row.css +26 -0
- package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +11 -0
- package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-border-tokens.js +1 -1
- package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-color-tokens.js +20 -20
- package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-ring-tokens.js +1 -1
- package/dist/collection/constants/tokens/themes/v2-new-brand/dark-mode-shadow-tokens.js +1 -1
- package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-border-tokens.js +1 -1
- package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-color-tokens.js +19 -19
- package/dist/collection/constants/tokens/themes/v2-new-brand/light-mode-shadow-tokens.js +1 -1
- package/dist/collection/constants/ui.js +1 -0
- package/dist/collection/global/scripts/before-vega-load.js +10 -0
- package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +10 -2
- package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +1 -0
- package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +3 -1
- 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/public-api.js +1 -0
- package/dist/collection/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.js +1 -1
- package/dist/collection/helpers/slimmers/position-calculation/position-calculation-controller.js +8 -0
- package/dist/collection/helpers/slimmers/position-calculation/screen-position-calculation-strategy.js +10 -0
- package/dist/collection/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.js +2 -0
- package/dist/collection/helpers/translation/locales/en.js +15 -0
- package/dist/collection/helpers/ui/element-appender.js +1 -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/esm/{accessibility-6af5cf2e.js → accessibility-c899a968.js} +21 -1
- package/dist/esm/{action-color-accessibility-validator-08877515.js → action-color-accessibility-validator-3e824a59.js} +1 -1
- package/dist/esm/{app-globals-c59364c2.js → app-globals-ad3c7cea.js} +19 -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-27a6aa19.js} +3 -3
- package/dist/esm/{child-nodes-event-prevent-slimmer-82626871.js → child-nodes-event-prevent-slimmer-0ebcbf47.js} +1 -1
- package/dist/esm/{child-nodes-notify-observer-slimmer-499a3aa7.js → child-nodes-notify-observer-slimmer-034bc78c.js} +1 -1
- package/dist/esm/{code-block-e6443949.js → code-block-1cdf7a51.js} +816 -754
- package/dist/esm/{component-value-history-controller-slimmer.abstract-ee393213.js → component-value-history-controller-slimmer.abstract-bdeeb43f.js} +6 -6
- package/dist/esm/{content-state-43cdacff.js → content-state-6eb610b8.js} +48 -6
- package/dist/esm/countries-50d3339b.js +249 -0
- package/dist/esm/{dark-mode-style-controller-352f15ff.js → dark-mode-style-controller-4e04a2d3.js} +45 -45
- package/dist/esm/{date-required-rule-b5b67498.js → date-required-rule-2ea3aec8.js} +1 -1
- package/dist/esm/{design-token-8319bb59.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-c81d1fe3.js → element-appender-slimmer-dd4e2908.js} +24 -5
- package/dist/esm/{event-emit-slimmer-2452278f.js → event-emit-slimmer-12ee1593.js} +2 -2
- package/dist/esm/{form-field-controller-slimmer-511b7ac5.js → form-field-controller-slimmer-5c794b4d.js} +5 -5
- package/dist/esm/{image-annotation-action-d7cb80aa.js → image-annotation-action-cdd50dcc.js} +9 -8
- package/dist/esm/{image-extension-9b8abd0d.js → image-extension-f6dbd70c.js} +2 -2
- package/dist/esm/index.js +24 -23
- package/dist/esm/{inject-keyboard-manager-dd368d56.js → inject-keyboard-manager-6a10c9b7.js} +1 -1
- package/dist/esm/{internal-calendar-period-factory-d58f35c6.js → internal-calendar-period-factory-d1a60f81.js} +1 -1
- package/dist/esm/{internal-translation-controller-b33430c6.js → internal-translation-controller-fff376d2.js} +15 -0
- package/dist/esm/{internal-vega-event-manager-2ecc9186.js → internal-vega-event-manager-0c381f3b.js} +10 -2
- package/dist/esm/{keyboard-manager-b4a0d97d.js → keyboard-manager-a58288df.js} +13 -6
- package/dist/esm/{keyboard-manager-slimmer-0517fc70.js → keyboard-manager-slimmer-133b86cd.js} +1 -1
- package/dist/esm/{link-extension-230bae8d.js → link-extension-bc234cf7.js} +3 -3
- package/dist/esm/loader.js +19 -18
- package/dist/esm/{month-view-generator-f470caac.js → month-view-generator-20e32b22.js} +1 -1
- package/dist/esm/overlay-escape-coordination-439f7d6f.js +35 -0
- package/dist/esm/{public-rules-28ef32d3.js → public-rules-8dc3fb00.js} +11 -11
- package/dist/esm/{range-efad2578.js → range-d2439ba7.js} +2 -2
- package/dist/esm/{responsive-format-facade-dec87e46.js → responsive-format-facade-07843ec3.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-a697e5bd.js → rich-text-editor-required-rule-a0663a84.js} +1 -1
- package/dist/esm/{split-cell-operation-89b91a38.js → split-cell-operation-1a889fa0.js} +5 -5
- package/dist/esm/{state-border-formatter-1e900a2f.js → state-border-formatter-3b3dcfe8.js} +1 -1
- package/dist/esm/{string-format-strategy.abstract-d0ce3f65.js → string-format-strategy.abstract-44381dcb.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-6546cfc7.js → string-input-formatter-slimmer-69887c40.js} +4 -4
- package/dist/esm/{string-mask-strategy-dd13ae21.js → string-mask-strategy-999fba4b.js} +2 -2
- package/dist/esm/{style-formatter-057d7120.js → style-formatter-c4192c99.js} +2 -2
- package/dist/esm/{sub-state-notify-slimmer-23b7d0e8.js → sub-state-notify-slimmer-ba72f30b.js} +2 -2
- package/dist/esm/{sub-state-observer-slimmer-722f6b92.js → sub-state-observer-slimmer-bee1c7fa.js} +3 -3
- package/dist/esm/{time-required-rule-73753a54.js → time-required-rule-0554b114.js} +1 -1
- package/dist/esm/{token-extension-74a0eeb1.js → token-extension-530d9bde.js} +813 -56
- package/dist/esm/{translation-slimmer-ef970ffc.js → translation-slimmer-77022f2e.js} +1 -1
- package/dist/esm/{type-guard-6fc96870.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-b54a31e7.js → valid-credit-card-number-rule-f60b6904.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +11 -11
- package/dist/esm/vega-app-footer.entry.js +6 -6
- package/dist/esm/vega-app-header-button.entry.js +12 -12
- package/dist/esm/vega-backdrop.entry.js +1 -1
- package/dist/esm/vega-banner.entry.js +6 -6
- package/dist/esm/vega-box.entry.js +7 -7
- package/dist/esm/vega-brand-logo.entry.js +1 -1
- package/dist/esm/vega-breadcrumb.entry.js +6 -6
- package/dist/esm/vega-button-circle.entry.js +14 -14
- package/dist/esm/vega-button-group_2.entry.js +22 -15
- package/dist/esm/vega-button-link.entry.js +10 -10
- package/dist/esm/vega-button.entry.js +29 -13
- package/dist/esm/vega-calendar_5.entry.js +132 -26
- package/dist/esm/vega-card.entry.js +6 -6
- package/dist/esm/vega-carousel.entry.js +9 -9
- package/dist/esm/vega-checkbox_2.entry.js +12 -12
- package/dist/esm/vega-chip.entry.js +12 -12
- package/dist/esm/vega-code-block.entry.js +17 -17
- package/dist/esm/vega-color-picker.entry.js +10 -10
- package/dist/esm/vega-color-swatch-picker.entry.js +11 -11
- package/dist/esm/vega-color-swatch.entry.js +8 -8
- package/dist/esm/vega-combo-box.entry.js +17 -17
- package/dist/esm/vega-date-picker_2.entry.js +24 -24
- package/dist/esm/vega-dialog_2.entry.js +78 -12
- package/dist/esm/vega-divider.entry.js +5 -5
- package/dist/esm/vega-dropdown_5.entry.js +111 -28
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/{vega-event-id-f55f6977.js → vega-event-id-59cd9297.js} +2 -1
- package/dist/esm/vega-field-label.entry.js +31 -38
- package/dist/esm/vega-file-uploader.entry.js +11 -11
- package/dist/esm/vega-flag-icon.entry.js +11 -11
- 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 +12 -12
- package/dist/esm/vega-grid.entry.js +6 -6
- package/dist/esm/vega-icon.entry.js +6 -6
- package/dist/esm/vega-image-uploader.entry.js +15 -15
- package/dist/esm/vega-input-credit-card.entry.js +14 -14
- package/dist/esm/vega-input-numeric.entry.js +14 -14
- package/dist/esm/vega-input-passcode.entry.js +13 -13
- package/dist/esm/vega-input-phone-number.entry.js +55 -274
- package/dist/esm/vega-input-range.entry.js +12 -12
- package/dist/esm/vega-input-select.entry.js +41 -41
- package/dist/esm/vega-input.entry.js +16 -16
- package/dist/esm/{vega-internal-event-id-86fce049.js → vega-internal-event-id-02093067.js} +4 -2
- package/dist/esm/vega-item-toggle.entry.js +5 -5
- package/dist/esm/vega-left-nav_5.entry.js +16 -16
- package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
- package/dist/esm/vega-page-notification_2.entry.js +4 -4
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +6 -6
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
- package/dist/esm/vega-pagination.entry.js +11 -11
- package/dist/esm/vega-popover_2.entry.js +65 -16
- package/dist/esm/vega-progress-tracker_2.entry.js +12 -12
- package/dist/esm/vega-radio_2.entry.js +15 -15
- package/dist/esm/vega-rich-text-content.entry.js +18 -15
- package/dist/esm/vega-rich-text-editor_4.entry.js +715 -253
- package/dist/esm/vega-rich-text-find-replace-panel.entry.js +8 -8
- package/dist/esm/vega-rich-text-special-characters-panel.entry.js +10 -10
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +163 -110
- package/dist/esm/vega-segment-control.entry.js +13 -6
- package/dist/esm/vega-selection-chip_2.entry.js +14 -14
- package/dist/esm/vega-selection-tile_2.entry.js +12 -12
- package/dist/esm/vega-sidenav_3.entry.js +12 -12
- package/dist/esm/vega-signature-capture.entry.js +14 -14
- package/dist/esm/vega-stepper.entry.js +10 -10
- package/dist/esm/vega-tab-group_2.entry.js +9 -9
- package/dist/esm/vega-table_11.entry.js +627 -668
- package/dist/esm/vega-textarea.entry.js +10 -10
- package/dist/esm/vega-time-picker_2.entry.js +18 -18
- package/dist/esm/vega-toggle-switch.entry.js +10 -10
- package/dist/esm/vega-tooltip_2.entry.js +9 -9
- package/dist/esm/vega.js +19 -18
- package/dist/esm/{wait-for-component-did-render-ff7062aa.js → wait-for-component-did-render-9e84d92d.js} +2 -2
- package/dist/sri/vega-sri-manifest.json +415 -407
- 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/slimmers/common/renderers/vega-calendar-event-item-renderer.d.ts +18 -0
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-preview-popover-renderer.d.ts +9 -0
- package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-event-renderer.d.ts +9 -1
- package/dist/types/components/vega-calendar/types.d.ts +22 -0
- package/dist/types/components/vega-calendar/vega-calendar.d.ts +23 -1
- 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-flag-icon/slimmers/controllers/vega-flag-icon-controller.d.ts +2 -2
- package/dist/types/components/vega-input-phone-number/slimmers/renderers/country-select-renderer.d.ts +0 -1
- package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.d.ts +8 -0
- package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-prefix-icon-renderer.d.ts +2 -14
- package/dist/types/components/vega-input-select/vega-input-select.d.ts +1 -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 +6 -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/blocks/block.abstract.d.ts +6 -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/blocks/text-block.d.ts +11 -1
- package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
- 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/extensions/base-toolbar-button-renderer.d.ts +5 -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/dto/logic-control-node.d.ts +4 -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/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/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 +12 -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/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 +3 -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-segment-control/slimmers/renderers/vega-segment-renderer.d.ts +1 -0
- package/dist/types/components/vega-segment-control/types.d.ts +2 -0
- package/dist/types/components/vega-segment-control/vega-segment-control.d.ts +7 -1
- package/dist/types/components/vega-table/slimmers/controllers/dto/column-render-input-model.d.ts +17 -0
- package/dist/types/components/vega-table/slimmers/controllers/dto/row-render-input-model.d.ts +39 -0
- package/dist/types/components/vega-table/slimmers/controllers/vega-table-render-input-controller.d.ts +71 -7
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-renderer.d.ts +1 -0
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +3 -88
- package/dist/types/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.d.ts +1 -1
- package/dist/types/components/vega-table/vega-table-expand-row/vega-table-expand-row.d.ts +5 -0
- package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.d.ts +1 -0
- package/dist/types/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.d.ts +5 -0
- package/dist/types/components/vega-table/vega-table-foot-row/slimmers/renderers/vega-table-foot-row-renderer.d.ts +1 -3
- package/dist/types/components/vega-table/vega-table-foot-row/vega-table-foot-row.d.ts +5 -0
- package/dist/types/components/vega-table/vega-table-head-row/slimmers/renderers/vega-table-head-row-renderer.d.ts +0 -4
- package/dist/types/components/vega-table/vega-table-head-row/vega-table-head-row.d.ts +2 -2
- package/dist/types/components/vega-table/vega-table-row/slimmers/renderers/vega-table-row-renderer.d.ts +2 -3
- package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +4 -0
- package/dist/types/components.d.ts +33 -2
- package/dist/types/constants/ui.d.ts +1 -1
- package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
- package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +3 -1
- 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/public-api.d.ts +1 -0
- package/dist/types/helpers/slimmers/mutation-observer/aria-attributes-value-mapper.d.ts +1 -1
- package/dist/types/helpers/slimmers/position-calculation/position-calculation-controller.d.ts +6 -0
- package/dist/types/helpers/slimmers/position-calculation/screen-position-calculation-strategy.d.ts +6 -0
- package/dist/types/helpers/slimmers/position-calculation/screen-scroll-position-update.d.ts +2 -1
- package/dist/types/helpers/slimmers/vega-table-child-render-input-consumer-slimmer.d.ts +2 -1
- package/dist/types/helpers/translation/interface.d.ts +16 -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/components.type.d.ts +7 -1
- package/dist/types/types/public-api.d.ts +2 -0
- package/dist/types/utils/accessibility.d.ts +9 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-022cbf8a.js +1 -0
- package/dist/vega/{p-c8ad7207.entry.js → p-02c1284e.entry.js} +1 -1
- package/dist/vega/{p-22edd3cc.js → p-069bbb4a.js} +1 -1
- package/dist/vega/p-08fd229c.js +1 -0
- package/dist/vega/{p-fcb6b499.js → p-0eea1ca8.js} +1 -1
- package/dist/vega/{p-ba6881da.entry.js → p-131ce9df.entry.js} +1 -1
- package/dist/vega/{p-024db952.entry.js → p-143ee395.entry.js} +1 -1
- package/dist/vega/p-178634f3.js +1 -0
- package/dist/vega/{p-9e9f49f4.js → p-1836a6a5.js} +1 -1
- package/dist/vega/p-1dbf8d1f.js +1 -0
- package/dist/vega/{p-d4d90ce2.entry.js → p-2b26e182.entry.js} +1 -1
- package/dist/vega/p-2dda5c65.entry.js +1 -0
- package/dist/vega/{p-df63c2fb.entry.js → p-30010c41.entry.js} +1 -1
- package/dist/vega/p-32f5a6dd.entry.js +1 -0
- package/dist/vega/{p-3c8421d5.entry.js → p-3460a1c5.entry.js} +1 -1
- package/dist/vega/p-34b523da.entry.js +1 -0
- package/dist/vega/p-357c0226.entry.js +1 -0
- package/dist/vega/p-361f8996.js +1 -0
- package/dist/vega/{p-526e3634.js → p-36a57431.js} +1 -1
- package/dist/vega/p-36ee9d54.js +1 -0
- package/dist/vega/{p-6659c910.entry.js → p-37d5c37e.entry.js} +1 -1
- package/dist/vega/{p-47a48329.entry.js → p-3d6a43df.entry.js} +1 -1
- package/dist/vega/{p-0ca3b4bf.entry.js → p-45ad2d90.entry.js} +1 -1
- package/dist/vega/{p-fb9475ab.entry.js → p-4b117bfd.entry.js} +1 -1
- package/dist/vega/p-4b35c748.js +1 -0
- package/dist/vega/{p-55dc3053.entry.js → p-4e23e56c.entry.js} +1 -1
- package/dist/vega/p-4e70836a.entry.js +1 -0
- package/dist/vega/{p-66647244.js → p-4ea477d5.js} +1 -1
- package/dist/vega/{p-5147c30d.entry.js → p-50e8e24f.entry.js} +1 -1
- package/dist/vega/{p-9c5289dc.entry.js → p-522a6eec.entry.js} +1 -1
- package/dist/vega/p-53e3f259.js +1 -0
- package/dist/vega/{p-2c737fc8.js → p-5536146c.js} +1 -1
- package/dist/vega/{p-944e284d.entry.js → p-55c2c0df.entry.js} +1 -1
- package/dist/vega/p-587130f6.entry.js +1 -0
- package/dist/vega/{p-9c9b0629.js → p-58c8a4ac.js} +1 -1
- package/dist/vega/{p-4f6aaac5.entry.js → p-594cb986.entry.js} +1 -1
- package/dist/vega/{p-b12de1bf.entry.js → p-5c17ddda.entry.js} +1 -1
- package/dist/vega/{p-7977352b.entry.js → p-5c9c0c0d.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/p-60010f14.entry.js +1 -0
- package/dist/vega/p-6098c4bb.js +1 -0
- package/dist/vega/{p-2044eba9.js → p-60a74fb7.js} +1 -1
- package/dist/vega/p-61e63c0e.entry.js +1 -0
- package/dist/vega/{p-49d7cfed.entry.js → p-62254dc7.entry.js} +1 -1
- package/dist/vega/{p-2af1d8b8.entry.js → p-62ae9327.entry.js} +1 -1
- package/dist/vega/{p-b3c4943b.js → p-638b6a7d.js} +1 -1
- package/dist/vega/p-66245bc0.entry.js +1 -0
- package/dist/vega/{p-bdb5180c.js → p-68744e7e.js} +1 -1
- package/dist/vega/{p-f0a0fc77.entry.js → p-68ca8d3c.entry.js} +1 -1
- package/dist/vega/p-6a6c1279.js +1 -0
- package/dist/vega/{p-5e9e04f3.entry.js → p-6ae93679.entry.js} +1 -1
- package/dist/vega/{p-433b1395.entry.js → p-6d90d28d.entry.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-c348eaf5.js → p-6fae6768.js} +1 -1
- package/dist/vega/p-71813a9e.entry.js +1 -0
- package/dist/vega/{p-860e76f5.entry.js → p-729529d6.entry.js} +1 -1
- package/dist/vega/{p-aa433430.entry.js → p-75bfbffe.entry.js} +1 -1
- package/dist/vega/{p-d6023dc0.entry.js → p-764b4e51.entry.js} +1 -1
- package/dist/vega/p-77bcdd35.js +1 -0
- package/dist/vega/{p-c41a2d4a.js → p-7d3419c7.js} +1 -1
- package/dist/vega/p-8387896e.js +1 -0
- package/dist/vega/p-853a05eb.js +1 -0
- package/dist/vega/{p-db11134b.entry.js → p-8e8b5790.entry.js} +1 -1
- package/dist/vega/{p-444e24c6.js → p-8ebe30a8.js} +1 -1
- package/dist/vega/p-8f00dfe6.js +1 -0
- package/dist/vega/{p-4022412e.entry.js → p-9236b8d9.entry.js} +1 -1
- package/dist/vega/p-9402f32f.js +1 -0
- package/dist/vega/{p-691bdc20.js → p-941a83db.js} +1 -1
- package/dist/vega/{p-840444c9.entry.js → p-942f9ea6.entry.js} +1 -1
- package/dist/vega/{p-5110c84f.js → p-96c090c4.js} +1 -1
- package/dist/vega/{p-328ebbdb.entry.js → p-9fdf66a8.entry.js} +1 -1
- package/dist/vega/{p-867cc602.entry.js → p-a2c45173.entry.js} +1 -1
- package/dist/vega/{p-66fe8b4e.entry.js → p-a54ed341.entry.js} +1 -1
- package/dist/vega/{p-44999c88.entry.js → p-a6a89f09.entry.js} +1 -1
- package/dist/vega/{p-ccbed811.entry.js → p-a8a246e8.entry.js} +1 -1
- package/dist/vega/p-a93b3aed.js +1 -0
- package/dist/vega/{p-528748fa.js → p-aa135628.js} +1 -1
- package/dist/vega/{p-a1f220ca.js → p-ab9d53e9.js} +1 -1
- package/dist/vega/{p-e18c0656.entry.js → p-af0cfea0.entry.js} +1 -1
- package/dist/vega/p-af0e9bd5.entry.js +1 -0
- package/dist/vega/{p-daba4af1.js → p-b1557bbe.js} +1 -1
- package/dist/vega/{p-f13b39d8.js → p-b2a4314a.js} +1 -1
- package/dist/vega/p-b94f164a.entry.js +1 -0
- package/dist/vega/{p-23c1f378.entry.js → p-b97ed9f7.entry.js} +1 -1
- package/dist/vega/{p-1a37d63c.entry.js → p-bbfffe6b.entry.js} +1 -1
- package/dist/vega/{p-aa914dbd.entry.js → p-beccc38c.entry.js} +1 -1
- package/dist/vega/{p-dd0bd78b.js → p-c34f4cbc.js} +1 -1
- package/dist/vega/p-c51de680.js +3 -0
- package/dist/vega/{p-e1c82ca9.js → p-c576e846.js} +1 -1
- package/dist/vega/p-c601eea6.js +1 -0
- package/dist/vega/{p-200c8914.entry.js → p-c6d2513c.entry.js} +1 -1
- package/dist/vega/{p-d62e618a.entry.js → p-ca6bd3a0.entry.js} +1 -1
- package/dist/vega/{p-ce82d6bb.entry.js → p-cab890be.entry.js} +1 -1
- package/dist/vega/p-cb1cd15f.entry.js +1 -0
- package/dist/vega/p-d1f47512.js +1 -0
- package/dist/vega/{p-66a785d0.entry.js → p-d37d2ea4.entry.js} +1 -1
- package/dist/vega/{p-2f89ee14.entry.js → p-d3e99d4a.entry.js} +1 -1
- package/dist/vega/{p-f9bfee81.entry.js → p-d6bd3ce4.entry.js} +1 -1
- package/dist/vega/{p-f2384411.entry.js → p-d7838f6e.entry.js} +1 -1
- package/dist/vega/{p-a4360b7e.entry.js → p-d8c9ea46.entry.js} +1 -1
- package/dist/vega/p-d9588b3f.entry.js +1 -0
- package/dist/vega/p-db69a5c9.entry.js +1 -0
- package/dist/vega/{p-50eda925.js → p-de1d0284.js} +1 -1
- package/dist/vega/{p-3c559c8b.js → p-de6fc52c.js} +1 -1
- package/dist/vega/{p-fa5cd8b1.js → p-e14323f3.js} +1 -1
- package/dist/vega/{p-bd7725f7.entry.js → p-e48b7a8a.entry.js} +1 -1
- package/dist/vega/p-e6f67a44.js +1 -0
- package/dist/vega/{p-7754b10f.entry.js → p-e8e3bf74.entry.js} +1 -1
- package/dist/vega/p-eadc10bc.entry.js +1 -0
- package/dist/vega/p-ee329596.entry.js +1 -0
- package/dist/vega/p-f01bc6a2.js +1 -0
- package/dist/vega/{p-94b54a95.js → p-f324e90e.js} +1 -1
- package/dist/vega/{p-f9a3805d.js → p-f48519d2.js} +1 -1
- package/dist/vega/{p-52878ea9.js → p-f485448a.js} +1 -1
- package/dist/vega/{p-4afd6715.entry.js → p-f8b2dbb9.entry.js} +1 -1
- package/dist/vega/{p-35d37477.entry.js → p-f8d13d01.entry.js} +1 -1
- package/dist/vega/{p-4370b954.entry.js → p-f902305d.entry.js} +1 -1
- package/dist/vega/{p-3c152bad.entry.js → p-f99f054c.entry.js} +1 -1
- package/dist/vega/{p-77fb3971.entry.js → p-fe41e3b6.entry.js} +1 -1
- 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/vega/p-0b2c4c0b.js +0 -1
- package/dist/vega/p-1fa22fda.js +0 -1
- package/dist/vega/p-2529820e.js +0 -1
- package/dist/vega/p-35628af4.js +0 -1
- package/dist/vega/p-3a230d4b.entry.js +0 -1
- package/dist/vega/p-3a620268.js +0 -1
- package/dist/vega/p-4473d8b1.js +0 -3
- package/dist/vega/p-4a2fe3a4.js +0 -1
- package/dist/vega/p-5447a8e8.js +0 -1
- package/dist/vega/p-5af312f8.js +0 -1
- package/dist/vega/p-5b3c8a56.js +0 -1
- package/dist/vega/p-6493f13a.entry.js +0 -1
- package/dist/vega/p-66728dd4.entry.js +0 -1
- package/dist/vega/p-67e88cd7.entry.js +0 -1
- package/dist/vega/p-67eaf77e.js +0 -1
- package/dist/vega/p-6d6b4495.entry.js +0 -1
- package/dist/vega/p-7b133734.entry.js +0 -1
- package/dist/vega/p-7b84a943.entry.js +0 -1
- package/dist/vega/p-83ad8988.js +0 -1
- package/dist/vega/p-8c30a60d.js +0 -1
- package/dist/vega/p-8d2a9012.js +0 -1
- package/dist/vega/p-8d4be607.js +0 -1
- package/dist/vega/p-8d77c7cf.js +0 -1
- package/dist/vega/p-8f3b93db.js +0 -1
- package/dist/vega/p-9c2b3279.js +0 -1
- package/dist/vega/p-9c9ff871.entry.js +0 -1
- package/dist/vega/p-9d90e271.entry.js +0 -1
- package/dist/vega/p-a7517760.entry.js +0 -1
- package/dist/vega/p-c8fb3aac.entry.js +0 -1
- package/dist/vega/p-cede3535.js +0 -1
- package/dist/vega/p-cf4b3d40.entry.js +0 -1
- package/dist/vega/p-d35a31a5.entry.js +0 -1
- package/dist/vega/p-ded1ecc1.entry.js +0 -1
- package/dist/vega/p-e1a65e06.entry.js +0 -1
- package/dist/vega/p-e469ba27.entry.js +0 -1
- package/dist/vega/p-e4c5cb4f.js +0 -1
- package/dist/vega/p-fd23c365.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,79 @@
|
|
|
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 { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
|
+
import { RTE_WORD_COUNT_KEY } from '../../constants/constant';
|
|
9
|
+
import { deepEqual } from '../../../../utils/object';
|
|
10
|
+
import { isNonNullable } from '../../../../types/type-guard';
|
|
11
|
+
/**
|
|
12
|
+
* Bridges the word count extension to the editor component so the footer UI can
|
|
13
|
+
* read whether the character count should be shown and its current value.
|
|
14
|
+
*/
|
|
15
|
+
export class WordCountController extends VegaSlimmer {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
this.cachedValue = null;
|
|
19
|
+
this.cachedConfig = null;
|
|
20
|
+
this.cachedData = null;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Whether the character count UI should be rendered.
|
|
24
|
+
*
|
|
25
|
+
* @returns {boolean} True when a word count extension requests the UI.
|
|
26
|
+
*/
|
|
27
|
+
shouldShowUI() {
|
|
28
|
+
var _a;
|
|
29
|
+
return !!((_a = this.findWordCountExtension()) === null || _a === void 0 ? void 0 : _a.getConfig().showCharCount);
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Compute the current character count data from the editor content.
|
|
33
|
+
*
|
|
34
|
+
* @returns {Nullable<VegaRTEWordCountData>} The count data or null when no word count extension is registered.
|
|
35
|
+
*/
|
|
36
|
+
getData() {
|
|
37
|
+
const extension = this.findWordCountExtension();
|
|
38
|
+
if (!extension) {
|
|
39
|
+
return null;
|
|
40
|
+
}
|
|
41
|
+
const value = this.host.value;
|
|
42
|
+
const config = extension.getConfig();
|
|
43
|
+
// VegaRTEContent is immutable, so a matching value/config reference means the data is unchanged.
|
|
44
|
+
if (this.cachedData && value === this.cachedValue && deepEqual(config, this.cachedConfig)) {
|
|
45
|
+
return this.cachedData;
|
|
46
|
+
}
|
|
47
|
+
this.cachedData = extension.getData(value);
|
|
48
|
+
this.cachedValue = value;
|
|
49
|
+
this.cachedConfig = config;
|
|
50
|
+
return this.cachedData;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Whether the word count extension gates commits with a hard character limit.
|
|
54
|
+
*
|
|
55
|
+
* @returns {boolean} True when a hard limit with a max character count is configured for this host.
|
|
56
|
+
*/
|
|
57
|
+
hasWordCountHardLimit() {
|
|
58
|
+
var _a;
|
|
59
|
+
const config = (_a = this.findWordCountExtension()) === null || _a === void 0 ? void 0 : _a.getConfig();
|
|
60
|
+
return !!config && Boolean(config.hardLimit) && isNonNullable(config.maxChars);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Locate the word count extension by its runtime `type` discriminator.
|
|
64
|
+
* Use this way instead of instanceof to avoid direct dependency on the extension class.
|
|
65
|
+
*
|
|
66
|
+
* @returns {Nullable<VegaRTEWordCountExtension>} The word count extension or null.
|
|
67
|
+
*/
|
|
68
|
+
findWordCountExtension() {
|
|
69
|
+
var _a;
|
|
70
|
+
const extension = ((_a = this.extensions) !== null && _a !== void 0 ? _a : []).find((ext) => 'type' in ext && ext['type'] === RTE_WORD_COUNT_KEY);
|
|
71
|
+
return extension !== null && extension !== void 0 ? extension : null;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
__decorate([
|
|
75
|
+
MapToComponentField()
|
|
76
|
+
], WordCountController.prototype, "extensions", void 0);
|
|
77
|
+
__decorate([
|
|
78
|
+
MapToComponentField()
|
|
79
|
+
], WordCountController.prototype, "host", void 0);
|
package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js
CHANGED
|
@@ -54,14 +54,17 @@ export class ToolbarRenderer extends VegaSlimmer {
|
|
|
54
54
|
const [renderedItems, totalVisibleCount] = this.renderToolbarItems();
|
|
55
55
|
return (h("vega-flex", { gap: "size-8", alignItems: "center", flexWrap: "wrap" },
|
|
56
56
|
this.allowSourceEdit && (h(Fragment, null,
|
|
57
|
-
h("div", { class: "toolbar-btn-group" }, this.sourceEditToolbarButtonSlimmer.render()),
|
|
57
|
+
h("div", { class: "toolbar-btn-group", role: "presentation" }, this.sourceEditToolbarButtonSlimmer.render()),
|
|
58
58
|
this.uniqueToolbarItems.length > 0 &&
|
|
59
59
|
totalVisibleCount > 0 &&
|
|
60
60
|
this.renderVegaDivider())),
|
|
61
61
|
renderedItems));
|
|
62
62
|
}
|
|
63
63
|
renderVegaDivider() {
|
|
64
|
-
|
|
64
|
+
// Mark the divider as decorative so screen readers (e.g. VoiceOver
|
|
65
|
+
// on Firefox) skip it when navigating from the Edit Source button
|
|
66
|
+
// to the next toolbar item.
|
|
67
|
+
return (h("vega-box", { height: "size-32", "aria-hidden": "true", role: "presentation" },
|
|
65
68
|
h("vega-divider", { direction: "vertical" })));
|
|
66
69
|
}
|
|
67
70
|
/**
|
|
@@ -100,7 +103,7 @@ export class ToolbarRenderer extends VegaSlimmer {
|
|
|
100
103
|
return null;
|
|
101
104
|
})
|
|
102
105
|
.filter(isNonNullable);
|
|
103
|
-
return (h("div", { class: { 'toolbar-btn-group': true, 'vega-hidden': visibleCountPerGroup < 1 } }, groupElement));
|
|
106
|
+
return (h("div", { class: { 'toolbar-btn-group': true, 'vega-hidden': visibleCountPerGroup < 1 }, role: "presentation" }, groupElement));
|
|
104
107
|
});
|
|
105
108
|
return [renderedItems, totalVisibleCount];
|
|
106
109
|
}
|
|
@@ -22,6 +22,7 @@ export class BulletsNumbersToolbarButtonSlimmer extends VisualModeToolbarButtonS
|
|
|
22
22
|
tooltip: {
|
|
23
23
|
text: 'Bullets',
|
|
24
24
|
},
|
|
25
|
+
ariaLabel: 'Bullets and Numbers',
|
|
25
26
|
});
|
|
26
27
|
this.bulletsToolbarButtonSlimmer = new BulletsToolbarButtonSlimmer();
|
|
27
28
|
this.numbersToolbarButtonSlimmer = new NumbersToolbarButtonSlimmer();
|
|
@@ -42,7 +43,7 @@ export class BulletsNumbersToolbarButtonSlimmer extends VisualModeToolbarButtonS
|
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
renderBtnWrapper(renderBtn) {
|
|
45
|
-
return (h("vega-popover", { showArrow: false, trigger: "click", placement: "bottom", alignment: "center", isScreenPosition: true, ref: (ref) => (this.popoverRef = ref) },
|
|
46
|
+
return (h("vega-popover", { showArrow: false, trigger: "click", placement: "bottom", alignment: "center", isScreenPosition: true, role: "presentation", ref: (ref) => (this.popoverRef = ref) },
|
|
46
47
|
h("div", { slot: "popover-content" }, renderBtn({ showArrowIcon: true })),
|
|
47
48
|
h("div", { slot: "popover" }, this.renderContent())));
|
|
48
49
|
}
|
|
@@ -19,6 +19,7 @@ export class HorizontalAlignmentToolbarButtonSlimmer extends VisualModeToolbarBu
|
|
|
19
19
|
tooltip: {
|
|
20
20
|
text: 'Left Align',
|
|
21
21
|
},
|
|
22
|
+
ariaLabel: 'Horizontal Alignment',
|
|
22
23
|
});
|
|
23
24
|
this.leftAlignToolbarButtonSlimmer = new LeftAlignToolbarButtonSlimmer();
|
|
24
25
|
this.centerAlignToolbarButtonSlimmer = new CenterAlignToolbarButtonSlimmer();
|
|
@@ -43,7 +44,7 @@ export class HorizontalAlignmentToolbarButtonSlimmer extends VisualModeToolbarBu
|
|
|
43
44
|
}
|
|
44
45
|
}
|
|
45
46
|
renderBtnWrapper(renderBtn) {
|
|
46
|
-
return (h("vega-popover", { trigger: "click", showArrow: false, alignment: "center", placement: "bottom", isScreenPosition: true, ref: (ref) => (this.popoverRef = ref) },
|
|
47
|
+
return (h("vega-popover", { trigger: "click", showArrow: false, alignment: "center", placement: "bottom", isScreenPosition: true, role: "presentation", ref: (ref) => (this.popoverRef = ref) },
|
|
47
48
|
h("div", { slot: "popover-content" }, renderBtn({ showArrowIcon: true })),
|
|
48
49
|
h("div", { slot: "popover" }, this.renderContent())));
|
|
49
50
|
}
|
|
@@ -21,6 +21,7 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
21
21
|
icon: 'image',
|
|
22
22
|
tooltip: { text: 'Image' },
|
|
23
23
|
autoFocusOnClick: false,
|
|
24
|
+
ariaLabel: 'Insert Image',
|
|
24
25
|
});
|
|
25
26
|
this.insertURLImage = async () => {
|
|
26
27
|
const url = this.normalizeSafeImageUrl(this.insertURLInputRef.value);
|
|
@@ -78,8 +79,8 @@ export class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
78
79
|
if (!shouldRenderUpload && !shouldRenderUrlInsertion) {
|
|
79
80
|
return null;
|
|
80
81
|
}
|
|
81
|
-
return (h("vega-box",
|
|
82
|
-
shouldRenderDropdown ? (h("vega-dropdown", { selectType: "none", trigger: "click", alignment: "center", isScreenPosition: true, ref: (ref) => {
|
|
82
|
+
return (h("vega-box", { role: "presentation" },
|
|
83
|
+
shouldRenderDropdown ? (h("vega-dropdown", { selectType: "none", trigger: "click", alignment: "center", isScreenPosition: true, role: "presentation", ref: (ref) => {
|
|
83
84
|
this.dropdownRef = ref;
|
|
84
85
|
this.addDropdownObserver(ref);
|
|
85
86
|
} },
|
|
@@ -9,13 +9,17 @@ import link from '../../../assets/link';
|
|
|
9
9
|
import { h } from '@stencil/core';
|
|
10
10
|
import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
11
11
|
import { VegaChange } from '../../../../../helpers/event-manager/event-id/vega-event-id';
|
|
12
|
-
import { MapToComponentField } from 'vega-slimmer/core';
|
|
12
|
+
import { MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
|
|
13
13
|
import { LinkAnnotationAction } from '../../../dto/actions/link-annotation-action';
|
|
14
14
|
import { NodeAnnotationTypeEnum } from '../../../dto/annotations/node-annotation.abstract';
|
|
15
15
|
import { SelectionChangeAction } from '../../../dto/actions/selection-change-action';
|
|
16
16
|
import { generateUUID } from '../../../../../utils/misc';
|
|
17
17
|
import { waitForComponentDidRender } from '../../../../../helpers/common/wait-for-component-did-render';
|
|
18
18
|
import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
|
|
19
|
+
// One rAF is ~16 ms; 50 ms gives roughly two frames of buffer for the popover's
|
|
20
|
+
// internal focus trap to settle (and for screen readers such as VoiceOver to
|
|
21
|
+
// observe focus on <body>) before we restore focus to the trigger button.
|
|
22
|
+
const FOCUS_RESTORE_DELAY_MS = 50;
|
|
19
23
|
export class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
20
24
|
constructor() {
|
|
21
25
|
super({
|
|
@@ -23,7 +27,21 @@ export class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
23
27
|
tooltip: {
|
|
24
28
|
text: 'Link',
|
|
25
29
|
},
|
|
30
|
+
ariaLabel: 'Insert Link',
|
|
26
31
|
});
|
|
32
|
+
// Restoring focus to the link button on Escape: the popover lives in
|
|
33
|
+
// vega-rich-text-link-editor's shadow root and is portalled to <body>, so
|
|
34
|
+
// the popover's built-in focus trap can't put focus back on our trigger.
|
|
35
|
+
// We track an Escape press during the popover lifetime and restore focus
|
|
36
|
+
// on hide; submit / outside-click flows leave the flag false. Stale
|
|
37
|
+
// Escape presses (pressed while the popover was closed) are cleared by
|
|
38
|
+
// `handleWrapperClickCapture` on the next open.
|
|
39
|
+
this.escapePressedDuringPopover = false;
|
|
40
|
+
// Tracks whether the document-level keydown listener has been registered
|
|
41
|
+
// so it can be removed in disconnectedCallback. Without removal, document
|
|
42
|
+
// keeps a strong reference to this slimmer instance after the rich-text
|
|
43
|
+
// editor is destroyed, leaking memory.
|
|
44
|
+
this.documentKeydownRegistered = false;
|
|
27
45
|
this.handleLinkEditorChange = ({ detail, }) => {
|
|
28
46
|
switch (detail.action) {
|
|
29
47
|
case 'link': {
|
|
@@ -48,9 +66,97 @@ export class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
48
66
|
}
|
|
49
67
|
}
|
|
50
68
|
};
|
|
69
|
+
this.handleWrapperClickCapture = () => {
|
|
70
|
+
// Reset the Escape flag for each new open; only an Escape during this
|
|
71
|
+
// popover's lifetime should trigger focus restoration. Activating the
|
|
72
|
+
// trigger via keyboard (Enter / Space on the inner native <button>) also
|
|
73
|
+
// dispatches a synthetic click in the capture phase, so this handler
|
|
74
|
+
// runs in both pointer and keyboard activation paths. Also clears any
|
|
75
|
+
// stale Escape press recorded while the popover was closed. The
|
|
76
|
+
// `vegaPopoverShow` listener provides the same guarantee for
|
|
77
|
+
// programmatic-open paths that don't go through a wrapper click.
|
|
78
|
+
this.escapePressedDuringPopover = false;
|
|
79
|
+
};
|
|
80
|
+
this.handlePopoverShow = () => {
|
|
81
|
+
// Belt-and-suspenders reset for programmatic opens (e.g. an external
|
|
82
|
+
// caller invoking `linkEditorRef.show()`): without this, an Escape press
|
|
83
|
+
// recorded while the popover was previously closed could survive into
|
|
84
|
+
// the new open and trigger a spurious focus restore on the next hide.
|
|
85
|
+
this.escapePressedDuringPopover = false;
|
|
86
|
+
};
|
|
87
|
+
this.handleDocumentKeydown = (event) => {
|
|
88
|
+
// We cannot guard on a local `isPopoverOpen` flag here: vega-popover's
|
|
89
|
+
// own KeyboardManager registers its capture-phase keydown listener on
|
|
90
|
+
// document before this slimmer's listener, so it runs first, calls
|
|
91
|
+
// hidePopover(), and synchronously fires `vegaPopoverHide` — which
|
|
92
|
+
// would flip our flag to closed before this handler ever observes the
|
|
93
|
+
// Escape key. Instead, always record the Escape press; stale presses
|
|
94
|
+
// (made while the popover was closed) are cleared by
|
|
95
|
+
// `handleWrapperClickCapture` on the next open.
|
|
96
|
+
// Use `event.code` for consistency with vega-modal's Escape handling
|
|
97
|
+
// (vega-modal-open-state-controller.ts).
|
|
98
|
+
if (event.code === 'Escape') {
|
|
99
|
+
this.escapePressedDuringPopover = true;
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
this.handlePopoverHide = () => {
|
|
103
|
+
// vegaPopoverHide fires synchronously from the popover's own Escape
|
|
104
|
+
// handler — before our document-capture keydown observes the key, and
|
|
105
|
+
// before the popover's internal focus trap settles focus on <body>.
|
|
106
|
+
// Defer the decision/restore past that internal restore.
|
|
107
|
+
// eslint-disable-next-line no-restricted-globals
|
|
108
|
+
setTimeout(() => {
|
|
109
|
+
var _a, _b, _c, _d;
|
|
110
|
+
const shouldRestore = this.escapePressedDuringPopover;
|
|
111
|
+
this.escapePressedDuringPopover = false;
|
|
112
|
+
if (shouldRestore) {
|
|
113
|
+
// The toolbar button uses shadow DOM without delegatesFocus,
|
|
114
|
+
// so focusing the host is a no-op — focus the inner <button>.
|
|
115
|
+
// The toolbar button may have been removed from the DOM during
|
|
116
|
+
// the timeout window (e.g. editor destroyed), so guard each step.
|
|
117
|
+
/* istanbul ignore next */
|
|
118
|
+
(_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();
|
|
119
|
+
}
|
|
120
|
+
}, FOCUS_RESTORE_DELAY_MS);
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* Component lifecycle - [disconnectedCallback]
|
|
125
|
+
*
|
|
126
|
+
* Removes the document-level Escape listener registered in the wrapper
|
|
127
|
+
* ref callback so the slimmer instance is not retained by document after
|
|
128
|
+
* the rich-text editor is destroyed.
|
|
129
|
+
*/
|
|
130
|
+
disconnectedCallback() {
|
|
131
|
+
if (this.documentKeydownRegistered) {
|
|
132
|
+
// eslint-disable-next-line no-restricted-globals
|
|
133
|
+
document.removeEventListener('keydown', this.handleDocumentKeydown, { capture: true });
|
|
134
|
+
this.documentKeydownRegistered = false;
|
|
135
|
+
}
|
|
136
|
+
this.linkBtnWrapperRef = undefined;
|
|
51
137
|
}
|
|
52
138
|
renderBtnWrapper(renderBtn) {
|
|
53
|
-
return (h("div", { class: "toolbar-btn-link-wrapper", ref: (ref) =>
|
|
139
|
+
return (h("div", { class: "toolbar-btn-link-wrapper", role: "presentation", ref: (ref) => {
|
|
140
|
+
if (ref && ref !== this.linkBtnWrapperRef) {
|
|
141
|
+
this.linkBtnWrapperRef = ref;
|
|
142
|
+
ref.addEventListener('click', this.handleWrapperClickCapture, { capture: true });
|
|
143
|
+
// `vegaPopoverShow` clears any stale Escape recorded while the
|
|
144
|
+
// popover was closed, covering programmatic-open paths
|
|
145
|
+
// (e.g. linkEditorRef.show()) where no wrapper click fires.
|
|
146
|
+
ref.addEventListener('vegaPopoverShow', this.handlePopoverShow);
|
|
147
|
+
ref.addEventListener('vegaPopoverHide', this.handlePopoverHide);
|
|
148
|
+
// Esc inside the portalled popover doesn't bubble to the wrapper,
|
|
149
|
+
// so observe it on document capture. Tracked so it can be removed
|
|
150
|
+
// in disconnectedCallback to avoid leaking this slimmer instance.
|
|
151
|
+
if (!this.documentKeydownRegistered) {
|
|
152
|
+
// eslint-disable-next-line no-restricted-globals
|
|
153
|
+
document.addEventListener('keydown', this.handleDocumentKeydown, {
|
|
154
|
+
capture: true,
|
|
155
|
+
});
|
|
156
|
+
this.documentKeydownRegistered = true;
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
} },
|
|
54
160
|
renderBtn(),
|
|
55
161
|
h("vega-rich-text-link-editor", { resetStatusAfterHide: false, status: "linkEdit", ref: (ref) => {
|
|
56
162
|
if (ref) {
|
|
@@ -102,3 +208,6 @@ export class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
102
208
|
__decorate([
|
|
103
209
|
MapToComponentField()
|
|
104
210
|
], LinkToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
211
|
+
__decorate([
|
|
212
|
+
MapToComponentMethod('disconnectedCallback')
|
|
213
|
+
], LinkToolbarButtonSlimmer.prototype, "disconnectedCallback", null);
|
|
@@ -25,11 +25,25 @@ export class SourceEditToolbarButtonSlimmer extends ToolbarButtonSlimmer {
|
|
|
25
25
|
if (isSelected) {
|
|
26
26
|
await this.saveSourceCode();
|
|
27
27
|
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
28
|
+
// VD-8789 (keyboard a11y): the previous implementation cleared the editor
|
|
29
|
+
// selection here via `selectionController.setSelectionRange(new Range())`
|
|
30
|
+
// when entering source view. That call is intentionally removed so the
|
|
31
|
+
// caret position is preserved when toggling back to visual mode, and so
|
|
32
|
+
// the source-edit button can be re-activated from the keyboard without
|
|
33
|
+
// the selection being reset out from under the user.
|
|
31
34
|
this.sourceView = !isSelected;
|
|
32
35
|
}
|
|
36
|
+
// VD-8789 (keyboard a11y): the default `preventLostFocus` calls
|
|
37
|
+
// `e.preventDefault()` on mousedown so the button never receives focus and
|
|
38
|
+
// the rich-text editor selection is preserved. The source-edit toggle is
|
|
39
|
+
// different — activating it switches the editor to source-view mode, where
|
|
40
|
+
// the visual-mode selection is no longer relevant. We override with a no-op
|
|
41
|
+
// so the button is allowed to take focus on click, matching its keyboard
|
|
42
|
+
// activation path and giving keyboard / screen-reader users a stable focus
|
|
43
|
+
// target to toggle back out of source view.
|
|
44
|
+
preventLostFocus() {
|
|
45
|
+
return {};
|
|
46
|
+
}
|
|
33
47
|
isSelected() {
|
|
34
48
|
return this.sourceView;
|
|
35
49
|
}
|
|
@@ -58,9 +72,6 @@ export class SourceEditToolbarButtonSlimmer extends ToolbarButtonSlimmer {
|
|
|
58
72
|
__decorate([
|
|
59
73
|
MapToComponentField({ writable: true })
|
|
60
74
|
], SourceEditToolbarButtonSlimmer.prototype, "sourceView", void 0);
|
|
61
|
-
__decorate([
|
|
62
|
-
MapToComponentField()
|
|
63
|
-
], SourceEditToolbarButtonSlimmer.prototype, "selectionController", void 0);
|
|
64
75
|
__decorate([
|
|
65
76
|
MapToComponentField()
|
|
66
77
|
], SourceEditToolbarButtonSlimmer.prototype, "valueController", void 0);
|
|
@@ -46,7 +46,7 @@ export class TextColorToolbarButtonSlimmer extends VisualModeToolbarButtonSlimme
|
|
|
46
46
|
this.popoverShow = false;
|
|
47
47
|
}
|
|
48
48
|
renderBtnWrapper(renderBtn) {
|
|
49
|
-
return (h("vega-popover", { placement: "bottom", alignment: "center", isScreenPosition: true, ref: (ref) => {
|
|
49
|
+
return (h("vega-popover", { placement: "bottom", alignment: "center", isScreenPosition: true, role: "presentation", ref: (ref) => {
|
|
50
50
|
this.popoverRef = ref;
|
|
51
51
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaPopoverShow, this.handlePopoverShowChange.bind(this));
|
|
52
52
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaPopoverHide, this.handlePopoverHideChange.bind(this));
|
|
@@ -47,7 +47,7 @@ export class TextStylesToolbarButtonSlimmer extends VisualModeToolbarButtonSlimm
|
|
|
47
47
|
};
|
|
48
48
|
}
|
|
49
49
|
renderBtnWrapper(renderBtn) {
|
|
50
|
-
return (h("vega-dropdown", { selectType: "single", trigger: "click", alignment: "center", isScreenPosition: true, selectedSourceKey: this.getSelectedSourceKey(), ref: (ref) => {
|
|
50
|
+
return (h("vega-dropdown", { selectType: "single", trigger: "click", alignment: "center", isScreenPosition: true, role: "presentation", selectedSourceKey: this.getSelectedSourceKey(), ref: (ref) => {
|
|
51
51
|
this.addDropdownObserver(ref);
|
|
52
52
|
} },
|
|
53
53
|
renderBtn({ showArrowIcon: true }),
|
|
@@ -9,12 +9,12 @@ import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
|
9
9
|
import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
10
10
|
import { VegaClick } from '../../../../../helpers/event-manager/event-id/vega-event-id';
|
|
11
11
|
export class ToolbarButtonSlimmer extends VegaSlimmer {
|
|
12
|
-
constructor({ icon, tooltip, autoFocusOnClick = true }) {
|
|
12
|
+
constructor({ icon, tooltip, ariaLabel, autoFocusOnClick = true }) {
|
|
13
13
|
super();
|
|
14
14
|
this.renderBtn = ({ showArrowIcon, iconColor } = {}) => {
|
|
15
15
|
var _a;
|
|
16
16
|
return (h("vega-tooltip", { text: this.translationSlimmer.t(this.tooltip.text), placement: ['bottom', 'top'] },
|
|
17
|
-
h("vega-rich-text-editor-toolbar-button", Object.assign({ showArrowIcon: showArrowIcon, icon: this.icon, iconColor: iconColor, ref: (ref) => {
|
|
17
|
+
h("vega-rich-text-editor-toolbar-button", Object.assign({ showArrowIcon: showArrowIcon, icon: this.icon, iconColor: iconColor, "data-aria-label": this.ariaLabel, ref: (ref) => {
|
|
18
18
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaClick, () => {
|
|
19
19
|
this.handleClick();
|
|
20
20
|
});
|
|
@@ -39,6 +39,7 @@ export class ToolbarButtonSlimmer extends VegaSlimmer {
|
|
|
39
39
|
};
|
|
40
40
|
this.icon = icon;
|
|
41
41
|
this.tooltip = tooltip;
|
|
42
|
+
this.ariaLabel = ariaLabel !== null && ariaLabel !== void 0 ? ariaLabel : tooltip.text;
|
|
42
43
|
this.autoFocusOnClick = autoFocusOnClick;
|
|
43
44
|
}
|
|
44
45
|
setIcon(icon) {
|
|
@@ -4,14 +4,15 @@ 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 { Fragment, h, Host } from '@stencil/core';
|
|
7
|
+
import { forceUpdate, Fragment, h, Host } from '@stencil/core';
|
|
8
8
|
import { VegaSlimmer, MapToComponentField, MapToComponentMethod } from 'vega-slimmer/core';
|
|
9
9
|
import { createEnterKeyHandlerToTriggerClick } from '../../../../utils/accessibility';
|
|
10
10
|
import ChangeManager from '../../../../helpers/change-manager/change-manager';
|
|
11
11
|
import domNodeSubjectFactory from '../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-factory';
|
|
12
12
|
import { VegaInternalComponentDidRender } from '../../../../helpers/event-manager/event-id/vega-internal-event-id';
|
|
13
13
|
import { SHADOW_ROOT_ELEMENT_SCROLLING } from '../../../../helpers/change-manager/subject/static-subject/static-subject-title';
|
|
14
|
-
import { VegaRTEOneRowHeightPx } from '../../constants/constant';
|
|
14
|
+
import { VegaRTEOneRowHeightPx, ZERO_WIDTH_SPACE } from '../../constants/constant';
|
|
15
|
+
import { isNonNullable } from '../../../../types/type-guard';
|
|
15
16
|
export class VegaRichTextEditorRenderer extends VegaSlimmer {
|
|
16
17
|
constructor() {
|
|
17
18
|
super(...arguments);
|
|
@@ -27,11 +28,21 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
|
|
|
27
28
|
const containerStyle = this.rows !== undefined
|
|
28
29
|
? { height: this.rows >= 2 ? `${this.rows * VegaRTEOneRowHeightPx}px` : defaultHeight }
|
|
29
30
|
: { minHeight: defaultHeight };
|
|
30
|
-
return (
|
|
31
|
+
return (
|
|
32
|
+
// This container delegates focus to the inner <vega-rich-text-content> editor when
|
|
33
|
+
// clicking anywhere in the editing area. It is a layout wrapper, not an interactive
|
|
34
|
+
// widget, so giving it a widget role (e.g. `textbox`) would expose a second,
|
|
35
|
+
// non-editable textbox that traps VoiceOver focus and prevents typing.
|
|
36
|
+
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
37
|
+
h("div", { class: {
|
|
31
38
|
'rich-text-editor-container': true,
|
|
32
39
|
'disabled': this.disabled,
|
|
33
40
|
'vega-hidden': this.sourceView,
|
|
34
|
-
}, style: containerStyle, onClick: this.richTextContentFocus,
|
|
41
|
+
}, style: containerStyle, onClick: this.richTextContentFocus,
|
|
42
|
+
// Keep this wrapper out of the tab order so AT lands directly on the inner text
|
|
43
|
+
// region (focusable via contenteditable when enabled, via tabindex when disabled)
|
|
44
|
+
// rather than announcing this generic wrapper as a group.
|
|
45
|
+
tabIndex: -1, onKeyDown: createEnterKeyHandlerToTriggerClick(), ref: (node) => (this.richTextContainerRef = node) },
|
|
35
46
|
h("vega-rich-text-content", { ref: (ref) => (this.richTextContentRef = ref), content: this.value, extensions: this.extensions, onScroll: this.notifyContentScrolling }),
|
|
36
47
|
this.renderCharacterCounter()));
|
|
37
48
|
};
|
|
@@ -45,12 +56,20 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
|
|
|
45
56
|
});
|
|
46
57
|
};
|
|
47
58
|
this.renderCharacterCounter = () => {
|
|
59
|
+
if (!this.wordCountController.shouldShowUI()) {
|
|
60
|
+
return null;
|
|
61
|
+
}
|
|
62
|
+
// The word count extension is registered, so the data is guaranteed to be non-null.
|
|
63
|
+
const data = this.wordCountController.getData();
|
|
64
|
+
const isSetMaxChars = isNonNullable(data.maxChars);
|
|
48
65
|
return (h("div", { class: {
|
|
49
66
|
'text-editor-counter': true,
|
|
50
|
-
'counter-exceed-max-length':
|
|
51
|
-
}
|
|
52
|
-
h("span", null,
|
|
53
|
-
h("span", null,
|
|
67
|
+
'counter-exceed-max-length': isSetMaxChars && data.count > data.maxChars,
|
|
68
|
+
} },
|
|
69
|
+
h("span", null, data.count),
|
|
70
|
+
isSetMaxChars && h("span", null,
|
|
71
|
+
"/",
|
|
72
|
+
data.maxChars)));
|
|
54
73
|
};
|
|
55
74
|
this.renderErrorMessage = () => {
|
|
56
75
|
return h("div", { class: "vega-error vega-hidden" });
|
|
@@ -99,6 +118,35 @@ export class VegaRichTextEditorRenderer extends VegaSlimmer {
|
|
|
99
118
|
return this.richTextContentRef.shadowRoot.querySelector('.rich-text-content');
|
|
100
119
|
}
|
|
101
120
|
}
|
|
121
|
+
/**
|
|
122
|
+
* Re-injects the zero-width space placeholder into empty text spans.
|
|
123
|
+
* When a commit is rejected and the model rolls back unchanged, the framework
|
|
124
|
+
* short-circuits the text diff and leaves the span empty, collapsing the line
|
|
125
|
+
* height, so the placeholder is restored here.
|
|
126
|
+
*/
|
|
127
|
+
restoreEmptyTextPlaceholders() {
|
|
128
|
+
const editableElement = this.getRTEEditableElementRef();
|
|
129
|
+
if (!editableElement) {
|
|
130
|
+
return;
|
|
131
|
+
}
|
|
132
|
+
// The text node will only be rendered as a span and a code.
|
|
133
|
+
editableElement.querySelectorAll('span:empty, code:empty').forEach((element) => {
|
|
134
|
+
const textNode = element.firstChild;
|
|
135
|
+
if (textNode && textNode.nodeType === Node.TEXT_NODE) {
|
|
136
|
+
// Reuse the existing text node, `textContent` would swap in a new one and leave the framework patching a detached node.
|
|
137
|
+
textNode.nodeValue = ZERO_WIDTH_SPACE;
|
|
138
|
+
}
|
|
139
|
+
else {
|
|
140
|
+
element.textContent = ZERO_WIDTH_SPACE;
|
|
141
|
+
}
|
|
142
|
+
});
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* 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.
|
|
146
|
+
*/
|
|
147
|
+
forceContentRepaint() {
|
|
148
|
+
forceUpdate(this.richTextContentRef);
|
|
149
|
+
}
|
|
102
150
|
render() {
|
|
103
151
|
return h(Host, null, this.renderRichTextEditor());
|
|
104
152
|
}
|
|
@@ -164,6 +212,9 @@ __decorate([
|
|
|
164
212
|
__decorate([
|
|
165
213
|
MapToComponentField()
|
|
166
214
|
], VegaRichTextEditorRenderer.prototype, "extensions", void 0);
|
|
215
|
+
__decorate([
|
|
216
|
+
MapToComponentField()
|
|
217
|
+
], VegaRichTextEditorRenderer.prototype, "wordCountController", void 0);
|
|
167
218
|
__decorate([
|
|
168
219
|
MapToComponentField()
|
|
169
220
|
], VegaRichTextEditorRenderer.prototype, "richTextEditorSourceViewRenderer", void 0);
|
|
@@ -28,7 +28,7 @@ export class VegaRichTextEditorToolbarButtonRenderer extends VegaSlimmer {
|
|
|
28
28
|
'rich-text-editor-toolbar-button-hidden': this.hidden,
|
|
29
29
|
'rich-text-editor-toolbar-button-selected': this.selected,
|
|
30
30
|
}, onClick: this.handleClick, disabled: this.disabled, hidden: this.hidden },
|
|
31
|
-
h("vega-flex", { gap: "size-8", justifyContent: "center", alignItems: "center" },
|
|
31
|
+
h("vega-flex", { "aria-hidden": "true", gap: "size-8", justifyContent: "center", alignItems: "center" },
|
|
32
32
|
this.icon && (h("vega-icon", { size: "size-16", color: this.iconColor, icon: VegaInternalIconManager.getIconKey(this.icon) })),
|
|
33
33
|
this.showArrowIcon && (h("vega-icon", { size: "size-8", color: "text-secondary", icon: VegaInternalIconManager.getIconKey(this.arrowIcon || 'chevron-down') }))),
|
|
34
34
|
h("slot", null)));
|
|
@@ -12,6 +12,7 @@ import { createEventEmitSlimmer, } from '../../../helpers/event-manager/slimmers
|
|
|
12
12
|
import { VegaClick } from '../../../helpers/event-manager/event-id/vega-event-id';
|
|
13
13
|
import { VegaRichTextEditorToolbarButtonRenderer } from './slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer';
|
|
14
14
|
import { ChildNodesEventPreventSlimmer } from '../../../helpers/event-manager/slimmers/child-nodes-event-prevent-slimmer';
|
|
15
|
+
import { AriaAttributesValueMapper } from '../../../helpers/slimmers/mutation-observer/aria-attributes-value-mapper';
|
|
15
16
|
/**
|
|
16
17
|
+ * @vegaVersion 2.34.0
|
|
17
18
|
+ */
|
|
@@ -33,6 +34,12 @@ export class VegaRichTextEditorToolbarButton {
|
|
|
33
34
|
},
|
|
34
35
|
});
|
|
35
36
|
this.renderer = new VegaRichTextEditorToolbarButtonRenderer();
|
|
37
|
+
this.ariaAttributesValueMapper = new AriaAttributesValueMapper(() => this.host.shadowRoot.querySelector('button'), {
|
|
38
|
+
'aria-label': {
|
|
39
|
+
dependency: ['data-aria-label'],
|
|
40
|
+
defaultValue: 'No label defined',
|
|
41
|
+
},
|
|
42
|
+
});
|
|
36
43
|
/**
|
|
37
44
|
* Specifies whether the rich text editor toolbar button element is disabled.
|
|
38
45
|
*
|
|
@@ -77,7 +84,9 @@ export class VegaRichTextEditorToolbarButton {
|
|
|
77
84
|
this.iconColor = 'text-primary';
|
|
78
85
|
}
|
|
79
86
|
render() {
|
|
80
|
-
|
|
87
|
+
// The host is a decorative wrapper around the shadow <button>; keep it out of the
|
|
88
|
+
// a11y tree so VoiceOver doesn't announce it as a "group" when entering the button.
|
|
89
|
+
return sanitizeVegaComponent(h(Host, { role: "presentation" }, this.renderer.render()), this.host);
|
|
81
90
|
}
|
|
82
91
|
static get is() { return "vega-rich-text-editor-toolbar-button"; }
|
|
83
92
|
static get encapsulation() { return "shadow"; }
|
|
@@ -298,3 +307,6 @@ __decorate([
|
|
|
298
307
|
__decorate([
|
|
299
308
|
InjectVegaSlimmer()
|
|
300
309
|
], VegaRichTextEditorToolbarButton.prototype, "renderer", void 0);
|
|
310
|
+
__decorate([
|
|
311
|
+
InjectVegaSlimmer()
|
|
312
|
+
], VegaRichTextEditorToolbarButton.prototype, "ariaAttributesValueMapper", void 0);
|
|
@@ -49,8 +49,10 @@ import { RedoToolbarButtonSlimmer } from './slimmers/renderers/tools/redo-toolba
|
|
|
49
49
|
import { InternalCodeBlockSelectionController } from './slimmers/controllers/internal-code-block-selection-controller';
|
|
50
50
|
import { SourceEditToolbarButtonSlimmer } from './slimmers/renderers/tools/source-edit-toolbar-button-slimmer';
|
|
51
51
|
import { RTEExtensionController } from './slimmers/controllers/extension-controller';
|
|
52
|
+
import { WordCountController } from './slimmers/controllers/word-count-controller';
|
|
52
53
|
import { VegaRTEDefaultTextStyleItems, VegaRTEPresetToolbarItems } from './constants/constant';
|
|
53
54
|
import { VegaRichTextEditorSourceViewRenderer } from './slimmers/renderers/vega-rich-text-editor-source-view-renderer';
|
|
55
|
+
import { AriaAttributesValueMapper } from '../../helpers/slimmers/mutation-observer/aria-attributes-value-mapper';
|
|
54
56
|
/**
|
|
55
57
|
* The rich text editor enables users to format text for a variety of publishers.
|
|
56
58
|
*
|
|
@@ -59,6 +61,13 @@ import { VegaRichTextEditorSourceViewRenderer } from './slimmers/renderers/vega-
|
|
|
59
61
|
export class VegaRichTextEditor {
|
|
60
62
|
constructor() {
|
|
61
63
|
this.globalSlimmers = {};
|
|
64
|
+
this.ariaAttributesValueMapper = new AriaAttributesValueMapper(() => this.vegaRichTextEditorRenderer.getRTEEditableElementRef(), {
|
|
65
|
+
'aria-label': {
|
|
66
|
+
dependency: ['data-aria-label', 'label'],
|
|
67
|
+
// When no label is provided, announce a meaningful role name
|
|
68
|
+
defaultValue: () => this.translationSlimmer.t('Rich Text Editor. Editing area: main. '),
|
|
69
|
+
},
|
|
70
|
+
});
|
|
62
71
|
this.translationSlimmer = new TranslationSlimmer();
|
|
63
72
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
|
|
64
73
|
this.formFieldController = new FormFieldControllerSlimmer({
|
|
@@ -111,6 +120,7 @@ export class VegaRichTextEditor {
|
|
|
111
120
|
this.historyController = new HistoryController();
|
|
112
121
|
this.internalCodeBlockSelectionController = new InternalCodeBlockSelectionController();
|
|
113
122
|
this.rteExtensionController = new RTEExtensionController();
|
|
123
|
+
this.wordCountController = new WordCountController();
|
|
114
124
|
this.sourceCodeChangeEventEmitter = createEventEmitSlimmer(VegaRichTextEditor, VegaSourceCodeChange);
|
|
115
125
|
this.richTextEditorSourceViewRenderer = new VegaRichTextEditorSourceViewRenderer();
|
|
116
126
|
this.richTextContentEditable = true;
|
|
@@ -868,6 +878,9 @@ export class VegaRichTextEditor {
|
|
|
868
878
|
__decorate([
|
|
869
879
|
InjectVegaGlobalSlimmer()
|
|
870
880
|
], VegaRichTextEditor.prototype, "globalSlimmers", void 0);
|
|
881
|
+
__decorate([
|
|
882
|
+
InjectVegaSlimmer()
|
|
883
|
+
], VegaRichTextEditor.prototype, "ariaAttributesValueMapper", void 0);
|
|
871
884
|
__decorate([
|
|
872
885
|
InjectVegaSlimmer()
|
|
873
886
|
], VegaRichTextEditor.prototype, "translationSlimmer", void 0);
|
|
@@ -988,6 +1001,9 @@ __decorate([
|
|
|
988
1001
|
__decorate([
|
|
989
1002
|
InjectVegaSlimmer()
|
|
990
1003
|
], VegaRichTextEditor.prototype, "rteExtensionController", void 0);
|
|
1004
|
+
__decorate([
|
|
1005
|
+
InjectVegaSlimmer()
|
|
1006
|
+
], VegaRichTextEditor.prototype, "wordCountController", void 0);
|
|
991
1007
|
__decorate([
|
|
992
1008
|
InjectVegaSlimmer()
|
|
993
1009
|
], VegaRichTextEditor.prototype, "sourceCodeChangeEventEmitter", void 0);
|