@wix/patterns-fields 1.116.0 → 1.117.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_ar.json +2 -0
- package/dist/cjs/assets/locale/messages_bg.json +2 -0
- package/dist/cjs/assets/locale/messages_ca.json +2 -0
- package/dist/cjs/assets/locale/messages_cs.json +2 -0
- package/dist/cjs/assets/locale/messages_da.json +2 -0
- package/dist/cjs/assets/locale/messages_de.json +2 -0
- package/dist/cjs/assets/locale/messages_el.json +2 -0
- package/dist/cjs/assets/locale/messages_en.json +2 -0
- package/dist/cjs/assets/locale/messages_es.json +2 -0
- package/dist/cjs/assets/locale/messages_fi.json +2 -0
- package/dist/cjs/assets/locale/messages_fr.json +2 -0
- package/dist/cjs/assets/locale/messages_he.json +2 -0
- package/dist/cjs/assets/locale/messages_hi.json +2 -0
- package/dist/cjs/assets/locale/messages_hu.json +2 -0
- package/dist/cjs/assets/locale/messages_id.json +2 -0
- package/dist/cjs/assets/locale/messages_it.json +2 -0
- package/dist/cjs/assets/locale/messages_ja.json +2 -0
- package/dist/cjs/assets/locale/messages_ko.json +2 -0
- package/dist/cjs/assets/locale/messages_lt.json +2 -0
- package/dist/cjs/assets/locale/messages_ms.json +2 -0
- package/dist/cjs/assets/locale/messages_nl.json +2 -0
- package/dist/cjs/assets/locale/messages_no.json +2 -0
- package/dist/cjs/assets/locale/messages_pl.json +2 -0
- package/dist/cjs/assets/locale/messages_pt.json +2 -0
- package/dist/cjs/assets/locale/messages_ro.json +2 -0
- package/dist/cjs/assets/locale/messages_ru.json +2 -0
- package/dist/cjs/assets/locale/messages_sk.json +2 -0
- package/dist/cjs/assets/locale/messages_sl.json +2 -0
- package/dist/cjs/assets/locale/messages_sv.json +2 -0
- package/dist/cjs/assets/locale/messages_th.json +2 -0
- package/dist/cjs/assets/locale/messages_tl.json +2 -0
- package/dist/cjs/assets/locale/messages_tr.json +2 -0
- package/dist/cjs/assets/locale/messages_uk.json +2 -0
- package/dist/cjs/assets/locale/messages_vi.json +2 -0
- package/dist/cjs/assets/locale/messages_zh.json +2 -0
- package/dist/cjs/assets/locale/version_file +1 -1
- package/dist/cjs/components/address/input/address-input.st.css.js +3 -3
- package/dist/cjs/components/address/input/address-input.st.css.js.map +1 -1
- package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
- package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
- package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js +4 -4
- package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
- package/dist/cjs/components/audio/audio-player/audio-player.st.css.js +2 -2
- package/dist/cjs/components/audio/audio-player/audio-player.st.css.js.map +1 -1
- package/dist/cjs/components/audio/cell-audio-edit.js +10 -11
- package/dist/cjs/components/audio/cell-audio-edit.js.map +1 -1
- package/dist/cjs/components/color-view/cell-color-view.st.css.js +3 -3
- package/dist/cjs/components/color-view/cell-color-view.st.css.js.map +1 -1
- package/dist/cjs/components/color-view/color-view.st.css.js +4 -4
- package/dist/cjs/components/color-view/color-view.st.css.js.map +1 -1
- package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js +3 -3
- package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
- package/dist/cjs/components/document/cell-document-edit.js +25 -26
- package/dist/cjs/components/document/cell-document-edit.js.map +1 -1
- package/dist/cjs/components/document/form-document-field.st.css.js +7 -7
- package/dist/cjs/components/document/form-document-field.st.css.js.map +1 -1
- package/dist/cjs/components/exclamation/exclamation.st.css.js +5 -5
- package/dist/cjs/components/exclamation/exclamation.st.css.js.map +1 -1
- package/dist/cjs/components/field-validation-settings/field-validation-settings-input.st.css.js +3 -3
- package/dist/cjs/components/field-validation-settings/field-validation-settings-input.st.css.js.map +1 -1
- package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js +5 -5
- package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
- package/dist/cjs/components/image/cell-image-edit.js +22 -23
- package/dist/cjs/components/image/cell-image-edit.js.map +1 -1
- package/dist/cjs/components/image/image-preview-popover.js +77 -0
- package/dist/cjs/components/image/image-preview-popover.js.map +1 -0
- package/dist/cjs/components/image/image-thumbnail.js +14 -12
- package/dist/cjs/components/image/image-thumbnail.js.map +1 -1
- package/dist/cjs/components/image/image-view.js +9 -57
- package/dist/cjs/components/image/image-view.js.map +1 -1
- package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js +3 -3
- package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js.map +1 -1
- package/dist/cjs/components/index.js +6 -0
- package/dist/cjs/components/index.js.map +1 -1
- package/dist/cjs/components/media-control/cell-media-edit-shell.js +19 -31
- package/dist/cjs/components/media-control/cell-media-edit-shell.js.map +1 -1
- package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js +2 -2
- package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js.map +1 -1
- package/dist/cjs/components/media-control/paste-url-button.st.css.js +4 -4
- package/dist/cjs/components/media-control/paste-url-button.st.css.js.map +1 -1
- package/dist/cjs/components/media-control/use-cell-media-edit.js +51 -23
- package/dist/cjs/components/media-control/use-cell-media-edit.js.map +1 -1
- package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
- package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
- package/dist/cjs/components/media-image/media-image.st.css.js +4 -4
- package/dist/cjs/components/media-image/media-image.st.css.js.map +1 -1
- package/dist/cjs/components/media-image/overlays/overlay.st.css.js +3 -3
- package/dist/cjs/components/media-image/overlays/overlay.st.css.js.map +1 -1
- package/dist/cjs/components/media-image-field/cell-media-image-edit.js +530 -0
- package/dist/cjs/components/media-image-field/cell-media-image-edit.js.map +1 -0
- package/dist/cjs/components/media-image-field/cell-media-image-edit.st.css +63 -0
- package/dist/cjs/components/media-image-field/cell-media-image-edit.st.css.js +33 -0
- package/dist/cjs/components/media-image-field/cell-media-image-edit.st.css.js.map +1 -0
- package/dist/cjs/components/media-image-field/form-media-image-field.js +180 -0
- package/dist/cjs/components/media-image-field/form-media-image-field.js.map +1 -0
- package/dist/cjs/components/media-image-field/form-media-image-field.uni.driver.js +34 -0
- package/dist/cjs/components/media-image-field/form-media-image-field.uni.driver.js.map +1 -0
- package/dist/cjs/components/media-image-field/form-media-image-input.js +64 -0
- package/dist/cjs/components/media-image-field/form-media-image-input.js.map +1 -0
- package/dist/cjs/components/media-image-field/index.js +28 -0
- package/dist/cjs/components/media-image-field/index.js.map +1 -0
- package/dist/cjs/components/media-image-field/media-image-view.js +114 -0
- package/dist/cjs/components/media-image-field/media-image-view.js.map +1 -0
- package/dist/cjs/components/media-image-field/media-image-view.st.css +16 -0
- package/dist/cjs/components/media-image-field/media-image-view.st.css.js +27 -0
- package/dist/cjs/components/media-image-field/media-image-view.st.css.js.map +1 -0
- package/dist/cjs/components/media-image-field/media-image-view.uni.driver.js +18 -0
- package/dist/cjs/components/media-image-field/media-image-view.uni.driver.js.map +1 -0
- package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
- package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
- package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js +3 -3
- package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
- package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
- package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
- package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js +2 -2
- package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js.map +1 -1
- package/dist/cjs/components/reference/cell-reference-input.st.css.js +3 -3
- package/dist/cjs/components/reference/cell-reference-input.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +4 -4
- package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +3 -3
- package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
- package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +7 -7
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +5 -5
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
- package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
- package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
- package/dist/cjs/components/text/text-view.st.css.js +3 -3
- package/dist/cjs/components/text/text-view.st.css.js.map +1 -1
- package/dist/cjs/services/translations.js.map +1 -1
- package/dist/cjs/styles.global.css +1 -1
- package/dist/cjs/types/index.js +6 -0
- package/dist/cjs/types/index.js.map +1 -1
- package/dist/cjs/types/media-image.js +4 -0
- package/dist/cjs/types/media-image.js.map +1 -0
- package/dist/cjs/utils/index.js +6 -0
- package/dist/cjs/utils/index.js.map +1 -1
- package/dist/cjs/utils/media-image-value.js +95 -0
- package/dist/cjs/utils/media-image-value.js.map +1 -0
- package/dist/esm/assets/locale/messages_ar.json +2 -0
- package/dist/esm/assets/locale/messages_bg.json +2 -0
- package/dist/esm/assets/locale/messages_ca.json +2 -0
- package/dist/esm/assets/locale/messages_cs.json +2 -0
- package/dist/esm/assets/locale/messages_da.json +2 -0
- package/dist/esm/assets/locale/messages_de.json +2 -0
- package/dist/esm/assets/locale/messages_el.json +2 -0
- package/dist/esm/assets/locale/messages_en.json +2 -0
- package/dist/esm/assets/locale/messages_es.json +2 -0
- package/dist/esm/assets/locale/messages_fi.json +2 -0
- package/dist/esm/assets/locale/messages_fr.json +2 -0
- package/dist/esm/assets/locale/messages_he.json +2 -0
- package/dist/esm/assets/locale/messages_hi.json +2 -0
- package/dist/esm/assets/locale/messages_hu.json +2 -0
- package/dist/esm/assets/locale/messages_id.json +2 -0
- package/dist/esm/assets/locale/messages_it.json +2 -0
- package/dist/esm/assets/locale/messages_ja.json +2 -0
- package/dist/esm/assets/locale/messages_ko.json +2 -0
- package/dist/esm/assets/locale/messages_lt.json +2 -0
- package/dist/esm/assets/locale/messages_ms.json +2 -0
- package/dist/esm/assets/locale/messages_nl.json +2 -0
- package/dist/esm/assets/locale/messages_no.json +2 -0
- package/dist/esm/assets/locale/messages_pl.json +2 -0
- package/dist/esm/assets/locale/messages_pt.json +2 -0
- package/dist/esm/assets/locale/messages_ro.json +2 -0
- package/dist/esm/assets/locale/messages_ru.json +2 -0
- package/dist/esm/assets/locale/messages_sk.json +2 -0
- package/dist/esm/assets/locale/messages_sl.json +2 -0
- package/dist/esm/assets/locale/messages_sv.json +2 -0
- package/dist/esm/assets/locale/messages_th.json +2 -0
- package/dist/esm/assets/locale/messages_tl.json +2 -0
- package/dist/esm/assets/locale/messages_tr.json +2 -0
- package/dist/esm/assets/locale/messages_uk.json +2 -0
- package/dist/esm/assets/locale/messages_vi.json +2 -0
- package/dist/esm/assets/locale/messages_zh.json +2 -0
- package/dist/esm/assets/locale/version_file +1 -1
- package/dist/esm/components/address/input/address-input.st.css.js +2 -2
- package/dist/esm/components/address/input/address-input.st.css.js.map +1 -1
- package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
- package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js +2 -2
- package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
- package/dist/esm/components/audio/audio-player/audio-player.st.css.js +2 -2
- package/dist/esm/components/audio/audio-player/audio-player.st.css.js.map +1 -1
- package/dist/esm/components/audio/cell-audio-edit.js +1 -1
- package/dist/esm/components/audio/cell-audio-edit.js.map +1 -1
- package/dist/esm/components/color-view/cell-color-view.st.css.js +2 -2
- package/dist/esm/components/color-view/cell-color-view.st.css.js.map +1 -1
- package/dist/esm/components/color-view/color-view.st.css.js +2 -2
- package/dist/esm/components/delete-dialog/delete-dialog.st.css.js +2 -2
- package/dist/esm/components/document/cell-document-edit.js +1 -1
- package/dist/esm/components/document/cell-document-edit.js.map +1 -1
- package/dist/esm/components/document/form-document-field.st.css.js +2 -2
- package/dist/esm/components/document/form-document-field.st.css.js.map +1 -1
- package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
- package/dist/esm/components/field-validation-settings/field-validation-settings-input.st.css.js +2 -2
- package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
- package/dist/esm/components/image/cell-image-edit.js +1 -1
- package/dist/esm/components/image/cell-image-edit.js.map +1 -1
- package/dist/esm/components/image/image-preview-popover.js +16 -0
- package/dist/esm/components/image/image-preview-popover.js.map +1 -0
- package/dist/esm/components/image/image-thumbnail.js +5 -6
- package/dist/esm/components/image/image-thumbnail.js.map +1 -1
- package/dist/esm/components/image/image-view.js +4 -13
- package/dist/esm/components/image/image-view.js.map +1 -1
- package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js +2 -2
- package/dist/esm/components/index.js +1 -0
- package/dist/esm/components/index.js.map +1 -1
- package/dist/esm/components/media-control/cell-media-edit-shell.js +5 -7
- package/dist/esm/components/media-control/cell-media-edit-shell.js.map +1 -1
- package/dist/esm/components/media-control/cell-media-edit-shell.st.css.js +2 -2
- package/dist/esm/components/media-control/paste-url-button.st.css.js +2 -2
- package/dist/esm/components/media-control/paste-url-button.st.css.js.map +1 -1
- package/dist/esm/components/media-control/use-cell-media-edit.js +48 -30
- package/dist/esm/components/media-control/use-cell-media-edit.js.map +1 -1
- package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js +2 -2
- package/dist/esm/components/media-image/media-image.st.css.js +3 -3
- package/dist/esm/components/media-image/media-image.st.css.js.map +1 -1
- package/dist/esm/components/media-image/overlays/overlay.st.css.js +2 -2
- package/dist/esm/components/media-image/overlays/overlay.st.css.js.map +1 -1
- package/dist/esm/components/media-image-field/cell-media-image-edit.js +159 -0
- package/dist/esm/components/media-image-field/cell-media-image-edit.js.map +1 -0
- package/dist/esm/components/media-image-field/cell-media-image-edit.st.css +63 -0
- package/dist/esm/components/media-image-field/cell-media-image-edit.st.css.js +15 -0
- package/dist/esm/components/media-image-field/cell-media-image-edit.st.css.js.map +1 -0
- package/dist/esm/components/media-image-field/form-media-image-field.js +59 -0
- package/dist/esm/components/media-image-field/form-media-image-field.js.map +1 -0
- package/dist/esm/components/media-image-field/form-media-image-field.uni.driver.js +27 -0
- package/dist/esm/components/media-image-field/form-media-image-field.uni.driver.js.map +1 -0
- package/dist/esm/components/media-image-field/form-media-image-input.js +40 -0
- package/dist/esm/components/media-image-field/form-media-image-input.js.map +1 -0
- package/dist/esm/components/media-image-field/index.js +5 -0
- package/dist/esm/components/media-image-field/index.js.map +1 -0
- package/dist/esm/components/media-image-field/media-image-view.js +34 -0
- package/dist/esm/components/media-image-field/media-image-view.js.map +1 -0
- package/dist/esm/components/media-image-field/media-image-view.st.css +16 -0
- package/dist/esm/components/media-image-field/media-image-view.st.css.js +15 -0
- package/dist/esm/components/media-image-field/media-image-view.st.css.js.map +1 -0
- package/dist/esm/components/media-image-field/media-image-view.uni.driver.js +14 -0
- package/dist/esm/components/media-image-field/media-image-view.uni.driver.js.map +1 -0
- package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
- package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
- package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js +2 -2
- package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
- package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js +2 -2
- package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
- package/dist/esm/components/reference/cell-multi-reference-input.st.css.js +2 -2
- package/dist/esm/components/reference/cell-reference-input.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +2 -2
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +2 -2
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +2 -2
- package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
- package/dist/esm/components/text/text-view.st.css.js +2 -2
- package/dist/esm/styles.global.css +1 -1
- package/dist/esm/types/index.js +1 -0
- package/dist/esm/types/index.js.map +1 -1
- package/dist/esm/types/media-image.js +2 -0
- package/dist/esm/types/media-image.js.map +1 -0
- package/dist/esm/utils/index.js +1 -0
- package/dist/esm/utils/index.js.map +1 -1
- package/dist/esm/utils/media-image-value.js +65 -0
- package/dist/esm/utils/media-image-value.js.map +1 -0
- package/dist/types/components/address/input/address-input.st.css.d.ts.map +1 -1
- package/dist/types/components/audio/audio-field/form-audio-field.st.css.d.ts.map +1 -1
- package/dist/types/components/audio/audio-player/audio-player.st.css.d.ts.map +1 -1
- package/dist/types/components/audio/cell-audio-edit.d.ts.map +1 -1
- package/dist/types/components/color-view/cell-color-view.st.css.d.ts.map +1 -1
- package/dist/types/components/document/cell-document-edit.d.ts.map +1 -1
- package/dist/types/components/document/form-document-field.st.css.d.ts.map +1 -1
- package/dist/types/components/image/cell-image-edit.d.ts.map +1 -1
- package/dist/types/components/image/image-preview-popover.d.ts +10 -0
- package/dist/types/components/image/image-preview-popover.d.ts.map +1 -0
- package/dist/types/components/image/image-thumbnail.d.ts +3 -0
- package/dist/types/components/image/image-thumbnail.d.ts.map +1 -1
- package/dist/types/components/image/image-view.d.ts.map +1 -1
- package/dist/types/components/index.d.ts +1 -0
- package/dist/types/components/index.d.ts.map +1 -1
- package/dist/types/components/media-control/cell-media-edit-shell.d.ts +1 -2
- package/dist/types/components/media-control/cell-media-edit-shell.d.ts.map +1 -1
- package/dist/types/components/media-control/paste-url-button.st.css.d.ts.map +1 -1
- package/dist/types/components/media-control/use-cell-media-edit.d.ts +20 -4
- package/dist/types/components/media-control/use-cell-media-edit.d.ts.map +1 -1
- package/dist/types/components/media-image/media-image.st.css.d.ts.map +1 -1
- package/dist/types/components/media-image/overlays/overlay.st.css.d.ts.map +1 -1
- package/dist/types/components/media-image-field/cell-media-image-edit.d.ts +26 -0
- package/dist/types/components/media-image-field/cell-media-image-edit.d.ts.map +1 -0
- package/dist/types/components/media-image-field/cell-media-image-edit.st.css.d.ts +24 -0
- package/dist/types/components/media-image-field/cell-media-image-edit.st.css.d.ts.map +1 -0
- package/dist/types/components/media-image-field/form-media-image-field.d.ts +32 -0
- package/dist/types/components/media-image-field/form-media-image-field.d.ts.map +1 -0
- package/dist/types/components/media-image-field/form-media-image-field.uni.driver.d.ts +22 -0
- package/dist/types/components/media-image-field/form-media-image-field.uni.driver.d.ts.map +1 -0
- package/dist/types/components/media-image-field/form-media-image-input.d.ts +9 -0
- package/dist/types/components/media-image-field/form-media-image-input.d.ts.map +1 -0
- package/dist/types/components/media-image-field/index.d.ts +5 -0
- package/dist/types/components/media-image-field/index.d.ts.map +1 -0
- package/dist/types/components/media-image-field/media-image-view.d.ts +13 -0
- package/dist/types/components/media-image-field/media-image-view.d.ts.map +1 -0
- package/dist/types/components/media-image-field/media-image-view.st.css.d.ts +18 -0
- package/dist/types/components/media-image-field/media-image-view.st.css.d.ts.map +1 -0
- package/dist/types/components/media-image-field/media-image-view.uni.driver.d.ts +12 -0
- package/dist/types/components/media-image-field/media-image-view.uni.driver.d.ts.map +1 -0
- package/dist/types/components/media-tag/web-media-tag/media-tag.st.css.d.ts.map +1 -1
- package/dist/types/components/multi-document/cell-multi-document-edit.st.css.d.ts.map +1 -1
- package/dist/types/components/multi-document/multi-document-input/form-multi-document.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.d.ts.map +1 -1
- package/dist/types/services/translations.d.ts +1 -1
- package/dist/types/services/translations.d.ts.map +1 -1
- package/dist/types/types/index.d.ts +1 -0
- package/dist/types/types/index.d.ts.map +1 -1
- package/dist/types/types/media-image.d.ts +23 -0
- package/dist/types/types/media-image.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +1 -0
- package/dist/types/utils/index.d.ts.map +1 -1
- package/dist/types/utils/media-image-value.d.ts +31 -0
- package/dist/types/utils/media-image-value.d.ts.map +1 -0
- package/package.json +4 -4
- package/src/__tests__/components/media-image-field/form-media-image-input.spec.tsx +130 -0
- package/src/__tests__/components/media-image-field/media-image-view.spec.tsx +51 -0
- package/src/__tests__/utils/media-image-value.spec.ts +153 -0
- package/src/assets/locale/messages_ar.json +2 -0
- package/src/assets/locale/messages_bg.json +2 -0
- package/src/assets/locale/messages_ca.json +2 -0
- package/src/assets/locale/messages_cs.json +2 -0
- package/src/assets/locale/messages_da.json +2 -0
- package/src/assets/locale/messages_de.json +2 -0
- package/src/assets/locale/messages_el.json +2 -0
- package/src/assets/locale/messages_en.json +2 -0
- package/src/assets/locale/messages_es.json +2 -0
- package/src/assets/locale/messages_fi.json +2 -0
- package/src/assets/locale/messages_fr.json +2 -0
- package/src/assets/locale/messages_he.json +2 -0
- package/src/assets/locale/messages_hi.json +2 -0
- package/src/assets/locale/messages_hu.json +2 -0
- package/src/assets/locale/messages_id.json +2 -0
- package/src/assets/locale/messages_it.json +2 -0
- package/src/assets/locale/messages_ja.json +2 -0
- package/src/assets/locale/messages_ko.json +2 -0
- package/src/assets/locale/messages_lt.json +2 -0
- package/src/assets/locale/messages_ms.json +2 -0
- package/src/assets/locale/messages_nl.json +2 -0
- package/src/assets/locale/messages_no.json +2 -0
- package/src/assets/locale/messages_pl.json +2 -0
- package/src/assets/locale/messages_pt.json +2 -0
- package/src/assets/locale/messages_ro.json +2 -0
- package/src/assets/locale/messages_ru.json +2 -0
- package/src/assets/locale/messages_sk.json +2 -0
- package/src/assets/locale/messages_sl.json +2 -0
- package/src/assets/locale/messages_sv.json +2 -0
- package/src/assets/locale/messages_th.json +2 -0
- package/src/assets/locale/messages_tl.json +2 -0
- package/src/assets/locale/messages_tr.json +2 -0
- package/src/assets/locale/messages_uk.json +2 -0
- package/src/assets/locale/messages_vi.json +2 -0
- package/src/assets/locale/messages_zh.json +2 -0
- package/src/assets/locale/version_file +1 -1
- package/src/components/address/input/address-input.st.css.ts +2 -2
- package/src/components/audio/actions/actions-menu/actions-menu.st.css.ts +2 -2
- package/src/components/audio/audio-field/form-audio-field.st.css.ts +2 -2
- package/src/components/audio/audio-player/audio-player.st.css.ts +2 -2
- package/src/components/audio/cell-audio-edit.tsx +0 -1
- package/src/components/color-view/cell-color-view.st.css.ts +2 -2
- package/src/components/color-view/color-view.st.css.ts +2 -2
- package/src/components/delete-dialog/delete-dialog.st.css.ts +2 -2
- package/src/components/document/cell-document-edit.tsx +0 -1
- package/src/components/document/form-document-field.st.css.ts +2 -2
- package/src/components/exclamation/exclamation.st.css.ts +2 -2
- package/src/components/field-validation-settings/field-validation-settings-input.st.css.ts +2 -2
- package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
- package/src/components/image/cell-image-edit.tsx +0 -1
- package/src/components/image/image-preview-popover.tsx +52 -0
- package/src/components/image/image-thumbnail.tsx +12 -7
- package/src/components/image/image-view.tsx +16 -42
- package/src/components/image/thumbnail-replace-overlay.st.css.ts +2 -2
- package/src/components/index.ts +1 -0
- package/src/components/media-control/cell-media-edit-shell.st.css.ts +2 -2
- package/src/components/media-control/cell-media-edit-shell.tsx +7 -20
- package/src/components/media-control/paste-url-button.st.css.ts +2 -2
- package/src/components/media-control/use-cell-media-edit.ts +98 -28
- package/src/components/media-gallery/form-media-gallery-field.st.css.ts +2 -2
- package/src/components/media-image/media-image.st.css.ts +3 -3
- package/src/components/media-image/overlays/overlay.st.css.ts +2 -2
- package/src/components/media-image-field/cell-media-image-edit.st.css +63 -0
- package/src/components/media-image-field/cell-media-image-edit.st.css.ts +25 -0
- package/src/components/media-image-field/cell-media-image-edit.tsx +402 -0
- package/src/components/media-image-field/form-media-image-field.tsx +165 -0
- package/src/components/media-image-field/form-media-image-field.uni.driver.ts +42 -0
- package/src/components/media-image-field/form-media-image-input.tsx +56 -0
- package/src/components/media-image-field/index.ts +4 -0
- package/src/components/media-image-field/media-image-view.st.css +16 -0
- package/src/components/media-image-field/media-image-view.st.css.ts +25 -0
- package/src/components/media-image-field/media-image-view.tsx +95 -0
- package/src/components/media-image-field/media-image-view.uni.driver.ts +18 -0
- package/src/components/media-tag/web-media-tag/media-tag.st.css.ts +2 -2
- package/src/components/multi-document/cell-multi-document-edit.st.css.ts +2 -2
- package/src/components/multi-document/multi-document-input/form-multi-document.st.css.ts +2 -2
- package/src/components/reference/cell-multi-reference-input.st.css.ts +2 -2
- package/src/components/reference/cell-reference-input.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts +2 -2
- package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts +2 -2
- package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts +2 -2
- package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts +2 -2
- package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts +2 -2
- package/src/components/text/text-view.st.css.ts +2 -2
- package/src/services/translations.ts +2 -0
- package/src/styles.global.css +1 -1
- package/src/types/index.ts +1 -0
- package/src/types/media-image.ts +24 -0
- package/src/utils/index.ts +1 -0
- package/src/utils/media-image-value.ts +99 -0
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "pasteurlbutton531298721";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "pasteurlbutton531298721__root", "iconButtonTooltip": "pasteurlbutton531298721__iconButtonTooltip", "iconButton": "pasteurlbutton531298721__iconButton" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paste-url-button.st.css.js","sourceRoot":"","sources":["../../../../src/components/media-control/paste-url-button.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9E,IAAI,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"paste-url-button.st.css.js","sourceRoot":"","sources":["../../../../src/components/media-control/paste-url-button.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9E,IAAI,WAAW,GAAG,yBAAyB,CAAC;AAC5C,IAAI,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAErD,MAAM,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAI,KAAK,GAA2C,OAAO,CAAC;AACnE,MAAM,CAAC,IAAI,EAAE,GAA2C,OAAO,CAAC;AAEhE,MAAM,CAAC,IAAI,SAAS,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,IAAI,OAAO,GAAG,EAAC,MAAM,EAAC,+BAA+B,EAAC,mBAAmB,EAAC,4CAA4C,EAAC,YAAY,EAAC,qCAAqC,EAAC,CAAC;AAClL,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,CAAC;AAC1B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;AAC3B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,IAAI,GAAG,EAAE,CAAC"}
|
|
@@ -1,42 +1,54 @@
|
|
|
1
1
|
import { useCallback, useRef } from 'react';
|
|
2
2
|
import { useCellEditKeyboard } from '../../hooks';
|
|
3
3
|
import { useMediaControl } from './use-media-control';
|
|
4
|
-
import { useMediaHandlers } from './use-media-handlers';
|
|
5
4
|
import { usePasteURLForm } from './use-paste-url-form';
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
* (image / document / audio / video / …). Each consumer renders its own
|
|
9
|
-
* primary/secondary content; this hook owns the wiring to useMediaControl,
|
|
10
|
-
* usePasteURLForm, useCellEditKeyboard, and the standard onCommit/onCancel
|
|
11
|
-
* dance.
|
|
12
|
-
*/
|
|
13
|
-
export function useCellMediaEdit({ mediaType, value, onChange, onCommit, onCancel, onStartEdit, inputRef, }) {
|
|
5
|
+
const sameUri = (uri) => uri;
|
|
6
|
+
export function useCellMediaEdit({ mediaType, value, onChange, onCommit, onCancel, onStartEdit, inputRef, fromPick = sameUri, fromUrl = sameUri, commitOnPick = true, }) {
|
|
14
7
|
const containerRef = useRef(null);
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
8
|
+
// The media manager and the URL form call back after they close, so they
|
|
9
|
+
// read the value from here rather than from the render that opened them.
|
|
10
|
+
const latestValue = useRef(value);
|
|
11
|
+
latestValue.current = value;
|
|
12
|
+
const applied = useRef(false);
|
|
13
|
+
const apply = useCallback((next) => {
|
|
14
|
+
applied.current = true;
|
|
15
|
+
// The URL form closes right after it saves, before the next render.
|
|
16
|
+
latestValue.current = next;
|
|
17
|
+
onChange(next);
|
|
18
|
+
if (commitOnPick) {
|
|
19
|
+
onCommit();
|
|
20
|
+
}
|
|
21
|
+
}, [onChange, onCommit, commitOnPick]);
|
|
22
|
+
const onPick = useCallback((uri) => {
|
|
23
|
+
const next = fromPick(uri, latestValue.current);
|
|
24
|
+
if (next !== null) {
|
|
25
|
+
apply(next);
|
|
26
|
+
}
|
|
27
|
+
}, [fromPick, apply]);
|
|
28
|
+
const onUrlSave = useCallback((url) => apply(fromUrl(url, latestValue.current)), [fromUrl, apply]);
|
|
19
29
|
const { callMedia, downloadMedia, loading } = useMediaControl({
|
|
20
30
|
mediaType,
|
|
21
|
-
|
|
22
|
-
onChange: onMediaChange,
|
|
23
|
-
});
|
|
24
|
-
const { handleReplace: handleCallMedia, handleDelete } = useMediaHandlers({
|
|
25
|
-
value,
|
|
26
|
-
callMedia,
|
|
27
|
-
downloadMedia,
|
|
28
|
-
onChange,
|
|
29
|
-
onCommit,
|
|
30
|
-
onStartEdit,
|
|
31
|
-
onCancel,
|
|
32
|
-
});
|
|
33
|
-
const { isOpen, title, onOpen, onClose, onSave } = usePasteURLForm({
|
|
34
|
-
onChange: onMediaChange,
|
|
31
|
+
onChange: onPick,
|
|
35
32
|
});
|
|
33
|
+
const handleCallMedia = useCallback(async () => {
|
|
34
|
+
onStartEdit?.();
|
|
35
|
+
applied.current = false;
|
|
36
|
+
await callMedia();
|
|
37
|
+
if (!applied.current && (commitOnPick || latestValue.current === null)) {
|
|
38
|
+
onCancel?.();
|
|
39
|
+
}
|
|
40
|
+
}, [onStartEdit, callMedia, commitOnPick, onCancel]);
|
|
41
|
+
const handleDelete = useCallback(() => {
|
|
42
|
+
onChange(null);
|
|
43
|
+
onCommit();
|
|
44
|
+
}, [onChange, onCommit]);
|
|
45
|
+
const { isOpen, title, value: pasteUrlValue, onOpen, onClose, onSave, } = usePasteURLForm({ onChange: onUrlSave });
|
|
36
46
|
const handleFormClose = useCallback(() => {
|
|
37
47
|
onClose();
|
|
38
|
-
|
|
39
|
-
|
|
48
|
+
if (commitOnPick || latestValue.current === null) {
|
|
49
|
+
onCancel?.();
|
|
50
|
+
}
|
|
51
|
+
}, [onClose, commitOnPick, onCancel]);
|
|
40
52
|
const startEditAndOpenPasteUrl = useCallback((params) => () => {
|
|
41
53
|
onStartEdit?.();
|
|
42
54
|
onOpen(params)();
|
|
@@ -54,7 +66,13 @@ export function useCellMediaEdit({ mediaType, value, onChange, onCommit, onCance
|
|
|
54
66
|
handleCallMedia,
|
|
55
67
|
handleDelete,
|
|
56
68
|
startEditAndOpenPasteUrl,
|
|
57
|
-
pasteUrlForm: {
|
|
69
|
+
pasteUrlForm: {
|
|
70
|
+
isOpen,
|
|
71
|
+
title,
|
|
72
|
+
value: pasteUrlValue,
|
|
73
|
+
onSave,
|
|
74
|
+
handleClose: handleFormClose,
|
|
75
|
+
},
|
|
58
76
|
handleContainerFocus,
|
|
59
77
|
handleContainerBlur,
|
|
60
78
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-cell-media-edit.js","sourceRoot":"","sources":["../../../../src/components/media-control/use-cell-media-edit.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"use-cell-media-edit.js","sourceRoot":"","sources":["../../../../src/components/media-control/use-cell-media-edit.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "formmediagalleryfield903826005";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "formmediagalleryfield903826005__root", "container": "formmediagalleryfield903826005__container", "viewBox": "formmediagalleryfield903826005__viewBox", "addItemWrapper": "formmediagalleryfield903826005__addItemWrapper", "addItem": "formmediagalleryfield903826005__addItem", "overlay": "formmediagalleryfield903826005__overlay", "image": "formmediagalleryfield903826005__image", "previewImage": "formmediagalleryfield903826005__previewImage", "previewVideo": "formmediagalleryfield903826005__previewVideo" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "mediaimage3328930349";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "mediaimage3328930349__root" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
13
13
|
export var stVars = {};
|
|
14
|
-
export var vars = { "wds-color-red-200": "--wds-color-red-200", "wsr-color-R20": "--wsr-color-R20", "wds-color-black-550": "--wds-color-black-550", "wsr-color-D55": "--wsr-color-D55", "from": "--
|
|
14
|
+
export var vars = { "wds-color-red-200": "--wds-color-red-200", "wsr-color-R20": "--wsr-color-R20", "wds-color-black-550": "--wds-color-black-550", "wsr-color-D55": "--wsr-color-D55", "from": "--mediaimage3328930349-from", "to": "--mediaimage3328930349-to" };
|
|
15
15
|
//# sourceMappingURL=media-image.st.css.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-image.st.css.js","sourceRoot":"","sources":["../../../../src/components/media-image/media-image.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9E,IAAI,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"media-image.st.css.js","sourceRoot":"","sources":["../../../../src/components/media-image/media-image.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9E,IAAI,WAAW,GAAG,sBAAsB,CAAC;AACzC,IAAI,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAErD,MAAM,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAI,KAAK,GAA2C,OAAO,CAAC;AACnE,MAAM,CAAC,IAAI,EAAE,GAA2C,OAAO,CAAC;AAEhE,MAAM,CAAC,IAAI,SAAS,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,IAAI,OAAO,GAAG,EAAC,MAAM,EAAC,4BAA4B,EAAC,CAAC;AAC3D,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,CAAC;AAC1B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;AAC3B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,IAAI,GAAG,EAAC,mBAAmB,EAAC,qBAAqB,EAAC,eAAe,EAAC,iBAAiB,EAAC,qBAAqB,EAAC,uBAAuB,EAAC,eAAe,EAAC,iBAAiB,EAAC,MAAM,EAAC,6BAA6B,EAAC,IAAI,EAAC,2BAA2B,EAAC,CAAC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
// @ts-nocheck
|
|
2
2
|
import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js";
|
|
3
|
-
var _namespace_ = "
|
|
3
|
+
var _namespace_ = "overlay3008863944";
|
|
4
4
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
5
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
6
|
export var style = _style_;
|
|
7
7
|
export var st = _style_;
|
|
8
8
|
export var namespace = _namespace_;
|
|
9
|
-
export var classes = { "root": "
|
|
9
|
+
export var classes = { "root": "overlay3008863944__root", "iconOverlay": "overlay3008863944__iconOverlay" };
|
|
10
10
|
export var keyframes = {};
|
|
11
11
|
export var layers = {};
|
|
12
12
|
export var containers = {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overlay.st.css.js","sourceRoot":"","sources":["../../../../../src/components/media-image/overlays/overlay.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAIjF,IAAI,WAAW,GAAG,
|
|
1
|
+
{"version":3,"file":"overlay.st.css.js","sourceRoot":"","sources":["../../../../../src/components/media-image/overlays/overlay.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AAIjF,IAAI,WAAW,GAAG,mBAAmB,CAAC;AACtC,IAAI,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAErD,MAAM,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAI,KAAK,GAA2C,OAAO,CAAC;AACnE,MAAM,CAAC,IAAI,EAAE,GAA2C,OAAO,CAAC;AAEhE,MAAM,CAAC,IAAI,SAAS,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,IAAI,OAAO,GAAG,EAAC,MAAM,EAAC,yBAAyB,EAAC,aAAa,EAAC,gCAAgC,EAAC,CAAC;AACvG,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,CAAC;AAC1B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;AAC3B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAC,YAAY,EAAC,8CAA8C,EAAC,CAAC;AAClF,MAAM,CAAC,IAAI,IAAI,GAAG,EAAC,iBAAiB,EAAC,mBAAmB,EAAC,eAAe,EAAC,iBAAiB,EAAC,CAAC"}
|
|
@@ -0,0 +1,159 @@
|
|
|
1
|
+
import React, { useCallback, useEffect, useState } from 'react';
|
|
2
|
+
import { Box, FormField, IconButton, Input, Popover, PopoverMenu, Tooltip, } from '@wix/design-system';
|
|
3
|
+
import { Add, Delete, Download, Link, LinkSmall, Maximize, MoreSmall, Replace, } from '@wix/wix-ui-icons-common/lazy';
|
|
4
|
+
import { ThumbnailSize } from '../../auto-field-types';
|
|
5
|
+
import { useTranslations } from '../../hooks';
|
|
6
|
+
import { getImageSource } from '../../utils/get-image-source';
|
|
7
|
+
import { fromImageUrl, fromMediaManagerPick, isExternalMediaImage, replaceImage, toMediaImageValue, withAltText, } from '../../utils/media-image-value';
|
|
8
|
+
import { executeDownloading, MEDIA_TYPES } from '../../utils/media-utils';
|
|
9
|
+
import { CellMediaEditShell, MediaFieldType, useCellMediaEdit, } from '../media-control';
|
|
10
|
+
import { MediaPreviewModal } from '../media-gallery/media-preview-modal';
|
|
11
|
+
import { MediaImage } from '../media-image';
|
|
12
|
+
import { MediaImageView } from './media-image-view';
|
|
13
|
+
import { st, classes } from './cell-media-image-edit.st.css.js';
|
|
14
|
+
const imageFromUrl = (url, current) => replaceImage(current, fromImageUrl(url));
|
|
15
|
+
/** WDS shows the menu's open state only to its trigger, so the trigger
|
|
16
|
+
* reports it. */
|
|
17
|
+
const MenuTrigger = ({ isOpen, toggle, buttonRef, onOpenChange, ariaLabel, }) => {
|
|
18
|
+
useEffect(() => {
|
|
19
|
+
onOpenChange(isOpen);
|
|
20
|
+
}, [isOpen, onOpenChange]);
|
|
21
|
+
return (React.createElement(IconButton, { ref: buttonRef, size: "small", skin: "light", priority: "secondary", dataHook: "media-image-edit-more-button", ariaLabel: ariaLabel, "aria-haspopup": "menu", "aria-expanded": isOpen, onClick: toggle },
|
|
22
|
+
React.createElement(MoreSmall, null)));
|
|
23
|
+
};
|
|
24
|
+
/**
|
|
25
|
+
* Edits a `MEDIA_IMAGE` cell. An empty cell shows the add and paste-URL
|
|
26
|
+
* buttons. A cell with an image opens a popover with the image and its alt
|
|
27
|
+
* text. Changes go to `onChange` as they happen and are committed once, when
|
|
28
|
+
* the popover closes.
|
|
29
|
+
*/
|
|
30
|
+
export const CellMediaImageEdit = ({ value, onChange, onCommit, onCancel, onStartEdit, inputRef, dataHook, }) => {
|
|
31
|
+
const { t } = useTranslations();
|
|
32
|
+
const image = toMediaImageValue(value);
|
|
33
|
+
const src = getImageSource(image);
|
|
34
|
+
// 'none' once committed.
|
|
35
|
+
const [popoverLayer, setPopoverLayer] = useState('popover');
|
|
36
|
+
const mediaEdit = useCellMediaEdit({
|
|
37
|
+
mediaType: MEDIA_TYPES.IMAGE,
|
|
38
|
+
value: image,
|
|
39
|
+
onChange,
|
|
40
|
+
onCommit,
|
|
41
|
+
onCancel,
|
|
42
|
+
onStartEdit,
|
|
43
|
+
inputRef,
|
|
44
|
+
fromPick: fromMediaManagerPick,
|
|
45
|
+
fromUrl: imageFromUrl,
|
|
46
|
+
commitOnPick: false,
|
|
47
|
+
});
|
|
48
|
+
const { loading, pasteUrlForm, handleCallMedia, handleDelete, downloadMedia, } = mediaEdit;
|
|
49
|
+
const closePasteUrl = pasteUrlForm.handleClose;
|
|
50
|
+
// The media manager and the URL form sit above the popover layers.
|
|
51
|
+
const openLayer = loading
|
|
52
|
+
? 'loading'
|
|
53
|
+
: pasteUrlForm.isOpen
|
|
54
|
+
? 'pasteUrl'
|
|
55
|
+
: image
|
|
56
|
+
? popoverLayer
|
|
57
|
+
: 'none';
|
|
58
|
+
const openPasteUrl = mediaEdit.startEditAndOpenPasteUrl({
|
|
59
|
+
title: t('CMS.image.replaceWithUrl.title'),
|
|
60
|
+
value: isExternalMediaImage(image) ? image.url : undefined,
|
|
61
|
+
});
|
|
62
|
+
const handleDownload = useCallback(() => {
|
|
63
|
+
// The Media Manager can't make a download link for an external URL.
|
|
64
|
+
if (isExternalMediaImage(image)) {
|
|
65
|
+
executeDownloading(image.url);
|
|
66
|
+
}
|
|
67
|
+
else if (src) {
|
|
68
|
+
downloadMedia(src);
|
|
69
|
+
}
|
|
70
|
+
}, [src, image, downloadMedia]);
|
|
71
|
+
const commit = useCallback(() => {
|
|
72
|
+
setPopoverLayer('none');
|
|
73
|
+
onCommit();
|
|
74
|
+
}, [onCommit]);
|
|
75
|
+
// Picking Preview sets its own layer, which closing the menu must not undo.
|
|
76
|
+
const handleMenuOpenChange = useCallback((isOpen) => {
|
|
77
|
+
setPopoverLayer((layer) => {
|
|
78
|
+
if (isOpen) {
|
|
79
|
+
return 'menu';
|
|
80
|
+
}
|
|
81
|
+
return layer === 'menu' ? 'popover' : layer;
|
|
82
|
+
});
|
|
83
|
+
}, []);
|
|
84
|
+
// Fires on mouseup, before the click that closes a menu or a modal, so
|
|
85
|
+
// `openLayer` still says what was open.
|
|
86
|
+
const handleClickOutside = useCallback(() => {
|
|
87
|
+
if (openLayer === 'popover') {
|
|
88
|
+
commit();
|
|
89
|
+
}
|
|
90
|
+
}, [openLayer, commit]);
|
|
91
|
+
useEffect(() => {
|
|
92
|
+
// WDS closes the menu on Escape and stops the event there.
|
|
93
|
+
if (openLayer === 'none' ||
|
|
94
|
+
openLayer === 'loading' ||
|
|
95
|
+
openLayer === 'menu') {
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
// Capture phase, so the table doesn't cancel the edit first.
|
|
99
|
+
const handleKeyDown = (e) => {
|
|
100
|
+
if (e.key !== 'Escape') {
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
e.stopPropagation();
|
|
104
|
+
if (openLayer === 'pasteUrl') {
|
|
105
|
+
closePasteUrl();
|
|
106
|
+
}
|
|
107
|
+
else if (openLayer === 'preview') {
|
|
108
|
+
setPopoverLayer('popover');
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
commit();
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
document.addEventListener('keydown', handleKeyDown, true);
|
|
115
|
+
return () => document.removeEventListener('keydown', handleKeyDown, true);
|
|
116
|
+
}, [openLayer, closePasteUrl, commit]);
|
|
117
|
+
const emptyActions = (React.createElement(React.Fragment, null,
|
|
118
|
+
React.createElement(Tooltip, { content: t('CMS.image.add'), appendTo: "window" },
|
|
119
|
+
React.createElement(IconButton, { size: "tiny", priority: "secondary", dataHook: "media-image-edit-add-button", ariaLabel: t('CMS.image.add'), onClick: handleCallMedia },
|
|
120
|
+
React.createElement(Add, null))),
|
|
121
|
+
React.createElement(Tooltip, { content: t('CMS.image.replaceWithUrl.button'), appendTo: "window" },
|
|
122
|
+
React.createElement(IconButton, { size: "tiny", priority: "tertiary", dataHook: "media-image-edit-paste-url-button", ariaLabel: t('CMS.image.replaceWithUrl.button'), onClick: openPasteUrl },
|
|
123
|
+
React.createElement(LinkSmall, null)))));
|
|
124
|
+
// One return for both states, so the shell and its container stay mounted
|
|
125
|
+
// when a pick fills an empty cell.
|
|
126
|
+
return (React.createElement(React.Fragment, null,
|
|
127
|
+
React.createElement(CellMediaEditShell, { dataHook: dataHook, mediaEdit: mediaEdit, fieldType: MediaFieldType.image, padding: image ? '0' : undefined }, !image ? (emptyActions) : (React.createElement("div", { className: classes.view },
|
|
128
|
+
React.createElement(MediaImageView, { value: image }),
|
|
129
|
+
React.createElement("div", { className: classes.anchor },
|
|
130
|
+
React.createElement(Popover, { shown: popoverLayer !== 'none', appendTo: "window", placement: "bottom-start", moveBy: { x: 0, y: 4 }, zIndex: 5001, animate: true, flip: true, fixed: false, onClickOutside: handleClickOutside },
|
|
131
|
+
React.createElement(Popover.Element, null,
|
|
132
|
+
React.createElement("div", { className: classes.anchorBox })),
|
|
133
|
+
React.createElement(Popover.Content, null,
|
|
134
|
+
React.createElement(Box, { dataHook: "media-image-edit-popover", className: classes.popoverContent, direction: "vertical", gap: "SP3", padding: "SP3" },
|
|
135
|
+
React.createElement(FormField, { label: t('CMS.image.thumbnail.label') },
|
|
136
|
+
React.createElement("div", { className: classes.image },
|
|
137
|
+
React.createElement(MediaImage, { dataHook: "media-image-edit-image", src: src, alt: "", fit: "cover", transparent: true, size: ThumbnailSize.L, width: "180px", height: "180px", borderRadius: "0" }),
|
|
138
|
+
React.createElement("div", { className: st(classes.imageActions, {
|
|
139
|
+
menuOpen: popoverLayer === 'menu',
|
|
140
|
+
}) },
|
|
141
|
+
React.createElement(Tooltip, { content: t('CMS.image.replace'), appendTo: "window" },
|
|
142
|
+
React.createElement(IconButton, { size: "small", skin: "light", priority: "secondary", dataHook: "media-image-edit-replace-button", ariaLabel: t('CMS.image.replace'), onClick: handleCallMedia },
|
|
143
|
+
React.createElement(Replace, null))),
|
|
144
|
+
React.createElement(PopoverMenu, { textSize: "small", appendTo: "window", zIndex: 5002, triggerElement: ({ isOpen, toggle, ref }) => (React.createElement(MenuTrigger, { isOpen: isOpen, toggle: toggle, buttonRef: ref, onOpenChange: handleMenuOpenChange, ariaLabel: t('auto-patterns.fields.more_actions_tooltip') })) },
|
|
145
|
+
React.createElement(PopoverMenu.MenuItem, { dataHook: "media-image-edit-action-replace-url", text: t('CMS.image.replaceWithUrl.button'), prefixIcon: React.createElement(Link, null), onClick: openPasteUrl }),
|
|
146
|
+
React.createElement(PopoverMenu.MenuItem, { dataHook: "media-image-edit-action-preview", text: t('CMS.mediaGallery.preview'), prefixIcon: React.createElement(Maximize, null), onClick: () => setPopoverLayer('preview') }),
|
|
147
|
+
React.createElement(PopoverMenu.MenuItem, { dataHook: "media-image-edit-action-download", text: t('CMS.image.download'), prefixIcon: React.createElement(Download, null), onClick: handleDownload }),
|
|
148
|
+
React.createElement(PopoverMenu.Divider, null),
|
|
149
|
+
React.createElement(PopoverMenu.MenuItem, { dataHook: "media-image-edit-action-delete", text: t('CMS.image.clear'), skin: "destructive", prefixIcon: React.createElement(Delete, null), onClick: handleDelete }))))),
|
|
150
|
+
React.createElement(FormField, { label: t('CMS.image.altText.label') },
|
|
151
|
+
React.createElement(Input, { dataHook: "media-image-edit-alt-input", size: "small", value: image.altText ?? '', placeholder: t('CMS.image.altText.inputPlaceholder'), onChange: (e) => onChange(withAltText(image, e.target.value)), onEnterPressed: commit }))))))))),
|
|
152
|
+
image && (React.createElement(MediaPreviewModal, { isOpen: popoverLayer === 'preview', value: src, onClose: () => setPopoverLayer('popover'), onRequestMedia: handleCallMedia, onClearMedia: handleDelete, onDownloadMedia: handleDownload, textKeys: {
|
|
153
|
+
replace: 'CMS.image.replace',
|
|
154
|
+
download: 'CMS.image.download',
|
|
155
|
+
delete: 'CMS.image.clear',
|
|
156
|
+
} }))));
|
|
157
|
+
};
|
|
158
|
+
CellMediaImageEdit.displayName = 'CellMediaImageEdit';
|
|
159
|
+
//# sourceMappingURL=cell-media-image-edit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell-media-image-edit.js","sourceRoot":"","sources":["../../../../src/components/media-image-field/cell-media-image-edit.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
@property st-global(--wds-color-fill-transparent-primary);
|
|
2
|
+
@property st-global(--wsr-color-D10);
|
|
3
|
+
@property st-global(--wds-image-border-radius-default);
|
|
4
|
+
@property st-global(--wds-space-100);
|
|
5
|
+
|
|
6
|
+
.view {
|
|
7
|
+
position: relative;
|
|
8
|
+
width: 100%;
|
|
9
|
+
height: 100%;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/* A zero-height strip along the cell's bottom edge, so the popover opens
|
|
13
|
+
under the cell. */
|
|
14
|
+
.anchor {
|
|
15
|
+
position: absolute;
|
|
16
|
+
left: 0;
|
|
17
|
+
right: 0;
|
|
18
|
+
bottom: 0;
|
|
19
|
+
height: 0;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.anchorBox {
|
|
23
|
+
width: 100%;
|
|
24
|
+
height: 0;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.popoverContent {
|
|
28
|
+
width: 288px;
|
|
29
|
+
box-sizing: border-box;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
.image {
|
|
33
|
+
position: relative;
|
|
34
|
+
width: 180px;
|
|
35
|
+
height: 180px;
|
|
36
|
+
border-radius: var(--wds-image-border-radius-default, 8px);
|
|
37
|
+
overflow: hidden;
|
|
38
|
+
line-height: 0;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/* Shown on hover, and while a button inside has focus, so the actions stay
|
|
42
|
+
reachable by keyboard. */
|
|
43
|
+
.imageActions {
|
|
44
|
+
-st-states: menuOpen;
|
|
45
|
+
position: absolute;
|
|
46
|
+
inset: 0;
|
|
47
|
+
display: flex;
|
|
48
|
+
align-items: center;
|
|
49
|
+
justify-content: center;
|
|
50
|
+
gap: var(--wds-space-100, 6px);
|
|
51
|
+
opacity: 0;
|
|
52
|
+
background: var(
|
|
53
|
+
--wds-color-fill-transparent-primary,
|
|
54
|
+
color-mix(in srgb, var(--wsr-color-D10, #000624) 66%, transparent)
|
|
55
|
+
);
|
|
56
|
+
transition: opacity 0.15s;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.image:hover .imageActions,
|
|
60
|
+
.imageActions:focus-within,
|
|
61
|
+
.imageActions:menuOpen {
|
|
62
|
+
opacity: 1;
|
|
63
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
3
|
+
var _namespace_ = "cellmediaimageedit1735372897";
|
|
4
|
+
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
5
|
+
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
6
|
+
export var style = _style_;
|
|
7
|
+
export var st = _style_;
|
|
8
|
+
export var namespace = _namespace_;
|
|
9
|
+
export var classes = { "root": "cellmediaimageedit1735372897__root", "view": "cellmediaimageedit1735372897__view", "anchor": "cellmediaimageedit1735372897__anchor", "anchorBox": "cellmediaimageedit1735372897__anchorBox", "popoverContent": "cellmediaimageedit1735372897__popoverContent", "image": "cellmediaimageedit1735372897__image", "imageActions": "cellmediaimageedit1735372897__imageActions" };
|
|
10
|
+
export var keyframes = {};
|
|
11
|
+
export var layers = {};
|
|
12
|
+
export var containers = {};
|
|
13
|
+
export var stVars = {};
|
|
14
|
+
export var vars = { "wds-color-fill-transparent-primary": "--wds-color-fill-transparent-primary", "wsr-color-D10": "--wsr-color-D10", "wds-image-border-radius-default": "--wds-image-border-radius-default", "wds-space-100": "--wds-space-100" };
|
|
15
|
+
//# sourceMappingURL=cell-media-image-edit.st.css.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cell-media-image-edit.st.css.js","sourceRoot":"","sources":["../../../../src/components/media-image-field/cell-media-image-edit.st.css.ts"],"names":[],"mappings":"AAAA,cAAc;AAGd,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAI9E,IAAI,WAAW,GAAG,8BAA8B,CAAC;AACjD,IAAI,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAErD,MAAM,CAAC,IAAI,SAAS,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;AAC7D,MAAM,CAAC,IAAI,KAAK,GAA2C,OAAO,CAAC;AACnE,MAAM,CAAC,IAAI,EAAE,GAA2C,OAAO,CAAC;AAEhE,MAAM,CAAC,IAAI,SAAS,GAAG,WAAW,CAAC;AACnC,MAAM,CAAC,IAAI,OAAO,GAAG,EAAC,MAAM,EAAC,oCAAoC,EAAC,MAAM,EAAC,oCAAoC,EAAC,QAAQ,EAAC,sCAAsC,EAAC,WAAW,EAAC,yCAAyC,EAAC,gBAAgB,EAAC,8CAA8C,EAAC,OAAO,EAAC,qCAAqC,EAAC,cAAc,EAAC,4CAA4C,EAAC,CAAC;AAC/X,MAAM,CAAC,IAAI,SAAS,GAAG,EAAE,CAAC;AAC1B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,UAAU,GAAG,EAAE,CAAC;AAC3B,MAAM,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;AACvB,MAAM,CAAC,IAAI,IAAI,GAAG,EAAC,oCAAoC,EAAC,sCAAsC,EAAC,eAAe,EAAC,iBAAiB,EAAC,iCAAiC,EAAC,mCAAmC,EAAC,eAAe,EAAC,iBAAiB,EAAC,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import React, { useCallback, useRef } from 'react';
|
|
2
|
+
import { Box, FormField, ImageViewer, Input } from '@wix/design-system';
|
|
3
|
+
import { useIsMobile, useWixPatternsContainer } from '@wix/bex-core/react';
|
|
4
|
+
import { useMergedRef, useTranslations } from '../../hooks';
|
|
5
|
+
import { getImageSource } from '../../utils/get-image-source';
|
|
6
|
+
import { getImageUrl } from '../../utils/get-image-url';
|
|
7
|
+
import { MEDIA_HEIGHT, MEDIA_MAX_WIDTH } from '../../utils/media-constants';
|
|
8
|
+
import { fromMediaManagerPick, toMediaImageValue, withAltText, } from '../../utils/media-image-value';
|
|
9
|
+
import { MEDIA_TYPES } from '../../utils/media-utils';
|
|
10
|
+
import { useMediaControl } from '../media-control';
|
|
11
|
+
/**
|
|
12
|
+
* The entity page input of a `MEDIA_IMAGE` field: the image, and an alt text
|
|
13
|
+
* input to its right once there is an image. A pick fills an empty alt text
|
|
14
|
+
* from the file name; a replace keeps the current one.
|
|
15
|
+
*/
|
|
16
|
+
export const FormMediaImageField = ({ data, onChange, onBlur, readOnly, autoFocus, dataHook, inputRef: forwardedRef, imageFormFieldProps, }) => {
|
|
17
|
+
const { translate } = useWixPatternsContainer();
|
|
18
|
+
const { t } = useTranslations();
|
|
19
|
+
const isMobile = useIsMobile();
|
|
20
|
+
const image = toMediaImageValue(data);
|
|
21
|
+
// The media manager calls back after it closes, so it reads the value from
|
|
22
|
+
// here rather than from the render that opened it.
|
|
23
|
+
const imageRef = useRef(image);
|
|
24
|
+
imageRef.current = image;
|
|
25
|
+
const [inputRef, setInputRef] = useMergedRef(forwardedRef);
|
|
26
|
+
const handlePick = useCallback((uri) => {
|
|
27
|
+
const next = fromMediaManagerPick(uri, imageRef.current);
|
|
28
|
+
if (next) {
|
|
29
|
+
onChange(next);
|
|
30
|
+
}
|
|
31
|
+
}, [onChange]);
|
|
32
|
+
const { callMedia, onMediaLoad } = useMediaControl({
|
|
33
|
+
mediaType: MEDIA_TYPES.IMAGE,
|
|
34
|
+
value: getImageSource(image),
|
|
35
|
+
onChange: handlePick,
|
|
36
|
+
autoFocus,
|
|
37
|
+
readOnly,
|
|
38
|
+
onBlur,
|
|
39
|
+
inputRef,
|
|
40
|
+
initialLoading: true,
|
|
41
|
+
});
|
|
42
|
+
const canEdit = !isMobile && !readOnly;
|
|
43
|
+
const handleAltTextChange = (e) => {
|
|
44
|
+
if (image) {
|
|
45
|
+
onChange(withAltText(image, e.target.value));
|
|
46
|
+
}
|
|
47
|
+
};
|
|
48
|
+
return (React.createElement(Box, { dataHook: dataHook, gap: "SP4", width: "100%" },
|
|
49
|
+
React.createElement(Box, { width: "100%", maxWidth: MEDIA_MAX_WIDTH, flexShrink: 0 },
|
|
50
|
+
React.createElement(FormField, { ...imageFormFieldProps, dataHook: "media-image-field-image" },
|
|
51
|
+
React.createElement(ImageViewer, { ref: setInputRef, dataHook: "media-image-field-viewer", imageUrl: image ? getImageUrl(image) : undefined, onImageLoad: onMediaLoad, onAddImage: canEdit ? callMedia : undefined, onUpdateImage: canEdit ? callMedia : undefined, disabled: image ? Boolean(readOnly) : !canEdit, showUpdateButton: canEdit, showRemoveButton: !readOnly, updateImageInfo: translate('cairo.replace-image.tooltip'), removeImageInfo: translate('cairo.remove-image.tooltip'), addImageInfo: translate('cairo.add-image.tooltip'), height: MEDIA_HEIGHT, width: "100%", fit: "cover", onRemoveImage: () => onChange(null) }))),
|
|
52
|
+
image && (React.createElement(Box, { direction: "vertical", flexGrow: 1, minWidth: "0" },
|
|
53
|
+
React.createElement(FormField, { label: t('CMS.image.altText.label') },
|
|
54
|
+
React.createElement(Input, { dataHook: "media-image-field-alt-input", value: image.altText ?? '', placeholder: t('CMS.image.altText.inputPlaceholder'), onChange: handleAltTextChange, readOnly: readOnly }))))));
|
|
55
|
+
};
|
|
56
|
+
FormMediaImageField.displayName = 'FormMediaImageField';
|
|
57
|
+
export const ControlledMediaImageInput = ({ data, onChange, onBlur, readOnly, autoFocus, dataHook, }) => (React.createElement(FormMediaImageField, { data: data, onChange: onChange, onBlur: onBlur, readOnly: readOnly, autoFocus: autoFocus, dataHook: dataHook }));
|
|
58
|
+
ControlledMediaImageInput.displayName = 'ControlledMediaImageInput';
|
|
59
|
+
//# sourceMappingURL=form-media-image-field.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-media-image-field.js","sourceRoot":"","sources":["../../../../src/components/media-image-field/form-media-image-field.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { FormFieldUniDriver, ImageViewerUniDriver, } from '@wix/design-system/dist/testkit/unidriver';
|
|
2
|
+
import { baseUniDriverFactory } from '../../testkit/base-driver';
|
|
3
|
+
export function FormMediaImageFieldUniDriver(base, body) {
|
|
4
|
+
const formField = FormFieldUniDriver(base.$('[data-hook="media-image-field-image"]'), body);
|
|
5
|
+
const imageViewer = ImageViewerUniDriver(base.$('[data-hook="media-image-field-viewer"]'), body);
|
|
6
|
+
const altInput = base.$('[data-hook="media-image-field-alt-input"] input');
|
|
7
|
+
return {
|
|
8
|
+
...baseUniDriverFactory(base),
|
|
9
|
+
getLabel: async () => (await formField.getLabel())?.textContent ?? '',
|
|
10
|
+
isRequired: () => formField.isRequired(),
|
|
11
|
+
hasError: () => formField.hasStatus('error'),
|
|
12
|
+
getErrorMessage: () => formField.getStatusMessage(),
|
|
13
|
+
getImageUrl: () => imageViewer.getImageUrl(),
|
|
14
|
+
isAddItemVisible: () => imageViewer.isAddItemVisible(),
|
|
15
|
+
clickAdd: () => imageViewer.clickAdd(),
|
|
16
|
+
clickReplace: () => imageViewer.clickUpdate(),
|
|
17
|
+
clickRemove: () => imageViewer.clickRemove(),
|
|
18
|
+
hasAltTextInput: () => altInput.exists(),
|
|
19
|
+
getAltText: () => altInput.value(),
|
|
20
|
+
getAltTextPlaceholder: () => altInput.attr('placeholder'),
|
|
21
|
+
enterAltText: (text) => altInput.enterValue(text),
|
|
22
|
+
// ImageViewer hides its edit buttons behind a loader until the image
|
|
23
|
+
// loads, and jsdom never fires that event on its own.
|
|
24
|
+
simulateImageLoad: async () => (await base.$('[data-hook="image-viewer-current-image"]').getNative()).dispatchEvent(new Event('load')),
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=form-media-image-field.uni.driver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-media-image-field.uni.driver.js","sourceRoot":"","sources":["../../../../src/components/media-image-field/form-media-image-field.uni.driver.ts"],"names":[],"mappings":"AACA,OAAO,EACL,kBAAkB,EAClB,oBAAoB,GACrB,MAAM,2CAA2C,CAAC;AAEnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEjE,MAAM,UAAU,4BAA4B,CAAC,IAAe,EAAE,IAAe;IAC3E,MAAM,SAAS,GAAG,kBAAkB,CAClC,IAAI,CAAC,CAAC,CAAC,uCAAuC,CAAC,EAC/C,IAAI,CACL,CAAC;IACF,MAAM,WAAW,GAAG,oBAAoB,CACtC,IAAI,CAAC,CAAC,CAAC,wCAAwC,CAAC,EAChD,IAAI,CACL,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,iDAAiD,CAAC,CAAC;IAE3E,OAAO;QACL,GAAG,oBAAoB,CAAC,IAAI,CAAC;QAC7B,QAAQ,EAAE,KAAK,IAAI,EAAE,CAAC,CAAC,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC,EAAE,WAAW,IAAI,EAAE;QACrE,UAAU,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE;QACxC,QAAQ,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,SAAS,CAAC,OAAO,CAAC;QAC5C,eAAe,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,gBAAgB,EAAE;QACnD,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE;QAC5C,gBAAgB,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,gBAAgB,EAAE;QACtD,QAAQ,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE;QACtC,YAAY,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE;QAC7C,WAAW,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,WAAW,EAAE;QAC5C,eAAe,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE;QACxC,UAAU,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE;QAClC,qBAAqB,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC;QACzD,YAAY,EAAE,CAAC,IAAY,EAAE,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC;QACzD,qEAAqE;QACrE,sDAAsD;QACtD,iBAAiB,EAAE,KAAK,IAAI,EAAE,CAC5B,CACE,MAAM,IAAI,CAAC,CAAC,CAAC,0CAA0C,CAAC,CAAC,SAAS,EAAE,CACrE,CAAC,aAAa,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;KACrC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { observer } from 'mobx-react-lite';
|
|
3
|
+
import { useWixPatternsContainer } from '@wix/bex-core/react';
|
|
4
|
+
import { useController } from '@wix/bex-core/form';
|
|
5
|
+
import { useFieldRef } from '../../hooks';
|
|
6
|
+
import { isMediaImageEmpty } from '../../utils/media-image-value';
|
|
7
|
+
import { FormMediaImageField } from './form-media-image-field';
|
|
8
|
+
const _FormMediaImageInput = (props) => {
|
|
9
|
+
const { field, dataHook, formControl, data } = props;
|
|
10
|
+
const { translate: t } = useWixPatternsContainer();
|
|
11
|
+
const controller = useController({
|
|
12
|
+
name: field?.id ?? '',
|
|
13
|
+
control: formControl,
|
|
14
|
+
defaultValue: data?.[field?.id ?? ''],
|
|
15
|
+
rules: {
|
|
16
|
+
validate: (value) => {
|
|
17
|
+
// Alt text alone doesn't make the field filled.
|
|
18
|
+
if (field.validation?.required && isMediaImageEmpty(value)) {
|
|
19
|
+
return t('cairo.fieldValidation.requiredField');
|
|
20
|
+
}
|
|
21
|
+
return true;
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
const setFieldRef = useFieldRef(controller.field.ref);
|
|
26
|
+
return (React.createElement(FormMediaImageField
|
|
27
|
+
// Hands the live button to react-hook-form so shouldFocusError can
|
|
28
|
+
// reach this field when it blocks save.
|
|
29
|
+
, {
|
|
30
|
+
// Hands the live button to react-hook-form so shouldFocusError can
|
|
31
|
+
// reach this field when it blocks save.
|
|
32
|
+
inputRef: setFieldRef, data: controller.field.value, onChange: (value) => controller.field.onChange(value), dataHook: dataHook, imageFormFieldProps: {
|
|
33
|
+
label: field.displayName,
|
|
34
|
+
required: field.validation?.required,
|
|
35
|
+
status: controller.fieldState.error ? 'error' : undefined,
|
|
36
|
+
statusMessage: controller.fieldState.error?.message,
|
|
37
|
+
} }));
|
|
38
|
+
};
|
|
39
|
+
export const FormMediaImageInput = observer(_FormMediaImageInput);
|
|
40
|
+
//# sourceMappingURL=form-media-image-input.js.map
|