@globalpayments/vega 2.49.1 → 2.51.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/LICENSE +9 -17
- package/dist/cjs/{app-globals-65622aeb.js → app-globals-4ecf85bb.js} +11 -8
- package/dist/cjs/{child-nodes-event-prevent-slimmer-cc193ee1.js → child-nodes-event-prevent-slimmer-29020cc8.js} +1 -1
- package/dist/cjs/{child-nodes-notify-observer-slimmer-5817a53b.js → child-nodes-notify-observer-slimmer-30ba81ac.js} +1 -1
- package/dist/cjs/{content-state-6a48bcb5.js → code-block-2d014e17.js} +212 -975
- package/dist/cjs/{component-73a88c4e.js → component-1e352960.js} +1 -0
- package/dist/cjs/{component-global-style-slimmer-6749808c.js → component-global-style-slimmer-b0b4b997.js} +3 -0
- package/dist/cjs/content-state-6a5da7ec.js +1146 -0
- package/dist/cjs/{dark-mode-style-controller-4adb7fb2.js → dark-mode-style-controller-f9a32d68.js} +8 -0
- package/dist/cjs/{design-token-cba4222e.js → design-token-3f4f0bc3.js} +1 -1
- package/dist/cjs/{dom-node-subject-factory-d5826bff.js → dom-node-subject-factory-769dd00f.js} +1 -1
- package/dist/cjs/{dom-node-subject-observer-factory-a7a3b196.js → dom-node-subject-observer-factory-5aa4cc83.js} +1 -1
- package/dist/cjs/{effect-37695d3d.js → effect-98e88068.js} +2 -8
- package/dist/cjs/{element-appender-slimmer-4a26ecb2.js → element-appender-slimmer-5b1d8ffb.js} +13 -8
- package/dist/cjs/{event-emit-slimmer-8247249c.js → event-emit-slimmer-36036ef7.js} +15 -4
- package/dist/cjs/{form-field-controller-slimmer-4b0af5bc.js → form-field-controller-slimmer-01c01946.js} +9 -7
- package/dist/cjs/{image-annotation-action-9c2b9c8e.js → image-annotation-action-617bbb13.js} +19 -18
- package/dist/cjs/{index-09acd3c9.js → index-7700600c.js} +9 -0
- package/dist/cjs/{index-c4dec3aa.js → index-ebb1bb17.js} +3 -3
- package/dist/cjs/index.cjs.js +21 -20
- package/dist/cjs/{inject-keyboard-manager-b301e887.js → inject-keyboard-manager-dd628ccc.js} +1 -1
- package/dist/cjs/{internal-vega-event-manager-c9948b59.js → internal-vega-event-manager-e98944ac.js} +8 -1
- package/dist/cjs/{keyboard-manager-2ccf4b16.js → keyboard-manager-8c74eeb9.js} +3 -1
- package/dist/cjs/{keyboard-manager-slimmer-900cf2f5.js → keyboard-manager-slimmer-eb364bee.js} +1 -1
- package/dist/cjs/{legend-input-processor-8bcce3bf.js → legend-input-processor-b1f323fa.js} +2 -0
- package/dist/cjs/loader.cjs.js +15 -14
- package/dist/cjs/{page-resize-observer-slimmer-44e08878.js → page-resize-observer-slimmer-efa79728.js} +1 -0
- package/dist/cjs/{public-rules-10ec636d.js → public-rules-a3b7e267.js} +8 -7
- package/dist/cjs/{responsive-format-facade-263d49f6.js → responsive-format-facade-6b81192d.js} +6 -6
- package/dist/cjs/{rich-text-editor-required-rule-5faded94.js → rich-text-editor-required-rule-e9c7c379.js} +1 -1
- package/dist/cjs/selection-controller-1d7c0999.js +762 -0
- package/dist/cjs/{string-input-formatter-slimmer-50322824.js → string-input-formatter-slimmer-a5feb2ed.js} +3 -3
- package/dist/cjs/{style-formatter-ae0ef7fc.js → style-formatter-497d0fa4.js} +1 -1
- package/dist/cjs/{sub-state-notify-slimmer-7f437b19.js → sub-state-notify-slimmer-f68fbf29.js} +2 -2
- package/dist/cjs/{sub-state-observer-slimmer-e90362cd.js → sub-state-observer-slimmer-e06cdf7e.js} +3 -3
- 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/{ui-13b42af0.js → ui-6c069604.js} +2 -0
- package/dist/cjs/vega-accordion.cjs.entry.js +17 -16
- package/dist/cjs/vega-app-footer.cjs.entry.js +3 -3
- package/dist/cjs/vega-app-header-button.cjs.entry.js +18 -17
- package/dist/cjs/vega-backdrop.cjs.entry.js +3 -3
- package/dist/cjs/vega-banner.cjs.entry.js +7 -7
- package/dist/cjs/vega-bar-chart.cjs.entry.js +3 -3
- package/dist/cjs/vega-box.cjs.entry.js +18 -15
- package/dist/cjs/vega-brand-logo.cjs.entry.js +3 -3
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +8 -8
- package/dist/cjs/vega-button-circle.cjs.entry.js +18 -17
- package/dist/cjs/vega-button-group_2.cjs.entry.js +11 -11
- package/dist/cjs/vega-button-link.cjs.entry.js +8 -8
- package/dist/cjs/vega-button.cjs.entry.js +17 -16
- package/dist/cjs/vega-calendar_3.cjs.entry.js +14 -14
- package/dist/cjs/vega-card.cjs.entry.js +15 -14
- package/dist/cjs/vega-carousel.cjs.entry.js +20 -16
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +14 -14
- package/dist/cjs/vega-chip.cjs.entry.js +18 -17
- package/dist/cjs/vega-code-block.cjs.entry.js +4160 -0
- package/dist/cjs/vega-color-picker.cjs.entry.js +12 -12
- package/dist/cjs/vega-combo-box.cjs.entry.js +15 -15
- package/dist/cjs/vega-counter-badge.cjs.entry.js +2 -2
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +34 -24
- package/dist/cjs/vega-dialog_2.cjs.entry.js +25 -18
- package/dist/cjs/vega-divider.cjs.entry.js +15 -14
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +25 -24
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/vega-field-error.cjs.entry.js +2 -2
- package/dist/cjs/vega-field-label.cjs.entry.js +7 -7
- package/dist/cjs/vega-file-uploader.cjs.entry.js +13 -13
- package/dist/cjs/vega-flag-icon.cjs.entry.js +15 -14
- package/dist/cjs/vega-flex.cjs.entry.js +16 -15
- package/dist/cjs/vega-font.cjs.entry.js +15 -14
- package/dist/cjs/vega-form.cjs.entry.js +15 -15
- package/dist/cjs/vega-grid.cjs.entry.js +15 -14
- package/dist/cjs/vega-hint.cjs.entry.js +2 -2
- package/dist/cjs/vega-icon.cjs.entry.js +19 -15
- package/dist/cjs/vega-image-uploader.cjs.entry.js +22 -19
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +13 -13
- package/dist/cjs/vega-input-numeric.cjs.entry.js +16 -16
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +18 -17
- package/dist/cjs/vega-input-range.cjs.entry.js +16 -16
- package/dist/cjs/vega-input-select.cjs.entry.js +25 -24
- package/dist/cjs/vega-input.cjs.entry.js +35 -17
- package/dist/cjs/{vega-internal-event-id-bfea9b93.js → vega-internal-event-id-6cdc95fe.js} +4 -0
- package/dist/cjs/vega-item-toggle.cjs.entry.js +7 -7
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +26 -20
- package/dist/cjs/vega-line-chart.cjs.entry.js +4 -4
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +15 -13
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +5 -5
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +8 -8
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +8 -8
- package/dist/cjs/vega-pagination.cjs.entry.js +18 -17
- package/dist/cjs/vega-pie-chart.cjs.entry.js +3 -3
- package/dist/cjs/vega-popover_2.cjs.entry.js +19 -18
- package/dist/cjs/vega-progress-tracker.cjs.entry.js +7 -7
- package/dist/cjs/vega-radio_2.cjs.entry.js +16 -16
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +189 -32
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +814 -1181
- package/dist/cjs/vega-section-title.cjs.entry.js +2 -2
- package/dist/cjs/vega-segment-control.cjs.entry.js +8 -8
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +20 -19
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +15 -15
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +23 -18
- package/dist/cjs/vega-signature-capture.cjs.entry.js +21 -19
- package/dist/cjs/{vega-skeleton-loader-controller-db868c98.js → vega-skeleton-loader-controller-ae2ab090.js} +15 -5
- package/dist/cjs/vega-skeleton.cjs.entry.js +2 -2
- package/dist/cjs/vega-slot-container.cjs.entry.js +1 -1
- package/dist/cjs/vega-stepper.cjs.entry.js +13 -13
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-table_8.cjs.entry.js +377 -286
- package/dist/cjs/vega-text.cjs.entry.js +5 -3
- package/dist/cjs/vega-textarea.cjs.entry.js +13 -13
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +25 -24
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +12 -12
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +18 -17
- package/dist/cjs/vega.cjs.js +15 -14
- package/dist/cjs/{wait-for-vega-handler-0a0738ac.js → wait-for-vega-handler-4491efc9.js} +3 -1
- package/dist/cjs/{y-axis-input-processor-e371c142.js → y-axis-input-processor-19a07af5.js} +1 -1
- package/dist/collection/collection-manifest.json +7 -1
- package/dist/collection/components/vega-box/slimmers/controllers/vega-box-responsive-style-controller.js +1 -0
- package/dist/collection/components/vega-box/slimmers/controllers/vega-box-state-styles-controller.js +1 -0
- package/dist/collection/components/vega-carousel/vega-carousel.js +3 -0
- package/dist/collection/components/vega-code-block/assets/copy.js +3 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/code-block-range.js +129 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.js +87 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/default-code-highlight-parse-controller.js +34 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/insert-composition-text-controller.js +100 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/prism-code-highlight-parse-controller.js +86 -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 +240 -0
- package/dist/collection/components/vega-code-block/slimmers/controllers/vega-code-block-selection-controller.js +133 -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 +117 -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/test/code-block-range.test.js +81 -0
- package/dist/collection/components/vega-code-block/types.js +10 -0
- package/dist/collection/components/vega-code-block/vega-code-block.css +160 -0
- package/dist/collection/components/vega-code-block/vega-code-block.js +404 -0
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-month-year-dropdown-renderer.js +5 -0
- package/dist/collection/components/vega-date-picker/slimmers/renderers/vega-date-picker-calendar-renderer.js +4 -0
- package/dist/collection/components/vega-icon/vega-icon.js +4 -1
- package/dist/collection/components/vega-image-uploader/slimmers/controllers/vega-image-uploader-preview-controller.js +2 -0
- package/dist/collection/components/vega-input/slimmers/controllers/vega-input-compact-width-controller.js +1 -0
- package/dist/collection/components/vega-input/vega-input.css +12 -2
- package/dist/collection/components/vega-input/vega-input.js +27 -3
- package/dist/collection/components/vega-input-range/slimmers/renderers/vega-input-range-clear-icon-renderer.js +1 -1
- package/dist/collection/components/vega-input-range/vega-input-range.css +10 -0
- package/dist/collection/components/vega-input-select/slimmers/renderers/vega-input-select-dropdown-renderer.js +5 -5
- package/dist/collection/components/vega-loader-wrapper/slimmers/controllers/manage-vega-loader-wrapper-z-index-controller.js +1 -0
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-backdrop-controller.js +3 -0
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-modal-open-state-controller.js +2 -0
- package/dist/collection/components/vega-modal/slimmers/controllers/vega-nested-modal-controller.js +1 -0
- package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-backdrop-controller.js +3 -0
- package/dist/collection/components/vega-nav/vega-left-nav/slimmers/controllers/vega-left-nav-open-state-controller.js +2 -0
- 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 +7 -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/apply-annotation-strategies/code-node-set-selection-range-strategy.js +13 -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/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/blocks/code-block.js +98 -0
- package/dist/collection/components/vega-rich-text-editor/dto/content-state.js +5 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/code-block-node.js +50 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/node.abstract.js +1 -0
- 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/nodes/code-block-node-renderer.js +78 -0
- 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/element-to-dto-strategy-processor.js +4 -0
- 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/vega-code-block-to-rte-code-block-strategy.js +70 -0
- 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 +24 -3
- 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 +56 -52
- 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 +5 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bold-toolbar-button-slimmer.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-numbers-toolbar-button-slimmer.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/bullets-toolbar-button-slimmer.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/bullets-numbers/numbers-toolbar-button-slimmer.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/clear-style-toolbar-button-slimmer.js +3 -1
- 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 +3 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/italic-toolbar-button-slimmer.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/less-indent-toolbar-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/more-indent-toolbar-button-slimmer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/strikethrough-toolbar-button-slimmer.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-color-toolbar-button-slimmer.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/text-styles-toolbar-button-slimmer.js +3 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/underline-toolbar-button-slimmer.js +3 -1
- 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/blocks/code-block.test.js +54 -0
- package/dist/collection/components/vega-rich-text-editor/test/e2e-utils.js +5 -0
- 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.js +10 -0
- package/dist/collection/components/vega-sidenav/slimmers/controllers/vega-sidenav-backdrop-controller.js +3 -0
- package/dist/collection/components/vega-sidenav/slimmers/controllers/vega-sidenav-open-status-controller.js +1 -0
- package/dist/collection/components/vega-signature-capture/slimmers/written-mode/controllers/written-mode-svg-controller.js +1 -0
- package/dist/collection/components/vega-table/vega-table-head-cell/slimmers/controllers/vega-table-head-cell-sort-config-controller.js +92 -0
- package/dist/collection/components/vega-table/vega-table-head-cell/vega-table-head-cell.js +6 -0
- package/dist/collection/components/vega-text/slimmers/renderers/vega-text-tooltip-renderer.js +2 -0
- package/dist/collection/components/vega-time-picker/slimmers/renderers/vega-time-picker-range-clear-button-renderer.js +1 -1
- package/dist/collection/components/vega-time-picker/vega-time-picker.css +10 -0
- package/dist/collection/global/scripts/before-vega-load.js +3 -0
- package/dist/collection/helpers/chart/graph-context-factory.js +2 -0
- package/dist/collection/helpers/common/wait-for-vega-handler.js +3 -1
- package/dist/collection/helpers/dialog/vega-dialog-controller.js +2 -0
- package/dist/collection/helpers/event-manager/event-delegated/vega-button-click-strategy.js +1 -0
- package/dist/collection/helpers/event-manager/event-delegated/vega-checkbox-change-strategy.js +1 -0
- package/dist/collection/helpers/event-manager/event-delegated/vega-input-select-change-strategy.js +1 -0
- package/dist/collection/helpers/event-manager/event-delegated/vega-input-strategy.js +1 -0
- package/dist/collection/helpers/event-manager/event-delegated/vega-radio-change-strategy.js +1 -0
- package/dist/collection/helpers/event-manager/event-delegated/vega-textarea-change-strategy.js +1 -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 +2 -0
- package/dist/collection/helpers/event-manager/slimmers/event-emit-slimmer.js +3 -1
- package/dist/collection/helpers/event-manager/test/event-emit-slimmer.test.js +11 -1
- package/dist/collection/helpers/keyboard/keyboard-manager.js +2 -0
- package/dist/collection/helpers/notify/vega-notify-controller.js +6 -1
- package/dist/collection/helpers/skeleton-loader/vega-skeleton-loader-controller.js +3 -0
- package/dist/collection/helpers/slimmers/auto-run-when-re-render-task-queue-slimmer.abstract.js +47 -0
- package/dist/collection/helpers/slimmers/component-global-style-slimmer.js +3 -0
- package/dist/collection/helpers/slimmers/element-appender/body-positioned-wrapper/default-wrapper.js +1 -0
- package/dist/collection/helpers/slimmers/element-appender/body-positioned-wrapper/position-relative-to-wrapper.js +2 -0
- package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +2 -0
- package/dist/collection/helpers/slimmers/field-error-ui-controller-strategies/sibling-container-error-label-container-retrieval-strategy.js +1 -0
- package/dist/collection/helpers/slimmers/field-error-ui-controller-strategies/sibling-container-self-retrieval-strategy.js +1 -0
- package/dist/collection/helpers/slimmers/page-resize-observer-slimmer.js +1 -0
- package/dist/collection/helpers/slimmers/test/auto-run-when-re-render-task-queue-slimmer.test.js +46 -0
- package/dist/collection/helpers/theme/controllers/color-schema-overriding-controller.js +2 -0
- package/dist/collection/helpers/theme/controllers/style-controller.abstract.js +3 -0
- package/dist/collection/helpers/theme/internal-theme-manager.js +3 -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/helpers/ui/element-appender.js +1 -1
- package/dist/collection/polyfill/shadow-selection/shadow-selection-polyfill.js +3 -1
- package/dist/collection/utils/component.js +1 -0
- package/dist/collection/utils/e2e-utils.js +3 -0
- package/dist/collection/utils/effect.js +2 -0
- package/dist/collection/utils/safe-document.js +9 -0
- package/dist/collection/utils/test/safe-document.test.js +13 -0
- package/dist/collection/utils/test-utils.js +1 -0
- package/dist/collection/utils/ui.js +3 -0
- package/dist/esm/{app-globals-1f8c30e9.js → app-globals-d96d623d.js} +11 -8
- package/dist/esm/{child-nodes-event-prevent-slimmer-5d45361e.js → child-nodes-event-prevent-slimmer-2b975cbf.js} +1 -1
- package/dist/esm/{child-nodes-notify-observer-slimmer-ddaad39a.js → child-nodes-notify-observer-slimmer-eeed5986.js} +1 -1
- package/dist/esm/{content-state-dbc9f635.js → code-block-ef2f04ca.js} +195 -970
- package/dist/esm/{component-cae24190.js → component-7d906393.js} +1 -0
- package/dist/esm/{component-global-style-slimmer-000e0c11.js → component-global-style-slimmer-dad40b64.js} +3 -0
- package/dist/esm/content-state-69d29a07.js +1140 -0
- package/dist/esm/{dark-mode-style-controller-2ada8e22.js → dark-mode-style-controller-ea798fc8.js} +8 -0
- package/dist/esm/{design-token-0699f0ca.js → design-token-2060cd0d.js} +1 -1
- package/dist/esm/{dom-node-subject-factory-f77cf9cc.js → dom-node-subject-factory-6374611f.js} +2 -2
- package/dist/esm/{dom-node-subject-observer-factory-715dccf9.js → dom-node-subject-observer-factory-c345ca2e.js} +1 -1
- package/dist/esm/{effect-8efd2c3c.js → effect-f50e072d.js} +2 -8
- package/dist/esm/{element-appender-slimmer-96cb54e2.js → element-appender-slimmer-64a77b7f.js} +13 -8
- package/dist/esm/{event-emit-slimmer-b7d511f6.js → event-emit-slimmer-7428cc01.js} +15 -4
- package/dist/esm/{form-field-controller-slimmer-89a72ee7.js → form-field-controller-slimmer-87d80e46.js} +9 -7
- package/dist/esm/{image-annotation-action-1aa938ab.js → image-annotation-action-1497f70e.js} +7 -6
- package/dist/esm/{index-187f71d1.js → index-d0a47531.js} +9 -0
- package/dist/esm/{index-4aa167d6.js → index-f5d2fe61.js} +3 -3
- package/dist/esm/index.js +15 -14
- package/dist/esm/{inject-keyboard-manager-f513be4a.js → inject-keyboard-manager-e39c0fd9.js} +1 -1
- package/dist/esm/{internal-vega-event-manager-87dc436c.js → internal-vega-event-manager-d80c53c5.js} +8 -1
- package/dist/esm/{keyboard-manager-262be5ce.js → keyboard-manager-9564ad83.js} +3 -1
- package/dist/esm/{keyboard-manager-slimmer-42bf9773.js → keyboard-manager-slimmer-2218e6ba.js} +1 -1
- package/dist/esm/{legend-input-processor-8f76ce8a.js → legend-input-processor-1d266967.js} +2 -0
- package/dist/esm/loader.js +15 -14
- package/dist/esm/{page-resize-observer-slimmer-15a84d26.js → page-resize-observer-slimmer-c51f1912.js} +1 -0
- package/dist/esm/{public-rules-5cf6aa95.js → public-rules-3436034b.js} +8 -7
- package/dist/esm/{responsive-format-facade-42f3fcfa.js → responsive-format-facade-8c0ce819.js} +6 -6
- package/dist/esm/{rich-text-editor-required-rule-6a7cd3ee.js → rich-text-editor-required-rule-cc5b6a2d.js} +1 -1
- package/dist/esm/selection-controller-3d6dfc87.js +757 -0
- package/dist/esm/{string-input-formatter-slimmer-c61f82d6.js → string-input-formatter-slimmer-e53b6412.js} +3 -3
- package/dist/esm/{style-formatter-cb00c709.js → style-formatter-1eca1299.js} +1 -1
- package/dist/esm/{sub-state-notify-slimmer-4e3cf09d.js → sub-state-notify-slimmer-b6c8051c.js} +2 -2
- package/dist/esm/{sub-state-observer-slimmer-be7a6ce3.js → sub-state-observer-slimmer-93eeb87d.js} +3 -3
- 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/{ui-ed1283bb.js → ui-7d177fb0.js} +2 -0
- package/dist/esm/vega-accordion.entry.js +17 -16
- package/dist/esm/vega-app-footer.entry.js +3 -3
- package/dist/esm/vega-app-header-button.entry.js +18 -17
- package/dist/esm/vega-backdrop.entry.js +3 -3
- package/dist/esm/vega-banner.entry.js +7 -7
- package/dist/esm/vega-bar-chart.entry.js +3 -3
- package/dist/esm/vega-box.entry.js +18 -15
- package/dist/esm/vega-brand-logo.entry.js +3 -3
- package/dist/esm/vega-breadcrumb.entry.js +8 -8
- package/dist/esm/vega-button-circle.entry.js +18 -17
- package/dist/esm/vega-button-group_2.entry.js +11 -11
- package/dist/esm/vega-button-link.entry.js +8 -8
- package/dist/esm/vega-button.entry.js +17 -16
- package/dist/esm/vega-calendar_3.entry.js +14 -14
- package/dist/esm/vega-card.entry.js +15 -14
- package/dist/esm/vega-carousel.entry.js +20 -16
- package/dist/esm/vega-checkbox_2.entry.js +14 -14
- package/dist/esm/vega-chip.entry.js +18 -17
- package/dist/esm/vega-code-block.entry.js +4156 -0
- package/dist/esm/vega-color-picker.entry.js +12 -12
- package/dist/esm/vega-combo-box.entry.js +15 -15
- package/dist/esm/vega-counter-badge.entry.js +2 -2
- package/dist/esm/vega-date-picker_2.entry.js +34 -24
- package/dist/esm/vega-dialog_2.entry.js +25 -18
- package/dist/esm/vega-divider.entry.js +15 -14
- package/dist/esm/vega-dropdown_5.entry.js +25 -24
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/vega-field-error.entry.js +2 -2
- package/dist/esm/vega-field-label.entry.js +7 -7
- package/dist/esm/vega-file-uploader.entry.js +13 -13
- package/dist/esm/vega-flag-icon.entry.js +15 -14
- package/dist/esm/vega-flex.entry.js +16 -15
- package/dist/esm/vega-font.entry.js +15 -14
- package/dist/esm/vega-form.entry.js +15 -15
- package/dist/esm/vega-grid.entry.js +15 -14
- package/dist/esm/vega-hint.entry.js +2 -2
- package/dist/esm/vega-icon.entry.js +19 -15
- package/dist/esm/vega-image-uploader.entry.js +22 -19
- package/dist/esm/vega-input-credit-card.entry.js +13 -13
- package/dist/esm/vega-input-numeric.entry.js +16 -16
- package/dist/esm/vega-input-phone-number.entry.js +18 -17
- package/dist/esm/vega-input-range.entry.js +16 -16
- package/dist/esm/vega-input-select.entry.js +25 -24
- package/dist/esm/vega-input.entry.js +35 -17
- package/dist/esm/{vega-internal-event-id-85ad403f.js → vega-internal-event-id-178b2743.js} +3 -1
- package/dist/esm/vega-item-toggle.entry.js +7 -7
- package/dist/esm/vega-left-nav_5.entry.js +26 -20
- package/dist/esm/vega-line-chart.entry.js +4 -4
- package/dist/esm/vega-loader-wrapper_2.entry.js +15 -13
- package/dist/esm/vega-page-notification_2.entry.js +5 -5
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +8 -8
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +8 -8
- package/dist/esm/vega-pagination.entry.js +18 -17
- package/dist/esm/vega-pie-chart.entry.js +3 -3
- package/dist/esm/vega-popover_2.entry.js +19 -18
- package/dist/esm/vega-progress-tracker.entry.js +7 -7
- package/dist/esm/vega-radio_2.entry.js +16 -16
- package/dist/esm/vega-rich-text-content.entry.js +170 -13
- package/dist/esm/vega-rich-text-editor_4.entry.js +679 -1046
- package/dist/esm/vega-section-title.entry.js +2 -2
- package/dist/esm/vega-segment-control.entry.js +8 -8
- package/dist/esm/vega-selection-chip_2.entry.js +20 -19
- package/dist/esm/vega-selection-tile_2.entry.js +15 -15
- package/dist/esm/vega-sidenav_3.entry.js +23 -18
- package/dist/esm/vega-signature-capture.entry.js +21 -19
- package/dist/esm/{vega-skeleton-loader-controller-c2a8bd27.js → vega-skeleton-loader-controller-06f48dd2.js} +15 -5
- package/dist/esm/vega-skeleton.entry.js +2 -2
- package/dist/esm/vega-slot-container.entry.js +1 -1
- package/dist/esm/vega-stepper.entry.js +13 -13
- package/dist/esm/vega-tab-group_2.entry.js +9 -9
- package/dist/esm/vega-table_8.entry.js +377 -286
- package/dist/esm/vega-text.entry.js +5 -3
- package/dist/esm/vega-textarea.entry.js +13 -13
- package/dist/esm/vega-time-picker_2.entry.js +25 -24
- package/dist/esm/vega-toggle-switch.entry.js +12 -12
- package/dist/esm/vega-tooltip_2.entry.js +18 -17
- package/dist/esm/vega.js +15 -14
- package/dist/esm/{wait-for-vega-handler-b18eb955.js → wait-for-vega-handler-e0a928cd.js} +3 -1
- package/dist/esm/{y-axis-input-processor-e090b01c.js → y-axis-input-processor-95995d34.js} +1 -1
- package/dist/types/components/vega-code-block/assets/copy.d.ts +3 -0
- package/dist/types/components/vega-code-block/slimmers/controllers/code-block-range.d.ts +64 -0
- package/dist/types/components/vega-code-block/slimmers/controllers/code-highlight-parser.abstract.d.ts +47 -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/insert-composition-text-controller.d.ts +50 -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 +92 -0
- package/dist/types/components/vega-code-block/slimmers/controllers/vega-code-block-selection-controller.d.ts +63 -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 +55 -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/test/code-block-range.test.d.ts +1 -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 +118 -0
- package/dist/types/components/vega-input/types.d.ts +2 -0
- package/dist/types/components/vega-input/vega-input.d.ts +9 -2
- 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/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/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/blocks/code-block.d.ts +52 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/code-block-node.d.ts +41 -0
- package/dist/types/components/vega-rich-text-editor/dto/nodes/node.abstract.d.ts +2 -1
- 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/nodes/code-block-node-renderer.d.ts +37 -0
- package/dist/types/components/vega-rich-text-editor/interface.d.ts +16 -4
- 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/vega-code-block-to-rte-code-block-strategy.d.ts +42 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +7 -0
- 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 +16 -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 +1 -0
- 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/horizontal-alignment/horizontal-alignment-toolbar-button-slimmer.d.ts +1 -0
- 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/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 +4 -0
- package/dist/types/components/vega-table/interface.d.ts +3 -0
- package/dist/types/components/vega-table/vega-table-head-cell/slimmers/controllers/vega-table-head-cell-sort-config-controller.d.ts +42 -0
- package/dist/types/components/vega-table/vega-table-head-cell/vega-table-head-cell.d.ts +2 -0
- package/dist/types/components.d.ts +98 -3
- package/dist/types/helpers/event-manager/event-id/vega-internal-event-id.d.ts +2 -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 +2 -1
- package/dist/types/utils/safe-document.d.ts +7 -0
- package/dist/types/utils/test/safe-document.test.d.ts +1 -0
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-a46bc9f1.entry.js → p-06cd4a19.entry.js} +1 -1
- package/dist/vega/p-06fb002a.js +1 -0
- package/dist/vega/{p-b351ace3.entry.js → p-07cdaf74.entry.js} +1 -1
- package/dist/vega/{p-b847a143.entry.js → p-07e40eea.entry.js} +1 -1
- package/dist/vega/{p-913eb7f9.entry.js → p-0ce88865.entry.js} +1 -1
- package/dist/vega/{p-ec1f2d21.entry.js → p-1071f790.entry.js} +1 -1
- package/dist/vega/{p-45e28b9b.js → p-111d41fe.js} +1 -1
- package/dist/vega/p-12929d20.entry.js +1 -0
- package/dist/vega/{p-72ecfd40.js → p-138fcf6e.js} +1 -1
- package/dist/vega/{p-a01f149d.entry.js → p-151dec6a.entry.js} +1 -1
- package/dist/vega/{p-06adb37e.entry.js → p-1b81fc7a.entry.js} +1 -1
- package/dist/vega/{p-56a0b13d.js → p-1df029c2.js} +1 -1
- package/dist/vega/p-21d26bb4.js +2 -0
- package/dist/vega/p-21d4f12e.entry.js +1 -0
- package/dist/vega/{p-4a32a6c0.entry.js → p-21d5656d.entry.js} +1 -1
- package/dist/vega/{p-a7dcb2a3.js → p-21e180f2.js} +1 -1
- package/dist/vega/{p-0079088b.entry.js → p-2329cb73.entry.js} +1 -1
- package/dist/vega/{p-8c388b58.entry.js → p-29fe94b6.entry.js} +1 -1
- package/dist/vega/p-2f5d9aab.js +1 -0
- package/dist/vega/p-30c363d8.entry.js +9 -0
- package/dist/vega/{p-5e34ea25.entry.js → p-32a24ef1.entry.js} +1 -1
- package/dist/vega/p-33bd7e31.js +1 -0
- package/dist/vega/{p-46714da3.entry.js → p-36827489.entry.js} +1 -1
- package/dist/vega/{p-81fbfb6d.entry.js → p-388abe56.entry.js} +1 -1
- package/dist/vega/p-3b34389d.js +1 -0
- package/dist/vega/p-3eb2d433.js +1 -0
- package/dist/vega/{p-2da83c2a.js → p-3fa7d356.js} +1 -1
- package/dist/vega/p-425ba7d6.js +1 -0
- package/dist/vega/p-447a2b18.entry.js +1 -0
- package/dist/vega/{p-8d283666.js → p-4ab3df00.js} +1 -1
- package/dist/vega/{p-b649e86e.entry.js → p-4bca12ee.entry.js} +1 -1
- package/dist/vega/{p-b2bca332.entry.js → p-5016b57e.entry.js} +1 -1
- package/dist/vega/p-52905c68.entry.js +1 -0
- package/dist/vega/p-52bdeea0.entry.js +1 -0
- package/dist/vega/p-53803447.entry.js +1 -0
- package/dist/vega/{p-54f17c2e.entry.js → p-53815555.entry.js} +1 -1
- package/dist/vega/{p-d7937711.js → p-55563f5f.js} +1 -1
- package/dist/vega/{p-48517a5d.entry.js → p-578ac47f.entry.js} +1 -1
- package/dist/vega/p-586139ce.entry.js +1 -0
- package/dist/vega/p-597732e9.entry.js +1 -0
- package/dist/vega/{p-0969877b.entry.js → p-5c9efff8.entry.js} +1 -1
- package/dist/vega/{p-5e3a15a1.js → p-5e530257.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/p-60164904.entry.js +1 -0
- package/dist/vega/p-613ee009.js +1 -0
- package/dist/vega/p-61b72038.entry.js +1 -0
- package/dist/vega/p-642da014.entry.js +1 -0
- package/dist/vega/{p-9803042f.entry.js → p-647734d1.entry.js} +1 -1
- package/dist/vega/{p-cd205d96.js → p-65cca90f.js} +1 -1
- package/dist/vega/{p-6586e2a2.entry.js → p-66145767.entry.js} +1 -1
- package/dist/vega/p-6681efd5.js +1 -0
- package/dist/vega/{p-45f696b4.js → p-6b7dca3e.js} +1 -1
- package/dist/vega/{p-5160a6b9.entry.js → p-6ceb2d26.entry.js} +1 -1
- package/dist/vega/{p-6f81fe1e.js → p-6e01f0a2.js} +1 -1
- package/dist/vega/p-6f3dd430.entry.js +1 -0
- package/dist/vega/p-71d897e5.entry.js +1 -0
- package/dist/vega/{p-8ba43640.entry.js → p-72a4edf2.entry.js} +1 -1
- package/dist/vega/{p-bcb10ae3.entry.js → p-7503fe08.entry.js} +1 -1
- package/dist/vega/p-7add21f8.entry.js +1 -0
- package/dist/vega/{p-bfb344e1.entry.js → p-7df1ad72.entry.js} +1 -1
- package/dist/vega/{p-aea89be5.entry.js → p-7e70938a.entry.js} +1 -1
- package/dist/vega/{p-5064a804.js → p-864de9a1.js} +1 -1
- package/dist/vega/{p-10a40dfb.entry.js → p-86713a15.entry.js} +1 -1
- package/dist/vega/p-8a0d7805.entry.js +1 -0
- package/dist/vega/{p-89ab72e3.js → p-8bdc9e75.js} +1 -1
- package/dist/vega/{p-6cabdb36.js → p-8e31e7ea.js} +1 -1
- package/dist/vega/p-901b20d6.entry.js +1 -0
- package/dist/vega/p-90954fe4.entry.js +1 -0
- package/dist/vega/{p-6d7d923b.js → p-9c0cda62.js} +1 -1
- package/dist/vega/p-9d3292b7.entry.js +1 -0
- package/dist/vega/p-9eab97ee.entry.js +1 -0
- package/dist/vega/p-a0bd5bd7.entry.js +1 -0
- package/dist/vega/{p-54add0d2.js → p-a0dab2d0.js} +1 -1
- package/dist/vega/{p-83ef9e7d.entry.js → p-a1fbf49b.entry.js} +1 -1
- package/dist/vega/{p-d0007822.entry.js → p-aab6f547.entry.js} +1 -1
- package/dist/vega/p-b264d92e.entry.js +1 -0
- package/dist/vega/p-b51fa6ac.entry.js +1 -0
- package/dist/vega/p-b7594b78.entry.js +1 -0
- package/dist/vega/{p-6a830bc5.entry.js → p-c192c2d2.entry.js} +1 -1
- package/dist/vega/p-c4447540.entry.js +1 -0
- package/dist/vega/p-c8023434.entry.js +1 -0
- package/dist/vega/p-c91190df.entry.js +1 -0
- package/dist/vega/{p-647025dd.entry.js → p-cada532e.entry.js} +1 -1
- package/dist/vega/p-d0f0a908.entry.js +1 -0
- package/dist/vega/{p-02d7d948.entry.js → p-d53b262c.entry.js} +1 -1
- package/dist/vega/p-d64b20c2.js +1 -0
- package/dist/vega/{p-a5c39ba2.entry.js → p-d9cb6ec4.entry.js} +1 -1
- package/dist/vega/p-e16e23b7.entry.js +1 -0
- package/dist/vega/{p-1971d980.entry.js → p-e37ac14f.entry.js} +1 -1
- package/dist/vega/p-e5f1fd0b.entry.js +1 -0
- package/dist/vega/p-e7b00bf0.js +1 -0
- package/dist/vega/{p-147e3cbd.entry.js → p-e81b672b.entry.js} +1 -1
- package/dist/vega/{p-cfda64fd.entry.js → p-e860318d.entry.js} +1 -1
- package/dist/vega/p-ea723616.entry.js +1 -0
- package/dist/vega/{p-8ade44bf.js → p-eb832119.js} +1 -1
- package/dist/vega/{p-27003a81.entry.js → p-ec7d98f0.entry.js} +1 -1
- package/dist/vega/{p-a821bcf3.js → p-eea36d3c.js} +1 -1
- package/dist/vega/{p-252e42c7.entry.js → p-f0f787a2.entry.js} +1 -1
- package/dist/vega/p-f2f31686.entry.js +1 -0
- package/dist/vega/{p-27e56c67.entry.js → p-f41ae5e0.entry.js} +1 -1
- package/dist/vega/p-f4a13f3f.js +1 -0
- package/dist/vega/p-f9a9fca6.entry.js +1 -0
- package/dist/vega/{p-2fadef27.entry.js → p-fac5990f.entry.js} +1 -1
- package/dist/vega/p-fd0b2509.entry.js +1 -0
- package/dist/vega/p-fecb4044.js +1 -0
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +3 -2
- package/dist/vega/p-06c5fe97.entry.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-47ff95ba.entry.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-61eb7f32.entry.js +0 -1
- package/dist/vega/p-646a9198.entry.js +0 -1
- package/dist/vega/p-6e898779.js +0 -1
- package/dist/vega/p-7088ead9.entry.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-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-bc2dd43d.js +0 -1
- package/dist/vega/p-bf1894ec.js +0 -1
- package/dist/vega/p-c754b32c.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
- /package/dist/vega/{p-eda5b7fd.js → p-05b10af4.js} +0 -0
- /package/dist/vega/{p-50677c8e.js → p-0c8bd757.js} +0 -0
- /package/dist/vega/{p-af7a3154.js → p-13effc6b.js} +0 -0
- /package/dist/vega/{p-ecfa7534.js → p-272440e8.js} +0 -0
- /package/dist/vega/{p-9b797118.js → p-519a7d55.js} +0 -0
- /package/dist/vega/{p-c0291e2e.js → p-834434d5.js} +0 -0
- /package/dist/vega/{p-bf953152.js → p-d5776087.js} +0 -0
- /package/dist/vega/{p-0fd6c35b.js → p-fa5eb496.js} +0 -0
package/dist/collection/components/vega-rich-text-editor/dto/renderers/blocks/code-block-renderer.js
ADDED
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { h } from '@stencil/core';
|
|
2
|
+
import { RTEBlockRenderer } from './block-renderer.abstract';
|
|
3
|
+
import { RTECodeBlock } from '../../blocks/code-block';
|
|
4
|
+
import RTECodeBlockNodeRenderer from '../nodes/code-block-node-renderer';
|
|
5
|
+
import { ZERO_WIDTH_SPACE } from '../../../constants/constant';
|
|
6
|
+
/**
|
|
7
|
+
* The code block renderer.
|
|
8
|
+
*/
|
|
9
|
+
class RTECodeBlockRenderer extends RTEBlockRenderer {
|
|
10
|
+
/**
|
|
11
|
+
* Check the input block type.
|
|
12
|
+
*
|
|
13
|
+
* @param {RTEBlock} block - The input block.
|
|
14
|
+
* @returns {boolean} - Return true if the input block is a code block.
|
|
15
|
+
*/
|
|
16
|
+
canHandle(block) {
|
|
17
|
+
return block instanceof RTECodeBlock;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Render the code block.
|
|
21
|
+
*
|
|
22
|
+
* @param {RTECodeBlock} block - The code block.
|
|
23
|
+
* @param {RTERenderContext} renderContext - The render context.
|
|
24
|
+
* @returns {HTMLElement} - The code block container element and code node elements.
|
|
25
|
+
*/
|
|
26
|
+
render(block, renderContext) {
|
|
27
|
+
const { id, nodes } = block;
|
|
28
|
+
return (
|
|
29
|
+
// eslint-disable-next-line jsx-a11y/no-noninteractive-element-interactions
|
|
30
|
+
h("pre", { key: id, class: "code-block-container", ref: (node) => this.registerRef(node, block), onKeyDown: this.preventParentDoFocus, onClick: this.preventParentDoFocus, "data-language": nodes[0].language },
|
|
31
|
+
this.renderPlaceholderElement('TOP'),
|
|
32
|
+
RTECodeBlockNodeRenderer.render(nodes[0], renderContext),
|
|
33
|
+
this.renderPlaceholderElement('BOTTOM')));
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* The current element used to define the upper and lower bounds of a code block and to ensure that they are reflected in the range object when the code block is selected.
|
|
37
|
+
*
|
|
38
|
+
* @param {'TOP' | 'BOTTOM'} position - The element position.
|
|
39
|
+
* @returns {HTMLElement} - The empty span element.
|
|
40
|
+
*/
|
|
41
|
+
renderPlaceholderElement(position) {
|
|
42
|
+
const marginTop = position === 'BOTTOM' ? '-1px' : '0px';
|
|
43
|
+
const marginBottom = position === 'BOTTOM' ? '0px' : '-1px';
|
|
44
|
+
return (h("span", { class: RTECodeBlock.CODE_BLOCK_PLACEHOLDER_CLASS_NAME, style: {
|
|
45
|
+
display: 'block',
|
|
46
|
+
height: '1px',
|
|
47
|
+
overflow: 'hidden',
|
|
48
|
+
zIndex: '1',
|
|
49
|
+
marginTop,
|
|
50
|
+
marginBottom,
|
|
51
|
+
} }, ZERO_WIDTH_SPACE));
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Prevent the click event bubble, avoid the rich text content trigger focus event.
|
|
55
|
+
*
|
|
56
|
+
* @param {MouseEvent} e - The event object.
|
|
57
|
+
*/
|
|
58
|
+
preventParentDoFocus(e) {
|
|
59
|
+
e.stopPropagation();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
export default new RTECodeBlockRenderer();
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { h } from '@stencil/core';
|
|
2
|
+
import { DomNodeSubjectObserverFactory } from '../../../../../helpers/change-manager/subject/dom-node-subject/dom-node-subject-observer-factory';
|
|
3
|
+
import { VegaChange, VegaRemove } from '../../../../../helpers/event-manager/event-id/vega-event-id';
|
|
4
|
+
import { RTENodeRenderer } from './node-renderer.abstract';
|
|
5
|
+
import { SwitchOutFromCodeBlockAction } from '../../actions/switch-out-from-code-block-action';
|
|
6
|
+
import { UpdateCodeBlockAction } from '../../actions/update-code-block-action';
|
|
7
|
+
import { SelectionChangeAction } from '../../actions/selection-change-action';
|
|
8
|
+
import { InternalAnnotationTypeEnum } from '../../annotations/annotation.abstract';
|
|
9
|
+
import { VegaInternalCodeBlockSelectionChange } from '../../../../../helpers/event-manager/event-id/vega-internal-event-id';
|
|
10
|
+
import { RemoveCodeBlockAction } from '../../actions/remove-code-block-action';
|
|
11
|
+
class RTECodeBlockNodeRenderer extends RTENodeRenderer {
|
|
12
|
+
render(node, renderContext) {
|
|
13
|
+
const { text: code, language } = node;
|
|
14
|
+
return (h("vega-code-block", { key: node.id, value: { code, language }, readOnly: !renderContext.editable, "data-content": code, "data-language": language, ref: (ref) => {
|
|
15
|
+
this.registerRef(ref, node);
|
|
16
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaChange, (input) => this.handleCodeContentChange(input.detail, node));
|
|
17
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaRemove, (input) => this.handleCodeBlockRemove(input, node));
|
|
18
|
+
DomNodeSubjectObserverFactory.addUniqueObserverToNode(ref, VegaInternalCodeBlockSelectionChange, (input) => this.handleSelectionChange(input.detail, node));
|
|
19
|
+
} }));
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Sync the code block DTO language and content when the component change event emit.
|
|
23
|
+
*
|
|
24
|
+
* @param {VegaCodeBlockValue} codeBlockValue - The code block value.
|
|
25
|
+
* @param {RTECodeBlockNode} node - The DTO class instance.
|
|
26
|
+
*/
|
|
27
|
+
handleCodeContentChange(codeBlockValue, node) {
|
|
28
|
+
const { code, language } = codeBlockValue;
|
|
29
|
+
if (this.shouldSwitchOutOfCodeBlock(node.text, code)) {
|
|
30
|
+
const switchAction = new SwitchOutFromCodeBlockAction(code, language);
|
|
31
|
+
node.parentBlock.apply(switchAction);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
node.apply(new UpdateCodeBlockAction(code, language));
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Remove the code block from RTE value when the component remove event emit.
|
|
39
|
+
*
|
|
40
|
+
* @param {ChangeManagerEventLike<unknown>} input - The internal event payload object.
|
|
41
|
+
* @param {RTECodeBlockNode} node - The DTO class instance.
|
|
42
|
+
*/
|
|
43
|
+
handleCodeBlockRemove(input, node) {
|
|
44
|
+
input.preventDefault();
|
|
45
|
+
node.parentBlock.apply(new RemoveCodeBlockAction());
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* The cursor should jump out of code block if enter three line breaks at the end.
|
|
49
|
+
*
|
|
50
|
+
* @param {string} oldCode - The old code content.
|
|
51
|
+
* @param {string} newCode - The new code content.
|
|
52
|
+
* @returns {boolean} - Boolean value.
|
|
53
|
+
*/
|
|
54
|
+
shouldSwitchOutOfCodeBlock(oldCode, newCode) {
|
|
55
|
+
const newCodes = newCode.split('\n');
|
|
56
|
+
if (newCode.length > oldCode.length &&
|
|
57
|
+
newCodes.length > 4 &&
|
|
58
|
+
newCodes.slice(newCodes.length - 4).join('') === ``) {
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
61
|
+
return false;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Apply the selection action to code node or remove from the annotation map.
|
|
65
|
+
*
|
|
66
|
+
* @param {boolean} isSelected - The code block is focus or not.
|
|
67
|
+
* @param {RTECodeBlockNode} node - The DTO class instance.
|
|
68
|
+
*/
|
|
69
|
+
handleSelectionChange(isSelected, node) {
|
|
70
|
+
if (isSelected) {
|
|
71
|
+
node.apply(new SelectionChangeAction(null));
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
node.annotationMap.delete(InternalAnnotationTypeEnum.SELECTION_RANGE);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
export default new RTECodeBlockNodeRenderer();
|
|
@@ -16,6 +16,7 @@ import { InsertBlocksBeforeAction } from '../../dto/actions/insert-blocks-before
|
|
|
16
16
|
import { generateUUID } from '../../../../utils/misc';
|
|
17
17
|
import { AppendChildNodesAction } from '../../dto/actions/append-child-nodes-action';
|
|
18
18
|
import { UpdateTextAction } from '../../dto/actions/update-text-action';
|
|
19
|
+
import { RTECodeBlockNode } from '../../dto/nodes/code-block-node';
|
|
19
20
|
/**
|
|
20
21
|
* The `DeleteSelectedNodesController` class provides methods to delete selected nodes.
|
|
21
22
|
*/
|
|
@@ -68,7 +69,10 @@ export class DeleteSelectedNodesController extends VegaSlimmer {
|
|
|
68
69
|
if (selectedNodes.length > 1) {
|
|
69
70
|
// Remove all selected nodes except start node and end node(the end image node will be removed), the start node need to get the index of the block
|
|
70
71
|
const shouldRemovedItems = selectedNodes.filter((item) => {
|
|
71
|
-
if (item
|
|
72
|
+
if (item instanceof RTECodeBlockNode) {
|
|
73
|
+
return item !== startNode;
|
|
74
|
+
}
|
|
75
|
+
else if (item.type !== 'IMAGE') {
|
|
72
76
|
return item !== startNode && item !== endNode;
|
|
73
77
|
}
|
|
74
78
|
else {
|
|
@@ -82,7 +86,8 @@ export class DeleteSelectedNodesController extends VegaSlimmer {
|
|
|
82
86
|
this.removeRangeStartAndEndSelectedText();
|
|
83
87
|
/**
|
|
84
88
|
* if the range start node is image and the item is selected, so we need remove the image item, the image block will be removed if the item is the only item.
|
|
85
|
-
* but before remove the image block, we need insert a paragraph to make sure the start block and start node could be get correct before insert text or break paragraph action
|
|
89
|
+
* but before remove the image block, we need insert a paragraph to make sure the start block and start node could be get correct before insert text or break paragraph action.
|
|
90
|
+
* the code block node should do the same logic.
|
|
86
91
|
*/
|
|
87
92
|
if (startNode instanceof RTEImageNode &&
|
|
88
93
|
startOffset !== 1 &&
|
|
@@ -100,6 +105,12 @@ export class DeleteSelectedNodesController extends VegaSlimmer {
|
|
|
100
105
|
return startNode.parentBlock.nodes[0];
|
|
101
106
|
}
|
|
102
107
|
}
|
|
108
|
+
else if (startNode instanceof RTECodeBlockNode) {
|
|
109
|
+
const paragraph = this.createEmptyParagraph();
|
|
110
|
+
startNode.parentBlock.parent.apply(new InsertBlocksBeforeAction(startNode.parentBlock, paragraph));
|
|
111
|
+
startNode.parentBlock.apply(new RemoveChildAction(startNode));
|
|
112
|
+
return paragraph.nodes[0];
|
|
113
|
+
}
|
|
103
114
|
return startNode;
|
|
104
115
|
}
|
|
105
116
|
/**
|
|
@@ -149,7 +160,9 @@ export class DeleteSelectedNodesController extends VegaSlimmer {
|
|
|
149
160
|
endRTENode.parentBlock.apply(new RemoveChildAction(endRTENode.parentBlock.nodes[0]));
|
|
150
161
|
}
|
|
151
162
|
}
|
|
152
|
-
if (startRTENode
|
|
163
|
+
if (startRTENode instanceof RTETextNode &&
|
|
164
|
+
endRTENode instanceof RTETextNode &&
|
|
165
|
+
startRTENode.parentBlock !== endRTENode.parentBlock) {
|
|
153
166
|
startRTENode.parentBlock.apply(new AppendChildNodesAction(endBlock.nodes));
|
|
154
167
|
endBlock.nodes = [];
|
|
155
168
|
}
|
|
@@ -170,7 +183,9 @@ export class DeleteSelectedNodesController extends VegaSlimmer {
|
|
|
170
183
|
shouldMergeTextNode(nodeA, nodeB) {
|
|
171
184
|
const { annotations: annotationsA } = nodeA.toJSON();
|
|
172
185
|
const { annotations: annotationsB } = nodeB.toJSON();
|
|
173
|
-
return
|
|
186
|
+
return (nodeA instanceof RTETextNode &&
|
|
187
|
+
nodeB instanceof RTETextNode &&
|
|
188
|
+
JSON.stringify(annotationsA) === JSON.stringify(annotationsB));
|
|
174
189
|
}
|
|
175
190
|
}
|
|
176
191
|
__decorate([
|
|
@@ -8,6 +8,8 @@ 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
|
export class ElementToDtoStrategyProcessor {
|
|
13
15
|
constructor() {
|
|
@@ -16,6 +18,8 @@ export class ElementToDtoStrategyProcessor {
|
|
|
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(),
|
|
@@ -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
|
+
}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { JiraCodeToRTECodeBlockStrategy } from './jira-code-to-rte-code-block-strategy';
|
|
2
|
+
/** Transform vega-code-block element to code block DTO */
|
|
3
|
+
export class VegaCodeBlockToRTECodeBlockStrategy extends JiraCodeToRTECodeBlockStrategy {
|
|
4
|
+
/**
|
|
5
|
+
* Can be handle.
|
|
6
|
+
*
|
|
7
|
+
* TODO: Update the browser clipboard data to fix the issue with nested vega-code-block elements.
|
|
8
|
+
* In safari the html snippet will be like: <vega-code-block><p><span>paragraph</span></p><vega-code-block></vega-code-block></vega-code-block>
|
|
9
|
+
* The vega-code-block nested inside the vega-code-block, so we need to check the child element.
|
|
10
|
+
*
|
|
11
|
+
* @param {HTMLElement[]} elementsArray - Current elements.
|
|
12
|
+
* @param {number} currentIndex - Current element index.
|
|
13
|
+
* @returns {number} - can be handled element count.
|
|
14
|
+
*/
|
|
15
|
+
canHandle(elementsArray, currentIndex) {
|
|
16
|
+
return (elementsArray[currentIndex].tagName === 'VEGA-CODE-BLOCK' &&
|
|
17
|
+
!!elementsArray[currentIndex].querySelector('vega-code-block') === false) ||
|
|
18
|
+
this.isCodeBlockContainer(elementsArray[currentIndex])
|
|
19
|
+
? 1
|
|
20
|
+
: 0;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Parse to a code block.
|
|
24
|
+
*
|
|
25
|
+
* @param {HTMLElement[]} elementsArray - Current elements.
|
|
26
|
+
* @returns {Nullable<RTECodeBlock>} - Code block.
|
|
27
|
+
*/
|
|
28
|
+
handle(elementsArray) {
|
|
29
|
+
const codeBlockElement = this.isCodeBlockContainer(elementsArray[0])
|
|
30
|
+
? elementsArray[0].querySelector('vega-code-block')
|
|
31
|
+
: elementsArray[0];
|
|
32
|
+
const code = codeBlockElement.querySelector('code');
|
|
33
|
+
if (code) {
|
|
34
|
+
return super.handle([code]); // Call the parent method to handle the code element
|
|
35
|
+
}
|
|
36
|
+
else if (codeBlockElement.hasAttribute('data-content')) {
|
|
37
|
+
// The code element in shadow dom could be empty in firefox.
|
|
38
|
+
// eslint-disable-next-line no-restricted-globals
|
|
39
|
+
const code = document.createElement('code');
|
|
40
|
+
code.textContent = codeBlockElement.dataset.content;
|
|
41
|
+
code.dataset.language = codeBlockElement.dataset.language;
|
|
42
|
+
return super.handle([code]); // Call the parent method to handle the code element
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
/* istanbul ignore next */
|
|
46
|
+
/**
|
|
47
|
+
* Append child blocks.
|
|
48
|
+
*/
|
|
49
|
+
// eslint-disable-next-line @typescript-eslint/no-empty-function
|
|
50
|
+
appendChildBlocks() { }
|
|
51
|
+
/**
|
|
52
|
+
* Should continue process to child elements.
|
|
53
|
+
*
|
|
54
|
+
* @returns {boolean} - boolean.
|
|
55
|
+
*/
|
|
56
|
+
shouldProceedToElementChildren() {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Checks if the given element is a code block container.
|
|
61
|
+
*
|
|
62
|
+
* @param {HTMLElement} element - The element to check.
|
|
63
|
+
* @returns {boolean} - Boolean result.
|
|
64
|
+
*/
|
|
65
|
+
isCodeBlockContainer(element) {
|
|
66
|
+
return (element.tagName === 'PRE' &&
|
|
67
|
+
element.classList.contains('code-block-container') &&
|
|
68
|
+
element.querySelectorAll('vega-code-block').length === 1);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -13,11 +13,13 @@ export class InsertLineBreakHandler extends BaseHandler {
|
|
|
13
13
|
if (this.isRootContainer(range.startContainer)) {
|
|
14
14
|
this.breakNewBlock();
|
|
15
15
|
}
|
|
16
|
-
if (selectedBlocks.length
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
16
|
+
if (selectedBlocks.length) {
|
|
17
|
+
if (selectedBlocks.length < 2) {
|
|
18
|
+
this.breakSingleBlock();
|
|
19
|
+
}
|
|
20
|
+
else {
|
|
21
|
+
this.breakMultipleBlocks();
|
|
22
|
+
}
|
|
21
23
|
}
|
|
22
24
|
}
|
|
23
25
|
/**
|
|
@@ -9,11 +9,13 @@ export class InsertParagraphHandler extends BaseHandler {
|
|
|
9
9
|
*/
|
|
10
10
|
handleEvent() {
|
|
11
11
|
const selectedBlocks = this.selectionController.getSelectedBlocks();
|
|
12
|
-
if (selectedBlocks.length
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
if (selectedBlocks.length) {
|
|
13
|
+
if (selectedBlocks.length < 2) {
|
|
14
|
+
this.breakSingleBlock();
|
|
15
|
+
}
|
|
16
|
+
else {
|
|
17
|
+
this.breakMultipleBlocks();
|
|
18
|
+
}
|
|
17
19
|
}
|
|
18
20
|
}
|
|
19
21
|
/**
|
|
@@ -63,8 +63,10 @@ export class InsertPasteHandler extends BaseHandler {
|
|
|
63
63
|
const cursorNode = this.removeSelectionRange();
|
|
64
64
|
/* istanbul ignore next */
|
|
65
65
|
const currentBlock = cursorNode === null || cursorNode === void 0 ? void 0 : cursorNode.parentBlock;
|
|
66
|
-
|
|
67
|
-
|
|
66
|
+
if (currentBlock) {
|
|
67
|
+
currentBlock.parent.apply(new InsertBlocksBeforeAction(currentBlock, ...blocks));
|
|
68
|
+
this.switchCaretPositionToNextElement(currentBlock);
|
|
69
|
+
}
|
|
68
70
|
}
|
|
69
71
|
/**
|
|
70
72
|
* Format and parse elements from user paste.
|
|
@@ -73,7 +75,12 @@ export class InsertPasteHandler extends BaseHandler {
|
|
|
73
75
|
* @returns {RTEContentBlock[]} - RTEContentBlock.
|
|
74
76
|
*/
|
|
75
77
|
parsePastedElements(event) {
|
|
76
|
-
|
|
78
|
+
let pastedHTML = event.dataTransfer.getData('text/html');
|
|
79
|
+
if (!pastedHTML) {
|
|
80
|
+
const pastedText = event.dataTransfer.getData('text/plain');
|
|
81
|
+
pastedHTML = this.parsePlainText(pastedText);
|
|
82
|
+
}
|
|
83
|
+
// eslint-disable-next-line no-restricted-globals
|
|
77
84
|
const tempContainer = document.createElement('div');
|
|
78
85
|
tempContainer.innerHTML = pastedHTML;
|
|
79
86
|
return this.elementToDTOProcessor
|
|
@@ -92,4 +99,18 @@ export class InsertPasteHandler extends BaseHandler {
|
|
|
92
99
|
this.selectionController.enqueueSelectionRangeFutureState(newBlock['nodes'][0], 0);
|
|
93
100
|
}
|
|
94
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Parses the content of a plain text and formats it into HTML.
|
|
104
|
+
*
|
|
105
|
+
* @param {string} content - The content of plain text.
|
|
106
|
+
* @returns {string} - The formatted HTML string.
|
|
107
|
+
*/
|
|
108
|
+
parsePlainText(content) {
|
|
109
|
+
const lines = content.split('\n');
|
|
110
|
+
return lines
|
|
111
|
+
.map((line) => {
|
|
112
|
+
return `<span>${line}</span>`;
|
|
113
|
+
})
|
|
114
|
+
.join('<span>\n</span>');
|
|
115
|
+
}
|
|
95
116
|
}
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
import { AutoRunWhenReRenderTaskQueueSlimmer } from '../../../../helpers/slimmers/auto-run-when-re-render-task-queue-slimmer.abstract';
|
|
2
|
+
import stateEntityRenderingRegistry from './state-entity-rendering-registry';
|
|
3
|
+
/**
|
|
4
|
+
* The rich text internal code block selection controller.
|
|
5
|
+
*/
|
|
6
|
+
export class InternalCodeBlockSelectionController extends AutoRunWhenReRenderTaskQueueSlimmer {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(1);
|
|
9
|
+
this.focusNodeOffset = 0;
|
|
10
|
+
/**
|
|
11
|
+
* The method invoke after the component re-render.
|
|
12
|
+
*/
|
|
13
|
+
this.doTask = async () => {
|
|
14
|
+
await this.focusTheCodeBlock(this.shouldFocusNode);
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Update the internal code block selection.
|
|
19
|
+
*
|
|
20
|
+
* @param {RTECodeBlockNode} startNode - The internal code block node DTO.
|
|
21
|
+
* @param {number} startOffset - The content offset.
|
|
22
|
+
* @param {boolean} immediatelyRun - Whether to invoke the method immediately.
|
|
23
|
+
*/
|
|
24
|
+
enqueueSelectionRangeFutureState(startNode, startOffset, immediatelyRun) {
|
|
25
|
+
this.shouldFocusNode = startNode;
|
|
26
|
+
this.focusNodeOffset = startOffset;
|
|
27
|
+
super.enqueueTheTaskIntoQueue(immediatelyRun);
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Check the code block is actually selected or not. Because the Code block is a shadow dom, so can't detect the content selected state.
|
|
31
|
+
* We add two placeholder spans at the begin and end position, we could check the placeholder spans selected state to make sure the code block is selected or not.
|
|
32
|
+
*
|
|
33
|
+
*
|
|
34
|
+
* @example
|
|
35
|
+
* <div>
|
|
36
|
+
* <span></span>
|
|
37
|
+
* <vega-code-block></vega-code-block>
|
|
38
|
+
* <span><span>
|
|
39
|
+
* </div>
|
|
40
|
+
* @param {RTECodeBlock} codeBlock - The code block DTO.
|
|
41
|
+
* @param {Range} range - The range instance.
|
|
42
|
+
* @returns {boolean} - The boolean result.
|
|
43
|
+
*/
|
|
44
|
+
isCodeBlockSelected(codeBlock, range) {
|
|
45
|
+
const codeBlockNode = codeBlock.nodes[0];
|
|
46
|
+
const entityDom = stateEntityRenderingRegistry.getDOMByEntity(codeBlockNode);
|
|
47
|
+
return (codeBlock.isSelected() ||
|
|
48
|
+
(entityDom &&
|
|
49
|
+
range.intersectsNode(entityDom.nextSibling) &&
|
|
50
|
+
range.intersectsNode(entityDom.previousSibling)));
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Focus the code block component.
|
|
54
|
+
*
|
|
55
|
+
* @param {RTECodeBlockNode} node - The code block node DTO.
|
|
56
|
+
*/
|
|
57
|
+
async focusTheCodeBlock(node) {
|
|
58
|
+
await Promise.resolve();
|
|
59
|
+
const entityDom = stateEntityRenderingRegistry.getDOMByEntity(node);
|
|
60
|
+
if (entityDom) {
|
|
61
|
+
void entityDom.doFocus();
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}
|