@firecms/core 3.0.0-alpha.8 → 3.0.0-alpha.80

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 (470) 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/DeleteEntityDialog.d.ts +12 -0
  6. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +35 -0
  7. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +30 -0
  8. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +106 -0
  9. package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +18 -0
  10. package/dist/components/EntityCollectionTable/SimpleEntityCollectionTable.d.ts +95 -0
  11. package/dist/components/EntityCollectionTable/column_utils.d.ts +16 -0
  12. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +15 -0
  13. package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +33 -0
  14. package/dist/components/EntityCollectionTable/filters/BooleanFilterField.d.ts +9 -0
  15. package/dist/components/EntityCollectionTable/filters/DateTimeFilterField.d.ts +11 -0
  16. package/dist/components/EntityCollectionTable/filters/ReferenceFilterField.d.ts +14 -0
  17. package/dist/components/EntityCollectionTable/filters/StringNumberFilterField.d.ts +13 -0
  18. package/dist/components/EntityCollectionTable/index.d.ts +8 -0
  19. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +18 -0
  20. package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +26 -0
  21. package/dist/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +9 -0
  22. package/dist/components/EntityCollectionTable/internal/common.d.ts +4 -0
  23. package/dist/components/EntityCollectionTable/internal/default_entity_actions.d.ts +6 -0
  24. package/dist/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +5 -0
  25. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +23 -0
  26. package/dist/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +13 -0
  27. package/dist/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +6 -0
  28. package/dist/components/EntityCollectionTable/types.d.ts +53 -0
  29. package/dist/components/EntityCollectionTable/useDataSourceEntityCollectionTableController.d.ts +32 -0
  30. package/dist/components/EntityCollectionTable/useDebouncedData.d.ts +9 -0
  31. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +37 -0
  32. package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +14 -0
  33. package/dist/components/EntityCollectionView/useColumnsIds.d.ts +4 -0
  34. package/dist/components/EntityPreview.d.ts +11 -0
  35. package/dist/components/ErrorBoundary.d.ts +11 -0
  36. package/dist/components/ErrorTooltip.d.ts +2 -0
  37. package/dist/components/ErrorView.d.ts +19 -0
  38. package/dist/components/FieldConfigBadge.d.ts +4 -0
  39. package/dist/components/FireCMSAppBar.d.ts +26 -0
  40. package/dist/components/FireCMSLogo.d.ts +7 -0
  41. package/dist/components/HomePage/DefaultHomePage.d.ts +21 -0
  42. package/dist/components/HomePage/FavouritesView.d.ts +3 -0
  43. package/dist/components/HomePage/NavigationCollectionCard.d.ts +17 -0
  44. package/dist/components/HomePage/NavigationGroup.d.ts +4 -0
  45. package/dist/components/HomePage/index.d.ts +3 -0
  46. package/dist/components/LabelWithIcon.d.ts +14 -0
  47. package/dist/components/NotFoundPage.d.ts +1 -0
  48. package/dist/components/ReferenceSelectionInner.d.ts +58 -0
  49. package/dist/components/ReferenceWidget.d.ts +28 -0
  50. package/dist/components/SearchIconsView.d.ts +5 -0
  51. package/dist/components/VirtualTable/VirtualTable.d.ts +11 -0
  52. package/dist/components/VirtualTable/VirtualTableCell.d.ts +14 -0
  53. package/dist/components/VirtualTable/VirtualTableHeader.d.ts +27 -0
  54. package/dist/components/VirtualTable/VirtualTableHeaderRow.d.ts +2 -0
  55. package/dist/components/VirtualTable/VirtualTableProps.d.ts +214 -0
  56. package/dist/components/VirtualTable/VirtualTableRow.d.ts +3 -0
  57. package/dist/components/VirtualTable/common.d.ts +2 -0
  58. package/dist/components/VirtualTable/fields/VirtualTableDateField.d.ts +11 -0
  59. package/dist/components/VirtualTable/fields/VirtualTableInput.d.ts +8 -0
  60. package/dist/components/VirtualTable/fields/VirtualTableNumberInput.d.ts +8 -0
  61. package/dist/components/VirtualTable/fields/VirtualTableSelect.d.ts +15 -0
  62. package/dist/components/VirtualTable/fields/VirtualTableSwitch.d.ts +7 -0
  63. package/dist/components/VirtualTable/index.d.ts +2 -0
  64. package/dist/components/VirtualTable/types.d.ts +34 -0
  65. package/dist/components/index.d.ts +21 -0
  66. package/dist/contexts/AuthControllerContext.d.ts +3 -0
  67. package/dist/contexts/DataSourceContext.d.ts +3 -0
  68. package/dist/contexts/DialogsProvider.d.ts +4 -0
  69. package/dist/contexts/ModeController.d.ts +4 -0
  70. package/dist/contexts/NavigationContext.d.ts +3 -0
  71. package/dist/contexts/SideDialogsControllerContext.d.ts +3 -0
  72. package/dist/contexts/SideEntityControllerContext.d.ts +3 -0
  73. package/dist/contexts/SnackbarProvider.d.ts +2 -0
  74. package/dist/contexts/StorageSourceContext.d.ts +3 -0
  75. package/dist/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
  76. package/dist/contexts/index.d.ts +3 -0
  77. package/dist/core/Drawer.d.ts +23 -0
  78. package/dist/core/EntitySidePanel.d.ts +10 -0
  79. package/dist/core/FireCMS.d.ts +14 -0
  80. package/dist/core/NavigationRoutes.d.ts +21 -0
  81. package/dist/core/Scaffold.d.ts +52 -0
  82. package/dist/core/SideDialogs.d.ts +23 -0
  83. package/dist/core/field_configs.d.ts +7 -0
  84. package/dist/core/index.d.ts +10 -0
  85. package/dist/core/useBuildLocalConfigurationPersistence.d.ts +2 -0
  86. package/dist/core/useBuildModeController.d.ts +6 -0
  87. package/dist/form/EntityForm.d.ts +75 -0
  88. package/dist/form/PropertyFieldBinding.d.ts +30 -0
  89. package/dist/form/components/CustomIdField.d.ts +9 -0
  90. package/dist/form/components/ErrorFocus.d.ts +4 -0
  91. package/dist/form/components/FieldHelperText.d.ts +12 -0
  92. package/dist/form/components/FormikArrayContainer.d.ts +18 -0
  93. package/dist/form/components/StorageItemPreview.d.ts +13 -0
  94. package/dist/form/components/StorageUploadProgress.d.ts +10 -0
  95. package/dist/form/components/SubmitListener.d.ts +1 -0
  96. package/dist/form/components/SwitchControl.d.ts +8 -0
  97. package/dist/form/components/index.d.ts +3 -0
  98. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +9 -0
  99. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +11 -0
  100. package/dist/form/field_bindings/BlockFieldBinding.d.ts +10 -0
  101. package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +11 -0
  102. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +7 -0
  103. package/dist/form/field_bindings/MapFieldBinding.d.ts +9 -0
  104. package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +9 -0
  105. package/dist/form/field_bindings/MultiSelectBinding.d.ts +9 -0
  106. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +10 -0
  107. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +9 -0
  108. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +10 -0
  109. package/dist/form/field_bindings/SelectFieldBinding.d.ts +12 -0
  110. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +28 -0
  111. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +12 -0
  112. package/dist/form/field_bindings/TextFieldBinding.d.ts +12 -0
  113. package/dist/form/index.d.ts +20 -0
  114. package/dist/form/useClearRestoreValue.d.ts +13 -0
  115. package/dist/form/validation.d.ts +25 -0
  116. package/dist/hooks/data/delete.d.ts +37 -0
  117. package/dist/hooks/data/save.d.ts +42 -0
  118. package/dist/hooks/data/useCollectionFetch.d.ts +50 -0
  119. package/dist/hooks/data/useDataOrder.d.ts +12 -0
  120. package/dist/hooks/data/useDataSource.d.ts +6 -0
  121. package/dist/hooks/data/useEntityFetch.d.ts +28 -0
  122. package/dist/hooks/index.d.ts +19 -0
  123. package/dist/hooks/useAuthController.d.ts +11 -0
  124. package/dist/hooks/useBrowserTitleAndIcon.d.ts +6 -0
  125. package/dist/hooks/useClipboard.d.ts +57 -0
  126. package/dist/hooks/useDialogsController.d.ts +11 -0
  127. package/dist/hooks/useFireCMSContext.d.ts +12 -0
  128. package/dist/hooks/useLargeLayout.d.ts +1 -0
  129. package/dist/hooks/useModeController.d.ts +20 -0
  130. package/dist/hooks/useNavigationController.d.ts +9 -0
  131. package/dist/hooks/useReferenceDialog.d.ts +18 -0
  132. package/dist/hooks/useResolvedNavigationFrom.d.ts +72 -0
  133. package/dist/hooks/useSideDialogsController.d.ts +18 -0
  134. package/dist/hooks/useSideEntityController.d.ts +12 -0
  135. package/dist/hooks/useSnackbarController.d.ts +41 -0
  136. package/dist/hooks/useStorageSource.d.ts +6 -0
  137. package/dist/hooks/useUserConfigurationPersistence.d.ts +8 -0
  138. package/dist/hooks/useVerifyLicense.d.ts +0 -0
  139. package/dist/index.d.ts +8 -0
  140. package/dist/index.es.js +15810 -26791
  141. package/dist/index.es.js.map +1 -1
  142. package/dist/index.umd.js +5 -1027
  143. package/dist/index.umd.js.map +1 -1
  144. package/dist/internal/EntityView.d.ts +22 -0
  145. package/dist/internal/common.d.ts +3 -0
  146. package/dist/internal/useBuildDataSource.d.ts +22 -0
  147. package/dist/internal/useBuildNavigationController.d.ts +14 -0
  148. package/dist/internal/useBuildSideDialogsController.d.ts +2 -0
  149. package/dist/internal/useBuildSideEntityController.d.ts +4 -0
  150. package/dist/internal/useLocaleConfig.d.ts +1 -0
  151. package/dist/internal/useRestoreScroll.d.ts +6 -0
  152. package/dist/internal/useUnsavedChangesDialog.d.ts +14 -0
  153. package/dist/preview/PropertyPreview.d.ts +7 -0
  154. package/dist/preview/PropertyPreviewProps.d.ts +43 -0
  155. package/dist/preview/components/ArrayEnumPreview.d.ts +11 -0
  156. package/dist/preview/components/AsyncPreviewComponent.d.ts +11 -0
  157. package/dist/preview/components/BooleanPreview.d.ts +7 -0
  158. package/dist/preview/components/DatePreview.d.ts +7 -0
  159. package/dist/preview/components/EmptyValue.d.ts +4 -0
  160. package/dist/preview/components/EnumValuesChip.d.ts +13 -0
  161. package/dist/preview/components/ImagePreview.d.ts +12 -0
  162. package/dist/preview/components/ReferencePreview.d.ts +22 -0
  163. package/dist/preview/components/StorageThumbnail.d.ts +13 -0
  164. package/dist/preview/components/UrlComponentPreview.d.ts +12 -0
  165. package/dist/preview/index.d.ts +23 -0
  166. package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +5 -0
  167. package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +5 -0
  168. package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +5 -0
  169. package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +5 -0
  170. package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +5 -0
  171. package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +5 -0
  172. package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +5 -0
  173. package/dist/preview/property_previews/MapPropertyPreview.d.ts +8 -0
  174. package/dist/preview/property_previews/NumberPropertyPreview.d.ts +6 -0
  175. package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +14 -0
  176. package/dist/preview/property_previews/StringPropertyPreview.d.ts +6 -0
  177. package/dist/preview/util.d.ts +7 -0
  178. package/dist/types/analytics.d.ts +1 -0
  179. package/dist/types/appcheck.d.ts +26 -0
  180. package/dist/types/auth.d.ts +40 -0
  181. package/dist/types/collections.d.ts +451 -0
  182. package/dist/types/datasource.d.ts +262 -0
  183. package/dist/types/dialogs_controller.d.ts +32 -0
  184. package/dist/types/entities.d.ts +57 -0
  185. package/dist/types/entity_actions.d.ts +35 -0
  186. package/dist/types/entity_callbacks.d.ts +171 -0
  187. package/dist/types/entity_link_builder.d.ts +7 -0
  188. package/dist/types/export_import.d.ts +21 -0
  189. package/dist/types/fields.d.ts +181 -0
  190. package/dist/types/firecms.d.ts +151 -0
  191. package/dist/types/firecms_context.d.ts +110 -0
  192. package/dist/types/index.d.ts +26 -0
  193. package/dist/types/local_config_persistence.d.ts +21 -0
  194. package/dist/types/locales.d.ts +4 -0
  195. package/dist/types/modify_collections.d.ts +5 -0
  196. package/dist/types/navigation.d.ts +178 -0
  197. package/dist/types/permissions.d.ts +63 -0
  198. package/dist/types/plugins.d.ts +181 -0
  199. package/dist/types/properties.d.ts +681 -0
  200. package/dist/types/property_config.d.ts +42 -0
  201. package/dist/types/resolved_entities.d.ts +98 -0
  202. package/dist/types/side_dialogs_controller.d.ts +57 -0
  203. package/dist/types/side_entity_controller.d.ts +83 -0
  204. package/dist/types/storage.d.ts +82 -0
  205. package/dist/types/user.d.ts +36 -0
  206. package/dist/util/arrays.d.ts +1 -0
  207. package/dist/util/builders.d.ts +64 -0
  208. package/dist/util/collections.d.ts +3 -0
  209. package/dist/util/common.d.ts +2 -0
  210. package/dist/util/dates.d.ts +1 -0
  211. package/dist/util/entities.d.ts +28 -0
  212. package/dist/util/enums.d.ts +7 -0
  213. package/dist/util/flatten_object.d.ts +3 -0
  214. package/dist/util/hash.d.ts +1 -0
  215. package/dist/util/icon_list.d.ts +1 -0
  216. package/dist/util/icon_synonyms.d.ts +1950 -0
  217. package/dist/util/icons.d.ts +4 -0
  218. package/dist/util/index.d.ts +22 -0
  219. package/dist/util/join_collections.d.ts +9 -0
  220. package/dist/util/make_properties_editable.d.ts +3 -0
  221. package/dist/util/navigation_from_path.d.ts +24 -0
  222. package/dist/util/navigation_utils.d.ts +20 -0
  223. package/dist/util/objects.d.ts +10 -0
  224. package/dist/util/os.d.ts +2 -0
  225. package/dist/util/parent_references_from_path.d.ts +6 -0
  226. package/dist/util/paths.d.ts +14 -0
  227. package/dist/util/permissions.d.ts +5 -0
  228. package/dist/util/plurals.d.ts +18 -0
  229. package/dist/util/property_utils.d.ts +23 -0
  230. package/dist/util/references.d.ts +2 -0
  231. package/dist/util/regexp.d.ts +7 -0
  232. package/dist/util/resolutions.d.ts +64 -0
  233. package/dist/util/storage.d.ts +3 -0
  234. package/dist/util/strings.d.ts +6 -0
  235. package/dist/util/useDebounce.d.ts +1 -0
  236. package/dist/util/useStorageUploadController.d.ts +36 -0
  237. package/dist/util/useTraceUpdate.d.ts +1 -0
  238. package/package.json +112 -142
  239. package/src/components/ArrayContainer.tsx +369 -0
  240. package/src/components/CircularProgressCenter.tsx +26 -0
  241. package/src/components/DeleteConfirmationDialog.tsx +47 -0
  242. package/src/components/DeleteEntityDialog.tsx +207 -0
  243. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +174 -0
  244. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +496 -0
  245. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +150 -0
  246. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +461 -0
  247. package/src/components/EntityCollectionTable/SimpleEntityCollectionTable.tsx +369 -0
  248. package/src/components/EntityCollectionTable/column_utils.tsx +74 -0
  249. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +159 -0
  250. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +313 -0
  251. package/src/components/EntityCollectionTable/filters/BooleanFilterField.tsx +49 -0
  252. package/src/components/EntityCollectionTable/filters/DateTimeFilterField.tsx +109 -0
  253. package/src/components/EntityCollectionTable/filters/ReferenceFilterField.tsx +187 -0
  254. package/src/components/EntityCollectionTable/filters/StringNumberFilterField.tsx +159 -0
  255. package/src/components/EntityCollectionTable/index.tsx +20 -0
  256. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +113 -0
  257. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +257 -0
  258. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +70 -0
  259. package/src/components/EntityCollectionTable/internal/common.tsx +70 -0
  260. package/src/components/EntityCollectionTable/internal/default_entity_actions.tsx +122 -0
  261. package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +59 -0
  262. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +401 -0
  263. package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +97 -0
  264. package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.tsx +20 -0
  265. package/src/components/EntityCollectionTable/types.tsx +58 -0
  266. package/src/components/EntityCollectionTable/useDataSourceEntityCollectionTableController.tsx +225 -0
  267. package/src/components/EntityCollectionTable/useDebouncedData.ts +49 -0
  268. package/src/components/EntityCollectionView/EntityCollectionView.tsx +815 -0
  269. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +131 -0
  270. package/src/components/EntityCollectionView/useColumnsIds.tsx +100 -0
  271. package/src/components/EntityPreview.tsx +83 -0
  272. package/src/components/ErrorBoundary.tsx +40 -0
  273. package/src/components/ErrorTooltip.tsx +11 -0
  274. package/src/components/ErrorView.tsx +52 -0
  275. package/src/components/FieldConfigBadge.tsx +17 -0
  276. package/src/components/FireCMSAppBar.tsx +157 -0
  277. package/src/components/FireCMSLogo.tsx +73 -0
  278. package/src/components/HomePage/DefaultHomePage.tsx +209 -0
  279. package/src/components/HomePage/FavouritesView.tsx +64 -0
  280. package/src/components/HomePage/NavigationCollectionCard.tsx +145 -0
  281. package/src/components/HomePage/NavigationGroup.tsx +39 -0
  282. package/src/components/HomePage/index.tsx +3 -0
  283. package/src/components/LabelWithIcon.tsx +33 -0
  284. package/src/components/NotFoundPage.tsx +25 -0
  285. package/src/components/ReferenceSelectionInner.tsx +364 -0
  286. package/src/components/ReferenceWidget.tsx +145 -0
  287. package/src/components/SearchIconsView.tsx +75 -0
  288. package/src/components/VirtualTable/VirtualTable.tsx +402 -0
  289. package/src/components/VirtualTable/VirtualTableCell.tsx +32 -0
  290. package/src/components/VirtualTable/VirtualTableHeader.tsx +260 -0
  291. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +131 -0
  292. package/src/components/VirtualTable/VirtualTableProps.tsx +269 -0
  293. package/src/components/VirtualTable/VirtualTableRow.tsx +53 -0
  294. package/src/components/VirtualTable/common.tsx +18 -0
  295. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +37 -0
  296. package/src/components/VirtualTable/fields/VirtualTableInput.tsx +91 -0
  297. package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +82 -0
  298. package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +130 -0
  299. package/src/components/VirtualTable/fields/VirtualTableSwitch.tsx +32 -0
  300. package/src/components/VirtualTable/index.tsx +2 -0
  301. package/src/components/VirtualTable/types.tsx +44 -0
  302. package/src/components/index.tsx +31 -0
  303. package/src/contexts/AuthControllerContext.tsx +4 -0
  304. package/src/contexts/DataSourceContext.tsx +4 -0
  305. package/src/contexts/DialogsProvider.tsx +52 -0
  306. package/src/contexts/ModeController.tsx +13 -0
  307. package/src/contexts/NavigationContext.tsx +4 -0
  308. package/src/contexts/SideDialogsControllerContext.tsx +4 -0
  309. package/src/contexts/SideEntityControllerContext.tsx +4 -0
  310. package/src/contexts/SnackbarProvider.tsx +12 -0
  311. package/src/contexts/StorageSourceContext.tsx +4 -0
  312. package/src/contexts/UserConfigurationPersistenceContext.tsx +4 -0
  313. package/src/contexts/index.ts +3 -0
  314. package/src/core/Drawer.tsx +161 -0
  315. package/src/core/EntitySidePanel.tsx +89 -0
  316. package/src/core/FireCMS.tsx +184 -0
  317. package/src/core/NavigationRoutes.tsx +118 -0
  318. package/src/core/Scaffold.tsx +278 -0
  319. package/src/core/SideDialogs.tsx +156 -0
  320. package/src/core/field_configs.tsx +400 -0
  321. package/src/core/index.tsx +14 -0
  322. package/src/core/useBuildLocalConfigurationPersistence.tsx +67 -0
  323. package/src/core/useBuildModeController.tsx +60 -0
  324. package/src/form/EntityForm.tsx +646 -0
  325. package/src/form/PropertyFieldBinding.tsx +313 -0
  326. package/src/form/components/CustomIdField.tsx +124 -0
  327. package/src/form/components/ErrorFocus.tsx +51 -0
  328. package/src/form/components/FieldHelperText.tsx +58 -0
  329. package/src/form/components/FormikArrayContainer.tsx +44 -0
  330. package/src/form/components/StorageItemPreview.tsx +66 -0
  331. package/src/form/components/StorageUploadProgress.tsx +104 -0
  332. package/src/form/components/SubmitListener.tsx +32 -0
  333. package/src/form/components/SwitchControl.tsx +39 -0
  334. package/src/form/components/index.tsx +3 -0
  335. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +88 -0
  336. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +153 -0
  337. package/src/form/field_bindings/BlockFieldBinding.tsx +245 -0
  338. package/src/form/field_bindings/DateTimeFieldBinding.tsx +67 -0
  339. package/src/form/field_bindings/KeyValueFieldBinding.tsx +560 -0
  340. package/src/form/field_bindings/MapFieldBinding.tsx +136 -0
  341. package/src/form/field_bindings/MarkdownFieldBinding.tsx +696 -0
  342. package/src/form/field_bindings/MultiSelectBinding.tsx +115 -0
  343. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +70 -0
  344. package/src/form/field_bindings/ReferenceFieldBinding.tsx +122 -0
  345. package/src/form/field_bindings/RepeatFieldBinding.tsx +103 -0
  346. package/src/form/field_bindings/SelectFieldBinding.tsx +100 -0
  347. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +438 -0
  348. package/src/form/field_bindings/SwitchFieldBinding.tsx +61 -0
  349. package/src/form/field_bindings/TextFieldBinding.tsx +108 -0
  350. package/src/form/index.tsx +42 -0
  351. package/src/form/useClearRestoreValue.tsx +35 -0
  352. package/src/form/validation.ts +413 -0
  353. package/src/hooks/data/delete.ts +101 -0
  354. package/src/hooks/data/save.ts +165 -0
  355. package/src/hooks/data/useCollectionFetch.tsx +162 -0
  356. package/src/hooks/data/useDataOrder.ts +26 -0
  357. package/src/hooks/data/useDataSource.tsx +9 -0
  358. package/src/hooks/data/useEntityFetch.tsx +129 -0
  359. package/src/hooks/index.tsx +23 -0
  360. package/src/hooks/useAuthController.tsx +14 -0
  361. package/src/hooks/useBrowserTitleAndIcon.tsx +25 -0
  362. package/src/hooks/useClipboard.tsx +158 -0
  363. package/src/hooks/useDialogsController.tsx +14 -0
  364. package/src/hooks/useFireCMSContext.tsx +50 -0
  365. package/src/hooks/useLargeLayout.tsx +97 -0
  366. package/src/hooks/useModeController.tsx +24 -0
  367. package/src/hooks/useNavigationController.tsx +12 -0
  368. package/src/hooks/useReferenceDialog.tsx +56 -0
  369. package/src/hooks/useResolvedNavigationFrom.tsx +160 -0
  370. package/src/hooks/useSideDialogsController.tsx +21 -0
  371. package/src/hooks/useSideEntityController.tsx +15 -0
  372. package/src/hooks/useSnackbarController.tsx +76 -0
  373. package/src/hooks/useStorageSource.tsx +9 -0
  374. package/src/hooks/useUserConfigurationPersistence.tsx +11 -0
  375. package/src/hooks/useVerifyLicense.tsx +1 -0
  376. package/src/index.ts +8 -0
  377. package/src/internal/EntityView.tsx +576 -0
  378. package/src/internal/common.tsx +5 -0
  379. package/src/internal/useBuildDataSource.ts +358 -0
  380. package/src/internal/useBuildNavigationController.tsx +371 -0
  381. package/src/internal/useBuildSideDialogsController.tsx +126 -0
  382. package/src/internal/useBuildSideEntityController.tsx +172 -0
  383. package/src/internal/useLocaleConfig.tsx +18 -0
  384. package/src/internal/useRestoreScroll.tsx +48 -0
  385. package/src/internal/useUnsavedChangesDialog.tsx +106 -0
  386. package/src/preview/PropertyPreview.tsx +222 -0
  387. package/src/preview/PropertyPreviewProps.tsx +59 -0
  388. package/src/preview/components/ArrayEnumPreview.tsx +39 -0
  389. package/src/preview/components/AsyncPreviewComponent.tsx +47 -0
  390. package/src/preview/components/BooleanPreview.tsx +11 -0
  391. package/src/preview/components/DatePreview.tsx +27 -0
  392. package/src/preview/components/EmptyValue.tsx +10 -0
  393. package/src/preview/components/EnumValuesChip.tsx +38 -0
  394. package/src/preview/components/ImagePreview.tsx +106 -0
  395. package/src/preview/components/ReferencePreview.tsx +249 -0
  396. package/src/preview/components/StorageThumbnail.tsx +84 -0
  397. package/src/preview/components/UrlComponentPreview.tsx +79 -0
  398. package/src/preview/index.ts +27 -0
  399. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +82 -0
  400. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +52 -0
  401. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +54 -0
  402. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +55 -0
  403. package/src/preview/property_previews/ArrayOneOfPreview.tsx +67 -0
  404. package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +28 -0
  405. package/src/preview/property_previews/ArrayPropertyPreview.tsx +68 -0
  406. package/src/preview/property_previews/MapPropertyPreview.tsx +146 -0
  407. package/src/preview/property_previews/NumberPropertyPreview.tsx +27 -0
  408. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +283 -0
  409. package/src/preview/property_previews/StringPropertyPreview.tsx +59 -0
  410. package/src/preview/util.ts +31 -0
  411. package/src/types/analytics.ts +34 -0
  412. package/src/types/appcheck.ts +29 -0
  413. package/src/types/auth.tsx +49 -0
  414. package/src/types/collections.ts +530 -0
  415. package/src/types/datasource.ts +389 -0
  416. package/src/types/dialogs_controller.tsx +33 -0
  417. package/src/types/entities.ts +76 -0
  418. package/src/types/entity_actions.tsx +39 -0
  419. package/src/types/entity_callbacks.ts +209 -0
  420. package/src/types/entity_link_builder.ts +8 -0
  421. package/src/types/export_import.ts +26 -0
  422. package/src/types/fields.tsx +220 -0
  423. package/src/types/firecms.tsx +175 -0
  424. package/src/types/firecms_context.tsx +128 -0
  425. package/src/types/index.ts +26 -0
  426. package/src/types/local_config_persistence.tsx +23 -0
  427. package/src/types/locales.ts +81 -0
  428. package/src/types/modify_collections.tsx +6 -0
  429. package/src/types/navigation.ts +214 -0
  430. package/src/types/permissions.ts +76 -0
  431. package/src/types/plugins.tsx +219 -0
  432. package/src/types/properties.ts +851 -0
  433. package/src/types/property_config.tsx +72 -0
  434. package/src/types/resolved_entities.ts +148 -0
  435. package/src/types/side_dialogs_controller.tsx +68 -0
  436. package/src/types/side_entity_controller.tsx +96 -0
  437. package/src/types/storage.ts +96 -0
  438. package/src/types/user.ts +37 -0
  439. package/src/util/arrays.ts +3 -0
  440. package/src/util/builders.ts +139 -0
  441. package/src/util/collections.ts +50 -0
  442. package/src/util/common.tsx +2 -0
  443. package/src/util/dates.ts +1 -0
  444. package/src/util/entities.ts +196 -0
  445. package/src/util/enums.ts +56 -0
  446. package/src/util/flatten_object.ts +45 -0
  447. package/src/util/hash.ts +11 -0
  448. package/src/util/icon_list.ts +17 -0
  449. package/src/util/icon_synonyms.ts +1950 -0
  450. package/src/util/icons.tsx +45 -0
  451. package/src/util/index.ts +22 -0
  452. package/src/util/join_collections.ts +172 -0
  453. package/src/util/make_properties_editable.ts +29 -0
  454. package/src/util/navigation_from_path.ts +107 -0
  455. package/src/util/navigation_utils.ts +111 -0
  456. package/src/util/objects.ts +168 -0
  457. package/src/util/os.ts +13 -0
  458. package/src/util/parent_references_from_path.ts +56 -0
  459. package/src/util/paths.ts +27 -0
  460. package/src/util/permissions.ts +80 -0
  461. package/src/util/plurals.ts +190 -0
  462. package/src/util/property_utils.tsx +130 -0
  463. package/src/util/references.ts +20 -0
  464. package/src/util/regexp.ts +32 -0
  465. package/src/util/resolutions.ts +399 -0
  466. package/src/util/storage.ts +92 -0
  467. package/src/util/strings.ts +62 -0
  468. package/src/util/useDebounce.ts +25 -0
  469. package/src/util/useStorageUploadController.tsx +243 -0
  470. package/src/util/useTraceUpdate.tsx +23 -0
@@ -0,0 +1,30 @@
1
+ import { ReactElement } from "react";
2
+ import { CMSType, PropertyFieldBindingProps } from "../types";
3
+ /**
4
+ * This component renders a form field creating the corresponding configuration
5
+ * from a property. For example if bound to a string property, it will generate
6
+ * a text field.
7
+ *
8
+ * You can use it when you are creating a custom field, and need to
9
+ * render additional fields mapped to properties. This is useful if you
10
+ * need to build a complex property mapping, like an array where each index
11
+ * is a different property.
12
+ *
13
+ * Please note that if you build a custom field in a component, the
14
+ * **validation** passed in the property will have no effect. You need to set
15
+ * the validation in the `EntityCollection` definition.
16
+ *
17
+ * @param propertyKey You can use nested names such as `address.street` or `friends[2]`
18
+ * @param property
19
+ * @param context
20
+ * @param includeDescription
21
+ * @param underlyingValueHasChanged
22
+ * @param disabled
23
+ * @param tableMode
24
+ * @param partOfArray
25
+ * @param autoFocus
26
+ * @group Form custom fields
27
+ */
28
+ export declare const PropertyFieldBinding: typeof PropertyFieldBindingInternal;
29
+ declare function PropertyFieldBindingInternal<T extends CMSType = CMSType, CustomProps = any, M extends Record<string, any> = Record<string, any>>({ propertyKey, property, context, includeDescription, underlyingValueHasChanged, disabled, tableMode, partOfArray, partOfBlock, autoFocus, }: PropertyFieldBindingProps<T, M>): ReactElement<PropertyFieldBindingProps<T, M>>;
30
+ export {};
@@ -0,0 +1,9 @@
1
+ import { Entity, EntityStatus, EnumValues } from "../../types";
2
+ export declare function CustomIdField<M extends Record<string, any>>({ customId, entityId, status, onChange, error, entity }: {
3
+ customId?: boolean | EnumValues | "optional";
4
+ entityId?: string;
5
+ status: EntityStatus;
6
+ onChange: (id?: string) => void;
7
+ error: boolean;
8
+ entity: Entity<M> | undefined;
9
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import React from "react";
2
+ export declare const ErrorFocus: ({ containerRef }: {
3
+ containerRef?: React.RefObject<HTMLDivElement> | undefined;
4
+ }) => null;
@@ -0,0 +1,12 @@
1
+ import { ResolvedProperty } from "../../types";
2
+ /**
3
+ * Component in charge of rendering the description of a field
4
+ * as well as the error message if any.
5
+ */
6
+ export declare function FieldHelperText({ error, showError, property, includeDescription, disabled }: {
7
+ error?: string;
8
+ showError: boolean;
9
+ property: ResolvedProperty;
10
+ includeDescription?: boolean;
11
+ disabled?: boolean;
12
+ }): import("react/jsx-runtime").JSX.Element | null;
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ interface ArrayContainerProps<T> {
3
+ value: T[];
4
+ name: string;
5
+ addLabel: string;
6
+ buildEntry: (index: number, internalId: number) => React.ReactNode;
7
+ disabled?: boolean;
8
+ small?: boolean;
9
+ onInternalIdAdded?: (id: number) => void;
10
+ includeAddButton?: boolean;
11
+ newDefaultEntry?: T | null;
12
+ setFieldValue: (field: string, value: any, shouldValidate?: boolean | undefined) => void;
13
+ }
14
+ /**
15
+ * @group Form custom fields
16
+ */
17
+ export declare function FormikArrayContainer<T>({ name, addLabel, value, disabled, buildEntry, small, onInternalIdAdded, includeAddButton, newDefaultEntry, setFieldValue }: ArrayContainerProps<T>): import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,13 @@
1
+ import { Entity, ResolvedStringProperty } from "../../types";
2
+ import { PreviewSize } from "../../preview";
3
+ interface StorageItemPreviewProps {
4
+ name: string;
5
+ property: ResolvedStringProperty;
6
+ value: string;
7
+ entity: Entity<any>;
8
+ onRemove: (value: string) => void;
9
+ size: PreviewSize;
10
+ disabled: boolean;
11
+ }
12
+ export declare function StorageItemPreview({ name, property, value, entity, onRemove, disabled, size }: StorageItemPreviewProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,10 @@
1
+ import { StorageFieldItem } from "../../util/useStorageUploadController";
2
+ export interface StorageUploadItemProps {
3
+ storagePath: string;
4
+ metadata?: any;
5
+ entry: StorageFieldItem;
6
+ onFileUploadComplete: (value: string, entry: StorageFieldItem, metadata?: any) => Promise<void>;
7
+ imageSize: number;
8
+ simple: boolean;
9
+ }
10
+ export declare function StorageUploadProgress({ storagePath, entry, metadata, onFileUploadComplete, imageSize, simple }: StorageUploadItemProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1 @@
1
+ export declare function SubmitListener(): null;
@@ -0,0 +1,8 @@
1
+ import { FieldProps } from "formik";
2
+ export declare function SwitchControl({ field, form, label, tooltip, disabled, size, allowIndeterminate }: FieldProps & {
3
+ label: string;
4
+ tooltip?: string;
5
+ disabled?: boolean;
6
+ size: "small" | "medium";
7
+ allowIndeterminate?: boolean;
8
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,3 @@
1
+ export * from "./FormikArrayContainer";
2
+ export * from "./SwitchControl";
3
+ export * from "./FieldHelperText";
@@ -0,0 +1,9 @@
1
+ import { FieldProps } from "../../types";
2
+ /**
3
+ * Array field used for custom
4
+ *
5
+ * This is one of the internal components that get mapped natively inside forms
6
+ * and tables to the specified properties.
7
+ * @group Form fields
8
+ */
9
+ export declare function ArrayCustomShapedFieldBinding<T extends Array<any>>({ propertyKey, value, error, showError, isSubmitting, setValue, tableMode, property, includeDescription, underlyingValueHasChanged, context, disabled }: FieldProps<T, any, any>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { EntityReference, FieldProps } from "../../types";
2
+ type ArrayOfReferencesFieldProps = FieldProps<EntityReference[]>;
3
+ /**
4
+ * This field allows selecting multiple references.
5
+ *
6
+ * This is one of the internal components that get mapped natively inside forms
7
+ * and tables to the specified properties.
8
+ * @group Form fields
9
+ */
10
+ export declare function ArrayOfReferencesFieldBinding({ propertyKey, value, error, showError, disabled, isSubmitting, tableMode, property, includeDescription, setValue, setFieldValue }: ArrayOfReferencesFieldProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,10 @@
1
+ import { FieldProps } from "../../types";
2
+ /**
3
+ * If the `oneOf` property is specified, this fields render each array entry as
4
+ * a `type` select and the corresponding field widget to the selected `type.
5
+ *
6
+ * This is one of the internal components that get mapped natively inside forms
7
+ * and tables to the specified properties.
8
+ * @group Form fields
9
+ */
10
+ export declare function BlockFieldBinding<T extends Array<any>>({ propertyKey, value, error, showError, isSubmitting, setValue, setFieldValue, tableMode, property, includeDescription, underlyingValueHasChanged, context, disabled }: FieldProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { FieldProps } from "../../types";
2
+ type DateTimeFieldProps = FieldProps<Date>;
3
+ /**
4
+ * Field that allows selecting a date
5
+ *
6
+ * This is one of the internal components that get mapped natively inside forms
7
+ * and tables to the specified properties.
8
+ * @group Form fields
9
+ */
10
+ export declare function DateTimeFieldBinding({ propertyKey, value, setValue, autoFocus, error, showError, disabled, touched, property, includeDescription }: DateTimeFieldProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,7 @@
1
+ import { FieldProps } from "../../types";
2
+ /**
3
+ * Field that allows edition of key value pairs.
4
+ *
5
+ * @group Form fields
6
+ */
7
+ export declare function KeyValueFieldBinding<T extends Record<string, any>>({ propertyKey, value, showError, error, disabled, property, setValue, tableMode, includeDescription, underlyingValueHasChanged, autoFocus, context }: FieldProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { FieldProps } from "../../types";
2
+ /**
3
+ * Field that renders the children property fields
4
+ *
5
+ * This is one of the internal components that get mapped natively inside forms
6
+ * and tables to the specified properties.
7
+ * @group Form fields
8
+ */
9
+ export declare function MapFieldBinding<T extends Record<string, any>>({ propertyKey, value, showError, error, disabled, property, setValue, partOfBlock, tableMode, includeDescription, underlyingValueHasChanged, autoFocus, context }: FieldProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { FieldProps } from "../../types";
2
+ /**
3
+ * Render a markdown field that allows edition and seeing the preview.
4
+ *
5
+ * This is one of the internal components that get mapped natively inside forms
6
+ * and tables to the specified properties.
7
+ * @group Form fields
8
+ */
9
+ export declare function MarkdownFieldBinding({ propertyKey, value, setValue, error, showError, disabled, autoFocus, touched, property, tableMode, includeDescription, context }: FieldProps<string>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { EnumType, FieldProps } from "../../types";
2
+ /**
3
+ * This fields renders a dropdown with multiple selection.
4
+ *
5
+ * This is one of the internal components that get mapped natively inside forms
6
+ * and tables to the specified properties.
7
+ * @group Form fields
8
+ */
9
+ export declare function MultiSelectBinding({ propertyKey, value, setValue, error, showError, disabled, property, includeDescription, autoFocus }: FieldProps<EnumType[], any, any>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { FieldProps } from "../../types";
2
+ /**
3
+ *
4
+ * Simply render the non-editable preview of a field
5
+ *
6
+ * This is one of the internal components that get mapped natively inside forms
7
+ * and tables to the specified properties.
8
+ * @group Form fields
9
+ */
10
+ export declare function ReadOnlyFieldBinding({ propertyKey, value, error, showError, tableMode, property, includeDescription, context }: FieldProps<any>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import { EntityReference, FieldProps } from "../../types";
2
+ /**
3
+ * Field that opens a reference selection dialog.
4
+ *
5
+ * This is one of the internal components that get mapped natively inside forms
6
+ * and tables to the specified properties.
7
+ * @group Form fields
8
+ */
9
+ export declare function ReferenceFieldBinding<M extends Record<string, any>>(props: FieldProps<EntityReference>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import { FieldProps } from "../../types";
2
+ /**
3
+ * Generic array field that allows reordering and renders the child property
4
+ * as nodes.
5
+ *
6
+ * This is one of the internal components that get mapped natively inside forms
7
+ * and tables to the specified properties.
8
+ * @group Form fields
9
+ */
10
+ export declare function RepeatFieldBinding<T extends Array<any>>({ propertyKey, value, error, showError, isSubmitting, setValue, setFieldValue, tableMode, property, includeDescription, underlyingValueHasChanged, context, disabled }: FieldProps<T>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { EnumType, FieldProps } from "../../types";
2
+ type SelectProps<T extends EnumType> = FieldProps<T>;
3
+ /**
4
+ * If `enumValues` are set in the string config, this field renders a select
5
+ * where each option is a colored chip.
6
+ *
7
+ * This is one of the internal components that get mapped natively inside forms
8
+ * and tables to the specified properties.
9
+ * @group Form fields
10
+ */
11
+ export declare function SelectFieldBinding<T extends EnumType>({ propertyKey, value, setValue, error, showError, disabled, autoFocus, touched, property, includeDescription }: SelectProps<T>): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,28 @@
1
+ import { Entity, FieldProps, ResolvedArrayProperty, ResolvedStringProperty, StorageConfig } from "../../types";
2
+ import { StorageFieldItem } from "../../util/useStorageUploadController";
3
+ type StorageUploadFieldProps = FieldProps<string | string[]>;
4
+ /**
5
+ * Field that allows to upload files to Google Cloud Storage.
6
+ *
7
+ * This is one of the internal components that get mapped natively inside forms
8
+ * and tables to the specified properties.
9
+ * @group Form fields
10
+ */
11
+ export declare function StorageUploadFieldBinding({ propertyKey, value, setValue, error, showError, autoFocus, tableMode, property, includeDescription, context, isSubmitting }: StorageUploadFieldProps): import("react/jsx-runtime").JSX.Element;
12
+ export interface StorageUploadProps {
13
+ value: StorageFieldItem[];
14
+ setInternalValue: (v: StorageFieldItem[]) => void;
15
+ name: string;
16
+ property: ResolvedStringProperty | ResolvedArrayProperty<string[]>;
17
+ onChange: (value: string | string[] | null) => void;
18
+ multipleFilesSupported: boolean;
19
+ autoFocus: boolean;
20
+ disabled: boolean;
21
+ entity: Entity<any>;
22
+ storage: StorageConfig;
23
+ onFilesAdded: (acceptedFiles: File[]) => void;
24
+ storagePathBuilder: (file: File) => string;
25
+ onFileUploadComplete: (uploadedPath: string, entry: StorageFieldItem, fileMetadata?: any) => Promise<void>;
26
+ }
27
+ export declare function StorageUpload({ property, name, value, setInternalValue, onChange, multipleFilesSupported, onFileUploadComplete, disabled, onFilesAdded, autoFocus, storage, entity, storagePathBuilder }: StorageUploadProps): import("react/jsx-runtime").JSX.Element;
28
+ export {};
@@ -0,0 +1,12 @@
1
+ import React from "react";
2
+ import { FieldProps } from "../../types";
3
+ type SwitchFieldProps = FieldProps<boolean>;
4
+ /**
5
+ * Simple boolean switch biding to a boolean property.
6
+ *
7
+ * This is one of the internal components that get mapped natively inside forms
8
+ * and tables to the specified properties.
9
+ * @group Form fields
10
+ */
11
+ export declare const SwitchFieldBinding: React.ForwardRefExoticComponent<SwitchFieldProps & React.RefAttributes<unknown>>;
12
+ export {};
@@ -0,0 +1,12 @@
1
+ import { FieldProps } from "../../types";
2
+ interface TextFieldProps<T extends string | number> extends FieldProps<T> {
3
+ allowInfinity?: boolean;
4
+ }
5
+ /**
6
+ * Generic text field.
7
+ * This is one of the internal components that get mapped natively inside forms
8
+ * and tables to the specified properties.
9
+ * @group Form fields
10
+ */
11
+ export declare function TextFieldBinding<T extends string | number>({ propertyKey, value, setValue, error, showError, disabled, autoFocus, property, includeDescription, }: TextFieldProps<T>): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,20 @@
1
+ import { SelectFieldBinding } from "./field_bindings/SelectFieldBinding";
2
+ import { MultiSelectBinding } from "./field_bindings/MultiSelectBinding";
3
+ import { ArrayOfReferencesFieldBinding } from "./field_bindings/ArrayOfReferencesFieldBinding";
4
+ import { StorageUploadFieldBinding } from "./field_bindings/StorageUploadFieldBinding";
5
+ import { TextFieldBinding } from "./field_bindings/TextFieldBinding";
6
+ import { SwitchFieldBinding } from "./field_bindings/SwitchFieldBinding";
7
+ import { DateTimeFieldBinding } from "./field_bindings/DateTimeFieldBinding";
8
+ import { ReferenceFieldBinding } from "./field_bindings/ReferenceFieldBinding";
9
+ import { MapFieldBinding } from "./field_bindings/MapFieldBinding";
10
+ import { KeyValueFieldBinding } from "./field_bindings/KeyValueFieldBinding";
11
+ import { RepeatFieldBinding } from "./field_bindings/RepeatFieldBinding";
12
+ import { BlockFieldBinding } from "./field_bindings/BlockFieldBinding";
13
+ import { ReadOnlyFieldBinding } from "./field_bindings/ReadOnlyFieldBinding";
14
+ import { MarkdownFieldBinding } from "./field_bindings/MarkdownFieldBinding";
15
+ import { ArrayCustomShapedFieldBinding } from "./field_bindings/ArrayCustomShapedFieldBinding";
16
+ export { ArrayCustomShapedFieldBinding, RepeatFieldBinding, MultiSelectBinding, ArrayOfReferencesFieldBinding, BlockFieldBinding, DateTimeFieldBinding, ReadOnlyFieldBinding, MapFieldBinding, KeyValueFieldBinding, ReferenceFieldBinding, SelectFieldBinding, StorageUploadFieldBinding, SwitchFieldBinding, MarkdownFieldBinding, TextFieldBinding };
17
+ export * from "./components";
18
+ export type { EntityFormProps } from "./EntityForm";
19
+ export { EntityForm } from "./EntityForm";
20
+ export { PropertyFieldBinding } from "./PropertyFieldBinding";
@@ -0,0 +1,13 @@
1
+ import { CMSType, ResolvedProperty } from "../types";
2
+ /**
3
+ * Hook we use to restore a value after it has been cleared
4
+ * @param property
5
+ * @param value
6
+ * @param setValue
7
+ * @ignore
8
+ */
9
+ export declare function useClearRestoreValue<T extends CMSType>({ property, value, setValue }: {
10
+ property: ResolvedProperty<T>;
11
+ value: T;
12
+ setValue: (value: T | null, shouldValidate?: boolean) => void;
13
+ }): void;
@@ -0,0 +1,25 @@
1
+ import { CMSType, ResolvedArrayProperty, ResolvedMapProperty, ResolvedProperties, ResolvedProperty } from "../types";
2
+ import { AnySchema, ObjectSchema } from "yup";
3
+ declare module "yup" {
4
+ interface ArraySchema<T> {
5
+ uniqueInArray(mapper: (a: T) => T, message: string): ArraySchema<T>;
6
+ }
7
+ }
8
+ export type CustomFieldValidator = (props: {
9
+ name: string;
10
+ value: any;
11
+ property: ResolvedProperty;
12
+ entityId?: string;
13
+ parentProperty?: ResolvedMapProperty | ResolvedArrayProperty;
14
+ }) => Promise<boolean>;
15
+ interface PropertyContext<T extends CMSType> {
16
+ property: ResolvedProperty<T>;
17
+ parentProperty?: ResolvedMapProperty | ResolvedArrayProperty;
18
+ entityId: string;
19
+ customFieldValidator?: CustomFieldValidator;
20
+ name?: any;
21
+ }
22
+ export declare function getYupEntitySchema<M extends Record<string, any>>(entityId: string, properties: ResolvedProperties<M>, customFieldValidator?: CustomFieldValidator): ObjectSchema<any>;
23
+ export declare function mapPropertyToYup<T extends CMSType>(propertyContext: PropertyContext<T>): AnySchema<unknown>;
24
+ export declare function getYupMapObjectSchema<M extends Record<string, any>>({ property, entityId, customFieldValidator, name }: PropertyContext<M>): ObjectSchema<any>;
25
+ export {};
@@ -0,0 +1,37 @@
1
+ import { DataSource, DeleteEntityProps, Entity, EntityCallbacks, FireCMSContext, ResolvedEntityCollection, User } from "../../types";
2
+ /**
3
+ * @group Hooks and utilities
4
+ */
5
+ export type DeleteEntityWithCallbacksProps<M extends Record<string, any>> = DeleteEntityProps<M> & {
6
+ callbacks?: EntityCallbacks<M>;
7
+ onDeleteSuccess?: (entity: Entity<M>) => void;
8
+ onDeleteFailure?: (entity: Entity<M>, e: Error) => void;
9
+ onPreDeleteHookError?: (entity: Entity<M>, e: Error) => void;
10
+ onDeleteSuccessHookError?: (entity: Entity<M>, e: Error) => void;
11
+ };
12
+ /**
13
+ * This function is in charge of deleting an entity in the datasource.
14
+ * It will run all the delete callbacks specified in the collection.
15
+ * It is also possible to attach callbacks on save success or error, and callback
16
+ * errors.
17
+ *
18
+ * If you just want to delete any data without running the `onPreDelete`,
19
+ * and `onDelete` callbacks, you can use the `deleteEntity` method
20
+ * in the datasource ({@link useDataSource}).
21
+ *
22
+ * @param dataSource
23
+ * @param entity
24
+ * @param collection
25
+ * @param callbacks
26
+ * @param onDeleteSuccess
27
+ * @param onDeleteFailure
28
+ * @param onPreDeleteHookError
29
+ * @param onDeleteSuccessHookError
30
+ * @param context
31
+ * @group Hooks and utilities
32
+ */
33
+ export declare function deleteEntityWithCallbacks<M extends Record<string, any>, UserType extends User>({ dataSource, entity, collection, callbacks, onDeleteSuccess, onDeleteFailure, onPreDeleteHookError, onDeleteSuccessHookError, context }: DeleteEntityWithCallbacksProps<M> & {
34
+ collection: ResolvedEntityCollection<M>;
35
+ dataSource: DataSource;
36
+ context: FireCMSContext<UserType>;
37
+ }): Promise<boolean>;
@@ -0,0 +1,42 @@
1
+ import { DataSource, Entity, EntityCallbacks, EntityCollection, FireCMSContext, SaveEntityProps, User } from "../../types";
2
+ /**
3
+ * @group Hooks and utilities
4
+ */
5
+ export type SaveEntityWithCallbacksProps<M extends Record<string, any>> = SaveEntityProps<M> & {
6
+ callbacks?: EntityCallbacks<M>;
7
+ onSaveSuccess?: (updatedEntity: Entity<M>) => void;
8
+ onSaveFailure?: (e: Error) => void;
9
+ onPreSaveHookError?: (e: Error) => void;
10
+ onSaveSuccessHookError?: (e: Error) => void;
11
+ };
12
+ /**
13
+ * This function is in charge of saving an entity to the datasource.
14
+ * It will run all the save callbacks specified in the collection.
15
+ * It is also possible to attach callbacks on save success or error, and callback
16
+ * errors.
17
+ *
18
+ * If you just want to save the data without running the `onSaveSuccess`,
19
+ * `onSaveFailure` and `onPreSave` callbacks, you can use the `saveEntity` method
20
+ * in the datasource ({@link useDataSource}).
21
+ *
22
+ * @param collection
23
+ * @param path
24
+ * @param entityId
25
+ * @param callbacks
26
+ * @param values
27
+ * @param previousValues
28
+ * @param status
29
+ * @param dataSource
30
+ * @param context
31
+ * @param onSaveSuccess
32
+ * @param onSaveFailure
33
+ * @param onPreSaveHookError
34
+ * @param onSaveSuccessHookError
35
+ * @see useDataSource
36
+ * @group Hooks and utilities
37
+ */
38
+ export declare function saveEntityWithCallbacks<M extends Record<string, any>, UserType extends User>({ collection, path, entityId, values, previousValues, status, dataSource, context, onSaveSuccess, onSaveFailure, onPreSaveHookError, onSaveSuccessHookError }: SaveEntityWithCallbacksProps<M> & {
39
+ collection: EntityCollection<M>;
40
+ dataSource: DataSource;
41
+ context: FireCMSContext<UserType>;
42
+ }): Promise<void>;
@@ -0,0 +1,50 @@
1
+ import { Entity, EntityCollection, FilterValues, User } from "../../types";
2
+ /**
3
+ * @group Hooks and utilities
4
+ */
5
+ export interface CollectionFetchProps<M extends Record<string, any>> {
6
+ /**
7
+ * Absolute collection path
8
+ */
9
+ path: string;
10
+ /**
11
+ * collection of the entity displayed by this collection
12
+ */
13
+ collection: EntityCollection<M>;
14
+ /**
15
+ * Number of entities to fetch
16
+ */
17
+ itemCount?: number;
18
+ /**
19
+ * Filter the fetched data by the property
20
+ */
21
+ filterValues?: FilterValues<Extract<keyof M, string>>;
22
+ /**
23
+ * Sort the results by
24
+ */
25
+ sortBy?: [Extract<keyof M, string>, "asc" | "desc"];
26
+ /**
27
+ * Search string
28
+ */
29
+ searchString?: string;
30
+ }
31
+ /**
32
+ * @group Hooks and utilities
33
+ */
34
+ export interface CollectionFetchResult<M extends Record<string, any>> {
35
+ data: Entity<M>[];
36
+ dataLoading: boolean;
37
+ noMoreToLoad: boolean;
38
+ dataLoadingError?: Error;
39
+ }
40
+ /**
41
+ * This hook is used to fetch collections using a given collection
42
+ * @param path
43
+ * @param collection
44
+ * @param filterValues
45
+ * @param sortBy
46
+ * @param itemCount
47
+ * @param searchString
48
+ * @group Hooks and utilities
49
+ */
50
+ export declare function useCollectionFetch<M extends Record<string, any>, UserType extends User>({ path: inputPath, collection, filterValues, sortBy, itemCount, searchString }: CollectionFetchProps<M>): CollectionFetchResult<M>;
@@ -0,0 +1,12 @@
1
+ import { Entity } from "../../types";
2
+ export interface DataOrderProps<M extends Record<string, any>> {
3
+ data: Entity<M>[];
4
+ entitiesDisplayedFirst?: Entity<M>[];
5
+ }
6
+ /**
7
+ * This hook is used to have some entities at the beginning of data.
8
+ * @param path
9
+ * @param entitiesDisplayedFirst
10
+ * @group Hooks and utilities
11
+ */
12
+ export declare function useDataOrder<M extends Record<string, any>>({ data, entitiesDisplayedFirst }: DataOrderProps<M>): Entity<M>[];
@@ -0,0 +1,6 @@
1
+ import { DataSource } from "../../types";
2
+ /**
3
+ * Use this hook to get the datasource being used
4
+ * @group Hooks and utilities
5
+ */
6
+ export declare const useDataSource: () => DataSource;
@@ -0,0 +1,28 @@
1
+ import { Entity, EntityCollection, User } from "../../types";
2
+ /**
3
+ * @group Hooks and utilities
4
+ */
5
+ export interface EntityFetchProps<M extends Record<string, any>> {
6
+ path: string;
7
+ entityId?: string;
8
+ collection: EntityCollection<M>;
9
+ useCache?: boolean;
10
+ }
11
+ /**
12
+ * @group Hooks and utilities
13
+ */
14
+ export interface EntityFetchResult<M extends Record<string, any>> {
15
+ entity?: Entity<M>;
16
+ dataLoading: boolean;
17
+ dataLoadingError?: Error;
18
+ }
19
+ /**
20
+ * This hook is used to fetch an entity.
21
+ * It gives real time updates if the datasource supports it.
22
+ * @param path
23
+ * @param collection
24
+ * @param entityId
25
+ * @param useCache
26
+ * @group Hooks and utilities
27
+ */
28
+ export declare function useEntityFetch<M extends Record<string, any>, UserType extends User>({ path: inputPath, entityId, collection, useCache }: EntityFetchProps<M>): EntityFetchResult<M>;
@@ -0,0 +1,19 @@
1
+ export * from "./data/useDataSource";
2
+ export * from "./data/useCollectionFetch";
3
+ export * from "./data/useEntityFetch";
4
+ export * from "./data/save";
5
+ export * from "./data/delete";
6
+ export * from "../form/useClearRestoreValue";
7
+ export * from "./useNavigationController";
8
+ export * from "./useResolvedNavigationFrom";
9
+ export * from "./useStorageSource";
10
+ export * from "./useAuthController";
11
+ export * from "./useSideDialogsController";
12
+ export * from "./useSideEntityController";
13
+ export * from "./useFireCMSContext";
14
+ export * from "./useSnackbarController";
15
+ export * from "./useModeController";
16
+ export * from "./useClipboard";
17
+ export * from "./useLargeLayout";
18
+ export * from "./useReferenceDialog";
19
+ export * from "./useBrowserTitleAndIcon";
@@ -0,0 +1,11 @@
1
+ import { AuthController, User } from "../types";
2
+ /**
3
+ * Hook to retrieve the AuthContext.
4
+ *
5
+ * Consider that in order to use this hook you need to have a parent
6
+ * `FireCMS`
7
+ *
8
+ * @see AuthController
9
+ * @group Hooks and utilities
10
+ */
11
+ export declare const useAuthController: <UserType extends User = User, AuthControllerType extends AuthController<UserType> = AuthController<UserType>>() => AuthControllerType;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Internal hook to handle the browser title and icon
3
+ * @param name
4
+ * @param logo
5
+ */
6
+ export declare function useBrowserTitleAndIcon(name: string, logo?: string): void;