@wix/patterns-fields 1.109.0 → 1.111.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/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/boolean/cell-checkbox.js +15 -6
- package/dist/cjs/components/boolean/cell-checkbox.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/field-validation-settings/field-validation-settings-input.js +38 -29
- package/dist/cjs/components/field-validation-settings/field-validation-settings-input.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-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/cell-rich-content-input.js +12 -9
- package/dist/cjs/components/rich-content/cell-rich-content-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/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-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/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/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-editor/rich-content-editor.js +23 -17
- 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.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/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-text/cell-rich-text-editor.js +21 -5
- package/dist/cjs/components/rich-text/cell-rich-text-editor.js.map +1 -1
- package/dist/cjs/components/rich-text/cell-rich-text-input.js +15 -7
- package/dist/cjs/components/rich-text/cell-rich-text-input.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/styles.global.css +1 -1
- package/dist/cjs/utils/keyboard.js +12 -0
- package/dist/cjs/utils/keyboard.js.map +1 -0
- package/dist/esm/components/address/input/address-input.st.css.js +2 -2
- package/dist/esm/components/address/input/address-input.st.css.js.map +1 -1
- package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
- 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/boolean/cell-checkbox.js +10 -4
- package/dist/esm/components/boolean/cell-checkbox.js.map +1 -1
- package/dist/esm/components/color-view/cell-color-view.st.css.js +2 -2
- package/dist/esm/components/color-view/cell-color-view.st.css.js.map +1 -1
- 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/exclamation/exclamation.st.css.js +2 -2
- package/dist/esm/components/exclamation/exclamation.st.css.js.map +1 -1
- package/dist/esm/components/field-validation-settings/field-validation-settings-input.js +7 -6
- package/dist/esm/components/field-validation-settings/field-validation-settings-input.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/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-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/reference/cell-multi-reference-input.st.css.js +2 -2
- package/dist/esm/components/reference/cell-multi-reference-input.st.css.js.map +1 -1
- package/dist/esm/components/reference/cell-reference-input.st.css.js +2 -2
- package/dist/esm/components/reference/cell-reference-input.st.css.js.map +1 -1
- package/dist/esm/components/rich-content/cell-rich-content-input.js +11 -9
- package/dist/esm/components/rich-content/cell-rich-content-input.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/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
- 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-input/rich-content-form-input.st.css.js.map +1 -1
- 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/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.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/publish-loader/publish-loader.st.css.js.map +1 -1
- 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-editor/rich-content-editor.js +8 -2
- 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.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/rich-content-viewer.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
- package/dist/esm/components/rich-text/cell-rich-text-editor.js +16 -1
- package/dist/esm/components/rich-text/cell-rich-text-editor.js.map +1 -1
- package/dist/esm/components/rich-text/cell-rich-text-input.js +8 -0
- package/dist/esm/components/rich-text/cell-rich-text-input.js.map +1 -1
- 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/rich-text-editor.st.css.js.map +1 -1
- 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/styles.global.css +1 -1
- package/dist/esm/utils/keyboard.js +7 -0
- package/dist/esm/utils/keyboard.js.map +1 -0
- package/dist/types/components/address/input/address-input.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/boolean/cell-checkbox.d.ts +4 -1
- package/dist/types/components/boolean/cell-checkbox.d.ts.map +1 -1
- package/dist/types/components/color-view/cell-color-view.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/exclamation/exclamation.st.css.d.ts.map +1 -1
- package/dist/types/components/field-validation-settings/field-validation-settings-input.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/multi-document/cell-multi-document-edit.st.css.d.ts.map +1 -1
- package/dist/types/components/reference/cell-multi-reference-input.st.css.d.ts.map +1 -1
- package/dist/types/components/reference/cell-reference-input.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/cell-rich-content-input.d.ts +2 -1
- package/dist/types/components/rich-content/cell-rich-content-input.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.d.ts +2 -0
- 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.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-text/cell-rich-text-editor.d.ts.map +1 -1
- package/dist/types/components/rich-text/cell-rich-text-input.d.ts +1 -1
- package/dist/types/components/rich-text/cell-rich-text-input.d.ts.map +1 -1
- package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.d.ts.map +1 -1
- package/dist/types/utils/keyboard.d.ts +4 -0
- package/dist/types/utils/keyboard.d.ts.map +1 -0
- package/package.json +4 -4
- package/src/__tests__/components/cell-rich-content-input.spec.tsx +73 -0
- package/src/__tests__/components/cell-rich-text-editor.spec.tsx +64 -0
- package/src/__tests__/components/cell-rich-text-input.spec.tsx +39 -0
- package/src/__tests__/components/rich-content-editor.spec.tsx +53 -0
- package/src/__tests__/utils/keyboard.spec.ts +45 -0
- 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/boolean/cell-checkbox.tsx +33 -11
- 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/field-validation-settings/field-validation-settings-input.tsx +10 -8
- 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-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/cell-rich-content-input.tsx +12 -13
- 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/form-input/rich-content-form-input.st.css.ts +2 -2
- 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/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.ts +2 -2
- 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-editor/rich-content-editor.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.tsx +9 -1
- 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-viewer/rich-content-viewer.st.css.ts +2 -2
- package/src/components/rich-text/cell-rich-text-editor.tsx +30 -1
- package/src/components/rich-text/cell-rich-text-input.tsx +9 -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/styles.global.css +1 -1
- package/src/utils/keyboard.ts +7 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_isEqual","_interopRequireDefault","require","_cloneDeep","_defaultsDeep","_react","_interopRequireWildcard","_designSystem","_loadRicos","_hooks","_utils","_userSiteFonts","_common","_richContentCommon","_plugins","_richContentToolbar","_richContentEditorStCss","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","InsertToolbarSync","editor","onButtonsChange","onReadyChange","buttons","useToolbarProps","isRecordShape","Array","isArray","safeButtons","signature","map","b","id","join","buttonsRef","useRef","current","useEffect","length","displayName","filterStaticToolbarButtons","button","RCE","forwardRef","content","injectedContent","onChange","autoFocus","onFocus","onBlur","className","dataHook","colorScheme","isFullScreen","onToggleFullScreen","hidden","ricosProps","ref","containerRef","containerHeightRef","getContainer","useCallback","onFullScreenChange","clientHeight","editorRef","setEditor","useState","isToolbarReady","setIsToolbarReady","toolbarButtons","setToolbarButtons","toolbarContainer","setToolbarContainer","setEditorInstance","nextEditor","setContent","nextContent","_editorRef$current","getEditorCommands","useImperativeHandle","isContentChanged","_editorRef$current2","Boolean","getContentTraits","prePublish","_editorRef$current3","INITIAL_INJECTED_RICH_CONTENT","appliedInjectedContentRef","isEqual","timerId","window","setTimeout","clearTimeout","frameId","requestAnimationFrame","_editorRef$current4","focus","cancelAnimationFrame","toolbars","useMemo","undefined","text","mode","container","alignment","defaultButtons","filter","insert","footer","disabled","isModalOpenRef","modalSettings","onModalOpen","onModalClose","isFocusedRef","isBlurringRef","triggerFocus","triggerBlur","requestBlurCallback","useRequestFrameCallback","requestEditorBlur","handleFocus","getActiveElement","_editorRef$current5","handleBlur","relatedTarget","_containerRef$current","contains","getAppRootElement","wixRicosProps","useWixRicosProps","ricos","useRicosFromCdn","plugins","usePlugins","RicosEditor","createElement","st","classes","root","tabIndex","style","height","__self","__source","fileName","lineNumber","columnNumber","toolbarAndFullScreenButtonWrapper","ToggleFullscreenButton","_extends2","initialContent","textWrap","RCELoader","footerToolbarContainer","ExternalToolbar","Box","align","verticalAlign","position","top","bottom","width","Loader","size","LOADER_DELAY","RichContentEditor","onEnterFullScreen","onExitFullScreen","fullScreenOnly","onPublish","theme","props","modalEditorRef","isRichContentChanged","_editorRef$current6","_modalEditorRef$curre","handleChange","richContent","loader","setLoader","timer","resetLoader","queueLoader","setIsFullScreen","fullScreenContent","setFullScreenContent","publishEditorContent","editorHandle","fallbackContent","onOpen","finalContent","isChanged","error","onClose","catch","handleKeyDown","key","stopPropagation","document","addEventListener","removeEventListener","rceProps","fullScreenTheme","defaultsDeep","cloneDeep","customStyles","maxHeight","settingsStyles","modals","dialogZIndex","Z_INDEX_MODAL_POPOVER","Fragment","UserSiteFonts","FullscreenModal","isOpen","isLoading","modalEditor","exports"],"sources":["../../../../../../src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.tsx"],"sourcesContent":["import isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\nimport defaultsDeep from 'lodash/defaultsDeep';\n\nimport type { FC, FocusEventHandler } from 'react';\nimport React, {\n forwardRef,\n useRef,\n useMemo,\n useState,\n useEffect,\n useCallback,\n useImperativeHandle,\n} from 'react';\n\nimport { Box, Loader } from '@wix/design-system';\nimport type { RicosDocument } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';\nimport type {\n ExternalToolbarButton as RicosExternalToolbarButton,\n RicosEditorAPI,\n RicosEditorProps,\n ToolbarsConfig,\n} from '@wix/patterns-fields-utils/@wix/patterns-fields-ricos-statics';\n\nimport { useRicosFromCdn } from '../../cdn/load-ricos';\nimport { useRequestFrameCallback } from '../../../../hooks';\nimport { getActiveElement, getAppRootElement } from '../../../../utils';\nimport { UserSiteFonts } from '../../../user-site-fonts';\nimport { Z_INDEX_MODAL_POPOVER } from '../../../common';\n\nimport type { ColorScheme } from '../../types';\n\nimport type { ToggleFullscreenButtonProps } from '../rich-content-common';\nimport {\n useWixRicosProps,\n FullscreenModal,\n ToggleFullscreenButton,\n INITIAL_INJECTED_RICH_CONTENT,\n} from '../rich-content-common';\n\nimport { usePlugins } from './plugins';\nimport { ExternalToolbar } from './rich-content-toolbar';\nimport { st, classes } from './rich-content-editor.st.css.js';\n\ntype RicosProps = Pick<RicosEditorProps, 'biSettings' | 'theme'> & {\n wixExperiments?: unknown;\n};\n\ninterface RCEHandle {\n isContentChanged: () => boolean;\n prePublish: () => Promise<RicosDocument>;\n setContent: (content: RicosDocument) => void;\n}\n\ninterface RCEProps extends RicosProps {\n content?: RicosDocument;\n injectedContent?: RicosDocument;\n onChange?: (content: RicosDocument) => void;\n autoFocus?: boolean;\n onFocus?: () => void;\n onBlur?: () => void;\n className?: string;\n colorScheme?: ColorScheme;\n hidden?: boolean;\n dataHook?: string;\n}\n\ntype ToolbarSyncProps = {\n editor: RicosEditorAPI;\n onButtonsChange: (buttons: readonly RicosExternalToolbarButton[]) => void;\n onReadyChange: (ready: boolean) => void;\n};\n\nconst InsertToolbarSync: FC<ToolbarSyncProps> = ({\n editor,\n onButtonsChange,\n onReadyChange,\n}) => {\n const { buttons } = editor.useToolbarProps('insert');\n\n // Ricos 11's next-runtime proxy is supposed to convert the legacy\n // `Record<string, ToolbarButtonProps>` into a v2 `ExternalToolbarButton[]`,\n // but some consumer bundles end up calling through to the inner adapter\n // (duplicate ricos copies / unwrapped ref) and we receive the\n // record shape. Normalize to an array so `.map` is safe, and treat the\n // non-array (record) shape as ready — otherwise the absolute-positioned\n // RCELoader overlay stays mounted and the editor row becomes unclickable.\n const isRecordShape = !Array.isArray(buttons);\n const safeButtons: readonly RicosExternalToolbarButton[] = isRecordShape\n ? []\n : buttons;\n const signature = safeButtons.map((b) => b.id).join('|');\n const buttonsRef = useRef(safeButtons);\n buttonsRef.current = safeButtons;\n\n useEffect(() => {\n onButtonsChange(buttonsRef.current);\n onReadyChange(buttonsRef.current.length > 0 || isRecordShape);\n }, [signature, isRecordShape, onButtonsChange, onReadyChange]);\n\n return null;\n};\n\nInsertToolbarSync.displayName = 'InsertToolbarSync';\n\nconst filterStaticToolbarButtons = (button: string) =>\n // Inlined rather than read off the CDN module's `FORMATTING_BUTTONS`: this is\n // a plain string constant and the filter runs before the module has loaded.\n button !== 'CODE_BLOCK';\n\nconst RCE = forwardRef<RCEHandle, RCEProps & ToggleFullscreenButtonProps>(\n (\n {\n content,\n injectedContent,\n onChange,\n autoFocus,\n onFocus,\n onBlur,\n className,\n dataHook,\n colorScheme,\n isFullScreen,\n onToggleFullScreen,\n hidden,\n ...ricosProps\n },\n ref,\n ) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const containerHeightRef = useRef<number | undefined>();\n\n // Stable identity so RicosEditor doesn't see a new `container` prop each render.\n const getContainer = useCallback(() => containerRef.current, []);\n\n const onFullScreenChange = useCallback(() => {\n onToggleFullScreen?.();\n\n if (containerRef.current) {\n containerHeightRef.current = containerRef.current.clientHeight;\n }\n }, [onToggleFullScreen]);\n\n const editorRef = useRef<RicosEditorAPI | null>(null);\n const [editor, setEditor] = useState<RicosEditorAPI | null>(null);\n const [isToolbarReady, setIsToolbarReady] = useState(false);\n const [toolbarButtons, setToolbarButtons] = useState<\n readonly RicosExternalToolbarButton[]\n >([]);\n const [toolbarContainer, setToolbarContainer] =\n useState<HTMLDivElement | null>(null);\n\n const setEditorInstance = useCallback(\n (nextEditor: RicosEditorAPI | null) => {\n editorRef.current = nextEditor;\n setEditor(nextEditor);\n },\n [],\n );\n\n const setContent = useCallback((nextContent: RicosDocument) => {\n editorRef.current?.getEditorCommands().setContent(nextContent);\n }, []);\n\n useImperativeHandle(\n ref,\n () => ({\n isContentChanged: () =>\n Boolean(editorRef.current?.getContentTraits().isContentChanged),\n prePublish: async () =>\n (await editorRef.current?.prePublish()) ??\n INITIAL_INJECTED_RICH_CONTENT,\n setContent,\n }),\n [setContent],\n );\n\n const appliedInjectedContentRef = useRef<RicosDocument | undefined>();\n useEffect(() => {\n if (\n !injectedContent ||\n isEqual(INITIAL_INJECTED_RICH_CONTENT, injectedContent) ||\n isEqual(appliedInjectedContentRef.current, injectedContent)\n ) {\n return;\n }\n\n appliedInjectedContentRef.current = injectedContent;\n const timerId = window.setTimeout(() => {\n setContent(injectedContent);\n }, 0);\n\n return () => window.clearTimeout(timerId);\n }, [injectedContent, setContent]);\n\n useEffect(() => {\n if (!autoFocus || !editorRef.current) {\n return;\n }\n\n const frameId = requestAnimationFrame(() => {\n editorRef.current?.focus();\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [autoFocus, editor]);\n\n const toolbars = useMemo<ToolbarsConfig | undefined>(() => {\n if (!toolbarContainer) {\n return undefined;\n }\n\n return {\n text: {\n mode: 'static',\n container: toolbarContainer,\n alignment: 'left',\n buttons: ({ defaultButtons }) =>\n defaultButtons.filter(filterStaticToolbarButtons),\n },\n insert: {\n footer: {\n disabled: true,\n },\n },\n };\n }, [toolbarContainer]);\n\n const isModalOpenRef = useRef(false);\n const modalSettings = useMemo<RicosEditorProps['modalSettings']>(\n () => ({\n onModalOpen() {\n isModalOpenRef.current = true;\n },\n onModalClose() {\n isModalOpenRef.current = false;\n },\n }),\n [],\n );\n\n const isFocusedRef = useRef(false);\n const isBlurringRef = useRef(false);\n\n const triggerFocus = useCallback(() => {\n isBlurringRef.current = false;\n\n if (isFocusedRef.current) {\n return;\n }\n\n isFocusedRef.current = true;\n onFocus?.();\n }, [onFocus]);\n const triggerBlur = useCallback(() => {\n isBlurringRef.current = false;\n\n if (!isFocusedRef.current) {\n return;\n }\n\n isFocusedRef.current = false;\n onBlur?.();\n }, [onBlur]);\n\n const requestBlurCallback = useRequestFrameCallback();\n const requestEditorBlur = useCallback(() => {\n isBlurringRef.current = true;\n requestBlurCallback(() => isBlurringRef.current && triggerBlur());\n }, [triggerBlur, requestBlurCallback]);\n\n const handleFocus = useCallback<FocusEventHandler>(() => {\n if (containerRef.current === getActiveElement()) {\n editorRef.current?.focus();\n }\n\n triggerFocus();\n }, [triggerFocus]);\n const handleBlur = useCallback<FocusEventHandler>(\n ({ relatedTarget }) => {\n if (!relatedTarget) {\n requestEditorBlur();\n return;\n }\n\n if (\n isModalOpenRef.current ||\n containerRef.current?.contains(relatedTarget)\n ) {\n return;\n }\n\n if (!getAppRootElement().contains(relatedTarget)) {\n requestEditorBlur();\n } else {\n triggerBlur();\n }\n },\n [triggerBlur, requestEditorBlur],\n );\n\n const wixRicosProps = useWixRicosProps();\n const ricos = useRicosFromCdn();\n const plugins = usePlugins(ricos, colorScheme);\n const RicosEditor = ricos?.RicosEditor;\n\n return (\n <div\n ref={containerRef}\n data-hook=\"rich-content.editor\"\n className={st(classes.root, className)}\n tabIndex={onFocus || onBlur ? 0 : undefined}\n onFocus={handleFocus}\n onBlur={handleBlur}\n style={{\n height: hidden ? containerHeightRef.current : undefined,\n }}\n >\n <div className={classes.toolbarAndFullScreenButtonWrapper}>\n <div className={classes.toolbarContainer} ref={setToolbarContainer} />\n {!hidden && isToolbarReady && (\n <ToggleFullscreenButton\n isFullScreen={isFullScreen}\n onToggleFullScreen={onFullScreenChange}\n />\n )}\n </div>\n\n {editor && (\n <InsertToolbarSync\n editor={editor}\n onButtonsChange={setToolbarButtons}\n onReadyChange={setIsToolbarReady}\n />\n )}\n\n {!hidden && RicosEditor ? (\n <div data-hook={dataHook} className={classes.editor}>\n <RicosEditor\n ref={setEditorInstance}\n plugins={plugins}\n initialContent={content}\n toolbars={toolbars}\n modalSettings={modalSettings}\n textWrap={false}\n onChange={onChange}\n container={getContainer}\n {...ricosProps}\n {...wixRicosProps}\n />\n </div>\n ) : null}\n\n {!isToolbarReady && <RCELoader />}\n {!hidden && isToolbarReady && (\n <div\n data-hook=\"rich-content.footerToolbar\"\n className={classes.footerToolbarContainer}\n >\n <ExternalToolbar buttons={toolbarButtons} />\n </div>\n )}\n </div>\n );\n },\n);\nRCE.displayName = 'RCE';\n\nconst RCELoader: React.FC = () => (\n <Box\n align=\"center\"\n verticalAlign=\"middle\"\n position=\"absolute\"\n top=\"0\"\n bottom=\"0\"\n width=\"100%\"\n >\n <Loader size=\"small\" />\n </Box>\n);\nRCELoader.displayName = 'RCELoader';\n\nconst LOADER_DELAY = 100;\n\nexport type RichContentEditorProps = Omit<RCEProps, 'onChange'> & {\n onEnterFullScreen?: (\n content?: RicosDocument,\n isContentChanged?: boolean,\n ) => void;\n onExitFullScreen?: (\n content?: RicosDocument,\n isContentChanged?: boolean,\n ) => void;\n onChange?: (content: RicosDocument, isContentChanged?: boolean) => void;\n onPublish?: (promise: Promise<RicosDocument>) => void;\n fullScreenOnly?: boolean;\n};\n\nexport const RichContentEditor: FC<RichContentEditorProps> = ({\n onFocus,\n onBlur,\n onEnterFullScreen,\n onExitFullScreen,\n fullScreenOnly,\n onPublish,\n onChange,\n theme,\n content,\n ...props\n}) => {\n const editorRef = useRef<RCEHandle>(null);\n const modalEditorRef = useRef<RCEHandle>(null);\n\n const isRichContentChanged = useCallback(\n () =>\n Boolean(\n editorRef.current?.isContentChanged() ||\n modalEditorRef.current?.isContentChanged(),\n ),\n [],\n );\n const handleChange = useCallback(\n (richContent: RicosDocument) => {\n onChange?.(richContent, isRichContentChanged());\n },\n [onChange, isRichContentChanged],\n );\n\n const [loader, setLoader] = useState(false);\n const timer = useRef<number>(0);\n const resetLoader = useCallback(() => {\n window.clearTimeout(timer.current);\n setLoader(false);\n }, []);\n const queueLoader = useCallback(() => {\n timer.current = window.setTimeout(() => {\n setLoader(true);\n }, LOADER_DELAY);\n }, []);\n\n const [isFullScreen, setIsFullScreen] = useState(!!fullScreenOnly);\n const [fullScreenContent, setFullScreenContent] = useState(content);\n\n useEffect(() => {\n if (!isFullScreen) {\n setFullScreenContent(content);\n }\n }, [content, isFullScreen]);\n\n const publishEditorContent = useCallback(\n async (\n editorHandle: RCEHandle | null,\n fallbackContent?: RicosDocument,\n ): Promise<RicosDocument> => {\n if (!editorHandle) {\n return fallbackContent ?? INITIAL_INJECTED_RICH_CONTENT;\n }\n\n return (\n (await editorHandle.prePublish()) ??\n fallbackContent ??\n INITIAL_INJECTED_RICH_CONTENT\n );\n },\n [],\n );\n\n const onOpen = useCallback(async () => {\n let finalContent = content;\n const isChanged = isRichContentChanged();\n\n try {\n finalContent = await publishEditorContent(editorRef.current, content);\n onEnterFullScreen?.(finalContent, isChanged);\n } catch (error) {\n finalContent = content;\n onEnterFullScreen?.(content, isChanged);\n } finally {\n setFullScreenContent(finalContent);\n setIsFullScreen(true);\n\n if (isChanged && finalContent) {\n handleChange(finalContent);\n }\n }\n }, [\n content,\n handleChange,\n isRichContentChanged,\n onEnterFullScreen,\n publishEditorContent,\n ]);\n const onClose = useCallback(async () => {\n queueLoader();\n let finalContent = content;\n const isChanged = isRichContentChanged();\n\n try {\n finalContent = await publishEditorContent(\n modalEditorRef.current,\n content,\n );\n onExitFullScreen?.(finalContent, isChanged);\n } catch (error) {\n finalContent = content;\n onExitFullScreen?.(content, isChanged);\n } finally {\n resetLoader();\n setIsFullScreen(false);\n\n if (isChanged && finalContent) {\n handleChange(finalContent);\n }\n }\n }, [\n content,\n handleChange,\n isRichContentChanged,\n onExitFullScreen,\n publishEditorContent,\n queueLoader,\n resetLoader,\n ]);\n\n const handleBlur = useCallback(() => {\n if (isRichContentChanged()) {\n onPublish?.(\n publishEditorContent(editorRef.current, content).catch(\n () => content ?? INITIAL_INJECTED_RICH_CONTENT,\n ),\n );\n }\n onBlur?.();\n }, [content, isRichContentChanged, onBlur, onPublish, publishEditorContent]);\n\n useEffect(() => {\n if (!isFullScreen) {\n return;\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n void onClose();\n }\n };\n\n document.addEventListener('keydown', handleKeyDown, true);\n return () => document.removeEventListener('keydown', handleKeyDown, true);\n }, [isFullScreen, onClose]);\n\n const rceProps = {\n onChange: handleChange,\n };\n\n // Must be memoized: Ricos re-processes `theme` whenever its identity changes,\n // so passing a freshly cloned object every render drives an infinite\n // re-render loop (freezes the tab) once the fullscreen editor mounts.\n const fullScreenTheme = useMemo(\n () =>\n defaultsDeep(cloneDeep(theme), {\n customStyles: { editor: { maxHeight: '100%' } },\n settingsStyles: {\n modals: {\n dialogZIndex: Z_INDEX_MODAL_POPOVER,\n },\n },\n }),\n [theme],\n );\n\n return (\n <>\n <UserSiteFonts />\n {!fullScreenOnly && (\n <RCE\n {...props}\n {...rceProps}\n content={content}\n theme={theme}\n onFocus={onFocus}\n onBlur={handleBlur}\n hidden={isFullScreen}\n ref={editorRef}\n isFullScreen={false}\n onToggleFullScreen={onOpen}\n />\n )}\n <FullscreenModal isOpen={isFullScreen} isLoading={loader}>\n <RCE\n {...props}\n {...rceProps}\n content={fullScreenContent}\n theme={fullScreenTheme}\n autoFocus\n className={classes.modalEditor}\n ref={modalEditorRef}\n isFullScreen\n onToggleFullScreen={onClose}\n />\n </FullscreenModal>\n </>\n );\n};\nRichContentEditor.displayName = 'RichContentEditor';\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_isEqual","_interopRequireDefault","require","_cloneDeep","_defaultsDeep","_react","_interopRequireWildcard","_designSystem","_loadRicos","_hooks","_utils","_userSiteFonts","_common","_richContentCommon","_plugins","_richContentToolbar","_keyboard","_richContentEditorStCss","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","InsertToolbarSync","editor","onButtonsChange","onReadyChange","buttons","useToolbarProps","isRecordShape","Array","isArray","safeButtons","signature","map","b","id","join","buttonsRef","useRef","current","useEffect","length","displayName","filterStaticToolbarButtons","button","RCE","forwardRef","content","injectedContent","onChange","autoFocus","onFocus","onBlur","className","dataHook","colorScheme","isFullScreen","onToggleFullScreen","hidden","ricosProps","ref","containerRef","containerHeightRef","getContainer","useCallback","onFullScreenChange","clientHeight","editorRef","setEditor","useState","isToolbarReady","setIsToolbarReady","toolbarButtons","setToolbarButtons","toolbarContainer","setToolbarContainer","setEditorInstance","nextEditor","setContent","nextContent","_editorRef$current","getEditorCommands","useImperativeHandle","isContentChanged","_editorRef$current2","Boolean","getContentTraits","prePublish","_editorRef$current3","INITIAL_INJECTED_RICH_CONTENT","appliedInjectedContentRef","isEqual","timerId","window","setTimeout","clearTimeout","frameId","requestAnimationFrame","_editorRef$current4","focus","cancelAnimationFrame","toolbars","useMemo","undefined","text","mode","container","alignment","defaultButtons","filter","insert","footer","disabled","isModalOpenRef","modalSettings","onModalOpen","onModalClose","isFocusedRef","isBlurringRef","triggerFocus","triggerBlur","requestBlurCallback","useRequestFrameCallback","requestEditorBlur","handleFocus","getActiveElement","_editorRef$current5","handleBlur","relatedTarget","_containerRef$current","contains","getAppRootElement","wixRicosProps","useWixRicosProps","ricos","useRicosFromCdn","plugins","usePlugins","RicosEditor","createElement","st","classes","root","tabIndex","style","height","__self","__source","fileName","lineNumber","columnNumber","toolbarAndFullScreenButtonWrapper","ToggleFullscreenButton","_extends2","initialContent","textWrap","RCELoader","footerToolbarContainer","ExternalToolbar","Box","align","verticalAlign","position","top","bottom","width","Loader","size","LOADER_DELAY","RichContentEditor","onEnterFullScreen","onExitFullScreen","fullScreenOnly","closeOnEnter","onPublish","theme","props","modalEditorRef","isRichContentChanged","_editorRef$current6","_modalEditorRef$curre","handleChange","richContent","loader","setLoader","timer","resetLoader","queueLoader","setIsFullScreen","fullScreenContent","setFullScreenContent","publishEditorContent","editorHandle","fallbackContent","onOpen","finalContent","isChanged","error","onClose","catch","handleKeyDown","key","stopPropagation","isEnterInEditableText","preventDefault","document","addEventListener","removeEventListener","rceProps","fullScreenTheme","defaultsDeep","cloneDeep","customStyles","maxHeight","settingsStyles","modals","dialogZIndex","Z_INDEX_MODAL_POPOVER","Fragment","UserSiteFonts","FullscreenModal","isOpen","isLoading","modalEditor","exports"],"sources":["../../../../../../src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.tsx"],"sourcesContent":["import isEqual from 'lodash/isEqual';\nimport cloneDeep from 'lodash/cloneDeep';\nimport defaultsDeep from 'lodash/defaultsDeep';\n\nimport type { FC, FocusEventHandler } from 'react';\nimport React, {\n forwardRef,\n useRef,\n useMemo,\n useState,\n useEffect,\n useCallback,\n useImperativeHandle,\n} from 'react';\n\nimport { Box, Loader } from '@wix/design-system';\nimport type { RicosDocument } from '@wix/patterns-fields-utils/@wix/patterns-fields-bundled-ricos';\nimport type {\n ExternalToolbarButton as RicosExternalToolbarButton,\n RicosEditorAPI,\n RicosEditorProps,\n ToolbarsConfig,\n} from '@wix/patterns-fields-utils/@wix/patterns-fields-ricos-statics';\n\nimport { useRicosFromCdn } from '../../cdn/load-ricos';\nimport { useRequestFrameCallback } from '../../../../hooks';\nimport { getActiveElement, getAppRootElement } from '../../../../utils';\nimport { UserSiteFonts } from '../../../user-site-fonts';\nimport { Z_INDEX_MODAL_POPOVER } from '../../../common';\n\nimport type { ColorScheme } from '../../types';\n\nimport type { ToggleFullscreenButtonProps } from '../rich-content-common';\nimport {\n useWixRicosProps,\n FullscreenModal,\n ToggleFullscreenButton,\n INITIAL_INJECTED_RICH_CONTENT,\n} from '../rich-content-common';\n\nimport { usePlugins } from './plugins';\nimport { ExternalToolbar } from './rich-content-toolbar';\nimport { isEnterInEditableText } from '../../../../utils/keyboard';\nimport { st, classes } from './rich-content-editor.st.css.js';\n\ntype RicosProps = Pick<RicosEditorProps, 'biSettings' | 'theme'> & {\n wixExperiments?: unknown;\n};\n\ninterface RCEHandle {\n isContentChanged: () => boolean;\n prePublish: () => Promise<RicosDocument>;\n setContent: (content: RicosDocument) => void;\n}\n\ninterface RCEProps extends RicosProps {\n content?: RicosDocument;\n injectedContent?: RicosDocument;\n onChange?: (content: RicosDocument) => void;\n autoFocus?: boolean;\n onFocus?: () => void;\n onBlur?: () => void;\n className?: string;\n colorScheme?: ColorScheme;\n hidden?: boolean;\n dataHook?: string;\n}\n\ntype ToolbarSyncProps = {\n editor: RicosEditorAPI;\n onButtonsChange: (buttons: readonly RicosExternalToolbarButton[]) => void;\n onReadyChange: (ready: boolean) => void;\n};\n\nconst InsertToolbarSync: FC<ToolbarSyncProps> = ({\n editor,\n onButtonsChange,\n onReadyChange,\n}) => {\n const { buttons } = editor.useToolbarProps('insert');\n\n // Ricos 11's next-runtime proxy is supposed to convert the legacy\n // `Record<string, ToolbarButtonProps>` into a v2 `ExternalToolbarButton[]`,\n // but some consumer bundles end up calling through to the inner adapter\n // (duplicate ricos copies / unwrapped ref) and we receive the\n // record shape. Normalize to an array so `.map` is safe, and treat the\n // non-array (record) shape as ready — otherwise the absolute-positioned\n // RCELoader overlay stays mounted and the editor row becomes unclickable.\n const isRecordShape = !Array.isArray(buttons);\n const safeButtons: readonly RicosExternalToolbarButton[] = isRecordShape\n ? []\n : buttons;\n const signature = safeButtons.map((b) => b.id).join('|');\n const buttonsRef = useRef(safeButtons);\n buttonsRef.current = safeButtons;\n\n useEffect(() => {\n onButtonsChange(buttonsRef.current);\n onReadyChange(buttonsRef.current.length > 0 || isRecordShape);\n }, [signature, isRecordShape, onButtonsChange, onReadyChange]);\n\n return null;\n};\n\nInsertToolbarSync.displayName = 'InsertToolbarSync';\n\nconst filterStaticToolbarButtons = (button: string) =>\n // Inlined rather than read off the CDN module's `FORMATTING_BUTTONS`: this is\n // a plain string constant and the filter runs before the module has loaded.\n button !== 'CODE_BLOCK';\n\nconst RCE = forwardRef<RCEHandle, RCEProps & ToggleFullscreenButtonProps>(\n (\n {\n content,\n injectedContent,\n onChange,\n autoFocus,\n onFocus,\n onBlur,\n className,\n dataHook,\n colorScheme,\n isFullScreen,\n onToggleFullScreen,\n hidden,\n ...ricosProps\n },\n ref,\n ) => {\n const containerRef = useRef<HTMLDivElement>(null);\n const containerHeightRef = useRef<number | undefined>();\n\n // Stable identity so RicosEditor doesn't see a new `container` prop each render.\n const getContainer = useCallback(() => containerRef.current, []);\n\n const onFullScreenChange = useCallback(() => {\n onToggleFullScreen?.();\n\n if (containerRef.current) {\n containerHeightRef.current = containerRef.current.clientHeight;\n }\n }, [onToggleFullScreen]);\n\n const editorRef = useRef<RicosEditorAPI | null>(null);\n const [editor, setEditor] = useState<RicosEditorAPI | null>(null);\n const [isToolbarReady, setIsToolbarReady] = useState(false);\n const [toolbarButtons, setToolbarButtons] = useState<\n readonly RicosExternalToolbarButton[]\n >([]);\n const [toolbarContainer, setToolbarContainer] =\n useState<HTMLDivElement | null>(null);\n\n const setEditorInstance = useCallback(\n (nextEditor: RicosEditorAPI | null) => {\n editorRef.current = nextEditor;\n setEditor(nextEditor);\n },\n [],\n );\n\n const setContent = useCallback((nextContent: RicosDocument) => {\n editorRef.current?.getEditorCommands().setContent(nextContent);\n }, []);\n\n useImperativeHandle(\n ref,\n () => ({\n isContentChanged: () =>\n Boolean(editorRef.current?.getContentTraits().isContentChanged),\n prePublish: async () =>\n (await editorRef.current?.prePublish()) ??\n INITIAL_INJECTED_RICH_CONTENT,\n setContent,\n }),\n [setContent],\n );\n\n const appliedInjectedContentRef = useRef<RicosDocument | undefined>();\n useEffect(() => {\n if (\n !injectedContent ||\n isEqual(INITIAL_INJECTED_RICH_CONTENT, injectedContent) ||\n isEqual(appliedInjectedContentRef.current, injectedContent)\n ) {\n return;\n }\n\n appliedInjectedContentRef.current = injectedContent;\n const timerId = window.setTimeout(() => {\n setContent(injectedContent);\n }, 0);\n\n return () => window.clearTimeout(timerId);\n }, [injectedContent, setContent]);\n\n useEffect(() => {\n if (!autoFocus || !editorRef.current) {\n return;\n }\n\n const frameId = requestAnimationFrame(() => {\n editorRef.current?.focus();\n });\n\n return () => cancelAnimationFrame(frameId);\n }, [autoFocus, editor]);\n\n const toolbars = useMemo<ToolbarsConfig | undefined>(() => {\n if (!toolbarContainer) {\n return undefined;\n }\n\n return {\n text: {\n mode: 'static',\n container: toolbarContainer,\n alignment: 'left',\n buttons: ({ defaultButtons }) =>\n defaultButtons.filter(filterStaticToolbarButtons),\n },\n insert: {\n footer: {\n disabled: true,\n },\n },\n };\n }, [toolbarContainer]);\n\n const isModalOpenRef = useRef(false);\n const modalSettings = useMemo<RicosEditorProps['modalSettings']>(\n () => ({\n onModalOpen() {\n isModalOpenRef.current = true;\n },\n onModalClose() {\n isModalOpenRef.current = false;\n },\n }),\n [],\n );\n\n const isFocusedRef = useRef(false);\n const isBlurringRef = useRef(false);\n\n const triggerFocus = useCallback(() => {\n isBlurringRef.current = false;\n\n if (isFocusedRef.current) {\n return;\n }\n\n isFocusedRef.current = true;\n onFocus?.();\n }, [onFocus]);\n const triggerBlur = useCallback(() => {\n isBlurringRef.current = false;\n\n if (!isFocusedRef.current) {\n return;\n }\n\n isFocusedRef.current = false;\n onBlur?.();\n }, [onBlur]);\n\n const requestBlurCallback = useRequestFrameCallback();\n const requestEditorBlur = useCallback(() => {\n isBlurringRef.current = true;\n requestBlurCallback(() => isBlurringRef.current && triggerBlur());\n }, [triggerBlur, requestBlurCallback]);\n\n const handleFocus = useCallback<FocusEventHandler>(() => {\n if (containerRef.current === getActiveElement()) {\n editorRef.current?.focus();\n }\n\n triggerFocus();\n }, [triggerFocus]);\n const handleBlur = useCallback<FocusEventHandler>(\n ({ relatedTarget }) => {\n if (!relatedTarget) {\n requestEditorBlur();\n return;\n }\n\n if (\n isModalOpenRef.current ||\n containerRef.current?.contains(relatedTarget)\n ) {\n return;\n }\n\n if (!getAppRootElement().contains(relatedTarget)) {\n requestEditorBlur();\n } else {\n triggerBlur();\n }\n },\n [triggerBlur, requestEditorBlur],\n );\n\n const wixRicosProps = useWixRicosProps();\n const ricos = useRicosFromCdn();\n const plugins = usePlugins(ricos, colorScheme);\n const RicosEditor = ricos?.RicosEditor;\n\n return (\n <div\n ref={containerRef}\n data-hook=\"rich-content.editor\"\n className={st(classes.root, className)}\n tabIndex={onFocus || onBlur ? 0 : undefined}\n onFocus={handleFocus}\n onBlur={handleBlur}\n style={{\n height: hidden ? containerHeightRef.current : undefined,\n }}\n >\n <div className={classes.toolbarAndFullScreenButtonWrapper}>\n <div className={classes.toolbarContainer} ref={setToolbarContainer} />\n {!hidden && isToolbarReady && (\n <ToggleFullscreenButton\n isFullScreen={isFullScreen}\n onToggleFullScreen={onFullScreenChange}\n />\n )}\n </div>\n\n {editor && (\n <InsertToolbarSync\n editor={editor}\n onButtonsChange={setToolbarButtons}\n onReadyChange={setIsToolbarReady}\n />\n )}\n\n {!hidden && RicosEditor ? (\n <div data-hook={dataHook} className={classes.editor}>\n <RicosEditor\n ref={setEditorInstance}\n plugins={plugins}\n initialContent={content}\n toolbars={toolbars}\n modalSettings={modalSettings}\n textWrap={false}\n onChange={onChange}\n container={getContainer}\n {...ricosProps}\n {...wixRicosProps}\n />\n </div>\n ) : null}\n\n {!isToolbarReady && <RCELoader />}\n {!hidden && isToolbarReady && (\n <div\n data-hook=\"rich-content.footerToolbar\"\n className={classes.footerToolbarContainer}\n >\n <ExternalToolbar buttons={toolbarButtons} />\n </div>\n )}\n </div>\n );\n },\n);\nRCE.displayName = 'RCE';\n\nconst RCELoader: React.FC = () => (\n <Box\n align=\"center\"\n verticalAlign=\"middle\"\n position=\"absolute\"\n top=\"0\"\n bottom=\"0\"\n width=\"100%\"\n >\n <Loader size=\"small\" />\n </Box>\n);\nRCELoader.displayName = 'RCELoader';\n\nconst LOADER_DELAY = 100;\n\nexport type RichContentEditorProps = Omit<RCEProps, 'onChange'> & {\n onEnterFullScreen?: (\n content?: RicosDocument,\n isContentChanged?: boolean,\n ) => void;\n onExitFullScreen?: (\n content?: RicosDocument,\n isContentChanged?: boolean,\n ) => void;\n onChange?: (content: RicosDocument, isContentChanged?: boolean) => void;\n onPublish?: (promise: Promise<RicosDocument>) => void;\n fullScreenOnly?: boolean;\n /** Close full screen on Enter in the text, like Escape. Shift+Enter still adds a new line. */\n closeOnEnter?: boolean;\n};\n\nexport const RichContentEditor: FC<RichContentEditorProps> = ({\n onFocus,\n onBlur,\n onEnterFullScreen,\n onExitFullScreen,\n fullScreenOnly,\n closeOnEnter,\n onPublish,\n onChange,\n theme,\n content,\n ...props\n}) => {\n const editorRef = useRef<RCEHandle>(null);\n const modalEditorRef = useRef<RCEHandle>(null);\n\n const isRichContentChanged = useCallback(\n () =>\n Boolean(\n editorRef.current?.isContentChanged() ||\n modalEditorRef.current?.isContentChanged(),\n ),\n [],\n );\n const handleChange = useCallback(\n (richContent: RicosDocument) => {\n onChange?.(richContent, isRichContentChanged());\n },\n [onChange, isRichContentChanged],\n );\n\n const [loader, setLoader] = useState(false);\n const timer = useRef<number>(0);\n const resetLoader = useCallback(() => {\n window.clearTimeout(timer.current);\n setLoader(false);\n }, []);\n const queueLoader = useCallback(() => {\n timer.current = window.setTimeout(() => {\n setLoader(true);\n }, LOADER_DELAY);\n }, []);\n\n const [isFullScreen, setIsFullScreen] = useState(!!fullScreenOnly);\n const [fullScreenContent, setFullScreenContent] = useState(content);\n\n useEffect(() => {\n if (!isFullScreen) {\n setFullScreenContent(content);\n }\n }, [content, isFullScreen]);\n\n const publishEditorContent = useCallback(\n async (\n editorHandle: RCEHandle | null,\n fallbackContent?: RicosDocument,\n ): Promise<RicosDocument> => {\n if (!editorHandle) {\n return fallbackContent ?? INITIAL_INJECTED_RICH_CONTENT;\n }\n\n return (\n (await editorHandle.prePublish()) ??\n fallbackContent ??\n INITIAL_INJECTED_RICH_CONTENT\n );\n },\n [],\n );\n\n const onOpen = useCallback(async () => {\n let finalContent = content;\n const isChanged = isRichContentChanged();\n\n try {\n finalContent = await publishEditorContent(editorRef.current, content);\n onEnterFullScreen?.(finalContent, isChanged);\n } catch (error) {\n finalContent = content;\n onEnterFullScreen?.(content, isChanged);\n } finally {\n setFullScreenContent(finalContent);\n setIsFullScreen(true);\n\n if (isChanged && finalContent) {\n handleChange(finalContent);\n }\n }\n }, [\n content,\n handleChange,\n isRichContentChanged,\n onEnterFullScreen,\n publishEditorContent,\n ]);\n const onClose = useCallback(async () => {\n queueLoader();\n let finalContent = content;\n const isChanged = isRichContentChanged();\n\n try {\n finalContent = await publishEditorContent(\n modalEditorRef.current,\n content,\n );\n onExitFullScreen?.(finalContent, isChanged);\n } catch (error) {\n finalContent = content;\n onExitFullScreen?.(content, isChanged);\n } finally {\n resetLoader();\n setIsFullScreen(false);\n\n if (isChanged && finalContent) {\n handleChange(finalContent);\n }\n }\n }, [\n content,\n handleChange,\n isRichContentChanged,\n onExitFullScreen,\n publishEditorContent,\n queueLoader,\n resetLoader,\n ]);\n\n const handleBlur = useCallback(() => {\n if (isRichContentChanged()) {\n onPublish?.(\n publishEditorContent(editorRef.current, content).catch(\n () => content ?? INITIAL_INJECTED_RICH_CONTENT,\n ),\n );\n }\n onBlur?.();\n }, [content, isRichContentChanged, onBlur, onPublish, publishEditorContent]);\n\n useEffect(() => {\n if (!isFullScreen) {\n return;\n }\n\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.stopPropagation();\n void onClose();\n } else if (closeOnEnter && isEnterInEditableText(e)) {\n e.preventDefault();\n e.stopPropagation();\n void onClose();\n }\n };\n\n document.addEventListener('keydown', handleKeyDown, true);\n return () => document.removeEventListener('keydown', handleKeyDown, true);\n }, [isFullScreen, onClose, closeOnEnter]);\n\n const rceProps = {\n onChange: handleChange,\n };\n\n // Must be memoized: Ricos re-processes `theme` whenever its identity changes,\n // so passing a freshly cloned object every render drives an infinite\n // re-render loop (freezes the tab) once the fullscreen editor mounts.\n const fullScreenTheme = useMemo(\n () =>\n defaultsDeep(cloneDeep(theme), {\n customStyles: { editor: { maxHeight: '100%' } },\n settingsStyles: {\n modals: {\n dialogZIndex: Z_INDEX_MODAL_POPOVER,\n },\n },\n }),\n [theme],\n );\n\n return (\n <>\n <UserSiteFonts />\n {!fullScreenOnly && (\n <RCE\n {...props}\n {...rceProps}\n content={content}\n theme={theme}\n onFocus={onFocus}\n onBlur={handleBlur}\n hidden={isFullScreen}\n ref={editorRef}\n isFullScreen={false}\n onToggleFullScreen={onOpen}\n />\n )}\n <FullscreenModal isOpen={isFullScreen} isLoading={loader}>\n <RCE\n {...props}\n {...rceProps}\n content={fullScreenContent}\n theme={fullScreenTheme}\n autoFocus\n className={classes.modalEditor}\n ref={modalEditorRef}\n isFullScreen\n onToggleFullScreen={onClose}\n />\n </FullscreenModal>\n </>\n );\n};\nRichContentEditor.displayName = 'RichContentEditor';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,19 +5,19 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "richcontenteditor1716567060";
|
|
9
9
|
var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
|
|
10
10
|
var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
|
|
11
11
|
var style = exports.style = _style_;
|
|
12
12
|
var st = exports.st = _style_;
|
|
13
13
|
var namespace = exports.namespace = _namespace_;
|
|
14
14
|
var classes = exports.classes = {
|
|
15
|
-
"root": "
|
|
16
|
-
"toolbarContainer": "
|
|
17
|
-
"footerToolbarContainer": "
|
|
18
|
-
"toolbarAndFullScreenButtonWrapper": "
|
|
19
|
-
"editor": "
|
|
20
|
-
"modalEditor": "
|
|
15
|
+
"root": "richcontenteditor1716567060__root",
|
|
16
|
+
"toolbarContainer": "richcontenteditor1716567060__toolbarContainer",
|
|
17
|
+
"footerToolbarContainer": "richcontenteditor1716567060__footerToolbarContainer",
|
|
18
|
+
"toolbarAndFullScreenButtonWrapper": "richcontenteditor1716567060__toolbarAndFullScreenButtonWrapper",
|
|
19
|
+
"editor": "richcontenteditor1716567060__editor",
|
|
20
|
+
"modalEditor": "richcontenteditor1716567060__modalEditor"
|
|
21
21
|
};
|
|
22
22
|
var keyframes = exports.keyframes = {};
|
|
23
23
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../../src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../../src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"richcontenteditor1716567060\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"richcontenteditor1716567060__root\",\"toolbarContainer\":\"richcontenteditor1716567060__toolbarContainer\",\"footerToolbarContainer\":\"richcontenteditor1716567060__footerToolbarContainer\",\"toolbarAndFullScreenButtonWrapper\":\"richcontenteditor1716567060__toolbarAndFullScreenButtonWrapper\",\"editor\":\"richcontenteditor1716567060__editor\",\"modalEditor\":\"richcontenteditor1716567060__modalEditor\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-font-family-default\":\"--wds-font-family-default\"}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,6BAA6B;AAC/C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAA6C,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AAC3D,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,mCAAmC;EAAC,kBAAkB,EAAC,+CAA+C;EAAC,wBAAwB,EAAC,qDAAqD;EAAC,mCAAmC,EAAC,gEAAgE;EAAC,QAAQ,EAAC,qCAAqC;EAAC,aAAa,EAAC;AAA0C,CAAC;AACzZ,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG;EAAC,yBAAyB,EAAC;AAA2B,CAAC","ignoreList":[]}
|
|
@@ -5,17 +5,17 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "richcontenttoolbar934747531";
|
|
9
9
|
var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
|
|
10
10
|
var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
|
|
11
11
|
var style = exports.style = _style_;
|
|
12
12
|
var st = exports.st = _style_;
|
|
13
13
|
var namespace = exports.namespace = _namespace_;
|
|
14
14
|
var classes = exports.classes = {
|
|
15
|
-
"root": "
|
|
16
|
-
"toolbar": "
|
|
17
|
-
"toolbarButton": "
|
|
18
|
-
"separator": "
|
|
15
|
+
"root": "richcontenttoolbar934747531__root",
|
|
16
|
+
"toolbar": "richcontenttoolbar934747531__toolbar",
|
|
17
|
+
"toolbarButton": "richcontenttoolbar934747531__toolbarButton",
|
|
18
|
+
"separator": "richcontenttoolbar934747531__separator"
|
|
19
19
|
};
|
|
20
20
|
var keyframes = exports.keyframes = {};
|
|
21
21
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../../src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../../src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"richcontenttoolbar934747531\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"richcontenttoolbar934747531__root\",\"toolbar\":\"richcontenttoolbar934747531__toolbar\",\"toolbarButton\":\"richcontenttoolbar934747531__toolbarButton\",\"separator\":\"richcontenttoolbar934747531__separator\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,6BAA6B;AAC/C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAA6C,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AAC3D,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,mCAAmC;EAAC,SAAS,EAAC,sCAAsC;EAAC,eAAe,EAAC,4CAA4C;EAAC,WAAW,EAAC;AAAwC,CAAC;AAC7N,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -5,16 +5,16 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
|
|
|
5
5
|
var _stylableEsmRuntime = require("../../../../stylable-esm-runtime.js");
|
|
6
6
|
// @ts-nocheck
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "richcontentviewer173357374";
|
|
9
9
|
var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
|
|
10
10
|
var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
|
|
11
11
|
var style = exports.style = _style_;
|
|
12
12
|
var st = exports.st = _style_;
|
|
13
13
|
var namespace = exports.namespace = _namespace_;
|
|
14
14
|
var classes = exports.classes = {
|
|
15
|
-
"root": "
|
|
16
|
-
"viewer": "
|
|
17
|
-
"modalViewer": "
|
|
15
|
+
"root": "richcontentviewer173357374__root",
|
|
16
|
+
"viewer": "richcontentviewer173357374__viewer",
|
|
17
|
+
"modalViewer": "richcontentviewer173357374__modalViewer"
|
|
18
18
|
};
|
|
19
19
|
var keyframes = exports.keyframes = {};
|
|
20
20
|
var layers = exports.layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../../src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../../src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"richcontentviewer173357374\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"richcontentviewer173357374__root\",\"viewer\":\"richcontentviewer173357374__viewer\",\"modalViewer\":\"richcontentviewer173357374__modalViewer\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,4BAA4B;AAC9C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAA6C,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AAC3D,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,kCAAkC;EAAC,QAAQ,EAAC,oCAAoC;EAAC,aAAa,EAAC;AAAyC,CAAC;AAC/J,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -87,8 +87,24 @@ const CellRichTextEditor = ({
|
|
|
87
87
|
const [editorState, setEditorState] = (0, _react.useState)(initialEditorState);
|
|
88
88
|
const inlineStylesRef = (0, _react.useRef)(inlineStyles);
|
|
89
89
|
const customStyleMapRef = (0, _react.useRef)(customStyleMap);
|
|
90
|
+
const contentRef = (0, _react.useRef)(initialEditorState.getCurrentContent());
|
|
91
|
+
|
|
92
|
+
// A typed-to-edit key is already a change, even before the user edits again.
|
|
93
|
+
(0, _react.useEffect)(() => {
|
|
94
|
+
if (initialTypedKey) {
|
|
95
|
+
onChange((0, _utils.editorStateToHTML)(initialEditorState, inlineStylesRef.current, EDITING_OPTIONS));
|
|
96
|
+
}
|
|
97
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
98
|
+
}, []);
|
|
90
99
|
const handleChange = (0, _react.useCallback)(newState => {
|
|
91
100
|
setEditorState(newState);
|
|
101
|
+
// Draft.js also fires onChange for focus and selection changes. Only a
|
|
102
|
+
// content change is an edit — otherwise an untouched cell would save.
|
|
103
|
+
const content = newState.getCurrentContent();
|
|
104
|
+
if (content === contentRef.current) {
|
|
105
|
+
return;
|
|
106
|
+
}
|
|
107
|
+
contentRef.current = content;
|
|
92
108
|
const html = (0, _utils.editorStateToHTML)(newState, inlineStylesRef.current, EDITING_OPTIONS);
|
|
93
109
|
onChange(html);
|
|
94
110
|
}, [onChange]);
|
|
@@ -97,7 +113,7 @@ const CellRichTextEditor = ({
|
|
|
97
113
|
__self: void 0,
|
|
98
114
|
__source: {
|
|
99
115
|
fileName: _jsxFileName,
|
|
100
|
-
lineNumber:
|
|
116
|
+
lineNumber: 166,
|
|
101
117
|
columnNumber: 9
|
|
102
118
|
}
|
|
103
119
|
}, /*#__PURE__*/_react.default.createElement(_richEditor.RichEditor, {
|
|
@@ -111,7 +127,7 @@ const CellRichTextEditor = ({
|
|
|
111
127
|
__self: void 0,
|
|
112
128
|
__source: {
|
|
113
129
|
fileName: _jsxFileName,
|
|
114
|
-
lineNumber:
|
|
130
|
+
lineNumber: 167,
|
|
115
131
|
columnNumber: 11
|
|
116
132
|
}
|
|
117
133
|
})), isFullScreen && /*#__PURE__*/_react.default.createElement(_designSystem.Modal, {
|
|
@@ -120,7 +136,7 @@ const CellRichTextEditor = ({
|
|
|
120
136
|
__self: void 0,
|
|
121
137
|
__source: {
|
|
122
138
|
fileName: _jsxFileName,
|
|
123
|
-
lineNumber:
|
|
139
|
+
lineNumber: 179,
|
|
124
140
|
columnNumber: 9
|
|
125
141
|
}
|
|
126
142
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -131,7 +147,7 @@ const CellRichTextEditor = ({
|
|
|
131
147
|
__self: void 0,
|
|
132
148
|
__source: {
|
|
133
149
|
fileName: _jsxFileName,
|
|
134
|
-
lineNumber:
|
|
150
|
+
lineNumber: 180,
|
|
135
151
|
columnNumber: 11
|
|
136
152
|
}
|
|
137
153
|
}, /*#__PURE__*/_react.default.createElement(_richEditor.RichEditor, {
|
|
@@ -145,7 +161,7 @@ const CellRichTextEditor = ({
|
|
|
145
161
|
__self: void 0,
|
|
146
162
|
__source: {
|
|
147
163
|
fileName: _jsxFileName,
|
|
148
|
-
lineNumber:
|
|
164
|
+
lineNumber: 186,
|
|
149
165
|
columnNumber: 13
|
|
150
166
|
}
|
|
151
167
|
}))));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_autoFieldTypes","_compositeDecorator","_utils","_richEditor","_stylableHelper","_richTextEditorStCss","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EDITING_OPTIONS","headingsEnabled","DEFAULT_CELL_TEXT_STYLE","exports","buildInitialHtml","value","typedKey","existing","HTMLToText","CellRichTextEditor","onChange","autoFocus","initialTypedKey","isFullScreen","onToggleFullScreen","textStyle","initialHtml","useMemo","editorState","initialEditorState","customStyleMap","inlineStyles","htmlToEditorState","compositeDecorator","setEditorState","useState","inlineStylesRef","useRef","customStyleMapRef","handleChange","useCallback","newState","html","editorStateToHTML","current","createElement","Fragment","style","__self","__source","fileName","lineNumber","columnNumber","RichEditor","Modal","screen","isOpen","className","combineClasses","classes","editor","displayName"],"sources":["../../../../src/components/rich-text/cell-rich-text-editor.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef, useState } from 'react';\nimport { EditorState } from 'draft-js';\nimport { Modal } from '@wix/design-system';\n\nimport { HTMLToText } from '../../auto-field-types';\nimport { compositeDecorator } from './rich-text-input/rich-text-editor/composite-decorator';\nimport {\n htmlToEditorState,\n editorStateToHTML,\n} from './rich-text-input/rich-text-editor/utils';\nimport type {\n CustomStyleMap,\n InlineStyles,\n} from './rich-text-input/rich-text-editor/utils';\nimport { RichEditor } from './rich-text-input/rich-text-editor/rich-editor';\nimport { combineClasses } from './rich-text-input/rich-text-editor/utils/stylable-helper';\nimport {\n style,\n classes,\n} from './rich-text-input/rich-text-editor/rich-text-editor.st.css.js';\nimport type { RichTextStyleVariables } from './rich-text-input/rich-text-editor/text-style';\n\nconst EDITING_OPTIONS = { headingsEnabled: true };\n\n/** Default text style — matches the CSS fallback values in rich-editor.st.css.\n * Consumers (e.g. cms-web) can override with site-specific font values. */\nexport const DEFAULT_CELL_TEXT_STYLE: RichTextStyleVariables = {\n '--rt-h1-fontSize': '72px',\n '--rt-h1-fontStyle': 'normal',\n '--rt-h1-fontWeight': '700',\n '--rt-h1-lineHeight': '1.33',\n '--rt-h2-fontSize': '42px',\n '--rt-h2-fontStyle': 'normal',\n '--rt-h2-fontWeight': '700',\n '--rt-h2-lineHeight': '1.2',\n '--rt-h3-fontSize': '38px',\n '--rt-h3-fontStyle': 'normal',\n '--rt-h3-fontWeight': '500',\n '--rt-h3-lineHeight': '1.2',\n '--rt-h4-fontSize': '34px',\n '--rt-h4-fontStyle': 'normal',\n '--rt-h4-fontWeight': '700',\n '--rt-h4-lineHeight': '1.2',\n '--rt-h5-fontSize': '28px',\n '--rt-h5-fontStyle': 'normal',\n '--rt-h5-fontWeight': '700',\n '--rt-h5-lineHeight': '1.2',\n '--rt-h6-fontSize': '22px',\n '--rt-h6-fontStyle': 'normal',\n '--rt-h6-fontWeight': '500',\n '--rt-h6-lineHeight': '1.2',\n '--rt-p1-fontSize': '18px',\n '--rt-p1-fontStyle': 'normal',\n '--rt-p1-fontWeight': '500',\n '--rt-p1-lineHeight': '24px',\n '--rt-unstyled-fontSize': '16px',\n '--rt-unstyled-fontStyle': 'normal',\n '--rt-unstyled-fontWeight': '500',\n '--rt-unstyled-lineHeight': '24px',\n '--rt-p3-fontSize': '14px',\n '--rt-p3-fontStyle': 'normal',\n '--rt-p3-fontWeight': '500',\n '--rt-p3-lineHeight': '18px',\n};\n\nfunction buildInitialHtml(\n value?: string,\n typedKey?: string,\n): string | undefined {\n if (!typedKey) return value;\n const existing = value ? HTMLToText(value) : '';\n return `<p>${existing}${typedKey}</p>`;\n}\n\nexport interface CellRichTextEditorProps {\n value?: string;\n onChange: (value: string) => void;\n autoFocus?: boolean;\n initialTypedKey?: string;\n /** Controlled fullscreen state — managed by the parent (CellRichTextInput). */\n isFullScreen?: boolean;\n onToggleFullScreen?: () => void;\n /** CSS custom properties for the --rt-* theming API. Defaults to standard sizes. */\n textStyle?: RichTextStyleVariables;\n}\n\n/** Cell-layer Draft.js editor — fires onChange on every keystroke (not on blur).\n * Fullscreen state is controlled by the parent so ESC handling can be\n * centralised in a capture-phase listener without React portal limitations. */\nexport const CellRichTextEditor: React.FC<CellRichTextEditorProps> = ({\n value,\n onChange,\n autoFocus,\n initialTypedKey,\n isFullScreen = false,\n onToggleFullScreen,\n textStyle = DEFAULT_CELL_TEXT_STYLE,\n}) => {\n const initialHtml = useMemo(\n () => buildInitialHtml(value, initialTypedKey),\n // Deliberately computed only on mount — typed key is a one-shot initializer.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n const {\n editorState: initialEditorState,\n customStyleMap,\n inlineStyles,\n } = useMemo(\n () => htmlToEditorState(initialHtml, compositeDecorator, EDITING_OPTIONS),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n const [editorState, setEditorState] =\n useState<EditorState>(initialEditorState);\n const inlineStylesRef = useRef<InlineStyles>(inlineStyles);\n const customStyleMapRef = useRef<CustomStyleMap>(customStyleMap);\n\n const handleChange = useCallback(\n (newState: EditorState) => {\n setEditorState(newState);\n const html = editorStateToHTML(\n newState,\n inlineStylesRef.current,\n EDITING_OPTIONS,\n );\n onChange(html);\n },\n [onChange],\n );\n\n return (\n <>\n {!isFullScreen && (\n <div style={textStyle as React.CSSProperties}>\n <RichEditor\n editorState={editorState}\n customStyleMap={customStyleMapRef.current}\n onChange={handleChange}\n onToggleFullScreen={onToggleFullScreen}\n isFullScreen={false}\n autoFocus={autoFocus}\n headingsEnabled\n />\n </div>\n )}\n {isFullScreen && (\n <Modal screen=\"desktop\" isOpen>\n <div\n className={combineClasses(style, classes.editor, {\n isFullScreen: true,\n })}\n style={textStyle as React.CSSProperties}\n >\n <RichEditor\n editorState={editorState}\n customStyleMap={customStyleMapRef.current}\n onChange={handleChange}\n onToggleFullScreen={onToggleFullScreen}\n isFullScreen\n autoFocus\n headingsEnabled\n />\n </div>\n </Modal>\n )}\n </>\n );\n};\n\nCellRichTextEditor.displayName = 'CellRichTextEditor';\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_autoFieldTypes","_compositeDecorator","_utils","_richEditor","_stylableHelper","_richTextEditorStCss","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","EDITING_OPTIONS","headingsEnabled","DEFAULT_CELL_TEXT_STYLE","exports","buildInitialHtml","value","typedKey","existing","HTMLToText","CellRichTextEditor","onChange","autoFocus","initialTypedKey","isFullScreen","onToggleFullScreen","textStyle","initialHtml","useMemo","editorState","initialEditorState","customStyleMap","inlineStyles","htmlToEditorState","compositeDecorator","setEditorState","useState","inlineStylesRef","useRef","customStyleMapRef","contentRef","getCurrentContent","useEffect","editorStateToHTML","current","handleChange","useCallback","newState","content","html","createElement","Fragment","style","__self","__source","fileName","lineNumber","columnNumber","RichEditor","Modal","screen","isOpen","className","combineClasses","classes","editor","displayName"],"sources":["../../../../src/components/rich-text/cell-rich-text-editor.tsx"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { EditorState } from 'draft-js';\nimport { Modal } from '@wix/design-system';\n\nimport { HTMLToText } from '../../auto-field-types';\nimport { compositeDecorator } from './rich-text-input/rich-text-editor/composite-decorator';\nimport {\n htmlToEditorState,\n editorStateToHTML,\n} from './rich-text-input/rich-text-editor/utils';\nimport type {\n CustomStyleMap,\n InlineStyles,\n} from './rich-text-input/rich-text-editor/utils';\nimport { RichEditor } from './rich-text-input/rich-text-editor/rich-editor';\nimport { combineClasses } from './rich-text-input/rich-text-editor/utils/stylable-helper';\nimport {\n style,\n classes,\n} from './rich-text-input/rich-text-editor/rich-text-editor.st.css.js';\nimport type { RichTextStyleVariables } from './rich-text-input/rich-text-editor/text-style';\n\nconst EDITING_OPTIONS = { headingsEnabled: true };\n\n/** Default text style — matches the CSS fallback values in rich-editor.st.css.\n * Consumers (e.g. cms-web) can override with site-specific font values. */\nexport const DEFAULT_CELL_TEXT_STYLE: RichTextStyleVariables = {\n '--rt-h1-fontSize': '72px',\n '--rt-h1-fontStyle': 'normal',\n '--rt-h1-fontWeight': '700',\n '--rt-h1-lineHeight': '1.33',\n '--rt-h2-fontSize': '42px',\n '--rt-h2-fontStyle': 'normal',\n '--rt-h2-fontWeight': '700',\n '--rt-h2-lineHeight': '1.2',\n '--rt-h3-fontSize': '38px',\n '--rt-h3-fontStyle': 'normal',\n '--rt-h3-fontWeight': '500',\n '--rt-h3-lineHeight': '1.2',\n '--rt-h4-fontSize': '34px',\n '--rt-h4-fontStyle': 'normal',\n '--rt-h4-fontWeight': '700',\n '--rt-h4-lineHeight': '1.2',\n '--rt-h5-fontSize': '28px',\n '--rt-h5-fontStyle': 'normal',\n '--rt-h5-fontWeight': '700',\n '--rt-h5-lineHeight': '1.2',\n '--rt-h6-fontSize': '22px',\n '--rt-h6-fontStyle': 'normal',\n '--rt-h6-fontWeight': '500',\n '--rt-h6-lineHeight': '1.2',\n '--rt-p1-fontSize': '18px',\n '--rt-p1-fontStyle': 'normal',\n '--rt-p1-fontWeight': '500',\n '--rt-p1-lineHeight': '24px',\n '--rt-unstyled-fontSize': '16px',\n '--rt-unstyled-fontStyle': 'normal',\n '--rt-unstyled-fontWeight': '500',\n '--rt-unstyled-lineHeight': '24px',\n '--rt-p3-fontSize': '14px',\n '--rt-p3-fontStyle': 'normal',\n '--rt-p3-fontWeight': '500',\n '--rt-p3-lineHeight': '18px',\n};\n\nfunction buildInitialHtml(\n value?: string,\n typedKey?: string,\n): string | undefined {\n if (!typedKey) return value;\n const existing = value ? HTMLToText(value) : '';\n return `<p>${existing}${typedKey}</p>`;\n}\n\nexport interface CellRichTextEditorProps {\n value?: string;\n onChange: (value: string) => void;\n autoFocus?: boolean;\n initialTypedKey?: string;\n /** Controlled fullscreen state — managed by the parent (CellRichTextInput). */\n isFullScreen?: boolean;\n onToggleFullScreen?: () => void;\n /** CSS custom properties for the --rt-* theming API. Defaults to standard sizes. */\n textStyle?: RichTextStyleVariables;\n}\n\n/** Cell-layer Draft.js editor — fires onChange on every keystroke (not on blur).\n * Fullscreen state is controlled by the parent so ESC handling can be\n * centralised in a capture-phase listener without React portal limitations. */\nexport const CellRichTextEditor: React.FC<CellRichTextEditorProps> = ({\n value,\n onChange,\n autoFocus,\n initialTypedKey,\n isFullScreen = false,\n onToggleFullScreen,\n textStyle = DEFAULT_CELL_TEXT_STYLE,\n}) => {\n const initialHtml = useMemo(\n () => buildInitialHtml(value, initialTypedKey),\n // Deliberately computed only on mount — typed key is a one-shot initializer.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n const {\n editorState: initialEditorState,\n customStyleMap,\n inlineStyles,\n } = useMemo(\n () => htmlToEditorState(initialHtml, compositeDecorator, EDITING_OPTIONS),\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [],\n );\n\n const [editorState, setEditorState] =\n useState<EditorState>(initialEditorState);\n const inlineStylesRef = useRef<InlineStyles>(inlineStyles);\n const customStyleMapRef = useRef<CustomStyleMap>(customStyleMap);\n\n const contentRef = useRef(initialEditorState.getCurrentContent());\n\n // A typed-to-edit key is already a change, even before the user edits again.\n useEffect(() => {\n if (initialTypedKey) {\n onChange(\n editorStateToHTML(\n initialEditorState,\n inlineStylesRef.current,\n EDITING_OPTIONS,\n ),\n );\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const handleChange = useCallback(\n (newState: EditorState) => {\n setEditorState(newState);\n // Draft.js also fires onChange for focus and selection changes. Only a\n // content change is an edit — otherwise an untouched cell would save.\n const content = newState.getCurrentContent();\n if (content === contentRef.current) {\n return;\n }\n contentRef.current = content;\n const html = editorStateToHTML(\n newState,\n inlineStylesRef.current,\n EDITING_OPTIONS,\n );\n onChange(html);\n },\n [onChange],\n );\n\n return (\n <>\n {!isFullScreen && (\n <div style={textStyle as React.CSSProperties}>\n <RichEditor\n editorState={editorState}\n customStyleMap={customStyleMapRef.current}\n onChange={handleChange}\n onToggleFullScreen={onToggleFullScreen}\n isFullScreen={false}\n autoFocus={autoFocus}\n headingsEnabled\n />\n </div>\n )}\n {isFullScreen && (\n <Modal screen=\"desktop\" isOpen>\n <div\n className={combineClasses(style, classes.editor, {\n isFullScreen: true,\n })}\n style={textStyle as React.CSSProperties}\n >\n <RichEditor\n editorState={editorState}\n customStyleMap={customStyleMapRef.current}\n onChange={handleChange}\n onToggleFullScreen={onToggleFullScreen}\n isFullScreen\n autoFocus\n headingsEnabled\n />\n </div>\n </Modal>\n )}\n </>\n );\n};\n\nCellRichTextEditor.displayName = 'CellRichTextEditor';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,6 +5,7 @@ exports.CellRichTextInput = void 0;
|
|
|
5
5
|
var _react = _interopRequireWildcard(require("react"));
|
|
6
6
|
var _designSystem = require("@wix/design-system");
|
|
7
7
|
var _cellRichTextEditor = require("./cell-rich-text-editor");
|
|
8
|
+
var _keyboard = require("../../utils/keyboard");
|
|
8
9
|
var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/fields/dist/cjs/components/rich-text/cell-rich-text-input.tsx";
|
|
9
10
|
function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
|
|
10
11
|
/** Fixed popover width matching the CMS rich text editor (popover-rich-text-editor.tsx). */
|
|
@@ -52,6 +53,13 @@ const CellRichTextInput = ({
|
|
|
52
53
|
// stopPropagation() prevents the event from reaching any bubble-phase handler.
|
|
53
54
|
(0, _react.useEffect)(() => {
|
|
54
55
|
const handleKeyDown = e => {
|
|
56
|
+
if ((0, _keyboard.isEnterInEditableText)(e)) {
|
|
57
|
+
e.preventDefault();
|
|
58
|
+
e.stopPropagation();
|
|
59
|
+
cancelAnimationFrame(blurFrameIdRef.current);
|
|
60
|
+
onCommit == null || onCommit();
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
55
63
|
if (e.key !== 'Escape') return;
|
|
56
64
|
e.stopPropagation();
|
|
57
65
|
if (isFullScreenRef.current) {
|
|
@@ -82,7 +90,7 @@ const CellRichTextInput = ({
|
|
|
82
90
|
__self: void 0,
|
|
83
91
|
__source: {
|
|
84
92
|
fileName: _jsxFileName,
|
|
85
|
-
lineNumber:
|
|
93
|
+
lineNumber: 94,
|
|
86
94
|
columnNumber: 5
|
|
87
95
|
}
|
|
88
96
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Popover, {
|
|
@@ -94,14 +102,14 @@ const CellRichTextInput = ({
|
|
|
94
102
|
__self: void 0,
|
|
95
103
|
__source: {
|
|
96
104
|
fileName: _jsxFileName,
|
|
97
|
-
lineNumber:
|
|
105
|
+
lineNumber: 106,
|
|
98
106
|
columnNumber: 7
|
|
99
107
|
}
|
|
100
108
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Popover.Element, {
|
|
101
109
|
__self: void 0,
|
|
102
110
|
__source: {
|
|
103
111
|
fileName: _jsxFileName,
|
|
104
|
-
lineNumber:
|
|
112
|
+
lineNumber: 113,
|
|
105
113
|
columnNumber: 9
|
|
106
114
|
}
|
|
107
115
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -112,14 +120,14 @@ const CellRichTextInput = ({
|
|
|
112
120
|
__self: void 0,
|
|
113
121
|
__source: {
|
|
114
122
|
fileName: _jsxFileName,
|
|
115
|
-
lineNumber:
|
|
123
|
+
lineNumber: 114,
|
|
116
124
|
columnNumber: 11
|
|
117
125
|
}
|
|
118
126
|
})), /*#__PURE__*/_react.default.createElement(_designSystem.Popover.Content, {
|
|
119
127
|
__self: void 0,
|
|
120
128
|
__source: {
|
|
121
129
|
fileName: _jsxFileName,
|
|
122
|
-
lineNumber:
|
|
130
|
+
lineNumber: 116,
|
|
123
131
|
columnNumber: 9
|
|
124
132
|
}
|
|
125
133
|
}, /*#__PURE__*/_react.default.createElement("div", {
|
|
@@ -128,7 +136,7 @@ const CellRichTextInput = ({
|
|
|
128
136
|
__self: void 0,
|
|
129
137
|
__source: {
|
|
130
138
|
fileName: _jsxFileName,
|
|
131
|
-
lineNumber:
|
|
139
|
+
lineNumber: 117,
|
|
132
140
|
columnNumber: 11
|
|
133
141
|
}
|
|
134
142
|
}, /*#__PURE__*/_react.default.createElement(_cellRichTextEditor.CellRichTextEditor, {
|
|
@@ -142,7 +150,7 @@ const CellRichTextInput = ({
|
|
|
142
150
|
__self: void 0,
|
|
143
151
|
__source: {
|
|
144
152
|
fileName: _jsxFileName,
|
|
145
|
-
lineNumber:
|
|
153
|
+
lineNumber: 118,
|
|
146
154
|
columnNumber: 13
|
|
147
155
|
}
|
|
148
156
|
})))))
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_cellRichTextEditor","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","POPOVER_WIDTH","CellRichTextInput","value","onChange","initialTypedKey","onCommit","textStyle","DEFAULT_CELL_TEXT_STYLE","isFullScreen","setIsFullScreen","useState","isFullScreenRef","useRef","blurFrameIdRef","handleToggleFullScreen","useCallback","prev","next","current","handleFocus","cancelAnimationFrame","handleBlur","requestAnimationFrame","useEffect","handleKeyDown","key","stopPropagation","document","addEventListener","removeEventListener","createElement","style","position","top","left","width","height","overflow","fontSize","lineHeight","__self","__source","fileName","lineNumber","columnNumber","Popover","shown","placement","appendTo","zIndex","Element","Content","onFocus","onBlur","CellRichTextEditor","autoFocus","onToggleFullScreen","exports","displayName"],"sources":["../../../../src/components/rich-text/cell-rich-text-input.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { Popover } from '@wix/design-system';\n\nimport {\n CellRichTextEditor,\n DEFAULT_CELL_TEXT_STYLE,\n} from './cell-rich-text-editor';\nimport type { RichTextStyleVariables } from './rich-text-input/rich-text-editor/text-style';\n\n/** Fixed popover width matching the CMS rich text editor (popover-rich-text-editor.tsx). */\nconst POPOVER_WIDTH = 582;\n\nexport interface CellRichTextInputProps {\n value?: string;\n onChange: (value: string) => void;\n /** Typed key from type-to-edit — appended to existing plain-text content on mount. */\n initialTypedKey?: string;\n /** Called when the editor loses focus (click outside) or ESC is pressed. */\n onCommit?: () => void;\n /** CSS custom properties for the --rt-* theming API. Defaults to standard sizes. */\n textStyle?: RichTextStyleVariables;\n}\n\n/** Popover-based rich text editor for the richText cell type.\n * Opens immediately as a popover anchored at the cell's top-left corner.\n * Fixed 582px width (matching CMS), covers adjacent cells, flips upward when\n * there is not enough room below. Changes are propagated live via onChange.\n *\n * Close behaviour mirrors cms-web PopoverRichTextEditor: the editor listens for\n * focus/blur events on a wrapper div. onBlur schedules onCommit via\n * requestAnimationFrame so toolbar actions (including dropdown selections in\n * window portals) can cancel the deferred close by refocusing the editor. */\nexport const CellRichTextInput: React.FC<CellRichTextInputProps> = ({\n value,\n onChange,\n initialTypedKey,\n onCommit,\n textStyle = DEFAULT_CELL_TEXT_STYLE,\n}) => {\n const [isFullScreen, setIsFullScreen] = useState(false);\n const isFullScreenRef = useRef(false);\n const blurFrameIdRef = useRef(0);\n\n const handleToggleFullScreen = useCallback(() => {\n setIsFullScreen((prev) => {\n const next = !prev;\n isFullScreenRef.current = next;\n return next;\n });\n }, []);\n\n const handleFocus = useCallback(() => {\n cancelAnimationFrame(blurFrameIdRef.current);\n }, []);\n\n const handleBlur = useCallback(() => {\n cancelAnimationFrame(blurFrameIdRef.current);\n blurFrameIdRef.current = requestAnimationFrame(() => {\n if (!isFullScreenRef.current) {\n onCommit?.();\n }\n });\n }, [onCommit]);\n\n // Capture-phase native listener fires before ALL React bubble-phase handlers\n // (including useKeyboardNavigation which would call cancelEdit() on ESC).\n // stopPropagation() prevents the event from reaching any bubble-phase handler.\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key !== 'Escape') return;\n e.stopPropagation();\n if (isFullScreenRef.current) {\n setIsFullScreen(false);\n isFullScreenRef.current = false;\n } else {\n cancelAnimationFrame(blurFrameIdRef.current);\n onCommit?.();\n }\n };\n document.addEventListener('keydown', handleKeyDown, true);\n return () => document.removeEventListener('keydown', handleKeyDown, true);\n }, [onCommit]);\n\n return (\n // Zero-height anchor at the cell's top-left so the popover opens from there.\n <div\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: 0,\n overflow: 'visible',\n fontSize: 0,\n lineHeight: 0,\n }}\n >\n <Popover\n shown\n placement=\"bottom-start\"\n appendTo=\"window\"\n width={POPOVER_WIDTH}\n zIndex={5001}\n >\n <Popover.Element>\n <div style={{ width: '100%', height: 0 }} />\n </Popover.Element>\n <Popover.Content>\n <div onFocus={handleFocus} onBlur={handleBlur}>\n <CellRichTextEditor\n value={value}\n onChange={onChange}\n autoFocus\n initialTypedKey={initialTypedKey}\n isFullScreen={isFullScreen}\n onToggleFullScreen={handleToggleFullScreen}\n textStyle={textStyle}\n />\n </div>\n </Popover.Content>\n </Popover>\n </div>\n );\n};\n\nCellRichTextInput.displayName = 'CellRichTextInput';\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_cellRichTextEditor","_keyboard","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","POPOVER_WIDTH","CellRichTextInput","value","onChange","initialTypedKey","onCommit","textStyle","DEFAULT_CELL_TEXT_STYLE","isFullScreen","setIsFullScreen","useState","isFullScreenRef","useRef","blurFrameIdRef","handleToggleFullScreen","useCallback","prev","next","current","handleFocus","cancelAnimationFrame","handleBlur","requestAnimationFrame","useEffect","handleKeyDown","isEnterInEditableText","preventDefault","stopPropagation","key","document","addEventListener","removeEventListener","createElement","style","position","top","left","width","height","overflow","fontSize","lineHeight","__self","__source","fileName","lineNumber","columnNumber","Popover","shown","placement","appendTo","zIndex","Element","Content","onFocus","onBlur","CellRichTextEditor","autoFocus","onToggleFullScreen","exports","displayName"],"sources":["../../../../src/components/rich-text/cell-rich-text-input.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useRef, useState } from 'react';\nimport { Popover } from '@wix/design-system';\n\nimport {\n CellRichTextEditor,\n DEFAULT_CELL_TEXT_STYLE,\n} from './cell-rich-text-editor';\nimport type { RichTextStyleVariables } from './rich-text-input/rich-text-editor/text-style';\nimport { isEnterInEditableText } from '../../utils/keyboard';\n\n/** Fixed popover width matching the CMS rich text editor (popover-rich-text-editor.tsx). */\nconst POPOVER_WIDTH = 582;\n\nexport interface CellRichTextInputProps {\n value?: string;\n onChange: (value: string) => void;\n /** Typed key from type-to-edit — appended to existing plain-text content on mount. */\n initialTypedKey?: string;\n /** Called when the editor loses focus (click outside), or ESC or Enter is pressed. Shift+Enter adds a new line. */\n onCommit?: () => void;\n /** CSS custom properties for the --rt-* theming API. Defaults to standard sizes. */\n textStyle?: RichTextStyleVariables;\n}\n\n/** Popover-based rich text editor for the richText cell type.\n * Opens immediately as a popover anchored at the cell's top-left corner.\n * Fixed 582px width (matching CMS), covers adjacent cells, flips upward when\n * there is not enough room below. Changes are propagated live via onChange.\n *\n * Close behaviour mirrors cms-web PopoverRichTextEditor: the editor listens for\n * focus/blur events on a wrapper div. onBlur schedules onCommit via\n * requestAnimationFrame so toolbar actions (including dropdown selections in\n * window portals) can cancel the deferred close by refocusing the editor. */\nexport const CellRichTextInput: React.FC<CellRichTextInputProps> = ({\n value,\n onChange,\n initialTypedKey,\n onCommit,\n textStyle = DEFAULT_CELL_TEXT_STYLE,\n}) => {\n const [isFullScreen, setIsFullScreen] = useState(false);\n const isFullScreenRef = useRef(false);\n const blurFrameIdRef = useRef(0);\n\n const handleToggleFullScreen = useCallback(() => {\n setIsFullScreen((prev) => {\n const next = !prev;\n isFullScreenRef.current = next;\n return next;\n });\n }, []);\n\n const handleFocus = useCallback(() => {\n cancelAnimationFrame(blurFrameIdRef.current);\n }, []);\n\n const handleBlur = useCallback(() => {\n cancelAnimationFrame(blurFrameIdRef.current);\n blurFrameIdRef.current = requestAnimationFrame(() => {\n if (!isFullScreenRef.current) {\n onCommit?.();\n }\n });\n }, [onCommit]);\n\n // Capture-phase native listener fires before ALL React bubble-phase handlers\n // (including useKeyboardNavigation which would call cancelEdit() on ESC).\n // stopPropagation() prevents the event from reaching any bubble-phase handler.\n useEffect(() => {\n const handleKeyDown = (e: KeyboardEvent) => {\n if (isEnterInEditableText(e)) {\n e.preventDefault();\n e.stopPropagation();\n cancelAnimationFrame(blurFrameIdRef.current);\n onCommit?.();\n return;\n }\n if (e.key !== 'Escape') return;\n e.stopPropagation();\n if (isFullScreenRef.current) {\n setIsFullScreen(false);\n isFullScreenRef.current = false;\n } else {\n cancelAnimationFrame(blurFrameIdRef.current);\n onCommit?.();\n }\n };\n document.addEventListener('keydown', handleKeyDown, true);\n return () => document.removeEventListener('keydown', handleKeyDown, true);\n }, [onCommit]);\n\n return (\n // Zero-height anchor at the cell's top-left so the popover opens from there.\n <div\n style={{\n position: 'absolute',\n top: 0,\n left: 0,\n width: '100%',\n height: 0,\n overflow: 'visible',\n fontSize: 0,\n lineHeight: 0,\n }}\n >\n <Popover\n shown\n placement=\"bottom-start\"\n appendTo=\"window\"\n width={POPOVER_WIDTH}\n zIndex={5001}\n >\n <Popover.Element>\n <div style={{ width: '100%', height: 0 }} />\n </Popover.Element>\n <Popover.Content>\n <div onFocus={handleFocus} onBlur={handleBlur}>\n <CellRichTextEditor\n value={value}\n onChange={onChange}\n autoFocus\n initialTypedKey={initialTypedKey}\n isFullScreen={isFullScreen}\n onToggleFullScreen={handleToggleFullScreen}\n textStyle={textStyle}\n />\n </div>\n </Popover.Content>\n </Popover>\n </div>\n );\n};\n\nCellRichTextInput.displayName = 'CellRichTextInput';\n"],"mappings":"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","ignoreList":[]}
|