@heartlandone/vega 2.49.1 → 2.50.0-RTE-preview
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-65622aeb.js → app-globals-8e811cac.js} +6 -6
- package/dist/cjs/{child-nodes-event-prevent-slimmer-cc193ee1.js → child-nodes-event-prevent-slimmer-26ecfb15.js} +1 -1
- package/dist/cjs/{content-state-6a48bcb5.js → code-block-4cd8bccd.js} +1166 -1131
- package/dist/cjs/content-state-6cb98931.js +2496 -0
- package/dist/cjs/{design-token-cba4222e.js → design-token-8b48cb59.js} +1 -1
- package/dist/cjs/{element-appender-slimmer-4a26ecb2.js → element-appender-slimmer-d6b975e6.js} +3 -3
- package/dist/cjs/{event-emit-slimmer-8247249c.js → event-emit-slimmer-ee7a8c06.js} +1 -1
- package/dist/cjs/{form-field-controller-slimmer-4b0af5bc.js → form-field-controller-slimmer-88cbb139.js} +4 -4
- package/dist/cjs/{image-annotation-action-9c2b9c8e.js → image-annotation-action-f36b1a72.js} +65 -35
- package/dist/cjs/{index-c4dec3aa.js → index-4dd54e6b.js} +1 -1
- package/dist/cjs/{index-09acd3c9.js → index-7700600c.js} +9 -0
- package/dist/cjs/index.cjs.js +17 -16
- package/dist/cjs/{internal-vega-event-manager-c9948b59.js → internal-vega-event-manager-58afcde7.js} +1 -0
- package/dist/cjs/loader.cjs.js +11 -9
- package/dist/cjs/{public-rules-10ec636d.js → public-rules-555271e0.js} +8 -6
- package/dist/cjs/{responsive-format-facade-263d49f6.js → responsive-format-facade-8ce41c8a.js} +3 -3
- package/dist/cjs/{rich-text-editor-required-rule-5faded94.js → rich-text-editor-required-rule-d1b38bf7.js} +1 -1
- package/dist/cjs/selection-controller-828990cc.js +765 -0
- package/dist/cjs/string-39438062.js +24 -0
- package/dist/cjs/{string-input-formatter-slimmer-50322824.js → string-input-formatter-slimmer-9e7d7ce2.js} +2 -2
- package/dist/cjs/{style-formatter-ae0ef7fc.js → style-formatter-2294d77f.js} +1 -1
- package/dist/cjs/{sub-state-notify-slimmer-7f437b19.js → sub-state-notify-slimmer-f3ee01b7.js} +1 -1
- package/dist/cjs/{sub-state-observer-slimmer-e90362cd.js → sub-state-observer-slimmer-e1a00b74.js} +1 -1
- package/dist/cjs/{translation-212b1875.js → translation-e5003a00.js} +5 -0
- package/dist/cjs/{translation-slimmer-d1512c6d.js → translation-slimmer-127a0f83.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +11 -9
- package/dist/cjs/vega-app-footer.cjs.entry.js +1 -1
- package/dist/cjs/vega-app-header-button.cjs.entry.js +12 -10
- package/dist/cjs/vega-backdrop.cjs.entry.js +1 -1
- package/dist/cjs/vega-banner.cjs.entry.js +3 -3
- package/dist/cjs/vega-bar-chart.cjs.entry.js +1 -1
- package/dist/cjs/vega-box.cjs.entry.js +11 -9
- package/dist/cjs/vega-brand-logo.cjs.entry.js +1 -1
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
- package/dist/cjs/vega-button-circle.cjs.entry.js +12 -10
- package/dist/cjs/vega-button-group_2.cjs.entry.js +7 -7
- package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
- package/dist/cjs/vega-button.cjs.entry.js +11 -9
- package/dist/cjs/vega-calendar_3.cjs.entry.js +9 -9
- package/dist/cjs/vega-card.cjs.entry.js +10 -8
- package/dist/cjs/vega-carousel.cjs.entry.js +10 -8
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-chip.cjs.entry.js +12 -10
- package/dist/cjs/vega-code-block.cjs.entry.js +4073 -0
- package/dist/cjs/vega-color-picker.cjs.entry.js +8 -8
- package/dist/cjs/vega-combo-box.cjs.entry.js +9 -9
- package/dist/cjs/vega-counter-badge.cjs.entry.js +1 -1
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +17 -16
- package/dist/cjs/vega-dialog_2.cjs.entry.js +12 -10
- package/dist/cjs/vega-divider.cjs.entry.js +10 -8
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +15 -13
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-error.cjs.entry.js +1 -1
- package/dist/cjs/vega-field-label.cjs.entry.js +3 -3
- package/dist/cjs/vega-file-uploader.cjs.entry.js +9 -9
- package/dist/cjs/vega-flag-icon.cjs.entry.js +10 -8
- package/dist/cjs/vega-flex.cjs.entry.js +11 -9
- package/dist/cjs/vega-font.cjs.entry.js +10 -8
- package/dist/cjs/vega-form.cjs.entry.js +10 -10
- package/dist/cjs/vega-grid.cjs.entry.js +10 -8
- package/dist/cjs/vega-hint.cjs.entry.js +1 -1
- package/dist/cjs/vega-icon.cjs.entry.js +10 -8
- package/dist/cjs/vega-image-uploader.cjs.entry.js +14 -13
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-numeric.cjs.entry.js +10 -10
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +12 -11
- package/dist/cjs/vega-input-range.cjs.entry.js +10 -10
- package/dist/cjs/vega-input-select.cjs.entry.js +19 -18
- package/dist/cjs/vega-input.cjs.entry.js +10 -10
- package/dist/cjs/{vega-internal-event-id-bfea9b93.js → vega-internal-event-id-62371952.js} +2 -0
- package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +13 -11
- package/dist/cjs/vega-line-chart.cjs.entry.js +1 -1
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +9 -7
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +4 -4
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +4 -4
- package/dist/cjs/vega-pagination.cjs.entry.js +12 -10
- package/dist/cjs/vega-pie-chart.cjs.entry.js +1 -1
- package/dist/cjs/vega-popover_2.cjs.entry.js +11 -9
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +3 -3
- package/dist/cjs/vega-radio_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +311 -137
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +1225 -2502
- package/dist/cjs/vega-section-title.cjs.entry.js +1 -1
- package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +14 -13
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +10 -10
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +12 -10
- package/dist/cjs/vega-signature-capture.cjs.entry.js +14 -13
- package/dist/cjs/{vega-skeleton-loader-controller-db868c98.js → vega-skeleton-loader-controller-83e05b6c.js} +1 -1
- package/dist/cjs/vega-skeleton.cjs.entry.js +1 -1
- package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
- package/dist/cjs/vega-stepper.cjs.entry.js +9 -9
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-table_8.cjs.entry.js +14 -12
- package/dist/cjs/vega-text.cjs.entry.js +1 -1
- package/dist/cjs/vega-textarea.cjs.entry.js +9 -9
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +15 -14
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +8 -8
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +10 -8
- package/dist/cjs/vega.cjs.js +11 -9
- package/dist/collection/collection-manifest.json +7 -1
- package/dist/collection/components/vega-code-block/assets/copy.js +3 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.js +62 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/default-code-highlight-parse-controller.js +48 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.js +99 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-content-parse-controller.js +50 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-focus-controller.js +57 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-input-controller.js +255 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-selection-controller.js +266 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-value-controller.js +44 -0
- package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-content-renderer.js +123 -0
- package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-copy-button-renderer.js +67 -0
- package/dist/collection/components/vega-code-block/slimmers/renderers/vega-code-block-renderer.js +122 -0
- package/dist/collection/components/vega-code-block/types.js +10 -0
- package/dist/collection/components/vega-code-block/vega-code-block.css +158 -0
- package/dist/collection/components/vega-code-block/vega-code-block.js +399 -0
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +5 -5
- package/dist/collection/components/vega-rich-text-content/slimmers/renderers/vega-rich-text-content-renderer.js +2 -0
- package/dist/collection/components/vega-rich-text-content/vega-rich-text-content.css +60 -5
- package/dist/collection/components/vega-rich-text-editor/assets/file-code.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/assets/rectangle-code.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.js +24 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-text-style-strategy.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/code-node-set-selection-range-strategy.js +13 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/node-update-annotation-map-strategy.js +14 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-text-content-strategy.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-code-block-strategy.js +48 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-insert-image-strategy.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.js +77 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/switch-out-from-code-block-strategy.js +38 -0
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-code-block-strategy.js +14 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.js +4 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/remove-code-block-action.js +13 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/switch-out-from-code-block-action.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/transform-to-code-block-action.js +13 -0
- package/dist/collection/components/vega-rich-text-editor/dto/actions/update-code-block-action.js +15 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/bold-annotation.js +13 -5
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/code-annotation.js +14 -9
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.js +65 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.js +54 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.js +57 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.js +26 -10
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/image-annotation.js +16 -7
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/indent-annotation.js +8 -2
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/italic-annotation.js +13 -5
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-annotation.js +12 -9
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/link-group-annotation.js +89 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/list-annotation.js +41 -0
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.js +9 -9
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-color-annotation.js +3 -7
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/text-style-annotation.js +74 -12
- package/dist/collection/components/vega-rich-text-editor/dto/annotations/underline-annotation.js +9 -9
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/block.abstract.js +69 -2
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/code-block.js +106 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/image-block.js +15 -1
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-block.js +50 -0
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/list-item-block.js +12 -1
- package/dist/collection/components/vega-rich-text-editor/dto/blocks/text-block.js +66 -2
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +29 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +56 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/image-node.js +26 -9
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +81 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +15 -2
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.js +5 -22
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.js +9 -93
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.js +62 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/image-block-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.js +121 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-block-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/list-item-block-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.js +2 -23
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/code-block-node-renderer.js +81 -0
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.js +47 -7
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.js +0 -27
- package/dist/collection/components/vega-rich-text-editor/dto/renderers/nodes/text-node-renderer.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/delete-selected-nodes-controller.js +19 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.js +155 -15
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/continue-inline-to-rte-text-block-strategy.js +2 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.js +6 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-rte-image-block-strategy.abstract.js +38 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.js +3 -20
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-block-to-rte-text-block-strategy.js +59 -5
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.js +54 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/li-to-rte-list-item-block-strategy.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/span-img-to-rte-image-block-strategy.js +3 -20
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-not-li-child-to-rte-list-item-block.js +7 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-code-block-to-rte-code-block-strategy.js +69 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.js +4 -7
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +7 -5
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paragraph-handler.js +7 -5
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +25 -10
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/internal-code-block-selection-controller.js +64 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +59 -53
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.js +21 -8
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.js +10 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.js +65 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +8 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +3 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.js +2 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +3 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.js +60 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +6 -4
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.js +3 -2
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +5 -3
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.js +28 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.js +31 -3
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/code-block-strategy-registry.test.js +21 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/content-state-strategy-registry.test.js +2 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/image-block-strategy-register.test.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/action-handle-strategies/text-block-strategy-register.test.js +23 -1
- package/dist/collection/components/vega-rich-text-editor/test/dto/annotations.test.js +247 -27
- package/dist/collection/components/vega-rich-text-editor/test/dto/blocks/code-block.test.js +54 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/content-state.test.js +1793 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/image-node.test.js +12 -0
- package/dist/collection/components/vega-rich-text-editor/test/dto/nodes/text-node.test.js +41 -4
- package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.test.js +32 -0
- package/dist/collection/components/vega-rich-text-editor/test/element-to-dto-strategy/vega-code-block-to-rte-code-block-strategy.test.js +61 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.css +7 -0
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +18 -1
- package/dist/collection/helpers/code-format/code-formatter.js +108 -0
- package/dist/collection/helpers/code-format/test/code-formatter.test.js +362 -0
- package/dist/collection/helpers/event-manager/event-id/component-event-id-map.js +2 -1
- package/dist/collection/helpers/event-manager/event-id/vega-internal-event-id.js +1 -0
- package/dist/collection/helpers/slimmers/auto-run-when-re-render-task-queue-slimmer.abstract.js +47 -0
- package/dist/collection/helpers/slimmers/test/auto-run-when-re-render-task-queue-slimmer.test.js +46 -0
- package/dist/collection/helpers/translation/locales/en.js +5 -0
- package/dist/collection/helpers/translation/tests/internal-translation-controller.test.js +5 -0
- package/dist/collection/polyfill/shadow-selection/shadow-selection-polyfill.js +17 -15
- package/dist/collection/polyfill/shadow-selection/test/shadow-selection-polyfill.test.js +1 -0
- package/dist/collection/polyfill/test-polyfill/unit/methods.js +9 -0
- package/dist/collection/utils/string.js +10 -0
- package/dist/esm/{app-globals-1f8c30e9.js → app-globals-9058ac3b.js} +6 -6
- package/dist/esm/{child-nodes-event-prevent-slimmer-5d45361e.js → child-nodes-event-prevent-slimmer-1142fb79.js} +1 -1
- package/dist/esm/{content-state-dbc9f635.js → code-block-8b5bd928.js} +1141 -1122
- package/dist/esm/content-state-8c3f862b.js +2489 -0
- package/dist/esm/{design-token-0699f0ca.js → design-token-bd436e0d.js} +1 -1
- package/dist/esm/{dom-node-subject-factory-f77cf9cc.js → dom-node-subject-factory-eb6bba5d.js} +1 -1
- package/dist/esm/{dom-node-subject-observer-factory-715dccf9.js → dom-node-subject-observer-factory-6083d518.js} +1 -1
- package/dist/esm/{element-appender-slimmer-96cb54e2.js → element-appender-slimmer-baf5e249.js} +5 -5
- package/dist/esm/{event-emit-slimmer-b7d511f6.js → event-emit-slimmer-480d3b54.js} +3 -3
- package/dist/esm/{form-field-controller-slimmer-89a72ee7.js → form-field-controller-slimmer-bfb4034d.js} +6 -6
- package/dist/esm/{image-annotation-action-1aa938ab.js → image-annotation-action-a8b860ad.js} +57 -28
- package/dist/esm/{index-187f71d1.js → index-d0a47531.js} +9 -0
- package/dist/esm/{index-4aa167d6.js → index-db0ec3ee.js} +2 -2
- package/dist/esm/index.js +12 -11
- package/dist/esm/{internal-vega-event-manager-87dc436c.js → internal-vega-event-manager-56c6469a.js} +2 -1
- package/dist/esm/loader.js +12 -10
- package/dist/esm/polyfills/core-js.js +0 -0
- package/dist/esm/polyfills/dom.js +0 -0
- package/dist/esm/polyfills/es5-html-element.js +0 -0
- package/dist/esm/polyfills/index.js +0 -0
- package/dist/esm/polyfills/system.js +0 -0
- package/dist/esm/{public-rules-5cf6aa95.js → public-rules-90fbd41a.js} +8 -6
- package/dist/esm/{responsive-format-facade-42f3fcfa.js → responsive-format-facade-827de03a.js} +3 -3
- package/dist/esm/{rich-text-editor-required-rule-6a7cd3ee.js → rich-text-editor-required-rule-0d470d82.js} +1 -1
- package/dist/esm/selection-controller-dd4f4407.js +759 -0
- package/dist/esm/string-a953eafc.js +21 -0
- package/dist/esm/{string-input-formatter-slimmer-c61f82d6.js → string-input-formatter-slimmer-0d30b976.js} +3 -3
- package/dist/esm/{style-formatter-cb00c709.js → style-formatter-232842f5.js} +1 -1
- package/dist/esm/{sub-state-notify-slimmer-4e3cf09d.js → sub-state-notify-slimmer-04e06501.js} +2 -2
- package/dist/esm/{sub-state-observer-slimmer-be7a6ce3.js → sub-state-observer-slimmer-b4c2ddc3.js} +2 -2
- package/dist/esm/{translation-cf7f020a.js → translation-71e0711d.js} +5 -0
- package/dist/esm/{translation-slimmer-88966d5c.js → translation-slimmer-e6b130bf.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +13 -11
- package/dist/esm/vega-app-footer.entry.js +1 -1
- package/dist/esm/vega-app-header-button.entry.js +14 -12
- package/dist/esm/vega-backdrop.entry.js +1 -1
- package/dist/esm/vega-banner.entry.js +5 -5
- package/dist/esm/vega-bar-chart.entry.js +1 -1
- package/dist/esm/vega-box.entry.js +12 -10
- package/dist/esm/vega-brand-logo.entry.js +1 -1
- package/dist/esm/vega-breadcrumb.entry.js +6 -6
- package/dist/esm/vega-button-circle.entry.js +14 -12
- package/dist/esm/vega-button-group_2.entry.js +9 -9
- package/dist/esm/vega-button-link.entry.js +6 -6
- package/dist/esm/vega-button.entry.js +13 -11
- package/dist/esm/vega-calendar_3.entry.js +11 -11
- package/dist/esm/vega-card.entry.js +11 -9
- package/dist/esm/vega-carousel.entry.js +12 -10
- package/dist/esm/vega-checkbox_2.entry.js +11 -11
- package/dist/esm/vega-chip.entry.js +14 -12
- package/dist/esm/vega-code-block.entry.js +4069 -0
- package/dist/esm/vega-color-picker.entry.js +10 -10
- package/dist/esm/vega-combo-box.entry.js +11 -11
- package/dist/esm/vega-counter-badge.entry.js +1 -1
- package/dist/esm/vega-date-picker_2.entry.js +19 -18
- package/dist/esm/vega-dialog_2.entry.js +14 -12
- package/dist/esm/vega-divider.entry.js +11 -9
- package/dist/esm/vega-dropdown_5.entry.js +17 -15
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-error.entry.js +1 -1
- package/dist/esm/vega-field-label.entry.js +5 -5
- package/dist/esm/vega-file-uploader.entry.js +11 -11
- package/dist/esm/vega-flag-icon.entry.js +11 -9
- package/dist/esm/vega-flex.entry.js +12 -10
- package/dist/esm/vega-font.entry.js +11 -9
- package/dist/esm/vega-form.entry.js +12 -12
- package/dist/esm/vega-grid.entry.js +11 -9
- package/dist/esm/vega-hint.entry.js +1 -1
- package/dist/esm/vega-icon.entry.js +11 -9
- package/dist/esm/vega-image-uploader.entry.js +16 -15
- package/dist/esm/vega-input-credit-card.entry.js +11 -11
- package/dist/esm/vega-input-numeric.entry.js +12 -12
- package/dist/esm/vega-input-phone-number.entry.js +14 -13
- package/dist/esm/vega-input-range.entry.js +12 -12
- package/dist/esm/vega-input-select.entry.js +21 -20
- package/dist/esm/vega-input.entry.js +12 -12
- package/dist/esm/{vega-internal-event-id-85ad403f.js → vega-internal-event-id-820393ad.js} +2 -1
- package/dist/esm/vega-item-toggle.entry.js +5 -5
- package/dist/esm/vega-left-nav_5.entry.js +15 -13
- package/dist/esm/vega-line-chart.entry.js +1 -1
- package/dist/esm/vega-loader-wrapper_2.entry.js +10 -8
- package/dist/esm/vega-page-notification_2.entry.js +3 -3
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +6 -6
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +6 -6
- package/dist/esm/vega-pagination.entry.js +14 -12
- package/dist/esm/vega-pie-chart.entry.js +1 -1
- package/dist/esm/vega-popover_2.entry.js +13 -11
- package/dist/esm/vega-progress-tracker.entry.js +5 -5
- package/dist/esm/vega-radio_2.entry.js +11 -11
- package/dist/esm/vega-rich-text-content.entry.js +305 -131
- package/dist/esm/vega-rich-text-editor_4.entry.js +1132 -2409
- package/dist/esm/vega-section-title.entry.js +1 -1
- package/dist/esm/vega-segment-control.entry.js +5 -5
- package/dist/esm/vega-selection-chip_2.entry.js +16 -15
- package/dist/esm/vega-selection-tile_2.entry.js +12 -12
- package/dist/esm/vega-sidenav_3.entry.js +14 -12
- package/dist/esm/vega-signature-capture.entry.js +16 -15
- package/dist/esm/{vega-skeleton-loader-controller-c2a8bd27.js → vega-skeleton-loader-controller-878e1b28.js} +1 -1
- package/dist/esm/vega-skeleton.entry.js +1 -1
- package/dist/esm/vega-slot-container.entry.js +1 -1
- package/dist/esm/vega-stepper.entry.js +11 -11
- package/dist/esm/vega-tab-group_2.entry.js +6 -6
- package/dist/esm/vega-table_8.entry.js +16 -14
- package/dist/esm/vega-text.entry.js +1 -1
- package/dist/esm/vega-textarea.entry.js +11 -11
- package/dist/esm/vega-time-picker_2.entry.js +17 -16
- package/dist/esm/vega-toggle-switch.entry.js +10 -10
- package/dist/esm/vega-tooltip_2.entry.js +12 -10
- package/dist/esm/vega.js +12 -10
- package/dist/types/components/vega-code-block/assets/copy.d.ts +3 -0
- package/dist/types/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.d.ts +40 -0
- package/dist/types/components/vega-code-block/slimmers/controllers/default-code-highlight-parse-controller.d.ts +19 -0
- package/dist/types/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.d.ts +43 -0
- package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-content-parse-controller.d.ts +23 -0
- package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-focus-controller.d.ts +21 -0
- package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-input-controller.d.ts +100 -0
- package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-selection-controller.d.ts +93 -0
- package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-value-controller.d.ts +21 -0
- package/dist/types/components/vega-code-block/slimmers/renderers/vega-code-block-content-renderer.d.ts +57 -0
- package/dist/types/components/vega-code-block/slimmers/renderers/vega-code-block-copy-button-renderer.d.ts +23 -0
- package/dist/types/components/vega-code-block/slimmers/renderers/vega-code-block-renderer.d.ts +50 -0
- package/dist/types/components/vega-code-block/types.d.ts +19 -0
- package/dist/types/components/vega-code-block/vega-code-block.d.ts +116 -0
- package/dist/types/components/vega-rich-text-editor/assets/file-code.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/assets/rectangle-code.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/action-handle-strategy.abstract.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-horizontal-alignment-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/block-update-indent-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/apply-annotation-strategies/code-node-set-selection-range-strategy.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-delete-node-content-strategy.d.ts +3 -3
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-remove-node-strategy.d.ts +4 -5
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-transform-to-code-block-strategy.d.ts +29 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-insert-image-strategy.d.ts +15 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/code-block-remove-self-strategy.d.ts +28 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/switch-out-from-code-block-strategy.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/update-code-block-strategy.d.ts +12 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/custom-style-annotation-action.d.ts +17 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/modify-content-action.abstract.d.ts +5 -1
- package/dist/types/components/vega-rich-text-editor/dto/actions/remove-code-block-action.d.ts +10 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/switch-out-from-code-block-action.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/transform-to-code-block-action.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/dto/actions/update-code-block-action.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/annotation.abstract.d.ts +2 -1
- package/dist/types/components/vega-rich-text-editor/dto/annotations/block-annotation.abstract.d.ts +17 -4
- package/dist/types/components/vega-rich-text-editor/dto/annotations/bold-annotation.d.ts +7 -5
- package/dist/types/components/vega-rich-text-editor/dto/annotations/clear-formatting-annotation.d.ts +2 -1
- package/dist/types/components/vega-rich-text-editor/dto/annotations/code-annotation.d.ts +5 -9
- package/dist/types/components/vega-rich-text-editor/dto/annotations/common-annotation.abstract.d.ts +20 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-attribute-annotation.d.ts +43 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-class-annotation.d.ts +40 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/custom-style-annotation.d.ts +42 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/horizontal-alignment-annotation.d.ts +5 -9
- package/dist/types/components/vega-rich-text-editor/dto/annotations/image-annotation.d.ts +7 -5
- package/dist/types/components/vega-rich-text-editor/dto/annotations/indent-annotation.d.ts +5 -1
- package/dist/types/components/vega-rich-text-editor/dto/annotations/italic-annotation.d.ts +7 -5
- package/dist/types/components/vega-rich-text-editor/dto/annotations/link-annotation.d.ts +6 -4
- package/dist/types/components/vega-rich-text-editor/dto/annotations/link-group-annotation.d.ts +48 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/list-annotation.d.ts +25 -0
- package/dist/types/components/vega-rich-text-editor/dto/annotations/node-annotation.abstract.d.ts +15 -3
- package/dist/types/components/vega-rich-text-editor/dto/annotations/strikethrough-annotation.d.ts +5 -9
- package/dist/types/components/vega-rich-text-editor/dto/annotations/text-color-annotation.d.ts +3 -7
- package/dist/types/components/vega-rich-text-editor/dto/annotations/text-style-annotation.d.ts +7 -5
- package/dist/types/components/vega-rich-text-editor/dto/annotations/underline-annotation.d.ts +5 -9
- package/dist/types/components/vega-rich-text-editor/dto/blocks/block.abstract.d.ts +39 -4
- package/dist/types/components/vega-rich-text-editor/dto/blocks/code-block.d.ts +56 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/image-block.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-block.d.ts +20 -2
- package/dist/types/components/vega-rich-text-editor/dto/blocks/list-item-block.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/blocks/text-block.d.ts +14 -4
- package/dist/types/components/vega-rich-text-editor/dto/content-state.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +45 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/image-node.d.ts +4 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +46 -2
- package/dist/types/components/vega-rich-text-editor/dto/nodes/text-node.d.ts +7 -2
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-renderer.abstract.d.ts +4 -11
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/block-text-nodes-renderer.abstract.d.ts +7 -5
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.d.ts +39 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/link-wrapper-renderer.d.ts +24 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/blocks/text-block-renderer.d.ts +0 -1
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/code-block-node-renderer.d.ts +37 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/image-node-renderer.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/dto/renderers/nodes/node-renderer.abstract.d.ts +1 -15
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +65 -26
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/block-to-rte-block-strategy.abstract.d.ts +64 -6
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-dto-strategy-processor.d.ts +3 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/element-to-rte-image-block-strategy.abstract.d.ts +20 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/img-to-rte-image-block-strategy.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/inline-block-to-rte-text-block-strategy.d.ts +30 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.d.ts +31 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ol-to-rte-list-block-strategy.d.ts +2 -3
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/span-img-to-rte-image-block-strategy.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/ul-to-rte-list-block-strategy.d.ts +2 -3
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-code-block-to-rte-code-block-strategy.d.ts +42 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/element-to-dto-strategy/vega-image-to-rte-image-block-strategy.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +7 -1
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/internal-code-block-selection-controller.d.ts +45 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +17 -23
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/user-input-controller.d.ts +6 -4
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/toolbar-renderer.d.ts +2 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.d.ts +3 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-block-toolbar-button-slimmer.d.ts +22 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/code-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/center-align-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.d.ts +4 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/justify-align-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/left-align-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/right-align-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +3 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/link-toolbar-button-slimmer.d.ts +3 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/source-edit-toolbar-button-slimmer.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.d.ts +3 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.d.ts +3 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/toolbar-button-slimmer.abstract.d.ts +3 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.d.ts +2 -2
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/visual-mode-toolbar-button-slimmer.abstract.d.ts +17 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/vega-rich-text-editor-renderer.d.ts +8 -2
- package/dist/types/components/vega-rich-text-editor/test/dto/action-handle-strategies/code-block-strategy-registry.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/blocks/code-block.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/dto/content-state.test.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/jira-code-to-rte-code-block-strategy.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/test/element-to-dto-strategy/vega-code-block-to-rte-code-block-strategy.test.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +7 -0
- package/dist/types/components.d.ts +95 -0
- package/dist/types/helpers/code-format/code-formatter.d.ts +34 -0
- package/dist/types/helpers/code-format/test/code-formatter.test.d.ts +1 -0
- package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +1 -0
- package/dist/types/helpers/slimmers/auto-run-when-re-render-task-queue-slimmer.abstract.d.ts +20 -0
- package/dist/types/helpers/slimmers/test/auto-run-when-re-render-task-queue-slimmer.test.d.ts +1 -0
- package/dist/types/helpers/translation/interface.d.ts +6 -1
- package/dist/types/polyfill/shadow-selection/shadow-selection-polyfill.d.ts +26 -0
- package/dist/types/types/components.type.d.ts +1 -0
- package/dist/types/utils/string.d.ts +7 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/p-0104207d.entry.js +1 -0
- package/dist/vega/p-010f1715.entry.js +1 -0
- package/dist/vega/p-01593f9d.js +1 -0
- package/dist/vega/p-020b04ed.js +1 -0
- package/dist/vega/p-02841589.js +1 -0
- package/dist/vega/p-03cfb331.entry.js +9 -0
- package/dist/vega/{p-b649e86e.entry.js → p-0bff8716.entry.js} +1 -1
- package/dist/vega/p-1056a049.entry.js +1 -0
- package/dist/vega/p-10e41bbe.js +1 -0
- package/dist/vega/{p-83ef9e7d.entry.js → p-12e6173c.entry.js} +1 -1
- package/dist/vega/{p-54add0d2.js → p-1397ba3f.js} +1 -1
- package/dist/vega/p-13d9a1fd.entry.js +1 -0
- package/dist/vega/p-13eae47f.entry.js +1 -0
- package/dist/vega/p-1630864e.entry.js +1 -0
- package/dist/vega/p-1b335e30.entry.js +1 -0
- package/dist/vega/{p-8ade44bf.js → p-1e194737.js} +1 -1
- package/dist/vega/{p-252e42c7.entry.js → p-1f346008.entry.js} +1 -1
- package/dist/vega/p-1f86ab76.entry.js +1 -0
- package/dist/vega/p-1fe746ab.entry.js +1 -0
- package/dist/vega/{p-8c388b58.entry.js → p-211c028f.entry.js} +1 -1
- package/dist/vega/p-21d26bb4.js +2 -0
- package/dist/vega/{p-b351ace3.entry.js → p-23e6f2b2.entry.js} +1 -1
- package/dist/vega/p-268aea63.js +1 -0
- package/dist/vega/{p-a01f149d.entry.js → p-27ccf34d.entry.js} +1 -1
- package/dist/vega/{p-913eb7f9.entry.js → p-29f9be26.entry.js} +1 -1
- package/dist/vega/{p-27003a81.entry.js → p-30dcf606.entry.js} +1 -1
- package/dist/vega/{p-89ab72e3.js → p-3c20ae84.js} +1 -1
- package/dist/vega/p-4172fb81.js +1 -0
- package/dist/vega/{p-45f696b4.js → p-419697c6.js} +1 -1
- package/dist/vega/p-427e4cee.entry.js +1 -0
- package/dist/vega/p-4604ed0e.entry.js +1 -0
- package/dist/vega/{p-8d283666.js → p-4ab3df00.js} +1 -1
- package/dist/vega/{p-72ecfd40.js → p-4e8fb53a.js} +1 -1
- package/dist/vega/p-50a3ae3d.js +1 -0
- package/dist/vega/{p-b847a143.entry.js → p-50b80d76.entry.js} +1 -1
- package/dist/vega/p-531ffb18.entry.js +1 -0
- package/dist/vega/p-53daeb45.entry.js +1 -0
- package/dist/vega/p-54fdd401.entry.js +1 -0
- package/dist/vega/{p-47ff95ba.entry.js → p-5741ecf0.entry.js} +1 -1
- package/dist/vega/{p-6cabdb36.js → p-58f8928a.js} +1 -1
- package/dist/vega/{p-4a32a6c0.entry.js → p-5c4cb804.entry.js} +1 -1
- package/dist/vega/{p-a46bc9f1.entry.js → p-5ce386c8.entry.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-0079088b.entry.js → p-5fd5a538.entry.js} +1 -1
- package/dist/vega/{p-0969877b.entry.js → p-64f452fe.entry.js} +1 -1
- package/dist/vega/p-66759f4e.js +1 -0
- package/dist/vega/{p-bc2dd43d.js → p-6ea42854.js} +1 -1
- package/dist/vega/p-70f25341.entry.js +1 -0
- package/dist/vega/{p-ec1f2d21.entry.js → p-737bccb9.entry.js} +1 -1
- package/dist/vega/{p-bcb10ae3.entry.js → p-7503fe08.entry.js} +1 -1
- package/dist/vega/{p-46714da3.entry.js → p-7b0a4688.entry.js} +1 -1
- package/dist/vega/p-7def7b74.entry.js +1 -0
- package/dist/vega/{p-48517a5d.entry.js → p-7f5a85c6.entry.js} +1 -1
- package/dist/vega/p-825ae7c4.js +1 -0
- package/dist/vega/p-831c4144.entry.js +1 -0
- package/dist/vega/p-85dc08b4.entry.js +1 -0
- package/dist/vega/{p-a821bcf3.js → p-86782109.js} +1 -1
- package/dist/vega/p-87459914.js +1 -0
- package/dist/vega/{p-1971d980.entry.js → p-87a1fc77.entry.js} +1 -1
- package/dist/vega/p-89565247.entry.js +1 -0
- package/dist/vega/{p-7088ead9.entry.js → p-89e915e9.entry.js} +1 -1
- package/dist/vega/{p-81fbfb6d.entry.js → p-8aa7e56e.entry.js} +1 -1
- package/dist/vega/p-94263ece.entry.js +1 -0
- package/dist/vega/{p-d0007822.entry.js → p-9524e48a.entry.js} +1 -1
- package/dist/vega/{p-147e3cbd.entry.js → p-991b4717.entry.js} +1 -1
- package/dist/vega/{p-647025dd.entry.js → p-99b9b320.entry.js} +1 -1
- package/dist/vega/{p-aea89be5.entry.js → p-9ba14b7c.entry.js} +1 -1
- package/dist/vega/p-9cb79f8d.entry.js +1 -0
- package/dist/vega/p-9e3f52f0.entry.js +1 -0
- package/dist/vega/{p-6586e2a2.entry.js → p-a0e122a6.entry.js} +1 -1
- package/dist/vega/{p-9803042f.entry.js → p-b0fe6c0f.entry.js} +1 -1
- package/dist/vega/{p-b2bca332.entry.js → p-b518e1a0.entry.js} +1 -1
- package/dist/vega/p-b538e81a.entry.js +1 -0
- package/dist/vega/p-b824baf7.entry.js +1 -0
- package/dist/vega/{p-2fadef27.entry.js → p-b959b4d4.entry.js} +1 -1
- package/dist/vega/{p-54f17c2e.entry.js → p-bb4f0fa1.entry.js} +1 -1
- package/dist/vega/{p-2da83c2a.js → p-bbb39d6f.js} +1 -1
- package/dist/vega/{p-cfda64fd.entry.js → p-bc8fd0ee.entry.js} +1 -1
- package/dist/vega/p-bcaf8375.entry.js +1 -0
- package/dist/vega/{p-02d7d948.entry.js → p-bec90ff3.entry.js} +1 -1
- package/dist/vega/p-c6b94dde.entry.js +1 -0
- package/dist/vega/{p-c754b32c.js → p-ce6b62c4.js} +1 -1
- package/dist/vega/{p-5e34ea25.entry.js → p-d00fbc11.entry.js} +1 -1
- package/dist/vega/{p-10a40dfb.entry.js → p-d2a2af2c.entry.js} +1 -1
- package/dist/vega/p-d64b20c2.js +1 -0
- package/dist/vega/p-da779940.entry.js +1 -0
- package/dist/vega/{p-a7dcb2a3.js → p-db910162.js} +1 -1
- package/dist/vega/{p-6f81fe1e.js → p-e1a2a701.js} +1 -1
- package/dist/vega/p-e3694aa5.entry.js +1 -0
- package/dist/vega/p-e7318c4c.entry.js +1 -0
- package/dist/vega/{p-a5c39ba2.entry.js → p-e8fc027e.entry.js} +1 -1
- package/dist/vega/{p-6a830bc5.entry.js → p-e92ecb78.entry.js} +1 -1
- package/dist/vega/p-e969c3f4.entry.js +1 -0
- package/dist/vega/{p-61eb7f32.entry.js → p-ec8b7f01.entry.js} +1 -1
- package/dist/vega/p-eed9bda2.entry.js +1 -0
- package/dist/vega/p-f4c54c98.entry.js +1 -0
- package/dist/vega/{p-5160a6b9.entry.js → p-f5fc80bc.entry.js} +1 -1
- package/dist/vega/p-f67be7ef.js +1 -0
- package/dist/vega/{p-5e3a15a1.js → p-f9fafc55.js} +1 -1
- package/dist/vega/{p-27e56c67.entry.js → p-fc21fb2d.entry.js} +1 -1
- package/dist/vega/p-fed9220b.entry.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +2 -1
- package/dist/cjs/string-21427167.js +0 -13
- package/dist/esm/string-be824360.js +0 -11
- package/dist/vega/p-06adb37e.entry.js +0 -1
- package/dist/vega/p-06c5fe97.entry.js +0 -1
- package/dist/vega/p-0bb29d98.js +0 -1
- package/dist/vega/p-0ed7a098.entry.js +0 -1
- package/dist/vega/p-0f6b3a89.entry.js +0 -1
- package/dist/vega/p-136f665b.entry.js +0 -1
- package/dist/vega/p-1503f791.js +0 -1
- package/dist/vega/p-16fd7c32.js +0 -1
- package/dist/vega/p-1a263af1.entry.js +0 -1
- package/dist/vega/p-1af4771a.entry.js +0 -1
- package/dist/vega/p-1c298d5a.js +0 -2
- package/dist/vega/p-1c63afd2.entry.js +0 -1
- package/dist/vega/p-1e05b7b4.entry.js +0 -1
- package/dist/vega/p-1ea863a6.entry.js +0 -1
- package/dist/vega/p-271b30b9.entry.js +0 -1
- package/dist/vega/p-2d1d4f33.entry.js +0 -1
- package/dist/vega/p-353b3ded.entry.js +0 -1
- package/dist/vega/p-44b0a005.js +0 -1
- package/dist/vega/p-4e76904e.entry.js +0 -1
- package/dist/vega/p-4ec0d36f.entry.js +0 -1
- package/dist/vega/p-5c954088.entry.js +0 -1
- package/dist/vega/p-646a9198.entry.js +0 -1
- package/dist/vega/p-6d7d923b.js +0 -1
- package/dist/vega/p-6e898779.js +0 -1
- package/dist/vega/p-77492977.entry.js +0 -1
- package/dist/vega/p-804f71b3.js +0 -1
- package/dist/vega/p-8789d34d.entry.js +0 -1
- package/dist/vega/p-8813c0ac.entry.js +0 -1
- package/dist/vega/p-8a85c7af.entry.js +0 -1
- package/dist/vega/p-8ba43640.entry.js +0 -1
- package/dist/vega/p-98c64d77.entry.js +0 -1
- package/dist/vega/p-9f3539a4.entry.js +0 -1
- package/dist/vega/p-b42aea55.entry.js +0 -1
- package/dist/vega/p-b5d70ee0.entry.js +0 -1
- package/dist/vega/p-bf1894ec.js +0 -1
- package/dist/vega/p-bfb344e1.entry.js +0 -1
- package/dist/vega/p-c9a4e79a.entry.js +0 -1
- package/dist/vega/p-dbc82247.js +0 -1
- package/dist/vega/p-e2e36d2b.entry.js +0 -1
- package/dist/vega/p-ef8272b5.entry.js +0 -1
- package/dist/vega/p-f4c1d961.js +0 -1
- package/dist/vega/p-f5279deb.entry.js +0 -1
- package/dist/vega/p-f8033cd3.entry.js +0 -1
- package/dist/vega/p-fe63bd50.entry.js +0 -1
|
@@ -1,4 +1,16 @@
|
|
|
1
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
2
|
+
var t = {};
|
|
3
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
4
|
+
t[p] = s[p];
|
|
5
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
6
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
7
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
8
|
+
t[p[i]] = s[p[i]];
|
|
9
|
+
}
|
|
10
|
+
return t;
|
|
11
|
+
};
|
|
1
12
|
import { generateUUID } from '../../../../../../utils/misc';
|
|
13
|
+
import { dashCaseToCamel } from '../../../../../../utils/string';
|
|
2
14
|
import { rgbToHex } from '../../../../../../utils/ui';
|
|
3
15
|
import { RTE_TEXT_COLORS } from '../../../../constants/constant';
|
|
4
16
|
import { ElementToDTOStrategy } from './element-to-dto-strategy.abstract';
|
|
@@ -22,7 +34,7 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
|
|
|
22
34
|
* </li>
|
|
23
35
|
*
|
|
24
36
|
* @param {HTMLElement[]} elements - Child elements.
|
|
25
|
-
* @param {VegaRTETextAnnotations
|
|
37
|
+
* @param {VegaRTETextAnnotations} annotations - Parent annotations.
|
|
26
38
|
* @returns {VegaRTETextNode[]} - Text node DTO.
|
|
27
39
|
*/
|
|
28
40
|
generateChildNodes(elements, annotations = {}) {
|
|
@@ -39,7 +51,7 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
|
|
|
39
51
|
});
|
|
40
52
|
}
|
|
41
53
|
else {
|
|
42
|
-
childNodes.push(...this.generateChildNodes(Array.from(child.childNodes),
|
|
54
|
+
childNodes.push(...this.generateChildNodes(Array.from(child.childNodes), this.inheritAndGenerateTextNodeAnnotations(child, annotations)));
|
|
43
55
|
}
|
|
44
56
|
});
|
|
45
57
|
return childNodes;
|
|
@@ -58,36 +70,138 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
|
|
|
58
70
|
annotations.textAlign = textAlign;
|
|
59
71
|
if (indent)
|
|
60
72
|
annotations.indent = indent;
|
|
73
|
+
this.generateCommonAnnotations(element, annotations);
|
|
61
74
|
return annotations;
|
|
62
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* Obtain the custom attributes of element, excluding 'style' and 'class'.
|
|
78
|
+
*
|
|
79
|
+
* @param {HTMLElement} element - current element.
|
|
80
|
+
* @param {string[]} attributes - the custom attributes of current element.
|
|
81
|
+
* @returns {Record<string, string>} - Record<string, string>.
|
|
82
|
+
*/
|
|
83
|
+
generateCustomAttrAnnotations(element, attributes) {
|
|
84
|
+
return attributes.reduce((acc, item) => {
|
|
85
|
+
acc[item] = element.getAttribute(item);
|
|
86
|
+
return acc;
|
|
87
|
+
}, {});
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Obtain and format the style of element.
|
|
91
|
+
*
|
|
92
|
+
* @param {HTMLElement} element - current element.
|
|
93
|
+
* @returns {AnnotationStyle} - Record<string, string>.
|
|
94
|
+
*/
|
|
95
|
+
generateCustomStyleAnnotations(element) {
|
|
96
|
+
const customStyle = element.getAttribute('style');
|
|
97
|
+
const styleValue = customStyle.split(';').filter(Boolean);
|
|
98
|
+
return styleValue
|
|
99
|
+
.filter((key) => key !== ' ')
|
|
100
|
+
.map((key) => {
|
|
101
|
+
// to remove redundant quote pairs if needed, for example: ['fontFamily: "Roboto Mono"'] will be updated to ['fontFamily: Roboto Mono']
|
|
102
|
+
const styleObject = key.replace(/(['"])((?:\\\1|[^\1])*?)\1/g, '$2').split(':');
|
|
103
|
+
const styleKey = dashCaseToCamel(styleObject[0].trim());
|
|
104
|
+
return {
|
|
105
|
+
[styleKey]: styleObject[1].trim().replace(';', ''),
|
|
106
|
+
};
|
|
107
|
+
})
|
|
108
|
+
.reduce((current, obj) => (Object.assign(Object.assign({}, current), obj)), {});
|
|
109
|
+
}
|
|
110
|
+
/**
|
|
111
|
+
* Inherit annotation from block should not include custom annotation.
|
|
112
|
+
*
|
|
113
|
+
* @param {HTMLElement} element - current element.
|
|
114
|
+
* @returns {VegaRTETextAnnotations} - Inherit node annotations.
|
|
115
|
+
*/
|
|
116
|
+
generateBlockInheritAnnotations(element) {
|
|
117
|
+
const annotations = this.generateTextNodeAnnotations(element);
|
|
118
|
+
return this.filterOutCustomAnnotation(annotations);
|
|
119
|
+
}
|
|
120
|
+
/**
|
|
121
|
+
* Generate custom attribute, custom class and custom style annotation.
|
|
122
|
+
*
|
|
123
|
+
* @param {HTMLElement} element - current element.
|
|
124
|
+
* @param {VegaRTEBlockAnnotations} annotations - current element.
|
|
125
|
+
* @returns {VegaRTETextAnnotations} - Inherit node annotations.
|
|
126
|
+
*/
|
|
127
|
+
generateCommonAnnotations(element, annotations = {}) {
|
|
128
|
+
const customAttributes = this.getCustomAttributeName(element);
|
|
129
|
+
const customClass = this.getCustomClass(element);
|
|
130
|
+
if (customAttributes.length > 0)
|
|
131
|
+
annotations.customAttribute = this.generateCustomAttrAnnotations(element, customAttributes);
|
|
132
|
+
if (customClass.length > 0)
|
|
133
|
+
annotations.customClass = customClass;
|
|
134
|
+
if (element.getAttribute('style'))
|
|
135
|
+
annotations.customStyle = this.generateCustomStyleAnnotations(element);
|
|
136
|
+
return annotations;
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Inherit and generate text node annotations.
|
|
140
|
+
*
|
|
141
|
+
* @param {HTMLElement} element - current element.
|
|
142
|
+
* @param {VegaRTETextAnnotations} parentAnnotations - parent annotations
|
|
143
|
+
* @returns {VegaRTETextAnnotations} - Inherit node annotations.
|
|
144
|
+
*/
|
|
145
|
+
inheritAndGenerateTextNodeAnnotations(element, parentAnnotations) {
|
|
146
|
+
const inheritedAnnotation = this.filterOutCustomAnnotation(parentAnnotations);
|
|
147
|
+
const currentNodeAnnotation = this.generateTextNodeAnnotations(element);
|
|
148
|
+
parentAnnotations.bold && (currentNodeAnnotation.bold = true);
|
|
149
|
+
parentAnnotations.underline && (currentNodeAnnotation.underline = true);
|
|
150
|
+
parentAnnotations.italic && (currentNodeAnnotation.italic = true);
|
|
151
|
+
parentAnnotations.strikethrough && (currentNodeAnnotation.strikethrough = true);
|
|
152
|
+
return Object.assign({}, inheritedAnnotation, currentNodeAnnotation);
|
|
153
|
+
}
|
|
63
154
|
/**
|
|
64
155
|
* Generate annotations map for text node element.
|
|
65
156
|
*
|
|
66
157
|
* @param {HTMLElement} element - current element.
|
|
67
|
-
* @
|
|
68
|
-
* @returns {VegaRTETextAnnotations | VegaRTECodeAnnotations} - Text node annotations.
|
|
158
|
+
* @returns {VegaRTETextAnnotations} - Text node annotations.
|
|
69
159
|
*/
|
|
70
|
-
generateTextNodeAnnotations(element
|
|
71
|
-
if (this.isCode(element))
|
|
72
|
-
return { code: true };
|
|
160
|
+
generateTextNodeAnnotations(element) {
|
|
73
161
|
const annotations = {
|
|
74
162
|
bold: this.isBold(element),
|
|
75
163
|
italic: this.isItalic(element),
|
|
76
164
|
underline: this.isUnderline(element),
|
|
77
165
|
strikethrough: this.isStrikethrough(element),
|
|
166
|
+
code: this.isCode(element),
|
|
78
167
|
};
|
|
79
|
-
parentAnnotations.bold && (annotations.bold = true);
|
|
80
|
-
parentAnnotations.underline && (annotations.underline = true);
|
|
81
|
-
parentAnnotations.italic && (annotations.italic = true);
|
|
82
|
-
parentAnnotations.strikethrough && (annotations.strikethrough = true);
|
|
83
168
|
const color = this.getColor(element);
|
|
84
169
|
const link = this.getLink(element);
|
|
85
170
|
if (color)
|
|
86
171
|
annotations.textColor = color;
|
|
87
|
-
|
|
172
|
+
// while have link, the custom attribute, class and style have already generated in link annotation,
|
|
173
|
+
// so we not need generate it again.
|
|
174
|
+
if (link) {
|
|
88
175
|
annotations.link = link;
|
|
176
|
+
}
|
|
177
|
+
else {
|
|
178
|
+
this.generateCommonAnnotations(element, annotations);
|
|
179
|
+
}
|
|
89
180
|
return annotations;
|
|
90
181
|
}
|
|
182
|
+
/**
|
|
183
|
+
* Filter out custom annotations.
|
|
184
|
+
*
|
|
185
|
+
* @param {VegaRTETextAnnotations} annotations - Annotations.
|
|
186
|
+
* @returns {VegaRTETextAnnotations} - Filtered annotations.
|
|
187
|
+
*/
|
|
188
|
+
filterOutCustomAnnotation(annotations) {
|
|
189
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
190
|
+
const { customAttribute, customClass, customStyle } = annotations, filteredAnnotation = __rest(annotations, ["customAttribute", "customClass", "customStyle"]);
|
|
191
|
+
return filteredAnnotation;
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Get the custom class
|
|
195
|
+
*
|
|
196
|
+
* @param {HTMLElement} element - current element.
|
|
197
|
+
* @returns {string[]} - the class after .
|
|
198
|
+
*/
|
|
199
|
+
getCustomClass(element) {
|
|
200
|
+
return element.classList
|
|
201
|
+
.toString()
|
|
202
|
+
.split(' ')
|
|
203
|
+
.filter((item) => !item.includes('v-rte') && item !== '');
|
|
204
|
+
}
|
|
91
205
|
/**
|
|
92
206
|
* Check is a invalid text node.
|
|
93
207
|
*
|
|
@@ -111,6 +225,7 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
|
|
|
111
225
|
isCode(element) {
|
|
112
226
|
return (element.classList.contains('v-rte--code') ||
|
|
113
227
|
element.nodeName === 'CODE' ||
|
|
228
|
+
element.nodeName === 'PRE' ||
|
|
114
229
|
element.style.fontFamily === 'monospace');
|
|
115
230
|
}
|
|
116
231
|
/**
|
|
@@ -123,7 +238,8 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
|
|
|
123
238
|
return (element.nodeName === 'STRONG' ||
|
|
124
239
|
element.nodeName === 'B' ||
|
|
125
240
|
element.style.fontWeight === 'bold' ||
|
|
126
|
-
element.style.fontWeight === '700'
|
|
241
|
+
element.style.fontWeight === '700' ||
|
|
242
|
+
element.classList.contains('v-rte--bold'));
|
|
127
243
|
}
|
|
128
244
|
/**
|
|
129
245
|
* Is italic element.
|
|
@@ -132,7 +248,10 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
|
|
|
132
248
|
* @returns {boolean} - boolean.
|
|
133
249
|
*/
|
|
134
250
|
isItalic(element) {
|
|
135
|
-
return element.nodeName === 'I' ||
|
|
251
|
+
return (element.nodeName === 'I' ||
|
|
252
|
+
element.style.fontStyle === 'italic' ||
|
|
253
|
+
element.nodeName === 'EM' ||
|
|
254
|
+
element.classList.contains('v-rte--italic'));
|
|
136
255
|
}
|
|
137
256
|
/**
|
|
138
257
|
* Is underline element.
|
|
@@ -191,10 +310,22 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
|
|
|
191
310
|
*/
|
|
192
311
|
getLink(element) {
|
|
193
312
|
if (element.nodeName === 'A') {
|
|
194
|
-
|
|
313
|
+
const link = {
|
|
195
314
|
href: element.href,
|
|
196
315
|
groupKey: generateUUID(),
|
|
197
316
|
};
|
|
317
|
+
const customAttributes = this.getCustomAttributeName(element);
|
|
318
|
+
const customClass = this.getCustomClass(element);
|
|
319
|
+
if (customAttributes.length > 0) {
|
|
320
|
+
link.customAttribute = this.generateCustomAttrAnnotations(element, customAttributes);
|
|
321
|
+
}
|
|
322
|
+
if (customClass.length > 0) {
|
|
323
|
+
link.customClass = customClass;
|
|
324
|
+
}
|
|
325
|
+
if (element.getAttribute('style')) {
|
|
326
|
+
link.customStyle = this.generateCustomStyleAnnotations(element);
|
|
327
|
+
}
|
|
328
|
+
return link;
|
|
198
329
|
}
|
|
199
330
|
return null;
|
|
200
331
|
}
|
|
@@ -265,4 +396,13 @@ export class BlockToRTEBlockStrategyAbstract extends ElementToDTOStrategy {
|
|
|
265
396
|
const marginLeftNumber = Number(marginLeft.replace('px', ''));
|
|
266
397
|
return marginLeftNumber && marginLeftNumber >= 0 ? Math.floor(marginLeftNumber / 16) : null;
|
|
267
398
|
}
|
|
399
|
+
/**
|
|
400
|
+
* Get custom attribute of current element, excluding 'style' and 'class'.
|
|
401
|
+
*
|
|
402
|
+
* @param {HTMLElement} element - current element.
|
|
403
|
+
* @returns {string[]} - Text align.
|
|
404
|
+
*/
|
|
405
|
+
getCustomAttributeName(element) {
|
|
406
|
+
return element.getAttributeNames().filter((attr) => attr !== 'style' && attr !== 'class');
|
|
407
|
+
}
|
|
268
408
|
}
|
|
@@ -33,7 +33,7 @@ export class ContinueInlineToRTETextBlockStrategy extends BlockToRTEBlockStrateg
|
|
|
33
33
|
*/
|
|
34
34
|
handle(elementsArray) {
|
|
35
35
|
const parent = elementsArray[0].parentElement;
|
|
36
|
-
const nodes = this.generateChildNodes(elementsArray, this.
|
|
36
|
+
const nodes = this.generateChildNodes(elementsArray, this.generateBlockInheritAnnotations(parent));
|
|
37
37
|
if (nodes.length === 0)
|
|
38
38
|
return null;
|
|
39
39
|
return RTETextBlock.from({
|
|
@@ -71,4 +71,5 @@ ContinueInlineToRTETextBlockStrategy.canHandleTags = [
|
|
|
71
71
|
'B',
|
|
72
72
|
'INS',
|
|
73
73
|
'DEL',
|
|
74
|
+
'PRE',
|
|
74
75
|
];
|
|
@@ -8,14 +8,18 @@ import { VegaImageToRTEImageBlockStrategy } from './vega-image-to-rte-image-bloc
|
|
|
8
8
|
import { OlToRTEListBlockStrategy } from './ol-to-rte-list-block-strategy';
|
|
9
9
|
import { SpanImageToRTEImageBlockStrategy } from './span-img-to-rte-image-block-strategy';
|
|
10
10
|
import { ULNotLiChildToRTEListItemBlockStrategy } from './ul-not-li-child-to-rte-list-item-block';
|
|
11
|
+
import { VegaCodeBlockToRTECodeBlockStrategy } from './vega-code-block-to-rte-code-block-strategy';
|
|
12
|
+
import { JiraCodeToRTECodeBlockStrategy } from './jira-code-to-rte-code-block-strategy';
|
|
11
13
|
/** Element to DTO processor */
|
|
12
|
-
|
|
14
|
+
class ElementToDtoStrategyProcessor {
|
|
13
15
|
constructor() {
|
|
14
16
|
this.elementStrategies = [
|
|
15
17
|
new UlToRTEListBlockStrategy(),
|
|
16
18
|
new OlToRTEListBlockStrategy(),
|
|
17
19
|
new ULNotLiChildToRTEListItemBlockStrategy(),
|
|
18
20
|
new LiToRTEListItemBlockStrategy(),
|
|
21
|
+
new VegaCodeBlockToRTECodeBlockStrategy(),
|
|
22
|
+
new JiraCodeToRTECodeBlockStrategy(),
|
|
19
23
|
new InlineBlockToRTETextBlockStrategy(),
|
|
20
24
|
new ImgToRTEImageBlockStrategy(),
|
|
21
25
|
new VegaImageToRTEImageBlockStrategy(),
|
|
@@ -70,3 +74,4 @@ export class ElementToDtoStrategyProcessor {
|
|
|
70
74
|
return ['META', 'BUTTON', 'STYLE'].includes(element.nodeName);
|
|
71
75
|
}
|
|
72
76
|
}
|
|
77
|
+
export default new ElementToDtoStrategyProcessor();
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { generateUUID } from '../../../../../../utils/misc';
|
|
2
|
+
import { RTEImageBlock } from '../../../../dto/blocks/image-block';
|
|
3
|
+
import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
|
|
4
|
+
/** Abstract class for block html element to RTE block dto */
|
|
5
|
+
export class ElementToRTEImageBlockStrategyAbstract extends BlockToRTEBlockStrategyAbstract {
|
|
6
|
+
/**
|
|
7
|
+
* Determine the image display size based on the width of the current element.
|
|
8
|
+
*
|
|
9
|
+
* @param {HTMLElement} element - current element.
|
|
10
|
+
* @returns {VegaRichTextImageEditorSizeType} -Image size, default 'md'.
|
|
11
|
+
*/
|
|
12
|
+
getImageSize(element) {
|
|
13
|
+
if (element.getAttribute('data-size'))
|
|
14
|
+
return element.getAttribute('data-size');
|
|
15
|
+
return 'md';
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Create a RTE Image block according to the img element.
|
|
19
|
+
*
|
|
20
|
+
* @param {HTMLElement} element - current element.
|
|
21
|
+
* @returns {RTEImageBlock} -RTE Image block.
|
|
22
|
+
*/
|
|
23
|
+
createRTEImageBlock(element) {
|
|
24
|
+
return RTEImageBlock.from({
|
|
25
|
+
id: generateUUID(),
|
|
26
|
+
type: 'image',
|
|
27
|
+
nodes: [
|
|
28
|
+
{
|
|
29
|
+
id: generateUUID(),
|
|
30
|
+
type: 'image',
|
|
31
|
+
url: element.src,
|
|
32
|
+
annotations: Object.assign({ size: this.getImageSize(element), alt: element.alt }, this.generateCommonAnnotations(element)),
|
|
33
|
+
},
|
|
34
|
+
],
|
|
35
|
+
annotations: this.generateBlockAnnotations(element.parentElement),
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
}
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { generateUUID } from '../../../../../../utils/misc';
|
|
3
|
-
import { RTEImageBlock } from '../../../../dto/blocks/image-block';
|
|
1
|
+
import { ElementToRTEImageBlockStrategyAbstract } from './element-to-rte-image-block-strategy.abstract';
|
|
4
2
|
/** Transform img element to image block DTO */
|
|
5
|
-
export class ImgToRTEImageBlockStrategy extends
|
|
3
|
+
export class ImgToRTEImageBlockStrategy extends ElementToRTEImageBlockStrategyAbstract {
|
|
6
4
|
/**
|
|
7
5
|
* Can be handle.
|
|
8
6
|
*
|
|
@@ -21,22 +19,7 @@ export class ImgToRTEImageBlockStrategy extends BlockToRTEBlockStrategyAbstract
|
|
|
21
19
|
*/
|
|
22
20
|
handle(elementsArray) {
|
|
23
21
|
const element = elementsArray[0];
|
|
24
|
-
return
|
|
25
|
-
id: generateUUID(),
|
|
26
|
-
type: 'image',
|
|
27
|
-
nodes: [
|
|
28
|
-
{
|
|
29
|
-
id: generateUUID(),
|
|
30
|
-
type: 'image',
|
|
31
|
-
url: element.src,
|
|
32
|
-
annotations: {
|
|
33
|
-
size: 'md',
|
|
34
|
-
alt: element.alt,
|
|
35
|
-
},
|
|
36
|
-
},
|
|
37
|
-
],
|
|
38
|
-
annotations: this.generateBlockAnnotations(element),
|
|
39
|
-
});
|
|
22
|
+
return this.createRTEImageBlock(element);
|
|
40
23
|
}
|
|
41
24
|
/* istanbul ignore next */
|
|
42
25
|
/**
|
|
@@ -31,7 +31,7 @@ export class InlineBlockToRTETextBlockStrategy extends BlockToRTEBlockStrategyAb
|
|
|
31
31
|
* @returns {Nullable<RTEContentBlock>} - Text block.
|
|
32
32
|
*/
|
|
33
33
|
handle(elementsArray) {
|
|
34
|
-
const nodes = this.generateChildNodes(elementsArray);
|
|
34
|
+
const nodes = this.generateChildNodes(Array.from(elementsArray[0].childNodes));
|
|
35
35
|
if (nodes.length === 0)
|
|
36
36
|
return null;
|
|
37
37
|
return RTETextBlock.from({
|
|
@@ -56,16 +56,47 @@ export class InlineBlockToRTETextBlockStrategy extends BlockToRTEBlockStrategyAb
|
|
|
56
56
|
return false;
|
|
57
57
|
}
|
|
58
58
|
/**
|
|
59
|
-
* Get node type of element.
|
|
59
|
+
* Get the node type of element. The element type is determined in the following
|
|
60
|
+
* order: "data-type" attribute, node name, font size and class name.
|
|
60
61
|
*
|
|
61
62
|
* @param {HTMLElement} element - element.
|
|
62
63
|
* @returns {string} - node type.
|
|
63
64
|
*/
|
|
64
65
|
getElementType(element) {
|
|
65
|
-
|
|
66
|
+
const byDataType = this.getElementTypeByDataType(element);
|
|
67
|
+
if (byDataType)
|
|
68
|
+
return byDataType;
|
|
69
|
+
const byNodeName = this.getElementTypeByNodeName(element);
|
|
70
|
+
if (byNodeName)
|
|
71
|
+
return byNodeName;
|
|
72
|
+
const byFontSize = this.getElementTypeByFontSize(element);
|
|
73
|
+
if (byFontSize)
|
|
74
|
+
return byFontSize;
|
|
75
|
+
const byClassName = this.getElementTypeByClassName(element);
|
|
76
|
+
if (byClassName)
|
|
77
|
+
return byClassName;
|
|
78
|
+
return 'paragraph';
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get the element type by data-type attribute.
|
|
82
|
+
*
|
|
83
|
+
* @param {HTMLElement} element - element.
|
|
84
|
+
* @returns {Nullable<string>} - element type or null if not found.
|
|
85
|
+
*/
|
|
86
|
+
getElementTypeByDataType(element) {
|
|
66
87
|
if (element.nodeType !== Node.TEXT_NODE && element.hasAttribute('data-type')) {
|
|
67
88
|
return element.getAttribute('data-type');
|
|
68
89
|
}
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Get the element type by font size.
|
|
94
|
+
*
|
|
95
|
+
* @param {HTMLElement} element - element.
|
|
96
|
+
* @returns {Nullable<string>} - element type or null if not found.
|
|
97
|
+
*/
|
|
98
|
+
getElementTypeByFontSize(element) {
|
|
99
|
+
var _a;
|
|
69
100
|
switch ((_a = element.style) === null || _a === void 0 ? void 0 : _a.fontSize) {
|
|
70
101
|
case '36px':
|
|
71
102
|
return 'title';
|
|
@@ -78,8 +109,16 @@ export class InlineBlockToRTETextBlockStrategy extends BlockToRTEBlockStrategyAb
|
|
|
78
109
|
case '18px':
|
|
79
110
|
return 'heading-3';
|
|
80
111
|
default:
|
|
81
|
-
|
|
112
|
+
return null;
|
|
82
113
|
}
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Get the element type by node name.
|
|
117
|
+
*
|
|
118
|
+
* @param {HTMLElement} element - element.
|
|
119
|
+
* @returns {Nullable<string>} - element type or null if not found.
|
|
120
|
+
*/
|
|
121
|
+
getElementTypeByNodeName(element) {
|
|
83
122
|
switch (element.nodeName) {
|
|
84
123
|
case 'H1':
|
|
85
124
|
return 'heading-1';
|
|
@@ -94,7 +133,22 @@ export class InlineBlockToRTETextBlockStrategy extends BlockToRTEBlockStrategyAb
|
|
|
94
133
|
case 'H6':
|
|
95
134
|
return 'heading-6';
|
|
96
135
|
default:
|
|
97
|
-
return
|
|
136
|
+
return null;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
/**
|
|
140
|
+
* Get the element type by class name.
|
|
141
|
+
*
|
|
142
|
+
* @param {HTMLElement} element - element.
|
|
143
|
+
* @returns {Nullable<string>} - element type or null if not found.
|
|
144
|
+
*/
|
|
145
|
+
getElementTypeByClassName(element) {
|
|
146
|
+
if (element.className) {
|
|
147
|
+
const match = /\bv-rte--text-style-(title|subtitle|heading-1|heading-2|heading-3|paragraph)\b/.exec(element.className);
|
|
148
|
+
if (match) {
|
|
149
|
+
return match[1];
|
|
150
|
+
}
|
|
98
151
|
}
|
|
152
|
+
return null;
|
|
99
153
|
}
|
|
100
154
|
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { generateUUID } from '../../../../../../utils/misc';
|
|
2
|
+
import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
|
|
3
|
+
import { RTECodeBlock } from '../../../../dto/blocks/code-block';
|
|
4
|
+
/** Transform other editor code element which has attribute data-language to RTE code block DTO */
|
|
5
|
+
export class JiraCodeToRTECodeBlockStrategy extends BlockToRTEBlockStrategyAbstract {
|
|
6
|
+
/**
|
|
7
|
+
* Can be handle.
|
|
8
|
+
*
|
|
9
|
+
* @param {HTMLElement[]} elementsArray - Current elements.
|
|
10
|
+
* @param {number} currentIndex - Current element index.
|
|
11
|
+
* @returns {number} - can be handled element count.
|
|
12
|
+
*/
|
|
13
|
+
canHandle(elementsArray, currentIndex) {
|
|
14
|
+
return (elementsArray[currentIndex].tagName === 'PRE' ||
|
|
15
|
+
elementsArray[currentIndex].tagName === 'CODE') &&
|
|
16
|
+
elementsArray[currentIndex].hasAttribute('data-language')
|
|
17
|
+
? 1
|
|
18
|
+
: 0;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Parse to a code block.
|
|
22
|
+
*
|
|
23
|
+
* @param {HTMLElement[]} elementsArray - Current elements.
|
|
24
|
+
* @returns {Nullable<RTECodeBlock>} - Code block.
|
|
25
|
+
*/
|
|
26
|
+
handle(elementsArray) {
|
|
27
|
+
const codeRef = elementsArray[0];
|
|
28
|
+
if (codeRef) {
|
|
29
|
+
const content = codeRef.textContent;
|
|
30
|
+
const language = codeRef.dataset
|
|
31
|
+
.language;
|
|
32
|
+
return RTECodeBlock.from({
|
|
33
|
+
id: generateUUID(),
|
|
34
|
+
type: 'code-block',
|
|
35
|
+
content,
|
|
36
|
+
language,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
/* istanbul ignore next */
|
|
41
|
+
/**
|
|
42
|
+
* Append child blocks.
|
|
43
|
+
*/
|
|
44
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
45
|
+
appendChildBlocks() { }
|
|
46
|
+
/**
|
|
47
|
+
* Should continue process to child elements.
|
|
48
|
+
*
|
|
49
|
+
* @returns {boolean} - boolean.
|
|
50
|
+
*/
|
|
51
|
+
shouldProceedToElementChildren() {
|
|
52
|
+
return false;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
@@ -25,7 +25,7 @@ export class LiToRTEListItemBlockStrategy extends BlockToRTEBlockStrategyAbstrac
|
|
|
25
25
|
return RTEListItemBlock.from({
|
|
26
26
|
id: generateUUID(),
|
|
27
27
|
type: 'list-item',
|
|
28
|
-
nodes: this.generateChildNodes(Array.from(elementsArray[0].childNodes).filter((item) => !['UL', 'OL'].includes(item.nodeName)), this.
|
|
28
|
+
nodes: this.generateChildNodes(Array.from(elementsArray[0].childNodes).filter((item) => !['UL', 'OL'].includes(item.nodeName)), this.generateBlockInheritAnnotations(elementsArray[0])),
|
|
29
29
|
annotations: this.generateBlockAnnotations(elementsArray[0]),
|
|
30
30
|
});
|
|
31
31
|
}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { generateUUID } from '../../../../../../utils/misc';
|
|
2
2
|
import { RTEListBlock } from '../../../../dto/blocks/list-block';
|
|
3
|
+
import { RTEListItemBlock } from '../../../../dto/blocks/list-item-block';
|
|
3
4
|
import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
|
|
4
5
|
/** Transform ol element to list block DTO */
|
|
5
6
|
export class OlToRTEListBlockStrategy extends BlockToRTEBlockStrategyAbstract {
|
|
@@ -33,10 +34,10 @@ export class OlToRTEListBlockStrategy extends BlockToRTEBlockStrategyAbstract {
|
|
|
33
34
|
* Append child list item blocks to current list block.
|
|
34
35
|
*
|
|
35
36
|
* @param {RTEListBlock} currentBlock - Current list block.
|
|
36
|
-
* @param {
|
|
37
|
+
* @param {RTEContentBlock[]} childBlocks - Current list item blocks.
|
|
37
38
|
*/
|
|
38
39
|
appendChildBlocks(currentBlock, childBlocks) {
|
|
39
|
-
currentBlock.blocks = childBlocks;
|
|
40
|
+
currentBlock.blocks = childBlocks.filter((block) => block instanceof RTEListItemBlock);
|
|
40
41
|
childBlocks.forEach((block) => (block.parent = currentBlock));
|
|
41
42
|
}
|
|
42
43
|
/**
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { generateUUID } from '../../../../../../utils/misc';
|
|
3
|
-
import { RTEImageBlock } from '../../../../dto/blocks/image-block';
|
|
1
|
+
import { ElementToRTEImageBlockStrategyAbstract } from './element-to-rte-image-block-strategy.abstract';
|
|
4
2
|
/** Transform img in span or other inline element to image block DTO */
|
|
5
|
-
export class SpanImageToRTEImageBlockStrategy extends
|
|
3
|
+
export class SpanImageToRTEImageBlockStrategy extends ElementToRTEImageBlockStrategyAbstract {
|
|
6
4
|
/**
|
|
7
5
|
* Can be handle.
|
|
8
6
|
*
|
|
@@ -26,22 +24,7 @@ export class SpanImageToRTEImageBlockStrategy extends BlockToRTEBlockStrategyAbs
|
|
|
26
24
|
*/
|
|
27
25
|
handle(elementsArray) {
|
|
28
26
|
const element = elementsArray[0].querySelector('img');
|
|
29
|
-
return
|
|
30
|
-
id: generateUUID(),
|
|
31
|
-
type: 'image',
|
|
32
|
-
nodes: [
|
|
33
|
-
{
|
|
34
|
-
id: generateUUID(),
|
|
35
|
-
type: 'image',
|
|
36
|
-
url: element.src,
|
|
37
|
-
annotations: {
|
|
38
|
-
size: 'md',
|
|
39
|
-
alt: element.alt,
|
|
40
|
-
},
|
|
41
|
-
},
|
|
42
|
-
],
|
|
43
|
-
annotations: this.generateBlockAnnotations(element),
|
|
44
|
-
});
|
|
27
|
+
return this.createRTEImageBlock(element);
|
|
45
28
|
}
|
|
46
29
|
/* istanbul ignore next */
|
|
47
30
|
/**
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { isNonNullable } from '../../../../../../types/type-guard';
|
|
1
2
|
import { generateUUID } from '../../../../../../utils/misc';
|
|
2
3
|
import { RTEListItemBlock } from '../../../../dto/blocks/list-item-block';
|
|
3
4
|
import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
|
|
@@ -13,7 +14,12 @@ export class ULNotLiChildToRTEListItemBlockStrategy extends BlockToRTEBlockStrat
|
|
|
13
14
|
canHandle(elementsArray, currentIndex) {
|
|
14
15
|
const element = elementsArray[currentIndex];
|
|
15
16
|
const parent = element.parentElement;
|
|
16
|
-
|
|
17
|
+
const isLiNode = element.nodeName !== 'LI';
|
|
18
|
+
// while child is empty text node like newline or empty string, we should not covert it.
|
|
19
|
+
const isEmptyNode = element.nodeType === Node.TEXT_NODE && element.textContent.trim() === '';
|
|
20
|
+
// The node must be in list item.
|
|
21
|
+
const isInList = isNonNullable(parent) && ['UL', 'OL'].includes(parent.nodeName);
|
|
22
|
+
return isLiNode && !isEmptyNode && isInList ? 1 : 0;
|
|
17
23
|
}
|
|
18
24
|
/**
|
|
19
25
|
* Parse to a list item block.
|
|
@@ -23,8 +29,6 @@ export class ULNotLiChildToRTEListItemBlockStrategy extends BlockToRTEBlockStrat
|
|
|
23
29
|
*/
|
|
24
30
|
handle(elementsArray) {
|
|
25
31
|
const nodes = this.generateChildNodes(elementsArray);
|
|
26
|
-
if (nodes.length === 0)
|
|
27
|
-
return null;
|
|
28
32
|
return RTEListItemBlock.from({
|
|
29
33
|
id: generateUUID(),
|
|
30
34
|
type: 'list-item',
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { generateUUID } from '../../../../../../utils/misc';
|
|
2
2
|
import { RTEListBlock } from '../../../../dto/blocks/list-block';
|
|
3
|
+
import { RTEListItemBlock } from '../../../../dto/blocks/list-item-block';
|
|
3
4
|
import { BlockToRTEBlockStrategyAbstract } from './block-to-rte-block-strategy.abstract';
|
|
4
5
|
/** Transform ul element to list block DTO */
|
|
5
6
|
export class UlToRTEListBlockStrategy extends BlockToRTEBlockStrategyAbstract {
|
|
@@ -33,10 +34,10 @@ export class UlToRTEListBlockStrategy extends BlockToRTEBlockStrategyAbstract {
|
|
|
33
34
|
* Append child list item blocks to current list block.
|
|
34
35
|
*
|
|
35
36
|
* @param {RTEListBlock} currentBlock - Current list block.
|
|
36
|
-
* @param {
|
|
37
|
+
* @param {RTEContentBlock[]} childBlocks - Current list item blocks.
|
|
37
38
|
*/
|
|
38
39
|
appendChildBlocks(currentBlock, childBlocks) {
|
|
39
|
-
currentBlock.blocks = childBlocks;
|
|
40
|
+
currentBlock.blocks = childBlocks.filter((block) => block instanceof RTEListItemBlock);
|
|
40
41
|
childBlocks.forEach((block) => (block.parent = currentBlock));
|
|
41
42
|
}
|
|
42
43
|
/**
|