@wix/auto-patterns 1.46.0 → 1.47.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 (412) hide show
  1. package/dist/cjs/assets/locale/messages_en.json +8 -1
  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-button/actions-button.js +67 -0
  5. package/dist/cjs/cms-fields/components/audio/actions/actions-button/actions-button.js.map +1 -0
  6. package/dist/cjs/cms-fields/components/audio/actions/actions-button/index.js +10 -0
  7. package/dist/cjs/cms-fields/components/audio/actions/actions-button/index.js.map +1 -0
  8. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.js +119 -0
  9. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.js.map +1 -0
  10. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css +5 -0
  11. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +25 -0
  12. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -0
  13. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/index.js +16 -0
  14. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/index.js.map +1 -0
  15. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/types.js +4 -0
  16. package/dist/cjs/cms-fields/components/audio/actions/actions-menu/types.js.map +1 -0
  17. package/dist/cjs/cms-fields/components/audio/audio-field/audio-view.js +68 -0
  18. package/dist/cjs/cms-fields/components/audio/audio-field/audio-view.js.map +1 -0
  19. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.js +218 -0
  20. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.js.map +1 -0
  21. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css +28 -0
  22. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +31 -0
  23. package/dist/cjs/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -0
  24. package/dist/cjs/cms-fields/components/audio/audio-field/index.js +16 -0
  25. package/dist/cjs/cms-fields/components/audio/audio-field/index.js.map +1 -0
  26. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.js +77 -0
  27. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.js.map +1 -0
  28. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css +11 -0
  29. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js +22 -0
  30. package/dist/cjs/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -0
  31. package/dist/cjs/cms-fields/components/audio/audio-player/index.js +10 -0
  32. package/dist/cjs/cms-fields/components/audio/audio-player/index.js.map +1 -0
  33. package/dist/cjs/cms-fields/components/audio/index.js +16 -0
  34. package/dist/cjs/cms-fields/components/audio/index.js.map +1 -0
  35. package/dist/cjs/cms-fields/components/common.js +2 -2
  36. package/dist/cjs/cms-fields/components/common.js.map +1 -1
  37. package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
  38. package/dist/cjs/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  39. package/dist/cjs/cms-fields/components/document/document-control.js +31 -14
  40. package/dist/cjs/cms-fields/components/document/document-control.js.map +1 -1
  41. package/dist/cjs/cms-fields/components/document/form-document-field.js +4 -2
  42. package/dist/cjs/cms-fields/components/document/form-document-field.js.map +1 -1
  43. package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js +7 -7
  44. package/dist/cjs/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
  45. package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
  46. package/dist/cjs/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
  47. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.js +42 -0
  48. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.js.map +1 -0
  49. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css +39 -0
  50. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js +31 -0
  51. package/dist/cjs/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -0
  52. package/dist/cjs/cms-fields/components/highlighted-text/index.js +10 -0
  53. package/dist/cjs/cms-fields/components/highlighted-text/index.js.map +1 -0
  54. package/dist/cjs/cms-fields/components/index.js +6 -0
  55. package/dist/cjs/cms-fields/components/index.js.map +1 -1
  56. package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
  57. package/dist/cjs/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
  58. package/dist/cjs/cms-fields/components/media-control/use-media-control.js +63 -18
  59. package/dist/cjs/cms-fields/components/media-control/use-media-control.js.map +1 -1
  60. package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js +4 -4
  61. package/dist/cjs/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
  62. package/dist/cjs/cms-fields/components/media-loader/index.js +10 -0
  63. package/dist/cjs/cms-fields/components/media-loader/index.js.map +1 -0
  64. package/dist/cjs/cms-fields/components/media-loader/media-loader.js +37 -0
  65. package/dist/cjs/cms-fields/components/media-loader/media-loader.js.map +1 -0
  66. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css +20 -0
  67. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js +29 -0
  68. package/dist/cjs/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -0
  69. package/dist/cjs/cms-fields/components/media-tag/highlighted-media-tag.js +36 -0
  70. package/dist/cjs/cms-fields/components/media-tag/highlighted-media-tag.js.map +1 -0
  71. package/dist/cjs/cms-fields/components/media-tag/index.js +16 -0
  72. package/dist/cjs/cms-fields/components/media-tag/index.js.map +1 -0
  73. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/index.js +9 -0
  74. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/index.js.map +1 -0
  75. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.js +62 -0
  76. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.js.map +1 -0
  77. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css +12 -0
  78. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +25 -0
  79. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -0
  80. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.js +50 -0
  81. package/dist/cjs/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.js.map +1 -0
  82. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.js +5 -3
  83. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
  84. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.js +10 -8
  85. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.js.map +1 -1
  86. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  87. package/dist/cjs/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  88. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  89. 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
  90. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  91. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  92. 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
  93. 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
  94. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  95. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  96. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  97. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  98. 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
  99. 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
  100. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
  101. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  102. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  103. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  104. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  105. package/dist/cjs/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  106. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  107. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  108. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  109. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  110. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  111. package/dist/cjs/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  112. package/dist/cjs/cms-fields/components/text/text-view.st.css.js +3 -3
  113. package/dist/cjs/cms-fields/components/text/text-view.st.css.js.map +1 -1
  114. package/dist/cjs/cms-fields/hooks/index.js +6 -0
  115. package/dist/cjs/cms-fields/hooks/index.js.map +1 -1
  116. package/dist/cjs/cms-fields/hooks/use-resize-effect.js +16 -0
  117. package/dist/cjs/cms-fields/hooks/use-resize-effect.js.map +1 -0
  118. package/dist/cjs/cms-fields/utils/fuzzy-search.js +4 -0
  119. package/dist/cjs/cms-fields/utils/fuzzy-search.js.map +1 -0
  120. package/dist/cjs/cms-fields/utils/get-app-bounding-rect.js.map +1 -1
  121. package/dist/cjs/cms-fields/utils/get-app-popover-max-height.js +21 -0
  122. package/dist/cjs/cms-fields/utils/get-app-popover-max-height.js.map +1 -0
  123. package/dist/cjs/cms-fields/utils/get-schema-type.js +7 -0
  124. package/dist/cjs/cms-fields/utils/get-schema-type.js.map +1 -0
  125. package/dist/cjs/cms-fields/utils/index.js +24 -0
  126. package/dist/cjs/cms-fields/utils/index.js.map +1 -1
  127. package/dist/cjs/cms-fields/utils/media-utils.js +4 -20
  128. package/dist/cjs/cms-fields/utils/media-utils.js.map +1 -1
  129. package/dist/cjs/cms-fields/validations/email.js +27 -0
  130. package/dist/cjs/cms-fields/validations/email.js.map +1 -0
  131. package/dist/cjs/components/fields/Audio.js +63 -0
  132. package/dist/cjs/components/fields/Audio.js.map +1 -0
  133. package/dist/cjs/components/fields/Email.js +73 -0
  134. package/dist/cjs/components/fields/Email.js.map +1 -0
  135. package/dist/cjs/components/fields/index.js +7 -1
  136. package/dist/cjs/components/fields/index.js.map +1 -1
  137. package/dist/cjs/components/layouts/FormField.js +4 -2
  138. package/dist/cjs/components/layouts/FormField.js.map +1 -1
  139. package/dist/cjs/components/layouts/ViewField.js +21 -10
  140. package/dist/cjs/components/layouts/ViewField.js.map +1 -1
  141. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +7 -1
  142. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  143. package/dist/cjs/dataSourceAdapters/cms/filterUtils.js +4 -4
  144. package/dist/cjs/dataSourceAdapters/cms/filterUtils.js.map +1 -1
  145. package/dist/cjs/hooks/getFilterComponent.js +2 -0
  146. package/dist/cjs/hooks/getFilterComponent.js.map +1 -1
  147. package/dist/cjs/hooks/useColumns.js +23 -13
  148. package/dist/cjs/hooks/useColumns.js.map +1 -1
  149. package/dist/cjs/hooks/useFiltersState.js +2 -0
  150. package/dist/cjs/hooks/useFiltersState.js.map +1 -1
  151. package/dist/cjs/services/translations.js.map +1 -1
  152. package/dist/cjs/styles.global.css +1 -1
  153. package/dist/cjs/types/types.js.map +1 -1
  154. package/dist/esm/assets/locale/messages_en.json +8 -1
  155. package/dist/esm/cms-fields/components/address/input/address-input.st.css.js +3 -3
  156. package/dist/esm/cms-fields/components/address/input/address-input.st.css.js.map +1 -1
  157. package/dist/esm/cms-fields/components/audio/actions/actions-button/actions-button.js +42 -0
  158. package/dist/esm/cms-fields/components/audio/actions/actions-button/actions-button.js.map +1 -0
  159. package/dist/esm/cms-fields/components/audio/actions/actions-button/index.js +2 -0
  160. package/dist/esm/cms-fields/components/audio/actions/actions-button/index.js.map +1 -0
  161. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.js +80 -0
  162. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.js.map +1 -0
  163. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css +5 -0
  164. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js +21 -0
  165. package/dist/esm/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.js.map +1 -0
  166. package/dist/esm/cms-fields/components/audio/actions/actions-menu/index.js +3 -0
  167. package/dist/esm/cms-fields/components/audio/actions/actions-menu/index.js.map +1 -0
  168. package/dist/esm/cms-fields/components/audio/actions/actions-menu/types.js +2 -0
  169. package/dist/esm/cms-fields/components/audio/actions/actions-menu/types.js.map +1 -0
  170. package/dist/esm/cms-fields/components/audio/audio-field/audio-view.js +37 -0
  171. package/dist/esm/cms-fields/components/audio/audio-field/audio-view.js.map +1 -0
  172. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.js +131 -0
  173. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.js.map +1 -0
  174. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css +28 -0
  175. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js +27 -0
  176. package/dist/esm/cms-fields/components/audio/audio-field/form-audio-field.st.css.js.map +1 -0
  177. package/dist/esm/cms-fields/components/audio/audio-field/index.js +3 -0
  178. package/dist/esm/cms-fields/components/audio/audio-field/index.js.map +1 -0
  179. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.js +41 -0
  180. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.js.map +1 -0
  181. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css +11 -0
  182. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js +18 -0
  183. package/dist/esm/cms-fields/components/audio/audio-player/audio-player.st.css.js.map +1 -0
  184. package/dist/esm/cms-fields/components/audio/audio-player/index.js +2 -0
  185. package/dist/esm/cms-fields/components/audio/audio-player/index.js.map +1 -0
  186. package/dist/esm/cms-fields/components/audio/index.js +3 -0
  187. package/dist/esm/cms-fields/components/audio/index.js.map +1 -0
  188. package/dist/esm/cms-fields/components/common.js +1 -1
  189. package/dist/esm/cms-fields/components/common.js.map +1 -1
  190. package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js +3 -3
  191. package/dist/esm/cms-fields/components/delete-dialog/delete-dialog.st.css.js.map +1 -1
  192. package/dist/esm/cms-fields/components/document/document-control.js +13 -3
  193. package/dist/esm/cms-fields/components/document/document-control.js.map +1 -1
  194. package/dist/esm/cms-fields/components/document/form-document-field.js +3 -1
  195. package/dist/esm/cms-fields/components/document/form-document-field.js.map +1 -1
  196. package/dist/esm/cms-fields/components/document/form-document-field.st.css.js +7 -7
  197. package/dist/esm/cms-fields/components/document/form-document-field.st.css.js.map +1 -1
  198. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js +5 -5
  199. package/dist/esm/cms-fields/components/exclamation/exclamation.st.css.js.map +1 -1
  200. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.js +29 -0
  201. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.js.map +1 -0
  202. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css +39 -0
  203. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js +27 -0
  204. package/dist/esm/cms-fields/components/highlighted-text/highlighted-text.st.css.js.map +1 -0
  205. package/dist/esm/cms-fields/components/highlighted-text/index.js +2 -0
  206. package/dist/esm/cms-fields/components/highlighted-text/index.js.map +1 -0
  207. package/dist/esm/cms-fields/components/index.js +1 -0
  208. package/dist/esm/cms-fields/components/index.js.map +1 -1
  209. package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js +4 -4
  210. package/dist/esm/cms-fields/components/media-control/paste-url-button.st.css.js.map +1 -1
  211. package/dist/esm/cms-fields/components/media-control/use-media-control.js +63 -18
  212. package/dist/esm/cms-fields/components/media-control/use-media-control.js.map +1 -1
  213. package/dist/esm/cms-fields/components/media-image/media-image.st.css.js +4 -4
  214. package/dist/esm/cms-fields/components/media-image/media-image.st.css.js.map +1 -1
  215. package/dist/esm/cms-fields/components/media-loader/index.js +2 -0
  216. package/dist/esm/cms-fields/components/media-loader/index.js.map +1 -0
  217. package/dist/esm/cms-fields/components/media-loader/media-loader.js +21 -0
  218. package/dist/esm/cms-fields/components/media-loader/media-loader.js.map +1 -0
  219. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css +20 -0
  220. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js +25 -0
  221. package/dist/esm/cms-fields/components/media-loader/media-loader.st.css.js.map +1 -0
  222. package/dist/esm/cms-fields/components/media-tag/highlighted-media-tag.js +18 -0
  223. package/dist/esm/cms-fields/components/media-tag/highlighted-media-tag.js.map +1 -0
  224. package/dist/esm/cms-fields/components/media-tag/index.js +3 -0
  225. package/dist/esm/cms-fields/components/media-tag/index.js.map +1 -0
  226. package/dist/esm/cms-fields/components/media-tag/web-media-tag/index.js +3 -0
  227. package/dist/esm/cms-fields/components/media-tag/web-media-tag/index.js.map +1 -0
  228. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.js +31 -0
  229. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.js.map +1 -0
  230. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css +12 -0
  231. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js +21 -0
  232. package/dist/esm/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.js.map +1 -0
  233. package/dist/esm/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.js +25 -0
  234. package/dist/esm/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.js.map +1 -0
  235. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.js +3 -1
  236. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.js.map +1 -1
  237. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.js +3 -1
  238. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.js.map +1 -1
  239. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js +5 -5
  240. package/dist/esm/cms-fields/components/multi-document/multi-document-input/form-multi-document.st.css.js.map +1 -1
  241. package/dist/esm/cms-fields/components/rich-content/rich-content-input/default-value-input/rich-content-default-value-input.st.css.js +6 -6
  242. 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
  243. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js +5 -5
  244. package/dist/esm/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.js.map +1 -1
  245. 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
  246. 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
  247. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js +3 -3
  248. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/fullscreen-modal/fullscreen-modal.st.css.js.map +1 -1
  249. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js +3 -3
  250. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.js.map +1 -1
  251. 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
  252. 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
  253. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js +9 -9
  254. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-editor.st.css.js.map +1 -1
  255. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js +4 -4
  256. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-editor/rich-content-toolbar.st.css.js.map +1 -1
  257. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js +4 -4
  258. package/dist/esm/cms-fields/components/rich-content/rich-content-input/rich-content-viewer/rich-content-viewer.st.css.js.map +1 -1
  259. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js +18 -18
  260. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.js.map +1 -1
  261. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js +4 -4
  262. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-text-editor.st.css.js.map +1 -1
  263. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js +18 -18
  264. package/dist/esm/cms-fields/components/rich-text/rich-text-input/rich-text-editor/toolbar/toolbar.st.css.js.map +1 -1
  265. package/dist/esm/cms-fields/components/text/text-view.st.css.js +3 -3
  266. package/dist/esm/cms-fields/components/text/text-view.st.css.js.map +1 -1
  267. package/dist/esm/cms-fields/hooks/index.js +1 -0
  268. package/dist/esm/cms-fields/hooks/index.js.map +1 -1
  269. package/dist/esm/cms-fields/hooks/use-resize-effect.js +11 -0
  270. package/dist/esm/cms-fields/hooks/use-resize-effect.js.map +1 -0
  271. package/dist/esm/cms-fields/utils/fuzzy-search.js +2 -0
  272. package/dist/esm/cms-fields/utils/fuzzy-search.js.map +1 -0
  273. package/dist/esm/cms-fields/utils/get-app-bounding-rect.js.map +1 -1
  274. package/dist/esm/cms-fields/utils/get-app-popover-max-height.js +16 -0
  275. package/dist/esm/cms-fields/utils/get-app-popover-max-height.js.map +1 -0
  276. package/dist/esm/cms-fields/utils/get-schema-type.js +2 -0
  277. package/dist/esm/cms-fields/utils/get-schema-type.js.map +1 -0
  278. package/dist/esm/cms-fields/utils/index.js +4 -0
  279. package/dist/esm/cms-fields/utils/index.js.map +1 -1
  280. package/dist/esm/cms-fields/utils/media-utils.js +2 -18
  281. package/dist/esm/cms-fields/utils/media-utils.js.map +1 -1
  282. package/dist/esm/cms-fields/validations/email.js +22 -0
  283. package/dist/esm/cms-fields/validations/email.js.map +1 -0
  284. package/dist/esm/components/fields/Audio.js +44 -0
  285. package/dist/esm/components/fields/Audio.js.map +1 -0
  286. package/dist/esm/components/fields/Email.js +53 -0
  287. package/dist/esm/components/fields/Email.js.map +1 -0
  288. package/dist/esm/components/fields/index.js +2 -0
  289. package/dist/esm/components/fields/index.js.map +1 -1
  290. package/dist/esm/components/layouts/FormField.js +4 -2
  291. package/dist/esm/components/layouts/FormField.js.map +1 -1
  292. package/dist/esm/components/layouts/ViewField.js +5 -0
  293. package/dist/esm/components/layouts/ViewField.js.map +1 -1
  294. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +8 -1
  295. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  296. package/dist/esm/dataSourceAdapters/cms/filterUtils.js +4 -4
  297. package/dist/esm/dataSourceAdapters/cms/filterUtils.js.map +1 -1
  298. package/dist/esm/hooks/getFilterComponent.js +2 -0
  299. package/dist/esm/hooks/getFilterComponent.js.map +1 -1
  300. package/dist/esm/hooks/useColumns.js +5 -1
  301. package/dist/esm/hooks/useColumns.js.map +1 -1
  302. package/dist/esm/hooks/useFiltersState.js +2 -0
  303. package/dist/esm/hooks/useFiltersState.js.map +1 -1
  304. package/dist/esm/services/translations.js.map +1 -1
  305. package/dist/esm/styles.global.css +1 -1
  306. package/dist/esm/types/types.js.map +1 -1
  307. package/dist/types/cms-fields/components/audio/actions/actions-button/actions-button.d.ts +10 -0
  308. package/dist/types/cms-fields/components/audio/actions/actions-button/actions-button.d.ts.map +1 -0
  309. package/dist/types/cms-fields/components/audio/actions/actions-button/index.d.ts +2 -0
  310. package/dist/types/cms-fields/components/audio/actions/actions-button/index.d.ts.map +1 -0
  311. package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.d.ts +29 -0
  312. package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.d.ts.map +1 -0
  313. package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.d.ts +16 -0
  314. package/dist/types/cms-fields/components/audio/actions/actions-menu/actions-menu.st.css.d.ts.map +1 -0
  315. package/dist/types/cms-fields/components/audio/actions/actions-menu/index.d.ts +3 -0
  316. package/dist/types/cms-fields/components/audio/actions/actions-menu/index.d.ts.map +1 -0
  317. package/dist/types/cms-fields/components/audio/actions/actions-menu/types.d.ts +13 -0
  318. package/dist/types/cms-fields/components/audio/actions/actions-menu/types.d.ts.map +1 -0
  319. package/dist/types/cms-fields/components/audio/audio-field/audio-view.d.ts +4 -0
  320. package/dist/types/cms-fields/components/audio/audio-field/audio-view.d.ts.map +1 -0
  321. package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.d.ts +4 -0
  322. package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.d.ts.map +1 -0
  323. package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.st.css.d.ts +22 -0
  324. package/dist/types/cms-fields/components/audio/audio-field/form-audio-field.st.css.d.ts.map +1 -0
  325. package/dist/types/cms-fields/components/audio/audio-field/index.d.ts +3 -0
  326. package/dist/types/cms-fields/components/audio/audio-field/index.d.ts.map +1 -0
  327. package/dist/types/cms-fields/components/audio/audio-player/audio-player.d.ts +8 -0
  328. package/dist/types/cms-fields/components/audio/audio-player/audio-player.d.ts.map +1 -0
  329. package/dist/types/cms-fields/components/audio/audio-player/audio-player.st.css.d.ts +13 -0
  330. package/dist/types/cms-fields/components/audio/audio-player/audio-player.st.css.d.ts.map +1 -0
  331. package/dist/types/cms-fields/components/audio/audio-player/index.d.ts +2 -0
  332. package/dist/types/cms-fields/components/audio/audio-player/index.d.ts.map +1 -0
  333. package/dist/types/cms-fields/components/audio/index.d.ts +3 -0
  334. package/dist/types/cms-fields/components/audio/index.d.ts.map +1 -0
  335. package/dist/types/cms-fields/components/common.d.ts +1 -0
  336. package/dist/types/cms-fields/components/common.d.ts.map +1 -1
  337. package/dist/types/cms-fields/components/delete-dialog/delete-dialog.st.css.d.ts.map +1 -1
  338. package/dist/types/cms-fields/components/document/document-control.d.ts +1 -0
  339. package/dist/types/cms-fields/components/document/document-control.d.ts.map +1 -1
  340. package/dist/types/cms-fields/components/document/form-document-field.d.ts.map +1 -1
  341. package/dist/types/cms-fields/components/document/form-document-field.st.css.d.ts.map +1 -1
  342. package/dist/types/cms-fields/components/exclamation/exclamation.st.css.d.ts.map +1 -1
  343. package/dist/types/cms-fields/components/highlighted-text/highlighted-text.d.ts +10 -0
  344. package/dist/types/cms-fields/components/highlighted-text/highlighted-text.d.ts.map +1 -0
  345. package/dist/types/cms-fields/components/highlighted-text/highlighted-text.st.css.d.ts +22 -0
  346. package/dist/types/cms-fields/components/highlighted-text/highlighted-text.st.css.d.ts.map +1 -0
  347. package/dist/types/cms-fields/components/highlighted-text/index.d.ts +2 -0
  348. package/dist/types/cms-fields/components/highlighted-text/index.d.ts.map +1 -0
  349. package/dist/types/cms-fields/components/index.d.ts +1 -0
  350. package/dist/types/cms-fields/components/index.d.ts.map +1 -1
  351. package/dist/types/cms-fields/components/media-control/paste-url-button.st.css.d.ts.map +1 -1
  352. package/dist/types/cms-fields/components/media-control/use-media-control.d.ts +2 -1
  353. package/dist/types/cms-fields/components/media-control/use-media-control.d.ts.map +1 -1
  354. package/dist/types/cms-fields/components/media-loader/index.d.ts +2 -0
  355. package/dist/types/cms-fields/components/media-loader/index.d.ts.map +1 -0
  356. package/dist/types/cms-fields/components/media-loader/media-loader.d.ts +7 -0
  357. package/dist/types/cms-fields/components/media-loader/media-loader.d.ts.map +1 -0
  358. package/dist/types/cms-fields/components/media-loader/media-loader.st.css.d.ts +20 -0
  359. package/dist/types/cms-fields/components/media-loader/media-loader.st.css.d.ts.map +1 -0
  360. package/dist/types/cms-fields/components/media-tag/highlighted-media-tag.d.ts +8 -0
  361. package/dist/types/cms-fields/components/media-tag/highlighted-media-tag.d.ts.map +1 -0
  362. package/dist/types/cms-fields/components/media-tag/index.d.ts +3 -0
  363. package/dist/types/cms-fields/components/media-tag/index.d.ts.map +1 -0
  364. package/dist/types/cms-fields/components/media-tag/web-media-tag/index.d.ts +5 -0
  365. package/dist/types/cms-fields/components/media-tag/web-media-tag/index.d.ts.map +1 -0
  366. package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.d.ts +10 -0
  367. package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.d.ts.map +1 -0
  368. package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.d.ts +16 -0
  369. package/dist/types/cms-fields/components/media-tag/web-media-tag/media-tag.st.css.d.ts.map +1 -0
  370. package/dist/types/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.d.ts +8 -0
  371. package/dist/types/cms-fields/components/media-tag/web-media-tag/table-media-tag-view.d.ts.map +1 -0
  372. package/dist/types/cms-fields/components/multi-document/multi-document-input/form-multi-document-field.d.ts.map +1 -1
  373. package/dist/types/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.d.ts +1 -0
  374. package/dist/types/cms-fields/components/multi-document/multi-document-input/form-multi-document-view.d.ts.map +1 -1
  375. package/dist/types/cms-fields/components/rich-content/rich-content-input/form-input/rich-content-form-input.st.css.d.ts.map +1 -1
  376. package/dist/types/cms-fields/components/rich-content/rich-content-input/rich-content-common/publish-loader/publish-loader.st.css.d.ts.map +1 -1
  377. package/dist/types/cms-fields/components/rich-text/rich-text-input/rich-text-editor/rich-editor.st.css.d.ts.map +1 -1
  378. package/dist/types/cms-fields/components/text/text-view.st.css.d.ts.map +1 -1
  379. package/dist/types/cms-fields/hooks/index.d.ts +1 -0
  380. package/dist/types/cms-fields/hooks/index.d.ts.map +1 -1
  381. package/dist/types/cms-fields/hooks/use-resize-effect.d.ts +2 -0
  382. package/dist/types/cms-fields/hooks/use-resize-effect.d.ts.map +1 -0
  383. package/dist/types/cms-fields/utils/fuzzy-search.d.ts +5 -0
  384. package/dist/types/cms-fields/utils/fuzzy-search.d.ts.map +1 -0
  385. package/dist/types/cms-fields/utils/get-app-popover-max-height.d.ts +5 -0
  386. package/dist/types/cms-fields/utils/get-app-popover-max-height.d.ts.map +1 -0
  387. package/dist/types/cms-fields/utils/get-schema-type.d.ts +8 -0
  388. package/dist/types/cms-fields/utils/get-schema-type.d.ts.map +1 -0
  389. package/dist/types/cms-fields/utils/index.d.ts +4 -0
  390. package/dist/types/cms-fields/utils/index.d.ts.map +1 -1
  391. package/dist/types/cms-fields/utils/media-utils.d.ts +1 -4
  392. package/dist/types/cms-fields/utils/media-utils.d.ts.map +1 -1
  393. package/dist/types/cms-fields/validations/email.d.ts +2 -0
  394. package/dist/types/cms-fields/validations/email.d.ts.map +1 -0
  395. package/dist/types/components/fields/Audio.d.ts +6 -0
  396. package/dist/types/components/fields/Audio.d.ts.map +1 -0
  397. package/dist/types/components/fields/Email.d.ts +6 -0
  398. package/dist/types/components/fields/Email.d.ts.map +1 -0
  399. package/dist/types/components/fields/index.d.ts +2 -0
  400. package/dist/types/components/fields/index.d.ts.map +1 -1
  401. package/dist/types/components/layouts/FormField.d.ts.map +1 -1
  402. package/dist/types/components/layouts/ViewField.d.ts.map +1 -1
  403. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
  404. package/dist/types/dataSourceAdapters/cms/filterUtils.d.ts.map +1 -1
  405. package/dist/types/hooks/getFilterComponent.d.ts.map +1 -1
  406. package/dist/types/hooks/useColumns.d.ts.map +1 -1
  407. package/dist/types/hooks/useFiltersState.d.ts.map +1 -1
  408. package/dist/types/services/translations.d.ts +1 -1
  409. package/dist/types/services/translations.d.ts.map +1 -1
  410. package/dist/types/types/types.d.ts +1 -1
  411. package/dist/types/types/types.d.ts.map +1 -1
  412. package/package.json +4 -3
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.Audio = void 0;
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _designSystem = require("@wix/design-system");
8
+ var _patterns = require("@wix/patterns");
9
+ var _form = require("@wix/patterns/form");
10
+ var _formAudioField = require("../../cms-fields/components/audio/audio-field/form-audio-field");
11
+ var _jsxFileName = "/home/builduser/work/8f3ab5a55e62623a/packages/auto-patterns/dist/cjs/components/fields/Audio.tsx";
12
+ const Audio = props => {
13
+ var _field$validation2, _controller$fieldStat;
14
+ const {
15
+ field,
16
+ dataHook,
17
+ formControl,
18
+ data
19
+ } = props;
20
+ const {
21
+ translate: t
22
+ } = (0, _patterns.useWixPatternsContainer)();
23
+ const controller = (0, _form.useController)({
24
+ name: (field == null ? void 0 : field.id) ?? '',
25
+ control: formControl,
26
+ defaultValue: data == null ? void 0 : data[(field == null ? void 0 : field.id) ?? ''],
27
+ rules: {
28
+ validate: value => {
29
+ var _field$validation;
30
+ if ((_field$validation = field.validation) != null && _field$validation.required && (value === null || value === undefined || value === '')) {
31
+ return t('cairo.fieldValidation.requiredField');
32
+ }
33
+ return true;
34
+ }
35
+ }
36
+ });
37
+ return /*#__PURE__*/_react.default.createElement(_designSystem.FormField, {
38
+ label: field.displayName,
39
+ required: (_field$validation2 = field.validation) == null ? void 0 : _field$validation2.required,
40
+ status: controller.fieldState.error ? 'error' : undefined,
41
+ statusMessage: (_controller$fieldStat = controller.fieldState.error) == null ? void 0 : _controller$fieldStat.message,
42
+ dataHook: dataHook,
43
+ __self: void 0,
44
+ __source: {
45
+ fileName: _jsxFileName,
46
+ lineNumber: 35,
47
+ columnNumber: 5
48
+ }
49
+ }, /*#__PURE__*/_react.default.createElement(_formAudioField.FormAudioField, {
50
+ data: controller.field.value,
51
+ onChange: value => controller.field.onChange(value),
52
+ onClear: () => controller.field.onChange(null),
53
+ dataHook: `audio-${field.id}`,
54
+ __self: void 0,
55
+ __source: {
56
+ fileName: _jsxFileName,
57
+ lineNumber: 42,
58
+ columnNumber: 7
59
+ }
60
+ }));
61
+ };
62
+ exports.Audio = Audio;
63
+ //# sourceMappingURL=Audio.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_patterns","_form","_formAudioField","_jsxFileName","Audio","props","_field$validation2","_controller$fieldStat","field","dataHook","formControl","data","translate","t","useWixPatternsContainer","controller","useController","name","id","control","defaultValue","rules","validate","value","_field$validation","validation","required","undefined","default","createElement","FormField","label","displayName","status","fieldState","error","statusMessage","message","__self","__source","fileName","lineNumber","columnNumber","FormAudioField","onChange","onClear","exports"],"sources":["../../../../src/components/fields/Audio.tsx"],"sourcesContent":["import React from 'react';\nimport { FormField } from '@wix/design-system';\nimport { useWixPatternsContainer } from '@wix/patterns';\nimport { useController } from '@wix/patterns/form';\n\nimport { FormAudioField } from '../../cms-fields/components/audio/audio-field/form-audio-field';\nimport { BaseInputProps } from './types';\n\nexport interface AudioProps extends BaseInputProps<string> {}\n\nexport const Audio = (props: AudioProps) => {\n const { field, dataHook, formControl, data } = props;\n\n const { translate: t } = useWixPatternsContainer();\n\n const controller = useController({\n name: field?.id ?? '',\n control: formControl,\n defaultValue: data?.[field?.id ?? ''],\n rules: {\n validate: (value) => {\n if (\n field.validation?.required &&\n (value === null || value === undefined || value === '')\n ) {\n return t('cairo.fieldValidation.requiredField');\n }\n\n return true;\n },\n },\n });\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n status={controller.fieldState.error ? 'error' : undefined}\n statusMessage={controller.fieldState.error?.message}\n dataHook={dataHook}\n >\n <FormAudioField\n data={controller.field.value}\n onChange={(value) => controller.field.onChange(value)}\n onClear={() => controller.field.onChange(null)}\n dataHook={`audio-${field.id}`}\n />\n </FormField>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,SAAA,GAAAF,OAAA;AACA,IAAAG,KAAA,GAAAH,OAAA;AAEA,IAAAI,eAAA,GAAAJ,OAAA;AAAgG,IAAAK,YAAA;AAKzF,MAAMC,KAAK,GAAIC,KAAiB,IAAK;EAAA,IAAAC,kBAAA,EAAAC,qBAAA;EAC1C,MAAM;IAAEC,KAAK;IAAEC,QAAQ;IAAEC,WAAW;IAAEC;EAAK,CAAC,GAAGN,KAAK;EAEpD,MAAM;IAAEO,SAAS,EAAEC;EAAE,CAAC,GAAG,IAAAC,iCAAuB,EAAC,CAAC;EAElD,MAAMC,UAAU,GAAG,IAAAC,mBAAa,EAAC;IAC/BC,IAAI,EAAE,CAAAT,KAAK,oBAALA,KAAK,CAAEU,EAAE,KAAI,EAAE;IACrBC,OAAO,EAAET,WAAW;IACpBU,YAAY,EAAET,IAAI,oBAAJA,IAAI,CAAG,CAAAH,KAAK,oBAALA,KAAK,CAAEU,EAAE,KAAI,EAAE,CAAC;IACrCG,KAAK,EAAE;MACLC,QAAQ,EAAGC,KAAK,IAAK;QAAA,IAAAC,iBAAA;QACnB,IACE,CAAAA,iBAAA,GAAAhB,KAAK,CAACiB,UAAU,aAAhBD,iBAAA,CAAkBE,QAAQ,KACzBH,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKI,SAAS,IAAIJ,KAAK,KAAK,EAAE,CAAC,EACvD;UACA,OAAOV,CAAC,CAAC,qCAAqC,CAAC;QACjD;QAEA,OAAO,IAAI;MACb;IACF;EACF,CAAC,CAAC;EAEF,oBACEjB,MAAA,CAAAgC,OAAA,CAAAC,aAAA,CAAC9B,aAAA,CAAA+B,SAAS;IACRC,KAAK,EAAEvB,KAAK,CAACwB,WAAY;IACzBN,QAAQ,GAAApB,kBAAA,GAAEE,KAAK,CAACiB,UAAU,qBAAhBnB,kBAAA,CAAkBoB,QAAS;IACrCO,MAAM,EAAElB,UAAU,CAACmB,UAAU,CAACC,KAAK,GAAG,OAAO,GAAGR,SAAU;IAC1DS,aAAa,GAAA7B,qBAAA,GAAEQ,UAAU,CAACmB,UAAU,CAACC,KAAK,qBAA3B5B,qBAAA,CAA6B8B,OAAQ;IACpD5B,QAAQ,EAAEA,QAAS;IAAA6B,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAArC,YAAA;MAAAsC,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAEnB9C,MAAA,CAAAgC,OAAA,CAAAC,aAAA,CAAC3B,eAAA,CAAAyC,cAAc;IACbhC,IAAI,EAAEI,UAAU,CAACP,KAAK,CAACe,KAAM;IAC7BqB,QAAQ,EAAGrB,KAAK,IAAKR,UAAU,CAACP,KAAK,CAACoC,QAAQ,CAACrB,KAAK,CAAE;IACtDsB,OAAO,EAAEA,CAAA,KAAM9B,UAAU,CAACP,KAAK,CAACoC,QAAQ,CAAC,IAAI,CAAE;IAC/CnC,QAAQ,EAAE,SAASD,KAAK,CAACU,EAAE,EAAG;IAAAoB,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAArC,YAAA;MAAAsC,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC/B,CACQ,CAAC;AAEhB,CAAC;AAACI,OAAA,CAAA1C,KAAA,GAAAA,KAAA","ignoreList":[]}
@@ -0,0 +1,73 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ exports.__esModule = true;
5
+ exports.Email = void 0;
6
+ var _react = _interopRequireDefault(require("react"));
7
+ var _designSystem = require("@wix/design-system");
8
+ var _patterns = require("@wix/patterns");
9
+ var _form = require("@wix/patterns/form");
10
+ var _AutoPatternsAppContainerProvider = require("../AutoPatternsApp/AutoPatternsAppContainerProvider");
11
+ var emailValidation = _interopRequireWildcard(require("../../cms-fields/validations/email"));
12
+ var _jsxFileName = "/home/builduser/work/8f3ab5a55e62623a/packages/auto-patterns/dist/cjs/components/fields/Email.tsx";
13
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
14
+ const Email = props => {
15
+ var _field$validation2, _controller$fieldStat;
16
+ const {
17
+ field,
18
+ dataHook,
19
+ formControl,
20
+ data
21
+ } = props;
22
+ const {
23
+ translate: pt
24
+ } = (0, _patterns.useWixPatternsContainer)();
25
+ const {
26
+ translate: t
27
+ } = (0, _AutoPatternsAppContainerProvider.useAutoPatternsAppContainer)();
28
+ const controller = (0, _form.useController)({
29
+ name: (field == null ? void 0 : field.id) ?? '',
30
+ control: formControl,
31
+ defaultValue: data == null ? void 0 : data[(field == null ? void 0 : field.id) ?? ''],
32
+ rules: {
33
+ validate: value => {
34
+ var _field$validation;
35
+ if ((_field$validation = field.validation) != null && _field$validation.required && (value === null || value === undefined || value === '')) {
36
+ return pt('cairo.fieldValidation.requiredField');
37
+ } else if (value) {
38
+ if (!emailValidation.isValid(value)) {
39
+ return t('auto-patterns.fields.email_input_error');
40
+ }
41
+ }
42
+ return true;
43
+ }
44
+ }
45
+ });
46
+ return /*#__PURE__*/_react.default.createElement(_designSystem.FormField, {
47
+ label: field.displayName,
48
+ required: (_field$validation2 = field.validation) == null ? void 0 : _field$validation2.required,
49
+ dataHook: dataHook,
50
+ status: controller.fieldState.error && controller.formState.isSubmitted ? 'error' : undefined,
51
+ statusMessage: controller.formState.isSubmitted ? (_controller$fieldStat = controller.fieldState.error) == null ? void 0 : _controller$fieldStat.message : undefined,
52
+ __self: void 0,
53
+ __source: {
54
+ fileName: _jsxFileName,
55
+ lineNumber: 38,
56
+ columnNumber: 5
57
+ }
58
+ }, /*#__PURE__*/_react.default.createElement(_designSystem.Input, {
59
+ dataHook: `email-${field.id}`,
60
+ value: controller.field.value,
61
+ onChange: e => controller.field.onChange == null ? void 0 : controller.field.onChange(e.target.value),
62
+ onBlur: controller.field.onBlur,
63
+ ref: controller.field.ref,
64
+ __self: void 0,
65
+ __source: {
66
+ fileName: _jsxFileName,
67
+ lineNumber: 53,
68
+ columnNumber: 7
69
+ }
70
+ }));
71
+ };
72
+ exports.Email = Email;
73
+ //# sourceMappingURL=Email.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_patterns","_form","_AutoPatternsAppContainerProvider","emailValidation","_interopRequireWildcard","_jsxFileName","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","Email","props","_field$validation2","_controller$fieldStat","field","dataHook","formControl","data","translate","pt","useWixPatternsContainer","useAutoPatternsAppContainer","controller","useController","name","id","control","defaultValue","rules","validate","value","_field$validation","validation","required","undefined","isValid","createElement","FormField","label","displayName","status","fieldState","error","formState","isSubmitted","statusMessage","message","__self","__source","fileName","lineNumber","columnNumber","Input","onChange","target","onBlur","ref","exports"],"sources":["../../../../src/components/fields/Email.tsx"],"sourcesContent":["import React from 'react';\nimport { FormField, Input } from '@wix/design-system';\nimport { BaseInputProps } from './types';\nimport { useWixPatternsContainer } from '@wix/patterns';\nimport { useController } from '@wix/patterns/form';\nimport { useAutoPatternsAppContainer } from '../AutoPatternsApp/AutoPatternsAppContainerProvider';\nimport * as emailValidation from '../../cms-fields/validations/email';\n\nexport interface EmailProps extends BaseInputProps<string> {}\n\nexport const Email = (props: EmailProps) => {\n const { field, dataHook, formControl, data } = props;\n const { translate: pt } = useWixPatternsContainer();\n const { translate: t } = useAutoPatternsAppContainer();\n\n const controller = useController({\n name: field?.id ?? '',\n control: formControl,\n defaultValue: data?.[field?.id ?? ''],\n rules: {\n validate: (value: string | null | undefined) => {\n if (\n field.validation?.required &&\n (value === null || value === undefined || value === '')\n ) {\n return pt('cairo.fieldValidation.requiredField');\n } else if (value) {\n if (!emailValidation.isValid(value)) {\n return t('auto-patterns.fields.email_input_error');\n }\n }\n return true;\n },\n },\n });\n\n return (\n <FormField\n label={field.displayName}\n required={field.validation?.required}\n dataHook={dataHook}\n status={\n controller.fieldState.error && controller.formState.isSubmitted\n ? 'error'\n : undefined\n }\n statusMessage={\n controller.formState.isSubmitted\n ? controller.fieldState.error?.message\n : undefined\n }\n >\n <Input\n dataHook={`email-${field.id}`}\n value={controller.field.value}\n onChange={(e) => controller.field.onChange?.(e.target.value)}\n onBlur={controller.field.onBlur}\n ref={controller.field.ref}\n />\n </FormField>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -2,7 +2,9 @@
2
2
 
3
3
  exports.__esModule = true;
4
4
  var _exportNames = {
5
+ Audio: true,
5
6
  Checkbox: true,
7
+ Email: true,
6
8
  DateInput: true,
7
9
  DateTime: true,
8
10
  Document: true,
@@ -20,9 +22,13 @@ var _exportNames = {
20
22
  RichContent: true,
21
23
  RichText: true
22
24
  };
23
- exports.Url = exports.Time = exports.ShortText = exports.RichText = exports.RichContent = exports.Reference = exports.Object = exports.Number = exports.MultiReference = exports.MultiDocument = exports.LongText = exports.ImageInput = exports.Document = exports.DateTime = exports.DateInput = exports.Checkbox = exports.Address = void 0;
25
+ exports.Url = exports.Time = exports.ShortText = exports.RichText = exports.RichContent = exports.Reference = exports.Object = exports.Number = exports.MultiReference = exports.MultiDocument = exports.LongText = exports.ImageInput = exports.Email = exports.Document = exports.DateTime = exports.DateInput = exports.Checkbox = exports.Audio = exports.Address = void 0;
26
+ var _Audio = require("./Audio");
27
+ exports.Audio = _Audio.Audio;
24
28
  var _Checkbox = require("./Checkbox");
25
29
  exports.Checkbox = _Checkbox.Checkbox;
30
+ var _Email = require("./Email");
31
+ exports.Email = _Email.Email;
26
32
  var _DateInput = require("./DateInput");
27
33
  exports.DateInput = _DateInput.DateInput;
28
34
  var _DateTime = require("./DateTime");
@@ -1 +1 @@
1
- {"version":3,"names":["_Checkbox","require","exports","Checkbox","_DateInput","DateInput","_DateTime","DateTime","_Document","Document","_MultiDocument","MultiDocument","_ImageInput","ImageInput","_LongText","LongText","_Number","Number","_Reference","Reference","_MultiReference","MultiReference","_ShortText","ShortText","_Time","Time","_Url","Url","_Object","Object","_Address","Address","_RichContent","RichContent","_RichText","RichText","_types","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames"],"sources":["../../../../src/components/fields/index.ts"],"sourcesContent":["export { Checkbox } from './Checkbox';\nexport { DateInput } from './DateInput';\nexport { DateTime } from './DateTime';\nexport { Document } from './Document';\nexport { MultiDocument } from './MultiDocument';\nexport { ImageInput } from './ImageInput';\nexport { LongText } from './LongText';\nexport { Number } from './Number';\nexport { Reference } from './Reference';\nexport { MultiReference } from './MultiReference';\nexport { ShortText } from './ShortText';\nexport { Time } from './Time';\nexport { Url } from './Url';\nexport { Object } from './Object';\nexport { Address } from './Address';\nexport { RichContent } from './RichContent';\nexport { RichText } from './RichText';\nexport * from './types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,SAAA,GAAAC,OAAA;AAAsCC,OAAA,CAAAC,QAAA,GAAAH,SAAA,CAAAG,QAAA;AACtC,IAAAC,UAAA,GAAAH,OAAA;AAAwCC,OAAA,CAAAG,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACxC,IAAAC,SAAA,GAAAL,OAAA;AAAsCC,OAAA,CAAAK,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,SAAA,GAAAP,OAAA;AAAsCC,OAAA,CAAAO,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,cAAA,GAAAT,OAAA;AAAgDC,OAAA,CAAAS,aAAA,GAAAD,cAAA,CAAAC,aAAA;AAChD,IAAAC,WAAA,GAAAX,OAAA;AAA0CC,OAAA,CAAAW,UAAA,GAAAD,WAAA,CAAAC,UAAA;AAC1C,IAAAC,SAAA,GAAAb,OAAA;AAAsCC,OAAA,CAAAa,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,OAAA,GAAAf,OAAA;AAAkCC,OAAA,CAAAe,MAAA,GAAAD,OAAA,CAAAC,MAAA;AAClC,IAAAC,UAAA,GAAAjB,OAAA;AAAwCC,OAAA,CAAAiB,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACxC,IAAAC,eAAA,GAAAnB,OAAA;AAAkDC,OAAA,CAAAmB,cAAA,GAAAD,eAAA,CAAAC,cAAA;AAClD,IAAAC,UAAA,GAAArB,OAAA;AAAwCC,OAAA,CAAAqB,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACxC,IAAAC,KAAA,GAAAvB,OAAA;AAA8BC,OAAA,CAAAuB,IAAA,GAAAD,KAAA,CAAAC,IAAA;AAC9B,IAAAC,IAAA,GAAAzB,OAAA;AAA4BC,OAAA,CAAAyB,GAAA,GAAAD,IAAA,CAAAC,GAAA;AAC5B,IAAAC,OAAA,GAAA3B,OAAA;AAAkCC,OAAA,CAAA2B,MAAA,GAAAD,OAAA,CAAAC,MAAA;AAClC,IAAAC,QAAA,GAAA7B,OAAA;AAAoCC,OAAA,CAAA6B,OAAA,GAAAD,QAAA,CAAAC,OAAA;AACpC,IAAAC,YAAA,GAAA/B,OAAA;AAA4CC,OAAA,CAAA+B,WAAA,GAAAD,YAAA,CAAAC,WAAA;AAC5C,IAAAC,SAAA,GAAAjC,OAAA;AAAsCC,OAAA,CAAAiC,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,MAAA,GAAAnC,OAAA;AAAA4B,MAAA,CAAAQ,IAAA,CAAAD,MAAA,EAAAE,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAV,MAAA,CAAAW,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAArC,OAAA,IAAAA,OAAA,CAAAqC,GAAA,MAAAH,MAAA,CAAAG,GAAA;EAAArC,OAAA,CAAAqC,GAAA,IAAAH,MAAA,CAAAG,GAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["_Audio","require","exports","Audio","_Checkbox","Checkbox","_Email","Email","_DateInput","DateInput","_DateTime","DateTime","_Document","Document","_MultiDocument","MultiDocument","_ImageInput","ImageInput","_LongText","LongText","_Number","Number","_Reference","Reference","_MultiReference","MultiReference","_ShortText","ShortText","_Time","Time","_Url","Url","_Object","Object","_Address","Address","_RichContent","RichContent","_RichText","RichText","_types","keys","forEach","key","prototype","hasOwnProperty","call","_exportNames"],"sources":["../../../../src/components/fields/index.ts"],"sourcesContent":["export { Audio } from './Audio';\nexport { Checkbox } from './Checkbox';\nexport { Email } from './Email';\nexport { DateInput } from './DateInput';\nexport { DateTime } from './DateTime';\nexport { Document } from './Document';\nexport { MultiDocument } from './MultiDocument';\nexport { ImageInput } from './ImageInput';\nexport { LongText } from './LongText';\nexport { Number } from './Number';\nexport { Reference } from './Reference';\nexport { MultiReference } from './MultiReference';\nexport { ShortText } from './ShortText';\nexport { Time } from './Time';\nexport { Url } from './Url';\nexport { Object } from './Object';\nexport { Address } from './Address';\nexport { RichContent } from './RichContent';\nexport { RichText } from './RichText';\nexport * from './types';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAAgCC,OAAA,CAAAC,KAAA,GAAAH,MAAA,CAAAG,KAAA;AAChC,IAAAC,SAAA,GAAAH,OAAA;AAAsCC,OAAA,CAAAG,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,MAAA,GAAAL,OAAA;AAAgCC,OAAA,CAAAK,KAAA,GAAAD,MAAA,CAAAC,KAAA;AAChC,IAAAC,UAAA,GAAAP,OAAA;AAAwCC,OAAA,CAAAO,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACxC,IAAAC,SAAA,GAAAT,OAAA;AAAsCC,OAAA,CAAAS,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,SAAA,GAAAX,OAAA;AAAsCC,OAAA,CAAAW,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,cAAA,GAAAb,OAAA;AAAgDC,OAAA,CAAAa,aAAA,GAAAD,cAAA,CAAAC,aAAA;AAChD,IAAAC,WAAA,GAAAf,OAAA;AAA0CC,OAAA,CAAAe,UAAA,GAAAD,WAAA,CAAAC,UAAA;AAC1C,IAAAC,SAAA,GAAAjB,OAAA;AAAsCC,OAAA,CAAAiB,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,OAAA,GAAAnB,OAAA;AAAkCC,OAAA,CAAAmB,MAAA,GAAAD,OAAA,CAAAC,MAAA;AAClC,IAAAC,UAAA,GAAArB,OAAA;AAAwCC,OAAA,CAAAqB,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACxC,IAAAC,eAAA,GAAAvB,OAAA;AAAkDC,OAAA,CAAAuB,cAAA,GAAAD,eAAA,CAAAC,cAAA;AAClD,IAAAC,UAAA,GAAAzB,OAAA;AAAwCC,OAAA,CAAAyB,SAAA,GAAAD,UAAA,CAAAC,SAAA;AACxC,IAAAC,KAAA,GAAA3B,OAAA;AAA8BC,OAAA,CAAA2B,IAAA,GAAAD,KAAA,CAAAC,IAAA;AAC9B,IAAAC,IAAA,GAAA7B,OAAA;AAA4BC,OAAA,CAAA6B,GAAA,GAAAD,IAAA,CAAAC,GAAA;AAC5B,IAAAC,OAAA,GAAA/B,OAAA;AAAkCC,OAAA,CAAA+B,MAAA,GAAAD,OAAA,CAAAC,MAAA;AAClC,IAAAC,QAAA,GAAAjC,OAAA;AAAoCC,OAAA,CAAAiC,OAAA,GAAAD,QAAA,CAAAC,OAAA;AACpC,IAAAC,YAAA,GAAAnC,OAAA;AAA4CC,OAAA,CAAAmC,WAAA,GAAAD,YAAA,CAAAC,WAAA;AAC5C,IAAAC,SAAA,GAAArC,OAAA;AAAsCC,OAAA,CAAAqC,QAAA,GAAAD,SAAA,CAAAC,QAAA;AACtC,IAAAC,MAAA,GAAAvC,OAAA;AAAAgC,MAAA,CAAAQ,IAAA,CAAAD,MAAA,EAAAE,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAV,MAAA,CAAAW,SAAA,CAAAC,cAAA,CAAAC,IAAA,CAAAC,YAAA,EAAAJ,GAAA;EAAA,IAAAA,GAAA,IAAAzC,OAAA,IAAAA,OAAA,CAAAyC,GAAA,MAAAH,MAAA,CAAAG,GAAA;EAAAzC,OAAA,CAAAyC,GAAA,IAAAH,MAAA,CAAAG,GAAA;AAAA","ignoreList":[]}
@@ -8,6 +8,7 @@ var _form = require("@wix/patterns/form");
8
8
  var _fields = require("../fields");
9
9
  var _jsxFileName = "/home/builduser/work/8f3ab5a55e62623a/packages/auto-patterns/dist/cjs/components/layouts/FormField.tsx";
10
10
  const EDITABLE_INPUT_ELEMENTS = exports.EDITABLE_INPUT_ELEMENTS = {
11
+ AUDIO: _fields.Audio,
11
12
  SHORT_TEXT: _fields.ShortText,
12
13
  LONG_TEXT: _fields.LongText,
13
14
  BOOLEAN: _fields.Checkbox,
@@ -24,7 +25,8 @@ const EDITABLE_INPUT_ELEMENTS = exports.EDITABLE_INPUT_ELEMENTS = {
24
25
  RICH_CONTENT: _fields.RichContent,
25
26
  RICH_TEXT: _fields.RichText,
26
27
  DOCUMENT: _fields.Document,
27
- MULTI_DOCUMENT: _fields.MultiDocument
28
+ MULTI_DOCUMENT: _fields.MultiDocument,
29
+ EMAIL: _fields.Email
28
30
  };
29
31
  const FormField = ({
30
32
  field,
@@ -52,7 +54,7 @@ const FormField = ({
52
54
  __self: void 0,
53
55
  __source: {
54
56
  fileName: _jsxFileName,
55
- lineNumber: 73,
57
+ lineNumber: 77,
56
58
  columnNumber: 5
57
59
  }
58
60
  });
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_form","_fields","_jsxFileName","EDITABLE_INPUT_ELEMENTS","exports","SHORT_TEXT","ShortText","LONG_TEXT","LongText","BOOLEAN","Checkbox","DATE","DateInput","DATETIME","DateTime","TIME","Time","NUMBER","Number","URL","Url","IMAGE","ImageInput","REFERENCE","Reference","MULTI_REFERENCE","MultiReference","OBJECT","Object","ADDRESS","Address","RICH_CONTENT","RichContent","RICH_TEXT","RichText","DOCUMENT","Document","MULTI_DOCUMENT","MultiDocument","FormField","field","inputRef","formControl","data","controller","useController","name","id","control","defaultValue","hasOwnProperty","type","FieldInput","default","createElement","value","onChange","dataHook","__self","__source","fileName","lineNumber","columnNumber"],"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 ShortText,\n LongText,\n Checkbox,\n DateInput,\n DateTime,\n Time,\n Number,\n Url,\n ImageInput,\n Reference,\n BaseInputProps,\n Object,\n Address,\n RichContent,\n RichText,\n Document,\n MultiDocument,\n MultiReference,\n} from '../fields';\n\nexport const EDITABLE_INPUT_ELEMENTS: Partial<\n Record<PatternsFieldType, React.ComponentType<any>>\n> = {\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};\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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAmBmB,IAAAG,YAAA;AAEZ,MAAMC,uBAEZ,GAAAC,OAAA,CAAAD,uBAAA,GAAG;EACFE,UAAU,EAAEC,iBAAS;EACrBC,SAAS,EAAEC,gBAAQ;EACnBC,OAAO,EAAEC,gBAAQ;EACjBC,IAAI,EAAEC,iBAAS;EACfC,QAAQ,EAAEC,gBAAQ;EAClBC,IAAI,EAAEC,YAAI;EACVC,MAAM,EAAEC,cAAM;EACdC,GAAG,EAAEC,WAAG;EACRC,KAAK,EAAEC,kBAAU;EACjBC,SAAS,EAAEC,iBAAS;EACpBC,eAAe,EAAEC,sBAAc;EAC/BC,MAAM,EAAEC,cAAM;EACdC,OAAO,EAAEC,eAAO;EAChBC,YAAY,EAAEC,mBAAW;EACzBC,SAAS,EAAEC,gBAAQ;EACnBC,QAAQ,EAAEC,gBAAQ;EAClBC,cAAc,EAAEC;AAClB,CAAC;AASM,MAAMC,SAAmC,GAAGA,CAAC;EAClDC,KAAK;EACLC,QAAQ;EACRC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,MAAMC,UAAU,GAAG,IAAAC,mBAAa,EAAC;IAC/BC,IAAI,EAAE,CAAAN,KAAK,oBAALA,KAAK,CAAEO,EAAE,KAAI,EAAE;IACrBC,OAAO,EAAEN,WAAW;IACpBO,YAAY,EAAEN,IAAI,oBAAJA,IAAI,CAAG,CAAAH,KAAK,oBAALA,KAAK,CAAEO,EAAE,KAAI,EAAE;EACtC,CAAC,CAAC;EAEF,IAAI,CAAC5C,uBAAuB,CAAC+C,cAAc,CAACV,KAAK,CAACW,IAAI,CAAC,EAAE;IACvD,OAAO,IAAI;EACb;EAEA,MAAMC,UAAU,GAAGjD,uBAAuB,CAACqC,KAAK,CAACW,IAAI,CAAE;EAEvD,oBACEtD,MAAA,CAAAwD,OAAA,CAAAC,aAAA,CAACF,UAAU;IACTZ,KAAK,EAAEA,KAAM;IACbe,KAAK,EAAEX,UAAU,CAACJ,KAAK,CAACe,KAAM;IAC9BC,QAAQ,EAAEZ,UAAU,CAACJ,KAAK,CAACgB,QAAS;IACpCC,QAAQ,EAAE,cAAcjB,KAAK,CAACO,EAAE,EAAG;IACnCN,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA,WAAY;IACzBC,IAAI,EAAEA,IAAI,IAAI,CAAC,CAAE;IAAAe,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA1D,YAAA;MAAA2D,UAAA;MAAAC,YAAA;IAAA;EAAA,CAClB,CAAC;AAEN,CAAC;AAAC1D,OAAA,CAAAmC,SAAA,GAAAA,SAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_form","_fields","_jsxFileName","EDITABLE_INPUT_ELEMENTS","exports","AUDIO","Audio","SHORT_TEXT","ShortText","LONG_TEXT","LongText","BOOLEAN","Checkbox","DATE","DateInput","DATETIME","DateTime","TIME","Time","NUMBER","Number","URL","Url","IMAGE","ImageInput","REFERENCE","Reference","MULTI_REFERENCE","MultiReference","OBJECT","Object","ADDRESS","Address","RICH_CONTENT","RichContent","RICH_TEXT","RichText","DOCUMENT","Document","MULTI_DOCUMENT","MultiDocument","EMAIL","Email","FormField","field","inputRef","formControl","data","controller","useController","name","id","control","defaultValue","hasOwnProperty","type","FieldInput","default","createElement","value","onChange","dataHook","__self","__source","fileName","lineNumber","columnNumber"],"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 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} 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};\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,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAEA,IAAAE,OAAA,GAAAF,OAAA;AAqBmB,IAAAG,YAAA;AAEZ,MAAMC,uBAEZ,GAAAC,OAAA,CAAAD,uBAAA,GAAG;EACFE,KAAK,EAAEC,aAAK;EACZC,UAAU,EAAEC,iBAAS;EACrBC,SAAS,EAAEC,gBAAQ;EACnBC,OAAO,EAAEC,gBAAQ;EACjBC,IAAI,EAAEC,iBAAS;EACfC,QAAQ,EAAEC,gBAAQ;EAClBC,IAAI,EAAEC,YAAI;EACVC,MAAM,EAAEC,cAAM;EACdC,GAAG,EAAEC,WAAG;EACRC,KAAK,EAAEC,kBAAU;EACjBC,SAAS,EAAEC,iBAAS;EACpBC,eAAe,EAAEC,sBAAc;EAC/BC,MAAM,EAAEC,cAAM;EACdC,OAAO,EAAEC,eAAO;EAChBC,YAAY,EAAEC,mBAAW;EACzBC,SAAS,EAAEC,gBAAQ;EACnBC,QAAQ,EAAEC,gBAAQ;EAClBC,cAAc,EAAEC,qBAAa;EAC7BC,KAAK,EAAEC;AACT,CAAC;AASM,MAAMC,SAAmC,GAAGA,CAAC;EAClDC,KAAK;EACLC,QAAQ;EACRC,WAAW;EACXC;AACF,CAAC,KAAK;EACJ,MAAMC,UAAU,GAAG,IAAAC,mBAAa,EAAC;IAC/BC,IAAI,EAAE,CAAAN,KAAK,oBAALA,KAAK,CAAEO,EAAE,KAAI,EAAE;IACrBC,OAAO,EAAEN,WAAW;IACpBO,YAAY,EAAEN,IAAI,oBAAJA,IAAI,CAAG,CAAAH,KAAK,oBAALA,KAAK,CAAEO,EAAE,KAAI,EAAE;EACtC,CAAC,CAAC;EAEF,IAAI,CAAChD,uBAAuB,CAACmD,cAAc,CAACV,KAAK,CAACW,IAAI,CAAC,EAAE;IACvD,OAAO,IAAI;EACb;EAEA,MAAMC,UAAU,GAAGrD,uBAAuB,CAACyC,KAAK,CAACW,IAAI,CAAE;EAEvD,oBACE1D,MAAA,CAAA4D,OAAA,CAAAC,aAAA,CAACF,UAAU;IACTZ,KAAK,EAAEA,KAAM;IACbe,KAAK,EAAEX,UAAU,CAACJ,KAAK,CAACe,KAAM;IAC9BC,QAAQ,EAAEZ,UAAU,CAACJ,KAAK,CAACgB,QAAS;IACpCC,QAAQ,EAAE,cAAcjB,KAAK,CAACO,EAAE,EAAG;IACnCN,QAAQ,EAAEA,QAAS;IACnBC,WAAW,EAAEA,WAAY;IACzBC,IAAI,EAAEA,IAAI,IAAI,CAAC,CAAE;IAAAe,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAA9D,YAAA;MAAA+D,UAAA;MAAAC,YAAA;IAAA;EAAA,CAClB,CAAC;AAEN,CAAC;AAAC9D,OAAA,CAAAuC,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -6,6 +6,7 @@ exports.ViewField = void 0;
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
  var _designSystem = require("@wix/design-system");
8
8
  var _ReferenceViewField = require("../ReferenceViewField");
9
+ var _audioView = require("../../cms-fields/components/audio/audio-field/audio-view");
9
10
  var _documentView = require("../../cms-fields/components/document/document-view");
10
11
  var _multiDocumentView = require("../../cms-fields/components/multi-document/multi-document-view/multi-document-view");
11
12
  var _MultiReferenceViewField = require("../MultiReferenceViewField");
@@ -54,7 +55,7 @@ const ViewFieldContent = ({
54
55
  __self: void 0,
55
56
  __source: {
56
57
  fileName: _jsxFileName,
57
- lineNumber: 61,
58
+ lineNumber: 62,
58
59
  columnNumber: 12
59
60
  }
60
61
  }, "-");
@@ -67,7 +68,7 @@ const ViewFieldContent = ({
67
68
  __self: void 0,
68
69
  __source: {
69
70
  fileName: _jsxFileName,
70
- lineNumber: 66,
71
+ lineNumber: 67,
71
72
  columnNumber: 14
72
73
  }
73
74
  });
@@ -78,7 +79,17 @@ const ViewFieldContent = ({
78
79
  __self: void 0,
79
80
  __source: {
80
81
  fileName: _jsxFileName,
81
- lineNumber: 68,
82
+ lineNumber: 69,
83
+ columnNumber: 14
84
+ }
85
+ });
86
+ case 'AUDIO':
87
+ return /*#__PURE__*/_react.default.createElement(_audioView.AudioView, {
88
+ data: value,
89
+ __self: void 0,
90
+ __source: {
91
+ fileName: _jsxFileName,
92
+ lineNumber: 71,
82
93
  columnNumber: 14
83
94
  }
84
95
  });
@@ -88,7 +99,7 @@ const ViewFieldContent = ({
88
99
  __self: void 0,
89
100
  __source: {
90
101
  fileName: _jsxFileName,
91
- lineNumber: 70,
102
+ lineNumber: 73,
92
103
  columnNumber: 14
93
104
  }
94
105
  });
@@ -98,7 +109,7 @@ const ViewFieldContent = ({
98
109
  __self: void 0,
99
110
  __source: {
100
111
  fileName: _jsxFileName,
101
- lineNumber: 72,
112
+ lineNumber: 75,
102
113
  columnNumber: 14
103
114
  }
104
115
  });
@@ -108,7 +119,7 @@ const ViewFieldContent = ({
108
119
  __self: void 0,
109
120
  __source: {
110
121
  fileName: _jsxFileName,
111
- lineNumber: 74,
122
+ lineNumber: 77,
112
123
  columnNumber: 14
113
124
  }
114
125
  });
@@ -117,7 +128,7 @@ const ViewFieldContent = ({
117
128
  __self: void 0,
118
129
  __source: {
119
130
  fileName: _jsxFileName,
120
- lineNumber: 76,
131
+ lineNumber: 79,
121
132
  columnNumber: 14
122
133
  }
123
134
  }, getDisplayValue(value));
@@ -135,7 +146,7 @@ const ViewField = ({
135
146
  __self: void 0,
136
147
  __source: {
137
148
  fileName: _jsxFileName,
138
- lineNumber: 89,
149
+ lineNumber: 92,
139
150
  columnNumber: 5
140
151
  }
141
152
  }, /*#__PURE__*/_react.default.createElement(_designSystem.Text, {
@@ -144,7 +155,7 @@ const ViewField = ({
144
155
  __self: void 0,
145
156
  __source: {
146
157
  fileName: _jsxFileName,
147
- lineNumber: 90,
158
+ lineNumber: 93,
148
159
  columnNumber: 7
149
160
  }
150
161
  }, field.displayName || field.id), /*#__PURE__*/_react.default.createElement(ViewFieldContent, {
@@ -153,7 +164,7 @@ const ViewField = ({
153
164
  __self: void 0,
154
165
  __source: {
155
166
  fileName: _jsxFileName,
156
- lineNumber: 93,
167
+ lineNumber: 96,
157
168
  columnNumber: 7
158
169
  }
159
170
  }));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_designSystem","_ReferenceViewField","_documentView","_multiDocumentView","_MultiReferenceViewField","_address","_jsxFileName","getDisplayValue","value","undefined","String","Array","isArray","length","join","Date","toLocaleDateString","toString","Object","prototype","JSON","stringify","isEmptyValue","ViewFieldContent","field","default","createElement","Text","__self","__source","fileName","lineNumber","columnNumber","type","ReferenceViewField","MultiReferenceViewField","DocumentView","data","MultiDocumentView","AddressView","ViewField","fieldValue","id","Box","direction","gap","dataHook","size","secondary","displayName","exports"],"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 { 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 '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","_interopRequireDefault","require","_designSystem","_ReferenceViewField","_audioView","_documentView","_multiDocumentView","_MultiReferenceViewField","_address","_jsxFileName","getDisplayValue","value","undefined","String","Array","isArray","length","join","Date","toLocaleDateString","toString","Object","prototype","JSON","stringify","isEmptyValue","ViewFieldContent","field","default","createElement","Text","__self","__source","fileName","lineNumber","columnNumber","type","ReferenceViewField","MultiReferenceViewField","AudioView","data","DocumentView","MultiDocumentView","AddressView","ViewField","fieldValue","id","Box","direction","gap","dataHook","size","secondary","displayName","exports"],"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":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AAEA,IAAAE,mBAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,aAAA,GAAAJ,OAAA;AACA,IAAAK,kBAAA,GAAAL,OAAA;AACA,IAAAM,wBAAA,GAAAN,OAAA;AACA,IAAAO,QAAA,GAAAP,OAAA;AAAkE,IAAAQ,YAAA;AAGlE;AACA,MAAMC,eAAe,GAAIC,KAAU,IAAa;EAC9C,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKC,SAAS,EAAE;IACzC,OAAO,GAAG;EACZ;EACA,IACE,OAAOD,KAAK,KAAK,QAAQ,IACzB,OAAOA,KAAK,KAAK,QAAQ,IACzB,OAAOA,KAAK,KAAK,SAAS,EAC1B;IACA,OAAOE,MAAM,CAACF,KAAK,CAAC;EACtB;EACA,IAAIG,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,EAAE;IACxB,OAAOA,KAAK,CAACK,MAAM,GAAG,CAAC,GAAGL,KAAK,CAACM,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG;EAClD;EACA,IAAI,OAAON,KAAK,KAAK,QAAQ,EAAE;IAC7B;IACA,IAAIA,KAAK,YAAYO,IAAI,EAAE;MACzB,OAAOP,KAAK,CAACQ,kBAAkB,CAAC,CAAC;IACnC;IACA;IACA,IAAIR,KAAK,CAACS,QAAQ,IAAIT,KAAK,CAACS,QAAQ,KAAKC,MAAM,CAACC,SAAS,CAACF,QAAQ,EAAE;MAClE,OAAOT,KAAK,CAACS,QAAQ,CAAC,CAAC;IACzB;IACA;IACA,OAAOG,IAAI,CAACC,SAAS,CAACb,KAAK,CAAC;EAC9B;EACA,OAAOE,MAAM,CAACF,KAAK,CAAC;AACtB,CAAC;AAED,MAAMc,YAAY,GAAId,KAAU,IAAc;EAC5C,IAAIA,KAAK,KAAK,IAAI,IAAIA,KAAK,KAAKC,SAAS,EAAE;IACzC,OAAO,IAAI;EACb;EACA,IAAIE,KAAK,CAACC,OAAO,CAACJ,KAAK,CAAC,IAAIA,KAAK,CAACK,MAAM,KAAK,CAAC,EAAE;IAC9C,OAAO,IAAI;EACb;EACA,OAAO,KAAK;AACd,CAAC;AAOD,MAAMU,gBAAiD,GAAGA,CAAC;EACzDC,KAAK;EACLhB;AACF,CAAC,KAAK;EACJ,IAAIc,YAAY,CAACd,KAAK,CAAC,EAAE;IACvB,oBAAOZ,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA4B,IAAI;MAAAC,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAxB,YAAA;QAAAyB,UAAA;QAAAC,YAAA;MAAA;IAAA,GAAC,GAAO,CAAC;EACvB;EAEA,QAAQR,KAAK,CAACS,IAAI;IAChB,KAAK,WAAW;MACd,oBAAOrC,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAAC1B,mBAAA,CAAAkC,kBAAkB;QAACV,KAAK,EAAEA,KAAM;QAAChB,KAAK,EAAEA,KAAM;QAAAoB,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAxB,YAAA;UAAAyB,UAAA;UAAAC,YAAA;QAAA;MAAA,CAAE,CAAC;IAC3D,KAAK,iBAAiB;MACpB,oBAAOpC,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAACtB,wBAAA,CAAA+B,uBAAuB;QAACX,KAAK,EAAEA,KAAM;QAAChB,KAAK,EAAEA,KAAM;QAAAoB,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAxB,YAAA;UAAAyB,UAAA;UAAAC,YAAA;QAAA;MAAA,CAAE,CAAC;IAChE,KAAK,OAAO;MACV,oBAAOpC,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAACzB,UAAA,CAAAmC,SAAS;QAACC,IAAI,EAAE7B,KAAgB;QAAAoB,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAxB,YAAA;UAAAyB,UAAA;UAAAC,YAAA;QAAA;MAAA,CAAE,CAAC;IAC7C,KAAK,UAAU;MACb,oBAAOpC,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAACxB,aAAA,CAAAoC,YAAY;QAACD,IAAI,EAAE7B,KAAgB;QAAAoB,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAxB,YAAA;UAAAyB,UAAA;UAAAC,YAAA;QAAA;MAAA,CAAE,CAAC;IAChD,KAAK,gBAAgB;MACnB,oBAAOpC,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAACvB,kBAAA,CAAAoC,iBAAiB;QAACF,IAAI,EAAE7B,KAAkB;QAAAoB,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAxB,YAAA;UAAAyB,UAAA;UAAAC,YAAA;QAAA;MAAA,CAAE,CAAC;IACvD,KAAK,SAAS;MACZ,oBAAOpC,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAACrB,QAAA,CAAAmC,WAAW;QAACH,IAAI,EAAE7B,KAAiB;QAAAoB,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAxB,YAAA;UAAAyB,UAAA;UAAAC,YAAA;QAAA;MAAA,CAAE,CAAC;IAChD;MACE,oBAAOpC,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA4B,IAAI;QAAAC,MAAA;QAAAC,QAAA;UAAAC,QAAA,EAAAxB,YAAA;UAAAyB,UAAA;UAAAC,YAAA;QAAA;MAAA,GAAEzB,eAAe,CAACC,KAAK,CAAQ,CAAC;EAChD;AACF,CAAC;AAOM,MAAMiC,SAAmC,GAAGA,CAAC;EAAEjB,KAAK;EAAEa;AAAK,CAAC,KAAK;EACtE,MAAMK,UAAU,GAAGL,IAAI,oBAAJA,IAAI,CAAG,CAAAb,KAAK,oBAALA,KAAK,CAAEmB,EAAE,KAAI,EAAE,CAAC;EAE1C,oBACE/C,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA6C,GAAG;IAACC,SAAS,EAAC,UAAU;IAACC,GAAG,EAAC,KAAK;IAACC,QAAQ,EAAE,cAAcvB,KAAK,CAACmB,EAAE,EAAG;IAAAf,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAxB,YAAA;MAAAyB,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACrEpC,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAAC3B,aAAA,CAAA4B,IAAI;IAACqB,IAAI,EAAC,OAAO;IAACC,SAAS;IAAArB,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAxB,YAAA;MAAAyB,UAAA;MAAAC,YAAA;IAAA;EAAA,GACzBR,KAAK,CAAC0B,WAAW,IAAI1B,KAAK,CAACmB,EACxB,CAAC,eACP/C,MAAA,CAAA6B,OAAA,CAAAC,aAAA,CAACH,gBAAgB;IAACC,KAAK,EAAEA,KAAM;IAAChB,KAAK,EAAEkC,UAAW;IAAAd,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAxB,YAAA;MAAAyB,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CACjD,CAAC;AAEV,CAAC;AAACmB,OAAA,CAAAV,SAAA,GAAAA,SAAA","ignoreList":[]}
@@ -7,6 +7,10 @@ exports.transformCmsSchema = transformCmsSchema;
7
7
  var _data = require("@wix/data");
8
8
  var _fetchCmsData = require("./fetchCmsData");
9
9
  var _essentials = require("@wix/essentials");
10
+ // The CMS backend returns 'EMAIL' as a field type but the @wix/data SDK
11
+ // doesn't expose it in collections.Type. We use a string literal as a workaround until the SDK is updated.
12
+ // TODO: remove this once the SDK is updated
13
+ const CMS_EMAIL_TYPE = 'EMAIL';
10
14
  const CmsFieldTypeToPatternsFieldType = exports.CmsFieldTypeToPatternsFieldType = {
11
15
  [_data.collections.Type.TEXT]: 'SHORT_TEXT',
12
16
  [_data.collections.Type.DATE]: 'DATE',
@@ -26,7 +30,9 @@ const CmsFieldTypeToPatternsFieldType = exports.CmsFieldTypeToPatternsFieldType
26
30
  [_data.collections.Type.IMAGE]: 'IMAGE',
27
31
  [_data.collections.Type.MEDIA_GALLERY]: 'MEDIA_GALLERY',
28
32
  [_data.collections.Type.DOCUMENT]: 'DOCUMENT',
29
- [_data.collections.Type.ARRAY_DOCUMENT]: 'MULTI_DOCUMENT'
33
+ [_data.collections.Type.ARRAY_DOCUMENT]: 'MULTI_DOCUMENT',
34
+ [_data.collections.Type.AUDIO]: 'AUDIO',
35
+ [CMS_EMAIL_TYPE]: 'EMAIL'
30
36
  };
31
37
  async function fetchCmsSchema(collectionId) {
32
38
  const schema = await _essentials.errorHandler.withErrorHandler(async () => _data.collections.getDataCollection(collectionId), {});
@@ -1 +1 @@
1
- {"version":3,"names":["_data","require","_fetchCmsData","_essentials","CmsFieldTypeToPatternsFieldType","exports","collections","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","fetchCmsSchema","collectionId","schema","errorHandler","withErrorHandler","getDataCollection","getReferenceFields","fields","Object","values","filter","f","type","updateMultiReferences","entityId","entity","multiReferenceFields","Promise","all","map","field","rawValue","id","multipleReferenceValues","multipleReferenceIds","value","_id","items","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","fetchCmsData"],"sources":["../../../../src/dataSourceAdapters/cms/cmsAdapter.ts"],"sourcesContent":["import { Field, SchemaConfig, PatternsFieldType } from '../../types';\nimport { collections, items } from '@wix/data';\nimport { fetchCmsData } from './fetchCmsData';\nimport { errorHandler } from '@wix/essentials';\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};\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 },\n };\n\n return schemaConfig;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_data","require","_fetchCmsData","_essentials","CMS_EMAIL_TYPE","CmsFieldTypeToPatternsFieldType","exports","collections","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","fetchCmsSchema","collectionId","schema","errorHandler","withErrorHandler","getDataCollection","getReferenceFields","fields","Object","values","filter","f","type","updateMultiReferences","entityId","entity","multiReferenceFields","Promise","all","map","field","rawValue","id","multipleReferenceValues","multipleReferenceIds","value","_id","items","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","fetchCmsData"],"sources":["../../../../src/dataSourceAdapters/cms/cmsAdapter.ts"],"sourcesContent":["import { Field, SchemaConfig, PatternsFieldType } from '../../types';\nimport { collections, items } from '@wix/data';\nimport { fetchCmsData } from './fetchCmsData';\nimport { errorHandler } from '@wix/essentials';\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};\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 },\n };\n\n return schemaConfig;\n}\n"],"mappings":"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","ignoreList":[]}
@@ -64,7 +64,7 @@ function addFiltersToDataQuery({
64
64
  const filter = filters[fieldKey];
65
65
  if (filter) {
66
66
  if (Array.isArray(filter)) {
67
- var _fields$fieldId, _fields$fieldId2, _fields$fieldId3, _fields$fieldId4, _fields$fieldId5;
67
+ var _fields$fieldId, _fields$fieldId2, _fields$fieldId3, _fields$fieldId4, _fields$fieldId5, _fields$fieldId6;
68
68
  const filterArray = filter;
69
69
  if (((_fields$fieldId = fields[fieldId]) == null ? void 0 : _fields$fieldId.type) === 'BOOLEAN') {
70
70
  if (filterArray.some(item => item.id === _constants.BooleanFilters.checked)) {
@@ -74,7 +74,7 @@ function addFiltersToDataQuery({
74
74
  const undefinedFilter = _data.items.filter().eq(fieldId, undefined);
75
75
  dataQueryWithFilters = dataQueryWithFilters.and(falseFilter.or(undefinedFilter));
76
76
  }
77
- } else if (((_fields$fieldId2 = fields[fieldId]) == null ? void 0 : _fields$fieldId2.type) === 'RICH_CONTENT' || ((_fields$fieldId3 = fields[fieldId]) == null ? void 0 : _fields$fieldId3.type) === 'TIME' || ((_fields$fieldId4 = fields[fieldId]) == null ? void 0 : _fields$fieldId4.type) === 'DOCUMENT' || ((_fields$fieldId5 = fields[fieldId]) == null ? void 0 : _fields$fieldId5.type) === 'MULTI_DOCUMENT') {
77
+ } else if (((_fields$fieldId2 = fields[fieldId]) == null ? void 0 : _fields$fieldId2.type) === 'RICH_CONTENT' || ((_fields$fieldId3 = fields[fieldId]) == null ? void 0 : _fields$fieldId3.type) === 'TIME' || ((_fields$fieldId4 = fields[fieldId]) == null ? void 0 : _fields$fieldId4.type) === 'DOCUMENT' || ((_fields$fieldId5 = fields[fieldId]) == null ? void 0 : _fields$fieldId5.type) === 'MULTI_DOCUMENT' || ((_fields$fieldId6 = fields[fieldId]) == null ? void 0 : _fields$fieldId6.type) === 'AUDIO') {
78
78
  const wantsHasValue = filterArray.some(item => item.id === _constants.HasValueFilters.hasValue);
79
79
  const wantsNoValue = filterArray.some(item => item.id === _constants.HasValueFilters.noValue);
80
80
  // Only apply filter if exactly one option is selected
@@ -90,8 +90,8 @@ function addFiltersToDataQuery({
90
90
  } else if (typeof filter === 'object') {
91
91
  // Operator filter
92
92
  if (filter.operator) {
93
- var _fields$fieldId6;
94
- const queryFieldId = getQueryFieldId(fieldId, (_fields$fieldId6 = fields[fieldId]) == null ? void 0 : _fields$fieldId6.type, filter.operator);
93
+ var _fields$fieldId7;
94
+ const queryFieldId = getQueryFieldId(fieldId, (_fields$fieldId7 = fields[fieldId]) == null ? void 0 : _fields$fieldId7.type, filter.operator);
95
95
  if (filter.operator === _patterns.FilterOperator.NOT_CONTAINS) {
96
96
  const containsFilter = _data.items.filter().contains(queryFieldId, filter.value);
97
97
  dataQueryWithFilters = dataQueryWithFilters.not(containsFilter);
@@ -1 +1 @@
1
- {"version":3,"names":["_patterns","require","_data","_constants","FilterPropToMethod","from","to","FilterOperator","CONTAINS","IS_EMPTY","EXISTS","isValidFilterProp","prop","getOperatorForFilter","undefined","isSupportedOperator","fields","filterProp","filterKey","_field$capabilities","field","operator","FilterPropToOperator","supportedOperators","capabilities","supportedQueryOperators","includes","getQueryFieldId","fieldId","fieldType","isAddressField","isExistenceOperator","addFiltersToDataQuery","dataQuery","query","filterFieldMapping","dataQueryWithFilters","filters","fieldKey","filter","Array","isArray","_fields$fieldId","_fields$fieldId2","_fields$fieldId3","_fields$fieldId4","_fields$fieldId5","filterArray","type","some","item","id","BooleanFilters","checked","eq","falseFilter","items","undefinedFilter","and","or","wantsHasValue","HasValueFilters","hasValue","wantsNoValue","noValue","isNotEmpty","isEmpty","hasSome","map","_fields$fieldId6","queryFieldId","NOT_CONTAINS","containsFilter","contains","value","not","filterObj","TEXT_FIELD_TYPES","addSearchToDataQuery","searchableFieldIds","searchableFields","Object","keys","isFieldSearchable","search","length","searchFilter","forEach","currentFilter"],"sources":["../../../../src/dataSourceAdapters/cms/filterUtils.ts"],"sourcesContent":["import { FilterOperator } from '@wix/patterns';\nimport { items } from '@wix/data';\nimport {\n BooleanFilters,\n FilterProp,\n FilterPropToOperator,\n HasValueFilters,\n} from '../constants';\nimport { Query, SchemaConfig } from '../../types';\n\nexport type CmsOperatorMethod =\n | 'ge'\n | 'le'\n | 'contains'\n | 'isEmpty'\n | 'isNotEmpty';\n\nconst FilterPropToMethod: Partial<\n Record<FilterProp | FilterOperator, CmsOperatorMethod>\n> = {\n from: 'ge',\n to: 'le',\n [FilterOperator.CONTAINS]: 'contains',\n [FilterOperator.IS_EMPTY]: 'isEmpty',\n [FilterOperator.EXISTS]: 'isNotEmpty',\n};\n\nfunction isValidFilterProp(prop: string): prop is FilterProp {\n return prop in FilterPropToMethod;\n}\n\nfunction getOperatorForFilter(prop: string): CmsOperatorMethod | undefined {\n if (isValidFilterProp(prop)) {\n return FilterPropToMethod[prop];\n }\n return undefined;\n}\n\nconst isSupportedOperator = (\n fields: SchemaConfig['fields'],\n filterProp: string,\n filterKey: string,\n) => {\n const field = fields[filterKey];\n if (!field) {\n return false;\n }\n\n if (!isValidFilterProp(filterProp)) {\n return false;\n }\n\n const operator = FilterPropToOperator[filterProp];\n const supportedOperators = field.capabilities?.supportedQueryOperators;\n return supportedOperators?.includes(operator);\n};\n\n/**\n * For ADDRESS fields, text-based operators (CONTAINS, NOT_CONTAINS) should query\n * the 'formatted' nested property, which contains the human-readable address string.\n * Existence operators (IS_EMPTY, EXISTS) should query the field directly.\n */\nconst getQueryFieldId = (\n fieldId: string,\n fieldType: string | undefined,\n operator: FilterOperator,\n): string => {\n const isAddressField = fieldType === 'ADDRESS';\n const isExistenceOperator =\n operator === FilterOperator.IS_EMPTY || operator === FilterOperator.EXISTS;\n\n return isAddressField && !isExistenceOperator\n ? `${fieldId}.formatted`\n : fieldId;\n};\n\nexport function addFiltersToDataQuery({\n dataQuery,\n query,\n fields,\n filterFieldMapping,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n}) {\n if (!filterFieldMapping) {\n return dataQuery;\n }\n\n let dataQueryWithFilters = dataQuery;\n const { filters } = query;\n for (const fieldKey in filters) {\n const fieldId = filterFieldMapping[fieldKey].fieldId;\n const filter = filters[fieldKey];\n if (filter) {\n if (Array.isArray(filter)) {\n const filterArray = filter as { [key: string]: any }[];\n if (fields[fieldId]?.type === 'BOOLEAN') {\n if (filterArray.some((item) => item.id === BooleanFilters.checked)) {\n dataQueryWithFilters = dataQueryWithFilters.eq(fieldId, true);\n } else {\n const falseFilter = items.filter().eq(fieldId, false);\n const undefinedFilter = items.filter().eq(fieldId, undefined);\n dataQueryWithFilters = dataQueryWithFilters.and(\n falseFilter.or(undefinedFilter),\n );\n }\n } else if (\n fields[fieldId]?.type === 'RICH_CONTENT' ||\n fields[fieldId]?.type === 'TIME' ||\n fields[fieldId]?.type === 'DOCUMENT' ||\n fields[fieldId]?.type === 'MULTI_DOCUMENT'\n ) {\n const wantsHasValue = filterArray.some(\n (item) => item.id === HasValueFilters.hasValue,\n );\n const wantsNoValue = filterArray.some(\n (item) => item.id === HasValueFilters.noValue,\n );\n // Only apply filter if exactly one option is selected\n if (wantsHasValue && !wantsNoValue) {\n dataQueryWithFilters = dataQueryWithFilters.isNotEmpty(fieldId);\n } else if (wantsNoValue && !wantsHasValue) {\n dataQueryWithFilters = dataQueryWithFilters.isEmpty(fieldId);\n }\n // If both or neither selected, no filter applied (show all)\n } else {\n dataQueryWithFilters = dataQueryWithFilters.hasSome(\n fieldId,\n filterArray.map((item) => item.id),\n );\n }\n } else if (typeof filter === 'object') {\n // Operator filter\n if (filter.operator) {\n const queryFieldId = getQueryFieldId(\n fieldId,\n fields[fieldId]?.type,\n filter.operator,\n );\n\n if (filter.operator === FilterOperator.NOT_CONTAINS) {\n const containsFilter = items\n .filter()\n .contains(queryFieldId, filter.value);\n dataQueryWithFilters = dataQueryWithFilters.not(containsFilter);\n } else {\n const operator = getOperatorForFilter(filter.operator);\n if (operator) {\n if (operator === 'isEmpty' || operator === 'isNotEmpty') {\n dataQueryWithFilters = dataQueryWithFilters[operator](fieldId);\n } else {\n dataQueryWithFilters = dataQueryWithFilters[operator](\n queryFieldId,\n filter.value,\n );\n }\n }\n }\n }\n // Range filter\n const filterObj = filter as Record<string, any>;\n for (const filterProp in filterObj) {\n const operator = getOperatorForFilter(filterProp);\n if (\n operator &&\n typeof dataQuery[operator] === 'function' &&\n isSupportedOperator(fields, filterProp, fieldId)\n ) {\n const value = filterObj[filterProp];\n if (value !== undefined && value !== null) {\n dataQueryWithFilters = dataQueryWithFilters[operator](\n fieldId,\n value,\n );\n }\n }\n }\n }\n }\n }\n\n return dataQueryWithFilters;\n}\n\nconst TEXT_FIELD_TYPES = ['LONG_TEXT', 'SHORT_TEXT'];\nexport function addSearchToDataQuery({\n dataQuery,\n query,\n fields,\n searchableFieldIds,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n searchableFieldIds: string[];\n}) {\n const searchableFields = Object.keys(fields).filter((fieldId) => {\n const field = fields[fieldId];\n const isFieldSearchable = searchableFieldIds.includes(fieldId);\n\n return isFieldSearchable && field && TEXT_FIELD_TYPES.includes(field.type);\n });\n\n if (query.search && searchableFields.length > 0) {\n let searchFilter: items.WixDataFilter | null = null;\n\n searchableFields.forEach((field) => {\n const currentFilter = items.filter().contains(field, query.search!);\n searchFilter = searchFilter\n ? searchFilter.or(currentFilter)\n : currentFilter;\n });\n\n if (searchFilter) {\n dataQuery = dataQuery.and(searchFilter);\n }\n }\n\n return dataQuery;\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_patterns","require","_data","_constants","FilterPropToMethod","from","to","FilterOperator","CONTAINS","IS_EMPTY","EXISTS","isValidFilterProp","prop","getOperatorForFilter","undefined","isSupportedOperator","fields","filterProp","filterKey","_field$capabilities","field","operator","FilterPropToOperator","supportedOperators","capabilities","supportedQueryOperators","includes","getQueryFieldId","fieldId","fieldType","isAddressField","isExistenceOperator","addFiltersToDataQuery","dataQuery","query","filterFieldMapping","dataQueryWithFilters","filters","fieldKey","filter","Array","isArray","_fields$fieldId","_fields$fieldId2","_fields$fieldId3","_fields$fieldId4","_fields$fieldId5","_fields$fieldId6","filterArray","type","some","item","id","BooleanFilters","checked","eq","falseFilter","items","undefinedFilter","and","or","wantsHasValue","HasValueFilters","hasValue","wantsNoValue","noValue","isNotEmpty","isEmpty","hasSome","map","_fields$fieldId7","queryFieldId","NOT_CONTAINS","containsFilter","contains","value","not","filterObj","TEXT_FIELD_TYPES","addSearchToDataQuery","searchableFieldIds","searchableFields","Object","keys","isFieldSearchable","search","length","searchFilter","forEach","currentFilter"],"sources":["../../../../src/dataSourceAdapters/cms/filterUtils.ts"],"sourcesContent":["import { FilterOperator } from '@wix/patterns';\nimport { items } from '@wix/data';\nimport {\n BooleanFilters,\n FilterProp,\n FilterPropToOperator,\n HasValueFilters,\n} from '../constants';\nimport { Query, SchemaConfig } from '../../types';\n\nexport type CmsOperatorMethod =\n | 'ge'\n | 'le'\n | 'contains'\n | 'isEmpty'\n | 'isNotEmpty';\n\nconst FilterPropToMethod: Partial<\n Record<FilterProp | FilterOperator, CmsOperatorMethod>\n> = {\n from: 'ge',\n to: 'le',\n [FilterOperator.CONTAINS]: 'contains',\n [FilterOperator.IS_EMPTY]: 'isEmpty',\n [FilterOperator.EXISTS]: 'isNotEmpty',\n};\n\nfunction isValidFilterProp(prop: string): prop is FilterProp {\n return prop in FilterPropToMethod;\n}\n\nfunction getOperatorForFilter(prop: string): CmsOperatorMethod | undefined {\n if (isValidFilterProp(prop)) {\n return FilterPropToMethod[prop];\n }\n return undefined;\n}\n\nconst isSupportedOperator = (\n fields: SchemaConfig['fields'],\n filterProp: string,\n filterKey: string,\n) => {\n const field = fields[filterKey];\n if (!field) {\n return false;\n }\n\n if (!isValidFilterProp(filterProp)) {\n return false;\n }\n\n const operator = FilterPropToOperator[filterProp];\n const supportedOperators = field.capabilities?.supportedQueryOperators;\n return supportedOperators?.includes(operator);\n};\n\n/**\n * For ADDRESS fields, text-based operators (CONTAINS, NOT_CONTAINS) should query\n * the 'formatted' nested property, which contains the human-readable address string.\n * Existence operators (IS_EMPTY, EXISTS) should query the field directly.\n */\nconst getQueryFieldId = (\n fieldId: string,\n fieldType: string | undefined,\n operator: FilterOperator,\n): string => {\n const isAddressField = fieldType === 'ADDRESS';\n const isExistenceOperator =\n operator === FilterOperator.IS_EMPTY || operator === FilterOperator.EXISTS;\n\n return isAddressField && !isExistenceOperator\n ? `${fieldId}.formatted`\n : fieldId;\n};\n\nexport function addFiltersToDataQuery({\n dataQuery,\n query,\n fields,\n filterFieldMapping,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n filterFieldMapping?: Record<string, { fieldId: string }>;\n}) {\n if (!filterFieldMapping) {\n return dataQuery;\n }\n\n let dataQueryWithFilters = dataQuery;\n const { filters } = query;\n for (const fieldKey in filters) {\n const fieldId = filterFieldMapping[fieldKey].fieldId;\n const filter = filters[fieldKey];\n if (filter) {\n if (Array.isArray(filter)) {\n const filterArray = filter as { [key: string]: any }[];\n if (fields[fieldId]?.type === 'BOOLEAN') {\n if (filterArray.some((item) => item.id === BooleanFilters.checked)) {\n dataQueryWithFilters = dataQueryWithFilters.eq(fieldId, true);\n } else {\n const falseFilter = items.filter().eq(fieldId, false);\n const undefinedFilter = items.filter().eq(fieldId, undefined);\n dataQueryWithFilters = dataQueryWithFilters.and(\n falseFilter.or(undefinedFilter),\n );\n }\n } else if (\n fields[fieldId]?.type === 'RICH_CONTENT' ||\n fields[fieldId]?.type === 'TIME' ||\n fields[fieldId]?.type === 'DOCUMENT' ||\n fields[fieldId]?.type === 'MULTI_DOCUMENT' ||\n fields[fieldId]?.type === 'AUDIO'\n ) {\n const wantsHasValue = filterArray.some(\n (item) => item.id === HasValueFilters.hasValue,\n );\n const wantsNoValue = filterArray.some(\n (item) => item.id === HasValueFilters.noValue,\n );\n // Only apply filter if exactly one option is selected\n if (wantsHasValue && !wantsNoValue) {\n dataQueryWithFilters = dataQueryWithFilters.isNotEmpty(fieldId);\n } else if (wantsNoValue && !wantsHasValue) {\n dataQueryWithFilters = dataQueryWithFilters.isEmpty(fieldId);\n }\n // If both or neither selected, no filter applied (show all)\n } else {\n dataQueryWithFilters = dataQueryWithFilters.hasSome(\n fieldId,\n filterArray.map((item) => item.id),\n );\n }\n } else if (typeof filter === 'object') {\n // Operator filter\n if (filter.operator) {\n const queryFieldId = getQueryFieldId(\n fieldId,\n fields[fieldId]?.type,\n filter.operator,\n );\n\n if (filter.operator === FilterOperator.NOT_CONTAINS) {\n const containsFilter = items\n .filter()\n .contains(queryFieldId, filter.value);\n dataQueryWithFilters = dataQueryWithFilters.not(containsFilter);\n } else {\n const operator = getOperatorForFilter(filter.operator);\n if (operator) {\n if (operator === 'isEmpty' || operator === 'isNotEmpty') {\n dataQueryWithFilters = dataQueryWithFilters[operator](fieldId);\n } else {\n dataQueryWithFilters = dataQueryWithFilters[operator](\n queryFieldId,\n filter.value,\n );\n }\n }\n }\n }\n // Range filter\n const filterObj = filter as Record<string, any>;\n for (const filterProp in filterObj) {\n const operator = getOperatorForFilter(filterProp);\n if (\n operator &&\n typeof dataQuery[operator] === 'function' &&\n isSupportedOperator(fields, filterProp, fieldId)\n ) {\n const value = filterObj[filterProp];\n if (value !== undefined && value !== null) {\n dataQueryWithFilters = dataQueryWithFilters[operator](\n fieldId,\n value,\n );\n }\n }\n }\n }\n }\n }\n\n return dataQueryWithFilters;\n}\n\nconst TEXT_FIELD_TYPES = ['LONG_TEXT', 'SHORT_TEXT'];\nexport function addSearchToDataQuery({\n dataQuery,\n query,\n fields,\n searchableFieldIds,\n}: {\n dataQuery: items.WixDataQuery;\n query: Query;\n fields: SchemaConfig['fields'];\n searchableFieldIds: string[];\n}) {\n const searchableFields = Object.keys(fields).filter((fieldId) => {\n const field = fields[fieldId];\n const isFieldSearchable = searchableFieldIds.includes(fieldId);\n\n return isFieldSearchable && field && TEXT_FIELD_TYPES.includes(field.type);\n });\n\n if (query.search && searchableFields.length > 0) {\n let searchFilter: items.WixDataFilter | null = null;\n\n searchableFields.forEach((field) => {\n const currentFilter = items.filter().contains(field, query.search!);\n searchFilter = searchFilter\n ? searchFilter.or(currentFilter)\n : currentFilter;\n });\n\n if (searchFilter) {\n dataQuery = dataQuery.and(searchFilter);\n }\n }\n\n return dataQuery;\n}\n"],"mappings":"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","ignoreList":[]}