@firecms/core 3.0.0-alpha.7 → 3.0.0-alpha.70

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 (460) hide show
  1. package/README.md +1 -1
  2. package/dist/components/ArrayContainer.d.ts +42 -0
  3. package/dist/components/CircularProgressCenter.d.ts +11 -0
  4. package/dist/components/DeleteConfirmationDialog.d.ts +9 -0
  5. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +30 -0
  6. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +106 -0
  7. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +15 -0
  8. package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +33 -0
  9. package/dist/components/EntityCollectionTable/filters/BooleanFilterField.d.ts +9 -0
  10. package/dist/components/EntityCollectionTable/filters/DateTimeFilterField.d.ts +11 -0
  11. package/dist/components/EntityCollectionTable/filters/ReferenceFilterField.d.ts +14 -0
  12. package/dist/components/EntityCollectionTable/filters/StringNumberFilterField.d.ts +13 -0
  13. package/dist/components/EntityCollectionTable/index.d.ts +4 -0
  14. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +18 -0
  15. package/dist/components/EntityCollectionTable/internal/DeleteEntityDialog.d.ts +12 -0
  16. package/dist/components/EntityCollectionTable/internal/EntityCollectionRowActions.d.ts +35 -0
  17. package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +26 -0
  18. package/dist/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +9 -0
  19. package/dist/components/EntityCollectionTable/internal/PropertyTableCell.d.ts +18 -0
  20. package/dist/components/EntityCollectionTable/internal/common.d.ts +4 -0
  21. package/dist/components/EntityCollectionTable/internal/default_entity_actions.d.ts +6 -0
  22. package/dist/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +5 -0
  23. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +23 -0
  24. package/dist/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +13 -0
  25. package/dist/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +6 -0
  26. package/dist/components/EntityCollectionTable/types.d.ts +39 -0
  27. package/dist/components/EntityCollectionTable/useDebouncedData.d.ts +9 -0
  28. package/dist/components/EntityCollectionTable/useEntityCollectionTableController.d.ts +21 -0
  29. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +37 -0
  30. package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +14 -0
  31. package/dist/components/EntityCollectionView/useColumnsIds.d.ts +4 -0
  32. package/dist/components/EntityPreview.d.ts +11 -0
  33. package/dist/components/ErrorBoundary.d.ts +11 -0
  34. package/dist/components/ErrorTooltip.d.ts +2 -0
  35. package/dist/components/ErrorView.d.ts +19 -0
  36. package/dist/components/FieldConfigBadge.d.ts +4 -0
  37. package/dist/components/FireCMSAppBar.d.ts +26 -0
  38. package/dist/components/FireCMSLogo.d.ts +7 -0
  39. package/dist/components/HomePage/DefaultHomePage.d.ts +21 -0
  40. package/dist/components/HomePage/FavouritesView.d.ts +3 -0
  41. package/dist/components/HomePage/NavigationCollectionCard.d.ts +17 -0
  42. package/dist/components/HomePage/NavigationGroup.d.ts +4 -0
  43. package/dist/components/HomePage/index.d.ts +3 -0
  44. package/dist/components/LabelWithIcon.d.ts +14 -0
  45. package/dist/components/NotFoundPage.d.ts +1 -0
  46. package/dist/components/ReferenceSelectionInner.d.ts +58 -0
  47. package/dist/components/ReferenceWidget.d.ts +28 -0
  48. package/dist/components/VirtualTable/VirtualTable.d.ts +11 -0
  49. package/dist/components/VirtualTable/VirtualTableCell.d.ts +14 -0
  50. package/dist/components/VirtualTable/VirtualTableHeader.d.ts +27 -0
  51. package/dist/components/VirtualTable/VirtualTableHeaderRow.d.ts +2 -0
  52. package/dist/components/VirtualTable/VirtualTableProps.d.ts +215 -0
  53. package/dist/components/VirtualTable/VirtualTableRow.d.ts +3 -0
  54. package/dist/components/VirtualTable/common.d.ts +2 -0
  55. package/dist/components/VirtualTable/fields/VirtualTableDateField.d.ts +11 -0
  56. package/dist/components/VirtualTable/fields/VirtualTableInput.d.ts +8 -0
  57. package/dist/components/VirtualTable/fields/VirtualTableNumberInput.d.ts +8 -0
  58. package/dist/components/VirtualTable/fields/VirtualTableSelect.d.ts +15 -0
  59. package/dist/components/VirtualTable/fields/VirtualTableSwitch.d.ts +7 -0
  60. package/dist/components/VirtualTable/index.d.ts +2 -0
  61. package/dist/components/VirtualTable/types.d.ts +34 -0
  62. package/dist/components/index.d.ts +20 -0
  63. package/dist/contexts/AuthControllerContext.d.ts +3 -0
  64. package/dist/contexts/DataSourceContext.d.ts +3 -0
  65. package/dist/contexts/DialogsProvider.d.ts +4 -0
  66. package/dist/contexts/ModeController.d.ts +4 -0
  67. package/dist/contexts/NavigationContext.d.ts +3 -0
  68. package/dist/contexts/SideDialogsControllerContext.d.ts +3 -0
  69. package/dist/contexts/SideEntityControllerContext.d.ts +3 -0
  70. package/dist/contexts/SnackbarProvider.d.ts +2 -0
  71. package/dist/contexts/StorageSourceContext.d.ts +3 -0
  72. package/dist/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
  73. package/dist/contexts/index.d.ts +3 -0
  74. package/dist/core/Drawer.d.ts +23 -0
  75. package/dist/core/EntitySidePanel.d.ts +10 -0
  76. package/dist/core/FireCMS.d.ts +14 -0
  77. package/dist/core/NavigationRoutes.d.ts +21 -0
  78. package/dist/core/Scaffold.d.ts +52 -0
  79. package/dist/core/SideDialogs.d.ts +23 -0
  80. package/dist/core/field_configs.d.ts +7 -0
  81. package/dist/core/index.d.ts +10 -0
  82. package/dist/core/useBuildLocalConfigurationPersistence.d.ts +2 -0
  83. package/dist/core/useBuildModeController.d.ts +6 -0
  84. package/dist/form/EntityForm.d.ts +75 -0
  85. package/dist/form/PropertyFieldBinding.d.ts +30 -0
  86. package/dist/form/components/CustomIdField.d.ts +9 -0
  87. package/dist/form/components/ErrorFocus.d.ts +4 -0
  88. package/dist/form/components/FieldHelperText.d.ts +12 -0
  89. package/dist/form/components/FormikArrayContainer.d.ts +18 -0
  90. package/dist/form/components/StorageItemPreview.d.ts +13 -0
  91. package/dist/form/components/StorageUploadProgress.d.ts +10 -0
  92. package/dist/form/components/SubmitListener.d.ts +1 -0
  93. package/dist/form/components/SwitchControl.d.ts +8 -0
  94. package/dist/form/components/index.d.ts +3 -0
  95. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +9 -0
  96. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +11 -0
  97. package/dist/form/field_bindings/BlockFieldBinding.d.ts +10 -0
  98. package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +11 -0
  99. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +7 -0
  100. package/dist/form/field_bindings/MapFieldBinding.d.ts +9 -0
  101. package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +9 -0
  102. package/dist/form/field_bindings/MultiSelectBinding.d.ts +9 -0
  103. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +10 -0
  104. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +9 -0
  105. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +10 -0
  106. package/dist/form/field_bindings/SelectFieldBinding.d.ts +12 -0
  107. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +28 -0
  108. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +12 -0
  109. package/dist/form/field_bindings/TextFieldBinding.d.ts +12 -0
  110. package/dist/form/index.d.ts +20 -0
  111. package/dist/form/useClearRestoreValue.d.ts +13 -0
  112. package/dist/form/validation.d.ts +25 -0
  113. package/dist/hooks/data/delete.d.ts +37 -0
  114. package/dist/hooks/data/save.d.ts +42 -0
  115. package/dist/hooks/data/useCollectionFetch.d.ts +50 -0
  116. package/dist/hooks/data/useDataOrder.d.ts +12 -0
  117. package/dist/hooks/data/useDataSource.d.ts +6 -0
  118. package/dist/hooks/data/useEntityFetch.d.ts +28 -0
  119. package/dist/hooks/index.d.ts +19 -0
  120. package/dist/hooks/useAuthController.d.ts +11 -0
  121. package/dist/hooks/useBrowserTitleAndIcon.d.ts +6 -0
  122. package/dist/hooks/useClipboard.d.ts +57 -0
  123. package/dist/hooks/useDialogsController.d.ts +11 -0
  124. package/dist/hooks/useFireCMSContext.d.ts +12 -0
  125. package/dist/hooks/useLargeLayout.d.ts +1 -0
  126. package/dist/hooks/useModeController.d.ts +20 -0
  127. package/dist/hooks/useNavigationController.d.ts +9 -0
  128. package/dist/hooks/useReferenceDialog.d.ts +18 -0
  129. package/dist/hooks/useResolvedNavigationFrom.d.ts +72 -0
  130. package/dist/hooks/useSideDialogsController.d.ts +18 -0
  131. package/dist/hooks/useSideEntityController.d.ts +12 -0
  132. package/dist/hooks/useSnackbarController.d.ts +41 -0
  133. package/dist/hooks/useStorageSource.d.ts +6 -0
  134. package/dist/hooks/useUserConfigurationPersistence.d.ts +8 -0
  135. package/dist/index.d.ts +8 -0
  136. package/dist/index.es.js +12415 -25618
  137. package/dist/index.es.js.map +1 -1
  138. package/dist/index.umd.js +5 -1027
  139. package/dist/index.umd.js.map +1 -1
  140. package/dist/internal/EntityView.d.ts +22 -0
  141. package/dist/internal/common.d.ts +3 -0
  142. package/dist/internal/useBuildDataSource.d.ts +22 -0
  143. package/dist/internal/useBuildNavigationController.d.ts +14 -0
  144. package/dist/internal/useBuildSideDialogsController.d.ts +2 -0
  145. package/dist/internal/useBuildSideEntityController.d.ts +4 -0
  146. package/dist/internal/useLocaleConfig.d.ts +1 -0
  147. package/dist/internal/useRestoreScroll.d.ts +6 -0
  148. package/dist/internal/useUnsavedChangesDialog.d.ts +14 -0
  149. package/dist/preview/PropertyPreview.d.ts +7 -0
  150. package/dist/preview/PropertyPreviewProps.d.ts +43 -0
  151. package/dist/preview/components/ArrayEnumPreview.d.ts +11 -0
  152. package/dist/preview/components/AsyncPreviewComponent.d.ts +11 -0
  153. package/dist/preview/components/BooleanPreview.d.ts +7 -0
  154. package/dist/preview/components/DatePreview.d.ts +7 -0
  155. package/dist/preview/components/EmptyValue.d.ts +4 -0
  156. package/dist/preview/components/EnumValuesChip.d.ts +13 -0
  157. package/dist/preview/components/ImagePreview.d.ts +12 -0
  158. package/dist/preview/components/ReferencePreview.d.ts +22 -0
  159. package/dist/preview/components/StorageThumbnail.d.ts +13 -0
  160. package/dist/preview/components/UrlComponentPreview.d.ts +12 -0
  161. package/dist/preview/index.d.ts +23 -0
  162. package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +5 -0
  163. package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +5 -0
  164. package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +5 -0
  165. package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +5 -0
  166. package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +5 -0
  167. package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +5 -0
  168. package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +5 -0
  169. package/dist/preview/property_previews/MapPropertyPreview.d.ts +8 -0
  170. package/dist/preview/property_previews/NumberPropertyPreview.d.ts +6 -0
  171. package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +14 -0
  172. package/dist/preview/property_previews/StringPropertyPreview.d.ts +6 -0
  173. package/dist/preview/util.d.ts +7 -0
  174. package/dist/types/analytics.d.ts +1 -0
  175. package/dist/types/appcheck.d.ts +26 -0
  176. package/dist/types/auth.d.ts +40 -0
  177. package/dist/types/collections.d.ts +451 -0
  178. package/dist/types/datasource.d.ts +262 -0
  179. package/dist/types/dialogs_controller.d.ts +32 -0
  180. package/dist/types/entities.d.ts +57 -0
  181. package/dist/types/entity_actions.d.ts +35 -0
  182. package/dist/types/entity_callbacks.d.ts +171 -0
  183. package/dist/types/entity_link_builder.d.ts +7 -0
  184. package/dist/types/export_import.d.ts +21 -0
  185. package/dist/types/fields.d.ts +181 -0
  186. package/dist/types/firecms.d.ts +151 -0
  187. package/dist/types/firecms_context.d.ts +110 -0
  188. package/dist/types/index.d.ts +26 -0
  189. package/dist/types/local_config_persistence.d.ts +21 -0
  190. package/dist/types/locales.d.ts +4 -0
  191. package/dist/types/modify_collections.d.ts +5 -0
  192. package/dist/types/navigation.d.ts +178 -0
  193. package/dist/types/permissions.d.ts +63 -0
  194. package/dist/types/plugins.d.ts +179 -0
  195. package/dist/types/properties.d.ts +681 -0
  196. package/dist/types/property_config.d.ts +42 -0
  197. package/dist/types/resolved_entities.d.ts +98 -0
  198. package/dist/types/side_dialogs_controller.d.ts +57 -0
  199. package/dist/types/side_entity_controller.d.ts +83 -0
  200. package/dist/types/storage.d.ts +82 -0
  201. package/dist/types/user.d.ts +36 -0
  202. package/dist/util/arrays.d.ts +1 -0
  203. package/dist/util/builders.d.ts +64 -0
  204. package/dist/util/chip_utils.d.ts +3 -0
  205. package/dist/util/collections.d.ts +3 -0
  206. package/dist/util/common.d.ts +2 -0
  207. package/dist/util/dates.d.ts +1 -0
  208. package/dist/util/entities.d.ts +28 -0
  209. package/dist/util/enums.d.ts +7 -0
  210. package/dist/util/flatten_object.d.ts +3 -0
  211. package/dist/util/hash.d.ts +1 -0
  212. package/dist/util/icons.d.ts +4 -0
  213. package/dist/util/index.d.ts +20 -0
  214. package/dist/util/join_collections.d.ts +9 -0
  215. package/dist/util/make_properties_editable.d.ts +3 -0
  216. package/dist/util/navigation_from_path.d.ts +24 -0
  217. package/dist/util/navigation_utils.d.ts +20 -0
  218. package/dist/util/objects.d.ts +10 -0
  219. package/dist/util/os.d.ts +2 -0
  220. package/dist/util/parent_references_from_path.d.ts +6 -0
  221. package/dist/util/paths.d.ts +14 -0
  222. package/dist/util/permissions.d.ts +5 -0
  223. package/dist/util/plurals.d.ts +18 -0
  224. package/dist/util/property_utils.d.ts +23 -0
  225. package/dist/util/references.d.ts +2 -0
  226. package/dist/util/regexp.d.ts +7 -0
  227. package/dist/util/resolutions.d.ts +64 -0
  228. package/dist/util/storage.d.ts +3 -0
  229. package/dist/util/strings.d.ts +6 -0
  230. package/dist/util/useDebounce.d.ts +1 -0
  231. package/dist/util/useStorageUploadController.d.ts +36 -0
  232. package/dist/util/useTraceUpdate.d.ts +1 -0
  233. package/package.json +114 -142
  234. package/src/components/ArrayContainer.tsx +369 -0
  235. package/src/components/CircularProgressCenter.tsx +26 -0
  236. package/src/components/DeleteConfirmationDialog.tsx +47 -0
  237. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +520 -0
  238. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +150 -0
  239. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +159 -0
  240. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +313 -0
  241. package/src/components/EntityCollectionTable/filters/BooleanFilterField.tsx +49 -0
  242. package/src/components/EntityCollectionTable/filters/DateTimeFilterField.tsx +109 -0
  243. package/src/components/EntityCollectionTable/filters/ReferenceFilterField.tsx +187 -0
  244. package/src/components/EntityCollectionTable/filters/StringNumberFilterField.tsx +159 -0
  245. package/src/components/EntityCollectionTable/index.tsx +16 -0
  246. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +113 -0
  247. package/src/components/EntityCollectionTable/internal/DeleteEntityDialog.tsx +207 -0
  248. package/src/components/EntityCollectionTable/internal/EntityCollectionRowActions.tsx +174 -0
  249. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +264 -0
  250. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +70 -0
  251. package/src/components/EntityCollectionTable/internal/PropertyTableCell.tsx +460 -0
  252. package/src/components/EntityCollectionTable/internal/common.tsx +70 -0
  253. package/src/components/EntityCollectionTable/internal/default_entity_actions.tsx +122 -0
  254. package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +59 -0
  255. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +401 -0
  256. package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +97 -0
  257. package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.tsx +20 -0
  258. package/src/components/EntityCollectionTable/types.tsx +44 -0
  259. package/src/components/EntityCollectionTable/useDebouncedData.ts +49 -0
  260. package/src/components/EntityCollectionTable/useEntityCollectionTableController.tsx +213 -0
  261. package/src/components/EntityCollectionView/EntityCollectionView.tsx +815 -0
  262. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +131 -0
  263. package/src/components/EntityCollectionView/useColumnsIds.tsx +100 -0
  264. package/src/components/EntityPreview.tsx +83 -0
  265. package/src/components/ErrorBoundary.tsx +40 -0
  266. package/src/components/ErrorTooltip.tsx +11 -0
  267. package/src/components/ErrorView.tsx +52 -0
  268. package/src/components/FieldConfigBadge.tsx +17 -0
  269. package/src/components/FireCMSAppBar.tsx +157 -0
  270. package/src/components/FireCMSLogo.tsx +73 -0
  271. package/src/components/HomePage/DefaultHomePage.tsx +209 -0
  272. package/src/components/HomePage/FavouritesView.tsx +64 -0
  273. package/src/components/HomePage/NavigationCollectionCard.tsx +145 -0
  274. package/src/components/HomePage/NavigationGroup.tsx +39 -0
  275. package/src/components/HomePage/index.tsx +3 -0
  276. package/src/components/LabelWithIcon.tsx +33 -0
  277. package/src/components/NotFoundPage.tsx +25 -0
  278. package/src/components/ReferenceSelectionInner.tsx +364 -0
  279. package/src/components/ReferenceWidget.tsx +145 -0
  280. package/src/components/VirtualTable/VirtualTable.tsx +402 -0
  281. package/src/components/VirtualTable/VirtualTableCell.tsx +36 -0
  282. package/src/components/VirtualTable/VirtualTableHeader.tsx +260 -0
  283. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +131 -0
  284. package/src/components/VirtualTable/VirtualTableProps.tsx +270 -0
  285. package/src/components/VirtualTable/VirtualTableRow.tsx +54 -0
  286. package/src/components/VirtualTable/common.tsx +18 -0
  287. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +37 -0
  288. package/src/components/VirtualTable/fields/VirtualTableInput.tsx +91 -0
  289. package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +82 -0
  290. package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +130 -0
  291. package/src/components/VirtualTable/fields/VirtualTableSwitch.tsx +32 -0
  292. package/src/components/VirtualTable/index.tsx +2 -0
  293. package/src/components/VirtualTable/types.tsx +44 -0
  294. package/src/components/index.tsx +30 -0
  295. package/src/contexts/AuthControllerContext.tsx +4 -0
  296. package/src/contexts/DataSourceContext.tsx +4 -0
  297. package/src/contexts/DialogsProvider.tsx +52 -0
  298. package/src/contexts/ModeController.tsx +13 -0
  299. package/src/contexts/NavigationContext.tsx +4 -0
  300. package/src/contexts/SideDialogsControllerContext.tsx +4 -0
  301. package/src/contexts/SideEntityControllerContext.tsx +4 -0
  302. package/src/contexts/SnackbarProvider.tsx +12 -0
  303. package/src/contexts/StorageSourceContext.tsx +4 -0
  304. package/src/contexts/UserConfigurationPersistenceContext.tsx +4 -0
  305. package/src/contexts/index.ts +3 -0
  306. package/src/core/Drawer.tsx +161 -0
  307. package/src/core/EntitySidePanel.tsx +90 -0
  308. package/src/core/FireCMS.tsx +184 -0
  309. package/src/core/NavigationRoutes.tsx +118 -0
  310. package/src/core/Scaffold.tsx +278 -0
  311. package/src/core/SideDialogs.tsx +156 -0
  312. package/src/core/field_configs.tsx +400 -0
  313. package/src/core/index.tsx +14 -0
  314. package/src/core/useBuildLocalConfigurationPersistence.tsx +67 -0
  315. package/src/core/useBuildModeController.tsx +60 -0
  316. package/src/form/EntityForm.tsx +647 -0
  317. package/src/form/PropertyFieldBinding.tsx +311 -0
  318. package/src/form/components/CustomIdField.tsx +124 -0
  319. package/src/form/components/ErrorFocus.tsx +51 -0
  320. package/src/form/components/FieldHelperText.tsx +58 -0
  321. package/src/form/components/FormikArrayContainer.tsx +44 -0
  322. package/src/form/components/StorageItemPreview.tsx +66 -0
  323. package/src/form/components/StorageUploadProgress.tsx +104 -0
  324. package/src/form/components/SubmitListener.tsx +32 -0
  325. package/src/form/components/SwitchControl.tsx +39 -0
  326. package/src/form/components/index.tsx +3 -0
  327. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +88 -0
  328. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +153 -0
  329. package/src/form/field_bindings/BlockFieldBinding.tsx +245 -0
  330. package/src/form/field_bindings/DateTimeFieldBinding.tsx +66 -0
  331. package/src/form/field_bindings/KeyValueFieldBinding.tsx +560 -0
  332. package/src/form/field_bindings/MapFieldBinding.tsx +142 -0
  333. package/src/form/field_bindings/MarkdownFieldBinding.tsx +696 -0
  334. package/src/form/field_bindings/MultiSelectBinding.tsx +115 -0
  335. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +70 -0
  336. package/src/form/field_bindings/ReferenceFieldBinding.tsx +122 -0
  337. package/src/form/field_bindings/RepeatFieldBinding.tsx +103 -0
  338. package/src/form/field_bindings/SelectFieldBinding.tsx +100 -0
  339. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +438 -0
  340. package/src/form/field_bindings/SwitchFieldBinding.tsx +61 -0
  341. package/src/form/field_bindings/TextFieldBinding.tsx +108 -0
  342. package/src/form/index.tsx +42 -0
  343. package/src/form/useClearRestoreValue.tsx +35 -0
  344. package/src/form/validation.ts +409 -0
  345. package/src/hooks/data/delete.ts +101 -0
  346. package/src/hooks/data/save.ts +165 -0
  347. package/src/hooks/data/useCollectionFetch.tsx +162 -0
  348. package/src/hooks/data/useDataOrder.ts +26 -0
  349. package/src/hooks/data/useDataSource.tsx +9 -0
  350. package/src/hooks/data/useEntityFetch.tsx +129 -0
  351. package/src/hooks/index.tsx +23 -0
  352. package/src/hooks/useAuthController.tsx +14 -0
  353. package/src/hooks/useBrowserTitleAndIcon.tsx +25 -0
  354. package/src/hooks/useClipboard.tsx +158 -0
  355. package/src/hooks/useDialogsController.tsx +14 -0
  356. package/src/hooks/useFireCMSContext.tsx +50 -0
  357. package/src/hooks/useLargeLayout.tsx +34 -0
  358. package/src/hooks/useModeController.tsx +24 -0
  359. package/src/hooks/useNavigationController.tsx +12 -0
  360. package/src/hooks/useReferenceDialog.tsx +56 -0
  361. package/src/hooks/useResolvedNavigationFrom.tsx +160 -0
  362. package/src/hooks/useSideDialogsController.tsx +21 -0
  363. package/src/hooks/useSideEntityController.tsx +15 -0
  364. package/src/hooks/useSnackbarController.tsx +76 -0
  365. package/src/hooks/useStorageSource.tsx +9 -0
  366. package/src/hooks/useUserConfigurationPersistence.tsx +11 -0
  367. package/src/index.ts +8 -0
  368. package/src/internal/EntityView.tsx +576 -0
  369. package/src/internal/common.tsx +5 -0
  370. package/src/internal/useBuildDataSource.ts +360 -0
  371. package/src/internal/useBuildNavigationController.tsx +371 -0
  372. package/src/internal/useBuildSideDialogsController.tsx +125 -0
  373. package/src/internal/useBuildSideEntityController.tsx +160 -0
  374. package/src/internal/useLocaleConfig.tsx +18 -0
  375. package/src/internal/useRestoreScroll.tsx +48 -0
  376. package/src/internal/useUnsavedChangesDialog.tsx +106 -0
  377. package/src/preview/PropertyPreview.tsx +222 -0
  378. package/src/preview/PropertyPreviewProps.tsx +59 -0
  379. package/src/preview/components/ArrayEnumPreview.tsx +39 -0
  380. package/src/preview/components/AsyncPreviewComponent.tsx +47 -0
  381. package/src/preview/components/BooleanPreview.tsx +11 -0
  382. package/src/preview/components/DatePreview.tsx +27 -0
  383. package/src/preview/components/EmptyValue.tsx +10 -0
  384. package/src/preview/components/EnumValuesChip.tsx +38 -0
  385. package/src/preview/components/ImagePreview.tsx +106 -0
  386. package/src/preview/components/ReferencePreview.tsx +249 -0
  387. package/src/preview/components/StorageThumbnail.tsx +84 -0
  388. package/src/preview/components/UrlComponentPreview.tsx +79 -0
  389. package/src/preview/index.ts +27 -0
  390. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +82 -0
  391. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +52 -0
  392. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +54 -0
  393. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +55 -0
  394. package/src/preview/property_previews/ArrayOneOfPreview.tsx +67 -0
  395. package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +28 -0
  396. package/src/preview/property_previews/ArrayPropertyPreview.tsx +68 -0
  397. package/src/preview/property_previews/MapPropertyPreview.tsx +144 -0
  398. package/src/preview/property_previews/NumberPropertyPreview.tsx +27 -0
  399. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +283 -0
  400. package/src/preview/property_previews/StringPropertyPreview.tsx +60 -0
  401. package/src/preview/util.ts +31 -0
  402. package/src/types/analytics.ts +34 -0
  403. package/src/types/appcheck.ts +29 -0
  404. package/src/types/auth.tsx +49 -0
  405. package/src/types/collections.ts +530 -0
  406. package/src/types/datasource.ts +389 -0
  407. package/src/types/dialogs_controller.tsx +33 -0
  408. package/src/types/entities.ts +76 -0
  409. package/src/types/entity_actions.tsx +39 -0
  410. package/src/types/entity_callbacks.ts +209 -0
  411. package/src/types/entity_link_builder.ts +8 -0
  412. package/src/types/export_import.ts +26 -0
  413. package/src/types/fields.tsx +220 -0
  414. package/src/types/firecms.tsx +175 -0
  415. package/src/types/firecms_context.tsx +128 -0
  416. package/src/types/index.ts +26 -0
  417. package/src/types/local_config_persistence.tsx +23 -0
  418. package/src/types/locales.ts +81 -0
  419. package/src/types/modify_collections.tsx +6 -0
  420. package/src/types/navigation.ts +214 -0
  421. package/src/types/permissions.ts +76 -0
  422. package/src/types/plugins.tsx +217 -0
  423. package/src/types/properties.ts +851 -0
  424. package/src/types/property_config.tsx +72 -0
  425. package/src/types/resolved_entities.ts +148 -0
  426. package/src/types/side_dialogs_controller.tsx +68 -0
  427. package/src/types/side_entity_controller.tsx +96 -0
  428. package/src/types/storage.ts +96 -0
  429. package/src/types/user.ts +37 -0
  430. package/src/util/arrays.ts +3 -0
  431. package/src/util/builders.ts +139 -0
  432. package/src/util/chip_utils.ts +13 -0
  433. package/src/util/collections.ts +50 -0
  434. package/src/util/common.tsx +2 -0
  435. package/src/util/dates.ts +1 -0
  436. package/src/util/entities.ts +196 -0
  437. package/src/util/enums.ts +57 -0
  438. package/src/util/flatten_object.ts +45 -0
  439. package/src/util/hash.ts +11 -0
  440. package/src/util/icons.tsx +45 -0
  441. package/src/util/index.ts +20 -0
  442. package/src/util/join_collections.ts +172 -0
  443. package/src/util/make_properties_editable.ts +29 -0
  444. package/src/util/navigation_from_path.ts +107 -0
  445. package/src/util/navigation_utils.ts +111 -0
  446. package/src/util/objects.ts +168 -0
  447. package/src/util/os.ts +13 -0
  448. package/src/util/parent_references_from_path.ts +56 -0
  449. package/src/util/paths.ts +27 -0
  450. package/src/util/permissions.ts +80 -0
  451. package/src/util/plurals.ts +190 -0
  452. package/src/util/property_utils.tsx +130 -0
  453. package/src/util/references.ts +20 -0
  454. package/src/util/regexp.ts +32 -0
  455. package/src/util/resolutions.ts +399 -0
  456. package/src/util/storage.ts +92 -0
  457. package/src/util/strings.ts +62 -0
  458. package/src/util/useDebounce.ts +25 -0
  459. package/src/util/useStorageUploadController.tsx +243 -0
  460. package/src/util/useTraceUpdate.tsx +23 -0
@@ -0,0 +1,389 @@
1
+ import { Entity, EntityReference, EntityStatus, EntityValues, GeoPoint } from "./entities";
2
+ import { EntityCollection, FilterValues } from "./collections";
3
+ import { ResolvedEntityCollection } from "./resolved_entities";
4
+
5
+ /**
6
+ * @group Datasource
7
+ */
8
+ export interface FetchEntityProps<M extends Record<string, any> = any> {
9
+ path: string;
10
+ entityId: string;
11
+ collection?: EntityCollection<M>
12
+ }
13
+
14
+ /**
15
+ * @group Datasource
16
+ */
17
+ export type ListenEntityProps<M extends Record<string, any> = any> =
18
+ FetchEntityProps<M>
19
+ & {
20
+ onUpdate: (entity: Entity<M>) => void,
21
+ onError?: (error: Error) => void,
22
+ }
23
+
24
+ /**
25
+ * @group Datasource
26
+ */
27
+ export interface FetchCollectionProps<M extends Record<string, any> = any> {
28
+ path: string;
29
+ collection?: EntityCollection<M> | ResolvedEntityCollection<M>;
30
+ filter?: FilterValues<Extract<keyof M, string>>,
31
+ limit?: number;
32
+ startAfter?: any[];
33
+ orderBy?: string;
34
+ searchString?: string;
35
+ order?: "desc" | "asc";
36
+ }
37
+
38
+ /**
39
+ * @group Datasource
40
+ */
41
+ export type ListenCollectionProps<M extends Record<string, any> = any> =
42
+ FetchCollectionProps<M> &
43
+ {
44
+ onUpdate: (entities: Entity<M>[]) => void;
45
+ onError?: (error: Error) => void;
46
+ };
47
+
48
+ /**
49
+ * @group Datasource
50
+ */
51
+ export interface SaveEntityProps<M extends Record<string, any> = any> {
52
+ path: string;
53
+ values: Partial<EntityValues<M>>;
54
+ entityId?: string; // can be empty for new entities
55
+ previousValues?: Partial<EntityValues<M>>;
56
+ collection?: EntityCollection<M> | ResolvedEntityCollection<M>;
57
+ status: EntityStatus;
58
+ }
59
+
60
+ /**
61
+ * @group Datasource
62
+ */
63
+ export interface DeleteEntityProps<M extends Record<string, any> = any> {
64
+ entity: Entity<M>;
65
+ }
66
+
67
+ /**
68
+ * Implement this interface and pass it to a {@link FireCMS}
69
+ * to connect it to your data source.
70
+ * A Firestore implementation of this interface can be found in {@link useFirestoreDataSource}
71
+ * @group Datasource
72
+ */
73
+ export interface DataSource {
74
+
75
+ /**
76
+ * Fetch data from a collection
77
+ * @param path
78
+ * @param collection
79
+ * @param filter
80
+ * @param limit
81
+ * @param startAfter
82
+ * @param orderBy
83
+ * @param order
84
+ * @param searchString
85
+ * @return Function to cancel subscription
86
+ * @see useCollectionFetch if you need this functionality implemented as a hook
87
+ */
88
+ fetchCollection<M extends Record<string, any> = any>({
89
+ path,
90
+ collection,
91
+ filter,
92
+ limit,
93
+ startAfter,
94
+ orderBy,
95
+ order,
96
+ searchString
97
+ }: FetchCollectionProps<M>
98
+ ): Promise<Entity<M>[]>;
99
+
100
+ /**
101
+ * Listen to a collection in a given path. If you don't implement this method
102
+ * `fetchCollection` will be used instead, with no real time updates.
103
+ * @param path
104
+ * @param collection
105
+ * @param onUpdate
106
+ * @param onError
107
+ * @param filter
108
+ * @param limit
109
+ * @param startAfter
110
+ * @param orderBy
111
+ * @param order
112
+ * @param searchString
113
+ * @return Function to cancel subscription
114
+ * @see useCollectionFetch if you need this functionality implemented as a hook
115
+ */
116
+ listenCollection?<M extends Record<string, any> = any>(
117
+ {
118
+ path,
119
+ collection,
120
+ filter,
121
+ limit,
122
+ startAfter,
123
+ searchString,
124
+ orderBy,
125
+ order,
126
+ onUpdate,
127
+ onError
128
+ }: ListenCollectionProps<M>
129
+ ): () => void;
130
+
131
+ /**
132
+ * Retrieve an entity given a path and a collection
133
+ * @param path
134
+ * @param entityId
135
+ * @param collection
136
+ */
137
+ fetchEntity<M extends Record<string, any> = any>({
138
+ path,
139
+ entityId,
140
+ collection
141
+ }: FetchEntityProps<M>
142
+ ): Promise<Entity<M> | undefined>;
143
+
144
+ /**
145
+ * Get realtime updates on one entity.
146
+ * @param path
147
+ * @param entityId
148
+ * @param collection
149
+ * @param onUpdate
150
+ * @param onError
151
+ * @return Function to cancel subscription
152
+ */
153
+ listenEntity?<M extends Record<string, any> = any>({
154
+ path,
155
+ entityId,
156
+ collection,
157
+ onUpdate,
158
+ onError
159
+ }: ListenEntityProps<M>): () => void;
160
+
161
+ /**
162
+ * Save entity to the specified path
163
+ * @param path
164
+ * @param id
165
+ * @param collection
166
+ * @param status
167
+ */
168
+ saveEntity<M extends Record<string, any> = any>(
169
+ {
170
+ path,
171
+ entityId,
172
+ values,
173
+ collection,
174
+ status
175
+ }: SaveEntityProps<M>): Promise<Entity<M>>;
176
+
177
+ /**
178
+ * Delete an entity
179
+ * @param entity
180
+ * @return was the whole deletion flow successful
181
+ */
182
+ deleteEntity<M extends Record<string, any> = any>(
183
+ {
184
+ entity
185
+ }: DeleteEntityProps<M>
186
+ ): Promise<void>;
187
+
188
+ /**
189
+ * Check if the given property is unique in the given collection
190
+ * @param path Collection path
191
+ * @param name of the property
192
+ * @param value
193
+ * @param property
194
+ * @param entityId
195
+ * @return `true` if there are no other fields besides the given entity
196
+ */
197
+ checkUniqueField(
198
+ path: string,
199
+ name: string,
200
+ value: any,
201
+ entityId?: string
202
+ ): Promise<boolean>;
203
+
204
+ /**
205
+ * Generate an id for a new entity
206
+ */
207
+ generateEntityId(path: string): string;
208
+
209
+ /**
210
+ * Count the number of entities in a collection
211
+ */
212
+ countEntities<M extends Record<string, any> = any>(props: FetchCollectionProps<M>): Promise<number>;
213
+
214
+ /**
215
+ * Check if the given filter combination is valid
216
+ * @param props
217
+ */
218
+ isFilterCombinationValid?(props: FilterCombinationValidProps): boolean;
219
+ }
220
+
221
+ export type FilterCombinationValidProps = {
222
+ path: string;
223
+ collection: EntityCollection<any>;
224
+ filterValues: FilterValues<any>;
225
+ sortBy?: [string, "asc" | "desc"];
226
+ };
227
+
228
+ export type SaveEntityDelegateProps<M extends Record<string, any> = any> = Omit<SaveEntityProps<M>, "collection">;
229
+
230
+ export type FetchCollectionDelegateProps<M extends Record<string, any> = any> =
231
+ Omit<FetchCollectionProps<M>, "collection">
232
+ & {
233
+ isCollectionGroup?: boolean
234
+ };
235
+
236
+ export type ListenCollectionDelegateProps<M extends Record<string, any> = any> =
237
+ ListenCollectionProps<M>
238
+ & {
239
+ isCollectionGroup?: boolean;
240
+ };
241
+
242
+ export interface DataSourceDelegate {
243
+ /**
244
+ * Fetch data from a collection
245
+ * @param path
246
+ * @param filter
247
+ * @param limit
248
+ * @param startAfter
249
+ * @param orderBy
250
+ * @param order
251
+ * @param searchString
252
+ * @return Function to cancel subscription
253
+ * @see useCollectionFetch if you need this functionality implemented as a hook
254
+ */
255
+ fetchCollection<M extends Record<string, any> = any>({
256
+ path,
257
+ filter,
258
+ limit,
259
+ startAfter,
260
+ orderBy,
261
+ order,
262
+ searchString
263
+ }: FetchCollectionDelegateProps<M>): Promise<Entity<M>[]>;
264
+
265
+ /**
266
+ * Listen to a collection in a given path. If you don't implement this method
267
+ * `fetchCollection` will be used instead, with no real time updates.
268
+ * @param path
269
+ * @param onUpdate
270
+ * @param onError
271
+ * @param filter
272
+ * @param limit
273
+ * @param startAfter
274
+ * @param orderBy
275
+ * @param order
276
+ * @param searchString
277
+ * @return Function to cancel subscription
278
+ * @see useCollectionFetch if you need this functionality implemented as a hook
279
+ */
280
+ listenCollection?<M extends Record<string, any> = any>({
281
+ path,
282
+ filter,
283
+ limit,
284
+ startAfter,
285
+ searchString,
286
+ orderBy,
287
+ order,
288
+ onUpdate,
289
+ onError
290
+ }: ListenCollectionDelegateProps<M>): () => void;
291
+
292
+ /**
293
+ * Retrieve an entity given a path and a collection
294
+ * @param path
295
+ * @param entityId
296
+ */
297
+ fetchEntity<M extends Record<string, any> = any>({
298
+ path,
299
+ entityId,
300
+ }: Omit<FetchEntityProps<M>, "collection">): Promise<Entity<M> | undefined>;
301
+
302
+ /**
303
+ * Get realtime updates on one entity.
304
+ * @param path
305
+ * @param entityId
306
+ * @param collection
307
+ * @param onUpdate
308
+ * @param onError
309
+ * @return Function to cancel subscription
310
+ */
311
+ listenEntity?<M extends Record<string, any> = any>({
312
+ path,
313
+ entityId,
314
+ onUpdate,
315
+ onError
316
+ }: Omit<ListenEntityProps<M>, "collection">): () => void;
317
+
318
+ /**
319
+ * Save entity to the specified path
320
+ * @param path
321
+ * @param id
322
+ * @param collection
323
+ * @param status
324
+ */
325
+ saveEntity<M extends Record<string, any> = any>({
326
+ path,
327
+ entityId,
328
+ values,
329
+ status
330
+ }: SaveEntityDelegateProps<M>): Promise<Entity<M>>;
331
+
332
+ /**
333
+ * Delete an entity
334
+ * @param entity
335
+ * @return was the whole deletion flow successful
336
+ */
337
+ deleteEntity<M extends Record<string, any> = any>({ entity }: DeleteEntityProps<M>): Promise<void>;
338
+
339
+ /**
340
+ * Check if the given property is unique in the given collection
341
+ * @param path Collection path
342
+ * @param name of the property
343
+ * @param value
344
+ * @param entityId
345
+ * @return `true` if there are no other fields besides the given entity
346
+ */
347
+ checkUniqueField(path: string, name: string, value: any, entityId?: string): Promise<boolean>;
348
+
349
+ /**
350
+ * Generate an id for a new entity
351
+ */
352
+ generateEntityId(path: string): string;
353
+
354
+ /**
355
+ * Count the number of entities in a collection
356
+ */
357
+ countEntities<M extends Record<string, any> = any>(props: FetchCollectionDelegateProps<M>): Promise<number>;
358
+
359
+ /**
360
+ * Check if the given filter combination is valid
361
+ * @param props
362
+ */
363
+ isFilterCombinationValid?(props: Omit<FilterCombinationValidProps, "collection">): boolean;
364
+
365
+ /**
366
+ * Convert a FireCMS reference to a reference that can be used by the datasource
367
+ * @param reference
368
+ */
369
+ buildReference: (reference: EntityReference) => any,
370
+
371
+ /**
372
+ * Convert a FireCMS GeoPoint to a GeoPoint that can be used by the datasource
373
+ * @param geoPoint
374
+ */
375
+ buildGeoPoint: (geoPoint: GeoPoint) => any,
376
+
377
+ /**
378
+ * Get the object to generate the current time in the datasource
379
+ */
380
+ currentTime(): any;
381
+
382
+ buildDate: (date: Date) => any;
383
+
384
+ buildDeleteFieldValue: () => any;
385
+
386
+ delegateToCMSModel: (data: any) => any;
387
+
388
+ setDateToMidnight: (input?: any) => any;
389
+ }
@@ -0,0 +1,33 @@
1
+ import React from "react";
2
+
3
+ /**
4
+ * Controller to open the side dialog
5
+ * @group Hooks and utilities
6
+ */
7
+ export interface DialogsController {
8
+
9
+ /**
10
+ * Close the last dialog
11
+ */
12
+ close: () => void;
13
+
14
+ /**
15
+ * Open a dialog
16
+ * @param props
17
+ */
18
+ open: (props: DialogControllerEntryProps) => { closeDialog: () => void };
19
+ }
20
+
21
+ /**
22
+ * Props used to open a side dialog
23
+ * @group Hooks and utilities
24
+ */
25
+ export interface DialogControllerEntryProps {
26
+
27
+ key: string;
28
+ /**
29
+ * The component type that will be rendered
30
+ */
31
+ Component: React.ComponentType<{ open: boolean, closeDialog: () => void }>;
32
+
33
+ }
@@ -0,0 +1,76 @@
1
+ /**
2
+ * New or existing status
3
+ * @group Models
4
+ */
5
+ export type EntityStatus = "new" | "existing" | "copy";
6
+
7
+ /**
8
+ * Representation of an entity fetched from the datasource
9
+ * @group Models
10
+ */
11
+ export interface Entity<M extends object> {
12
+
13
+ /**
14
+ * ID of the entity
15
+ */
16
+ id: string;
17
+
18
+ /**
19
+ * A string representing the path of the referenced document (relative
20
+ * to the root of the database).
21
+ */
22
+ path: string;
23
+
24
+ /**
25
+ * Current values
26
+ */
27
+ values: EntityValues<M>;
28
+ }
29
+
30
+ /**
31
+ * This type represents a record of key value pairs as described in an
32
+ * entity collection.
33
+ * @group Models
34
+ */
35
+ export type EntityValues<M extends object> = M;
36
+
37
+ /**
38
+ * Class used to create a reference to an entity in a different path
39
+ */
40
+ export class EntityReference<M extends Record<string, any> = any> {
41
+ /**
42
+ * ID of the entity
43
+ */
44
+ readonly id: string;
45
+ /**
46
+ * A string representing the path of the referenced document (relative
47
+ * to the root of the database).
48
+ */
49
+ readonly path: string;
50
+
51
+ constructor(id: string, path: string) {
52
+ this.id = id;
53
+ this.path = path;
54
+ }
55
+
56
+ get pathWithId() {
57
+ return `${this.path}/${this.id}`;
58
+ }
59
+ }
60
+
61
+ export class GeoPoint {
62
+
63
+ /**
64
+ * The latitude of this GeoPoint instance.
65
+ */
66
+ readonly latitude: number;
67
+ /**
68
+ * The longitude of this GeoPoint instance.
69
+ */
70
+ readonly longitude: number;
71
+
72
+ constructor(latitude: number, longitude: number) {
73
+ this.latitude = latitude;
74
+ this.longitude = longitude;
75
+ }
76
+ }
@@ -0,0 +1,39 @@
1
+ import React from "react";
2
+ import { FireCMSContext } from "./firecms_context";
3
+ import { Entity } from "./entities";
4
+ import { EntityCollection, SelectionController } from "./collections";
5
+ import { User } from "./user";
6
+ import { SideEntityController } from "./side_entity_controller";
7
+
8
+ export type EntityAction<M extends object = any, UserType extends User = User> = {
9
+ name: string;
10
+ icon?: React.ReactElement;
11
+ onClick: (props: EntityActionClickProps<M, UserType>) => Promise<void> | void;
12
+
13
+ /**
14
+ * Show this action collapsed in the menu of the collection view.
15
+ * Defaults to true
16
+ * If false, the action will be shown in the menu
17
+ */
18
+ collapsed?: boolean;
19
+
20
+ /**
21
+ * Show this action in the form, defaults to true
22
+ */
23
+ includeInForm?: boolean;
24
+ }
25
+
26
+ export type EntityActionClickProps<M extends object, UserType extends User = User> = {
27
+ entity: Entity<M>;
28
+ context: FireCMSContext<UserType>;
29
+ fullPath?: string;
30
+ collection?: EntityCollection<M>;
31
+ selectionController?: SelectionController;
32
+ highlightEntity?: (entity: Entity<any>) => void;
33
+ unhighlightEntity?: (entity: Entity<any>) => void;
34
+ onCollectionChange?: () => void;
35
+ /**
36
+ * If this actions is being called from a side dialog
37
+ */
38
+ sideEntityController?: SideEntityController;
39
+ };