@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.
- package/dist/cjs/auto-field-types/validations.js +9 -13
- package/dist/cjs/auto-field-types/validations.js.map +1 -1
- package/dist/cjs/components/address/input/address-input.st.css.js +3 -3
- package/dist/cjs/components/address/input/address-input.st.css.js.map +1 -1
- package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
- package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
- package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js +4 -4
- package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
- package/dist/cjs/components/audio/audio-player/audio-player.st.css.js +2 -2
- package/dist/cjs/components/audio/audio-player/audio-player.st.css.js.map +1 -1
- package/dist/cjs/components/color-view/cell-color-view.st.css.js +3 -3
- package/dist/cjs/components/color-view/cell-color-view.st.css.js.map +1 -1
- package/dist/cjs/components/color-view/color-view.st.css.js +4 -4
- package/dist/cjs/components/color-view/color-view.st.css.js.map +1 -1
- package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js +3 -3
- package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
- package/dist/cjs/components/document/form-document-field.st.css.js +7 -7
- package/dist/cjs/components/document/form-document-field.st.css.js.map +1 -1
- package/dist/cjs/components/exclamation/exclamation.st.css.js +5 -5
- package/dist/cjs/components/exclamation/exclamation.st.css.js.map +1 -1
- package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js +5 -5
- package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
- package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js +3 -3
- package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js.map +1 -1
- package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js +2 -2
- package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js.map +1 -1
- package/dist/cjs/components/media-control/paste-url-button.st.css.js +4 -4
- package/dist/cjs/components/media-control/paste-url-button.st.css.js.map +1 -1
- package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
- package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
- package/dist/cjs/components/media-image/media-image.st.css.js +4 -4
- package/dist/cjs/components/media-image/media-image.st.css.js.map +1 -1
- package/dist/cjs/components/media-image/overlays/overlay.st.css.js +3 -3
- package/dist/cjs/components/media-image/overlays/overlay.st.css.js.map +1 -1
- package/dist/cjs/components/media-loader/media-loader.st.css.js +3 -3
- package/dist/cjs/components/media-loader/media-loader.st.css.js.map +1 -1
- package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
- package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
- package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js +3 -3
- package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
- package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
- package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
- package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js +2 -2
- package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js.map +1 -1
- package/dist/cjs/components/reference/cell-reference-input.st.css.js +3 -3
- package/dist/cjs/components/reference/cell-reference-input.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/cdn/load-ricos.js +135 -0
- package/dist/cjs/components/rich-content/cdn/load-ricos.js.map +1 -0
- package/dist/cjs/components/rich-content/cdn/types.js +4 -0
- package/dist/cjs/components/rich-content/cdn/types.js.map +1 -0
- package/dist/cjs/components/rich-content/cell-rich-content-input.js +3 -3
- package/dist/cjs/components/rich-content/cell-rich-content-input.js.map +1 -1
- package/dist/cjs/components/rich-content/cell-rich-content-view.js +2 -2
- package/dist/cjs/components/rich-content/cell-rich-content-view.js.map +1 -1
- package/dist/cjs/components/rich-content/editor.js.map +1 -1
- package/dist/cjs/components/rich-content/form-rich-content.js +2 -2
- package/dist/cjs/components/rich-content/form-rich-content.js.map +1 -1
- package/dist/cjs/components/rich-content/hooks/use-plain-text-rich-content.js +5 -3
- package/dist/cjs/components/rich-content/hooks/use-plain-text-rich-content.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +4 -4
- package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/default-value-read-only-input/rich-content-form-read-only-input.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +3 -3
- package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/form-input/use-rich-content-form-input.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
- 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
- package/dist/cjs/components/rich-content/rich-content-input/hooks.js +7 -8
- package/dist/cjs/components/rich-content/rich-content-input/hooks.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/hooks.js +15 -3
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/hooks.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/types.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/plugins.js +38 -31
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/plugins.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js +27 -22
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +7 -7
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.js +10 -9
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +5 -5
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/plugins.js +11 -17
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/plugins.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.js +47 -15
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/services/rich-content-document-http-service.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/services/types.js.map +1 -1
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
- package/dist/cjs/components/text/text-view.st.css.js +3 -3
- package/dist/cjs/components/text/text-view.st.css.js.map +1 -1
- package/dist/cjs/exports/ricos-statics-legacy.js +10 -0
- package/dist/cjs/exports/ricos-statics-legacy.js.map +1 -0
- package/dist/cjs/exports/ricos-statics.js +10 -0
- package/dist/cjs/exports/ricos-statics.js.map +1 -0
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/validations/rich-content.js +26 -6
- package/dist/cjs/validations/rich-content.js.map +1 -1
- package/dist/esm/auto-field-types/validations.js +10 -13
- package/dist/esm/auto-field-types/validations.js.map +1 -1
- package/dist/esm/components/address/input/address-input.st.css.js +2 -2
- package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
- package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
- package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js +2 -2
- package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
- package/dist/esm/components/audio/audio-player/audio-player.st.css.js +2 -2
- package/dist/esm/components/audio/audio-player/audio-player.st.css.js.map +1 -1
- package/dist/esm/components/color-view/cell-color-view.st.css.js +2 -2
- package/dist/esm/components/color-view/color-view.st.css.js +2 -2
- package/dist/esm/components/color-view/color-view.st.css.js.map +1 -1
- package/dist/esm/components/delete-dialog/delete-dialog.st.css.js +2 -2
- package/dist/esm/components/document/form-document-field.st.css.js +2 -2
- package/dist/esm/components/document/form-document-field.st.css.js.map +1 -1
- package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
- package/dist/esm/components/exclamation/exclamation.st.css.js.map +1 -1
- package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
- package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js +2 -2
- package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js.map +1 -1
- package/dist/esm/components/media-control/cell-media-edit-shell.st.css.js +2 -2
- package/dist/esm/components/media-control/paste-url-button.st.css.js +2 -2
- package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js +2 -2
- package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
- package/dist/esm/components/media-image/media-image.st.css.js +3 -3
- package/dist/esm/components/media-image/overlays/overlay.st.css.js +2 -2
- package/dist/esm/components/media-loader/media-loader.st.css.js +2 -2
- package/dist/esm/components/media-loader/media-loader.st.css.js.map +1 -1
- package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
- package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js +2 -2
- package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
- package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js +2 -2
- package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
- package/dist/esm/components/reference/cell-multi-reference-input.st.css.js +2 -2
- package/dist/esm/components/reference/cell-reference-input.st.css.js +2 -2
- package/dist/esm/components/rich-content/cdn/load-ricos.js +126 -0
- package/dist/esm/components/rich-content/cdn/load-ricos.js.map +1 -0
- package/dist/esm/components/rich-content/cdn/types.js +2 -0
- package/dist/esm/components/rich-content/cdn/types.js.map +1 -0
- package/dist/esm/components/rich-content/cell-rich-content-input.js +1 -1
- package/dist/esm/components/rich-content/cell-rich-content-input.js.map +1 -1
- package/dist/esm/components/rich-content/cell-rich-content-view.js +1 -1
- package/dist/esm/components/rich-content/cell-rich-content-view.js.map +1 -1
- package/dist/esm/components/rich-content/editor.js +1 -1
- package/dist/esm/components/rich-content/editor.js.map +1 -1
- package/dist/esm/components/rich-content/form-rich-content.js +1 -1
- package/dist/esm/components/rich-content/form-rich-content.js.map +1 -1
- package/dist/esm/components/rich-content/hooks/use-plain-text-rich-content.js +3 -2
- package/dist/esm/components/rich-content/hooks/use-plain-text-rich-content.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/hooks.js +4 -7
- package/dist/esm/components/rich-content/rich-content-input/hooks.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/hooks.js +14 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/hooks.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/plugins.js +49 -41
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/plugins.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js +10 -5
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.js +3 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/plugins.js +31 -37
- package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/plugins.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.js +11 -5
- package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +2 -2
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +2 -2
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +2 -2
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +2 -2
- package/dist/esm/components/text/text-view.st.css.js +2 -2
- package/dist/esm/components/text/text-view.st.css.js.map +1 -1
- package/dist/esm/exports/ricos-statics-legacy.js +6 -0
- package/dist/esm/exports/ricos-statics-legacy.js.map +1 -0
- package/dist/esm/exports/ricos-statics.js +10 -0
- package/dist/esm/exports/ricos-statics.js.map +1 -0
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/validations/rich-content.js +18 -1
- package/dist/esm/validations/rich-content.js.map +1 -1
- package/dist/types/auto-field-types/validations.d.ts +8 -0
- package/dist/types/auto-field-types/validations.d.ts.map +1 -1
- package/dist/types/components/audio/actions/actions-menu/actions-menu.st.css.d.ts.map +1 -1
- package/dist/types/components/audio/audio-field/form-audio-field.st.css.d.ts.map +1 -1
- package/dist/types/components/audio/audio-player/audio-player.st.css.d.ts.map +1 -1
- package/dist/types/components/color-view/color-view.st.css.d.ts.map +1 -1
- package/dist/types/components/document/form-document-field.st.css.d.ts.map +1 -1
- package/dist/types/components/exclamation/exclamation.st.css.d.ts.map +1 -1
- package/dist/types/components/image/thumbnail-replace-overlay.st.css.d.ts.map +1 -1
- package/dist/types/components/media-gallery/form-media-gallery-field.st.css.d.ts.map +1 -1
- package/dist/types/components/media-loader/media-loader.st.css.d.ts.map +1 -1
- package/dist/types/components/multi-document/cell-multi-document-edit.st.css.d.ts.map +1 -1
- package/dist/types/components/multi-document/multi-document-input/form-multi-document.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/cdn/load-ricos.d.ts +11 -0
- package/dist/types/components/rich-content/cdn/load-ricos.d.ts.map +1 -0
- package/dist/types/components/rich-content/cdn/types.d.ts +20 -0
- package/dist/types/components/rich-content/cdn/types.d.ts.map +1 -0
- package/dist/types/components/rich-content/cell-rich-content-input.d.ts +1 -1
- package/dist/types/components/rich-content/cell-rich-content-input.d.ts.map +1 -1
- package/dist/types/components/rich-content/form-rich-content.d.ts +1 -1
- package/dist/types/components/rich-content/form-rich-content.d.ts.map +1 -1
- package/dist/types/components/rich-content/hooks/use-plain-text-rich-content.d.ts +1 -1
- package/dist/types/components/rich-content/hooks/use-plain-text-rich-content.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.d.ts +1 -1
- package/dist/types/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/default-value-read-only-input/rich-content-form-read-only-input.d.ts +1 -1
- 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
- package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.d.ts +1 -1
- package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/form-input/use-rich-content-form-input.d.ts +3 -3
- package/dist/types/components/rich-content/rich-content-input/form-input/use-rich-content-form-input.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.d.ts +1 -1
- package/dist/types/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/hooks.d.ts +2 -2
- package/dist/types/components/rich-content/rich-content-input/hooks.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-common/hooks.d.ts +11 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-common/hooks.d.ts.map +1 -1
- 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
- package/dist/types/components/rich-content/rich-content-input/rich-content-common/types.d.ts +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-common/types.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-editor/plugins.d.ts +7 -2
- package/dist/types/components/rich-content/rich-content-input/rich-content-editor/plugins.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.d.ts +2 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.d.ts +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/plugins.d.ts +6 -15
- package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/plugins.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.d.ts +2 -2
- package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/services/types.d.ts +1 -1
- package/dist/types/components/rich-content/rich-content-input/services/types.d.ts.map +1 -1
- package/dist/types/components/text/text-view.st.css.d.ts.map +1 -1
- package/dist/types/exports/ricos-statics-legacy.d.ts +6 -0
- package/dist/types/exports/ricos-statics-legacy.d.ts.map +1 -0
- package/dist/types/exports/ricos-statics.d.ts +10 -0
- package/dist/types/exports/ricos-statics.d.ts.map +1 -0
- package/dist/types/validations/rich-content.d.ts +9 -1
- package/dist/types/validations/rich-content.d.ts.map +1 -1
- package/package.json +24 -7
- package/src/__tests__/components/rich-content/form-rich-content.spec.tsx +1 -1
- package/src/__tests__/components/rich-content/load-ricos.spec.ts +17 -0
- package/src/__tests__/components/rich-content-editor.spec.tsx +40 -32
- package/src/__tests__/validations/rich-content.spec.ts +1 -1
- package/src/auto-field-types/validations.ts +25 -13
- package/src/components/address/input/address-input.st.css.ts +2 -2
- package/src/components/audio/actions/actions-menu/actions-menu.st.css.ts +2 -2
- package/src/components/audio/audio-field/form-audio-field.st.css.ts +2 -2
- package/src/components/audio/audio-player/audio-player.st.css.ts +2 -2
- package/src/components/color-view/cell-color-view.st.css.ts +2 -2
- package/src/components/color-view/color-view.st.css.ts +2 -2
- package/src/components/delete-dialog/delete-dialog.st.css.ts +2 -2
- package/src/components/document/form-document-field.st.css.ts +2 -2
- package/src/components/exclamation/exclamation.st.css.ts +2 -2
- package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
- package/src/components/image/thumbnail-replace-overlay.st.css.ts +2 -2
- package/src/components/media-control/cell-media-edit-shell.st.css.ts +2 -2
- package/src/components/media-control/paste-url-button.st.css.ts +2 -2
- package/src/components/media-gallery/form-media-gallery-field.st.css.ts +2 -2
- package/src/components/media-image/media-image.st.css.ts +3 -3
- package/src/components/media-image/overlays/overlay.st.css.ts +2 -2
- package/src/components/media-loader/media-loader.st.css.ts +2 -2
- package/src/components/media-tag/web-media-tag/media-tag.st.css.ts +2 -2
- package/src/components/multi-document/cell-multi-document-edit.st.css.ts +2 -2
- package/src/components/multi-document/multi-document-input/form-multi-document.st.css.ts +2 -2
- package/src/components/reference/cell-multi-reference-input.st.css.ts +2 -2
- package/src/components/reference/cell-reference-input.st.css.ts +2 -2
- package/src/components/rich-content/cdn/load-ricos.ts +184 -0
- package/src/components/rich-content/cdn/types.ts +21 -0
- package/src/components/rich-content/cell-rich-content-input.tsx +2 -2
- package/src/components/rich-content/cell-rich-content-view.tsx +1 -1
- package/src/components/rich-content/editor.ts +1 -1
- package/src/components/rich-content/form-rich-content.tsx +2 -2
- package/src/components/rich-content/hooks/use-plain-text-rich-content.ts +4 -3
- package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.tsx +1 -1
- package/src/components/rich-content/rich-content-input/default-value-read-only-input/rich-content-form-read-only-input.tsx +1 -1
- package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.tsx +1 -1
- package/src/components/rich-content/rich-content-input/form-input/use-rich-content-form-input.ts +1 -1
- package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.tsx +1 -1
- package/src/components/rich-content/rich-content-input/hooks.ts +5 -8
- package/src/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-common/hooks.ts +15 -3
- package/src/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-common/types.ts +1 -1
- package/src/components/rich-content/rich-content-input/rich-content-editor/plugins.ts +59 -72
- package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.tsx +11 -7
- package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.tsx +4 -2
- package/src/components/rich-content/rich-content-input/rich-content-viewer/plugins.ts +33 -63
- package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.tsx +26 -10
- package/src/components/rich-content/rich-content-input/services/rich-content-document-http-service.ts +1 -1
- package/src/components/rich-content/rich-content-input/services/types.ts +1 -1
- package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts +2 -2
- package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts +2 -2
- package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts +2 -2
- package/src/components/text/text-view.st.css.ts +2 -2
- package/src/exports/ricos-statics-legacy.ts +5 -0
- package/src/exports/ricos-statics.ts +9 -0
- package/src/styles.global.css +1 -1
- package/src/validations/rich-content.ts +20 -2
- package/utils/@wix/patterns-fields-ricos-statics/legacy/package.json +5 -0
- package/utils/@wix/patterns-fields-ricos-statics/package.json +5 -0
|
@@ -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
|
|
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
|
-
|
|
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_ = "
|
|
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":"
|
|
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_ = "
|
|
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":"
|
|
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 {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
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
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
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_ = "
|
|
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":"
|
|
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 = {};
|
package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.tsx
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
|
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_ = "
|
|
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":"
|
|
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 = {};
|
package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.tsx
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import React, { Component } from 'react';
|
|
2
2
|
|
|
3
|
-
import type { ExternalToolbarButton as RicosExternalToolbarButton } from '@wix/ricos';
|
|
4
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
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_ = "
|
|
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":"
|
|
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 = {};
|
package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.tsx
CHANGED
|
@@ -1,9 +1,11 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
+
import { Box, Loader } from '@wix/design-system';
|
|
2
3
|
|
|
3
|
-
import type { RicosDocument
|
|
4
|
-
import {
|
|
5
|
-
import '@wix/
|
|
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
|
|
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
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
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_ = "
|
|
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":"
|
|
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 = {};
|
package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "richtexteditor4144981240";
|
|
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":"
|
|
16
|
+
export var classes = {"root":"richtexteditor4144981240__root","nativeInput":"richtexteditor4144981240__nativeInput","editor":"richtexteditor4144981240__editor"};
|
|
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_ = "
|
|
8
|
+
var _namespace_ = "toolbar2015678248";
|
|
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":"
|
|
16
|
+
export var classes = {"root":"toolbar2015678248__root","item":"toolbar2015678248__item","separator":"toolbar2015678248__separator","clearFormatting":"toolbar2015678248__clearFormatting","fullScreen":"toolbar2015678248__fullScreen","dropdownItemContent":"toolbar2015678248__dropdownItemContent","dropdownItemTitle":"toolbar2015678248__dropdownItemTitle","dropdownItemSubtitle":"toolbar2015678248__dropdownItemSubtitle","dropdownHeaderOne":"toolbar2015678248__dropdownHeaderOne","dropdownHeaderTwo":"toolbar2015678248__dropdownHeaderTwo","dropdownHeaderThree":"toolbar2015678248__dropdownHeaderThree","dropdownHeaderFour":"toolbar2015678248__dropdownHeaderFour","dropdownHeaderFive":"toolbar2015678248__dropdownHeaderFive","dropdownHeaderSix":"toolbar2015678248__dropdownHeaderSix","dropdownParagraphOne":"toolbar2015678248__dropdownParagraphOne","dropdownNormalText":"toolbar2015678248__dropdownNormalText","dropdownParagraphThree":"toolbar2015678248__dropdownParagraphThree"};
|
|
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_ = "
|
|
8
|
+
var _namespace_ = "textview629500942";
|
|
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":"
|
|
16
|
+
export var classes = {"root":"textview629500942__root","textView":"textview629500942__textView"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The ricos surface the CDN artifact exposes, re-exported so consumers reach it
|
|
3
|
+
* through this package instead of depending on `patterns-fields-ricos-statics`
|
|
4
|
+
* themselves.
|
|
5
|
+
*
|
|
6
|
+
* Types only. The values here are the whole editor — importing one puts it in
|
|
7
|
+
* the consumer's graph, which is what the CDN loading exists to prevent.
|
|
8
|
+
*/
|
|
9
|
+
export * from '@wix/patterns-fields-utils/@wix/patterns-fields-ricos-statics';
|