@wix/patterns-fields 1.115.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/cell-text-input.js +43 -27
- package/dist/cjs/components/text/cell-text-input.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-player/audio-player.st.css.js +2 -2
- 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/color-view.st.css.js +2 -2
- package/dist/esm/components/color-view/color-view.st.css.js.map +1 -1
- package/dist/esm/components/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-gallery/form-media-gallery-field.st.css.js.map +1 -1
- package/dist/esm/components/media-image/media-image.st.css.js +3 -3
- package/dist/esm/components/media-image/overlays/overlay.st.css.js +2 -2
- package/dist/esm/components/media-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/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-multi-reference-input.st.css.js.map +1 -1
- 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/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
- package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
- package/dist/esm/components/rich-content/rich-content-input/rich-content-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/toolbar/toolbar.st.css.js +2 -2
- package/dist/esm/components/text/cell-text-input.js +9 -13
- package/dist/esm/components/text/cell-text-input.js.map +1 -1
- package/dist/esm/components/text/text-view.st.css.js +2 -2
- package/dist/esm/components/text/text-view.st.css.js.map +1 -1
- 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/cell-audio-edit.d.ts.map +1 -1
- package/dist/types/components/color-view/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-gallery/form-media-gallery-field.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/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/reference/cell-multi-reference-input.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.d.ts.map +1 -1
- package/dist/types/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.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/text/cell-text-input.d.ts +1 -1
- package/dist/types/components/text/cell-text-input.d.ts.map +1 -1
- package/dist/types/components/text/text-view.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__/components/text/cell-text-input.spec.tsx +27 -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/cell-text-input.tsx +20 -18
- 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
|
@@ -20,6 +20,9 @@ export interface ImageThumbnailProps {
|
|
|
20
20
|
dataHook?: string;
|
|
21
21
|
showVideoIndicator?: boolean;
|
|
22
22
|
size?: number;
|
|
23
|
+
width?: string;
|
|
24
|
+
height?: string;
|
|
25
|
+
borderRadius?: string;
|
|
23
26
|
}
|
|
24
27
|
|
|
25
28
|
export const ImageThumbnail: React.FC<ImageThumbnailProps> = ({
|
|
@@ -31,20 +34,22 @@ export const ImageThumbnail: React.FC<ImageThumbnailProps> = ({
|
|
|
31
34
|
dataHook,
|
|
32
35
|
showVideoIndicator = true,
|
|
33
36
|
size = 36,
|
|
37
|
+
width = `${size}px`,
|
|
38
|
+
height = `${size}px`,
|
|
39
|
+
borderRadius = '3px',
|
|
34
40
|
}) => {
|
|
35
41
|
const value = getImageSource(imageValue);
|
|
36
42
|
const src = value ? mediaURItoImageURL(value, ThumbnailSize.S) : undefined;
|
|
37
43
|
const overlaySize = size <= 24 ? 'tiny' : 'small';
|
|
38
|
-
const px = `${size}px`;
|
|
39
44
|
|
|
40
45
|
return (
|
|
41
46
|
<div
|
|
42
47
|
data-hook={dataHook}
|
|
43
48
|
data-empty={!value || undefined}
|
|
44
49
|
style={{
|
|
45
|
-
width
|
|
46
|
-
height
|
|
47
|
-
borderRadius
|
|
50
|
+
width,
|
|
51
|
+
height,
|
|
52
|
+
borderRadius,
|
|
48
53
|
flexShrink: 0,
|
|
49
54
|
position: 'relative',
|
|
50
55
|
}}
|
|
@@ -53,11 +58,11 @@ export const ImageThumbnail: React.FC<ImageThumbnailProps> = ({
|
|
|
53
58
|
src={src}
|
|
54
59
|
alt=""
|
|
55
60
|
suspended
|
|
56
|
-
borderRadius=
|
|
61
|
+
borderRadius={borderRadius}
|
|
57
62
|
transparent
|
|
58
63
|
size={ThumbnailSize.S}
|
|
59
|
-
width={
|
|
60
|
-
height={
|
|
64
|
+
width={width}
|
|
65
|
+
height={height}
|
|
61
66
|
onLoad={onLoad}
|
|
62
67
|
onError={onError}
|
|
63
68
|
onMouseEnter={onMouseEnter}
|
|
@@ -1,8 +1,7 @@
|
|
|
1
1
|
import React, { useState, useCallback } from 'react';
|
|
2
|
-
import { Box
|
|
3
|
-
import { mediaURItoImageURL, ThumbnailSize } from '../../auto-field-types';
|
|
2
|
+
import { Box } from '@wix/design-system';
|
|
4
3
|
import { getImageSource, type ImageSource } from '../../utils/get-image-source';
|
|
5
|
-
import {
|
|
4
|
+
import { ImagePreviewPopover } from './image-preview-popover';
|
|
6
5
|
import { ImageThumbnail } from './image-thumbnail';
|
|
7
6
|
|
|
8
7
|
export interface ImageViewProps {
|
|
@@ -32,46 +31,21 @@ export const ImageView: React.FC<ImageViewProps> = ({
|
|
|
32
31
|
>
|
|
33
32
|
<Box minWidth="0" style={{ flex: 1 }}>
|
|
34
33
|
{value ? (
|
|
35
|
-
<
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
>
|
|
45
|
-
<Popover.Element>
|
|
46
|
-
<ImageThumbnail
|
|
47
|
-
value={value}
|
|
48
|
-
size={size}
|
|
49
|
-
dataHook="image-thumbnail"
|
|
50
|
-
onMouseEnter={showPreview}
|
|
51
|
-
onMouseLeave={hidePreview}
|
|
52
|
-
/>
|
|
53
|
-
</Popover.Element>
|
|
54
|
-
<Popover.Content>
|
|
55
|
-
<Box
|
|
56
|
-
width="204px"
|
|
57
|
-
style={{
|
|
58
|
-
borderRadius: '3px',
|
|
59
|
-
overflow: 'hidden',
|
|
60
|
-
lineHeight: 0,
|
|
61
|
-
}}
|
|
62
|
-
>
|
|
63
|
-
<MediaImage
|
|
64
|
-
src={mediaURItoImageURL(value, ThumbnailSize.L)}
|
|
65
|
-
alt=""
|
|
66
|
-
fit="contain"
|
|
67
|
-
transparent
|
|
68
|
-
size={ThumbnailSize.L}
|
|
69
|
-
/>
|
|
70
|
-
</Box>
|
|
71
|
-
</Popover.Content>
|
|
72
|
-
</Popover>
|
|
34
|
+
<ImagePreviewPopover src={value} shown={isPreviewShown} fluid>
|
|
35
|
+
<ImageThumbnail
|
|
36
|
+
value={value}
|
|
37
|
+
size={size}
|
|
38
|
+
dataHook="image-thumbnail"
|
|
39
|
+
onMouseEnter={showPreview}
|
|
40
|
+
onMouseLeave={hidePreview}
|
|
41
|
+
/>
|
|
42
|
+
</ImagePreviewPopover>
|
|
73
43
|
) : (
|
|
74
|
-
<ImageThumbnail
|
|
44
|
+
<ImageThumbnail
|
|
45
|
+
value={value}
|
|
46
|
+
size={size}
|
|
47
|
+
dataHook="image-thumbnail"
|
|
48
|
+
/>
|
|
75
49
|
)}
|
|
76
50
|
</Box>
|
|
77
51
|
</Box>
|
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "thumbnailreplaceoverlay1763365333";
|
|
9
9
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
10
10
|
|
|
11
11
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
|
|
|
13
13
|
export var st: import("@stylable/runtime").STFunction = _style_;
|
|
14
14
|
|
|
15
15
|
export var namespace = _namespace_;
|
|
16
|
-
export var classes = {"root":"
|
|
16
|
+
export var classes = {"root":"thumbnailreplaceoverlay1763365333__root","icon":"thumbnailreplaceoverlay1763365333__icon"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
package/src/components/index.ts
CHANGED
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "cellmediaeditshell4153330898";
|
|
9
9
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
10
10
|
|
|
11
11
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
|
|
|
13
13
|
export var st: import("@stylable/runtime").STFunction = _style_;
|
|
14
14
|
|
|
15
15
|
export var namespace = _namespace_;
|
|
16
|
-
export var classes = {"root":"
|
|
16
|
+
export var classes = {"root":"cellmediaeditshell4153330898__root"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
|
@@ -20,12 +20,11 @@ export interface CellMediaEditShellProps {
|
|
|
20
20
|
| 'handleContainerBlur'
|
|
21
21
|
| 'pasteUrlForm'
|
|
22
22
|
>;
|
|
23
|
-
/** Current cell value — forwarded to PasteURLForm as the pre-filled value. */
|
|
24
|
-
value: string | null;
|
|
25
23
|
/** Which validator/placeholder strings the PasteURLForm should use. */
|
|
26
24
|
fieldType: MediaFieldType;
|
|
27
25
|
/** Optional gap between the primary slot and the secondary actions. */
|
|
28
26
|
gap?: BoxCssSizingProperty;
|
|
27
|
+
padding?: BoxCssSizingProperty;
|
|
29
28
|
/** Inner content — typically two slots: primary cell content + secondary actions. */
|
|
30
29
|
children: React.ReactNode;
|
|
31
30
|
}
|
|
@@ -40,9 +39,9 @@ export interface CellMediaEditShellProps {
|
|
|
40
39
|
export const CellMediaEditShell: React.FC<CellMediaEditShellProps> = ({
|
|
41
40
|
dataHook,
|
|
42
41
|
mediaEdit,
|
|
43
|
-
value,
|
|
44
42
|
fieldType,
|
|
45
43
|
gap,
|
|
44
|
+
padding = '0 8px',
|
|
46
45
|
children,
|
|
47
46
|
}) => {
|
|
48
47
|
const {
|
|
@@ -53,20 +52,8 @@ export const CellMediaEditShell: React.FC<CellMediaEditShellProps> = ({
|
|
|
53
52
|
pasteUrlForm,
|
|
54
53
|
} = mediaEdit;
|
|
55
54
|
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
<Box
|
|
59
|
-
dataHook={dataHook}
|
|
60
|
-
verticalAlign="middle"
|
|
61
|
-
width="100%"
|
|
62
|
-
height="100%"
|
|
63
|
-
padding="0 8px"
|
|
64
|
-
>
|
|
65
|
-
<Loader dataHook="loader" size="tiny" />
|
|
66
|
-
</Box>
|
|
67
|
-
);
|
|
68
|
-
}
|
|
69
|
-
|
|
55
|
+
// The loader renders inside the container: `useCellEditKeyboard` attaches
|
|
56
|
+
// its key listener to the container element once.
|
|
70
57
|
return (
|
|
71
58
|
<div
|
|
72
59
|
ref={containerRef}
|
|
@@ -79,16 +66,16 @@ export const CellMediaEditShell: React.FC<CellMediaEditShellProps> = ({
|
|
|
79
66
|
align="space-between"
|
|
80
67
|
verticalAlign="middle"
|
|
81
68
|
height="100%"
|
|
82
|
-
padding=
|
|
69
|
+
padding={loading ? '0 8px' : padding}
|
|
83
70
|
gap={gap}
|
|
84
71
|
style={{ boxSizing: 'border-box' }}
|
|
85
72
|
>
|
|
86
|
-
{children}
|
|
73
|
+
{loading ? <Loader dataHook="loader" size="tiny" /> : children}
|
|
87
74
|
</Box>
|
|
88
75
|
|
|
89
76
|
<PasteURLForm
|
|
90
77
|
title={pasteUrlForm.title}
|
|
91
|
-
value={value
|
|
78
|
+
value={pasteUrlForm.value}
|
|
92
79
|
show={pasteUrlForm.isOpen}
|
|
93
80
|
closeModal={pasteUrlForm.handleClose}
|
|
94
81
|
onSave={pasteUrlForm.onSave}
|
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "pasteurlbutton531298721";
|
|
9
9
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
10
10
|
|
|
11
11
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
|
|
|
13
13
|
export var st: import("@stylable/runtime").STFunction = _style_;
|
|
14
14
|
|
|
15
15
|
export var namespace = _namespace_;
|
|
16
|
-
export var classes = {"root":"
|
|
16
|
+
export var classes = {"root":"pasteurlbutton531298721__root","iconButtonTooltip":"pasteurlbutton531298721__iconButtonTooltip","iconButton":"pasteurlbutton531298721__iconButton"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
|
@@ -1,17 +1,15 @@
|
|
|
1
|
-
import { useCallback, useRef } from 'react';
|
|
2
|
-
import React from 'react';
|
|
1
|
+
import React, { useCallback, useRef } from 'react';
|
|
3
2
|
|
|
4
3
|
import { MEDIA_TYPES } from '../../utils/media-utils';
|
|
5
4
|
import { useCellEditKeyboard } from '../../hooks';
|
|
6
5
|
|
|
7
6
|
import { useMediaControl } from './use-media-control';
|
|
8
|
-
import { useMediaHandlers } from './use-media-handlers';
|
|
9
7
|
import { usePasteURLForm } from './use-paste-url-form';
|
|
10
8
|
|
|
11
|
-
export interface UseCellMediaEditParams {
|
|
9
|
+
export interface UseCellMediaEditParams<V = string> {
|
|
12
10
|
mediaType: MEDIA_TYPES;
|
|
13
|
-
value:
|
|
14
|
-
onChange: (value:
|
|
11
|
+
value: V | null;
|
|
12
|
+
onChange: (value: V | null) => void;
|
|
15
13
|
onCommit: () => void;
|
|
16
14
|
onCancel?: () => void;
|
|
17
15
|
/**
|
|
@@ -22,6 +20,20 @@ export interface UseCellMediaEditParams {
|
|
|
22
20
|
inputRef?: React.MutableRefObject<{ focus: () => void } | null | undefined>;
|
|
23
21
|
}
|
|
24
22
|
|
|
23
|
+
/** For a cell whose value is not the picked URI itself. */
|
|
24
|
+
export interface CellMediaValueOptions<V> {
|
|
25
|
+
/** The value for a media manager pick. `null` ignores the pick. */
|
|
26
|
+
fromPick: (uri: string, current: V | null) => V | null;
|
|
27
|
+
/** The value for a URL saved in the paste-URL form. */
|
|
28
|
+
fromUrl: (url: string, current: V | null) => V;
|
|
29
|
+
/**
|
|
30
|
+
* When `false`, a pick only changes the value and the cell commits later.
|
|
31
|
+
* Closing the media manager or the URL form without a value then cancels
|
|
32
|
+
* the edit only if the cell is still empty.
|
|
33
|
+
*/
|
|
34
|
+
commitOnPick?: boolean;
|
|
35
|
+
}
|
|
36
|
+
|
|
25
37
|
export interface UseCellMediaEditResult {
|
|
26
38
|
containerRef: React.MutableRefObject<HTMLDivElement | null>;
|
|
27
39
|
loading: boolean;
|
|
@@ -43,6 +55,8 @@ export interface UseCellMediaEditResult {
|
|
|
43
55
|
pasteUrlForm: {
|
|
44
56
|
isOpen: boolean;
|
|
45
57
|
title: string;
|
|
58
|
+
/** The URL the form opens with. */
|
|
59
|
+
value?: string;
|
|
46
60
|
onSave: (value: string) => void;
|
|
47
61
|
/** onClose composed with onCancel — call from PasteURLForm.closeModal. */
|
|
48
62
|
handleClose: () => void;
|
|
@@ -51,6 +65,8 @@ export interface UseCellMediaEditResult {
|
|
|
51
65
|
handleContainerBlur: (e: React.FocusEvent) => void;
|
|
52
66
|
}
|
|
53
67
|
|
|
68
|
+
const sameUri = (uri: string) => uri;
|
|
69
|
+
|
|
54
70
|
/**
|
|
55
71
|
* Shared state + handlers for single-value media cell edit components
|
|
56
72
|
* (image / document / audio / video / …). Each consumer renders its own
|
|
@@ -58,6 +74,15 @@ export interface UseCellMediaEditResult {
|
|
|
58
74
|
* usePasteURLForm, useCellEditKeyboard, and the standard onCommit/onCancel
|
|
59
75
|
* dance.
|
|
60
76
|
*/
|
|
77
|
+
// Generic only so TS accepts it against the `unknown` implementation below.
|
|
78
|
+
export function useCellMediaEdit<V extends string>(
|
|
79
|
+
params: UseCellMediaEditParams<V>,
|
|
80
|
+
): UseCellMediaEditResult;
|
|
81
|
+
|
|
82
|
+
export function useCellMediaEdit<V>(
|
|
83
|
+
params: UseCellMediaEditParams<V> & CellMediaValueOptions<V>,
|
|
84
|
+
): UseCellMediaEditResult;
|
|
85
|
+
|
|
61
86
|
export function useCellMediaEdit({
|
|
62
87
|
mediaType,
|
|
63
88
|
value,
|
|
@@ -66,41 +91,80 @@ export function useCellMediaEdit({
|
|
|
66
91
|
onCancel,
|
|
67
92
|
onStartEdit,
|
|
68
93
|
inputRef,
|
|
69
|
-
|
|
94
|
+
fromPick = sameUri,
|
|
95
|
+
fromUrl = sameUri,
|
|
96
|
+
commitOnPick = true,
|
|
97
|
+
}: UseCellMediaEditParams<unknown> &
|
|
98
|
+
Partial<CellMediaValueOptions<unknown>>): UseCellMediaEditResult {
|
|
70
99
|
const containerRef = useRef<HTMLDivElement | null>(null);
|
|
100
|
+
// The media manager and the URL form call back after they close, so they
|
|
101
|
+
// read the value from here rather than from the render that opened them.
|
|
102
|
+
const latestValue = useRef(value);
|
|
103
|
+
latestValue.current = value;
|
|
104
|
+
const applied = useRef(false);
|
|
105
|
+
|
|
106
|
+
const apply = useCallback(
|
|
107
|
+
(next: unknown) => {
|
|
108
|
+
applied.current = true;
|
|
109
|
+
// The URL form closes right after it saves, before the next render.
|
|
110
|
+
latestValue.current = next;
|
|
111
|
+
onChange(next);
|
|
112
|
+
if (commitOnPick) {
|
|
113
|
+
onCommit();
|
|
114
|
+
}
|
|
115
|
+
},
|
|
116
|
+
[onChange, onCommit, commitOnPick],
|
|
117
|
+
);
|
|
71
118
|
|
|
72
|
-
const
|
|
119
|
+
const onPick = useCallback(
|
|
73
120
|
(uri: string) => {
|
|
74
|
-
|
|
75
|
-
|
|
121
|
+
const next = fromPick(uri, latestValue.current);
|
|
122
|
+
if (next !== null) {
|
|
123
|
+
apply(next);
|
|
124
|
+
}
|
|
76
125
|
},
|
|
77
|
-
[
|
|
126
|
+
[fromPick, apply],
|
|
127
|
+
);
|
|
128
|
+
|
|
129
|
+
const onUrlSave = useCallback(
|
|
130
|
+
(url: string) => apply(fromUrl(url, latestValue.current)),
|
|
131
|
+
[fromUrl, apply],
|
|
78
132
|
);
|
|
79
133
|
|
|
80
134
|
const { callMedia, downloadMedia, loading } = useMediaControl({
|
|
81
135
|
mediaType,
|
|
82
|
-
|
|
83
|
-
onChange: onMediaChange,
|
|
136
|
+
onChange: onPick,
|
|
84
137
|
});
|
|
85
138
|
|
|
86
|
-
const
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
});
|
|
139
|
+
const handleCallMedia = useCallback(async () => {
|
|
140
|
+
onStartEdit?.();
|
|
141
|
+
applied.current = false;
|
|
142
|
+
await callMedia();
|
|
143
|
+
if (!applied.current && (commitOnPick || latestValue.current === null)) {
|
|
144
|
+
onCancel?.();
|
|
145
|
+
}
|
|
146
|
+
}, [onStartEdit, callMedia, commitOnPick, onCancel]);
|
|
95
147
|
|
|
96
|
-
const
|
|
97
|
-
onChange
|
|
98
|
-
|
|
148
|
+
const handleDelete = useCallback(() => {
|
|
149
|
+
onChange(null);
|
|
150
|
+
onCommit();
|
|
151
|
+
}, [onChange, onCommit]);
|
|
152
|
+
|
|
153
|
+
const {
|
|
154
|
+
isOpen,
|
|
155
|
+
title,
|
|
156
|
+
value: pasteUrlValue,
|
|
157
|
+
onOpen,
|
|
158
|
+
onClose,
|
|
159
|
+
onSave,
|
|
160
|
+
} = usePasteURLForm({ onChange: onUrlSave });
|
|
99
161
|
|
|
100
162
|
const handleFormClose = useCallback(() => {
|
|
101
163
|
onClose();
|
|
102
|
-
|
|
103
|
-
|
|
164
|
+
if (commitOnPick || latestValue.current === null) {
|
|
165
|
+
onCancel?.();
|
|
166
|
+
}
|
|
167
|
+
}, [onClose, commitOnPick, onCancel]);
|
|
104
168
|
|
|
105
169
|
const startEditAndOpenPasteUrl = useCallback(
|
|
106
170
|
(params: { title: string; value?: string }) => () => {
|
|
@@ -124,7 +188,13 @@ export function useCellMediaEdit({
|
|
|
124
188
|
handleCallMedia,
|
|
125
189
|
handleDelete,
|
|
126
190
|
startEditAndOpenPasteUrl,
|
|
127
|
-
pasteUrlForm: {
|
|
191
|
+
pasteUrlForm: {
|
|
192
|
+
isOpen,
|
|
193
|
+
title,
|
|
194
|
+
value: pasteUrlValue,
|
|
195
|
+
onSave,
|
|
196
|
+
handleClose: handleFormClose,
|
|
197
|
+
},
|
|
128
198
|
handleContainerFocus,
|
|
129
199
|
handleContainerBlur,
|
|
130
200
|
};
|
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "formmediagalleryfield903826005";
|
|
9
9
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
10
10
|
|
|
11
11
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
|
|
|
13
13
|
export var st: import("@stylable/runtime").STFunction = _style_;
|
|
14
14
|
|
|
15
15
|
export var namespace = _namespace_;
|
|
16
|
-
export var classes = {"root":"
|
|
16
|
+
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"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "mediaimage3328930349";
|
|
9
9
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
10
10
|
|
|
11
11
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
@@ -13,12 +13,12 @@ export var style: import("@stylable/runtime").STFunction = _style_;
|
|
|
13
13
|
export var st: import("@stylable/runtime").STFunction = _style_;
|
|
14
14
|
|
|
15
15
|
export var namespace = _namespace_;
|
|
16
|
-
export var classes = {"root":"
|
|
16
|
+
export var classes = {"root":"mediaimage3328930349__root"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
|
20
20
|
export var stVars = {};
|
|
21
|
-
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":"--
|
|
21
|
+
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"};
|
|
22
22
|
|
|
23
23
|
|
|
24
24
|
|
|
@@ -5,7 +5,7 @@ import { classesRuntime, statesRuntime } from "../../../stylable-esm-runtime.js"
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var _namespace_ = "
|
|
8
|
+
var _namespace_ = "overlay3008863944";
|
|
9
9
|
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
10
10
|
|
|
11
11
|
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
@@ -13,7 +13,7 @@ export var style: import("@stylable/runtime").STFunction = _style_;
|
|
|
13
13
|
export var st: import("@stylable/runtime").STFunction = _style_;
|
|
14
14
|
|
|
15
15
|
export var namespace = _namespace_;
|
|
16
|
-
export var classes = {"root":"
|
|
16
|
+
export var classes = {"root":"overlay3008863944__root","iconOverlay":"overlay3008863944__iconOverlay"};
|
|
17
17
|
export var keyframes = {};
|
|
18
18
|
export var layers = {};
|
|
19
19
|
export var containers = {};
|
|
@@ -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,25 @@
|
|
|
1
|
+
// @ts-nocheck
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
import { classesRuntime, statesRuntime } from "../../stylable-esm-runtime.js";
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
var _namespace_ = "cellmediaimageedit1735372897";
|
|
9
|
+
var _style_ = classesRuntime.bind(null, _namespace_);
|
|
10
|
+
|
|
11
|
+
export var cssStates = statesRuntime.bind(null, _namespace_);
|
|
12
|
+
export var style: import("@stylable/runtime").STFunction = _style_;
|
|
13
|
+
export var st: import("@stylable/runtime").STFunction = _style_;
|
|
14
|
+
|
|
15
|
+
export var namespace = _namespace_;
|
|
16
|
+
export var classes = {"root":"cellmediaimageedit1735372897__root","view":"cellmediaimageedit1735372897__view","anchor":"cellmediaimageedit1735372897__anchor","anchorBox":"cellmediaimageedit1735372897__anchorBox","popoverContent":"cellmediaimageedit1735372897__popoverContent","image":"cellmediaimageedit1735372897__image","imageActions":"cellmediaimageedit1735372897__imageActions"};
|
|
17
|
+
export var keyframes = {};
|
|
18
|
+
export var layers = {};
|
|
19
|
+
export var containers = {};
|
|
20
|
+
export var stVars = {};
|
|
21
|
+
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"};
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|