@globalpayments/vega 2.92.0 → 2.93.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{app-globals-2f326662.js → app-globals-f7ad9275.js} +13 -9
- package/dist/cjs/{child-nodes-event-prevent-slimmer-b9a5b3e2.js → child-nodes-event-prevent-slimmer-e67ee84c.js} +1 -1
- package/dist/cjs/{code-block-6435d641.js → code-block-2f3d0f38.js} +41 -11
- package/dist/cjs/{component-value-history-controller-slimmer.abstract-e4c9a5ba.js → component-value-history-controller-slimmer.abstract-31d2c7aa.js} +72 -39
- package/dist/cjs/{content-state-96ec9114.js → content-state-13daf87a.js} +61 -7
- package/dist/cjs/{date-required-rule-8c9e312b.js → date-required-rule-e65ddd7d.js} +1 -1
- package/dist/cjs/{design-token-3548af29.js → design-token-47393cbb.js} +3 -3
- package/dist/cjs/{element-appender-slimmer-3bf69990.js → element-appender-slimmer-29c4ac60.js} +17 -8
- package/dist/cjs/{event-emit-slimmer-5bab10c2.js → event-emit-slimmer-d234a619.js} +1 -1
- package/dist/cjs/{form-field-controller-slimmer-e0efac05.js → form-field-controller-slimmer-3bfcf88c.js} +1 -1
- package/dist/cjs/{image-annotation-action-853f72c8.js → image-annotation-action-c2b163bb.js} +3 -3
- package/dist/cjs/image-extension-4e99b620.js +39 -0
- package/dist/cjs/index.cjs.js +22 -19
- package/dist/cjs/{inject-keyboard-manager-0dccff1a.js → inject-keyboard-manager-4b2ebbe4.js} +1 -1
- package/dist/cjs/{internal-calendar-period-factory-6187ec4c.js → internal-calendar-period-factory-7a0ecdb1.js} +1 -1
- package/dist/cjs/{internal-translation-controller-48ebfd0f.js → internal-translation-controller-31f2b057.js} +4 -0
- package/dist/cjs/{internal-vega-event-manager-7196a847.js → internal-vega-event-manager-13c4012b.js} +2 -1
- package/dist/cjs/{keyboard-manager-dfe8d924.js → keyboard-manager-c78b46bd.js} +1 -1
- package/dist/cjs/{keyboard-manager-slimmer-4a2560a1.js → keyboard-manager-slimmer-d350c931.js} +1 -1
- package/dist/cjs/{link-extension-28d95849.js → link-extension-455c02b3.js} +3 -3
- package/dist/cjs/loader.cjs.js +15 -14
- package/dist/cjs/{month-view-generator-2e59b188.js → month-view-generator-006562dc.js} +1 -1
- package/dist/cjs/{public-rules-8727c42c.js → public-rules-c59eba88.js} +7 -7
- package/dist/cjs/{range-5cb3d1e4.js → range-bf80fa40.js} +1 -1
- package/dist/cjs/{replace-selected-text-action-a31563ed.js → replace-selected-text-action-a80f5a6a.js} +1 -1
- package/dist/cjs/{responsive-format-facade-98b89142.js → responsive-format-facade-1af54330.js} +1 -1
- package/dist/cjs/{rich-text-editor-required-rule-8e4d577d.js → rich-text-editor-required-rule-1085c71a.js} +1 -1
- package/dist/cjs/{split-cell-operation-9e3ab88d.js → split-cell-operation-2fa5c9e4.js} +3 -3
- package/dist/cjs/{state-border-formatter-626b0a14.js → state-border-formatter-501f6645.js} +1 -1
- package/dist/cjs/{string-format-strategy.abstract-981f43e1.js → string-format-strategy.abstract-a02bf002.js} +1 -1
- package/dist/cjs/{string-input-formatter-slimmer-fc4a0ba5.js → string-input-formatter-slimmer-9cca6151.js} +1 -1
- package/dist/cjs/{string-mask-strategy-b47fa159.js → string-mask-strategy-4c174ebf.js} +2 -2
- package/dist/cjs/{style-formatter-baf18624.js → style-formatter-2c749500.js} +2 -2
- package/dist/cjs/{time-required-rule-e77d174f.js → time-required-rule-04994a5e.js} +1 -1
- package/dist/cjs/{token-extension-3aec039f.js → token-extension-d217914d.js} +1300 -14
- package/dist/cjs/{translation-slimmer-1e05769e.js → translation-slimmer-7fb6e94c.js} +1 -1
- package/dist/cjs/{type-guard-7ab48d6c.js → type-guard-1c3770d4.js} +1 -1
- package/dist/cjs/{valid-credit-card-number-rule-52ba9c67.js → valid-credit-card-number-rule-f719a8c6.js} +1 -1
- package/dist/cjs/vega-accordion.cjs.entry.js +9 -9
- package/dist/cjs/vega-app-footer.cjs.entry.js +3 -3
- package/dist/cjs/vega-app-header-button.cjs.entry.js +9 -9
- package/dist/cjs/vega-banner.cjs.entry.js +3 -3
- package/dist/cjs/vega-box.cjs.entry.js +6 -6
- package/dist/cjs/vega-breadcrumb.cjs.entry.js +4 -4
- package/dist/cjs/vega-button-circle.cjs.entry.js +9 -9
- package/dist/cjs/vega-button-group_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-button-link.cjs.entry.js +4 -4
- package/dist/cjs/vega-button.cjs.entry.js +7 -7
- package/dist/cjs/vega-calendar_5.cjs.entry.js +11 -11
- package/dist/cjs/vega-card.cjs.entry.js +5 -5
- package/dist/cjs/vega-carousel.cjs.entry.js +6 -6
- package/dist/cjs/vega-checkbox_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-chip.cjs.entry.js +9 -9
- package/dist/cjs/vega-code-block.cjs.entry.js +12 -12
- package/dist/cjs/vega-color-picker.cjs.entry.js +5 -5
- package/dist/cjs/vega-color-swatch-picker.cjs.entry.js +7 -7
- package/dist/cjs/vega-color-swatch.cjs.entry.js +5 -5
- package/dist/cjs/vega-combo-box.cjs.entry.js +19 -13
- package/dist/cjs/vega-date-picker_2.cjs.entry.js +17 -17
- package/dist/cjs/vega-dialog_2.cjs.entry.js +20 -9
- package/dist/cjs/vega-divider.cjs.entry.js +5 -5
- package/dist/cjs/vega-dropdown_5.cjs.entry.js +693 -195
- package/dist/cjs/vega-env-manager-23b8b23c.js +2 -2
- package/dist/cjs/{vega-event-id-df22d80e.js → vega-event-id-58afed7a.js} +2 -0
- package/dist/cjs/vega-field-label.cjs.entry.js +5 -5
- package/dist/cjs/vega-file-uploader.cjs.entry.js +6 -6
- package/dist/cjs/vega-flag-icon.cjs.entry.js +5 -5
- package/dist/cjs/vega-flex.cjs.entry.js +6 -6
- package/dist/cjs/vega-font.cjs.entry.js +5 -5
- package/dist/cjs/vega-form.cjs.entry.js +7 -7
- package/dist/cjs/vega-grid.cjs.entry.js +5 -5
- package/dist/cjs/vega-icon.cjs.entry.js +5 -5
- package/dist/cjs/vega-image-uploader.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-credit-card.cjs.entry.js +10 -10
- package/dist/cjs/vega-input-numeric.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-passcode.cjs.entry.js +9 -9
- package/dist/cjs/vega-input-phone-number.cjs.entry.js +8 -8
- package/dist/cjs/vega-input-range.cjs.entry.js +7 -7
- package/dist/cjs/vega-input-select.cjs.entry.js +9 -9
- package/dist/cjs/vega-input.cjs.entry.js +9 -9
- package/dist/cjs/vega-item-toggle.cjs.entry.js +3 -3
- package/dist/cjs/vega-left-nav_5.cjs.entry.js +10 -10
- package/dist/cjs/vega-loader-wrapper_2.cjs.entry.js +3 -3
- package/dist/cjs/vega-page-notification_2.cjs.entry.js +1 -1
- package/dist/cjs/vega-pagination-page-selector-mobile.cjs.entry.js +3 -3
- package/dist/cjs/vega-pagination-page-size-selector-mobile.cjs.entry.js +3 -3
- package/dist/cjs/vega-pagination.cjs.entry.js +8 -8
- package/dist/cjs/vega-popover_2.cjs.entry.js +11 -11
- package/dist/cjs/vega-progress-tracker_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-radio_2.cjs.entry.js +9 -9
- package/dist/cjs/vega-rich-text-content.cjs.entry.js +7 -7
- package/dist/cjs/vega-rich-text-editor_4.cjs.entry.js +472 -62
- package/dist/cjs/vega-rich-text-find-replace-panel.cjs.entry.js +4 -4
- package/dist/cjs/vega-rich-text-special-characters-panel.cjs.entry.js +8 -8
- package/dist/cjs/vega-rich-text-table-properties_3.cjs.entry.js +11 -11
- package/dist/cjs/vega-segment-control.cjs.entry.js +3 -3
- package/dist/cjs/vega-selection-chip_2.cjs.entry.js +8 -8
- package/dist/cjs/vega-selection-tile_2.cjs.entry.js +6 -6
- package/dist/cjs/vega-sidenav_3.cjs.entry.js +6 -6
- package/dist/cjs/vega-signature-capture.cjs.entry.js +10 -10
- package/dist/cjs/vega-stepper.cjs.entry.js +6 -6
- package/dist/cjs/vega-tab-group_2.cjs.entry.js +4 -4
- package/dist/cjs/vega-table_11.cjs.entry.js +911 -428
- package/dist/cjs/vega-textarea.cjs.entry.js +7 -9
- package/dist/cjs/vega-time-picker_2.cjs.entry.js +34 -14
- package/dist/cjs/vega-toggle-switch.cjs.entry.js +5 -5
- package/dist/cjs/vega-tooltip_2.cjs.entry.js +6 -6
- package/dist/cjs/vega.cjs.js +15 -14
- package/dist/collection/components/vega-combo-box/slimmers/renderers/vega-combo-box-dropdown-renderer.js +4 -1
- package/dist/collection/components/vega-combo-box/vega-combo-box.js +7 -1
- package/dist/collection/components/vega-dialog/vega-dialog.js +1 -1
- package/dist/collection/components/vega-dropdown/constants.js +1 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.js +9 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.js +97 -4
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-select-all-controller.js +219 -0
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-selected-controller.js +78 -13
- package/dist/collection/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.js +13 -1
- package/dist/collection/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.js +7 -0
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/controllers/vega-dropdown-item-state-controller.js +52 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.js +4 -1
- package/dist/collection/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.js +5 -0
- package/dist/collection/components/vega-dropdown/vega-dropdown.js +126 -1
- package/dist/collection/components/vega-field-label/vega-field-label.js +1 -1
- package/dist/collection/components/vega-hint/vega-hint.js +1 -1
- package/dist/collection/components/vega-modal/slimmers/renderers/vega-modal-renderer.js +4 -1
- package/dist/collection/components/vega-modal/vega-modal.css +0 -1
- package/dist/collection/components/vega-modal/vega-modal.js +38 -0
- package/dist/collection/components/vega-rich-text-editor/assets/redo.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/assets/undo.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-insert-line-break-strategy.js +11 -5
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/block-split-with-text-node-strategy.js +9 -4
- package/dist/collection/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.js +61 -5
- package/dist/collection/components/vega-rich-text-editor/dto/actions/paste-content-action.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/dto/nodes/text-node.js +6 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/action-handler-interceptors/blockquote-exit-on-enter-interceptor.js +61 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/action-handler-strategies/block-transform-to-blockquote-strategy.js +40 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/action-handler-strategies/remove-blockquote-strategy.js +20 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/actions/remove-blockquote-action.js +17 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/actions/transform-to-blockquote-action.js +19 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/assets/quote-left.js +4 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/blockquote-extension.js +47 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/dto/blockquote-annotation.js +76 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/dto/rte-blockquote-block.js +70 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/element-to-dto-strategies/blockquote-to-blockquote-block-strategy.js +53 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/filter-styles-strategies/blockquote-block/blockquote-filter-styles-strategy.js +41 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-block-renderer.js +21 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.js +260 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/image/image-extension.js +34 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/image/type.js +1 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/assets/paste.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.js +144 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-constants.js +6 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/paste/paste-extension.js +442 -0
- package/dist/collection/components/vega-rich-text-editor/extensions/table/renderers/table-renderer.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/extensions/table/table-extension.js +4 -3
- package/dist/collection/components/vega-rich-text-editor/helpers/utils.js +14 -0
- package/dist/collection/components/vega-rich-text-editor/public-api.js +3 -0
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/base-handler.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-line-break-handler.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.js +385 -25
- package/dist/collection/components/vega-rich-text-editor/slimmers/controllers/selection-controller.js +69 -36
- package/dist/collection/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.js +59 -14
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.js +6 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.js +28 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-editor.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-image-editor/vega-rich-text-image-editor.js +1 -1
- package/dist/collection/components/vega-rich-text-editor/vega-rich-text-link-editor/vega-rich-text-link-editor.js +1 -1
- package/dist/collection/components/vega-table/slimmers/controllers/dto/column-render-input-model.js +32 -0
- package/dist/collection/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.js +77 -0
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.js +121 -0
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-cell-renderer.js +39 -14
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.js +207 -7
- package/dist/collection/components/vega-table/slimmers/renderers/vega-table-row-renderer.js +16 -3
- package/dist/collection/components/vega-table/vega-table-cell/vega-table-cell.js +24 -4
- package/dist/collection/components/vega-table/vega-table-expand-row/slimmers/controllers/vega-table-expand-row-col-span-controller.js +11 -2
- package/dist/collection/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.js +5 -1
- package/dist/collection/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.js +22 -1
- package/dist/collection/components/vega-table/vega-table.css +5 -0
- package/dist/collection/components/vega-table/vega-table.js +5 -0
- package/dist/collection/components/vega-text/vega-text.js +1 -1
- package/dist/collection/components/vega-textarea/vega-textarea.js +1 -3
- package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-range-dropdown-controller.js +4 -0
- package/dist/collection/components/vega-time-picker/slimmers/controllers/vega-time-picker-single-dropdown-controller.js +4 -0
- package/dist/collection/components/vega-time-picker/vega-time-picker.js +39 -0
- package/dist/collection/constants/ui.js +1 -0
- package/dist/collection/global/scripts/before-vega-load.js +6 -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-event-id.js +1 -0
- package/dist/collection/helpers/slimmers/element-appender/element-appender-slimmer.js +11 -4
- package/dist/collection/helpers/translation/locales/en.js +4 -0
- package/dist/collection/helpers/ui/element-appender.js +5 -2
- package/dist/esm/{app-globals-5e0d319a.js → app-globals-9950d055.js} +13 -9
- package/dist/esm/{child-nodes-event-prevent-slimmer-f24618c5.js → child-nodes-event-prevent-slimmer-96c14f5a.js} +1 -1
- package/dist/esm/{code-block-b71b2aa4.js → code-block-ae2337c2.js} +41 -12
- package/dist/esm/{component-value-history-controller-slimmer.abstract-282df6e5.js → component-value-history-controller-slimmer.abstract-b1ee1b8e.js} +72 -39
- package/dist/esm/{content-state-909099f8.js → content-state-c3b85ae6.js} +61 -7
- package/dist/esm/{date-required-rule-15edb04a.js → date-required-rule-e06115f8.js} +1 -1
- package/dist/esm/{design-token-cb5ed6b9.js → design-token-4e682056.js} +3 -3
- package/dist/esm/{element-appender-slimmer-e41120ee.js → element-appender-slimmer-a4485ef6.js} +17 -8
- package/dist/esm/{event-emit-slimmer-03deba18.js → event-emit-slimmer-db4a82e0.js} +1 -1
- package/dist/esm/{form-field-controller-slimmer-cfe1d8a7.js → form-field-controller-slimmer-a1c7b28c.js} +1 -1
- package/dist/esm/{image-annotation-action-98232dc4.js → image-annotation-action-4c77d314.js} +3 -3
- package/dist/esm/image-extension-7108c27d.js +37 -0
- package/dist/esm/index.js +19 -19
- package/dist/esm/{inject-keyboard-manager-13cc77ab.js → inject-keyboard-manager-e8ddb78d.js} +1 -1
- package/dist/esm/{internal-calendar-period-factory-c3d70f3b.js → internal-calendar-period-factory-6f19d767.js} +1 -1
- package/dist/esm/{internal-translation-controller-8e8a514a.js → internal-translation-controller-09b8bd13.js} +4 -0
- package/dist/esm/{internal-vega-event-manager-75e5e3bb.js → internal-vega-event-manager-48690e5b.js} +2 -1
- package/dist/esm/{keyboard-manager-fe885db1.js → keyboard-manager-ec18721b.js} +1 -1
- package/dist/esm/{keyboard-manager-slimmer-61d4c79b.js → keyboard-manager-slimmer-531ddb0e.js} +1 -1
- package/dist/esm/{link-extension-f1a3bea7.js → link-extension-74eaa826.js} +3 -3
- package/dist/esm/loader.js +15 -14
- package/dist/esm/{month-view-generator-85eecb95.js → month-view-generator-afd78ff8.js} +1 -1
- package/dist/esm/{public-rules-323bea4b.js → public-rules-5fce32a5.js} +7 -7
- package/dist/esm/{range-e63068d1.js → range-8f877dbf.js} +1 -1
- package/dist/esm/{replace-selected-text-action-c0817b2b.js → replace-selected-text-action-c9278a0f.js} +1 -1
- package/dist/esm/{responsive-format-facade-fb424f5b.js → responsive-format-facade-299e6304.js} +1 -1
- package/dist/esm/{rich-text-editor-required-rule-0edb8ba7.js → rich-text-editor-required-rule-3047bab0.js} +1 -1
- package/dist/esm/{split-cell-operation-93b4d775.js → split-cell-operation-98d58410.js} +3 -3
- package/dist/esm/{state-border-formatter-1a528ca4.js → state-border-formatter-da52b626.js} +1 -1
- package/dist/esm/{string-format-strategy.abstract-72fc98aa.js → string-format-strategy.abstract-a45b5ff7.js} +1 -1
- package/dist/esm/{string-input-formatter-slimmer-b0c480d8.js → string-input-formatter-slimmer-4a032fed.js} +1 -1
- package/dist/esm/{string-mask-strategy-4e00c173.js → string-mask-strategy-37e53e48.js} +2 -2
- package/dist/esm/{style-formatter-5c1bea8d.js → style-formatter-3d5ddfb1.js} +2 -2
- package/dist/esm/{time-required-rule-df500b14.js → time-required-rule-355b73d2.js} +1 -1
- package/dist/esm/{token-extension-32d1fa56.js → token-extension-ecfafe94.js} +1298 -15
- package/dist/esm/{translation-slimmer-60408f13.js → translation-slimmer-3ea56354.js} +1 -1
- package/dist/esm/{type-guard-91087018.js → type-guard-2bfb2c7b.js} +1 -1
- package/dist/esm/{valid-credit-card-number-rule-681ecb75.js → valid-credit-card-number-rule-52c6b029.js} +1 -1
- package/dist/esm/vega-accordion.entry.js +9 -9
- package/dist/esm/vega-app-footer.entry.js +3 -3
- package/dist/esm/vega-app-header-button.entry.js +9 -9
- package/dist/esm/vega-banner.entry.js +3 -3
- package/dist/esm/vega-box.entry.js +6 -6
- package/dist/esm/vega-breadcrumb.entry.js +4 -4
- package/dist/esm/vega-button-circle.entry.js +9 -9
- package/dist/esm/vega-button-group_2.entry.js +4 -4
- package/dist/esm/vega-button-link.entry.js +4 -4
- package/dist/esm/vega-button.entry.js +7 -7
- package/dist/esm/vega-calendar_5.entry.js +11 -11
- package/dist/esm/vega-card.entry.js +5 -5
- package/dist/esm/vega-carousel.entry.js +6 -6
- package/dist/esm/vega-checkbox_2.entry.js +6 -6
- package/dist/esm/vega-chip.entry.js +9 -9
- package/dist/esm/vega-code-block.entry.js +12 -12
- package/dist/esm/vega-color-picker.entry.js +5 -5
- package/dist/esm/vega-color-swatch-picker.entry.js +7 -7
- package/dist/esm/vega-color-swatch.entry.js +5 -5
- package/dist/esm/vega-combo-box.entry.js +19 -13
- package/dist/esm/vega-date-picker_2.entry.js +17 -17
- package/dist/esm/vega-dialog_2.entry.js +20 -9
- package/dist/esm/vega-divider.entry.js +5 -5
- package/dist/esm/vega-dropdown_5.entry.js +695 -197
- package/dist/esm/vega-env-manager-8f8dc473.js +2 -2
- package/dist/esm/{vega-event-id-d3017041.js → vega-event-id-270fe47e.js} +2 -1
- package/dist/esm/vega-field-label.entry.js +5 -5
- package/dist/esm/vega-file-uploader.entry.js +6 -6
- package/dist/esm/vega-flag-icon.entry.js +5 -5
- package/dist/esm/vega-flex.entry.js +6 -6
- package/dist/esm/vega-font.entry.js +5 -5
- package/dist/esm/vega-form.entry.js +7 -7
- package/dist/esm/vega-grid.entry.js +5 -5
- package/dist/esm/vega-icon.entry.js +5 -5
- package/dist/esm/vega-image-uploader.entry.js +9 -9
- package/dist/esm/vega-input-credit-card.entry.js +10 -10
- package/dist/esm/vega-input-numeric.entry.js +9 -9
- package/dist/esm/vega-input-passcode.entry.js +9 -9
- package/dist/esm/vega-input-phone-number.entry.js +8 -8
- package/dist/esm/vega-input-range.entry.js +7 -7
- package/dist/esm/vega-input-select.entry.js +9 -9
- package/dist/esm/vega-input.entry.js +9 -9
- package/dist/esm/vega-item-toggle.entry.js +3 -3
- package/dist/esm/vega-left-nav_5.entry.js +10 -10
- package/dist/esm/vega-loader-wrapper_2.entry.js +3 -3
- package/dist/esm/vega-page-notification_2.entry.js +1 -1
- package/dist/esm/vega-pagination-page-selector-mobile.entry.js +3 -3
- package/dist/esm/vega-pagination-page-size-selector-mobile.entry.js +3 -3
- package/dist/esm/vega-pagination.entry.js +8 -8
- package/dist/esm/vega-popover_2.entry.js +11 -11
- package/dist/esm/vega-progress-tracker_2.entry.js +6 -6
- package/dist/esm/vega-radio_2.entry.js +9 -9
- package/dist/esm/vega-rich-text-content.entry.js +7 -7
- package/dist/esm/vega-rich-text-editor_4.entry.js +472 -62
- package/dist/esm/vega-rich-text-find-replace-panel.entry.js +4 -4
- package/dist/esm/vega-rich-text-special-characters-panel.entry.js +8 -8
- package/dist/esm/vega-rich-text-table-properties_3.entry.js +11 -11
- package/dist/esm/vega-segment-control.entry.js +3 -3
- package/dist/esm/vega-selection-chip_2.entry.js +8 -8
- package/dist/esm/vega-selection-tile_2.entry.js +6 -6
- package/dist/esm/vega-sidenav_3.entry.js +6 -6
- package/dist/esm/vega-signature-capture.entry.js +10 -10
- package/dist/esm/vega-stepper.entry.js +6 -6
- package/dist/esm/vega-tab-group_2.entry.js +4 -4
- package/dist/esm/vega-table_11.entry.js +911 -428
- package/dist/esm/vega-textarea.entry.js +7 -9
- package/dist/esm/vega-time-picker_2.entry.js +34 -14
- package/dist/esm/vega-toggle-switch.entry.js +5 -5
- package/dist/esm/vega-tooltip_2.entry.js +6 -6
- package/dist/esm/vega.js +15 -14
- package/dist/sri/vega-sri-manifest.json +362 -358
- package/dist/types/components/vega-combo-box/types.d.ts +6 -1
- package/dist/types/components/vega-combo-box/vega-combo-box.d.ts +1 -0
- package/dist/types/components/vega-dropdown/constants.d.ts +1 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-appender-controller.d.ts +2 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-children-controller.d.ts +36 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-select-all-controller.d.ts +107 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-selected-controller.d.ts +17 -0
- package/dist/types/components/vega-dropdown/slimmers/controllers/vega-dropdown-source-controller.d.ts +5 -0
- package/dist/types/components/vega-dropdown/slimmers/renderers/vega-dropdown-list-renderer.d.ts +2 -0
- package/dist/types/components/vega-dropdown/types.d.ts +8 -0
- package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/controllers/vega-dropdown-item-state-controller.d.ts +25 -0
- package/dist/types/components/vega-dropdown/vega-dropdown-item/slimmers/renderers/vega-dropdown-item-renderer.d.ts +1 -0
- package/dist/types/components/vega-dropdown/vega-dropdown-item/vega-dropdown-item.d.ts +4 -0
- package/dist/types/components/vega-dropdown/vega-dropdown.d.ts +48 -0
- package/dist/types/components/vega-modal/slimmers/renderers/vega-modal-renderer.d.ts +2 -1
- package/dist/types/components/vega-modal/vega-modal.d.ts +9 -1
- package/dist/types/components/vega-rich-text-editor/dto/action-handle-strategies/modify-content-strategies/paste-content-strategy.d.ts +14 -4
- package/dist/types/components/vega-rich-text-editor/dto/actions/paste-content-action.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/action-handler-interceptors/blockquote-exit-on-enter-interceptor.d.ts +34 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/action-handler-strategies/block-transform-to-blockquote-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/action-handler-strategies/remove-blockquote-strategy.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/actions/remove-blockquote-action.d.ts +14 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/actions/transform-to-blockquote-action.d.ts +18 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/assets/quote-left.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/blockquote-extension.d.ts +9 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/dto/blockquote-annotation.d.ts +48 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/dto/rte-blockquote-block.d.ts +56 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/element-to-dto-strategies/blockquote-to-blockquote-block-strategy.d.ts +35 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/filter-styles-strategies/blockquote-block/blockquote-filter-styles-strategy.d.ts +31 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-block-renderer.d.ts +18 -0
- package/dist/types/components/vega-rich-text-editor/extensions/blockquote/renderers/blockquote-toolbar-button-renderer.d.ts +113 -0
- package/dist/types/components/vega-rich-text-editor/extensions/image/image-extension.d.ts +27 -0
- package/dist/types/components/vega-rich-text-editor/extensions/image/type.d.ts +13 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/assets/paste.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-chooser-ui.d.ts +58 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-constants.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/extensions/paste/paste-extension.d.ts +150 -0
- package/dist/types/components/vega-rich-text-editor/helpers/utils.d.ts +7 -0
- package/dist/types/components/vega-rich-text-editor/public-api.d.ts +3 -0
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/helper/input-event-handler/insert-paste-handler.d.ts +114 -3
- package/dist/types/components/vega-rich-text-editor/slimmers/controllers/selection-controller.d.ts +22 -13
- package/dist/types/components/vega-rich-text-editor/slimmers/renderers/tools/image-toolbar-button-slimmer.d.ts +10 -2
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/slimmers/renderers/vega-rich-text-editor-toolbar-button-renderer.d.ts +1 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor-toolbar-button/vega-rich-text-editor-toolbar-button.d.ts +6 -0
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-editor.d.ts +4 -4
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-image-editor/vega-rich-text-image-editor.d.ts +1 -1
- package/dist/types/components/vega-rich-text-editor/vega-rich-text-link-editor/vega-rich-text-link-editor.d.ts +1 -1
- package/dist/types/components/vega-table/interface.d.ts +18 -0
- package/dist/types/components/vega-table/slimmers/controllers/dto/column-render-input-model.d.ts +13 -0
- package/dist/types/components/vega-table/slimmers/controllers/vega-table-body-col-span-controller.d.ts +43 -0
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-body-col-span-resolver.d.ts +38 -0
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-cell-renderer.d.ts +11 -2
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-pinned-renderer.d.ts +4 -0
- package/dist/types/components/vega-table/slimmers/renderers/vega-table-row-renderer.d.ts +1 -0
- package/dist/types/components/vega-table/vega-table-cell/slimmers/controllers/vega-table-row-state-subscriber.d.ts +1 -1
- package/dist/types/components/vega-table/vega-table-cell/vega-table-cell.d.ts +9 -0
- package/dist/types/components/vega-table/vega-table-foot-cell/slimmers/renderers/vega-table-foot-cell-renderer.d.ts +1 -0
- package/dist/types/components/vega-table/vega-table-foot-cell/vega-table-foot-cell.d.ts +9 -0
- package/dist/types/components/vega-table/vega-table.d.ts +2 -0
- package/dist/types/components/vega-time-picker/slimmers/controllers/vega-time-picker-range-dropdown-controller.d.ts +1 -0
- package/dist/types/components/vega-time-picker/slimmers/controllers/vega-time-picker-single-dropdown-controller.d.ts +1 -0
- package/dist/types/components/vega-time-picker/types.d.ts +7 -0
- package/dist/types/components/vega-time-picker/vega-time-picker.d.ts +11 -1
- package/dist/types/components.d.ts +80 -3
- package/dist/types/constants/ui.d.ts +1 -1
- package/dist/types/helpers/event-manager/event-id/vega-event-id.d.ts +1 -0
- package/dist/types/helpers/translation/interface.d.ts +5 -0
- package/dist/types/helpers/ui/element-appender.d.ts +4 -1
- package/dist/types/types/components.type.d.ts +5 -1
- package/dist/vega/index.esm.js +1 -1
- package/dist/vega/{p-481601c0.entry.js → p-05f937c5.entry.js} +1 -1
- package/dist/vega/{p-970115d6.js → p-07562b9c.js} +1 -1
- package/dist/vega/{p-d0ce752f.entry.js → p-09d50f59.entry.js} +1 -1
- package/dist/vega/{p-22f73e6e.entry.js → p-0cb78838.entry.js} +1 -1
- package/dist/vega/p-0e607b44.js +1 -0
- package/dist/vega/{p-c8eaf91c.entry.js → p-0f1d6ceb.entry.js} +1 -1
- package/dist/vega/{p-70817cf5.js → p-140616fe.js} +1 -1
- package/dist/vega/{p-f70f7ad8.entry.js → p-1818f399.entry.js} +1 -1
- package/dist/vega/{p-802bf369.js → p-18a5e8bc.js} +1 -1
- package/dist/vega/{p-4d9061fb.js → p-19c42e30.js} +1 -1
- package/dist/vega/{p-d7369441.js → p-1efab41b.js} +1 -1
- package/dist/vega/{p-92823583.js → p-21e21f51.js} +1 -1
- package/dist/vega/{p-c0629528.entry.js → p-26c7fe8b.entry.js} +1 -1
- package/dist/vega/p-282b37cb.js +1 -0
- package/dist/vega/{p-c78aeaf3.entry.js → p-2dc5edd0.entry.js} +1 -1
- package/dist/vega/{p-228c5de8.js → p-2de61f1b.js} +1 -1
- package/dist/vega/{p-82279b03.entry.js → p-2de88b4a.entry.js} +1 -1
- package/dist/vega/{p-438b7404.entry.js → p-2fcc604c.entry.js} +1 -1
- package/dist/vega/{p-aa32f2f3.js → p-32a67ba1.js} +1 -1
- package/dist/vega/p-392e049c.entry.js +1 -0
- package/dist/vega/{p-a268a4fb.entry.js → p-3932f964.entry.js} +1 -1
- package/dist/vega/{p-f515d189.entry.js → p-3c9da3cd.entry.js} +1 -1
- package/dist/vega/{p-5829a66d.entry.js → p-3f7b10b9.entry.js} +1 -1
- package/dist/vega/{p-5545a235.entry.js → p-422d88ae.entry.js} +1 -1
- package/dist/vega/p-4256252c.js +3 -0
- package/dist/vega/{p-8f078d0d.entry.js → p-44439ecc.entry.js} +1 -1
- package/dist/vega/{p-68e16c70.entry.js → p-45e8424a.entry.js} +1 -1
- package/dist/vega/p-4c49b2e3.js +1 -0
- package/dist/vega/{p-71e2a3ec.js → p-4d9562bc.js} +1 -1
- package/dist/vega/p-4e1aa86f.js +1 -0
- package/dist/vega/p-4ef5c4a7.entry.js +1 -0
- package/dist/vega/{p-9440a8a5.entry.js → p-4f327808.entry.js} +1 -1
- package/dist/vega/{p-2def8e3e.js → p-5139e516.js} +1 -1
- package/dist/vega/{p-2e58d99e.entry.js → p-56c4e349.entry.js} +1 -1
- package/dist/vega/{p-b730bf6e.js → p-5dbfffcd.js} +1 -1
- package/dist/vega/p-5f377954.js +1 -1
- package/dist/vega/{p-916dfa7e.entry.js → p-615a2b8c.entry.js} +1 -1
- package/dist/vega/{p-625351a3.entry.js → p-63101cb4.entry.js} +1 -1
- package/dist/vega/{p-7798254d.entry.js → p-653a6dd8.entry.js} +1 -1
- package/dist/vega/{p-d20587b4.entry.js → p-66b7d1c7.entry.js} +1 -1
- package/dist/vega/{p-9219201a.entry.js → p-6712a9c7.entry.js} +1 -1
- package/dist/vega/p-698fbd73.js +1 -0
- package/dist/vega/p-6ad7144a.entry.js +1 -0
- package/dist/vega/{p-9fafc956.entry.js → p-6b1893f6.entry.js} +1 -1
- package/dist/vega/{p-93dfab05.js → p-6d40635e.js} +1 -1
- package/dist/vega/{p-b799fc1f.entry.js → p-73fd18d9.entry.js} +1 -1
- package/dist/vega/p-751a5cd6.entry.js +1 -0
- package/dist/vega/{p-f7739cbb.entry.js → p-7b93a756.entry.js} +1 -1
- package/dist/vega/{p-2314494a.entry.js → p-7c8e579e.entry.js} +1 -1
- package/dist/vega/{p-4953bb1a.js → p-7d54e9c1.js} +1 -1
- package/dist/vega/{p-590c8720.entry.js → p-832d1a72.entry.js} +1 -1
- package/dist/vega/p-846b1ab9.entry.js +1 -0
- package/dist/vega/p-88863658.js +1 -0
- package/dist/vega/{p-c2e0f8b7.entry.js → p-8c1a5fa4.entry.js} +1 -1
- package/dist/vega/{p-f0bc2bbb.js → p-8d27b9cc.js} +1 -1
- package/dist/vega/{p-f365601c.entry.js → p-944b43ce.entry.js} +1 -1
- package/dist/vega/{p-8d69b201.js → p-95d6c85f.js} +1 -1
- package/dist/vega/{p-9b1d718c.entry.js → p-99b699be.entry.js} +1 -1
- package/dist/vega/p-9a01be93.js +1 -0
- package/dist/vega/{p-53c76d9d.entry.js → p-9a472a04.entry.js} +1 -1
- package/dist/vega/{p-18413b62.entry.js → p-9cafbc26.entry.js} +1 -1
- package/dist/vega/p-a359e53c.js +1 -0
- package/dist/vega/p-a9a87b9a.js +1 -0
- package/dist/vega/p-acbba6da.entry.js +1 -0
- package/dist/vega/{p-56cf1a65.entry.js → p-ad35dea4.entry.js} +1 -1
- package/dist/vega/{p-06c2ce2c.entry.js → p-af98539f.entry.js} +1 -1
- package/dist/vega/{p-136226f8.js → p-afb96938.js} +1 -1
- package/dist/vega/{p-e160a727.entry.js → p-b042e3b4.entry.js} +1 -1
- package/dist/vega/{p-5beec481.js → p-b1ff70bf.js} +1 -1
- package/dist/vega/{p-9cdedcfb.entry.js → p-b39d4a88.entry.js} +1 -1
- package/dist/vega/{p-c78e8081.entry.js → p-b5bee669.entry.js} +1 -1
- package/dist/vega/p-b5f308ee.entry.js +1 -0
- package/dist/vega/{p-43c3848f.entry.js → p-bbabb1c8.entry.js} +1 -1
- package/dist/vega/p-bbf1f988.entry.js +1 -0
- package/dist/vega/{p-e9cee498.entry.js → p-c2d28797.entry.js} +1 -1
- package/dist/vega/{p-40501057.entry.js → p-c3c0e415.entry.js} +1 -1
- package/dist/vega/{p-5946fadf.js → p-c553d37e.js} +1 -1
- package/dist/vega/{p-f6bccb06.entry.js → p-c5ecbc53.entry.js} +1 -1
- package/dist/vega/{p-2353b64f.entry.js → p-c9c6daa6.entry.js} +1 -1
- package/dist/vega/p-cb81fc2a.entry.js +1 -0
- package/dist/vega/p-ccb9bf86.js +1 -0
- package/dist/vega/{p-e371738b.js → p-ccf7518b.js} +1 -1
- package/dist/vega/{p-8b9a8603.entry.js → p-cf8d5b3f.entry.js} +1 -1
- package/dist/vega/{p-30561e1d.entry.js → p-d3a36d19.entry.js} +1 -1
- package/dist/vega/{p-cd1844ad.entry.js → p-d44943e2.entry.js} +1 -1
- package/dist/vega/{p-d3c8b871.entry.js → p-d4bb6f93.entry.js} +1 -1
- package/dist/vega/p-d62b85ff.entry.js +1 -0
- package/dist/vega/{p-ce7e9515.entry.js → p-d7f32ccf.entry.js} +1 -1
- package/dist/vega/p-dca3278f.js +1 -0
- package/dist/vega/{p-37dffdf6.entry.js → p-ddd28a8e.entry.js} +1 -1
- package/dist/vega/{p-2da12975.entry.js → p-ddf03de1.entry.js} +1 -1
- package/dist/vega/p-e0ecafca.js +1 -0
- package/dist/vega/p-e33e1e90.js +1 -0
- package/dist/vega/{p-5038b6d7.entry.js → p-e410c4ad.entry.js} +1 -1
- package/dist/vega/{p-a361456d.js → p-e4309574.js} +1 -1
- package/dist/vega/p-e5187a86.entry.js +1 -0
- package/dist/vega/{p-fc5dfb52.entry.js → p-e86c6802.entry.js} +1 -1
- package/dist/vega/{p-e3803943.js → p-ef605271.js} +1 -1
- package/dist/vega/{p-45ab490c.js → p-f0d4c78c.js} +1 -1
- package/dist/vega/{p-e41d9d0e.entry.js → p-f2f22b5d.entry.js} +1 -1
- package/dist/vega/{p-b6ebfd5c.entry.js → p-f8a29127.entry.js} +1 -1
- package/dist/vega/{p-cd9fb2ca.entry.js → p-fbd3be00.entry.js} +1 -1
- package/dist/vega/{p-450bf94d.entry.js → p-fda6e2cc.entry.js} +1 -1
- package/dist/vega/p-ff8dd200.js +1 -0
- package/dist/vega/{p-c67ce78c.entry.js → p-ffdacaf9.entry.js} +1 -1
- package/dist/vega/vega.esm.js +1 -1
- package/package.json +2 -16
- package/readme.md +0 -5
- package/dist/vega/p-0179f55d.js +0 -1
- package/dist/vega/p-07b56f2b.entry.js +0 -1
- package/dist/vega/p-209e0166.js +0 -1
- package/dist/vega/p-35df0f0a.entry.js +0 -1
- package/dist/vega/p-3cf4339a.entry.js +0 -1
- package/dist/vega/p-4e39adf5.entry.js +0 -1
- package/dist/vega/p-5319da71.entry.js +0 -1
- package/dist/vega/p-5de1acdb.js +0 -1
- package/dist/vega/p-5df9047c.js +0 -1
- package/dist/vega/p-683cfe24.js +0 -1
- package/dist/vega/p-7be548a7.js +0 -1
- package/dist/vega/p-8509c140.entry.js +0 -1
- package/dist/vega/p-8aa07ed0.js +0 -1
- package/dist/vega/p-8da860f6.js +0 -1
- package/dist/vega/p-ca9852bb.js +0 -1
- package/dist/vega/p-de885ef2.js +0 -1
- package/dist/vega/p-dee38163.entry.js +0 -1
- package/dist/vega/p-e5502873.entry.js +0 -1
- package/dist/vega/p-ea22cba0.js +0 -1
- package/dist/vega/p-ea54ce0a.js +0 -3
- package/dist/vega/p-ee3155bd.js +0 -1
- package/dist/vega/p-eee01ba7.entry.js +0 -1
- package/dist/vega/p-ef2b9846.entry.js +0 -1
- package/dist/vega/p-f4a01959.js +0 -1
- package/dist/vega/p-f5aefb2f.entry.js +0 -1
|
@@ -6,32 +6,34 @@ import { c as createEnterKeyHandlerToTriggerClick } from './accessibility-6af5cf
|
|
|
6
6
|
import { C as ChangeManager } from './change-manager-6a7eb88c.js';
|
|
7
7
|
import { d as domNodeSubjectFactory, D as DomNodeSubjectObserverFactory } from './dom-node-subject-observer-factory-ddff8662.js';
|
|
8
8
|
import { t as VegaInternalComponentDidRender, e as VegaInternalRichTextEditorFlushChanges, d as VegaInternalRichTextEditDeleteSelectedNodes, H as VegaInternalRichTextImageClick, I as VegaInternalRichTextImageDeleteButtonClicked, z as VegaInternalCodeBlockBlur, a as VegaInternalPopoverUpdateTarget } from './vega-internal-event-id-827eb1ce.js';
|
|
9
|
-
import { ai as VegaRTEOneRowHeightPx, R as RTETextNode, aj as BoldAnnotationAction, N as NodeAnnotationTypeEnum, ak as ItalicAnnotationAction, al as UnderlineAnnotationAction, b as RTETextBlock, T as TextStyleAnnotationAction, a3 as TextStyleAnnotation, am as BoldAnnotation, F as BlockAnnotationTypeEnum, an as ClearFormattingAnnotationAction, ao as CodeAnnotationAction, ap as StrikethroughAnnotationAction, ag as SelectionChangeAction, ae as LinkAnnotationAction, aq as IndentAnnotationAction, M as ModifyContentAction, i as ModifyContentActionType, q as RTECodeBlockNode, A as ActionHandleStrategyRegistry, H as HorizontalAlignmentAnnotationAction, s as stateEntityRenderingRegistry, e as AppendChildrenAction, ad as ZERO_WIDTH_SPACE, U as UpdateTextAction, g as InsertChildrenBeforeAction, S as SplitBlockWithNodeAction, f as RTENode, a as RTEBlock, k as RemoveChildrenAction, O as ReplaceChildNodesAction, p as RTECodeBlock, I as InsertChildrenAfterAction, V as VegaRTEPresetToolbarItems, ac as VegaRTEDefaultTextStyleItems } from './code-block-
|
|
10
|
-
import { d as RTEDTORendererManager, V as VegaRTELinkExtension } from './link-extension-
|
|
11
|
-
import { i as isNonNullable } from './type-guard-
|
|
9
|
+
import { ai as VegaRTEOneRowHeightPx, R as RTETextNode, aj as BoldAnnotationAction, N as NodeAnnotationTypeEnum, ak as ItalicAnnotationAction, al as UnderlineAnnotationAction, b as RTETextBlock, T as TextStyleAnnotationAction, a3 as TextStyleAnnotation, am as BoldAnnotation, F as BlockAnnotationTypeEnum, an as ClearFormattingAnnotationAction, ao as CodeAnnotationAction, ap as StrikethroughAnnotationAction, ag as SelectionChangeAction, ae as LinkAnnotationAction, aq as IndentAnnotationAction, M as ModifyContentAction, i as ModifyContentActionType, q as RTECodeBlockNode, A as ActionHandleStrategyRegistry, H as HorizontalAlignmentAnnotationAction, s as stateEntityRenderingRegistry, e as AppendChildrenAction, ad as ZERO_WIDTH_SPACE, U as UpdateTextAction, g as InsertChildrenBeforeAction, S as SplitBlockWithNodeAction, f as RTENode, a as RTEBlock, k as RemoveChildrenAction, O as ReplaceChildNodesAction, ar as escapeHtml, p as RTECodeBlock, I as InsertChildrenAfterAction, V as VegaRTEPresetToolbarItems, ac as VegaRTEDefaultTextStyleItems } from './code-block-ae2337c2.js';
|
|
10
|
+
import { d as RTEDTORendererManager, V as VegaRTELinkExtension } from './link-extension-74eaa826.js';
|
|
11
|
+
import { i as isNonNullable } from './type-guard-2bfb2c7b.js';
|
|
12
12
|
import { V as VegaInternalIconManager } from './internal-icon-manager-e7c57096.js';
|
|
13
|
-
import { V as VisualModeToolbarButtonSlimmer, I as ImageAnnotationAction, a as ToolbarButtonSlimmer, T as TextColorToolbarButtonSlimmer, n as normalizeUrlByDefaultProtocol } from './image-annotation-action-
|
|
14
|
-
import { V as VegaDropdownClick, d as VegaChange, a as VegaClick,
|
|
13
|
+
import { V as VisualModeToolbarButtonSlimmer, I as ImageAnnotationAction, a as ToolbarButtonSlimmer, T as TextColorToolbarButtonSlimmer, n as normalizeUrlByDefaultProtocol } from './image-annotation-action-4c77d314.js';
|
|
14
|
+
import { V as VegaDropdownClick, d as VegaChange, a as VegaClick, a0 as VegaImageInserted, a1 as VegaSourceCodeChange, c as VegaPopoverShow, b as VegaPopoverHide } from './vega-event-id-270fe47e.js';
|
|
15
15
|
import { g as generateUUID } from './misc-9fdbcfbb.js';
|
|
16
16
|
import { w as waitForComponentDidRender } from './wait-for-component-did-render-0c237cb8.js';
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
17
|
+
import { V as VegaRTEImageExtension } from './image-extension-7108c27d.js';
|
|
18
|
+
import { F as FormFieldControllerSlimmer } from './form-field-controller-slimmer-a1c7b28c.js';
|
|
19
|
+
import { c as createEventEmitSlimmer } from './event-emit-slimmer-db4a82e0.js';
|
|
19
20
|
import { c as createSubStateNotifySlimmer } from './sub-state-notify-slimmer-0f72ce74.js';
|
|
20
|
-
import { f as RTEImageNode, b as RTEListItemBlock, V as VegaRTEContent, M as MergeTwoBlocksNodesAction, I as InsertNewParagraphAction, S as StylePreservator, i as ElementToDtoStrategyProcessor, R as RTEImageBlock } from './content-state-
|
|
21
|
+
import { f as RTEImageNode, b as RTEListItemBlock, V as VegaRTEContent, M as MergeTwoBlocksNodesAction, I as InsertNewParagraphAction, S as StylePreservator, i as ElementToDtoStrategyProcessor, R as RTEImageBlock } from './content-state-c3b85ae6.js';
|
|
21
22
|
import { b as AlignLeft, A as AlignCenter, c as AlignRight, a as AlignJustify } from './align-left-7f959adf.js';
|
|
22
|
-
import { R as RTESelectionState, C as ComponentValueHistoryControllerSlimmer, a as SelectionController } from './component-value-history-controller-slimmer.abstract-
|
|
23
|
+
import { R as RTESelectionState, C as ComponentValueHistoryControllerSlimmer, a as SelectionController } from './component-value-history-controller-slimmer.abstract-b1ee1b8e.js';
|
|
23
24
|
import { F as FORM_ELEMENT_VALUE_CHANGE } from './static-subject-title-1c86e974.js';
|
|
24
25
|
import { O as Observer } from './observer-3959f9dd.js';
|
|
25
26
|
import { d as debounce } from './timer-9321173b.js';
|
|
26
27
|
import { D as DarkModeStateControllerSlimmer } from './dark-mode-state-controller-slimmer-778dd929.js';
|
|
27
|
-
import { R as ReplaceSelectedTextAction } from './replace-selected-text-action-
|
|
28
|
-
import { R as RichTextEditorRequiredRule } from './rich-text-editor-required-rule-
|
|
29
|
-
import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-
|
|
30
|
-
import { T as TranslationSlimmer } from './translation-slimmer-
|
|
28
|
+
import { R as ReplaceSelectedTextAction } from './replace-selected-text-action-c9278a0f.js';
|
|
29
|
+
import { R as RichTextEditorRequiredRule } from './rich-text-editor-required-rule-3047bab0.js';
|
|
30
|
+
import { C as ChildNodesEventPreventSlimmer } from './child-nodes-event-prevent-slimmer-96c14f5a.js';
|
|
31
|
+
import { T as TranslationSlimmer } from './translation-slimmer-3ea56354.js';
|
|
31
32
|
import { V as VegaInternalThemeManager } from './dark-mode-style-controller-ca5afd2d.js';
|
|
32
33
|
import { A as AutoRunWhenReRenderTaskQueueSlimmer } from './auto-run-when-re-render-task-queue-slimmer.abstract-27820d4c.js';
|
|
33
34
|
import { i as isArrayEqual } from './array-7888f339.js';
|
|
34
35
|
import { c as chevronDown } from './chevron-down-4a75d28e.js';
|
|
36
|
+
import { c as chevronUp } from './chevron-up-b1989751.js';
|
|
35
37
|
import { t as trashCan } from './trash-can-8819a939.js';
|
|
36
38
|
import { f as findParent } from './ui-d73f756a.js';
|
|
37
39
|
import { r as remoteInvocationRegistry } from './remote-invocation-registry-d69245c2.js';
|
|
@@ -40,7 +42,7 @@ import './typography-19c3b9be.js';
|
|
|
40
42
|
import './object-0c277f57.js';
|
|
41
43
|
import './breakpoints-d9faf11c.js';
|
|
42
44
|
import './ui-93922c59.js';
|
|
43
|
-
import './internal-translation-controller-
|
|
45
|
+
import './internal-translation-controller-09b8bd13.js';
|
|
44
46
|
import './icon-manager-4ef3f6dd.js';
|
|
45
47
|
import './create-public-api-runtime-metrics-slimmer-48f85199.js';
|
|
46
48
|
import './dynamic-slimmer-90b8af32.js';
|
|
@@ -52,10 +54,10 @@ import './internal-form-field-validation-rule.abstract-f5b6bdbf.js';
|
|
|
52
54
|
import './mutation-observer-slimmer-58ebc13c.js';
|
|
53
55
|
import './mutation-observer-filters-1a054fb0.js';
|
|
54
56
|
import './sub-state-observer-slimmer-64532d94.js';
|
|
55
|
-
import './internal-vega-event-manager-
|
|
56
|
-
import './range-
|
|
57
|
-
import './keyboard-manager-slimmer-
|
|
58
|
-
import './keyboard-manager-
|
|
57
|
+
import './internal-vega-event-manager-48690e5b.js';
|
|
58
|
+
import './range-8f877dbf.js';
|
|
59
|
+
import './keyboard-manager-slimmer-531ddb0e.js';
|
|
60
|
+
import './keyboard-manager-ec18721b.js';
|
|
59
61
|
import './vega-env-manager-8f8dc473.js';
|
|
60
62
|
import './feature-flag-controller-3fd04ea9.js';
|
|
61
63
|
import './index-9c9865c0.js';
|
|
@@ -1033,6 +1035,7 @@ class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
1033
1035
|
super({
|
|
1034
1036
|
icon: 'image',
|
|
1035
1037
|
tooltip: { text: 'Image' },
|
|
1038
|
+
autoFocusOnClick: false,
|
|
1036
1039
|
});
|
|
1037
1040
|
this.insertURLImage = async () => {
|
|
1038
1041
|
const url = this.normalizeSafeImageUrl(this.insertURLInputRef.value);
|
|
@@ -1045,18 +1048,21 @@ class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
1045
1048
|
this.uploadInputRef.click();
|
|
1046
1049
|
break;
|
|
1047
1050
|
case 'url':
|
|
1048
|
-
|
|
1049
|
-
this.currentSelectedNodes = this.selectionController.getSelectedNodes();
|
|
1050
|
-
this.currentSelectedBlocks = this.selectionController.getSelectedBlocks();
|
|
1051
|
-
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
1052
|
-
this.host.parentElement.append(this.insertURLModalRef);
|
|
1053
|
-
this.insertURLInputRef.value = '';
|
|
1054
|
-
await this.insertURLModalRef.modal('show');
|
|
1055
|
-
await this.insertURLInputRef.doFocus();
|
|
1051
|
+
await this.openInsertURLModal();
|
|
1056
1052
|
break;
|
|
1057
1053
|
}
|
|
1058
1054
|
await this.dropdownRef.hide();
|
|
1059
1055
|
};
|
|
1056
|
+
this.openInsertURLModal = async () => {
|
|
1057
|
+
this.currentRange = this.selectionController.getCurrentRange();
|
|
1058
|
+
this.currentSelectedNodes = this.selectionController.getSelectedNodes();
|
|
1059
|
+
this.currentSelectedBlocks = this.selectionController.getSelectedBlocks();
|
|
1060
|
+
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
1061
|
+
this.host.parentElement.append(this.insertURLModalRef);
|
|
1062
|
+
this.insertURLInputRef.value = '';
|
|
1063
|
+
await this.insertURLModalRef.modal('show');
|
|
1064
|
+
await this.insertURLInputRef.doFocus();
|
|
1065
|
+
};
|
|
1060
1066
|
/**
|
|
1061
1067
|
* The below method is e2e-test covered in
|
|
1062
1068
|
* @see{module:should-update-url-properly-when-upload-images}
|
|
@@ -1078,15 +1084,33 @@ class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
1078
1084
|
};
|
|
1079
1085
|
}
|
|
1080
1086
|
renderBtnWrapper(renderBtn) {
|
|
1087
|
+
const shouldRenderDropdown = this.shouldRenderDropdown();
|
|
1088
|
+
const shouldRenderUpload = this.isImageUploadEnabled();
|
|
1089
|
+
const shouldRenderUrlInsertion = this.isImageURLInsertionEnabled();
|
|
1090
|
+
if (!shouldRenderUpload && !shouldRenderUrlInsertion) {
|
|
1091
|
+
return null;
|
|
1092
|
+
}
|
|
1081
1093
|
return (h("vega-box", null,
|
|
1082
|
-
h("vega-dropdown", { selectType: "none", trigger: "click", alignment: "center", ref: (ref) => {
|
|
1094
|
+
shouldRenderDropdown ? (h("vega-dropdown", { selectType: "none", trigger: "click", alignment: "center", ref: (ref) => {
|
|
1083
1095
|
this.dropdownRef = ref;
|
|
1084
1096
|
this.addDropdownObserver(ref);
|
|
1085
1097
|
} },
|
|
1086
1098
|
renderBtn({ showArrowIcon: true }),
|
|
1087
|
-
h("div", Object.assign({ slot: "items" }, super.preventLostFocus()), this.renderDropdownContent())),
|
|
1088
|
-
this.renderUploadInput(),
|
|
1089
|
-
this.renderInsertURLModal()));
|
|
1099
|
+
h("div", Object.assign({ slot: "items" }, super.preventLostFocus()), this.renderDropdownContent()))) : (renderBtn({})),
|
|
1100
|
+
shouldRenderUpload ? this.renderUploadInput() : null,
|
|
1101
|
+
shouldRenderUrlInsertion ? this.renderInsertURLModal() : null));
|
|
1102
|
+
}
|
|
1103
|
+
onClick() {
|
|
1104
|
+
if (this.shouldRenderDropdown()) {
|
|
1105
|
+
return;
|
|
1106
|
+
}
|
|
1107
|
+
if (this.isImageURLInsertionEnabled()) {
|
|
1108
|
+
void this.openInsertURLModal();
|
|
1109
|
+
return;
|
|
1110
|
+
}
|
|
1111
|
+
if (this.isImageUploadEnabled()) {
|
|
1112
|
+
this.uploadInputRef.click();
|
|
1113
|
+
}
|
|
1090
1114
|
}
|
|
1091
1115
|
isSelected() {
|
|
1092
1116
|
return false;
|
|
@@ -1099,10 +1123,20 @@ class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
1099
1123
|
this.shouldDisabledToolbar(selectedBlock, ModifyContentActionType.INSERT_IMAGE_TO_BLOCK));
|
|
1100
1124
|
}
|
|
1101
1125
|
renderDropdownContent() {
|
|
1102
|
-
return (h(Fragment, null,
|
|
1126
|
+
return (h(Fragment, null, this.getItems().map((item) => {
|
|
1103
1127
|
return (h("vega-dropdown-item", { key: item.key, itemKey: item.key }, this.translationSlimmer.t(item.label)));
|
|
1104
1128
|
})));
|
|
1105
1129
|
}
|
|
1130
|
+
getItems() {
|
|
1131
|
+
return ImageToolbarButtonSlimmer.allItems.filter((item) => {
|
|
1132
|
+
if (item.key === 'upload') {
|
|
1133
|
+
return this.isImageUploadEnabled();
|
|
1134
|
+
}
|
|
1135
|
+
else {
|
|
1136
|
+
return this.isImageURLInsertionEnabled();
|
|
1137
|
+
}
|
|
1138
|
+
});
|
|
1139
|
+
}
|
|
1106
1140
|
renderUploadInput() {
|
|
1107
1141
|
return (h("input", { type: "file", style: { display: 'none' }, ref: (node) => (this.uploadInputRef = node), accept: "image/*", onChange: this.fileInputChange }));
|
|
1108
1142
|
}
|
|
@@ -1135,6 +1169,18 @@ class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
1135
1169
|
addModalInsertObserver(buttonRef) {
|
|
1136
1170
|
DomNodeSubjectObserverFactory.addUniqueObserverToNode(buttonRef, VegaClick, this.insertURLImage);
|
|
1137
1171
|
}
|
|
1172
|
+
getImageExtensionConfig() {
|
|
1173
|
+
return VegaRTEImageExtension.configStore.get(this.host) || {};
|
|
1174
|
+
}
|
|
1175
|
+
isImageUploadEnabled() {
|
|
1176
|
+
return this.getImageExtensionConfig().enableImageUpload !== false;
|
|
1177
|
+
}
|
|
1178
|
+
isImageURLInsertionEnabled() {
|
|
1179
|
+
return this.getImageExtensionConfig().enableImageURLInsertion !== false;
|
|
1180
|
+
}
|
|
1181
|
+
shouldRenderDropdown() {
|
|
1182
|
+
return this.getItems().length > 1;
|
|
1183
|
+
}
|
|
1138
1184
|
/**
|
|
1139
1185
|
* The below method is e2e-test covered in
|
|
1140
1186
|
* @see{module:should-update-url-properly-when-upload-images}
|
|
@@ -1167,7 +1213,7 @@ class ImageToolbarButtonSlimmer extends VisualModeToolbarButtonSlimmer {
|
|
|
1167
1213
|
(() => {
|
|
1168
1214
|
VegaInternalIconManager.register({ image: image });
|
|
1169
1215
|
})();
|
|
1170
|
-
ImageToolbarButtonSlimmer.
|
|
1216
|
+
ImageToolbarButtonSlimmer.allItems = [
|
|
1171
1217
|
{
|
|
1172
1218
|
key: 'upload',
|
|
1173
1219
|
label: 'Upload from computer',
|
|
@@ -1893,7 +1939,7 @@ class BaseHandler {
|
|
|
1893
1939
|
* @returns {boolean} boolean result
|
|
1894
1940
|
*/
|
|
1895
1941
|
isEmptyParagraph(node) {
|
|
1896
|
-
return node && node.childNodes && node.childNodes.length === 0;
|
|
1942
|
+
return node && node.nodeType === Node.ELEMENT_NODE && node.childNodes && node.childNodes.length === 0;
|
|
1897
1943
|
}
|
|
1898
1944
|
/**
|
|
1899
1945
|
* Removes selected nodes within a range in a rich text editor content.
|
|
@@ -2254,7 +2300,7 @@ class InsertLineBreakHandler extends BaseHandler {
|
|
|
2254
2300
|
getNextRTENode(lineBreakNode) {
|
|
2255
2301
|
const index = lineBreakNode.parent.children.indexOf(lineBreakNode);
|
|
2256
2302
|
const nextNode = lineBreakNode.parent.children[index + 1];
|
|
2257
|
-
return nextNode
|
|
2303
|
+
return nextNode && nextNode.isContentEditable() ? nextNode : lineBreakNode;
|
|
2258
2304
|
}
|
|
2259
2305
|
}
|
|
2260
2306
|
|
|
@@ -2534,6 +2580,7 @@ class PasteContentAction extends ModifyContentAction {
|
|
|
2534
2580
|
constructor(blocksToBeInserted, startNode, startOffset, rteRange) {
|
|
2535
2581
|
super();
|
|
2536
2582
|
this.type = ModifyContentActionType.PASTE_CONTENT;
|
|
2583
|
+
this.futureFocusAtEnd = false;
|
|
2537
2584
|
this.blocksToBeInserted = blocksToBeInserted;
|
|
2538
2585
|
this.startNode = startNode;
|
|
2539
2586
|
this.startOffset = startOffset;
|
|
@@ -2551,19 +2598,108 @@ class InsertPasteHandler extends BaseHandler {
|
|
|
2551
2598
|
* @param {InputEvent} event - Paste event.
|
|
2552
2599
|
*/
|
|
2553
2600
|
handleEvent(event) {
|
|
2601
|
+
const currentRange = this.selectionController.getCurrentRange();
|
|
2602
|
+
const payload = this.getPastePayload(event);
|
|
2603
|
+
if (this.insertPlainTextInline(payload, currentRange)) {
|
|
2604
|
+
return;
|
|
2605
|
+
}
|
|
2554
2606
|
const blocks = this.parsePastedElements(event);
|
|
2555
|
-
const
|
|
2556
|
-
if (
|
|
2607
|
+
const startContainer = (currentRange === null || currentRange === void 0 ? void 0 : currentRange.startContainer) || undefined;
|
|
2608
|
+
if (!startContainer) {
|
|
2609
|
+
// When the selection/range is unavailable (e.g. the caret was lost while
|
|
2610
|
+
// the paste-mode chooser had focus), still append the pasted content to
|
|
2611
|
+
// the root so the paste is never silently dropped.
|
|
2612
|
+
this.insertBlocksToRoot(blocks);
|
|
2613
|
+
}
|
|
2614
|
+
else if (this.isRootContainer(startContainer)) {
|
|
2557
2615
|
this.insertBlocksToRoot(blocks);
|
|
2558
2616
|
// TODO: Need to check below logic, it seems not correct https://gethired.atlassian.net/browse/VD-7779
|
|
2559
2617
|
}
|
|
2560
2618
|
else if (this.isEmptyParagraph(startContainer)) {
|
|
2561
|
-
this.insertBlocksBeforeEmptyBlock(blocks);
|
|
2619
|
+
this.insertBlocksBeforeEmptyBlock(blocks, currentRange);
|
|
2562
2620
|
}
|
|
2563
2621
|
else {
|
|
2564
|
-
this.insertBlocksToContent(blocks);
|
|
2622
|
+
this.insertBlocksToContent(blocks, currentRange);
|
|
2565
2623
|
}
|
|
2566
2624
|
}
|
|
2625
|
+
/**
|
|
2626
|
+
* Inserts plain-text paste content into the current text node at caret position.
|
|
2627
|
+
*
|
|
2628
|
+
* @param {RTEPastePayload} payload - Clipboard payload.
|
|
2629
|
+
* @param {RTERange} currentRange - Current selection range.
|
|
2630
|
+
* @returns {boolean} True when inline insertion is handled.
|
|
2631
|
+
*/
|
|
2632
|
+
insertPlainTextInline(payload, currentRange) {
|
|
2633
|
+
var _a, _b;
|
|
2634
|
+
const selectedNodes = ((_b = (_a = this.selectionController).getSelectedNodes) === null || _b === void 0 ? void 0 : _b.call(_a)) || [];
|
|
2635
|
+
if (!this.shouldPasteAsInlinePlainText(payload, currentRange, selectedNodes)) {
|
|
2636
|
+
return false;
|
|
2637
|
+
}
|
|
2638
|
+
const text = payload.text.replace(/\r\n?/g, '\n');
|
|
2639
|
+
const cursorNode = selectedNodes.find((node) => node instanceof RTETextNode) || currentRange.startNode;
|
|
2640
|
+
if (!(cursorNode instanceof RTETextNode)) {
|
|
2641
|
+
return false;
|
|
2642
|
+
}
|
|
2643
|
+
cursorNode.apply(new ReplaceSelectedTextAction(text, currentRange));
|
|
2644
|
+
this.selectionController.enqueueSelectionRangeFutureState(cursorNode, currentRange.startOffset + text.length);
|
|
2645
|
+
return true;
|
|
2646
|
+
}
|
|
2647
|
+
/**
|
|
2648
|
+
* Determines whether the payload should be inserted as inline plain text.
|
|
2649
|
+
*
|
|
2650
|
+
* @param {RTEPastePayload} payload - Clipboard payload.
|
|
2651
|
+
* @param {RTERange} currentRange - Current selection range.
|
|
2652
|
+
* @param {RTENode[]} selectedNodes - Currently selected nodes.
|
|
2653
|
+
* @returns {boolean} True when inline plain-text insertion should be used.
|
|
2654
|
+
*/
|
|
2655
|
+
shouldPasteAsInlinePlainText(payload, currentRange, selectedNodes = []) {
|
|
2656
|
+
if (!currentRange || !currentRange.startContainer) {
|
|
2657
|
+
return false;
|
|
2658
|
+
}
|
|
2659
|
+
if (this.isRootContainer(currentRange.startContainer)) {
|
|
2660
|
+
return false;
|
|
2661
|
+
}
|
|
2662
|
+
const text = (payload.text || '').replace(/\r\n?/g, '\n');
|
|
2663
|
+
if (!text) {
|
|
2664
|
+
return false;
|
|
2665
|
+
}
|
|
2666
|
+
const html = payload.html || '';
|
|
2667
|
+
if (!html) {
|
|
2668
|
+
return true;
|
|
2669
|
+
}
|
|
2670
|
+
const hasTextNodeSelection = selectedNodes.some((node) => node instanceof RTETextNode) ||
|
|
2671
|
+
currentRange.startNode instanceof RTETextNode;
|
|
2672
|
+
if (!hasTextNodeSelection) {
|
|
2673
|
+
return false;
|
|
2674
|
+
}
|
|
2675
|
+
// Use the inline plain‑text path only when HTML and plain text match exactly and no formatting exists;
|
|
2676
|
+
// otherwise route through the block path to preserve styles.
|
|
2677
|
+
const analysis = this.analyzeHtmlContent(html);
|
|
2678
|
+
return analysis.plainText === text && !analysis.hasFormatting;
|
|
2679
|
+
}
|
|
2680
|
+
/**
|
|
2681
|
+
* Analyzes HTML content to extract plain text and detect inline formatting,
|
|
2682
|
+
* parsing the HTML once to avoid redundant StylePreservation and DOMParser calls.
|
|
2683
|
+
*
|
|
2684
|
+
* @param {string} html - Clipboard text/html payload.
|
|
2685
|
+
* @returns {HtmlAnalysisResult} Analysis result with plainText and hasFormatting properties.
|
|
2686
|
+
*/
|
|
2687
|
+
analyzeHtmlContent(html) {
|
|
2688
|
+
const safeHtml = StylePreservator.preserve(html).getProcessedHtml();
|
|
2689
|
+
const parsedDoc = new DOMParser().parseFromString(safeHtml, 'text/html');
|
|
2690
|
+
const body = parsedDoc.body;
|
|
2691
|
+
// Extract plain text from the parsed document
|
|
2692
|
+
const plainText = (body.textContent || '').replace(/\r\n?/g, '\n');
|
|
2693
|
+
// Check for rich inline formatting
|
|
2694
|
+
let hasFormatting = Boolean(body.querySelector('b,strong,i,em,s,del,strike,u,mark'));
|
|
2695
|
+
if (!hasFormatting) {
|
|
2696
|
+
hasFormatting = Array.from(body.querySelectorAll('span')).some((span) => {
|
|
2697
|
+
const style = span.getAttribute('style') || span.getAttribute('data-style') || '';
|
|
2698
|
+
return this.styleContainsRichFormatting(style);
|
|
2699
|
+
});
|
|
2700
|
+
}
|
|
2701
|
+
return { plainText, hasFormatting };
|
|
2702
|
+
}
|
|
2567
2703
|
/**
|
|
2568
2704
|
* Insert the blocks to root
|
|
2569
2705
|
*
|
|
@@ -2573,37 +2709,54 @@ class InsertPasteHandler extends BaseHandler {
|
|
|
2573
2709
|
this.currentState.apply(new AppendChildrenAction(blocks));
|
|
2574
2710
|
}
|
|
2575
2711
|
/**
|
|
2576
|
-
* Insert the blocks
|
|
2712
|
+
* Insert the blocks into the current content block at the specified range.
|
|
2577
2713
|
*
|
|
2578
2714
|
* @param { RTEContentBlock[]} blocks - blocks
|
|
2715
|
+
* @param { RTERange } rteRange - rteRange
|
|
2579
2716
|
*/
|
|
2580
|
-
insertBlocksToContent(blocks) {
|
|
2581
|
-
|
|
2717
|
+
insertBlocksToContent(blocks, rteRange) {
|
|
2718
|
+
var _a;
|
|
2719
|
+
const isCollapsedRange = rteRange.startNode === rteRange.endNode && rteRange.startOffset === rteRange.endOffset;
|
|
2720
|
+
const cursorNode = isCollapsedRange
|
|
2721
|
+
? rteRange.startNode
|
|
2722
|
+
: this.removeSelectionRange();
|
|
2582
2723
|
if (cursorNode && cursorNode.parent) {
|
|
2583
|
-
const
|
|
2584
|
-
const pasteAction = new PasteContentAction(blocks, cursorNode, startOffset);
|
|
2724
|
+
const pasteAction = new PasteContentAction(blocks, cursorNode, rteRange.startOffset, rteRange);
|
|
2585
2725
|
cursorNode.parent.apply(pasteAction);
|
|
2586
|
-
if (pasteAction.
|
|
2587
|
-
this.
|
|
2726
|
+
if (pasteAction.futureFocusNode) {
|
|
2727
|
+
this.selectionController.enqueueSelectionRangeFutureState(pasteAction.futureFocusNode, (_a = pasteAction.futureFocusNodeOffset) !== null && _a !== void 0 ? _a : 0);
|
|
2728
|
+
}
|
|
2729
|
+
else if (pasteAction.futureFocusBlock) {
|
|
2730
|
+
this.switchCaretPositionToNextElement(pasteAction.futureFocusBlock, pasteAction.futureFocusAtEnd);
|
|
2588
2731
|
}
|
|
2589
2732
|
}
|
|
2733
|
+
else {
|
|
2734
|
+
// No resolvable cursor position: fall back to appending at the root so
|
|
2735
|
+
// the pasted content is preserved instead of being discarded.
|
|
2736
|
+
this.insertBlocksToRoot(blocks);
|
|
2737
|
+
}
|
|
2590
2738
|
}
|
|
2591
2739
|
/**
|
|
2592
2740
|
* Insert the blocks before to current block
|
|
2593
2741
|
*
|
|
2594
2742
|
* @param { RTEContentBlock[]} blocks - blocks
|
|
2743
|
+
* @param { RTERange } rteRange - rteRange
|
|
2595
2744
|
*/
|
|
2596
|
-
insertBlocksBeforeEmptyBlock(blocks) {
|
|
2745
|
+
insertBlocksBeforeEmptyBlock(blocks, rteRange) {
|
|
2597
2746
|
const cursorNode = this.removeSelectionRange();
|
|
2598
|
-
/* istanbul ignore next */
|
|
2599
2747
|
const currentBlock = cursorNode === null || cursorNode === void 0 ? void 0 : cursorNode.parent;
|
|
2600
2748
|
if (currentBlock) {
|
|
2601
|
-
const pasteAction = new PasteContentAction(blocks,
|
|
2749
|
+
const pasteAction = new PasteContentAction(blocks, cursorNode, 0, rteRange);
|
|
2602
2750
|
currentBlock.apply(pasteAction);
|
|
2603
2751
|
if (pasteAction.futureFocusBlock) {
|
|
2604
|
-
this.switchCaretPositionToNextElement(pasteAction.futureFocusBlock);
|
|
2752
|
+
this.switchCaretPositionToNextElement(pasteAction.futureFocusBlock, pasteAction.futureFocusAtEnd);
|
|
2605
2753
|
}
|
|
2606
2754
|
}
|
|
2755
|
+
else {
|
|
2756
|
+
// No resolvable empty block: fall back to appending at the root so the
|
|
2757
|
+
// pasted content is preserved instead of being discarded.
|
|
2758
|
+
this.insertBlocksToRoot(blocks);
|
|
2759
|
+
}
|
|
2607
2760
|
}
|
|
2608
2761
|
/**
|
|
2609
2762
|
* Format and parse elements from user paste with simple style preservation.
|
|
@@ -2612,30 +2765,76 @@ class InsertPasteHandler extends BaseHandler {
|
|
|
2612
2765
|
* @returns {RTEContentBlock[]} - RTEContentBlock.
|
|
2613
2766
|
*/
|
|
2614
2767
|
parsePastedElements(event) {
|
|
2615
|
-
|
|
2768
|
+
const payload = this.getPastePayload(event);
|
|
2769
|
+
let pastedHTML = payload.html || '';
|
|
2616
2770
|
if (!pastedHTML) {
|
|
2617
|
-
|
|
2618
|
-
|
|
2771
|
+
pastedHTML = this.parsePlainText(payload.text || '');
|
|
2772
|
+
}
|
|
2773
|
+
else if (this.shouldTreatAsPlainTextPayload(pastedHTML)) {
|
|
2774
|
+
const plainSource = payload.text || this.extractPlainTextFromHtml(pastedHTML);
|
|
2775
|
+
pastedHTML = this.parsePlainText(plainSource);
|
|
2619
2776
|
}
|
|
2620
2777
|
const context = StylePreservator.preserve(pastedHTML);
|
|
2621
2778
|
const safeHtml = context.getProcessedHtml();
|
|
2622
2779
|
const parser = new DOMParser();
|
|
2623
2780
|
const parsedDoc = parser.parseFromString(safeHtml, 'text/html');
|
|
2781
|
+
const rootElements = Array.from(parsedDoc.body.childNodes);
|
|
2782
|
+
context.restore(rootElements);
|
|
2783
|
+
this.normalizeImportedHtmlArtifacts(parsedDoc.body);
|
|
2624
2784
|
const htmlElements = Array.from(parsedDoc.body.childNodes);
|
|
2625
|
-
|
|
2626
|
-
return ElementToDtoStrategyProcessor.process(htmlElements)
|
|
2785
|
+
const resultBlocks = ElementToDtoStrategyProcessor.process(htmlElements)
|
|
2627
2786
|
.filter(Boolean)
|
|
2628
2787
|
.map((output) => output.toDto())
|
|
2629
2788
|
.filter(Boolean);
|
|
2789
|
+
// Fallback for synthetic payloads: if strategy conversion yields no blocks
|
|
2790
|
+
// but we still have plain text, create paragraph/text blocks directly.
|
|
2791
|
+
if (resultBlocks.length === 0 && (payload.text || '').trim() !== '') {
|
|
2792
|
+
return this.buildPlainTextFallbackBlocks(payload.text);
|
|
2793
|
+
}
|
|
2794
|
+
return resultBlocks;
|
|
2630
2795
|
}
|
|
2631
2796
|
/**
|
|
2632
|
-
*
|
|
2797
|
+
* Extracts readable plain text from clipboard HTML.
|
|
2633
2798
|
*
|
|
2634
|
-
* @param {
|
|
2799
|
+
* @param {string} html - Clipboard text/html payload.
|
|
2800
|
+
* @returns {string} - Plain text extracted from HTML.
|
|
2635
2801
|
*/
|
|
2636
|
-
|
|
2802
|
+
extractPlainTextFromHtml(html) {
|
|
2803
|
+
// Preserve inline styles before parsing to avoid style-src-attr CSP violations.
|
|
2804
|
+
const safeHtml = StylePreservator.preserve(html).getProcessedHtml();
|
|
2805
|
+
const parsedDoc = new DOMParser().parseFromString(safeHtml, 'text/html');
|
|
2806
|
+
return (parsedDoc.body.textContent || '').replace(/\r\n?/g, '\n');
|
|
2807
|
+
}
|
|
2808
|
+
/**
|
|
2809
|
+
* Builds plain-text paragraph blocks when element strategy parsing returns no output.
|
|
2810
|
+
*
|
|
2811
|
+
* @param {string} text - Plain text clipboard content.
|
|
2812
|
+
* @returns {RTEContentBlock[]} Fallback text blocks.
|
|
2813
|
+
*/
|
|
2814
|
+
buildPlainTextFallbackBlocks(text) {
|
|
2815
|
+
return text.split('\n').map((line) => {
|
|
2816
|
+
const paragraph = new RTETextBlock(generateUUID(), 'paragraph');
|
|
2817
|
+
const textNode = new RTETextNode(`${paragraph.id}1`, line, paragraph);
|
|
2818
|
+
paragraph.apply(new AppendChildrenAction([textNode]));
|
|
2819
|
+
return paragraph;
|
|
2820
|
+
});
|
|
2821
|
+
}
|
|
2822
|
+
/**
|
|
2823
|
+
* Moves the caret to a block element in a rich text editor after paste.
|
|
2824
|
+
*
|
|
2825
|
+
* @param {RTEBlock} newBlock - Block element to move the caret to.
|
|
2826
|
+
* @param {boolean} atEnd - When true, places the caret after the last character of the block's last node; otherwise at offset 0 of the first node.
|
|
2827
|
+
*/
|
|
2828
|
+
switchCaretPositionToNextElement(newBlock, atEnd = false) {
|
|
2829
|
+
var _a, _b;
|
|
2637
2830
|
if (newBlock && newBlock.children) {
|
|
2638
|
-
|
|
2831
|
+
if (atEnd) {
|
|
2832
|
+
const lastNode = newBlock.children[newBlock.children.length - 1];
|
|
2833
|
+
this.selectionController.enqueueSelectionRangeFutureState(lastNode, (_b = (_a = lastNode.text) === null || _a === void 0 ? void 0 : _a.length) !== null && _b !== void 0 ? _b : 0);
|
|
2834
|
+
}
|
|
2835
|
+
else {
|
|
2836
|
+
this.selectionController.enqueueSelectionRangeFutureState(newBlock.children[0], 0);
|
|
2837
|
+
}
|
|
2639
2838
|
}
|
|
2640
2839
|
}
|
|
2641
2840
|
/**
|
|
@@ -2645,16 +2844,217 @@ class InsertPasteHandler extends BaseHandler {
|
|
|
2645
2844
|
* @returns {string} - The formatted HTML string.
|
|
2646
2845
|
*/
|
|
2647
2846
|
parsePlainText(content) {
|
|
2847
|
+
if (this.shouldRenderAsCodeBlock(content)) {
|
|
2848
|
+
return `<pre><code>${escapeHtml(content)}</code></pre>`;
|
|
2849
|
+
}
|
|
2648
2850
|
const lines = content.split('\n');
|
|
2649
2851
|
return lines
|
|
2650
2852
|
.map((line) => {
|
|
2651
2853
|
if (line === '') {
|
|
2652
2854
|
return '<p>\n</p>';
|
|
2653
2855
|
}
|
|
2654
|
-
return `<p>${line}</p>`;
|
|
2856
|
+
return `<p>${escapeHtml(line)}</p>`;
|
|
2655
2857
|
})
|
|
2656
2858
|
.join('');
|
|
2657
2859
|
}
|
|
2860
|
+
/**
|
|
2861
|
+
* Detects whether plain text likely represents source code.
|
|
2862
|
+
*
|
|
2863
|
+
* @param {string} content - Clipboard plain text content.
|
|
2864
|
+
* @returns {boolean} True when the content should render as a code block.
|
|
2865
|
+
*/
|
|
2866
|
+
shouldRenderAsCodeBlock(content) {
|
|
2867
|
+
const normalized = content.replace(/\r\n?/g, '\n').trim();
|
|
2868
|
+
if (!normalized) {
|
|
2869
|
+
return false;
|
|
2870
|
+
}
|
|
2871
|
+
const hasMultipleLines = normalized.includes('\n');
|
|
2872
|
+
const hasHtmlLikeTag = /<\/?[a-z][\w:-]*[^>]*>/i.test(normalized);
|
|
2873
|
+
const hasCodeFence = normalized.startsWith('```') && normalized.endsWith('```');
|
|
2874
|
+
const hasProgrammingTokens = /[{};]|=>|\b(function|const|let|var|class|import|export|return)\b/.test(normalized);
|
|
2875
|
+
if (hasCodeFence) {
|
|
2876
|
+
return true;
|
|
2877
|
+
}
|
|
2878
|
+
return hasHtmlLikeTag || (hasMultipleLines && hasProgrammingTokens);
|
|
2879
|
+
}
|
|
2880
|
+
/**
|
|
2881
|
+
* Removes pasted website artifacts that can cause visual regressions in the editor,
|
|
2882
|
+
* such as heading anchor tooltips and empty wrappers.
|
|
2883
|
+
*
|
|
2884
|
+
* @param {HTMLElement} body - Parsed clipboard html body.
|
|
2885
|
+
*/
|
|
2886
|
+
normalizeImportedHtmlArtifacts(body) {
|
|
2887
|
+
this.removeHeadingArtifacts(body);
|
|
2888
|
+
this.removeEmptyBlocks(body);
|
|
2889
|
+
}
|
|
2890
|
+
/**
|
|
2891
|
+
* Removes heading copy-link/tooltip artifacts copied from documentation pages.
|
|
2892
|
+
*
|
|
2893
|
+
* @param {HTMLElement} body - Parsed clipboard html body.
|
|
2894
|
+
*/
|
|
2895
|
+
removeHeadingArtifacts(body) {
|
|
2896
|
+
const selectors = [
|
|
2897
|
+
'a.js-heading-link',
|
|
2898
|
+
'a.c-heading-link',
|
|
2899
|
+
'.js-tooltip-popover',
|
|
2900
|
+
'.c-tooltip-popover',
|
|
2901
|
+
'[role="tooltip"]',
|
|
2902
|
+
];
|
|
2903
|
+
body.querySelectorAll(selectors.join(',')).forEach((element) => element.remove());
|
|
2904
|
+
}
|
|
2905
|
+
/**
|
|
2906
|
+
* Removes empty block wrappers introduced by web copy/paste.
|
|
2907
|
+
*
|
|
2908
|
+
* @param {HTMLElement} body - Parsed clipboard html body.
|
|
2909
|
+
*/
|
|
2910
|
+
removeEmptyBlocks(body) {
|
|
2911
|
+
const blockSelectors = ['p', 'div', 'section', 'article'];
|
|
2912
|
+
body.querySelectorAll(blockSelectors.join(',')).forEach((element) => {
|
|
2913
|
+
if (this.isEmptyVisualBlock(element)) {
|
|
2914
|
+
element.remove();
|
|
2915
|
+
}
|
|
2916
|
+
});
|
|
2917
|
+
}
|
|
2918
|
+
/**
|
|
2919
|
+
* Checks whether a block is visually empty and safe to remove.
|
|
2920
|
+
*
|
|
2921
|
+
* @param {HTMLElement} element - Block element to inspect.
|
|
2922
|
+
* @returns {boolean} True when the block has no visible content.
|
|
2923
|
+
*/
|
|
2924
|
+
isEmptyVisualBlock(element) {
|
|
2925
|
+
if (element.tagName === 'DIV' && element.classList.contains('doc')) {
|
|
2926
|
+
return false;
|
|
2927
|
+
}
|
|
2928
|
+
const hasVisualChild = Boolean(element.querySelector('img,video,audio,iframe,canvas,svg,table,hr,pre,code,blockquote'));
|
|
2929
|
+
if (hasVisualChild) {
|
|
2930
|
+
return false;
|
|
2931
|
+
}
|
|
2932
|
+
return (element.textContent || '').trim() === '';
|
|
2933
|
+
}
|
|
2934
|
+
/**
|
|
2935
|
+
* Checks whether a text/html payload is effectively plain text.
|
|
2936
|
+
*
|
|
2937
|
+
* Some sources (e.g. terminals, code editors) place the copied text inside an
|
|
2938
|
+
* off-screen / visually hidden wrapper such as
|
|
2939
|
+
* `<pre><div style="position: absolute; left: -9999px;">text</div></pre>`.
|
|
2940
|
+
* Preserving that markup as rich content would render the pasted text
|
|
2941
|
+
* off-screen (appearing empty), so such payloads are treated as plain text.
|
|
2942
|
+
*
|
|
2943
|
+
* @param {string} html - Clipboard text/html payload.
|
|
2944
|
+
* @returns {boolean} True when the payload has no visible rich content.
|
|
2945
|
+
*/
|
|
2946
|
+
shouldTreatAsPlainTextPayload(html) {
|
|
2947
|
+
// Preserve inline styles before parsing to avoid style-src-attr CSP violations
|
|
2948
|
+
// triggered by DOMParser processing HTML with style= attributes.
|
|
2949
|
+
const safeHtml = StylePreservator.preserve(html).getProcessedHtml();
|
|
2950
|
+
const parsedDoc = new DOMParser().parseFromString(safeHtml, 'text/html');
|
|
2951
|
+
const body = parsedDoc.body;
|
|
2952
|
+
if (body.children.length === 0) {
|
|
2953
|
+
return true;
|
|
2954
|
+
}
|
|
2955
|
+
const visibleClone = body.cloneNode(true);
|
|
2956
|
+
visibleClone.querySelectorAll('[style],[data-style]').forEach((element) => {
|
|
2957
|
+
if (this.isVisuallyHiddenElement(element)) {
|
|
2958
|
+
element.remove();
|
|
2959
|
+
}
|
|
2960
|
+
});
|
|
2961
|
+
if ((visibleClone.textContent || '').trim() !== '') {
|
|
2962
|
+
return false;
|
|
2963
|
+
}
|
|
2964
|
+
const hasVisibleMedia = Boolean(visibleClone.querySelector('img,video,audio,iframe,table,svg,canvas,math,object,embed'));
|
|
2965
|
+
if (hasVisibleMedia) {
|
|
2966
|
+
return false;
|
|
2967
|
+
}
|
|
2968
|
+
// If no visible text/media remains but original HTML contained text, it was
|
|
2969
|
+
// likely wrapped in hidden/off-screen containers and should be treated as plain text.
|
|
2970
|
+
return (body.textContent || '').trim() !== '';
|
|
2971
|
+
}
|
|
2972
|
+
/**
|
|
2973
|
+
* Returns true when a CSS style string contains bold, italic, underline,
|
|
2974
|
+
* strikethrough, or color declarations.
|
|
2975
|
+
*
|
|
2976
|
+
* @param {string} style - Inline CSS style string.
|
|
2977
|
+
* @returns {boolean} True when the style contains rich formatting.
|
|
2978
|
+
*/
|
|
2979
|
+
styleContainsRichFormatting(style) {
|
|
2980
|
+
if (!style.trim()) {
|
|
2981
|
+
return false;
|
|
2982
|
+
}
|
|
2983
|
+
for (const declaration of style.split(';')) {
|
|
2984
|
+
const colonIndex = declaration.indexOf(':');
|
|
2985
|
+
if (colonIndex === -1) {
|
|
2986
|
+
continue;
|
|
2987
|
+
}
|
|
2988
|
+
const prop = declaration.slice(0, colonIndex).trim().toLowerCase();
|
|
2989
|
+
const value = declaration
|
|
2990
|
+
.slice(colonIndex + 1)
|
|
2991
|
+
.trim()
|
|
2992
|
+
.toLowerCase();
|
|
2993
|
+
switch (prop) {
|
|
2994
|
+
case 'font-weight':
|
|
2995
|
+
if (/bold|[5-9]\d{2}|1000/.test(value)) {
|
|
2996
|
+
return true;
|
|
2997
|
+
}
|
|
2998
|
+
break;
|
|
2999
|
+
case 'font-style':
|
|
3000
|
+
if (/italic|oblique/.test(value)) {
|
|
3001
|
+
return true;
|
|
3002
|
+
}
|
|
3003
|
+
break;
|
|
3004
|
+
case 'text-decoration':
|
|
3005
|
+
case 'text-decoration-line':
|
|
3006
|
+
if (/underline|line-through/.test(value)) {
|
|
3007
|
+
return true;
|
|
3008
|
+
}
|
|
3009
|
+
break;
|
|
3010
|
+
case 'color':
|
|
3011
|
+
case 'background-color':
|
|
3012
|
+
return true;
|
|
3013
|
+
}
|
|
3014
|
+
}
|
|
3015
|
+
return false;
|
|
3016
|
+
}
|
|
3017
|
+
/**
|
|
3018
|
+
* Determines whether an element is visually hidden or rendered off-screen
|
|
3019
|
+
* via its inline style, indicating a clipboard plain-text wrapper.
|
|
3020
|
+
*
|
|
3021
|
+
* @param {HTMLElement} element - Element to inspect.
|
|
3022
|
+
* @returns {boolean} True when the element is hidden or off-screen.
|
|
3023
|
+
*/
|
|
3024
|
+
isVisuallyHiddenElement(element) {
|
|
3025
|
+
const style = (element.getAttribute('style') ||
|
|
3026
|
+
element.getAttribute('data-style') ||
|
|
3027
|
+
'').toLowerCase();
|
|
3028
|
+
if (!style) {
|
|
3029
|
+
return false;
|
|
3030
|
+
}
|
|
3031
|
+
if (/display\s*:\s*none/.test(style) || /visibility\s*:\s*hidden/.test(style)) {
|
|
3032
|
+
return true;
|
|
3033
|
+
}
|
|
3034
|
+
if (/clip\s*:\s*rect\(\s*0/.test(style) || style.includes('clip-path')) {
|
|
3035
|
+
return true;
|
|
3036
|
+
}
|
|
3037
|
+
const isPositioned = /position\s*:\s*(absolute|fixed)/.test(style);
|
|
3038
|
+
const isOffScreen = /(left|top|right|bottom)\s*:\s*-\d{3,}px/.test(style);
|
|
3039
|
+
return isPositioned && isOffScreen;
|
|
3040
|
+
}
|
|
3041
|
+
/**
|
|
3042
|
+
* Resolves paste payload from DataTransfer and synthetic-event fallback payload.
|
|
3043
|
+
*
|
|
3044
|
+
* @param {InputEvent} event - Paste event.
|
|
3045
|
+
* @returns {RTEPastePayload} - Paste payload.
|
|
3046
|
+
*/
|
|
3047
|
+
getPastePayload(event) {
|
|
3048
|
+
const eventPayload = event
|
|
3049
|
+
.rtePastePayload || { html: '', text: '' };
|
|
3050
|
+
if (!event.dataTransfer) {
|
|
3051
|
+
return eventPayload;
|
|
3052
|
+
}
|
|
3053
|
+
return {
|
|
3054
|
+
html: event.dataTransfer.getData('text/html') || eventPayload.html || '',
|
|
3055
|
+
text: event.dataTransfer.getData('text/plain') || eventPayload.text || '',
|
|
3056
|
+
};
|
|
3057
|
+
}
|
|
2658
3058
|
}
|
|
2659
3059
|
|
|
2660
3060
|
var __decorate$i = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
@@ -3663,7 +4063,7 @@ __decorate$c([
|
|
|
3663
4063
|
], CodeBlockToolbarButtonSlimmer.prototype, "value", void 0);
|
|
3664
4064
|
|
|
3665
4065
|
const undoIcon = {
|
|
3666
|
-
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright
|
|
4066
|
+
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc. --><path fill="currentColor" d="M464 424c0 13.3 10.7 24 24 24s24-10.7 24-24l0-96c0-53-43-96-96-96l-334.1 0 95-95c9.4-9.4 9.4-24.6 0-33.9s-24.6-9.4-33.9 0L7 239c-4.5 4.5-7 10.6-7 17s2.5 12.5 7 17L143 409c9.4 9.4 24.6 9.4 33.9 0s9.4-24.6 0-33.9l-95-95 334.1 0c26.5 0 48 21.5 48 48l0 96z"/></svg>`,
|
|
3667
4067
|
};
|
|
3668
4068
|
|
|
3669
4069
|
var __decorate$b = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
@@ -3700,7 +4100,7 @@ __decorate$b([
|
|
|
3700
4100
|
], UndoToolbarButtonSlimmer.prototype, "historyController", void 0);
|
|
3701
4101
|
|
|
3702
4102
|
const redoIcon = {
|
|
3703
|
-
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright
|
|
4103
|
+
icon: `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><!--! Font Awesome Pro 7.2.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2026 Fonticons, Inc. --><path fill="currentColor" d="M48 424c0 13.3-10.7 24-24 24S0 437.3 0 424l0-96c0-53 43-96 96-96l334.1 0-95-95c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0L505 239c4.5 4.5 7 10.6 7 17s-2.5 12.5-7 17L369 409c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l95-95-334.1 0c-26.5 0-48 21.5-48 48l0 96z"/></svg>`,
|
|
3704
4104
|
};
|
|
3705
4105
|
|
|
3706
4106
|
var __decorate$a = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
|
|
@@ -4705,13 +5105,14 @@ class VegaRichTextEditorToolbarButtonRenderer extends VegaSlimmer {
|
|
|
4705
5105
|
}, onClick: this.handleClick, disabled: this.disabled, hidden: this.hidden },
|
|
4706
5106
|
h("vega-flex", { gap: "size-8", justifyContent: "center", alignItems: "center" },
|
|
4707
5107
|
this.icon && (h("vega-icon", { size: "size-16", color: this.iconColor, icon: VegaInternalIconManager.getIconKey(this.icon) })),
|
|
4708
|
-
this.showArrowIcon && (h("vega-icon", { size: "size-8", color: "text-secondary", icon: VegaInternalIconManager.getIconKey('chevron-down') }))),
|
|
5108
|
+
this.showArrowIcon && (h("vega-icon", { size: "size-8", color: "text-secondary", icon: VegaInternalIconManager.getIconKey(this.arrowIcon || 'chevron-down') }))),
|
|
4709
5109
|
h("slot", null)));
|
|
4710
5110
|
}
|
|
4711
5111
|
}
|
|
4712
5112
|
(() => {
|
|
4713
5113
|
VegaInternalIconManager.register({
|
|
4714
5114
|
'chevron-down': chevronDown,
|
|
5115
|
+
'chevron-up': chevronUp,
|
|
4715
5116
|
});
|
|
4716
5117
|
})();
|
|
4717
5118
|
__decorate$5([
|
|
@@ -4726,6 +5127,9 @@ __decorate$5([
|
|
|
4726
5127
|
__decorate$5([
|
|
4727
5128
|
MapToComponentField()
|
|
4728
5129
|
], VegaRichTextEditorToolbarButtonRenderer.prototype, "showArrowIcon", void 0);
|
|
5130
|
+
__decorate$5([
|
|
5131
|
+
MapToComponentField()
|
|
5132
|
+
], VegaRichTextEditorToolbarButtonRenderer.prototype, "arrowIcon", void 0);
|
|
4729
5133
|
__decorate$5([
|
|
4730
5134
|
MapToComponentField()
|
|
4731
5135
|
], VegaRichTextEditorToolbarButtonRenderer.prototype, "icon", void 0);
|
|
@@ -4789,6 +5193,12 @@ const VegaRichTextEditorToolbarButton = class {
|
|
|
4789
5193
|
* @vegaVersion 2.34.0
|
|
4790
5194
|
*/
|
|
4791
5195
|
this.showArrowIcon = false;
|
|
5196
|
+
/**
|
|
5197
|
+
* Specifies the arrow icon name when `showArrowIcon` is enabled.
|
|
5198
|
+
*
|
|
5199
|
+
* @vegaVersion 2.93.0
|
|
5200
|
+
*/
|
|
5201
|
+
this.arrowIcon = 'chevron-down';
|
|
4792
5202
|
/**
|
|
4793
5203
|
* Specifies whether the toolbar button in the rich text editor is represented by an icon.
|
|
4794
5204
|
*
|