@firecms/core 3.0.0-3.0.0-beta.4.pre.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (503) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +174 -0
  3. package/dist/components/ArrayContainer.d.ts +40 -0
  4. package/dist/components/CircularProgressCenter.d.ts +11 -0
  5. package/dist/components/DeleteConfirmationDialog.d.ts +9 -0
  6. package/dist/components/DeleteEntityDialog.d.ts +12 -0
  7. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +31 -0
  8. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +27 -0
  9. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +99 -0
  10. package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +18 -0
  11. package/dist/components/EntityCollectionTable/column_utils.d.ts +16 -0
  12. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +19 -0
  13. package/dist/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +33 -0
  14. package/dist/components/EntityCollectionTable/index.d.ts +6 -0
  15. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +18 -0
  16. package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +26 -0
  17. package/dist/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +9 -0
  18. package/dist/components/EntityCollectionTable/internal/common.d.ts +4 -0
  19. package/dist/components/EntityCollectionTable/internal/default_entity_actions.d.ts +6 -0
  20. package/dist/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +5 -0
  21. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +23 -0
  22. package/dist/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +13 -0
  23. package/dist/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +6 -0
  24. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +36 -0
  25. package/dist/components/EntityCollectionView/EntityCollectionViewActions.d.ts +14 -0
  26. package/dist/components/EntityCollectionView/useSelectionController.d.ts +2 -0
  27. package/dist/components/EntityPreview.d.ts +29 -0
  28. package/dist/components/EntityView.d.ts +11 -0
  29. package/dist/components/ErrorBoundary.d.ts +11 -0
  30. package/dist/components/ErrorTooltip.d.ts +2 -0
  31. package/dist/components/ErrorView.d.ts +19 -0
  32. package/dist/components/FieldCaption.d.ts +4 -0
  33. package/dist/components/FireCMSAppBar.d.ts +26 -0
  34. package/dist/components/FireCMSLogo.d.ts +7 -0
  35. package/dist/components/HomePage/DefaultHomePage.d.ts +21 -0
  36. package/dist/components/HomePage/FavouritesView.d.ts +3 -0
  37. package/dist/components/HomePage/NavigationCard.d.ts +8 -0
  38. package/dist/components/HomePage/NavigationCardBinding.d.ts +17 -0
  39. package/dist/components/HomePage/NavigationGroup.d.ts +4 -0
  40. package/dist/components/HomePage/SmallNavigationCard.d.ts +6 -0
  41. package/dist/components/HomePage/index.d.ts +5 -0
  42. package/dist/components/NotFoundPage.d.ts +1 -0
  43. package/dist/components/PropertyConfigBadge.d.ts +4 -0
  44. package/dist/components/PropertyIdCopyTooltipContent.d.ts +3 -0
  45. package/dist/components/ReferenceTable/ReferenceSelectionTable.d.ts +58 -0
  46. package/dist/components/ReferenceWidget.d.ts +28 -0
  47. package/dist/components/SearchIconsView.d.ts +5 -0
  48. package/dist/components/SelectableTable/SelectableTable.d.ts +75 -0
  49. package/dist/components/SelectableTable/SelectableTableContext.d.ts +4 -0
  50. package/dist/components/SelectableTable/filters/BooleanFilterField.d.ts +9 -0
  51. package/dist/components/SelectableTable/filters/DateTimeFilterField.d.ts +11 -0
  52. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +14 -0
  53. package/dist/components/SelectableTable/filters/StringNumberFilterField.d.ts +13 -0
  54. package/dist/components/VirtualTable/VirtualTable.d.ts +11 -0
  55. package/dist/components/VirtualTable/VirtualTableCell.d.ts +14 -0
  56. package/dist/components/VirtualTable/VirtualTableHeader.d.ts +27 -0
  57. package/dist/components/VirtualTable/VirtualTableHeaderRow.d.ts +2 -0
  58. package/dist/components/VirtualTable/VirtualTableProps.d.ts +214 -0
  59. package/dist/components/VirtualTable/VirtualTableRow.d.ts +3 -0
  60. package/dist/components/VirtualTable/common.d.ts +2 -0
  61. package/dist/components/VirtualTable/fields/VirtualTableDateField.d.ts +11 -0
  62. package/dist/components/VirtualTable/fields/VirtualTableInput.d.ts +8 -0
  63. package/dist/components/VirtualTable/fields/VirtualTableNumberInput.d.ts +8 -0
  64. package/dist/components/VirtualTable/fields/VirtualTableSelect.d.ts +15 -0
  65. package/dist/components/VirtualTable/fields/VirtualTableSwitch.d.ts +7 -0
  66. package/dist/components/VirtualTable/index.d.ts +2 -0
  67. package/dist/components/VirtualTable/types.d.ts +34 -0
  68. package/dist/components/common/index.d.ts +5 -0
  69. package/dist/components/common/types.d.ts +60 -0
  70. package/dist/components/common/useColumnsIds.d.ts +4 -0
  71. package/dist/components/common/useDataSourceEntityCollectionTableController.d.ts +32 -0
  72. package/dist/components/common/useDebouncedData.d.ts +9 -0
  73. package/dist/components/common/useTableSearchHelper.d.ts +12 -0
  74. package/dist/components/index.d.ts +25 -0
  75. package/dist/contexts/AnalyticsContext.d.ts +3 -0
  76. package/dist/contexts/AuthControllerContext.d.ts +3 -0
  77. package/dist/contexts/CustomizationControllerContext.d.ts +3 -0
  78. package/dist/contexts/DataSourceContext.d.ts +3 -0
  79. package/dist/contexts/DialogsProvider.d.ts +4 -0
  80. package/dist/contexts/ModeController.d.ts +4 -0
  81. package/dist/contexts/NavigationContext.d.ts +3 -0
  82. package/dist/contexts/SideDialogsControllerContext.d.ts +3 -0
  83. package/dist/contexts/SideEntityControllerContext.d.ts +3 -0
  84. package/dist/contexts/SnackbarProvider.d.ts +2 -0
  85. package/dist/contexts/StorageSourceContext.d.ts +3 -0
  86. package/dist/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
  87. package/dist/contexts/index.d.ts +3 -0
  88. package/dist/core/Drawer.d.ts +23 -0
  89. package/dist/core/EntityEditView.d.ts +22 -0
  90. package/dist/core/EntitySidePanel.d.ts +10 -0
  91. package/dist/core/FireCMS.d.ts +14 -0
  92. package/dist/core/NavigationRoutes.d.ts +21 -0
  93. package/dist/core/Scaffold.d.ts +55 -0
  94. package/dist/core/SideDialogs.d.ts +23 -0
  95. package/dist/core/SideEntityView.d.ts +7 -0
  96. package/dist/core/field_configs.d.ts +7 -0
  97. package/dist/core/index.d.ts +8 -0
  98. package/dist/form/EntityForm.d.ts +77 -0
  99. package/dist/form/PropertyFieldBinding.d.ts +30 -0
  100. package/dist/form/components/CustomIdField.d.ts +10 -0
  101. package/dist/form/components/ErrorFocus.d.ts +4 -0
  102. package/dist/form/components/FieldHelperText.d.ts +12 -0
  103. package/dist/form/components/FormikArrayContainer.d.ts +18 -0
  104. package/dist/form/components/LabelWithIcon.d.ts +14 -0
  105. package/dist/form/components/StorageItemPreview.d.ts +14 -0
  106. package/dist/form/components/StorageUploadProgress.d.ts +10 -0
  107. package/dist/form/components/index.d.ts +3 -0
  108. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +9 -0
  109. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +11 -0
  110. package/dist/form/field_bindings/BlockFieldBinding.d.ts +10 -0
  111. package/dist/form/field_bindings/DateTimeFieldBinding.d.ts +11 -0
  112. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +7 -0
  113. package/dist/form/field_bindings/MapFieldBinding.d.ts +9 -0
  114. package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +9 -0
  115. package/dist/form/field_bindings/MultiSelectBinding.d.ts +9 -0
  116. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +10 -0
  117. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +9 -0
  118. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +10 -0
  119. package/dist/form/field_bindings/SelectFieldBinding.d.ts +12 -0
  120. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +29 -0
  121. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +12 -0
  122. package/dist/form/field_bindings/TextFieldBinding.d.ts +12 -0
  123. package/dist/form/index.d.ts +21 -0
  124. package/dist/form/useClearRestoreValue.d.ts +13 -0
  125. package/dist/form/validation.d.ts +25 -0
  126. package/dist/hooks/data/delete.d.ts +37 -0
  127. package/dist/hooks/data/save.d.ts +42 -0
  128. package/dist/hooks/data/useCollectionFetch.d.ts +50 -0
  129. package/dist/hooks/data/useDataOrder.d.ts +12 -0
  130. package/dist/hooks/data/useDataSource.d.ts +6 -0
  131. package/dist/hooks/data/useEntityFetch.d.ts +28 -0
  132. package/dist/hooks/index.d.ts +22 -0
  133. package/dist/hooks/useAnalyticsController.d.ts +5 -0
  134. package/dist/hooks/useAuthController.d.ts +11 -0
  135. package/dist/hooks/useBrowserTitleAndIcon.d.ts +6 -0
  136. package/dist/hooks/useBuildLocalConfigurationPersistence.d.ts +2 -0
  137. package/dist/hooks/useBuildModeController.d.ts +6 -0
  138. package/dist/hooks/useBuildNavigationController.d.ts +24 -0
  139. package/dist/hooks/useClipboard.d.ts +57 -0
  140. package/dist/hooks/useCustomizationController.d.ts +11 -0
  141. package/dist/hooks/useDialogsController.d.ts +11 -0
  142. package/dist/hooks/useFireCMSContext.d.ts +11 -0
  143. package/dist/hooks/useLargeLayout.d.ts +1 -0
  144. package/dist/hooks/useModeController.d.ts +20 -0
  145. package/dist/hooks/useNavigationController.d.ts +9 -0
  146. package/dist/hooks/useProjectLog.d.ts +8 -0
  147. package/dist/hooks/useReferenceDialog.d.ts +18 -0
  148. package/dist/hooks/useResolvedNavigationFrom.d.ts +72 -0
  149. package/dist/hooks/useSideDialogsController.d.ts +18 -0
  150. package/dist/hooks/useSideEntityController.d.ts +12 -0
  151. package/dist/hooks/useSnackbarController.d.ts +42 -0
  152. package/dist/hooks/useStorageSource.d.ts +6 -0
  153. package/dist/hooks/useUserConfigurationPersistence.d.ts +8 -0
  154. package/dist/index.d.ts +8 -0
  155. package/dist/index.es.js +16602 -0
  156. package/dist/index.es.js.map +1 -0
  157. package/dist/index.umd.js +589 -0
  158. package/dist/index.umd.js.map +1 -0
  159. package/dist/internal/common.d.ts +3 -0
  160. package/dist/internal/useBuildCustomizationController.d.ts +2 -0
  161. package/dist/internal/useBuildDataSource.d.ts +26 -0
  162. package/dist/internal/useBuildSideDialogsController.d.ts +2 -0
  163. package/dist/internal/useBuildSideEntityController.d.ts +4 -0
  164. package/dist/internal/useLocaleConfig.d.ts +1 -0
  165. package/dist/internal/useRestoreScroll.d.ts +6 -0
  166. package/dist/internal/useUnsavedChangesDialog.d.ts +14 -0
  167. package/dist/preview/PropertyPreview.d.ts +7 -0
  168. package/dist/preview/PropertyPreviewProps.d.ts +43 -0
  169. package/dist/preview/components/ArrayEnumPreview.d.ts +11 -0
  170. package/dist/preview/components/AsyncPreviewComponent.d.ts +11 -0
  171. package/dist/preview/components/BooleanPreview.d.ts +11 -0
  172. package/dist/preview/components/DatePreview.d.ts +7 -0
  173. package/dist/preview/components/EmptyValue.d.ts +4 -0
  174. package/dist/preview/components/EnumValuesChip.d.ts +13 -0
  175. package/dist/preview/components/ImagePreview.d.ts +12 -0
  176. package/dist/preview/components/ReferencePreview.d.ts +16 -0
  177. package/dist/preview/components/StorageThumbnail.d.ts +13 -0
  178. package/dist/preview/components/UrlComponentPreview.d.ts +12 -0
  179. package/dist/preview/index.d.ts +23 -0
  180. package/dist/preview/property_previews/ArrayOfMapsPreview.d.ts +5 -0
  181. package/dist/preview/property_previews/ArrayOfReferencesPreview.d.ts +5 -0
  182. package/dist/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +5 -0
  183. package/dist/preview/property_previews/ArrayOfStringsPreview.d.ts +5 -0
  184. package/dist/preview/property_previews/ArrayOneOfPreview.d.ts +5 -0
  185. package/dist/preview/property_previews/ArrayPropertyEnumPreview.d.ts +5 -0
  186. package/dist/preview/property_previews/ArrayPropertyPreview.d.ts +5 -0
  187. package/dist/preview/property_previews/MapPropertyPreview.d.ts +8 -0
  188. package/dist/preview/property_previews/NumberPropertyPreview.d.ts +6 -0
  189. package/dist/preview/property_previews/SkeletonPropertyComponent.d.ts +14 -0
  190. package/dist/preview/property_previews/StringPropertyPreview.d.ts +6 -0
  191. package/dist/preview/util.d.ts +7 -0
  192. package/dist/types/analytics.d.ts +1 -0
  193. package/dist/types/analytics_controller.d.ts +7 -0
  194. package/dist/types/appcheck.d.ts +26 -0
  195. package/dist/types/auth.d.ts +47 -0
  196. package/dist/types/collections.d.ts +467 -0
  197. package/dist/types/customization_controller.d.ts +47 -0
  198. package/dist/types/datasource.d.ts +262 -0
  199. package/dist/types/dialogs_controller.d.ts +32 -0
  200. package/dist/types/entities.d.ts +58 -0
  201. package/dist/types/entity_actions.d.ts +35 -0
  202. package/dist/types/entity_callbacks.d.ts +185 -0
  203. package/dist/types/entity_link_builder.d.ts +7 -0
  204. package/dist/types/entity_overrides.d.ts +6 -0
  205. package/dist/types/export_import.d.ts +21 -0
  206. package/dist/types/fields.d.ts +180 -0
  207. package/dist/types/firecms.d.ts +132 -0
  208. package/dist/types/firecms_context.d.ts +70 -0
  209. package/dist/types/index.d.ts +29 -0
  210. package/dist/types/local_config_persistence.d.ts +21 -0
  211. package/dist/types/locales.d.ts +4 -0
  212. package/dist/types/modify_collections.d.ts +5 -0
  213. package/dist/types/navigation.d.ts +179 -0
  214. package/dist/types/permissions.d.ts +67 -0
  215. package/dist/types/plugins.d.ts +171 -0
  216. package/dist/types/properties.d.ts +681 -0
  217. package/dist/types/property_config.d.ts +42 -0
  218. package/dist/types/resolved_entities.d.ts +98 -0
  219. package/dist/types/side_dialogs_controller.d.ts +57 -0
  220. package/dist/types/side_entity_controller.d.ts +83 -0
  221. package/dist/types/storage.d.ts +82 -0
  222. package/dist/types/user.d.ts +36 -0
  223. package/dist/util/arrays.d.ts +1 -0
  224. package/dist/util/builders.d.ts +64 -0
  225. package/dist/util/collections.d.ts +11 -0
  226. package/dist/util/common.d.ts +2 -0
  227. package/dist/util/dates.d.ts +1 -0
  228. package/dist/util/entities.d.ts +28 -0
  229. package/dist/util/enums.d.ts +7 -0
  230. package/dist/util/flatten_object.d.ts +3 -0
  231. package/dist/util/hash.d.ts +1 -0
  232. package/dist/util/icon_list.d.ts +1 -0
  233. package/dist/util/icon_synonyms.d.ts +1950 -0
  234. package/dist/util/icons.d.ts +13 -0
  235. package/dist/util/index.d.ts +23 -0
  236. package/dist/util/join_collections.d.ts +9 -0
  237. package/dist/util/make_properties_editable.d.ts +3 -0
  238. package/dist/util/navigation_from_path.d.ts +24 -0
  239. package/dist/util/navigation_utils.d.ts +20 -0
  240. package/dist/util/objects.d.ts +10 -0
  241. package/dist/util/os.d.ts +2 -0
  242. package/dist/util/parent_references_from_path.d.ts +6 -0
  243. package/dist/util/paths.d.ts +14 -0
  244. package/dist/util/permissions.d.ts +5 -0
  245. package/dist/util/plurals.d.ts +18 -0
  246. package/dist/util/property_utils.d.ts +23 -0
  247. package/dist/util/references.d.ts +4 -0
  248. package/dist/util/regexp.d.ts +7 -0
  249. package/dist/util/resolutions.d.ts +64 -0
  250. package/dist/util/storage.d.ts +3 -0
  251. package/dist/util/strings.d.ts +6 -0
  252. package/dist/util/useDebouncedCallback.d.ts +1 -0
  253. package/dist/util/useStorageUploadController.d.ts +36 -0
  254. package/dist/util/useTraceUpdate.d.ts +1 -0
  255. package/package.json +122 -0
  256. package/src/components/ArrayContainer.tsx +334 -0
  257. package/src/components/CircularProgressCenter.tsx +26 -0
  258. package/src/components/DeleteConfirmationDialog.tsx +47 -0
  259. package/src/components/DeleteEntityDialog.tsx +213 -0
  260. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +170 -0
  261. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +325 -0
  262. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +145 -0
  263. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +461 -0
  264. package/src/components/EntityCollectionTable/column_utils.tsx +74 -0
  265. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +155 -0
  266. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +313 -0
  267. package/src/components/EntityCollectionTable/index.tsx +12 -0
  268. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +116 -0
  269. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +257 -0
  270. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +70 -0
  271. package/src/components/EntityCollectionTable/internal/common.tsx +70 -0
  272. package/src/components/EntityCollectionTable/internal/default_entity_actions.tsx +126 -0
  273. package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.tsx +59 -0
  274. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +408 -0
  275. package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.tsx +97 -0
  276. package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.tsx +20 -0
  277. package/src/components/EntityCollectionView/EntityCollectionView.tsx +804 -0
  278. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +132 -0
  279. package/src/components/EntityCollectionView/useSelectionController.tsx +30 -0
  280. package/src/components/EntityPreview.tsx +218 -0
  281. package/src/components/EntityView.tsx +84 -0
  282. package/src/components/ErrorBoundary.tsx +40 -0
  283. package/src/components/ErrorTooltip.tsx +11 -0
  284. package/src/components/ErrorView.tsx +52 -0
  285. package/src/components/FieldCaption.tsx +13 -0
  286. package/src/components/FireCMSAppBar.tsx +165 -0
  287. package/src/components/FireCMSLogo.tsx +73 -0
  288. package/src/components/HomePage/DefaultHomePage.tsx +214 -0
  289. package/src/components/HomePage/FavouritesView.tsx +64 -0
  290. package/src/components/HomePage/NavigationCard.tsx +69 -0
  291. package/src/components/HomePage/NavigationCardBinding.tsx +116 -0
  292. package/src/components/HomePage/NavigationGroup.tsx +39 -0
  293. package/src/components/HomePage/SmallNavigationCard.tsx +45 -0
  294. package/src/components/HomePage/index.tsx +5 -0
  295. package/src/components/NotFoundPage.tsx +25 -0
  296. package/src/components/PropertyConfigBadge.tsx +17 -0
  297. package/src/components/PropertyIdCopyTooltipContent.tsx +28 -0
  298. package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +379 -0
  299. package/src/components/ReferenceWidget.tsx +145 -0
  300. package/src/components/SearchIconsView.tsx +75 -0
  301. package/src/components/SelectableTable/SelectableTable.tsx +329 -0
  302. package/src/components/SelectableTable/SelectableTableContext.tsx +6 -0
  303. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +49 -0
  304. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +109 -0
  305. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +179 -0
  306. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +158 -0
  307. package/src/components/VirtualTable/VirtualTable.tsx +405 -0
  308. package/src/components/VirtualTable/VirtualTableCell.tsx +50 -0
  309. package/src/components/VirtualTable/VirtualTableHeader.tsx +266 -0
  310. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +131 -0
  311. package/src/components/VirtualTable/VirtualTableProps.tsx +269 -0
  312. package/src/components/VirtualTable/VirtualTableRow.tsx +53 -0
  313. package/src/components/VirtualTable/common.tsx +18 -0
  314. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +37 -0
  315. package/src/components/VirtualTable/fields/VirtualTableInput.tsx +91 -0
  316. package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +82 -0
  317. package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +130 -0
  318. package/src/components/VirtualTable/fields/VirtualTableSwitch.tsx +32 -0
  319. package/src/components/VirtualTable/index.tsx +2 -0
  320. package/src/components/VirtualTable/types.tsx +44 -0
  321. package/src/components/common/index.ts +5 -0
  322. package/src/components/common/types.tsx +63 -0
  323. package/src/components/common/useColumnsIds.tsx +100 -0
  324. package/src/components/common/useDataSourceEntityCollectionTableController.tsx +225 -0
  325. package/src/components/common/useDebouncedData.ts +49 -0
  326. package/src/components/common/useTableSearchHelper.ts +47 -0
  327. package/src/components/index.tsx +36 -0
  328. package/src/contexts/AnalyticsContext.tsx +4 -0
  329. package/src/contexts/AuthControllerContext.tsx +4 -0
  330. package/src/contexts/CustomizationControllerContext.tsx +4 -0
  331. package/src/contexts/DataSourceContext.tsx +4 -0
  332. package/src/contexts/DialogsProvider.tsx +52 -0
  333. package/src/contexts/ModeController.tsx +13 -0
  334. package/src/contexts/NavigationContext.tsx +4 -0
  335. package/src/contexts/SideDialogsControllerContext.tsx +4 -0
  336. package/src/contexts/SideEntityControllerContext.tsx +4 -0
  337. package/src/contexts/SnackbarProvider.tsx +12 -0
  338. package/src/contexts/StorageSourceContext.tsx +4 -0
  339. package/src/contexts/UserConfigurationPersistenceContext.tsx +4 -0
  340. package/src/contexts/index.ts +3 -0
  341. package/src/core/Drawer.tsx +191 -0
  342. package/src/core/EntityEditView.tsx +561 -0
  343. package/src/core/EntitySidePanel.tsx +91 -0
  344. package/src/core/FireCMS.tsx +198 -0
  345. package/src/core/NavigationRoutes.tsx +127 -0
  346. package/src/core/Scaffold.tsx +281 -0
  347. package/src/core/SideDialogs.tsx +156 -0
  348. package/src/core/SideEntityView.tsx +38 -0
  349. package/src/core/field_configs.tsx +400 -0
  350. package/src/core/index.tsx +12 -0
  351. package/src/form/EntityForm.tsx +728 -0
  352. package/src/form/PropertyFieldBinding.tsx +306 -0
  353. package/src/form/components/CustomIdField.tsx +139 -0
  354. package/src/form/components/ErrorFocus.tsx +51 -0
  355. package/src/form/components/FieldHelperText.tsx +58 -0
  356. package/src/form/components/FormikArrayContainer.tsx +44 -0
  357. package/src/form/components/LabelWithIcon.tsx +33 -0
  358. package/src/form/components/StorageItemPreview.tsx +68 -0
  359. package/src/form/components/StorageUploadProgress.tsx +105 -0
  360. package/src/form/components/index.tsx +3 -0
  361. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +86 -0
  362. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +149 -0
  363. package/src/form/field_bindings/BlockFieldBinding.tsx +245 -0
  364. package/src/form/field_bindings/DateTimeFieldBinding.tsx +67 -0
  365. package/src/form/field_bindings/KeyValueFieldBinding.tsx +558 -0
  366. package/src/form/field_bindings/MapFieldBinding.tsx +138 -0
  367. package/src/form/field_bindings/MarkdownFieldBinding.tsx +695 -0
  368. package/src/form/field_bindings/MultiSelectBinding.tsx +114 -0
  369. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +69 -0
  370. package/src/form/field_bindings/ReferenceFieldBinding.tsx +123 -0
  371. package/src/form/field_bindings/RepeatFieldBinding.tsx +105 -0
  372. package/src/form/field_bindings/SelectFieldBinding.tsx +99 -0
  373. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +447 -0
  374. package/src/form/field_bindings/SwitchFieldBinding.tsx +60 -0
  375. package/src/form/field_bindings/TextFieldBinding.tsx +109 -0
  376. package/src/form/index.tsx +43 -0
  377. package/src/form/useClearRestoreValue.tsx +35 -0
  378. package/src/form/validation.ts +412 -0
  379. package/src/hooks/data/delete.ts +101 -0
  380. package/src/hooks/data/save.ts +170 -0
  381. package/src/hooks/data/useCollectionFetch.tsx +162 -0
  382. package/src/hooks/data/useDataOrder.ts +26 -0
  383. package/src/hooks/data/useDataSource.tsx +14 -0
  384. package/src/hooks/data/useEntityFetch.tsx +129 -0
  385. package/src/hooks/index.tsx +27 -0
  386. package/src/hooks/useAnalyticsController.tsx +8 -0
  387. package/src/hooks/useAuthController.tsx +14 -0
  388. package/src/hooks/useBrowserTitleAndIcon.tsx +25 -0
  389. package/src/hooks/useBuildLocalConfigurationPersistence.tsx +67 -0
  390. package/src/hooks/useBuildModeController.tsx +60 -0
  391. package/src/hooks/useBuildNavigationController.tsx +433 -0
  392. package/src/hooks/useClipboard.tsx +158 -0
  393. package/src/hooks/useCustomizationController.tsx +14 -0
  394. package/src/hooks/useDialogsController.tsx +14 -0
  395. package/src/hooks/useFireCMSContext.tsx +99 -0
  396. package/src/hooks/useLargeLayout.tsx +100 -0
  397. package/src/hooks/useModeController.tsx +24 -0
  398. package/src/hooks/useNavigationController.tsx +12 -0
  399. package/src/hooks/useProjectLog.tsx +39 -0
  400. package/src/hooks/useReferenceDialog.tsx +56 -0
  401. package/src/hooks/useResolvedNavigationFrom.tsx +160 -0
  402. package/src/hooks/useSideDialogsController.tsx +21 -0
  403. package/src/hooks/useSideEntityController.tsx +15 -0
  404. package/src/hooks/useSnackbarController.tsx +75 -0
  405. package/src/hooks/useStorageSource.tsx +14 -0
  406. package/src/hooks/useUserConfigurationPersistence.tsx +11 -0
  407. package/src/index.ts +8 -0
  408. package/src/internal/common.tsx +5 -0
  409. package/src/internal/useBuildCustomizationController.tsx +5 -0
  410. package/src/internal/useBuildDataSource.ts +363 -0
  411. package/src/internal/useBuildSideDialogsController.tsx +125 -0
  412. package/src/internal/useBuildSideEntityController.tsx +172 -0
  413. package/src/internal/useLocaleConfig.tsx +18 -0
  414. package/src/internal/useRestoreScroll.tsx +48 -0
  415. package/src/internal/useUnsavedChangesDialog.tsx +106 -0
  416. package/src/preview/PropertyPreview.tsx +225 -0
  417. package/src/preview/PropertyPreviewProps.tsx +59 -0
  418. package/src/preview/components/ArrayEnumPreview.tsx +39 -0
  419. package/src/preview/components/AsyncPreviewComponent.tsx +47 -0
  420. package/src/preview/components/BooleanPreview.tsx +24 -0
  421. package/src/preview/components/DatePreview.tsx +26 -0
  422. package/src/preview/components/EmptyValue.tsx +10 -0
  423. package/src/preview/components/EnumValuesChip.tsx +38 -0
  424. package/src/preview/components/ImagePreview.tsx +106 -0
  425. package/src/preview/components/ReferencePreview.tsx +166 -0
  426. package/src/preview/components/StorageThumbnail.tsx +84 -0
  427. package/src/preview/components/UrlComponentPreview.tsx +79 -0
  428. package/src/preview/index.ts +27 -0
  429. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +82 -0
  430. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +52 -0
  431. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +54 -0
  432. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +55 -0
  433. package/src/preview/property_previews/ArrayOneOfPreview.tsx +67 -0
  434. package/src/preview/property_previews/ArrayPropertyEnumPreview.tsx +28 -0
  435. package/src/preview/property_previews/ArrayPropertyPreview.tsx +68 -0
  436. package/src/preview/property_previews/MapPropertyPreview.tsx +146 -0
  437. package/src/preview/property_previews/NumberPropertyPreview.tsx +27 -0
  438. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +283 -0
  439. package/src/preview/property_previews/StringPropertyPreview.tsx +60 -0
  440. package/src/preview/util.ts +31 -0
  441. package/src/types/analytics.ts +35 -0
  442. package/src/types/analytics_controller.tsx +10 -0
  443. package/src/types/appcheck.ts +29 -0
  444. package/src/types/auth.tsx +59 -0
  445. package/src/types/collections.ts +548 -0
  446. package/src/types/customization_controller.tsx +58 -0
  447. package/src/types/datasource.ts +389 -0
  448. package/src/types/dialogs_controller.tsx +33 -0
  449. package/src/types/entities.ts +80 -0
  450. package/src/types/entity_actions.tsx +43 -0
  451. package/src/types/entity_callbacks.ts +229 -0
  452. package/src/types/entity_link_builder.ts +8 -0
  453. package/src/types/entity_overrides.tsx +7 -0
  454. package/src/types/export_import.ts +26 -0
  455. package/src/types/fields.tsx +220 -0
  456. package/src/types/firecms.tsx +153 -0
  457. package/src/types/firecms_context.tsx +83 -0
  458. package/src/types/index.ts +29 -0
  459. package/src/types/local_config_persistence.tsx +23 -0
  460. package/src/types/locales.ts +81 -0
  461. package/src/types/modify_collections.tsx +6 -0
  462. package/src/types/navigation.ts +215 -0
  463. package/src/types/permissions.ts +81 -0
  464. package/src/types/plugins.tsx +207 -0
  465. package/src/types/properties.ts +851 -0
  466. package/src/types/property_config.tsx +72 -0
  467. package/src/types/resolved_entities.ts +148 -0
  468. package/src/types/side_dialogs_controller.tsx +68 -0
  469. package/src/types/side_entity_controller.tsx +97 -0
  470. package/src/types/storage.ts +96 -0
  471. package/src/types/user.ts +37 -0
  472. package/src/util/arrays.ts +3 -0
  473. package/src/util/builders.ts +139 -0
  474. package/src/util/collections.ts +72 -0
  475. package/src/util/common.tsx +2 -0
  476. package/src/util/dates.ts +1 -0
  477. package/src/util/entities.ts +196 -0
  478. package/src/util/enums.ts +56 -0
  479. package/src/util/flatten_object.ts +45 -0
  480. package/src/util/hash.ts +11 -0
  481. package/src/util/icon_list.ts +17 -0
  482. package/src/util/icon_synonyms.ts +1950 -0
  483. package/src/util/icons.tsx +56 -0
  484. package/src/util/index.ts +23 -0
  485. package/src/util/join_collections.ts +172 -0
  486. package/src/util/make_properties_editable.ts +29 -0
  487. package/src/util/navigation_from_path.ts +107 -0
  488. package/src/util/navigation_utils.ts +111 -0
  489. package/src/util/objects.ts +168 -0
  490. package/src/util/os.ts +13 -0
  491. package/src/util/parent_references_from_path.ts +56 -0
  492. package/src/util/paths.ts +27 -0
  493. package/src/util/permissions.ts +83 -0
  494. package/src/util/plurals.ts +190 -0
  495. package/src/util/property_utils.tsx +130 -0
  496. package/src/util/references.ts +51 -0
  497. package/src/util/regexp.ts +32 -0
  498. package/src/util/resolutions.ts +399 -0
  499. package/src/util/storage.ts +92 -0
  500. package/src/util/strings.ts +63 -0
  501. package/src/util/useDebouncedCallback.ts +25 -0
  502. package/src/util/useStorageUploadController.tsx +243 -0
  503. package/src/util/useTraceUpdate.tsx +23 -0
@@ -0,0 +1,55 @@
1
+ import React from "react";
2
+ import { DrawerProps } from "./Drawer";
3
+ import { FireCMSAppBarProps } from "../components";
4
+ export declare const DRAWER_WIDTH = 280;
5
+ /**
6
+ * @group Core
7
+ */
8
+ export interface ScaffoldProps<ExtraDrawerProps = object, ExtraAppbarProps = object> {
9
+ /**
10
+ * Name of the app, displayed as the main title and in the tab title
11
+ */
12
+ name: string;
13
+ /**
14
+ * Logo to be displayed in the drawer of the CMS
15
+ */
16
+ logo?: string;
17
+ /**
18
+ * Whether to include the drawer in the scaffold
19
+ */
20
+ includeDrawer?: boolean;
21
+ /**
22
+ * In case you need to override the view that gets rendered as a drawer
23
+ * @see DefaultDrawer
24
+ */
25
+ Drawer?: React.ComponentType<DrawerProps<ExtraDrawerProps>>;
26
+ /**
27
+ * Additional props passed to the custom Drawer
28
+ */
29
+ drawerProps?: Partial<DrawerProps> & ExtraDrawerProps;
30
+ /**
31
+ * Open the drawer on hover
32
+ */
33
+ autoOpenDrawer?: boolean;
34
+ /**
35
+ * A component that gets rendered on the upper side of the main toolbar.
36
+ * `toolbarExtraWidget` has no effect if this is set.
37
+ */
38
+ FireCMSAppBar?: React.ComponentType<FireCMSAppBarProps<ExtraAppbarProps>>;
39
+ /**
40
+ * Additional props passed to the custom AppBar
41
+ */
42
+ fireCMSAppBarProps?: Partial<FireCMSAppBarProps> & ExtraAppbarProps;
43
+ }
44
+ /**
45
+ * This view acts as a scaffold for FireCMS.
46
+ *
47
+ * It is in charge of displaying the navigation drawer, top bar and main
48
+ * collection views.
49
+ * This component needs a parent {@link FireCMS}
50
+ *
51
+ * @param props
52
+ * @constructor
53
+ * @group Core
54
+ */
55
+ export declare const Scaffold: React.NamedExoticComponent<React.PropsWithChildren<ScaffoldProps<object, object>>>;
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ export type SideDialogContextProps = {
3
+ blocked: boolean;
4
+ setBlocked: (blocked: boolean) => void;
5
+ setBlockedNavigationMessage: (message?: React.ReactNode) => void;
6
+ width?: string;
7
+ close: (force?: boolean) => void;
8
+ };
9
+ /**
10
+ * This hook is used to access the properties of a particular side dialog,
11
+ * in contrast with {@link useSideDialogsController} which handles the
12
+ * state of all the dialogs.
13
+ */
14
+ export declare const useSideDialogContext: () => SideDialogContextProps;
15
+ /**
16
+ * This is the component in charge of rendering the side dialogs used
17
+ * for editing entities. Use the {@link useSideEntityController} to open
18
+ * and control the dialogs.
19
+ * This component needs a parent {@link FireCMS}
20
+ * {@link useSideDialogsController}
21
+ * @group Components
22
+ */
23
+ export declare function SideDialogs(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { User } from "../types";
2
+ import { EntityEditViewProps } from "./EntityEditView";
3
+ export type SideEntityViewProps<M extends Record<string, any>> = EntityEditViewProps<M> & {
4
+ formWidth?: number | string;
5
+ onClose?: () => void;
6
+ };
7
+ export declare function SideEntityView<M extends Record<string, any>, UserType extends User>({ path, entityId, selectedSubPath, copy, collection, parentCollectionIds, onValuesAreModified, formWidth, onUpdate, onClose }: SideEntityViewProps<M>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,7 @@
1
+ import { Property, PropertyConfig, ResolvedProperty } from "../types";
2
+ export declare function isDefaultFieldConfigId(id: string): boolean;
3
+ export declare const DEFAULT_FIELD_CONFIGS: Record<string, PropertyConfig<any>>;
4
+ export declare function getDefaultFieldConfig(property: Property | ResolvedProperty): PropertyConfig | undefined;
5
+ export declare function getFieldConfig(property: Property | ResolvedProperty, propertyConfigs: Record<string, PropertyConfig<any>>): PropertyConfig | undefined;
6
+ export declare function getDefaultFieldId(property: Property | ResolvedProperty): "reference" | "date_time" | "text_field" | "multiline" | "markdown" | "url" | "email" | "select" | "multi_select" | "number_input" | "number_select" | "multi_number_select" | "file_upload" | "multi_file_upload" | "group" | "key_value" | "multi_references" | "switch" | "repeat" | "custom_array" | "block" | undefined;
7
+ export declare function getFieldId(property: Property | ResolvedProperty): string | undefined;
@@ -0,0 +1,8 @@
1
+ export * from "./FireCMS";
2
+ export type { ScaffoldProps } from "./Scaffold";
3
+ export { Scaffold } from "./Scaffold";
4
+ export type { DrawerProps } from "./Drawer";
5
+ export { Drawer, DrawerNavigationItem } from "./Drawer";
6
+ export * from "./field_configs";
7
+ export * from "./SideDialogs";
8
+ export * from "./NavigationRoutes";
@@ -0,0 +1,77 @@
1
+ import { Entity, EntityCollection, EntityStatus, EntityValues, FormContext, ResolvedEntityCollection } from "../types";
2
+ import { ValidationError } from "yup";
3
+ /**
4
+ * @group Components
5
+ */
6
+ export interface EntityFormProps<M extends Record<string, any>> {
7
+ /**
8
+ * New or existing status
9
+ */
10
+ status: EntityStatus;
11
+ /**
12
+ * Path of the collection this entity is located
13
+ */
14
+ path: string;
15
+ /**
16
+ * The collection is used to build the fields of the form
17
+ */
18
+ collection: EntityCollection<M>;
19
+ /**
20
+ * The updated entity is passed from the parent component when the underlying data
21
+ * has changed in the datasource
22
+ */
23
+ entity?: Entity<M>;
24
+ /**
25
+ * The callback function called when Save is clicked and validation is correct
26
+ */
27
+ onEntitySaveRequested: (props: EntityFormSaveParams<M>) => Promise<void>;
28
+ /**
29
+ * The callback function called when discard is clicked
30
+ */
31
+ onDiscard?: () => void;
32
+ /**
33
+ * The callback function when the form is dirty, so the values are different
34
+ * from the original ones
35
+ */
36
+ onModified?: (dirty: boolean) => void;
37
+ /**
38
+ * The callback function when the form original values have been modified
39
+ */
40
+ onValuesChanged?: (values?: EntityValues<M>) => void;
41
+ /**
42
+ *
43
+ * @param id
44
+ */
45
+ onIdChange?: (id: string) => void;
46
+ currentEntityId?: string;
47
+ onFormContextChange?: (formContext: FormContext<M>) => void;
48
+ hideId?: boolean;
49
+ autoSave?: boolean;
50
+ onIdUpdateError?: (error: any) => void;
51
+ }
52
+ export type EntityFormSaveParams<M extends Record<string, any>> = {
53
+ collection: ResolvedEntityCollection<M>;
54
+ path: string;
55
+ entityId: string | undefined;
56
+ values: EntityValues<M>;
57
+ previousValues?: EntityValues<M>;
58
+ closeAfterSave: boolean;
59
+ autoSave: boolean;
60
+ };
61
+ /**
62
+ * This is the form used internally by the CMS
63
+ * @param status
64
+ * @param path
65
+ * @param collection
66
+ * @param entity
67
+ * @param onEntitySave
68
+ * @param onDiscard
69
+ * @param onModified
70
+ * @param onValuesChanged
71
+ * @constructor
72
+ * @group Components
73
+ */
74
+ export declare const EntityForm: typeof EntityFormInternal;
75
+ declare function EntityFormInternal<M extends Record<string, any>>({ status, path, collection: inputCollection, entity, onEntitySaveRequested, onDiscard, onModified, onValuesChanged, onIdChange, onFormContextChange, hideId, autoSave, onIdUpdateError, }: EntityFormProps<M>): import("react/jsx-runtime").JSX.Element;
76
+ export declare function yupToFormErrors(yupError: ValidationError): Record<string, any>;
77
+ export {};
@@ -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, 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,10 @@
1
+ import { Entity, EntityStatus, EnumValues } from "../../types";
2
+ export declare function CustomIdField<M extends Record<string, any>>({ customId, entityId, status, onChange, error, entity, loading }: {
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
+ loading: boolean;
10
+ }): 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,14 @@
1
+ import React from "react";
2
+ interface LabelWithIconProps {
3
+ icon: React.ReactNode;
4
+ title?: string;
5
+ small?: boolean;
6
+ className?: string;
7
+ required?: boolean;
8
+ }
9
+ /**
10
+ * Render the label of with an icon and the title of a property
11
+ * @group Form custom fields
12
+ */
13
+ export declare function LabelWithIcon({ icon, title, small, className, required }: LabelWithIconProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1,14 @@
1
+ import { Entity, EntityCollection, 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
+ collection: EntityCollection;
12
+ }
13
+ export declare function StorageItemPreview({ name, property, value, entity, onRemove, disabled, size, collection }: StorageItemPreviewProps): import("react/jsx-runtime").JSX.Element;
14
+ 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,3 @@
1
+ export * from "./FormikArrayContainer";
2
+ export * from "./FieldHelperText";
3
+ export * from "./LabelWithIcon";
@@ -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({ propertyKey, value, showError, error, disabled, property, setValue, tableMode, includeDescription, underlyingValueHasChanged, autoFocus, context }: FieldProps<Record<string, any>>): 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({ propertyKey, value, showError, error, disabled, property, setValue, partOfBlock, tableMode, includeDescription, underlyingValueHasChanged, autoFocus, context }: FieldProps<Record<string, any>>): 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,29 @@
1
+ import { Entity, EntityCollection, 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
+ collection: EntityCollection;
15
+ setInternalValue: (v: StorageFieldItem[]) => void;
16
+ name: string;
17
+ property: ResolvedStringProperty | ResolvedArrayProperty<string[]>;
18
+ onChange: (value: string | string[] | null) => void;
19
+ multipleFilesSupported: boolean;
20
+ autoFocus: boolean;
21
+ disabled: boolean;
22
+ entity: Entity<any>;
23
+ storage: StorageConfig;
24
+ onFilesAdded: (acceptedFiles: File[]) => void;
25
+ storagePathBuilder: (file: File) => string;
26
+ onFileUploadComplete: (uploadedPath: string, entry: StorageFieldItem, fileMetadata?: any) => Promise<void>;
27
+ }
28
+ export declare function StorageUpload({ collection, property, name, value, setInternalValue, onChange, multipleFilesSupported, onFileUploadComplete, disabled, onFilesAdded, autoFocus, storage, entity, storagePathBuilder, }: StorageUploadProps): import("react/jsx-runtime").JSX.Element;
29
+ 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 TextFieldBindingProps<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>({ context, propertyKey, value, setValue, error, showError, disabled, autoFocus, property, includeDescription, }: TextFieldBindingProps<T>): import("react/jsx-runtime").JSX.Element;
12
+ export {};
@@ -0,0 +1,21 @@
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";
21
+ export * from "./useClearRestoreValue";
@@ -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({ property, entityId, customFieldValidator, name }: PropertyContext<Record<string, any>>): 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>;