@globalpayments/vega 2.61.0 → 2.63.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-7e624dd0.js → app-globals-8f5fa42a.js} +23 -15
- package/dist/cjs/base-renderer-0a3b62b7.js +9 -0
- package/dist/cjs/{child-nodes-event-prevent-slimmer-184fe3b2.js → child-nodes-event-prevent-slimmer-4e96270e.js} +1 -1
- package/dist/cjs/{code-block-ecb2df41.js → code-block-eb66d852.js} +73 -22
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-58a0f64c.js → component-value-history-controller-slimmer.abstract-62cdf04c.js} +16 -182
- package/dist/cjs/{design-token-16f74439.js → design-token-76bb47bd.js} +1 -1
- package/dist/cjs/{dom-node-subject-factory-4eb1fec2.js → dom-node-subject-observer-factory-58e3c010.js} +41 -0
- package/dist/cjs/{content-state-d7b8e70b.js → dto-renderer-manager-f3894490.js} +1647 -1501
- package/dist/cjs/{element-appender-slimmer-c4816142.js → element-appender-slimmer-e8dac628.js} +7 -8
- package/dist/cjs/{event-emit-slimmer-2da7c9d6.js → event-emit-slimmer-428d8802.js} +3 -4
- package/dist/cjs/{form-field-controller-slimmer-dab30e5c.js → form-field-controller-slimmer-cc6e53a4.js} +4 -5
- package/dist/cjs/{image-annotation-action-7eaab3ce.js → image-annotation-action-a628ec9b.js} +24 -81
- package/dist/cjs/{index-da628bba.js → index-5505e8dd.js} +3 -3
- package/dist/cjs/index.cjs.js +49 -23
- package/dist/cjs/{icon-manager-9072356d.js → internal-icon-manager-32f9ed63.js} +51 -0
- package/dist/cjs/{internal-vega-event-manager-7b87c2f4.js → internal-vega-event-manager-28b957c8.js} +73 -73
- package/dist/cjs/language-extension-20a1dba5.js +207 -0
- package/dist/cjs/loader.cjs.js +14 -12
- package/dist/cjs/{min-number-rule-965fc43d.js → min-number-rule-dc555309.js} +14 -8
- package/dist/cjs/{public-rules-21622bd0.js → public-rules-5d0f3a5f.js} +5 -5
- package/dist/cjs/range-cfc45f9e.js +178 -0
- package/dist/cjs/{responsive-format-facade-0d22ff78.js → responsive-format-facade-7e933525.js} +4 -3
- package/dist/cjs/{rich-text-editor-required-rule-8d7e441a.js → rich-text-editor-required-rule-72170c10.js} +2 -2
- package/dist/cjs/{string-input-formatter-slimmer-5a744e71.js → string-input-formatter-slimmer-f6c7a255.js} +4 -4
- package/dist/cjs/{style-formatter-a66813a2.js → style-formatter-702df81e.js} +1 -1
- package/dist/cjs/{sub-state-notify-slimmer-9602b5bb.js → sub-state-notify-slimmer-bb64fcfc.js} +4 -4
- package/dist/cjs/{sub-state-observer-slimmer-df7df5bb.js → sub-state-observer-slimmer-84175d61.js} +4 -4
- package/dist/cjs/{vega-skeleton-loader-controller-9c54f3aa.js → token-extension-23ccff1d.js} +679 -3
- package/dist/cjs/vega-accordion.cjs.entry.js +15 -16
- package/dist/cjs/vega-app-header-button.cjs.entry.js +20 -21
- package/dist/cjs/vega-banner.cjs.entry.js +7 -9
- package/dist/cjs/vega-box.cjs.entry.js +13 -12
- package/dist/cjs/vega-brand-logo.cjs.entry.js +1 -2
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +44 -78
- package/dist/cjs/vega-button-circle.cjs.entry.js +16 -16
- package/dist/cjs/vega-button-group_2.cjs.entry.js +11 -12
- package/dist/cjs/vega-button-link.cjs.entry.js +22 -21
- package/dist/cjs/vega-button.cjs.entry.js +15 -15
- package/dist/cjs/vega-calendar_4.cjs.entry.js +22 -24
- package/dist/cjs/vega-card.cjs.entry.js +12 -11
- package/dist/cjs/vega-carousel.cjs.entry.js +13 -13
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +12 -13
- package/dist/cjs/vega-chip.cjs.entry.js +17 -17
- package/dist/cjs/vega-code-block.cjs.entry.js +16 -17
- package/dist/cjs/vega-color-picker.cjs.entry.js +6 -7
- package/dist/cjs/vega-combo-box.cjs.entry.js +14 -15
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +30 -31
- package/dist/cjs/vega-dialog_2.cjs.entry.js +27 -27
- package/dist/cjs/vega-divider.cjs.entry.js +12 -11
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +32 -32
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +6 -7
- package/dist/cjs/vega-file-uploader.cjs.entry.js +15 -17
- package/dist/cjs/vega-flag-icon.cjs.entry.js +13 -13
- package/dist/cjs/vega-flex.cjs.entry.js +12 -11
- package/dist/cjs/vega-font.cjs.entry.js +12 -11
- package/dist/cjs/vega-form.cjs.entry.js +13 -14
- package/dist/cjs/vega-grid.cjs.entry.js +12 -11
- package/dist/cjs/vega-icon.cjs.entry.js +15 -14
- package/dist/cjs/vega-image-uploader.cjs.entry.js +18 -18
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +14 -16
- package/dist/cjs/vega-input-numeric.cjs.entry.js +57 -12
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +20 -21
- package/dist/cjs/vega-input-range.cjs.entry.js +11 -12
- package/dist/cjs/vega-input-select.cjs.entry.js +27 -28
- package/dist/cjs/vega-input.cjs.entry.js +13 -14
- package/dist/cjs/vega-item-toggle.cjs.entry.js +5 -6
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +33 -34
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +13 -12
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +2 -3
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +8 -9
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +3 -4
- package/dist/cjs/vega-pagination.cjs.entry.js +18 -18
- package/dist/cjs/vega-popover_2.cjs.entry.js +18 -18
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +5 -6
- package/dist/cjs/vega-radio_2.cjs.entry.js +13 -14
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +53 -48
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +387 -261
- package/dist/cjs/vega-segment-control.cjs.entry.js +5 -6
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +20 -20
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +13 -14
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +24 -25
- package/dist/cjs/vega-signature-capture.cjs.entry.js +16 -17
- package/dist/cjs/vega-stepper.cjs.entry.js +13 -14
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +8 -9
- package/dist/cjs/vega-table_8.cjs.entry.js +58 -59
- package/dist/cjs/vega-textarea.cjs.entry.js +16 -11
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +32 -24
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +7 -8
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +12 -12
- package/dist/cjs/vega.cjs.js +14 -12
- package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-collapsed-item-renderer.js +4 -13
- package/dist/collection/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-item-renderer.js +19 -5
- package/dist/collection/components/vega-breadcrumb/vega-breadcrumb.js +6 -5
- package/dist/collection/components/vega-button-link/vega-button-link.js +18 -19
- package/dist/collection/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.js +27 -1
- package/dist/collection/components/vega-input-numeric/vega-input-numeric.js +64 -0
- package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +31 -0
- package/dist/collection/components/vega-rich-text-editor/constants/constant.js +10 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.js +11 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-split-text-strategy.js +6 -3
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.js +12 -6
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-node-to-nearest-root-strategy.js +57 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-cursor-position-strategy.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/dto/actions/insert-node-to-nearest-root-action.js +14 -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/actions/update-cursor-position-action.js +5 -2
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +36 -10
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +10 -4
- package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +145 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +97 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-extension.js +113 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +90 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/insert-token-node-action.js +16 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/insert-token-node-strategy.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +60 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-extension.js +38 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.js +67 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node.js +55 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +88 -0
- package/dist/collection/components/vega-rich-text-editor/public-api.js +38 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/extension-controller.js +97 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/focus-controller.js +8 -6
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +9 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +43 -18
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +6 -6
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +9 -9
- package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +41 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +44 -11
- package/dist/collection/components/vega-textarea/vega-textarea.js +28 -1
- package/dist/collection/components/vega-time-picker/vega-time-picker.js +10 -2
- package/dist/collection/global/scripts/before-vega-load.js +9 -0
- package/dist/collection/helpers/code-format/test/code-formatter.test.js +1 -1
- package/dist/collection/helpers/public-api.js +1 -1
- package/dist/collection/helpers/rte-manager/dto-action-strategy-manager.js +2 -0
- package/dist/collection/helpers/validator/rules/max-number-rule.js +7 -4
- package/dist/collection/helpers/validator/rules/min-number-rule.js +7 -4
- package/dist/esm/{app-globals-ce54f0ac.js → app-globals-aaff0b25.js} +13 -5
- package/dist/esm/base-renderer-101f6d04.js +7 -0
- package/dist/esm/{child-nodes-event-prevent-slimmer-2a3115ae.js → child-nodes-event-prevent-slimmer-7fe3dc57.js} +1 -1
- package/dist/esm/{code-block-89a4dd13.js → code-block-68300b47.js} +67 -17
- package/dist/esm/{component-value-history-controller-slimmer.abstract-95b199df.js → component-value-history-controller-slimmer.abstract-ac2f1bfd.js} +13 -179
- package/dist/esm/{design-token-eaa7c221.js → design-token-1a36307e.js} +1 -1
- package/dist/esm/{dom-node-subject-factory-3c2e13f1.js → dom-node-subject-observer-factory-c7bc3035.js} +41 -1
- package/dist/esm/{content-state-fc47457c.js → dto-renderer-manager-af66bbd9.js} +1643 -1502
- package/dist/esm/{element-appender-slimmer-ce83db8a.js → element-appender-slimmer-fe68ec2d.js} +3 -4
- package/dist/esm/{event-emit-slimmer-4428ce26.js → event-emit-slimmer-3922d816.js} +2 -3
- package/dist/esm/{form-field-controller-slimmer-6e69ca4e.js → form-field-controller-slimmer-f7e8845b.js} +2 -3
- package/dist/esm/{image-annotation-action-53812eb7.js → image-annotation-action-f61c2693.js} +20 -76
- package/dist/esm/{index-1d479c88.js → index-7fe93427.js} +1 -1
- package/dist/esm/index.js +13 -10
- package/dist/esm/{icon-manager-2ee1c619.js → internal-icon-manager-f0486245.js} +51 -1
- package/dist/esm/{internal-vega-event-manager-a654cf8a.js → internal-vega-event-manager-cb06e987.js} +1 -1
- package/dist/esm/language-extension-1ada2a9d.js +204 -0
- package/dist/esm/loader.js +14 -12
- package/dist/esm/{min-number-rule-86421853.js → min-number-rule-2f1cfbf9.js} +14 -8
- package/dist/esm/{public-rules-095284f6.js → public-rules-9f62069a.js} +5 -5
- package/dist/esm/range-c2eeb794.js +176 -0
- package/dist/esm/{responsive-format-facade-86b6de3b.js → responsive-format-facade-5711c77d.js} +4 -3
- package/dist/esm/{rich-text-editor-required-rule-4e8d2db8.js → rich-text-editor-required-rule-de738309.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-60897659.js → string-input-formatter-slimmer-69117deb.js} +2 -2
- package/dist/esm/{style-formatter-a0719a8f.js → style-formatter-2479dc61.js} +1 -1
- package/dist/esm/{sub-state-notify-slimmer-ee730968.js → sub-state-notify-slimmer-4252a90e.js} +1 -1
- package/dist/esm/{sub-state-observer-slimmer-d474634d.js → sub-state-observer-slimmer-baa8853a.js} +1 -1
- package/dist/esm/{vega-skeleton-loader-controller-394a6026.js → token-extension-6fc5e1f5.js} +672 -4
- package/dist/esm/vega-accordion.entry.js +13 -14
- package/dist/esm/vega-app-header-button.entry.js +14 -15
- package/dist/esm/vega-banner.entry.js +4 -6
- package/dist/esm/vega-box.entry.js +13 -12
- package/dist/esm/vega-brand-logo.entry.js +1 -2
- package/dist/esm/vega-breadcrumb.entry.js +42 -76
- package/dist/esm/vega-button-circle.entry.js +14 -14
- package/dist/esm/vega-button-group_2.entry.js +6 -7
- package/dist/esm/vega-button-link.entry.js +20 -19
- package/dist/esm/vega-button.entry.js +13 -13
- package/dist/esm/vega-calendar_4.entry.js +7 -9
- package/dist/esm/vega-card.entry.js +12 -11
- package/dist/esm/vega-carousel.entry.js +12 -12
- package/dist/esm/vega-checkbox_2.entry.js +6 -7
- package/dist/esm/vega-chip.entry.js +14 -14
- package/dist/esm/vega-code-block.entry.js +8 -9
- package/dist/esm/vega-color-picker.entry.js +5 -6
- package/dist/esm/vega-combo-box.entry.js +6 -7
- package/dist/esm/vega-date-picker_2.entry.js +16 -17
- package/dist/esm/vega-dialog_2.entry.js +15 -15
- package/dist/esm/vega-divider.entry.js +12 -11
- package/dist/esm/vega-dropdown_5.entry.js +15 -15
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-label.entry.js +4 -5
- package/dist/esm/vega-file-uploader.entry.js +6 -8
- package/dist/esm/vega-flag-icon.entry.js +12 -12
- package/dist/esm/vega-flex.entry.js +12 -11
- package/dist/esm/vega-font.entry.js +12 -11
- package/dist/esm/vega-form.entry.js +7 -8
- package/dist/esm/vega-grid.entry.js +12 -11
- package/dist/esm/vega-icon.entry.js +12 -11
- package/dist/esm/vega-image-uploader.entry.js +12 -12
- package/dist/esm/vega-input-credit-card.entry.js +7 -9
- package/dist/esm/vega-input-numeric.entry.js +54 -9
- package/dist/esm/vega-input-phone-number.entry.js +12 -13
- package/dist/esm/vega-input-range.entry.js +7 -8
- package/dist/esm/vega-input-select.entry.js +14 -15
- package/dist/esm/vega-input.entry.js +8 -9
- package/dist/esm/vega-item-toggle.entry.js +3 -4
- package/dist/esm/vega-left-nav_5.entry.js +14 -15
- package/dist/esm/vega-loader-wrapper_2.entry.js +11 -10
- package/dist/esm/vega-page-notification_2.entry.js +1 -2
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +3 -4
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +1 -2
- 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.entry.js +3 -4
- package/dist/esm/vega-radio_2.entry.js +6 -7
- package/dist/esm/vega-rich-text-content.entry.js +24 -19
- package/dist/esm/vega-rich-text-editor_4.entry.js +342 -216
- package/dist/esm/vega-segment-control.entry.js +4 -5
- package/dist/esm/vega-selection-chip_2.entry.js +15 -15
- package/dist/esm/vega-selection-tile_2.entry.js +7 -8
- package/dist/esm/vega-sidenav_3.entry.js +16 -17
- package/dist/esm/vega-signature-capture.entry.js +14 -15
- package/dist/esm/vega-stepper.entry.js +7 -8
- package/dist/esm/vega-tab-group_2.entry.js +4 -5
- package/dist/esm/vega-table_8.entry.js +12 -13
- package/dist/esm/vega-textarea.entry.js +13 -8
- package/dist/esm/vega-time-picker_2.entry.js +22 -14
- package/dist/esm/vega-toggle-switch.entry.js +6 -7
- package/dist/esm/vega-tooltip_2.entry.js +12 -12
- package/dist/esm/vega.js +14 -12
- package/dist/types/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-collapsed-item-renderer.d.ts +1 -1
- package/dist/types/components/vega-breadcrumb/slimmers/renderers/vega-breadcrumb-item-renderer.d.ts +2 -1
- package/dist/types/components/vega-breadcrumb/types.d.ts +1 -0
- package/dist/types/components/vega-breadcrumb/vega-breadcrumb.d.ts +2 -2
- package/dist/types/components/vega-button-link/vega-button-link.d.ts +5 -8
- package/dist/types/components/vega-input-numeric/slimmers/renderers/vega-input-numeric-renderer.d.ts +3 -0
- package/dist/types/components/vega-input-numeric/vega-input-numeric.d.ts +12 -0
- package/dist/types/components/vega-rich-text-content/vega-rich-text-content.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/constants/constant.d.ts +2 -1
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.d.ts +8 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/insert-node-to-nearest-root-strategy.d.ts +18 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/insert-node-to-nearest-root-action.d.ts +14 -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/actions/update-cursor-position-action.d.ts +4 -2
- package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +2 -3
- package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +11 -1
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.d.ts +3 -3
- package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +95 -2
- package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +82 -0
- package/dist/types/components/vega-rich-text-editor/extensions/languages/language-extension.d.ts +50 -0
- package/dist/types/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.d.ts +54 -0
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/insert-token-node-action.d.ts +16 -0
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/insert-token-node-strategy.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.d.ts +24 -0
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-extension.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.d.ts +38 -0
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node.d.ts +39 -0
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.d.ts +47 -0
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +52 -1
- package/dist/types/components/vega-rich-text-editor/public-api.d.ts +29 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/extension-controller.d.ts +44 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +10 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +4 -4
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +7 -7
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +10 -0
- package/dist/types/components/vega-textarea/vega-textarea.d.ts +6 -0
- package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +8 -0
- package/dist/types/components.d.ts +59 -10
- package/dist/types/helpers/public-api.d.ts +1 -1
- package/dist/types/helpers/validator/rules/max-number-rule.d.ts +3 -1
- package/dist/types/helpers/validator/rules/min-number-rule.d.ts +3 -1
- package/dist/types/types/components.type.d.ts +1 -0
- package/dist/types/types/public-api.d.ts +11 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-03cc47b7.entry.js +1 -0
- package/dist/vega/p-07836d27.entry.js +1 -0
- package/dist/vega/p-079f5d94.entry.js +1 -0
- package/dist/vega/p-09cb98f3.entry.js +1 -0
- package/dist/vega/{p-fb232e29.entry.js → p-0b91bb73.entry.js} +1 -1
- package/dist/vega/p-15a78afd.entry.js +1 -0
- package/dist/vega/p-16075b30.entry.js +1 -0
- package/dist/vega/{p-67101f43.entry.js → p-1c08077c.entry.js} +1 -1
- package/dist/vega/{p-c5e862aa.js → p-1da54ff3.js} +1 -1
- package/dist/vega/p-20a180e4.js +1 -0
- package/dist/vega/p-2591f217.entry.js +1 -0
- package/dist/vega/p-25ddb070.entry.js +1 -0
- package/dist/vega/p-2788afe7.entry.js +1 -0
- package/dist/vega/p-2a1b3108.entry.js +1 -0
- package/dist/vega/p-2ee4def0.js +1 -0
- package/dist/vega/p-2f88ba36.entry.js +1 -0
- package/dist/vega/{p-f2a1fe6a.js → p-39c185a5.js} +1 -1
- package/dist/vega/p-3b1bedaf.entry.js +1 -0
- package/dist/vega/p-3c96bbe1.entry.js +1 -0
- package/dist/vega/p-3cdbee7e.js +1 -0
- package/dist/vega/p-3d0d8a21.entry.js +1 -0
- package/dist/vega/p-3d53858c.entry.js +1 -0
- package/dist/vega/{p-927cab0c.entry.js → p-3f3bbaaa.entry.js} +2 -2
- package/dist/vega/p-42c364e0.entry.js +1 -0
- package/dist/vega/p-4f56a427.entry.js +1 -0
- package/dist/vega/p-4f5a2b0c.entry.js +1 -0
- package/dist/vega/p-51d40b0d.entry.js +1 -0
- package/dist/vega/p-5420c1d4.entry.js +1 -0
- package/dist/vega/p-56ff8559.entry.js +1 -0
- package/dist/vega/p-589b7ea3.entry.js +1 -0
- package/dist/vega/p-5d3c6a06.entry.js +1 -0
- package/dist/vega/p-5dec47da.entry.js +1 -0
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/p-6244b0ad.entry.js +1 -0
- package/dist/vega/p-63212cc1.js +1 -0
- package/dist/vega/p-6585cfd5.entry.js +1 -0
- package/dist/vega/p-6ba27010.js +1 -0
- package/dist/vega/{p-129f5938.js → p-6caa6bb2.js} +1 -1
- package/dist/vega/p-74ac2a48.js +1 -0
- package/dist/vega/p-76c7538a.entry.js +1 -0
- package/dist/vega/p-7d8eaca9.entry.js +1 -0
- package/dist/vega/p-7da6e7bd.js +1 -0
- package/dist/vega/p-81765b4b.entry.js +1 -0
- package/dist/vega/p-81fbf18f.entry.js +1 -0
- package/dist/vega/p-8682ee0a.entry.js +1 -0
- package/dist/vega/p-893d5dfa.js +1 -0
- package/dist/vega/p-8a484812.entry.js +1 -0
- package/dist/vega/p-8a6b820a.entry.js +1 -0
- package/dist/vega/p-8c9ea6f4.js +1 -0
- package/dist/vega/p-8e58d6cb.entry.js +1 -0
- package/dist/vega/p-8e812dca.entry.js +1 -0
- package/dist/vega/p-8f056ac2.js +1 -0
- package/dist/vega/{p-e66aef91.entry.js → p-9125ba84.entry.js} +1 -1
- package/dist/vega/p-92469fa1.entry.js +1 -0
- package/dist/vega/p-9b2d8516.entry.js +1 -0
- package/dist/vega/p-9ca0bdcc.js +1 -0
- package/dist/vega/p-a61e4bba.entry.js +1 -0
- package/dist/vega/p-a646b66d.js +1 -0
- package/dist/vega/p-a7b5f497.js +1 -0
- package/dist/vega/p-b1054e18.entry.js +1 -0
- package/dist/vega/p-b1a5ff74.entry.js +1 -0
- package/dist/vega/p-b32f7aac.entry.js +1 -0
- package/dist/vega/{p-dc6f45af.entry.js → p-baafe7d9.entry.js} +1 -1
- package/dist/vega/{p-3a6abcd7.entry.js → p-bb51e020.entry.js} +1 -1
- package/dist/vega/{p-e764acd5.js → p-bb61f015.js} +1 -1
- package/dist/vega/p-bc0ae89a.entry.js +1 -0
- package/dist/vega/p-bd39af8a.entry.js +1 -0
- package/dist/vega/{p-cd18f0fe.js → p-bdd9ef3b.js} +1 -1
- package/dist/vega/p-c08ba4d7.entry.js +1 -0
- package/dist/vega/{p-5f85811c.entry.js → p-c167fa41.entry.js} +1 -1
- package/dist/vega/{p-7ecf65ec.js → p-c2377afa.js} +1 -1
- package/dist/vega/p-c671f57e.js +1 -0
- package/dist/vega/p-c6a354b1.js +1 -0
- package/dist/vega/p-c7726252.js +1 -0
- package/dist/vega/p-ce1766fa.js +1 -0
- package/dist/vega/p-cfb2af9c.entry.js +1 -0
- package/dist/vega/{p-3bf95faf.entry.js → p-d2790023.entry.js} +2 -2
- package/dist/vega/p-d3bbfb1b.js +1 -0
- package/dist/vega/{p-5faa7313.entry.js → p-d9617358.entry.js} +1 -1
- package/dist/vega/p-d982babe.entry.js +1 -0
- package/dist/vega/p-da6369d4.entry.js +1 -0
- package/dist/vega/p-dcae53cf.entry.js +1 -0
- package/dist/vega/p-ddfad815.entry.js +1 -0
- package/dist/vega/p-e00ed9bd.entry.js +1 -0
- package/dist/vega/p-ebfc5739.entry.js +1 -0
- package/dist/vega/p-f0ff4463.js +1 -0
- package/dist/vega/{p-aeccc7f8.js → p-f1436035.js} +1 -1
- package/dist/vega/p-ff3a8907.entry.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/cjs/dom-node-subject-observer-factory-15130e50.js +0 -45
- package/dist/cjs/internal-icon-manager-f8677abb.js +0 -55
- package/dist/collection/components/vega-breadcrumb/slimmers/controllers/vega-breadcrumb-click-controller.js +0 -43
- package/dist/esm/dom-node-subject-observer-factory-1e456cd4.js +0 -43
- package/dist/esm/internal-icon-manager-7eac52c8.js +0 -53
- package/dist/types/components/vega-breadcrumb/slimmers/controllers/vega-breadcrumb-click-controller.d.ts +0 -26
- package/dist/vega/p-0070e970.entry.js +0 -1
- package/dist/vega/p-0169af6b.entry.js +0 -1
- package/dist/vega/p-03e9cbc8.js +0 -1
- package/dist/vega/p-04341cd4.entry.js +0 -1
- package/dist/vega/p-0664ca9c.js +0 -1
- package/dist/vega/p-074b73f8.js +0 -1
- package/dist/vega/p-08fb66a4.entry.js +0 -1
- package/dist/vega/p-0cf35281.entry.js +0 -1
- package/dist/vega/p-0e75ddb2.entry.js +0 -1
- package/dist/vega/p-13cb5a04.entry.js +0 -1
- package/dist/vega/p-18223240.js +0 -1
- package/dist/vega/p-19ce9ae6.js +0 -1
- package/dist/vega/p-27f922fe.entry.js +0 -1
- package/dist/vega/p-2c7b7dd6.entry.js +0 -1
- package/dist/vega/p-310f9e76.entry.js +0 -1
- package/dist/vega/p-330d7ba8.js +0 -1
- package/dist/vega/p-34fdbe7a.js +0 -1
- package/dist/vega/p-3d6c302d.js +0 -1
- package/dist/vega/p-42563036.entry.js +0 -1
- package/dist/vega/p-441a681b.js +0 -1
- package/dist/vega/p-4a357f30.entry.js +0 -1
- package/dist/vega/p-4e68dfd9.js +0 -1
- package/dist/vega/p-4e8b6eb6.entry.js +0 -1
- package/dist/vega/p-50dd3cf1.js +0 -1
- package/dist/vega/p-518722aa.js +0 -1
- package/dist/vega/p-5422fdc4.entry.js +0 -1
- package/dist/vega/p-5c36a6cb.entry.js +0 -1
- package/dist/vega/p-5d095f9b.entry.js +0 -1
- package/dist/vega/p-68806f9c.entry.js +0 -1
- package/dist/vega/p-6cf490d9.entry.js +0 -1
- package/dist/vega/p-6def20e1.js +0 -1
- package/dist/vega/p-78d3f99b.entry.js +0 -1
- package/dist/vega/p-792715f3.js +0 -1
- package/dist/vega/p-7a201c6e.entry.js +0 -1
- package/dist/vega/p-7c22a1c3.entry.js +0 -1
- package/dist/vega/p-7f329473.entry.js +0 -1
- package/dist/vega/p-80f1b680.js +0 -1
- package/dist/vega/p-82beb586.entry.js +0 -1
- package/dist/vega/p-84eb131b.entry.js +0 -1
- package/dist/vega/p-8c46e116.js +0 -1
- package/dist/vega/p-909820dd.entry.js +0 -1
- package/dist/vega/p-989e141d.entry.js +0 -1
- package/dist/vega/p-a29e5d32.js +0 -1
- package/dist/vega/p-a3942d0b.entry.js +0 -1
- package/dist/vega/p-a66533c1.entry.js +0 -1
- package/dist/vega/p-a9b831d8.entry.js +0 -1
- package/dist/vega/p-b1d0e4cb.entry.js +0 -1
- package/dist/vega/p-b34f9891.entry.js +0 -1
- package/dist/vega/p-b820e42f.entry.js +0 -1
- package/dist/vega/p-c4677b0c.entry.js +0 -1
- package/dist/vega/p-c467fe81.entry.js +0 -1
- package/dist/vega/p-c7762c86.entry.js +0 -1
- package/dist/vega/p-c9e57cf1.entry.js +0 -1
- package/dist/vega/p-d0b3e319.entry.js +0 -1
- package/dist/vega/p-d7b4ffed.entry.js +0 -1
- package/dist/vega/p-e4586f13.entry.js +0 -1
- package/dist/vega/p-e71c4a09.entry.js +0 -1
- package/dist/vega/p-ea66d9f7.entry.js +0 -1
- package/dist/vega/p-ebbaa112.entry.js +0 -1
- package/dist/vega/p-ec6819fe.entry.js +0 -1
- package/dist/vega/p-ec9a8f81.entry.js +0 -1
- package/dist/vega/p-ed01328c.entry.js +0 -1
- package/dist/vega/p-ed798cd4.entry.js +0 -1
- package/dist/vega/p-edb71a72.entry.js +0 -1
- package/dist/vega/p-f08a4adf.js +0 -1
- package/dist/vega/p-f4e23c23.entry.js +0 -1
- package/dist/vega/p-f825e8a2.entry.js +0 -1
- package/dist/vega/p-f9deb43e.entry.js +0 -1
- package/dist/vega/p-fdd930a9.entry.js +0 -1
- package/dist/vega/p-fe52c370.entry.js +0 -1
package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts
CHANGED
|
@@ -1,13 +1,106 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { Nullable } from '../../../types/general';
|
|
2
|
+
import { VegaRTECreateElementFunction, VegaRTEToolbarRenderContext, VegaRTERenderResult, RTEToolbarDropdownProps, RTEDropdownListItem, RTEToolbarButtonProps } from '../interface';
|
|
2
3
|
/**
|
|
3
4
|
* Base class for rendering extension toolbar button in the rich text editor.
|
|
5
|
+
* The renderer provides common functionalities for rendering toolbar buttons, including:
|
|
6
|
+
* - Rendering a button with an icon, label, and optional arrow icon.
|
|
7
|
+
* - Rendering a dropdown with a list of items.
|
|
8
|
+
* - Rendering dropdown items.
|
|
9
|
+
* - Rendering template for dropdown list.
|
|
10
|
+
* - Determining if the button should be disabled based on the editor context.
|
|
11
|
+
* - Handling button and dropdown click events.
|
|
12
|
+
* Override the methods to customize the rendering and behavior of the button.
|
|
4
13
|
*/
|
|
5
14
|
export declare abstract class VegaRTEToolbarButtonRenderer {
|
|
15
|
+
/**
|
|
16
|
+
* Checks if the button should be hidden.
|
|
17
|
+
*
|
|
18
|
+
* @param {VegaRTEToolbarRenderContext} editorContext The render context for the editor.
|
|
19
|
+
* @returns {boolean} True if the button is hidden, false otherwise.
|
|
20
|
+
*/
|
|
21
|
+
isHidden(editorContext: VegaRTEToolbarRenderContext): boolean;
|
|
6
22
|
/**
|
|
7
23
|
* Renders the toolbar button.
|
|
8
24
|
*
|
|
9
25
|
* @param createElement Function to create elements in the rich text editor.
|
|
10
26
|
* @returns {VegaRTERenderResult} Toolbar button.
|
|
11
27
|
*/
|
|
12
|
-
abstract render(createElement: VegaRTECreateElementFunction, editorContext?:
|
|
28
|
+
abstract render(createElement: VegaRTECreateElementFunction, editorContext?: VegaRTEToolbarRenderContext): VegaRTERenderResult;
|
|
29
|
+
/**
|
|
30
|
+
* Renders a dropdown component with the specified properties and children.
|
|
31
|
+
*
|
|
32
|
+
* @param {VegaRTECreateElementFunction} h - Create element function.
|
|
33
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
34
|
+
* @param {RTEToolbarDropdownProps} dropdownProps - The properties for the dropdown.
|
|
35
|
+
* @param {VegaRTERenderResult[]} children - The children elements for the dropdown.
|
|
36
|
+
* @returns {VegaRTERenderResult} - The render result for the dropdown.
|
|
37
|
+
*/
|
|
38
|
+
protected renderDropdown(h: VegaRTECreateElementFunction, editorContext: VegaRTEToolbarRenderContext, dropdownProps: RTEToolbarDropdownProps, children: VegaRTERenderResult[]): VegaRTERenderResult;
|
|
39
|
+
/**
|
|
40
|
+
* Renders the dropdown list template.
|
|
41
|
+
*
|
|
42
|
+
* @param {VegaRTECreateElementFunction} h - Create element function.
|
|
43
|
+
* @param {RTEDropdownListItem[]} itemList - The list of dropdown items.
|
|
44
|
+
* @returns {VegaRTERenderResult} - The render result for the dropdown list.
|
|
45
|
+
*/
|
|
46
|
+
protected renderDropdownListTemplate(h: VegaRTECreateElementFunction, itemList: RTEDropdownListItem[]): VegaRTERenderResult;
|
|
47
|
+
/**
|
|
48
|
+
* Renders a dropdown item for the toolbar button.
|
|
49
|
+
*
|
|
50
|
+
* @param {VegaRTECreateElementFunction} h - Create element function.
|
|
51
|
+
* @param {RTEDropdownListItem} item - The dropdown item.
|
|
52
|
+
* @returns {VegaRTERenderResult} - The render result for the dropdown item.
|
|
53
|
+
*/
|
|
54
|
+
protected renderDropdownItem(h: VegaRTECreateElementFunction, item: RTEDropdownListItem): VegaRTERenderResult;
|
|
55
|
+
/**
|
|
56
|
+
* Renders a common toolbar button with optional icon, label, and arrow icon.
|
|
57
|
+
*
|
|
58
|
+
* @param {VegaRTECreateElementFunction} h - Create element function.
|
|
59
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
60
|
+
* @param {RTEToolbarButtonProps} buttonProps - The properties for the button.
|
|
61
|
+
* @returns {VegaRTERenderResult} - The render result for the button.
|
|
62
|
+
*/
|
|
63
|
+
protected renderButton(h: VegaRTECreateElementFunction, editorContext: VegaRTEToolbarRenderContext, buttonProps: RTEToolbarButtonProps): VegaRTERenderResult;
|
|
64
|
+
/**
|
|
65
|
+
* Renders the button label.
|
|
66
|
+
*
|
|
67
|
+
* @param {VegaRTECreateElementFunction} h - Create element function.
|
|
68
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
69
|
+
* @param {Nullable<string>} label - The button label if exist.
|
|
70
|
+
* @returns {Nullable<VegaRTERenderResult>} - The render result for the button.
|
|
71
|
+
*/
|
|
72
|
+
protected renderButtonLabel(h: VegaRTECreateElementFunction, editorContext: VegaRTEToolbarRenderContext, label: Nullable<string>): Nullable<VegaRTERenderResult>;
|
|
73
|
+
/**
|
|
74
|
+
* Determines if the button should be disabled based on the editor context.
|
|
75
|
+
*
|
|
76
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
77
|
+
* @returns {boolean} - True if the button should be disabled, false otherwise.
|
|
78
|
+
*/
|
|
79
|
+
protected isDisabled(editorContext: VegaRTEToolbarRenderContext): boolean;
|
|
80
|
+
/**
|
|
81
|
+
* Checks if the button should be selected.
|
|
82
|
+
*
|
|
83
|
+
* @param {VegaRTEToolbarRenderContext} _editorContext The render context for the editor.
|
|
84
|
+
* @returns {boolean} True if the button is selected, false otherwise.
|
|
85
|
+
*/
|
|
86
|
+
protected isSelected(_editorContext: VegaRTEToolbarRenderContext): boolean;
|
|
87
|
+
/**
|
|
88
|
+
* Prevents the default action of the click event. This is to avoid losing focus from the editor when the button is clicked.
|
|
89
|
+
*
|
|
90
|
+
* @param {MouseEvent} e The mouse event to prevent default action for.
|
|
91
|
+
*/
|
|
92
|
+
protected preventDefault(e: MouseEvent): void;
|
|
93
|
+
/**
|
|
94
|
+
* Handles the button click event.
|
|
95
|
+
*
|
|
96
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
97
|
+
*/
|
|
98
|
+
protected abstract handleButtonClick(editorContext: VegaRTEToolbarRenderContext): void;
|
|
99
|
+
/**
|
|
100
|
+
* Handles the dropdown click event.
|
|
101
|
+
*
|
|
102
|
+
* @param {string} itemKey - The key of the clicked dropdown item.
|
|
103
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
104
|
+
*/
|
|
105
|
+
protected abstract handleDropdownClick(itemKey: string, editorContext?: VegaRTEToolbarRenderContext): void;
|
|
13
106
|
}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import { BaseRenderer } from '../../../helpers/rte-manager/dto-renderer-manager';
|
|
2
|
+
import { ClassType } from '../../../types/class.type';
|
|
3
|
+
import { RTEBlock } from '../dto/blocks/block.abstract';
|
|
4
|
+
import { RTENode } from '../dto/nodes/node.abstract';
|
|
5
|
+
import { VegaRTEToolbarButtonRenderer } from './base-toolbar-button-renderer';
|
|
6
|
+
import { ElementToDTOStrategy } from '../slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract';
|
|
7
|
+
import { Nullable } from '../../../types/general';
|
|
8
|
+
import { RTEExtensionContext } from '../interface';
|
|
9
|
+
import { ActionHandleStrategy } from '../dto/action-handle-strategies/action-handle-strategy.abstract';
|
|
10
|
+
import { ModifyContentAction } from '../public-api';
|
|
11
|
+
/**
|
|
12
|
+
* Abstract class for Vega Rich Text Editor extensions.
|
|
13
|
+
*/
|
|
14
|
+
export declare abstract class VegaRTEExtension {
|
|
15
|
+
/**
|
|
16
|
+
* The context of the RTE extension, which may include references to the host editor and other relevant information.
|
|
17
|
+
*/
|
|
18
|
+
protected extensionContext: Nullable<RTEExtensionContext>;
|
|
19
|
+
/**
|
|
20
|
+
* Registers an action handle strategy for a specific node or block class.
|
|
21
|
+
*
|
|
22
|
+
* @param {string} nodeOrBlockClassName - The name of the node or block class.
|
|
23
|
+
* @param {string} actionType - The type of the action.
|
|
24
|
+
* @param {ActionHandleStrategy<ModifyContentAction, RTENode | RTEBlock>} strategy - The strategy to register.
|
|
25
|
+
*/
|
|
26
|
+
static registerActionHandleStrategy(nodeOrBlockClassName: string, actionType: string, strategy: ActionHandleStrategy<ModifyContentAction, RTENode | RTEBlock>): void;
|
|
27
|
+
/**
|
|
28
|
+
* Initializes the RTE extension with the provided context.
|
|
29
|
+
*
|
|
30
|
+
* @param {RTEExtensionContext} context - The context of the RTE extension.
|
|
31
|
+
*/
|
|
32
|
+
initialExtension(context: RTEExtensionContext): void;
|
|
33
|
+
/**
|
|
34
|
+
* Register a node type with the extension.
|
|
35
|
+
*
|
|
36
|
+
* @param {string} type - The type of the node or block. The type should be a string that uniquely identifies the node or block.
|
|
37
|
+
* @param {ClassType<RTEBlock | RTENode>} DTOClass - The DTO class to register.
|
|
38
|
+
*/
|
|
39
|
+
protected registerNode(type: string, DTOClass: ClassType<RTEBlock | RTENode>): void;
|
|
40
|
+
/**
|
|
41
|
+
* Register a renderer for a node type with the extension.
|
|
42
|
+
*
|
|
43
|
+
* @param {string} type - The type of the node or block. The type should be a string that uniquely identifies the node or block.
|
|
44
|
+
* @param {BaseRenderer} renderer - The renderer to register.
|
|
45
|
+
*/
|
|
46
|
+
protected registerRenderer(type: string, renderer: BaseRenderer): void;
|
|
47
|
+
/**
|
|
48
|
+
* Register a toolbar button renderer for the extension.
|
|
49
|
+
*
|
|
50
|
+
* @param {string} type - The type of the toolbar button.
|
|
51
|
+
* @param {VegaRTEToolbarButtonRenderer} renderer - The renderer to register.
|
|
52
|
+
*/
|
|
53
|
+
protected registerToolbarButtonRenderer(type: string, renderer: VegaRTEToolbarButtonRenderer): void;
|
|
54
|
+
/**
|
|
55
|
+
* This is a helper method that utilizes RTEUtils to register common strategies.
|
|
56
|
+
* Call the method with the class name of the block to make it support basic strategies like:
|
|
57
|
+
* - Delete children
|
|
58
|
+
* - Append the children
|
|
59
|
+
* - Delete the block children content
|
|
60
|
+
*
|
|
61
|
+
* @param {string} blockClassName - The class name of the block to register strategies for.
|
|
62
|
+
*/
|
|
63
|
+
protected registerBlockBasicStrategies(blockClassName: string): void;
|
|
64
|
+
/**
|
|
65
|
+
* Register an element to block DTO class strategy.
|
|
66
|
+
*
|
|
67
|
+
* @param {ElementToDTOStrategy} strategy - The strategy to register.
|
|
68
|
+
*/
|
|
69
|
+
protected registerElementToBlockDTOClassStrategy(strategy: ElementToDTOStrategy): void;
|
|
70
|
+
/**
|
|
71
|
+
* Register an element to node DTO class strategy.
|
|
72
|
+
*
|
|
73
|
+
* @param {ElementToDTOStrategy} strategy - The strategy to register.
|
|
74
|
+
*/
|
|
75
|
+
protected registerElementToNodeDTOClassStrategy(strategy: ElementToDTOStrategy): void;
|
|
76
|
+
/**
|
|
77
|
+
* Get the registered element to node DTO class strategies.
|
|
78
|
+
*
|
|
79
|
+
* @returns {ElementToDTOStrategy[]} - The registered element to node DTO class strategies.
|
|
80
|
+
*/
|
|
81
|
+
protected getElementToNodeDTOClassStrategies(): ElementToDTOStrategy[];
|
|
82
|
+
}
|
package/dist/types/components/vega-rich-text-editor/extensions/languages/language-extension.d.ts
ADDED
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { RTEDropdownListItem, RTEExtensionContext, RTELanguageExtensionState } from '../../interface';
|
|
2
|
+
import { VegaRTEExtension } from '../extension.abstract';
|
|
3
|
+
/**
|
|
4
|
+
* Language extension for Vega Rich Text Editor.
|
|
5
|
+
* This extension allows users to switch between different languages and maintain separate content for each language.
|
|
6
|
+
*/
|
|
7
|
+
export declare class VegaRTELanguageExtension extends VegaRTEExtension {
|
|
8
|
+
private languageToolbarButtonRenderer;
|
|
9
|
+
private languageState;
|
|
10
|
+
constructor(languageList: RTEDropdownListItem[], languagesState?: RTELanguageExtensionState);
|
|
11
|
+
/**
|
|
12
|
+
* Initializes the language extension.
|
|
13
|
+
* Applies the content for the selected language upon initialization.
|
|
14
|
+
*
|
|
15
|
+
* @param {RTEExtensionContext} context The extension context.
|
|
16
|
+
*/
|
|
17
|
+
initialExtension(context: RTEExtensionContext): void;
|
|
18
|
+
/**
|
|
19
|
+
* Invoked to set the language extension state. The method used if the state can not be provide when the editor is initialized.
|
|
20
|
+
*
|
|
21
|
+
* @param {RTELanguageExtensionState} state The language extension state to set.
|
|
22
|
+
*/
|
|
23
|
+
setState(state: RTELanguageExtensionState): void;
|
|
24
|
+
/**
|
|
25
|
+
* Invoked to get the language extension state.
|
|
26
|
+
*
|
|
27
|
+
* @returns {RTELanguageExtensionState} The current language extension state.
|
|
28
|
+
*/
|
|
29
|
+
getState(): RTELanguageExtensionState;
|
|
30
|
+
/**
|
|
31
|
+
* Listener for language change events from the toolbar button renderer.
|
|
32
|
+
*
|
|
33
|
+
* @param {string} selectedLanguage - The newly selected language.
|
|
34
|
+
*/
|
|
35
|
+
private languageChangeCallBack;
|
|
36
|
+
/**
|
|
37
|
+
* Applies the content for the selected language.
|
|
38
|
+
*
|
|
39
|
+
* @param {string} selectedLanguage - The newly selected language.
|
|
40
|
+
* @param {RTELanguageExtensionState['contentMap']} contentMap - The content map for all languages.
|
|
41
|
+
*/
|
|
42
|
+
private applyLanguageContent;
|
|
43
|
+
/**
|
|
44
|
+
* Get the RTE latest value. The value is from the code block when in source edit mode; otherwise, it's from the host value.
|
|
45
|
+
*
|
|
46
|
+
* @param {HTMLElement} host - The host element of the rich text editor.
|
|
47
|
+
* @returns {VegaRTEContent} - The content.
|
|
48
|
+
*/
|
|
49
|
+
private getRTELatestValue;
|
|
50
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { RTEDropdownListItem, VegaRTECreateElementFunction, VegaRTERenderResult, VegaRTEToolbarRenderContext } from '../../interface';
|
|
2
|
+
import { VegaRTEToolbarButtonRenderer } from '../base-toolbar-button-renderer';
|
|
3
|
+
export declare type LanguageSelectedCallback = (selectedLanguage: string) => void;
|
|
4
|
+
/**
|
|
5
|
+
* Toolbar button renderer for language selection in Vega Rich Text Editor.
|
|
6
|
+
*/
|
|
7
|
+
export declare class RTELanguageToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
|
|
8
|
+
private languageList;
|
|
9
|
+
private selectedLanguage;
|
|
10
|
+
private labelRef;
|
|
11
|
+
private languageChangeCallback;
|
|
12
|
+
constructor(languageList: RTEDropdownListItem[], languageChangeCallback: LanguageSelectedCallback, selectedLanguage: string);
|
|
13
|
+
/**
|
|
14
|
+
* Public method to set the selected language.
|
|
15
|
+
*
|
|
16
|
+
* @param {string} language The language key to set as selected.
|
|
17
|
+
*/
|
|
18
|
+
setSelectedLanguage(language: string): void;
|
|
19
|
+
/**
|
|
20
|
+
* The source edit mode does not affect the language button visibility.
|
|
21
|
+
*
|
|
22
|
+
* @returns {boolean} True if the button is hidden, false otherwise.
|
|
23
|
+
*/
|
|
24
|
+
isHidden(): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* @inheritDoc
|
|
27
|
+
*/
|
|
28
|
+
render(createElement: VegaRTECreateElementFunction, editorContext: VegaRTEToolbarRenderContext): VegaRTERenderResult;
|
|
29
|
+
/**
|
|
30
|
+
* Override to render the button label with custom behavior.
|
|
31
|
+
*
|
|
32
|
+
* @inheritDoc
|
|
33
|
+
*/
|
|
34
|
+
protected renderButtonLabel(h: VegaRTECreateElementFunction, editorContext: VegaRTEToolbarRenderContext, label: string): VegaRTERenderResult;
|
|
35
|
+
/**
|
|
36
|
+
* Handles the button click event. No need this method for language button.
|
|
37
|
+
*
|
|
38
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
39
|
+
*/
|
|
40
|
+
protected handleButtonClick(editorContext: VegaRTEToolbarRenderContext): void;
|
|
41
|
+
/**
|
|
42
|
+
* Handles the language selection event.
|
|
43
|
+
*
|
|
44
|
+
* @param {string} itemKey - The key of the selected language item.
|
|
45
|
+
*/
|
|
46
|
+
protected handleDropdownClick: (itemKey: string) => void;
|
|
47
|
+
/**
|
|
48
|
+
* Gets the label of a language by its key.
|
|
49
|
+
*
|
|
50
|
+
* @param {string} key The language key to look up.
|
|
51
|
+
* @returns {string} The label of the language, or the key if not found.
|
|
52
|
+
*/
|
|
53
|
+
private getLanguageLabelByKey;
|
|
54
|
+
}
|
package/dist/types/components/vega-rich-text-editor/extensions/tokens/insert-token-node-action.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Nullable } from '../../../../types/general';
|
|
2
|
+
import { ModifyContentAction } from '../../dto/actions/modify-content-action.abstract';
|
|
3
|
+
import { RTERange } from '../../dto/range';
|
|
4
|
+
import { RTEDropdownListItem } from '../../interface';
|
|
5
|
+
/**
|
|
6
|
+
* Action to insert a token node at a specified range in the Rich Text Editor.
|
|
7
|
+
*
|
|
8
|
+
* @example block.apply(new InsertTokenNodeAction(rteRange, tokenNode));
|
|
9
|
+
*/
|
|
10
|
+
export declare class InsertTokenNodeAction extends ModifyContentAction {
|
|
11
|
+
type: string;
|
|
12
|
+
token: RTEDropdownListItem;
|
|
13
|
+
rteRange: Nullable<RTERange>;
|
|
14
|
+
actionHandleResult: boolean;
|
|
15
|
+
constructor(rteRange: Nullable<RTERange>, token: RTEDropdownListItem);
|
|
16
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { ActionHandleStrategy } from '../../dto/action-handle-strategies/action-handle-strategy.abstract';
|
|
2
|
+
import type { RTETextBlock } from '../../dto/blocks/text-block';
|
|
3
|
+
import { InsertTokenNodeAction } from './insert-token-node-action';
|
|
4
|
+
/**
|
|
5
|
+
* Strategy to handle the insertion of a token node into the nearest root block.
|
|
6
|
+
*/
|
|
7
|
+
export declare class InsertTokenNodeStrategy extends ActionHandleStrategy<InsertTokenNodeAction, RTETextBlock> {
|
|
8
|
+
/**
|
|
9
|
+
* @inheritDoc
|
|
10
|
+
*/
|
|
11
|
+
protected handleAction(action: InsertTokenNodeAction, block: RTETextBlock): void;
|
|
12
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Nullable } from '../../../../types/general';
|
|
2
|
+
import { VegaRTECustomNode } from '../../interface';
|
|
3
|
+
import { ElementToDTOStrategy } from '../../slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract';
|
|
4
|
+
/**
|
|
5
|
+
* Strategy to convert <span class="token" token-key="...">...</span> to a token node
|
|
6
|
+
*/
|
|
7
|
+
export declare class SpanToTokenNodeStrategy extends ElementToDTOStrategy {
|
|
8
|
+
/**
|
|
9
|
+
* @inheritDoc
|
|
10
|
+
*/
|
|
11
|
+
canHandle(elementsArray: HTMLElement[], currentIndex: number): number;
|
|
12
|
+
/**
|
|
13
|
+
* @inheritDoc
|
|
14
|
+
*/
|
|
15
|
+
handle(elementsArray: HTMLElement[]): Nullable<VegaRTECustomNode>;
|
|
16
|
+
/**
|
|
17
|
+
* @inheritDoc
|
|
18
|
+
*/
|
|
19
|
+
appendChildBlocks(): void;
|
|
20
|
+
/**
|
|
21
|
+
* @inheritDoc
|
|
22
|
+
*/
|
|
23
|
+
shouldProceedToElementChildren(): boolean;
|
|
24
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { RTEDropdownListItem, RTEExtensionContext } from '../../interface';
|
|
2
|
+
import { VegaRTEExtension } from '../extension.abstract';
|
|
3
|
+
/**
|
|
4
|
+
* Vega Rich Text Editor Token Extension
|
|
5
|
+
*/
|
|
6
|
+
export declare class VegaRTETokenExtension extends VegaRTEExtension {
|
|
7
|
+
private tokenRenderer;
|
|
8
|
+
private tokenToolbarButtonRenderer;
|
|
9
|
+
constructor(tokenList?: RTEDropdownListItem[]);
|
|
10
|
+
/**
|
|
11
|
+
* @inheritDoc
|
|
12
|
+
*/
|
|
13
|
+
initialExtension(context: RTEExtensionContext): void;
|
|
14
|
+
}
|
package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.d.ts
ADDED
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { RTEExtensionContext, RTERenderContext, VegaRTECreateElementFunction, VegaRTERenderResult } from '../../interface';
|
|
2
|
+
import { VegaRTEExtensionRenderer } from '../base-extension-renderer';
|
|
3
|
+
import { RTETokenNode } from './token-node';
|
|
4
|
+
/**
|
|
5
|
+
* Token node renderer for the rich text editor.
|
|
6
|
+
*/
|
|
7
|
+
export declare class RTETokenNodeRenderer extends VegaRTEExtensionRenderer {
|
|
8
|
+
private extensionContext;
|
|
9
|
+
/**
|
|
10
|
+
* Renders the token node as a DOM element.
|
|
11
|
+
*
|
|
12
|
+
* @param {VegaRTECreateElementFunction} createElement - The function to create a DOM element.
|
|
13
|
+
* @param {RTETokenNode} node - The token node to render.
|
|
14
|
+
* @param {RTERenderContext} editorContent - The editor content context.
|
|
15
|
+
* @returns {VegaRTERenderResult} - The rendered DOM element.
|
|
16
|
+
*/
|
|
17
|
+
doRender(createElement: VegaRTECreateElementFunction, node: RTETokenNode, editorContent?: RTERenderContext): VegaRTERenderResult;
|
|
18
|
+
/**
|
|
19
|
+
* Sets the RTE extension context.
|
|
20
|
+
*
|
|
21
|
+
* @param {RTEExtensionContext} context - The context of the RTE extension.
|
|
22
|
+
*/
|
|
23
|
+
injectExtensionContext(context: RTEExtensionContext): void;
|
|
24
|
+
/**
|
|
25
|
+
* Get the style for the token element.
|
|
26
|
+
*
|
|
27
|
+
* @param {RTETokenNode} node - The token node.
|
|
28
|
+
* @returns {Record<string, string>} The style object for the token element.
|
|
29
|
+
*/
|
|
30
|
+
protected getStyle(node: RTETokenNode): Record<string, string>;
|
|
31
|
+
/**
|
|
32
|
+
* Handle the click event on the token element.
|
|
33
|
+
*
|
|
34
|
+
* @param {MouseEvent} event - The click event.
|
|
35
|
+
* @param {RTETokenNode} node - The token node that was clicked.
|
|
36
|
+
*/
|
|
37
|
+
private handleTokenElementClick;
|
|
38
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { RTETextBlock } from '../../dto/blocks/text-block';
|
|
2
|
+
import { RTETextNode } from '../../dto/nodes/text-node';
|
|
3
|
+
import { RTENodeAnnotationMapKey, RTENodeAnnotationMapValue, VegaRTETokenNode } from '../../interface';
|
|
4
|
+
/**
|
|
5
|
+
* Token node for the Vega Rich Text Editor.
|
|
6
|
+
*/
|
|
7
|
+
export declare class RTETokenNode extends RTETextNode {
|
|
8
|
+
type: string;
|
|
9
|
+
token: string;
|
|
10
|
+
constructor(id: string, token: string, text: string, parentBlock: RTETextBlock, annotations?: Map<RTENodeAnnotationMapKey, RTENodeAnnotationMapValue>);
|
|
11
|
+
/**
|
|
12
|
+
* @inheritDoc
|
|
13
|
+
*/
|
|
14
|
+
static from(value: VegaRTETokenNode, parent: RTETextBlock): RTETokenNode;
|
|
15
|
+
/**
|
|
16
|
+
* Converts the token node to a JSON representation.
|
|
17
|
+
*
|
|
18
|
+
* @returns {VegaRTETokenNode} - The JSON representation of the token node.
|
|
19
|
+
*/
|
|
20
|
+
toJSON(): VegaRTETokenNode;
|
|
21
|
+
/**
|
|
22
|
+
* Determines if the token node is content editable.
|
|
23
|
+
*
|
|
24
|
+
* @returns {boolean} - Always returns false for token nodes.
|
|
25
|
+
*/
|
|
26
|
+
isContentEditable(): boolean;
|
|
27
|
+
/**
|
|
28
|
+
* Clones the token node.
|
|
29
|
+
*
|
|
30
|
+
* @returns {RTETokenNode} - The cloned token node.
|
|
31
|
+
*/
|
|
32
|
+
clone(): RTETokenNode;
|
|
33
|
+
/**
|
|
34
|
+
* Converts the token node to an HTML representation.
|
|
35
|
+
*
|
|
36
|
+
* @returns {string} - The HTML representation of the token node.
|
|
37
|
+
*/
|
|
38
|
+
toHtml(): string;
|
|
39
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import { RTEExtensionContext, VegaRTECreateElementFunction, VegaRTEToolbarRenderContext, VegaRTERenderResult, RTEDropdownListItem } from '../../interface';
|
|
2
|
+
import { VegaRTEToolbarButtonRenderer } from '../base-toolbar-button-renderer';
|
|
3
|
+
/**
|
|
4
|
+
* Renderer for the token toolbar button in the Vega Rich Text Editor.
|
|
5
|
+
*/
|
|
6
|
+
export declare class RTETokenToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
|
|
7
|
+
private tokenList;
|
|
8
|
+
private extensionContext;
|
|
9
|
+
constructor(tokenList: RTEDropdownListItem[]);
|
|
10
|
+
/**
|
|
11
|
+
* Sets the RTE extension context.
|
|
12
|
+
*
|
|
13
|
+
* @param {RTEExtensionContext} context - The context of the RTE extension.
|
|
14
|
+
*/
|
|
15
|
+
injectExtensionContext(context: RTEExtensionContext): void;
|
|
16
|
+
/**
|
|
17
|
+
* Renders the token toolbar button.
|
|
18
|
+
*
|
|
19
|
+
* @param {VegaRTECreateElementFunction} createElement Function to create elements in the rich text editor.
|
|
20
|
+
* @param {VegaRTEToolbarRenderContext} editorContext The render context for the editor.
|
|
21
|
+
* @returns {VegaRTERenderResult} Token toolbar button.
|
|
22
|
+
*/
|
|
23
|
+
render(createElement: VegaRTECreateElementFunction, editorContext: VegaRTEToolbarRenderContext): VegaRTERenderResult;
|
|
24
|
+
/**
|
|
25
|
+
* Checks if the token toolbar button is disabled.
|
|
26
|
+
*
|
|
27
|
+
* @returns {boolean} True if the button is disabled, false otherwise.
|
|
28
|
+
*/
|
|
29
|
+
protected isDisabled(): boolean;
|
|
30
|
+
/**
|
|
31
|
+
* Handles the button click event. No need this method for token button.
|
|
32
|
+
*
|
|
33
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
34
|
+
*/
|
|
35
|
+
protected handleButtonClick(editorContext: VegaRTEToolbarRenderContext): void;
|
|
36
|
+
/**
|
|
37
|
+
* Handles the token item click event from the dropdown.
|
|
38
|
+
*
|
|
39
|
+
* @param {string} itemKey - The key of the clicked token item.
|
|
40
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
41
|
+
*/
|
|
42
|
+
protected handleDropdownClick(itemKey: string, editorContext: VegaRTEToolbarRenderContext): void;
|
|
43
|
+
/**
|
|
44
|
+
* Refreshes the editor UI.
|
|
45
|
+
*/
|
|
46
|
+
private flushEditorUI;
|
|
47
|
+
}
|
|
@@ -18,6 +18,7 @@ import { RTEHtmlBlock } from './dto/blocks/html-block';
|
|
|
18
18
|
import { InlineHtmlAnnotation } from './dto/annotations/inline-html-annotation';
|
|
19
19
|
import type { RTERange } from './dto/range';
|
|
20
20
|
import type { RTENode } from './dto/nodes/node.abstract';
|
|
21
|
+
import type { VegaRTEContent } from './dto/content-state';
|
|
21
22
|
|
|
22
23
|
export type ToolbarButtonConfig = {
|
|
23
24
|
icon: string;
|
|
@@ -302,7 +303,7 @@ export type VegaRTECreateElementFunction = <
|
|
|
302
303
|
children?: VegaRTERenderNode | VegaRTERenderNode[],
|
|
303
304
|
) => VegaRTERenderResult;
|
|
304
305
|
|
|
305
|
-
export type
|
|
306
|
+
export type VegaRTEToolbarRenderContext = {
|
|
306
307
|
host: HTMLVegaRichTextEditorElement;
|
|
307
308
|
rteRange: RTERange;
|
|
308
309
|
sourceEditMode: boolean;
|
|
@@ -320,3 +321,53 @@ export type FocusNodeRangeState = {
|
|
|
320
321
|
startNode: RTENode;
|
|
321
322
|
startOffset: number;
|
|
322
323
|
};
|
|
324
|
+
|
|
325
|
+
export type RTEExtensionContext = {
|
|
326
|
+
host: HTMLVegaRichTextEditorElement;
|
|
327
|
+
/**
|
|
328
|
+
* Check if the editor is in source edit mode.
|
|
329
|
+
*
|
|
330
|
+
* @returns {boolean} - Whether the editor is in source edit mode.
|
|
331
|
+
*/
|
|
332
|
+
isSourceEditMode: () => boolean;
|
|
333
|
+
/**
|
|
334
|
+
* Get the currently selected nodes in the editor.
|
|
335
|
+
*
|
|
336
|
+
* @returns {RTENode[]} - An array of currently selected RTENode objects.
|
|
337
|
+
*/
|
|
338
|
+
getSelectedNodes: () => RTENode[];
|
|
339
|
+
/**
|
|
340
|
+
* Flush the editor value to the host. Auto focus the last node if autoFocusLastNode is true.
|
|
341
|
+
* Sometimes, the editor will lose focus after change the editor value, so we need to focus the last node again.
|
|
342
|
+
* Or apply the update cursor position action to focus the cursor to the specified position.
|
|
343
|
+
*
|
|
344
|
+
* @example flushValue(newValue, true);
|
|
345
|
+
* @example flushValue(newValue); host.value.apply(new UpdateCursorPositionAction(node, offset));
|
|
346
|
+
* @param {VegaRTEContent} value - The content value to flush.
|
|
347
|
+
* @param {boolean} autoFocusLastNode - Whether to auto-focus the last node after flushing.
|
|
348
|
+
*/
|
|
349
|
+
flushValue: (value: VegaRTEContent, autoFocusLastNode?: boolean) => void;
|
|
350
|
+
};
|
|
351
|
+
|
|
352
|
+
export type RTEToolbarButtonProps = {
|
|
353
|
+
icon?: string;
|
|
354
|
+
label?: string;
|
|
355
|
+
showArrowIcon?: boolean;
|
|
356
|
+
};
|
|
357
|
+
|
|
358
|
+
export type RTEDropdownListItem = { key: string; label: string; icon?: string };
|
|
359
|
+
|
|
360
|
+
export type RTEToolbarDropdownProps = {
|
|
361
|
+
source?: RTEDropdownListItem[];
|
|
362
|
+
selectType?: 'none' | 'single';
|
|
363
|
+
selectedSourceKey?: string;
|
|
364
|
+
maxHeight?: number;
|
|
365
|
+
alignment?: 'start' | 'center' | 'end';
|
|
366
|
+
};
|
|
367
|
+
|
|
368
|
+
export type RTELanguageContentMap = Record<string, VegaRTEContent | VegaRTEContentBlock[] | undefined>;
|
|
369
|
+
|
|
370
|
+
export type RTELanguageExtensionState = {
|
|
371
|
+
selectedLanguage: string;
|
|
372
|
+
contentMap: RTELanguageContentMap;
|
|
373
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export { VegaRTEContent } from './dto/content-state';
|
|
2
|
+
export { RTENode } from './dto/nodes/node.abstract';
|
|
3
|
+
export { RTEDecoratorNode } from './dto/nodes/decorator-node';
|
|
4
|
+
export { RTETextNode } from './dto/nodes/text-node';
|
|
5
|
+
export { RTETextBlock } from './dto/blocks/text-block';
|
|
6
|
+
export { RTEBlock } from './dto/blocks/block.abstract';
|
|
7
|
+
export { VegaRTEExtension } from './extensions/extension.abstract';
|
|
8
|
+
export { VegaRTEExtensionRenderer } from './extensions/base-extension-renderer';
|
|
9
|
+
export { VegaRTEToolbarButtonRenderer } from './extensions/base-toolbar-button-renderer';
|
|
10
|
+
export { RTETokenToolbarButtonRenderer } from './extensions/tokens/token-toolbar-button-renderer';
|
|
11
|
+
export { RTETokenNode } from './extensions/tokens/token-node';
|
|
12
|
+
export { RTETokenNodeRenderer } from './extensions/tokens/token-node-renderer';
|
|
13
|
+
export { VegaRTETokenExtension } from './extensions/tokens/token-extension';
|
|
14
|
+
export { RTELanguageToolbarButtonRenderer } from './extensions/languages/language-toolbar-button-renderer';
|
|
15
|
+
export { VegaRTELanguageExtension } from './extensions/languages/language-extension';
|
|
16
|
+
export { ModifyContentAction } from './dto/actions/modify-content-action.abstract';
|
|
17
|
+
export { AppendChildrenAction } from './dto/actions/append-child-nodes-action';
|
|
18
|
+
export { RemoveChildrenAction } from './dto/actions/remove-child-action';
|
|
19
|
+
export { InsertChildrenAfterAction } from './dto/actions/insert-children-after-block';
|
|
20
|
+
export { InsertChildrenBeforeAction } from './dto/actions/insert-children-before-block';
|
|
21
|
+
export { InsertNodeToNearestRootAction } from './dto/actions/insert-node-to-nearest-root-action';
|
|
22
|
+
export { UpdateCursorPositionAction } from './dto/actions/update-cursor-position-action';
|
|
23
|
+
export { CustomAttributeAnnotation } from './dto/annotations/custom-attribute-annotation';
|
|
24
|
+
export { CustomClassAnnotation } from './dto/annotations/custom-class-annotation';
|
|
25
|
+
export { CustomStyleAnnotation } from './dto/annotations/custom-style-annotation';
|
|
26
|
+
export { ActionHandleStrategy } from './dto/action-handle-strategies/action-handle-strategy.abstract';
|
|
27
|
+
export { RTERange } from './dto/range';
|
|
28
|
+
export { ElementToDTOStrategy } from './slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract';
|
|
29
|
+
export { VegaRTEPresetToolbarItems } from './constants/constant';
|
package/dist/types/components/vega-rich-text-editor/slimmers/controllers/extension-controller.d.ts
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { VegaSlimmer } from '../../../../vega-slimmer/vega-slimmer-core';
|
|
2
|
+
import { VegaRichTextEditor } from '../../vega-rich-text-editor';
|
|
3
|
+
import { VegaRTEExtension } from '../../extensions/extension.abstract';
|
|
4
|
+
/**
|
|
5
|
+
* Inject the editor context to the extensions.
|
|
6
|
+
*/
|
|
7
|
+
export declare class RTEExtensionController extends VegaSlimmer {
|
|
8
|
+
protected extensions: VegaRichTextEditor['extensions'];
|
|
9
|
+
protected host: HTMLVegaRichTextEditorElement;
|
|
10
|
+
protected sourceView: VegaRichTextEditor['sourceView'];
|
|
11
|
+
protected valueController: VegaRichTextEditor['valueController'];
|
|
12
|
+
protected selectionController: VegaRichTextEditor['selectionController'];
|
|
13
|
+
/**
|
|
14
|
+
* Initializes the extension context for all registered extensions.
|
|
15
|
+
* This method is called when the component is connected and whenever the extensions property changes.
|
|
16
|
+
*/
|
|
17
|
+
protected initialExtensionContext(): void;
|
|
18
|
+
/**
|
|
19
|
+
* Update extension context when extensions property changes.
|
|
20
|
+
*
|
|
21
|
+
* @param {VegaRTEExtension[]} newValue - New extensions array.
|
|
22
|
+
* @param {VegaRTEExtension[]} oldValue - Old extensions array.
|
|
23
|
+
*/
|
|
24
|
+
protected handleExtensionsChange(newValue: VegaRTEExtension[], oldValue: VegaRTEExtension[]): void;
|
|
25
|
+
/**
|
|
26
|
+
* Flush the editor value to the host. Auto focus the last node if autoFocusLastNode is true.
|
|
27
|
+
*
|
|
28
|
+
* @param {VegaRTEContent} value - The content value to flush.
|
|
29
|
+
* @param {boolean} autoFocusLastNode - Whether to auto-focus the last node after flushing.
|
|
30
|
+
*/
|
|
31
|
+
private flushValue;
|
|
32
|
+
/**
|
|
33
|
+
* Check if the editor is in source edit mode.
|
|
34
|
+
*
|
|
35
|
+
* @returns {boolean} - Whether the editor is in source edit mode.
|
|
36
|
+
*/
|
|
37
|
+
private isSourceEditMode;
|
|
38
|
+
/**
|
|
39
|
+
* Get the currently selected nodes in the editor.
|
|
40
|
+
*
|
|
41
|
+
* @returns {RTENode[]} - An array of currently selected RTENode objects.
|
|
42
|
+
*/
|
|
43
|
+
private getSelectedNodes;
|
|
44
|
+
}
|
|
@@ -1,10 +1,19 @@
|
|
|
1
1
|
import { Nullable } from '../../../../../../types/general';
|
|
2
|
-
import { RTEContentBlock, VegaRTECustomNode, VegaRTETextAnnotations, VegaRTETransformOptions } from '../../../../interface';
|
|
2
|
+
import { RTEContentBlock, VegaRTEAnnotations, VegaRTECustomNode, VegaRTETextAnnotations, VegaRTETransformOptions } from '../../../../interface';
|
|
3
3
|
import { RTEBlock } from '../../../../dto/blocks/block.abstract';
|
|
4
|
+
import { HtmlElementToAnnotationGenerateOptions } from './annotation-handler/html-element-to-annotation-generator';
|
|
4
5
|
/**
|
|
5
6
|
* Abstract class to define strategies for processing HTML elements
|
|
6
7
|
*/
|
|
7
8
|
export declare abstract class ElementToDTOStrategy {
|
|
9
|
+
/**
|
|
10
|
+
* Convert element style attributes to text annotations.
|
|
11
|
+
*
|
|
12
|
+
* @param {HTMLElement} element - Current html element.
|
|
13
|
+
* @param {HtmlElementToAnnotationGenerateOptions} options - Options for generating annotations.
|
|
14
|
+
* @returns {VegaRTEAnnotations} - Generated annotations.
|
|
15
|
+
*/
|
|
16
|
+
protected generateTextStyleAnnotations(element: HTMLElement, options?: HtmlElementToAnnotationGenerateOptions): VegaRTEAnnotations;
|
|
8
17
|
abstract canHandle(elementsArray: HTMLElement[], currentIndex: number, options: VegaRTETransformOptions): number;
|
|
9
18
|
abstract handle(elementsArray: HTMLElement[], options?: VegaRTETransformOptions, parentTextAnnotations?: VegaRTETextAnnotations): Nullable<RTEBlock | VegaRTECustomNode>;
|
|
10
19
|
abstract appendChildBlocks(currentBlock: RTEContentBlock, childBlocks: RTEContentBlock[]): void;
|