@heartlandone/vega 2.94.0 → 2.96.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/{app-globals-d05c3410.js → app-globals-38afea36.js} +7 -7
- package/dist/cjs/{child-nodes-event-prevent-slimmer-e67ee84c.js → child-nodes-event-prevent-slimmer-e0ac8467.js} +1 -1
- package/dist/cjs/{code-block-493c7ce7.js → code-block-4126dc3b.js} +1501 -55
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-ab21fcbf.js → component-value-history-controller-slimmer.abstract-38ba956e.js} +2 -2
- package/dist/cjs/{content-state-fc34a814.js → content-state-50e8a03c.js} +142 -580
- package/dist/cjs/{element-appender-slimmer-1d6323c2.js → element-appender-slimmer-7773fdab.js} +115 -0
- package/dist/cjs/{event-emit-slimmer-d234a619.js → event-emit-slimmer-34aa195e.js} +1 -1
- package/dist/cjs/{image-annotation-action-7c4cd316.js → image-annotation-action-89363de8.js} +2 -2
- package/dist/cjs/{image-extension-30a7c10f.js → image-extension-c881c454.js} +2 -2
- package/dist/cjs/index.cjs.js +11 -11
- package/dist/cjs/{internal-vega-event-manager-13c4012b.js → internal-vega-event-manager-7003c84a.js} +10 -2
- package/dist/cjs/{link-extension-92a63cb7.js → link-extension-b7f99a52.js} +2 -2
- package/dist/cjs/loader.cjs.js +9 -9
- package/dist/cjs/{public-rules-9e1ea1d9.js → public-rules-72894208.js} +3 -3
- package/dist/cjs/{range-30219330.js → range-95d41dea.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-23bf7485.js → rich-text-editor-required-rule-4d6d2493.js} +1 -1
- package/dist/cjs/shared-backdrop-manager-71e54fdb.js +199 -0
- package/dist/cjs/{split-cell-operation-43752212.js → split-cell-operation-70be116d.js} +2 -2
- package/dist/cjs/{token-extension-ea891d54.js → token-extension-eb828948.js} +36 -12
- package/dist/cjs/vega-accordion.cjs.entry.js +2 -2
- package/dist/cjs/vega-app-footer.cjs.entry.js +2 -2
- package/dist/cjs/vega-app-header-button.cjs.entry.js +3 -3
- package/dist/cjs/vega-banner.cjs.entry.js +2 -2
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-circle.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
- package/dist/cjs/vega-button.cjs.entry.js +3 -3
- package/dist/cjs/vega-calendar_5.cjs.entry.js +3 -3
- package/dist/cjs/vega-carousel.cjs.entry.js +2 -2
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-chip.cjs.entry.js +3 -3
- package/dist/cjs/vega-code-block.cjs.entry.js +6 -6
- package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +3 -3
- package/dist/cjs/vega-color-swatch.cjs.entry.js +2 -2
- package/dist/cjs/vega-combo-box.cjs.entry.js +22 -4
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-dialog_2.cjs.entry.js +160 -70
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +41 -13
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +2 -2
- package/dist/cjs/vega-file-uploader.cjs.entry.js +2 -2
- package/dist/cjs/vega-form.cjs.entry.js +3 -3
- package/dist/cjs/vega-image-uploader.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-passcode.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-range.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-select.cjs.entry.js +54 -5
- package/dist/cjs/vega-input.cjs.entry.js +2 -2
- package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -2
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +32 -193
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination.cjs.entry.js +3 -3
- package/dist/cjs/vega-popover_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +13 -3
- package/dist/cjs/vega-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +58 -9
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +611 -93
- package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +2 -2
- package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +2 -2
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +5 -5
- package/dist/cjs/vega-section-title.cjs.entry.js +896 -14
- package/dist/cjs/vega-segment-control.cjs.entry.js +2 -2
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +2 -2
- package/dist/cjs/vega-signature-capture.cjs.entry.js +2 -2
- package/dist/cjs/vega-stepper.cjs.entry.js +3 -3
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-table_11.cjs.entry.js +3 -3
- package/dist/cjs/vega-textarea.cjs.entry.js +3 -3
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +1 -1
- package/dist/cjs/vega.cjs.js +9 -9
- package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +5 -1
- package/dist/collection/components/vega-combo-box/vega-combo-box.js +52 -1
- package/dist/collection/components/vega-dialog/vega-dialog.js +1 -1
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-render-mode-controller.js +7 -6
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +36 -8
- package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.js +11 -1
- package/dist/collection/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.js +23 -2
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +4 -0
- package/dist/collection/components/vega-input-select/vega-input-select.js +53 -2
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-manager.js +141 -0
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +10 -17
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.js +2 -2
- package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +3 -2
- package/dist/collection/components/vega-modal/vega-modal.js +77 -8
- package/dist/collection/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-steps-controller.js +7 -0
- package/dist/collection/components/vega-progress-tracker/vega-progress-tracker.js +6 -0
- package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +4 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.js +29 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.js +10 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-list-strategy.js +8 -3
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-annotation-strategy.abstract.js +60 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-replace-nest-list-strategy.js +36 -4
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-items-strategy.abstract.js +27 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-nest-items-strategy.js +74 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.js +81 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-selection.js +30 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.js +160 -9
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.js +376 -10
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-unnest-items-strategy.js +104 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/nest-list-items-action.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/unnest-list-items-action.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +10 -1
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +11 -3
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +7 -1
- package/dist/collection/components/vega-rich-text-editor/dto/filter-styles-strategies/list-block/list-block-filter-styles-strategy.js +8 -4
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +34 -1
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +20 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.js +25 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/abstract-delete-content-handler.js +29 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +30 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/abstract-list-keyboard-handler.js +204 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-shift-tab-outdent-handler.js +42 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-tab-indent-handler.js +34 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/list-keyboard-slimmer.js +180 -0
- package/dist/collection/components/vega-section-title/slimmers/a11y-tree/build-section-title-a11y-tree.js +54 -0
- package/dist/collection/components/vega-section-title/slimmers/renderers/vega-section-title-renderer.js +4 -4
- package/dist/collection/components/vega-section-title/vega-section-title.js +18 -2
- package/dist/collection/helpers/a11y-tree/a11y-node-dto.js +210 -0
- package/dist/collection/helpers/a11y-tree/a11y-tree-applier.js +189 -0
- package/dist/collection/helpers/a11y-tree/a11y-tree.types.js +48 -0
- package/dist/collection/helpers/a11y-tree/strategies/baseline-strategy.js +78 -0
- package/dist/collection/helpers/a11y-tree/strategies/firefox-nvda-strategy.js +56 -0
- package/dist/collection/helpers/a11y-tree/strategies/webkit-voiceover-strategy.js +140 -0
- package/dist/collection/helpers/a11y-tree/strategy-resolver.js +172 -0
- package/dist/collection/helpers/backdrop/shared-backdrop-manager.js +32 -1
- package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +11 -3
- package/dist/collection/helpers/slimmers/a11y-tree-slimmer.js +54 -0
- package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +29 -0
- package/dist/collection/helpers/slimmers/element-appender/visibility-modifiers/clip-on-scroll-modifier.js +70 -0
- package/dist/collection/helpers/slimmers/element-appender/visibility-modifiers/visibility-modifier.interface.js +1 -0
- package/dist/collection/helpers/ui/element-appender.js +16 -0
- package/dist/esm/{app-globals-f2336686.js → app-globals-d7b651c1.js} +7 -7
- package/dist/esm/{child-nodes-event-prevent-slimmer-96c14f5a.js → child-nodes-event-prevent-slimmer-82626871.js} +1 -1
- package/dist/esm/{code-block-e12588fe.js → code-block-0a88b481.js} +1495 -51
- package/dist/esm/{component-value-history-controller-slimmer.abstract-4e8eb313.js → component-value-history-controller-slimmer.abstract-6846edfa.js} +2 -2
- package/dist/esm/{content-state-8032467a.js → content-state-79ca99e5.js} +105 -541
- package/dist/esm/{element-appender-slimmer-7fcb944b.js → element-appender-slimmer-73ad10ae.js} +115 -0
- package/dist/esm/{event-emit-slimmer-db4a82e0.js → event-emit-slimmer-2452278f.js} +1 -1
- package/dist/esm/{image-annotation-action-b3b6c308.js → image-annotation-action-bb299ef1.js} +3 -3
- package/dist/esm/{image-extension-b6c7e4a7.js → image-extension-48a96f98.js} +2 -2
- package/dist/esm/index.js +10 -10
- package/dist/esm/{internal-vega-event-manager-48690e5b.js → internal-vega-event-manager-2ecc9186.js} +11 -3
- package/dist/esm/{link-extension-97fcb8fb.js → link-extension-09534514.js} +2 -2
- package/dist/esm/loader.js +10 -10
- package/dist/esm/{public-rules-c06f0d2a.js → public-rules-5eb03ef0.js} +3 -3
- package/dist/esm/{range-e999837f.js → range-d4deb7df.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-71f8ee98.js → rich-text-editor-required-rule-5bbbce23.js} +1 -1
- package/dist/esm/shared-backdrop-manager-a7c63838.js +197 -0
- package/dist/esm/{split-cell-operation-359f8082.js → split-cell-operation-7f3058ad.js} +2 -2
- package/dist/esm/{token-extension-9896879b.js → token-extension-40c32bcc.js} +32 -8
- package/dist/esm/vega-accordion.entry.js +3 -3
- package/dist/esm/vega-app-footer.entry.js +3 -3
- package/dist/esm/vega-app-header-button.entry.js +4 -4
- package/dist/esm/vega-banner.entry.js +3 -3
- package/dist/esm/vega-breadcrumb.entry.js +4 -4
- package/dist/esm/vega-button-circle.entry.js +4 -4
- package/dist/esm/vega-button-group_2.entry.js +4 -4
- package/dist/esm/vega-button-link.entry.js +4 -4
- package/dist/esm/vega-button.entry.js +4 -4
- package/dist/esm/vega-calendar_5.entry.js +4 -4
- package/dist/esm/vega-carousel.entry.js +3 -3
- package/dist/esm/vega-checkbox_2.entry.js +4 -4
- package/dist/esm/vega-chip.entry.js +4 -4
- package/dist/esm/vega-code-block.entry.js +7 -7
- package/dist/esm/vega-color-picker.entry.js +3 -3
- package/dist/esm/vega-color-swatch-picker.entry.js +4 -4
- package/dist/esm/vega-color-swatch.entry.js +3 -3
- package/dist/esm/vega-combo-box.entry.js +23 -5
- package/dist/esm/vega-date-picker_2.entry.js +5 -5
- package/dist/esm/vega-dialog_2.entry.js +161 -71
- package/dist/esm/vega-dropdown_5.entry.js +42 -14
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/{vega-event-id-270fe47e.js → vega-event-id-f55f6977.js} +1 -1
- package/dist/esm/vega-field-label.entry.js +3 -3
- package/dist/esm/vega-file-uploader.entry.js +3 -3
- package/dist/esm/vega-form.entry.js +4 -4
- package/dist/esm/vega-image-uploader.entry.js +4 -4
- package/dist/esm/vega-input-credit-card.entry.js +4 -4
- package/dist/esm/vega-input-numeric.entry.js +4 -4
- package/dist/esm/vega-input-passcode.entry.js +4 -4
- package/dist/esm/vega-input-phone-number.entry.js +4 -4
- package/dist/esm/vega-input-range.entry.js +4 -4
- package/dist/esm/vega-input-select.entry.js +55 -6
- package/dist/esm/vega-input.entry.js +3 -3
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +32 -193
- package/dist/esm/vega-page-notification_2.entry.js +1 -1
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +3 -3
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +1 -1
- package/dist/esm/vega-pagination.entry.js +4 -4
- package/dist/esm/vega-popover_2.entry.js +4 -4
- package/dist/esm/vega-progress-tracker_2.entry.js +14 -4
- package/dist/esm/vega-radio_2.entry.js +4 -4
- package/dist/esm/vega-rich-text-content.entry.js +59 -10
- package/dist/esm/vega-rich-text-editor_4.entry.js +608 -90
- package/dist/esm/vega-rich-text-find-replace-panel.entry.js +3 -3
- package/dist/esm/vega-rich-text-special-characters-panel.entry.js +3 -3
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +6 -6
- package/dist/esm/vega-section-title.entry.js +897 -15
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-chip_2.entry.js +4 -4
- package/dist/esm/vega-selection-tile_2.entry.js +4 -4
- package/dist/esm/vega-sidenav_3.entry.js +3 -3
- package/dist/esm/vega-signature-capture.entry.js +3 -3
- package/dist/esm/vega-stepper.entry.js +4 -4
- package/dist/esm/vega-tab-group_2.entry.js +4 -4
- package/dist/esm/vega-table_11.entry.js +4 -4
- package/dist/esm/vega-textarea.entry.js +4 -4
- package/dist/esm/vega-time-picker_2.entry.js +5 -5
- package/dist/esm/vega-toggle-switch.entry.js +3 -3
- package/dist/esm/vega-tooltip_2.entry.js +1 -1
- package/dist/esm/vega.js +10 -10
- package/dist/sri/vega-sri-manifest.json +272 -268
- package/dist/types/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.d.ts +1 -0
- package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +21 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-render-mode-controller.d.ts +2 -1
- package/dist/types/components/vega-dropdown/types.d.ts +2 -2
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +36 -9
- package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-dropdown-controller.d.ts +2 -0
- package/dist/types/components/vega-input-select/slimmers/controllers/vega-input-select-items-slot-controler.d.ts +10 -0
- package/dist/types/components/vega-input-select/types.d.ts +1 -0
- package/dist/types/components/vega-input-select/vega-input-select.d.ts +21 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-backdrop-manager.d.ts +66 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +1 -5
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.d.ts +1 -1
- package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +1 -1
- package/dist/types/components/vega-modal/vega-modal.d.ts +34 -6
- package/dist/types/components/vega-progress-tracker/slimmers/controllers/vega-progress-tracker-current-steps-controller.d.ts +2 -0
- package/dist/types/components/vega-progress-tracker/vega-progress-tracker.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-annotation-strategy.abstract.d.ts +36 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-item-replace-nest-list-strategy.d.ts +14 -2
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-items-strategy.abstract.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-nest-items-strategy.d.ts +21 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-remove-list-item-strategy.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-selection.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-list-strategy.d.ts +30 -3
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-transform-to-paragraph-strategy.d.ts +99 -3
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/list-unnest-items-strategy.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/nest-list-items-action.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/unnest-list-items-action.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +6 -1
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +5 -1
- package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/annotation-handler/table-annotation-handler-base.d.ts +18 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/abstract-list-keyboard-handler.d.ts +99 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-shift-tab-outdent-handler.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/helper/list-tab-indent-handler.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/list-keyboard-slimmer.d.ts +73 -0
- package/dist/types/components/vega-section-title/slimmers/a11y-tree/build-section-title-a11y-tree.d.ts +41 -0
- package/dist/types/components/vega-section-title/vega-section-title.d.ts +9 -0
- package/dist/types/components.d.ts +42 -8
- package/dist/types/helpers/a11y-tree/a11y-node-dto.d.ts +173 -0
- package/dist/types/helpers/a11y-tree/a11y-tree-applier.d.ts +28 -0
- package/dist/types/helpers/a11y-tree/a11y-tree.types.d.ts +137 -0
- package/dist/types/helpers/a11y-tree/strategies/baseline-strategy.d.ts +18 -0
- package/dist/types/helpers/a11y-tree/strategies/firefox-nvda-strategy.d.ts +16 -0
- package/dist/types/helpers/a11y-tree/strategies/webkit-voiceover-strategy.d.ts +23 -0
- package/dist/types/helpers/a11y-tree/strategy-resolver.d.ts +59 -0
- package/dist/types/helpers/backdrop/shared-backdrop-manager.d.ts +16 -0
- package/dist/types/helpers/slimmers/a11y-tree-slimmer.d.ts +49 -0
- package/dist/types/helpers/slimmers/element-appender/element-appender-slimmer.d.ts +9 -0
- package/dist/types/helpers/slimmers/element-appender/visibility-modifiers/clip-on-scroll-modifier.d.ts +37 -0
- package/dist/types/helpers/slimmers/element-appender/visibility-modifiers/visibility-modifier.interface.d.ts +56 -0
- package/dist/types/helpers/ui/element-appender.d.ts +7 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-3e8baeac.entry.js → p-0512308f.entry.js} +1 -1
- package/dist/vega/{p-46fe3154.entry.js → p-1d8312d3.entry.js} +1 -1
- package/dist/vega/{p-f5d7b89f.entry.js → p-1dfbc542.entry.js} +1 -1
- package/dist/vega/{p-fbd3be00.entry.js → p-200c8914.entry.js} +1 -1
- package/dist/vega/{p-e235020b.entry.js → p-22cc174e.entry.js} +1 -1
- package/dist/vega/{p-b1ff70bf.js → p-2c737fc8.js} +1 -1
- package/dist/vega/{p-782eb312.entry.js → p-2d77ae73.entry.js} +1 -1
- package/dist/vega/{p-cb90163a.entry.js → p-2d8d4d5b.entry.js} +1 -1
- package/dist/vega/{p-f651df3b.entry.js → p-2df5d59b.entry.js} +1 -1
- package/dist/vega/p-31216140.js +1 -0
- package/dist/vega/{p-f7e459cd.js → p-312d8205.js} +1 -1
- package/dist/vega/{p-a7209700.js → p-3345d903.js} +1 -1
- package/dist/vega/{p-44439ecc.entry.js → p-36d2df7a.entry.js} +1 -1
- package/dist/vega/{p-02355de8.js → p-3c23ec90.js} +1 -1
- package/dist/vega/{p-2bf17505.entry.js → p-3d6f761a.entry.js} +1 -1
- package/dist/vega/p-4151f53a.entry.js +1 -0
- package/dist/vega/{p-a057285e.entry.js → p-49e1cf4d.entry.js} +1 -1
- package/dist/vega/{p-698fbd73.js → p-5447a8e8.js} +1 -1
- package/dist/vega/p-55e0014a.js +3 -0
- package/dist/vega/{p-45e8424a.entry.js → p-56d19601.entry.js} +1 -1
- package/dist/vega/{p-addbca58.entry.js → p-5924adae.entry.js} +1 -1
- package/dist/vega/{p-9dca874d.entry.js → p-5e4517eb.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/p-65fee02f.entry.js +1 -0
- package/dist/vega/{p-140616fe.js → p-66647244.js} +1 -1
- package/dist/vega/{p-62d6e063.entry.js → p-6680ba17.entry.js} +1 -1
- package/dist/vega/p-6a51d720.js +1 -0
- package/dist/vega/{p-fe24b459.js → p-6c7b6d45.js} +1 -1
- package/dist/vega/{p-288d65ad.entry.js → p-6fcec7c7.entry.js} +1 -1
- package/dist/vega/{p-d08ffdf1.entry.js → p-74f86ff9.entry.js} +1 -1
- package/dist/vega/{p-6ad7144a.entry.js → p-775ecfad.entry.js} +1 -1
- package/dist/vega/{p-6f70a10f.entry.js → p-7950f3e2.entry.js} +1 -1
- package/dist/vega/{p-f246f125.entry.js → p-80b7945a.entry.js} +1 -1
- package/dist/vega/p-8354cff0.entry.js +1 -0
- package/dist/vega/{p-5db61a12.entry.js → p-841b3281.entry.js} +1 -1
- package/dist/vega/{p-579cdeae.js → p-84b7a775.js} +1 -1
- package/dist/vega/p-87e5cb56.entry.js +1 -0
- package/dist/vega/p-8c30a60d.js +1 -0
- package/dist/vega/{p-f8a29127.entry.js → p-8d96f0e8.entry.js} +1 -1
- package/dist/vega/{p-95913e3c.entry.js → p-91303402.entry.js} +1 -1
- package/dist/vega/p-96da7d30.entry.js +1 -0
- package/dist/vega/{p-51b68d25.js → p-9d3f69cb.js} +1 -1
- package/dist/vega/{p-ed103a1a.entry.js → p-9d96d83f.entry.js} +1 -1
- package/dist/vega/{p-6dfe2407.js → p-9f11b579.js} +1 -1
- package/dist/vega/p-9f201152.entry.js +1 -0
- package/dist/vega/{p-48ee3e24.entry.js → p-a775825e.entry.js} +1 -1
- package/dist/vega/{p-9d18ba7f.entry.js → p-acaff62d.entry.js} +1 -1
- package/dist/vega/{p-b8f8e480.entry.js → p-ae146458.entry.js} +1 -1
- package/dist/vega/{p-e8ee70c5.entry.js → p-b3a2ce06.entry.js} +1 -1
- package/dist/vega/{p-5107277d.entry.js → p-b4c26035.entry.js} +1 -1
- package/dist/vega/p-b63319e9.entry.js +1 -0
- package/dist/vega/{p-c9daabe1.entry.js → p-b660f38c.entry.js} +1 -1
- package/dist/vega/{p-8c083255.entry.js → p-b8c13ac9.entry.js} +1 -1
- package/dist/vega/p-b8ffa42f.entry.js +1 -0
- package/dist/vega/{p-7b57a845.entry.js → p-b9e72de2.entry.js} +1 -1
- package/dist/vega/{p-0af32f31.entry.js → p-bb60e381.entry.js} +1 -1
- package/dist/vega/p-bbad318e.entry.js +1 -0
- package/dist/vega/p-c0e42c03.entry.js +1 -0
- package/dist/vega/{p-c67b9aba.entry.js → p-c41f5684.entry.js} +1 -1
- package/dist/vega/{p-4fe40b76.js → p-c4564904.js} +1 -1
- package/dist/vega/{p-341a6b32.entry.js → p-c54b5a8f.entry.js} +1 -1
- package/dist/vega/p-cd1e976c.entry.js +1 -0
- package/dist/vega/p-d9158512.js +1 -0
- package/dist/vega/{p-2dc5edd0.entry.js → p-db11134b.entry.js} +1 -1
- package/dist/vega/{p-14559974.entry.js → p-e1737c8e.entry.js} +1 -1
- package/dist/vega/{p-0b311599.entry.js → p-e1b57e8f.entry.js} +1 -1
- package/dist/vega/{p-9f38448c.entry.js → p-e5ff77f7.entry.js} +1 -1
- package/dist/vega/p-e62d41ee.js +1 -0
- package/dist/vega/{p-6f01a71a.entry.js → p-ebe32b25.entry.js} +1 -1
- package/dist/vega/p-ec162599.entry.js +1 -0
- package/dist/vega/{p-9f7154d2.js → p-ec5dee32.js} +1 -1
- package/dist/vega/{p-d3a36d19.entry.js → p-ec64cc59.entry.js} +1 -1
- package/dist/vega/p-f29d9707.entry.js +1 -0
- package/dist/vega/{p-5df2d6a1.entry.js → p-f78944d7.entry.js} +1 -1
- package/dist/vega/{p-c9c6daa6.entry.js → p-f9bfee81.entry.js} +1 -1
- package/dist/vega/{p-26c7fe8b.entry.js → p-fa65956c.entry.js} +1 -1
- package/dist/vega/{p-f96d0503.entry.js → p-fc7e4c8a.entry.js} +1 -1
- package/dist/vega/{p-b39d4a88.entry.js → p-fd23c365.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +3 -2
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.js +0 -73
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.d.ts +0 -27
- package/dist/vega/p-0b9c7c79.entry.js +0 -1
- package/dist/vega/p-0be4df0a.js +0 -1
- package/dist/vega/p-2364be92.entry.js +0 -1
- package/dist/vega/p-270697c0.entry.js +0 -1
- package/dist/vega/p-282b37cb.js +0 -1
- package/dist/vega/p-38c9d782.js +0 -1
- package/dist/vega/p-52c6a399.entry.js +0 -1
- package/dist/vega/p-73f2c3c0.entry.js +0 -1
- package/dist/vega/p-762ea523.entry.js +0 -1
- package/dist/vega/p-7a88a3d3.entry.js +0 -1
- package/dist/vega/p-83a16285.entry.js +0 -1
- package/dist/vega/p-91287214.entry.js +0 -1
- package/dist/vega/p-c66d2a1e.js +0 -1
- package/dist/vega/p-cad5222a.entry.js +0 -1
- package/dist/vega/p-d25ca0c3.entry.js +0 -1
- package/dist/vega/p-f05a193e.entry.js +0 -1
- package/dist/vega/p-f4da615a.js +0 -3
- package/dist/vega/p-f906a7bc.entry.js +0 -1
|
@@ -1684,8 +1684,8 @@ export namespace Components {
|
|
|
1684
1684
|
*/
|
|
1685
1685
|
"isLoading": boolean;
|
|
1686
1686
|
/**
|
|
1687
|
-
* Determines whether the dropdown position
|
|
1688
|
-
* @VegaWarning -
|
|
1687
|
+
* Determines whether the dropdown uses viewport-based positioning (`position: fixed`) or container-based positioning (`position: absolute`). **Technical Implementation:** - When `false` (default): The dropdown content box renders with `position: absolute` and its coordinates are calculated relative to the nearest positioned ancestor. Combined with `positionRelativeTo`, you can specify which ancestor to measure from, which ensures the menu scrolls together with that ancestor. - When `true`: The dropdown content box renders with `position: fixed` and its coordinates are calculated from the viewport. The menu is visually anchored to the trigger element via JavaScript and moves with it on scroll, even though it is not part of the document flow. `positionRelativeTo` has no effect in this mode. When to set `isScreenPosition` to `true`: - Dropdowns that need to break out of container constraints (non-Shadow-DOM only): When you want the dropdown to appear outside its container's boundaries (e.g., to avoid being clipped by a parent's `overflow: hidden` or small dimensions), viewport-based positioning allows it to render freely. This only works for regular (non-Shadow-DOM) containers. Shadow DOM boundaries cannot be escaped with `position: fixed`. - Dropdowns in fixed or sticky positioned containers: When the dropdown trigger is inside a fixed or sticky positioned container, viewport-based positioning ensures correct alignment. When to keep `isScreenPosition` as `false` (default): - Simple layouts where the dropdown and its trigger are not inside scrollable containers - When you want the dropdown to scroll naturally with its container (using `position: absolute`) - When you need `positionRelativeTo` to control which ancestor the dropdown is positioned relative to - When `matchContainerHeight` is needed (this property is overridden when `isScreenPosition` is `true`)
|
|
1688
|
+
* @VegaWarning - Setting this to `true` override the `positionRelativeTo` and `matchContainerHeight` properties, rendering them ineffective. - Currently, when set to `true`, the position calculation may be inaccurate if the popover is placed inside a scrollable container within a shadowRoot (e.g., inside a vega-modal with scrollable content).
|
|
1689
1689
|
* @vegaVersion 2.36.0
|
|
1690
1690
|
*/
|
|
1691
1691
|
"isScreenPosition": boolean;
|
|
@@ -3246,7 +3246,7 @@ export namespace Components {
|
|
|
3246
3246
|
*/
|
|
3247
3247
|
"animation": boolean;
|
|
3248
3248
|
/**
|
|
3249
|
-
* Provides options for controlling the behavior of the backdrop. - `default`: indicates that the user can close the modal by clicking on the backdrop. - `static`: means that the user cannot close the modal by clicking on the backdrop. - `none`: specifies that the backdrop will not be rendered.
|
|
3249
|
+
* Provides options for controlling the behavior of the backdrop. - `default`: indicates that the user can close the modal by clicking on the backdrop. - `static`: means that the user cannot close the modal by clicking on the backdrop. - `none`: specifies that the backdrop will not be rendered.
|
|
3250
3250
|
* @vegaVersion 1.0.6
|
|
3251
3251
|
*/
|
|
3252
3252
|
"backdrop": VegaModalBackdrop;
|
|
@@ -3318,9 +3318,15 @@ export namespace Components {
|
|
|
3318
3318
|
"showCloseButton": boolean;
|
|
3319
3319
|
/**
|
|
3320
3320
|
* Determines the size of the modal. It can be specified as a number, a percentage string ending with "%", or a ResponsiveType. It is important to note that there are different maximum widths for modal windows based on the viewport size. If the specified size exceeds the maximum width, the maximum modal width will be used instead.
|
|
3321
|
+
* @deprecated This property will be removed soon and replaced by prop width
|
|
3321
3322
|
* @vegaVersion 1.0.6
|
|
3322
3323
|
*/
|
|
3323
3324
|
"size": ResponsiveType<SizeType>;
|
|
3325
|
+
/**
|
|
3326
|
+
* Determines the width of the modal. It can be specified as a number or a percentage string ending with "%". ResponsiveType can also be used for responsive configurations. Note: There are different maximum widths for modal windows based on viewport size. If the specified width exceeds the maximum width, the maximum modal width will be used instead.
|
|
3327
|
+
* @vegaVersion 2.95.0
|
|
3328
|
+
*/
|
|
3329
|
+
"width": ResponsiveType<SizeType>;
|
|
3324
3330
|
}
|
|
3325
3331
|
interface VegaNavCard {
|
|
3326
3332
|
/**
|
|
@@ -7846,6 +7852,12 @@ declare namespace LocalJSX {
|
|
|
7846
7852
|
* @vegaVersion 2.0.0
|
|
7847
7853
|
*/
|
|
7848
7854
|
"onCreate"?: (event: VegaComboBoxCustomEvent<string>) => void;
|
|
7855
|
+
/**
|
|
7856
|
+
* An event emitter only fired when the Select All checkbox in the dropdown has been clicked. The event's `detail` property is `true` when the Select All checkbox is clicked to select all items, and `false` when the Select All checkbox is clicked to clear all selected items.
|
|
7857
|
+
* @eventSemantics namespace:native
|
|
7858
|
+
* @vegaVersion 2.95.0
|
|
7859
|
+
*/
|
|
7860
|
+
"onDropdownSelectAllClick"?: (event: VegaComboBoxCustomEvent<boolean>) => void;
|
|
7849
7861
|
/**
|
|
7850
7862
|
* An event emitter notifying the user's search action in the combo box, but only if the `useDefaultFilter` property is set to `false`.
|
|
7851
7863
|
* @eventSemantics namespace:native
|
|
@@ -7862,6 +7874,11 @@ declare namespace LocalJSX {
|
|
|
7862
7874
|
* @vegaVersion 1.14.0
|
|
7863
7875
|
*/
|
|
7864
7876
|
"onVegaCreate"?: (event: VegaComboBoxCustomEvent<string>) => void;
|
|
7877
|
+
/**
|
|
7878
|
+
* An event emitter only fired when the Select All checkbox in the dropdown has been clicked. The event's `detail` property is `true` when the Select All checkbox is clicked to select all items, and `false` when the Select All checkbox is clicked to clear all selected items.
|
|
7879
|
+
* @vegaVersion 2.95.0
|
|
7880
|
+
*/
|
|
7881
|
+
"onVegaDropdownSelectAllClick"?: (event: VegaComboBoxCustomEvent<boolean>) => void;
|
|
7865
7882
|
/**
|
|
7866
7883
|
* An event emitter notifying the user's search action in the combo box, but only if the `useDefaultFilter` property is set to `false`.
|
|
7867
7884
|
* @vegaVersion 1.24.0
|
|
@@ -8292,8 +8309,8 @@ declare namespace LocalJSX {
|
|
|
8292
8309
|
*/
|
|
8293
8310
|
"isLoading"?: boolean;
|
|
8294
8311
|
/**
|
|
8295
|
-
* Determines whether the dropdown position
|
|
8296
|
-
* @VegaWarning -
|
|
8312
|
+
* Determines whether the dropdown uses viewport-based positioning (`position: fixed`) or container-based positioning (`position: absolute`). **Technical Implementation:** - When `false` (default): The dropdown content box renders with `position: absolute` and its coordinates are calculated relative to the nearest positioned ancestor. Combined with `positionRelativeTo`, you can specify which ancestor to measure from, which ensures the menu scrolls together with that ancestor. - When `true`: The dropdown content box renders with `position: fixed` and its coordinates are calculated from the viewport. The menu is visually anchored to the trigger element via JavaScript and moves with it on scroll, even though it is not part of the document flow. `positionRelativeTo` has no effect in this mode. When to set `isScreenPosition` to `true`: - Dropdowns that need to break out of container constraints (non-Shadow-DOM only): When you want the dropdown to appear outside its container's boundaries (e.g., to avoid being clipped by a parent's `overflow: hidden` or small dimensions), viewport-based positioning allows it to render freely. This only works for regular (non-Shadow-DOM) containers. Shadow DOM boundaries cannot be escaped with `position: fixed`. - Dropdowns in fixed or sticky positioned containers: When the dropdown trigger is inside a fixed or sticky positioned container, viewport-based positioning ensures correct alignment. When to keep `isScreenPosition` as `false` (default): - Simple layouts where the dropdown and its trigger are not inside scrollable containers - When you want the dropdown to scroll naturally with its container (using `position: absolute`) - When you need `positionRelativeTo` to control which ancestor the dropdown is positioned relative to - When `matchContainerHeight` is needed (this property is overridden when `isScreenPosition` is `true`)
|
|
8313
|
+
* @VegaWarning - Setting this to `true` override the `positionRelativeTo` and `matchContainerHeight` properties, rendering them ineffective. - Currently, when set to `true`, the position calculation may be inaccurate if the popover is placed inside a scrollable container within a shadowRoot (e.g., inside a vega-modal with scrollable content).
|
|
8297
8314
|
* @vegaVersion 2.36.0
|
|
8298
8315
|
*/
|
|
8299
8316
|
"isScreenPosition"?: boolean;
|
|
@@ -8358,7 +8375,7 @@ declare namespace LocalJSX {
|
|
|
8358
8375
|
*/
|
|
8359
8376
|
"onDropdownSearch"?: (event: VegaDropdownCustomEvent<string>) => void;
|
|
8360
8377
|
/**
|
|
8361
|
-
* An event emitter
|
|
8378
|
+
* An event emitter only fired when the Select All checkbox has been clicked. The event's `detail` property is `true` when the Select All checkbox is clicked to select all items, and `false` when the Select All checkbox is clicked to clear all selected items.
|
|
8362
8379
|
* @eventSemantics namespace:native
|
|
8363
8380
|
* @vegaVersion 2.93.0
|
|
8364
8381
|
*/
|
|
@@ -8392,7 +8409,7 @@ declare namespace LocalJSX {
|
|
|
8392
8409
|
*/
|
|
8393
8410
|
"onVegaDropdownClick"?: (event: VegaDropdownCustomEvent<string>) => void;
|
|
8394
8411
|
/**
|
|
8395
|
-
* An event emitter
|
|
8412
|
+
* An event emitter only fired when the Select All checkbox has been clicked. The event's `detail` property is `true` when the Select All checkbox is clicked to select all items, and `false` when the Select All checkbox is clicked to clear all selected items.
|
|
8396
8413
|
* @vegaVersion 2.93.0
|
|
8397
8414
|
*/
|
|
8398
8415
|
"onVegaDropdownSelectAllClick"?: (event: VegaDropdownCustomEvent<boolean>) => void;
|
|
@@ -9934,6 +9951,12 @@ declare namespace LocalJSX {
|
|
|
9934
9951
|
* @vegaVersion 2.0.0
|
|
9935
9952
|
*/
|
|
9936
9953
|
"onChange"?: (event: VegaInputSelectCustomEvent<SelectValueType<SelectType>>) => void;
|
|
9954
|
+
/**
|
|
9955
|
+
* An event emitter only fired when the Select All checkbox in the dropdown has been clicked. The event's `detail` property is `true` when the Select All checkbox is clicked to select all items, and `false` when the Select All checkbox is clicked to clear all selected items.
|
|
9956
|
+
* @eventSemantics namespace:native
|
|
9957
|
+
* @vegaVersion 2.95.0
|
|
9958
|
+
*/
|
|
9959
|
+
"onDropdownSelectAllClick"?: (event: VegaInputSelectCustomEvent<boolean>) => void;
|
|
9937
9960
|
/**
|
|
9938
9961
|
* An event emitter notifying that the suffix button associated with the field label has been clicked.
|
|
9939
9962
|
* @eventSemantics namespace:native
|
|
@@ -9957,6 +9980,11 @@ declare namespace LocalJSX {
|
|
|
9957
9980
|
* @vegaVersion 1.0.11
|
|
9958
9981
|
*/
|
|
9959
9982
|
"onVegaChange"?: (event: VegaInputSelectCustomEvent<SelectValueType<SelectType>>) => void;
|
|
9983
|
+
/**
|
|
9984
|
+
* An event emitter only fired when the Select All checkbox in the dropdown has been clicked. The event's `detail` property is `true` when the Select All checkbox is clicked to select all items, and `false` when the Select All checkbox is clicked to clear all selected items.
|
|
9985
|
+
* @vegaVersion 2.95.0
|
|
9986
|
+
*/
|
|
9987
|
+
"onVegaDropdownSelectAllClick"?: (event: VegaInputSelectCustomEvent<boolean>) => void;
|
|
9960
9988
|
/**
|
|
9961
9989
|
* Event emitter notifying that the input-select has been dismissed, either programmatically or via user interaction.
|
|
9962
9990
|
* @vegaVersion 2.32.0
|
|
@@ -10288,7 +10316,7 @@ declare namespace LocalJSX {
|
|
|
10288
10316
|
*/
|
|
10289
10317
|
"animation"?: boolean;
|
|
10290
10318
|
/**
|
|
10291
|
-
* Provides options for controlling the behavior of the backdrop. - `default`: indicates that the user can close the modal by clicking on the backdrop. - `static`: means that the user cannot close the modal by clicking on the backdrop. - `none`: specifies that the backdrop will not be rendered.
|
|
10319
|
+
* Provides options for controlling the behavior of the backdrop. - `default`: indicates that the user can close the modal by clicking on the backdrop. - `static`: means that the user cannot close the modal by clicking on the backdrop. - `none`: specifies that the backdrop will not be rendered.
|
|
10292
10320
|
* @vegaVersion 1.0.6
|
|
10293
10321
|
*/
|
|
10294
10322
|
"backdrop"?: VegaModalBackdrop;
|
|
@@ -10377,9 +10405,15 @@ declare namespace LocalJSX {
|
|
|
10377
10405
|
"showCloseButton"?: boolean;
|
|
10378
10406
|
/**
|
|
10379
10407
|
* Determines the size of the modal. It can be specified as a number, a percentage string ending with "%", or a ResponsiveType. It is important to note that there are different maximum widths for modal windows based on the viewport size. If the specified size exceeds the maximum width, the maximum modal width will be used instead.
|
|
10408
|
+
* @deprecated This property will be removed soon and replaced by prop width
|
|
10380
10409
|
* @vegaVersion 1.0.6
|
|
10381
10410
|
*/
|
|
10382
10411
|
"size"?: ResponsiveType<SizeType>;
|
|
10412
|
+
/**
|
|
10413
|
+
* Determines the width of the modal. It can be specified as a number or a percentage string ending with "%". ResponsiveType can also be used for responsive configurations. Note: There are different maximum widths for modal windows based on viewport size. If the specified width exceeds the maximum width, the maximum modal width will be used instead.
|
|
10414
|
+
* @vegaVersion 2.95.0
|
|
10415
|
+
*/
|
|
10416
|
+
"width"?: ResponsiveType<SizeType>;
|
|
10383
10417
|
}
|
|
10384
10418
|
interface VegaNavCard {
|
|
10385
10419
|
/**
|
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
import { A11yNode, A11ySemanticKind } from './a11y-tree.types';
|
|
2
|
+
/**
|
|
3
|
+
* Semantic DTO layer for the A11y Tree.
|
|
4
|
+
*
|
|
5
|
+
* Authoring an A11y Tree with raw `A11yNode` literals asks the developer to
|
|
6
|
+
* think in ARIA terms (`role: 'group'`, `decorative: true`, etc.). The DTO
|
|
7
|
+
* classes here provide a higher-level vocabulary that names the *content's
|
|
8
|
+
* meaning* — "this is a container", "this is a heading", "this is a
|
|
9
|
+
* decorative icon" — and lets the strategy layer translate intent into ARIA.
|
|
10
|
+
*
|
|
11
|
+
* ## Design (Visitor / Strategy + typed semantic DTOs)
|
|
12
|
+
*
|
|
13
|
+
* - DTOs are *type-holders for semantic intent*. They do NOT contain ARIA
|
|
14
|
+
* generation logic themselves.
|
|
15
|
+
* - Each DTO compiles to an `A11yNode` whose `kind` field carries the
|
|
16
|
+
* semantic discriminator. Strategies can then dispatch on `kind`
|
|
17
|
+
* (preferred) or fall back to `role` (for plain `A11yNode` authors).
|
|
18
|
+
* - This keeps strategies pure and independently testable, while letting
|
|
19
|
+
* authors write:
|
|
20
|
+
*
|
|
21
|
+
* ```ts
|
|
22
|
+
* new A11yContainerNode('st-root', { label, description })
|
|
23
|
+
* .childrenWith(
|
|
24
|
+
* new A11yHeadingNode('st-heading', { level: 2, label }),
|
|
25
|
+
* new A11yIconNode('st-icon'),
|
|
26
|
+
* );
|
|
27
|
+
* ```
|
|
28
|
+
*
|
|
29
|
+
* instead of hand-shaping `{ role: 'group', label, description, … }`.
|
|
30
|
+
*
|
|
31
|
+
* ## Migration path
|
|
32
|
+
*
|
|
33
|
+
* Phase 1 (this file): DTOs are an additive layer on top of `A11yNode`.
|
|
34
|
+
* Existing strategies continue to work unchanged because each DTO emits
|
|
35
|
+
* a fully-populated `A11yNode` with `role` set correctly.
|
|
36
|
+
*
|
|
37
|
+
* Phase 2 (follow-up): strategies grow `compileNode(node)` methods that
|
|
38
|
+
* dispatch on `node.kind` for cases where semantic intent is richer than
|
|
39
|
+
* `role` alone can express.
|
|
40
|
+
*/
|
|
41
|
+
/**
|
|
42
|
+
* Base class for all semantic DTO nodes. Provides the `childrenWith()`
|
|
43
|
+
* composition helper and the abstract `toA11yNode()` contract.
|
|
44
|
+
*/
|
|
45
|
+
export declare abstract class A11yNodeDto {
|
|
46
|
+
protected childDtos: A11yNodeDto[];
|
|
47
|
+
abstract readonly kind: A11ySemanticKind;
|
|
48
|
+
/**
|
|
49
|
+
* Declare the semantic children of this node in reading order.
|
|
50
|
+
*
|
|
51
|
+
* @param {...A11yNodeDto} children - Semantic child DTOs in reading order.
|
|
52
|
+
* @returns {this} `this`, for fluent chaining.
|
|
53
|
+
*/
|
|
54
|
+
childrenWith(...children: A11yNodeDto[]): this;
|
|
55
|
+
/**
|
|
56
|
+
* Compile the declared child DTOs into their `A11yNode` representations.
|
|
57
|
+
*
|
|
58
|
+
* @returns {A11yNode[] | undefined} The compiled children, or `undefined` when none.
|
|
59
|
+
*/
|
|
60
|
+
protected compileChildren(): A11yNode[] | undefined;
|
|
61
|
+
/** Compile this DTO (and its subtree) into an `A11yNode`. */
|
|
62
|
+
abstract toA11yNode(): A11yNode;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* A generic container that groups related content. Maps to `role="group"`
|
|
66
|
+
* by default; strategies may upgrade to `role="region"` when a description
|
|
67
|
+
* is present and the platform benefits (e.g. Firefox+NVDA landmark
|
|
68
|
+
* navigation — see `firefox-nvda-strategy.ts`).
|
|
69
|
+
*/
|
|
70
|
+
export declare class A11yContainerNode extends A11yNodeDto {
|
|
71
|
+
readonly id: string;
|
|
72
|
+
readonly opts: {
|
|
73
|
+
label?: string;
|
|
74
|
+
description?: string;
|
|
75
|
+
};
|
|
76
|
+
readonly kind: A11ySemanticKind;
|
|
77
|
+
constructor(id: string, opts?: {
|
|
78
|
+
label?: string;
|
|
79
|
+
description?: string;
|
|
80
|
+
});
|
|
81
|
+
/**
|
|
82
|
+
* Compile this DTO into its `A11yNode` representation.
|
|
83
|
+
*
|
|
84
|
+
* @returns {A11yNode} The compiled semantic node.
|
|
85
|
+
*/
|
|
86
|
+
toA11yNode(): A11yNode;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* A navigable / discoverable section (landmark). Always renders as
|
|
90
|
+
* `role="region"` so it appears in AT landmark navigation.
|
|
91
|
+
*/
|
|
92
|
+
export declare class A11yLandmarkNode extends A11yNodeDto {
|
|
93
|
+
readonly id: string;
|
|
94
|
+
readonly opts: {
|
|
95
|
+
label?: string;
|
|
96
|
+
description?: string;
|
|
97
|
+
};
|
|
98
|
+
readonly kind: A11ySemanticKind;
|
|
99
|
+
constructor(id: string, opts?: {
|
|
100
|
+
label?: string;
|
|
101
|
+
description?: string;
|
|
102
|
+
});
|
|
103
|
+
/**
|
|
104
|
+
* Compile this DTO into its `A11yNode` representation.
|
|
105
|
+
*
|
|
106
|
+
* @returns {A11yNode} The compiled semantic node.
|
|
107
|
+
*/
|
|
108
|
+
toA11yNode(): A11yNode;
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* A heading at the given level (1–6, defaults to 2).
|
|
112
|
+
*
|
|
113
|
+
* Use this instead of a raw `{ role: 'heading', level: 2 }` literal to
|
|
114
|
+
* benefit from the default-level guard and the `kind` discriminator.
|
|
115
|
+
*/
|
|
116
|
+
export declare class A11yHeadingNode extends A11yNodeDto {
|
|
117
|
+
readonly id: string;
|
|
118
|
+
readonly opts: {
|
|
119
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
120
|
+
label?: string;
|
|
121
|
+
};
|
|
122
|
+
readonly kind: A11ySemanticKind;
|
|
123
|
+
constructor(id: string, opts?: {
|
|
124
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
125
|
+
label?: string;
|
|
126
|
+
});
|
|
127
|
+
/**
|
|
128
|
+
* Compile this DTO into its `A11yNode` representation.
|
|
129
|
+
*
|
|
130
|
+
* @returns {A11yNode} The compiled semantic node.
|
|
131
|
+
*/
|
|
132
|
+
toA11yNode(): A11yNode;
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* A purely decorative icon. `decorative` is always `true` so authors never
|
|
136
|
+
* have to remember the flag — that is the whole point of this DTO class.
|
|
137
|
+
*
|
|
138
|
+
* Produces `aria-hidden="true"` via the baseline strategy; webkit-voiceover
|
|
139
|
+
* additionally sets `role="none"` as a belt-and-suspenders guard.
|
|
140
|
+
*/
|
|
141
|
+
export declare class A11yIconNode extends A11yNodeDto {
|
|
142
|
+
readonly id: string;
|
|
143
|
+
readonly kind: A11ySemanticKind;
|
|
144
|
+
constructor(id: string);
|
|
145
|
+
/**
|
|
146
|
+
* Compile this DTO into its `A11yNode` representation.
|
|
147
|
+
*
|
|
148
|
+
* @returns {A11yNode} The compiled semantic node.
|
|
149
|
+
*/
|
|
150
|
+
toA11yNode(): A11yNode;
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* An informative image that requires an accessible label (alt text).
|
|
154
|
+
*
|
|
155
|
+
* Produces `role="img"` + `aria-label` via the baseline strategy.
|
|
156
|
+
* Contrast with `A11yIconNode` which is always decorative.
|
|
157
|
+
*/
|
|
158
|
+
export declare class A11yImageNode extends A11yNodeDto {
|
|
159
|
+
readonly id: string;
|
|
160
|
+
readonly opts: {
|
|
161
|
+
label: string;
|
|
162
|
+
};
|
|
163
|
+
readonly kind: A11ySemanticKind;
|
|
164
|
+
constructor(id: string, opts: {
|
|
165
|
+
label: string;
|
|
166
|
+
});
|
|
167
|
+
/**
|
|
168
|
+
* Compile this DTO into its `A11yNode` representation.
|
|
169
|
+
*
|
|
170
|
+
* @returns {A11yNode} The compiled semantic node.
|
|
171
|
+
*/
|
|
172
|
+
toA11yNode(): A11yNode;
|
|
173
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { A11yNode } from './a11y-tree.types';
|
|
2
|
+
/**
|
|
3
|
+
* Applies an A11y Tree to a shadow root by:
|
|
4
|
+
*
|
|
5
|
+
* 1. Resolving the `A11yTreeStrategy` that best matches the current
|
|
6
|
+
* browser engine / AT environment.
|
|
7
|
+
* 2. Compiling the semantic tree into a flat list of `AriaPatch`
|
|
8
|
+
* instructions.
|
|
9
|
+
* 3. Clearing any previously managed ARIA attributes (`data-a11y-managed`).
|
|
10
|
+
* 4. Applying each patch to the `data-a11y-id` target node in the shadow.
|
|
11
|
+
* 5. Materialising one visually-hidden description `<span>` per patch that
|
|
12
|
+
* references `aria-describedby` and whose node carries description text.
|
|
13
|
+
* 6. Stamping `data-a11y-strategy-applied` on the host for observability.
|
|
14
|
+
*
|
|
15
|
+
* This is the generic, component-agnostic projection step. Components
|
|
16
|
+
* interact with it indirectly through `A11yTreeSlimmer`.
|
|
17
|
+
*
|
|
18
|
+
* @param {A11yNode} root - The root `A11yNode` of the semantic tree.
|
|
19
|
+
* @param {HTMLElement} host - The component's host element. Must have a `shadowRoot`.
|
|
20
|
+
* If `shadowRoot` is null (e.g. light-DOM component or early call before first
|
|
21
|
+
* render), the function returns immediately without throwing.
|
|
22
|
+
* @example
|
|
23
|
+
* ```ts
|
|
24
|
+
* // Called once per render from A11yTreeSlimmer.projectA11yTree():
|
|
25
|
+
* applyA11yTree(buildSectionTitleA11yTree({ titleText, description }), this.host);
|
|
26
|
+
* ```
|
|
27
|
+
*/
|
|
28
|
+
export declare function applyA11yTree(root: A11yNode, host: HTMLElement): void;
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A11y Tree — generic type definitions.
|
|
3
|
+
*
|
|
4
|
+
* The A11y Tree is a browser-agnostic description of the *semantic* a11y
|
|
5
|
+
* structure of a component. Each node captures the intent (role, label,
|
|
6
|
+
* description, level, etc.) and a stable `id` that the strategy layer
|
|
7
|
+
* can use to project ARIA attributes onto the real DOM.
|
|
8
|
+
*
|
|
9
|
+
* ## Architecture overview
|
|
10
|
+
*
|
|
11
|
+
* ```
|
|
12
|
+
* Component (TSX)
|
|
13
|
+
* ↓ builds semantic tree via DTO helpers (a11y-node-dto.ts)
|
|
14
|
+
* A11yNode tree (this file)
|
|
15
|
+
* ↓ compiled by an A11yTreeStrategy
|
|
16
|
+
* AriaPatch[]
|
|
17
|
+
* ↓ applied by a11y-tree-applier.ts
|
|
18
|
+
* Shadow DOM (ARIA attributes on data-a11y-id elements)
|
|
19
|
+
* ```
|
|
20
|
+
*
|
|
21
|
+
* The A11y Tree is NOT rendered itself. It is consumed by an
|
|
22
|
+
* `A11yTreeStrategy` that decides, per browser/AT, which ARIA attributes
|
|
23
|
+
* to attach to which DOM nodes.
|
|
24
|
+
*
|
|
25
|
+
* ## Browser-engine strategy contract
|
|
26
|
+
*
|
|
27
|
+
* Assistive technology (AT) cannot be detected from JavaScript (by design,
|
|
28
|
+
* for user privacy). The strategy resolver therefore branches on *browser
|
|
29
|
+
* engine* as a coarse proxy for the most likely AT pairing:
|
|
30
|
+
*
|
|
31
|
+
* | Engine | Assumed AT | Confidence |
|
|
32
|
+
* |-----------|-------------------|---------------------|
|
|
33
|
+
* | WebKit | VoiceOver (macOS/iOS) | medium on Apple, low elsewhere |
|
|
34
|
+
* | Gecko | NVDA (Windows), Orca (Linux) | medium on Win, low elsewhere |
|
|
35
|
+
* | Chromium | JAWS / NVDA / TalkBack | high on non-Apple, medium on Apple |
|
|
36
|
+
*
|
|
37
|
+
* **Confidence semantics** (see `A11yStrategyConfidence`):
|
|
38
|
+
* - `high` — direct signal (explicit override or confirmed UA).
|
|
39
|
+
* - `medium` — plausible proxy; AT pairing is an assumption that covers the
|
|
40
|
+
* majority of users on that engine+platform combination.
|
|
41
|
+
* - `low` — unknown UA or atypical engine/platform combo; dev-mode warning
|
|
42
|
+
* fires once per (strategy, reason) tuple via `resolveStrategy`.
|
|
43
|
+
*
|
|
44
|
+
* Consumers who know the AT environment (e.g. automated tests, a storybook
|
|
45
|
+
* knob) can pin a strategy explicitly via `data-a11y-strategy` on the host
|
|
46
|
+
* element — this is always treated as `high` confidence.
|
|
47
|
+
*/
|
|
48
|
+
export declare type A11yRole = 'heading' | 'group' | 'region' | 'img' | 'presentation' | 'none';
|
|
49
|
+
/**
|
|
50
|
+
* Semantic kind — describes *what the content is*, independent of which
|
|
51
|
+
* ARIA attribute it ultimately produces. Strategies may dispatch on `kind`
|
|
52
|
+
* for fine-grained control beyond what `role` can express.
|
|
53
|
+
*
|
|
54
|
+
* Authoritative definition: `a11y-node-dto.ts`. Re-exported here so tree
|
|
55
|
+
* literal authors can type-check without importing the DTO module.
|
|
56
|
+
*/
|
|
57
|
+
export declare type A11ySemanticKind = 'container' | 'landmark' | 'heading' | 'icon' | 'image' | 'button' | 'live';
|
|
58
|
+
/**
|
|
59
|
+
* A single node in the semantic A11y Tree.
|
|
60
|
+
*
|
|
61
|
+
* Nodes are authored via the DTO helpers in `a11y-node-dto.ts` to avoid
|
|
62
|
+
* hand-shaping ARIA field names. Raw literals are still accepted by all
|
|
63
|
+
* APIs for backwards compatibility and quick inline use.
|
|
64
|
+
*/
|
|
65
|
+
export interface A11yNode {
|
|
66
|
+
/** Stable identifier; DOM nodes opt in via `data-a11y-id`. */
|
|
67
|
+
id: string;
|
|
68
|
+
/** Semantic role for this node. */
|
|
69
|
+
role: A11yRole;
|
|
70
|
+
/**
|
|
71
|
+
* Optional semantic discriminator emitted by the DTO layer.
|
|
72
|
+
* Strategies that need to distinguish intent beyond `role`
|
|
73
|
+
* (e.g. landmark vs plain container) dispatch on this first
|
|
74
|
+
* and fall back to `role` when absent.
|
|
75
|
+
*/
|
|
76
|
+
kind?: A11ySemanticKind;
|
|
77
|
+
/** Visible text label (used for aria-label / aria-labelledby). */
|
|
78
|
+
label?: string;
|
|
79
|
+
/** Supplementary description (used for aria-describedby). */
|
|
80
|
+
description?: string;
|
|
81
|
+
/** Heading level (1–6) when role === 'heading'. */
|
|
82
|
+
level?: 1 | 2 | 3 | 4 | 5 | 6;
|
|
83
|
+
/** Whether this node is purely decorative. */
|
|
84
|
+
decorative?: boolean;
|
|
85
|
+
/** Child semantic nodes. */
|
|
86
|
+
children?: A11yNode[];
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* A flat instruction emitted by the strategy: "on the DOM node carrying
|
|
90
|
+
* `data-a11y-id=<targetId>`, set this attribute to this value".
|
|
91
|
+
*
|
|
92
|
+
* `value === null` means the attribute should be removed.
|
|
93
|
+
*/
|
|
94
|
+
export interface AriaPatch {
|
|
95
|
+
targetId: string;
|
|
96
|
+
attribute: string;
|
|
97
|
+
value: string | null;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Strategy contract. Each strategy encapsulates the per-browser/AT quirks
|
|
101
|
+
* needed to project an `A11yNode` tree onto real ARIA attributes.
|
|
102
|
+
*
|
|
103
|
+
* Strategies MUST be pure functions of the tree: same input → same output.
|
|
104
|
+
* Side effects (DOM manipulation) belong in `a11y-tree-applier.ts`.
|
|
105
|
+
*/
|
|
106
|
+
export interface A11yTreeStrategy {
|
|
107
|
+
/** Machine-readable name, used for `data-a11y-strategy` lookups. */
|
|
108
|
+
name: string;
|
|
109
|
+
/** Convert a semantic A11y tree into a flat list of ARIA patches. */
|
|
110
|
+
compile(root: A11yNode): AriaPatch[];
|
|
111
|
+
}
|
|
112
|
+
/**
|
|
113
|
+
* Confidence level for the strategy-resolver's UA→AT mapping.
|
|
114
|
+
*
|
|
115
|
+
* - `high` : we observed a direct signal (explicit override, or a
|
|
116
|
+
* UA the resolver has confirmed test coverage for).
|
|
117
|
+
* - `medium` : UA pattern is a known proxy but the AT pairing is an
|
|
118
|
+
* assumption (e.g. Firefox → NVDA on Windows; users on
|
|
119
|
+
* Linux running Orca will also match this branch).
|
|
120
|
+
* - `low` : we are falling back to baseline because we could not
|
|
121
|
+
* recognise the UA at all.
|
|
122
|
+
*
|
|
123
|
+
* Low-confidence matches surface a dev-mode console warning (rate-limited
|
|
124
|
+
* per strategy+reason tuple) so product teams know when to pin a strategy
|
|
125
|
+
* explicitly via `data-a11y-strategy`.
|
|
126
|
+
*/
|
|
127
|
+
export declare type A11yStrategyConfidence = 'high' | 'medium' | 'low';
|
|
128
|
+
/**
|
|
129
|
+
* Full resolution result including the strategy, how confident we are,
|
|
130
|
+
* and a human-readable reason string for dev warnings.
|
|
131
|
+
*/
|
|
132
|
+
export interface A11yStrategyResolution {
|
|
133
|
+
strategy: A11yTreeStrategy;
|
|
134
|
+
confidence: A11yStrategyConfidence;
|
|
135
|
+
/** Human-readable reason — surfaced in dev warnings. */
|
|
136
|
+
reason: string;
|
|
137
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { A11yTreeStrategy } from '../a11y-tree.types';
|
|
2
|
+
/**
|
|
3
|
+
* Baseline strategy: spec-compliant ARIA, works on evergreen Chromium,
|
|
4
|
+
* Firefox, and Safari with their default AT pairings (NVDA, Orca,
|
|
5
|
+
* VoiceOver-macOS). Used as the default when no engine-specific override
|
|
6
|
+
* matches.
|
|
7
|
+
*
|
|
8
|
+
* ## Mapping rules
|
|
9
|
+
*
|
|
10
|
+
* | Node role | ARIA output |
|
|
11
|
+
* |---------------|----------------------------------------------------|
|
|
12
|
+
* | heading | `role="heading"` + `aria-level` |
|
|
13
|
+
* | group/region | `role` + `aria-label` (if present) + `aria-describedby` (if description) |
|
|
14
|
+
* | img (decorative) | `aria-hidden="true"` |
|
|
15
|
+
* | img (labelled) | `role="img"` + `aria-label` |
|
|
16
|
+
* | presentation/none | `role="presentation"` |
|
|
17
|
+
*/
|
|
18
|
+
export declare const baselineStrategy: A11yTreeStrategy;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { A11yTreeStrategy } from '../a11y-tree.types';
|
|
2
|
+
/**
|
|
3
|
+
* Firefox + NVDA strategy.
|
|
4
|
+
*
|
|
5
|
+
* Firefox/NVDA generally handles spec-compliant ARIA correctly. The one
|
|
6
|
+
* known quirk for the Vega component family:
|
|
7
|
+
*
|
|
8
|
+
* **NVDA browse-mode may skip `aria-describedby` on `role="group"`.**
|
|
9
|
+
* When a group container carries a description, NVDA in browse (reading)
|
|
10
|
+
* mode sometimes does not announce it. Workaround: promote the container to
|
|
11
|
+
* `role="region"`, which is part of the landmark navigation set and is
|
|
12
|
+
* reliably announced by NVDA when encountered during linear reading.
|
|
13
|
+
*
|
|
14
|
+
* All other node types fall back to baseline behaviour.
|
|
15
|
+
*/
|
|
16
|
+
export declare const firefoxNvdaStrategy: A11yTreeStrategy;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { A11yTreeStrategy } from '../a11y-tree.types';
|
|
2
|
+
/**
|
|
3
|
+
* WebKit + VoiceOver strategy.
|
|
4
|
+
*
|
|
5
|
+
* Applies on top of the baseline to work around two known VoiceOver quirks:
|
|
6
|
+
*
|
|
7
|
+
* **Quirk #1 — `aria-describedby` on non-focusable containers is skipped.**
|
|
8
|
+
* VoiceOver on Safari often does not read `aria-describedby` on non-focusable
|
|
9
|
+
* `role="group"` (A11yContainerNode) or `role="region"` (A11yLandmarkNode)
|
|
10
|
+
* containers. Workaround: fold the description text directly into the
|
|
11
|
+
* heading's `aria-label` (joined with `. `) so it is read together with the
|
|
12
|
+
* title, and remove the orphaned `aria-describedby` patch.
|
|
13
|
+
*
|
|
14
|
+
* **Quirk #2 — Decorative `<vega-icon>` announced twice.**
|
|
15
|
+
* Safari occasionally announces a decorative icon twice when only
|
|
16
|
+
* `aria-hidden` is set on the host. We additionally set `role="none"` as a
|
|
17
|
+
* belt-and-suspenders guard that suppresses the extra announcement.
|
|
18
|
+
*
|
|
19
|
+
* These adjustments are applied as a *diff* on top of the baseline patch
|
|
20
|
+
* list — the A11y Tree itself is unchanged. Other node types fall back to
|
|
21
|
+
* baseline behaviour.
|
|
22
|
+
*/
|
|
23
|
+
export declare const webkitVoiceOverStrategy: A11yTreeStrategy;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { A11yStrategyResolution, A11yTreeStrategy } from './a11y-tree.types';
|
|
2
|
+
/**
|
|
3
|
+
* All registered strategies. The resolver picks from this list; callers that
|
|
4
|
+
* need exhaustive enumeration (e.g. tests, Storybook knobs) can import this
|
|
5
|
+
* constant directly.
|
|
6
|
+
*/
|
|
7
|
+
export declare const ALL_A11Y_STRATEGIES: A11yTreeStrategy[];
|
|
8
|
+
/**
|
|
9
|
+
* Picks an `A11yTreeStrategy` from the runtime environment and returns the
|
|
10
|
+
* full `A11yStrategyResolution` including confidence and a reason string.
|
|
11
|
+
*
|
|
12
|
+
* ## Browser-engine detection
|
|
13
|
+
*
|
|
14
|
+
* AT cannot be detected from JS (user privacy). We branch on *browser engine*
|
|
15
|
+
* as a coarse proxy for the most likely AT pairing on each platform:
|
|
16
|
+
*
|
|
17
|
+
* | Engine | Assumed AT | Confidence |
|
|
18
|
+
* |-----------|------------------------------|-------------------------|
|
|
19
|
+
* | WebKit | VoiceOver (macOS/iOS) | medium on Apple, low elsewhere |
|
|
20
|
+
* | Gecko | NVDA (Win), Orca (Linux) | medium on Win32, low elsewhere |
|
|
21
|
+
* | Chromium | JAWS / NVDA / TalkBack | high on non-Apple, medium on Apple |
|
|
22
|
+
*
|
|
23
|
+
* An explicit `data-a11y-strategy` attribute on the host element is always
|
|
24
|
+
* treated as `high` confidence (known override). If the override value does
|
|
25
|
+
* not match any registered strategy name, the resolver falls back to baseline
|
|
26
|
+
* with `low` confidence and logs an actionable warning.
|
|
27
|
+
*
|
|
28
|
+
* @param {HTMLElement} [host] - The component host element. When provided, its
|
|
29
|
+
* `data-a11y-strategy` attribute is checked first.
|
|
30
|
+
* @returns {A11yStrategyResolution} The resolved strategy with confidence and reason.
|
|
31
|
+
*/
|
|
32
|
+
export declare function resolveStrategyDetailed(host?: HTMLElement): A11yStrategyResolution;
|
|
33
|
+
/**
|
|
34
|
+
* Pure UA→strategy mapping. Separated from `resolveStrategyDetailed` so the
|
|
35
|
+
* browser-engine detection table can be unit tested deterministically by
|
|
36
|
+
* passing explicit `userAgent` / `platform` values instead of mocking the
|
|
37
|
+
* global `navigator` (which build/test tooling may sandbox).
|
|
38
|
+
*
|
|
39
|
+
* @param {string | undefined} userAgent - The `navigator.userAgent` string, or
|
|
40
|
+
* `undefined` for an SSR / non-browser environment.
|
|
41
|
+
* @param {string} platform - The `navigator.platform` string (empty string when
|
|
42
|
+
* unavailable).
|
|
43
|
+
* @returns {A11yStrategyResolution} The resolved strategy with confidence and reason.
|
|
44
|
+
*/
|
|
45
|
+
export declare function resolveStrategyFromEnv(userAgent: string | undefined, platform: string): A11yStrategyResolution;
|
|
46
|
+
/**
|
|
47
|
+
* Convenience wrapper for callers that only need the resolved strategy.
|
|
48
|
+
* Equivalent to `resolveStrategyDetailed(host).strategy` but additionally
|
|
49
|
+
* emits a **dev-mode console warning** for `low`-confidence resolutions,
|
|
50
|
+
* pointing engineers at the `data-a11y-strategy` override mechanism.
|
|
51
|
+
*
|
|
52
|
+
* The warning is rate-limited per `(strategyName, reason)` tuple to avoid
|
|
53
|
+
* log spam on every render cycle.
|
|
54
|
+
*
|
|
55
|
+
* @param {HTMLElement} [host] - The component host element (optional). Used for
|
|
56
|
+
* the `data-a11y-strategy` override check.
|
|
57
|
+
* @returns {A11yTreeStrategy} The resolved strategy.
|
|
58
|
+
*/
|
|
59
|
+
export declare function resolveStrategy(host?: HTMLElement): A11yTreeStrategy;
|
|
@@ -39,6 +39,14 @@ export declare abstract class SharedBackdropManager extends VegaSlimmer {
|
|
|
39
39
|
* @param {boolean} visible - Desired visibility.
|
|
40
40
|
*/
|
|
41
41
|
protected setVisibilityIntent(visible: boolean): void;
|
|
42
|
+
/**
|
|
43
|
+
* Whether this manager type handles backdrop existence lazily (on demand).
|
|
44
|
+
* Override and return `true` in derived classes that create/remove the backdrop
|
|
45
|
+
* per visibility cycle instead of at connectedCallback.
|
|
46
|
+
*
|
|
47
|
+
* @returns {boolean} False by default — backdrop is created eagerly at connect time.
|
|
48
|
+
*/
|
|
49
|
+
protected usesLazyBackdrop(): boolean;
|
|
42
50
|
/**
|
|
43
51
|
* Ensure a backdrop exists for this subclass and return it.
|
|
44
52
|
*
|
|
@@ -53,6 +61,14 @@ export declare abstract class SharedBackdropManager extends VegaSlimmer {
|
|
|
53
61
|
* Sync shared backdrop `visible` based on current visibility intents.
|
|
54
62
|
*/
|
|
55
63
|
private syncVisibility;
|
|
64
|
+
/**
|
|
65
|
+
* Handles visibility sync for manager types that opt into lazy backdrop lifecycle.
|
|
66
|
+
* When `shouldShow` is true the backdrop is created (if needed) and made visible.
|
|
67
|
+
* When `shouldShow` is false the backdrop is removed from the DOM.
|
|
68
|
+
*
|
|
69
|
+
* @param {boolean} shouldShow - Whether the backdrop should be visible.
|
|
70
|
+
*/
|
|
71
|
+
private syncLazyBackdrop;
|
|
56
72
|
/**
|
|
57
73
|
* Reset stale static shared state when the tracked backdrop is no longer in the DOM.
|
|
58
74
|
*/
|