@wix/auto-patterns 1.8.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 (259) hide show
  1. package/dist/cjs/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  2. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +11 -25
  3. package/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  4. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +20 -13
  5. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  6. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js +47 -25
  7. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
  8. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js +66 -30
  9. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  10. package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +7 -4
  11. package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
  12. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js +83 -0
  13. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -0
  14. package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js +35 -18
  15. package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
  16. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js +42 -37
  17. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
  18. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js +46 -29
  19. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
  20. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js +35 -40
  21. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
  22. package/dist/cjs/components/modals/actions/BulkDeleteModal.js +12 -10
  23. package/dist/cjs/components/modals/actions/BulkDeleteModal.js.map +1 -1
  24. package/dist/cjs/components/modals/actions/CreateModal.js +138 -0
  25. package/dist/cjs/components/modals/actions/CreateModal.js.map +1 -0
  26. package/dist/cjs/components/modals/actions/EditModal.js +17 -13
  27. package/dist/cjs/components/modals/actions/EditModal.js.map +1 -1
  28. package/dist/cjs/components/modals/actions/index.js +6 -0
  29. package/dist/cjs/components/modals/actions/index.js.map +1 -1
  30. package/dist/cjs/components/modals/actions/types.js.map +1 -1
  31. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +2 -1
  32. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  33. package/dist/cjs/hooks/index.js +6 -0
  34. package/dist/cjs/hooks/index.js.map +1 -1
  35. package/dist/cjs/hooks/useActionCell.js +5 -7
  36. package/dist/cjs/hooks/useActionCell.js.map +1 -1
  37. package/dist/cjs/hooks/useActionsSDK.js +34 -0
  38. package/dist/cjs/hooks/useActionsSDK.js.map +1 -0
  39. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js +11 -1
  40. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
  41. package/dist/cjs/hooks/{useSharedDataForActions.js → useBaseSDK.js} +7 -16
  42. package/dist/cjs/hooks/useBaseSDK.js.map +1 -0
  43. package/dist/cjs/hooks/useBulkActionToolbar.js +7 -9
  44. package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -1
  45. package/dist/cjs/hooks/useCollectionPageActions.js +124 -0
  46. package/dist/cjs/hooks/useCollectionPageActions.js.map +1 -0
  47. package/dist/cjs/hooks/useCommonCollectionFeatures.js +5 -8
  48. package/dist/cjs/hooks/useCommonCollectionFeatures.js.map +1 -1
  49. package/dist/cjs/hooks/useEntityPageHeaderTexts.js +27 -0
  50. package/dist/cjs/hooks/useEntityPageHeaderTexts.js.map +1 -0
  51. package/dist/cjs/hooks/useGridFeatures.js +2 -1
  52. package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
  53. package/dist/cjs/hooks/useNavigationUtils.js +9 -5
  54. package/dist/cjs/hooks/useNavigationUtils.js.map +1 -1
  55. package/dist/cjs/hooks/useTableFeatures.js +2 -2
  56. package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
  57. package/dist/cjs/providers/OptimisticActionsContext.js +43 -0
  58. package/dist/cjs/providers/OptimisticActionsContext.js.map +1 -0
  59. package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
  60. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  61. package/dist/cjs/providers/RootAppProvider.js +13 -5
  62. package/dist/cjs/providers/RootAppProvider.js.map +1 -1
  63. package/dist/cjs/types/BaseSDK.js +4 -0
  64. package/dist/cjs/types/BaseSDK.js.map +1 -0
  65. package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
  66. package/dist/cjs/types/actions/base.js.map +1 -1
  67. package/dist/cjs/types/actions/collectionPageActions.js +4 -0
  68. package/dist/cjs/types/actions/collectionPageActions.js.map +1 -0
  69. package/dist/cjs/types/actions/index.js +6 -0
  70. package/dist/cjs/types/actions/index.js.map +1 -1
  71. package/dist/cjs/types/index.js +6 -0
  72. package/dist/cjs/types/index.js.map +1 -1
  73. package/dist/cjs/types/types.js.map +1 -1
  74. package/dist/cjs/utils/actions/bulkDeleteAction.js +3 -3
  75. package/dist/cjs/utils/actions/bulkDeleteAction.js.map +1 -1
  76. package/dist/cjs/utils/actions/createAction.js +38 -0
  77. package/dist/cjs/utils/actions/createAction.js.map +1 -0
  78. package/dist/cjs/utils/actions/customAction.js +4 -4
  79. package/dist/cjs/utils/actions/customAction.js.map +1 -1
  80. package/dist/cjs/utils/actions/customModalAction.js +3 -3
  81. package/dist/cjs/utils/actions/customModalAction.js.map +1 -1
  82. package/dist/cjs/utils/actions/deleteAction.js +7 -5
  83. package/dist/cjs/utils/actions/deleteAction.js.map +1 -1
  84. package/dist/cjs/utils/actions/index.js +6 -0
  85. package/dist/cjs/utils/actions/index.js.map +1 -1
  86. package/dist/cjs/utils/actions/types.js.map +1 -1
  87. package/dist/cjs/utils/actions/updateAction.js +4 -10
  88. package/dist/cjs/utils/actions/updateAction.js.map +1 -1
  89. package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  90. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +6 -5
  91. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  92. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +14 -7
  93. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  94. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js +47 -25
  95. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
  96. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js +61 -25
  97. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  98. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +6 -3
  99. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
  100. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js +64 -0
  101. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -0
  102. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js +33 -15
  103. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
  104. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js +41 -35
  105. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
  106. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js +43 -25
  107. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
  108. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js +32 -34
  109. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
  110. package/dist/esm/components/modals/actions/BulkDeleteModal.js +7 -5
  111. package/dist/esm/components/modals/actions/BulkDeleteModal.js.map +1 -1
  112. package/dist/esm/components/modals/actions/CreateModal.js +80 -0
  113. package/dist/esm/components/modals/actions/CreateModal.js.map +1 -0
  114. package/dist/esm/components/modals/actions/EditModal.js +9 -5
  115. package/dist/esm/components/modals/actions/EditModal.js.map +1 -1
  116. package/dist/esm/components/modals/actions/index.js +1 -0
  117. package/dist/esm/components/modals/actions/index.js.map +1 -1
  118. package/dist/esm/components/modals/actions/types.js.map +1 -1
  119. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +2 -1
  120. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  121. package/dist/esm/hooks/index.js +1 -0
  122. package/dist/esm/hooks/index.js.map +1 -1
  123. package/dist/esm/hooks/useActionCell.js +5 -7
  124. package/dist/esm/hooks/useActionCell.js.map +1 -1
  125. package/dist/esm/hooks/useActionsSDK.js +30 -0
  126. package/dist/esm/hooks/useActionsSDK.js.map +1 -0
  127. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js +11 -1
  128. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
  129. package/dist/esm/hooks/{useSharedDataForActions.js → useBaseSDK.js} +6 -16
  130. package/dist/esm/hooks/useBaseSDK.js.map +1 -0
  131. package/dist/esm/hooks/useBulkActionToolbar.js +6 -8
  132. package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -1
  133. package/dist/esm/hooks/useCollectionPageActions.js +101 -0
  134. package/dist/esm/hooks/useCollectionPageActions.js.map +1 -0
  135. package/dist/esm/hooks/useCommonCollectionFeatures.js +1 -4
  136. package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
  137. package/dist/esm/hooks/useEntityPageHeaderTexts.js +23 -0
  138. package/dist/esm/hooks/useEntityPageHeaderTexts.js.map +1 -0
  139. package/dist/esm/hooks/useGridFeatures.js +2 -1
  140. package/dist/esm/hooks/useGridFeatures.js.map +1 -1
  141. package/dist/esm/hooks/useNavigationUtils.js +10 -6
  142. package/dist/esm/hooks/useNavigationUtils.js.map +1 -1
  143. package/dist/esm/hooks/useTableFeatures.js +1 -1
  144. package/dist/esm/hooks/useTableFeatures.js.map +1 -1
  145. package/dist/esm/providers/OptimisticActionsContext.js +29 -0
  146. package/dist/esm/providers/OptimisticActionsContext.js.map +1 -0
  147. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  148. package/dist/esm/providers/RootAppProvider.js +2 -1
  149. package/dist/esm/providers/RootAppProvider.js.map +1 -1
  150. package/dist/esm/types/BaseSDK.js +2 -0
  151. package/dist/esm/types/BaseSDK.js.map +1 -0
  152. package/dist/esm/types/CollectionPageConfig.js.map +1 -1
  153. package/dist/esm/types/actions/base.js.map +1 -1
  154. package/dist/esm/types/actions/collectionPageActions.js +2 -0
  155. package/dist/esm/types/actions/collectionPageActions.js.map +1 -0
  156. package/dist/esm/types/actions/index.js +1 -0
  157. package/dist/esm/types/actions/index.js.map +1 -1
  158. package/dist/esm/types/index.js +1 -0
  159. package/dist/esm/types/index.js.map +1 -1
  160. package/dist/esm/types/types.js.map +1 -1
  161. package/dist/esm/utils/actions/bulkDeleteAction.js +3 -3
  162. package/dist/esm/utils/actions/bulkDeleteAction.js.map +1 -1
  163. package/dist/esm/utils/actions/createAction.js +33 -0
  164. package/dist/esm/utils/actions/createAction.js.map +1 -0
  165. package/dist/esm/utils/actions/customAction.js +4 -4
  166. package/dist/esm/utils/actions/customAction.js.map +1 -1
  167. package/dist/esm/utils/actions/customModalAction.js +3 -3
  168. package/dist/esm/utils/actions/customModalAction.js.map +1 -1
  169. package/dist/esm/utils/actions/deleteAction.js +7 -5
  170. package/dist/esm/utils/actions/deleteAction.js.map +1 -1
  171. package/dist/esm/utils/actions/index.js +1 -0
  172. package/dist/esm/utils/actions/index.js.map +1 -1
  173. package/dist/esm/utils/actions/types.js.map +1 -1
  174. package/dist/esm/utils/actions/updateAction.js +4 -10
  175. package/dist/esm/utils/actions/updateAction.js.map +1 -1
  176. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts +2 -2
  177. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts.map +1 -1
  178. package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
  179. package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
  180. package/dist/types/components/AutoPatternsEntityPage/Fields/DateInput.d.ts.map +1 -1
  181. package/dist/types/components/AutoPatternsEntityPage/Fields/DateTime.d.ts.map +1 -1
  182. package/dist/types/components/AutoPatternsEntityPage/Fields/FormFieldInput.d.ts.map +1 -1
  183. package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts +6 -0
  184. package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts.map +1 -0
  185. package/dist/types/components/AutoPatternsEntityPage/Fields/LongText.d.ts.map +1 -1
  186. package/dist/types/components/AutoPatternsEntityPage/Fields/Number.d.ts.map +1 -1
  187. package/dist/types/components/AutoPatternsEntityPage/Fields/ShortText.d.ts.map +1 -1
  188. package/dist/types/components/AutoPatternsEntityPage/Fields/Url.d.ts.map +1 -1
  189. package/dist/types/components/modals/actions/BulkDeleteModal.d.ts +1 -1
  190. package/dist/types/components/modals/actions/BulkDeleteModal.d.ts.map +1 -1
  191. package/dist/types/components/modals/actions/CreateModal.d.ts +8 -0
  192. package/dist/types/components/modals/actions/CreateModal.d.ts.map +1 -0
  193. package/dist/types/components/modals/actions/EditModal.d.ts +1 -1
  194. package/dist/types/components/modals/actions/EditModal.d.ts.map +1 -1
  195. package/dist/types/components/modals/actions/index.d.ts +1 -0
  196. package/dist/types/components/modals/actions/index.d.ts.map +1 -1
  197. package/dist/types/components/modals/actions/types.d.ts +2 -2
  198. package/dist/types/components/modals/actions/types.d.ts.map +1 -1
  199. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
  200. package/dist/types/hooks/index.d.ts +1 -0
  201. package/dist/types/hooks/index.d.ts.map +1 -1
  202. package/dist/types/hooks/useActionCell.d.ts +1 -3
  203. package/dist/types/hooks/useActionCell.d.ts.map +1 -1
  204. package/dist/types/hooks/useActionsSDK.d.ts +6 -0
  205. package/dist/types/hooks/useActionsSDK.d.ts.map +1 -0
  206. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts +1 -1
  207. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts.map +1 -1
  208. package/dist/types/hooks/useBaseSDK.d.ts +3 -0
  209. package/dist/types/hooks/useBaseSDK.d.ts.map +1 -0
  210. package/dist/types/hooks/useBulkActionToolbar.d.ts +2 -3
  211. package/dist/types/hooks/useBulkActionToolbar.d.ts.map +1 -1
  212. package/dist/types/hooks/useCollectionPageActions.d.ts +10 -0
  213. package/dist/types/hooks/useCollectionPageActions.d.ts.map +1 -0
  214. package/dist/types/hooks/useCommonCollectionFeatures.d.ts +1 -1
  215. package/dist/types/hooks/useCommonCollectionFeatures.d.ts.map +1 -1
  216. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts +18 -0
  217. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -0
  218. package/dist/types/hooks/useGridFeatures.d.ts +1 -0
  219. package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
  220. package/dist/types/hooks/useNavigationUtils.d.ts.map +1 -1
  221. package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
  222. package/dist/types/providers/OptimisticActionsContext.d.ts +12 -0
  223. package/dist/types/providers/OptimisticActionsContext.d.ts.map +1 -0
  224. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +1 -3
  225. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  226. package/dist/types/providers/RootAppProvider.d.ts.map +1 -1
  227. package/dist/types/types/BaseSDK.d.ts +12 -0
  228. package/dist/types/types/BaseSDK.d.ts.map +1 -0
  229. package/dist/types/types/CollectionPageConfig.d.ts +5 -1
  230. package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
  231. package/dist/types/types/actions/base.d.ts +15 -6
  232. package/dist/types/types/actions/base.d.ts.map +1 -1
  233. package/dist/types/types/actions/collectionPageActions.d.ts +27 -0
  234. package/dist/types/types/actions/collectionPageActions.d.ts.map +1 -0
  235. package/dist/types/types/actions/index.d.ts +1 -0
  236. package/dist/types/types/actions/index.d.ts.map +1 -1
  237. package/dist/types/types/index.d.ts +1 -0
  238. package/dist/types/types/index.d.ts.map +1 -1
  239. package/dist/types/types/types.d.ts +1 -4
  240. package/dist/types/types/types.d.ts.map +1 -1
  241. package/dist/types/utils/actions/createAction.d.ts +7 -0
  242. package/dist/types/utils/actions/createAction.d.ts.map +1 -0
  243. package/dist/types/utils/actions/deleteAction.d.ts.map +1 -1
  244. package/dist/types/utils/actions/index.d.ts +1 -0
  245. package/dist/types/utils/actions/index.d.ts.map +1 -1
  246. package/dist/types/utils/actions/types.d.ts +9 -13
  247. package/dist/types/utils/actions/types.d.ts.map +1 -1
  248. package/dist/types/utils/actions/updateAction.d.ts.map +1 -1
  249. package/package.json +5 -4
  250. package/dist/cjs/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js +0 -39
  251. package/dist/cjs/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js.map +0 -1
  252. package/dist/cjs/hooks/useSharedDataForActions.js.map +0 -1
  253. package/dist/esm/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js +0 -35
  254. package/dist/esm/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js.map +0 -1
  255. package/dist/esm/hooks/useSharedDataForActions.js.map +0 -1
  256. package/dist/types/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.d.ts +0 -12
  257. package/dist/types/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.d.ts.map +0 -1
  258. package/dist/types/hooks/useSharedDataForActions.d.ts +0 -8
  259. package/dist/types/hooks/useSharedDataForActions.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"names":["Box","CustomModalLayout","Modal","Text","React","BulkDeleteModal","_ref","_modalParams$title","_modalParams$actions","_modalParams$actions2","_modalParams$descript","sharedData","modalParams","actionParams","optimisticActions","closeModal","createElement","isOpen","onRequestClose","title","text","theme","onCloseButtonClick","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","collectionId","Error","selectedIds","selectedValues","map","value","idField","deleteMany","successToast","feedback","errorToast","_modalParams$feedback2","submit","result","actions","bulkDelete","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","description"],"sources":["../../../../../src/components/modals/actions/BulkDeleteModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Modal, Text } from '@wix/design-system';\nimport React from 'react';\nimport { BulkActionsActionParams, BulkDeleteActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface BulkDeleteModalProps extends ActionModalProps {\n modalParams: BulkDeleteActionModal;\n actionParams: BulkActionsActionParams;\n}\n\nexport const BulkDeleteModal = ({\n sharedData,\n modalParams,\n actionParams,\n}: BulkDeleteModalProps) => {\n const { optimisticActions, closeModal } = sharedData;\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Delete item?'}\n theme=\"destructive\"\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sharedData.getSchema(sharedData.collectionId);\n if (!schema) {\n throw new Error('Schema not found');\n }\n const selectedIds = actionParams.selectedValues.map(\n (value) => value[schema.idField],\n );\n optimisticActions.deleteMany(actionParams.selectedValues, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Items deleted successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text ||\n 'Failed to delete items',\n submit: async () => {\n const result = await schema.actions.bulkDelete(selectedIds);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n <Box>\n <Text>\n {modalParams.description?.text || 'This items will be deleted'}\n </Text>\n </Box>\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Box","CustomModalLayout","Modal","Text","React","BulkDeleteModal","_ref","_modalParams$title","_modalParams$actions","_modalParams$actions2","_modalParams$descript","sdk","modalParams","actionParams","getOptimisticActions","collectionId","closeModal","optimisticActions","createElement","isOpen","onRequestClose","title","text","theme","onCloseButtonClick","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","Error","selectedIds","selectedValues","map","value","idField","deleteMany","successToast","feedback","errorToast","_modalParams$feedback2","submit","result","actions","bulkDelete","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","description"],"sources":["../../../../../src/components/modals/actions/BulkDeleteModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Modal, Text } from '@wix/design-system';\nimport React from 'react';\nimport { BulkActionsActionParams, BulkDeleteActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface BulkDeleteModalProps extends ActionModalProps {\n modalParams: BulkDeleteActionModal;\n actionParams: BulkActionsActionParams;\n}\n\nexport const BulkDeleteModal = ({\n sdk,\n modalParams,\n actionParams,\n}: BulkDeleteModalProps) => {\n const { getOptimisticActions, collectionId, closeModal } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Delete item?'}\n theme=\"destructive\"\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n if (!schema) {\n throw new Error('Schema not found');\n }\n const selectedIds = actionParams.selectedValues.map(\n (value) => value[schema.idField],\n );\n optimisticActions?.deleteMany(actionParams.selectedValues, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Items deleted successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text ||\n 'Failed to delete items',\n submit: async () => {\n const result = await schema.actions.bulkDelete(selectedIds);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n <Box>\n <Text>\n {modalParams.description?.text || 'This items will be deleted'}\n </Text>\n </Box>\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,80 @@
1
+ import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';
2
+ import React, { useState } from 'react';
3
+ export const CreateModal = _ref => {
4
+ var _modalParams$title, _modalParams$actions, _modalParams$actions2;
5
+ let {
6
+ sdk,
7
+ modalParams
8
+ } = _ref;
9
+ const [values, setValues] = useState(modalParams.fields.reduce((acc, field) => {
10
+ acc[field.id] = '';
11
+ return acc;
12
+ }, {}));
13
+ const {
14
+ closeModal
15
+ } = sdk;
16
+ const {
17
+ getOptimisticActions,
18
+ collectionId
19
+ } = sdk;
20
+ const optimisticActions = getOptimisticActions(collectionId);
21
+ return /*#__PURE__*/React.createElement(Modal, {
22
+ isOpen: true,
23
+ onRequestClose: closeModal
24
+ }, /*#__PURE__*/React.createElement(CustomModalLayout, {
25
+ title: ((_modalParams$title = modalParams.title) == null ? void 0 : _modalParams$title.text) || 'Create',
26
+ onCloseButtonClick: () => {
27
+ closeModal();
28
+ },
29
+ primaryButtonOnClick: () => {
30
+ var _modalParams$feedback;
31
+ const schema = sdk.getSchema(sdk.collectionId);
32
+ const createdItem = {
33
+ ...values
34
+ };
35
+ optimisticActions == null || optimisticActions.createOne(createdItem, {
36
+ successToast: ((_modalParams$feedback = modalParams.feedback) == null || (_modalParams$feedback = _modalParams$feedback.successToast) == null ? void 0 : _modalParams$feedback.text) || 'Item created successfully',
37
+ errorToast: () => {
38
+ var _modalParams$feedback2;
39
+ return ((_modalParams$feedback2 = modalParams.feedback) == null || (_modalParams$feedback2 = _modalParams$feedback2.errorToast) == null ? void 0 : _modalParams$feedback2.text) || 'Failed to create item';
40
+ },
41
+ submit: async () => {
42
+ if (!schema) {
43
+ throw new Error('Schema not found');
44
+ }
45
+ const result = await schema.actions.create(createdItem);
46
+ return [result];
47
+ }
48
+ });
49
+ closeModal();
50
+ },
51
+ secondaryButtonOnClick: () => {
52
+ closeModal();
53
+ },
54
+ primaryButtonText: ((_modalParams$actions = modalParams.actions) == null || (_modalParams$actions = _modalParams$actions.submit) == null ? void 0 : _modalParams$actions.text) || 'Save',
55
+ secondaryButtonText: ((_modalParams$actions2 = modalParams.actions) == null || (_modalParams$actions2 = _modalParams$actions2.cancel) == null ? void 0 : _modalParams$actions2.text) || 'Cancel',
56
+ content: /*#__PURE__*/React.createElement(Box, {
57
+ direction: "vertical",
58
+ width: "552px",
59
+ gap: "SP2",
60
+ paddingTop: "SP1",
61
+ paddingBottom: "SP1"
62
+ }, modalParams.fields.map(field => {
63
+ return /*#__PURE__*/React.createElement(Box, {
64
+ key: field.id,
65
+ direction: "vertical",
66
+ width: "100%",
67
+ gap: "SP2"
68
+ }, /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(Text, null, field.label)), /*#__PURE__*/React.createElement(Box, null, /*#__PURE__*/React.createElement(Input, {
69
+ value: values[field.id],
70
+ onChange: e => {
71
+ setValues(prev => ({
72
+ ...prev,
73
+ [field.id]: e.target.value
74
+ }));
75
+ }
76
+ })));
77
+ }))
78
+ }));
79
+ };
80
+ //# sourceMappingURL=CreateModal.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["Box","CustomModalLayout","Input","Modal","Text","React","useState","CreateModal","_ref","_modalParams$title","_modalParams$actions","_modalParams$actions2","sdk","modalParams","values","setValues","fields","reduce","acc","field","id","closeModal","getOptimisticActions","collectionId","optimisticActions","createElement","isOpen","onRequestClose","title","text","onCloseButtonClick","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","createdItem","createOne","successToast","feedback","errorToast","_modalParams$feedback2","submit","Error","result","actions","create","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","map","key","label","value","onChange","e","prev","target"],"sources":["../../../../../src/components/modals/actions/CreateModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';\nimport React, { useState } from 'react';\nimport { CreateActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface CreateModalProps extends ActionModalProps {\n modalParams: CreateActionModal;\n}\n\nexport const CreateModal = ({ sdk, modalParams }: CreateModalProps) => {\n const [values, setValues] = useState(\n modalParams.fields.reduce((acc, field) => {\n acc[field.id] = '';\n return acc;\n }, {} as Record<string, any>),\n );\n const { closeModal } = sdk;\n const { getOptimisticActions, collectionId } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Create'}\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n const createdItem = { ...values };\n optimisticActions?.createOne(createdItem, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Item created successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text || 'Failed to create item',\n submit: async () => {\n if (!schema) {\n throw new Error('Schema not found');\n }\n\n const result = await schema.actions.create(createdItem);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n {modalParams.fields.map((field) => {\n return (\n <Box key={field.id} direction=\"vertical\" width=\"100%\" gap=\"SP2\">\n <Box>\n <Text>{field.label}</Text>\n </Box>\n <Box>\n <Input\n value={values[field.id]}\n onChange={(e) => {\n setValues((prev) => ({\n ...prev,\n [field.id]: e.target.value,\n }));\n }}\n />\n </Box>\n </Box>\n );\n })}\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@ import React, { useState } from 'react';
3
3
  export const EditModal = _ref => {
4
4
  var _modalParams$title, _modalParams$actions, _modalParams$actions2;
5
5
  let {
6
- sharedData,
6
+ sdk,
7
7
  modalParams,
8
8
  actionParams
9
9
  } = _ref;
@@ -12,9 +12,13 @@ export const EditModal = _ref => {
12
12
  return acc;
13
13
  }, {}));
14
14
  const {
15
- optimisticActions,
16
15
  closeModal
17
- } = sharedData;
16
+ } = sdk;
17
+ const {
18
+ getOptimisticActions,
19
+ collectionId
20
+ } = sdk;
21
+ const optimisticActions = getOptimisticActions(collectionId);
18
22
  return /*#__PURE__*/React.createElement(Modal, {
19
23
  isOpen: true,
20
24
  onRequestClose: closeModal
@@ -25,12 +29,12 @@ export const EditModal = _ref => {
25
29
  },
26
30
  primaryButtonOnClick: () => {
27
31
  var _modalParams$feedback;
28
- const schema = sharedData.getSchema(sharedData.collectionId);
32
+ const schema = sdk.getSchema(sdk.collectionId);
29
33
  const updatedItem = {
30
34
  ...actionParams.item,
31
35
  ...values
32
36
  };
33
- optimisticActions.updateOne(updatedItem, {
37
+ optimisticActions == null || optimisticActions.updateOne(updatedItem, {
34
38
  successToast: ((_modalParams$feedback = modalParams.feedback) == null || (_modalParams$feedback = _modalParams$feedback.successToast) == null ? void 0 : _modalParams$feedback.text) || 'Item updated successfully',
35
39
  errorToast: () => {
36
40
  var _modalParams$feedback2;
@@ -1 +1 @@
1
- {"version":3,"names":["Box","CustomModalLayout","Input","Modal","Text","React","useState","EditModal","_ref","_modalParams$title","_modalParams$actions","_modalParams$actions2","sharedData","modalParams","actionParams","values","setValues","fields","reduce","acc","field","id","item","optimisticActions","closeModal","createElement","isOpen","onRequestClose","title","text","onCloseButtonClick","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","collectionId","updatedItem","updateOne","successToast","feedback","errorToast","_modalParams$feedback2","submit","Error","result","actions","update","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","map","key","label","value","onChange","e","prev","target"],"sources":["../../../../../src/components/modals/actions/EditModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';\nimport React, { useState } from 'react';\nimport { UpdateActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface EditModalProps extends ActionModalProps {\n modalParams: UpdateActionModal;\n actionParams: { item: any };\n}\n\nexport const EditModal = ({\n sharedData,\n modalParams,\n actionParams,\n}: EditModalProps) => {\n const [values, setValues] = useState(\n modalParams.fields.reduce((acc, field) => {\n acc[field.id] = actionParams.item[field.id];\n return acc;\n }, {} as Record<string, any>),\n );\n\n const { optimisticActions, closeModal } = sharedData;\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Edit'}\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sharedData.getSchema(sharedData.collectionId);\n const updatedItem = { ...actionParams.item, ...values };\n optimisticActions.updateOne(updatedItem, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Item updated successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text || 'Failed to update item',\n submit: async () => {\n if (!schema) {\n throw new Error('Schema not found');\n }\n\n const result = await schema.actions.update(updatedItem);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n {modalParams.fields.map((field) => {\n return (\n <Box key={field.id} direction=\"vertical\" width=\"100%\" gap=\"SP2\">\n <Box>\n <Text>{field.label}</Text>\n </Box>\n <Box>\n <Input\n value={values[field.id]}\n onChange={(e) => {\n setValues((prev) => ({\n ...prev,\n [field.id]: e.target.value,\n }));\n }}\n />\n </Box>\n </Box>\n );\n })}\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["Box","CustomModalLayout","Input","Modal","Text","React","useState","EditModal","_ref","_modalParams$title","_modalParams$actions","_modalParams$actions2","sdk","modalParams","actionParams","values","setValues","fields","reduce","acc","field","id","item","closeModal","getOptimisticActions","collectionId","optimisticActions","createElement","isOpen","onRequestClose","title","text","onCloseButtonClick","primaryButtonOnClick","_modalParams$feedback","schema","getSchema","updatedItem","updateOne","successToast","feedback","errorToast","_modalParams$feedback2","submit","Error","result","actions","update","secondaryButtonOnClick","primaryButtonText","secondaryButtonText","cancel","content","direction","width","gap","paddingTop","paddingBottom","map","key","label","value","onChange","e","prev","target"],"sources":["../../../../../src/components/modals/actions/EditModal.tsx"],"sourcesContent":["import { Box, CustomModalLayout, Input, Modal, Text } from '@wix/design-system';\nimport React, { useState } from 'react';\nimport { UpdateActionModal } from '../../../types';\nimport { ActionModalProps } from './types';\n\nexport interface EditModalProps extends ActionModalProps {\n modalParams: UpdateActionModal;\n actionParams: { item: any };\n}\n\nexport const EditModal = ({\n sdk,\n modalParams,\n actionParams,\n}: EditModalProps) => {\n const [values, setValues] = useState(\n modalParams.fields.reduce((acc, field) => {\n acc[field.id] = actionParams.item[field.id];\n return acc;\n }, {} as Record<string, any>),\n );\n const { closeModal } = sdk;\n const { getOptimisticActions, collectionId } = sdk;\n const optimisticActions = getOptimisticActions(collectionId);\n\n return (\n <Modal isOpen onRequestClose={closeModal}>\n <CustomModalLayout\n title={modalParams.title?.text || 'Edit'}\n onCloseButtonClick={() => {\n closeModal();\n }}\n primaryButtonOnClick={() => {\n const schema = sdk.getSchema(sdk.collectionId);\n const updatedItem = { ...actionParams.item, ...values };\n optimisticActions?.updateOne(updatedItem, {\n successToast:\n modalParams.feedback?.successToast?.text ||\n 'Item updated successfully',\n errorToast: () =>\n modalParams.feedback?.errorToast?.text || 'Failed to update item',\n submit: async () => {\n if (!schema) {\n throw new Error('Schema not found');\n }\n\n const result = await schema.actions.update(updatedItem);\n return [result];\n },\n });\n closeModal();\n }}\n secondaryButtonOnClick={() => {\n closeModal();\n }}\n primaryButtonText={modalParams.actions?.submit?.text || 'Save'}\n secondaryButtonText={modalParams.actions?.cancel?.text || 'Cancel'}\n content={\n <Box\n direction=\"vertical\"\n width=\"552px\"\n gap=\"SP2\"\n paddingTop=\"SP1\"\n paddingBottom=\"SP1\"\n >\n {modalParams.fields.map((field) => {\n return (\n <Box key={field.id} direction=\"vertical\" width=\"100%\" gap=\"SP2\">\n <Box>\n <Text>{field.label}</Text>\n </Box>\n <Box>\n <Input\n value={values[field.id]}\n onChange={(e) => {\n setValues((prev) => ({\n ...prev,\n [field.id]: e.target.value,\n }));\n }}\n />\n </Box>\n </Box>\n );\n })}\n </Box>\n }\n />\n </Modal>\n );\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1,3 +1,4 @@
1
1
  export * from './BulkDeleteModal';
2
2
  export * from './EditModal';
3
+ export * from './CreateModal';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../../src/components/modals/actions/index.ts"],"sourcesContent":["export * from './BulkDeleteModal';\nexport * from './EditModal';\n"],"mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,aAAa","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../../src/components/modals/actions/index.ts"],"sourcesContent":["export * from './BulkDeleteModal';\nexport * from './EditModal';\nexport * from './CreateModal';\n"],"mappings":"AAAA,cAAc,mBAAmB;AACjC,cAAc,aAAa;AAC3B,cAAc,eAAe","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../../../src/components/modals/actions/types.ts"],"sourcesContent":["import { SharedDataForActions } from '../../../types';\n\nexport interface ActionModalProps {\n modalParams: Record<string, any>;\n actionParams: Record<string, any>;\n sharedData: SharedDataForActions;\n}\n"],"mappings":"","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../../../src/components/modals/actions/types.ts"],"sourcesContent":["import { ActionsSDK } from '../../../types';\n\nexport interface ActionModalProps {\n modalParams: Record<string, any>;\n actionParams: Record<string, any>;\n sdk: ActionsSDK;\n}\n"],"mappings":"","ignoreList":[]}
@@ -14,7 +14,8 @@ export const CmsFieldTypeToPatternsFieldType = {
14
14
  [collections.Type.RICH_CONTENT]: 'SHORT_TEXT',
15
15
  [collections.Type.ARRAY]: 'ARRAY',
16
16
  [collections.Type.ARRAY_STRING]: 'ARRAY',
17
- [collections.Type.REFERENCE]: 'REFERENCE'
17
+ [collections.Type.REFERENCE]: 'REFERENCE',
18
+ [collections.Type.IMAGE]: 'IMAGE'
18
19
  };
19
20
  export async function fetchCmsSchema(collectionId) {
20
21
  var _schema$fields$find;
@@ -1 +1 @@
1
- {"version":3,"names":["collections","items","addFiltersToDataQuery","addSearchToDataQuery","addSortToDataQuery","CmsFieldTypeToPatternsFieldType","Type","TEXT","DATE","DATETIME","NUMBER","BOOLEAN","URL","ADDRESS","OBJECT","RICH_TEXT","RICH_CONTENT","ARRAY","ARRAY_STRING","REFERENCE","fetchCmsSchema","collectionId","_schema$fields$find","schema","getDataCollection","id","displayField","idField","imageField","fields","find","field","type","key","reduce","acc","_field$capabilities","_field$capabilities2","_field$typeMetadata","fieldType","baseField","displayName","validation","numberRange","min","undefined","max","stringLengthRange","minLength","maxLength","required","capabilities","supportedQueryOperators","queryOperators","sortable","typeMetadata","reference","referencedCollectionId","referenceField","referenceMetadata","nonReferenceType","nonReferenceField","actions","get","entityId","create","entity","insert","update","delete","remove","bulkDelete","entityIds","bulkRemove","createCmsDataProvider","_ref","visibleFieldIds","filtersMapping","fetchData","query","dataQuery","referenceFieldIds","Object","values","filter","includes","map","length","include","res","skip","offset","limit","returnTotalCount","total","totalCount"],"sources":["../../../../src/dataSourceAdapters/cms/cmsAdapter.ts"],"sourcesContent":["import { Field, SchemaConfig, PatternsFieldType, Filter } from '../../types';\nimport { collections, items } from '@wix/data';\nimport { ComputedQuery, CollectionConfig } from '@wix/patterns';\nimport { addFiltersToDataQuery, addSearchToDataQuery } from './filterUtils';\nimport { addSortToDataQuery } from './sortUtils';\n\nexport const CmsFieldTypeToPatternsFieldType: Partial<\n Record<collections.Type, PatternsFieldType>\n> = {\n [collections.Type.TEXT]: 'SHORT_TEXT',\n [collections.Type.DATE]: 'DATE',\n [collections.Type.DATETIME]: 'DATETIME',\n [collections.Type.NUMBER]: 'NUMBER',\n [collections.Type.BOOLEAN]: 'BOOLEAN',\n [collections.Type.URL]: 'URL',\n [collections.Type.ADDRESS]: 'SHORT_TEXT',\n [collections.Type.OBJECT]: 'LONG_TEXT',\n [collections.Type.RICH_TEXT]: 'LONG_TEXT',\n [collections.Type.RICH_CONTENT]: 'SHORT_TEXT',\n [collections.Type.ARRAY]: 'ARRAY',\n [collections.Type.ARRAY_STRING]: 'ARRAY',\n [collections.Type.REFERENCE]: 'REFERENCE',\n};\n\nexport async function fetchCmsSchema(\n collectionId: string,\n): Promise<SchemaConfig> {\n const schema = await collections.getDataCollection(collectionId);\n\n return {\n id: collectionId,\n displayField: schema.displayField ?? '_id',\n idField: '_id',\n imageField: schema.fields.find((field) => field.type === 'IMAGE')?.key,\n fields: schema.fields.reduce<Record<string, Field>>((acc, field) => {\n if (!field.key) {\n return acc;\n }\n\n const fieldType = field.type\n ? CmsFieldTypeToPatternsFieldType[field.type] || 'SHORT_TEXT'\n : 'SHORT_TEXT';\n const baseField = {\n id: field.key,\n displayName: field.displayName || '',\n validation: {\n numberRange: field.numberRange\n ? {\n min: field.numberRange.min ?? undefined,\n max: field.numberRange.max ?? undefined,\n }\n : undefined,\n stringLengthRange: field.stringLengthRange\n ? {\n minLength: field.stringLengthRange.minLength ?? undefined,\n maxLength: field.stringLengthRange.maxLength ?? undefined,\n }\n : undefined,\n required: field.required ?? false,\n },\n capabilities: {\n supportedQueryOperators: field.capabilities?.queryOperators || [],\n sortable: field.capabilities?.sortable || false,\n },\n };\n\n if (\n fieldType === 'REFERENCE' &&\n field.typeMetadata?.reference?.referencedCollectionId\n ) {\n const referenceField: Field = {\n ...baseField,\n type: 'REFERENCE',\n referenceMetadata: {\n referencedCollectionId:\n field.typeMetadata.reference.referencedCollectionId,\n },\n };\n acc[field.key] = referenceField;\n } else {\n const nonReferenceType =\n fieldType === 'REFERENCE' ? 'SHORT_TEXT' : fieldType;\n const nonReferenceField: Field = {\n ...baseField,\n type: nonReferenceType,\n };\n acc[field.key] = nonReferenceField;\n }\n\n return acc;\n }, {}),\n actions: {\n get: (entityId: string) => {\n return items.get(collectionId, entityId);\n },\n create: (entity) => {\n return items.insert(collectionId, entity);\n },\n update: (entity) => {\n return items.update(collectionId, entity);\n },\n delete: (entityId) => {\n return items.remove(collectionId, entityId);\n },\n bulkDelete: (entityIds) => {\n return items.bulkRemove(collectionId, entityIds);\n },\n },\n };\n}\n\nexport function createCmsDataProvider({\n collectionId,\n schema,\n visibleFieldIds,\n filtersMapping,\n}: {\n collectionId: string;\n schema: SchemaConfig;\n visibleFieldIds: string[];\n filtersMapping?: Record<string, Filter>;\n}): { fetchData: CollectionConfig<any, any>['fetchData'] } {\n return {\n fetchData: async (query: ComputedQuery<any>) => {\n let dataQuery = items.query(collectionId);\n dataQuery = addSearchToDataQuery({\n dataQuery,\n query,\n schema,\n visibleFieldIds,\n });\n dataQuery = addFiltersToDataQuery({\n dataQuery,\n query,\n schema,\n filtersMapping,\n });\n dataQuery = addSortToDataQuery({\n dataQuery,\n query,\n schema,\n });\n\n const referenceFieldIds = Object.values(schema.fields)\n .filter(\n (field): field is Field =>\n !!field &&\n field.type === 'REFERENCE' &&\n visibleFieldIds.includes(field.id),\n )\n .map((field) => field.id);\n\n if (referenceFieldIds.length > 0) {\n dataQuery = dataQuery.include(...referenceFieldIds);\n }\n\n const res = await dataQuery\n .skip(query.offset)\n .limit(query.limit)\n .find({ returnTotalCount: true });\n\n return {\n items: res.items,\n total: res.totalCount ?? 0,\n };\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["collections","items","addFiltersToDataQuery","addSearchToDataQuery","addSortToDataQuery","CmsFieldTypeToPatternsFieldType","Type","TEXT","DATE","DATETIME","NUMBER","BOOLEAN","URL","ADDRESS","OBJECT","RICH_TEXT","RICH_CONTENT","ARRAY","ARRAY_STRING","REFERENCE","IMAGE","fetchCmsSchema","collectionId","_schema$fields$find","schema","getDataCollection","id","displayField","idField","imageField","fields","find","field","type","key","reduce","acc","_field$capabilities","_field$capabilities2","_field$typeMetadata","fieldType","baseField","displayName","validation","numberRange","min","undefined","max","stringLengthRange","minLength","maxLength","required","capabilities","supportedQueryOperators","queryOperators","sortable","typeMetadata","reference","referencedCollectionId","referenceField","referenceMetadata","nonReferenceType","nonReferenceField","actions","get","entityId","create","entity","insert","update","delete","remove","bulkDelete","entityIds","bulkRemove","createCmsDataProvider","_ref","visibleFieldIds","filtersMapping","fetchData","query","dataQuery","referenceFieldIds","Object","values","filter","includes","map","length","include","res","skip","offset","limit","returnTotalCount","total","totalCount"],"sources":["../../../../src/dataSourceAdapters/cms/cmsAdapter.ts"],"sourcesContent":["import { Field, SchemaConfig, PatternsFieldType, Filter } from '../../types';\nimport { collections, items } from '@wix/data';\nimport { ComputedQuery, CollectionConfig } from '@wix/patterns';\nimport { addFiltersToDataQuery, addSearchToDataQuery } from './filterUtils';\nimport { addSortToDataQuery } from './sortUtils';\n\nexport const CmsFieldTypeToPatternsFieldType: Partial<\n Record<collections.Type, PatternsFieldType>\n> = {\n [collections.Type.TEXT]: 'SHORT_TEXT',\n [collections.Type.DATE]: 'DATE',\n [collections.Type.DATETIME]: 'DATETIME',\n [collections.Type.NUMBER]: 'NUMBER',\n [collections.Type.BOOLEAN]: 'BOOLEAN',\n [collections.Type.URL]: 'URL',\n [collections.Type.ADDRESS]: 'SHORT_TEXT',\n [collections.Type.OBJECT]: 'LONG_TEXT',\n [collections.Type.RICH_TEXT]: 'LONG_TEXT',\n [collections.Type.RICH_CONTENT]: 'SHORT_TEXT',\n [collections.Type.ARRAY]: 'ARRAY',\n [collections.Type.ARRAY_STRING]: 'ARRAY',\n [collections.Type.REFERENCE]: 'REFERENCE',\n [collections.Type.IMAGE]: 'IMAGE',\n};\n\nexport async function fetchCmsSchema(\n collectionId: string,\n): Promise<SchemaConfig> {\n const schema = await collections.getDataCollection(collectionId);\n\n return {\n id: collectionId,\n displayField: schema.displayField ?? '_id',\n idField: '_id',\n imageField: schema.fields.find((field) => field.type === 'IMAGE')?.key,\n fields: schema.fields.reduce<Record<string, Field>>((acc, field) => {\n if (!field.key) {\n return acc;\n }\n\n const fieldType = field.type\n ? CmsFieldTypeToPatternsFieldType[field.type] || 'SHORT_TEXT'\n : 'SHORT_TEXT';\n const baseField = {\n id: field.key,\n displayName: field.displayName || '',\n validation: {\n numberRange: field.numberRange\n ? {\n min: field.numberRange.min ?? undefined,\n max: field.numberRange.max ?? undefined,\n }\n : undefined,\n stringLengthRange: field.stringLengthRange\n ? {\n minLength: field.stringLengthRange.minLength ?? undefined,\n maxLength: field.stringLengthRange.maxLength ?? undefined,\n }\n : undefined,\n required: field.required ?? false,\n },\n capabilities: {\n supportedQueryOperators: field.capabilities?.queryOperators || [],\n sortable: field.capabilities?.sortable || false,\n },\n };\n\n if (\n fieldType === 'REFERENCE' &&\n field.typeMetadata?.reference?.referencedCollectionId\n ) {\n const referenceField: Field = {\n ...baseField,\n type: 'REFERENCE',\n referenceMetadata: {\n referencedCollectionId:\n field.typeMetadata.reference.referencedCollectionId,\n },\n };\n acc[field.key] = referenceField;\n } else {\n const nonReferenceType =\n fieldType === 'REFERENCE' ? 'SHORT_TEXT' : fieldType;\n const nonReferenceField: Field = {\n ...baseField,\n type: nonReferenceType,\n };\n acc[field.key] = nonReferenceField;\n }\n\n return acc;\n }, {}),\n actions: {\n get: (entityId: string) => {\n return items.get(collectionId, entityId);\n },\n create: (entity) => {\n return items.insert(collectionId, entity);\n },\n update: (entity) => {\n return items.update(collectionId, entity);\n },\n delete: (entityId) => {\n return items.remove(collectionId, entityId);\n },\n bulkDelete: (entityIds) => {\n return items.bulkRemove(collectionId, entityIds);\n },\n },\n };\n}\n\nexport function createCmsDataProvider({\n collectionId,\n schema,\n visibleFieldIds,\n filtersMapping,\n}: {\n collectionId: string;\n schema: SchemaConfig;\n visibleFieldIds: string[];\n filtersMapping?: Record<string, Filter>;\n}): { fetchData: CollectionConfig<any, any>['fetchData'] } {\n return {\n fetchData: async (query: ComputedQuery<any>) => {\n let dataQuery = items.query(collectionId);\n dataQuery = addSearchToDataQuery({\n dataQuery,\n query,\n schema,\n visibleFieldIds,\n });\n dataQuery = addFiltersToDataQuery({\n dataQuery,\n query,\n schema,\n filtersMapping,\n });\n dataQuery = addSortToDataQuery({\n dataQuery,\n query,\n schema,\n });\n\n const referenceFieldIds = Object.values(schema.fields)\n .filter(\n (field): field is Field =>\n !!field &&\n field.type === 'REFERENCE' &&\n visibleFieldIds.includes(field.id),\n )\n .map((field) => field.id);\n\n if (referenceFieldIds.length > 0) {\n dataQuery = dataQuery.include(...referenceFieldIds);\n }\n\n const res = await dataQuery\n .skip(query.offset)\n .limit(query.limit)\n .find({ returnTotalCount: true });\n\n return {\n items: res.items,\n total: res.totalCount ?? 0,\n };\n },\n };\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,4 +3,5 @@ export * from './useFilters';
3
3
  export * from './useGridFeatures';
4
4
  export * from './useNavigationUtils';
5
5
  export * from './usePagePath';
6
+ export * from './useEntityPageHeaderTexts';
6
7
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useTableFeatures';\nexport * from './useFilters';\nexport * from './useGridFeatures';\nexport * from './useNavigationUtils';\nexport * from './usePagePath';\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,cAAc;AAC5B,cAAc,mBAAmB;AACjC,cAAc,sBAAsB;AACpC,cAAc,eAAe","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["../../../src/hooks/index.ts"],"sourcesContent":["export * from './useTableFeatures';\nexport * from './useFilters';\nexport * from './useGridFeatures';\nexport * from './useNavigationUtils';\nexport * from './usePagePath';\nexport * from './useEntityPageHeaderTexts';\n"],"mappings":"AAAA,cAAc,oBAAoB;AAClC,cAAc,cAAc;AAC5B,cAAc,mBAAmB;AACjC,cAAc,sBAAsB;AACpC,cAAc,eAAe;AAC7B,cAAc,4BAA4B","ignoreList":[]}
@@ -1,5 +1,5 @@
1
1
  import { useCallback } from 'react';
2
- import { useSharedDataForActions } from './useSharedDataForActions';
2
+ import { useActionsSDK } from './useActionsSDK';
3
3
  import { useWixPatternsContainer, useSelector } from '@wix/patterns';
4
4
  import { updateAction, customModalAction, customAction, resolveAction, deleteAction } from '../utils/actions';
5
5
  import { useNavigation } from './useNavigationUtils';
@@ -7,7 +7,6 @@ export const useActionCell = _ref => {
7
7
  let {
8
8
  config,
9
9
  collectionId,
10
- optimisticActions,
11
10
  collectionType,
12
11
  entityPageId
13
12
  } = _ref;
@@ -16,9 +15,8 @@ export const useActionCell = _ref => {
16
15
  } = useNavigation();
17
16
  const container = useWixPatternsContainer();
18
17
  const editText = useSelector(() => container.translate('cairo.collectionsPage.edit.CTA'));
19
- const sharedData = useSharedDataForActions({
20
- collectionId,
21
- optimisticActions
18
+ const sdk = useActionsSDK({
19
+ collectionId
22
20
  });
23
21
  const buildCellActions = useCallback((item, index, api) => {
24
22
  var _config$primaryAction, _config$secondaryActi;
@@ -30,7 +28,7 @@ export const useActionCell = _ref => {
30
28
  index,
31
29
  api
32
30
  },
33
- sharedData
31
+ sdk
34
32
  };
35
33
  switch (actionConfig.type) {
36
34
  case 'update':
@@ -99,7 +97,7 @@ export const useActionCell = _ref => {
99
97
  secondaryActions
100
98
  })
101
99
  };
102
- }, [config, sharedData, entityPageId, navigateToEntityPage, collectionType, editText]);
100
+ }, [config, sdk, entityPageId, navigateToEntityPage, collectionType, editText]);
103
101
  return buildCellActions;
104
102
  };
105
103
  //# sourceMappingURL=useActionCell.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useCallback","useSharedDataForActions","useWixPatternsContainer","useSelector","updateAction","customModalAction","customAction","resolveAction","deleteAction","useNavigation","useActionCell","_ref","config","collectionId","optimisticActions","collectionType","entityPageId","navigateToEntityPage","container","editText","translate","sharedData","buildCellActions","item","index","api","_config$primaryAction","_config$secondaryActi","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","action","resolvedAction","label","tooltip","resolvedActionProps","text","disabledDescription","primaryAction","icon","onClick","undefined","secondaryActions","items","length","map","filter","Boolean"],"sources":["../../../src/hooks/useActionCell.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n ActionCellConfig,\n ActionCellItemConfig,\n ComponentConfig,\n ResolvedAction,\n} from '../types';\nimport { useSharedDataForActions } from './useSharedDataForActions';\nimport {\n CollectionOptimisticActions,\n useWixPatternsContainer,\n useSelector,\n} from '@wix/patterns';\nimport {\n updateAction,\n customModalAction,\n customAction,\n resolveAction,\n deleteAction,\n} from '../utils/actions';\nimport { useNavigation } from './useNavigationUtils';\n\nexport interface useActionCellParams {\n config?: ActionCellConfig;\n collectionId: string;\n optimisticActions: CollectionOptimisticActions<any, any>;\n collectionType?: ComponentConfig['type'];\n entityPageId?: string;\n}\n\nexport const useActionCell = ({\n config,\n collectionId,\n optimisticActions,\n collectionType,\n entityPageId,\n}: useActionCellParams) => {\n const { navigateToEntityPage } = useNavigation();\n const container = useWixPatternsContainer();\n const editText = useSelector(() =>\n container.translate('cairo.collectionsPage.edit.CTA'),\n );\n\n const sharedData = useSharedDataForActions({\n collectionId,\n optimisticActions,\n });\n\n const buildCellActions = useCallback(\n (item, index, api) => {\n const buildAction = (actionConfig: ActionCellItemConfig) => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: { item, index, api },\n sharedData,\n };\n\n switch (actionConfig.type) {\n case 'update':\n actionToResolve = updateAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'delete':\n actionToResolve = deleteAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'customModal':\n actionToResolve = customModalAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { label, tooltip, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n text: resolvedAction.label,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const primaryAction = config?.primaryAction?.item\n ? buildAction(config.primaryAction.item)\n : collectionType === 'Grid' && entityPageId\n ? {\n text: editText,\n icon: 'edit',\n onClick: () => {\n navigateToEntityPage({\n item,\n entityPageId,\n });\n },\n }\n : undefined;\n\n const secondaryActions = config?.secondaryActions?.items.length\n ? config.secondaryActions.items.map(buildAction).filter(Boolean)\n : [];\n\n if (!primaryAction && !secondaryActions.length) {\n return {};\n }\n\n return {\n ...(primaryAction ? { primaryAction } : { primaryAction: undefined }),\n ...(secondaryActions.length && { secondaryActions }),\n };\n },\n [\n config,\n sharedData,\n entityPageId,\n navigateToEntityPage,\n collectionType,\n editText,\n ],\n );\n\n return buildCellActions;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useActionsSDK","useWixPatternsContainer","useSelector","updateAction","customModalAction","customAction","resolveAction","deleteAction","useNavigation","useActionCell","_ref","config","collectionId","collectionType","entityPageId","navigateToEntityPage","container","editText","translate","sdk","buildCellActions","item","index","api","_config$primaryAction","_config$secondaryActi","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","action","resolvedAction","label","tooltip","resolvedActionProps","text","disabledDescription","primaryAction","icon","onClick","undefined","secondaryActions","items","length","map","filter","Boolean"],"sources":["../../../src/hooks/useActionCell.ts"],"sourcesContent":["import { useCallback } from 'react';\nimport {\n ActionCellConfig,\n ActionCellItemConfig,\n ComponentConfig,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport { useWixPatternsContainer, useSelector } from '@wix/patterns';\nimport {\n updateAction,\n customModalAction,\n customAction,\n resolveAction,\n deleteAction,\n} from '../utils/actions';\nimport { useNavigation } from './useNavigationUtils';\n\nexport interface useActionCellParams {\n config?: ActionCellConfig;\n collectionId: string;\n collectionType?: ComponentConfig['type'];\n entityPageId?: string;\n}\n\nexport const useActionCell = ({\n config,\n collectionId,\n collectionType,\n entityPageId,\n}: useActionCellParams) => {\n const { navigateToEntityPage } = useNavigation();\n const container = useWixPatternsContainer();\n const editText = useSelector(() =>\n container.translate('cairo.collectionsPage.edit.CTA'),\n );\n\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const buildCellActions = useCallback(\n (item, index, api) => {\n const buildAction = (actionConfig: ActionCellItemConfig) => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: { item, index, api },\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'update':\n actionToResolve = updateAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'delete':\n actionToResolve = deleteAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'customModal':\n actionToResolve = customModalAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { label, tooltip, ...resolvedActionProps } = resolvedAction;\n\n return {\n ...resolvedActionProps,\n text: resolvedAction.label,\n disabledDescription: resolvedAction.tooltip,\n };\n };\n\n const primaryAction = config?.primaryAction?.item\n ? buildAction(config.primaryAction.item)\n : collectionType === 'Grid' && entityPageId\n ? {\n text: editText,\n icon: 'edit',\n onClick: () => {\n navigateToEntityPage({\n item,\n entityPageId,\n });\n },\n }\n : undefined;\n\n const secondaryActions = config?.secondaryActions?.items.length\n ? config.secondaryActions.items.map(buildAction).filter(Boolean)\n : [];\n\n if (!primaryAction && !secondaryActions.length) {\n return {};\n }\n\n return {\n ...(primaryAction ? { primaryAction } : { primaryAction: undefined }),\n ...(secondaryActions.length && { secondaryActions }),\n };\n },\n [config, sdk, entityPageId, navigateToEntityPage, collectionType, editText],\n );\n\n return buildCellActions;\n};\n"],"mappings":"AAAA,SAASA,WAAW,QAAQ,OAAO;AAOnC,SAASC,aAAa,QAAQ,iBAAiB;AAC/C,SAASC,uBAAuB,EAAEC,WAAW,QAAQ,eAAe;AACpE,SACEC,YAAY,EACZC,iBAAiB,EACjBC,YAAY,EACZC,aAAa,EACbC,YAAY,QACP,kBAAkB;AACzB,SAASC,aAAa,QAAQ,sBAAsB;AASpD,OAAO,MAAMC,aAAa,GAAGC,IAAA,IAKF;EAAA,IALG;IAC5BC,MAAM;IACNC,YAAY;IACZC,cAAc;IACdC;EACmB,CAAC,GAAAJ,IAAA;EACpB,MAAM;IAAEK;EAAqB,CAAC,GAAGP,aAAa,CAAC,CAAC;EAChD,MAAMQ,SAAS,GAAGf,uBAAuB,CAAC,CAAC;EAC3C,MAAMgB,QAAQ,GAAGf,WAAW,CAAC,MAC3Bc,SAAS,CAACE,SAAS,CAAC,gCAAgC,CACtD,CAAC;EAED,MAAMC,GAAG,GAAGnB,aAAa,CAAC;IACxBY;EACF,CAAC,CAAC;EAEF,MAAMQ,gBAAgB,GAAGrB,WAAW,CAClC,CAACsB,IAAI,EAAEC,KAAK,EAAEC,GAAG,KAAK;IAAA,IAAAC,qBAAA,EAAAC,qBAAA;IACpB,MAAMC,WAAW,GAAIC,YAAkC,IAAK;MAC1D,IAAIC,eAA+C,GAAG,IAAI;MAE1D,MAAMC,UAAU,GAAG;QACjBC,YAAY,EAAE;UAAET,IAAI;UAAEC,KAAK;UAAEC;QAAI,CAAC;QAClCJ;MACF,CAAC;MAED,QAAQQ,YAAY,CAACI,IAAI;QACvB,KAAK,QAAQ;UACXH,eAAe,GAAGzB,YAAY,CAAC;YAC7B6B,MAAM,EAAEL,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QAEF,KAAK,QAAQ;UACXD,eAAe,GAAGrB,YAAY,CAAC;YAC7ByB,MAAM,EAAEL,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QAEF,KAAK,aAAa;UAChBD,eAAe,GAAGxB,iBAAiB,CAAC;YAClC4B,MAAM,EAAEL,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QAEF,KAAK,QAAQ;UACXD,eAAe,GAAGvB,YAAY,CAAC;YAC7B2B,MAAM,EAAEL,YAAY;YACpB,GAAGE;UACL,CAAC,CAAC;UACF;QAEF;UACE,OAAO,IAAI;MACf;MAEA,IAAI,CAACD,eAAe,EAAE;QACpB,OAAO,IAAI;MACb;MAEA,MAAMK,cAAc,GAAG3B,aAAa,CAACqB,YAAY,EAAEC,eAAe,CAAC;MACnE,MAAM;QAAEM,KAAK;QAAEC,OAAO;QAAE,GAAGC;MAAoB,CAAC,GAAGH,cAAc;MAEjE,OAAO;QACL,GAAGG,mBAAmB;QACtBC,IAAI,EAAEJ,cAAc,CAACC,KAAK;QAC1BI,mBAAmB,EAAEL,cAAc,CAACE;MACtC,CAAC;IACH,CAAC;IAED,MAAMI,aAAa,GAAG5B,MAAM,aAAAa,qBAAA,GAANb,MAAM,CAAE4B,aAAa,aAArBf,qBAAA,CAAuBH,IAAI,GAC7CK,WAAW,CAACf,MAAM,CAAC4B,aAAa,CAAClB,IAAI,CAAC,GACtCR,cAAc,KAAK,MAAM,IAAIC,YAAY,GACzC;MACEuB,IAAI,EAAEpB,QAAQ;MACduB,IAAI,EAAE,MAAM;MACZC,OAAO,EAAEA,CAAA,KAAM;QACb1B,oBAAoB,CAAC;UACnBM,IAAI;UACJP;QACF,CAAC,CAAC;MACJ;IACF,CAAC,GACD4B,SAAS;IAEb,MAAMC,gBAAgB,GAAGhC,MAAM,aAAAc,qBAAA,GAANd,MAAM,CAAEgC,gBAAgB,aAAxBlB,qBAAA,CAA0BmB,KAAK,CAACC,MAAM,GAC3DlC,MAAM,CAACgC,gBAAgB,CAACC,KAAK,CAACE,GAAG,CAACpB,WAAW,CAAC,CAACqB,MAAM,CAACC,OAAO,CAAC,GAC9D,EAAE;IAEN,IAAI,CAACT,aAAa,IAAI,CAACI,gBAAgB,CAACE,MAAM,EAAE;MAC9C,OAAO,CAAC,CAAC;IACX;IAEA,OAAO;MACL,IAAIN,aAAa,GAAG;QAAEA;MAAc,CAAC,GAAG;QAAEA,aAAa,EAAEG;MAAU,CAAC,CAAC;MACrE,IAAIC,gBAAgB,CAACE,MAAM,IAAI;QAAEF;MAAiB,CAAC;IACrD,CAAC;EACH,CAAC,EACD,CAAChC,MAAM,EAAEQ,GAAG,EAAEL,YAAY,EAAEC,oBAAoB,EAAEF,cAAc,EAAEI,QAAQ,CAC5E,CAAC;EAED,OAAOG,gBAAgB;AACzB,CAAC","ignoreList":[]}
@@ -0,0 +1,30 @@
1
+ import { useMemo } from 'react';
2
+ import { useSchemaRegistry } from '../providers';
3
+ import { useBaseSDK } from './useBaseSDK';
4
+ import { useOptimisticActionsContext } from '../providers/OptimisticActionsContext';
5
+ export const useActionsSDK = _ref => {
6
+ let {
7
+ collectionId
8
+ } = _ref;
9
+ const {
10
+ getSchema
11
+ } = useSchemaRegistry();
12
+ const {
13
+ getOptimisticActions
14
+ } = useOptimisticActionsContext();
15
+ const baseSDK = useBaseSDK();
16
+ /* eslint-disable react-hooks/exhaustive-deps */
17
+ // disabled because bug in Patterns that navigateToEntityPage isn't wrapped with useCallback,
18
+ const sdk = useMemo(() => ({
19
+ ...baseSDK,
20
+ // TODO: Why spread and not sdk.app/base.openModal ... instead
21
+ getSchema,
22
+ collectionId,
23
+ getOptimisticActions
24
+ }), [getSchema, collectionId, getOptimisticActions, baseSDK]);
25
+
26
+ /* eslint-enable react-hooks/exhaustive-deps */
27
+
28
+ return sdk;
29
+ };
30
+ //# sourceMappingURL=useActionsSDK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useSchemaRegistry","useBaseSDK","useOptimisticActionsContext","useActionsSDK","_ref","collectionId","getSchema","getOptimisticActions","baseSDK","sdk"],"sources":["../../../src/hooks/useActionsSDK.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport { useSchemaRegistry } from '../providers';\nimport { ActionsSDK } from '../utils/actions/types';\nimport { useBaseSDK } from './useBaseSDK';\nimport { useOptimisticActionsContext } from '../providers/OptimisticActionsContext';\n\nexport interface ActionsSDKParams {\n collectionId: string;\n}\n\nexport const useActionsSDK = ({ collectionId }: ActionsSDKParams) => {\n const { getSchema } = useSchemaRegistry();\n\n const { getOptimisticActions } = useOptimisticActionsContext();\n\n const baseSDK = useBaseSDK();\n /* eslint-disable react-hooks/exhaustive-deps */\n // disabled because bug in Patterns that navigateToEntityPage isn't wrapped with useCallback,\n const sdk = useMemo<ActionsSDK>(\n () => ({\n ...baseSDK, // TODO: Why spread and not sdk.app/base.openModal ... instead\n getSchema,\n collectionId,\n getOptimisticActions,\n }),\n [getSchema, collectionId, getOptimisticActions, baseSDK],\n );\n\n /* eslint-enable react-hooks/exhaustive-deps */\n\n return sdk;\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SAASC,iBAAiB,QAAQ,cAAc;AAEhD,SAASC,UAAU,QAAQ,cAAc;AACzC,SAASC,2BAA2B,QAAQ,uCAAuC;AAMnF,OAAO,MAAMC,aAAa,GAAGC,IAAA,IAAwC;EAAA,IAAvC;IAAEC;EAA+B,CAAC,GAAAD,IAAA;EAC9D,MAAM;IAAEE;EAAU,CAAC,GAAGN,iBAAiB,CAAC,CAAC;EAEzC,MAAM;IAAEO;EAAqB,CAAC,GAAGL,2BAA2B,CAAC,CAAC;EAE9D,MAAMM,OAAO,GAAGP,UAAU,CAAC,CAAC;EAC5B;EACA;EACA,MAAMQ,GAAG,GAAGV,OAAO,CACjB,OAAO;IACL,GAAGS,OAAO;IAAE;IACZF,SAAS;IACTD,YAAY;IACZE;EACF,CAAC,CAAC,EACF,CAACD,SAAS,EAAED,YAAY,EAAEE,oBAAoB,EAAEC,OAAO,CACzD,CAAC;;EAED;;EAEA,OAAOC,GAAG;AACZ,CAAC","ignoreList":[]}
@@ -1,5 +1,10 @@
1
1
  import { useOptimisticActions } from '@wix/patterns';
2
- export const useAutoPatternsOptimisticActions = collection => {
2
+ import { useEffect } from 'react';
3
+ import { useOptimisticActionsContext } from '../providers/OptimisticActionsContext';
4
+ export const useAutoPatternsOptimisticActions = (collectionId, collection) => {
5
+ const {
6
+ registerOptimisticActions
7
+ } = useOptimisticActionsContext();
3
8
  const optimisticActions = useOptimisticActions(collection, {
4
9
  orderBy: _ref => {
5
10
  let {
@@ -8,6 +13,11 @@ export const useAutoPatternsOptimisticActions = collection => {
8
13
  return sort || [];
9
14
  }
10
15
  });
16
+ useEffect(() => {
17
+ if (optimisticActions && collectionId) {
18
+ registerOptimisticActions(collectionId, optimisticActions);
19
+ }
20
+ }, [optimisticActions, collectionId, registerOptimisticActions]);
11
21
  return optimisticActions;
12
22
  };
13
23
  //# sourceMappingURL=useAutoPatternsOptimisticActions.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useOptimisticActions","useAutoPatternsOptimisticActions","collection","optimisticActions","orderBy","_ref","sort"],"sources":["../../../src/hooks/useAutoPatternsOptimisticActions.ts"],"sourcesContent":["import { CollectionState, useOptimisticActions } from '@wix/patterns';\n\nexport const useAutoPatternsOptimisticActions = (\n collection: CollectionState<any>,\n) => {\n const optimisticActions = useOptimisticActions(collection, {\n orderBy: ({ sort }) => sort || [],\n });\n\n return optimisticActions;\n};\n"],"mappings":"AAAA,SAA0BA,oBAAoB,QAAQ,eAAe;AAErE,OAAO,MAAMC,gCAAgC,GAC3CC,UAAgC,IAC7B;EACH,MAAMC,iBAAiB,GAAGH,oBAAoB,CAACE,UAAU,EAAE;IACzDE,OAAO,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAK,CAAC,GAAAD,IAAA;MAAA,OAAKC,IAAI,IAAI,EAAE;IAAA;EACnC,CAAC,CAAC;EAEF,OAAOH,iBAAiB;AAC1B,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["useOptimisticActions","useEffect","useOptimisticActionsContext","useAutoPatternsOptimisticActions","collectionId","collection","registerOptimisticActions","optimisticActions","orderBy","_ref","sort"],"sources":["../../../src/hooks/useAutoPatternsOptimisticActions.ts"],"sourcesContent":["import { CollectionState, useOptimisticActions } from '@wix/patterns';\nimport { useEffect } from 'react';\nimport { useOptimisticActionsContext } from '../providers/OptimisticActionsContext';\n\nexport const useAutoPatternsOptimisticActions = (\n collectionId: string,\n collection: CollectionState<any>,\n) => {\n const { registerOptimisticActions } = useOptimisticActionsContext();\n\n const optimisticActions = useOptimisticActions(collection, {\n orderBy: ({ sort }) => sort || [],\n });\n\n useEffect(() => {\n if (optimisticActions && collectionId) {\n registerOptimisticActions(collectionId, optimisticActions);\n }\n }, [optimisticActions, collectionId, registerOptimisticActions]);\n\n return optimisticActions;\n};\n"],"mappings":"AAAA,SAA0BA,oBAAoB,QAAQ,eAAe;AACrE,SAASC,SAAS,QAAQ,OAAO;AACjC,SAASC,2BAA2B,QAAQ,uCAAuC;AAEnF,OAAO,MAAMC,gCAAgC,GAAGA,CAC9CC,YAAoB,EACpBC,UAAgC,KAC7B;EACH,MAAM;IAAEC;EAA0B,CAAC,GAAGJ,2BAA2B,CAAC,CAAC;EAEnE,MAAMK,iBAAiB,GAAGP,oBAAoB,CAACK,UAAU,EAAE;IACzDG,OAAO,EAAEC,IAAA;MAAA,IAAC;QAAEC;MAAK,CAAC,GAAAD,IAAA;MAAA,OAAKC,IAAI,IAAI,EAAE;IAAA;EACnC,CAAC,CAAC;EAEFT,SAAS,CAAC,MAAM;IACd,IAAIM,iBAAiB,IAAIH,YAAY,EAAE;MACrCE,yBAAyB,CAACF,YAAY,EAAEG,iBAAiB,CAAC;IAC5D;EACF,CAAC,EAAE,CAACA,iBAAiB,EAAEH,YAAY,EAAEE,yBAAyB,CAAC,CAAC;EAEhE,OAAOC,iBAAiB;AAC1B,CAAC","ignoreList":[]}
@@ -1,19 +1,12 @@
1
1
  import { useMemo } from 'react';
2
- import { useAppConfigContext, useSchemaRegistry, usePatternsWizardOverridesContext } from '../providers';
2
+ import { useAppConfigContext, usePatternsWizardOverridesContext } from '../providers';
3
3
  import { useModalContext } from '../providers/ModalContext';
4
4
  import { useNavigation } from './useNavigationUtils';
5
- export const useSharedDataForActions = _ref => {
6
- let {
7
- collectionId,
8
- optimisticActions
9
- } = _ref;
5
+ export const useBaseSDK = () => {
10
6
  const {
11
7
  openModal,
12
8
  closeModal
13
9
  } = useModalContext();
14
- const {
15
- getSchema
16
- } = useSchemaRegistry();
17
10
  const appConfig = useAppConfigContext();
18
11
  const overrides = usePatternsWizardOverridesContext();
19
12
  const {
@@ -22,19 +15,16 @@ export const useSharedDataForActions = _ref => {
22
15
 
23
16
  /* eslint-disable react-hooks/exhaustive-deps */
24
17
  // disabled because bug in Patterns that navigateToEntityPage isn't wrapped with useCallback,
25
- const sharedData = useMemo(() => ({
26
- getSchema,
18
+ const baseSDK = useMemo(() => ({
27
19
  appConfig,
28
20
  overrides,
29
21
  openModal,
30
22
  closeModal,
31
- collectionId,
32
- optimisticActions,
33
23
  navigateToEntityPage
34
- }), [getSchema, appConfig, overrides, openModal, closeModal, collectionId, optimisticActions, navigateToEntityPage]);
24
+ }), [appConfig, overrides, openModal, closeModal, navigateToEntityPage]);
35
25
 
36
26
  /* eslint-enable react-hooks/exhaustive-deps */
37
27
 
38
- return sharedData;
28
+ return baseSDK;
39
29
  };
40
- //# sourceMappingURL=useSharedDataForActions.js.map
30
+ //# sourceMappingURL=useBaseSDK.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["useMemo","useAppConfigContext","usePatternsWizardOverridesContext","useModalContext","useNavigation","useBaseSDK","openModal","closeModal","appConfig","overrides","navigateToEntityPage","baseSDK"],"sources":["../../../src/hooks/useBaseSDK.ts"],"sourcesContent":["import { useMemo } from 'react';\nimport {\n useAppConfigContext,\n usePatternsWizardOverridesContext,\n} from '../providers';\nimport { useModalContext } from '../providers/ModalContext';\nimport { useNavigation } from './useNavigationUtils';\nimport { BaseSDK } from '../types';\n\nexport const useBaseSDK = () => {\n const { openModal, closeModal } = useModalContext();\n const appConfig = useAppConfigContext();\n const overrides = usePatternsWizardOverridesContext();\n const { navigateToEntityPage } = useNavigation();\n\n /* eslint-disable react-hooks/exhaustive-deps */\n // disabled because bug in Patterns that navigateToEntityPage isn't wrapped with useCallback,\n const baseSDK = useMemo<BaseSDK>(\n () => ({\n appConfig,\n overrides,\n openModal,\n closeModal,\n navigateToEntityPage,\n }),\n [appConfig, overrides, openModal, closeModal, navigateToEntityPage],\n );\n\n /* eslint-enable react-hooks/exhaustive-deps */\n\n return baseSDK;\n};\n"],"mappings":"AAAA,SAASA,OAAO,QAAQ,OAAO;AAC/B,SACEC,mBAAmB,EACnBC,iCAAiC,QAC5B,cAAc;AACrB,SAASC,eAAe,QAAQ,2BAA2B;AAC3D,SAASC,aAAa,QAAQ,sBAAsB;AAGpD,OAAO,MAAMC,UAAU,GAAGA,CAAA,KAAM;EAC9B,MAAM;IAAEC,SAAS;IAAEC;EAAW,CAAC,GAAGJ,eAAe,CAAC,CAAC;EACnD,MAAMK,SAAS,GAAGP,mBAAmB,CAAC,CAAC;EACvC,MAAMQ,SAAS,GAAGP,iCAAiC,CAAC,CAAC;EACrD,MAAM;IAAEQ;EAAqB,CAAC,GAAGN,aAAa,CAAC,CAAC;;EAEhD;EACA;EACA,MAAMO,OAAO,GAAGX,OAAO,CACrB,OAAO;IACLQ,SAAS;IACTC,SAAS;IACTH,SAAS;IACTC,UAAU;IACVG;EACF,CAAC,CAAC,EACF,CAACF,SAAS,EAAEC,SAAS,EAAEH,SAAS,EAAEC,UAAU,EAAEG,oBAAoB,CACpE,CAAC;;EAED;;EAEA,OAAOC,OAAO;AAChB,CAAC","ignoreList":[]}
@@ -1,17 +1,15 @@
1
1
  import React, { useCallback } from 'react';
2
- import { useSharedDataForActions } from './useSharedDataForActions';
2
+ import { useActionsSDK } from './useActionsSDK';
3
3
  import { MultiBulkActionToolbar } from '@wix/patterns';
4
4
  import { bulkDeleteAction, customAction, customModalAction, resolveAction } from '../utils/actions';
5
5
  export const useBulkActionToolbar = _ref => {
6
6
  var _config$primaryAction2, _config$secondaryActi2;
7
7
  let {
8
8
  config,
9
- collectionId,
10
- optimisticActions
9
+ collectionId
11
10
  } = _ref;
12
- const sharedData = useSharedDataForActions({
13
- collectionId,
14
- optimisticActions
11
+ const sdk = useActionsSDK({
12
+ collectionId
15
13
  });
16
14
  const bulkActionToolbar = useCallback(param => {
17
15
  var _config$primaryAction, _config$secondaryActi;
@@ -19,7 +17,7 @@ export const useBulkActionToolbar = _ref => {
19
17
  let actionToResolve = null;
20
18
  const baseParams = {
21
19
  actionParams: param,
22
- sharedData
20
+ sdk
23
21
  };
24
22
  switch (actionConfig.type) {
25
23
  case 'bulkDelete':
@@ -63,7 +61,7 @@ export const useBulkActionToolbar = _ref => {
63
61
  primaryActionItems: primaryActionItems,
64
62
  secondaryActionItems: secondaryActionItems
65
63
  });
66
- }, [config, sharedData]);
64
+ }, [config, sdk]);
67
65
  if (!config) {
68
66
  return undefined;
69
67
  }
@@ -1 +1 @@
1
- {"version":3,"names":["React","useCallback","useSharedDataForActions","MultiBulkActionToolbar","bulkDeleteAction","customAction","customModalAction","resolveAction","useBulkActionToolbar","_ref","_config$primaryAction2","_config$secondaryActi2","config","collectionId","optimisticActions","sharedData","bulkActionToolbar","param","_config$primaryAction","_config$secondaryActi","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","action","resolvedAction","icon","resolvedActionParams","prefixIcon","isValidElement","undefined","dataHook","id","primaryActionItems","primaryActions","items","map","filter","Boolean","secondaryActionItems","secondaryActions","sections","section","createElement","length"],"sources":["../../../src/hooks/useBulkActionToolbar.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport {\n BulkActionItemConfig,\n BulkActionsConfig,\n ResolvedAction,\n} from '../types';\nimport { useSharedDataForActions } from './useSharedDataForActions';\nimport {\n CollectionOptimisticActions,\n TableProps,\n MultiBulkActionToolbar,\n ActionSubitem,\n} from '@wix/patterns';\nimport {\n bulkDeleteAction,\n customAction,\n customModalAction,\n resolveAction,\n} from '../utils/actions';\n\nexport type BulkActionToolbarRenderProp = Parameters<\n NonNullable<TableProps<any, any>['bulkActionToolbar']>\n>[0];\n\nexport interface useBulkActionToolbarParams {\n config?: BulkActionsConfig;\n collectionId: string;\n optimisticActions: CollectionOptimisticActions<any, any>;\n}\n\nexport const useBulkActionToolbar = ({\n config,\n collectionId,\n optimisticActions,\n}: useBulkActionToolbarParams) => {\n const sharedData = useSharedDataForActions({\n collectionId,\n optimisticActions,\n });\n\n const bulkActionToolbar = useCallback(\n (param: BulkActionToolbarRenderProp) => {\n const buildAction = (\n actionConfig: BulkActionItemConfig,\n ): ActionSubitem | null => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: param,\n sharedData,\n };\n\n switch (actionConfig.type) {\n case 'bulkDelete':\n actionToResolve = bulkDeleteAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'customModal':\n actionToResolve = customModalAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { icon, ...resolvedActionParams } = resolvedAction;\n\n return {\n prefixIcon: React.isValidElement(icon) ? icon : undefined,\n dataHook: actionConfig.id,\n ...resolvedActionParams,\n };\n };\n\n const primaryActionItems = (config?.primaryActions?.items || [])\n .map(buildAction)\n .filter((action): action is ActionSubitem => Boolean(action));\n const secondaryActionItems = (\n config?.secondaryActions?.sections || []\n ).map((section) =>\n section.items\n .map(buildAction)\n .filter((action): action is ActionSubitem => Boolean(action)),\n );\n\n return (\n <MultiBulkActionToolbar\n primaryActionItems={primaryActionItems}\n secondaryActionItems={secondaryActionItems}\n />\n );\n },\n [config, sharedData],\n );\n\n if (!config) {\n return undefined;\n }\n\n if (\n !config.primaryActions?.items.length &&\n !config.secondaryActions?.sections.length\n ) {\n return undefined;\n }\n return bulkActionToolbar;\n};\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useCallback","useActionsSDK","MultiBulkActionToolbar","bulkDeleteAction","customAction","customModalAction","resolveAction","useBulkActionToolbar","_ref","_config$primaryAction2","_config$secondaryActi2","config","collectionId","sdk","bulkActionToolbar","param","_config$primaryAction","_config$secondaryActi","buildAction","actionConfig","actionToResolve","baseParams","actionParams","type","action","resolvedAction","icon","resolvedActionParams","prefixIcon","isValidElement","undefined","dataHook","id","primaryActionItems","primaryActions","items","map","filter","Boolean","secondaryActionItems","secondaryActions","sections","section","createElement","length"],"sources":["../../../src/hooks/useBulkActionToolbar.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport {\n BulkActionItemConfig,\n BulkActionsConfig,\n ResolvedAction,\n} from '../types';\nimport { useActionsSDK } from './useActionsSDK';\nimport {\n TableProps,\n MultiBulkActionToolbar,\n ActionSubitem,\n} from '@wix/patterns';\nimport {\n bulkDeleteAction,\n customAction,\n customModalAction,\n resolveAction,\n} from '../utils/actions';\n\nexport type BulkActionToolbarRenderProp = Parameters<\n NonNullable<TableProps<any, any>['bulkActionToolbar']>\n>[0];\n\nexport interface useBulkActionToolbarParams {\n config?: BulkActionsConfig;\n collectionId: string;\n}\n\nexport const useBulkActionToolbar = ({\n config,\n collectionId,\n}: useBulkActionToolbarParams) => {\n const sdk = useActionsSDK({\n collectionId,\n });\n\n const bulkActionToolbar = useCallback(\n (param: BulkActionToolbarRenderProp) => {\n const buildAction = (\n actionConfig: BulkActionItemConfig,\n ): ActionSubitem | null => {\n let actionToResolve: Partial<ResolvedAction> | null = null;\n\n const baseParams = {\n actionParams: param,\n sdk,\n };\n\n switch (actionConfig.type) {\n case 'bulkDelete':\n actionToResolve = bulkDeleteAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'customModal':\n actionToResolve = customModalAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n case 'custom':\n actionToResolve = customAction({\n action: actionConfig,\n ...baseParams,\n });\n break;\n\n default:\n return null;\n }\n\n if (!actionToResolve) {\n return null;\n }\n\n const resolvedAction = resolveAction(actionConfig, actionToResolve);\n const { icon, ...resolvedActionParams } = resolvedAction;\n\n return {\n prefixIcon: React.isValidElement(icon) ? icon : undefined,\n dataHook: actionConfig.id,\n ...resolvedActionParams,\n };\n };\n\n const primaryActionItems = (config?.primaryActions?.items || [])\n .map(buildAction)\n .filter((action): action is ActionSubitem => Boolean(action));\n const secondaryActionItems = (\n config?.secondaryActions?.sections || []\n ).map((section) =>\n section.items\n .map(buildAction)\n .filter((action): action is ActionSubitem => Boolean(action)),\n );\n\n return (\n <MultiBulkActionToolbar\n primaryActionItems={primaryActionItems}\n secondaryActionItems={secondaryActionItems}\n />\n );\n },\n [config, sdk],\n );\n\n if (!config) {\n return undefined;\n }\n\n if (\n !config.primaryActions?.items.length &&\n !config.secondaryActions?.sections.length\n ) {\n return undefined;\n }\n return bulkActionToolbar;\n};\n"],"mappings":"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","ignoreList":[]}