@wix/auto-patterns 1.55.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 (276) hide show
  1. package/dist/cjs/assets/locale/messages_en.json +7 -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.js +5 -5
  17. package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
  18. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js +5 -5
  19. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  20. package/dist/cjs/cms-fields/components/index.js +6 -0
  21. package/dist/cjs/cms-fields/components/index.js.map +1 -1
  22. package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
  23. package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
  24. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
  25. package/dist/cjs/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  26. package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js +4 -4
  27. package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
  28. package/dist/cjs/cms-fields/components/media-image/overlays/index.js +7 -0
  29. package/dist/cjs/cms-fields/components/media-image/overlays/index.js.map +1 -0
  30. package/dist/cjs/cms-fields/components/media-image/overlays/overlay.st.css +41 -0
  31. package/dist/cjs/cms-fields/components/media-image/overlays/overlay.st.css.js +28 -0
  32. package/dist/cjs/cms-fields/components/media-image/overlays/overlay.st.css.js.map +1 -0
  33. package/dist/cjs/cms-fields/components/media-image/overlays/types.js +4 -0
  34. package/dist/cjs/cms-fields/components/media-image/overlays/types.js.map +1 -0
  35. package/dist/cjs/cms-fields/components/media-image/overlays/video-indicator-overlay.js +30 -0
  36. package/dist/cjs/cms-fields/components/media-image/overlays/video-indicator-overlay.js.map +1 -0
  37. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js +3 -3
  38. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -1
  39. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  40. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  41. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  42. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  43. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  44. 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
  45. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  46. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  47. 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
  48. 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
  49. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  50. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  51. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  52. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  53. 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
  54. 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
  55. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
  56. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  57. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  58. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  59. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  60. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  61. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  62. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  63. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  64. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  65. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  66. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  67. package/dist/cjs/cms-fields/components/text/text-view.st.css.js +3 -3
  68. package/dist/cjs/cms-fields/components/text/text-view.st.css.js.map +1 -1
  69. package/dist/cjs/cms-fields/components/video/index.js +7 -0
  70. package/dist/cjs/cms-fields/components/video/index.js.map +1 -0
  71. package/dist/cjs/cms-fields/components/video/video-view.js +54 -0
  72. package/dist/cjs/cms-fields/components/video/video-view.js.map +1 -0
  73. package/dist/cjs/cms-fields/validations/video.js +23 -0
  74. package/dist/cjs/cms-fields/validations/video.js.map +1 -0
  75. package/dist/cjs/components/fields/DateInput.js +2 -1
  76. package/dist/cjs/components/fields/DateInput.js.map +1 -1
  77. package/dist/cjs/components/fields/ImageInput.js +16 -6
  78. package/dist/cjs/components/fields/ImageInput.js.map +1 -1
  79. package/dist/cjs/components/fields/ImageViewField.js +58 -0
  80. package/dist/cjs/components/fields/ImageViewField.js.map +1 -0
  81. package/dist/cjs/components/fields/Video.js +367 -0
  82. package/dist/cjs/components/fields/Video.js.map +1 -0
  83. package/dist/cjs/components/fields/VideoViewField.js +205 -0
  84. package/dist/cjs/components/fields/VideoViewField.js.map +1 -0
  85. package/dist/cjs/components/fields/index.js +10 -1
  86. package/dist/cjs/components/fields/index.js.map +1 -1
  87. package/dist/cjs/components/fields/mediaConstants.js +19 -0
  88. package/dist/cjs/components/fields/mediaConstants.js.map +1 -0
  89. package/dist/cjs/components/fields/useVideoPreview.js +79 -0
  90. package/dist/cjs/components/fields/useVideoPreview.js.map +1 -0
  91. package/dist/cjs/components/layouts/ContentCardSkeleton.js +156 -0
  92. package/dist/cjs/components/layouts/ContentCardSkeleton.js.map +1 -0
  93. package/dist/cjs/components/layouts/ContentSkeleton.js +3 -3
  94. package/dist/cjs/components/layouts/ContentSkeleton.js.map +1 -1
  95. package/dist/cjs/components/layouts/FormField.js +2 -1
  96. package/dist/cjs/components/layouts/FormField.js.map +1 -1
  97. package/dist/cjs/components/layouts/ViewField.js +104 -109
  98. package/dist/cjs/components/layouts/ViewField.js.map +1 -1
  99. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +1 -0
  100. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  101. package/dist/cjs/hooks/useColumns.js +42 -20
  102. package/dist/cjs/hooks/useColumns.js.map +1 -1
  103. package/dist/cjs/services/translations.js.map +1 -1
  104. package/dist/cjs/styles.global.css +1 -1
  105. package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
  106. package/dist/cjs/types/SchemaConfig.js.map +1 -1
  107. package/dist/cjs/utils/filterCreators.js +4 -2
  108. package/dist/cjs/utils/filterCreators.js.map +1 -1
  109. package/dist/esm/assets/locale/messages_en.json +7 -0
  110. package/dist/esm/cms-fields/components/address/input/address-input.st.css.js +3 -3
  111. package/dist/esm/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
  112. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +3 -3
  113. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -1
  114. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +4 -4
  115. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -1
  116. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js +2 -2
  117. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -1
  118. package/dist/esm/cms-fields/components/color-view/color-view.st.css.js +4 -4
  119. package/dist/esm/cms-fields/components/color-view/color-view.st.css.js.map +1 -1
  120. package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
  121. package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  122. package/dist/esm/cms-fields/components/document/form-document-field.st.css.js +7 -7
  123. package/dist/esm/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
  124. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
  125. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
  126. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js +5 -5
  127. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -1
  128. package/dist/esm/cms-fields/components/index.js +1 -0
  129. package/dist/esm/cms-fields/components/index.js.map +1 -1
  130. package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
  131. package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
  132. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js +10 -10
  133. package/dist/esm/cms-fields/components/media-gallery/form-media-gallery-field.st.css.js.map +1 -1
  134. package/dist/esm/cms-fields/components/media-image/media-image.st.css.js +4 -4
  135. package/dist/esm/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
  136. package/dist/esm/cms-fields/components/media-image/overlays/index.js +2 -0
  137. package/dist/esm/cms-fields/components/media-image/overlays/index.js.map +1 -0
  138. package/dist/esm/cms-fields/components/media-image/overlays/overlay.st.css +41 -0
  139. package/dist/esm/cms-fields/components/media-image/overlays/overlay.st.css.js +24 -0
  140. package/dist/esm/cms-fields/components/media-image/overlays/overlay.st.css.js.map +1 -0
  141. package/dist/esm/cms-fields/components/media-image/overlays/types.js +2 -0
  142. package/dist/esm/cms-fields/components/media-image/overlays/types.js.map +1 -0
  143. package/dist/esm/cms-fields/components/media-image/overlays/video-indicator-overlay.js +18 -0
  144. package/dist/esm/cms-fields/components/media-image/overlays/video-indicator-overlay.js.map +1 -0
  145. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js +3 -3
  146. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -1
  147. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +2 -2
  148. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -1
  149. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  150. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  151. package/dist/esm/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  152. 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
  153. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  154. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  155. 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
  156. 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
  157. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  158. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  159. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  160. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  161. 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
  162. 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
  163. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
  164. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  165. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  166. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  167. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  168. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  169. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  170. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  171. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  172. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  173. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  174. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  175. package/dist/esm/cms-fields/components/text/text-view.st.css.js +3 -3
  176. package/dist/esm/cms-fields/components/text/text-view.st.css.js.map +1 -1
  177. package/dist/esm/cms-fields/components/video/index.js +2 -0
  178. package/dist/esm/cms-fields/components/video/index.js.map +1 -0
  179. package/dist/esm/cms-fields/components/video/video-view.js +30 -0
  180. package/dist/esm/cms-fields/components/video/video-view.js.map +1 -0
  181. package/dist/esm/cms-fields/validations/video.js +17 -0
  182. package/dist/esm/cms-fields/validations/video.js.map +1 -0
  183. package/dist/esm/components/fields/DateInput.js +1 -0
  184. package/dist/esm/components/fields/DateInput.js.map +1 -1
  185. package/dist/esm/components/fields/ImageInput.js +8 -4
  186. package/dist/esm/components/fields/ImageInput.js.map +1 -1
  187. package/dist/esm/components/fields/ImageViewField.js +33 -0
  188. package/dist/esm/components/fields/ImageViewField.js.map +1 -0
  189. package/dist/esm/components/fields/Video.js +189 -0
  190. package/dist/esm/components/fields/Video.js.map +1 -0
  191. package/dist/esm/components/fields/VideoViewField.js +94 -0
  192. package/dist/esm/components/fields/VideoViewField.js.map +1 -0
  193. package/dist/esm/components/fields/index.js +3 -0
  194. package/dist/esm/components/fields/index.js.map +1 -1
  195. package/dist/esm/components/fields/mediaConstants.js +15 -0
  196. package/dist/esm/components/fields/mediaConstants.js.map +1 -0
  197. package/dist/esm/components/fields/useVideoPreview.js +75 -0
  198. package/dist/esm/components/fields/useVideoPreview.js.map +1 -0
  199. package/dist/esm/components/layouts/ContentCardSkeleton.js +81 -0
  200. package/dist/esm/components/layouts/ContentCardSkeleton.js.map +1 -0
  201. package/dist/esm/components/layouts/ContentSkeleton.js +3 -3
  202. package/dist/esm/components/layouts/ContentSkeleton.js.map +1 -1
  203. package/dist/esm/components/layouts/FormField.js +2 -1
  204. package/dist/esm/components/layouts/FormField.js.map +1 -1
  205. package/dist/esm/components/layouts/ViewField.js +49 -54
  206. package/dist/esm/components/layouts/ViewField.js.map +1 -1
  207. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +1 -0
  208. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  209. package/dist/esm/hooks/useColumns.js +14 -4
  210. package/dist/esm/hooks/useColumns.js.map +1 -1
  211. package/dist/esm/services/translations.js.map +1 -1
  212. package/dist/esm/styles.global.css +1 -1
  213. package/dist/esm/types/CollectionPageConfig.js.map +1 -1
  214. package/dist/esm/types/SchemaConfig.js.map +1 -1
  215. package/dist/esm/utils/filterCreators.js +3 -1
  216. package/dist/esm/utils/filterCreators.js.map +1 -1
  217. package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.st.css.d.ts.map +1 -1
  218. package/dist/types/cms-fields/components/color-view/color-view.st.css.d.ts.map +1 -1
  219. package/dist/types/cms-fields/components/index.d.ts +1 -0
  220. package/dist/types/cms-fields/components/index.d.ts.map +1 -1
  221. package/dist/types/cms-fields/components/media-control/paste-url-button.st.css.d.ts.map +1 -1
  222. package/dist/types/cms-fields/components/media-gallery/form-media-gallery-field.st.css.d.ts.map +1 -1
  223. package/dist/types/cms-fields/components/media-gallery/media-gallery-dialog/use-add-link-modal.d.ts +1 -1
  224. package/dist/types/cms-fields/components/media-image/media-image.st.css.d.ts.map +1 -1
  225. package/dist/types/cms-fields/components/media-image/overlays/index.d.ts +3 -0
  226. package/dist/types/cms-fields/components/media-image/overlays/index.d.ts.map +1 -0
  227. package/dist/types/cms-fields/components/media-image/overlays/overlay.st.css.d.ts +19 -0
  228. package/dist/types/cms-fields/components/media-image/overlays/overlay.st.css.d.ts.map +1 -0
  229. package/dist/types/cms-fields/components/media-image/overlays/types.d.ts +10 -0
  230. package/dist/types/cms-fields/components/media-image/overlays/types.d.ts.map +1 -0
  231. package/dist/types/cms-fields/components/media-image/overlays/video-indicator-overlay.d.ts +4 -0
  232. package/dist/types/cms-fields/components/media-image/overlays/video-indicator-overlay.d.ts.map +1 -0
  233. package/dist/types/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.d.ts.map +1 -1
  234. 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
  235. package/dist/types/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.d.ts.map +1 -1
  236. package/dist/types/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.d.ts.map +1 -1
  237. package/dist/types/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.d.ts.map +1 -1
  238. package/dist/types/cms-fields/components/text/text-view.st.css.d.ts.map +1 -1
  239. package/dist/types/cms-fields/components/video/index.d.ts +3 -0
  240. package/dist/types/cms-fields/components/video/index.d.ts.map +1 -0
  241. package/dist/types/cms-fields/components/video/video-view.d.ts +9 -0
  242. package/dist/types/cms-fields/components/video/video-view.d.ts.map +1 -0
  243. package/dist/types/cms-fields/validations/video.d.ts +3 -0
  244. package/dist/types/cms-fields/validations/video.d.ts.map +1 -0
  245. package/dist/types/components/fields/DateInput.d.ts.map +1 -1
  246. package/dist/types/components/fields/ImageInput.d.ts.map +1 -1
  247. package/dist/types/components/fields/ImageViewField.d.ts +8 -0
  248. package/dist/types/components/fields/ImageViewField.d.ts.map +1 -0
  249. package/dist/types/components/fields/Video.d.ts +6 -0
  250. package/dist/types/components/fields/Video.d.ts.map +1 -0
  251. package/dist/types/components/fields/VideoViewField.d.ts +8 -0
  252. package/dist/types/components/fields/VideoViewField.d.ts.map +1 -0
  253. package/dist/types/components/fields/index.d.ts +3 -0
  254. package/dist/types/components/fields/index.d.ts.map +1 -1
  255. package/dist/types/components/fields/mediaConstants.d.ts +12 -0
  256. package/dist/types/components/fields/mediaConstants.d.ts.map +1 -0
  257. package/dist/types/components/fields/useVideoPreview.d.ts +12 -0
  258. package/dist/types/components/fields/useVideoPreview.d.ts.map +1 -0
  259. package/dist/types/components/layouts/ContentCardSkeleton.d.ts +11 -0
  260. package/dist/types/components/layouts/ContentCardSkeleton.d.ts.map +1 -0
  261. package/dist/types/components/layouts/FormField.d.ts.map +1 -1
  262. package/dist/types/components/layouts/ViewField.d.ts +1 -1
  263. package/dist/types/components/layouts/ViewField.d.ts.map +1 -1
  264. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
  265. package/dist/types/hooks/useColumns.d.ts.map +1 -1
  266. package/dist/types/services/translations.d.ts +1 -1
  267. package/dist/types/services/translations.d.ts.map +1 -1
  268. package/dist/types/types/CollectionPageConfig.d.ts +10 -0
  269. package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
  270. package/dist/types/types/SchemaConfig.d.ts +1 -1
  271. package/dist/types/types/SchemaConfig.d.ts.map +1 -1
  272. package/dist/types/utils/filterCreators.d.ts +2 -0
  273. package/dist/types/utils/filterCreators.d.ts.map +1 -1
  274. package/mcp-docs/app_config_structure.md +4 -0
  275. package/mcp-docs/auto-patterns-guide.md +4 -0
  276. package/package.json +2 -2
@@ -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":"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","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
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","Card","Cell","Layout","SettingsPage","EntityPage","useAutoPatternsOverridesContext","SkeletonCardLayout","_ref","_content$container$ch","content","level","sectionId","cardIndex","contentIndex","overrides","type","container","children","length","createElement","span","map","child","index","key","_overrides$components","component","componentId","Component","components","form","undefined","entity","ContentCardSkeleton","_ref2","_layout$card$subtitle","layout","minHeight","Header","title","card","text","subtitle","Divider","Content"],"sources":["../../../../src/components/layouts/ContentCardSkeleton.tsx"],"sourcesContent":["import React from 'react';\nimport { Card, Cell, Layout } from '@wix/design-system';\nimport { SettingsPage, EntityPage } from '@wix/patterns';\nimport { CardLayout, LayoutContent } from '../../types';\nimport { useAutoPatternsOverridesContext } from '../../providers';\nimport { ContentCardType } from './types';\n\nexport interface ContentCardSkeletonProps {\n type?: ContentCardType;\n layout: CardLayout;\n sectionId: string;\n cardIndex: number;\n}\n\nconst SkeletonCardLayout: React.FC<{\n content: LayoutContent;\n level: number;\n sectionId: string;\n cardIndex: number;\n contentIndex: number;\n}> = ({ content, level, sectionId, cardIndex, contentIndex }) => {\n const overrides = useAutoPatternsOverridesContext();\n\n switch (content.type) {\n case 'field':\n return null;\n\n case 'container':\n if (!content.container.children?.length) {\n return null;\n }\n\n return (\n <Cell span={content.container.span}>\n <Layout>\n {content.container.children.map((child, index) => (\n <SkeletonCardLayout\n key={`${sectionId}-card-${cardIndex}-content-${contentIndex}-level-${level}-child-${index}`}\n content={child}\n level={level + 1}\n sectionId={sectionId}\n cardIndex={cardIndex}\n contentIndex={index}\n />\n ))}\n </Layout>\n </Cell>\n );\n\n case 'component': {\n if (!content.component.componentId) {\n return null;\n }\n\n const Component = overrides?.components?.[content.component.componentId];\n if (!Component) {\n return null;\n }\n\n return (\n <Cell span={content.component.span}>\n <Component form={undefined} entity={undefined as any} />\n </Cell>\n );\n }\n\n default:\n return null;\n }\n};\n\nexport const ContentCardSkeleton: React.FC<ContentCardSkeletonProps> = ({\n type = 'entity',\n layout,\n sectionId,\n cardIndex,\n}) => {\n const Component = type === 'settings' ? SettingsPage : EntityPage;\n\n switch (layout.type) {\n case 'card':\n return (\n <Component.Card minHeight=\"50px\">\n <Card.Header\n title={layout.card.title.text}\n subtitle={layout.card.subtitle?.text}\n />\n <Card.Divider />\n <Card.Content>\n <Layout>\n {layout.card.children.map((child, index: number) => (\n <SkeletonCardLayout\n key={`${sectionId}-card-${cardIndex}-content-${index}`}\n content={child}\n level={0}\n sectionId={sectionId}\n cardIndex={cardIndex}\n contentIndex={index}\n />\n ))}\n </Layout>\n </Card.Content>\n </Component.Card>\n );\n default:\n return null;\n }\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import { SettingsPage, EntityPage, useSettingsPage, useEntityPage } from '@wix/patterns';
3
3
  import { useForm } from '@wix/patterns/form';
4
- import { ContentCard } from './ContentCard';
4
+ import { ContentCardSkeleton } from './ContentCardSkeleton';
5
5
  export const ContentSkeleton = _ref => {
6
6
  var _pageConfig$layout, _pageConfig$layout2, _pageConfig$layout$si;
7
7
  let {
@@ -30,13 +30,13 @@ export const ContentSkeleton = _ref => {
30
30
  title: {
31
31
  text: ''
32
32
  }
33
- }), /*#__PURE__*/React.createElement(Component.Content, null, /*#__PURE__*/React.createElement(Component.MainContent, null, (_pageConfig$layout = pageConfig.layout) == null || (_pageConfig$layout = _pageConfig$layout.main) == null ? void 0 : _pageConfig$layout.map((layout, layoutIndex) => /*#__PURE__*/React.createElement(ContentCard, {
33
+ }), /*#__PURE__*/React.createElement(Component.Content, null, /*#__PURE__*/React.createElement(Component.MainContent, null, (_pageConfig$layout = pageConfig.layout) == null || (_pageConfig$layout = _pageConfig$layout.main) == null ? void 0 : _pageConfig$layout.map((layout, layoutIndex) => /*#__PURE__*/React.createElement(ContentCardSkeleton, {
34
34
  key: `main-section-card-${layoutIndex}`,
35
35
  type: type,
36
36
  layout: layout,
37
37
  sectionId: "main",
38
38
  cardIndex: layoutIndex
39
- }))), (_pageConfig$layout2 = pageConfig.layout) != null && _pageConfig$layout2.sidebar ? /*#__PURE__*/React.createElement(Component.AdditionalContent, null, (_pageConfig$layout$si = pageConfig.layout.sidebar) == null ? void 0 : _pageConfig$layout$si.map((layout, layoutIndex) => /*#__PURE__*/React.createElement(ContentCard, {
39
+ }))), (_pageConfig$layout2 = pageConfig.layout) != null && _pageConfig$layout2.sidebar ? /*#__PURE__*/React.createElement(Component.AdditionalContent, null, (_pageConfig$layout$si = pageConfig.layout.sidebar) == null ? void 0 : _pageConfig$layout$si.map((layout, layoutIndex) => /*#__PURE__*/React.createElement(ContentCardSkeleton, {
40
40
  key: `sidebar-section-card-${layoutIndex}`,
41
41
  type: type,
42
42
  layout: layout,
@@ -1 +1 @@
1
- {"version":3,"names":["React","SettingsPage","EntityPage","useSettingsPage","useEntityPage","useForm","ContentCard","ContentSkeleton","_ref","_pageConfig$layout","_pageConfig$layout2","_pageConfig$layout$si","type","pageConfig","Component","form","settingsState","onSave","onCancel","fetch","Promise","entityState","parentPath","updatedEntity","createElement","state","Header","title","text","Content","MainContent","layout","main","map","layoutIndex","key","sectionId","cardIndex","sidebar","AdditionalContent"],"sources":["../../../../src/components/layouts/ContentSkeleton.tsx"],"sourcesContent":["import React from 'react';\nimport {\n SettingsPage,\n EntityPage,\n useSettingsPage,\n useEntityPage,\n} from '@wix/patterns';\nimport { useForm } from '@wix/patterns/form';\nimport { EntityPageConfig, SettingsPageConfig } from '../../types';\nimport { ContentCard } from './ContentCard';\nimport { ContentCardType } from './types';\n\nexport interface ContentSkeletonProps {\n type?: ContentCardType;\n pageConfig: SettingsPageConfig | EntityPageConfig;\n}\n\nexport const ContentSkeleton = ({\n type = 'entity',\n pageConfig,\n}: ContentSkeletonProps) => {\n const Component = type === 'settings' ? SettingsPage : EntityPage;\n const form = useForm();\n\n const settingsState = useSettingsPage<any, any>({\n form,\n onSave: async () => {},\n onCancel: async () => {},\n fetch: async () => new Promise(() => {}),\n });\n\n const entityState = useEntityPage<any, any>({\n parentPath: '',\n form,\n onSave: async () => ({ updatedEntity: {} }),\n fetch: async () => new Promise(() => {}),\n });\n\n return (\n <Component\n state={type === 'settings' ? settingsState : (entityState as any)}\n >\n <Component.Header title={{ text: '' }} />\n <Component.Content>\n <Component.MainContent>\n {pageConfig.layout?.main?.map((layout, layoutIndex) => (\n <ContentCard\n key={`main-section-card-${layoutIndex}`}\n type={type}\n layout={layout}\n sectionId=\"main\"\n cardIndex={layoutIndex}\n />\n ))}\n </Component.MainContent>\n {pageConfig.layout?.sidebar ? (\n <Component.AdditionalContent>\n {pageConfig.layout.sidebar?.map((layout, layoutIndex) => (\n <ContentCard\n key={`sidebar-section-card-${layoutIndex}`}\n type={type}\n layout={layout}\n sectionId=\"sidebar\"\n cardIndex={layoutIndex}\n />\n ))}\n </Component.AdditionalContent>\n ) : null}\n </Component.Content>\n </Component>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,YAAY,EACZC,UAAU,EACVC,eAAe,EACfC,aAAa,QACR,eAAe;AACtB,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,SAASC,WAAW,QAAQ,eAAe;AAQ3C,OAAO,MAAMC,eAAe,GAAGC,IAAA,IAGH;EAAA,IAAAC,kBAAA,EAAAC,mBAAA,EAAAC,qBAAA;EAAA,IAHI;IAC9BC,IAAI,GAAG,QAAQ;IACfC;EACoB,CAAC,GAAAL,IAAA;EACrB,MAAMM,SAAS,GAAGF,IAAI,KAAK,UAAU,GAAGX,YAAY,GAAGC,UAAU;EACjE,MAAMa,IAAI,GAAGV,OAAO,CAAC,CAAC;EAEtB,MAAMW,aAAa,GAAGb,eAAe,CAAW;IAC9CY,IAAI;IACJE,MAAM,EAAE,MAAAA,CAAA,KAAY,CAAC,CAAC;IACtBC,QAAQ,EAAE,MAAAA,CAAA,KAAY,CAAC,CAAC;IACxBC,KAAK,EAAE,MAAAA,CAAA,KAAY,IAAIC,OAAO,CAAC,MAAM,CAAC,CAAC;EACzC,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAGjB,aAAa,CAAW;IAC1CkB,UAAU,EAAE,EAAE;IACdP,IAAI;IACJE,MAAM,EAAE,MAAAA,CAAA,MAAa;MAAEM,aAAa,EAAE,CAAC;IAAE,CAAC,CAAC;IAC3CJ,KAAK,EAAE,MAAAA,CAAA,KAAY,IAAIC,OAAO,CAAC,MAAM,CAAC,CAAC;EACzC,CAAC,CAAC;EAEF,oBACEpB,KAAA,CAAAwB,aAAA,CAACV,SAAS;IACRW,KAAK,EAAEb,IAAI,KAAK,UAAU,GAAGI,aAAa,GAAIK;EAAoB,gBAElErB,KAAA,CAAAwB,aAAA,CAACV,SAAS,CAACY,MAAM;IAACC,KAAK,EAAE;MAAEC,IAAI,EAAE;IAAG;EAAE,CAAE,CAAC,eACzC5B,KAAA,CAAAwB,aAAA,CAACV,SAAS,CAACe,OAAO,qBAChB7B,KAAA,CAAAwB,aAAA,CAACV,SAAS,CAACgB,WAAW,SAAArB,kBAAA,GACnBI,UAAU,CAACkB,MAAM,cAAAtB,kBAAA,GAAjBA,kBAAA,CAAmBuB,IAAI,qBAAvBvB,kBAAA,CAAyBwB,GAAG,CAAC,CAACF,MAAM,EAAEG,WAAW,kBAChDlC,KAAA,CAAAwB,aAAA,CAAClB,WAAW;IACV6B,GAAG,EAAE,qBAAqBD,WAAW,EAAG;IACxCtB,IAAI,EAAEA,IAAK;IACXmB,MAAM,EAAEA,MAAO;IACfK,SAAS,EAAC,MAAM;IAChBC,SAAS,EAAEH;EAAY,CACxB,CACF,CACoB,CAAC,EACvB,CAAAxB,mBAAA,GAAAG,UAAU,CAACkB,MAAM,aAAjBrB,mBAAA,CAAmB4B,OAAO,gBACzBtC,KAAA,CAAAwB,aAAA,CAACV,SAAS,CAACyB,iBAAiB,SAAA5B,qBAAA,GACzBE,UAAU,CAACkB,MAAM,CAACO,OAAO,qBAAzB3B,qBAAA,CAA2BsB,GAAG,CAAC,CAACF,MAAM,EAAEG,WAAW,kBAClDlC,KAAA,CAAAwB,aAAA,CAAClB,WAAW;IACV6B,GAAG,EAAE,wBAAwBD,WAAW,EAAG;IAC3CtB,IAAI,EAAEA,IAAK;IACXmB,MAAM,EAAEA,MAAO;IACfK,SAAS,EAAC,SAAS;IACnBC,SAAS,EAAEH;EAAY,CACxB,CACF,CAC0B,CAAC,GAC5B,IACa,CACV,CAAC;AAEhB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","SettingsPage","EntityPage","useSettingsPage","useEntityPage","useForm","ContentCardSkeleton","ContentSkeleton","_ref","_pageConfig$layout","_pageConfig$layout2","_pageConfig$layout$si","type","pageConfig","Component","form","settingsState","onSave","onCancel","fetch","Promise","entityState","parentPath","updatedEntity","createElement","state","Header","title","text","Content","MainContent","layout","main","map","layoutIndex","key","sectionId","cardIndex","sidebar","AdditionalContent"],"sources":["../../../../src/components/layouts/ContentSkeleton.tsx"],"sourcesContent":["import React from 'react';\nimport {\n SettingsPage,\n EntityPage,\n useSettingsPage,\n useEntityPage,\n} from '@wix/patterns';\nimport { useForm } from '@wix/patterns/form';\nimport { EntityPageConfig, SettingsPageConfig } from '../../types';\nimport { ContentCardSkeleton } from './ContentCardSkeleton';\nimport { ContentCardType } from './types';\n\nexport interface ContentSkeletonProps {\n type?: ContentCardType;\n pageConfig: SettingsPageConfig | EntityPageConfig;\n}\n\nexport const ContentSkeleton = ({\n type = 'entity',\n pageConfig,\n}: ContentSkeletonProps) => {\n const Component = type === 'settings' ? SettingsPage : EntityPage;\n const form = useForm();\n\n const settingsState = useSettingsPage<any, any>({\n form,\n onSave: async () => {},\n onCancel: async () => {},\n fetch: async () => new Promise(() => {}),\n });\n\n const entityState = useEntityPage<any, any>({\n parentPath: '',\n form,\n onSave: async () => ({ updatedEntity: {} }),\n fetch: async () => new Promise(() => {}),\n });\n\n return (\n <Component\n state={type === 'settings' ? settingsState : (entityState as any)}\n >\n <Component.Header title={{ text: '' }} />\n <Component.Content>\n <Component.MainContent>\n {pageConfig.layout?.main?.map((layout, layoutIndex) => (\n <ContentCardSkeleton\n key={`main-section-card-${layoutIndex}`}\n type={type}\n layout={layout}\n sectionId=\"main\"\n cardIndex={layoutIndex}\n />\n ))}\n </Component.MainContent>\n {pageConfig.layout?.sidebar ? (\n <Component.AdditionalContent>\n {pageConfig.layout.sidebar?.map((layout, layoutIndex) => (\n <ContentCardSkeleton\n key={`sidebar-section-card-${layoutIndex}`}\n type={type}\n layout={layout}\n sectionId=\"sidebar\"\n cardIndex={layoutIndex}\n />\n ))}\n </Component.AdditionalContent>\n ) : null}\n </Component.Content>\n </Component>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SACEC,YAAY,EACZC,UAAU,EACVC,eAAe,EACfC,aAAa,QACR,eAAe;AACtB,SAASC,OAAO,QAAQ,oBAAoB;AAE5C,SAASC,mBAAmB,QAAQ,uBAAuB;AAQ3D,OAAO,MAAMC,eAAe,GAAGC,IAAA,IAGH;EAAA,IAAAC,kBAAA,EAAAC,mBAAA,EAAAC,qBAAA;EAAA,IAHI;IAC9BC,IAAI,GAAG,QAAQ;IACfC;EACoB,CAAC,GAAAL,IAAA;EACrB,MAAMM,SAAS,GAAGF,IAAI,KAAK,UAAU,GAAGX,YAAY,GAAGC,UAAU;EACjE,MAAMa,IAAI,GAAGV,OAAO,CAAC,CAAC;EAEtB,MAAMW,aAAa,GAAGb,eAAe,CAAW;IAC9CY,IAAI;IACJE,MAAM,EAAE,MAAAA,CAAA,KAAY,CAAC,CAAC;IACtBC,QAAQ,EAAE,MAAAA,CAAA,KAAY,CAAC,CAAC;IACxBC,KAAK,EAAE,MAAAA,CAAA,KAAY,IAAIC,OAAO,CAAC,MAAM,CAAC,CAAC;EACzC,CAAC,CAAC;EAEF,MAAMC,WAAW,GAAGjB,aAAa,CAAW;IAC1CkB,UAAU,EAAE,EAAE;IACdP,IAAI;IACJE,MAAM,EAAE,MAAAA,CAAA,MAAa;MAAEM,aAAa,EAAE,CAAC;IAAE,CAAC,CAAC;IAC3CJ,KAAK,EAAE,MAAAA,CAAA,KAAY,IAAIC,OAAO,CAAC,MAAM,CAAC,CAAC;EACzC,CAAC,CAAC;EAEF,oBACEpB,KAAA,CAAAwB,aAAA,CAACV,SAAS;IACRW,KAAK,EAAEb,IAAI,KAAK,UAAU,GAAGI,aAAa,GAAIK;EAAoB,gBAElErB,KAAA,CAAAwB,aAAA,CAACV,SAAS,CAACY,MAAM;IAACC,KAAK,EAAE;MAAEC,IAAI,EAAE;IAAG;EAAE,CAAE,CAAC,eACzC5B,KAAA,CAAAwB,aAAA,CAACV,SAAS,CAACe,OAAO,qBAChB7B,KAAA,CAAAwB,aAAA,CAACV,SAAS,CAACgB,WAAW,SAAArB,kBAAA,GACnBI,UAAU,CAACkB,MAAM,cAAAtB,kBAAA,GAAjBA,kBAAA,CAAmBuB,IAAI,qBAAvBvB,kBAAA,CAAyBwB,GAAG,CAAC,CAACF,MAAM,EAAEG,WAAW,kBAChDlC,KAAA,CAAAwB,aAAA,CAAClB,mBAAmB;IAClB6B,GAAG,EAAE,qBAAqBD,WAAW,EAAG;IACxCtB,IAAI,EAAEA,IAAK;IACXmB,MAAM,EAAEA,MAAO;IACfK,SAAS,EAAC,MAAM;IAChBC,SAAS,EAAEH;EAAY,CACxB,CACF,CACoB,CAAC,EACvB,CAAAxB,mBAAA,GAAAG,UAAU,CAACkB,MAAM,aAAjBrB,mBAAA,CAAmB4B,OAAO,gBACzBtC,KAAA,CAAAwB,aAAA,CAACV,SAAS,CAACyB,iBAAiB,SAAA5B,qBAAA,GACzBE,UAAU,CAACkB,MAAM,CAACO,OAAO,qBAAzB3B,qBAAA,CAA2BsB,GAAG,CAAC,CAACF,MAAM,EAAEG,WAAW,kBAClDlC,KAAA,CAAAwB,aAAA,CAAClB,mBAAmB;IAClB6B,GAAG,EAAE,wBAAwBD,WAAW,EAAG;IAC3CtB,IAAI,EAAEA,IAAK;IACXmB,MAAM,EAAEA,MAAO;IACfK,SAAS,EAAC,SAAS;IACnBC,SAAS,EAAEH;EAAY,CACxB,CACF,CAC0B,CAAC,GAC5B,IACa,CACV,CAAC;AAEhB,CAAC","ignoreList":[]}
@@ -1,6 +1,6 @@
1
1
  import React from 'react';
2
2
  import { useController } from '@wix/patterns/form';
3
- import { Audio, ShortText, LongText, Checkbox, Color, DateInput, DateTime, Time, Number, Url, Email, ImageInput, Reference, Object, Address, RichContent, RichText, Document, MultiDocument, MultiReference, MediaGallery, Array } from '../fields';
3
+ import { Audio, ShortText, LongText, Checkbox, Color, DateInput, DateTime, Time, Number, Url, Email, ImageInput, Reference, Object, Address, RichContent, RichText, Document, MultiDocument, MultiReference, Video, MediaGallery, Array } from '../fields';
4
4
  export const EDITABLE_INPUT_ELEMENTS = {
5
5
  AUDIO: Audio,
6
6
  SHORT_TEXT: ShortText,
@@ -12,6 +12,7 @@ export const EDITABLE_INPUT_ELEMENTS = {
12
12
  NUMBER: Number,
13
13
  URL: Url,
14
14
  IMAGE: ImageInput,
15
+ VIDEO: Video,
15
16
  REFERENCE: Reference,
16
17
  MULTI_REFERENCE: MultiReference,
17
18
  OBJECT: Object,
@@ -1 +1 @@
1
- {"version":3,"names":["React","useController","Audio","ShortText","LongText","Checkbox","Color","DateInput","DateTime","Time","Number","Url","Email","ImageInput","Reference","Object","Address","RichContent","RichText","Document","MultiDocument","MultiReference","MediaGallery","Array","EDITABLE_INPUT_ELEMENTS","AUDIO","SHORT_TEXT","LONG_TEXT","BOOLEAN","DATE","DATETIME","TIME","NUMBER","URL","IMAGE","REFERENCE","MULTI_REFERENCE","OBJECT","ARRAY","ADDRESS","RICH_CONTENT","RICH_TEXT","DOCUMENT","MULTI_DOCUMENT","EMAIL","MEDIA_GALLERY","COLOR","FormField","_ref","field","inputRef","formControl","data","controller","name","id","control","defaultValue","hasOwnProperty","type","FieldInput","createElement","value","onChange","dataHook"],"sources":["../../../../src/components/layouts/FormField.tsx"],"sourcesContent":["import React from 'react';\nimport { useController, Control } from '@wix/patterns/form';\nimport { Field, PatternsFieldType } from '../../types';\nimport {\n Audio,\n ShortText,\n LongText,\n Checkbox,\n Color,\n DateInput,\n DateTime,\n Time,\n Number,\n Url,\n Email,\n ImageInput,\n Reference,\n BaseInputProps,\n Object,\n Address,\n RichContent,\n RichText,\n Document,\n MultiDocument,\n MultiReference,\n MediaGallery,\n Array,\n} from '../fields';\n\nexport const EDITABLE_INPUT_ELEMENTS: Partial<\n Record<PatternsFieldType, React.ComponentType<any>>\n> = {\n AUDIO: Audio,\n SHORT_TEXT: ShortText,\n LONG_TEXT: LongText,\n BOOLEAN: Checkbox,\n DATE: DateInput,\n DATETIME: DateTime,\n TIME: Time,\n NUMBER: Number,\n URL: Url,\n IMAGE: ImageInput,\n REFERENCE: Reference,\n MULTI_REFERENCE: MultiReference,\n OBJECT: Object,\n ARRAY: Array,\n ADDRESS: Address,\n RICH_CONTENT: RichContent,\n RICH_TEXT: RichText,\n DOCUMENT: Document,\n MULTI_DOCUMENT: MultiDocument,\n EMAIL: Email,\n MEDIA_GALLERY: MediaGallery,\n COLOR: Color,\n};\n\nexport interface FormFieldProps {\n field: Field;\n inputRef?: BaseInputProps<any>['inputRef'];\n formControl?: Control<any>;\n data?: Record<string, any>;\n}\n\nexport const FormField: React.FC<FormFieldProps> = ({\n field,\n inputRef,\n formControl,\n data,\n}) => {\n const controller = useController({\n name: field?.id ?? '',\n control: formControl,\n defaultValue: data?.[field?.id ?? ''],\n });\n\n if (!EDITABLE_INPUT_ELEMENTS.hasOwnProperty(field.type)) {\n return null;\n }\n\n const FieldInput = EDITABLE_INPUT_ELEMENTS[field.type]!;\n\n return (\n <FieldInput\n field={field}\n value={controller.field.value}\n onChange={controller.field.onChange}\n dataHook={`form-field-${field.id}`}\n inputRef={inputRef}\n formControl={formControl}\n data={data ?? {}}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,QAAiB,oBAAoB;AAE3D,SACEC,KAAK,EACLC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EACLC,SAAS,EACTC,QAAQ,EACRC,IAAI,EACJC,MAAM,EACNC,GAAG,EACHC,KAAK,EACLC,UAAU,EACVC,SAAS,EAETC,MAAM,EACNC,OAAO,EACPC,WAAW,EACXC,QAAQ,EACRC,QAAQ,EACRC,aAAa,EACbC,cAAc,EACdC,YAAY,EACZC,KAAK,QACA,WAAW;AAElB,OAAO,MAAMC,uBAEZ,GAAG;EACFC,KAAK,EAAEvB,KAAK;EACZwB,UAAU,EAAEvB,SAAS;EACrBwB,SAAS,EAAEvB,QAAQ;EACnBwB,OAAO,EAAEvB,QAAQ;EACjBwB,IAAI,EAAEtB,SAAS;EACfuB,QAAQ,EAAEtB,QAAQ;EAClBuB,IAAI,EAAEtB,IAAI;EACVuB,MAAM,EAAEtB,MAAM;EACduB,GAAG,EAAEtB,GAAG;EACRuB,KAAK,EAAErB,UAAU;EACjBsB,SAAS,EAAErB,SAAS;EACpBsB,eAAe,EAAEf,cAAc;EAC/BgB,MAAM,EAAEtB,MAAM;EACduB,KAAK,EAAEf,KAAK;EACZgB,OAAO,EAAEvB,OAAO;EAChBwB,YAAY,EAAEvB,WAAW;EACzBwB,SAAS,EAAEvB,QAAQ;EACnBwB,QAAQ,EAAEvB,QAAQ;EAClBwB,cAAc,EAAEvB,aAAa;EAC7BwB,KAAK,EAAEhC,KAAK;EACZiC,aAAa,EAAEvB,YAAY;EAC3BwB,KAAK,EAAExC;AACT,CAAC;AASD,OAAO,MAAMyC,SAAmC,GAAGC,IAAA,IAK7C;EAAA,IAL8C;IAClDC,KAAK;IACLC,QAAQ;IACRC,WAAW;IACXC;EACF,CAAC,GAAAJ,IAAA;EACC,MAAMK,UAAU,GAAGpD,aAAa,CAAC;IAC/BqD,IAAI,EAAE,CAAAL,KAAK,oBAALA,KAAK,CAAEM,EAAE,KAAI,EAAE;IACrBC,OAAO,EAAEL,WAAW;IACpBM,YAAY,EAAEL,IAAI,oBAAJA,IAAI,CAAG,CAAAH,KAAK,oBAALA,KAAK,CAAEM,EAAE,KAAI,EAAE;EACtC,CAAC,CAAC;EAEF,IAAI,CAAC/B,uBAAuB,CAACkC,cAAc,CAACT,KAAK,CAACU,IAAI,CAAC,EAAE;IACvD,OAAO,IAAI;EACb;EAEA,MAAMC,UAAU,GAAGpC,uBAAuB,CAACyB,KAAK,CAACU,IAAI,CAAE;EAEvD,oBACE3D,KAAA,CAAA6D,aAAA,CAACD,UAAU;IACTX,KAAK,EAAEA,KAAM;IACba,KAAK,EAAET,UAAU,CAACJ,KAAK,CAACa,KAAM;IAC9BC,QAAQ,EAAEV,UAAU,CAACJ,KAAK,CAACc,QAAS;IACpCC,QAAQ,EAAE,cAAcf,KAAK,CAACM,EAAE,EAAG;IACnCL,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA,WAAY;IACzBC,IAAI,EAAEA,IAAI,IAAI,CAAC;EAAE,CAClB,CAAC;AAEN,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useController","Audio","ShortText","LongText","Checkbox","Color","DateInput","DateTime","Time","Number","Url","Email","ImageInput","Reference","Object","Address","RichContent","RichText","Document","MultiDocument","MultiReference","Video","MediaGallery","Array","EDITABLE_INPUT_ELEMENTS","AUDIO","SHORT_TEXT","LONG_TEXT","BOOLEAN","DATE","DATETIME","TIME","NUMBER","URL","IMAGE","VIDEO","REFERENCE","MULTI_REFERENCE","OBJECT","ARRAY","ADDRESS","RICH_CONTENT","RICH_TEXT","DOCUMENT","MULTI_DOCUMENT","EMAIL","MEDIA_GALLERY","COLOR","FormField","_ref","field","inputRef","formControl","data","controller","name","id","control","defaultValue","hasOwnProperty","type","FieldInput","createElement","value","onChange","dataHook"],"sources":["../../../../src/components/layouts/FormField.tsx"],"sourcesContent":["import React from 'react';\nimport { useController, Control } from '@wix/patterns/form';\nimport { Field, PatternsFieldType } from '../../types';\nimport {\n Audio,\n ShortText,\n LongText,\n Checkbox,\n Color,\n DateInput,\n DateTime,\n Time,\n Number,\n Url,\n Email,\n ImageInput,\n Reference,\n BaseInputProps,\n Object,\n Address,\n RichContent,\n RichText,\n Document,\n MultiDocument,\n MultiReference,\n Video,\n MediaGallery,\n Array,\n} from '../fields';\n\nexport const EDITABLE_INPUT_ELEMENTS: Partial<\n Record<PatternsFieldType, React.ComponentType<any>>\n> = {\n AUDIO: Audio,\n SHORT_TEXT: ShortText,\n LONG_TEXT: LongText,\n BOOLEAN: Checkbox,\n DATE: DateInput,\n DATETIME: DateTime,\n TIME: Time,\n NUMBER: Number,\n URL: Url,\n IMAGE: ImageInput,\n VIDEO: Video,\n REFERENCE: Reference,\n MULTI_REFERENCE: MultiReference,\n OBJECT: Object,\n ARRAY: Array,\n ADDRESS: Address,\n RICH_CONTENT: RichContent,\n RICH_TEXT: RichText,\n DOCUMENT: Document,\n MULTI_DOCUMENT: MultiDocument,\n EMAIL: Email,\n MEDIA_GALLERY: MediaGallery,\n COLOR: Color,\n};\n\nexport interface FormFieldProps {\n field: Field;\n inputRef?: BaseInputProps<any>['inputRef'];\n formControl?: Control<any>;\n data?: Record<string, any>;\n}\n\nexport const FormField: React.FC<FormFieldProps> = ({\n field,\n inputRef,\n formControl,\n data,\n}) => {\n const controller = useController({\n name: field?.id ?? '',\n control: formControl,\n defaultValue: data?.[field?.id ?? ''],\n });\n\n if (!EDITABLE_INPUT_ELEMENTS.hasOwnProperty(field.type)) {\n return null;\n }\n\n const FieldInput = EDITABLE_INPUT_ELEMENTS[field.type]!;\n\n return (\n <FieldInput\n field={field}\n value={controller.field.value}\n onChange={controller.field.onChange}\n dataHook={`form-field-${field.id}`}\n inputRef={inputRef}\n formControl={formControl}\n data={data ?? {}}\n />\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,aAAa,QAAiB,oBAAoB;AAE3D,SACEC,KAAK,EACLC,SAAS,EACTC,QAAQ,EACRC,QAAQ,EACRC,KAAK,EACLC,SAAS,EACTC,QAAQ,EACRC,IAAI,EACJC,MAAM,EACNC,GAAG,EACHC,KAAK,EACLC,UAAU,EACVC,SAAS,EAETC,MAAM,EACNC,OAAO,EACPC,WAAW,EACXC,QAAQ,EACRC,QAAQ,EACRC,aAAa,EACbC,cAAc,EACdC,KAAK,EACLC,YAAY,EACZC,KAAK,QACA,WAAW;AAElB,OAAO,MAAMC,uBAEZ,GAAG;EACFC,KAAK,EAAExB,KAAK;EACZyB,UAAU,EAAExB,SAAS;EACrByB,SAAS,EAAExB,QAAQ;EACnByB,OAAO,EAAExB,QAAQ;EACjByB,IAAI,EAAEvB,SAAS;EACfwB,QAAQ,EAAEvB,QAAQ;EAClBwB,IAAI,EAAEvB,IAAI;EACVwB,MAAM,EAAEvB,MAAM;EACdwB,GAAG,EAAEvB,GAAG;EACRwB,KAAK,EAAEtB,UAAU;EACjBuB,KAAK,EAAEd,KAAK;EACZe,SAAS,EAAEvB,SAAS;EACpBwB,eAAe,EAAEjB,cAAc;EAC/BkB,MAAM,EAAExB,MAAM;EACdyB,KAAK,EAAEhB,KAAK;EACZiB,OAAO,EAAEzB,OAAO;EAChB0B,YAAY,EAAEzB,WAAW;EACzB0B,SAAS,EAAEzB,QAAQ;EACnB0B,QAAQ,EAAEzB,QAAQ;EAClB0B,cAAc,EAAEzB,aAAa;EAC7B0B,KAAK,EAAElC,KAAK;EACZmC,aAAa,EAAExB,YAAY;EAC3ByB,KAAK,EAAE1C;AACT,CAAC;AASD,OAAO,MAAM2C,SAAmC,GAAGC,IAAA,IAK7C;EAAA,IAL8C;IAClDC,KAAK;IACLC,QAAQ;IACRC,WAAW;IACXC;EACF,CAAC,GAAAJ,IAAA;EACC,MAAMK,UAAU,GAAGtD,aAAa,CAAC;IAC/BuD,IAAI,EAAE,CAAAL,KAAK,oBAALA,KAAK,CAAEM,EAAE,KAAI,EAAE;IACrBC,OAAO,EAAEL,WAAW;IACpBM,YAAY,EAAEL,IAAI,oBAAJA,IAAI,CAAG,CAAAH,KAAK,oBAALA,KAAK,CAAEM,EAAE,KAAI,EAAE;EACtC,CAAC,CAAC;EAEF,IAAI,CAAChC,uBAAuB,CAACmC,cAAc,CAACT,KAAK,CAACU,IAAI,CAAC,EAAE;IACvD,OAAO,IAAI;EACb;EAEA,MAAMC,UAAU,GAAGrC,uBAAuB,CAAC0B,KAAK,CAACU,IAAI,CAAE;EAEvD,oBACE7D,KAAA,CAAA+D,aAAA,CAACD,UAAU;IACTX,KAAK,EAAEA,KAAM;IACba,KAAK,EAAET,UAAU,CAACJ,KAAK,CAACa,KAAM;IAC9BC,QAAQ,EAAEV,UAAU,CAACJ,KAAK,CAACc,QAAS;IACpCC,QAAQ,EAAE,cAAcf,KAAK,CAACM,EAAE,EAAG;IACnCL,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA,WAAY;IACzBC,IAAI,EAAEA,IAAI,IAAI,CAAC;EAAE,CAClB,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -1,6 +1,8 @@
1
1
  import React from 'react';
2
2
  import { Box, Text } from '@wix/design-system';
3
3
  import { ReferenceViewField } from '../ReferenceViewField';
4
+ import { ImageViewField } from '../fields/ImageViewField';
5
+ import { VideoViewField } from '../fields/VideoViewField';
4
6
  import { AudioView } from '../../cms-fields/components/audio/audio-field/audio-view';
5
7
  import { DocumentView } from '../../cms-fields/components/document/document-view';
6
8
  import { MultiDocumentView } from '../../cms-fields/components/multi-document/multi-document-view/multi-document-view';
@@ -31,60 +33,56 @@ const getDisplayValue = value => {
31
33
  }
32
34
  return String(value);
33
35
  };
34
- const isEmptyValue = value => {
35
- if (value === null || value === undefined) {
36
- return true;
37
- }
38
- if (Array.isArray(value) && value.length === 0) {
39
- return true;
40
- }
41
- return false;
42
- };
43
- const ViewFieldContent = _ref => {
44
- let {
45
- field,
46
- value
47
- } = _ref;
48
- if (isEmptyValue(value)) {
49
- return /*#__PURE__*/React.createElement(Text, null, "-");
50
- }
51
- switch (field.type) {
52
- case 'REFERENCE':
53
- return /*#__PURE__*/React.createElement(ReferenceViewField, {
54
- field: field,
55
- value: value
56
- });
57
- case 'MULTI_REFERENCE':
58
- return /*#__PURE__*/React.createElement(MultiReferenceViewField, {
59
- field: field,
60
- value: value
61
- });
62
- case 'AUDIO':
63
- return /*#__PURE__*/React.createElement(AudioView, {
64
- data: value
65
- });
66
- case 'DOCUMENT':
67
- return /*#__PURE__*/React.createElement(DocumentView, {
68
- data: value
69
- });
70
- case 'MULTI_DOCUMENT':
71
- return /*#__PURE__*/React.createElement(MultiDocumentView, {
72
- data: value
73
- });
74
- case 'ADDRESS':
75
- return /*#__PURE__*/React.createElement(AddressView, {
76
- data: value
77
- });
78
- default:
79
- return /*#__PURE__*/React.createElement(Text, null, getDisplayValue(value));
80
- }
81
- };
82
- export const ViewField = _ref2 => {
36
+ export const ViewField = _ref => {
83
37
  let {
84
38
  field,
85
39
  data
86
- } = _ref2;
40
+ } = _ref;
87
41
  const fieldValue = data == null ? void 0 : data[(field == null ? void 0 : field.id) ?? ''];
42
+ const renderContent = () => {
43
+ switch (field.type) {
44
+ case 'REFERENCE':
45
+ return /*#__PURE__*/React.createElement(ReferenceViewField, {
46
+ field: field,
47
+ value: fieldValue
48
+ });
49
+ case 'MULTI_REFERENCE':
50
+ return /*#__PURE__*/React.createElement(MultiReferenceViewField, {
51
+ field: field,
52
+ value: fieldValue
53
+ });
54
+ case 'IMAGE':
55
+ return /*#__PURE__*/React.createElement(ImageViewField, {
56
+ value: fieldValue,
57
+ displayName: field.displayName,
58
+ id: field.id
59
+ });
60
+ case 'VIDEO':
61
+ return /*#__PURE__*/React.createElement(VideoViewField, {
62
+ value: fieldValue,
63
+ displayName: field.displayName,
64
+ id: field.id
65
+ });
66
+ case 'AUDIO':
67
+ return /*#__PURE__*/React.createElement(AudioView, {
68
+ data: fieldValue
69
+ });
70
+ case 'DOCUMENT':
71
+ return /*#__PURE__*/React.createElement(DocumentView, {
72
+ data: fieldValue
73
+ });
74
+ case 'MULTI_DOCUMENT':
75
+ return /*#__PURE__*/React.createElement(MultiDocumentView, {
76
+ data: fieldValue
77
+ });
78
+ case 'ADDRESS':
79
+ return /*#__PURE__*/React.createElement(AddressView, {
80
+ data: fieldValue
81
+ });
82
+ default:
83
+ return /*#__PURE__*/React.createElement(Text, null, getDisplayValue(fieldValue));
84
+ }
85
+ };
88
86
  return /*#__PURE__*/React.createElement(Box, {
89
87
  direction: "vertical",
90
88
  gap: "4px",
@@ -92,9 +90,6 @@ export const ViewField = _ref2 => {
92
90
  }, /*#__PURE__*/React.createElement(Text, {
93
91
  size: "small",
94
92
  secondary: true
95
- }, field.displayName || field.id), /*#__PURE__*/React.createElement(ViewFieldContent, {
96
- field: field,
97
- value: fieldValue
98
- }));
93
+ }, field.displayName || field.id), renderContent());
99
94
  };
100
95
  //# sourceMappingURL=ViewField.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","Box","Text","ReferenceViewField","AudioView","DocumentView","MultiDocumentView","MultiReferenceViewField","AddressView","getDisplayValue","value","undefined","String","Array","isArray","length","join","Date","toLocaleDateString","toString","Object","prototype","JSON","stringify","isEmptyValue","ViewFieldContent","_ref","field","createElement","type","data","ViewField","_ref2","fieldValue","id","direction","gap","dataHook","size","secondary","displayName"],"sources":["../../../../src/components/layouts/ViewField.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Text } from '@wix/design-system';\nimport { Field } from '../../types';\nimport { ReferenceViewField } from '../ReferenceViewField';\nimport { AudioView } from '../../cms-fields/components/audio/audio-field/audio-view';\nimport { DocumentView } from '../../cms-fields/components/document/document-view';\nimport { MultiDocumentView } from '../../cms-fields/components/multi-document/multi-document-view/multi-document-view';\nimport { MultiReferenceViewField } from '../MultiReferenceViewField';\nimport { AddressView } from '../../cms-fields/components/address';\nimport { Address } from '../../cms-fields/types/address';\n\n// Safe display value conversion for all field types\nconst getDisplayValue = (value: any): string => {\n if (value === null || value === undefined) {\n return '-';\n }\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return String(value);\n }\n if (Array.isArray(value)) {\n return value.length > 0 ? value.join(', ') : '-';\n }\n if (typeof value === 'object') {\n // Handle dates\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n // Handle objects with display properties\n if (value.toString && value.toString !== Object.prototype.toString) {\n return value.toString();\n }\n // Fallback for complex objects\n return JSON.stringify(value);\n }\n return String(value);\n};\n\nconst isEmptyValue = (value: any): boolean => {\n if (value === null || value === undefined) {\n return true;\n }\n if (Array.isArray(value) && value.length === 0) {\n return true;\n }\n return false;\n};\n\ninterface ViewFieldContentProps {\n field: Field;\n value: unknown;\n}\n\nconst ViewFieldContent: React.FC<ViewFieldContentProps> = ({\n field,\n value,\n}) => {\n if (isEmptyValue(value)) {\n return <Text>-</Text>;\n }\n\n switch (field.type) {\n case 'REFERENCE':\n return <ReferenceViewField field={field} value={value} />;\n case 'MULTI_REFERENCE':\n return <MultiReferenceViewField field={field} value={value} />;\n case 'AUDIO':\n return <AudioView data={value as string} />;\n case 'DOCUMENT':\n return <DocumentView data={value as string} />;\n case 'MULTI_DOCUMENT':\n return <MultiDocumentView data={value as string[]} />;\n case 'ADDRESS':\n return <AddressView data={value as Address} />;\n default:\n return <Text>{getDisplayValue(value)}</Text>;\n }\n};\n\nexport interface ViewFieldProps {\n field: Field;\n data?: Record<string, any>;\n}\n\nexport const ViewField: React.FC<ViewFieldProps> = ({ field, data }) => {\n const fieldValue = data?.[field?.id ?? ''];\n\n return (\n <Box direction=\"vertical\" gap=\"4px\" dataHook={`view-field-${field.id}`}>\n <Text size=\"small\" secondary>\n {field.displayName || field.id}\n </Text>\n <ViewFieldContent field={field} value={fieldValue} />\n </Box>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","Box","Text","ReferenceViewField","ImageViewField","VideoViewField","AudioView","DocumentView","MultiDocumentView","MultiReferenceViewField","AddressView","getDisplayValue","value","undefined","String","Array","isArray","length","join","Date","toLocaleDateString","toString","Object","prototype","JSON","stringify","ViewField","_ref","field","data","fieldValue","id","renderContent","type","createElement","displayName","direction","gap","dataHook","size","secondary"],"sources":["../../../../src/components/layouts/ViewField.tsx"],"sourcesContent":["import React from 'react';\nimport { Box, Text } from '@wix/design-system';\nimport { Field } from '../../types';\nimport { ReferenceViewField } from '../ReferenceViewField';\nimport { ImageViewField } from '../fields/ImageViewField';\nimport { VideoViewField } from '../fields/VideoViewField';\nimport { AudioView } from '../../cms-fields/components/audio/audio-field/audio-view';\nimport { DocumentView } from '../../cms-fields/components/document/document-view';\nimport { MultiDocumentView } from '../../cms-fields/components/multi-document/multi-document-view/multi-document-view';\nimport { MultiReferenceViewField } from '../MultiReferenceViewField';\nimport { AddressView } from '../../cms-fields/components/address';\nimport { Address } from '../../cms-fields/types/address';\n\n// Safe display value conversion for all field types\nconst getDisplayValue = (value: unknown): string => {\n if (value === null || value === undefined) {\n return '-';\n }\n if (\n typeof value === 'string' ||\n typeof value === 'number' ||\n typeof value === 'boolean'\n ) {\n return String(value);\n }\n if (Array.isArray(value)) {\n return value.length > 0 ? value.join(', ') : '-';\n }\n if (typeof value === 'object') {\n // Handle dates\n if (value instanceof Date) {\n return value.toLocaleDateString();\n }\n // Handle objects with display properties\n if (\n value.toString &&\n value.toString !== Object.prototype.toString\n ) {\n return value.toString();\n }\n // Fallback for complex objects\n return JSON.stringify(value);\n }\n return String(value);\n};\n\nexport interface ViewFieldProps {\n field: Field;\n data?: Record<string, unknown>;\n}\n\nexport const ViewField: React.FC<ViewFieldProps> = ({ field, data }) => {\n const fieldValue = data?.[field?.id ?? ''];\n\n const renderContent = () => {\n switch (field.type) {\n case 'REFERENCE':\n return <ReferenceViewField field={field} value={fieldValue} />;\n case 'MULTI_REFERENCE':\n return <MultiReferenceViewField field={field} value={fieldValue} />;\n case 'IMAGE':\n return (\n <ImageViewField\n value={fieldValue}\n displayName={field.displayName}\n id={field.id}\n />\n );\n case 'VIDEO':\n return (\n <VideoViewField\n value={fieldValue}\n displayName={field.displayName}\n id={field.id}\n />\n );\n case 'AUDIO':\n return <AudioView data={fieldValue as string} />;\n case 'DOCUMENT':\n return <DocumentView data={fieldValue as string} />;\n case 'MULTI_DOCUMENT':\n return <MultiDocumentView data={fieldValue as string[]} />;\n case 'ADDRESS':\n return <AddressView data={fieldValue as Address} />;\n default:\n return <Text>{getDisplayValue(fieldValue)}</Text>;\n }\n };\n\n return (\n <Box direction=\"vertical\" gap=\"4px\" dataHook={`view-field-${field.id}`}>\n <Text size=\"small\" secondary>\n {field.displayName || field.id}\n </Text>\n {renderContent()}\n </Box>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -24,6 +24,7 @@ export const CmsFieldTypeToPatternsFieldType = {
24
24
  [collections.Type.REFERENCE]: 'REFERENCE',
25
25
  [collections.Type.MULTI_REFERENCE]: 'MULTI_REFERENCE',
26
26
  [collections.Type.IMAGE]: 'IMAGE',
27
+ [collections.Type.VIDEO]: 'VIDEO',
27
28
  [collections.Type.MEDIA_GALLERY]: 'MEDIA_GALLERY',
28
29
  [collections.Type.DOCUMENT]: 'DOCUMENT',
29
30
  [collections.Type.ARRAY_DOCUMENT]: 'MULTI_DOCUMENT',
@@ -1 +1 @@
1
- {"version":3,"names":["collections","items","fetchCmsData","errorHandler","createCmsBackupConfig","CMS_EMAIL_TYPE","CmsFieldTypeToPatternsFieldType","Type","TEXT","DATE","DATETIME","TIME","NUMBER","BOOLEAN","URL","ADDRESS","OBJECT","RICH_TEXT","RICH_CONTENT","ARRAY","ARRAY_STRING","REFERENCE","MULTI_REFERENCE","IMAGE","MEDIA_GALLERY","DOCUMENT","ARRAY_DOCUMENT","AUDIO","LEGACY_COLOR","fetchCmsSchema","collectionId","schema","withErrorHandler","getDataCollection","getReferenceFields","fields","Object","values","filter","f","type","updateMultiReferences","entityId","entity","multiReferenceFields","Promise","all","map","field","rawValue","id","multipleReferenceValues","multipleReferenceIds","value","_id","replaceReferences","transformCmsSchema","transformedFields","reduce","acc","_field$capabilities","_field$capabilities2","_field$typeMetadata","_field$typeMetadata2","key","fieldType","baseField","displayName","validation","numberRange","min","undefined","max","stringLengthRange","minLength","maxLength","required","capabilities","supportedQueryOperators","queryOperators","sortable","referencedCollectionId","typeMetadata","reference","multiReference","isReference","referenceMetadata","referenceFields","allReferenceFieldIds","schemaConfig","displayField","idField","actions","get","dataQuery","query","eq","length","include","res","find","returnTotalCount","Error","create","created","insert","createdId","update","delete","remove","bulkDelete","entityIds","bulkRemove","options","backup","bulkInsert","entities","inserted","updated","errors","succeeded","failed","e","rowIndex","originalIndex","message","code"],"sources":["../../../../src/dataSourceAdapters/cms/cmsAdapter.ts"],"sourcesContent":["import { Field, PatternsFieldType, SchemaConfig } from '../../types';\nimport { collections, items } from '@wix/data';\nimport { fetchCmsData } from './fetchCmsData';\nimport { errorHandler } from '@wix/essentials';\nimport { createCmsBackupConfig } from './cmsBackup';\n\n// The CMS backend returns 'EMAIL' as a field type but the @wix/data SDK\n// doesn't expose it in collections.Type. We use a string literal as a workaround until the SDK is updated.\n// TODO: remove this once the SDK is updated\nconst CMS_EMAIL_TYPE = 'EMAIL' as collections.Type;\n\nexport const CmsFieldTypeToPatternsFieldType: Partial<\n Record<collections.Type, PatternsFieldType>\n> = {\n [collections.Type.TEXT]: 'SHORT_TEXT',\n [collections.Type.DATE]: 'DATE',\n [collections.Type.DATETIME]: 'DATETIME',\n [collections.Type.TIME]: 'TIME',\n [collections.Type.NUMBER]: 'NUMBER',\n [collections.Type.BOOLEAN]: 'BOOLEAN',\n [collections.Type.URL]: 'URL',\n [collections.Type.ADDRESS]: 'ADDRESS',\n [collections.Type.OBJECT]: 'OBJECT',\n [collections.Type.RICH_TEXT]: 'RICH_TEXT',\n [collections.Type.RICH_CONTENT]: 'RICH_CONTENT',\n [collections.Type.ARRAY]: 'ARRAY',\n [collections.Type.ARRAY_STRING]: 'ARRAY',\n [collections.Type.REFERENCE]: 'REFERENCE',\n [collections.Type.MULTI_REFERENCE]: 'MULTI_REFERENCE',\n [collections.Type.IMAGE]: 'IMAGE',\n [collections.Type.MEDIA_GALLERY]: 'MEDIA_GALLERY',\n [collections.Type.DOCUMENT]: 'DOCUMENT',\n [collections.Type.ARRAY_DOCUMENT]: 'MULTI_DOCUMENT',\n [collections.Type.AUDIO]: 'AUDIO',\n [CMS_EMAIL_TYPE]: 'EMAIL',\n [collections.Type.LEGACY_COLOR]: 'COLOR',\n};\n\nexport async function fetchCmsSchema(\n collectionId: string,\n): Promise<collections.DataCollection> {\n const schema = await errorHandler.withErrorHandler(\n async () => collections.getDataCollection(collectionId),\n {},\n );\n return schema;\n}\n\nconst getReferenceFields = (fields: Record<string, Field>) =>\n Object.values(fields).filter(\n (f): f is Field => f?.type === 'REFERENCE' || f?.type === 'MULTI_REFERENCE',\n );\n\nconst updateMultiReferences = async (\n collectionId: string,\n entityId: string,\n entity: Record<string, any>,\n multiReferenceFields: Field[],\n) => {\n await Promise.all(\n multiReferenceFields.map(async (field) => {\n const rawValue = entity[field.id];\n const multipleReferenceValues = rawValue as Record<string, unknown>[];\n const multipleReferenceIds = multipleReferenceValues.map(\n (value) => value._id as string,\n );\n\n await items.replaceReferences(\n collectionId,\n field.id,\n entityId,\n multipleReferenceIds,\n );\n }),\n );\n};\n\nexport function transformCmsSchema(\n schema: collections.DataCollection,\n): SchemaConfig {\n const collectionId = schema._id as string;\n\n const transformedFields = (schema.fields || []).reduce<Record<string, Field>>(\n (acc, field) => {\n if (!field.key) {\n return acc;\n }\n\n const fieldType = field.type\n ? CmsFieldTypeToPatternsFieldType[field.type] || 'SHORT_TEXT'\n : 'SHORT_TEXT';\n const baseField = {\n id: field.key,\n displayName: field.displayName || '',\n validation: {\n numberRange: field.numberRange\n ? {\n min: field.numberRange.min ?? undefined,\n max: field.numberRange.max ?? undefined,\n }\n : undefined,\n stringLengthRange: field.stringLengthRange\n ? {\n minLength: field.stringLengthRange.minLength ?? undefined,\n maxLength: field.stringLengthRange.maxLength ?? undefined,\n }\n : undefined,\n required: field.required ?? false,\n },\n capabilities: {\n supportedQueryOperators: field.capabilities?.queryOperators || [],\n sortable: field.capabilities?.sortable || false,\n },\n };\n\n const referencedCollectionId =\n field.typeMetadata?.reference?.referencedCollectionId ??\n field.typeMetadata?.multiReference?.referencedCollectionId;\n\n const isReference =\n fieldType === 'REFERENCE' || fieldType === 'MULTI_REFERENCE';\n\n if (isReference && referencedCollectionId) {\n acc[field.key] = {\n ...baseField,\n type: fieldType as 'REFERENCE' | 'MULTI_REFERENCE',\n referenceMetadata: { referencedCollectionId },\n };\n } else {\n acc[field.key] = {\n ...baseField,\n type: isReference ? 'SHORT_TEXT' : fieldType,\n };\n }\n\n return acc;\n },\n {},\n );\n\n const referenceFields = getReferenceFields(transformedFields);\n const multiReferenceFields = referenceFields.filter(\n (f) => f.type === 'MULTI_REFERENCE',\n );\n const allReferenceFieldIds = referenceFields.map((f) => f.id);\n\n const schemaConfig: SchemaConfig = {\n id: collectionId,\n displayField: schema.displayField ?? '_id',\n idField: '_id',\n fields: transformedFields,\n actions: {\n get: async (entityId: string) => {\n let dataQuery = items.query(collectionId).eq('_id', entityId);\n if (allReferenceFieldIds.length > 0) {\n dataQuery = dataQuery.include(...allReferenceFieldIds);\n }\n\n const res = await dataQuery.find({ returnTotalCount: false });\n const entity = res.items[0];\n\n if (!entity) {\n throw new Error(`Entity not found: ${entityId}`);\n }\n\n return entity;\n },\n\n create: async (entity) => {\n const created = await items.insert(collectionId, entity);\n const createdId = created._id as string;\n\n if (createdId) {\n await updateMultiReferences(\n collectionId,\n createdId,\n entity as Record<string, unknown>,\n multiReferenceFields,\n );\n }\n\n return { ...entity, _id: createdId };\n },\n\n update: async (entity) => {\n await items.update(\n collectionId,\n entity as typeof entity & { _id: string },\n );\n\n const entityId = entity._id as string;\n\n if (entityId) {\n await updateMultiReferences(\n collectionId,\n entityId,\n entity,\n multiReferenceFields,\n );\n }\n\n return entity;\n },\n\n delete: (entityId) => items.remove(collectionId, entityId),\n bulkDelete: (entityIds) => items.bulkRemove(collectionId, entityIds),\n\n find: async (\n query,\n options: {\n searchableFieldIds?: string[];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n } = {},\n ) => {\n return fetchCmsData(collectionId, query, transformedFields, options);\n },\n backup: createCmsBackupConfig(),\n bulkInsert: async (entities) => {\n const { inserted, updated, errors } =\n await errorHandler.withErrorHandler(\n async () => items.bulkInsert(collectionId, entities),\n {},\n );\n\n return {\n succeeded: inserted + updated,\n failed: errors.length,\n errors: errors.map((e) => ({\n rowIndex: e.originalIndex,\n message: e.message,\n code: e.code,\n })),\n };\n },\n },\n };\n\n return schemaConfig;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["collections","items","fetchCmsData","errorHandler","createCmsBackupConfig","CMS_EMAIL_TYPE","CmsFieldTypeToPatternsFieldType","Type","TEXT","DATE","DATETIME","TIME","NUMBER","BOOLEAN","URL","ADDRESS","OBJECT","RICH_TEXT","RICH_CONTENT","ARRAY","ARRAY_STRING","REFERENCE","MULTI_REFERENCE","IMAGE","VIDEO","MEDIA_GALLERY","DOCUMENT","ARRAY_DOCUMENT","AUDIO","LEGACY_COLOR","fetchCmsSchema","collectionId","schema","withErrorHandler","getDataCollection","getReferenceFields","fields","Object","values","filter","f","type","updateMultiReferences","entityId","entity","multiReferenceFields","Promise","all","map","field","rawValue","id","multipleReferenceValues","multipleReferenceIds","value","_id","replaceReferences","transformCmsSchema","transformedFields","reduce","acc","_field$capabilities","_field$capabilities2","_field$typeMetadata","_field$typeMetadata2","key","fieldType","baseField","displayName","validation","numberRange","min","undefined","max","stringLengthRange","minLength","maxLength","required","capabilities","supportedQueryOperators","queryOperators","sortable","referencedCollectionId","typeMetadata","reference","multiReference","isReference","referenceMetadata","referenceFields","allReferenceFieldIds","schemaConfig","displayField","idField","actions","get","dataQuery","query","eq","length","include","res","find","returnTotalCount","Error","create","created","insert","createdId","update","delete","remove","bulkDelete","entityIds","bulkRemove","options","backup","bulkInsert","entities","inserted","updated","errors","succeeded","failed","e","rowIndex","originalIndex","message","code"],"sources":["../../../../src/dataSourceAdapters/cms/cmsAdapter.ts"],"sourcesContent":["import { Field, PatternsFieldType, SchemaConfig } from '../../types';\nimport { collections, items } from '@wix/data';\nimport { fetchCmsData } from './fetchCmsData';\nimport { errorHandler } from '@wix/essentials';\nimport { createCmsBackupConfig } from './cmsBackup';\n\n// The CMS backend returns 'EMAIL' as a field type but the @wix/data SDK\n// doesn't expose it in collections.Type. We use a string literal as a workaround until the SDK is updated.\n// TODO: remove this once the SDK is updated\nconst CMS_EMAIL_TYPE = 'EMAIL' as collections.Type;\n\nexport const CmsFieldTypeToPatternsFieldType: Partial<\n Record<collections.Type, PatternsFieldType>\n> = {\n [collections.Type.TEXT]: 'SHORT_TEXT',\n [collections.Type.DATE]: 'DATE',\n [collections.Type.DATETIME]: 'DATETIME',\n [collections.Type.TIME]: 'TIME',\n [collections.Type.NUMBER]: 'NUMBER',\n [collections.Type.BOOLEAN]: 'BOOLEAN',\n [collections.Type.URL]: 'URL',\n [collections.Type.ADDRESS]: 'ADDRESS',\n [collections.Type.OBJECT]: 'OBJECT',\n [collections.Type.RICH_TEXT]: 'RICH_TEXT',\n [collections.Type.RICH_CONTENT]: 'RICH_CONTENT',\n [collections.Type.ARRAY]: 'ARRAY',\n [collections.Type.ARRAY_STRING]: 'ARRAY',\n [collections.Type.REFERENCE]: 'REFERENCE',\n [collections.Type.MULTI_REFERENCE]: 'MULTI_REFERENCE',\n [collections.Type.IMAGE]: 'IMAGE',\n [collections.Type.VIDEO]: 'VIDEO',\n [collections.Type.MEDIA_GALLERY]: 'MEDIA_GALLERY',\n [collections.Type.DOCUMENT]: 'DOCUMENT',\n [collections.Type.ARRAY_DOCUMENT]: 'MULTI_DOCUMENT',\n [collections.Type.AUDIO]: 'AUDIO',\n [CMS_EMAIL_TYPE]: 'EMAIL',\n [collections.Type.LEGACY_COLOR]: 'COLOR',\n};\n\nexport async function fetchCmsSchema(\n collectionId: string,\n): Promise<collections.DataCollection> {\n const schema = await errorHandler.withErrorHandler(\n async () => collections.getDataCollection(collectionId),\n {},\n );\n return schema;\n}\n\nconst getReferenceFields = (fields: Record<string, Field>) =>\n Object.values(fields).filter(\n (f): f is Field => f?.type === 'REFERENCE' || f?.type === 'MULTI_REFERENCE',\n );\n\nconst updateMultiReferences = async (\n collectionId: string,\n entityId: string,\n entity: Record<string, any>,\n multiReferenceFields: Field[],\n) => {\n await Promise.all(\n multiReferenceFields.map(async (field) => {\n const rawValue = entity[field.id];\n const multipleReferenceValues = rawValue as Record<string, unknown>[];\n const multipleReferenceIds = multipleReferenceValues.map(\n (value) => value._id as string,\n );\n\n await items.replaceReferences(\n collectionId,\n field.id,\n entityId,\n multipleReferenceIds,\n );\n }),\n );\n};\n\nexport function transformCmsSchema(\n schema: collections.DataCollection,\n): SchemaConfig {\n const collectionId = schema._id as string;\n\n const transformedFields = (schema.fields || []).reduce<Record<string, Field>>(\n (acc, field) => {\n if (!field.key) {\n return acc;\n }\n\n const fieldType = field.type\n ? CmsFieldTypeToPatternsFieldType[field.type] || 'SHORT_TEXT'\n : 'SHORT_TEXT';\n const baseField = {\n id: field.key,\n displayName: field.displayName || '',\n validation: {\n numberRange: field.numberRange\n ? {\n min: field.numberRange.min ?? undefined,\n max: field.numberRange.max ?? undefined,\n }\n : undefined,\n stringLengthRange: field.stringLengthRange\n ? {\n minLength: field.stringLengthRange.minLength ?? undefined,\n maxLength: field.stringLengthRange.maxLength ?? undefined,\n }\n : undefined,\n required: field.required ?? false,\n },\n capabilities: {\n supportedQueryOperators: field.capabilities?.queryOperators || [],\n sortable: field.capabilities?.sortable || false,\n },\n };\n\n const referencedCollectionId =\n field.typeMetadata?.reference?.referencedCollectionId ??\n field.typeMetadata?.multiReference?.referencedCollectionId;\n\n const isReference =\n fieldType === 'REFERENCE' || fieldType === 'MULTI_REFERENCE';\n\n if (isReference && referencedCollectionId) {\n acc[field.key] = {\n ...baseField,\n type: fieldType as 'REFERENCE' | 'MULTI_REFERENCE',\n referenceMetadata: { referencedCollectionId },\n };\n } else {\n acc[field.key] = {\n ...baseField,\n type: isReference ? 'SHORT_TEXT' : fieldType,\n };\n }\n\n return acc;\n },\n {},\n );\n\n const referenceFields = getReferenceFields(transformedFields);\n const multiReferenceFields = referenceFields.filter(\n (f) => f.type === 'MULTI_REFERENCE',\n );\n const allReferenceFieldIds = referenceFields.map((f) => f.id);\n\n const schemaConfig: SchemaConfig = {\n id: collectionId,\n displayField: schema.displayField ?? '_id',\n idField: '_id',\n fields: transformedFields,\n actions: {\n get: async (entityId: string) => {\n let dataQuery = items.query(collectionId).eq('_id', entityId);\n if (allReferenceFieldIds.length > 0) {\n dataQuery = dataQuery.include(...allReferenceFieldIds);\n }\n\n const res = await dataQuery.find({ returnTotalCount: false });\n const entity = res.items[0];\n\n if (!entity) {\n throw new Error(`Entity not found: ${entityId}`);\n }\n\n return entity;\n },\n\n create: async (entity) => {\n const created = await items.insert(collectionId, entity);\n const createdId = created._id as string;\n\n if (createdId) {\n await updateMultiReferences(\n collectionId,\n createdId,\n entity as Record<string, unknown>,\n multiReferenceFields,\n );\n }\n\n return { ...entity, _id: createdId };\n },\n\n update: async (entity) => {\n await items.update(\n collectionId,\n entity as typeof entity & { _id: string },\n );\n\n const entityId = entity._id as string;\n\n if (entityId) {\n await updateMultiReferences(\n collectionId,\n entityId,\n entity,\n multiReferenceFields,\n );\n }\n\n return entity;\n },\n\n delete: (entityId) => items.remove(collectionId, entityId),\n bulkDelete: (entityIds) => items.bulkRemove(collectionId, entityIds),\n\n find: async (\n query,\n options: {\n searchableFieldIds?: string[];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n } = {},\n ) => {\n return fetchCmsData(collectionId, query, transformedFields, options);\n },\n backup: createCmsBackupConfig(),\n bulkInsert: async (entities) => {\n const { inserted, updated, errors } =\n await errorHandler.withErrorHandler(\n async () => items.bulkInsert(collectionId, entities),\n {},\n );\n\n return {\n succeeded: inserted + updated,\n failed: errors.length,\n errors: errors.map((e) => ({\n rowIndex: e.originalIndex,\n message: e.message,\n code: e.code,\n })),\n };\n },\n },\n };\n\n return schemaConfig;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ import { useAutoPatternsOverridesContext, useSchema, useSchemaRegistry } from '.
3
3
  import { camelCase, get } from 'lodash';
4
4
  import { Box, Image } from '@wix/design-system';
5
5
  import { getImageUrl } from '../utils/media/getImageUrl';
6
- import { AddressView, AudioView, ColorView, JsonView, MediaGalleryView, RichTextView, TimeView, DocumentView, MultiDocumentView } from '../cms-fields';
6
+ import { AddressView, AudioView, ColorView, JsonView, MediaGalleryView, RichTextView, VideoView, TimeView, DocumentView, MultiDocumentView } from '../cms-fields';
7
7
  import { extractReferenceDisplayValues } from '../utils/schema';
8
8
  import { ReferenceAvatar } from '../components/ReferenceAvatar';
9
9
  import { LazyRichContentView } from '../components/LazyRichContentView';
@@ -90,11 +90,16 @@ export const useColumns = columns => {
90
90
  return itemValue;
91
91
  case 'IMAGE':
92
92
  const imageUrl = getImageUrl(itemValue);
93
- return /*#__PURE__*/React.createElement(Image, {
93
+ return /*#__PURE__*/React.createElement(Box, {
94
+ verticalAlign: "middle",
95
+ height: "100%"
96
+ }, /*#__PURE__*/React.createElement(Image, {
94
97
  src: imageUrl,
95
- width: "48px",
98
+ height: "36px",
99
+ width: "54px",
100
+ fit: "cover",
96
101
  dataHook: "auto-patterns-image"
97
- });
102
+ }));
98
103
  case 'OBJECT':
99
104
  return /*#__PURE__*/React.createElement(JsonView, {
100
105
  data: itemValue
@@ -119,6 +124,11 @@ export const useColumns = columns => {
119
124
  return /*#__PURE__*/React.createElement(LazyRichContentView, {
120
125
  data: itemValue
121
126
  });
127
+ case 'VIDEO':
128
+ return /*#__PURE__*/React.createElement(VideoView, {
129
+ data: itemValue,
130
+ width: "54px"
131
+ });
122
132
  case 'MULTI_DOCUMENT':
123
133
  return /*#__PURE__*/React.createElement(MultiDocumentView, {
124
134
  data: itemValue