@wix/patterns-fields 1.17.0 → 1.20.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 (353) hide show
  1. package/cell-rich-content-input/package.json +5 -0
  2. package/dist/cjs/assets/locale/messages_en.json +7 -3
  3. package/dist/cjs/components/address/input/address-input.st.css.js +3 -3
  4. package/dist/cjs/components/address/input/address-input.st.css.js.map +1 -1
  5. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  6. package/dist/cjs/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  7. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  8. package/dist/cjs/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  9. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js +2 -2
  10. package/dist/cjs/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  11. package/dist/cjs/components/color-view/color-view.st.css.js +4 -4
  12. package/dist/cjs/components/color-view/color-view.st.css.js.map +1 -1
  13. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js +3 -3
  14. package/dist/cjs/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  15. package/dist/cjs/components/document/form-document-field.st.css.js +7 -7
  16. package/dist/cjs/components/document/form-document-field.st.css.js.map +1 -1
  17. package/dist/cjs/components/exclamation/exclamation.st.css.js +5 -5
  18. package/dist/cjs/components/exclamation/exclamation.st.css.js.map +1 -1
  19. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js +5 -5
  20. package/dist/cjs/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  21. package/dist/cjs/components/image/cell-image-edit.js +40 -146
  22. package/dist/cjs/components/image/cell-image-edit.js.map +1 -1
  23. package/dist/cjs/components/image/image-thumbnail.js +7 -6
  24. package/dist/cjs/components/image/image-thumbnail.js.map +1 -1
  25. package/dist/cjs/components/image/thumbnail-replace-overlay.js +29 -0
  26. package/dist/cjs/components/image/thumbnail-replace-overlay.js.map +1 -0
  27. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css +15 -0
  28. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js +23 -0
  29. package/dist/cjs/components/image/thumbnail-replace-overlay.st.css.js.map +1 -0
  30. package/dist/cjs/components/media-control/paste-url-button.st.css.js +4 -4
  31. package/dist/cjs/components/media-control/paste-url-button.st.css.js.map +1 -1
  32. package/dist/cjs/components/media-control/use-media-control.js +8 -9
  33. package/dist/cjs/components/media-control/use-media-control.js.map +1 -1
  34. package/dist/cjs/components/media-gallery/cell-media-gallery-edit.js +301 -0
  35. package/dist/cjs/components/media-gallery/cell-media-gallery-edit.js.map +1 -0
  36. package/dist/cjs/components/media-gallery/cell-media-gallery-view.js +45 -0
  37. package/dist/cjs/components/media-gallery/cell-media-gallery-view.js.map +1 -0
  38. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
  39. package/dist/cjs/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  40. package/dist/cjs/components/media-gallery/index.js +12 -0
  41. package/dist/cjs/components/media-gallery/index.js.map +1 -1
  42. package/dist/cjs/components/media-image/media-image.st.css.js +4 -4
  43. package/dist/cjs/components/media-image/media-image.st.css.js.map +1 -1
  44. package/dist/cjs/components/media-image/overlays/overlay.st.css.js +4 -4
  45. package/dist/cjs/components/media-image/overlays/overlay.st.css.js.map +1 -1
  46. package/dist/cjs/components/media-loader/media-loader.st.css.js +3 -3
  47. package/dist/cjs/components/media-loader/media-loader.st.css.js.map +1 -1
  48. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  49. package/dist/cjs/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  50. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
  51. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document-view.js.map +1 -1
  52. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  53. package/dist/cjs/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  54. package/dist/cjs/components/rich-content/cell-rich-content-input.js +1 -1
  55. package/dist/cjs/components/rich-content/cell-rich-content-input.js.map +1 -1
  56. package/dist/cjs/components/rich-content/cell-rich-content-view.js +1 -1
  57. package/dist/cjs/components/rich-content/cell-rich-content-view.js.map +1 -1
  58. package/dist/cjs/components/rich-content/editor.js +2 -10
  59. package/dist/cjs/components/rich-content/editor.js.map +1 -1
  60. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  61. package/dist/cjs/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  62. package/dist/cjs/components/rich-content/rich-content-input/form-input/form-input.js +2 -1
  63. package/dist/cjs/components/rich-content/rich-content-input/form-input/form-input.js.map +1 -1
  64. package/dist/cjs/components/rich-content/rich-content-input/form-input/index.js +3 -4
  65. package/dist/cjs/components/rich-content/rich-content-input/form-input/index.js.map +1 -1
  66. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  67. package/dist/cjs/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  68. package/dist/cjs/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  69. 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
  70. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  71. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  72. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  73. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  74. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  75. package/dist/cjs/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  76. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +8 -8
  77. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  78. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  79. package/dist/cjs/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  80. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  81. package/dist/cjs/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  82. package/dist/cjs/components/rich-text/cell-rich-text-editor.js +155 -0
  83. package/dist/cjs/components/rich-text/cell-rich-text-editor.js.map +1 -0
  84. package/dist/cjs/components/rich-text/cell-rich-text-input.js +153 -0
  85. package/dist/cjs/components/rich-text/cell-rich-text-input.js.map +1 -0
  86. package/dist/cjs/components/rich-text/cell-rich-text-view.js +30 -0
  87. package/dist/cjs/components/rich-text/cell-rich-text-view.js.map +1 -0
  88. package/dist/cjs/components/rich-text/index.js +18 -0
  89. package/dist/cjs/components/rich-text/index.js.map +1 -1
  90. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.js +13 -1
  91. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.js.map +1 -1
  92. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css +26 -22
  93. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +50 -46
  94. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  95. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  96. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  97. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.js +168 -157
  98. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.js.map +1 -1
  99. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css +13 -12
  100. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +22 -19
  101. package/dist/cjs/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  102. package/dist/cjs/components/text/text-view.st.css.js +3 -3
  103. package/dist/cjs/components/text/text-view.st.css.js.map +1 -1
  104. package/dist/cjs/components/video/cell-video-edit.js +424 -0
  105. package/dist/cjs/components/video/cell-video-edit.js.map +1 -0
  106. package/dist/cjs/components/video/index.js +3 -1
  107. package/dist/cjs/components/video/index.js.map +1 -1
  108. package/dist/cjs/exports/cell-rich-content-input.js +8 -0
  109. package/dist/cjs/exports/cell-rich-content-input.js.map +1 -0
  110. package/dist/cjs/exports/form-rich-content-input.js +3 -4
  111. package/dist/cjs/exports/form-rich-content-input.js.map +1 -1
  112. package/dist/cjs/hooks/index.js +6 -0
  113. package/dist/cjs/hooks/index.js.map +1 -1
  114. package/dist/cjs/hooks/use-cell-edit-keyboard.js +94 -0
  115. package/dist/cjs/hooks/use-cell-edit-keyboard.js.map +1 -0
  116. package/dist/cjs/index.js +11 -0
  117. package/dist/cjs/index.js.map +1 -1
  118. package/dist/cjs/services/translations.js.map +1 -1
  119. package/dist/cjs/styles.global.css +1 -1
  120. package/dist/esm/assets/locale/messages_en.json +7 -3
  121. package/dist/esm/components/address/input/address-input.st.css.js +2 -2
  122. package/dist/esm/components/address/input/address-input.st.css.js.map +1 -1
  123. package/dist/esm/components/audio/actions/actions-menu/actions-menu.st.css.js +2 -2
  124. package/dist/esm/components/audio/audio-field/form-audio-field.st.css.js +2 -2
  125. package/dist/esm/components/audio/audio-player/audio-player.st.css.js +2 -2
  126. package/dist/esm/components/color-view/color-view.st.css.js +2 -2
  127. package/dist/esm/components/delete-dialog/delete-dialog.st.css.js +2 -2
  128. package/dist/esm/components/document/form-document-field.st.css.js +2 -2
  129. package/dist/esm/components/exclamation/exclamation.st.css.js +2 -2
  130. package/dist/esm/components/exclamation/exclamation.st.css.js.map +1 -1
  131. package/dist/esm/components/highlighted-text/highlighted-text.st.css.js +3 -3
  132. package/dist/esm/components/image/cell-image-edit.js +11 -102
  133. package/dist/esm/components/image/cell-image-edit.js.map +1 -1
  134. package/dist/esm/components/image/image-thumbnail.js +9 -3
  135. package/dist/esm/components/image/image-thumbnail.js.map +1 -1
  136. package/dist/esm/components/image/thumbnail-replace-overlay.js +7 -0
  137. package/dist/esm/components/image/thumbnail-replace-overlay.js.map +1 -0
  138. package/dist/esm/components/image/thumbnail-replace-overlay.st.css +15 -0
  139. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js +15 -0
  140. package/dist/esm/components/image/thumbnail-replace-overlay.st.css.js.map +1 -0
  141. package/dist/esm/components/media-control/paste-url-button.st.css.js +2 -2
  142. package/dist/esm/components/media-control/use-media-control.js +9 -8
  143. package/dist/esm/components/media-control/use-media-control.js.map +1 -1
  144. package/dist/esm/components/media-gallery/cell-media-gallery-edit.js +103 -0
  145. package/dist/esm/components/media-gallery/cell-media-gallery-edit.js.map +1 -0
  146. package/dist/esm/components/media-gallery/cell-media-gallery-view.js +11 -0
  147. package/dist/esm/components/media-gallery/cell-media-gallery-view.js.map +1 -0
  148. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js +2 -2
  149. package/dist/esm/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  150. package/dist/esm/components/media-gallery/index.js +2 -0
  151. package/dist/esm/components/media-gallery/index.js.map +1 -1
  152. package/dist/esm/components/media-image/media-image.st.css.js +3 -3
  153. package/dist/esm/components/media-image/media-image.st.css.js.map +1 -1
  154. package/dist/esm/components/media-image/overlays/overlay.st.css.js +3 -3
  155. package/dist/esm/components/media-image/overlays/overlay.st.css.js.map +1 -1
  156. package/dist/esm/components/media-loader/media-loader.st.css.js +2 -2
  157. package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  158. package/dist/esm/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  159. package/dist/esm/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
  160. package/dist/esm/components/multi-document/multi-document-input/form-multi-document-view.js.map +1 -1
  161. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js +2 -2
  162. package/dist/esm/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  163. package/dist/esm/components/rich-content/cell-rich-content-input.js.map +1 -1
  164. package/dist/esm/components/rich-content/cell-rich-content-view.js +1 -1
  165. package/dist/esm/components/rich-content/cell-rich-content-view.js.map +1 -1
  166. package/dist/esm/components/rich-content/editor.js +1 -2
  167. package/dist/esm/components/rich-content/editor.js.map +1 -1
  168. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +3 -3
  169. package/dist/esm/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  170. package/dist/esm/components/rich-content/rich-content-input/form-input/form-input.js +1 -1
  171. package/dist/esm/components/rich-content/rich-content-input/form-input/form-input.js.map +1 -1
  172. package/dist/esm/components/rich-content/rich-content-input/form-input/index.js +1 -1
  173. package/dist/esm/components/rich-content/rich-content-input/form-input/index.js.map +1 -1
  174. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +3 -3
  175. package/dist/esm/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  176. package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  177. package/dist/esm/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
  178. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +2 -2
  179. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +2 -2
  180. package/dist/esm/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  181. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +3 -3
  182. package/dist/esm/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +2 -2
  183. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +2 -2
  184. package/dist/esm/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  185. package/dist/esm/components/rich-text/cell-rich-text-editor.js +85 -0
  186. package/dist/esm/components/rich-text/cell-rich-text-editor.js.map +1 -0
  187. package/dist/esm/components/rich-text/cell-rich-text-input.js +77 -0
  188. package/dist/esm/components/rich-text/cell-rich-text-input.js.map +1 -0
  189. package/dist/esm/components/rich-text/cell-rich-text-view.js +11 -0
  190. package/dist/esm/components/rich-text/cell-rich-text-view.js.map +1 -0
  191. package/dist/esm/components/rich-text/index.js +3 -0
  192. package/dist/esm/components/rich-text/index.js.map +1 -1
  193. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.js +14 -2
  194. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.js.map +1 -1
  195. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css +26 -22
  196. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +4 -4
  197. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  198. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +2 -2
  199. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  200. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.js +64 -50
  201. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.js.map +1 -1
  202. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css +13 -12
  203. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +3 -3
  204. package/dist/esm/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  205. package/dist/esm/components/text/text-view.st.css.js +2 -2
  206. package/dist/esm/components/video/cell-video-edit.js +159 -0
  207. package/dist/esm/components/video/cell-video-edit.js.map +1 -0
  208. package/dist/esm/components/video/index.js +1 -0
  209. package/dist/esm/components/video/index.js.map +1 -1
  210. package/dist/esm/exports/cell-rich-content-input.js +2 -0
  211. package/dist/esm/exports/cell-rich-content-input.js.map +1 -0
  212. package/dist/esm/exports/form-rich-content-input.js +1 -1
  213. package/dist/esm/exports/form-rich-content-input.js.map +1 -1
  214. package/dist/esm/hooks/index.js +1 -0
  215. package/dist/esm/hooks/index.js.map +1 -1
  216. package/dist/esm/hooks/use-cell-edit-keyboard.js +81 -0
  217. package/dist/esm/hooks/use-cell-edit-keyboard.js.map +1 -0
  218. package/dist/esm/index.js +1 -0
  219. package/dist/esm/index.js.map +1 -1
  220. package/dist/esm/styles.global.css +1 -1
  221. package/dist/types/components/address/input/address-input.st.css.d.ts.map +1 -1
  222. package/dist/types/components/exclamation/exclamation.st.css.d.ts.map +1 -1
  223. package/dist/types/components/image/cell-image-edit.d.ts.map +1 -1
  224. package/dist/types/components/image/image-thumbnail.d.ts +1 -0
  225. package/dist/types/components/image/image-thumbnail.d.ts.map +1 -1
  226. package/dist/types/components/image/thumbnail-replace-overlay.d.ts +3 -0
  227. package/dist/types/components/image/thumbnail-replace-overlay.d.ts.map +1 -0
  228. package/dist/types/components/image/thumbnail-replace-overlay.st.css.d.ts +14 -0
  229. package/dist/types/components/image/thumbnail-replace-overlay.st.css.d.ts.map +1 -0
  230. package/dist/types/components/media-control/use-media-control.d.ts +3 -3
  231. package/dist/types/components/media-control/use-media-control.d.ts.map +1 -1
  232. package/dist/types/components/media-gallery/cell-media-gallery-edit.d.ts +15 -0
  233. package/dist/types/components/media-gallery/cell-media-gallery-edit.d.ts.map +1 -0
  234. package/dist/types/components/media-gallery/cell-media-gallery-view.d.ts +11 -0
  235. package/dist/types/components/media-gallery/cell-media-gallery-view.d.ts.map +1 -0
  236. package/dist/types/components/media-gallery/form-media-gallery-field.st.css.d.ts.map +1 -1
  237. package/dist/types/components/media-gallery/index.d.ts +2 -0
  238. package/dist/types/components/media-gallery/index.d.ts.map +1 -1
  239. package/dist/types/components/media-gallery/media-gallery-dialog/hooks.d.ts +2 -2
  240. package/dist/types/components/media-image/media-image.st.css.d.ts.map +1 -1
  241. package/dist/types/components/media-image/overlays/overlay.st.css.d.ts.map +1 -1
  242. package/dist/types/components/media-tag/web-media-tag/media-tag.st.css.d.ts.map +1 -1
  243. package/dist/types/components/multi-document/multi-document-input/form-multi-document-view.d.ts +1 -1
  244. package/dist/types/components/multi-document/multi-document-input/form-multi-document-view.d.ts.map +1 -1
  245. package/dist/types/components/multi-document/multi-document-input/form-multi-document.st.css.d.ts.map +1 -1
  246. package/dist/types/components/rich-content/cell-rich-content-input.d.ts.map +1 -1
  247. package/dist/types/components/rich-content/cell-rich-content-view.d.ts.map +1 -1
  248. package/dist/types/components/rich-content/editor.d.ts +1 -2
  249. package/dist/types/components/rich-content/editor.d.ts.map +1 -1
  250. package/dist/types/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.d.ts.map +1 -1
  251. package/dist/types/components/rich-content/rich-content-input/form-input/form-input.d.ts +1 -1
  252. package/dist/types/components/rich-content/rich-content-input/form-input/form-input.d.ts.map +1 -1
  253. package/dist/types/components/rich-content/rich-content-input/form-input/index.d.ts +1 -1
  254. package/dist/types/components/rich-content/rich-content-input/form-input/index.d.ts.map +1 -1
  255. package/dist/types/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.d.ts.map +1 -1
  256. package/dist/types/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.d.ts.map +1 -1
  257. package/dist/types/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.d.ts.map +1 -1
  258. package/dist/types/components/rich-text/cell-rich-text-editor.d.ts +21 -0
  259. package/dist/types/components/rich-text/cell-rich-text-editor.d.ts.map +1 -0
  260. package/dist/types/components/rich-text/cell-rich-text-input.d.ts +23 -0
  261. package/dist/types/components/rich-text/cell-rich-text-input.d.ts.map +1 -0
  262. package/dist/types/components/rich-text/cell-rich-text-view.d.ts +8 -0
  263. package/dist/types/components/rich-text/cell-rich-text-view.d.ts.map +1 -0
  264. package/dist/types/components/rich-text/index.d.ts +4 -0
  265. package/dist/types/components/rich-text/index.d.ts.map +1 -1
  266. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-editor.d.ts.map +1 -1
  267. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.d.ts +4 -0
  268. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.d.ts.map +1 -1
  269. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.d.ts.map +1 -1
  270. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.d.ts +1 -0
  271. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.d.ts.map +1 -1
  272. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.d.ts +3 -0
  273. package/dist/types/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.d.ts.map +1 -1
  274. package/dist/types/components/video/cell-video-edit.d.ts +20 -0
  275. package/dist/types/components/video/cell-video-edit.d.ts.map +1 -0
  276. package/dist/types/components/video/index.d.ts +2 -0
  277. package/dist/types/components/video/index.d.ts.map +1 -1
  278. package/dist/types/exports/cell-rich-content-input.d.ts +2 -0
  279. package/dist/types/exports/cell-rich-content-input.d.ts.map +1 -0
  280. package/dist/types/exports/form-rich-content-input.d.ts +1 -2
  281. package/dist/types/exports/form-rich-content-input.d.ts.map +1 -1
  282. package/dist/types/hooks/index.d.ts +1 -0
  283. package/dist/types/hooks/index.d.ts.map +1 -1
  284. package/dist/types/hooks/use-cell-edit-keyboard.d.ts +26 -0
  285. package/dist/types/hooks/use-cell-edit-keyboard.d.ts.map +1 -0
  286. package/dist/types/index.d.ts +1 -0
  287. package/dist/types/index.d.ts.map +1 -1
  288. package/dist/types/services/translations.d.ts +1 -1
  289. package/dist/types/services/translations.d.ts.map +1 -1
  290. package/package.json +11 -5
  291. package/src/assets/locale/messages_en.json +7 -3
  292. package/src/components/address/input/address-input.st.css.ts +2 -2
  293. package/src/components/audio/actions/actions-menu/actions-menu.st.css.ts +2 -2
  294. package/src/components/audio/audio-field/form-audio-field.st.css.ts +2 -2
  295. package/src/components/audio/audio-player/audio-player.st.css.ts +2 -2
  296. package/src/components/color-view/color-view.st.css.ts +2 -2
  297. package/src/components/delete-dialog/delete-dialog.st.css.ts +2 -2
  298. package/src/components/document/form-document-field.st.css.ts +2 -2
  299. package/src/components/exclamation/exclamation.st.css.ts +2 -2
  300. package/src/components/highlighted-text/highlighted-text.st.css.ts +3 -3
  301. package/src/components/image/cell-image-edit.tsx +11 -115
  302. package/src/components/image/image-thumbnail.tsx +10 -2
  303. package/src/components/image/thumbnail-replace-overlay.st.css +15 -0
  304. package/src/components/image/thumbnail-replace-overlay.st.css.ts +25 -0
  305. package/src/components/image/thumbnail-replace-overlay.tsx +11 -0
  306. package/src/components/media-control/paste-url-button.st.css.ts +2 -2
  307. package/src/components/media-control/use-media-control.ts +13 -13
  308. package/src/components/media-gallery/cell-media-gallery-edit.tsx +219 -0
  309. package/src/components/media-gallery/cell-media-gallery-view.tsx +32 -0
  310. package/src/components/media-gallery/form-media-gallery-field.st.css.ts +2 -2
  311. package/src/components/media-gallery/index.ts +2 -0
  312. package/src/components/media-image/media-image.st.css.ts +3 -3
  313. package/src/components/media-image/overlays/overlay.st.css.ts +3 -3
  314. package/src/components/media-loader/media-loader.st.css.ts +2 -2
  315. package/src/components/media-tag/web-media-tag/media-tag.st.css.ts +2 -2
  316. package/src/components/multi-document/multi-document-input/form-multi-document-field.tsx +1 -1
  317. package/src/components/multi-document/multi-document-input/form-multi-document-view.tsx +2 -2
  318. package/src/components/multi-document/multi-document-input/form-multi-document.st.css.ts +2 -2
  319. package/src/components/rich-content/cell-rich-content-input.tsx +2 -3
  320. package/src/components/rich-content/cell-rich-content-view.tsx +1 -4
  321. package/src/components/rich-content/editor.ts +1 -2
  322. package/src/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.ts +3 -3
  323. package/src/components/rich-content/rich-content-input/form-input/form-input.tsx +1 -1
  324. package/src/components/rich-content/rich-content-input/form-input/index.ts +1 -1
  325. package/src/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.ts +3 -3
  326. package/src/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.ts +2 -2
  327. package/src/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.ts +2 -2
  328. package/src/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.ts +2 -2
  329. package/src/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.ts +2 -2
  330. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.ts +3 -3
  331. package/src/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.ts +2 -2
  332. package/src/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.ts +2 -2
  333. package/src/components/rich-text/cell-rich-text-editor.tsx +173 -0
  334. package/src/components/rich-text/cell-rich-text-input.tsx +126 -0
  335. package/src/components/rich-text/cell-rich-text-view.tsx +19 -0
  336. package/src/components/rich-text/index.ts +4 -0
  337. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css +26 -22
  338. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.ts +4 -4
  339. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-editor.tsx +22 -5
  340. package/src/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.ts +2 -2
  341. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/header-dropdown.tsx +153 -126
  342. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css +13 -12
  343. package/src/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.ts +3 -3
  344. package/src/components/text/text-view.st.css.ts +2 -2
  345. package/src/components/video/cell-video-edit.tsx +308 -0
  346. package/src/components/video/index.ts +2 -0
  347. package/src/exports/cell-rich-content-input.ts +4 -0
  348. package/src/exports/form-rich-content-input.ts +1 -5
  349. package/src/hooks/index.ts +1 -0
  350. package/src/hooks/use-cell-edit-keyboard.ts +109 -0
  351. package/src/index.ts +1 -0
  352. package/src/services/translations.ts +5 -1
  353. package/src/styles.global.css +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/image/thumbnail-replace-overlay.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"thumbnailreplaceoverlay3138302508\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"thumbnailreplaceoverlay3138302508__root\",\"icon\":\"thumbnailreplaceoverlay3138302508__icon\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,mCAAmC;AACrD,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAA6C,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AAC3D,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,yCAAyC;EAAC,MAAM,EAAC;AAAyC,CAAC;AACjH,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -5,16 +5,16 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "pasteurlbutton2793897208";
8
+ var _namespace_ = "pasteurlbutton1583106728";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "pasteurlbutton2793897208__root",
16
- "iconButtonTooltip": "pasteurlbutton2793897208__iconButtonTooltip",
17
- "iconButton": "pasteurlbutton2793897208__iconButton"
15
+ "root": "pasteurlbutton1583106728__root",
16
+ "iconButtonTooltip": "pasteurlbutton1583106728__iconButtonTooltip",
17
+ "iconButton": "pasteurlbutton1583106728__iconButton"
18
18
  };
19
19
  var keyframes = exports.keyframes = {};
20
20
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/media-control/paste-url-button.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"pasteurlbutton2793897208\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"pasteurlbutton2793897208__root\",\"iconButtonTooltip\":\"pasteurlbutton2793897208__iconButtonTooltip\",\"iconButton\":\"pasteurlbutton2793897208__iconButton\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAA6C,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AAC3D,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,gCAAgC;EAAC,mBAAmB,EAAC,6CAA6C;EAAC,YAAY,EAAC;AAAsC,CAAC;AAC7K,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/media-control/paste-url-button.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"pasteurlbutton1583106728\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"pasteurlbutton1583106728__root\",\"iconButtonTooltip\":\"pasteurlbutton1583106728__iconButtonTooltip\",\"iconButton\":\"pasteurlbutton1583106728__iconButton\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,0BAA0B;AAC5C,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAA6C,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AAC3D,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,gCAAgC;EAAC,mBAAmB,EAAC,6CAA6C;EAAC,YAAY,EAAC;AAAsC,CAAC;AAC7K,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -8,12 +8,9 @@ var _media = require("@wix/media");
8
8
  var _mediaUtils = require("../../utils/media-utils");
9
9
  var _autoFieldTypes = require("../../auto-field-types");
10
10
  const MEDIA_TYPE_TO_CATEGORY = {
11
- IMAGE: 'IMAGE',
12
- VIDEO: 'VIDEO',
13
- MUSIC: 'MUSIC',
14
- // MEDIA_TYPES.AUDIO = 'MUSIC'
15
- DOCUMENT: 'DOCUMENT',
16
- ALL_MEDIA: undefined
11
+ [_mediaUtils.MEDIA_TYPES.IMAGE]: 'IMAGE',
12
+ [_mediaUtils.MEDIA_TYPES.VIDEO]: 'VIDEO',
13
+ [_mediaUtils.MEDIA_TYPES.AUDIO]: 'MUSIC'
17
14
  };
18
15
 
19
16
  /**
@@ -94,10 +91,10 @@ function useMediaControl({
94
91
  const onMediaLoad = (0, _react.useCallback)(() => setLoading(false), []);
95
92
  const callMedia = (0, _react.useCallback)(async index => {
96
93
  if (mediaRequested.current || readOnly) {
97
- return;
94
+ return false;
98
95
  }
99
96
  if (!params.onChange) {
100
- return;
97
+ return false;
101
98
  }
102
99
  mediaRequested.current = true;
103
100
  onFocus == null || onFocus();
@@ -118,7 +115,7 @@ function useMediaControl({
118
115
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
119
116
  const items = (mediaManagerData == null ? void 0 : mediaManagerData.items) || (mediaManagerData == null ? void 0 : mediaManagerData.files);
120
117
  if (!(items != null && items.length)) {
121
- return;
118
+ return false;
122
119
  }
123
120
  if (params.multiSelect) {
124
121
  const newURIs = items.map(extractMediaUri);
@@ -135,10 +132,12 @@ function useMediaControl({
135
132
  } else {
136
133
  params.onChange(extractMediaUri(items[0]));
137
134
  }
135
+ return true;
138
136
  } catch (e) {
139
137
  setLoading(false);
140
138
  mediaRequested.current = false;
141
139
  console.error(`Media Control Error:`, e);
140
+ return false;
142
141
  }
143
142
  }, [mediaType, multiSelect, onBlur, onFocus, params, readOnly, setActive, value]);
144
143
  const downloadMedia = (0, _react.useCallback)(async mediaUri => {
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_dashboard","_media","_mediaUtils","_autoFieldTypes","MEDIA_TYPE_TO_CATEGORY","IMAGE","VIDEO","MUSIC","DOCUMENT","ALL_MEDIA","undefined","extractAudioUrl","audio","_audio$assets","firstAsset","assets","url","extractMediaUri","mediaItem","media","_media$image","_media$video","_media$document","image","video","document","useMediaControl","mediaType","readOnly","autoFocus","initialLoading","inputRef","viewRef","onFocus","onBlur","params","value","multiSelect","loading","setLoading","useState","Boolean","mediaRequested","useRef","setActive","useCallback","_viewRef$current","_inputRef$current","current","focus","_inputRef$current2","useEffect","onMediaLoad","callMedia","index","onChange","category","mediaManagerData","dashboard","openMediaManager","items","files","length","newURIs","map","Error","newValue","splice","e","console","error","downloadMedia","mediaUri","_result$downloadUrls","result","generateFileDownloadUrl","downloadUrl","downloadUrls","executeDownloading","getMediaURL"],"sources":["../../../../src/components/media-control/use-media-control.ts"],"sourcesContent":["import { useRef, useState, useEffect, useCallback } from 'react';\nimport { dashboard } from '@wix/dashboard';\nimport { files } from '@wix/media';\n\nimport type { MEDIA_TYPES } from '../../utils/media-utils';\nimport { executeDownloading } from '../../utils/media-utils';\nimport { getMediaURL } from '../../auto-field-types';\n\ntype Focusable = { focus: () => void };\ntype FocusableRef =\n | React.RefObject<Focusable | undefined>\n | React.MutableRefObject<Focusable | undefined>;\n\ninterface UseMediaControlBaseParams {\n mediaType: MEDIA_TYPES;\n autoFocus?: boolean;\n onFocus?: () => void;\n onBlur?: () => void;\n readOnly?: boolean;\n initialLoading?: boolean;\n inputRef?: FocusableRef;\n viewRef?: FocusableRef;\n}\n\ninterface UseSingleMediaControlParams extends UseMediaControlBaseParams {\n value?: string;\n onChange?: (value: string) => void;\n multiSelect?: false;\n}\n\ninterface UseMultiMediaControlParams extends UseMediaControlBaseParams {\n value?: string[];\n onChange?: (value: string[]) => void;\n multiSelect: true;\n}\n\nexport type UseMediaControlParams =\n | UseSingleMediaControlParams\n | UseMultiMediaControlParams;\n\ninterface UseMediaControlBaseReturnType {\n loading: boolean;\n onMediaLoad: () => void;\n}\n\ninterface UseSingleMediaControlReturnType\n extends UseMediaControlBaseReturnType {\n callMedia(): Promise<void>;\n downloadMedia(mediaUri?: string): Promise<void>;\n}\n\ninterface UseMultiMediaControlReturnType extends UseMediaControlBaseReturnType {\n callMedia(index?: number): Promise<void>;\n downloadMedia(mediaUri?: string): Promise<void>;\n}\n\nexport type UseMediaControlReturnType =\n | UseSingleMediaControlReturnType\n | UseMultiMediaControlReturnType;\n\nconst MEDIA_TYPE_TO_CATEGORY: Record<string, string | undefined> = {\n IMAGE: 'IMAGE',\n VIDEO: 'VIDEO',\n MUSIC: 'MUSIC', // MEDIA_TYPES.AUDIO = 'MUSIC'\n DOCUMENT: 'DOCUMENT',\n ALL_MEDIA: undefined,\n};\n\n/**\n * Extracts a playable URL from media.audio, which may be:\n * - a string (wix:audio:// URI or direct URL)\n * - an object with { audio: string } (nested URI)\n * - an object with { assets: [{ url }] } or { assets: [string] }\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst extractAudioUrl = (audio: any): string | undefined => {\n if (audio) {\n if (typeof audio === 'string') {\n return audio;\n }\n if (typeof audio.audio === 'string') {\n return audio.audio;\n }\n const firstAsset = audio.assets?.[0];\n if (typeof firstAsset === 'string') {\n return firstAsset;\n }\n if (typeof firstAsset?.url === 'string') {\n return firstAsset.url;\n }\n }\n return undefined;\n};\n\n/**\n * Extracts the Wix media URI from media manager result.\n * Media manager returns different structures for different media types.\n */\nconst extractMediaUri = (mediaItem: any): string => {\n const { media } = mediaItem || {};\n if (media) {\n return (\n // Try each media type: the URI is nested under media.[type].[type], fallback for direct string values\n media.image?.image ||\n (typeof media.image === 'string' && media.image) ||\n media.video?.video ||\n (typeof media.video === 'string' && media.video) ||\n media.document?.document ||\n (typeof media.document === 'string' && media.document) ||\n extractAudioUrl(media.audio) ||\n ''\n );\n }\n\n return '';\n};\n\nexport function useMediaControl(\n params: UseSingleMediaControlParams,\n): UseSingleMediaControlReturnType;\n\nexport function useMediaControl(\n params: UseMultiMediaControlParams,\n): UseMultiMediaControlReturnType;\n\nexport function useMediaControl({\n mediaType,\n readOnly,\n autoFocus,\n initialLoading,\n inputRef,\n viewRef,\n onFocus,\n onBlur,\n ...params\n}: UseMediaControlParams): UseMediaControlReturnType {\n const { value, multiSelect } = params;\n\n const [loading, setLoading] = useState(Boolean(initialLoading && value));\n const mediaRequested = useRef(false);\n\n const setActive = useCallback(() => {\n if (!autoFocus) {\n return;\n }\n\n if (value) {\n viewRef && viewRef?.current?.focus();\n !viewRef && inputRef?.current?.focus();\n } else {\n inputRef?.current?.focus();\n }\n }, [autoFocus, value, inputRef, viewRef]);\n\n useEffect(() => setActive(), [setActive]);\n\n const onMediaLoad = useCallback(() => setLoading(false), []);\n\n const callMedia = useCallback(\n async (index?: number) => {\n if (mediaRequested.current || readOnly) {\n return;\n }\n\n if (!params.onChange) {\n return;\n }\n\n mediaRequested.current = true;\n\n onFocus?.();\n setLoading(true);\n\n try {\n const category = MEDIA_TYPE_TO_CATEGORY[mediaType];\n const mediaManagerData = await dashboard.openMediaManager({\n multiSelect: Boolean(multiSelect),\n ...(category && { category }),\n });\n\n onBlur?.();\n setLoading(false);\n\n setActive();\n\n mediaRequested.current = false;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const items =\n mediaManagerData?.items || (mediaManagerData as any)?.files;\n\n if (!items?.length) {\n return;\n }\n\n if (params.multiSelect) {\n const newURIs = items.map(extractMediaUri);\n\n if (!newURIs.length) {\n throw new Error(\n `Media Control Error: Media Manager returns not-covered Multi-Document data.`,\n );\n }\n\n if (typeof index === 'number') {\n const newValue = value ? [...value] : [];\n newValue.splice(index, 1, ...newURIs);\n params.onChange(newValue);\n } else {\n params.onChange([...((value as string[]) ?? []), ...newURIs]);\n }\n } else {\n params.onChange(extractMediaUri(items[0]));\n }\n } catch (e) {\n setLoading(false);\n mediaRequested.current = false;\n console.error(`Media Control Error:`, e);\n }\n },\n [\n mediaType,\n multiSelect,\n onBlur,\n onFocus,\n params,\n readOnly,\n setActive,\n value,\n ],\n );\n\n const downloadMedia = useCallback(async (mediaUri?: string) => {\n if (!mediaUri) {\n return;\n }\n\n try {\n const result = await files.generateFileDownloadUrl(mediaUri);\n const downloadUrl = result.downloadUrls?.[0]?.url;\n if (!downloadUrl) {\n throw new Error('No download URL returned');\n }\n return executeDownloading(downloadUrl);\n } catch (error) {\n // Fallback: open the static URL in a new tab\n console.error('Media download error, falling back to static URL:', error);\n return executeDownloading(getMediaURL(mediaUri));\n }\n }, []);\n\n return {\n loading,\n callMedia,\n downloadMedia,\n onMediaLoad,\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_dashboard","_media","_mediaUtils","_autoFieldTypes","MEDIA_TYPE_TO_CATEGORY","MEDIA_TYPES","IMAGE","VIDEO","AUDIO","extractAudioUrl","audio","_audio$assets","firstAsset","assets","url","undefined","extractMediaUri","mediaItem","media","_media$image","_media$video","_media$document","image","video","document","useMediaControl","mediaType","readOnly","autoFocus","initialLoading","inputRef","viewRef","onFocus","onBlur","params","value","multiSelect","loading","setLoading","useState","Boolean","mediaRequested","useRef","setActive","useCallback","_viewRef$current","_inputRef$current","current","focus","_inputRef$current2","useEffect","onMediaLoad","callMedia","index","onChange","category","mediaManagerData","dashboard","openMediaManager","items","files","length","newURIs","map","Error","newValue","splice","e","console","error","downloadMedia","mediaUri","_result$downloadUrls","result","generateFileDownloadUrl","downloadUrl","downloadUrls","executeDownloading","getMediaURL"],"sources":["../../../../src/components/media-control/use-media-control.ts"],"sourcesContent":["import { useRef, useState, useEffect, useCallback } from 'react';\nimport { dashboard } from '@wix/dashboard';\nimport { files } from '@wix/media';\n\nimport { MEDIA_TYPES } from '../../utils/media-utils';\nimport { executeDownloading } from '../../utils/media-utils';\nimport { getMediaURL } from '../../auto-field-types';\n\ntype Focusable = { focus: () => void };\ntype FocusableRef =\n | React.RefObject<Focusable | undefined>\n | React.MutableRefObject<Focusable | undefined>;\n\ninterface UseMediaControlBaseParams {\n mediaType: MEDIA_TYPES;\n autoFocus?: boolean;\n onFocus?: () => void;\n onBlur?: () => void;\n readOnly?: boolean;\n initialLoading?: boolean;\n inputRef?: FocusableRef;\n viewRef?: FocusableRef;\n}\n\ninterface UseSingleMediaControlParams extends UseMediaControlBaseParams {\n value?: string;\n onChange?: (value: string) => void;\n multiSelect?: false;\n}\n\ninterface UseMultiMediaControlParams extends UseMediaControlBaseParams {\n value?: string[];\n onChange?: (value: string[]) => void;\n multiSelect: true;\n}\n\nexport type UseMediaControlParams =\n | UseSingleMediaControlParams\n | UseMultiMediaControlParams;\n\ninterface UseMediaControlBaseReturnType {\n loading: boolean;\n onMediaLoad: () => void;\n}\n\ninterface UseSingleMediaControlReturnType\n extends UseMediaControlBaseReturnType {\n callMedia(): Promise<boolean>;\n downloadMedia(mediaUri?: string): Promise<void>;\n}\n\ninterface UseMultiMediaControlReturnType extends UseMediaControlBaseReturnType {\n callMedia(index?: number): Promise<boolean>;\n downloadMedia(mediaUri?: string): Promise<void>;\n}\n\nexport type UseMediaControlReturnType =\n | UseSingleMediaControlReturnType\n | UseMultiMediaControlReturnType;\n\nconst MEDIA_TYPE_TO_CATEGORY: Partial<Record<MEDIA_TYPES, string>> = {\n [MEDIA_TYPES.IMAGE]: 'IMAGE',\n [MEDIA_TYPES.VIDEO]: 'VIDEO',\n [MEDIA_TYPES.AUDIO]: 'MUSIC',\n};\n\n/**\n * Extracts a playable URL from media.audio, which may be:\n * - a string (wix:audio:// URI or direct URL)\n * - an object with { audio: string } (nested URI)\n * - an object with { assets: [{ url }] } or { assets: [string] }\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst extractAudioUrl = (audio: any): string | undefined => {\n if (audio) {\n if (typeof audio === 'string') {\n return audio;\n }\n if (typeof audio.audio === 'string') {\n return audio.audio;\n }\n const firstAsset = audio.assets?.[0];\n if (typeof firstAsset === 'string') {\n return firstAsset;\n }\n if (typeof firstAsset?.url === 'string') {\n return firstAsset.url;\n }\n }\n return undefined;\n};\n\n/**\n * Extracts the Wix media URI from media manager result.\n * Media manager returns different structures for different media types.\n */\nconst extractMediaUri = (mediaItem: any): string => {\n const { media } = mediaItem || {};\n if (media) {\n return (\n // Try each media type: the URI is nested under media.[type].[type], fallback for direct string values\n media.image?.image ||\n (typeof media.image === 'string' && media.image) ||\n media.video?.video ||\n (typeof media.video === 'string' && media.video) ||\n media.document?.document ||\n (typeof media.document === 'string' && media.document) ||\n extractAudioUrl(media.audio) ||\n ''\n );\n }\n\n return '';\n};\n\nexport function useMediaControl(\n params: UseSingleMediaControlParams,\n): UseSingleMediaControlReturnType;\n\nexport function useMediaControl(\n params: UseMultiMediaControlParams,\n): UseMultiMediaControlReturnType;\n\nexport function useMediaControl({\n mediaType,\n readOnly,\n autoFocus,\n initialLoading,\n inputRef,\n viewRef,\n onFocus,\n onBlur,\n ...params\n}: UseMediaControlParams): UseMediaControlReturnType {\n const { value, multiSelect } = params;\n\n const [loading, setLoading] = useState(Boolean(initialLoading && value));\n const mediaRequested = useRef(false);\n\n const setActive = useCallback(() => {\n if (!autoFocus) {\n return;\n }\n\n if (value) {\n viewRef && viewRef?.current?.focus();\n !viewRef && inputRef?.current?.focus();\n } else {\n inputRef?.current?.focus();\n }\n }, [autoFocus, value, inputRef, viewRef]);\n\n useEffect(() => setActive(), [setActive]);\n\n const onMediaLoad = useCallback(() => setLoading(false), []);\n\n const callMedia = useCallback(\n async (index?: number): Promise<boolean> => {\n if (mediaRequested.current || readOnly) {\n return false;\n }\n\n if (!params.onChange) {\n return false;\n }\n\n mediaRequested.current = true;\n\n onFocus?.();\n setLoading(true);\n\n try {\n const category = MEDIA_TYPE_TO_CATEGORY[mediaType];\n const mediaManagerData = await dashboard.openMediaManager({\n multiSelect: Boolean(multiSelect),\n ...(category && { category }),\n });\n\n onBlur?.();\n setLoading(false);\n\n setActive();\n\n mediaRequested.current = false;\n\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const items =\n mediaManagerData?.items || (mediaManagerData as any)?.files;\n\n if (!items?.length) {\n return false;\n }\n\n if (params.multiSelect) {\n const newURIs = items.map(extractMediaUri);\n\n if (!newURIs.length) {\n throw new Error(\n `Media Control Error: Media Manager returns not-covered Multi-Document data.`,\n );\n }\n\n if (typeof index === 'number') {\n const newValue = value ? [...value] : [];\n newValue.splice(index, 1, ...newURIs);\n params.onChange(newValue);\n } else {\n params.onChange([...((value as string[]) ?? []), ...newURIs]);\n }\n } else {\n params.onChange(extractMediaUri(items[0]));\n }\n return true;\n } catch (e) {\n setLoading(false);\n mediaRequested.current = false;\n console.error(`Media Control Error:`, e);\n return false;\n }\n },\n [\n mediaType,\n multiSelect,\n onBlur,\n onFocus,\n params,\n readOnly,\n setActive,\n value,\n ],\n );\n\n const downloadMedia = useCallback(async (mediaUri?: string) => {\n if (!mediaUri) {\n return;\n }\n\n try {\n const result = await files.generateFileDownloadUrl(mediaUri);\n const downloadUrl = result.downloadUrls?.[0]?.url;\n if (!downloadUrl) {\n throw new Error('No download URL returned');\n }\n return executeDownloading(downloadUrl);\n } catch (error) {\n // Fallback: open the static URL in a new tab\n console.error('Media download error, falling back to static URL:', error);\n return executeDownloading(getMediaURL(mediaUri));\n }\n }, []);\n\n return {\n loading,\n callMedia,\n downloadMedia,\n onMediaLoad,\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,301 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.CellMediaGalleryEdit = void 0;
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _designSystem = require("@wix/design-system");
9
+ var _wixUiIconsCommon = require("@wix/wix-ui-icons-common");
10
+ var _media = require("@wix/media");
11
+ var _autoFieldTypes = require("../../auto-field-types");
12
+ var _hooks = require("../../hooks");
13
+ var _mediaUtils = require("../../utils/media-utils");
14
+ var _hooks2 = require("./media-gallery-dialog/hooks");
15
+ var _mediaGalleryDialog = require("./media-gallery-dialog/media-gallery-dialog");
16
+ var _mediaPreviewModal = require("./media-preview-modal");
17
+ var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/fields/dist/cjs/components/media-gallery/cell-media-gallery-edit.tsx";
18
+ 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); }
19
+ const mediaGalleryPreviewTextKeys = {
20
+ replace: 'CMS.mediaGallery.preview.replace',
21
+ download: 'CMS.mediaGallery.preview.download',
22
+ delete: 'CMS.mediaGallery.preview.delete'
23
+ };
24
+ const CellMediaGalleryEdit = ({
25
+ value,
26
+ onChange,
27
+ onCommit,
28
+ onCancel,
29
+ onStartEdit,
30
+ inputRef,
31
+ dataHook
32
+ }) => {
33
+ const {
34
+ t
35
+ } = (0, _hooks.useTranslations)();
36
+ const containerRef = (0, _react.useRef)(null);
37
+ const hasValue = Boolean(value == null ? void 0 : value.length);
38
+ const [isPreviewOpen, setIsPreviewOpen] = (0, _react.useState)(false);
39
+ // Tracks whether a commit happened during the current external-UI session.
40
+ // Prevents calling onCancel() after the user already committed (e.g., clear
41
+ // in the preview modal fires onClear then onClose, but we should not cancel).
42
+ const didCommitRef = (0, _react.useRef)(false);
43
+ const avatarItems = (value ?? []).map(item => ({
44
+ imgProps: {
45
+ src: (0, _autoFieldTypes.mediaURItoImageURL)(item.src, _autoFieldTypes.ThumbnailSize.S)
46
+ }
47
+ }));
48
+ const {
49
+ openMediaGalleryDialog,
50
+ ...dialogProps
51
+ } = (0, _hooks2.useMediaGalleryDialog)({
52
+ initialOpen: false,
53
+ items: value ?? [],
54
+ onChange: items => {
55
+ didCommitRef.current = true;
56
+ onChange(items.length > 0 ? items : null);
57
+ onCommit();
58
+ }
59
+ });
60
+ const handleOpenGallery = (0, _react.useCallback)(() => {
61
+ didCommitRef.current = false;
62
+ onStartEdit == null || onStartEdit();
63
+ openMediaGalleryDialog();
64
+ }, [onStartEdit, openMediaGalleryDialog]);
65
+ const handleOpenPreview = (0, _react.useCallback)(() => {
66
+ didCommitRef.current = false;
67
+ onStartEdit == null || onStartEdit();
68
+ setIsPreviewOpen(true);
69
+ }, [onStartEdit]);
70
+ const handlePreviewClose = (0, _react.useCallback)(() => {
71
+ setIsPreviewOpen(false);
72
+ if (!didCommitRef.current) {
73
+ onCancel == null || onCancel();
74
+ }
75
+ didCommitRef.current = false;
76
+ }, [onCancel]);
77
+ const handlePreviewRequestMedia = (0, _react.useCallback)(() => {
78
+ setIsPreviewOpen(false);
79
+ openMediaGalleryDialog();
80
+ }, [openMediaGalleryDialog]);
81
+ const handlePreviewClear = (0, _react.useCallback)(() => {
82
+ didCommitRef.current = true;
83
+ onChange(null);
84
+ onCommit();
85
+ }, [onChange, onCommit]);
86
+ const handleClearAll = (0, _react.useCallback)(() => {
87
+ onChange(null);
88
+ onCommit();
89
+ }, [onChange, onCommit]);
90
+ const onDownloadMedia = (0, _react.useCallback)(async mediaUri => {
91
+ var _value$;
92
+ const uri = mediaUri ?? (value == null || (_value$ = value[0]) == null ? void 0 : _value$.src);
93
+ if (!uri) return;
94
+ try {
95
+ var _result$downloadUrls;
96
+ const result = await _media.files.generateFileDownloadUrl(uri);
97
+ const downloadUrl = (_result$downloadUrls = result.downloadUrls) == null || (_result$downloadUrls = _result$downloadUrls[0]) == null ? void 0 : _result$downloadUrls.url;
98
+ if (!downloadUrl) throw new Error('No download URL returned');
99
+ (0, _mediaUtils.executeDownloading)(downloadUrl);
100
+ } catch {
101
+ (0, _mediaUtils.executeDownloading)((0, _autoFieldTypes.getMediaURL)(uri));
102
+ }
103
+ }, [value]);
104
+ const {
105
+ handleContainerFocus,
106
+ handleContainerBlur
107
+ } = (0, _hooks.useCellEditKeyboard)({
108
+ containerRef,
109
+ onCancel,
110
+ inputRef
111
+ });
112
+ return /*#__PURE__*/_react.default.createElement("div", {
113
+ ref: containerRef,
114
+ "data-hook": dataHook,
115
+ style: {
116
+ width: '100%',
117
+ height: '100%'
118
+ },
119
+ onFocus: handleContainerFocus,
120
+ onBlur: handleContainerBlur,
121
+ __self: void 0,
122
+ __source: {
123
+ fileName: _jsxFileName,
124
+ lineNumber: 132,
125
+ columnNumber: 5
126
+ }
127
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
128
+ align: "space-between",
129
+ verticalAlign: "middle",
130
+ height: "100%",
131
+ padding: "0 8px",
132
+ style: {
133
+ boxSizing: 'border-box'
134
+ },
135
+ __self: void 0,
136
+ __source: {
137
+ fileName: _jsxFileName,
138
+ lineNumber: 139,
139
+ columnNumber: 7
140
+ }
141
+ }, hasValue ? /*#__PURE__*/_react.default.createElement(_designSystem.AvatarGroup, {
142
+ items: avatarItems,
143
+ size: "tiny",
144
+ type: "condensed",
145
+ __self: void 0,
146
+ __source: {
147
+ fileName: _jsxFileName,
148
+ lineNumber: 147,
149
+ columnNumber: 11
150
+ }
151
+ }) : /*#__PURE__*/_react.default.createElement(_designSystem.Tooltip, {
152
+ content: t('CMS.mediaGallery.addGallery'),
153
+ appendTo: "window",
154
+ __self: void 0,
155
+ __source: {
156
+ fileName: _jsxFileName,
157
+ lineNumber: 149,
158
+ columnNumber: 11
159
+ }
160
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.IconButton, {
161
+ size: "tiny",
162
+ priority: "secondary",
163
+ dataHook: "gallery-edit-add-button",
164
+ onClick: handleOpenGallery,
165
+ __self: void 0,
166
+ __source: {
167
+ fileName: _jsxFileName,
168
+ lineNumber: 150,
169
+ columnNumber: 13
170
+ }
171
+ }, /*#__PURE__*/_react.default.createElement(_wixUiIconsCommon.Add, {
172
+ __self: void 0,
173
+ __source: {
174
+ fileName: _jsxFileName,
175
+ lineNumber: 156,
176
+ columnNumber: 15
177
+ }
178
+ }))), hasValue ? /*#__PURE__*/_react.default.createElement(_designSystem.PopoverMenu, {
179
+ textSize: "small",
180
+ appendTo: "window",
181
+ triggerElement: /*#__PURE__*/_react.default.createElement(_designSystem.Tooltip, {
182
+ content: t('auto-patterns.fields.more_actions_tooltip'),
183
+ appendTo: "window",
184
+ __self: void 0,
185
+ __source: {
186
+ fileName: _jsxFileName,
187
+ lineNumber: 166,
188
+ columnNumber: 15
189
+ }
190
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.IconButton, {
191
+ size: "tiny",
192
+ priority: "tertiary",
193
+ dataHook: "gallery-edit-more-button",
194
+ __self: void 0,
195
+ __source: {
196
+ fileName: _jsxFileName,
197
+ lineNumber: 170,
198
+ columnNumber: 17
199
+ }
200
+ }, /*#__PURE__*/_react.default.createElement(_wixUiIconsCommon.MoreSmall, {
201
+ __self: void 0,
202
+ __source: {
203
+ fileName: _jsxFileName,
204
+ lineNumber: 175,
205
+ columnNumber: 19
206
+ }
207
+ }))),
208
+ __self: void 0,
209
+ __source: {
210
+ fileName: _jsxFileName,
211
+ lineNumber: 162,
212
+ columnNumber: 11
213
+ }
214
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.PopoverMenu.MenuItem, {
215
+ dataHook: "gallery-edit-action-manage",
216
+ text: t('CMS.mediaGallery.manageGallery'),
217
+ prefixIcon: /*#__PURE__*/_react.default.createElement(_wixUiIconsCommon.Refresh, {
218
+ __self: void 0,
219
+ __source: {
220
+ fileName: _jsxFileName,
221
+ lineNumber: 183,
222
+ columnNumber: 27
223
+ }
224
+ }),
225
+ onClick: handleOpenGallery,
226
+ __self: void 0,
227
+ __source: {
228
+ fileName: _jsxFileName,
229
+ lineNumber: 180,
230
+ columnNumber: 13
231
+ }
232
+ }), /*#__PURE__*/_react.default.createElement(_designSystem.PopoverMenu.MenuItem, {
233
+ dataHook: "gallery-edit-action-preview",
234
+ text: t('CMS.mediaGallery.preview'),
235
+ prefixIcon: /*#__PURE__*/_react.default.createElement(_wixUiIconsCommon.Maximize, {
236
+ __self: void 0,
237
+ __source: {
238
+ fileName: _jsxFileName,
239
+ lineNumber: 189,
240
+ columnNumber: 27
241
+ }
242
+ }),
243
+ onClick: handleOpenPreview,
244
+ __self: void 0,
245
+ __source: {
246
+ fileName: _jsxFileName,
247
+ lineNumber: 186,
248
+ columnNumber: 13
249
+ }
250
+ }), /*#__PURE__*/_react.default.createElement(_designSystem.PopoverMenu.Divider, {
251
+ __self: void 0,
252
+ __source: {
253
+ fileName: _jsxFileName,
254
+ lineNumber: 192,
255
+ columnNumber: 13
256
+ }
257
+ }), /*#__PURE__*/_react.default.createElement(_designSystem.PopoverMenu.MenuItem, {
258
+ dataHook: "gallery-edit-action-clear",
259
+ text: t('CMS.mediaGallery.clear'),
260
+ skin: "destructive",
261
+ prefixIcon: /*#__PURE__*/_react.default.createElement(_wixUiIconsCommon.Delete, {
262
+ __self: void 0,
263
+ __source: {
264
+ fileName: _jsxFileName,
265
+ lineNumber: 197,
266
+ columnNumber: 27
267
+ }
268
+ }),
269
+ onClick: handleClearAll,
270
+ __self: void 0,
271
+ __source: {
272
+ fileName: _jsxFileName,
273
+ lineNumber: 193,
274
+ columnNumber: 13
275
+ }
276
+ })) : null), dialogProps.isOpen && /*#__PURE__*/_react.default.createElement(_mediaGalleryDialog.MediaGalleryDialog, (0, _extends2.default)({}, dialogProps, {
277
+ __self: void 0,
278
+ __source: {
279
+ fileName: _jsxFileName,
280
+ lineNumber: 204,
281
+ columnNumber: 30
282
+ }
283
+ })), /*#__PURE__*/_react.default.createElement(_mediaPreviewModal.MediaPreviewModal, {
284
+ isOpen: isPreviewOpen,
285
+ onClose: handlePreviewClose,
286
+ value: (value ?? []).map(item => item.src),
287
+ onRequestMedia: handlePreviewRequestMedia,
288
+ onClearMedia: handlePreviewClear,
289
+ onDownloadMedia: onDownloadMedia,
290
+ textKeys: mediaGalleryPreviewTextKeys,
291
+ __self: void 0,
292
+ __source: {
293
+ fileName: _jsxFileName,
294
+ lineNumber: 206,
295
+ columnNumber: 7
296
+ }
297
+ }));
298
+ };
299
+ exports.CellMediaGalleryEdit = CellMediaGalleryEdit;
300
+ CellMediaGalleryEdit.displayName = 'CellMediaGalleryEdit';
301
+ //# sourceMappingURL=cell-media-gallery-edit.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_designSystem","_wixUiIconsCommon","_media","_autoFieldTypes","_hooks","_mediaUtils","_hooks2","_mediaGalleryDialog","_mediaPreviewModal","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","mediaGalleryPreviewTextKeys","replace","download","delete","CellMediaGalleryEdit","value","onChange","onCommit","onCancel","onStartEdit","inputRef","dataHook","useTranslations","containerRef","useRef","hasValue","Boolean","length","isPreviewOpen","setIsPreviewOpen","useState","didCommitRef","avatarItems","map","item","imgProps","src","mediaURItoImageURL","ThumbnailSize","S","openMediaGalleryDialog","dialogProps","useMediaGalleryDialog","initialOpen","items","current","handleOpenGallery","useCallback","handleOpenPreview","handlePreviewClose","handlePreviewRequestMedia","handlePreviewClear","handleClearAll","onDownloadMedia","mediaUri","_value$","uri","_result$downloadUrls","result","files","generateFileDownloadUrl","downloadUrl","downloadUrls","url","Error","executeDownloading","getMediaURL","handleContainerFocus","handleContainerBlur","useCellEditKeyboard","createElement","ref","style","width","height","onFocus","onBlur","__self","__source","fileName","lineNumber","columnNumber","Box","align","verticalAlign","padding","boxSizing","AvatarGroup","size","type","Tooltip","content","appendTo","IconButton","priority","onClick","Add","PopoverMenu","textSize","triggerElement","MoreSmall","MenuItem","text","prefixIcon","Refresh","Maximize","Divider","skin","Delete","isOpen","MediaGalleryDialog","_extends2","MediaPreviewModal","onClose","onRequestMedia","onClearMedia","textKeys","exports","displayName"],"sources":["../../../../src/components/media-gallery/cell-media-gallery-edit.tsx"],"sourcesContent":["import React, { useCallback, useRef, useState } from 'react';\nimport {\n AvatarGroup,\n Box,\n IconButton,\n PopoverMenu,\n Tooltip,\n} from '@wix/design-system';\nimport {\n Add,\n MoreSmall,\n Refresh,\n Delete,\n Maximize,\n} from '@wix/wix-ui-icons-common';\nimport { files } from '@wix/media';\nimport { mediaURItoImageURL, ThumbnailSize, getMediaURL } from '../../auto-field-types';\nimport type { WixCodeGalleryItem } from '../../auto-field-types';\nimport { useTranslations, useCellEditKeyboard } from '../../hooks';\nimport { executeDownloading } from '../../utils/media-utils';\nimport { useMediaGalleryDialog } from './media-gallery-dialog/hooks';\nimport { MediaGalleryDialog } from './media-gallery-dialog/media-gallery-dialog';\nimport { MediaPreviewModal } from './media-preview-modal';\n\nconst mediaGalleryPreviewTextKeys = {\n replace: 'CMS.mediaGallery.preview.replace',\n download: 'CMS.mediaGallery.preview.download',\n delete: 'CMS.mediaGallery.preview.delete',\n} as const;\n\nexport interface CellMediaGalleryEditProps {\n value: WixCodeGalleryItem[] | null;\n onChange: (value: WixCodeGalleryItem[] | null) => void;\n onCommit: () => void;\n onCancel?: () => void;\n onStartEdit?: () => void;\n inputRef?: React.MutableRefObject<{ focus: () => void } | null | undefined>;\n dataHook?: string;\n}\n\nexport const CellMediaGalleryEdit: React.FC<CellMediaGalleryEditProps> = ({\n value,\n onChange,\n onCommit,\n onCancel,\n onStartEdit,\n inputRef,\n dataHook,\n}) => {\n const { t } = useTranslations();\n const containerRef = useRef<HTMLDivElement | null>(null);\n const hasValue = Boolean(value?.length);\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n // Tracks whether a commit happened during the current external-UI session.\n // Prevents calling onCancel() after the user already committed (e.g., clear\n // in the preview modal fires onClear then onClose, but we should not cancel).\n const didCommitRef = useRef(false);\n\n const avatarItems = (value ?? []).map((item) => ({\n imgProps: { src: mediaURItoImageURL(item.src, ThumbnailSize.S) },\n }));\n\n const { openMediaGalleryDialog, ...dialogProps } = useMediaGalleryDialog({\n initialOpen: false,\n items: value ?? [],\n onChange: (items: WixCodeGalleryItem[]) => {\n didCommitRef.current = true;\n onChange(items.length > 0 ? items : null);\n onCommit();\n },\n });\n\n const handleOpenGallery = useCallback(() => {\n didCommitRef.current = false;\n onStartEdit?.();\n openMediaGalleryDialog();\n }, [onStartEdit, openMediaGalleryDialog]);\n\n const handleOpenPreview = useCallback(() => {\n didCommitRef.current = false;\n onStartEdit?.();\n setIsPreviewOpen(true);\n }, [onStartEdit]);\n\n const handlePreviewClose = useCallback(() => {\n setIsPreviewOpen(false);\n if (!didCommitRef.current) {\n onCancel?.();\n }\n didCommitRef.current = false;\n }, [onCancel]);\n\n const handlePreviewRequestMedia = useCallback(() => {\n setIsPreviewOpen(false);\n openMediaGalleryDialog();\n }, [openMediaGalleryDialog]);\n\n const handlePreviewClear = useCallback(() => {\n didCommitRef.current = true;\n onChange(null);\n onCommit();\n }, [onChange, onCommit]);\n\n const handleClearAll = useCallback(() => {\n onChange(null);\n onCommit();\n }, [onChange, onCommit]);\n\n const onDownloadMedia = useCallback(\n async (mediaUri?: string) => {\n const uri = mediaUri ?? value?.[0]?.src;\n if (!uri) return;\n try {\n const result = await files.generateFileDownloadUrl(uri);\n const downloadUrl = result.downloadUrls?.[0]?.url;\n if (!downloadUrl) throw new Error('No download URL returned');\n executeDownloading(downloadUrl);\n } catch {\n executeDownloading(getMediaURL(uri));\n }\n },\n [value],\n );\n\n const { handleContainerFocus, handleContainerBlur } = useCellEditKeyboard({\n containerRef,\n onCancel,\n inputRef,\n });\n\n return (\n <div\n ref={containerRef}\n data-hook={dataHook}\n style={{ width: '100%', height: '100%' }}\n onFocus={handleContainerFocus}\n onBlur={handleContainerBlur}\n >\n <Box\n align=\"space-between\"\n verticalAlign=\"middle\"\n height=\"100%\"\n padding=\"0 8px\"\n style={{ boxSizing: 'border-box' }}\n >\n {hasValue ? (\n <AvatarGroup items={avatarItems} size=\"tiny\" type=\"condensed\" />\n ) : (\n <Tooltip content={t('CMS.mediaGallery.addGallery')} appendTo=\"window\">\n <IconButton\n size=\"tiny\"\n priority=\"secondary\"\n dataHook=\"gallery-edit-add-button\"\n onClick={handleOpenGallery}\n >\n <Add />\n </IconButton>\n </Tooltip>\n )}\n\n {hasValue ? (\n <PopoverMenu\n textSize=\"small\"\n appendTo=\"window\"\n triggerElement={\n <Tooltip\n content={t('auto-patterns.fields.more_actions_tooltip')}\n appendTo=\"window\"\n >\n <IconButton\n size=\"tiny\"\n priority=\"tertiary\"\n dataHook=\"gallery-edit-more-button\"\n >\n <MoreSmall />\n </IconButton>\n </Tooltip>\n }\n >\n <PopoverMenu.MenuItem\n dataHook=\"gallery-edit-action-manage\"\n text={t('CMS.mediaGallery.manageGallery')}\n prefixIcon={<Refresh />}\n onClick={handleOpenGallery}\n />\n <PopoverMenu.MenuItem\n dataHook=\"gallery-edit-action-preview\"\n text={t('CMS.mediaGallery.preview')}\n prefixIcon={<Maximize />}\n onClick={handleOpenPreview}\n />\n <PopoverMenu.Divider />\n <PopoverMenu.MenuItem\n dataHook=\"gallery-edit-action-clear\"\n text={t('CMS.mediaGallery.clear')}\n skin=\"destructive\"\n prefixIcon={<Delete />}\n onClick={handleClearAll}\n />\n </PopoverMenu>\n ) : null}\n </Box>\n\n {dialogProps.isOpen && <MediaGalleryDialog {...dialogProps} />}\n\n <MediaPreviewModal\n isOpen={isPreviewOpen}\n onClose={handlePreviewClose}\n value={(value ?? []).map((item) => item.src)}\n onRequestMedia={handlePreviewRequestMedia}\n onClearMedia={handlePreviewClear}\n onDownloadMedia={onDownloadMedia}\n textKeys={mediaGalleryPreviewTextKeys}\n />\n </div>\n );\n};\n\nCellMediaGalleryEdit.displayName = 'CellMediaGalleryEdit';\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAOA,IAAAE,iBAAA,GAAAF,OAAA;AAOA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AAEA,IAAAK,MAAA,GAAAL,OAAA;AACA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,OAAA,GAAAP,OAAA;AACA,IAAAQ,mBAAA,GAAAR,OAAA;AACA,IAAAS,kBAAA,GAAAT,OAAA;AAA0D,IAAAU,YAAA;AAAA,SAAAX,wBAAAY,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAd,uBAAA,YAAAA,CAAAY,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAE1D,MAAMkB,2BAA2B,GAAG;EAClCC,OAAO,EAAE,kCAAkC;EAC3CC,QAAQ,EAAE,mCAAmC;EAC7CC,MAAM,EAAE;AACV,CAAU;AAYH,MAAMC,oBAAyD,GAAGA,CAAC;EACxEC,KAAK;EACLC,QAAQ;EACRC,QAAQ;EACRC,QAAQ;EACRC,WAAW;EACXC,QAAQ;EACRC;AACF,CAAC,KAAK;EACJ,MAAM;IAAE7B;EAAE,CAAC,GAAG,IAAA8B,sBAAe,EAAC,CAAC;EAC/B,MAAMC,YAAY,GAAG,IAAAC,aAAM,EAAwB,IAAI,CAAC;EACxD,MAAMC,QAAQ,GAAGC,OAAO,CAACX,KAAK,oBAALA,KAAK,CAAEY,MAAM,CAAC;EACvC,MAAM,CAACC,aAAa,EAAEC,gBAAgB,CAAC,GAAG,IAAAC,eAAQ,EAAC,KAAK,CAAC;EACzD;EACA;EACA;EACA,MAAMC,YAAY,GAAG,IAAAP,aAAM,EAAC,KAAK,CAAC;EAElC,MAAMQ,WAAW,GAAG,CAACjB,KAAK,IAAI,EAAE,EAAEkB,GAAG,CAAEC,IAAI,KAAM;IAC/CC,QAAQ,EAAE;MAAEC,GAAG,EAAE,IAAAC,kCAAkB,EAACH,IAAI,CAACE,GAAG,EAAEE,6BAAa,CAACC,CAAC;IAAE;EACjE,CAAC,CAAC,CAAC;EAEH,MAAM;IAAEC,sBAAsB;IAAE,GAAGC;EAAY,CAAC,GAAG,IAAAC,6BAAqB,EAAC;IACvEC,WAAW,EAAE,KAAK;IAClBC,KAAK,EAAE7B,KAAK,IAAI,EAAE;IAClBC,QAAQ,EAAG4B,KAA2B,IAAK;MACzCb,YAAY,CAACc,OAAO,GAAG,IAAI;MAC3B7B,QAAQ,CAAC4B,KAAK,CAACjB,MAAM,GAAG,CAAC,GAAGiB,KAAK,GAAG,IAAI,CAAC;MACzC3B,QAAQ,CAAC,CAAC;IACZ;EACF,CAAC,CAAC;EAEF,MAAM6B,iBAAiB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IAC1ChB,YAAY,CAACc,OAAO,GAAG,KAAK;IAC5B1B,WAAW,YAAXA,WAAW,CAAG,CAAC;IACfqB,sBAAsB,CAAC,CAAC;EAC1B,CAAC,EAAE,CAACrB,WAAW,EAAEqB,sBAAsB,CAAC,CAAC;EAEzC,MAAMQ,iBAAiB,GAAG,IAAAD,kBAAW,EAAC,MAAM;IAC1ChB,YAAY,CAACc,OAAO,GAAG,KAAK;IAC5B1B,WAAW,YAAXA,WAAW,CAAG,CAAC;IACfU,gBAAgB,CAAC,IAAI,CAAC;EACxB,CAAC,EAAE,CAACV,WAAW,CAAC,CAAC;EAEjB,MAAM8B,kBAAkB,GAAG,IAAAF,kBAAW,EAAC,MAAM;IAC3ClB,gBAAgB,CAAC,KAAK,CAAC;IACvB,IAAI,CAACE,YAAY,CAACc,OAAO,EAAE;MACzB3B,QAAQ,YAARA,QAAQ,CAAG,CAAC;IACd;IACAa,YAAY,CAACc,OAAO,GAAG,KAAK;EAC9B,CAAC,EAAE,CAAC3B,QAAQ,CAAC,CAAC;EAEd,MAAMgC,yBAAyB,GAAG,IAAAH,kBAAW,EAAC,MAAM;IAClDlB,gBAAgB,CAAC,KAAK,CAAC;IACvBW,sBAAsB,CAAC,CAAC;EAC1B,CAAC,EAAE,CAACA,sBAAsB,CAAC,CAAC;EAE5B,MAAMW,kBAAkB,GAAG,IAAAJ,kBAAW,EAAC,MAAM;IAC3ChB,YAAY,CAACc,OAAO,GAAG,IAAI;IAC3B7B,QAAQ,CAAC,IAAI,CAAC;IACdC,QAAQ,CAAC,CAAC;EACZ,CAAC,EAAE,CAACD,QAAQ,EAAEC,QAAQ,CAAC,CAAC;EAExB,MAAMmC,cAAc,GAAG,IAAAL,kBAAW,EAAC,MAAM;IACvC/B,QAAQ,CAAC,IAAI,CAAC;IACdC,QAAQ,CAAC,CAAC;EACZ,CAAC,EAAE,CAACD,QAAQ,EAAEC,QAAQ,CAAC,CAAC;EAExB,MAAMoC,eAAe,GAAG,IAAAN,kBAAW,EACjC,MAAOO,QAAiB,IAAK;IAAA,IAAAC,OAAA;IAC3B,MAAMC,GAAG,GAAGF,QAAQ,KAAIvC,KAAK,aAAAwC,OAAA,GAALxC,KAAK,CAAG,CAAC,CAAC,qBAAVwC,OAAA,CAAYnB,GAAG;IACvC,IAAI,CAACoB,GAAG,EAAE;IACV,IAAI;MAAA,IAAAC,oBAAA;MACF,MAAMC,MAAM,GAAG,MAAMC,YAAK,CAACC,uBAAuB,CAACJ,GAAG,CAAC;MACvD,MAAMK,WAAW,IAAAJ,oBAAA,GAAGC,MAAM,CAACI,YAAY,cAAAL,oBAAA,GAAnBA,oBAAA,CAAsB,CAAC,CAAC,qBAAxBA,oBAAA,CAA0BM,GAAG;MACjD,IAAI,CAACF,WAAW,EAAE,MAAM,IAAIG,KAAK,CAAC,0BAA0B,CAAC;MAC7D,IAAAC,8BAAkB,EAACJ,WAAW,CAAC;IACjC,CAAC,CAAC,MAAM;MACN,IAAAI,8BAAkB,EAAC,IAAAC,2BAAW,EAACV,GAAG,CAAC,CAAC;IACtC;EACF,CAAC,EACD,CAACzC,KAAK,CACR,CAAC;EAED,MAAM;IAAEoD,oBAAoB;IAAEC;EAAoB,CAAC,GAAG,IAAAC,0BAAmB,EAAC;IACxE9C,YAAY;IACZL,QAAQ;IACRE;EACF,CAAC,CAAC;EAEF,oBACE1C,MAAA,CAAAuB,OAAA,CAAAqE,aAAA;IACEC,GAAG,EAAEhD,YAAa;IAClB,aAAWF,QAAS;IACpBmD,KAAK,EAAE;MAAEC,KAAK,EAAE,MAAM;MAAEC,MAAM,EAAE;IAAO,CAAE;IACzCC,OAAO,EAAER,oBAAqB;IAC9BS,MAAM,EAAER,mBAAoB;IAAAS,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAE5BvG,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACzF,aAAA,CAAAqG,GAAG;IACFC,KAAK,EAAC,eAAe;IACrBC,aAAa,EAAC,QAAQ;IACtBV,MAAM,EAAC,MAAM;IACbW,OAAO,EAAC,OAAO;IACfb,KAAK,EAAE;MAAEc,SAAS,EAAE;IAAa,CAAE;IAAAT,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,GAElCxD,QAAQ,gBACP/C,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACzF,aAAA,CAAA0G,WAAW;IAAC3C,KAAK,EAAEZ,WAAY;IAACwD,IAAI,EAAC,MAAM;IAACC,IAAI,EAAC,WAAW;IAAAZ,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,gBAEhEvG,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACzF,aAAA,CAAA6G,OAAO;IAACC,OAAO,EAAEnG,CAAC,CAAC,6BAA6B,CAAE;IAACoG,QAAQ,EAAC,QAAQ;IAAAf,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACnEvG,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACzF,aAAA,CAAAgH,UAAU;IACTL,IAAI,EAAC,MAAM;IACXM,QAAQ,EAAC,WAAW;IACpBzE,QAAQ,EAAC,yBAAyB;IAClC0E,OAAO,EAAEjD,iBAAkB;IAAA+B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAE3BvG,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACxF,iBAAA,CAAAkH,GAAG;IAAAnB,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CACI,CACL,CACV,EAEAxD,QAAQ,gBACP/C,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACzF,aAAA,CAAAoH,WAAW;IACVC,QAAQ,EAAC,OAAO;IAChBN,QAAQ,EAAC,QAAQ;IACjBO,cAAc,eACZzH,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACzF,aAAA,CAAA6G,OAAO;MACNC,OAAO,EAAEnG,CAAC,CAAC,2CAA2C,CAAE;MACxDoG,QAAQ,EAAC,QAAQ;MAAAf,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzF,YAAA;QAAA0F,UAAA;QAAAC,YAAA;MAAA;IAAA,gBAEjBvG,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACzF,aAAA,CAAAgH,UAAU;MACTL,IAAI,EAAC,MAAM;MACXM,QAAQ,EAAC,UAAU;MACnBzE,QAAQ,EAAC,0BAA0B;MAAAwD,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzF,YAAA;QAAA0F,UAAA;QAAAC,YAAA;MAAA;IAAA,gBAEnCvG,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACxF,iBAAA,CAAAsH,SAAS;MAAAvB,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzF,YAAA;QAAA0F,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CACF,CACL,CACV;IAAAJ,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAEDvG,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACzF,aAAA,CAAAoH,WAAW,CAACI,QAAQ;IACnBhF,QAAQ,EAAC,4BAA4B;IACrCiF,IAAI,EAAE9G,CAAC,CAAC,gCAAgC,CAAE;IAC1C+G,UAAU,eAAE7H,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACxF,iBAAA,CAAA0H,OAAO;MAAA3B,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzF,YAAA;QAAA0F,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAE;IACxBc,OAAO,EAAEjD,iBAAkB;IAAA+B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC5B,CAAC,eACFvG,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACzF,aAAA,CAAAoH,WAAW,CAACI,QAAQ;IACnBhF,QAAQ,EAAC,6BAA6B;IACtCiF,IAAI,EAAE9G,CAAC,CAAC,0BAA0B,CAAE;IACpC+G,UAAU,eAAE7H,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACxF,iBAAA,CAAA2H,QAAQ;MAAA5B,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzF,YAAA;QAAA0F,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAE;IACzBc,OAAO,EAAE/C,iBAAkB;IAAA6B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC5B,CAAC,eACFvG,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACzF,aAAA,CAAAoH,WAAW,CAACS,OAAO;IAAA7B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,eACvBvG,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACzF,aAAA,CAAAoH,WAAW,CAACI,QAAQ;IACnBhF,QAAQ,EAAC,2BAA2B;IACpCiF,IAAI,EAAE9G,CAAC,CAAC,wBAAwB,CAAE;IAClCmH,IAAI,EAAC,aAAa;IAClBJ,UAAU,eAAE7H,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACxF,iBAAA,CAAA8H,MAAM;MAAA/B,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAzF,YAAA;QAAA0F,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAE;IACvBc,OAAO,EAAE3C,cAAe;IAAAyB,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,CACzB,CACU,CAAC,GACZ,IACD,CAAC,EAELxC,WAAW,CAACoE,MAAM,iBAAInI,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAAClF,mBAAA,CAAA0H,kBAAkB,MAAAC,SAAA,CAAA9G,OAAA,MAAKwC,WAAW;IAAAoC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,EAAG,CAAC,eAE9DvG,MAAA,CAAAuB,OAAA,CAAAqE,aAAA,CAACjF,kBAAA,CAAA2H,iBAAiB;IAChBH,MAAM,EAAEjF,aAAc;IACtBqF,OAAO,EAAEhE,kBAAmB;IAC5BlC,KAAK,EAAE,CAACA,KAAK,IAAI,EAAE,EAAEkB,GAAG,CAAEC,IAAI,IAAKA,IAAI,CAACE,GAAG,CAAE;IAC7C8E,cAAc,EAAEhE,yBAA0B;IAC1CiE,YAAY,EAAEhE,kBAAmB;IACjCE,eAAe,EAAEA,eAAgB;IACjC+D,QAAQ,EAAE1G,2BAA4B;IAAAmE,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAzF,YAAA;MAAA0F,UAAA;MAAAC,YAAA;IAAA;EAAA,CACvC,CACE,CAAC;AAEV,CAAC;AAACoC,OAAA,CAAAvG,oBAAA,GAAAA,oBAAA;AAEFA,oBAAoB,CAACwG,WAAW,GAAG,sBAAsB","ignoreList":[]}
@@ -0,0 +1,45 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.CellMediaGalleryView = CellMediaGalleryView;
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _designSystem = require("@wix/design-system");
8
+ var _autoFieldTypes = require("../../auto-field-types");
9
+ var _jsxFileName = "/home/builduser/work/843658b9f44192f0/packages/fields/dist/cjs/components/media-gallery/cell-media-gallery-view.tsx";
10
+ function CellMediaGalleryView({
11
+ data,
12
+ dataHook
13
+ }) {
14
+ const items = (data ?? []).map(item => ({
15
+ imgProps: {
16
+ src: (0, _autoFieldTypes.mediaURItoImageURL)(item.src, _autoFieldTypes.ThumbnailSize.S)
17
+ }
18
+ }));
19
+ return /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
20
+ dataHook: dataHook,
21
+ verticalAlign: "middle",
22
+ height: "100%",
23
+ width: "100%",
24
+ padding: "0 8px",
25
+ overflow: "hidden",
26
+ __self: this,
27
+ __source: {
28
+ fileName: _jsxFileName,
29
+ lineNumber: 17,
30
+ columnNumber: 5
31
+ }
32
+ }, items.length > 0 ? /*#__PURE__*/_react.default.createElement(_designSystem.AvatarGroup, {
33
+ items: items,
34
+ size: "tiny",
35
+ type: "condensed",
36
+ __self: this,
37
+ __source: {
38
+ fileName: _jsxFileName,
39
+ lineNumber: 26,
40
+ columnNumber: 9
41
+ }
42
+ }) : null);
43
+ }
44
+ CellMediaGalleryView.displayName = 'CellMediaGalleryView';
45
+ //# sourceMappingURL=cell-media-gallery-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_autoFieldTypes","_jsxFileName","CellMediaGalleryView","data","dataHook","items","map","item","imgProps","src","mediaURItoImageURL","ThumbnailSize","S","default","createElement","Box","verticalAlign","height","width","padding","overflow","__self","__source","fileName","lineNumber","columnNumber","length","AvatarGroup","size","type","displayName"],"sources":["../../../../src/components/media-gallery/cell-media-gallery-view.tsx"],"sourcesContent":["import React from 'react';\nimport { AvatarGroup, Box } from '@wix/design-system';\nimport { mediaURItoImageURL, ThumbnailSize } from '../../auto-field-types';\nimport type { WixCodeGalleryItem } from '../../auto-field-types';\n\nexport interface CellMediaGalleryViewProps {\n data: WixCodeGalleryItem[] | null;\n dataHook?: string;\n}\n\nexport function CellMediaGalleryView({ data, dataHook }: CellMediaGalleryViewProps) {\n const items = (data ?? []).map((item) => ({\n imgProps: { src: mediaURItoImageURL(item.src, ThumbnailSize.S) },\n }));\n\n return (\n <Box\n dataHook={dataHook}\n verticalAlign=\"middle\"\n height=\"100%\"\n width=\"100%\"\n padding=\"0 8px\"\n overflow=\"hidden\"\n >\n {items.length > 0 ? (\n <AvatarGroup items={items} size=\"tiny\" type=\"condensed\" />\n ) : null}\n </Box>\n );\n}\n\nCellMediaGalleryView.displayName = 'CellMediaGalleryView';\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,eAAA,GAAAF,OAAA;AAA2E,IAAAG,YAAA;AAQpE,SAASC,oBAAoBA,CAAC;EAAEC,IAAI;EAAEC;AAAoC,CAAC,EAAE;EAClF,MAAMC,KAAK,GAAG,CAACF,IAAI,IAAI,EAAE,EAAEG,GAAG,CAAEC,IAAI,KAAM;IACxCC,QAAQ,EAAE;MAAEC,GAAG,EAAE,IAAAC,kCAAkB,EAACH,IAAI,CAACE,GAAG,EAAEE,6BAAa,CAACC,CAAC;IAAE;EACjE,CAAC,CAAC,CAAC;EAEH,oBACEhB,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACf,aAAA,CAAAgB,GAAG;IACFX,QAAQ,EAAEA,QAAS;IACnBY,aAAa,EAAC,QAAQ;IACtBC,MAAM,EAAC,MAAM;IACbC,KAAK,EAAC,MAAM;IACZC,OAAO,EAAC,OAAO;IACfC,QAAQ,EAAC,QAAQ;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAtB,YAAA;MAAAuB,UAAA;MAAAC,YAAA;IAAA;EAAA,GAEhBpB,KAAK,CAACqB,MAAM,GAAG,CAAC,gBACf9B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACf,aAAA,CAAA4B,WAAW;IAACtB,KAAK,EAAEA,KAAM;IAACuB,IAAI,EAAC,MAAM;IAACC,IAAI,EAAC,WAAW;IAAAR,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAtB,YAAA;MAAAuB,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,GACxD,IACD,CAAC;AAEV;AAEAvB,oBAAoB,CAAC4B,WAAW,GAAG,sBAAsB","ignoreList":[]}
@@ -5,22 +5,22 @@ exports.vars = exports.style = exports.stVars = exports.st = exports.namespace =
5
5
  var _stylableEsmRuntime = require("../../stylable-esm-runtime.js");
6
6
  // @ts-nocheck
7
7
 
8
- var _namespace_ = "formmediagalleryfield1817893524";
8
+ var _namespace_ = "formmediagalleryfield896548020";
9
9
  var _style_ = _stylableEsmRuntime.classesRuntime.bind(null, _namespace_);
10
10
  var cssStates = exports.cssStates = _stylableEsmRuntime.statesRuntime.bind(null, _namespace_);
11
11
  var style = exports.style = _style_;
12
12
  var st = exports.st = _style_;
13
13
  var namespace = exports.namespace = _namespace_;
14
14
  var classes = exports.classes = {
15
- "root": "formmediagalleryfield1817893524__root",
16
- "container": "formmediagalleryfield1817893524__container",
17
- "viewBox": "formmediagalleryfield1817893524__viewBox",
18
- "addItemWrapper": "formmediagalleryfield1817893524__addItemWrapper",
19
- "addItem": "formmediagalleryfield1817893524__addItem",
20
- "overlay": "formmediagalleryfield1817893524__overlay",
21
- "image": "formmediagalleryfield1817893524__image",
22
- "previewImage": "formmediagalleryfield1817893524__previewImage",
23
- "previewVideo": "formmediagalleryfield1817893524__previewVideo"
15
+ "root": "formmediagalleryfield896548020__root",
16
+ "container": "formmediagalleryfield896548020__container",
17
+ "viewBox": "formmediagalleryfield896548020__viewBox",
18
+ "addItemWrapper": "formmediagalleryfield896548020__addItemWrapper",
19
+ "addItem": "formmediagalleryfield896548020__addItem",
20
+ "overlay": "formmediagalleryfield896548020__overlay",
21
+ "image": "formmediagalleryfield896548020__image",
22
+ "previewImage": "formmediagalleryfield896548020__previewImage",
23
+ "previewVideo": "formmediagalleryfield896548020__previewVideo"
24
24
  };
25
25
  var keyframes = exports.keyframes = {};
26
26
  var layers = exports.layers = {};
@@ -1 +1 @@
1
- {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/media-gallery/form-media-gallery-field.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"formmediagalleryfield1817893524\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"formmediagalleryfield1817893524__root\",\"container\":\"formmediagalleryfield1817893524__container\",\"viewBox\":\"formmediagalleryfield1817893524__viewBox\",\"addItemWrapper\":\"formmediagalleryfield1817893524__addItemWrapper\",\"addItem\":\"formmediagalleryfield1817893524__addItem\",\"overlay\":\"formmediagalleryfield1817893524__overlay\",\"image\":\"formmediagalleryfield1817893524__image\",\"previewImage\":\"formmediagalleryfield1817893524__previewImage\",\"previewVideo\":\"formmediagalleryfield1817893524__previewVideo\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,iCAAiC;AACnD,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAA6C,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AAC3D,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,uCAAuC;EAAC,WAAW,EAAC,4CAA4C;EAAC,SAAS,EAAC,0CAA0C;EAAC,gBAAgB,EAAC,iDAAiD;EAAC,SAAS,EAAC,0CAA0C;EAAC,SAAS,EAAC,0CAA0C;EAAC,OAAO,EAAC,wCAAwC;EAAC,cAAc,EAAC,+CAA+C;EAAC,cAAc,EAAC;AAA+C,CAAC;AACxgB,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_stylableEsmRuntime","require","_namespace_","_style_","classesRuntime","bind","cssStates","exports","statesRuntime","style","st","namespace","classes","keyframes","layers","containers","stVars","vars"],"sources":["../../../../src/components/media-gallery/form-media-gallery-field.st.css.ts"],"sourcesContent":["// @ts-nocheck\n\n\nimport { classesRuntime, statesRuntime } from \"../../stylable-esm-runtime.js\";\n\n\n\nvar _namespace_ = \"formmediagalleryfield896548020\";\nvar _style_ = classesRuntime.bind(null, _namespace_);\n\nexport var cssStates = statesRuntime.bind(null, _namespace_);\nexport var style: import(\"@stylable/runtime\").STFunction = _style_;\nexport var st: import(\"@stylable/runtime\").STFunction = _style_;\n\nexport var namespace = _namespace_;\nexport var classes = {\"root\":\"formmediagalleryfield896548020__root\",\"container\":\"formmediagalleryfield896548020__container\",\"viewBox\":\"formmediagalleryfield896548020__viewBox\",\"addItemWrapper\":\"formmediagalleryfield896548020__addItemWrapper\",\"addItem\":\"formmediagalleryfield896548020__addItem\",\"overlay\":\"formmediagalleryfield896548020__overlay\",\"image\":\"formmediagalleryfield896548020__image\",\"previewImage\":\"formmediagalleryfield896548020__previewImage\",\"previewVideo\":\"formmediagalleryfield896548020__previewVideo\"};\nexport var keyframes = {}; \nexport var layers = {};\nexport var containers = {};\nexport var stVars = {}; \nexport var vars = {}; \n\n\n\n\n"],"mappings":";;;;AAGA,IAAAA,mBAAA,GAAAC,OAAA;AAHA;;AAOA,IAAIC,WAAW,GAAG,gCAAgC;AAClD,IAAIC,OAAO,GAAGC,kCAAc,CAACC,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AAE7C,IAAII,SAAS,GAAAC,OAAA,CAAAD,SAAA,GAAGE,iCAAa,CAACH,IAAI,CAAC,IAAI,EAAEH,WAAW,CAAC;AACrD,IAAIO,KAA6C,GAAAF,OAAA,CAAAE,KAAA,GAAGN,OAAO;AAC3D,IAAIO,EAA0C,GAAAH,OAAA,CAAAG,EAAA,GAAGP,OAAO;AAExD,IAAIQ,SAAS,GAAAJ,OAAA,CAAAI,SAAA,GAAGT,WAAW;AAC3B,IAAIU,OAAO,GAAAL,OAAA,CAAAK,OAAA,GAAG;EAAC,MAAM,EAAC,sCAAsC;EAAC,WAAW,EAAC,2CAA2C;EAAC,SAAS,EAAC,yCAAyC;EAAC,gBAAgB,EAAC,gDAAgD;EAAC,SAAS,EAAC,yCAAyC;EAAC,SAAS,EAAC,yCAAyC;EAAC,OAAO,EAAC,uCAAuC;EAAC,cAAc,EAAC,8CAA8C;EAAC,cAAc,EAAC;AAA8C,CAAC;AAC/f,IAAIC,SAAS,GAAAN,OAAA,CAAAM,SAAA,GAAG,CAAC,CAAC;AAClB,IAAIC,MAAM,GAAAP,OAAA,CAAAO,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,UAAU,GAAAR,OAAA,CAAAQ,UAAA,GAAG,CAAC,CAAC;AACnB,IAAIC,MAAM,GAAAT,OAAA,CAAAS,MAAA,GAAG,CAAC,CAAC;AACf,IAAIC,IAAI,GAAAV,OAAA,CAAAU,IAAA,GAAG,CAAC,CAAC","ignoreList":[]}
@@ -7,4 +7,16 @@ Object.keys(_mediaGalleryView).forEach(function (key) {
7
7
  if (key in exports && exports[key] === _mediaGalleryView[key]) return;
8
8
  exports[key] = _mediaGalleryView[key];
9
9
  });
10
+ var _cellMediaGalleryView = require("./cell-media-gallery-view");
11
+ Object.keys(_cellMediaGalleryView).forEach(function (key) {
12
+ if (key === "default" || key === "__esModule") return;
13
+ if (key in exports && exports[key] === _cellMediaGalleryView[key]) return;
14
+ exports[key] = _cellMediaGalleryView[key];
15
+ });
16
+ var _cellMediaGalleryEdit = require("./cell-media-gallery-edit");
17
+ Object.keys(_cellMediaGalleryEdit).forEach(function (key) {
18
+ if (key === "default" || key === "__esModule") return;
19
+ if (key in exports && exports[key] === _cellMediaGalleryEdit[key]) return;
20
+ exports[key] = _cellMediaGalleryEdit[key];
21
+ });
10
22
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_mediaGalleryView","require","Object","keys","forEach","key","exports"],"sources":["../../../../src/components/media-gallery/index.ts"],"sourcesContent":["export * from './media-gallery-view';\n"],"mappings":";;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,iBAAA,CAAAK,GAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_mediaGalleryView","require","Object","keys","forEach","key","exports","_cellMediaGalleryView","_cellMediaGalleryEdit"],"sources":["../../../../src/components/media-gallery/index.ts"],"sourcesContent":["export * from './media-gallery-view';\nexport * from './cell-media-gallery-view';\nexport * from './cell-media-gallery-edit';\n"],"mappings":";;;AAAA,IAAAA,iBAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,iBAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,iBAAA,CAAAK,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAL,iBAAA,CAAAK,GAAA;AAAA;AACA,IAAAE,qBAAA,GAAAN,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAI,qBAAA,EAAAH,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAE,qBAAA,CAAAF,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAE,qBAAA,CAAAF,GAAA;AAAA;AACA,IAAAG,qBAAA,GAAAP,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAK,qBAAA,EAAAJ,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAG,qBAAA,CAAAH,GAAA;EAAAC,OAAA,CAAAD,GAAA,IAAAG,qBAAA,CAAAH,GAAA;AAAA","ignoreList":[]}