@wix/patterns-fields 1.66.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 (329) 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/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
  119. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  120. package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js +2 -2
  121. package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  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/document/form-document-field.st.css.js.map +1 -1
  130. package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
  131. package/dist/esm/components/exclamation/exclamation.st.css.js.map +1 -1
  132. package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
  133. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js +2 -2
  134. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js.map +1 -1
  135. package/dist/esm/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  136. package/dist/esm/components/media-control/paste-url-button.st.css.js +2 -2
  137. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js +2 -2
  138. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  139. package/dist/esm/components/media-image/media-image.st.css.js +3 -3
  140. package/dist/esm/components/media-image/overlays/overlay.st.css.js +2 -2
  141. package/dist/esm/components/media-loader/media-loader.st.css.js +2 -2
  142. package/dist/esm/components/media-loader/media-loader.st.css.js.map +1 -1
  143. package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  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/rich-content/cdn/load-ricos.js +126 -0
  151. package/dist/esm/components/rich-content/cdn/load-ricos.js.map +1 -0
  152. package/dist/esm/components/rich-content/cdn/types.js +2 -0
  153. package/dist/esm/components/rich-content/cdn/types.js.map +1 -0
  154. package/dist/esm/components/rich-content/cell-rich-content-input.js +1 -1
  155. package/dist/esm/components/rich-content/cell-rich-content-input.js.map +1 -1
  156. package/dist/esm/components/rich-content/cell-rich-content-view.js +1 -1
  157. package/dist/esm/components/rich-content/cell-rich-content-view.js.map +1 -1
  158. package/dist/esm/components/rich-content/editor.js +1 -1
  159. package/dist/esm/components/rich-content/editor.js.map +1 -1
  160. package/dist/esm/components/rich-content/form-rich-content.js +1 -1
  161. package/dist/esm/components/rich-content/form-rich-content.js.map +1 -1
  162. package/dist/esm/components/rich-content/hooks/use-plain-text-rich-content.js +3 -2
  163. package/dist/esm/components/rich-content/hooks/use-plain-text-rich-content.js.map +1 -1
  164. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +2 -2
  165. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +2 -2
  166. package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  167. package/dist/esm/components/rich-content/rich-content-input/hooks.js +4 -7
  168. package/dist/esm/components/rich-content/rich-content-input/hooks.js.map +1 -1
  169. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
  170. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/hooks.js +14 -2
  171. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/hooks.js.map +1 -1
  172. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
  173. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  174. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  175. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/plugins.js +49 -41
  176. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/plugins.js.map +1 -1
  177. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js +10 -5
  178. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js.map +1 -1
  179. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +2 -2
  180. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.js +3 -1
  181. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.js.map +1 -1
  182. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +2 -2
  183. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  184. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/plugins.js +31 -37
  185. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/plugins.js.map +1 -1
  186. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.js +11 -5
  187. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.js.map +1 -1
  188. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +2 -2
  189. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +2 -2
  190. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +2 -2
  191. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +2 -2
  192. package/dist/esm/components/text/text-view.st.css.js +2 -2
  193. package/dist/esm/components/text/text-view.st.css.js.map +1 -1
  194. package/dist/esm/exports/ricos-statics-legacy.js +6 -0
  195. package/dist/esm/exports/ricos-statics-legacy.js.map +1 -0
  196. package/dist/esm/exports/ricos-statics.js +10 -0
  197. package/dist/esm/exports/ricos-statics.js.map +1 -0
  198. package/dist/esm/styles.global.css +1 -1
  199. package/dist/esm/validations/rich-content.js +18 -1
  200. package/dist/esm/validations/rich-content.js.map +1 -1
  201. package/dist/types/auto-field-types/validations.d.ts +8 -0
  202. package/dist/types/auto-field-types/validations.d.ts.map +1 -1
  203. package/dist/types/components/audio/actions/actions-menu/actions-menu.st.css.d.ts.map +1 -1
  204. package/dist/types/components/audio/audio-field/form-audio-field.st.css.d.ts.map +1 -1
  205. package/dist/types/components/audio/audio-player/audio-player.st.css.d.ts.map +1 -1
  206. package/dist/types/components/color-view/color-view.st.css.d.ts.map +1 -1
  207. package/dist/types/components/document/form-document-field.st.css.d.ts.map +1 -1
  208. package/dist/types/components/exclamation/exclamation.st.css.d.ts.map +1 -1
  209. package/dist/types/components/image/thumbnail-replace-overlay.st.css.d.ts.map +1 -1
  210. package/dist/types/components/media-gallery/form-media-gallery-field.st.css.d.ts.map +1 -1
  211. package/dist/types/components/media-loader/media-loader.st.css.d.ts.map +1 -1
  212. package/dist/types/components/multi-document/cell-multi-document-edit.st.css.d.ts.map +1 -1
  213. package/dist/types/components/multi-document/multi-document-input/form-multi-document.st.css.d.ts.map +1 -1
  214. package/dist/types/components/rich-content/cdn/load-ricos.d.ts +11 -0
  215. package/dist/types/components/rich-content/cdn/load-ricos.d.ts.map +1 -0
  216. package/dist/types/components/rich-content/cdn/types.d.ts +20 -0
  217. package/dist/types/components/rich-content/cdn/types.d.ts.map +1 -0
  218. package/dist/types/components/rich-content/cell-rich-content-input.d.ts +1 -1
  219. package/dist/types/components/rich-content/cell-rich-content-input.d.ts.map +1 -1
  220. package/dist/types/components/rich-content/form-rich-content.d.ts +1 -1
  221. package/dist/types/components/rich-content/form-rich-content.d.ts.map +1 -1
  222. package/dist/types/components/rich-content/hooks/use-plain-text-rich-content.d.ts +1 -1
  223. package/dist/types/components/rich-content/hooks/use-plain-text-rich-content.d.ts.map +1 -1
  224. package/dist/types/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.d.ts +1 -1
  225. package/dist/types/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.d.ts.map +1 -1
  226. package/dist/types/components/rich-content/rich-content-input/default-value-read-only-input/rich-content-form-read-only-input.d.ts +1 -1
  227. 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
  228. package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.d.ts +1 -1
  229. package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.d.ts.map +1 -1
  230. package/dist/types/components/rich-content/rich-content-input/form-input/use-rich-content-form-input.d.ts +3 -3
  231. package/dist/types/components/rich-content/rich-content-input/form-input/use-rich-content-form-input.d.ts.map +1 -1
  232. package/dist/types/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.d.ts +1 -1
  233. package/dist/types/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.d.ts.map +1 -1
  234. package/dist/types/components/rich-content/rich-content-input/hooks.d.ts +2 -2
  235. package/dist/types/components/rich-content/rich-content-input/hooks.d.ts.map +1 -1
  236. package/dist/types/components/rich-content/rich-content-input/rich-content-common/hooks.d.ts +11 -1
  237. package/dist/types/components/rich-content/rich-content-input/rich-content-common/hooks.d.ts.map +1 -1
  238. 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
  239. package/dist/types/components/rich-content/rich-content-input/rich-content-common/types.d.ts +1 -1
  240. package/dist/types/components/rich-content/rich-content-input/rich-content-common/types.d.ts.map +1 -1
  241. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/plugins.d.ts +7 -2
  242. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/plugins.d.ts.map +1 -1
  243. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.d.ts +2 -1
  244. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.d.ts.map +1 -1
  245. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.d.ts +1 -1
  246. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.d.ts.map +1 -1
  247. package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.d.ts.map +1 -1
  248. package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/plugins.d.ts +6 -15
  249. package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/plugins.d.ts.map +1 -1
  250. package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.d.ts +2 -2
  251. package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.d.ts.map +1 -1
  252. package/dist/types/components/rich-content/rich-content-input/services/types.d.ts +1 -1
  253. package/dist/types/components/rich-content/rich-content-input/services/types.d.ts.map +1 -1
  254. package/dist/types/components/text/text-view.st.css.d.ts.map +1 -1
  255. package/dist/types/exports/ricos-statics-legacy.d.ts +6 -0
  256. package/dist/types/exports/ricos-statics-legacy.d.ts.map +1 -0
  257. package/dist/types/exports/ricos-statics.d.ts +10 -0
  258. package/dist/types/exports/ricos-statics.d.ts.map +1 -0
  259. package/dist/types/validations/rich-content.d.ts +9 -1
  260. package/dist/types/validations/rich-content.d.ts.map +1 -1
  261. package/package.json +24 -7
  262. package/src/__tests__/components/rich-content/form-rich-content.spec.tsx +1 -1
  263. package/src/__tests__/components/rich-content/load-ricos.spec.ts +17 -0
  264. package/src/__tests__/components/rich-content-editor.spec.tsx +40 -32
  265. package/src/__tests__/validations/rich-content.spec.ts +1 -1
  266. package/src/auto-field-types/validations.ts +25 -13
  267. package/src/components/address/input/address-input.st.css.ts +2 -2
  268. package/src/components/audio/actions/actions-menu/actions-menu.st.css.ts +2 -2
  269. package/src/components/audio/audio-field/form-audio-field.st.css.ts +2 -2
  270. package/src/components/audio/audio-player/audio-player.st.css.ts +2 -2
  271. package/src/components/color-view/cell-color-view.st.css.ts +2 -2
  272. package/src/components/color-view/color-view.st.css.ts +2 -2
  273. package/src/components/delete-dialog/delete-dialog.st.css.ts +2 -2
  274. package/src/components/document/form-document-field.st.css.ts +2 -2
  275. package/src/components/exclamation/exclamation.st.css.ts +2 -2
  276. package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
  277. package/src/components/image/thumbnail-replace-overlay.st.css.ts +2 -2
  278. package/src/components/media-control/cell-media-edit-shell.st.css.ts +2 -2
  279. package/src/components/media-control/paste-url-button.st.css.ts +2 -2
  280. package/src/components/media-gallery/form-media-gallery-field.st.css.ts +2 -2
  281. package/src/components/media-image/media-image.st.css.ts +3 -3
  282. package/src/components/media-image/overlays/overlay.st.css.ts +2 -2
  283. package/src/components/media-loader/media-loader.st.css.ts +2 -2
  284. package/src/components/media-tag/web-media-tag/media-tag.st.css.ts +2 -2
  285. package/src/components/multi-document/cell-multi-document-edit.st.css.ts +2 -2
  286. package/src/components/multi-document/multi-document-input/form-multi-document.st.css.ts +2 -2
  287. package/src/components/reference/cell-multi-reference-input.st.css.ts +2 -2
  288. package/src/components/reference/cell-reference-input.st.css.ts +2 -2
  289. package/src/components/rich-content/cdn/load-ricos.ts +184 -0
  290. package/src/components/rich-content/cdn/types.ts +21 -0
  291. package/src/components/rich-content/cell-rich-content-input.tsx +2 -2
  292. package/src/components/rich-content/cell-rich-content-view.tsx +1 -1
  293. package/src/components/rich-content/editor.ts +1 -1
  294. package/src/components/rich-content/form-rich-content.tsx +2 -2
  295. package/src/components/rich-content/hooks/use-plain-text-rich-content.ts +4 -3
  296. package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.ts +2 -2
  297. package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.tsx +1 -1
  298. package/src/components/rich-content/rich-content-input/default-value-read-only-input/rich-content-form-read-only-input.tsx +1 -1
  299. package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.ts +2 -2
  300. package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.tsx +1 -1
  301. package/src/components/rich-content/rich-content-input/form-input/use-rich-content-form-input.ts +1 -1
  302. package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.ts +2 -2
  303. package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.tsx +1 -1
  304. package/src/components/rich-content/rich-content-input/hooks.ts +5 -8
  305. package/src/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.ts +2 -2
  306. package/src/components/rich-content/rich-content-input/rich-content-common/hooks.ts +15 -3
  307. package/src/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.ts +2 -2
  308. package/src/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.ts +2 -2
  309. package/src/components/rich-content/rich-content-input/rich-content-common/types.ts +1 -1
  310. package/src/components/rich-content/rich-content-input/rich-content-editor/plugins.ts +59 -72
  311. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts +2 -2
  312. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.tsx +11 -7
  313. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts +2 -2
  314. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.tsx +4 -2
  315. package/src/components/rich-content/rich-content-input/rich-content-viewer/plugins.ts +33 -63
  316. package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts +2 -2
  317. package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.tsx +26 -10
  318. package/src/components/rich-content/rich-content-input/services/rich-content-document-http-service.ts +1 -1
  319. package/src/components/rich-content/rich-content-input/services/types.ts +1 -1
  320. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts +2 -2
  321. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts +2 -2
  322. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts +2 -2
  323. package/src/components/text/text-view.st.css.ts +2 -2
  324. package/src/exports/ricos-statics-legacy.ts +5 -0
  325. package/src/exports/ricos-statics.ts +9 -0
  326. package/src/styles.global.css +1 -1
  327. package/src/validations/rich-content.ts +20 -2
  328. package/utils/@wix/patterns-fields-ricos-statics/legacy/package.json +5 -0
  329. package/utils/@wix/patterns-fields-ricos-statics/package.json +5 -0
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "cellmediaeditshell3100626680";
8
+ var _namespace_ = "cellmediaeditshell1622194208";
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":"cellmediaeditshell3100626680__root"};
16
+ export var classes = {"root":"cellmediaeditshell1622194208__root"};
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-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "pasteurlbutton2664669787";
8
+ var _namespace_ = "pasteurlbutton1961113582";
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":"pasteurlbutton2664669787__root","iconButtonTooltip":"pasteurlbutton2664669787__iconButtonTooltip","iconButton":"pasteurlbutton2664669787__iconButton"};
16
+ export var classes = {"root":"pasteurlbutton1961113582__root","iconButtonTooltip":"pasteurlbutton1961113582__iconButtonTooltip","iconButton":"pasteurlbutton1961113582__iconButton"};
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-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "formmediagalleryfield622057319";
8
+ var _namespace_ = "formmediagalleryfield3220355152";
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":"formmediagalleryfield622057319__root","container":"formmediagalleryfield622057319__container","viewBox":"formmediagalleryfield622057319__viewBox","addItemWrapper":"formmediagalleryfield622057319__addItemWrapper","addItem":"formmediagalleryfield622057319__addItem","overlay":"formmediagalleryfield622057319__overlay","image":"formmediagalleryfield622057319__image","previewImage":"formmediagalleryfield622057319__previewImage","previewVideo":"formmediagalleryfield622057319__previewVideo"};
16
+ export var classes = {"root":"formmediagalleryfield3220355152__root","container":"formmediagalleryfield3220355152__container","viewBox":"formmediagalleryfield3220355152__viewBox","addItemWrapper":"formmediagalleryfield3220355152__addItemWrapper","addItem":"formmediagalleryfield3220355152__addItem","overlay":"formmediagalleryfield3220355152__overlay","image":"formmediagalleryfield3220355152__image","previewImage":"formmediagalleryfield3220355152__previewImage","previewVideo":"formmediagalleryfield3220355152__previewVideo"};
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-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "mediaimage323379179";
8
+ var _namespace_ = "mediaimage935656045";
9
9
  var _style_ = classesRuntime.bind(null, _namespace_);
10
10
 
11
11
  export var cssStates = statesRuntime.bind(null, _namespace_);
@@ -13,12 +13,12 @@ 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":"mediaimage323379179__root"};
16
+ export var classes = {"root":"mediaimage935656045__root"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
20
20
  export var stVars = {};
21
- export var vars = {"wds-color-red-200":"--wds-color-red-200","wsr-color-R20":"--wsr-color-R20","wds-color-black-550":"--wds-color-black-550","wsr-color-D55":"--wsr-color-D55","from":"--mediaimage323379179-from","to":"--mediaimage323379179-to"};
21
+ export var vars = {"wds-color-red-200":"--wds-color-red-200","wsr-color-R20":"--wsr-color-R20","wds-color-black-550":"--wds-color-black-550","wsr-color-D55":"--wsr-color-D55","from":"--mediaimage935656045-from","to":"--mediaimage935656045-to"};
22
22
 
23
23
 
24
24
 
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js"
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "overlay2137816035";
8
+ var _namespace_ = "overlay4040300395";
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":"overlay2137816035__root","iconOverlay":"overlay2137816035__iconOverlay"};
16
+ export var classes = {"root":"overlay4040300395__root","iconOverlay":"overlay4040300395__iconOverlay"};
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-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "medialoader1252333309";
8
+ var _namespace_ = "medialoader610244478";
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":"medialoader1252333309__root","loader":"medialoader1252333309__loader"};
16
+ export var classes = {"root":"medialoader610244478__root","loader":"medialoader610244478__loader"};
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-runtime.js"
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "mediatag917270223";
8
+ var _namespace_ = "mediatag148686631";
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":"mediatag917270223__root"};
16
+ export var classes = {"root":"mediatag148686631__root"};
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-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "cellmultidocumentedit1896878393";
8
+ var _namespace_ = "cellmultidocumentedit492449782";
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":"cellmultidocumentedit1896878393__root","chipTrigger":"cellmultidocumentedit1896878393__chipTrigger"};
16
+ export var classes = {"root":"cellmultidocumentedit492449782__root","chipTrigger":"cellmultidocumentedit492449782__chipTrigger"};
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-runtime.js"
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "formmultidocument4263958338";
8
+ var _namespace_ = "formmultidocument898197968";
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":"formmultidocument4263958338__root","viewRoot":"formmultidocument4263958338__viewRoot","singleViewWrapper":"formmultidocument4263958338__singleViewWrapper","addDocumentButton":"formmultidocument4263958338__addDocumentButton"};
16
+ export var classes = {"root":"formmultidocument898197968__root","viewRoot":"formmultidocument898197968__viewRoot","singleViewWrapper":"formmultidocument898197968__singleViewWrapper","addDocumentButton":"formmultidocument898197968__addDocumentButton"};
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-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "cellmultireferenceinput2646909186";
8
+ var _namespace_ = "cellmultireferenceinput1361409799";
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":"cellmultireferenceinput2646909186__root"};
16
+ export var classes = {"root":"cellmultireferenceinput1361409799__root"};
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-runtime.js";
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "cellreferenceinput1475045378";
8
+ var _namespace_ = "cellreferenceinput3956087750";
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":"cellreferenceinput1475045378__root","autocomplete":"cellreferenceinput1475045378__autocomplete"};
16
+ export var classes = {"root":"cellreferenceinput3956087750__root","autocomplete":"cellreferenceinput3956087750__autocomplete"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -0,0 +1,184 @@
1
+ import React, { useEffect, useState } from 'react';
2
+ import ReactDOM from 'react-dom';
3
+
4
+ import type { RicosCdnModule } from './types';
5
+
6
+ /**
7
+ * Pinned exactly, not to a range. The npm `@wix/ricos` used for the synchronous
8
+ * content helpers and this artifact must not drift — two different ricos
9
+ * versions in one page means two schema versions, and content written by one may
10
+ * not validate in the other.
11
+ *
12
+ * This number is Falcon's build counter for wix-private/patterns-deps, not the
13
+ * npm version of the same package. Falcon bumps it on every master build,
14
+ * including builds that publish nothing, so the two drift apart and occasionally
15
+ * coincide again — as they happen to right now. A wrong-but-existing version
16
+ * returns 200 and silently loads a different ricos, so confirm the artifact
17
+ * rather than the number:
18
+ *
19
+ * curl -s <url> | grep -c <ricos version> # ricos-schema/next-schema/version.js
20
+ */
21
+ const RICOS_STATICS_VERSION = '1.7.0';
22
+ const RICOS_STATICS_URL =
23
+ `https://static.parastorage.com/services/patterns-fields-ricos-statics/${RICOS_STATICS_VERSION}/ricos.umd.min.js` as const;
24
+
25
+ /** UMD global declared by the statics bundle (`library: 'PatternsRicos'`). */
26
+ const GLOBAL_NAME = 'PatternsRicos';
27
+
28
+ type LoaderWindow = Window & {
29
+ PatternsRicos?: RicosCdnModule;
30
+ // The bundle's UMD externals. Business Manager may already provide these;
31
+ // we fill them in from the host app's own copies when it does not.
32
+ react?: typeof React;
33
+ reactDOM?: typeof ReactDOM;
34
+ requirejs?: (
35
+ deps: string[],
36
+ // Undefined when the requested id resolves to nothing — which is what asking
37
+ // for this bundle by URL does, since its `define` is named.
38
+ onOk: (mod: RicosCdnModule | undefined) => void,
39
+ onErr: (error: Error) => void,
40
+ ) => void;
41
+ };
42
+
43
+ /**
44
+ * The bundle externalises react/react-dom. Its UMD wrapper resolves them as AMD
45
+ * dependencies when requirejs is present, and off these globals when it is not —
46
+ * without them it throws `undefined (reading 'createContext')` while evaluating
47
+ * and never defines `PatternsRicos`. Pointing them at the host app's own copies
48
+ * is also what keeps one React on the page; a second would make every hook
49
+ * inside the editor throw.
50
+ */
51
+ const provideReactGlobals = (win: LoaderWindow) => {
52
+ win.react = win.react ?? React;
53
+ win.reactDOM = win.reactDOM ?? ReactDOM;
54
+ };
55
+
56
+ const appendScript = (url: string) =>
57
+ new Promise<void>((resolve, reject) => {
58
+ const script = document.createElement('script');
59
+ script.type = 'text/javascript';
60
+ script.src = url;
61
+ script.crossOrigin = 'anonymous';
62
+ script.onerror = () => reject(new Error(`Failed to load ${url}`));
63
+ script.onload = () => resolve();
64
+ document.head.appendChild(script);
65
+ });
66
+
67
+ /**
68
+ * jsdom cannot fetch the CDN, so under test we require the package the artifact
69
+ * is built from — same export list, so the surface matches by construction.
70
+ *
71
+ * This `require` is dead-code-eliminated in production builds, which is the whole
72
+ * point: the editor and viewer must never enter a consumer's graph. Verify with
73
+ * `grep -r 'ricos' <consumer>/dist` after touching this.
74
+ */
75
+ const loadForTests = (): RicosCdnModule | undefined => {
76
+ // The `require`s must sit inside the consequent of a statically-false
77
+ // condition. An early `return` for the non-test case leaves them as
78
+ // unreachable code *after* the `if`, which webpack does not prune — that
79
+ // silently puts the whole editor back in every consumer's graph.
80
+ if (process.env.NODE_ENV === 'test') {
81
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
82
+ return require('@wix/patterns-fields-utils/@wix/patterns-fields-ricos-statics') as RicosCdnModule;
83
+ }
84
+ return undefined;
85
+ };
86
+
87
+ const load = async (): Promise<RicosCdnModule> => {
88
+ const forTests = loadForTests();
89
+ if (forTests) {
90
+ return forTests;
91
+ }
92
+
93
+ const win = window as unknown as LoaderWindow;
94
+
95
+ // The bundle is UMD with a named `define`, so under Business Manager's
96
+ // requirejs it takes the AMD branch: it registers under GLOBAL_NAME and never
97
+ // assigns the global. Asking for it by URL loads the file but resolves with
98
+ // `undefined`, because nothing is defined under the URL's id — so fetch it,
99
+ // then ask again by the name it registered itself as.
100
+ if (win.requirejs) {
101
+ return new Promise<RicosCdnModule>((resolve, reject) => {
102
+ const fail = (error: unknown) =>
103
+ reject(
104
+ error instanceof Error
105
+ ? error
106
+ : new Error(
107
+ `Failed to load ${RICOS_STATICS_URL}: ${String(error)}`,
108
+ ),
109
+ );
110
+
111
+ win.requirejs!(
112
+ [RICOS_STATICS_URL],
113
+ () =>
114
+ win.requirejs!(
115
+ [GLOBAL_NAME],
116
+ (mod) =>
117
+ mod
118
+ ? resolve(mod)
119
+ : fail(
120
+ new Error(
121
+ `${RICOS_STATICS_URL} loaded but defined no "${GLOBAL_NAME}" module`,
122
+ ),
123
+ ),
124
+ fail,
125
+ ),
126
+ fail,
127
+ );
128
+ });
129
+ }
130
+
131
+ provideReactGlobals(win);
132
+ await appendScript(RICOS_STATICS_URL);
133
+
134
+ const mod = win[GLOBAL_NAME];
135
+ if (!mod) {
136
+ throw new Error(
137
+ `${RICOS_STATICS_URL} loaded but did not define window.${GLOBAL_NAME}`,
138
+ );
139
+ }
140
+ return mod;
141
+ };
142
+
143
+ let pending: Promise<RicosCdnModule> | undefined;
144
+
145
+ /** Loads the bundle once per page; every caller shares the same promise. */
146
+ export const loadRicosFromCdn = (): Promise<RicosCdnModule> => {
147
+ pending = pending ?? load();
148
+ return pending;
149
+ };
150
+
151
+ /**
152
+ * Returns the module once loaded, `undefined` while in flight. A caller must
153
+ * render something in the meantime — `RCELoader` in the editor, `RCVLoader` in
154
+ * the viewer. Returning `null` instead leaves a blank area for the duration of
155
+ * the fetch.
156
+ */
157
+ export const useRicosFromCdn = (): RicosCdnModule | undefined => {
158
+ // Resolved on the first render under test, so specs see a mounted editor
159
+ // rather than the pre-load `null`.
160
+ const [mod, setMod] = useState<RicosCdnModule | undefined>(loadForTests);
161
+
162
+ useEffect(() => {
163
+ if (mod) {
164
+ return;
165
+ }
166
+ let cancelled = false;
167
+ loadRicosFromCdn().then(
168
+ (loaded) => {
169
+ if (!cancelled) {
170
+ setMod(loaded);
171
+ }
172
+ },
173
+ (error) => {
174
+ // Nothing to fall back to — surface it rather than hanging on a spinner.
175
+ console.error('[rich-content] failed to load ricos from CDN', error);
176
+ },
177
+ );
178
+ return () => {
179
+ cancelled = true;
180
+ };
181
+ }, [mod]);
182
+
183
+ return mod;
184
+ };
@@ -0,0 +1,21 @@
1
+ import type { pluginLinkViewer } from '@wix/patterns-fields-utils/@wix/patterns-fields-ricos-statics';
2
+
3
+ /**
4
+ * Shape of the CDN artifact's UMD global.
5
+ *
6
+ * `patterns-fields-ricos-statics` is the source the artifact is built from, so its
7
+ * export list is the global's surface by construction. Taking the types from
8
+ * there rather than from `@wix/ricos` keeps ricos out of this package's
9
+ * dependencies; it is vendored under `fields-utils` like the other bundled
10
+ * packages. `typeof import(...)` is erased, so nothing reaches a consumer's graph
11
+ * — a value import from it would pull in the whole editor.
12
+ */
13
+ export type RicosCdnModule = typeof import('@wix/patterns-fields-utils/@wix/patterns-fields-ricos-statics');
14
+
15
+ /**
16
+ * The statics package does not name `ViewerPlugin`, so letting TypeScript infer a
17
+ * plugin array puts a `@wix/ricos/dist/src/...` path in the emitted `.d.ts` — a
18
+ * path ricos's `exports` map forbids. Deriving it from a plugin factory gives a
19
+ * nameable public type.
20
+ */
21
+ export type ViewerPlugin = ReturnType<typeof pluginLinkViewer>;
@@ -1,7 +1,7 @@
1
1
  import React, { useCallback, useMemo, useRef } from 'react';
2
2
 
3
- import type { RicosDocument } from '@wix/ricos';
4
- import { fromPlainText, toPlainTextSync } from '@wix/ricos/content';
3
+ import type { RicosDocument } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
4
+ import { fromPlainText, toPlainTextSync } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
5
5
 
6
6
  import { RichContentEditor } from './rich-content-input/rich-content-editor';
7
7
  import { useRichContentState } from './rich-content-input/rich-content-common';
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
 
3
- import { toPlainTextSync } from '@wix/ricos/content';
3
+ import { toPlainTextSync } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
4
4
 
5
5
  import { TextView } from '../text';
6
6
  import { hardConvert } from '../../validations/rich-content';
@@ -1,4 +1,4 @@
1
- // Heavy exports - these pull in @wix/ricos editor/viewer (~300kb+ gzipped)
1
+ // Heavy exports - these pull in the bundled ricos editor/viewer (~300kb+ gzipped)
2
2
  // Only import this file when you actually need the rich content editor
3
3
  export { FormRichContentInput } from './rich-content-input/form-input';
4
4
  export * from './hooks';
@@ -1,8 +1,8 @@
1
1
  import React from 'react';
2
2
  import { FormField } from '@wix/design-system';
3
3
  import { observer } from 'mobx-react-lite';
4
- import type { RichContent as RichContentType, RicosTheme } from '@wix/ricos';
5
- import { fromPlainText } from '@wix/ricos';
4
+ import type { RichContent as RichContentType, RicosTheme } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
5
+ import { fromPlainText } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
6
6
  import type Experiments from '@wix/wix-experiments';
7
7
  import { useWixPatternsContainer } from '@wix/bex-core/react';
8
8
  import { useController } from '@wix/bex-core/form';
@@ -1,8 +1,8 @@
1
1
  import { useEffect } from 'react';
2
2
 
3
- import type { RicosDocument } from '@wix/ricos/content';
4
- import { toPlainText } from '@wix/ricos/content';
3
+ import type { RicosDocument } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
5
4
 
5
+ import { loadRicosFromCdn } from '../cdn/load-ricos';
6
6
  import { safeStringify } from '../../../utils';
7
7
  import { useMountedState } from './use-mounted-state';
8
8
 
@@ -13,7 +13,8 @@ export const usePlainTextRichContent = (content?: RicosDocument) => {
13
13
  useEffect(() => {
14
14
  if (content) {
15
15
  setIsConverting(true);
16
- toPlainText(content, { delimiter: ' ' })
16
+ loadRicosFromCdn()
17
+ .then(({ toPlainText }) => toPlainText(content, { delimiter: ' ' }))
17
18
  .catch(() => safeStringify(content))
18
19
  .then(setPlainTextContent)
19
20
  .finally(() => setIsConverting(false));
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontentdefaultvalueinput2838712758";
8
+ var _namespace_ = "richcontentdefaultvalueinput1084397029";
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":"richcontentdefaultvalueinput2838712758__root","richContentEditorContainer":"richcontentdefaultvalueinput2838712758__richContentEditorContainer","editor":"richcontentdefaultvalueinput2838712758__editor"};
16
+ export var classes = {"root":"richcontentdefaultvalueinput1084397029__root","richContentEditorContainer":"richcontentdefaultvalueinput1084397029__richContentEditorContainer","editor":"richcontentdefaultvalueinput1084397029__editor"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,7 +1,7 @@
1
1
  import type { FC } from 'react';
2
2
  import React from 'react';
3
3
 
4
- import type { RichContent } from '@wix/ricos';
4
+ import type { RichContent } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
5
5
 
6
6
  import type { FormInputProps } from '../../../../types';
7
7
  import { RichContentEditor } from '../rich-content-editor';
@@ -1,6 +1,6 @@
1
1
  import React 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
  import { RichContentViewer } from '../rich-content-viewer';
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontentforminput1417751749";
8
+ var _namespace_ = "richcontentforminput2685167095";
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":"richcontentforminput1417751749__root","editor":"richcontentforminput1417751749__editor"};
16
+ export var classes = {"root":"richcontentforminput2685167095__root","editor":"richcontentforminput2685167095__editor"};
17
17
  export var keyframes = {};
18
18
  export var layers = {};
19
19
  export var containers = {};
@@ -1,7 +1,7 @@
1
1
  import type { FC } from 'react';
2
2
  import React, { useEffect, useState } from 'react';
3
3
 
4
- import type { RichContent } from '@wix/ricos';
4
+ import type { RichContent } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';
5
5
 
6
6
  import type { FormInputProps } from '../../../../types';
7
7
 
@@ -1,6 +1,6 @@
1
1
  import { useCallback, useRef, 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 { useRichContentState } from '../rich-content-common';
6
6
 
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
5
5
 
6
6
 
7
7
 
8
- var _namespace_ = "richcontentformreadonlyinput1245446135";
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":"richcontentformreadonlyinput1245446135__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_ = "fullscreenmodal4273271827";
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":"fullscreenmodal4273271827__root","modalContent":"fullscreenmodal4273271827__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 = {};