@wix/ricos 11.22.0 → 11.23.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/css/all-plugins-viewer.css +176 -176
- package/css/plugin-audio-viewer.global.css +3 -3
- package/css/plugin-audio-viewer.global.inject.mjs +4 -4
- package/css/plugin-button-viewer.global.css +1 -1
- package/css/plugin-button-viewer.global.inject.mjs +2 -2
- package/css/plugin-card-viewer.global.css +1 -1
- package/css/plugin-card-viewer.global.inject.mjs +2 -2
- package/css/plugin-collapsible-list-viewer.global.css +1 -1
- package/css/plugin-collapsible-list-viewer.global.inject.mjs +2 -2
- package/css/plugin-divider-viewer.global.css +1 -1
- package/css/plugin-divider-viewer.global.inject.mjs +2 -2
- package/css/plugin-file-upload-viewer.global.css +1 -1
- package/css/plugin-file-upload-viewer.global.inject.mjs +2 -2
- package/css/plugin-gallery-viewer.global.css +1 -1
- package/css/plugin-gallery-viewer.global.inject.mjs +2 -2
- package/css/plugin-giphy-viewer.global.css +1 -1
- package/css/plugin-giphy-viewer.global.inject.mjs +2 -2
- package/css/plugin-hashtag-viewer.global.css +1 -1
- package/css/plugin-hashtag-viewer.global.inject.mjs +2 -2
- package/css/plugin-html-viewer.global.css +1 -1
- package/css/plugin-html-viewer.global.inject.mjs +2 -2
- package/css/plugin-image-viewer.global.css +1 -1
- package/css/plugin-image-viewer.global.inject.mjs +2 -2
- package/css/plugin-link-preview-viewer.global.css +2 -2
- package/css/plugin-link-preview-viewer.global.inject.mjs +3 -3
- package/css/plugin-link-viewer.global.css +1 -1
- package/css/plugin-link-viewer.global.inject.mjs +2 -2
- package/css/plugin-mentions-viewer.global.css +1 -1
- package/css/plugin-mentions-viewer.global.inject.mjs +2 -2
- package/css/plugin-paywall-viewer.global.css +1 -1
- package/css/plugin-paywall-viewer.global.inject.mjs +2 -2
- package/css/plugin-smart-block-viewer.global.css +1 -1
- package/css/plugin-smart-block-viewer.global.inject.mjs +2 -2
- package/css/plugin-social-polls-viewer.global.css +1 -1
- package/css/plugin-social-polls-viewer.global.inject.mjs +2 -2
- package/css/plugin-spoiler-viewer.global.css +1 -1
- package/css/plugin-spoiler-viewer.global.inject.mjs +2 -2
- package/css/plugin-table-viewer.global.css +3 -3
- package/css/plugin-table-viewer.global.inject.mjs +4 -4
- package/css/plugin-toc-viewer.global.css +1 -1
- package/css/plugin-toc-viewer.global.inject.mjs +2 -2
- package/css/plugin-vertical-embed-viewer.global.css +2 -2
- package/css/plugin-vertical-embed-viewer.global.inject.mjs +3 -3
- package/css/plugin-video-viewer.global.css +1 -1
- package/css/plugin-video-viewer.global.inject.mjs +2 -2
- package/css/ricos-viewer.global.css +1 -1
- package/css/ricos-viewer.global.inject.mjs +2 -2
- package/dist/cjs/_shared/dropdown-modal/dropdown-modal-scss.js +2 -2
- package/dist/cjs/_shared/dropdown-modal/dropdown-modal-scss.js.map +1 -1
- package/dist/cjs/_shared/editor-base-url/editor-base-url-context.js +14 -13
- package/dist/cjs/_shared/editor-base-url/editor-base-url-context.js.map +3 -3
- package/dist/cjs/_shared/figure/add-caption-button-scss.js +9 -9
- package/dist/cjs/_shared/figure/add-caption-button-scss.js.map +1 -1
- package/dist/cjs/_shared/figure/viewer-caption-scss.js +2 -2
- package/dist/cjs/_shared/figure/viewer-caption-scss.js.map +1 -1
- package/dist/cjs/_shared/figure/viewer-figure-scss.js +1 -1
- package/dist/cjs/_shared/figure/viewer-figure-scss.js.map +1 -1
- package/dist/cjs/_shared/font-weight.js +27 -0
- package/dist/cjs/_shared/font-weight.js.map +7 -0
- package/dist/cjs/_shared/get-common-marker-style.js +35 -0
- package/dist/cjs/_shared/get-common-marker-style.js.map +7 -0
- package/dist/cjs/_shared/get-decorations-marker-style.js +58 -0
- package/dist/cjs/_shared/get-decorations-marker-style.js.map +7 -0
- package/dist/cjs/_shared/get-list-marker-style.js +43 -0
- package/dist/cjs/_shared/get-list-marker-style.js.map +7 -0
- package/dist/cjs/_shared/link-modal/open-link-modal/site-pages/site-pages.js +2 -4
- package/dist/cjs/_shared/link-modal/open-link-modal/site-pages/site-pages.js.map +2 -2
- package/dist/cjs/_shared/list-item-divider/list-item-divider-scss.js +1 -1
- package/dist/cjs/_shared/list-item-divider/list-item-divider-scss.js.map +1 -1
- package/dist/cjs/_shared/list-item-select/list-item-select-scss.js +2 -2
- package/dist/cjs/_shared/list-item-select/list-item-select-scss.js.map +1 -1
- package/dist/cjs/_shared/list-item-toggle/list-item-toggle-scss.js +3 -3
- package/dist/cjs/_shared/list-item-toggle/list-item-toggle-scss.js.map +1 -1
- package/dist/cjs/_shared/{site-pages/serverless-types/serverless-types.js → list-marker-style-scss.js} +11 -3
- package/dist/cjs/_shared/list-marker-style-scss.js.map +7 -0
- package/dist/cjs/_shared/overlay-hoc/overlay-hoc-scss.js +1 -1
- package/dist/cjs/_shared/overlay-hoc/overlay-hoc-scss.js.map +1 -1
- package/dist/cjs/_shared/plugin-toolbar/create-settings-button.js +7 -1
- package/dist/cjs/_shared/plugin-toolbar/create-settings-button.js.map +2 -2
- package/dist/cjs/_shared/plugin-toolbar/separator/toolbar-button-separator-scss.js +2 -2
- package/dist/cjs/_shared/plugin-toolbar/separator/toolbar-button-separator-scss.js.map +1 -1
- package/dist/cjs/_shared/plugin-toolbar/url-link-button/url-link-button-scss.js +2 -2
- package/dist/cjs/_shared/plugin-toolbar/url-link-button/url-link-button-scss.js.map +1 -1
- package/dist/cjs/_shared/pm-node-types.js.map +2 -2
- package/dist/cjs/_shared/prompt-input-area/attachment-bar/attachment-bar-scss.js +7 -7
- package/dist/cjs/_shared/prompt-input-area/attachment-bar/attachment-bar-scss.js.map +1 -1
- package/dist/cjs/_shared/prompt-input-area/prompt-input-area-scss.js +13 -13
- package/dist/cjs/_shared/prompt-input-area/prompt-input-area-scss.js.map +1 -1
- package/dist/cjs/_shared/prompt-input-area/widget-prompt-input-area-scss.js +8 -8
- package/dist/cjs/_shared/prompt-input-area/widget-prompt-input-area-scss.js.map +1 -1
- package/dist/cjs/_shared/shape-select-modal/shape-select-modal-content-scss.js +7 -7
- package/dist/cjs/_shared/shape-select-modal/shape-select-modal-content-scss.js.map +1 -1
- package/dist/cjs/_shared/shape-view-renderer/shape-view-renderer-scss.js +2 -2
- package/dist/cjs/_shared/shape-view-renderer/shape-view-renderer-scss.js.map +1 -1
- package/dist/cjs/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.js +93 -27
- package/dist/cjs/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.js.map +3 -3
- package/dist/cjs/_shared/site-pages/site-pages-fetch-context.js +2 -6
- package/dist/cjs/_shared/site-pages/site-pages-fetch-context.js.map +2 -2
- package/dist/cjs/_shared/site-pages/types.js.map +2 -2
- package/dist/cjs/_shared/toolbar-button/toolbar-button-scss.js +3 -3
- package/dist/cjs/_shared/toolbar-button/toolbar-button-scss.js.map +1 -1
- package/dist/cjs/bundled-dependencies/ai-assistant-avatar.js +4 -4
- package/dist/cjs/bundled-dependencies/ai-assistant-avatar.js.map +1 -1
- package/dist/cjs/editor-common/statics/styles/general-scss.js +18 -18
- package/dist/cjs/editor-common/statics/styles/general-scss.js.map +1 -1
- package/dist/cjs/index.js.map +2 -2
- package/dist/cjs/internal.js.map +2 -2
- package/dist/cjs/legacy.js.map +2 -2
- package/dist/cjs/plugin-ai/ai-content-modal/ai-content-modal-scss.js +8 -8
- package/dist/cjs/plugin-ai/ai-content-modal/ai-content-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-ai/ai-content-modal/feed/feed-scss.js +2 -2
- package/dist/cjs/plugin-ai/ai-content-modal/feed/feed-scss.js.map +1 -1
- package/dist/cjs/plugin-ai/ai-content-modal/no-selection-message/no-selection-message-scss.js +1 -1
- package/dist/cjs/plugin-ai/ai-content-modal/no-selection-message/no-selection-message-scss.js.map +1 -1
- package/dist/cjs/plugin-ai/ai-content-modal/text-cursor/text-cursor-scss.js +2 -2
- package/dist/cjs/plugin-ai/ai-content-modal/text-cursor/text-cursor-scss.js.map +1 -1
- package/dist/cjs/plugin-ai/ai-content-modal/textual-prompt-input-area/textual-prompt-input-area-scss.js +5 -5
- package/dist/cjs/plugin-ai/ai-content-modal/textual-prompt-input-area/textual-prompt-input-area-scss.js.map +1 -1
- package/dist/cjs/plugin-ai/ai-image-modal/ai-image-modal-scss.js +6 -6
- package/dist/cjs/plugin-ai/ai-image-modal/ai-image-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-ai/ai-plus-button/ai-plus-button-scss.js +1 -1
- package/dist/cjs/plugin-ai/ai-plus-button/ai-plus-button-scss.js.map +1 -1
- package/dist/cjs/plugin-ai/error-message/error-message-scss.js +1 -1
- package/dist/cjs/plugin-ai/error-message/error-message-scss.js.map +1 -1
- package/dist/cjs/plugin-ai/prompt-input-area/prompt-input-area-scss.js +4 -4
- package/dist/cjs/plugin-ai/prompt-input-area/prompt-input-area-scss.js.map +1 -1
- package/dist/cjs/plugin-ai/toolbar/toolbar-button-scss.js +2 -2
- package/dist/cjs/plugin-ai/toolbar/toolbar-button-scss.js.map +1 -1
- package/dist/cjs/plugin-animation/animation-panel-scss.js +9 -9
- package/dist/cjs/plugin-animation/animation-panel-scss.js.map +1 -1
- package/dist/cjs/plugin-audio/statics/styles/audio-embed-scss.js +1 -1
- package/dist/cjs/plugin-audio/statics/styles/audio-embed-scss.js.map +1 -1
- package/dist/cjs/plugin-audio/statics/styles/audio-scss.js +21 -21
- package/dist/cjs/plugin-audio/statics/styles/audio-scss.js.map +1 -1
- package/dist/cjs/plugin-audio/statics/styles/icon-button-scss.js +1 -1
- package/dist/cjs/plugin-audio/statics/styles/icon-button-scss.js.map +1 -1
- package/dist/cjs/plugin-audio/statics/styles/settings-modal-scss.js +1 -1
- package/dist/cjs/plugin-audio/statics/styles/settings-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-audio/statics/styles/sound-control-scss.js +2 -2
- package/dist/cjs/plugin-audio/statics/styles/sound-control-scss.js.map +1 -1
- package/dist/cjs/plugin-block-drag-handle/box-select.js +1 -0
- package/dist/cjs/plugin-block-drag-handle/box-select.js.map +2 -2
- package/dist/cjs/plugin-block-drag-handle/dom.js +20 -8
- package/dist/cjs/plugin-block-drag-handle/dom.js.map +2 -2
- package/dist/cjs/plugin-block-drag-handle/plugin.js +35 -4
- package/dist/cjs/plugin-block-drag-handle/plugin.js.map +2 -2
- package/dist/cjs/plugin-block-drag-handle/styles-scss.js +8 -8
- package/dist/cjs/plugin-block-drag-handle/styles-scss.js.map +1 -1
- package/dist/cjs/plugin-button/statics/styles/button-input-modal-scss.js +2 -2
- package/dist/cjs/plugin-button/statics/styles/button-input-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-button/statics/styles/button-text-field-scss.js +1 -1
- package/dist/cjs/plugin-button/statics/styles/button-text-field-scss.js.map +1 -1
- package/dist/cjs/plugin-button/statics/styles/default-styles-scss.js +5 -5
- package/dist/cjs/plugin-button/statics/styles/default-styles-scss.js.map +1 -1
- package/dist/cjs/plugin-card/card-node-view.js +39 -35
- package/dist/cjs/plugin-card/card-node-view.js.map +2 -2
- package/dist/cjs/plugin-card/card-scss.js +20 -19
- package/dist/cjs/plugin-card/card-scss.js.map +2 -2
- package/dist/cjs/plugin-card/card-viewer-scss.js +6 -6
- package/dist/cjs/plugin-card/card-viewer-scss.js.map +1 -1
- package/dist/cjs/plugin-card/extension.js +3 -1
- package/dist/cjs/plugin-card/extension.js.map +2 -2
- package/dist/cjs/plugin-card/index.js.map +1 -1
- package/dist/cjs/plugin-card/page-gap.js +3 -1
- package/dist/cjs/plugin-card/page-gap.js.map +2 -2
- package/dist/cjs/plugin-card/types-next.js.map +1 -1
- package/dist/cjs/plugin-card/types.js.map +1 -1
- package/dist/cjs/plugin-code-block/statics/styles/code-block-scss.js +6 -6
- package/dist/cjs/plugin-code-block/statics/styles/code-block-scss.js.map +1 -1
- package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js +6 -6
- package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js.map +1 -1
- package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-pair-scss.js +18 -18
- package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-pair-scss.js.map +1 -1
- package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-settings-scss.js +2 -2
- package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-settings-scss.js.map +1 -1
- package/dist/cjs/plugin-collapsible-list/statics/styles/new-pair-button-scss.js +3 -3
- package/dist/cjs/plugin-collapsible-list/statics/styles/new-pair-button-scss.js.map +1 -1
- package/dist/cjs/plugin-divider/statics/styles/divider-viewer-scss.js +13 -13
- package/dist/cjs/plugin-divider/statics/styles/divider-viewer-scss.js.map +1 -1
- package/dist/cjs/plugin-divider/toolbar/modals/divider-design-panel-scss.js +1 -1
- package/dist/cjs/plugin-divider/toolbar/modals/divider-design-panel-scss.js.map +1 -1
- package/dist/cjs/plugin-emoji/modals/emoji-suggestions-modal-scss.js +1 -1
- package/dist/cjs/plugin-emoji/modals/emoji-suggestions-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-figure/tiptap/caption-scss.js +3 -3
- package/dist/cjs/plugin-figure/tiptap/caption-scss.js.map +1 -1
- package/dist/cjs/plugin-figure/tiptap/figure-scss.js +3 -3
- package/dist/cjs/plugin-figure/tiptap/figure-scss.js.map +1 -1
- package/dist/cjs/plugin-file-upload/statics/styles/file-upload-viewer-scss.js +15 -15
- package/dist/cjs/plugin-file-upload/statics/styles/file-upload-viewer-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/modals/settings/gallery-settings-modal-scss.js +3 -3
- package/dist/cjs/plugin-gallery/modals/settings/gallery-settings-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/modals/settings/layout-settings/layout-controls-section/image-ratio-control-scss.js +6 -6
- package/dist/cjs/plugin-gallery/modals/settings/layout-settings/layout-controls-section/image-ratio-control-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/modals/settings/layout-settings/layout-controls-section/thumbnail-alignment-control-scss.js +5 -5
- package/dist/cjs/plugin-gallery/modals/settings/layout-settings/layout-controls-section/thumbnail-alignment-control-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/modals/settings/media-settings/media-list/sortable-item-scss.js +1 -1
- package/dist/cjs/plugin-gallery/modals/settings/media-settings/media-list/sortable-item-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/modals/settings/media-settings/media-list/sortable-list-scss.js +3 -3
- package/dist/cjs/plugin-gallery/modals/settings/media-settings/media-list/sortable-list-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/statics/styles/gallery-component-scss.js +1 -1
- package/dist/cjs/plugin-gallery/statics/styles/gallery-component-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/statics/styles/gallery-media-scss.js +21 -21
- package/dist/cjs/plugin-gallery/statics/styles/gallery-media-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/statics/styles/viewer-scss.js +1 -1
- package/dist/cjs/plugin-gallery/statics/styles/viewer-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/viewer/layout-collage-scss.js +5 -5
- package/dist/cjs/plugin-gallery/viewer/layout-collage-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/viewer/layout-column-scss.js +4 -4
- package/dist/cjs/plugin-gallery/viewer/layout-column-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/viewer/layout-fullsize-scss.js +4 -4
- package/dist/cjs/plugin-gallery/viewer/layout-fullsize-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/viewer/layout-grid-scss.js +2 -2
- package/dist/cjs/plugin-gallery/viewer/layout-grid-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/viewer/layout-masonry-scss.js +7 -7
- package/dist/cjs/plugin-gallery/viewer/layout-masonry-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/viewer/layout-panorama-scss.js +1 -1
- package/dist/cjs/plugin-gallery/viewer/layout-panorama-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/viewer/layout-slider-scss.js +6 -6
- package/dist/cjs/plugin-gallery/viewer/layout-slider-scss.js.map +1 -1
- package/dist/cjs/plugin-gallery/viewer/layout-thumbnail-scss.js +11 -11
- package/dist/cjs/plugin-gallery/viewer/layout-thumbnail-scss.js.map +1 -1
- package/dist/cjs/plugin-giphy/components/giphy-selector-scss.js +9 -9
- package/dist/cjs/plugin-giphy/components/giphy-selector-scss.js.map +1 -1
- package/dist/cjs/plugin-giphy/viewer/giphy-viewer-scss.js +4 -4
- package/dist/cjs/plugin-giphy/viewer/giphy-viewer-scss.js.map +1 -1
- package/dist/cjs/plugin-giphy/viewer/play-icon-scss.js +2 -2
- package/dist/cjs/plugin-giphy/viewer/play-icon-scss.js.map +1 -1
- package/dist/cjs/plugin-hashtag/statics/hashtag-scss.js +2 -2
- package/dist/cjs/plugin-hashtag/statics/hashtag-scss.js.map +1 -1
- package/dist/cjs/plugin-headings/dropdown/headings-dropdown-scss.js +5 -5
- package/dist/cjs/plugin-headings/dropdown/headings-dropdown-scss.js.map +1 -1
- package/dist/cjs/plugin-html/statics/styles/HtmlComponent-scss.js +2 -2
- package/dist/cjs/plugin-html/statics/styles/HtmlComponent-scss.js.map +1 -1
- package/dist/cjs/plugin-html/statics/styles/Iframe-scss.js +1 -1
- package/dist/cjs/plugin-html/statics/styles/Iframe-scss.js.map +1 -1
- package/dist/cjs/plugin-html/tiptap/ai-widget-scss.js +2 -2
- package/dist/cjs/plugin-html/tiptap/ai-widget-scss.js.map +1 -1
- package/dist/cjs/plugin-html/tiptap/loader-scss.js +9 -9
- package/dist/cjs/plugin-html/tiptap/loader-scss.js.map +1 -1
- package/dist/cjs/plugin-html/tiptap/preset-bar/preset-bar-scss.js +2 -2
- package/dist/cjs/plugin-html/tiptap/preset-bar/preset-bar-scss.js.map +1 -1
- package/dist/cjs/plugin-image/components/corner-radius-handles-scss.js +4 -4
- package/dist/cjs/plugin-image/components/corner-radius-handles-scss.js.map +1 -1
- package/dist/cjs/plugin-image/components/crop-edge-handles-scss.js +1 -1
- package/dist/cjs/plugin-image/components/crop-edge-handles-scss.js.map +1 -1
- package/dist/cjs/plugin-image/crop-overlay/crop-overlay-scss.js +14 -14
- package/dist/cjs/plugin-image/crop-overlay/crop-overlay-scss.js.map +1 -1
- package/dist/cjs/plugin-image/statics/styles/image-viewer-scss.js +20 -20
- package/dist/cjs/plugin-image/statics/styles/image-viewer-scss.js.map +1 -1
- package/dist/cjs/plugin-image/statics/styles/settings-modal-scss.js +1 -1
- package/dist/cjs/plugin-image/statics/styles/settings-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-image/toolbar/shape-crop-modal-scss.js +4 -4
- package/dist/cjs/plugin-image/toolbar/shape-crop-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-inline-ai/ai-selection-tooltip-scss.js +10 -10
- package/dist/cjs/plugin-inline-ai/ai-selection-tooltip-scss.js.map +1 -1
- package/dist/cjs/plugin-inline-ai/aria-avatar-row-scss.js +1 -1
- package/dist/cjs/plugin-inline-ai/aria-avatar-row-scss.js.map +1 -1
- package/dist/cjs/plugin-inline-ai/aria-surface-row-scss.js +4 -4
- package/dist/cjs/plugin-inline-ai/aria-surface-row-scss.js.map +1 -1
- package/dist/cjs/plugin-inline-ai/html-placeholder-scss.js +3 -3
- package/dist/cjs/plugin-inline-ai/html-placeholder-scss.js.map +1 -1
- package/dist/cjs/plugin-inline-ai/modal-scss.js +9 -9
- package/dist/cjs/plugin-inline-ai/modal-scss.js.map +1 -1
- package/dist/cjs/plugin-inline-ai/pending-widget-placeholder-scss.js +12 -12
- package/dist/cjs/plugin-inline-ai/pending-widget-placeholder-scss.js.map +1 -1
- package/dist/cjs/plugin-inline-ai/spinner-scss.js +2 -2
- package/dist/cjs/plugin-inline-ai/spinner-scss.js.map +1 -1
- package/dist/cjs/plugin-inline-ai/toolbar/toolbar-button-scss.js +2 -2
- package/dist/cjs/plugin-inline-ai/toolbar/toolbar-button-scss.js.map +1 -1
- package/dist/cjs/plugin-line-spacing/custom-spacing-editor-modal/custom-spacing-editor-modal-scss.js +1 -1
- package/dist/cjs/plugin-line-spacing/custom-spacing-editor-modal/custom-spacing-editor-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-link/editor.js +2 -2
- package/dist/cjs/plugin-link/editor.js.map +2 -2
- package/dist/cjs/plugin-link/statics/link-viewer-scss.js +4 -4
- package/dist/cjs/plugin-link/statics/link-viewer-scss.js.map +1 -1
- package/dist/cjs/plugin-link/toolbar/anchor-link-button-scss.js +1 -1
- package/dist/cjs/plugin-link/toolbar/anchor-link-button-scss.js.map +1 -1
- package/dist/cjs/plugin-link-preview/statics/styles/insert-modal-scss.js +1 -1
- package/dist/cjs/plugin-link-preview/statics/styles/insert-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-link-preview/statics/styles/link-preview-scss.js +18 -18
- package/dist/cjs/plugin-link-preview/statics/styles/link-preview-scss.js.map +1 -1
- package/dist/cjs/plugin-link-preview/statics/styles/settings-modal-scss.js +1 -1
- package/dist/cjs/plugin-link-preview/statics/styles/settings-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-mentions/statics/mention-list-scss.js +3 -3
- package/dist/cjs/plugin-mentions/statics/mention-list-scss.js.map +1 -1
- package/dist/cjs/plugin-mentions/statics/mentions-scss.js +4 -4
- package/dist/cjs/plugin-mentions/statics/mentions-scss.js.map +1 -1
- package/dist/cjs/plugin-paywall/paywall-fallback-scss.js +1 -1
- package/dist/cjs/plugin-paywall/paywall-fallback-scss.js.map +1 -1
- package/dist/cjs/plugin-paywall/plugin-paywall.js.map +2 -2
- package/dist/cjs/plugin-smart-block/components/cell-accessory-scss.js +22 -22
- package/dist/cjs/plugin-smart-block/components/cell-accessory-scss.js.map +1 -1
- package/dist/cjs/plugin-smart-block/components/cell-quote-glyph-scss.js +3 -3
- package/dist/cjs/plugin-smart-block/components/cell-quote-glyph-scss.js.map +1 -1
- package/dist/cjs/plugin-smart-block/components/cell-star-rating-scss.js +4 -4
- package/dist/cjs/plugin-smart-block/components/cell-star-rating-scss.js.map +1 -1
- package/dist/cjs/plugin-smart-block/components/cell-stat-scss.js +20 -20
- package/dist/cjs/plugin-smart-block/components/cell-stat-scss.js.map +1 -1
- package/dist/cjs/plugin-smart-block/components/circle-donut-scss.js +7 -7
- package/dist/cjs/plugin-smart-block/components/circle-donut-scss.js.map +1 -1
- package/dist/cjs/plugin-smart-block/components/shape-overlay-scss.js +1 -1
- package/dist/cjs/plugin-smart-block/components/shape-overlay-scss.js.map +1 -1
- package/dist/cjs/plugin-smart-block/components/smart-block-view-scss.js +50 -50
- package/dist/cjs/plugin-smart-block/components/smart-block-view-scss.js.map +1 -1
- package/dist/cjs/plugin-smart-block/components/stars-scss.js +8 -8
- package/dist/cjs/plugin-smart-block/components/stars-scss.js.map +1 -1
- package/dist/cjs/plugin-smart-block/modals/variant-picker-scss.js +7 -7
- package/dist/cjs/plugin-smart-block/modals/variant-picker-scss.js.map +1 -1
- package/dist/cjs/plugin-smart-block/tiptap/smart-block-editor-scss.js +13 -13
- package/dist/cjs/plugin-smart-block/tiptap/smart-block-editor-scss.js.map +1 -1
- package/dist/cjs/plugin-social-polls/components/image-upload/image-upload-scss.js +9 -9
- package/dist/cjs/plugin-social-polls/components/image-upload/image-upload-scss.js.map +1 -1
- package/dist/cjs/plugin-social-polls/components/insert-modal/insert-modal-scss.js +1 -1
- package/dist/cjs/plugin-social-polls/components/insert-modal/insert-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-social-polls/components/poll-header/poll-header-scss.js +3 -3
- package/dist/cjs/plugin-social-polls/components/poll-header/poll-header-scss.js.map +1 -1
- package/dist/cjs/plugin-social-polls/components/poll-option/option-scss.js +23 -23
- package/dist/cjs/plugin-social-polls/components/poll-option/option-scss.js.map +1 -1
- package/dist/cjs/plugin-social-polls/components/poll-option/webview/option-webview-scss.js +24 -24
- package/dist/cjs/plugin-social-polls/components/poll-option/webview/option-webview-scss.js.map +1 -1
- package/dist/cjs/plugin-social-polls/components/poll-scss.js +19 -19
- package/dist/cjs/plugin-social-polls/components/poll-scss.js.map +1 -1
- package/dist/cjs/plugin-social-polls/components/settings-modal/settings-modal-scss.js +2 -2
- package/dist/cjs/plugin-social-polls/components/settings-modal/settings-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-social-polls/components/text-field/text-field-scss.js +12 -12
- package/dist/cjs/plugin-social-polls/components/text-field/text-field-scss.js.map +1 -1
- package/dist/cjs/plugin-social-polls/components/voted-users/voted-users-scss.js +20 -20
- package/dist/cjs/plugin-social-polls/components/voted-users/voted-users-scss.js.map +1 -1
- package/dist/cjs/plugin-spoiler/get-text-buttons.js +2 -2
- package/dist/cjs/plugin-spoiler/get-text-buttons.js.map +2 -2
- package/dist/cjs/plugin-spoiler/statics/styles/spoiler-scss.js +18 -18
- package/dist/cjs/plugin-spoiler/statics/styles/spoiler-scss.js.map +1 -1
- package/dist/cjs/plugin-table/modals/table-grid-selector-scss.js +5 -5
- package/dist/cjs/plugin-table/modals/table-grid-selector-scss.js.map +1 -1
- package/dist/cjs/plugin-table/statics/styles/cell-scss.js +15 -15
- package/dist/cjs/plugin-table/statics/styles/cell-scss.js.map +1 -1
- package/dist/cjs/plugin-table/statics/styles/resizer-scss.js +18 -18
- package/dist/cjs/plugin-table/statics/styles/resizer-scss.js.map +1 -1
- package/dist/cjs/plugin-table/statics/styles/table-settings-modal-scss.js +1 -1
- package/dist/cjs/plugin-table/statics/styles/table-settings-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-table/statics/styles/table-viewer-scss.js +6 -6
- package/dist/cjs/plugin-table/statics/styles/table-viewer-scss.js.map +1 -1
- package/dist/cjs/plugin-table/tiptap/decorations/tableHandles-scss.js +9 -9
- package/dist/cjs/plugin-table/tiptap/decorations/tableHandles-scss.js.map +1 -1
- package/dist/cjs/plugin-table/tiptap/plugins/table-scss.js +33 -33
- package/dist/cjs/plugin-table/tiptap/plugins/table-scss.js.map +1 -1
- package/dist/cjs/plugin-table/toolbar/modals/border-scope-selector-scss.js +2 -2
- package/dist/cjs/plugin-table/toolbar/modals/border-scope-selector-scss.js.map +1 -1
- package/dist/cjs/plugin-text-color/sketch/text-highlight-button.js +2 -2
- package/dist/cjs/plugin-text-color/sketch/text-highlight-button.js.map +2 -2
- package/dist/cjs/plugin-text-color/text-button-color-scss.js +2 -2
- package/dist/cjs/plugin-text-color/text-button-color-scss.js.map +1 -1
- package/dist/cjs/plugin-toc/toc-view-scss.js +2 -2
- package/dist/cjs/plugin-toc/toc-view-scss.js.map +1 -1
- package/dist/cjs/plugin-vertical-embed/components/Ribbon-scss.js +3 -3
- package/dist/cjs/plugin-vertical-embed/components/Ribbon-scss.js.map +1 -1
- package/dist/cjs/plugin-vertical-embed/components/card-content-scss.js +23 -23
- package/dist/cjs/plugin-vertical-embed/components/card-content-scss.js.map +1 -1
- package/dist/cjs/plugin-vertical-embed/components/card-scss.js +19 -19
- package/dist/cjs/plugin-vertical-embed/components/card-scss.js.map +1 -1
- package/dist/cjs/plugin-vertical-embed/components/description-scss.js +2 -2
- package/dist/cjs/plugin-vertical-embed/components/description-scss.js.map +1 -1
- package/dist/cjs/plugin-vertical-embed/modals/settings-modal-scss.js +2 -2
- package/dist/cjs/plugin-vertical-embed/modals/settings-modal-scss.js.map +1 -1
- package/dist/cjs/plugin-vertical-embed/tiptap/component-scss.js +10 -10
- package/dist/cjs/plugin-vertical-embed/tiptap/component-scss.js.map +1 -1
- package/dist/cjs/plugin-vertical-embed/toolbar/items-list-scss.js +1 -1
- package/dist/cjs/plugin-vertical-embed/toolbar/items-list-scss.js.map +1 -1
- package/dist/cjs/plugin-vertical-embed/viewer/vertical-embed-viewer-scss.js +6 -6
- package/dist/cjs/plugin-vertical-embed/viewer/vertical-embed-viewer-scss.js.map +1 -1
- package/dist/cjs/plugin-video/statics/styles/default-video-styles-scss.js +8 -8
- package/dist/cjs/plugin-video/statics/styles/default-video-styles-scss.js.map +1 -1
- package/dist/cjs/plugin-video/statics/styles/video-viewer-scss.js +3 -3
- package/dist/cjs/plugin-video/statics/styles/video-viewer-scss.js.map +1 -1
- package/dist/cjs/plugin-video/toolbar/embed-video-scss.js +1 -1
- package/dist/cjs/plugin-video/toolbar/embed-video-scss.js.map +1 -1
- package/dist/cjs/ricos-common-plugins/bold/extension.js +4 -5
- package/dist/cjs/ricos-common-plugins/bold/extension.js.map +2 -2
- package/dist/cjs/ricos-common-plugins/decoration-plugins/list-item-sizing.js +13 -1
- package/dist/cjs/ricos-common-plugins/decoration-plugins/list-item-sizing.js.map +2 -2
- package/dist/cjs/ricos-common-plugins/font-size/block-font-size-plugin.js +2 -1
- package/dist/cjs/ricos-common-plugins/font-size/block-font-size-plugin.js.map +2 -2
- package/dist/cjs/ricos-common-plugins/font-size/dropdown/font-size-dropdown-scss.js +1 -1
- package/dist/cjs/ricos-common-plugins/font-size/dropdown/font-size-dropdown-scss.js.map +1 -1
- package/dist/cjs/ricos-common-plugins/gap-spacer/gap-spacer-component/gap-spacer-styles-scss.js +8 -8
- package/dist/cjs/ricos-common-plugins/gap-spacer/gap-spacer-component/gap-spacer-styles-scss.js.map +1 -1
- package/dist/cjs/ricos-common-plugins/layout/layouts-scss.js +33 -33
- package/dist/cjs/ricos-common-plugins/layout/layouts-scss.js.map +1 -1
- package/dist/cjs/ricos-common-plugins/layout/paywall-toolbar-button.js +100 -0
- package/dist/cjs/ricos-common-plugins/layout/paywall-toolbar-button.js.map +7 -0
- package/dist/cjs/ricos-common-plugins/layout/plugin-layout.js +178 -173
- package/dist/cjs/ricos-common-plugins/layout/plugin-layout.js.map +2 -2
- package/dist/cjs/ricos-common-plugins/layout/section-dividers/section-dividers-panel-scss.js +2 -2
- package/dist/cjs/ricos-common-plugins/layout/section-dividers/section-dividers-panel-scss.js.map +1 -1
- package/dist/cjs/ricos-common-plugins/layout/section-dividers/section-dividers-scss.js +4 -4
- package/dist/cjs/ricos-common-plugins/layout/section-dividers/section-dividers-scss.js.map +1 -1
- package/dist/cjs/ricos-common-plugins/list-item/extension.js +9 -0
- package/dist/cjs/ricos-common-plugins/list-item/extension.js.map +2 -2
- package/dist/cjs/ricos-common-plugins/list-item/list-converters.js +5 -3
- package/dist/cjs/ricos-common-plugins/list-item/list-converters.js.map +2 -2
- package/dist/cjs/ricos-common-plugins/list-item/list-marker-selection.js +291 -0
- package/dist/cjs/ricos-common-plugins/list-item/list-marker-selection.js.map +7 -0
- package/dist/cjs/ricos-common-plugins/quick-actions/modal/modal-scss.js +2 -2
- package/dist/cjs/ricos-common-plugins/quick-actions/modal/modal-scss.js.map +1 -1
- package/dist/cjs/ricos-common-plugins/statics/styles-scss.js +18 -18
- package/dist/cjs/ricos-common-plugins/statics/styles-scss.js.map +1 -1
- package/dist/cjs/ricos-common-plugins/strikethrough/strikethrough.js +2 -2
- package/dist/cjs/ricos-common-plugins/strikethrough/strikethrough.js.map +2 -2
- package/dist/cjs/ricos-common-plugins/strikethrough/strikethrough.testkit.js +1 -0
- package/dist/cjs/ricos-common-plugins/strikethrough/strikethrough.testkit.js.map +2 -2
- package/dist/cjs/ricos-common-plugins/title/headings-scss.js +8 -8
- package/dist/cjs/ricos-common-plugins/title/headings-scss.js.map +1 -1
- package/dist/cjs/ricos-common-plugins/underline/underline.js +2 -2
- package/dist/cjs/ricos-common-plugins/underline/underline.js.map +2 -2
- package/dist/cjs/ricos-editor/statics/styles/editor-styles-scss.js +9 -9
- package/dist/cjs/ricos-editor/statics/styles/editor-styles-scss.js.map +1 -1
- package/dist/cjs/ricos-modals/statics/styles/drawer-scss.js +9 -9
- package/dist/cjs/ricos-modals/statics/styles/drawer-scss.js.map +1 -1
- package/dist/cjs/ricos-modals/statics/styles/fullscreen-scss.js +1 -1
- package/dist/cjs/ricos-modals/statics/styles/fullscreen-scss.js.map +1 -1
- package/dist/cjs/ricos-modals/statics/styles/popper-scss.js +3 -3
- package/dist/cjs/ricos-modals/statics/styles/popper-scss.js.map +1 -1
- package/dist/cjs/ricos-schema/next-schema/version.js +1 -1
- package/dist/cjs/ricos-schema/next-schema/version.js.map +1 -1
- package/dist/cjs/ricos-styles/statics/styles/style-presets-scss.js +4 -4
- package/dist/cjs/ricos-styles/statics/styles/style-presets-scss.js.map +1 -1
- package/dist/cjs/ricos-types/next/ricos-types.js.map +1 -1
- package/dist/cjs/ricos-types/ricos-types.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/blockquote/blockquote-scss.js +3 -3
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/blockquote/blockquote-scss.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock-scss.js +3 -3
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock-scss.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading-scss.js +9 -9
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading-scss.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/layout/layout-scss.js +10 -10
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/layout/layout-scss.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.js +10 -1
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.js.map +2 -2
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/lists/lists-scss.js +6 -6
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/lists/lists-scss.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph-scss.js +4 -4
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph-scss.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/link-viewer-wrapper-scss.js +2 -2
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/link-viewer-wrapper-scss.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/plugin-scss.js +15 -15
- package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/plugin-scss.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/modals/fullscreen/fullscreen-scss.js +12 -12
- package/dist/cjs/ricos-viewer-next/modals/fullscreen/fullscreen-scss.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/statics/alignment-scss.js +16 -16
- package/dist/cjs/ricos-viewer-next/statics/alignment-scss.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/statics/indentation-scss.js +7 -7
- package/dist/cjs/ricos-viewer-next/statics/indentation-scss.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/statics/rich-content-viewer-scss.js +9 -9
- package/dist/cjs/ricos-viewer-next/statics/rich-content-viewer-scss.js.map +1 -1
- package/dist/cjs/ricos-viewer-next/statics/rtl-scss.js +2 -2
- package/dist/cjs/ricos-viewer-next/statics/rtl-scss.js.map +1 -1
- package/dist/cjs/text-selection-toolbar/statics/styles/viewer-inline-toolbar-scss.js +2 -2
- package/dist/cjs/text-selection-toolbar/statics/styles/viewer-inline-toolbar-scss.js.map +1 -1
- package/dist/cjs/tiptap/core/editor.js +5 -2
- package/dist/cjs/tiptap/core/editor.js.map +2 -2
- package/dist/cjs/tiptap-editor/statics/styles/tiptap-editor-styles-scss.js +13 -13
- package/dist/cjs/tiptap-editor/statics/styles/tiptap-editor-styles-scss.js.map +1 -1
- package/dist/cjs/tiptap-extensions/placeholder-scss.js +1 -1
- package/dist/cjs/tiptap-extensions/placeholder-scss.js.map +1 -1
- package/dist/cjs/tiptap-extensions/statics/styles-scss.js +4 -4
- package/dist/cjs/tiptap-extensions/statics/styles-scss.js.map +1 -1
- package/dist/cjs/toolbars-v3/components/InsertPluginToolbar/insert-plugin-toolbar-scss.js +1 -1
- package/dist/cjs/toolbars-v3/components/InsertPluginToolbar/insert-plugin-toolbar-scss.js.map +1 -1
- package/dist/cjs/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.js +2 -1
- package/dist/cjs/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.js.map +2 -2
- package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/OverflownButtons-scss.js +3 -3
- package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/OverflownButtons-scss.js.map +1 -1
- package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbar-scss.js +3 -3
- package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbar-scss.js.map +1 -1
- package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbarWrapper-scss.js +4 -4
- package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbarWrapper-scss.js.map +1 -1
- package/dist/cjs/toolbars-v3/components/Toolbar/RicosMobileToolbar/RicosMobileToolbar-scss.js +9 -9
- package/dist/cjs/toolbars-v3/components/Toolbar/RicosMobileToolbar/RicosMobileToolbar-scss.js.map +1 -1
- package/dist/cjs/toolbars-v3/components/Toolbar/RicosMobileToolbar/mobile-toolbar-overlay/mobile-toolbar-overlay-scss.js +1 -1
- package/dist/cjs/toolbars-v3/components/Toolbar/RicosMobileToolbar/mobile-toolbar-overlay/mobile-toolbar-overlay-scss.js.map +1 -1
- package/dist/cjs/toolbars-v3/components/buttons/AddPluginMenuButtons/AddPluginMenuMobileButton-scss.js +1 -1
- package/dist/cjs/toolbars-v3/components/buttons/AddPluginMenuButtons/AddPluginMenuMobileButton-scss.js.map +1 -1
- package/dist/cjs/toolbars-v3/components/buttons/FontSizeButton/FontSizeButton-scss.js +5 -5
- package/dist/cjs/toolbars-v3/components/buttons/FontSizeButton/FontSizeButton-scss.js.map +1 -1
- package/dist/cjs/toolbars-v3/modals/FloatingPluginMenu/styles/floating-add-plugin-menu-scss.js +6 -6
- package/dist/cjs/toolbars-v3/modals/FloatingPluginMenu/styles/floating-add-plugin-menu-scss.js.map +1 -1
- package/dist/cjs/toolbars-v3/ricos-toolbars/footer/FooterToolbar-scss.js +1 -1
- package/dist/cjs/toolbars-v3/ricos-toolbars/footer/FooterToolbar-scss.js.map +1 -1
- package/dist/cjs/toolbars-v3/ricos-toolbars/formatting/use-is-visible.js +4 -0
- package/dist/cjs/toolbars-v3/ricos-toolbars/formatting/use-is-visible.js.map +2 -2
- package/dist/cjs/ui-components/Components/Image-scss.js +1 -1
- package/dist/cjs/ui-components/Components/Image-scss.js.map +1 -1
- package/dist/cjs/ui-components/Components/double-loader-scss.js +4 -4
- package/dist/cjs/ui-components/Components/double-loader-scss.js.map +1 -1
- package/dist/cjs/ui-components/color-picker/button-color-swatches/button-color-swatches-scss.js +2 -2
- package/dist/cjs/ui-components/color-picker/button-color-swatches/button-color-swatches-scss.js.map +1 -1
- package/dist/cjs/ui-components/color-picker/new-color-picker/components/gradient-picker/gradient-picker-scss.js +13 -13
- package/dist/cjs/ui-components/color-picker/new-color-picker/components/gradient-picker/gradient-picker-scss.js.map +1 -1
- package/dist/cjs/ui-components/color-picker/new-color-picker/components/new-color-swatches/new-color-swatches-scss.js +1 -1
- package/dist/cjs/ui-components/color-picker/new-color-picker/components/new-color-swatches/new-color-swatches-scss.js.map +1 -1
- package/dist/cjs/ui-components/color-picker/new-color-picker/components/simple-color-picker/simple-color-picker-scss.js +2 -2
- package/dist/cjs/ui-components/color-picker/new-color-picker/components/simple-color-picker/simple-color-picker-scss.js.map +1 -1
- package/dist/cjs/ui-components/color-picker/new-color-picker/components/single-color-swatch/single-color-swatch-scss.js +2 -2
- package/dist/cjs/ui-components/color-picker/new-color-picker/components/single-color-swatch/single-color-swatch-scss.js.map +1 -1
- package/dist/cjs/ui-components/color-picker/new-color-picker/new-color-picker-scss.js +1 -1
- package/dist/cjs/ui-components/color-picker/new-color-picker/new-color-picker-scss.js.map +1 -1
- package/dist/cjs/ui-components/input-with-slider/input-with-slider-scss.js +1 -1
- package/dist/cjs/ui-components/input-with-slider/input-with-slider-scss.js.map +1 -1
- package/dist/cjs/ui-components/layout-background-loader/layout-background-loader-scss.js +3 -3
- package/dist/cjs/ui-components/layout-background-loader/layout-background-loader-scss.js.map +1 -1
- package/dist/cjs/ui-components/modal-layout/floating-layout/floating-desktop-layout-scss.js +1 -1
- package/dist/cjs/ui-components/modal-layout/floating-layout/floating-desktop-layout-scss.js.map +1 -1
- package/dist/cjs/ui-components/modal-layout/fullscreen-mobile-layout/fullscreen-mobile-layout-scss.js +4 -4
- package/dist/cjs/ui-components/modal-layout/fullscreen-mobile-layout/fullscreen-mobile-layout-scss.js.map +1 -1
- package/dist/cjs/ui-components/panel/panel-scss.js +2 -2
- package/dist/cjs/ui-components/panel/panel-scss.js.map +1 -1
- package/dist/cjs/ui-components/panel-header/panel-header-scss.js +1 -1
- package/dist/cjs/ui-components/panel-header/panel-header-scss.js.map +1 -1
- package/dist/cjs/ui-components/settings-panel-discard-modal/settings-panel-discard-modal-scss.js +1 -1
- package/dist/cjs/ui-components/settings-panel-discard-modal/settings-panel-discard-modal-scss.js.map +1 -1
- package/dist/cjs/ui-components/statics/styles/generic-error-scss.js +1 -1
- package/dist/cjs/ui-components/statics/styles/generic-error-scss.js.map +1 -1
- package/dist/cjs/ui-components/statics/styles/loaders-scss.js +8 -8
- package/dist/cjs/ui-components/statics/styles/loaders-scss.js.map +1 -1
- package/dist/cjs/ui-components/statics/styles/media-item-error-msg-scss.js +3 -3
- package/dist/cjs/ui-components/statics/styles/media-item-error-msg-scss.js.map +1 -1
- package/dist/cjs/ui-components/statics/styles/slider-scss.js +5 -5
- package/dist/cjs/ui-components/statics/styles/slider-scss.js.map +1 -1
- package/dist/cjs/ui-components/thumbnail-picker/thumbnail-picker-scss.js +1 -1
- package/dist/cjs/ui-components/thumbnail-picker/thumbnail-picker-scss.js.map +1 -1
- package/dist/cjs/ui-components/wixel-assistant/assistant-timeline-scss.js +16 -16
- package/dist/cjs/ui-components/wixel-assistant/assistant-timeline-scss.js.map +1 -1
- package/dist/cjs/wix-rich-content-common/statics/styles/fonts-scss.js +1 -1
- package/dist/cjs/wix-rich-content-common/statics/styles/fonts-scss.js.map +1 -1
- package/dist/cjs/wix-rich-content-common/statics/styles/general-scss.js +11 -11
- package/dist/cjs/wix-rich-content-common/statics/styles/general-scss.js.map +1 -1
- package/dist/docs/api-docs-reference.cjs +1 -1
- package/dist/docs/api-docs-reference.js +1 -1
- package/dist/docs/api-docs.md +2 -2
- package/dist/docs/sections/editor.md +2 -2
- package/dist/es/_shared/dropdown-modal/dropdown-modal-scss.js +5 -5
- package/dist/es/_shared/dropdown-modal/dropdown-modal-scss.js.map +1 -1
- package/dist/es/_shared/editor-base-url/editor-base-url-context.js +13 -12
- package/dist/es/_shared/editor-base-url/editor-base-url-context.js.map +2 -2
- package/dist/es/_shared/figure/add-caption-button-scss.js +11 -11
- package/dist/es/_shared/figure/add-caption-button-scss.js.map +1 -1
- package/dist/es/_shared/figure/viewer-caption-scss.js +2 -2
- package/dist/es/_shared/figure/viewer-caption-scss.js.map +1 -1
- package/dist/es/_shared/figure/viewer-figure-scss.js +1 -1
- package/dist/es/_shared/figure/viewer-figure-scss.js.map +1 -1
- package/dist/es/_shared/font-weight.js +7 -0
- package/dist/es/_shared/font-weight.js.map +7 -0
- package/dist/es/_shared/get-common-marker-style.js +15 -0
- package/dist/es/_shared/get-common-marker-style.js.map +7 -0
- package/dist/es/_shared/get-decorations-marker-style.js +41 -0
- package/dist/es/_shared/get-decorations-marker-style.js.map +7 -0
- package/dist/es/_shared/get-list-marker-style.js +23 -0
- package/dist/es/_shared/get-list-marker-style.js.map +7 -0
- package/dist/es/_shared/link-modal/open-link-modal/site-pages/site-pages.js +2 -4
- package/dist/es/_shared/link-modal/open-link-modal/site-pages/site-pages.js.map +2 -2
- package/dist/es/_shared/list-item-divider/list-item-divider-scss.js +3 -3
- package/dist/es/_shared/list-item-divider/list-item-divider-scss.js.map +1 -1
- package/dist/es/_shared/list-item-select/list-item-select-scss.js +4 -4
- package/dist/es/_shared/list-item-select/list-item-select-scss.js.map +1 -1
- package/dist/es/_shared/list-item-toggle/list-item-toggle-scss.js +5 -5
- package/dist/es/_shared/list-item-toggle/list-item-toggle-scss.js.map +1 -1
- package/dist/es/_shared/list-marker-style-scss.js +28 -0
- package/dist/es/_shared/list-marker-style-scss.js.map +7 -0
- package/dist/es/_shared/overlay-hoc/overlay-hoc-scss.js +3 -3
- package/dist/es/_shared/overlay-hoc/overlay-hoc-scss.js.map +1 -1
- package/dist/es/_shared/plugin-toolbar/create-settings-button.js +7 -1
- package/dist/es/_shared/plugin-toolbar/create-settings-button.js.map +2 -2
- package/dist/es/_shared/plugin-toolbar/separator/toolbar-button-separator-scss.js +4 -4
- package/dist/es/_shared/plugin-toolbar/separator/toolbar-button-separator-scss.js.map +1 -1
- package/dist/es/_shared/plugin-toolbar/url-link-button/url-link-button-scss.js +4 -4
- package/dist/es/_shared/plugin-toolbar/url-link-button/url-link-button-scss.js.map +1 -1
- package/dist/es/_shared/pm-node-types.js.map +2 -2
- package/dist/es/_shared/prompt-input-area/attachment-bar/attachment-bar-scss.js +9 -9
- package/dist/es/_shared/prompt-input-area/attachment-bar/attachment-bar-scss.js.map +1 -1
- package/dist/es/_shared/prompt-input-area/prompt-input-area-scss.js +15 -15
- package/dist/es/_shared/prompt-input-area/prompt-input-area-scss.js.map +1 -1
- package/dist/es/_shared/prompt-input-area/widget-prompt-input-area-scss.js +10 -10
- package/dist/es/_shared/prompt-input-area/widget-prompt-input-area-scss.js.map +1 -1
- package/dist/es/_shared/shape-select-modal/shape-select-modal-content-scss.js +9 -9
- package/dist/es/_shared/shape-select-modal/shape-select-modal-content-scss.js.map +1 -1
- package/dist/es/_shared/shape-view-renderer/shape-view-renderer-scss.js +4 -4
- package/dist/es/_shared/shape-view-renderer/shape-view-renderer-scss.js.map +1 -1
- package/dist/es/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.js +82 -26
- package/dist/es/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.js.map +3 -3
- package/dist/es/_shared/site-pages/site-pages-fetch-context.js +2 -6
- package/dist/es/_shared/site-pages/site-pages-fetch-context.js.map +2 -2
- package/dist/es/_shared/site-pages/types.js.map +2 -2
- package/dist/es/_shared/toolbar-button/toolbar-button-scss.js +5 -5
- package/dist/es/_shared/toolbar-button/toolbar-button-scss.js.map +1 -1
- package/dist/es/bundled-dependencies/ai-assistant-avatar.js +6 -6
- package/dist/es/bundled-dependencies/ai-assistant-avatar.js.map +1 -1
- package/dist/es/editor-common/statics/styles/general-scss.js +20 -20
- package/dist/es/editor-common/statics/styles/general-scss.js.map +1 -1
- package/dist/es/index.js.map +2 -2
- package/dist/es/internal.js.map +2 -2
- package/dist/es/legacy.js +3 -1
- package/dist/es/legacy.js.map +2 -2
- package/dist/es/plugin-ai/ai-content-modal/ai-content-modal-scss.js +10 -10
- package/dist/es/plugin-ai/ai-content-modal/ai-content-modal-scss.js.map +1 -1
- package/dist/es/plugin-ai/ai-content-modal/feed/feed-scss.js +4 -4
- package/dist/es/plugin-ai/ai-content-modal/feed/feed-scss.js.map +1 -1
- package/dist/es/plugin-ai/ai-content-modal/no-selection-message/no-selection-message-scss.js +3 -3
- package/dist/es/plugin-ai/ai-content-modal/no-selection-message/no-selection-message-scss.js.map +1 -1
- package/dist/es/plugin-ai/ai-content-modal/text-cursor/text-cursor-scss.js +4 -4
- package/dist/es/plugin-ai/ai-content-modal/text-cursor/text-cursor-scss.js.map +1 -1
- package/dist/es/plugin-ai/ai-content-modal/textual-prompt-input-area/textual-prompt-input-area-scss.js +7 -7
- package/dist/es/plugin-ai/ai-content-modal/textual-prompt-input-area/textual-prompt-input-area-scss.js.map +1 -1
- package/dist/es/plugin-ai/ai-image-modal/ai-image-modal-scss.js +8 -8
- package/dist/es/plugin-ai/ai-image-modal/ai-image-modal-scss.js.map +1 -1
- package/dist/es/plugin-ai/ai-plus-button/ai-plus-button-scss.js +3 -3
- package/dist/es/plugin-ai/ai-plus-button/ai-plus-button-scss.js.map +1 -1
- package/dist/es/plugin-ai/error-message/error-message-scss.js +3 -3
- package/dist/es/plugin-ai/error-message/error-message-scss.js.map +1 -1
- package/dist/es/plugin-ai/prompt-input-area/prompt-input-area-scss.js +6 -6
- package/dist/es/plugin-ai/prompt-input-area/prompt-input-area-scss.js.map +1 -1
- package/dist/es/plugin-ai/toolbar/toolbar-button-scss.js +4 -4
- package/dist/es/plugin-ai/toolbar/toolbar-button-scss.js.map +1 -1
- package/dist/es/plugin-animation/animation-panel-scss.js +11 -11
- package/dist/es/plugin-animation/animation-panel-scss.js.map +1 -1
- package/dist/es/plugin-audio/statics/styles/audio-embed-scss.js +3 -3
- package/dist/es/plugin-audio/statics/styles/audio-embed-scss.js.map +1 -1
- package/dist/es/plugin-audio/statics/styles/audio-scss.js +21 -21
- package/dist/es/plugin-audio/statics/styles/audio-scss.js.map +1 -1
- package/dist/es/plugin-audio/statics/styles/icon-button-scss.js +1 -1
- package/dist/es/plugin-audio/statics/styles/icon-button-scss.js.map +1 -1
- package/dist/es/plugin-audio/statics/styles/settings-modal-scss.js +3 -3
- package/dist/es/plugin-audio/statics/styles/settings-modal-scss.js.map +1 -1
- package/dist/es/plugin-audio/statics/styles/sound-control-scss.js +2 -2
- package/dist/es/plugin-audio/statics/styles/sound-control-scss.js.map +1 -1
- package/dist/es/plugin-audio/viewer-styles-inject.js +4 -4
- package/dist/es/plugin-block-drag-handle/box-select.js +1 -0
- package/dist/es/plugin-block-drag-handle/box-select.js.map +2 -2
- package/dist/es/plugin-block-drag-handle/dom.js +20 -8
- package/dist/es/plugin-block-drag-handle/dom.js.map +2 -2
- package/dist/es/plugin-block-drag-handle/plugin.js +37 -5
- package/dist/es/plugin-block-drag-handle/plugin.js.map +2 -2
- package/dist/es/plugin-block-drag-handle/styles-scss.js +10 -10
- package/dist/es/plugin-block-drag-handle/styles-scss.js.map +1 -1
- package/dist/es/plugin-button/statics/styles/button-input-modal-scss.js +4 -4
- package/dist/es/plugin-button/statics/styles/button-input-modal-scss.js.map +1 -1
- package/dist/es/plugin-button/statics/styles/button-text-field-scss.js +3 -3
- package/dist/es/plugin-button/statics/styles/button-text-field-scss.js.map +1 -1
- package/dist/es/plugin-button/statics/styles/default-styles-scss.js +5 -5
- package/dist/es/plugin-button/statics/styles/default-styles-scss.js.map +1 -1
- package/dist/es/plugin-button/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-card/card-node-view.js +39 -35
- package/dist/es/plugin-card/card-node-view.js.map +2 -2
- package/dist/es/plugin-card/card-scss.js +20 -19
- package/dist/es/plugin-card/card-scss.js.map +2 -2
- package/dist/es/plugin-card/card-viewer-scss.js +6 -6
- package/dist/es/plugin-card/card-viewer-scss.js.map +1 -1
- package/dist/es/plugin-card/extension.js +3 -1
- package/dist/es/plugin-card/extension.js.map +2 -2
- package/dist/es/plugin-card/index.js.map +1 -1
- package/dist/es/plugin-card/page-gap.js +3 -1
- package/dist/es/plugin-card/page-gap.js.map +2 -2
- package/dist/es/plugin-card/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-code-block/statics/styles/code-block-scss.js +8 -8
- package/dist/es/plugin-code-block/statics/styles/code-block-scss.js.map +1 -1
- package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js +6 -6
- package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js.map +1 -1
- package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-pair-scss.js +18 -18
- package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-pair-scss.js.map +1 -1
- package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-settings-scss.js +4 -4
- package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-settings-scss.js.map +1 -1
- package/dist/es/plugin-collapsible-list/statics/styles/new-pair-button-scss.js +5 -5
- package/dist/es/plugin-collapsible-list/statics/styles/new-pair-button-scss.js.map +1 -1
- package/dist/es/plugin-collapsible-list/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-divider/statics/styles/divider-viewer-scss.js +13 -13
- package/dist/es/plugin-divider/statics/styles/divider-viewer-scss.js.map +1 -1
- package/dist/es/plugin-divider/toolbar/modals/divider-design-panel-scss.js +3 -3
- package/dist/es/plugin-divider/toolbar/modals/divider-design-panel-scss.js.map +1 -1
- package/dist/es/plugin-divider/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-emoji/modals/emoji-suggestions-modal-scss.js +3 -3
- package/dist/es/plugin-emoji/modals/emoji-suggestions-modal-scss.js.map +1 -1
- package/dist/es/plugin-figure/tiptap/caption-scss.js +5 -5
- package/dist/es/plugin-figure/tiptap/caption-scss.js.map +1 -1
- package/dist/es/plugin-figure/tiptap/figure-scss.js +5 -5
- package/dist/es/plugin-figure/tiptap/figure-scss.js.map +1 -1
- package/dist/es/plugin-file-upload/statics/styles/file-upload-viewer-scss.js +15 -15
- package/dist/es/plugin-file-upload/statics/styles/file-upload-viewer-scss.js.map +1 -1
- package/dist/es/plugin-file-upload/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-gallery/modals/settings/gallery-settings-modal-scss.js +5 -5
- package/dist/es/plugin-gallery/modals/settings/gallery-settings-modal-scss.js.map +1 -1
- package/dist/es/plugin-gallery/modals/settings/layout-settings/layout-controls-section/image-ratio-control-scss.js +8 -8
- package/dist/es/plugin-gallery/modals/settings/layout-settings/layout-controls-section/image-ratio-control-scss.js.map +1 -1
- package/dist/es/plugin-gallery/modals/settings/layout-settings/layout-controls-section/thumbnail-alignment-control-scss.js +7 -7
- package/dist/es/plugin-gallery/modals/settings/layout-settings/layout-controls-section/thumbnail-alignment-control-scss.js.map +1 -1
- package/dist/es/plugin-gallery/modals/settings/media-settings/media-list/sortable-item-scss.js +3 -3
- package/dist/es/plugin-gallery/modals/settings/media-settings/media-list/sortable-item-scss.js.map +1 -1
- package/dist/es/plugin-gallery/modals/settings/media-settings/media-list/sortable-list-scss.js +5 -5
- package/dist/es/plugin-gallery/modals/settings/media-settings/media-list/sortable-list-scss.js.map +1 -1
- package/dist/es/plugin-gallery/statics/styles/gallery-component-scss.js +3 -3
- package/dist/es/plugin-gallery/statics/styles/gallery-component-scss.js.map +1 -1
- package/dist/es/plugin-gallery/statics/styles/gallery-media-scss.js +21 -21
- package/dist/es/plugin-gallery/statics/styles/gallery-media-scss.js.map +1 -1
- package/dist/es/plugin-gallery/statics/styles/viewer-scss.js +1 -1
- package/dist/es/plugin-gallery/statics/styles/viewer-scss.js.map +1 -1
- package/dist/es/plugin-gallery/viewer/layout-collage-scss.js +5 -5
- package/dist/es/plugin-gallery/viewer/layout-collage-scss.js.map +1 -1
- package/dist/es/plugin-gallery/viewer/layout-column-scss.js +4 -4
- package/dist/es/plugin-gallery/viewer/layout-column-scss.js.map +1 -1
- package/dist/es/plugin-gallery/viewer/layout-fullsize-scss.js +4 -4
- package/dist/es/plugin-gallery/viewer/layout-fullsize-scss.js.map +1 -1
- package/dist/es/plugin-gallery/viewer/layout-grid-scss.js +2 -2
- package/dist/es/plugin-gallery/viewer/layout-grid-scss.js.map +1 -1
- package/dist/es/plugin-gallery/viewer/layout-masonry-scss.js +7 -7
- package/dist/es/plugin-gallery/viewer/layout-masonry-scss.js.map +1 -1
- package/dist/es/plugin-gallery/viewer/layout-panorama-scss.js +1 -1
- package/dist/es/plugin-gallery/viewer/layout-panorama-scss.js.map +1 -1
- package/dist/es/plugin-gallery/viewer/layout-slider-scss.js +6 -6
- package/dist/es/plugin-gallery/viewer/layout-slider-scss.js.map +1 -1
- package/dist/es/plugin-gallery/viewer/layout-thumbnail-scss.js +11 -11
- package/dist/es/plugin-gallery/viewer/layout-thumbnail-scss.js.map +1 -1
- package/dist/es/plugin-gallery/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-giphy/components/giphy-selector-scss.js +11 -11
- package/dist/es/plugin-giphy/components/giphy-selector-scss.js.map +1 -1
- package/dist/es/plugin-giphy/viewer/giphy-viewer-scss.js +4 -4
- package/dist/es/plugin-giphy/viewer/giphy-viewer-scss.js.map +1 -1
- package/dist/es/plugin-giphy/viewer/play-icon-scss.js +2 -2
- package/dist/es/plugin-giphy/viewer/play-icon-scss.js.map +1 -1
- package/dist/es/plugin-giphy/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-hashtag/statics/hashtag-scss.js +2 -2
- package/dist/es/plugin-hashtag/statics/hashtag-scss.js.map +1 -1
- package/dist/es/plugin-hashtag/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-headings/dropdown/headings-dropdown-scss.js +9 -9
- package/dist/es/plugin-headings/dropdown/headings-dropdown-scss.js.map +1 -1
- package/dist/es/plugin-html/statics/styles/HtmlComponent-scss.js +2 -2
- package/dist/es/plugin-html/statics/styles/HtmlComponent-scss.js.map +1 -1
- package/dist/es/plugin-html/statics/styles/Iframe-scss.js +1 -1
- package/dist/es/plugin-html/statics/styles/Iframe-scss.js.map +1 -1
- package/dist/es/plugin-html/tiptap/ai-widget-scss.js +4 -4
- package/dist/es/plugin-html/tiptap/ai-widget-scss.js.map +1 -1
- package/dist/es/plugin-html/tiptap/loader-scss.js +11 -11
- package/dist/es/plugin-html/tiptap/loader-scss.js.map +1 -1
- package/dist/es/plugin-html/tiptap/preset-bar/preset-bar-scss.js +4 -4
- package/dist/es/plugin-html/tiptap/preset-bar/preset-bar-scss.js.map +1 -1
- package/dist/es/plugin-html/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-image/components/corner-radius-handles-scss.js +6 -6
- package/dist/es/plugin-image/components/corner-radius-handles-scss.js.map +1 -1
- package/dist/es/plugin-image/components/crop-edge-handles-scss.js +3 -3
- package/dist/es/plugin-image/components/crop-edge-handles-scss.js.map +1 -1
- package/dist/es/plugin-image/crop-overlay/crop-overlay-scss.js +16 -16
- package/dist/es/plugin-image/crop-overlay/crop-overlay-scss.js.map +1 -1
- package/dist/es/plugin-image/statics/styles/image-viewer-scss.js +20 -20
- package/dist/es/plugin-image/statics/styles/image-viewer-scss.js.map +1 -1
- package/dist/es/plugin-image/statics/styles/settings-modal-scss.js +3 -3
- package/dist/es/plugin-image/statics/styles/settings-modal-scss.js.map +1 -1
- package/dist/es/plugin-image/toolbar/shape-crop-modal-scss.js +6 -6
- package/dist/es/plugin-image/toolbar/shape-crop-modal-scss.js.map +1 -1
- package/dist/es/plugin-image/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-inline-ai/ai-selection-tooltip-scss.js +12 -12
- package/dist/es/plugin-inline-ai/ai-selection-tooltip-scss.js.map +1 -1
- package/dist/es/plugin-inline-ai/aria-avatar-row-scss.js +3 -3
- package/dist/es/plugin-inline-ai/aria-avatar-row-scss.js.map +1 -1
- package/dist/es/plugin-inline-ai/aria-surface-row-scss.js +6 -6
- package/dist/es/plugin-inline-ai/aria-surface-row-scss.js.map +1 -1
- package/dist/es/plugin-inline-ai/html-placeholder-scss.js +5 -5
- package/dist/es/plugin-inline-ai/html-placeholder-scss.js.map +1 -1
- package/dist/es/plugin-inline-ai/modal-scss.js +11 -11
- package/dist/es/plugin-inline-ai/modal-scss.js.map +1 -1
- package/dist/es/plugin-inline-ai/pending-widget-placeholder-scss.js +14 -14
- package/dist/es/plugin-inline-ai/pending-widget-placeholder-scss.js.map +1 -1
- package/dist/es/plugin-inline-ai/spinner-scss.js +4 -4
- package/dist/es/plugin-inline-ai/spinner-scss.js.map +1 -1
- package/dist/es/plugin-inline-ai/toolbar/toolbar-button-scss.js +4 -4
- package/dist/es/plugin-inline-ai/toolbar/toolbar-button-scss.js.map +1 -1
- package/dist/es/plugin-line-spacing/custom-spacing-editor-modal/custom-spacing-editor-modal-scss.js +3 -3
- package/dist/es/plugin-line-spacing/custom-spacing-editor-modal/custom-spacing-editor-modal-scss.js.map +1 -1
- package/dist/es/plugin-link/editor.js +2 -2
- package/dist/es/plugin-link/editor.js.map +2 -2
- package/dist/es/plugin-link/statics/link-viewer-scss.js +4 -4
- package/dist/es/plugin-link/statics/link-viewer-scss.js.map +1 -1
- package/dist/es/plugin-link/toolbar/anchor-link-button-scss.js +3 -3
- package/dist/es/plugin-link/toolbar/anchor-link-button-scss.js.map +1 -1
- package/dist/es/plugin-link/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-link-preview/statics/styles/insert-modal-scss.js +3 -3
- package/dist/es/plugin-link-preview/statics/styles/insert-modal-scss.js.map +1 -1
- package/dist/es/plugin-link-preview/statics/styles/link-preview-scss.js +18 -18
- package/dist/es/plugin-link-preview/statics/styles/link-preview-scss.js.map +1 -1
- package/dist/es/plugin-link-preview/statics/styles/settings-modal-scss.js +3 -3
- package/dist/es/plugin-link-preview/statics/styles/settings-modal-scss.js.map +1 -1
- package/dist/es/plugin-link-preview/viewer-styles-inject.js +3 -3
- package/dist/es/plugin-mentions/statics/mention-list-scss.js +6 -6
- package/dist/es/plugin-mentions/statics/mention-list-scss.js.map +1 -1
- package/dist/es/plugin-mentions/statics/mentions-scss.js +4 -4
- package/dist/es/plugin-mentions/statics/mentions-scss.js.map +1 -1
- package/dist/es/plugin-mentions/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-paywall/paywall-fallback-scss.js +1 -1
- package/dist/es/plugin-paywall/paywall-fallback-scss.js.map +1 -1
- package/dist/es/plugin-paywall/plugin-paywall.js.map +2 -2
- package/dist/es/plugin-smart-block/components/cell-accessory-scss.js +22 -22
- package/dist/es/plugin-smart-block/components/cell-accessory-scss.js.map +1 -1
- package/dist/es/plugin-smart-block/components/cell-quote-glyph-scss.js +3 -3
- package/dist/es/plugin-smart-block/components/cell-quote-glyph-scss.js.map +1 -1
- package/dist/es/plugin-smart-block/components/cell-star-rating-scss.js +4 -4
- package/dist/es/plugin-smart-block/components/cell-star-rating-scss.js.map +1 -1
- package/dist/es/plugin-smart-block/components/cell-stat-scss.js +20 -20
- package/dist/es/plugin-smart-block/components/cell-stat-scss.js.map +1 -1
- package/dist/es/plugin-smart-block/components/circle-donut-scss.js +7 -7
- package/dist/es/plugin-smart-block/components/circle-donut-scss.js.map +1 -1
- package/dist/es/plugin-smart-block/components/shape-overlay-scss.js +3 -3
- package/dist/es/plugin-smart-block/components/shape-overlay-scss.js.map +1 -1
- package/dist/es/plugin-smart-block/components/smart-block-view-scss.js +50 -50
- package/dist/es/plugin-smart-block/components/smart-block-view-scss.js.map +1 -1
- package/dist/es/plugin-smart-block/components/stars-scss.js +8 -8
- package/dist/es/plugin-smart-block/components/stars-scss.js.map +1 -1
- package/dist/es/plugin-smart-block/modals/variant-picker-scss.js +9 -9
- package/dist/es/plugin-smart-block/modals/variant-picker-scss.js.map +1 -1
- package/dist/es/plugin-smart-block/tiptap/smart-block-editor-scss.js +15 -15
- package/dist/es/plugin-smart-block/tiptap/smart-block-editor-scss.js.map +1 -1
- package/dist/es/plugin-smart-block/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-social-polls/components/image-upload/image-upload-scss.js +9 -9
- package/dist/es/plugin-social-polls/components/image-upload/image-upload-scss.js.map +1 -1
- package/dist/es/plugin-social-polls/components/insert-modal/insert-modal-scss.js +3 -3
- package/dist/es/plugin-social-polls/components/insert-modal/insert-modal-scss.js.map +1 -1
- package/dist/es/plugin-social-polls/components/poll-header/poll-header-scss.js +3 -3
- package/dist/es/plugin-social-polls/components/poll-header/poll-header-scss.js.map +1 -1
- package/dist/es/plugin-social-polls/components/poll-option/option-scss.js +23 -23
- package/dist/es/plugin-social-polls/components/poll-option/option-scss.js.map +1 -1
- package/dist/es/plugin-social-polls/components/poll-option/webview/option-webview-scss.js +24 -24
- package/dist/es/plugin-social-polls/components/poll-option/webview/option-webview-scss.js.map +1 -1
- package/dist/es/plugin-social-polls/components/poll-scss.js +19 -19
- package/dist/es/plugin-social-polls/components/poll-scss.js.map +1 -1
- package/dist/es/plugin-social-polls/components/settings-modal/settings-modal-scss.js +4 -4
- package/dist/es/plugin-social-polls/components/settings-modal/settings-modal-scss.js.map +1 -1
- package/dist/es/plugin-social-polls/components/text-field/text-field-scss.js +12 -12
- package/dist/es/plugin-social-polls/components/text-field/text-field-scss.js.map +1 -1
- package/dist/es/plugin-social-polls/components/voted-users/voted-users-scss.js +20 -20
- package/dist/es/plugin-social-polls/components/voted-users/voted-users-scss.js.map +1 -1
- package/dist/es/plugin-social-polls/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-spoiler/get-text-buttons.js +2 -2
- package/dist/es/plugin-spoiler/get-text-buttons.js.map +2 -2
- package/dist/es/plugin-spoiler/statics/styles/spoiler-scss.js +18 -18
- package/dist/es/plugin-spoiler/statics/styles/spoiler-scss.js.map +1 -1
- package/dist/es/plugin-spoiler/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-table/modals/table-grid-selector-scss.js +7 -7
- package/dist/es/plugin-table/modals/table-grid-selector-scss.js.map +1 -1
- package/dist/es/plugin-table/statics/styles/cell-scss.js +15 -15
- package/dist/es/plugin-table/statics/styles/cell-scss.js.map +1 -1
- package/dist/es/plugin-table/statics/styles/resizer-scss.js +20 -20
- package/dist/es/plugin-table/statics/styles/resizer-scss.js.map +1 -1
- package/dist/es/plugin-table/statics/styles/table-settings-modal-scss.js +3 -3
- package/dist/es/plugin-table/statics/styles/table-settings-modal-scss.js.map +1 -1
- package/dist/es/plugin-table/statics/styles/table-viewer-scss.js +6 -6
- package/dist/es/plugin-table/statics/styles/table-viewer-scss.js.map +1 -1
- package/dist/es/plugin-table/tiptap/decorations/tableHandles-scss.js +11 -11
- package/dist/es/plugin-table/tiptap/decorations/tableHandles-scss.js.map +1 -1
- package/dist/es/plugin-table/tiptap/plugins/table-scss.js +35 -35
- package/dist/es/plugin-table/tiptap/plugins/table-scss.js.map +1 -1
- package/dist/es/plugin-table/toolbar/modals/border-scope-selector-scss.js +4 -4
- package/dist/es/plugin-table/toolbar/modals/border-scope-selector-scss.js.map +1 -1
- package/dist/es/plugin-table/viewer-styles-inject.js +4 -4
- package/dist/es/plugin-text-color/sketch/text-highlight-button.js +2 -2
- package/dist/es/plugin-text-color/sketch/text-highlight-button.js.map +2 -2
- package/dist/es/plugin-text-color/text-button-color-scss.js +4 -4
- package/dist/es/plugin-text-color/text-button-color-scss.js.map +1 -1
- package/dist/es/plugin-toc/toc-view-scss.js +2 -2
- package/dist/es/plugin-toc/toc-view-scss.js.map +1 -1
- package/dist/es/plugin-toc/viewer-styles-inject.js +2 -2
- package/dist/es/plugin-vertical-embed/components/Ribbon-scss.js +3 -3
- package/dist/es/plugin-vertical-embed/components/Ribbon-scss.js.map +1 -1
- package/dist/es/plugin-vertical-embed/components/card-content-scss.js +23 -23
- package/dist/es/plugin-vertical-embed/components/card-content-scss.js.map +1 -1
- package/dist/es/plugin-vertical-embed/components/card-scss.js +19 -19
- package/dist/es/plugin-vertical-embed/components/card-scss.js.map +1 -1
- package/dist/es/plugin-vertical-embed/components/description-scss.js +2 -2
- package/dist/es/plugin-vertical-embed/components/description-scss.js.map +1 -1
- package/dist/es/plugin-vertical-embed/modals/settings-modal-scss.js +4 -4
- package/dist/es/plugin-vertical-embed/modals/settings-modal-scss.js.map +1 -1
- package/dist/es/plugin-vertical-embed/tiptap/component-scss.js +12 -12
- package/dist/es/plugin-vertical-embed/tiptap/component-scss.js.map +1 -1
- package/dist/es/plugin-vertical-embed/toolbar/items-list-scss.js +3 -3
- package/dist/es/plugin-vertical-embed/toolbar/items-list-scss.js.map +1 -1
- package/dist/es/plugin-vertical-embed/viewer/vertical-embed-viewer-scss.js +6 -6
- package/dist/es/plugin-vertical-embed/viewer/vertical-embed-viewer-scss.js.map +1 -1
- package/dist/es/plugin-vertical-embed/viewer-styles-inject.js +3 -3
- package/dist/es/plugin-video/statics/styles/default-video-styles-scss.js +10 -10
- package/dist/es/plugin-video/statics/styles/default-video-styles-scss.js.map +1 -1
- package/dist/es/plugin-video/statics/styles/video-viewer-scss.js +3 -3
- package/dist/es/plugin-video/statics/styles/video-viewer-scss.js.map +1 -1
- package/dist/es/plugin-video/toolbar/embed-video-scss.js +3 -3
- package/dist/es/plugin-video/toolbar/embed-video-scss.js.map +1 -1
- package/dist/es/plugin-video/viewer-styles-inject.js +2 -2
- package/dist/es/ricos-common-plugins/bold/extension.js +1 -2
- package/dist/es/ricos-common-plugins/bold/extension.js.map +2 -2
- package/dist/es/ricos-common-plugins/decoration-plugins/list-item-sizing.js +13 -1
- package/dist/es/ricos-common-plugins/decoration-plugins/list-item-sizing.js.map +2 -2
- package/dist/es/ricos-common-plugins/font-size/block-font-size-plugin.js +2 -1
- package/dist/es/ricos-common-plugins/font-size/block-font-size-plugin.js.map +2 -2
- package/dist/es/ricos-common-plugins/font-size/dropdown/font-size-dropdown-scss.js +3 -3
- package/dist/es/ricos-common-plugins/font-size/dropdown/font-size-dropdown-scss.js.map +1 -1
- package/dist/es/ricos-common-plugins/gap-spacer/gap-spacer-component/gap-spacer-styles-scss.js +10 -10
- package/dist/es/ricos-common-plugins/gap-spacer/gap-spacer-component/gap-spacer-styles-scss.js.map +1 -1
- package/dist/es/ricos-common-plugins/layout/layouts-scss.js +35 -35
- package/dist/es/ricos-common-plugins/layout/layouts-scss.js.map +1 -1
- package/dist/es/ricos-common-plugins/layout/paywall-toolbar-button.js +74 -0
- package/dist/es/ricos-common-plugins/layout/paywall-toolbar-button.js.map +7 -0
- package/dist/es/ricos-common-plugins/layout/plugin-layout.js +178 -173
- package/dist/es/ricos-common-plugins/layout/plugin-layout.js.map +2 -2
- package/dist/es/ricos-common-plugins/layout/section-dividers/section-dividers-panel-scss.js +4 -4
- package/dist/es/ricos-common-plugins/layout/section-dividers/section-dividers-panel-scss.js.map +1 -1
- package/dist/es/ricos-common-plugins/layout/section-dividers/section-dividers-scss.js +6 -6
- package/dist/es/ricos-common-plugins/layout/section-dividers/section-dividers-scss.js.map +1 -1
- package/dist/es/ricos-common-plugins/list-item/extension.js +9 -0
- package/dist/es/ricos-common-plugins/list-item/extension.js.map +2 -2
- package/dist/es/ricos-common-plugins/list-item/list-converters.js +5 -3
- package/dist/es/ricos-common-plugins/list-item/list-converters.js.map +2 -2
- package/dist/es/ricos-common-plugins/list-item/list-marker-selection.js +274 -0
- package/dist/es/ricos-common-plugins/list-item/list-marker-selection.js.map +7 -0
- package/dist/es/ricos-common-plugins/quick-actions/modal/modal-scss.js +4 -4
- package/dist/es/ricos-common-plugins/quick-actions/modal/modal-scss.js.map +1 -1
- package/dist/es/ricos-common-plugins/statics/styles-scss.js +20 -20
- package/dist/es/ricos-common-plugins/statics/styles-scss.js.map +1 -1
- package/dist/es/ricos-common-plugins/strikethrough/strikethrough.js +2 -2
- package/dist/es/ricos-common-plugins/strikethrough/strikethrough.js.map +2 -2
- package/dist/es/ricos-common-plugins/strikethrough/strikethrough.testkit.js +1 -0
- package/dist/es/ricos-common-plugins/strikethrough/strikethrough.testkit.js.map +2 -2
- package/dist/es/ricos-common-plugins/title/headings-scss.js +10 -10
- package/dist/es/ricos-common-plugins/title/headings-scss.js.map +1 -1
- package/dist/es/ricos-common-plugins/underline/underline.js +2 -2
- package/dist/es/ricos-common-plugins/underline/underline.js.map +2 -2
- package/dist/es/ricos-editor/statics/styles/editor-styles-scss.js +11 -11
- package/dist/es/ricos-editor/statics/styles/editor-styles-scss.js.map +1 -1
- package/dist/es/ricos-modals/statics/styles/drawer-scss.js +11 -11
- package/dist/es/ricos-modals/statics/styles/drawer-scss.js.map +1 -1
- package/dist/es/ricos-modals/statics/styles/fullscreen-scss.js +3 -3
- package/dist/es/ricos-modals/statics/styles/fullscreen-scss.js.map +1 -1
- package/dist/es/ricos-modals/statics/styles/popper-scss.js +5 -5
- package/dist/es/ricos-modals/statics/styles/popper-scss.js.map +1 -1
- package/dist/es/ricos-schema/next-schema/version.js +1 -1
- package/dist/es/ricos-schema/next-schema/version.js.map +1 -1
- package/dist/es/ricos-styles/statics/styles/style-presets-scss.js +8 -8
- package/dist/es/ricos-styles/statics/styles/style-presets-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/blockquote/blockquote-scss.js +3 -3
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/blockquote/blockquote-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock-scss.js +3 -3
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading-scss.js +9 -9
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/layout/layout-scss.js +10 -10
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/layout/layout-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.js +10 -1
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.js.map +2 -2
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/lists/lists-scss.js +6 -6
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/lists/lists-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph-scss.js +4 -4
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/link-viewer-wrapper-scss.js +2 -2
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/link-viewer-wrapper-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/plugin-scss.js +15 -15
- package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/plugin-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/modals/fullscreen/fullscreen-scss.js +14 -14
- package/dist/es/ricos-viewer-next/modals/fullscreen/fullscreen-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/statics/alignment-scss.js +16 -16
- package/dist/es/ricos-viewer-next/statics/alignment-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/statics/indentation-scss.js +7 -7
- package/dist/es/ricos-viewer-next/statics/indentation-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/statics/rich-content-viewer-scss.js +9 -9
- package/dist/es/ricos-viewer-next/statics/rich-content-viewer-scss.js.map +1 -1
- package/dist/es/ricos-viewer-next/statics/rtl-scss.js +2 -2
- package/dist/es/ricos-viewer-next/statics/rtl-scss.js.map +1 -1
- package/dist/es/text-selection-toolbar/statics/styles/viewer-inline-toolbar-scss.js +4 -4
- package/dist/es/text-selection-toolbar/statics/styles/viewer-inline-toolbar-scss.js.map +1 -1
- package/dist/es/tiptap/core/editor.js +5 -2
- package/dist/es/tiptap/core/editor.js.map +2 -2
- package/dist/es/tiptap-editor/statics/styles/tiptap-editor-styles-scss.js +15 -15
- package/dist/es/tiptap-editor/statics/styles/tiptap-editor-styles-scss.js.map +1 -1
- package/dist/es/tiptap-extensions/placeholder-scss.js +3 -3
- package/dist/es/tiptap-extensions/placeholder-scss.js.map +1 -1
- package/dist/es/tiptap-extensions/statics/styles-scss.js +6 -6
- package/dist/es/tiptap-extensions/statics/styles-scss.js.map +1 -1
- package/dist/es/toolbars-v3/components/InsertPluginToolbar/insert-plugin-toolbar-scss.js +3 -3
- package/dist/es/toolbars-v3/components/InsertPluginToolbar/insert-plugin-toolbar-scss.js.map +1 -1
- package/dist/es/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.js +2 -1
- package/dist/es/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.js.map +2 -2
- package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/OverflownButtons-scss.js +5 -5
- package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/OverflownButtons-scss.js.map +1 -1
- package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbar-scss.js +5 -5
- package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbar-scss.js.map +1 -1
- package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbarWrapper-scss.js +6 -6
- package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbarWrapper-scss.js.map +1 -1
- package/dist/es/toolbars-v3/components/Toolbar/RicosMobileToolbar/RicosMobileToolbar-scss.js +11 -11
- package/dist/es/toolbars-v3/components/Toolbar/RicosMobileToolbar/RicosMobileToolbar-scss.js.map +1 -1
- package/dist/es/toolbars-v3/components/Toolbar/RicosMobileToolbar/mobile-toolbar-overlay/mobile-toolbar-overlay-scss.js +3 -3
- package/dist/es/toolbars-v3/components/Toolbar/RicosMobileToolbar/mobile-toolbar-overlay/mobile-toolbar-overlay-scss.js.map +1 -1
- package/dist/es/toolbars-v3/components/buttons/AddPluginMenuButtons/AddPluginMenuMobileButton-scss.js +5 -5
- package/dist/es/toolbars-v3/components/buttons/AddPluginMenuButtons/AddPluginMenuMobileButton-scss.js.map +1 -1
- package/dist/es/toolbars-v3/components/buttons/FontSizeButton/FontSizeButton-scss.js +7 -7
- package/dist/es/toolbars-v3/components/buttons/FontSizeButton/FontSizeButton-scss.js.map +1 -1
- package/dist/es/toolbars-v3/modals/FloatingPluginMenu/styles/floating-add-plugin-menu-scss.js +8 -8
- package/dist/es/toolbars-v3/modals/FloatingPluginMenu/styles/floating-add-plugin-menu-scss.js.map +1 -1
- package/dist/es/toolbars-v3/ricos-toolbars/footer/FooterToolbar-scss.js +3 -3
- package/dist/es/toolbars-v3/ricos-toolbars/footer/FooterToolbar-scss.js.map +1 -1
- package/dist/es/toolbars-v3/ricos-toolbars/formatting/use-is-visible.js +4 -0
- package/dist/es/toolbars-v3/ricos-toolbars/formatting/use-is-visible.js.map +2 -2
- package/dist/es/ui-components/Components/Image-scss.js +3 -3
- package/dist/es/ui-components/Components/Image-scss.js.map +1 -1
- package/dist/es/ui-components/Components/double-loader-scss.js +6 -6
- package/dist/es/ui-components/Components/double-loader-scss.js.map +1 -1
- package/dist/es/ui-components/color-picker/button-color-swatches/button-color-swatches-scss.js +4 -4
- package/dist/es/ui-components/color-picker/button-color-swatches/button-color-swatches-scss.js.map +1 -1
- package/dist/es/ui-components/color-picker/new-color-picker/components/gradient-picker/gradient-picker-scss.js +15 -15
- package/dist/es/ui-components/color-picker/new-color-picker/components/gradient-picker/gradient-picker-scss.js.map +1 -1
- package/dist/es/ui-components/color-picker/new-color-picker/components/new-color-swatches/new-color-swatches-scss.js +3 -3
- package/dist/es/ui-components/color-picker/new-color-picker/components/new-color-swatches/new-color-swatches-scss.js.map +1 -1
- package/dist/es/ui-components/color-picker/new-color-picker/components/simple-color-picker/simple-color-picker-scss.js +4 -4
- package/dist/es/ui-components/color-picker/new-color-picker/components/simple-color-picker/simple-color-picker-scss.js.map +1 -1
- package/dist/es/ui-components/color-picker/new-color-picker/components/single-color-swatch/single-color-swatch-scss.js +4 -4
- package/dist/es/ui-components/color-picker/new-color-picker/components/single-color-swatch/single-color-swatch-scss.js.map +1 -1
- package/dist/es/ui-components/color-picker/new-color-picker/new-color-picker-scss.js +3 -3
- package/dist/es/ui-components/color-picker/new-color-picker/new-color-picker-scss.js.map +1 -1
- package/dist/es/ui-components/input-with-slider/input-with-slider-scss.js +3 -3
- package/dist/es/ui-components/input-with-slider/input-with-slider-scss.js.map +1 -1
- package/dist/es/ui-components/layout-background-loader/layout-background-loader-scss.js +5 -5
- package/dist/es/ui-components/layout-background-loader/layout-background-loader-scss.js.map +1 -1
- package/dist/es/ui-components/modal-layout/floating-layout/floating-desktop-layout-scss.js +3 -3
- package/dist/es/ui-components/modal-layout/floating-layout/floating-desktop-layout-scss.js.map +1 -1
- package/dist/es/ui-components/modal-layout/fullscreen-mobile-layout/fullscreen-mobile-layout-scss.js +6 -6
- package/dist/es/ui-components/modal-layout/fullscreen-mobile-layout/fullscreen-mobile-layout-scss.js.map +1 -1
- package/dist/es/ui-components/panel/panel-scss.js +4 -4
- package/dist/es/ui-components/panel/panel-scss.js.map +1 -1
- package/dist/es/ui-components/panel-header/panel-header-scss.js +3 -3
- package/dist/es/ui-components/panel-header/panel-header-scss.js.map +1 -1
- package/dist/es/ui-components/settings-panel-discard-modal/settings-panel-discard-modal-scss.js +3 -3
- package/dist/es/ui-components/settings-panel-discard-modal/settings-panel-discard-modal-scss.js.map +1 -1
- package/dist/es/ui-components/statics/styles/generic-error-scss.js +3 -3
- package/dist/es/ui-components/statics/styles/generic-error-scss.js.map +1 -1
- package/dist/es/ui-components/statics/styles/loaders-scss.js +10 -10
- package/dist/es/ui-components/statics/styles/loaders-scss.js.map +1 -1
- package/dist/es/ui-components/statics/styles/media-item-error-msg-scss.js +5 -5
- package/dist/es/ui-components/statics/styles/media-item-error-msg-scss.js.map +1 -1
- package/dist/es/ui-components/statics/styles/slider-scss.js +9 -9
- package/dist/es/ui-components/statics/styles/slider-scss.js.map +1 -1
- package/dist/es/ui-components/thumbnail-picker/thumbnail-picker-scss.js +3 -3
- package/dist/es/ui-components/thumbnail-picker/thumbnail-picker-scss.js.map +1 -1
- package/dist/es/ui-components/wixel-assistant/assistant-timeline-scss.js +18 -18
- package/dist/es/ui-components/wixel-assistant/assistant-timeline-scss.js.map +1 -1
- package/dist/es/wix-rich-content-common/statics/styles/fonts-scss.js +3 -3
- package/dist/es/wix-rich-content-common/statics/styles/fonts-scss.js.map +1 -1
- package/dist/es/wix-rich-content-common/statics/styles/general-scss.js +13 -13
- package/dist/es/wix-rich-content-common/statics/styles/general-scss.js.map +1 -1
- package/dist/src/_shared/editor-base-url/editor-base-url-context.d.ts.map +1 -1
- package/dist/src/_shared/font-weight.d.ts +3 -0
- package/dist/src/_shared/font-weight.d.ts.map +1 -0
- package/dist/src/_shared/get-all-plugin-testkits.d.ts +1 -0
- package/dist/src/_shared/get-all-plugin-testkits.d.ts.map +1 -1
- package/dist/src/_shared/get-common-marker-style.d.ts +3 -0
- package/dist/src/_shared/get-common-marker-style.d.ts.map +1 -0
- package/dist/src/_shared/get-common-marker-style.spec.d.ts +2 -0
- package/dist/src/_shared/get-common-marker-style.spec.d.ts.map +1 -0
- package/dist/src/_shared/get-decorations-marker-style.d.ts +4 -0
- package/dist/src/_shared/get-decorations-marker-style.d.ts.map +1 -0
- package/dist/src/_shared/get-decorations-marker-style.spec.d.ts +2 -0
- package/dist/src/_shared/get-decorations-marker-style.spec.d.ts.map +1 -0
- package/dist/src/_shared/get-list-marker-style.d.ts +3 -0
- package/dist/src/_shared/get-list-marker-style.d.ts.map +1 -0
- package/dist/src/_shared/get-list-marker-style.spec.d.ts +2 -0
- package/dist/src/_shared/get-list-marker-style.spec.d.ts.map +1 -0
- package/dist/src/_shared/plugin-toolbar/create-settings-button.d.ts +2 -2
- package/dist/src/_shared/plugin-toolbar/create-settings-button.d.ts.map +1 -1
- package/dist/src/_shared/pm-node-types.d.ts +2 -1
- package/dist/src/_shared/pm-node-types.d.ts.map +1 -1
- package/dist/src/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.d.ts +2 -0
- package/dist/src/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.d.ts.map +1 -1
- package/dist/src/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.spec.d.ts +2 -0
- package/dist/src/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.spec.d.ts.map +1 -0
- package/dist/src/_shared/site-pages/site-pages-fetch-context.d.ts.map +1 -1
- package/dist/src/_shared/site-pages/types.d.ts +24 -2
- package/dist/src/_shared/site-pages/types.d.ts.map +1 -1
- package/dist/src/index.d.ts +3 -2
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/internal.d.ts +1 -1
- package/dist/src/internal.d.ts.map +1 -1
- package/dist/src/legacy.d.ts +1 -1
- package/dist/src/legacy.d.ts.map +1 -1
- package/dist/src/plugin-block-drag-handle/box-select.d.ts +1 -0
- package/dist/src/plugin-block-drag-handle/box-select.d.ts.map +1 -1
- package/dist/src/plugin-block-drag-handle/dom.d.ts +1 -0
- package/dist/src/plugin-block-drag-handle/dom.d.ts.map +1 -1
- package/dist/src/plugin-block-drag-handle/plugin.d.ts.map +1 -1
- package/dist/src/plugin-card/card-node-view.d.ts +3 -1
- package/dist/src/plugin-card/card-node-view.d.ts.map +1 -1
- package/dist/src/plugin-card/card-node-view.spec.d.ts +3 -0
- package/dist/src/plugin-card/card-node-view.spec.d.ts.map +1 -0
- package/dist/src/plugin-card/extension.d.ts.map +1 -1
- package/dist/src/plugin-card/index.d.ts +1 -1
- package/dist/src/plugin-card/index.d.ts.map +1 -1
- package/dist/src/plugin-card/page-gap.d.ts +3 -0
- package/dist/src/plugin-card/page-gap.d.ts.map +1 -1
- package/dist/src/plugin-card/types-next.d.ts +12 -0
- package/dist/src/plugin-card/types-next.d.ts.map +1 -1
- package/dist/src/plugin-card/types.d.ts +12 -0
- package/dist/src/plugin-card/types.d.ts.map +1 -1
- package/dist/src/plugin-link/editor.d.ts.map +1 -1
- package/dist/src/plugin-paywall/plugin-paywall.d.ts +27 -0
- package/dist/src/plugin-paywall/plugin-paywall.d.ts.map +1 -1
- package/dist/src/plugin-spoiler/get-text-buttons.d.ts.map +1 -1
- package/dist/src/plugin-text-color/sketch/text-highlight-button.d.ts.map +1 -1
- package/dist/src/ricos-common-plugins/bold/extension.d.ts.map +1 -1
- package/dist/src/ricos-common-plugins/decoration-plugins/list-item-sizing.d.ts +9 -7
- package/dist/src/ricos-common-plugins/decoration-plugins/list-item-sizing.d.ts.map +1 -1
- package/dist/src/ricos-common-plugins/font-size/block-font-size-plugin.d.ts.map +1 -1
- package/dist/src/ricos-common-plugins/layout/paywall-toolbar-button.d.ts +6 -0
- package/dist/src/ricos-common-plugins/layout/paywall-toolbar-button.d.ts.map +1 -0
- package/dist/src/ricos-common-plugins/layout/paywall-toolbar-button.spec.d.ts +2 -0
- package/dist/src/ricos-common-plugins/layout/paywall-toolbar-button.spec.d.ts.map +1 -0
- package/dist/src/ricos-common-plugins/layout/plugin-layout.d.ts.map +1 -1
- package/dist/src/ricos-common-plugins/list-item/extension.d.ts.map +1 -1
- package/dist/src/ricos-common-plugins/list-item/list-converters.d.ts.map +1 -1
- package/dist/src/ricos-common-plugins/list-item/list-marker-selection.d.ts +25 -0
- package/dist/src/ricos-common-plugins/list-item/list-marker-selection.d.ts.map +1 -0
- package/dist/src/ricos-common-plugins/list-item/list-marker-selection.spec.d.ts +2 -0
- package/dist/src/ricos-common-plugins/list-item/list-marker-selection.spec.d.ts.map +1 -0
- package/dist/src/ricos-common-plugins/strikethrough/strikethrough.testkit.d.ts +1 -0
- package/dist/src/ricos-common-plugins/strikethrough/strikethrough.testkit.d.ts.map +1 -1
- package/dist/src/ricos-common-plugins/testkit.d.ts +1 -0
- package/dist/src/ricos-common-plugins/testkit.d.ts.map +1 -1
- package/dist/src/ricos-schema/next-schema/version.d.ts +1 -1
- package/dist/src/ricos-styles/tests/test-cases.d.ts +3 -3
- package/dist/src/ricos-types/next/ricos-types.d.ts +1 -1
- package/dist/src/ricos-types/ricos-types.d.ts +1 -1
- package/dist/src/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.d.ts.map +1 -1
- package/dist/src/testkit.d.ts +2 -0
- package/dist/src/testkit.d.ts.map +1 -1
- package/dist/src/tiptap/core/editor.d.ts.map +1 -1
- package/dist/src/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.d.ts.map +1 -1
- package/dist/src/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.spec.d.ts +2 -0
- package/dist/src/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.spec.d.ts.map +1 -0
- package/dist/src/toolbars-v3/ricos-toolbars/formatting/use-is-visible.d.ts.map +1 -1
- package/generated/public.d.ts +54 -1
- package/package.json +6 -6
- package/dist/cjs/_shared/site-pages/serverless-types/serverless-types.js.map +0 -7
- package/dist/es/_shared/site-pages/serverless-types/serverless-types.js +0 -1
- package/dist/es/_shared/site-pages/serverless-types/serverless-types.js.map +0 -7
- package/dist/src/_shared/site-pages/serverless-types/serverless-types.d.ts +0 -27
- package/dist/src/_shared/site-pages/serverless-types/serverless-types.d.ts.map +0 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/plugin-card/extension.ts"],
|
|
4
|
-
"sourcesContent": ["import {\n TIPTAP_CARD_CONTENT_TYPE,\n TIPTAP_CARD_FOOTER_TYPE,\n TIPTAP_CARD_HEADER_TYPE,\n TIPTAP_CARD_TYPE,\n TIPTAP_LAYOUT_TYPE,\n} from './../ricos-content/index.js';\nimport { Node_Type } from './../ricos-schema/legacy/wix/rich_content/v1/index.js';\nimport type { NodeConfig, RicosExtension, ExtensionProps } from './../ricos-types/index.js';\nimport { findParentNode, type Editor } from './../tiptap/core/index.js';\nimport { Fragment, type Node as ProseMirrorNode, type ResolvedPos } from './../tiptap/pm/model.js';\nimport { Selection, type Transaction } from './../tiptap/pm/state.js';\nimport { createRicosNodeExtension } from './../plugin-commons/index.js';\nimport { findNodeById } from './../tiptap-editor/helpers/index.js';\nimport type { TiptapAdapterServices } from './../tiptap-editor/initialize-tiptap-adapter.js';\n\nimport { createCardNodeView } from './card-node-view.js';\nimport { createCardNormalizingTransactionPlugin } from './card-normalizing.js';\nimport { createCardPastePlugin } from './card-paste-plugin.js';\nimport { createCardsApiPlugin } from './cards-api-plugin.js';\nimport type { CardFormat, CardExtensionStorage } from './types.js';\n\ntype CardSplitTarget = {\n splitPos: number;\n splitDepth: number;\n orderedListStart?: number;\n listSplit?: {\n cardPos: number;\n cardContentPos: number;\n listPos: number;\n itemsBeforeSplit: number;\n };\n nestedListSplit?: {\n cardPos: number;\n cardContentPos: number;\n topListPos: number;\n topListItemIndex: number;\n targetListPos: number;\n targetListOffsetInTopItem: number;\n itemsBeforeSplit: number;\n continuationOffset: number;\n outerOrderedListStart?: number;\n };\n};\n\ndeclare module './../tiptap/core' {\n interface Commands<ReturnType> {\n [TIPTAP_CARD_TYPE]: {\n /**\n * Insert a card node\n */\n insertCard: () => ReturnType;\n /**\n * Add a card after a specific card index\n */\n addCardAfter: (index: number) => ReturnType;\n /**\n * Duplicate a card at a specific index\n */\n duplicateCard: (index: number) => ReturnType;\n /**\n * Delete a card at a specific index\n */\n deleteCard: (index: number) => ReturnType;\n /**\n * Move a card from one index to another.\n */\n moveCard: (fromIndex: number, toIndex: number) => ReturnType;\n /**\n * Select a card at a specific index (sets cursor at start of card)\n */\n selectCard: (index: number) => ReturnType;\n /**\n * Split the current card at the cursor position.\n * Content before the cursor stays in the current card,\n * content after the cursor moves to a new card.\n */\n splitCard: () => ReturnType;\n /**\n * Split the card at a specific document position.\n */\n splitCardAtPos: (pos: number) => ReturnType;\n /**\n * Merge the card at the given index with the next card by joining the\n * two cards' children into a single CARD. Block structure is preserved\n * as-is — the boundary between the last block of the current card and\n * the first block of the next card stays intact so the round trip with\n * splitCardAtPos at that boundary is deterministic.\n */\n mergeCardWithNext: (cardIndex: number) => ReturnType;\n };\n }\n}\n\nexport const cardExtension = createRicosNodeExtension({\n name: TIPTAP_CARD_TYPE,\n groups: ['no-trailing-node', 'shortcuts-enabled'],\n type: 'html-node',\n reconfigure: (\n config: NodeConfig,\n _extensions: RicosExtension[],\n _props: ExtensionProps,\n settings: Record<string, unknown>,\n services: TiptapAdapterServices\n ) => ({\n ...config,\n addOptions() {\n return {\n ...settings,\n _services: services,\n };\n },\n }),\n\n createExtensionConfig() {\n return {\n name: this.name,\n isolating: true,\n group: 'block',\n selectable: true,\n draggable: false,\n content: `${TIPTAP_CARD_HEADER_TYPE}? ${TIPTAP_CARD_CONTENT_TYPE} ${TIPTAP_CARD_FOOTER_TYPE}?`,\n\n addStorage(): CardExtensionStorage {\n return {\n activePageFormat: undefined,\n formats: [],\n onPageFormatChange: new Set(),\n pendingCardInsertions: [],\n onPendingCardInsertionsChange: new Set(),\n };\n },\n\n parseHTML() {\n return [];\n },\n\n renderHTML() {\n return ['div', 0];\n },\n\n addNodeView() {\n const services = this.options._services as TiptapAdapterServices | undefined;\n return createCardNodeView({\n renderCardHeader: this.options.renderCardHeader,\n isMobile: services?.context.isMobile,\n getBoundaryWarningPortal: this.options.getBoundaryWarningPortal,\n });\n },\n\n addAttributes: () => ({\n containerData: null,\n background: { default: undefined },\n backgroundImage: { default: undefined },\n loading: { default: undefined },\n }),\n\n addCommands() {\n return {\n insertCard:\n () =>\n ({ commands }) => {\n return commands.insertContent({\n type: TIPTAP_CARD_TYPE,\n content: [\n {\n type: TIPTAP_CARD_CONTENT_TYPE,\n content: [{ type: 'PARAGRAPH' }],\n },\n ],\n });\n },\n addCardAfter:\n (index: number) =>\n ({ editor, chain }) => {\n const { doc } = editor.state;\n let cardCount = 0;\n let insertPos: number | null = null;\n\n // Find the position after the card at the given index\n doc.descendants((node, pos) => {\n // Skip if we already found the target\n if (insertPos !== null) {\n return false;\n }\n if (node.type.name === TIPTAP_CARD_TYPE) {\n if (cardCount === index) {\n insertPos = pos + node.nodeSize;\n return false;\n }\n cardCount++;\n }\n return true;\n });\n\n // If no card found at index, insert at end of document\n if (insertPos === null) {\n insertPos = doc.content.size;\n }\n\n return chain()\n .insertContentAt(insertPos, {\n type: TIPTAP_CARD_TYPE,\n content: [\n {\n type: TIPTAP_CARD_CONTENT_TYPE,\n content: [{ type: 'PARAGRAPH' }],\n },\n ],\n })\n .focus()\n .run();\n },\n duplicateCard:\n (index: number) =>\n ({ editor, chain }) => {\n const { doc } = editor.state;\n let cardCount = 0;\n let targetPos: number | null = null;\n let targetNode: ProseMirrorNode | null = null;\n\n // Find the card at the given index\n doc.descendants((node, pos) => {\n // Skip if we already found the target\n if (targetPos !== null) {\n return false;\n }\n if (node.type.name === TIPTAP_CARD_TYPE) {\n if (cardCount === index) {\n targetPos = pos;\n targetNode = node;\n return false;\n }\n cardCount++;\n }\n return true;\n });\n\n if (targetPos === null || targetNode === null) {\n return false;\n }\n\n const insertPos = targetPos + (targetNode as ProseMirrorNode).nodeSize;\n const duplicatedContent = (targetNode as ProseMirrorNode).toJSON();\n\n return chain().insertContentAt(insertPos, duplicatedContent).focus().run();\n },\n deleteCard:\n (index: number) =>\n ({ editor, chain }) => {\n const { doc } = editor.state;\n let cardCount = 0;\n let targetPos: number | null = null;\n let targetNode: ProseMirrorNode | null = null;\n\n // Find the card at the given index\n doc.descendants((node, pos) => {\n // Skip if we already found the target\n if (targetPos !== null) {\n return false;\n }\n if (node.type.name === TIPTAP_CARD_TYPE) {\n if (cardCount === index) {\n targetPos = pos;\n targetNode = node;\n return false;\n }\n cardCount++;\n }\n return true;\n });\n\n if (targetPos === null || targetNode === null) {\n return false;\n }\n\n const deleteFrom = targetPos as number;\n const deleteTo = deleteFrom + (targetNode as ProseMirrorNode).nodeSize;\n\n return chain().deleteRange({ from: deleteFrom, to: deleteTo }).focus().run();\n },\n moveCard:\n (fromIndex: number, toIndex: number) =>\n ({ state, tr, dispatch, editor }) => {\n if (fromIndex === toIndex) {\n return false;\n }\n\n const sourceCard = findCardAtIndex(state.doc, fromIndex);\n const targetCard = findCardAtIndex(state.doc, toIndex);\n\n if (!sourceCard || !targetCard) {\n return false;\n }\n\n const { node: sourceNode, pos: sourcePos } = sourceCard;\n const insertPos =\n fromIndex < toIndex\n ? targetCard.pos + targetCard.node.nodeSize - sourceNode.nodeSize\n : targetCard.pos;\n\n tr.delete(sourcePos, sourcePos + sourceNode.nodeSize);\n tr.insert(insertPos, sourceNode);\n\n if (dispatch) {\n dispatch(tr);\n }\n\n editor.commands.focus();\n return true;\n },\n selectCard:\n (index: number) =>\n ({ editor, tr, dispatch }) => {\n const { doc } = editor.state;\n let cardCount = 0;\n let targetPos: number | null = null;\n\n // Find the card at the given index\n doc.descendants((node, pos) => {\n // Skip if we already found the target\n if (targetPos !== null) {\n return false;\n }\n if (node.type.name === TIPTAP_CARD_TYPE) {\n if (cardCount === index) {\n targetPos = pos;\n return false;\n }\n cardCount++;\n }\n return true;\n });\n\n if (targetPos === null) {\n return false;\n }\n\n // Use Selection.near to find the nearest valid cursor position inside the card\n const $pos = doc.resolve(targetPos + 1);\n const selection = Selection.near($pos);\n\n if (dispatch) {\n tr.setSelection(selection);\n dispatch(tr);\n }\n\n if (!editor.isFocused) {\n editor.commands.focus();\n }\n return true;\n },\n splitCard:\n () =>\n ({ tr, dispatch }) => {\n const $from = tr.selection.$from;\n const pos = $from.pos;\n\n // Find the card depth in the resolved position\n let cardDepth = -1;\n for (let d = $from.depth; d >= 0; d--) {\n if ($from.node(d).type.name === TIPTAP_CARD_TYPE) {\n cardDepth = d;\n break;\n }\n }\n\n if (cardDepth < 0) {\n return false;\n }\n\n // If the cursor is inside CARD_HEADER or CARD_FOOTER, redirect\n // the split to the wrapper's outer boundary so the wrapper stays\n // intact in one of the resulting cards (splitting through it\n // would produce schema-invalid cards).\n const wrapperRedirect = redirectSplitForCardWrapper(tr, $from, cardDepth);\n if (wrapperRedirect) {\n if (dispatch) {\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n\n const blockDepth = cardDepth + 2;\n const blockNode = $from.depth >= blockDepth ? $from.node(blockDepth) : null;\n\n // Preserve the original cursor-split behavior for direct text\n // blocks in CARD_CONTENT. This keeps Mod-Enter at the end of a\n // paragraph creating a new empty card via the textblock split,\n // while nested text inside atomic blocks like LAYOUT/TABLE still\n // goes through the explicit block-target logic below.\n if (blockNode?.isTextblock && $from.depth === blockDepth) {\n const splitDepth = $from.depth - cardDepth + 1;\n\n if (dispatch) {\n if (!splitCardTransaction(tr, { splitPos: pos, splitDepth })) {\n return false;\n }\n tr.scrollIntoView();\n dispatch(tr);\n }\n\n return true;\n }\n\n const cardStart = $from.start(cardDepth);\n const cardNode = $from.node(cardDepth);\n const splitTarget = getCardSplitTargetAtPos($from, pos, cardDepth);\n if (!splitTarget) {\n const boundaryRedirect = redirectSplitForCardChildBoundary(tr, $from, cardDepth);\n if (boundaryRedirect) {\n if (dispatch) {\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n return false;\n }\n\n const { splitPos } = splitTarget;\n const splitBoundaryRedirect = redirectSplitForCardChildBoundary(\n tr,\n tr.doc.resolve(splitPos),\n cardDepth\n );\n if (splitBoundaryRedirect) {\n if (dispatch) {\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n\n const posInCard = splitPos - cardStart;\n if (posInCard <= 0 || posInCard >= cardNode.content.size) {\n return false;\n }\n\n if (dispatch) {\n if (!splitCardTransaction(tr, splitTarget)) {\n return false;\n }\n tr.scrollIntoView();\n dispatch(tr);\n }\n\n return true;\n },\n splitCardAtPos:\n (pos: number) =>\n ({ tr, dispatch, state }) => {\n const $pos = state.doc.resolve(pos);\n\n let cardDepth = -1;\n for (let d = $pos.depth; d >= 0; d--) {\n if ($pos.node(d).type.name === TIPTAP_CARD_TYPE) {\n cardDepth = d;\n break;\n }\n }\n\n if (cardDepth < 0) {\n return false;\n }\n\n // Inside CARD_HEADER / CARD_FOOTER: see the matching redirect in\n // `splitCard` above.\n const wrapperRedirect = redirectSplitForCardWrapper(tr, $pos, cardDepth);\n if (wrapperRedirect) {\n if (dispatch) {\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n\n const cardStart = $pos.start(cardDepth);\n const cardNode = $pos.node(cardDepth);\n\n const splitTarget = getCardSplitTargetAtPos($pos, pos, cardDepth);\n if (!splitTarget) {\n // Position is at the boundary between CARD children rather than\n // inside CARD_CONTENT. Detach a header/footer wrapper into a\n // sibling CARD so the split still succeeds without violating\n // the CARD schema.\n const boundaryRedirect = redirectSplitForCardChildBoundary(tr, $pos, cardDepth);\n if (boundaryRedirect) {\n if (dispatch) {\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n\n return false;\n }\n const { splitPos } = splitTarget;\n\n // A split target computed from inside CARD_CONTENT can still land\n // on the CARD's direct CONTENT|FOOTER or HEADER|CONTENT boundary.\n // Redirect those through the wrapper move instead of letting a\n // plain `tr.split` produce a CARD with an empty CARD_CONTENT.\n const boundaryRedirect = redirectSplitForCardChildBoundary(\n tr,\n tr.doc.resolve(splitPos),\n cardDepth\n );\n if (boundaryRedirect) {\n if (dispatch) {\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n\n // Don't split if it would create an empty card\n const posInCard = splitPos - cardStart;\n if (posInCard <= 0 || posInCard >= cardNode.content.size) {\n return false;\n }\n\n if (dispatch) {\n if (!splitCardTransaction(tr, splitTarget)) {\n return false;\n }\n tr.scrollIntoView();\n dispatch(tr);\n }\n\n return true;\n },\n mergeCardWithNext:\n (cardIndex: number) =>\n ({ state, dispatch }) => {\n const target = findCardAtIndex(state.doc, cardIndex);\n if (!target) {\n return false;\n }\n\n const { node: targetNode, pos: targetPos } = target;\n const nextCardPos = targetPos + targetNode.nodeSize;\n const nextNode = state.doc.nodeAt(nextCardPos);\n if (!nextNode || nextNode.type.name !== TIPTAP_CARD_TYPE) {\n return false;\n }\n\n if (!dispatch) {\n return true;\n }\n\n const tr = state.tr;\n\n // CARD's content schema is `CARD_HEADER? CARD_CONTENT CARD_FOOTER?`.\n // A naive depth-2 join would produce invalid structures whenever:\n // - the first card has a CARD_FOOTER (it'd end up before the\n // second card's CARD_CONTENT), or\n // - the second card has a CARD_HEADER (it'd end up after the\n // first card's CARD_CONTENT).\n // Demote those wrappers — strip the layout's banner attribute\n // and move the bare layout into the matching CARD_CONTENT\n // (footer → end of first's content, header → start of second's\n // content) — so the layout content survives the merge.\n demoteCardWrapper(tr, nextNode.attrs.id, TIPTAP_CARD_HEADER_TYPE, 'start');\n demoteCardWrapper(tr, targetNode.attrs.id, TIPTAP_CARD_FOOTER_TYPE, 'end');\n\n // After the demotions, the boundary between the two cards has\n // shifted. Use the mapped `nextCardPos` to locate it.\n const mappedNextCardPos = tr.mapping.map(nextCardPos);\n\n // Join the two CARDs at depth 2 so their inner CARD_CONTENT\n // children are also merged into a single content node. This\n // preserves block structure inside CARD_CONTENT and is the\n // clean inverse of splitCardAtPos for block-boundary splits.\n dispatch(tr.join(mappedNextCardPos, 2).scrollIntoView());\n return true;\n },\n };\n },\n\n addKeyboardShortcuts() {\n return {\n Backspace: () => {\n const { state } = this.editor;\n const { selection } = state;\n\n // Backspace at the start of an empty cell inside a CARD_HEADER /\n // CARD_FOOTER banner — when the banner has no content anywhere,\n // detach it (clears the wrapper, layout becomes regular).\n // Without this, Backspace is a no-op because the schema prevents\n // merging across the wrapper boundary.\n if (selection.empty && selection.$from.parentOffset === 0) {\n const detached = detachEmptyBannerOnBackspace(this.editor);\n if (detached) {\n return true;\n }\n }\n\n const cardNode = findParentNode(node => node.type.name === TIPTAP_CARD_TYPE)(selection);\n\n if (!cardNode) {\n return false;\n }\n\n // Check if card content is a single empty paragraph (no footer)\n const { node } = cardNode;\n const cardContent = node.firstChild;\n const isEmptyCard =\n node.childCount === 1 &&\n cardContent?.type.name === TIPTAP_CARD_CONTENT_TYPE &&\n cardContent.childCount === 1 &&\n cardContent.firstChild?.isTextblock &&\n cardContent.firstChild.content.size === 0;\n\n if (!isEmptyCard) {\n return false;\n }\n\n // Count cards and find the index of the current card by position\n let cardCount = 0;\n let cardIndex = -1;\n state.doc.descendants((n, pos) => {\n if (n.type.name === TIPTAP_CARD_TYPE) {\n if (pos === cardNode.pos) {\n cardIndex = cardCount;\n }\n cardCount++;\n return false;\n }\n });\n\n // Don't delete the last remaining card\n if (cardCount <= 1 || cardIndex === -1) {\n return false;\n }\n\n return this.editor.commands.deleteCard(cardIndex);\n },\n 'Mod-Enter': () => this.editor.commands.splitCard(),\n };\n },\n\n addProseMirrorPlugins() {\n const plugins = [createCardNormalizingTransactionPlugin(), createCardPastePlugin()];\n const getCardsApi = this.options.getCardsApi;\n const services = this.options._services;\n const formats: CardFormat[] = this.options.formats ?? [];\n const initialPageFormat: string | undefined = this.options.initialPageFormat;\n\n // Initialize storage from config\n const storage = this.editor.storage[TIPTAP_CARD_TYPE] as CardExtensionStorage;\n storage.formats = formats;\n if (initialPageFormat) {\n storage.activePageFormat = formats.find(f => f.name === initialPageFormat);\n }\n\n if (getCardsApi && services) {\n plugins.push(\n createCardsApiPlugin({\n getCardsApi,\n editor: this.editor,\n services,\n formats,\n })\n );\n }\n return plugins;\n },\n };\n },\n});\n\n/**\n * True iff every direct cell of `layoutNode` contains nothing but empty\n * textblocks. Used to decide whether a Backspace at the start of an empty\n * banner cell should detach the banner without destroying real content.\n */\nconst isBannerLayoutEmpty = (layoutNode: ProseMirrorNode): boolean => {\n let allEmpty = true;\n layoutNode.content.forEach(cell => {\n cell.content.forEach(child => {\n if (!child.isTextblock || child.content.size > 0) {\n allEmpty = false;\n }\n });\n });\n return allEmpty;\n};\n\n/**\n * Handle Backspace at the start of an empty cell that lives inside a\n * `CARD_HEADER` or `CARD_FOOTER` banner. The schema prevents merging across\n * the wrapper boundary, so a plain Backspace is a no-op and the user is\n * stuck. When the banner's cells are all empty, the natural intent is \"I\n * emptied the banner; remove it\" — invoke `setLayoutBanner` with\n * `undefined` to demote the layout back into `CARD_CONTENT` (or strip the\n * banner attr at doc level). Returns `true` if the case was handled so the\n * Backspace shortcut can stop here.\n */\nconst detachEmptyBannerOnBackspace = (editor: Editor): boolean => {\n const $from = editor.state.selection.$from;\n if (!$from.parent.isTextblock || $from.parent.content.size > 0) {\n return false;\n }\n\n for (let d = $from.depth - 1; d > 0; d--) {\n const node = $from.node(d);\n if (node.type.name !== TIPTAP_LAYOUT_TYPE) {\n continue;\n }\n const parentName = $from.node(d - 1).type.name;\n const isBannerWrapper =\n parentName === TIPTAP_CARD_HEADER_TYPE || parentName === TIPTAP_CARD_FOOTER_TYPE;\n if (!isBannerWrapper || !isBannerLayoutEmpty(node)) {\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (editor.commands as any).setLayoutBanner(node.attrs.id, undefined);\n }\n return false;\n};\n\n/**\n * Splitting through a CARD_HEADER or CARD_FOOTER ancestor would produce two\n * cards each missing CARD_CONTENT — schema-invalid, and splitting a banner\n * across pages isn't meaningful UX anyway. Instead, when the cursor sits\n * inside one of those wrappers, detach the wrapper from its card and place\n * it in a fresh sibling CARD. CARD's required CARD_CONTENT is auto-filled\n * via `createAndFill`, which a plain `tr.split` cannot do.\n * - Inside CARD_FOOTER → footer moves to a new card *after* the original.\n * - Inside CARD_HEADER → header moves to a new card *before* the original.\n *\n * Mutates `tr` and returns `true` on a hit so the caller can dispatch and\n * skip its own split logic.\n */\nconst redirectSplitForCardWrapper = (\n tr: Transaction,\n $pos: ResolvedPos,\n cardDepth: number\n): boolean => {\n for (let d = $pos.depth; d > cardDepth; d--) {\n const wrapperNode = $pos.node(d);\n const name = wrapperNode.type.name;\n if (name !== TIPTAP_CARD_HEADER_TYPE && name !== TIPTAP_CARD_FOOTER_TYPE) {\n continue;\n }\n\n const cardType = tr.doc.type.schema.nodes[TIPTAP_CARD_TYPE];\n // createAndFill adds the schema-required CARD_CONTENT next to the\n // wrapper so the new sibling CARD is valid (HEADER? CONTENT FOOTER?).\n const newCard = cardType.createAndFill(null, wrapperNode);\n if (!newCard) {\n return false;\n }\n\n const wrapperFromPos = $pos.before(d);\n const cardOuterPos =\n name === TIPTAP_CARD_FOOTER_TYPE ? $pos.after(cardDepth) : $pos.before(cardDepth);\n\n return moveCardWrapperToSibling(tr, wrapperNode, wrapperFromPos, cardOuterPos, newCard);\n }\n return false;\n};\n\nconst isListNode = (node: ProseMirrorNode): boolean =>\n node.type.name === Node_Type.BULLETED_LIST || node.type.name === Node_Type.ORDERED_LIST;\n\nconst getItemsBeforeListSplit = (\n listNode: ProseMirrorNode,\n listStart: number,\n splitPos: number\n) => {\n let itemsBeforeSplit = 0;\n listNode.forEach((_child, offset) => {\n if (listStart + offset < splitPos) {\n itemsBeforeSplit++;\n }\n });\n return itemsBeforeSplit;\n};\n\nconst getTargetListDepth = ($pos: ResolvedPos, topListDepth: number): number | undefined => {\n for (let depth = $pos.depth; depth >= topListDepth; depth--) {\n if (\n isListNode($pos.node(depth)) &&\n (depth === $pos.depth || $pos.node(depth + 1)?.type.name === Node_Type.LIST_ITEM)\n ) {\n return depth;\n }\n }\n return undefined;\n};\n\nconst getListVisibleOffset = (\n $pos: ResolvedPos,\n topListDepth: number,\n targetListDepth: number\n): number => {\n let offset = 0;\n let listCount = 0;\n\n for (let depth = topListDepth; depth <= targetListDepth; depth++) {\n const node = $pos.node(depth);\n if (isListNode(node)) {\n offset += node.attrs.offset ?? 0;\n listCount++;\n }\n }\n\n return offset + Math.max(0, listCount - 1);\n};\n\nconst getTrailingNestedListSplitTarget = (\n $pos: ResolvedPos,\n cardDepth: number,\n topListDepth: number,\n topListNode: ProseMirrorNode,\n topListItemIndex: number\n): CardSplitTarget | undefined => {\n let topListItem: ProseMirrorNode | undefined;\n let topListItemPos = -1;\n topListNode.forEach((child, offset, index) => {\n if (index === topListItemIndex) {\n topListItem = child;\n topListItemPos = $pos.start(topListDepth) + offset;\n }\n });\n\n if (!topListItem || topListItemPos === -1) {\n return undefined;\n }\n\n let targetListNode: ProseMirrorNode | undefined;\n let targetListIndex = -1;\n let targetListOffsetInTopItem = -1;\n topListItem.forEach((child, offset, index) => {\n if (isListNode(child)) {\n targetListNode = child;\n targetListIndex = index;\n targetListOffsetInTopItem = offset;\n }\n });\n\n if (!targetListNode || targetListIndex <= 0) {\n return undefined;\n }\n\n return {\n splitPos: topListItemPos + 1 + targetListOffsetInTopItem,\n splitDepth: 1,\n nestedListSplit: {\n cardPos: $pos.before(cardDepth),\n cardContentPos: $pos.before(cardDepth + 1),\n topListPos: $pos.before(topListDepth),\n topListItemIndex,\n targetListPos: topListItemPos + 1 + targetListOffsetInTopItem,\n targetListOffsetInTopItem,\n itemsBeforeSplit: 0,\n continuationOffset: (topListNode.attrs.offset ?? 0) + (targetListNode.attrs.offset ?? 0) + 1,\n ...(topListNode.type.name === Node_Type.ORDERED_LIST\n ? { outerOrderedListStart: topListNode.attrs.start + topListItemIndex + 1 }\n : {}),\n },\n ...(targetListNode.type.name === Node_Type.ORDERED_LIST\n ? { orderedListStart: targetListNode.attrs.start }\n : {}),\n };\n};\n\nconst isAtEndOfDeepNestedBranch = (\n $pos: ResolvedPos,\n directListDepth: number,\n targetListDepth: number,\n itemsBeforeSplit: number\n): boolean => {\n if (itemsBeforeSplit !== $pos.node(targetListDepth).childCount) {\n return false;\n }\n\n for (let depth = targetListDepth - 1; depth > directListDepth; depth -= 2) {\n if ($pos.index(depth) !== $pos.node(depth).childCount - 1) {\n return false;\n }\n }\n\n return true;\n};\n\nconst getDeepNestedListEndSplitTarget = (\n $pos: ResolvedPos,\n cardDepth: number,\n topListDepth: number,\n targetListDepth: number,\n itemsBeforeSplit: number\n): CardSplitTarget | undefined => {\n const directListDepth = topListDepth + 2;\n if (\n targetListDepth <= directListDepth ||\n !isListNode($pos.node(directListDepth)) ||\n !isAtEndOfDeepNestedBranch($pos, directListDepth, targetListDepth, itemsBeforeSplit)\n ) {\n return undefined;\n }\n\n const topListNode = $pos.node(topListDepth);\n const topListItemDepth = topListDepth + 1;\n const topListItemPos = $pos.before(topListItemDepth);\n const topListItemIndex = getItemsBeforeListSplit(\n topListNode,\n $pos.start(topListDepth),\n topListItemPos\n );\n const directListNode = $pos.node(directListDepth);\n const directListItemsBeforeSplit = $pos.index(directListDepth) + 1;\n const directListPos = $pos.before(directListDepth);\n\n return {\n splitPos: $pos.after(directListDepth + 1),\n splitDepth: 1,\n nestedListSplit: {\n cardPos: $pos.before(cardDepth),\n cardContentPos: $pos.before(cardDepth + 1),\n topListPos: $pos.before(topListDepth),\n topListItemIndex,\n targetListPos: directListPos,\n targetListOffsetInTopItem: directListPos - (topListItemPos + 1),\n itemsBeforeSplit: directListItemsBeforeSplit,\n continuationOffset: getListVisibleOffset($pos, topListDepth, directListDepth),\n ...(topListNode.type.name === Node_Type.ORDERED_LIST\n ? { outerOrderedListStart: topListNode.attrs.start + topListItemIndex + 1 }\n : {}),\n },\n ...(directListNode.type.name === Node_Type.ORDERED_LIST\n ? { orderedListStart: directListNode.attrs.start + directListItemsBeforeSplit }\n : {}),\n };\n};\n\nconst getListItemSplitTargetAtPos = (\n $pos: ResolvedPos,\n pos: number,\n cardDepth: number,\n topListDepth: number\n): CardSplitTarget | undefined => {\n const targetListDepth = getTargetListDepth($pos, topListDepth);\n if (targetListDepth === undefined) {\n return undefined;\n }\n\n const listNode = $pos.node(targetListDepth);\n const isAtListChildBoundary = $pos.depth === targetListDepth;\n const listItemDepth = targetListDepth + 1;\n const isAtListItemEnd = !isAtListChildBoundary && pos >= $pos.end(listItemDepth) - 1;\n const splitPos = isAtListChildBoundary\n ? pos\n : isAtListItemEnd\n ? $pos.after(listItemDepth)\n : $pos.before(listItemDepth);\n const itemsBeforeSplit = isAtListChildBoundary\n ? $pos.index(targetListDepth)\n : getItemsBeforeListSplit(listNode, $pos.start(targetListDepth), splitPos);\n\n if (isAtListChildBoundary && targetListDepth === topListDepth && itemsBeforeSplit > 0) {\n const trailingNestedListSplitTarget = getTrailingNestedListSplitTarget(\n $pos,\n cardDepth,\n topListDepth,\n listNode,\n itemsBeforeSplit - 1\n );\n if (trailingNestedListSplitTarget) {\n return trailingNestedListSplitTarget;\n }\n }\n\n if (targetListDepth > topListDepth) {\n const deepNestedListEndSplitTarget = getDeepNestedListEndSplitTarget(\n $pos,\n cardDepth,\n topListDepth,\n targetListDepth,\n itemsBeforeSplit\n );\n if (deepNestedListEndSplitTarget) {\n return deepNestedListEndSplitTarget;\n }\n\n const topListNode = $pos.node(topListDepth);\n const topListItemDepth = topListDepth + 1;\n const topListItemPos = $pos.before(topListItemDepth);\n const topListItemIndex = getItemsBeforeListSplit(\n topListNode,\n $pos.start(topListDepth),\n topListItemPos\n );\n\n return {\n splitPos,\n splitDepth: 1,\n nestedListSplit: {\n cardPos: $pos.before(cardDepth),\n cardContentPos: $pos.before(cardDepth + 1),\n topListPos: $pos.before(topListDepth),\n topListItemIndex,\n targetListPos: $pos.before(targetListDepth),\n targetListOffsetInTopItem: $pos.before(targetListDepth) - (topListItemPos + 1),\n itemsBeforeSplit,\n continuationOffset: getListVisibleOffset($pos, topListDepth, targetListDepth),\n ...(topListNode.type.name === Node_Type.ORDERED_LIST\n ? { outerOrderedListStart: topListNode.attrs.start + topListItemIndex + 1 }\n : {}),\n },\n ...(listNode.type.name === Node_Type.ORDERED_LIST\n ? { orderedListStart: listNode.attrs.start + itemsBeforeSplit }\n : {}),\n };\n }\n\n if (itemsBeforeSplit === 0) {\n return {\n splitPos: $pos.before(targetListDepth),\n splitDepth: 2,\n listSplit: {\n cardPos: $pos.before(cardDepth),\n cardContentPos: $pos.before(cardDepth + 1),\n listPos: $pos.before(topListDepth),\n itemsBeforeSplit,\n },\n };\n }\n\n if (itemsBeforeSplit === listNode.childCount) {\n return {\n splitPos: $pos.after(targetListDepth),\n splitDepth: 2,\n listSplit: {\n cardPos: $pos.before(cardDepth),\n cardContentPos: $pos.before(cardDepth + 1),\n listPos: $pos.before(topListDepth),\n itemsBeforeSplit,\n },\n };\n }\n\n return {\n splitPos,\n splitDepth: 1,\n listSplit: {\n cardPos: $pos.before(cardDepth),\n cardContentPos: $pos.before(cardDepth + 1),\n listPos: $pos.before(topListDepth),\n itemsBeforeSplit,\n },\n ...(listNode.type.name === Node_Type.ORDERED_LIST\n ? { orderedListStart: listNode.attrs.start + itemsBeforeSplit }\n : {}),\n };\n};\n\nexport const getCardSplitTargetAtPos = (\n $pos: ResolvedPos,\n pos: number,\n cardDepth: number\n): CardSplitTarget | undefined => {\n // Block-level child is nested under CARD_CONTENT (cardDepth + 1).\n const blockDepth = cardDepth + 2;\n\n if ($pos.depth === blockDepth - 1) {\n // Boundary between sibling blocks inside CARD_CONTENT\n // (e.g., before/after a DIVIDER, LAYOUT, or other non-text block).\n return {\n splitPos: pos,\n splitDepth: 2,\n };\n }\n\n const childNode = $pos.depth >= blockDepth ? $pos.node(blockDepth) : null;\n if (!childNode) {\n return undefined;\n }\n\n if (isListNode(childNode)) {\n const listItemSplitTarget = getListItemSplitTargetAtPos($pos, pos, cardDepth, blockDepth);\n if (listItemSplitTarget) {\n return listItemSplitTarget;\n }\n }\n\n const isInTextBlock = childNode.isTextblock;\n const offsetInBlock = pos - $pos.start(blockDepth);\n const atBlockStart = offsetInBlock === 0;\n const atBlockEnd = offsetInBlock === childNode.content.size;\n\n if (isInTextBlock && !atBlockStart && !atBlockEnd) {\n // Inside a text block — split at the cursor through all levels.\n return {\n splitPos: pos,\n splitDepth: $pos.depth - cardDepth + 1,\n };\n }\n\n if (!isInTextBlock) {\n // Non-text container blocks like LAYOUT / TABLE are treated as atomic:\n // if the sampled position lands anywhere inside them, split above by\n // default; only the block's last internal position maps to a split below.\n return {\n splitPos: atBlockEnd ? $pos.after(blockDepth) : $pos.before(blockDepth),\n splitDepth: 2,\n };\n }\n\n if (atBlockEnd) {\n // At the end of a text block — split right after it.\n return {\n splitPos: $pos.after(blockDepth),\n splitDepth: 2,\n };\n }\n\n if (atBlockStart) {\n // At the start of a text block — split right before it.\n return {\n splitPos: $pos.before(blockDepth),\n splitDepth: 2,\n };\n }\n\n return undefined;\n};\n\n/**\n * A click on the visual page boundary can resolve to the boundary between the\n * CARD's direct children instead of a block boundary inside CARD_CONTENT:\n * - HEADER | CONTENT\n * - CONTENT | FOOTER\n *\n * Those positions can't be handled with a plain `tr.split` because CARD's\n * schema requires CARD_CONTENT. Mirror the wrapper redirect above by moving\n * the adjacent header/footer wrapper into a fresh sibling CARD.\n */\nexport const redirectSplitForCardChildBoundary = (\n tr: Transaction,\n $pos: ResolvedPos,\n cardDepth: number\n): boolean => {\n const cardNode = $pos.node(cardDepth);\n const cardStart = $pos.start(cardDepth);\n const boundaryOffset = $pos.pos - cardStart;\n\n if (boundaryOffset <= 0 || boundaryOffset >= cardNode.content.size) {\n return false;\n }\n\n let beforeBoundary: { node: ProseMirrorNode; pos: number } | undefined;\n let afterBoundary: { node: ProseMirrorNode; pos: number } | undefined;\n\n cardNode.forEach((child, offset) => {\n const childPos = cardStart + offset;\n if (!beforeBoundary && offset + child.nodeSize === boundaryOffset) {\n beforeBoundary = { node: child, pos: childPos };\n }\n if (!afterBoundary && offset === boundaryOffset) {\n afterBoundary = { node: child, pos: childPos };\n }\n });\n\n if (beforeBoundary?.node.type.name === TIPTAP_CARD_HEADER_TYPE) {\n return moveCardWrapperToSibling(\n tr,\n beforeBoundary.node,\n beforeBoundary.pos,\n $pos.before(cardDepth)\n );\n }\n\n if (afterBoundary?.node.type.name === TIPTAP_CARD_FOOTER_TYPE) {\n return moveCardWrapperToSibling(\n tr,\n afterBoundary.node,\n afterBoundary.pos,\n $pos.after(cardDepth)\n );\n }\n\n return false;\n};\n\nconst moveCardWrapperToSibling = (\n tr: Transaction,\n wrapperNode: ProseMirrorNode,\n wrapperPos: number,\n cardOuterPos: number,\n newCard = tr.doc.type.schema.nodes[TIPTAP_CARD_TYPE].createAndFill(null, wrapperNode)\n): boolean => {\n if (!newCard) {\n return false;\n }\n\n tr.delete(wrapperPos, wrapperPos + wrapperNode.nodeSize);\n tr.insert(tr.mapping.map(cardOuterPos), newCard);\n return true;\n};\n\nconst splitCardTransaction = (tr: Transaction, splitTarget: CardSplitTarget): boolean => {\n if (splitTarget.listSplit) {\n return splitCardAtListItem(tr, splitTarget);\n }\n\n if (splitTarget.nestedListSplit) {\n return splitCardAtNestedListItem(tr, splitTarget);\n }\n\n try {\n tr.split(splitTarget.splitPos, splitTarget.splitDepth);\n return true;\n } catch {\n return false;\n }\n};\n\nconst getNodeChildren = (node: ProseMirrorNode): ProseMirrorNode[] => {\n const children: ProseMirrorNode[] = [];\n node.forEach(child => children.push(child));\n return children;\n};\n\nconst createListWithChildren = (\n listNode: ProseMirrorNode,\n children: ProseMirrorNode[],\n attrs = listNode.attrs\n): ProseMirrorNode => listNode.type.create(attrs, Fragment.fromArray(children));\n\nconst createListWithChildrenIfAny = (\n listNode: ProseMirrorNode,\n children: ProseMirrorNode[],\n attrs = listNode.attrs\n): ProseMirrorNode | undefined =>\n children.length > 0 ? createListWithChildren(listNode, children, attrs) : undefined;\n\nconst createNestedContinuationSibling = (\n topListNode: ProseMirrorNode,\n child: ProseMirrorNode\n): ProseMirrorNode => {\n if (!isListNode(child)) {\n return child;\n }\n\n return createListWithChildren(child, getNodeChildren(child), {\n ...child.attrs,\n offset: (topListNode.attrs.offset ?? 0) + (child.attrs.offset ?? 0) + 1,\n });\n};\n\nconst splitCardAtListItem = (tr: Transaction, splitTarget: CardSplitTarget): boolean => {\n const listSplit = splitTarget.listSplit;\n if (!listSplit) {\n return false;\n }\n\n const cardNode = tr.doc.nodeAt(listSplit.cardPos);\n const cardContentNode = tr.doc.nodeAt(listSplit.cardContentPos);\n const listNode = tr.doc.nodeAt(listSplit.listPos);\n\n if (!cardNode || !cardContentNode || !listNode) {\n return false;\n }\n\n const cardChildren = getNodeChildren(cardNode);\n const cardContentIndex = cardChildren.findIndex(child => child === cardContentNode);\n const cardContentChildren = getNodeChildren(cardContentNode);\n const listIndex = cardContentChildren.findIndex(child => child === listNode);\n\n if (cardContentIndex === -1 || listIndex === -1) {\n return false;\n }\n\n const listChildren = getNodeChildren(listNode);\n const beforeList = createListWithChildrenIfAny(\n listNode,\n listChildren.slice(0, listSplit.itemsBeforeSplit)\n );\n const afterListAttrs =\n splitTarget.orderedListStart === undefined\n ? listNode.attrs\n : { ...listNode.attrs, start: splitTarget.orderedListStart };\n const afterList = createListWithChildrenIfAny(\n listNode,\n listChildren.slice(listSplit.itemsBeforeSplit),\n afterListAttrs\n );\n const firstContentChildren = [\n ...cardContentChildren.slice(0, listIndex),\n ...(beforeList ? [beforeList] : []),\n ];\n const secondContentChildren = [\n ...(afterList ? [afterList] : []),\n ...cardContentChildren.slice(listIndex + 1),\n ];\n\n if (firstContentChildren.length === 0 || secondContentChildren.length === 0) {\n return false;\n }\n\n const firstContent = cardContentNode.type.create(\n cardContentNode.attrs,\n Fragment.fromArray(firstContentChildren)\n );\n const secondContent = cardContentNode.type.create(\n cardContentNode.attrs,\n Fragment.fromArray(secondContentChildren)\n );\n\n const firstCard = cardNode.type.create(\n cardNode.attrs,\n Fragment.fromArray([...cardChildren.slice(0, cardContentIndex), firstContent])\n );\n const secondCard = cardNode.type.create(\n cardNode.attrs,\n Fragment.fromArray([secondContent, ...cardChildren.slice(cardContentIndex + 1)])\n );\n\n tr.replaceWith(\n listSplit.cardPos,\n listSplit.cardPos + cardNode.nodeSize,\n Fragment.fromArray([firstCard, secondCard])\n );\n return true;\n};\n\nconst splitCardAtNestedListItem = (tr: Transaction, splitTarget: CardSplitTarget): boolean => {\n const listSplit = splitTarget.nestedListSplit;\n if (!listSplit) {\n return false;\n }\n\n const cardNode = tr.doc.nodeAt(listSplit.cardPos);\n const cardContentNode = tr.doc.nodeAt(listSplit.cardContentPos);\n const topListNode = tr.doc.nodeAt(listSplit.topListPos);\n const targetListNode = tr.doc.nodeAt(listSplit.targetListPos);\n\n if (!cardNode || !cardContentNode || !topListNode || !targetListNode) {\n return false;\n }\n\n const cardChildren = getNodeChildren(cardNode);\n const cardContentIndex = cardChildren.findIndex(child => child === cardContentNode);\n const cardContentChildren = getNodeChildren(cardContentNode);\n const topListIndex = cardContentChildren.findIndex(child => child === topListNode);\n const topListChildren = getNodeChildren(topListNode);\n const topListItem = topListChildren[listSplit.topListItemIndex];\n\n if (cardContentIndex === -1 || topListIndex === -1 || !topListItem) {\n return false;\n }\n\n const topListItemChildren = getNodeChildren(topListItem);\n let targetListIndex = -1;\n topListItem.forEach((child, offset, index) => {\n if (offset === listSplit.targetListOffsetInTopItem && child.type === targetListNode.type) {\n targetListIndex = index;\n }\n });\n\n if (targetListIndex === -1) {\n return false;\n }\n\n const targetListChildren = getNodeChildren(targetListNode);\n const beforeTargetList = createListWithChildrenIfAny(\n targetListNode,\n targetListChildren.slice(0, listSplit.itemsBeforeSplit)\n );\n const afterTargetListAttrs =\n splitTarget.orderedListStart === undefined\n ? { ...targetListNode.attrs, offset: listSplit.continuationOffset }\n : {\n ...targetListNode.attrs,\n offset: listSplit.continuationOffset,\n start: splitTarget.orderedListStart,\n };\n const afterTargetList = createListWithChildrenIfAny(\n targetListNode,\n targetListChildren.slice(listSplit.itemsBeforeSplit),\n afterTargetListAttrs\n );\n\n const firstTopListItemChildren = [\n ...topListItemChildren.slice(0, targetListIndex),\n ...(beforeTargetList ? [beforeTargetList] : []),\n ];\n const firstTopListItem = topListItem.type.create(\n topListItem.attrs,\n Fragment.fromArray(firstTopListItemChildren)\n );\n const firstTopList = createListWithChildren(topListNode, [\n ...topListChildren.slice(0, listSplit.topListItemIndex),\n firstTopListItem,\n ]);\n\n const secondContentChildren: ProseMirrorNode[] = [];\n if (afterTargetList) {\n secondContentChildren.push(afterTargetList);\n }\n secondContentChildren.push(\n ...topListItemChildren\n .slice(targetListIndex + 1)\n .map(child => createNestedContinuationSibling(topListNode, child))\n );\n const outerSuffixList = createListWithChildrenIfAny(\n topListNode,\n topListChildren.slice(listSplit.topListItemIndex + 1),\n listSplit.outerOrderedListStart === undefined\n ? topListNode.attrs\n : { ...topListNode.attrs, start: listSplit.outerOrderedListStart }\n );\n\n if (outerSuffixList) {\n secondContentChildren.push(outerSuffixList);\n }\n secondContentChildren.push(...cardContentChildren.slice(topListIndex + 1));\n\n if (secondContentChildren.length === 0) {\n return false;\n }\n\n const firstContent = cardContentNode.type.create(\n cardContentNode.attrs,\n Fragment.fromArray([...cardContentChildren.slice(0, topListIndex), firstTopList])\n );\n const secondContent = cardContentNode.type.create(\n cardContentNode.attrs,\n Fragment.fromArray(secondContentChildren)\n );\n\n const firstCard = cardNode.type.create(\n cardNode.attrs,\n Fragment.fromArray([...cardChildren.slice(0, cardContentIndex), firstContent])\n );\n const secondCard = cardNode.type.create(\n cardNode.attrs,\n Fragment.fromArray([secondContent, ...cardChildren.slice(cardContentIndex + 1)])\n );\n\n tr.replaceWith(\n listSplit.cardPos,\n listSplit.cardPos + cardNode.nodeSize,\n Fragment.fromArray([firstCard, secondCard])\n );\n return true;\n};\n\n/**\n * Demote a CARD_HEADER / CARD_FOOTER inside the card identified by `cardId`:\n * - extract the layout it wraps,\n * - strip the layout's `banner` attribute,\n * - delete the wrapper itself,\n * - re-insert the bare layout at the start (`'start'`) or end (`'end'`) of\n * the card's CARD_CONTENT.\n *\n * No-op when the wrapper isn't present. Mutates `tr`.\n */\nconst demoteCardWrapper = (\n tr: Transaction,\n cardId: string,\n wrapperType: typeof TIPTAP_CARD_HEADER_TYPE | typeof TIPTAP_CARD_FOOTER_TYPE,\n insertAt: 'start' | 'end'\n): void => {\n const card = findNodeById(tr, cardId)[0];\n if (!card) {\n return;\n }\n\n let wrapperPos = -1;\n let wrapperSize = -1;\n let layoutJson: Record<string, unknown> | undefined;\n card.node.forEach((child, offset) => {\n if (child.type.name !== wrapperType || wrapperPos !== -1) {\n return;\n }\n const layoutInside = child.firstChild;\n if (!layoutInside) {\n return;\n }\n wrapperPos = card.pos + 1 + offset;\n wrapperSize = child.nodeSize;\n const json = layoutInside.toJSON() as { attrs?: Record<string, unknown> };\n layoutJson = {\n ...json,\n attrs: { ...(json.attrs ?? {}), banner: undefined },\n };\n });\n if (wrapperPos === -1 || !layoutJson) {\n return;\n }\n\n tr.delete(wrapperPos, wrapperPos + wrapperSize);\n\n // Re-find the card after deletion — its position and content layout\n // shifted. Then locate the inner edge of CARD_CONTENT to insert at.\n const cardAfter = findNodeById(tr, cardId)[0];\n if (!cardAfter) {\n return;\n }\n\n let target = -1;\n cardAfter.node.forEach((child, offset) => {\n if (child.type.name !== TIPTAP_CARD_CONTENT_TYPE || target !== -1) {\n return;\n }\n const innerStart = cardAfter.pos + 1 + offset + 1;\n const innerEnd = cardAfter.pos + 1 + offset + child.nodeSize - 1;\n target = insertAt === 'start' ? innerStart : innerEnd;\n });\n if (target === -1) {\n return;\n }\n\n tr.insert(target, tr.doc.type.schema.nodeFromJSON(layoutJson));\n};\n\nconst findCardAtIndex = (\n doc: ProseMirrorNode,\n cardIndex: number\n): { node: ProseMirrorNode; pos: number } | undefined => {\n let currentCardIndex = 0;\n let result: { node: ProseMirrorNode; pos: number } | undefined;\n\n doc.forEach((node, offset) => {\n if (node.type.name !== TIPTAP_CARD_TYPE) {\n return;\n }\n\n if (currentCardIndex === cardIndex) {\n result = { node, pos: offset };\n }\n\n currentCardIndex++;\n });\n\n return result;\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
4
|
+
"sourcesContent": ["import {\n TIPTAP_CARD_CONTENT_TYPE,\n TIPTAP_CARD_FOOTER_TYPE,\n TIPTAP_CARD_HEADER_TYPE,\n TIPTAP_CARD_TYPE,\n TIPTAP_LAYOUT_TYPE,\n} from './../ricos-content/index.js';\nimport { Node_Type } from './../ricos-schema/legacy/wix/rich_content/v1/index.js';\nimport type { NodeConfig, RicosExtension, ExtensionProps } from './../ricos-types/index.js';\nimport { findParentNode, type Editor } from './../tiptap/core/index.js';\nimport { Fragment, type Node as ProseMirrorNode, type ResolvedPos } from './../tiptap/pm/model.js';\nimport { Selection, type Transaction } from './../tiptap/pm/state.js';\nimport { createRicosNodeExtension } from './../plugin-commons/index.js';\nimport { findNodeById } from './../tiptap-editor/helpers/index.js';\nimport type { TiptapAdapterServices } from './../tiptap-editor/initialize-tiptap-adapter.js';\n\nimport { createCardNodeView } from './card-node-view.js';\nimport { createCardNormalizingTransactionPlugin } from './card-normalizing.js';\nimport { createCardPastePlugin } from './card-paste-plugin.js';\nimport { createCardsApiPlugin } from './cards-api-plugin.js';\nimport type { CardFormat, CardExtensionStorage } from './types.js';\n\ntype CardSplitTarget = {\n splitPos: number;\n splitDepth: number;\n orderedListStart?: number;\n listSplit?: {\n cardPos: number;\n cardContentPos: number;\n listPos: number;\n itemsBeforeSplit: number;\n };\n nestedListSplit?: {\n cardPos: number;\n cardContentPos: number;\n topListPos: number;\n topListItemIndex: number;\n targetListPos: number;\n targetListOffsetInTopItem: number;\n itemsBeforeSplit: number;\n continuationOffset: number;\n outerOrderedListStart?: number;\n };\n};\n\ndeclare module './../tiptap/core' {\n interface Commands<ReturnType> {\n [TIPTAP_CARD_TYPE]: {\n /**\n * Insert a card node\n */\n insertCard: () => ReturnType;\n /**\n * Add a card after a specific card index\n */\n addCardAfter: (index: number) => ReturnType;\n /**\n * Duplicate a card at a specific index\n */\n duplicateCard: (index: number) => ReturnType;\n /**\n * Delete a card at a specific index\n */\n deleteCard: (index: number) => ReturnType;\n /**\n * Move a card from one index to another.\n */\n moveCard: (fromIndex: number, toIndex: number) => ReturnType;\n /**\n * Select a card at a specific index (sets cursor at start of card)\n */\n selectCard: (index: number) => ReturnType;\n /**\n * Split the current card at the cursor position.\n * Content before the cursor stays in the current card,\n * content after the cursor moves to a new card.\n */\n splitCard: () => ReturnType;\n /**\n * Split the card at a specific document position.\n */\n splitCardAtPos: (pos: number) => ReturnType;\n /**\n * Merge the card at the given index with the next card by joining the\n * two cards' children into a single CARD. Block structure is preserved\n * as-is — the boundary between the last block of the current card and\n * the first block of the next card stays intact so the round trip with\n * splitCardAtPos at that boundary is deterministic.\n */\n mergeCardWithNext: (cardIndex: number) => ReturnType;\n };\n }\n}\n\nexport const cardExtension = createRicosNodeExtension({\n name: TIPTAP_CARD_TYPE,\n groups: ['no-trailing-node', 'shortcuts-enabled'],\n type: 'html-node',\n reconfigure: (\n config: NodeConfig,\n _extensions: RicosExtension[],\n _props: ExtensionProps,\n settings: Record<string, unknown>,\n services: TiptapAdapterServices\n ) => ({\n ...config,\n addOptions() {\n return {\n ...settings,\n _services: services,\n };\n },\n }),\n\n createExtensionConfig() {\n return {\n name: this.name,\n isolating: true,\n group: 'block',\n selectable: true,\n draggable: false,\n content: `${TIPTAP_CARD_HEADER_TYPE}? ${TIPTAP_CARD_CONTENT_TYPE} ${TIPTAP_CARD_FOOTER_TYPE}?`,\n\n addStorage(): CardExtensionStorage {\n return {\n activePageFormat: undefined,\n formats: [],\n onPageFormatChange: new Set(),\n pendingCardInsertions: [],\n onPendingCardInsertionsChange: new Set(),\n };\n },\n\n parseHTML() {\n return [];\n },\n\n renderHTML() {\n return ['div', 0];\n },\n\n addNodeView() {\n const services = this.options._services as TiptapAdapterServices | undefined;\n return createCardNodeView({\n renderCardHeader: this.options.renderCardHeader,\n renderAddPageButton: this.options.renderAddPageButton,\n isMobile: services?.context.isMobile,\n getBoundaryWarningPortal: this.options.getBoundaryWarningPortal,\n showPageControls: this.options.showPageControls,\n });\n },\n\n addAttributes: () => ({\n containerData: null,\n background: { default: undefined },\n backgroundImage: { default: undefined },\n loading: { default: undefined },\n }),\n\n addCommands() {\n return {\n insertCard:\n () =>\n ({ commands }) => {\n return commands.insertContent({\n type: TIPTAP_CARD_TYPE,\n content: [\n {\n type: TIPTAP_CARD_CONTENT_TYPE,\n content: [{ type: 'PARAGRAPH' }],\n },\n ],\n });\n },\n addCardAfter:\n (index: number) =>\n ({ editor, chain }) => {\n const { doc } = editor.state;\n let cardCount = 0;\n let insertPos: number | null = null;\n\n // Find the position after the card at the given index\n doc.descendants((node, pos) => {\n // Skip if we already found the target\n if (insertPos !== null) {\n return false;\n }\n if (node.type.name === TIPTAP_CARD_TYPE) {\n if (cardCount === index) {\n insertPos = pos + node.nodeSize;\n return false;\n }\n cardCount++;\n }\n return true;\n });\n\n // If no card found at index, insert at end of document\n if (insertPos === null) {\n insertPos = doc.content.size;\n }\n\n return chain()\n .insertContentAt(insertPos, {\n type: TIPTAP_CARD_TYPE,\n content: [\n {\n type: TIPTAP_CARD_CONTENT_TYPE,\n content: [{ type: 'PARAGRAPH' }],\n },\n ],\n })\n .focus()\n .run();\n },\n duplicateCard:\n (index: number) =>\n ({ editor, chain }) => {\n const { doc } = editor.state;\n let cardCount = 0;\n let targetPos: number | null = null;\n let targetNode: ProseMirrorNode | null = null;\n\n // Find the card at the given index\n doc.descendants((node, pos) => {\n // Skip if we already found the target\n if (targetPos !== null) {\n return false;\n }\n if (node.type.name === TIPTAP_CARD_TYPE) {\n if (cardCount === index) {\n targetPos = pos;\n targetNode = node;\n return false;\n }\n cardCount++;\n }\n return true;\n });\n\n if (targetPos === null || targetNode === null) {\n return false;\n }\n\n const insertPos = targetPos + (targetNode as ProseMirrorNode).nodeSize;\n const duplicatedContent = (targetNode as ProseMirrorNode).toJSON();\n\n return chain().insertContentAt(insertPos, duplicatedContent).focus().run();\n },\n deleteCard:\n (index: number) =>\n ({ editor, chain }) => {\n const { doc } = editor.state;\n let cardCount = 0;\n let targetPos: number | null = null;\n let targetNode: ProseMirrorNode | null = null;\n\n // Find the card at the given index\n doc.descendants((node, pos) => {\n // Skip if we already found the target\n if (targetPos !== null) {\n return false;\n }\n if (node.type.name === TIPTAP_CARD_TYPE) {\n if (cardCount === index) {\n targetPos = pos;\n targetNode = node;\n return false;\n }\n cardCount++;\n }\n return true;\n });\n\n if (targetPos === null || targetNode === null) {\n return false;\n }\n\n const deleteFrom = targetPos as number;\n const deleteTo = deleteFrom + (targetNode as ProseMirrorNode).nodeSize;\n\n return chain().deleteRange({ from: deleteFrom, to: deleteTo }).focus().run();\n },\n moveCard:\n (fromIndex: number, toIndex: number) =>\n ({ state, tr, dispatch, editor }) => {\n if (fromIndex === toIndex) {\n return false;\n }\n\n const sourceCard = findCardAtIndex(state.doc, fromIndex);\n const targetCard = findCardAtIndex(state.doc, toIndex);\n\n if (!sourceCard || !targetCard) {\n return false;\n }\n\n const { node: sourceNode, pos: sourcePos } = sourceCard;\n const insertPos =\n fromIndex < toIndex\n ? targetCard.pos + targetCard.node.nodeSize - sourceNode.nodeSize\n : targetCard.pos;\n\n tr.delete(sourcePos, sourcePos + sourceNode.nodeSize);\n tr.insert(insertPos, sourceNode);\n\n if (dispatch) {\n dispatch(tr);\n }\n\n editor.commands.focus();\n return true;\n },\n selectCard:\n (index: number) =>\n ({ editor, tr, dispatch }) => {\n const { doc } = editor.state;\n let cardCount = 0;\n let targetPos: number | null = null;\n\n // Find the card at the given index\n doc.descendants((node, pos) => {\n // Skip if we already found the target\n if (targetPos !== null) {\n return false;\n }\n if (node.type.name === TIPTAP_CARD_TYPE) {\n if (cardCount === index) {\n targetPos = pos;\n return false;\n }\n cardCount++;\n }\n return true;\n });\n\n if (targetPos === null) {\n return false;\n }\n\n // Use Selection.near to find the nearest valid cursor position inside the card\n const $pos = doc.resolve(targetPos + 1);\n const selection = Selection.near($pos);\n\n if (dispatch) {\n tr.setSelection(selection);\n dispatch(tr);\n }\n\n if (!editor.isFocused) {\n editor.commands.focus();\n }\n return true;\n },\n splitCard:\n () =>\n ({ tr, dispatch }) => {\n const $from = tr.selection.$from;\n const pos = $from.pos;\n\n // Find the card depth in the resolved position\n let cardDepth = -1;\n for (let d = $from.depth; d >= 0; d--) {\n if ($from.node(d).type.name === TIPTAP_CARD_TYPE) {\n cardDepth = d;\n break;\n }\n }\n\n if (cardDepth < 0) {\n return false;\n }\n\n // If the cursor is inside CARD_HEADER or CARD_FOOTER, redirect\n // the split to the wrapper's outer boundary so the wrapper stays\n // intact in one of the resulting cards (splitting through it\n // would produce schema-invalid cards).\n const wrapperRedirect = redirectSplitForCardWrapper(tr, $from, cardDepth);\n if (wrapperRedirect) {\n if (dispatch) {\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n\n const blockDepth = cardDepth + 2;\n const blockNode = $from.depth >= blockDepth ? $from.node(blockDepth) : null;\n\n // Preserve the original cursor-split behavior for direct text\n // blocks in CARD_CONTENT. This keeps Mod-Enter at the end of a\n // paragraph creating a new empty card via the textblock split,\n // while nested text inside atomic blocks like LAYOUT/TABLE still\n // goes through the explicit block-target logic below.\n if (blockNode?.isTextblock && $from.depth === blockDepth) {\n const splitDepth = $from.depth - cardDepth + 1;\n\n if (dispatch) {\n if (!splitCardTransaction(tr, { splitPos: pos, splitDepth })) {\n return false;\n }\n tr.scrollIntoView();\n dispatch(tr);\n }\n\n return true;\n }\n\n const cardStart = $from.start(cardDepth);\n const cardNode = $from.node(cardDepth);\n const splitTarget = getCardSplitTargetAtPos($from, pos, cardDepth);\n if (!splitTarget) {\n const boundaryRedirect = redirectSplitForCardChildBoundary(tr, $from, cardDepth);\n if (boundaryRedirect) {\n if (dispatch) {\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n return false;\n }\n\n const { splitPos } = splitTarget;\n const splitBoundaryRedirect = redirectSplitForCardChildBoundary(\n tr,\n tr.doc.resolve(splitPos),\n cardDepth\n );\n if (splitBoundaryRedirect) {\n if (dispatch) {\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n\n const posInCard = splitPos - cardStart;\n if (posInCard <= 0 || posInCard >= cardNode.content.size) {\n return false;\n }\n\n if (dispatch) {\n if (!splitCardTransaction(tr, splitTarget)) {\n return false;\n }\n tr.scrollIntoView();\n dispatch(tr);\n }\n\n return true;\n },\n splitCardAtPos:\n (pos: number) =>\n ({ tr, dispatch, state }) => {\n const $pos = state.doc.resolve(pos);\n\n let cardDepth = -1;\n for (let d = $pos.depth; d >= 0; d--) {\n if ($pos.node(d).type.name === TIPTAP_CARD_TYPE) {\n cardDepth = d;\n break;\n }\n }\n\n if (cardDepth < 0) {\n return false;\n }\n\n // Inside CARD_HEADER / CARD_FOOTER: see the matching redirect in\n // `splitCard` above.\n const wrapperRedirect = redirectSplitForCardWrapper(tr, $pos, cardDepth);\n if (wrapperRedirect) {\n if (dispatch) {\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n\n const cardStart = $pos.start(cardDepth);\n const cardNode = $pos.node(cardDepth);\n\n const splitTarget = getCardSplitTargetAtPos($pos, pos, cardDepth);\n if (!splitTarget) {\n // Position is at the boundary between CARD children rather than\n // inside CARD_CONTENT. Detach a header/footer wrapper into a\n // sibling CARD so the split still succeeds without violating\n // the CARD schema.\n const boundaryRedirect = redirectSplitForCardChildBoundary(tr, $pos, cardDepth);\n if (boundaryRedirect) {\n if (dispatch) {\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n\n return false;\n }\n const { splitPos } = splitTarget;\n\n // A split target computed from inside CARD_CONTENT can still land\n // on the CARD's direct CONTENT|FOOTER or HEADER|CONTENT boundary.\n // Redirect those through the wrapper move instead of letting a\n // plain `tr.split` produce a CARD with an empty CARD_CONTENT.\n const boundaryRedirect = redirectSplitForCardChildBoundary(\n tr,\n tr.doc.resolve(splitPos),\n cardDepth\n );\n if (boundaryRedirect) {\n if (dispatch) {\n dispatch(tr.scrollIntoView());\n }\n return true;\n }\n\n // Don't split if it would create an empty card\n const posInCard = splitPos - cardStart;\n if (posInCard <= 0 || posInCard >= cardNode.content.size) {\n return false;\n }\n\n if (dispatch) {\n if (!splitCardTransaction(tr, splitTarget)) {\n return false;\n }\n tr.scrollIntoView();\n dispatch(tr);\n }\n\n return true;\n },\n mergeCardWithNext:\n (cardIndex: number) =>\n ({ state, dispatch }) => {\n const target = findCardAtIndex(state.doc, cardIndex);\n if (!target) {\n return false;\n }\n\n const { node: targetNode, pos: targetPos } = target;\n const nextCardPos = targetPos + targetNode.nodeSize;\n const nextNode = state.doc.nodeAt(nextCardPos);\n if (!nextNode || nextNode.type.name !== TIPTAP_CARD_TYPE) {\n return false;\n }\n\n if (!dispatch) {\n return true;\n }\n\n const tr = state.tr;\n\n // CARD's content schema is `CARD_HEADER? CARD_CONTENT CARD_FOOTER?`.\n // A naive depth-2 join would produce invalid structures whenever:\n // - the first card has a CARD_FOOTER (it'd end up before the\n // second card's CARD_CONTENT), or\n // - the second card has a CARD_HEADER (it'd end up after the\n // first card's CARD_CONTENT).\n // Demote those wrappers — strip the layout's banner attribute\n // and move the bare layout into the matching CARD_CONTENT\n // (footer → end of first's content, header → start of second's\n // content) — so the layout content survives the merge.\n demoteCardWrapper(tr, nextNode.attrs.id, TIPTAP_CARD_HEADER_TYPE, 'start');\n demoteCardWrapper(tr, targetNode.attrs.id, TIPTAP_CARD_FOOTER_TYPE, 'end');\n\n // After the demotions, the boundary between the two cards has\n // shifted. Use the mapped `nextCardPos` to locate it.\n const mappedNextCardPos = tr.mapping.map(nextCardPos);\n\n // Join the two CARDs at depth 2 so their inner CARD_CONTENT\n // children are also merged into a single content node. This\n // preserves block structure inside CARD_CONTENT and is the\n // clean inverse of splitCardAtPos for block-boundary splits.\n dispatch(tr.join(mappedNextCardPos, 2).scrollIntoView());\n return true;\n },\n };\n },\n\n addKeyboardShortcuts() {\n return {\n Backspace: () => {\n const { state } = this.editor;\n const { selection } = state;\n\n // Backspace at the start of an empty cell inside a CARD_HEADER /\n // CARD_FOOTER banner — when the banner has no content anywhere,\n // detach it (clears the wrapper, layout becomes regular).\n // Without this, Backspace is a no-op because the schema prevents\n // merging across the wrapper boundary.\n if (selection.empty && selection.$from.parentOffset === 0) {\n const detached = detachEmptyBannerOnBackspace(this.editor);\n if (detached) {\n return true;\n }\n }\n\n const cardNode = findParentNode(node => node.type.name === TIPTAP_CARD_TYPE)(selection);\n\n if (!cardNode) {\n return false;\n }\n\n // Check if card content is a single empty paragraph (no footer)\n const { node } = cardNode;\n const cardContent = node.firstChild;\n const isEmptyCard =\n node.childCount === 1 &&\n cardContent?.type.name === TIPTAP_CARD_CONTENT_TYPE &&\n cardContent.childCount === 1 &&\n cardContent.firstChild?.isTextblock &&\n cardContent.firstChild.content.size === 0;\n\n if (!isEmptyCard) {\n return false;\n }\n\n // Count cards and find the index of the current card by position\n let cardCount = 0;\n let cardIndex = -1;\n state.doc.descendants((n, pos) => {\n if (n.type.name === TIPTAP_CARD_TYPE) {\n if (pos === cardNode.pos) {\n cardIndex = cardCount;\n }\n cardCount++;\n return false;\n }\n });\n\n // Don't delete the last remaining card\n if (cardCount <= 1 || cardIndex === -1) {\n return false;\n }\n\n return this.editor.commands.deleteCard(cardIndex);\n },\n 'Mod-Enter': () => this.editor.commands.splitCard(),\n };\n },\n\n addProseMirrorPlugins() {\n const plugins = [createCardNormalizingTransactionPlugin(), createCardPastePlugin()];\n const getCardsApi = this.options.getCardsApi;\n const services = this.options._services;\n const formats: CardFormat[] = this.options.formats ?? [];\n const initialPageFormat: string | undefined = this.options.initialPageFormat;\n\n // Initialize storage from config\n const storage = this.editor.storage[TIPTAP_CARD_TYPE] as CardExtensionStorage;\n storage.formats = formats;\n if (initialPageFormat) {\n storage.activePageFormat = formats.find(f => f.name === initialPageFormat);\n }\n\n if (getCardsApi && services) {\n plugins.push(\n createCardsApiPlugin({\n getCardsApi,\n editor: this.editor,\n services,\n formats,\n })\n );\n }\n return plugins;\n },\n };\n },\n});\n\n/**\n * True iff every direct cell of `layoutNode` contains nothing but empty\n * textblocks. Used to decide whether a Backspace at the start of an empty\n * banner cell should detach the banner without destroying real content.\n */\nconst isBannerLayoutEmpty = (layoutNode: ProseMirrorNode): boolean => {\n let allEmpty = true;\n layoutNode.content.forEach(cell => {\n cell.content.forEach(child => {\n if (!child.isTextblock || child.content.size > 0) {\n allEmpty = false;\n }\n });\n });\n return allEmpty;\n};\n\n/**\n * Handle Backspace at the start of an empty cell that lives inside a\n * `CARD_HEADER` or `CARD_FOOTER` banner. The schema prevents merging across\n * the wrapper boundary, so a plain Backspace is a no-op and the user is\n * stuck. When the banner's cells are all empty, the natural intent is \"I\n * emptied the banner; remove it\" — invoke `setLayoutBanner` with\n * `undefined` to demote the layout back into `CARD_CONTENT` (or strip the\n * banner attr at doc level). Returns `true` if the case was handled so the\n * Backspace shortcut can stop here.\n */\nconst detachEmptyBannerOnBackspace = (editor: Editor): boolean => {\n const $from = editor.state.selection.$from;\n if (!$from.parent.isTextblock || $from.parent.content.size > 0) {\n return false;\n }\n\n for (let d = $from.depth - 1; d > 0; d--) {\n const node = $from.node(d);\n if (node.type.name !== TIPTAP_LAYOUT_TYPE) {\n continue;\n }\n const parentName = $from.node(d - 1).type.name;\n const isBannerWrapper =\n parentName === TIPTAP_CARD_HEADER_TYPE || parentName === TIPTAP_CARD_FOOTER_TYPE;\n if (!isBannerWrapper || !isBannerLayoutEmpty(node)) {\n return false;\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return (editor.commands as any).setLayoutBanner(node.attrs.id, undefined);\n }\n return false;\n};\n\n/**\n * Splitting through a CARD_HEADER or CARD_FOOTER ancestor would produce two\n * cards each missing CARD_CONTENT — schema-invalid, and splitting a banner\n * across pages isn't meaningful UX anyway. Instead, when the cursor sits\n * inside one of those wrappers, detach the wrapper from its card and place\n * it in a fresh sibling CARD. CARD's required CARD_CONTENT is auto-filled\n * via `createAndFill`, which a plain `tr.split` cannot do.\n * - Inside CARD_FOOTER → footer moves to a new card *after* the original.\n * - Inside CARD_HEADER → header moves to a new card *before* the original.\n *\n * Mutates `tr` and returns `true` on a hit so the caller can dispatch and\n * skip its own split logic.\n */\nconst redirectSplitForCardWrapper = (\n tr: Transaction,\n $pos: ResolvedPos,\n cardDepth: number\n): boolean => {\n for (let d = $pos.depth; d > cardDepth; d--) {\n const wrapperNode = $pos.node(d);\n const name = wrapperNode.type.name;\n if (name !== TIPTAP_CARD_HEADER_TYPE && name !== TIPTAP_CARD_FOOTER_TYPE) {\n continue;\n }\n\n const cardType = tr.doc.type.schema.nodes[TIPTAP_CARD_TYPE];\n // createAndFill adds the schema-required CARD_CONTENT next to the\n // wrapper so the new sibling CARD is valid (HEADER? CONTENT FOOTER?).\n const newCard = cardType.createAndFill(null, wrapperNode);\n if (!newCard) {\n return false;\n }\n\n const wrapperFromPos = $pos.before(d);\n const cardOuterPos =\n name === TIPTAP_CARD_FOOTER_TYPE ? $pos.after(cardDepth) : $pos.before(cardDepth);\n\n return moveCardWrapperToSibling(tr, wrapperNode, wrapperFromPos, cardOuterPos, newCard);\n }\n return false;\n};\n\nconst isListNode = (node: ProseMirrorNode): boolean =>\n node.type.name === Node_Type.BULLETED_LIST || node.type.name === Node_Type.ORDERED_LIST;\n\nconst getItemsBeforeListSplit = (\n listNode: ProseMirrorNode,\n listStart: number,\n splitPos: number\n) => {\n let itemsBeforeSplit = 0;\n listNode.forEach((_child, offset) => {\n if (listStart + offset < splitPos) {\n itemsBeforeSplit++;\n }\n });\n return itemsBeforeSplit;\n};\n\nconst getTargetListDepth = ($pos: ResolvedPos, topListDepth: number): number | undefined => {\n for (let depth = $pos.depth; depth >= topListDepth; depth--) {\n if (\n isListNode($pos.node(depth)) &&\n (depth === $pos.depth || $pos.node(depth + 1)?.type.name === Node_Type.LIST_ITEM)\n ) {\n return depth;\n }\n }\n return undefined;\n};\n\nconst getListVisibleOffset = (\n $pos: ResolvedPos,\n topListDepth: number,\n targetListDepth: number\n): number => {\n let offset = 0;\n let listCount = 0;\n\n for (let depth = topListDepth; depth <= targetListDepth; depth++) {\n const node = $pos.node(depth);\n if (isListNode(node)) {\n offset += node.attrs.offset ?? 0;\n listCount++;\n }\n }\n\n return offset + Math.max(0, listCount - 1);\n};\n\nconst getTrailingNestedListSplitTarget = (\n $pos: ResolvedPos,\n cardDepth: number,\n topListDepth: number,\n topListNode: ProseMirrorNode,\n topListItemIndex: number\n): CardSplitTarget | undefined => {\n let topListItem: ProseMirrorNode | undefined;\n let topListItemPos = -1;\n topListNode.forEach((child, offset, index) => {\n if (index === topListItemIndex) {\n topListItem = child;\n topListItemPos = $pos.start(topListDepth) + offset;\n }\n });\n\n if (!topListItem || topListItemPos === -1) {\n return undefined;\n }\n\n let targetListNode: ProseMirrorNode | undefined;\n let targetListIndex = -1;\n let targetListOffsetInTopItem = -1;\n topListItem.forEach((child, offset, index) => {\n if (isListNode(child)) {\n targetListNode = child;\n targetListIndex = index;\n targetListOffsetInTopItem = offset;\n }\n });\n\n if (!targetListNode || targetListIndex <= 0) {\n return undefined;\n }\n\n return {\n splitPos: topListItemPos + 1 + targetListOffsetInTopItem,\n splitDepth: 1,\n nestedListSplit: {\n cardPos: $pos.before(cardDepth),\n cardContentPos: $pos.before(cardDepth + 1),\n topListPos: $pos.before(topListDepth),\n topListItemIndex,\n targetListPos: topListItemPos + 1 + targetListOffsetInTopItem,\n targetListOffsetInTopItem,\n itemsBeforeSplit: 0,\n continuationOffset: (topListNode.attrs.offset ?? 0) + (targetListNode.attrs.offset ?? 0) + 1,\n ...(topListNode.type.name === Node_Type.ORDERED_LIST\n ? { outerOrderedListStart: topListNode.attrs.start + topListItemIndex + 1 }\n : {}),\n },\n ...(targetListNode.type.name === Node_Type.ORDERED_LIST\n ? { orderedListStart: targetListNode.attrs.start }\n : {}),\n };\n};\n\nconst isAtEndOfDeepNestedBranch = (\n $pos: ResolvedPos,\n directListDepth: number,\n targetListDepth: number,\n itemsBeforeSplit: number\n): boolean => {\n if (itemsBeforeSplit !== $pos.node(targetListDepth).childCount) {\n return false;\n }\n\n for (let depth = targetListDepth - 1; depth > directListDepth; depth -= 2) {\n if ($pos.index(depth) !== $pos.node(depth).childCount - 1) {\n return false;\n }\n }\n\n return true;\n};\n\nconst getDeepNestedListEndSplitTarget = (\n $pos: ResolvedPos,\n cardDepth: number,\n topListDepth: number,\n targetListDepth: number,\n itemsBeforeSplit: number\n): CardSplitTarget | undefined => {\n const directListDepth = topListDepth + 2;\n if (\n targetListDepth <= directListDepth ||\n !isListNode($pos.node(directListDepth)) ||\n !isAtEndOfDeepNestedBranch($pos, directListDepth, targetListDepth, itemsBeforeSplit)\n ) {\n return undefined;\n }\n\n const topListNode = $pos.node(topListDepth);\n const topListItemDepth = topListDepth + 1;\n const topListItemPos = $pos.before(topListItemDepth);\n const topListItemIndex = getItemsBeforeListSplit(\n topListNode,\n $pos.start(topListDepth),\n topListItemPos\n );\n const directListNode = $pos.node(directListDepth);\n const directListItemsBeforeSplit = $pos.index(directListDepth) + 1;\n const directListPos = $pos.before(directListDepth);\n\n return {\n splitPos: $pos.after(directListDepth + 1),\n splitDepth: 1,\n nestedListSplit: {\n cardPos: $pos.before(cardDepth),\n cardContentPos: $pos.before(cardDepth + 1),\n topListPos: $pos.before(topListDepth),\n topListItemIndex,\n targetListPos: directListPos,\n targetListOffsetInTopItem: directListPos - (topListItemPos + 1),\n itemsBeforeSplit: directListItemsBeforeSplit,\n continuationOffset: getListVisibleOffset($pos, topListDepth, directListDepth),\n ...(topListNode.type.name === Node_Type.ORDERED_LIST\n ? { outerOrderedListStart: topListNode.attrs.start + topListItemIndex + 1 }\n : {}),\n },\n ...(directListNode.type.name === Node_Type.ORDERED_LIST\n ? { orderedListStart: directListNode.attrs.start + directListItemsBeforeSplit }\n : {}),\n };\n};\n\nconst getListItemSplitTargetAtPos = (\n $pos: ResolvedPos,\n pos: number,\n cardDepth: number,\n topListDepth: number\n): CardSplitTarget | undefined => {\n const targetListDepth = getTargetListDepth($pos, topListDepth);\n if (targetListDepth === undefined) {\n return undefined;\n }\n\n const listNode = $pos.node(targetListDepth);\n const isAtListChildBoundary = $pos.depth === targetListDepth;\n const listItemDepth = targetListDepth + 1;\n const isAtListItemEnd = !isAtListChildBoundary && pos >= $pos.end(listItemDepth) - 1;\n const splitPos = isAtListChildBoundary\n ? pos\n : isAtListItemEnd\n ? $pos.after(listItemDepth)\n : $pos.before(listItemDepth);\n const itemsBeforeSplit = isAtListChildBoundary\n ? $pos.index(targetListDepth)\n : getItemsBeforeListSplit(listNode, $pos.start(targetListDepth), splitPos);\n\n if (isAtListChildBoundary && targetListDepth === topListDepth && itemsBeforeSplit > 0) {\n const trailingNestedListSplitTarget = getTrailingNestedListSplitTarget(\n $pos,\n cardDepth,\n topListDepth,\n listNode,\n itemsBeforeSplit - 1\n );\n if (trailingNestedListSplitTarget) {\n return trailingNestedListSplitTarget;\n }\n }\n\n if (targetListDepth > topListDepth) {\n const deepNestedListEndSplitTarget = getDeepNestedListEndSplitTarget(\n $pos,\n cardDepth,\n topListDepth,\n targetListDepth,\n itemsBeforeSplit\n );\n if (deepNestedListEndSplitTarget) {\n return deepNestedListEndSplitTarget;\n }\n\n const topListNode = $pos.node(topListDepth);\n const topListItemDepth = topListDepth + 1;\n const topListItemPos = $pos.before(topListItemDepth);\n const topListItemIndex = getItemsBeforeListSplit(\n topListNode,\n $pos.start(topListDepth),\n topListItemPos\n );\n\n return {\n splitPos,\n splitDepth: 1,\n nestedListSplit: {\n cardPos: $pos.before(cardDepth),\n cardContentPos: $pos.before(cardDepth + 1),\n topListPos: $pos.before(topListDepth),\n topListItemIndex,\n targetListPos: $pos.before(targetListDepth),\n targetListOffsetInTopItem: $pos.before(targetListDepth) - (topListItemPos + 1),\n itemsBeforeSplit,\n continuationOffset: getListVisibleOffset($pos, topListDepth, targetListDepth),\n ...(topListNode.type.name === Node_Type.ORDERED_LIST\n ? { outerOrderedListStart: topListNode.attrs.start + topListItemIndex + 1 }\n : {}),\n },\n ...(listNode.type.name === Node_Type.ORDERED_LIST\n ? { orderedListStart: listNode.attrs.start + itemsBeforeSplit }\n : {}),\n };\n }\n\n if (itemsBeforeSplit === 0) {\n return {\n splitPos: $pos.before(targetListDepth),\n splitDepth: 2,\n listSplit: {\n cardPos: $pos.before(cardDepth),\n cardContentPos: $pos.before(cardDepth + 1),\n listPos: $pos.before(topListDepth),\n itemsBeforeSplit,\n },\n };\n }\n\n if (itemsBeforeSplit === listNode.childCount) {\n return {\n splitPos: $pos.after(targetListDepth),\n splitDepth: 2,\n listSplit: {\n cardPos: $pos.before(cardDepth),\n cardContentPos: $pos.before(cardDepth + 1),\n listPos: $pos.before(topListDepth),\n itemsBeforeSplit,\n },\n };\n }\n\n return {\n splitPos,\n splitDepth: 1,\n listSplit: {\n cardPos: $pos.before(cardDepth),\n cardContentPos: $pos.before(cardDepth + 1),\n listPos: $pos.before(topListDepth),\n itemsBeforeSplit,\n },\n ...(listNode.type.name === Node_Type.ORDERED_LIST\n ? { orderedListStart: listNode.attrs.start + itemsBeforeSplit }\n : {}),\n };\n};\n\nexport const getCardSplitTargetAtPos = (\n $pos: ResolvedPos,\n pos: number,\n cardDepth: number\n): CardSplitTarget | undefined => {\n // Block-level child is nested under CARD_CONTENT (cardDepth + 1).\n const blockDepth = cardDepth + 2;\n\n if ($pos.depth === blockDepth - 1) {\n // Boundary between sibling blocks inside CARD_CONTENT\n // (e.g., before/after a DIVIDER, LAYOUT, or other non-text block).\n return {\n splitPos: pos,\n splitDepth: 2,\n };\n }\n\n const childNode = $pos.depth >= blockDepth ? $pos.node(blockDepth) : null;\n if (!childNode) {\n return undefined;\n }\n\n if (isListNode(childNode)) {\n const listItemSplitTarget = getListItemSplitTargetAtPos($pos, pos, cardDepth, blockDepth);\n if (listItemSplitTarget) {\n return listItemSplitTarget;\n }\n }\n\n const isInTextBlock = childNode.isTextblock;\n const offsetInBlock = pos - $pos.start(blockDepth);\n const atBlockStart = offsetInBlock === 0;\n const atBlockEnd = offsetInBlock === childNode.content.size;\n\n if (isInTextBlock && !atBlockStart && !atBlockEnd) {\n // Inside a text block — split at the cursor through all levels.\n return {\n splitPos: pos,\n splitDepth: $pos.depth - cardDepth + 1,\n };\n }\n\n if (!isInTextBlock) {\n // Non-text container blocks like LAYOUT / TABLE are treated as atomic:\n // if the sampled position lands anywhere inside them, split above by\n // default; only the block's last internal position maps to a split below.\n return {\n splitPos: atBlockEnd ? $pos.after(blockDepth) : $pos.before(blockDepth),\n splitDepth: 2,\n };\n }\n\n if (atBlockEnd) {\n // At the end of a text block — split right after it.\n return {\n splitPos: $pos.after(blockDepth),\n splitDepth: 2,\n };\n }\n\n if (atBlockStart) {\n // At the start of a text block — split right before it.\n return {\n splitPos: $pos.before(blockDepth),\n splitDepth: 2,\n };\n }\n\n return undefined;\n};\n\n/**\n * A click on the visual page boundary can resolve to the boundary between the\n * CARD's direct children instead of a block boundary inside CARD_CONTENT:\n * - HEADER | CONTENT\n * - CONTENT | FOOTER\n *\n * Those positions can't be handled with a plain `tr.split` because CARD's\n * schema requires CARD_CONTENT. Mirror the wrapper redirect above by moving\n * the adjacent header/footer wrapper into a fresh sibling CARD.\n */\nexport const redirectSplitForCardChildBoundary = (\n tr: Transaction,\n $pos: ResolvedPos,\n cardDepth: number\n): boolean => {\n const cardNode = $pos.node(cardDepth);\n const cardStart = $pos.start(cardDepth);\n const boundaryOffset = $pos.pos - cardStart;\n\n if (boundaryOffset <= 0 || boundaryOffset >= cardNode.content.size) {\n return false;\n }\n\n let beforeBoundary: { node: ProseMirrorNode; pos: number } | undefined;\n let afterBoundary: { node: ProseMirrorNode; pos: number } | undefined;\n\n cardNode.forEach((child, offset) => {\n const childPos = cardStart + offset;\n if (!beforeBoundary && offset + child.nodeSize === boundaryOffset) {\n beforeBoundary = { node: child, pos: childPos };\n }\n if (!afterBoundary && offset === boundaryOffset) {\n afterBoundary = { node: child, pos: childPos };\n }\n });\n\n if (beforeBoundary?.node.type.name === TIPTAP_CARD_HEADER_TYPE) {\n return moveCardWrapperToSibling(\n tr,\n beforeBoundary.node,\n beforeBoundary.pos,\n $pos.before(cardDepth)\n );\n }\n\n if (afterBoundary?.node.type.name === TIPTAP_CARD_FOOTER_TYPE) {\n return moveCardWrapperToSibling(\n tr,\n afterBoundary.node,\n afterBoundary.pos,\n $pos.after(cardDepth)\n );\n }\n\n return false;\n};\n\nconst moveCardWrapperToSibling = (\n tr: Transaction,\n wrapperNode: ProseMirrorNode,\n wrapperPos: number,\n cardOuterPos: number,\n newCard = tr.doc.type.schema.nodes[TIPTAP_CARD_TYPE].createAndFill(null, wrapperNode)\n): boolean => {\n if (!newCard) {\n return false;\n }\n\n tr.delete(wrapperPos, wrapperPos + wrapperNode.nodeSize);\n tr.insert(tr.mapping.map(cardOuterPos), newCard);\n return true;\n};\n\nconst splitCardTransaction = (tr: Transaction, splitTarget: CardSplitTarget): boolean => {\n if (splitTarget.listSplit) {\n return splitCardAtListItem(tr, splitTarget);\n }\n\n if (splitTarget.nestedListSplit) {\n return splitCardAtNestedListItem(tr, splitTarget);\n }\n\n try {\n tr.split(splitTarget.splitPos, splitTarget.splitDepth);\n return true;\n } catch {\n return false;\n }\n};\n\nconst getNodeChildren = (node: ProseMirrorNode): ProseMirrorNode[] => {\n const children: ProseMirrorNode[] = [];\n node.forEach(child => children.push(child));\n return children;\n};\n\nconst createListWithChildren = (\n listNode: ProseMirrorNode,\n children: ProseMirrorNode[],\n attrs = listNode.attrs\n): ProseMirrorNode => listNode.type.create(attrs, Fragment.fromArray(children));\n\nconst createListWithChildrenIfAny = (\n listNode: ProseMirrorNode,\n children: ProseMirrorNode[],\n attrs = listNode.attrs\n): ProseMirrorNode | undefined =>\n children.length > 0 ? createListWithChildren(listNode, children, attrs) : undefined;\n\nconst createNestedContinuationSibling = (\n topListNode: ProseMirrorNode,\n child: ProseMirrorNode\n): ProseMirrorNode => {\n if (!isListNode(child)) {\n return child;\n }\n\n return createListWithChildren(child, getNodeChildren(child), {\n ...child.attrs,\n offset: (topListNode.attrs.offset ?? 0) + (child.attrs.offset ?? 0) + 1,\n });\n};\n\nconst splitCardAtListItem = (tr: Transaction, splitTarget: CardSplitTarget): boolean => {\n const listSplit = splitTarget.listSplit;\n if (!listSplit) {\n return false;\n }\n\n const cardNode = tr.doc.nodeAt(listSplit.cardPos);\n const cardContentNode = tr.doc.nodeAt(listSplit.cardContentPos);\n const listNode = tr.doc.nodeAt(listSplit.listPos);\n\n if (!cardNode || !cardContentNode || !listNode) {\n return false;\n }\n\n const cardChildren = getNodeChildren(cardNode);\n const cardContentIndex = cardChildren.findIndex(child => child === cardContentNode);\n const cardContentChildren = getNodeChildren(cardContentNode);\n const listIndex = cardContentChildren.findIndex(child => child === listNode);\n\n if (cardContentIndex === -1 || listIndex === -1) {\n return false;\n }\n\n const listChildren = getNodeChildren(listNode);\n const beforeList = createListWithChildrenIfAny(\n listNode,\n listChildren.slice(0, listSplit.itemsBeforeSplit)\n );\n const afterListAttrs =\n splitTarget.orderedListStart === undefined\n ? listNode.attrs\n : { ...listNode.attrs, start: splitTarget.orderedListStart };\n const afterList = createListWithChildrenIfAny(\n listNode,\n listChildren.slice(listSplit.itemsBeforeSplit),\n afterListAttrs\n );\n const firstContentChildren = [\n ...cardContentChildren.slice(0, listIndex),\n ...(beforeList ? [beforeList] : []),\n ];\n const secondContentChildren = [\n ...(afterList ? [afterList] : []),\n ...cardContentChildren.slice(listIndex + 1),\n ];\n\n if (firstContentChildren.length === 0 || secondContentChildren.length === 0) {\n return false;\n }\n\n const firstContent = cardContentNode.type.create(\n cardContentNode.attrs,\n Fragment.fromArray(firstContentChildren)\n );\n const secondContent = cardContentNode.type.create(\n cardContentNode.attrs,\n Fragment.fromArray(secondContentChildren)\n );\n\n const firstCard = cardNode.type.create(\n cardNode.attrs,\n Fragment.fromArray([...cardChildren.slice(0, cardContentIndex), firstContent])\n );\n const secondCard = cardNode.type.create(\n cardNode.attrs,\n Fragment.fromArray([secondContent, ...cardChildren.slice(cardContentIndex + 1)])\n );\n\n tr.replaceWith(\n listSplit.cardPos,\n listSplit.cardPos + cardNode.nodeSize,\n Fragment.fromArray([firstCard, secondCard])\n );\n return true;\n};\n\nconst splitCardAtNestedListItem = (tr: Transaction, splitTarget: CardSplitTarget): boolean => {\n const listSplit = splitTarget.nestedListSplit;\n if (!listSplit) {\n return false;\n }\n\n const cardNode = tr.doc.nodeAt(listSplit.cardPos);\n const cardContentNode = tr.doc.nodeAt(listSplit.cardContentPos);\n const topListNode = tr.doc.nodeAt(listSplit.topListPos);\n const targetListNode = tr.doc.nodeAt(listSplit.targetListPos);\n\n if (!cardNode || !cardContentNode || !topListNode || !targetListNode) {\n return false;\n }\n\n const cardChildren = getNodeChildren(cardNode);\n const cardContentIndex = cardChildren.findIndex(child => child === cardContentNode);\n const cardContentChildren = getNodeChildren(cardContentNode);\n const topListIndex = cardContentChildren.findIndex(child => child === topListNode);\n const topListChildren = getNodeChildren(topListNode);\n const topListItem = topListChildren[listSplit.topListItemIndex];\n\n if (cardContentIndex === -1 || topListIndex === -1 || !topListItem) {\n return false;\n }\n\n const topListItemChildren = getNodeChildren(topListItem);\n let targetListIndex = -1;\n topListItem.forEach((child, offset, index) => {\n if (offset === listSplit.targetListOffsetInTopItem && child.type === targetListNode.type) {\n targetListIndex = index;\n }\n });\n\n if (targetListIndex === -1) {\n return false;\n }\n\n const targetListChildren = getNodeChildren(targetListNode);\n const beforeTargetList = createListWithChildrenIfAny(\n targetListNode,\n targetListChildren.slice(0, listSplit.itemsBeforeSplit)\n );\n const afterTargetListAttrs =\n splitTarget.orderedListStart === undefined\n ? { ...targetListNode.attrs, offset: listSplit.continuationOffset }\n : {\n ...targetListNode.attrs,\n offset: listSplit.continuationOffset,\n start: splitTarget.orderedListStart,\n };\n const afterTargetList = createListWithChildrenIfAny(\n targetListNode,\n targetListChildren.slice(listSplit.itemsBeforeSplit),\n afterTargetListAttrs\n );\n\n const firstTopListItemChildren = [\n ...topListItemChildren.slice(0, targetListIndex),\n ...(beforeTargetList ? [beforeTargetList] : []),\n ];\n const firstTopListItem = topListItem.type.create(\n topListItem.attrs,\n Fragment.fromArray(firstTopListItemChildren)\n );\n const firstTopList = createListWithChildren(topListNode, [\n ...topListChildren.slice(0, listSplit.topListItemIndex),\n firstTopListItem,\n ]);\n\n const secondContentChildren: ProseMirrorNode[] = [];\n if (afterTargetList) {\n secondContentChildren.push(afterTargetList);\n }\n secondContentChildren.push(\n ...topListItemChildren\n .slice(targetListIndex + 1)\n .map(child => createNestedContinuationSibling(topListNode, child))\n );\n const outerSuffixList = createListWithChildrenIfAny(\n topListNode,\n topListChildren.slice(listSplit.topListItemIndex + 1),\n listSplit.outerOrderedListStart === undefined\n ? topListNode.attrs\n : { ...topListNode.attrs, start: listSplit.outerOrderedListStart }\n );\n\n if (outerSuffixList) {\n secondContentChildren.push(outerSuffixList);\n }\n secondContentChildren.push(...cardContentChildren.slice(topListIndex + 1));\n\n if (secondContentChildren.length === 0) {\n return false;\n }\n\n const firstContent = cardContentNode.type.create(\n cardContentNode.attrs,\n Fragment.fromArray([...cardContentChildren.slice(0, topListIndex), firstTopList])\n );\n const secondContent = cardContentNode.type.create(\n cardContentNode.attrs,\n Fragment.fromArray(secondContentChildren)\n );\n\n const firstCard = cardNode.type.create(\n cardNode.attrs,\n Fragment.fromArray([...cardChildren.slice(0, cardContentIndex), firstContent])\n );\n const secondCard = cardNode.type.create(\n cardNode.attrs,\n Fragment.fromArray([secondContent, ...cardChildren.slice(cardContentIndex + 1)])\n );\n\n tr.replaceWith(\n listSplit.cardPos,\n listSplit.cardPos + cardNode.nodeSize,\n Fragment.fromArray([firstCard, secondCard])\n );\n return true;\n};\n\n/**\n * Demote a CARD_HEADER / CARD_FOOTER inside the card identified by `cardId`:\n * - extract the layout it wraps,\n * - strip the layout's `banner` attribute,\n * - delete the wrapper itself,\n * - re-insert the bare layout at the start (`'start'`) or end (`'end'`) of\n * the card's CARD_CONTENT.\n *\n * No-op when the wrapper isn't present. Mutates `tr`.\n */\nconst demoteCardWrapper = (\n tr: Transaction,\n cardId: string,\n wrapperType: typeof TIPTAP_CARD_HEADER_TYPE | typeof TIPTAP_CARD_FOOTER_TYPE,\n insertAt: 'start' | 'end'\n): void => {\n const card = findNodeById(tr, cardId)[0];\n if (!card) {\n return;\n }\n\n let wrapperPos = -1;\n let wrapperSize = -1;\n let layoutJson: Record<string, unknown> | undefined;\n card.node.forEach((child, offset) => {\n if (child.type.name !== wrapperType || wrapperPos !== -1) {\n return;\n }\n const layoutInside = child.firstChild;\n if (!layoutInside) {\n return;\n }\n wrapperPos = card.pos + 1 + offset;\n wrapperSize = child.nodeSize;\n const json = layoutInside.toJSON() as { attrs?: Record<string, unknown> };\n layoutJson = {\n ...json,\n attrs: { ...(json.attrs ?? {}), banner: undefined },\n };\n });\n if (wrapperPos === -1 || !layoutJson) {\n return;\n }\n\n tr.delete(wrapperPos, wrapperPos + wrapperSize);\n\n // Re-find the card after deletion — its position and content layout\n // shifted. Then locate the inner edge of CARD_CONTENT to insert at.\n const cardAfter = findNodeById(tr, cardId)[0];\n if (!cardAfter) {\n return;\n }\n\n let target = -1;\n cardAfter.node.forEach((child, offset) => {\n if (child.type.name !== TIPTAP_CARD_CONTENT_TYPE || target !== -1) {\n return;\n }\n const innerStart = cardAfter.pos + 1 + offset + 1;\n const innerEnd = cardAfter.pos + 1 + offset + child.nodeSize - 1;\n target = insertAt === 'start' ? innerStart : innerEnd;\n });\n if (target === -1) {\n return;\n }\n\n tr.insert(target, tr.doc.type.schema.nodeFromJSON(layoutJson));\n};\n\nconst findCardAtIndex = (\n doc: ProseMirrorNode,\n cardIndex: number\n): { node: ProseMirrorNode; pos: number } | undefined => {\n let currentCardIndex = 0;\n let result: { node: ProseMirrorNode; pos: number } | undefined;\n\n doc.forEach((node, offset) => {\n if (node.type.name !== TIPTAP_CARD_TYPE) {\n return;\n }\n\n if (currentCardIndex === cardIndex) {\n result = { node, pos: offset };\n }\n\n currentCardIndex++;\n });\n\n return result;\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["boundaryRedirect", "node"]
|
|
7
7
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/plugin-card/index.ts"],
|
|
4
|
-
"sourcesContent": ["export { pluginCard } from './options.js';\nexport { pluginCardViewer } from './viewer.js';\nexport { CARD_DEFAULTS, PAGE_SIZE_PRESETS } from './shared-with-viewer.js';\nexport { ensureCardsWrap } from './ensure-cards-wrap.js';\nexport { ensureCardsUnwrapped } from './ensure-cards-unwrap.js';\nexport type {\n CardHeaderProps,\n CardInfo,\n CardFormat,\n CardPluginEditorConfig,\n CardPluginViewerConfig,\n CardViewerMode,\n CardsApi,\n CardsApiCommands,\n} from './types.js';\n"],
|
|
4
|
+
"sourcesContent": ["export { pluginCard } from './options.js';\nexport { pluginCardViewer } from './viewer.js';\nexport { CARD_DEFAULTS, PAGE_SIZE_PRESETS } from './shared-with-viewer.js';\nexport { ensureCardsWrap } from './ensure-cards-wrap.js';\nexport { ensureCardsUnwrapped } from './ensure-cards-unwrap.js';\nexport type {\n AddPageButtonProps,\n CardHeaderProps,\n CardInfo,\n CardFormat,\n CardPluginEditorConfig,\n CardPluginViewerConfig,\n CardViewerMode,\n CardsApi,\n CardsApiCommands,\n} from './types.js';\n"],
|
|
5
5
|
"mappings": "AAAA,SAAS,kBAAkB;AAC3B,SAAS,wBAAwB;AACjC,SAAS,eAAe,yBAAyB;AACjD,SAAS,uBAAuB;AAChC,SAAS,4BAA4B;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -5,13 +5,15 @@ import { MergeSmall } from ".//icons/merge-small.js";
|
|
|
5
5
|
import styles from "./card-scss.js";
|
|
6
6
|
import { AddSmall } from "./icons/add-small.js";
|
|
7
7
|
const PageGap = ({
|
|
8
|
+
index,
|
|
9
|
+
renderAddPageButton: AddPageButton,
|
|
8
10
|
onAddPage,
|
|
9
11
|
onMergePages,
|
|
10
12
|
onMergeHoverChange,
|
|
11
13
|
isLastCard
|
|
12
14
|
}) => {
|
|
13
15
|
const { t } = useContext(RicosContext);
|
|
14
|
-
return /* @__PURE__ */ React.createElement("div", { className: styles.cardGapAddButtonWrapper }, /* @__PURE__ */ React.createElement(Tooltip, { content: t("Card_PageGap_AddPage_Tooltip"), size: "small" }, /* @__PURE__ */ React.createElement(
|
|
16
|
+
return /* @__PURE__ */ React.createElement("div", { className: styles.cardGapAddButtonWrapper }, AddPageButton ? /* @__PURE__ */ React.createElement(AddPageButton, { index, onAddPage }) : /* @__PURE__ */ React.createElement(Tooltip, { content: t("Card_PageGap_AddPage_Tooltip"), size: "small" }, /* @__PURE__ */ React.createElement(
|
|
15
17
|
IconButton,
|
|
16
18
|
{
|
|
17
19
|
className: styles.cardGapAddButton,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/plugin-card/page-gap.tsx"],
|
|
4
|
-
"sourcesContent": ["import { IconButton, Tooltip } from '@wix/design-system';\nimport type { FC } from 'react';\nimport React, { useContext } from 'react';\n\nimport { RicosContext } from './../ricos-context/index.js';\nimport { MergeSmall } from './/icons/merge-small.js';\n\nimport styles from './card-scss.js';\nimport { AddSmall } from './icons/add-small.js';\n\nexport type PageGapProps = {\n onAddPage: () => void;\n onMergePages: () => void;\n onMergeHoverChange: (isHovered: boolean) => void;\n isLastCard: boolean;\n};\n\nexport const PageGap: FC<PageGapProps> = ({\n onAddPage,\n onMergePages,\n onMergeHoverChange,\n isLastCard,\n}) => {\n const { t } = useContext(RicosContext);\n\n return (\n <div className={styles.cardGapAddButtonWrapper}>\n <Tooltip content={t('Card_PageGap_AddPage_Tooltip')} size=\"small\">\n
|
|
5
|
-
"mappings": "AAAA,SAAS,YAAY,eAAe;AAEpC,OAAO,SAAS,kBAAkB;AAElC,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAE3B,OAAO,YAAY;AACnB,SAAS,gBAAgB;
|
|
4
|
+
"sourcesContent": ["import { IconButton, Tooltip } from '@wix/design-system';\nimport type { FC } from 'react';\nimport React, { useContext } from 'react';\n\nimport { RicosContext } from './../ricos-context/index.js';\nimport { MergeSmall } from './/icons/merge-small.js';\n\nimport styles from './card-scss.js';\nimport { AddSmall } from './icons/add-small.js';\nimport type { AddPageButtonProps } from './types.js';\n\nexport type PageGapProps = {\n index: number;\n renderAddPageButton?: FC<AddPageButtonProps>;\n onAddPage: () => void;\n onMergePages: () => void;\n onMergeHoverChange: (isHovered: boolean) => void;\n isLastCard: boolean;\n};\n\nexport const PageGap: FC<PageGapProps> = ({\n index,\n renderAddPageButton: AddPageButton,\n onAddPage,\n onMergePages,\n onMergeHoverChange,\n isLastCard,\n}) => {\n const { t } = useContext(RicosContext);\n\n return (\n <div className={styles.cardGapAddButtonWrapper}>\n {AddPageButton ? (\n <AddPageButton index={index} onAddPage={onAddPage} />\n ) : (\n <Tooltip content={t('Card_PageGap_AddPage_Tooltip')} size=\"small\">\n <IconButton\n className={styles.cardGapAddButton}\n onClick={onAddPage}\n size=\"tiny\"\n skin=\"light\"\n priority=\"primary\"\n >\n <AddSmall />\n </IconButton>\n </Tooltip>\n )}\n {!isLastCard && (\n <Tooltip content={t('Card_PageGap_MergePages_Tooltip')} size=\"small\">\n <IconButton\n className={styles.cardGapAddButton}\n onClick={onMergePages}\n onMouseEnter={() => onMergeHoverChange(true)}\n onMouseLeave={() => onMergeHoverChange(false)}\n size=\"tiny\"\n skin=\"light\"\n priority=\"primary\"\n >\n <MergeSmall />\n </IconButton>\n </Tooltip>\n )}\n </div>\n );\n};\n"],
|
|
5
|
+
"mappings": "AAAA,SAAS,YAAY,eAAe;AAEpC,OAAO,SAAS,kBAAkB;AAElC,SAAS,oBAAoB;AAC7B,SAAS,kBAAkB;AAE3B,OAAO,YAAY;AACnB,SAAS,gBAAgB;AAYlB,MAAM,UAA4B,CAAC;AAAA,EACxC;AAAA,EACA,qBAAqB;AAAA,EACrB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,EAAE,IAAI,WAAW,YAAY;AAErC,SACE,oCAAC,SAAI,WAAW,OAAO,2BACpB,gBACC,oCAAC,iBAAc,OAAc,WAAsB,IAEnD,oCAAC,WAAQ,SAAS,EAAE,8BAA8B,GAAG,MAAK,WACxD;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,OAAO;AAAA,MAClB,SAAS;AAAA,MACT,MAAK;AAAA,MACL,MAAK;AAAA,MACL,UAAS;AAAA;AAAA,IAET,oCAAC,cAAS;AAAA,EACZ,CACF,GAED,CAAC,cACA,oCAAC,WAAQ,SAAS,EAAE,iCAAiC,GAAG,MAAK,WAC3D;AAAA,IAAC;AAAA;AAAA,MACC,WAAW,OAAO;AAAA,MAClB,SAAS;AAAA,MACT,cAAc,MAAM,mBAAmB,IAAI;AAAA,MAC3C,cAAc,MAAM,mBAAmB,KAAK;AAAA,MAC5C,MAAK;AAAA,MACL,MAAK;AAAA,MACL,UAAS;AAAA;AAAA,IAET,oCAAC,gBAAW;AAAA,EACd,CACF,CAEJ;AAEJ;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var styleDataHash = '
|
|
1
|
+
var styleDataHash = '653a308d';
|
|
2
2
|
export const injectCss = (() => {
|
|
3
|
-
var css = `.
|
|
3
|
+
var css = `.b9Ehg{position:relative}.h6f5p{background-color:var(--ricos-internal-card-background-color,var(--ricos-custom-card-background-color,#fff));background-image:var(--ricos-internal-card-background-gradient,var(--ricos-custom-card-background-gradient,none));box-sizing:border-box;margin:0 auto;min-height:var(--ricos-internal-card-height,1123px);overflow:visible;position:relative}.h6f5p:before{background-image:var(--ricos-internal-card-background-image,var(--ricos-custom-card-background-image,none));background-position:var(--ricos-internal-card-background-position,var(--ricos-custom-card-background-position,center));background-repeat:no-repeat;background-size:var(--ricos-internal-card-background-size,var(--ricos-custom-card-background-size,cover));content:"";inset:0;pointer-events:none;position:absolute;z-index:0}.h6f5p:after{background:var(--ricos-internal-card-background-image-overlay,var(--ricos-custom-card-background-image-overlay,transparent));content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.ODVzI{box-sizing:border-box;min-height:var(--ricos-internal-card-height,1123px);padding-block-end:var(--ricos-custom-card-padding-block-end,40px);padding-block-start:var(--ricos-custom-card-padding-block-start,40px);position:relative;z-index:2}.ODVzI:has(>[data-card-header]){padding-block-start:0}.ODVzI:has(>[data-card-footer]){display:flex;flex-direction:column;padding-block-end:0}.ODVzI>[data-card-footer]{clear:both;margin-top:auto}.tsuXi{border-bottom:1px solid #c9cdd2;border-top:1px solid #abafb4}.b9Ehg:last-child .tsuXi{display:none}.vnZ7J .h6f5p{min-height:auto}.vnZ7J.b9Ehg:first-child .h6f5p{min-height:500px}.vnZ7J.VvCBD.b9Ehg:first-child .h6f5p{min-height:auto}.vnZ7J .ODVzI{min-height:auto}@media print{.tsuXi{display:none}.b9Ehg{border:none;box-shadow:none;break-after:page;break-inside:avoid}.b9Ehg:last-child{break-after:auto}.h6f5p{border:none;box-shadow:none;height:100vh;min-height:auto;overflow:hidden;width:100%}.ODVzI{max-height:calc(100vh - var(--ricos-custom-card-padding-block-start, 40px) - var(--ricos-custom-card-padding-block-end, 40px));overflow:hidden}.vnZ7J{break-after:avoid}.vnZ7J .h6f5p{height:auto;min-height:auto}.vnZ7J.b9Ehg:first-child .h6f5p{min-height:auto}.vnZ7J .ODVzI{max-height:none;min-height:auto;overflow:visible}}._3ogaE{position:relative}._3ogaE:last-child .a-liW{margin-bottom:0}.AYSNJ{box-sizing:border-box;margin:0 auto;max-width:var(--ricos-internal-card-width,900px)}.fu1Ai{background-color:var(--ricos-internal-card-background-color,var(--ricos-custom-card-background-color,#fff));background-image:var(--ricos-internal-card-background-gradient,var(--ricos-custom-card-background-gradient,none));box-sizing:border-box;contain:layout style;contain-intrinsic-size:var(--ricos-internal-card-width,900px) calc(var(--ricos-internal-card-height, 1273px) + 60px);content-visibility:auto;margin:0 auto;max-width:var(--ricos-internal-card-width,900px);min-height:var(--ricos-internal-card-height,1273px);overflow:visible;position:relative}.fu1Ai:before{background-image:var(--ricos-internal-card-background-image,var(--ricos-custom-card-background-image,none));background-position:var(--ricos-internal-card-background-position,var(--ricos-custom-card-background-position,center));background-repeat:no-repeat;background-size:var(--ricos-internal-card-background-size,var(--ricos-custom-card-background-size,cover));content:"";inset:0;pointer-events:none;position:absolute;z-index:0}.fu1Ai:after{background:var(--ricos-internal-card-background-image-overlay,var(--ricos-custom-card-background-image-overlay,transparent));content:"";inset:0;pointer-events:none;position:absolute;z-index:1}.fu1Ai.fE825{contain-intrinsic-size:var(--ricos-internal-card-width,900px) auto;min-height:auto}._3ogaE:first-child .fu1Ai.fE825{min-height:var(--ricos-internal-card-default-height,500px)}.vJipu{left:0;pointer-events:none;position:absolute;top:0;z-index:15}.TNezl{fill:none;stroke:transparent;stroke-width:var(--ricos-custom-card-selection-border-width,2px);transition:stroke .15s ease}.fu1Ai:hover .TNezl{stroke:var(--ricos-custom-card-selection-border-color,#116dff)}.fu1Ai .Buhs-,.fu1Ai:hover .Buhs-{stroke:var(--ricos-custom-card-selection-active-color,#2f5dff)}.a-liW{align-items:center;display:flex;height:54px;justify-content:center;margin-bottom:-26px;position:relative;z-index:1}.a-liW.Zj6qk{margin-bottom:0}.a-liW.ZYJ-g.Zj6qk{height:0}.a-liW.Zj6qk .oVUzN,.a-liW:hover .oVUzN{opacity:1}.a-liW.PCrze{border-bottom:2px solid var(--ricos-custom-card-selection-active-color,#2f5dff);border-top:2px solid var(--ricos-custom-card-selection-active-color,#2f5dff)}.a-liW.PCrze:after,.a-liW.PCrze:before{background-color:var(--ricos-custom-card-selection-active-color,#2f5dff);content:"";height:6px;left:0;opacity:.15;pointer-events:none;position:absolute;right:0}.a-liW.PCrze:before{top:0}.a-liW.PCrze:after{bottom:0}.oVUzN{align-items:center;display:flex;gap:4px;justify-content:center;opacity:0;transition:opacity .2s ease}.YDwa8{box-sizing:border-box;min-height:var(--ricos-internal-card-height,1273px);padding-block-end:var(--ricos-custom-card-padding-block-end,40px);padding-block-start:var(--ricos-custom-card-padding-block-start,40px);position:relative;z-index:2}.YDwa8.to012{min-height:auto}.YDwa8:has(>[data-card-header]){padding-block-start:0}.YDwa8:has(>[data-card-footer]){display:flex;flex-direction:column;padding-block-end:0}.YDwa8>[data-card-footer]{clear:both;margin-top:auto}._9HkoH{left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:var(--ricos-internal-card-height,1273px);transition:opacity .2s ease;z-index:10}._9HkoH.c-7rv{opacity:1;pointer-events:auto}.Ja0uf{pointer-events:none;position:relative;width:100%}.Ja0uf.UlpDh ._4qo-X{border-color:#f9ad4d}.bed9j{align-items:center;color:var(--ricos-custom-p-color,var(--ricos-text-color,#212121));display:flex;transform:scale(var(--reverse-zoom-ratio,1));transition:color .2s ease}.bed9j.UlpDh{color:#f9ad4d}._4qo-X{border-top:2px dashed var(--ricos-custom-p-color,var(--ricos-text-color,#212121));height:0;transition:border-color .2s ease;width:100%}`;
|
|
4
4
|
var isTest = typeof process !== 'undefined' && process.env && process.env['NODE_ENV'] === 'test';
|
|
5
5
|
|
|
6
6
|
if (isTest || !css || typeof document === 'undefined') { return; }
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
var styleDataHash = "
|
|
1
|
+
var styleDataHash = "d88e6bad";
|
|
2
2
|
const injectCss = (() => {
|
|
3
|
-
var css = `.
|
|
3
|
+
var css = `.g8eop{font-family:var(--ricos-font-family,unset)}.glob_fontElementMap{font-family:var(--ricos-font-family,unset)}.REqSc{margin:15px 18px}@supports not (contain:inline-size){@media only screen and (max-width:480px){.REqSc{margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}}@container (width < 480px){.REqSc:where(:not([data-ricos-responsive=viewport],[data-ricos-responsive=viewport] *)){margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}@media (width < 480px){.REqSc:where([data-ricos-responsive=viewport]),:where([data-ricos-responsive=viewport]) .REqSc{margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}._4ilD-{font-size:var(--ricos-custom-code-block-font-size,16px);line-height:var(--ricos-custom-code-block-line-height,26px)}.N1k1B,.PEuC6{background-color:var(--ricos-custom-code-block-background-color,rgba(var(--ricos-fallback-color-tuple,0,0,0),.06));color:var(--ricos-custom-code-block-color,var(--ricos-text-color,#212121));font-family:Inconsolata,Menlo,Consolas,monospace;margin:var(--ricos-custom-code-block-margin,15px 18px);padding:var(--ricos-custom-code-block-padding,2px 25px);print-color-adjust:exact;white-space:pre-wrap}@supports (color:rgb(from #000 r g b/0.1)){.N1k1B,.PEuC6{background-color:var(--ricos-custom-code-block-background-color,rgb(from var(--ricos-fallback-color,#000000) r g b/.06))}}.N1k1B code,.PEuC6 code{font-family:Inconsolata,Menlo,Consolas,monospace;font-size:var(--ricos-custom-code-block-font-size,16px)}._66VPG .N1k1B,._66VPG .PEuC6{margin:0}`;
|
|
4
4
|
var isTest = typeof process !== "undefined" && process.env && false;
|
|
5
5
|
if (isTest || !css || typeof document === "undefined") {
|
|
6
6
|
return;
|
|
@@ -21,12 +21,12 @@ const injectCss = (() => {
|
|
|
21
21
|
});
|
|
22
22
|
injectCss();
|
|
23
23
|
var code_block_default = {
|
|
24
|
-
"fontElementMap": "
|
|
25
|
-
"blockStyleSpacing": "
|
|
26
|
-
"codeParent": "
|
|
27
|
-
"codeBlock": "
|
|
28
|
-
"code": "
|
|
29
|
-
"renderedInTable": "
|
|
24
|
+
"fontElementMap": "g8eop",
|
|
25
|
+
"blockStyleSpacing": "REqSc",
|
|
26
|
+
"codeParent": "_4ilD-",
|
|
27
|
+
"codeBlock": "PEuC6 REqSc",
|
|
28
|
+
"code": "N1k1B REqSc",
|
|
29
|
+
"renderedInTable": "_66VPG"
|
|
30
30
|
};
|
|
31
31
|
export {
|
|
32
32
|
code_block_default as default,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/plugin-code-block/statics/styles/code-block.scss"],
|
|
4
|
-
"sourcesContent": ["var styleDataHash = '
|
|
4
|
+
"sourcesContent": ["var styleDataHash = 'd88e6bad'; \nexport const injectCss = (() => {\n var css = `.g8eop{font-family:var(--ricos-font-family,unset)}.glob_fontElementMap{font-family:var(--ricos-font-family,unset)}.REqSc{margin:15px 18px}@supports not (contain:inline-size){@media only screen and (max-width:480px){.REqSc{margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}}@container (width < 480px){.REqSc:where(:not([data-ricos-responsive=viewport],[data-ricos-responsive=viewport] *)){margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}@media (width < 480px){.REqSc:where([data-ricos-responsive=viewport]),:where([data-ricos-responsive=viewport]) .REqSc{margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}._4ilD-{font-size:var(--ricos-custom-code-block-font-size,16px);line-height:var(--ricos-custom-code-block-line-height,26px)}.N1k1B,.PEuC6{background-color:var(--ricos-custom-code-block-background-color,rgba(var(--ricos-fallback-color-tuple,0,0,0),.06));color:var(--ricos-custom-code-block-color,var(--ricos-text-color,#212121));font-family:Inconsolata,Menlo,Consolas,monospace;margin:var(--ricos-custom-code-block-margin,15px 18px);padding:var(--ricos-custom-code-block-padding,2px 25px);print-color-adjust:exact;white-space:pre-wrap}@supports (color:rgb(from #000 r g b/0.1)){.N1k1B,.PEuC6{background-color:var(--ricos-custom-code-block-background-color,rgb(from var(--ricos-fallback-color,#000000) r g b/.06))}}.N1k1B code,.PEuC6 code{font-family:Inconsolata,Menlo,Consolas,monospace;font-size:var(--ricos-custom-code-block-font-size,16px)}._66VPG .N1k1B,._66VPG .PEuC6{margin:0}`;\n var isTest = typeof process !== 'undefined' && process.env && process.env['NODE_ENV'] === 'test';\n\n if (isTest || !css || typeof document === 'undefined') { return; }\n if (document.querySelector('style[data-ricos-style-hash=\"' + styleDataHash + '\"]')) { return; }\n\n var head = document.head || document.getElementsByTagName('head')[0];\n var style = document.createElement('style');\n style.setAttribute('data-ricos-style-hash', styleDataHash);\n style.type = 'text/css';\n\n head.appendChild(style);\n\n if (style.styleSheet) {\n style.styleSheet.cssText = css;\n } else {\n style.appendChild(document.createTextNode(css));\n }\n});\n\ninjectCss();\n\n\n\nexport default {\n \"fontElementMap\": \"g8eop\",\n \"blockStyleSpacing\": \"REqSc\",\n \"codeParent\": \"_4ilD-\",\n \"codeBlock\": \"PEuC6 REqSc\",\n \"code\": \"N1k1B REqSc\",\n \"renderedInTable\": \"_66VPG\"\n};"],
|
|
5
5
|
"mappings": "AAAA,IAAI,gBAAgB;AACb,MAAM,aAAa,MAAM;AAC9B,MAAI,MAAM;AACV,MAAI,SAAS,OAAO,YAAY,eAAe,QAAQ,OAAO;AAE9D,MAAI,UAAU,CAAC,OAAO,OAAO,aAAa,aAAa;AAAE;AAAA,EAAQ;AACjE,MAAI,SAAS,cAAc,kCAAkC,gBAAgB,IAAI,GAAG;AAAE;AAAA,EAAQ;AAE9F,MAAI,OAAO,SAAS,QAAQ,SAAS,qBAAqB,MAAM,EAAE,CAAC;AACnE,MAAI,QAAQ,SAAS,cAAc,OAAO;AAC1C,QAAM,aAAa,yBAAyB,aAAa;AACzD,QAAM,OAAO;AAEb,OAAK,YAAY,KAAK;AAEtB,MAAI,MAAM,YAAY;AACpB,UAAM,WAAW,UAAU;AAAA,EAC7B,OAAO;AACL,UAAM,YAAY,SAAS,eAAe,GAAG,CAAC;AAAA,EAChD;AACF;AAEA,UAAU;AAIV,IAAO,qBAAQ;AAAA,EACb,kBAAkB;AAAA,EAClB,qBAAqB;AAAA,EACrB,cAAc;AAAA,EACd,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,mBAAmB;AACrB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
var collapsible_list_component_default = {
|
|
2
|
-
"ltr": "
|
|
3
|
-
"rtl": "
|
|
4
|
-
"iconContainer": "
|
|
5
|
-
"icon": "
|
|
6
|
-
"isExpanded": "
|
|
7
|
-
"listDimensions": "
|
|
2
|
+
"ltr": "q5Oum",
|
|
3
|
+
"rtl": "JOeUB",
|
|
4
|
+
"iconContainer": "BO22n",
|
|
5
|
+
"icon": "eWfLc",
|
|
6
|
+
"isExpanded": "b8Apb",
|
|
7
|
+
"listDimensions": "BxV84"
|
|
8
8
|
};
|
|
9
9
|
export {
|
|
10
10
|
collapsible_list_component_default as default
|
package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/plugin-collapsible-list/statics/styles/collapsible-list-component.scss"],
|
|
4
|
-
"sourcesContent": ["export default {\n \"ltr\": \"
|
|
4
|
+
"sourcesContent": ["export default {\n \"ltr\": \"q5Oum\",\n \"rtl\": \"JOeUB\",\n \"iconContainer\": \"BO22n\",\n \"icon\": \"eWfLc\",\n \"isExpanded\": \"b8Apb\",\n \"listDimensions\": \"BxV84\"\n};"],
|
|
5
5
|
"mappings": "AAAA,IAAO,qCAAQ;AAAA,EACb,OAAO;AAAA,EACP,OAAO;AAAA,EACP,iBAAiB;AAAA,EACjB,QAAQ;AAAA,EACR,cAAc;AAAA,EACd,kBAAkB;AACpB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
1
|
var collapsible_list_pair_default = {
|
|
2
|
-
"container": "
|
|
3
|
-
"title": "
|
|
4
|
-
"viewerContainer": "
|
|
5
|
-
"titleContainer": "
|
|
6
|
-
"expandIcon": "
|
|
7
|
-
"dndIcon": "
|
|
8
|
-
"RTL": "
|
|
9
|
-
"LTR": "
|
|
10
|
-
"itemContainer": "
|
|
11
|
-
"itemContainerViewer": "
|
|
12
|
-
"itemHeader": "
|
|
13
|
-
"itemBody": "
|
|
14
|
-
"expandIconPlaceholder": "
|
|
15
|
-
"mouseDown": "
|
|
16
|
-
"innerEditor": "
|
|
17
|
-
"item": "
|
|
18
|
-
"floatingAddPluginMenuWrapper": "
|
|
19
|
-
"childrenHidden": "
|
|
2
|
+
"container": "Ow9t-",
|
|
3
|
+
"title": "WTep9",
|
|
4
|
+
"viewerContainer": "Cz6sR",
|
|
5
|
+
"titleContainer": "U-ahr",
|
|
6
|
+
"expandIcon": "blui-",
|
|
7
|
+
"dndIcon": "ETv1c",
|
|
8
|
+
"RTL": "ZtAiB",
|
|
9
|
+
"LTR": "hxV2-",
|
|
10
|
+
"itemContainer": "PhhuS",
|
|
11
|
+
"itemContainerViewer": "Y7RD5",
|
|
12
|
+
"itemHeader": "GpPD7",
|
|
13
|
+
"itemBody": "o-LCl",
|
|
14
|
+
"expandIconPlaceholder": "mNldv",
|
|
15
|
+
"mouseDown": "_7aByQ",
|
|
16
|
+
"innerEditor": "llDGl",
|
|
17
|
+
"item": "_7aIOk",
|
|
18
|
+
"floatingAddPluginMenuWrapper": "zN7rJ",
|
|
19
|
+
"childrenHidden": "nROIE"
|
|
20
20
|
};
|
|
21
21
|
export {
|
|
22
22
|
collapsible_list_pair_default as default
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../../../src/plugin-collapsible-list/statics/styles/collapsible-list-pair.scss"],
|
|
4
|
-
"sourcesContent": ["export default {\n \"container\": \"
|
|
4
|
+
"sourcesContent": ["export default {\n \"container\": \"Ow9t-\",\n \"title\": \"WTep9\",\n \"viewerContainer\": \"Cz6sR\",\n \"titleContainer\": \"U-ahr\",\n \"expandIcon\": \"blui-\",\n \"dndIcon\": \"ETv1c\",\n \"RTL\": \"ZtAiB\",\n \"LTR\": \"hxV2-\",\n \"itemContainer\": \"PhhuS\",\n \"itemContainerViewer\": \"Y7RD5\",\n \"itemHeader\": \"GpPD7\",\n \"itemBody\": \"o-LCl\",\n \"expandIconPlaceholder\": \"mNldv\",\n \"mouseDown\": \"_7aByQ\",\n \"innerEditor\": \"llDGl\",\n \"item\": \"_7aIOk\",\n \"floatingAddPluginMenuWrapper\": \"zN7rJ\",\n \"childrenHidden\": \"nROIE\"\n};"],
|
|
5
5
|
"mappings": "AAAA,IAAO,gCAAQ;AAAA,EACb,aAAa;AAAA,EACb,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,kBAAkB;AAAA,EAClB,cAAc;AAAA,EACd,WAAW;AAAA,EACX,OAAO;AAAA,EACP,OAAO;AAAA,EACP,iBAAiB;AAAA,EACjB,uBAAuB;AAAA,EACvB,cAAc;AAAA,EACd,YAAY;AAAA,EACZ,yBAAyB;AAAA,EACzB,aAAa;AAAA,EACb,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,gCAAgC;AAAA,EAChC,kBAAkB;AACpB;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|