@wix/auto-patterns 1.7.0 → 1.9.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 (507) hide show
  1. package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js +10 -25
  2. package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  3. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +11 -25
  4. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  5. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +3 -2
  6. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  7. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +255 -77
  8. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  9. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js +66 -21
  10. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
  11. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js +100 -29
  12. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  13. package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +9 -4
  14. package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
  15. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js +83 -0
  16. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -0
  17. package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js +34 -6
  18. package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
  19. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js +49 -6
  20. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
  21. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js +48 -6
  22. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
  23. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js +47 -34
  24. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
  25. package/dist/cjs/components/AutoPatternsEntityPage/Fields/types.js.map +1 -1
  26. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js +8 -10
  27. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
  28. package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js +84 -0
  29. package/dist/cjs/components/AutoPatternsRoute/AutoPatternsRoutes.js.map +1 -0
  30. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js +8 -10
  31. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
  32. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTableContent.js +7 -8
  33. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTableContent.js.map +1 -1
  34. package/dist/cjs/components/DynamicIcon.js +71 -0
  35. package/dist/cjs/components/DynamicIcon.js.map +1 -0
  36. package/dist/cjs/components/ModalRenderer.js +40 -0
  37. package/dist/cjs/components/ModalRenderer.js.map +1 -0
  38. package/dist/cjs/components/filters/DynamicCollectionFilter.js +63 -0
  39. package/dist/cjs/components/filters/DynamicCollectionFilter.js.map +1 -0
  40. package/dist/cjs/components/filters/StaticCollectionFilter.js +31 -0
  41. package/dist/cjs/components/filters/StaticCollectionFilter.js.map +1 -0
  42. package/dist/cjs/components/filters/index.js +9 -0
  43. package/dist/cjs/components/filters/index.js.map +1 -0
  44. package/dist/cjs/components/modals/actions/BulkDeleteModal.js +97 -0
  45. package/dist/cjs/components/modals/actions/BulkDeleteModal.js.map +1 -0
  46. package/dist/cjs/components/modals/actions/CreateModal.js +138 -0
  47. package/dist/cjs/components/modals/actions/CreateModal.js.map +1 -0
  48. package/dist/cjs/components/modals/actions/EditModal.js +140 -0
  49. package/dist/cjs/components/modals/actions/EditModal.js.map +1 -0
  50. package/dist/cjs/components/modals/actions/index.js +22 -0
  51. package/dist/cjs/components/modals/actions/index.js.map +1 -0
  52. package/dist/cjs/{collectionData/CollectionData.js → components/modals/actions/types.js} +1 -1
  53. package/dist/cjs/components/modals/actions/types.js.map +1 -0
  54. package/dist/cjs/components/modals/index.js +10 -0
  55. package/dist/cjs/components/modals/index.js.map +1 -0
  56. package/dist/cjs/{collectionData/cms/CmsCollectionData.js → dataSourceAdapters/cms/cmsAdapter.js} +58 -18
  57. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -0
  58. package/dist/cjs/{collectionData → dataSourceAdapters}/cms/filterUtils.js +18 -11
  59. package/dist/cjs/dataSourceAdapters/cms/filterUtils.js.map +1 -0
  60. package/dist/cjs/dataSourceAdapters/cms/sortUtils.js.map +1 -0
  61. package/dist/cjs/dataSourceAdapters/constants.js.map +1 -0
  62. package/dist/cjs/dataSourceAdapters/factory.js +34 -0
  63. package/dist/cjs/dataSourceAdapters/factory.js.map +1 -0
  64. package/dist/cjs/exports/form.js +10 -0
  65. package/dist/cjs/exports/form.js.map +1 -0
  66. package/dist/cjs/hooks/index.js +18 -0
  67. package/dist/cjs/hooks/index.js.map +1 -1
  68. package/dist/cjs/hooks/useActionCell.js +107 -0
  69. package/dist/cjs/hooks/useActionCell.js.map +1 -0
  70. package/dist/cjs/hooks/useActionsSDK.js +34 -0
  71. package/dist/cjs/hooks/useActionsSDK.js.map +1 -0
  72. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js +25 -0
  73. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js.map +1 -0
  74. package/dist/cjs/hooks/useBaseSDK.js +35 -0
  75. package/dist/cjs/hooks/useBaseSDK.js.map +1 -0
  76. package/dist/cjs/hooks/useBulkActionToolbar.js +86 -0
  77. package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -0
  78. package/dist/cjs/hooks/useCollectionPageActions.js +124 -0
  79. package/dist/cjs/hooks/useCollectionPageActions.js.map +1 -0
  80. package/dist/cjs/hooks/useColumns.js +90 -37
  81. package/dist/cjs/hooks/useColumns.js.map +1 -1
  82. package/dist/cjs/hooks/useCommonCollectionFeatures.js +24 -35
  83. package/dist/cjs/hooks/useCommonCollectionFeatures.js.map +1 -1
  84. package/dist/cjs/hooks/useEntityPageHeaderTexts.js +27 -0
  85. package/dist/cjs/hooks/useEntityPageHeaderTexts.js.map +1 -0
  86. package/dist/cjs/hooks/useFetchData.js +33 -9
  87. package/dist/cjs/hooks/useFetchData.js.map +1 -1
  88. package/dist/cjs/hooks/useFilters.js +83 -92
  89. package/dist/cjs/hooks/useFilters.js.map +1 -1
  90. package/dist/cjs/hooks/useGridFeatures.js +32 -21
  91. package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
  92. package/dist/cjs/hooks/useNavigationUtils.js +55 -0
  93. package/dist/cjs/hooks/useNavigationUtils.js.map +1 -0
  94. package/dist/cjs/hooks/usePagePath.js +35 -0
  95. package/dist/cjs/hooks/usePagePath.js.map +1 -0
  96. package/dist/cjs/hooks/useTableFeatures.js +23 -15
  97. package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
  98. package/dist/cjs/providers/AppConfigContext.js +33 -0
  99. package/dist/cjs/providers/AppConfigContext.js.map +1 -0
  100. package/dist/cjs/providers/ModalContext.js +58 -0
  101. package/dist/cjs/providers/ModalContext.js.map +1 -0
  102. package/dist/cjs/providers/OptimisticActionsContext.js +43 -0
  103. package/dist/cjs/providers/OptimisticActionsContext.js.map +1 -0
  104. package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
  105. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  106. package/dist/cjs/providers/RootAppProvider.js +48 -0
  107. package/dist/cjs/providers/RootAppProvider.js.map +1 -0
  108. package/dist/cjs/providers/SchemaContext.js +49 -5
  109. package/dist/cjs/providers/SchemaContext.js.map +1 -1
  110. package/dist/cjs/providers/SchemaRegistryContext.js +49 -0
  111. package/dist/cjs/providers/SchemaRegistryContext.js.map +1 -0
  112. package/dist/cjs/providers/index.js +22 -4
  113. package/dist/cjs/providers/index.js.map +1 -1
  114. package/dist/cjs/types/BaseSDK.js +4 -0
  115. package/dist/cjs/types/BaseSDK.js.map +1 -0
  116. package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
  117. package/dist/cjs/types/EntityPageConfig.js.map +1 -1
  118. package/dist/cjs/types/actions/actionCell.js +4 -0
  119. package/dist/cjs/types/actions/actionCell.js.map +1 -0
  120. package/dist/cjs/types/actions/base.js +4 -0
  121. package/dist/cjs/types/actions/base.js.map +1 -0
  122. package/dist/cjs/types/actions/bulkActions.js +4 -0
  123. package/dist/cjs/types/actions/bulkActions.js.map +1 -0
  124. package/dist/cjs/types/actions/collectionPageActions.js +4 -0
  125. package/dist/cjs/types/actions/collectionPageActions.js.map +1 -0
  126. package/dist/cjs/types/actions/index.js +28 -0
  127. package/dist/cjs/types/actions/index.js.map +1 -0
  128. package/dist/cjs/types/index.js +18 -0
  129. package/dist/cjs/types/index.js.map +1 -1
  130. package/dist/cjs/types/types.js.map +1 -1
  131. package/dist/cjs/utils/actions/bulkDeleteAction.js +26 -0
  132. package/dist/cjs/utils/actions/bulkDeleteAction.js.map +1 -0
  133. package/dist/cjs/utils/actions/createAction.js +38 -0
  134. package/dist/cjs/utils/actions/createAction.js.map +1 -0
  135. package/dist/cjs/utils/actions/customAction.js +23 -0
  136. package/dist/cjs/utils/actions/customAction.js.map +1 -0
  137. package/dist/cjs/utils/actions/customModalAction.js +22 -0
  138. package/dist/cjs/utils/actions/customModalAction.js.map +1 -0
  139. package/dist/cjs/utils/actions/deleteAction.js +63 -0
  140. package/dist/cjs/utils/actions/deleteAction.js.map +1 -0
  141. package/dist/cjs/utils/actions/index.js +46 -0
  142. package/dist/cjs/utils/actions/index.js.map +1 -0
  143. package/dist/cjs/utils/actions/resolveAction.js +27 -0
  144. package/dist/cjs/utils/actions/resolveAction.js.map +1 -0
  145. package/dist/cjs/utils/actions/types.js +4 -0
  146. package/dist/cjs/utils/actions/types.js.map +1 -0
  147. package/dist/cjs/utils/actions/updateAction.js +40 -0
  148. package/dist/cjs/utils/actions/updateAction.js.map +1 -0
  149. package/dist/cjs/utils/filterCreators.js +137 -0
  150. package/dist/cjs/utils/filterCreators.js.map +1 -0
  151. package/dist/cjs/utils/media/getImageUrl.js +22 -0
  152. package/dist/cjs/utils/media/getImageUrl.js.map +1 -0
  153. package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js +6 -14
  154. package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  155. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +6 -5
  156. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  157. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +1 -0
  158. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  159. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +168 -40
  160. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  161. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js +66 -21
  162. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
  163. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js +96 -25
  164. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  165. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +9 -4
  166. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
  167. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js +64 -0
  168. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -0
  169. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js +33 -5
  170. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
  171. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js +48 -5
  172. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
  173. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js +48 -6
  174. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
  175. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js +43 -27
  176. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
  177. package/dist/esm/components/AutoPatternsEntityPage/Fields/types.js.map +1 -1
  178. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js +5 -6
  179. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
  180. package/dist/esm/components/AutoPatternsRoute/AutoPatternsRoutes.js +47 -0
  181. package/dist/esm/components/AutoPatternsRoute/AutoPatternsRoutes.js.map +1 -0
  182. package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js +5 -6
  183. package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
  184. package/dist/esm/components/AutoPatternsTable/AutoPatternsTableContent.js +9 -10
  185. package/dist/esm/components/AutoPatternsTable/AutoPatternsTableContent.js.map +1 -1
  186. package/dist/esm/components/DynamicIcon.js +33 -0
  187. package/dist/esm/components/DynamicIcon.js.map +1 -0
  188. package/dist/esm/components/ModalRenderer.js +25 -0
  189. package/dist/esm/components/ModalRenderer.js.map +1 -0
  190. package/dist/esm/components/filters/DynamicCollectionFilter.js +50 -0
  191. package/dist/esm/components/filters/DynamicCollectionFilter.js.map +1 -0
  192. package/dist/esm/components/filters/StaticCollectionFilter.js +18 -0
  193. package/dist/esm/components/filters/StaticCollectionFilter.js.map +1 -0
  194. package/dist/esm/components/filters/index.js +3 -0
  195. package/dist/esm/components/filters/index.js.map +1 -0
  196. package/dist/esm/components/modals/actions/BulkDeleteModal.js +59 -0
  197. package/dist/esm/components/modals/actions/BulkDeleteModal.js.map +1 -0
  198. package/dist/esm/components/modals/actions/CreateModal.js +80 -0
  199. package/dist/esm/components/modals/actions/CreateModal.js.map +1 -0
  200. package/dist/esm/components/modals/actions/EditModal.js +82 -0
  201. package/dist/esm/components/modals/actions/EditModal.js.map +1 -0
  202. package/dist/esm/components/modals/actions/index.js +4 -0
  203. package/dist/esm/components/modals/actions/index.js.map +1 -0
  204. package/dist/esm/components/modals/actions/types.js +2 -0
  205. package/dist/esm/components/modals/actions/types.js.map +1 -0
  206. package/dist/esm/components/modals/index.js +2 -0
  207. package/dist/esm/components/modals/index.js.map +1 -0
  208. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +132 -0
  209. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -0
  210. package/dist/esm/{collectionData → dataSourceAdapters}/cms/filterUtils.js +18 -11
  211. package/dist/esm/dataSourceAdapters/cms/filterUtils.js.map +1 -0
  212. package/dist/esm/dataSourceAdapters/cms/sortUtils.js.map +1 -0
  213. package/dist/esm/dataSourceAdapters/constants.js.map +1 -0
  214. package/dist/esm/dataSourceAdapters/factory.js +30 -0
  215. package/dist/esm/dataSourceAdapters/factory.js.map +1 -0
  216. package/dist/esm/exports/form.js +2 -0
  217. package/dist/esm/exports/form.js.map +1 -0
  218. package/dist/esm/hooks/index.js +3 -0
  219. package/dist/esm/hooks/index.js.map +1 -1
  220. package/dist/esm/hooks/useActionCell.js +103 -0
  221. package/dist/esm/hooks/useActionCell.js.map +1 -0
  222. package/dist/esm/hooks/useActionsSDK.js +30 -0
  223. package/dist/esm/hooks/useActionsSDK.js.map +1 -0
  224. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js +23 -0
  225. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js.map +1 -0
  226. package/dist/esm/hooks/useBaseSDK.js +30 -0
  227. package/dist/esm/hooks/useBaseSDK.js.map +1 -0
  228. package/dist/esm/hooks/useBulkActionToolbar.js +73 -0
  229. package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -0
  230. package/dist/esm/hooks/useCollectionPageActions.js +101 -0
  231. package/dist/esm/hooks/useCollectionPageActions.js.map +1 -0
  232. package/dist/esm/hooks/useColumns.js +70 -38
  233. package/dist/esm/hooks/useColumns.js.map +1 -1
  234. package/dist/esm/hooks/useCommonCollectionFeatures.js +20 -24
  235. package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
  236. package/dist/esm/hooks/useEntityPageHeaderTexts.js +23 -0
  237. package/dist/esm/hooks/useEntityPageHeaderTexts.js.map +1 -0
  238. package/dist/esm/hooks/useFetchData.js +34 -10
  239. package/dist/esm/hooks/useFetchData.js.map +1 -1
  240. package/dist/esm/hooks/useFilters.js +75 -85
  241. package/dist/esm/hooks/useFilters.js.map +1 -1
  242. package/dist/esm/hooks/useGridFeatures.js +32 -21
  243. package/dist/esm/hooks/useGridFeatures.js.map +1 -1
  244. package/dist/esm/hooks/useNavigationUtils.js +51 -0
  245. package/dist/esm/hooks/useNavigationUtils.js.map +1 -0
  246. package/dist/esm/hooks/usePagePath.js +30 -0
  247. package/dist/esm/hooks/usePagePath.js.map +1 -0
  248. package/dist/esm/hooks/useTableFeatures.js +20 -13
  249. package/dist/esm/hooks/useTableFeatures.js.map +1 -1
  250. package/dist/esm/providers/AppConfigContext.js +19 -0
  251. package/dist/esm/providers/AppConfigContext.js.map +1 -0
  252. package/dist/esm/providers/ModalContext.js +37 -0
  253. package/dist/esm/providers/ModalContext.js.map +1 -0
  254. package/dist/esm/providers/OptimisticActionsContext.js +29 -0
  255. package/dist/esm/providers/OptimisticActionsContext.js.map +1 -0
  256. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  257. package/dist/esm/providers/RootAppProvider.js +15 -0
  258. package/dist/esm/providers/RootAppProvider.js.map +1 -0
  259. package/dist/esm/providers/SchemaContext.js +48 -4
  260. package/dist/esm/providers/SchemaContext.js.map +1 -1
  261. package/dist/esm/providers/SchemaRegistryContext.js +35 -0
  262. package/dist/esm/providers/SchemaRegistryContext.js.map +1 -0
  263. package/dist/esm/providers/index.js +4 -1
  264. package/dist/esm/providers/index.js.map +1 -1
  265. package/dist/esm/types/BaseSDK.js +2 -0
  266. package/dist/esm/types/BaseSDK.js.map +1 -0
  267. package/dist/esm/types/CollectionPageConfig.js.map +1 -1
  268. package/dist/esm/types/EntityPageConfig.js.map +1 -1
  269. package/dist/esm/types/actions/actionCell.js +2 -0
  270. package/dist/esm/types/actions/actionCell.js.map +1 -0
  271. package/dist/esm/types/actions/base.js +2 -0
  272. package/dist/esm/types/actions/base.js.map +1 -0
  273. package/dist/esm/types/actions/bulkActions.js +2 -0
  274. package/dist/esm/types/actions/bulkActions.js.map +1 -0
  275. package/dist/esm/types/actions/collectionPageActions.js +2 -0
  276. package/dist/esm/types/actions/collectionPageActions.js.map +1 -0
  277. package/dist/esm/types/actions/index.js +5 -0
  278. package/dist/esm/types/actions/index.js.map +1 -0
  279. package/dist/esm/types/index.js +3 -0
  280. package/dist/esm/types/index.js.map +1 -1
  281. package/dist/esm/types/types.js.map +1 -1
  282. package/dist/esm/utils/actions/bulkDeleteAction.js +21 -0
  283. package/dist/esm/utils/actions/bulkDeleteAction.js.map +1 -0
  284. package/dist/esm/utils/actions/createAction.js +33 -0
  285. package/dist/esm/utils/actions/createAction.js.map +1 -0
  286. package/dist/esm/utils/actions/customAction.js +18 -0
  287. package/dist/esm/utils/actions/customAction.js.map +1 -0
  288. package/dist/esm/utils/actions/customModalAction.js +17 -0
  289. package/dist/esm/utils/actions/customModalAction.js.map +1 -0
  290. package/dist/esm/utils/actions/deleteAction.js +58 -0
  291. package/dist/esm/utils/actions/deleteAction.js.map +1 -0
  292. package/dist/esm/utils/actions/index.js +9 -0
  293. package/dist/esm/utils/actions/index.js.map +1 -0
  294. package/dist/esm/utils/actions/resolveAction.js +13 -0
  295. package/dist/esm/utils/actions/resolveAction.js.map +1 -0
  296. package/dist/esm/utils/actions/types.js +2 -0
  297. package/dist/esm/utils/actions/types.js.map +1 -0
  298. package/dist/esm/utils/actions/updateAction.js +35 -0
  299. package/dist/esm/utils/actions/updateAction.js.map +1 -0
  300. package/dist/esm/utils/filterCreators.js +139 -0
  301. package/dist/esm/utils/filterCreators.js.map +1 -0
  302. package/dist/esm/utils/media/getImageUrl.js +16 -0
  303. package/dist/esm/utils/media/getImageUrl.js.map +1 -0
  304. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts +2 -2
  305. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts.map +1 -1
  306. package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
  307. package/dist/types/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.d.ts.map +1 -1
  308. package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
  309. package/dist/types/components/AutoPatternsEntityPage/Fields/Checkbox.d.ts.map +1 -1
  310. package/dist/types/components/AutoPatternsEntityPage/Fields/DateInput.d.ts.map +1 -1
  311. package/dist/types/components/AutoPatternsEntityPage/Fields/DateTime.d.ts.map +1 -1
  312. package/dist/types/components/AutoPatternsEntityPage/Fields/FormFieldInput.d.ts +3 -1
  313. package/dist/types/components/AutoPatternsEntityPage/Fields/FormFieldInput.d.ts.map +1 -1
  314. package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts +6 -0
  315. package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts.map +1 -0
  316. package/dist/types/components/AutoPatternsEntityPage/Fields/LongText.d.ts.map +1 -1
  317. package/dist/types/components/AutoPatternsEntityPage/Fields/Number.d.ts.map +1 -1
  318. package/dist/types/components/AutoPatternsEntityPage/Fields/ShortText.d.ts.map +1 -1
  319. package/dist/types/components/AutoPatternsEntityPage/Fields/Url.d.ts.map +1 -1
  320. package/dist/types/components/AutoPatternsEntityPage/Fields/types.d.ts +2 -0
  321. package/dist/types/components/AutoPatternsEntityPage/Fields/types.d.ts.map +1 -1
  322. package/dist/types/components/AutoPatternsEntityPage/Fields/utils/dates.d.ts.map +1 -1
  323. package/dist/types/components/AutoPatternsGrid/AutoPatternsGrid.d.ts.map +1 -1
  324. package/dist/types/components/AutoPatternsGrid/AutoPatternsGridContent.d.ts.map +1 -1
  325. package/dist/types/components/AutoPatternsRoute/AutoPatternsPage.d.ts.map +1 -1
  326. package/dist/types/components/AutoPatternsRoute/AutoPatternsRoutes.d.ts +6 -0
  327. package/dist/types/components/AutoPatternsRoute/AutoPatternsRoutes.d.ts.map +1 -0
  328. package/dist/types/components/AutoPatternsTable/AutoPatternsTable.d.ts.map +1 -1
  329. package/dist/types/components/AutoPatternsTable/AutoPatternsTableContent.d.ts.map +1 -1
  330. package/dist/types/components/DynamicIcon.d.ts +6 -0
  331. package/dist/types/components/DynamicIcon.d.ts.map +1 -0
  332. package/dist/types/components/ModalRenderer.d.ts +3 -0
  333. package/dist/types/components/ModalRenderer.d.ts.map +1 -0
  334. package/dist/types/components/filters/DynamicCollectionFilter.d.ts +12 -0
  335. package/dist/types/components/filters/DynamicCollectionFilter.d.ts.map +1 -0
  336. package/dist/types/components/filters/StaticCollectionFilter.d.ts +14 -0
  337. package/dist/types/components/filters/StaticCollectionFilter.d.ts.map +1 -0
  338. package/dist/types/components/filters/index.d.ts +3 -0
  339. package/dist/types/components/filters/index.d.ts.map +1 -0
  340. package/dist/types/components/modals/actions/BulkDeleteModal.d.ts +9 -0
  341. package/dist/types/components/modals/actions/BulkDeleteModal.d.ts.map +1 -0
  342. package/dist/types/components/modals/actions/CreateModal.d.ts +8 -0
  343. package/dist/types/components/modals/actions/CreateModal.d.ts.map +1 -0
  344. package/dist/types/components/modals/actions/EditModal.d.ts +11 -0
  345. package/dist/types/components/modals/actions/EditModal.d.ts.map +1 -0
  346. package/dist/types/components/modals/actions/index.d.ts +4 -0
  347. package/dist/types/components/modals/actions/index.d.ts.map +1 -0
  348. package/dist/types/components/modals/actions/types.d.ts +7 -0
  349. package/dist/types/components/modals/actions/types.d.ts.map +1 -0
  350. package/dist/types/components/modals/index.d.ts +2 -0
  351. package/dist/types/components/modals/index.d.ts.map +1 -0
  352. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts +14 -0
  353. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -0
  354. package/dist/types/{collectionData → dataSourceAdapters}/cms/filterUtils.d.ts +3 -2
  355. package/dist/types/dataSourceAdapters/cms/filterUtils.d.ts.map +1 -0
  356. package/dist/types/dataSourceAdapters/cms/sortUtils.d.ts.map +1 -0
  357. package/dist/types/dataSourceAdapters/constants.d.ts.map +1 -0
  358. package/dist/types/dataSourceAdapters/factory.d.ts +13 -0
  359. package/dist/types/dataSourceAdapters/factory.d.ts.map +1 -0
  360. package/dist/types/exports/form.d.ts +2 -0
  361. package/dist/types/exports/form.d.ts.map +1 -0
  362. package/dist/types/hooks/index.d.ts +3 -0
  363. package/dist/types/hooks/index.d.ts.map +1 -1
  364. package/dist/types/hooks/useActionCell.d.ts +9 -0
  365. package/dist/types/hooks/useActionCell.d.ts.map +1 -0
  366. package/dist/types/hooks/useActionsSDK.d.ts +6 -0
  367. package/dist/types/hooks/useActionsSDK.d.ts.map +1 -0
  368. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts +3 -0
  369. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts.map +1 -0
  370. package/dist/types/hooks/useBaseSDK.d.ts +3 -0
  371. package/dist/types/hooks/useBaseSDK.d.ts.map +1 -0
  372. package/dist/types/hooks/useBulkActionToolbar.d.ts +10 -0
  373. package/dist/types/hooks/useBulkActionToolbar.d.ts.map +1 -0
  374. package/dist/types/hooks/useCollectionPageActions.d.ts +10 -0
  375. package/dist/types/hooks/useCollectionPageActions.d.ts.map +1 -0
  376. package/dist/types/hooks/useColumns.d.ts.map +1 -1
  377. package/dist/types/hooks/useCommonCollectionFeatures.d.ts +9 -9
  378. package/dist/types/hooks/useCommonCollectionFeatures.d.ts.map +1 -1
  379. package/dist/types/hooks/useEmptyStates.d.ts.map +1 -1
  380. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts +18 -0
  381. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -0
  382. package/dist/types/hooks/useFetchData.d.ts +6 -2
  383. package/dist/types/hooks/useFetchData.d.ts.map +1 -1
  384. package/dist/types/hooks/useFilters.d.ts +5 -1
  385. package/dist/types/hooks/useFilters.d.ts.map +1 -1
  386. package/dist/types/hooks/useGridFeatures.d.ts +3 -8
  387. package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
  388. package/dist/types/hooks/useNavigationUtils.d.ts +10 -0
  389. package/dist/types/hooks/useNavigationUtils.d.ts.map +1 -0
  390. package/dist/types/hooks/usePagePath.d.ts +5 -0
  391. package/dist/types/hooks/usePagePath.d.ts.map +1 -0
  392. package/dist/types/hooks/useTableFeatures.d.ts +3 -7
  393. package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
  394. package/dist/types/providers/AppConfigContext.d.ts +8 -0
  395. package/dist/types/providers/AppConfigContext.d.ts.map +1 -0
  396. package/dist/types/providers/ModalContext.d.ts +20 -0
  397. package/dist/types/providers/ModalContext.d.ts.map +1 -0
  398. package/dist/types/providers/OptimisticActionsContext.d.ts +12 -0
  399. package/dist/types/providers/OptimisticActionsContext.d.ts.map +1 -0
  400. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +5 -4
  401. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  402. package/dist/types/providers/RootAppProvider.d.ts +7 -0
  403. package/dist/types/providers/RootAppProvider.d.ts.map +1 -0
  404. package/dist/types/providers/SchemaContext.d.ts.map +1 -1
  405. package/dist/types/providers/SchemaRegistryContext.d.ts +13 -0
  406. package/dist/types/providers/SchemaRegistryContext.d.ts.map +1 -0
  407. package/dist/types/providers/index.d.ts +4 -1
  408. package/dist/types/providers/index.d.ts.map +1 -1
  409. package/dist/types/types/BaseSDK.d.ts +12 -0
  410. package/dist/types/types/BaseSDK.d.ts.map +1 -0
  411. package/dist/types/types/CollectionPageConfig.d.ts +37 -32
  412. package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
  413. package/dist/types/types/EntityPageConfig.d.ts +51 -2
  414. package/dist/types/types/EntityPageConfig.d.ts.map +1 -1
  415. package/dist/types/types/actions/actionCell.d.ts +24 -0
  416. package/dist/types/types/actions/actionCell.d.ts.map +1 -0
  417. package/dist/types/types/actions/base.d.ts +102 -0
  418. package/dist/types/types/actions/base.d.ts.map +1 -0
  419. package/dist/types/types/actions/bulkActions.d.ts +28 -0
  420. package/dist/types/types/actions/bulkActions.d.ts.map +1 -0
  421. package/dist/types/types/actions/collectionPageActions.d.ts +27 -0
  422. package/dist/types/types/actions/collectionPageActions.d.ts.map +1 -0
  423. package/dist/types/types/actions/index.d.ts +5 -0
  424. package/dist/types/types/actions/index.d.ts.map +1 -0
  425. package/dist/types/types/index.d.ts +3 -0
  426. package/dist/types/types/index.d.ts.map +1 -1
  427. package/dist/types/types/types.d.ts +47 -12
  428. package/dist/types/types/types.d.ts.map +1 -1
  429. package/dist/types/utils/actions/bulkDeleteAction.d.ts +7 -0
  430. package/dist/types/utils/actions/bulkDeleteAction.d.ts.map +1 -0
  431. package/dist/types/utils/actions/createAction.d.ts +7 -0
  432. package/dist/types/utils/actions/createAction.d.ts.map +1 -0
  433. package/dist/types/utils/actions/customAction.d.ts +3 -0
  434. package/dist/types/utils/actions/customAction.d.ts.map +1 -0
  435. package/dist/types/utils/actions/customModalAction.d.ts +5 -0
  436. package/dist/types/utils/actions/customModalAction.d.ts.map +1 -0
  437. package/dist/types/utils/actions/deleteAction.d.ts +7 -0
  438. package/dist/types/utils/actions/deleteAction.d.ts.map +1 -0
  439. package/dist/types/utils/actions/index.d.ts +9 -0
  440. package/dist/types/utils/actions/index.d.ts.map +1 -0
  441. package/dist/types/utils/actions/resolveAction.d.ts +11 -0
  442. package/dist/types/utils/actions/resolveAction.d.ts.map +1 -0
  443. package/dist/types/utils/actions/types.d.ts +61 -0
  444. package/dist/types/utils/actions/types.d.ts.map +1 -0
  445. package/dist/types/utils/actions/updateAction.d.ts +7 -0
  446. package/dist/types/utils/actions/updateAction.d.ts.map +1 -0
  447. package/dist/types/utils/filterCreators.d.ts +48 -0
  448. package/dist/types/utils/filterCreators.d.ts.map +1 -0
  449. package/dist/types/utils/media/getImageUrl.d.ts +3 -0
  450. package/dist/types/utils/media/getImageUrl.d.ts.map +1 -0
  451. package/form/package.json +6 -0
  452. package/package.json +11 -8
  453. package/dist/cjs/collectionData/CollectionData.js.map +0 -1
  454. package/dist/cjs/collectionData/CollectionDataFactory.js +0 -12
  455. package/dist/cjs/collectionData/CollectionDataFactory.js.map +0 -1
  456. package/dist/cjs/collectionData/SchemaFactory.js +0 -12
  457. package/dist/cjs/collectionData/SchemaFactory.js.map +0 -1
  458. package/dist/cjs/collectionData/cms/CmsCollectionData.js.map +0 -1
  459. package/dist/cjs/collectionData/cms/filterUtils.js.map +0 -1
  460. package/dist/cjs/collectionData/cms/sortUtils.js.map +0 -1
  461. package/dist/cjs/collectionData/constants.js.map +0 -1
  462. package/dist/cjs/collectionData/index.js +0 -10
  463. package/dist/cjs/collectionData/index.js.map +0 -1
  464. package/dist/cjs/providers/CollectionDataContext.js +0 -44
  465. package/dist/cjs/providers/CollectionDataContext.js.map +0 -1
  466. package/dist/cjs/utils/filters.js +0 -53
  467. package/dist/cjs/utils/filters.js.map +0 -1
  468. package/dist/esm/collectionData/CollectionData.js +0 -2
  469. package/dist/esm/collectionData/CollectionData.js.map +0 -1
  470. package/dist/esm/collectionData/CollectionDataFactory.js +0 -8
  471. package/dist/esm/collectionData/CollectionDataFactory.js.map +0 -1
  472. package/dist/esm/collectionData/SchemaFactory.js +0 -8
  473. package/dist/esm/collectionData/SchemaFactory.js.map +0 -1
  474. package/dist/esm/collectionData/cms/CmsCollectionData.js +0 -91
  475. package/dist/esm/collectionData/cms/CmsCollectionData.js.map +0 -1
  476. package/dist/esm/collectionData/cms/filterUtils.js.map +0 -1
  477. package/dist/esm/collectionData/cms/sortUtils.js.map +0 -1
  478. package/dist/esm/collectionData/constants.js.map +0 -1
  479. package/dist/esm/collectionData/index.js +0 -2
  480. package/dist/esm/collectionData/index.js.map +0 -1
  481. package/dist/esm/providers/CollectionDataContext.js +0 -30
  482. package/dist/esm/providers/CollectionDataContext.js.map +0 -1
  483. package/dist/esm/utils/filters.js +0 -49
  484. package/dist/esm/utils/filters.js.map +0 -1
  485. package/dist/types/collectionData/CollectionData.d.ts +0 -9
  486. package/dist/types/collectionData/CollectionData.d.ts.map +0 -1
  487. package/dist/types/collectionData/CollectionDataFactory.d.ts +0 -4
  488. package/dist/types/collectionData/CollectionDataFactory.d.ts.map +0 -1
  489. package/dist/types/collectionData/SchemaFactory.d.ts +0 -3
  490. package/dist/types/collectionData/SchemaFactory.d.ts.map +0 -1
  491. package/dist/types/collectionData/cms/CmsCollectionData.d.ts +0 -8
  492. package/dist/types/collectionData/cms/CmsCollectionData.d.ts.map +0 -1
  493. package/dist/types/collectionData/cms/filterUtils.d.ts.map +0 -1
  494. package/dist/types/collectionData/cms/sortUtils.d.ts.map +0 -1
  495. package/dist/types/collectionData/constants.d.ts.map +0 -1
  496. package/dist/types/collectionData/index.d.ts +0 -2
  497. package/dist/types/collectionData/index.d.ts.map +0 -1
  498. package/dist/types/providers/CollectionDataContext.d.ts +0 -12
  499. package/dist/types/providers/CollectionDataContext.d.ts.map +0 -1
  500. package/dist/types/utils/filters.d.ts +0 -7
  501. package/dist/types/utils/filters.d.ts.map +0 -1
  502. /package/dist/cjs/{collectionData → dataSourceAdapters}/cms/sortUtils.js +0 -0
  503. /package/dist/cjs/{collectionData → dataSourceAdapters}/constants.js +0 -0
  504. /package/dist/esm/{collectionData → dataSourceAdapters}/cms/sortUtils.js +0 -0
  505. /package/dist/esm/{collectionData → dataSourceAdapters}/constants.js +0 -0
  506. /package/dist/types/{collectionData → dataSourceAdapters}/cms/sortUtils.d.ts +0 -0
  507. /package/dist/types/{collectionData → dataSourceAdapters}/constants.d.ts +0 -0
@@ -0,0 +1,51 @@
1
+ import { useCallback } from 'react';
2
+ import { usePatternsNavigate } from '@wix/patterns';
3
+ import { useAppConfigContext, useSchemaRegistry } from '../providers';
4
+ import { generatePath } from 'react-router-dom';
5
+ import { usePagePath } from './usePagePath';
6
+ export const useNavigation = () => {
7
+ const {
8
+ navigateToEntityPage: navigateToEntityPagePatterns
9
+ } = usePatternsNavigate();
10
+ const appConfig = useAppConfigContext();
11
+ const {
12
+ getSchema
13
+ } = useSchemaRegistry();
14
+ const {
15
+ getPagePath
16
+ } = usePagePath(appConfig);
17
+ const navigateToEntityPage = useCallback(_ref => {
18
+ var _route$params;
19
+ let {
20
+ item,
21
+ entityPageId
22
+ } = _ref;
23
+ const entityPage = entityPageId ? appConfig.pages.find(page => page.id === entityPageId) : null;
24
+ if (!entityPage) {
25
+ return;
26
+ }
27
+ const {
28
+ route,
29
+ collectionId
30
+ } = entityPage.entityPage;
31
+ const schema = getSchema(collectionId);
32
+ if (route.path && (_route$params = route.params) != null && _route$params.id && schema) {
33
+ const path = generatePath(route.path, {
34
+ [route.params.id]: (item == null ? void 0 : item[schema.idField]) ?? ''
35
+ });
36
+ navigateToEntityPagePatterns({
37
+ path,
38
+ entity: item
39
+ });
40
+ }
41
+ }, [appConfig, navigateToEntityPagePatterns, getSchema]);
42
+ const getParentPagePath = useCallback(parentPageId => {
43
+ return getPagePath(parentPageId);
44
+ }, [getPagePath]);
45
+ return {
46
+ navigateToEntityPage,
47
+ getParentPagePath,
48
+ getPagePath
49
+ };
50
+ };
51
+ //# sourceMappingURL=useNavigationUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","usePatternsNavigate","useAppConfigContext","useSchemaRegistry","generatePath","usePagePath","useNavigation","navigateToEntityPage","navigateToEntityPagePatterns","appConfig","getSchema","getPagePath","_ref","_route$params","item","entityPageId","entityPage","pages","find","page","id","route","collectionId","schema","path","params","idField","entity","getParentPagePath","parentPageId"],"sources":["../../../src/hooks/useNavigationUtils.tsx"],"sourcesContent":["import { useCallback } from 'react';\nimport { usePatternsNavigate } from '@wix/patterns';\nimport { useAppConfigContext, useSchemaRegistry } from '../providers';\nimport { generatePath } from 'react-router-dom';\nimport { EntityPageConfig } from '../types';\nimport { usePagePath } from './usePagePath';\n\nexport type NavigateToEntityPageFunc = (args: {\n item: any;\n entityPageId?: string;\n}) => void;\n\nexport const useNavigation = () => {\n const { navigateToEntityPage: navigateToEntityPagePatterns } =\n usePatternsNavigate();\n const appConfig = useAppConfigContext();\n const { getSchema } = useSchemaRegistry();\n const { getPagePath } = usePagePath(appConfig);\n\n const navigateToEntityPage = useCallback(\n ({ item, entityPageId }) => {\n const entityPage = entityPageId\n ? appConfig.pages.find((page) => page.id === entityPageId)\n : null;\n\n if (!entityPage) {\n return;\n }\n\n const { route, collectionId } = entityPage.entityPage as EntityPageConfig;\n const schema = getSchema(collectionId);\n if (route.path && route.params?.id && schema) {\n const path = generatePath(route.path, {\n [route.params.id]: item?.[schema.idField] ?? '',\n });\n navigateToEntityPagePatterns({\n path,\n entity: item,\n });\n }\n },\n [appConfig, navigateToEntityPagePatterns, getSchema],\n );\n\n const getParentPagePath = useCallback(\n (parentPageId?: string): string | undefined => {\n return getPagePath(parentPageId);\n },\n [getPagePath],\n );\n\n return {\n navigateToEntityPage,\n getParentPagePath,\n getPagePath,\n };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AACnC,SAASC,mBAAmB,QAAQ,eAAe;AACnD,SAASC,mBAAmB,EAAEC,iBAAiB,QAAQ,cAAc;AACrE,SAASC,YAAY,QAAQ,kBAAkB;AAE/C,SAASC,WAAW,QAAQ,eAAe;AAO3C,OAAO,MAAMC,aAAa,GAAGA,CAAA,KAAM;EACjC,MAAM;IAAEC,oBAAoB,EAAEC;EAA6B,CAAC,GAC1DP,mBAAmB,CAAC,CAAC;EACvB,MAAMQ,SAAS,GAAGP,mBAAmB,CAAC,CAAC;EACvC,MAAM;IAAEQ;EAAU,CAAC,GAAGP,iBAAiB,CAAC,CAAC;EACzC,MAAM;IAAEQ;EAAY,CAAC,GAAGN,WAAW,CAACI,SAAS,CAAC;EAE9C,MAAMF,oBAAoB,GAAGP,WAAW,CACtCY,IAAA,IAA4B;IAAA,IAAAC,aAAA;IAAA,IAA3B;MAAEC,IAAI;MAAEC;IAAa,CAAC,GAAAH,IAAA;IACrB,MAAMI,UAAU,GAAGD,YAAY,GAC3BN,SAAS,CAACQ,KAAK,CAACC,IAAI,CAAEC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKL,YAAY,CAAC,GACxD,IAAI;IAER,IAAI,CAACC,UAAU,EAAE;MACf;IACF;IAEA,MAAM;MAAEK,KAAK;MAAEC;IAAa,CAAC,GAAGN,UAAU,CAACA,UAA8B;IACzE,MAAMO,MAAM,GAAGb,SAAS,CAACY,YAAY,CAAC;IACtC,IAAID,KAAK,CAACG,IAAI,KAAAX,aAAA,GAAIQ,KAAK,CAACI,MAAM,aAAZZ,aAAA,CAAcO,EAAE,IAAIG,MAAM,EAAE;MAC5C,MAAMC,IAAI,GAAGpB,YAAY,CAACiB,KAAK,CAACG,IAAI,EAAE;QACpC,CAACH,KAAK,CAACI,MAAM,CAACL,EAAE,GAAG,CAAAN,IAAI,oBAAJA,IAAI,CAAGS,MAAM,CAACG,OAAO,CAAC,KAAI;MAC/C,CAAC,CAAC;MACFlB,4BAA4B,CAAC;QAC3BgB,IAAI;QACJG,MAAM,EAAEb;MACV,CAAC,CAAC;IACJ;EACF,CAAC,EACD,CAACL,SAAS,EAAED,4BAA4B,EAAEE,SAAS,CACrD,CAAC;EAED,MAAMkB,iBAAiB,GAAG5B,WAAW,CAClC6B,YAAqB,IAAyB;IAC7C,OAAOlB,WAAW,CAACkB,YAAY,CAAC;EAClC,CAAC,EACD,CAAClB,WAAW,CACd,CAAC;EAED,OAAO;IACLJ,oBAAoB;IACpBqB,iBAAiB;IACjBjB;EACF,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import { useCallback } from 'react';
2
+ export const usePagePath = configuration => {
3
+ const getPagePath = useCallback(pageId => {
4
+ var _currentPage$collecti, _currentPage$entityPa;
5
+ if (!pageId) {
6
+ return '/';
7
+ }
8
+ const currentPage = configuration.pages.find(page => page.id === pageId);
9
+ let path;
10
+ switch (currentPage == null ? void 0 : currentPage.type) {
11
+ case 'collectionPage':
12
+ path = (_currentPage$collecti = currentPage.collectionPage) == null ? void 0 : _currentPage$collecti.route.path;
13
+ break;
14
+ case 'entityPage':
15
+ path = (_currentPage$entityPa = currentPage.entityPage) == null ? void 0 : _currentPage$entityPa.route.path;
16
+ break;
17
+ default:
18
+ path = undefined;
19
+ }
20
+ if (process.env.NODE_ENV === 'test') {
21
+ // in test mode we sometime override pages so we need to return the path or '/'
22
+ return path || '/';
23
+ }
24
+ return path;
25
+ }, [configuration]);
26
+ return {
27
+ getPagePath
28
+ };
29
+ };
30
+ //# sourceMappingURL=usePagePath.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useCallback","usePagePath","configuration","getPagePath","pageId","_currentPage$collecti","_currentPage$entityPa","currentPage","pages","find","page","id","path","type","collectionPage","route","entityPage","undefined","process","env","NODE_ENV"],"sources":["../../../src/hooks/usePagePath.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport { AppConfig } from '../types';\n\nexport const usePagePath = (configuration: AppConfig) => {\n const getPagePath = useCallback(\n (pageId?: string) => {\n if (!pageId) {\n return '/';\n }\n\n const currentPage = configuration.pages.find(\n (page) => page.id === pageId,\n );\n\n let path;\n switch (currentPage?.type) {\n case 'collectionPage':\n path = currentPage.collectionPage?.route.path;\n break;\n case 'entityPage':\n path = currentPage.entityPage?.route.path;\n break;\n default:\n path = undefined;\n }\n\n if (process.env.NODE_ENV === 'test') {\n // in test mode we sometime override pages so we need to return the path or '/'\n return path || '/';\n }\n\n return path;\n },\n [configuration],\n );\n\n return { getPagePath };\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AAGnC,OAAO,MAAMC,WAAW,GAAIC,aAAwB,IAAK;EACvD,MAAMC,WAAW,GAAGH,WAAW,CAC5BI,MAAe,IAAK;IAAA,IAAAC,qBAAA,EAAAC,qBAAA;IACnB,IAAI,CAACF,MAAM,EAAE;MACX,OAAO,GAAG;IACZ;IAEA,MAAMG,WAAW,GAAGL,aAAa,CAACM,KAAK,CAACC,IAAI,CACzCC,IAAI,IAAKA,IAAI,CAACC,EAAE,KAAKP,MACxB,CAAC;IAED,IAAIQ,IAAI;IACR,QAAQL,WAAW,oBAAXA,WAAW,CAAEM,IAAI;MACvB,KAAK,gBAAgB;QACnBD,IAAI,IAAAP,qBAAA,GAAGE,WAAW,CAACO,cAAc,qBAA1BT,qBAAA,CAA4BU,KAAK,CAACH,IAAI;QAC7C;MACF,KAAK,YAAY;QACfA,IAAI,IAAAN,qBAAA,GAAGC,WAAW,CAACS,UAAU,qBAAtBV,qBAAA,CAAwBS,KAAK,CAACH,IAAI;QACzC;MACF;QACEA,IAAI,GAAGK,SAAS;IACpB;IAEA,IAAIC,OAAO,CAACC,GAAG,CAACC,QAAQ,KAAK,MAAM,EAAE;MACnC;MACA,OAAOR,IAAI,IAAI,GAAG;IACpB;IAEA,OAAOA,IAAI;EACb,CAAC,EACD,CAACV,aAAa,CAChB,CAAC;EAED,OAAO;IAAEC;EAAY,CAAC;AACxB,CAAC","ignoreList":[]}
@@ -1,10 +1,11 @@
1
- import React from 'react';
1
+ import React, { useMemo } from 'react';
2
2
  import { useColumns } from './useColumns';
3
3
  import { useFetchData } from './useFetchData';
4
4
  import { CustomColumns, useTableCollection } from '@wix/patterns';
5
5
  import { useCommonCollectionFeatures } from './useCommonCollectionFeatures';
6
6
  import { useFilters } from './useFilters';
7
- import { useCollectionData } from '../providers';
7
+ import { useSchema } from '../providers/SchemaContext';
8
+ import { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';
8
9
  export const useTableFeatures = configuration => {
9
10
  var _configuration$custom;
10
11
  const {
@@ -14,25 +15,25 @@ export const useTableFeatures = configuration => {
14
15
  disableAutoSelectAllCount,
15
16
  selectionConsistencyMode
16
17
  } = configuration.collection;
17
- const commonFeatures = useCommonCollectionFeatures({
18
- ...configuration
19
- });
20
18
  const {
21
19
  filterComponent,
22
- filtersObject
20
+ filtersObject,
21
+ filtersMapping
23
22
  } = useFilters(configuration.filters);
24
23
  const columns = useColumns(configuration.columns);
24
+ const visibleFieldIds = useMemo(() => configuration.columns.map(column => column.id), [configuration]);
25
25
  const {
26
26
  fetchData
27
- } = useFetchData(configuration.collection);
28
- const {
29
- entityIdKey,
30
- entityNameKey
31
- } = useCollectionData();
27
+ } = useFetchData({
28
+ collectionConfig: configuration.collection,
29
+ visibleFieldIds,
30
+ filtersMapping
31
+ });
32
+ const schema = useSchema();
32
33
  const state = useTableCollection({
33
34
  queryName: `${collectionId}`,
34
- itemKey: item => item[entityIdKey],
35
- itemName: item => item[entityNameKey],
35
+ itemKey: item => item[schema.idField],
36
+ itemName: item => item[schema.displayField],
36
37
  filters: filtersObject,
37
38
  toExtendedFields: item => item.extendedFields,
38
39
  fetchErrorMessage: _ref => {
@@ -47,11 +48,17 @@ export const useTableFeatures = configuration => {
47
48
  disableAutoSelectAllCount,
48
49
  selectionConsistencyMode
49
50
  });
51
+ const optimisticActions = useAutoPatternsOptimisticActions(collectionId, state.collection);
52
+ const commonFeatures = useCommonCollectionFeatures({
53
+ ...configuration,
54
+ optimisticActions
55
+ });
50
56
  return {
51
57
  ...commonFeatures,
52
58
  state,
53
59
  columns,
54
60
  filters: filterComponent,
61
+ optimisticActions,
55
62
  customColumns: (_configuration$custom = configuration.customColumns) != null && _configuration$custom.enabled ? /*#__PURE__*/React.createElement(CustomColumns, null) : undefined
56
63
  };
57
64
  };
@@ -1 +1 @@
1
- {"version":3,"names":["React","useColumns","useFetchData","CustomColumns","useTableCollection","useCommonCollectionFeatures","useFilters","useCollectionData","useTableFeatures","configuration","_configuration$custom","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","collection","commonFeatures","filterComponent","filtersObject","filters","columns","fetchData","entityIdKey","entityNameKey","state","queryName","itemKey","item","itemName","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","customColumns","enabled","createElement","undefined"],"sources":["../../../src/hooks/useTableFeatures.tsx"],"sourcesContent":["import React from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { useFetchData } from './useFetchData';\nimport { CustomColumns, useTableCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useCollectionData } from '../providers';\n\nexport const useTableFeatures = (configuration: TableConfig) => {\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = configuration.collection;\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n });\n\n const { filterComponent, filtersObject } = useFilters(configuration.filters);\n const columns = useColumns(configuration.columns);\n const { fetchData } = useFetchData(configuration.collection);\n\n const { entityIdKey, entityNameKey } = useCollectionData();\n\n const state = useTableCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (item) => item[entityIdKey],\n itemName: (item) => item[entityNameKey],\n filters: filtersObject,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n return {\n ...commonFeatures,\n state,\n columns,\n filters: filterComponent,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAM,OAAO;AAEzB,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,eAAe;AACjE,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,iBAAiB,QAAQ,cAAc;AAEhD,OAAO,MAAMC,gBAAgB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAC9D,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,GAAGN,aAAa,CAACO,UAAU;EAE5B,MAAMC,cAAc,GAAGZ,2BAA2B,CAAC;IACjD,GAAGI;EACL,CAAC,CAAC;EAEF,MAAM;IAAES,eAAe;IAAEC;EAAc,CAAC,GAAGb,UAAU,CAACG,aAAa,CAACW,OAAO,CAAC;EAC5E,MAAMC,OAAO,GAAGpB,UAAU,CAACQ,aAAa,CAACY,OAAO,CAAC;EACjD,MAAM;IAAEC;EAAU,CAAC,GAAGpB,YAAY,CAACO,aAAa,CAACO,UAAU,CAAC;EAE5D,MAAM;IAAEO,WAAW;IAAEC;EAAc,CAAC,GAAGjB,iBAAiB,CAAC,CAAC;EAE1D,MAAMkB,KAAK,GAAGrB,kBAAkB,CAAM;IACpCsB,SAAS,EAAE,GAAGf,YAAY,EAAE;IAC5BgB,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACL,WAAW,CAAC;IACpCM,QAAQ,EAAGD,IAAI,IAAKA,IAAI,CAACJ,aAAa,CAAC;IACvCJ,OAAO,EAAED,aAAa;IACtBW,gBAAgB,EAAGF,IAAI,IAAKA,IAAI,CAACG,cAAc;IAC/CC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3CZ,SAAS;IACTV,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,CAAC;EAEF,OAAO;IACL,GAAGE,cAAc;IACjBQ,KAAK;IACLJ,OAAO;IACPD,OAAO,EAAEF,eAAe;IACxBkB,aAAa,EAAE,CAAA1B,qBAAA,GAAAD,aAAa,CAAC2B,aAAa,aAA3B1B,qBAAA,CAA6B2B,OAAO,gBACjDrC,KAAA,CAAAsC,aAAA,CAACnC,aAAa,MAAE,CAAC,GACfoC;EACN,CAAC;AACH,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","useMemo","useColumns","useFetchData","CustomColumns","useTableCollection","useCommonCollectionFeatures","useFilters","useSchema","useAutoPatternsOptimisticActions","useTableFeatures","configuration","_configuration$custom","collectionId","limit","persistQueryToUrl","disableAutoSelectAllCount","selectionConsistencyMode","collection","filterComponent","filtersObject","filtersMapping","filters","columns","visibleFieldIds","map","column","id","fetchData","collectionConfig","schema","state","queryName","itemKey","item","idField","itemName","displayField","toExtendedFields","extendedFields","fetchErrorMessage","_ref","err","String","optimisticActions","commonFeatures","customColumns","enabled","createElement","undefined"],"sources":["../../../src/hooks/useTableFeatures.tsx"],"sourcesContent":["import React, { useMemo } from 'react';\nimport { TableConfig } from '../types';\nimport { useColumns } from './useColumns';\nimport { useFetchData } from './useFetchData';\nimport { CustomColumns, useTableCollection } from '@wix/patterns';\nimport { useCommonCollectionFeatures } from './useCommonCollectionFeatures';\nimport { useFilters } from './useFilters';\nimport { useSchema } from '../providers/SchemaContext';\nimport { useAutoPatternsOptimisticActions } from './useAutoPatternsOptimisticActions';\n\nexport const useTableFeatures = (configuration: TableConfig) => {\n const {\n collectionId,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n } = configuration.collection;\n\n const { filterComponent, filtersObject, filtersMapping } = useFilters(\n configuration.filters,\n );\n const columns = useColumns(configuration.columns);\n const visibleFieldIds = useMemo(\n () => configuration.columns.map((column) => column.id),\n [configuration],\n );\n\n const { fetchData } = useFetchData({\n collectionConfig: configuration.collection,\n visibleFieldIds,\n filtersMapping,\n });\n\n const schema = useSchema();\n\n const state = useTableCollection<any>({\n queryName: `${collectionId}`,\n itemKey: (item) => item[schema.idField],\n itemName: (item) => item[schema.displayField],\n filters: filtersObject,\n toExtendedFields: (item) => item.extendedFields,\n fetchErrorMessage: ({ err }) => String(err),\n fetchData,\n limit,\n persistQueryToUrl,\n disableAutoSelectAllCount,\n selectionConsistencyMode,\n });\n\n const optimisticActions = useAutoPatternsOptimisticActions(\n collectionId,\n state.collection,\n );\n\n const commonFeatures = useCommonCollectionFeatures({\n ...configuration,\n optimisticActions,\n });\n\n return {\n ...commonFeatures,\n state,\n columns,\n filters: filterComponent,\n optimisticActions,\n customColumns: configuration.customColumns?.enabled ? (\n <CustomColumns />\n ) : undefined,\n };\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,OAAO,QAAQ,OAAO;AAEtC,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,YAAY,QAAQ,gBAAgB;AAC7C,SAASC,aAAa,EAAEC,kBAAkB,QAAQ,eAAe;AACjE,SAASC,2BAA2B,QAAQ,+BAA+B;AAC3E,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAASC,gCAAgC,QAAQ,oCAAoC;AAErF,OAAO,MAAMC,gBAAgB,GAAIC,aAA0B,IAAK;EAAA,IAAAC,qBAAA;EAC9D,MAAM;IACJC,YAAY;IACZC,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,GAAGN,aAAa,CAACO,UAAU;EAE5B,MAAM;IAAEC,eAAe;IAAEC,aAAa;IAAEC;EAAe,CAAC,GAAGd,UAAU,CACnEI,aAAa,CAACW,OAChB,CAAC;EACD,MAAMC,OAAO,GAAGrB,UAAU,CAACS,aAAa,CAACY,OAAO,CAAC;EACjD,MAAMC,eAAe,GAAGvB,OAAO,CAC7B,MAAMU,aAAa,CAACY,OAAO,CAACE,GAAG,CAAEC,MAAM,IAAKA,MAAM,CAACC,EAAE,CAAC,EACtD,CAAChB,aAAa,CAChB,CAAC;EAED,MAAM;IAAEiB;EAAU,CAAC,GAAGzB,YAAY,CAAC;IACjC0B,gBAAgB,EAAElB,aAAa,CAACO,UAAU;IAC1CM,eAAe;IACfH;EACF,CAAC,CAAC;EAEF,MAAMS,MAAM,GAAGtB,SAAS,CAAC,CAAC;EAE1B,MAAMuB,KAAK,GAAG1B,kBAAkB,CAAM;IACpC2B,SAAS,EAAE,GAAGnB,YAAY,EAAE;IAC5BoB,OAAO,EAAGC,IAAI,IAAKA,IAAI,CAACJ,MAAM,CAACK,OAAO,CAAC;IACvCC,QAAQ,EAAGF,IAAI,IAAKA,IAAI,CAACJ,MAAM,CAACO,YAAY,CAAC;IAC7Cf,OAAO,EAAEF,aAAa;IACtBkB,gBAAgB,EAAGJ,IAAI,IAAKA,IAAI,CAACK,cAAc;IAC/CC,iBAAiB,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAI,CAAC,GAAAD,IAAA;MAAA,OAAKE,MAAM,CAACD,GAAG,CAAC;IAAA;IAC3Cd,SAAS;IACTd,KAAK;IACLC,iBAAiB;IACjBC,yBAAyB;IACzBC;EACF,CAAC,CAAC;EAEF,MAAM2B,iBAAiB,GAAGnC,gCAAgC,CACxDI,YAAY,EACZkB,KAAK,CAACb,UACR,CAAC;EAED,MAAM2B,cAAc,GAAGvC,2BAA2B,CAAC;IACjD,GAAGK,aAAa;IAChBiC;EACF,CAAC,CAAC;EAEF,OAAO;IACL,GAAGC,cAAc;IACjBd,KAAK;IACLR,OAAO;IACPD,OAAO,EAAEH,eAAe;IACxByB,iBAAiB;IACjBE,aAAa,EAAE,CAAAlC,qBAAA,GAAAD,aAAa,CAACmC,aAAa,aAA3BlC,qBAAA,CAA6BmC,OAAO,gBACjD/C,KAAA,CAAAgD,aAAA,CAAC5C,aAAa,MAAE,CAAC,GACf6C;EACN,CAAC;AACH,CAAC","ignoreList":[]}
@@ -0,0 +1,19 @@
1
+ import React, { createContext, useContext } from 'react';
2
+ const AppConfigContext = /*#__PURE__*/createContext(null);
3
+ export const AppConfigProvider = _ref => {
4
+ let {
5
+ appConfig,
6
+ children
7
+ } = _ref;
8
+ return /*#__PURE__*/React.createElement(AppConfigContext.Provider, {
9
+ value: appConfig
10
+ }, children);
11
+ };
12
+ export const useAppConfigContext = () => {
13
+ const context = useContext(AppConfigContext);
14
+ if (!context) {
15
+ throw new Error('useAppConfigContext must be used within AppConfigProvider');
16
+ }
17
+ return context;
18
+ };
19
+ //# sourceMappingURL=AppConfigContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createContext","useContext","AppConfigContext","AppConfigProvider","_ref","appConfig","children","createElement","Provider","value","useAppConfigContext","context","Error"],"sources":["../../../src/providers/AppConfigContext.tsx"],"sourcesContent":["import React, { createContext, ReactNode, useContext } from 'react';\nimport { AppConfig } from '../types';\n\nconst AppConfigContext = createContext<AppConfig | null>(null);\n\nexport const AppConfigProvider = ({\n appConfig,\n children,\n}: {\n appConfig: AppConfig;\n children: ReactNode;\n}) => {\n return (\n <AppConfigContext.Provider value={appConfig}>\n {children}\n </AppConfigContext.Provider>\n );\n};\n\nexport const useAppConfigContext = () => {\n const context = useContext(AppConfigContext);\n if (!context) {\n throw new Error(\n 'useAppConfigContext must be used within AppConfigProvider',\n );\n }\n return context;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAaC,UAAU,QAAQ,OAAO;AAGnE,MAAMC,gBAAgB,gBAAGF,aAAa,CAAmB,IAAI,CAAC;AAE9D,OAAO,MAAMG,iBAAiB,GAAGC,IAAA,IAM3B;EAAA,IAN4B;IAChCC,SAAS;IACTC;EAIF,CAAC,GAAAF,IAAA;EACC,oBACEL,KAAA,CAAAQ,aAAA,CAACL,gBAAgB,CAACM,QAAQ;IAACC,KAAK,EAAEJ;EAAU,GACzCC,QACwB,CAAC;AAEhC,CAAC;AAED,OAAO,MAAMI,mBAAmB,GAAGA,CAAA,KAAM;EACvC,MAAMC,OAAO,GAAGV,UAAU,CAACC,gBAAgB,CAAC;EAC5C,IAAI,CAACS,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,2DACF,CAAC;EACH;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -0,0 +1,37 @@
1
+ import { ModalRenderer } from '../components/ModalRenderer';
2
+ import React, { createContext, useCallback, useContext, useState } from 'react';
3
+ const ModalContext = /*#__PURE__*/createContext(null);
4
+ export const ModalProvider = _ref => {
5
+ let {
6
+ children
7
+ } = _ref;
8
+ const [modal, setModal] = useState({
9
+ id: null
10
+ });
11
+ const openModal = useCallback((id, props) => {
12
+ setModal({
13
+ id,
14
+ props
15
+ });
16
+ }, []);
17
+ const closeModal = useCallback(() => {
18
+ setModal({
19
+ id: null
20
+ });
21
+ }, []);
22
+ return /*#__PURE__*/React.createElement(ModalContext.Provider, {
23
+ value: {
24
+ modal,
25
+ openModal,
26
+ closeModal
27
+ }
28
+ }, children, /*#__PURE__*/React.createElement(ModalRenderer, null));
29
+ };
30
+ export const useModalContext = () => {
31
+ const context = useContext(ModalContext);
32
+ if (!context) {
33
+ throw new Error('useModalContext must be used within ModalProvider');
34
+ }
35
+ return context;
36
+ };
37
+ //# sourceMappingURL=ModalContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ModalRenderer","React","createContext","useCallback","useContext","useState","ModalContext","ModalProvider","_ref","children","modal","setModal","id","openModal","props","closeModal","createElement","Provider","value","useModalContext","context","Error"],"sources":["../../../src/providers/ModalContext.tsx"],"sourcesContent":["import { ModalRenderer } from '../components/ModalRenderer';\nimport * as modals from '../components/modals';\n\nimport React, {\n createContext,\n useCallback,\n useContext,\n useState,\n ReactNode,\n} from 'react';\n\nexport type KnownModals = typeof modals;\nexport type KnownModalId = keyof KnownModals;\nexport type ModalId = KnownModalId | (string & {});\n\ninterface ModalState {\n id: ModalId | null;\n props?: Record<string, any>;\n}\n\ninterface ModalContextValue {\n modal: ModalState;\n openModal: (id: ModalId, props?: Record<string, any>) => void;\n closeModal: () => void;\n}\n\nconst ModalContext = createContext<ModalContextValue | null>(null);\n\nexport const ModalProvider = ({ children }: { children: ReactNode }) => {\n const [modal, setModal] = useState<ModalState>({ id: null });\n\n const openModal = useCallback((id: ModalId, props?: Record<string, any>) => {\n setModal({ id, props });\n }, []);\n\n const closeModal = useCallback(() => {\n setModal({ id: null });\n }, []);\n\n return (\n <ModalContext.Provider value={{ modal, openModal, closeModal }}>\n {children}\n <ModalRenderer />\n </ModalContext.Provider>\n );\n};\n\nexport const useModalContext = () => {\n const context = useContext(ModalContext);\n if (!context) {\n throw new Error('useModalContext must be used within ModalProvider');\n }\n return context;\n};\n"],"mappings":"AAAA,SAASA,aAAa,QAAQ,6BAA6B;AAG3D,OAAOC,KAAK,IACVC,aAAa,EACbC,WAAW,EACXC,UAAU,EACVC,QAAQ,QAEH,OAAO;AAiBd,MAAMC,YAAY,gBAAGJ,aAAa,CAA2B,IAAI,CAAC;AAElE,OAAO,MAAMK,aAAa,GAAGC,IAAA,IAA2C;EAAA,IAA1C;IAAEC;EAAkC,CAAC,GAAAD,IAAA;EACjE,MAAM,CAACE,KAAK,EAAEC,QAAQ,CAAC,GAAGN,QAAQ,CAAa;IAAEO,EAAE,EAAE;EAAK,CAAC,CAAC;EAE5D,MAAMC,SAAS,GAAGV,WAAW,CAAC,CAACS,EAAW,EAAEE,KAA2B,KAAK;IAC1EH,QAAQ,CAAC;MAAEC,EAAE;MAAEE;IAAM,CAAC,CAAC;EACzB,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMC,UAAU,GAAGZ,WAAW,CAAC,MAAM;IACnCQ,QAAQ,CAAC;MAAEC,EAAE,EAAE;IAAK,CAAC,CAAC;EACxB,CAAC,EAAE,EAAE,CAAC;EAEN,oBACEX,KAAA,CAAAe,aAAA,CAACV,YAAY,CAACW,QAAQ;IAACC,KAAK,EAAE;MAAER,KAAK;MAAEG,SAAS;MAAEE;IAAW;EAAE,GAC5DN,QAAQ,eACTR,KAAA,CAAAe,aAAA,CAAChB,aAAa,MAAE,CACK,CAAC;AAE5B,CAAC;AAED,OAAO,MAAMmB,eAAe,GAAGA,CAAA,KAAM;EACnC,MAAMC,OAAO,GAAGhB,UAAU,CAACE,YAAY,CAAC;EACxC,IAAI,CAACc,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,mDAAmD,CAAC;EACtE;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ import React, { createContext, useCallback, useContext, useState } from 'react';
2
+ const OptimisticActionsContext = /*#__PURE__*/createContext(undefined);
3
+ export const OptimisticActionsProvider = _ref => {
4
+ let {
5
+ children
6
+ } = _ref;
7
+ const [optimisticActionsMap, setOptimisticActionsMap] = useState({});
8
+ const registerOptimisticActions = useCallback((collectionId, actions) => {
9
+ setOptimisticActionsMap(prev => ({
10
+ ...prev,
11
+ [collectionId]: actions
12
+ }));
13
+ }, []);
14
+ const getOptimisticActions = useCallback(collectionId => optimisticActionsMap[collectionId], [optimisticActionsMap]);
15
+ return /*#__PURE__*/React.createElement(OptimisticActionsContext.Provider, {
16
+ value: {
17
+ registerOptimisticActions,
18
+ getOptimisticActions
19
+ }
20
+ }, children);
21
+ };
22
+ export const useOptimisticActionsContext = () => {
23
+ const context = useContext(OptimisticActionsContext);
24
+ if (!context) {
25
+ throw new Error('useOptimisticActionsContext must be used within an OptimisticActionsProvider');
26
+ }
27
+ return context;
28
+ };
29
+ //# sourceMappingURL=OptimisticActionsContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createContext","useCallback","useContext","useState","OptimisticActionsContext","undefined","OptimisticActionsProvider","_ref","children","optimisticActionsMap","setOptimisticActionsMap","registerOptimisticActions","collectionId","actions","prev","getOptimisticActions","createElement","Provider","value","useOptimisticActionsContext","context","Error"],"sources":["../../../src/providers/OptimisticActionsContext.tsx"],"sourcesContent":["import React, { createContext, useCallback, useContext, useState } from 'react';\nimport { CollectionOptimisticActions } from '@wix/patterns';\n\ninterface OptimisticActionsContextValue {\n registerOptimisticActions: (\n collectionId: string,\n actions: CollectionOptimisticActions<any, any>,\n ) => void;\n getOptimisticActions: (\n collectionId: string,\n ) => CollectionOptimisticActions<any, any>;\n}\n\nconst OptimisticActionsContext = createContext<\n OptimisticActionsContextValue | undefined\n>(undefined);\n\nexport const OptimisticActionsProvider: React.FC<{\n children: React.ReactNode;\n}> = ({ children }) => {\n const [optimisticActionsMap, setOptimisticActionsMap] = useState<\n Record<string, CollectionOptimisticActions<any, any>>\n >({});\n\n const registerOptimisticActions = useCallback(\n (collectionId: string, actions: CollectionOptimisticActions<any, any>) => {\n setOptimisticActionsMap((prev) => ({\n ...prev,\n [collectionId]: actions,\n }));\n },\n [],\n );\n\n const getOptimisticActions = useCallback(\n (collectionId: string) => optimisticActionsMap[collectionId],\n [optimisticActionsMap],\n );\n\n return (\n <OptimisticActionsContext.Provider\n value={{ registerOptimisticActions, getOptimisticActions }}\n >\n {children}\n </OptimisticActionsContext.Provider>\n );\n};\n\nexport const useOptimisticActionsContext = () => {\n const context = useContext(OptimisticActionsContext);\n if (!context) {\n throw new Error(\n 'useOptimisticActionsContext must be used within an OptimisticActionsProvider',\n );\n }\n return context;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,OAAO;AAa/E,MAAMC,wBAAwB,gBAAGJ,aAAa,CAE5CK,SAAS,CAAC;AAEZ,OAAO,MAAMC,yBAEX,GAAGC,IAAA,IAAkB;EAAA,IAAjB;IAAEC;EAAS,CAAC,GAAAD,IAAA;EAChB,MAAM,CAACE,oBAAoB,EAAEC,uBAAuB,CAAC,GAAGP,QAAQ,CAE9D,CAAC,CAAC,CAAC;EAEL,MAAMQ,yBAAyB,GAAGV,WAAW,CAC3C,CAACW,YAAoB,EAAEC,OAA8C,KAAK;IACxEH,uBAAuB,CAAEI,IAAI,KAAM;MACjC,GAAGA,IAAI;MACP,CAACF,YAAY,GAAGC;IAClB,CAAC,CAAC,CAAC;EACL,CAAC,EACD,EACF,CAAC;EAED,MAAME,oBAAoB,GAAGd,WAAW,CACrCW,YAAoB,IAAKH,oBAAoB,CAACG,YAAY,CAAC,EAC5D,CAACH,oBAAoB,CACvB,CAAC;EAED,oBACEV,KAAA,CAAAiB,aAAA,CAACZ,wBAAwB,CAACa,QAAQ;IAChCC,KAAK,EAAE;MAAEP,yBAAyB;MAAEI;IAAqB;EAAE,GAE1DP,QACgC,CAAC;AAExC,CAAC;AAED,OAAO,MAAMW,2BAA2B,GAAGA,CAAA,KAAM;EAC/C,MAAMC,OAAO,GAAGlB,UAAU,CAACE,wBAAwB,CAAC;EACpD,IAAI,CAACgB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,8EACF,CAAC;EACH;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","PatternsWizardOverridesContext","undefined","PatternsWizardOverridesProvider","_ref","children","value","createElement","Provider","usePatternsWizardOverridesContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport {\n IColumnValue,\n IMenuItem,\n PagePrimaryActionProps,\n PageSecondaryActionProps,\n} from '../types';\nimport { CollectionConfig } from '@wix/patterns';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<string, (props: IMenuItem<any>) => void>;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n HeaderAddon?: React.FC;\n emptyState?: Record<string, () => void>;\n usePagePrimaryAction?: () => PagePrimaryActionProps;\n usePageSecondaryAction?: () => PageSecondaryActionProps;\n fetchData?: Record<string, CollectionConfig<any, any>['fetchData']>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AAmBnE,MAAMC,8BAA8B,gBAAGF,aAAa,CAElDG,SAAS,CAAC;AAEZ,OAAO,MAAMC,+BAGX,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAAF,IAAA;EACvB,oBACEN,KAAA,CAAAS,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GACnDD,QACsC,CAAC;AAE9C,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAOT,UAAU,CAACC,8BAA8B,CAAC;AACnD,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","PatternsWizardOverridesContext","undefined","PatternsWizardOverridesProvider","_ref","children","value","createElement","Provider","usePatternsWizardOverridesContext"],"sources":["../../../src/providers/PatternsWizardOverridesContext.tsx"],"sourcesContent":["import React, { createContext, useContext, ReactNode } from 'react';\nimport { CustomComponentProps, IColumnValue } from '../types';\nimport { CollectionConfig } from '@wix/patterns';\nimport { CustomActionParams, ResolvedAction } from '../utils/actions/types';\n\nexport interface PatternsWizardOverridesContextProps {\n actions?: Record<string, (props: CustomActionParams) => ResolvedAction>;\n columns?: Record<string, (props: IColumnValue<any>) => void>;\n modals?: Record<string, React.FC<any>>;\n HeaderAddon?: React.FC;\n emptyState?: Record<string, () => void>;\n fetchData?: Record<string, CollectionConfig<any, any>['fetchData']>;\n components?: Record<string, React.FC<CustomComponentProps>>;\n}\n\nconst PatternsWizardOverridesContext = createContext<\n PatternsWizardOverridesContextProps | undefined\n>(undefined);\n\nexport const PatternsWizardOverridesProvider: React.FC<{\n children: ReactNode;\n value: PatternsWizardOverridesContextProps;\n}> = ({ children, value }) => {\n return (\n <PatternsWizardOverridesContext.Provider value={value}>\n {children}\n </PatternsWizardOverridesContext.Provider>\n );\n};\n\nexport const usePatternsWizardOverridesContext = ():\n | PatternsWizardOverridesContextProps\n | undefined => {\n return useContext(PatternsWizardOverridesContext);\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,aAAa,EAAEC,UAAU,QAAmB,OAAO;AAenE,MAAMC,8BAA8B,gBAAGF,aAAa,CAElDG,SAAS,CAAC;AAEZ,OAAO,MAAMC,+BAGX,GAAGC,IAAA,IAAyB;EAAA,IAAxB;IAAEC,QAAQ;IAAEC;EAAM,CAAC,GAAAF,IAAA;EACvB,oBACEN,KAAA,CAAAS,aAAA,CAACN,8BAA8B,CAACO,QAAQ;IAACF,KAAK,EAAEA;EAAM,GACnDD,QACsC,CAAC;AAE9C,CAAC;AAED,OAAO,MAAMI,iCAAiC,GAAGA,CAAA,KAEhC;EACf,OAAOT,UAAU,CAACC,8BAA8B,CAAC;AACnD,CAAC","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import { AppConfigProvider } from './AppConfigContext';
3
+ import { ModalProvider } from './ModalContext';
4
+ import { SchemaRegistryProvider } from './SchemaRegistryContext';
5
+ import { OptimisticActionsProvider } from './OptimisticActionsContext';
6
+ export const RootAppProvider = _ref => {
7
+ let {
8
+ appConfig,
9
+ children
10
+ } = _ref;
11
+ return /*#__PURE__*/React.createElement(AppConfigProvider, {
12
+ appConfig: appConfig
13
+ }, /*#__PURE__*/React.createElement(SchemaRegistryProvider, null, /*#__PURE__*/React.createElement(OptimisticActionsProvider, null, /*#__PURE__*/React.createElement(ModalProvider, null, children))));
14
+ };
15
+ //# sourceMappingURL=RootAppProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","AppConfigProvider","ModalProvider","SchemaRegistryProvider","OptimisticActionsProvider","RootAppProvider","_ref","appConfig","children","createElement"],"sources":["../../../src/providers/RootAppProvider.tsx"],"sourcesContent":["import React, { ReactNode } from 'react';\nimport { AppConfig } from '../types';\nimport { AppConfigProvider } from './AppConfigContext';\nimport { ModalProvider } from './ModalContext';\nimport { SchemaRegistryProvider } from './SchemaRegistryContext';\nimport { OptimisticActionsProvider } from './OptimisticActionsContext';\n\nexport const RootAppProvider = ({\n appConfig,\n children,\n}: {\n appConfig: AppConfig;\n children: ReactNode;\n}) => {\n return (\n <AppConfigProvider appConfig={appConfig}>\n <SchemaRegistryProvider>\n <OptimisticActionsProvider>\n <ModalProvider>{children}</ModalProvider>\n </OptimisticActionsProvider>\n </SchemaRegistryProvider>\n </AppConfigProvider>\n );\n};\n"],"mappings":"AAAA,OAAOA,KAAK,MAAqB,OAAO;AAExC,SAASC,iBAAiB,QAAQ,oBAAoB;AACtD,SAASC,aAAa,QAAQ,gBAAgB;AAC9C,SAASC,sBAAsB,QAAQ,yBAAyB;AAChE,SAASC,yBAAyB,QAAQ,4BAA4B;AAEtE,OAAO,MAAMC,eAAe,GAAGC,IAAA,IAMzB;EAAA,IAN0B;IAC9BC,SAAS;IACTC;EAIF,CAAC,GAAAF,IAAA;EACC,oBACEN,KAAA,CAAAS,aAAA,CAACR,iBAAiB;IAACM,SAAS,EAAEA;EAAU,gBACtCP,KAAA,CAAAS,aAAA,CAACN,sBAAsB,qBACrBH,KAAA,CAAAS,aAAA,CAACL,yBAAyB,qBACxBJ,KAAA,CAAAS,aAAA,CAACP,aAAa,QAAEM,QAAwB,CACf,CACL,CACP,CAAC;AAExB,CAAC","ignoreList":[]}
@@ -1,5 +1,6 @@
1
1
  import React, { createContext, useContext, useEffect, useState } from 'react';
2
- import { getSchema } from '../collectionData/SchemaFactory';
2
+ import { getSchema } from '../dataSourceAdapters/factory';
3
+ import { useSchemaRegistry } from './SchemaRegistryContext';
3
4
  const SchemaContext = /*#__PURE__*/createContext(null);
4
5
  export const SchemaProvider = _ref => {
5
6
  let {
@@ -7,13 +8,56 @@ export const SchemaProvider = _ref => {
7
8
  entityTypeSource,
8
9
  children
9
10
  } = _ref;
11
+ const {
12
+ getSchema: getSchemaFromRegistry,
13
+ addSchema: addSchemaToRegistry
14
+ } = useSchemaRegistry();
10
15
  const [schema, setSchema] = useState(null);
16
+ const [isLoading, setIsLoading] = useState(false);
11
17
  useEffect(() => {
12
- getSchema(collectionId, entityTypeSource).then(setSchema).catch(error => {
18
+ const fetchReferencedSchemas = async referencedSchema => {
19
+ const referencedCollectionIds = new Set();
20
+ Object.values(referencedSchema.fields).forEach(field => {
21
+ if (field && field.type === 'REFERENCE' && field.referenceMetadata) {
22
+ const {
23
+ referencedCollectionId
24
+ } = field.referenceMetadata;
25
+ if (referencedCollectionId && !getSchemaFromRegistry(referencedCollectionId)) {
26
+ referencedCollectionIds.add(referencedCollectionId);
27
+ }
28
+ }
29
+ });
30
+ if (referencedCollectionIds.size === 0) {
31
+ return;
32
+ }
33
+ const fetchPromises = Array.from(referencedCollectionIds).map(async refCollectionId => {
34
+ try {
35
+ const refSchema = await getSchema(refCollectionId, entityTypeSource);
36
+ addSchemaToRegistry(refCollectionId, refSchema);
37
+ await fetchReferencedSchemas(refSchema);
38
+ } catch (error) {
39
+ console.error(`Error fetching referenced schema ${refCollectionId}:`, error);
40
+ }
41
+ });
42
+ await Promise.all(fetchPromises);
43
+ };
44
+ const cachedSchema = getSchemaFromRegistry(collectionId);
45
+ if (cachedSchema) {
46
+ setSchema(cachedSchema);
47
+ return;
48
+ }
49
+ setIsLoading(true);
50
+ getSchema(collectionId, entityTypeSource).then(async fetchedSchema => {
51
+ setSchema(fetchedSchema);
52
+ addSchemaToRegistry(collectionId, fetchedSchema);
53
+ await fetchReferencedSchemas(fetchedSchema);
54
+ }).catch(error => {
13
55
  console.error('Error fetching schema config:', error);
56
+ }).finally(() => {
57
+ setIsLoading(false);
14
58
  });
15
- }, [collectionId, entityTypeSource]);
16
- if (!schema) {
59
+ }, [collectionId, entityTypeSource, addSchemaToRegistry, getSchemaFromRegistry]);
60
+ if (!schema || isLoading) {
17
61
  return null;
18
62
  }
19
63
  return /*#__PURE__*/React.createElement(SchemaContext.Provider, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","createContext","useContext","useEffect","useState","getSchema","SchemaContext","SchemaProvider","_ref","collectionId","entityTypeSource","children","schema","setSchema","then","catch","error","console","createElement","Provider","value","useSchema","context","Error"],"sources":["../../../src/providers/SchemaContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useEffect,\n useState,\n ReactNode,\n} from 'react';\nimport { getSchema } from '../collectionData/SchemaFactory';\nimport { SchemaConfig } from '../types';\n\nconst SchemaContext = createContext<SchemaConfig | null>(null);\n\ninterface SchemaProviderProps {\n collectionId: string;\n entityTypeSource: string;\n children: ReactNode;\n}\n\nexport const SchemaProvider = ({\n collectionId,\n entityTypeSource,\n children,\n}: SchemaProviderProps) => {\n const [schema, setSchema] = useState<SchemaConfig | null>(null);\n\n useEffect(() => {\n getSchema(collectionId, entityTypeSource)\n .then(setSchema)\n .catch((error) => {\n console.error('Error fetching schema config:', error);\n });\n }, [collectionId, entityTypeSource]);\n\n if (!schema) {\n return null;\n }\n\n return (\n <SchemaContext.Provider value={schema}>{children}</SchemaContext.Provider>\n );\n};\n\nexport const useSchema = (): SchemaConfig => {\n const context = useContext(SchemaContext);\n if (!context) {\n throw new Error('useSchema must be used within a SchemaProvider');\n }\n return context;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,aAAa,EACbC,UAAU,EACVC,SAAS,EACTC,QAAQ,QAEH,OAAO;AACd,SAASC,SAAS,QAAQ,iCAAiC;AAG3D,MAAMC,aAAa,gBAAGL,aAAa,CAAsB,IAAI,CAAC;AAQ9D,OAAO,MAAMM,cAAc,GAAGC,IAAA,IAIH;EAAA,IAJI;IAC7BC,YAAY;IACZC,gBAAgB;IAChBC;EACmB,CAAC,GAAAH,IAAA;EACpB,MAAM,CAACI,MAAM,EAAEC,SAAS,CAAC,GAAGT,QAAQ,CAAsB,IAAI,CAAC;EAE/DD,SAAS,CAAC,MAAM;IACdE,SAAS,CAACI,YAAY,EAAEC,gBAAgB,CAAC,CACtCI,IAAI,CAACD,SAAS,CAAC,CACfE,KAAK,CAAEC,KAAK,IAAK;MAChBC,OAAO,CAACD,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;IACvD,CAAC,CAAC;EACN,CAAC,EAAE,CAACP,YAAY,EAAEC,gBAAgB,CAAC,CAAC;EAEpC,IAAI,CAACE,MAAM,EAAE;IACX,OAAO,IAAI;EACb;EAEA,oBACEZ,KAAA,CAAAkB,aAAA,CAACZ,aAAa,CAACa,QAAQ;IAACC,KAAK,EAAER;EAAO,GAAED,QAAiC,CAAC;AAE9E,CAAC;AAED,OAAO,MAAMU,SAAS,GAAGA,CAAA,KAAoB;EAC3C,MAAMC,OAAO,GAAGpB,UAAU,CAACI,aAAa,CAAC;EACzC,IAAI,CAACgB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,gDAAgD,CAAC;EACnE;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["React","createContext","useContext","useEffect","useState","getSchema","useSchemaRegistry","SchemaContext","SchemaProvider","_ref","collectionId","entityTypeSource","children","getSchemaFromRegistry","addSchema","addSchemaToRegistry","schema","setSchema","isLoading","setIsLoading","fetchReferencedSchemas","referencedSchema","referencedCollectionIds","Set","Object","values","fields","forEach","field","type","referenceMetadata","referencedCollectionId","add","size","fetchPromises","Array","from","map","refCollectionId","refSchema","error","console","Promise","all","cachedSchema","then","fetchedSchema","catch","finally","createElement","Provider","value","useSchema","context","Error"],"sources":["../../../src/providers/SchemaContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useEffect,\n useState,\n ReactNode,\n} from 'react';\n\nimport { SchemaConfig } from '../types';\nimport { getSchema } from '../dataSourceAdapters/factory';\nimport { useSchemaRegistry } from './SchemaRegistryContext';\n\nconst SchemaContext = createContext<SchemaConfig | null>(null);\n\ninterface SchemaProviderProps {\n collectionId: string;\n entityTypeSource: string;\n children: ReactNode;\n}\n\nexport const SchemaProvider = ({\n collectionId,\n entityTypeSource,\n children,\n}: SchemaProviderProps) => {\n const { getSchema: getSchemaFromRegistry, addSchema: addSchemaToRegistry } =\n useSchemaRegistry();\n const [schema, setSchema] = useState<SchemaConfig | null>(null);\n const [isLoading, setIsLoading] = useState<boolean>(false);\n\n useEffect(() => {\n const fetchReferencedSchemas = async (referencedSchema: SchemaConfig) => {\n const referencedCollectionIds = new Set<string>();\n\n Object.values(referencedSchema.fields).forEach((field) => {\n if (field && field.type === 'REFERENCE' && field.referenceMetadata) {\n const { referencedCollectionId } = field.referenceMetadata;\n if (\n referencedCollectionId &&\n !getSchemaFromRegistry(referencedCollectionId)\n ) {\n referencedCollectionIds.add(referencedCollectionId);\n }\n }\n });\n\n if (referencedCollectionIds.size === 0) {\n return;\n }\n\n const fetchPromises = Array.from(referencedCollectionIds).map(\n async (refCollectionId) => {\n try {\n const refSchema = await getSchema(\n refCollectionId,\n entityTypeSource,\n );\n\n addSchemaToRegistry(refCollectionId, refSchema);\n\n await fetchReferencedSchemas(refSchema);\n } catch (error) {\n console.error(\n `Error fetching referenced schema ${refCollectionId}:`,\n error,\n );\n }\n },\n );\n\n await Promise.all(fetchPromises);\n };\n\n const cachedSchema = getSchemaFromRegistry(collectionId);\n if (cachedSchema) {\n setSchema(cachedSchema);\n return;\n }\n\n setIsLoading(true);\n getSchema(collectionId, entityTypeSource)\n .then(async (fetchedSchema) => {\n setSchema(fetchedSchema);\n addSchemaToRegistry(collectionId, fetchedSchema);\n\n await fetchReferencedSchemas(fetchedSchema);\n })\n .catch((error) => {\n console.error('Error fetching schema config:', error);\n })\n .finally(() => {\n setIsLoading(false);\n });\n }, [\n collectionId,\n entityTypeSource,\n addSchemaToRegistry,\n getSchemaFromRegistry,\n ]);\n\n if (!schema || isLoading) {\n return null;\n }\n\n return (\n <SchemaContext.Provider value={schema}>{children}</SchemaContext.Provider>\n );\n};\n\nexport const useSchema = (): SchemaConfig => {\n const context = useContext(SchemaContext);\n if (!context) {\n throw new Error('useSchema must be used within a SchemaProvider');\n }\n return context;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,aAAa,EACbC,UAAU,EACVC,SAAS,EACTC,QAAQ,QAEH,OAAO;AAGd,SAASC,SAAS,QAAQ,+BAA+B;AACzD,SAASC,iBAAiB,QAAQ,yBAAyB;AAE3D,MAAMC,aAAa,gBAAGN,aAAa,CAAsB,IAAI,CAAC;AAQ9D,OAAO,MAAMO,cAAc,GAAGC,IAAA,IAIH;EAAA,IAJI;IAC7BC,YAAY;IACZC,gBAAgB;IAChBC;EACmB,CAAC,GAAAH,IAAA;EACpB,MAAM;IAAEJ,SAAS,EAAEQ,qBAAqB;IAAEC,SAAS,EAAEC;EAAoB,CAAC,GACxET,iBAAiB,CAAC,CAAC;EACrB,MAAM,CAACU,MAAM,EAAEC,SAAS,CAAC,GAAGb,QAAQ,CAAsB,IAAI,CAAC;EAC/D,MAAM,CAACc,SAAS,EAAEC,YAAY,CAAC,GAAGf,QAAQ,CAAU,KAAK,CAAC;EAE1DD,SAAS,CAAC,MAAM;IACd,MAAMiB,sBAAsB,GAAG,MAAOC,gBAA8B,IAAK;MACvE,MAAMC,uBAAuB,GAAG,IAAIC,GAAG,CAAS,CAAC;MAEjDC,MAAM,CAACC,MAAM,CAACJ,gBAAgB,CAACK,MAAM,CAAC,CAACC,OAAO,CAAEC,KAAK,IAAK;QACxD,IAAIA,KAAK,IAAIA,KAAK,CAACC,IAAI,KAAK,WAAW,IAAID,KAAK,CAACE,iBAAiB,EAAE;UAClE,MAAM;YAAEC;UAAuB,CAAC,GAAGH,KAAK,CAACE,iBAAiB;UAC1D,IACEC,sBAAsB,IACtB,CAAClB,qBAAqB,CAACkB,sBAAsB,CAAC,EAC9C;YACAT,uBAAuB,CAACU,GAAG,CAACD,sBAAsB,CAAC;UACrD;QACF;MACF,CAAC,CAAC;MAEF,IAAIT,uBAAuB,CAACW,IAAI,KAAK,CAAC,EAAE;QACtC;MACF;MAEA,MAAMC,aAAa,GAAGC,KAAK,CAACC,IAAI,CAACd,uBAAuB,CAAC,CAACe,GAAG,CAC3D,MAAOC,eAAe,IAAK;QACzB,IAAI;UACF,MAAMC,SAAS,GAAG,MAAMlC,SAAS,CAC/BiC,eAAe,EACf3B,gBACF,CAAC;UAEDI,mBAAmB,CAACuB,eAAe,EAAEC,SAAS,CAAC;UAE/C,MAAMnB,sBAAsB,CAACmB,SAAS,CAAC;QACzC,CAAC,CAAC,OAAOC,KAAK,EAAE;UACdC,OAAO,CAACD,KAAK,CACX,oCAAoCF,eAAe,GAAG,EACtDE,KACF,CAAC;QACH;MACF,CACF,CAAC;MAED,MAAME,OAAO,CAACC,GAAG,CAACT,aAAa,CAAC;IAClC,CAAC;IAED,MAAMU,YAAY,GAAG/B,qBAAqB,CAACH,YAAY,CAAC;IACxD,IAAIkC,YAAY,EAAE;MAChB3B,SAAS,CAAC2B,YAAY,CAAC;MACvB;IACF;IAEAzB,YAAY,CAAC,IAAI,CAAC;IAClBd,SAAS,CAACK,YAAY,EAAEC,gBAAgB,CAAC,CACtCkC,IAAI,CAAC,MAAOC,aAAa,IAAK;MAC7B7B,SAAS,CAAC6B,aAAa,CAAC;MACxB/B,mBAAmB,CAACL,YAAY,EAAEoC,aAAa,CAAC;MAEhD,MAAM1B,sBAAsB,CAAC0B,aAAa,CAAC;IAC7C,CAAC,CAAC,CACDC,KAAK,CAAEP,KAAK,IAAK;MAChBC,OAAO,CAACD,KAAK,CAAC,+BAA+B,EAAEA,KAAK,CAAC;IACvD,CAAC,CAAC,CACDQ,OAAO,CAAC,MAAM;MACb7B,YAAY,CAAC,KAAK,CAAC;IACrB,CAAC,CAAC;EACN,CAAC,EAAE,CACDT,YAAY,EACZC,gBAAgB,EAChBI,mBAAmB,EACnBF,qBAAqB,CACtB,CAAC;EAEF,IAAI,CAACG,MAAM,IAAIE,SAAS,EAAE;IACxB,OAAO,IAAI;EACb;EAEA,oBACElB,KAAA,CAAAiD,aAAA,CAAC1C,aAAa,CAAC2C,QAAQ;IAACC,KAAK,EAAEnC;EAAO,GAAEJ,QAAiC,CAAC;AAE9E,CAAC;AAED,OAAO,MAAMwC,SAAS,GAAGA,CAAA,KAAoB;EAC3C,MAAMC,OAAO,GAAGnD,UAAU,CAACK,aAAa,CAAC;EACzC,IAAI,CAAC8C,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CAAC,gDAAgD,CAAC;EACnE;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -0,0 +1,35 @@
1
+ import React, { createContext, useContext, useState, useCallback, useMemo } from 'react';
2
+ const SchemaRegistryContext = /*#__PURE__*/createContext({
3
+ getSchema: () => undefined,
4
+ addSchema: () => {}
5
+ });
6
+ export const SchemaRegistryProvider = _ref => {
7
+ let {
8
+ children
9
+ } = _ref;
10
+ const [registry, setRegistry] = useState({});
11
+ const addSchema = useCallback((collectionId, schema) => {
12
+ setRegistry(prevRegistry => ({
13
+ ...prevRegistry,
14
+ [collectionId]: schema
15
+ }));
16
+ }, []);
17
+ const getSchema = useCallback(collectionId => {
18
+ return registry == null ? void 0 : registry[collectionId];
19
+ }, [registry]);
20
+ const contextValue = useMemo(() => ({
21
+ getSchema,
22
+ addSchema
23
+ }), [getSchema, addSchema]);
24
+ return /*#__PURE__*/React.createElement(SchemaRegistryContext.Provider, {
25
+ value: contextValue
26
+ }, children);
27
+ };
28
+ export const useSchemaRegistry = () => {
29
+ const context = useContext(SchemaRegistryContext);
30
+ if (!context) {
31
+ throw new Error('useSchemaRegistry must be used within a UseRegistryProvider');
32
+ }
33
+ return context;
34
+ };
35
+ //# sourceMappingURL=SchemaRegistryContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","createContext","useContext","useState","useCallback","useMemo","SchemaRegistryContext","getSchema","undefined","addSchema","SchemaRegistryProvider","_ref","children","registry","setRegistry","collectionId","schema","prevRegistry","contextValue","createElement","Provider","value","useSchemaRegistry","context","Error"],"sources":["../../../src/providers/SchemaRegistryContext.tsx"],"sourcesContent":["import React, {\n createContext,\n useContext,\n useState,\n ReactNode,\n useCallback,\n useMemo,\n} from 'react';\n\nimport { SchemaConfig } from '../types';\n\nexport interface SchemaRegistryContextValue {\n getSchema: (collectionId: string) => SchemaConfig | undefined;\n addSchema: (collectionId: string, schema: SchemaConfig) => void;\n}\n\nexport type SchemaRegistry = Record<string, SchemaConfig>;\n\nconst SchemaRegistryContext = createContext<SchemaRegistryContextValue>({\n getSchema: () => undefined,\n addSchema: () => {},\n});\n\nexport interface SchemaRegistryProviderProps {\n children: ReactNode;\n}\n\nexport const SchemaRegistryProvider = ({\n children,\n}: SchemaRegistryProviderProps) => {\n const [registry, setRegistry] = useState<SchemaRegistry>({});\n\n const addSchema = useCallback(\n (collectionId: string, schema: SchemaConfig) => {\n setRegistry((prevRegistry) => ({\n ...prevRegistry,\n [collectionId]: schema,\n }));\n },\n [],\n );\n\n const getSchema = useCallback(\n (collectionId: string) => {\n return registry?.[collectionId];\n },\n [registry],\n );\n\n const contextValue = useMemo(\n () => ({\n getSchema,\n addSchema,\n }),\n [getSchema, addSchema],\n );\n\n return (\n <SchemaRegistryContext.Provider value={contextValue}>\n {children}\n </SchemaRegistryContext.Provider>\n );\n};\n\nexport const useSchemaRegistry = (): SchemaRegistryContextValue => {\n const context = useContext(SchemaRegistryContext);\n if (!context) {\n throw new Error(\n 'useSchemaRegistry must be used within a UseRegistryProvider',\n );\n }\n return context;\n};\n"],"mappings":"AAAA,OAAOA,KAAK,IACVC,aAAa,EACbC,UAAU,EACVC,QAAQ,EAERC,WAAW,EACXC,OAAO,QACF,OAAO;AAWd,MAAMC,qBAAqB,gBAAGL,aAAa,CAA6B;EACtEM,SAAS,EAAEA,CAAA,KAAMC,SAAS;EAC1BC,SAAS,EAAEA,CAAA,KAAM,CAAC;AACpB,CAAC,CAAC;AAMF,OAAO,MAAMC,sBAAsB,GAAGC,IAAA,IAEH;EAAA,IAFI;IACrCC;EAC2B,CAAC,GAAAD,IAAA;EAC5B,MAAM,CAACE,QAAQ,EAAEC,WAAW,CAAC,GAAGX,QAAQ,CAAiB,CAAC,CAAC,CAAC;EAE5D,MAAMM,SAAS,GAAGL,WAAW,CAC3B,CAACW,YAAoB,EAAEC,MAAoB,KAAK;IAC9CF,WAAW,CAAEG,YAAY,KAAM;MAC7B,GAAGA,YAAY;MACf,CAACF,YAAY,GAAGC;IAClB,CAAC,CAAC,CAAC;EACL,CAAC,EACD,EACF,CAAC;EAED,MAAMT,SAAS,GAAGH,WAAW,CAC1BW,YAAoB,IAAK;IACxB,OAAOF,QAAQ,oBAARA,QAAQ,CAAGE,YAAY,CAAC;EACjC,CAAC,EACD,CAACF,QAAQ,CACX,CAAC;EAED,MAAMK,YAAY,GAAGb,OAAO,CAC1B,OAAO;IACLE,SAAS;IACTE;EACF,CAAC,CAAC,EACF,CAACF,SAAS,EAAEE,SAAS,CACvB,CAAC;EAED,oBACET,KAAA,CAAAmB,aAAA,CAACb,qBAAqB,CAACc,QAAQ;IAACC,KAAK,EAAEH;EAAa,GACjDN,QAC6B,CAAC;AAErC,CAAC;AAED,OAAO,MAAMU,iBAAiB,GAAGA,CAAA,KAAkC;EACjE,MAAMC,OAAO,GAAGrB,UAAU,CAACI,qBAAqB,CAAC;EACjD,IAAI,CAACiB,OAAO,EAAE;IACZ,MAAM,IAAIC,KAAK,CACb,6DACF,CAAC;EACH;EACA,OAAOD,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -1,3 +1,6 @@
1
- export * from './CollectionDataContext';
1
+ export * from './SchemaContext';
2
2
  export * from './PatternsWizardOverridesContext';
3
+ export * from './ModalContext';
4
+ export * from './SchemaRegistryContext';
5
+ export * from './AppConfigContext';
3
6
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/providers/index.ts"],"sourcesContent":["export * from './CollectionDataContext';\nexport * from './PatternsWizardOverridesContext';\n"],"mappings":"AAAA,cAAc,yBAAyB;AACvC,cAAc,kCAAkC","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/providers/index.ts"],"sourcesContent":["export * from './SchemaContext';\nexport * from './PatternsWizardOverridesContext';\nexport * from './ModalContext';\nexport * from './SchemaRegistryContext';\nexport * from './AppConfigContext';\n"],"mappings":"AAAA,cAAc,iBAAiB;AAC/B,cAAc,kCAAkC;AAChD,cAAc,gBAAgB;AAC9B,cAAc,yBAAyB;AACvC,cAAc,oBAAoB","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=BaseSDK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../src/types/BaseSDK.ts"],"sourcesContent":["import { ModalId } from '../providers/ModalContext';\nimport { PatternsWizardOverridesContextProps } from '../providers';\nimport { AppConfig } from './types';\nimport { NavigateToEntityPageFunc } from '../hooks';\n\nexport interface BaseSDK {\n appConfig: AppConfig;\n openModal: (id: ModalId, props?: Record<string, any>) => void;\n closeModal: () => void;\n overrides?: PatternsWizardOverridesContextProps;\n navigateToEntityPage?: NavigateToEntityPageFunc;\n}\n"],"mappings":"","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":["ComponentTypeEnum"],"sources":["../../../src/types/CollectionPageConfig.ts"],"sourcesContent":["import { CollectionToolbarFiltersProps } from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\n\nexport interface CollectionPageConfig {\n title: { text: string; hideTotal?: boolean };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n components: ComponentConfig[];\n}\n\ninterface ComponentConfig {\n type: 'Table' | 'Grid' | 'TableGridSwitch';\n table?: TableConfig;\n grid?: GridConfig;\n}\n\nexport interface CollectionConfig {\n collectionId: string;\n entityTypeSource: 'cms';\n fetchData?: FetchData;\n limit?: number;\n persistQueryToUrl?: boolean;\n disableAutoSelectAllCount?: boolean;\n selectionConsistencyMode?: 'preserve' | 'clear';\n}\n\nexport interface BaseCollectionComponentConfig {\n collection: CollectionConfig;\n search?: { shown?: boolean };\n toolbarTitle?: ToolbarTitle;\n actions?: Action[];\n emptyState?: EmptyState;\n filters?: FiltersConfig;\n}\n\nexport interface TableConfig extends BaseCollectionComponentConfig {\n columns: Column[];\n customColumns?: {\n enabled: boolean;\n };\n}\n\nexport interface GridConfig extends BaseCollectionComponentConfig {\n item: GridItem;\n}\n\nexport interface ToolbarTitle {\n title: string;\n subtitle?: {\n text: string;\n info?: {\n content: {\n text: string;\n link?: {\n url: string;\n label: string;\n };\n };\n };\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n showTotal?: boolean;\n itemsLimit?: number;\n}\n\nexport interface Column {\n id: string;\n name: string;\n width?: string;\n sortable?: boolean;\n defaultSortOrder?: 'asc' | 'desc';\n sortMode?: 'asc' | 'desc';\n defaultHidden?: boolean;\n hiddenFromCustomColumnsSelection?: boolean;\n hideable?: boolean;\n reorderDisabled?: boolean;\n}\n\nexport interface GridItem {\n title: string;\n subtitle?: string;\n image?: string;\n preset?: 'full' | 'title' | 'empty';\n imagePlacement?: 'top' | 'side';\n}\n\nexport interface EmptyState {\n title?: string;\n subtitle?: string;\n image?: {\n id: string;\n };\n addNewCta?: {\n id?: string;\n text?: string;\n };\n customCta?: {\n id?: string;\n };\n}\n\ninterface FetchData {\n id: string;\n}\n\nexport interface FilterOption {\n value: string;\n label: string;\n}\n\nexport type FilterSelectionMode = 'single' | 'multiple';\nexport type EnumFilterOptionType =\n | 'checkbox'\n | 'inlineCheckbox'\n | 'radio'\n | 'select';\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport interface FiltersConfig {\n items: Filter[];\n maxToolbarFilters?: CollectionToolbarFiltersProps['inline'];\n panelTitle?: string;\n}\n\nexport interface DateFilterConfig {\n mode?: DateRangeFilterMode;\n dateRangeOptions?: DateRangeOptions;\n filterByTime?: boolean;\n}\n\nexport interface NumberFilterConfig {\n min?: number;\n max?: number;\n decimal?: boolean;\n}\n\nexport interface BooleanFilterConfig {\n checkedLabel?: string;\n uncheckedLabel?: string;\n}\n\nexport interface EnumFilterConfig {\n options: FilterOption[];\n selectionMode: FilterSelectionMode;\n optionType?: EnumFilterOptionType;\n}\n\nexport interface Filter {\n fieldId: string;\n displayName?: string;\n accordionItemProps?: {\n initiallyOpen?: boolean;\n sectionTitle?: string;\n };\n toolbarTagProps?: {\n label: string;\n };\n componentType?: ComponentTypeEnum;\n numberConfig?: NumberFilterConfig;\n dateConfig?: DateFilterConfig;\n booleanConfig?: BooleanFilterConfig;\n enumConfig?: EnumFilterConfig;\n}\n\ninterface Action {\n id: string;\n text: string;\n icon: string;\n}\n"],"mappings":"AA6HA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
1
+ {"version":3,"names":["ComponentTypeEnum"],"sources":["../../../src/types/CollectionPageConfig.ts"],"sourcesContent":["import { CollectionToolbarFiltersProps } from '@wix/patterns';\nimport { DateRangeFilterMode, DateRangeOptions } from '@wix/patterns/core';\nimport { BaseCollectionConfig } from './types';\nimport {\n ActionCellConfig,\n BulkActionsConfig,\n CollectionPagePrimaryActions,\n CollectionPageSecondaryActions,\n} from './actions';\n\nexport interface CollectionPageConfig {\n route: {\n path: string;\n };\n title: { text: string; hideTotal?: boolean };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n actions?: {\n primaryActions?: CollectionPagePrimaryActions;\n secondaryActions?: CollectionPageSecondaryActions;\n };\n components: ComponentConfig[];\n}\n\nexport interface ComponentConfig {\n type: 'Table' | 'Grid' | 'TableGridSwitch';\n table?: TableConfig;\n grid?: GridConfig;\n}\n\nexport interface CollectionConfig extends BaseCollectionConfig {\n fetchData?: FetchData;\n limit?: number;\n persistQueryToUrl?: boolean;\n disableAutoSelectAllCount?: boolean;\n selectionConsistencyMode?: 'preserve' | 'clear';\n}\n\nexport interface BaseCollectionComponentConfig {\n collection: CollectionConfig;\n entityPageId?: string;\n search?: { shown?: boolean };\n toolbarTitle?: ToolbarTitle;\n actionCell?: ActionCellConfig;\n emptyState?: EmptyState;\n filters?: FiltersConfig;\n bulkActionToolbar?: BulkActionsConfig;\n}\n\nexport interface TableConfig extends BaseCollectionComponentConfig {\n columns: Column[];\n customColumns?: {\n enabled: boolean;\n };\n}\n\nexport interface GridConfig extends BaseCollectionComponentConfig {\n item: GridItem;\n}\n\nexport interface ToolbarTitle {\n title: string;\n subtitle?: {\n text: string;\n info?: {\n content: {\n text: string;\n link?: {\n url: string;\n label: string;\n };\n };\n };\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n showTotal?: boolean;\n itemsLimit?: number;\n}\n\nexport interface Column {\n id: string;\n name: string;\n width?: string;\n sortable?: boolean;\n defaultSortOrder?: 'asc' | 'desc';\n sortMode?: 'asc' | 'desc';\n defaultHidden?: boolean;\n hiddenFromCustomColumnsSelection?: boolean;\n hideable?: boolean;\n reorderDisabled?: boolean;\n}\n\nexport interface GridItem {\n titleFieldId: string;\n subtitleFieldId?: string;\n imageFieldId?: string;\n cardContentMode?: 'full' | 'title' | 'empty'; // Footer is not supported in auto-patterns\n imagePlacement?: 'top' | 'side';\n}\n\nexport interface EmptyState {\n title?: string;\n subtitle?: string;\n image?: {\n id: string;\n };\n addNewCta?: {\n id?: string;\n text?: string;\n };\n customCta?: {\n id?: string;\n };\n}\n\ninterface FetchData {\n id: string;\n}\n\nexport interface FilterOption {\n value: string;\n label: string;\n}\n\nexport type FilterSelectionMode = 'single' | 'multiple';\nexport type FilterOptionType =\n | 'checkbox'\n | 'inlineCheckbox'\n | 'radio'\n | 'select';\n\nexport enum ComponentTypeEnum {\n SINGLE = 'single',\n MULTI_SELECT = 'multi-select',\n RADIO_GROUP = 'radio-group',\n NUMBER = 'number',\n DATE_RANGE = 'date-range',\n}\n\nexport interface FiltersConfig {\n items: Filter[];\n maxInlineFilters?: CollectionToolbarFiltersProps['inline'];\n panelTitle?: string;\n}\n\nexport interface BaseOptionsFilterConfig {\n selectionMode: FilterSelectionMode;\n}\n\nexport interface DateFilterConfig {\n mode?: DateRangeFilterMode;\n presets?: DateRangeOptions;\n includeTime?: boolean;\n}\n\nexport interface NumberFilterConfig {\n min?: number;\n max?: number;\n allowedDecimals?: boolean;\n}\n\nexport interface BooleanFilterConfig {\n trueLabel?: string;\n falseLabel?: string;\n}\n\nexport interface EnumFilterConfig extends BaseOptionsFilterConfig {\n options: FilterOption[];\n optionType?: FilterOptionType;\n}\n\nexport interface DynamicOptionsFilterConfig extends BaseOptionsFilterConfig {}\n\nexport interface Filter {\n id: string;\n fieldId: string;\n displayName?: string;\n sectionTitle?: string;\n openByDefault?: boolean;\n tagLabel?: string;\n numberConfig?: NumberFilterConfig;\n dateConfig?: DateFilterConfig;\n booleanConfig?: BooleanFilterConfig;\n enumConfig?: EnumFilterConfig;\n dynamicOptionsConfig?: DynamicOptionsFilterConfig;\n}\n"],"mappings":"AA2IA,WAAYA,iBAAiB,0BAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAjBA,iBAAiB;EAAA,OAAjBA,iBAAiB;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/types/EntityPageConfig.ts"],"sourcesContent":["export interface EntityPageConfig {\n title?: { text: string };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n visibleFieldIds: string[];\n collectionId: string;\n entityTypeSource: string;\n collectionPagePath: string;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/types/EntityPageConfig.ts"],"sourcesContent":["import { FieldValues, UseFormReturn } from '@wix/patterns/form';\n\nexport interface EntityPageConfig {\n route: {\n path: string;\n params: {\n id: string;\n };\n };\n title?: {\n text: string;\n };\n subtitle?: {\n text: string;\n learnMore?: {\n url: string;\n label?: string;\n };\n };\n collectionId: string;\n entityTypeSource: string;\n parentPageId?: string;\n layout?: {\n main: CardLayout[];\n sidebar?: CardLayout[];\n };\n}\n\nexport interface CardLayout {\n type: 'card';\n card: {\n title: {\n text: string;\n };\n subtitle?: {\n text: string;\n };\n children: LayoutContent[];\n };\n}\n\nexport type LayoutContent =\n | FieldContent\n | ContainerContent\n | ComponentItemContent;\n\ninterface FieldContent {\n type: 'field';\n field: {\n span?: number;\n fieldId: string;\n };\n}\n\ninterface ContainerContent {\n type: 'container';\n container: {\n span?: number;\n children: LayoutContent[];\n };\n}\n\ninterface ComponentItemContent {\n type: 'component';\n component: {\n span?: number;\n componentId: string;\n };\n}\n\nexport interface CustomComponentProps {\n entity?: Record<string, any>;\n form: UseFormReturn<FieldValues, any, undefined>;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=actionCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/actionCell.ts"],"sourcesContent":["import {\n BaseActionParams,\n CustomActionModalProps,\n ResolvedAction,\n} from '../../exports/types';\nimport {\n CustomActionConfig,\n CustomModalActionConfig,\n DeleteActionConfig,\n UpdateActionConfig,\n} from './base';\n\nexport type ActionCellItemConfig =\n | UpdateActionConfig\n | CustomModalActionConfig\n | CustomActionConfig\n | DeleteActionConfig;\n\nexport interface ActionCellPrimaryAction {\n item: ActionCellItemConfig;\n}\n\nexport interface ActionCellSecondaryActions {\n items: ActionCellItemConfig[];\n}\n\nexport interface ActionCellConfig {\n primaryAction?: ActionCellPrimaryAction;\n secondaryActions?: ActionCellSecondaryActions;\n}\n\nexport interface ActionCellActionParams {\n item: any;\n}\n\nexport interface CustomActionCellActionParams extends BaseActionParams {\n actionParams: ActionCellActionParams;\n}\nexport type CustomActionCellActionResolver = (\n params: CustomActionCellActionParams,\n) => ResolvedAction;\n\nexport interface CustomActionCellActionModalProps\n extends CustomActionModalProps {\n actionParams: ActionCellActionParams;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/base.ts"],"sourcesContent":["export type BaseActionItemConfig = {\n id: string;\n label?: string;\n icon?: string;\n};\n\nexport interface Feedback {\n successToast?: { text: string };\n errorToast?: { text: string };\n}\n\nexport interface BaseActionModal {\n title?: { text: string };\n actions?: {\n submit?: { text: string };\n cancel?: { text: string };\n };\n feedback?: Feedback;\n}\n\nexport interface ActionModalField {\n id: string;\n label?: string;\n}\n\nexport interface DeleteActionModal extends BaseActionModal {\n description?: { text: string };\n}\n\nexport interface BulkDeleteActionModal extends DeleteActionModal {}\n\nexport type BulkDeleteAction =\n | {\n mode: 'modal';\n modal: BulkDeleteActionModal;\n custom?: never;\n }\n | {\n mode: 'custom';\n custom: CustomAction;\n modal?: never;\n };\n\nexport type DeleteAction = {\n mode: 'modal';\n modal: DeleteActionModal;\n};\n\nexport interface BaseActionPage {\n id: string;\n}\n\nexport type CustomAction = {};\n\nexport type CustomModalAction = {\n id: string;\n};\n\nexport interface ActionModalWithFields extends BaseActionModal {\n fields: ActionModalField[];\n}\n\nexport interface UpdateActionModal extends ActionModalWithFields {}\n\nexport interface CreateActionModal extends ActionModalWithFields {}\n\nexport interface UpdateActionPage extends BaseActionPage {}\n\nexport interface CreateActionPage extends BaseActionPage {}\n\nexport type UpdateAction = {\n mode: 'page';\n page: UpdateActionPage;\n};\n\nexport type CreateAction = {\n mode: 'page';\n page: CreateActionPage;\n};\n\nexport type CreateActionConfig = BaseActionItemConfig & {\n type: 'create';\n create: CreateAction;\n};\n\nexport type UpdateActionConfig = BaseActionItemConfig & {\n type: 'update';\n update: UpdateAction;\n};\n\nexport type DeleteActionConfig = BaseActionItemConfig & {\n type: 'delete';\n delete: DeleteAction;\n};\n\nexport type BulkDeleteActionConfig = BaseActionItemConfig & {\n type: 'bulkDelete';\n bulkDelete: BulkDeleteAction;\n};\n\nexport type CustomModalActionConfig = BaseActionItemConfig & {\n type: 'customModal';\n customModal: CustomModalAction;\n};\n\nexport type CustomActionConfig = BaseActionItemConfig & {\n type: 'custom';\n custom: CustomAction;\n};\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=bulkActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/bulkActions.ts"],"sourcesContent":["import {\n BaseActionParams,\n CustomActionModalProps,\n ResolvedAction,\n} from '../../exports/types';\nimport {\n BulkDeleteActionConfig,\n CustomActionConfig,\n CustomModalActionConfig,\n} from './base';\n\nexport type BulkActionItemConfig =\n | BulkDeleteActionConfig\n | CustomModalActionConfig\n | CustomActionConfig;\n\nexport interface BulkActionsPrimaryActions {\n items: BulkActionItemConfig[];\n}\n\nexport interface BulkActionSection {\n items: BulkActionItemConfig[];\n}\n\nexport interface BulkActionsSecondaryActions {\n sections: BulkActionSection[];\n}\n\nexport interface BulkActionsConfig {\n primaryActions?: BulkActionsPrimaryActions;\n secondaryActions?: BulkActionsSecondaryActions;\n}\n\nexport interface BulkActionsActionParams {\n selectedValues: any[];\n total: number;\n}\n\nexport interface CustomBulkActionsActionParams extends BaseActionParams {\n actionParams: BulkActionsActionParams;\n}\nexport type CustomBulkActionsActionResolver = (\n params: CustomBulkActionsActionParams,\n) => ResolvedAction;\n\nexport interface CustomBulkActionsActionModalProps\n extends CustomActionModalProps {\n actionParams: CustomBulkActionsActionParams;\n}\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=collectionPageActions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/collectionPageActions.ts"],"sourcesContent":["import {\n CreateActionConfig,\n CustomActionConfig,\n CustomModalActionConfig,\n} from './base';\n\nexport type CollectionPageActionConfig = (\n | CreateActionConfig\n | CustomModalActionConfig\n | CustomActionConfig\n) & {\n collection: {\n collectionId: string;\n entityTypeSource: 'cms';\n };\n};\n\ntype CollectionPageSingleAction = {\n type: 'single';\n single: {\n item: CollectionPageActionConfig;\n };\n multi?: never;\n};\n\ntype CollectionPageMultiAction = {\n type: 'multi';\n multi: {\n label: string;\n icon?: string;\n items: CollectionPageActionConfig[];\n };\n single?: never;\n};\n\nexport type CollectionPagePrimaryActions =\n | CollectionPageSingleAction\n | CollectionPageMultiAction;\n\nexport type CollectionPageSecondaryActions =\n | CollectionPageSingleAction\n | CollectionPageMultiAction;\n"],"mappings":"","ignoreList":[]}
@@ -0,0 +1,5 @@
1
+ export * from './base';
2
+ export * from './actionCell';
3
+ export * from './bulkActions';
4
+ export * from './collectionPageActions';
5
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":[],"sources":["../../../../src/types/actions/index.ts"],"sourcesContent":["export * from './base';\nexport * from './actionCell';\nexport * from './bulkActions';\nexport * from './collectionPageActions';\n"],"mappings":"AAAA,cAAc,QAAQ;AACtB,cAAc,cAAc;AAC5B,cAAc,eAAe;AAC7B,cAAc,yBAAyB","ignoreList":[]}
@@ -1,4 +1,7 @@
1
1
  export * from './types';
2
2
  export * from './CollectionPageConfig';
3
3
  export * from './EntityPageConfig';
4
+ export * from './actions';
5
+ export * from '../utils/actions/types';
6
+ export * from './BaseSDK';
4
7
  //# sourceMappingURL=index.js.map