@globalpayments/vega 2.66.0 → 2.68.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-ab28f910.js → app-globals-f7106a22.js} +15 -14
- package/dist/cjs/{child-nodes-event-prevent-slimmer-eb803b14.js → child-nodes-event-prevent-slimmer-f8840f1b.js} +1 -1
- package/dist/cjs/{code-block-ab97a0a0.js → code-block-39074880.js} +514 -319
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-5630341e.js → component-value-history-controller-slimmer.abstract-ddedf543.js} +2 -2
- package/dist/cjs/{design-token-847739f1.js → design-token-e14a4e66.js} +1 -1
- package/dist/cjs/{dto-renderer-manager-d0f0f2c0.js → dto-renderer-manager-b7969d6c.js} +1587 -1563
- package/dist/cjs/{element-appender-slimmer-aead9bbb.js → element-appender-slimmer-7ee27ab3.js} +5 -5
- package/dist/cjs/{event-emit-slimmer-d21a0935.js → event-emit-slimmer-7afe8d78.js} +1 -1
- package/dist/cjs/{token-extension-aa8d5cce.js → function-extension-f0e845f2.js} +1019 -96
- package/dist/cjs/{image-annotation-action-d84de785.js → image-annotation-action-7f0626c8.js} +15 -25
- package/dist/cjs/index.cjs.js +36 -24
- package/dist/cjs/{internal-vega-event-manager-4d1ce667.js → internal-vega-event-manager-45d451de.js} +5 -2
- package/dist/cjs/{language-extension-d257e65d.js → language-extension-d0103d1a.js} +5 -5
- package/dist/cjs/loader.cjs.js +8 -8
- package/dist/cjs/{public-rules-d2b9b8f0.js → public-rules-8b67eaba.js} +3 -3
- package/dist/cjs/{range-d610028e.js → range-002671b6.js} +1 -1
- package/dist/cjs/{responsive-format-facade-71e7b74c.js → responsive-format-facade-347db035.js} +3 -3
- package/dist/cjs/{rich-text-editor-required-rule-a8fe5f50.js → rich-text-editor-required-rule-5392bd8a.js} +1 -1
- package/dist/cjs/{style-formatter-6facb42b.js → style-formatter-0a09f0dd.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +7 -7
- package/dist/cjs/vega-app-header-button.cjs.entry.js +8 -8
- package/dist/cjs/vega-banner.cjs.entry.js +2 -2
- package/dist/cjs/vega-box.cjs.entry.js +8 -8
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-circle.cjs.entry.js +9 -9
- package/dist/cjs/vega-button-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-button-link.cjs.entry.js +3 -3
- package/dist/cjs/vega-button.cjs.entry.js +8 -8
- package/dist/cjs/vega-calendar_4.cjs.entry.js +307 -269
- package/dist/cjs/vega-card.cjs.entry.js +7 -7
- package/dist/cjs/vega-carousel.cjs.entry.js +7 -7
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-chip.cjs.entry.js +9 -9
- package/dist/cjs/vega-code-block.cjs.entry.js +6 -6
- package/dist/cjs/vega-color-picker.cjs.entry.js +2 -2
- package/dist/cjs/vega-combo-box.cjs.entry.js +3 -3
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +12 -12
- package/dist/cjs/vega-dialog_2.cjs.entry.js +138 -44
- package/dist/cjs/vega-divider.cjs.entry.js +7 -7
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +9 -9
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +24 -5
- package/dist/cjs/vega-file-uploader.cjs.entry.js +2 -2
- package/dist/cjs/vega-flag-icon.cjs.entry.js +6 -6
- package/dist/cjs/vega-flex.cjs.entry.js +8 -8
- package/dist/cjs/vega-font.cjs.entry.js +7 -7
- package/dist/cjs/vega-form.cjs.entry.js +3 -3
- package/dist/cjs/vega-grid.cjs.entry.js +7 -7
- package/dist/cjs/vega-icon.cjs.entry.js +6 -6
- package/dist/cjs/vega-image-uploader.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-numeric.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-passcode.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +6 -6
- package/dist/cjs/vega-input-range.cjs.entry.js +3 -3
- package/dist/cjs/vega-input-select.cjs.entry.js +38 -14
- package/dist/cjs/vega-input.cjs.entry.js +14 -3
- package/dist/cjs/vega-item-toggle.cjs.entry.js +2 -2
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +11 -11
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +2 -2
- package/dist/cjs/vega-pagination.cjs.entry.js +7 -7
- package/dist/cjs/vega-popover_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +2 -2
- package/dist/cjs/vega-radio_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +93 -16
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +107 -54
- package/dist/cjs/vega-segment-control.cjs.entry.js +2 -2
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +10 -10
- package/dist/cjs/vega-signature-capture.cjs.entry.js +7 -7
- package/dist/cjs/vega-stepper.cjs.entry.js +3 -3
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-table_8.cjs.entry.js +11 -11
- package/dist/cjs/vega-textarea.cjs.entry.js +24 -4
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +2 -2
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +7 -7
- package/dist/cjs/vega.cjs.js +8 -8
- package/dist/collection/components/vega-calendar/slimmers/common/helpers/calendar-event-sorter.js +3 -3
- package/dist/collection/components/vega-calendar/slimmers/common/renderers/vega-calendar-event-item-renderer.js +1 -1
- package/dist/collection/components/vega-calendar/slimmers/day-view/renderers/timed-event/layout/day-view-timed-event-layout-column.js +1 -1
- package/dist/collection/components/vega-calendar/vega-calendar-event/slimmers/renderers/vega-calendar-event-renderer.js +3 -4
- package/dist/collection/components/vega-field-label/slimmers/renderers/vega-field-label-suffix-element-renderer.js +11 -3
- package/dist/collection/components/vega-field-label/vega-field-label.js +42 -0
- package/dist/collection/components/vega-input/vega-input.js +48 -2
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-renderer.js +16 -5
- package/dist/collection/components/vega-input-select/vega-input-select.css +2 -44
- package/dist/collection/components/vega-input-select/vega-input-select.js +81 -1
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +95 -16
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.js +4 -1
- package/dist/collection/components/vega-modal/slimmers/models/vega-modal-open-state.js +9 -0
- package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +4 -1
- package/dist/collection/components/vega-modal/vega-modal.js +19 -16
- package/dist/collection/components/vega-rich-text-content/slimmers/controllers/vega-rich-text-content-extensions-styles-controller.js +60 -0
- package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +7 -1
- package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.js +17 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor-registry.js +61 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor.abstract.js +5 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.js +30 -6
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.js +10 -3
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-or-decorator-node-strategy.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.js +28 -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/paste-content-action.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.js +5 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/annotation-style.js +87 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +27 -9
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/html-block.js +1 -12
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +14 -5
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +11 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +7 -37
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +14 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/base-extension-renderer.js +19 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.js +44 -3
- package/dist/collection/components/vega-rich-text-editor/extensions/extension.abstract.js +51 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-new-paragraph-interceptor.js +30 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-paste-content-interceptor.js +25 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/function-block-insert-paragraph-strategy.js +30 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.js +99 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/paste-plain-text-strategy.js +68 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/actions/insert-function-block-action.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/actions/paste-plain-text-action.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/function-block.js +97 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.js +73 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.js +69 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.js +49 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.js +27 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.js +55 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/function-extension.js +75 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.js +38 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.js +71 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/span-to-token-node-strategy.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.js +5 -6
- package/dist/collection/components/vega-rich-text-editor/extensions/tokens/token-toolbar-button-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/public-api.js +8 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +9 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.js +0 -12
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +12 -10
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +2 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +30 -5
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +1 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.js +10 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.js +2 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +4 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +2 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +1 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +1 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +1 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +2 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +2 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +2 -5
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +2 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +11 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +4 -1
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/action-handle-strategy-registry.test.js +32 -2
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/block-delete-node-content-strategy.test.js +69 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/annotation-style.test.js +70 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.css +3 -0
- package/dist/collection/components/vega-selection-chip/vega-selection-chip.js +1 -1
- package/dist/collection/components/vega-table/vega-table.css +2 -1
- package/dist/collection/components/vega-textarea/vega-textarea.js +88 -2
- package/dist/collection/global/scripts/before-vega-load.js +2 -0
- package/dist/collection/helpers/calendar/calendar-date-time.js +136 -0
- package/dist/collection/helpers/calendar/calendar-date.js +10 -4
- package/dist/collection/helpers/calendar/calendar-event.js +38 -193
- package/dist/collection/helpers/calendar/calendar-time.js +120 -0
- package/dist/collection/helpers/calendar/index.js +2 -0
- package/dist/collection/helpers/calendar/test/calendar-date-time.test.js +27 -0
- package/dist/collection/helpers/calendar/test/calendar-event.test.js +24 -22
- package/dist/collection/helpers/calendar/test/calendar-period/day-period.test.js +2 -2
- package/dist/collection/helpers/calendar/test/calendar-period/month-period.test.js +2 -2
- package/dist/collection/helpers/calendar/test/calendar-period/week-period.test.js +6 -6
- package/dist/collection/helpers/calendar/test/calendar-time.test.js +45 -0
- package/dist/collection/helpers/calendar/test/utils.test.js +1 -29
- package/dist/collection/helpers/calendar/utils.js +0 -66
- package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +5 -2
- package/dist/collection/helpers/rte-manager/dto-action-strategy-manager.js +2 -0
- package/dist/esm/{app-globals-37a60cc1.js → app-globals-2f689986.js} +6 -5
- package/dist/esm/{child-nodes-event-prevent-slimmer-735cb880.js → child-nodes-event-prevent-slimmer-76331524.js} +1 -1
- package/dist/esm/{code-block-11b2bc1c.js → code-block-e8839202.js} +511 -318
- package/dist/esm/{component-value-history-controller-slimmer.abstract-16c5cb96.js → component-value-history-controller-slimmer.abstract-c6f94113.js} +2 -2
- package/dist/esm/{design-token-297dc528.js → design-token-e9e6b011.js} +1 -1
- package/dist/esm/{dto-renderer-manager-a1a3b6d2.js → dto-renderer-manager-7abc53bf.js} +1587 -1565
- package/dist/esm/{element-appender-slimmer-f7233708.js → element-appender-slimmer-8dbc8387.js} +2 -2
- package/dist/esm/{event-emit-slimmer-28fd360c.js → event-emit-slimmer-4e28e9f8.js} +1 -1
- package/dist/esm/{token-extension-b690953f.js → function-extension-eb1d062f.js} +1018 -97
- package/dist/esm/{image-annotation-action-fc46c920.js → image-annotation-action-7957653a.js} +14 -24
- package/dist/esm/index.js +9 -9
- package/dist/esm/{internal-vega-event-manager-a5a5938d.js → internal-vega-event-manager-516aa721.js} +5 -2
- package/dist/esm/{language-extension-314a2b18.js → language-extension-3331131f.js} +3 -3
- package/dist/esm/loader.js +8 -8
- package/dist/esm/{public-rules-c6a6946d.js → public-rules-e613dead.js} +3 -3
- package/dist/esm/{range-b78254de.js → range-adf206fd.js} +1 -1
- package/dist/esm/{responsive-format-facade-a41e1be7.js → responsive-format-facade-b0712993.js} +3 -3
- package/dist/esm/{rich-text-editor-required-rule-d50c24da.js → rich-text-editor-required-rule-43857573.js} +1 -1
- package/dist/esm/{style-formatter-f7effaac.js → style-formatter-a20a1ef4.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +7 -7
- package/dist/esm/vega-app-header-button.entry.js +8 -8
- package/dist/esm/vega-banner.entry.js +2 -2
- package/dist/esm/vega-box.entry.js +8 -8
- package/dist/esm/vega-breadcrumb.entry.js +3 -3
- package/dist/esm/vega-button-circle.entry.js +9 -9
- package/dist/esm/vega-button-group_2.entry.js +3 -3
- package/dist/esm/vega-button-link.entry.js +3 -3
- package/dist/esm/vega-button.entry.js +8 -8
- package/dist/esm/vega-calendar_4.entry.js +307 -269
- package/dist/esm/vega-card.entry.js +7 -7
- package/dist/esm/vega-carousel.entry.js +7 -7
- package/dist/esm/vega-checkbox_2.entry.js +3 -3
- package/dist/esm/vega-chip.entry.js +9 -9
- package/dist/esm/vega-code-block.entry.js +6 -6
- package/dist/esm/vega-color-picker.entry.js +2 -2
- package/dist/esm/vega-combo-box.entry.js +3 -3
- package/dist/esm/vega-date-picker_2.entry.js +8 -8
- package/dist/esm/vega-dialog_2.entry.js +132 -38
- package/dist/esm/vega-divider.entry.js +7 -7
- package/dist/esm/vega-dropdown_5.entry.js +9 -9
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-label.entry.js +24 -5
- package/dist/esm/vega-file-uploader.entry.js +2 -2
- package/dist/esm/vega-flag-icon.entry.js +6 -6
- package/dist/esm/vega-flex.entry.js +8 -8
- package/dist/esm/vega-font.entry.js +7 -7
- package/dist/esm/vega-form.entry.js +3 -3
- package/dist/esm/vega-grid.entry.js +7 -7
- package/dist/esm/vega-icon.entry.js +6 -6
- package/dist/esm/vega-image-uploader.entry.js +7 -7
- package/dist/esm/vega-input-credit-card.entry.js +3 -3
- package/dist/esm/vega-input-numeric.entry.js +3 -3
- package/dist/esm/vega-input-passcode.entry.js +3 -3
- package/dist/esm/vega-input-phone-number.entry.js +6 -6
- package/dist/esm/vega-input-range.entry.js +3 -3
- package/dist/esm/vega-input-select.entry.js +38 -14
- package/dist/esm/vega-input.entry.js +14 -3
- package/dist/esm/vega-item-toggle.entry.js +2 -2
- package/dist/esm/vega-left-nav_5.entry.js +7 -7
- package/dist/esm/vega-loader-wrapper_2.entry.js +6 -6
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +2 -2
- package/dist/esm/vega-pagination.entry.js +7 -7
- package/dist/esm/vega-popover_2.entry.js +9 -9
- package/dist/esm/vega-progress-tracker.entry.js +2 -2
- package/dist/esm/vega-radio_2.entry.js +3 -3
- package/dist/esm/vega-rich-text-content.entry.js +93 -16
- package/dist/esm/vega-rich-text-editor_4.entry.js +107 -54
- package/dist/esm/vega-segment-control.entry.js +2 -2
- package/dist/esm/vega-selection-chip_2.entry.js +8 -8
- package/dist/esm/vega-selection-tile_2.entry.js +3 -3
- package/dist/esm/vega-sidenav_3.entry.js +6 -6
- package/dist/esm/vega-signature-capture.entry.js +7 -7
- package/dist/esm/vega-stepper.entry.js +3 -3
- package/dist/esm/vega-tab-group_2.entry.js +3 -3
- package/dist/esm/vega-table_8.entry.js +8 -8
- package/dist/esm/vega-textarea.entry.js +25 -5
- package/dist/esm/vega-time-picker_2.entry.js +9 -9
- package/dist/esm/vega-toggle-switch.entry.js +2 -2
- package/dist/esm/vega-tooltip_2.entry.js +7 -7
- package/dist/esm/vega.js +8 -8
- package/dist/sri/vega-sri-manifest.json +273 -273
- package/dist/types/components/vega-field-label/slimmers/renderers/vega-field-label-suffix-element-renderer.d.ts +1 -0
- package/dist/types/components/vega-field-label/types.d.ts +12 -0
- package/dist/types/components/vega-field-label/vega-field-label.d.ts +13 -1
- package/dist/types/components/vega-input/vega-input.d.ts +14 -2
- package/dist/types/components/vega-input-select/slimmers/renderers/vega-input-select-renderer.d.ts +3 -0
- package/dist/types/components/vega-input-select/vega-input-select.d.ts +25 -0
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.d.ts +31 -2
- package/dist/types/components/vega-modal/slimmers/controllers/vega-modal-z-index-controller.d.ts +1 -0
- package/dist/types/components/vega-modal/slimmers/models/vega-modal-open-state.d.ts +9 -0
- package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +1 -0
- package/dist/types/components/vega-modal/types.d.ts +9 -0
- package/dist/types/components/vega-modal/vega-modal.d.ts +8 -2
- package/dist/types/components/vega-rich-text-content/slimmers/controllers/vega-rich-text-content-extensions-styles-controller.d.ts +26 -0
- package/dist/types/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.d.ts +1 -0
- package/dist/types/components/vega-rich-text-content/vega-rich-text-content.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor-registry.d.ts +42 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-interceptor.abstract.d.ts +26 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy-registry.d.ts +9 -2
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +2 -1
- package/dist/types/components/vega-rich-text-editor/dto/actions/paste-content-action.d.ts +20 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/update-cursor-position-action.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/annotation-style.d.ts +46 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +10 -1
- package/dist/types/components/vega-rich-text-editor/dto/blocks/html-block.d.ts +3 -3
- package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +0 -11
- package/dist/types/components/vega-rich-text-editor/extensions/base-extension-renderer.d.ts +16 -0
- package/dist/types/components/vega-rich-text-editor/extensions/base-toolbar-button-renderer.d.ts +19 -3
- package/dist/types/components/vega-rich-text-editor/extensions/extension.abstract.d.ts +36 -3
- package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-new-paragraph-interceptor.d.ts +25 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-interceptor/prevent-paste-content-interceptor.d.ts +17 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/function-block-insert-paragraph-strategy.d.ts +18 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/insert-function-block-strategy.d.ts +27 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/action-handler-strategies/paste-plain-text-strategy.d.ts +26 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/actions/insert-function-block-action.d.ts +17 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/actions/paste-plain-text-action.d.ts +17 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/function-block.d.ts +58 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-block.d.ts +55 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/dto/logic-control-node.d.ts +48 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-block-strategy.d.ts +27 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-function-content-strategy.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/element-to-dto-strategies/div-to-logic-control-block-strategy.d.ts +32 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/function-extension.d.ts +19 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/function-block-renderer.d.ts +25 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/function-toolbar-button-renderer.d.ts +33 -0
- package/dist/types/components/vega-rich-text-editor/extensions/functions/renderers/logic-control-block-renderer.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/extensions/languages/language-extension.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/languages/language-toolbar-button-renderer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-extension.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/extensions/tokens/token-node-renderer.d.ts +3 -4
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +8 -2
- package/dist/types/components/vega-rich-text-editor/public-api.d.ts +8 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy.abstract.d.ts +2 -11
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/state-entity-rendering-registry.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +11 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/block-delete-node-content-strategy.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/annotation-style.test.d.ts +1 -0
- package/dist/types/components/vega-textarea/vega-textarea.d.ts +26 -0
- package/dist/types/components.d.ts +66 -4
- package/dist/types/helpers/calendar/calendar-date-time.d.ts +76 -0
- package/dist/types/helpers/calendar/calendar-event.d.ts +18 -57
- package/dist/types/helpers/calendar/calendar-time.d.ts +64 -0
- package/dist/types/helpers/calendar/index.d.ts +2 -0
- package/dist/types/helpers/calendar/test/calendar-date-time.test.d.ts +1 -0
- package/dist/types/helpers/calendar/test/calendar-time.test.d.ts +1 -0
- package/dist/types/helpers/calendar/utils.d.ts +0 -25
- package/dist/types/types/components.type.d.ts +1 -1
- package/dist/types/types/public-api.d.ts +2 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-6f7d42a0.entry.js → p-00376f71.entry.js} +1 -1
- package/dist/vega/p-018d70a5.js +1 -0
- package/dist/vega/p-0849f85e.js +1 -0
- package/dist/vega/{p-b431f9d5.entry.js → p-0a55f984.entry.js} +1 -1
- package/dist/vega/p-0f7dec29.entry.js +1 -0
- package/dist/vega/{p-47cae62d.entry.js → p-113d305b.entry.js} +1 -1
- package/dist/vega/{p-015cdbe7.entry.js → p-115b42e6.entry.js} +1 -1
- package/dist/vega/p-16358fec.entry.js +1 -0
- package/dist/vega/{p-af5bfe34.js → p-16d68187.js} +1 -1
- package/dist/vega/{p-92a22562.entry.js → p-18e8c54a.entry.js} +1 -1
- package/dist/vega/{p-6f6ccf67.entry.js → p-1922303e.entry.js} +1 -1
- package/dist/vega/{p-74d61782.entry.js → p-19256107.entry.js} +1 -1
- package/dist/vega/{p-59298f5e.entry.js → p-1dcb1fcd.entry.js} +2 -2
- package/dist/vega/{p-7f69081b.entry.js → p-1dd7f8b2.entry.js} +1 -1
- package/dist/vega/{p-d006e732.entry.js → p-22fe8c61.entry.js} +1 -1
- package/dist/vega/{p-524693d8.entry.js → p-238afe1b.entry.js} +1 -1
- package/dist/vega/p-240d9d35.entry.js +1 -0
- package/dist/vega/{p-b82d3915.entry.js → p-24419ebe.entry.js} +1 -1
- package/dist/vega/p-2478f65e.js +1 -0
- package/dist/vega/{p-358e9800.entry.js → p-2c945862.entry.js} +1 -1
- package/dist/vega/{p-5f58d1da.entry.js → p-2e32fbe6.entry.js} +1 -1
- package/dist/vega/p-2f04d2ac.js +1 -0
- package/dist/vega/p-30a8d9d6.entry.js +1 -0
- package/dist/vega/{p-e6cccee4.js → p-369810ae.js} +1 -1
- package/dist/vega/p-3ad87199.entry.js +1 -0
- package/dist/vega/{p-fe2e859f.entry.js → p-3b800f1b.entry.js} +1 -1
- package/dist/vega/p-437f865f.js +1 -0
- package/dist/vega/{p-de624f7d.entry.js → p-48bc03fa.entry.js} +1 -1
- package/dist/vega/{p-46830028.entry.js → p-54ddd06f.entry.js} +1 -1
- package/dist/vega/{p-5a0524ab.entry.js → p-56636a58.entry.js} +1 -1
- package/dist/vega/{p-fc8c5869.entry.js → p-56f77466.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-ab1001f5.entry.js → p-61d9cdf9.entry.js} +1 -1
- package/dist/vega/{p-39b9c57b.entry.js → p-626246b4.entry.js} +1 -1
- package/dist/vega/{p-ff3bb4e2.entry.js → p-634499cb.entry.js} +1 -1
- package/dist/vega/p-6609d87e.entry.js +1 -0
- package/dist/vega/p-69d27eaf.entry.js +1 -0
- package/dist/vega/{p-7efb5ebe.entry.js → p-705dad87.entry.js} +1 -1
- package/dist/vega/{p-8d574fbd.entry.js → p-75b5894f.entry.js} +1 -1
- package/dist/vega/{p-00071542.entry.js → p-76b1dae4.entry.js} +1 -1
- package/dist/vega/{p-54b62ecf.js → p-7747c163.js} +1 -1
- package/dist/vega/{p-0ed53cce.entry.js → p-787caad3.entry.js} +1 -1
- package/dist/vega/{p-129c0ce1.js → p-79e6e12c.js} +1 -1
- package/dist/vega/{p-cc519f53.entry.js → p-7dde3be9.entry.js} +1 -1
- package/dist/vega/p-8233d814.entry.js +1 -0
- package/dist/vega/{p-5e32866d.entry.js → p-83a50ac2.entry.js} +1 -1
- package/dist/vega/p-8506e8c3.js +1 -0
- package/dist/vega/{p-47fa359b.js → p-85407fb9.js} +1 -1
- package/dist/vega/{p-892cbe7c.entry.js → p-880569ec.entry.js} +1 -1
- package/dist/vega/{p-0113a83c.entry.js → p-8dba59a6.entry.js} +1 -1
- package/dist/vega/p-94e167b8.entry.js +1 -0
- package/dist/vega/{p-b2aaab66.entry.js → p-98fb9eaa.entry.js} +1 -1
- package/dist/vega/{p-3288a65b.entry.js → p-99bf5993.entry.js} +1 -1
- package/dist/vega/p-a211ae63.js +1 -0
- package/dist/vega/{p-fef846d5.entry.js → p-a2506cb5.entry.js} +1 -1
- package/dist/vega/{p-4e33fff6.entry.js → p-a6fb5a40.entry.js} +1 -1
- package/dist/vega/{p-bee1cc34.entry.js → p-b5060e84.entry.js} +1 -1
- package/dist/vega/{p-616cd622.entry.js → p-b78670c9.entry.js} +1 -1
- package/dist/vega/{p-d5761532.entry.js → p-b8558278.entry.js} +1 -1
- package/dist/vega/{p-8d655fd2.entry.js → p-bb0f2b5f.entry.js} +1 -1
- package/dist/vega/{p-a7631c6b.js → p-bb37a401.js} +1 -1
- package/dist/vega/p-bccee21e.js +1 -0
- package/dist/vega/{p-2553031f.entry.js → p-bd0e55a2.entry.js} +1 -1
- package/dist/vega/{p-65693321.entry.js → p-c0223a17.entry.js} +1 -1
- package/dist/vega/{p-2d430dc4.entry.js → p-c26332ae.entry.js} +1 -1
- package/dist/vega/{p-7f9ec104.entry.js → p-c54148fb.entry.js} +1 -1
- package/dist/vega/{p-276b1163.entry.js → p-d3905af1.entry.js} +2 -2
- package/dist/vega/p-d4893487.js +1 -0
- package/dist/vega/{p-d1dacaeb.entry.js → p-d67200e8.entry.js} +1 -1
- package/dist/vega/{p-725f0a2c.js → p-db57dddc.js} +1 -1
- package/dist/vega/{p-ed8bc4f0.entry.js → p-de02f404.entry.js} +1 -1
- package/dist/vega/{p-d4452dbc.entry.js → p-de8c5fae.entry.js} +1 -1
- package/dist/vega/{p-7b145620.js → p-de97c6d9.js} +1 -1
- package/dist/vega/{p-34800282.entry.js → p-e0979451.entry.js} +1 -1
- package/dist/vega/{p-1a3cb65e.entry.js → p-e6351dab.entry.js} +1 -1
- package/dist/vega/{p-8d096fea.entry.js → p-f0fb3fdd.entry.js} +1 -1
- package/dist/vega/{p-ea05a2fc.entry.js → p-f3399ef1.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +1 -1
- package/dist/vega/p-019f7f95.js +0 -1
- package/dist/vega/p-03a1e82e.entry.js +0 -1
- package/dist/vega/p-0d1eca78.entry.js +0 -1
- package/dist/vega/p-16370cfb.js +0 -1
- package/dist/vega/p-3a7f177a.entry.js +0 -1
- package/dist/vega/p-41c3fcb4.js +0 -1
- package/dist/vega/p-81105691.entry.js +0 -1
- package/dist/vega/p-822c6092.js +0 -1
- package/dist/vega/p-8edf3513.js +0 -1
- package/dist/vega/p-a1b7a179.entry.js +0 -1
- package/dist/vega/p-ab8f99e9.entry.js +0 -1
- package/dist/vega/p-bf7f755b.js +0 -1
- package/dist/vega/p-bf9476cd.entry.js +0 -1
- package/dist/vega/p-c1da8328.entry.js +0 -1
- package/dist/vega/p-c6ce2869.js +0 -1
- package/dist/vega/p-d0e6454e.entry.js +0 -1
- package/dist/vega/p-d88e88a7.js +0 -1
- package/dist/vega/p-f360c9ba.js +0 -1
|
@@ -24,6 +24,7 @@ import { VegaModalOpenStateController } from './slimmers/controllers/vega-modal-
|
|
|
24
24
|
import { VegaModalBackdropController } from './slimmers/controllers/vega-modal-backdrop-controller';
|
|
25
25
|
import { VegaModalOpenedModalStackController } from './slimmers/controllers/vega-modal-opened-modal-stack-controller';
|
|
26
26
|
import { VegaModalZIndexController } from './slimmers/controllers/vega-modal-z-index-controller';
|
|
27
|
+
import { VegaModalOpenState } from './slimmers/models/vega-modal-open-state';
|
|
27
28
|
/**
|
|
28
29
|
* @vegaVersion 1.0.6
|
|
29
30
|
*/
|
|
@@ -45,6 +46,7 @@ export class VegaModal {
|
|
|
45
46
|
this.componentGlobalStyleSlimmer = new ComponentGlobalStyleSlimmer(mainContentStyle);
|
|
46
47
|
this.deprecatedPropertySlimmer = createDeprecatedPropertySlimmer(VegaModal, 'isVerticallyCentered', 'isVerticallyCenter', false);
|
|
47
48
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer(VegaModalRuntimeMetricsPayloadDefinition);
|
|
49
|
+
this.openState = this.initOpenState();
|
|
48
50
|
/**
|
|
49
51
|
* Provides options for controlling the behavior of the backdrop.
|
|
50
52
|
* - `default`:
|
|
@@ -131,6 +133,9 @@ export class VegaModal {
|
|
|
131
133
|
*/
|
|
132
134
|
this.handleClose = undefined;
|
|
133
135
|
}
|
|
136
|
+
watchOpenState() {
|
|
137
|
+
methodPlaceholder();
|
|
138
|
+
}
|
|
134
139
|
/**
|
|
135
140
|
* The below method is e2e-test covered in
|
|
136
141
|
* @see{module:vega-modal-size-number-e2e}
|
|
@@ -141,14 +146,11 @@ export class VegaModal {
|
|
|
141
146
|
methodPlaceholder();
|
|
142
147
|
}
|
|
143
148
|
watchOpen() {
|
|
144
|
-
|
|
149
|
+
this.openState = new VegaModalOpenState(this.open, 'property');
|
|
145
150
|
}
|
|
146
151
|
watchContentMaxHeight() {
|
|
147
152
|
methodPlaceholder();
|
|
148
153
|
}
|
|
149
|
-
disconnectedCallback() {
|
|
150
|
-
this.open = false;
|
|
151
|
-
}
|
|
152
154
|
/**
|
|
153
155
|
* Clicking on a non-static current modal should close this modal, not other modals.
|
|
154
156
|
* The below method is e2e-test covered in
|
|
@@ -194,20 +196,17 @@ export class VegaModal {
|
|
|
194
196
|
*
|
|
195
197
|
*/
|
|
196
198
|
async modal(option) {
|
|
197
|
-
|
|
198
|
-
case 'show':
|
|
199
|
-
this.open = true;
|
|
200
|
-
break;
|
|
201
|
-
case 'hide':
|
|
202
|
-
this.open = false;
|
|
203
|
-
break;
|
|
204
|
-
default:
|
|
205
|
-
break;
|
|
206
|
-
}
|
|
199
|
+
methodPlaceholder(option);
|
|
207
200
|
}
|
|
208
201
|
render() {
|
|
209
202
|
return sanitizeVegaComponent(this.renderer.render(), this.host);
|
|
210
203
|
}
|
|
204
|
+
/**
|
|
205
|
+
* Returns the initial open state of the modal.
|
|
206
|
+
*/
|
|
207
|
+
initOpenState() {
|
|
208
|
+
return new VegaModalOpenState(this.open, 'property');
|
|
209
|
+
}
|
|
211
210
|
static get is() { return "vega-modal"; }
|
|
212
211
|
static get encapsulation() { return "shadow"; }
|
|
213
212
|
static get originalStyleUrls() { return {
|
|
@@ -503,7 +502,8 @@ export class VegaModal {
|
|
|
503
502
|
}
|
|
504
503
|
}; }
|
|
505
504
|
static get states() { return {
|
|
506
|
-
"currentBreakpoint": {}
|
|
505
|
+
"currentBreakpoint": {},
|
|
506
|
+
"openState": {}
|
|
507
507
|
}; }
|
|
508
508
|
static get events() { return [{
|
|
509
509
|
"method": "vegaClose",
|
|
@@ -516,7 +516,7 @@ export class VegaModal {
|
|
|
516
516
|
"name": "vegaVersion",
|
|
517
517
|
"text": "1.0.10"
|
|
518
518
|
}],
|
|
519
|
-
"text": "An event emitter notifying the modal close event."
|
|
519
|
+
"text": "An event emitter notifying the modal close event. If a method is defined for this event, invoking event.preventDefault() prevents the modal from closing."
|
|
520
520
|
},
|
|
521
521
|
"complexType": {
|
|
522
522
|
"original": "any",
|
|
@@ -610,6 +610,9 @@ export class VegaModal {
|
|
|
610
610
|
}; }
|
|
611
611
|
static get elementRef() { return "host"; }
|
|
612
612
|
static get watchers() { return [{
|
|
613
|
+
"propName": "openState",
|
|
614
|
+
"methodName": "watchOpenState"
|
|
615
|
+
}, {
|
|
613
616
|
"propName": "size",
|
|
614
617
|
"methodName": "watchSize"
|
|
615
618
|
}, {
|
|
@@ -0,0 +1,60 @@
|
|
|
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
|
+
* attach the extension styles to the host.
|
|
11
|
+
*/
|
|
12
|
+
export class RTEExtensionStylesController extends VegaSlimmer {
|
|
13
|
+
/**
|
|
14
|
+
* Attach extension styles to the host after load.
|
|
15
|
+
*/
|
|
16
|
+
attachExtensionStyles() {
|
|
17
|
+
this.attachStylesToHost();
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Update extension context when extensions property changes.
|
|
21
|
+
*
|
|
22
|
+
* @param {VegaRTEExtension[]} newValue - New extensions array.
|
|
23
|
+
* @param {VegaRTEExtension[]} oldValue - Old extensions array.
|
|
24
|
+
*/
|
|
25
|
+
handleExtensionsChange(newValue, oldValue) {
|
|
26
|
+
if (!isArrayEqual(newValue, oldValue, false, (a, b) => a === b ? 0 : 1)) {
|
|
27
|
+
this.attachStylesToHost();
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Collects and attaches custom styles from all extensions to the host component.
|
|
32
|
+
*/
|
|
33
|
+
attachStylesToHost() {
|
|
34
|
+
if (this.extensions) {
|
|
35
|
+
let customStyles = '';
|
|
36
|
+
for (const extension of this.extensions) {
|
|
37
|
+
const extensionStyles = extension.collectExtensionRendererStyles();
|
|
38
|
+
if (extensionStyles) {
|
|
39
|
+
customStyles += `${extensionStyles}\n`;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
this.extensionStyles = customStyles;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
__decorate([
|
|
47
|
+
MapToComponentField()
|
|
48
|
+
], RTEExtensionStylesController.prototype, "extensions", void 0);
|
|
49
|
+
__decorate([
|
|
50
|
+
MapToComponentField()
|
|
51
|
+
], RTEExtensionStylesController.prototype, "host", void 0);
|
|
52
|
+
__decorate([
|
|
53
|
+
MapToComponentField({ writable: true })
|
|
54
|
+
], RTEExtensionStylesController.prototype, "extensionStyles", void 0);
|
|
55
|
+
__decorate([
|
|
56
|
+
MapToComponentMethod('componentWillLoad')
|
|
57
|
+
], RTEExtensionStylesController.prototype, "attachExtensionStyles", null);
|
|
58
|
+
__decorate([
|
|
59
|
+
MapToComponentMethod('watchExtensions')
|
|
60
|
+
], RTEExtensionStylesController.prototype, "handleExtensionsChange", null);
|
|
@@ -10,6 +10,7 @@ import { VegaDarkModeStyleController } from '../../../../helpers/theme/controlle
|
|
|
10
10
|
import { TextColorToolbarButtonSlimmer } from '../../../vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer';
|
|
11
11
|
import { VegaRTEContent } from '../../../vega-rich-text-editor/dto/content-state';
|
|
12
12
|
import RTEBlockRendererFactory from '../../../vega-rich-text-editor/dto/renderers/renderer-factory';
|
|
13
|
+
import { vegaNonceManager } from '../../../../helpers/csp/vega-nonce-manager';
|
|
13
14
|
export class VegaRichTextContentRenderer extends VegaSlimmer {
|
|
14
15
|
constructor() {
|
|
15
16
|
super();
|
|
@@ -30,7 +31,9 @@ export class VegaRichTextContentRenderer extends VegaSlimmer {
|
|
|
30
31
|
return this.richTextContentRef;
|
|
31
32
|
}
|
|
32
33
|
render() {
|
|
33
|
-
return h(Host, null,
|
|
34
|
+
return (h(Host, null,
|
|
35
|
+
this.extensionStyles ? (h("style", { nonce: vegaNonceManager.nonce, class: "rte-extension-styles" }, this.extensionStyles)) : null,
|
|
36
|
+
this.renderRichTextContent()));
|
|
34
37
|
}
|
|
35
38
|
setRTEContent() {
|
|
36
39
|
if (this.content && !(this.content instanceof VegaRTEContent)) {
|
|
@@ -76,6 +79,9 @@ __decorate([
|
|
|
76
79
|
__decorate([
|
|
77
80
|
MapToComponentField({ writable: true })
|
|
78
81
|
], VegaRichTextContentRenderer.prototype, "content", void 0);
|
|
82
|
+
__decorate([
|
|
83
|
+
MapToComponentField()
|
|
84
|
+
], VegaRichTextContentRenderer.prototype, "extensionStyles", void 0);
|
|
79
85
|
__decorate([
|
|
80
86
|
MapToComponentMethod('componentWillLoad')
|
|
81
87
|
], VegaRichTextContentRenderer.prototype, "componentWillLoad", null);
|
|
@@ -12,6 +12,7 @@ import { VegaRichTextContentRenderer } from './slimmers/renderers/vega-rich-text
|
|
|
12
12
|
import { VegaRichTextContentStateController } from './slimmers/controllers/vega-rich-text-content-state-controller';
|
|
13
13
|
import { findParent } from '../../utils/ui';
|
|
14
14
|
import { waitForComponentDidRender } from '../../helpers/common';
|
|
15
|
+
import { RTEExtensionStylesController } from './slimmers/controllers/vega-rich-text-content-extensions-styles-controller';
|
|
15
16
|
/**
|
|
16
17
|
* @vegaVersion 2.34.0
|
|
17
18
|
*/
|
|
@@ -21,12 +22,17 @@ export class VegaRichTextContent {
|
|
|
21
22
|
this.vegaComponentUsageRuntimeMetricsSlimmer = new VegaComponentUsageRuntimeMetricsSlimmer();
|
|
22
23
|
this.vegaRichTextContentRenderer = new VegaRichTextContentRenderer();
|
|
23
24
|
this.vegaRichTextContentStateController = new VegaRichTextContentStateController();
|
|
25
|
+
this.vegaRichTextContentExtensionsStylesController = new RTEExtensionStylesController();
|
|
24
26
|
/**
|
|
25
27
|
* Specifies whether the rich text content is editable.
|
|
26
28
|
*
|
|
27
29
|
* @vegaVersion 2.34.0
|
|
28
30
|
*/
|
|
29
31
|
this.contentEditable = false;
|
|
32
|
+
/**
|
|
33
|
+
* Holds the custom styles generated by extensions.
|
|
34
|
+
*/
|
|
35
|
+
this.extensionStyles = '';
|
|
30
36
|
/**
|
|
31
37
|
* Defines the configuration for rich text content extensions.
|
|
32
38
|
* It enables support for custom nodes, ensuring that extended content is rendered correctly.
|
|
@@ -38,6 +44,9 @@ export class VegaRichTextContent {
|
|
|
38
44
|
watchValueUpdate() {
|
|
39
45
|
methodPlaceholder();
|
|
40
46
|
}
|
|
47
|
+
watchExtensions(newValue, oldValue) {
|
|
48
|
+
methodPlaceholder(newValue, oldValue);
|
|
49
|
+
}
|
|
41
50
|
/**
|
|
42
51
|
* Invoke this method to focus on rich text content editable div
|
|
43
52
|
*
|
|
@@ -112,7 +121,8 @@ export class VegaRichTextContent {
|
|
|
112
121
|
}; }
|
|
113
122
|
static get states() { return {
|
|
114
123
|
"placeholder": {},
|
|
115
|
-
"contentEditable": {}
|
|
124
|
+
"contentEditable": {},
|
|
125
|
+
"extensionStyles": {}
|
|
116
126
|
}; }
|
|
117
127
|
static get methods() { return {
|
|
118
128
|
"vegaFocus": {
|
|
@@ -146,6 +156,9 @@ export class VegaRichTextContent {
|
|
|
146
156
|
static get watchers() { return [{
|
|
147
157
|
"propName": "content",
|
|
148
158
|
"methodName": "watchValueUpdate"
|
|
159
|
+
}, {
|
|
160
|
+
"propName": "extensions",
|
|
161
|
+
"methodName": "watchExtensions"
|
|
149
162
|
}]; }
|
|
150
163
|
}
|
|
151
164
|
__decorate([
|
|
@@ -160,3 +173,6 @@ __decorate([
|
|
|
160
173
|
__decorate([
|
|
161
174
|
InjectVegaSlimmer()
|
|
162
175
|
], VegaRichTextContent.prototype, "vegaRichTextContentStateController", void 0);
|
|
176
|
+
__decorate([
|
|
177
|
+
InjectVegaSlimmer()
|
|
178
|
+
], VegaRichTextContent.prototype, "vegaRichTextContentExtensionsStylesController", void 0);
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { ModifyContentAction } from '../actions/modify-content-action.abstract';
|
|
2
|
+
/**
|
|
3
|
+
* Registry for action handler interceptors, which can register and retrieve interceptors for specific actions and targets.
|
|
4
|
+
*/
|
|
5
|
+
export class ActionHandlerInterceptorRegistry {
|
|
6
|
+
/**
|
|
7
|
+
* Bind a specific strategy to a special action type of the rich text node.
|
|
8
|
+
*
|
|
9
|
+
* @param {string} actionType - The special action type or the action class name.
|
|
10
|
+
* @param {string} targetClass - The rich text node class name.
|
|
11
|
+
* @param {ActionHandlerInterceptor} strategy - The action handle strategy instance.
|
|
12
|
+
*/
|
|
13
|
+
static register(actionType, targetClass, strategy) {
|
|
14
|
+
if (!this.registry.has(targetClass)) {
|
|
15
|
+
this.registry.set(targetClass, new Map());
|
|
16
|
+
}
|
|
17
|
+
/* eslint-disable @typescript-eslint/no-non-null-assertion */
|
|
18
|
+
if (!this.registry.get(targetClass).has(actionType)) {
|
|
19
|
+
this.registry.get(targetClass).set(actionType, new Set());
|
|
20
|
+
}
|
|
21
|
+
this.registry.get(targetClass).get(actionType).add(strategy);
|
|
22
|
+
/* eslint-enable @typescript-eslint/no-non-null-assertion */
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Unregister the strategy for the specific action type and target class.
|
|
26
|
+
*
|
|
27
|
+
* @param {string} actionType - The special action type or the action class name.
|
|
28
|
+
* @param {string} targetClass - The rich text node class name.
|
|
29
|
+
* @param {ActionHandlerInterceptor} strategy - The action handler interceptor instance.
|
|
30
|
+
*/
|
|
31
|
+
static unregister(actionType, targetClass, strategy) {
|
|
32
|
+
const strategyMap = this.registry.get(targetClass);
|
|
33
|
+
if (strategyMap) {
|
|
34
|
+
const strategySet = strategyMap.get(actionType);
|
|
35
|
+
if (strategySet) {
|
|
36
|
+
strategySet.delete(strategy);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Get the special interceptor strategy that before handle the action logic.
|
|
42
|
+
*
|
|
43
|
+
* @typedef T generic type
|
|
44
|
+
* @typedef target generic type
|
|
45
|
+
* @param {RTEActionType} action - The special action .
|
|
46
|
+
* @param {string} targetClass - The rich text node class name.
|
|
47
|
+
* @returns {Nullable<ActionHandlerInterceptor<T, target>>} - The action handler interceptor instance or null if not found.
|
|
48
|
+
*/
|
|
49
|
+
static get(action, targetClass) {
|
|
50
|
+
const targetClassName = targetClass.constructor.name;
|
|
51
|
+
const actionType = action instanceof ModifyContentAction ? action.type : action.constructor.name;
|
|
52
|
+
const strategyMap = this.registry.get(targetClassName);
|
|
53
|
+
if (strategyMap) {
|
|
54
|
+
const set = strategyMap.get(actionType);
|
|
55
|
+
if (set && set.size > 0) {
|
|
56
|
+
return Array.from(set).find((interceptor) => interceptor.canIntercept(action, targetClass));
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
ActionHandlerInterceptorRegistry.registry = new Map();
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { LogUtility } from '../../../../utils/log';
|
|
2
2
|
import { ModifyContentAction } from '../actions/modify-content-action.abstract';
|
|
3
|
+
import { ActionHandlerInterceptorRegistry } from './action-handle-interceptor-registry';
|
|
3
4
|
/**
|
|
4
5
|
* The strategies registry, contains static methods `register`, `get` and `getStrategyAndExecute`.
|
|
5
6
|
*/
|
|
@@ -18,6 +19,18 @@ export class ActionHandleStrategyRegistry {
|
|
|
18
19
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
19
20
|
this.registry.get(targetClass).set(actionType, strategy);
|
|
20
21
|
}
|
|
22
|
+
/**
|
|
23
|
+
* Unregister the strategy for the specific action type and target class.
|
|
24
|
+
*
|
|
25
|
+
* @param {string} actionType - The special action type or the action class name.
|
|
26
|
+
* @param {string} targetClass - The rich text node class name.
|
|
27
|
+
*/
|
|
28
|
+
static unregister(actionType, targetClass) {
|
|
29
|
+
const strategyMap = this.registry.get(targetClass);
|
|
30
|
+
if (strategyMap) {
|
|
31
|
+
strategyMap.delete(actionType);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
21
34
|
/**
|
|
22
35
|
* Get the special strategy that handle the action logic.
|
|
23
36
|
*
|
|
@@ -43,20 +56,31 @@ export class ActionHandleStrategyRegistry {
|
|
|
43
56
|
* @returns {R | undefined} The return value of the strategy method execute invoke result.
|
|
44
57
|
*/
|
|
45
58
|
static executeTheStrategy(action, RTEInstance) {
|
|
46
|
-
const
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
59
|
+
const interceptor = ActionHandlerInterceptorRegistry.get(action, RTEInstance);
|
|
60
|
+
// eslint-disable-next-line jsdoc/require-jsdoc
|
|
61
|
+
const executeStrategy = () => {
|
|
62
|
+
const actionType = action instanceof ModifyContentAction ? action.type : action.constructor.name;
|
|
63
|
+
const strategy = ActionHandleStrategyRegistry.get(actionType, RTEInstance.constructor.name);
|
|
64
|
+
if (strategy) {
|
|
65
|
+
action['executedFlag'] = true;
|
|
66
|
+
return strategy.execute(action, RTEInstance);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
LogUtility.warn(`Type ${actionType} action handle strategy is not registered in class ${RTEInstance.constructor.name}`);
|
|
70
|
+
}
|
|
71
|
+
};
|
|
72
|
+
if (interceptor) {
|
|
73
|
+
return interceptor.intercept(executeStrategy, action, RTEInstance);
|
|
50
74
|
}
|
|
51
75
|
else {
|
|
52
|
-
|
|
76
|
+
return executeStrategy();
|
|
53
77
|
}
|
|
54
78
|
}
|
|
55
79
|
/**
|
|
56
80
|
* Check if the action type can be handled by strategy for the specific RTE instance.
|
|
57
81
|
*
|
|
58
82
|
* @param {string} actionType - The special action type or the action class name.
|
|
59
|
-
* @param {RTENode | RTEBlock} RTEInstance - The rich text editor node.
|
|
83
|
+
* @param {RTENode | RTEBlock | VegaRTEContent} RTEInstance - The rich text editor node.
|
|
60
84
|
* @returns {boolean} - Whether the action type can be handled by the strategy.
|
|
61
85
|
*/
|
|
62
86
|
static canHandle(actionType, RTEInstance) {
|
|
@@ -77,9 +77,7 @@ export class BlockDeleteNodeContentStrategy extends ActionHandleStrategy {
|
|
|
77
77
|
if (currentBlockIndex > 0) {
|
|
78
78
|
return currentBlock.parent.children[currentBlockIndex - 1];
|
|
79
79
|
}
|
|
80
|
-
else if ((currentBlock.parent
|
|
81
|
-
currentBlock.parent['type'] === 'bullet-list') &&
|
|
82
|
-
currentBlockIndex === 0) {
|
|
80
|
+
else if (this.isRTEBlock(currentBlock.parent) && currentBlockIndex === 0) {
|
|
83
81
|
return this.getPreviousBlock(currentBlock.parent);
|
|
84
82
|
}
|
|
85
83
|
}
|
|
@@ -130,4 +128,13 @@ export class BlockDeleteNodeContentStrategy extends ActionHandleStrategy {
|
|
|
130
128
|
}
|
|
131
129
|
}
|
|
132
130
|
}
|
|
131
|
+
/**
|
|
132
|
+
* Checks if the given instance is not the root content block.
|
|
133
|
+
*
|
|
134
|
+
* @param {RTEBlock | VegaRTEContent} block - The instance to check.
|
|
135
|
+
* @returns {boolean} True if the block is not the root content block, false otherwise.
|
|
136
|
+
*/
|
|
137
|
+
isRTEBlock(block) {
|
|
138
|
+
return block && block.constructor.name !== 'VegaRTEContent';
|
|
139
|
+
}
|
|
133
140
|
}
|
|
@@ -101,7 +101,8 @@ export class BlockDeleteTextOrDecoratorNodeStrategy extends BlockDeleteNodeConte
|
|
|
101
101
|
}
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
|
-
//Remove the paragraph block if the content is empty
|
|
104
|
+
// Remove the paragraph block if the content is empty
|
|
105
|
+
// TODO: Check whether need to remove below logic because already handled the same logic in remove node strategy
|
|
105
106
|
if (target.children.length === 0) {
|
|
106
107
|
target.parent.apply(new RemoveChildrenAction(target));
|
|
107
108
|
}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { InsertChildrenAfterAction } from '../../actions/insert-children-after-block';
|
|
2
|
+
import { InsertChildrenBeforeAction } from '../../actions/insert-children-before-block';
|
|
3
|
+
import { SplitBlockWithNodeAction } from '../../actions/split-block-with-node-action';
|
|
4
|
+
import { ActionHandleStrategy } from '../action-handle-strategy.abstract';
|
|
5
|
+
/**
|
|
6
|
+
* Strategy to handle the paste content into function block.
|
|
7
|
+
*/
|
|
8
|
+
export class PasteContentStrategy extends ActionHandleStrategy {
|
|
9
|
+
/**
|
|
10
|
+
* @inheritDoc
|
|
11
|
+
*/
|
|
12
|
+
handleAction(action, target) {
|
|
13
|
+
if (target.parent) {
|
|
14
|
+
const { blocksToBeInserted, startNode, startOffset } = action;
|
|
15
|
+
let futureFocusBlock = target;
|
|
16
|
+
if (startNode === target.children[0] && startOffset === 0) {
|
|
17
|
+
target.parent.apply(new InsertChildrenBeforeAction(target, ...blocksToBeInserted));
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
const breakAction = new SplitBlockWithNodeAction(startNode, startOffset);
|
|
21
|
+
target.apply(breakAction);
|
|
22
|
+
target.parent.apply(new InsertChildrenAfterAction(target, ...blocksToBeInserted));
|
|
23
|
+
futureFocusBlock = breakAction.newBlock;
|
|
24
|
+
}
|
|
25
|
+
action.futureFocusBlock = futureFocusBlock;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -29,6 +29,7 @@ export var ModifyContentActionType;
|
|
|
29
29
|
ModifyContentActionType["UPDATE_CURSOR_POSITION"] = "UPDATE_CURSOR_POSITION";
|
|
30
30
|
ModifyContentActionType["INSERT_TEXT_TO_DECORATOR_NODE"] = "INSERT_TEXT_TO_DECORATOR_NODE";
|
|
31
31
|
ModifyContentActionType["INSERT_NODE_TO_NEAREST_ROOT"] = "INSERT_NODE_TO_NEAREST_ROOT";
|
|
32
|
+
ModifyContentActionType["PASTE_CONTENT"] = "PASTE_CONTENT";
|
|
32
33
|
})(ModifyContentActionType || (ModifyContentActionType = {}));
|
|
33
34
|
/**
|
|
34
35
|
* Abstract class for update node content, delete node, insert node
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ModifyContentAction, ModifyContentActionType } from './modify-content-action.abstract';
|
|
2
|
+
/**
|
|
3
|
+
* Action to paste new content into current block.
|
|
4
|
+
*
|
|
5
|
+
* @example functionBlock.apply(new PasteContentAction(blocksToBeInserted, startNode, startOffset))
|
|
6
|
+
* @example host.value.apply(new PasteContentAction(blocksToBeInserted, startNode, startOffset))
|
|
7
|
+
*/
|
|
8
|
+
export class PasteContentAction extends ModifyContentAction {
|
|
9
|
+
constructor(blocksToBeInserted, startNode, startOffset, rteRange) {
|
|
10
|
+
super();
|
|
11
|
+
this.type = ModifyContentActionType.PASTE_CONTENT;
|
|
12
|
+
this.blocksToBeInserted = blocksToBeInserted;
|
|
13
|
+
this.startNode = startNode;
|
|
14
|
+
this.startOffset = startOffset;
|
|
15
|
+
this.rteRange = rteRange;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
@@ -14,10 +14,15 @@ export class UpdateCursorPositionAction extends ModifyContentAction {
|
|
|
14
14
|
*/
|
|
15
15
|
constructor(nextFocusNode, offset, immediatelyRun = false) {
|
|
16
16
|
super();
|
|
17
|
+
this.isFlushable = true;
|
|
17
18
|
this.type = ModifyContentActionType.UPDATE_CURSOR_POSITION;
|
|
18
19
|
this.immediatelyRun = false;
|
|
19
20
|
this.nextFocusNode = nextFocusNode;
|
|
20
21
|
this.offset = offset;
|
|
21
22
|
this.immediatelyRun = immediatelyRun;
|
|
23
|
+
// Don't flush changes if we want to immediately run the cursor update. Usually the current value is the latest value.
|
|
24
|
+
if (this.immediatelyRun) {
|
|
25
|
+
this.isFlushable = false;
|
|
26
|
+
}
|
|
22
27
|
}
|
|
23
28
|
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { isNonNullable } from '../../../../types/type-guard';
|
|
2
|
+
import { camelToDashCase } from '../../../../utils/string';
|
|
3
|
+
import { RTEBlock } from '../blocks/block.abstract';
|
|
4
|
+
import { BlockAnnotation } from './block-annotation.abstract';
|
|
5
|
+
import { CustomStyleAnnotation } from './custom-style-annotation';
|
|
6
|
+
import { NodeAnnotation } from './node-annotation.abstract';
|
|
7
|
+
/**
|
|
8
|
+
* Class to handle the style representation of annotations for RTE blocks and nodes.
|
|
9
|
+
*/
|
|
10
|
+
export class RTEAnnotationStyle {
|
|
11
|
+
constructor(dto) {
|
|
12
|
+
this.dtoType = dto instanceof RTEBlock ? 'block' : 'node';
|
|
13
|
+
this.annotationMap = dto.annotationMap;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Convert an AnnotationStyle object to a CSS text string.
|
|
17
|
+
*
|
|
18
|
+
* @param {RTERenderContext} options - Rendering context options.
|
|
19
|
+
* @param {string[]} canMergeKeyList - List of style keys that can be merged by concatenation.
|
|
20
|
+
* @param {Nullable<AnnotationStyle>} annotationStyle - The annotation style object, if null, get from toJSON().
|
|
21
|
+
* @returns {string} A string representing the CSS text.
|
|
22
|
+
*/
|
|
23
|
+
toCssText(options = { standalone: false }, canMergeKeyList, annotationStyle) {
|
|
24
|
+
annotationStyle = annotationStyle ? annotationStyle : this.toJSON(options, canMergeKeyList);
|
|
25
|
+
return Object.entries(Object.assign({}, annotationStyle))
|
|
26
|
+
.map(([key, value]) => `${camelToDashCase(key)}: ${value};`)
|
|
27
|
+
.join('');
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Convert the annotation map to a JSON representation.
|
|
31
|
+
*
|
|
32
|
+
* @param {RTERenderContext} options - Rendering context options.
|
|
33
|
+
* @param {string[]} canMergeKeyList - List of style keys that can be merged by concatenation.
|
|
34
|
+
* @returns {AnnotationStyle} - The JSON representation of the annotation styles.
|
|
35
|
+
*/
|
|
36
|
+
toJSON(options = { standalone: false }, canMergeKeyList) {
|
|
37
|
+
const styles = Array.from(this.annotationMap.values())
|
|
38
|
+
.filter((annotation) => this.filterAnnotation(annotation) || annotation instanceof CustomStyleAnnotation)
|
|
39
|
+
.map((annotation) => annotation.renderStyle(options))
|
|
40
|
+
.filter(isNonNullable);
|
|
41
|
+
if (canMergeKeyList && canMergeKeyList.length > 0) {
|
|
42
|
+
return this.mergeAnnotationStyles(styles, canMergeKeyList);
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
return styles.reduce((current, obj) => (Object.assign(Object.assign({}, current), obj)), {});
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Filter annotations based on whether they are block or node annotations.
|
|
50
|
+
*
|
|
51
|
+
* @param {RTENodeAnnotationMapValue | RTEBlockAnnotationMapValue} annotation - The annotation to filter.
|
|
52
|
+
* @returns {boolean} - True if the annotation matches the DTO type, false otherwise.
|
|
53
|
+
*/
|
|
54
|
+
filterAnnotation(annotation) {
|
|
55
|
+
return this.dtoType === 'block'
|
|
56
|
+
? annotation instanceof BlockAnnotation
|
|
57
|
+
: annotation instanceof NodeAnnotation;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Merge an array of annotation styles into a single style object.
|
|
61
|
+
* e.g.,
|
|
62
|
+
* { textDecoration: 'underline', textDecoration: 'line-through' }
|
|
63
|
+
* -> { textDecoration: 'underline line-through' }
|
|
64
|
+
*
|
|
65
|
+
* @param {AnnotationStyle[]} styles - Array of annotation style objects to merge.
|
|
66
|
+
* @param {string[]} canMergeKeyList - List of style keys that can be merged by concatenation.
|
|
67
|
+
* @returns {AnnotationStyle} - The merged annotation style object.
|
|
68
|
+
*/
|
|
69
|
+
mergeAnnotationStyles(styles, canMergeKeyList) {
|
|
70
|
+
const merged = {};
|
|
71
|
+
for (const style of styles) {
|
|
72
|
+
for (const key in style) {
|
|
73
|
+
const value = style[key];
|
|
74
|
+
const existing = merged[key];
|
|
75
|
+
if (typeof existing === 'string' &&
|
|
76
|
+
typeof value === 'string' &&
|
|
77
|
+
canMergeKeyList.includes(key)) {
|
|
78
|
+
merged[key] = Array.from(new Set(`${existing} ${value}`.split(/\s+/).filter(Boolean))).join(' ');
|
|
79
|
+
}
|
|
80
|
+
else {
|
|
81
|
+
merged[key] = value;
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
return merged;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -9,12 +9,13 @@ import { HorizontalAlignmentAnnotation } from '../annotations/horizontal-alignme
|
|
|
9
9
|
import { IndentAnnotation } from '../annotations/indent-annotation';
|
|
10
10
|
import { ActionHandleStrategyRegistry } from '../action-handle-strategies/action-handle-strategy-registry';
|
|
11
11
|
import { isNonNullable } from '../../../../types/type-guard';
|
|
12
|
-
import { camelToDashCase } from '../../../../utils/string';
|
|
13
12
|
import { CustomAttributeAnnotation } from '../annotations/custom-attribute-annotation';
|
|
14
13
|
import { CustomClassAnnotation } from '../annotations/custom-class-annotation';
|
|
15
14
|
import { CommonAnnotation, CommonAnnotationTypeEnum } from '../annotations/common-annotation.abstract';
|
|
16
15
|
import { CustomStyleAnnotation } from '../annotations/custom-style-annotation';
|
|
17
16
|
import { InternalWrapperAnnotation } from '../annotations/internal-wrapper-annotation';
|
|
17
|
+
import RTEDTOClassManager from '../../../../helpers/rte-manager/dto-class-manager';
|
|
18
|
+
import { RTEAnnotationStyle } from '../annotations/annotation-style';
|
|
18
19
|
/**
|
|
19
20
|
* Abstract class for block
|
|
20
21
|
*/
|
|
@@ -32,6 +33,26 @@ export class RTEBlock {
|
|
|
32
33
|
static from(json, options) {
|
|
33
34
|
throw new Error(`[Vega] ${this.constructor.name}.from(${JSON.stringify(json)}, ${options}) is not implemented. Please implement this method in the subclass.`);
|
|
34
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* Generates block children from an array of VegaRTEContentBlock.
|
|
38
|
+
*
|
|
39
|
+
* @param {VegaRTEContentBlock[]} blockArray - The array of VegaRTEContentBlock to generate children from.
|
|
40
|
+
* @param {VegaRTETransformOptions} [options] - Optional transformation options.
|
|
41
|
+
* @param {VegaRTEContent | RTEBlock} [parentBlock] - Optional parent block.
|
|
42
|
+
* @returns {RTEBlock[]} An array of generated RTEBlock children.
|
|
43
|
+
*/
|
|
44
|
+
static generateBlockChildren(blockArray, options, parentBlock) {
|
|
45
|
+
return blockArray
|
|
46
|
+
.map((child) => {
|
|
47
|
+
const BlockClass = RTEDTOClassManager.getRTEBlockClass(child.type);
|
|
48
|
+
if (BlockClass) {
|
|
49
|
+
const block = BlockClass.from(child, options);
|
|
50
|
+
block.parent = parentBlock;
|
|
51
|
+
return block;
|
|
52
|
+
}
|
|
53
|
+
})
|
|
54
|
+
.filter(isNonNullable);
|
|
55
|
+
}
|
|
35
56
|
/**
|
|
36
57
|
* The function `createAnnotationEntity` creates a block annotation entity based on the provided type
|
|
37
58
|
* and value.
|
|
@@ -145,11 +166,9 @@ export class RTEBlock {
|
|
|
145
166
|
* @returns {AnnotationStyle} - Annotation styles
|
|
146
167
|
*/
|
|
147
168
|
getStyles(options = { standalone: false }) {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
.filter(isNonNullable)
|
|
152
|
-
.reduce((current, obj) => (Object.assign(Object.assign({}, current), obj)), {})), (this.shouldRenderAsInternalWrapper() ? { display: 'contents' } : {}));
|
|
169
|
+
const rteAnnotationStyle = new RTEAnnotationStyle(this);
|
|
170
|
+
const blockAnnotationStyle = rteAnnotationStyle.toJSON(options);
|
|
171
|
+
return Object.assign(Object.assign({}, blockAnnotationStyle), (this.shouldRenderAsInternalWrapper() ? { display: 'contents' } : {}));
|
|
153
172
|
}
|
|
154
173
|
/**
|
|
155
174
|
* Get classes from annotations
|
|
@@ -180,9 +199,8 @@ export class RTEBlock {
|
|
|
180
199
|
*/
|
|
181
200
|
generateAttributeString(...attrs) {
|
|
182
201
|
var _a;
|
|
183
|
-
const
|
|
184
|
-
|
|
185
|
-
.join('');
|
|
202
|
+
const blockAnnotationStyle = new RTEAnnotationStyle(this);
|
|
203
|
+
const styles = blockAnnotationStyle.toCssText({ standalone: true });
|
|
186
204
|
const customClassAnnotation = this.annotationMap.get(CommonAnnotationTypeEnum.CUSTOM_CLASS);
|
|
187
205
|
const customAttributeString = ((_a = this.getCustomAttributesAnnotation()) === null || _a === void 0 ? void 0 : _a.toString(attrs)) || [];
|
|
188
206
|
const attributes = [
|