@wix/auto-patterns 1.50.0 → 1.52.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 (293) hide show
  1. package/dist/cjs/assets/locale/messages_en.json +68 -1
  2. package/dist/cjs/cms-fields/auto-cms-field-types/index.js +3 -1
  3. package/dist/cjs/cms-fields/auto-cms-field-types/index.js.map +1 -1
  4. package/dist/cjs/cms-fields/auto-cms-field-types/media-manager.js +24 -21
  5. package/dist/cjs/cms-fields/auto-cms-field-types/media-manager.js.map +1 -1
  6. package/dist/cjs/cms-fields/auto-cms-field-types/media-types.js.map +1 -1
  7. package/dist/cjs/cms-fields/components/address/input/address-input.st.css.js +3 -3
  8. package/dist/cjs/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
  9. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  10. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  11. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  12. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  13. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js +2 -2
  14. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  15. package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
  16. package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  17. package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js +7 -7
  18. package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
  19. package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
  20. package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
  21. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js +5 -5
  22. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  23. package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
  24. package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
  25. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.js +275 -0
  26. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.js.map +1 -0
  27. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.st.css +51 -0
  28. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js +30 -0
  29. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -0
  30. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.js +14 -0
  31. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.js.map +1 -0
  32. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-items-preview.js +134 -0
  33. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-items-preview.js.map +1 -0
  34. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/add-link-modal.js +172 -0
  35. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/add-link-modal.js.map +1 -0
  36. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/add-media-button.js +50 -0
  37. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/add-media-button.js.map +1 -0
  38. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/content-keys.js +44 -0
  39. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/content-keys.js.map +1 -0
  40. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/hooks.js +89 -0
  41. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/hooks.js.map +1 -0
  42. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/item-actions.js +61 -0
  43. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/item-actions.js.map +1 -0
  44. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.js +181 -0
  45. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.js.map +1 -0
  46. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.js +71 -0
  47. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.js.map +1 -0
  48. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/types.js +4 -0
  49. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/types.js.map +1 -0
  50. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.js +24 -0
  51. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.js.map +1 -0
  52. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/utils.js +289 -0
  53. package/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/utils.js.map +1 -0
  54. package/dist/cjs/cms-fields/components/media-gallery/media-preview-modal.js +274 -0
  55. package/dist/cjs/cms-fields/components/media-gallery/media-preview-modal.js.map +1 -0
  56. package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js +4 -4
  57. package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
  58. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js +3 -3
  59. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -1
  60. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  61. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  62. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  63. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  64. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  65. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  66. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  67. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  68. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  69. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
  70. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  71. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  72. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  73. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  74. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  75. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  76. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
  77. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  78. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  79. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  80. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  81. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  82. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  83. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  84. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  85. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  86. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  87. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  88. package/dist/cjs/cms-fields/components/text/text-view.st.css.js +3 -3
  89. package/dist/cjs/cms-fields/components/text/text-view.st.css.js.map +1 -1
  90. package/dist/cjs/cms-fields/utils/media-item-utils.js +261 -0
  91. package/dist/cjs/cms-fields/utils/media-item-utils.js.map +1 -0
  92. package/dist/cjs/components/AutoPatternsApp/AutoPatternsAppTestPolyfills.js +5 -0
  93. package/dist/cjs/components/AutoPatternsApp/AutoPatternsAppTestPolyfills.js.map +1 -1
  94. package/dist/cjs/components/fields/MediaGallery.js +67 -0
  95. package/dist/cjs/components/fields/MediaGallery.js.map +1 -0
  96. package/dist/cjs/components/fields/index.js +5 -2
  97. package/dist/cjs/components/fields/index.js.map +1 -1
  98. package/dist/cjs/components/layouts/FormField.js +3 -2
  99. package/dist/cjs/components/layouts/FormField.js.map +1 -1
  100. package/dist/cjs/hooks/useColumns.js.map +1 -1
  101. package/dist/cjs/hooks/usePersistedState.js +24 -0
  102. package/dist/cjs/hooks/usePersistedState.js.map +1 -0
  103. package/dist/cjs/hooks/useTableSections.js +6 -3
  104. package/dist/cjs/hooks/useTableSections.js.map +1 -1
  105. package/dist/cjs/providers/AutoPatternsOverridesContext.js +1 -1
  106. package/dist/cjs/providers/AutoPatternsOverridesContext.js.map +1 -1
  107. package/dist/cjs/services/translations.js.map +1 -1
  108. package/dist/cjs/styles.global.css +1 -1
  109. package/dist/cjs/utils/filterCreators.js +4 -4
  110. package/dist/cjs/utils/filterCreators.js.map +1 -1
  111. package/dist/esm/assets/locale/messages_en.json +68 -1
  112. package/dist/esm/cms-fields/auto-cms-field-types/index.js +1 -1
  113. package/dist/esm/cms-fields/auto-cms-field-types/index.js.map +1 -1
  114. package/dist/esm/cms-fields/auto-cms-field-types/media-manager.js +3 -1
  115. package/dist/esm/cms-fields/auto-cms-field-types/media-manager.js.map +1 -1
  116. package/dist/esm/cms-fields/auto-cms-field-types/media-types.js.map +1 -1
  117. package/dist/esm/cms-fields/components/address/input/address-input.st.css.js +3 -3
  118. package/dist/esm/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
  119. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  120. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  121. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  122. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  123. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js +2 -2
  124. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  125. package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
  126. package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  127. package/dist/esm/cms-fields/components/document/form-document-field.st.css.js +7 -7
  128. package/dist/esm/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
  129. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
  130. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
  131. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js +5 -5
  132. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  133. package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
  134. package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
  135. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.js +164 -0
  136. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.js.map +1 -0
  137. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.st.css +51 -0
  138. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js +26 -0
  139. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -0
  140. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.js +10 -0
  141. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.js.map +1 -0
  142. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-items-preview.js +110 -0
  143. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-items-preview.js.map +1 -0
  144. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/add-link-modal.js +106 -0
  145. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/add-link-modal.js.map +1 -0
  146. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/add-media-button.js +25 -0
  147. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/add-media-button.js.map +1 -0
  148. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/content-keys.js +40 -0
  149. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/content-keys.js.map +1 -0
  150. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/hooks.js +81 -0
  151. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/hooks.js.map +1 -0
  152. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/item-actions.js +37 -0
  153. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/item-actions.js.map +1 -0
  154. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.js +152 -0
  155. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.js.map +1 -0
  156. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.js +34 -0
  157. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.js.map +1 -0
  158. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/types.js +2 -0
  159. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/types.js.map +1 -0
  160. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.js +19 -0
  161. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.js.map +1 -0
  162. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/utils.js +288 -0
  163. package/dist/esm/cms-fields/components/media-gallery/media-gallery-dialog/utils.js.map +1 -0
  164. package/dist/esm/cms-fields/components/media-gallery/media-preview-modal.js +147 -0
  165. package/dist/esm/cms-fields/components/media-gallery/media-preview-modal.js.map +1 -0
  166. package/dist/esm/cms-fields/components/media-image/media-image.st.css.js +4 -4
  167. package/dist/esm/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
  168. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js +3 -3
  169. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -1
  170. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  171. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  172. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  173. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  174. package/dist/esm/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  175. package/dist/esm/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js.map +1 -1
  176. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  177. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  178. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js +2 -2
  179. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.js.map +1 -1
  180. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  181. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  182. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  183. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  184. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js +2 -2
  185. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/toggle-fullscreen-button/toggle-fullscreen-button.st.css.js.map +1 -1
  186. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
  187. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  188. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  189. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  190. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  191. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  192. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  193. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  194. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  195. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  196. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  197. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  198. package/dist/esm/cms-fields/components/text/text-view.st.css.js +3 -3
  199. package/dist/esm/cms-fields/components/text/text-view.st.css.js.map +1 -1
  200. package/dist/esm/cms-fields/utils/media-item-utils.js +261 -0
  201. package/dist/esm/cms-fields/utils/media-item-utils.js.map +1 -0
  202. package/dist/esm/components/AutoPatternsApp/AutoPatternsAppTestPolyfills.js +5 -0
  203. package/dist/esm/components/AutoPatternsApp/AutoPatternsAppTestPolyfills.js.map +1 -1
  204. package/dist/esm/components/fields/MediaGallery.js +48 -0
  205. package/dist/esm/components/fields/MediaGallery.js.map +1 -0
  206. package/dist/esm/components/fields/index.js +1 -0
  207. package/dist/esm/components/fields/index.js.map +1 -1
  208. package/dist/esm/components/layouts/FormField.js +3 -2
  209. package/dist/esm/components/layouts/FormField.js.map +1 -1
  210. package/dist/esm/hooks/useColumns.js +1 -1
  211. package/dist/esm/hooks/useColumns.js.map +1 -1
  212. package/dist/esm/hooks/usePersistedState.js +20 -0
  213. package/dist/esm/hooks/usePersistedState.js.map +1 -0
  214. package/dist/esm/hooks/useTableSections.js +7 -4
  215. package/dist/esm/hooks/useTableSections.js.map +1 -1
  216. package/dist/esm/providers/AutoPatternsOverridesContext.js.map +1 -1
  217. package/dist/esm/services/translations.js.map +1 -1
  218. package/dist/esm/styles.global.css +1 -1
  219. package/dist/esm/utils/filterCreators.js +4 -4
  220. package/dist/esm/utils/filterCreators.js.map +1 -1
  221. package/dist/types/cms-fields/auto-cms-field-types/index.d.ts +2 -2
  222. package/dist/types/cms-fields/auto-cms-field-types/index.d.ts.map +1 -1
  223. package/dist/types/cms-fields/auto-cms-field-types/media-manager.d.ts +2 -0
  224. package/dist/types/cms-fields/auto-cms-field-types/media-manager.d.ts.map +1 -1
  225. package/dist/types/cms-fields/auto-cms-field-types/media-types.d.ts +1 -1
  226. package/dist/types/cms-fields/auto-cms-field-types/media-types.d.ts.map +1 -1
  227. package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.d.ts.map +1 -1
  228. package/dist/types/cms-fields/components/audio/audio-player/audio-player.st.css.d.ts.map +1 -1
  229. package/dist/types/cms-fields/components/exclamation/exclamation.st.css.d.ts.map +1 -1
  230. package/dist/types/cms-fields/components/highlighted-text/highlighted-text.st.css.d.ts.map +1 -1
  231. package/dist/types/cms-fields/components/media-control/paste-url-button.st.css.d.ts.map +1 -1
  232. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.d.ts +13 -0
  233. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.d.ts.map +1 -0
  234. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.st.css.d.ts +21 -0
  235. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.st.css.d.ts.map +1 -0
  236. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.d.ts +33 -0
  237. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.uni.driver.d.ts.map +1 -0
  238. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-items-preview.d.ts +8 -0
  239. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-items-preview.d.ts.map +1 -0
  240. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/add-link-modal.d.ts +11 -0
  241. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/add-link-modal.d.ts.map +1 -0
  242. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/add-media-button.d.ts +7 -0
  243. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/add-media-button.d.ts.map +1 -0
  244. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/content-keys.d.ts +41 -0
  245. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/content-keys.d.ts.map +1 -0
  246. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/hooks.d.ts +66 -0
  247. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/hooks.d.ts.map +1 -0
  248. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/item-actions.d.ts +8 -0
  249. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/item-actions.d.ts.map +1 -0
  250. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.d.ts +5 -0
  251. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.d.ts.map +1 -0
  252. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.d.ts +7 -0
  253. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.d.ts.map +1 -0
  254. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/types.d.ts +81 -0
  255. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/types.d.ts.map +1 -0
  256. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.d.ts +10 -0
  257. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.d.ts.map +1 -0
  258. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/utils.d.ts +23 -0
  259. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/utils.d.ts.map +1 -0
  260. package/dist/types/cms-fields/components/media-gallery/media-preview-modal.d.ts +19 -0
  261. package/dist/types/cms-fields/components/media-gallery/media-preview-modal.d.ts.map +1 -0
  262. package/dist/types/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.d.ts.map +1 -1
  263. package/dist/types/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.d.ts.map +1 -1
  264. package/dist/types/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.d.ts.map +1 -1
  265. package/dist/types/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.d.ts.map +1 -1
  266. package/dist/types/cms-fields/utils/media-item-utils.d.ts +61 -0
  267. package/dist/types/cms-fields/utils/media-item-utils.d.ts.map +1 -0
  268. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.uni.driver.d.ts +425 -26
  269. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.uni.driver.d.ts.map +1 -1
  270. package/dist/types/components/AutoPatternsTable/AutoPatternsTable.uni.driver.d.ts +425 -26
  271. package/dist/types/components/AutoPatternsTable/AutoPatternsTable.uni.driver.d.ts.map +1 -1
  272. package/dist/types/components/fields/MediaGallery.d.ts +8 -0
  273. package/dist/types/components/fields/MediaGallery.d.ts.map +1 -0
  274. package/dist/types/components/fields/index.d.ts +1 -0
  275. package/dist/types/components/fields/index.d.ts.map +1 -1
  276. package/dist/types/components/layouts/FormField.d.ts.map +1 -1
  277. package/dist/types/hooks/usePersistedState.d.ts +2 -0
  278. package/dist/types/hooks/usePersistedState.d.ts.map +1 -0
  279. package/dist/types/hooks/useTableSections.d.ts +6 -2
  280. package/dist/types/hooks/useTableSections.d.ts.map +1 -1
  281. package/dist/types/providers/AutoPatternsOverridesContext.d.ts +4 -1
  282. package/dist/types/providers/AutoPatternsOverridesContext.d.ts.map +1 -1
  283. package/dist/types/services/translations.d.ts +4 -1
  284. package/dist/types/services/translations.d.ts.map +1 -1
  285. package/dist/types/testkit/enzyme.d.ts +425 -26
  286. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  287. package/dist/types/testkit/jsdom.d.ts +425 -26
  288. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  289. package/dist/types/testkit/playwright.d.ts +425 -26
  290. package/dist/types/testkit/playwright.d.ts.map +1 -1
  291. package/dist/types/testkit/puppeteer.d.ts +425 -26
  292. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  293. package/package.json +4 -4
@@ -0,0 +1,181 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.MediaGalleryDialog = void 0;
6
+ var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _usePersistedState = require("../../../../hooks/usePersistedState");
9
+ var _autoPatternsBundledOrganizeMedia = require("@wix/auto-patterns-utils/@wix/auto-patterns-bundled-organize-media");
10
+ require("@wix/auto-patterns-utils/@wix/auto-patterns-bundled-organize-media/dist/esm/index.global.css");
11
+ var _hooks = require("../../../hooks");
12
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
13
+ var _utils = require("./utils");
14
+ var _hooks2 = require("./hooks");
15
+ var _addMediaButton = require("./add-media-button");
16
+ var _noItemsView = require("./no-items-view");
17
+ var _itemActions = require("./item-actions");
18
+ var _addLinkModal = require("./add-link-modal");
19
+ var _useAddLinkModal = require("./use-add-link-modal");
20
+ var _jsxFileName = "/home/builduser/work/8f3ab5a55e62623a/packages/auto-patterns/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.tsx";
21
+ 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); }
22
+ const ITEM_EDITING_OPTION = {
23
+ link: false,
24
+ title: true,
25
+ description: true,
26
+ focalPoint: true,
27
+ alt: true,
28
+ externalLink: true
29
+ };
30
+ const toOrganizeMediaItems = items => items.map(_utils.convertWixCodeGalleryItemToOrganizeMediaItem).filter(Boolean);
31
+ const fromOrganizeMediaItems = organizeMediaItems => organizeMediaItems.map(_utils.convertOrganizeMediaItemToWixCodeGalleryItem).filter(Boolean);
32
+ const MediaGalleryDialog = ({
33
+ isOpen,
34
+ items,
35
+ onClose,
36
+ onChange
37
+ }) => {
38
+ const {
39
+ t
40
+ } = (0, _hooks.useTranslations)();
41
+ const [organizeMediaItems, setOrganizeMediaItems] = (0, _react.useState)(toOrganizeMediaItems(items));
42
+ const [imageAddDirection, setImageAddDirection] = (0, _usePersistedState.usePersistedState)('auto-cairo:media-gallery-dialog-image-add-direction', _autoPatternsBundledOrganizeMedia.ADD_ITEMS_DIRECTION.GALLERY_END);
43
+ const [defaultNewItemName, setDefaultNewItemName] = (0, _usePersistedState.usePersistedState)('auto-cairo:media-gallery-dialog-default-new-item-name', _autoPatternsBundledOrganizeMedia.NAME_NEW_ITEMS.FILE_NAME);
44
+ const organizeMediaContentKeys = (0, _hooks2.useContentKeys)(organizeMediaItems);
45
+ const prevItemsRef = (0, _react.useRef)(items);
46
+ (0, _react.useEffect)(() => {
47
+ if (!(0, _isEqual.default)(items, prevItemsRef.current)) {
48
+ setOrganizeMediaItems(toOrganizeMediaItems(items));
49
+ }
50
+ prevItemsRef.current = items;
51
+ }, [items]);
52
+ const onAddMedia = (0, _react.useCallback)(newItems => {
53
+ const itemsToAdd = defaultNewItemName === _autoPatternsBundledOrganizeMedia.NAME_NEW_ITEMS.EMPTY ? (0, _utils.setItemsEmptyTitles)(newItems) : newItems;
54
+ setOrganizeMediaItems(currentItems => {
55
+ const merged = imageAddDirection === _autoPatternsBundledOrganizeMedia.ADD_ITEMS_DIRECTION.GALLERY_START ? [...itemsToAdd, ...currentItems] : [...currentItems, ...itemsToAdd];
56
+ return merged.map((item, orderIndex) => ({
57
+ ...item,
58
+ orderIndex
59
+ }));
60
+ });
61
+ }, [defaultNewItemName, imageAddDirection]);
62
+ const onDeleteImages = (0, _react.useCallback)(itemIds => {
63
+ setOrganizeMediaItems(currentItems => currentItems.filter(({
64
+ id
65
+ }) => !itemIds.includes(id ?? '')).map((item, orderIndex) => ({
66
+ ...item,
67
+ orderIndex
68
+ })));
69
+ }, []);
70
+ const onItemsOrderIndexUpdated = (0, _react.useCallback)(changes => {
71
+ setOrganizeMediaItems(currentItems => (0, _utils.applyOrganizeMediaItemsChanges)(currentItems, changes));
72
+ }, []);
73
+ const onItemUpdated = (0, _react.useCallback)(change => {
74
+ setOrganizeMediaItems(currentItems => (0, _utils.applyOrganizeMediaItemsChanges)(currentItems, [change]));
75
+ }, []);
76
+ const onItemReplaced = (0, _react.useCallback)(({
77
+ itemId,
78
+ data
79
+ }) => {
80
+ setOrganizeMediaItems(currentItems => {
81
+ const itemToReplace = currentItems.find(({
82
+ id
83
+ }) => id === itemId);
84
+ const orderIndex = (itemToReplace == null ? void 0 : itemToReplace.orderIndex) ?? data.orderIndex;
85
+ const change = {
86
+ itemId,
87
+ data: {
88
+ ...data,
89
+ orderIndex
90
+ }
91
+ };
92
+ return (0, _utils.applyOrganizeMediaItemsChanges)(currentItems, [change]);
93
+ });
94
+ }, []);
95
+ const onCloseOrganizeMedia = (0, _react.useCallback)(() => {
96
+ onChange == null || onChange(fromOrganizeMediaItems(organizeMediaItems));
97
+ onClose == null || onClose();
98
+ }, [onChange, onClose, organizeMediaItems]);
99
+
100
+ // Link editing: OrganizeMedia fires onLinkButtonClicked, we show AddLinkModal
101
+ const onUpdateLink = (0, _react.useCallback)((itemId, link) => {
102
+ setOrganizeMediaItems(currentItems => currentItems.map(item => item.id === itemId ? {
103
+ ...item,
104
+ link
105
+ } : item));
106
+ }, []);
107
+ const {
108
+ onLinkButtonClicked,
109
+ ...addLinkModalProps
110
+ } = (0, _useAddLinkModal.useAddLinkModal)(onUpdateLink);
111
+ const noItemsViewRenderer = (0, _react.useCallback)(() => /*#__PURE__*/_react.default.createElement(_noItemsView.NoItemsView, {
112
+ onAddMedia: onAddMedia,
113
+ __self: void 0,
114
+ __source: {
115
+ fileName: _jsxFileName,
116
+ lineNumber: 158,
117
+ columnNumber: 11
118
+ }
119
+ }), [onAddMedia]);
120
+ const uploadMediaRenderer = (0, _react.useCallback)(() => /*#__PURE__*/_react.default.createElement(_addMediaButton.AddMediaButton, {
121
+ onAddMedia: onAddMedia,
122
+ __self: void 0,
123
+ __source: {
124
+ fileName: _jsxFileName,
125
+ lineNumber: 163,
126
+ columnNumber: 11
127
+ }
128
+ }), [onAddMedia]);
129
+ const itemActionsRenderer = (0, _react.useCallback)(({
130
+ item
131
+ }) => /*#__PURE__*/_react.default.createElement(_itemActions.ItemActions, {
132
+ item: item,
133
+ onReplace: onItemReplaced,
134
+ __self: void 0,
135
+ __source: {
136
+ fileName: _jsxFileName,
137
+ lineNumber: 169,
138
+ columnNumber: 7
139
+ }
140
+ }), [onItemReplaced]);
141
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_autoPatternsBundledOrganizeMedia.OrganizeMedia, {
142
+ t: t,
143
+ contentKeys: organizeMediaContentKeys,
144
+ isOpen: isOpen,
145
+ items: organizeMediaItems,
146
+ baseUrl: "",
147
+ usePaging: true,
148
+ shouldVerifySorting: false,
149
+ shouldShowPhotoRightsNotification: false,
150
+ showItemNameInSettings: false,
151
+ noItemsViewRenderer: noItemsViewRenderer,
152
+ uploadMediaRenderer: uploadMediaRenderer,
153
+ itemActionsRenderer: itemActionsRenderer,
154
+ itemEditingOption: ITEM_EDITING_OPTION,
155
+ imageAddDirection: imageAddDirection,
156
+ defaultNewItemName: defaultNewItemName,
157
+ onImageAddDirectionChange: setImageAddDirection,
158
+ onDefaultNewItemNameChange: setDefaultNewItemName,
159
+ onDeleteImages: onDeleteImages,
160
+ onItemUpdated: onItemUpdated,
161
+ onItemsOrderIndexUpdated: onItemsOrderIndexUpdated,
162
+ onClose: onCloseOrganizeMedia,
163
+ onLinkButtonClicked: onLinkButtonClicked,
164
+ __self: void 0,
165
+ __source: {
166
+ fileName: _jsxFileName,
167
+ lineNumber: 176,
168
+ columnNumber: 7
169
+ }
170
+ }), /*#__PURE__*/_react.default.createElement(_addLinkModal.AddLinkModal, (0, _extends2.default)({}, addLinkModalProps, {
171
+ __self: void 0,
172
+ __source: {
173
+ fileName: _jsxFileName,
174
+ lineNumber: 200,
175
+ columnNumber: 7
176
+ }
177
+ })));
178
+ };
179
+ exports.MediaGalleryDialog = MediaGalleryDialog;
180
+ MediaGalleryDialog.displayName = 'MediaGalleryDialog';
181
+ //# sourceMappingURL=media-gallery-dialog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_usePersistedState","_autoPatternsBundledOrganizeMedia","_hooks","_isEqual","_interopRequireDefault","_utils","_hooks2","_addMediaButton","_noItemsView","_itemActions","_addLinkModal","_useAddLinkModal","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","ITEM_EDITING_OPTION","link","title","description","focalPoint","alt","externalLink","toOrganizeMediaItems","items","map","convertWixCodeGalleryItemToOrganizeMediaItem","filter","Boolean","fromOrganizeMediaItems","organizeMediaItems","convertOrganizeMediaItemToWixCodeGalleryItem","MediaGalleryDialog","isOpen","onClose","onChange","useTranslations","setOrganizeMediaItems","useState","imageAddDirection","setImageAddDirection","usePersistedState","ADD_ITEMS_DIRECTION","GALLERY_END","defaultNewItemName","setDefaultNewItemName","NAME_NEW_ITEMS","FILE_NAME","organizeMediaContentKeys","useContentKeys","prevItemsRef","useRef","useEffect","isEqual","current","onAddMedia","useCallback","newItems","itemsToAdd","EMPTY","setItemsEmptyTitles","currentItems","merged","GALLERY_START","item","orderIndex","onDeleteImages","itemIds","id","includes","onItemsOrderIndexUpdated","changes","applyOrganizeMediaItemsChanges","onItemUpdated","change","onItemReplaced","itemId","data","itemToReplace","find","onCloseOrganizeMedia","onUpdateLink","onLinkButtonClicked","addLinkModalProps","useAddLinkModal","noItemsViewRenderer","createElement","NoItemsView","__self","__source","fileName","lineNumber","columnNumber","uploadMediaRenderer","AddMediaButton","itemActionsRenderer","ItemActions","onReplace","Fragment","OrganizeMedia","contentKeys","baseUrl","usePaging","shouldVerifySorting","shouldShowPhotoRightsNotification","showItemNameInSettings","itemEditingOption","onImageAddDirectionChange","onDefaultNewItemNameChange","AddLinkModal","_extends2","exports","displayName"],"sources":["../../../../../../src/cms-fields/components/media-gallery/media-gallery-dialog/media-gallery-dialog.tsx"],"sourcesContent":["import React, { useCallback, useEffect, useState, useRef } from 'react';\nimport { usePersistedState } from '../../../../hooks/usePersistedState';\nimport {\n OrganizeMedia,\n ADD_ITEMS_DIRECTION,\n NAME_NEW_ITEMS,\n} from '@wix/auto-patterns-utils/@wix/auto-patterns-bundled-organize-media';\nimport '@wix/auto-patterns-utils/@wix/auto-patterns-bundled-organize-media/dist/esm/index.global.css';\nimport type { WixCodeGalleryItem } from '../../../auto-cms-field-types';\nimport { useTranslations } from '../../../hooks';\nimport isEqual from 'lodash/isEqual';\n\nimport type {\n MediaGalleryDialogProps,\n OrganizeMediaItem,\n OrganizeMediaItemChange,\n OrganizeMediaItemLink,\n} from './types';\nimport {\n applyOrganizeMediaItemsChanges,\n convertOrganizeMediaItemToWixCodeGalleryItem,\n convertWixCodeGalleryItemToOrganizeMediaItem,\n setItemsEmptyTitles,\n} from './utils';\nimport { useContentKeys } from './hooks';\nimport { AddMediaButton } from './add-media-button';\nimport { NoItemsView } from './no-items-view';\nimport { ItemActions } from './item-actions';\nimport { AddLinkModal } from './add-link-modal';\nimport { useAddLinkModal } from './use-add-link-modal';\n\nconst ITEM_EDITING_OPTION = {\n link: false,\n title: true,\n description: true,\n focalPoint: true,\n alt: true,\n externalLink: true,\n} as const;\n\nconst toOrganizeMediaItems = (items: WixCodeGalleryItem[]) =>\n items\n .map(convertWixCodeGalleryItemToOrganizeMediaItem)\n .filter(Boolean) as OrganizeMediaItem[];\n\nconst fromOrganizeMediaItems = (organizeMediaItems: OrganizeMediaItem[]) =>\n organizeMediaItems\n .map(convertOrganizeMediaItemToWixCodeGalleryItem)\n .filter(Boolean) as WixCodeGalleryItem[];\n\nexport const MediaGalleryDialog: React.FC<MediaGalleryDialogProps> = ({\n isOpen,\n items,\n onClose,\n onChange,\n}) => {\n const { t } = useTranslations();\n\n const [organizeMediaItems, setOrganizeMediaItems] = useState(\n toOrganizeMediaItems(items),\n );\n\n const [imageAddDirection, setImageAddDirection] = usePersistedState(\n 'auto-cairo:media-gallery-dialog-image-add-direction',\n ADD_ITEMS_DIRECTION.GALLERY_END,\n );\n const [defaultNewItemName, setDefaultNewItemName] = usePersistedState(\n 'auto-cairo:media-gallery-dialog-default-new-item-name',\n NAME_NEW_ITEMS.FILE_NAME,\n );\n\n const organizeMediaContentKeys = useContentKeys(organizeMediaItems);\n\n const prevItemsRef = useRef(items);\n useEffect(() => {\n if (!isEqual(items, prevItemsRef.current)) {\n setOrganizeMediaItems(toOrganizeMediaItems(items));\n }\n prevItemsRef.current = items;\n }, [items]);\n\n const onAddMedia = useCallback(\n (newItems: OrganizeMediaItem[]) => {\n const itemsToAdd =\n defaultNewItemName === NAME_NEW_ITEMS.EMPTY\n ? setItemsEmptyTitles(newItems)\n : newItems;\n\n setOrganizeMediaItems((currentItems) => {\n const merged =\n imageAddDirection === ADD_ITEMS_DIRECTION.GALLERY_START\n ? [...itemsToAdd, ...currentItems]\n : [...currentItems, ...itemsToAdd];\n return merged.map((item, orderIndex) => ({\n ...item,\n orderIndex,\n }));\n });\n },\n [defaultNewItemName, imageAddDirection],\n );\n\n const onDeleteImages = useCallback((itemIds: string[]) => {\n setOrganizeMediaItems((currentItems) =>\n currentItems\n .filter(({ id }) => !itemIds.includes(id ?? ''))\n .map((item, orderIndex) => ({ ...item, orderIndex })),\n );\n }, []);\n\n const onItemsOrderIndexUpdated = useCallback(\n (changes: OrganizeMediaItemChange[]) => {\n setOrganizeMediaItems((currentItems) =>\n applyOrganizeMediaItemsChanges(currentItems, changes),\n );\n },\n [],\n );\n\n const onItemUpdated = useCallback((change: OrganizeMediaItemChange) => {\n setOrganizeMediaItems((currentItems) =>\n applyOrganizeMediaItemsChanges(currentItems, [change]),\n );\n }, []);\n\n const onItemReplaced = useCallback(\n ({ itemId, data }: OrganizeMediaItemChange) => {\n setOrganizeMediaItems((currentItems) => {\n const itemToReplace = currentItems.find(({ id }) => id === itemId);\n const orderIndex = itemToReplace?.orderIndex ?? data.orderIndex;\n const change = { itemId, data: { ...data, orderIndex } };\n return applyOrganizeMediaItemsChanges(currentItems, [change]);\n });\n },\n [],\n );\n\n const onCloseOrganizeMedia = useCallback(() => {\n onChange?.(fromOrganizeMediaItems(organizeMediaItems));\n onClose?.();\n }, [onChange, onClose, organizeMediaItems]);\n\n // Link editing: OrganizeMedia fires onLinkButtonClicked, we show AddLinkModal\n const onUpdateLink = useCallback(\n (itemId?: string, link?: OrganizeMediaItemLink) => {\n setOrganizeMediaItems((currentItems) =>\n currentItems.map((item) =>\n item.id === itemId ? { ...item, link } : item,\n ),\n );\n },\n [],\n );\n const { onLinkButtonClicked, ...addLinkModalProps } =\n useAddLinkModal(onUpdateLink);\n\n const noItemsViewRenderer = useCallback(\n () => <NoItemsView onAddMedia={onAddMedia} />,\n [onAddMedia],\n );\n\n const uploadMediaRenderer = useCallback(\n () => <AddMediaButton onAddMedia={onAddMedia} />,\n [onAddMedia],\n );\n\n const itemActionsRenderer = useCallback(\n ({ item }: { item: OrganizeMediaItem }) => (\n <ItemActions item={item} onReplace={onItemReplaced} />\n ),\n [onItemReplaced],\n );\n\n return (\n <>\n <OrganizeMedia\n t={t}\n contentKeys={organizeMediaContentKeys}\n isOpen={isOpen}\n items={organizeMediaItems}\n baseUrl=\"\"\n usePaging\n shouldVerifySorting={false}\n shouldShowPhotoRightsNotification={false}\n showItemNameInSettings={false}\n noItemsViewRenderer={noItemsViewRenderer}\n uploadMediaRenderer={uploadMediaRenderer}\n itemActionsRenderer={itemActionsRenderer}\n itemEditingOption={ITEM_EDITING_OPTION}\n imageAddDirection={imageAddDirection}\n defaultNewItemName={defaultNewItemName}\n onImageAddDirectionChange={setImageAddDirection}\n onDefaultNewItemNameChange={setDefaultNewItemName}\n onDeleteImages={onDeleteImages}\n onItemUpdated={onItemUpdated}\n onItemsOrderIndexUpdated={onItemsOrderIndexUpdated}\n onClose={onCloseOrganizeMedia}\n onLinkButtonClicked={onLinkButtonClicked}\n />\n <AddLinkModal {...addLinkModalProps} />\n </>\n );\n};\n\nMediaGalleryDialog.displayName = 'MediaGalleryDialog';\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,71 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.NoItemsView = void 0;
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _designSystem = require("@wix/design-system");
8
+ var _wixUiIconsCommon = require("@wix/wix-ui-icons-common");
9
+ var _hooks = require("../../../hooks");
10
+ var _hooks2 = require("./hooks");
11
+ var _jsxFileName = "/home/builduser/work/8f3ab5a55e62623a/packages/auto-patterns/dist/cjs/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.tsx";
12
+ const NoItemsView = ({
13
+ onAddMedia
14
+ }) => {
15
+ const {
16
+ t
17
+ } = (0, _hooks.useTranslations)();
18
+ const {
19
+ onOpen,
20
+ isLoading
21
+ } = (0, _hooks2.useAddMediaControl)(onAddMedia);
22
+ return /*#__PURE__*/_react.default.createElement(_designSystem.Box, {
23
+ align: "center",
24
+ verticalAlign: "middle",
25
+ padding: "SP5",
26
+ direction: "vertical",
27
+ __self: void 0,
28
+ __source: {
29
+ fileName: _jsxFileName,
30
+ lineNumber: 17,
31
+ columnNumber: 5
32
+ }
33
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.EmptyState, {
34
+ theme: "section",
35
+ title: t('CMS.mediaGallery.noItems.title'),
36
+ subtitle: t('CMS.mediaGallery.noItems.subtitle'),
37
+ __self: void 0,
38
+ __source: {
39
+ fileName: _jsxFileName,
40
+ lineNumber: 23,
41
+ columnNumber: 7
42
+ }
43
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.TextButton, {
44
+ prefixIcon: isLoading ? undefined : /*#__PURE__*/_react.default.createElement(_wixUiIconsCommon.Add, {
45
+ __self: void 0,
46
+ __source: {
47
+ fileName: _jsxFileName,
48
+ lineNumber: 29,
49
+ columnNumber: 47
50
+ }
51
+ }),
52
+ onClick: onOpen,
53
+ dataHook: "media-gallery-add-media-button",
54
+ __self: void 0,
55
+ __source: {
56
+ fileName: _jsxFileName,
57
+ lineNumber: 28,
58
+ columnNumber: 9
59
+ }
60
+ }, isLoading ? /*#__PURE__*/_react.default.createElement(_designSystem.Loader, {
61
+ size: "tiny",
62
+ __self: void 0,
63
+ __source: {
64
+ fileName: _jsxFileName,
65
+ lineNumber: 34,
66
+ columnNumber: 13
67
+ }
68
+ }) : t('CMS.mediaGallery.noItems.addMedia'))));
69
+ };
70
+ exports.NoItemsView = NoItemsView;
71
+ //# sourceMappingURL=no-items-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_wixUiIconsCommon","_hooks","_hooks2","_jsxFileName","NoItemsView","onAddMedia","t","useTranslations","onOpen","isLoading","useAddMediaControl","default","createElement","Box","align","verticalAlign","padding","direction","__self","__source","fileName","lineNumber","columnNumber","EmptyState","theme","title","subtitle","TextButton","prefixIcon","undefined","Add","onClick","dataHook","Loader","size","exports"],"sources":["../../../../../../src/cms-fields/components/media-gallery/media-gallery-dialog/no-items-view.tsx"],"sourcesContent":["import React from 'react';\nimport { EmptyState, Box, TextButton, Loader } from '@wix/design-system';\nimport { Add as AddIcon } from '@wix/wix-ui-icons-common';\nimport { useTranslations } from '../../../hooks';\nimport { useAddMediaControl } from './hooks';\nimport type { OrganizeMediaItem } from './types';\n\nexport interface NoItemsViewProps {\n onAddMedia: (items: OrganizeMediaItem[]) => void;\n}\n\nexport const NoItemsView: React.FC<NoItemsViewProps> = ({ onAddMedia }) => {\n const { t } = useTranslations();\n const { onOpen, isLoading } = useAddMediaControl(onAddMedia);\n\n return (\n <Box\n align=\"center\"\n verticalAlign=\"middle\"\n padding=\"SP5\"\n direction=\"vertical\"\n >\n <EmptyState\n theme=\"section\"\n title={t('CMS.mediaGallery.noItems.title')}\n subtitle={t('CMS.mediaGallery.noItems.subtitle')}\n >\n <TextButton\n prefixIcon={isLoading ? undefined : <AddIcon />}\n onClick={onOpen}\n dataHook=\"media-gallery-add-media-button\"\n >\n {isLoading ? (\n <Loader size=\"tiny\" />\n ) : (\n t('CMS.mediaGallery.noItems.addMedia')\n )}\n </TextButton>\n </EmptyState>\n </Box>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,OAAA,GAAAJ,OAAA;AAA6C,IAAAK,YAAA;AAOtC,MAAMC,WAAuC,GAAGA,CAAC;EAAEC;AAAW,CAAC,KAAK;EACzE,MAAM;IAAEC;EAAE,CAAC,GAAG,IAAAC,sBAAe,EAAC,CAAC;EAC/B,MAAM;IAAEC,MAAM;IAAEC;EAAU,CAAC,GAAG,IAAAC,0BAAkB,EAACL,UAAU,CAAC;EAE5D,oBACET,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACb,aAAA,CAAAc,GAAG;IACFC,KAAK,EAAC,QAAQ;IACdC,aAAa,EAAC,QAAQ;IACtBC,OAAO,EAAC,KAAK;IACbC,SAAS,EAAC,UAAU;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAjB,YAAA;MAAAkB,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAEpB1B,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACb,aAAA,CAAAwB,UAAU;IACTC,KAAK,EAAC,SAAS;IACfC,KAAK,EAAEnB,CAAC,CAAC,gCAAgC,CAAE;IAC3CoB,QAAQ,EAAEpB,CAAC,CAAC,mCAAmC,CAAE;IAAAY,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAjB,YAAA;MAAAkB,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAEjD1B,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACb,aAAA,CAAA4B,UAAU;IACTC,UAAU,EAAEnB,SAAS,GAAGoB,SAAS,gBAAGjC,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACZ,iBAAA,CAAA8B,GAAO;MAAAZ,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAjB,YAAA;QAAAkB,UAAA;QAAAC,YAAA;MAAA;IAAA,CAAE,CAAE;IAChDS,OAAO,EAAEvB,MAAO;IAChBwB,QAAQ,EAAC,gCAAgC;IAAAd,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAjB,YAAA;MAAAkB,UAAA;MAAAC,YAAA;IAAA;EAAA,GAExCb,SAAS,gBACRb,MAAA,CAAAe,OAAA,CAAAC,aAAA,CAACb,aAAA,CAAAkC,MAAM;IAACC,IAAI,EAAC,MAAM;IAAAhB,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAjB,YAAA;MAAAkB,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,GAEtBhB,CAAC,CAAC,mCAAmC,CAE7B,CACF,CACT,CAAC;AAEV,CAAC;AAAC6B,OAAA,CAAA/B,WAAA,GAAAA,WAAA","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../../../src/cms-fields/components/media-gallery/media-gallery-dialog/types.ts"],"sourcesContent":["import type { WixCodeGalleryItem } from '../../../auto-cms-field-types';\n\nexport interface MediaGalleryDialogProps {\n isOpen: boolean;\n items: WixCodeGalleryItem[];\n onClose?: () => void;\n onChange?: (items: WixCodeGalleryItem[]) => void;\n}\n\nexport interface OrganizeMediaItemFocalPoint {\n x: number;\n y: number;\n}\n\nexport interface OrganizeMediaItemPhotoMetadata {\n width: number;\n height: number;\n focalPoint?: OrganizeMediaItemFocalPoint;\n}\n\nexport interface OrganizeMediaItemLink {\n url: string;\n text?: string;\n target: '_blank' | '_self';\n}\n\nexport interface OrganizeMediaItemMetadata {\n title?: string;\n description?: string;\n link?: OrganizeMediaItemLink;\n height?: number;\n width?: number;\n fileName?: string;\n name?: string;\n}\n\nexport interface OrganizeMediaItemPhoto {\n dataType: 'Photo';\n id?: string;\n mediaUrl?: string;\n fileName?: string;\n name?: string;\n orderIndex?: number;\n sortOrder?: number;\n isSecure?: boolean;\n photoMetadata?: OrganizeMediaItemPhotoMetadata;\n title?: string;\n description?: string;\n token?: string;\n alt?: string;\n link?: OrganizeMediaItemLink;\n metaData?: OrganizeMediaItemMetadata;\n}\n\nexport interface OrganizeMediaItemVideoPoster {\n url: string;\n width?: number;\n height?: number;\n}\n\nexport interface OrganizeMediaItemVideoMetadata {\n width: number;\n height: number;\n duration: number;\n posters: OrganizeMediaItemVideoPoster[];\n focalPoint?: OrganizeMediaItemFocalPoint;\n}\n\nexport interface OrganizeMediaItemVideo {\n dataType: 'Video';\n id?: string;\n mediaUrl?: string;\n fileName?: string;\n name?: string;\n orderIndex?: number;\n sortOrder?: number;\n thumbnail?: string;\n videoMetadata?: OrganizeMediaItemVideoMetadata;\n title?: string;\n description?: string;\n alt?: string;\n link?: OrganizeMediaItemLink;\n metaData?: OrganizeMediaItemMetadata;\n}\n\nexport type OrganizeMediaItem = OrganizeMediaItemPhoto | OrganizeMediaItemVideo;\n\nexport interface OrganizeMediaItemChange {\n itemId: string;\n data: Partial<Omit<OrganizeMediaItem, 'id'>>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.useAddLinkModal = void 0;
5
+ var _react = require("react");
6
+ const useAddLinkModal = onUpdateLink => {
7
+ const [mediaItem, setMediaItem] = (0, _react.useState)();
8
+ const onClose = (0, _react.useCallback)(() => setMediaItem(undefined), []);
9
+ const onLinkButtonClicked = (0, _react.useCallback)(item => setMediaItem(item), []);
10
+ const onSave = (0, _react.useCallback)(link => {
11
+ onUpdateLink(mediaItem == null ? void 0 : mediaItem.id, link);
12
+ onClose();
13
+ }, [mediaItem == null ? void 0 : mediaItem.id, onUpdateLink, onClose]);
14
+ return {
15
+ onLinkButtonClicked,
16
+ mediaType: mediaItem == null ? void 0 : mediaItem.dataType,
17
+ link: mediaItem == null ? void 0 : mediaItem.link,
18
+ isOpen: Boolean(mediaItem),
19
+ onClose,
20
+ onSave
21
+ };
22
+ };
23
+ exports.useAddLinkModal = useAddLinkModal;
24
+ //# sourceMappingURL=use-add-link-modal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","useAddLinkModal","onUpdateLink","mediaItem","setMediaItem","useState","onClose","useCallback","undefined","onLinkButtonClicked","item","onSave","link","id","mediaType","dataType","isOpen","Boolean","exports"],"sources":["../../../../../../src/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.ts"],"sourcesContent":["import { useCallback, useState } from 'react';\nimport type { OrganizeMediaItem, OrganizeMediaItemLink } from './types';\n\nexport const useAddLinkModal = (\n onUpdateLink: (itemId?: string, link?: OrganizeMediaItemLink) => void,\n) => {\n const [mediaItem, setMediaItem] = useState<OrganizeMediaItem>();\n const onClose = useCallback(() => setMediaItem(undefined), []);\n\n const onLinkButtonClicked = useCallback(\n (item: OrganizeMediaItem) => setMediaItem(item),\n [],\n );\n\n const onSave = useCallback(\n (link?: OrganizeMediaItemLink) => {\n onUpdateLink(mediaItem?.id, link);\n onClose();\n },\n [mediaItem?.id, onUpdateLink, onClose],\n );\n\n return {\n onLinkButtonClicked,\n mediaType: mediaItem?.dataType,\n link: mediaItem?.link,\n isOpen: Boolean(mediaItem),\n onClose,\n onSave,\n };\n};\n"],"mappings":";;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAGO,MAAMC,eAAe,GAC1BC,YAAqE,IAClE;EACH,MAAM,CAACC,SAAS,EAAEC,YAAY,CAAC,GAAG,IAAAC,eAAQ,EAAoB,CAAC;EAC/D,MAAMC,OAAO,GAAG,IAAAC,kBAAW,EAAC,MAAMH,YAAY,CAACI,SAAS,CAAC,EAAE,EAAE,CAAC;EAE9D,MAAMC,mBAAmB,GAAG,IAAAF,kBAAW,EACpCG,IAAuB,IAAKN,YAAY,CAACM,IAAI,CAAC,EAC/C,EACF,CAAC;EAED,MAAMC,MAAM,GAAG,IAAAJ,kBAAW,EACvBK,IAA4B,IAAK;IAChCV,YAAY,CAACC,SAAS,oBAATA,SAAS,CAAEU,EAAE,EAAED,IAAI,CAAC;IACjCN,OAAO,CAAC,CAAC;EACX,CAAC,EACD,CAACH,SAAS,oBAATA,SAAS,CAAEU,EAAE,EAAEX,YAAY,EAAEI,OAAO,CACvC,CAAC;EAED,OAAO;IACLG,mBAAmB;IACnBK,SAAS,EAAEX,SAAS,oBAATA,SAAS,CAAEY,QAAQ;IAC9BH,IAAI,EAAET,SAAS,oBAATA,SAAS,CAAES,IAAI;IACrBI,MAAM,EAAEC,OAAO,CAACd,SAAS,CAAC;IAC1BG,OAAO;IACPK;EACF,CAAC;AACH,CAAC;AAACO,OAAA,CAAAjB,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -0,0 +1,289 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.setItemsEmptyTitles = exports.convertWixCodeGalleryItemToOrganizeMediaItem = exports.convertWixCodeGalleryItemLinkToOrganizeMediaItemLink = exports.convertOrganizeMediaItemToWixCodeGalleryItem = exports.convertMediaURIToPreviewVideoURL = exports.convertMediaControlItemToOrganizeMediaItem = exports.applyOrganizeMediaItemsChanges = void 0;
5
+ var _autoCmsFieldTypes = require("../../../auto-cms-field-types");
6
+ var _mediaItemUtils = require("../../../utils/media-item-utils");
7
+ /** Convert a wix:video:// URI to a playable 480p MP4 URL for preview */
8
+ const convertMediaURIToPreviewVideoURL = uri => {
9
+ const videoURL = (0, _autoCmsFieldTypes.mediaURItoVideoURL)(uri);
10
+ return videoURL.replace(/\/file$/, '/480p/mp4/file.mp4');
11
+ };
12
+ exports.convertMediaURIToPreviewVideoURL = convertMediaURIToPreviewVideoURL;
13
+ const generateId = () => crypto.randomUUID();
14
+ const isEmptyString = value => value === undefined || value === null || value.trim() === '';
15
+ const applyOrganizeMediaItemsChanges = (items, changes) => items.map(item => {
16
+ const itemChange = changes.find(({
17
+ itemId
18
+ }) => item.id === itemId);
19
+ return {
20
+ ...item,
21
+ ...(itemChange == null ? void 0 : itemChange.data)
22
+ };
23
+ }).sort(({
24
+ orderIndex: a
25
+ }, {
26
+ orderIndex: b
27
+ }) => Number(a) - Number(b)).map(({
28
+ sortOrder,
29
+ ...item
30
+ }, orderIndex) => ({
31
+ ...item,
32
+ orderIndex
33
+ }));
34
+
35
+ /**
36
+ * Converts WixCodeGalleryItem link (object or string) + target
37
+ * to OrganizeMediaItemLink. Handles both link formats.
38
+ * Ported from cms-web's convertWixCodeGalleryItemLinkToOrganizeMediaItemLink.
39
+ */
40
+ exports.applyOrganizeMediaItemsChanges = applyOrganizeMediaItemsChanges;
41
+ const convertWixCodeGalleryItemLinkToOrganizeMediaItemLink = (link, target) => {
42
+ if (link === null || link === undefined) {
43
+ return undefined;
44
+ }
45
+ switch (typeof link) {
46
+ case 'object':
47
+ {
48
+ if (!link.url || isEmptyString(link.url)) {
49
+ return undefined;
50
+ }
51
+ return {
52
+ url: link.url,
53
+ text: link.url,
54
+ target: link.target || target || '_blank'
55
+ };
56
+ }
57
+ case 'string':
58
+ {
59
+ if (isEmptyString(link)) {
60
+ return undefined;
61
+ }
62
+ return {
63
+ url: link,
64
+ text: link,
65
+ target: target || '_blank'
66
+ };
67
+ }
68
+ default:
69
+ return undefined;
70
+ }
71
+ };
72
+ exports.convertWixCodeGalleryItemLinkToOrganizeMediaItemLink = convertWixCodeGalleryItemLinkToOrganizeMediaItemLink;
73
+ const convertWixCodeGalleryItemToOrganizeMediaItem = (item, orderIndex) => {
74
+ var _settings$focalPoint, _settings$focalPoint2;
75
+ const {
76
+ src,
77
+ alt,
78
+ description,
79
+ title: itemTitle = '',
80
+ fileName,
81
+ settings,
82
+ link: itemLink,
83
+ target
84
+ } = item;
85
+ const parsed = (0, _mediaItemUtils.parseMediaItemUri)(src);
86
+ if ((0, _mediaItemUtils.isMediaItemError)(parsed)) {
87
+ return null;
88
+ }
89
+ const focalPoint = {
90
+ x: (settings == null || (_settings$focalPoint = settings.focalPoint) == null ? void 0 : _settings$focalPoint[0]) ?? 0.5,
91
+ y: (settings == null || (_settings$focalPoint2 = settings.focalPoint) == null ? void 0 : _settings$focalPoint2[1]) ?? 0.5
92
+ };
93
+ const title = itemTitle.length > 0 ? itemTitle : parsed.title || '';
94
+ const link = convertWixCodeGalleryItemLinkToOrganizeMediaItemLink(itemLink, target);
95
+ if (parsed.type === 'image') {
96
+ return {
97
+ dataType: 'Photo',
98
+ id: generateId(),
99
+ mediaUrl: parsed.mediaId,
100
+ fileName: parsed.mediaId,
101
+ name: title,
102
+ orderIndex,
103
+ isSecure: false,
104
+ photoMetadata: {
105
+ width: parsed.width,
106
+ height: parsed.height,
107
+ focalPoint
108
+ },
109
+ title,
110
+ alt,
111
+ description,
112
+ link,
113
+ metaData: {
114
+ title,
115
+ description,
116
+ link,
117
+ height: parsed.height,
118
+ width: parsed.width,
119
+ fileName,
120
+ name: title
121
+ }
122
+ };
123
+ }
124
+ if (parsed.type === 'video') {
125
+ return {
126
+ dataType: 'Video',
127
+ id: generateId(),
128
+ mediaUrl: convertMediaURIToPreviewVideoURL(src),
129
+ fileName: parsed.mediaId,
130
+ name: title,
131
+ orderIndex,
132
+ thumbnail: parsed.mediaId,
133
+ videoMetadata: {
134
+ width: parsed.width,
135
+ height: parsed.height,
136
+ duration: 0,
137
+ posters: parsed.posterId ? [{
138
+ url: parsed.posterId
139
+ }] : [],
140
+ focalPoint
141
+ },
142
+ title,
143
+ alt,
144
+ description,
145
+ link,
146
+ metaData: {
147
+ title,
148
+ description,
149
+ link,
150
+ height: parsed.height,
151
+ width: parsed.width,
152
+ fileName,
153
+ name: title
154
+ }
155
+ };
156
+ }
157
+ return null;
158
+ };
159
+
160
+ /**
161
+ * Converts a media URI string (from media manager) to an OrganizeMediaItem.
162
+ * Always sets name to mediaId. The dialog's onAddMedia handles the EMPTY
163
+ * naming preference by calling setItemsEmptyTitles.
164
+ */
165
+ exports.convertWixCodeGalleryItemToOrganizeMediaItem = convertWixCodeGalleryItemToOrganizeMediaItem;
166
+ const convertMediaControlItemToOrganizeMediaItem = mediaUri => {
167
+ const parsed = (0, _mediaItemUtils.parseMediaItemUri)(mediaUri);
168
+ if ((0, _mediaItemUtils.isMediaItemError)(parsed)) {
169
+ return null;
170
+ }
171
+ const title = parsed.title || '';
172
+ if (parsed.type === 'image') {
173
+ return {
174
+ dataType: 'Photo',
175
+ id: generateId(),
176
+ mediaUrl: parsed.mediaId,
177
+ fileName: parsed.mediaId,
178
+ name: parsed.mediaId,
179
+ isSecure: false,
180
+ photoMetadata: {
181
+ width: parsed.width,
182
+ height: parsed.height,
183
+ focalPoint: {
184
+ x: 0.5,
185
+ y: 0.5
186
+ }
187
+ },
188
+ title,
189
+ metaData: {
190
+ title,
191
+ height: parsed.height,
192
+ width: parsed.width,
193
+ fileName: title,
194
+ name: title
195
+ }
196
+ };
197
+ }
198
+ if (parsed.type === 'video') {
199
+ return {
200
+ dataType: 'Video',
201
+ id: generateId(),
202
+ mediaUrl: convertMediaURIToPreviewVideoURL(mediaUri),
203
+ fileName: parsed.mediaId,
204
+ name: parsed.mediaId,
205
+ thumbnail: parsed.mediaId,
206
+ videoMetadata: {
207
+ width: parsed.width,
208
+ height: parsed.height,
209
+ duration: 0,
210
+ posters: parsed.posterId ? [{
211
+ url: parsed.posterId
212
+ }] : [],
213
+ focalPoint: {
214
+ x: 0.5,
215
+ y: 0.5
216
+ }
217
+ },
218
+ title,
219
+ metaData: {
220
+ title,
221
+ height: parsed.height,
222
+ width: parsed.width,
223
+ fileName: title,
224
+ name: title
225
+ }
226
+ };
227
+ }
228
+ return null;
229
+ };
230
+
231
+ /** Reset titles to empty — used when defaultNewItemName is EMPTY.
232
+ * Only clears `title`, not `name` (matches cms-web behavior). */
233
+ exports.convertMediaControlItemToOrganizeMediaItem = convertMediaControlItemToOrganizeMediaItem;
234
+ const setItemsEmptyTitles = items => items.map(item => ({
235
+ ...item,
236
+ title: ''
237
+ }));
238
+ exports.setItemsEmptyTitles = setItemsEmptyTitles;
239
+ const convertOrganizeMediaItemToWixCodeGalleryItem = item => {
240
+ var _item$photoMetadata, _item$photoMetadata2, _item$videoMetadata, _item$videoMetadata2, _item$videoMetadata3, _settings$focalPoint3, _settings$focalPoint4;
241
+ const {
242
+ dataType,
243
+ mediaUrl = '',
244
+ fileName = '',
245
+ title = '',
246
+ description = '',
247
+ alt = '',
248
+ link,
249
+ metaData
250
+ } = item;
251
+ const settings = dataType === 'Photo' ? item.photoMetadata : item.videoMetadata;
252
+ const createParams = dataType === 'Photo' ? {
253
+ type: 'image',
254
+ mediaId: fileName,
255
+ title: encodeURIComponent(title),
256
+ width: ((_item$photoMetadata = item.photoMetadata) == null ? void 0 : _item$photoMetadata.width) ?? 0,
257
+ height: ((_item$photoMetadata2 = item.photoMetadata) == null ? void 0 : _item$photoMetadata2.height) ?? 0
258
+ } : {
259
+ type: 'video',
260
+ mediaId: fileName,
261
+ title: encodeURIComponent(title),
262
+ width: ((_item$videoMetadata = item.videoMetadata) == null ? void 0 : _item$videoMetadata.width) ?? 0,
263
+ height: ((_item$videoMetadata2 = item.videoMetadata) == null ? void 0 : _item$videoMetadata2.height) ?? 0,
264
+ posterId: ((_item$videoMetadata3 = item.videoMetadata) == null || (_item$videoMetadata3 = _item$videoMetadata3.posters) == null || (_item$videoMetadata3 = _item$videoMetadata3[0]) == null ? void 0 : _item$videoMetadata3.url) ?? ''
265
+ };
266
+ const media = (0, _mediaItemUtils.createMediaItemUri)(createParams);
267
+ if ((0, _mediaItemUtils.isMediaItemError)(media)) {
268
+ return null;
269
+ }
270
+ return {
271
+ type: dataType === 'Photo' ? 'image' : 'video',
272
+ slug: mediaUrl,
273
+ src: media.item,
274
+ title,
275
+ description,
276
+ alt,
277
+ fileName: (metaData == null ? void 0 : metaData.fileName) ?? '',
278
+ settings: {
279
+ ...settings,
280
+ focalPoint: [(settings == null || (_settings$focalPoint3 = settings.focalPoint) == null ? void 0 : _settings$focalPoint3.x) ?? 0.5, (settings == null || (_settings$focalPoint4 = settings.focalPoint) == null ? void 0 : _settings$focalPoint4.y) ?? 0.5]
281
+ },
282
+ ...(link != null && link.url && !isEmptyString(link.url) ? {
283
+ link: link.url,
284
+ target: link.target || '_blank'
285
+ } : {})
286
+ };
287
+ };
288
+ exports.convertOrganizeMediaItemToWixCodeGalleryItem = convertOrganizeMediaItemToWixCodeGalleryItem;
289
+ //# sourceMappingURL=utils.js.map