@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
package/README.md CHANGED
@@ -83,7 +83,7 @@ data.
83
83
 
84
84
  ### ✨ Robust Forms
85
85
 
86
- ![fields](https://firecms.co/img/post_editing.png)
86
+ ![fields](https://firecms.co/img/post_editing.webp)
87
87
 
88
88
  When editing an entity, FireCMS offers a nested system of side dialogs for
89
89
  navigating through **subcollections** and accessing custom views (such as custom
@@ -0,0 +1,42 @@
1
+ import React from "react";
2
+ import { DraggableProvided } from "@hello-pangea/dnd";
3
+ interface ArrayContainerProps<T> {
4
+ droppableId: string;
5
+ value: T[];
6
+ addLabel: string;
7
+ buildEntry: (index: number, internalId: number) => React.ReactNode;
8
+ disabled?: boolean;
9
+ size?: "small" | "medium";
10
+ onInternalIdAdded?: (id: number) => void;
11
+ includeAddButton?: boolean;
12
+ newDefaultEntry: T;
13
+ onValueChange: (value: T[]) => void;
14
+ }
15
+ /**
16
+ * @group Form custom fields
17
+ */
18
+ export declare function ArrayContainer<T>({ droppableId, addLabel, value, disabled, buildEntry, size, onInternalIdAdded, includeAddButton, newDefaultEntry, onValueChange }: ArrayContainerProps<T>): import("react/jsx-runtime").JSX.Element;
19
+ type ArrayContainerItemProps = {
20
+ provided: DraggableProvided;
21
+ index: number;
22
+ internalId: number;
23
+ size?: "small" | "medium";
24
+ disabled: boolean;
25
+ buildEntry: (index: number, internalId: number) => React.ReactNode;
26
+ remove: (index: number) => void;
27
+ copy: (index: number) => void;
28
+ isDragging: boolean;
29
+ };
30
+ export declare function ArrayContainerItem({ provided, index, internalId, size, disabled, buildEntry, remove, copy, isDragging }: ArrayContainerItemProps): import("react/jsx-runtime").JSX.Element;
31
+ export declare function ArrayItemOptions({ direction, disabled, remove, index, provided, copy, contentOverflow, measuring }: {
32
+ direction?: "row" | "column";
33
+ contentOverflow: boolean;
34
+ measuring: boolean;
35
+ disabled: boolean;
36
+ remove: (index: number) => void;
37
+ index: number;
38
+ provided: any;
39
+ copy: (index: number) => void;
40
+ }): import("react/jsx-runtime").JSX.Element;
41
+ export declare function getRandomId(): number;
42
+ export {};
@@ -0,0 +1,11 @@
1
+ import { CircularProgressProps } from "@firecms/ui";
2
+ /**
3
+ *
4
+ * @param text
5
+ * @param props
6
+ * @constructor
7
+ * @ignore
8
+ */
9
+ export declare function CircularProgressCenter({ text, ...props }: CircularProgressProps & {
10
+ text?: string;
11
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,9 @@
1
+ import React from "react";
2
+ export declare function DeleteConfirmationDialog({ open, onAccept, onCancel, title, loading, body }: {
3
+ open: boolean;
4
+ onAccept: () => void;
5
+ onCancel: () => void;
6
+ loading?: boolean;
7
+ title: React.ReactNode;
8
+ body?: React.ReactNode;
9
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,12 @@
1
+ import { Entity, EntityCallbacks, EntityCollection } from "../types";
2
+ export interface DeleteEntityDialogProps<M extends Record<string, any>> {
3
+ entityOrEntitiesToDelete?: Entity<M> | Entity<M>[];
4
+ path: string;
5
+ collection: EntityCollection<M>;
6
+ open: boolean;
7
+ onClose: () => void;
8
+ callbacks?: EntityCallbacks<M>;
9
+ onEntityDelete?(path: string, entity: Entity<M>): void;
10
+ onMultipleEntitiesDelete?(path: string, entities: Entity<M>[]): void;
11
+ }
12
+ export declare function DeleteEntityDialog<M extends Record<string, any>>({ entityOrEntitiesToDelete, collection, onClose, open, callbacks, onEntityDelete, onMultipleEntitiesDelete, path }: DeleteEntityDialogProps<M>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,35 @@
1
+ import React from "react";
2
+ import { CollectionSize, Entity, EntityAction, EntityCollection, SelectionController } from "../../types";
3
+ /**
4
+ *
5
+ * @param entity
6
+ * @param width
7
+ * @param frozen
8
+ * @param isSelected
9
+ * @param selectionEnabled
10
+ * @param size
11
+ * @param toggleEntitySelection
12
+ * @param onCopyClicked
13
+ * @param onEditClicked
14
+ * @param onDeleteClicked
15
+ * @param hideId
16
+ * @constructor
17
+ *
18
+ * @group Collection components
19
+ */
20
+ export declare const EntityCollectionRowActions: React.NamedExoticComponent<{
21
+ entity: Entity<any>;
22
+ collection?: EntityCollection<any, import("../../types").User> | undefined;
23
+ fullPath?: string | undefined;
24
+ width: number;
25
+ frozen?: boolean | undefined;
26
+ size: CollectionSize;
27
+ isSelected?: boolean | undefined;
28
+ selectionEnabled?: boolean | undefined;
29
+ actions?: EntityAction[] | undefined;
30
+ hideId?: boolean | undefined;
31
+ onCollectionChange?: (() => void) | undefined;
32
+ selectionController?: SelectionController | undefined;
33
+ highlightEntity?: ((entity: Entity<any>) => void) | undefined;
34
+ unhighlightEntity?: ((entity: Entity<any>) => void) | undefined;
35
+ }>;
@@ -0,0 +1,30 @@
1
+ import React from "react";
2
+ import { EntityCollectionTableController } from "./types";
3
+ import { EntityCollectionTableProps } from "./EntityCollectionTableProps";
4
+ export declare const EntityCollectionTableContext: React.Context<EntityCollectionTableController<any>>;
5
+ export declare const useEntityCollectionTableController: () => EntityCollectionTableController<any>;
6
+ /**
7
+ * This component is in charge of rendering a collection table with a high
8
+ * degree of customization.
9
+ *
10
+ * This component is used internally by {@link EntityCollectionView} and
11
+ * {@link useReferenceDialog}
12
+ *
13
+ * Please note that you only need to use this component if you are building
14
+ * a custom view. If you just need to create a default view you can do it
15
+ * exclusively with config options.
16
+ *
17
+ * If you want to bind a {@link EntityCollection} to a table with the default
18
+ * options you see in collections in the top level navigation, you can
19
+ * check {@link EntityCollectionView}.
20
+ *
21
+ * The data displayed in the table is managed by a {@link EntityTableController}.
22
+ * You can build the default, bound to a path in the datasource, by using the hook
23
+ * {@link useDataSourceEntityCollectionTableController}
24
+ *
25
+ * @see EntityCollectionTableProps
26
+ * @see EntityCollectionView
27
+ * @see VirtualTable
28
+ * @group Components
29
+ */
30
+ export declare const EntityCollectionTable: React.NamedExoticComponent<EntityCollectionTableProps<any>>;
@@ -0,0 +1,106 @@
1
+ import React from "react";
2
+ import { AdditionalFieldDelegate, CollectionSize, Entity, FilterValues, ResolvedProperties, ResolvedProperty, SelectionController, EntityTableController, User } from "../../types";
3
+ import { OnCellValueChange, UniqueFieldValidator } from "./types";
4
+ /**
5
+ * @group Collection components
6
+ */
7
+ export type OnColumnResizeParams = {
8
+ width: number;
9
+ key: string;
10
+ };
11
+ /**
12
+ * @group Collection components
13
+ */
14
+ export type EntityCollectionTableProps<M extends Record<string, any>, UserType extends User = User> = {
15
+ /**
16
+ * Display these entities as selected
17
+ */
18
+ selectionController: SelectionController<M>;
19
+ /**
20
+ * List of entities that will be displayed as selected;
21
+ */
22
+ highlightedEntities?: Entity<M>[];
23
+ /**
24
+ * Override the title in the toolbar
25
+ */
26
+ title?: React.ReactNode;
27
+ /**
28
+ * Additional component that renders actions such as buttons in the
29
+ * collection toolbar, displayed on the left side
30
+ */
31
+ actionsStart?: React.ReactNode;
32
+ /**
33
+ * Callback when a cell value changes.
34
+ */
35
+ onValueChange?: OnCellValueChange<any, M>;
36
+ uniqueFieldValidator?: UniqueFieldValidator;
37
+ /**
38
+ * Builder for creating the buttons in each row
39
+ * @param entity
40
+ * @param size
41
+ */
42
+ tableRowActionsBuilder?: (params: {
43
+ entity: Entity<M>;
44
+ size: CollectionSize;
45
+ width: number;
46
+ frozen?: boolean;
47
+ }) => React.ReactNode;
48
+ /**
49
+ * Callback when anywhere on the table is clicked
50
+ */
51
+ onEntityClick?(entity: Entity<M>): void;
52
+ /**
53
+ * Callback when a column is resized
54
+ */
55
+ onColumnResize?(params: OnColumnResizeParams): void;
56
+ /**
57
+ * Callback when the selected size of the table is changed
58
+ */
59
+ onSizeChanged?(size: CollectionSize): void;
60
+ /**
61
+ * Should apply a different style to a row when hovering
62
+ */
63
+ hoverRow?: boolean;
64
+ /**
65
+ * Additional component that renders actions such as buttons in the
66
+ * collection toolbar, displayed on the right side
67
+ */
68
+ actions?: React.ReactNode;
69
+ /**
70
+ * Controller holding the logic for the table
71
+ * {@link useDataSourceEntityCollectionTableController}
72
+ * {@link EntityTableController}
73
+ */
74
+ tableController: EntityTableController<M>;
75
+ displayedColumnIds: PropertyColumnConfig[];
76
+ forceFilter?: FilterValues<Extract<keyof M, string>>;
77
+ textSearchEnabled?: boolean;
78
+ inlineEditing?: boolean | ((entity: Entity<M>) => boolean);
79
+ additionalFields?: AdditionalFieldDelegate<M, UserType>[];
80
+ defaultSize?: CollectionSize;
81
+ properties: ResolvedProperties<M>;
82
+ getPropertyFor?: (props: GetPropertyForProps<M>) => ResolvedProperties<M>[string];
83
+ filterable?: boolean;
84
+ sortable?: boolean;
85
+ endAdornment?: React.ReactNode;
86
+ AdditionalHeaderWidget?: (props: {
87
+ property: ResolvedProperty;
88
+ propertyKey: string;
89
+ onHover: boolean;
90
+ }) => React.ReactNode;
91
+ AddColumnComponent?: React.ComponentType;
92
+ additionalIDHeaderWidget?: React.ReactNode;
93
+ emptyComponent?: React.ReactNode;
94
+ getIdColumnWidth?: () => number;
95
+ onTextSearchClick?: () => void;
96
+ textSearchLoading?: boolean;
97
+ };
98
+ export type GetPropertyForProps<M extends Record<string, any>> = {
99
+ propertyKey: string;
100
+ propertyValue: any;
101
+ entity: Entity<M>;
102
+ };
103
+ export type PropertyColumnConfig = {
104
+ key: string;
105
+ disabled: boolean;
106
+ };
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { CMSType, Entity, ResolvedProperty } from "../../types";
3
+ import { CustomFieldValidator } from "../../form/validation";
4
+ export interface PropertyTableCellProps<T extends CMSType, M extends Record<string, any>> {
5
+ propertyKey: string;
6
+ columnIndex: number;
7
+ align: "right" | "left" | "center";
8
+ customFieldValidator?: CustomFieldValidator;
9
+ value: T;
10
+ readonly: boolean;
11
+ property: ResolvedProperty<T>;
12
+ height: number;
13
+ width: number;
14
+ entity: Entity<any>;
15
+ path: string;
16
+ disabled: boolean;
17
+ }
18
+ export declare const PropertyTableCell: React.FunctionComponent<PropertyTableCellProps<any, any>>;
@@ -0,0 +1,95 @@
1
+ import React from "react";
2
+ import { CollectionSize, Entity, EntityTableController, FilterValues } from "../../types";
3
+ import { CellRendererParams, VirtualTableColumn } from "../VirtualTable";
4
+ import { OnCellValueChange } from "./types";
5
+ import { OnColumnResizeParams } from "./EntityCollectionTableProps";
6
+ export type SimpleEntityCollectionTableProps<M extends Record<string, any>> = {
7
+ /**
8
+ * List of entities that will be displayed as selected;
9
+ */
10
+ highlightedEntities?: Entity<M>[];
11
+ /**
12
+ * Override the title in the toolbar
13
+ */
14
+ title?: React.ReactNode;
15
+ /**
16
+ * Callback when a cell value changes.
17
+ */
18
+ onValueChange?: OnCellValueChange<any, M>;
19
+ columns: VirtualTableColumn[];
20
+ cellRenderer: React.ComponentType<CellRendererParams<Entity<M>>>;
21
+ /**
22
+ * Builder for creating the buttons in each row
23
+ * @param entity
24
+ * @param size
25
+ */
26
+ tableRowActionsBuilder?: (params: {
27
+ entity: Entity<M>;
28
+ size: CollectionSize;
29
+ width: number;
30
+ frozen?: boolean;
31
+ }) => React.ReactNode;
32
+ /**
33
+ * Callback when anywhere on the table is clicked
34
+ */
35
+ onEntityClick?(entity: Entity<M>): void;
36
+ /**
37
+ * Callback when a column is resized
38
+ */
39
+ onColumnResize?(params: OnColumnResizeParams): void;
40
+ /**
41
+ * Callback when the selected size of the table is changed
42
+ */
43
+ onSizeChanged?(size: CollectionSize): void;
44
+ /**
45
+ * Should apply a different style to a row when hovering
46
+ */
47
+ hoverRow?: boolean;
48
+ /**
49
+ * Additional component that renders actions such as buttons in the
50
+ * collection toolbar, displayed on the left side
51
+ */
52
+ actionsStart?: React.ReactNode;
53
+ /**
54
+ * Additional component that renders actions such as buttons in the
55
+ * collection toolbar, displayed on the right side
56
+ */
57
+ actions?: React.ReactNode;
58
+ /**
59
+ * Controller holding the logic for the table
60
+ * {@link useDataSourceEntityCollectionTableController}
61
+ * {@link EntityTableController}
62
+ */
63
+ tableController: EntityTableController<M>;
64
+ filterable?: boolean;
65
+ sortable?: boolean;
66
+ inlineEditing?: boolean;
67
+ textSearchEnabled?: boolean;
68
+ emptyComponent?: React.ReactNode;
69
+ forceFilter?: FilterValues<keyof M extends string ? keyof M : never>;
70
+ };
71
+ /**
72
+ * This component is in charge of rendering a collection table with a high
73
+ * degree of customization.
74
+ *
75
+ * This component is used internally by {@link EntityCollectionView} and
76
+ * {@link useReferenceDialog}
77
+ *
78
+ * Please note that you only need to use this component if you are building
79
+ * a custom view. If you just need to create a default view you can do it
80
+ * exclusively with config options.
81
+ *
82
+ * If you want to bind a {@link EntityCollection} to a table with the default
83
+ * options you see in collections in the top level navigation, you can
84
+ * check {@link EntityCollectionView}.
85
+ *
86
+ * The data displayed in the table is managed by a {@link EntityTableController}.
87
+ * You can build the default, bound to a path in the datasource, by using the hook
88
+ * {@link useDataSourceEntityCollectionTableController}
89
+ *
90
+ * @see EntityCollectionTableProps
91
+ * @see EntityCollectionView
92
+ * @see VirtualTable
93
+ * @group Components
94
+ */
95
+ export declare const SimpleEntityCollectionTable: React.NamedExoticComponent<SimpleEntityCollectionTableProps<any>>;
@@ -0,0 +1,16 @@
1
+ import React from "react";
2
+ import { FilterValues, ResolvedProperties, ResolvedProperty } from "../../types";
3
+ import { VirtualTableColumn } from "../VirtualTable";
4
+ export declare function buildIdColumn(largeLayout?: boolean): VirtualTableColumn;
5
+ export interface PropertiesToColumnsParams<M extends Record<string, any>> {
6
+ properties: ResolvedProperties<M>;
7
+ sortable?: boolean;
8
+ forceFilter?: FilterValues<keyof M extends string ? keyof M : never>;
9
+ disabledFilter?: boolean;
10
+ AdditionalHeaderWidget?: (props: {
11
+ property: ResolvedProperty;
12
+ propertyKey: string;
13
+ onHover: boolean;
14
+ }) => React.ReactNode;
15
+ }
16
+ export declare function propertiesToColumns<M extends Record<string, any>>({ properties, sortable, forceFilter, disabledFilter, AdditionalHeaderWidget }: PropertiesToColumnsParams<M>): VirtualTableColumn[];
@@ -0,0 +1,15 @@
1
+ import { CollectionSize, EntityReference, FilterValues } from "../../../types";
2
+ type TableReferenceFieldProps = {
3
+ name: string;
4
+ disabled: boolean;
5
+ internalValue: EntityReference | EntityReference[] | undefined | null;
6
+ updateValue: (newValue: (EntityReference | EntityReference[] | null)) => void;
7
+ size: CollectionSize;
8
+ multiselect: boolean;
9
+ previewProperties?: string[];
10
+ title?: string;
11
+ path: string;
12
+ forceFilter?: FilterValues<string>;
13
+ };
14
+ export declare function TableReferenceField(props: TableReferenceFieldProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};
@@ -0,0 +1,33 @@
1
+ import * as React from "react";
2
+ import { Entity, ResolvedArrayProperty, ResolvedStringProperty } from "../../../types";
3
+ import { PreviewSize } from "../../../preview";
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 TableStorageUpload(props: {
12
+ propertyKey: string;
13
+ error: Error | undefined;
14
+ disabled: boolean;
15
+ value: string | string[] | null;
16
+ updateValue: (newValue: (string | string[] | null)) => void;
17
+ selected: boolean;
18
+ focused: boolean;
19
+ property: ResolvedStringProperty | ResolvedArrayProperty<string[]>;
20
+ entity: Entity<any>;
21
+ path: string;
22
+ previewSize: PreviewSize;
23
+ openPopup?: (cellRect?: DOMRect) => void;
24
+ onBlur?: React.FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;
25
+ }): import("react/jsx-runtime").JSX.Element;
26
+ interface TableStorageItemPreviewProps {
27
+ property: ResolvedStringProperty;
28
+ value: string;
29
+ size: PreviewSize;
30
+ entity: Entity<any>;
31
+ }
32
+ export declare function TableStorageItemPreview({ property, value, size, entity }: TableStorageItemPreviewProps): import("react/jsx-runtime").JSX.Element;
33
+ export {};
@@ -0,0 +1,9 @@
1
+ import { VirtualTableWhereFilterOp } from "../../VirtualTable";
2
+ interface BooleanFieldProps {
3
+ name: string;
4
+ value?: [op: VirtualTableWhereFilterOp, fieldValue: any];
5
+ setValue: (value?: [op: VirtualTableWhereFilterOp, newValue: any]) => void;
6
+ title?: string;
7
+ }
8
+ export declare function BooleanFilterField({ name, title, value, setValue }: BooleanFieldProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
@@ -0,0 +1,11 @@
1
+ import { VirtualTableWhereFilterOp } from "../../VirtualTable";
2
+ interface DateTimeFilterFieldProps {
3
+ name: string;
4
+ mode?: "date" | "date_time";
5
+ value?: [op: VirtualTableWhereFilterOp, fieldValue: any];
6
+ setValue: (value?: [op: VirtualTableWhereFilterOp, newValue: any]) => void;
7
+ isArray?: boolean;
8
+ title?: string;
9
+ }
10
+ export declare function DateTimeFilterField({ name, isArray, mode, value, setValue, title }: DateTimeFilterFieldProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -0,0 +1,14 @@
1
+ import { VirtualTableWhereFilterOp } from "../../VirtualTable";
2
+ interface ReferenceFilterFieldProps {
3
+ name: string;
4
+ value?: [op: VirtualTableWhereFilterOp, fieldValue: any];
5
+ setValue: (filterValue?: [VirtualTableWhereFilterOp, any]) => void;
6
+ isArray?: boolean;
7
+ path?: string;
8
+ title?: string;
9
+ previewProperties?: string[];
10
+ hidden: boolean;
11
+ setHidden: (hidden: boolean) => void;
12
+ }
13
+ export declare function ReferenceFilterField({ name, value, setValue, isArray, path, title, previewProperties, setHidden }: ReferenceFilterFieldProps): import("react/jsx-runtime").JSX.Element;
14
+ export {};
@@ -0,0 +1,13 @@
1
+ import { VirtualTableWhereFilterOp } from "../../VirtualTable";
2
+ import { EnumValueConfig } from "../../../types";
3
+ interface StringNumberFilterFieldProps {
4
+ name: string;
5
+ dataType: "string" | "number";
6
+ value?: [op: VirtualTableWhereFilterOp, fieldValue: any];
7
+ setValue: (value?: [op: VirtualTableWhereFilterOp, newValue: any]) => void;
8
+ isArray?: boolean;
9
+ enumValues?: EnumValueConfig[];
10
+ title?: string;
11
+ }
12
+ export declare function StringNumberFilterField({ name, value, setValue, dataType, isArray, enumValues, title }: StringNumberFilterFieldProps): import("react/jsx-runtime").JSX.Element;
13
+ export {};
@@ -0,0 +1,8 @@
1
+ export { EntityCollectionTable } from "./EntityCollectionTable";
2
+ export type { EntityCollectionTableProps, OnColumnResizeParams } from "./EntityCollectionTableProps";
3
+ export type { UniqueFieldValidator, OnCellValueChange, OnCellValueChangeParams } from "./types";
4
+ export * from "./PropertyTableCell";
5
+ export * from "./SimpleEntityCollectionTable";
6
+ export * from "./EntityCollectionRowActions";
7
+ export * from "./useDataSourceEntityCollectionTableController";
8
+ export * from "./column_utils";
@@ -0,0 +1,18 @@
1
+ import React from "react";
2
+ import { CollectionSize } from "../../../types";
3
+ interface CollectionTableToolbarProps {
4
+ size: CollectionSize;
5
+ filterIsSet: boolean;
6
+ loading: boolean;
7
+ forceFilter?: boolean;
8
+ actionsStart?: React.ReactNode;
9
+ actions?: React.ReactNode;
10
+ title?: React.ReactNode;
11
+ onTextSearchClick?: () => void;
12
+ onTextSearch?: (searchString?: string) => void;
13
+ onSizeChanged: (size: CollectionSize) => void;
14
+ clearFilter?: () => void;
15
+ textSearchLoading?: boolean;
16
+ }
17
+ export declare function CollectionTableToolbar(props: CollectionTableToolbarProps): import("react/jsx-runtime").JSX.Element;
18
+ export {};
@@ -0,0 +1,26 @@
1
+ import React from "react";
2
+ import { VirtualTableSize } from "../../VirtualTable";
3
+ interface EntityTableCellProps {
4
+ children: React.ReactNode;
5
+ actions?: React.ReactNode;
6
+ /**
7
+ * The value is used only to check changes and force re-renders
8
+ */
9
+ value?: any;
10
+ disabled: boolean;
11
+ saved?: boolean;
12
+ error?: Error;
13
+ allowScroll?: boolean;
14
+ align: "right" | "left" | "center";
15
+ size: VirtualTableSize;
16
+ disabledTooltip?: string;
17
+ width: number;
18
+ showExpandIcon?: boolean;
19
+ removePadding?: boolean;
20
+ fullHeight?: boolean;
21
+ selected?: boolean;
22
+ hideOverflow?: boolean;
23
+ onSelect?: (cellRect: DOMRect | undefined) => void;
24
+ }
25
+ export declare const EntityTableCell: React.FunctionComponent<EntityTableCellProps>;
26
+ export {};
@@ -0,0 +1,9 @@
1
+ export interface EntityTableCellActionsProps {
2
+ showError: false | Error | undefined;
3
+ disabled: boolean;
4
+ showExpandIcon: boolean | undefined;
5
+ selected: boolean | undefined;
6
+ openPopup?: (cellRect: DOMRect | undefined) => void;
7
+ children?: React.ReactNode;
8
+ }
9
+ export declare function EntityTableCellActions({ showError, disabled, showExpandIcon, selected, openPopup, children }: EntityTableCellActionsProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,4 @@
1
+ import { EntityCollection, Property, ResolvedProperty } from "../../../types";
2
+ export declare function getTableCellAlignment(property: Property | ResolvedProperty): "right" | "left" | "center";
3
+ export declare function getTablePropertyColumnWidth(property: ResolvedProperty): number;
4
+ export declare function getSubcollectionColumnId(collection: EntityCollection): string;
@@ -0,0 +1,6 @@
1
+ import { EntityAction } from "../../../types";
2
+ export declare const editEntityAction: EntityAction;
3
+ export declare const copyEntityAction: EntityAction;
4
+ export declare const archiveEntityAction: EntityAction;
5
+ export declare const openWebsiteAction: EntityAction;
6
+ export declare const deleteEntityAction: EntityAction;
@@ -0,0 +1,5 @@
1
+ interface Props {
2
+ onResize: (event: Event) => void;
3
+ }
4
+ export declare const ElementResizeListener: React.FC<Props>;
5
+ export {};
@@ -0,0 +1,23 @@
1
+ import { Entity, EntityCollection } from "../../../../types";
2
+ import { CustomFieldValidator } from "../../../../form/validation";
3
+ import { OnCellValueChangeParams } from "../../../../components";
4
+ interface PopupFormFieldProps<M extends Record<string, any>> {
5
+ entity?: Entity<M>;
6
+ customFieldValidator?: CustomFieldValidator;
7
+ path: string;
8
+ tableKey: string;
9
+ propertyKey?: Extract<keyof M, string>;
10
+ collection?: EntityCollection<M>;
11
+ cellRect?: DOMRect;
12
+ open: boolean;
13
+ onClose: () => void;
14
+ container: HTMLElement | null;
15
+ /**
16
+ * Callback when the value of a cell has been edited
17
+ * @param params
18
+ */
19
+ onCellValueChange?: (params: OnCellValueChangeParams<any, M>) => Promise<void> | void;
20
+ }
21
+ export declare function PopupFormField<M extends Record<string, any>>(props: PopupFormFieldProps<M>): import("react/jsx-runtime").JSX.Element | null;
22
+ export declare function PopupFormFieldInternal<M extends Record<string, any>>({ tableKey, entity: entityProp, customFieldValidator, propertyKey, collection: inputCollection, path, cellRect, open, onClose, onCellValueChange, container }: PopupFormFieldProps<M>): import("react/jsx-runtime").JSX.Element;
23
+ export {};
@@ -0,0 +1,13 @@
1
+ import React from "react";
2
+ interface DraggableProps {
3
+ containerRef: React.RefObject<HTMLDivElement>;
4
+ innerRef: React.RefObject<HTMLDivElement>;
5
+ x?: number;
6
+ y?: number;
7
+ onMove: (params: {
8
+ x: number;
9
+ y: number;
10
+ }) => void;
11
+ }
12
+ export declare function useDraggable({ containerRef, innerRef, x, y, onMove }: DraggableProps): void;
13
+ export {};
@@ -0,0 +1,6 @@
1
+ interface WindowSize {
2
+ width: number;
3
+ height: number;
4
+ }
5
+ export declare function useWindowSize(): WindowSize;
6
+ export {};