@wix/auto-patterns 1.46.0 → 1.47.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/assets/locale/messages_en.json +8 -1
- package/dist/cjs/cms-fields/components/address/input/address-input.st.css.js +3 -3
- package/dist/cjs/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/audio/actions/actions-button/actions-button.js +67 -0
- package/dist/cjs/cms-fields/components/audio/actions/actions-button/actions-button.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/actions/actions-button/index.js +10 -0
- package/dist/cjs/cms-fields/components/audio/actions/actions-button/index.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.js +119 -0
- package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css +5 -0
- package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +25 -0
- package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/actions/actions-menu/index.js +16 -0
- package/dist/cjs/cms-fields/components/audio/actions/actions-menu/index.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/actions/actions-menu/types.js +4 -0
- package/dist/cjs/cms-fields/components/audio/actions/actions-menu/types.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/audio-field/audio-view.js +68 -0
- package/dist/cjs/cms-fields/components/audio/audio-field/audio-view.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.js +218 -0
- package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css +28 -0
- package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +31 -0
- package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/audio-field/index.js +16 -0
- package/dist/cjs/cms-fields/components/audio/audio-field/index.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.js +77 -0
- package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css +11 -0
- package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js +22 -0
- package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/audio-player/index.js +10 -0
- package/dist/cjs/cms-fields/components/audio/audio-player/index.js.map +1 -0
- package/dist/cjs/cms-fields/components/audio/index.js +16 -0
- package/dist/cjs/cms-fields/components/audio/index.js.map +1 -0
- package/dist/cjs/cms-fields/components/common.js +2 -2
- package/dist/cjs/cms-fields/components/common.js.map +1 -1
- package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
- package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/document/document-control.js +31 -14
- package/dist/cjs/cms-fields/components/document/document-control.js.map +1 -1
- package/dist/cjs/cms-fields/components/document/form-document-field.js +4 -2
- package/dist/cjs/cms-fields/components/document/form-document-field.js.map +1 -1
- package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js +7 -7
- package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
- package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.js +42 -0
- package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.js.map +1 -0
- package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css +39 -0
- package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js +31 -0
- package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -0
- package/dist/cjs/cms-fields/components/highlighted-text/index.js +10 -0
- package/dist/cjs/cms-fields/components/highlighted-text/index.js.map +1 -0
- package/dist/cjs/cms-fields/components/index.js +6 -0
- package/dist/cjs/cms-fields/components/index.js.map +1 -1
- package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
- package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/media-control/use-media-control.js +63 -18
- package/dist/cjs/cms-fields/components/media-control/use-media-control.js.map +1 -1
- package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js +4 -4
- package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/media-loader/index.js +10 -0
- package/dist/cjs/cms-fields/components/media-loader/index.js.map +1 -0
- package/dist/cjs/cms-fields/components/media-loader/media-loader.js +37 -0
- package/dist/cjs/cms-fields/components/media-loader/media-loader.js.map +1 -0
- package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css +20 -0
- package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js +29 -0
- package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -0
- package/dist/cjs/cms-fields/components/media-tag/highlighted-media-tag.js +36 -0
- package/dist/cjs/cms-fields/components/media-tag/highlighted-media-tag.js.map +1 -0
- package/dist/cjs/cms-fields/components/media-tag/index.js +16 -0
- package/dist/cjs/cms-fields/components/media-tag/index.js.map +1 -0
- package/dist/cjs/cms-fields/components/media-tag/web-media-tag/index.js +9 -0
- package/dist/cjs/cms-fields/components/media-tag/web-media-tag/index.js.map +1 -0
- package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.js +62 -0
- package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.js.map +1 -0
- package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css +12 -0
- package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +25 -0
- package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -0
- package/dist/cjs/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.js +50 -0
- package/dist/cjs/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.js.map +1 -0
- package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.js +5 -3
- package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
- package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.js +10 -8
- package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.js.map +1 -1
- package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
- package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
- package/dist/cjs/cms-fields/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/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
- package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
- package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
- package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
- package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/components/text/text-view.st.css.js +3 -3
- package/dist/cjs/cms-fields/components/text/text-view.st.css.js.map +1 -1
- package/dist/cjs/cms-fields/hooks/index.js +6 -0
- package/dist/cjs/cms-fields/hooks/index.js.map +1 -1
- package/dist/cjs/cms-fields/hooks/use-resize-effect.js +16 -0
- package/dist/cjs/cms-fields/hooks/use-resize-effect.js.map +1 -0
- package/dist/cjs/cms-fields/utils/fuzzy-search.js +4 -0
- package/dist/cjs/cms-fields/utils/fuzzy-search.js.map +1 -0
- package/dist/cjs/cms-fields/utils/get-app-bounding-rect.js.map +1 -1
- package/dist/cjs/cms-fields/utils/get-app-popover-max-height.js +21 -0
- package/dist/cjs/cms-fields/utils/get-app-popover-max-height.js.map +1 -0
- package/dist/cjs/cms-fields/utils/get-schema-type.js +7 -0
- package/dist/cjs/cms-fields/utils/get-schema-type.js.map +1 -0
- package/dist/cjs/cms-fields/utils/index.js +24 -0
- package/dist/cjs/cms-fields/utils/index.js.map +1 -1
- package/dist/cjs/cms-fields/utils/media-utils.js +4 -20
- package/dist/cjs/cms-fields/utils/media-utils.js.map +1 -1
- package/dist/cjs/cms-fields/validations/email.js +27 -0
- package/dist/cjs/cms-fields/validations/email.js.map +1 -0
- package/dist/cjs/components/fields/Audio.js +63 -0
- package/dist/cjs/components/fields/Audio.js.map +1 -0
- package/dist/cjs/components/fields/Email.js +73 -0
- package/dist/cjs/components/fields/Email.js.map +1 -0
- package/dist/cjs/components/fields/index.js +7 -1
- package/dist/cjs/components/fields/index.js.map +1 -1
- package/dist/cjs/components/layouts/FormField.js +4 -2
- package/dist/cjs/components/layouts/FormField.js.map +1 -1
- package/dist/cjs/components/layouts/ViewField.js +21 -10
- package/dist/cjs/components/layouts/ViewField.js.map +1 -1
- package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +7 -1
- package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
- package/dist/cjs/dataSourceAdapters/cms/filterUtils.js +4 -4
- package/dist/cjs/dataSourceAdapters/cms/filterUtils.js.map +1 -1
- package/dist/cjs/hooks/getFilterComponent.js +2 -0
- package/dist/cjs/hooks/getFilterComponent.js.map +1 -1
- package/dist/cjs/hooks/useColumns.js +23 -13
- package/dist/cjs/hooks/useColumns.js.map +1 -1
- package/dist/cjs/hooks/useFiltersState.js +2 -0
- package/dist/cjs/hooks/useFiltersState.js.map +1 -1
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/types/types.js.map +1 -1
- package/dist/esm/assets/locale/messages_en.json +8 -1
- package/dist/esm/cms-fields/components/address/input/address-input.st.css.js +3 -3
- package/dist/esm/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/audio/actions/actions-button/actions-button.js +42 -0
- package/dist/esm/cms-fields/components/audio/actions/actions-button/actions-button.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/actions/actions-button/index.js +2 -0
- package/dist/esm/cms-fields/components/audio/actions/actions-button/index.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.js +80 -0
- package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css +5 -0
- package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +21 -0
- package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/actions/actions-menu/index.js +3 -0
- package/dist/esm/cms-fields/components/audio/actions/actions-menu/index.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/actions/actions-menu/types.js +2 -0
- package/dist/esm/cms-fields/components/audio/actions/actions-menu/types.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/audio-field/audio-view.js +37 -0
- package/dist/esm/cms-fields/components/audio/audio-field/audio-view.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.js +131 -0
- package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css +28 -0
- package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +27 -0
- package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/audio-field/index.js +3 -0
- package/dist/esm/cms-fields/components/audio/audio-field/index.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/audio-player/audio-player.js +41 -0
- package/dist/esm/cms-fields/components/audio/audio-player/audio-player.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css +11 -0
- package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js +18 -0
- package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/audio-player/index.js +2 -0
- package/dist/esm/cms-fields/components/audio/audio-player/index.js.map +1 -0
- package/dist/esm/cms-fields/components/audio/index.js +3 -0
- package/dist/esm/cms-fields/components/audio/index.js.map +1 -0
- package/dist/esm/cms-fields/components/common.js +1 -1
- package/dist/esm/cms-fields/components/common.js.map +1 -1
- package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
- package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/document/document-control.js +13 -3
- package/dist/esm/cms-fields/components/document/document-control.js.map +1 -1
- package/dist/esm/cms-fields/components/document/form-document-field.js +3 -1
- package/dist/esm/cms-fields/components/document/form-document-field.js.map +1 -1
- package/dist/esm/cms-fields/components/document/form-document-field.st.css.js +7 -7
- package/dist/esm/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
- package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.js +29 -0
- package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.js.map +1 -0
- package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css +39 -0
- package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js +27 -0
- package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -0
- package/dist/esm/cms-fields/components/highlighted-text/index.js +2 -0
- package/dist/esm/cms-fields/components/highlighted-text/index.js.map +1 -0
- package/dist/esm/cms-fields/components/index.js +1 -0
- package/dist/esm/cms-fields/components/index.js.map +1 -1
- package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
- package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/media-control/use-media-control.js +63 -18
- package/dist/esm/cms-fields/components/media-control/use-media-control.js.map +1 -1
- package/dist/esm/cms-fields/components/media-image/media-image.st.css.js +4 -4
- package/dist/esm/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/media-loader/index.js +2 -0
- package/dist/esm/cms-fields/components/media-loader/index.js.map +1 -0
- package/dist/esm/cms-fields/components/media-loader/media-loader.js +21 -0
- package/dist/esm/cms-fields/components/media-loader/media-loader.js.map +1 -0
- package/dist/esm/cms-fields/components/media-loader/media-loader.st.css +20 -0
- package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js +25 -0
- package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -0
- package/dist/esm/cms-fields/components/media-tag/highlighted-media-tag.js +18 -0
- package/dist/esm/cms-fields/components/media-tag/highlighted-media-tag.js.map +1 -0
- package/dist/esm/cms-fields/components/media-tag/index.js +3 -0
- package/dist/esm/cms-fields/components/media-tag/index.js.map +1 -0
- package/dist/esm/cms-fields/components/media-tag/web-media-tag/index.js +3 -0
- package/dist/esm/cms-fields/components/media-tag/web-media-tag/index.js.map +1 -0
- package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.js +31 -0
- package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.js.map +1 -0
- package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css +12 -0
- package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +21 -0
- package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -0
- package/dist/esm/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.js +25 -0
- package/dist/esm/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.js.map +1 -0
- package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.js +3 -1
- package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
- package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.js +3 -1
- package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.js.map +1 -1
- package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
- package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
- package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
- package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
- package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
- package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
- package/dist/esm/cms-fields/components/text/text-view.st.css.js +3 -3
- package/dist/esm/cms-fields/components/text/text-view.st.css.js.map +1 -1
- package/dist/esm/cms-fields/hooks/index.js +1 -0
- package/dist/esm/cms-fields/hooks/index.js.map +1 -1
- package/dist/esm/cms-fields/hooks/use-resize-effect.js +11 -0
- package/dist/esm/cms-fields/hooks/use-resize-effect.js.map +1 -0
- package/dist/esm/cms-fields/utils/fuzzy-search.js +2 -0
- package/dist/esm/cms-fields/utils/fuzzy-search.js.map +1 -0
- package/dist/esm/cms-fields/utils/get-app-bounding-rect.js.map +1 -1
- package/dist/esm/cms-fields/utils/get-app-popover-max-height.js +16 -0
- package/dist/esm/cms-fields/utils/get-app-popover-max-height.js.map +1 -0
- package/dist/esm/cms-fields/utils/get-schema-type.js +2 -0
- package/dist/esm/cms-fields/utils/get-schema-type.js.map +1 -0
- package/dist/esm/cms-fields/utils/index.js +4 -0
- package/dist/esm/cms-fields/utils/index.js.map +1 -1
- package/dist/esm/cms-fields/utils/media-utils.js +2 -18
- package/dist/esm/cms-fields/utils/media-utils.js.map +1 -1
- package/dist/esm/cms-fields/validations/email.js +22 -0
- package/dist/esm/cms-fields/validations/email.js.map +1 -0
- package/dist/esm/components/fields/Audio.js +44 -0
- package/dist/esm/components/fields/Audio.js.map +1 -0
- package/dist/esm/components/fields/Email.js +53 -0
- package/dist/esm/components/fields/Email.js.map +1 -0
- package/dist/esm/components/fields/index.js +2 -0
- package/dist/esm/components/fields/index.js.map +1 -1
- package/dist/esm/components/layouts/FormField.js +4 -2
- package/dist/esm/components/layouts/FormField.js.map +1 -1
- package/dist/esm/components/layouts/ViewField.js +5 -0
- package/dist/esm/components/layouts/ViewField.js.map +1 -1
- package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +8 -1
- package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
- package/dist/esm/dataSourceAdapters/cms/filterUtils.js +4 -4
- package/dist/esm/dataSourceAdapters/cms/filterUtils.js.map +1 -1
- package/dist/esm/hooks/getFilterComponent.js +2 -0
- package/dist/esm/hooks/getFilterComponent.js.map +1 -1
- package/dist/esm/hooks/useColumns.js +5 -1
- package/dist/esm/hooks/useColumns.js.map +1 -1
- package/dist/esm/hooks/useFiltersState.js +2 -0
- package/dist/esm/hooks/useFiltersState.js.map +1 -1
- package/dist/esm/services/translations.js.map +1 -1
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/types/types.js.map +1 -1
- package/dist/types/cms-fields/components/audio/actions/actions-button/actions-button.d.ts +10 -0
- package/dist/types/cms-fields/components/audio/actions/actions-button/actions-button.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/actions/actions-button/index.d.ts +2 -0
- package/dist/types/cms-fields/components/audio/actions/actions-button/index.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.d.ts +29 -0
- package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.d.ts +16 -0
- package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/actions/actions-menu/index.d.ts +3 -0
- package/dist/types/cms-fields/components/audio/actions/actions-menu/index.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/actions/actions-menu/types.d.ts +13 -0
- package/dist/types/cms-fields/components/audio/actions/actions-menu/types.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/audio-field/audio-view.d.ts +4 -0
- package/dist/types/cms-fields/components/audio/audio-field/audio-view.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.d.ts +4 -0
- package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.st.css.d.ts +22 -0
- package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.st.css.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/audio-field/index.d.ts +3 -0
- package/dist/types/cms-fields/components/audio/audio-field/index.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/audio-player/audio-player.d.ts +8 -0
- package/dist/types/cms-fields/components/audio/audio-player/audio-player.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/audio-player/audio-player.st.css.d.ts +13 -0
- package/dist/types/cms-fields/components/audio/audio-player/audio-player.st.css.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/audio-player/index.d.ts +2 -0
- package/dist/types/cms-fields/components/audio/audio-player/index.d.ts.map +1 -0
- package/dist/types/cms-fields/components/audio/index.d.ts +3 -0
- package/dist/types/cms-fields/components/audio/index.d.ts.map +1 -0
- package/dist/types/cms-fields/components/common.d.ts +1 -0
- package/dist/types/cms-fields/components/common.d.ts.map +1 -1
- package/dist/types/cms-fields/components/delete-dialog/delete-dialog.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/document/document-control.d.ts +1 -0
- package/dist/types/cms-fields/components/document/document-control.d.ts.map +1 -1
- package/dist/types/cms-fields/components/document/form-document-field.d.ts.map +1 -1
- package/dist/types/cms-fields/components/document/form-document-field.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/exclamation/exclamation.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/highlighted-text/highlighted-text.d.ts +10 -0
- package/dist/types/cms-fields/components/highlighted-text/highlighted-text.d.ts.map +1 -0
- package/dist/types/cms-fields/components/highlighted-text/highlighted-text.st.css.d.ts +22 -0
- package/dist/types/cms-fields/components/highlighted-text/highlighted-text.st.css.d.ts.map +1 -0
- package/dist/types/cms-fields/components/highlighted-text/index.d.ts +2 -0
- package/dist/types/cms-fields/components/highlighted-text/index.d.ts.map +1 -0
- package/dist/types/cms-fields/components/index.d.ts +1 -0
- package/dist/types/cms-fields/components/index.d.ts.map +1 -1
- package/dist/types/cms-fields/components/media-control/paste-url-button.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/media-control/use-media-control.d.ts +2 -1
- package/dist/types/cms-fields/components/media-control/use-media-control.d.ts.map +1 -1
- package/dist/types/cms-fields/components/media-loader/index.d.ts +2 -0
- package/dist/types/cms-fields/components/media-loader/index.d.ts.map +1 -0
- package/dist/types/cms-fields/components/media-loader/media-loader.d.ts +7 -0
- package/dist/types/cms-fields/components/media-loader/media-loader.d.ts.map +1 -0
- package/dist/types/cms-fields/components/media-loader/media-loader.st.css.d.ts +20 -0
- package/dist/types/cms-fields/components/media-loader/media-loader.st.css.d.ts.map +1 -0
- package/dist/types/cms-fields/components/media-tag/highlighted-media-tag.d.ts +8 -0
- package/dist/types/cms-fields/components/media-tag/highlighted-media-tag.d.ts.map +1 -0
- package/dist/types/cms-fields/components/media-tag/index.d.ts +3 -0
- package/dist/types/cms-fields/components/media-tag/index.d.ts.map +1 -0
- package/dist/types/cms-fields/components/media-tag/web-media-tag/index.d.ts +5 -0
- package/dist/types/cms-fields/components/media-tag/web-media-tag/index.d.ts.map +1 -0
- package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.d.ts +10 -0
- package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.d.ts.map +1 -0
- package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.d.ts +16 -0
- package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.d.ts.map +1 -0
- package/dist/types/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.d.ts +8 -0
- package/dist/types/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.d.ts.map +1 -0
- package/dist/types/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.d.ts.map +1 -1
- package/dist/types/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.d.ts +1 -0
- package/dist/types/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.d.ts.map +1 -1
- package/dist/types/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/components/text/text-view.st.css.d.ts.map +1 -1
- package/dist/types/cms-fields/hooks/index.d.ts +1 -0
- package/dist/types/cms-fields/hooks/index.d.ts.map +1 -1
- package/dist/types/cms-fields/hooks/use-resize-effect.d.ts +2 -0
- package/dist/types/cms-fields/hooks/use-resize-effect.d.ts.map +1 -0
- package/dist/types/cms-fields/utils/fuzzy-search.d.ts +5 -0
- package/dist/types/cms-fields/utils/fuzzy-search.d.ts.map +1 -0
- package/dist/types/cms-fields/utils/get-app-popover-max-height.d.ts +5 -0
- package/dist/types/cms-fields/utils/get-app-popover-max-height.d.ts.map +1 -0
- package/dist/types/cms-fields/utils/get-schema-type.d.ts +8 -0
- package/dist/types/cms-fields/utils/get-schema-type.d.ts.map +1 -0
- package/dist/types/cms-fields/utils/index.d.ts +4 -0
- package/dist/types/cms-fields/utils/index.d.ts.map +1 -1
- package/dist/types/cms-fields/utils/media-utils.d.ts +1 -4
- package/dist/types/cms-fields/utils/media-utils.d.ts.map +1 -1
- package/dist/types/cms-fields/validations/email.d.ts +2 -0
- package/dist/types/cms-fields/validations/email.d.ts.map +1 -0
- package/dist/types/components/fields/Audio.d.ts +6 -0
- package/dist/types/components/fields/Audio.d.ts.map +1 -0
- package/dist/types/components/fields/Email.d.ts +6 -0
- package/dist/types/components/fields/Email.d.ts.map +1 -0
- package/dist/types/components/fields/index.d.ts +2 -0
- package/dist/types/components/fields/index.d.ts.map +1 -1
- package/dist/types/components/layouts/FormField.d.ts.map +1 -1
- package/dist/types/components/layouts/ViewField.d.ts.map +1 -1
- package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
- package/dist/types/dataSourceAdapters/cms/filterUtils.d.ts.map +1 -1
- package/dist/types/hooks/getFilterComponent.d.ts.map +1 -1
- package/dist/types/hooks/useColumns.d.ts.map +1 -1
- package/dist/types/hooks/useFiltersState.d.ts.map +1 -1
- package/dist/types/services/translations.d.ts +1 -1
- package/dist/types/services/translations.d.ts.map +1 -1
- package/dist/types/types/types.d.ts +1 -1
- package/dist/types/types/types.d.ts.map +1 -1
- package/package.json +4 -3
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.Audio = void 0;
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _designSystem = require("@wix/design-system");
|
|
8
|
+
var _patterns = require("@wix/patterns");
|
|
9
|
+
var _form = require("@wix/patterns/form");
|
|
10
|
+
var _formAudioField = require("../../cms-fields/components/audio/audio-field/form-audio-field");
|
|
11
|
+
var _jsxFileName = "/home/builduser/work/8f3ab5a55e62623a/packages/auto-patterns/dist/cjs/components/fields/Audio.tsx";
|
|
12
|
+
const Audio = props => {
|
|
13
|
+
var _field$validation2, _controller$fieldStat;
|
|
14
|
+
const {
|
|
15
|
+
field,
|
|
16
|
+
dataHook,
|
|
17
|
+
formControl,
|
|
18
|
+
data
|
|
19
|
+
} = props;
|
|
20
|
+
const {
|
|
21
|
+
translate: t
|
|
22
|
+
} = (0, _patterns.useWixPatternsContainer)();
|
|
23
|
+
const controller = (0, _form.useController)({
|
|
24
|
+
name: (field == null ? void 0 : field.id) ?? '',
|
|
25
|
+
control: formControl,
|
|
26
|
+
defaultValue: data == null ? void 0 : data[(field == null ? void 0 : field.id) ?? ''],
|
|
27
|
+
rules: {
|
|
28
|
+
validate: value => {
|
|
29
|
+
var _field$validation;
|
|
30
|
+
if ((_field$validation = field.validation) != null && _field$validation.required && (value === null || value === undefined || value === '')) {
|
|
31
|
+
return t('cairo.fieldValidation.requiredField');
|
|
32
|
+
}
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return /*#__PURE__*/_react.default.createElement(_designSystem.FormField, {
|
|
38
|
+
label: field.displayName,
|
|
39
|
+
required: (_field$validation2 = field.validation) == null ? void 0 : _field$validation2.required,
|
|
40
|
+
status: controller.fieldState.error ? 'error' : undefined,
|
|
41
|
+
statusMessage: (_controller$fieldStat = controller.fieldState.error) == null ? void 0 : _controller$fieldStat.message,
|
|
42
|
+
dataHook: dataHook,
|
|
43
|
+
__self: void 0,
|
|
44
|
+
__source: {
|
|
45
|
+
fileName: _jsxFileName,
|
|
46
|
+
lineNumber: 35,
|
|
47
|
+
columnNumber: 5
|
|
48
|
+
}
|
|
49
|
+
}, /*#__PURE__*/_react.default.createElement(_formAudioField.FormAudioField, {
|
|
50
|
+
data: controller.field.value,
|
|
51
|
+
onChange: value => controller.field.onChange(value),
|
|
52
|
+
onClear: () => controller.field.onChange(null),
|
|
53
|
+
dataHook: `audio-${field.id}`,
|
|
54
|
+
__self: void 0,
|
|
55
|
+
__source: {
|
|
56
|
+
fileName: _jsxFileName,
|
|
57
|
+
lineNumber: 42,
|
|
58
|
+
columnNumber: 7
|
|
59
|
+
}
|
|
60
|
+
}));
|
|
61
|
+
};
|
|
62
|
+
exports.Audio = Audio;
|
|
63
|
+
//# sourceMappingURL=Audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_patterns","_form","_formAudioField","_jsxFileName","Audio","props","_field$validation2","_controller$fieldStat","field","dataHook","formControl","data","translate","t","useWixPatternsContainer","controller","useController","name","id","control","defaultValue","rules","validate","value","_field$validation","validation","required","undefined","default","createElement","FormField","label","displayName","status","fieldState","error","statusMessage","message","__self","__source","fileName","lineNumber","columnNumber","FormAudioField","onChange","onClear","exports"],"sources":["../../../../src/components/fields/Audio.tsx"],"sourcesContent":["import React from 'react';\nimport { FormField } from '@wix/design-system';\nimport { useWixPatternsContainer } from '@wix/patterns';\nimport { useController } from '@wix/patterns/form';\n\nimport { FormAudioField } from '../../cms-fields/components/audio/audio-field/form-audio-field';\nimport { BaseInputProps } from './types';\n\nexport interface AudioProps extends BaseInputProps<string> {}\n\nexport const Audio = (props: AudioProps) => {\n const { field, dataHook, formControl, data } = props;\n\n const { translate: t } = useWixPatternsContainer();\n\n const controller = useController({\n name: field?.id ?? '',\n control: formControl,\n defaultValue: data?.[field?.id ?? ''],\n rules: {\n validate: (value) => {\n if (\n field.validation?.required &&\n (value === null || value === undefined || value === '')\n ) {\n return t('cairo.fieldValidation.requiredField');\n }\n\n return true;\n },\n },\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 <FormAudioField\n data={controller.field.value}\n onChange={(value) => controller.field.onChange(value)}\n onClear={() => controller.field.onChange(null)}\n dataHook={`audio-${field.id}`}\n />\n </FormField>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAEA,IAAAI,eAAA,GAAAJ,OAAA;AAAgG,IAAAK,YAAA;AAKzF,MAAMC,KAAK,GAAIC,KAAiB,IAAK;EAAA,IAAAC,kBAAA,EAAAC,qBAAA;EAC1C,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,WAAW;IAAEC;EAAK,CAAC,GAAGN,KAAK;EAEpD,MAAM;IAAEO,SAAS,EAAEC;EAAE,CAAC,GAAG,IAAAC,iCAAuB,EAAC,CAAC;EAElD,MAAMC,UAAU,GAAG,IAAAC,mBAAa,EAAC;IAC/BC,IAAI,EAAE,CAAAT,KAAK,oBAALA,KAAK,CAAEU,EAAE,KAAI,EAAE;IACrBC,OAAO,EAAET,WAAW;IACpBU,YAAY,EAAET,IAAI,oBAAJA,IAAI,CAAG,CAAAH,KAAK,oBAALA,KAAK,CAAEU,EAAE,KAAI,EAAE,CAAC;IACrCG,KAAK,EAAE;MACLC,QAAQ,EAAGC,KAAK,IAAK;QAAA,IAAAC,iBAAA;QACnB,IACE,CAAAA,iBAAA,GAAAhB,KAAK,CAACiB,UAAU,aAAhBD,iBAAA,CAAkBE,QAAQ,KACzBH,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKI,SAAS,IAAIJ,KAAK,KAAK,EAAE,CAAC,EACvD;UACA,OAAOV,CAAC,CAAC,qCAAqC,CAAC;QACjD;QAEA,OAAO,IAAI;MACb;IACF;EACF,CAAC,CAAC;EAEF,oBACEjB,MAAA,CAAAgC,OAAA,CAAAC,aAAA,CAAC9B,aAAA,CAAA+B,SAAS;IACRC,KAAK,EAAEvB,KAAK,CAACwB,WAAY;IACzBN,QAAQ,GAAApB,kBAAA,GAAEE,KAAK,CAACiB,UAAU,qBAAhBnB,kBAAA,CAAkBoB,QAAS;IACrCO,MAAM,EAAElB,UAAU,CAACmB,UAAU,CAACC,KAAK,GAAG,OAAO,GAAGR,SAAU;IAC1DS,aAAa,GAAA7B,qBAAA,GAAEQ,UAAU,CAACmB,UAAU,CAACC,KAAK,qBAA3B5B,qBAAA,CAA6B8B,OAAQ;IACpD5B,QAAQ,EAAEA,QAAS;IAAA6B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAArC,YAAA;MAAAsC,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAEnB9C,MAAA,CAAAgC,OAAA,CAAAC,aAAA,CAAC3B,eAAA,CAAAyC,cAAc;IACbhC,IAAI,EAAEI,UAAU,CAACP,KAAK,CAACe,KAAM;IAC7BqB,QAAQ,EAAGrB,KAAK,IAAKR,UAAU,CAACP,KAAK,CAACoC,QAAQ,CAACrB,KAAK,CAAE;IACtDsB,OAAO,EAAEA,CAAA,KAAM9B,UAAU,CAACP,KAAK,CAACoC,QAAQ,CAAC,IAAI,CAAE;IAC/CnC,QAAQ,EAAE,SAASD,KAAK,CAACU,EAAE,EAAG;IAAAoB,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAArC,YAAA;MAAAsC,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC/B,CACQ,CAAC;AAEhB,CAAC;AAACI,OAAA,CAAA1C,KAAA,GAAAA,KAAA","ignoreList":[]}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
exports.__esModule = true;
|
|
5
|
+
exports.Email = void 0;
|
|
6
|
+
var _react = _interopRequireDefault(require("react"));
|
|
7
|
+
var _designSystem = require("@wix/design-system");
|
|
8
|
+
var _patterns = require("@wix/patterns");
|
|
9
|
+
var _form = require("@wix/patterns/form");
|
|
10
|
+
var _AutoPatternsAppContainerProvider = require("../AutoPatternsApp/AutoPatternsAppContainerProvider");
|
|
11
|
+
var emailValidation = _interopRequireWildcard(require("../../cms-fields/validations/email"));
|
|
12
|
+
var _jsxFileName = "/home/builduser/work/8f3ab5a55e62623a/packages/auto-patterns/dist/cjs/components/fields/Email.tsx";
|
|
13
|
+
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
|
+
const Email = props => {
|
|
15
|
+
var _field$validation2, _controller$fieldStat;
|
|
16
|
+
const {
|
|
17
|
+
field,
|
|
18
|
+
dataHook,
|
|
19
|
+
formControl,
|
|
20
|
+
data
|
|
21
|
+
} = props;
|
|
22
|
+
const {
|
|
23
|
+
translate: pt
|
|
24
|
+
} = (0, _patterns.useWixPatternsContainer)();
|
|
25
|
+
const {
|
|
26
|
+
translate: t
|
|
27
|
+
} = (0, _AutoPatternsAppContainerProvider.useAutoPatternsAppContainer)();
|
|
28
|
+
const controller = (0, _form.useController)({
|
|
29
|
+
name: (field == null ? void 0 : field.id) ?? '',
|
|
30
|
+
control: formControl,
|
|
31
|
+
defaultValue: data == null ? void 0 : data[(field == null ? void 0 : field.id) ?? ''],
|
|
32
|
+
rules: {
|
|
33
|
+
validate: value => {
|
|
34
|
+
var _field$validation;
|
|
35
|
+
if ((_field$validation = field.validation) != null && _field$validation.required && (value === null || value === undefined || value === '')) {
|
|
36
|
+
return pt('cairo.fieldValidation.requiredField');
|
|
37
|
+
} else if (value) {
|
|
38
|
+
if (!emailValidation.isValid(value)) {
|
|
39
|
+
return t('auto-patterns.fields.email_input_error');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
return true;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
});
|
|
46
|
+
return /*#__PURE__*/_react.default.createElement(_designSystem.FormField, {
|
|
47
|
+
label: field.displayName,
|
|
48
|
+
required: (_field$validation2 = field.validation) == null ? void 0 : _field$validation2.required,
|
|
49
|
+
dataHook: dataHook,
|
|
50
|
+
status: controller.fieldState.error && controller.formState.isSubmitted ? 'error' : undefined,
|
|
51
|
+
statusMessage: controller.formState.isSubmitted ? (_controller$fieldStat = controller.fieldState.error) == null ? void 0 : _controller$fieldStat.message : undefined,
|
|
52
|
+
__self: void 0,
|
|
53
|
+
__source: {
|
|
54
|
+
fileName: _jsxFileName,
|
|
55
|
+
lineNumber: 38,
|
|
56
|
+
columnNumber: 5
|
|
57
|
+
}
|
|
58
|
+
}, /*#__PURE__*/_react.default.createElement(_designSystem.Input, {
|
|
59
|
+
dataHook: `email-${field.id}`,
|
|
60
|
+
value: controller.field.value,
|
|
61
|
+
onChange: e => controller.field.onChange == null ? void 0 : controller.field.onChange(e.target.value),
|
|
62
|
+
onBlur: controller.field.onBlur,
|
|
63
|
+
ref: controller.field.ref,
|
|
64
|
+
__self: void 0,
|
|
65
|
+
__source: {
|
|
66
|
+
fileName: _jsxFileName,
|
|
67
|
+
lineNumber: 53,
|
|
68
|
+
columnNumber: 7
|
|
69
|
+
}
|
|
70
|
+
}));
|
|
71
|
+
};
|
|
72
|
+
exports.Email = Email;
|
|
73
|
+
//# sourceMappingURL=Email.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_patterns","_form","_AutoPatternsAppContainerProvider","emailValidation","_interopRequireWildcard","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Email","props","_field$validation2","_controller$fieldStat","field","dataHook","formControl","data","translate","pt","useWixPatternsContainer","useAutoPatternsAppContainer","controller","useController","name","id","control","defaultValue","rules","validate","value","_field$validation","validation","required","undefined","isValid","createElement","FormField","label","displayName","status","fieldState","error","formState","isSubmitted","statusMessage","message","__self","__source","fileName","lineNumber","columnNumber","Input","onChange","target","onBlur","ref","exports"],"sources":["../../../../src/components/fields/Email.tsx"],"sourcesContent":["import React from 'react';\nimport { FormField, Input } from '@wix/design-system';\nimport { BaseInputProps } from './types';\nimport { useWixPatternsContainer } from '@wix/patterns';\nimport { useController } from '@wix/patterns/form';\nimport { useAutoPatternsAppContainer } from '../AutoPatternsApp/AutoPatternsAppContainerProvider';\nimport * as emailValidation from '../../cms-fields/validations/email';\n\nexport interface EmailProps extends BaseInputProps<string> {}\n\nexport const Email = (props: EmailProps) => {\n const { field, dataHook, formControl, data } = props;\n const { translate: pt } = useWixPatternsContainer();\n const { translate: t } = useAutoPatternsAppContainer();\n\n const controller = useController({\n name: field?.id ?? '',\n control: formControl,\n defaultValue: data?.[field?.id ?? ''],\n rules: {\n validate: (value: string | null | undefined) => {\n if (\n field.validation?.required &&\n (value === null || value === undefined || value === '')\n ) {\n return pt('cairo.fieldValidation.requiredField');\n } else if (value) {\n if (!emailValidation.isValid(value)) {\n return t('auto-patterns.fields.email_input_error');\n }\n }\n return true;\n },\n },\n });\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n dataHook={dataHook}\n status={\n controller.fieldState.error && controller.formState.isSubmitted\n ? 'error'\n : undefined\n }\n statusMessage={\n controller.formState.isSubmitted\n ? controller.fieldState.error?.message\n : undefined\n }\n >\n <Input\n dataHook={`email-${field.id}`}\n value={controller.field.value}\n onChange={(e) => controller.field.onChange?.(e.target.value)}\n onBlur={controller.field.onBlur}\n ref={controller.field.ref}\n />\n </FormField>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
exports.__esModule = true;
|
|
4
4
|
var _exportNames = {
|
|
5
|
+
Audio: true,
|
|
5
6
|
Checkbox: true,
|
|
7
|
+
Email: true,
|
|
6
8
|
DateInput: true,
|
|
7
9
|
DateTime: true,
|
|
8
10
|
Document: true,
|
|
@@ -20,9 +22,13 @@ var _exportNames = {
|
|
|
20
22
|
RichContent: true,
|
|
21
23
|
RichText: true
|
|
22
24
|
};
|
|
23
|
-
exports.Url = exports.Time = exports.ShortText = exports.RichText = exports.RichContent = exports.Reference = exports.Object = exports.Number = exports.MultiReference = exports.MultiDocument = exports.LongText = exports.ImageInput = exports.Document = exports.DateTime = exports.DateInput = exports.Checkbox = exports.Address = void 0;
|
|
25
|
+
exports.Url = exports.Time = exports.ShortText = exports.RichText = exports.RichContent = exports.Reference = exports.Object = exports.Number = exports.MultiReference = exports.MultiDocument = exports.LongText = exports.ImageInput = exports.Email = exports.Document = exports.DateTime = exports.DateInput = exports.Checkbox = exports.Audio = exports.Address = void 0;
|
|
26
|
+
var _Audio = require("./Audio");
|
|
27
|
+
exports.Audio = _Audio.Audio;
|
|
24
28
|
var _Checkbox = require("./Checkbox");
|
|
25
29
|
exports.Checkbox = _Checkbox.Checkbox;
|
|
30
|
+
var _Email = require("./Email");
|
|
31
|
+
exports.Email = _Email.Email;
|
|
26
32
|
var _DateInput = require("./DateInput");
|
|
27
33
|
exports.DateInput = _DateInput.DateInput;
|
|
28
34
|
var _DateTime = require("./DateTime");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["
|
|
1
|
+
{"version":3,"names":["_Audio","require","exports","Audio","_Checkbox","Checkbox","_Email","Email","_DateInput","DateInput","_DateTime","DateTime","_Document","Document","_MultiDocument","MultiDocument","_ImageInput","ImageInput","_LongText","LongText","_Number","Number","_Reference","Reference","_MultiReference","MultiReference","_ShortText","ShortText","_Time","Time","_Url","Url","_Object","Object","_Address","Address","_RichContent","RichContent","_RichText","RichText","_types","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames"],"sources":["../../../../src/components/fields/index.ts"],"sourcesContent":["export { Audio } from './Audio';\nexport { Checkbox } from './Checkbox';\nexport { Email } from './Email';\nexport { DateInput } from './DateInput';\nexport { DateTime } from './DateTime';\nexport { Document } from './Document';\nexport { MultiDocument } from './MultiDocument';\nexport { ImageInput } from './ImageInput';\nexport { LongText } from './LongText';\nexport { Number } from './Number';\nexport { Reference } from './Reference';\nexport { MultiReference } from './MultiReference';\nexport { ShortText } from './ShortText';\nexport { Time } from './Time';\nexport { Url } from './Url';\nexport { Object } from './Object';\nexport { Address } from './Address';\nexport { RichContent } from './RichContent';\nexport { RichText } from './RichText';\nexport * from './types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAgCC,OAAA,CAAAC,KAAA,GAAAH,MAAA,CAAAG,KAAA;AAChC,IAAAC,SAAA,GAAAH,OAAA;AAAsCC,OAAA,CAAAG,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,MAAA,GAAAL,OAAA;AAAgCC,OAAA,CAAAK,KAAA,GAAAD,MAAA,CAAAC,KAAA;AAChC,IAAAC,UAAA,GAAAP,OAAA;AAAwCC,OAAA,CAAAO,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACxC,IAAAC,SAAA,GAAAT,OAAA;AAAsCC,OAAA,CAAAS,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,SAAA,GAAAX,OAAA;AAAsCC,OAAA,CAAAW,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,cAAA,GAAAb,OAAA;AAAgDC,OAAA,CAAAa,aAAA,GAAAD,cAAA,CAAAC,aAAA;AAChD,IAAAC,WAAA,GAAAf,OAAA;AAA0CC,OAAA,CAAAe,UAAA,GAAAD,WAAA,CAAAC,UAAA;AAC1C,IAAAC,SAAA,GAAAjB,OAAA;AAAsCC,OAAA,CAAAiB,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,OAAA,GAAAnB,OAAA;AAAkCC,OAAA,CAAAmB,MAAA,GAAAD,OAAA,CAAAC,MAAA;AAClC,IAAAC,UAAA,GAAArB,OAAA;AAAwCC,OAAA,CAAAqB,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACxC,IAAAC,eAAA,GAAAvB,OAAA;AAAkDC,OAAA,CAAAuB,cAAA,GAAAD,eAAA,CAAAC,cAAA;AAClD,IAAAC,UAAA,GAAAzB,OAAA;AAAwCC,OAAA,CAAAyB,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACxC,IAAAC,KAAA,GAAA3B,OAAA;AAA8BC,OAAA,CAAA2B,IAAA,GAAAD,KAAA,CAAAC,IAAA;AAC9B,IAAAC,IAAA,GAAA7B,OAAA;AAA4BC,OAAA,CAAA6B,GAAA,GAAAD,IAAA,CAAAC,GAAA;AAC5B,IAAAC,OAAA,GAAA/B,OAAA;AAAkCC,OAAA,CAAA+B,MAAA,GAAAD,OAAA,CAAAC,MAAA;AAClC,IAAAC,QAAA,GAAAjC,OAAA;AAAoCC,OAAA,CAAAiC,OAAA,GAAAD,QAAA,CAAAC,OAAA;AACpC,IAAAC,YAAA,GAAAnC,OAAA;AAA4CC,OAAA,CAAAmC,WAAA,GAAAD,YAAA,CAAAC,WAAA;AAC5C,IAAAC,SAAA,GAAArC,OAAA;AAAsCC,OAAA,CAAAqC,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,MAAA,GAAAvC,OAAA;AAAAgC,MAAA,CAAAQ,IAAA,CAAAD,MAAA,EAAAE,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAV,MAAA,CAAAW,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAzC,OAAA,IAAAA,OAAA,CAAAyC,GAAA,MAAAH,MAAA,CAAAG,GAAA;EAAAzC,OAAA,CAAAyC,GAAA,IAAAH,MAAA,CAAAG,GAAA;AAAA","ignoreList":[]}
|
|
@@ -8,6 +8,7 @@ var _form = require("@wix/patterns/form");
|
|
|
8
8
|
var _fields = require("../fields");
|
|
9
9
|
var _jsxFileName = "/home/builduser/work/8f3ab5a55e62623a/packages/auto-patterns/dist/cjs/components/layouts/FormField.tsx";
|
|
10
10
|
const EDITABLE_INPUT_ELEMENTS = exports.EDITABLE_INPUT_ELEMENTS = {
|
|
11
|
+
AUDIO: _fields.Audio,
|
|
11
12
|
SHORT_TEXT: _fields.ShortText,
|
|
12
13
|
LONG_TEXT: _fields.LongText,
|
|
13
14
|
BOOLEAN: _fields.Checkbox,
|
|
@@ -24,7 +25,8 @@ const EDITABLE_INPUT_ELEMENTS = exports.EDITABLE_INPUT_ELEMENTS = {
|
|
|
24
25
|
RICH_CONTENT: _fields.RichContent,
|
|
25
26
|
RICH_TEXT: _fields.RichText,
|
|
26
27
|
DOCUMENT: _fields.Document,
|
|
27
|
-
MULTI_DOCUMENT: _fields.MultiDocument
|
|
28
|
+
MULTI_DOCUMENT: _fields.MultiDocument,
|
|
29
|
+
EMAIL: _fields.Email
|
|
28
30
|
};
|
|
29
31
|
const FormField = ({
|
|
30
32
|
field,
|
|
@@ -52,7 +54,7 @@ const FormField = ({
|
|
|
52
54
|
__self: void 0,
|
|
53
55
|
__source: {
|
|
54
56
|
fileName: _jsxFileName,
|
|
55
|
-
lineNumber:
|
|
57
|
+
lineNumber: 77,
|
|
56
58
|
columnNumber: 5
|
|
57
59
|
}
|
|
58
60
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_form","_fields","_jsxFileName","EDITABLE_INPUT_ELEMENTS","exports","SHORT_TEXT","ShortText","LONG_TEXT","LongText","BOOLEAN","Checkbox","DATE","DateInput","DATETIME","DateTime","TIME","Time","NUMBER","Number","URL","Url","IMAGE","ImageInput","REFERENCE","Reference","MULTI_REFERENCE","MultiReference","OBJECT","Object","ADDRESS","Address","RICH_CONTENT","RichContent","RICH_TEXT","RichText","DOCUMENT","Document","MULTI_DOCUMENT","MultiDocument","FormField","field","inputRef","formControl","data","controller","useController","name","id","control","defaultValue","hasOwnProperty","type","FieldInput","default","createElement","value","onChange","dataHook","__self","__source","fileName","lineNumber","columnNumber"],"sources":["../../../../src/components/layouts/FormField.tsx"],"sourcesContent":["import React from 'react';\nimport { useController, Control } from '@wix/patterns/form';\nimport { Field, PatternsFieldType } from '../../types';\nimport {\n ShortText,\n LongText,\n Checkbox,\n DateInput,\n DateTime,\n Time,\n Number,\n Url,\n ImageInput,\n Reference,\n BaseInputProps,\n Object,\n Address,\n RichContent,\n RichText,\n Document,\n MultiDocument,\n MultiReference,\n} from '../fields';\n\nexport const EDITABLE_INPUT_ELEMENTS: Partial<\n Record<PatternsFieldType, React.ComponentType<any>>\n> = {\n SHORT_TEXT: ShortText,\n LONG_TEXT: LongText,\n BOOLEAN: Checkbox,\n DATE: DateInput,\n DATETIME: DateTime,\n TIME: Time,\n NUMBER: Number,\n URL: Url,\n IMAGE: ImageInput,\n REFERENCE: Reference,\n MULTI_REFERENCE: MultiReference,\n OBJECT: Object,\n ADDRESS: Address,\n RICH_CONTENT: RichContent,\n RICH_TEXT: RichText,\n DOCUMENT: Document,\n MULTI_DOCUMENT: MultiDocument,\n};\n\nexport interface FormFieldProps {\n field: Field;\n inputRef?: BaseInputProps<any>['inputRef'];\n formControl?: Control<any>;\n data?: Record<string, any>;\n}\n\nexport const FormField: React.FC<FormFieldProps> = ({\n field,\n inputRef,\n formControl,\n data,\n}) => {\n const controller = useController({\n name: field?.id ?? '',\n control: formControl,\n defaultValue: data?.[field?.id ?? ''],\n });\n\n if (!EDITABLE_INPUT_ELEMENTS.hasOwnProperty(field.type)) {\n return null;\n }\n\n const FieldInput = EDITABLE_INPUT_ELEMENTS[field.type]!;\n\n return (\n <FieldInput\n field={field}\n value={controller.field.value}\n onChange={controller.field.onChange}\n dataHook={`form-field-${field.id}`}\n inputRef={inputRef}\n formControl={formControl}\n data={data ?? {}}\n />\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_form","_fields","_jsxFileName","EDITABLE_INPUT_ELEMENTS","exports","AUDIO","Audio","SHORT_TEXT","ShortText","LONG_TEXT","LongText","BOOLEAN","Checkbox","DATE","DateInput","DATETIME","DateTime","TIME","Time","NUMBER","Number","URL","Url","IMAGE","ImageInput","REFERENCE","Reference","MULTI_REFERENCE","MultiReference","OBJECT","Object","ADDRESS","Address","RICH_CONTENT","RichContent","RICH_TEXT","RichText","DOCUMENT","Document","MULTI_DOCUMENT","MultiDocument","EMAIL","Email","FormField","field","inputRef","formControl","data","controller","useController","name","id","control","defaultValue","hasOwnProperty","type","FieldInput","default","createElement","value","onChange","dataHook","__self","__source","fileName","lineNumber","columnNumber"],"sources":["../../../../src/components/layouts/FormField.tsx"],"sourcesContent":["import React from 'react';\nimport { useController, Control } from '@wix/patterns/form';\nimport { Field, PatternsFieldType } from '../../types';\nimport {\n Audio,\n ShortText,\n LongText,\n Checkbox,\n DateInput,\n DateTime,\n Time,\n Number,\n Url,\n Email,\n ImageInput,\n Reference,\n BaseInputProps,\n Object,\n Address,\n RichContent,\n RichText,\n Document,\n MultiDocument,\n MultiReference,\n} from '../fields';\n\nexport const EDITABLE_INPUT_ELEMENTS: Partial<\n Record<PatternsFieldType, React.ComponentType<any>>\n> = {\n AUDIO: Audio,\n SHORT_TEXT: ShortText,\n LONG_TEXT: LongText,\n BOOLEAN: Checkbox,\n DATE: DateInput,\n DATETIME: DateTime,\n TIME: Time,\n NUMBER: Number,\n URL: Url,\n IMAGE: ImageInput,\n REFERENCE: Reference,\n MULTI_REFERENCE: MultiReference,\n OBJECT: Object,\n ADDRESS: Address,\n RICH_CONTENT: RichContent,\n RICH_TEXT: RichText,\n DOCUMENT: Document,\n MULTI_DOCUMENT: MultiDocument,\n EMAIL: Email,\n};\n\nexport interface FormFieldProps {\n field: Field;\n inputRef?: BaseInputProps<any>['inputRef'];\n formControl?: Control<any>;\n data?: Record<string, any>;\n}\n\nexport const FormField: React.FC<FormFieldProps> = ({\n field,\n inputRef,\n formControl,\n data,\n}) => {\n const controller = useController({\n name: field?.id ?? '',\n control: formControl,\n defaultValue: data?.[field?.id ?? ''],\n });\n\n if (!EDITABLE_INPUT_ELEMENTS.hasOwnProperty(field.type)) {\n return null;\n }\n\n const FieldInput = EDITABLE_INPUT_ELEMENTS[field.type]!;\n\n return (\n <FieldInput\n field={field}\n value={controller.field.value}\n onChange={controller.field.onChange}\n dataHook={`form-field-${field.id}`}\n inputRef={inputRef}\n formControl={formControl}\n data={data ?? {}}\n />\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAqBmB,IAAAG,YAAA;AAEZ,MAAMC,uBAEZ,GAAAC,OAAA,CAAAD,uBAAA,GAAG;EACFE,KAAK,EAAEC,aAAK;EACZC,UAAU,EAAEC,iBAAS;EACrBC,SAAS,EAAEC,gBAAQ;EACnBC,OAAO,EAAEC,gBAAQ;EACjBC,IAAI,EAAEC,iBAAS;EACfC,QAAQ,EAAEC,gBAAQ;EAClBC,IAAI,EAAEC,YAAI;EACVC,MAAM,EAAEC,cAAM;EACdC,GAAG,EAAEC,WAAG;EACRC,KAAK,EAAEC,kBAAU;EACjBC,SAAS,EAAEC,iBAAS;EACpBC,eAAe,EAAEC,sBAAc;EAC/BC,MAAM,EAAEC,cAAM;EACdC,OAAO,EAAEC,eAAO;EAChBC,YAAY,EAAEC,mBAAW;EACzBC,SAAS,EAAEC,gBAAQ;EACnBC,QAAQ,EAAEC,gBAAQ;EAClBC,cAAc,EAAEC,qBAAa;EAC7BC,KAAK,EAAEC;AACT,CAAC;AASM,MAAMC,SAAmC,GAAGA,CAAC;EAClDC,KAAK;EACLC,QAAQ;EACRC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,MAAMC,UAAU,GAAG,IAAAC,mBAAa,EAAC;IAC/BC,IAAI,EAAE,CAAAN,KAAK,oBAALA,KAAK,CAAEO,EAAE,KAAI,EAAE;IACrBC,OAAO,EAAEN,WAAW;IACpBO,YAAY,EAAEN,IAAI,oBAAJA,IAAI,CAAG,CAAAH,KAAK,oBAALA,KAAK,CAAEO,EAAE,KAAI,EAAE;EACtC,CAAC,CAAC;EAEF,IAAI,CAAChD,uBAAuB,CAACmD,cAAc,CAACV,KAAK,CAACW,IAAI,CAAC,EAAE;IACvD,OAAO,IAAI;EACb;EAEA,MAAMC,UAAU,GAAGrD,uBAAuB,CAACyC,KAAK,CAACW,IAAI,CAAE;EAEvD,oBACE1D,MAAA,CAAA4D,OAAA,CAAAC,aAAA,CAACF,UAAU;IACTZ,KAAK,EAAEA,KAAM;IACbe,KAAK,EAAEX,UAAU,CAACJ,KAAK,CAACe,KAAM;IAC9BC,QAAQ,EAAEZ,UAAU,CAACJ,KAAK,CAACgB,QAAS;IACpCC,QAAQ,EAAE,cAAcjB,KAAK,CAACO,EAAE,EAAG;IACnCN,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA,WAAY;IACzBC,IAAI,EAAEA,IAAI,IAAI,CAAC,CAAE;IAAAe,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA9D,YAAA;MAAA+D,UAAA;MAAAC,YAAA;IAAA;EAAA,CAClB,CAAC;AAEN,CAAC;AAAC9D,OAAA,CAAAuC,SAAA,GAAAA,SAAA","ignoreList":[]}
|
|
@@ -6,6 +6,7 @@ exports.ViewField = void 0;
|
|
|
6
6
|
var _react = _interopRequireDefault(require("react"));
|
|
7
7
|
var _designSystem = require("@wix/design-system");
|
|
8
8
|
var _ReferenceViewField = require("../ReferenceViewField");
|
|
9
|
+
var _audioView = require("../../cms-fields/components/audio/audio-field/audio-view");
|
|
9
10
|
var _documentView = require("../../cms-fields/components/document/document-view");
|
|
10
11
|
var _multiDocumentView = require("../../cms-fields/components/multi-document/multi-document-view/multi-document-view");
|
|
11
12
|
var _MultiReferenceViewField = require("../MultiReferenceViewField");
|
|
@@ -54,7 +55,7 @@ const ViewFieldContent = ({
|
|
|
54
55
|
__self: void 0,
|
|
55
56
|
__source: {
|
|
56
57
|
fileName: _jsxFileName,
|
|
57
|
-
lineNumber:
|
|
58
|
+
lineNumber: 62,
|
|
58
59
|
columnNumber: 12
|
|
59
60
|
}
|
|
60
61
|
}, "-");
|
|
@@ -67,7 +68,7 @@ const ViewFieldContent = ({
|
|
|
67
68
|
__self: void 0,
|
|
68
69
|
__source: {
|
|
69
70
|
fileName: _jsxFileName,
|
|
70
|
-
lineNumber:
|
|
71
|
+
lineNumber: 67,
|
|
71
72
|
columnNumber: 14
|
|
72
73
|
}
|
|
73
74
|
});
|
|
@@ -78,7 +79,17 @@ const ViewFieldContent = ({
|
|
|
78
79
|
__self: void 0,
|
|
79
80
|
__source: {
|
|
80
81
|
fileName: _jsxFileName,
|
|
81
|
-
lineNumber:
|
|
82
|
+
lineNumber: 69,
|
|
83
|
+
columnNumber: 14
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
case 'AUDIO':
|
|
87
|
+
return /*#__PURE__*/_react.default.createElement(_audioView.AudioView, {
|
|
88
|
+
data: value,
|
|
89
|
+
__self: void 0,
|
|
90
|
+
__source: {
|
|
91
|
+
fileName: _jsxFileName,
|
|
92
|
+
lineNumber: 71,
|
|
82
93
|
columnNumber: 14
|
|
83
94
|
}
|
|
84
95
|
});
|
|
@@ -88,7 +99,7 @@ const ViewFieldContent = ({
|
|
|
88
99
|
__self: void 0,
|
|
89
100
|
__source: {
|
|
90
101
|
fileName: _jsxFileName,
|
|
91
|
-
lineNumber:
|
|
102
|
+
lineNumber: 73,
|
|
92
103
|
columnNumber: 14
|
|
93
104
|
}
|
|
94
105
|
});
|
|
@@ -98,7 +109,7 @@ const ViewFieldContent = ({
|
|
|
98
109
|
__self: void 0,
|
|
99
110
|
__source: {
|
|
100
111
|
fileName: _jsxFileName,
|
|
101
|
-
lineNumber:
|
|
112
|
+
lineNumber: 75,
|
|
102
113
|
columnNumber: 14
|
|
103
114
|
}
|
|
104
115
|
});
|
|
@@ -108,7 +119,7 @@ const ViewFieldContent = ({
|
|
|
108
119
|
__self: void 0,
|
|
109
120
|
__source: {
|
|
110
121
|
fileName: _jsxFileName,
|
|
111
|
-
lineNumber:
|
|
122
|
+
lineNumber: 77,
|
|
112
123
|
columnNumber: 14
|
|
113
124
|
}
|
|
114
125
|
});
|
|
@@ -117,7 +128,7 @@ const ViewFieldContent = ({
|
|
|
117
128
|
__self: void 0,
|
|
118
129
|
__source: {
|
|
119
130
|
fileName: _jsxFileName,
|
|
120
|
-
lineNumber:
|
|
131
|
+
lineNumber: 79,
|
|
121
132
|
columnNumber: 14
|
|
122
133
|
}
|
|
123
134
|
}, getDisplayValue(value));
|
|
@@ -135,7 +146,7 @@ const ViewField = ({
|
|
|
135
146
|
__self: void 0,
|
|
136
147
|
__source: {
|
|
137
148
|
fileName: _jsxFileName,
|
|
138
|
-
lineNumber:
|
|
149
|
+
lineNumber: 92,
|
|
139
150
|
columnNumber: 5
|
|
140
151
|
}
|
|
141
152
|
}, /*#__PURE__*/_react.default.createElement(_designSystem.Text, {
|
|
@@ -144,7 +155,7 @@ const ViewField = ({
|
|
|
144
155
|
__self: void 0,
|
|
145
156
|
__source: {
|
|
146
157
|
fileName: _jsxFileName,
|
|
147
|
-
lineNumber:
|
|
158
|
+
lineNumber: 93,
|
|
148
159
|
columnNumber: 7
|
|
149
160
|
}
|
|
150
161
|
}, field.displayName || field.id), /*#__PURE__*/_react.default.createElement(ViewFieldContent, {
|
|
@@ -153,7 +164,7 @@ const ViewField = ({
|
|
|
153
164
|
__self: void 0,
|
|
154
165
|
__source: {
|
|
155
166
|
fileName: _jsxFileName,
|
|
156
|
-
lineNumber:
|
|
167
|
+
lineNumber: 96,
|
|
157
168
|
columnNumber: 7
|
|
158
169
|
}
|
|
159
170
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_ReferenceViewField","_documentView","_multiDocumentView","_MultiReferenceViewField","_address","_jsxFileName","getDisplayValue","value","undefined","String","Array","isArray","length","join","Date","toLocaleDateString","toString","Object","prototype","JSON","stringify","isEmptyValue","ViewFieldContent","field","default","createElement","Text","__self","__source","fileName","lineNumber","columnNumber","type","ReferenceViewField","MultiReferenceViewField","
|
|
1
|
+
{"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_ReferenceViewField","_audioView","_documentView","_multiDocumentView","_MultiReferenceViewField","_address","_jsxFileName","getDisplayValue","value","undefined","String","Array","isArray","length","join","Date","toLocaleDateString","toString","Object","prototype","JSON","stringify","isEmptyValue","ViewFieldContent","field","default","createElement","Text","__self","__source","fileName","lineNumber","columnNumber","type","ReferenceViewField","MultiReferenceViewField","AudioView","data","DocumentView","MultiDocumentView","AddressView","ViewField","fieldValue","id","Box","direction","gap","dataHook","size","secondary","displayName","exports"],"sources":["../../../../src/components/layouts/ViewField.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Text } from '@wix/design-system';\nimport { Field } from '../../types';\nimport { ReferenceViewField } from '../ReferenceViewField';\nimport { AudioView } from '../../cms-fields/components/audio/audio-field/audio-view';\nimport { DocumentView } from '../../cms-fields/components/document/document-view';\nimport { MultiDocumentView } from '../../cms-fields/components/multi-document/multi-document-view/multi-document-view';\nimport { MultiReferenceViewField } from '../MultiReferenceViewField';\nimport { AddressView } from '../../cms-fields/components/address';\nimport { Address } from '../../cms-fields/types/address';\n\n// Safe display value conversion for all field types\nconst getDisplayValue = (value: any): string => {\n if (value === null || value === undefined) {\n return '-';\n }\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return String(value);\n }\n if (Array.isArray(value)) {\n return value.length > 0 ? value.join(', ') : '-';\n }\n if (typeof value === 'object') {\n // Handle dates\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n // Handle objects with display properties\n if (value.toString && value.toString !== Object.prototype.toString) {\n return value.toString();\n }\n // Fallback for complex objects\n return JSON.stringify(value);\n }\n return String(value);\n};\n\nconst isEmptyValue = (value: any): boolean => {\n if (value === null || value === undefined) {\n return true;\n }\n if (Array.isArray(value) && value.length === 0) {\n return true;\n }\n return false;\n};\n\ninterface ViewFieldContentProps {\n field: Field;\n value: unknown;\n}\n\nconst ViewFieldContent: React.FC<ViewFieldContentProps> = ({\n field,\n value,\n}) => {\n if (isEmptyValue(value)) {\n return <Text>-</Text>;\n }\n\n switch (field.type) {\n case 'REFERENCE':\n return <ReferenceViewField field={field} value={value} />;\n case 'MULTI_REFERENCE':\n return <MultiReferenceViewField field={field} value={value} />;\n case 'AUDIO':\n return <AudioView data={value as string} />;\n case 'DOCUMENT':\n return <DocumentView data={value as string} />;\n case 'MULTI_DOCUMENT':\n return <MultiDocumentView data={value as string[]} />;\n case 'ADDRESS':\n return <AddressView data={value as Address} />;\n default:\n return <Text>{getDisplayValue(value)}</Text>;\n }\n};\n\nexport interface ViewFieldProps {\n field: Field;\n data?: Record<string, any>;\n}\n\nexport const ViewField: React.FC<ViewFieldProps> = ({ field, data }) => {\n const fieldValue = data?.[field?.id ?? ''];\n\n return (\n <Box direction=\"vertical\" gap=\"4px\" dataHook={`view-field-${field.id}`}>\n <Text size=\"small\" secondary>\n {field.displayName || field.id}\n </Text>\n <ViewFieldContent field={field} value={fieldValue} />\n </Box>\n );\n};\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -7,6 +7,10 @@ exports.transformCmsSchema = transformCmsSchema;
|
|
|
7
7
|
var _data = require("@wix/data");
|
|
8
8
|
var _fetchCmsData = require("./fetchCmsData");
|
|
9
9
|
var _essentials = require("@wix/essentials");
|
|
10
|
+
// The CMS backend returns 'EMAIL' as a field type but the @wix/data SDK
|
|
11
|
+
// doesn't expose it in collections.Type. We use a string literal as a workaround until the SDK is updated.
|
|
12
|
+
// TODO: remove this once the SDK is updated
|
|
13
|
+
const CMS_EMAIL_TYPE = 'EMAIL';
|
|
10
14
|
const CmsFieldTypeToPatternsFieldType = exports.CmsFieldTypeToPatternsFieldType = {
|
|
11
15
|
[_data.collections.Type.TEXT]: 'SHORT_TEXT',
|
|
12
16
|
[_data.collections.Type.DATE]: 'DATE',
|
|
@@ -26,7 +30,9 @@ const CmsFieldTypeToPatternsFieldType = exports.CmsFieldTypeToPatternsFieldType
|
|
|
26
30
|
[_data.collections.Type.IMAGE]: 'IMAGE',
|
|
27
31
|
[_data.collections.Type.MEDIA_GALLERY]: 'MEDIA_GALLERY',
|
|
28
32
|
[_data.collections.Type.DOCUMENT]: 'DOCUMENT',
|
|
29
|
-
[_data.collections.Type.ARRAY_DOCUMENT]: 'MULTI_DOCUMENT'
|
|
33
|
+
[_data.collections.Type.ARRAY_DOCUMENT]: 'MULTI_DOCUMENT',
|
|
34
|
+
[_data.collections.Type.AUDIO]: 'AUDIO',
|
|
35
|
+
[CMS_EMAIL_TYPE]: 'EMAIL'
|
|
30
36
|
};
|
|
31
37
|
async function fetchCmsSchema(collectionId) {
|
|
32
38
|
const schema = await _essentials.errorHandler.withErrorHandler(async () => _data.collections.getDataCollection(collectionId), {});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_data","require","_fetchCmsData","_essentials","CmsFieldTypeToPatternsFieldType","exports","collections","Type","TEXT","DATE","DATETIME","TIME","NUMBER","BOOLEAN","URL","ADDRESS","OBJECT","RICH_TEXT","RICH_CONTENT","ARRAY","ARRAY_STRING","REFERENCE","MULTI_REFERENCE","IMAGE","MEDIA_GALLERY","DOCUMENT","ARRAY_DOCUMENT","fetchCmsSchema","collectionId","schema","errorHandler","withErrorHandler","getDataCollection","getReferenceFields","fields","Object","values","filter","f","type","updateMultiReferences","entityId","entity","multiReferenceFields","Promise","all","map","field","rawValue","id","multipleReferenceValues","multipleReferenceIds","value","_id","items","replaceReferences","transformCmsSchema","transformedFields","reduce","acc","_field$capabilities","_field$capabilities2","_field$typeMetadata","_field$typeMetadata2","key","fieldType","baseField","displayName","validation","numberRange","min","undefined","max","stringLengthRange","minLength","maxLength","required","capabilities","supportedQueryOperators","queryOperators","sortable","referencedCollectionId","typeMetadata","reference","multiReference","isReference","referenceMetadata","referenceFields","allReferenceFieldIds","schemaConfig","displayField","idField","actions","get","dataQuery","query","eq","length","include","res","find","returnTotalCount","Error","create","created","insert","createdId","update","delete","remove","bulkDelete","entityIds","bulkRemove","options","fetchCmsData"],"sources":["../../../../src/dataSourceAdapters/cms/cmsAdapter.ts"],"sourcesContent":["import { Field, SchemaConfig, PatternsFieldType } from '../../types';\nimport { collections, items } from '@wix/data';\nimport { fetchCmsData } from './fetchCmsData';\nimport { errorHandler } from '@wix/essentials';\n\nexport const CmsFieldTypeToPatternsFieldType: Partial<\n Record<collections.Type, PatternsFieldType>\n> = {\n [collections.Type.TEXT]: 'SHORT_TEXT',\n [collections.Type.DATE]: 'DATE',\n [collections.Type.DATETIME]: 'DATETIME',\n [collections.Type.TIME]: 'TIME',\n [collections.Type.NUMBER]: 'NUMBER',\n [collections.Type.BOOLEAN]: 'BOOLEAN',\n [collections.Type.URL]: 'URL',\n [collections.Type.ADDRESS]: 'ADDRESS',\n [collections.Type.OBJECT]: 'OBJECT',\n [collections.Type.RICH_TEXT]: 'RICH_TEXT',\n [collections.Type.RICH_CONTENT]: 'RICH_CONTENT',\n [collections.Type.ARRAY]: 'ARRAY',\n [collections.Type.ARRAY_STRING]: 'ARRAY',\n [collections.Type.REFERENCE]: 'REFERENCE',\n [collections.Type.MULTI_REFERENCE]: 'MULTI_REFERENCE',\n [collections.Type.IMAGE]: 'IMAGE',\n [collections.Type.MEDIA_GALLERY]: 'MEDIA_GALLERY',\n [collections.Type.DOCUMENT]: 'DOCUMENT',\n [collections.Type.ARRAY_DOCUMENT]: 'MULTI_DOCUMENT',\n};\n\nexport async function fetchCmsSchema(\n collectionId: string,\n): Promise<collections.DataCollection> {\n const schema = await errorHandler.withErrorHandler(\n async () => collections.getDataCollection(collectionId),\n {},\n );\n return schema;\n}\n\nconst getReferenceFields = (fields: Record<string, Field>) =>\n Object.values(fields).filter(\n (f): f is Field => f?.type === 'REFERENCE' || f?.type === 'MULTI_REFERENCE',\n );\n\nconst updateMultiReferences = async (\n collectionId: string,\n entityId: string,\n entity: Record<string, any>,\n multiReferenceFields: Field[],\n) => {\n await Promise.all(\n multiReferenceFields.map(async (field) => {\n const rawValue = entity[field.id];\n const multipleReferenceValues = rawValue as Record<string, unknown>[];\n const multipleReferenceIds = multipleReferenceValues.map(\n (value) => value._id as string,\n );\n\n await items.replaceReferences(\n collectionId,\n field.id,\n entityId,\n multipleReferenceIds,\n );\n }),\n );\n};\n\nexport function transformCmsSchema(\n schema: collections.DataCollection,\n): SchemaConfig {\n const collectionId = schema._id as string;\n\n const transformedFields = (schema.fields || []).reduce<Record<string, Field>>(\n (acc, field) => {\n if (!field.key) {\n return acc;\n }\n\n const fieldType = field.type\n ? CmsFieldTypeToPatternsFieldType[field.type] || 'SHORT_TEXT'\n : 'SHORT_TEXT';\n const baseField = {\n id: field.key,\n displayName: field.displayName || '',\n validation: {\n numberRange: field.numberRange\n ? {\n min: field.numberRange.min ?? undefined,\n max: field.numberRange.max ?? undefined,\n }\n : undefined,\n stringLengthRange: field.stringLengthRange\n ? {\n minLength: field.stringLengthRange.minLength ?? undefined,\n maxLength: field.stringLengthRange.maxLength ?? undefined,\n }\n : undefined,\n required: field.required ?? false,\n },\n capabilities: {\n supportedQueryOperators: field.capabilities?.queryOperators || [],\n sortable: field.capabilities?.sortable || false,\n },\n };\n\n const referencedCollectionId =\n field.typeMetadata?.reference?.referencedCollectionId ??\n field.typeMetadata?.multiReference?.referencedCollectionId;\n\n const isReference =\n fieldType === 'REFERENCE' || fieldType === 'MULTI_REFERENCE';\n\n if (isReference && referencedCollectionId) {\n acc[field.key] = {\n ...baseField,\n type: fieldType as 'REFERENCE' | 'MULTI_REFERENCE',\n referenceMetadata: { referencedCollectionId },\n };\n } else {\n acc[field.key] = {\n ...baseField,\n type: isReference ? 'SHORT_TEXT' : fieldType,\n };\n }\n\n return acc;\n },\n {},\n );\n\n const referenceFields = getReferenceFields(transformedFields);\n const multiReferenceFields = referenceFields.filter(\n (f) => f.type === 'MULTI_REFERENCE',\n );\n const allReferenceFieldIds = referenceFields.map((f) => f.id);\n\n const schemaConfig: SchemaConfig = {\n id: collectionId,\n displayField: schema.displayField ?? '_id',\n idField: '_id',\n fields: transformedFields,\n actions: {\n get: async (entityId: string) => {\n let dataQuery = items.query(collectionId).eq('_id', entityId);\n if (allReferenceFieldIds.length > 0) {\n dataQuery = dataQuery.include(...allReferenceFieldIds);\n }\n\n const res = await dataQuery.find({ returnTotalCount: false });\n const entity = res.items[0];\n\n if (!entity) {\n throw new Error(`Entity not found: ${entityId}`);\n }\n\n return entity;\n },\n\n create: async (entity) => {\n const created = await items.insert(collectionId, entity);\n const createdId = created._id as string;\n\n if (createdId) {\n await updateMultiReferences(\n collectionId,\n createdId,\n entity as Record<string, unknown>,\n multiReferenceFields,\n );\n }\n\n return { ...entity, _id: createdId };\n },\n\n update: async (entity) => {\n await items.update(\n collectionId,\n entity as typeof entity & { _id: string },\n );\n\n const entityId = entity._id as string;\n\n if (entityId) {\n await updateMultiReferences(\n collectionId,\n entityId,\n entity,\n multiReferenceFields,\n );\n }\n\n return entity;\n },\n\n delete: (entityId) => items.remove(collectionId, entityId),\n bulkDelete: (entityIds) => items.bulkRemove(collectionId, entityIds),\n\n find: async (\n query,\n options: {\n searchableFieldIds?: string[];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n } = {},\n ) => {\n return fetchCmsData(collectionId, query, transformedFields, options);\n },\n },\n };\n\n return schemaConfig;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_data","require","_fetchCmsData","_essentials","CMS_EMAIL_TYPE","CmsFieldTypeToPatternsFieldType","exports","collections","Type","TEXT","DATE","DATETIME","TIME","NUMBER","BOOLEAN","URL","ADDRESS","OBJECT","RICH_TEXT","RICH_CONTENT","ARRAY","ARRAY_STRING","REFERENCE","MULTI_REFERENCE","IMAGE","MEDIA_GALLERY","DOCUMENT","ARRAY_DOCUMENT","AUDIO","fetchCmsSchema","collectionId","schema","errorHandler","withErrorHandler","getDataCollection","getReferenceFields","fields","Object","values","filter","f","type","updateMultiReferences","entityId","entity","multiReferenceFields","Promise","all","map","field","rawValue","id","multipleReferenceValues","multipleReferenceIds","value","_id","items","replaceReferences","transformCmsSchema","transformedFields","reduce","acc","_field$capabilities","_field$capabilities2","_field$typeMetadata","_field$typeMetadata2","key","fieldType","baseField","displayName","validation","numberRange","min","undefined","max","stringLengthRange","minLength","maxLength","required","capabilities","supportedQueryOperators","queryOperators","sortable","referencedCollectionId","typeMetadata","reference","multiReference","isReference","referenceMetadata","referenceFields","allReferenceFieldIds","schemaConfig","displayField","idField","actions","get","dataQuery","query","eq","length","include","res","find","returnTotalCount","Error","create","created","insert","createdId","update","delete","remove","bulkDelete","entityIds","bulkRemove","options","fetchCmsData"],"sources":["../../../../src/dataSourceAdapters/cms/cmsAdapter.ts"],"sourcesContent":["import { Field, SchemaConfig, PatternsFieldType } from '../../types';\nimport { collections, items } from '@wix/data';\nimport { fetchCmsData } from './fetchCmsData';\nimport { errorHandler } from '@wix/essentials';\n\n// The CMS backend returns 'EMAIL' as a field type but the @wix/data SDK\n// doesn't expose it in collections.Type. We use a string literal as a workaround until the SDK is updated.\n// TODO: remove this once the SDK is updated\nconst CMS_EMAIL_TYPE = 'EMAIL' as collections.Type;\n\nexport const CmsFieldTypeToPatternsFieldType: Partial<\n Record<collections.Type, PatternsFieldType>\n> = {\n [collections.Type.TEXT]: 'SHORT_TEXT',\n [collections.Type.DATE]: 'DATE',\n [collections.Type.DATETIME]: 'DATETIME',\n [collections.Type.TIME]: 'TIME',\n [collections.Type.NUMBER]: 'NUMBER',\n [collections.Type.BOOLEAN]: 'BOOLEAN',\n [collections.Type.URL]: 'URL',\n [collections.Type.ADDRESS]: 'ADDRESS',\n [collections.Type.OBJECT]: 'OBJECT',\n [collections.Type.RICH_TEXT]: 'RICH_TEXT',\n [collections.Type.RICH_CONTENT]: 'RICH_CONTENT',\n [collections.Type.ARRAY]: 'ARRAY',\n [collections.Type.ARRAY_STRING]: 'ARRAY',\n [collections.Type.REFERENCE]: 'REFERENCE',\n [collections.Type.MULTI_REFERENCE]: 'MULTI_REFERENCE',\n [collections.Type.IMAGE]: 'IMAGE',\n [collections.Type.MEDIA_GALLERY]: 'MEDIA_GALLERY',\n [collections.Type.DOCUMENT]: 'DOCUMENT',\n [collections.Type.ARRAY_DOCUMENT]: 'MULTI_DOCUMENT',\n [collections.Type.AUDIO]: 'AUDIO',\n [CMS_EMAIL_TYPE]: 'EMAIL',\n};\n\nexport async function fetchCmsSchema(\n collectionId: string,\n): Promise<collections.DataCollection> {\n const schema = await errorHandler.withErrorHandler(\n async () => collections.getDataCollection(collectionId),\n {},\n );\n return schema;\n}\n\nconst getReferenceFields = (fields: Record<string, Field>) =>\n Object.values(fields).filter(\n (f): f is Field => f?.type === 'REFERENCE' || f?.type === 'MULTI_REFERENCE',\n );\n\nconst updateMultiReferences = async (\n collectionId: string,\n entityId: string,\n entity: Record<string, any>,\n multiReferenceFields: Field[],\n) => {\n await Promise.all(\n multiReferenceFields.map(async (field) => {\n const rawValue = entity[field.id];\n const multipleReferenceValues = rawValue as Record<string, unknown>[];\n const multipleReferenceIds = multipleReferenceValues.map(\n (value) => value._id as string,\n );\n\n await items.replaceReferences(\n collectionId,\n field.id,\n entityId,\n multipleReferenceIds,\n );\n }),\n );\n};\n\nexport function transformCmsSchema(\n schema: collections.DataCollection,\n): SchemaConfig {\n const collectionId = schema._id as string;\n\n const transformedFields = (schema.fields || []).reduce<Record<string, Field>>(\n (acc, field) => {\n if (!field.key) {\n return acc;\n }\n\n const fieldType = field.type\n ? CmsFieldTypeToPatternsFieldType[field.type] || 'SHORT_TEXT'\n : 'SHORT_TEXT';\n const baseField = {\n id: field.key,\n displayName: field.displayName || '',\n validation: {\n numberRange: field.numberRange\n ? {\n min: field.numberRange.min ?? undefined,\n max: field.numberRange.max ?? undefined,\n }\n : undefined,\n stringLengthRange: field.stringLengthRange\n ? {\n minLength: field.stringLengthRange.minLength ?? undefined,\n maxLength: field.stringLengthRange.maxLength ?? undefined,\n }\n : undefined,\n required: field.required ?? false,\n },\n capabilities: {\n supportedQueryOperators: field.capabilities?.queryOperators || [],\n sortable: field.capabilities?.sortable || false,\n },\n };\n\n const referencedCollectionId =\n field.typeMetadata?.reference?.referencedCollectionId ??\n field.typeMetadata?.multiReference?.referencedCollectionId;\n\n const isReference =\n fieldType === 'REFERENCE' || fieldType === 'MULTI_REFERENCE';\n\n if (isReference && referencedCollectionId) {\n acc[field.key] = {\n ...baseField,\n type: fieldType as 'REFERENCE' | 'MULTI_REFERENCE',\n referenceMetadata: { referencedCollectionId },\n };\n } else {\n acc[field.key] = {\n ...baseField,\n type: isReference ? 'SHORT_TEXT' : fieldType,\n };\n }\n\n return acc;\n },\n {},\n );\n\n const referenceFields = getReferenceFields(transformedFields);\n const multiReferenceFields = referenceFields.filter(\n (f) => f.type === 'MULTI_REFERENCE',\n );\n const allReferenceFieldIds = referenceFields.map((f) => f.id);\n\n const schemaConfig: SchemaConfig = {\n id: collectionId,\n displayField: schema.displayField ?? '_id',\n idField: '_id',\n fields: transformedFields,\n actions: {\n get: async (entityId: string) => {\n let dataQuery = items.query(collectionId).eq('_id', entityId);\n if (allReferenceFieldIds.length > 0) {\n dataQuery = dataQuery.include(...allReferenceFieldIds);\n }\n\n const res = await dataQuery.find({ returnTotalCount: false });\n const entity = res.items[0];\n\n if (!entity) {\n throw new Error(`Entity not found: ${entityId}`);\n }\n\n return entity;\n },\n\n create: async (entity) => {\n const created = await items.insert(collectionId, entity);\n const createdId = created._id as string;\n\n if (createdId) {\n await updateMultiReferences(\n collectionId,\n createdId,\n entity as Record<string, unknown>,\n multiReferenceFields,\n );\n }\n\n return { ...entity, _id: createdId };\n },\n\n update: async (entity) => {\n await items.update(\n collectionId,\n entity as typeof entity & { _id: string },\n );\n\n const entityId = entity._id as string;\n\n if (entityId) {\n await updateMultiReferences(\n collectionId,\n entityId,\n entity,\n multiReferenceFields,\n );\n }\n\n return entity;\n },\n\n delete: (entityId) => items.remove(collectionId, entityId),\n bulkDelete: (entityIds) => items.bulkRemove(collectionId, entityIds),\n\n find: async (\n query,\n options: {\n searchableFieldIds?: string[];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n } = {},\n ) => {\n return fetchCmsData(collectionId, query, transformedFields, options);\n },\n },\n };\n\n return schemaConfig;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -64,7 +64,7 @@ function addFiltersToDataQuery({
|
|
|
64
64
|
const filter = filters[fieldKey];
|
|
65
65
|
if (filter) {
|
|
66
66
|
if (Array.isArray(filter)) {
|
|
67
|
-
var _fields$fieldId, _fields$fieldId2, _fields$fieldId3, _fields$fieldId4, _fields$fieldId5;
|
|
67
|
+
var _fields$fieldId, _fields$fieldId2, _fields$fieldId3, _fields$fieldId4, _fields$fieldId5, _fields$fieldId6;
|
|
68
68
|
const filterArray = filter;
|
|
69
69
|
if (((_fields$fieldId = fields[fieldId]) == null ? void 0 : _fields$fieldId.type) === 'BOOLEAN') {
|
|
70
70
|
if (filterArray.some(item => item.id === _constants.BooleanFilters.checked)) {
|
|
@@ -74,7 +74,7 @@ function addFiltersToDataQuery({
|
|
|
74
74
|
const undefinedFilter = _data.items.filter().eq(fieldId, undefined);
|
|
75
75
|
dataQueryWithFilters = dataQueryWithFilters.and(falseFilter.or(undefinedFilter));
|
|
76
76
|
}
|
|
77
|
-
} else if (((_fields$fieldId2 = fields[fieldId]) == null ? void 0 : _fields$fieldId2.type) === 'RICH_CONTENT' || ((_fields$fieldId3 = fields[fieldId]) == null ? void 0 : _fields$fieldId3.type) === 'TIME' || ((_fields$fieldId4 = fields[fieldId]) == null ? void 0 : _fields$fieldId4.type) === 'DOCUMENT' || ((_fields$fieldId5 = fields[fieldId]) == null ? void 0 : _fields$fieldId5.type) === 'MULTI_DOCUMENT') {
|
|
77
|
+
} else if (((_fields$fieldId2 = fields[fieldId]) == null ? void 0 : _fields$fieldId2.type) === 'RICH_CONTENT' || ((_fields$fieldId3 = fields[fieldId]) == null ? void 0 : _fields$fieldId3.type) === 'TIME' || ((_fields$fieldId4 = fields[fieldId]) == null ? void 0 : _fields$fieldId4.type) === 'DOCUMENT' || ((_fields$fieldId5 = fields[fieldId]) == null ? void 0 : _fields$fieldId5.type) === 'MULTI_DOCUMENT' || ((_fields$fieldId6 = fields[fieldId]) == null ? void 0 : _fields$fieldId6.type) === 'AUDIO') {
|
|
78
78
|
const wantsHasValue = filterArray.some(item => item.id === _constants.HasValueFilters.hasValue);
|
|
79
79
|
const wantsNoValue = filterArray.some(item => item.id === _constants.HasValueFilters.noValue);
|
|
80
80
|
// Only apply filter if exactly one option is selected
|
|
@@ -90,8 +90,8 @@ function addFiltersToDataQuery({
|
|
|
90
90
|
} else if (typeof filter === 'object') {
|
|
91
91
|
// Operator filter
|
|
92
92
|
if (filter.operator) {
|
|
93
|
-
var _fields$
|
|
94
|
-
const queryFieldId = getQueryFieldId(fieldId, (_fields$
|
|
93
|
+
var _fields$fieldId7;
|
|
94
|
+
const queryFieldId = getQueryFieldId(fieldId, (_fields$fieldId7 = fields[fieldId]) == null ? void 0 : _fields$fieldId7.type, filter.operator);
|
|
95
95
|
if (filter.operator === _patterns.FilterOperator.NOT_CONTAINS) {
|
|
96
96
|
const containsFilter = _data.items.filter().contains(queryFieldId, filter.value);
|
|
97
97
|
dataQueryWithFilters = dataQueryWithFilters.not(containsFilter);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["_patterns","require","_data","_constants","FilterPropToMethod","from","to","FilterOperator","CONTAINS","IS_EMPTY","EXISTS","isValidFilterProp","prop","getOperatorForFilter","undefined","isSupportedOperator","fields","filterProp","filterKey","_field$capabilities","field","operator","FilterPropToOperator","supportedOperators","capabilities","supportedQueryOperators","includes","getQueryFieldId","fieldId","fieldType","isAddressField","isExistenceOperator","addFiltersToDataQuery","dataQuery","query","filterFieldMapping","dataQueryWithFilters","filters","fieldKey","filter","Array","isArray","_fields$fieldId","_fields$fieldId2","_fields$fieldId3","_fields$fieldId4","_fields$fieldId5","filterArray","type","some","item","id","BooleanFilters","checked","eq","falseFilter","items","undefinedFilter","and","or","wantsHasValue","HasValueFilters","hasValue","wantsNoValue","noValue","isNotEmpty","isEmpty","hasSome","map","_fields$fieldId6","queryFieldId","NOT_CONTAINS","containsFilter","contains","value","not","filterObj","TEXT_FIELD_TYPES","addSearchToDataQuery","searchableFieldIds","searchableFields","Object","keys","isFieldSearchable","search","length","searchFilter","forEach","currentFilter"],"sources":["../../../../src/dataSourceAdapters/cms/filterUtils.ts"],"sourcesContent":["import { FilterOperator } from '@wix/patterns';\nimport { items } from '@wix/data';\nimport {\n BooleanFilters,\n FilterProp,\n FilterPropToOperator,\n HasValueFilters,\n} from '../constants';\nimport { Query, SchemaConfig } from '../../types';\n\nexport type CmsOperatorMethod =\n | 'ge'\n | 'le'\n | 'contains'\n | 'isEmpty'\n | 'isNotEmpty';\n\nconst FilterPropToMethod: Partial<\n Record<FilterProp | FilterOperator, CmsOperatorMethod>\n> = {\n from: 'ge',\n to: 'le',\n [FilterOperator.CONTAINS]: 'contains',\n [FilterOperator.IS_EMPTY]: 'isEmpty',\n [FilterOperator.EXISTS]: 'isNotEmpty',\n};\n\nfunction isValidFilterProp(prop: string): prop is FilterProp {\n return prop in FilterPropToMethod;\n}\n\nfunction getOperatorForFilter(prop: string): CmsOperatorMethod | undefined {\n if (isValidFilterProp(prop)) {\n return FilterPropToMethod[prop];\n }\n return undefined;\n}\n\nconst isSupportedOperator = (\n fields: SchemaConfig['fields'],\n filterProp: string,\n filterKey: string,\n) => {\n const field = fields[filterKey];\n if (!field) {\n return false;\n }\n\n if (!isValidFilterProp(filterProp)) {\n return false;\n }\n\n const operator = FilterPropToOperator[filterProp];\n const supportedOperators = field.capabilities?.supportedQueryOperators;\n return supportedOperators?.includes(operator);\n};\n\n/**\n * For ADDRESS fields, text-based operators (CONTAINS, NOT_CONTAINS) should query\n * the 'formatted' nested property, which contains the human-readable address string.\n * Existence operators (IS_EMPTY, EXISTS) should query the field directly.\n */\nconst getQueryFieldId = (\n fieldId: string,\n fieldType: string | undefined,\n operator: FilterOperator,\n): string => {\n const isAddressField = fieldType === 'ADDRESS';\n const isExistenceOperator =\n operator === FilterOperator.IS_EMPTY || operator === FilterOperator.EXISTS;\n\n return isAddressField && !isExistenceOperator\n ? `${fieldId}.formatted`\n : fieldId;\n};\n\nexport function addFiltersToDataQuery({\n dataQuery,\n query,\n fields,\n filterFieldMapping,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n}) {\n if (!filterFieldMapping) {\n return dataQuery;\n }\n\n let dataQueryWithFilters = dataQuery;\n const { filters } = query;\n for (const fieldKey in filters) {\n const fieldId = filterFieldMapping[fieldKey].fieldId;\n const filter = filters[fieldKey];\n if (filter) {\n if (Array.isArray(filter)) {\n const filterArray = filter as { [key: string]: any }[];\n if (fields[fieldId]?.type === 'BOOLEAN') {\n if (filterArray.some((item) => item.id === BooleanFilters.checked)) {\n dataQueryWithFilters = dataQueryWithFilters.eq(fieldId, true);\n } else {\n const falseFilter = items.filter().eq(fieldId, false);\n const undefinedFilter = items.filter().eq(fieldId, undefined);\n dataQueryWithFilters = dataQueryWithFilters.and(\n falseFilter.or(undefinedFilter),\n );\n }\n } else if (\n fields[fieldId]?.type === 'RICH_CONTENT' ||\n fields[fieldId]?.type === 'TIME' ||\n fields[fieldId]?.type === 'DOCUMENT' ||\n fields[fieldId]?.type === 'MULTI_DOCUMENT'\n ) {\n const wantsHasValue = filterArray.some(\n (item) => item.id === HasValueFilters.hasValue,\n );\n const wantsNoValue = filterArray.some(\n (item) => item.id === HasValueFilters.noValue,\n );\n // Only apply filter if exactly one option is selected\n if (wantsHasValue && !wantsNoValue) {\n dataQueryWithFilters = dataQueryWithFilters.isNotEmpty(fieldId);\n } else if (wantsNoValue && !wantsHasValue) {\n dataQueryWithFilters = dataQueryWithFilters.isEmpty(fieldId);\n }\n // If both or neither selected, no filter applied (show all)\n } else {\n dataQueryWithFilters = dataQueryWithFilters.hasSome(\n fieldId,\n filterArray.map((item) => item.id),\n );\n }\n } else if (typeof filter === 'object') {\n // Operator filter\n if (filter.operator) {\n const queryFieldId = getQueryFieldId(\n fieldId,\n fields[fieldId]?.type,\n filter.operator,\n );\n\n if (filter.operator === FilterOperator.NOT_CONTAINS) {\n const containsFilter = items\n .filter()\n .contains(queryFieldId, filter.value);\n dataQueryWithFilters = dataQueryWithFilters.not(containsFilter);\n } else {\n const operator = getOperatorForFilter(filter.operator);\n if (operator) {\n if (operator === 'isEmpty' || operator === 'isNotEmpty') {\n dataQueryWithFilters = dataQueryWithFilters[operator](fieldId);\n } else {\n dataQueryWithFilters = dataQueryWithFilters[operator](\n queryFieldId,\n filter.value,\n );\n }\n }\n }\n }\n // Range filter\n const filterObj = filter as Record<string, any>;\n for (const filterProp in filterObj) {\n const operator = getOperatorForFilter(filterProp);\n if (\n operator &&\n typeof dataQuery[operator] === 'function' &&\n isSupportedOperator(fields, filterProp, fieldId)\n ) {\n const value = filterObj[filterProp];\n if (value !== undefined && value !== null) {\n dataQueryWithFilters = dataQueryWithFilters[operator](\n fieldId,\n value,\n );\n }\n }\n }\n }\n }\n }\n\n return dataQueryWithFilters;\n}\n\nconst TEXT_FIELD_TYPES = ['LONG_TEXT', 'SHORT_TEXT'];\nexport function addSearchToDataQuery({\n dataQuery,\n query,\n fields,\n searchableFieldIds,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n searchableFieldIds: string[];\n}) {\n const searchableFields = Object.keys(fields).filter((fieldId) => {\n const field = fields[fieldId];\n const isFieldSearchable = searchableFieldIds.includes(fieldId);\n\n return isFieldSearchable && field && TEXT_FIELD_TYPES.includes(field.type);\n });\n\n if (query.search && searchableFields.length > 0) {\n let searchFilter: items.WixDataFilter | null = null;\n\n searchableFields.forEach((field) => {\n const currentFilter = items.filter().contains(field, query.search!);\n searchFilter = searchFilter\n ? searchFilter.or(currentFilter)\n : currentFilter;\n });\n\n if (searchFilter) {\n dataQuery = dataQuery.and(searchFilter);\n }\n }\n\n return dataQuery;\n}\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["_patterns","require","_data","_constants","FilterPropToMethod","from","to","FilterOperator","CONTAINS","IS_EMPTY","EXISTS","isValidFilterProp","prop","getOperatorForFilter","undefined","isSupportedOperator","fields","filterProp","filterKey","_field$capabilities","field","operator","FilterPropToOperator","supportedOperators","capabilities","supportedQueryOperators","includes","getQueryFieldId","fieldId","fieldType","isAddressField","isExistenceOperator","addFiltersToDataQuery","dataQuery","query","filterFieldMapping","dataQueryWithFilters","filters","fieldKey","filter","Array","isArray","_fields$fieldId","_fields$fieldId2","_fields$fieldId3","_fields$fieldId4","_fields$fieldId5","_fields$fieldId6","filterArray","type","some","item","id","BooleanFilters","checked","eq","falseFilter","items","undefinedFilter","and","or","wantsHasValue","HasValueFilters","hasValue","wantsNoValue","noValue","isNotEmpty","isEmpty","hasSome","map","_fields$fieldId7","queryFieldId","NOT_CONTAINS","containsFilter","contains","value","not","filterObj","TEXT_FIELD_TYPES","addSearchToDataQuery","searchableFieldIds","searchableFields","Object","keys","isFieldSearchable","search","length","searchFilter","forEach","currentFilter"],"sources":["../../../../src/dataSourceAdapters/cms/filterUtils.ts"],"sourcesContent":["import { FilterOperator } from '@wix/patterns';\nimport { items } from '@wix/data';\nimport {\n BooleanFilters,\n FilterProp,\n FilterPropToOperator,\n HasValueFilters,\n} from '../constants';\nimport { Query, SchemaConfig } from '../../types';\n\nexport type CmsOperatorMethod =\n | 'ge'\n | 'le'\n | 'contains'\n | 'isEmpty'\n | 'isNotEmpty';\n\nconst FilterPropToMethod: Partial<\n Record<FilterProp | FilterOperator, CmsOperatorMethod>\n> = {\n from: 'ge',\n to: 'le',\n [FilterOperator.CONTAINS]: 'contains',\n [FilterOperator.IS_EMPTY]: 'isEmpty',\n [FilterOperator.EXISTS]: 'isNotEmpty',\n};\n\nfunction isValidFilterProp(prop: string): prop is FilterProp {\n return prop in FilterPropToMethod;\n}\n\nfunction getOperatorForFilter(prop: string): CmsOperatorMethod | undefined {\n if (isValidFilterProp(prop)) {\n return FilterPropToMethod[prop];\n }\n return undefined;\n}\n\nconst isSupportedOperator = (\n fields: SchemaConfig['fields'],\n filterProp: string,\n filterKey: string,\n) => {\n const field = fields[filterKey];\n if (!field) {\n return false;\n }\n\n if (!isValidFilterProp(filterProp)) {\n return false;\n }\n\n const operator = FilterPropToOperator[filterProp];\n const supportedOperators = field.capabilities?.supportedQueryOperators;\n return supportedOperators?.includes(operator);\n};\n\n/**\n * For ADDRESS fields, text-based operators (CONTAINS, NOT_CONTAINS) should query\n * the 'formatted' nested property, which contains the human-readable address string.\n * Existence operators (IS_EMPTY, EXISTS) should query the field directly.\n */\nconst getQueryFieldId = (\n fieldId: string,\n fieldType: string | undefined,\n operator: FilterOperator,\n): string => {\n const isAddressField = fieldType === 'ADDRESS';\n const isExistenceOperator =\n operator === FilterOperator.IS_EMPTY || operator === FilterOperator.EXISTS;\n\n return isAddressField && !isExistenceOperator\n ? `${fieldId}.formatted`\n : fieldId;\n};\n\nexport function addFiltersToDataQuery({\n dataQuery,\n query,\n fields,\n filterFieldMapping,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n}) {\n if (!filterFieldMapping) {\n return dataQuery;\n }\n\n let dataQueryWithFilters = dataQuery;\n const { filters } = query;\n for (const fieldKey in filters) {\n const fieldId = filterFieldMapping[fieldKey].fieldId;\n const filter = filters[fieldKey];\n if (filter) {\n if (Array.isArray(filter)) {\n const filterArray = filter as { [key: string]: any }[];\n if (fields[fieldId]?.type === 'BOOLEAN') {\n if (filterArray.some((item) => item.id === BooleanFilters.checked)) {\n dataQueryWithFilters = dataQueryWithFilters.eq(fieldId, true);\n } else {\n const falseFilter = items.filter().eq(fieldId, false);\n const undefinedFilter = items.filter().eq(fieldId, undefined);\n dataQueryWithFilters = dataQueryWithFilters.and(\n falseFilter.or(undefinedFilter),\n );\n }\n } else if (\n fields[fieldId]?.type === 'RICH_CONTENT' ||\n fields[fieldId]?.type === 'TIME' ||\n fields[fieldId]?.type === 'DOCUMENT' ||\n fields[fieldId]?.type === 'MULTI_DOCUMENT' ||\n fields[fieldId]?.type === 'AUDIO'\n ) {\n const wantsHasValue = filterArray.some(\n (item) => item.id === HasValueFilters.hasValue,\n );\n const wantsNoValue = filterArray.some(\n (item) => item.id === HasValueFilters.noValue,\n );\n // Only apply filter if exactly one option is selected\n if (wantsHasValue && !wantsNoValue) {\n dataQueryWithFilters = dataQueryWithFilters.isNotEmpty(fieldId);\n } else if (wantsNoValue && !wantsHasValue) {\n dataQueryWithFilters = dataQueryWithFilters.isEmpty(fieldId);\n }\n // If both or neither selected, no filter applied (show all)\n } else {\n dataQueryWithFilters = dataQueryWithFilters.hasSome(\n fieldId,\n filterArray.map((item) => item.id),\n );\n }\n } else if (typeof filter === 'object') {\n // Operator filter\n if (filter.operator) {\n const queryFieldId = getQueryFieldId(\n fieldId,\n fields[fieldId]?.type,\n filter.operator,\n );\n\n if (filter.operator === FilterOperator.NOT_CONTAINS) {\n const containsFilter = items\n .filter()\n .contains(queryFieldId, filter.value);\n dataQueryWithFilters = dataQueryWithFilters.not(containsFilter);\n } else {\n const operator = getOperatorForFilter(filter.operator);\n if (operator) {\n if (operator === 'isEmpty' || operator === 'isNotEmpty') {\n dataQueryWithFilters = dataQueryWithFilters[operator](fieldId);\n } else {\n dataQueryWithFilters = dataQueryWithFilters[operator](\n queryFieldId,\n filter.value,\n );\n }\n }\n }\n }\n // Range filter\n const filterObj = filter as Record<string, any>;\n for (const filterProp in filterObj) {\n const operator = getOperatorForFilter(filterProp);\n if (\n operator &&\n typeof dataQuery[operator] === 'function' &&\n isSupportedOperator(fields, filterProp, fieldId)\n ) {\n const value = filterObj[filterProp];\n if (value !== undefined && value !== null) {\n dataQueryWithFilters = dataQueryWithFilters[operator](\n fieldId,\n value,\n );\n }\n }\n }\n }\n }\n }\n\n return dataQueryWithFilters;\n}\n\nconst TEXT_FIELD_TYPES = ['LONG_TEXT', 'SHORT_TEXT'];\nexport function addSearchToDataQuery({\n dataQuery,\n query,\n fields,\n searchableFieldIds,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n searchableFieldIds: string[];\n}) {\n const searchableFields = Object.keys(fields).filter((fieldId) => {\n const field = fields[fieldId];\n const isFieldSearchable = searchableFieldIds.includes(fieldId);\n\n return isFieldSearchable && field && TEXT_FIELD_TYPES.includes(field.type);\n });\n\n if (query.search && searchableFields.length > 0) {\n let searchFilter: items.WixDataFilter | null = null;\n\n searchableFields.forEach((field) => {\n const currentFilter = items.filter().contains(field, query.search!);\n searchFilter = searchFilter\n ? searchFilter.or(currentFilter)\n : currentFilter;\n });\n\n if (searchFilter) {\n dataQuery = dataQuery.and(searchFilter);\n }\n }\n\n return dataQuery;\n}\n"],"mappings":"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","ignoreList":[]}
|