@globalpayments/vega 2.91.0 → 2.92.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-7bb10088.js → app-globals-2f326662.js} +13 -10
- package/dist/cjs/{child-nodes-event-prevent-slimmer-76d19d56.js → child-nodes-event-prevent-slimmer-b9a5b3e2.js} +1 -1
- package/dist/cjs/{code-block-c1039791.js → code-block-6435d641.js} +24 -1
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-1d36641d.js → component-value-history-controller-slimmer.abstract-e4c9a5ba.js} +3 -3
- package/dist/cjs/{content-state-a6105949.js → content-state-96ec9114.js} +32 -3
- package/dist/cjs/copy-d021c780.js +7 -0
- package/dist/cjs/{date-required-rule-c4997459.js → date-required-rule-8c9e312b.js} +1 -1
- package/dist/cjs/{design-token-f65eab4a.js → design-token-3548af29.js} +3 -3
- package/dist/cjs/{element-appender-slimmer-316668d0.js → element-appender-slimmer-3bf69990.js} +3 -3
- package/dist/cjs/{file-uploader-required-rule-cc51d4ab.js → file-uploader-required-rule-5520bbec.js} +1 -1
- package/dist/cjs/{form-field-controller-slimmer-b0c35330.js → form-field-controller-slimmer-e0efac05.js} +1 -1
- package/dist/cjs/{image-annotation-action-e4596726.js → image-annotation-action-853f72c8.js} +2 -2
- package/dist/cjs/index-58ea899e.js +4 -0
- package/dist/cjs/index.cjs.js +25 -20
- package/dist/cjs/{inject-keyboard-manager-1f5bbb19.js → inject-keyboard-manager-0dccff1a.js} +1 -1
- package/dist/cjs/{internal-calendar-period-factory-9c66cf36.js → internal-calendar-period-factory-6187ec4c.js} +1 -1
- package/dist/cjs/{internal-translation-controller-5905469e.js → internal-translation-controller-48ebfd0f.js} +14 -0
- package/dist/cjs/{keyboard-manager-61e8ce38.js → keyboard-manager-dfe8d924.js} +1 -1
- package/dist/cjs/{keyboard-manager-slimmer-079a7e87.js → keyboard-manager-slimmer-4a2560a1.js} +1 -1
- package/dist/cjs/{link-extension-a7ac28f3.js → link-extension-28d95849.js} +3 -3
- package/dist/cjs/loader.cjs.js +14 -13
- package/dist/cjs/{month-view-generator-48215a05.js → month-view-generator-2e59b188.js} +1 -1
- package/dist/cjs/{public-rules-66540638.js → public-rules-8727c42c.js} +10 -10
- package/dist/cjs/{range-dea19a90.js → range-5cb3d1e4.js} +25 -3
- package/dist/cjs/{replace-selected-text-action-6d1ebbf9.js → replace-selected-text-action-a31563ed.js} +1 -1
- package/dist/cjs/{required-field-rule-b12a29e1.js → required-field-rule-400690c3.js} +1 -1
- package/dist/cjs/{responsive-format-facade-10ff730e.js → responsive-format-facade-98b89142.js} +2 -2
- package/dist/cjs/{rich-text-editor-required-rule-63492ca3.js → rich-text-editor-required-rule-8e4d577d.js} +1 -1
- package/dist/cjs/{split-cell-operation-30e5dd4a.js → split-cell-operation-9e3ab88d.js} +3 -3
- package/dist/cjs/{state-border-formatter-e7779964.js → state-border-formatter-626b0a14.js} +1 -1
- package/dist/cjs/{string-format-strategy.abstract-a22f0cb1.js → string-format-strategy.abstract-981f43e1.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-8179eb40.js → string-input-formatter-slimmer-fc4a0ba5.js} +1 -1
- package/dist/cjs/{string-mask-strategy-8b9bb0c1.js → string-mask-strategy-b47fa159.js} +2 -2
- package/dist/cjs/{style-formatter-380b9a86.js → style-formatter-baf18624.js} +2 -2
- package/dist/cjs/{time-required-rule-080d975b.js → time-required-rule-e77d174f.js} +1 -1
- package/dist/cjs/{token-extension-619379a3.js → token-extension-3aec039f.js} +1609 -15
- package/dist/cjs/{translation-slimmer-2af6f141.js → translation-slimmer-1e05769e.js} +1 -1
- package/dist/cjs/{type-guard-0171e779.js → type-guard-7ab48d6c.js} +1 -1
- package/dist/cjs/{valid-credit-card-number-rule-fdfca83e.js → valid-credit-card-number-rule-52ba9c67.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +18 -10
- package/dist/cjs/vega-app-header-button.cjs.entry.js +7 -7
- package/dist/cjs/vega-banner.cjs.entry.js +3 -6
- package/dist/cjs/vega-box.cjs.entry.js +7 -7
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +2 -2
- package/dist/cjs/vega-button-circle.cjs.entry.js +7 -7
- package/dist/cjs/vega-button-group_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-button-link.cjs.entry.js +2 -2
- package/dist/cjs/vega-button.cjs.entry.js +5 -5
- package/dist/cjs/vega-calendar_5.cjs.entry.js +9 -9
- package/dist/cjs/vega-card.cjs.entry.js +6 -6
- package/dist/cjs/vega-carousel.cjs.entry.js +4 -4
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +5 -5
- package/dist/cjs/vega-chip.cjs.entry.js +7 -7
- package/dist/cjs/vega-code-block.cjs.entry.js +12 -15
- package/dist/cjs/vega-color-picker.cjs.entry.js +4 -4
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +6 -6
- package/dist/cjs/vega-color-swatch.cjs.entry.js +2 -2
- package/dist/cjs/vega-combo-box.cjs.entry.js +11 -11
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +15 -15
- package/dist/cjs/vega-dialog_2.cjs.entry.js +5 -5
- package/dist/cjs/vega-divider.cjs.entry.js +6 -6
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +9 -9
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +13 -9
- package/dist/cjs/vega-file-uploader.cjs.entry.js +6 -6
- package/dist/cjs/vega-flag-icon.cjs.entry.js +6 -6
- package/dist/cjs/vega-flex.cjs.entry.js +7 -7
- package/dist/cjs/vega-font.cjs.entry.js +6 -6
- package/dist/cjs/vega-form.cjs.entry.js +5 -5
- package/dist/cjs/vega-grid.cjs.entry.js +6 -6
- package/dist/cjs/vega-icon.cjs.entry.js +6 -6
- package/dist/cjs/vega-image-uploader.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-numeric.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-passcode.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +6 -6
- package/dist/cjs/vega-input-range.cjs.entry.js +5 -5
- package/dist/cjs/vega-input-select.cjs.entry.js +8 -8
- package/dist/cjs/vega-input.cjs.entry.js +9 -9
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +8 -8
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination.cjs.entry.js +6 -6
- package/dist/cjs/vega-popover_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-radio_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +6 -6
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +220 -48
- package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +233 -0
- package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +5 -5
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +11 -11
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +5 -5
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +4 -4
- package/dist/cjs/vega-signature-capture.cjs.entry.js +9 -9
- package/dist/cjs/vega-stepper.cjs.entry.js +4 -4
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +2 -2
- package/dist/cjs/vega-table_11.cjs.entry.js +6 -6
- package/dist/cjs/vega-textarea.cjs.entry.js +5 -5
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +11 -11
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
- package/dist/cjs/vega.cjs.js +14 -13
- package/dist/cjs/xmark-large-faae5a80.js +7 -0
- package/dist/collection/collection-manifest.json +6 -0
- package/dist/collection/components/vega-accordion/slimmers/vega-accordion-renderer.js +11 -3
- package/dist/collection/components/vega-box/vega-box.js +3 -3
- package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-copy-button-renderer.js +1 -1
- package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-suffix-element-renderer.js +5 -4
- package/dist/collection/components/vega-field-label/vega-field-label.css +20 -0
- package/dist/collection/components/vega-field-label/vega-field-label.js +6 -3
- package/dist/collection/components/vega-input/vega-input.css +1 -0
- package/dist/collection/components/vega-input/vega-input.js +1 -1
- package/dist/collection/components/vega-input-select/vega-input-select.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/assets/cut.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.js +16 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-merge-nodes-strategy.js +25 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/delete-selected-content-strategy.js +16 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/delete-selected-content-action.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/dto/range.js +24 -2
- package/dist/collection/components/vega-rich-text-editor/extensions/copy/action-handler-strategies/copy-selected-content-strategy.js +226 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/copy/actions/copy-selected-content-action.js +21 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/copy/copy-extension.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/copy/copy-toolbar-button-renderer.js +58 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/cut/cut-extension.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/cut/cut-toolbar-button-renderer.js +44 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/assets/find-and-replace.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/find-replace-extension.js +18 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/find-controller.js +105 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/find-replace-controller.abstract.js +68 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/block-search-strategies/block-search-strategy.abstract.js +8 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/block-search-strategies/code-block-search-strategy.js +19 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/block-search-strategies/container-block-search-strategy.js +23 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/block-search-strategies/list-item-block-search-strategy.js +30 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/block-search-strategies/text-block-search-strategy.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/find-replace-highlight-manager.js +266 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/find-replace-state.js +346 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/replace-controller.js +113 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.js +194 -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 +153 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/vega-rich-text-find-replace-panel/vega-rich-text-find-replace-panel.css +50 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/find-replace/vega-rich-text-find-replace-panel/vega-rich-text-find-replace-panel.js +156 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/function-extension.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/horizontal-line/horizontal-line-extension.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/line-height/line-height-extension.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/special-characters/special-characters-extension.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/vega-rich-text-table-selection-widget/slimmers/controllers/selection-widget-keyboard-controller.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-extension.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/public-api.js +4 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/abstract-delete-content-handler.js +133 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/backward-delete-content-handler.js +35 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/forward-delete-content-handler.js +93 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +9 -3
- package/dist/collection/components/vega-textarea/vega-textarea.js +1 -1
- package/dist/collection/global/scripts/before-vega-load.js +6 -0
- package/dist/collection/helpers/translation/locales/en.js +14 -0
- package/dist/esm/{app-globals-6041f52f.js → app-globals-5e0d319a.js} +13 -10
- package/dist/esm/{aria-dialog-focusable-trap-slimmer-1332c071.js → aria-dialog-focusable-trap-slimmer-9eae86c6.js} +1 -1
- package/dist/esm/{child-nodes-event-prevent-slimmer-50022584.js → child-nodes-event-prevent-slimmer-f24618c5.js} +2 -2
- package/dist/esm/{code-block-37294847.js → code-block-b71b2aa4.js} +26 -3
- package/dist/esm/{component-value-history-controller-slimmer.abstract-45ccddc9.js → component-value-history-controller-slimmer.abstract-282df6e5.js} +4 -4
- package/dist/esm/{content-state-67950b80.js → content-state-909099f8.js} +33 -4
- package/dist/esm/copy-54e45e2d.js +5 -0
- package/dist/esm/{date-required-rule-958cf380.js → date-required-rule-15edb04a.js} +1 -1
- package/dist/esm/{design-token-e7e78f18.js → design-token-cb5ed6b9.js} +3 -3
- package/dist/esm/{element-appender-slimmer-ebda526d.js → element-appender-slimmer-e41120ee.js} +4 -4
- package/dist/esm/{event-emit-slimmer-b94cec83.js → event-emit-slimmer-03deba18.js} +1 -1
- package/dist/esm/{file-uploader-required-rule-82188a61.js → file-uploader-required-rule-96952e1a.js} +1 -1
- package/dist/esm/{form-field-controller-slimmer-0a2ba886.js → form-field-controller-slimmer-cfe1d8a7.js} +3 -3
- package/dist/esm/{image-annotation-action-7f7a5678.js → image-annotation-action-98232dc4.js} +3 -3
- package/dist/esm/index-090d31ca.js +4 -0
- package/dist/esm/index.js +24 -23
- package/dist/esm/{inject-keyboard-manager-2b19c121.js → inject-keyboard-manager-13cc77ab.js} +1 -1
- package/dist/esm/{internal-calendar-period-factory-fff8aaee.js → internal-calendar-period-factory-c3d70f3b.js} +1 -1
- package/dist/esm/{internal-translation-controller-aa09ca87.js → internal-translation-controller-8e8a514a.js} +14 -0
- package/dist/esm/{internal-vega-event-manager-956cf128.js → internal-vega-event-manager-75e5e3bb.js} +1 -1
- package/dist/esm/{keyboard-manager-3e5b157f.js → keyboard-manager-fe885db1.js} +1 -1
- package/dist/esm/{keyboard-manager-slimmer-ba5cc767.js → keyboard-manager-slimmer-61d4c79b.js} +1 -1
- package/dist/esm/{link-extension-afb404fb.js → link-extension-f1a3bea7.js} +3 -3
- package/dist/esm/loader.js +17 -16
- package/dist/esm/{month-view-generator-7a0c869c.js → month-view-generator-85eecb95.js} +1 -1
- package/dist/esm/{public-rules-f64b0b78.js → public-rules-323bea4b.js} +11 -11
- package/dist/esm/{range-4d09a305.js → range-e63068d1.js} +25 -3
- package/dist/esm/{replace-selected-text-action-12bc8b82.js → replace-selected-text-action-c0817b2b.js} +1 -1
- package/dist/esm/{required-field-rule-a4634842.js → required-field-rule-897fe8d1.js} +1 -1
- package/dist/esm/{responsive-format-facade-844c5e09.js → responsive-format-facade-fb424f5b.js} +2 -2
- package/dist/esm/{rich-text-editor-required-rule-d62d418e.js → rich-text-editor-required-rule-0edb8ba7.js} +1 -1
- package/dist/esm/{split-cell-operation-c515669e.js → split-cell-operation-93b4d775.js} +3 -3
- package/dist/esm/{state-border-formatter-f53847a5.js → state-border-formatter-1a528ca4.js} +1 -1
- package/dist/esm/{string-format-strategy.abstract-a0327405.js → string-format-strategy.abstract-72fc98aa.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-12de4a25.js → string-input-formatter-slimmer-b0c480d8.js} +3 -3
- package/dist/esm/{string-mask-strategy-3bb03155.js → string-mask-strategy-4e00c173.js} +2 -2
- package/dist/esm/{style-formatter-df7bf8ec.js → style-formatter-5c1bea8d.js} +2 -2
- package/dist/esm/{sub-state-notify-slimmer-7ef94141.js → sub-state-notify-slimmer-0f72ce74.js} +1 -1
- package/dist/esm/{sub-state-observer-slimmer-d9ad2bdd.js → sub-state-observer-slimmer-64532d94.js} +1 -1
- package/dist/esm/{time-required-rule-db0dee53.js → time-required-rule-df500b14.js} +1 -1
- package/dist/esm/{token-extension-8ff92d14.js → token-extension-32d1fa56.js} +1610 -20
- package/dist/esm/{translation-slimmer-4904e7fe.js → translation-slimmer-60408f13.js} +1 -1
- package/dist/esm/{type-guard-a2cbaae9.js → type-guard-91087018.js} +1 -1
- package/dist/esm/{valid-credit-card-number-rule-a3f9858d.js → valid-credit-card-number-rule-681ecb75.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +21 -13
- package/dist/esm/vega-app-footer.entry.js +3 -3
- package/dist/esm/vega-app-header-button.entry.js +10 -10
- package/dist/esm/vega-banner.entry.js +5 -8
- package/dist/esm/vega-box.entry.js +7 -7
- package/dist/esm/vega-breadcrumb.entry.js +5 -5
- package/dist/esm/vega-button-circle.entry.js +11 -11
- package/dist/esm/vega-button-group_2.entry.js +8 -8
- package/dist/esm/vega-button-link.entry.js +5 -5
- package/dist/esm/vega-button.entry.js +9 -9
- package/dist/esm/vega-calendar_5.entry.js +15 -15
- package/dist/esm/vega-card.entry.js +6 -6
- package/dist/esm/vega-carousel.entry.js +7 -7
- package/dist/esm/vega-checkbox_2.entry.js +10 -10
- package/dist/esm/vega-chip.entry.js +10 -10
- package/dist/esm/vega-code-block.entry.js +15 -18
- package/dist/esm/vega-color-picker.entry.js +9 -9
- package/dist/esm/vega-color-swatch-picker.entry.js +11 -11
- package/dist/esm/vega-color-swatch.entry.js +5 -5
- package/dist/esm/vega-combo-box.entry.js +16 -16
- package/dist/esm/vega-date-picker_2.entry.js +22 -22
- package/dist/esm/vega-dialog_2.entry.js +10 -10
- package/dist/esm/vega-divider.entry.js +6 -6
- package/dist/esm/vega-dropdown_5.entry.js +16 -16
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/{vega-event-id-268f8def.js → vega-event-id-d3017041.js} +1 -1
- package/dist/esm/vega-field-label.entry.js +16 -12
- package/dist/esm/vega-file-uploader.entry.js +11 -11
- package/dist/esm/vega-flag-icon.entry.js +6 -6
- 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 +11 -11
- 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 +13 -13
- 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 +11 -11
- package/dist/esm/vega-input-range.entry.js +10 -10
- package/dist/esm/vega-input-select.entry.js +13 -13
- package/dist/esm/vega-input.entry.js +15 -15
- package/dist/esm/{vega-internal-event-id-22151a4d.js → vega-internal-event-id-827eb1ce.js} +1 -1
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +14 -14
- package/dist/esm/vega-loader-wrapper_2.entry.js +4 -4
- package/dist/esm/vega-page-notification_2.entry.js +1 -1
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +5 -5
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +4 -4
- package/dist/esm/vega-pagination.entry.js +10 -10
- package/dist/esm/vega-popover_2.entry.js +14 -14
- package/dist/esm/vega-progress-tracker_2.entry.js +10 -10
- package/dist/esm/vega-radio_2.entry.js +13 -13
- package/dist/esm/vega-rich-text-content.entry.js +10 -10
- package/dist/esm/vega-rich-text-editor_4.entry.js +227 -55
- package/dist/esm/vega-rich-text-find-replace-panel.entry.js +229 -0
- package/dist/esm/vega-rich-text-special-characters-panel.entry.js +8 -8
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +14 -14
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-chip_2.entry.js +13 -13
- package/dist/esm/vega-selection-tile_2.entry.js +11 -11
- package/dist/esm/vega-sidenav_3.entry.js +10 -10
- package/dist/esm/vega-signature-capture.entry.js +14 -14
- package/dist/esm/vega-stepper.entry.js +9 -9
- package/dist/esm/vega-tab-group_2.entry.js +5 -5
- package/dist/esm/vega-table_11.entry.js +12 -12
- package/dist/esm/vega-textarea.entry.js +10 -10
- package/dist/esm/vega-time-picker_2.entry.js +16 -16
- package/dist/esm/vega-toggle-switch.entry.js +7 -7
- package/dist/esm/vega-tooltip_2.entry.js +8 -8
- package/dist/esm/vega.js +17 -16
- package/dist/esm/{wait-for-component-did-render-0488922a.js → wait-for-component-did-render-0c237cb8.js} +1 -1
- package/dist/esm/xmark-large-c5ae7944.js +5 -0
- package/dist/sri/vega-sri-manifest.json +387 -375
- package/dist/types/components/vega-accordion/slimmers/vega-accordion-renderer.d.ts +2 -0
- package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-suffix-element-renderer.d.ts +1 -0
- package/dist/types/components/vega-field-label/types.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-merge-nodes-strategy.d.ts +9 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/delete-selected-content-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/delete-selected-content-action.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +2 -1
- package/dist/types/components/vega-rich-text-editor/dto/range.d.ts +16 -0
- package/dist/types/components/vega-rich-text-editor/extensions/copy/action-handler-strategies/copy-selected-content-strategy.d.ts +79 -0
- package/dist/types/components/vega-rich-text-editor/extensions/copy/actions/copy-selected-content-action.d.ts +18 -0
- package/dist/types/components/vega-rich-text-editor/extensions/copy/copy-extension.d.ts +10 -0
- package/dist/types/components/vega-rich-text-editor/extensions/copy/copy-toolbar-button-renderer.d.ts +36 -0
- package/dist/types/components/vega-rich-text-editor/extensions/cut/cut-extension.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/extensions/cut/cut-toolbar-button-renderer.d.ts +24 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/assets/find-and-replace.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/find-replace-extension.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/find-controller.d.ts +65 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/find-replace-controller.abstract.d.ts +65 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/block-search-strategies/block-search-strategy.abstract.d.ts +29 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/block-search-strategies/code-block-search-strategy.d.ts +17 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/block-search-strategies/container-block-search-strategy.d.ts +21 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/block-search-strategies/list-item-block-search-strategy.d.ts +21 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/block-search-strategies/text-block-search-strategy.d.ts +18 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/find-replace-highlight-manager.d.ts +88 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/helper/find-replace-state.d.ts +200 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/controllers/replace-controller.d.ts +73 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/slimmer/renderers/find-replace-toolbar-button-renderer.d.ts +64 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/vega-rich-text-find-replace-panel/slimmers/renderers/find-replace-panel-renderer.d.ts +28 -0
- package/dist/types/components/vega-rich-text-editor/extensions/find-replace/vega-rich-text-find-replace-panel/vega-rich-text-find-replace-panel.d.ts +56 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/extensions/horizontal-line/horizontal-line-extension.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/extensions/languages/language-extension.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/extensions/line-height/line-height-extension.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/extensions/special-characters/special-characters-extension.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/extensions/table/table-extension.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-extension.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/public-api.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/abstract-delete-content-handler.d.ts +60 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/backward-delete-content-handler.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/forward-delete-content-handler.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.d.ts +2 -1
- package/dist/types/components.d.ts +34 -0
- package/dist/types/global/icons/copy.d.ts +3 -0
- package/dist/types/helpers/translation/interface.d.ts +15 -1
- package/dist/types/types/ui.type.d.ts +1 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-cb4033ef.js → p-0179f55d.js} +1 -1
- package/dist/vega/{p-8bc23bcf.entry.js → p-06c2ce2c.entry.js} +1 -1
- package/dist/vega/{p-fb1ef3e6.entry.js → p-07b56f2b.entry.js} +1 -1
- package/dist/vega/{p-141f74ff.js → p-136226f8.js} +1 -1
- package/dist/vega/{p-e9a82603.entry.js → p-18413b62.entry.js} +1 -1
- package/dist/vega/p-209e0166.js +1 -0
- package/dist/vega/{p-014e2cf9.js → p-228c5de8.js} +1 -1
- package/dist/vega/{p-cc8bf6e7.entry.js → p-22f73e6e.entry.js} +1 -1
- package/dist/vega/p-2314494a.entry.js +1 -0
- package/dist/vega/p-2353b64f.entry.js +1 -0
- package/dist/vega/p-29e3eb12.js +1 -0
- package/dist/vega/p-2da12975.entry.js +1 -0
- package/dist/vega/{p-8019c156.js → p-2def8e3e.js} +1 -1
- package/dist/vega/{p-5bed3fd2.entry.js → p-2e58d99e.entry.js} +1 -1
- package/dist/vega/{p-bb0040d4.entry.js → p-30561e1d.entry.js} +1 -1
- package/dist/vega/{p-fc103347.entry.js → p-35df0f0a.entry.js} +1 -1
- package/dist/vega/{p-15da9d58.entry.js → p-37dffdf6.entry.js} +1 -1
- package/dist/vega/{p-5ffc7cb8.js → p-3a68b729.js} +1 -1
- package/dist/vega/{p-507612f6.entry.js → p-3cf4339a.entry.js} +1 -1
- package/dist/vega/{p-4cef4812.js → p-3f183b52.js} +1 -1
- package/dist/vega/{p-42ed76ee.entry.js → p-40501057.entry.js} +1 -1
- package/dist/vega/{p-12b5c5e3.entry.js → p-438b7404.entry.js} +1 -1
- package/dist/vega/{p-8982796b.entry.js → p-43c3848f.entry.js} +1 -1
- package/dist/vega/{p-9756c6b9.entry.js → p-450bf94d.entry.js} +1 -1
- package/dist/vega/{p-0e03daa6.js → p-45ab490c.js} +1 -1
- package/dist/vega/{p-94845302.entry.js → p-481601c0.entry.js} +1 -1
- package/dist/vega/{p-0707aa21.js → p-4953bb1a.js} +1 -1
- package/dist/vega/{p-2b22091e.js → p-4d9061fb.js} +1 -1
- package/dist/vega/{p-b2f9698a.entry.js → p-4e39adf5.entry.js} +1 -1
- package/dist/vega/{p-316a1e5c.entry.js → p-5038b6d7.entry.js} +1 -1
- package/dist/vega/{p-3cf298a4.entry.js → p-5319da71.entry.js} +1 -1
- package/dist/vega/p-53c76d9d.entry.js +1 -0
- package/dist/vega/{p-64b5fe2a.entry.js → p-5545a235.entry.js} +1 -1
- package/dist/vega/{p-c75872a4.entry.js → p-56cf1a65.entry.js} +1 -1
- package/dist/vega/{p-216ef41e.entry.js → p-5829a66d.entry.js} +1 -1
- package/dist/vega/p-590c8720.entry.js +1 -0
- package/dist/vega/{p-5e282e41.js → p-5946fadf.js} +1 -1
- package/dist/vega/{p-822f70b0.js → p-5beec481.js} +1 -1
- package/dist/vega/p-5de1acdb.js +1 -0
- package/dist/vega/p-5df9047c.js +1 -0
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-aaa6e976.entry.js → p-625351a3.entry.js} +1 -1
- package/dist/vega/p-683cfe24.js +1 -0
- package/dist/vega/p-68e16c70.entry.js +1 -0
- package/dist/vega/{p-ef44d516.js → p-70817cf5.js} +1 -1
- package/dist/vega/{p-a14d8767.js → p-71e2a3ec.js} +1 -1
- package/dist/vega/{p-a4826f3f.entry.js → p-7798254d.entry.js} +1 -1
- package/dist/vega/p-7be548a7.js +1 -0
- package/dist/vega/{p-4037126d.js → p-802bf369.js} +1 -1
- package/dist/vega/{p-b77e85e0.entry.js → p-82279b03.entry.js} +1 -1
- package/dist/vega/{p-f362c07b.entry.js → p-8509c140.entry.js} +1 -1
- package/dist/vega/p-88a6c89a.js +1 -0
- package/dist/vega/p-890a5254.js +1 -0
- package/dist/vega/p-8aa07ed0.js +1 -0
- package/dist/vega/{p-da2b1fd0.entry.js → p-8b9a8603.entry.js} +1 -1
- package/dist/vega/{p-14bfc113.js → p-8bc15ed0.js} +1 -1
- package/dist/vega/{p-aea912ac.js → p-8d69b201.js} +1 -1
- package/dist/vega/p-8da860f6.js +1 -0
- package/dist/vega/{p-329c808e.entry.js → p-8f078d0d.entry.js} +1 -1
- package/dist/vega/p-916dfa7e.entry.js +1 -0
- package/dist/vega/{p-42a1d300.entry.js → p-9219201a.entry.js} +1 -1
- package/dist/vega/{p-cd2a1ffb.js → p-92823583.js} +1 -1
- package/dist/vega/{p-cec8ffdc.js → p-93dfab05.js} +1 -1
- package/dist/vega/{p-7f086e54.entry.js → p-9440a8a5.entry.js} +1 -1
- package/dist/vega/p-970115d6.js +1 -0
- package/dist/vega/{p-da067259.entry.js → p-9b1d718c.entry.js} +1 -1
- package/dist/vega/{p-c65a5778.entry.js → p-9cdedcfb.entry.js} +1 -1
- package/dist/vega/{p-6e7c1b19.entry.js → p-9fafc956.entry.js} +1 -1
- package/dist/vega/{p-70352240.entry.js → p-a268a4fb.entry.js} +1 -1
- package/dist/vega/{p-cd21adb8.js → p-a2bd621e.js} +1 -1
- package/dist/vega/p-a361456d.js +1 -0
- package/dist/vega/{p-73b9868f.js → p-aa32f2f3.js} +1 -1
- package/dist/vega/p-b6225d01.js +1 -0
- package/dist/vega/{p-58a00869.entry.js → p-b6ebfd5c.entry.js} +1 -1
- package/dist/vega/{p-fea33425.js → p-b730bf6e.js} +1 -1
- package/dist/vega/{p-81591449.entry.js → p-b799fc1f.entry.js} +1 -1
- package/dist/vega/{p-4644ccf9.entry.js → p-c0629528.entry.js} +1 -1
- package/dist/vega/{p-50d7a1c4.entry.js → p-c2e0f8b7.entry.js} +1 -1
- package/dist/vega/{p-522dd15f.entry.js → p-c67ce78c.entry.js} +1 -1
- package/dist/vega/{p-6ecb3c7d.entry.js → p-c78aeaf3.entry.js} +1 -1
- package/dist/vega/{p-5df53125.entry.js → p-c78e8081.entry.js} +1 -1
- package/dist/vega/{p-1acd5f04.entry.js → p-c8eaf91c.entry.js} +1 -1
- package/dist/vega/p-ca9852bb.js +1 -0
- package/dist/vega/{p-ce27c273.entry.js → p-cd1844ad.entry.js} +1 -1
- package/dist/vega/{p-a04b95aa.entry.js → p-cd9fb2ca.entry.js} +1 -1
- package/dist/vega/p-ce7e9515.entry.js +1 -0
- package/dist/vega/p-d0ce752f.entry.js +1 -0
- package/dist/vega/{p-044496e0.entry.js → p-d20587b4.entry.js} +1 -1
- package/dist/vega/{p-ae728041.entry.js → p-d3c8b871.entry.js} +1 -1
- package/dist/vega/{p-c87c7ef4.js → p-d7369441.js} +1 -1
- package/dist/vega/p-de885ef2.js +1 -0
- package/dist/vega/{p-b7b0930a.entry.js → p-dee38163.entry.js} +1 -1
- package/dist/vega/{p-6820b488.entry.js → p-e160a727.entry.js} +1 -1
- package/dist/vega/{p-49b4ab2b.js → p-e371738b.js} +1 -1
- package/dist/vega/{p-4979fd7d.js → p-e3803943.js} +1 -1
- package/dist/vega/p-e41d9d0e.entry.js +1 -0
- package/dist/vega/p-e5502873.entry.js +1 -0
- package/dist/vega/{p-5fcb825c.entry.js → p-e9cee498.entry.js} +1 -1
- package/dist/vega/p-ea22cba0.js +1 -0
- package/dist/vega/p-ea54ce0a.js +3 -0
- package/dist/vega/p-ee3155bd.js +1 -0
- package/dist/vega/{p-0605c656.entry.js → p-eee01ba7.entry.js} +1 -1
- package/dist/vega/{p-3fe43f7a.entry.js → p-ef2b9846.entry.js} +1 -1
- package/dist/vega/p-f0bc2bbb.js +1 -0
- package/dist/vega/{p-3863187f.entry.js → p-f365601c.entry.js} +1 -1
- package/dist/vega/p-f4a01959.js +1 -0
- package/dist/vega/{p-9e327397.entry.js → p-f515d189.entry.js} +1 -1
- package/dist/vega/{p-b504a8b4.entry.js → p-f5aefb2f.entry.js} +1 -1
- package/dist/vega/{p-2f48162f.entry.js → p-f6bccb06.entry.js} +1 -1
- package/dist/vega/{p-e75e75c9.entry.js → p-f70f7ad8.entry.js} +1 -1
- package/dist/vega/{p-42f3c0b1.entry.js → p-f7739cbb.entry.js} +1 -1
- package/dist/vega/{p-335e3237.entry.js → p-fc5dfb52.entry.js} +1 -1
- package/dist/vega/p-fd70418f.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.js +0 -92
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/delete-content-handler.d.ts +0 -26
- package/dist/vega/p-144d4b30.js +0 -1
- package/dist/vega/p-21775cc7.js +0 -1
- package/dist/vega/p-2944c76e.entry.js +0 -1
- package/dist/vega/p-3372f34a.entry.js +0 -1
- package/dist/vega/p-53ed3b1f.js +0 -1
- package/dist/vega/p-57f7c257.js +0 -1
- package/dist/vega/p-5a4e598f.js +0 -1
- package/dist/vega/p-5e1cd1cc.js +0 -1
- package/dist/vega/p-5e1ec2b8.entry.js +0 -1
- package/dist/vega/p-61d42e9b.entry.js +0 -1
- package/dist/vega/p-63ae5ada.entry.js +0 -1
- package/dist/vega/p-66905cbf.js +0 -1
- package/dist/vega/p-689070f9.entry.js +0 -1
- package/dist/vega/p-74fa0f5b.entry.js +0 -1
- package/dist/vega/p-7bb39b97.js +0 -1
- package/dist/vega/p-7f139b74.js +0 -1
- package/dist/vega/p-85d78ac1.js +0 -1
- package/dist/vega/p-92a144bc.js +0 -1
- package/dist/vega/p-9f608b97.js +0 -1
- package/dist/vega/p-aca134a3.entry.js +0 -1
- package/dist/vega/p-b2f89dbd.js +0 -1
- package/dist/vega/p-bd94b904.entry.js +0 -1
- package/dist/vega/p-c0c2a917.js +0 -3
- package/dist/vega/p-c40555c4.entry.js +0 -1
- package/dist/vega/p-d0060bdb.js +0 -1
- package/dist/vega/p-d00b3910.js +0 -1
- package/dist/vega/p-d14ddf80.js +0 -1
- package/dist/vega/p-dc78e8d6.js +0 -1
- package/dist/vega/p-ddc2d219.js +0 -1
- /package/dist/cjs/{feature-flag-controller-438a1510.js → feature-flag-controller-c19d0b58.js} +0 -0
- /package/dist/collection/{components/vega-code-block/assets → global/icons}/copy.js +0 -0
- /package/dist/esm/{feature-flag-controller-2a89f20c.js → feature-flag-controller-3fd04ea9.js} +0 -0
- /package/dist/types/components/{vega-code-block/assets/copy.d.ts → vega-rich-text-editor/assets/cut.d.ts} +0 -0
- /package/dist/vega/{p-bc73ce30.js → p-87a4d75f.js} +0 -0
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { FindMatch } from './find-replace-state';
|
|
2
|
+
/**
|
|
3
|
+
* Manages highlights for the Find & Replace extension using a DOM overlay.
|
|
4
|
+
*
|
|
5
|
+
* Instead of modifying the RTE content tree (which causes re-renders, cursor
|
|
6
|
+
* jumping, and VegaChange events), this manager renders semi-transparent
|
|
7
|
+
* highlight rectangles in an absolutely-positioned overlay container.
|
|
8
|
+
*
|
|
9
|
+
* The overlay lives inside `.rich-text-editor-container` (the RTE's scroll
|
|
10
|
+
* container) so highlight divs scroll naturally with the text content.
|
|
11
|
+
* `pointer-events: none` ensures highlights don't interfere with user
|
|
12
|
+
* interaction (selection, typing, clicking).
|
|
13
|
+
*
|
|
14
|
+
* Position computation uses `Range.getClientRects()` on the actual text DOM
|
|
15
|
+
* nodes (resolved via `stateEntityRenderingRegistry.getDOMByEntity`).
|
|
16
|
+
*/
|
|
17
|
+
export declare class FindReplaceHighlightManager {
|
|
18
|
+
private overlayContainer;
|
|
19
|
+
constructor();
|
|
20
|
+
/**
|
|
21
|
+
* Renders highlight overlays for all matches, with the active match
|
|
22
|
+
* visually distinct. Clears any existing highlights before applying.
|
|
23
|
+
*
|
|
24
|
+
* @typedef HTMLVegaRichTextEditorElement - The type of the host rich text editor element.
|
|
25
|
+
* @param {ReadonlyArray<FindMatch>} matches - All search results.
|
|
26
|
+
* @param {number} currentIndex - 0-based index of the active match (-1 = none).
|
|
27
|
+
* @param {HTMLVegaRichTextEditorElement} host - The RTE host element.
|
|
28
|
+
* @param {boolean} scrollToActive - Whether to scroll the active highlight into view.
|
|
29
|
+
*/
|
|
30
|
+
apply(matches: ReadonlyArray<FindMatch>, currentIndex: number, host: HTMLVegaRichTextEditorElement, scrollToActive?: boolean): void;
|
|
31
|
+
/**
|
|
32
|
+
* Removes all highlight overlay elements.
|
|
33
|
+
* Safe to call multiple times or when no highlights are active.
|
|
34
|
+
*/
|
|
35
|
+
clear(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Gets the existing overlay container or creates one inside the RTE's
|
|
38
|
+
* scroll container (`.rich-text-editor-container`).
|
|
39
|
+
*
|
|
40
|
+
* @typedef HTMLVegaRichTextEditorElement - The type of the host rich text editor element.
|
|
41
|
+
* @param {HTMLVegaRichTextEditorElement} host - The RTE host element.
|
|
42
|
+
* @returns {HTMLDivElement | null} The overlay container, or null in SSR environments.
|
|
43
|
+
*/
|
|
44
|
+
private getOrCreateOverlay;
|
|
45
|
+
/**
|
|
46
|
+
* Creates absolutely-positioned highlight rectangles for a single node
|
|
47
|
+
* position within a match.
|
|
48
|
+
*
|
|
49
|
+
* Uses client rectangle extraction from `Range` to handle multi-line matches (where a
|
|
50
|
+
* single text range may produce multiple rectangles due to line wrapping).
|
|
51
|
+
*
|
|
52
|
+
* @param {HTMLDivElement} overlay - The overlay container.
|
|
53
|
+
* @param {DOMRect} overlayRect - The overlay's bounding client rect (for coordinate conversion).
|
|
54
|
+
* @param {NodePosition} nodePosition - The node and character offsets for this segment.
|
|
55
|
+
* @param {string} bg - The background color to apply.
|
|
56
|
+
* @returns {Nullable<HTMLDivElement>} The first created highlight div for this node segment.
|
|
57
|
+
*/
|
|
58
|
+
private createHighlightRectangles;
|
|
59
|
+
/**
|
|
60
|
+
* Builds a DOM Range for the given node position.
|
|
61
|
+
*
|
|
62
|
+
* For standard text nodes (RTETextNode rendered as `<span>`), the first
|
|
63
|
+
* child is a Text node and offsets apply directly.
|
|
64
|
+
*
|
|
65
|
+
* For code block nodes (`<vega-code-block>` with shadow DOM), we traverse
|
|
66
|
+
* the shadow root's `<code>` element child spans to locate the correct
|
|
67
|
+
* text positions by accumulated character offset.
|
|
68
|
+
*
|
|
69
|
+
* @param {HTMLElement} domElement - The registered DOM element for the node.
|
|
70
|
+
* @param {NodePosition} nodePosition - The character offsets within the node.
|
|
71
|
+
* @returns {Nullable<Range>} A Range if successfully built, or null on failure.
|
|
72
|
+
*/
|
|
73
|
+
private buildRange;
|
|
74
|
+
/**
|
|
75
|
+
* Builds a Range inside a `<vega-code-block>` shadow DOM element.
|
|
76
|
+
*
|
|
77
|
+
* `<vega-code-block>` renders its content inside a shadow root with a `<code>`
|
|
78
|
+
* element containing multiple child `<span>` nodes (one per syntax token).
|
|
79
|
+
* This method walks all Text nodes within that `<code>` element, accumulating
|
|
80
|
+
* character length until the positions corresponding to startOffset / endOffset
|
|
81
|
+
* are found.
|
|
82
|
+
*
|
|
83
|
+
* @param {HTMLElement} domElement - The `<vega-code-block>` host element.
|
|
84
|
+
* @param {NodePosition} nodePosition - The character offsets within the node.
|
|
85
|
+
* @returns {Range | null} A Range if successfully built, or null on failure.
|
|
86
|
+
*/
|
|
87
|
+
private buildCodeBlockRange;
|
|
88
|
+
}
|
|
@@ -0,0 +1,200 @@
|
|
|
1
|
+
import { RTETextBlock } from '../../../../../dto/blocks/text-block';
|
|
2
|
+
import { RTECodeBlock } from '../../../../../dto/blocks/code-block';
|
|
3
|
+
import type { VegaRTEContent } from '../../../../../dto/content-state';
|
|
4
|
+
import type { RTETextNode } from '../../../../../dto/nodes/text-node';
|
|
5
|
+
import type { RTECodeBlockNode } from '../../../../../dto/nodes/code-block-node';
|
|
6
|
+
/**
|
|
7
|
+
* The position of a match within a specific node, expressed as node-local offsets.
|
|
8
|
+
*/
|
|
9
|
+
export declare type NodePosition = {
|
|
10
|
+
node: RTETextNode | RTECodeBlockNode;
|
|
11
|
+
startOffset: number;
|
|
12
|
+
endOffset: number;
|
|
13
|
+
};
|
|
14
|
+
/**
|
|
15
|
+
* A single find result representing one regex match within a document block.
|
|
16
|
+
*/
|
|
17
|
+
export declare type FindMatch = {
|
|
18
|
+
/** The block containing the match. */
|
|
19
|
+
block: RTETextBlock | RTECodeBlock;
|
|
20
|
+
/** Ordered list of node-level positions that together compose this match. */
|
|
21
|
+
nodes: NodePosition[];
|
|
22
|
+
/** The matched text string as it appears in the document. */
|
|
23
|
+
matchText: string;
|
|
24
|
+
};
|
|
25
|
+
/**
|
|
26
|
+
* Options controlling the search behavior.
|
|
27
|
+
*/
|
|
28
|
+
export declare type FindOptions = {
|
|
29
|
+
/** When true, the search is case-sensitive. Defaults to false. */
|
|
30
|
+
matchCase?: boolean;
|
|
31
|
+
/** When true, only whole-word occurrences are matched. Defaults to false. */
|
|
32
|
+
wholeWords?: boolean;
|
|
33
|
+
};
|
|
34
|
+
/**
|
|
35
|
+
* Manages the in-memory state for a single Find & Replace session.
|
|
36
|
+
*
|
|
37
|
+
* One instance is created per editor host inside VegaRTEFindReplaceExtension
|
|
38
|
+
* during `initialExtensionAfterLoad`. It holds all search results, the
|
|
39
|
+
* current navigation index, and a per-block flat-text cache.
|
|
40
|
+
*
|
|
41
|
+
* Public API:
|
|
42
|
+
* - `search(content, keyword)` — run a search, replace current state using current options
|
|
43
|
+
* - `next()` / `prev()` — navigate through results
|
|
44
|
+
* - `getCurrentMatch()` / `getMatches()` / `getTotal()` / `getCurrentIndex()` — read state
|
|
45
|
+
* - `clear()` — reset everything
|
|
46
|
+
*/
|
|
47
|
+
export declare class FindReplaceState {
|
|
48
|
+
private matches;
|
|
49
|
+
private currentIndex;
|
|
50
|
+
private flatCache;
|
|
51
|
+
private cachedContent;
|
|
52
|
+
private matchCase;
|
|
53
|
+
private wholeWords;
|
|
54
|
+
/**
|
|
55
|
+
* Ordered strategy chain used to classify and traverse each block type.
|
|
56
|
+
* More specific types (RTEListItemBlock) must precede their parent class (RTETextBlock).
|
|
57
|
+
*/
|
|
58
|
+
private readonly blockSearchStrategies;
|
|
59
|
+
/**
|
|
60
|
+
* Runs a fresh search over the given content and replaces all previous results.
|
|
61
|
+
*
|
|
62
|
+
* The flat-text cache is invalidated whenever the content reference changes
|
|
63
|
+
* (i.e. after the user edits the document). When only the keyword or options
|
|
64
|
+
* change (user typing in the find input), the cache is reused.
|
|
65
|
+
*
|
|
66
|
+
* @param {VegaRTEContent} content - The root content DTO to search.
|
|
67
|
+
* @param {string} keyword - The search keyword entered by the user.
|
|
68
|
+
* Uses the currently stored `matchCase` and `wholeWords` options.
|
|
69
|
+
*/
|
|
70
|
+
search(content: VegaRTEContent, keyword: string): void;
|
|
71
|
+
/**
|
|
72
|
+
* Advances to the next match, wrapping around to the first.
|
|
73
|
+
*/
|
|
74
|
+
next(): void;
|
|
75
|
+
/**
|
|
76
|
+
* Moves to the previous match, wrapping around to the last.
|
|
77
|
+
*/
|
|
78
|
+
prev(): void;
|
|
79
|
+
/**
|
|
80
|
+
* Sets the current index directly. Clamps to valid range.
|
|
81
|
+
*
|
|
82
|
+
* @param {number} index - The desired index.
|
|
83
|
+
*/
|
|
84
|
+
setCurrentIndex(index: number): void;
|
|
85
|
+
/**
|
|
86
|
+
* Returns the currently active match, or null if there are no results.
|
|
87
|
+
*
|
|
88
|
+
* @returns {FindMatch | null} The currently active match, or null if there are no results.
|
|
89
|
+
*/
|
|
90
|
+
getCurrentMatch(): FindMatch | null;
|
|
91
|
+
/**
|
|
92
|
+
* Returns all matches from the last search.
|
|
93
|
+
*
|
|
94
|
+
* @returns {ReadonlyArray<FindMatch>} All matches from the last search.
|
|
95
|
+
*/
|
|
96
|
+
getMatches(): ReadonlyArray<FindMatch>;
|
|
97
|
+
/**
|
|
98
|
+
* Returns the total number of matches from the last search.
|
|
99
|
+
*
|
|
100
|
+
* @returns {number} The total number of matches.
|
|
101
|
+
*/
|
|
102
|
+
getTotal(): number;
|
|
103
|
+
/**
|
|
104
|
+
* Returns the 0-based index of the current match, or -1 when there are no results.
|
|
105
|
+
*
|
|
106
|
+
* @returns {number} The 0-based index, or -1 when there are no results.
|
|
107
|
+
*/
|
|
108
|
+
getCurrentIndex(): number;
|
|
109
|
+
/**
|
|
110
|
+
* Resets only match results and navigation index.
|
|
111
|
+
* The flat-text cache and cached content reference are preserved so that
|
|
112
|
+
* a subsequent search on the same document (e.g. after a keyword change)
|
|
113
|
+
* can reuse the already-computed block flat texts.
|
|
114
|
+
*/
|
|
115
|
+
clearResults(): void;
|
|
116
|
+
/**
|
|
117
|
+
* Resets all search state, including results, navigation index, and flat-text cache.
|
|
118
|
+
* Use this when the session ends (e.g. panel closed) or the host changes.
|
|
119
|
+
*/
|
|
120
|
+
clear(): void;
|
|
121
|
+
/**
|
|
122
|
+
* Sets the matchCase search option.
|
|
123
|
+
*
|
|
124
|
+
* @param {boolean} enabled - Whether to enable case-sensitive matching.
|
|
125
|
+
*/
|
|
126
|
+
setMatchCase(enabled: boolean): void;
|
|
127
|
+
/**
|
|
128
|
+
* Sets the wholeWords search option.
|
|
129
|
+
*
|
|
130
|
+
* @param {boolean} enabled - Whether to enable whole-word matching.
|
|
131
|
+
*/
|
|
132
|
+
setWholeWords(enabled: boolean): void;
|
|
133
|
+
/**
|
|
134
|
+
* Invalidates the flat-text cache when the content reference has changed.
|
|
135
|
+
* Since flushChanges always produces a new VegaRTEContent via clone(), a
|
|
136
|
+
* changed reference reliably indicates the document has been edited.
|
|
137
|
+
*
|
|
138
|
+
* @param {VegaRTEContent} content - The incoming content reference.
|
|
139
|
+
*/
|
|
140
|
+
private invalidateCacheIfNeeded;
|
|
141
|
+
/**
|
|
142
|
+
* Builds a RegExp from the keyword and search options.
|
|
143
|
+
*
|
|
144
|
+
* @param {string} keyword - The raw user input.
|
|
145
|
+
* @param {FindOptions} options - Search options.
|
|
146
|
+
* @returns {RegExp} The compiled regular expression.
|
|
147
|
+
*/
|
|
148
|
+
private buildRegExp;
|
|
149
|
+
/**
|
|
150
|
+
* Escapes all regex special characters so the keyword is treated as literal text.
|
|
151
|
+
*
|
|
152
|
+
* @param {string} text - The raw input string.
|
|
153
|
+
* @returns {string} The escaped string safe for use in a RegExp constructor.
|
|
154
|
+
*/
|
|
155
|
+
private escapeRegExp;
|
|
156
|
+
/**
|
|
157
|
+
* Recursively collects all searchable leaf blocks (RTETextBlock and RTECodeBlock)
|
|
158
|
+
* from a block tree in document order.
|
|
159
|
+
*
|
|
160
|
+
* Each block is dispatched to the first matching BlockSearchStrategy.
|
|
161
|
+
*
|
|
162
|
+
* @param {RTEBlock[]} blocks - The block array to traverse.
|
|
163
|
+
* @returns {(RTETextBlock | RTECodeBlock)[]} Ordered list of searchable leaf blocks.
|
|
164
|
+
*/
|
|
165
|
+
private collectSearchableBlocks;
|
|
166
|
+
/**
|
|
167
|
+
* Builds the flat text and segment table for a RTETextBlock.
|
|
168
|
+
*
|
|
169
|
+
* Non-editable child nodes (e.g. tokens, which render as read-only chips)
|
|
170
|
+
* are excluded from the searchable flat text. Each is replaced by a single
|
|
171
|
+
* sentinel character so that adjacent editable segments cannot bridge across
|
|
172
|
+
* the token to form a false match, while keeping segment offsets aligned.
|
|
173
|
+
*
|
|
174
|
+
* @param {RTETextBlock} block - The text block to flatten.
|
|
175
|
+
* @returns {BlockFlatCache} The flat text string and segment mapping.
|
|
176
|
+
*/
|
|
177
|
+
private buildTextBlockFlat;
|
|
178
|
+
/**
|
|
179
|
+
* Builds the flat text and segment table for a RTECodeBlock.
|
|
180
|
+
*
|
|
181
|
+
* @param {RTECodeBlock} block - The code block to flatten.
|
|
182
|
+
* @returns {BlockFlatCache} The flat text string and segment mapping.
|
|
183
|
+
*/
|
|
184
|
+
private buildCodeBlockFlat;
|
|
185
|
+
/**
|
|
186
|
+
* Maps a flat [matchStart, matchEnd) range back to individual node positions.
|
|
187
|
+
*
|
|
188
|
+
* @param {(TextSegment | CodeSegment)[]} segments - The segment table.
|
|
189
|
+
* @param {number} matchStart - Inclusive start in the flat text.
|
|
190
|
+
* @param {number} matchEnd - Exclusive end in the flat text.
|
|
191
|
+
* @returns {NodePosition[]} Ordered list of node-local positions spanning the match.
|
|
192
|
+
*/
|
|
193
|
+
private flatOffsetToNodePositions;
|
|
194
|
+
/**
|
|
195
|
+
* Builds the current find options from the shared context.
|
|
196
|
+
*
|
|
197
|
+
* @returns {FindOptions} The options for the search engine.
|
|
198
|
+
*/
|
|
199
|
+
private getFindOptions;
|
|
200
|
+
}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { FindReplaceControllerAbstract, FindReplaceControllerContext } from './find-replace-controller.abstract';
|
|
2
|
+
import type { FindReplaceResult } from './find-replace-controller.abstract';
|
|
3
|
+
import { VegaRTEContent } from '../../../../../../types/components.type';
|
|
4
|
+
/**
|
|
5
|
+
* Replace controller — adds mutation capabilities on top of the shared
|
|
6
|
+
* find state.
|
|
7
|
+
*
|
|
8
|
+
* Shares state with {@link FindController} via the injected
|
|
9
|
+
* {@link FindReplaceControllerContext}, so both controllers always operate
|
|
10
|
+
* on the same search results and highlight overlays.
|
|
11
|
+
*/
|
|
12
|
+
export declare class ReplaceController extends FindReplaceControllerAbstract {
|
|
13
|
+
/** The replacement string used by replace() and replaceAll(). Updated via setReplacement(). */
|
|
14
|
+
private replacement;
|
|
15
|
+
private flushFn;
|
|
16
|
+
constructor(context: FindReplaceControllerContext);
|
|
17
|
+
/**
|
|
18
|
+
* Stores the flush callback used to commit content changes to the editor.
|
|
19
|
+
* Called by the toolbar renderer after obtaining it from the extension context.
|
|
20
|
+
*
|
|
21
|
+
* Calling `flushValue` once — even after mutating multiple nodes — creates a
|
|
22
|
+
* single entry in the editor's undo stack, so the entire replace/replaceAll
|
|
23
|
+
* operation is undone as one atomic step.
|
|
24
|
+
*
|
|
25
|
+
* @param {(value: VegaRTEContent) => void} fn - The flush function.
|
|
26
|
+
* @returns {void} No return value.
|
|
27
|
+
*/
|
|
28
|
+
setFlushValue(fn: (value: VegaRTEContent) => void): void;
|
|
29
|
+
/**
|
|
30
|
+
* Stores the replacement text for the next replace() or replaceAll() call.
|
|
31
|
+
*
|
|
32
|
+
* @param {string} text - The replacement string.
|
|
33
|
+
* @returns {void} No return value.
|
|
34
|
+
*/
|
|
35
|
+
setReplacement(text: string): void;
|
|
36
|
+
/**
|
|
37
|
+
* Replaces the current match with the stored replacement text,
|
|
38
|
+
* advances to the next match, and refreshes highlights.
|
|
39
|
+
* An empty replacement string deletes the matched text.
|
|
40
|
+
*
|
|
41
|
+
* No-op when there is no current match or no host.
|
|
42
|
+
*
|
|
43
|
+
* @returns {FindReplaceResult} Updated match position and total.
|
|
44
|
+
*/
|
|
45
|
+
replace(): FindReplaceResult;
|
|
46
|
+
/**
|
|
47
|
+
* Replaces all matches with the stored replacement text in a single operation
|
|
48
|
+
* (one flushValue call = one Undo step), then re-runs the search.
|
|
49
|
+
* An empty replacement string deletes all matched text.
|
|
50
|
+
*
|
|
51
|
+
* No-op when there are no matches or no host.
|
|
52
|
+
*
|
|
53
|
+
* @returns {FindReplaceResult} Updated match position and total.
|
|
54
|
+
*/
|
|
55
|
+
replaceAll(): FindReplaceResult;
|
|
56
|
+
/**
|
|
57
|
+
* Directly mutates the matched nodes in the live content tree.
|
|
58
|
+
* `position.node` is already a reference into `this.context.hostRef.value`,
|
|
59
|
+
* so no cloning or path navigation is needed.
|
|
60
|
+
*
|
|
61
|
+
* For multi-node (cross-span) matches the first node receives the replacement
|
|
62
|
+
* text and every subsequent node has its matched slice deleted.
|
|
63
|
+
*
|
|
64
|
+
* This method mutates the content tree in place. The caller is
|
|
65
|
+
* responsible for calling `state.clear()` afterwards to invalidate the
|
|
66
|
+
* flat-text cache, which uses reference equality and will not detect the
|
|
67
|
+
* in-place change automatically.
|
|
68
|
+
*
|
|
69
|
+
* @param {FindMatch} match - The match to replace.
|
|
70
|
+
* @returns {void} No return value.
|
|
71
|
+
*/
|
|
72
|
+
private applyMatchReplacement;
|
|
73
|
+
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { VegaRTECreateElementFunction, VegaRTEToolbarRenderContext, VegaRTERenderResult } from '../../../../interface';
|
|
2
|
+
import { VegaRTEToolbarButtonRenderer } from '../../../base-toolbar-button-renderer';
|
|
3
|
+
/**
|
|
4
|
+
* Toolbar button renderer for the Find & Replace extension.
|
|
5
|
+
*
|
|
6
|
+
* Responsible only for UI concerns:
|
|
7
|
+
* - Renders the toolbar button wrapped in a vega-popover.
|
|
8
|
+
* - Wires panel events to the {@link FindController} and {@link ReplaceController}.
|
|
9
|
+
* - Pushes controller results back to the panel display.
|
|
10
|
+
*
|
|
11
|
+
* Both controllers share a single {@link FindReplaceControllerContext} so they
|
|
12
|
+
* operate on the same search state and highlight overlays.
|
|
13
|
+
*/
|
|
14
|
+
export declare class FindReplaceToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
|
|
15
|
+
private readonly sharedContext;
|
|
16
|
+
private readonly findController;
|
|
17
|
+
private readonly replaceController;
|
|
18
|
+
private panelRef;
|
|
19
|
+
private popoverRef;
|
|
20
|
+
private isPopoverOpen;
|
|
21
|
+
private scrollOnNextRefresh;
|
|
22
|
+
private readonly debouncedRefresh;
|
|
23
|
+
private readonly panelActionHandlers;
|
|
24
|
+
/**
|
|
25
|
+
* @inheritDoc
|
|
26
|
+
*/
|
|
27
|
+
render(h: VegaRTECreateElementFunction, editorContext: VegaRTEToolbarRenderContext): VegaRTERenderResult;
|
|
28
|
+
/**
|
|
29
|
+
* Toggles the popover open/close when the toolbar button is clicked.
|
|
30
|
+
*/
|
|
31
|
+
protected handleButtonClick(): void;
|
|
32
|
+
/**
|
|
33
|
+
* Not used — this button has no dropdown.
|
|
34
|
+
*/
|
|
35
|
+
protected handleDropdownClick(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Synchronizes internal state with the editor context on each render cycle.
|
|
38
|
+
* Registers the host reference and content-change listener, and hides the
|
|
39
|
+
* popover if the toolbar item becomes hidden while open.
|
|
40
|
+
*
|
|
41
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context.
|
|
42
|
+
*/
|
|
43
|
+
private syncEditorState;
|
|
44
|
+
/**
|
|
45
|
+
* Dispatches panel button actions to the controller.
|
|
46
|
+
*
|
|
47
|
+
* @param {FindReplacePanelAction} panelAction - The structured action emitted by the panel.
|
|
48
|
+
*/
|
|
49
|
+
private handlePanelAction;
|
|
50
|
+
/**
|
|
51
|
+
* Pushes result to the panel counter display.
|
|
52
|
+
*
|
|
53
|
+
* @param {FindReplaceResult} result - The current/total values.
|
|
54
|
+
*/
|
|
55
|
+
private updatePanel;
|
|
56
|
+
/**
|
|
57
|
+
* Content changed — ask the controller to refresh search results.
|
|
58
|
+
*/
|
|
59
|
+
private onContentChanged;
|
|
60
|
+
/**
|
|
61
|
+
* Closes the panel popover.
|
|
62
|
+
*/
|
|
63
|
+
private closePanel;
|
|
64
|
+
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { VegaSlimmer } from '../../../../../../../vega-slimmer/vega-slimmer-core';
|
|
2
|
+
import type { VegaRichTextFindReplacePanel } from '../../vega-rich-text-find-replace-panel';
|
|
3
|
+
export declare type FindReplacePanelAction = {
|
|
4
|
+
action: string;
|
|
5
|
+
data?: unknown;
|
|
6
|
+
};
|
|
7
|
+
/**
|
|
8
|
+
* Renderer slimmer for the Find & Replace panel.
|
|
9
|
+
* Renders a search input, a "current/total" counter, and prev/next/close icon buttons.
|
|
10
|
+
*/
|
|
11
|
+
export declare class FindReplacePanelRenderer extends VegaSlimmer {
|
|
12
|
+
changeEventEmitter: VegaRichTextFindReplacePanel['changeEventEmitter'];
|
|
13
|
+
clickEventEmitter: VegaRichTextFindReplacePanel['clickEventEmitter'];
|
|
14
|
+
currentIndex: VegaRichTextFindReplacePanel['currentIndex'];
|
|
15
|
+
total: VegaRichTextFindReplacePanel['total'];
|
|
16
|
+
matchCase: VegaRichTextFindReplacePanel['matchCase'];
|
|
17
|
+
wholeWords: VegaRichTextFindReplacePanel['wholeWords'];
|
|
18
|
+
render(): HTMLElement;
|
|
19
|
+
private renderHeader;
|
|
20
|
+
private renderNavButton;
|
|
21
|
+
private renderSearchOptionToggle;
|
|
22
|
+
private renderFindButton;
|
|
23
|
+
private renderActionButtons;
|
|
24
|
+
private onKeywordChange;
|
|
25
|
+
private onReplacementChange;
|
|
26
|
+
private onToggleSearchOption;
|
|
27
|
+
private emitAction;
|
|
28
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { EventEmitter } from '../../../../../stencil-public-runtime';
|
|
2
|
+
import { GlobalSlimmers } from '../../../../../vega-slimmer/vega-slimmer-core';
|
|
3
|
+
import { VegaComponentUsageRuntimeMetricsSlimmer } from '../../../../../helpers/slimmers/component-usage-runtime-metrics';
|
|
4
|
+
import { EventEmitSlimmerBase } from '../../../../../helpers/event-manager/slimmers/event-emit-slimmer';
|
|
5
|
+
import { FindReplacePanelRenderer } from './slimmers/renderers/find-replace-panel-renderer';
|
|
6
|
+
/**
|
|
7
|
+
* Internal panel component for the Find & Replace extension.
|
|
8
|
+
* Renders a search input, match counter, and prev/next/close buttons.
|
|
9
|
+
*
|
|
10
|
+
* - Emits `vegaChange` (payload: { type, value }) when find/replace inputs change.
|
|
11
|
+
* - Emits `vegaClick` (payload: `{ action: string; data?: unknown }`) when a button is clicked.
|
|
12
|
+
* - Exposes `updateResult(currentIndex, total)` for the toolbar renderer to push match counts back.
|
|
13
|
+
*
|
|
14
|
+
* @vegaVersion 2.92.0
|
|
15
|
+
*/
|
|
16
|
+
export declare class VegaRichTextFindReplacePanel {
|
|
17
|
+
protected readonly globalSlimmers: GlobalSlimmers;
|
|
18
|
+
protected vegaComponentUsageRuntimeMetricsSlimmer: VegaComponentUsageRuntimeMetricsSlimmer<HTMLVegaRichTextFindReplacePanelElement>;
|
|
19
|
+
protected changeEventEmitter: EventEmitSlimmerBase;
|
|
20
|
+
protected clickEventEmitter: EventEmitSlimmerBase;
|
|
21
|
+
protected readonly renderer: FindReplacePanelRenderer;
|
|
22
|
+
host: HTMLVegaRichTextFindReplacePanelElement;
|
|
23
|
+
currentIndex: number;
|
|
24
|
+
total: number;
|
|
25
|
+
matchCase: boolean;
|
|
26
|
+
wholeWords: boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Emitted when a panel input value changes.
|
|
29
|
+
* Payload includes the input type (`keyword` or `replace`) and value.
|
|
30
|
+
*
|
|
31
|
+
* @vegaVersion 2.92.0
|
|
32
|
+
*/
|
|
33
|
+
vegaChange: EventEmitter<{
|
|
34
|
+
type: 'keyword' | 'replace';
|
|
35
|
+
value: string;
|
|
36
|
+
}>;
|
|
37
|
+
/**
|
|
38
|
+
* Emitted when a panel action button is clicked.
|
|
39
|
+
* Payload includes the action key and optional data.
|
|
40
|
+
*
|
|
41
|
+
* @vegaVersion 2.92.0
|
|
42
|
+
*/
|
|
43
|
+
vegaClick: EventEmitter<{
|
|
44
|
+
action: string;
|
|
45
|
+
data?: unknown;
|
|
46
|
+
}>;
|
|
47
|
+
/**
|
|
48
|
+
* Updates the displayed match counter. Called by the toolbar renderer after each search or navigation.
|
|
49
|
+
*
|
|
50
|
+
* @param {number} currentIndex - 1-based index of the active match (0 when there are no matches).
|
|
51
|
+
* @param {number} total - Total number of matches.
|
|
52
|
+
* @vegaVersion 2.92.0
|
|
53
|
+
*/
|
|
54
|
+
updateResult(currentIndex: number, total: number): Promise<void>;
|
|
55
|
+
render(): VegaRichTextFindReplacePanel;
|
|
56
|
+
}
|
package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { VegaRTEExtension } from '../extension.abstract';
|
|
|
3
3
|
* Function extension class for Vega Rich Text Editor.
|
|
4
4
|
*/
|
|
5
5
|
export declare class VegaRTEFunctionExtension extends VegaRTEExtension {
|
|
6
|
+
static readonly TOOLBAR_BUTTON_KEY: string;
|
|
6
7
|
constructor();
|
|
7
8
|
/** @inheritDoc */
|
|
8
9
|
prepareBeforeLoad(host: HTMLVegaRichTextEditorElement): void;
|
|
@@ -3,6 +3,7 @@ import { VegaRTEExtension } from '../extension.abstract';
|
|
|
3
3
|
* Extension that adds horizontal line (`<hr>`) support to the Vega Rich Text Editor.
|
|
4
4
|
*/
|
|
5
5
|
export declare class VegaRTEHorizontalLineExtension extends VegaRTEExtension {
|
|
6
|
+
static readonly TOOLBAR_BUTTON_KEY: string;
|
|
6
7
|
private blockRenderer;
|
|
7
8
|
private toolbarButtonRenderer;
|
|
8
9
|
constructor();
|
package/dist/types/components/vega-rich-text-editor/extensions/languages/language-extension.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { VegaRTEExtension } from '../extension.abstract';
|
|
|
5
5
|
* This extension allows users to switch between different languages and maintain separate content for each language.
|
|
6
6
|
*/
|
|
7
7
|
export declare class VegaRTELanguageExtension extends VegaRTEExtension {
|
|
8
|
+
static readonly TOOLBAR_BUTTON_KEY: string;
|
|
8
9
|
private languageToolbarButtonRenderer;
|
|
9
10
|
private readonly languageList;
|
|
10
11
|
private languageState;
|
|
@@ -6,6 +6,7 @@ import { VegaRTEExtension } from '../extension.abstract';
|
|
|
6
6
|
*/
|
|
7
7
|
export declare class VegaRTELineHeightExtension extends VegaRTEExtension {
|
|
8
8
|
private readonly options;
|
|
9
|
+
static readonly TOOLBAR_BUTTON_KEY: string;
|
|
9
10
|
private toolbarButtonRenderer;
|
|
10
11
|
constructor(options?: VegaRTELineHeightOption[]);
|
|
11
12
|
/**
|
|
@@ -6,6 +6,7 @@ import { VegaRTESpecialCharactersConfig } from './types';
|
|
|
6
6
|
* for insertion into the editor content as plain text.
|
|
7
7
|
*/
|
|
8
8
|
export declare class VegaRTESpecialCharactersExtension extends VegaRTEExtension {
|
|
9
|
+
static readonly TOOLBAR_BUTTON_KEY: string;
|
|
9
10
|
private categories;
|
|
10
11
|
constructor(config?: VegaRTESpecialCharactersConfig);
|
|
11
12
|
/** @inheritDoc */
|
|
@@ -11,6 +11,7 @@ export declare type RTETableExtensionContext = RTEExtensionContext & {
|
|
|
11
11
|
* Function extension class for Vega Rich Text Editor.
|
|
12
12
|
*/
|
|
13
13
|
export declare class VegaRTETableExtension extends VegaRTEExtension {
|
|
14
|
+
static readonly TOOLBAR_BUTTON_KEY: string;
|
|
14
15
|
private toolbarButtonRenderer;
|
|
15
16
|
private tableBlockRenderer;
|
|
16
17
|
private tableRowBlockRenderer;
|
|
@@ -4,6 +4,7 @@ import { VegaRTEExtension } from '../extension.abstract';
|
|
|
4
4
|
* Vega Rich Text Editor Token Extension
|
|
5
5
|
*/
|
|
6
6
|
export declare class VegaRTETokenExtension extends VegaRTEExtension {
|
|
7
|
+
static readonly TOOLBAR_BUTTON_KEY: string;
|
|
7
8
|
private tokenRenderer;
|
|
8
9
|
private readonly tokenList;
|
|
9
10
|
constructor(tokenList?: (RTEDropdownListItem | RTEDropdownListGroup)[]);
|
|
@@ -18,9 +18,12 @@ export { VegaRTEFunctionExtension } from './extensions/functions/function-extens
|
|
|
18
18
|
export { VegaRTETableExtension } from './extensions/table/table-extension';
|
|
19
19
|
export { VegaRTEHorizontalLineExtension } from './extensions/horizontal-line/horizontal-line-extension';
|
|
20
20
|
export { VegaRTESpecialCharactersExtension } from './extensions/special-characters/special-characters-extension';
|
|
21
|
+
export { VegaRTEFindReplaceExtension } from './extensions/find-replace/find-replace-extension';
|
|
21
22
|
export { VegaRTESpecialCharactersEssentials, VegaRTESpecialCharactersLatin, VegaRTESpecialCharactersMathematical, VegaRTESpecialCharactersArrows, VegaRTESpecialCharactersCurrency, VegaRTESpecialCharactersText, } from './extensions/special-characters/constants/default-categories';
|
|
22
23
|
export { VegaRTELineHeightExtension } from './extensions/line-height/line-height-extension';
|
|
23
24
|
export { VegaRTELinkExtension } from './extensions/link/link-extension';
|
|
25
|
+
export { VegaRTECopyExtension } from './extensions/copy/copy-extension';
|
|
26
|
+
export { VegaRTECutExtension } from './extensions/cut/cut-extension';
|
|
24
27
|
export { ModifyContentAction, ModifyContentActionType } from './dto/actions/modify-content-action.abstract';
|
|
25
28
|
export { AppendChildrenAction } from './dto/actions/append-child-nodes-action';
|
|
26
29
|
export { RemoveChildrenAction } from './dto/actions/remove-child-action';
|
|
@@ -29,6 +32,7 @@ export { InsertChildrenBeforeAction } from './dto/actions/insert-children-before
|
|
|
29
32
|
export { InsertNodeToNearestRootAction } from './dto/actions/insert-node-to-nearest-root-action';
|
|
30
33
|
export { UpdateCursorPositionAction } from './dto/actions/update-cursor-position-action';
|
|
31
34
|
export { InsertNewParagraphAction } from './dto/actions/insert-new-paragraph-action';
|
|
35
|
+
export { DeleteSelectedContentAction } from './dto/actions/delete-selected-content-action';
|
|
32
36
|
export { CustomAttributeAnnotation } from './dto/annotations/custom-attribute-annotation';
|
|
33
37
|
export { CustomClassAnnotation } from './dto/annotations/custom-class-annotation';
|
|
34
38
|
export { CustomStyleAnnotation } from './dto/annotations/custom-style-annotation';
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { RTEBlock } from '../../../../dto/blocks/block.abstract';
|
|
2
|
+
import { RTENode } from '../../../../dto/nodes/node.abstract';
|
|
3
|
+
import { Nullable } from '../../../../../../types/general';
|
|
4
|
+
import { BaseHandler } from './base-handler';
|
|
5
|
+
/** The resulting caret position after shifting one step to the right for forward deletion. */
|
|
6
|
+
export interface ForwardDeletePosition {
|
|
7
|
+
node: RTENode;
|
|
8
|
+
offset: number;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Hosts the deletion logic shared by the forward and backward delete handlers. Subclasses implement
|
|
12
|
+
* the single-block deletion behaviour for their specific direction. User press backspace or delete
|
|
13
|
+
* will trigger one of those subclasses.
|
|
14
|
+
*/
|
|
15
|
+
export declare abstract class AbstractDeleteContentHandler extends BaseHandler {
|
|
16
|
+
/**
|
|
17
|
+
* Delete the selected node(s) from the current state.
|
|
18
|
+
*/
|
|
19
|
+
handleEvent(): void;
|
|
20
|
+
/**
|
|
21
|
+
* Computes the caret position one step to the right, used to translate a forward delete into a backspace.
|
|
22
|
+
*
|
|
23
|
+
* @param {Nullable<RTENode>} node - The node the caret is currently in.
|
|
24
|
+
* @param {number} offset - The current caret offset within the node.
|
|
25
|
+
* @returns {Nullable<ForwardDeletePosition>} The shifted position, or null when the caret is at the end of the content.
|
|
26
|
+
*/
|
|
27
|
+
protected getForwardDeletePosition(node: Nullable<RTENode>, offset: number): Nullable<ForwardDeletePosition>;
|
|
28
|
+
/**
|
|
29
|
+
* Returns the next node relative to the given node, crossing block boundaries when needed.
|
|
30
|
+
*
|
|
31
|
+
* @param {RTENode} node - The current node.
|
|
32
|
+
* @returns {Nullable<RTENode>} The next node, or null when the given node is the last node of the content.
|
|
33
|
+
*/
|
|
34
|
+
protected getNextNode(node: RTENode): Nullable<RTENode>;
|
|
35
|
+
/**
|
|
36
|
+
* Returns the next block relative to the given block, ascending out of nested list structures when needed.
|
|
37
|
+
*
|
|
38
|
+
* @param {RTEBlock} block - The current block.
|
|
39
|
+
* @returns {Nullable<RTEBlock>} The next block, or null when the given block is the last block of the content.
|
|
40
|
+
*/
|
|
41
|
+
protected getNextBlock(block: RTEBlock): Nullable<RTEBlock>;
|
|
42
|
+
/**
|
|
43
|
+
* Deletes the content within multiple nodes selected by the user.
|
|
44
|
+
*/
|
|
45
|
+
protected deleteContentWithMultipleNodes(): void;
|
|
46
|
+
/**
|
|
47
|
+
* If the first block is not paragraph, convert the block to paragraph after delete all text
|
|
48
|
+
*
|
|
49
|
+
* @param {RTEBlock} block - The first block instance
|
|
50
|
+
*/
|
|
51
|
+
protected convertFirstBlockToParagraph(block: RTEBlock): void;
|
|
52
|
+
/**
|
|
53
|
+
* Creates a new paragraph element with a text node and appends it to the current state.
|
|
54
|
+
*/
|
|
55
|
+
protected insertDefaultParagraph(): void;
|
|
56
|
+
/**
|
|
57
|
+
* Handles a single-block deletion of content within an RTE editor for the handler's direction.
|
|
58
|
+
*/
|
|
59
|
+
protected abstract deleteContentWithSingleBlock(): void;
|
|
60
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { AbstractDeleteContentHandler } from './abstract-delete-content-handler';
|
|
2
|
+
/** Handles a backspace (leftward) deletion of content within a VegaRTE editor. User press backspace will trigger this method */
|
|
3
|
+
export declare class BackwardDeleteContentHandler extends AbstractDeleteContentHandler {
|
|
4
|
+
/**
|
|
5
|
+
* Handles a backspace (leftward) deletion of content within a single block in an RTE editor.
|
|
6
|
+
*/
|
|
7
|
+
protected deleteContentWithSingleBlock(): void;
|
|
8
|
+
}
|