@wix/ricos 11.22.0 → 11.23.1

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.
Files changed (1153) hide show
  1. package/css/all-plugins-viewer.css +179 -179
  2. package/css/plugin-audio-viewer.global.css +3 -3
  3. package/css/plugin-audio-viewer.global.inject.mjs +4 -4
  4. package/css/plugin-button-viewer.global.css +1 -1
  5. package/css/plugin-button-viewer.global.inject.mjs +2 -2
  6. package/css/plugin-card-viewer.global.css +1 -1
  7. package/css/plugin-card-viewer.global.inject.mjs +2 -2
  8. package/css/plugin-collapsible-list-viewer.global.css +1 -1
  9. package/css/plugin-collapsible-list-viewer.global.inject.mjs +2 -2
  10. package/css/plugin-divider-viewer.global.css +1 -1
  11. package/css/plugin-divider-viewer.global.inject.mjs +2 -2
  12. package/css/plugin-file-upload-viewer.global.css +1 -1
  13. package/css/plugin-file-upload-viewer.global.inject.mjs +2 -2
  14. package/css/plugin-gallery-viewer.global.css +1 -1
  15. package/css/plugin-gallery-viewer.global.inject.mjs +2 -2
  16. package/css/plugin-giphy-viewer.global.css +1 -1
  17. package/css/plugin-giphy-viewer.global.inject.mjs +2 -2
  18. package/css/plugin-hashtag-viewer.global.css +1 -1
  19. package/css/plugin-hashtag-viewer.global.inject.mjs +2 -2
  20. package/css/plugin-html-viewer.global.css +1 -1
  21. package/css/plugin-html-viewer.global.inject.mjs +2 -2
  22. package/css/plugin-image-viewer.global.css +1 -1
  23. package/css/plugin-image-viewer.global.inject.mjs +2 -2
  24. package/css/plugin-link-preview-viewer.global.css +2 -2
  25. package/css/plugin-link-preview-viewer.global.inject.mjs +3 -3
  26. package/css/plugin-link-viewer.global.css +1 -1
  27. package/css/plugin-link-viewer.global.inject.mjs +2 -2
  28. package/css/plugin-mentions-viewer.global.css +1 -1
  29. package/css/plugin-mentions-viewer.global.inject.mjs +2 -2
  30. package/css/plugin-paywall-viewer.global.css +1 -1
  31. package/css/plugin-paywall-viewer.global.inject.mjs +2 -2
  32. package/css/plugin-smart-block-viewer.global.css +1 -1
  33. package/css/plugin-smart-block-viewer.global.inject.mjs +2 -2
  34. package/css/plugin-social-polls-viewer.global.css +1 -1
  35. package/css/plugin-social-polls-viewer.global.inject.mjs +2 -2
  36. package/css/plugin-spoiler-viewer.global.css +1 -1
  37. package/css/plugin-spoiler-viewer.global.inject.mjs +2 -2
  38. package/css/plugin-table-viewer.global.css +3 -3
  39. package/css/plugin-table-viewer.global.inject.mjs +4 -4
  40. package/css/plugin-toc-viewer.global.css +1 -1
  41. package/css/plugin-toc-viewer.global.inject.mjs +2 -2
  42. package/css/plugin-vertical-embed-viewer.global.css +2 -2
  43. package/css/plugin-vertical-embed-viewer.global.inject.mjs +3 -3
  44. package/css/plugin-video-viewer.global.css +1 -1
  45. package/css/plugin-video-viewer.global.inject.mjs +2 -2
  46. package/css/ricos-viewer.global.css +1 -1
  47. package/css/ricos-viewer.global.inject.mjs +2 -2
  48. package/dist/cjs/_shared/dropdown-modal/dropdown-modal-scss.js +2 -2
  49. package/dist/cjs/_shared/dropdown-modal/dropdown-modal-scss.js.map +1 -1
  50. package/dist/cjs/_shared/editor-base-url/editor-base-url-context.js +14 -13
  51. package/dist/cjs/_shared/editor-base-url/editor-base-url-context.js.map +3 -3
  52. package/dist/cjs/_shared/figure/add-caption-button-scss.js +9 -9
  53. package/dist/cjs/_shared/figure/add-caption-button-scss.js.map +1 -1
  54. package/dist/cjs/_shared/figure/viewer-caption-scss.js +2 -2
  55. package/dist/cjs/_shared/figure/viewer-caption-scss.js.map +1 -1
  56. package/dist/cjs/_shared/figure/viewer-figure-scss.js +1 -1
  57. package/dist/cjs/_shared/figure/viewer-figure-scss.js.map +1 -1
  58. package/dist/cjs/_shared/font-weight.js +27 -0
  59. package/dist/cjs/_shared/font-weight.js.map +7 -0
  60. package/dist/cjs/_shared/get-common-marker-style.js +35 -0
  61. package/dist/cjs/_shared/get-common-marker-style.js.map +7 -0
  62. package/dist/cjs/_shared/get-decorations-marker-style.js +58 -0
  63. package/dist/cjs/_shared/get-decorations-marker-style.js.map +7 -0
  64. package/dist/cjs/_shared/get-list-marker-style.js +43 -0
  65. package/dist/cjs/_shared/get-list-marker-style.js.map +7 -0
  66. package/dist/cjs/_shared/link-modal/open-link-modal/site-pages/site-pages.js +2 -4
  67. package/dist/cjs/_shared/link-modal/open-link-modal/site-pages/site-pages.js.map +2 -2
  68. package/dist/cjs/_shared/list-item-divider/list-item-divider-scss.js +1 -1
  69. package/dist/cjs/_shared/list-item-divider/list-item-divider-scss.js.map +1 -1
  70. package/dist/cjs/_shared/list-item-select/list-item-select-scss.js +2 -2
  71. package/dist/cjs/_shared/list-item-select/list-item-select-scss.js.map +1 -1
  72. package/dist/cjs/_shared/list-item-toggle/list-item-toggle-scss.js +3 -3
  73. package/dist/cjs/_shared/list-item-toggle/list-item-toggle-scss.js.map +1 -1
  74. package/dist/cjs/_shared/{site-pages/serverless-types/serverless-types.js → list-marker-style-scss.js} +11 -3
  75. package/dist/cjs/_shared/list-marker-style-scss.js.map +7 -0
  76. package/dist/cjs/_shared/overlay-hoc/overlay-hoc-scss.js +1 -1
  77. package/dist/cjs/_shared/overlay-hoc/overlay-hoc-scss.js.map +1 -1
  78. package/dist/cjs/_shared/plugin-toolbar/create-settings-button.js +7 -1
  79. package/dist/cjs/_shared/plugin-toolbar/create-settings-button.js.map +2 -2
  80. package/dist/cjs/_shared/plugin-toolbar/separator/toolbar-button-separator-scss.js +2 -2
  81. package/dist/cjs/_shared/plugin-toolbar/separator/toolbar-button-separator-scss.js.map +1 -1
  82. package/dist/cjs/_shared/plugin-toolbar/url-link-button/url-link-button-scss.js +2 -2
  83. package/dist/cjs/_shared/plugin-toolbar/url-link-button/url-link-button-scss.js.map +1 -1
  84. package/dist/cjs/_shared/pm-node-types.js.map +2 -2
  85. package/dist/cjs/_shared/prompt-input-area/attachment-bar/attachment-bar-scss.js +7 -7
  86. package/dist/cjs/_shared/prompt-input-area/attachment-bar/attachment-bar-scss.js.map +1 -1
  87. package/dist/cjs/_shared/prompt-input-area/prompt-input-area-scss.js +13 -13
  88. package/dist/cjs/_shared/prompt-input-area/prompt-input-area-scss.js.map +1 -1
  89. package/dist/cjs/_shared/prompt-input-area/widget-prompt-input-area-scss.js +8 -8
  90. package/dist/cjs/_shared/prompt-input-area/widget-prompt-input-area-scss.js.map +1 -1
  91. package/dist/cjs/_shared/shape-select-modal/shape-select-modal-content-scss.js +7 -7
  92. package/dist/cjs/_shared/shape-select-modal/shape-select-modal-content-scss.js.map +1 -1
  93. package/dist/cjs/_shared/shape-view-renderer/shape-view-renderer-scss.js +2 -2
  94. package/dist/cjs/_shared/shape-view-renderer/shape-view-renderer-scss.js.map +1 -1
  95. package/dist/cjs/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.js +93 -27
  96. package/dist/cjs/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.js.map +3 -3
  97. package/dist/cjs/_shared/site-pages/site-pages-fetch-context.js +2 -6
  98. package/dist/cjs/_shared/site-pages/site-pages-fetch-context.js.map +2 -2
  99. package/dist/cjs/_shared/site-pages/types.js.map +2 -2
  100. package/dist/cjs/_shared/toolbar-button/toolbar-button-scss.js +3 -3
  101. package/dist/cjs/_shared/toolbar-button/toolbar-button-scss.js.map +1 -1
  102. package/dist/cjs/bundled-dependencies/ai-assistant-avatar.js +4 -4
  103. package/dist/cjs/bundled-dependencies/ai-assistant-avatar.js.map +1 -1
  104. package/dist/cjs/editor-common/statics/styles/general-scss.js +18 -18
  105. package/dist/cjs/editor-common/statics/styles/general-scss.js.map +1 -1
  106. package/dist/cjs/index.js.map +2 -2
  107. package/dist/cjs/internal.js.map +2 -2
  108. package/dist/cjs/legacy.js.map +2 -2
  109. package/dist/cjs/plugin-ai/ai-content-modal/ai-content-modal-scss.js +8 -8
  110. package/dist/cjs/plugin-ai/ai-content-modal/ai-content-modal-scss.js.map +1 -1
  111. package/dist/cjs/plugin-ai/ai-content-modal/feed/feed-scss.js +2 -2
  112. package/dist/cjs/plugin-ai/ai-content-modal/feed/feed-scss.js.map +1 -1
  113. package/dist/cjs/plugin-ai/ai-content-modal/no-selection-message/no-selection-message-scss.js +1 -1
  114. package/dist/cjs/plugin-ai/ai-content-modal/no-selection-message/no-selection-message-scss.js.map +1 -1
  115. package/dist/cjs/plugin-ai/ai-content-modal/text-cursor/text-cursor-scss.js +2 -2
  116. package/dist/cjs/plugin-ai/ai-content-modal/text-cursor/text-cursor-scss.js.map +1 -1
  117. package/dist/cjs/plugin-ai/ai-content-modal/textual-prompt-input-area/textual-prompt-input-area-scss.js +5 -5
  118. package/dist/cjs/plugin-ai/ai-content-modal/textual-prompt-input-area/textual-prompt-input-area-scss.js.map +1 -1
  119. package/dist/cjs/plugin-ai/ai-image-modal/ai-image-modal-scss.js +6 -6
  120. package/dist/cjs/plugin-ai/ai-image-modal/ai-image-modal-scss.js.map +1 -1
  121. package/dist/cjs/plugin-ai/ai-plus-button/ai-plus-button-scss.js +1 -1
  122. package/dist/cjs/plugin-ai/ai-plus-button/ai-plus-button-scss.js.map +1 -1
  123. package/dist/cjs/plugin-ai/error-message/error-message-scss.js +1 -1
  124. package/dist/cjs/plugin-ai/error-message/error-message-scss.js.map +1 -1
  125. package/dist/cjs/plugin-ai/prompt-input-area/prompt-input-area-scss.js +4 -4
  126. package/dist/cjs/plugin-ai/prompt-input-area/prompt-input-area-scss.js.map +1 -1
  127. package/dist/cjs/plugin-ai/toolbar/toolbar-button-scss.js +2 -2
  128. package/dist/cjs/plugin-ai/toolbar/toolbar-button-scss.js.map +1 -1
  129. package/dist/cjs/plugin-animation/animation-panel-scss.js +9 -9
  130. package/dist/cjs/plugin-animation/animation-panel-scss.js.map +1 -1
  131. package/dist/cjs/plugin-audio/statics/styles/audio-embed-scss.js +1 -1
  132. package/dist/cjs/plugin-audio/statics/styles/audio-embed-scss.js.map +1 -1
  133. package/dist/cjs/plugin-audio/statics/styles/audio-scss.js +21 -21
  134. package/dist/cjs/plugin-audio/statics/styles/audio-scss.js.map +1 -1
  135. package/dist/cjs/plugin-audio/statics/styles/icon-button-scss.js +1 -1
  136. package/dist/cjs/plugin-audio/statics/styles/icon-button-scss.js.map +1 -1
  137. package/dist/cjs/plugin-audio/statics/styles/settings-modal-scss.js +1 -1
  138. package/dist/cjs/plugin-audio/statics/styles/settings-modal-scss.js.map +1 -1
  139. package/dist/cjs/plugin-audio/statics/styles/sound-control-scss.js +2 -2
  140. package/dist/cjs/plugin-audio/statics/styles/sound-control-scss.js.map +1 -1
  141. package/dist/cjs/plugin-block-drag-handle/box-select.js +1 -0
  142. package/dist/cjs/plugin-block-drag-handle/box-select.js.map +2 -2
  143. package/dist/cjs/plugin-block-drag-handle/dom.js +20 -8
  144. package/dist/cjs/plugin-block-drag-handle/dom.js.map +2 -2
  145. package/dist/cjs/plugin-block-drag-handle/plugin.js +35 -4
  146. package/dist/cjs/plugin-block-drag-handle/plugin.js.map +2 -2
  147. package/dist/cjs/plugin-block-drag-handle/styles-scss.js +8 -8
  148. package/dist/cjs/plugin-block-drag-handle/styles-scss.js.map +1 -1
  149. package/dist/cjs/plugin-button/statics/styles/button-input-modal-scss.js +2 -2
  150. package/dist/cjs/plugin-button/statics/styles/button-input-modal-scss.js.map +1 -1
  151. package/dist/cjs/plugin-button/statics/styles/button-text-field-scss.js +1 -1
  152. package/dist/cjs/plugin-button/statics/styles/button-text-field-scss.js.map +1 -1
  153. package/dist/cjs/plugin-button/statics/styles/default-styles-scss.js +5 -5
  154. package/dist/cjs/plugin-button/statics/styles/default-styles-scss.js.map +1 -1
  155. package/dist/cjs/plugin-card/card-node-view.js +39 -35
  156. package/dist/cjs/plugin-card/card-node-view.js.map +2 -2
  157. package/dist/cjs/plugin-card/card-scss.js +20 -19
  158. package/dist/cjs/plugin-card/card-scss.js.map +2 -2
  159. package/dist/cjs/plugin-card/card-viewer-scss.js +6 -6
  160. package/dist/cjs/plugin-card/card-viewer-scss.js.map +1 -1
  161. package/dist/cjs/plugin-card/extension.js +3 -1
  162. package/dist/cjs/plugin-card/extension.js.map +2 -2
  163. package/dist/cjs/plugin-card/index.js.map +1 -1
  164. package/dist/cjs/plugin-card/page-gap.js +3 -1
  165. package/dist/cjs/plugin-card/page-gap.js.map +2 -2
  166. package/dist/cjs/plugin-card/types-next.js.map +1 -1
  167. package/dist/cjs/plugin-card/types.js.map +1 -1
  168. package/dist/cjs/plugin-code-block/statics/styles/code-block-scss.js +6 -6
  169. package/dist/cjs/plugin-code-block/statics/styles/code-block-scss.js.map +1 -1
  170. package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js +6 -6
  171. package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js.map +1 -1
  172. package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-pair-scss.js +18 -18
  173. package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-pair-scss.js.map +1 -1
  174. package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-settings-scss.js +2 -2
  175. package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-settings-scss.js.map +1 -1
  176. package/dist/cjs/plugin-collapsible-list/statics/styles/new-pair-button-scss.js +3 -3
  177. package/dist/cjs/plugin-collapsible-list/statics/styles/new-pair-button-scss.js.map +1 -1
  178. package/dist/cjs/plugin-divider/statics/styles/divider-viewer-scss.js +13 -13
  179. package/dist/cjs/plugin-divider/statics/styles/divider-viewer-scss.js.map +1 -1
  180. package/dist/cjs/plugin-divider/toolbar/modals/divider-design-panel-scss.js +1 -1
  181. package/dist/cjs/plugin-divider/toolbar/modals/divider-design-panel-scss.js.map +1 -1
  182. package/dist/cjs/plugin-emoji/modals/emoji-suggestions-modal-scss.js +1 -1
  183. package/dist/cjs/plugin-emoji/modals/emoji-suggestions-modal-scss.js.map +1 -1
  184. package/dist/cjs/plugin-figure/tiptap/caption-scss.js +3 -3
  185. package/dist/cjs/plugin-figure/tiptap/caption-scss.js.map +1 -1
  186. package/dist/cjs/plugin-figure/tiptap/figure-scss.js +3 -3
  187. package/dist/cjs/plugin-figure/tiptap/figure-scss.js.map +1 -1
  188. package/dist/cjs/plugin-file-upload/statics/styles/file-upload-viewer-scss.js +15 -15
  189. package/dist/cjs/plugin-file-upload/statics/styles/file-upload-viewer-scss.js.map +1 -1
  190. package/dist/cjs/plugin-gallery/modals/settings/gallery-settings-modal-scss.js +3 -3
  191. package/dist/cjs/plugin-gallery/modals/settings/gallery-settings-modal-scss.js.map +1 -1
  192. package/dist/cjs/plugin-gallery/modals/settings/layout-settings/layout-controls-section/image-ratio-control-scss.js +6 -6
  193. package/dist/cjs/plugin-gallery/modals/settings/layout-settings/layout-controls-section/image-ratio-control-scss.js.map +1 -1
  194. package/dist/cjs/plugin-gallery/modals/settings/layout-settings/layout-controls-section/thumbnail-alignment-control-scss.js +5 -5
  195. package/dist/cjs/plugin-gallery/modals/settings/layout-settings/layout-controls-section/thumbnail-alignment-control-scss.js.map +1 -1
  196. package/dist/cjs/plugin-gallery/modals/settings/media-settings/media-list/sortable-item-scss.js +1 -1
  197. package/dist/cjs/plugin-gallery/modals/settings/media-settings/media-list/sortable-item-scss.js.map +1 -1
  198. package/dist/cjs/plugin-gallery/modals/settings/media-settings/media-list/sortable-list-scss.js +3 -3
  199. package/dist/cjs/plugin-gallery/modals/settings/media-settings/media-list/sortable-list-scss.js.map +1 -1
  200. package/dist/cjs/plugin-gallery/statics/styles/gallery-component-scss.js +1 -1
  201. package/dist/cjs/plugin-gallery/statics/styles/gallery-component-scss.js.map +1 -1
  202. package/dist/cjs/plugin-gallery/statics/styles/gallery-media-scss.js +21 -21
  203. package/dist/cjs/plugin-gallery/statics/styles/gallery-media-scss.js.map +1 -1
  204. package/dist/cjs/plugin-gallery/statics/styles/viewer-scss.js +1 -1
  205. package/dist/cjs/plugin-gallery/statics/styles/viewer-scss.js.map +1 -1
  206. package/dist/cjs/plugin-gallery/viewer/layout-collage-scss.js +5 -5
  207. package/dist/cjs/plugin-gallery/viewer/layout-collage-scss.js.map +1 -1
  208. package/dist/cjs/plugin-gallery/viewer/layout-column-scss.js +4 -4
  209. package/dist/cjs/plugin-gallery/viewer/layout-column-scss.js.map +1 -1
  210. package/dist/cjs/plugin-gallery/viewer/layout-fullsize-scss.js +4 -4
  211. package/dist/cjs/plugin-gallery/viewer/layout-fullsize-scss.js.map +1 -1
  212. package/dist/cjs/plugin-gallery/viewer/layout-grid-scss.js +2 -2
  213. package/dist/cjs/plugin-gallery/viewer/layout-grid-scss.js.map +1 -1
  214. package/dist/cjs/plugin-gallery/viewer/layout-masonry-scss.js +7 -7
  215. package/dist/cjs/plugin-gallery/viewer/layout-masonry-scss.js.map +1 -1
  216. package/dist/cjs/plugin-gallery/viewer/layout-panorama-scss.js +1 -1
  217. package/dist/cjs/plugin-gallery/viewer/layout-panorama-scss.js.map +1 -1
  218. package/dist/cjs/plugin-gallery/viewer/layout-slider-scss.js +6 -6
  219. package/dist/cjs/plugin-gallery/viewer/layout-slider-scss.js.map +1 -1
  220. package/dist/cjs/plugin-gallery/viewer/layout-thumbnail-scss.js +11 -11
  221. package/dist/cjs/plugin-gallery/viewer/layout-thumbnail-scss.js.map +1 -1
  222. package/dist/cjs/plugin-giphy/components/giphy-selector-scss.js +9 -9
  223. package/dist/cjs/plugin-giphy/components/giphy-selector-scss.js.map +1 -1
  224. package/dist/cjs/plugin-giphy/viewer/giphy-viewer-scss.js +4 -4
  225. package/dist/cjs/plugin-giphy/viewer/giphy-viewer-scss.js.map +1 -1
  226. package/dist/cjs/plugin-giphy/viewer/play-icon-scss.js +2 -2
  227. package/dist/cjs/plugin-giphy/viewer/play-icon-scss.js.map +1 -1
  228. package/dist/cjs/plugin-hashtag/statics/hashtag-scss.js +2 -2
  229. package/dist/cjs/plugin-hashtag/statics/hashtag-scss.js.map +1 -1
  230. package/dist/cjs/plugin-headings/dropdown/headings-dropdown-scss.js +5 -5
  231. package/dist/cjs/plugin-headings/dropdown/headings-dropdown-scss.js.map +1 -1
  232. package/dist/cjs/plugin-html/statics/styles/HtmlComponent-scss.js +2 -2
  233. package/dist/cjs/plugin-html/statics/styles/HtmlComponent-scss.js.map +1 -1
  234. package/dist/cjs/plugin-html/statics/styles/Iframe-scss.js +1 -1
  235. package/dist/cjs/plugin-html/statics/styles/Iframe-scss.js.map +1 -1
  236. package/dist/cjs/plugin-html/tiptap/ai-widget-scss.js +2 -2
  237. package/dist/cjs/plugin-html/tiptap/ai-widget-scss.js.map +1 -1
  238. package/dist/cjs/plugin-html/tiptap/loader-scss.js +9 -9
  239. package/dist/cjs/plugin-html/tiptap/loader-scss.js.map +1 -1
  240. package/dist/cjs/plugin-html/tiptap/preset-bar/preset-bar-scss.js +2 -2
  241. package/dist/cjs/plugin-html/tiptap/preset-bar/preset-bar-scss.js.map +1 -1
  242. package/dist/cjs/plugin-image/components/corner-radius-handles-scss.js +4 -4
  243. package/dist/cjs/plugin-image/components/corner-radius-handles-scss.js.map +1 -1
  244. package/dist/cjs/plugin-image/components/crop-edge-handles-scss.js +1 -1
  245. package/dist/cjs/plugin-image/components/crop-edge-handles-scss.js.map +1 -1
  246. package/dist/cjs/plugin-image/crop-overlay/crop-overlay-scss.js +14 -14
  247. package/dist/cjs/plugin-image/crop-overlay/crop-overlay-scss.js.map +1 -1
  248. package/dist/cjs/plugin-image/statics/styles/image-viewer-scss.js +20 -20
  249. package/dist/cjs/plugin-image/statics/styles/image-viewer-scss.js.map +1 -1
  250. package/dist/cjs/plugin-image/statics/styles/settings-modal-scss.js +1 -1
  251. package/dist/cjs/plugin-image/statics/styles/settings-modal-scss.js.map +1 -1
  252. package/dist/cjs/plugin-image/toolbar/shape-crop-modal-scss.js +4 -4
  253. package/dist/cjs/plugin-image/toolbar/shape-crop-modal-scss.js.map +1 -1
  254. package/dist/cjs/plugin-inline-ai/ai-selection-tooltip-scss.js +10 -10
  255. package/dist/cjs/plugin-inline-ai/ai-selection-tooltip-scss.js.map +1 -1
  256. package/dist/cjs/plugin-inline-ai/aria-avatar-row-scss.js +1 -1
  257. package/dist/cjs/plugin-inline-ai/aria-avatar-row-scss.js.map +1 -1
  258. package/dist/cjs/plugin-inline-ai/aria-surface-row-scss.js +4 -4
  259. package/dist/cjs/plugin-inline-ai/aria-surface-row-scss.js.map +1 -1
  260. package/dist/cjs/plugin-inline-ai/html-placeholder-scss.js +3 -3
  261. package/dist/cjs/plugin-inline-ai/html-placeholder-scss.js.map +1 -1
  262. package/dist/cjs/plugin-inline-ai/modal-scss.js +9 -9
  263. package/dist/cjs/plugin-inline-ai/modal-scss.js.map +1 -1
  264. package/dist/cjs/plugin-inline-ai/pending-widget-placeholder-scss.js +12 -12
  265. package/dist/cjs/plugin-inline-ai/pending-widget-placeholder-scss.js.map +1 -1
  266. package/dist/cjs/plugin-inline-ai/spinner-scss.js +2 -2
  267. package/dist/cjs/plugin-inline-ai/spinner-scss.js.map +1 -1
  268. package/dist/cjs/plugin-inline-ai/toolbar/toolbar-button-scss.js +2 -2
  269. package/dist/cjs/plugin-inline-ai/toolbar/toolbar-button-scss.js.map +1 -1
  270. package/dist/cjs/plugin-line-spacing/custom-spacing-editor-modal/custom-spacing-editor-modal-scss.js +1 -1
  271. package/dist/cjs/plugin-line-spacing/custom-spacing-editor-modal/custom-spacing-editor-modal-scss.js.map +1 -1
  272. package/dist/cjs/plugin-link/editor.js +2 -2
  273. package/dist/cjs/plugin-link/editor.js.map +2 -2
  274. package/dist/cjs/plugin-link/statics/link-viewer-scss.js +4 -4
  275. package/dist/cjs/plugin-link/statics/link-viewer-scss.js.map +1 -1
  276. package/dist/cjs/plugin-link/toolbar/anchor-link-button-scss.js +1 -1
  277. package/dist/cjs/plugin-link/toolbar/anchor-link-button-scss.js.map +1 -1
  278. package/dist/cjs/plugin-link-preview/statics/styles/insert-modal-scss.js +1 -1
  279. package/dist/cjs/plugin-link-preview/statics/styles/insert-modal-scss.js.map +1 -1
  280. package/dist/cjs/plugin-link-preview/statics/styles/link-preview-scss.js +18 -18
  281. package/dist/cjs/plugin-link-preview/statics/styles/link-preview-scss.js.map +1 -1
  282. package/dist/cjs/plugin-link-preview/statics/styles/settings-modal-scss.js +1 -1
  283. package/dist/cjs/plugin-link-preview/statics/styles/settings-modal-scss.js.map +1 -1
  284. package/dist/cjs/plugin-mentions/statics/mention-list-scss.js +3 -3
  285. package/dist/cjs/plugin-mentions/statics/mention-list-scss.js.map +1 -1
  286. package/dist/cjs/plugin-mentions/statics/mentions-scss.js +4 -4
  287. package/dist/cjs/plugin-mentions/statics/mentions-scss.js.map +1 -1
  288. package/dist/cjs/plugin-paywall/paywall-fallback-scss.js +1 -1
  289. package/dist/cjs/plugin-paywall/paywall-fallback-scss.js.map +1 -1
  290. package/dist/cjs/plugin-paywall/plugin-paywall.js.map +2 -2
  291. package/dist/cjs/plugin-smart-block/components/cell-accessory-scss.js +22 -22
  292. package/dist/cjs/plugin-smart-block/components/cell-accessory-scss.js.map +1 -1
  293. package/dist/cjs/plugin-smart-block/components/cell-quote-glyph-scss.js +3 -3
  294. package/dist/cjs/plugin-smart-block/components/cell-quote-glyph-scss.js.map +1 -1
  295. package/dist/cjs/plugin-smart-block/components/cell-star-rating-scss.js +4 -4
  296. package/dist/cjs/plugin-smart-block/components/cell-star-rating-scss.js.map +1 -1
  297. package/dist/cjs/plugin-smart-block/components/cell-stat-scss.js +20 -20
  298. package/dist/cjs/plugin-smart-block/components/cell-stat-scss.js.map +1 -1
  299. package/dist/cjs/plugin-smart-block/components/circle-donut-scss.js +7 -7
  300. package/dist/cjs/plugin-smart-block/components/circle-donut-scss.js.map +1 -1
  301. package/dist/cjs/plugin-smart-block/components/shape-overlay-scss.js +1 -1
  302. package/dist/cjs/plugin-smart-block/components/shape-overlay-scss.js.map +1 -1
  303. package/dist/cjs/plugin-smart-block/components/smart-block-view-scss.js +50 -50
  304. package/dist/cjs/plugin-smart-block/components/smart-block-view-scss.js.map +1 -1
  305. package/dist/cjs/plugin-smart-block/components/stars-scss.js +8 -8
  306. package/dist/cjs/plugin-smart-block/components/stars-scss.js.map +1 -1
  307. package/dist/cjs/plugin-smart-block/modals/variant-picker-scss.js +7 -7
  308. package/dist/cjs/plugin-smart-block/modals/variant-picker-scss.js.map +1 -1
  309. package/dist/cjs/plugin-smart-block/tiptap/smart-block-editor-scss.js +13 -13
  310. package/dist/cjs/plugin-smart-block/tiptap/smart-block-editor-scss.js.map +1 -1
  311. package/dist/cjs/plugin-social-polls/components/image-upload/image-upload-scss.js +9 -9
  312. package/dist/cjs/plugin-social-polls/components/image-upload/image-upload-scss.js.map +1 -1
  313. package/dist/cjs/plugin-social-polls/components/insert-modal/insert-modal-scss.js +1 -1
  314. package/dist/cjs/plugin-social-polls/components/insert-modal/insert-modal-scss.js.map +1 -1
  315. package/dist/cjs/plugin-social-polls/components/poll-header/poll-header-scss.js +3 -3
  316. package/dist/cjs/plugin-social-polls/components/poll-header/poll-header-scss.js.map +1 -1
  317. package/dist/cjs/plugin-social-polls/components/poll-option/option-scss.js +23 -23
  318. package/dist/cjs/plugin-social-polls/components/poll-option/option-scss.js.map +1 -1
  319. package/dist/cjs/plugin-social-polls/components/poll-option/webview/option-webview-scss.js +24 -24
  320. package/dist/cjs/plugin-social-polls/components/poll-option/webview/option-webview-scss.js.map +1 -1
  321. package/dist/cjs/plugin-social-polls/components/poll-scss.js +19 -19
  322. package/dist/cjs/plugin-social-polls/components/poll-scss.js.map +1 -1
  323. package/dist/cjs/plugin-social-polls/components/settings-modal/settings-modal-scss.js +2 -2
  324. package/dist/cjs/plugin-social-polls/components/settings-modal/settings-modal-scss.js.map +1 -1
  325. package/dist/cjs/plugin-social-polls/components/text-field/text-field-scss.js +12 -12
  326. package/dist/cjs/plugin-social-polls/components/text-field/text-field-scss.js.map +1 -1
  327. package/dist/cjs/plugin-social-polls/components/voted-users/voted-users-scss.js +20 -20
  328. package/dist/cjs/plugin-social-polls/components/voted-users/voted-users-scss.js.map +1 -1
  329. package/dist/cjs/plugin-spoiler/get-text-buttons.js +2 -2
  330. package/dist/cjs/plugin-spoiler/get-text-buttons.js.map +2 -2
  331. package/dist/cjs/plugin-spoiler/statics/styles/spoiler-scss.js +18 -18
  332. package/dist/cjs/plugin-spoiler/statics/styles/spoiler-scss.js.map +1 -1
  333. package/dist/cjs/plugin-table/modals/table-grid-selector-scss.js +5 -5
  334. package/dist/cjs/plugin-table/modals/table-grid-selector-scss.js.map +1 -1
  335. package/dist/cjs/plugin-table/statics/styles/cell-scss.js +15 -15
  336. package/dist/cjs/plugin-table/statics/styles/cell-scss.js.map +1 -1
  337. package/dist/cjs/plugin-table/statics/styles/resizer-scss.js +18 -18
  338. package/dist/cjs/plugin-table/statics/styles/resizer-scss.js.map +1 -1
  339. package/dist/cjs/plugin-table/statics/styles/table-settings-modal-scss.js +1 -1
  340. package/dist/cjs/plugin-table/statics/styles/table-settings-modal-scss.js.map +1 -1
  341. package/dist/cjs/plugin-table/statics/styles/table-viewer-scss.js +6 -6
  342. package/dist/cjs/plugin-table/statics/styles/table-viewer-scss.js.map +1 -1
  343. package/dist/cjs/plugin-table/tiptap/decorations/tableHandles-scss.js +9 -9
  344. package/dist/cjs/plugin-table/tiptap/decorations/tableHandles-scss.js.map +1 -1
  345. package/dist/cjs/plugin-table/tiptap/plugins/table-scss.js +33 -33
  346. package/dist/cjs/plugin-table/tiptap/plugins/table-scss.js.map +1 -1
  347. package/dist/cjs/plugin-table/toolbar/modals/border-scope-selector-scss.js +2 -2
  348. package/dist/cjs/plugin-table/toolbar/modals/border-scope-selector-scss.js.map +1 -1
  349. package/dist/cjs/plugin-text-color/sketch/text-highlight-button.js +2 -2
  350. package/dist/cjs/plugin-text-color/sketch/text-highlight-button.js.map +2 -2
  351. package/dist/cjs/plugin-text-color/text-button-color-scss.js +2 -2
  352. package/dist/cjs/plugin-text-color/text-button-color-scss.js.map +1 -1
  353. package/dist/cjs/plugin-toc/toc-view-scss.js +2 -2
  354. package/dist/cjs/plugin-toc/toc-view-scss.js.map +1 -1
  355. package/dist/cjs/plugin-vertical-embed/components/Ribbon-scss.js +3 -3
  356. package/dist/cjs/plugin-vertical-embed/components/Ribbon-scss.js.map +1 -1
  357. package/dist/cjs/plugin-vertical-embed/components/card-content-scss.js +23 -23
  358. package/dist/cjs/plugin-vertical-embed/components/card-content-scss.js.map +1 -1
  359. package/dist/cjs/plugin-vertical-embed/components/card-scss.js +19 -19
  360. package/dist/cjs/plugin-vertical-embed/components/card-scss.js.map +1 -1
  361. package/dist/cjs/plugin-vertical-embed/components/description-scss.js +2 -2
  362. package/dist/cjs/plugin-vertical-embed/components/description-scss.js.map +1 -1
  363. package/dist/cjs/plugin-vertical-embed/modals/settings-modal-scss.js +2 -2
  364. package/dist/cjs/plugin-vertical-embed/modals/settings-modal-scss.js.map +1 -1
  365. package/dist/cjs/plugin-vertical-embed/tiptap/component-scss.js +10 -10
  366. package/dist/cjs/plugin-vertical-embed/tiptap/component-scss.js.map +1 -1
  367. package/dist/cjs/plugin-vertical-embed/toolbar/items-list-scss.js +1 -1
  368. package/dist/cjs/plugin-vertical-embed/toolbar/items-list-scss.js.map +1 -1
  369. package/dist/cjs/plugin-vertical-embed/viewer/vertical-embed-viewer-scss.js +6 -6
  370. package/dist/cjs/plugin-vertical-embed/viewer/vertical-embed-viewer-scss.js.map +1 -1
  371. package/dist/cjs/plugin-video/statics/styles/default-video-styles-scss.js +8 -8
  372. package/dist/cjs/plugin-video/statics/styles/default-video-styles-scss.js.map +1 -1
  373. package/dist/cjs/plugin-video/statics/styles/video-viewer-scss.js +3 -3
  374. package/dist/cjs/plugin-video/statics/styles/video-viewer-scss.js.map +1 -1
  375. package/dist/cjs/plugin-video/toolbar/embed-video-scss.js +1 -1
  376. package/dist/cjs/plugin-video/toolbar/embed-video-scss.js.map +1 -1
  377. package/dist/cjs/plugin-video/viewer/video.js +30 -2
  378. package/dist/cjs/plugin-video/viewer/video.js.map +3 -3
  379. package/dist/cjs/ricos-common-plugins/bold/extension.js +4 -5
  380. package/dist/cjs/ricos-common-plugins/bold/extension.js.map +2 -2
  381. package/dist/cjs/ricos-common-plugins/decoration-plugins/list-item-sizing.js +13 -1
  382. package/dist/cjs/ricos-common-plugins/decoration-plugins/list-item-sizing.js.map +2 -2
  383. package/dist/cjs/ricos-common-plugins/font-size/block-font-size-plugin.js +2 -1
  384. package/dist/cjs/ricos-common-plugins/font-size/block-font-size-plugin.js.map +2 -2
  385. package/dist/cjs/ricos-common-plugins/font-size/dropdown/font-size-dropdown-scss.js +1 -1
  386. package/dist/cjs/ricos-common-plugins/font-size/dropdown/font-size-dropdown-scss.js.map +1 -1
  387. package/dist/cjs/ricos-common-plugins/gap-spacer/gap-spacer-component/gap-spacer-styles-scss.js +8 -8
  388. package/dist/cjs/ricos-common-plugins/gap-spacer/gap-spacer-component/gap-spacer-styles-scss.js.map +1 -1
  389. package/dist/cjs/ricos-common-plugins/layout/layouts-scss.js +33 -33
  390. package/dist/cjs/ricos-common-plugins/layout/layouts-scss.js.map +1 -1
  391. package/dist/cjs/ricos-common-plugins/layout/paywall-toolbar-button.js +100 -0
  392. package/dist/cjs/ricos-common-plugins/layout/paywall-toolbar-button.js.map +7 -0
  393. package/dist/cjs/ricos-common-plugins/layout/plugin-layout.js +178 -173
  394. package/dist/cjs/ricos-common-plugins/layout/plugin-layout.js.map +2 -2
  395. package/dist/cjs/ricos-common-plugins/layout/section-dividers/section-dividers-panel-scss.js +2 -2
  396. package/dist/cjs/ricos-common-plugins/layout/section-dividers/section-dividers-panel-scss.js.map +1 -1
  397. package/dist/cjs/ricos-common-plugins/layout/section-dividers/section-dividers-scss.js +4 -4
  398. package/dist/cjs/ricos-common-plugins/layout/section-dividers/section-dividers-scss.js.map +1 -1
  399. package/dist/cjs/ricos-common-plugins/list-item/extension.js +9 -0
  400. package/dist/cjs/ricos-common-plugins/list-item/extension.js.map +2 -2
  401. package/dist/cjs/ricos-common-plugins/list-item/list-converters.js +5 -3
  402. package/dist/cjs/ricos-common-plugins/list-item/list-converters.js.map +2 -2
  403. package/dist/cjs/ricos-common-plugins/list-item/list-marker-selection.js +291 -0
  404. package/dist/cjs/ricos-common-plugins/list-item/list-marker-selection.js.map +7 -0
  405. package/dist/cjs/ricos-common-plugins/quick-actions/modal/modal-scss.js +2 -2
  406. package/dist/cjs/ricos-common-plugins/quick-actions/modal/modal-scss.js.map +1 -1
  407. package/dist/cjs/ricos-common-plugins/statics/styles-scss.js +18 -18
  408. package/dist/cjs/ricos-common-plugins/statics/styles-scss.js.map +1 -1
  409. package/dist/cjs/ricos-common-plugins/strikethrough/strikethrough.js +2 -2
  410. package/dist/cjs/ricos-common-plugins/strikethrough/strikethrough.js.map +2 -2
  411. package/dist/cjs/ricos-common-plugins/strikethrough/strikethrough.testkit.js +1 -0
  412. package/dist/cjs/ricos-common-plugins/strikethrough/strikethrough.testkit.js.map +2 -2
  413. package/dist/cjs/ricos-common-plugins/title/headings-scss.js +8 -8
  414. package/dist/cjs/ricos-common-plugins/title/headings-scss.js.map +1 -1
  415. package/dist/cjs/ricos-common-plugins/underline/underline.js +2 -2
  416. package/dist/cjs/ricos-common-plugins/underline/underline.js.map +2 -2
  417. package/dist/cjs/ricos-editor/statics/styles/editor-styles-scss.js +9 -9
  418. package/dist/cjs/ricos-editor/statics/styles/editor-styles-scss.js.map +1 -1
  419. package/dist/cjs/ricos-modals/statics/styles/drawer-scss.js +9 -9
  420. package/dist/cjs/ricos-modals/statics/styles/drawer-scss.js.map +1 -1
  421. package/dist/cjs/ricos-modals/statics/styles/fullscreen-scss.js +1 -1
  422. package/dist/cjs/ricos-modals/statics/styles/fullscreen-scss.js.map +1 -1
  423. package/dist/cjs/ricos-modals/statics/styles/popper-scss.js +3 -3
  424. package/dist/cjs/ricos-modals/statics/styles/popper-scss.js.map +1 -1
  425. package/dist/cjs/ricos-schema/next-schema/version.js +1 -1
  426. package/dist/cjs/ricos-schema/next-schema/version.js.map +1 -1
  427. package/dist/cjs/ricos-styles/statics/styles/style-presets-scss.js +4 -4
  428. package/dist/cjs/ricos-styles/statics/styles/style-presets-scss.js.map +1 -1
  429. package/dist/cjs/ricos-types/next/ricos-types.js.map +1 -1
  430. package/dist/cjs/ricos-types/ricos-types.js.map +1 -1
  431. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/blockquote/blockquote-scss.js +3 -3
  432. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/blockquote/blockquote-scss.js.map +1 -1
  433. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock-scss.js +3 -3
  434. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock-scss.js.map +1 -1
  435. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading-scss.js +9 -9
  436. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading-scss.js.map +1 -1
  437. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/layout/layout-scss.js +10 -10
  438. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/layout/layout-scss.js.map +1 -1
  439. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.js +10 -1
  440. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.js.map +2 -2
  441. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/lists/lists-scss.js +6 -6
  442. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/lists/lists-scss.js.map +1 -1
  443. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph-scss.js +4 -4
  444. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph-scss.js.map +1 -1
  445. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/link-viewer-wrapper-scss.js +2 -2
  446. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/link-viewer-wrapper-scss.js.map +1 -1
  447. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/plugin-scss.js +15 -15
  448. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/plugin-scss.js.map +1 -1
  449. package/dist/cjs/ricos-viewer-next/modals/fullscreen/fullscreen-scss.js +12 -12
  450. package/dist/cjs/ricos-viewer-next/modals/fullscreen/fullscreen-scss.js.map +1 -1
  451. package/dist/cjs/ricos-viewer-next/statics/alignment-scss.js +16 -16
  452. package/dist/cjs/ricos-viewer-next/statics/alignment-scss.js.map +1 -1
  453. package/dist/cjs/ricos-viewer-next/statics/indentation-scss.js +7 -7
  454. package/dist/cjs/ricos-viewer-next/statics/indentation-scss.js.map +1 -1
  455. package/dist/cjs/ricos-viewer-next/statics/rich-content-viewer-scss.js +9 -9
  456. package/dist/cjs/ricos-viewer-next/statics/rich-content-viewer-scss.js.map +1 -1
  457. package/dist/cjs/ricos-viewer-next/statics/rtl-scss.js +2 -2
  458. package/dist/cjs/ricos-viewer-next/statics/rtl-scss.js.map +1 -1
  459. package/dist/cjs/text-selection-toolbar/statics/styles/viewer-inline-toolbar-scss.js +2 -2
  460. package/dist/cjs/text-selection-toolbar/statics/styles/viewer-inline-toolbar-scss.js.map +1 -1
  461. package/dist/cjs/tiptap/core/editor.js +5 -2
  462. package/dist/cjs/tiptap/core/editor.js.map +2 -2
  463. package/dist/cjs/tiptap-editor/statics/styles/tiptap-editor-styles-scss.js +13 -13
  464. package/dist/cjs/tiptap-editor/statics/styles/tiptap-editor-styles-scss.js.map +1 -1
  465. package/dist/cjs/tiptap-extensions/placeholder-scss.js +1 -1
  466. package/dist/cjs/tiptap-extensions/placeholder-scss.js.map +1 -1
  467. package/dist/cjs/tiptap-extensions/statics/styles-scss.js +4 -4
  468. package/dist/cjs/tiptap-extensions/statics/styles-scss.js.map +1 -1
  469. package/dist/cjs/toolbars-v3/components/InsertPluginToolbar/insert-plugin-toolbar-scss.js +1 -1
  470. package/dist/cjs/toolbars-v3/components/InsertPluginToolbar/insert-plugin-toolbar-scss.js.map +1 -1
  471. package/dist/cjs/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.js +2 -1
  472. package/dist/cjs/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.js.map +2 -2
  473. package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/OverflownButtons-scss.js +3 -3
  474. package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/OverflownButtons-scss.js.map +1 -1
  475. package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbar-scss.js +3 -3
  476. package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbar-scss.js.map +1 -1
  477. package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbarWrapper-scss.js +4 -4
  478. package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbarWrapper-scss.js.map +1 -1
  479. package/dist/cjs/toolbars-v3/components/Toolbar/RicosMobileToolbar/RicosMobileToolbar-scss.js +9 -9
  480. package/dist/cjs/toolbars-v3/components/Toolbar/RicosMobileToolbar/RicosMobileToolbar-scss.js.map +1 -1
  481. package/dist/cjs/toolbars-v3/components/Toolbar/RicosMobileToolbar/mobile-toolbar-overlay/mobile-toolbar-overlay-scss.js +1 -1
  482. package/dist/cjs/toolbars-v3/components/Toolbar/RicosMobileToolbar/mobile-toolbar-overlay/mobile-toolbar-overlay-scss.js.map +1 -1
  483. package/dist/cjs/toolbars-v3/components/buttons/AddPluginMenuButtons/AddPluginMenuMobileButton-scss.js +1 -1
  484. package/dist/cjs/toolbars-v3/components/buttons/AddPluginMenuButtons/AddPluginMenuMobileButton-scss.js.map +1 -1
  485. package/dist/cjs/toolbars-v3/components/buttons/FontSizeButton/FontSizeButton-scss.js +5 -5
  486. package/dist/cjs/toolbars-v3/components/buttons/FontSizeButton/FontSizeButton-scss.js.map +1 -1
  487. package/dist/cjs/toolbars-v3/modals/FloatingPluginMenu/styles/floating-add-plugin-menu-scss.js +6 -6
  488. package/dist/cjs/toolbars-v3/modals/FloatingPluginMenu/styles/floating-add-plugin-menu-scss.js.map +1 -1
  489. package/dist/cjs/toolbars-v3/ricos-toolbars/footer/FooterToolbar-scss.js +1 -1
  490. package/dist/cjs/toolbars-v3/ricos-toolbars/footer/FooterToolbar-scss.js.map +1 -1
  491. package/dist/cjs/toolbars-v3/ricos-toolbars/formatting/use-is-visible.js +4 -0
  492. package/dist/cjs/toolbars-v3/ricos-toolbars/formatting/use-is-visible.js.map +2 -2
  493. package/dist/cjs/ui-components/Components/Image-scss.js +1 -1
  494. package/dist/cjs/ui-components/Components/Image-scss.js.map +1 -1
  495. package/dist/cjs/ui-components/Components/double-loader-scss.js +4 -4
  496. package/dist/cjs/ui-components/Components/double-loader-scss.js.map +1 -1
  497. package/dist/cjs/ui-components/color-picker/button-color-swatches/button-color-swatches-scss.js +2 -2
  498. package/dist/cjs/ui-components/color-picker/button-color-swatches/button-color-swatches-scss.js.map +1 -1
  499. package/dist/cjs/ui-components/color-picker/new-color-picker/components/gradient-picker/gradient-picker-scss.js +13 -13
  500. package/dist/cjs/ui-components/color-picker/new-color-picker/components/gradient-picker/gradient-picker-scss.js.map +1 -1
  501. package/dist/cjs/ui-components/color-picker/new-color-picker/components/new-color-swatches/new-color-swatches-scss.js +1 -1
  502. package/dist/cjs/ui-components/color-picker/new-color-picker/components/new-color-swatches/new-color-swatches-scss.js.map +1 -1
  503. package/dist/cjs/ui-components/color-picker/new-color-picker/components/simple-color-picker/simple-color-picker-scss.js +2 -2
  504. package/dist/cjs/ui-components/color-picker/new-color-picker/components/simple-color-picker/simple-color-picker-scss.js.map +1 -1
  505. package/dist/cjs/ui-components/color-picker/new-color-picker/components/single-color-swatch/single-color-swatch-scss.js +2 -2
  506. package/dist/cjs/ui-components/color-picker/new-color-picker/components/single-color-swatch/single-color-swatch-scss.js.map +1 -1
  507. package/dist/cjs/ui-components/color-picker/new-color-picker/new-color-picker-scss.js +1 -1
  508. package/dist/cjs/ui-components/color-picker/new-color-picker/new-color-picker-scss.js.map +1 -1
  509. package/dist/cjs/ui-components/input-with-slider/input-with-slider-scss.js +1 -1
  510. package/dist/cjs/ui-components/input-with-slider/input-with-slider-scss.js.map +1 -1
  511. package/dist/cjs/ui-components/layout-background-loader/layout-background-loader-scss.js +3 -3
  512. package/dist/cjs/ui-components/layout-background-loader/layout-background-loader-scss.js.map +1 -1
  513. package/dist/cjs/ui-components/modal-layout/floating-layout/floating-desktop-layout-scss.js +1 -1
  514. package/dist/cjs/ui-components/modal-layout/floating-layout/floating-desktop-layout-scss.js.map +1 -1
  515. package/dist/cjs/ui-components/modal-layout/fullscreen-mobile-layout/fullscreen-mobile-layout-scss.js +4 -4
  516. package/dist/cjs/ui-components/modal-layout/fullscreen-mobile-layout/fullscreen-mobile-layout-scss.js.map +1 -1
  517. package/dist/cjs/ui-components/panel/panel-scss.js +2 -2
  518. package/dist/cjs/ui-components/panel/panel-scss.js.map +1 -1
  519. package/dist/cjs/ui-components/panel-header/panel-header-scss.js +1 -1
  520. package/dist/cjs/ui-components/panel-header/panel-header-scss.js.map +1 -1
  521. package/dist/cjs/ui-components/settings-panel-discard-modal/settings-panel-discard-modal-scss.js +1 -1
  522. package/dist/cjs/ui-components/settings-panel-discard-modal/settings-panel-discard-modal-scss.js.map +1 -1
  523. package/dist/cjs/ui-components/statics/styles/generic-error-scss.js +1 -1
  524. package/dist/cjs/ui-components/statics/styles/generic-error-scss.js.map +1 -1
  525. package/dist/cjs/ui-components/statics/styles/loaders-scss.js +8 -8
  526. package/dist/cjs/ui-components/statics/styles/loaders-scss.js.map +1 -1
  527. package/dist/cjs/ui-components/statics/styles/media-item-error-msg-scss.js +3 -3
  528. package/dist/cjs/ui-components/statics/styles/media-item-error-msg-scss.js.map +1 -1
  529. package/dist/cjs/ui-components/statics/styles/slider-scss.js +5 -5
  530. package/dist/cjs/ui-components/statics/styles/slider-scss.js.map +1 -1
  531. package/dist/cjs/ui-components/thumbnail-picker/thumbnail-picker-scss.js +1 -1
  532. package/dist/cjs/ui-components/thumbnail-picker/thumbnail-picker-scss.js.map +1 -1
  533. package/dist/cjs/ui-components/wixel-assistant/assistant-timeline-scss.js +16 -16
  534. package/dist/cjs/ui-components/wixel-assistant/assistant-timeline-scss.js.map +1 -1
  535. package/dist/cjs/wix-react-player/players/youtube.js +1 -0
  536. package/dist/cjs/wix-react-player/players/youtube.js.map +2 -2
  537. package/dist/cjs/wix-rich-content-common/statics/styles/fonts-scss.js +1 -1
  538. package/dist/cjs/wix-rich-content-common/statics/styles/fonts-scss.js.map +1 -1
  539. package/dist/cjs/wix-rich-content-common/statics/styles/general-scss.js +11 -11
  540. package/dist/cjs/wix-rich-content-common/statics/styles/general-scss.js.map +1 -1
  541. package/dist/docs/api-docs-reference.cjs +1 -1
  542. package/dist/docs/api-docs-reference.js +1 -1
  543. package/dist/docs/api-docs.md +2 -2
  544. package/dist/docs/sections/editor.md +2 -2
  545. package/dist/es/_shared/dropdown-modal/dropdown-modal-scss.js +5 -5
  546. package/dist/es/_shared/dropdown-modal/dropdown-modal-scss.js.map +1 -1
  547. package/dist/es/_shared/editor-base-url/editor-base-url-context.js +13 -12
  548. package/dist/es/_shared/editor-base-url/editor-base-url-context.js.map +2 -2
  549. package/dist/es/_shared/figure/add-caption-button-scss.js +11 -11
  550. package/dist/es/_shared/figure/add-caption-button-scss.js.map +1 -1
  551. package/dist/es/_shared/figure/viewer-caption-scss.js +2 -2
  552. package/dist/es/_shared/figure/viewer-caption-scss.js.map +1 -1
  553. package/dist/es/_shared/figure/viewer-figure-scss.js +1 -1
  554. package/dist/es/_shared/figure/viewer-figure-scss.js.map +1 -1
  555. package/dist/es/_shared/font-weight.js +7 -0
  556. package/dist/es/_shared/font-weight.js.map +7 -0
  557. package/dist/es/_shared/get-common-marker-style.js +15 -0
  558. package/dist/es/_shared/get-common-marker-style.js.map +7 -0
  559. package/dist/es/_shared/get-decorations-marker-style.js +41 -0
  560. package/dist/es/_shared/get-decorations-marker-style.js.map +7 -0
  561. package/dist/es/_shared/get-list-marker-style.js +23 -0
  562. package/dist/es/_shared/get-list-marker-style.js.map +7 -0
  563. package/dist/es/_shared/link-modal/open-link-modal/site-pages/site-pages.js +2 -4
  564. package/dist/es/_shared/link-modal/open-link-modal/site-pages/site-pages.js.map +2 -2
  565. package/dist/es/_shared/list-item-divider/list-item-divider-scss.js +3 -3
  566. package/dist/es/_shared/list-item-divider/list-item-divider-scss.js.map +1 -1
  567. package/dist/es/_shared/list-item-select/list-item-select-scss.js +4 -4
  568. package/dist/es/_shared/list-item-select/list-item-select-scss.js.map +1 -1
  569. package/dist/es/_shared/list-item-toggle/list-item-toggle-scss.js +5 -5
  570. package/dist/es/_shared/list-item-toggle/list-item-toggle-scss.js.map +1 -1
  571. package/dist/es/_shared/list-marker-style-scss.js +28 -0
  572. package/dist/es/_shared/list-marker-style-scss.js.map +7 -0
  573. package/dist/es/_shared/overlay-hoc/overlay-hoc-scss.js +3 -3
  574. package/dist/es/_shared/overlay-hoc/overlay-hoc-scss.js.map +1 -1
  575. package/dist/es/_shared/plugin-toolbar/create-settings-button.js +7 -1
  576. package/dist/es/_shared/plugin-toolbar/create-settings-button.js.map +2 -2
  577. package/dist/es/_shared/plugin-toolbar/separator/toolbar-button-separator-scss.js +4 -4
  578. package/dist/es/_shared/plugin-toolbar/separator/toolbar-button-separator-scss.js.map +1 -1
  579. package/dist/es/_shared/plugin-toolbar/url-link-button/url-link-button-scss.js +4 -4
  580. package/dist/es/_shared/plugin-toolbar/url-link-button/url-link-button-scss.js.map +1 -1
  581. package/dist/es/_shared/pm-node-types.js.map +2 -2
  582. package/dist/es/_shared/prompt-input-area/attachment-bar/attachment-bar-scss.js +9 -9
  583. package/dist/es/_shared/prompt-input-area/attachment-bar/attachment-bar-scss.js.map +1 -1
  584. package/dist/es/_shared/prompt-input-area/prompt-input-area-scss.js +15 -15
  585. package/dist/es/_shared/prompt-input-area/prompt-input-area-scss.js.map +1 -1
  586. package/dist/es/_shared/prompt-input-area/widget-prompt-input-area-scss.js +10 -10
  587. package/dist/es/_shared/prompt-input-area/widget-prompt-input-area-scss.js.map +1 -1
  588. package/dist/es/_shared/shape-select-modal/shape-select-modal-content-scss.js +9 -9
  589. package/dist/es/_shared/shape-select-modal/shape-select-modal-content-scss.js.map +1 -1
  590. package/dist/es/_shared/shape-view-renderer/shape-view-renderer-scss.js +4 -4
  591. package/dist/es/_shared/shape-view-renderer/shape-view-renderer-scss.js.map +1 -1
  592. package/dist/es/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.js +82 -26
  593. package/dist/es/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.js.map +3 -3
  594. package/dist/es/_shared/site-pages/site-pages-fetch-context.js +2 -6
  595. package/dist/es/_shared/site-pages/site-pages-fetch-context.js.map +2 -2
  596. package/dist/es/_shared/site-pages/types.js.map +2 -2
  597. package/dist/es/_shared/toolbar-button/toolbar-button-scss.js +5 -5
  598. package/dist/es/_shared/toolbar-button/toolbar-button-scss.js.map +1 -1
  599. package/dist/es/bundled-dependencies/ai-assistant-avatar.js +6 -6
  600. package/dist/es/bundled-dependencies/ai-assistant-avatar.js.map +1 -1
  601. package/dist/es/editor-common/statics/styles/general-scss.js +20 -20
  602. package/dist/es/editor-common/statics/styles/general-scss.js.map +1 -1
  603. package/dist/es/index.js.map +2 -2
  604. package/dist/es/internal.js.map +2 -2
  605. package/dist/es/legacy.js +3 -1
  606. package/dist/es/legacy.js.map +2 -2
  607. package/dist/es/plugin-ai/ai-content-modal/ai-content-modal-scss.js +10 -10
  608. package/dist/es/plugin-ai/ai-content-modal/ai-content-modal-scss.js.map +1 -1
  609. package/dist/es/plugin-ai/ai-content-modal/feed/feed-scss.js +4 -4
  610. package/dist/es/plugin-ai/ai-content-modal/feed/feed-scss.js.map +1 -1
  611. package/dist/es/plugin-ai/ai-content-modal/no-selection-message/no-selection-message-scss.js +3 -3
  612. package/dist/es/plugin-ai/ai-content-modal/no-selection-message/no-selection-message-scss.js.map +1 -1
  613. package/dist/es/plugin-ai/ai-content-modal/text-cursor/text-cursor-scss.js +4 -4
  614. package/dist/es/plugin-ai/ai-content-modal/text-cursor/text-cursor-scss.js.map +1 -1
  615. package/dist/es/plugin-ai/ai-content-modal/textual-prompt-input-area/textual-prompt-input-area-scss.js +7 -7
  616. package/dist/es/plugin-ai/ai-content-modal/textual-prompt-input-area/textual-prompt-input-area-scss.js.map +1 -1
  617. package/dist/es/plugin-ai/ai-image-modal/ai-image-modal-scss.js +8 -8
  618. package/dist/es/plugin-ai/ai-image-modal/ai-image-modal-scss.js.map +1 -1
  619. package/dist/es/plugin-ai/ai-plus-button/ai-plus-button-scss.js +3 -3
  620. package/dist/es/plugin-ai/ai-plus-button/ai-plus-button-scss.js.map +1 -1
  621. package/dist/es/plugin-ai/error-message/error-message-scss.js +3 -3
  622. package/dist/es/plugin-ai/error-message/error-message-scss.js.map +1 -1
  623. package/dist/es/plugin-ai/prompt-input-area/prompt-input-area-scss.js +6 -6
  624. package/dist/es/plugin-ai/prompt-input-area/prompt-input-area-scss.js.map +1 -1
  625. package/dist/es/plugin-ai/toolbar/toolbar-button-scss.js +4 -4
  626. package/dist/es/plugin-ai/toolbar/toolbar-button-scss.js.map +1 -1
  627. package/dist/es/plugin-animation/animation-panel-scss.js +11 -11
  628. package/dist/es/plugin-animation/animation-panel-scss.js.map +1 -1
  629. package/dist/es/plugin-audio/statics/styles/audio-embed-scss.js +3 -3
  630. package/dist/es/plugin-audio/statics/styles/audio-embed-scss.js.map +1 -1
  631. package/dist/es/plugin-audio/statics/styles/audio-scss.js +21 -21
  632. package/dist/es/plugin-audio/statics/styles/audio-scss.js.map +1 -1
  633. package/dist/es/plugin-audio/statics/styles/icon-button-scss.js +1 -1
  634. package/dist/es/plugin-audio/statics/styles/icon-button-scss.js.map +1 -1
  635. package/dist/es/plugin-audio/statics/styles/settings-modal-scss.js +3 -3
  636. package/dist/es/plugin-audio/statics/styles/settings-modal-scss.js.map +1 -1
  637. package/dist/es/plugin-audio/statics/styles/sound-control-scss.js +2 -2
  638. package/dist/es/plugin-audio/statics/styles/sound-control-scss.js.map +1 -1
  639. package/dist/es/plugin-audio/viewer-styles-inject.js +4 -4
  640. package/dist/es/plugin-block-drag-handle/box-select.js +1 -0
  641. package/dist/es/plugin-block-drag-handle/box-select.js.map +2 -2
  642. package/dist/es/plugin-block-drag-handle/dom.js +20 -8
  643. package/dist/es/plugin-block-drag-handle/dom.js.map +2 -2
  644. package/dist/es/plugin-block-drag-handle/plugin.js +37 -5
  645. package/dist/es/plugin-block-drag-handle/plugin.js.map +2 -2
  646. package/dist/es/plugin-block-drag-handle/styles-scss.js +10 -10
  647. package/dist/es/plugin-block-drag-handle/styles-scss.js.map +1 -1
  648. package/dist/es/plugin-button/statics/styles/button-input-modal-scss.js +4 -4
  649. package/dist/es/plugin-button/statics/styles/button-input-modal-scss.js.map +1 -1
  650. package/dist/es/plugin-button/statics/styles/button-text-field-scss.js +3 -3
  651. package/dist/es/plugin-button/statics/styles/button-text-field-scss.js.map +1 -1
  652. package/dist/es/plugin-button/statics/styles/default-styles-scss.js +5 -5
  653. package/dist/es/plugin-button/statics/styles/default-styles-scss.js.map +1 -1
  654. package/dist/es/plugin-button/viewer-styles-inject.js +2 -2
  655. package/dist/es/plugin-card/card-node-view.js +39 -35
  656. package/dist/es/plugin-card/card-node-view.js.map +2 -2
  657. package/dist/es/plugin-card/card-scss.js +20 -19
  658. package/dist/es/plugin-card/card-scss.js.map +2 -2
  659. package/dist/es/plugin-card/card-viewer-scss.js +6 -6
  660. package/dist/es/plugin-card/card-viewer-scss.js.map +1 -1
  661. package/dist/es/plugin-card/extension.js +3 -1
  662. package/dist/es/plugin-card/extension.js.map +2 -2
  663. package/dist/es/plugin-card/index.js.map +1 -1
  664. package/dist/es/plugin-card/page-gap.js +3 -1
  665. package/dist/es/plugin-card/page-gap.js.map +2 -2
  666. package/dist/es/plugin-card/viewer-styles-inject.js +2 -2
  667. package/dist/es/plugin-code-block/statics/styles/code-block-scss.js +8 -8
  668. package/dist/es/plugin-code-block/statics/styles/code-block-scss.js.map +1 -1
  669. package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js +6 -6
  670. package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js.map +1 -1
  671. package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-pair-scss.js +18 -18
  672. package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-pair-scss.js.map +1 -1
  673. package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-settings-scss.js +4 -4
  674. package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-settings-scss.js.map +1 -1
  675. package/dist/es/plugin-collapsible-list/statics/styles/new-pair-button-scss.js +5 -5
  676. package/dist/es/plugin-collapsible-list/statics/styles/new-pair-button-scss.js.map +1 -1
  677. package/dist/es/plugin-collapsible-list/viewer-styles-inject.js +2 -2
  678. package/dist/es/plugin-divider/statics/styles/divider-viewer-scss.js +13 -13
  679. package/dist/es/plugin-divider/statics/styles/divider-viewer-scss.js.map +1 -1
  680. package/dist/es/plugin-divider/toolbar/modals/divider-design-panel-scss.js +3 -3
  681. package/dist/es/plugin-divider/toolbar/modals/divider-design-panel-scss.js.map +1 -1
  682. package/dist/es/plugin-divider/viewer-styles-inject.js +2 -2
  683. package/dist/es/plugin-emoji/modals/emoji-suggestions-modal-scss.js +3 -3
  684. package/dist/es/plugin-emoji/modals/emoji-suggestions-modal-scss.js.map +1 -1
  685. package/dist/es/plugin-figure/tiptap/caption-scss.js +5 -5
  686. package/dist/es/plugin-figure/tiptap/caption-scss.js.map +1 -1
  687. package/dist/es/plugin-figure/tiptap/figure-scss.js +5 -5
  688. package/dist/es/plugin-figure/tiptap/figure-scss.js.map +1 -1
  689. package/dist/es/plugin-file-upload/statics/styles/file-upload-viewer-scss.js +15 -15
  690. package/dist/es/plugin-file-upload/statics/styles/file-upload-viewer-scss.js.map +1 -1
  691. package/dist/es/plugin-file-upload/viewer-styles-inject.js +2 -2
  692. package/dist/es/plugin-gallery/modals/settings/gallery-settings-modal-scss.js +5 -5
  693. package/dist/es/plugin-gallery/modals/settings/gallery-settings-modal-scss.js.map +1 -1
  694. package/dist/es/plugin-gallery/modals/settings/layout-settings/layout-controls-section/image-ratio-control-scss.js +8 -8
  695. package/dist/es/plugin-gallery/modals/settings/layout-settings/layout-controls-section/image-ratio-control-scss.js.map +1 -1
  696. package/dist/es/plugin-gallery/modals/settings/layout-settings/layout-controls-section/thumbnail-alignment-control-scss.js +7 -7
  697. package/dist/es/plugin-gallery/modals/settings/layout-settings/layout-controls-section/thumbnail-alignment-control-scss.js.map +1 -1
  698. package/dist/es/plugin-gallery/modals/settings/media-settings/media-list/sortable-item-scss.js +3 -3
  699. package/dist/es/plugin-gallery/modals/settings/media-settings/media-list/sortable-item-scss.js.map +1 -1
  700. package/dist/es/plugin-gallery/modals/settings/media-settings/media-list/sortable-list-scss.js +5 -5
  701. package/dist/es/plugin-gallery/modals/settings/media-settings/media-list/sortable-list-scss.js.map +1 -1
  702. package/dist/es/plugin-gallery/statics/styles/gallery-component-scss.js +3 -3
  703. package/dist/es/plugin-gallery/statics/styles/gallery-component-scss.js.map +1 -1
  704. package/dist/es/plugin-gallery/statics/styles/gallery-media-scss.js +21 -21
  705. package/dist/es/plugin-gallery/statics/styles/gallery-media-scss.js.map +1 -1
  706. package/dist/es/plugin-gallery/statics/styles/viewer-scss.js +1 -1
  707. package/dist/es/plugin-gallery/statics/styles/viewer-scss.js.map +1 -1
  708. package/dist/es/plugin-gallery/viewer/layout-collage-scss.js +5 -5
  709. package/dist/es/plugin-gallery/viewer/layout-collage-scss.js.map +1 -1
  710. package/dist/es/plugin-gallery/viewer/layout-column-scss.js +4 -4
  711. package/dist/es/plugin-gallery/viewer/layout-column-scss.js.map +1 -1
  712. package/dist/es/plugin-gallery/viewer/layout-fullsize-scss.js +4 -4
  713. package/dist/es/plugin-gallery/viewer/layout-fullsize-scss.js.map +1 -1
  714. package/dist/es/plugin-gallery/viewer/layout-grid-scss.js +2 -2
  715. package/dist/es/plugin-gallery/viewer/layout-grid-scss.js.map +1 -1
  716. package/dist/es/plugin-gallery/viewer/layout-masonry-scss.js +7 -7
  717. package/dist/es/plugin-gallery/viewer/layout-masonry-scss.js.map +1 -1
  718. package/dist/es/plugin-gallery/viewer/layout-panorama-scss.js +1 -1
  719. package/dist/es/plugin-gallery/viewer/layout-panorama-scss.js.map +1 -1
  720. package/dist/es/plugin-gallery/viewer/layout-slider-scss.js +6 -6
  721. package/dist/es/plugin-gallery/viewer/layout-slider-scss.js.map +1 -1
  722. package/dist/es/plugin-gallery/viewer/layout-thumbnail-scss.js +11 -11
  723. package/dist/es/plugin-gallery/viewer/layout-thumbnail-scss.js.map +1 -1
  724. package/dist/es/plugin-gallery/viewer-styles-inject.js +2 -2
  725. package/dist/es/plugin-giphy/components/giphy-selector-scss.js +11 -11
  726. package/dist/es/plugin-giphy/components/giphy-selector-scss.js.map +1 -1
  727. package/dist/es/plugin-giphy/viewer/giphy-viewer-scss.js +4 -4
  728. package/dist/es/plugin-giphy/viewer/giphy-viewer-scss.js.map +1 -1
  729. package/dist/es/plugin-giphy/viewer/play-icon-scss.js +2 -2
  730. package/dist/es/plugin-giphy/viewer/play-icon-scss.js.map +1 -1
  731. package/dist/es/plugin-giphy/viewer-styles-inject.js +2 -2
  732. package/dist/es/plugin-hashtag/statics/hashtag-scss.js +2 -2
  733. package/dist/es/plugin-hashtag/statics/hashtag-scss.js.map +1 -1
  734. package/dist/es/plugin-hashtag/viewer-styles-inject.js +2 -2
  735. package/dist/es/plugin-headings/dropdown/headings-dropdown-scss.js +9 -9
  736. package/dist/es/plugin-headings/dropdown/headings-dropdown-scss.js.map +1 -1
  737. package/dist/es/plugin-html/statics/styles/HtmlComponent-scss.js +2 -2
  738. package/dist/es/plugin-html/statics/styles/HtmlComponent-scss.js.map +1 -1
  739. package/dist/es/plugin-html/statics/styles/Iframe-scss.js +1 -1
  740. package/dist/es/plugin-html/statics/styles/Iframe-scss.js.map +1 -1
  741. package/dist/es/plugin-html/tiptap/ai-widget-scss.js +4 -4
  742. package/dist/es/plugin-html/tiptap/ai-widget-scss.js.map +1 -1
  743. package/dist/es/plugin-html/tiptap/loader-scss.js +11 -11
  744. package/dist/es/plugin-html/tiptap/loader-scss.js.map +1 -1
  745. package/dist/es/plugin-html/tiptap/preset-bar/preset-bar-scss.js +4 -4
  746. package/dist/es/plugin-html/tiptap/preset-bar/preset-bar-scss.js.map +1 -1
  747. package/dist/es/plugin-html/viewer-styles-inject.js +2 -2
  748. package/dist/es/plugin-image/components/corner-radius-handles-scss.js +6 -6
  749. package/dist/es/plugin-image/components/corner-radius-handles-scss.js.map +1 -1
  750. package/dist/es/plugin-image/components/crop-edge-handles-scss.js +3 -3
  751. package/dist/es/plugin-image/components/crop-edge-handles-scss.js.map +1 -1
  752. package/dist/es/plugin-image/crop-overlay/crop-overlay-scss.js +16 -16
  753. package/dist/es/plugin-image/crop-overlay/crop-overlay-scss.js.map +1 -1
  754. package/dist/es/plugin-image/statics/styles/image-viewer-scss.js +20 -20
  755. package/dist/es/plugin-image/statics/styles/image-viewer-scss.js.map +1 -1
  756. package/dist/es/plugin-image/statics/styles/settings-modal-scss.js +3 -3
  757. package/dist/es/plugin-image/statics/styles/settings-modal-scss.js.map +1 -1
  758. package/dist/es/plugin-image/toolbar/shape-crop-modal-scss.js +6 -6
  759. package/dist/es/plugin-image/toolbar/shape-crop-modal-scss.js.map +1 -1
  760. package/dist/es/plugin-image/viewer-styles-inject.js +2 -2
  761. package/dist/es/plugin-inline-ai/ai-selection-tooltip-scss.js +12 -12
  762. package/dist/es/plugin-inline-ai/ai-selection-tooltip-scss.js.map +1 -1
  763. package/dist/es/plugin-inline-ai/aria-avatar-row-scss.js +3 -3
  764. package/dist/es/plugin-inline-ai/aria-avatar-row-scss.js.map +1 -1
  765. package/dist/es/plugin-inline-ai/aria-surface-row-scss.js +6 -6
  766. package/dist/es/plugin-inline-ai/aria-surface-row-scss.js.map +1 -1
  767. package/dist/es/plugin-inline-ai/html-placeholder-scss.js +5 -5
  768. package/dist/es/plugin-inline-ai/html-placeholder-scss.js.map +1 -1
  769. package/dist/es/plugin-inline-ai/modal-scss.js +11 -11
  770. package/dist/es/plugin-inline-ai/modal-scss.js.map +1 -1
  771. package/dist/es/plugin-inline-ai/pending-widget-placeholder-scss.js +14 -14
  772. package/dist/es/plugin-inline-ai/pending-widget-placeholder-scss.js.map +1 -1
  773. package/dist/es/plugin-inline-ai/spinner-scss.js +4 -4
  774. package/dist/es/plugin-inline-ai/spinner-scss.js.map +1 -1
  775. package/dist/es/plugin-inline-ai/toolbar/toolbar-button-scss.js +4 -4
  776. package/dist/es/plugin-inline-ai/toolbar/toolbar-button-scss.js.map +1 -1
  777. package/dist/es/plugin-line-spacing/custom-spacing-editor-modal/custom-spacing-editor-modal-scss.js +3 -3
  778. package/dist/es/plugin-line-spacing/custom-spacing-editor-modal/custom-spacing-editor-modal-scss.js.map +1 -1
  779. package/dist/es/plugin-link/editor.js +2 -2
  780. package/dist/es/plugin-link/editor.js.map +2 -2
  781. package/dist/es/plugin-link/statics/link-viewer-scss.js +4 -4
  782. package/dist/es/plugin-link/statics/link-viewer-scss.js.map +1 -1
  783. package/dist/es/plugin-link/toolbar/anchor-link-button-scss.js +3 -3
  784. package/dist/es/plugin-link/toolbar/anchor-link-button-scss.js.map +1 -1
  785. package/dist/es/plugin-link/viewer-styles-inject.js +2 -2
  786. package/dist/es/plugin-link-preview/statics/styles/insert-modal-scss.js +3 -3
  787. package/dist/es/plugin-link-preview/statics/styles/insert-modal-scss.js.map +1 -1
  788. package/dist/es/plugin-link-preview/statics/styles/link-preview-scss.js +18 -18
  789. package/dist/es/plugin-link-preview/statics/styles/link-preview-scss.js.map +1 -1
  790. package/dist/es/plugin-link-preview/statics/styles/settings-modal-scss.js +3 -3
  791. package/dist/es/plugin-link-preview/statics/styles/settings-modal-scss.js.map +1 -1
  792. package/dist/es/plugin-link-preview/viewer-styles-inject.js +3 -3
  793. package/dist/es/plugin-mentions/statics/mention-list-scss.js +6 -6
  794. package/dist/es/plugin-mentions/statics/mention-list-scss.js.map +1 -1
  795. package/dist/es/plugin-mentions/statics/mentions-scss.js +4 -4
  796. package/dist/es/plugin-mentions/statics/mentions-scss.js.map +1 -1
  797. package/dist/es/plugin-mentions/viewer-styles-inject.js +2 -2
  798. package/dist/es/plugin-paywall/paywall-fallback-scss.js +1 -1
  799. package/dist/es/plugin-paywall/paywall-fallback-scss.js.map +1 -1
  800. package/dist/es/plugin-paywall/plugin-paywall.js.map +2 -2
  801. package/dist/es/plugin-smart-block/components/cell-accessory-scss.js +22 -22
  802. package/dist/es/plugin-smart-block/components/cell-accessory-scss.js.map +1 -1
  803. package/dist/es/plugin-smart-block/components/cell-quote-glyph-scss.js +3 -3
  804. package/dist/es/plugin-smart-block/components/cell-quote-glyph-scss.js.map +1 -1
  805. package/dist/es/plugin-smart-block/components/cell-star-rating-scss.js +4 -4
  806. package/dist/es/plugin-smart-block/components/cell-star-rating-scss.js.map +1 -1
  807. package/dist/es/plugin-smart-block/components/cell-stat-scss.js +20 -20
  808. package/dist/es/plugin-smart-block/components/cell-stat-scss.js.map +1 -1
  809. package/dist/es/plugin-smart-block/components/circle-donut-scss.js +7 -7
  810. package/dist/es/plugin-smart-block/components/circle-donut-scss.js.map +1 -1
  811. package/dist/es/plugin-smart-block/components/shape-overlay-scss.js +3 -3
  812. package/dist/es/plugin-smart-block/components/shape-overlay-scss.js.map +1 -1
  813. package/dist/es/plugin-smart-block/components/smart-block-view-scss.js +50 -50
  814. package/dist/es/plugin-smart-block/components/smart-block-view-scss.js.map +1 -1
  815. package/dist/es/plugin-smart-block/components/stars-scss.js +8 -8
  816. package/dist/es/plugin-smart-block/components/stars-scss.js.map +1 -1
  817. package/dist/es/plugin-smart-block/modals/variant-picker-scss.js +9 -9
  818. package/dist/es/plugin-smart-block/modals/variant-picker-scss.js.map +1 -1
  819. package/dist/es/plugin-smart-block/tiptap/smart-block-editor-scss.js +15 -15
  820. package/dist/es/plugin-smart-block/tiptap/smart-block-editor-scss.js.map +1 -1
  821. package/dist/es/plugin-smart-block/viewer-styles-inject.js +2 -2
  822. package/dist/es/plugin-social-polls/components/image-upload/image-upload-scss.js +9 -9
  823. package/dist/es/plugin-social-polls/components/image-upload/image-upload-scss.js.map +1 -1
  824. package/dist/es/plugin-social-polls/components/insert-modal/insert-modal-scss.js +3 -3
  825. package/dist/es/plugin-social-polls/components/insert-modal/insert-modal-scss.js.map +1 -1
  826. package/dist/es/plugin-social-polls/components/poll-header/poll-header-scss.js +3 -3
  827. package/dist/es/plugin-social-polls/components/poll-header/poll-header-scss.js.map +1 -1
  828. package/dist/es/plugin-social-polls/components/poll-option/option-scss.js +23 -23
  829. package/dist/es/plugin-social-polls/components/poll-option/option-scss.js.map +1 -1
  830. package/dist/es/plugin-social-polls/components/poll-option/webview/option-webview-scss.js +24 -24
  831. package/dist/es/plugin-social-polls/components/poll-option/webview/option-webview-scss.js.map +1 -1
  832. package/dist/es/plugin-social-polls/components/poll-scss.js +19 -19
  833. package/dist/es/plugin-social-polls/components/poll-scss.js.map +1 -1
  834. package/dist/es/plugin-social-polls/components/settings-modal/settings-modal-scss.js +4 -4
  835. package/dist/es/plugin-social-polls/components/settings-modal/settings-modal-scss.js.map +1 -1
  836. package/dist/es/plugin-social-polls/components/text-field/text-field-scss.js +12 -12
  837. package/dist/es/plugin-social-polls/components/text-field/text-field-scss.js.map +1 -1
  838. package/dist/es/plugin-social-polls/components/voted-users/voted-users-scss.js +20 -20
  839. package/dist/es/plugin-social-polls/components/voted-users/voted-users-scss.js.map +1 -1
  840. package/dist/es/plugin-social-polls/viewer-styles-inject.js +2 -2
  841. package/dist/es/plugin-spoiler/get-text-buttons.js +2 -2
  842. package/dist/es/plugin-spoiler/get-text-buttons.js.map +2 -2
  843. package/dist/es/plugin-spoiler/statics/styles/spoiler-scss.js +18 -18
  844. package/dist/es/plugin-spoiler/statics/styles/spoiler-scss.js.map +1 -1
  845. package/dist/es/plugin-spoiler/viewer-styles-inject.js +2 -2
  846. package/dist/es/plugin-table/modals/table-grid-selector-scss.js +7 -7
  847. package/dist/es/plugin-table/modals/table-grid-selector-scss.js.map +1 -1
  848. package/dist/es/plugin-table/statics/styles/cell-scss.js +15 -15
  849. package/dist/es/plugin-table/statics/styles/cell-scss.js.map +1 -1
  850. package/dist/es/plugin-table/statics/styles/resizer-scss.js +20 -20
  851. package/dist/es/plugin-table/statics/styles/resizer-scss.js.map +1 -1
  852. package/dist/es/plugin-table/statics/styles/table-settings-modal-scss.js +3 -3
  853. package/dist/es/plugin-table/statics/styles/table-settings-modal-scss.js.map +1 -1
  854. package/dist/es/plugin-table/statics/styles/table-viewer-scss.js +6 -6
  855. package/dist/es/plugin-table/statics/styles/table-viewer-scss.js.map +1 -1
  856. package/dist/es/plugin-table/tiptap/decorations/tableHandles-scss.js +11 -11
  857. package/dist/es/plugin-table/tiptap/decorations/tableHandles-scss.js.map +1 -1
  858. package/dist/es/plugin-table/tiptap/plugins/table-scss.js +35 -35
  859. package/dist/es/plugin-table/tiptap/plugins/table-scss.js.map +1 -1
  860. package/dist/es/plugin-table/toolbar/modals/border-scope-selector-scss.js +4 -4
  861. package/dist/es/plugin-table/toolbar/modals/border-scope-selector-scss.js.map +1 -1
  862. package/dist/es/plugin-table/viewer-styles-inject.js +4 -4
  863. package/dist/es/plugin-text-color/sketch/text-highlight-button.js +2 -2
  864. package/dist/es/plugin-text-color/sketch/text-highlight-button.js.map +2 -2
  865. package/dist/es/plugin-text-color/text-button-color-scss.js +4 -4
  866. package/dist/es/plugin-text-color/text-button-color-scss.js.map +1 -1
  867. package/dist/es/plugin-toc/toc-view-scss.js +2 -2
  868. package/dist/es/plugin-toc/toc-view-scss.js.map +1 -1
  869. package/dist/es/plugin-toc/viewer-styles-inject.js +2 -2
  870. package/dist/es/plugin-vertical-embed/components/Ribbon-scss.js +3 -3
  871. package/dist/es/plugin-vertical-embed/components/Ribbon-scss.js.map +1 -1
  872. package/dist/es/plugin-vertical-embed/components/card-content-scss.js +23 -23
  873. package/dist/es/plugin-vertical-embed/components/card-content-scss.js.map +1 -1
  874. package/dist/es/plugin-vertical-embed/components/card-scss.js +19 -19
  875. package/dist/es/plugin-vertical-embed/components/card-scss.js.map +1 -1
  876. package/dist/es/plugin-vertical-embed/components/description-scss.js +2 -2
  877. package/dist/es/plugin-vertical-embed/components/description-scss.js.map +1 -1
  878. package/dist/es/plugin-vertical-embed/modals/settings-modal-scss.js +4 -4
  879. package/dist/es/plugin-vertical-embed/modals/settings-modal-scss.js.map +1 -1
  880. package/dist/es/plugin-vertical-embed/tiptap/component-scss.js +12 -12
  881. package/dist/es/plugin-vertical-embed/tiptap/component-scss.js.map +1 -1
  882. package/dist/es/plugin-vertical-embed/toolbar/items-list-scss.js +3 -3
  883. package/dist/es/plugin-vertical-embed/toolbar/items-list-scss.js.map +1 -1
  884. package/dist/es/plugin-vertical-embed/viewer/vertical-embed-viewer-scss.js +6 -6
  885. package/dist/es/plugin-vertical-embed/viewer/vertical-embed-viewer-scss.js.map +1 -1
  886. package/dist/es/plugin-vertical-embed/viewer-styles-inject.js +3 -3
  887. package/dist/es/plugin-video/statics/styles/default-video-styles-scss.js +10 -10
  888. package/dist/es/plugin-video/statics/styles/default-video-styles-scss.js.map +1 -1
  889. package/dist/es/plugin-video/statics/styles/video-viewer-scss.js +3 -3
  890. package/dist/es/plugin-video/statics/styles/video-viewer-scss.js.map +1 -1
  891. package/dist/es/plugin-video/toolbar/embed-video-scss.js +3 -3
  892. package/dist/es/plugin-video/toolbar/embed-video-scss.js.map +1 -1
  893. package/dist/es/plugin-video/viewer/video.js +30 -2
  894. package/dist/es/plugin-video/viewer/video.js.map +2 -2
  895. package/dist/es/plugin-video/viewer-styles-inject.js +2 -2
  896. package/dist/es/ricos-common-plugins/bold/extension.js +1 -2
  897. package/dist/es/ricos-common-plugins/bold/extension.js.map +2 -2
  898. package/dist/es/ricos-common-plugins/decoration-plugins/list-item-sizing.js +13 -1
  899. package/dist/es/ricos-common-plugins/decoration-plugins/list-item-sizing.js.map +2 -2
  900. package/dist/es/ricos-common-plugins/font-size/block-font-size-plugin.js +2 -1
  901. package/dist/es/ricos-common-plugins/font-size/block-font-size-plugin.js.map +2 -2
  902. package/dist/es/ricos-common-plugins/font-size/dropdown/font-size-dropdown-scss.js +3 -3
  903. package/dist/es/ricos-common-plugins/font-size/dropdown/font-size-dropdown-scss.js.map +1 -1
  904. package/dist/es/ricos-common-plugins/gap-spacer/gap-spacer-component/gap-spacer-styles-scss.js +10 -10
  905. package/dist/es/ricos-common-plugins/gap-spacer/gap-spacer-component/gap-spacer-styles-scss.js.map +1 -1
  906. package/dist/es/ricos-common-plugins/layout/layouts-scss.js +35 -35
  907. package/dist/es/ricos-common-plugins/layout/layouts-scss.js.map +1 -1
  908. package/dist/es/ricos-common-plugins/layout/paywall-toolbar-button.js +74 -0
  909. package/dist/es/ricos-common-plugins/layout/paywall-toolbar-button.js.map +7 -0
  910. package/dist/es/ricos-common-plugins/layout/plugin-layout.js +178 -173
  911. package/dist/es/ricos-common-plugins/layout/plugin-layout.js.map +2 -2
  912. package/dist/es/ricos-common-plugins/layout/section-dividers/section-dividers-panel-scss.js +4 -4
  913. package/dist/es/ricos-common-plugins/layout/section-dividers/section-dividers-panel-scss.js.map +1 -1
  914. package/dist/es/ricos-common-plugins/layout/section-dividers/section-dividers-scss.js +6 -6
  915. package/dist/es/ricos-common-plugins/layout/section-dividers/section-dividers-scss.js.map +1 -1
  916. package/dist/es/ricos-common-plugins/list-item/extension.js +9 -0
  917. package/dist/es/ricos-common-plugins/list-item/extension.js.map +2 -2
  918. package/dist/es/ricos-common-plugins/list-item/list-converters.js +5 -3
  919. package/dist/es/ricos-common-plugins/list-item/list-converters.js.map +2 -2
  920. package/dist/es/ricos-common-plugins/list-item/list-marker-selection.js +274 -0
  921. package/dist/es/ricos-common-plugins/list-item/list-marker-selection.js.map +7 -0
  922. package/dist/es/ricos-common-plugins/quick-actions/modal/modal-scss.js +4 -4
  923. package/dist/es/ricos-common-plugins/quick-actions/modal/modal-scss.js.map +1 -1
  924. package/dist/es/ricos-common-plugins/statics/styles-scss.js +20 -20
  925. package/dist/es/ricos-common-plugins/statics/styles-scss.js.map +1 -1
  926. package/dist/es/ricos-common-plugins/strikethrough/strikethrough.js +2 -2
  927. package/dist/es/ricos-common-plugins/strikethrough/strikethrough.js.map +2 -2
  928. package/dist/es/ricos-common-plugins/strikethrough/strikethrough.testkit.js +1 -0
  929. package/dist/es/ricos-common-plugins/strikethrough/strikethrough.testkit.js.map +2 -2
  930. package/dist/es/ricos-common-plugins/title/headings-scss.js +10 -10
  931. package/dist/es/ricos-common-plugins/title/headings-scss.js.map +1 -1
  932. package/dist/es/ricos-common-plugins/underline/underline.js +2 -2
  933. package/dist/es/ricos-common-plugins/underline/underline.js.map +2 -2
  934. package/dist/es/ricos-editor/statics/styles/editor-styles-scss.js +11 -11
  935. package/dist/es/ricos-editor/statics/styles/editor-styles-scss.js.map +1 -1
  936. package/dist/es/ricos-modals/statics/styles/drawer-scss.js +11 -11
  937. package/dist/es/ricos-modals/statics/styles/drawer-scss.js.map +1 -1
  938. package/dist/es/ricos-modals/statics/styles/fullscreen-scss.js +3 -3
  939. package/dist/es/ricos-modals/statics/styles/fullscreen-scss.js.map +1 -1
  940. package/dist/es/ricos-modals/statics/styles/popper-scss.js +5 -5
  941. package/dist/es/ricos-modals/statics/styles/popper-scss.js.map +1 -1
  942. package/dist/es/ricos-schema/next-schema/version.js +1 -1
  943. package/dist/es/ricos-schema/next-schema/version.js.map +1 -1
  944. package/dist/es/ricos-styles/statics/styles/style-presets-scss.js +8 -8
  945. package/dist/es/ricos-styles/statics/styles/style-presets-scss.js.map +1 -1
  946. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/blockquote/blockquote-scss.js +3 -3
  947. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/blockquote/blockquote-scss.js.map +1 -1
  948. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock-scss.js +3 -3
  949. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock-scss.js.map +1 -1
  950. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading-scss.js +9 -9
  951. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading-scss.js.map +1 -1
  952. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/layout/layout-scss.js +10 -10
  953. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/layout/layout-scss.js.map +1 -1
  954. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.js +10 -1
  955. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.js.map +2 -2
  956. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/lists/lists-scss.js +6 -6
  957. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/lists/lists-scss.js.map +1 -1
  958. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph-scss.js +4 -4
  959. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph-scss.js.map +1 -1
  960. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/link-viewer-wrapper-scss.js +2 -2
  961. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/link-viewer-wrapper-scss.js.map +1 -1
  962. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/plugin-scss.js +15 -15
  963. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/plugin-scss.js.map +1 -1
  964. package/dist/es/ricos-viewer-next/modals/fullscreen/fullscreen-scss.js +14 -14
  965. package/dist/es/ricos-viewer-next/modals/fullscreen/fullscreen-scss.js.map +1 -1
  966. package/dist/es/ricos-viewer-next/statics/alignment-scss.js +16 -16
  967. package/dist/es/ricos-viewer-next/statics/alignment-scss.js.map +1 -1
  968. package/dist/es/ricos-viewer-next/statics/indentation-scss.js +7 -7
  969. package/dist/es/ricos-viewer-next/statics/indentation-scss.js.map +1 -1
  970. package/dist/es/ricos-viewer-next/statics/rich-content-viewer-scss.js +9 -9
  971. package/dist/es/ricos-viewer-next/statics/rich-content-viewer-scss.js.map +1 -1
  972. package/dist/es/ricos-viewer-next/statics/rtl-scss.js +2 -2
  973. package/dist/es/ricos-viewer-next/statics/rtl-scss.js.map +1 -1
  974. package/dist/es/text-selection-toolbar/statics/styles/viewer-inline-toolbar-scss.js +4 -4
  975. package/dist/es/text-selection-toolbar/statics/styles/viewer-inline-toolbar-scss.js.map +1 -1
  976. package/dist/es/tiptap/core/editor.js +5 -2
  977. package/dist/es/tiptap/core/editor.js.map +2 -2
  978. package/dist/es/tiptap-editor/statics/styles/tiptap-editor-styles-scss.js +15 -15
  979. package/dist/es/tiptap-editor/statics/styles/tiptap-editor-styles-scss.js.map +1 -1
  980. package/dist/es/tiptap-extensions/placeholder-scss.js +3 -3
  981. package/dist/es/tiptap-extensions/placeholder-scss.js.map +1 -1
  982. package/dist/es/tiptap-extensions/statics/styles-scss.js +6 -6
  983. package/dist/es/tiptap-extensions/statics/styles-scss.js.map +1 -1
  984. package/dist/es/toolbars-v3/components/InsertPluginToolbar/insert-plugin-toolbar-scss.js +3 -3
  985. package/dist/es/toolbars-v3/components/InsertPluginToolbar/insert-plugin-toolbar-scss.js.map +1 -1
  986. package/dist/es/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.js +2 -1
  987. package/dist/es/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.js.map +2 -2
  988. package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/OverflownButtons-scss.js +5 -5
  989. package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/OverflownButtons-scss.js.map +1 -1
  990. package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbar-scss.js +5 -5
  991. package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbar-scss.js.map +1 -1
  992. package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbarWrapper-scss.js +6 -6
  993. package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbarWrapper-scss.js.map +1 -1
  994. package/dist/es/toolbars-v3/components/Toolbar/RicosMobileToolbar/RicosMobileToolbar-scss.js +11 -11
  995. package/dist/es/toolbars-v3/components/Toolbar/RicosMobileToolbar/RicosMobileToolbar-scss.js.map +1 -1
  996. package/dist/es/toolbars-v3/components/Toolbar/RicosMobileToolbar/mobile-toolbar-overlay/mobile-toolbar-overlay-scss.js +3 -3
  997. package/dist/es/toolbars-v3/components/Toolbar/RicosMobileToolbar/mobile-toolbar-overlay/mobile-toolbar-overlay-scss.js.map +1 -1
  998. package/dist/es/toolbars-v3/components/buttons/AddPluginMenuButtons/AddPluginMenuMobileButton-scss.js +5 -5
  999. package/dist/es/toolbars-v3/components/buttons/AddPluginMenuButtons/AddPluginMenuMobileButton-scss.js.map +1 -1
  1000. package/dist/es/toolbars-v3/components/buttons/FontSizeButton/FontSizeButton-scss.js +7 -7
  1001. package/dist/es/toolbars-v3/components/buttons/FontSizeButton/FontSizeButton-scss.js.map +1 -1
  1002. package/dist/es/toolbars-v3/modals/FloatingPluginMenu/styles/floating-add-plugin-menu-scss.js +8 -8
  1003. package/dist/es/toolbars-v3/modals/FloatingPluginMenu/styles/floating-add-plugin-menu-scss.js.map +1 -1
  1004. package/dist/es/toolbars-v3/ricos-toolbars/footer/FooterToolbar-scss.js +3 -3
  1005. package/dist/es/toolbars-v3/ricos-toolbars/footer/FooterToolbar-scss.js.map +1 -1
  1006. package/dist/es/toolbars-v3/ricos-toolbars/formatting/use-is-visible.js +4 -0
  1007. package/dist/es/toolbars-v3/ricos-toolbars/formatting/use-is-visible.js.map +2 -2
  1008. package/dist/es/ui-components/Components/Image-scss.js +3 -3
  1009. package/dist/es/ui-components/Components/Image-scss.js.map +1 -1
  1010. package/dist/es/ui-components/Components/double-loader-scss.js +6 -6
  1011. package/dist/es/ui-components/Components/double-loader-scss.js.map +1 -1
  1012. package/dist/es/ui-components/color-picker/button-color-swatches/button-color-swatches-scss.js +4 -4
  1013. package/dist/es/ui-components/color-picker/button-color-swatches/button-color-swatches-scss.js.map +1 -1
  1014. package/dist/es/ui-components/color-picker/new-color-picker/components/gradient-picker/gradient-picker-scss.js +15 -15
  1015. package/dist/es/ui-components/color-picker/new-color-picker/components/gradient-picker/gradient-picker-scss.js.map +1 -1
  1016. package/dist/es/ui-components/color-picker/new-color-picker/components/new-color-swatches/new-color-swatches-scss.js +3 -3
  1017. package/dist/es/ui-components/color-picker/new-color-picker/components/new-color-swatches/new-color-swatches-scss.js.map +1 -1
  1018. package/dist/es/ui-components/color-picker/new-color-picker/components/simple-color-picker/simple-color-picker-scss.js +4 -4
  1019. package/dist/es/ui-components/color-picker/new-color-picker/components/simple-color-picker/simple-color-picker-scss.js.map +1 -1
  1020. package/dist/es/ui-components/color-picker/new-color-picker/components/single-color-swatch/single-color-swatch-scss.js +4 -4
  1021. package/dist/es/ui-components/color-picker/new-color-picker/components/single-color-swatch/single-color-swatch-scss.js.map +1 -1
  1022. package/dist/es/ui-components/color-picker/new-color-picker/new-color-picker-scss.js +3 -3
  1023. package/dist/es/ui-components/color-picker/new-color-picker/new-color-picker-scss.js.map +1 -1
  1024. package/dist/es/ui-components/input-with-slider/input-with-slider-scss.js +3 -3
  1025. package/dist/es/ui-components/input-with-slider/input-with-slider-scss.js.map +1 -1
  1026. package/dist/es/ui-components/layout-background-loader/layout-background-loader-scss.js +5 -5
  1027. package/dist/es/ui-components/layout-background-loader/layout-background-loader-scss.js.map +1 -1
  1028. package/dist/es/ui-components/modal-layout/floating-layout/floating-desktop-layout-scss.js +3 -3
  1029. package/dist/es/ui-components/modal-layout/floating-layout/floating-desktop-layout-scss.js.map +1 -1
  1030. package/dist/es/ui-components/modal-layout/fullscreen-mobile-layout/fullscreen-mobile-layout-scss.js +6 -6
  1031. package/dist/es/ui-components/modal-layout/fullscreen-mobile-layout/fullscreen-mobile-layout-scss.js.map +1 -1
  1032. package/dist/es/ui-components/panel/panel-scss.js +4 -4
  1033. package/dist/es/ui-components/panel/panel-scss.js.map +1 -1
  1034. package/dist/es/ui-components/panel-header/panel-header-scss.js +3 -3
  1035. package/dist/es/ui-components/panel-header/panel-header-scss.js.map +1 -1
  1036. package/dist/es/ui-components/settings-panel-discard-modal/settings-panel-discard-modal-scss.js +3 -3
  1037. package/dist/es/ui-components/settings-panel-discard-modal/settings-panel-discard-modal-scss.js.map +1 -1
  1038. package/dist/es/ui-components/statics/styles/generic-error-scss.js +3 -3
  1039. package/dist/es/ui-components/statics/styles/generic-error-scss.js.map +1 -1
  1040. package/dist/es/ui-components/statics/styles/loaders-scss.js +10 -10
  1041. package/dist/es/ui-components/statics/styles/loaders-scss.js.map +1 -1
  1042. package/dist/es/ui-components/statics/styles/media-item-error-msg-scss.js +5 -5
  1043. package/dist/es/ui-components/statics/styles/media-item-error-msg-scss.js.map +1 -1
  1044. package/dist/es/ui-components/statics/styles/slider-scss.js +9 -9
  1045. package/dist/es/ui-components/statics/styles/slider-scss.js.map +1 -1
  1046. package/dist/es/ui-components/thumbnail-picker/thumbnail-picker-scss.js +3 -3
  1047. package/dist/es/ui-components/thumbnail-picker/thumbnail-picker-scss.js.map +1 -1
  1048. package/dist/es/ui-components/wixel-assistant/assistant-timeline-scss.js +18 -18
  1049. package/dist/es/ui-components/wixel-assistant/assistant-timeline-scss.js.map +1 -1
  1050. package/dist/es/wix-react-player/players/youtube.js +1 -0
  1051. package/dist/es/wix-react-player/players/youtube.js.map +2 -2
  1052. package/dist/es/wix-rich-content-common/statics/styles/fonts-scss.js +3 -3
  1053. package/dist/es/wix-rich-content-common/statics/styles/fonts-scss.js.map +1 -1
  1054. package/dist/es/wix-rich-content-common/statics/styles/general-scss.js +13 -13
  1055. package/dist/es/wix-rich-content-common/statics/styles/general-scss.js.map +1 -1
  1056. package/dist/src/_shared/editor-base-url/editor-base-url-context.d.ts.map +1 -1
  1057. package/dist/src/_shared/font-weight.d.ts +3 -0
  1058. package/dist/src/_shared/font-weight.d.ts.map +1 -0
  1059. package/dist/src/_shared/get-all-plugin-testkits.d.ts +1 -0
  1060. package/dist/src/_shared/get-all-plugin-testkits.d.ts.map +1 -1
  1061. package/dist/src/_shared/get-common-marker-style.d.ts +3 -0
  1062. package/dist/src/_shared/get-common-marker-style.d.ts.map +1 -0
  1063. package/dist/src/_shared/get-common-marker-style.spec.d.ts +2 -0
  1064. package/dist/src/_shared/get-common-marker-style.spec.d.ts.map +1 -0
  1065. package/dist/src/_shared/get-decorations-marker-style.d.ts +4 -0
  1066. package/dist/src/_shared/get-decorations-marker-style.d.ts.map +1 -0
  1067. package/dist/src/_shared/get-decorations-marker-style.spec.d.ts +2 -0
  1068. package/dist/src/_shared/get-decorations-marker-style.spec.d.ts.map +1 -0
  1069. package/dist/src/_shared/get-list-marker-style.d.ts +3 -0
  1070. package/dist/src/_shared/get-list-marker-style.d.ts.map +1 -0
  1071. package/dist/src/_shared/get-list-marker-style.spec.d.ts +2 -0
  1072. package/dist/src/_shared/get-list-marker-style.spec.d.ts.map +1 -0
  1073. package/dist/src/_shared/plugin-toolbar/create-settings-button.d.ts +2 -2
  1074. package/dist/src/_shared/plugin-toolbar/create-settings-button.d.ts.map +1 -1
  1075. package/dist/src/_shared/pm-node-types.d.ts +2 -1
  1076. package/dist/src/_shared/pm-node-types.d.ts.map +1 -1
  1077. package/dist/src/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.d.ts +2 -0
  1078. package/dist/src/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.d.ts.map +1 -1
  1079. package/dist/src/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.spec.d.ts +2 -0
  1080. package/dist/src/_shared/site-pages/site-pages-fetch-context/use-fetch-site-pages.spec.d.ts.map +1 -0
  1081. package/dist/src/_shared/site-pages/site-pages-fetch-context.d.ts.map +1 -1
  1082. package/dist/src/_shared/site-pages/types.d.ts +24 -2
  1083. package/dist/src/_shared/site-pages/types.d.ts.map +1 -1
  1084. package/dist/src/index.d.ts +3 -2
  1085. package/dist/src/index.d.ts.map +1 -1
  1086. package/dist/src/internal.d.ts +1 -1
  1087. package/dist/src/internal.d.ts.map +1 -1
  1088. package/dist/src/legacy.d.ts +1 -1
  1089. package/dist/src/legacy.d.ts.map +1 -1
  1090. package/dist/src/plugin-block-drag-handle/box-select.d.ts +1 -0
  1091. package/dist/src/plugin-block-drag-handle/box-select.d.ts.map +1 -1
  1092. package/dist/src/plugin-block-drag-handle/dom.d.ts +1 -0
  1093. package/dist/src/plugin-block-drag-handle/dom.d.ts.map +1 -1
  1094. package/dist/src/plugin-block-drag-handle/plugin.d.ts.map +1 -1
  1095. package/dist/src/plugin-card/card-node-view.d.ts +3 -1
  1096. package/dist/src/plugin-card/card-node-view.d.ts.map +1 -1
  1097. package/dist/src/plugin-card/card-node-view.spec.d.ts +3 -0
  1098. package/dist/src/plugin-card/card-node-view.spec.d.ts.map +1 -0
  1099. package/dist/src/plugin-card/extension.d.ts.map +1 -1
  1100. package/dist/src/plugin-card/index.d.ts +1 -1
  1101. package/dist/src/plugin-card/index.d.ts.map +1 -1
  1102. package/dist/src/plugin-card/page-gap.d.ts +3 -0
  1103. package/dist/src/plugin-card/page-gap.d.ts.map +1 -1
  1104. package/dist/src/plugin-card/types-next.d.ts +12 -0
  1105. package/dist/src/plugin-card/types-next.d.ts.map +1 -1
  1106. package/dist/src/plugin-card/types.d.ts +12 -0
  1107. package/dist/src/plugin-card/types.d.ts.map +1 -1
  1108. package/dist/src/plugin-link/editor.d.ts.map +1 -1
  1109. package/dist/src/plugin-paywall/plugin-paywall.d.ts +27 -0
  1110. package/dist/src/plugin-paywall/plugin-paywall.d.ts.map +1 -1
  1111. package/dist/src/plugin-spoiler/get-text-buttons.d.ts.map +1 -1
  1112. package/dist/src/plugin-text-color/sketch/text-highlight-button.d.ts.map +1 -1
  1113. package/dist/src/plugin-video/viewer/video.d.ts.map +1 -1
  1114. package/dist/src/ricos-common-plugins/bold/extension.d.ts.map +1 -1
  1115. package/dist/src/ricos-common-plugins/decoration-plugins/list-item-sizing.d.ts +9 -7
  1116. package/dist/src/ricos-common-plugins/decoration-plugins/list-item-sizing.d.ts.map +1 -1
  1117. package/dist/src/ricos-common-plugins/font-size/block-font-size-plugin.d.ts.map +1 -1
  1118. package/dist/src/ricos-common-plugins/layout/paywall-toolbar-button.d.ts +6 -0
  1119. package/dist/src/ricos-common-plugins/layout/paywall-toolbar-button.d.ts.map +1 -0
  1120. package/dist/src/ricos-common-plugins/layout/paywall-toolbar-button.spec.d.ts +2 -0
  1121. package/dist/src/ricos-common-plugins/layout/paywall-toolbar-button.spec.d.ts.map +1 -0
  1122. package/dist/src/ricos-common-plugins/layout/plugin-layout.d.ts.map +1 -1
  1123. package/dist/src/ricos-common-plugins/list-item/extension.d.ts.map +1 -1
  1124. package/dist/src/ricos-common-plugins/list-item/list-converters.d.ts.map +1 -1
  1125. package/dist/src/ricos-common-plugins/list-item/list-marker-selection.d.ts +25 -0
  1126. package/dist/src/ricos-common-plugins/list-item/list-marker-selection.d.ts.map +1 -0
  1127. package/dist/src/ricos-common-plugins/list-item/list-marker-selection.spec.d.ts +2 -0
  1128. package/dist/src/ricos-common-plugins/list-item/list-marker-selection.spec.d.ts.map +1 -0
  1129. package/dist/src/ricos-common-plugins/strikethrough/strikethrough.testkit.d.ts +1 -0
  1130. package/dist/src/ricos-common-plugins/strikethrough/strikethrough.testkit.d.ts.map +1 -1
  1131. package/dist/src/ricos-common-plugins/testkit.d.ts +1 -0
  1132. package/dist/src/ricos-common-plugins/testkit.d.ts.map +1 -1
  1133. package/dist/src/ricos-schema/next-schema/version.d.ts +1 -1
  1134. package/dist/src/ricos-styles/tests/test-cases.d.ts +3 -3
  1135. package/dist/src/ricos-types/next/ricos-types.d.ts +1 -1
  1136. package/dist/src/ricos-types/ricos-types.d.ts +1 -1
  1137. package/dist/src/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.d.ts.map +1 -1
  1138. package/dist/src/testkit.d.ts +2 -0
  1139. package/dist/src/testkit.d.ts.map +1 -1
  1140. package/dist/src/tiptap/core/editor.d.ts.map +1 -1
  1141. package/dist/src/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.d.ts.map +1 -1
  1142. package/dist/src/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.spec.d.ts +2 -0
  1143. package/dist/src/toolbars-v3/components/MaxWidthCalculationWrapper/max-width-calculation-wrapper.spec.d.ts.map +1 -0
  1144. package/dist/src/toolbars-v3/ricos-toolbars/formatting/use-is-visible.d.ts.map +1 -1
  1145. package/dist/src/wix-react-player/players/youtube.d.ts +1 -0
  1146. package/dist/src/wix-react-player/players/youtube.d.ts.map +1 -1
  1147. package/generated/public.d.ts +54 -1
  1148. package/package.json +6 -6
  1149. package/dist/cjs/_shared/site-pages/serverless-types/serverless-types.js.map +0 -7
  1150. package/dist/es/_shared/site-pages/serverless-types/serverless-types.js +0 -1
  1151. package/dist/es/_shared/site-pages/serverless-types/serverless-types.js.map +0 -7
  1152. package/dist/src/_shared/site-pages/serverless-types/serverless-types.d.ts +0 -27
  1153. 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 <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 {!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;AASlB,MAAM,UAA4B,CAAC;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,MAAM;AACJ,QAAM,EAAE,EAAE,IAAI,WAAW,YAAY;AAErC,SACE,oCAAC,SAAI,WAAW,OAAO,2BACrB,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,GACC,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;",
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 = '2a6e81b6';
1
+ var styleDataHash = '78bdccac';
2
2
  export const injectCss = (() => {
3
- var css = `.bh5Rx{position:relative}.bh5Rx:last-child .SZG9T{margin-bottom:0}.BCOdF{box-sizing:border-box;margin:0 auto;max-width:var(--ricos-internal-card-width,900px)}.id5Z2{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}.id5Z2: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}.id5Z2: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}.id5Z2._5gRte{contain-intrinsic-size:var(--ricos-internal-card-width,900px) auto;min-height:auto}.bh5Rx:first-child .id5Z2._5gRte{min-height:var(--ricos-internal-card-default-height,500px)}.AOist{left:0;pointer-events:none;position:absolute;top:0;z-index:15}.yUESe{fill:none;stroke:transparent;stroke-width:var(--ricos-custom-card-selection-border-width,2px);transition:stroke .15s ease}.id5Z2:hover .yUESe{stroke:var(--ricos-custom-card-selection-border-color,#116dff)}.id5Z2 ._18tPy,.id5Z2:hover ._18tPy{stroke:var(--ricos-custom-card-selection-active-color,#2f5dff)}.SZG9T{align-items:center;display:flex;height:54px;justify-content:center;margin-bottom:-26px;position:relative;z-index:1}.SZG9T.dgih7{margin-bottom:0}.SZG9T.dgih7 .Jowy0,.SZG9T:hover .Jowy0{opacity:1}.SZG9T.QQXc5{border-bottom:2px solid var(--ricos-custom-card-selection-active-color,#2f5dff);border-top:2px solid var(--ricos-custom-card-selection-active-color,#2f5dff)}.SZG9T.QQXc5:after,.SZG9T.QQXc5: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}.SZG9T.QQXc5:before{top:0}.SZG9T.QQXc5:after{bottom:0}.Jowy0{align-items:center;display:flex;gap:4px;justify-content:center;opacity:0;transition:opacity .2s ease}.X-DuU{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}.X-DuU.yR7bZ{min-height:auto}.X-DuU:has(>[data-card-header]){padding-block-start:0}.X-DuU:has(>[data-card-footer]){display:flex;flex-direction:column;padding-block-end:0}.X-DuU>[data-card-footer]{clear:both;margin-top:auto}.gPfu-{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}.gPfu-.-qmF0{opacity:1;pointer-events:auto}.ISA-G{pointer-events:none;position:relative;width:100%}.ISA-G.ywTaA .jJZJ0{border-color:#f9ad4d}.TDIE1{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}.TDIE1.ywTaA{color:#f9ad4d}.jJZJ0{border-top:2px dashed var(--ricos-custom-p-color,var(--ricos-text-color,#212121));height:0;transition:border-color .2s ease;width:100%}._6z1m2{position:relative}.r-Wlt{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}.r-Wlt: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}.r-Wlt: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}.xUgON{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}.xUgON:has(>[data-card-header]){padding-block-start:0}.xUgON:has(>[data-card-footer]){display:flex;flex-direction:column;padding-block-end:0}.xUgON>[data-card-footer]{clear:both;margin-top:auto}.U3vsd{border-bottom:1px solid #c9cdd2;border-top:1px solid #abafb4}._6z1m2:last-child .U3vsd{display:none}.wnK2H .r-Wlt{min-height:auto}.wnK2H._6z1m2:first-child .r-Wlt{min-height:500px}.wnK2H._1BH9b._6z1m2:first-child .r-Wlt{min-height:auto}.wnK2H .xUgON{min-height:auto}@media print{.U3vsd{display:none}._6z1m2{border:none;box-shadow:none;break-after:page;break-inside:avoid}._6z1m2:last-child{break-after:auto}.r-Wlt{border:none;box-shadow:none;height:100vh;min-height:auto;overflow:hidden;width:100%}.xUgON{max-height:calc(100vh - var(--ricos-custom-card-padding-block-start, 40px) - var(--ricos-custom-card-padding-block-end, 40px));overflow:hidden}.wnK2H{break-after:avoid}.wnK2H .r-Wlt{height:auto;min-height:auto}.wnK2H._6z1m2:first-child .r-Wlt{min-height:auto}.wnK2H .xUgON{max-height:none;min-height:auto;overflow:visible}}`;
3
+ var css = `._1wIBH{position:relative}.TOu-a{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}.TOu-a: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}.TOu-a: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}.maPuE{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}.maPuE:has(>[data-card-header]){padding-block-start:0}.maPuE:has(>[data-card-footer]){display:flex;flex-direction:column;padding-block-end:0}.maPuE>[data-card-footer]{clear:both;margin-top:auto}.DhInY{border-bottom:1px solid #c9cdd2;border-top:1px solid #abafb4}._1wIBH:last-child .DhInY{display:none}.-YHNJ .TOu-a{min-height:auto}.-YHNJ._1wIBH:first-child .TOu-a{min-height:500px}.-YHNJ.NTfs2._1wIBH:first-child .TOu-a{min-height:auto}.-YHNJ .maPuE{min-height:auto}@media print{.DhInY{display:none}._1wIBH{border:none;box-shadow:none;break-after:page;break-inside:avoid}._1wIBH:last-child{break-after:auto}.TOu-a{border:none;box-shadow:none;height:100vh;min-height:auto;overflow:hidden;width:100%}.maPuE{max-height:calc(100vh - var(--ricos-custom-card-padding-block-start, 40px) - var(--ricos-custom-card-padding-block-end, 40px));overflow:hidden}.-YHNJ{break-after:avoid}.-YHNJ .TOu-a{height:auto;min-height:auto}.-YHNJ._1wIBH:first-child .TOu-a{min-height:auto}.-YHNJ .maPuE{max-height:none;min-height:auto;overflow:visible}}.bOk93{position:relative}.bOk93:last-child .vSTqa{margin-bottom:0}.OEHka{box-sizing:border-box;margin:0 auto;max-width:var(--ricos-internal-card-width,900px)}.XmhBC{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}.XmhBC: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}.XmhBC: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}.XmhBC._3lLzk{contain-intrinsic-size:var(--ricos-internal-card-width,900px) auto;min-height:auto}.bOk93:first-child .XmhBC._3lLzk{min-height:var(--ricos-internal-card-default-height,500px)}.Ttwda{left:0;pointer-events:none;position:absolute;top:0;z-index:15}.wkMRm{fill:none;stroke:transparent;stroke-width:var(--ricos-custom-card-selection-border-width,2px);transition:stroke .15s ease}.XmhBC:hover .wkMRm{stroke:var(--ricos-custom-card-selection-border-color,#116dff)}.XmhBC .KYWwW,.XmhBC:hover .KYWwW{stroke:var(--ricos-custom-card-selection-active-color,#2f5dff)}.vSTqa{align-items:center;display:flex;height:54px;justify-content:center;margin-bottom:-26px;position:relative;z-index:1}.vSTqa.frs3-{margin-bottom:0}.vSTqa.-oe8x.frs3-{height:0}.vSTqa.frs3- .n3avZ,.vSTqa:hover .n3avZ{opacity:1}.vSTqa.nydrl{border-bottom:2px solid var(--ricos-custom-card-selection-active-color,#2f5dff);border-top:2px solid var(--ricos-custom-card-selection-active-color,#2f5dff)}.vSTqa.nydrl:after,.vSTqa.nydrl: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}.vSTqa.nydrl:before{top:0}.vSTqa.nydrl:after{bottom:0}.n3avZ{align-items:center;display:flex;gap:4px;justify-content:center;opacity:0;transition:opacity .2s ease}.yr3Yj{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}.yr3Yj.lun5j{min-height:auto}.yr3Yj:has(>[data-card-header]){padding-block-start:0}.yr3Yj:has(>[data-card-footer]){display:flex;flex-direction:column;padding-block-end:0}.yr3Yj>[data-card-footer]{clear:both;margin-top:auto}.GPKTQ{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}.GPKTQ.Q1rTw{opacity:1;pointer-events:auto}.MX-P7{pointer-events:none;position:relative;width:100%}.MX-P7.Kg5Sj ._9fyFt{border-color:#f9ad4d}.k7a1E{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}.k7a1E.Kg5Sj{color:#f9ad4d}._9fyFt{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 = "d98c6797";
1
+ var styleDataHash = "a90d7a54";
2
2
  const injectCss = (() => {
3
- var css = `.v4Lox{font-family:var(--ricos-font-family,unset)}.glob_fontElementMap{font-family:var(--ricos-font-family,unset)}.vdsA2{margin:15px 18px}@supports not (contain:inline-size){@media only screen and (max-width:480px){.vdsA2{margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}}@container (width < 480px){.vdsA2:where(:not([data-ricos-responsive=viewport],[data-ricos-responsive=viewport] *)){margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}@media (width < 480px){.vdsA2:where([data-ricos-responsive=viewport]),:where([data-ricos-responsive=viewport]) .vdsA2{margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}.ImrJz{font-size:var(--ricos-custom-code-block-font-size,16px);line-height:var(--ricos-custom-code-block-line-height,26px)}.UNGVy,.mLToy{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)){.UNGVy,.mLToy{background-color:var(--ricos-custom-code-block-background-color,rgb(from var(--ricos-fallback-color,#000000) r g b/.06))}}.UNGVy code,.mLToy code{font-family:Inconsolata,Menlo,Consolas,monospace;font-size:var(--ricos-custom-code-block-font-size,16px)}.ygXFr .UNGVy,.ygXFr .mLToy{margin:0}`;
3
+ var css = `._68-SK{font-family:var(--ricos-font-family,unset)}.glob_fontElementMap{font-family:var(--ricos-font-family,unset)}._4l3B1{margin:15px 18px}@supports not (contain:inline-size){@media only screen and (max-width:480px){._4l3B1{margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}}@container (width < 480px){._4l3B1:where(:not([data-ricos-responsive=viewport],[data-ricos-responsive=viewport] *)){margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}@media (width < 480px){._4l3B1:where([data-ricos-responsive=viewport]),:where([data-ricos-responsive=viewport]) ._4l3B1{margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}.lLjg9{font-size:var(--ricos-custom-code-block-font-size,16px);line-height:var(--ricos-custom-code-block-line-height,26px)}.-RoNg,.igGu7{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)){.-RoNg,.igGu7{background-color:var(--ricos-custom-code-block-background-color,rgb(from var(--ricos-fallback-color,#000000) r g b/.06))}}.-RoNg code,.igGu7 code{font-family:Inconsolata,Menlo,Consolas,monospace;font-size:var(--ricos-custom-code-block-font-size,16px)}.kzeDZ .-RoNg,.kzeDZ .igGu7{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": "v4Lox",
25
- "blockStyleSpacing": "vdsA2",
26
- "codeParent": "ImrJz",
27
- "codeBlock": "UNGVy vdsA2",
28
- "code": "mLToy vdsA2",
29
- "renderedInTable": "ygXFr"
24
+ "fontElementMap": "_68-SK",
25
+ "blockStyleSpacing": "_4l3B1",
26
+ "codeParent": "lLjg9",
27
+ "codeBlock": "igGu7 _4l3B1",
28
+ "code": "-RoNg _4l3B1",
29
+ "renderedInTable": "kzeDZ"
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 = 'd98c6797'; \nexport const injectCss = (() => {\n var css = `.v4Lox{font-family:var(--ricos-font-family,unset)}.glob_fontElementMap{font-family:var(--ricos-font-family,unset)}.vdsA2{margin:15px 18px}@supports not (contain:inline-size){@media only screen and (max-width:480px){.vdsA2{margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}}@container (width < 480px){.vdsA2:where(:not([data-ricos-responsive=viewport],[data-ricos-responsive=viewport] *)){margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}@media (width < 480px){.vdsA2:where([data-ricos-responsive=viewport]),:where([data-ricos-responsive=viewport]) .vdsA2{margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}.ImrJz{font-size:var(--ricos-custom-code-block-font-size,16px);line-height:var(--ricos-custom-code-block-line-height,26px)}.UNGVy,.mLToy{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)){.UNGVy,.mLToy{background-color:var(--ricos-custom-code-block-background-color,rgb(from var(--ricos-fallback-color,#000000) r g b/.06))}}.UNGVy code,.mLToy code{font-family:Inconsolata,Menlo,Consolas,monospace;font-size:var(--ricos-custom-code-block-font-size,16px)}.ygXFr .UNGVy,.ygXFr .mLToy{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\": \"v4Lox\",\n \"blockStyleSpacing\": \"vdsA2\",\n \"codeParent\": \"ImrJz\",\n \"codeBlock\": \"UNGVy vdsA2\",\n \"code\": \"mLToy vdsA2\",\n \"renderedInTable\": \"ygXFr\"\n};"],
4
+ "sourcesContent": ["var styleDataHash = 'a90d7a54'; \nexport const injectCss = (() => {\n var css = `._68-SK{font-family:var(--ricos-font-family,unset)}.glob_fontElementMap{font-family:var(--ricos-font-family,unset)}._4l3B1{margin:15px 18px}@supports not (contain:inline-size){@media only screen and (max-width:480px){._4l3B1{margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}}@container (width < 480px){._4l3B1:where(:not([data-ricos-responsive=viewport],[data-ricos-responsive=viewport] *)){margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}@media (width < 480px){._4l3B1:where([data-ricos-responsive=viewport]),:where([data-ricos-responsive=viewport]) ._4l3B1{margin:var(--ricos-custom-code-block-margin,15px calc(18px + 5%))}}.lLjg9{font-size:var(--ricos-custom-code-block-font-size,16px);line-height:var(--ricos-custom-code-block-line-height,26px)}.-RoNg,.igGu7{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)){.-RoNg,.igGu7{background-color:var(--ricos-custom-code-block-background-color,rgb(from var(--ricos-fallback-color,#000000) r g b/.06))}}.-RoNg code,.igGu7 code{font-family:Inconsolata,Menlo,Consolas,monospace;font-size:var(--ricos-custom-code-block-font-size,16px)}.kzeDZ .-RoNg,.kzeDZ .igGu7{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\": \"_68-SK\",\n \"blockStyleSpacing\": \"_4l3B1\",\n \"codeParent\": \"lLjg9\",\n \"codeBlock\": \"igGu7 _4l3B1\",\n \"code\": \"-RoNg _4l3B1\",\n \"renderedInTable\": \"kzeDZ\"\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": "dJpSU",
3
- "rtl": "cQZ1-",
4
- "iconContainer": "_1-Li3",
5
- "icon": "-p-mh",
6
- "isExpanded": "Ho3Px",
7
- "listDimensions": "VyI2a"
2
+ "ltr": "cejPh",
3
+ "rtl": "_3egoG",
4
+ "iconContainer": "mC0uo",
5
+ "icon": "s9dYe",
6
+ "isExpanded": "CeDXD",
7
+ "listDimensions": "Jy6fd"
8
8
  };
9
9
  export {
10
10
  collapsible_list_component_default as default
@@ -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\": \"dJpSU\",\n \"rtl\": \"cQZ1-\",\n \"iconContainer\": \"_1-Li3\",\n \"icon\": \"-p-mh\",\n \"isExpanded\": \"Ho3Px\",\n \"listDimensions\": \"VyI2a\"\n};"],
4
+ "sourcesContent": ["export default {\n \"ltr\": \"cejPh\",\n \"rtl\": \"_3egoG\",\n \"iconContainer\": \"mC0uo\",\n \"icon\": \"s9dYe\",\n \"isExpanded\": \"CeDXD\",\n \"listDimensions\": \"Jy6fd\"\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": "NVOhi",
3
- "title": "eo-fY",
4
- "viewerContainer": "pG82l",
5
- "titleContainer": "JVfGu",
6
- "expandIcon": "_7bwvG",
7
- "dndIcon": "x9n0L",
8
- "RTL": "naSUq",
9
- "LTR": "_5F0DX",
10
- "itemContainer": "teM2x",
11
- "itemContainerViewer": "_9Z0ug",
12
- "itemHeader": "IxOib",
13
- "itemBody": "mVGcP",
14
- "expandIconPlaceholder": "TMduX",
15
- "mouseDown": "vGEGv",
16
- "innerEditor": "exLKW",
17
- "item": "AjwpG",
18
- "floatingAddPluginMenuWrapper": "sKhj4",
19
- "childrenHidden": "zxSv-"
2
+ "container": "LjMME",
3
+ "title": "mCM5v",
4
+ "viewerContainer": "IyDjn",
5
+ "titleContainer": "Eqi-U",
6
+ "expandIcon": "_3tBOe",
7
+ "dndIcon": "mVcpl",
8
+ "RTL": "-I3YK",
9
+ "LTR": "X02NO",
10
+ "itemContainer": "f1kNi",
11
+ "itemContainerViewer": "bjCiC",
12
+ "itemHeader": "EvGwM",
13
+ "itemBody": "co0Dz",
14
+ "expandIconPlaceholder": "wyL-u",
15
+ "mouseDown": "_12VB8",
16
+ "innerEditor": "c1nF-",
17
+ "item": "fUEwd",
18
+ "floatingAddPluginMenuWrapper": "qBzrK",
19
+ "childrenHidden": "xUop6"
20
20
  };
21
21
  export {
22
22
  collapsible_list_pair_default as default