@wix/ricos 11.20.1 → 11.20.2

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 (1049) hide show
  1. package/css/all-plugins-viewer.css +167 -167
  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/figure/add-caption-button-scss.js +9 -9
  51. package/dist/cjs/_shared/figure/add-caption-button-scss.js.map +1 -1
  52. package/dist/cjs/_shared/figure/viewer-caption-scss.js +2 -2
  53. package/dist/cjs/_shared/figure/viewer-caption-scss.js.map +1 -1
  54. package/dist/cjs/_shared/figure/viewer-figure-scss.js +1 -1
  55. package/dist/cjs/_shared/figure/viewer-figure-scss.js.map +1 -1
  56. package/dist/cjs/{ricos-common-plugins/font-size/types.js → _shared/format-font-size.js} +11 -3
  57. package/dist/cjs/_shared/format-font-size.js.map +7 -0
  58. package/dist/cjs/_shared/get-px-font-size.js +26 -0
  59. package/dist/cjs/_shared/get-px-font-size.js.map +7 -0
  60. package/dist/cjs/_shared/list-item-divider/list-item-divider-scss.js +1 -1
  61. package/dist/cjs/_shared/list-item-divider/list-item-divider-scss.js.map +1 -1
  62. package/dist/cjs/_shared/list-item-select/list-item-select-scss.js +2 -2
  63. package/dist/cjs/_shared/list-item-select/list-item-select-scss.js.map +1 -1
  64. package/dist/cjs/_shared/list-item-toggle/list-item-toggle-scss.js +3 -3
  65. package/dist/cjs/_shared/list-item-toggle/list-item-toggle-scss.js.map +1 -1
  66. package/dist/cjs/_shared/overlay-hoc/overlay-hoc-scss.js +1 -1
  67. package/dist/cjs/_shared/overlay-hoc/overlay-hoc-scss.js.map +1 -1
  68. package/dist/cjs/_shared/plugin-toolbar/separator/toolbar-button-separator-scss.js +2 -2
  69. package/dist/cjs/_shared/plugin-toolbar/separator/toolbar-button-separator-scss.js.map +1 -1
  70. package/dist/cjs/_shared/plugin-toolbar/url-link-button/url-link-button-scss.js +2 -2
  71. package/dist/cjs/_shared/plugin-toolbar/url-link-button/url-link-button-scss.js.map +1 -1
  72. package/dist/cjs/_shared/pm-node-types.js.map +2 -2
  73. package/dist/cjs/_shared/prompt-input-area/attachment-bar/attachment-bar-scss.js +7 -7
  74. package/dist/cjs/_shared/prompt-input-area/attachment-bar/attachment-bar-scss.js.map +1 -1
  75. package/dist/cjs/_shared/prompt-input-area/prompt-input-area-scss.js +13 -13
  76. package/dist/cjs/_shared/prompt-input-area/prompt-input-area-scss.js.map +1 -1
  77. package/dist/cjs/_shared/prompt-input-area/widget-prompt-input-area-scss.js +8 -8
  78. package/dist/cjs/_shared/prompt-input-area/widget-prompt-input-area-scss.js.map +1 -1
  79. package/dist/cjs/_shared/resolvers/get-font-size-in-selection.js +28 -34
  80. package/dist/cjs/_shared/resolvers/get-font-size-in-selection.js.map +2 -2
  81. package/dist/cjs/_shared/shape-select-modal/shape-select-modal-content-scss.js +7 -7
  82. package/dist/cjs/_shared/shape-select-modal/shape-select-modal-content-scss.js.map +1 -1
  83. package/dist/cjs/_shared/shape-view-renderer/shape-view-renderer-scss.js +2 -2
  84. package/dist/cjs/_shared/shape-view-renderer/shape-view-renderer-scss.js.map +1 -1
  85. package/dist/cjs/_shared/toolbar-button/toolbar-button-scss.js +3 -3
  86. package/dist/cjs/_shared/toolbar-button/toolbar-button-scss.js.map +1 -1
  87. package/dist/cjs/bundled-dependencies/ai-assistant-avatar.js +4 -4
  88. package/dist/cjs/bundled-dependencies/ai-assistant-avatar.js.map +1 -1
  89. package/dist/cjs/editor-common/statics/styles/general-scss.js +18 -18
  90. package/dist/cjs/editor-common/statics/styles/general-scss.js.map +1 -1
  91. package/dist/cjs/plugin-ai/ai-content-modal/ai-content-modal-scss.js +8 -8
  92. package/dist/cjs/plugin-ai/ai-content-modal/ai-content-modal-scss.js.map +1 -1
  93. package/dist/cjs/plugin-ai/ai-content-modal/feed/feed-scss.js +2 -2
  94. package/dist/cjs/plugin-ai/ai-content-modal/feed/feed-scss.js.map +1 -1
  95. package/dist/cjs/plugin-ai/ai-content-modal/no-selection-message/no-selection-message-scss.js +1 -1
  96. package/dist/cjs/plugin-ai/ai-content-modal/no-selection-message/no-selection-message-scss.js.map +1 -1
  97. package/dist/cjs/plugin-ai/ai-content-modal/text-cursor/text-cursor-scss.js +2 -2
  98. package/dist/cjs/plugin-ai/ai-content-modal/text-cursor/text-cursor-scss.js.map +1 -1
  99. package/dist/cjs/plugin-ai/ai-content-modal/textual-prompt-input-area/textual-prompt-input-area-scss.js +5 -5
  100. package/dist/cjs/plugin-ai/ai-content-modal/textual-prompt-input-area/textual-prompt-input-area-scss.js.map +1 -1
  101. package/dist/cjs/plugin-ai/ai-image-modal/ai-image-modal-scss.js +6 -6
  102. package/dist/cjs/plugin-ai/ai-image-modal/ai-image-modal-scss.js.map +1 -1
  103. package/dist/cjs/plugin-ai/ai-plus-button/ai-plus-button-scss.js +1 -1
  104. package/dist/cjs/plugin-ai/ai-plus-button/ai-plus-button-scss.js.map +1 -1
  105. package/dist/cjs/plugin-ai/error-message/error-message-scss.js +1 -1
  106. package/dist/cjs/plugin-ai/error-message/error-message-scss.js.map +1 -1
  107. package/dist/cjs/plugin-ai/prompt-input-area/prompt-input-area-scss.js +4 -4
  108. package/dist/cjs/plugin-ai/prompt-input-area/prompt-input-area-scss.js.map +1 -1
  109. package/dist/cjs/plugin-ai/toolbar/toolbar-button-scss.js +2 -2
  110. package/dist/cjs/plugin-ai/toolbar/toolbar-button-scss.js.map +1 -1
  111. package/dist/cjs/plugin-animation/animation-panel-scss.js +9 -9
  112. package/dist/cjs/plugin-animation/animation-panel-scss.js.map +1 -1
  113. package/dist/cjs/plugin-audio/statics/styles/audio-embed-scss.js +1 -1
  114. package/dist/cjs/plugin-audio/statics/styles/audio-embed-scss.js.map +1 -1
  115. package/dist/cjs/plugin-audio/statics/styles/audio-scss.js +21 -21
  116. package/dist/cjs/plugin-audio/statics/styles/audio-scss.js.map +1 -1
  117. package/dist/cjs/plugin-audio/statics/styles/icon-button-scss.js +1 -1
  118. package/dist/cjs/plugin-audio/statics/styles/icon-button-scss.js.map +1 -1
  119. package/dist/cjs/plugin-audio/statics/styles/settings-modal-scss.js +1 -1
  120. package/dist/cjs/plugin-audio/statics/styles/settings-modal-scss.js.map +1 -1
  121. package/dist/cjs/plugin-audio/statics/styles/sound-control-scss.js +2 -2
  122. package/dist/cjs/plugin-audio/statics/styles/sound-control-scss.js.map +1 -1
  123. package/dist/cjs/plugin-block-drag-handle/styles-scss.js +8 -8
  124. package/dist/cjs/plugin-block-drag-handle/styles-scss.js.map +1 -1
  125. package/dist/cjs/plugin-button/statics/styles/button-input-modal-scss.js +2 -2
  126. package/dist/cjs/plugin-button/statics/styles/button-input-modal-scss.js.map +1 -1
  127. package/dist/cjs/plugin-button/statics/styles/default-styles-scss.js +3 -3
  128. package/dist/cjs/plugin-button/statics/styles/default-styles-scss.js.map +1 -1
  129. package/dist/cjs/plugin-button/statics/styles/settings-component-scss.js +1 -1
  130. package/dist/cjs/plugin-button/statics/styles/settings-component-scss.js.map +1 -1
  131. package/dist/cjs/plugin-card/card-scss.js +19 -19
  132. package/dist/cjs/plugin-card/card-scss.js.map +1 -1
  133. package/dist/cjs/plugin-card/card-viewer-scss.js +6 -6
  134. package/dist/cjs/plugin-card/card-viewer-scss.js.map +1 -1
  135. package/dist/cjs/plugin-code-block/code-block-converter.js +20 -10
  136. package/dist/cjs/plugin-code-block/code-block-converter.js.map +2 -2
  137. package/dist/cjs/plugin-code-block/statics/styles/code-block-scss.js +6 -6
  138. package/dist/cjs/plugin-code-block/statics/styles/code-block-scss.js.map +1 -1
  139. package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js +6 -6
  140. package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js.map +1 -1
  141. package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-pair-scss.js +18 -18
  142. package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-pair-scss.js.map +1 -1
  143. package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-settings-scss.js +2 -2
  144. package/dist/cjs/plugin-collapsible-list/statics/styles/collapsible-list-settings-scss.js.map +1 -1
  145. package/dist/cjs/plugin-collapsible-list/statics/styles/new-pair-button-scss.js +3 -3
  146. package/dist/cjs/plugin-collapsible-list/statics/styles/new-pair-button-scss.js.map +1 -1
  147. package/dist/cjs/plugin-divider/statics/styles/divider-viewer-scss.js +13 -13
  148. package/dist/cjs/plugin-divider/statics/styles/divider-viewer-scss.js.map +1 -1
  149. package/dist/cjs/plugin-divider/toolbar/modals/divider-design-panel-scss.js +1 -1
  150. package/dist/cjs/plugin-divider/toolbar/modals/divider-design-panel-scss.js.map +1 -1
  151. package/dist/cjs/plugin-emoji/modals/emoji-suggestions-modal-scss.js +1 -1
  152. package/dist/cjs/plugin-emoji/modals/emoji-suggestions-modal-scss.js.map +1 -1
  153. package/dist/cjs/plugin-figure/tiptap/caption-scss.js +3 -3
  154. package/dist/cjs/plugin-figure/tiptap/caption-scss.js.map +1 -1
  155. package/dist/cjs/plugin-figure/tiptap/figure-scss.js +3 -3
  156. package/dist/cjs/plugin-figure/tiptap/figure-scss.js.map +1 -1
  157. package/dist/cjs/plugin-file-upload/statics/styles/file-upload-viewer-scss.js +15 -15
  158. package/dist/cjs/plugin-file-upload/statics/styles/file-upload-viewer-scss.js.map +1 -1
  159. package/dist/cjs/plugin-gallery/modals/settings/gallery-settings-modal-scss.js +3 -3
  160. package/dist/cjs/plugin-gallery/modals/settings/gallery-settings-modal-scss.js.map +1 -1
  161. package/dist/cjs/plugin-gallery/modals/settings/layout-settings/layout-controls-section/image-ratio-control-scss.js +6 -6
  162. package/dist/cjs/plugin-gallery/modals/settings/layout-settings/layout-controls-section/image-ratio-control-scss.js.map +1 -1
  163. package/dist/cjs/plugin-gallery/modals/settings/layout-settings/layout-controls-section/thumbnail-alignment-control-scss.js +5 -5
  164. package/dist/cjs/plugin-gallery/modals/settings/layout-settings/layout-controls-section/thumbnail-alignment-control-scss.js.map +1 -1
  165. package/dist/cjs/plugin-gallery/modals/settings/media-settings/media-list/sortable-item-scss.js +1 -1
  166. package/dist/cjs/plugin-gallery/modals/settings/media-settings/media-list/sortable-item-scss.js.map +1 -1
  167. package/dist/cjs/plugin-gallery/modals/settings/media-settings/media-list/sortable-list-scss.js +3 -3
  168. package/dist/cjs/plugin-gallery/modals/settings/media-settings/media-list/sortable-list-scss.js.map +1 -1
  169. package/dist/cjs/plugin-gallery/statics/styles/gallery-component-scss.js +1 -1
  170. package/dist/cjs/plugin-gallery/statics/styles/gallery-component-scss.js.map +1 -1
  171. package/dist/cjs/plugin-gallery/statics/styles/gallery-media-scss.js +21 -21
  172. package/dist/cjs/plugin-gallery/statics/styles/gallery-media-scss.js.map +1 -1
  173. package/dist/cjs/plugin-gallery/statics/styles/viewer-scss.js +1 -1
  174. package/dist/cjs/plugin-gallery/statics/styles/viewer-scss.js.map +1 -1
  175. package/dist/cjs/plugin-gallery/viewer/layout-column-scss.js +4 -4
  176. package/dist/cjs/plugin-gallery/viewer/layout-column-scss.js.map +1 -1
  177. package/dist/cjs/plugin-gallery/viewer/layout-fullsize-scss.js +4 -4
  178. package/dist/cjs/plugin-gallery/viewer/layout-fullsize-scss.js.map +1 -1
  179. package/dist/cjs/plugin-gallery/viewer/layout-grid-scss.js +2 -2
  180. package/dist/cjs/plugin-gallery/viewer/layout-grid-scss.js.map +1 -1
  181. package/dist/cjs/plugin-gallery/viewer/layout-masonry-scss.js +7 -7
  182. package/dist/cjs/plugin-gallery/viewer/layout-masonry-scss.js.map +1 -1
  183. package/dist/cjs/plugin-gallery/viewer/layout-panorama-scss.js +1 -1
  184. package/dist/cjs/plugin-gallery/viewer/layout-panorama-scss.js.map +1 -1
  185. package/dist/cjs/plugin-gallery/viewer/layout-slider-scss.js +6 -6
  186. package/dist/cjs/plugin-gallery/viewer/layout-slider-scss.js.map +1 -1
  187. package/dist/cjs/plugin-gallery/viewer/layout-thumbnail-scss.js +11 -11
  188. package/dist/cjs/plugin-gallery/viewer/layout-thumbnail-scss.js.map +1 -1
  189. package/dist/cjs/plugin-giphy/components/giphy-selector-scss.js +9 -9
  190. package/dist/cjs/plugin-giphy/components/giphy-selector-scss.js.map +1 -1
  191. package/dist/cjs/plugin-giphy/viewer/giphy-viewer-scss.js +4 -4
  192. package/dist/cjs/plugin-giphy/viewer/giphy-viewer-scss.js.map +1 -1
  193. package/dist/cjs/plugin-giphy/viewer/play-icon-scss.js +2 -2
  194. package/dist/cjs/plugin-giphy/viewer/play-icon-scss.js.map +1 -1
  195. package/dist/cjs/plugin-hashtag/statics/hashtag-scss.js +2 -2
  196. package/dist/cjs/plugin-hashtag/statics/hashtag-scss.js.map +1 -1
  197. package/dist/cjs/plugin-headings/dropdown/headings-dropdown-scss.js +5 -5
  198. package/dist/cjs/plugin-headings/dropdown/headings-dropdown-scss.js.map +1 -1
  199. package/dist/cjs/plugin-html/statics/styles/HtmlComponent-scss.js +2 -2
  200. package/dist/cjs/plugin-html/statics/styles/HtmlComponent-scss.js.map +1 -1
  201. package/dist/cjs/plugin-html/statics/styles/Iframe-scss.js +1 -1
  202. package/dist/cjs/plugin-html/statics/styles/Iframe-scss.js.map +1 -1
  203. package/dist/cjs/plugin-html/tiptap/ai-widget-scss.js +2 -2
  204. package/dist/cjs/plugin-html/tiptap/ai-widget-scss.js.map +1 -1
  205. package/dist/cjs/plugin-html/tiptap/loader-scss.js +9 -9
  206. package/dist/cjs/plugin-html/tiptap/loader-scss.js.map +1 -1
  207. package/dist/cjs/plugin-html/tiptap/preset-bar/preset-bar-scss.js +2 -2
  208. package/dist/cjs/plugin-html/tiptap/preset-bar/preset-bar-scss.js.map +1 -1
  209. package/dist/cjs/plugin-image/components/corner-radius-handles-scss.js +4 -4
  210. package/dist/cjs/plugin-image/components/corner-radius-handles-scss.js.map +1 -1
  211. package/dist/cjs/plugin-image/components/crop-edge-handles-scss.js +1 -1
  212. package/dist/cjs/plugin-image/components/crop-edge-handles-scss.js.map +1 -1
  213. package/dist/cjs/plugin-image/crop-overlay/crop-overlay-scss.js +14 -14
  214. package/dist/cjs/plugin-image/crop-overlay/crop-overlay-scss.js.map +1 -1
  215. package/dist/cjs/plugin-image/statics/styles/image-viewer-scss.js +20 -20
  216. package/dist/cjs/plugin-image/statics/styles/image-viewer-scss.js.map +1 -1
  217. package/dist/cjs/plugin-image/statics/styles/settings-modal-scss.js +1 -1
  218. package/dist/cjs/plugin-image/statics/styles/settings-modal-scss.js.map +1 -1
  219. package/dist/cjs/plugin-image/toolbar/shape-crop-modal-scss.js +4 -4
  220. package/dist/cjs/plugin-image/toolbar/shape-crop-modal-scss.js.map +1 -1
  221. package/dist/cjs/plugin-inline-ai/ai-selection-tooltip-scss.js +10 -10
  222. package/dist/cjs/plugin-inline-ai/ai-selection-tooltip-scss.js.map +1 -1
  223. package/dist/cjs/plugin-inline-ai/aria-avatar-row-scss.js +1 -1
  224. package/dist/cjs/plugin-inline-ai/aria-avatar-row-scss.js.map +1 -1
  225. package/dist/cjs/plugin-inline-ai/aria-surface-row-scss.js +4 -4
  226. package/dist/cjs/plugin-inline-ai/aria-surface-row-scss.js.map +1 -1
  227. package/dist/cjs/plugin-inline-ai/html-placeholder-scss.js +3 -3
  228. package/dist/cjs/plugin-inline-ai/html-placeholder-scss.js.map +1 -1
  229. package/dist/cjs/plugin-inline-ai/modal-scss.js +9 -9
  230. package/dist/cjs/plugin-inline-ai/modal-scss.js.map +1 -1
  231. package/dist/cjs/plugin-inline-ai/pending-widget-placeholder-scss.js +12 -12
  232. package/dist/cjs/plugin-inline-ai/pending-widget-placeholder-scss.js.map +1 -1
  233. package/dist/cjs/plugin-inline-ai/spinner-scss.js +2 -2
  234. package/dist/cjs/plugin-inline-ai/spinner-scss.js.map +1 -1
  235. package/dist/cjs/plugin-inline-ai/toolbar/toolbar-button-scss.js +2 -2
  236. package/dist/cjs/plugin-inline-ai/toolbar/toolbar-button-scss.js.map +1 -1
  237. package/dist/cjs/plugin-line-spacing/custom-spacing-editor-modal/custom-spacing-editor-modal-scss.js +1 -1
  238. package/dist/cjs/plugin-line-spacing/custom-spacing-editor-modal/custom-spacing-editor-modal-scss.js.map +1 -1
  239. package/dist/cjs/plugin-link/statics/link-viewer-scss.js +4 -4
  240. package/dist/cjs/plugin-link/statics/link-viewer-scss.js.map +1 -1
  241. package/dist/cjs/plugin-link/toolbar/anchor-link-button-scss.js +1 -1
  242. package/dist/cjs/plugin-link/toolbar/anchor-link-button-scss.js.map +1 -1
  243. package/dist/cjs/plugin-link-preview/statics/styles/insert-modal-scss.js +1 -1
  244. package/dist/cjs/plugin-link-preview/statics/styles/insert-modal-scss.js.map +1 -1
  245. package/dist/cjs/plugin-link-preview/statics/styles/link-preview-scss.js +18 -18
  246. package/dist/cjs/plugin-link-preview/statics/styles/link-preview-scss.js.map +1 -1
  247. package/dist/cjs/plugin-link-preview/statics/styles/settings-modal-scss.js +1 -1
  248. package/dist/cjs/plugin-link-preview/statics/styles/settings-modal-scss.js.map +1 -1
  249. package/dist/cjs/plugin-mentions/statics/mention-list-scss.js +3 -3
  250. package/dist/cjs/plugin-mentions/statics/mention-list-scss.js.map +1 -1
  251. package/dist/cjs/plugin-mentions/statics/mentions-scss.js +4 -4
  252. package/dist/cjs/plugin-mentions/statics/mentions-scss.js.map +1 -1
  253. package/dist/cjs/plugin-paywall/paywall-fallback-scss.js +1 -1
  254. package/dist/cjs/plugin-paywall/paywall-fallback-scss.js.map +1 -1
  255. package/dist/cjs/plugin-smart-block/components/cell-accessory-scss.js +22 -22
  256. package/dist/cjs/plugin-smart-block/components/cell-accessory-scss.js.map +1 -1
  257. package/dist/cjs/plugin-smart-block/components/cell-quote-glyph-scss.js +3 -3
  258. package/dist/cjs/plugin-smart-block/components/cell-quote-glyph-scss.js.map +1 -1
  259. package/dist/cjs/plugin-smart-block/components/cell-star-rating-scss.js +4 -4
  260. package/dist/cjs/plugin-smart-block/components/cell-star-rating-scss.js.map +1 -1
  261. package/dist/cjs/plugin-smart-block/components/cell-stat-scss.js +20 -20
  262. package/dist/cjs/plugin-smart-block/components/cell-stat-scss.js.map +1 -1
  263. package/dist/cjs/plugin-smart-block/components/circle-donut-scss.js +7 -7
  264. package/dist/cjs/plugin-smart-block/components/circle-donut-scss.js.map +1 -1
  265. package/dist/cjs/plugin-smart-block/components/shape-overlay-scss.js +1 -1
  266. package/dist/cjs/plugin-smart-block/components/shape-overlay-scss.js.map +1 -1
  267. package/dist/cjs/plugin-smart-block/components/smart-block-view-scss.js +50 -50
  268. package/dist/cjs/plugin-smart-block/components/smart-block-view-scss.js.map +1 -1
  269. package/dist/cjs/plugin-smart-block/components/stars-scss.js +8 -8
  270. package/dist/cjs/plugin-smart-block/components/stars-scss.js.map +1 -1
  271. package/dist/cjs/plugin-smart-block/modals/variant-picker-scss.js +7 -7
  272. package/dist/cjs/plugin-smart-block/modals/variant-picker-scss.js.map +1 -1
  273. package/dist/cjs/plugin-smart-block/tiptap/smart-block-editor-scss.js +13 -13
  274. package/dist/cjs/plugin-smart-block/tiptap/smart-block-editor-scss.js.map +1 -1
  275. package/dist/cjs/plugin-social-polls/components/image-upload/image-upload-scss.js +9 -9
  276. package/dist/cjs/plugin-social-polls/components/image-upload/image-upload-scss.js.map +1 -1
  277. package/dist/cjs/plugin-social-polls/components/insert-modal/insert-modal-scss.js +1 -1
  278. package/dist/cjs/plugin-social-polls/components/insert-modal/insert-modal-scss.js.map +1 -1
  279. package/dist/cjs/plugin-social-polls/components/poll-header/poll-header-scss.js +3 -3
  280. package/dist/cjs/plugin-social-polls/components/poll-header/poll-header-scss.js.map +1 -1
  281. package/dist/cjs/plugin-social-polls/components/poll-option/option-scss.js +23 -23
  282. package/dist/cjs/plugin-social-polls/components/poll-option/option-scss.js.map +1 -1
  283. package/dist/cjs/plugin-social-polls/components/poll-option/webview/option-webview-scss.js +24 -24
  284. package/dist/cjs/plugin-social-polls/components/poll-option/webview/option-webview-scss.js.map +1 -1
  285. package/dist/cjs/plugin-social-polls/components/poll-scss.js +19 -19
  286. package/dist/cjs/plugin-social-polls/components/poll-scss.js.map +1 -1
  287. package/dist/cjs/plugin-social-polls/components/settings-modal/settings-modal-scss.js +2 -2
  288. package/dist/cjs/plugin-social-polls/components/settings-modal/settings-modal-scss.js.map +1 -1
  289. package/dist/cjs/plugin-social-polls/components/text-field/text-field-scss.js +12 -12
  290. package/dist/cjs/plugin-social-polls/components/text-field/text-field-scss.js.map +1 -1
  291. package/dist/cjs/plugin-social-polls/components/voted-users/voted-users-scss.js +20 -20
  292. package/dist/cjs/plugin-social-polls/components/voted-users/voted-users-scss.js.map +1 -1
  293. package/dist/cjs/plugin-spoiler/statics/styles/spoiler-scss.js +18 -18
  294. package/dist/cjs/plugin-spoiler/statics/styles/spoiler-scss.js.map +1 -1
  295. package/dist/cjs/plugin-table/modals/table-grid-selector-scss.js +5 -5
  296. package/dist/cjs/plugin-table/modals/table-grid-selector-scss.js.map +1 -1
  297. package/dist/cjs/plugin-table/statics/styles/cell-scss.js +15 -15
  298. package/dist/cjs/plugin-table/statics/styles/cell-scss.js.map +1 -1
  299. package/dist/cjs/plugin-table/statics/styles/resizer-scss.js +18 -18
  300. package/dist/cjs/plugin-table/statics/styles/resizer-scss.js.map +1 -1
  301. package/dist/cjs/plugin-table/statics/styles/table-settings-modal-scss.js +1 -1
  302. package/dist/cjs/plugin-table/statics/styles/table-settings-modal-scss.js.map +1 -1
  303. package/dist/cjs/plugin-table/statics/styles/table-viewer-scss.js +6 -6
  304. package/dist/cjs/plugin-table/statics/styles/table-viewer-scss.js.map +1 -1
  305. package/dist/cjs/plugin-table/tiptap/decorations/tableHandles-scss.js +9 -9
  306. package/dist/cjs/plugin-table/tiptap/decorations/tableHandles-scss.js.map +1 -1
  307. package/dist/cjs/plugin-table/tiptap/plugins/table-scss.js +33 -33
  308. package/dist/cjs/plugin-table/tiptap/plugins/table-scss.js.map +1 -1
  309. package/dist/cjs/plugin-table/toolbar/modals/border-scope-selector-scss.js +2 -2
  310. package/dist/cjs/plugin-table/toolbar/modals/border-scope-selector-scss.js.map +1 -1
  311. package/dist/cjs/plugin-text-color/text-button-color-scss.js +2 -2
  312. package/dist/cjs/plugin-text-color/text-button-color-scss.js.map +1 -1
  313. package/dist/cjs/plugin-toc/toc-view-scss.js +2 -2
  314. package/dist/cjs/plugin-toc/toc-view-scss.js.map +1 -1
  315. package/dist/cjs/plugin-vertical-embed/components/Ribbon-scss.js +3 -3
  316. package/dist/cjs/plugin-vertical-embed/components/Ribbon-scss.js.map +1 -1
  317. package/dist/cjs/plugin-vertical-embed/components/card-content-scss.js +23 -23
  318. package/dist/cjs/plugin-vertical-embed/components/card-content-scss.js.map +1 -1
  319. package/dist/cjs/plugin-vertical-embed/components/card-scss.js +19 -19
  320. package/dist/cjs/plugin-vertical-embed/components/card-scss.js.map +1 -1
  321. package/dist/cjs/plugin-vertical-embed/components/description-scss.js +2 -2
  322. package/dist/cjs/plugin-vertical-embed/components/description-scss.js.map +1 -1
  323. package/dist/cjs/plugin-vertical-embed/modals/settings-modal-scss.js +2 -2
  324. package/dist/cjs/plugin-vertical-embed/modals/settings-modal-scss.js.map +1 -1
  325. package/dist/cjs/plugin-vertical-embed/tiptap/component-scss.js +10 -10
  326. package/dist/cjs/plugin-vertical-embed/tiptap/component-scss.js.map +1 -1
  327. package/dist/cjs/plugin-vertical-embed/toolbar/items-list-scss.js +1 -1
  328. package/dist/cjs/plugin-vertical-embed/toolbar/items-list-scss.js.map +1 -1
  329. package/dist/cjs/plugin-vertical-embed/viewer/vertical-embed-viewer-scss.js +6 -6
  330. package/dist/cjs/plugin-vertical-embed/viewer/vertical-embed-viewer-scss.js.map +1 -1
  331. package/dist/cjs/plugin-video/statics/styles/default-video-styles-scss.js +8 -8
  332. package/dist/cjs/plugin-video/statics/styles/default-video-styles-scss.js.map +1 -1
  333. package/dist/cjs/plugin-video/statics/styles/video-viewer-scss.js +3 -3
  334. package/dist/cjs/plugin-video/statics/styles/video-viewer-scss.js.map +1 -1
  335. package/dist/cjs/plugin-video/toolbar/embed-video-scss.js +1 -1
  336. package/dist/cjs/plugin-video/toolbar/embed-video-scss.js.map +1 -1
  337. package/dist/cjs/ricos-common-plugins/blockquote/blockquote-converter.js +13 -6
  338. package/dist/cjs/ricos-common-plugins/blockquote/blockquote-converter.js.map +2 -2
  339. package/dist/cjs/ricos-common-plugins/decoration-plugins/indentation-styling.js +1 -1
  340. package/dist/cjs/ricos-common-plugins/decoration-plugins/indentation-styling.js.map +2 -2
  341. package/dist/cjs/ricos-common-plugins/decoration-plugins/list-item-sizing.js +14 -11
  342. package/dist/cjs/ricos-common-plugins/decoration-plugins/list-item-sizing.js.map +2 -2
  343. package/dist/cjs/ricos-common-plugins/font-size/block-font-size-plugin.js +130 -0
  344. package/dist/cjs/ricos-common-plugins/font-size/block-font-size-plugin.js.map +7 -0
  345. package/dist/cjs/ricos-common-plugins/font-size/block-font-size.js +67 -0
  346. package/dist/cjs/ricos-common-plugins/font-size/block-font-size.js.map +7 -0
  347. package/dist/cjs/ricos-common-plugins/font-size/dropdown/font-size-dropdown-scss.js +1 -1
  348. package/dist/cjs/ricos-common-plugins/font-size/dropdown/font-size-dropdown-scss.js.map +1 -1
  349. package/dist/cjs/ricos-common-plugins/font-size/extension.js +52 -10
  350. package/dist/cjs/ricos-common-plugins/font-size/extension.js.map +3 -3
  351. package/dist/cjs/ricos-common-plugins/font-size/font-size.js.map +2 -2
  352. package/dist/cjs/ricos-common-plugins/font-size/viewer.js +2 -2
  353. package/dist/cjs/ricos-common-plugins/font-size/viewer.js.map +2 -2
  354. package/dist/cjs/ricos-common-plugins/gap-spacer/gap-spacer-component/gap-spacer-styles-scss.js +8 -8
  355. package/dist/cjs/ricos-common-plugins/gap-spacer/gap-spacer-component/gap-spacer-styles-scss.js.map +1 -1
  356. package/dist/cjs/ricos-common-plugins/layout/layouts-scss.js +33 -33
  357. package/dist/cjs/ricos-common-plugins/layout/layouts-scss.js.map +1 -1
  358. package/dist/cjs/ricos-common-plugins/layout/section-dividers/section-dividers-panel-scss.js +2 -2
  359. package/dist/cjs/ricos-common-plugins/layout/section-dividers/section-dividers-panel-scss.js.map +1 -1
  360. package/dist/cjs/ricos-common-plugins/layout/section-dividers/section-dividers-scss.js +4 -4
  361. package/dist/cjs/ricos-common-plugins/layout/section-dividers/section-dividers-scss.js.map +1 -1
  362. package/dist/cjs/ricos-common-plugins/paragraph/paragraph-converter.js +10 -4
  363. package/dist/cjs/ricos-common-plugins/paragraph/paragraph-converter.js.map +2 -2
  364. package/dist/cjs/ricos-common-plugins/quick-actions/modal/modal-scss.js +2 -2
  365. package/dist/cjs/ricos-common-plugins/quick-actions/modal/modal-scss.js.map +1 -1
  366. package/dist/cjs/ricos-common-plugins/statics/styles-scss.js +18 -18
  367. package/dist/cjs/ricos-common-plugins/statics/styles-scss.js.map +1 -1
  368. package/dist/cjs/ricos-common-plugins/title/heading-converter.js +12 -4
  369. package/dist/cjs/ricos-common-plugins/title/heading-converter.js.map +2 -2
  370. package/dist/cjs/ricos-common-plugins/title/headings-scss.js +8 -8
  371. package/dist/cjs/ricos-common-plugins/title/headings-scss.js.map +1 -1
  372. package/dist/cjs/ricos-common-plugins/types.js.map +1 -1
  373. package/dist/cjs/ricos-content/converters/html/fromHtml/core/preprocess.js +4 -4
  374. package/dist/cjs/ricos-content/converters/html/fromHtml/core/preprocess.js.map +2 -2
  375. package/dist/cjs/ricos-content/index.js +0 -10
  376. package/dist/cjs/ricos-content/index.js.map +2 -2
  377. package/dist/cjs/ricos-content-query/get-anchorable-nodes-query.js +2 -2
  378. package/dist/cjs/ricos-content-query/get-anchorable-nodes-query.js.map +2 -2
  379. package/dist/cjs/ricos-editor/statics/styles/editor-styles-scss.js +9 -9
  380. package/dist/cjs/ricos-editor/statics/styles/editor-styles-scss.js.map +1 -1
  381. package/dist/cjs/ricos-modals/statics/styles/drawer-scss.js +9 -9
  382. package/dist/cjs/ricos-modals/statics/styles/drawer-scss.js.map +1 -1
  383. package/dist/cjs/ricos-modals/statics/styles/fullscreen-scss.js +1 -1
  384. package/dist/cjs/ricos-modals/statics/styles/fullscreen-scss.js.map +1 -1
  385. package/dist/cjs/ricos-modals/statics/styles/popper-scss.js +3 -3
  386. package/dist/cjs/ricos-modals/statics/styles/popper-scss.js.map +1 -1
  387. package/dist/cjs/ricos-schema/next-schema/index.js +3 -2
  388. package/dist/cjs/ricos-schema/next-schema/index.js.map +3 -3
  389. package/dist/cjs/ricos-schema/next-schema/version.js +1 -1
  390. package/dist/cjs/ricos-schema/next-schema/version.js.map +1 -1
  391. package/dist/cjs/ricos-shortcuts/keys.js +2 -2
  392. package/dist/cjs/ricos-shortcuts/keys.js.map +2 -2
  393. package/dist/cjs/ricos-styles/statics/styles/style-presets-scss.js +4 -4
  394. package/dist/cjs/ricos-styles/statics/styles/style-presets-scss.js.map +1 -1
  395. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/blockquote/blockquote-scss.js +3 -3
  396. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/blockquote/blockquote-scss.js.map +1 -1
  397. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock-scss.js +3 -3
  398. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock-scss.js.map +1 -1
  399. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock.js +12 -4
  400. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock.js.map +2 -2
  401. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading-scss.js +9 -9
  402. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading-scss.js.map +1 -1
  403. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading.js +8 -3
  404. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading.js.map +2 -2
  405. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/layout/layout-scss.js +10 -10
  406. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/layout/layout-scss.js.map +1 -1
  407. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.js +8 -4
  408. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.js.map +2 -2
  409. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/lists/lists-scss.js +6 -6
  410. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/lists/lists-scss.js.map +1 -1
  411. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph-scss.js +4 -4
  412. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph-scss.js.map +1 -1
  413. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph.js +11 -3
  414. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph.js.map +2 -2
  415. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/link-viewer-wrapper-scss.js +2 -2
  416. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/link-viewer-wrapper-scss.js.map +1 -1
  417. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/plugin-scss.js +15 -15
  418. package/dist/cjs/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/plugin-scss.js.map +1 -1
  419. package/dist/cjs/ricos-viewer-next/modals/fullscreen/fullscreen-scss.js +12 -12
  420. package/dist/cjs/ricos-viewer-next/modals/fullscreen/fullscreen-scss.js.map +1 -1
  421. package/dist/cjs/ricos-viewer-next/statics/alignment-scss.js +16 -16
  422. package/dist/cjs/ricos-viewer-next/statics/alignment-scss.js.map +1 -1
  423. package/dist/cjs/ricos-viewer-next/statics/indentation-scss.js +7 -7
  424. package/dist/cjs/ricos-viewer-next/statics/indentation-scss.js.map +1 -1
  425. package/dist/cjs/ricos-viewer-next/statics/rich-content-viewer-scss.js +9 -9
  426. package/dist/cjs/ricos-viewer-next/statics/rich-content-viewer-scss.js.map +1 -1
  427. package/dist/cjs/ricos-viewer-next/statics/rtl-scss.js +2 -2
  428. package/dist/cjs/ricos-viewer-next/statics/rtl-scss.js.map +1 -1
  429. package/dist/cjs/ricos-viewer-next/types.js.map +1 -1
  430. package/dist/cjs/text-selection-toolbar/statics/styles/viewer-inline-toolbar-scss.js +2 -2
  431. package/dist/cjs/text-selection-toolbar/statics/styles/viewer-inline-toolbar-scss.js.map +1 -1
  432. package/dist/cjs/tiptap-editor/commands/update-text-node.js +7 -0
  433. package/dist/cjs/tiptap-editor/commands/update-text-node.js.map +2 -2
  434. package/dist/cjs/tiptap-editor/components/RicosTiptapEditor/ricos-tiptap-editor.js +2 -2
  435. package/dist/cjs/tiptap-editor/components/RicosTiptapEditor/ricos-tiptap-editor.js.map +2 -2
  436. package/dist/cjs/tiptap-editor/components/rich-content-adapter.js +9 -2
  437. package/dist/cjs/tiptap-editor/components/rich-content-adapter.js.map +2 -2
  438. package/dist/cjs/tiptap-editor/statics/styles/tiptap-editor-styles-scss.js +13 -13
  439. package/dist/cjs/tiptap-editor/statics/styles/tiptap-editor-styles-scss.js.map +1 -1
  440. package/dist/cjs/tiptap-extensions/placeholder-scss.js +1 -1
  441. package/dist/cjs/tiptap-extensions/placeholder-scss.js.map +1 -1
  442. package/dist/cjs/tiptap-extensions/ricos-styles.js +6 -1
  443. package/dist/cjs/tiptap-extensions/ricos-styles.js.map +2 -2
  444. package/dist/cjs/tiptap-extensions/statics/styles-scss.js +4 -4
  445. package/dist/cjs/tiptap-extensions/statics/styles-scss.js.map +1 -1
  446. package/dist/cjs/tiptap-extensions/unique-id.js +1 -1
  447. package/dist/cjs/tiptap-extensions/unique-id.js.map +2 -2
  448. package/dist/cjs/toolbars-v3/components/InsertPluginToolbar/insert-plugin-toolbar-scss.js +1 -1
  449. package/dist/cjs/toolbars-v3/components/InsertPluginToolbar/insert-plugin-toolbar-scss.js.map +1 -1
  450. package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/OverflownButtons-scss.js +3 -3
  451. package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/OverflownButtons-scss.js.map +1 -1
  452. package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbar-scss.js +3 -3
  453. package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbar-scss.js.map +1 -1
  454. package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbarWrapper-scss.js +4 -4
  455. package/dist/cjs/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbarWrapper-scss.js.map +1 -1
  456. package/dist/cjs/toolbars-v3/components/Toolbar/RicosMobileToolbar/RicosMobileToolbar-scss.js +9 -9
  457. package/dist/cjs/toolbars-v3/components/Toolbar/RicosMobileToolbar/RicosMobileToolbar-scss.js.map +1 -1
  458. package/dist/cjs/toolbars-v3/components/Toolbar/RicosMobileToolbar/mobile-toolbar-overlay/mobile-toolbar-overlay-scss.js +1 -1
  459. package/dist/cjs/toolbars-v3/components/Toolbar/RicosMobileToolbar/mobile-toolbar-overlay/mobile-toolbar-overlay-scss.js.map +1 -1
  460. package/dist/cjs/toolbars-v3/components/buttons/AddPluginMenuButtons/AddPluginMenuMobileButton-scss.js +1 -1
  461. package/dist/cjs/toolbars-v3/components/buttons/AddPluginMenuButtons/AddPluginMenuMobileButton-scss.js.map +1 -1
  462. package/dist/cjs/toolbars-v3/components/buttons/FontSizeButton/FontSizeButton-scss.js +5 -5
  463. package/dist/cjs/toolbars-v3/components/buttons/FontSizeButton/FontSizeButton-scss.js.map +1 -1
  464. package/dist/cjs/toolbars-v3/modals/FloatingPluginMenu/styles/floating-add-plugin-menu-scss.js +6 -6
  465. package/dist/cjs/toolbars-v3/modals/FloatingPluginMenu/styles/floating-add-plugin-menu-scss.js.map +1 -1
  466. package/dist/cjs/toolbars-v3/ricos-toolbars/footer/FooterToolbar-scss.js +1 -1
  467. package/dist/cjs/toolbars-v3/ricos-toolbars/footer/FooterToolbar-scss.js.map +1 -1
  468. package/dist/cjs/toolbars-v3/ricos-toolbars/use-is-toolbar-empty.js +2 -2
  469. package/dist/cjs/toolbars-v3/ricos-toolbars/use-is-toolbar-empty.js.map +2 -2
  470. package/dist/cjs/ui-components/Components/Image-scss.js +1 -1
  471. package/dist/cjs/ui-components/Components/Image-scss.js.map +1 -1
  472. package/dist/cjs/ui-components/Components/double-loader-scss.js +4 -4
  473. package/dist/cjs/ui-components/Components/double-loader-scss.js.map +1 -1
  474. package/dist/cjs/ui-components/color-picker/button-color-swatches/button-color-swatches-scss.js +2 -2
  475. package/dist/cjs/ui-components/color-picker/button-color-swatches/button-color-swatches-scss.js.map +1 -1
  476. package/dist/cjs/ui-components/color-picker/new-color-picker/components/gradient-picker/gradient-picker-scss.js +13 -13
  477. package/dist/cjs/ui-components/color-picker/new-color-picker/components/gradient-picker/gradient-picker-scss.js.map +1 -1
  478. package/dist/cjs/ui-components/color-picker/new-color-picker/components/new-color-swatches/new-color-swatches-scss.js +1 -1
  479. package/dist/cjs/ui-components/color-picker/new-color-picker/components/new-color-swatches/new-color-swatches-scss.js.map +1 -1
  480. package/dist/cjs/ui-components/color-picker/new-color-picker/components/simple-color-picker/simple-color-picker-scss.js +2 -2
  481. package/dist/cjs/ui-components/color-picker/new-color-picker/components/simple-color-picker/simple-color-picker-scss.js.map +1 -1
  482. package/dist/cjs/ui-components/color-picker/new-color-picker/components/single-color-swatch/single-color-swatch-scss.js +2 -2
  483. package/dist/cjs/ui-components/color-picker/new-color-picker/components/single-color-swatch/single-color-swatch-scss.js.map +1 -1
  484. package/dist/cjs/ui-components/color-picker/new-color-picker/new-color-picker-scss.js +1 -1
  485. package/dist/cjs/ui-components/color-picker/new-color-picker/new-color-picker-scss.js.map +1 -1
  486. package/dist/cjs/ui-components/input-with-slider/input-with-slider-scss.js +1 -1
  487. package/dist/cjs/ui-components/input-with-slider/input-with-slider-scss.js.map +1 -1
  488. package/dist/cjs/ui-components/layout-background-loader/layout-background-loader-scss.js +3 -3
  489. package/dist/cjs/ui-components/layout-background-loader/layout-background-loader-scss.js.map +1 -1
  490. package/dist/cjs/ui-components/modal-layout/floating-layout/floating-desktop-layout-scss.js +1 -1
  491. package/dist/cjs/ui-components/modal-layout/floating-layout/floating-desktop-layout-scss.js.map +1 -1
  492. package/dist/cjs/ui-components/modal-layout/fullscreen-mobile-layout/fullscreen-mobile-layout-scss.js +4 -4
  493. package/dist/cjs/ui-components/modal-layout/fullscreen-mobile-layout/fullscreen-mobile-layout-scss.js.map +1 -1
  494. package/dist/cjs/ui-components/panel/panel-scss.js +2 -2
  495. package/dist/cjs/ui-components/panel/panel-scss.js.map +1 -1
  496. package/dist/cjs/ui-components/panel-header/panel-header-scss.js +1 -1
  497. package/dist/cjs/ui-components/panel-header/panel-header-scss.js.map +1 -1
  498. package/dist/cjs/ui-components/settings-panel-discard-modal/settings-panel-discard-modal-scss.js +1 -1
  499. package/dist/cjs/ui-components/settings-panel-discard-modal/settings-panel-discard-modal-scss.js.map +1 -1
  500. package/dist/cjs/ui-components/statics/styles/generic-error-scss.js +1 -1
  501. package/dist/cjs/ui-components/statics/styles/generic-error-scss.js.map +1 -1
  502. package/dist/cjs/ui-components/statics/styles/loaders-scss.js +8 -8
  503. package/dist/cjs/ui-components/statics/styles/loaders-scss.js.map +1 -1
  504. package/dist/cjs/ui-components/statics/styles/media-item-error-msg-scss.js +3 -3
  505. package/dist/cjs/ui-components/statics/styles/media-item-error-msg-scss.js.map +1 -1
  506. package/dist/cjs/ui-components/statics/styles/slider-scss.js +5 -5
  507. package/dist/cjs/ui-components/statics/styles/slider-scss.js.map +1 -1
  508. package/dist/cjs/ui-components/thumbnail-picker/thumbnail-picker-scss.js +1 -1
  509. package/dist/cjs/ui-components/thumbnail-picker/thumbnail-picker-scss.js.map +1 -1
  510. package/dist/cjs/ui-components/wixel-assistant/assistant-timeline-scss.js +16 -16
  511. package/dist/cjs/ui-components/wixel-assistant/assistant-timeline-scss.js.map +1 -1
  512. package/dist/cjs/wix-rich-content-common/statics/styles/fonts-scss.js +1 -1
  513. package/dist/cjs/wix-rich-content-common/statics/styles/fonts-scss.js.map +1 -1
  514. package/dist/cjs/wix-rich-content-common/statics/styles/general-scss.js +11 -11
  515. package/dist/cjs/wix-rich-content-common/statics/styles/general-scss.js.map +1 -1
  516. package/dist/es/_shared/dropdown-modal/dropdown-modal-scss.js +5 -5
  517. package/dist/es/_shared/dropdown-modal/dropdown-modal-scss.js.map +1 -1
  518. package/dist/es/_shared/figure/add-caption-button-scss.js +11 -11
  519. package/dist/es/_shared/figure/add-caption-button-scss.js.map +1 -1
  520. package/dist/es/_shared/figure/viewer-caption-scss.js +2 -2
  521. package/dist/es/_shared/figure/viewer-caption-scss.js.map +1 -1
  522. package/dist/es/_shared/figure/viewer-figure-scss.js +1 -1
  523. package/dist/es/_shared/figure/viewer-figure-scss.js.map +1 -1
  524. package/dist/es/_shared/format-font-size.js +5 -0
  525. package/dist/es/_shared/format-font-size.js.map +7 -0
  526. package/dist/es/_shared/get-px-font-size.js +6 -0
  527. package/dist/es/_shared/get-px-font-size.js.map +7 -0
  528. package/dist/es/_shared/list-item-divider/list-item-divider-scss.js +3 -3
  529. package/dist/es/_shared/list-item-divider/list-item-divider-scss.js.map +1 -1
  530. package/dist/es/_shared/list-item-select/list-item-select-scss.js +4 -4
  531. package/dist/es/_shared/list-item-select/list-item-select-scss.js.map +1 -1
  532. package/dist/es/_shared/list-item-toggle/list-item-toggle-scss.js +5 -5
  533. package/dist/es/_shared/list-item-toggle/list-item-toggle-scss.js.map +1 -1
  534. package/dist/es/_shared/overlay-hoc/overlay-hoc-scss.js +3 -3
  535. package/dist/es/_shared/overlay-hoc/overlay-hoc-scss.js.map +1 -1
  536. package/dist/es/_shared/plugin-toolbar/separator/toolbar-button-separator-scss.js +4 -4
  537. package/dist/es/_shared/plugin-toolbar/separator/toolbar-button-separator-scss.js.map +1 -1
  538. package/dist/es/_shared/plugin-toolbar/url-link-button/url-link-button-scss.js +4 -4
  539. package/dist/es/_shared/plugin-toolbar/url-link-button/url-link-button-scss.js.map +1 -1
  540. package/dist/es/_shared/pm-node-types.js.map +2 -2
  541. package/dist/es/_shared/prompt-input-area/attachment-bar/attachment-bar-scss.js +9 -9
  542. package/dist/es/_shared/prompt-input-area/attachment-bar/attachment-bar-scss.js.map +1 -1
  543. package/dist/es/_shared/prompt-input-area/prompt-input-area-scss.js +15 -15
  544. package/dist/es/_shared/prompt-input-area/prompt-input-area-scss.js.map +1 -1
  545. package/dist/es/_shared/prompt-input-area/widget-prompt-input-area-scss.js +10 -10
  546. package/dist/es/_shared/prompt-input-area/widget-prompt-input-area-scss.js.map +1 -1
  547. package/dist/es/_shared/resolvers/get-font-size-in-selection.js +28 -34
  548. package/dist/es/_shared/resolvers/get-font-size-in-selection.js.map +2 -2
  549. package/dist/es/_shared/shape-select-modal/shape-select-modal-content-scss.js +9 -9
  550. package/dist/es/_shared/shape-select-modal/shape-select-modal-content-scss.js.map +1 -1
  551. package/dist/es/_shared/shape-view-renderer/shape-view-renderer-scss.js +4 -4
  552. package/dist/es/_shared/shape-view-renderer/shape-view-renderer-scss.js.map +1 -1
  553. package/dist/es/_shared/toolbar-button/toolbar-button-scss.js +5 -5
  554. package/dist/es/_shared/toolbar-button/toolbar-button-scss.js.map +1 -1
  555. package/dist/es/bundled-dependencies/ai-assistant-avatar.js +6 -6
  556. package/dist/es/bundled-dependencies/ai-assistant-avatar.js.map +1 -1
  557. package/dist/es/editor-common/statics/styles/general-scss.js +20 -20
  558. package/dist/es/editor-common/statics/styles/general-scss.js.map +1 -1
  559. package/dist/es/plugin-ai/ai-content-modal/ai-content-modal-scss.js +10 -10
  560. package/dist/es/plugin-ai/ai-content-modal/ai-content-modal-scss.js.map +1 -1
  561. package/dist/es/plugin-ai/ai-content-modal/feed/feed-scss.js +4 -4
  562. package/dist/es/plugin-ai/ai-content-modal/feed/feed-scss.js.map +1 -1
  563. package/dist/es/plugin-ai/ai-content-modal/no-selection-message/no-selection-message-scss.js +3 -3
  564. package/dist/es/plugin-ai/ai-content-modal/no-selection-message/no-selection-message-scss.js.map +1 -1
  565. package/dist/es/plugin-ai/ai-content-modal/text-cursor/text-cursor-scss.js +4 -4
  566. package/dist/es/plugin-ai/ai-content-modal/text-cursor/text-cursor-scss.js.map +1 -1
  567. package/dist/es/plugin-ai/ai-content-modal/textual-prompt-input-area/textual-prompt-input-area-scss.js +7 -7
  568. package/dist/es/plugin-ai/ai-content-modal/textual-prompt-input-area/textual-prompt-input-area-scss.js.map +1 -1
  569. package/dist/es/plugin-ai/ai-image-modal/ai-image-modal-scss.js +8 -8
  570. package/dist/es/plugin-ai/ai-image-modal/ai-image-modal-scss.js.map +1 -1
  571. package/dist/es/plugin-ai/ai-plus-button/ai-plus-button-scss.js +3 -3
  572. package/dist/es/plugin-ai/ai-plus-button/ai-plus-button-scss.js.map +1 -1
  573. package/dist/es/plugin-ai/error-message/error-message-scss.js +3 -3
  574. package/dist/es/plugin-ai/error-message/error-message-scss.js.map +1 -1
  575. package/dist/es/plugin-ai/prompt-input-area/prompt-input-area-scss.js +6 -6
  576. package/dist/es/plugin-ai/prompt-input-area/prompt-input-area-scss.js.map +1 -1
  577. package/dist/es/plugin-ai/toolbar/toolbar-button-scss.js +4 -4
  578. package/dist/es/plugin-ai/toolbar/toolbar-button-scss.js.map +1 -1
  579. package/dist/es/plugin-animation/animation-panel-scss.js +11 -11
  580. package/dist/es/plugin-animation/animation-panel-scss.js.map +1 -1
  581. package/dist/es/plugin-audio/statics/styles/audio-embed-scss.js +3 -3
  582. package/dist/es/plugin-audio/statics/styles/audio-embed-scss.js.map +1 -1
  583. package/dist/es/plugin-audio/statics/styles/audio-scss.js +21 -21
  584. package/dist/es/plugin-audio/statics/styles/audio-scss.js.map +1 -1
  585. package/dist/es/plugin-audio/statics/styles/icon-button-scss.js +1 -1
  586. package/dist/es/plugin-audio/statics/styles/icon-button-scss.js.map +1 -1
  587. package/dist/es/plugin-audio/statics/styles/settings-modal-scss.js +3 -3
  588. package/dist/es/plugin-audio/statics/styles/settings-modal-scss.js.map +1 -1
  589. package/dist/es/plugin-audio/statics/styles/sound-control-scss.js +2 -2
  590. package/dist/es/plugin-audio/statics/styles/sound-control-scss.js.map +1 -1
  591. package/dist/es/plugin-audio/viewer-styles-inject.js +4 -4
  592. package/dist/es/plugin-block-drag-handle/styles-scss.js +10 -10
  593. package/dist/es/plugin-block-drag-handle/styles-scss.js.map +1 -1
  594. package/dist/es/plugin-button/statics/styles/button-input-modal-scss.js +4 -4
  595. package/dist/es/plugin-button/statics/styles/button-input-modal-scss.js.map +1 -1
  596. package/dist/es/plugin-button/statics/styles/default-styles-scss.js +3 -3
  597. package/dist/es/plugin-button/statics/styles/default-styles-scss.js.map +1 -1
  598. package/dist/es/plugin-button/statics/styles/settings-component-scss.js +3 -3
  599. package/dist/es/plugin-button/statics/styles/settings-component-scss.js.map +1 -1
  600. package/dist/es/plugin-button/viewer-styles-inject.js +2 -2
  601. package/dist/es/plugin-card/card-scss.js +19 -19
  602. package/dist/es/plugin-card/card-scss.js.map +1 -1
  603. package/dist/es/plugin-card/card-viewer-scss.js +6 -6
  604. package/dist/es/plugin-card/card-viewer-scss.js.map +1 -1
  605. package/dist/es/plugin-card/viewer-styles-inject.js +2 -2
  606. package/dist/es/plugin-code-block/code-block-converter.js +23 -10
  607. package/dist/es/plugin-code-block/code-block-converter.js.map +2 -2
  608. package/dist/es/plugin-code-block/statics/styles/code-block-scss.js +8 -8
  609. package/dist/es/plugin-code-block/statics/styles/code-block-scss.js.map +1 -1
  610. package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js +6 -6
  611. package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-component-scss.js.map +1 -1
  612. package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-pair-scss.js +18 -18
  613. package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-pair-scss.js.map +1 -1
  614. package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-settings-scss.js +4 -4
  615. package/dist/es/plugin-collapsible-list/statics/styles/collapsible-list-settings-scss.js.map +1 -1
  616. package/dist/es/plugin-collapsible-list/statics/styles/new-pair-button-scss.js +5 -5
  617. package/dist/es/plugin-collapsible-list/statics/styles/new-pair-button-scss.js.map +1 -1
  618. package/dist/es/plugin-collapsible-list/viewer-styles-inject.js +2 -2
  619. package/dist/es/plugin-divider/statics/styles/divider-viewer-scss.js +13 -13
  620. package/dist/es/plugin-divider/statics/styles/divider-viewer-scss.js.map +1 -1
  621. package/dist/es/plugin-divider/toolbar/modals/divider-design-panel-scss.js +3 -3
  622. package/dist/es/plugin-divider/toolbar/modals/divider-design-panel-scss.js.map +1 -1
  623. package/dist/es/plugin-divider/viewer-styles-inject.js +2 -2
  624. package/dist/es/plugin-emoji/modals/emoji-suggestions-modal-scss.js +3 -3
  625. package/dist/es/plugin-emoji/modals/emoji-suggestions-modal-scss.js.map +1 -1
  626. package/dist/es/plugin-figure/tiptap/caption-scss.js +5 -5
  627. package/dist/es/plugin-figure/tiptap/caption-scss.js.map +1 -1
  628. package/dist/es/plugin-figure/tiptap/figure-scss.js +5 -5
  629. package/dist/es/plugin-figure/tiptap/figure-scss.js.map +1 -1
  630. package/dist/es/plugin-file-upload/statics/styles/file-upload-viewer-scss.js +15 -15
  631. package/dist/es/plugin-file-upload/statics/styles/file-upload-viewer-scss.js.map +1 -1
  632. package/dist/es/plugin-file-upload/viewer-styles-inject.js +2 -2
  633. package/dist/es/plugin-gallery/modals/settings/gallery-settings-modal-scss.js +5 -5
  634. package/dist/es/plugin-gallery/modals/settings/gallery-settings-modal-scss.js.map +1 -1
  635. package/dist/es/plugin-gallery/modals/settings/layout-settings/layout-controls-section/image-ratio-control-scss.js +8 -8
  636. package/dist/es/plugin-gallery/modals/settings/layout-settings/layout-controls-section/image-ratio-control-scss.js.map +1 -1
  637. package/dist/es/plugin-gallery/modals/settings/layout-settings/layout-controls-section/thumbnail-alignment-control-scss.js +7 -7
  638. package/dist/es/plugin-gallery/modals/settings/layout-settings/layout-controls-section/thumbnail-alignment-control-scss.js.map +1 -1
  639. package/dist/es/plugin-gallery/modals/settings/media-settings/media-list/sortable-item-scss.js +3 -3
  640. package/dist/es/plugin-gallery/modals/settings/media-settings/media-list/sortable-item-scss.js.map +1 -1
  641. package/dist/es/plugin-gallery/modals/settings/media-settings/media-list/sortable-list-scss.js +5 -5
  642. package/dist/es/plugin-gallery/modals/settings/media-settings/media-list/sortable-list-scss.js.map +1 -1
  643. package/dist/es/plugin-gallery/statics/styles/gallery-component-scss.js +3 -3
  644. package/dist/es/plugin-gallery/statics/styles/gallery-component-scss.js.map +1 -1
  645. package/dist/es/plugin-gallery/statics/styles/gallery-media-scss.js +21 -21
  646. package/dist/es/plugin-gallery/statics/styles/gallery-media-scss.js.map +1 -1
  647. package/dist/es/plugin-gallery/statics/styles/viewer-scss.js +1 -1
  648. package/dist/es/plugin-gallery/statics/styles/viewer-scss.js.map +1 -1
  649. package/dist/es/plugin-gallery/viewer/layout-column-scss.js +4 -4
  650. package/dist/es/plugin-gallery/viewer/layout-column-scss.js.map +1 -1
  651. package/dist/es/plugin-gallery/viewer/layout-fullsize-scss.js +4 -4
  652. package/dist/es/plugin-gallery/viewer/layout-fullsize-scss.js.map +1 -1
  653. package/dist/es/plugin-gallery/viewer/layout-grid-scss.js +2 -2
  654. package/dist/es/plugin-gallery/viewer/layout-grid-scss.js.map +1 -1
  655. package/dist/es/plugin-gallery/viewer/layout-masonry-scss.js +7 -7
  656. package/dist/es/plugin-gallery/viewer/layout-masonry-scss.js.map +1 -1
  657. package/dist/es/plugin-gallery/viewer/layout-panorama-scss.js +1 -1
  658. package/dist/es/plugin-gallery/viewer/layout-panorama-scss.js.map +1 -1
  659. package/dist/es/plugin-gallery/viewer/layout-slider-scss.js +6 -6
  660. package/dist/es/plugin-gallery/viewer/layout-slider-scss.js.map +1 -1
  661. package/dist/es/plugin-gallery/viewer/layout-thumbnail-scss.js +11 -11
  662. package/dist/es/plugin-gallery/viewer/layout-thumbnail-scss.js.map +1 -1
  663. package/dist/es/plugin-gallery/viewer-styles-inject.js +2 -2
  664. package/dist/es/plugin-giphy/components/giphy-selector-scss.js +11 -11
  665. package/dist/es/plugin-giphy/components/giphy-selector-scss.js.map +1 -1
  666. package/dist/es/plugin-giphy/viewer/giphy-viewer-scss.js +4 -4
  667. package/dist/es/plugin-giphy/viewer/giphy-viewer-scss.js.map +1 -1
  668. package/dist/es/plugin-giphy/viewer/play-icon-scss.js +2 -2
  669. package/dist/es/plugin-giphy/viewer/play-icon-scss.js.map +1 -1
  670. package/dist/es/plugin-giphy/viewer-styles-inject.js +2 -2
  671. package/dist/es/plugin-hashtag/statics/hashtag-scss.js +2 -2
  672. package/dist/es/plugin-hashtag/statics/hashtag-scss.js.map +1 -1
  673. package/dist/es/plugin-hashtag/viewer-styles-inject.js +2 -2
  674. package/dist/es/plugin-headings/dropdown/headings-dropdown-scss.js +9 -9
  675. package/dist/es/plugin-headings/dropdown/headings-dropdown-scss.js.map +1 -1
  676. package/dist/es/plugin-html/statics/styles/HtmlComponent-scss.js +2 -2
  677. package/dist/es/plugin-html/statics/styles/HtmlComponent-scss.js.map +1 -1
  678. package/dist/es/plugin-html/statics/styles/Iframe-scss.js +1 -1
  679. package/dist/es/plugin-html/statics/styles/Iframe-scss.js.map +1 -1
  680. package/dist/es/plugin-html/tiptap/ai-widget-scss.js +4 -4
  681. package/dist/es/plugin-html/tiptap/ai-widget-scss.js.map +1 -1
  682. package/dist/es/plugin-html/tiptap/loader-scss.js +11 -11
  683. package/dist/es/plugin-html/tiptap/loader-scss.js.map +1 -1
  684. package/dist/es/plugin-html/tiptap/preset-bar/preset-bar-scss.js +4 -4
  685. package/dist/es/plugin-html/tiptap/preset-bar/preset-bar-scss.js.map +1 -1
  686. package/dist/es/plugin-html/viewer-styles-inject.js +2 -2
  687. package/dist/es/plugin-image/components/corner-radius-handles-scss.js +6 -6
  688. package/dist/es/plugin-image/components/corner-radius-handles-scss.js.map +1 -1
  689. package/dist/es/plugin-image/components/crop-edge-handles-scss.js +3 -3
  690. package/dist/es/plugin-image/components/crop-edge-handles-scss.js.map +1 -1
  691. package/dist/es/plugin-image/crop-overlay/crop-overlay-scss.js +16 -16
  692. package/dist/es/plugin-image/crop-overlay/crop-overlay-scss.js.map +1 -1
  693. package/dist/es/plugin-image/statics/styles/image-viewer-scss.js +20 -20
  694. package/dist/es/plugin-image/statics/styles/image-viewer-scss.js.map +1 -1
  695. package/dist/es/plugin-image/statics/styles/settings-modal-scss.js +3 -3
  696. package/dist/es/plugin-image/statics/styles/settings-modal-scss.js.map +1 -1
  697. package/dist/es/plugin-image/toolbar/shape-crop-modal-scss.js +6 -6
  698. package/dist/es/plugin-image/toolbar/shape-crop-modal-scss.js.map +1 -1
  699. package/dist/es/plugin-image/viewer-styles-inject.js +2 -2
  700. package/dist/es/plugin-inline-ai/ai-selection-tooltip-scss.js +12 -12
  701. package/dist/es/plugin-inline-ai/ai-selection-tooltip-scss.js.map +1 -1
  702. package/dist/es/plugin-inline-ai/aria-avatar-row-scss.js +3 -3
  703. package/dist/es/plugin-inline-ai/aria-avatar-row-scss.js.map +1 -1
  704. package/dist/es/plugin-inline-ai/aria-surface-row-scss.js +6 -6
  705. package/dist/es/plugin-inline-ai/aria-surface-row-scss.js.map +1 -1
  706. package/dist/es/plugin-inline-ai/html-placeholder-scss.js +5 -5
  707. package/dist/es/plugin-inline-ai/html-placeholder-scss.js.map +1 -1
  708. package/dist/es/plugin-inline-ai/modal-scss.js +11 -11
  709. package/dist/es/plugin-inline-ai/modal-scss.js.map +1 -1
  710. package/dist/es/plugin-inline-ai/pending-widget-placeholder-scss.js +14 -14
  711. package/dist/es/plugin-inline-ai/pending-widget-placeholder-scss.js.map +1 -1
  712. package/dist/es/plugin-inline-ai/spinner-scss.js +4 -4
  713. package/dist/es/plugin-inline-ai/spinner-scss.js.map +1 -1
  714. package/dist/es/plugin-inline-ai/toolbar/toolbar-button-scss.js +4 -4
  715. package/dist/es/plugin-inline-ai/toolbar/toolbar-button-scss.js.map +1 -1
  716. package/dist/es/plugin-line-spacing/custom-spacing-editor-modal/custom-spacing-editor-modal-scss.js +3 -3
  717. package/dist/es/plugin-line-spacing/custom-spacing-editor-modal/custom-spacing-editor-modal-scss.js.map +1 -1
  718. package/dist/es/plugin-link/statics/link-viewer-scss.js +4 -4
  719. package/dist/es/plugin-link/statics/link-viewer-scss.js.map +1 -1
  720. package/dist/es/plugin-link/toolbar/anchor-link-button-scss.js +3 -3
  721. package/dist/es/plugin-link/toolbar/anchor-link-button-scss.js.map +1 -1
  722. package/dist/es/plugin-link/viewer-styles-inject.js +2 -2
  723. package/dist/es/plugin-link-preview/statics/styles/insert-modal-scss.js +3 -3
  724. package/dist/es/plugin-link-preview/statics/styles/insert-modal-scss.js.map +1 -1
  725. package/dist/es/plugin-link-preview/statics/styles/link-preview-scss.js +18 -18
  726. package/dist/es/plugin-link-preview/statics/styles/link-preview-scss.js.map +1 -1
  727. package/dist/es/plugin-link-preview/statics/styles/settings-modal-scss.js +3 -3
  728. package/dist/es/plugin-link-preview/statics/styles/settings-modal-scss.js.map +1 -1
  729. package/dist/es/plugin-link-preview/viewer-styles-inject.js +3 -3
  730. package/dist/es/plugin-mentions/statics/mention-list-scss.js +6 -6
  731. package/dist/es/plugin-mentions/statics/mention-list-scss.js.map +1 -1
  732. package/dist/es/plugin-mentions/statics/mentions-scss.js +4 -4
  733. package/dist/es/plugin-mentions/statics/mentions-scss.js.map +1 -1
  734. package/dist/es/plugin-mentions/viewer-styles-inject.js +2 -2
  735. package/dist/es/plugin-paywall/paywall-fallback-scss.js +1 -1
  736. package/dist/es/plugin-paywall/paywall-fallback-scss.js.map +1 -1
  737. package/dist/es/plugin-smart-block/components/cell-accessory-scss.js +22 -22
  738. package/dist/es/plugin-smart-block/components/cell-accessory-scss.js.map +1 -1
  739. package/dist/es/plugin-smart-block/components/cell-quote-glyph-scss.js +3 -3
  740. package/dist/es/plugin-smart-block/components/cell-quote-glyph-scss.js.map +1 -1
  741. package/dist/es/plugin-smart-block/components/cell-star-rating-scss.js +4 -4
  742. package/dist/es/plugin-smart-block/components/cell-star-rating-scss.js.map +1 -1
  743. package/dist/es/plugin-smart-block/components/cell-stat-scss.js +20 -20
  744. package/dist/es/plugin-smart-block/components/cell-stat-scss.js.map +1 -1
  745. package/dist/es/plugin-smart-block/components/circle-donut-scss.js +7 -7
  746. package/dist/es/plugin-smart-block/components/circle-donut-scss.js.map +1 -1
  747. package/dist/es/plugin-smart-block/components/shape-overlay-scss.js +3 -3
  748. package/dist/es/plugin-smart-block/components/shape-overlay-scss.js.map +1 -1
  749. package/dist/es/plugin-smart-block/components/smart-block-view-scss.js +50 -50
  750. package/dist/es/plugin-smart-block/components/smart-block-view-scss.js.map +1 -1
  751. package/dist/es/plugin-smart-block/components/stars-scss.js +8 -8
  752. package/dist/es/plugin-smart-block/components/stars-scss.js.map +1 -1
  753. package/dist/es/plugin-smart-block/modals/variant-picker-scss.js +9 -9
  754. package/dist/es/plugin-smart-block/modals/variant-picker-scss.js.map +1 -1
  755. package/dist/es/plugin-smart-block/tiptap/smart-block-editor-scss.js +15 -15
  756. package/dist/es/plugin-smart-block/tiptap/smart-block-editor-scss.js.map +1 -1
  757. package/dist/es/plugin-smart-block/viewer-styles-inject.js +2 -2
  758. package/dist/es/plugin-social-polls/components/image-upload/image-upload-scss.js +9 -9
  759. package/dist/es/plugin-social-polls/components/image-upload/image-upload-scss.js.map +1 -1
  760. package/dist/es/plugin-social-polls/components/insert-modal/insert-modal-scss.js +3 -3
  761. package/dist/es/plugin-social-polls/components/insert-modal/insert-modal-scss.js.map +1 -1
  762. package/dist/es/plugin-social-polls/components/poll-header/poll-header-scss.js +3 -3
  763. package/dist/es/plugin-social-polls/components/poll-header/poll-header-scss.js.map +1 -1
  764. package/dist/es/plugin-social-polls/components/poll-option/option-scss.js +23 -23
  765. package/dist/es/plugin-social-polls/components/poll-option/option-scss.js.map +1 -1
  766. package/dist/es/plugin-social-polls/components/poll-option/webview/option-webview-scss.js +24 -24
  767. package/dist/es/plugin-social-polls/components/poll-option/webview/option-webview-scss.js.map +1 -1
  768. package/dist/es/plugin-social-polls/components/poll-scss.js +19 -19
  769. package/dist/es/plugin-social-polls/components/poll-scss.js.map +1 -1
  770. package/dist/es/plugin-social-polls/components/settings-modal/settings-modal-scss.js +4 -4
  771. package/dist/es/plugin-social-polls/components/settings-modal/settings-modal-scss.js.map +1 -1
  772. package/dist/es/plugin-social-polls/components/text-field/text-field-scss.js +12 -12
  773. package/dist/es/plugin-social-polls/components/text-field/text-field-scss.js.map +1 -1
  774. package/dist/es/plugin-social-polls/components/voted-users/voted-users-scss.js +20 -20
  775. package/dist/es/plugin-social-polls/components/voted-users/voted-users-scss.js.map +1 -1
  776. package/dist/es/plugin-social-polls/viewer-styles-inject.js +2 -2
  777. package/dist/es/plugin-spoiler/statics/styles/spoiler-scss.js +18 -18
  778. package/dist/es/plugin-spoiler/statics/styles/spoiler-scss.js.map +1 -1
  779. package/dist/es/plugin-spoiler/viewer-styles-inject.js +2 -2
  780. package/dist/es/plugin-table/modals/table-grid-selector-scss.js +7 -7
  781. package/dist/es/plugin-table/modals/table-grid-selector-scss.js.map +1 -1
  782. package/dist/es/plugin-table/statics/styles/cell-scss.js +15 -15
  783. package/dist/es/plugin-table/statics/styles/cell-scss.js.map +1 -1
  784. package/dist/es/plugin-table/statics/styles/resizer-scss.js +20 -20
  785. package/dist/es/plugin-table/statics/styles/resizer-scss.js.map +1 -1
  786. package/dist/es/plugin-table/statics/styles/table-settings-modal-scss.js +3 -3
  787. package/dist/es/plugin-table/statics/styles/table-settings-modal-scss.js.map +1 -1
  788. package/dist/es/plugin-table/statics/styles/table-viewer-scss.js +6 -6
  789. package/dist/es/plugin-table/statics/styles/table-viewer-scss.js.map +1 -1
  790. package/dist/es/plugin-table/tiptap/decorations/tableHandles-scss.js +11 -11
  791. package/dist/es/plugin-table/tiptap/decorations/tableHandles-scss.js.map +1 -1
  792. package/dist/es/plugin-table/tiptap/plugins/table-scss.js +35 -35
  793. package/dist/es/plugin-table/tiptap/plugins/table-scss.js.map +1 -1
  794. package/dist/es/plugin-table/toolbar/modals/border-scope-selector-scss.js +4 -4
  795. package/dist/es/plugin-table/toolbar/modals/border-scope-selector-scss.js.map +1 -1
  796. package/dist/es/plugin-table/viewer-styles-inject.js +4 -4
  797. package/dist/es/plugin-text-color/text-button-color-scss.js +4 -4
  798. package/dist/es/plugin-text-color/text-button-color-scss.js.map +1 -1
  799. package/dist/es/plugin-toc/toc-view-scss.js +2 -2
  800. package/dist/es/plugin-toc/toc-view-scss.js.map +1 -1
  801. package/dist/es/plugin-toc/viewer-styles-inject.js +2 -2
  802. package/dist/es/plugin-vertical-embed/components/Ribbon-scss.js +3 -3
  803. package/dist/es/plugin-vertical-embed/components/Ribbon-scss.js.map +1 -1
  804. package/dist/es/plugin-vertical-embed/components/card-content-scss.js +23 -23
  805. package/dist/es/plugin-vertical-embed/components/card-content-scss.js.map +1 -1
  806. package/dist/es/plugin-vertical-embed/components/card-scss.js +19 -19
  807. package/dist/es/plugin-vertical-embed/components/card-scss.js.map +1 -1
  808. package/dist/es/plugin-vertical-embed/components/description-scss.js +2 -2
  809. package/dist/es/plugin-vertical-embed/components/description-scss.js.map +1 -1
  810. package/dist/es/plugin-vertical-embed/modals/settings-modal-scss.js +4 -4
  811. package/dist/es/plugin-vertical-embed/modals/settings-modal-scss.js.map +1 -1
  812. package/dist/es/plugin-vertical-embed/tiptap/component-scss.js +12 -12
  813. package/dist/es/plugin-vertical-embed/tiptap/component-scss.js.map +1 -1
  814. package/dist/es/plugin-vertical-embed/toolbar/items-list-scss.js +3 -3
  815. package/dist/es/plugin-vertical-embed/toolbar/items-list-scss.js.map +1 -1
  816. package/dist/es/plugin-vertical-embed/viewer/vertical-embed-viewer-scss.js +6 -6
  817. package/dist/es/plugin-vertical-embed/viewer/vertical-embed-viewer-scss.js.map +1 -1
  818. package/dist/es/plugin-vertical-embed/viewer-styles-inject.js +3 -3
  819. package/dist/es/plugin-video/statics/styles/default-video-styles-scss.js +10 -10
  820. package/dist/es/plugin-video/statics/styles/default-video-styles-scss.js.map +1 -1
  821. package/dist/es/plugin-video/statics/styles/video-viewer-scss.js +3 -3
  822. package/dist/es/plugin-video/statics/styles/video-viewer-scss.js.map +1 -1
  823. package/dist/es/plugin-video/toolbar/embed-video-scss.js +3 -3
  824. package/dist/es/plugin-video/toolbar/embed-video-scss.js.map +1 -1
  825. package/dist/es/plugin-video/viewer-styles-inject.js +2 -2
  826. package/dist/es/ricos-common-plugins/blockquote/blockquote-converter.js +13 -6
  827. package/dist/es/ricos-common-plugins/blockquote/blockquote-converter.js.map +2 -2
  828. package/dist/es/ricos-common-plugins/decoration-plugins/indentation-styling.js +1 -1
  829. package/dist/es/ricos-common-plugins/decoration-plugins/indentation-styling.js.map +2 -2
  830. package/dist/es/ricos-common-plugins/decoration-plugins/list-item-sizing.js +14 -11
  831. package/dist/es/ricos-common-plugins/decoration-plugins/list-item-sizing.js.map +2 -2
  832. package/dist/es/ricos-common-plugins/font-size/block-font-size-plugin.js +110 -0
  833. package/dist/es/ricos-common-plugins/font-size/block-font-size-plugin.js.map +7 -0
  834. package/dist/es/ricos-common-plugins/font-size/block-font-size.js +49 -0
  835. package/dist/es/ricos-common-plugins/font-size/block-font-size.js.map +7 -0
  836. package/dist/es/ricos-common-plugins/font-size/dropdown/font-size-dropdown-scss.js +3 -3
  837. package/dist/es/ricos-common-plugins/font-size/dropdown/font-size-dropdown-scss.js.map +1 -1
  838. package/dist/es/ricos-common-plugins/font-size/extension.js +56 -10
  839. package/dist/es/ricos-common-plugins/font-size/extension.js.map +3 -3
  840. package/dist/es/ricos-common-plugins/font-size/font-size.js.map +2 -2
  841. package/dist/es/ricos-common-plugins/font-size/viewer.js +2 -2
  842. package/dist/es/ricos-common-plugins/font-size/viewer.js.map +2 -2
  843. package/dist/es/ricos-common-plugins/gap-spacer/gap-spacer-component/gap-spacer-styles-scss.js +10 -10
  844. package/dist/es/ricos-common-plugins/gap-spacer/gap-spacer-component/gap-spacer-styles-scss.js.map +1 -1
  845. package/dist/es/ricos-common-plugins/layout/layouts-scss.js +35 -35
  846. package/dist/es/ricos-common-plugins/layout/layouts-scss.js.map +1 -1
  847. package/dist/es/ricos-common-plugins/layout/section-dividers/section-dividers-panel-scss.js +4 -4
  848. package/dist/es/ricos-common-plugins/layout/section-dividers/section-dividers-panel-scss.js.map +1 -1
  849. package/dist/es/ricos-common-plugins/layout/section-dividers/section-dividers-scss.js +6 -6
  850. package/dist/es/ricos-common-plugins/layout/section-dividers/section-dividers-scss.js.map +1 -1
  851. package/dist/es/ricos-common-plugins/paragraph/paragraph-converter.js +10 -4
  852. package/dist/es/ricos-common-plugins/paragraph/paragraph-converter.js.map +2 -2
  853. package/dist/es/ricos-common-plugins/quick-actions/modal/modal-scss.js +4 -4
  854. package/dist/es/ricos-common-plugins/quick-actions/modal/modal-scss.js.map +1 -1
  855. package/dist/es/ricos-common-plugins/statics/styles-scss.js +20 -20
  856. package/dist/es/ricos-common-plugins/statics/styles-scss.js.map +1 -1
  857. package/dist/es/ricos-common-plugins/title/heading-converter.js +12 -4
  858. package/dist/es/ricos-common-plugins/title/heading-converter.js.map +2 -2
  859. package/dist/es/ricos-common-plugins/title/headings-scss.js +10 -10
  860. package/dist/es/ricos-common-plugins/title/headings-scss.js.map +1 -1
  861. package/dist/es/ricos-content/converters/html/fromHtml/core/preprocess.js +1 -1
  862. package/dist/es/ricos-content/converters/html/fromHtml/core/preprocess.js.map +1 -1
  863. package/dist/es/ricos-content/index.js +0 -20
  864. package/dist/es/ricos-content/index.js.map +2 -2
  865. package/dist/es/ricos-content-query/get-anchorable-nodes-query.js +1 -1
  866. package/dist/es/ricos-content-query/get-anchorable-nodes-query.js.map +1 -1
  867. package/dist/es/ricos-editor/statics/styles/editor-styles-scss.js +11 -11
  868. package/dist/es/ricos-editor/statics/styles/editor-styles-scss.js.map +1 -1
  869. package/dist/es/ricos-modals/statics/styles/drawer-scss.js +11 -11
  870. package/dist/es/ricos-modals/statics/styles/drawer-scss.js.map +1 -1
  871. package/dist/es/ricos-modals/statics/styles/fullscreen-scss.js +3 -3
  872. package/dist/es/ricos-modals/statics/styles/fullscreen-scss.js.map +1 -1
  873. package/dist/es/ricos-modals/statics/styles/popper-scss.js +5 -5
  874. package/dist/es/ricos-modals/statics/styles/popper-scss.js.map +1 -1
  875. package/dist/es/ricos-schema/next-schema/index.js +3 -2
  876. package/dist/es/ricos-schema/next-schema/index.js.map +3 -3
  877. package/dist/es/ricos-schema/next-schema/version.js +1 -1
  878. package/dist/es/ricos-schema/next-schema/version.js.map +1 -1
  879. package/dist/es/ricos-shortcuts/keys.js +1 -1
  880. package/dist/es/ricos-shortcuts/keys.js.map +1 -1
  881. package/dist/es/ricos-styles/statics/styles/style-presets-scss.js +8 -8
  882. package/dist/es/ricos-styles/statics/styles/style-presets-scss.js.map +1 -1
  883. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/blockquote/blockquote-scss.js +3 -3
  884. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/blockquote/blockquote-scss.js.map +1 -1
  885. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock-scss.js +3 -3
  886. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock-scss.js.map +1 -1
  887. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock.js +12 -4
  888. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock.js.map +2 -2
  889. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading-scss.js +9 -9
  890. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading-scss.js.map +1 -1
  891. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading.js +8 -3
  892. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading.js.map +2 -2
  893. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/layout/layout-scss.js +10 -10
  894. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/layout/layout-scss.js.map +1 -1
  895. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.js +8 -4
  896. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.js.map +2 -2
  897. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/lists/lists-scss.js +6 -6
  898. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/lists/lists-scss.js.map +1 -1
  899. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph-scss.js +4 -4
  900. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph-scss.js.map +1 -1
  901. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph.js +11 -3
  902. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph.js.map +2 -2
  903. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/link-viewer-wrapper-scss.js +2 -2
  904. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/link-viewer-wrapper-scss.js.map +1 -1
  905. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/plugin-scss.js +15 -15
  906. package/dist/es/ricos-viewer-next/ContentViewer/rericos/renderers/plugins/plugin-scss.js.map +1 -1
  907. package/dist/es/ricos-viewer-next/modals/fullscreen/fullscreen-scss.js +14 -14
  908. package/dist/es/ricos-viewer-next/modals/fullscreen/fullscreen-scss.js.map +1 -1
  909. package/dist/es/ricos-viewer-next/statics/alignment-scss.js +16 -16
  910. package/dist/es/ricos-viewer-next/statics/alignment-scss.js.map +1 -1
  911. package/dist/es/ricos-viewer-next/statics/indentation-scss.js +7 -7
  912. package/dist/es/ricos-viewer-next/statics/indentation-scss.js.map +1 -1
  913. package/dist/es/ricos-viewer-next/statics/rich-content-viewer-scss.js +9 -9
  914. package/dist/es/ricos-viewer-next/statics/rich-content-viewer-scss.js.map +1 -1
  915. package/dist/es/ricos-viewer-next/statics/rtl-scss.js +2 -2
  916. package/dist/es/ricos-viewer-next/statics/rtl-scss.js.map +1 -1
  917. package/dist/es/text-selection-toolbar/statics/styles/viewer-inline-toolbar-scss.js +4 -4
  918. package/dist/es/text-selection-toolbar/statics/styles/viewer-inline-toolbar-scss.js.map +1 -1
  919. package/dist/es/tiptap-editor/commands/update-text-node.js +7 -0
  920. package/dist/es/tiptap-editor/commands/update-text-node.js.map +2 -2
  921. package/dist/es/tiptap-editor/components/RicosTiptapEditor/ricos-tiptap-editor.js +1 -1
  922. package/dist/es/tiptap-editor/components/RicosTiptapEditor/ricos-tiptap-editor.js.map +1 -1
  923. package/dist/es/tiptap-editor/components/rich-content-adapter.js +9 -2
  924. package/dist/es/tiptap-editor/components/rich-content-adapter.js.map +2 -2
  925. package/dist/es/tiptap-editor/statics/styles/tiptap-editor-styles-scss.js +15 -15
  926. package/dist/es/tiptap-editor/statics/styles/tiptap-editor-styles-scss.js.map +1 -1
  927. package/dist/es/tiptap-extensions/placeholder-scss.js +3 -3
  928. package/dist/es/tiptap-extensions/placeholder-scss.js.map +1 -1
  929. package/dist/es/tiptap-extensions/ricos-styles.js +6 -1
  930. package/dist/es/tiptap-extensions/ricos-styles.js.map +2 -2
  931. package/dist/es/tiptap-extensions/statics/styles-scss.js +6 -6
  932. package/dist/es/tiptap-extensions/statics/styles-scss.js.map +1 -1
  933. package/dist/es/tiptap-extensions/unique-id.js +1 -1
  934. package/dist/es/tiptap-extensions/unique-id.js.map +2 -2
  935. package/dist/es/toolbars-v3/components/InsertPluginToolbar/insert-plugin-toolbar-scss.js +3 -3
  936. package/dist/es/toolbars-v3/components/InsertPluginToolbar/insert-plugin-toolbar-scss.js.map +1 -1
  937. package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/OverflownButtons-scss.js +5 -5
  938. package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/OverflownButtons-scss.js.map +1 -1
  939. package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbar-scss.js +5 -5
  940. package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbar-scss.js.map +1 -1
  941. package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbarWrapper-scss.js +6 -6
  942. package/dist/es/toolbars-v3/components/Toolbar/RicosDesktopToolbar/RicosDesktopToolbarWrapper-scss.js.map +1 -1
  943. package/dist/es/toolbars-v3/components/Toolbar/RicosMobileToolbar/RicosMobileToolbar-scss.js +11 -11
  944. package/dist/es/toolbars-v3/components/Toolbar/RicosMobileToolbar/RicosMobileToolbar-scss.js.map +1 -1
  945. package/dist/es/toolbars-v3/components/Toolbar/RicosMobileToolbar/mobile-toolbar-overlay/mobile-toolbar-overlay-scss.js +3 -3
  946. package/dist/es/toolbars-v3/components/Toolbar/RicosMobileToolbar/mobile-toolbar-overlay/mobile-toolbar-overlay-scss.js.map +1 -1
  947. package/dist/es/toolbars-v3/components/buttons/AddPluginMenuButtons/AddPluginMenuMobileButton-scss.js +5 -5
  948. package/dist/es/toolbars-v3/components/buttons/AddPluginMenuButtons/AddPluginMenuMobileButton-scss.js.map +1 -1
  949. package/dist/es/toolbars-v3/components/buttons/FontSizeButton/FontSizeButton-scss.js +7 -7
  950. package/dist/es/toolbars-v3/components/buttons/FontSizeButton/FontSizeButton-scss.js.map +1 -1
  951. package/dist/es/toolbars-v3/modals/FloatingPluginMenu/styles/floating-add-plugin-menu-scss.js +8 -8
  952. package/dist/es/toolbars-v3/modals/FloatingPluginMenu/styles/floating-add-plugin-menu-scss.js.map +1 -1
  953. package/dist/es/toolbars-v3/ricos-toolbars/footer/FooterToolbar-scss.js +3 -3
  954. package/dist/es/toolbars-v3/ricos-toolbars/footer/FooterToolbar-scss.js.map +1 -1
  955. package/dist/es/toolbars-v3/ricos-toolbars/use-is-toolbar-empty.js +1 -1
  956. package/dist/es/toolbars-v3/ricos-toolbars/use-is-toolbar-empty.js.map +1 -1
  957. package/dist/es/ui-components/Components/Image-scss.js +3 -3
  958. package/dist/es/ui-components/Components/Image-scss.js.map +1 -1
  959. package/dist/es/ui-components/Components/double-loader-scss.js +6 -6
  960. package/dist/es/ui-components/Components/double-loader-scss.js.map +1 -1
  961. package/dist/es/ui-components/color-picker/button-color-swatches/button-color-swatches-scss.js +4 -4
  962. package/dist/es/ui-components/color-picker/button-color-swatches/button-color-swatches-scss.js.map +1 -1
  963. package/dist/es/ui-components/color-picker/new-color-picker/components/gradient-picker/gradient-picker-scss.js +15 -15
  964. package/dist/es/ui-components/color-picker/new-color-picker/components/gradient-picker/gradient-picker-scss.js.map +1 -1
  965. package/dist/es/ui-components/color-picker/new-color-picker/components/new-color-swatches/new-color-swatches-scss.js +3 -3
  966. package/dist/es/ui-components/color-picker/new-color-picker/components/new-color-swatches/new-color-swatches-scss.js.map +1 -1
  967. package/dist/es/ui-components/color-picker/new-color-picker/components/simple-color-picker/simple-color-picker-scss.js +4 -4
  968. package/dist/es/ui-components/color-picker/new-color-picker/components/simple-color-picker/simple-color-picker-scss.js.map +1 -1
  969. package/dist/es/ui-components/color-picker/new-color-picker/components/single-color-swatch/single-color-swatch-scss.js +4 -4
  970. package/dist/es/ui-components/color-picker/new-color-picker/components/single-color-swatch/single-color-swatch-scss.js.map +1 -1
  971. package/dist/es/ui-components/color-picker/new-color-picker/new-color-picker-scss.js +3 -3
  972. package/dist/es/ui-components/color-picker/new-color-picker/new-color-picker-scss.js.map +1 -1
  973. package/dist/es/ui-components/input-with-slider/input-with-slider-scss.js +3 -3
  974. package/dist/es/ui-components/input-with-slider/input-with-slider-scss.js.map +1 -1
  975. package/dist/es/ui-components/layout-background-loader/layout-background-loader-scss.js +5 -5
  976. package/dist/es/ui-components/layout-background-loader/layout-background-loader-scss.js.map +1 -1
  977. package/dist/es/ui-components/modal-layout/floating-layout/floating-desktop-layout-scss.js +3 -3
  978. package/dist/es/ui-components/modal-layout/floating-layout/floating-desktop-layout-scss.js.map +1 -1
  979. package/dist/es/ui-components/modal-layout/fullscreen-mobile-layout/fullscreen-mobile-layout-scss.js +6 -6
  980. package/dist/es/ui-components/modal-layout/fullscreen-mobile-layout/fullscreen-mobile-layout-scss.js.map +1 -1
  981. package/dist/es/ui-components/panel/panel-scss.js +4 -4
  982. package/dist/es/ui-components/panel/panel-scss.js.map +1 -1
  983. package/dist/es/ui-components/panel-header/panel-header-scss.js +3 -3
  984. package/dist/es/ui-components/panel-header/panel-header-scss.js.map +1 -1
  985. package/dist/es/ui-components/settings-panel-discard-modal/settings-panel-discard-modal-scss.js +3 -3
  986. package/dist/es/ui-components/settings-panel-discard-modal/settings-panel-discard-modal-scss.js.map +1 -1
  987. package/dist/es/ui-components/statics/styles/generic-error-scss.js +3 -3
  988. package/dist/es/ui-components/statics/styles/generic-error-scss.js.map +1 -1
  989. package/dist/es/ui-components/statics/styles/loaders-scss.js +10 -10
  990. package/dist/es/ui-components/statics/styles/loaders-scss.js.map +1 -1
  991. package/dist/es/ui-components/statics/styles/media-item-error-msg-scss.js +5 -5
  992. package/dist/es/ui-components/statics/styles/media-item-error-msg-scss.js.map +1 -1
  993. package/dist/es/ui-components/statics/styles/slider-scss.js +9 -9
  994. package/dist/es/ui-components/statics/styles/slider-scss.js.map +1 -1
  995. package/dist/es/ui-components/thumbnail-picker/thumbnail-picker-scss.js +3 -3
  996. package/dist/es/ui-components/thumbnail-picker/thumbnail-picker-scss.js.map +1 -1
  997. package/dist/es/ui-components/wixel-assistant/assistant-timeline-scss.js +18 -18
  998. package/dist/es/ui-components/wixel-assistant/assistant-timeline-scss.js.map +1 -1
  999. package/dist/es/wix-rich-content-common/statics/styles/fonts-scss.js +3 -3
  1000. package/dist/es/wix-rich-content-common/statics/styles/fonts-scss.js.map +1 -1
  1001. package/dist/es/wix-rich-content-common/statics/styles/general-scss.js +13 -13
  1002. package/dist/es/wix-rich-content-common/statics/styles/general-scss.js.map +1 -1
  1003. package/dist/src/_shared/format-font-size.d.ts +8 -0
  1004. package/dist/src/_shared/format-font-size.d.ts.map +1 -0
  1005. package/dist/src/_shared/get-px-font-size.d.ts +5 -0
  1006. package/dist/src/_shared/get-px-font-size.d.ts.map +1 -0
  1007. package/dist/src/_shared/pm-node-types.d.ts +5 -1
  1008. package/dist/src/_shared/pm-node-types.d.ts.map +1 -1
  1009. package/dist/src/_shared/resolvers/get-font-size-in-selection.d.ts.map +1 -1
  1010. package/dist/src/plugin-code-block/code-block-converter.d.ts.map +1 -1
  1011. package/dist/src/ricos-common-plugins/blockquote/blockquote-converter.d.ts.map +1 -1
  1012. package/dist/src/ricos-common-plugins/decoration-plugins/list-item-sizing.d.ts +1 -1
  1013. package/dist/src/ricos-common-plugins/decoration-plugins/list-item-sizing.d.ts.map +1 -1
  1014. package/dist/src/ricos-common-plugins/font-size/block-font-size-plugin.d.ts +13 -0
  1015. package/dist/src/ricos-common-plugins/font-size/block-font-size-plugin.d.ts.map +1 -0
  1016. package/dist/src/ricos-common-plugins/font-size/block-font-size.d.ts +14 -0
  1017. package/dist/src/ricos-common-plugins/font-size/block-font-size.d.ts.map +1 -0
  1018. package/dist/src/ricos-common-plugins/font-size/extension.d.ts +1 -1
  1019. package/dist/src/ricos-common-plugins/font-size/extension.d.ts.map +1 -1
  1020. package/dist/src/ricos-common-plugins/font-size/font-size.d.ts +1 -1
  1021. package/dist/src/ricos-common-plugins/font-size/font-size.d.ts.map +1 -1
  1022. package/dist/src/ricos-common-plugins/font-size/viewer.d.ts +1 -1
  1023. package/dist/src/ricos-common-plugins/font-size/viewer.d.ts.map +1 -1
  1024. package/dist/src/ricos-common-plugins/paragraph/paragraph-converter.d.ts.map +1 -1
  1025. package/dist/src/ricos-common-plugins/title/heading-converter.d.ts.map +1 -1
  1026. package/dist/src/ricos-common-plugins/types.d.ts +1 -1
  1027. package/dist/src/ricos-common-plugins/types.d.ts.map +1 -1
  1028. package/dist/src/ricos-content/index.d.ts +0 -1
  1029. package/dist/src/ricos-content/index.d.ts.map +1 -1
  1030. package/dist/src/ricos-schema/next-schema/index.d.ts +2 -1
  1031. package/dist/src/ricos-schema/next-schema/index.d.ts.map +1 -1
  1032. package/dist/src/ricos-schema/next-schema/version.d.ts +1 -1
  1033. package/dist/src/ricos-styles/tests/test-cases.d.ts +5 -5
  1034. package/dist/src/ricos-viewer-next/ContentViewer/rericos/renderers/codeblock/codeblock.d.ts.map +1 -1
  1035. package/dist/src/ricos-viewer-next/ContentViewer/rericos/renderers/heading/heading.d.ts.map +1 -1
  1036. package/dist/src/ricos-viewer-next/ContentViewer/rericos/renderers/lists/list-item.d.ts.map +1 -1
  1037. package/dist/src/ricos-viewer-next/ContentViewer/rericos/renderers/paragraph/paragraph.d.ts.map +1 -1
  1038. package/dist/src/ricos-viewer-next/types.d.ts +1 -1
  1039. package/dist/src/ricos-viewer-next/types.d.ts.map +1 -1
  1040. package/dist/src/tiptap-editor/commands/update-text-node.d.ts.map +1 -1
  1041. package/dist/src/tiptap-editor/components/rich-content-adapter.d.ts.map +1 -1
  1042. package/dist/src/tiptap-extensions/ricos-styles.d.ts.map +1 -1
  1043. package/dist/src/tiptap-extensions/unique-id.d.ts.map +1 -1
  1044. package/package.json +5 -3
  1045. package/dist/cjs/ricos-common-plugins/font-size/types.js.map +0 -7
  1046. package/dist/es/ricos-common-plugins/font-size/types.js +0 -1
  1047. package/dist/es/ricos-common-plugins/font-size/types.js.map +0 -7
  1048. package/dist/src/ricos-common-plugins/font-size/types.d.ts +0 -4
  1049. package/dist/src/ricos-common-plugins/font-size/types.d.ts.map +0 -1
@@ -1,6 +1,7 @@
1
1
  import { definePmNodeConverter } from "./../../pm-converters/types.js";
2
2
  import blockquoteDefaultData from "./../../ricos-schema/legacy/statics/blockquote.defaults.json.js";
3
3
  import { Node_Type } from "./../../ricos-schema/next-schema/index.js";
4
+ import { mergeBlockFontSize, splitBlockFontSize } from "../font-size/block-font-size.js";
4
5
  const toParagraphFields = (node) => {
5
6
  const { id: paragraphId, paragraphData = {} } = node;
6
7
  return { paragraphData, paragraphId };
@@ -20,27 +21,32 @@ const blockquoteConverter = definePmNodeConverter({
20
21
  const { id, style, blockquoteData } = node || {};
21
22
  const firstNode = node.nodes?.[0] ?? { id: "", paragraphData: {} };
22
23
  const { paragraphData, paragraphId } = toParagraphFields(firstNode);
24
+ const content = node.nodes?.[0] ? visit?.(node.nodes[0]) ?? [] : [];
25
+ const { textStyle, fontSize } = splitBlockFontSize(paragraphData.textStyle, content);
23
26
  return {
24
27
  type: Node_Type.BLOCKQUOTE,
25
28
  attrs: {
26
29
  paragraphId,
27
- textStyle: paragraphData.textStyle,
30
+ textStyle,
31
+ ...fontSize ? { fontSize } : {},
28
32
  indentation: blockquoteData?.indentation ?? blockquoteDefaultData.indentation,
29
33
  ...style ? { style } : {},
30
34
  id,
31
35
  animation: blockquoteData?.animation ?? null
32
36
  },
33
- // skip internal paragraph, go to text nodes
34
- content: node.nodes?.[0] ? visit?.(node.nodes[0]) ?? [] : []
37
+ content
35
38
  };
36
39
  }
37
40
  },
38
41
  fromPm: {
39
42
  types: [Node_Type.BLOCKQUOTE],
40
43
  convert: (node, visit) => {
41
- const { id, style, paragraphId, textStyle, indentation, animation } = node.attrs || {};
44
+ const { id, style, paragraphId, textStyle, fontSize, indentation, animation } = node.attrs || {};
42
45
  const paragraphNode = toParagraphNode({
43
- paragraphData: { indentation: 0, textStyle },
46
+ paragraphData: {
47
+ indentation: 0,
48
+ textStyle: mergeBlockFontSize(textStyle, fontSize, node.content)
49
+ },
44
50
  paragraphId
45
51
  })(visit?.(node) ?? []);
46
52
  return {
@@ -49,7 +55,8 @@ const blockquoteConverter = definePmNodeConverter({
49
55
  nodes: [paragraphNode],
50
56
  ...style ? { style } : {},
51
57
  blockquoteData: {
52
- indentation,
58
+ // `null` when the blockquote is made from a paragraph, which copies its attributes over
59
+ indentation: indentation ?? blockquoteDefaultData.indentation,
53
60
  ...animation ? { animation } : {}
54
61
  }
55
62
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/ricos-common-plugins/blockquote/blockquote-converter.ts"],
4
- "sourcesContent": ["import { definePmNodeConverter } from './../../pm-converters/types.js';\nimport blockquoteDefaultData from './../../ricos-schema/legacy/statics/blockquote.defaults.json.js';\nimport type { ParagraphData, ParagraphNode, TextNode } from './../../ricos-schema/next-schema/index.js';\nimport { Node_Type } from './../../ricos-schema/next-schema/index.js';\n\ntype ParagraphFields = {\n paragraphData: ParagraphData;\n paragraphId: string;\n};\n\nconst toParagraphFields = (node: ParagraphNode): ParagraphFields => {\n const { id: paragraphId, paragraphData = {} } = node;\n return { paragraphData, paragraphId } as ParagraphFields;\n};\n\nconst toParagraphNode =\n (fields: ParagraphFields) =>\n (nodes: TextNode[]): ParagraphNode => {\n return {\n id: fields.paragraphId,\n type: Node_Type.PARAGRAPH,\n paragraphData: fields.paragraphData,\n nodes,\n };\n };\n\nexport const blockquoteConverter = definePmNodeConverter({\n toPm: {\n types: [Node_Type.BLOCKQUOTE],\n convert: (node, visit) => {\n const { id, style, blockquoteData } = node || {};\n const firstNode = (node.nodes?.[0] ??\n ({ id: '', paragraphData: {} } as ParagraphNode)) as ParagraphNode;\n const { paragraphData, paragraphId } = toParagraphFields(firstNode);\n return {\n type: Node_Type.BLOCKQUOTE,\n attrs: {\n paragraphId,\n textStyle: paragraphData.textStyle,\n indentation: blockquoteData?.indentation ?? blockquoteDefaultData.indentation,\n ...(style ? { style } : {}),\n id,\n animation: blockquoteData?.animation ?? null,\n },\n // skip internal paragraph, go to text nodes\n content: node.nodes?.[0] ? (visit?.(node.nodes[0]) ?? []) : [],\n };\n },\n },\n fromPm: {\n types: [Node_Type.BLOCKQUOTE],\n convert: (node, visit?) => {\n const { id, style, paragraphId, textStyle, indentation, animation } = node.attrs || {};\n const paragraphNode = toParagraphNode({\n paragraphData: { indentation: 0, textStyle },\n paragraphId,\n })((visit?.(node) ?? []) as TextNode[]);\n return {\n type: Node_Type.BLOCKQUOTE,\n id,\n nodes: [paragraphNode],\n ...(style ? { style } : {}),\n blockquoteData: {\n indentation,\n ...(animation ? { animation } : {}),\n },\n };\n },\n },\n});\n"],
5
- "mappings": "AAAA,SAAS,6BAA6B;AACtC,OAAO,2BAA2B;AAElC,SAAS,iBAAiB;AAO1B,MAAM,oBAAoB,CAAC,SAAyC;AAClE,QAAM,EAAE,IAAI,aAAa,gBAAgB,CAAC,EAAE,IAAI;AAChD,SAAO,EAAE,eAAe,YAAY;AACtC;AAEA,MAAM,kBACJ,CAAC,WACD,CAAC,UAAqC;AACpC,SAAO;AAAA,IACL,IAAI,OAAO;AAAA,IACX,MAAM,UAAU;AAAA,IAChB,eAAe,OAAO;AAAA,IACtB;AAAA,EACF;AACF;AAEK,MAAM,sBAAsB,sBAAsB;AAAA,EACvD,MAAM;AAAA,IACJ,OAAO,CAAC,UAAU,UAAU;AAAA,IAC5B,SAAS,CAAC,MAAM,UAAU;AACxB,YAAM,EAAE,IAAI,OAAO,eAAe,IAAI,QAAQ,CAAC;AAC/C,YAAM,YAAa,KAAK,QAAQ,CAAC,KAC9B,EAAE,IAAI,IAAI,eAAe,CAAC,EAAE;AAC/B,YAAM,EAAE,eAAe,YAAY,IAAI,kBAAkB,SAAS;AAClE,aAAO;AAAA,QACL,MAAM,UAAU;AAAA,QAChB,OAAO;AAAA,UACL;AAAA,UACA,WAAW,cAAc;AAAA,UACzB,aAAa,gBAAgB,eAAe,sBAAsB;AAAA,UAClE,GAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;AAAA,UACzB;AAAA,UACA,WAAW,gBAAgB,aAAa;AAAA,QAC1C;AAAA;AAAA,QAEA,SAAS,KAAK,QAAQ,CAAC,IAAK,QAAQ,KAAK,MAAM,CAAC,CAAC,KAAK,CAAC,IAAK,CAAC;AAAA,MAC/D;AAAA,IACF;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,OAAO,CAAC,UAAU,UAAU;AAAA,IAC5B,SAAS,CAAC,MAAM,UAAW;AACzB,YAAM,EAAE,IAAI,OAAO,aAAa,WAAW,aAAa,UAAU,IAAI,KAAK,SAAS,CAAC;AACrF,YAAM,gBAAgB,gBAAgB;AAAA,QACpC,eAAe,EAAE,aAAa,GAAG,UAAU;AAAA,QAC3C;AAAA,MACF,CAAC,EAAG,QAAQ,IAAI,KAAK,CAAC,CAAgB;AACtC,aAAO;AAAA,QACL,MAAM,UAAU;AAAA,QAChB;AAAA,QACA,OAAO,CAAC,aAAa;AAAA,QACrB,GAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;AAAA,QACzB,gBAAgB;AAAA,UACd;AAAA,UACA,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,QACnC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;",
4
+ "sourcesContent": ["import { definePmNodeConverter } from './../../pm-converters/types.js';\nimport blockquoteDefaultData from './../../ricos-schema/legacy/statics/blockquote.defaults.json.js';\nimport type { ParagraphData, ParagraphNode, TextNode } from './../../ricos-schema/next-schema/index.js';\nimport { Node_Type } from './../../ricos-schema/next-schema/index.js';\n\nimport { mergeBlockFontSize, splitBlockFontSize } from '../font-size/block-font-size.js';\n\ntype ParagraphFields = {\n paragraphData: ParagraphData;\n paragraphId: string;\n};\n\nconst toParagraphFields = (node: ParagraphNode): ParagraphFields => {\n const { id: paragraphId, paragraphData = {} } = node;\n return { paragraphData, paragraphId } as ParagraphFields;\n};\n\nconst toParagraphNode =\n (fields: ParagraphFields) =>\n (nodes: TextNode[]): ParagraphNode => {\n return {\n id: fields.paragraphId,\n type: Node_Type.PARAGRAPH,\n paragraphData: fields.paragraphData,\n nodes,\n };\n };\n\nexport const blockquoteConverter = definePmNodeConverter({\n toPm: {\n types: [Node_Type.BLOCKQUOTE],\n convert: (node, visit) => {\n const { id, style, blockquoteData } = node || {};\n const firstNode = (node.nodes?.[0] ??\n ({ id: '', paragraphData: {} } as ParagraphNode)) as ParagraphNode;\n const { paragraphData, paragraphId } = toParagraphFields(firstNode);\n // skip internal paragraph, go to text nodes\n const content = node.nodes?.[0] ? (visit?.(node.nodes[0]) ?? []) : [];\n // The blockquote is a textblock in ProseMirror, so it carries its paragraph's text style\n const { textStyle, fontSize } = splitBlockFontSize(paragraphData.textStyle, content);\n return {\n type: Node_Type.BLOCKQUOTE,\n attrs: {\n paragraphId,\n textStyle,\n ...(fontSize ? { fontSize } : {}),\n indentation: blockquoteData?.indentation ?? blockquoteDefaultData.indentation,\n ...(style ? { style } : {}),\n id,\n animation: blockquoteData?.animation ?? null,\n },\n content,\n };\n },\n },\n fromPm: {\n types: [Node_Type.BLOCKQUOTE],\n convert: (node, visit?) => {\n const { id, style, paragraphId, textStyle, fontSize, indentation, animation } =\n node.attrs || {};\n const paragraphNode = toParagraphNode({\n paragraphData: {\n indentation: 0,\n textStyle: mergeBlockFontSize(textStyle, fontSize, node.content),\n },\n paragraphId,\n })((visit?.(node) ?? []) as TextNode[]);\n return {\n type: Node_Type.BLOCKQUOTE,\n id,\n nodes: [paragraphNode],\n ...(style ? { style } : {}),\n blockquoteData: {\n // `null` when the blockquote is made from a paragraph, which copies its attributes over\n indentation: indentation ?? blockquoteDefaultData.indentation,\n ...(animation ? { animation } : {}),\n },\n };\n },\n },\n});\n"],
5
+ "mappings": "AAAA,SAAS,6BAA6B;AACtC,OAAO,2BAA2B;AAElC,SAAS,iBAAiB;AAE1B,SAAS,oBAAoB,0BAA0B;AAOvD,MAAM,oBAAoB,CAAC,SAAyC;AAClE,QAAM,EAAE,IAAI,aAAa,gBAAgB,CAAC,EAAE,IAAI;AAChD,SAAO,EAAE,eAAe,YAAY;AACtC;AAEA,MAAM,kBACJ,CAAC,WACD,CAAC,UAAqC;AACpC,SAAO;AAAA,IACL,IAAI,OAAO;AAAA,IACX,MAAM,UAAU;AAAA,IAChB,eAAe,OAAO;AAAA,IACtB;AAAA,EACF;AACF;AAEK,MAAM,sBAAsB,sBAAsB;AAAA,EACvD,MAAM;AAAA,IACJ,OAAO,CAAC,UAAU,UAAU;AAAA,IAC5B,SAAS,CAAC,MAAM,UAAU;AACxB,YAAM,EAAE,IAAI,OAAO,eAAe,IAAI,QAAQ,CAAC;AAC/C,YAAM,YAAa,KAAK,QAAQ,CAAC,KAC9B,EAAE,IAAI,IAAI,eAAe,CAAC,EAAE;AAC/B,YAAM,EAAE,eAAe,YAAY,IAAI,kBAAkB,SAAS;AAElE,YAAM,UAAU,KAAK,QAAQ,CAAC,IAAK,QAAQ,KAAK,MAAM,CAAC,CAAC,KAAK,CAAC,IAAK,CAAC;AAEpE,YAAM,EAAE,WAAW,SAAS,IAAI,mBAAmB,cAAc,WAAW,OAAO;AACnF,aAAO;AAAA,QACL,MAAM,UAAU;AAAA,QAChB,OAAO;AAAA,UACL;AAAA,UACA;AAAA,UACA,GAAI,WAAW,EAAE,SAAS,IAAI,CAAC;AAAA,UAC/B,aAAa,gBAAgB,eAAe,sBAAsB;AAAA,UAClE,GAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;AAAA,UACzB;AAAA,UACA,WAAW,gBAAgB,aAAa;AAAA,QAC1C;AAAA,QACA;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,OAAO,CAAC,UAAU,UAAU;AAAA,IAC5B,SAAS,CAAC,MAAM,UAAW;AACzB,YAAM,EAAE,IAAI,OAAO,aAAa,WAAW,UAAU,aAAa,UAAU,IAC1E,KAAK,SAAS,CAAC;AACjB,YAAM,gBAAgB,gBAAgB;AAAA,QACpC,eAAe;AAAA,UACb,aAAa;AAAA,UACb,WAAW,mBAAmB,WAAW,UAAU,KAAK,OAAO;AAAA,QACjE;AAAA,QACA;AAAA,MACF,CAAC,EAAG,QAAQ,IAAI,KAAK,CAAC,CAAgB;AACtC,aAAO;AAAA,QACL,MAAM,UAAU;AAAA,QAChB;AAAA,QACA,OAAO,CAAC,aAAa;AAAA,QACrB,GAAI,QAAQ,EAAE,MAAM,IAAI,CAAC;AAAA,QACzB,gBAAgB;AAAA;AAAA,UAEd,aAAa,eAAe,sBAAsB;AAAA,UAClD,GAAI,YAAY,EAAE,UAAU,IAAI,CAAC;AAAA,QACnC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;",
6
6
  "names": []
7
7
  }
@@ -40,7 +40,7 @@ const buildIndentationStylingDecorations = (doc) => {
40
40
  const marker = getListSymbol(normalizedVisualIndent, node.type.name);
41
41
  const isCheckboxList = node.type.name === Node_Type.CHECKBOX_LIST;
42
42
  const marginStart = `margin-inline-start: ${normalizeOffset(node.attrs.offset || 0) * 2 + 1.5}em`;
43
- const style = isCheckboxList ? `${marginStart};` : `list-style-type: ${marker}; ${marginStart};`;
43
+ const style = isCheckboxList ? marginStart : `list-style-type: ${marker}; ${marginStart}`;
44
44
  node.forEach((childNode, childPos) => {
45
45
  const childPosInDoc = childPos + pos + 1;
46
46
  decorations.push(
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/ricos-common-plugins/decoration-plugins/indentation-styling.ts"],
4
- "sourcesContent": ["import { Node_Type } from './../../ricos-schema/legacy/wix/rich_content/v1/index.js';\nimport type { Node } from './../../tiptap/pm/model.js';\nimport { Plugin, PluginKey } from './../../tiptap/pm/state.js';\nimport { Decoration, DecorationSet } from './../../tiptap/pm/view.js';\nimport { getListSymbol, normalizeOffset } from './../../wix-rich-content-common/index.js';\n\nimport { getListItemsWithVisibleIndentation } from '../list-item/commands/commons.js';\nimport { isInlineTextOnly } from '../transaction-predicates/is-inline-text-only.js';\nimport { onlyChangesUnrelatedAttrs } from '../transaction-predicates/only-changes-unrelated-attrs.js';\n\n// Reads `attrs.offset` on LIST_ITEM (and walks list nesting structure).\nconst RELEVANT_ATTRS: ReadonlySet<string> = new Set(['offset']);\n\n/**\n * Adds inline styling and an aria-level attribute to list items based on\n * their nesting level and parents' offset sum.\n *\n * Output depends on list nesting + `offset` attrs. Inline-text-only edits\n * cannot change list structure, offsets, or node types, so the cached set\n * can be remapped instead of rebuilt on every keystroke.\n */\nexport const createIndentationStylingDecorationPlugin = () => {\n const key = new PluginKey<DecorationSet>('indentation-styling');\n\n return new Plugin<DecorationSet>({\n key,\n state: {\n init: (_config, state) => buildIndentationStylingDecorations(state.doc),\n apply: (tr, prev) => {\n if (!tr.docChanged) {\n return prev;\n }\n if (isInlineTextOnly(tr)) {\n return prev.map(tr.mapping, tr.doc);\n }\n if (onlyChangesUnrelatedAttrs(tr, RELEVANT_ATTRS)) {\n return prev;\n }\n return buildIndentationStylingDecorations(tr.doc);\n },\n },\n props: {\n decorations(state) {\n return key.getState(state);\n },\n },\n });\n};\n\nconst buildIndentationStylingDecorations = (doc: Node): DecorationSet => {\n const decorations: Decoration[] = [];\n\n const listItemsWithVisualIndent = getListItemsWithVisibleIndentation(doc);\n\n listItemsWithVisualIndent.forEach(({ node, pos, visibleIndentation }) => {\n const normalizedVisualIndent = normalizeOffset(visibleIndentation);\n const marker = getListSymbol(normalizedVisualIndent, node.type.name as Node_Type);\n const isCheckboxList = node.type.name === Node_Type.CHECKBOX_LIST;\n\n const marginStart = `margin-inline-start: ${\n normalizeOffset(node.attrs.offset || 0) * 2 + 1.5\n }em`;\n const style = isCheckboxList\n ? `${marginStart};`\n : `list-style-type: ${marker}; ${marginStart};`;\n\n node.forEach((childNode: Node, childPos: number) => {\n const childPosInDoc = childPos + pos + 1;\n decorations.push(\n Decoration.node(childPosInDoc, childPosInDoc + childNode.nodeSize, {\n style,\n 'aria-level': `${normalizedVisualIndent + 1}`,\n })\n );\n });\n });\n\n return DecorationSet.create(doc, decorations);\n};\n"],
5
- "mappings": "AAAA,SAAS,iBAAiB;AAE1B,SAAS,QAAQ,iBAAiB;AAClC,SAAS,YAAY,qBAAqB;AAC1C,SAAS,eAAe,uBAAuB;AAE/C,SAAS,0CAA0C;AACnD,SAAS,wBAAwB;AACjC,SAAS,iCAAiC;AAG1C,MAAM,iBAAsC,oBAAI,IAAI,CAAC,QAAQ,CAAC;AAUvD,MAAM,2CAA2C,MAAM;AAC5D,QAAM,MAAM,IAAI,UAAyB,qBAAqB;AAE9D,SAAO,IAAI,OAAsB;AAAA,IAC/B;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,SAAS,UAAU,mCAAmC,MAAM,GAAG;AAAA,MACtE,OAAO,CAAC,IAAI,SAAS;AACnB,YAAI,CAAC,GAAG,YAAY;AAClB,iBAAO;AAAA,QACT;AACA,YAAI,iBAAiB,EAAE,GAAG;AACxB,iBAAO,KAAK,IAAI,GAAG,SAAS,GAAG,GAAG;AAAA,QACpC;AACA,YAAI,0BAA0B,IAAI,cAAc,GAAG;AACjD,iBAAO;AAAA,QACT;AACA,eAAO,mCAAmC,GAAG,GAAG;AAAA,MAClD;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,YAAY,OAAO;AACjB,eAAO,IAAI,SAAS,KAAK;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,MAAM,qCAAqC,CAAC,QAA6B;AACvE,QAAM,cAA4B,CAAC;AAEnC,QAAM,4BAA4B,mCAAmC,GAAG;AAExE,4BAA0B,QAAQ,CAAC,EAAE,MAAM,KAAK,mBAAmB,MAAM;AACvE,UAAM,yBAAyB,gBAAgB,kBAAkB;AACjE,UAAM,SAAS,cAAc,wBAAwB,KAAK,KAAK,IAAiB;AAChF,UAAM,iBAAiB,KAAK,KAAK,SAAS,UAAU;AAEpD,UAAM,cAAc,wBAClB,gBAAgB,KAAK,MAAM,UAAU,CAAC,IAAI,IAAI,GAChD;AACA,UAAM,QAAQ,iBACV,GAAG,WAAW,MACd,oBAAoB,MAAM,KAAK,WAAW;AAE9C,SAAK,QAAQ,CAAC,WAAiB,aAAqB;AAClD,YAAM,gBAAgB,WAAW,MAAM;AACvC,kBAAY;AAAA,QACV,WAAW,KAAK,eAAe,gBAAgB,UAAU,UAAU;AAAA,UACjE;AAAA,UACA,cAAc,GAAG,yBAAyB,CAAC;AAAA,QAC7C,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,SAAO,cAAc,OAAO,KAAK,WAAW;AAC9C;",
4
+ "sourcesContent": ["import { Node_Type } from './../../ricos-schema/legacy/wix/rich_content/v1/index.js';\nimport type { Node } from './../../tiptap/pm/model.js';\nimport { Plugin, PluginKey } from './../../tiptap/pm/state.js';\nimport { Decoration, DecorationSet } from './../../tiptap/pm/view.js';\nimport { getListSymbol, normalizeOffset } from './../../wix-rich-content-common/index.js';\n\nimport { getListItemsWithVisibleIndentation } from '../list-item/commands/commons.js';\nimport { isInlineTextOnly } from '../transaction-predicates/is-inline-text-only.js';\nimport { onlyChangesUnrelatedAttrs } from '../transaction-predicates/only-changes-unrelated-attrs.js';\n\n// Reads `attrs.offset` on LIST_ITEM (and walks list nesting structure).\nconst RELEVANT_ATTRS: ReadonlySet<string> = new Set(['offset']);\n\n/**\n * Adds inline styling and an aria-level attribute to list items based on\n * their nesting level and parents' offset sum.\n *\n * Output depends on list nesting + `offset` attrs. Inline-text-only edits\n * cannot change list structure, offsets, or node types, so the cached set\n * can be remapped instead of rebuilt on every keystroke.\n */\nexport const createIndentationStylingDecorationPlugin = () => {\n const key = new PluginKey<DecorationSet>('indentation-styling');\n\n return new Plugin<DecorationSet>({\n key,\n state: {\n init: (_config, state) => buildIndentationStylingDecorations(state.doc),\n apply: (tr, prev) => {\n if (!tr.docChanged) {\n return prev;\n }\n if (isInlineTextOnly(tr)) {\n return prev.map(tr.mapping, tr.doc);\n }\n if (onlyChangesUnrelatedAttrs(tr, RELEVANT_ATTRS)) {\n return prev;\n }\n return buildIndentationStylingDecorations(tr.doc);\n },\n },\n props: {\n decorations(state) {\n return key.getState(state);\n },\n },\n });\n};\n\nconst buildIndentationStylingDecorations = (doc: Node): DecorationSet => {\n const decorations: Decoration[] = [];\n\n const listItemsWithVisualIndent = getListItemsWithVisibleIndentation(doc);\n\n listItemsWithVisualIndent.forEach(({ node, pos, visibleIndentation }) => {\n const normalizedVisualIndent = normalizeOffset(visibleIndentation);\n const marker = getListSymbol(normalizedVisualIndent, node.type.name as Node_Type);\n const isCheckboxList = node.type.name === Node_Type.CHECKBOX_LIST;\n\n const marginStart = `margin-inline-start: ${\n normalizeOffset(node.attrs.offset || 0) * 2 + 1.5\n }em`;\n // No trailing `;`: ProseMirror joins stacked node-decoration styles with `;`,\n // and jsdom drops the declaration after a `;;` (e.g. list-item-sizing's font-size).\n const style = isCheckboxList ? marginStart : `list-style-type: ${marker}; ${marginStart}`;\n\n node.forEach((childNode: Node, childPos: number) => {\n const childPosInDoc = childPos + pos + 1;\n decorations.push(\n Decoration.node(childPosInDoc, childPosInDoc + childNode.nodeSize, {\n style,\n 'aria-level': `${normalizedVisualIndent + 1}`,\n })\n );\n });\n });\n\n return DecorationSet.create(doc, decorations);\n};\n"],
5
+ "mappings": "AAAA,SAAS,iBAAiB;AAE1B,SAAS,QAAQ,iBAAiB;AAClC,SAAS,YAAY,qBAAqB;AAC1C,SAAS,eAAe,uBAAuB;AAE/C,SAAS,0CAA0C;AACnD,SAAS,wBAAwB;AACjC,SAAS,iCAAiC;AAG1C,MAAM,iBAAsC,oBAAI,IAAI,CAAC,QAAQ,CAAC;AAUvD,MAAM,2CAA2C,MAAM;AAC5D,QAAM,MAAM,IAAI,UAAyB,qBAAqB;AAE9D,SAAO,IAAI,OAAsB;AAAA,IAC/B;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,SAAS,UAAU,mCAAmC,MAAM,GAAG;AAAA,MACtE,OAAO,CAAC,IAAI,SAAS;AACnB,YAAI,CAAC,GAAG,YAAY;AAClB,iBAAO;AAAA,QACT;AACA,YAAI,iBAAiB,EAAE,GAAG;AACxB,iBAAO,KAAK,IAAI,GAAG,SAAS,GAAG,GAAG;AAAA,QACpC;AACA,YAAI,0BAA0B,IAAI,cAAc,GAAG;AACjD,iBAAO;AAAA,QACT;AACA,eAAO,mCAAmC,GAAG,GAAG;AAAA,MAClD;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,YAAY,OAAO;AACjB,eAAO,IAAI,SAAS,KAAK;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,MAAM,qCAAqC,CAAC,QAA6B;AACvE,QAAM,cAA4B,CAAC;AAEnC,QAAM,4BAA4B,mCAAmC,GAAG;AAExE,4BAA0B,QAAQ,CAAC,EAAE,MAAM,KAAK,mBAAmB,MAAM;AACvE,UAAM,yBAAyB,gBAAgB,kBAAkB;AACjE,UAAM,SAAS,cAAc,wBAAwB,KAAK,KAAK,IAAiB;AAChF,UAAM,iBAAiB,KAAK,KAAK,SAAS,UAAU;AAEpD,UAAM,cAAc,wBAClB,gBAAgB,KAAK,MAAM,UAAU,CAAC,IAAI,IAAI,GAChD;AAGA,UAAM,QAAQ,iBAAiB,cAAc,oBAAoB,MAAM,KAAK,WAAW;AAEvF,SAAK,QAAQ,CAAC,WAAiB,aAAqB;AAClD,YAAM,gBAAgB,WAAW,MAAM;AACvC,kBAAY;AAAA,QACV,WAAW,KAAK,eAAe,gBAAgB,UAAU,UAAU;AAAA,UACjE;AAAA,UACA,cAAc,GAAG,yBAAyB,CAAC;AAAA,QAC7C,CAAC;AAAA,MACH;AAAA,IACF,CAAC;AAAA,EACH,CAAC;AAED,SAAO,cAAc,OAAO,KAAK,WAAW;AAC9C;",
6
6
  "names": []
7
7
  }
@@ -1,11 +1,12 @@
1
1
  import { Node_Type } from "./../../ricos-schema/legacy/wix/rich_content/v1/index.js";
2
- import { Mark_Type } from "./../../ricos-types/index.js";
2
+ import { getPxFontSize } from "./../../_shared/get-px-font-size.js";
3
3
  import { getBlockDefaultFontSize } from "./../../_shared/list-checkbox/get-block-default-font-size.js";
4
4
  import { Plugin, PluginKey } from "./../../tiptap/pm/state.js";
5
5
  import { Decoration, DecorationSet } from "./../../tiptap/pm/view.js";
6
+ import { toBlockFontSize } from "../font-size/block-font-size.js";
6
7
  import { HEADER_NAMES } from "../title/header-names.js";
7
8
  import { onlyChangesUnrelatedAttrs } from "../transaction-predicates/only-changes-unrelated-attrs.js";
8
- const RELEVANT_ATTRS = /* @__PURE__ */ new Set(["level"]);
9
+ const RELEVANT_ATTRS = /* @__PURE__ */ new Set(["level", "fontSize"]);
9
10
  const createListItemSizingDecorationPlugin = () => {
10
11
  const key = new PluginKey("list-item-sizing");
11
12
  return new Plugin({
@@ -30,6 +31,12 @@ const createListItemSizingDecorationPlugin = () => {
30
31
  }
31
32
  });
32
33
  };
34
+ const getChildFontSize = (blockNode) => {
35
+ if (!blockNode) {
36
+ return 0;
37
+ }
38
+ return (blockNode.content.size ? toBlockFontSize(blockNode.firstChild?.marks)?.value : getPxFontSize(blockNode.attrs.fontSize)) ?? 0;
39
+ };
33
40
  const buildListItemSizingDecorations = (doc) => {
34
41
  const decorations = [];
35
42
  doc.descendants((node, pos) => {
@@ -41,18 +48,14 @@ const buildListItemSizingDecorations = (doc) => {
41
48
  }
42
49
  const firstChildOfListItem = node.firstChild;
43
50
  const headingLevel = firstChildOfListItem?.type.name === Node_Type.HEADING ? firstChildOfListItem?.attrs.level || 1 : void 0;
44
- const childFontSize = Number(
45
- firstChildOfListItem?.firstChild?.marks.find((mark) => mark.type.name === Mark_Type.FONT_SIZE)?.attrs.value
46
- );
51
+ const childFontSize = getChildFontSize(firstChildOfListItem);
47
52
  if (childFontSize) {
53
+ const childFontFit = childFontSize < getBlockDefaultFontSize(headingLevel);
48
54
  decorations.push(
49
55
  Decoration.node(pos, pos + node.nodeSize, {
50
- style: `font-size: ${childFontSize}px;`,
51
- // When the chosen font is smaller than the block's own default, the
52
- // block's strut keeps the line (and marker) oversized; flag the item
53
- // so the child paragraph/heading shrinks its font to match — see
54
- // `list-checkbox.scss`.
55
- ...childFontSize < getBlockDefaultFontSize(headingLevel) ? { "data-child-font-fit": "true" } : {}
56
+ // No trailing `;` — see indentation-styling.ts.
57
+ style: `font-size: ${childFontSize}px`,
58
+ ...childFontFit ? { "data-child-font-fit": "true" } : {}
56
59
  })
57
60
  );
58
61
  }
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/ricos-common-plugins/decoration-plugins/list-item-sizing.ts"],
4
- "sourcesContent": ["import { Node_Type } from './../../ricos-schema/legacy/wix/rich_content/v1/index.js';\nimport { Mark_Type } from './../../ricos-types/index.js';\nimport { getBlockDefaultFontSize } from './../../_shared/list-checkbox/get-block-default-font-size.js';\nimport type { Node as ProseMirrorNode } from './../../tiptap/pm/model.js';\nimport { Plugin, PluginKey } from './../../tiptap/pm/state.js';\nimport { Decoration, DecorationSet } from './../../tiptap/pm/view.js';\n\nimport type { Level } from '../title/extension.js';\nimport { HEADER_NAMES } from '../title/header-names.js';\nimport { onlyChangesUnrelatedAttrs } from '../transaction-predicates/only-changes-unrelated-attrs.js';\n\n// Reads heading `attrs.level` on the list item's first child. Marks (font-\n// size) come through `Add/RemoveMarkStep` — non-attr — and correctly\n// defeat the predicate without needing to be listed here.\nconst RELEVANT_ATTRS: ReadonlySet<string> = new Set(['level']);\n\n/**\n * Adds, depending on the list item's first child:\n * - a font-size (so the list marker and paddings size with the first text node),\n * - a `data-child-font-fit` flag when that font-size is smaller than the block's\n * own default, so the child paragraph/heading shrinks its font to match (see\n * `list-checkbox.scss`),\n * - and/or a `data-heading-level` attribute (so a heading-first list item gets\n * heading styles).\n *\n * No `reuseWhen`: the decoration value depends on the first child's first\n * text node's marks / type, which inline-text edits can change (pasting\n * marked text in front of an unmarked first character, typing that changes\n * the first mark, etc.). Cache is still used across selection-only\n * transactions.\n */\nexport const createListItemSizingDecorationPlugin = () => {\n const key = new PluginKey<DecorationSet>('list-item-sizing');\n\n return new Plugin<DecorationSet>({\n key,\n state: {\n init: (_config, state) => buildListItemSizingDecorations(state.doc),\n // No `reuseWhen` predicate — see plugin docstring for why.\n apply: (tr, prev) => {\n if (!tr.docChanged) {\n return prev;\n }\n if (onlyChangesUnrelatedAttrs(tr, RELEVANT_ATTRS)) {\n return prev;\n }\n return buildListItemSizingDecorations(tr.doc);\n },\n },\n props: {\n decorations(state) {\n return key.getState(state);\n },\n },\n });\n};\n\nconst buildListItemSizingDecorations = (doc: ProseMirrorNode): DecorationSet => {\n const decorations: Decoration[] = [];\n\n doc.descendants((node, pos) => {\n // Text blocks (paragraph, heading, blockquote) cannot contain list items,\n // so skipping their subtree avoids visiting every text/mark node.\n // We cannot prune at LIST_ITEM because it may contain nested lists via\n // `listItemSecondChildContent`, and those nested list items still need\n // decorations.\n if (node.isTextblock) {\n return false;\n }\n\n if (node.type.name !== Node_Type.LIST_ITEM) {\n return;\n }\n\n const firstChildOfListItem = node.firstChild;\n const headingLevel: Level | undefined =\n firstChildOfListItem?.type.name === Node_Type.HEADING\n ? firstChildOfListItem?.attrs.level || 1\n : undefined;\n\n // If the list item's child's (paragraph's/heading's) first text node has\n // a specified font-size, apply it to the list item as a decoration so the\n // list marker matches the text font-size.\n const childFontSize = Number(\n firstChildOfListItem?.firstChild?.marks.find(mark => mark.type.name === Mark_Type.FONT_SIZE)\n ?.attrs.value\n );\n if (childFontSize) {\n decorations.push(\n Decoration.node(pos, pos + node.nodeSize, {\n style: `font-size: ${childFontSize}px;`,\n // When the chosen font is smaller than the block's own default, the\n // block's strut keeps the line (and marker) oversized; flag the item\n // so the child paragraph/heading shrinks its font to match — see\n // `list-checkbox.scss`.\n ...(childFontSize < getBlockDefaultFontSize(headingLevel)\n ? { 'data-child-font-fit': 'true' }\n : {}),\n })\n );\n }\n\n if (headingLevel !== undefined) {\n decorations.push(\n Decoration.node(pos, pos + node.nodeSize, {\n 'data-heading-level': `header${HEADER_NAMES[headingLevel - 1]}`,\n })\n );\n }\n });\n\n return DecorationSet.create(doc, decorations);\n};\n"],
5
- "mappings": "AAAA,SAAS,iBAAiB;AAC1B,SAAS,iBAAiB;AAC1B,SAAS,+BAA+B;AAExC,SAAS,QAAQ,iBAAiB;AAClC,SAAS,YAAY,qBAAqB;AAG1C,SAAS,oBAAoB;AAC7B,SAAS,iCAAiC;AAK1C,MAAM,iBAAsC,oBAAI,IAAI,CAAC,OAAO,CAAC;AAiBtD,MAAM,uCAAuC,MAAM;AACxD,QAAM,MAAM,IAAI,UAAyB,kBAAkB;AAE3D,SAAO,IAAI,OAAsB;AAAA,IAC/B;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,SAAS,UAAU,+BAA+B,MAAM,GAAG;AAAA;AAAA,MAElE,OAAO,CAAC,IAAI,SAAS;AACnB,YAAI,CAAC,GAAG,YAAY;AAClB,iBAAO;AAAA,QACT;AACA,YAAI,0BAA0B,IAAI,cAAc,GAAG;AACjD,iBAAO;AAAA,QACT;AACA,eAAO,+BAA+B,GAAG,GAAG;AAAA,MAC9C;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,YAAY,OAAO;AACjB,eAAO,IAAI,SAAS,KAAK;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAEA,MAAM,iCAAiC,CAAC,QAAwC;AAC9E,QAAM,cAA4B,CAAC;AAEnC,MAAI,YAAY,CAAC,MAAM,QAAQ;AAM7B,QAAI,KAAK,aAAa;AACpB,aAAO;AAAA,IACT;AAEA,QAAI,KAAK,KAAK,SAAS,UAAU,WAAW;AAC1C;AAAA,IACF;AAEA,UAAM,uBAAuB,KAAK;AAClC,UAAM,eACJ,sBAAsB,KAAK,SAAS,UAAU,UAC1C,sBAAsB,MAAM,SAAS,IACrC;AAKN,UAAM,gBAAgB;AAAA,MACpB,sBAAsB,YAAY,MAAM,KAAK,UAAQ,KAAK,KAAK,SAAS,UAAU,SAAS,GACvF,MAAM;AAAA,IACZ;AACA,QAAI,eAAe;AACjB,kBAAY;AAAA,QACV,WAAW,KAAK,KAAK,MAAM,KAAK,UAAU;AAAA,UACxC,OAAO,cAAc,aAAa;AAAA;AAAA;AAAA;AAAA;AAAA,UAKlC,GAAI,gBAAgB,wBAAwB,YAAY,IACpD,EAAE,uBAAuB,OAAO,IAChC,CAAC;AAAA,QACP,CAAC;AAAA,MACH;AAAA,IACF;AAEA,QAAI,iBAAiB,QAAW;AAC9B,kBAAY;AAAA,QACV,WAAW,KAAK,KAAK,MAAM,KAAK,UAAU;AAAA,UACxC,sBAAsB,SAAS,aAAa,eAAe,CAAC,CAAC;AAAA,QAC/D,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,cAAc,OAAO,KAAK,WAAW;AAC9C;",
4
+ "sourcesContent": ["import { Node_Type } from './../../ricos-schema/legacy/wix/rich_content/v1/index.js';\nimport { getPxFontSize } from './../../_shared/get-px-font-size.js';\nimport { getBlockDefaultFontSize } from './../../_shared/list-checkbox/get-block-default-font-size.js';\nimport type { Node as ProseMirrorNode } from './../../tiptap/pm/model.js';\nimport { Plugin, PluginKey } from './../../tiptap/pm/state.js';\nimport { Decoration, DecorationSet } from './../../tiptap/pm/view.js';\n\nimport { toBlockFontSize } from '../font-size/block-font-size.js';\nimport type { Level } from '../title/extension.js';\nimport { HEADER_NAMES } from '../title/header-names.js';\nimport { onlyChangesUnrelatedAttrs } from '../transaction-predicates/only-changes-unrelated-attrs.js';\n\n// Reads heading `attrs.level` and the block `attrs.fontSize` on the list\n// item's first child. Marks (font-size) come through `Add/RemoveMarkStep` —\n// non-attr — and correctly defeat the predicate without needing to be listed here.\nconst RELEVANT_ATTRS: ReadonlySet<string> = new Set(['level', 'fontSize']);\n\n/**\n * Adds, depending on the list item's first child:\n * - a font-size (so the list marker and paddings size with the text),\n * - a `data-child-font-fit` flag when that font-size is smaller than the block's\n * own default, so the child paragraph/heading shrinks its font to match (see\n * `list-checkbox.scss`),\n * - and/or a `data-heading-level` attribute (so a heading-first list item gets\n * heading styles).\n *\n * No `reuseWhen`: the decoration value depends on the first child's first\n * text node's marks / type, which inline-text edits can change (pasting\n * marked text in front of an unmarked first character, typing that changes\n * the first mark, etc.). Cache is still used across selection-only\n * transactions.\n */\nexport const createListItemSizingDecorationPlugin = () => {\n const key = new PluginKey<DecorationSet>('list-item-sizing');\n\n return new Plugin<DecorationSet>({\n key,\n state: {\n init: (_config, state) => buildListItemSizingDecorations(state.doc),\n // No `reuseWhen` predicate — see plugin docstring for why.\n apply: (tr, prev) => {\n if (!tr.docChanged) {\n return prev;\n }\n if (onlyChangesUnrelatedAttrs(tr, RELEVANT_ATTRS)) {\n return prev;\n }\n return buildListItemSizingDecorations(tr.doc);\n },\n },\n props: {\n decorations(state) {\n return key.getState(state);\n },\n },\n });\n};\n\n// An empty block sizes the item with its own font size, a block with text with its first text node's.\n// Only an absolute size can size the item: a relative one would compound with the same size on the\n// block inside it, which is relative to the item.\nconst getChildFontSize = (blockNode: ProseMirrorNode | null): number => {\n if (!blockNode) {\n return 0;\n }\n return (\n (blockNode.content.size\n ? toBlockFontSize(blockNode.firstChild?.marks)?.value\n : getPxFontSize(blockNode.attrs.fontSize)) ?? 0\n );\n};\n\nconst buildListItemSizingDecorations = (doc: ProseMirrorNode): DecorationSet => {\n const decorations: Decoration[] = [];\n\n doc.descendants((node, pos) => {\n // Text blocks (paragraph, heading, blockquote) cannot contain list items,\n // so skipping their subtree avoids visiting every text/mark node.\n // We cannot prune at LIST_ITEM because it may contain nested lists via\n // `listItemSecondChildContent`, and those nested list items still need\n // decorations.\n if (node.isTextblock) {\n return false;\n }\n\n if (node.type.name !== Node_Type.LIST_ITEM) {\n return;\n }\n\n const firstChildOfListItem = node.firstChild;\n const headingLevel: Level | undefined =\n firstChildOfListItem?.type.name === Node_Type.HEADING\n ? firstChildOfListItem?.attrs.level || 1\n : undefined;\n\n // Apply the child block's font-size to the list item as a decoration so\n // the list marker matches the text font-size.\n const childFontSize = getChildFontSize(firstChildOfListItem);\n if (childFontSize) {\n // When the chosen font is smaller than the block's own default, the\n // block's strut keeps the line (and marker) oversized; flag the item\n // so the child paragraph/heading shrinks its font to match — see\n // `list-checkbox.scss`.\n const childFontFit = childFontSize < getBlockDefaultFontSize(headingLevel);\n decorations.push(\n Decoration.node(pos, pos + node.nodeSize, {\n // No trailing `;` — see indentation-styling.ts.\n style: `font-size: ${childFontSize}px`,\n ...(childFontFit ? { 'data-child-font-fit': 'true' } : {}),\n })\n );\n }\n\n if (headingLevel !== undefined) {\n decorations.push(\n Decoration.node(pos, pos + node.nodeSize, {\n 'data-heading-level': `header${HEADER_NAMES[headingLevel - 1]}`,\n })\n );\n }\n });\n\n return DecorationSet.create(doc, decorations);\n};\n"],
5
+ "mappings": "AAAA,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAC9B,SAAS,+BAA+B;AAExC,SAAS,QAAQ,iBAAiB;AAClC,SAAS,YAAY,qBAAqB;AAE1C,SAAS,uBAAuB;AAEhC,SAAS,oBAAoB;AAC7B,SAAS,iCAAiC;AAK1C,MAAM,iBAAsC,oBAAI,IAAI,CAAC,SAAS,UAAU,CAAC;AAiBlE,MAAM,uCAAuC,MAAM;AACxD,QAAM,MAAM,IAAI,UAAyB,kBAAkB;AAE3D,SAAO,IAAI,OAAsB;AAAA,IAC/B;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,SAAS,UAAU,+BAA+B,MAAM,GAAG;AAAA;AAAA,MAElE,OAAO,CAAC,IAAI,SAAS;AACnB,YAAI,CAAC,GAAG,YAAY;AAClB,iBAAO;AAAA,QACT;AACA,YAAI,0BAA0B,IAAI,cAAc,GAAG;AACjD,iBAAO;AAAA,QACT;AACA,eAAO,+BAA+B,GAAG,GAAG;AAAA,MAC9C;AAAA,IACF;AAAA,IACA,OAAO;AAAA,MACL,YAAY,OAAO;AACjB,eAAO,IAAI,SAAS,KAAK;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,CAAC;AACH;AAKA,MAAM,mBAAmB,CAAC,cAA8C;AACtE,MAAI,CAAC,WAAW;AACd,WAAO;AAAA,EACT;AACA,UACG,UAAU,QAAQ,OACf,gBAAgB,UAAU,YAAY,KAAK,GAAG,QAC9C,cAAc,UAAU,MAAM,QAAQ,MAAM;AAEpD;AAEA,MAAM,iCAAiC,CAAC,QAAwC;AAC9E,QAAM,cAA4B,CAAC;AAEnC,MAAI,YAAY,CAAC,MAAM,QAAQ;AAM7B,QAAI,KAAK,aAAa;AACpB,aAAO;AAAA,IACT;AAEA,QAAI,KAAK,KAAK,SAAS,UAAU,WAAW;AAC1C;AAAA,IACF;AAEA,UAAM,uBAAuB,KAAK;AAClC,UAAM,eACJ,sBAAsB,KAAK,SAAS,UAAU,UAC1C,sBAAsB,MAAM,SAAS,IACrC;AAIN,UAAM,gBAAgB,iBAAiB,oBAAoB;AAC3D,QAAI,eAAe;AAKjB,YAAM,eAAe,gBAAgB,wBAAwB,YAAY;AACzE,kBAAY;AAAA,QACV,WAAW,KAAK,KAAK,MAAM,KAAK,UAAU;AAAA;AAAA,UAExC,OAAO,cAAc,aAAa;AAAA,UAClC,GAAI,eAAe,EAAE,uBAAuB,OAAO,IAAI,CAAC;AAAA,QAC1D,CAAC;AAAA,MACH;AAAA,IACF;AAEA,QAAI,iBAAiB,QAAW;AAC9B,kBAAY;AAAA,QACV,WAAW,KAAK,KAAK,MAAM,KAAK,UAAU;AAAA,UACxC,sBAAsB,SAAS,aAAa,eAAe,CAAC,CAAC;AAAA,QAC/D,CAAC;AAAA,MACH;AAAA,IACF;AAAA,EACF,CAAC;AAED,SAAO,cAAc,OAAO,KAAK,WAAW;AAC9C;",
6
6
  "names": []
7
7
  }
@@ -0,0 +1,110 @@
1
+ import { Mark_Type } from "./../../ricos-types/index.js";
2
+ import { formatFontSize } from "./../../_shared/format-font-size.js";
3
+ import { combineTransactionSteps, getChangedRanges } from "./../../tiptap/core/index.js";
4
+ import { Plugin, PluginKey } from "./../../tiptap/pm/state.js";
5
+ import { Decoration, DecorationSet } from "./../../tiptap/pm/view.js";
6
+ import { isSameBlockFontSize, isSizedTextblock, toBlockFontSize } from "./block-font-size.js";
7
+ const createBlockFontSizePlugin = (config) => {
8
+ const key = new PluginKey("block-font-size");
9
+ return new Plugin({
10
+ key,
11
+ state: {
12
+ init: (_config, state) => buildEmptyBlockDecorations(state.doc, config),
13
+ apply: (tr, prev) => tr.docChanged ? buildEmptyBlockDecorations(tr.doc, config) : prev
14
+ },
15
+ props: {
16
+ decorations(state) {
17
+ return key.getState(state);
18
+ }
19
+ },
20
+ appendTransaction: (transactions, oldState, newState) => {
21
+ const tr = newState.tr;
22
+ const transform = transactions.some((transaction) => transaction.docChanged) ? combineTransactionSteps(oldState.doc, [...transactions]) : void 0;
23
+ if (transform) {
24
+ sizeEmptiedBlocks(tr, oldState, newState, transform);
25
+ }
26
+ const cursorBlock = findEmptyCursorBlock(newState);
27
+ let storedMarks = newState.storedMarks;
28
+ if (cursorBlock && transform && leftBlockType(oldState, cursorBlock, transform)) {
29
+ const { $from, $to } = oldState.selection;
30
+ const carriedMarks = storedMarks ?? ($to.parentOffset ? $from.marks() : []);
31
+ if (carriedMarks.some((mark) => mark.type.name === Mark_Type.FONT_SIZE)) {
32
+ storedMarks = carriedMarks.filter((mark) => mark.type.name !== Mark_Type.FONT_SIZE);
33
+ }
34
+ if (cursorBlock.node.attrs.fontSize) {
35
+ tr.setNodeAttribute(cursorBlock.pos, "fontSize", null);
36
+ }
37
+ } else if (cursorBlock && transactions.some((transaction) => transaction.storedMarksSet)) {
38
+ const storedFontSize = toBlockFontSize(storedMarks);
39
+ if (storedFontSize && !isSameBlockFontSize(storedFontSize, cursorBlock.node.attrs.fontSize)) {
40
+ tr.setNodeAttribute(cursorBlock.pos, "fontSize", storedFontSize);
41
+ }
42
+ }
43
+ const blockFontSize = cursorBlock && tr.doc.nodeAt(cursorBlock.pos).attrs.fontSize;
44
+ const fontSizeMarkType = newState.schema.marks[Mark_Type.FONT_SIZE];
45
+ if (blockFontSize && fontSizeMarkType && !fontSizeMarkType.isInSet(storedMarks ?? [])) {
46
+ storedMarks = [...storedMarks ?? [], fontSizeMarkType.create(blockFontSize)];
47
+ }
48
+ if (storedMarks && (tr.steps.length || storedMarks !== newState.storedMarks)) {
49
+ tr.setStoredMarks(storedMarks);
50
+ }
51
+ return tr.steps.length || tr.storedMarksSet ? tr : void 0;
52
+ }
53
+ });
54
+ };
55
+ const buildEmptyBlockDecorations = (doc, config) => {
56
+ const decorations = [];
57
+ doc.descendants((node, pos) => {
58
+ const fontSize = node.attrs.fontSize;
59
+ if (isSizedTextblock(node) && !node.content.size && fontSize) {
60
+ decorations.push(
61
+ Decoration.node(pos, pos + node.nodeSize, {
62
+ // No trailing `;` — see indentation-styling.ts.
63
+ style: `font-size: ${formatFontSize({ value: fontSize.value, unit: fontSize.unit?.toLowerCase() }, config)}`
64
+ })
65
+ );
66
+ }
67
+ return !node.isTextblock;
68
+ });
69
+ return DecorationSet.create(doc, decorations);
70
+ };
71
+ const sizeEmptiedBlocks = (tr, oldState, newState, transform) => {
72
+ const sized = /* @__PURE__ */ new Set();
73
+ getChangedRanges(transform).forEach(({ oldRange }) => {
74
+ oldState.doc.nodesBetween(oldRange.from, oldRange.to, (oldNode, oldPos) => {
75
+ if (isSizedTextblock(oldNode) && oldNode.content.size) {
76
+ const pos = transform.mapping.map(oldPos);
77
+ const node = newState.doc.nodeAt(pos);
78
+ if (node?.type === oldNode.type && !node.content.size && !sized.has(pos)) {
79
+ sized.add(pos);
80
+ const fontSize = toBlockFontSize(oldNode.firstChild?.marks);
81
+ if (!isSameBlockFontSize(fontSize, node.attrs.fontSize)) {
82
+ tr.setNodeAttribute(pos, "fontSize", fontSize);
83
+ }
84
+ }
85
+ }
86
+ return !oldNode.isTextblock;
87
+ });
88
+ });
89
+ };
90
+ const leftBlockType = (oldState, cursorBlock, transform) => {
91
+ const { $from } = oldState.selection;
92
+ return $from.depth > 0 && transform.mapping.map($from.before()) !== cursorBlock.pos && $from.parent.type !== cursorBlock.node.type;
93
+ };
94
+ const findEmptyCursorBlock = ({
95
+ selection
96
+ }) => {
97
+ if (!selection.empty) {
98
+ return void 0;
99
+ }
100
+ const { parent } = selection.$from;
101
+ if (!isSizedTextblock(parent) || parent.content.size !== 0) {
102
+ return void 0;
103
+ }
104
+ return { node: parent, pos: selection.$from.before() };
105
+ };
106
+ export {
107
+ createBlockFontSizePlugin,
108
+ findEmptyCursorBlock
109
+ };
110
+ //# sourceMappingURL=block-font-size-plugin.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/ricos-common-plugins/font-size/block-font-size-plugin.ts"],
4
+ "sourcesContent": ["import type { FontSizeData } from './../../ricos-schema/next-schema/index.js';\nimport { Mark_Type } from './../../ricos-types/index.js';\nimport { type FontSizeCommonConfig, formatFontSize } from './../../_shared/format-font-size.js';\nimport { combineTransactionSteps, getChangedRanges } from './../../tiptap/core/index.js';\nimport type { Node as ProseMirrorNode } from './../../tiptap/pm/model.js';\nimport type { EditorState, Transaction } from './../../tiptap/pm/state.js';\nimport { Plugin, PluginKey } from './../../tiptap/pm/state.js';\nimport type { Transform } from './../../tiptap/pm/transform.js';\nimport { Decoration, DecorationSet } from './../../tiptap/pm/view.js';\n\nimport { isSameBlockFontSize, isSizedTextblock, toBlockFontSize } from './block-font-size.js';\n\ntype Block = { node: ProseMirrorNode; pos: number };\n\n// Only blocks a transaction touched are visited, so loaded content is never rewritten\nexport const createBlockFontSizePlugin = (config?: FontSizeCommonConfig) => {\n const key = new PluginKey<DecorationSet>('block-font-size');\n\n return new Plugin<DecorationSet>({\n key,\n state: {\n init: (_config, state) => buildEmptyBlockDecorations(state.doc, config),\n apply: (tr, prev) => (tr.docChanged ? buildEmptyBlockDecorations(tr.doc, config) : prev),\n },\n props: {\n decorations(state) {\n return key.getState(state);\n },\n },\n appendTransaction: (transactions, oldState, newState) => {\n const tr = newState.tr;\n const transform = transactions.some(transaction => transaction.docChanged)\n ? combineTransactionSteps(oldState.doc, [...transactions])\n : undefined;\n\n if (transform) {\n sizeEmptiedBlocks(tr, oldState, newState, transform);\n }\n\n const cursorBlock = findEmptyCursorBlock(newState);\n let storedMarks = newState.storedMarks;\n\n if (cursorBlock && transform && leftBlockType(oldState, cursorBlock, transform)) {\n // The marks the new block would type at: the stored ones, or the ones `unique-id` carries\n // over from the old cursor when it ids the block (keep the fallback in sync with it).\n const { $from, $to } = oldState.selection;\n const carriedMarks = storedMarks ?? ($to.parentOffset ? $from.marks() : []);\n if (carriedMarks.some(mark => mark.type.name === Mark_Type.FONT_SIZE)) {\n storedMarks = carriedMarks.filter(mark => mark.type.name !== Mark_Type.FONT_SIZE);\n }\n if (cursorBlock.node.attrs.fontSize) {\n tr.setNodeAttribute(cursorBlock.pos, 'fontSize', null);\n }\n } else if (cursorBlock && transactions.some(transaction => transaction.storedMarksSet)) {\n const storedFontSize = toBlockFontSize(storedMarks);\n if (\n storedFontSize &&\n !isSameBlockFontSize(storedFontSize, cursorBlock.node.attrs.fontSize)\n ) {\n tr.setNodeAttribute(cursorBlock.pos, 'fontSize', storedFontSize);\n }\n }\n\n // Attribute steps keep positions, so the block can be re-read after `sizeEmptiedBlocks`\n const blockFontSize = cursorBlock && tr.doc.nodeAt(cursorBlock.pos)!.attrs.fontSize;\n const fontSizeMarkType = newState.schema.marks[Mark_Type.FONT_SIZE];\n if (blockFontSize && fontSizeMarkType && !fontSizeMarkType.isInSet(storedMarks ?? [])) {\n storedMarks = [...(storedMarks ?? []), fontSizeMarkType.create(blockFontSize)];\n }\n\n // Steps reset the transaction's stored marks; put back the ones the state already had.\n if (storedMarks && (tr.steps.length || storedMarks !== newState.storedMarks)) {\n tr.setStoredMarks(storedMarks);\n }\n\n return tr.steps.length || tr.storedMarksSet ? tr : undefined;\n },\n });\n};\n\n// Text renders at its own sizes, so only an empty block is styled with its own size\nconst buildEmptyBlockDecorations = (\n doc: ProseMirrorNode,\n config?: FontSizeCommonConfig\n): DecorationSet => {\n const decorations: Decoration[] = [];\n doc.descendants((node, pos) => {\n const fontSize: FontSizeData | null = node.attrs.fontSize;\n if (isSizedTextblock(node) && !node.content.size && fontSize) {\n decorations.push(\n Decoration.node(pos, pos + node.nodeSize, {\n // No trailing `;` — see indentation-styling.ts.\n style: `font-size: ${formatFontSize({ value: fontSize.value, unit: fontSize.unit?.toLowerCase() }, config)}`,\n })\n );\n }\n return !node.isTextblock;\n });\n return DecorationSet.create(doc, decorations);\n};\n\n// A block whose text was all deleted keeps the size its first character had; the block is looked up\n// from the old side, since a new empty block can sit where an old one started.\nconst sizeEmptiedBlocks = (\n tr: Transaction,\n oldState: EditorState,\n newState: EditorState,\n transform: Transform\n) => {\n const sized = new Set<number>();\n getChangedRanges(transform).forEach(({ oldRange }) => {\n oldState.doc.nodesBetween(oldRange.from, oldRange.to, (oldNode, oldPos) => {\n if (isSizedTextblock(oldNode) && oldNode.content.size) {\n const pos = transform.mapping.map(oldPos);\n const node = newState.doc.nodeAt(pos);\n if (node?.type === oldNode.type && !node.content.size && !sized.has(pos)) {\n sized.add(pos);\n const fontSize = toBlockFontSize(oldNode.firstChild?.marks);\n if (!isSameBlockFontSize(fontSize, node.attrs.fontSize)) {\n tr.setNodeAttribute(pos, 'fontSize', fontSize);\n }\n }\n }\n return !oldNode.isTextblock;\n });\n });\n};\n\n// Enter into a block of another type (heading → paragraph, blockquote → paragraph) starts at the\n// default size. The block the cursor left maps onto itself, so a toolbar toggle of the same block\n// or a split into the block's own type keeps the size.\nconst leftBlockType = (\n oldState: EditorState,\n cursorBlock: Block,\n transform: Transform\n): boolean => {\n const { $from } = oldState.selection;\n return (\n $from.depth > 0 &&\n transform.mapping.map($from.before()) !== cursorBlock.pos &&\n $from.parent.type !== cursorBlock.node.type\n );\n};\n\nexport const findEmptyCursorBlock = ({\n selection,\n}: Pick<EditorState, 'selection'>): Block | undefined => {\n if (!selection.empty) {\n return undefined;\n }\n const { parent } = selection.$from;\n if (!isSizedTextblock(parent) || parent.content.size !== 0) {\n return undefined;\n }\n return { node: parent, pos: selection.$from.before() };\n};\n"],
5
+ "mappings": "AACA,SAAS,iBAAiB;AAC1B,SAAoC,sBAAsB;AAC1D,SAAS,yBAAyB,wBAAwB;AAG1D,SAAS,QAAQ,iBAAiB;AAElC,SAAS,YAAY,qBAAqB;AAE1C,SAAS,qBAAqB,kBAAkB,uBAAuB;AAKhE,MAAM,4BAA4B,CAAC,WAAkC;AAC1E,QAAM,MAAM,IAAI,UAAyB,iBAAiB;AAE1D,SAAO,IAAI,OAAsB;AAAA,IAC/B;AAAA,IACA,OAAO;AAAA,MACL,MAAM,CAAC,SAAS,UAAU,2BAA2B,MAAM,KAAK,MAAM;AAAA,MACtE,OAAO,CAAC,IAAI,SAAU,GAAG,aAAa,2BAA2B,GAAG,KAAK,MAAM,IAAI;AAAA,IACrF;AAAA,IACA,OAAO;AAAA,MACL,YAAY,OAAO;AACjB,eAAO,IAAI,SAAS,KAAK;AAAA,MAC3B;AAAA,IACF;AAAA,IACA,mBAAmB,CAAC,cAAc,UAAU,aAAa;AACvD,YAAM,KAAK,SAAS;AACpB,YAAM,YAAY,aAAa,KAAK,iBAAe,YAAY,UAAU,IACrE,wBAAwB,SAAS,KAAK,CAAC,GAAG,YAAY,CAAC,IACvD;AAEJ,UAAI,WAAW;AACb,0BAAkB,IAAI,UAAU,UAAU,SAAS;AAAA,MACrD;AAEA,YAAM,cAAc,qBAAqB,QAAQ;AACjD,UAAI,cAAc,SAAS;AAE3B,UAAI,eAAe,aAAa,cAAc,UAAU,aAAa,SAAS,GAAG;AAG/E,cAAM,EAAE,OAAO,IAAI,IAAI,SAAS;AAChC,cAAM,eAAe,gBAAgB,IAAI,eAAe,MAAM,MAAM,IAAI,CAAC;AACzE,YAAI,aAAa,KAAK,UAAQ,KAAK,KAAK,SAAS,UAAU,SAAS,GAAG;AACrE,wBAAc,aAAa,OAAO,UAAQ,KAAK,KAAK,SAAS,UAAU,SAAS;AAAA,QAClF;AACA,YAAI,YAAY,KAAK,MAAM,UAAU;AACnC,aAAG,iBAAiB,YAAY,KAAK,YAAY,IAAI;AAAA,QACvD;AAAA,MACF,WAAW,eAAe,aAAa,KAAK,iBAAe,YAAY,cAAc,GAAG;AACtF,cAAM,iBAAiB,gBAAgB,WAAW;AAClD,YACE,kBACA,CAAC,oBAAoB,gBAAgB,YAAY,KAAK,MAAM,QAAQ,GACpE;AACA,aAAG,iBAAiB,YAAY,KAAK,YAAY,cAAc;AAAA,QACjE;AAAA,MACF;AAGA,YAAM,gBAAgB,eAAe,GAAG,IAAI,OAAO,YAAY,GAAG,EAAG,MAAM;AAC3E,YAAM,mBAAmB,SAAS,OAAO,MAAM,UAAU,SAAS;AAClE,UAAI,iBAAiB,oBAAoB,CAAC,iBAAiB,QAAQ,eAAe,CAAC,CAAC,GAAG;AACrF,sBAAc,CAAC,GAAI,eAAe,CAAC,GAAI,iBAAiB,OAAO,aAAa,CAAC;AAAA,MAC/E;AAGA,UAAI,gBAAgB,GAAG,MAAM,UAAU,gBAAgB,SAAS,cAAc;AAC5E,WAAG,eAAe,WAAW;AAAA,MAC/B;AAEA,aAAO,GAAG,MAAM,UAAU,GAAG,iBAAiB,KAAK;AAAA,IACrD;AAAA,EACF,CAAC;AACH;AAGA,MAAM,6BAA6B,CACjC,KACA,WACkB;AAClB,QAAM,cAA4B,CAAC;AACnC,MAAI,YAAY,CAAC,MAAM,QAAQ;AAC7B,UAAM,WAAgC,KAAK,MAAM;AACjD,QAAI,iBAAiB,IAAI,KAAK,CAAC,KAAK,QAAQ,QAAQ,UAAU;AAC5D,kBAAY;AAAA,QACV,WAAW,KAAK,KAAK,MAAM,KAAK,UAAU;AAAA;AAAA,UAExC,OAAO,cAAc,eAAe,EAAE,OAAO,SAAS,OAAO,MAAM,SAAS,MAAM,YAAY,EAAE,GAAG,MAAM,CAAC;AAAA,QAC5G,CAAC;AAAA,MACH;AAAA,IACF;AACA,WAAO,CAAC,KAAK;AAAA,EACf,CAAC;AACD,SAAO,cAAc,OAAO,KAAK,WAAW;AAC9C;AAIA,MAAM,oBAAoB,CACxB,IACA,UACA,UACA,cACG;AACH,QAAM,QAAQ,oBAAI,IAAY;AAC9B,mBAAiB,SAAS,EAAE,QAAQ,CAAC,EAAE,SAAS,MAAM;AACpD,aAAS,IAAI,aAAa,SAAS,MAAM,SAAS,IAAI,CAAC,SAAS,WAAW;AACzE,UAAI,iBAAiB,OAAO,KAAK,QAAQ,QAAQ,MAAM;AACrD,cAAM,MAAM,UAAU,QAAQ,IAAI,MAAM;AACxC,cAAM,OAAO,SAAS,IAAI,OAAO,GAAG;AACpC,YAAI,MAAM,SAAS,QAAQ,QAAQ,CAAC,KAAK,QAAQ,QAAQ,CAAC,MAAM,IAAI,GAAG,GAAG;AACxE,gBAAM,IAAI,GAAG;AACb,gBAAM,WAAW,gBAAgB,QAAQ,YAAY,KAAK;AAC1D,cAAI,CAAC,oBAAoB,UAAU,KAAK,MAAM,QAAQ,GAAG;AACvD,eAAG,iBAAiB,KAAK,YAAY,QAAQ;AAAA,UAC/C;AAAA,QACF;AAAA,MACF;AACA,aAAO,CAAC,QAAQ;AAAA,IAClB,CAAC;AAAA,EACH,CAAC;AACH;AAKA,MAAM,gBAAgB,CACpB,UACA,aACA,cACY;AACZ,QAAM,EAAE,MAAM,IAAI,SAAS;AAC3B,SACE,MAAM,QAAQ,KACd,UAAU,QAAQ,IAAI,MAAM,OAAO,CAAC,MAAM,YAAY,OACtD,MAAM,OAAO,SAAS,YAAY,KAAK;AAE3C;AAEO,MAAM,uBAAuB,CAAC;AAAA,EACnC;AACF,MAAyD;AACvD,MAAI,CAAC,UAAU,OAAO;AACpB,WAAO;AAAA,EACT;AACA,QAAM,EAAE,OAAO,IAAI,UAAU;AAC7B,MAAI,CAAC,iBAAiB,MAAM,KAAK,OAAO,QAAQ,SAAS,GAAG;AAC1D,WAAO;AAAA,EACT;AACA,SAAO,EAAE,MAAM,QAAQ,KAAK,UAAU,MAAM,OAAO,EAAE;AACvD;",
6
+ "names": []
7
+ }
@@ -0,0 +1,49 @@
1
+ import { Node_Type } from "./../../ricos-schema/legacy/wix/rich_content/v1/index.js";
2
+ import {
3
+ FontSizeData_fontType
4
+ } from "./../../ricos-schema/next-schema/index.js";
5
+ import { Mark_Type } from "./../../ricos-types/index.js";
6
+ import { getPxFontSize } from "./../../_shared/get-px-font-size.js";
7
+ const SIZED_TEXTBLOCK_TYPES = [
8
+ Node_Type.PARAGRAPH,
9
+ Node_Type.HEADING,
10
+ Node_Type.CODE_BLOCK,
11
+ Node_Type.BLOCKQUOTE
12
+ ];
13
+ const isSizedTextblock = (node) => SIZED_TEXTBLOCK_TYPES.includes(node.type.name);
14
+ const toBlockFontSize = (marks) => {
15
+ const value = getPxFontSize(marks?.find((mark) => mark.type.name === Mark_Type.FONT_SIZE)?.attrs);
16
+ return value ? { value, unit: FontSizeData_fontType.PX } : null;
17
+ };
18
+ const isSameBlockFontSize = (a, b) => a?.value === b?.value && (a?.unit ?? "PX") === (b?.unit ?? "PX");
19
+ const setSelectedEmptyBlocksFontSize = (tr, fontSize) => {
20
+ if (tr.selection.empty) {
21
+ return;
22
+ }
23
+ tr.selection.ranges.forEach(({ $from, $to }) => {
24
+ tr.doc.nodesBetween($from.pos, $to.pos, (node, pos) => {
25
+ if (isSizedTextblock(node) && !node.content.size && !isSameBlockFontSize(fontSize, node.attrs.fontSize)) {
26
+ tr.setNodeAttribute(pos, "fontSize", fontSize);
27
+ }
28
+ return !node.isTextblock;
29
+ });
30
+ });
31
+ };
32
+ const splitBlockFontSize = (textStyle, content) => {
33
+ const { fontSize = null, ...rest } = textStyle ?? {};
34
+ return { textStyle: textStyle ? rest : null, fontSize: content?.length ? null : fontSize };
35
+ };
36
+ const mergeBlockFontSize = (textStyle, fontSize, content) => {
37
+ const blockFontSize = content?.length ? null : fontSize;
38
+ return textStyle || blockFontSize ? { ...textStyle, ...blockFontSize ? { fontSize: blockFontSize } : {} } : void 0;
39
+ };
40
+ export {
41
+ SIZED_TEXTBLOCK_TYPES,
42
+ isSameBlockFontSize,
43
+ isSizedTextblock,
44
+ mergeBlockFontSize,
45
+ setSelectedEmptyBlocksFontSize,
46
+ splitBlockFontSize,
47
+ toBlockFontSize
48
+ };
49
+ //# sourceMappingURL=block-font-size.js.map
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "sources": ["../../../../src/ricos-common-plugins/font-size/block-font-size.ts"],
4
+ "sourcesContent": ["import { Node_Type } from './../../ricos-schema/legacy/wix/rich_content/v1/index.js';\nimport {\n type FontSizeData,\n FontSizeData_fontType,\n type TextStyle,\n} from './../../ricos-schema/next-schema/index.js';\nimport { Mark_Type } from './../../ricos-types/index.js';\nimport { getPxFontSize } from './../../_shared/get-px-font-size.js';\nimport type { Mark, Node as ProseMirrorNode } from './../../tiptap/pm/model.js';\nimport type { Transaction } from './../../tiptap/pm/state.js';\n\n// Every ProseMirror textblock whose document node carries a `textStyle` the size can be saved to.\nexport const SIZED_TEXTBLOCK_TYPES: readonly string[] = [\n Node_Type.PARAGRAPH,\n Node_Type.HEADING,\n Node_Type.CODE_BLOCK,\n Node_Type.BLOCKQUOTE,\n];\n\nexport const isSizedTextblock = (node: ProseMirrorNode): boolean =>\n SIZED_TEXTBLOCK_TYPES.includes(node.type.name);\n\n// Only an absolute size can become the block's: a relative one is relative to the block's parent on\n// the empty block, but to the block on the text typed into it, so the two would render differently.\nexport const toBlockFontSize = (marks: readonly Mark[] | null | undefined): FontSizeData | null => {\n const value = getPxFontSize(marks?.find(mark => mark.type.name === Mark_Type.FONT_SIZE)?.attrs);\n return value ? { value, unit: FontSizeData_fontType.PX } : null;\n};\n\nexport const isSameBlockFontSize = (a: FontSizeData | null, b: FontSizeData | null): boolean =>\n a?.value === b?.value && (a?.unit ?? 'PX') === (b?.unit ?? 'PX');\n\n// The mark reaches text only, so setting or clearing it on a selection does the same to the empty\n// blocks in it through their block attribute.\nexport const setSelectedEmptyBlocksFontSize = (tr: Transaction, fontSize: FontSizeData | null) => {\n if (tr.selection.empty) {\n return;\n }\n tr.selection.ranges.forEach(({ $from, $to }) => {\n tr.doc.nodesBetween($from.pos, $to.pos, (node, pos) => {\n if (\n isSizedTextblock(node) &&\n !node.content.size &&\n !isSameBlockFontSize(fontSize, node.attrs.fontSize)\n ) {\n tr.setNodeAttribute(pos, 'fontSize', fontSize);\n }\n return !node.isTextblock;\n });\n });\n};\n\n// The block's own size only means something while the block is empty: once it has text, the text's\n// sizes are what render. So it is loaded and saved for empty blocks only, and only an empty block is\n// styled with it (see block-font-size-plugin), though ProseMirror keeps it on a block with text.\nexport const splitBlockFontSize = (\n textStyle: TextStyle | null | undefined,\n content: readonly unknown[] | undefined\n): { textStyle: TextStyle | null; fontSize: FontSizeData | null } => {\n const { fontSize = null, ...rest } = textStyle ?? {};\n return { textStyle: textStyle ? rest : null, fontSize: content?.length ? null : fontSize };\n};\n\nexport const mergeBlockFontSize = (\n textStyle: TextStyle | null | undefined,\n fontSize: FontSizeData | null | undefined,\n content: readonly unknown[] | undefined\n): TextStyle | undefined => {\n const blockFontSize = content?.length ? null : fontSize;\n return textStyle || blockFontSize\n ? { ...textStyle, ...(blockFontSize ? { fontSize: blockFontSize } : {}) }\n : undefined;\n};\n"],
5
+ "mappings": "AAAA,SAAS,iBAAiB;AAC1B;AAAA,EAEE;AAAA,OAEK;AACP,SAAS,iBAAiB;AAC1B,SAAS,qBAAqB;AAKvB,MAAM,wBAA2C;AAAA,EACtD,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AAAA,EACV,UAAU;AACZ;AAEO,MAAM,mBAAmB,CAAC,SAC/B,sBAAsB,SAAS,KAAK,KAAK,IAAI;AAIxC,MAAM,kBAAkB,CAAC,UAAmE;AACjG,QAAM,QAAQ,cAAc,OAAO,KAAK,UAAQ,KAAK,KAAK,SAAS,UAAU,SAAS,GAAG,KAAK;AAC9F,SAAO,QAAQ,EAAE,OAAO,MAAM,sBAAsB,GAAG,IAAI;AAC7D;AAEO,MAAM,sBAAsB,CAAC,GAAwB,MAC1D,GAAG,UAAU,GAAG,UAAU,GAAG,QAAQ,WAAW,GAAG,QAAQ;AAItD,MAAM,iCAAiC,CAAC,IAAiB,aAAkC;AAChG,MAAI,GAAG,UAAU,OAAO;AACtB;AAAA,EACF;AACA,KAAG,UAAU,OAAO,QAAQ,CAAC,EAAE,OAAO,IAAI,MAAM;AAC9C,OAAG,IAAI,aAAa,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,QAAQ;AACrD,UACE,iBAAiB,IAAI,KACrB,CAAC,KAAK,QAAQ,QACd,CAAC,oBAAoB,UAAU,KAAK,MAAM,QAAQ,GAClD;AACA,WAAG,iBAAiB,KAAK,YAAY,QAAQ;AAAA,MAC/C;AACA,aAAO,CAAC,KAAK;AAAA,IACf,CAAC;AAAA,EACH,CAAC;AACH;AAKO,MAAM,qBAAqB,CAChC,WACA,YACmE;AACnE,QAAM,EAAE,WAAW,MAAM,GAAG,KAAK,IAAI,aAAa,CAAC;AACnD,SAAO,EAAE,WAAW,YAAY,OAAO,MAAM,UAAU,SAAS,SAAS,OAAO,SAAS;AAC3F;AAEO,MAAM,qBAAqB,CAChC,WACA,UACA,YAC0B;AAC1B,QAAM,gBAAgB,SAAS,SAAS,OAAO;AAC/C,SAAO,aAAa,gBAChB,EAAE,GAAG,WAAW,GAAI,gBAAgB,EAAE,UAAU,cAAc,IAAI,CAAC,EAAG,IACtE;AACN;",
6
+ "names": []
7
+ }
@@ -1,6 +1,6 @@
1
- var styleDataHash = "2da9fabf";
1
+ var styleDataHash = "d01f5454";
2
2
  const injectCss = (() => {
3
- var css = `.OlRMl{--wds-list-item-select-padding-horizontal-small:6px;--wds-list-item-select-padding-horizontal-medium:6px;--wds-list-item-select-padding-right-small:6px;--wds-list-item-select-padding-right-medium:6px}`;
3
+ var css = `.sBOK0{--wds-list-item-select-padding-horizontal-small:6px;--wds-list-item-select-padding-horizontal-medium:6px;--wds-list-item-select-padding-right-small:6px;--wds-list-item-select-padding-right-medium:6px}`;
4
4
  var isTest = typeof process !== "undefined" && process.env && false;
5
5
  if (isTest || !css || typeof document === "undefined") {
6
6
  return;
@@ -21,7 +21,7 @@ const injectCss = (() => {
21
21
  });
22
22
  injectCss();
23
23
  var font_size_dropdown_default = {
24
- "dropdown": "OlRMl"
24
+ "dropdown": "sBOK0"
25
25
  };
26
26
  export {
27
27
  font_size_dropdown_default as default,
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../../src/ricos-common-plugins/font-size/dropdown/font-size-dropdown.scss"],
4
- "sourcesContent": ["var styleDataHash = '2da9fabf'; \nexport const injectCss = (() => {\n var css = `.OlRMl{--wds-list-item-select-padding-horizontal-small:6px;--wds-list-item-select-padding-horizontal-medium:6px;--wds-list-item-select-padding-right-small:6px;--wds-list-item-select-padding-right-medium:6px}`;\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 \"dropdown\": \"OlRMl\"\n};"],
4
+ "sourcesContent": ["var styleDataHash = 'd01f5454'; \nexport const injectCss = (() => {\n var css = `.sBOK0{--wds-list-item-select-padding-horizontal-small:6px;--wds-list-item-select-padding-horizontal-medium:6px;--wds-list-item-select-padding-right-small:6px;--wds-list-item-select-padding-right-medium:6px}`;\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 \"dropdown\": \"sBOK0\"\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,6BAAQ;AAAA,EACb,YAAY;AACd;",
6
6
  "names": []
7
7
  }
@@ -1,5 +1,13 @@
1
1
  import { Decoration_Type } from "./../../ricos-schema/legacy/wix/rich_content/v1/index.js";
2
+ import { FontSizeData_fontType } from "./../../ricos-schema/next-schema/index.js";
3
+ import { formatFontSize } from "./../../_shared/format-font-size.js";
2
4
  import { createRicosMarkExtension } from "./../../plugin-commons/index.js";
5
+ import { createBlockFontSizePlugin, findEmptyCursorBlock } from "./block-font-size-plugin.js";
6
+ import {
7
+ SIZED_TEXTBLOCK_TYPES,
8
+ isSameBlockFontSize,
9
+ setSelectedEmptyBlocksFontSize
10
+ } from "./block-font-size.js";
3
11
  const fontSize = (config) => createRicosMarkExtension({
4
12
  type: "mark",
5
13
  groups: [],
@@ -20,13 +28,33 @@ const fontSize = (config) => createRicosMarkExtension({
20
28
  addAttributes() {
21
29
  return { unit: "PX", value: null };
22
30
  },
31
+ addGlobalAttributes() {
32
+ return [
33
+ {
34
+ types: [...SIZED_TEXTBLOCK_TYPES],
35
+ attributes: {
36
+ // `textStyle.fontSize` in the document, but its own attribute here: `textStyle` is
37
+ // copied to every split-off block, while the split-off block has to take the size
38
+ // carried by the cursor marks instead (see block-font-size-plugin).
39
+ fontSize: {
40
+ default: null,
41
+ keepOnSplit: false,
42
+ parseHTML: parseBlockFontSize,
43
+ // Carries the size through clipboard HTML. The `font-size` style is a decoration
44
+ // of empty blocks only (see block-font-size-plugin), as a rendered block is not
45
+ // redrawn when text is typed into it.
46
+ renderHTML: (attributes) => attributes.fontSize ? { "data-block-font-size": JSON.stringify(attributes.fontSize) } : {}
47
+ }
48
+ }
49
+ }
50
+ ];
51
+ },
52
+ addProseMirrorPlugins() {
53
+ return [createBlockFontSizePlugin(config)];
54
+ },
23
55
  renderHTML({ HTMLAttributes }) {
24
- const fontSize2 = config?.overrideInlineFontSize?.(
25
- HTMLAttributes.value,
26
- HTMLAttributes.unit?.toLowerCase()
27
- ) ?? `${HTMLAttributes.value}${HTMLAttributes.unit?.toLowerCase()}`;
28
56
  const htmlAttrs = {
29
- style: `font-size: ${fontSize2}`,
57
+ style: `font-size: ${formatFontSize({ value: Number(HTMLAttributes.value), unit: HTMLAttributes.unit?.toLowerCase() }, config)}`,
30
58
  "data-font-size": HTMLAttributes.value
31
59
  };
32
60
  return ["span", mergeAttributes(htmlAttrs), 0];
@@ -50,14 +78,22 @@ const fontSize = (config) => createRicosMarkExtension({
50
78
  },
51
79
  addCommands() {
52
80
  return {
53
- setFontSize: (size) => ({ commands }) => {
81
+ setFontSize: (size) => ({ tr, commands }) => {
54
82
  if (!isValidSizeValue(size)) {
55
83
  return false;
56
84
  }
57
- return commands.setMark(this.name, {
58
- value: size,
59
- unit: "PX"
60
- });
85
+ const blockFontSize = { value: size, unit: "PX" };
86
+ if (!commands.setMark(this.name, blockFontSize)) {
87
+ return false;
88
+ }
89
+ setSelectedEmptyBlocksFontSize(tr, blockFontSize);
90
+ const { storedMarks } = tr;
91
+ const cursorBlock = findEmptyCursorBlock(tr);
92
+ if (cursorBlock && !isSameBlockFontSize(blockFontSize, cursorBlock.node.attrs.fontSize)) {
93
+ tr.setNodeAttribute(cursorBlock.pos, "fontSize", blockFontSize);
94
+ tr.setStoredMarks(storedMarks);
95
+ }
96
+ return true;
61
97
  }
62
98
  };
63
99
  }
@@ -68,6 +104,16 @@ const isValidSizeValue = (size) => {
68
104
  const n = Number(size);
69
105
  return Number.isInteger(n) && n > 0 && n <= 900;
70
106
  };
107
+ const parseBlockFontSize = (element) => {
108
+ try {
109
+ const { value, unit = FontSizeData_fontType.PX } = JSON.parse(
110
+ element.getAttribute("data-block-font-size") ?? "{}"
111
+ );
112
+ return isValidSizeValue(value) && unit in FontSizeData_fontType ? { value: Number(value), unit } : null;
113
+ } catch {
114
+ return null;
115
+ }
116
+ };
71
117
  export {
72
118
  fontSize
73
119
  };
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../../src/ricos-common-plugins/font-size/extension.ts"],
4
- "sourcesContent": ["import { Decoration_Type } from './../../ricos-schema/legacy/wix/rich_content/v1/index.js';\nimport type { DOMOutputSpec } from './../../ricos-types/index.js';\nimport { createRicosMarkExtension } from './../../plugin-commons/index.js';\nimport type { TiptapAdapterServices } from './../../tiptap-editor/initialize-tiptap-adapter.js';\n\nimport type { FontSizeCommonConfig } from './types.js';\n\ndeclare module './../../tiptap/core' {\n interface Commands<ReturnType> {\n fontSize: {\n /**\n * Set a font mark\n */\n setFontSize: (size: number) => ReturnType;\n };\n }\n}\n\nexport const fontSize = (config?: FontSizeCommonConfig) =>\n createRicosMarkExtension<{ services: TiptapAdapterServices }>({\n type: 'mark',\n groups: [],\n name: Decoration_Type.FONT_SIZE,\n reconfigure: (config, extensions, ricosProps, settings, services) => {\n return {\n ...config,\n addOptions: () => {\n return {\n services,\n };\n },\n };\n },\n createExtensionConfig({ mergeAttributes }) {\n return {\n name: this.name,\n addAttributes() {\n return { unit: 'PX', value: null };\n },\n\n renderHTML({ HTMLAttributes }) {\n const fontSize =\n config?.overrideInlineFontSize?.(\n HTMLAttributes.value,\n HTMLAttributes.unit?.toLowerCase()\n ) ?? `${HTMLAttributes.value}${HTMLAttributes.unit?.toLowerCase()}`;\n\n const htmlAttrs = {\n style: `font-size: ${fontSize}`,\n 'data-font-size': HTMLAttributes.value,\n };\n return ['span', mergeAttributes(htmlAttrs), 0] as DOMOutputSpec;\n },\n parseHTML() {\n // Like in draft we parse only internal copy/pasted fontSize values\n return [\n {\n tag: 'span',\n getAttrs: (element: HTMLElement) => {\n const attribute = element.attributes.getNamedItem('data-font-size');\n if (!isValidSizeValue(attribute?.value)) {\n return false;\n }\n return {\n value: Math.min(Math.max(1, Number(attribute?.value)), 900),\n unit: 'PX',\n };\n },\n },\n ];\n },\n addCommands() {\n return {\n setFontSize:\n (size: number) =>\n ({ commands }) => {\n if (!isValidSizeValue(size)) {\n return false;\n }\n\n return commands.setMark(this.name, {\n value: size,\n unit: 'PX',\n });\n },\n };\n },\n };\n },\n });\n\nconst isValidSizeValue = (size: unknown): boolean => {\n const n = Number(size);\n return Number.isInteger(n) && n > 0 && n <= 900;\n};\n"],
5
- "mappings": "AAAA,SAAS,uBAAuB;AAEhC,SAAS,gCAAgC;AAgBlC,MAAM,WAAW,CAAC,WACvB,yBAA8D;AAAA,EAC5D,MAAM;AAAA,EACN,QAAQ,CAAC;AAAA,EACT,MAAM,gBAAgB;AAAA,EACtB,aAAa,CAACA,SAAQ,YAAY,YAAY,UAAU,aAAa;AACnE,WAAO;AAAA,MACL,GAAGA;AAAA,MACH,YAAY,MAAM;AAChB,eAAO;AAAA,UACL;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,sBAAsB,EAAE,gBAAgB,GAAG;AACzC,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,gBAAgB;AACd,eAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA,MACnC;AAAA,MAEA,WAAW,EAAE,eAAe,GAAG;AAC7B,cAAMC,YACJ,QAAQ;AAAA,UACN,eAAe;AAAA,UACf,eAAe,MAAM,YAAY;AAAA,QACnC,KAAK,GAAG,eAAe,KAAK,GAAG,eAAe,MAAM,YAAY,CAAC;AAEnE,cAAM,YAAY;AAAA,UAChB,OAAO,cAAcA,SAAQ;AAAA,UAC7B,kBAAkB,eAAe;AAAA,QACnC;AACA,eAAO,CAAC,QAAQ,gBAAgB,SAAS,GAAG,CAAC;AAAA,MAC/C;AAAA,MACA,YAAY;AAEV,eAAO;AAAA,UACL;AAAA,YACE,KAAK;AAAA,YACL,UAAU,CAAC,YAAyB;AAClC,oBAAM,YAAY,QAAQ,WAAW,aAAa,gBAAgB;AAClE,kBAAI,CAAC,iBAAiB,WAAW,KAAK,GAAG;AACvC,uBAAO;AAAA,cACT;AACA,qBAAO;AAAA,gBACL,OAAO,KAAK,IAAI,KAAK,IAAI,GAAG,OAAO,WAAW,KAAK,CAAC,GAAG,GAAG;AAAA,gBAC1D,MAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,cAAc;AACZ,eAAO;AAAA,UACL,aACE,CAAC,SACD,CAAC,EAAE,SAAS,MAAM;AAChB,gBAAI,CAAC,iBAAiB,IAAI,GAAG;AAC3B,qBAAO;AAAA,YACT;AAEA,mBAAO,SAAS,QAAQ,KAAK,MAAM;AAAA,cACjC,OAAO;AAAA,cACP,MAAM;AAAA,YACR,CAAC;AAAA,UACH;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEH,MAAM,mBAAmB,CAAC,SAA2B;AACnD,QAAM,IAAI,OAAO,IAAI;AACrB,SAAO,OAAO,UAAU,CAAC,KAAK,IAAI,KAAK,KAAK;AAC9C;",
6
- "names": ["config", "fontSize"]
4
+ "sourcesContent": ["import { Decoration_Type } from './../../ricos-schema/legacy/wix/rich_content/v1/index.js';\nimport { type FontSizeData, FontSizeData_fontType } from './../../ricos-schema/next-schema/index.js';\nimport type { DOMOutputSpec } from './../../ricos-types/index.js';\nimport { type FontSizeCommonConfig, formatFontSize } from './../../_shared/format-font-size.js';\nimport { createRicosMarkExtension } from './../../plugin-commons/index.js';\nimport type { TiptapAdapterServices } from './../../tiptap-editor/initialize-tiptap-adapter.js';\n\nimport { createBlockFontSizePlugin, findEmptyCursorBlock } from './block-font-size-plugin.js';\nimport {\n SIZED_TEXTBLOCK_TYPES,\n isSameBlockFontSize,\n setSelectedEmptyBlocksFontSize,\n} from './block-font-size.js';\n\ndeclare module './../../tiptap/core' {\n interface Commands<ReturnType> {\n fontSize: {\n /**\n * Set a font mark\n */\n setFontSize: (size: number) => ReturnType;\n };\n }\n}\n\nexport const fontSize = (config?: FontSizeCommonConfig) =>\n createRicosMarkExtension<{ services: TiptapAdapterServices }>({\n type: 'mark',\n groups: [],\n name: Decoration_Type.FONT_SIZE,\n reconfigure: (config, extensions, ricosProps, settings, services) => {\n return {\n ...config,\n addOptions: () => {\n return {\n services,\n };\n },\n };\n },\n createExtensionConfig({ mergeAttributes }) {\n return {\n name: this.name,\n addAttributes() {\n return { unit: 'PX', value: null };\n },\n\n addGlobalAttributes() {\n return [\n {\n types: [...SIZED_TEXTBLOCK_TYPES],\n attributes: {\n // `textStyle.fontSize` in the document, but its own attribute here: `textStyle` is\n // copied to every split-off block, while the split-off block has to take the size\n // carried by the cursor marks instead (see block-font-size-plugin).\n fontSize: {\n default: null,\n keepOnSplit: false,\n parseHTML: parseBlockFontSize,\n // Carries the size through clipboard HTML. The `font-size` style is a decoration\n // of empty blocks only (see block-font-size-plugin), as a rendered block is not\n // redrawn when text is typed into it.\n renderHTML: attributes =>\n attributes.fontSize\n ? { 'data-block-font-size': JSON.stringify(attributes.fontSize) }\n : {},\n },\n },\n },\n ];\n },\n\n addProseMirrorPlugins() {\n return [createBlockFontSizePlugin(config)];\n },\n\n renderHTML({ HTMLAttributes }) {\n const htmlAttrs = {\n style: `font-size: ${formatFontSize({ value: Number(HTMLAttributes.value), unit: HTMLAttributes.unit?.toLowerCase() }, config)}`,\n 'data-font-size': HTMLAttributes.value,\n };\n return ['span', mergeAttributes(htmlAttrs), 0] as DOMOutputSpec;\n },\n parseHTML() {\n // Like in draft we parse only internal copy/pasted fontSize values\n return [\n {\n tag: 'span',\n getAttrs: (element: HTMLElement) => {\n const attribute = element.attributes.getNamedItem('data-font-size');\n if (!isValidSizeValue(attribute?.value)) {\n return false;\n }\n return {\n value: Math.min(Math.max(1, Number(attribute?.value)), 900),\n unit: 'PX',\n };\n },\n },\n ];\n },\n addCommands() {\n return {\n setFontSize:\n (size: number) =>\n ({ tr, commands }) => {\n if (!isValidSizeValue(size)) {\n return false;\n }\n\n const blockFontSize: FontSizeData = { value: size, unit: 'PX' };\n if (!commands.setMark(this.name, blockFontSize)) {\n return false;\n }\n\n setSelectedEmptyBlocksFontSize(tr, blockFontSize);\n\n // block-font-size-plugin would size the block too, but in an appended transaction,\n // and the editor emits `update` (so `onChange`) only when the dispatched one changes\n // the document. The attribute step drops the stored marks `setMark` just set.\n const { storedMarks } = tr;\n const cursorBlock = findEmptyCursorBlock(tr);\n if (\n cursorBlock &&\n !isSameBlockFontSize(blockFontSize, cursorBlock.node.attrs.fontSize)\n ) {\n tr.setNodeAttribute(cursorBlock.pos, 'fontSize', blockFontSize);\n tr.setStoredMarks(storedMarks);\n }\n return true;\n },\n };\n },\n };\n },\n });\n\nconst isValidSizeValue = (size: unknown): boolean => {\n const n = Number(size);\n return Number.isInteger(n) && n > 0 && n <= 900;\n};\n\nconst parseBlockFontSize = (element: HTMLElement): FontSizeData | null => {\n try {\n const { value, unit = FontSizeData_fontType.PX }: Partial<FontSizeData> = JSON.parse(\n element.getAttribute('data-block-font-size') ?? '{}'\n );\n return isValidSizeValue(value) && unit in FontSizeData_fontType\n ? { value: Number(value), unit }\n : null;\n } catch {\n return null;\n }\n};\n"],
5
+ "mappings": "AAAA,SAAS,uBAAuB;AAChC,SAA4B,6BAA6B;AAEzD,SAAoC,sBAAsB;AAC1D,SAAS,gCAAgC;AAGzC,SAAS,2BAA2B,4BAA4B;AAChE;AAAA,EACE;AAAA,EACA;AAAA,EACA;AAAA,OACK;AAaA,MAAM,WAAW,CAAC,WACvB,yBAA8D;AAAA,EAC5D,MAAM;AAAA,EACN,QAAQ,CAAC;AAAA,EACT,MAAM,gBAAgB;AAAA,EACtB,aAAa,CAACA,SAAQ,YAAY,YAAY,UAAU,aAAa;AACnE,WAAO;AAAA,MACL,GAAGA;AAAA,MACH,YAAY,MAAM;AAChB,eAAO;AAAA,UACL;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EACA,sBAAsB,EAAE,gBAAgB,GAAG;AACzC,WAAO;AAAA,MACL,MAAM,KAAK;AAAA,MACX,gBAAgB;AACd,eAAO,EAAE,MAAM,MAAM,OAAO,KAAK;AAAA,MACnC;AAAA,MAEA,sBAAsB;AACpB,eAAO;AAAA,UACL;AAAA,YACE,OAAO,CAAC,GAAG,qBAAqB;AAAA,YAChC,YAAY;AAAA;AAAA;AAAA;AAAA,cAIV,UAAU;AAAA,gBACR,SAAS;AAAA,gBACT,aAAa;AAAA,gBACb,WAAW;AAAA;AAAA;AAAA;AAAA,gBAIX,YAAY,gBACV,WAAW,WACP,EAAE,wBAAwB,KAAK,UAAU,WAAW,QAAQ,EAAE,IAC9D,CAAC;AAAA,cACT;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MAEA,wBAAwB;AACtB,eAAO,CAAC,0BAA0B,MAAM,CAAC;AAAA,MAC3C;AAAA,MAEA,WAAW,EAAE,eAAe,GAAG;AAC7B,cAAM,YAAY;AAAA,UAChB,OAAO,cAAc,eAAe,EAAE,OAAO,OAAO,eAAe,KAAK,GAAG,MAAM,eAAe,MAAM,YAAY,EAAE,GAAG,MAAM,CAAC;AAAA,UAC9H,kBAAkB,eAAe;AAAA,QACnC;AACA,eAAO,CAAC,QAAQ,gBAAgB,SAAS,GAAG,CAAC;AAAA,MAC/C;AAAA,MACA,YAAY;AAEV,eAAO;AAAA,UACL;AAAA,YACE,KAAK;AAAA,YACL,UAAU,CAAC,YAAyB;AAClC,oBAAM,YAAY,QAAQ,WAAW,aAAa,gBAAgB;AAClE,kBAAI,CAAC,iBAAiB,WAAW,KAAK,GAAG;AACvC,uBAAO;AAAA,cACT;AACA,qBAAO;AAAA,gBACL,OAAO,KAAK,IAAI,KAAK,IAAI,GAAG,OAAO,WAAW,KAAK,CAAC,GAAG,GAAG;AAAA,gBAC1D,MAAM;AAAA,cACR;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAAA,MACA,cAAc;AACZ,eAAO;AAAA,UACL,aACE,CAAC,SACD,CAAC,EAAE,IAAI,SAAS,MAAM;AACpB,gBAAI,CAAC,iBAAiB,IAAI,GAAG;AAC3B,qBAAO;AAAA,YACT;AAEA,kBAAM,gBAA8B,EAAE,OAAO,MAAM,MAAM,KAAK;AAC9D,gBAAI,CAAC,SAAS,QAAQ,KAAK,MAAM,aAAa,GAAG;AAC/C,qBAAO;AAAA,YACT;AAEA,2CAA+B,IAAI,aAAa;AAKhD,kBAAM,EAAE,YAAY,IAAI;AACxB,kBAAM,cAAc,qBAAqB,EAAE;AAC3C,gBACE,eACA,CAAC,oBAAoB,eAAe,YAAY,KAAK,MAAM,QAAQ,GACnE;AACA,iBAAG,iBAAiB,YAAY,KAAK,YAAY,aAAa;AAC9D,iBAAG,eAAe,WAAW;AAAA,YAC/B;AACA,mBAAO;AAAA,UACT;AAAA,QACJ;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAEH,MAAM,mBAAmB,CAAC,SAA2B;AACnD,QAAM,IAAI,OAAO,IAAI;AACrB,SAAO,OAAO,UAAU,CAAC,KAAK,IAAI,KAAK,KAAK;AAC9C;AAEA,MAAM,qBAAqB,CAAC,YAA8C;AACxE,MAAI;AACF,UAAM,EAAE,OAAO,OAAO,sBAAsB,GAAG,IAA2B,KAAK;AAAA,MAC7E,QAAQ,aAAa,sBAAsB,KAAK;AAAA,IAClD;AACA,WAAO,iBAAiB,KAAK,KAAK,QAAQ,wBACtC,EAAE,OAAO,OAAO,KAAK,GAAG,KAAK,IAC7B;AAAA,EACN,QAAQ;AACN,WAAO;AAAA,EACT;AACF;",
6
+ "names": ["config"]
7
7
  }