@globalpayments/vega 2.60.0 → 2.62.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-8a3536ba.js → app-globals-8f5fa42a.js} +23 -15
- package/dist/cjs/base-renderer-0a3b62b7.js +9 -0
- package/dist/cjs/{child-nodes-event-prevent-slimmer-5df43771.js → child-nodes-event-prevent-slimmer-4e96270e.js} +1 -1
- package/dist/cjs/{code-block-7d901dfc.js → code-block-eb66d852.js} +74 -23
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-d61e5129.js → component-value-history-controller-slimmer.abstract-62cdf04c.js} +17 -183
- package/dist/cjs/{design-token-52f9da81.js → design-token-76bb47bd.js} +1 -1
- package/dist/cjs/{dom-node-subject-factory-bad99695.js → dom-node-subject-observer-factory-58e3c010.js} +45 -0
- package/dist/cjs/{content-state-2096aa5a.js → dto-renderer-manager-f3894490.js} +1648 -1502
- package/dist/cjs/{element-appender-slimmer-2a3e1e51.js → element-appender-slimmer-e8dac628.js} +8 -9
- package/dist/cjs/{event-emit-slimmer-efc70b94.js → event-emit-slimmer-428d8802.js} +3 -4
- package/dist/cjs/{form-field-controller-slimmer-772d1892.js → form-field-controller-slimmer-cc6e53a4.js} +5 -6
- package/dist/cjs/{image-annotation-action-8c1ecc99.js → image-annotation-action-a628ec9b.js} +24 -81
- package/dist/cjs/{index-10199ee8.js → index-5505e8dd.js} +4 -4
- package/dist/cjs/index.cjs.js +50 -24
- package/dist/cjs/{icon-manager-9072356d.js → internal-icon-manager-32f9ed63.js} +51 -0
- package/dist/cjs/{internal-vega-event-manager-83065493.js → internal-vega-event-manager-28b957c8.js} +73 -73
- package/dist/cjs/language-extension-20a1dba5.js +207 -0
- package/dist/cjs/loader.cjs.js +15 -13
- package/dist/cjs/{public-rules-c711fae3.js → public-rules-5d0f3a5f.js} +6 -6
- package/dist/cjs/range-cfc45f9e.js +178 -0
- package/dist/cjs/{responsive-format-facade-3ab3b18c.js → responsive-format-facade-7e933525.js} +4 -3
- package/dist/cjs/{rich-text-editor-required-rule-4d92437f.js → rich-text-editor-required-rule-72170c10.js} +2 -2
- package/dist/cjs/{string-input-formatter-slimmer-941eaec2.js → string-input-formatter-slimmer-f6c7a255.js} +5 -5
- package/dist/cjs/{style-formatter-dcb443fb.js → style-formatter-702df81e.js} +1 -1
- package/dist/cjs/{sub-state-notify-slimmer-943eb7cc.js → sub-state-notify-slimmer-bb64fcfc.js} +5 -5
- package/dist/cjs/{sub-state-observer-slimmer-0788232a.js → sub-state-observer-slimmer-84175d61.js} +5 -5
- package/dist/cjs/{vega-skeleton-loader-controller-b1971f43.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 +8 -9
- package/dist/cjs/vega-button-circle.cjs.entry.js +16 -16
- package/dist/cjs/vega-button-group_2.cjs.entry.js +12 -13
- package/dist/cjs/vega-button-link.cjs.entry.js +7 -8
- package/dist/cjs/vega-button.cjs.entry.js +15 -15
- package/dist/cjs/vega-calendar_4.cjs.entry.js +204 -102
- 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 +13 -14
- package/dist/cjs/vega-chip.cjs.entry.js +17 -17
- package/dist/cjs/vega-code-block.cjs.entry.js +17 -18
- package/dist/cjs/vega-color-picker.cjs.entry.js +7 -8
- package/dist/cjs/vega-combo-box.cjs.entry.js +15 -16
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +350 -143
- 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 +33 -33
- 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 +16 -18
- package/dist/cjs/vega-flag-icon.cjs.entry.js +13 -13
- package/dist/cjs/vega-flex.cjs.entry.js +13 -12
- package/dist/cjs/vega-font.cjs.entry.js +12 -11
- package/dist/cjs/vega-form.cjs.entry.js +14 -15
- 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 +19 -19
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +15 -17
- package/dist/cjs/vega-input-numeric.cjs.entry.js +11 -12
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +21 -22
- package/dist/cjs/vega-input-range.cjs.entry.js +12 -13
- package/dist/cjs/vega-input-select.cjs.entry.js +28 -29
- package/dist/cjs/vega-input.cjs.entry.js +14 -15
- package/dist/cjs/{vega-internal-event-id-ae6e2c13.js → vega-internal-event-id-9647aaf8.js} +2 -0
- package/dist/cjs/vega-item-toggle.cjs.entry.js +5 -6
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +34 -35
- 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 +9 -10
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -5
- package/dist/cjs/vega-pagination.cjs.entry.js +19 -19
- package/dist/cjs/vega-popover_2.cjs.entry.js +19 -19
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +5 -6
- package/dist/cjs/vega-radio_2.cjs.entry.js +14 -15
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +54 -49
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +388 -262
- package/dist/cjs/vega-segment-control.cjs.entry.js +5 -6
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +21 -21
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +14 -15
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +25 -26
- 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 +140 -122
- package/dist/cjs/vega-textarea.cjs.entry.js +10 -11
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +25 -25
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +8 -9
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +12 -12
- package/dist/cjs/vega.cjs.js +15 -13
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-date-block-renderer.abstract.js +82 -0
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.js +26 -21
- package/dist/collection/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.js +47 -38
- package/dist/collection/components/vega-calendar/vega-calendar.js +83 -3
- package/dist/collection/components/vega-date-picker/slimmers/controllers/vega-date-picker-month-year-change-event-controller.js +139 -0
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.js +21 -1
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +48 -0
- package/dist/collection/components/vega-date-picker/vega-date-picker.js +59 -1
- package/dist/collection/components/vega-input/vega-input.css +4 -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-table/slimmers/controllers/vega-table-children-controller.js +31 -16
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-renderer.js +8 -4
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-row-renderer.js +4 -1
- package/dist/collection/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-cell-state-controller.js +0 -16
- package/dist/collection/components/vega-table/vega-table-cell/slimmers/controllers/{vega-table-row-state-controller.js → vega-table-row-state-subscriber.js} +15 -14
- package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +3 -3
- package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.js +4 -0
- package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.css +1 -1
- package/dist/collection/components/vega-table/vega-table-expand-row/vega-table-expand-row.js +20 -0
- package/dist/collection/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-state-controller.js +0 -7
- package/dist/collection/components/vega-table/vega-table-row/vega-table-row.css +1 -1
- package/dist/collection/components/vega-table/vega-table-row/vega-table-row.js +61 -1
- package/dist/collection/constants/ui.js +2 -0
- 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/event-manager/event-id/component-event-id-map.js +3 -3
- package/dist/collection/helpers/event-manager/event-id/vega-event-id.js +2 -0
- package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
- 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/utils/spec-utils.js +28 -0
- package/dist/esm/{app-globals-c7699395.js → app-globals-aaff0b25.js} +13 -5
- package/dist/esm/base-renderer-101f6d04.js +7 -0
- package/dist/esm/{child-nodes-event-prevent-slimmer-6b5b31f5.js → child-nodes-event-prevent-slimmer-7fe3dc57.js} +1 -1
- package/dist/esm/{code-block-055cae13.js → code-block-68300b47.js} +68 -18
- package/dist/esm/{component-value-history-controller-slimmer.abstract-7a64c05a.js → component-value-history-controller-slimmer.abstract-ac2f1bfd.js} +14 -180
- package/dist/esm/{design-token-e1821e4a.js → design-token-1a36307e.js} +1 -1
- package/dist/esm/{dom-node-subject-factory-202655e7.js → dom-node-subject-observer-factory-c7bc3035.js} +43 -1
- package/dist/esm/{content-state-460f6254.js → dto-renderer-manager-af66bbd9.js} +1644 -1503
- package/dist/esm/{element-appender-slimmer-4260c020.js → element-appender-slimmer-fe68ec2d.js} +4 -5
- package/dist/esm/{event-emit-slimmer-40973ec2.js → event-emit-slimmer-3922d816.js} +2 -3
- package/dist/esm/{form-field-controller-slimmer-47820eaa.js → form-field-controller-slimmer-f7e8845b.js} +3 -4
- package/dist/esm/{image-annotation-action-95cc9118.js → image-annotation-action-f61c2693.js} +20 -76
- package/dist/esm/{index-18a340fb.js → index-7fe93427.js} +2 -2
- package/dist/esm/index.js +14 -11
- package/dist/esm/{icon-manager-2ee1c619.js → internal-icon-manager-f0486245.js} +51 -1
- package/dist/esm/{internal-vega-event-manager-526f8ed1.js → internal-vega-event-manager-cb06e987.js} +3 -3
- package/dist/esm/language-extension-1ada2a9d.js +204 -0
- package/dist/esm/loader.js +15 -13
- package/dist/esm/{public-rules-71e1883d.js → public-rules-9f62069a.js} +6 -6
- package/dist/esm/range-c2eeb794.js +176 -0
- package/dist/esm/{responsive-format-facade-dbeffcd6.js → responsive-format-facade-5711c77d.js} +4 -3
- package/dist/esm/{rich-text-editor-required-rule-6cfdcaaf.js → rich-text-editor-required-rule-de738309.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-6d99bb4f.js → string-input-formatter-slimmer-69117deb.js} +3 -3
- package/dist/esm/{style-formatter-41ca4df2.js → style-formatter-2479dc61.js} +1 -1
- package/dist/esm/{sub-state-notify-slimmer-b3524c09.js → sub-state-notify-slimmer-4252a90e.js} +2 -2
- package/dist/esm/{sub-state-observer-slimmer-c823d69c.js → sub-state-observer-slimmer-baa8853a.js} +2 -2
- package/dist/esm/{vega-skeleton-loader-controller-38864fcd.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 +4 -5
- package/dist/esm/vega-button-circle.entry.js +14 -14
- package/dist/esm/vega-button-group_2.entry.js +7 -8
- package/dist/esm/vega-button-link.entry.js +5 -6
- package/dist/esm/vega-button.entry.js +13 -13
- package/dist/esm/vega-calendar_4.entry.js +190 -88
- 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 +7 -8
- package/dist/esm/vega-chip.entry.js +14 -14
- package/dist/esm/vega-code-block.entry.js +9 -10
- package/dist/esm/vega-color-picker.entry.js +6 -7
- package/dist/esm/vega-combo-box.entry.js +7 -8
- package/dist/esm/vega-date-picker_2.entry.js +341 -134
- 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 +16 -16
- 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 +7 -9
- package/dist/esm/vega-flag-icon.entry.js +12 -12
- package/dist/esm/vega-flex.entry.js +13 -12
- package/dist/esm/vega-font.entry.js +12 -11
- package/dist/esm/vega-form.entry.js +8 -9
- 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 +13 -13
- package/dist/esm/vega-input-credit-card.entry.js +8 -10
- package/dist/esm/vega-input-numeric.entry.js +8 -9
- package/dist/esm/vega-input-phone-number.entry.js +13 -14
- package/dist/esm/vega-input-range.entry.js +8 -9
- package/dist/esm/vega-input-select.entry.js +15 -16
- package/dist/esm/vega-input.entry.js +9 -10
- package/dist/esm/{vega-internal-event-id-b7c865de.js → vega-internal-event-id-5a143cd2.js} +2 -1
- package/dist/esm/vega-item-toggle.entry.js +3 -4
- package/dist/esm/vega-left-nav_5.entry.js +15 -16
- 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 +4 -5
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +2 -3
- package/dist/esm/vega-pagination.entry.js +11 -11
- package/dist/esm/vega-popover_2.entry.js +15 -15
- package/dist/esm/vega-progress-tracker.entry.js +3 -4
- package/dist/esm/vega-radio_2.entry.js +7 -8
- package/dist/esm/vega-rich-text-content.entry.js +25 -20
- package/dist/esm/vega-rich-text-editor_4.entry.js +343 -217
- package/dist/esm/vega-segment-control.entry.js +4 -5
- package/dist/esm/vega-selection-chip_2.entry.js +16 -16
- package/dist/esm/vega-selection-tile_2.entry.js +8 -9
- package/dist/esm/vega-sidenav_3.entry.js +17 -18
- 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 +94 -76
- package/dist/esm/vega-textarea.entry.js +7 -8
- package/dist/esm/vega-time-picker_2.entry.js +15 -15
- package/dist/esm/vega-toggle-switch.entry.js +7 -8
- package/dist/esm/vega-tooltip_2.entry.js +12 -12
- package/dist/esm/vega.js +15 -13
- package/dist/types/components/vega-calendar/slimmers/common/renderers/vega-calendar-date-block-renderer.abstract.d.ts +58 -0
- package/dist/types/components/vega-calendar/slimmers/day-view/renderers/vega-calendar-view-with-time-renderer.d.ts +10 -9
- package/dist/types/components/vega-calendar/slimmers/month-view/renderers/vega-calendar-month-view-renderer.d.ts +14 -8
- package/dist/types/components/vega-calendar/vega-calendar.d.ts +22 -2
- package/dist/types/components/vega-date-picker/slimmers/controllers/vega-date-picker-month-year-change-event-controller.d.ts +46 -0
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.d.ts +12 -0
- package/dist/types/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.d.ts +16 -0
- package/dist/types/components/vega-date-picker/types.d.ts +7 -0
- package/dist/types/components/vega-date-picker/vega-date-picker.d.ts +17 -1
- 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-table/interface.d.ts +1 -0
- package/dist/types/components/vega-table/slimmers/controllers/vega-table-children-controller.d.ts +13 -1
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-renderer.d.ts +1 -0
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-row-renderer.d.ts +1 -0
- package/dist/types/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-cell-state-controller.d.ts +0 -1
- package/dist/types/components/vega-table/vega-table-cell/slimmers/controllers/{vega-table-row-state-controller.d.ts → vega-table-row-state-subscriber.d.ts} +3 -6
- package/dist/types/components/vega-table/vega-table-cell/vega-table-cell.d.ts +2 -2
- package/dist/types/components/vega-table/vega-table-expand-row/slimmers/renderers/vega-table-expand-row-renderer.d.ts +1 -0
- package/dist/types/components/vega-table/vega-table-expand-row/vega-table-expand-row.d.ts +6 -0
- package/dist/types/components/vega-table/vega-table-row/slimmers/controllers/vega-table-row-state-controller.d.ts +0 -1
- package/dist/types/components/vega-table/vega-table-row/vega-table-row.d.ts +16 -4
- package/dist/types/components.d.ts +86 -3
- package/dist/types/constants/ui.d.ts +1 -1
- package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +2 -0
- package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
- package/dist/types/helpers/public-api.d.ts +1 -1
- package/dist/types/types/components.type.d.ts +2 -0
- package/dist/types/types/public-api.d.ts +11 -0
- package/dist/types/utils/spec-utils.d.ts +7 -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-62898294.entry.js → p-0b91bb73.entry.js} +1 -1
- package/dist/vega/{p-b5bef48a.js → p-0e954b9b.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-c883bce1.entry.js → p-1c08077c.entry.js} +1 -1
- package/dist/vega/{p-bbb96a13.js → p-1da54ff3.js} +1 -1
- package/dist/vega/p-20a180e4.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-327cd6ec.entry.js +1 -0
- package/dist/vega/p-39c185a5.js +1 -0
- 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-d35243c8.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-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-200ba358.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-b56e2c89.entry.js → p-9125ba84.entry.js} +1 -1
- package/dist/vega/p-92469fa1.entry.js +1 -0
- package/dist/vega/p-9ab3bb6f.entry.js +1 -0
- package/dist/vega/p-9ca0bdcc.js +1 -0
- package/dist/vega/p-a1362aa4.entry.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-ac5c5221.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-dd6a4ea6.entry.js → p-baafe7d9.entry.js} +1 -1
- package/dist/vega/{p-68eae19d.entry.js → p-bb51e020.entry.js} +1 -1
- package/dist/vega/{p-9773c913.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-1bd516c5.js → p-bdd9ef3b.js} +1 -1
- package/dist/vega/{p-e4fbd2b7.entry.js → p-c167fa41.entry.js} +1 -1
- package/dist/vega/{p-0dcec258.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-d2790023.entry.js +13 -0
- package/dist/vega/p-d3bbfb1b.js +1 -0
- package/dist/vega/{p-f1a2658b.entry.js → p-d9617358.entry.js} +1 -1
- package/dist/vega/p-d982babe.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-e365aba9.entry.js +1 -0
- package/dist/vega/p-ebfc5739.entry.js +1 -0
- package/dist/vega/p-f1436035.js +1 -0
- package/dist/vega/p-fe2cb3a1.entry.js +1 -0
- 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-df6e6df0.js +0 -45
- package/dist/cjs/internal-icon-manager-f8677abb.js +0 -55
- package/dist/esm/dom-node-subject-observer-factory-999e21e3.js +0 -43
- package/dist/esm/internal-icon-manager-7eac52c8.js +0 -53
- package/dist/vega/p-09ddae74.entry.js +0 -1
- package/dist/vega/p-0c247128.entry.js +0 -1
- package/dist/vega/p-0cd89fb6.js +0 -1
- package/dist/vega/p-10063072.entry.js +0 -1
- package/dist/vega/p-1152850b.entry.js +0 -1
- package/dist/vega/p-165054fb.entry.js +0 -1
- package/dist/vega/p-1652cfc6.entry.js +0 -1
- package/dist/vega/p-16c6c22f.entry.js +0 -1
- package/dist/vega/p-17d517c8.entry.js +0 -1
- package/dist/vega/p-1852ca80.entry.js +0 -1
- package/dist/vega/p-1b222c94.entry.js +0 -1
- package/dist/vega/p-1b91a882.js +0 -1
- package/dist/vega/p-1cabeb33.js +0 -1
- package/dist/vega/p-1f8c46c4.entry.js +0 -1
- package/dist/vega/p-1fdf0f74.entry.js +0 -1
- package/dist/vega/p-20b8b626.entry.js +0 -1
- package/dist/vega/p-21873037.js +0 -1
- package/dist/vega/p-27b5f69c.entry.js +0 -1
- package/dist/vega/p-2e4bc8aa.entry.js +0 -1
- package/dist/vega/p-334e31a3.entry.js +0 -1
- package/dist/vega/p-394dfa02.entry.js +0 -1
- package/dist/vega/p-433ea113.entry.js +0 -1
- package/dist/vega/p-446d0317.entry.js +0 -1
- package/dist/vega/p-4474bc63.js +0 -1
- package/dist/vega/p-460bbd22.entry.js +0 -1
- package/dist/vega/p-46973cf9.entry.js +0 -1
- package/dist/vega/p-4a368e1e.js +0 -1
- package/dist/vega/p-4b7edf72.entry.js +0 -1
- package/dist/vega/p-4fc18f2f.entry.js +0 -1
- package/dist/vega/p-52c1dde9.entry.js +0 -1
- package/dist/vega/p-594ecdab.js +0 -1
- package/dist/vega/p-606d1f7c.entry.js +0 -1
- package/dist/vega/p-61d1f3cb.entry.js +0 -1
- package/dist/vega/p-636f7b17.entry.js +0 -1
- package/dist/vega/p-69119f58.entry.js +0 -1
- package/dist/vega/p-6b71d5d1.entry.js +0 -1
- package/dist/vega/p-70939752.entry.js +0 -1
- package/dist/vega/p-741a8b61.entry.js +0 -1
- package/dist/vega/p-7a3b142b.js +0 -1
- package/dist/vega/p-7e4fdccb.js +0 -1
- package/dist/vega/p-847dbae4.entry.js +0 -1
- package/dist/vega/p-850a6305.entry.js +0 -1
- package/dist/vega/p-8539e05e.js +0 -1
- package/dist/vega/p-8c46e116.js +0 -1
- package/dist/vega/p-95ac7c7e.js +0 -1
- package/dist/vega/p-95c30aed.entry.js +0 -1
- package/dist/vega/p-a433fef4.js +0 -1
- package/dist/vega/p-a7baad6d.entry.js +0 -1
- package/dist/vega/p-ae21e5f5.entry.js +0 -1
- package/dist/vega/p-af2de012.entry.js +0 -1
- package/dist/vega/p-af464251.js +0 -1
- package/dist/vega/p-b4be8573.entry.js +0 -1
- package/dist/vega/p-b5822a21.js +0 -1
- package/dist/vega/p-b8f50c69.entry.js +0 -1
- package/dist/vega/p-b9821a7f.entry.js +0 -1
- package/dist/vega/p-bca1f8f9.js +0 -1
- package/dist/vega/p-c81cb852.entry.js +0 -1
- package/dist/vega/p-cc2ceaa8.entry.js +0 -1
- package/dist/vega/p-d1ebec08.js +0 -1
- package/dist/vega/p-d45f79ce.entry.js +0 -1
- package/dist/vega/p-dbe5daa7.js +0 -1
- package/dist/vega/p-dc5026e7.entry.js +0 -1
- package/dist/vega/p-e3bb1cce.entry.js +0 -13
- package/dist/vega/p-e45f8a67.entry.js +0 -1
- package/dist/vega/p-e9ad8223.entry.js +0 -1
- package/dist/vega/p-eaa43f31.entry.js +0 -1
- package/dist/vega/p-ebbaa112.entry.js +0 -1
- package/dist/vega/p-ed50233f.entry.js +0 -1
- package/dist/vega/p-f08a4adf.js +0 -1
- package/dist/vega/p-f47de801.entry.js +0 -1
- package/dist/vega/p-fc4c5265.entry.js +0 -1
- package/dist/vega/p-fe6ea6cf.entry.js +0 -1
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { RTETextNode } from '../../dto/nodes/text-node';
|
|
2
|
+
/**
|
|
3
|
+
* Token node for the Vega Rich Text Editor.
|
|
4
|
+
*/
|
|
5
|
+
export class RTETokenNode extends RTETextNode {
|
|
6
|
+
constructor(id, token, text, parentBlock, annotations) {
|
|
7
|
+
super(id, text, parentBlock, annotations);
|
|
8
|
+
this.type = 'token';
|
|
9
|
+
this.token = token;
|
|
10
|
+
this.text = text;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* @inheritDoc
|
|
14
|
+
*/
|
|
15
|
+
static from(value, parent) {
|
|
16
|
+
const node = new RTETokenNode(value.id, value.token, value.text, parent);
|
|
17
|
+
if (value.annotations) {
|
|
18
|
+
node.annotationMap = this.generateTextAnnotationMap(value.annotations);
|
|
19
|
+
}
|
|
20
|
+
return node;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Converts the token node to a JSON representation.
|
|
24
|
+
*
|
|
25
|
+
* @returns {VegaRTETokenNode} - The JSON representation of the token node.
|
|
26
|
+
*/
|
|
27
|
+
toJSON() {
|
|
28
|
+
const json = super.toJSON();
|
|
29
|
+
return Object.assign({ id: this.id, type: this.type, text: this.text, token: this.token }, (json.annotations ? { annotations: json.annotations } : {}));
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Determines if the token node is content editable.
|
|
33
|
+
*
|
|
34
|
+
* @returns {boolean} - Always returns false for token nodes.
|
|
35
|
+
*/
|
|
36
|
+
isContentEditable() {
|
|
37
|
+
return false;
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Clones the token node.
|
|
41
|
+
*
|
|
42
|
+
* @returns {RTETokenNode} - The cloned token node.
|
|
43
|
+
*/
|
|
44
|
+
clone() {
|
|
45
|
+
return new RTETokenNode(this.id, this.token, this.text, this.parent, this.annotationMap);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Converts the token node to an HTML representation.
|
|
49
|
+
*
|
|
50
|
+
* @returns {string} - The HTML representation of the token node.
|
|
51
|
+
*/
|
|
52
|
+
toHtml() {
|
|
53
|
+
return `<span class="token" contenteditable="false" template-token-key="${this.token}" token-key="${this.token}" ${super.generateAttributeString()}>${this.text}</span>`;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { methodPlaceholder } from 'vega-slimmer/core';
|
|
2
|
+
import { VegaRTEToolbarButtonRenderer } from '../base-toolbar-button-renderer';
|
|
3
|
+
import { ActionHandleStrategyRegistry } from '../../dto/action-handle-strategies/action-handle-strategy-registry';
|
|
4
|
+
import { InsertTokenNodeAction } from './insert-token-node-action';
|
|
5
|
+
/**
|
|
6
|
+
* Renderer for the token toolbar button in the Vega Rich Text Editor.
|
|
7
|
+
*/
|
|
8
|
+
export class RTETokenToolbarButtonRenderer extends VegaRTEToolbarButtonRenderer {
|
|
9
|
+
constructor(tokenList) {
|
|
10
|
+
super();
|
|
11
|
+
this.tokenList = [];
|
|
12
|
+
this.extensionContext = null;
|
|
13
|
+
this.tokenList = tokenList;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Sets the RTE extension context.
|
|
17
|
+
*
|
|
18
|
+
* @param {RTEExtensionContext} context - The context of the RTE extension.
|
|
19
|
+
*/
|
|
20
|
+
injectExtensionContext(context) {
|
|
21
|
+
this.extensionContext = context;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Renders the token toolbar button.
|
|
25
|
+
*
|
|
26
|
+
* @param {VegaRTECreateElementFunction} createElement Function to create elements in the rich text editor.
|
|
27
|
+
* @param {VegaRTEToolbarRenderContext} editorContext The render context for the editor.
|
|
28
|
+
* @returns {VegaRTERenderResult} Token toolbar button.
|
|
29
|
+
*/
|
|
30
|
+
render(createElement, editorContext) {
|
|
31
|
+
return this.renderDropdown(createElement, editorContext, {}, [
|
|
32
|
+
this.renderButton(createElement, editorContext, { label: 'Tokens', showArrowIcon: true }),
|
|
33
|
+
this.renderDropdownListTemplate(createElement, this.tokenList),
|
|
34
|
+
]);
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Checks if the token toolbar button is disabled.
|
|
38
|
+
*
|
|
39
|
+
* @returns {boolean} True if the button is disabled, false otherwise.
|
|
40
|
+
*/
|
|
41
|
+
isDisabled() {
|
|
42
|
+
if (this.extensionContext) {
|
|
43
|
+
const { host, getSelectedNodes } = this.extensionContext;
|
|
44
|
+
const [startNode] = getSelectedNodes();
|
|
45
|
+
return startNode
|
|
46
|
+
? host.disabled ||
|
|
47
|
+
!ActionHandleStrategyRegistry.canHandle('INSERT_TOKEN_NODE', startNode.parent)
|
|
48
|
+
: host.disabled;
|
|
49
|
+
}
|
|
50
|
+
return false;
|
|
51
|
+
}
|
|
52
|
+
/* istanbul ignore next */
|
|
53
|
+
/**
|
|
54
|
+
* Handles the button click event. No need this method for token button.
|
|
55
|
+
*
|
|
56
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
57
|
+
*/
|
|
58
|
+
handleButtonClick(editorContext) {
|
|
59
|
+
methodPlaceholder(editorContext);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Handles the token item click event from the dropdown.
|
|
63
|
+
*
|
|
64
|
+
* @param {string} itemKey - The key of the clicked token item.
|
|
65
|
+
* @param {VegaRTEToolbarRenderContext} editorContext - The render context for the editor.
|
|
66
|
+
*/
|
|
67
|
+
handleDropdownClick(itemKey, editorContext) {
|
|
68
|
+
const token = this.tokenList.find((t) => t.key === itemKey);
|
|
69
|
+
const { rteRange } = editorContext;
|
|
70
|
+
const { startNode } = rteRange;
|
|
71
|
+
if (startNode && startNode.parent) {
|
|
72
|
+
const action = new InsertTokenNodeAction(rteRange, token);
|
|
73
|
+
startNode.parent.apply(action);
|
|
74
|
+
if (action.actionHandleResult) {
|
|
75
|
+
this.flushEditorUI();
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
/**
|
|
80
|
+
* Refreshes the editor UI.
|
|
81
|
+
*/
|
|
82
|
+
flushEditorUI() {
|
|
83
|
+
if (this.extensionContext) {
|
|
84
|
+
const { host, flushValue } = this.extensionContext;
|
|
85
|
+
flushValue(host.value);
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/* istanbul ignore file */
|
|
2
|
+
export { VegaRTEContent } from './dto/content-state';
|
|
3
|
+
// block and node
|
|
4
|
+
export { RTENode } from './dto/nodes/node.abstract';
|
|
5
|
+
export { RTEDecoratorNode } from './dto/nodes/decorator-node';
|
|
6
|
+
export { RTETextNode } from './dto/nodes/text-node';
|
|
7
|
+
export { RTETextBlock } from './dto/blocks/text-block';
|
|
8
|
+
export { RTEBlock } from './dto/blocks/block.abstract';
|
|
9
|
+
// extensions
|
|
10
|
+
export { VegaRTEExtension } from './extensions/extension.abstract';
|
|
11
|
+
export { VegaRTEExtensionRenderer } from './extensions/base-extension-renderer';
|
|
12
|
+
export { VegaRTEToolbarButtonRenderer } from './extensions/base-toolbar-button-renderer';
|
|
13
|
+
export { RTETokenToolbarButtonRenderer } from './extensions/tokens/token-toolbar-button-renderer';
|
|
14
|
+
export { RTETokenNode } from './extensions/tokens/token-node';
|
|
15
|
+
export { RTETokenNodeRenderer } from './extensions/tokens/token-node-renderer';
|
|
16
|
+
export { VegaRTETokenExtension } from './extensions/tokens/token-extension';
|
|
17
|
+
export { RTELanguageToolbarButtonRenderer } from './extensions/languages/language-toolbar-button-renderer';
|
|
18
|
+
export { VegaRTELanguageExtension } from './extensions/languages/language-extension';
|
|
19
|
+
// actions
|
|
20
|
+
export { ModifyContentAction } from './dto/actions/modify-content-action.abstract';
|
|
21
|
+
export { AppendChildrenAction } from './dto/actions/append-child-nodes-action';
|
|
22
|
+
export { RemoveChildrenAction } from './dto/actions/remove-child-action';
|
|
23
|
+
export { InsertChildrenAfterAction } from './dto/actions/insert-children-after-block';
|
|
24
|
+
export { InsertChildrenBeforeAction } from './dto/actions/insert-children-before-block';
|
|
25
|
+
export { InsertNodeToNearestRootAction } from './dto/actions/insert-node-to-nearest-root-action';
|
|
26
|
+
export { UpdateCursorPositionAction } from './dto/actions/update-cursor-position-action';
|
|
27
|
+
// annotations
|
|
28
|
+
export { CustomAttributeAnnotation } from './dto/annotations/custom-attribute-annotation';
|
|
29
|
+
export { CustomClassAnnotation } from './dto/annotations/custom-class-annotation';
|
|
30
|
+
export { CustomStyleAnnotation } from './dto/annotations/custom-style-annotation';
|
|
31
|
+
// modify content strategies
|
|
32
|
+
export { ActionHandleStrategy } from './dto/action-handle-strategies/action-handle-strategy.abstract';
|
|
33
|
+
// rteRange
|
|
34
|
+
export { RTERange } from './dto/range';
|
|
35
|
+
// element to DTO strategy
|
|
36
|
+
export { ElementToDTOStrategy } from './slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract';
|
|
37
|
+
// preset toolbar buttons
|
|
38
|
+
export { VegaRTEPresetToolbarItems } from './constants/constant';
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { MapToComponentField, MapToComponentMethod, VegaSlimmer } from 'vega-slimmer/core';
|
|
8
|
+
import { isArrayEqual } from '../../../../utils/array';
|
|
9
|
+
/**
|
|
10
|
+
* Inject the editor context to the extensions.
|
|
11
|
+
*/
|
|
12
|
+
export class RTEExtensionController extends VegaSlimmer {
|
|
13
|
+
constructor() {
|
|
14
|
+
super(...arguments);
|
|
15
|
+
/**
|
|
16
|
+
* Flush the editor value to the host. Auto focus the last node if autoFocusLastNode is true.
|
|
17
|
+
*
|
|
18
|
+
* @param {VegaRTEContent} value - The content value to flush.
|
|
19
|
+
* @param {boolean} autoFocusLastNode - Whether to auto-focus the last node after flushing.
|
|
20
|
+
*/
|
|
21
|
+
this.flushValue = (value, autoFocusLastNode = false) => {
|
|
22
|
+
if (this.host && value) {
|
|
23
|
+
void this.valueController.flushChanges(value, true);
|
|
24
|
+
if (autoFocusLastNode) {
|
|
25
|
+
const lastNode = this.host.value.getLastNode();
|
|
26
|
+
if (lastNode) {
|
|
27
|
+
this.selectionController.enqueueSelectionRangeFutureState(lastNode, lastNode.getRangeEndOffset());
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
};
|
|
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
|
+
this.isSourceEditMode = () => {
|
|
38
|
+
return this.sourceView;
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Get the currently selected nodes in the editor.
|
|
42
|
+
*
|
|
43
|
+
* @returns {RTENode[]} - An array of currently selected RTENode objects.
|
|
44
|
+
*/
|
|
45
|
+
this.getSelectedNodes = () => {
|
|
46
|
+
return this.selectionController.getSelectedNodes();
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Initializes the extension context for all registered extensions.
|
|
51
|
+
* This method is called when the component is connected and whenever the extensions property changes.
|
|
52
|
+
*/
|
|
53
|
+
initialExtensionContext() {
|
|
54
|
+
if (this.extensions && this.host) {
|
|
55
|
+
for (const extension of this.extensions) {
|
|
56
|
+
extension.initialExtension({
|
|
57
|
+
host: this.host,
|
|
58
|
+
flushValue: this.flushValue,
|
|
59
|
+
isSourceEditMode: this.isSourceEditMode,
|
|
60
|
+
getSelectedNodes: this.getSelectedNodes,
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Update extension context when extensions property changes.
|
|
67
|
+
*
|
|
68
|
+
* @param {VegaRTEExtension[]} newValue - New extensions array.
|
|
69
|
+
* @param {VegaRTEExtension[]} oldValue - Old extensions array.
|
|
70
|
+
*/
|
|
71
|
+
handleExtensionsChange(newValue, oldValue) {
|
|
72
|
+
if (!isArrayEqual(newValue, oldValue, false, (a, b) => a === b ? 0 : 1)) {
|
|
73
|
+
this.initialExtensionContext();
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
__decorate([
|
|
78
|
+
MapToComponentField()
|
|
79
|
+
], RTEExtensionController.prototype, "extensions", void 0);
|
|
80
|
+
__decorate([
|
|
81
|
+
MapToComponentField()
|
|
82
|
+
], RTEExtensionController.prototype, "host", void 0);
|
|
83
|
+
__decorate([
|
|
84
|
+
MapToComponentField()
|
|
85
|
+
], RTEExtensionController.prototype, "sourceView", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
MapToComponentField()
|
|
88
|
+
], RTEExtensionController.prototype, "valueController", void 0);
|
|
89
|
+
__decorate([
|
|
90
|
+
MapToComponentField()
|
|
91
|
+
], RTEExtensionController.prototype, "selectionController", void 0);
|
|
92
|
+
__decorate([
|
|
93
|
+
MapToComponentMethod('connectedCallback')
|
|
94
|
+
], RTEExtensionController.prototype, "initialExtensionContext", null);
|
|
95
|
+
__decorate([
|
|
96
|
+
MapToComponentMethod('watchExtensions')
|
|
97
|
+
], RTEExtensionController.prototype, "handleExtensionsChange", null);
|
package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/focus-controller.js
CHANGED
|
@@ -23,13 +23,15 @@ export class FocusController extends VegaSlimmer {
|
|
|
23
23
|
this.doFocusOnLastTextNode = async (lastBlock) => {
|
|
24
24
|
const lastNode = lastBlock.getLastNode();
|
|
25
25
|
const dom = stateEntityRenderingRegistry.getDOMByEntity(lastNode);
|
|
26
|
-
if (
|
|
27
|
-
|
|
26
|
+
if (dom) {
|
|
27
|
+
if (!lastNode.isContentEditable()) {
|
|
28
|
+
this.setCaretRangeToNodeEnd(dom.parentElement, lastNode.getRangeEndOffset());
|
|
29
|
+
}
|
|
30
|
+
else {
|
|
31
|
+
this.setCaretRangeToNodeEnd(dom.firstChild, dom.firstChild.nodeValue.length);
|
|
32
|
+
}
|
|
33
|
+
await this.vegaRichTextEditorRenderer.getRichTextContentRef().vegaFocus();
|
|
28
34
|
}
|
|
29
|
-
else {
|
|
30
|
-
this.setCaretRangeToNodeEnd(dom.firstChild, dom.firstChild.nodeValue.length);
|
|
31
|
-
}
|
|
32
|
-
await this.vegaRichTextEditorRenderer.getRichTextContentRef().vegaFocus();
|
|
33
35
|
};
|
|
34
36
|
}
|
|
35
37
|
/**
|
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
import { isNonNullable } from '../../../../../../types/type-guard';
|
|
2
|
+
import htmlElementToAnnotationGenerator from './annotation-handler/html-element-to-annotation-generator';
|
|
3
|
+
import { RTETextNode } from '../../../../dto/nodes/text-node';
|
|
2
4
|
/**
|
|
3
5
|
* Abstract class to define strategies for processing HTML elements
|
|
4
6
|
*/
|
|
5
7
|
export class ElementToDTOStrategy {
|
|
8
|
+
/**
|
|
9
|
+
* Convert element style attributes to text annotations.
|
|
10
|
+
*
|
|
11
|
+
* @param {HTMLElement} element - Current html element.
|
|
12
|
+
* @param {HtmlElementToAnnotationGenerateOptions} options - Options for generating annotations.
|
|
13
|
+
* @returns {VegaRTEAnnotations} - Generated annotations.
|
|
14
|
+
*/
|
|
15
|
+
generateTextStyleAnnotations(element, options) {
|
|
16
|
+
return htmlElementToAnnotationGenerator.generate(RTETextNode, element, options);
|
|
17
|
+
}
|
|
6
18
|
}
|
|
7
19
|
/**
|
|
8
20
|
* Class to represent the output of a strategy applied to HTML elements
|
|
@@ -179,7 +179,12 @@ export class SelectionController extends AutoRunWhenReRenderTaskQueueSlimmer {
|
|
|
179
179
|
this.enqueueSelectionRangeFutureState(startNode, ZERO_WIDTH_SPACE.length);
|
|
180
180
|
}
|
|
181
181
|
else {
|
|
182
|
-
|
|
182
|
+
// Don't need update the range if the selected node is a non-editable text node, such as token node.
|
|
183
|
+
if (!(startNode === endNode &&
|
|
184
|
+
startNode instanceof RTETextNode &&
|
|
185
|
+
!startNode.isContentEditable())) {
|
|
186
|
+
this.enqueueSelectionRangeFutureState(startNode, startOffset, endNode, endOffset);
|
|
187
|
+
}
|
|
183
188
|
}
|
|
184
189
|
this.selectionState = null;
|
|
185
190
|
}
|
|
@@ -190,10 +195,11 @@ export class SelectionController extends AutoRunWhenReRenderTaskQueueSlimmer {
|
|
|
190
195
|
handleSelectionChange() {
|
|
191
196
|
if (this.disabled || this.sourceView)
|
|
192
197
|
return;
|
|
198
|
+
// Clear previous selection when handling new selection always
|
|
199
|
+
this.clearSelectionMap();
|
|
193
200
|
const selection = this.getSelection();
|
|
194
201
|
if (!selection || selection.rangeCount === 0)
|
|
195
202
|
return;
|
|
196
|
-
this.clearSelectionMap();
|
|
197
203
|
this.saveSelection();
|
|
198
204
|
const range = selection.getRangeAt(0);
|
|
199
205
|
const commonAncestor = range.commonAncestorContainer;
|
|
@@ -312,7 +318,7 @@ export class SelectionController extends AutoRunWhenReRenderTaskQueueSlimmer {
|
|
|
312
318
|
startNode,
|
|
313
319
|
endNode,
|
|
314
320
|
startOffset: 0,
|
|
315
|
-
endOffset: endNode.
|
|
321
|
+
endOffset: endNode.getRangeEndOffset(),
|
|
316
322
|
});
|
|
317
323
|
this.selectionState = new RTESelectionState(this.currentRange);
|
|
318
324
|
}
|
package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js
CHANGED
|
@@ -7,6 +7,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { Fragment, h } from '@stencil/core';
|
|
8
8
|
import { MapToComponentField, VegaSlimmer } from 'vega-slimmer/core';
|
|
9
9
|
import RTEDTORendererManager from '../../../../helpers/rte-manager/dto-renderer-manager';
|
|
10
|
+
import { isNonNullable } from '../../../../types/type-guard';
|
|
10
11
|
export class ToolbarRenderer extends VegaSlimmer {
|
|
11
12
|
constructor() {
|
|
12
13
|
super(...arguments);
|
|
@@ -46,32 +47,56 @@ export class ToolbarRenderer extends VegaSlimmer {
|
|
|
46
47
|
};
|
|
47
48
|
}
|
|
48
49
|
render() {
|
|
50
|
+
const [renderedItems, totalVisibleCount] = this.renderToolbarItems();
|
|
49
51
|
return (h("vega-flex", { gap: "size-8", alignItems: "center", flexWrap: "wrap" },
|
|
50
52
|
this.allowSourceEdit && (h(Fragment, null,
|
|
51
53
|
h("div", { class: "toolbar-btn-group" }, this.sourceEditToolbarButtonSlimmer.render()),
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
return (h("div", { class: "toolbar-btn-group" }, group.map((item) => {
|
|
55
|
-
const presetRenderer = this.getToolbarBtnRenderer(item);
|
|
56
|
-
const customRenderer = RTEDTORendererManager.getRTEToolbarButtonRenderer(item);
|
|
57
|
-
if (presetRenderer) {
|
|
58
|
-
return presetRenderer.render();
|
|
59
|
-
}
|
|
60
|
-
else if (customRenderer) {
|
|
61
|
-
return customRenderer.render(h, {
|
|
62
|
-
host: this.host,
|
|
63
|
-
rteRange: this.selectionController.getCurrentRange(),
|
|
64
|
-
sourceEditMode: this.sourceView,
|
|
65
|
-
});
|
|
66
|
-
}
|
|
67
|
-
return null;
|
|
68
|
-
})));
|
|
69
|
-
})));
|
|
54
|
+
this.toolbarItems.length > 0 && totalVisibleCount > 0 && this.renderVegaDivider())),
|
|
55
|
+
renderedItems));
|
|
70
56
|
}
|
|
71
57
|
renderVegaDivider() {
|
|
72
58
|
return (h("vega-box", { height: "size-32" },
|
|
73
59
|
h("vega-divider", { direction: "vertical" })));
|
|
74
60
|
}
|
|
61
|
+
/**
|
|
62
|
+
* Renders the toolbar items based on the configured toolbar groups and items.
|
|
63
|
+
*
|
|
64
|
+
* @returns {[HTMLElement[], number]} A tuple containing the rendered toolbar items and the count of displayed items.
|
|
65
|
+
*/
|
|
66
|
+
renderToolbarItems() {
|
|
67
|
+
let totalVisibleCount = 0;
|
|
68
|
+
const renderedItems = this.toolbarItems.map((group) => {
|
|
69
|
+
let visibleCountPerGroup = 0;
|
|
70
|
+
const groupElement = group
|
|
71
|
+
.map((item) => {
|
|
72
|
+
const presetRenderer = this.getToolbarBtnRenderer(item);
|
|
73
|
+
const customRenderer = RTEDTORendererManager.getRTEToolbarButtonRenderer(item);
|
|
74
|
+
if (presetRenderer) {
|
|
75
|
+
if (!presetRenderer.isHidden()) {
|
|
76
|
+
totalVisibleCount++;
|
|
77
|
+
visibleCountPerGroup++;
|
|
78
|
+
}
|
|
79
|
+
return presetRenderer.render();
|
|
80
|
+
}
|
|
81
|
+
else if (customRenderer) {
|
|
82
|
+
const renderContext = {
|
|
83
|
+
sourceEditMode: this.sourceView,
|
|
84
|
+
host: this.host,
|
|
85
|
+
rteRange: this.selectionController.getCurrentRange(),
|
|
86
|
+
};
|
|
87
|
+
if (!customRenderer.isHidden(renderContext)) {
|
|
88
|
+
totalVisibleCount++;
|
|
89
|
+
visibleCountPerGroup++;
|
|
90
|
+
}
|
|
91
|
+
return customRenderer.render(h, renderContext);
|
|
92
|
+
}
|
|
93
|
+
return null;
|
|
94
|
+
})
|
|
95
|
+
.filter(isNonNullable);
|
|
96
|
+
return (h("div", { class: { 'toolbar-btn-group': true, 'vega-hidden': visibleCountPerGroup < 1 } }, groupElement));
|
|
97
|
+
});
|
|
98
|
+
return [renderedItems, totalVisibleCount];
|
|
99
|
+
}
|
|
75
100
|
}
|
|
76
101
|
__decorate([
|
|
77
102
|
MapToComponentField()
|
|
@@ -17,6 +17,7 @@ import { SelectionChangeAction } from '../../../dto/actions/selection-change-act
|
|
|
17
17
|
import { generateUUID } from '../../../../../utils/misc';
|
|
18
18
|
import { waitForComponentDidRender } from '../../../../../helpers/common';
|
|
19
19
|
import { VisualModeToolbarButtonSlimmer } from './visual-mode-toolbar-button-slimmer.abstract';
|
|
20
|
+
import { ActionHandleStrategyRegistry } from '../../../dto/action-handle-strategies/action-handle-strategy-registry';
|
|
20
21
|
export class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
21
22
|
constructor() {
|
|
22
23
|
super({
|
|
@@ -64,7 +65,8 @@ export class LinkToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
64
65
|
selectedBlocks.length > 1 ||
|
|
65
66
|
selectedNodes.some((node) => {
|
|
66
67
|
var _a;
|
|
67
|
-
return !(node instanceof RTETextNode
|
|
68
|
+
return !(node instanceof RTETextNode &&
|
|
69
|
+
ActionHandleStrategyRegistry.canHandle(LinkAnnotationAction.name, node)) ||
|
|
68
70
|
node.getAnnotationByType(NodeAnnotationTypeEnum.LINK) ||
|
|
69
71
|
((_a = node.getAnnotationByType(NodeAnnotationTypeEnum.CODE)) === null || _a === void 0 ? void 0 : _a.code);
|
|
70
72
|
}));
|
|
@@ -44,6 +44,12 @@ export class ToolbarButtonSlimmer extends VegaSlimmer {
|
|
|
44
44
|
setIcon(icon) {
|
|
45
45
|
this.icon = icon;
|
|
46
46
|
}
|
|
47
|
+
/**
|
|
48
|
+
* Whether the button is hidden or not.
|
|
49
|
+
*/
|
|
50
|
+
isHidden() {
|
|
51
|
+
return false;
|
|
52
|
+
}
|
|
47
53
|
render() {
|
|
48
54
|
return typeof this.renderBtnWrapper === 'function'
|
|
49
55
|
? this.renderBtnWrapper(this.renderBtn)
|
|
@@ -55,12 +61,6 @@ export class ToolbarButtonSlimmer extends VegaSlimmer {
|
|
|
55
61
|
isDisabled() {
|
|
56
62
|
return this.disabled;
|
|
57
63
|
}
|
|
58
|
-
/**
|
|
59
|
-
* Whether the button is hidden or not.
|
|
60
|
-
*/
|
|
61
|
-
isHidden() {
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
64
|
preventLostFocus() {
|
|
65
65
|
return {
|
|
66
66
|
onMouseDown: (e) => e.preventDefault(),
|
|
@@ -13,15 +13,6 @@ export class VisualModeToolbarButtonSlimmer extends ToolbarButtonSlimmer {
|
|
|
13
13
|
constructor(config) {
|
|
14
14
|
super(config);
|
|
15
15
|
}
|
|
16
|
-
/**
|
|
17
|
-
* Determines if the button should be disabled.
|
|
18
|
-
* Determines whether should disable the button or not when the editor is not in source view mode, except for the source edit button.
|
|
19
|
-
*
|
|
20
|
-
* @returns {boolean} - True if the button is disabled, false otherwise.
|
|
21
|
-
*/
|
|
22
|
-
isDisabled() {
|
|
23
|
-
return super.isDisabled() && !this.sourceView;
|
|
24
|
-
}
|
|
25
16
|
/**
|
|
26
17
|
* Determines if the button should be hidden.
|
|
27
18
|
* Hide the button when the editor is in source view mode, except for the source edit button.
|
|
@@ -31,6 +22,15 @@ export class VisualModeToolbarButtonSlimmer extends ToolbarButtonSlimmer {
|
|
|
31
22
|
isHidden() {
|
|
32
23
|
return this.sourceView;
|
|
33
24
|
}
|
|
25
|
+
/**
|
|
26
|
+
* Determines if the button should be disabled.
|
|
27
|
+
* Determines whether should disable the button or not when the editor is not in source view mode, except for the source edit button.
|
|
28
|
+
*
|
|
29
|
+
* @returns {boolean} - True if the button is disabled, false otherwise.
|
|
30
|
+
*/
|
|
31
|
+
isDisabled() {
|
|
32
|
+
return super.isDisabled() && !this.sourceView;
|
|
33
|
+
}
|
|
34
34
|
}
|
|
35
35
|
__decorate([
|
|
36
36
|
MapToComponentField()
|
|
@@ -2897,5 +2897,46 @@ Line 1
|
|
|
2897
2897
|
expect(VegaRTEContent.fromJSON(content, { autoMatchFormat: false }).toHtml()).toMatchSnapshot();
|
|
2898
2898
|
expect(VegaRTEContent.fromJSON(content).toHtml()).toMatchSnapshot();
|
|
2899
2899
|
});
|
|
2900
|
+
it('should getLastNode work properly', () => {
|
|
2901
|
+
const content = [
|
|
2902
|
+
{
|
|
2903
|
+
id: '1753954267610',
|
|
2904
|
+
type: 'html-block',
|
|
2905
|
+
htmlTag: 'section',
|
|
2906
|
+
children: [
|
|
2907
|
+
{
|
|
2908
|
+
id: '1753954266383',
|
|
2909
|
+
type: 'heading-1',
|
|
2910
|
+
nodes: [
|
|
2911
|
+
{
|
|
2912
|
+
id: '1753954273029',
|
|
2913
|
+
type: 'text',
|
|
2914
|
+
text: 'WWF',
|
|
2915
|
+
},
|
|
2916
|
+
],
|
|
2917
|
+
},
|
|
2918
|
+
{
|
|
2919
|
+
id: '1753954263572',
|
|
2920
|
+
type: 'paragraph',
|
|
2921
|
+
nodes: [
|
|
2922
|
+
{
|
|
2923
|
+
id: '1753954266500',
|
|
2924
|
+
type: 'text',
|
|
2925
|
+
text: 'The World Wide Fund for Nature (WWF) is....',
|
|
2926
|
+
},
|
|
2927
|
+
],
|
|
2928
|
+
},
|
|
2929
|
+
],
|
|
2930
|
+
},
|
|
2931
|
+
];
|
|
2932
|
+
let instance = VegaRTEContent.fromJSON([]);
|
|
2933
|
+
expect(instance.getLastNode()).toBeNull();
|
|
2934
|
+
instance = VegaRTEContent.fromJSON(content);
|
|
2935
|
+
expect(instance.getLastNode().toJSON()).toEqual({
|
|
2936
|
+
id: '1753954266500',
|
|
2937
|
+
type: 'text',
|
|
2938
|
+
text: 'The World Wide Fund for Nature (WWF) is....',
|
|
2939
|
+
});
|
|
2940
|
+
});
|
|
2900
2941
|
});
|
|
2901
2942
|
});
|