@wix/auto-patterns 1.8.0 → 1.10.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 (348) hide show
  1. package/README.md +50 -0
  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 +35 -6
  6. package/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  7. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +20 -13
  8. package/dist/cjs/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  9. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js +47 -25
  10. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
  11. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js +66 -30
  12. package/dist/cjs/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  13. package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +7 -4
  14. package/dist/cjs/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
  15. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js +85 -0
  16. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -0
  17. package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js +35 -18
  18. package/dist/cjs/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
  19. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js +42 -37
  20. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
  21. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js +46 -29
  22. package/dist/cjs/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
  23. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js +35 -40
  24. package/dist/cjs/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
  25. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js +26 -15
  26. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
  27. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js +29 -15
  28. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
  29. package/dist/cjs/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js +27 -0
  30. package/dist/cjs/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js.map +1 -0
  31. package/dist/cjs/components/DynamicIcon.js +45 -9
  32. package/dist/cjs/components/DynamicIcon.js.map +1 -1
  33. package/dist/cjs/components/modals/actions/BulkDeleteModal.js +12 -10
  34. package/dist/cjs/components/modals/actions/BulkDeleteModal.js.map +1 -1
  35. package/dist/cjs/components/modals/actions/CreateModal.js +138 -0
  36. package/dist/cjs/components/modals/actions/CreateModal.js.map +1 -0
  37. package/dist/cjs/components/modals/actions/EditModal.js +17 -13
  38. package/dist/cjs/components/modals/actions/EditModal.js.map +1 -1
  39. package/dist/cjs/components/modals/actions/index.js +6 -0
  40. package/dist/cjs/components/modals/actions/index.js.map +1 -1
  41. package/dist/cjs/components/modals/actions/types.js.map +1 -1
  42. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js +2 -1
  43. package/dist/cjs/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  44. package/dist/cjs/hooks/index.js +6 -0
  45. package/dist/cjs/hooks/index.js.map +1 -1
  46. package/dist/cjs/hooks/useActionCell.js +5 -7
  47. package/dist/cjs/hooks/useActionCell.js.map +1 -1
  48. package/dist/cjs/hooks/useActionsSDK.js +34 -0
  49. package/dist/cjs/hooks/useActionsSDK.js.map +1 -0
  50. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js +11 -1
  51. package/dist/cjs/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
  52. package/dist/cjs/hooks/useBaseGridFeatures.js +39 -0
  53. package/dist/cjs/hooks/useBaseGridFeatures.js.map +1 -0
  54. package/dist/cjs/hooks/{useSharedDataForActions.js → useBaseSDK.js} +7 -16
  55. package/dist/cjs/hooks/useBaseSDK.js.map +1 -0
  56. package/dist/cjs/hooks/useBaseTableFeatures.js +39 -0
  57. package/dist/cjs/hooks/useBaseTableFeatures.js.map +1 -0
  58. package/dist/cjs/hooks/useBulkActionToolbar.js +7 -9
  59. package/dist/cjs/hooks/useBulkActionToolbar.js.map +1 -1
  60. package/dist/cjs/hooks/useCollectionPageActions.js +126 -0
  61. package/dist/cjs/hooks/useCollectionPageActions.js.map +1 -0
  62. package/dist/cjs/hooks/useColumns.js +14 -3
  63. package/dist/cjs/hooks/useColumns.js.map +1 -1
  64. package/dist/cjs/hooks/useCommonCollectionFeatures.js +5 -8
  65. package/dist/cjs/hooks/useCommonCollectionFeatures.js.map +1 -1
  66. package/dist/cjs/hooks/useEntityPageHeaderTexts.js +27 -0
  67. package/dist/cjs/hooks/useEntityPageHeaderTexts.js.map +1 -0
  68. package/dist/cjs/hooks/useGridFeatures.js +7 -20
  69. package/dist/cjs/hooks/useGridFeatures.js.map +1 -1
  70. package/dist/cjs/hooks/useNavigationUtils.js +9 -5
  71. package/dist/cjs/hooks/useNavigationUtils.js.map +1 -1
  72. package/dist/cjs/hooks/usePagePath.js +1 -1
  73. package/dist/cjs/hooks/usePagePath.js.map +1 -1
  74. package/dist/cjs/hooks/useTableFeatures.js +10 -17
  75. package/dist/cjs/hooks/useTableFeatures.js.map +1 -1
  76. package/dist/cjs/hooks/useTableGridSwitchFeatures.js +81 -0
  77. package/dist/cjs/hooks/useTableGridSwitchFeatures.js.map +1 -0
  78. package/dist/cjs/providers/OptimisticActionsContext.js +43 -0
  79. package/dist/cjs/providers/OptimisticActionsContext.js.map +1 -0
  80. package/dist/cjs/providers/PatternsWizardOverridesContext.js +1 -1
  81. package/dist/cjs/providers/PatternsWizardOverridesContext.js.map +1 -1
  82. package/dist/cjs/providers/RootAppProvider.js +13 -5
  83. package/dist/cjs/providers/RootAppProvider.js.map +1 -1
  84. package/dist/cjs/types/BaseSDK.js +4 -0
  85. package/dist/cjs/types/BaseSDK.js.map +1 -0
  86. package/dist/cjs/types/CollectionPageConfig.js.map +1 -1
  87. package/dist/cjs/types/actions/base.js.map +1 -1
  88. package/dist/cjs/types/actions/bulkActions.js.map +1 -1
  89. package/dist/cjs/types/actions/collectionPageActions.js +4 -0
  90. package/dist/cjs/types/actions/collectionPageActions.js.map +1 -0
  91. package/dist/cjs/types/actions/index.js +6 -0
  92. package/dist/cjs/types/actions/index.js.map +1 -1
  93. package/dist/cjs/types/index.js +6 -0
  94. package/dist/cjs/types/index.js.map +1 -1
  95. package/dist/cjs/types/types.js.map +1 -1
  96. package/dist/cjs/types/wix-icons.d.js +2 -0
  97. package/dist/cjs/types/wix-icons.d.js.map +1 -0
  98. package/dist/cjs/utils/actions/bulkDeleteAction.js +3 -3
  99. package/dist/cjs/utils/actions/bulkDeleteAction.js.map +1 -1
  100. package/dist/cjs/utils/actions/createAction.js +38 -0
  101. package/dist/cjs/utils/actions/createAction.js.map +1 -0
  102. package/dist/cjs/utils/actions/customAction.js +4 -4
  103. package/dist/cjs/utils/actions/customAction.js.map +1 -1
  104. package/dist/cjs/utils/actions/customModalAction.js +3 -3
  105. package/dist/cjs/utils/actions/customModalAction.js.map +1 -1
  106. package/dist/cjs/utils/actions/deleteAction.js +7 -5
  107. package/dist/cjs/utils/actions/deleteAction.js.map +1 -1
  108. package/dist/cjs/utils/actions/index.js +6 -0
  109. package/dist/cjs/utils/actions/index.js.map +1 -1
  110. package/dist/cjs/utils/actions/types.js.map +1 -1
  111. package/dist/cjs/utils/actions/updateAction.js +4 -10
  112. package/dist/cjs/utils/actions/updateAction.js.map +1 -1
  113. package/dist/cjs/utils/generated-icon-imports.js +1438 -0
  114. package/dist/cjs/utils/generated-icon-imports.js.map +1 -0
  115. package/dist/cjs/utils/media/getImageUrl.js +3 -0
  116. package/dist/cjs/utils/media/getImageUrl.js.map +1 -1
  117. package/dist/esm/components/AutoPatternsApp/AutoPatternsApp.js.map +1 -1
  118. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js +6 -5
  119. package/dist/esm/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.js.map +1 -1
  120. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js +19 -2
  121. package/dist/esm/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.js.map +1 -1
  122. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js +14 -7
  123. package/dist/esm/components/AutoPatternsEntityPage/AutoPatternsEntityPage.js.map +1 -1
  124. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js +47 -25
  125. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateInput.js.map +1 -1
  126. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js +61 -25
  127. package/dist/esm/components/AutoPatternsEntityPage/Fields/DateTime.js.map +1 -1
  128. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js +6 -3
  129. package/dist/esm/components/AutoPatternsEntityPage/Fields/FormFieldInput.js.map +1 -1
  130. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js +66 -0
  131. package/dist/esm/components/AutoPatternsEntityPage/Fields/ImageInput.js.map +1 -0
  132. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js +33 -15
  133. package/dist/esm/components/AutoPatternsEntityPage/Fields/LongText.js.map +1 -1
  134. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js +41 -35
  135. package/dist/esm/components/AutoPatternsEntityPage/Fields/Number.js.map +1 -1
  136. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js +43 -25
  137. package/dist/esm/components/AutoPatternsEntityPage/Fields/ShortText.js.map +1 -1
  138. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js +32 -34
  139. package/dist/esm/components/AutoPatternsEntityPage/Fields/Url.js.map +1 -1
  140. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js +25 -8
  141. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGrid.js.map +1 -1
  142. package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js +28 -8
  143. package/dist/esm/components/AutoPatternsTable/AutoPatternsTable.js.map +1 -1
  144. package/dist/esm/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js +14 -0
  145. package/dist/esm/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.js.map +1 -0
  146. package/dist/esm/components/DynamicIcon.js +13 -4
  147. package/dist/esm/components/DynamicIcon.js.map +1 -1
  148. package/dist/esm/components/modals/actions/BulkDeleteModal.js +7 -5
  149. package/dist/esm/components/modals/actions/BulkDeleteModal.js.map +1 -1
  150. package/dist/esm/components/modals/actions/CreateModal.js +80 -0
  151. package/dist/esm/components/modals/actions/CreateModal.js.map +1 -0
  152. package/dist/esm/components/modals/actions/EditModal.js +9 -5
  153. package/dist/esm/components/modals/actions/EditModal.js.map +1 -1
  154. package/dist/esm/components/modals/actions/index.js +1 -0
  155. package/dist/esm/components/modals/actions/index.js.map +1 -1
  156. package/dist/esm/components/modals/actions/types.js.map +1 -1
  157. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js +2 -1
  158. package/dist/esm/dataSourceAdapters/cms/cmsAdapter.js.map +1 -1
  159. package/dist/esm/hooks/index.js +1 -0
  160. package/dist/esm/hooks/index.js.map +1 -1
  161. package/dist/esm/hooks/useActionCell.js +5 -7
  162. package/dist/esm/hooks/useActionCell.js.map +1 -1
  163. package/dist/esm/hooks/useActionsSDK.js +30 -0
  164. package/dist/esm/hooks/useActionsSDK.js.map +1 -0
  165. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js +11 -1
  166. package/dist/esm/hooks/useAutoPatternsOptimisticActions.js.map +1 -1
  167. package/dist/esm/hooks/useBaseGridFeatures.js +34 -0
  168. package/dist/esm/hooks/useBaseGridFeatures.js.map +1 -0
  169. package/dist/esm/hooks/{useSharedDataForActions.js → useBaseSDK.js} +6 -16
  170. package/dist/esm/hooks/useBaseSDK.js.map +1 -0
  171. package/dist/esm/hooks/useBaseTableFeatures.js +24 -0
  172. package/dist/esm/hooks/useBaseTableFeatures.js.map +1 -0
  173. package/dist/esm/hooks/useBulkActionToolbar.js +6 -8
  174. package/dist/esm/hooks/useBulkActionToolbar.js.map +1 -1
  175. package/dist/esm/hooks/useCollectionPageActions.js +103 -0
  176. package/dist/esm/hooks/useCollectionPageActions.js.map +1 -0
  177. package/dist/esm/hooks/useColumns.js +9 -4
  178. package/dist/esm/hooks/useColumns.js.map +1 -1
  179. package/dist/esm/hooks/useCommonCollectionFeatures.js +1 -4
  180. package/dist/esm/hooks/useCommonCollectionFeatures.js.map +1 -1
  181. package/dist/esm/hooks/useEntityPageHeaderTexts.js +23 -0
  182. package/dist/esm/hooks/useEntityPageHeaderTexts.js.map +1 -0
  183. package/dist/esm/hooks/useGridFeatures.js +7 -20
  184. package/dist/esm/hooks/useGridFeatures.js.map +1 -1
  185. package/dist/esm/hooks/useNavigationUtils.js +10 -6
  186. package/dist/esm/hooks/useNavigationUtils.js.map +1 -1
  187. package/dist/esm/hooks/usePagePath.js +1 -1
  188. package/dist/esm/hooks/usePagePath.js.map +1 -1
  189. package/dist/esm/hooks/useTableFeatures.js +11 -8
  190. package/dist/esm/hooks/useTableFeatures.js.map +1 -1
  191. package/dist/esm/hooks/useTableGridSwitchFeatures.js +79 -0
  192. package/dist/esm/hooks/useTableGridSwitchFeatures.js.map +1 -0
  193. package/dist/esm/providers/OptimisticActionsContext.js +29 -0
  194. package/dist/esm/providers/OptimisticActionsContext.js.map +1 -0
  195. package/dist/esm/providers/PatternsWizardOverridesContext.js.map +1 -1
  196. package/dist/esm/providers/RootAppProvider.js +2 -1
  197. package/dist/esm/providers/RootAppProvider.js.map +1 -1
  198. package/dist/esm/types/BaseSDK.js +2 -0
  199. package/dist/esm/types/BaseSDK.js.map +1 -0
  200. package/dist/esm/types/CollectionPageConfig.js.map +1 -1
  201. package/dist/esm/types/actions/base.js.map +1 -1
  202. package/dist/esm/types/actions/bulkActions.js.map +1 -1
  203. package/dist/esm/types/actions/collectionPageActions.js +2 -0
  204. package/dist/esm/types/actions/collectionPageActions.js.map +1 -0
  205. package/dist/esm/types/actions/index.js +1 -0
  206. package/dist/esm/types/actions/index.js.map +1 -1
  207. package/dist/esm/types/index.js +1 -0
  208. package/dist/esm/types/index.js.map +1 -1
  209. package/dist/esm/types/types.js.map +1 -1
  210. package/dist/esm/types/wix-icons.d.js +2 -0
  211. package/dist/esm/types/wix-icons.d.js.map +1 -0
  212. package/dist/esm/utils/actions/bulkDeleteAction.js +3 -3
  213. package/dist/esm/utils/actions/bulkDeleteAction.js.map +1 -1
  214. package/dist/esm/utils/actions/createAction.js +33 -0
  215. package/dist/esm/utils/actions/createAction.js.map +1 -0
  216. package/dist/esm/utils/actions/customAction.js +4 -4
  217. package/dist/esm/utils/actions/customAction.js.map +1 -1
  218. package/dist/esm/utils/actions/customModalAction.js +3 -3
  219. package/dist/esm/utils/actions/customModalAction.js.map +1 -1
  220. package/dist/esm/utils/actions/deleteAction.js +7 -5
  221. package/dist/esm/utils/actions/deleteAction.js.map +1 -1
  222. package/dist/esm/utils/actions/index.js +1 -0
  223. package/dist/esm/utils/actions/index.js.map +1 -1
  224. package/dist/esm/utils/actions/types.js.map +1 -1
  225. package/dist/esm/utils/actions/updateAction.js +4 -10
  226. package/dist/esm/utils/actions/updateAction.js.map +1 -1
  227. package/dist/esm/utils/generated-icon-imports.js +1432 -0
  228. package/dist/esm/utils/generated-icon-imports.js.map +1 -0
  229. package/dist/esm/utils/media/getImageUrl.js +3 -0
  230. package/dist/esm/utils/media/getImageUrl.js.map +1 -1
  231. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts +2 -2
  232. package/dist/types/components/AutoPatternsApp/AutoPatternsApp.d.ts.map +1 -1
  233. package/dist/types/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.d.ts.map +1 -1
  234. package/dist/types/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.d.ts.map +1 -1
  235. package/dist/types/components/AutoPatternsEntityPage/AutoPatternsEntityPage.d.ts.map +1 -1
  236. package/dist/types/components/AutoPatternsEntityPage/Fields/DateInput.d.ts.map +1 -1
  237. package/dist/types/components/AutoPatternsEntityPage/Fields/DateTime.d.ts.map +1 -1
  238. package/dist/types/components/AutoPatternsEntityPage/Fields/FormFieldInput.d.ts.map +1 -1
  239. package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts +6 -0
  240. package/dist/types/components/AutoPatternsEntityPage/Fields/ImageInput.d.ts.map +1 -0
  241. package/dist/types/components/AutoPatternsEntityPage/Fields/LongText.d.ts.map +1 -1
  242. package/dist/types/components/AutoPatternsEntityPage/Fields/Number.d.ts.map +1 -1
  243. package/dist/types/components/AutoPatternsEntityPage/Fields/ShortText.d.ts.map +1 -1
  244. package/dist/types/components/AutoPatternsEntityPage/Fields/Url.d.ts.map +1 -1
  245. package/dist/types/components/AutoPatternsGrid/AutoPatternsGrid.d.ts +2 -2
  246. package/dist/types/components/AutoPatternsGrid/AutoPatternsGrid.d.ts.map +1 -1
  247. package/dist/types/components/AutoPatternsTable/AutoPatternsTable.d.ts +2 -2
  248. package/dist/types/components/AutoPatternsTable/AutoPatternsTable.d.ts.map +1 -1
  249. package/dist/types/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.d.ts +7 -0
  250. package/dist/types/components/AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch.d.ts.map +1 -0
  251. package/dist/types/components/DynamicIcon.d.ts.map +1 -1
  252. package/dist/types/components/modals/actions/BulkDeleteModal.d.ts +1 -1
  253. package/dist/types/components/modals/actions/BulkDeleteModal.d.ts.map +1 -1
  254. package/dist/types/components/modals/actions/CreateModal.d.ts +8 -0
  255. package/dist/types/components/modals/actions/CreateModal.d.ts.map +1 -0
  256. package/dist/types/components/modals/actions/EditModal.d.ts +1 -1
  257. package/dist/types/components/modals/actions/EditModal.d.ts.map +1 -1
  258. package/dist/types/components/modals/actions/index.d.ts +1 -0
  259. package/dist/types/components/modals/actions/index.d.ts.map +1 -1
  260. package/dist/types/components/modals/actions/types.d.ts +2 -2
  261. package/dist/types/components/modals/actions/types.d.ts.map +1 -1
  262. package/dist/types/dataSourceAdapters/cms/cmsAdapter.d.ts.map +1 -1
  263. package/dist/types/hooks/index.d.ts +1 -0
  264. package/dist/types/hooks/index.d.ts.map +1 -1
  265. package/dist/types/hooks/useActionCell.d.ts +1 -3
  266. package/dist/types/hooks/useActionCell.d.ts.map +1 -1
  267. package/dist/types/hooks/useActionsSDK.d.ts +6 -0
  268. package/dist/types/hooks/useActionsSDK.d.ts.map +1 -0
  269. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts +1 -1
  270. package/dist/types/hooks/useAutoPatternsOptimisticActions.d.ts.map +1 -1
  271. package/dist/types/hooks/useBaseGridFeatures.d.ts +13 -0
  272. package/dist/types/hooks/useBaseGridFeatures.d.ts.map +1 -0
  273. package/dist/types/hooks/useBaseSDK.d.ts +3 -0
  274. package/dist/types/hooks/useBaseSDK.d.ts.map +1 -0
  275. package/dist/types/hooks/useBaseTableFeatures.d.ts +9 -0
  276. package/dist/types/hooks/useBaseTableFeatures.d.ts.map +1 -0
  277. package/dist/types/hooks/useBulkActionToolbar.d.ts +2 -3
  278. package/dist/types/hooks/useBulkActionToolbar.d.ts.map +1 -1
  279. package/dist/types/hooks/useCollectionPageActions.d.ts +10 -0
  280. package/dist/types/hooks/useCollectionPageActions.d.ts.map +1 -0
  281. package/dist/types/hooks/useColumns.d.ts.map +1 -1
  282. package/dist/types/hooks/useCommonCollectionFeatures.d.ts +1 -1
  283. package/dist/types/hooks/useCommonCollectionFeatures.d.ts.map +1 -1
  284. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts +18 -0
  285. package/dist/types/hooks/useEntityPageHeaderTexts.d.ts.map +1 -0
  286. package/dist/types/hooks/useGridFeatures.d.ts +1 -0
  287. package/dist/types/hooks/useGridFeatures.d.ts.map +1 -1
  288. package/dist/types/hooks/useNavigationUtils.d.ts.map +1 -1
  289. package/dist/types/hooks/useTableFeatures.d.ts +6 -6
  290. package/dist/types/hooks/useTableFeatures.d.ts.map +1 -1
  291. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts +23 -0
  292. package/dist/types/hooks/useTableGridSwitchFeatures.d.ts.map +1 -0
  293. package/dist/types/providers/OptimisticActionsContext.d.ts +12 -0
  294. package/dist/types/providers/OptimisticActionsContext.d.ts.map +1 -0
  295. package/dist/types/providers/PatternsWizardOverridesContext.d.ts +1 -3
  296. package/dist/types/providers/PatternsWizardOverridesContext.d.ts.map +1 -1
  297. package/dist/types/providers/RootAppProvider.d.ts.map +1 -1
  298. package/dist/types/types/BaseSDK.d.ts +12 -0
  299. package/dist/types/types/BaseSDK.d.ts.map +1 -0
  300. package/dist/types/types/CollectionPageConfig.d.ts +9 -2
  301. package/dist/types/types/CollectionPageConfig.d.ts.map +1 -1
  302. package/dist/types/types/actions/base.d.ts +15 -6
  303. package/dist/types/types/actions/base.d.ts.map +1 -1
  304. package/dist/types/types/actions/bulkActions.d.ts +1 -1
  305. package/dist/types/types/actions/bulkActions.d.ts.map +1 -1
  306. package/dist/types/types/actions/collectionPageActions.d.ts +38 -0
  307. package/dist/types/types/actions/collectionPageActions.d.ts.map +1 -0
  308. package/dist/types/types/actions/index.d.ts +1 -0
  309. package/dist/types/types/actions/index.d.ts.map +1 -1
  310. package/dist/types/types/index.d.ts +1 -0
  311. package/dist/types/types/index.d.ts.map +1 -1
  312. package/dist/types/types/types.d.ts +1 -4
  313. package/dist/types/types/types.d.ts.map +1 -1
  314. package/dist/types/utils/actions/createAction.d.ts +7 -0
  315. package/dist/types/utils/actions/createAction.d.ts.map +1 -0
  316. package/dist/types/utils/actions/deleteAction.d.ts.map +1 -1
  317. package/dist/types/utils/actions/index.d.ts +1 -0
  318. package/dist/types/utils/actions/index.d.ts.map +1 -1
  319. package/dist/types/utils/actions/types.d.ts +9 -13
  320. package/dist/types/utils/actions/types.d.ts.map +1 -1
  321. package/dist/types/utils/actions/updateAction.d.ts.map +1 -1
  322. package/dist/types/utils/generated-icon-imports.d.ts +4 -0
  323. package/dist/types/utils/generated-icon-imports.d.ts.map +1 -0
  324. package/dist/types/utils/media/getImageUrl.d.ts +1 -1
  325. package/dist/types/utils/media/getImageUrl.d.ts.map +1 -1
  326. package/package.json +9 -5
  327. package/dist/cjs/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js +0 -39
  328. package/dist/cjs/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js.map +0 -1
  329. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGridContent.js +0 -44
  330. package/dist/cjs/components/AutoPatternsGrid/AutoPatternsGridContent.js.map +0 -1
  331. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTableContent.js +0 -54
  332. package/dist/cjs/components/AutoPatternsTable/AutoPatternsTableContent.js.map +0 -1
  333. package/dist/cjs/hooks/useSharedDataForActions.js.map +0 -1
  334. package/dist/esm/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js +0 -35
  335. package/dist/esm/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.js.map +0 -1
  336. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGridContent.js +0 -32
  337. package/dist/esm/components/AutoPatternsGrid/AutoPatternsGridContent.js.map +0 -1
  338. package/dist/esm/components/AutoPatternsTable/AutoPatternsTableContent.js +0 -42
  339. package/dist/esm/components/AutoPatternsTable/AutoPatternsTableContent.js.map +0 -1
  340. package/dist/esm/hooks/useSharedDataForActions.js.map +0 -1
  341. package/dist/types/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.d.ts +0 -12
  342. package/dist/types/components/AutoPatternsEntityPage/Fields/utils/validateTextLength.d.ts.map +0 -1
  343. package/dist/types/components/AutoPatternsGrid/AutoPatternsGridContent.d.ts +0 -7
  344. package/dist/types/components/AutoPatternsGrid/AutoPatternsGridContent.d.ts.map +0 -1
  345. package/dist/types/components/AutoPatternsTable/AutoPatternsTableContent.d.ts +0 -7
  346. package/dist/types/components/AutoPatternsTable/AutoPatternsTableContent.d.ts.map +0 -1
  347. package/dist/types/hooks/useSharedDataForActions.d.ts +0 -8
  348. package/dist/types/hooks/useSharedDataForActions.d.ts.map +0 -1
package/README.md CHANGED
@@ -2,6 +2,56 @@
2
2
 
3
3
  React Library flow package generated with Yoshi.
4
4
 
5
+ ## Icon Loading System
6
+
7
+ This package uses a build-time icon generation system that works across different bundlers (Vite, Webpack, etc.).
8
+
9
+ ### How it works
10
+
11
+ 1. **Build-time generation**: Icons are discovered and import statements are pre-generated during build
12
+ 2. **Bundler agnostic**: Works with Vite, Webpack, and other modern bundlers
13
+ 3. **Lazy loading**: Icons are still loaded on-demand for optimal performance
14
+ 4. **Fallback support**: If an icon is not found, falls back to a default icon
15
+
16
+ ### Development
17
+
18
+ #### Building Icons
19
+
20
+ Icons are automatically built when running the main build command:
21
+
22
+ ```bash
23
+ yarn build
24
+ ```
25
+
26
+ To regenerate icons manually:
27
+
28
+ ```bash
29
+ yarn build:icons
30
+ ```
31
+
32
+ #### How Icons Are Generated
33
+
34
+ 1. The `scripts/generate-icon-imports.ts` script scans for available icons
35
+ 2. It generates `src/utils/generated-icon-imports.ts` with all icon imports
36
+ 3. Components use this generated file instead of dynamic imports
37
+
38
+ #### Using Icons in Components
39
+
40
+ Icons are loaded through the `DynamicIcon` component:
41
+
42
+ ```tsx
43
+ import { DynamicIcon } from '@wix/auto-patterns';
44
+
45
+ // Usage
46
+ <DynamicIcon icon="Edit" />
47
+ ```
48
+
49
+ The system automatically handles:
50
+ - Icon availability checking
51
+ - Fallback to default icons
52
+ - Lazy loading with Suspense
53
+ - Bundler compatibility
54
+
5
55
  ## Useful URLs
6
56
 
7
57
  - [Yoshi Library Flow Docs](https://bo.wix.com/pages/yoshi/docs/library-flow/overview)
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_RootAppProvider","_AutoPatternsRoutes","_jsxFileName","AutoPatternsApp","configuration","default","createElement","RootAppProvider","appConfig","__self","__source","fileName","lineNumber","columnNumber","AutoPatternsRoutes","config","exports"],"sources":["../../../../src/components/AutoPatternsApp/AutoPatternsApp.tsx"],"sourcesContent":["import React from 'react';\nimport { AppConfig } from '../../types';\nimport { RootAppProvider } from '../../providers/RootAppProvider';\nimport { AutoPatternsRoutes } from '../AutoPatternsRoute/AutoPatternsRoutes';\n\nexport interface AutoPatternsAppPageProps {\n configuration: AppConfig;\n}\n\nexport const AutoPatternsApp: React.FC<AutoPatternsAppPageProps> = ({\n configuration,\n}) => {\n return (\n <RootAppProvider appConfig={configuration}>\n <AutoPatternsRoutes config={configuration} />\n </RootAppProvider>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAA6E,IAAAG,YAAA;AAMtE,MAAMC,eAAmD,GAAGA,CAAC;EAClEC;AACF,CAAC,KAAK;EACJ,oBACEP,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACN,gBAAA,CAAAO,eAAe;IAACC,SAAS,EAAEJ,aAAc;IAAAK,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAT,YAAA;MAAAU,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACxChB,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACL,mBAAA,CAAAa,kBAAkB;IAACC,MAAM,EAAEX,aAAc;IAAAK,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAT,YAAA;MAAAU,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAC7B,CAAC;AAEtB,CAAC;AAACG,OAAA,CAAAb,eAAA,GAAAA,eAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_RootAppProvider","_AutoPatternsRoutes","_jsxFileName","AutoPatternsApp","configuration","default","createElement","RootAppProvider","appConfig","__self","__source","fileName","lineNumber","columnNumber","AutoPatternsRoutes","config","exports"],"sources":["../../../../src/components/AutoPatternsApp/AutoPatternsApp.tsx"],"sourcesContent":["import React from 'react';\nimport { AppConfig } from '../../types';\nimport { RootAppProvider } from '../../providers/RootAppProvider';\nimport { AutoPatternsRoutes } from '../AutoPatternsRoute/AutoPatternsRoutes';\n\nexport interface AutoPatternsAppProps {\n configuration: AppConfig;\n}\n\nexport const AutoPatternsApp: React.FC<AutoPatternsAppProps> = ({\n configuration,\n}) => {\n return (\n <RootAppProvider appConfig={configuration}>\n <AutoPatternsRoutes config={configuration} />\n </RootAppProvider>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AAEA,IAAAC,gBAAA,GAAAD,OAAA;AACA,IAAAE,mBAAA,GAAAF,OAAA;AAA6E,IAAAG,YAAA;AAMtE,MAAMC,eAA+C,GAAGA,CAAC;EAC9DC;AACF,CAAC,KAAK;EACJ,oBACEP,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACN,gBAAA,CAAAO,eAAe;IAACC,SAAS,EAAEJ,aAAc;IAAAK,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAT,YAAA;MAAAU,UAAA;MAAAC,YAAA;IAAA;EAAA,gBACxChB,MAAA,CAAAQ,OAAA,CAAAC,aAAA,CAACL,mBAAA,CAAAa,kBAAkB;IAACC,MAAM,EAAEX,aAAc;IAAAK,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAT,YAAA;MAAAU,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAC7B,CAAC;AAEtB,CAAC;AAACG,OAAA,CAAAb,eAAA,GAAAA,eAAA","ignoreList":[]}
@@ -3,12 +3,11 @@
3
3
  var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
4
  exports.__esModule = true;
5
5
  exports.AutoPatternsCollectionPage = void 0;
6
- var _extends2 = _interopRequireDefault(require("@babel/runtime/helpers/extends"));
7
6
  var _react = _interopRequireDefault(require("react"));
8
7
  var _page = require("@wix/patterns/page");
9
8
  var _AutoPatternsCollectionPageContent = require("../AutoPatternsCollectionPageContent");
10
9
  var _providers = require("../../providers");
11
- var _patterns = require("@wix/patterns");
10
+ var _useCollectionPageActions = require("../../hooks/useCollectionPageActions");
12
11
  var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.tsx";
13
12
  const AutoPatternsCollectionPage = ({
14
13
  configuration
@@ -17,55 +16,42 @@ const AutoPatternsCollectionPage = ({
17
16
  title,
18
17
  subtitle
19
18
  } = configuration;
19
+ const actions = (0, _useCollectionPageActions.useCollectionPageActions)({
20
+ collectionPageActions: configuration.actions
21
+ });
20
22
  const context = (0, _providers.usePatternsWizardOverridesContext)();
21
- const primaryActionProps = context == null || context.usePagePrimaryAction == null ? void 0 : context.usePagePrimaryAction();
22
- const secondaryActionProps = context == null || context.usePageSecondaryAction == null ? void 0 : context.usePageSecondaryAction();
23
23
  return /*#__PURE__*/_react.default.createElement(_page.CollectionPage, {
24
24
  height: "100vh",
25
25
  dataHook: "auto-patterns-page",
26
26
  __self: void 0,
27
27
  __source: {
28
28
  fileName: _jsxFileName,
29
- lineNumber: 21,
29
+ lineNumber: 24,
30
30
  columnNumber: 5
31
31
  }
32
32
  }, /*#__PURE__*/_react.default.createElement(_page.CollectionPage.Header, {
33
33
  title: title,
34
34
  subtitle: subtitle,
35
- primaryAction: primaryActionProps ? /*#__PURE__*/_react.default.createElement(_patterns.PrimaryActions, (0, _extends2.default)({}, primaryActionProps, {
36
- __self: void 0,
37
- __source: {
38
- fileName: _jsxFileName,
39
- lineNumber: 27,
40
- columnNumber: 13
41
- }
42
- })) : undefined,
43
- secondaryActions: secondaryActionProps ? /*#__PURE__*/_react.default.createElement(_patterns.SecondaryActions, (0, _extends2.default)({}, secondaryActionProps, {
44
- __self: void 0,
45
- __source: {
46
- fileName: _jsxFileName,
47
- lineNumber: 32,
48
- columnNumber: 13
49
- }
50
- })) : undefined,
35
+ primaryAction: actions.primaryActions,
36
+ secondaryActions: actions.secondaryActions,
51
37
  __self: void 0,
52
38
  __source: {
53
39
  fileName: _jsxFileName,
54
- lineNumber: 22,
40
+ lineNumber: 25,
55
41
  columnNumber: 7
56
42
  }
57
43
  }), /*#__PURE__*/_react.default.createElement(_page.CollectionPage.Content, {
58
44
  __self: void 0,
59
45
  __source: {
60
46
  fileName: _jsxFileName,
61
- lineNumber: 36,
47
+ lineNumber: 31,
62
48
  columnNumber: 7
63
49
  }
64
50
  }, context != null && context.HeaderAddon ? /*#__PURE__*/_react.default.createElement(context.HeaderAddon, {
65
51
  __self: void 0,
66
52
  __source: {
67
53
  fileName: _jsxFileName,
68
- lineNumber: 37,
54
+ lineNumber: 32,
69
55
  columnNumber: 33
70
56
  }
71
57
  }) : null, /*#__PURE__*/_react.default.createElement(_AutoPatternsCollectionPageContent.AutoPatternsCollectionPageContent, {
@@ -73,7 +59,7 @@ const AutoPatternsCollectionPage = ({
73
59
  __self: void 0,
74
60
  __source: {
75
61
  fileName: _jsxFileName,
76
- lineNumber: 38,
62
+ lineNumber: 33,
77
63
  columnNumber: 9
78
64
  }
79
65
  })));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_page","_AutoPatternsCollectionPageContent","_providers","_patterns","_jsxFileName","AutoPatternsCollectionPage","configuration","title","subtitle","context","usePatternsWizardOverridesContext","primaryActionProps","usePagePrimaryAction","secondaryActionProps","usePageSecondaryAction","default","createElement","CollectionPage","height","dataHook","__self","__source","fileName","lineNumber","columnNumber","Header","primaryAction","PrimaryActions","_extends2","undefined","secondaryActions","SecondaryActions","Content","HeaderAddon","AutoPatternsCollectionPageContent","exports"],"sources":["../../../../src/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.tsx"],"sourcesContent":["import React from 'react';\nimport { CollectionPage } from '@wix/patterns/page';\nimport { AutoPatternsCollectionPageContent } from '../AutoPatternsCollectionPageContent';\nimport { usePatternsWizardOverridesContext } from '../../providers';\nimport { PrimaryActions, SecondaryActions } from '@wix/patterns';\nimport { CollectionPageConfig } from '../../types/CollectionPageConfig';\n\nexport interface AutoPatternsCollectionPageProps {\n configuration: CollectionPageConfig;\n}\n\nexport const AutoPatternsCollectionPage: React.FC<\n AutoPatternsCollectionPageProps\n> = ({ configuration }) => {\n const { title, subtitle } = configuration;\n const context = usePatternsWizardOverridesContext();\n const primaryActionProps = context?.usePagePrimaryAction?.();\n const secondaryActionProps = context?.usePageSecondaryAction?.();\n\n return (\n <CollectionPage height=\"100vh\" dataHook=\"auto-patterns-page\">\n <CollectionPage.Header\n title={title}\n subtitle={subtitle}\n primaryAction={\n primaryActionProps ? (\n <PrimaryActions {...primaryActionProps} />\n ) : undefined\n }\n secondaryActions={\n secondaryActionProps ? (\n <SecondaryActions {...secondaryActionProps} />\n ) : undefined\n }\n />\n <CollectionPage.Content>\n {context?.HeaderAddon ? <context.HeaderAddon /> : null}\n <AutoPatternsCollectionPageContent configuration={configuration} />\n </CollectionPage.Content>\n </CollectionPage>\n );\n};\n"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,kCAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AACA,IAAAI,SAAA,GAAAJ,OAAA;AAAiE,IAAAK,YAAA;AAO1D,MAAMC,0BAEZ,GAAGA,CAAC;EAAEC;AAAc,CAAC,KAAK;EACzB,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGF,aAAa;EACzC,MAAMG,OAAO,GAAG,IAAAC,4CAAiC,EAAC,CAAC;EACnD,MAAMC,kBAAkB,GAAGF,OAAO,YAAPA,OAAO,CAAEG,oBAAoB,oBAA7BH,OAAO,CAAEG,oBAAoB,CAAG,CAAC;EAC5D,MAAMC,oBAAoB,GAAGJ,OAAO,YAAPA,OAAO,CAAEK,sBAAsB,oBAA/BL,OAAO,CAAEK,sBAAsB,CAAG,CAAC;EAEhE,oBACEjB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAAChB,KAAA,CAAAiB,cAAc;IAACC,MAAM,EAAC,OAAO;IAACC,QAAQ,EAAC,oBAAoB;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAlB,YAAA;MAAAmB,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAC1D3B,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAAChB,KAAA,CAAAiB,cAAc,CAACQ,MAAM;IACpBlB,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBkB,aAAa,EACXf,kBAAkB,gBAChBd,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACb,SAAA,CAAAwB,cAAc,MAAAC,SAAA,CAAAb,OAAA,MAAKJ,kBAAkB;MAAAS,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAlB,YAAA;QAAAmB,UAAA;QAAAC,YAAA;MAAA;IAAA,EAAG,CAAC,GACxCK,SACL;IACDC,gBAAgB,EACdjB,oBAAoB,gBAClBhB,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACb,SAAA,CAAA4B,gBAAgB,MAAAH,SAAA,CAAAb,OAAA,MAAKF,oBAAoB;MAAAO,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAlB,YAAA;QAAAmB,UAAA;QAAAC,YAAA;MAAA;IAAA,EAAG,CAAC,GAC5CK,SACL;IAAAT,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAlB,YAAA;MAAAmB,UAAA;MAAAC,YAAA;IAAA;EAAA,CACF,CAAC,eACF3B,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAAChB,KAAA,CAAAiB,cAAc,CAACe,OAAO;IAAAZ,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAlB,YAAA;MAAAmB,UAAA;MAAAC,YAAA;IAAA;EAAA,GACpBf,OAAO,YAAPA,OAAO,CAAEwB,WAAW,gBAAGpC,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACP,OAAO,CAACwB,WAAW;IAAAb,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAlB,YAAA;MAAAmB,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,GAAG,IAAI,eACtD3B,MAAA,CAAAkB,OAAA,CAAAC,aAAA,CAACf,kCAAA,CAAAiC,iCAAiC;IAAC5B,aAAa,EAAEA,aAAc;IAAAc,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAlB,YAAA;MAAAmB,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAC5C,CACV,CAAC;AAErB,CAAC;AAACW,OAAA,CAAA9B,0BAAA,GAAAA,0BAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_page","_AutoPatternsCollectionPageContent","_providers","_useCollectionPageActions","_jsxFileName","AutoPatternsCollectionPage","configuration","title","subtitle","actions","useCollectionPageActions","collectionPageActions","context","usePatternsWizardOverridesContext","default","createElement","CollectionPage","height","dataHook","__self","__source","fileName","lineNumber","columnNumber","Header","primaryAction","primaryActions","secondaryActions","Content","HeaderAddon","AutoPatternsCollectionPageContent","exports"],"sources":["../../../../src/components/AutoPatternsCollectionPage/AutoPatternsCollectionPage.tsx"],"sourcesContent":["import React from 'react';\nimport { CollectionPage } from '@wix/patterns/page';\nimport { AutoPatternsCollectionPageContent } from '../AutoPatternsCollectionPageContent';\nimport { usePatternsWizardOverridesContext } from '../../providers';\nimport { CollectionPageConfig } from '../../types/CollectionPageConfig';\nimport { useCollectionPageActions } from '../../hooks/useCollectionPageActions';\n\nexport interface AutoPatternsCollectionPageProps {\n configuration: CollectionPageConfig;\n}\n\nexport const AutoPatternsCollectionPage: React.FC<\n AutoPatternsCollectionPageProps\n> = ({ configuration }) => {\n const { title, subtitle } = configuration;\n\n const actions = useCollectionPageActions({\n collectionPageActions: configuration.actions,\n });\n\n const context = usePatternsWizardOverridesContext();\n\n return (\n <CollectionPage height=\"100vh\" dataHook=\"auto-patterns-page\">\n <CollectionPage.Header\n title={title}\n subtitle={subtitle}\n primaryAction={actions.primaryActions}\n secondaryActions={actions.secondaryActions}\n />\n <CollectionPage.Content>\n {context?.HeaderAddon ? <context.HeaderAddon /> : null}\n <AutoPatternsCollectionPageContent configuration={configuration} />\n </CollectionPage.Content>\n </CollectionPage>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AACA,IAAAE,kCAAA,GAAAF,OAAA;AACA,IAAAG,UAAA,GAAAH,OAAA;AAEA,IAAAI,yBAAA,GAAAJ,OAAA;AAAgF,IAAAK,YAAA;AAMzE,MAAMC,0BAEZ,GAAGA,CAAC;EAAEC;AAAc,CAAC,KAAK;EACzB,MAAM;IAAEC,KAAK;IAAEC;EAAS,CAAC,GAAGF,aAAa;EAEzC,MAAMG,OAAO,GAAG,IAAAC,kDAAwB,EAAC;IACvCC,qBAAqB,EAAEL,aAAa,CAACG;EACvC,CAAC,CAAC;EAEF,MAAMG,OAAO,GAAG,IAAAC,4CAAiC,EAAC,CAAC;EAEnD,oBACEhB,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACf,KAAA,CAAAgB,cAAc;IAACC,MAAM,EAAC,OAAO;IAACC,QAAQ,EAAC,oBAAoB;IAAAC,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAjB,YAAA;MAAAkB,UAAA;MAAAC,YAAA;IAAA;EAAA,gBAC1D1B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACf,KAAA,CAAAgB,cAAc,CAACQ,MAAM;IACpBjB,KAAK,EAAEA,KAAM;IACbC,QAAQ,EAAEA,QAAS;IACnBiB,aAAa,EAAEhB,OAAO,CAACiB,cAAe;IACtCC,gBAAgB,EAAElB,OAAO,CAACkB,gBAAiB;IAAAR,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAjB,YAAA;MAAAkB,UAAA;MAAAC,YAAA;IAAA;EAAA,CAC5C,CAAC,eACF1B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACf,KAAA,CAAAgB,cAAc,CAACY,OAAO;IAAAT,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAjB,YAAA;MAAAkB,UAAA;MAAAC,YAAA;IAAA;EAAA,GACpBX,OAAO,YAAPA,OAAO,CAAEiB,WAAW,gBAAGhC,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACH,OAAO,CAACiB,WAAW;IAAAV,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAjB,YAAA;MAAAkB,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAAC,GAAG,IAAI,eACtD1B,MAAA,CAAAiB,OAAA,CAAAC,aAAA,CAACd,kCAAA,CAAA6B,iCAAiC;IAACxB,aAAa,EAAEA,aAAc;IAAAa,MAAA;IAAAC,QAAA;MAAAC,QAAA,EAAAjB,YAAA;MAAAkB,UAAA;MAAAC,YAAA;IAAA;EAAA,CAAE,CAC5C,CACV,CAAC;AAErB,CAAC;AAACQ,OAAA,CAAA1B,0BAAA,GAAAA,0BAAA","ignoreList":[]}
@@ -6,6 +6,8 @@ exports.AutoPatternsCollectionPageContent = void 0;
6
6
  var _react = _interopRequireDefault(require("react"));
7
7
  var _AutoPatternsTable = require("../AutoPatternsTable");
8
8
  var _AutoPatternsGrid = require("../AutoPatternsGrid");
9
+ var _AutoPatternsTableGridSwitch = require("../AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch");
10
+ var _providers = require("../../providers");
9
11
  var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.tsx";
10
12
  const AutoPatternsCollectionPageContent = ({
11
13
  configuration
@@ -21,13 +23,12 @@ const AutoPatternsCollectionPageContent = ({
21
23
  case 'Table':
22
24
  if (component.table) {
23
25
  return /*#__PURE__*/_react.default.createElement(_AutoPatternsTable.AutoPatternsTable, {
24
- key: component.table.collection.collectionId,
25
26
  configuration: component.table,
26
27
  __self: void 0,
27
28
  __source: {
28
29
  fileName: _jsxFileName,
29
- lineNumber: 22,
30
- columnNumber: 17
30
+ lineNumber: 32,
31
+ columnNumber: 26
31
32
  }
32
33
  });
33
34
  }
@@ -35,13 +36,25 @@ const AutoPatternsCollectionPageContent = ({
35
36
  case 'Grid':
36
37
  if (component.grid) {
37
38
  return /*#__PURE__*/_react.default.createElement(_AutoPatternsGrid.AutoPatternsGrid, {
38
- key: component.grid.collection.collectionId,
39
39
  configuration: component.grid,
40
40
  __self: void 0,
41
41
  __source: {
42
42
  fileName: _jsxFileName,
43
- lineNumber: 32,
44
- columnNumber: 17
43
+ lineNumber: 37,
44
+ columnNumber: 26
45
+ }
46
+ });
47
+ }
48
+ return null;
49
+ case 'TableGridSwitch':
50
+ if (component.tableGridSwitch) {
51
+ return /*#__PURE__*/_react.default.createElement(_AutoPatternsTableGridSwitch.AutoPatternsTableGridSwitch, {
52
+ configuration: component.tableGridSwitch,
53
+ __self: void 0,
54
+ __source: {
55
+ fileName: _jsxFileName,
56
+ lineNumber: 43,
57
+ columnNumber: 21
45
58
  }
46
59
  });
47
60
  }
@@ -49,6 +62,22 @@ const AutoPatternsCollectionPageContent = ({
49
62
  default:
50
63
  return null;
51
64
  }
65
+ }).map(element => {
66
+ if (element == null) {
67
+ return null;
68
+ }
69
+ const configuration = element.props.configuration;
70
+ return /*#__PURE__*/_react.default.createElement(_providers.SchemaProvider, {
71
+ key: configuration.collection.collectionId,
72
+ collectionId: configuration.collection.collectionId,
73
+ entityTypeSource: configuration.collection.entityTypeSource,
74
+ __self: void 0,
75
+ __source: {
76
+ fileName: _jsxFileName,
77
+ lineNumber: 62,
78
+ columnNumber: 13
79
+ }
80
+ }, element);
52
81
  }));
53
82
  };
54
83
  exports.AutoPatternsCollectionPageContent = AutoPatternsCollectionPageContent;
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireDefault","require","_AutoPatternsTable","_AutoPatternsGrid","_jsxFileName","AutoPatternsCollectionPageContent","configuration","components","default","createElement","Fragment","map","component","type","table","AutoPatternsTable","key","collection","collectionId","__self","__source","fileName","lineNumber","columnNumber","grid","AutoPatternsGrid","exports"],"sources":["../../../../src/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.tsx"],"sourcesContent":["import React from 'react';\nimport { AutoPatternsTable } from '../AutoPatternsTable';\nimport { CollectionPageConfig } from '../../types';\nimport { AutoPatternsGrid } from '../AutoPatternsGrid';\n\nexport interface AutoPatternsCollectionPageContentProps {\n configuration: CollectionPageConfig;\n}\n\nexport const AutoPatternsCollectionPageContent = ({\n configuration,\n}: AutoPatternsCollectionPageContentProps) => {\n const { components } = configuration;\n return (\n <>\n {components.map((component) => {\n const { type } = component;\n switch (type) {\n case 'Table':\n if (component.table) {\n return (\n <AutoPatternsTable\n key={component.table.collection.collectionId}\n configuration={component.table}\n />\n );\n }\n return null;\n case 'Grid':\n if (component.grid) {\n return (\n <AutoPatternsGrid\n key={component.grid.collection.collectionId}\n configuration={component.grid}\n />\n );\n }\n return null;\n default:\n return null;\n }\n })}\n </>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAEA,IAAAE,iBAAA,GAAAF,OAAA;AAAuD,IAAAG,YAAA;AAMhD,MAAMC,iCAAiC,GAAGA,CAAC;EAChDC;AACsC,CAAC,KAAK;EAC5C,MAAM;IAAEC;EAAW,CAAC,GAAGD,aAAa;EACpC,oBACEP,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAAAV,MAAA,CAAAS,OAAA,CAAAE,QAAA,QACGH,UAAU,CAACI,GAAG,CAAEC,SAAS,IAAK;IAC7B,MAAM;MAAEC;IAAK,CAAC,GAAGD,SAAS;IAC1B,QAAQC,IAAI;MACV,KAAK,OAAO;QACV,IAAID,SAAS,CAACE,KAAK,EAAE;UACnB,oBACEf,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACP,kBAAA,CAAAa,iBAAiB;YAChBC,GAAG,EAAEJ,SAAS,CAACE,KAAK,CAACG,UAAU,CAACC,YAAa;YAC7CZ,aAAa,EAAEM,SAAS,CAACE,KAAM;YAAAK,MAAA;YAAAC,QAAA;cAAAC,QAAA,EAAAjB,YAAA;cAAAkB,UAAA;cAAAC,YAAA;YAAA;UAAA,CAChC,CAAC;QAEN;QACA,OAAO,IAAI;MACb,KAAK,MAAM;QACT,IAAIX,SAAS,CAACY,IAAI,EAAE;UAClB,oBACEzB,MAAA,CAAAS,OAAA,CAAAC,aAAA,CAACN,iBAAA,CAAAsB,gBAAgB;YACfT,GAAG,EAAEJ,SAAS,CAACY,IAAI,CAACP,UAAU,CAACC,YAAa;YAC5CZ,aAAa,EAAEM,SAAS,CAACY,IAAK;YAAAL,MAAA;YAAAC,QAAA;cAAAC,QAAA,EAAAjB,YAAA;cAAAkB,UAAA;cAAAC,YAAA;YAAA;UAAA,CAC/B,CAAC;QAEN;QACA,OAAO,IAAI;MACb;QACE,OAAO,IAAI;IACf;EACF,CAAC,CACD,CAAC;AAEP,CAAC;AAACG,OAAA,CAAArB,iCAAA,GAAAA,iCAAA","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireDefault","require","_AutoPatternsTable","_AutoPatternsGrid","_AutoPatternsTableGridSwitch","_providers","_jsxFileName","AutoPatternsCollectionPageContent","configuration","components","default","createElement","Fragment","map","component","type","table","AutoPatternsTable","__self","__source","fileName","lineNumber","columnNumber","grid","AutoPatternsGrid","tableGridSwitch","AutoPatternsTableGridSwitch","element","props","SchemaProvider","key","collection","collectionId","entityTypeSource","exports"],"sources":["../../../../src/components/AutoPatternsCollectionPageContent/AutoPatternsCollectionPageContent.tsx"],"sourcesContent":["import React, { ReactElement } from 'react';\nimport { AutoPatternsTable } from '../AutoPatternsTable';\nimport {\n BaseCollectionComponentConfig,\n CollectionPageConfig,\n} from '../../types';\nimport { AutoPatternsGrid } from '../AutoPatternsGrid';\nimport { AutoPatternsTableGridSwitch } from '../AutoPatternsTableGridSwitch/AutoPatternsTableGridSwitch';\nimport { SchemaProvider } from '../../providers';\n\nexport interface AutoPatternsCollectionPageContentProps {\n configuration: CollectionPageConfig;\n}\n\nexport const AutoPatternsCollectionPageContent = ({\n configuration,\n}: AutoPatternsCollectionPageContentProps) => {\n const { components } = configuration;\n return (\n <>\n {components\n .map(\n (\n component,\n ): ReactElement<{\n configuration: BaseCollectionComponentConfig;\n }> | null => {\n const { type } = component;\n switch (type) {\n case 'Table':\n if (component.table) {\n return <AutoPatternsTable configuration={component.table} />;\n }\n return null;\n case 'Grid':\n if (component.grid) {\n return <AutoPatternsGrid configuration={component.grid} />;\n }\n return null;\n case 'TableGridSwitch':\n if (component.tableGridSwitch) {\n return (\n <AutoPatternsTableGridSwitch\n configuration={component.tableGridSwitch}\n />\n );\n }\n return null;\n default:\n return null;\n }\n },\n )\n .map((element) => {\n if (element == null) {\n return null;\n }\n\n const configuration = element.props.configuration;\n\n return (\n <SchemaProvider\n key={configuration.collection.collectionId}\n collectionId={configuration.collection.collectionId}\n entityTypeSource={configuration.collection.entityTypeSource}\n >\n {element}\n </SchemaProvider>\n );\n })}\n </>\n );\n};\n"],"mappings":";;;;;AAAA,IAAAA,MAAA,GAAAC,sBAAA,CAAAC,OAAA;AACA,IAAAC,kBAAA,GAAAD,OAAA;AAKA,IAAAE,iBAAA,GAAAF,OAAA;AACA,IAAAG,4BAAA,GAAAH,OAAA;AACA,IAAAI,UAAA,GAAAJ,OAAA;AAAiD,IAAAK,YAAA;AAM1C,MAAMC,iCAAiC,GAAGA,CAAC;EAChDC;AACsC,CAAC,KAAK;EAC5C,MAAM;IAAEC;EAAW,CAAC,GAAGD,aAAa;EACpC,oBACET,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAAAZ,MAAA,CAAAW,OAAA,CAAAE,QAAA,QACGH,UAAU,CACRI,GAAG,CAEAC,SAAS,IAGE;IACX,MAAM;MAAEC;IAAK,CAAC,GAAGD,SAAS;IAC1B,QAAQC,IAAI;MACV,KAAK,OAAO;QACV,IAAID,SAAS,CAACE,KAAK,EAAE;UACnB,oBAAOjB,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACT,kBAAA,CAAAe,iBAAiB;YAACT,aAAa,EAAEM,SAAS,CAACE,KAAM;YAAAE,MAAA;YAAAC,QAAA;cAAAC,QAAA,EAAAd,YAAA;cAAAe,UAAA;cAAAC,YAAA;YAAA;UAAA,CAAE,CAAC;QAC9D;QACA,OAAO,IAAI;MACb,KAAK,MAAM;QACT,IAAIR,SAAS,CAACS,IAAI,EAAE;UAClB,oBAAOxB,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACR,iBAAA,CAAAqB,gBAAgB;YAAChB,aAAa,EAAEM,SAAS,CAACS,IAAK;YAAAL,MAAA;YAAAC,QAAA;cAAAC,QAAA,EAAAd,YAAA;cAAAe,UAAA;cAAAC,YAAA;YAAA;UAAA,CAAE,CAAC;QAC5D;QACA,OAAO,IAAI;MACb,KAAK,iBAAiB;QACpB,IAAIR,SAAS,CAACW,eAAe,EAAE;UAC7B,oBACE1B,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACP,4BAAA,CAAAsB,2BAA2B;YAC1BlB,aAAa,EAAEM,SAAS,CAACW,eAAgB;YAAAP,MAAA;YAAAC,QAAA;cAAAC,QAAA,EAAAd,YAAA;cAAAe,UAAA;cAAAC,YAAA;YAAA;UAAA,CAC1C,CAAC;QAEN;QACA,OAAO,IAAI;MACb;QACE,OAAO,IAAI;IACf;EACF,CACF,CAAC,CACAT,GAAG,CAAEc,OAAO,IAAK;IAChB,IAAIA,OAAO,IAAI,IAAI,EAAE;MACnB,OAAO,IAAI;IACb;IAEA,MAAMnB,aAAa,GAAGmB,OAAO,CAACC,KAAK,CAACpB,aAAa;IAEjD,oBACET,MAAA,CAAAW,OAAA,CAAAC,aAAA,CAACN,UAAA,CAAAwB,cAAc;MACbC,GAAG,EAAEtB,aAAa,CAACuB,UAAU,CAACC,YAAa;MAC3CA,YAAY,EAAExB,aAAa,CAACuB,UAAU,CAACC,YAAa;MACpDC,gBAAgB,EAAEzB,aAAa,CAACuB,UAAU,CAACE,gBAAiB;MAAAf,MAAA;MAAAC,QAAA;QAAAC,QAAA,EAAAd,YAAA;QAAAe,UAAA;QAAAC,YAAA;MAAA;IAAA,GAE3DK,OACa,CAAC;EAErB,CAAC,CACH,CAAC;AAEP,CAAC;AAACO,OAAA,CAAA3B,iCAAA,GAAAA,iCAAA","ignoreList":[]}
@@ -189,16 +189,17 @@ const AutoPatternsEntityPage = ({
189
189
  }) => {
190
190
  var _pageLayout$main, _pageLayout$sidebar;
191
191
  const {
192
- title,
193
- subtitle,
194
192
  layout: pageLayout,
195
193
  parentPageId,
196
194
  route
197
195
  } = configuration;
198
- const form = (0, _form.useForm)();
196
+ const form = (0, _form.useForm)({
197
+ mode: 'onChange'
198
+ });
199
199
  const params = (0, _reactRouterDom.useParams)();
200
200
  const entityId = params[route.params.id];
201
201
  const schema = (0, _SchemaContext.useSchema)();
202
+ const isCreateMode = !entityId;
202
203
  const inputRefs = (0, _react.useRef)({});
203
204
  const setInputRef = (id, input) => {
204
205
  inputRefs.current[id] = input;
@@ -247,38 +248,44 @@ const AutoPatternsEntityPage = ({
247
248
  }
248
249
  });
249
250
  const entity = (0, _patterns.useEntity)(state);
251
+ const {
252
+ title,
253
+ subtitle
254
+ } = (0, _hooks.useEntityPageHeaderTexts)({
255
+ config: configuration,
256
+ isCreateMode,
257
+ entityDisplayName: entity == null ? void 0 : entity[schema.displayField]
258
+ });
250
259
  return /*#__PURE__*/_react.default.createElement(_patterns.EntityPage, {
251
260
  state: state,
252
261
  dataHook: "auto-patterns-entity-page",
253
262
  __self: void 0,
254
263
  __source: {
255
264
  fileName: _jsxFileName,
256
- lineNumber: 212,
265
+ lineNumber: 215,
257
266
  columnNumber: 5
258
267
  }
259
268
  }, /*#__PURE__*/_react.default.createElement(_patterns.EntityPage.Header, {
260
- title: title ?? {
261
- text: (entity == null ? void 0 : entity[schema.displayField]) ?? 'Edit Entity'
262
- },
269
+ title: title,
263
270
  subtitle: subtitle,
264
271
  __self: void 0,
265
272
  __source: {
266
273
  fileName: _jsxFileName,
267
- lineNumber: 213,
274
+ lineNumber: 216,
268
275
  columnNumber: 7
269
276
  }
270
277
  }), /*#__PURE__*/_react.default.createElement(_patterns.EntityPage.Content, {
271
278
  __self: void 0,
272
279
  __source: {
273
280
  fileName: _jsxFileName,
274
- lineNumber: 219,
281
+ lineNumber: 217,
275
282
  columnNumber: 7
276
283
  }
277
284
  }, /*#__PURE__*/_react.default.createElement(_patterns.EntityPage.MainContent, {
278
285
  __self: void 0,
279
286
  __source: {
280
287
  fileName: _jsxFileName,
281
- lineNumber: 220,
288
+ lineNumber: 218,
282
289
  columnNumber: 9
283
290
  }
284
291
  }, pageLayout == null || (_pageLayout$main = pageLayout.main) == null ? void 0 : _pageLayout$main.map((layout, layoutIndex) => /*#__PURE__*/_react.default.createElement(RenderLayoutCard, {
@@ -290,14 +297,14 @@ const AutoPatternsEntityPage = ({
290
297
  __self: void 0,
291
298
  __source: {
292
299
  fileName: _jsxFileName,
293
- lineNumber: 222,
300
+ lineNumber: 220,
294
301
  columnNumber: 13
295
302
  }
296
303
  }))), pageLayout != null && pageLayout.sidebar ? /*#__PURE__*/_react.default.createElement(_patterns.EntityPage.AdditionalContent, {
297
304
  __self: void 0,
298
305
  __source: {
299
306
  fileName: _jsxFileName,
300
- lineNumber: 232,
307
+ lineNumber: 230,
301
308
  columnNumber: 11
302
309
  }
303
310
  }, (_pageLayout$sidebar = pageLayout.sidebar) == null ? void 0 : _pageLayout$sidebar.map((layout, layoutIndex) => /*#__PURE__*/_react.default.createElement(RenderLayoutCard, {
@@ -309,7 +316,7 @@ const AutoPatternsEntityPage = ({
309
316
  __self: void 0,
310
317
  __source: {
311
318
  fileName: _jsxFileName,
312
- lineNumber: 234,
319
+ lineNumber: 232,
313
320
  columnNumber: 15
314
321
  }
315
322
  }))) : null));
@@ -1 +1 @@
1
- {"version":3,"names":["_react","_interopRequireWildcard","require","_patterns","_form","_designSystem","_reactRouterDom","_SchemaContext","_FormFieldInput","_hooks","_providers","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","RenderLayoutContent","content","level","sectionId","cardIndex","contentIndex","setInputRef","_content$container$ch","_overrides$components","schema","useSchema","overrides","usePatternsWizardOverridesContext","pageState","useEntityPageContext","type","field","fieldId","fields","createElement","Cell","span","__self","__source","fileName","lineNumber","columnNumber","FormFieldInput","key","inputRef","ref","container","children","length","Layout","map","child","index","component","componentId","Component","components","form","entity","RenderLayoutCard","layout","_layout$card$subtitle","EntityPage","Card","minHeight","Header","title","card","text","subtitle","Divider","Content","AutoPatternsEntityPage","configuration","_pageLayout$main","_pageLayout$sidebar","pageLayout","parentPageId","route","useForm","params","useParams","entityId","id","inputRefs","useRef","input","current","validate","invalidFieldId","keys","find","_inputRefs$current$fi","invalid","_inputRefs$current$in","focus","Error","getParentPagePath","useNavigation","parentPath","useMemo","state","useEntityPage","onSave","formValues","getValues","baseEntity","updatedEntity","newEntity","actions","update","create","fetch","undefined","useEntity","dataHook","displayField","MainContent","main","layoutIndex","sidebar","AdditionalContent","exports"],"sources":["../../../../src/components/AutoPatternsEntityPage/AutoPatternsEntityPage.tsx"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\nimport { CardLayout, EntityPageConfig, LayoutContent } from '../../types';\nimport {\n EntityPage,\n EntityPageState,\n useEntity,\n useEntityPage,\n useEntityPageContext,\n} from '@wix/patterns';\nimport { useForm } from '@wix/patterns/form';\nimport { Card, Cell, Layout } from '@wix/design-system';\nimport { useParams } from 'react-router-dom';\nimport { useSchema } from '../../providers/SchemaContext';\nimport { BaseInputRef } from './Fields/types';\nimport { FormFieldInput } from './Fields/FormFieldInput';\nimport { useNavigation } from '../../hooks';\nimport { usePatternsWizardOverridesContext } from '../../providers';\n\nconst RenderLayoutContent: React.FC<{\n content: LayoutContent;\n level: number;\n sectionId: string;\n cardIndex: number;\n contentIndex: number;\n setInputRef: (id: string, input: BaseInputRef) => void;\n}> = ({ content, level, sectionId, cardIndex, contentIndex, setInputRef }) => {\n const schema = useSchema();\n const overrides = usePatternsWizardOverridesContext();\n const pageState = useEntityPageContext();\n\n switch (content.type) {\n case 'field':\n if (!content.field.fieldId) {\n return null;\n }\n\n const field = schema.fields[content.field.fieldId];\n\n if (!field) {\n return null;\n }\n\n return (\n <Cell span={content.field.span}>\n <FormFieldInput\n key={content.field.fieldId}\n field={field}\n inputRef={(ref) => setInputRef(content.field.fieldId, ref)}\n />\n </Cell>\n );\n\n case 'container':\n if (!content.container.children?.length) {\n return null;\n }\n\n return (\n <Cell span={content.container.span}>\n <Layout>\n {content.container.children.map((child, index) => (\n <RenderLayoutContent\n key={`${sectionId}-card-${cardIndex}-content-${contentIndex}-level-${level}-child-${index}`}\n content={child}\n level={level + 1}\n sectionId={sectionId}\n cardIndex={cardIndex}\n contentIndex={index}\n setInputRef={setInputRef}\n />\n ))}\n </Layout>\n </Cell>\n );\n\n case 'component':\n if (!content.component.componentId) {\n return null;\n }\n\n const Component = overrides?.components?.[content.component.componentId];\n\n if (!Component) {\n return null;\n }\n\n return (\n <Cell span={content.component.span}>\n <Component\n form={pageState.form as any}\n entity={pageState.entity as any as Record<string, any>}\n />\n </Cell>\n );\n\n default:\n return null;\n }\n};\n\nconst RenderLayoutCard: React.FC<{\n layout: CardLayout;\n sectionId: string;\n cardIndex: number;\n setInputRef: (id: string, input: BaseInputRef) => void;\n}> = ({ layout, sectionId, cardIndex, setInputRef }) => {\n switch (layout.type) {\n case 'card':\n return (\n <EntityPage.Card minHeight=\"50px\">\n <Card.Header\n title={layout.card.title.text}\n subtitle={layout.card.subtitle?.text}\n />\n <Card.Divider />\n <Card.Content>\n <Layout>\n {layout.card.children.map((child, index: number) => (\n <RenderLayoutContent\n key={`${sectionId}-card-${cardIndex}-content-${index}`}\n content={child}\n level={0}\n sectionId={sectionId}\n cardIndex={cardIndex}\n contentIndex={index}\n setInputRef={setInputRef}\n />\n ))}\n </Layout>\n </Card.Content>\n </EntityPage.Card>\n );\n default:\n return null;\n }\n};\n\nexport interface AutoPatternsEntityPageProps {\n configuration: EntityPageConfig;\n}\n\nexport const AutoPatternsEntityPage: React.FC<AutoPatternsEntityPageProps> = ({\n configuration,\n}) => {\n const {\n title,\n subtitle,\n layout: pageLayout,\n parentPageId,\n route,\n } = configuration;\n\n const form = useForm<any>();\n const params = useParams();\n const entityId = params[route.params.id];\n const schema = useSchema();\n\n const inputRefs = useRef<{ [fieldId: string]: BaseInputRef }>({});\n\n const setInputRef = (id: string, input: BaseInputRef) => {\n inputRefs.current[id] = input;\n };\n\n const validate = () => {\n const invalidFieldId = Object.keys(inputRefs.current).find((fieldId) => {\n return inputRefs.current[fieldId]?.invalid;\n });\n\n if (invalidFieldId) {\n inputRefs.current[invalidFieldId]?.focus?.();\n throw new Error('Invalid form');\n }\n };\n const { getParentPagePath } = useNavigation();\n\n const parentPath = useMemo(\n () => getParentPagePath(parentPageId),\n [parentPageId, getParentPagePath],\n );\n\n const state: EntityPageState<any> = useEntityPage<any, any>({\n parentPath,\n form,\n onSave: async () => {\n validate();\n\n const formValues = form.getValues();\n const baseEntity = state.entity || {};\n const updatedEntity = {\n ...baseEntity,\n ...formValues,\n };\n\n const newEntity = entityId\n ? await schema.actions.update(updatedEntity)\n : await schema.actions.create(updatedEntity);\n\n return { updatedEntity: newEntity };\n },\n fetch: async () => {\n if (!entityId) {\n return { entity: undefined };\n }\n const entity = await schema.actions.get(entityId);\n return { entity };\n },\n });\n\n const entity = useEntity(state);\n\n return (\n <EntityPage state={state} dataHook=\"auto-patterns-entity-page\">\n <EntityPage.Header\n title={\n title ?? { text: entity?.[schema.displayField] ?? 'Edit Entity' }\n }\n subtitle={subtitle}\n />\n <EntityPage.Content>\n <EntityPage.MainContent>\n {pageLayout?.main?.map((layout, layoutIndex) => (\n <RenderLayoutCard\n key={`main-section-card-${layoutIndex}`}\n layout={layout}\n sectionId=\"main\"\n cardIndex={layoutIndex}\n setInputRef={setInputRef}\n />\n ))}\n </EntityPage.MainContent>\n {pageLayout?.sidebar ? (\n <EntityPage.AdditionalContent>\n {pageLayout.sidebar?.map((layout, layoutIndex) => (\n <RenderLayoutCard\n key={`sidebar-section-card-${layoutIndex}`}\n layout={layout}\n sectionId=\"sidebar\"\n cardIndex={layoutIndex}\n setInputRef={setInputRef}\n />\n ))}\n </EntityPage.AdditionalContent>\n ) : null}\n </EntityPage.Content>\n </EntityPage>\n );\n};\n\n/*\n Key structure explanation:\n\n Main cards: main-section-card-{layoutIndex}\n Sidebar cards: sidebar-section-card-{layoutIndex}\n\n Layout content:\n {sectionId}-card-{cardIndex}-content-{contentIndex}\n\n Nested children:\n {sectionId}-card-{cardIndex}-content-{parentContentIndex}-level-{level}-child-{childIndex}\n\n This ensures uniqueness across all levels and sections.\n*/\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_patterns","_form","_designSystem","_reactRouterDom","_SchemaContext","_FormFieldInput","_hooks","_providers","_jsxFileName","_getRequireWildcardCache","e","WeakMap","r","t","__esModule","default","has","get","n","__proto__","a","Object","defineProperty","getOwnPropertyDescriptor","u","hasOwnProperty","call","i","set","RenderLayoutContent","content","level","sectionId","cardIndex","contentIndex","setInputRef","_content$container$ch","_overrides$components","schema","useSchema","overrides","usePatternsWizardOverridesContext","pageState","useEntityPageContext","type","field","fieldId","fields","createElement","Cell","span","__self","__source","fileName","lineNumber","columnNumber","FormFieldInput","key","inputRef","ref","container","children","length","Layout","map","child","index","component","componentId","Component","components","form","entity","RenderLayoutCard","layout","_layout$card$subtitle","EntityPage","Card","minHeight","Header","title","card","text","subtitle","Divider","Content","AutoPatternsEntityPage","configuration","_pageLayout$main","_pageLayout$sidebar","pageLayout","parentPageId","route","useForm","mode","params","useParams","entityId","id","isCreateMode","inputRefs","useRef","input","current","validate","invalidFieldId","keys","find","_inputRefs$current$fi","invalid","_inputRefs$current$in","focus","Error","getParentPagePath","useNavigation","parentPath","useMemo","state","useEntityPage","onSave","formValues","getValues","baseEntity","updatedEntity","newEntity","actions","update","create","fetch","undefined","useEntity","useEntityPageHeaderTexts","config","entityDisplayName","displayField","dataHook","MainContent","main","layoutIndex","sidebar","AdditionalContent","exports"],"sources":["../../../../src/components/AutoPatternsEntityPage/AutoPatternsEntityPage.tsx"],"sourcesContent":["import React, { useMemo, useRef } from 'react';\nimport { CardLayout, EntityPageConfig, LayoutContent } from '../../types';\nimport {\n EntityPage,\n EntityPageState,\n useEntity,\n useEntityPage,\n useEntityPageContext,\n} from '@wix/patterns';\nimport { useForm } from '@wix/patterns/form';\nimport { Card, Cell, Layout } from '@wix/design-system';\nimport { useParams } from 'react-router-dom';\nimport { useSchema } from '../../providers/SchemaContext';\nimport { BaseInputRef } from './Fields/types';\nimport { FormFieldInput } from './Fields/FormFieldInput';\nimport { useEntityPageHeaderTexts, useNavigation } from '../../hooks';\nimport { usePatternsWizardOverridesContext } from '../../providers';\n\nconst RenderLayoutContent: React.FC<{\n content: LayoutContent;\n level: number;\n sectionId: string;\n cardIndex: number;\n contentIndex: number;\n setInputRef: (id: string, input: BaseInputRef) => void;\n}> = ({ content, level, sectionId, cardIndex, contentIndex, setInputRef }) => {\n const schema = useSchema();\n const overrides = usePatternsWizardOverridesContext();\n const pageState = useEntityPageContext();\n\n switch (content.type) {\n case 'field':\n if (!content.field.fieldId) {\n return null;\n }\n\n const field = schema.fields[content.field.fieldId];\n\n if (!field) {\n return null;\n }\n\n return (\n <Cell span={content.field.span}>\n <FormFieldInput\n key={content.field.fieldId}\n field={field}\n inputRef={(ref) => setInputRef(content.field.fieldId, ref)}\n />\n </Cell>\n );\n\n case 'container':\n if (!content.container.children?.length) {\n return null;\n }\n\n return (\n <Cell span={content.container.span}>\n <Layout>\n {content.container.children.map((child, index) => (\n <RenderLayoutContent\n key={`${sectionId}-card-${cardIndex}-content-${contentIndex}-level-${level}-child-${index}`}\n content={child}\n level={level + 1}\n sectionId={sectionId}\n cardIndex={cardIndex}\n contentIndex={index}\n setInputRef={setInputRef}\n />\n ))}\n </Layout>\n </Cell>\n );\n\n case 'component':\n if (!content.component.componentId) {\n return null;\n }\n\n const Component = overrides?.components?.[content.component.componentId];\n\n if (!Component) {\n return null;\n }\n\n return (\n <Cell span={content.component.span}>\n <Component\n form={pageState.form as any}\n entity={pageState.entity as any as Record<string, any>}\n />\n </Cell>\n );\n\n default:\n return null;\n }\n};\n\nconst RenderLayoutCard: React.FC<{\n layout: CardLayout;\n sectionId: string;\n cardIndex: number;\n setInputRef: (id: string, input: BaseInputRef) => void;\n}> = ({ layout, sectionId, cardIndex, setInputRef }) => {\n switch (layout.type) {\n case 'card':\n return (\n <EntityPage.Card minHeight=\"50px\">\n <Card.Header\n title={layout.card.title.text}\n subtitle={layout.card.subtitle?.text}\n />\n <Card.Divider />\n <Card.Content>\n <Layout>\n {layout.card.children.map((child, index: number) => (\n <RenderLayoutContent\n key={`${sectionId}-card-${cardIndex}-content-${index}`}\n content={child}\n level={0}\n sectionId={sectionId}\n cardIndex={cardIndex}\n contentIndex={index}\n setInputRef={setInputRef}\n />\n ))}\n </Layout>\n </Card.Content>\n </EntityPage.Card>\n );\n default:\n return null;\n }\n};\n\nexport interface AutoPatternsEntityPageProps {\n configuration: EntityPageConfig;\n}\n\nexport const AutoPatternsEntityPage: React.FC<AutoPatternsEntityPageProps> = ({\n configuration,\n}) => {\n const { layout: pageLayout, parentPageId, route } = configuration;\n\n const form = useForm<any>({\n mode: 'onChange',\n });\n const params = useParams();\n const entityId = params[route.params.id];\n const schema = useSchema();\n const isCreateMode = !entityId;\n\n const inputRefs = useRef<{ [fieldId: string]: BaseInputRef }>({});\n\n const setInputRef = (id: string, input: BaseInputRef) => {\n inputRefs.current[id] = input;\n };\n\n const validate = () => {\n const invalidFieldId = Object.keys(inputRefs.current).find((fieldId) => {\n return inputRefs.current[fieldId]?.invalid;\n });\n\n if (invalidFieldId) {\n inputRefs.current[invalidFieldId]?.focus?.();\n throw new Error('Invalid form');\n }\n };\n const { getParentPagePath } = useNavigation();\n\n const parentPath = useMemo(\n () => getParentPagePath(parentPageId),\n [parentPageId, getParentPagePath],\n );\n\n const state: EntityPageState<any> = useEntityPage<any, any>({\n parentPath,\n form,\n onSave: async () => {\n validate();\n\n const formValues = form.getValues();\n const baseEntity = state.entity || {};\n const updatedEntity = {\n ...baseEntity,\n ...formValues,\n };\n\n const newEntity = entityId\n ? await schema.actions.update(updatedEntity)\n : await schema.actions.create(updatedEntity);\n\n return { updatedEntity: newEntity };\n },\n fetch: async () => {\n if (!entityId) {\n return { entity: undefined };\n }\n const entity = await schema.actions.get(entityId);\n return { entity };\n },\n });\n\n const entity = useEntity(state);\n\n const { title, subtitle } = useEntityPageHeaderTexts({\n config: configuration,\n isCreateMode,\n entityDisplayName: entity?.[schema.displayField],\n });\n\n return (\n <EntityPage state={state} dataHook=\"auto-patterns-entity-page\">\n <EntityPage.Header title={title} subtitle={subtitle} />\n <EntityPage.Content>\n <EntityPage.MainContent>\n {pageLayout?.main?.map((layout, layoutIndex) => (\n <RenderLayoutCard\n key={`main-section-card-${layoutIndex}`}\n layout={layout}\n sectionId=\"main\"\n cardIndex={layoutIndex}\n setInputRef={setInputRef}\n />\n ))}\n </EntityPage.MainContent>\n {pageLayout?.sidebar ? (\n <EntityPage.AdditionalContent>\n {pageLayout.sidebar?.map((layout, layoutIndex) => (\n <RenderLayoutCard\n key={`sidebar-section-card-${layoutIndex}`}\n layout={layout}\n sectionId=\"sidebar\"\n cardIndex={layoutIndex}\n setInputRef={setInputRef}\n />\n ))}\n </EntityPage.AdditionalContent>\n ) : null}\n </EntityPage.Content>\n </EntityPage>\n );\n};\n\n/*\n Key structure explanation:\n\n Main cards: main-section-card-{layoutIndex}\n Sidebar cards: sidebar-section-card-{layoutIndex}\n\n Layout content:\n {sectionId}-card-{cardIndex}-content-{contentIndex}\n\n Nested children:\n {sectionId}-card-{cardIndex}-content-{parentContentIndex}-level-{level}-child-{childIndex}\n\n This ensures uniqueness across all levels and sections.\n*/\n"],"mappings":"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","ignoreList":[]}
@@ -6,15 +6,24 @@ var _react = _interopRequireWildcard(require("react"));
6
6
  var _designSystem = require("@wix/design-system");
7
7
  var _dates = require("./utils/dates");
8
8
  var _patterns = require("@wix/patterns");
9
+ var _form = require("@wix/patterns/form");
9
10
  var _jsxFileName = "/home/builduser/work/73d19ce3378ce4dd/packages/auto-patterns/dist/cjs/components/AutoPatternsEntityPage/Fields/DateInput.tsx";
10
11
  function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
11
12
  function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ function validateDateField(value, validation, t, format, validationType) {
14
+ if (validation != null && validation.required && (value === null || value === undefined || value === '')) {
15
+ return t('cairo.fieldValidation.requiredField');
16
+ } else if (validationType === 'formatError' && format) {
17
+ return t('cairo.customFields.fieldType.date.invalid.value', {
18
+ dateFormat: format
19
+ });
20
+ }
21
+ return '';
22
+ }
12
23
  const DateInput = props => {
13
- var _field$validation;
24
+ var _pageState$entity, _field$validation;
14
25
  const {
15
26
  field,
16
- value,
17
- onChange,
18
27
  dataHook,
19
28
  inputRef
20
29
  } = props;
@@ -23,9 +32,26 @@ const DateInput = props => {
23
32
  ...container
24
33
  } = (0, _patterns.useWixPatternsContainer)();
25
34
  (0, _patterns.useSelector)(() => container.initTask.status);
26
- const [date, setDate] = (0, _react.useState)(() => value ? (0, _dates.getDateWithoutTimezone)((0, _dates.getISODateStringWithFixedTimezone)(value)) : undefined);
35
+ const pageState = (0, _patterns.useEntityPageContext)();
36
+ const controller = (0, _form.useController)({
37
+ name: (field == null ? void 0 : field.id) ?? '',
38
+ control: pageState.form.control,
39
+ defaultValue: (_pageState$entity = pageState.entity) == null ? void 0 : _pageState$entity[(field == null ? void 0 : field.id) ?? ''],
40
+ rules: {
41
+ validate: value => {
42
+ const error = validateDateField(value, field.validation, t);
43
+ return error || true;
44
+ }
45
+ }
46
+ });
47
+ const [date, setDate] = (0, _react.useState)(() => {
48
+ if (controller.field.value) {
49
+ return (0, _dates.getDateWithoutTimezone)((0, _dates.getISODateStringWithFixedTimezone)(controller.field.value));
50
+ }
51
+ return undefined;
52
+ });
27
53
  const ref = (0, _react.useRef)({});
28
- const [statusMessage, setStatusMessage] = (0, _react.useState)('');
54
+ const [errorMessage, setErrorMessage] = (0, _react.useState)('');
29
55
  return /*#__PURE__*/_react.default.createElement(_designSystem.FormField, {
30
56
  label: field.displayName,
31
57
  required: (_field$validation = field.validation) == null ? void 0 : _field$validation.required,
@@ -33,14 +59,13 @@ const DateInput = props => {
33
59
  __self: void 0,
34
60
  __source: {
35
61
  fileName: _jsxFileName,
36
- lineNumber: 27,
62
+ lineNumber: 70,
37
63
  columnNumber: 5
38
64
  }
39
65
  }, /*#__PURE__*/_react.default.createElement(_designSystem.DatePicker, {
40
66
  ref: internalRef => {
41
67
  inputRef == null || inputRef(ref.current);
42
- // TODO: PR to WSR needed to expose as public API
43
- // @ts-expect-error
68
+ // @ts-expect-error: WSR internal API hack for focusing
44
69
  ref.current.focus = () => {
45
70
  var _internalRef$state;
46
71
  return internalRef == null || (_internalRef$state = internalRef.state) == null || (_internalRef$state = _internalRef$state.inputRef) == null || _internalRef$state.focus == null ? void 0 : _internalRef$state.focus();
@@ -50,36 +75,33 @@ const DateInput = props => {
50
75
  width: "100%",
51
76
  value: date,
52
77
  onChange: newValue => {
53
- const formattedDate = (0, _dates.getISODateStringWithFixedTimezone)(newValue);
54
78
  setDate(newValue);
55
- onChange(formattedDate.split('T')[0]);
79
+ if (newValue) {
80
+ const formattedDate = (0, _dates.getISODateStringWithFixedTimezone)(newValue);
81
+ controller.field.onChange(formattedDate.split('T')[0]);
82
+ } else {
83
+ controller.field.onChange(null);
84
+ }
56
85
  },
57
86
  onValidate: ({
58
87
  validationType,
59
88
  value: newValue,
60
89
  format
61
90
  }) => {
62
- if (validationType === 'valid') {
63
- setStatusMessage('');
64
- ref.current.invalid = false;
65
- } else if (validationType === 'formatError' && newValue === '') {
91
+ const error = validateDateField(newValue, field.validation, t, format, validationType);
92
+ setErrorMessage(error);
93
+ ref.current.invalid = !!error;
94
+ if (validationType === 'formatError' && newValue === '') {
66
95
  setDate(undefined);
67
- onChange(null);
68
- setStatusMessage('');
69
- ref.current.invalid = false;
70
- } else {
71
- setStatusMessage(t('cairo.customFields.fieldType.date.invalid.value', {
72
- dateFormat: format ?? ''
73
- }));
74
- ref.current.invalid = true;
96
+ controller.field.onChange(null);
75
97
  }
76
98
  },
77
- status: ref.current.invalid ? 'error' : undefined,
78
- statusMessage: statusMessage,
99
+ status: errorMessage ? 'error' : undefined,
100
+ statusMessage: errorMessage,
79
101
  __self: void 0,
80
102
  __source: {
81
103
  fileName: _jsxFileName,
82
- lineNumber: 32,
104
+ lineNumber: 75,
83
105
  columnNumber: 7
84
106
  }
85
107
  }));