@wix/patterns-fields 1.65.0 → 1.67.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (339) hide show
  1. package/dist/cjs/auto-field-types/validations.js +9 -13
  2. package/dist/cjs/auto-field-types/validations.js.map +1 -1
  3. package/dist/cjs/components/address/input/address-input.st.css.js +3 -3
  4. package/dist/cjs/components/address/input/address-input.st.css.js.map +1 -1
  5. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  6. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  7. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  8. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  9. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js +2 -2
  10. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  11. package/dist/cjs/components/color-view/cell-color-view.st.css.js +3 -3
  12. package/dist/cjs/components/color-view/cell-color-view.st.css.js.map +1 -1
  13. package/dist/cjs/components/color-view/color-view.st.css.js +4 -4
  14. package/dist/cjs/components/color-view/color-view.st.css.js.map +1 -1
  15. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js +3 -3
  16. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  17. package/dist/cjs/components/document/form-document-field.st.css.js +7 -7
  18. package/dist/cjs/components/document/form-document-field.st.css.js.map +1 -1
  19. package/dist/cjs/components/exclamation/exclamation.st.css.js +5 -5
  20. package/dist/cjs/components/exclamation/exclamation.st.css.js.map +1 -1
  21. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js +5 -5
  22. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  23. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js +3 -3
  24. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js.map +1 -1
  25. package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  26. package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js.map +1 -1
  27. package/dist/cjs/components/media-control/paste-url-button.st.css.js +4 -4
  28. package/dist/cjs/components/media-control/paste-url-button.st.css.js.map +1 -1
  29. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
  30. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  31. package/dist/cjs/components/media-image/media-image.st.css.js +4 -4
  32. package/dist/cjs/components/media-image/media-image.st.css.js.map +1 -1
  33. package/dist/cjs/components/media-image/overlays/overlay.st.css.js +3 -3
  34. package/dist/cjs/components/media-image/overlays/overlay.st.css.js.map +1 -1
  35. package/dist/cjs/components/media-loader/media-loader.st.css.js +3 -3
  36. package/dist/cjs/components/media-loader/media-loader.st.css.js.map +1 -1
  37. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  38. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  39. package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js +3 -3
  40. package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
  41. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  42. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  43. package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js +2 -2
  44. package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js.map +1 -1
  45. package/dist/cjs/components/reference/cell-reference-input.st.css.js +3 -3
  46. package/dist/cjs/components/reference/cell-reference-input.st.css.js.map +1 -1
  47. package/dist/cjs/components/rich-content/cdn/load-ricos.js +135 -0
  48. package/dist/cjs/components/rich-content/cdn/load-ricos.js.map +1 -0
  49. package/dist/cjs/components/rich-content/cdn/types.js +4 -0
  50. package/dist/cjs/components/rich-content/cdn/types.js.map +1 -0
  51. package/dist/cjs/components/rich-content/cell-rich-content-input.js +3 -3
  52. package/dist/cjs/components/rich-content/cell-rich-content-input.js.map +1 -1
  53. package/dist/cjs/components/rich-content/cell-rich-content-view.js +2 -2
  54. package/dist/cjs/components/rich-content/cell-rich-content-view.js.map +1 -1
  55. package/dist/cjs/components/rich-content/editor.js.map +1 -1
  56. package/dist/cjs/components/rich-content/form-rich-content.js +2 -2
  57. package/dist/cjs/components/rich-content/form-rich-content.js.map +1 -1
  58. package/dist/cjs/components/rich-content/hooks/use-plain-text-rich-content.js +5 -3
  59. package/dist/cjs/components/rich-content/hooks/use-plain-text-rich-content.js.map +1 -1
  60. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.js.map +1 -1
  61. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +4 -4
  62. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  63. package/dist/cjs/components/rich-content/rich-content-input/default-value-read-only-input/rich-content-form-read-only-input.js.map +1 -1
  64. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.js.map +1 -1
  65. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +3 -3
  66. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  67. package/dist/cjs/components/rich-content/rich-content-input/form-input/use-rich-content-form-input.js.map +1 -1
  68. package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.js.map +1 -1
  69. package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  70. package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
  71. package/dist/cjs/components/rich-content/rich-content-input/hooks.js +7 -8
  72. package/dist/cjs/components/rich-content/rich-content-input/hooks.js.map +1 -1
  73. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  74. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  75. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/hooks.js +15 -3
  76. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/hooks.js.map +1 -1
  77. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  78. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  79. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  80. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  81. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/types.js.map +1 -1
  82. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/plugins.js +38 -31
  83. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/plugins.js.map +1 -1
  84. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js +27 -22
  85. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js.map +1 -1
  86. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +7 -7
  87. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  88. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.js +10 -9
  89. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.js.map +1 -1
  90. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +5 -5
  91. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  92. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/plugins.js +11 -17
  93. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/plugins.js.map +1 -1
  94. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.js +47 -15
  95. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.js.map +1 -1
  96. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  97. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  98. package/dist/cjs/components/rich-content/rich-content-input/services/rich-content-document-http-service.js.map +1 -1
  99. package/dist/cjs/components/rich-content/rich-content-input/services/types.js.map +1 -1
  100. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  101. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  102. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  103. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  104. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  105. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  106. package/dist/cjs/components/text/text-view.st.css.js +3 -3
  107. package/dist/cjs/components/text/text-view.st.css.js.map +1 -1
  108. package/dist/cjs/exports/ricos-statics-legacy.js +10 -0
  109. package/dist/cjs/exports/ricos-statics-legacy.js.map +1 -0
  110. package/dist/cjs/exports/ricos-statics.js +10 -0
  111. package/dist/cjs/exports/ricos-statics.js.map +1 -0
  112. package/dist/cjs/styles.global.css +1 -1
  113. package/dist/cjs/validations/rich-content.js +26 -6
  114. package/dist/cjs/validations/rich-content.js.map +1 -1
  115. package/dist/esm/auto-field-types/validations.js +10 -13
  116. package/dist/esm/auto-field-types/validations.js.map +1 -1
  117. package/dist/esm/components/address/input/address-input.st.css.js +2 -2
  118. package/dist/esm/components/address/input/address-input.st.css.js.map +1 -1
  119. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
  120. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  121. package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js +2 -2
  122. package/dist/esm/components/audio/audio-player/audio-player.st.css.js +2 -2
  123. package/dist/esm/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  124. package/dist/esm/components/color-view/cell-color-view.st.css.js +2 -2
  125. package/dist/esm/components/color-view/color-view.st.css.js +2 -2
  126. package/dist/esm/components/color-view/color-view.st.css.js.map +1 -1
  127. package/dist/esm/components/delete-dialog/delete-dialog.st.css.js +2 -2
  128. package/dist/esm/components/document/form-document-field.st.css.js +2 -2
  129. package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
  130. package/dist/esm/components/exclamation/exclamation.st.css.js.map +1 -1
  131. package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
  132. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js +2 -2
  133. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js.map +1 -1
  134. package/dist/esm/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  135. package/dist/esm/components/media-control/paste-url-button.st.css.js +2 -2
  136. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js +2 -2
  137. package/dist/esm/components/media-image/media-image.st.css.js +3 -3
  138. package/dist/esm/components/media-image/media-image.st.css.js.map +1 -1
  139. package/dist/esm/components/media-image/overlays/overlay.st.css.js +2 -2
  140. package/dist/esm/components/media-loader/media-loader.st.css.js +2 -2
  141. package/dist/esm/components/media-loader/media-loader.st.css.js.map +1 -1
  142. package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  143. package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  144. package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js +2 -2
  145. package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
  146. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js +2 -2
  147. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  148. package/dist/esm/components/reference/cell-multi-reference-input.st.css.js +2 -2
  149. package/dist/esm/components/reference/cell-reference-input.st.css.js +2 -2
  150. package/dist/esm/components/reference/cell-reference-input.st.css.js.map +1 -1
  151. package/dist/esm/components/rich-content/cdn/load-ricos.js +126 -0
  152. package/dist/esm/components/rich-content/cdn/load-ricos.js.map +1 -0
  153. package/dist/esm/components/rich-content/cdn/types.js +2 -0
  154. package/dist/esm/components/rich-content/cdn/types.js.map +1 -0
  155. package/dist/esm/components/rich-content/cell-rich-content-input.js +1 -1
  156. package/dist/esm/components/rich-content/cell-rich-content-input.js.map +1 -1
  157. package/dist/esm/components/rich-content/cell-rich-content-view.js +1 -1
  158. package/dist/esm/components/rich-content/cell-rich-content-view.js.map +1 -1
  159. package/dist/esm/components/rich-content/editor.js +1 -1
  160. package/dist/esm/components/rich-content/editor.js.map +1 -1
  161. package/dist/esm/components/rich-content/form-rich-content.js +1 -1
  162. package/dist/esm/components/rich-content/form-rich-content.js.map +1 -1
  163. package/dist/esm/components/rich-content/hooks/use-plain-text-rich-content.js +3 -2
  164. package/dist/esm/components/rich-content/hooks/use-plain-text-rich-content.js.map +1 -1
  165. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +2 -2
  166. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +2 -2
  167. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  168. package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  169. package/dist/esm/components/rich-content/rich-content-input/hooks.js +4 -7
  170. package/dist/esm/components/rich-content/rich-content-input/hooks.js.map +1 -1
  171. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
  172. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  173. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/hooks.js +14 -2
  174. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/hooks.js.map +1 -1
  175. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
  176. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  177. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  178. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/plugins.js +49 -41
  179. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/plugins.js.map +1 -1
  180. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js +10 -5
  181. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js.map +1 -1
  182. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +2 -2
  183. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.js +3 -1
  184. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.js.map +1 -1
  185. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +2 -2
  186. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  187. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/plugins.js +31 -37
  188. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/plugins.js.map +1 -1
  189. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.js +11 -5
  190. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.js.map +1 -1
  191. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +2 -2
  192. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  193. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +2 -2
  194. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +2 -2
  195. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +2 -2
  196. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  197. package/dist/esm/components/text/text-view.st.css.js +2 -2
  198. package/dist/esm/components/text/text-view.st.css.js.map +1 -1
  199. package/dist/esm/exports/ricos-statics-legacy.js +6 -0
  200. package/dist/esm/exports/ricos-statics-legacy.js.map +1 -0
  201. package/dist/esm/exports/ricos-statics.js +10 -0
  202. package/dist/esm/exports/ricos-statics.js.map +1 -0
  203. package/dist/esm/styles.global.css +1 -1
  204. package/dist/esm/validations/rich-content.js +18 -1
  205. package/dist/esm/validations/rich-content.js.map +1 -1
  206. package/dist/types/auto-field-types/validations.d.ts +8 -0
  207. package/dist/types/auto-field-types/validations.d.ts.map +1 -1
  208. package/dist/types/components/address/input/address-input.st.css.d.ts.map +1 -1
  209. package/dist/types/components/audio/actions/actions-menu/actions-menu.st.css.d.ts.map +1 -1
  210. package/dist/types/components/audio/audio-player/audio-player.st.css.d.ts.map +1 -1
  211. package/dist/types/components/color-view/color-view.st.css.d.ts.map +1 -1
  212. package/dist/types/components/exclamation/exclamation.st.css.d.ts.map +1 -1
  213. package/dist/types/components/image/thumbnail-replace-overlay.st.css.d.ts.map +1 -1
  214. package/dist/types/components/media-image/media-image.st.css.d.ts.map +1 -1
  215. package/dist/types/components/media-loader/media-loader.st.css.d.ts.map +1 -1
  216. package/dist/types/components/media-tag/web-media-tag/media-tag.st.css.d.ts.map +1 -1
  217. package/dist/types/components/multi-document/cell-multi-document-edit.st.css.d.ts.map +1 -1
  218. package/dist/types/components/multi-document/multi-document-input/form-multi-document.st.css.d.ts.map +1 -1
  219. package/dist/types/components/reference/cell-reference-input.st.css.d.ts.map +1 -1
  220. package/dist/types/components/rich-content/cdn/load-ricos.d.ts +11 -0
  221. package/dist/types/components/rich-content/cdn/load-ricos.d.ts.map +1 -0
  222. package/dist/types/components/rich-content/cdn/types.d.ts +20 -0
  223. package/dist/types/components/rich-content/cdn/types.d.ts.map +1 -0
  224. package/dist/types/components/rich-content/cell-rich-content-input.d.ts +1 -1
  225. package/dist/types/components/rich-content/cell-rich-content-input.d.ts.map +1 -1
  226. package/dist/types/components/rich-content/form-rich-content.d.ts +1 -1
  227. package/dist/types/components/rich-content/form-rich-content.d.ts.map +1 -1
  228. package/dist/types/components/rich-content/hooks/use-plain-text-rich-content.d.ts +1 -1
  229. package/dist/types/components/rich-content/hooks/use-plain-text-rich-content.d.ts.map +1 -1
  230. package/dist/types/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.d.ts +1 -1
  231. package/dist/types/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.d.ts.map +1 -1
  232. package/dist/types/components/rich-content/rich-content-input/default-value-read-only-input/rich-content-form-read-only-input.d.ts +1 -1
  233. package/dist/types/components/rich-content/rich-content-input/default-value-read-only-input/rich-content-form-read-only-input.d.ts.map +1 -1
  234. package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.d.ts +1 -1
  235. package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.d.ts.map +1 -1
  236. package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.d.ts.map +1 -1
  237. package/dist/types/components/rich-content/rich-content-input/form-input/use-rich-content-form-input.d.ts +3 -3
  238. package/dist/types/components/rich-content/rich-content-input/form-input/use-rich-content-form-input.d.ts.map +1 -1
  239. package/dist/types/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.d.ts +1 -1
  240. package/dist/types/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.d.ts.map +1 -1
  241. package/dist/types/components/rich-content/rich-content-input/hooks.d.ts +2 -2
  242. package/dist/types/components/rich-content/rich-content-input/hooks.d.ts.map +1 -1
  243. package/dist/types/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.d.ts.map +1 -1
  244. package/dist/types/components/rich-content/rich-content-input/rich-content-common/hooks.d.ts +11 -1
  245. package/dist/types/components/rich-content/rich-content-input/rich-content-common/hooks.d.ts.map +1 -1
  246. package/dist/types/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.d.ts.map +1 -1
  247. package/dist/types/components/rich-content/rich-content-input/rich-content-common/types.d.ts +1 -1
  248. package/dist/types/components/rich-content/rich-content-input/rich-content-common/types.d.ts.map +1 -1
  249. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/plugins.d.ts +7 -2
  250. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/plugins.d.ts.map +1 -1
  251. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.d.ts +2 -1
  252. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.d.ts.map +1 -1
  253. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.d.ts +1 -1
  254. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.d.ts.map +1 -1
  255. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.d.ts.map +1 -1
  256. package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/plugins.d.ts +6 -15
  257. package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/plugins.d.ts.map +1 -1
  258. package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.d.ts +2 -2
  259. package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.d.ts.map +1 -1
  260. package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.d.ts.map +1 -1
  261. package/dist/types/components/rich-content/rich-content-input/services/types.d.ts +1 -1
  262. package/dist/types/components/rich-content/rich-content-input/services/types.d.ts.map +1 -1
  263. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.d.ts.map +1 -1
  264. package/dist/types/components/text/text-view.st.css.d.ts.map +1 -1
  265. package/dist/types/exports/ricos-statics-legacy.d.ts +6 -0
  266. package/dist/types/exports/ricos-statics-legacy.d.ts.map +1 -0
  267. package/dist/types/exports/ricos-statics.d.ts +10 -0
  268. package/dist/types/exports/ricos-statics.d.ts.map +1 -0
  269. package/dist/types/validations/rich-content.d.ts +9 -1
  270. package/dist/types/validations/rich-content.d.ts.map +1 -1
  271. package/package.json +24 -7
  272. package/src/__tests__/components/rich-content/form-rich-content.spec.tsx +1 -1
  273. package/src/__tests__/components/rich-content/load-ricos.spec.ts +17 -0
  274. package/src/__tests__/components/rich-content-editor.spec.tsx +40 -32
  275. package/src/__tests__/validations/rich-content.spec.ts +1 -1
  276. package/src/auto-field-types/validations.ts +25 -13
  277. package/src/components/address/input/address-input.st.css.ts +2 -2
  278. package/src/components/audio/actions/actions-menu/actions-menu.st.css.ts +2 -2
  279. package/src/components/audio/audio-field/form-audio-field.st.css.ts +2 -2
  280. package/src/components/audio/audio-player/audio-player.st.css.ts +2 -2
  281. package/src/components/color-view/cell-color-view.st.css.ts +2 -2
  282. package/src/components/color-view/color-view.st.css.ts +2 -2
  283. package/src/components/delete-dialog/delete-dialog.st.css.ts +2 -2
  284. package/src/components/document/form-document-field.st.css.ts +2 -2
  285. package/src/components/exclamation/exclamation.st.css.ts +2 -2
  286. package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
  287. package/src/components/image/thumbnail-replace-overlay.st.css.ts +2 -2
  288. package/src/components/media-control/cell-media-edit-shell.st.css.ts +2 -2
  289. package/src/components/media-control/paste-url-button.st.css.ts +2 -2
  290. package/src/components/media-gallery/form-media-gallery-field.st.css.ts +2 -2
  291. package/src/components/media-image/media-image.st.css.ts +3 -3
  292. package/src/components/media-image/overlays/overlay.st.css.ts +2 -2
  293. package/src/components/media-loader/media-loader.st.css.ts +2 -2
  294. package/src/components/media-tag/web-media-tag/media-tag.st.css.ts +2 -2
  295. package/src/components/multi-document/cell-multi-document-edit.st.css.ts +2 -2
  296. package/src/components/multi-document/multi-document-input/form-multi-document.st.css.ts +2 -2
  297. package/src/components/reference/cell-multi-reference-input.st.css.ts +2 -2
  298. package/src/components/reference/cell-reference-input.st.css.ts +2 -2
  299. package/src/components/rich-content/cdn/load-ricos.ts +184 -0
  300. package/src/components/rich-content/cdn/types.ts +21 -0
  301. package/src/components/rich-content/cell-rich-content-input.tsx +2 -2
  302. package/src/components/rich-content/cell-rich-content-view.tsx +1 -1
  303. package/src/components/rich-content/editor.ts +1 -1
  304. package/src/components/rich-content/form-rich-content.tsx +2 -2
  305. package/src/components/rich-content/hooks/use-plain-text-rich-content.ts +4 -3
  306. package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.ts +2 -2
  307. package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.tsx +1 -1
  308. package/src/components/rich-content/rich-content-input/default-value-read-only-input/rich-content-form-read-only-input.tsx +1 -1
  309. package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.ts +2 -2
  310. package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.tsx +1 -1
  311. package/src/components/rich-content/rich-content-input/form-input/use-rich-content-form-input.ts +1 -1
  312. package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.ts +2 -2
  313. package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.tsx +1 -1
  314. package/src/components/rich-content/rich-content-input/hooks.ts +5 -8
  315. package/src/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.ts +2 -2
  316. package/src/components/rich-content/rich-content-input/rich-content-common/hooks.ts +15 -3
  317. package/src/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.ts +2 -2
  318. package/src/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.ts +2 -2
  319. package/src/components/rich-content/rich-content-input/rich-content-common/types.ts +1 -1
  320. package/src/components/rich-content/rich-content-input/rich-content-editor/plugins.ts +59 -72
  321. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts +2 -2
  322. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.tsx +11 -7
  323. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts +2 -2
  324. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.tsx +4 -2
  325. package/src/components/rich-content/rich-content-input/rich-content-viewer/plugins.ts +33 -63
  326. package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts +2 -2
  327. package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.tsx +26 -10
  328. package/src/components/rich-content/rich-content-input/services/rich-content-document-http-service.ts +1 -1
  329. package/src/components/rich-content/rich-content-input/services/types.ts +1 -1
  330. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts +2 -2
  331. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts +2 -2
  332. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts +2 -2
  333. package/src/components/text/text-view.st.css.ts +2 -2
  334. package/src/exports/ricos-statics-legacy.ts +5 -0
  335. package/src/exports/ricos-statics.ts +9 -0
  336. package/src/styles.global.css +1 -1
  337. package/src/validations/rich-content.ts +20 -2
  338. package/utils/@wix/patterns-fields-ricos-statics/legacy/package.json +5 -0
  339. package/utils/@wix/patterns-fields-ricos-statics/package.json +5 -0
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontentformreadonlyinput3897125604";
8
+ var _namespace_ = "richcontentformreadonlyinput3298467833";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"richcontentformreadonlyinput3897125604__root"};
16
+ export var classes = {"root":"richcontentformreadonlyinput3298467833__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,6 +1,6 @@
1
1
  import React, { useEffect, useState } from 'react';
2
2
 
3
- import type { RichContent } from '@wix/ricos';
3
+ import type { RichContent } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
4
4
 
5
5
  import type { FormInputProps } from '../../../../types';
6
6
 
@@ -1,9 +1,9 @@
1
1
  import { useEffect, useMemo, useRef } from 'react';
2
2
 
3
- import { toPlainText, type RichContent } from '@wix/ricos/content';
4
- import { isDataValid } from '../../../auto-field-types';
5
- import { FieldType } from '@wix/patterns-fields-utils/@wix/wix-data-schema-types';
3
+ import type { RichContent } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
6
4
 
5
+ import { loadRicosFromCdn } from '../cdn/load-ricos';
6
+ import { isStrictValidAsync } from '../../../validations/rich-content';
7
7
  import { noop } from '../../../utils';
8
8
 
9
9
  import { useRichContentDocumentService } from './services';
@@ -48,11 +48,7 @@ export const useRichContentAutofix = ({
48
48
  return;
49
49
  }
50
50
 
51
- const isStrictValid = isDataValid(data, FieldType.richContent, {
52
- strict: true,
53
- });
54
-
55
- if (isStrictValid) {
51
+ if (await isStrictValidAsync(data)) {
56
52
  return;
57
53
  }
58
54
 
@@ -64,6 +60,7 @@ export const useRichContentAutofix = ({
64
60
  return;
65
61
  }
66
62
 
63
+ const { toPlainText } = await loadRicosFromCdn();
67
64
  const [plainText, fixedPlainText] = await Promise.all([
68
65
  toPlainText(data),
69
66
  toPlainText(fixedData),
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../../stylable-esm-runti
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "fullscreenmodal491427046";
8
+ var _namespace_ = "fullscreenmodal4250761155";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"fullscreenmodal491427046__root","modalContent":"fullscreenmodal491427046__modalContent"};
16
+ export var classes = {"root":"fullscreenmodal4250761155__root","modalContent":"fullscreenmodal4250761155__modalContent"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,13 +1,25 @@
1
1
  import isEqual from 'lodash/isEqual';
2
2
  import { useRef, useMemo, useState, useEffect } from 'react';
3
3
 
4
- import type { BISettings, RicosDocument } from '@wix/ricos';
5
- import { ensureContentId, fromPlainText } from '@wix/ricos';
4
+ import type { BISettings, RicosDocument } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
5
+ import { ensureContentId } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
6
6
  import { useWixPatternsContainer } from '@wix/bex-core/react';
7
7
 
8
8
  import { CMS_RICOS_APP_ID } from '../consts';
9
9
 
10
- export const INITIAL_INJECTED_RICH_CONTENT = fromPlainText('');
10
+ /**
11
+ * Sentinel for "nothing has been injected into the editor yet".
12
+ *
13
+ * A plain frozen literal rather than `fromPlainText('')`: every use is either an
14
+ * identity comparison against this exact object (`isEqual` in
15
+ * `rich-content-editor.tsx`, which the effect uses to skip injecting) or an empty
16
+ * fallback returned from an async publish that failed. It is never handed to
17
+ * ricos as content, so it does not need ricos to build it — and building it
18
+ * eagerly is what forced the content helpers into module scope.
19
+ */
20
+ export const INITIAL_INJECTED_RICH_CONTENT = Object.freeze({
21
+ nodes: [],
22
+ }) as RicosDocument;
11
23
 
12
24
  const ensureRichContent = (content?: RicosDocument) =>
13
25
  content && ensureContentId(content);
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../../stylable-esm-runti
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "publishloader3884077448";
8
+ var _namespace_ = "publishloader2050121590";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"publishloader3884077448__root","publishLoader":"publishloader3884077448__publishLoader"};
16
+ export var classes = {"root":"publishloader2050121590__root","publishLoader":"publishloader2050121590__publishLoader"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../../stylable-esm-runti
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "togglefullscreenbutton173289788";
8
+ var _namespace_ = "togglefullscreenbutton2304801689";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"togglefullscreenbutton173289788__root"};
16
+ export var classes = {"root":"togglefullscreenbutton2304801689__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,5 +1,5 @@
1
1
  import type Experiments from '@wix/wix-experiments';
2
- import type { RichContent, RicosTheme } from '@wix/ricos';
2
+ import type { RichContent, RicosTheme } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
3
3
 
4
4
  import type { ColorScheme } from '../../types';
5
5
 
@@ -1,86 +1,73 @@
1
1
  import { useMemo } from 'react';
2
2
 
3
- import type { EditorPlugin, EditorPluginOptions } from '@wix/ricos';
4
- import {
5
- pluginTextColor,
6
- pluginTextHighlight,
7
- pluginHeadings,
8
- pluginLink,
9
- pluginLineSpacing,
10
- pluginImage,
11
- pluginVideo,
12
- pluginDivider,
13
- pluginFileUpload,
14
- pluginHtml,
15
- pluginLinkPreview,
16
- LinkPreviewProviders,
17
- pluginVerticalEmbed,
18
- verticalEmbedProviders,
19
- pluginEmoji,
20
- pluginSpoiler,
21
- pluginGiphy,
22
- pluginCodeBlock,
23
- pluginGallery,
24
- pluginCollapsibleList,
25
- pluginIndent,
26
- pluginTable,
27
- pluginLinkButton,
28
- pluginAi,
29
- } from '@wix/ricos';
3
+ import type {
4
+ EditorPlugin,
5
+ EditorPluginOptions,
6
+ } from '@wix/patterns-fields-utils/@wix/patterns-fields-ricos-statics';
30
7
 
8
+ import type { RicosCdnModule } from '../../cdn/types';
31
9
  import { isTruthy } from '../../../../utils';
32
10
  import type { ColorScheme } from '../../types';
33
11
  import { CMS_RICOS_APP_ID } from '../consts';
34
12
 
35
- const { Instagram, Twitter, TikTok } = LinkPreviewProviders;
36
- const { event, booking, product } = verticalEmbedProviders;
37
-
38
13
  const layoutPlugin: EditorPluginOptions = {
39
14
  type: 'LAYOUT',
40
15
  showInQuickActions: true,
41
16
  showInToolbars: true,
42
17
  };
43
18
 
44
- export const usePlugins = (colorScheme?: ColorScheme) => {
45
- return useMemo<(EditorPlugin | EditorPluginOptions)[]>(
46
- () =>
47
- [
48
- pluginHeadings({ inlinePopups: true }),
49
- pluginTextColor({
50
- inlinePopups: true,
51
- colorScheme,
52
- }),
53
- pluginTextHighlight({
54
- inlinePopups: true,
55
- colorScheme,
56
- }),
57
- pluginLineSpacing({ inlinePopups: true }),
58
- pluginIndent(),
59
- pluginLink(),
60
- pluginImage(),
61
- pluginVideo(),
62
- pluginGallery(),
63
- pluginDivider(),
64
- pluginTable({ toolbar: {} }),
65
- pluginAi({
66
- appDefId: CMS_RICOS_APP_ID,
67
- }) as unknown as EditorPlugin,
68
- pluginFileUpload(),
69
- pluginHtml(),
70
- pluginLinkPreview({
71
- exposeEmbedButtons: [Instagram, Twitter, TikTok],
72
- }),
73
- pluginVerticalEmbed({
74
- exposeEmbedButtons: [event, booking, product],
75
- }),
76
- pluginCodeBlock(),
77
- pluginEmoji(),
78
- pluginSpoiler(),
79
- pluginGiphy(),
80
- pluginCollapsibleList(),
81
- pluginLinkButton(),
82
- layoutPlugin,
83
- ].filter(isTruthy),
84
- [colorScheme],
85
- );
19
+ /**
20
+ * Plugin creators come from the CDN module, so this returns an empty list until
21
+ * it has loaded. The editor is not rendered before then, so nothing sees it.
22
+ */
23
+ export const usePlugins = (
24
+ ricos: RicosCdnModule | undefined,
25
+ colorScheme?: ColorScheme,
26
+ ) => {
27
+ return useMemo<(EditorPlugin | EditorPluginOptions)[]>(() => {
28
+ if (!ricos) {
29
+ return [];
30
+ }
31
+
32
+ const { Instagram, Twitter, TikTok } = ricos.LinkPreviewProviders;
33
+ const { event, booking, product } = ricos.verticalEmbedProviders;
34
+
35
+ return [
36
+ ricos.pluginHeadings(),
37
+ ricos.pluginTextColor({
38
+ inlinePopups: true,
39
+ colorScheme,
40
+ }),
41
+ ricos.pluginTextHighlight({
42
+ inlinePopups: true,
43
+ colorScheme,
44
+ }),
45
+ ricos.pluginLineSpacing({ inlinePopups: true }),
46
+ ricos.pluginIndent(),
47
+ ricos.pluginLink(),
48
+ ricos.pluginImage(),
49
+ ricos.pluginVideo(),
50
+ ricos.pluginGallery(),
51
+ ricos.pluginDivider(),
52
+ ricos.pluginTable({ toolbar: {} }),
53
+ ricos.pluginAi({
54
+ appDefId: CMS_RICOS_APP_ID,
55
+ }) as unknown as EditorPlugin,
56
+ ricos.pluginFileUpload(),
57
+ ricos.pluginHtml(),
58
+ ricos.pluginLinkPreview({
59
+ exposeEmbedButtons: [Instagram, Twitter, TikTok],
60
+ }),
61
+ ricos.pluginVerticalEmbed({
62
+ exposeEmbedButtons: [event, booking, product],
63
+ }),
64
+ ricos.pluginCodeBlock(),
65
+ ricos.pluginEmoji(),
66
+ ricos.pluginSpoiler(),
67
+ ricos.pluginGiphy(),
68
+ ricos.pluginCollapsibleList(),
69
+ ricos.pluginLinkButton(),
70
+ layoutPlugin,
71
+ ].filter(isTruthy);
72
+ }, [ricos, colorScheme]);
86
73
  };
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontenteditor2967905748";
8
+ var _namespace_ = "richcontenteditor2982314878";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"richcontenteditor2967905748__root","toolbarContainer":"richcontenteditor2967905748__toolbarContainer","footerToolbarContainer":"richcontenteditor2967905748__footerToolbarContainer","toolbarAndFullScreenButtonWrapper":"richcontenteditor2967905748__toolbarAndFullScreenButtonWrapper","editor":"richcontenteditor2967905748__editor","modalEditor":"richcontenteditor2967905748__modalEditor"};
16
+ export var classes = {"root":"richcontenteditor2982314878__root","toolbarContainer":"richcontenteditor2982314878__toolbarContainer","footerToolbarContainer":"richcontenteditor2982314878__footerToolbarContainer","toolbarAndFullScreenButtonWrapper":"richcontenteditor2982314878__toolbarAndFullScreenButtonWrapper","editor":"richcontenteditor2982314878__editor","modalEditor":"richcontenteditor2982314878__modalEditor"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -14,15 +14,15 @@ import React, {
14
14
  } from 'react';
15
15
 
16
16
  import { Box, Loader } from '@wix/design-system';
17
+ import type { RicosDocument } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
17
18
  import type {
18
19
  ExternalToolbarButton as RicosExternalToolbarButton,
19
- RicosDocument,
20
20
  RicosEditorAPI,
21
21
  RicosEditorProps,
22
22
  ToolbarsConfig,
23
- } from '@wix/ricos';
24
- import { RicosEditor, FORMATTING_BUTTONS } from '@wix/ricos';
23
+ } from '@wix/patterns-fields-utils/@wix/patterns-fields-ricos-statics';
25
24
 
25
+ import { useRicosFromCdn } from '../../cdn/load-ricos';
26
26
  import { useRequestFrameCallback } from '../../../../hooks';
27
27
  import { getActiveElement, getAppRootElement } from '../../../../utils';
28
28
  import { UserSiteFonts } from '../../../user-site-fonts';
@@ -81,7 +81,7 @@ const InsertToolbarSync: FC<ToolbarSyncProps> = ({
81
81
  // Ricos 11's next-runtime proxy is supposed to convert the legacy
82
82
  // `Record<string, ToolbarButtonProps>` into a v2 `ExternalToolbarButton[]`,
83
83
  // but some consumer bundles end up calling through to the inner adapter
84
- // (duplicate `@wix/ricos` copies / unwrapped ref) and we receive the
84
+ // (duplicate ricos copies / unwrapped ref) and we receive the
85
85
  // record shape. Normalize to an array so `.map` is safe, and treat the
86
86
  // non-array (record) shape as ready — otherwise the absolute-positioned
87
87
  // RCELoader overlay stays mounted and the editor row becomes unclickable.
@@ -104,7 +104,9 @@ const InsertToolbarSync: FC<ToolbarSyncProps> = ({
104
104
  InsertToolbarSync.displayName = 'InsertToolbarSync';
105
105
 
106
106
  const filterStaticToolbarButtons = (button: string) =>
107
- button !== FORMATTING_BUTTONS.CODE_BLOCK;
107
+ // Inlined rather than read off the CDN module's `FORMATTING_BUTTONS`: this is
108
+ // a plain string constant and the filter runs before the module has loaded.
109
+ button !== 'CODE_BLOCK';
108
110
 
109
111
  const RCE = forwardRef<RCEHandle, RCEProps & ToggleFullscreenButtonProps>(
110
112
  (
@@ -298,7 +300,9 @@ const RCE = forwardRef<RCEHandle, RCEProps & ToggleFullscreenButtonProps>(
298
300
  );
299
301
 
300
302
  const wixRicosProps = useWixRicosProps();
301
- const plugins = usePlugins(colorScheme);
303
+ const ricos = useRicosFromCdn();
304
+ const plugins = usePlugins(ricos, colorScheme);
305
+ const RicosEditor = ricos?.RicosEditor;
302
306
 
303
307
  return (
304
308
  <div
@@ -330,7 +334,7 @@ const RCE = forwardRef<RCEHandle, RCEProps & ToggleFullscreenButtonProps>(
330
334
  />
331
335
  )}
332
336
 
333
- {!hidden ? (
337
+ {!hidden && RicosEditor ? (
334
338
  <div data-hook={dataHook} className={classes.editor}>
335
339
  <RicosEditor
336
340
  ref={setEditorInstance}
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontenttoolbar4116874708";
8
+ var _namespace_ = "richcontenttoolbar807450189";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"richcontenttoolbar4116874708__root","toolbar":"richcontenttoolbar4116874708__toolbar","toolbarButton":"richcontenttoolbar4116874708__toolbarButton","separator":"richcontenttoolbar4116874708__separator"};
16
+ export var classes = {"root":"richcontenttoolbar807450189__root","toolbar":"richcontenttoolbar807450189__toolbar","toolbarButton":"richcontenttoolbar807450189__toolbarButton","separator":"richcontenttoolbar807450189__separator"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,7 +1,9 @@
1
1
  import React, { Component } from 'react';
2
2
 
3
- import type { ExternalToolbarButton as RicosExternalToolbarButton } from '@wix/ricos';
4
- import { Tooltip } from '@wix/ricos';
3
+ import type { ExternalToolbarButton as RicosExternalToolbarButton } from '@wix/patterns-fields-utils/@wix/patterns-fields-ricos-statics';
4
+ // WDS rather than ricos's Tooltip: this toolbar renders from state the editor
5
+ // pushes out, so it must not depend on the CDN module being loaded.
6
+ import { Tooltip } from '@wix/design-system';
5
7
 
6
8
  import { classes } from './rich-content-toolbar.st.css.js';
7
9
 
@@ -1,68 +1,38 @@
1
1
  import { useMemo } from 'react';
2
2
 
3
- import {
4
- pluginTextColorViewer as pluginTextColor,
5
- pluginTextHighlightViewer as pluginTextHighlight,
6
- pluginLinkViewer as pluginLink,
7
- pluginLineSpacingViewer as pluginLineSpacing,
8
- pluginImageViewer as pluginImage,
9
- pluginVideoViewer as pluginVideo,
10
- pluginDividerViewer as pluginDivider,
11
- pluginFileUploadViewer as pluginFileUpload,
12
- pluginHtmlViewer as pluginHtml,
13
- pluginLinkPreviewViewer as pluginLinkPreview,
14
- pluginVerticalEmbedViewer as pluginVerticalEmbed,
15
- pluginEmojiViewer as pluginEmoji,
16
- pluginSpoilerViewer as pluginSpoiler,
17
- pluginGiphyViewer as pluginGiphy,
18
- pluginCodeBlockViewer as pluginCodeBlock,
19
- pluginGalleryViewer as pluginGallery,
20
- pluginCollapsibleListViewer as pluginCollapsibleList,
21
- pluginTableViewer as pluginTable,
22
- pluginLinkButtonViewer as pluginLinkButton,
23
- } from '@wix/ricos';
24
-
25
- import '@wix/ricos/css/plugin-link-viewer.global.css';
26
- import '@wix/ricos/css/plugin-image-viewer.global.css';
27
- import '@wix/ricos/css/plugin-video-viewer.global.css';
28
- import '@wix/ricos/css/plugin-divider-viewer.global.css';
29
- import '@wix/ricos/css/plugin-file-upload-viewer.global.css';
30
- import '@wix/ricos/css/plugin-html-viewer.global.css';
31
- import '@wix/ricos/css/plugin-link-preview-viewer.global.css';
32
- import '@wix/ricos/css/plugin-vertical-embed-viewer.global.css';
33
- import '@wix/ricos/css/plugin-spoiler-viewer.global.css';
34
- import '@wix/ricos/css/plugin-giphy-viewer.global.css';
35
- import '@wix/ricos/css/plugin-gallery-viewer.global.css';
36
- import '@wix/ricos/css/plugin-collapsible-list-viewer.global.css';
37
- import '@wix/ricos/css/plugin-table-viewer.global.css';
38
- import '@wix/ricos/css/plugin-button-viewer.global.css';
39
-
3
+ import type { RicosCdnModule, ViewerPlugin } from '../../cdn/types';
40
4
  import { isTruthy } from '../../../../utils';
41
5
 
42
- export const usePlugins = () => {
43
- return useMemo(
44
- () =>
45
- [
46
- pluginTextColor(),
47
- pluginTextHighlight(),
48
- pluginLineSpacing(),
49
- pluginLink(),
50
- pluginImage(),
51
- pluginVideo(),
52
- pluginGallery(),
53
- pluginDivider(),
54
- pluginTable(),
55
- pluginFileUpload(),
56
- pluginHtml(),
57
- pluginLinkPreview(),
58
- pluginVerticalEmbed(),
59
- pluginEmoji(),
60
- pluginSpoiler(),
61
- pluginGiphy(),
62
- pluginCodeBlock(),
63
- pluginCollapsibleList(),
64
- pluginLinkButton(),
65
- ].filter(isTruthy),
66
- [],
67
- );
6
+ /**
7
+ * Viewer plugin creators come from the CDN module, so this returns an empty list
8
+ * until it has loaded. The viewer is not rendered before then.
9
+ */
10
+ export const usePlugins = (ricos: RicosCdnModule | undefined): ViewerPlugin[] => {
11
+ return useMemo<ViewerPlugin[]>(() => {
12
+ if (!ricos) {
13
+ return [];
14
+ }
15
+
16
+ return [
17
+ ricos.pluginTextColorViewer(),
18
+ ricos.pluginTextHighlightViewer(),
19
+ ricos.pluginLineSpacingViewer(),
20
+ ricos.pluginLinkViewer(),
21
+ ricos.pluginImageViewer(),
22
+ ricos.pluginVideoViewer(),
23
+ ricos.pluginGalleryViewer(),
24
+ ricos.pluginDividerViewer(),
25
+ ricos.pluginTableViewer(),
26
+ ricos.pluginFileUploadViewer(),
27
+ ricos.pluginHtmlViewer(),
28
+ ricos.pluginLinkPreviewViewer(),
29
+ ricos.pluginVerticalEmbedViewer(),
30
+ ricos.pluginEmojiViewer(),
31
+ ricos.pluginSpoilerViewer(),
32
+ ricos.pluginGiphyViewer(),
33
+ ricos.pluginCodeBlockViewer(),
34
+ ricos.pluginCollapsibleListViewer(),
35
+ ricos.pluginLinkButtonViewer(),
36
+ ].filter(isTruthy);
37
+ }, [ricos]);
68
38
  };
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontentviewer183561878";
8
+ var _namespace_ = "richcontentviewer1968656074";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"richcontentviewer183561878__root","viewer":"richcontentviewer183561878__viewer","modalViewer":"richcontentviewer183561878__modalViewer"};
16
+ export var classes = {"root":"richcontentviewer1968656074__root","viewer":"richcontentviewer1968656074__viewer","modalViewer":"richcontentviewer1968656074__modalViewer"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,9 +1,11 @@
1
1
  import React from 'react';
2
+ import { Box, Loader } from '@wix/design-system';
2
3
 
3
- import type { RicosDocument, RicosViewerProps } from '@wix/ricos';
4
- import { RicosViewer, fromPlainText } from '@wix/ricos';
5
- import '@wix/ricos/css/ricos-viewer.global.css';
4
+ import type { RicosDocument } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
5
+ import { fromPlainText } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
6
+ import type { RicosViewerProps } from '@wix/patterns-fields-utils/@wix/patterns-fields-ricos-statics';
6
7
 
8
+ import { useRicosFromCdn } from '../../cdn/load-ricos';
7
9
  import { useOpenState } from '../../../../hooks';
8
10
  import { preventEvent } from '../../../../utils';
9
11
  import { UserSiteFonts } from '../../../user-site-fonts';
@@ -39,7 +41,9 @@ const RCV: React.FC<RCVProps> = ({
39
41
  ...ricosProps
40
42
  }) => {
41
43
  const wixRicosProps = useWixRicosProps();
42
- const plugins = usePlugins();
44
+ const ricos = useRicosFromCdn();
45
+ const plugins = usePlugins(ricos);
46
+ const RicosViewer = ricos?.RicosViewer;
43
47
 
44
48
  return (
45
49
  <div
@@ -53,12 +57,16 @@ const RCV: React.FC<RCVProps> = ({
53
57
  onToggleFullScreen={onToggleFullscreen}
54
58
  />
55
59
  <div data-hook={dataHook} className={classes.viewer}>
56
- <RicosViewer
57
- {...ricosProps}
58
- {...wixRicosProps}
59
- plugins={plugins}
60
- content={content ?? fromPlainText('')}
61
- />
60
+ {RicosViewer ? (
61
+ <RicosViewer
62
+ {...ricosProps}
63
+ {...wixRicosProps}
64
+ plugins={plugins}
65
+ content={content ?? fromPlainText('')}
66
+ />
67
+ ) : (
68
+ <RCVLoader />
69
+ )}
62
70
  </div>
63
71
  </div>
64
72
  );
@@ -66,6 +74,14 @@ const RCV: React.FC<RCVProps> = ({
66
74
 
67
75
  RCV.displayName = 'RCV';
68
76
 
77
+ /** Shown while the CDN bundle is in flight, matching the editor's RCELoader. */
78
+ const RCVLoader: React.FC = () => (
79
+ <Box align="center" verticalAlign="middle" width="100%">
80
+ <Loader size="small" />
81
+ </Box>
82
+ );
83
+ RCVLoader.displayName = 'RCVLoader';
84
+
69
85
  export interface RichContentViewerProps
70
86
  extends Omit<RCVProps, 'isFullScreen' | 'onToggleFullscreen'> {
71
87
  fullScreenOnly?: boolean;
@@ -1,6 +1,6 @@
1
1
  import type { WixPatternsContainer } from '@wix/bex-core';
2
2
  import { ricosDocuments } from '@wix/rich-content';
3
- import type { RichContent } from '@wix/ricos';
3
+ import type { RichContent } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
4
4
  import { isRicosLikeObject } from '../../../../auto-field-types';
5
5
 
6
6
  import { type RichContentDocumentService } from './types';
@@ -1,4 +1,4 @@
1
- import type { RichContent } from '@wix/ricos';
1
+ import type { RichContent } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
2
2
 
3
3
  export interface RichContentDocumentService {
4
4
  convertToRichContent(document: unknown): Promise<RichContent | undefined>;
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richeditor2134816257";
8
+ var _namespace_ = "richeditor2160083106";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
13
13
  export var st: import("@stylable/runtime").STFunction = _style_;
14
14
 
15
15
  export var namespace = _namespace_;
16
- export var classes = {"root":"richeditor2134816257__root","editor":"richeditor2134816257__editor","header-one":"richeditor2134816257__header-one","header-two":"richeditor2134816257__header-two","header-three":"richeditor2134816257__header-three","header-four":"richeditor2134816257__header-four","header-five":"richeditor2134816257__header-five","header-six":"richeditor2134816257__header-six","paragraph-one":"richeditor2134816257__paragraph-one","unstyled":"richeditor2134816257__unstyled","paragraph-three":"richeditor2134816257__paragraph-three","align-left":"richeditor2134816257__align-left","align-right":"richeditor2134816257__align-right","align-center":"richeditor2134816257__align-center","align-justify":"richeditor2134816257__align-justify","withMargin":"richeditor2134816257__withMargin","dir-rtl":"richeditor2134816257__dir-rtl"};
16
+ export var classes = {"root":"richeditor2160083106__root","editor":"richeditor2160083106__editor","header-one":"richeditor2160083106__header-one","header-two":"richeditor2160083106__header-two","header-three":"richeditor2160083106__header-three","header-four":"richeditor2160083106__header-four","header-five":"richeditor2160083106__header-five","header-six":"richeditor2160083106__header-six","paragraph-one":"richeditor2160083106__paragraph-one","unstyled":"richeditor2160083106__unstyled","paragraph-three":"richeditor2160083106__paragraph-three","align-left":"richeditor2160083106__align-left","align-right":"richeditor2160083106__align-right","align-center":"richeditor2160083106__align-center","align-justify":"richeditor2160083106__align-justify","withMargin":"richeditor2160083106__withMargin","dir-rtl":"richeditor2160083106__dir-rtl"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};