@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
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import React, { useCallback, useRef } from 'react';
|
|
2
|
-
import { getMediaTitle
|
|
2
|
+
import { getMediaTitle } from '../../utils/media-utils';
|
|
3
|
+
import { getMediaURL } from '@wix/auto-cms-field-types';
|
|
3
4
|
import { Text, Box, TableListItem, TableActionCell } from '@wix/design-system';
|
|
4
|
-
import { Delete, Replace, Document, Link } from '@wix/wix-ui-icons-common';
|
|
5
|
+
import { Delete, Replace, Document, Link, Download } from '@wix/wix-ui-icons-common';
|
|
5
6
|
import { useTranslations } from '../../hooks';
|
|
6
7
|
import { classes } from './form-document-field.st.css.js';
|
|
7
8
|
import { DocumentLoader } from './document-loader';
|
|
@@ -33,6 +34,7 @@ export const DocumentControl = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
|
33
34
|
readOnly,
|
|
34
35
|
onReplace,
|
|
35
36
|
onDelete,
|
|
37
|
+
onDownload,
|
|
36
38
|
dataHook,
|
|
37
39
|
className,
|
|
38
40
|
loading,
|
|
@@ -50,10 +52,12 @@ export const DocumentControl = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
|
50
52
|
const handleOpenDocument = useCallback(() => {
|
|
51
53
|
openDocument(getMediaURL(mediaURI, metaSiteId));
|
|
52
54
|
}, [mediaURI, metaSiteId]);
|
|
55
|
+
const handleDownload = useCallback(() => {
|
|
56
|
+
onDownload(mediaURI);
|
|
57
|
+
}, [mediaURI, onDownload]);
|
|
53
58
|
const containerRef = useRef(null);
|
|
54
59
|
const handleOnKeydown = useCallback(event => {
|
|
55
60
|
var _containerRef$current;
|
|
56
|
-
// TODO: find a better way how to handle keydown
|
|
57
61
|
const actions = containerRef == null || (_containerRef$current = containerRef.current) == null ? void 0 : _containerRef$current.querySelector(`[data-hook="document-view-actions-button"]`);
|
|
58
62
|
if (actions != null && actions.contains(document.activeElement)) {
|
|
59
63
|
return;
|
|
@@ -95,6 +99,12 @@ export const DocumentControl = /*#__PURE__*/React.forwardRef((_ref2, ref) => {
|
|
|
95
99
|
minWidth: '232px'
|
|
96
100
|
},
|
|
97
101
|
secondaryActions: [{
|
|
102
|
+
icon: /*#__PURE__*/React.createElement(Download, null),
|
|
103
|
+
onClick: handleDownload,
|
|
104
|
+
disabled: readOnly,
|
|
105
|
+
dataHook: 'document-view-download-action',
|
|
106
|
+
text: t('CMS.document.action.download')
|
|
107
|
+
}, {
|
|
98
108
|
icon: /*#__PURE__*/React.createElement(Replace, null),
|
|
99
109
|
onClick: onReplace,
|
|
100
110
|
text: t('CMS.document.action.replace'),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useCallback","useRef","getMediaTitle","getMediaURL","Text","Box","TableListItem","TableActionCell","Delete","Replace","Document","Link","useTranslations","classes","DocumentLoader","openDocument","useWixPatternsContainer","DOCUMENT_VIEW_ACTIONS_WIDTH","DocumentComponent","_ref","mediaURI","createElement","gap","verticalAlign","className","textWidth","width","height","children","dataHook","secondary","ellipsis","DocumentControl","forwardRef","_ref2","ref","readOnly","onReplace","onDelete","loading","loaderBorderStyle","loaderClassName","onOpenPasteURLForm","t","environment","metaSiteId","msid","handleOpenDocument","containerRef","handleOnKeydown","event","_containerRef$current","actions","current","querySelector","contains","document","activeElement","key","borderStyle","onKeyDown","onClick","verticalPadding","options","value","alwaysShowSecondaryActions","numOfVisibleSecondaryActions","primaryAction","skin","text","popoverMenuProps","textSize","minWidth","secondaryActions","icon","disabled","divider","align"],"sources":["../../../../../src/cms-fields/components/document/document-control.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\n\nimport { getMediaTitle, getMediaURL } from '../../utils/media-utils';\nimport type { TableListItemImperativeActions } from '@wix/design-system';\nimport { Text, Box, TableListItem, TableActionCell } from '@wix/design-system';\nimport { Delete, Replace, Document, Link } from '@wix/wix-ui-icons-common';\nimport { useTranslations } from '../../hooks';\n\nimport { classes } from './form-document-field.st.css.js';\nimport { DocumentLoader } from './document-loader';\nimport { openDocument } from './utils';\nimport { useWixPatternsContainer } from '@wix/patterns';\n\nconst DOCUMENT_VIEW_ACTIONS_WIDTH = '196px';\n\nconst DocumentComponent = ({ mediaURI }: { mediaURI: string }) => {\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\" className={classes.textWidth}>\n <Box width=\"24px\" height=\"24px\" children={<Document />} />\n <Text\n dataHook=\"document-view-name\"\n secondary\n ellipsis\n children={getMediaTitle(mediaURI)}\n />\n </Box>\n );\n};\ninterface DocumentControl {\n mediaURI: string;\n readOnly?: boolean;\n onReplace: () => void;\n onDelete: () => void;\n className?: string;\n loading: boolean;\n loaderBorderStyle?: 'solid' | 'dashed';\n loaderClassName?: string;\n dataHook?: string;\n onOpenPasteURLForm: () => void;\n}\n\nexport const DocumentControl = React.forwardRef<\n TableListItemImperativeActions,\n DocumentControl\n>(\n (\n {\n mediaURI,\n readOnly,\n onReplace,\n onDelete,\n dataHook,\n className,\n loading,\n loaderBorderStyle,\n loaderClassName,\n onOpenPasteURLForm,\n },\n ref,\n ) => {\n const { t } = useTranslations();\n const { environment } = useWixPatternsContainer();\n const metaSiteId = environment.msid;\n\n const handleOpenDocument = useCallback(() => {\n openDocument(getMediaURL(mediaURI, metaSiteId));\n }, [mediaURI, metaSiteId]);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const handleOnKeydown = useCallback<React.KeyboardEventHandler>(\n (event) => {\n // TODO: find a better way how to handle keydown\n const actions = containerRef?.current?.querySelector(\n `[data-hook=\"document-view-actions-button\"]`,\n );\n\n if (actions?.contains(document.activeElement)) {\n return;\n }\n\n if (event.key === 'Enter') {\n handleOpenDocument();\n }\n },\n [handleOpenDocument, containerRef],\n );\n\n return loading ? (\n <DocumentLoader\n borderStyle={loaderBorderStyle}\n className={loaderClassName}\n />\n ) : (\n <div ref={containerRef} onKeyDown={handleOnKeydown}>\n <TableListItem\n dataHook={dataHook}\n ref={ref}\n className={className}\n onClick={handleOpenDocument}\n verticalPadding=\"tiny\"\n options={[\n {\n value: <DocumentComponent mediaURI={mediaURI} />,\n width: '75%',\n },\n {\n value: (\n <TableActionCell\n dataHook=\"document-view-actions-button\"\n alwaysShowSecondaryActions\n numOfVisibleSecondaryActions={1}\n primaryAction={{\n onClick: handleOpenDocument,\n skin: 'standard',\n text: t('CMS.document.action.open'),\n dataHook: 'document-view-open-action',\n }}\n popoverMenuProps={{\n textSize: 'medium',\n minWidth: '232px',\n }}\n secondaryActions={[\n {\n icon: <Replace />,\n onClick: onReplace,\n text: t('CMS.document.action.replace'),\n dataHook: 'document-view-replace-action',\n disabled: readOnly,\n },\n {\n icon: <Link />,\n onClick: onOpenPasteURLForm,\n text: t('CMS.document.action.replaceWithUrl'),\n dataHook: 'document-view-replace-with-url-action',\n disabled: readOnly,\n },\n {\n divider: true,\n },\n {\n icon: <Delete />,\n onClick: onDelete,\n text: t('CMS.document.action.delete'),\n dataHook: 'document-view-delete-action',\n disabled: readOnly,\n },\n ]}\n />\n ),\n width: DOCUMENT_VIEW_ACTIONS_WIDTH,\n align: 'right',\n },\n ]}\n />\n </div>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["React","useCallback","useRef","getMediaTitle","getMediaURL","Text","Box","TableListItem","TableActionCell","Delete","Replace","Document","Link","Download","useTranslations","classes","DocumentLoader","openDocument","useWixPatternsContainer","DOCUMENT_VIEW_ACTIONS_WIDTH","DocumentComponent","_ref","mediaURI","createElement","gap","verticalAlign","className","textWidth","width","height","children","dataHook","secondary","ellipsis","DocumentControl","forwardRef","_ref2","ref","readOnly","onReplace","onDelete","onDownload","loading","loaderBorderStyle","loaderClassName","onOpenPasteURLForm","t","environment","metaSiteId","msid","handleOpenDocument","handleDownload","containerRef","handleOnKeydown","event","_containerRef$current","actions","current","querySelector","contains","document","activeElement","key","borderStyle","onKeyDown","onClick","verticalPadding","options","value","alwaysShowSecondaryActions","numOfVisibleSecondaryActions","primaryAction","skin","text","popoverMenuProps","textSize","minWidth","secondaryActions","icon","disabled","divider","align"],"sources":["../../../../../src/cms-fields/components/document/document-control.tsx"],"sourcesContent":["import React, { useCallback, useRef } from 'react';\n\nimport { getMediaTitle } from '../../utils/media-utils';\nimport { getMediaURL } from '@wix/auto-cms-field-types';\nimport type { TableListItemImperativeActions } from '@wix/design-system';\nimport { Text, Box, TableListItem, TableActionCell } from '@wix/design-system';\nimport {\n Delete,\n Replace,\n Document,\n Link,\n Download,\n} from '@wix/wix-ui-icons-common';\nimport { useTranslations } from '../../hooks';\n\nimport { classes } from './form-document-field.st.css.js';\nimport { DocumentLoader } from './document-loader';\nimport { openDocument } from './utils';\nimport { useWixPatternsContainer } from '@wix/patterns';\n\nconst DOCUMENT_VIEW_ACTIONS_WIDTH = '196px';\n\nconst DocumentComponent = ({ mediaURI }: { mediaURI: string }) => {\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\" className={classes.textWidth}>\n <Box width=\"24px\" height=\"24px\" children={<Document />} />\n <Text\n dataHook=\"document-view-name\"\n secondary\n ellipsis\n children={getMediaTitle(mediaURI)}\n />\n </Box>\n );\n};\ninterface DocumentControl {\n mediaURI: string;\n readOnly?: boolean;\n onReplace: () => void;\n onDelete: () => void;\n onDownload: (mediaURI: string) => void;\n className?: string;\n loading: boolean;\n loaderBorderStyle?: 'solid' | 'dashed';\n loaderClassName?: string;\n dataHook?: string;\n onOpenPasteURLForm: () => void;\n}\n\nexport const DocumentControl = React.forwardRef<\n TableListItemImperativeActions,\n DocumentControl\n>(\n (\n {\n mediaURI,\n readOnly,\n onReplace,\n onDelete,\n onDownload,\n dataHook,\n className,\n loading,\n loaderBorderStyle,\n loaderClassName,\n onOpenPasteURLForm,\n },\n ref,\n ) => {\n const { t } = useTranslations();\n const { environment } = useWixPatternsContainer();\n const metaSiteId = environment.msid;\n\n const handleOpenDocument = useCallback(() => {\n openDocument(getMediaURL(mediaURI, metaSiteId));\n }, [mediaURI, metaSiteId]);\n\n const handleDownload = useCallback(() => {\n onDownload(mediaURI);\n }, [mediaURI, onDownload]);\n\n const containerRef = useRef<HTMLDivElement>(null);\n\n const handleOnKeydown = useCallback<React.KeyboardEventHandler>(\n (event) => {\n const actions = containerRef?.current?.querySelector(\n `[data-hook=\"document-view-actions-button\"]`,\n );\n\n if (actions?.contains(document.activeElement)) {\n return;\n }\n\n if (event.key === 'Enter') {\n handleOpenDocument();\n }\n },\n [handleOpenDocument, containerRef],\n );\n\n return loading ? (\n <DocumentLoader\n borderStyle={loaderBorderStyle}\n className={loaderClassName}\n />\n ) : (\n <div ref={containerRef} onKeyDown={handleOnKeydown}>\n <TableListItem\n dataHook={dataHook}\n ref={ref}\n className={className}\n onClick={handleOpenDocument}\n verticalPadding=\"tiny\"\n options={[\n {\n value: <DocumentComponent mediaURI={mediaURI} />,\n width: '75%',\n },\n {\n value: (\n <TableActionCell\n dataHook=\"document-view-actions-button\"\n alwaysShowSecondaryActions\n numOfVisibleSecondaryActions={1}\n primaryAction={{\n onClick: handleOpenDocument,\n skin: 'standard',\n text: t('CMS.document.action.open'),\n dataHook: 'document-view-open-action',\n }}\n popoverMenuProps={{\n textSize: 'medium',\n minWidth: '232px',\n }}\n secondaryActions={[\n {\n icon: <Download />,\n onClick: handleDownload,\n disabled: readOnly,\n dataHook: 'document-view-download-action',\n text: t('CMS.document.action.download'),\n },\n {\n icon: <Replace />,\n onClick: onReplace,\n text: t('CMS.document.action.replace'),\n dataHook: 'document-view-replace-action',\n disabled: readOnly,\n },\n {\n icon: <Link />,\n onClick: onOpenPasteURLForm,\n text: t('CMS.document.action.replaceWithUrl'),\n dataHook: 'document-view-replace-with-url-action',\n disabled: readOnly,\n },\n {\n divider: true,\n },\n {\n icon: <Delete />,\n onClick: onDelete,\n text: t('CMS.document.action.delete'),\n dataHook: 'document-view-delete-action',\n disabled: readOnly,\n },\n ]}\n />\n ),\n width: DOCUMENT_VIEW_ACTIONS_WIDTH,\n align: 'right',\n },\n ]}\n />\n </div>\n );\n },\n);\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -26,7 +26,8 @@ export const FormDocumentField = _ref => {
|
|
|
26
26
|
const viewRef = useRef(null);
|
|
27
27
|
const {
|
|
28
28
|
callMedia,
|
|
29
|
-
loading
|
|
29
|
+
loading,
|
|
30
|
+
downloadMedia
|
|
30
31
|
} = useMediaControl({
|
|
31
32
|
mediaType: MEDIA_TYPES.ALL_MEDIA,
|
|
32
33
|
value: data,
|
|
@@ -64,6 +65,7 @@ export const FormDocumentField = _ref => {
|
|
|
64
65
|
readOnly: readOnly,
|
|
65
66
|
onReplace: callMedia,
|
|
66
67
|
onDelete: onClear,
|
|
68
|
+
onDownload: downloadMedia,
|
|
67
69
|
className: classes.viewWrapper,
|
|
68
70
|
loading: loading,
|
|
69
71
|
loaderBorderStyle: "solid",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["React","useRef","MEDIA_TYPES","useTranslations","useWithCallback","PasteURLForm","useMediaControl","usePasteURLForm","DocumentControl","classes","FormDocumentInput","documentClasses","FormDocumentField","_ref","data","onChange","onChangeDocument","onClear","onClearDocument","onInput","autoFocus","readOnly","invalid","dataHook","t","inputRef","viewRef","callMedia","loading","mediaType","ALL_MEDIA","value","isOpen","title","onOpen","onClose","onSave","createElement","Fragment","ref","theme","disabled","error","loaderBorderStyle","onAddButtonClick","onPasteURLButtonClick","mediaURI","onReplace","onDelete","className","viewWrapper","onOpenPasteURLForm","show","closeModal"],"sources":["../../../../../src/cms-fields/components/document/form-document-field.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport { MEDIA_TYPES } from '../../utils/media-utils';\nimport { useTranslations, useWithCallback } from '../../hooks';\nimport type { AddItemActions } from '@wix/design-system';\n\nimport type { FormMediaControlProps } from '../media-control';\nimport {\n PasteURLForm,\n useMediaControl,\n usePasteURLForm,\n} from '../media-control';\n\nimport { DocumentControl } from './document-control';\nimport { classes } from './form-document-field.st.css.js';\nimport { FormDocumentInput } from './form-document-input';\n\nexport { classes as documentClasses } from './form-document-field.st.css.js';\n\nexport const FormDocumentField: React.FC<FormMediaControlProps> = ({\n data,\n onChange: onChangeDocument,\n onClear: onClearDocument,\n onInput,\n autoFocus,\n readOnly,\n invalid,\n dataHook,\n}) => {\n const { t } = useTranslations();\n\n const onChange = useWithCallback(onChangeDocument, onInput);\n const onClear = useWithCallback(onClearDocument, onInput);\n\n const inputRef = useRef<AddItemActions>(null);\n const viewRef = useRef<HTMLDivElement>(null);\n\n const { callMedia, loading } = useMediaControl({\n mediaType: MEDIA_TYPES.ALL_MEDIA,\n value: data,\n onChange,\n autoFocus,\n readOnly,\n inputRef,\n viewRef,\n });\n\n const { isOpen, title, onOpen, onClose, onSave } = usePasteURLForm({\n onChange,\n });\n\n return (\n <>\n {!data ? (\n <FormDocumentInput\n dataHook={dataHook}\n ref={inputRef}\n theme=\"dashes\"\n disabled={readOnly}\n loading={loading}\n error={invalid}\n loaderBorderStyle=\"dashed\"\n onAddButtonClick={callMedia}\n onPasteURLButtonClick={onOpen({\n title: t('CMS.document.pasteUrl.title'),\n })}\n />\n ) : (\n <DocumentControl\n dataHook={dataHook}\n ref={viewRef}\n mediaURI={data}\n readOnly={readOnly}\n onReplace={callMedia}\n onDelete={onClear}\n className={classes.viewWrapper}\n loading={loading}\n loaderBorderStyle=\"solid\"\n onOpenPasteURLForm={onOpen({\n title: t('CMS.document.replaceWithUrl.title'),\n })}\n />\n )}\n <PasteURLForm\n title={title}\n value={data}\n show={isOpen}\n closeModal={onClose}\n onSave={onSave}\n />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AAErC,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SAASC,eAAe,EAAEC,eAAe,QAAQ,aAAa;AAI9D,SACEC,YAAY,EACZC,eAAe,EACfC,eAAe,QACV,kBAAkB;AAEzB,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,iBAAiB,QAAQ,uBAAuB;AAEzD,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAAiC;AAE5E,OAAO,MAAMC,iBAAkD,GAAGC,IAAA,IAS5D;EAAA,IAT6D;IACjEC,IAAI;IACJC,QAAQ,EAAEC,gBAAgB;IAC1BC,OAAO,EAAEC,eAAe;IACxBC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,OAAO;IACPC;EACF,CAAC,GAAAV,IAAA;EACC,MAAM;IAAEW;EAAE,CAAC,GAAGrB,eAAe,CAAC,CAAC;EAE/B,MAAMY,QAAQ,GAAGX,eAAe,CAACY,gBAAgB,EAAEG,OAAO,CAAC;EAC3D,MAAMF,OAAO,GAAGb,eAAe,CAACc,eAAe,EAAEC,OAAO,CAAC;EAEzD,MAAMM,QAAQ,GAAGxB,MAAM,CAAiB,IAAI,CAAC;EAC7C,MAAMyB,OAAO,GAAGzB,MAAM,CAAiB,IAAI,CAAC;EAE5C,MAAM;IAAE0B,SAAS;IAAEC;
|
|
1
|
+
{"version":3,"names":["React","useRef","MEDIA_TYPES","useTranslations","useWithCallback","PasteURLForm","useMediaControl","usePasteURLForm","DocumentControl","classes","FormDocumentInput","documentClasses","FormDocumentField","_ref","data","onChange","onChangeDocument","onClear","onClearDocument","onInput","autoFocus","readOnly","invalid","dataHook","t","inputRef","viewRef","callMedia","loading","downloadMedia","mediaType","ALL_MEDIA","value","isOpen","title","onOpen","onClose","onSave","createElement","Fragment","ref","theme","disabled","error","loaderBorderStyle","onAddButtonClick","onPasteURLButtonClick","mediaURI","onReplace","onDelete","onDownload","className","viewWrapper","onOpenPasteURLForm","show","closeModal"],"sources":["../../../../../src/cms-fields/components/document/form-document-field.tsx"],"sourcesContent":["import React, { useRef } from 'react';\n\nimport { MEDIA_TYPES } from '../../utils/media-utils';\nimport { useTranslations, useWithCallback } from '../../hooks';\nimport type { AddItemActions } from '@wix/design-system';\n\nimport type { FormMediaControlProps } from '../media-control';\nimport {\n PasteURLForm,\n useMediaControl,\n usePasteURLForm,\n} from '../media-control';\n\nimport { DocumentControl } from './document-control';\nimport { classes } from './form-document-field.st.css.js';\nimport { FormDocumentInput } from './form-document-input';\n\nexport { classes as documentClasses } from './form-document-field.st.css.js';\n\nexport const FormDocumentField: React.FC<FormMediaControlProps> = ({\n data,\n onChange: onChangeDocument,\n onClear: onClearDocument,\n onInput,\n autoFocus,\n readOnly,\n invalid,\n dataHook,\n}) => {\n const { t } = useTranslations();\n\n const onChange = useWithCallback(onChangeDocument, onInput);\n const onClear = useWithCallback(onClearDocument, onInput);\n\n const inputRef = useRef<AddItemActions>(null);\n const viewRef = useRef<HTMLDivElement>(null);\n\n const { callMedia, loading, downloadMedia } = useMediaControl({\n mediaType: MEDIA_TYPES.ALL_MEDIA,\n value: data,\n onChange,\n autoFocus,\n readOnly,\n inputRef,\n viewRef,\n });\n\n const { isOpen, title, onOpen, onClose, onSave } = usePasteURLForm({\n onChange,\n });\n\n return (\n <>\n {!data ? (\n <FormDocumentInput\n dataHook={dataHook}\n ref={inputRef}\n theme=\"dashes\"\n disabled={readOnly}\n loading={loading}\n error={invalid}\n loaderBorderStyle=\"dashed\"\n onAddButtonClick={callMedia}\n onPasteURLButtonClick={onOpen({\n title: t('CMS.document.pasteUrl.title'),\n })}\n />\n ) : (\n <DocumentControl\n dataHook={dataHook}\n ref={viewRef}\n mediaURI={data}\n readOnly={readOnly}\n onReplace={callMedia}\n onDelete={onClear}\n onDownload={downloadMedia}\n className={classes.viewWrapper}\n loading={loading}\n loaderBorderStyle=\"solid\"\n onOpenPasteURLForm={onOpen({\n title: t('CMS.document.replaceWithUrl.title'),\n })}\n />\n )}\n <PasteURLForm\n title={title}\n value={data}\n show={isOpen}\n closeModal={onClose}\n onSave={onSave}\n />\n </>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,MAAM,QAAQ,OAAO;AAErC,SAASC,WAAW,QAAQ,yBAAyB;AACrD,SAASC,eAAe,EAAEC,eAAe,QAAQ,aAAa;AAI9D,SACEC,YAAY,EACZC,eAAe,EACfC,eAAe,QACV,kBAAkB;AAEzB,SAASC,eAAe,QAAQ,oBAAoB;AACpD,SAASC,OAAO,QAAQ,iCAAiC;AACzD,SAASC,iBAAiB,QAAQ,uBAAuB;AAEzD,SAASD,OAAO,IAAIE,eAAe,QAAQ,iCAAiC;AAE5E,OAAO,MAAMC,iBAAkD,GAAGC,IAAA,IAS5D;EAAA,IAT6D;IACjEC,IAAI;IACJC,QAAQ,EAAEC,gBAAgB;IAC1BC,OAAO,EAAEC,eAAe;IACxBC,OAAO;IACPC,SAAS;IACTC,QAAQ;IACRC,OAAO;IACPC;EACF,CAAC,GAAAV,IAAA;EACC,MAAM;IAAEW;EAAE,CAAC,GAAGrB,eAAe,CAAC,CAAC;EAE/B,MAAMY,QAAQ,GAAGX,eAAe,CAACY,gBAAgB,EAAEG,OAAO,CAAC;EAC3D,MAAMF,OAAO,GAAGb,eAAe,CAACc,eAAe,EAAEC,OAAO,CAAC;EAEzD,MAAMM,QAAQ,GAAGxB,MAAM,CAAiB,IAAI,CAAC;EAC7C,MAAMyB,OAAO,GAAGzB,MAAM,CAAiB,IAAI,CAAC;EAE5C,MAAM;IAAE0B,SAAS;IAAEC,OAAO;IAAEC;EAAc,CAAC,GAAGvB,eAAe,CAAC;IAC5DwB,SAAS,EAAE5B,WAAW,CAAC6B,SAAS;IAChCC,KAAK,EAAElB,IAAI;IACXC,QAAQ;IACRK,SAAS;IACTC,QAAQ;IACRI,QAAQ;IACRC;EACF,CAAC,CAAC;EAEF,MAAM;IAAEO,MAAM;IAAEC,KAAK;IAAEC,MAAM;IAAEC,OAAO;IAAEC;EAAO,CAAC,GAAG9B,eAAe,CAAC;IACjEQ;EACF,CAAC,CAAC;EAEF,oBACEf,KAAA,CAAAsC,aAAA,CAAAtC,KAAA,CAAAuC,QAAA,QACG,CAACzB,IAAI,gBACJd,KAAA,CAAAsC,aAAA,CAAC5B,iBAAiB;IAChBa,QAAQ,EAAEA,QAAS;IACnBiB,GAAG,EAAEf,QAAS;IACdgB,KAAK,EAAC,QAAQ;IACdC,QAAQ,EAAErB,QAAS;IACnBO,OAAO,EAAEA,OAAQ;IACjBe,KAAK,EAAErB,OAAQ;IACfsB,iBAAiB,EAAC,QAAQ;IAC1BC,gBAAgB,EAAElB,SAAU;IAC5BmB,qBAAqB,EAAEX,MAAM,CAAC;MAC5BD,KAAK,EAAEV,CAAC,CAAC,6BAA6B;IACxC,CAAC;EAAE,CACJ,CAAC,gBAEFxB,KAAA,CAAAsC,aAAA,CAAC9B,eAAe;IACde,QAAQ,EAAEA,QAAS;IACnBiB,GAAG,EAAEd,OAAQ;IACbqB,QAAQ,EAAEjC,IAAK;IACfO,QAAQ,EAAEA,QAAS;IACnB2B,SAAS,EAAErB,SAAU;IACrBsB,QAAQ,EAAEhC,OAAQ;IAClBiC,UAAU,EAAErB,aAAc;IAC1BsB,SAAS,EAAE1C,OAAO,CAAC2C,WAAY;IAC/BxB,OAAO,EAAEA,OAAQ;IACjBgB,iBAAiB,EAAC,OAAO;IACzBS,kBAAkB,EAAElB,MAAM,CAAC;MACzBD,KAAK,EAAEV,CAAC,CAAC,mCAAmC;IAC9C,CAAC;EAAE,CACJ,CACF,eACDxB,KAAA,CAAAsC,aAAA,CAACjC,YAAY;IACX6B,KAAK,EAAEA,KAAM;IACbF,KAAK,EAAElB,IAAK;IACZwC,IAAI,EAAErB,MAAO;IACbsB,UAAU,EAAEnB,OAAQ;IACpBC,MAAM,EAAEA;EAAO,CAChB,CACD,CAAC;AAEP,CAAC","ignoreList":[]}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
|
|
3
3
|
import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js";
|
|
4
|
-
var _namespace_ = "
|
|
4
|
+
var _namespace_ = "formdocumentfield2561653091";
|
|
5
5
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
7
7
|
export var style = _style_;
|
|
8
8
|
export var st = _style_;
|
|
9
9
|
export var namespace = _namespace_;
|
|
10
10
|
export var classes = {
|
|
11
|
-
"root": "
|
|
12
|
-
"viewWrapper": "
|
|
13
|
-
"textWidth": "
|
|
14
|
-
"documentLoader": "
|
|
15
|
-
"addDocument": "
|
|
16
|
-
"addItemWrapper": "
|
|
11
|
+
"root": "formdocumentfield2561653091__root",
|
|
12
|
+
"viewWrapper": "formdocumentfield2561653091__viewWrapper",
|
|
13
|
+
"textWidth": "formdocumentfield2561653091__textWidth",
|
|
14
|
+
"documentLoader": "formdocumentfield2561653091__documentLoader",
|
|
15
|
+
"addDocument": "formdocumentfield2561653091__addDocument",
|
|
16
|
+
"addItemWrapper": "formdocumentfield2561653091__addItemWrapper"
|
|
17
17
|
};
|
|
18
18
|
export var keyframes = {};
|
|
19
19
|
export var layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/document/form-document-field.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/document/form-document-field.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"formdocumentfield2561653091\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"formdocumentfield2561653091__root\",\"viewWrapper\":\"formdocumentfield2561653091__viewWrapper\",\"textWidth\":\"formdocumentfield2561653091__textWidth\",\"documentLoader\":\"formdocumentfield2561653091__documentLoader\",\"addDocument\":\"formdocumentfield2561653091__addDocument\",\"addItemWrapper\":\"formdocumentfield2561653091__addItemWrapper\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {\"BorderRadius\":\"2px\",\"documentViewBorderRadius\":\"var(--wds-border-radius-300, calc(2px * 3))\",\"documentActionsWidth\":\"196px\",\"addItemWSRBorderRadius\":\"var(--wds-border-radius-400, calc(2px * 4))\",\"documentLoaderPadding\":\"21px\",\"addDocumentPadding\":\"17px\"}; \nexport var vars = {\"wds-border-radius-400\":\"--wds-border-radius-400\",\"wds-border-radius-300\":\"--wds-border-radius-300\",\"wds-color-blue-300\":\"--wds-color-blue-300\",\"wds-color-blue-500\":\"--wds-color-blue-500\",\"wsr-color-B30\":\"--wsr-color-B30\",\"wsr-color-B50\":\"--wsr-color-B50\",\"wds-input-shadow-focus-standard\":\"--wds-input-shadow-focus-standard\",\"wsr-color-R10\":\"--wsr-color-R10\",\"wds-color-red-100\":\"--wds-color-red-100\"}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,6BAA6B;AAC/C,IAAIC,OAAO,GAAGH,cAAc,CAACI,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAEpD,OAAO,IAAIG,SAAS,GAAGJ,aAAa,CAACG,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAC5D,OAAO,IAAII,KAA6C,GAAGH,OAAO;AAClE,OAAO,IAAII,EAA0C,GAAGJ,OAAO;AAE/D,OAAO,IAAIK,SAAS,GAAGN,WAAW;AAClC,OAAO,IAAIO,OAAO,GAAG;EAAC,MAAM,EAAC,mCAAmC;EAAC,aAAa,EAAC,0CAA0C;EAAC,WAAW,EAAC,wCAAwC;EAAC,gBAAgB,EAAC,6CAA6C;EAAC,aAAa,EAAC,0CAA0C;EAAC,gBAAgB,EAAC;AAA6C,CAAC;AACtW,OAAO,IAAIC,SAAS,GAAG,CAAC,CAAC;AACzB,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,IAAIC,MAAM,GAAG;EAAC,cAAc,EAAC,KAAK;EAAC,0BAA0B,EAAC,6CAA6C;EAAC,sBAAsB,EAAC,OAAO;EAAC,wBAAwB,EAAC,6CAA6C;EAAC,uBAAuB,EAAC,MAAM;EAAC,oBAAoB,EAAC;AAAM,CAAC;AACpR,OAAO,IAAIC,IAAI,GAAG;EAAC,uBAAuB,EAAC,yBAAyB;EAAC,uBAAuB,EAAC,yBAAyB;EAAC,oBAAoB,EAAC,sBAAsB;EAAC,oBAAoB,EAAC,sBAAsB;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC,iBAAiB;EAAC,iCAAiC,EAAC,mCAAmC;EAAC,eAAe,EAAC,iBAAiB;EAAC,mBAAmB,EAAC;AAAqB,CAAC","ignoreList":[]}
|
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
|
|
3
3
|
import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js";
|
|
4
|
-
var _namespace_ = "
|
|
4
|
+
var _namespace_ = "exclamation434051250";
|
|
5
5
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
7
7
|
export var style = _style_;
|
|
8
8
|
export var st = _style_;
|
|
9
9
|
export var namespace = _namespace_;
|
|
10
10
|
export var classes = {
|
|
11
|
-
"root": "
|
|
12
|
-
"exclamation": "
|
|
13
|
-
"actions": "
|
|
14
|
-
"action": "
|
|
11
|
+
"root": "exclamation434051250__root",
|
|
12
|
+
"exclamation": "exclamation434051250__exclamation",
|
|
13
|
+
"actions": "exclamation434051250__actions",
|
|
14
|
+
"action": "exclamation434051250__action"
|
|
15
15
|
};
|
|
16
16
|
export var keyframes = {};
|
|
17
17
|
export var layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/exclamation/exclamation.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/exclamation/exclamation.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"exclamation434051250\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"exclamation434051250__root\",\"exclamation\":\"exclamation434051250__exclamation\",\"actions\":\"exclamation434051250__actions\",\"action\":\"exclamation434051250__action\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-color-fill-warning-primary\":\"--wds-color-fill-warning-primary\",\"wds-color-fill-destructive-primary\":\"--wds-color-fill-destructive-primary\",\"wds-color-blue-100\":\"--wds-color-blue-100\",\"wds-color-blue-200\":\"--wds-color-blue-200\"}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,sBAAsB;AACxC,IAAIC,OAAO,GAAGH,cAAc,CAACI,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAEpD,OAAO,IAAIG,SAAS,GAAGJ,aAAa,CAACG,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAC5D,OAAO,IAAII,KAA6C,GAAGH,OAAO;AAClE,OAAO,IAAII,EAA0C,GAAGJ,OAAO;AAE/D,OAAO,IAAIK,SAAS,GAAGN,WAAW;AAClC,OAAO,IAAIO,OAAO,GAAG;EAAC,MAAM,EAAC,4BAA4B;EAAC,aAAa,EAAC,mCAAmC;EAAC,SAAS,EAAC,+BAA+B;EAAC,QAAQ,EAAC;AAA8B,CAAC;AAC9L,OAAO,IAAIC,SAAS,GAAG,CAAC,CAAC;AACzB,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,IAAI,GAAG;EAAC,gCAAgC,EAAC,kCAAkC;EAAC,oCAAoC,EAAC,sCAAsC;EAAC,oBAAoB,EAAC,sBAAsB;EAAC,oBAAoB,EAAC;AAAsB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { style, classes } from './highlighted-text.st.css.js';
|
|
3
|
+
export const HighlightedText = _ref => {
|
|
4
|
+
let {
|
|
5
|
+
highlight,
|
|
6
|
+
highlightedBackground = true,
|
|
7
|
+
className,
|
|
8
|
+
dataHook
|
|
9
|
+
} = _ref;
|
|
10
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
11
|
+
"data-hook": dataHook,
|
|
12
|
+
className: style(classes.root, {
|
|
13
|
+
highlightedBackground
|
|
14
|
+
}, className)
|
|
15
|
+
}, highlight.map((_ref2, key) => {
|
|
16
|
+
let {
|
|
17
|
+
substring,
|
|
18
|
+
isHighlighted
|
|
19
|
+
} = _ref2;
|
|
20
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
21
|
+
key: key,
|
|
22
|
+
className: style(classes.substring, {
|
|
23
|
+
isHighlighted
|
|
24
|
+
}),
|
|
25
|
+
children: substring
|
|
26
|
+
});
|
|
27
|
+
}));
|
|
28
|
+
};
|
|
29
|
+
//# sourceMappingURL=highlighted-text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["React","style","classes","HighlightedText","_ref","highlight","highlightedBackground","className","dataHook","createElement","root","map","_ref2","key","substring","isHighlighted","children"],"sources":["../../../../../src/cms-fields/components/highlighted-text/highlighted-text.tsx"],"sourcesContent":["import React from 'react';\n\nimport { style, classes } from './highlighted-text.st.css.js';\n\nimport type { HighlightDescriptor } from '../../utils';\n\nexport interface HighlightTextProps {\n highlight: HighlightDescriptor;\n highlightedBackground?: boolean;\n className?: string;\n dataHook?: string;\n}\n\nexport const HighlightedText: React.FC<HighlightTextProps> = ({\n highlight,\n highlightedBackground = true,\n className,\n dataHook,\n}) => (\n <span\n data-hook={dataHook}\n className={style(classes.root, { highlightedBackground }, className)}\n >\n {highlight.map(({ substring, isHighlighted }, key) => (\n <span\n key={key}\n className={style(classes.substring, { isHighlighted })}\n children={substring}\n />\n ))}\n </span>\n);\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,KAAK,EAAEC,OAAO,QAAQ,8BAA8B;AAW7D,OAAO,MAAMC,eAA6C,GAAGC,IAAA;EAAA,IAAC;IAC5DC,SAAS;IACTC,qBAAqB,GAAG,IAAI;IAC5BC,SAAS;IACTC;EACF,CAAC,GAAAJ,IAAA;EAAA,oBACCJ,KAAA,CAAAS,aAAA;IACE,aAAWD,QAAS;IACpBD,SAAS,EAAEN,KAAK,CAACC,OAAO,CAACQ,IAAI,EAAE;MAAEJ;IAAsB,CAAC,EAAEC,SAAS;EAAE,GAEpEF,SAAS,CAACM,GAAG,CAAC,CAAAC,KAAA,EAA+BC,GAAG;IAAA,IAAjC;MAAEC,SAAS;MAAEC;IAAc,CAAC,GAAAH,KAAA;IAAA,oBAC1CZ,KAAA,CAAAS,aAAA;MACEI,GAAG,EAAEA,GAAI;MACTN,SAAS,EAAEN,KAAK,CAACC,OAAO,CAACY,SAAS,EAAE;QAAEC;MAAc,CAAC,CAAE;MACvDC,QAAQ,EAAEF;IAAU,CACrB,CAAC;EAAA,CACH,CACG,CAAC;AAAA,CACR","ignoreList":[]}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
@property st-global(--wds-color-yellow-200);
|
|
2
|
+
@property st-global(--wds-color-yellow-400);
|
|
3
|
+
@property st-global(--wsr-color-Y20);
|
|
4
|
+
@property st-global(--wsr-color-Y40);
|
|
5
|
+
|
|
6
|
+
.root {
|
|
7
|
+
-st-states: highlightedBackground;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.root:highlightedBackground {
|
|
11
|
+
animation: highlighted 150ms ease-out 1 forwards;
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
.substring {
|
|
15
|
+
-st-states: isHighlighted;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.substring:isHighlighted {
|
|
19
|
+
animation: highlighted-match 150ms ease-out 50ms 1 forwards;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@keyframes highlighted {
|
|
24
|
+
from {
|
|
25
|
+
background-color: transparent;
|
|
26
|
+
}
|
|
27
|
+
to {
|
|
28
|
+
background-color: var(--wds-color-yellow-400, var(--wsr-color-Y40));
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
@keyframes highlighted-match {
|
|
33
|
+
from {
|
|
34
|
+
background-color: transparent;
|
|
35
|
+
}
|
|
36
|
+
to {
|
|
37
|
+
background-color: var(--wds-color-yellow-200, var(--wsr-color-Y20));
|
|
38
|
+
}
|
|
39
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js";
|
|
4
|
+
var _namespace_ = "highlightedtext3204350970";
|
|
5
|
+
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
6
|
+
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
7
|
+
export var style = _style_;
|
|
8
|
+
export var st = _style_;
|
|
9
|
+
export var namespace = _namespace_;
|
|
10
|
+
export var classes = {
|
|
11
|
+
"root": "highlightedtext3204350970__root",
|
|
12
|
+
"substring": "highlightedtext3204350970__substring"
|
|
13
|
+
};
|
|
14
|
+
export var keyframes = {
|
|
15
|
+
"highlighted": "highlightedtext3204350970__highlighted",
|
|
16
|
+
"highlighted-match": "highlightedtext3204350970__highlighted-match"
|
|
17
|
+
};
|
|
18
|
+
export var layers = {};
|
|
19
|
+
export var containers = {};
|
|
20
|
+
export var stVars = {};
|
|
21
|
+
export var vars = {
|
|
22
|
+
"wds-color-yellow-200": "--wds-color-yellow-200",
|
|
23
|
+
"wds-color-yellow-400": "--wds-color-yellow-400",
|
|
24
|
+
"wsr-color-Y20": "--wsr-color-Y20",
|
|
25
|
+
"wsr-color-Y40": "--wsr-color-Y40"
|
|
26
|
+
};
|
|
27
|
+
//# sourceMappingURL=highlighted-text.st.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/highlighted-text/highlighted-text.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"highlightedtext3204350970\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"highlightedtext3204350970__root\",\"substring\":\"highlightedtext3204350970__substring\"};\nexport var keyframes = {\"highlighted\":\"highlightedtext3204350970__highlighted\",\"highlighted-match\":\"highlightedtext3204350970__highlighted-match\"}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {\"wds-color-yellow-200\":\"--wds-color-yellow-200\",\"wds-color-yellow-400\":\"--wds-color-yellow-400\",\"wsr-color-Y20\":\"--wsr-color-Y20\",\"wsr-color-Y40\":\"--wsr-color-Y40\"}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,2BAA2B;AAC7C,IAAIC,OAAO,GAAGH,cAAc,CAACI,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAEpD,OAAO,IAAIG,SAAS,GAAGJ,aAAa,CAACG,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAC5D,OAAO,IAAII,KAA6C,GAAGH,OAAO;AAClE,OAAO,IAAII,EAA0C,GAAGJ,OAAO;AAE/D,OAAO,IAAIK,SAAS,GAAGN,WAAW;AAClC,OAAO,IAAIO,OAAO,GAAG;EAAC,MAAM,EAAC,iCAAiC;EAAC,WAAW,EAAC;AAAsC,CAAC;AAClH,OAAO,IAAIC,SAAS,GAAG;EAAC,aAAa,EAAC,wCAAwC;EAAC,mBAAmB,EAAC;AAA8C,CAAC;AAClJ,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,IAAI,GAAG;EAAC,sBAAsB,EAAC,wBAAwB;EAAC,sBAAsB,EAAC,wBAAwB;EAAC,eAAe,EAAC,iBAAiB;EAAC,eAAe,EAAC;AAAiB,CAAC","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../../src/cms-fields/components/highlighted-text/index.ts"],"sourcesContent":["export * from './highlighted-text';\n"],"mappings":"AAAA,cAAc,oBAAoB","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["../../../../src/cms-fields/components/index.ts"],"sourcesContent":["export * from './address';\nexport * from './common';\nexport * from './exclamation';\nexport * from './time-input';\nexport * from './time-view';\nexport * from './object';\nexport * from './media-gallery';\nexport * from './rich-content';\nexport * from './rich-text';\nexport * from './text';\nexport * from './document';\nexport * from './multi-document';\nexport * from './delete-dialog';\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,gBAAgB;AAC9B,cAAc,aAAa;AAC3B,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,kBAAkB;AAChC,cAAc,iBAAiB","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["../../../../src/cms-fields/components/index.ts"],"sourcesContent":["export * from './address';\nexport * from './audio';\nexport * from './common';\nexport * from './exclamation';\nexport * from './time-input';\nexport * from './time-view';\nexport * from './object';\nexport * from './media-gallery';\nexport * from './rich-content';\nexport * from './rich-text';\nexport * from './text';\nexport * from './document';\nexport * from './multi-document';\nexport * from './delete-dialog';\n"],"mappings":"AAAA,cAAc,WAAW;AACzB,cAAc,SAAS;AACvB,cAAc,UAAU;AACxB,cAAc,eAAe;AAC7B,cAAc,cAAc;AAC5B,cAAc,aAAa;AAC3B,cAAc,UAAU;AACxB,cAAc,iBAAiB;AAC/B,cAAc,gBAAgB;AAC9B,cAAc,aAAa;AAC3B,cAAc,QAAQ;AACtB,cAAc,YAAY;AAC1B,cAAc,kBAAkB;AAChC,cAAc,iBAAiB","ignoreList":[]}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
|
|
3
3
|
import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js";
|
|
4
|
-
var _namespace_ = "
|
|
4
|
+
var _namespace_ = "pasteurlbutton540096597";
|
|
5
5
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
7
7
|
export var style = _style_;
|
|
8
8
|
export var st = _style_;
|
|
9
9
|
export var namespace = _namespace_;
|
|
10
10
|
export var classes = {
|
|
11
|
-
"root": "
|
|
12
|
-
"iconButtonTooltip": "
|
|
13
|
-
"iconButton": "
|
|
11
|
+
"root": "pasteurlbutton540096597__root",
|
|
12
|
+
"iconButtonTooltip": "pasteurlbutton540096597__iconButtonTooltip",
|
|
13
|
+
"iconButton": "pasteurlbutton540096597__iconButton"
|
|
14
14
|
};
|
|
15
15
|
export var keyframes = {};
|
|
16
16
|
export var layers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/media-control/paste-url-button.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"
|
|
1
|
+
{"version":3,"names":["classesRuntime","statesRuntime","_namespace_","_style_","bind","cssStates","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../../src/cms-fields/components/media-control/paste-url-button.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"pasteurlbutton540096597\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"pasteurlbutton540096597__root\",\"iconButtonTooltip\":\"pasteurlbutton540096597__iconButtonTooltip\",\"iconButton\":\"pasteurlbutton540096597__iconButton\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":"AAAA;;AAGA,SAASA,cAAc,EAAEC,aAAa,QAAQ,kCAAkC;AAIhF,IAAIC,WAAW,GAAG,yBAAyB;AAC3C,IAAIC,OAAO,GAAGH,cAAc,CAACI,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAEpD,OAAO,IAAIG,SAAS,GAAGJ,aAAa,CAACG,IAAI,CAAC,IAAI,EAAEF,WAAW,CAAC;AAC5D,OAAO,IAAII,KAA6C,GAAGH,OAAO;AAClE,OAAO,IAAII,EAA0C,GAAGJ,OAAO;AAE/D,OAAO,IAAIK,SAAS,GAAGN,WAAW;AAClC,OAAO,IAAIO,OAAO,GAAG;EAAC,MAAM,EAAC,+BAA+B;EAAC,mBAAmB,EAAC,4CAA4C;EAAC,YAAY,EAAC;AAAqC,CAAC;AACjL,OAAO,IAAIC,SAAS,GAAG,CAAC,CAAC;AACzB,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,UAAU,GAAG,CAAC,CAAC;AAC1B,OAAO,IAAIC,MAAM,GAAG,CAAC,CAAC;AACtB,OAAO,IAAIC,IAAI,GAAG,CAAC,CAAC","ignoreList":[]}
|
|
@@ -1,31 +1,60 @@
|
|
|
1
1
|
import { useRef, useState, useEffect, useCallback } from 'react';
|
|
2
2
|
import { dashboard } from '@wix/dashboard';
|
|
3
|
+
import { files } from '@wix/media';
|
|
4
|
+
import { executeDownloading } from '../../utils/media-utils';
|
|
5
|
+
import { getMediaURL } from '@wix/auto-cms-field-types';
|
|
3
6
|
const MEDIA_TYPE_TO_CATEGORY = {
|
|
4
7
|
IMAGE: 'IMAGE',
|
|
5
8
|
VIDEO: 'VIDEO',
|
|
6
|
-
|
|
9
|
+
MUSIC: 'MUSIC',
|
|
10
|
+
// MEDIA_TYPES.AUDIO = 'MUSIC'
|
|
7
11
|
DOCUMENT: 'DOCUMENT',
|
|
8
12
|
ALL_MEDIA: undefined
|
|
9
13
|
};
|
|
10
14
|
|
|
15
|
+
/**
|
|
16
|
+
* Extracts a playable URL from media.audio, which may be:
|
|
17
|
+
* - a string (wix:audio:// URI or direct URL)
|
|
18
|
+
* - an object with { audio: string } (nested URI)
|
|
19
|
+
* - an object with { assets: [{ url }] } or { assets: [string] }
|
|
20
|
+
*/
|
|
21
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
22
|
+
const extractAudioUrl = audio => {
|
|
23
|
+
if (audio) {
|
|
24
|
+
var _audio$assets;
|
|
25
|
+
if (typeof audio === 'string') {
|
|
26
|
+
return audio;
|
|
27
|
+
}
|
|
28
|
+
if (typeof audio.audio === 'string') {
|
|
29
|
+
return audio.audio;
|
|
30
|
+
}
|
|
31
|
+
const firstAsset = (_audio$assets = audio.assets) == null ? void 0 : _audio$assets[0];
|
|
32
|
+
if (typeof firstAsset === 'string') {
|
|
33
|
+
return firstAsset;
|
|
34
|
+
}
|
|
35
|
+
if (typeof (firstAsset == null ? void 0 : firstAsset.url) === 'string') {
|
|
36
|
+
return firstAsset.url;
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return undefined;
|
|
40
|
+
};
|
|
41
|
+
|
|
11
42
|
/**
|
|
12
43
|
* Extracts the Wix media URI from media manager result.
|
|
13
44
|
* Media manager returns different structures for different media types.
|
|
14
45
|
*/
|
|
15
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
16
46
|
const extractMediaUri = mediaItem => {
|
|
17
|
-
var _media$image, _media$video, _media$audio, _media$document;
|
|
18
47
|
const {
|
|
19
48
|
media
|
|
20
49
|
} = mediaItem || {};
|
|
21
|
-
if (
|
|
22
|
-
|
|
50
|
+
if (media) {
|
|
51
|
+
var _media$image, _media$video, _media$document;
|
|
52
|
+
return (
|
|
53
|
+
// Try each media type: the URI is nested under media.[type].[type], fallback for direct string values
|
|
54
|
+
((_media$image = media.image) == null ? void 0 : _media$image.image) || typeof media.image === 'string' && media.image || ((_media$video = media.video) == null ? void 0 : _media$video.video) || typeof media.video === 'string' && media.video || ((_media$document = media.document) == null ? void 0 : _media$document.document) || typeof media.document === 'string' && media.document || extractAudioUrl(media.audio) || ''
|
|
55
|
+
);
|
|
23
56
|
}
|
|
24
|
-
|
|
25
|
-
// Try each media type - the URI is nested under media.[type].[type]
|
|
26
|
-
return ((_media$image = media.image) == null ? void 0 : _media$image.image) || ((_media$video = media.video) == null ? void 0 : _media$video.video) || ((_media$audio = media.audio) == null ? void 0 : _media$audio.audio) || ((_media$document = media.document) == null ? void 0 : _media$document.document) || (
|
|
27
|
-
// Fallback for direct string values
|
|
28
|
-
typeof media.image === 'string' ? media.image : '') || (typeof media.video === 'string' ? media.video : '') || (typeof media.audio === 'string' ? media.audio : '') || (typeof media.document === 'string' ? media.document : '');
|
|
57
|
+
return '';
|
|
29
58
|
};
|
|
30
59
|
export function useMediaControl(_ref) {
|
|
31
60
|
let {
|
|
@@ -71,7 +100,6 @@ export function useMediaControl(_ref) {
|
|
|
71
100
|
onFocus == null || onFocus();
|
|
72
101
|
setLoading(true);
|
|
73
102
|
try {
|
|
74
|
-
var _mediaManagerData$ite;
|
|
75
103
|
const category = MEDIA_TYPE_TO_CATEGORY[mediaType];
|
|
76
104
|
const mediaManagerData = await dashboard.openMediaManager({
|
|
77
105
|
multiSelect: Boolean(multiSelect),
|
|
@@ -83,11 +111,14 @@ export function useMediaControl(_ref) {
|
|
|
83
111
|
setLoading(false);
|
|
84
112
|
setActive();
|
|
85
113
|
mediaRequested.current = false;
|
|
86
|
-
|
|
114
|
+
|
|
115
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
116
|
+
const items = (mediaManagerData == null ? void 0 : mediaManagerData.items) || (mediaManagerData == null ? void 0 : mediaManagerData.files);
|
|
117
|
+
if (!(items != null && items.length)) {
|
|
87
118
|
return;
|
|
88
119
|
}
|
|
89
120
|
if (params.multiSelect) {
|
|
90
|
-
const newURIs =
|
|
121
|
+
const newURIs = items.map(extractMediaUri);
|
|
91
122
|
if (!newURIs.length) {
|
|
92
123
|
throw new Error(`Media Control Error: Media Manager returns not-covered Multi-Document data.`);
|
|
93
124
|
}
|
|
@@ -99,7 +130,7 @@ export function useMediaControl(_ref) {
|
|
|
99
130
|
params.onChange([...(value ?? []), ...newURIs]);
|
|
100
131
|
}
|
|
101
132
|
} else {
|
|
102
|
-
params.onChange(extractMediaUri(
|
|
133
|
+
params.onChange(extractMediaUri(items[0]));
|
|
103
134
|
}
|
|
104
135
|
} catch (e) {
|
|
105
136
|
setLoading(false);
|
|
@@ -107,10 +138,24 @@ export function useMediaControl(_ref) {
|
|
|
107
138
|
console.error(`Media Control Error:`, e);
|
|
108
139
|
}
|
|
109
140
|
}, [mediaType, multiSelect, onBlur, onFocus, params, readOnly, setActive, value]);
|
|
110
|
-
const downloadMedia =
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
141
|
+
const downloadMedia = useCallback(async mediaUri => {
|
|
142
|
+
if (!mediaUri) {
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
try {
|
|
146
|
+
var _result$downloadUrls;
|
|
147
|
+
const result = await files.generateFileDownloadUrl(mediaUri);
|
|
148
|
+
const downloadUrl = (_result$downloadUrls = result.downloadUrls) == null || (_result$downloadUrls = _result$downloadUrls[0]) == null ? void 0 : _result$downloadUrls.url;
|
|
149
|
+
if (!downloadUrl) {
|
|
150
|
+
throw new Error('No download URL returned');
|
|
151
|
+
}
|
|
152
|
+
return executeDownloading(downloadUrl);
|
|
153
|
+
} catch (error) {
|
|
154
|
+
// Fallback: open the static URL in a new tab
|
|
155
|
+
console.error('Media download error, falling back to static URL:', error);
|
|
156
|
+
return executeDownloading(getMediaURL(mediaUri));
|
|
157
|
+
}
|
|
158
|
+
}, []);
|
|
114
159
|
return {
|
|
115
160
|
loading,
|
|
116
161
|
callMedia,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["useRef","useState","useEffect","useCallback","dashboard","MEDIA_TYPE_TO_CATEGORY","IMAGE","VIDEO","AUDIO","DOCUMENT","ALL_MEDIA","undefined","extractMediaUri","mediaItem","_media$image","_media$video","_media$audio","_media$document","media","image","video","audio","document","useMediaControl","_ref","mediaType","readOnly","autoFocus","initialLoading","inputRef","viewRef","onFocus","onBlur","params","value","multiSelect","loading","setLoading","Boolean","mediaRequested","setActive","_viewRef$current","_inputRef$current","current","focus","_inputRef$current2","onMediaLoad","callMedia","index","onChange","_mediaManagerData$ite","category","mediaManagerData","openMediaManager","items","length","newURIs","map","Error","newValue","splice","e","console","error","downloadMedia","valueToDownload"],"sources":["../../../../../src/cms-fields/components/media-control/use-media-control.ts"],"sourcesContent":["import { useRef, useState, useEffect, useCallback } from 'react';\nimport { dashboard } from '@wix/dashboard';\n\nimport type { MEDIA_TYPES } from '../../utils/media-utils';\n\ntype Focusable = { focus: () => void };\ntype FocusableRef =\n | React.RefObject<Focusable | undefined>\n | React.MutableRefObject<Focusable | undefined>;\n\ninterface UseMediaControlBaseParams {\n mediaType: MEDIA_TYPES;\n autoFocus?: boolean;\n onFocus?: () => void;\n onBlur?: () => void;\n readOnly?: boolean;\n initialLoading?: boolean;\n inputRef?: FocusableRef;\n viewRef?: FocusableRef;\n}\n\ninterface UseSingleMediaControlParams extends UseMediaControlBaseParams {\n value?: string;\n onChange?: (value: string) => void;\n multiSelect?: false;\n}\n\ninterface UseMultiMediaControlParams extends UseMediaControlBaseParams {\n value?: string[];\n onChange?: (value: string[]) => void;\n multiSelect: true;\n}\n\nexport type UseMediaControlParams =\n | UseSingleMediaControlParams\n | UseMultiMediaControlParams;\n\ninterface UseMediaControlBaseReturnType {\n loading: boolean;\n onMediaLoad: () => void;\n}\n\ninterface UseSingleMediaControlReturnType\n extends UseMediaControlBaseReturnType {\n callMedia(): Promise<void>;\n}\n\ninterface UseMultiMediaControlReturnType extends UseMediaControlBaseReturnType {\n callMedia(index?: number): Promise<void>;\n downloadMedia(): void;\n}\n\nexport type UseMediaControlReturnType =\n | UseSingleMediaControlReturnType\n | UseMultiMediaControlReturnType;\n\nconst MEDIA_TYPE_TO_CATEGORY: Record<string, string | undefined> = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n AUDIO: 'MUSIC',\n DOCUMENT: 'DOCUMENT',\n ALL_MEDIA: undefined,\n};\n\n/**\n * Extracts the Wix media URI from media manager result.\n * Media manager returns different structures for different media types.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst extractMediaUri = (mediaItem: any): string => {\n const { media } = mediaItem || {};\n if (!media) {\n return '';\n }\n\n // Try each media type - the URI is nested under media.[type].[type]\n return (\n media.image?.image ||\n media.video?.video ||\n media.audio?.audio ||\n media.document?.document ||\n // Fallback for direct string values\n (typeof media.image === 'string' ? media.image : '') ||\n (typeof media.video === 'string' ? media.video : '') ||\n (typeof media.audio === 'string' ? media.audio : '') ||\n (typeof media.document === 'string' ? media.document : '')\n );\n};\n\nexport function useMediaControl(\n params: UseSingleMediaControlParams,\n): UseSingleMediaControlReturnType;\n\nexport function useMediaControl(\n params: UseMultiMediaControlParams,\n): UseMultiMediaControlReturnType;\n\nexport function useMediaControl({\n mediaType,\n readOnly,\n autoFocus,\n initialLoading,\n inputRef,\n viewRef,\n onFocus,\n onBlur,\n ...params\n}: UseMediaControlParams): UseMediaControlReturnType {\n const { value, multiSelect } = params;\n\n const [loading, setLoading] = useState(Boolean(initialLoading && value));\n const mediaRequested = useRef(false);\n\n const setActive = useCallback(() => {\n if (!autoFocus) {\n return;\n }\n\n if (value) {\n viewRef && viewRef?.current?.focus();\n !viewRef && inputRef?.current?.focus();\n } else {\n inputRef?.current?.focus();\n }\n }, [autoFocus, value, inputRef, viewRef]);\n\n useEffect(() => setActive(), [setActive]);\n\n const onMediaLoad = useCallback(() => setLoading(false), []);\n\n const callMedia = useCallback(\n async (index?: number) => {\n if (mediaRequested.current || readOnly) {\n return;\n }\n\n if (!params.onChange) {\n return;\n }\n\n mediaRequested.current = true;\n\n onFocus?.();\n setLoading(true);\n\n try {\n const category = MEDIA_TYPE_TO_CATEGORY[mediaType];\n const mediaManagerData = await dashboard.openMediaManager({\n multiSelect: Boolean(multiSelect),\n ...(category && { category }),\n });\n\n onBlur?.();\n setLoading(false);\n\n setActive();\n\n mediaRequested.current = false;\n\n if (!mediaManagerData?.items?.length) {\n return;\n }\n\n if (params.multiSelect) {\n const newURIs = mediaManagerData.items.map(extractMediaUri);\n\n if (!newURIs.length) {\n throw new Error(\n `Media Control Error: Media Manager returns not-covered Multi-Document data.`,\n );\n }\n\n if (typeof index === 'number') {\n const newValue = value ? [...value] : [];\n newValue.splice(index, 1, ...newURIs);\n params.onChange(newValue);\n } else {\n params.onChange([...((value as string[]) ?? []), ...newURIs]);\n }\n } else {\n params.onChange(extractMediaUri(mediaManagerData.items[0]));\n }\n } catch (e) {\n setLoading(false);\n mediaRequested.current = false;\n console.error(`Media Control Error:`, e);\n }\n },\n [\n mediaType,\n multiSelect,\n onBlur,\n onFocus,\n params,\n readOnly,\n setActive,\n value,\n ],\n );\n\n const downloadMedia = (valueToDownload?: string) => {\n // TODO: Implement download media\n return valueToDownload;\n };\n\n return {\n loading,\n callMedia,\n downloadMedia,\n onMediaLoad,\n };\n}\n"],"mappings":"AAAA,SAASA,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,WAAW,QAAQ,OAAO;AAChE,SAASC,SAAS,QAAQ,gBAAgB;AAuD1C,MAAMC,sBAA0D,GAAG;EACjEC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,KAAK,EAAE,OAAO;EACdC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAEC;AACb,CAAC;;AAED;AACA;AACA;AACA;AACA;AACA,MAAMC,eAAe,GAAIC,SAAc,IAAa;EAAA,IAAAC,YAAA,EAAAC,YAAA,EAAAC,YAAA,EAAAC,eAAA;EAClD,MAAM;IAAEC;EAAM,CAAC,GAAGL,SAAS,IAAI,CAAC,CAAC;EACjC,IAAI,CAACK,KAAK,EAAE;IACV,OAAO,EAAE;EACX;;EAEA;EACA,OACE,EAAAJ,YAAA,GAAAI,KAAK,CAACC,KAAK,qBAAXL,YAAA,CAAaK,KAAK,OAAAJ,YAAA,GAClBG,KAAK,CAACE,KAAK,qBAAXL,YAAA,CAAaK,KAAK,OAAAJ,YAAA,GAClBE,KAAK,CAACG,KAAK,qBAAXL,YAAA,CAAaK,KAAK,OAAAJ,eAAA,GAClBC,KAAK,CAACI,QAAQ,qBAAdL,eAAA,CAAgBK,QAAQ;EACxB;EACC,OAAOJ,KAAK,CAACC,KAAK,KAAK,QAAQ,GAAGD,KAAK,CAACC,KAAK,GAAG,EAAE,CAAC,KACnD,OAAOD,KAAK,CAACE,KAAK,KAAK,QAAQ,GAAGF,KAAK,CAACE,KAAK,GAAG,EAAE,CAAC,KACnD,OAAOF,KAAK,CAACG,KAAK,KAAK,QAAQ,GAAGH,KAAK,CAACG,KAAK,GAAG,EAAE,CAAC,KACnD,OAAOH,KAAK,CAACI,QAAQ,KAAK,QAAQ,GAAGJ,KAAK,CAACI,QAAQ,GAAG,EAAE,CAAC;AAE9D,CAAC;AAUD,OAAO,SAASC,eAAeA,CAAAC,IAAA,EAUsB;EAAA,IAVrB;IAC9BC,SAAS;IACTC,QAAQ;IACRC,SAAS;IACTC,cAAc;IACdC,QAAQ;IACRC,OAAO;IACPC,OAAO;IACPC,MAAM;IACN,GAAGC;EACkB,CAAC,GAAAT,IAAA;EACtB,MAAM;IAAEU,KAAK;IAAEC;EAAY,CAAC,GAAGF,MAAM;EAErC,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAGpC,QAAQ,CAACqC,OAAO,CAACV,cAAc,IAAIM,KAAK,CAAC,CAAC;EACxE,MAAMK,cAAc,GAAGvC,MAAM,CAAC,KAAK,CAAC;EAEpC,MAAMwC,SAAS,GAAGrC,WAAW,CAAC,MAAM;IAClC,IAAI,CAACwB,SAAS,EAAE;MACd;IACF;IAEA,IAAIO,KAAK,EAAE;MAAA,IAAAO,gBAAA,EAAAC,iBAAA;MACTZ,OAAO,KAAIA,OAAO,aAAAW,gBAAA,GAAPX,OAAO,CAAEa,OAAO,qBAAhBF,gBAAA,CAAkBG,KAAK,CAAC,CAAC;MACpC,CAACd,OAAO,KAAID,QAAQ,aAAAa,iBAAA,GAARb,QAAQ,CAAEc,OAAO,qBAAjBD,iBAAA,CAAmBE,KAAK,CAAC,CAAC;IACxC,CAAC,MAAM;MAAA,IAAAC,kBAAA;MACLhB,QAAQ,aAAAgB,kBAAA,GAARhB,QAAQ,CAAEc,OAAO,aAAjBE,kBAAA,CAAmBD,KAAK,CAAC,CAAC;IAC5B;EACF,CAAC,EAAE,CAACjB,SAAS,EAAEO,KAAK,EAAEL,QAAQ,EAAEC,OAAO,CAAC,CAAC;EAEzC5B,SAAS,CAAC,MAAMsC,SAAS,CAAC,CAAC,EAAE,CAACA,SAAS,CAAC,CAAC;EAEzC,MAAMM,WAAW,GAAG3C,WAAW,CAAC,MAAMkC,UAAU,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;EAE5D,MAAMU,SAAS,GAAG5C,WAAW,CAC3B,MAAO6C,KAAc,IAAK;IACxB,IAAIT,cAAc,CAACI,OAAO,IAAIjB,QAAQ,EAAE;MACtC;IACF;IAEA,IAAI,CAACO,MAAM,CAACgB,QAAQ,EAAE;MACpB;IACF;IAEAV,cAAc,CAACI,OAAO,GAAG,IAAI;IAE7BZ,OAAO,YAAPA,OAAO,CAAG,CAAC;IACXM,UAAU,CAAC,IAAI,CAAC;IAEhB,IAAI;MAAA,IAAAa,qBAAA;MACF,MAAMC,QAAQ,GAAG9C,sBAAsB,CAACoB,SAAS,CAAC;MAClD,MAAM2B,gBAAgB,GAAG,MAAMhD,SAAS,CAACiD,gBAAgB,CAAC;QACxDlB,WAAW,EAAEG,OAAO,CAACH,WAAW,CAAC;QACjC,IAAIgB,QAAQ,IAAI;UAAEA;QAAS,CAAC;MAC9B,CAAC,CAAC;MAEFnB,MAAM,YAANA,MAAM,CAAG,CAAC;MACVK,UAAU,CAAC,KAAK,CAAC;MAEjBG,SAAS,CAAC,CAAC;MAEXD,cAAc,CAACI,OAAO,GAAG,KAAK;MAE9B,IAAI,EAACS,gBAAgB,aAAAF,qBAAA,GAAhBE,gBAAgB,CAAEE,KAAK,aAAvBJ,qBAAA,CAAyBK,MAAM,GAAE;QACpC;MACF;MAEA,IAAItB,MAAM,CAACE,WAAW,EAAE;QACtB,MAAMqB,OAAO,GAAGJ,gBAAgB,CAACE,KAAK,CAACG,GAAG,CAAC7C,eAAe,CAAC;QAE3D,IAAI,CAAC4C,OAAO,CAACD,MAAM,EAAE;UACnB,MAAM,IAAIG,KAAK,CACb,6EACF,CAAC;QACH;QAEA,IAAI,OAAOV,KAAK,KAAK,QAAQ,EAAE;UAC7B,MAAMW,QAAQ,GAAGzB,KAAK,GAAG,CAAC,GAAGA,KAAK,CAAC,GAAG,EAAE;UACxCyB,QAAQ,CAACC,MAAM,CAACZ,KAAK,EAAE,CAAC,EAAE,GAAGQ,OAAO,CAAC;UACrCvB,MAAM,CAACgB,QAAQ,CAACU,QAAQ,CAAC;QAC3B,CAAC,MAAM;UACL1B,MAAM,CAACgB,QAAQ,CAAC,CAAC,IAAKf,KAAK,IAAiB,EAAE,CAAC,EAAE,GAAGsB,OAAO,CAAC,CAAC;QAC/D;MACF,CAAC,MAAM;QACLvB,MAAM,CAACgB,QAAQ,CAACrC,eAAe,CAACwC,gBAAgB,CAACE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;MAC7D;IACF,CAAC,CAAC,OAAOO,CAAC,EAAE;MACVxB,UAAU,CAAC,KAAK,CAAC;MACjBE,cAAc,CAACI,OAAO,GAAG,KAAK;MAC9BmB,OAAO,CAACC,KAAK,CAAC,sBAAsB,EAAEF,CAAC,CAAC;IAC1C;EACF,CAAC,EACD,CACEpC,SAAS,EACTU,WAAW,EACXH,MAAM,EACND,OAAO,EACPE,MAAM,EACNP,QAAQ,EACRc,SAAS,EACTN,KAAK,CAET,CAAC;EAED,MAAM8B,aAAa,GAAIC,eAAwB,IAAK;IAClD;IACA,OAAOA,eAAe;EACxB,CAAC;EAED,OAAO;IACL7B,OAAO;IACPW,SAAS;IACTiB,aAAa;IACblB;EACF,CAAC;AACH","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["useRef","useState","useEffect","useCallback","dashboard","files","executeDownloading","getMediaURL","MEDIA_TYPE_TO_CATEGORY","IMAGE","VIDEO","MUSIC","DOCUMENT","ALL_MEDIA","undefined","extractAudioUrl","audio","_audio$assets","firstAsset","assets","url","extractMediaUri","mediaItem","media","_media$image","_media$video","_media$document","image","video","document","useMediaControl","_ref","mediaType","readOnly","autoFocus","initialLoading","inputRef","viewRef","onFocus","onBlur","params","value","multiSelect","loading","setLoading","Boolean","mediaRequested","setActive","_viewRef$current","_inputRef$current","current","focus","_inputRef$current2","onMediaLoad","callMedia","index","onChange","category","mediaManagerData","openMediaManager","items","length","newURIs","map","Error","newValue","splice","e","console","error","downloadMedia","mediaUri","_result$downloadUrls","result","generateFileDownloadUrl","downloadUrl","downloadUrls"],"sources":["../../../../../src/cms-fields/components/media-control/use-media-control.ts"],"sourcesContent":["import { useRef, useState, useEffect, useCallback } from 'react';\nimport { dashboard } from '@wix/dashboard';\nimport { files } from '@wix/media';\n\nimport type { MEDIA_TYPES } from '../../utils/media-utils';\nimport { executeDownloading } from '../../utils/media-utils';\nimport { getMediaURL } from '@wix/auto-cms-field-types';\n\ntype Focusable = { focus: () => void };\ntype FocusableRef =\n | React.RefObject<Focusable | undefined>\n | React.MutableRefObject<Focusable | undefined>;\n\ninterface UseMediaControlBaseParams {\n mediaType: MEDIA_TYPES;\n autoFocus?: boolean;\n onFocus?: () => void;\n onBlur?: () => void;\n readOnly?: boolean;\n initialLoading?: boolean;\n inputRef?: FocusableRef;\n viewRef?: FocusableRef;\n}\n\ninterface UseSingleMediaControlParams extends UseMediaControlBaseParams {\n value?: string;\n onChange?: (value: string) => void;\n multiSelect?: false;\n}\n\ninterface UseMultiMediaControlParams extends UseMediaControlBaseParams {\n value?: string[];\n onChange?: (value: string[]) => void;\n multiSelect: true;\n}\n\nexport type UseMediaControlParams =\n | UseSingleMediaControlParams\n | UseMultiMediaControlParams;\n\ninterface UseMediaControlBaseReturnType {\n loading: boolean;\n onMediaLoad: () => void;\n}\n\ninterface UseSingleMediaControlReturnType\n extends UseMediaControlBaseReturnType {\n callMedia(): Promise<void>;\n downloadMedia(mediaUri?: string): Promise<void>;\n}\n\ninterface UseMultiMediaControlReturnType extends UseMediaControlBaseReturnType {\n callMedia(index?: number): Promise<void>;\n downloadMedia(mediaUri?: string): Promise<void>;\n}\n\nexport type UseMediaControlReturnType =\n | UseSingleMediaControlReturnType\n | UseMultiMediaControlReturnType;\n\nconst MEDIA_TYPE_TO_CATEGORY: Record<string, string | undefined> = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n MUSIC: 'MUSIC', // MEDIA_TYPES.AUDIO = 'MUSIC'\n DOCUMENT: 'DOCUMENT',\n ALL_MEDIA: undefined,\n};\n\n/**\n * Extracts a playable URL from media.audio, which may be:\n * - a string (wix:audio:// URI or direct URL)\n * - an object with { audio: string } (nested URI)\n * - an object with { assets: [{ url }] } or { assets: [string] }\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst extractAudioUrl = (audio: any): string | undefined => {\n if (audio) {\n if (typeof audio === 'string') {\n return audio;\n }\n if (typeof audio.audio === 'string') {\n return audio.audio;\n }\n const firstAsset = audio.assets?.[0];\n if (typeof firstAsset === 'string') {\n return firstAsset;\n }\n if (typeof firstAsset?.url === 'string') {\n return firstAsset.url;\n }\n }\n return undefined;\n};\n\n/**\n * Extracts the Wix media URI from media manager result.\n * Media manager returns different structures for different media types.\n */\nconst extractMediaUri = (mediaItem: any): string => {\n const { media } = mediaItem || {};\n if (media) {\n return (\n // Try each media type: the URI is nested under media.[type].[type], fallback for direct string values\n media.image?.image ||\n (typeof media.image === 'string' && media.image) ||\n media.video?.video ||\n (typeof media.video === 'string' && media.video) ||\n media.document?.document ||\n (typeof media.document === 'string' && media.document) ||\n extractAudioUrl(media.audio) ||\n ''\n );\n }\n\n return '';\n};\n\nexport function useMediaControl(\n params: UseSingleMediaControlParams,\n): UseSingleMediaControlReturnType;\n\nexport function useMediaControl(\n params: UseMultiMediaControlParams,\n): UseMultiMediaControlReturnType;\n\nexport function useMediaControl({\n mediaType,\n readOnly,\n autoFocus,\n initialLoading,\n inputRef,\n viewRef,\n onFocus,\n onBlur,\n ...params\n}: UseMediaControlParams): UseMediaControlReturnType {\n const { value, multiSelect } = params;\n\n const [loading, setLoading] = useState(Boolean(initialLoading && value));\n const mediaRequested = useRef(false);\n\n const setActive = useCallback(() => {\n if (!autoFocus) {\n return;\n }\n\n if (value) {\n viewRef && viewRef?.current?.focus();\n !viewRef && inputRef?.current?.focus();\n } else {\n inputRef?.current?.focus();\n }\n }, [autoFocus, value, inputRef, viewRef]);\n\n useEffect(() => setActive(), [setActive]);\n\n const onMediaLoad = useCallback(() => setLoading(false), []);\n\n const callMedia = useCallback(\n async (index?: number) => {\n if (mediaRequested.current || readOnly) {\n return;\n }\n\n if (!params.onChange) {\n return;\n }\n\n mediaRequested.current = true;\n\n onFocus?.();\n setLoading(true);\n\n try {\n const category = MEDIA_TYPE_TO_CATEGORY[mediaType];\n const mediaManagerData = await dashboard.openMediaManager({\n multiSelect: Boolean(multiSelect),\n ...(category && { category }),\n });\n\n onBlur?.();\n setLoading(false);\n\n setActive();\n\n mediaRequested.current = false;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const items =\n mediaManagerData?.items || (mediaManagerData as any)?.files;\n\n if (!items?.length) {\n return;\n }\n\n if (params.multiSelect) {\n const newURIs = items.map(extractMediaUri);\n\n if (!newURIs.length) {\n throw new Error(\n `Media Control Error: Media Manager returns not-covered Multi-Document data.`,\n );\n }\n\n if (typeof index === 'number') {\n const newValue = value ? [...value] : [];\n newValue.splice(index, 1, ...newURIs);\n params.onChange(newValue);\n } else {\n params.onChange([...((value as string[]) ?? []), ...newURIs]);\n }\n } else {\n params.onChange(extractMediaUri(items[0]));\n }\n } catch (e) {\n setLoading(false);\n mediaRequested.current = false;\n console.error(`Media Control Error:`, e);\n }\n },\n [\n mediaType,\n multiSelect,\n onBlur,\n onFocus,\n params,\n readOnly,\n setActive,\n value,\n ],\n );\n\n const downloadMedia = useCallback(async (mediaUri?: string) => {\n if (!mediaUri) {\n return;\n }\n\n try {\n const result = await files.generateFileDownloadUrl(mediaUri);\n const downloadUrl = result.downloadUrls?.[0]?.url;\n if (!downloadUrl) {\n throw new Error('No download URL returned');\n }\n return executeDownloading(downloadUrl);\n } catch (error) {\n // Fallback: open the static URL in a new tab\n console.error('Media download error, falling back to static URL:', error);\n return executeDownloading(getMediaURL(mediaUri));\n }\n }, []);\n\n return {\n loading,\n callMedia,\n downloadMedia,\n onMediaLoad,\n };\n}\n"],"mappings":"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","ignoreList":[]}
|