@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.
Files changed (447) hide show
  1. package/dist/cjs/assets/locale/messages_ar.json +2 -0
  2. package/dist/cjs/assets/locale/messages_bg.json +2 -0
  3. package/dist/cjs/assets/locale/messages_ca.json +2 -0
  4. package/dist/cjs/assets/locale/messages_cs.json +2 -0
  5. package/dist/cjs/assets/locale/messages_da.json +2 -0
  6. package/dist/cjs/assets/locale/messages_de.json +2 -0
  7. package/dist/cjs/assets/locale/messages_el.json +2 -0
  8. package/dist/cjs/assets/locale/messages_en.json +2 -0
  9. package/dist/cjs/assets/locale/messages_es.json +2 -0
  10. package/dist/cjs/assets/locale/messages_fi.json +2 -0
  11. package/dist/cjs/assets/locale/messages_fr.json +2 -0
  12. package/dist/cjs/assets/locale/messages_he.json +2 -0
  13. package/dist/cjs/assets/locale/messages_hi.json +2 -0
  14. package/dist/cjs/assets/locale/messages_hu.json +2 -0
  15. package/dist/cjs/assets/locale/messages_id.json +2 -0
  16. package/dist/cjs/assets/locale/messages_it.json +2 -0
  17. package/dist/cjs/assets/locale/messages_ja.json +2 -0
  18. package/dist/cjs/assets/locale/messages_ko.json +2 -0
  19. package/dist/cjs/assets/locale/messages_lt.json +2 -0
  20. package/dist/cjs/assets/locale/messages_ms.json +2 -0
  21. package/dist/cjs/assets/locale/messages_nl.json +2 -0
  22. package/dist/cjs/assets/locale/messages_no.json +2 -0
  23. package/dist/cjs/assets/locale/messages_pl.json +2 -0
  24. package/dist/cjs/assets/locale/messages_pt.json +2 -0
  25. package/dist/cjs/assets/locale/messages_ro.json +2 -0
  26. package/dist/cjs/assets/locale/messages_ru.json +2 -0
  27. package/dist/cjs/assets/locale/messages_sk.json +2 -0
  28. package/dist/cjs/assets/locale/messages_sl.json +2 -0
  29. package/dist/cjs/assets/locale/messages_sv.json +2 -0
  30. package/dist/cjs/assets/locale/messages_th.json +2 -0
  31. package/dist/cjs/assets/locale/messages_tl.json +2 -0
  32. package/dist/cjs/assets/locale/messages_tr.json +2 -0
  33. package/dist/cjs/assets/locale/messages_uk.json +2 -0
  34. package/dist/cjs/assets/locale/messages_vi.json +2 -0
  35. package/dist/cjs/assets/locale/messages_zh.json +2 -0
  36. package/dist/cjs/assets/locale/version_file +1 -1
  37. package/dist/cjs/components/address/input/address-input.st.css.js +3 -3
  38. package/dist/cjs/components/address/input/address-input.st.css.js.map +1 -1
  39. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  40. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  41. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  42. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  43. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js +2 -2
  44. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  45. package/dist/cjs/components/audio/cell-audio-edit.js +10 -11
  46. package/dist/cjs/components/audio/cell-audio-edit.js.map +1 -1
  47. package/dist/cjs/components/color-view/cell-color-view.st.css.js +3 -3
  48. package/dist/cjs/components/color-view/cell-color-view.st.css.js.map +1 -1
  49. package/dist/cjs/components/color-view/color-view.st.css.js +4 -4
  50. package/dist/cjs/components/color-view/color-view.st.css.js.map +1 -1
  51. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js +3 -3
  52. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  53. package/dist/cjs/components/document/cell-document-edit.js +25 -26
  54. package/dist/cjs/components/document/cell-document-edit.js.map +1 -1
  55. package/dist/cjs/components/document/form-document-field.st.css.js +7 -7
  56. package/dist/cjs/components/document/form-document-field.st.css.js.map +1 -1
  57. package/dist/cjs/components/exclamation/exclamation.st.css.js +5 -5
  58. package/dist/cjs/components/exclamation/exclamation.st.css.js.map +1 -1
  59. package/dist/cjs/components/field-validation-settings/field-validation-settings-input.st.css.js +3 -3
  60. package/dist/cjs/components/field-validation-settings/field-validation-settings-input.st.css.js.map +1 -1
  61. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js +5 -5
  62. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  63. package/dist/cjs/components/image/cell-image-edit.js +22 -23
  64. package/dist/cjs/components/image/cell-image-edit.js.map +1 -1
  65. package/dist/cjs/components/image/image-preview-popover.js +77 -0
  66. package/dist/cjs/components/image/image-preview-popover.js.map +1 -0
  67. package/dist/cjs/components/image/image-thumbnail.js +14 -12
  68. package/dist/cjs/components/image/image-thumbnail.js.map +1 -1
  69. package/dist/cjs/components/image/image-view.js +9 -57
  70. package/dist/cjs/components/image/image-view.js.map +1 -1
  71. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js +3 -3
  72. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js.map +1 -1
  73. package/dist/cjs/components/index.js +6 -0
  74. package/dist/cjs/components/index.js.map +1 -1
  75. package/dist/cjs/components/media-control/cell-media-edit-shell.js +19 -31
  76. package/dist/cjs/components/media-control/cell-media-edit-shell.js.map +1 -1
  77. package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  78. package/dist/cjs/components/media-control/cell-media-edit-shell.st.css.js.map +1 -1
  79. package/dist/cjs/components/media-control/paste-url-button.st.css.js +4 -4
  80. package/dist/cjs/components/media-control/paste-url-button.st.css.js.map +1 -1
  81. package/dist/cjs/components/media-control/use-cell-media-edit.js +51 -23
  82. package/dist/cjs/components/media-control/use-cell-media-edit.js.map +1 -1
  83. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
  84. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  85. package/dist/cjs/components/media-image/media-image.st.css.js +4 -4
  86. package/dist/cjs/components/media-image/media-image.st.css.js.map +1 -1
  87. package/dist/cjs/components/media-image/overlays/overlay.st.css.js +3 -3
  88. package/dist/cjs/components/media-image/overlays/overlay.st.css.js.map +1 -1
  89. package/dist/cjs/components/media-image-field/cell-media-image-edit.js +530 -0
  90. package/dist/cjs/components/media-image-field/cell-media-image-edit.js.map +1 -0
  91. package/dist/cjs/components/media-image-field/cell-media-image-edit.st.css +63 -0
  92. package/dist/cjs/components/media-image-field/cell-media-image-edit.st.css.js +33 -0
  93. package/dist/cjs/components/media-image-field/cell-media-image-edit.st.css.js.map +1 -0
  94. package/dist/cjs/components/media-image-field/form-media-image-field.js +180 -0
  95. package/dist/cjs/components/media-image-field/form-media-image-field.js.map +1 -0
  96. package/dist/cjs/components/media-image-field/form-media-image-field.uni.driver.js +34 -0
  97. package/dist/cjs/components/media-image-field/form-media-image-field.uni.driver.js.map +1 -0
  98. package/dist/cjs/components/media-image-field/form-media-image-input.js +64 -0
  99. package/dist/cjs/components/media-image-field/form-media-image-input.js.map +1 -0
  100. package/dist/cjs/components/media-image-field/index.js +28 -0
  101. package/dist/cjs/components/media-image-field/index.js.map +1 -0
  102. package/dist/cjs/components/media-image-field/media-image-view.js +114 -0
  103. package/dist/cjs/components/media-image-field/media-image-view.js.map +1 -0
  104. package/dist/cjs/components/media-image-field/media-image-view.st.css +16 -0
  105. package/dist/cjs/components/media-image-field/media-image-view.st.css.js +27 -0
  106. package/dist/cjs/components/media-image-field/media-image-view.st.css.js.map +1 -0
  107. package/dist/cjs/components/media-image-field/media-image-view.uni.driver.js +18 -0
  108. package/dist/cjs/components/media-image-field/media-image-view.uni.driver.js.map +1 -0
  109. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  110. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  111. package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js +3 -3
  112. package/dist/cjs/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
  113. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  114. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  115. package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js +2 -2
  116. package/dist/cjs/components/reference/cell-multi-reference-input.st.css.js.map +1 -1
  117. package/dist/cjs/components/reference/cell-reference-input.st.css.js +3 -3
  118. package/dist/cjs/components/reference/cell-reference-input.st.css.js.map +1 -1
  119. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +4 -4
  120. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  121. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +3 -3
  122. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  123. package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  124. 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
  125. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  126. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  127. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  128. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  129. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  130. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  131. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +7 -7
  132. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  133. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +5 -5
  134. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  135. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  136. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  137. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  138. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  139. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  140. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  141. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  142. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  143. package/dist/cjs/components/text/cell-text-input.js +43 -27
  144. package/dist/cjs/components/text/cell-text-input.js.map +1 -1
  145. package/dist/cjs/components/text/text-view.st.css.js +3 -3
  146. package/dist/cjs/components/text/text-view.st.css.js.map +1 -1
  147. package/dist/cjs/services/translations.js.map +1 -1
  148. package/dist/cjs/styles.global.css +1 -1
  149. package/dist/cjs/types/index.js +6 -0
  150. package/dist/cjs/types/index.js.map +1 -1
  151. package/dist/cjs/types/media-image.js +4 -0
  152. package/dist/cjs/types/media-image.js.map +1 -0
  153. package/dist/cjs/utils/index.js +6 -0
  154. package/dist/cjs/utils/index.js.map +1 -1
  155. package/dist/cjs/utils/media-image-value.js +95 -0
  156. package/dist/cjs/utils/media-image-value.js.map +1 -0
  157. package/dist/esm/assets/locale/messages_ar.json +2 -0
  158. package/dist/esm/assets/locale/messages_bg.json +2 -0
  159. package/dist/esm/assets/locale/messages_ca.json +2 -0
  160. package/dist/esm/assets/locale/messages_cs.json +2 -0
  161. package/dist/esm/assets/locale/messages_da.json +2 -0
  162. package/dist/esm/assets/locale/messages_de.json +2 -0
  163. package/dist/esm/assets/locale/messages_el.json +2 -0
  164. package/dist/esm/assets/locale/messages_en.json +2 -0
  165. package/dist/esm/assets/locale/messages_es.json +2 -0
  166. package/dist/esm/assets/locale/messages_fi.json +2 -0
  167. package/dist/esm/assets/locale/messages_fr.json +2 -0
  168. package/dist/esm/assets/locale/messages_he.json +2 -0
  169. package/dist/esm/assets/locale/messages_hi.json +2 -0
  170. package/dist/esm/assets/locale/messages_hu.json +2 -0
  171. package/dist/esm/assets/locale/messages_id.json +2 -0
  172. package/dist/esm/assets/locale/messages_it.json +2 -0
  173. package/dist/esm/assets/locale/messages_ja.json +2 -0
  174. package/dist/esm/assets/locale/messages_ko.json +2 -0
  175. package/dist/esm/assets/locale/messages_lt.json +2 -0
  176. package/dist/esm/assets/locale/messages_ms.json +2 -0
  177. package/dist/esm/assets/locale/messages_nl.json +2 -0
  178. package/dist/esm/assets/locale/messages_no.json +2 -0
  179. package/dist/esm/assets/locale/messages_pl.json +2 -0
  180. package/dist/esm/assets/locale/messages_pt.json +2 -0
  181. package/dist/esm/assets/locale/messages_ro.json +2 -0
  182. package/dist/esm/assets/locale/messages_ru.json +2 -0
  183. package/dist/esm/assets/locale/messages_sk.json +2 -0
  184. package/dist/esm/assets/locale/messages_sl.json +2 -0
  185. package/dist/esm/assets/locale/messages_sv.json +2 -0
  186. package/dist/esm/assets/locale/messages_th.json +2 -0
  187. package/dist/esm/assets/locale/messages_tl.json +2 -0
  188. package/dist/esm/assets/locale/messages_tr.json +2 -0
  189. package/dist/esm/assets/locale/messages_uk.json +2 -0
  190. package/dist/esm/assets/locale/messages_vi.json +2 -0
  191. package/dist/esm/assets/locale/messages_zh.json +2 -0
  192. package/dist/esm/assets/locale/version_file +1 -1
  193. package/dist/esm/components/address/input/address-input.st.css.js +2 -2
  194. package/dist/esm/components/address/input/address-input.st.css.js.map +1 -1
  195. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
  196. package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js +2 -2
  197. package/dist/esm/components/audio/audio-player/audio-player.st.css.js +2 -2
  198. package/dist/esm/components/audio/cell-audio-edit.js +1 -1
  199. package/dist/esm/components/audio/cell-audio-edit.js.map +1 -1
  200. package/dist/esm/components/color-view/cell-color-view.st.css.js +2 -2
  201. package/dist/esm/components/color-view/color-view.st.css.js +2 -2
  202. package/dist/esm/components/color-view/color-view.st.css.js.map +1 -1
  203. package/dist/esm/components/delete-dialog/delete-dialog.st.css.js +2 -2
  204. package/dist/esm/components/document/cell-document-edit.js +1 -1
  205. package/dist/esm/components/document/cell-document-edit.js.map +1 -1
  206. package/dist/esm/components/document/form-document-field.st.css.js +2 -2
  207. package/dist/esm/components/document/form-document-field.st.css.js.map +1 -1
  208. package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
  209. package/dist/esm/components/field-validation-settings/field-validation-settings-input.st.css.js +2 -2
  210. package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
  211. package/dist/esm/components/image/cell-image-edit.js +1 -1
  212. package/dist/esm/components/image/cell-image-edit.js.map +1 -1
  213. package/dist/esm/components/image/image-preview-popover.js +16 -0
  214. package/dist/esm/components/image/image-preview-popover.js.map +1 -0
  215. package/dist/esm/components/image/image-thumbnail.js +5 -6
  216. package/dist/esm/components/image/image-thumbnail.js.map +1 -1
  217. package/dist/esm/components/image/image-view.js +4 -13
  218. package/dist/esm/components/image/image-view.js.map +1 -1
  219. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js +2 -2
  220. package/dist/esm/components/index.js +1 -0
  221. package/dist/esm/components/index.js.map +1 -1
  222. package/dist/esm/components/media-control/cell-media-edit-shell.js +5 -7
  223. package/dist/esm/components/media-control/cell-media-edit-shell.js.map +1 -1
  224. package/dist/esm/components/media-control/cell-media-edit-shell.st.css.js +2 -2
  225. package/dist/esm/components/media-control/paste-url-button.st.css.js +2 -2
  226. package/dist/esm/components/media-control/paste-url-button.st.css.js.map +1 -1
  227. package/dist/esm/components/media-control/use-cell-media-edit.js +48 -30
  228. package/dist/esm/components/media-control/use-cell-media-edit.js.map +1 -1
  229. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js +2 -2
  230. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  231. package/dist/esm/components/media-image/media-image.st.css.js +3 -3
  232. package/dist/esm/components/media-image/overlays/overlay.st.css.js +2 -2
  233. package/dist/esm/components/media-image-field/cell-media-image-edit.js +159 -0
  234. package/dist/esm/components/media-image-field/cell-media-image-edit.js.map +1 -0
  235. package/dist/esm/components/media-image-field/cell-media-image-edit.st.css +63 -0
  236. package/dist/esm/components/media-image-field/cell-media-image-edit.st.css.js +15 -0
  237. package/dist/esm/components/media-image-field/cell-media-image-edit.st.css.js.map +1 -0
  238. package/dist/esm/components/media-image-field/form-media-image-field.js +59 -0
  239. package/dist/esm/components/media-image-field/form-media-image-field.js.map +1 -0
  240. package/dist/esm/components/media-image-field/form-media-image-field.uni.driver.js +27 -0
  241. package/dist/esm/components/media-image-field/form-media-image-field.uni.driver.js.map +1 -0
  242. package/dist/esm/components/media-image-field/form-media-image-input.js +40 -0
  243. package/dist/esm/components/media-image-field/form-media-image-input.js.map +1 -0
  244. package/dist/esm/components/media-image-field/index.js +5 -0
  245. package/dist/esm/components/media-image-field/index.js.map +1 -0
  246. package/dist/esm/components/media-image-field/media-image-view.js +34 -0
  247. package/dist/esm/components/media-image-field/media-image-view.js.map +1 -0
  248. package/dist/esm/components/media-image-field/media-image-view.st.css +16 -0
  249. package/dist/esm/components/media-image-field/media-image-view.st.css.js +15 -0
  250. package/dist/esm/components/media-image-field/media-image-view.st.css.js.map +1 -0
  251. package/dist/esm/components/media-image-field/media-image-view.uni.driver.js +14 -0
  252. package/dist/esm/components/media-image-field/media-image-view.uni.driver.js.map +1 -0
  253. package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  254. package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js +2 -2
  255. package/dist/esm/components/multi-document/cell-multi-document-edit.st.css.js.map +1 -1
  256. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js +2 -2
  257. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  258. package/dist/esm/components/reference/cell-multi-reference-input.st.css.js +2 -2
  259. package/dist/esm/components/reference/cell-multi-reference-input.st.css.js.map +1 -1
  260. package/dist/esm/components/reference/cell-reference-input.st.css.js +2 -2
  261. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +2 -2
  262. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  263. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +2 -2
  264. package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  265. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
  266. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
  267. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  268. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  269. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +2 -2
  270. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +2 -2
  271. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +2 -2
  272. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  273. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +2 -2
  274. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +2 -2
  275. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +2 -2
  276. package/dist/esm/components/text/cell-text-input.js +9 -13
  277. package/dist/esm/components/text/cell-text-input.js.map +1 -1
  278. package/dist/esm/components/text/text-view.st.css.js +2 -2
  279. package/dist/esm/components/text/text-view.st.css.js.map +1 -1
  280. package/dist/esm/styles.global.css +1 -1
  281. package/dist/esm/types/index.js +1 -0
  282. package/dist/esm/types/index.js.map +1 -1
  283. package/dist/esm/types/media-image.js +2 -0
  284. package/dist/esm/types/media-image.js.map +1 -0
  285. package/dist/esm/utils/index.js +1 -0
  286. package/dist/esm/utils/index.js.map +1 -1
  287. package/dist/esm/utils/media-image-value.js +65 -0
  288. package/dist/esm/utils/media-image-value.js.map +1 -0
  289. package/dist/types/components/address/input/address-input.st.css.d.ts.map +1 -1
  290. package/dist/types/components/audio/cell-audio-edit.d.ts.map +1 -1
  291. package/dist/types/components/color-view/color-view.st.css.d.ts.map +1 -1
  292. package/dist/types/components/document/cell-document-edit.d.ts.map +1 -1
  293. package/dist/types/components/document/form-document-field.st.css.d.ts.map +1 -1
  294. package/dist/types/components/image/cell-image-edit.d.ts.map +1 -1
  295. package/dist/types/components/image/image-preview-popover.d.ts +10 -0
  296. package/dist/types/components/image/image-preview-popover.d.ts.map +1 -0
  297. package/dist/types/components/image/image-thumbnail.d.ts +3 -0
  298. package/dist/types/components/image/image-thumbnail.d.ts.map +1 -1
  299. package/dist/types/components/image/image-view.d.ts.map +1 -1
  300. package/dist/types/components/index.d.ts +1 -0
  301. package/dist/types/components/index.d.ts.map +1 -1
  302. package/dist/types/components/media-control/cell-media-edit-shell.d.ts +1 -2
  303. package/dist/types/components/media-control/cell-media-edit-shell.d.ts.map +1 -1
  304. package/dist/types/components/media-control/paste-url-button.st.css.d.ts.map +1 -1
  305. package/dist/types/components/media-control/use-cell-media-edit.d.ts +20 -4
  306. package/dist/types/components/media-control/use-cell-media-edit.d.ts.map +1 -1
  307. package/dist/types/components/media-gallery/form-media-gallery-field.st.css.d.ts.map +1 -1
  308. package/dist/types/components/media-image-field/cell-media-image-edit.d.ts +26 -0
  309. package/dist/types/components/media-image-field/cell-media-image-edit.d.ts.map +1 -0
  310. package/dist/types/components/media-image-field/cell-media-image-edit.st.css.d.ts +24 -0
  311. package/dist/types/components/media-image-field/cell-media-image-edit.st.css.d.ts.map +1 -0
  312. package/dist/types/components/media-image-field/form-media-image-field.d.ts +32 -0
  313. package/dist/types/components/media-image-field/form-media-image-field.d.ts.map +1 -0
  314. package/dist/types/components/media-image-field/form-media-image-field.uni.driver.d.ts +22 -0
  315. package/dist/types/components/media-image-field/form-media-image-field.uni.driver.d.ts.map +1 -0
  316. package/dist/types/components/media-image-field/form-media-image-input.d.ts +9 -0
  317. package/dist/types/components/media-image-field/form-media-image-input.d.ts.map +1 -0
  318. package/dist/types/components/media-image-field/index.d.ts +5 -0
  319. package/dist/types/components/media-image-field/index.d.ts.map +1 -0
  320. package/dist/types/components/media-image-field/media-image-view.d.ts +13 -0
  321. package/dist/types/components/media-image-field/media-image-view.d.ts.map +1 -0
  322. package/dist/types/components/media-image-field/media-image-view.st.css.d.ts +18 -0
  323. package/dist/types/components/media-image-field/media-image-view.st.css.d.ts.map +1 -0
  324. package/dist/types/components/media-image-field/media-image-view.uni.driver.d.ts +12 -0
  325. package/dist/types/components/media-image-field/media-image-view.uni.driver.d.ts.map +1 -0
  326. package/dist/types/components/multi-document/cell-multi-document-edit.st.css.d.ts.map +1 -1
  327. package/dist/types/components/multi-document/multi-document-input/form-multi-document.st.css.d.ts.map +1 -1
  328. package/dist/types/components/reference/cell-multi-reference-input.st.css.d.ts.map +1 -1
  329. package/dist/types/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.d.ts.map +1 -1
  330. package/dist/types/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.d.ts.map +1 -1
  331. package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.d.ts.map +1 -1
  332. package/dist/types/components/text/cell-text-input.d.ts +1 -1
  333. package/dist/types/components/text/cell-text-input.d.ts.map +1 -1
  334. package/dist/types/components/text/text-view.st.css.d.ts.map +1 -1
  335. package/dist/types/services/translations.d.ts +1 -1
  336. package/dist/types/services/translations.d.ts.map +1 -1
  337. package/dist/types/types/index.d.ts +1 -0
  338. package/dist/types/types/index.d.ts.map +1 -1
  339. package/dist/types/types/media-image.d.ts +23 -0
  340. package/dist/types/types/media-image.d.ts.map +1 -0
  341. package/dist/types/utils/index.d.ts +1 -0
  342. package/dist/types/utils/index.d.ts.map +1 -1
  343. package/dist/types/utils/media-image-value.d.ts +31 -0
  344. package/dist/types/utils/media-image-value.d.ts.map +1 -0
  345. package/package.json +4 -4
  346. package/src/__tests__/components/media-image-field/form-media-image-input.spec.tsx +130 -0
  347. package/src/__tests__/components/media-image-field/media-image-view.spec.tsx +51 -0
  348. package/src/__tests__/components/text/cell-text-input.spec.tsx +27 -0
  349. package/src/__tests__/utils/media-image-value.spec.ts +153 -0
  350. package/src/assets/locale/messages_ar.json +2 -0
  351. package/src/assets/locale/messages_bg.json +2 -0
  352. package/src/assets/locale/messages_ca.json +2 -0
  353. package/src/assets/locale/messages_cs.json +2 -0
  354. package/src/assets/locale/messages_da.json +2 -0
  355. package/src/assets/locale/messages_de.json +2 -0
  356. package/src/assets/locale/messages_el.json +2 -0
  357. package/src/assets/locale/messages_en.json +2 -0
  358. package/src/assets/locale/messages_es.json +2 -0
  359. package/src/assets/locale/messages_fi.json +2 -0
  360. package/src/assets/locale/messages_fr.json +2 -0
  361. package/src/assets/locale/messages_he.json +2 -0
  362. package/src/assets/locale/messages_hi.json +2 -0
  363. package/src/assets/locale/messages_hu.json +2 -0
  364. package/src/assets/locale/messages_id.json +2 -0
  365. package/src/assets/locale/messages_it.json +2 -0
  366. package/src/assets/locale/messages_ja.json +2 -0
  367. package/src/assets/locale/messages_ko.json +2 -0
  368. package/src/assets/locale/messages_lt.json +2 -0
  369. package/src/assets/locale/messages_ms.json +2 -0
  370. package/src/assets/locale/messages_nl.json +2 -0
  371. package/src/assets/locale/messages_no.json +2 -0
  372. package/src/assets/locale/messages_pl.json +2 -0
  373. package/src/assets/locale/messages_pt.json +2 -0
  374. package/src/assets/locale/messages_ro.json +2 -0
  375. package/src/assets/locale/messages_ru.json +2 -0
  376. package/src/assets/locale/messages_sk.json +2 -0
  377. package/src/assets/locale/messages_sl.json +2 -0
  378. package/src/assets/locale/messages_sv.json +2 -0
  379. package/src/assets/locale/messages_th.json +2 -0
  380. package/src/assets/locale/messages_tl.json +2 -0
  381. package/src/assets/locale/messages_tr.json +2 -0
  382. package/src/assets/locale/messages_uk.json +2 -0
  383. package/src/assets/locale/messages_vi.json +2 -0
  384. package/src/assets/locale/messages_zh.json +2 -0
  385. package/src/assets/locale/version_file +1 -1
  386. package/src/components/address/input/address-input.st.css.ts +2 -2
  387. package/src/components/audio/actions/actions-menu/actions-menu.st.css.ts +2 -2
  388. package/src/components/audio/audio-field/form-audio-field.st.css.ts +2 -2
  389. package/src/components/audio/audio-player/audio-player.st.css.ts +2 -2
  390. package/src/components/audio/cell-audio-edit.tsx +0 -1
  391. package/src/components/color-view/cell-color-view.st.css.ts +2 -2
  392. package/src/components/color-view/color-view.st.css.ts +2 -2
  393. package/src/components/delete-dialog/delete-dialog.st.css.ts +2 -2
  394. package/src/components/document/cell-document-edit.tsx +0 -1
  395. package/src/components/document/form-document-field.st.css.ts +2 -2
  396. package/src/components/exclamation/exclamation.st.css.ts +2 -2
  397. package/src/components/field-validation-settings/field-validation-settings-input.st.css.ts +2 -2
  398. package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
  399. package/src/components/image/cell-image-edit.tsx +0 -1
  400. package/src/components/image/image-preview-popover.tsx +52 -0
  401. package/src/components/image/image-thumbnail.tsx +12 -7
  402. package/src/components/image/image-view.tsx +16 -42
  403. package/src/components/image/thumbnail-replace-overlay.st.css.ts +2 -2
  404. package/src/components/index.ts +1 -0
  405. package/src/components/media-control/cell-media-edit-shell.st.css.ts +2 -2
  406. package/src/components/media-control/cell-media-edit-shell.tsx +7 -20
  407. package/src/components/media-control/paste-url-button.st.css.ts +2 -2
  408. package/src/components/media-control/use-cell-media-edit.ts +98 -28
  409. package/src/components/media-gallery/form-media-gallery-field.st.css.ts +2 -2
  410. package/src/components/media-image/media-image.st.css.ts +3 -3
  411. package/src/components/media-image/overlays/overlay.st.css.ts +2 -2
  412. package/src/components/media-image-field/cell-media-image-edit.st.css +63 -0
  413. package/src/components/media-image-field/cell-media-image-edit.st.css.ts +25 -0
  414. package/src/components/media-image-field/cell-media-image-edit.tsx +402 -0
  415. package/src/components/media-image-field/form-media-image-field.tsx +165 -0
  416. package/src/components/media-image-field/form-media-image-field.uni.driver.ts +42 -0
  417. package/src/components/media-image-field/form-media-image-input.tsx +56 -0
  418. package/src/components/media-image-field/index.ts +4 -0
  419. package/src/components/media-image-field/media-image-view.st.css +16 -0
  420. package/src/components/media-image-field/media-image-view.st.css.ts +25 -0
  421. package/src/components/media-image-field/media-image-view.tsx +95 -0
  422. package/src/components/media-image-field/media-image-view.uni.driver.ts +18 -0
  423. package/src/components/media-tag/web-media-tag/media-tag.st.css.ts +2 -2
  424. package/src/components/multi-document/cell-multi-document-edit.st.css.ts +2 -2
  425. package/src/components/multi-document/multi-document-input/form-multi-document.st.css.ts +2 -2
  426. package/src/components/reference/cell-multi-reference-input.st.css.ts +2 -2
  427. package/src/components/reference/cell-reference-input.st.css.ts +2 -2
  428. package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.ts +2 -2
  429. package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.ts +2 -2
  430. package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.ts +2 -2
  431. package/src/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.ts +2 -2
  432. package/src/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.ts +2 -2
  433. package/src/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.ts +2 -2
  434. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts +2 -2
  435. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts +2 -2
  436. package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts +2 -2
  437. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts +2 -2
  438. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts +2 -2
  439. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts +2 -2
  440. package/src/components/text/cell-text-input.tsx +20 -18
  441. package/src/components/text/text-view.st.css.ts +2 -2
  442. package/src/services/translations.ts +2 -0
  443. package/src/styles.global.css +1 -1
  444. package/src/types/index.ts +1 -0
  445. package/src/types/media-image.ts +24 -0
  446. package/src/utils/index.ts +1 -0
  447. package/src/utils/media-image-value.ts +99 -0
@@ -0,0 +1,530 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.CellMediaImageEdit = void 0;
5
+ var _react = _interopRequireWildcard(require("react"));
6
+ var _designSystem = require("@wix/design-system");
7
+ var _lazy = require("@wix/wix-ui-icons-common/lazy");
8
+ var _autoFieldTypes = require("../../auto-field-types");
9
+ var _hooks = require("../../hooks");
10
+ var _getImageSource = require("../../utils/get-image-source");
11
+ var _mediaImageValue = require("../../utils/media-image-value");
12
+ var _mediaUtils = require("../../utils/media-utils");
13
+ var _mediaControl = require("../media-control");
14
+ var _mediaPreviewModal = require("../media-gallery/media-preview-modal");
15
+ var _mediaImage = require("../media-image");
16
+ var _mediaImageView = require("./media-image-view");
17
+ var _cellMediaImageEditStCss = require("./cell-media-image-edit.st.css.js");
18
+ var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/fields/dist/cjs/components/media-image-field/cell-media-image-edit.tsx";
19
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
20
+ /** What is on top of the editor. Escape and click-outside act on it. */
21
+
22
+ const imageFromUrl = (url, current) => (0, _mediaImageValue.replaceImage)(current, (0, _mediaImageValue.fromImageUrl)(url));
23
+ /** WDS shows the menu's open state only to its trigger, so the trigger
24
+ * reports it. */
25
+ const MenuTrigger = ({
26
+ isOpen,
27
+ toggle,
28
+ buttonRef,
29
+ onOpenChange,
30
+ ariaLabel
31
+ }) => {
32
+ (0, _react.useEffect)(() => {
33
+ onOpenChange(isOpen);
34
+ }, [isOpen, onOpenChange]);
35
+ return /*#__PURE__*/_react.default.createElement(_designSystem.IconButton, {
36
+ ref: buttonRef,
37
+ size: "small",
38
+ skin: "light",
39
+ priority: "secondary",
40
+ dataHook: "media-image-edit-more-button",
41
+ ariaLabel: ariaLabel,
42
+ "aria-haspopup": "menu",
43
+ "aria-expanded": isOpen,
44
+ onClick: toggle,
45
+ __self: void 0,
46
+ __source: {
47
+ fileName: _jsxFileName,
48
+ lineNumber: 90,
49
+ columnNumber: 5
50
+ }
51
+ }, /*#__PURE__*/_react.default.createElement(_lazy.MoreSmall, {
52
+ __self: void 0,
53
+ __source: {
54
+ fileName: _jsxFileName,
55
+ lineNumber: 101,
56
+ columnNumber: 7
57
+ }
58
+ }));
59
+ };
60
+
61
+ /**
62
+ * Edits a `MEDIA_IMAGE` cell. An empty cell shows the add and paste-URL
63
+ * buttons. A cell with an image opens a popover with the image and its alt
64
+ * text. Changes go to `onChange` as they happen and are committed once, when
65
+ * the popover closes.
66
+ */
67
+ const CellMediaImageEdit = ({
68
+ value,
69
+ onChange,
70
+ onCommit,
71
+ onCancel,
72
+ onStartEdit,
73
+ inputRef,
74
+ dataHook
75
+ }) => {
76
+ const {
77
+ t
78
+ } = (0, _hooks.useTranslations)();
79
+ const image = (0, _mediaImageValue.toMediaImageValue)(value);
80
+ const src = (0, _getImageSource.getImageSource)(image);
81
+ // 'none' once committed.
82
+ const [popoverLayer, setPopoverLayer] = (0, _react.useState)('popover');
83
+ const mediaEdit = (0, _mediaControl.useCellMediaEdit)({
84
+ mediaType: _mediaUtils.MEDIA_TYPES.IMAGE,
85
+ value: image,
86
+ onChange,
87
+ onCommit,
88
+ onCancel,
89
+ onStartEdit,
90
+ inputRef,
91
+ fromPick: _mediaImageValue.fromMediaManagerPick,
92
+ fromUrl: imageFromUrl,
93
+ commitOnPick: false
94
+ });
95
+ const {
96
+ loading,
97
+ pasteUrlForm,
98
+ handleCallMedia,
99
+ handleDelete,
100
+ downloadMedia
101
+ } = mediaEdit;
102
+ const closePasteUrl = pasteUrlForm.handleClose;
103
+ // The media manager and the URL form sit above the popover layers.
104
+ const openLayer = loading ? 'loading' : pasteUrlForm.isOpen ? 'pasteUrl' : image ? popoverLayer : 'none';
105
+ const openPasteUrl = mediaEdit.startEditAndOpenPasteUrl({
106
+ title: t('CMS.image.replaceWithUrl.title'),
107
+ value: (0, _mediaImageValue.isExternalMediaImage)(image) ? image.url : undefined
108
+ });
109
+ const handleDownload = (0, _react.useCallback)(() => {
110
+ // The Media Manager can't make a download link for an external URL.
111
+ if ((0, _mediaImageValue.isExternalMediaImage)(image)) {
112
+ (0, _mediaUtils.executeDownloading)(image.url);
113
+ } else if (src) {
114
+ downloadMedia(src);
115
+ }
116
+ }, [src, image, downloadMedia]);
117
+ const commit = (0, _react.useCallback)(() => {
118
+ setPopoverLayer('none');
119
+ onCommit();
120
+ }, [onCommit]);
121
+
122
+ // Picking Preview sets its own layer, which closing the menu must not undo.
123
+ const handleMenuOpenChange = (0, _react.useCallback)(isOpen => {
124
+ setPopoverLayer(layer => {
125
+ if (isOpen) {
126
+ return 'menu';
127
+ }
128
+ return layer === 'menu' ? 'popover' : layer;
129
+ });
130
+ }, []);
131
+
132
+ // Fires on mouseup, before the click that closes a menu or a modal, so
133
+ // `openLayer` still says what was open.
134
+ const handleClickOutside = (0, _react.useCallback)(() => {
135
+ if (openLayer === 'popover') {
136
+ commit();
137
+ }
138
+ }, [openLayer, commit]);
139
+ (0, _react.useEffect)(() => {
140
+ // WDS closes the menu on Escape and stops the event there.
141
+ if (openLayer === 'none' || openLayer === 'loading' || openLayer === 'menu') {
142
+ return;
143
+ }
144
+ // Capture phase, so the table doesn't cancel the edit first.
145
+ const handleKeyDown = e => {
146
+ if (e.key !== 'Escape') {
147
+ return;
148
+ }
149
+ e.stopPropagation();
150
+ if (openLayer === 'pasteUrl') {
151
+ closePasteUrl();
152
+ } else if (openLayer === 'preview') {
153
+ setPopoverLayer('popover');
154
+ } else {
155
+ commit();
156
+ }
157
+ };
158
+ document.addEventListener('keydown', handleKeyDown, true);
159
+ return () => document.removeEventListener('keydown', handleKeyDown, true);
160
+ }, [openLayer, closePasteUrl, commit]);
161
+ const emptyActions = /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_designSystem.Tooltip, {
162
+ content: t('CMS.image.add'),
163
+ appendTo: "window",
164
+ __self: void 0,
165
+ __source: {
166
+ fileName: _jsxFileName,
167
+ lineNumber: 222,
168
+ columnNumber: 7
169
+ }
170
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.IconButton, {
171
+ size: "tiny",
172
+ priority: "secondary",
173
+ dataHook: "media-image-edit-add-button",
174
+ ariaLabel: t('CMS.image.add'),
175
+ onClick: handleCallMedia,
176
+ __self: void 0,
177
+ __source: {
178
+ fileName: _jsxFileName,
179
+ lineNumber: 223,
180
+ columnNumber: 9
181
+ }
182
+ }, /*#__PURE__*/_react.default.createElement(_lazy.Add, {
183
+ __self: void 0,
184
+ __source: {
185
+ fileName: _jsxFileName,
186
+ lineNumber: 230,
187
+ columnNumber: 11
188
+ }
189
+ }))), /*#__PURE__*/_react.default.createElement(_designSystem.Tooltip, {
190
+ content: t('CMS.image.replaceWithUrl.button'),
191
+ appendTo: "window",
192
+ __self: void 0,
193
+ __source: {
194
+ fileName: _jsxFileName,
195
+ lineNumber: 233,
196
+ columnNumber: 7
197
+ }
198
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.IconButton, {
199
+ size: "tiny",
200
+ priority: "tertiary",
201
+ dataHook: "media-image-edit-paste-url-button",
202
+ ariaLabel: t('CMS.image.replaceWithUrl.button'),
203
+ onClick: openPasteUrl,
204
+ __self: void 0,
205
+ __source: {
206
+ fileName: _jsxFileName,
207
+ lineNumber: 234,
208
+ columnNumber: 9
209
+ }
210
+ }, /*#__PURE__*/_react.default.createElement(_lazy.LinkSmall, {
211
+ __self: void 0,
212
+ __source: {
213
+ fileName: _jsxFileName,
214
+ lineNumber: 241,
215
+ columnNumber: 11
216
+ }
217
+ }))));
218
+
219
+ // One return for both states, so the shell and its container stay mounted
220
+ // when a pick fills an empty cell.
221
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_mediaControl.CellMediaEditShell, {
222
+ dataHook: dataHook,
223
+ mediaEdit: mediaEdit,
224
+ fieldType: _mediaControl.MediaFieldType.image,
225
+ padding: image ? '0' : undefined,
226
+ __self: void 0,
227
+ __source: {
228
+ fileName: _jsxFileName,
229
+ lineNumber: 251,
230
+ columnNumber: 7
231
+ }
232
+ }, !image ? emptyActions : /*#__PURE__*/_react.default.createElement("div", {
233
+ className: _cellMediaImageEditStCss.classes.view,
234
+ __self: void 0,
235
+ __source: {
236
+ fileName: _jsxFileName,
237
+ lineNumber: 260,
238
+ columnNumber: 11
239
+ }
240
+ }, /*#__PURE__*/_react.default.createElement(_mediaImageView.MediaImageView, {
241
+ value: image,
242
+ __self: void 0,
243
+ __source: {
244
+ fileName: _jsxFileName,
245
+ lineNumber: 261,
246
+ columnNumber: 13
247
+ }
248
+ }), /*#__PURE__*/_react.default.createElement("div", {
249
+ className: _cellMediaImageEditStCss.classes.anchor,
250
+ __self: void 0,
251
+ __source: {
252
+ fileName: _jsxFileName,
253
+ lineNumber: 262,
254
+ columnNumber: 13
255
+ }
256
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Popover, {
257
+ shown: popoverLayer !== 'none',
258
+ appendTo: "window",
259
+ placement: "bottom-start",
260
+ moveBy: {
261
+ x: 0,
262
+ y: 4
263
+ },
264
+ zIndex: 5001,
265
+ animate: true,
266
+ flip: true,
267
+ fixed: false,
268
+ onClickOutside: handleClickOutside,
269
+ __self: void 0,
270
+ __source: {
271
+ fileName: _jsxFileName,
272
+ lineNumber: 263,
273
+ columnNumber: 15
274
+ }
275
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Popover.Element, {
276
+ __self: void 0,
277
+ __source: {
278
+ fileName: _jsxFileName,
279
+ lineNumber: 274,
280
+ columnNumber: 17
281
+ }
282
+ }, /*#__PURE__*/_react.default.createElement("div", {
283
+ className: _cellMediaImageEditStCss.classes.anchorBox,
284
+ __self: void 0,
285
+ __source: {
286
+ fileName: _jsxFileName,
287
+ lineNumber: 275,
288
+ columnNumber: 19
289
+ }
290
+ })), /*#__PURE__*/_react.default.createElement(_designSystem.Popover.Content, {
291
+ __self: void 0,
292
+ __source: {
293
+ fileName: _jsxFileName,
294
+ lineNumber: 277,
295
+ columnNumber: 17
296
+ }
297
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
298
+ dataHook: "media-image-edit-popover",
299
+ className: _cellMediaImageEditStCss.classes.popoverContent,
300
+ direction: "vertical",
301
+ gap: "SP3",
302
+ padding: "SP3",
303
+ __self: void 0,
304
+ __source: {
305
+ fileName: _jsxFileName,
306
+ lineNumber: 278,
307
+ columnNumber: 19
308
+ }
309
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.FormField, {
310
+ label: t('CMS.image.thumbnail.label'),
311
+ __self: void 0,
312
+ __source: {
313
+ fileName: _jsxFileName,
314
+ lineNumber: 285,
315
+ columnNumber: 21
316
+ }
317
+ }, /*#__PURE__*/_react.default.createElement("div", {
318
+ className: _cellMediaImageEditStCss.classes.image,
319
+ __self: void 0,
320
+ __source: {
321
+ fileName: _jsxFileName,
322
+ lineNumber: 286,
323
+ columnNumber: 23
324
+ }
325
+ }, /*#__PURE__*/_react.default.createElement(_mediaImage.MediaImage, {
326
+ dataHook: "media-image-edit-image",
327
+ src: src,
328
+ alt: "",
329
+ fit: "cover",
330
+ transparent: true,
331
+ size: _autoFieldTypes.ThumbnailSize.L,
332
+ width: "180px",
333
+ height: "180px",
334
+ borderRadius: "0",
335
+ __self: void 0,
336
+ __source: {
337
+ fileName: _jsxFileName,
338
+ lineNumber: 287,
339
+ columnNumber: 25
340
+ }
341
+ }), /*#__PURE__*/_react.default.createElement("div", {
342
+ className: (0, _cellMediaImageEditStCss.st)(_cellMediaImageEditStCss.classes.imageActions, {
343
+ menuOpen: popoverLayer === 'menu'
344
+ }),
345
+ __self: void 0,
346
+ __source: {
347
+ fileName: _jsxFileName,
348
+ lineNumber: 298,
349
+ columnNumber: 25
350
+ }
351
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Tooltip, {
352
+ content: t('CMS.image.replace'),
353
+ appendTo: "window",
354
+ __self: void 0,
355
+ __source: {
356
+ fileName: _jsxFileName,
357
+ lineNumber: 303,
358
+ columnNumber: 27
359
+ }
360
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.IconButton, {
361
+ size: "small",
362
+ skin: "light",
363
+ priority: "secondary",
364
+ dataHook: "media-image-edit-replace-button",
365
+ ariaLabel: t('CMS.image.replace'),
366
+ onClick: handleCallMedia,
367
+ __self: void 0,
368
+ __source: {
369
+ fileName: _jsxFileName,
370
+ lineNumber: 307,
371
+ columnNumber: 29
372
+ }
373
+ }, /*#__PURE__*/_react.default.createElement(_lazy.Replace, {
374
+ __self: void 0,
375
+ __source: {
376
+ fileName: _jsxFileName,
377
+ lineNumber: 315,
378
+ columnNumber: 31
379
+ }
380
+ }))), /*#__PURE__*/_react.default.createElement(_designSystem.PopoverMenu, {
381
+ textSize: "small",
382
+ appendTo: "window",
383
+ zIndex: 5002,
384
+ triggerElement: ({
385
+ isOpen,
386
+ toggle,
387
+ ref
388
+ }) => /*#__PURE__*/_react.default.createElement(MenuTrigger, {
389
+ isOpen: isOpen,
390
+ toggle: toggle,
391
+ buttonRef: ref,
392
+ onOpenChange: handleMenuOpenChange,
393
+ ariaLabel: t('auto-patterns.fields.more_actions_tooltip'),
394
+ __self: void 0,
395
+ __source: {
396
+ fileName: _jsxFileName,
397
+ lineNumber: 323,
398
+ columnNumber: 31
399
+ }
400
+ }),
401
+ __self: void 0,
402
+ __source: {
403
+ fileName: _jsxFileName,
404
+ lineNumber: 318,
405
+ columnNumber: 27
406
+ }
407
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.PopoverMenu.MenuItem, {
408
+ dataHook: "media-image-edit-action-replace-url",
409
+ text: t('CMS.image.replaceWithUrl.button'),
410
+ prefixIcon: /*#__PURE__*/_react.default.createElement(_lazy.Link, {
411
+ __self: void 0,
412
+ __source: {
413
+ fileName: _jsxFileName,
414
+ lineNumber: 337,
415
+ columnNumber: 43
416
+ }
417
+ }),
418
+ onClick: openPasteUrl,
419
+ __self: void 0,
420
+ __source: {
421
+ fileName: _jsxFileName,
422
+ lineNumber: 334,
423
+ columnNumber: 29
424
+ }
425
+ }), /*#__PURE__*/_react.default.createElement(_designSystem.PopoverMenu.MenuItem, {
426
+ dataHook: "media-image-edit-action-preview",
427
+ text: t('CMS.mediaGallery.preview'),
428
+ prefixIcon: /*#__PURE__*/_react.default.createElement(_lazy.Maximize, {
429
+ __self: void 0,
430
+ __source: {
431
+ fileName: _jsxFileName,
432
+ lineNumber: 343,
433
+ columnNumber: 43
434
+ }
435
+ }),
436
+ onClick: () => setPopoverLayer('preview'),
437
+ __self: void 0,
438
+ __source: {
439
+ fileName: _jsxFileName,
440
+ lineNumber: 340,
441
+ columnNumber: 29
442
+ }
443
+ }), /*#__PURE__*/_react.default.createElement(_designSystem.PopoverMenu.MenuItem, {
444
+ dataHook: "media-image-edit-action-download",
445
+ text: t('CMS.image.download'),
446
+ prefixIcon: /*#__PURE__*/_react.default.createElement(_lazy.Download, {
447
+ __self: void 0,
448
+ __source: {
449
+ fileName: _jsxFileName,
450
+ lineNumber: 349,
451
+ columnNumber: 43
452
+ }
453
+ }),
454
+ onClick: handleDownload,
455
+ __self: void 0,
456
+ __source: {
457
+ fileName: _jsxFileName,
458
+ lineNumber: 346,
459
+ columnNumber: 29
460
+ }
461
+ }), /*#__PURE__*/_react.default.createElement(_designSystem.PopoverMenu.Divider, {
462
+ __self: void 0,
463
+ __source: {
464
+ fileName: _jsxFileName,
465
+ lineNumber: 352,
466
+ columnNumber: 29
467
+ }
468
+ }), /*#__PURE__*/_react.default.createElement(_designSystem.PopoverMenu.MenuItem, {
469
+ dataHook: "media-image-edit-action-delete",
470
+ text: t('CMS.image.clear'),
471
+ skin: "destructive",
472
+ prefixIcon: /*#__PURE__*/_react.default.createElement(_lazy.Delete, {
473
+ __self: void 0,
474
+ __source: {
475
+ fileName: _jsxFileName,
476
+ lineNumber: 357,
477
+ columnNumber: 43
478
+ }
479
+ }),
480
+ onClick: handleDelete,
481
+ __self: void 0,
482
+ __source: {
483
+ fileName: _jsxFileName,
484
+ lineNumber: 353,
485
+ columnNumber: 29
486
+ }
487
+ }))))), /*#__PURE__*/_react.default.createElement(_designSystem.FormField, {
488
+ label: t('CMS.image.altText.label'),
489
+ __self: void 0,
490
+ __source: {
491
+ fileName: _jsxFileName,
492
+ lineNumber: 364,
493
+ columnNumber: 21
494
+ }
495
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Input, {
496
+ dataHook: "media-image-edit-alt-input",
497
+ size: "small",
498
+ value: image.altText ?? '',
499
+ placeholder: t('CMS.image.altText.inputPlaceholder'),
500
+ onChange: e => onChange((0, _mediaImageValue.withAltText)(image, e.target.value)),
501
+ onEnterPressed: commit,
502
+ __self: void 0,
503
+ __source: {
504
+ fileName: _jsxFileName,
505
+ lineNumber: 365,
506
+ columnNumber: 23
507
+ }
508
+ })))))))), image && /*#__PURE__*/_react.default.createElement(_mediaPreviewModal.MediaPreviewModal, {
509
+ isOpen: popoverLayer === 'preview',
510
+ value: src,
511
+ onClose: () => setPopoverLayer('popover'),
512
+ onRequestMedia: handleCallMedia,
513
+ onClearMedia: handleDelete,
514
+ onDownloadMedia: handleDownload,
515
+ textKeys: {
516
+ replace: 'CMS.image.replace',
517
+ download: 'CMS.image.download',
518
+ delete: 'CMS.image.clear'
519
+ },
520
+ __self: void 0,
521
+ __source: {
522
+ fileName: _jsxFileName,
523
+ lineNumber: 384,
524
+ columnNumber: 9
525
+ }
526
+ }));
527
+ };
528
+ exports.CellMediaImageEdit = CellMediaImageEdit;
529
+ CellMediaImageEdit.displayName = 'CellMediaImageEdit';
530
+ //# sourceMappingURL=cell-media-image-edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_lazy","_autoFieldTypes","_hooks","_getImageSource","_mediaImageValue","_mediaUtils","_mediaControl","_mediaPreviewModal","_mediaImage","_mediaImageView","_cellMediaImageEditStCss","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","imageFromUrl","url","current","replaceImage","fromImageUrl","MenuTrigger","isOpen","toggle","buttonRef","onOpenChange","ariaLabel","useEffect","createElement","IconButton","ref","size","skin","priority","dataHook","onClick","__self","__source","fileName","lineNumber","columnNumber","MoreSmall","CellMediaImageEdit","value","onChange","onCommit","onCancel","onStartEdit","inputRef","useTranslations","image","toMediaImageValue","src","getImageSource","popoverLayer","setPopoverLayer","useState","mediaEdit","useCellMediaEdit","mediaType","MEDIA_TYPES","IMAGE","fromPick","fromMediaManagerPick","fromUrl","commitOnPick","loading","pasteUrlForm","handleCallMedia","handleDelete","downloadMedia","closePasteUrl","handleClose","openLayer","openPasteUrl","startEditAndOpenPasteUrl","title","isExternalMediaImage","undefined","handleDownload","useCallback","executeDownloading","commit","handleMenuOpenChange","layer","handleClickOutside","handleKeyDown","key","stopPropagation","document","addEventListener","removeEventListener","emptyActions","Fragment","Tooltip","content","appendTo","Add","LinkSmall","CellMediaEditShell","fieldType","MediaFieldType","padding","className","classes","view","MediaImageView","anchor","Popover","shown","placement","moveBy","x","y","zIndex","animate","flip","fixed","onClickOutside","Element","anchorBox","Content","Box","popoverContent","direction","gap","FormField","label","MediaImage","alt","fit","transparent","ThumbnailSize","L","width","height","borderRadius","st","imageActions","menuOpen","Replace","PopoverMenu","textSize","triggerElement","MenuItem","text","prefixIcon","Link","Maximize","Download","Divider","Delete","Input","altText","placeholder","withAltText","target","onEnterPressed","MediaPreviewModal","onClose","onRequestMedia","onClearMedia","onDownloadMedia","textKeys","replace","download","delete","exports","displayName"],"sources":["../../../../src/components/media-image-field/cell-media-image-edit.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState } from 'react';\nimport {\n Box,\n FormField,\n IconButton,\n Input,\n Popover,\n PopoverMenu,\n Tooltip,\n} from '@wix/design-system';\nimport {\n Add,\n Delete,\n Download,\n Link,\n LinkSmall,\n Maximize,\n MoreSmall,\n Replace,\n} from '@wix/wix-ui-icons-common/lazy';\nimport { ThumbnailSize } from '../../auto-field-types';\nimport { useTranslations } from '../../hooks';\nimport type { MediaImageValue } from '../../types/media-image';\nimport { getImageSource } from '../../utils/get-image-source';\nimport {\n fromImageUrl,\n fromMediaManagerPick,\n isExternalMediaImage,\n replaceImage,\n toMediaImageValue,\n withAltText,\n} from '../../utils/media-image-value';\nimport { executeDownloading, MEDIA_TYPES } from '../../utils/media-utils';\nimport {\n CellMediaEditShell,\n MediaFieldType,\n useCellMediaEdit,\n} from '../media-control';\nimport { MediaPreviewModal } from '../media-gallery/media-preview-modal';\nimport { MediaImage } from '../media-image';\nimport { MediaImageView } from './media-image-view';\nimport { st, classes } from './cell-media-image-edit.st.css.js';\n\nexport interface CellMediaImageEditProps {\n /** A `MEDIA_IMAGE` value. */\n value: unknown;\n onChange: (value: MediaImageValue | null) => void;\n onCommit: () => void;\n onCancel?: () => void;\n /**\n * Called before opening external UI (media manager / paste-URL form) so the\n * table can set isEditing=true and protect cell focus while the modal is open.\n */\n onStartEdit?: () => void;\n inputRef?: React.MutableRefObject<{ focus: () => void } | null | undefined>;\n dataHook?: string;\n}\n\ntype PopoverLayer = 'none' | 'popover' | 'menu' | 'preview';\n\n/** What is on top of the editor. Escape and click-outside act on it. */\ntype Layer = PopoverLayer | 'pasteUrl' | 'loading';\n\nconst imageFromUrl = (url: string, current: MediaImageValue | null) =>\n replaceImage(current, fromImageUrl(url));\n\ninterface MenuTriggerProps {\n isOpen: boolean;\n toggle: () => void;\n /** Lets WDS put focus back here when the menu closes. */\n buttonRef?: React.RefObject<HTMLElement>;\n onOpenChange: (isOpen: boolean) => void;\n ariaLabel: string;\n}\n\n/** WDS shows the menu's open state only to its trigger, so the trigger\n * reports it. */\nconst MenuTrigger: React.FC<MenuTriggerProps> = ({\n isOpen,\n toggle,\n buttonRef,\n onOpenChange,\n ariaLabel,\n}) => {\n useEffect(() => {\n onOpenChange(isOpen);\n }, [isOpen, onOpenChange]);\n\n return (\n <IconButton\n ref={buttonRef}\n size=\"small\"\n skin=\"light\"\n priority=\"secondary\"\n dataHook=\"media-image-edit-more-button\"\n ariaLabel={ariaLabel}\n aria-haspopup=\"menu\"\n aria-expanded={isOpen}\n onClick={toggle}\n >\n <MoreSmall />\n </IconButton>\n );\n};\n\n/**\n * Edits a `MEDIA_IMAGE` cell. An empty cell shows the add and paste-URL\n * buttons. A cell with an image opens a popover with the image and its alt\n * text. Changes go to `onChange` as they happen and are committed once, when\n * the popover closes.\n */\nexport const CellMediaImageEdit: React.FC<CellMediaImageEditProps> = ({\n value,\n onChange,\n onCommit,\n onCancel,\n onStartEdit,\n inputRef,\n dataHook,\n}) => {\n const { t } = useTranslations();\n const image = toMediaImageValue(value);\n const src = getImageSource(image);\n // 'none' once committed.\n const [popoverLayer, setPopoverLayer] = useState<PopoverLayer>('popover');\n\n const mediaEdit = useCellMediaEdit({\n mediaType: MEDIA_TYPES.IMAGE,\n value: image,\n onChange,\n onCommit,\n onCancel,\n onStartEdit,\n inputRef,\n fromPick: fromMediaManagerPick,\n fromUrl: imageFromUrl,\n commitOnPick: false,\n });\n const {\n loading,\n pasteUrlForm,\n handleCallMedia,\n handleDelete,\n downloadMedia,\n } = mediaEdit;\n const closePasteUrl = pasteUrlForm.handleClose;\n // The media manager and the URL form sit above the popover layers.\n const openLayer: Layer = loading\n ? 'loading'\n : pasteUrlForm.isOpen\n ? 'pasteUrl'\n : image\n ? popoverLayer\n : 'none';\n\n const openPasteUrl = mediaEdit.startEditAndOpenPasteUrl({\n title: t('CMS.image.replaceWithUrl.title'),\n value: isExternalMediaImage(image) ? image.url : undefined,\n });\n\n const handleDownload = useCallback(() => {\n // The Media Manager can't make a download link for an external URL.\n if (isExternalMediaImage(image)) {\n executeDownloading(image.url);\n } else if (src) {\n downloadMedia(src);\n }\n }, [src, image, downloadMedia]);\n\n const commit = useCallback(() => {\n setPopoverLayer('none');\n onCommit();\n }, [onCommit]);\n\n // Picking Preview sets its own layer, which closing the menu must not undo.\n const handleMenuOpenChange = useCallback((isOpen: boolean) => {\n setPopoverLayer((layer) => {\n if (isOpen) {\n return 'menu';\n }\n return layer === 'menu' ? 'popover' : layer;\n });\n }, []);\n\n // Fires on mouseup, before the click that closes a menu or a modal, so\n // `openLayer` still says what was open.\n const handleClickOutside = useCallback(() => {\n if (openLayer === 'popover') {\n commit();\n }\n }, [openLayer, commit]);\n\n useEffect(() => {\n // WDS closes the menu on Escape and stops the event there.\n if (\n openLayer === 'none' ||\n openLayer === 'loading' ||\n openLayer === 'menu'\n ) {\n return;\n }\n // Capture phase, so the table doesn't cancel the edit first.\n const handleKeyDown = (e: KeyboardEvent) => {\n if (e.key !== 'Escape') {\n return;\n }\n e.stopPropagation();\n if (openLayer === 'pasteUrl') {\n closePasteUrl();\n } else if (openLayer === 'preview') {\n setPopoverLayer('popover');\n } else {\n commit();\n }\n };\n document.addEventListener('keydown', handleKeyDown, true);\n return () => document.removeEventListener('keydown', handleKeyDown, true);\n }, [openLayer, closePasteUrl, commit]);\n\n const emptyActions = (\n <>\n <Tooltip content={t('CMS.image.add')} appendTo=\"window\">\n <IconButton\n size=\"tiny\"\n priority=\"secondary\"\n dataHook=\"media-image-edit-add-button\"\n ariaLabel={t('CMS.image.add')}\n onClick={handleCallMedia}\n >\n <Add />\n </IconButton>\n </Tooltip>\n <Tooltip content={t('CMS.image.replaceWithUrl.button')} appendTo=\"window\">\n <IconButton\n size=\"tiny\"\n priority=\"tertiary\"\n dataHook=\"media-image-edit-paste-url-button\"\n ariaLabel={t('CMS.image.replaceWithUrl.button')}\n onClick={openPasteUrl}\n >\n <LinkSmall />\n </IconButton>\n </Tooltip>\n </>\n );\n\n // One return for both states, so the shell and its container stay mounted\n // when a pick fills an empty cell.\n return (\n <>\n <CellMediaEditShell\n dataHook={dataHook}\n mediaEdit={mediaEdit}\n fieldType={MediaFieldType.image}\n padding={image ? '0' : undefined}\n >\n {!image ? (\n emptyActions\n ) : (\n <div className={classes.view}>\n <MediaImageView value={image} />\n <div className={classes.anchor}>\n <Popover\n shown={popoverLayer !== 'none'}\n appendTo=\"window\"\n placement=\"bottom-start\"\n moveBy={{ x: 0, y: 4 }}\n zIndex={5001}\n animate\n flip\n fixed={false}\n onClickOutside={handleClickOutside}\n >\n <Popover.Element>\n <div className={classes.anchorBox} />\n </Popover.Element>\n <Popover.Content>\n <Box\n dataHook=\"media-image-edit-popover\"\n className={classes.popoverContent}\n direction=\"vertical\"\n gap=\"SP3\"\n padding=\"SP3\"\n >\n <FormField label={t('CMS.image.thumbnail.label')}>\n <div className={classes.image}>\n <MediaImage\n dataHook=\"media-image-edit-image\"\n src={src}\n alt=\"\"\n fit=\"cover\"\n transparent\n size={ThumbnailSize.L}\n width=\"180px\"\n height=\"180px\"\n borderRadius=\"0\"\n />\n <div\n className={st(classes.imageActions, {\n menuOpen: popoverLayer === 'menu',\n })}\n >\n <Tooltip\n content={t('CMS.image.replace')}\n appendTo=\"window\"\n >\n <IconButton\n size=\"small\"\n skin=\"light\"\n priority=\"secondary\"\n dataHook=\"media-image-edit-replace-button\"\n ariaLabel={t('CMS.image.replace')}\n onClick={handleCallMedia}\n >\n <Replace />\n </IconButton>\n </Tooltip>\n <PopoverMenu\n textSize=\"small\"\n appendTo=\"window\"\n zIndex={5002}\n triggerElement={({ isOpen, toggle, ref }) => (\n <MenuTrigger\n isOpen={isOpen}\n toggle={toggle}\n buttonRef={ref}\n onOpenChange={handleMenuOpenChange}\n ariaLabel={t(\n 'auto-patterns.fields.more_actions_tooltip',\n )}\n />\n )}\n >\n <PopoverMenu.MenuItem\n dataHook=\"media-image-edit-action-replace-url\"\n text={t('CMS.image.replaceWithUrl.button')}\n prefixIcon={<Link />}\n onClick={openPasteUrl}\n />\n <PopoverMenu.MenuItem\n dataHook=\"media-image-edit-action-preview\"\n text={t('CMS.mediaGallery.preview')}\n prefixIcon={<Maximize />}\n onClick={() => setPopoverLayer('preview')}\n />\n <PopoverMenu.MenuItem\n dataHook=\"media-image-edit-action-download\"\n text={t('CMS.image.download')}\n prefixIcon={<Download />}\n onClick={handleDownload}\n />\n <PopoverMenu.Divider />\n <PopoverMenu.MenuItem\n dataHook=\"media-image-edit-action-delete\"\n text={t('CMS.image.clear')}\n skin=\"destructive\"\n prefixIcon={<Delete />}\n onClick={handleDelete}\n />\n </PopoverMenu>\n </div>\n </div>\n </FormField>\n <FormField label={t('CMS.image.altText.label')}>\n <Input\n dataHook=\"media-image-edit-alt-input\"\n size=\"small\"\n value={image.altText ?? ''}\n placeholder={t('CMS.image.altText.inputPlaceholder')}\n onChange={(e) =>\n onChange(withAltText(image, e.target.value))\n }\n onEnterPressed={commit}\n />\n </FormField>\n </Box>\n </Popover.Content>\n </Popover>\n </div>\n </div>\n )}\n </CellMediaEditShell>\n {image && (\n <MediaPreviewModal\n isOpen={popoverLayer === 'preview'}\n value={src}\n onClose={() => setPopoverLayer('popover')}\n onRequestMedia={handleCallMedia}\n onClearMedia={handleDelete}\n onDownloadMedia={handleDownload}\n textKeys={{\n replace: 'CMS.image.replace',\n download: 'CMS.image.download',\n delete: 'CMS.image.clear',\n }}\n />\n )}\n </>\n );\n};\n\nCellMediaImageEdit.displayName = 'CellMediaImageEdit';\n"],"mappings":"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","ignoreList":[]}
@@ -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
+ }