@wix/patterns-fields 1.72.0 → 1.74.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/form-address.js +5 -3
- package/dist/cjs/components/address/form-address.js.map +1 -1
- package/dist/cjs/components/address/input/address-input.st.css.js +3 -3
- package/dist/cjs/components/address/input/address-input.st.css.js.map +1 -1
- package/dist/cjs/components/address/input/form-address-input.js +5 -16
- package/dist/cjs/components/address/input/form-address-input.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.js +14 -13
- package/dist/cjs/components/audio/audio-field/form-audio-field.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-field/form-audio.js +10 -3
- package/dist/cjs/components/audio/audio-field/form-audio.js.map +1 -1
- package/dist/cjs/components/audio/audio-player/audio-player.st.css.js +2 -2
- package/dist/cjs/components/audio/audio-player/audio-player.st.css.js.map +1 -1
- package/dist/cjs/components/color-view/cell-color-view.st.css.js +3 -3
- package/dist/cjs/components/color-view/cell-color-view.st.css.js.map +1 -1
- package/dist/cjs/components/color-view/color-input.js +6 -5
- package/dist/cjs/components/color-view/color-input.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/color-view/form-color.driver.js +8 -2
- package/dist/cjs/components/color-view/form-color.driver.js.map +1 -1
- package/dist/cjs/components/datetime-input/form-date-time.driver.js +4 -1
- package/dist/cjs/components/datetime-input/form-date-time.driver.js.map +1 -1
- package/dist/cjs/components/datetime-input/form-date-time.js +1 -0
- package/dist/cjs/components/datetime-input/form-date-time.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.js +7 -6
- package/dist/cjs/components/document/form-document-field.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/document/form-document.js +10 -3
- package/dist/cjs/components/document/form-document.js.map +1 -1
- package/dist/cjs/components/exclamation/exclamation.st.css.js +5 -5
- package/dist/cjs/components/exclamation/exclamation.st.css.js.map +1 -1
- package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js +5 -5
- package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
- package/dist/cjs/components/image/form-image-input.js +11 -4
- package/dist/cjs/components/image/form-image-input.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.js +24 -21
- package/dist/cjs/components/media-gallery/form-media-gallery-field.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-gallery/form-media-gallery.js +10 -3
- package/dist/cjs/components/media-gallery/form-media-gallery.js.map +1 -1
- package/dist/cjs/components/media-image/media-image.st.css.js +4 -4
- package/dist/cjs/components/media-image/media-image.st.css.js.map +1 -1
- package/dist/cjs/components/media-image/overlays/overlay.st.css.js +3 -3
- package/dist/cjs/components/media-image/overlays/overlay.st.css.js.map +1 -1
- package/dist/cjs/components/media-loader/media-loader.st.css.js +3 -3
- package/dist/cjs/components/media-loader/media-loader.st.css.js.map +1 -1
- package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
- package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
- package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js +3 -3
- package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
- package/dist/cjs/components/multi-document/multi-document-input/form-multi-document-field.js +7 -6
- package/dist/cjs/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
- package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.js +10 -3
- package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.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/form-rich-content.js +20 -5
- package/dist/cjs/components/rich-content/form-rich-content.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 +15 -7
- package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +11 -7
- 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.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/form-rich-text.js +18 -5
- package/dist/cjs/components/rich-text/form-rich-text.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 +32 -19
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +20 -12
- 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/components/time-input/form-time.js +9 -10
- package/dist/cjs/components/time-input/form-time.js.map +1 -1
- package/dist/cjs/components/video/form-video.js +30 -29
- package/dist/cjs/components/video/form-video.js.map +1 -1
- package/dist/cjs/hooks/index.js +18 -0
- package/dist/cjs/hooks/index.js.map +1 -1
- package/dist/cjs/hooks/pr-5746-kobiburnley-comments.md +54 -0
- package/dist/cjs/hooks/use-field-ref.js +60 -0
- package/dist/cjs/hooks/use-field-ref.js.map +1 -0
- package/dist/cjs/hooks/use-merged-ref.js +27 -0
- package/dist/cjs/hooks/use-merged-ref.js.map +1 -0
- package/dist/cjs/hooks/use-scroll-to-error-ref.js +34 -0
- package/dist/cjs/hooks/use-scroll-to-error-ref.js.map +1 -0
- package/dist/cjs/styles.global.css +1 -1
- package/dist/esm/components/address/form-address.js +3 -1
- package/dist/esm/components/address/form-address.js.map +1 -1
- 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/address/input/form-address-input.js +4 -15
- package/dist/esm/components/address/input/form-address-input.js.map +1 -1
- package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
- package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
- package/dist/esm/components/audio/audio-field/form-audio-field.js +4 -4
- package/dist/esm/components/audio/audio-field/form-audio-field.js.map +1 -1
- package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js +2 -2
- package/dist/esm/components/audio/audio-field/form-audio.js +11 -1
- package/dist/esm/components/audio/audio-field/form-audio.js.map +1 -1
- package/dist/esm/components/audio/audio-player/audio-player.st.css.js +2 -2
- package/dist/esm/components/color-view/cell-color-view.st.css.js +2 -2
- package/dist/esm/components/color-view/color-input.js +1 -1
- package/dist/esm/components/color-view/color-input.js.map +1 -1
- package/dist/esm/components/color-view/color-view.st.css.js +2 -2
- package/dist/esm/components/color-view/form-color.driver.js +8 -2
- package/dist/esm/components/color-view/form-color.driver.js.map +1 -1
- package/dist/esm/components/datetime-input/form-date-time.driver.js +3 -0
- package/dist/esm/components/datetime-input/form-date-time.driver.js.map +1 -1
- package/dist/esm/components/datetime-input/form-date-time.js +1 -1
- package/dist/esm/components/datetime-input/form-date-time.js.map +1 -1
- package/dist/esm/components/delete-dialog/delete-dialog.st.css.js +2 -2
- package/dist/esm/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
- package/dist/esm/components/document/form-document-field.js +4 -4
- package/dist/esm/components/document/form-document-field.js.map +1 -1
- package/dist/esm/components/document/form-document-field.st.css.js +2 -2
- package/dist/esm/components/document/form-document-field.st.css.js.map +1 -1
- package/dist/esm/components/document/form-document.js +11 -1
- package/dist/esm/components/document/form-document.js.map +1 -1
- package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
- package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
- package/dist/esm/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
- package/dist/esm/components/image/form-image-input.js +11 -1
- package/dist/esm/components/image/form-image-input.js.map +1 -1
- 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/cell-media-edit-shell.st.css.js.map +1 -1
- package/dist/esm/components/media-control/paste-url-button.st.css.js +2 -2
- package/dist/esm/components/media-gallery/form-media-gallery-field.js +7 -5
- package/dist/esm/components/media-gallery/form-media-gallery-field.js.map +1 -1
- package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js +2 -2
- package/dist/esm/components/media-gallery/form-media-gallery.js +11 -1
- package/dist/esm/components/media-gallery/form-media-gallery.js.map +1 -1
- package/dist/esm/components/media-image/media-image.st.css.js +3 -3
- package/dist/esm/components/media-image/overlays/overlay.st.css.js +2 -2
- package/dist/esm/components/media-loader/media-loader.st.css.js +2 -2
- package/dist/esm/components/media-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-field.js +4 -4
- package/dist/esm/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
- package/dist/esm/components/multi-document/multi-document-input/form-multi-document.js +11 -1
- package/dist/esm/components/multi-document/multi-document-input/form-multi-document.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-reference-input.st.css.js +2 -2
- package/dist/esm/components/rich-content/form-rich-content.js +8 -3
- package/dist/esm/components/rich-content/form-rich-content.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css +15 -7
- package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +3 -3
- 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/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +2 -2
- package/dist/esm/components/rich-text/form-rich-text.js +7 -3
- package/dist/esm/components/rich-text/form-rich-text.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-editor.st.css.js.map +1 -1
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css +32 -19
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +3 -3
- 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/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
- package/dist/esm/components/text/text-view.st.css.js +2 -2
- package/dist/esm/components/time-input/form-time.js +4 -3
- package/dist/esm/components/time-input/form-time.js.map +1 -1
- package/dist/esm/components/video/form-video.js +3 -2
- package/dist/esm/components/video/form-video.js.map +1 -1
- package/dist/esm/hooks/index.js +3 -0
- package/dist/esm/hooks/index.js.map +1 -1
- package/dist/esm/hooks/pr-5746-kobiburnley-comments.md +54 -0
- package/dist/esm/hooks/use-field-ref.js +36 -0
- package/dist/esm/hooks/use-field-ref.js.map +1 -0
- package/dist/esm/hooks/use-merged-ref.js +23 -0
- package/dist/esm/hooks/use-merged-ref.js.map +1 -0
- package/dist/esm/hooks/use-scroll-to-error-ref.js +26 -0
- package/dist/esm/hooks/use-scroll-to-error-ref.js.map +1 -0
- package/dist/esm/styles.global.css +1 -1
- package/dist/types/components/address/form-address.d.ts.map +1 -1
- package/dist/types/components/address/input/address-input.st.css.d.ts.map +1 -1
- package/dist/types/components/address/input/form-address-input.d.ts.map +1 -1
- package/dist/types/components/audio/actions/actions-menu/actions-menu.st.css.d.ts.map +1 -1
- package/dist/types/components/audio/audio-field/form-audio-field.d.ts.map +1 -1
- package/dist/types/components/audio/audio-field/form-audio.d.ts.map +1 -1
- package/dist/types/components/color-view/color-input.d.ts.map +1 -1
- package/dist/types/components/color-view/form-color.driver.d.ts +5 -15
- package/dist/types/components/color-view/form-color.driver.d.ts.map +1 -1
- package/dist/types/components/datetime-input/form-date-time.driver.d.ts +1 -0
- package/dist/types/components/datetime-input/form-date-time.driver.d.ts.map +1 -1
- package/dist/types/components/delete-dialog/delete-dialog.st.css.d.ts.map +1 -1
- package/dist/types/components/document/form-document-field.d.ts.map +1 -1
- package/dist/types/components/document/form-document-field.st.css.d.ts.map +1 -1
- package/dist/types/components/document/form-document.d.ts.map +1 -1
- package/dist/types/components/highlighted-text/highlighted-text.st.css.d.ts.map +1 -1
- package/dist/types/components/image/form-image-input.d.ts.map +1 -1
- package/dist/types/components/media-control/cell-media-edit-shell.st.css.d.ts.map +1 -1
- package/dist/types/components/media-gallery/form-media-gallery-field.d.ts +3 -0
- package/dist/types/components/media-gallery/form-media-gallery-field.d.ts.map +1 -1
- package/dist/types/components/media-gallery/form-media-gallery.d.ts.map +1 -1
- package/dist/types/components/multi-document/cell-multi-document-edit.st.css.d.ts.map +1 -1
- package/dist/types/components/multi-document/multi-document-input/form-multi-document-field.d.ts.map +1 -1
- package/dist/types/components/multi-document/multi-document-input/form-multi-document.d.ts.map +1 -1
- package/dist/types/components/rich-content/form-rich-content.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.d.ts +7 -3
- 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/form-read-only-input/rich-content-form-read-only-input.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-text/form-rich-text.d.ts.map +1 -1
- package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.d.ts +16 -8
- 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/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.d.ts.map +1 -1
- package/dist/types/components/time-input/form-time.d.ts.map +1 -1
- package/dist/types/components/video/form-video.d.ts.map +1 -1
- package/dist/types/hooks/index.d.ts +3 -0
- package/dist/types/hooks/index.d.ts.map +1 -1
- package/dist/types/hooks/use-field-ref.d.ts +36 -0
- package/dist/types/hooks/use-field-ref.d.ts.map +1 -0
- package/dist/types/hooks/use-merged-ref.d.ts +11 -0
- package/dist/types/hooks/use-merged-ref.d.ts.map +1 -0
- package/dist/types/hooks/use-scroll-to-error-ref.d.ts +14 -0
- package/dist/types/hooks/use-scroll-to-error-ref.d.ts.map +1 -0
- package/package.json +5 -5
- package/src/__tests__/components/audio/form-audio.spec.tsx +22 -0
- package/src/__tests__/components/color-view/form-color.spec.tsx +46 -3
- package/src/__tests__/components/document/form-document.spec.tsx +22 -0
- package/src/__tests__/components/image/form-image-input.spec.tsx +22 -0
- package/src/__tests__/components/media-gallery/form-media-gallery.spec.tsx +21 -0
- package/src/__tests__/components/multi-document/form-multi-document.spec.tsx +21 -0
- package/src/__tests__/components/rich-content/form-rich-content.spec.tsx +22 -0
- package/src/__tests__/components/rich-editors-border.spec.ts +45 -0
- package/src/__tests__/components/rich-text/form-rich-text.spec.tsx +18 -0
- package/src/__tests__/hooks/use-field-ref.spec.tsx +132 -0
- package/src/components/address/form-address.tsx +4 -1
- package/src/components/address/input/address-input.st.css.ts +2 -2
- package/src/components/address/input/form-address-input.tsx +5 -20
- 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-field/form-audio-field.tsx +4 -3
- package/src/components/audio/audio-field/form-audio.tsx +7 -0
- package/src/components/audio/audio-player/audio-player.st.css.ts +2 -2
- package/src/components/color-view/cell-color-view.st.css.ts +2 -2
- package/src/components/color-view/color-input.tsx +13 -2
- package/src/components/color-view/color-view.st.css.ts +2 -2
- package/src/components/color-view/form-color.driver.ts +8 -2
- package/src/components/datetime-input/form-date-time.driver.ts +3 -0
- package/src/components/datetime-input/form-date-time.tsx +1 -1
- 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/document/form-document-field.tsx +4 -3
- package/src/components/document/form-document.tsx +7 -0
- package/src/components/exclamation/exclamation.st.css.ts +2 -2
- package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
- package/src/components/image/form-image-input.tsx +7 -0
- 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-gallery/form-media-gallery-field.tsx +9 -4
- package/src/components/media-gallery/form-media-gallery.tsx +7 -0
- package/src/components/media-image/media-image.st.css.ts +3 -3
- package/src/components/media-image/overlays/overlay.st.css.ts +2 -2
- package/src/components/media-loader/media-loader.st.css.ts +2 -2
- package/src/components/media-tag/web-media-tag/media-tag.st.css.ts +2 -2
- package/src/components/multi-document/cell-multi-document-edit.st.css.ts +2 -2
- package/src/components/multi-document/multi-document-input/form-multi-document-field.tsx +4 -3
- package/src/components/multi-document/multi-document-input/form-multi-document.st.css.ts +2 -2
- package/src/components/multi-document/multi-document-input/form-multi-document.tsx +7 -0
- 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/form-rich-content.tsx +24 -14
- 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 +15 -7
- package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.ts +3 -3
- 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-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/form-rich-text.tsx +18 -9
- 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 +32 -19
- package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts +3 -3
- 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/components/time-input/form-time.tsx +9 -3
- package/src/components/video/form-video.tsx +4 -2
- package/src/hooks/index.ts +3 -0
- package/src/hooks/pr-5746-kobiburnley-comments.md +54 -0
- package/src/hooks/use-field-ref.ts +65 -0
- package/src/hooks/use-merged-ref.ts +30 -0
- package/src/hooks/use-scroll-to-error-ref.ts +39 -0
- package/src/styles.global.css +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-content-editor.st.css.js","sourceRoot":"","sources":["../../../../../../src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAIpF,IAAI,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"rich-content-editor.st.css.js","sourceRoot":"","sources":["../../../../../../src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAIpF,IAAI,WAAW,GAAG,6BAA6B,CAAC;AAChD,IAAI,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAErD,MAAM,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAI,KAAK,GAA2C,OAAO,CAAC;AACnE,MAAM,CAAC,IAAI,EAAE,GAA2C,OAAO,CAAC;AAEhE,MAAM,CAAC,IAAI,SAAS,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,IAAI,OAAO,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,0CAA0C,EAAC,CAAC;AACja,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,CAAC;AAC1B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;AAC3B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,IAAI,GAAG,EAAC,yBAAyB,EAAC,2BAA2B,EAAC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "richcontenttoolbar2225509028";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "richcontenttoolbar2225509028__root", "toolbar": "richcontenttoolbar2225509028__toolbar", "toolbarButton": "richcontenttoolbar2225509028__toolbarButton", "separator": "richcontenttoolbar2225509028__separator" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "richcontentviewer818683085";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "richcontentviewer818683085__root", "viewer": "richcontentviewer818683085__viewer", "modalViewer": "richcontentviewer818683085__modalViewer" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { FormField } from '@wix/design-system';
|
|
2
|
+
import { Box, FormField } from '@wix/design-system';
|
|
3
3
|
import { observer } from 'mobx-react-lite';
|
|
4
4
|
import { useWixPatternsContainer } from '@wix/bex-core/react';
|
|
5
5
|
import { useController } from '@wix/bex-core/form';
|
|
6
|
-
import { useTranslations } from '../../hooks';
|
|
6
|
+
import { useScrollToErrorRef, useTranslations } from '../../hooks';
|
|
7
7
|
import { isEmpty } from '../../validations/string';
|
|
8
8
|
import { isDataValidOrNotSet, richTextValidation, } from '../../validations/validations';
|
|
9
9
|
import { TypeMismatchExclamation } from '../exclamation/type-mismatch-exclamation';
|
|
@@ -25,10 +25,14 @@ const _FormRichText = (props) => {
|
|
|
25
25
|
},
|
|
26
26
|
},
|
|
27
27
|
});
|
|
28
|
+
// The editor is lazy and exposes no focus handle, so hand react-hook-form
|
|
29
|
+
// a wrapper it can bring into view instead.
|
|
30
|
+
const setScrollToErrorRef = useScrollToErrorRef(controller.field.ref, '[contenteditable]');
|
|
28
31
|
return (React.createElement(FormField, { label: field.displayName, required: field.validation?.required, status: controller.fieldState.error ? 'error' : undefined, statusMessage: controller.fieldState.error?.message, dataHook: dataHook, suffix: isDataValidOrNotSet(controller.field.value, richTextValidation) ? undefined : (React.createElement(TypeMismatchExclamation, { typeName: t('auto-patterns.fields.field_type_rich_text_title'), clearButtonText: t('auto-patterns.fields.type_mismatch_clear'), convertButtonText: t('auto-patterns.fields.type_mismatch_convert'), onClear: () => controller.field.onChange(undefined), onChange: (value) => controller.field.onChange(value), convertDisabledText: t('auto-patterns.fields.type_mismatch_convert_disabled'), fieldName: field.displayName, isConverted: false, isConverting: false, convertedValue: "", tooltipText: t('auto-patterns.fields.type_mismatch_tip', {
|
|
29
32
|
typeName: 'Rich Text',
|
|
30
33
|
}) })) },
|
|
31
|
-
React.createElement(
|
|
34
|
+
React.createElement(Box, { width: "100%", ref: setScrollToErrorRef },
|
|
35
|
+
React.createElement(FormRichTextInput, { autoFocus: false, data: controller.field.value, onChange: (value) => controller.field.onChange?.(value), dataHook: `rich-text-${field.id}`, field: field.id }))));
|
|
32
36
|
};
|
|
33
37
|
export const FormRichText = observer(_FormRichText);
|
|
34
38
|
//# sourceMappingURL=form-rich-text.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-rich-text.js","sourceRoot":"","sources":["../../../../src/components/rich-text/form-rich-text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"form-rich-text.js","sourceRoot":"","sources":["../../../../src/components/rich-text/form-rich-text.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "richeditor207855410";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "richeditor207855410__root", "editor": "richeditor207855410__editor", "header-one": "richeditor207855410__header-one", "header-two": "richeditor207855410__header-two", "header-three": "richeditor207855410__header-three", "header-four": "richeditor207855410__header-four", "header-five": "richeditor207855410__header-five", "header-six": "richeditor207855410__header-six", "paragraph-one": "richeditor207855410__paragraph-one", "unstyled": "richeditor207855410__unstyled", "paragraph-three": "richeditor207855410__paragraph-three", "align-left": "richeditor207855410__align-left", "align-right": "richeditor207855410__align-right", "align-center": "richeditor207855410__align-center", "align-justify": "richeditor207855410__align-justify", "withMargin": "richeditor207855410__withMargin", "dir-rtl": "richeditor207855410__dir-rtl" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-editor.st.css.js","sourceRoot":"","sources":["../../../../../../src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAIpF,IAAI,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"rich-editor.st.css.js","sourceRoot":"","sources":["../../../../../../src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css
CHANGED
|
@@ -1,12 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
@property st-global(--wds-
|
|
7
|
-
@property st-global(--wds-color-
|
|
1
|
+
/* Every border declaration below needs the same fallback chain WDS Input
|
|
2
|
+
itself uses. A `var()` with no fallback that resolves to nothing makes the
|
|
3
|
+
whole declaration invalid, and the element renders with no border at all —
|
|
4
|
+
which is what these editors did outside the theme that defines the
|
|
5
|
+
--wds-color-* palette. See CAIRO-4561. */
|
|
6
|
+
@property st-global(--wds-input-border-color);
|
|
7
|
+
@property st-global(--wds-input-border-color-focus);
|
|
8
8
|
@property st-global(--wds-input-shadow-focus-standard);
|
|
9
|
-
@property st-global(--wds-
|
|
9
|
+
@property st-global(--wds-input-shadow-focus-destructive);
|
|
10
|
+
@property st-global(--wds-input-shadow-focus-warning);
|
|
11
|
+
@property st-global(--wds-input-border-radius-default-medium);
|
|
12
|
+
@property st-global(--wds-color-border-destructive-secondary-active);
|
|
13
|
+
@property st-global(--wds-color-border-warning-secondary-active);
|
|
14
|
+
@property st-global(--wsr-color-B10);
|
|
15
|
+
@property st-global(--wsr-color-B40);
|
|
16
|
+
@property st-global(--wsr-color-R10);
|
|
17
|
+
@property st-global(--wsr-color-R40);
|
|
18
|
+
@property st-global(--wsr-color-Y10);
|
|
19
|
+
@property st-global(--wsr-color-Y40);
|
|
20
|
+
@property st-global(--wsr-color-F00);
|
|
21
|
+
@property st-global(--wsr-border-radius-06);
|
|
22
|
+
@property st-global(--wds-color-black-700);
|
|
10
23
|
|
|
11
24
|
/* Cannot import Editor from rich-editor.st.css - causes Stylable build error
|
|
12
25
|
:import {
|
|
@@ -24,37 +37,37 @@
|
|
|
24
37
|
box-sizing: border-box;
|
|
25
38
|
outline: 0;
|
|
26
39
|
overflow: hidden;
|
|
27
|
-
border-radius: var(--wds-border-radius-
|
|
40
|
+
border-radius: var(--wds-input-border-radius-default-medium, var(--wsr-border-radius-06, 6px));
|
|
28
41
|
}
|
|
29
42
|
|
|
30
43
|
.root:border(none) {
|
|
31
44
|
border: none;
|
|
32
45
|
}
|
|
33
46
|
.root:border(standard) {
|
|
34
|
-
border: 1px solid var(--wds-color-
|
|
47
|
+
border: 1px solid var(--wds-input-border-color, var(--wsr-color-B40, #D6E6FE));
|
|
35
48
|
}
|
|
36
49
|
.root:border(standard):focus,
|
|
37
50
|
.root:border(standard):focus-within {
|
|
38
|
-
border: 1px solid var(--wds-color-
|
|
39
|
-
box-shadow: var(--wds-input-shadow-focus-standard);
|
|
51
|
+
border: 1px solid var(--wds-input-border-color-focus, var(--wsr-color-B10, #116DFF));
|
|
52
|
+
box-shadow: var(--wds-input-shadow-focus-standard, 0 0 0 3px var(--wsr-color-F00, #A6D0FF));
|
|
40
53
|
}
|
|
41
54
|
|
|
42
55
|
.root:border(standard):status(error) {
|
|
43
|
-
border: 1px solid var(--wds-color-
|
|
56
|
+
border: 1px solid var(--wds-color-border-destructive-secondary-active, var(--wsr-color-R10, #E62214));
|
|
44
57
|
}
|
|
45
58
|
.root:border(standard):status(error):focus,
|
|
46
59
|
.root:border(standard):status(error):focus-within {
|
|
47
|
-
border: 1px solid var(--wds-color-
|
|
48
|
-
box-shadow: 0 0 0 3px var(--
|
|
60
|
+
border: 1px solid var(--wds-color-border-destructive-secondary-active, var(--wsr-color-R10, #E62214));
|
|
61
|
+
box-shadow: var(--wds-input-shadow-focus-destructive, 0 0 0 3px var(--wsr-color-R40, #FBD0CD));
|
|
49
62
|
}
|
|
50
63
|
|
|
51
64
|
.root:border(standard):status(warning) {
|
|
52
|
-
border: 1px solid var(--wds-color-
|
|
65
|
+
border: 1px solid var(--wds-color-border-warning-secondary-active, var(--wsr-color-Y10, #FFB700));
|
|
53
66
|
}
|
|
54
67
|
.root:border(standard):status(warning):focus,
|
|
55
68
|
.root:border(standard):status(warning):focus-within {
|
|
56
|
-
border: 1px solid var(--wds-color-
|
|
57
|
-
box-shadow: 0 0 0 3px var(--
|
|
69
|
+
border: 1px solid var(--wds-color-border-warning-secondary-active, var(--wsr-color-Y10, #FFB700));
|
|
70
|
+
box-shadow: var(--wds-input-shadow-focus-warning, 0 0 0 3px var(--wsr-color-Y40, #FFE2A5));
|
|
58
71
|
}
|
|
59
72
|
|
|
60
73
|
.nativeInput {
|
|
@@ -78,7 +91,7 @@
|
|
|
78
91
|
overflow: hidden;
|
|
79
92
|
box-sizing: border-box;
|
|
80
93
|
flex-direction: row;
|
|
81
|
-
border-radius: var(--wds-border-radius-
|
|
94
|
+
border-radius: var(--wds-input-border-radius-default-medium, var(--wsr-border-radius-06, 6px));
|
|
82
95
|
}
|
|
83
96
|
.editor:isFullScreen {
|
|
84
97
|
max-width: 782px;
|
package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "richtexteditor4232484640";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "richtexteditor4232484640__root", "nativeInput": "richtexteditor4232484640__nativeInput", "editor": "richtexteditor4232484640__editor" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
13
13
|
export var stVars = {};
|
|
14
|
-
export var vars = { "wds-color-
|
|
14
|
+
export var vars = { "wds-input-border-color": "--wds-input-border-color", "wds-input-border-color-focus": "--wds-input-border-color-focus", "wds-input-shadow-focus-standard": "--wds-input-shadow-focus-standard", "wds-input-shadow-focus-destructive": "--wds-input-shadow-focus-destructive", "wds-input-shadow-focus-warning": "--wds-input-shadow-focus-warning", "wds-input-border-radius-default-medium": "--wds-input-border-radius-default-medium", "wds-color-border-destructive-secondary-active": "--wds-color-border-destructive-secondary-active", "wds-color-border-warning-secondary-active": "--wds-color-border-warning-secondary-active", "wsr-color-B10": "--wsr-color-B10", "wsr-color-B40": "--wsr-color-B40", "wsr-color-R10": "--wsr-color-R10", "wsr-color-R40": "--wsr-color-R40", "wsr-color-Y10": "--wsr-color-Y10", "wsr-color-Y40": "--wsr-color-Y40", "wsr-color-F00": "--wsr-color-F00", "wsr-border-radius-06": "--wsr-border-radius-06", "wds-color-black-700": "--wds-color-black-700" };
|
|
15
15
|
//# sourceMappingURL=rich-text-editor.st.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"rich-text-editor.st.css.js","sourceRoot":"","sources":["../../../../../../src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAIpF,IAAI,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"rich-text-editor.st.css.js","sourceRoot":"","sources":["../../../../../../src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAC;AAIpF,IAAI,WAAW,GAAG,0BAA0B,CAAC;AAC7C,IAAI,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAErD,MAAM,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAI,KAAK,GAA2C,OAAO,CAAC;AACnE,MAAM,CAAC,IAAI,EAAE,GAA2C,OAAO,CAAC;AAEhE,MAAM,CAAC,IAAI,SAAS,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,IAAI,OAAO,GAAG,EAAC,MAAM,EAAC,gCAAgC,EAAC,aAAa,EAAC,uCAAuC,EAAC,QAAQ,EAAC,kCAAkC,EAAC,CAAC;AACjK,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,CAAC;AAC1B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;AAC3B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,IAAI,GAAG,EAAC,wBAAwB,EAAC,0BAA0B,EAAC,8BAA8B,EAAC,gCAAgC,EAAC,iCAAiC,EAAC,mCAAmC,EAAC,oCAAoC,EAAC,sCAAsC,EAAC,gCAAgC,EAAC,kCAAkC,EAAC,wCAAwC,EAAC,0CAA0C,EAAC,+CAA+C,EAAC,iDAAiD,EAAC,2CAA2C,EAAC,6CAA6C,EAAC,eAAe,EAAC,iBAAiB,EAAC,eAAe,EAAC,iBAAiB,EAAC,eAAe,EAAC,iBAAiB,EAAC,eAAe,EAAC,iBAAiB,EAAC,eAAe,EAAC,iBAAiB,EAAC,eAAe,EAAC,iBAAiB,EAAC,eAAe,EAAC,iBAAiB,EAAC,sBAAsB,EAAC,wBAAwB,EAAC,qBAAqB,EAAC,uBAAuB,EAAC,CAAC"}
|
package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../../../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "toolbar541225243";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "toolbar541225243__root", "item": "toolbar541225243__item", "separator": "toolbar541225243__separator", "clearFormatting": "toolbar541225243__clearFormatting", "fullScreen": "toolbar541225243__fullScreen", "dropdownItemContent": "toolbar541225243__dropdownItemContent", "dropdownItemTitle": "toolbar541225243__dropdownItemTitle", "dropdownItemSubtitle": "toolbar541225243__dropdownItemSubtitle", "dropdownHeaderOne": "toolbar541225243__dropdownHeaderOne", "dropdownHeaderTwo": "toolbar541225243__dropdownHeaderTwo", "dropdownHeaderThree": "toolbar541225243__dropdownHeaderThree", "dropdownHeaderFour": "toolbar541225243__dropdownHeaderFour", "dropdownHeaderFive": "toolbar541225243__dropdownHeaderFive", "dropdownHeaderSix": "toolbar541225243__dropdownHeaderSix", "dropdownParagraphOne": "toolbar541225243__dropdownParagraphOne", "dropdownNormalText": "toolbar541225243__dropdownNormalText", "dropdownParagraphThree": "toolbar541225243__dropdownParagraphThree" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.st.css.js","sourceRoot":"","sources":["../../../../../../../src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAIvF,IAAI,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"toolbar.st.css.js","sourceRoot":"","sources":["../../../../../../../src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,wCAAwC,CAAC;AAIvF,IAAI,WAAW,GAAG,kBAAkB,CAAC;AACrC,IAAI,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAErD,MAAM,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAI,KAAK,GAA2C,OAAO,CAAC;AACnE,MAAM,CAAC,IAAI,EAAE,GAA2C,OAAO,CAAC;AAEhE,MAAM,CAAC,IAAI,SAAS,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,IAAI,OAAO,GAAG,EAAC,MAAM,EAAC,wBAAwB,EAAC,MAAM,EAAC,wBAAwB,EAAC,WAAW,EAAC,6BAA6B,EAAC,iBAAiB,EAAC,mCAAmC,EAAC,YAAY,EAAC,8BAA8B,EAAC,qBAAqB,EAAC,uCAAuC,EAAC,mBAAmB,EAAC,qCAAqC,EAAC,sBAAsB,EAAC,wCAAwC,EAAC,mBAAmB,EAAC,qCAAqC,EAAC,mBAAmB,EAAC,qCAAqC,EAAC,qBAAqB,EAAC,uCAAuC,EAAC,oBAAoB,EAAC,sCAAsC,EAAC,oBAAoB,EAAC,sCAAsC,EAAC,mBAAmB,EAAC,qCAAqC,EAAC,sBAAsB,EAAC,wCAAwC,EAAC,oBAAoB,EAAC,sCAAsC,EAAC,wBAAwB,EAAC,0CAA0C,EAAC,CAAC;AAC/7B,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,CAAC;AAC1B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;AAC3B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,IAAI,GAAG,EAAC,oBAAoB,EAAC,sBAAsB,EAAC,qBAAqB,EAAC,uBAAuB,EAAC,iBAAiB,EAAC,mBAAmB,EAAC,yBAAyB,EAAC,2BAA2B,EAAC,iBAAiB,EAAC,mBAAmB,EAAC,wBAAwB,EAAC,0BAA0B,EAAC,sBAAsB,EAAC,wBAAwB,EAAC,mBAAmB,EAAC,qBAAqB,EAAC,0BAA0B,EAAC,4BAA4B,EAAC,eAAe,EAAC,iBAAiB,EAAC,eAAe,EAAC,iBAAiB,EAAC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "textview2294932004";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "textview2294932004__root", "textView": "textview2294932004__textView" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
@@ -3,7 +3,7 @@ import { FormField } from '@wix/design-system';
|
|
|
3
3
|
import { observer } from 'mobx-react-lite';
|
|
4
4
|
import { useWixPatternsContainer } from '@wix/bex-core/react';
|
|
5
5
|
import { useController } from '@wix/bex-core/form';
|
|
6
|
-
import { useTranslations } from '../../hooks';
|
|
6
|
+
import { fieldRefHandle, useTranslations } from '../../hooks';
|
|
7
7
|
import { isDataValidOrNotSet, timeValidation, } from '../../validations/validations';
|
|
8
8
|
import { isEmpty } from '../../validations/string';
|
|
9
9
|
import { TypeMismatchExclamation } from '../exclamation/type-mismatch-exclamation';
|
|
@@ -27,10 +27,11 @@ const _FormTime = (props) => {
|
|
|
27
27
|
});
|
|
28
28
|
// TimeInput has no DOM ref to hand to field.ref, so bridge its imperative
|
|
29
29
|
// focus() — lets react-hook-form's shouldFocusError scroll to this field
|
|
30
|
-
// when it blocks save.
|
|
30
|
+
// when it blocks save. TimeInputImperativeActions has no select(), so the
|
|
31
|
+
// handle absorbs the calls react-hook-form makes beyond focus.
|
|
31
32
|
const timeRef = useRef(null);
|
|
32
33
|
useEffect(() => {
|
|
33
|
-
controller.field.ref(
|
|
34
|
+
controller.field.ref(fieldRefHandle(() => timeRef.current?.focus(), () => timeRef.current));
|
|
34
35
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
35
36
|
}, []);
|
|
36
37
|
return (React.createElement(FormField, { label: field.displayName, required: field.validation?.required, status: controller.fieldState.error ? 'error' : undefined, statusMessage: controller.fieldState.error?.message, dataHook: dataHook, suffix: isDataValidOrNotSet(controller.field.value, timeValidation) ? undefined : (React.createElement(TypeMismatchExclamation, { typeName: t('auto-patterns.fields.field_type_time_title'), clearButtonText: t('auto-patterns.fields.type_mismatch_clear'), convertButtonText: t('auto-patterns.fields.type_mismatch_convert'), onClear: () => controller.field.onChange(undefined), onChange: (value) => controller.field.onChange(value), convertDisabledText: t('auto-patterns.fields.type_mismatch_convert_disabled'), fieldName: field.displayName, isConverted: false, isConverting: false, convertedValue: "00:00:00.000", tooltipText: t('auto-patterns.fields.type_mismatch_tip', {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-time.js","sourceRoot":"","sources":["../../../../src/components/time-input/form-time.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGnD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"form-time.js","sourceRoot":"","sources":["../../../../src/components/time-input/form-time.tsx"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,7 @@ import { Replace, More, Download, Delete, Maximize, } from '@wix/wix-ui-icons-co
|
|
|
4
4
|
import { observer } from 'mobx-react-lite';
|
|
5
5
|
import { useIsMobile, useWixPatternsContainer } from '@wix/bex-core/react';
|
|
6
6
|
import { useController } from '@wix/bex-core/form';
|
|
7
|
-
import { useTranslations } from '../../hooks';
|
|
7
|
+
import { useFieldRef, useTranslations } from '../../hooks';
|
|
8
8
|
import { isEmpty } from '../../validations/string';
|
|
9
9
|
import { isDataValidOrNotSet } from '../../validations/validations';
|
|
10
10
|
import * as videoValidation from '../../validations/video';
|
|
@@ -29,6 +29,7 @@ const _FormVideo = (props) => {
|
|
|
29
29
|
},
|
|
30
30
|
},
|
|
31
31
|
});
|
|
32
|
+
const setFieldRef = useFieldRef(controller.field.ref);
|
|
32
33
|
async function openMedia() {
|
|
33
34
|
if (!openMediaManager)
|
|
34
35
|
return;
|
|
@@ -71,7 +72,7 @@ const _FormVideo = (props) => {
|
|
|
71
72
|
, {
|
|
72
73
|
// Only the empty state can fail `required`, so the add button is
|
|
73
74
|
// always the right target for react-hook-form's shouldFocusError.
|
|
74
|
-
ref:
|
|
75
|
+
ref: setFieldRef, dataHook: `video-${field.id}`, onAddImage: isMobile ? undefined : () => openMedia(), addImageInfo: t('auto-patterns.fields.add_video_tooltip'), height: MEDIA_HEIGHT, width: "100%" }))),
|
|
75
76
|
isPreviewOpen && (React.createElement(Modal, { isOpen: isPreviewOpen, onRequestClose: handleClosePreview },
|
|
76
77
|
React.createElement(CustomModalLayout, { title: field.displayName, onCloseButtonClick: handleClosePreview, content: React.createElement("div", { style: {
|
|
77
78
|
display: 'flex',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-video.js","sourceRoot":"","sources":["../../../../src/components/video/form-video.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,SAAS,EACT,WAAW,EACX,KAAK,EACL,iBAAiB,EACjB,YAAY,EACZ,GAAG,EACH,OAAO,EACP,UAAU,EACV,WAAW,EACX,KAAK,GACN,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EACL,OAAO,EACP,IAAI,EACJ,QAAQ,EACR,MAAM,EACN,QAAQ,GACT,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"form-video.js","sourceRoot":"","sources":["../../../../src/components/video/form-video.tsx"],"names":[],"mappings":"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"}
|
package/dist/esm/hooks/index.js
CHANGED
|
@@ -7,4 +7,7 @@ export * from './use-translations';
|
|
|
7
7
|
export * from './use-with-callback';
|
|
8
8
|
export * from './use-resize-effect';
|
|
9
9
|
export * from './use-cell-edit-keyboard';
|
|
10
|
+
export * from './use-field-ref';
|
|
11
|
+
export * from './use-merged-ref';
|
|
12
|
+
export * from './use-scroll-to-error-ref';
|
|
10
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,kBAAkB,CAAC;AACjC,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,8BAA8B,CAAC;AAC7C,cAAc,kBAAkB,CAAC;AACjC,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,qBAAqB,CAAC;AACpC,cAAc,0BAA0B,CAAC;AACzC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
# PR #5746 — kobiburnley review
|
|
2
|
+
|
|
3
|
+
[fix(fields): register a field ref that answers every call react-hook-form makes](https://github.com/wix-private/cairo/pull/5746)
|
|
4
|
+
|
|
5
|
+
> **Verdict: Request changes** — 1 blocker. (Posted as a comment review because GitHub will not let the
|
|
6
|
+
> author formally request changes on their own PR.)
|
|
7
|
+
>
|
|
8
|
+
> The diagnosis is right, and I checked it against the installed `react-hook-form` (7.56.4) rather than
|
|
9
|
+
> taking it on trust […] `fieldRefHandle` / `useFieldRef` are a clean way to close it […] I also confirmed
|
|
10
|
+
> the integration test is a real guard, not decoration.
|
|
11
|
+
>
|
|
12
|
+
> One blocker: the audit missed a call site with exactly the shape the helper exists for.
|
|
13
|
+
>
|
|
14
|
+
> — [pullrequestreview-5002194499](https://github.com/wix-private/cairo/pull/5746#pullrequestreview-5002194499)
|
|
15
|
+
|
|
16
|
+
All claims below were checked against the branch before being written down. Every one holds.
|
|
17
|
+
|
|
18
|
+
| # | Comment link | Description | Severity | Status | Resolution recommendation |
|
|
19
|
+
|---|---|---|---|---|---|
|
|
20
|
+
| 1 | [discussion_r3838295772](https://github.com/wix-private/cairo/pull/5746#discussion_r3838295772) — `packages/fields/src/components/time-input/form-time.tsx:46` | `form-time` registers a hand-rolled focus-only object, `controller.field.ref({ focus: () => timeRef.current?.focus() })`. Exactly the shape the helper exists for, missed by the audit, so it ships still broken while the PR reads as closing the trap. | Blocker | done | Fixed in `23dc894` — wrapped with `fieldRefHandle` as suggested. Missed originally because `form-time` calls `controller.field.ref(...)` directly in a `useEffect`, so the `inputRef=`/`ref=` grep never matched it. Covered by the table-driven `setFocus` guard. |
|
|
21
|
+
| 2 | [review summary](https://github.com/wix-private/cairo/pull/5746#pullrequestreview-5002194499) | PR body claims "audited all nine that register directly"; there are ~23 `controller.field.ref` sites. The 7 passing `ref=` to a WDS `Input`/`InputArea` get `InputImperativeActions`, which has `select` but no `setCustomValidity`/`reportValidity` — so the `shouldUseNativeValidation` half stays open in `form-url`, `form-email`, `form-short-text` (Input branch), `form-long-text`, `form-color`, `form-array`, `form-object`. | Major (accuracy) | done | PR description rewritten with the full 23-site table. `InputImperativeActions` confirmed as `{ focus, blur, select, setSelectionRange, clear, input }`. The `shouldUseNativeValidation` gap in the 7 `ref=`-on-`Input` sites is left open and stated as a follow-up rather than implied fixed. |
|
|
22
|
+
| 3 | [review summary](https://github.com/wix-private/cairo/pull/5746#pullrequestreview-5002194499) | Fix it once in `packages/core` instead. `packages/core/src/exports/form.ts` is `export * from 'react-hook-form'`, so core owns the entry point; a `useController` there installing the safe handle would cover all sites and every future one, making `useFieldRef` and the seven adopting edits unnecessary. As it stands the fix is opt-in — which is how `form-time` got missed. | Major (design) | dismiss | Not implemented; kept per-site by decision. Rationale recorded in the PR reply: core's `exports/form.ts` is a bare re-export, so wrapping `useController` there would turn it into real implementation and change behaviour for every consumer of `@wix/bex-core/form`, not just Cairo renderers. Filed as a follow-up — if it lands, `useFieldRef` and all adopting edits should be deleted and the `Input` group closes for free. |
|
|
23
|
+
| 4 | [review summary](https://github.com/wix-private/cairo/pull/5746#pullrequestreview-5002194499) | The same 3-line comment is copy-pasted verbatim into seven files; the `fieldRefHandle` docblock already says it, and `AGENTS.md` asks for a comment only when it tells the reader something the code cannot. | Nit | done | Removed from all seven files in `b64bfc4`. |
|
|
24
|
+
| 5 | [review summary](https://github.com/wix-private/cairo/pull/5746#pullrequestreview-5002194499) | `useFieldRef`'s type parameter `T` appears only in the return type, so every call site infers `FieldControl` and the annotation buys nothing. | Minor | done | `T` dropped in `a51e9c6`; takes and returns `FieldControl`. |
|
|
25
|
+
| 6 | [review summary](https://github.com/wix-private/cairo/pull/5746#pullrequestreview-5002194499) | Lint is not clean: `use-field-ref.ts:56` trips `prettier/prettier`. | Minor | done | Fixed in `c6406f6`. Root cause of the false "clean" report: all changed files were passed as one joined argument, so eslint matched nothing. Re-verified one file at a time. `form-video.tsx:73` `curly` warning remains but is unchanged from master. |
|
|
26
|
+
| 7 | [review summary](https://github.com/wix-private/cairo/pull/5746#pullrequestreview-5002194499) | Only `form-address` has an integration guard; the other six conversions would not notice a revert. | Test gap | done | Fixed in `94baa17`. Table-driven over one renderer per control shape: address, time, `FormDocument` (`AddItemActions`, shared with audio/multi-document/media-gallery), `FormImageInput` (`ImageViewer`, shared with video). Each verified failing via `git checkout origin/master -- <file>` — note `git checkout -- <file>` restores from HEAD and silently proves nothing once the change is committed. |
|
|
27
|
+
| 8 | [review summary](https://github.com/wix-private/cairo/pull/5746#pullrequestreview-5002194499) | In `EntityPageCustomField`, the new `control` closure and the `focus` callback each resolve consumer-then-`querySelector` separately; not wrong (focus needs `scrollIntoView` between the steps) but they will drift. | Nit | done | Fixed in `91147ff`. Both paths read one `control()`. The identity check I first wrote was also wrong, not just duplicative: with nothing focusable, `target` and `consumerRef.current` were both `null`, so it skipped the scroll in exactly the case needing it. Now keyed off `!consumerRef.current`. |
|
|
28
|
+
|
|
29
|
+
## Notes
|
|
30
|
+
|
|
31
|
+
- #3 is the pivot. If the fix moves into core's `useController`, then #1, #2, #4, #5 and #7 mostly evaporate and this
|
|
32
|
+
PR shrinks to deleting `useFieldRef` and reverting the seven adopting edits. Worth settling before spending
|
|
33
|
+
effort on the others.
|
|
34
|
+
- #1 is a blocker on its own terms and is a one-line fix either way, since `form-time` is broken today
|
|
35
|
+
regardless of which mechanism wins.
|
|
36
|
+
- The reviewer independently reproduced the address integration test (revert → `1 failed, 3 passed`), so the
|
|
37
|
+
guard is trusted; the gap is coverage of the other six (#7), not the approach.
|
|
38
|
+
|
|
39
|
+
## Outcome
|
|
40
|
+
|
|
41
|
+
All eight resolved: seven fixed, one (row 3) dismissed with rationale. Commits on `fix/delegating-field-ref`,
|
|
42
|
+
all pushed:
|
|
43
|
+
|
|
44
|
+
| Commit | Row |
|
|
45
|
+
|---|---|
|
|
46
|
+
| `23dc894` fix(TimeInput): give form-time a field ref that answers every call | 1 |
|
|
47
|
+
| `c6406f6` style(fields): format the fieldRefHandle call in useFieldRef | 6 |
|
|
48
|
+
| `a51e9c6` refactor(fields): drop useFieldRef's unusable type parameter | 5 |
|
|
49
|
+
| `b64bfc4` refactor(fields): drop the repeated useFieldRef comment | 4 |
|
|
50
|
+
| `91147ff` refactor(EntityPageCustomField): resolve the control once | 8 |
|
|
51
|
+
| `94baa17` test(fields): guard the other converted renderers against setFocus | 7 |
|
|
52
|
+
|
|
53
|
+
Row 2 was a PR-description correction, not code. Row 3 answered in
|
|
54
|
+
[issuecomment-5385655358](https://github.com/wix-private/cairo/pull/5746#issuecomment-5385655358).
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { useCallback, useRef } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Handle to register with react-hook-form, covering every method it may call.
|
|
4
|
+
*
|
|
5
|
+
* `useController` rewrites whatever is registered into
|
|
6
|
+
* `{ focus, select, setCustomValidity, reportValidity }` and calls all four
|
|
7
|
+
* through to the target. The guards check that wrapper rather than the target,
|
|
8
|
+
* so registering a control that only has `focus` makes `setFocus` with
|
|
9
|
+
* `shouldSelect`, or `shouldUseNativeValidation`, throw on the way to it.
|
|
10
|
+
*
|
|
11
|
+
* @param focus What to do when the field has to be reached.
|
|
12
|
+
* @param getControl The control the remaining calls go to, when there is one.
|
|
13
|
+
*/
|
|
14
|
+
export const fieldRefHandle = (focus, getControl) => ({
|
|
15
|
+
focus,
|
|
16
|
+
select: () => getControl()?.select?.(),
|
|
17
|
+
setCustomValidity: (message) => getControl()?.setCustomValidity?.(message),
|
|
18
|
+
reportValidity: () => getControl()?.reportValidity?.() ?? true,
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* Callback ref for a field's control. Pass it where the control lands and
|
|
22
|
+
* react-hook-form gets a handle that reaches it.
|
|
23
|
+
*
|
|
24
|
+
* @param registerRef `controller.field.ref` from useController.
|
|
25
|
+
*/
|
|
26
|
+
export const useFieldRef = (registerRef) => {
|
|
27
|
+
const control = useRef(null);
|
|
28
|
+
return useCallback((instance) => {
|
|
29
|
+
control.current = instance;
|
|
30
|
+
if (!instance) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
registerRef(fieldRefHandle(() => control.current?.focus?.(), () => control.current));
|
|
34
|
+
}, [registerRef]);
|
|
35
|
+
};
|
|
36
|
+
//# sourceMappingURL=use-field-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-field-ref.js","sourceRoot":"","sources":["../../../src/hooks/use-field-ref.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAa5C;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAC5B,KAAiB,EACjB,UAAiD,EACjD,EAAE,CAAC,CAAC;IACJ,KAAK;IACL,MAAM,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE;IACtC,iBAAiB,EAAE,CAAC,OAAe,EAAE,EAAE,CACrC,UAAU,EAAE,EAAE,iBAAiB,EAAE,CAAC,OAAO,CAAC;IAC5C,cAAc,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE,EAAE,cAAc,EAAE,EAAE,IAAI,IAAI;CAC/D,CAAC,CAAC;AAEH;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,WAAwC,EACG,EAAE;IAC7C,MAAM,OAAO,GACX,MAAM,CAAsB,IAAI,CAAC,CAAC;IAEpC,OAAO,WAAW,CAChB,CAAC,QAA6B,EAAE,EAAE;QAChC,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;QAC3B,IAAI,CAAC,QAAQ,EAAE;YACb,OAAO;SACR;QACD,WAAW,CACT,cAAc,CACZ,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,EAChC,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CACtB,CACF,CAAC;IACJ,CAAC,EACD,CAAC,WAAW,CAAC,CACd,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { useCallback, useRef } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Keeps a component's own ref filled while also handing the value to a
|
|
4
|
+
* caller's ref.
|
|
5
|
+
*
|
|
6
|
+
* Media inputs need both: the local ref drives `autoFocus` and media
|
|
7
|
+
* callbacks, while a caller such as react-hook-form supplies its own ref to
|
|
8
|
+
* focus the field when it blocks save.
|
|
9
|
+
*/
|
|
10
|
+
export const useMergedRef = (forwarded) => {
|
|
11
|
+
const localRef = useRef(null);
|
|
12
|
+
const setRef = useCallback((value) => {
|
|
13
|
+
localRef.current = value;
|
|
14
|
+
if (typeof forwarded === 'function') {
|
|
15
|
+
forwarded(value);
|
|
16
|
+
}
|
|
17
|
+
else if (forwarded) {
|
|
18
|
+
forwarded.current = value;
|
|
19
|
+
}
|
|
20
|
+
}, [forwarded]);
|
|
21
|
+
return [localRef, setRef];
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=use-merged-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-merged-ref.js","sourceRoot":"","sources":["../../../src/hooks/use-merged-ref.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,SAAkB,EACuC,EAAE;IAC3D,MAAM,QAAQ,GAAG,MAAM,CAAW,IAAI,CAAC,CAAC;IAExC,MAAM,MAAM,GAAG,WAAW,CACxB,CAAC,KAAe,EAAE,EAAE;QAClB,QAAQ,CAAC,OAAO,GAAG,KAAK,CAAC;QACzB,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE;YACnC,SAAS,CAAC,KAAK,CAAC,CAAC;SAClB;aAAM,IAAI,SAAS,EAAE;YACnB,SAAwC,CAAC,OAAO,GAAG,KAAK,CAAC;SAC3D;IACH,CAAC,EACD,CAAC,SAAS,CAAC,CACZ,CAAC;IAEF,OAAO,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;AAC5B,CAAC,CAAC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { useCallback } from 'react';
|
|
2
|
+
import { fieldRefHandle } from './use-field-ref';
|
|
3
|
+
/**
|
|
4
|
+
* Ref for a field whose control cannot be handed to react-hook-form directly.
|
|
5
|
+
*
|
|
6
|
+
* react-hook-form focuses an invalid field by calling `focus()` on whatever was
|
|
7
|
+
* registered, so registering a plain wrapper element does nothing — a `div` is
|
|
8
|
+
* not focusable and the call is silently dropped. Registering an object with a
|
|
9
|
+
* `focus()` of our own works instead: it brings the wrapper into view, then
|
|
10
|
+
* focuses the control inside it when there is one.
|
|
11
|
+
*
|
|
12
|
+
* @param registerRef `controller.field.ref` from useController.
|
|
13
|
+
* @param focusSelector Control to focus inside the wrapper, when present.
|
|
14
|
+
*/
|
|
15
|
+
export const useScrollToErrorRef = (registerRef, focusSelector) => useCallback((element) => {
|
|
16
|
+
if (!element) {
|
|
17
|
+
return;
|
|
18
|
+
}
|
|
19
|
+
const control = () => element.querySelector(focusSelector) ?? undefined;
|
|
20
|
+
registerRef(fieldRefHandle(() => {
|
|
21
|
+
// Not implemented in jsdom.
|
|
22
|
+
element.scrollIntoView?.({ block: 'center' });
|
|
23
|
+
control()?.focus();
|
|
24
|
+
}, control));
|
|
25
|
+
}, [registerRef, focusSelector]);
|
|
26
|
+
//# sourceMappingURL=use-scroll-to-error-ref.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-scroll-to-error-ref.js","sourceRoot":"","sources":["../../../src/hooks/use-scroll-to-error-ref.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CACjC,WAAwC,EACxC,aAAqB,EACrB,EAAE,CACF,WAAW,CACT,CAAC,OAAiB,EAAE,EAAE;IACpB,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO;KACR;IAED,MAAM,OAAO,GAAG,GAAG,EAAE,CACnB,OAAO,CAAC,aAAa,CAAc,aAAa,CAAC,IAAI,SAAS,CAAC;IAEjE,WAAW,CACT,cAAc,CAAC,GAAG,EAAE;QAClB,4BAA4B;QAC5B,OAAO,CAAC,cAAc,EAAE,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC9C,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC;IACrB,CAAC,EAAE,OAAO,CAAC,CACZ,CAAC;AACJ,CAAC,EACD,CAAC,WAAW,EAAE,aAAa,CAAC,CAC7B,CAAC"}
|