@wix/patterns-fields 1.58.0 → 1.60.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/address/view/cell-address-view.js +2 -2
- package/dist/cjs/components/address/view/cell-address-view.js.map +1 -1
- package/dist/cjs/components/audio/actions/actions-button/actions-button.js +2 -2
- package/dist/cjs/components/audio/actions/actions-button/actions-button.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/actions/audio-actions.js +5 -5
- package/dist/cjs/components/audio/actions/audio-actions.js.map +1 -1
- package/dist/cjs/components/audio/audio-field/audio-view.js +2 -2
- package/dist/cjs/components/audio/audio-field/audio-view.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/audio/cell-audio-edit.js +4 -4
- package/dist/cjs/components/audio/cell-audio-edit.js.map +1 -1
- package/dist/cjs/components/audio/cell-audio-view.js +2 -2
- package/dist/cjs/components/audio/cell-audio-view.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/date-input/date-utils.js +15 -2
- package/dist/cjs/components/date-input/date-utils.js.map +1 -1
- package/dist/cjs/components/date-input/form-date-input.js +7 -10
- package/dist/cjs/components/date-input/form-date-input.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/cell-document-edit.js +10 -10
- package/dist/cjs/components/document/cell-document-edit.js.map +1 -1
- package/dist/cjs/components/document/cell-document-view.js +2 -2
- package/dist/cjs/components/document/cell-document-view.js.map +1 -1
- package/dist/cjs/components/document/document-control.js +6 -6
- package/dist/cjs/components/document/document-control.js.map +1 -1
- package/dist/cjs/components/document/document-view.js +2 -2
- package/dist/cjs/components/document/document-view.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.js +2 -2
- package/dist/cjs/components/exclamation/exclamation.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/cell-image-edit.js +7 -7
- package/dist/cjs/components/image/cell-image-edit.js.map +1 -1
- package/dist/cjs/components/image/thumbnail-replace-overlay.js +2 -2
- package/dist/cjs/components/image/thumbnail-replace-overlay.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/cell-media-gallery-edit.js +6 -6
- package/dist/cjs/components/media-gallery/cell-media-gallery-edit.js.map +1 -1
- package/dist/cjs/components/media-gallery/form-media-gallery-field.js +4 -4
- 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/media-gallery-dialog/add-media-button.js +2 -2
- package/dist/cjs/components/media-gallery/media-gallery-dialog/add-media-button.js.map +1 -1
- package/dist/cjs/components/media-gallery/media-gallery-dialog/no-items-view.js +2 -2
- package/dist/cjs/components/media-gallery/media-gallery-dialog/no-items-view.js.map +1 -1
- package/dist/cjs/components/media-gallery/media-preview-modal.js +4 -4
- package/dist/cjs/components/media-gallery/media-preview-modal.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/custom-url-overlay.js +2 -2
- package/dist/cjs/components/media-image/overlays/custom-url-overlay.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-image/overlays/video-indicator-overlay.js +2 -2
- package/dist/cjs/components/media-image/overlays/video-indicator-overlay.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.js +12 -12
- package/dist/cjs/components/multi-document/cell-multi-document-edit.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/cell-multi-document-view.js +2 -2
- package/dist/cjs/components/multi-document/cell-multi-document-view.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.js +14 -44
- package/dist/cjs/components/reference/cell-multi-reference-input.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.js +15 -45
- package/dist/cjs/components/reference/cell-reference-input.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/reference/form-multi-reference.js +25 -8
- package/dist/cjs/components/reference/form-multi-reference.js.map +1 -1
- package/dist/cjs/components/reference/form-reference.js +35 -12
- package/dist/cjs/components/reference/form-reference.js.map +1 -1
- package/dist/cjs/components/reference/reference-dropdown-footer.js +65 -0
- package/dist/cjs/components/reference/reference-dropdown-footer.js.map +1 -0
- 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.js +3 -3
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.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/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/align-dropdown.js +5 -5
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/align-dropdown.js.map +1 -1
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/link-button.js +2 -2
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/link-button.js.map +1 -1
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.js +3 -3
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.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/url/form-url.js +2 -2
- package/dist/cjs/components/url/form-url.js.map +1 -1
- package/dist/cjs/components/url/url-view.js +2 -2
- package/dist/cjs/components/url/url-view.js.map +1 -1
- package/dist/cjs/components/video/cell-video-edit.js +7 -7
- package/dist/cjs/components/video/cell-video-edit.js.map +1 -1
- package/dist/cjs/components/video/form-video.js +6 -6
- package/dist/cjs/components/video/form-video.js.map +1 -1
- package/dist/cjs/components/video/video-view-field.js +3 -3
- package/dist/cjs/components/video/video-view-field.js.map +1 -1
- package/dist/cjs/providers/PatternsFieldsAppContainer.js +1 -1
- package/dist/cjs/providers/PatternsFieldsAppContainer.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/utils/get-image-url.js +24 -4
- package/dist/cjs/utils/get-image-url.js.map +1 -1
- package/dist/cjs/utils/media-utils.js +4 -1
- package/dist/cjs/utils/media-utils.js.map +1 -1
- package/dist/esm/components/address/input/address-input.st.css.js +2 -2
- package/dist/esm/components/address/view/cell-address-view.js +1 -1
- package/dist/esm/components/address/view/cell-address-view.js.map +1 -1
- package/dist/esm/components/audio/actions/actions-button/actions-button.js +1 -1
- package/dist/esm/components/audio/actions/actions-button/actions-button.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/audio-actions.js +1 -1
- package/dist/esm/components/audio/actions/audio-actions.js.map +1 -1
- package/dist/esm/components/audio/audio-field/audio-view.js +1 -1
- package/dist/esm/components/audio/audio-field/audio-view.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-player/audio-player.st.css.js +2 -2
- package/dist/esm/components/audio/audio-player/audio-player.st.css.js.map +1 -1
- package/dist/esm/components/audio/cell-audio-edit.js +1 -1
- package/dist/esm/components/audio/cell-audio-edit.js.map +1 -1
- package/dist/esm/components/audio/cell-audio-view.js +1 -1
- package/dist/esm/components/audio/cell-audio-view.js.map +1 -1
- package/dist/esm/components/color-view/cell-color-view.st.css.js +2 -2
- package/dist/esm/components/color-view/color-view.st.css.js +2 -2
- package/dist/esm/components/color-view/color-view.st.css.js.map +1 -1
- package/dist/esm/components/date-input/date-utils.js +15 -2
- package/dist/esm/components/date-input/date-utils.js.map +1 -1
- package/dist/esm/components/date-input/form-date-input.js +10 -11
- package/dist/esm/components/date-input/form-date-input.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/cell-document-edit.js +1 -1
- package/dist/esm/components/document/cell-document-edit.js.map +1 -1
- package/dist/esm/components/document/cell-document-view.js +1 -1
- package/dist/esm/components/document/cell-document-view.js.map +1 -1
- package/dist/esm/components/document/document-control.js +1 -1
- package/dist/esm/components/document/document-control.js.map +1 -1
- package/dist/esm/components/document/document-view.js +1 -1
- package/dist/esm/components/document/document-view.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/exclamation/exclamation.js +1 -1
- package/dist/esm/components/exclamation/exclamation.js.map +1 -1
- package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
- package/dist/esm/components/exclamation/exclamation.st.css.js.map +1 -1
- package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
- package/dist/esm/components/image/cell-image-edit.js +1 -1
- package/dist/esm/components/image/cell-image-edit.js.map +1 -1
- package/dist/esm/components/image/thumbnail-replace-overlay.js +1 -1
- package/dist/esm/components/image/thumbnail-replace-overlay.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/paste-url-button.st.css.js +2 -2
- package/dist/esm/components/media-gallery/cell-media-gallery-edit.js +1 -1
- package/dist/esm/components/media-gallery/cell-media-gallery-edit.js.map +1 -1
- package/dist/esm/components/media-gallery/form-media-gallery-field.js +1 -1
- 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-field.st.css.js.map +1 -1
- package/dist/esm/components/media-gallery/media-gallery-dialog/add-media-button.js +1 -1
- package/dist/esm/components/media-gallery/media-gallery-dialog/add-media-button.js.map +1 -1
- package/dist/esm/components/media-gallery/media-gallery-dialog/no-items-view.js +1 -1
- package/dist/esm/components/media-gallery/media-gallery-dialog/no-items-view.js.map +1 -1
- package/dist/esm/components/media-gallery/media-preview-modal.js +1 -1
- package/dist/esm/components/media-gallery/media-preview-modal.js.map +1 -1
- package/dist/esm/components/media-image/media-image.st.css.js +3 -3
- package/dist/esm/components/media-image/overlays/custom-url-overlay.js +1 -1
- package/dist/esm/components/media-image/overlays/custom-url-overlay.js.map +1 -1
- package/dist/esm/components/media-image/overlays/overlay.st.css.js +2 -2
- package/dist/esm/components/media-image/overlays/video-indicator-overlay.js +1 -1
- package/dist/esm/components/media-image/overlays/video-indicator-overlay.js.map +1 -1
- 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/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
- package/dist/esm/components/multi-document/cell-multi-document-edit.js +1 -1
- package/dist/esm/components/multi-document/cell-multi-document-edit.js.map +1 -1
- 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/cell-multi-document-view.js +1 -1
- package/dist/esm/components/multi-document/cell-multi-document-view.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.js +8 -15
- package/dist/esm/components/reference/cell-multi-reference-input.js.map +1 -1
- package/dist/esm/components/reference/cell-multi-reference-input.st.css.js +2 -2
- package/dist/esm/components/reference/cell-reference-input.js +9 -16
- package/dist/esm/components/reference/cell-reference-input.js.map +1 -1
- package/dist/esm/components/reference/cell-reference-input.st.css.js +2 -2
- package/dist/esm/components/reference/form-multi-reference.js +18 -5
- package/dist/esm/components/reference/form-multi-reference.js.map +1 -1
- package/dist/esm/components/reference/form-reference.js +28 -8
- package/dist/esm/components/reference/form-reference.js.map +1 -1
- package/dist/esm/components/reference/reference-dropdown-footer.js +28 -0
- package/dist/esm/components/reference/reference-dropdown-footer.js.map +1 -0
- 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-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/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.js +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.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-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/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-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/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/align-dropdown.js +1 -1
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/align-dropdown.js.map +1 -1
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/link-button.js +1 -1
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/link-button.js.map +1 -1
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.js +1 -1
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.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/url/form-url.js +1 -1
- package/dist/esm/components/url/form-url.js.map +1 -1
- package/dist/esm/components/url/url-view.js +1 -1
- package/dist/esm/components/url/url-view.js.map +1 -1
- package/dist/esm/components/video/cell-video-edit.js +1 -1
- package/dist/esm/components/video/cell-video-edit.js.map +1 -1
- package/dist/esm/components/video/form-video.js +1 -1
- package/dist/esm/components/video/form-video.js.map +1 -1
- package/dist/esm/components/video/video-view-field.js +1 -1
- package/dist/esm/components/video/video-view-field.js.map +1 -1
- package/dist/esm/providers/PatternsFieldsAppContainer.js +1 -1
- package/dist/esm/providers/PatternsFieldsAppContainer.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/utils/get-image-url.js +26 -4
- package/dist/esm/utils/get-image-url.js.map +1 -1
- package/dist/esm/utils/media-utils.js +4 -1
- package/dist/esm/utils/media-utils.js.map +1 -1
- package/dist/types/components/audio/audio-player/audio-player.st.css.d.ts.map +1 -1
- package/dist/types/components/color-view/color-view.st.css.d.ts.map +1 -1
- package/dist/types/components/date-input/date-utils.d.ts +2 -2
- package/dist/types/components/date-input/date-utils.d.ts.map +1 -1
- package/dist/types/components/date-input/form-date-input.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.st.css.d.ts.map +1 -1
- package/dist/types/components/exclamation/exclamation.st.css.d.ts.map +1 -1
- package/dist/types/components/media-gallery/form-media-gallery-field.st.css.d.ts.map +1 -1
- package/dist/types/components/media-tag/web-media-tag/media-tag.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.d.ts.map +1 -1
- package/dist/types/components/reference/cell-reference-input.d.ts.map +1 -1
- package/dist/types/components/reference/form-multi-reference.d.ts +1 -0
- package/dist/types/components/reference/form-multi-reference.d.ts.map +1 -1
- package/dist/types/components/reference/form-reference.d.ts +1 -0
- package/dist/types/components/reference/form-reference.d.ts.map +1 -1
- package/dist/types/components/reference/reference-dropdown-footer.d.ts +16 -0
- package/dist/types/components/reference/reference-dropdown-footer.d.ts.map +1 -0
- 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/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.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.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/utils/get-image-url.d.ts.map +1 -1
- package/dist/types/utils/media-utils.d.ts.map +1 -1
- package/package.json +7 -7
- package/src/__tests__/components/audio/cell-audio-view.spec.tsx +48 -0
- package/src/__tests__/components/date-input/form-date-input.spec.tsx +8 -0
- package/src/__tests__/components/image/form-image-input.spec.tsx +10 -0
- package/src/__tests__/components/reference/form-multi-reference.spec.tsx +101 -0
- package/src/__tests__/components/reference/form-reference.spec.tsx +87 -0
- package/src/__tests__/utils/get-image-url.spec.ts +48 -0
- package/src/__tests__/utils/media-utils.spec.ts +33 -0
- package/src/components/address/input/address-input.st.css.ts +2 -2
- package/src/components/address/view/cell-address-view.tsx +1 -1
- package/src/components/audio/actions/actions-button/actions-button.tsx +1 -1
- package/src/components/audio/actions/actions-menu/actions-menu.st.css.ts +2 -2
- package/src/components/audio/actions/audio-actions.tsx +1 -1
- package/src/components/audio/audio-field/audio-view.tsx +1 -1
- 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/audio/cell-audio-edit.tsx +1 -1
- package/src/components/audio/cell-audio-view.tsx +1 -1
- 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/date-input/date-utils.ts +21 -4
- package/src/components/date-input/form-date-input.tsx +10 -12
- package/src/components/delete-dialog/delete-dialog.st.css.ts +2 -2
- package/src/components/document/cell-document-edit.tsx +1 -1
- package/src/components/document/cell-document-view.tsx +1 -1
- package/src/components/document/document-control.tsx +1 -1
- package/src/components/document/document-view.tsx +1 -1
- 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/exclamation/exclamation.tsx +1 -1
- package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
- package/src/components/image/cell-image-edit.tsx +1 -1
- package/src/components/image/thumbnail-replace-overlay.st.css.ts +2 -2
- package/src/components/image/thumbnail-replace-overlay.tsx +1 -1
- 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/cell-media-gallery-edit.tsx +1 -1
- package/src/components/media-gallery/form-media-gallery-field.st.css.ts +2 -2
- package/src/components/media-gallery/form-media-gallery-field.tsx +1 -1
- package/src/components/media-gallery/media-gallery-dialog/add-media-button.tsx +1 -1
- package/src/components/media-gallery/media-gallery-dialog/no-items-view.tsx +1 -1
- package/src/components/media-gallery/media-preview-modal.tsx +1 -1
- package/src/components/media-image/media-image.st.css.ts +3 -3
- package/src/components/media-image/overlays/custom-url-overlay.tsx +1 -1
- package/src/components/media-image/overlays/overlay.st.css.ts +2 -2
- package/src/components/media-image/overlays/video-indicator-overlay.tsx +1 -1
- 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/cell-multi-document-edit.tsx +1 -1
- package/src/components/multi-document/cell-multi-document-view.tsx +1 -1
- 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-multi-reference-input.tsx +8 -29
- package/src/components/reference/cell-reference-input.st.css.ts +2 -2
- package/src/components/reference/cell-reference-input.tsx +9 -31
- package/src/components/reference/form-multi-reference.tsx +26 -4
- package/src/components/reference/form-reference.tsx +32 -7
- package/src/components/reference/reference-dropdown-footer.tsx +51 -0
- 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-common/toggle-fullscreen-button/toggle-fullscreen-button.tsx +1 -1
- 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/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/align-dropdown.tsx +1 -1
- package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/link-button.tsx +1 -1
- package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts +2 -2
- package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.tsx +1 -1
- package/src/components/text/text-view.st.css.ts +2 -2
- package/src/components/url/form-url.tsx +1 -1
- package/src/components/url/url-view.tsx +1 -1
- package/src/components/video/cell-video-edit.tsx +1 -1
- package/src/components/video/form-video.tsx +1 -1
- package/src/components/video/video-view-field.tsx +1 -1
- package/src/providers/PatternsFieldsAppContainer.ts +1 -1
- package/src/styles.global.css +1 -1
- package/src/utils/get-image-url.ts +31 -4
- package/src/utils/media-utils.ts +4 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_useTranslations","_referenceAvatar","_cellReferenceInputStCss","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ROW_HEIGHT","MAX_NUM_ROWS","CellReferenceInput","exports","React","forwardRef","items","value","selectedItem","onChange","onBlur","onSelect","onClear","onKeyDown","clearButton","infiniteScroll","hasMore","loadMore","fixedFooter","onOpenCollection","autoOpen","inputRef","ref","useTranslations","options","useMemo","map","item","listItemSelectBuilder","id","title","name","size","selected","prefix","createElement","ReferenceAvatar","image","__self","__source","fileName","lineNumber","columnNumber","acRef","useRef","useImperativeHandle","focus","_acRef$current","current","hideOptions","_acRef$current2","useEffect","_acRef$current3","requestAnimationFrame","_acRef$current4","showOptions","combinedFooter","undefined","onMouseDown","preventDefault","Divider","ListItemAction","onClick","_acRef$current5","dataHook","Input","Affix","className","st","classes","root","stopPropagation","AutoComplete","autocomplete","border","wdsOption","find","String","placeholder","showOptionsIfEmptyInput","autoSelect","maxHeightPixels","popoverProps","appendTo","flip","fixed","placement","el","displayName"],"sources":["../../../../src/components/reference/cell-reference-input.tsx"],"sourcesContent":["import React, { useEffect, useMemo, useRef } from 'react';\nimport {\n AutoComplete,\n Divider,\n Input,\n ListItemAction,\n listItemSelectBuilder,\n} from '@wix/design-system';\nimport { useTranslations } from '../../hooks/use-translations';\nimport { ReferenceAvatar } from './reference-avatar';\nimport { st, classes } from './cell-reference-input.st.css.js';\n\nexport interface CellReferenceItem {\n id: string;\n name: string;\n image?: string;\n}\n\nexport interface CellReferenceInputHandle {\n focus: () => void;\n hideOptions: () => void;\n}\n\nexport interface CellReferenceInputProps {\n /** Raw reference items — options are built internally with listItemSelectBuilder. */\n items: CellReferenceItem[];\n /** Text shown inside the input field (search query or selected item title). */\n value: string;\n /** When a reference is selected and there is no search query, show its avatar inside the input. */\n selectedItem?: CellReferenceItem;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onSelect: (item: CellReferenceItem) => void;\n onBlur?: () => void;\n onClear: () => void;\n onKeyDown: (e: React.KeyboardEvent) => void;\n clearButton?: boolean;\n infiniteScroll?: boolean;\n hasMore?: boolean;\n loadMore?: () => void;\n fixedFooter?: React.ReactNode;\n /** When provided, renders an \"Open Collection\" action at the bottom of the dropdown. */\n onOpenCollection?: () => void;\n /** Open dropdown immediately on mount (type-to-edit / Enter triggers). */\n autoOpen?: boolean;\n inputRef?: React.MutableRefObject<{ focus: () => void } | null | undefined>;\n}\n\nconst ROW_HEIGHT = 30;\nconst MAX_NUM_ROWS = 7;\n\nexport const CellReferenceInput = React.forwardRef<\n CellReferenceInputHandle,\n CellReferenceInputProps\n>(\n (\n {\n items,\n value,\n selectedItem,\n onChange,\n onBlur,\n onSelect,\n onClear,\n onKeyDown,\n clearButton,\n infiniteScroll,\n hasMore,\n loadMore,\n fixedFooter,\n onOpenCollection,\n autoOpen,\n inputRef,\n },\n ref,\n ) => {\n const { t } = useTranslations();\n\n const options = useMemo(\n () =>\n items.map((item) =>\n listItemSelectBuilder({\n id: item.id,\n title: item.name || t('patterns-fields.reference.untitled'),\n size: 'small',\n selected: item.id === selectedItem?.id,\n prefix: <ReferenceAvatar name={item.name} image={item.image} />,\n }),\n ),\n [items, selectedItem?.id, t],\n );\n const acRef = useRef<React.ComponentRef<typeof AutoComplete>>(null);\n\n React.useImperativeHandle(ref, () => ({\n focus: () => acRef.current?.focus?.(),\n hideOptions: () => acRef.current?.hideOptions?.(),\n }));\n\n useEffect(() => {\n if (autoOpen) {\n acRef.current?.focus?.();\n requestAnimationFrame(() => acRef.current?.showOptions?.());\n }\n // Intentionally run only on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const combinedFooter = useMemo(() => {\n if (!fixedFooter && !onOpenCollection) {\n return undefined;\n }\n return (\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div onMouseDown={(e) => e.preventDefault()}>\n {fixedFooter}\n {onOpenCollection && <Divider />}\n {onOpenCollection && (\n <ListItemAction\n title={t('patterns-fields.reference.open_collection')}\n size=\"small\"\n onClick={() => {\n acRef.current?.hideOptions?.();\n onOpenCollection();\n }}\n dataHook=\"reference-open-collection\"\n />\n )}\n </div>\n );\n }, [fixedFooter, onOpenCollection, t]);\n\n const prefix =\n selectedItem && !value ? (\n <Input.Affix data-hook=\"reference-input-avatar-prefix\">\n <ReferenceAvatar\n name={selectedItem.name}\n image={selectedItem.image}\n />\n </Input.Affix>\n ) : undefined;\n\n return (\n // Prevent EditableCell's row click/dblclick handlers from firing when\n // the user interacts with the input or dropdown.\n <div\n className={st(classes.root)}\n onClick={(e) => e.stopPropagation()}\n onMouseDown={(e) => e.stopPropagation()}\n >\n <AutoComplete\n ref={acRef}\n dataHook=\"reference-input-autocomplete\"\n className={st(classes.autocomplete)}\n size=\"small\"\n border=\"none\"\n options={options}\n value={value}\n prefix={prefix}\n onChange={onChange}\n onBlur={onBlur}\n onSelect={(wdsOption: { id: string | number }) => {\n const item = items.find((i) => i.id === String(wdsOption.id));\n if (item) {\n onSelect(item);\n }\n }}\n onClear={onClear}\n onKeyDown={onKeyDown}\n clearButton={clearButton}\n infiniteScroll={infiniteScroll}\n hasMore={hasMore}\n loadMore={loadMore}\n fixedFooter={combinedFooter}\n placeholder={t('auto-patterns.fields.select_placeholder')}\n showOptionsIfEmptyInput\n autoSelect={false}\n maxHeightPixels={ROW_HEIGHT * MAX_NUM_ROWS}\n popoverProps={{\n appendTo: 'window',\n flip: true,\n fixed: false,\n placement: 'bottom-start',\n }}\n inputRef={(el: HTMLInputElement) => {\n if (inputRef) {\n inputRef.current = el;\n }\n }}\n />\n </div>\n );\n },\n);\n\nCellReferenceInput.displayName = 'CellReferenceInput';\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_useTranslations","_referenceAvatar","_referenceDropdownFooter","_cellReferenceInputStCss","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ROW_HEIGHT","MAX_NUM_ROWS","CellReferenceInput","exports","React","forwardRef","items","value","selectedItem","onChange","onBlur","onSelect","onClear","onKeyDown","clearButton","infiniteScroll","hasMore","loadMore","fixedFooter","onOpenCollection","autoOpen","inputRef","ref","useTranslations","options","useMemo","map","item","listItemSelectBuilder","id","title","name","size","selected","prefix","createElement","ReferenceAvatar","image","__self","__source","fileName","lineNumber","columnNumber","acRef","useRef","useImperativeHandle","focus","_acRef$current","current","hideOptions","_acRef$current2","useEffect","_acRef$current3","requestAnimationFrame","_acRef$current4","showOptions","useCallback","_acRef$current5","combinedFooter","useReferenceDropdownFooter","Input","Affix","undefined","className","st","classes","root","onClick","stopPropagation","onMouseDown","AutoComplete","dataHook","autocomplete","border","wdsOption","find","String","placeholder","showOptionsIfEmptyInput","autoSelect","maxHeightPixels","popoverProps","appendTo","flip","fixed","placement","el","displayName"],"sources":["../../../../src/components/reference/cell-reference-input.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { AutoComplete, Input, listItemSelectBuilder } from '@wix/design-system';\nimport { useTranslations } from '../../hooks/use-translations';\nimport { ReferenceAvatar } from './reference-avatar';\nimport { useReferenceDropdownFooter } from './reference-dropdown-footer';\nimport { st, classes } from './cell-reference-input.st.css.js';\n\nexport interface CellReferenceItem {\n id: string;\n name: string;\n image?: string;\n}\n\nexport interface CellReferenceInputHandle {\n focus: () => void;\n hideOptions: () => void;\n}\n\nexport interface CellReferenceInputProps {\n /** Raw reference items — options are built internally with listItemSelectBuilder. */\n items: CellReferenceItem[];\n /** Text shown inside the input field (search query or selected item title). */\n value: string;\n /** When a reference is selected and there is no search query, show its avatar inside the input. */\n selectedItem?: CellReferenceItem;\n onChange: (e: React.ChangeEvent<HTMLInputElement>) => void;\n onSelect: (item: CellReferenceItem) => void;\n onBlur?: () => void;\n onClear: () => void;\n onKeyDown: (e: React.KeyboardEvent) => void;\n clearButton?: boolean;\n infiniteScroll?: boolean;\n hasMore?: boolean;\n loadMore?: () => void;\n fixedFooter?: React.ReactNode;\n /** When provided, renders an \"Open Collection\" action at the bottom of the dropdown. */\n onOpenCollection?: () => void;\n /** Open dropdown immediately on mount (type-to-edit / Enter triggers). */\n autoOpen?: boolean;\n inputRef?: React.MutableRefObject<{ focus: () => void } | null | undefined>;\n}\n\nconst ROW_HEIGHT = 30;\nconst MAX_NUM_ROWS = 7;\n\nexport const CellReferenceInput = React.forwardRef<\n CellReferenceInputHandle,\n CellReferenceInputProps\n>(\n (\n {\n items,\n value,\n selectedItem,\n onChange,\n onBlur,\n onSelect,\n onClear,\n onKeyDown,\n clearButton,\n infiniteScroll,\n hasMore,\n loadMore,\n fixedFooter,\n onOpenCollection,\n autoOpen,\n inputRef,\n },\n ref,\n ) => {\n const { t } = useTranslations();\n\n const options = useMemo(\n () =>\n items.map((item) =>\n listItemSelectBuilder({\n id: item.id,\n title: item.name || t('patterns-fields.reference.untitled'),\n size: 'small',\n selected: item.id === selectedItem?.id,\n prefix: <ReferenceAvatar name={item.name} image={item.image} />,\n }),\n ),\n [items, selectedItem?.id, t],\n );\n const acRef = useRef<React.ComponentRef<typeof AutoComplete>>(null);\n\n React.useImperativeHandle(ref, () => ({\n focus: () => acRef.current?.focus?.(),\n hideOptions: () => acRef.current?.hideOptions?.(),\n }));\n\n useEffect(() => {\n if (autoOpen) {\n acRef.current?.focus?.();\n requestAnimationFrame(() => acRef.current?.showOptions?.());\n }\n // Intentionally run only on mount\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const hideOptions = useCallback(() => acRef.current?.hideOptions?.(), []);\n const combinedFooter = useReferenceDropdownFooter({\n fixedFooter,\n onOpenCollection,\n hideOptions,\n });\n\n const prefix =\n selectedItem && !value ? (\n <Input.Affix data-hook=\"reference-input-avatar-prefix\">\n <ReferenceAvatar\n name={selectedItem.name}\n image={selectedItem.image}\n />\n </Input.Affix>\n ) : undefined;\n\n return (\n // Prevent EditableCell's row click/dblclick handlers from firing when\n // the user interacts with the input or dropdown.\n <div\n className={st(classes.root)}\n onClick={(e) => e.stopPropagation()}\n onMouseDown={(e) => e.stopPropagation()}\n >\n <AutoComplete\n ref={acRef}\n dataHook=\"reference-input-autocomplete\"\n className={st(classes.autocomplete)}\n size=\"small\"\n border=\"none\"\n options={options}\n value={value}\n prefix={prefix}\n onChange={onChange}\n onBlur={onBlur}\n onSelect={(wdsOption: { id: string | number }) => {\n const item = items.find((i) => i.id === String(wdsOption.id));\n if (item) {\n onSelect(item);\n }\n }}\n onClear={onClear}\n onKeyDown={onKeyDown}\n clearButton={clearButton}\n infiniteScroll={infiniteScroll}\n hasMore={hasMore}\n loadMore={loadMore}\n fixedFooter={combinedFooter}\n placeholder={t('auto-patterns.fields.select_placeholder')}\n showOptionsIfEmptyInput\n autoSelect={false}\n maxHeightPixels={ROW_HEIGHT * MAX_NUM_ROWS}\n popoverProps={{\n appendTo: 'window',\n flip: true,\n fixed: false,\n placement: 'bottom-start',\n }}\n inputRef={(el: HTMLInputElement) => {\n if (inputRef) {\n inputRef.current = el;\n }\n }}\n />\n </div>\n );\n },\n);\n\nCellReferenceInput.displayName = 'CellReferenceInput';\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -5,15 +5,15 @@ 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_ = "cellreferenceinput2906594827";
|
|
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
|
-
"autocomplete": "
|
|
15
|
+
"root": "cellreferenceinput2906594827__root",
|
|
16
|
+
"autocomplete": "cellreferenceinput2906594827__autocomplete"
|
|
17
17
|
};
|
|
18
18
|
var keyframes = exports.keyframes = {};
|
|
19
19
|
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/reference/cell-reference-input.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/reference/cell-reference-input.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"cellreferenceinput2906594827\";\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\":\"cellreferenceinput2906594827__root\",\"autocomplete\":\"cellreferenceinput2906594827__autocomplete\"};\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,8BAA8B;AAChD,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,oCAAoC;EAAC,cAAc,EAAC;AAA4C,CAAC;AACvH,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":[]}
|
|
@@ -9,6 +9,7 @@ var _react2 = require("@wix/bex-core/react");
|
|
|
9
9
|
var _form = require("@wix/bex-core/form");
|
|
10
10
|
var _useTranslations = require("../../hooks/use-translations");
|
|
11
11
|
var _referenceAvatar = require("./reference-avatar");
|
|
12
|
+
var _referenceDropdownFooter = require("./reference-dropdown-footer");
|
|
12
13
|
var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/fields/dist/cjs/components/reference/form-multi-reference.tsx";
|
|
13
14
|
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); }
|
|
14
15
|
/** Selected references, each stored as `{ [idField], [displayField] }`. */
|
|
@@ -34,6 +35,7 @@ const _FormMultiReference = props => {
|
|
|
34
35
|
hasMore,
|
|
35
36
|
loadMore,
|
|
36
37
|
fixedFooter,
|
|
38
|
+
onOpenCollection,
|
|
37
39
|
placeholder
|
|
38
40
|
} = props;
|
|
39
41
|
const {
|
|
@@ -42,6 +44,7 @@ const _FormMultiReference = props => {
|
|
|
42
44
|
const {
|
|
43
45
|
t: tf
|
|
44
46
|
} = (0, _useTranslations.useTranslations)();
|
|
47
|
+
const msRef = (0, _react.useRef)(null);
|
|
45
48
|
const controller = (0, _form.useController)({
|
|
46
49
|
name: field.id,
|
|
47
50
|
control: formControl,
|
|
@@ -60,7 +63,9 @@ const _FormMultiReference = props => {
|
|
|
60
63
|
const selectedValues = (0, _react.useMemo)(() => controller.field.value || [], [controller.field.value]);
|
|
61
64
|
const tags = (0, _react.useMemo)(() => selectedValues.map(item => {
|
|
62
65
|
const selectedId = item[idField];
|
|
63
|
-
|
|
66
|
+
// A referenced item with no value in the display field still needs a
|
|
67
|
+
// readable tag — the dropdown options use the same fallback.
|
|
68
|
+
const label = item[displayField] || tf('patterns-fields.reference.untitled');
|
|
64
69
|
const image = imageField ? item[imageField] : undefined;
|
|
65
70
|
return {
|
|
66
71
|
id: selectedId,
|
|
@@ -76,7 +81,7 @@ const _FormMultiReference = props => {
|
|
|
76
81
|
__self: void 0,
|
|
77
82
|
__source: {
|
|
78
83
|
fileName: _jsxFileName,
|
|
79
|
-
lineNumber:
|
|
84
|
+
lineNumber: 114,
|
|
80
85
|
columnNumber: 13
|
|
81
86
|
}
|
|
82
87
|
}, /*#__PURE__*/_react.default.createElement(_referenceAvatar.ReferenceAvatar, {
|
|
@@ -85,13 +90,13 @@ const _FormMultiReference = props => {
|
|
|
85
90
|
__self: void 0,
|
|
86
91
|
__source: {
|
|
87
92
|
fileName: _jsxFileName,
|
|
88
|
-
lineNumber:
|
|
93
|
+
lineNumber: 121,
|
|
89
94
|
columnNumber: 15
|
|
90
95
|
}
|
|
91
96
|
})),
|
|
92
97
|
dataHook: `multi-reference-tag-${field.id}-${selectedId}`
|
|
93
98
|
};
|
|
94
|
-
}), [selectedValues, idField, displayField, imageField, field.id]);
|
|
99
|
+
}), [selectedValues, idField, displayField, imageField, field.id, tf]);
|
|
95
100
|
const options = (0, _react.useMemo)(() => items.map(item => (0, _designSystem.listItemSelectBuilder)({
|
|
96
101
|
id: item.id,
|
|
97
102
|
title: item.name || tf('patterns-fields.reference.untitled'),
|
|
@@ -101,7 +106,7 @@ const _FormMultiReference = props => {
|
|
|
101
106
|
__self: void 0,
|
|
102
107
|
__source: {
|
|
103
108
|
fileName: _jsxFileName,
|
|
104
|
-
lineNumber:
|
|
109
|
+
lineNumber: 136,
|
|
105
110
|
columnNumber: 19
|
|
106
111
|
}
|
|
107
112
|
})
|
|
@@ -132,6 +137,15 @@ const _FormMultiReference = props => {
|
|
|
132
137
|
const handleBlur = (0, _react.useCallback)(() => {
|
|
133
138
|
onClearSearch == null || onClearSearch();
|
|
134
139
|
}, [onClearSearch]);
|
|
140
|
+
const hideOptions = (0, _react.useCallback)(() => {
|
|
141
|
+
var _msRef$current;
|
|
142
|
+
return (_msRef$current = msRef.current) == null || _msRef$current.hideOptions == null ? void 0 : _msRef$current.hideOptions();
|
|
143
|
+
}, []);
|
|
144
|
+
const combinedFooter = (0, _referenceDropdownFooter.useReferenceDropdownFooter)({
|
|
145
|
+
fixedFooter,
|
|
146
|
+
onOpenCollection,
|
|
147
|
+
hideOptions
|
|
148
|
+
});
|
|
135
149
|
return /*#__PURE__*/_react.default.createElement(_designSystem.FormField, {
|
|
136
150
|
label: field.displayName,
|
|
137
151
|
required: (_field$validation2 = field.validation) == null ? void 0 : _field$validation2.required,
|
|
@@ -141,10 +155,13 @@ const _FormMultiReference = props => {
|
|
|
141
155
|
__self: void 0,
|
|
142
156
|
__source: {
|
|
143
157
|
fileName: _jsxFileName,
|
|
144
|
-
lineNumber:
|
|
158
|
+
lineNumber: 199,
|
|
145
159
|
columnNumber: 5
|
|
146
160
|
}
|
|
147
161
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.MultiSelect, {
|
|
162
|
+
ref: instance => {
|
|
163
|
+
msRef.current = instance;
|
|
164
|
+
},
|
|
148
165
|
placeholder: placeholder ?? tf('auto-patterns.fields.select_placeholder'),
|
|
149
166
|
options: options,
|
|
150
167
|
value: searchValue ?? '',
|
|
@@ -160,12 +177,12 @@ const _FormMultiReference = props => {
|
|
|
160
177
|
infiniteScroll: !!loadMore,
|
|
161
178
|
hasMore: hasMore,
|
|
162
179
|
loadMore: loadMore,
|
|
163
|
-
fixedFooter:
|
|
180
|
+
fixedFooter: combinedFooter,
|
|
164
181
|
dataHook: `multi-reference-input-${field.id}`,
|
|
165
182
|
__self: void 0,
|
|
166
183
|
__source: {
|
|
167
184
|
fileName: _jsxFileName,
|
|
168
|
-
lineNumber:
|
|
185
|
+
lineNumber: 206,
|
|
169
186
|
columnNumber: 7
|
|
170
187
|
}
|
|
171
188
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_mobxReactLite","_react2","_form","_useTranslations","_referenceAvatar","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_FormMultiReference","props","_field$validation2","_controller$fieldStat","_field$validation3","field","dataHook","formControl","data","items","idField","displayField","imageField","searchValue","onSearch","onClearSearch","hasMore","loadMore","fixedFooter","placeholder","translate","useWixPatternsContainer","tf","useTranslations","controller","useController","name","id","control","defaultValue","rules","validate","value","_field$validation","arr","validation","required","length","selectedValues","useMemo","tags","map","item","selectedId","label","image","undefined","removable","size","thumb","createElement","Box","align","verticalAlign","position","top","left","__self","__source","fileName","lineNumber","columnNumber","ReferenceAvatar","options","listItemSelectBuilder","title","prefix","handleSelect","useCallback","option","String","some","find","onChange","handleRemoveTag","tagId","filter","handleChange","target","handleClear","handleBlur","FormField","displayName","status","fieldState","error","statusMessage","message","MultiSelect","clearOnBlur","onSelect","onRemoveTag","onClear","onBlur","clearButton","infiniteScroll","FormMultiReference","exports","observer"],"sources":["../../../../src/components/reference/form-multi-reference.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport {\n Box,\n FormField,\n MultiSelect,\n listItemSelectBuilder,\n type DropdownLayoutValueOption,\n type MultiSelectTag,\n} from '@wix/design-system';\nimport { observer } from 'mobx-react-lite';\nimport { useWixPatternsContainer } from '@wix/bex-core/react';\nimport { useController } from '@wix/bex-core/form';\n\nimport { BaseInputProps } from '../../types/base-input';\nimport { useTranslations } from '../../hooks/use-translations';\nimport { ReferenceAvatar } from './reference-avatar';\nimport type { FormReferenceItem } from './form-reference';\n\n/** Selected references, each stored as `{ [idField], [displayField] }`. */\nexport type FormMultiReferenceValue = Record<string, unknown>[] | null;\n\n// Data-agnostic like CellMultiReferenceInput: the caller owns fetching, search,\n// and pagination and passes the results in as props. This renderer only wraps\n// them in a FormField with react-hook-form wiring. See remaining-issues.md #2.\nexport interface FormMultiReferenceProps\n extends BaseInputProps<FormMultiReferenceValue> {\n /** Candidate items for the dropdown. */\n items: FormReferenceItem[];\n /** Referenced-item field the selected id is written to. */\n idField: string;\n /** Referenced-item field used as the tag label. */\n displayField: string;\n /** Referenced-item field holding an avatar image, when the schema has one. */\n imageField?: string;\n /** Current search text. The caller owns search state. */\n searchValue?: string;\n onSearch: (query: string) => void;\n onClearSearch?: () => void;\n hasMore?: boolean;\n loadMore?: () => void;\n fixedFooter?: React.ReactNode;\n onOpenCollection?: () => void;\n placeholder?: string;\n}\n\nconst _FormMultiReference = (props: FormMultiReferenceProps) => {\n const {\n field,\n dataHook,\n formControl,\n data,\n items,\n idField,\n displayField,\n imageField,\n searchValue,\n onSearch,\n onClearSearch,\n hasMore,\n loadMore,\n fixedFooter,\n placeholder,\n } = props;\n\n const { translate: t } = useWixPatternsContainer();\n const { t: tf } = useTranslations();\n\n const controller = useController({\n name: field.id,\n control: formControl,\n defaultValue: data?.[field.id],\n rules: {\n validate: (value) => {\n const arr = value as FormMultiReferenceValue;\n if (field.validation?.required && (!arr || !arr.length)) {\n return t('cairo.fieldValidation.requiredField');\n }\n return true;\n },\n },\n });\n\n const selectedValues = useMemo(\n () => (controller.field.value as Record<string, unknown>[]) || [],\n [controller.field.value],\n );\n\n const tags = useMemo<MultiSelectTag[]>(\n () =>\n selectedValues.map((item) => {\n const selectedId = item[idField] as string;\n const label = item[displayField] as string;\n const image = imageField\n ? (item[imageField] as string | undefined)\n : undefined;\n return {\n id: selectedId,\n label,\n removable: true,\n size: 'medium',\n thumb: (\n <Box\n align=\"center\"\n verticalAlign=\"middle\"\n position=\"absolute\"\n top=\"calc(50% - 12px)\"\n left=\"calc(50% - 12px)\"\n >\n <ReferenceAvatar name={label} image={image} />\n </Box>\n ),\n dataHook: `multi-reference-tag-${field.id}-${selectedId}`,\n };\n }),\n [selectedValues, idField, displayField, imageField, field.id],\n );\n\n const options = useMemo(\n () =>\n items.map((item) =>\n listItemSelectBuilder({\n id: item.id,\n title: item.name || tf('patterns-fields.reference.untitled'),\n prefix: <ReferenceAvatar name={item.name} image={item.image} />,\n }),\n ),\n [items, tf],\n );\n\n const handleSelect = useCallback(\n (option: DropdownLayoutValueOption) => {\n const selectedId = String(option.id);\n if (selectedValues.some((item) => item[idField] === selectedId)) {\n onClearSearch?.();\n return;\n }\n const item = items.find((i) => i.id === selectedId);\n controller.field.onChange([\n ...selectedValues,\n { [idField]: selectedId, [displayField]: item?.name || '' },\n ]);\n onClearSearch?.();\n },\n [\n selectedValues,\n items,\n idField,\n displayField,\n controller.field,\n onClearSearch,\n ],\n );\n\n const handleRemoveTag = useCallback(\n (tagId: string) => {\n controller.field.onChange(\n selectedValues.filter((item) => item[idField] !== tagId),\n );\n },\n [controller.field, selectedValues, idField],\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onSearch(e.target.value);\n },\n [onSearch],\n );\n\n const handleClear = useCallback(() => {\n controller.field.onChange([]);\n onClearSearch?.();\n }, [controller.field, onClearSearch]);\n\n const handleBlur = useCallback(() => {\n onClearSearch?.();\n }, [onClearSearch]);\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n status={controller.fieldState.error ? 'error' : undefined}\n statusMessage={controller.fieldState.error?.message}\n dataHook={dataHook}\n >\n <MultiSelect\n placeholder={\n placeholder ?? tf('auto-patterns.fields.select_placeholder')\n }\n options={options}\n value={searchValue ?? ''}\n size=\"large\"\n tags={tags}\n clearOnBlur={false}\n onChange={handleChange}\n onSelect={handleSelect}\n onRemoveTag={handleRemoveTag}\n onClear={handleClear}\n onBlur={handleBlur}\n clearButton={!field.validation?.required}\n infiniteScroll={!!loadMore}\n hasMore={hasMore}\n loadMore={loadMore}\n fixedFooter={fixedFooter}\n dataHook={`multi-reference-input-${field.id}`}\n />\n </FormField>\n );\n};\n\nexport const FormMultiReference = observer(_FormMultiReference);\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAQA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAGA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AAAqD,IAAAO,YAAA;AAAA,SAAAR,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAGrD;;AAGA;AACA;AACA;;AAsBA,MAAMkB,mBAAmB,GAAIC,KAA8B,IAAK;EAAA,IAAAC,kBAAA,EAAAC,qBAAA,EAAAC,kBAAA;EAC9D,MAAM;IACJC,KAAK;IACLC,QAAQ;IACRC,WAAW;IACXC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,YAAY;IACZC,UAAU;IACVC,WAAW;IACXC,QAAQ;IACRC,aAAa;IACbC,OAAO;IACPC,QAAQ;IACRC,WAAW;IACXC;EACF,CAAC,GAAGlB,KAAK;EAET,MAAM;IAAEmB,SAAS,EAAEtC;EAAE,CAAC,GAAG,IAAAuC,+BAAuB,EAAC,CAAC;EAClD,MAAM;IAAEvC,CAAC,EAAEwC;EAAG,CAAC,GAAG,IAAAC,gCAAe,EAAC,CAAC;EAEnC,MAAMC,UAAU,GAAG,IAAAC,mBAAa,EAAC;IAC/BC,IAAI,EAAErB,KAAK,CAACsB,EAAE;IACdC,OAAO,EAAErB,WAAW;IACpBsB,YAAY,EAAErB,IAAI,oBAAJA,IAAI,CAAGH,KAAK,CAACsB,EAAE,CAAC;IAC9BG,KAAK,EAAE;MACLC,QAAQ,EAAGC,KAAK,IAAK;QAAA,IAAAC,iBAAA;QACnB,MAAMC,GAAG,GAAGF,KAAgC;QAC5C,IAAI,CAAAC,iBAAA,GAAA5B,KAAK,CAAC8B,UAAU,aAAhBF,iBAAA,CAAkBG,QAAQ,KAAK,CAACF,GAAG,IAAI,CAACA,GAAG,CAACG,MAAM,CAAC,EAAE;UACvD,OAAOvD,CAAC,CAAC,qCAAqC,CAAC;QACjD;QACA,OAAO,IAAI;MACb;IACF;EACF,CAAC,CAAC;EAEF,MAAMwD,cAAc,GAAG,IAAAC,cAAO,EAC5B,MAAOf,UAAU,CAACnB,KAAK,CAAC2B,KAAK,IAAkC,EAAE,EACjE,CAACR,UAAU,CAACnB,KAAK,CAAC2B,KAAK,CACzB,CAAC;EAED,MAAMQ,IAAI,GAAG,IAAAD,cAAO,EAClB,MACED,cAAc,CAACG,GAAG,CAAEC,IAAI,IAAK;IAC3B,MAAMC,UAAU,GAAGD,IAAI,CAAChC,OAAO,CAAW;IAC1C,MAAMkC,KAAK,GAAGF,IAAI,CAAC/B,YAAY,CAAW;IAC1C,MAAMkC,KAAK,GAAGjC,UAAU,GACnB8B,IAAI,CAAC9B,UAAU,CAAC,GACjBkC,SAAS;IACb,OAAO;MACLnB,EAAE,EAAEgB,UAAU;MACdC,KAAK;MACLG,SAAS,EAAE,IAAI;MACfC,IAAI,EAAE,QAAQ;MACdC,KAAK,eACH9E,MAAA,CAAAoB,OAAA,CAAA2D,aAAA,CAAC5E,aAAA,CAAA6E,GAAG;QACFC,KAAK,EAAC,QAAQ;QACdC,aAAa,EAAC,QAAQ;QACtBC,QAAQ,EAAC,UAAU;QACnBC,GAAG,EAAC,kBAAkB;QACtBC,IAAI,EAAC,kBAAkB;QAAAC,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAA/E,YAAA;UAAAgF,UAAA;UAAAC,YAAA;QAAA;MAAA,gBAEvB1F,MAAA,CAAAoB,OAAA,CAAA2D,aAAA,CAACvE,gBAAA,CAAAmF,eAAe;QAACpC,IAAI,EAAEkB,KAAM;QAACC,KAAK,EAAEA,KAAM;QAAAY,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAA/E,YAAA;UAAAgF,UAAA;UAAAC,YAAA;QAAA;MAAA,CAAE,CAC1C,CACN;MACDvD,QAAQ,EAAE,uBAAuBD,KAAK,CAACsB,EAAE,IAAIgB,UAAU;IACzD,CAAC;EACH,CAAC,CAAC,EACJ,CAACL,cAAc,EAAE5B,OAAO,EAAEC,YAAY,EAAEC,UAAU,EAAEP,KAAK,CAACsB,EAAE,CAC9D,CAAC;EAED,MAAMoC,OAAO,GAAG,IAAAxB,cAAO,EACrB,MACE9B,KAAK,CAACgC,GAAG,CAAEC,IAAI,IACb,IAAAsB,mCAAqB,EAAC;IACpBrC,EAAE,EAAEe,IAAI,CAACf,EAAE;IACXsC,KAAK,EAAEvB,IAAI,CAAChB,IAAI,IAAIJ,EAAE,CAAC,oCAAoC,CAAC;IAC5D4C,MAAM,eAAE/F,MAAA,CAAAoB,OAAA,CAAA2D,aAAA,CAACvE,gBAAA,CAAAmF,eAAe;MAACpC,IAAI,EAAEgB,IAAI,CAAChB,IAAK;MAACmB,KAAK,EAAEH,IAAI,CAACG,KAAM;MAAAY,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAA/E,YAAA;QAAAgF,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE;EAChE,CAAC,CACH,CAAC,EACH,CAACpD,KAAK,EAAEa,EAAE,CACZ,CAAC;EAED,MAAM6C,YAAY,GAAG,IAAAC,kBAAW,EAC7BC,MAAiC,IAAK;IACrC,MAAM1B,UAAU,GAAG2B,MAAM,CAACD,MAAM,CAAC1C,EAAE,CAAC;IACpC,IAAIW,cAAc,CAACiC,IAAI,CAAE7B,IAAI,IAAKA,IAAI,CAAChC,OAAO,CAAC,KAAKiC,UAAU,CAAC,EAAE;MAC/D5B,aAAa,YAAbA,aAAa,CAAG,CAAC;MACjB;IACF;IACA,MAAM2B,IAAI,GAAGjC,KAAK,CAAC+D,IAAI,CAAEpF,CAAC,IAAKA,CAAC,CAACuC,EAAE,KAAKgB,UAAU,CAAC;IACnDnB,UAAU,CAACnB,KAAK,CAACoE,QAAQ,CAAC,CACxB,GAAGnC,cAAc,EACjB;MAAE,CAAC5B,OAAO,GAAGiC,UAAU;MAAE,CAAChC,YAAY,GAAG,CAAA+B,IAAI,oBAAJA,IAAI,CAAEhB,IAAI,KAAI;IAAG,CAAC,CAC5D,CAAC;IACFX,aAAa,YAAbA,aAAa,CAAG,CAAC;EACnB,CAAC,EACD,CACEuB,cAAc,EACd7B,KAAK,EACLC,OAAO,EACPC,YAAY,EACZa,UAAU,CAACnB,KAAK,EAChBU,aAAa,CAEjB,CAAC;EAED,MAAM2D,eAAe,GAAG,IAAAN,kBAAW,EAChCO,KAAa,IAAK;IACjBnD,UAAU,CAACnB,KAAK,CAACoE,QAAQ,CACvBnC,cAAc,CAACsC,MAAM,CAAElC,IAAI,IAAKA,IAAI,CAAChC,OAAO,CAAC,KAAKiE,KAAK,CACzD,CAAC;EACH,CAAC,EACD,CAACnD,UAAU,CAACnB,KAAK,EAAEiC,cAAc,EAAE5B,OAAO,CAC5C,CAAC;EAED,MAAMmE,YAAY,GAAG,IAAAT,kBAAW,EAC7BvF,CAAsC,IAAK;IAC1CiC,QAAQ,CAACjC,CAAC,CAACiG,MAAM,CAAC9C,KAAK,CAAC;EAC1B,CAAC,EACD,CAAClB,QAAQ,CACX,CAAC;EAED,MAAMiE,WAAW,GAAG,IAAAX,kBAAW,EAAC,MAAM;IACpC5C,UAAU,CAACnB,KAAK,CAACoE,QAAQ,CAAC,EAAE,CAAC;IAC7B1D,aAAa,YAAbA,aAAa,CAAG,CAAC;EACnB,CAAC,EAAE,CAACS,UAAU,CAACnB,KAAK,EAAEU,aAAa,CAAC,CAAC;EAErC,MAAMiE,UAAU,GAAG,IAAAZ,kBAAW,EAAC,MAAM;IACnCrD,aAAa,YAAbA,aAAa,CAAG,CAAC;EACnB,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,oBACE5C,MAAA,CAAAoB,OAAA,CAAA2D,aAAA,CAAC5E,aAAA,CAAA2G,SAAS;IACRrC,KAAK,EAAEvC,KAAK,CAAC6E,WAAY;IACzB9C,QAAQ,GAAAlC,kBAAA,GAAEG,KAAK,CAAC8B,UAAU,qBAAhBjC,kBAAA,CAAkBkC,QAAS;IACrC+C,MAAM,EAAE3D,UAAU,CAAC4D,UAAU,CAACC,KAAK,GAAG,OAAO,GAAGvC,SAAU;IAC1DwC,aAAa,GAAAnF,qBAAA,GAAEqB,UAAU,CAAC4D,UAAU,CAACC,KAAK,qBAA3BlF,qBAAA,CAA6BoF,OAAQ;IACpDjF,QAAQ,EAAEA,QAAS;IAAAmD,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA/E,YAAA;MAAAgF,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAEnB1F,MAAA,CAAAoB,OAAA,CAAA2D,aAAA,CAAC5E,aAAA,CAAAkH,WAAW;IACVrE,WAAW,EACTA,WAAW,IAAIG,EAAE,CAAC,yCAAyC,CAC5D;IACDyC,OAAO,EAAEA,OAAQ;IACjB/B,KAAK,EAAEnB,WAAW,IAAI,EAAG;IACzBmC,IAAI,EAAC,OAAO;IACZR,IAAI,EAAEA,IAAK;IACXiD,WAAW,EAAE,KAAM;IACnBhB,QAAQ,EAAEI,YAAa;IACvBa,QAAQ,EAAEvB,YAAa;IACvBwB,WAAW,EAAEjB,eAAgB;IAC7BkB,OAAO,EAAEb,WAAY;IACrBc,MAAM,EAAEb,UAAW;IACnBc,WAAW,EAAE,GAAA1F,kBAAA,GAACC,KAAK,CAAC8B,UAAU,aAAhB/B,kBAAA,CAAkBgC,QAAQ,CAAC;IACzC2D,cAAc,EAAE,CAAC,CAAC9E,QAAS;IAC3BD,OAAO,EAAEA,OAAQ;IACjBC,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA,WAAY;IACzBZ,QAAQ,EAAE,yBAAyBD,KAAK,CAACsB,EAAE,EAAG;IAAA8B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA/E,YAAA;MAAAgF,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC/C,CACQ,CAAC;AAEhB,CAAC;AAEM,MAAMmC,kBAAkB,GAAAC,OAAA,CAAAD,kBAAA,GAAG,IAAAE,uBAAQ,EAAClG,mBAAmB,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_mobxReactLite","_react2","_form","_useTranslations","_referenceAvatar","_referenceDropdownFooter","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_FormMultiReference","props","_field$validation2","_controller$fieldStat","_field$validation3","field","dataHook","formControl","data","items","idField","displayField","imageField","searchValue","onSearch","onClearSearch","hasMore","loadMore","fixedFooter","onOpenCollection","placeholder","translate","useWixPatternsContainer","tf","useTranslations","msRef","useRef","controller","useController","name","id","control","defaultValue","rules","validate","value","_field$validation","arr","validation","required","length","selectedValues","useMemo","tags","map","item","selectedId","label","image","undefined","removable","size","thumb","createElement","Box","align","verticalAlign","position","top","left","__self","__source","fileName","lineNumber","columnNumber","ReferenceAvatar","options","listItemSelectBuilder","title","prefix","handleSelect","useCallback","option","String","some","find","onChange","handleRemoveTag","tagId","filter","handleChange","target","handleClear","handleBlur","hideOptions","_msRef$current","current","combinedFooter","useReferenceDropdownFooter","FormField","displayName","status","fieldState","error","statusMessage","message","MultiSelect","ref","instance","clearOnBlur","onSelect","onRemoveTag","onClear","onBlur","clearButton","infiniteScroll","FormMultiReference","exports","observer"],"sources":["../../../../src/components/reference/form-multi-reference.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef } from 'react';\nimport {\n Box,\n FormField,\n MultiSelect,\n listItemSelectBuilder,\n type DropdownLayoutValueOption,\n type MultiSelectTag,\n} from '@wix/design-system';\nimport { observer } from 'mobx-react-lite';\nimport { useWixPatternsContainer } from '@wix/bex-core/react';\nimport { useController } from '@wix/bex-core/form';\n\nimport { BaseInputProps } from '../../types/base-input';\nimport { useTranslations } from '../../hooks/use-translations';\nimport { ReferenceAvatar } from './reference-avatar';\nimport { useReferenceDropdownFooter } from './reference-dropdown-footer';\nimport type { FormReferenceItem } from './form-reference';\n\n/** Selected references, each stored as `{ [idField], [displayField] }`. */\nexport type FormMultiReferenceValue = Record<string, unknown>[] | null;\n\n// Data-agnostic like CellMultiReferenceInput: the caller owns fetching, search,\n// and pagination and passes the results in as props. This renderer only wraps\n// them in a FormField with react-hook-form wiring. See remaining-issues.md #2.\nexport interface FormMultiReferenceProps\n extends BaseInputProps<FormMultiReferenceValue> {\n /** Candidate items for the dropdown. */\n items: FormReferenceItem[];\n /** Referenced-item field the selected id is written to. */\n idField: string;\n /** Referenced-item field used as the tag label. */\n displayField: string;\n /** Referenced-item field holding an avatar image, when the schema has one. */\n imageField?: string;\n /** Current search text. The caller owns search state. */\n searchValue?: string;\n onSearch: (query: string) => void;\n onClearSearch?: () => void;\n hasMore?: boolean;\n loadMore?: () => void;\n fixedFooter?: React.ReactNode;\n /** When set, renders an \"Open Collection\" action at the bottom of the dropdown. */\n onOpenCollection?: () => void;\n placeholder?: string;\n}\n\ninterface MultiSelectHandle {\n hideOptions?: () => void;\n}\n\nconst _FormMultiReference = (props: FormMultiReferenceProps) => {\n const {\n field,\n dataHook,\n formControl,\n data,\n items,\n idField,\n displayField,\n imageField,\n searchValue,\n onSearch,\n onClearSearch,\n hasMore,\n loadMore,\n fixedFooter,\n onOpenCollection,\n placeholder,\n } = props;\n\n const { translate: t } = useWixPatternsContainer();\n const { t: tf } = useTranslations();\n const msRef = useRef<MultiSelectHandle | null>(null);\n\n const controller = useController({\n name: field.id,\n control: formControl,\n defaultValue: data?.[field.id],\n rules: {\n validate: (value) => {\n const arr = value as FormMultiReferenceValue;\n if (field.validation?.required && (!arr || !arr.length)) {\n return t('cairo.fieldValidation.requiredField');\n }\n return true;\n },\n },\n });\n\n const selectedValues = useMemo(\n () => (controller.field.value as Record<string, unknown>[]) || [],\n [controller.field.value],\n );\n\n const tags = useMemo<MultiSelectTag[]>(\n () =>\n selectedValues.map((item) => {\n const selectedId = item[idField] as string;\n // A referenced item with no value in the display field still needs a\n // readable tag — the dropdown options use the same fallback.\n const label =\n (item[displayField] as string) ||\n tf('patterns-fields.reference.untitled');\n const image = imageField\n ? (item[imageField] as string | undefined)\n : undefined;\n return {\n id: selectedId,\n label,\n removable: true,\n size: 'medium',\n thumb: (\n <Box\n align=\"center\"\n verticalAlign=\"middle\"\n position=\"absolute\"\n top=\"calc(50% - 12px)\"\n left=\"calc(50% - 12px)\"\n >\n <ReferenceAvatar name={label} image={image} />\n </Box>\n ),\n dataHook: `multi-reference-tag-${field.id}-${selectedId}`,\n };\n }),\n [selectedValues, idField, displayField, imageField, field.id, tf],\n );\n\n const options = useMemo(\n () =>\n items.map((item) =>\n listItemSelectBuilder({\n id: item.id,\n title: item.name || tf('patterns-fields.reference.untitled'),\n prefix: <ReferenceAvatar name={item.name} image={item.image} />,\n }),\n ),\n [items, tf],\n );\n\n const handleSelect = useCallback(\n (option: DropdownLayoutValueOption) => {\n const selectedId = String(option.id);\n if (selectedValues.some((item) => item[idField] === selectedId)) {\n onClearSearch?.();\n return;\n }\n const item = items.find((i) => i.id === selectedId);\n controller.field.onChange([\n ...selectedValues,\n { [idField]: selectedId, [displayField]: item?.name || '' },\n ]);\n onClearSearch?.();\n },\n [\n selectedValues,\n items,\n idField,\n displayField,\n controller.field,\n onClearSearch,\n ],\n );\n\n const handleRemoveTag = useCallback(\n (tagId: string) => {\n controller.field.onChange(\n selectedValues.filter((item) => item[idField] !== tagId),\n );\n },\n [controller.field, selectedValues, idField],\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onSearch(e.target.value);\n },\n [onSearch],\n );\n\n const handleClear = useCallback(() => {\n controller.field.onChange([]);\n onClearSearch?.();\n }, [controller.field, onClearSearch]);\n\n const handleBlur = useCallback(() => {\n onClearSearch?.();\n }, [onClearSearch]);\n\n const hideOptions = useCallback(() => msRef.current?.hideOptions?.(), []);\n const combinedFooter = useReferenceDropdownFooter({\n fixedFooter,\n onOpenCollection,\n hideOptions,\n });\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n status={controller.fieldState.error ? 'error' : undefined}\n statusMessage={controller.fieldState.error?.message}\n dataHook={dataHook}\n >\n <MultiSelect\n ref={(instance: MultiSelectHandle | null) => {\n msRef.current = instance;\n }}\n placeholder={\n placeholder ?? tf('auto-patterns.fields.select_placeholder')\n }\n options={options}\n value={searchValue ?? ''}\n size=\"large\"\n tags={tags}\n clearOnBlur={false}\n onChange={handleChange}\n onSelect={handleSelect}\n onRemoveTag={handleRemoveTag}\n onClear={handleClear}\n onBlur={handleBlur}\n clearButton={!field.validation?.required}\n infiniteScroll={!!loadMore}\n hasMore={hasMore}\n loadMore={loadMore}\n fixedFooter={combinedFooter}\n dataHook={`multi-reference-input-${field.id}`}\n />\n </FormField>\n );\n};\n\nexport const FormMultiReference = observer(_FormMultiReference);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -9,6 +9,7 @@ var _react2 = require("@wix/bex-core/react");
|
|
|
9
9
|
var _form = require("@wix/bex-core/form");
|
|
10
10
|
var _useTranslations = require("../../hooks/use-translations");
|
|
11
11
|
var _referenceAvatar = require("./reference-avatar");
|
|
12
|
+
var _referenceDropdownFooter = require("./reference-dropdown-footer");
|
|
12
13
|
var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/fields/dist/cjs/components/reference/form-reference.tsx";
|
|
13
14
|
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); }
|
|
14
15
|
/** The selected reference, stored on the form as `{ [idField], [displayField] }`. */
|
|
@@ -34,6 +35,7 @@ const _FormReference = props => {
|
|
|
34
35
|
hasMore,
|
|
35
36
|
loadMore,
|
|
36
37
|
fixedFooter,
|
|
38
|
+
onOpenCollection,
|
|
37
39
|
placeholder
|
|
38
40
|
} = props;
|
|
39
41
|
const {
|
|
@@ -42,6 +44,7 @@ const _FormReference = props => {
|
|
|
42
44
|
const {
|
|
43
45
|
t: tf
|
|
44
46
|
} = (0, _useTranslations.useTranslations)();
|
|
47
|
+
const acRef = (0, _react.useRef)(null);
|
|
45
48
|
const controller = (0, _form.useController)({
|
|
46
49
|
name: field.id,
|
|
47
50
|
control: formControl,
|
|
@@ -58,9 +61,13 @@ const _FormReference = props => {
|
|
|
58
61
|
});
|
|
59
62
|
const selectedValue = controller.field.value;
|
|
60
63
|
const selectedDisplayValue = (selectedValue == null ? void 0 : selectedValue[displayField]) || '';
|
|
61
|
-
|
|
64
|
+
// A reference whose label is empty (the referenced item has no value in the
|
|
65
|
+
// display field) still has to look picked — an empty input reads as "nothing
|
|
66
|
+
// happened". Same fallback the options use.
|
|
67
|
+
const selectedLabel = selectedDisplayValue || (selectedValue ? tf('patterns-fields.reference.untitled') : '');
|
|
68
|
+
const displayValue = searchValue || selectedLabel;
|
|
69
|
+
const selectedId = selectedValue != null && selectedValue[idField] ? String(selectedValue[idField]) : undefined;
|
|
62
70
|
const selectedImage = (0, _react.useMemo)(() => {
|
|
63
|
-
const selectedId = selectedValue == null ? void 0 : selectedValue[idField];
|
|
64
71
|
if (!selectedId) {
|
|
65
72
|
return undefined;
|
|
66
73
|
}
|
|
@@ -69,7 +76,7 @@ const _FormReference = props => {
|
|
|
69
76
|
return found.image;
|
|
70
77
|
}
|
|
71
78
|
return imageField ? selectedValue == null ? void 0 : selectedValue[imageField] : undefined;
|
|
72
|
-
}, [selectedValue,
|
|
79
|
+
}, [selectedValue, selectedId, imageField, items]);
|
|
73
80
|
const options = (0, _react.useMemo)(() => items.map(item => (0, _designSystem.listItemSelectBuilder)({
|
|
74
81
|
id: item.id,
|
|
75
82
|
title: item.name || tf('patterns-fields.reference.untitled'),
|
|
@@ -79,25 +86,25 @@ const _FormReference = props => {
|
|
|
79
86
|
__self: void 0,
|
|
80
87
|
__source: {
|
|
81
88
|
fileName: _jsxFileName,
|
|
82
|
-
lineNumber:
|
|
89
|
+
lineNumber: 121,
|
|
83
90
|
columnNumber: 19
|
|
84
91
|
}
|
|
85
92
|
})
|
|
86
93
|
})), [items, tf]);
|
|
87
|
-
const selectedPrefix =
|
|
94
|
+
const selectedPrefix = selectedLabel && !searchValue ? /*#__PURE__*/_react.default.createElement(_designSystem.Input.Affix, {
|
|
88
95
|
__self: void 0,
|
|
89
96
|
__source: {
|
|
90
97
|
fileName: _jsxFileName,
|
|
91
|
-
lineNumber:
|
|
98
|
+
lineNumber: 129,
|
|
92
99
|
columnNumber: 7
|
|
93
100
|
}
|
|
94
101
|
}, /*#__PURE__*/_react.default.createElement(_referenceAvatar.ReferenceAvatar, {
|
|
95
|
-
name:
|
|
102
|
+
name: selectedLabel,
|
|
96
103
|
image: selectedImage,
|
|
97
104
|
__self: void 0,
|
|
98
105
|
__source: {
|
|
99
106
|
fileName: _jsxFileName,
|
|
100
|
-
lineNumber:
|
|
107
|
+
lineNumber: 130,
|
|
101
108
|
columnNumber: 9
|
|
102
109
|
}
|
|
103
110
|
})) : undefined;
|
|
@@ -122,6 +129,15 @@ const _FormReference = props => {
|
|
|
122
129
|
const handleBlur = (0, _react.useCallback)(() => {
|
|
123
130
|
onClearSearch == null || onClearSearch();
|
|
124
131
|
}, [onClearSearch]);
|
|
132
|
+
const hideOptions = (0, _react.useCallback)(() => {
|
|
133
|
+
var _acRef$current;
|
|
134
|
+
return (_acRef$current = acRef.current) == null || _acRef$current.hideOptions == null ? void 0 : _acRef$current.hideOptions();
|
|
135
|
+
}, []);
|
|
136
|
+
const combinedFooter = (0, _referenceDropdownFooter.useReferenceDropdownFooter)({
|
|
137
|
+
fixedFooter,
|
|
138
|
+
onOpenCollection,
|
|
139
|
+
hideOptions
|
|
140
|
+
});
|
|
125
141
|
return /*#__PURE__*/_react.default.createElement(_designSystem.FormField, {
|
|
126
142
|
label: field.displayName,
|
|
127
143
|
required: (_field$validation2 = field.validation) == null ? void 0 : _field$validation2.required,
|
|
@@ -131,13 +147,20 @@ const _FormReference = props => {
|
|
|
131
147
|
__self: void 0,
|
|
132
148
|
__source: {
|
|
133
149
|
fileName: _jsxFileName,
|
|
134
|
-
lineNumber:
|
|
150
|
+
lineNumber: 173,
|
|
135
151
|
columnNumber: 5
|
|
136
152
|
}
|
|
137
153
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.AutoComplete, {
|
|
154
|
+
ref: acRef,
|
|
138
155
|
placeholder: placeholder ?? tf('auto-patterns.fields.select_placeholder'),
|
|
139
156
|
options: options,
|
|
140
|
-
value: displayValue
|
|
157
|
+
value: displayValue
|
|
158
|
+
// Without this the dropdown tracks its own picks only, so a value that
|
|
159
|
+
// came from the form (a loaded entity, or a re-opened dropdown) shows no
|
|
160
|
+
// selected row. `selected` on listItemSelectBuilder does not do this —
|
|
161
|
+
// the builder drops it.
|
|
162
|
+
,
|
|
163
|
+
selectedId: selectedId,
|
|
141
164
|
prefix: selectedPrefix,
|
|
142
165
|
onChange: handleChange,
|
|
143
166
|
onSelect: handleSelect,
|
|
@@ -147,7 +170,7 @@ const _FormReference = props => {
|
|
|
147
170
|
infiniteScroll: !!loadMore,
|
|
148
171
|
hasMore: hasMore,
|
|
149
172
|
loadMore: loadMore,
|
|
150
|
-
fixedFooter:
|
|
173
|
+
fixedFooter: combinedFooter
|
|
151
174
|
// Hand the input to react-hook-form so shouldFocusError scrolls to +
|
|
152
175
|
// focuses this field when it blocks save.
|
|
153
176
|
,
|
|
@@ -156,7 +179,7 @@ const _FormReference = props => {
|
|
|
156
179
|
__self: void 0,
|
|
157
180
|
__source: {
|
|
158
181
|
fileName: _jsxFileName,
|
|
159
|
-
lineNumber:
|
|
182
|
+
lineNumber: 180,
|
|
160
183
|
columnNumber: 7
|
|
161
184
|
}
|
|
162
185
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_mobxReactLite","_react2","_form","_useTranslations","_referenceAvatar","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_FormReference","props","_field$validation2","_controller$fieldStat","_field$validation3","field","dataHook","formControl","data","items","idField","displayField","imageField","searchValue","onSearch","onClearSearch","hasMore","loadMore","fixedFooter","placeholder","translate","useWixPatternsContainer","tf","useTranslations","controller","useController","name","id","control","defaultValue","rules","validate","value","_field$validation","validation","required","selectedValue","selectedDisplayValue","displayValue","selectedImage","useMemo","selectedId","undefined","found","find","item","image","options","map","listItemSelectBuilder","title","prefix","createElement","ReferenceAvatar","__self","__source","fileName","lineNumber","columnNumber","selectedPrefix","Input","Affix","handleSelect","useCallback","option","String","onChange","handleChange","target","handleClear","handleBlur","FormField","label","displayName","status","fieldState","error","statusMessage","message","AutoComplete","onSelect","onClear","onBlur","clearButton","infiniteScroll","inputRef","ref","FormReference","exports","observer"],"sources":["../../../../src/components/reference/form-reference.tsx"],"sourcesContent":["import React, { useCallback, useMemo } from 'react';\nimport {\n AutoComplete,\n FormField,\n Input,\n listItemSelectBuilder,\n type DropdownLayoutValueOption,\n} from '@wix/design-system';\nimport { observer } from 'mobx-react-lite';\nimport { useWixPatternsContainer } from '@wix/bex-core/react';\nimport { useController } from '@wix/bex-core/form';\n\nimport { BaseInputProps } from '../../types/base-input';\nimport { useTranslations } from '../../hooks/use-translations';\nimport { ReferenceAvatar } from './reference-avatar';\n\nexport interface FormReferenceItem {\n id: string;\n name: string;\n image?: string;\n}\n\n/** The selected reference, stored on the form as `{ [idField], [displayField] }`. */\nexport type FormReferenceValue = Record<string, unknown> | null;\n\n// Data-agnostic like CellReferenceInput: the caller owns fetching, search, and\n// pagination and passes the results in as props. This renderer only wraps them\n// in a FormField with react-hook-form wiring. See remaining-issues.md #2.\nexport interface FormReferenceProps extends BaseInputProps<FormReferenceValue> {\n /** Candidate items for the dropdown. */\n items: FormReferenceItem[];\n /** Referenced-item field the selected id is written to. */\n idField: string;\n /** Referenced-item field used as the display label. */\n displayField: string;\n /** Referenced-item field holding an avatar image, when the schema has one. */\n imageField?: string;\n /** Current search text. Empty ⇒ show the selected item's label. */\n searchValue?: string;\n onSearch: (query: string) => void;\n onClearSearch?: () => void;\n hasMore?: boolean;\n loadMore?: () => void;\n fixedFooter?: React.ReactNode;\n onOpenCollection?: () => void;\n placeholder?: string;\n}\n\nconst _FormReference = (props: FormReferenceProps) => {\n const {\n field,\n dataHook,\n formControl,\n data,\n items,\n idField,\n displayField,\n imageField,\n searchValue,\n onSearch,\n onClearSearch,\n hasMore,\n loadMore,\n fixedFooter,\n placeholder,\n } = props;\n\n const { translate: t } = useWixPatternsContainer();\n const { t: tf } = useTranslations();\n\n const controller = useController({\n name: field.id,\n control: formControl,\n defaultValue: data?.[field.id],\n rules: {\n validate: (value) => {\n if (field.validation?.required && !value) {\n return t('cairo.fieldValidation.requiredField');\n }\n return true;\n },\n },\n });\n\n const selectedValue = controller.field.value as FormReferenceValue;\n const selectedDisplayValue = (selectedValue?.[displayField] as string) || '';\n const displayValue = searchValue || selectedDisplayValue;\n\n const selectedImage = useMemo(() => {\n const selectedId = selectedValue?.[idField];\n if (!selectedId) {\n return undefined;\n }\n const found = items.find((item) => item.id === selectedId);\n if (found?.image) {\n return found.image;\n }\n return imageField\n ? (selectedValue?.[imageField] as string | undefined)\n : undefined;\n }, [selectedValue, idField, imageField, items]);\n\n const options = useMemo(\n () =>\n items.map((item) =>\n listItemSelectBuilder({\n id: item.id,\n title: item.name || tf('patterns-fields.reference.untitled'),\n prefix: <ReferenceAvatar name={item.name} image={item.image} />,\n }),\n ),\n [items, tf],\n );\n\n const selectedPrefix =\n selectedDisplayValue && !searchValue ? (\n <Input.Affix>\n <ReferenceAvatar name={selectedDisplayValue} image={selectedImage} />\n </Input.Affix>\n ) : undefined;\n\n const handleSelect = useCallback(\n (option: DropdownLayoutValueOption) => {\n const item = items.find((i) => i.id === String(option.id));\n controller.field.onChange({\n [idField]: String(option.id),\n [displayField]: item?.name || '',\n });\n onClearSearch?.();\n },\n [items, idField, displayField, controller.field, onClearSearch],\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onSearch(e.target.value);\n if (!e.target.value) {\n controller.field.onChange(null);\n }\n },\n [onSearch, controller.field],\n );\n\n const handleClear = useCallback(() => {\n controller.field.onChange(null);\n onClearSearch?.();\n }, [controller.field, onClearSearch]);\n\n const handleBlur = useCallback(() => {\n onClearSearch?.();\n }, [onClearSearch]);\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n status={controller.fieldState.error ? 'error' : undefined}\n statusMessage={controller.fieldState.error?.message}\n dataHook={dataHook}\n >\n <AutoComplete\n placeholder={\n placeholder ?? tf('auto-patterns.fields.select_placeholder')\n }\n options={options}\n value={displayValue}\n prefix={selectedPrefix}\n onChange={handleChange}\n onSelect={handleSelect}\n onClear={handleClear}\n onBlur={handleBlur}\n clearButton={!field.validation?.required}\n infiniteScroll={!!loadMore}\n hasMore={hasMore}\n loadMore={loadMore}\n fixedFooter={fixedFooter}\n // Hand the input to react-hook-form so shouldFocusError scrolls to +\n // focuses this field when it blocks save.\n inputRef={controller.field.ref}\n dataHook={`reference-input-${field.id}`}\n />\n </FormField>\n );\n};\n\nexport const FormReference = observer(_FormReference);\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAOA,IAAAE,cAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,KAAA,GAAAJ,OAAA;AAGA,IAAAK,gBAAA,GAAAL,OAAA;AACA,IAAAM,gBAAA,GAAAN,OAAA;AAAqD,IAAAO,YAAA;AAAA,SAAAR,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAQrD;;AAGA;AACA;AACA;;AAqBA,MAAMkB,cAAc,GAAIC,KAAyB,IAAK;EAAA,IAAAC,kBAAA,EAAAC,qBAAA,EAAAC,kBAAA;EACpD,MAAM;IACJC,KAAK;IACLC,QAAQ;IACRC,WAAW;IACXC,IAAI;IACJC,KAAK;IACLC,OAAO;IACPC,YAAY;IACZC,UAAU;IACVC,WAAW;IACXC,QAAQ;IACRC,aAAa;IACbC,OAAO;IACPC,QAAQ;IACRC,WAAW;IACXC;EACF,CAAC,GAAGlB,KAAK;EAET,MAAM;IAAEmB,SAAS,EAAEtC;EAAE,CAAC,GAAG,IAAAuC,+BAAuB,EAAC,CAAC;EAClD,MAAM;IAAEvC,CAAC,EAAEwC;EAAG,CAAC,GAAG,IAAAC,gCAAe,EAAC,CAAC;EAEnC,MAAMC,UAAU,GAAG,IAAAC,mBAAa,EAAC;IAC/BC,IAAI,EAAErB,KAAK,CAACsB,EAAE;IACdC,OAAO,EAAErB,WAAW;IACpBsB,YAAY,EAAErB,IAAI,oBAAJA,IAAI,CAAGH,KAAK,CAACsB,EAAE,CAAC;IAC9BG,KAAK,EAAE;MACLC,QAAQ,EAAGC,KAAK,IAAK;QAAA,IAAAC,iBAAA;QACnB,IAAI,CAAAA,iBAAA,GAAA5B,KAAK,CAAC6B,UAAU,aAAhBD,iBAAA,CAAkBE,QAAQ,IAAI,CAACH,KAAK,EAAE;UACxC,OAAOlD,CAAC,CAAC,qCAAqC,CAAC;QACjD;QACA,OAAO,IAAI;MACb;IACF;EACF,CAAC,CAAC;EAEF,MAAMsD,aAAa,GAAGZ,UAAU,CAACnB,KAAK,CAAC2B,KAA2B;EAClE,MAAMK,oBAAoB,GAAG,CAACD,aAAa,oBAAbA,aAAa,CAAGzB,YAAY,CAAC,KAAe,EAAE;EAC5E,MAAM2B,YAAY,GAAGzB,WAAW,IAAIwB,oBAAoB;EAExD,MAAME,aAAa,GAAG,IAAAC,cAAO,EAAC,MAAM;IAClC,MAAMC,UAAU,GAAGL,aAAa,oBAAbA,aAAa,CAAG1B,OAAO,CAAC;IAC3C,IAAI,CAAC+B,UAAU,EAAE;MACf,OAAOC,SAAS;IAClB;IACA,MAAMC,KAAK,GAAGlC,KAAK,CAACmC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAAClB,EAAE,KAAKc,UAAU,CAAC;IAC1D,IAAIE,KAAK,YAALA,KAAK,CAAEG,KAAK,EAAE;MAChB,OAAOH,KAAK,CAACG,KAAK;IACpB;IACA,OAAOlC,UAAU,GACZwB,aAAa,oBAAbA,aAAa,CAAGxB,UAAU,CAAC,GAC5B8B,SAAS;EACf,CAAC,EAAE,CAACN,aAAa,EAAE1B,OAAO,EAAEE,UAAU,EAAEH,KAAK,CAAC,CAAC;EAE/C,MAAMsC,OAAO,GAAG,IAAAP,cAAO,EACrB,MACE/B,KAAK,CAACuC,GAAG,CAAEH,IAAI,IACb,IAAAI,mCAAqB,EAAC;IACpBtB,EAAE,EAAEkB,IAAI,CAAClB,EAAE;IACXuB,KAAK,EAAEL,IAAI,CAACnB,IAAI,IAAIJ,EAAE,CAAC,oCAAoC,CAAC;IAC5D6B,MAAM,eAAEhF,MAAA,CAAAoB,OAAA,CAAA6D,aAAA,CAACzE,gBAAA,CAAA0E,eAAe;MAAC3B,IAAI,EAAEmB,IAAI,CAACnB,IAAK;MAACoB,KAAK,EAAED,IAAI,CAACC,KAAM;MAAAQ,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAA5E,YAAA;QAAA6E,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE;EAChE,CAAC,CACH,CAAC,EACH,CAACjD,KAAK,EAAEa,EAAE,CACZ,CAAC;EAED,MAAMqC,cAAc,GAClBtB,oBAAoB,IAAI,CAACxB,WAAW,gBAClC1C,MAAA,CAAAoB,OAAA,CAAA6D,aAAA,CAAC9E,aAAA,CAAAsF,KAAK,CAACC,KAAK;IAAAP,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA5E,YAAA;MAAA6E,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACVvF,MAAA,CAAAoB,OAAA,CAAA6D,aAAA,CAACzE,gBAAA,CAAA0E,eAAe;IAAC3B,IAAI,EAAEW,oBAAqB;IAACS,KAAK,EAAEP,aAAc;IAAAe,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA5E,YAAA;MAAA6E,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CACzD,CAAC,GACZhB,SAAS;EAEf,MAAMoB,YAAY,GAAG,IAAAC,kBAAW,EAC7BC,MAAiC,IAAK;IACrC,MAAMnB,IAAI,GAAGpC,KAAK,CAACmC,IAAI,CAAExD,CAAC,IAAKA,CAAC,CAACuC,EAAE,KAAKsC,MAAM,CAACD,MAAM,CAACrC,EAAE,CAAC,CAAC;IAC1DH,UAAU,CAACnB,KAAK,CAAC6D,QAAQ,CAAC;MACxB,CAACxD,OAAO,GAAGuD,MAAM,CAACD,MAAM,CAACrC,EAAE,CAAC;MAC5B,CAAChB,YAAY,GAAG,CAAAkC,IAAI,oBAAJA,IAAI,CAAEnB,IAAI,KAAI;IAChC,CAAC,CAAC;IACFX,aAAa,YAAbA,aAAa,CAAG,CAAC;EACnB,CAAC,EACD,CAACN,KAAK,EAAEC,OAAO,EAAEC,YAAY,EAAEa,UAAU,CAACnB,KAAK,EAAEU,aAAa,CAChE,CAAC;EAED,MAAMoD,YAAY,GAAG,IAAAJ,kBAAW,EAC7BlF,CAAsC,IAAK;IAC1CiC,QAAQ,CAACjC,CAAC,CAACuF,MAAM,CAACpC,KAAK,CAAC;IACxB,IAAI,CAACnD,CAAC,CAACuF,MAAM,CAACpC,KAAK,EAAE;MACnBR,UAAU,CAACnB,KAAK,CAAC6D,QAAQ,CAAC,IAAI,CAAC;IACjC;EACF,CAAC,EACD,CAACpD,QAAQ,EAAEU,UAAU,CAACnB,KAAK,CAC7B,CAAC;EAED,MAAMgE,WAAW,GAAG,IAAAN,kBAAW,EAAC,MAAM;IACpCvC,UAAU,CAACnB,KAAK,CAAC6D,QAAQ,CAAC,IAAI,CAAC;IAC/BnD,aAAa,YAAbA,aAAa,CAAG,CAAC;EACnB,CAAC,EAAE,CAACS,UAAU,CAACnB,KAAK,EAAEU,aAAa,CAAC,CAAC;EAErC,MAAMuD,UAAU,GAAG,IAAAP,kBAAW,EAAC,MAAM;IACnChD,aAAa,YAAbA,aAAa,CAAG,CAAC;EACnB,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,oBACE5C,MAAA,CAAAoB,OAAA,CAAA6D,aAAA,CAAC9E,aAAA,CAAAiG,SAAS;IACRC,KAAK,EAAEnE,KAAK,CAACoE,WAAY;IACzBtC,QAAQ,GAAAjC,kBAAA,GAAEG,KAAK,CAAC6B,UAAU,qBAAhBhC,kBAAA,CAAkBiC,QAAS;IACrCuC,MAAM,EAAElD,UAAU,CAACmD,UAAU,CAACC,KAAK,GAAG,OAAO,GAAGlC,SAAU;IAC1DmC,aAAa,GAAA1E,qBAAA,GAAEqB,UAAU,CAACmD,UAAU,CAACC,KAAK,qBAA3BzE,qBAAA,CAA6B2E,OAAQ;IACpDxE,QAAQ,EAAEA,QAAS;IAAAgD,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA5E,YAAA;MAAA6E,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAEnBvF,MAAA,CAAAoB,OAAA,CAAA6D,aAAA,CAAC9E,aAAA,CAAAyG,YAAY;IACX5D,WAAW,EACTA,WAAW,IAAIG,EAAE,CAAC,yCAAyC,CAC5D;IACDyB,OAAO,EAAEA,OAAQ;IACjBf,KAAK,EAAEM,YAAa;IACpBa,MAAM,EAAEQ,cAAe;IACvBO,QAAQ,EAAEC,YAAa;IACvBa,QAAQ,EAAElB,YAAa;IACvBmB,OAAO,EAAEZ,WAAY;IACrBa,MAAM,EAAEZ,UAAW;IACnBa,WAAW,EAAE,GAAA/E,kBAAA,GAACC,KAAK,CAAC6B,UAAU,aAAhB9B,kBAAA,CAAkB+B,QAAQ,CAAC;IACzCiD,cAAc,EAAE,CAAC,CAACnE,QAAS;IAC3BD,OAAO,EAAEA,OAAQ;IACjBC,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA;IACb;IACA;IAAA;IACAmE,QAAQ,EAAE7D,UAAU,CAACnB,KAAK,CAACiF,GAAI;IAC/BhF,QAAQ,EAAE,mBAAmBD,KAAK,CAACsB,EAAE,EAAG;IAAA2B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA5E,YAAA;MAAA6E,UAAA;MAAAC,YAAA;IAAA;EAAA,CACzC,CACQ,CAAC;AAEhB,CAAC;AAEM,MAAM6B,aAAa,GAAAC,OAAA,CAAAD,aAAA,GAAG,IAAAE,uBAAQ,EAACzF,cAAc,CAAC","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_mobxReactLite","_react2","_form","_useTranslations","_referenceAvatar","_referenceDropdownFooter","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","_FormReference","props","_field$validation2","_controller$fieldStat","_field$validation3","field","dataHook","formControl","data","items","idField","displayField","imageField","searchValue","onSearch","onClearSearch","hasMore","loadMore","fixedFooter","onOpenCollection","placeholder","translate","useWixPatternsContainer","tf","useTranslations","acRef","useRef","controller","useController","name","id","control","defaultValue","rules","validate","value","_field$validation","validation","required","selectedValue","selectedDisplayValue","selectedLabel","displayValue","selectedId","String","undefined","selectedImage","useMemo","found","find","item","image","options","map","listItemSelectBuilder","title","prefix","createElement","ReferenceAvatar","__self","__source","fileName","lineNumber","columnNumber","selectedPrefix","Input","Affix","handleSelect","useCallback","option","onChange","handleChange","target","handleClear","handleBlur","hideOptions","_acRef$current","current","combinedFooter","useReferenceDropdownFooter","FormField","label","displayName","status","fieldState","error","statusMessage","message","AutoComplete","ref","onSelect","onClear","onBlur","clearButton","infiniteScroll","inputRef","FormReference","exports","observer"],"sources":["../../../../src/components/reference/form-reference.tsx"],"sourcesContent":["import React, { useCallback, useMemo, useRef } from 'react';\nimport {\n AutoComplete,\n FormField,\n Input,\n listItemSelectBuilder,\n type DropdownLayoutValueOption,\n} from '@wix/design-system';\nimport { observer } from 'mobx-react-lite';\nimport { useWixPatternsContainer } from '@wix/bex-core/react';\nimport { useController } from '@wix/bex-core/form';\n\nimport { BaseInputProps } from '../../types/base-input';\nimport { useTranslations } from '../../hooks/use-translations';\nimport { ReferenceAvatar } from './reference-avatar';\nimport { useReferenceDropdownFooter } from './reference-dropdown-footer';\n\nexport interface FormReferenceItem {\n id: string;\n name: string;\n image?: string;\n}\n\n/** The selected reference, stored on the form as `{ [idField], [displayField] }`. */\nexport type FormReferenceValue = Record<string, unknown> | null;\n\n// Data-agnostic like CellReferenceInput: the caller owns fetching, search, and\n// pagination and passes the results in as props. This renderer only wraps them\n// in a FormField with react-hook-form wiring. See remaining-issues.md #2.\nexport interface FormReferenceProps extends BaseInputProps<FormReferenceValue> {\n /** Candidate items for the dropdown. */\n items: FormReferenceItem[];\n /** Referenced-item field the selected id is written to. */\n idField: string;\n /** Referenced-item field used as the display label. */\n displayField: string;\n /** Referenced-item field holding an avatar image, when the schema has one. */\n imageField?: string;\n /** Current search text. Empty ⇒ show the selected item's label. */\n searchValue?: string;\n onSearch: (query: string) => void;\n onClearSearch?: () => void;\n hasMore?: boolean;\n loadMore?: () => void;\n fixedFooter?: React.ReactNode;\n /** When set, renders an \"Open Collection\" action at the bottom of the dropdown. */\n onOpenCollection?: () => void;\n placeholder?: string;\n}\n\nconst _FormReference = (props: FormReferenceProps) => {\n const {\n field,\n dataHook,\n formControl,\n data,\n items,\n idField,\n displayField,\n imageField,\n searchValue,\n onSearch,\n onClearSearch,\n hasMore,\n loadMore,\n fixedFooter,\n onOpenCollection,\n placeholder,\n } = props;\n\n const { translate: t } = useWixPatternsContainer();\n const { t: tf } = useTranslations();\n const acRef = useRef<React.ComponentRef<typeof AutoComplete> | null>(null);\n\n const controller = useController({\n name: field.id,\n control: formControl,\n defaultValue: data?.[field.id],\n rules: {\n validate: (value) => {\n if (field.validation?.required && !value) {\n return t('cairo.fieldValidation.requiredField');\n }\n return true;\n },\n },\n });\n\n const selectedValue = controller.field.value as FormReferenceValue;\n const selectedDisplayValue = (selectedValue?.[displayField] as string) || '';\n // A reference whose label is empty (the referenced item has no value in the\n // display field) still has to look picked — an empty input reads as \"nothing\n // happened\". Same fallback the options use.\n const selectedLabel =\n selectedDisplayValue ||\n (selectedValue ? tf('patterns-fields.reference.untitled') : '');\n const displayValue = searchValue || selectedLabel;\n const selectedId = selectedValue?.[idField]\n ? String(selectedValue[idField])\n : undefined;\n\n const selectedImage = useMemo(() => {\n if (!selectedId) {\n return undefined;\n }\n const found = items.find((item) => item.id === selectedId);\n if (found?.image) {\n return found.image;\n }\n return imageField\n ? (selectedValue?.[imageField] as string | undefined)\n : undefined;\n }, [selectedValue, selectedId, imageField, items]);\n\n const options = useMemo(\n () =>\n items.map((item) =>\n listItemSelectBuilder({\n id: item.id,\n title: item.name || tf('patterns-fields.reference.untitled'),\n prefix: <ReferenceAvatar name={item.name} image={item.image} />,\n }),\n ),\n [items, tf],\n );\n\n const selectedPrefix =\n selectedLabel && !searchValue ? (\n <Input.Affix>\n <ReferenceAvatar name={selectedLabel} image={selectedImage} />\n </Input.Affix>\n ) : undefined;\n\n const handleSelect = useCallback(\n (option: DropdownLayoutValueOption) => {\n const item = items.find((i) => i.id === String(option.id));\n controller.field.onChange({\n [idField]: String(option.id),\n [displayField]: item?.name || '',\n });\n onClearSearch?.();\n },\n [items, idField, displayField, controller.field, onClearSearch],\n );\n\n const handleChange = useCallback(\n (e: React.ChangeEvent<HTMLInputElement>) => {\n onSearch(e.target.value);\n if (!e.target.value) {\n controller.field.onChange(null);\n }\n },\n [onSearch, controller.field],\n );\n\n const handleClear = useCallback(() => {\n controller.field.onChange(null);\n onClearSearch?.();\n }, [controller.field, onClearSearch]);\n\n const handleBlur = useCallback(() => {\n onClearSearch?.();\n }, [onClearSearch]);\n\n const hideOptions = useCallback(() => acRef.current?.hideOptions?.(), []);\n const combinedFooter = useReferenceDropdownFooter({\n fixedFooter,\n onOpenCollection,\n hideOptions,\n });\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n status={controller.fieldState.error ? 'error' : undefined}\n statusMessage={controller.fieldState.error?.message}\n dataHook={dataHook}\n >\n <AutoComplete\n ref={acRef}\n placeholder={\n placeholder ?? tf('auto-patterns.fields.select_placeholder')\n }\n options={options}\n value={displayValue}\n // Without this the dropdown tracks its own picks only, so a value that\n // came from the form (a loaded entity, or a re-opened dropdown) shows no\n // selected row. `selected` on listItemSelectBuilder does not do this —\n // the builder drops it.\n selectedId={selectedId}\n prefix={selectedPrefix}\n onChange={handleChange}\n onSelect={handleSelect}\n onClear={handleClear}\n onBlur={handleBlur}\n clearButton={!field.validation?.required}\n infiniteScroll={!!loadMore}\n hasMore={hasMore}\n loadMore={loadMore}\n fixedFooter={combinedFooter}\n // Hand the input to react-hook-form so shouldFocusError scrolls to +\n // focuses this field when it blocks save.\n inputRef={controller.field.ref}\n dataHook={`reference-input-${field.id}`}\n />\n </FormField>\n );\n};\n\nexport const FormReference = observer(_FormReference);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
exports.__esModule = true;
|
|
4
|
+
exports.useReferenceDropdownFooter = useReferenceDropdownFooter;
|
|
5
|
+
var _react = _interopRequireWildcard(require("react"));
|
|
6
|
+
var _designSystem = require("@wix/design-system");
|
|
7
|
+
var _useTranslations = require("../../hooks/use-translations");
|
|
8
|
+
var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/fields/dist/cjs/components/reference/reference-dropdown-footer.tsx";
|
|
9
|
+
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
|
+
* Footer for a reference dropdown: the caller's content plus an "Open
|
|
12
|
+
* Collection" action. Returns `undefined` when there is nothing to show, so the
|
|
13
|
+
* dropdown renders no footer at all.
|
|
14
|
+
*/
|
|
15
|
+
function useReferenceDropdownFooter({
|
|
16
|
+
fixedFooter,
|
|
17
|
+
onOpenCollection,
|
|
18
|
+
hideOptions
|
|
19
|
+
}) {
|
|
20
|
+
const {
|
|
21
|
+
t
|
|
22
|
+
} = (0, _useTranslations.useTranslations)();
|
|
23
|
+
return (0, _react.useMemo)(() => {
|
|
24
|
+
if (!fixedFooter && !onOpenCollection) {
|
|
25
|
+
return undefined;
|
|
26
|
+
}
|
|
27
|
+
return (
|
|
28
|
+
/*#__PURE__*/
|
|
29
|
+
// Pressing inside the footer must not blur the input — that would close
|
|
30
|
+
// the dropdown before the click lands.
|
|
31
|
+
// eslint-disable-next-line jsx-a11y/no-static-element-interactions
|
|
32
|
+
_react.default.createElement("div", {
|
|
33
|
+
onMouseDown: e => e.preventDefault(),
|
|
34
|
+
__self: this,
|
|
35
|
+
__source: {
|
|
36
|
+
fileName: _jsxFileName,
|
|
37
|
+
lineNumber: 34,
|
|
38
|
+
columnNumber: 7
|
|
39
|
+
}
|
|
40
|
+
}, fixedFooter, onOpenCollection && /*#__PURE__*/_react.default.createElement(_designSystem.Divider, {
|
|
41
|
+
__self: this,
|
|
42
|
+
__source: {
|
|
43
|
+
fileName: _jsxFileName,
|
|
44
|
+
lineNumber: 36,
|
|
45
|
+
columnNumber: 30
|
|
46
|
+
}
|
|
47
|
+
}), onOpenCollection && /*#__PURE__*/_react.default.createElement(_designSystem.ListItemAction, {
|
|
48
|
+
title: t('patterns-fields.reference.open_collection'),
|
|
49
|
+
size: "small",
|
|
50
|
+
onClick: () => {
|
|
51
|
+
hideOptions == null || hideOptions();
|
|
52
|
+
onOpenCollection();
|
|
53
|
+
},
|
|
54
|
+
dataHook: "reference-open-collection",
|
|
55
|
+
__self: this,
|
|
56
|
+
__source: {
|
|
57
|
+
fileName: _jsxFileName,
|
|
58
|
+
lineNumber: 38,
|
|
59
|
+
columnNumber: 11
|
|
60
|
+
}
|
|
61
|
+
}))
|
|
62
|
+
);
|
|
63
|
+
}, [fixedFooter, onOpenCollection, hideOptions, t]);
|
|
64
|
+
}
|
|
65
|
+
//# sourceMappingURL=reference-dropdown-footer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_useTranslations","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useReferenceDropdownFooter","fixedFooter","onOpenCollection","hideOptions","useTranslations","useMemo","undefined","createElement","onMouseDown","preventDefault","__self","__source","fileName","lineNumber","columnNumber","Divider","ListItemAction","title","size","onClick","dataHook"],"sources":["../../../../src/components/reference/reference-dropdown-footer.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { Divider, ListItemAction } from '@wix/design-system';\nimport { useTranslations } from '../../hooks/use-translations';\n\nexport interface ReferenceDropdownFooterParams {\n /** Caller-supplied footer content (loader / empty state / error state). */\n fixedFooter?: React.ReactNode;\n /** When set, an \"Open Collection\" action is appended below the footer. */\n onOpenCollection?: () => void;\n /** Closes the dropdown before navigating to the referenced collection. */\n hideOptions?: () => void;\n}\n\n/**\n * Footer for a reference dropdown: the caller's content plus an \"Open\n * Collection\" action. Returns `undefined` when there is nothing to show, so the\n * dropdown renders no footer at all.\n */\nexport function useReferenceDropdownFooter({\n fixedFooter,\n onOpenCollection,\n hideOptions,\n}: ReferenceDropdownFooterParams): React.ReactNode | undefined {\n const { t } = useTranslations();\n\n return useMemo(() => {\n if (!fixedFooter && !onOpenCollection) {\n return undefined;\n }\n return (\n // Pressing inside the footer must not blur the input — that would close\n // the dropdown before the click lands.\n // eslint-disable-next-line jsx-a11y/no-static-element-interactions\n <div onMouseDown={(e) => e.preventDefault()}>\n {fixedFooter}\n {onOpenCollection && <Divider />}\n {onOpenCollection && (\n <ListItemAction\n title={t('patterns-fields.reference.open_collection')}\n size=\"small\"\n onClick={() => {\n hideOptions?.();\n onOpenCollection();\n }}\n dataHook=\"reference-open-collection\"\n />\n )}\n </div>\n );\n }, [fixedFooter, onOpenCollection, hideOptions, t]);\n}\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,gBAAA,GAAAF,OAAA;AAA+D,IAAAG,YAAA;AAAA,SAAAJ,wBAAAK,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAP,uBAAA,YAAAA,CAAAK,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAW/D;AACA;AACA;AACA;AACA;AACO,SAASkB,0BAA0BA,CAAC;EACzCC,WAAW;EACXC,gBAAgB;EAChBC;AAC6B,CAAC,EAA+B;EAC7D,MAAM;IAAErB;EAAE,CAAC,GAAG,IAAAsB,gCAAe,EAAC,CAAC;EAE/B,OAAO,IAAAC,cAAO,EAAC,MAAM;IACnB,IAAI,CAACJ,WAAW,IAAI,CAACC,gBAAgB,EAAE;MACrC,OAAOI,SAAS;IAClB;IACA;MAAA;MACE;MACA;MACA;MACA/B,MAAA,CAAAgB,OAAA,CAAAgB,aAAA;QAAKC,WAAW,EAAG3B,CAAC,IAAKA,CAAC,CAAC4B,cAAc,CAAC,CAAE;QAAAC,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAhC,YAAA;UAAAiC,UAAA;UAAAC,YAAA;QAAA;MAAA,GACzCb,WAAW,EACXC,gBAAgB,iBAAI3B,MAAA,CAAAgB,OAAA,CAAAgB,aAAA,CAAC7B,aAAA,CAAAqC,OAAO;QAAAL,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAhC,YAAA;UAAAiC,UAAA;UAAAC,YAAA;QAAA;MAAA,CAAE,CAAC,EAC/BZ,gBAAgB,iBACf3B,MAAA,CAAAgB,OAAA,CAAAgB,aAAA,CAAC7B,aAAA,CAAAsC,cAAc;QACbC,KAAK,EAAEnC,CAAC,CAAC,2CAA2C,CAAE;QACtDoC,IAAI,EAAC,OAAO;QACZC,OAAO,EAAEA,CAAA,KAAM;UACbhB,WAAW,YAAXA,WAAW,CAAG,CAAC;UACfD,gBAAgB,CAAC,CAAC;QACpB,CAAE;QACFkB,QAAQ,EAAC,2BAA2B;QAAAV,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAhC,YAAA;UAAAiC,UAAA;UAAAC,YAAA;QAAA;MAAA,CACrC,CAEA;IAAC;EAEV,CAAC,EAAE,CAACb,WAAW,EAAEC,gBAAgB,EAAEC,WAAW,EAAErB,CAAC,CAAC,CAAC;AACrD","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_ = "richcontentdefaultvalueinput4286293955";
|
|
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
|
-
"richContentEditorContainer": "
|
|
17
|
-
"editor": "
|
|
15
|
+
"root": "richcontentdefaultvalueinput4286293955__root",
|
|
16
|
+
"richContentEditorContainer": "richcontentdefaultvalueinput4286293955__richContentEditorContainer",
|
|
17
|
+
"editor": "richcontentdefaultvalueinput4286293955__editor"
|
|
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/default-value-input/rich-content-default-value-input.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/default-value-input/rich-content-default-value-input.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"richcontentdefaultvalueinput4286293955\";\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\":\"richcontentdefaultvalueinput4286293955__root\",\"richContentEditorContainer\":\"richcontentdefaultvalueinput4286293955__richContentEditorContainer\",\"editor\":\"richcontentdefaultvalueinput4286293955__editor\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"topToolbarHeight\":\"--topToolbarHeight\",\"bottomToolbarHeight\":\"--bottomToolbarHeight\"}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,wCAAwC;AAC1D,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,8CAA8C;EAAC,4BAA4B,EAAC,oEAAoE;EAAC,QAAQ,EAAC;AAAgD,CAAC;AACjO,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,kBAAkB,EAAC,oBAAoB;EAAC,qBAAqB,EAAC;AAAuB,CAAC","ignoreList":[]}
|