@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
@@ -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 } 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,9 +12,11 @@ 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,
19
+ ARRAY: Array,
18
20
  ADDRESS: Address,
19
21
  RICH_CONTENT: RichContent,
20
22
  RICH_TEXT: RichText,
@@ -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","EDITABLE_INPUT_ELEMENTS","AUDIO","SHORT_TEXT","LONG_TEXT","BOOLEAN","DATE","DATETIME","TIME","NUMBER","URL","IMAGE","REFERENCE","MULTI_REFERENCE","OBJECT","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} 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 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,QACP,WAAW;AAElB,OAAO,MAAMC,uBAEZ,GAAG;EACFC,KAAK,EAAEtB,KAAK;EACZuB,UAAU,EAAEtB,SAAS;EACrBuB,SAAS,EAAEtB,QAAQ;EACnBuB,OAAO,EAAEtB,QAAQ;EACjBuB,IAAI,EAAErB,SAAS;EACfsB,QAAQ,EAAErB,QAAQ;EAClBsB,IAAI,EAAErB,IAAI;EACVsB,MAAM,EAAErB,MAAM;EACdsB,GAAG,EAAErB,GAAG;EACRsB,KAAK,EAAEpB,UAAU;EACjBqB,SAAS,EAAEpB,SAAS;EACpBqB,eAAe,EAAEd,cAAc;EAC/Be,MAAM,EAAErB,MAAM;EACdsB,OAAO,EAAErB,OAAO;EAChBsB,YAAY,EAAErB,WAAW;EACzBsB,SAAS,EAAErB,QAAQ;EACnBsB,QAAQ,EAAErB,QAAQ;EAClBsB,cAAc,EAAErB,aAAa;EAC7BsB,KAAK,EAAE9B,KAAK;EACZ+B,aAAa,EAAErB,YAAY;EAC3BsB,KAAK,EAAEtC;AACT,CAAC;AASD,OAAO,MAAMuC,SAAmC,GAAGC,IAAA,IAK7C;EAAA,IAL8C;IAClDC,KAAK;IACLC,QAAQ;IACRC,WAAW;IACXC;EACF,CAAC,GAAAJ,IAAA;EACC,MAAMK,UAAU,GAAGlD,aAAa,CAAC;IAC/BmD,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,CAAC9B,uBAAuB,CAACiC,cAAc,CAACT,KAAK,CAACU,IAAI,CAAC,EAAE;IACvD,OAAO,IAAI;EACb;EAEA,MAAMC,UAAU,GAAGnC,uBAAuB,CAACwB,KAAK,CAACU,IAAI,CAAE;EAEvD,oBACEzD,KAAA,CAAA2D,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":"AACA,SAASA,WAAW,EAAEC,KAAK,QAAQ,WAAW;AAC9C,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,YAAY,QAAQ,iBAAiB;AAC9C,SAASC,qBAAqB,QAAQ,aAAa;;AAEnD;AACA;AACA;AACA,MAAMC,cAAc,GAAG,OAA2B;AAElD,OAAO,MAAMC,+BAEZ,GAAG;EACF,CAACN,WAAW,CAACO,IAAI,CAACC,IAAI,GAAG,YAAY;EACrC,CAACR,WAAW,CAACO,IAAI,CAACE,IAAI,GAAG,MAAM;EAC/B,CAACT,WAAW,CAACO,IAAI,CAACG,QAAQ,GAAG,UAAU;EACvC,CAACV,WAAW,CAACO,IAAI,CAACI,IAAI,GAAG,MAAM;EAC/B,CAACX,WAAW,CAACO,IAAI,CAACK,MAAM,GAAG,QAAQ;EACnC,CAACZ,WAAW,CAACO,IAAI,CAACM,OAAO,GAAG,SAAS;EACrC,CAACb,WAAW,CAACO,IAAI,CAACO,GAAG,GAAG,KAAK;EAC7B,CAACd,WAAW,CAACO,IAAI,CAACQ,OAAO,GAAG,SAAS;EACrC,CAACf,WAAW,CAACO,IAAI,CAACS,MAAM,GAAG,QAAQ;EACnC,CAAChB,WAAW,CAACO,IAAI,CAACU,SAAS,GAAG,WAAW;EACzC,CAACjB,WAAW,CAACO,IAAI,CAACW,YAAY,GAAG,cAAc;EAC/C,CAAClB,WAAW,CAACO,IAAI,CAACY,KAAK,GAAG,OAAO;EACjC,CAACnB,WAAW,CAACO,IAAI,CAACa,YAAY,GAAG,OAAO;EACxC,CAACpB,WAAW,CAACO,IAAI,CAACc,SAAS,GAAG,WAAW;EACzC,CAACrB,WAAW,CAACO,IAAI,CAACe,eAAe,GAAG,iBAAiB;EACrD,CAACtB,WAAW,CAACO,IAAI,CAACgB,KAAK,GAAG,OAAO;EACjC,CAACvB,WAAW,CAACO,IAAI,CAACiB,aAAa,GAAG,eAAe;EACjD,CAACxB,WAAW,CAACO,IAAI,CAACkB,QAAQ,GAAG,UAAU;EACvC,CAACzB,WAAW,CAACO,IAAI,CAACmB,cAAc,GAAG,gBAAgB;EACnD,CAAC1B,WAAW,CAACO,IAAI,CAACoB,KAAK,GAAG,OAAO;EACjC,CAACtB,cAAc,GAAG,OAAO;EACzB,CAACL,WAAW,CAACO,IAAI,CAACqB,YAAY,GAAG;AACnC,CAAC;AAED,OAAO,eAAeC,cAAcA,CAClCC,YAAoB,EACiB;EACrC,MAAMC,MAAM,GAAG,MAAM5B,YAAY,CAAC6B,gBAAgB,CAChD,YAAYhC,WAAW,CAACiC,iBAAiB,CAACH,YAAY,CAAC,EACvD,CAAC,CACH,CAAC;EACD,OAAOC,MAAM;AACf;AAEA,MAAMG,kBAAkB,GAAIC,MAA6B,IACvDC,MAAM,CAACC,MAAM,CAACF,MAAM,CAAC,CAACG,MAAM,CACzBC,CAAC,IAAiB,CAAAA,CAAC,oBAADA,CAAC,CAAEC,IAAI,MAAK,WAAW,IAAI,CAAAD,CAAC,oBAADA,CAAC,CAAEC,IAAI,MAAK,iBAC5D,CAAC;AAEH,MAAMC,qBAAqB,GAAG,MAAAA,CAC5BX,YAAoB,EACpBY,QAAgB,EAChBC,MAA2B,EAC3BC,oBAA6B,KAC1B;EACH,MAAMC,OAAO,CAACC,GAAG,CACfF,oBAAoB,CAACG,GAAG,CAAC,MAAOC,KAAK,IAAK;IACxC,MAAMC,QAAQ,GAAGN,MAAM,CAACK,KAAK,CAACE,EAAE,CAAC;IACjC,MAAMC,uBAAuB,GAAGF,QAAqC;IACrE,MAAMG,oBAAoB,GAAGD,uBAAuB,CAACJ,GAAG,CACrDM,KAAK,IAAKA,KAAK,CAACC,GACnB,CAAC;IAED,MAAMrD,KAAK,CAACsD,iBAAiB,CAC3BzB,YAAY,EACZkB,KAAK,CAACE,EAAE,EACRR,QAAQ,EACRU,oBACF,CAAC;EACH,CAAC,CACH,CAAC;AACH,CAAC;AAED,OAAO,SAASI,kBAAkBA,CAChCzB,MAAkC,EACpB;EACd,MAAMD,YAAY,GAAGC,MAAM,CAACuB,GAAa;EAEzC,MAAMG,iBAAiB,GAAG,CAAC1B,MAAM,CAACI,MAAM,IAAI,EAAE,EAAEuB,MAAM,CACpD,CAACC,GAAG,EAAEX,KAAK,KAAK;IAAA,IAAAY,mBAAA,EAAAC,oBAAA,EAAAC,mBAAA,EAAAC,oBAAA;IACd,IAAI,CAACf,KAAK,CAACgB,GAAG,EAAE;MACd,OAAOL,GAAG;IACZ;IAEA,MAAMM,SAAS,GAAGjB,KAAK,CAACR,IAAI,GACxBlC,+BAA+B,CAAC0C,KAAK,CAACR,IAAI,CAAC,IAAI,YAAY,GAC3D,YAAY;IAChB,MAAM0B,SAAS,GAAG;MAChBhB,EAAE,EAAEF,KAAK,CAACgB,GAAG;MACbG,WAAW,EAAEnB,KAAK,CAACmB,WAAW,IAAI,EAAE;MACpCC,UAAU,EAAE;QACVC,WAAW,EAAErB,KAAK,CAACqB,WAAW,GAC1B;UACEC,GAAG,EAAEtB,KAAK,CAACqB,WAAW,CAACC,GAAG,IAAIC,SAAS;UACvCC,GAAG,EAAExB,KAAK,CAACqB,WAAW,CAACG,GAAG,IAAID;QAChC,CAAC,GACDA,SAAS;QACbE,iBAAiB,EAAEzB,KAAK,CAACyB,iBAAiB,GACtC;UACEC,SAAS,EAAE1B,KAAK,CAACyB,iBAAiB,CAACC,SAAS,IAAIH,SAAS;UACzDI,SAAS,EAAE3B,KAAK,CAACyB,iBAAiB,CAACE,SAAS,IAAIJ;QAClD,CAAC,GACDA,SAAS;QACbK,QAAQ,EAAE5B,KAAK,CAAC4B,QAAQ,IAAI;MAC9B,CAAC;MACDC,YAAY,EAAE;QACZC,uBAAuB,EAAE,EAAAlB,mBAAA,GAAAZ,KAAK,CAAC6B,YAAY,qBAAlBjB,mBAAA,CAAoBmB,cAAc,KAAI,EAAE;QACjEC,QAAQ,EAAE,EAAAnB,oBAAA,GAAAb,KAAK,CAAC6B,YAAY,qBAAlBhB,oBAAA,CAAoBmB,QAAQ,KAAI;MAC5C;IACF,CAAC;IAED,MAAMC,sBAAsB,GAC1B,EAAAnB,mBAAA,GAAAd,KAAK,CAACkC,YAAY,cAAApB,mBAAA,GAAlBA,mBAAA,CAAoBqB,SAAS,qBAA7BrB,mBAAA,CAA+BmB,sBAAsB,OAAAlB,oBAAA,GACrDf,KAAK,CAACkC,YAAY,cAAAnB,oBAAA,GAAlBA,oBAAA,CAAoBqB,cAAc,qBAAlCrB,oBAAA,CAAoCkB,sBAAsB;IAE5D,MAAMI,WAAW,GACfpB,SAAS,KAAK,WAAW,IAAIA,SAAS,KAAK,iBAAiB;IAE9D,IAAIoB,WAAW,IAAIJ,sBAAsB,EAAE;MACzCtB,GAAG,CAACX,KAAK,CAACgB,GAAG,CAAC,GAAG;QACf,GAAGE,SAAS;QACZ1B,IAAI,EAAEyB,SAA4C;QAClDqB,iBAAiB,EAAE;UAAEL;QAAuB;MAC9C,CAAC;IACH,CAAC,MAAM;MACLtB,GAAG,CAACX,KAAK,CAACgB,GAAG,CAAC,GAAG;QACf,GAAGE,SAAS;QACZ1B,IAAI,EAAE6C,WAAW,GAAG,YAAY,GAAGpB;MACrC,CAAC;IACH;IAEA,OAAON,GAAG;EACZ,CAAC,EACD,CAAC,CACH,CAAC;EAED,MAAM4B,eAAe,GAAGrD,kBAAkB,CAACuB,iBAAiB,CAAC;EAC7D,MAAMb,oBAAoB,GAAG2C,eAAe,CAACjD,MAAM,CAChDC,CAAC,IAAKA,CAAC,CAACC,IAAI,KAAK,iBACpB,CAAC;EACD,MAAMgD,oBAAoB,GAAGD,eAAe,CAACxC,GAAG,CAAER,CAAC,IAAKA,CAAC,CAACW,EAAE,CAAC;EAE7D,MAAMuC,YAA0B,GAAG;IACjCvC,EAAE,EAAEpB,YAAY;IAChB4D,YAAY,EAAE3D,MAAM,CAAC2D,YAAY,IAAI,KAAK;IAC1CC,OAAO,EAAE,KAAK;IACdxD,MAAM,EAAEsB,iBAAiB;IACzBmC,OAAO,EAAE;MACPC,GAAG,EAAE,MAAOnD,QAAgB,IAAK;QAC/B,IAAIoD,SAAS,GAAG7F,KAAK,CAAC8F,KAAK,CAACjE,YAAY,CAAC,CAACkE,EAAE,CAAC,KAAK,EAAEtD,QAAQ,CAAC;QAC7D,IAAI8C,oBAAoB,CAACS,MAAM,GAAG,CAAC,EAAE;UACnCH,SAAS,GAAGA,SAAS,CAACI,OAAO,CAAC,GAAGV,oBAAoB,CAAC;QACxD;QAEA,MAAMW,GAAG,GAAG,MAAML,SAAS,CAACM,IAAI,CAAC;UAAEC,gBAAgB,EAAE;QAAM,CAAC,CAAC;QAC7D,MAAM1D,MAAM,GAAGwD,GAAG,CAAClG,KAAK,CAAC,CAAC,CAAC;QAE3B,IAAI,CAAC0C,MAAM,EAAE;UACX,MAAM,IAAI2D,KAAK,CAAC,qBAAqB5D,QAAQ,EAAE,CAAC;QAClD;QAEA,OAAOC,MAAM;MACf,CAAC;MAED4D,MAAM,EAAE,MAAO5D,MAAM,IAAK;QACxB,MAAM6D,OAAO,GAAG,MAAMvG,KAAK,CAACwG,MAAM,CAAC3E,YAAY,EAAEa,MAAM,CAAC;QACxD,MAAM+D,SAAS,GAAGF,OAAO,CAAClD,GAAa;QAEvC,IAAIoD,SAAS,EAAE;UACb,MAAMjE,qBAAqB,CACzBX,YAAY,EACZ4E,SAAS,EACT/D,MAAM,EACNC,oBACF,CAAC;QACH;QAEA,OAAO;UAAE,GAAGD,MAAM;UAAEW,GAAG,EAAEoD;QAAU,CAAC;MACtC,CAAC;MAEDC,MAAM,EAAE,MAAOhE,MAAM,IAAK;QACxB,MAAM1C,KAAK,CAAC0G,MAAM,CAChB7E,YAAY,EACZa,MACF,CAAC;QAED,MAAMD,QAAQ,GAAGC,MAAM,CAACW,GAAa;QAErC,IAAIZ,QAAQ,EAAE;UACZ,MAAMD,qBAAqB,CACzBX,YAAY,EACZY,QAAQ,EACRC,MAAM,EACNC,oBACF,CAAC;QACH;QAEA,OAAOD,MAAM;MACf,CAAC;MAEDiE,MAAM,EAAGlE,QAAQ,IAAKzC,KAAK,CAAC4G,MAAM,CAAC/E,YAAY,EAAEY,QAAQ,CAAC;MAC1DoE,UAAU,EAAGC,SAAS,IAAK9G,KAAK,CAAC+G,UAAU,CAAClF,YAAY,EAAEiF,SAAS,CAAC;MAEpEX,IAAI,EAAE,eAAAA,CACJL,KAAK,EACLkB,OAGC,EACE;QAAA,IAJHA,OAGC;UAHDA,OAGC,GAAG,CAAC,CAAC;QAAA;QAEN,OAAO/G,YAAY,CAAC4B,YAAY,EAAEiE,KAAK,EAAEtC,iBAAiB,EAAEwD,OAAO,CAAC;MACtE,CAAC;MACDC,MAAM,EAAE9G,qBAAqB,CAAC,CAAC;MAC/B+G,UAAU,EAAE,MAAOC,QAAQ,IAAK;QAC9B,MAAM;UAAEC,QAAQ;UAAEC,OAAO;UAAEC;QAAO,CAAC,GACjC,MAAMpH,YAAY,CAAC6B,gBAAgB,CACjC,YAAY/B,KAAK,CAACkH,UAAU,CAACrF,YAAY,EAAEsF,QAAQ,CAAC,EACpD,CAAC,CACH,CAAC;QAEH,OAAO;UACLI,SAAS,EAAEH,QAAQ,GAAGC,OAAO;UAC7BG,MAAM,EAAEF,MAAM,CAACtB,MAAM;UACrBsB,MAAM,EAAEA,MAAM,CAACxE,GAAG,CAAE2E,CAAC,KAAM;YACzBC,QAAQ,EAAED,CAAC,CAACE,aAAa;YACzBC,OAAO,EAAEH,CAAC,CAACG,OAAO;YAClBC,IAAI,EAAEJ,CAAC,CAACI;UACV,CAAC,CAAC;QACJ,CAAC;MACH;IACF;EACF,CAAC;EAED,OAAOrC,YAAY;AACrB","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":[]}
@@ -33,6 +33,7 @@ export const useBaseTableFeatures = configuration => {
33
33
  stickyColumns,
34
34
  stickySelectionColumn,
35
35
  showTitleBar,
36
+ showFieldTypeIcons: configuration.showFieldTypeIcons,
36
37
  ...dataExtensionProps
37
38
  };
38
39
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","useMemo","useColumns","CustomColumns","useCollectionPageOnRowClickActions","useNavigation","useDataExtensionProps","useBaseTableFeatures","configuration","_configuration$custom","navigateToEntityPage","columns","visibleFieldIds","map","column","id","entityPageId","onRowClickOverride","collectionPageOnRowClickActions","onRowClick","collectionId","collection","item","stickyColumns","stickySelectionColumn","showTitleBar","dataExtensionProps","horizontalScroll","customColumns","enabled","createElement","undefined"],"sources":["../../../src/hooks/useBaseTableFeatures.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { CustomColumns } from '@wix/patterns';\nimport { useCollectionPageOnRowClickActions } from './useCollectionPageOnRowClickActions';\nimport { useNavigation } from './useNavigationUtils';\nimport { useDataExtensionProps } from './useDataExtensionProps';\n\nexport const useBaseTableFeatures = (configuration: TableConfig) => {\n const { navigateToEntityPage } = useNavigation();\n const columns = useColumns(configuration.columns);\n const visibleFieldIds = useMemo(\n () => configuration.columns.map((column) => column.id),\n [configuration],\n );\n\n const entityPageId = configuration.entityPageId;\n\n const onRowClickOverride = useCollectionPageOnRowClickActions({\n collectionPageOnRowClickActions: configuration.onRowClick,\n collectionId: configuration.collection.collectionId,\n });\n\n const onRowClick = configuration.onRowClick\n ? onRowClickOverride\n : (item: any) =>\n navigateToEntityPage({\n item,\n entityPageId,\n });\n\n const stickyColumns = configuration.stickyColumns;\n const stickySelectionColumn = !!stickyColumns; // Sticky selection column is true if stickyColumns is positive number\n const showTitleBar = configuration.showTitleBar ?? true;\n const dataExtensionProps = useDataExtensionProps(configuration);\n\n return {\n columns,\n visibleFieldIds,\n onRowClick,\n horizontalScroll: true,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n ...dataExtensionProps,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,QAAQ,eAAe;AAC7C,SAASC,kCAAkC,QAAQ,sCAAsC;AACzF,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,qBAAqB,QAAQ,yBAAyB;AAE/D,OAAO,MAAMC,oBAAoB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAClE,MAAM;IAAEC;EAAqB,CAAC,GAAGL,aAAa,CAAC,CAAC;EAChD,MAAMM,OAAO,GAAGT,UAAU,CAACM,aAAa,CAACG,OAAO,CAAC;EACjD,MAAMC,eAAe,GAAGX,OAAO,CAC7B,MAAMO,aAAa,CAACG,OAAO,CAACE,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,EAAE,CAAC,EACtD,CAACP,aAAa,CAChB,CAAC;EAED,MAAMQ,YAAY,GAAGR,aAAa,CAACQ,YAAY;EAE/C,MAAMC,kBAAkB,GAAGb,kCAAkC,CAAC;IAC5Dc,+BAA+B,EAAEV,aAAa,CAACW,UAAU;IACzDC,YAAY,EAAEZ,aAAa,CAACa,UAAU,CAACD;EACzC,CAAC,CAAC;EAEF,MAAMD,UAAU,GAAGX,aAAa,CAACW,UAAU,GACvCF,kBAAkB,GACjBK,IAAS,IACRZ,oBAAoB,CAAC;IACnBY,IAAI;IACJN;EACF,CAAC,CAAC;EAER,MAAMO,aAAa,GAAGf,aAAa,CAACe,aAAa;EACjD,MAAMC,qBAAqB,GAAG,CAAC,CAACD,aAAa,CAAC,CAAC;EAC/C,MAAME,YAAY,GAAGjB,aAAa,CAACiB,YAAY,IAAI,IAAI;EACvD,MAAMC,kBAAkB,GAAGpB,qBAAqB,CAACE,aAAa,CAAC;EAE/D,OAAO;IACLG,OAAO;IACPC,eAAe;IACfO,UAAU;IACVQ,gBAAgB,EAAE,IAAI;IACtBC,aAAa,EAAE,CAAAnB,qBAAA,GAAAD,aAAa,CAACoB,aAAa,aAA3BnB,qBAAA,CAA6BoB,OAAO,gBACjD7B,KAAA,CAAA8B,aAAA,CAAC3B,aAAa,MAAE,CAAC,GACf4B,SAAS;IACbR,aAAa;IACbC,qBAAqB;IACrBC,YAAY;IACZ,GAAGC;EACL,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","useColumns","CustomColumns","useCollectionPageOnRowClickActions","useNavigation","useDataExtensionProps","useBaseTableFeatures","configuration","_configuration$custom","navigateToEntityPage","columns","visibleFieldIds","map","column","id","entityPageId","onRowClickOverride","collectionPageOnRowClickActions","onRowClick","collectionId","collection","item","stickyColumns","stickySelectionColumn","showTitleBar","dataExtensionProps","horizontalScroll","customColumns","enabled","createElement","undefined","showFieldTypeIcons"],"sources":["../../../src/hooks/useBaseTableFeatures.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { CustomColumns } from '@wix/patterns';\nimport { useCollectionPageOnRowClickActions } from './useCollectionPageOnRowClickActions';\nimport { useNavigation } from './useNavigationUtils';\nimport { useDataExtensionProps } from './useDataExtensionProps';\n\nexport const useBaseTableFeatures = (configuration: TableConfig) => {\n const { navigateToEntityPage } = useNavigation();\n const columns = useColumns(configuration.columns);\n const visibleFieldIds = useMemo(\n () => configuration.columns.map((column) => column.id),\n [configuration],\n );\n\n const entityPageId = configuration.entityPageId;\n\n const onRowClickOverride = useCollectionPageOnRowClickActions({\n collectionPageOnRowClickActions: configuration.onRowClick,\n collectionId: configuration.collection.collectionId,\n });\n\n const onRowClick = configuration.onRowClick\n ? onRowClickOverride\n : (item: any) =>\n navigateToEntityPage({\n item,\n entityPageId,\n });\n\n const stickyColumns = configuration.stickyColumns;\n const stickySelectionColumn = !!stickyColumns; // Sticky selection column is true if stickyColumns is positive number\n const showTitleBar = configuration.showTitleBar ?? true;\n const dataExtensionProps = useDataExtensionProps(configuration);\n\n return {\n columns,\n visibleFieldIds,\n onRowClick,\n horizontalScroll: true,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n stickyColumns,\n stickySelectionColumn,\n showTitleBar,\n showFieldTypeIcons: configuration.showFieldTypeIcons,\n ...dataExtensionProps,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,aAAa,QAAQ,eAAe;AAC7C,SAASC,kCAAkC,QAAQ,sCAAsC;AACzF,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,qBAAqB,QAAQ,yBAAyB;AAE/D,OAAO,MAAMC,oBAAoB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAClE,MAAM;IAAEC;EAAqB,CAAC,GAAGL,aAAa,CAAC,CAAC;EAChD,MAAMM,OAAO,GAAGT,UAAU,CAACM,aAAa,CAACG,OAAO,CAAC;EACjD,MAAMC,eAAe,GAAGX,OAAO,CAC7B,MAAMO,aAAa,CAACG,OAAO,CAACE,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,EAAE,CAAC,EACtD,CAACP,aAAa,CAChB,CAAC;EAED,MAAMQ,YAAY,GAAGR,aAAa,CAACQ,YAAY;EAE/C,MAAMC,kBAAkB,GAAGb,kCAAkC,CAAC;IAC5Dc,+BAA+B,EAAEV,aAAa,CAACW,UAAU;IACzDC,YAAY,EAAEZ,aAAa,CAACa,UAAU,CAACD;EACzC,CAAC,CAAC;EAEF,MAAMD,UAAU,GAAGX,aAAa,CAACW,UAAU,GACvCF,kBAAkB,GACjBK,IAAS,IACRZ,oBAAoB,CAAC;IACnBY,IAAI;IACJN;EACF,CAAC,CAAC;EAER,MAAMO,aAAa,GAAGf,aAAa,CAACe,aAAa;EACjD,MAAMC,qBAAqB,GAAG,CAAC,CAACD,aAAa,CAAC,CAAC;EAC/C,MAAME,YAAY,GAAGjB,aAAa,CAACiB,YAAY,IAAI,IAAI;EACvD,MAAMC,kBAAkB,GAAGpB,qBAAqB,CAACE,aAAa,CAAC;EAE/D,OAAO;IACLG,OAAO;IACPC,eAAe;IACfO,UAAU;IACVQ,gBAAgB,EAAE,IAAI;IACtBC,aAAa,EAAE,CAAAnB,qBAAA,GAAAD,aAAa,CAACoB,aAAa,aAA3BnB,qBAAA,CAA6BoB,OAAO,gBACjD7B,KAAA,CAAA8B,aAAA,CAAC3B,aAAa,MAAE,CAAC,GACf4B,SAAS;IACbR,aAAa;IACbC,qBAAqB;IACrBC,YAAY;IACZO,kBAAkB,EAAExB,aAAa,CAACwB,kBAAkB;IACpD,GAAGN;EACL,CAAC;AACH,CAAC","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';
@@ -50,9 +50,9 @@ export const useColumns = columns => {
50
50
  data: itemValue
51
51
  });
52
52
  case 'ARRAY':
53
- // We assume that the array contains strings
54
- // If the array contains objects, we need to handle it differently
55
- return itemValue.join(', ');
53
+ return /*#__PURE__*/React.createElement(JsonView, {
54
+ data: itemValue
55
+ });
56
56
  case 'REFERENCE':
57
57
  if (fieldDefinition.referenceMetadata && getSchema) {
58
58
  const {
@@ -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
@@ -142,9 +152,11 @@ export const useColumns = columns => {
142
152
  return null;
143
153
  }
144
154
  const sortable = column.sortable && (fieldDefinition == null || (_fieldDefinition$capa = fieldDefinition.capabilities) == null ? void 0 : _fieldDefinition$capa.sortable);
155
+ const displayName = column.name || (fieldDefinition == null ? void 0 : fieldDefinition.displayName);
145
156
  const baseColumnConfig = {
146
157
  id: column.id,
147
- title: column.name || (fieldDefinition == null ? void 0 : fieldDefinition.displayName),
158
+ title: displayName,
159
+ fieldType: fieldDefinition == null ? void 0 : fieldDefinition.type,
148
160
  width: column.width,
149
161
  ...createSortConfiguration(column, sortable),
150
162
  ...createCustomColumnConfiguration(column),
@@ -1 +1 @@
1
- {"version":3,"names":["React","useAutoPatternsOverridesContext","useSchema","useSchemaRegistry","camelCase","get","Box","Image","getImageUrl","AddressView","AudioView","ColorView","JsonView","MediaGalleryView","RichTextView","TimeView","DocumentView","MultiDocumentView","extractReferenceDisplayValues","ReferenceAvatar","LazyRichContentView","MultiReferenceViewField","useColumns","columns","fields","getSchema","overrides","existingColumns","filter","column","_overrides$columns","id","createRenderer","fieldDefinition","itemValue","type","Date","toLocaleDateString","date","toLocaleString","createElement","data","join","referenceMetadata","referencedCollectionId","refSchema","name","image","gap","verticalAlign","field","value","imageUrl","src","width","dataHook","map","_overrides$columns2","_fieldDefinition$capa","sortable","capabilities","baseColumnConfig","title","displayName","createSortConfiguration","createCustomColumnConfiguration","tooltipContent","infoTooltipProps","content","render","row","_overrides$columns3","_overrides$columns4","_overrides$columns4$c","call","Boolean","sortableColumnConfig","defaultSortOrder","sortMode","undefined","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","defaultHidden"],"sources":["../../../src/hooks/useColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { TableColumn } from '@wix/patterns';\nimport {\n useAutoPatternsOverridesContext,\n useSchema,\n useSchemaRegistry,\n} from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\nimport { Box, Image } from '@wix/design-system';\nimport { getImageUrl } from '../utils/media/getImageUrl';\nimport {\n AddressView,\n AudioView,\n ColorView,\n JsonView,\n MediaGalleryView,\n RichTextView,\n TimeView,\n DocumentView,\n MultiDocumentView,\n} from '../cms-fields';\nimport { extractReferenceDisplayValues } from '../utils/schema';\nimport { ReferenceAvatar } from '../components/ReferenceAvatar';\nimport { LazyRichContentView } from '../components/LazyRichContentView';\nimport { MultiReferenceViewField } from '../components/MultiReferenceViewField';\n\nexport const useColumns = (columns: Column[]) => {\n const { fields } = useSchema();\n const { getSchema } = useSchemaRegistry();\n const overrides = useAutoPatternsOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id] || overrides?.columns?.[column.id];\n });\n\n const createRenderer = (fieldDefinition: Field, itemValue: any) => {\n if (itemValue == null) {\n return '';\n }\n\n switch (fieldDefinition.type) {\n case 'BOOLEAN':\n return itemValue ? '✔' : '✖';\n case 'DATE':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleDateString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleDateString();\n }\n return itemValue;\n case 'DATETIME':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleString();\n }\n return itemValue;\n case 'TIME':\n return <TimeView data={itemValue} />;\n case 'ARRAY':\n // We assume that the array contains strings\n // If the array contains objects, we need to handle it differently\n return itemValue.join(', ');\n case 'REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n const { name, image } = extractReferenceDisplayValues(\n itemValue,\n refSchema,\n );\n\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\">\n {name && <ReferenceAvatar name={name} image={image} />}\n <div>{name}</div>\n </Box>\n );\n }\n }\n\n return itemValue;\n case 'MULTI_REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n return (\n <MultiReferenceViewField\n field={fieldDefinition}\n value={itemValue}\n />\n );\n }\n }\n return itemValue;\n case 'IMAGE':\n const imageUrl = getImageUrl(itemValue);\n\n return (\n <Image src={imageUrl} width=\"48px\" dataHook=\"auto-patterns-image\" />\n );\n case 'OBJECT':\n return <JsonView data={itemValue} />;\n case 'MEDIA_GALLERY':\n return <MediaGalleryView data={itemValue} />;\n case 'ADDRESS':\n return <AddressView data={itemValue} />;\n case 'RICH_TEXT':\n return <RichTextView data={itemValue} />;\n case 'DOCUMENT':\n return <DocumentView data={itemValue} />;\n case 'RICH_CONTENT':\n return <LazyRichContentView data={itemValue} />;\n case 'MULTI_DOCUMENT':\n return <MultiDocumentView data={itemValue} />;\n case 'AUDIO':\n return <AudioView data={itemValue} />;\n case 'COLOR':\n return <ColorView data={itemValue} />;\n default:\n return itemValue;\n }\n };\n\n return existingColumns\n .map((column) => {\n const fieldDefinition = fields[column.id];\n if (!fieldDefinition && !overrides?.columns?.[column.id]) {\n return null;\n }\n\n const sortable =\n column.sortable && fieldDefinition?.capabilities?.sortable;\n const baseColumnConfig = {\n id: column.id,\n title: column.name || fieldDefinition?.displayName,\n width: column.width,\n ...createSortConfiguration(column, sortable),\n ...createCustomColumnConfiguration(column),\n ...(column.tooltipContent && {\n infoTooltipProps: {\n content: column.tooltipContent,\n },\n }),\n render: (row: any) => {\n const itemValue = get(row, column.id);\n\n if (overrides?.columns?.[camelCase(column.id)]) {\n return overrides?.columns?.[camelCase(column.id)]?.({\n value: itemValue,\n row,\n });\n }\n\n if (fieldDefinition) {\n return createRenderer(fieldDefinition, itemValue);\n }\n\n return null; // Shouldn't really happen\n },\n };\n\n return baseColumnConfig;\n })\n .filter(Boolean) as TableColumn<any>[];\n};\n\nconst createSortConfiguration = (\n column: Column,\n sortable?: boolean,\n): Partial<TableColumn<any>> => {\n if (!sortable) {\n return {};\n }\n const sortableColumnConfig = {\n sortable,\n defaultSortOrder: column.defaultSortOrder,\n };\n\n // default sort mode is ['asc', 'desc', undefined]\n // so if sort mode is 'desc' -> we want to override the default\n // and set it to ['desc', 'asc', undefined]\n if (column.sortMode && column.sortMode === 'desc') {\n return {\n ...sortableColumnConfig,\n sortMode: ['desc', 'asc', undefined],\n };\n }\n return {\n ...sortableColumnConfig,\n };\n};\n\nconst createCustomColumnConfiguration = (\n column: Column,\n): Partial<TableColumn<any>> => {\n const reorderDisabled = !!column.reorderDisabled;\n\n if (column.hiddenFromCustomColumnsSelection) {\n return { hiddenFromCustomColumnsSelection: true };\n }\n if (column.hideable === false) {\n return {\n hideable: false,\n reorderDisabled,\n };\n }\n return {\n defaultHidden: !!column.defaultHidden,\n reorderDisabled,\n };\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useAutoPatternsOverridesContext","useSchema","useSchemaRegistry","camelCase","get","Box","Image","getImageUrl","AddressView","AudioView","ColorView","JsonView","MediaGalleryView","RichTextView","VideoView","TimeView","DocumentView","MultiDocumentView","extractReferenceDisplayValues","ReferenceAvatar","LazyRichContentView","MultiReferenceViewField","useColumns","columns","fields","getSchema","overrides","existingColumns","filter","column","_overrides$columns","id","createRenderer","fieldDefinition","itemValue","type","Date","toLocaleDateString","date","toLocaleString","createElement","data","referenceMetadata","referencedCollectionId","refSchema","name","image","gap","verticalAlign","field","value","imageUrl","height","src","width","fit","dataHook","map","_overrides$columns2","_fieldDefinition$capa","sortable","capabilities","displayName","baseColumnConfig","title","fieldType","createSortConfiguration","createCustomColumnConfiguration","tooltipContent","infoTooltipProps","content","render","row","_overrides$columns3","_overrides$columns4","_overrides$columns4$c","call","Boolean","sortableColumnConfig","defaultSortOrder","sortMode","undefined","reorderDisabled","hiddenFromCustomColumnsSelection","hideable","defaultHidden"],"sources":["../../../src/hooks/useColumns.tsx"],"sourcesContent":["import React from 'react';\nimport { TableColumn } from '@wix/patterns';\nimport {\n useAutoPatternsOverridesContext,\n useSchema,\n useSchemaRegistry,\n} from '../providers';\nimport { Column, Field } from '../types';\nimport { camelCase, get } from 'lodash';\nimport { Box, Image } from '@wix/design-system';\nimport { getImageUrl } from '../utils/media/getImageUrl';\nimport {\n AddressView,\n AudioView,\n ColorView,\n JsonView,\n MediaGalleryView,\n RichTextView,\n VideoView,\n TimeView,\n DocumentView,\n MultiDocumentView,\n} from '../cms-fields';\nimport { extractReferenceDisplayValues } from '../utils/schema';\nimport { ReferenceAvatar } from '../components/ReferenceAvatar';\nimport { LazyRichContentView } from '../components/LazyRichContentView';\nimport { MultiReferenceViewField } from '../components/MultiReferenceViewField';\n\nexport const useColumns = (columns: Column[]) => {\n const { fields } = useSchema();\n const { getSchema } = useSchemaRegistry();\n const overrides = useAutoPatternsOverridesContext();\n\n const existingColumns = columns.filter((column) => {\n return !!fields[column.id] || overrides?.columns?.[column.id];\n });\n\n const createRenderer = (fieldDefinition: Field, itemValue: any) => {\n if (itemValue == null) {\n return '';\n }\n\n switch (fieldDefinition.type) {\n case 'BOOLEAN':\n return itemValue ? '✔' : '✖';\n case 'DATE':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleDateString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleDateString();\n }\n return itemValue;\n case 'DATETIME':\n if (itemValue instanceof Date) {\n return itemValue.toLocaleString();\n }\n if (typeof itemValue === 'string') {\n const date = new Date(itemValue);\n return date.toLocaleString();\n }\n return itemValue;\n case 'TIME':\n return <TimeView data={itemValue} />;\n case 'ARRAY':\n return <JsonView data={itemValue} />;\n case 'REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n const { name, image } = extractReferenceDisplayValues(\n itemValue,\n refSchema,\n );\n\n return (\n <Box gap=\"SP2\" verticalAlign=\"middle\">\n {name && <ReferenceAvatar name={name} image={image} />}\n <div>{name}</div>\n </Box>\n );\n }\n }\n\n return itemValue;\n case 'MULTI_REFERENCE':\n if (fieldDefinition.referenceMetadata && getSchema) {\n const { referencedCollectionId } = fieldDefinition.referenceMetadata;\n const refSchema = getSchema(referencedCollectionId);\n\n if (refSchema) {\n return (\n <MultiReferenceViewField\n field={fieldDefinition}\n value={itemValue}\n />\n );\n }\n }\n return itemValue;\n case 'IMAGE':\n const imageUrl = getImageUrl(itemValue);\n\n return (\n <Box verticalAlign=\"middle\" height=\"100%\">\n <Image\n src={imageUrl}\n height=\"36px\"\n width=\"54px\"\n fit=\"cover\"\n dataHook=\"auto-patterns-image\"\n />\n </Box>\n );\n case 'OBJECT':\n return <JsonView data={itemValue} />;\n case 'MEDIA_GALLERY':\n return <MediaGalleryView data={itemValue} />;\n case 'ADDRESS':\n return <AddressView data={itemValue} />;\n case 'RICH_TEXT':\n return <RichTextView data={itemValue} />;\n case 'DOCUMENT':\n return <DocumentView data={itemValue} />;\n case 'RICH_CONTENT':\n return <LazyRichContentView data={itemValue} />;\n case 'VIDEO':\n return <VideoView data={itemValue} width=\"54px\" />;\n case 'MULTI_DOCUMENT':\n return <MultiDocumentView data={itemValue} />;\n case 'AUDIO':\n return <AudioView data={itemValue} />;\n case 'COLOR':\n return <ColorView data={itemValue} />;\n default:\n return itemValue;\n }\n };\n\n return existingColumns\n .map((column) => {\n const fieldDefinition = fields[column.id];\n if (!fieldDefinition && !overrides?.columns?.[column.id]) {\n return null;\n }\n\n const sortable =\n column.sortable && fieldDefinition?.capabilities?.sortable;\n\n const displayName = column.name || fieldDefinition?.displayName;\n\n const baseColumnConfig = {\n id: column.id,\n title: displayName,\n fieldType: fieldDefinition?.type,\n width: column.width,\n ...createSortConfiguration(column, sortable),\n ...createCustomColumnConfiguration(column),\n ...(column.tooltipContent && {\n infoTooltipProps: {\n content: column.tooltipContent,\n },\n }),\n render: (row: any) => {\n const itemValue = get(row, column.id);\n\n if (overrides?.columns?.[camelCase(column.id)]) {\n return overrides?.columns?.[camelCase(column.id)]?.({\n value: itemValue,\n row,\n });\n }\n\n if (fieldDefinition) {\n return createRenderer(fieldDefinition, itemValue);\n }\n\n return null; // Shouldn't really happen\n },\n };\n\n return baseColumnConfig;\n })\n .filter(Boolean) as TableColumn<any>[];\n};\n\nconst createSortConfiguration = (\n column: Column,\n sortable?: boolean,\n): Partial<TableColumn<any>> => {\n if (!sortable) {\n return {};\n }\n const sortableColumnConfig = {\n sortable,\n defaultSortOrder: column.defaultSortOrder,\n };\n\n // default sort mode is ['asc', 'desc', undefined]\n // so if sort mode is 'desc' -> we want to override the default\n // and set it to ['desc', 'asc', undefined]\n if (column.sortMode && column.sortMode === 'desc') {\n return {\n ...sortableColumnConfig,\n sortMode: ['desc', 'asc', undefined],\n };\n }\n return {\n ...sortableColumnConfig,\n };\n};\n\nconst createCustomColumnConfiguration = (\n column: Column,\n): Partial<TableColumn<any>> => {\n const reorderDisabled = !!column.reorderDisabled;\n\n if (column.hiddenFromCustomColumnsSelection) {\n return { hiddenFromCustomColumnsSelection: true };\n }\n if (column.hideable === false) {\n return {\n hideable: false,\n reorderDisabled,\n };\n }\n return {\n defaultHidden: !!column.defaultHidden,\n reorderDisabled,\n };\n};\n"],"mappings":"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","ignoreList":[]}
@@ -31,6 +31,7 @@ export function useFiltersState(config) {
31
31
  fieldId,
32
32
  fieldDefinition,
33
33
  commonFilterProps: {
34
+ fieldType: fieldDefinition.type,
34
35
  sectionTitle,
35
36
  initiallyOpen: openByDefault,
36
37
  accordionItemProps: {