@wix/auto-patterns 1.54.0 → 1.56.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 (323) hide show
  1. package/dist/cjs/assets/locale/messages_en.json +8 -0
  2. package/dist/cjs/cms-fields/components/address/input/address-input.st.css.js +3 -3
  3. package/dist/cjs/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
  4. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  5. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  6. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  7. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  8. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js +2 -2
  9. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  10. package/dist/cjs/cms-fields/components/color-view/color-view.st.css.js +4 -4
  11. package/dist/cjs/cms-fields/components/color-view/color-view.st.css.js.map +1 -1
  12. package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
  13. package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  14. package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js +7 -7
  15. package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
  16. package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css +2 -3
  17. package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
  18. package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
  19. package/dist/cjs/cms-fields/components/exclamation/type-mismatch-exclamation.js +1 -0
  20. package/dist/cjs/cms-fields/components/exclamation/type-mismatch-exclamation.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/index.js +6 -0
  24. package/dist/cjs/cms-fields/components/index.js.map +1 -1
  25. package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
  26. package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
  27. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
  28. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  29. package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js +4 -4
  30. package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
  31. package/dist/cjs/cms-fields/components/media-image/overlays/index.js +7 -0
  32. package/dist/cjs/cms-fields/components/media-image/overlays/index.js.map +1 -0
  33. package/dist/cjs/cms-fields/components/media-image/overlays/overlay.st.css +41 -0
  34. package/dist/cjs/cms-fields/components/media-image/overlays/overlay.st.css.js +28 -0
  35. package/dist/cjs/cms-fields/components/media-image/overlays/overlay.st.css.js.map +1 -0
  36. package/dist/cjs/cms-fields/components/media-image/overlays/types.js +4 -0
  37. package/dist/cjs/cms-fields/components/media-image/overlays/types.js.map +1 -0
  38. package/dist/cjs/cms-fields/components/media-image/overlays/video-indicator-overlay.js +30 -0
  39. package/dist/cjs/cms-fields/components/media-image/overlays/video-indicator-overlay.js.map +1 -0
  40. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js +3 -3
  41. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -1
  42. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  43. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  44. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  45. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  46. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  47. 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
  48. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  49. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  50. 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
  51. 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
  52. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  53. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  54. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  55. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  56. 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
  57. 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
  58. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
  59. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  60. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  61. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  62. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  63. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  64. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  65. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  66. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  67. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  68. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  69. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  70. package/dist/cjs/cms-fields/components/text/text-view.st.css.js +3 -3
  71. package/dist/cjs/cms-fields/components/text/text-view.st.css.js.map +1 -1
  72. package/dist/cjs/cms-fields/components/video/index.js +7 -0
  73. package/dist/cjs/cms-fields/components/video/index.js.map +1 -0
  74. package/dist/cjs/cms-fields/components/video/video-view.js +54 -0
  75. package/dist/cjs/cms-fields/components/video/video-view.js.map +1 -0
  76. package/dist/cjs/cms-fields/validations/array.js +26 -0
  77. package/dist/cjs/cms-fields/validations/array.js.map +1 -0
  78. package/dist/cjs/cms-fields/validations/video.js +23 -0
  79. package/dist/cjs/cms-fields/validations/video.js.map +1 -0
  80. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +2 -1
  81. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  82. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js +4 -3
  83. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
  84. package/dist/cjs/components/fields/Array.js +111 -0
  85. package/dist/cjs/components/fields/Array.js.map +1 -0
  86. package/dist/cjs/components/fields/DateInput.js +2 -1
  87. package/dist/cjs/components/fields/DateInput.js.map +1 -1
  88. package/dist/cjs/components/fields/ImageInput.js +16 -6
  89. package/dist/cjs/components/fields/ImageInput.js.map +1 -1
  90. package/dist/cjs/components/fields/ImageViewField.js +58 -0
  91. package/dist/cjs/components/fields/ImageViewField.js.map +1 -0
  92. package/dist/cjs/components/fields/Video.js +367 -0
  93. package/dist/cjs/components/fields/Video.js.map +1 -0
  94. package/dist/cjs/components/fields/VideoViewField.js +205 -0
  95. package/dist/cjs/components/fields/VideoViewField.js.map +1 -0
  96. package/dist/cjs/components/fields/index.js +14 -2
  97. package/dist/cjs/components/fields/index.js.map +1 -1
  98. package/dist/cjs/components/fields/mediaConstants.js +19 -0
  99. package/dist/cjs/components/fields/mediaConstants.js.map +1 -0
  100. package/dist/cjs/components/fields/useVideoPreview.js +79 -0
  101. package/dist/cjs/components/fields/useVideoPreview.js.map +1 -0
  102. package/dist/cjs/components/layouts/ContentCardSkeleton.js +156 -0
  103. package/dist/cjs/components/layouts/ContentCardSkeleton.js.map +1 -0
  104. package/dist/cjs/components/layouts/ContentSkeleton.js +3 -3
  105. package/dist/cjs/components/layouts/ContentSkeleton.js.map +1 -1
  106. package/dist/cjs/components/layouts/FormField.js +3 -1
  107. package/dist/cjs/components/layouts/FormField.js.map +1 -1
  108. package/dist/cjs/components/layouts/ViewField.js +104 -109
  109. package/dist/cjs/components/layouts/ViewField.js.map +1 -1
  110. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +1 -0
  111. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  112. package/dist/cjs/hooks/useBaseTableFeatures.js +1 -0
  113. package/dist/cjs/hooks/useBaseTableFeatures.js.map +1 -1
  114. package/dist/cjs/hooks/useColumns.js +52 -22
  115. package/dist/cjs/hooks/useColumns.js.map +1 -1
  116. package/dist/cjs/hooks/useFiltersState.js +1 -0
  117. package/dist/cjs/hooks/useFiltersState.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/cjs/types/CollectionPageConfig.js.map +1 -1
  121. package/dist/cjs/types/SchemaConfig.js.map +1 -1
  122. package/dist/cjs/utils/filterCreators.js +4 -2
  123. package/dist/cjs/utils/filterCreators.js.map +1 -1
  124. package/dist/esm/assets/locale/messages_en.json +8 -0
  125. package/dist/esm/cms-fields/components/address/input/address-input.st.css.js +3 -3
  126. package/dist/esm/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
  127. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  128. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  129. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  130. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  131. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js +2 -2
  132. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  133. package/dist/esm/cms-fields/components/color-view/color-view.st.css.js +4 -4
  134. package/dist/esm/cms-fields/components/color-view/color-view.st.css.js.map +1 -1
  135. package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
  136. package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  137. package/dist/esm/cms-fields/components/document/form-document-field.st.css.js +7 -7
  138. package/dist/esm/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
  139. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css +2 -3
  140. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
  141. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
  142. package/dist/esm/cms-fields/components/exclamation/type-mismatch-exclamation.js +2 -1
  143. package/dist/esm/cms-fields/components/exclamation/type-mismatch-exclamation.js.map +1 -1
  144. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js +5 -5
  145. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  146. package/dist/esm/cms-fields/components/index.js +1 -0
  147. package/dist/esm/cms-fields/components/index.js.map +1 -1
  148. package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
  149. package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
  150. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
  151. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  152. package/dist/esm/cms-fields/components/media-image/media-image.st.css.js +4 -4
  153. package/dist/esm/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
  154. package/dist/esm/cms-fields/components/media-image/overlays/index.js +2 -0
  155. package/dist/esm/cms-fields/components/media-image/overlays/index.js.map +1 -0
  156. package/dist/esm/cms-fields/components/media-image/overlays/overlay.st.css +41 -0
  157. package/dist/esm/cms-fields/components/media-image/overlays/overlay.st.css.js +24 -0
  158. package/dist/esm/cms-fields/components/media-image/overlays/overlay.st.css.js.map +1 -0
  159. package/dist/esm/cms-fields/components/media-image/overlays/types.js +2 -0
  160. package/dist/esm/cms-fields/components/media-image/overlays/types.js.map +1 -0
  161. package/dist/esm/cms-fields/components/media-image/overlays/video-indicator-overlay.js +18 -0
  162. package/dist/esm/cms-fields/components/media-image/overlays/video-indicator-overlay.js.map +1 -0
  163. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js +3 -3
  164. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -1
  165. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  166. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  167. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  168. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  169. package/dist/esm/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  170. 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
  171. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  172. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  173. 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
  174. 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
  175. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  176. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  177. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  178. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  179. 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
  180. 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
  181. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
  182. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  183. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  184. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  185. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  186. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  187. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  188. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  189. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  190. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  191. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  192. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  193. package/dist/esm/cms-fields/components/text/text-view.st.css.js +3 -3
  194. package/dist/esm/cms-fields/components/text/text-view.st.css.js.map +1 -1
  195. package/dist/esm/cms-fields/components/video/index.js +2 -0
  196. package/dist/esm/cms-fields/components/video/index.js.map +1 -0
  197. package/dist/esm/cms-fields/components/video/video-view.js +30 -0
  198. package/dist/esm/cms-fields/components/video/video-view.js.map +1 -0
  199. package/dist/esm/cms-fields/validations/array.js +20 -0
  200. package/dist/esm/cms-fields/validations/array.js.map +1 -0
  201. package/dist/esm/cms-fields/validations/video.js +17 -0
  202. package/dist/esm/cms-fields/validations/video.js.map +1 -0
  203. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +1 -0
  204. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  205. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js +2 -1
  206. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
  207. package/dist/esm/components/fields/Array.js +86 -0
  208. package/dist/esm/components/fields/Array.js.map +1 -0
  209. package/dist/esm/components/fields/DateInput.js +1 -0
  210. package/dist/esm/components/fields/DateInput.js.map +1 -1
  211. package/dist/esm/components/fields/ImageInput.js +8 -4
  212. package/dist/esm/components/fields/ImageInput.js.map +1 -1
  213. package/dist/esm/components/fields/ImageViewField.js +33 -0
  214. package/dist/esm/components/fields/ImageViewField.js.map +1 -0
  215. package/dist/esm/components/fields/Video.js +189 -0
  216. package/dist/esm/components/fields/Video.js.map +1 -0
  217. package/dist/esm/components/fields/VideoViewField.js +94 -0
  218. package/dist/esm/components/fields/VideoViewField.js.map +1 -0
  219. package/dist/esm/components/fields/index.js +4 -0
  220. package/dist/esm/components/fields/index.js.map +1 -1
  221. package/dist/esm/components/fields/mediaConstants.js +15 -0
  222. package/dist/esm/components/fields/mediaConstants.js.map +1 -0
  223. package/dist/esm/components/fields/useVideoPreview.js +75 -0
  224. package/dist/esm/components/fields/useVideoPreview.js.map +1 -0
  225. package/dist/esm/components/layouts/ContentCardSkeleton.js +81 -0
  226. package/dist/esm/components/layouts/ContentCardSkeleton.js.map +1 -0
  227. package/dist/esm/components/layouts/ContentSkeleton.js +3 -3
  228. package/dist/esm/components/layouts/ContentSkeleton.js.map +1 -1
  229. package/dist/esm/components/layouts/FormField.js +3 -1
  230. package/dist/esm/components/layouts/FormField.js.map +1 -1
  231. package/dist/esm/components/layouts/ViewField.js +49 -54
  232. package/dist/esm/components/layouts/ViewField.js.map +1 -1
  233. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +1 -0
  234. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  235. package/dist/esm/hooks/useBaseTableFeatures.js +1 -0
  236. package/dist/esm/hooks/useBaseTableFeatures.js.map +1 -1
  237. package/dist/esm/hooks/useColumns.js +20 -8
  238. package/dist/esm/hooks/useColumns.js.map +1 -1
  239. package/dist/esm/hooks/useFiltersState.js +1 -0
  240. package/dist/esm/hooks/useFiltersState.js.map +1 -1
  241. package/dist/esm/services/translations.js.map +1 -1
  242. package/dist/esm/styles.global.css +1 -1
  243. package/dist/esm/types/CollectionPageConfig.js.map +1 -1
  244. package/dist/esm/types/SchemaConfig.js.map +1 -1
  245. package/dist/esm/utils/filterCreators.js +3 -1
  246. package/dist/esm/utils/filterCreators.js.map +1 -1
  247. package/dist/types/cms-fields/components/index.d.ts +1 -0
  248. package/dist/types/cms-fields/components/index.d.ts.map +1 -1
  249. package/dist/types/cms-fields/components/media-control/paste-url-button.st.css.d.ts.map +1 -1
  250. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.d.ts +1 -1
  251. package/dist/types/cms-fields/components/media-image/media-image.st.css.d.ts.map +1 -1
  252. package/dist/types/cms-fields/components/media-image/overlays/index.d.ts +3 -0
  253. package/dist/types/cms-fields/components/media-image/overlays/index.d.ts.map +1 -0
  254. package/dist/types/cms-fields/components/media-image/overlays/overlay.st.css.d.ts +19 -0
  255. package/dist/types/cms-fields/components/media-image/overlays/overlay.st.css.d.ts.map +1 -0
  256. package/dist/types/cms-fields/components/media-image/overlays/types.d.ts +10 -0
  257. package/dist/types/cms-fields/components/media-image/overlays/types.d.ts.map +1 -0
  258. package/dist/types/cms-fields/components/media-image/overlays/video-indicator-overlay.d.ts +4 -0
  259. package/dist/types/cms-fields/components/media-image/overlays/video-indicator-overlay.d.ts.map +1 -0
  260. package/dist/types/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.d.ts.map +1 -1
  261. package/dist/types/cms-fields/components/rich-content/rich-content-input/form-read-only-input/rich-content-form-read-only-input.st.css.d.ts.map +1 -1
  262. package/dist/types/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.d.ts.map +1 -1
  263. package/dist/types/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.d.ts.map +1 -1
  264. package/dist/types/cms-fields/components/video/index.d.ts +3 -0
  265. package/dist/types/cms-fields/components/video/index.d.ts.map +1 -0
  266. package/dist/types/cms-fields/components/video/video-view.d.ts +9 -0
  267. package/dist/types/cms-fields/components/video/video-view.d.ts.map +1 -0
  268. package/dist/types/cms-fields/validations/array.d.ts +3 -0
  269. package/dist/types/cms-fields/validations/array.d.ts.map +1 -0
  270. package/dist/types/cms-fields/validations/video.d.ts +3 -0
  271. package/dist/types/cms-fields/validations/video.d.ts.map +1 -0
  272. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.uni.driver.d.ts +193 -5
  273. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.uni.driver.d.ts.map +1 -1
  274. package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts +1 -0
  275. package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
  276. package/dist/types/components/AutoPatternsGrid/AutoPatternsGrid.d.ts.map +1 -1
  277. package/dist/types/components/AutoPatternsTable/AutoPatternsTable.uni.driver.d.ts +193 -5
  278. package/dist/types/components/AutoPatternsTable/AutoPatternsTable.uni.driver.d.ts.map +1 -1
  279. package/dist/types/components/fields/Array.d.ts +6 -0
  280. package/dist/types/components/fields/Array.d.ts.map +1 -0
  281. package/dist/types/components/fields/DateInput.d.ts.map +1 -1
  282. package/dist/types/components/fields/ImageInput.d.ts.map +1 -1
  283. package/dist/types/components/fields/ImageViewField.d.ts +8 -0
  284. package/dist/types/components/fields/ImageViewField.d.ts.map +1 -0
  285. package/dist/types/components/fields/Video.d.ts +6 -0
  286. package/dist/types/components/fields/Video.d.ts.map +1 -0
  287. package/dist/types/components/fields/VideoViewField.d.ts +8 -0
  288. package/dist/types/components/fields/VideoViewField.d.ts.map +1 -0
  289. package/dist/types/components/fields/index.d.ts +4 -0
  290. package/dist/types/components/fields/index.d.ts.map +1 -1
  291. package/dist/types/components/fields/mediaConstants.d.ts +12 -0
  292. package/dist/types/components/fields/mediaConstants.d.ts.map +1 -0
  293. package/dist/types/components/fields/useVideoPreview.d.ts +12 -0
  294. package/dist/types/components/fields/useVideoPreview.d.ts.map +1 -0
  295. package/dist/types/components/layouts/ContentCardSkeleton.d.ts +11 -0
  296. package/dist/types/components/layouts/ContentCardSkeleton.d.ts.map +1 -0
  297. package/dist/types/components/layouts/FormField.d.ts.map +1 -1
  298. package/dist/types/components/layouts/ViewField.d.ts +1 -1
  299. package/dist/types/components/layouts/ViewField.d.ts.map +1 -1
  300. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
  301. package/dist/types/hooks/useBaseTableFeatures.d.ts +2 -0
  302. package/dist/types/hooks/useBaseTableFeatures.d.ts.map +1 -1
  303. package/dist/types/hooks/useColumns.d.ts.map +1 -1
  304. package/dist/types/hooks/useFiltersState.d.ts.map +1 -1
  305. package/dist/types/services/translations.d.ts +1 -1
  306. package/dist/types/services/translations.d.ts.map +1 -1
  307. package/dist/types/testkit/enzyme.d.ts +193 -5
  308. package/dist/types/testkit/enzyme.d.ts.map +1 -1
  309. package/dist/types/testkit/jsdom.d.ts +193 -5
  310. package/dist/types/testkit/jsdom.d.ts.map +1 -1
  311. package/dist/types/testkit/playwright.d.ts +193 -5
  312. package/dist/types/testkit/playwright.d.ts.map +1 -1
  313. package/dist/types/testkit/puppeteer.d.ts +193 -5
  314. package/dist/types/testkit/puppeteer.d.ts.map +1 -1
  315. package/dist/types/types/CollectionPageConfig.d.ts +16 -0
  316. package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
  317. package/dist/types/types/SchemaConfig.d.ts +1 -1
  318. package/dist/types/types/SchemaConfig.d.ts.map +1 -1
  319. package/dist/types/utils/filterCreators.d.ts +2 -0
  320. package/dist/types/utils/filterCreators.d.ts.map +1 -1
  321. package/mcp-docs/app_config_structure.md +4 -0
  322. package/mcp-docs/auto-patterns-guide.md +4 -0
  323. package/package.json +4 -4
@@ -1 +1 @@
1
- {"version":3,"names":["React","FormField","ImageViewer","dashboard","useIsMobile","useSelector","useWixPatternsContainer","useController","getImageUrl","ImageInput","props","_field$validation2","_controller$fieldStat","field","dataHook","formControl","data","translate","t","container","initTask","status","isMobile","openMedia","_chosenMediaItems$ite","chosenMediaItems","openMediaManager","multiSelect","category","newImage","items","media","image","controller","onChange","error","console","name","id","control","defaultValue","rules","validate","value","_field$validation","validation","required","undefined","imageUrl","createElement","label","displayName","fieldState","statusMessage","message","onAddImage","onUpdateImage","updateImageInfo","removeImageInfo","addImageInfo","height","width","fit","onRemoveImage"],"sources":["../../../../src/components/fields/ImageInput.tsx"],"sourcesContent":["import React from 'react';\nimport { FormField, ImageViewer } from '@wix/design-system';\nimport { dashboard } from '@wix/dashboard';\nimport {\n useIsMobile,\n useSelector,\n useWixPatternsContainer,\n} from '@wix/patterns';\nimport { useController } from '@wix/patterns/form';\nimport { getImageUrl } from '../../utils/media/getImageUrl';\nimport { BaseInputProps } from './types';\n\nexport interface ImageInputProps extends BaseInputProps<string> {}\n\nexport const ImageInput = (props: ImageInputProps) => {\n const { field, dataHook, formControl, data } = props;\n\n const { translate: t, ...container } = useWixPatternsContainer();\n useSelector(() => container.initTask.status);\n const isMobile = useIsMobile();\n\n async function openMedia() {\n try {\n const chosenMediaItems = await dashboard.openMediaManager({\n multiSelect: false,\n category: 'IMAGE',\n });\n\n const newImage = chosenMediaItems?.items[0]?.media?.image?.image;\n\n controller.field.onChange(newImage);\n } catch (error) {\n console.error('Error opening Media Manager or no files selected:', error);\n }\n }\n\n const controller = useController({\n name: field?.id ?? '',\n control: formControl,\n defaultValue: data?.[field?.id ?? ''],\n rules: {\n validate: (value) => {\n if (\n field.validation?.required &&\n (value === null || value === undefined || value === '')\n ) {\n return t('cairo.fieldValidation.requiredField');\n }\n\n return true;\n },\n },\n });\n\n const imageUrl =\n controller.field.value && getImageUrl(controller.field.value);\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n status={controller.fieldState.error ? 'error' : undefined}\n statusMessage={controller.fieldState.error?.message}\n dataHook={dataHook}\n >\n <ImageViewer\n imageUrl={imageUrl}\n dataHook={`image-${field.id}`}\n onAddImage={isMobile ? undefined : () => openMedia()}\n onUpdateImage={isMobile ? undefined : () => openMedia()}\n updateImageInfo={t('cairo.replace-image.tooltip')}\n removeImageInfo={t('cairo.remove-image.tooltip')}\n addImageInfo={t('cairo.add-image.tooltip')}\n height=\"120px\"\n width=\"25%\"\n fit=\"cover\"\n onRemoveImage={() => controller.field.onChange(null)}\n />\n </FormField>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Box","FormField","ImageViewer","dashboard","useIsMobile","useSelector","useWixPatternsContainer","useController","getImageUrl","MEDIA_HEIGHT","MEDIA_MAX_WIDTH","ImageInput","props","_field$validation2","_controller$fieldStat","field","dataHook","formControl","data","translate","t","container","initTask","status","isMobile","openMedia","_chosenMediaItems$ite","chosenMediaItems","openMediaManager","multiSelect","category","newImage","items","media","image","controller","onChange","error","console","name","id","control","defaultValue","rules","validate","value","_field$validation","validation","required","undefined","imageUrl","createElement","label","displayName","fieldState","statusMessage","message","width","maxWidth","onAddImage","onUpdateImage","updateImageInfo","removeImageInfo","addImageInfo","height","fit","onRemoveImage"],"sources":["../../../../src/components/fields/ImageInput.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, FormField, ImageViewer } from '@wix/design-system';\nimport { dashboard } from '@wix/dashboard';\nimport {\n useIsMobile,\n useSelector,\n useWixPatternsContainer,\n} from '@wix/patterns';\nimport { useController } from '@wix/patterns/form';\nimport { getImageUrl } from '../../utils/media/getImageUrl';\nimport { BaseInputProps } from './types';\nimport { MEDIA_HEIGHT, MEDIA_MAX_WIDTH } from './mediaConstants';\n\nexport interface ImageInputProps extends BaseInputProps<string> {}\n\nexport const ImageInput = (props: ImageInputProps) => {\n const { field, dataHook, formControl, data } = props;\n\n const { translate: t, ...container } = useWixPatternsContainer();\n useSelector(() => container.initTask.status);\n const isMobile = useIsMobile();\n\n async function openMedia() {\n try {\n const chosenMediaItems = await dashboard.openMediaManager({\n multiSelect: false,\n category: 'IMAGE',\n });\n\n const newImage = chosenMediaItems?.items[0]?.media?.image?.image;\n\n controller.field.onChange(newImage);\n } catch (error) {\n console.error('Error opening Media Manager or no files selected:', error);\n }\n }\n\n const controller = useController({\n name: field?.id ?? '',\n control: formControl,\n defaultValue: data?.[field?.id ?? ''],\n rules: {\n validate: (value) => {\n if (\n field.validation?.required &&\n (value === null || value === undefined || value === '')\n ) {\n return t('cairo.fieldValidation.requiredField');\n }\n\n return true;\n },\n },\n });\n\n const imageUrl =\n controller.field.value && getImageUrl(controller.field.value);\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n status={controller.fieldState.error ? 'error' : undefined}\n statusMessage={controller.fieldState.error?.message}\n dataHook={dataHook}\n >\n <Box width=\"100%\" maxWidth={MEDIA_MAX_WIDTH}>\n <ImageViewer\n imageUrl={imageUrl}\n dataHook={`image-${field.id}`}\n onAddImage={isMobile ? undefined : () => openMedia()}\n onUpdateImage={isMobile ? undefined : () => openMedia()}\n updateImageInfo={t('cairo.replace-image.tooltip')}\n removeImageInfo={t('cairo.remove-image.tooltip')}\n addImageInfo={t('cairo.add-image.tooltip')}\n height={MEDIA_HEIGHT}\n width=\"100%\"\n fit=\"cover\"\n onRemoveImage={() => controller.field.onChange(null)}\n />\n </Box>\n </FormField>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,33 @@
1
+ import React from 'react';
2
+ import { Box, Text } from '@wix/design-system';
3
+ import { getImageUrl } from '../../utils/media/getImageUrl';
4
+ import { MEDIA_HEIGHT, MEDIA_MAX_WIDTH, MEDIA_BORDER_RADIUS } from './mediaConstants';
5
+ export const ImageViewField = _ref => {
6
+ let {
7
+ value,
8
+ displayName,
9
+ id
10
+ } = _ref;
11
+ const imageValue = typeof value === 'string' ? value : undefined;
12
+ const imageUrl = getImageUrl(imageValue);
13
+ if (!imageUrl) {
14
+ return /*#__PURE__*/React.createElement(Text, null, "-");
15
+ }
16
+ return /*#__PURE__*/React.createElement(Box, {
17
+ height: MEDIA_HEIGHT,
18
+ width: "100%",
19
+ maxWidth: MEDIA_MAX_WIDTH,
20
+ borderRadius: MEDIA_BORDER_RADIUS,
21
+ overflow: "hidden"
22
+ }, /*#__PURE__*/React.createElement("img", {
23
+ src: imageUrl,
24
+ alt: displayName || id,
25
+ style: {
26
+ height: '100%',
27
+ width: '100%',
28
+ objectFit: 'cover',
29
+ display: 'block'
30
+ }
31
+ }));
32
+ };
33
+ //# sourceMappingURL=ImageViewField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Box","Text","getImageUrl","MEDIA_HEIGHT","MEDIA_MAX_WIDTH","MEDIA_BORDER_RADIUS","ImageViewField","_ref","value","displayName","id","imageValue","undefined","imageUrl","createElement","height","width","maxWidth","borderRadius","overflow","src","alt","style","objectFit","display"],"sources":["../../../../src/components/fields/ImageViewField.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Text } from '@wix/design-system';\nimport { getImageUrl } from '../../utils/media/getImageUrl';\nimport {\n MEDIA_HEIGHT,\n MEDIA_MAX_WIDTH,\n MEDIA_BORDER_RADIUS,\n} from './mediaConstants';\n\nexport interface ImageViewFieldProps {\n value: unknown;\n displayName: string;\n id: string;\n}\n\nexport const ImageViewField: React.FC<ImageViewFieldProps> = ({\n value,\n displayName,\n id,\n}) => {\n const imageValue = typeof value === 'string' ? value : undefined;\n const imageUrl = getImageUrl(imageValue);\n\n if (!imageUrl) {\n return <Text>-</Text>;\n }\n\n return (\n <Box\n height={MEDIA_HEIGHT}\n width=\"100%\"\n maxWidth={MEDIA_MAX_WIDTH}\n borderRadius={MEDIA_BORDER_RADIUS}\n overflow=\"hidden\"\n >\n <img\n src={imageUrl}\n alt={displayName || id}\n style={{\n height: '100%',\n width: '100%',\n objectFit: 'cover',\n display: 'block',\n }}\n />\n </Box>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,GAAG,EAAEC,IAAI,QAAQ,oBAAoB;AAC9C,SAASC,WAAW,QAAQ,+BAA+B;AAC3D,SACEC,YAAY,EACZC,eAAe,EACfC,mBAAmB,QACd,kBAAkB;AAQzB,OAAO,MAAMC,cAA6C,GAAGC,IAAA,IAIvD;EAAA,IAJwD;IAC5DC,KAAK;IACLC,WAAW;IACXC;EACF,CAAC,GAAAH,IAAA;EACC,MAAMI,UAAU,GAAG,OAAOH,KAAK,KAAK,QAAQ,GAAGA,KAAK,GAAGI,SAAS;EAChE,MAAMC,QAAQ,GAAGX,WAAW,CAACS,UAAU,CAAC;EAExC,IAAI,CAACE,QAAQ,EAAE;IACb,oBAAOd,KAAA,CAAAe,aAAA,CAACb,IAAI,QAAC,GAAO,CAAC;EACvB;EAEA,oBACEF,KAAA,CAAAe,aAAA,CAACd,GAAG;IACFe,MAAM,EAAEZ,YAAa;IACrBa,KAAK,EAAC,MAAM;IACZC,QAAQ,EAAEb,eAAgB;IAC1Bc,YAAY,EAAEb,mBAAoB;IAClCc,QAAQ,EAAC;EAAQ,gBAEjBpB,KAAA,CAAAe,aAAA;IACEM,GAAG,EAAEP,QAAS;IACdQ,GAAG,EAAEZ,WAAW,IAAIC,EAAG;IACvBY,KAAK,EAAE;MACLP,MAAM,EAAE,MAAM;MACdC,KAAK,EAAE,MAAM;MACbO,SAAS,EAAE,OAAO;MAClBC,OAAO,EAAE;IACX;EAAE,CACH,CACE,CAAC;AAEV,CAAC","ignoreList":[]}
@@ -0,0 +1,189 @@
1
+ import React from 'react';
2
+ import { FormField, ImageViewer, Modal, CustomModalLayout, MediaOverlay, Box, Tooltip, IconButton, PopoverMenu, Image } from '@wix/design-system';
3
+ import { Replace, More, Download, Delete, Maximize } from '@wix/wix-ui-icons-common';
4
+ import { dashboard } from '@wix/dashboard';
5
+ import { useIsMobile, useSelector, useWixPatternsContainer } from '@wix/patterns';
6
+ import { useController } from '@wix/patterns/form';
7
+ import { MEDIA_HEIGHT, MEDIA_MAX_WIDTH } from './mediaConstants';
8
+ import { useVideoPreview } from './useVideoPreview';
9
+ import { useAutoPatternsAppContainer } from '../AutoPatternsApp/AutoPatternsAppContainerProvider';
10
+ import { isDataValidOrNotSet } from '../../cms-fields/validations/validations';
11
+ import { TypeMismatchExclamation } from '../../cms-fields';
12
+ import * as videoValidation from '../../cms-fields/validations/video';
13
+
14
+ /** Media descriptor from Wix Media Manager for video files */
15
+
16
+ /** Media item returned from openMediaManager for video category */
17
+
18
+ export const Video = props => {
19
+ var _field$validation2, _controller$fieldStat;
20
+ const {
21
+ field,
22
+ dataHook,
23
+ formControl,
24
+ data
25
+ } = props;
26
+ const {
27
+ translate: t
28
+ } = useAutoPatternsAppContainer();
29
+ const {
30
+ translate: pt,
31
+ ...container
32
+ } = useWixPatternsContainer();
33
+ useSelector(() => container.initTask.status);
34
+ const isMobile = useIsMobile();
35
+ const controller = useController({
36
+ name: (field == null ? void 0 : field.id) ?? '',
37
+ control: formControl,
38
+ defaultValue: data == null ? void 0 : data[(field == null ? void 0 : field.id) ?? ''],
39
+ rules: {
40
+ validate: value => {
41
+ var _field$validation;
42
+ if ((_field$validation = field.validation) != null && _field$validation.required && (value === null || value === undefined || value === '')) {
43
+ return pt('cairo.fieldValidation.requiredField');
44
+ }
45
+ return true;
46
+ }
47
+ }
48
+ });
49
+ async function openMedia() {
50
+ try {
51
+ var _chosenMediaItems$ite, _mediaItem$media;
52
+ const chosenMediaItems = await dashboard.openMediaManager({
53
+ multiSelect: false,
54
+ category: 'VIDEO'
55
+ });
56
+ const mediaItem = chosenMediaItems == null || (_chosenMediaItems$ite = chosenMediaItems.items) == null ? void 0 : _chosenMediaItems$ite[0];
57
+ const newVideo = mediaItem == null || (_mediaItem$media = mediaItem.media) == null ? void 0 : _mediaItem$media.video;
58
+ if (newVideo) {
59
+ controller.field.onChange(newVideo);
60
+ }
61
+ } catch (error) {
62
+ console.error('Error opening Media Manager or no files selected:', error);
63
+ }
64
+ }
65
+ const {
66
+ videoUrl,
67
+ posterUrl: imageUrl,
68
+ isPreviewOpen,
69
+ openPreview: handlePreview,
70
+ closePreview: handleClosePreview,
71
+ handleDownload
72
+ } = useVideoPreview({
73
+ videoUri: controller.field.value
74
+ });
75
+ return /*#__PURE__*/React.createElement(FormField, {
76
+ label: field.displayName,
77
+ required: (_field$validation2 = field.validation) == null ? void 0 : _field$validation2.required,
78
+ status: controller.fieldState.error ? 'error' : undefined,
79
+ statusMessage: (_controller$fieldStat = controller.fieldState.error) == null ? void 0 : _controller$fieldStat.message,
80
+ dataHook: dataHook,
81
+ suffix: isDataValidOrNotSet(controller.field.value, videoValidation) ? undefined : /*#__PURE__*/React.createElement(TypeMismatchExclamation, {
82
+ typeName: t('auto-patterns.fields.field_type_video_title'),
83
+ clearButtonText: t('auto-patterns.fields.type_mismatch_clear'),
84
+ convertButtonText: t('auto-patterns.fields.type_mismatch_convert'),
85
+ onClear: () => controller.field.onChange(undefined),
86
+ onChange: value => controller.field.onChange(value),
87
+ convertDisabledText: t('auto-patterns.fields.type_mismatch_convert_disabled'),
88
+ fieldName: field.displayName,
89
+ isConverted: false,
90
+ isConverting: false,
91
+ convertedValue: null,
92
+ tooltipText: t('auto-patterns.fields.type_mismatch_tip', {
93
+ typeName: 'Video'
94
+ })
95
+ })
96
+ }, controller.field.value ? /*#__PURE__*/React.createElement(Box, {
97
+ width: "100%",
98
+ maxWidth: MEDIA_MAX_WIDTH,
99
+ height: MEDIA_HEIGHT
100
+ }, /*#__PURE__*/React.createElement(MediaOverlay, {
101
+ dataHook: `video-${field.id}`,
102
+ hoverSkin: "dark",
103
+ media: /*#__PURE__*/React.createElement(Image, {
104
+ src: imageUrl,
105
+ width: "100%",
106
+ height: MEDIA_HEIGHT,
107
+ fit: "cover"
108
+ })
109
+ }, /*#__PURE__*/React.createElement(MediaOverlay.Content, {
110
+ placement: "middle",
111
+ visible: "hover"
112
+ }, /*#__PURE__*/React.createElement(Box, {
113
+ gap: "SP2"
114
+ }, /*#__PURE__*/React.createElement(Tooltip, {
115
+ content: t('auto-patterns.fields.replace_video_tooltip')
116
+ }, /*#__PURE__*/React.createElement(IconButton, {
117
+ onClick: () => openMedia(),
118
+ skin: "light",
119
+ priority: "secondary",
120
+ disabled: isMobile,
121
+ ariaLabel: t('auto-patterns.fields.replace_video_tooltip'),
122
+ dataHook: `video-replace-${field.id}`
123
+ }, /*#__PURE__*/React.createElement(Replace, null))), /*#__PURE__*/React.createElement(PopoverMenu, {
124
+ triggerElement: _ref => {
125
+ let {
126
+ toggle
127
+ } = _ref;
128
+ return /*#__PURE__*/React.createElement(Tooltip, {
129
+ content: t('auto-patterns.fields.more_actions_tooltip')
130
+ }, /*#__PURE__*/React.createElement(IconButton, {
131
+ priority: "secondary",
132
+ onClick: toggle,
133
+ skin: "light",
134
+ ariaLabel: t('auto-patterns.fields.more_actions_tooltip'),
135
+ dataHook: `video-more-${field.id}`
136
+ }, /*#__PURE__*/React.createElement(More, null)));
137
+ }
138
+ }, /*#__PURE__*/React.createElement(PopoverMenu.MenuItem, {
139
+ prefixIcon: /*#__PURE__*/React.createElement(Maximize, null),
140
+ text: t('auto-patterns.fields.preview_video'),
141
+ onClick: handlePreview,
142
+ disabled: !videoUrl,
143
+ dataHook: `video-preview-${field.id}`
144
+ }), /*#__PURE__*/React.createElement(PopoverMenu.MenuItem, {
145
+ prefixIcon: /*#__PURE__*/React.createElement(Download, null),
146
+ text: t('auto-patterns.fields.download_video'),
147
+ onClick: handleDownload,
148
+ dataHook: `video-download-${field.id}`
149
+ }), /*#__PURE__*/React.createElement(PopoverMenu.Divider, null), /*#__PURE__*/React.createElement(PopoverMenu.MenuItem, {
150
+ prefixIcon: /*#__PURE__*/React.createElement(Delete, null),
151
+ text: t('auto-patterns.fields.remove_video'),
152
+ onClick: () => controller.field.onChange(null),
153
+ dataHook: `video-delete-${field.id}`
154
+ })))))) : /*#__PURE__*/React.createElement(Box, {
155
+ width: "100%",
156
+ maxWidth: MEDIA_MAX_WIDTH
157
+ }, /*#__PURE__*/React.createElement(ImageViewer, {
158
+ dataHook: `video-${field.id}`,
159
+ onAddImage: isMobile ? undefined : () => openMedia(),
160
+ addImageInfo: t('auto-patterns.fields.add_video_tooltip'),
161
+ height: MEDIA_HEIGHT,
162
+ width: "100%"
163
+ })), isPreviewOpen && /*#__PURE__*/React.createElement(Modal, {
164
+ isOpen: isPreviewOpen,
165
+ onRequestClose: handleClosePreview
166
+ }, /*#__PURE__*/React.createElement(CustomModalLayout, {
167
+ title: field.displayName,
168
+ onCloseButtonClick: handleClosePreview,
169
+ content: /*#__PURE__*/React.createElement("div", {
170
+ style: {
171
+ display: 'flex',
172
+ justifyContent: 'center',
173
+ padding: '24px'
174
+ }
175
+ }, /*#__PURE__*/React.createElement("video", {
176
+ controls: true,
177
+ autoPlay: true,
178
+ style: {
179
+ maxWidth: '100%',
180
+ maxHeight: '70vh'
181
+ },
182
+ poster: imageUrl
183
+ }, videoUrl && /*#__PURE__*/React.createElement("source", {
184
+ src: videoUrl,
185
+ type: "video/mp4"
186
+ }), "Your browser does not support the video tag."))
187
+ })));
188
+ };
189
+ //# sourceMappingURL=Video.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","FormField","ImageViewer","Modal","CustomModalLayout","MediaOverlay","Box","Tooltip","IconButton","PopoverMenu","Image","Replace","More","Download","Delete","Maximize","dashboard","useIsMobile","useSelector","useWixPatternsContainer","useController","MEDIA_HEIGHT","MEDIA_MAX_WIDTH","useVideoPreview","useAutoPatternsAppContainer","isDataValidOrNotSet","TypeMismatchExclamation","videoValidation","Video","props","_field$validation2","_controller$fieldStat","field","dataHook","formControl","data","translate","t","pt","container","initTask","status","isMobile","controller","name","id","control","defaultValue","rules","validate","value","_field$validation","validation","required","undefined","openMedia","_chosenMediaItems$ite","_mediaItem$media","chosenMediaItems","openMediaManager","multiSelect","category","mediaItem","items","newVideo","media","video","onChange","error","console","videoUrl","posterUrl","imageUrl","isPreviewOpen","openPreview","handlePreview","closePreview","handleClosePreview","handleDownload","videoUri","createElement","label","displayName","fieldState","statusMessage","message","suffix","typeName","clearButtonText","convertButtonText","onClear","convertDisabledText","fieldName","isConverted","isConverting","convertedValue","tooltipText","width","maxWidth","height","hoverSkin","src","fit","Content","placement","visible","gap","content","onClick","skin","priority","disabled","ariaLabel","triggerElement","_ref","toggle","MenuItem","prefixIcon","text","Divider","onAddImage","addImageInfo","isOpen","onRequestClose","title","onCloseButtonClick","style","display","justifyContent","padding","controls","autoPlay","maxHeight","poster","type"],"sources":["../../../../src/components/fields/Video.tsx"],"sourcesContent":["import React from 'react';\nimport {\n FormField,\n ImageViewer,\n Modal,\n CustomModalLayout,\n MediaOverlay,\n Box,\n Tooltip,\n IconButton,\n PopoverMenu,\n Image,\n} from '@wix/design-system';\nimport {\n Replace,\n More,\n Download,\n Delete,\n Maximize,\n} from '@wix/wix-ui-icons-common';\nimport { dashboard } from '@wix/dashboard';\nimport {\n useIsMobile,\n useSelector,\n useWixPatternsContainer,\n} from '@wix/patterns';\nimport { useController } from '@wix/patterns/form';\nimport { BaseInputProps } from './types';\nimport { MEDIA_HEIGHT, MEDIA_MAX_WIDTH } from './mediaConstants';\nimport { useVideoPreview } from './useVideoPreview';\nimport { useAutoPatternsAppContainer } from '../AutoPatternsApp/AutoPatternsAppContainerProvider';\nimport { isDataValidOrNotSet } from '../../cms-fields/validations/validations';\nimport { TypeMismatchExclamation } from '../../cms-fields';\nimport * as videoValidation from '../../cms-fields/validations/video';\n\n/** Media descriptor from Wix Media Manager for video files */\ninterface VideoMediaDescriptor {\n video?: string;\n}\n\n/** Media item returned from openMediaManager for video category */\ninterface MediaManagerVideoItem {\n _id?: string;\n displayName?: string;\n mediaType?: string;\n media?: VideoMediaDescriptor;\n}\n\nexport interface VideoProps extends BaseInputProps<string> {}\n\nexport const Video = (props: VideoProps) => {\n const { field, dataHook, formControl, data } = props;\n\n const { translate: t } = useAutoPatternsAppContainer();\n const { translate: pt, ...container } = useWixPatternsContainer();\n useSelector(() => container.initTask.status);\n const isMobile = useIsMobile();\n\n const controller = useController({\n name: field?.id ?? '',\n control: formControl,\n defaultValue: data?.[field?.id ?? ''],\n rules: {\n validate: (value) => {\n if (\n field.validation?.required &&\n (value === null || value === undefined || value === '')\n ) {\n return pt('cairo.fieldValidation.requiredField');\n }\n\n return true;\n },\n },\n });\n\n async function openMedia() {\n try {\n const chosenMediaItems = await dashboard.openMediaManager({\n multiSelect: false,\n category: 'VIDEO',\n });\n\n const mediaItem = chosenMediaItems?.items?.[0] as MediaManagerVideoItem | undefined;\n const newVideo = mediaItem?.media?.video;\n if (newVideo) {\n controller.field.onChange(newVideo);\n }\n } catch (error) {\n console.error('Error opening Media Manager or no files selected:', error);\n }\n }\n\n const {\n videoUrl,\n posterUrl: imageUrl,\n isPreviewOpen,\n openPreview: handlePreview,\n closePreview: handleClosePreview,\n handleDownload,\n } = useVideoPreview({ videoUri: controller.field.value });\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n status={controller.fieldState.error ? 'error' : undefined}\n statusMessage={controller.fieldState.error?.message}\n dataHook={dataHook}\n suffix={\n isDataValidOrNotSet(\n controller.field.value,\n videoValidation,\n ) ? undefined : (\n <TypeMismatchExclamation\n typeName={t('auto-patterns.fields.field_type_video_title')}\n clearButtonText={t('auto-patterns.fields.type_mismatch_clear')}\n convertButtonText={t('auto-patterns.fields.type_mismatch_convert')}\n onClear={() => controller.field.onChange(undefined)}\n onChange={(value) => controller.field.onChange(value)}\n convertDisabledText={t(\n 'auto-patterns.fields.type_mismatch_convert_disabled',\n )}\n fieldName={field.displayName}\n isConverted={false}\n isConverting={false}\n convertedValue={null}\n tooltipText={t('auto-patterns.fields.type_mismatch_tip', {\n typeName: 'Video',\n })}\n />\n )\n }\n >\n {controller.field.value ? (\n <Box width=\"100%\" maxWidth={MEDIA_MAX_WIDTH} height={MEDIA_HEIGHT}>\n <MediaOverlay\n dataHook={`video-${field.id}`}\n hoverSkin=\"dark\"\n media={\n <Image\n src={imageUrl}\n width=\"100%\"\n height={MEDIA_HEIGHT}\n fit=\"cover\"\n />\n }\n >\n <MediaOverlay.Content placement=\"middle\" visible=\"hover\">\n <Box gap=\"SP2\">\n <Tooltip content={t('auto-patterns.fields.replace_video_tooltip')}>\n <IconButton\n onClick={() => openMedia()}\n skin=\"light\"\n priority=\"secondary\"\n disabled={isMobile}\n ariaLabel={t('auto-patterns.fields.replace_video_tooltip')}\n dataHook={`video-replace-${field.id}`}\n >\n <Replace />\n </IconButton>\n </Tooltip>\n <PopoverMenu\n triggerElement={({ toggle }) => (\n <Tooltip content={t('auto-patterns.fields.more_actions_tooltip')}>\n <IconButton\n priority=\"secondary\"\n onClick={toggle}\n skin=\"light\"\n ariaLabel={t('auto-patterns.fields.more_actions_tooltip')}\n dataHook={`video-more-${field.id}`}\n >\n <More />\n </IconButton>\n </Tooltip>\n )}\n >\n <PopoverMenu.MenuItem\n prefixIcon={<Maximize />}\n text={t('auto-patterns.fields.preview_video')}\n onClick={handlePreview}\n disabled={!videoUrl}\n dataHook={`video-preview-${field.id}`}\n />\n <PopoverMenu.MenuItem\n prefixIcon={<Download />}\n text={t('auto-patterns.fields.download_video')}\n onClick={handleDownload}\n dataHook={`video-download-${field.id}`}\n />\n <PopoverMenu.Divider />\n <PopoverMenu.MenuItem\n prefixIcon={<Delete />}\n text={t('auto-patterns.fields.remove_video')}\n onClick={() => controller.field.onChange(null)}\n dataHook={`video-delete-${field.id}`}\n />\n </PopoverMenu>\n </Box>\n </MediaOverlay.Content>\n </MediaOverlay>\n </Box>\n ) : (\n <Box width=\"100%\" maxWidth={MEDIA_MAX_WIDTH}>\n <ImageViewer\n dataHook={`video-${field.id}`}\n onAddImage={isMobile ? undefined : () => openMedia()}\n addImageInfo={t('auto-patterns.fields.add_video_tooltip')}\n height={MEDIA_HEIGHT}\n width=\"100%\"\n />\n </Box>\n )}\n {isPreviewOpen && (\n <Modal isOpen={isPreviewOpen} onRequestClose={handleClosePreview}>\n <CustomModalLayout\n title={field.displayName}\n onCloseButtonClick={handleClosePreview}\n content={\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n padding: '24px',\n }}\n >\n <video\n controls\n autoPlay\n style={{ maxWidth: '100%', maxHeight: '70vh' }}\n poster={imageUrl}\n >\n {videoUrl && <source src={videoUrl} type=\"video/mp4\" />}\n Your browser does not support the video tag.\n </video>\n </div>\n }\n />\n </Modal>\n )}\n </FormField>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,SAAS,EACTC,WAAW,EACXC,KAAK,EACLC,iBAAiB,EACjBC,YAAY,EACZC,GAAG,EACHC,OAAO,EACPC,UAAU,EACVC,WAAW,EACXC,KAAK,QACA,oBAAoB;AAC3B,SACEC,OAAO,EACPC,IAAI,EACJC,QAAQ,EACRC,MAAM,EACNC,QAAQ,QACH,0BAA0B;AACjC,SAASC,SAAS,QAAQ,gBAAgB;AAC1C,SACEC,WAAW,EACXC,WAAW,EACXC,uBAAuB,QAClB,eAAe;AACtB,SAASC,aAAa,QAAQ,oBAAoB;AAElD,SAASC,YAAY,EAAEC,eAAe,QAAQ,kBAAkB;AAChE,SAASC,eAAe,QAAQ,mBAAmB;AACnD,SAASC,2BAA2B,QAAQ,qDAAqD;AACjG,SAASC,mBAAmB,QAAQ,0CAA0C;AAC9E,SAASC,uBAAuB,QAAQ,kBAAkB;AAC1D,OAAO,KAAKC,eAAe,MAAM,oCAAoC;;AAErE;;AAKA;;AAUA,OAAO,MAAMC,KAAK,GAAIC,KAAiB,IAAK;EAAA,IAAAC,kBAAA,EAAAC,qBAAA;EAC1C,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,WAAW;IAAEC;EAAK,CAAC,GAAGN,KAAK;EAEpD,MAAM;IAAEO,SAAS,EAAEC;EAAE,CAAC,GAAGb,2BAA2B,CAAC,CAAC;EACtD,MAAM;IAAEY,SAAS,EAAEE,EAAE;IAAE,GAAGC;EAAU,CAAC,GAAGpB,uBAAuB,CAAC,CAAC;EACjED,WAAW,CAAC,MAAMqB,SAAS,CAACC,QAAQ,CAACC,MAAM,CAAC;EAC5C,MAAMC,QAAQ,GAAGzB,WAAW,CAAC,CAAC;EAE9B,MAAM0B,UAAU,GAAGvB,aAAa,CAAC;IAC/BwB,IAAI,EAAE,CAAAZ,KAAK,oBAALA,KAAK,CAAEa,EAAE,KAAI,EAAE;IACrBC,OAAO,EAAEZ,WAAW;IACpBa,YAAY,EAAEZ,IAAI,oBAAJA,IAAI,CAAG,CAAAH,KAAK,oBAALA,KAAK,CAAEa,EAAE,KAAI,EAAE,CAAC;IACrCG,KAAK,EAAE;MACLC,QAAQ,EAAGC,KAAK,IAAK;QAAA,IAAAC,iBAAA;QACnB,IACE,CAAAA,iBAAA,GAAAnB,KAAK,CAACoB,UAAU,aAAhBD,iBAAA,CAAkBE,QAAQ,KACzBH,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKI,SAAS,IAAIJ,KAAK,KAAK,EAAE,CAAC,EACvD;UACA,OAAOZ,EAAE,CAAC,qCAAqC,CAAC;QAClD;QAEA,OAAO,IAAI;MACb;IACF;EACF,CAAC,CAAC;EAEF,eAAeiB,SAASA,CAAA,EAAG;IACzB,IAAI;MAAA,IAAAC,qBAAA,EAAAC,gBAAA;MACF,MAAMC,gBAAgB,GAAG,MAAM1C,SAAS,CAAC2C,gBAAgB,CAAC;QACxDC,WAAW,EAAE,KAAK;QAClBC,QAAQ,EAAE;MACZ,CAAC,CAAC;MAEF,MAAMC,SAAS,GAAGJ,gBAAgB,aAAAF,qBAAA,GAAhBE,gBAAgB,CAAEK,KAAK,qBAAvBP,qBAAA,CAA0B,CAAC,CAAsC;MACnF,MAAMQ,QAAQ,GAAGF,SAAS,aAAAL,gBAAA,GAATK,SAAS,CAAEG,KAAK,qBAAhBR,gBAAA,CAAkBS,KAAK;MACxC,IAAIF,QAAQ,EAAE;QACZrB,UAAU,CAACX,KAAK,CAACmC,QAAQ,CAACH,QAAQ,CAAC;MACrC;IACF,CAAC,CAAC,OAAOI,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,mDAAmD,EAAEA,KAAK,CAAC;IAC3E;EACF;EAEA,MAAM;IACJE,QAAQ;IACRC,SAAS,EAAEC,QAAQ;IACnBC,aAAa;IACbC,WAAW,EAAEC,aAAa;IAC1BC,YAAY,EAAEC,kBAAkB;IAChCC;EACF,CAAC,GAAGvD,eAAe,CAAC;IAAEwD,QAAQ,EAAEpC,UAAU,CAACX,KAAK,CAACkB;EAAM,CAAC,CAAC;EAEzD,oBACElD,KAAA,CAAAgF,aAAA,CAAC/E,SAAS;IACRgF,KAAK,EAAEjD,KAAK,CAACkD,WAAY;IACzB7B,QAAQ,GAAAvB,kBAAA,GAAEE,KAAK,CAACoB,UAAU,qBAAhBtB,kBAAA,CAAkBuB,QAAS;IACrCZ,MAAM,EAAEE,UAAU,CAACwC,UAAU,CAACf,KAAK,GAAG,OAAO,GAAGd,SAAU;IAC1D8B,aAAa,GAAArD,qBAAA,GAAEY,UAAU,CAACwC,UAAU,CAACf,KAAK,qBAA3BrC,qBAAA,CAA6BsD,OAAQ;IACpDpD,QAAQ,EAAEA,QAAS;IACnBqD,MAAM,EACJ7D,mBAAmB,CACjBkB,UAAU,CAACX,KAAK,CAACkB,KAAK,EACtBvB,eACF,CAAC,GAAG2B,SAAS,gBACXtD,KAAA,CAAAgF,aAAA,CAACtD,uBAAuB;MACtB6D,QAAQ,EAAElD,CAAC,CAAC,6CAA6C,CAAE;MAC3DmD,eAAe,EAAEnD,CAAC,CAAC,0CAA0C,CAAE;MAC/DoD,iBAAiB,EAAEpD,CAAC,CAAC,4CAA4C,CAAE;MACnEqD,OAAO,EAAEA,CAAA,KAAM/C,UAAU,CAACX,KAAK,CAACmC,QAAQ,CAACb,SAAS,CAAE;MACpDa,QAAQ,EAAGjB,KAAK,IAAKP,UAAU,CAACX,KAAK,CAACmC,QAAQ,CAACjB,KAAK,CAAE;MACtDyC,mBAAmB,EAAEtD,CAAC,CACpB,qDACF,CAAE;MACFuD,SAAS,EAAE5D,KAAK,CAACkD,WAAY;MAC7BW,WAAW,EAAE,KAAM;MACnBC,YAAY,EAAE,KAAM;MACpBC,cAAc,EAAE,IAAK;MACrBC,WAAW,EAAE3D,CAAC,CAAC,wCAAwC,EAAE;QACvDkD,QAAQ,EAAE;MACZ,CAAC;IAAE,CACJ;EAEJ,GAEA5C,UAAU,CAACX,KAAK,CAACkB,KAAK,gBACrBlD,KAAA,CAAAgF,aAAA,CAAC1E,GAAG;IAAC2F,KAAK,EAAC,MAAM;IAACC,QAAQ,EAAE5E,eAAgB;IAAC6E,MAAM,EAAE9E;EAAa,gBAChErB,KAAA,CAAAgF,aAAA,CAAC3E,YAAY;IACX4B,QAAQ,EAAE,SAASD,KAAK,CAACa,EAAE,EAAG;IAC9BuD,SAAS,EAAC,MAAM;IAChBnC,KAAK,eACHjE,KAAA,CAAAgF,aAAA,CAACtE,KAAK;MACJ2F,GAAG,EAAE7B,QAAS;MACdyB,KAAK,EAAC,MAAM;MACZE,MAAM,EAAE9E,YAAa;MACrBiF,GAAG,EAAC;IAAO,CACZ;EACF,gBAEDtG,KAAA,CAAAgF,aAAA,CAAC3E,YAAY,CAACkG,OAAO;IAACC,SAAS,EAAC,QAAQ;IAACC,OAAO,EAAC;EAAO,gBACtDzG,KAAA,CAAAgF,aAAA,CAAC1E,GAAG;IAACoG,GAAG,EAAC;EAAK,gBACZ1G,KAAA,CAAAgF,aAAA,CAACzE,OAAO;IAACoG,OAAO,EAAEtE,CAAC,CAAC,4CAA4C;EAAE,gBAChErC,KAAA,CAAAgF,aAAA,CAACxE,UAAU;IACToG,OAAO,EAAEA,CAAA,KAAMrD,SAAS,CAAC,CAAE;IAC3BsD,IAAI,EAAC,OAAO;IACZC,QAAQ,EAAC,WAAW;IACpBC,QAAQ,EAAErE,QAAS;IACnBsE,SAAS,EAAE3E,CAAC,CAAC,4CAA4C,CAAE;IAC3DJ,QAAQ,EAAE,iBAAiBD,KAAK,CAACa,EAAE;EAAG,gBAEtC7C,KAAA,CAAAgF,aAAA,CAACrE,OAAO,MAAE,CACA,CACL,CAAC,eACVX,KAAA,CAAAgF,aAAA,CAACvE,WAAW;IACVwG,cAAc,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAO,CAAC,GAAAD,IAAA;MAAA,oBACzBlH,KAAA,CAAAgF,aAAA,CAACzE,OAAO;QAACoG,OAAO,EAAEtE,CAAC,CAAC,2CAA2C;MAAE,gBAC/DrC,KAAA,CAAAgF,aAAA,CAACxE,UAAU;QACTsG,QAAQ,EAAC,WAAW;QACpBF,OAAO,EAAEO,MAAO;QAChBN,IAAI,EAAC,OAAO;QACZG,SAAS,EAAE3E,CAAC,CAAC,2CAA2C,CAAE;QAC1DJ,QAAQ,EAAE,cAAcD,KAAK,CAACa,EAAE;MAAG,gBAEnC7C,KAAA,CAAAgF,aAAA,CAACpE,IAAI,MAAE,CACG,CACL,CAAC;IAAA;EACV,gBAEFZ,KAAA,CAAAgF,aAAA,CAACvE,WAAW,CAAC2G,QAAQ;IACnBC,UAAU,eAAErH,KAAA,CAAAgF,aAAA,CAACjE,QAAQ,MAAE,CAAE;IACzBuG,IAAI,EAAEjF,CAAC,CAAC,oCAAoC,CAAE;IAC9CuE,OAAO,EAAEjC,aAAc;IACvBoC,QAAQ,EAAE,CAACzC,QAAS;IACpBrC,QAAQ,EAAE,iBAAiBD,KAAK,CAACa,EAAE;EAAG,CACvC,CAAC,eACF7C,KAAA,CAAAgF,aAAA,CAACvE,WAAW,CAAC2G,QAAQ;IACnBC,UAAU,eAAErH,KAAA,CAAAgF,aAAA,CAACnE,QAAQ,MAAE,CAAE;IACzByG,IAAI,EAAEjF,CAAC,CAAC,qCAAqC,CAAE;IAC/CuE,OAAO,EAAE9B,cAAe;IACxB7C,QAAQ,EAAE,kBAAkBD,KAAK,CAACa,EAAE;EAAG,CACxC,CAAC,eACF7C,KAAA,CAAAgF,aAAA,CAACvE,WAAW,CAAC8G,OAAO,MAAE,CAAC,eACvBvH,KAAA,CAAAgF,aAAA,CAACvE,WAAW,CAAC2G,QAAQ;IACnBC,UAAU,eAAErH,KAAA,CAAAgF,aAAA,CAAClE,MAAM,MAAE,CAAE;IACvBwG,IAAI,EAAEjF,CAAC,CAAC,mCAAmC,CAAE;IAC7CuE,OAAO,EAAEA,CAAA,KAAMjE,UAAU,CAACX,KAAK,CAACmC,QAAQ,CAAC,IAAI,CAAE;IAC/ClC,QAAQ,EAAE,gBAAgBD,KAAK,CAACa,EAAE;EAAG,CACtC,CACU,CACV,CACe,CACV,CACX,CAAC,gBAEN7C,KAAA,CAAAgF,aAAA,CAAC1E,GAAG;IAAC2F,KAAK,EAAC,MAAM;IAACC,QAAQ,EAAE5E;EAAgB,gBAC1CtB,KAAA,CAAAgF,aAAA,CAAC9E,WAAW;IACV+B,QAAQ,EAAE,SAASD,KAAK,CAACa,EAAE,EAAG;IAC9B2E,UAAU,EAAE9E,QAAQ,GAAGY,SAAS,GAAG,MAAMC,SAAS,CAAC,CAAE;IACrDkE,YAAY,EAAEpF,CAAC,CAAC,wCAAwC,CAAE;IAC1D8D,MAAM,EAAE9E,YAAa;IACrB4E,KAAK,EAAC;EAAM,CACb,CACE,CACN,EACAxB,aAAa,iBACZzE,KAAA,CAAAgF,aAAA,CAAC7E,KAAK;IAACuH,MAAM,EAAEjD,aAAc;IAACkD,cAAc,EAAE9C;EAAmB,gBAC/D7E,KAAA,CAAAgF,aAAA,CAAC5E,iBAAiB;IAChBwH,KAAK,EAAE5F,KAAK,CAACkD,WAAY;IACzB2C,kBAAkB,EAAEhD,kBAAmB;IACvC8B,OAAO,eACL3G,KAAA,CAAAgF,aAAA;MACE8C,KAAK,EAAE;QACLC,OAAO,EAAE,MAAM;QACfC,cAAc,EAAE,QAAQ;QACxBC,OAAO,EAAE;MACX;IAAE,gBAEFjI,KAAA,CAAAgF,aAAA;MACEkD,QAAQ;MACRC,QAAQ;MACRL,KAAK,EAAE;QAAE5B,QAAQ,EAAE,MAAM;QAAEkC,SAAS,EAAE;MAAO,CAAE;MAC/CC,MAAM,EAAE7D;IAAS,GAEhBF,QAAQ,iBAAItE,KAAA,CAAAgF,aAAA;MAAQqB,GAAG,EAAE/B,QAAS;MAACgE,IAAI,EAAC;IAAW,CAAE,CAAC,EAAC,8CAEnD,CACJ;EACN,CACF,CACI,CAEA,CAAC;AAEhB,CAAC","ignoreList":[]}
@@ -0,0 +1,94 @@
1
+ import React from 'react';
2
+ import { Box, CustomModalLayout, IconButton, MediaOverlay, Modal, Text, Tooltip } from '@wix/design-system';
3
+ import { Download, Maximize } from '@wix/wix-ui-icons-common';
4
+ import { VideoView } from '../../cms-fields';
5
+ import { useVideoPreview } from './useVideoPreview';
6
+ import { MEDIA_HEIGHT, MEDIA_MAX_WIDTH, MEDIA_BORDER_RADIUS } from './mediaConstants';
7
+ import { useAutoPatternsAppContainer } from '../AutoPatternsApp/AutoPatternsAppContainerProvider';
8
+ export const VideoViewField = _ref => {
9
+ let {
10
+ value,
11
+ displayName,
12
+ id
13
+ } = _ref;
14
+ const {
15
+ translate: t
16
+ } = useAutoPatternsAppContainer();
17
+ const videoUri = typeof value === 'string' ? value : undefined;
18
+ const {
19
+ videoUrl,
20
+ posterUrl,
21
+ isPreviewOpen,
22
+ openPreview,
23
+ closePreview,
24
+ handleDownload
25
+ } = useVideoPreview({
26
+ videoUri
27
+ });
28
+ if (value === null || value === undefined) {
29
+ return /*#__PURE__*/React.createElement(Text, null, "-");
30
+ }
31
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Box, {
32
+ height: MEDIA_HEIGHT,
33
+ width: "100%",
34
+ maxWidth: MEDIA_MAX_WIDTH,
35
+ borderRadius: MEDIA_BORDER_RADIUS,
36
+ overflow: "hidden"
37
+ }, /*#__PURE__*/React.createElement(MediaOverlay, {
38
+ hoverSkin: "dark",
39
+ media: /*#__PURE__*/React.createElement(VideoView, {
40
+ data: videoUri,
41
+ height: "100%",
42
+ width: "100%",
43
+ borderRadius: MEDIA_BORDER_RADIUS
44
+ })
45
+ }, /*#__PURE__*/React.createElement(MediaOverlay.Content, {
46
+ placement: "middle",
47
+ visible: "hover"
48
+ }, /*#__PURE__*/React.createElement(Box, {
49
+ gap: "12px"
50
+ }, /*#__PURE__*/React.createElement(Tooltip, {
51
+ content: t('auto-patterns.fields.preview_video')
52
+ }, /*#__PURE__*/React.createElement(IconButton, {
53
+ priority: "secondary",
54
+ skin: "light",
55
+ ariaLabel: t('auto-patterns.fields.preview_video'),
56
+ dataHook: `view-video-preview-${id}`,
57
+ onClick: openPreview,
58
+ disabled: !videoUrl
59
+ }, /*#__PURE__*/React.createElement(Maximize, null))), /*#__PURE__*/React.createElement(Tooltip, {
60
+ content: t('auto-patterns.fields.download_video')
61
+ }, /*#__PURE__*/React.createElement(IconButton, {
62
+ priority: "secondary",
63
+ skin: "light",
64
+ ariaLabel: t('auto-patterns.fields.download_video'),
65
+ dataHook: `view-video-download-${id}`,
66
+ onClick: handleDownload,
67
+ disabled: !videoUrl
68
+ }, /*#__PURE__*/React.createElement(Download, null))))))), isPreviewOpen && /*#__PURE__*/React.createElement(Modal, {
69
+ isOpen: isPreviewOpen,
70
+ onRequestClose: closePreview
71
+ }, /*#__PURE__*/React.createElement(CustomModalLayout, {
72
+ title: displayName || id,
73
+ onCloseButtonClick: closePreview,
74
+ content: /*#__PURE__*/React.createElement("div", {
75
+ style: {
76
+ display: 'flex',
77
+ justifyContent: 'center',
78
+ padding: '24px'
79
+ }
80
+ }, /*#__PURE__*/React.createElement("video", {
81
+ controls: true,
82
+ autoPlay: true,
83
+ style: {
84
+ maxWidth: '100%',
85
+ maxHeight: '70vh'
86
+ },
87
+ poster: posterUrl
88
+ }, videoUrl && /*#__PURE__*/React.createElement("source", {
89
+ src: videoUrl,
90
+ type: "video/mp4"
91
+ }), "Your browser does not support the video tag."))
92
+ })));
93
+ };
94
+ //# sourceMappingURL=VideoViewField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Box","CustomModalLayout","IconButton","MediaOverlay","Modal","Text","Tooltip","Download","Maximize","VideoView","useVideoPreview","MEDIA_HEIGHT","MEDIA_MAX_WIDTH","MEDIA_BORDER_RADIUS","useAutoPatternsAppContainer","VideoViewField","_ref","value","displayName","id","translate","t","videoUri","undefined","videoUrl","posterUrl","isPreviewOpen","openPreview","closePreview","handleDownload","createElement","Fragment","height","width","maxWidth","borderRadius","overflow","hoverSkin","media","data","Content","placement","visible","gap","content","priority","skin","ariaLabel","dataHook","onClick","disabled","isOpen","onRequestClose","title","onCloseButtonClick","style","display","justifyContent","padding","controls","autoPlay","maxHeight","poster","src","type"],"sources":["../../../../src/components/fields/VideoViewField.tsx"],"sourcesContent":["import React from 'react';\nimport {\n Box,\n CustomModalLayout,\n IconButton,\n MediaOverlay,\n Modal,\n Text,\n Tooltip,\n} from '@wix/design-system';\nimport { Download, Maximize } from '@wix/wix-ui-icons-common';\nimport { VideoView } from '../../cms-fields';\nimport { useVideoPreview } from './useVideoPreview';\nimport { MEDIA_HEIGHT, MEDIA_MAX_WIDTH, MEDIA_BORDER_RADIUS } from './mediaConstants';\nimport { useAutoPatternsAppContainer } from '../AutoPatternsApp/AutoPatternsAppContainerProvider';\n\nexport interface VideoViewFieldProps {\n value: unknown;\n displayName: string;\n id: string;\n}\n\nexport const VideoViewField: React.FC<VideoViewFieldProps> = ({\n value,\n displayName,\n id,\n}) => {\n const { translate: t } = useAutoPatternsAppContainer();\n const videoUri = typeof value === 'string' ? value : undefined;\n\n const {\n videoUrl,\n posterUrl,\n isPreviewOpen,\n openPreview,\n closePreview,\n handleDownload,\n } = useVideoPreview({ videoUri });\n\n if (value === null || value === undefined) {\n return <Text>-</Text>;\n }\n\n return (\n <>\n <Box\n height={MEDIA_HEIGHT}\n width=\"100%\"\n maxWidth={MEDIA_MAX_WIDTH}\n borderRadius={MEDIA_BORDER_RADIUS}\n overflow=\"hidden\"\n >\n <MediaOverlay\n hoverSkin=\"dark\"\n media={\n <VideoView\n data={videoUri}\n height=\"100%\"\n width=\"100%\"\n borderRadius={MEDIA_BORDER_RADIUS}\n />\n }\n >\n <MediaOverlay.Content placement=\"middle\" visible=\"hover\">\n <Box gap=\"12px\">\n <Tooltip content={t('auto-patterns.fields.preview_video')}>\n <IconButton\n priority=\"secondary\"\n skin=\"light\"\n ariaLabel={t('auto-patterns.fields.preview_video')}\n dataHook={`view-video-preview-${id}`}\n onClick={openPreview}\n disabled={!videoUrl}\n >\n <Maximize />\n </IconButton>\n </Tooltip>\n <Tooltip content={t('auto-patterns.fields.download_video')}>\n <IconButton\n priority=\"secondary\"\n skin=\"light\"\n ariaLabel={t('auto-patterns.fields.download_video')}\n dataHook={`view-video-download-${id}`}\n onClick={handleDownload}\n disabled={!videoUrl}\n >\n <Download />\n </IconButton>\n </Tooltip>\n </Box>\n </MediaOverlay.Content>\n </MediaOverlay>\n </Box>\n {isPreviewOpen && (\n <Modal isOpen={isPreviewOpen} onRequestClose={closePreview}>\n <CustomModalLayout\n title={displayName || id}\n onCloseButtonClick={closePreview}\n content={\n <div\n style={{\n display: 'flex',\n justifyContent: 'center',\n padding: '24px',\n }}\n >\n <video\n controls\n autoPlay\n style={{ maxWidth: '100%', maxHeight: '70vh' }}\n poster={posterUrl}\n >\n {videoUrl && <source src={videoUrl} type=\"video/mp4\" />}\n Your browser does not support the video tag.\n </video>\n </div>\n }\n />\n </Modal>\n )}\n </>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -18,6 +18,10 @@ export { Object } from './Object';
18
18
  export { Address } from './Address';
19
19
  export { RichContent } from './RichContent';
20
20
  export { RichText } from './RichText';
21
+ export { Video } from './Video';
21
22
  export { MediaGallery } from './MediaGallery';
23
+ export { ImageViewField } from './ImageViewField';
24
+ export { VideoViewField } from './VideoViewField';
25
+ export { Array } from './Array';
22
26
  export * from './types';
23
27
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Audio","Checkbox","Color","Email","DateInput","DateTime","Document","MultiDocument","ImageInput","LongText","Number","Reference","MultiReference","ShortText","Time","Url","Object","Address","RichContent","RichText","MediaGallery"],"sources":["../../../../src/components/fields/index.ts"],"sourcesContent":["export { Audio } from './Audio';\nexport { Checkbox } from './Checkbox';\nexport { Color } from './Color';\nexport { Email } from './Email';\nexport { DateInput } from './DateInput';\nexport { DateTime } from './DateTime';\nexport { Document } from './Document';\nexport { MultiDocument } from './MultiDocument';\nexport { ImageInput } from './ImageInput';\nexport { LongText } from './LongText';\nexport { Number } from './Number';\nexport { Reference } from './Reference';\nexport { MultiReference } from './MultiReference';\nexport { ShortText } from './ShortText';\nexport { Time } from './Time';\nexport { Url } from './Url';\nexport { Object } from './Object';\nexport { Address } from './Address';\nexport { RichContent } from './RichContent';\nexport { RichText } from './RichText';\nexport { MediaGallery } from './MediaGallery';\nexport * from './types';\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,SAAS;AAC/B,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,KAAK,QAAQ,SAAS;AAC/B,SAASC,KAAK,QAAQ,SAAS;AAC/B,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,GAAG,QAAQ,OAAO;AAC3B,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,cAAc,SAAS","ignoreList":[]}
1
+ {"version":3,"names":["Audio","Checkbox","Color","Email","DateInput","DateTime","Document","MultiDocument","ImageInput","LongText","Number","Reference","MultiReference","ShortText","Time","Url","Object","Address","RichContent","RichText","Video","MediaGallery","ImageViewField","VideoViewField","Array"],"sources":["../../../../src/components/fields/index.ts"],"sourcesContent":["export { Audio } from './Audio';\nexport { Checkbox } from './Checkbox';\nexport { Color } from './Color';\nexport { Email } from './Email';\nexport { DateInput } from './DateInput';\nexport { DateTime } from './DateTime';\nexport { Document } from './Document';\nexport { MultiDocument } from './MultiDocument';\nexport { ImageInput } from './ImageInput';\nexport { LongText } from './LongText';\nexport { Number } from './Number';\nexport { Reference } from './Reference';\nexport { MultiReference } from './MultiReference';\nexport { ShortText } from './ShortText';\nexport { Time } from './Time';\nexport { Url } from './Url';\nexport { Object } from './Object';\nexport { Address } from './Address';\nexport { RichContent } from './RichContent';\nexport { RichText } from './RichText';\nexport { Video } from './Video';\nexport { MediaGallery } from './MediaGallery';\nexport { ImageViewField } from './ImageViewField';\nexport { VideoViewField } from './VideoViewField';\nexport { Array } from './Array';\nexport * from './types';\n"],"mappings":"AAAA,SAASA,KAAK,QAAQ,SAAS;AAC/B,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,KAAK,QAAQ,SAAS;AAC/B,SAASC,KAAK,QAAQ,SAAS;AAC/B,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,SAAS,QAAQ,aAAa;AACvC,SAASC,IAAI,QAAQ,QAAQ;AAC7B,SAASC,GAAG,QAAQ,OAAO;AAC3B,SAASC,MAAM,QAAQ,UAAU;AACjC,SAASC,OAAO,QAAQ,WAAW;AACnC,SAASC,WAAW,QAAQ,eAAe;AAC3C,SAASC,QAAQ,QAAQ,YAAY;AACrC,SAASC,KAAK,QAAQ,SAAS;AAC/B,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,cAAc,QAAQ,kBAAkB;AACjD,SAASC,KAAK,QAAQ,SAAS;AAC/B,cAAc,SAAS","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Shared media dimension constants for consistent sizing across form fields.
3
+ * These values ensure media thumbnails maintain a consistent appearance
4
+ * in entity page forms, matching CMS-WEB behavior.
5
+ */
6
+
7
+ /** Height for media thumbnails in form fields */
8
+ export const MEDIA_HEIGHT = '120px';
9
+
10
+ /** Maximum width for media thumbnails to prevent oversized display */
11
+ export const MEDIA_MAX_WIDTH = '240px';
12
+
13
+ /** Border radius for media thumbnails in view mode */
14
+ export const MEDIA_BORDER_RADIUS = '8px';
15
+ //# sourceMappingURL=mediaConstants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["MEDIA_HEIGHT","MEDIA_MAX_WIDTH","MEDIA_BORDER_RADIUS"],"sources":["../../../../src/components/fields/mediaConstants.ts"],"sourcesContent":["/**\n * Shared media dimension constants for consistent sizing across form fields.\n * These values ensure media thumbnails maintain a consistent appearance\n * in entity page forms, matching CMS-WEB behavior.\n */\n\n/** Height for media thumbnails in form fields */\nexport const MEDIA_HEIGHT = '120px';\n\n/** Maximum width for media thumbnails to prevent oversized display */\nexport const MEDIA_MAX_WIDTH = '240px';\n\n/** Border radius for media thumbnails in view mode */\nexport const MEDIA_BORDER_RADIUS = '8px';\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,MAAMA,YAAY,GAAG,OAAO;;AAEnC;AACA,OAAO,MAAMC,eAAe,GAAG,OAAO;;AAEtC;AACA,OAAO,MAAMC,mBAAmB,GAAG,KAAK","ignoreList":[]}
@@ -0,0 +1,75 @@
1
+ import { useCallback, useMemo, useState } from 'react';
2
+ import { mediaURItoImageURL, mediaURItoVideoURL, ThumbnailSize } from '../../cms-fields/auto-cms-field-types';
3
+ export const useVideoPreview = _ref => {
4
+ let {
5
+ videoUri
6
+ } = _ref;
7
+ const [isPreviewOpen, setIsPreviewOpen] = useState(false);
8
+ const videoUrl = useMemo(() => {
9
+ if (!videoUri) {
10
+ return undefined;
11
+ }
12
+ try {
13
+ return mediaURItoVideoURL(videoUri);
14
+ } catch {
15
+ return undefined;
16
+ }
17
+ }, [videoUri]);
18
+ const posterUrl = useMemo(() => {
19
+ if (!videoUri) {
20
+ return undefined;
21
+ }
22
+ try {
23
+ return mediaURItoImageURL(videoUri, ThumbnailSize.L);
24
+ } catch {
25
+ return undefined;
26
+ }
27
+ }, [videoUri]);
28
+ const openPreview = useCallback(() => {
29
+ if (videoUrl) {
30
+ setIsPreviewOpen(true);
31
+ }
32
+ }, [videoUrl]);
33
+ const closePreview = useCallback(() => setIsPreviewOpen(false), []);
34
+ const handleDownload = useCallback(async () => {
35
+ if (!videoUrl || !videoUri) {
36
+ return;
37
+ }
38
+ try {
39
+ try {
40
+ const response = await fetch(videoUrl, {
41
+ mode: 'cors'
42
+ });
43
+ if (response.ok) {
44
+ var _videoUri$split$pop;
45
+ const blob = await response.blob();
46
+ const blobUrl = URL.createObjectURL(blob);
47
+ const filename = ((_videoUri$split$pop = videoUri.split('/').pop()) == null ? void 0 : _videoUri$split$pop.split('#')[0]) || 'video.mp4';
48
+ const link = document.createElement('a');
49
+ link.href = blobUrl;
50
+ link.download = filename;
51
+ document.body.appendChild(link);
52
+ link.click();
53
+ document.body.removeChild(link);
54
+ URL.revokeObjectURL(blobUrl);
55
+ return;
56
+ }
57
+ } catch {
58
+ // CORS blocked — fall through to window.open fallback
59
+ }
60
+ const downloadUrl = videoUrl.includes('?') ? `${videoUrl}&download=true` : `${videoUrl}?download=true`;
61
+ window.open(downloadUrl, '_blank');
62
+ } catch (error) {
63
+ console.error('Error downloading video:', error);
64
+ }
65
+ }, [videoUrl, videoUri]);
66
+ return {
67
+ videoUrl,
68
+ posterUrl,
69
+ isPreviewOpen,
70
+ openPreview,
71
+ closePreview,
72
+ handleDownload
73
+ };
74
+ };
75
+ //# sourceMappingURL=useVideoPreview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","useMemo","useState","mediaURItoImageURL","mediaURItoVideoURL","ThumbnailSize","useVideoPreview","_ref","videoUri","isPreviewOpen","setIsPreviewOpen","videoUrl","undefined","posterUrl","L","openPreview","closePreview","handleDownload","response","fetch","mode","ok","_videoUri$split$pop","blob","blobUrl","URL","createObjectURL","filename","split","pop","link","document","createElement","href","download","body","appendChild","click","removeChild","revokeObjectURL","downloadUrl","includes","window","open","error","console"],"sources":["../../../../src/components/fields/useVideoPreview.ts"],"sourcesContent":["import { useCallback, useMemo, useState } from 'react';\nimport {\n mediaURItoImageURL,\n mediaURItoVideoURL,\n ThumbnailSize,\n} from '../../cms-fields/auto-cms-field-types';\n\nexport interface UseVideoPreviewOptions {\n videoUri: string | undefined | null;\n}\n\nexport const useVideoPreview = ({ videoUri }: UseVideoPreviewOptions) => {\n const [isPreviewOpen, setIsPreviewOpen] = useState(false);\n\n const videoUrl = useMemo(() => {\n if (!videoUri) {\n return undefined;\n }\n try {\n return mediaURItoVideoURL(videoUri);\n } catch {\n return undefined;\n }\n }, [videoUri]);\n\n const posterUrl = useMemo(() => {\n if (!videoUri) {\n return undefined;\n }\n try {\n return mediaURItoImageURL(videoUri, ThumbnailSize.L);\n } catch {\n return undefined;\n }\n }, [videoUri]);\n\n const openPreview = useCallback(() => {\n if (videoUrl) {\n setIsPreviewOpen(true);\n }\n }, [videoUrl]);\n\n const closePreview = useCallback(() => setIsPreviewOpen(false), []);\n\n const handleDownload = useCallback(async () => {\n if (!videoUrl || !videoUri) {\n return;\n }\n\n try {\n try {\n const response = await fetch(videoUrl, { mode: 'cors' });\n if (response.ok) {\n const blob = await response.blob();\n const blobUrl = URL.createObjectURL(blob);\n const filename =\n videoUri.split('/').pop()?.split('#')[0] || 'video.mp4';\n\n const link = document.createElement('a');\n link.href = blobUrl;\n link.download = filename;\n document.body.appendChild(link);\n link.click();\n document.body.removeChild(link);\n\n URL.revokeObjectURL(blobUrl);\n return;\n }\n } catch {\n // CORS blocked — fall through to window.open fallback\n }\n\n const downloadUrl = videoUrl.includes('?')\n ? `${videoUrl}&download=true`\n : `${videoUrl}?download=true`;\n window.open(downloadUrl, '_blank');\n } catch (error) {\n console.error('Error downloading video:', error);\n }\n }, [videoUrl, videoUri]);\n\n return {\n videoUrl,\n posterUrl,\n isPreviewOpen,\n openPreview,\n closePreview,\n handleDownload,\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,EAAEC,OAAO,EAAEC,QAAQ,QAAQ,OAAO;AACtD,SACEC,kBAAkB,EAClBC,kBAAkB,EAClBC,aAAa,QACR,uCAAuC;AAM9C,OAAO,MAAMC,eAAe,GAAGC,IAAA,IAA0C;EAAA,IAAzC;IAAEC;EAAiC,CAAC,GAAAD,IAAA;EAClE,MAAM,CAACE,aAAa,EAAEC,gBAAgB,CAAC,GAAGR,QAAQ,CAAC,KAAK,CAAC;EAEzD,MAAMS,QAAQ,GAAGV,OAAO,CAAC,MAAM;IAC7B,IAAI,CAACO,QAAQ,EAAE;MACb,OAAOI,SAAS;IAClB;IACA,IAAI;MACF,OAAOR,kBAAkB,CAACI,QAAQ,CAAC;IACrC,CAAC,CAAC,MAAM;MACN,OAAOI,SAAS;IAClB;EACF,CAAC,EAAE,CAACJ,QAAQ,CAAC,CAAC;EAEd,MAAMK,SAAS,GAAGZ,OAAO,CAAC,MAAM;IAC9B,IAAI,CAACO,QAAQ,EAAE;MACb,OAAOI,SAAS;IAClB;IACA,IAAI;MACF,OAAOT,kBAAkB,CAACK,QAAQ,EAAEH,aAAa,CAACS,CAAC,CAAC;IACtD,CAAC,CAAC,MAAM;MACN,OAAOF,SAAS;IAClB;EACF,CAAC,EAAE,CAACJ,QAAQ,CAAC,CAAC;EAEd,MAAMO,WAAW,GAAGf,WAAW,CAAC,MAAM;IACpC,IAAIW,QAAQ,EAAE;MACZD,gBAAgB,CAAC,IAAI,CAAC;IACxB;EACF,CAAC,EAAE,CAACC,QAAQ,CAAC,CAAC;EAEd,MAAMK,YAAY,GAAGhB,WAAW,CAAC,MAAMU,gBAAgB,CAAC,KAAK,CAAC,EAAE,EAAE,CAAC;EAEnE,MAAMO,cAAc,GAAGjB,WAAW,CAAC,YAAY;IAC7C,IAAI,CAACW,QAAQ,IAAI,CAACH,QAAQ,EAAE;MAC1B;IACF;IAEA,IAAI;MACF,IAAI;QACF,MAAMU,QAAQ,GAAG,MAAMC,KAAK,CAACR,QAAQ,EAAE;UAAES,IAAI,EAAE;QAAO,CAAC,CAAC;QACxD,IAAIF,QAAQ,CAACG,EAAE,EAAE;UAAA,IAAAC,mBAAA;UACf,MAAMC,IAAI,GAAG,MAAML,QAAQ,CAACK,IAAI,CAAC,CAAC;UAClC,MAAMC,OAAO,GAAGC,GAAG,CAACC,eAAe,CAACH,IAAI,CAAC;UACzC,MAAMI,QAAQ,GACZ,EAAAL,mBAAA,GAAAd,QAAQ,CAACoB,KAAK,CAAC,GAAG,CAAC,CAACC,GAAG,CAAC,CAAC,qBAAzBP,mBAAA,CAA2BM,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAI,WAAW;UAEzD,MAAME,IAAI,GAAGC,QAAQ,CAACC,aAAa,CAAC,GAAG,CAAC;UACxCF,IAAI,CAACG,IAAI,GAAGT,OAAO;UACnBM,IAAI,CAACI,QAAQ,GAAGP,QAAQ;UACxBI,QAAQ,CAACI,IAAI,CAACC,WAAW,CAACN,IAAI,CAAC;UAC/BA,IAAI,CAACO,KAAK,CAAC,CAAC;UACZN,QAAQ,CAACI,IAAI,CAACG,WAAW,CAACR,IAAI,CAAC;UAE/BL,GAAG,CAACc,eAAe,CAACf,OAAO,CAAC;UAC5B;QACF;MACF,CAAC,CAAC,MAAM;QACN;MAAA;MAGF,MAAMgB,WAAW,GAAG7B,QAAQ,CAAC8B,QAAQ,CAAC,GAAG,CAAC,GACtC,GAAG9B,QAAQ,gBAAgB,GAC3B,GAAGA,QAAQ,gBAAgB;MAC/B+B,MAAM,CAACC,IAAI,CAACH,WAAW,EAAE,QAAQ,CAAC;IACpC,CAAC,CAAC,OAAOI,KAAK,EAAE;MACdC,OAAO,CAACD,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC;IAClD;EACF,CAAC,EAAE,CAACjC,QAAQ,EAAEH,QAAQ,CAAC,CAAC;EAExB,OAAO;IACLG,QAAQ;IACRE,SAAS;IACTJ,aAAa;IACbM,WAAW;IACXC,YAAY;IACZC;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,81 @@
1
+ import React from 'react';
2
+ import { Card, Cell, Layout } from '@wix/design-system';
3
+ import { SettingsPage, EntityPage } from '@wix/patterns';
4
+ import { useAutoPatternsOverridesContext } from '../../providers';
5
+ const SkeletonCardLayout = _ref => {
6
+ var _content$container$ch;
7
+ let {
8
+ content,
9
+ level,
10
+ sectionId,
11
+ cardIndex,
12
+ contentIndex
13
+ } = _ref;
14
+ const overrides = useAutoPatternsOverridesContext();
15
+ switch (content.type) {
16
+ case 'field':
17
+ return null;
18
+ case 'container':
19
+ if (!((_content$container$ch = content.container.children) != null && _content$container$ch.length)) {
20
+ return null;
21
+ }
22
+ return /*#__PURE__*/React.createElement(Cell, {
23
+ span: content.container.span
24
+ }, /*#__PURE__*/React.createElement(Layout, null, content.container.children.map((child, index) => /*#__PURE__*/React.createElement(SkeletonCardLayout, {
25
+ key: `${sectionId}-card-${cardIndex}-content-${contentIndex}-level-${level}-child-${index}`,
26
+ content: child,
27
+ level: level + 1,
28
+ sectionId: sectionId,
29
+ cardIndex: cardIndex,
30
+ contentIndex: index
31
+ }))));
32
+ case 'component':
33
+ {
34
+ var _overrides$components;
35
+ if (!content.component.componentId) {
36
+ return null;
37
+ }
38
+ const Component = overrides == null || (_overrides$components = overrides.components) == null ? void 0 : _overrides$components[content.component.componentId];
39
+ if (!Component) {
40
+ return null;
41
+ }
42
+ return /*#__PURE__*/React.createElement(Cell, {
43
+ span: content.component.span
44
+ }, /*#__PURE__*/React.createElement(Component, {
45
+ form: undefined,
46
+ entity: undefined
47
+ }));
48
+ }
49
+ default:
50
+ return null;
51
+ }
52
+ };
53
+ export const ContentCardSkeleton = _ref2 => {
54
+ var _layout$card$subtitle;
55
+ let {
56
+ type = 'entity',
57
+ layout,
58
+ sectionId,
59
+ cardIndex
60
+ } = _ref2;
61
+ const Component = type === 'settings' ? SettingsPage : EntityPage;
62
+ switch (layout.type) {
63
+ case 'card':
64
+ return /*#__PURE__*/React.createElement(Component.Card, {
65
+ minHeight: "50px"
66
+ }, /*#__PURE__*/React.createElement(Card.Header, {
67
+ title: layout.card.title.text,
68
+ subtitle: (_layout$card$subtitle = layout.card.subtitle) == null ? void 0 : _layout$card$subtitle.text
69
+ }), /*#__PURE__*/React.createElement(Card.Divider, null), /*#__PURE__*/React.createElement(Card.Content, null, /*#__PURE__*/React.createElement(Layout, null, layout.card.children.map((child, index) => /*#__PURE__*/React.createElement(SkeletonCardLayout, {
70
+ key: `${sectionId}-card-${cardIndex}-content-${index}`,
71
+ content: child,
72
+ level: 0,
73
+ sectionId: sectionId,
74
+ cardIndex: cardIndex,
75
+ contentIndex: index
76
+ })))));
77
+ default:
78
+ return null;
79
+ }
80
+ };
81
+ //# sourceMappingURL=ContentCardSkeleton.js.map