@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/cjs/{vega-skeleton-loader-controller-9c54f3aa.js → token-extension-23ccff1d.js}
RENAMED
|
@@ -6,8 +6,14 @@ const globalSlimmerRegistry = require('./global-slimmer-registry-b3bce7e0.js');
|
|
|
6
6
|
const dynamicSlimmer = require('./dynamic-slimmer-f31fdfd7.js');
|
|
7
7
|
const pageResizeObserverSlimmer = require('./page-resize-observer-slimmer-11937d6f.js');
|
|
8
8
|
const darkModeStyleController = require('./dark-mode-style-controller-ab0703e1.js');
|
|
9
|
-
const internalVegaEventManager = require('./internal-vega-event-manager-
|
|
9
|
+
const internalVegaEventManager = require('./internal-vega-event-manager-28b957c8.js');
|
|
10
10
|
const number = require('./number-4816603d.js');
|
|
11
|
+
const dtoRendererManager = require('./dto-renderer-manager-f3894490.js');
|
|
12
|
+
const codeBlock = require('./code-block-eb66d852.js');
|
|
13
|
+
const typeGuard = require('./type-guard-f12b5bae.js');
|
|
14
|
+
const baseRenderer = require('./base-renderer-0a3b62b7.js');
|
|
15
|
+
const internalIconManager = require('./internal-icon-manager-32f9ed63.js');
|
|
16
|
+
const domNodeSubjectObserverFactory = require('./dom-node-subject-observer-factory-58e3c010.js');
|
|
11
17
|
|
|
12
18
|
const VegaLoaderRuntimeMetricsPayloadDefinition = [
|
|
13
19
|
{
|
|
@@ -733,7 +739,7 @@ var __decorate$3 = (undefined && undefined.__decorate) || function (decorators,
|
|
|
733
739
|
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
734
740
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
735
741
|
};
|
|
736
|
-
var __rest = (undefined && undefined.__rest) || function (s, e) {
|
|
742
|
+
var __rest$1 = (undefined && undefined.__rest) || function (s, e) {
|
|
737
743
|
var t = {};
|
|
738
744
|
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
739
745
|
t[p] = s[p];
|
|
@@ -762,7 +768,7 @@ class VegaDialogController {
|
|
|
762
768
|
open(options) {
|
|
763
769
|
// eslint-disable-next-line no-restricted-globals
|
|
764
770
|
const dialog = document.createElement('vega-dialog');
|
|
765
|
-
const { isVerticallyCenter, isVerticallyCentered, showCloseButton, size, title, handleClose } = options, dialogProps = __rest(options, ["isVerticallyCenter", "isVerticallyCentered", "showCloseButton", "size", "title", "handleClose"]);
|
|
771
|
+
const { isVerticallyCenter, isVerticallyCentered, showCloseButton, size, title, handleClose } = options, dialogProps = __rest$1(options, ["isVerticallyCenter", "isVerticallyCentered", "showCloseButton", "size", "title", "handleClose"]);
|
|
766
772
|
dialog.id = `vega-dialog-${createPublicApiRuntimeMetricsSlimmer.generateUUID()}`;
|
|
767
773
|
dialog.dialogTitle = title;
|
|
768
774
|
dialog.modalProps = { isVerticallyCenter, isVerticallyCentered, showCloseButton, size, handleClose };
|
|
@@ -1291,11 +1297,681 @@ __decorate([
|
|
|
1291
1297
|
], VegaSkeletonLoaderController.prototype, "vegaPublicAPIRuntimeMetricsSlimmer", void 0);
|
|
1292
1298
|
const VegaSkeletonLoader = new VegaSkeletonLoaderController();
|
|
1293
1299
|
|
|
1300
|
+
/**
|
|
1301
|
+
* Abstract class for Vega Rich Text Editor extensions.
|
|
1302
|
+
*/
|
|
1303
|
+
class VegaRTEExtension {
|
|
1304
|
+
constructor() {
|
|
1305
|
+
/**
|
|
1306
|
+
* The context of the RTE extension, which may include references to the host editor and other relevant information.
|
|
1307
|
+
*/
|
|
1308
|
+
this.extensionContext = null;
|
|
1309
|
+
}
|
|
1310
|
+
/**
|
|
1311
|
+
* Registers an action handle strategy for a specific node or block class.
|
|
1312
|
+
*
|
|
1313
|
+
* @param {string} nodeOrBlockClassName - The name of the node or block class.
|
|
1314
|
+
* @param {string} actionType - The type of the action.
|
|
1315
|
+
* @param {ActionHandleStrategy<ModifyContentAction, RTENode | RTEBlock>} strategy - The strategy to register.
|
|
1316
|
+
*/
|
|
1317
|
+
static registerActionHandleStrategy(nodeOrBlockClassName, actionType, strategy) {
|
|
1318
|
+
codeBlock.ActionHandleStrategyRegistry.register(actionType, nodeOrBlockClassName, strategy);
|
|
1319
|
+
}
|
|
1320
|
+
/**
|
|
1321
|
+
* Initializes the RTE extension with the provided context.
|
|
1322
|
+
*
|
|
1323
|
+
* @param {RTEExtensionContext} context - The context of the RTE extension.
|
|
1324
|
+
*/
|
|
1325
|
+
initialExtension(context) {
|
|
1326
|
+
this.extensionContext = context;
|
|
1327
|
+
}
|
|
1328
|
+
/**
|
|
1329
|
+
* Register a node type with the extension.
|
|
1330
|
+
*
|
|
1331
|
+
* @param {string} type - The type of the node or block. The type should be a string that uniquely identifies the node or block.
|
|
1332
|
+
* @param {ClassType<RTEBlock | RTENode>} DTOClass - The DTO class to register.
|
|
1333
|
+
*/
|
|
1334
|
+
registerNode(type, DTOClass) {
|
|
1335
|
+
codeBlock.RTEDTOClassManager.registerRTEDTOClass(type, DTOClass);
|
|
1336
|
+
}
|
|
1337
|
+
/**
|
|
1338
|
+
* Register a renderer for a node type with the extension.
|
|
1339
|
+
*
|
|
1340
|
+
* @param {string} type - The type of the node or block. The type should be a string that uniquely identifies the node or block.
|
|
1341
|
+
* @param {BaseRenderer} renderer - The renderer to register.
|
|
1342
|
+
*/
|
|
1343
|
+
registerRenderer(type, renderer) {
|
|
1344
|
+
dtoRendererManager.RTEDTORendererManager.registerRTEDTORenderer(type, renderer);
|
|
1345
|
+
}
|
|
1346
|
+
/**
|
|
1347
|
+
* Register a toolbar button renderer for the extension.
|
|
1348
|
+
*
|
|
1349
|
+
* @param {string} type - The type of the toolbar button.
|
|
1350
|
+
* @param {VegaRTEToolbarButtonRenderer} renderer - The renderer to register.
|
|
1351
|
+
*/
|
|
1352
|
+
registerToolbarButtonRenderer(type, renderer) {
|
|
1353
|
+
dtoRendererManager.RTEDTORendererManager.registerRTEToolbarButtonRenderer(type, renderer);
|
|
1354
|
+
}
|
|
1355
|
+
/**
|
|
1356
|
+
* This is a helper method that utilizes RTEUtils to register common strategies.
|
|
1357
|
+
* Call the method with the class name of the block to make it support basic strategies like:
|
|
1358
|
+
* - Delete children
|
|
1359
|
+
* - Append the children
|
|
1360
|
+
* - Delete the block children content
|
|
1361
|
+
*
|
|
1362
|
+
* @param {string} blockClassName - The class name of the block to register strategies for.
|
|
1363
|
+
*/
|
|
1364
|
+
registerBlockBasicStrategies(blockClassName) {
|
|
1365
|
+
dtoRendererManager.RTEDTOActionStrategyManager.registerBlockBasicStrategies(blockClassName);
|
|
1366
|
+
}
|
|
1367
|
+
/**
|
|
1368
|
+
* Register an element to block DTO class strategy.
|
|
1369
|
+
*
|
|
1370
|
+
* @param {ElementToDTOStrategy} strategy - The strategy to register.
|
|
1371
|
+
*/
|
|
1372
|
+
registerElementToBlockDTOClassStrategy(strategy) {
|
|
1373
|
+
dtoRendererManager.ElementToDTOClassStrategyManager.registerElementToBlockStrategy(strategy);
|
|
1374
|
+
}
|
|
1375
|
+
/**
|
|
1376
|
+
* Register an element to node DTO class strategy.
|
|
1377
|
+
*
|
|
1378
|
+
* @param {ElementToDTOStrategy} strategy - The strategy to register.
|
|
1379
|
+
*/
|
|
1380
|
+
registerElementToNodeDTOClassStrategy(strategy) {
|
|
1381
|
+
dtoRendererManager.ElementToDTOClassStrategyManager.registerElementToNodeStrategy(strategy);
|
|
1382
|
+
}
|
|
1383
|
+
/**
|
|
1384
|
+
* Get the registered element to node DTO class strategies.
|
|
1385
|
+
*
|
|
1386
|
+
* @returns {ElementToDTOStrategy[]} - The registered element to node DTO class strategies.
|
|
1387
|
+
*/
|
|
1388
|
+
getElementToNodeDTOClassStrategies() {
|
|
1389
|
+
return dtoRendererManager.ElementToDTOClassStrategyManager.getElementToNodeStrategies();
|
|
1390
|
+
}
|
|
1391
|
+
}
|
|
1392
|
+
|
|
1393
|
+
/**
|
|
1394
|
+
* Base renderer for Vega Rich Text Editor.
|
|
1395
|
+
*/
|
|
1396
|
+
class VegaRTEExtensionRenderer extends baseRenderer.VegaRTEBaseRenderer {
|
|
1397
|
+
/**
|
|
1398
|
+
* Renders the given data as a DOM element.
|
|
1399
|
+
*
|
|
1400
|
+
* @param {RTEBlock | RTENode} renderData - The data to render, which can be a block or a node.
|
|
1401
|
+
* @param {RTERenderContext} rteContext - The rte editor context.
|
|
1402
|
+
* @param {VegaRTECreateElementFunction} createElement - The function to create a DOM element.
|
|
1403
|
+
* @returns {VegaRTERenderResult} - The rendered DOM element.
|
|
1404
|
+
*/
|
|
1405
|
+
render(renderData, rteContext, createElement) {
|
|
1406
|
+
const element = this.doRender(createElement, renderData, rteContext);
|
|
1407
|
+
this.fallbackRegisterRef(element, renderData);
|
|
1408
|
+
this.appendChildren(element, renderData, rteContext, createElement);
|
|
1409
|
+
return element;
|
|
1410
|
+
}
|
|
1411
|
+
/**
|
|
1412
|
+
* Register the reference of the element in the rendering registry.
|
|
1413
|
+
*
|
|
1414
|
+
* @param {RTEBlock | RTENode} renderData - The data to register with the element.
|
|
1415
|
+
* @returns {VegaRTEUseRef} - The function to register the element.
|
|
1416
|
+
*/
|
|
1417
|
+
useRef(renderData) {
|
|
1418
|
+
renderData[VegaRTEExtensionRenderer.REGISTER_REF_FLAG] = true;
|
|
1419
|
+
return function (element) {
|
|
1420
|
+
if (element) {
|
|
1421
|
+
codeBlock.stateEntityRenderingRegistry.register(element, renderData);
|
|
1422
|
+
}
|
|
1423
|
+
};
|
|
1424
|
+
}
|
|
1425
|
+
/**
|
|
1426
|
+
* Auto render the block children if the block element is not exist
|
|
1427
|
+
*
|
|
1428
|
+
* @param {VegaRTERenderResult} parentElement - The parent element to append children to.
|
|
1429
|
+
* @param {RTEBlock | RTENode} renderData - The data to render children for.
|
|
1430
|
+
* @param {RTERenderContext} rteContext - The render context.
|
|
1431
|
+
* @param {VegaRTECreateElementFunction} createElement - The function to create a DOM element.
|
|
1432
|
+
*/
|
|
1433
|
+
appendChildren(parentElement, renderData, rteContext, createElement) {
|
|
1434
|
+
if (Array.isArray(renderData['children']) &&
|
|
1435
|
+
renderData['children'].length &&
|
|
1436
|
+
!parentElement['$children$']) {
|
|
1437
|
+
parentElement['$children$'] = renderData['children']
|
|
1438
|
+
.map((child) => {
|
|
1439
|
+
return this.renderChildren(child, rteContext, createElement);
|
|
1440
|
+
})
|
|
1441
|
+
.filter(typeGuard.isNonNullable);
|
|
1442
|
+
}
|
|
1443
|
+
}
|
|
1444
|
+
/**
|
|
1445
|
+
* Render the children node.
|
|
1446
|
+
*
|
|
1447
|
+
* @param {RTENode | RTEBlock} renderData - The node to render children for.
|
|
1448
|
+
* @param {RTERenderContext} rteContext - The render context.
|
|
1449
|
+
* @param {VegaRTECreateElementFunction} createElement - The function to create a DOM element.
|
|
1450
|
+
* @returns {Nullable<VegaRTERenderResult>} - The rendered DOM element.
|
|
1451
|
+
*/
|
|
1452
|
+
renderChildren(renderData, rteContext, createElement) {
|
|
1453
|
+
const renderer = dtoRendererManager.RTEDTORendererManager.getRTERenderer(renderData.type);
|
|
1454
|
+
if (renderer) {
|
|
1455
|
+
return renderer.render(renderData, rteContext, createElement);
|
|
1456
|
+
}
|
|
1457
|
+
}
|
|
1458
|
+
/**
|
|
1459
|
+
* Fallback register reference for the element.
|
|
1460
|
+
*
|
|
1461
|
+
* @param {VegaRTERenderResult} element - The rendered DOM element.
|
|
1462
|
+
* @param {RTEBlock | RTENode} renderData - The data to register with the element.
|
|
1463
|
+
*/
|
|
1464
|
+
fallbackRegisterRef(element, renderData) {
|
|
1465
|
+
if (!renderData[VegaRTEExtensionRenderer.REGISTER_REF_FLAG] && element['$attrs$']) {
|
|
1466
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
1467
|
+
element['$attrs$']['ref'] = this.useRef(renderData);
|
|
1468
|
+
}
|
|
1469
|
+
}
|
|
1470
|
+
}
|
|
1471
|
+
VegaRTEExtensionRenderer.REGISTER_REF_FLAG = '__registeredRef__';
|
|
1472
|
+
|
|
1473
|
+
/**
|
|
1474
|
+
* Base class for rendering extension toolbar button in the rich text editor.
|
|
1475
|
+
* The renderer provides common functionalities for rendering toolbar buttons, including:
|
|
1476
|
+
* - Rendering a button with an icon, label, and optional arrow icon.
|
|
1477
|
+
* - Rendering a dropdown with a list of items.
|
|
1478
|
+
* - Rendering dropdown items.
|
|
1479
|
+
* - Rendering template for dropdown list.
|
|
1480
|
+
* - Determining if the button should be disabled based on the editor context.
|
|
1481
|
+
* - Handling button and dropdown click events.
|
|
1482
|
+
* Override the methods to customize the rendering and behavior of the button.
|
|
1483
|
+
*/
|
|
1484
|
+
class VegaRTEToolbarButtonRenderer {
|
|
1485
|
+
/**
|
|
1486
|
+
* Checks if the button should be hidden.
|
|
1487
|
+
*
|
|
1488
|
+
* @param {VegaRTEToolbarRenderContext} editorContext The render context for the editor.
|
|
1489
|
+
* @returns {boolean} True if the button is hidden, false otherwise.
|
|
1490
|
+
*/
|
|
1491
|
+
isHidden(editorContext) {
|
|
1492
|
+
return editorContext.sourceEditMode;
|
|
1493
|
+
}
|
|
1494
|
+
/**
|
|
1495
|
+
* Renders a dropdown component with the specified properties and children.
|
|
1496
|
+
*
|
|
1497
|
+
* @param {VegaRTECreateElementFunction} h - Create element function.
|
|
1498
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
1499
|
+
* @param {RTEToolbarDropdownProps} dropdownProps - The properties for the dropdown.
|
|
1500
|
+
* @param {VegaRTERenderResult[]} children - The children elements for the dropdown.
|
|
1501
|
+
* @returns {VegaRTERenderResult} - The render result for the dropdown.
|
|
1502
|
+
*/
|
|
1503
|
+
renderDropdown(h, editorContext, dropdownProps, children) {
|
|
1504
|
+
return h('vega-dropdown', Object.assign({ trigger: 'click', searchable: false,
|
|
1505
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
1506
|
+
ref: (el) => {
|
|
1507
|
+
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, domNodeSubjectObserverFactory.VegaDropdownClick, (input) => this.handleDropdownClick(input.detail, editorContext));
|
|
1508
|
+
} }, dropdownProps), children);
|
|
1509
|
+
}
|
|
1510
|
+
/**
|
|
1511
|
+
* Renders the dropdown list template.
|
|
1512
|
+
*
|
|
1513
|
+
* @param {VegaRTECreateElementFunction} h - Create element function.
|
|
1514
|
+
* @param {RTEDropdownListItem[]} itemList - The list of dropdown items.
|
|
1515
|
+
* @returns {VegaRTERenderResult} - The render result for the dropdown list.
|
|
1516
|
+
*/
|
|
1517
|
+
renderDropdownListTemplate(h, itemList) {
|
|
1518
|
+
return h('div', {
|
|
1519
|
+
slot: 'items',
|
|
1520
|
+
onMouseDown: this.preventDefault,
|
|
1521
|
+
}, itemList.map((item) => {
|
|
1522
|
+
return this.renderDropdownItem(h, item);
|
|
1523
|
+
}));
|
|
1524
|
+
}
|
|
1525
|
+
/**
|
|
1526
|
+
* Renders a dropdown item for the toolbar button.
|
|
1527
|
+
*
|
|
1528
|
+
* @param {VegaRTECreateElementFunction} h - Create element function.
|
|
1529
|
+
* @param {RTEDropdownListItem} item - The dropdown item.
|
|
1530
|
+
* @returns {VegaRTERenderResult} - The render result for the dropdown item.
|
|
1531
|
+
*/
|
|
1532
|
+
renderDropdownItem(h, item) {
|
|
1533
|
+
return h('vega-dropdown-item', {
|
|
1534
|
+
key: item.key,
|
|
1535
|
+
itemKey: item.key,
|
|
1536
|
+
label: item.label,
|
|
1537
|
+
prefixIcon: item.icon,
|
|
1538
|
+
});
|
|
1539
|
+
}
|
|
1540
|
+
/**
|
|
1541
|
+
* Renders a common toolbar button with optional icon, label, and arrow icon.
|
|
1542
|
+
*
|
|
1543
|
+
* @param {VegaRTECreateElementFunction} h - Create element function.
|
|
1544
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
1545
|
+
* @param {RTEToolbarButtonProps} buttonProps - The properties for the button.
|
|
1546
|
+
* @returns {VegaRTERenderResult} - The render result for the button.
|
|
1547
|
+
*/
|
|
1548
|
+
renderButton(h, editorContext, buttonProps) {
|
|
1549
|
+
const { icon, label, showArrowIcon } = buttonProps;
|
|
1550
|
+
const isDisabled = this.isDisabled(editorContext);
|
|
1551
|
+
return h('vega-rich-text-editor-toolbar-button', {
|
|
1552
|
+
disabled: isDisabled,
|
|
1553
|
+
icon: icon,
|
|
1554
|
+
hidden: this.isHidden(editorContext),
|
|
1555
|
+
selected: this.isSelected(editorContext),
|
|
1556
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
1557
|
+
ref: (el) => {
|
|
1558
|
+
domNodeSubjectObserverFactory.DomNodeSubjectObserverFactory.addUniqueObserverToNode(el, domNodeSubjectObserverFactory.VegaClick, () => this.handleButtonClick(editorContext));
|
|
1559
|
+
},
|
|
1560
|
+
onMouseDown: this.preventDefault,
|
|
1561
|
+
}, [
|
|
1562
|
+
this.renderButtonLabel(h, editorContext, label),
|
|
1563
|
+
showArrowIcon
|
|
1564
|
+
? h('vega-icon', {
|
|
1565
|
+
size: 'size-8',
|
|
1566
|
+
color: isDisabled ? 'text-disabled' : 'text-secondary',
|
|
1567
|
+
style: { marginLeft: '8px' },
|
|
1568
|
+
icon: internalIconManager.VegaInternalIconManager.getIconKey('chevron-down'),
|
|
1569
|
+
})
|
|
1570
|
+
: null,
|
|
1571
|
+
].filter(typeGuard.isNonNullable));
|
|
1572
|
+
}
|
|
1573
|
+
/**
|
|
1574
|
+
* Renders the button label.
|
|
1575
|
+
*
|
|
1576
|
+
* @param {VegaRTECreateElementFunction} h - Create element function.
|
|
1577
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
1578
|
+
* @param {Nullable<string>} label - The button label if exist.
|
|
1579
|
+
* @returns {Nullable<VegaRTERenderResult>} - The render result for the button.
|
|
1580
|
+
*/
|
|
1581
|
+
renderButtonLabel(h, editorContext, label) {
|
|
1582
|
+
if (label) {
|
|
1583
|
+
const isDisabled = this.isDisabled(editorContext);
|
|
1584
|
+
return h('vega-font', {
|
|
1585
|
+
variant: 'font-field-label-sm',
|
|
1586
|
+
color: isDisabled ? 'text-disabled' : 'text-primary',
|
|
1587
|
+
}, label);
|
|
1588
|
+
}
|
|
1589
|
+
return null;
|
|
1590
|
+
}
|
|
1591
|
+
/**
|
|
1592
|
+
* Determines if the button should be disabled based on the editor context.
|
|
1593
|
+
*
|
|
1594
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
1595
|
+
* @returns {boolean} - True if the button should be disabled, false otherwise.
|
|
1596
|
+
*/
|
|
1597
|
+
isDisabled(editorContext) {
|
|
1598
|
+
return editorContext.host.disabled;
|
|
1599
|
+
}
|
|
1600
|
+
/**
|
|
1601
|
+
* Checks if the button should be selected.
|
|
1602
|
+
*
|
|
1603
|
+
* @param {VegaRTEToolbarRenderContext} _editorContext The render context for the editor.
|
|
1604
|
+
* @returns {boolean} True if the button is selected, false otherwise.
|
|
1605
|
+
*/
|
|
1606
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1607
|
+
isSelected(_editorContext) {
|
|
1608
|
+
return false;
|
|
1609
|
+
}
|
|
1610
|
+
/**
|
|
1611
|
+
* Prevents the default action of the click event. This is to avoid losing focus from the editor when the button is clicked.
|
|
1612
|
+
*
|
|
1613
|
+
* @param {MouseEvent} e The mouse event to prevent default action for.
|
|
1614
|
+
*/
|
|
1615
|
+
preventDefault(e) {
|
|
1616
|
+
e.preventDefault();
|
|
1617
|
+
}
|
|
1618
|
+
}
|
|
1619
|
+
|
|
1620
|
+
/**
|
|
1621
|
+
* Action to insert a token node at a specified range in the Rich Text Editor.
|
|
1622
|
+
*
|
|
1623
|
+
* @example block.apply(new InsertTokenNodeAction(rteRange, tokenNode));
|
|
1624
|
+
*/
|
|
1625
|
+
class InsertTokenNodeAction extends codeBlock.ModifyContentAction {
|
|
1626
|
+
constructor(rteRange, token) {
|
|
1627
|
+
super();
|
|
1628
|
+
this.type = 'INSERT_TOKEN_NODE';
|
|
1629
|
+
this.rteRange = null;
|
|
1630
|
+
this.actionHandleResult = false;
|
|
1631
|
+
this.rteRange = rteRange;
|
|
1632
|
+
this.token = token;
|
|
1633
|
+
}
|
|
1634
|
+
}
|
|
1635
|
+
|
|
1636
|
+
/**
|
|
1637
|
+
* Renderer for the token toolbar button in the Vega Rich Text Editor.
|
|
1638
|
+
*/
|
|
1639
|
+
class RTETokenToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
|
|
1640
|
+
constructor(tokenList) {
|
|
1641
|
+
super();
|
|
1642
|
+
this.tokenList = [];
|
|
1643
|
+
this.extensionContext = null;
|
|
1644
|
+
this.tokenList = tokenList;
|
|
1645
|
+
}
|
|
1646
|
+
/**
|
|
1647
|
+
* Sets the RTE extension context.
|
|
1648
|
+
*
|
|
1649
|
+
* @param {RTEExtensionContext} context - The context of the RTE extension.
|
|
1650
|
+
*/
|
|
1651
|
+
injectExtensionContext(context) {
|
|
1652
|
+
this.extensionContext = context;
|
|
1653
|
+
}
|
|
1654
|
+
/**
|
|
1655
|
+
* Renders the token toolbar button.
|
|
1656
|
+
*
|
|
1657
|
+
* @param {VegaRTECreateElementFunction} createElement Function to create elements in the rich text editor.
|
|
1658
|
+
* @param {VegaRTEToolbarRenderContext} editorContext The render context for the editor.
|
|
1659
|
+
* @returns {VegaRTERenderResult} Token toolbar button.
|
|
1660
|
+
*/
|
|
1661
|
+
render(createElement, editorContext) {
|
|
1662
|
+
return this.renderDropdown(createElement, editorContext, {}, [
|
|
1663
|
+
this.renderButton(createElement, editorContext, { label: 'Tokens', showArrowIcon: true }),
|
|
1664
|
+
this.renderDropdownListTemplate(createElement, this.tokenList),
|
|
1665
|
+
]);
|
|
1666
|
+
}
|
|
1667
|
+
/**
|
|
1668
|
+
* Checks if the token toolbar button is disabled.
|
|
1669
|
+
*
|
|
1670
|
+
* @returns {boolean} True if the button is disabled, false otherwise.
|
|
1671
|
+
*/
|
|
1672
|
+
isDisabled() {
|
|
1673
|
+
if (this.extensionContext) {
|
|
1674
|
+
const { host, getSelectedNodes } = this.extensionContext;
|
|
1675
|
+
const [startNode] = getSelectedNodes();
|
|
1676
|
+
return startNode
|
|
1677
|
+
? host.disabled ||
|
|
1678
|
+
!codeBlock.ActionHandleStrategyRegistry.canHandle('INSERT_TOKEN_NODE', startNode.parent)
|
|
1679
|
+
: host.disabled;
|
|
1680
|
+
}
|
|
1681
|
+
return false;
|
|
1682
|
+
}
|
|
1683
|
+
/* istanbul ignore next */
|
|
1684
|
+
/**
|
|
1685
|
+
* Handles the button click event. No need this method for token button.
|
|
1686
|
+
*
|
|
1687
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
1688
|
+
*/
|
|
1689
|
+
handleButtonClick(editorContext) {
|
|
1690
|
+
}
|
|
1691
|
+
/**
|
|
1692
|
+
* Handles the token item click event from the dropdown.
|
|
1693
|
+
*
|
|
1694
|
+
* @param {string} itemKey - The key of the clicked token item.
|
|
1695
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
1696
|
+
*/
|
|
1697
|
+
handleDropdownClick(itemKey, editorContext) {
|
|
1698
|
+
const token = this.tokenList.find((t) => t.key === itemKey);
|
|
1699
|
+
const { rteRange } = editorContext;
|
|
1700
|
+
const { startNode } = rteRange;
|
|
1701
|
+
if (startNode && startNode.parent) {
|
|
1702
|
+
const action = new InsertTokenNodeAction(rteRange, token);
|
|
1703
|
+
startNode.parent.apply(action);
|
|
1704
|
+
if (action.actionHandleResult) {
|
|
1705
|
+
this.flushEditorUI();
|
|
1706
|
+
}
|
|
1707
|
+
}
|
|
1708
|
+
}
|
|
1709
|
+
/**
|
|
1710
|
+
* Refreshes the editor UI.
|
|
1711
|
+
*/
|
|
1712
|
+
flushEditorUI() {
|
|
1713
|
+
if (this.extensionContext) {
|
|
1714
|
+
const { host, flushValue } = this.extensionContext;
|
|
1715
|
+
flushValue(host.value);
|
|
1716
|
+
}
|
|
1717
|
+
}
|
|
1718
|
+
}
|
|
1719
|
+
|
|
1720
|
+
/**
|
|
1721
|
+
* Token node for the Vega Rich Text Editor.
|
|
1722
|
+
*/
|
|
1723
|
+
class RTETokenNode extends codeBlock.RTETextNode {
|
|
1724
|
+
constructor(id, token, text, parentBlock, annotations) {
|
|
1725
|
+
super(id, text, parentBlock, annotations);
|
|
1726
|
+
this.type = 'token';
|
|
1727
|
+
this.token = token;
|
|
1728
|
+
this.text = text;
|
|
1729
|
+
}
|
|
1730
|
+
/**
|
|
1731
|
+
* @inheritDoc
|
|
1732
|
+
*/
|
|
1733
|
+
static from(value, parent) {
|
|
1734
|
+
const node = new RTETokenNode(value.id, value.token, value.text, parent);
|
|
1735
|
+
if (value.annotations) {
|
|
1736
|
+
node.annotationMap = this.generateTextAnnotationMap(value.annotations);
|
|
1737
|
+
}
|
|
1738
|
+
return node;
|
|
1739
|
+
}
|
|
1740
|
+
/**
|
|
1741
|
+
* Converts the token node to a JSON representation.
|
|
1742
|
+
*
|
|
1743
|
+
* @returns {VegaRTETokenNode} - The JSON representation of the token node.
|
|
1744
|
+
*/
|
|
1745
|
+
toJSON() {
|
|
1746
|
+
const json = super.toJSON();
|
|
1747
|
+
return Object.assign({ id: this.id, type: this.type, text: this.text, token: this.token }, (json.annotations ? { annotations: json.annotations } : {}));
|
|
1748
|
+
}
|
|
1749
|
+
/**
|
|
1750
|
+
* Determines if the token node is content editable.
|
|
1751
|
+
*
|
|
1752
|
+
* @returns {boolean} - Always returns false for token nodes.
|
|
1753
|
+
*/
|
|
1754
|
+
isContentEditable() {
|
|
1755
|
+
return false;
|
|
1756
|
+
}
|
|
1757
|
+
/**
|
|
1758
|
+
* Clones the token node.
|
|
1759
|
+
*
|
|
1760
|
+
* @returns {RTETokenNode} - The cloned token node.
|
|
1761
|
+
*/
|
|
1762
|
+
clone() {
|
|
1763
|
+
return new RTETokenNode(this.id, this.token, this.text, this.parent, this.annotationMap);
|
|
1764
|
+
}
|
|
1765
|
+
/**
|
|
1766
|
+
* Converts the token node to an HTML representation.
|
|
1767
|
+
*
|
|
1768
|
+
* @returns {string} - The HTML representation of the token node.
|
|
1769
|
+
*/
|
|
1770
|
+
toHtml() {
|
|
1771
|
+
return `<span class="token" contenteditable="false" template-token-key="${this.token}" token-key="${this.token}" ${super.generateAttributeString()}>${this.text}</span>`;
|
|
1772
|
+
}
|
|
1773
|
+
}
|
|
1774
|
+
|
|
1775
|
+
/**
|
|
1776
|
+
* Token node renderer for the rich text editor.
|
|
1777
|
+
*/
|
|
1778
|
+
class RTETokenNodeRenderer extends VegaRTEExtensionRenderer {
|
|
1779
|
+
constructor() {
|
|
1780
|
+
super(...arguments);
|
|
1781
|
+
this.extensionContext = null;
|
|
1782
|
+
}
|
|
1783
|
+
/**
|
|
1784
|
+
* Renders the token node as a DOM element.
|
|
1785
|
+
*
|
|
1786
|
+
* @param {VegaRTECreateElementFunction} createElement - The function to create a DOM element.
|
|
1787
|
+
* @param {RTETokenNode} node - The token node to render.
|
|
1788
|
+
* @param {RTERenderContext} editorContent - The editor content context.
|
|
1789
|
+
* @returns {VegaRTERenderResult} - The rendered DOM element.
|
|
1790
|
+
*/
|
|
1791
|
+
doRender(createElement, node, editorContent) {
|
|
1792
|
+
const { id, token } = node;
|
|
1793
|
+
return createElement('span', {
|
|
1794
|
+
'key': id,
|
|
1795
|
+
'template-token-key': token,
|
|
1796
|
+
'token-key': token,
|
|
1797
|
+
'contenteditable': 'false',
|
|
1798
|
+
'style': this.getStyle(node),
|
|
1799
|
+
'class': `token ${node.getClasses()}`,
|
|
1800
|
+
'ref': this.useRef(node),
|
|
1801
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
1802
|
+
'onClick': (event) => {
|
|
1803
|
+
event.preventDefault();
|
|
1804
|
+
if (editorContent && editorContent.editable !== false) {
|
|
1805
|
+
this.handleTokenElementClick(event, node);
|
|
1806
|
+
}
|
|
1807
|
+
},
|
|
1808
|
+
}, node.text);
|
|
1809
|
+
}
|
|
1810
|
+
/**
|
|
1811
|
+
* Sets the RTE extension context.
|
|
1812
|
+
*
|
|
1813
|
+
* @param {RTEExtensionContext} context - The context of the RTE extension.
|
|
1814
|
+
*/
|
|
1815
|
+
injectExtensionContext(context) {
|
|
1816
|
+
this.extensionContext = context;
|
|
1817
|
+
}
|
|
1818
|
+
/**
|
|
1819
|
+
* Get the style for the token element.
|
|
1820
|
+
*
|
|
1821
|
+
* @param {RTETokenNode} node - The token node.
|
|
1822
|
+
* @returns {Record<string, string>} The style object for the token element.
|
|
1823
|
+
*/
|
|
1824
|
+
getStyle(node) {
|
|
1825
|
+
return Object.assign(Object.assign({}, node.getStyles()), { backgroundColor: 'var(--v-bg-status-info, #CDD1D3)', padding: '0 2px', margin: '0 1px' });
|
|
1826
|
+
}
|
|
1827
|
+
/**
|
|
1828
|
+
* Handle the click event on the token element.
|
|
1829
|
+
*
|
|
1830
|
+
* @param {MouseEvent} event - The click event.
|
|
1831
|
+
* @param {RTETokenNode} node - The token node that was clicked.
|
|
1832
|
+
*/
|
|
1833
|
+
handleTokenElementClick(event, node) {
|
|
1834
|
+
event.preventDefault();
|
|
1835
|
+
if (this.extensionContext) {
|
|
1836
|
+
this.extensionContext.host.value.apply(new dtoRendererManager.UpdateCursorPositionAction(node, undefined, true));
|
|
1837
|
+
}
|
|
1838
|
+
}
|
|
1839
|
+
}
|
|
1840
|
+
|
|
1841
|
+
/**
|
|
1842
|
+
* Insert a new children to the nearest position of the parent container
|
|
1843
|
+
*
|
|
1844
|
+
* @example parent.apply(new InsertNodeToNearestRoot(rteRange, nodeToBeInserted))
|
|
1845
|
+
*/
|
|
1846
|
+
class InsertNodeToNearestRootAction extends codeBlock.ModifyContentAction {
|
|
1847
|
+
constructor(rteRange, nodeToBeInserted) {
|
|
1848
|
+
super();
|
|
1849
|
+
this.type = codeBlock.ModifyContentActionType.INSERT_NODE_TO_NEAREST_ROOT;
|
|
1850
|
+
this.rteRange = rteRange;
|
|
1851
|
+
this.nodeToBeInserted = nodeToBeInserted;
|
|
1852
|
+
}
|
|
1853
|
+
}
|
|
1854
|
+
|
|
1855
|
+
/**
|
|
1856
|
+
* Strategy to handle the insertion of a token node into the nearest root block.
|
|
1857
|
+
*/
|
|
1858
|
+
class InsertTokenNodeStrategy extends codeBlock.ActionHandleStrategy {
|
|
1859
|
+
/**
|
|
1860
|
+
* @inheritDoc
|
|
1861
|
+
*/
|
|
1862
|
+
handleAction(action, block) {
|
|
1863
|
+
const { rteRange, token } = action;
|
|
1864
|
+
if (rteRange && rteRange.startNode) {
|
|
1865
|
+
const tokenNode = new RTETokenNode(createPublicApiRuntimeMetricsSlimmer.generateUUID(), token.key, token.label, block);
|
|
1866
|
+
block.apply(new InsertNodeToNearestRootAction(rteRange, tokenNode));
|
|
1867
|
+
action.actionHandleResult = true;
|
|
1868
|
+
}
|
|
1869
|
+
}
|
|
1870
|
+
}
|
|
1871
|
+
|
|
1872
|
+
var __rest = (undefined && undefined.__rest) || function (s, e) {
|
|
1873
|
+
var t = {};
|
|
1874
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
1875
|
+
t[p] = s[p];
|
|
1876
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
1877
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
1878
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
1879
|
+
t[p[i]] = s[p[i]];
|
|
1880
|
+
}
|
|
1881
|
+
return t;
|
|
1882
|
+
};
|
|
1883
|
+
/**
|
|
1884
|
+
* Strategy to convert <span class="token" token-key="...">...</span> to a token node
|
|
1885
|
+
*/
|
|
1886
|
+
class SpanToTokenNodeStrategy extends dtoRendererManager.ElementToDTOStrategy {
|
|
1887
|
+
/**
|
|
1888
|
+
* @inheritDoc
|
|
1889
|
+
*/
|
|
1890
|
+
canHandle(elementsArray, currentIndex) {
|
|
1891
|
+
const element = elementsArray[currentIndex];
|
|
1892
|
+
if (element.nodeName === 'SPAN' &&
|
|
1893
|
+
element.classList.contains('token') &&
|
|
1894
|
+
element.hasAttribute('token-key')) {
|
|
1895
|
+
return 1;
|
|
1896
|
+
}
|
|
1897
|
+
return 0;
|
|
1898
|
+
}
|
|
1899
|
+
/**
|
|
1900
|
+
* @inheritDoc
|
|
1901
|
+
*/
|
|
1902
|
+
handle(elementsArray) {
|
|
1903
|
+
const element = elementsArray[0];
|
|
1904
|
+
const tokenKey = element.getAttribute('token-key');
|
|
1905
|
+
const text = element.textContent;
|
|
1906
|
+
const annotations = this.generateTextStyleAnnotations(element);
|
|
1907
|
+
// Exclude customAttribute and customClass from annotations
|
|
1908
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
1909
|
+
const restAnnotations = __rest(annotations, ["customAttribute", "customClass"]);
|
|
1910
|
+
return {
|
|
1911
|
+
id: createPublicApiRuntimeMetricsSlimmer.generateUUID(),
|
|
1912
|
+
type: 'token',
|
|
1913
|
+
token: tokenKey,
|
|
1914
|
+
text,
|
|
1915
|
+
annotations: Object.assign({}, restAnnotations),
|
|
1916
|
+
};
|
|
1917
|
+
}
|
|
1918
|
+
/**
|
|
1919
|
+
* @inheritDoc
|
|
1920
|
+
*/
|
|
1921
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
1922
|
+
appendChildBlocks() { }
|
|
1923
|
+
/**
|
|
1924
|
+
* @inheritDoc
|
|
1925
|
+
*/
|
|
1926
|
+
shouldProceedToElementChildren() {
|
|
1927
|
+
return false;
|
|
1928
|
+
}
|
|
1929
|
+
}
|
|
1930
|
+
|
|
1931
|
+
const spanToTokenNodeStrategy = new SpanToTokenNodeStrategy();
|
|
1932
|
+
/**
|
|
1933
|
+
* Vega Rich Text Editor Token Extension
|
|
1934
|
+
*/
|
|
1935
|
+
class VegaRTETokenExtension extends VegaRTEExtension {
|
|
1936
|
+
constructor(tokenList = []) {
|
|
1937
|
+
super();
|
|
1938
|
+
this.tokenRenderer = new RTETokenNodeRenderer();
|
|
1939
|
+
this.registerNode('token', RTETokenNode);
|
|
1940
|
+
this.registerRenderer('token', this.tokenRenderer);
|
|
1941
|
+
this.tokenToolbarButtonRenderer = new RTETokenToolbarButtonRenderer(tokenList);
|
|
1942
|
+
this.registerToolbarButtonRenderer('token', this.tokenToolbarButtonRenderer);
|
|
1943
|
+
this.registerElementToNodeDTOClassStrategy(spanToTokenNodeStrategy);
|
|
1944
|
+
}
|
|
1945
|
+
/**
|
|
1946
|
+
* @inheritDoc
|
|
1947
|
+
*/
|
|
1948
|
+
initialExtension(context) {
|
|
1949
|
+
super.initialExtension(context);
|
|
1950
|
+
this.tokenRenderer.injectExtensionContext(context);
|
|
1951
|
+
if (this.tokenToolbarButtonRenderer) {
|
|
1952
|
+
this.tokenToolbarButtonRenderer.injectExtensionContext(context);
|
|
1953
|
+
}
|
|
1954
|
+
}
|
|
1955
|
+
}
|
|
1956
|
+
(() => {
|
|
1957
|
+
const insertTokenNodeStrategy = new InsertTokenNodeStrategy();
|
|
1958
|
+
VegaRTEExtension.registerActionHandleStrategy(codeBlock.RTETextBlock.name, 'INSERT_TOKEN_NODE', insertTokenNodeStrategy);
|
|
1959
|
+
VegaRTEExtension.registerActionHandleStrategy(dtoRendererManager.RTEListItemBlock.name, 'INSERT_TOKEN_NODE', insertTokenNodeStrategy);
|
|
1960
|
+
})();
|
|
1961
|
+
|
|
1962
|
+
exports.InsertNodeToNearestRootAction = InsertNodeToNearestRootAction;
|
|
1294
1963
|
exports.InternalVegaZIndexManager = InternalVegaZIndexManager$1;
|
|
1964
|
+
exports.RTETokenNode = RTETokenNode;
|
|
1965
|
+
exports.RTETokenNodeRenderer = RTETokenNodeRenderer;
|
|
1966
|
+
exports.RTETokenToolbarButtonRenderer = RTETokenToolbarButtonRenderer;
|
|
1295
1967
|
exports.VegaDialog = VegaDialog;
|
|
1296
1968
|
exports.VegaEventManager = VegaEventManager$1;
|
|
1297
1969
|
exports.VegaLoader = VegaLoader;
|
|
1298
1970
|
exports.VegaNotify = VegaNotify;
|
|
1971
|
+
exports.VegaRTEExtension = VegaRTEExtension;
|
|
1972
|
+
exports.VegaRTEExtensionRenderer = VegaRTEExtensionRenderer;
|
|
1973
|
+
exports.VegaRTETokenExtension = VegaRTETokenExtension;
|
|
1974
|
+
exports.VegaRTEToolbarButtonRenderer = VegaRTEToolbarButtonRenderer;
|
|
1299
1975
|
exports.VegaSkeletonLoader = VegaSkeletonLoader;
|
|
1300
1976
|
exports.VegaThemeManager = VegaThemeManager;
|
|
1301
1977
|
exports.VegaZIndexManager = VegaZIndexManager$1;
|