@firecms/core 3.0.0-canary.17 → 3.0.0-canary.171

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 (365) hide show
  1. package/README.md +3 -3
  2. package/dist/app/AppBar.d.ts +12 -0
  3. package/dist/app/Drawer.d.ts +16 -0
  4. package/dist/app/Scaffold.d.ts +30 -0
  5. package/dist/app/index.d.ts +4 -0
  6. package/dist/app/useApp.d.ts +16 -0
  7. package/dist/components/ArrayContainer.d.ts +23 -6
  8. package/dist/components/CircularProgressCenter.d.ts +1 -1
  9. package/dist/components/ClearFilterSortButton.d.ts +5 -0
  10. package/dist/components/{DeleteConfirmationDialog.d.ts → ConfirmationDialog.d.ts} +1 -1
  11. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +13 -13
  12. package/dist/components/EntityCollectionTable/EntityCollectionTable.d.ts +2 -2
  13. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +22 -6
  14. package/dist/components/EntityCollectionTable/PropertyTableCell.d.ts +1 -0
  15. package/dist/components/EntityCollectionTable/column_utils.d.ts +1 -2
  16. package/dist/components/EntityCollectionTable/fields/TableReferenceField.d.ts +3 -1
  17. package/dist/components/EntityCollectionTable/index.d.ts +1 -1
  18. package/dist/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +1 -4
  19. package/dist/components/EntityCollectionTable/internal/EntityTableCell.d.ts +2 -2
  20. package/dist/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +7 -4
  21. package/dist/components/EntityCollectionView/EntityCollectionView.d.ts +16 -2
  22. package/dist/components/EntityCollectionView/EntityCollectionViewStartActions.d.ts +11 -0
  23. package/dist/components/EntityCollectionView/utils.d.ts +3 -0
  24. package/dist/components/EntityPreview.d.ts +7 -6
  25. package/dist/components/ErrorView.d.ts +1 -1
  26. package/dist/components/HomePage/DefaultHomePage.d.ts +1 -1
  27. package/dist/components/HomePage/NavigationCardBinding.d.ts +1 -1
  28. package/dist/components/PropertyConfigBadge.d.ts +2 -1
  29. package/dist/components/PropertyIdCopyTooltip.d.ts +8 -0
  30. package/dist/components/ReferenceWidget.d.ts +3 -1
  31. package/dist/components/SelectableTable/SelectableTable.d.ts +13 -3
  32. package/dist/components/SelectableTable/filters/ReferenceFilterField.d.ts +2 -1
  33. package/dist/components/UnsavedChangesDialog.d.ts +8 -0
  34. package/dist/components/VirtualTable/VirtualTableProps.d.ts +28 -12
  35. package/dist/components/VirtualTable/types.d.ts +3 -3
  36. package/dist/components/{EntityCollectionTable/internal → common}/default_entity_actions.d.ts +1 -3
  37. package/dist/components/common/index.d.ts +2 -1
  38. package/dist/components/common/table_height.d.ts +5 -0
  39. package/dist/components/common/types.d.ts +4 -6
  40. package/dist/components/common/useColumnsIds.d.ts +3 -1
  41. package/dist/components/common/{useDataSourceEntityCollectionTableController.d.ts → useDataSourceTableController.d.ts} +13 -2
  42. package/dist/components/common/useDebouncedCallback.d.ts +1 -0
  43. package/dist/components/common/useScrollRestoration.d.ts +14 -0
  44. package/dist/components/index.d.ts +4 -2
  45. package/dist/contexts/BreacrumbsContext.d.ts +8 -0
  46. package/dist/{components/FireCMSAppBar.d.ts → core/DefaultAppBar.d.ts} +6 -9
  47. package/dist/core/DefaultDrawer.d.ts +19 -0
  48. package/dist/core/DrawerNavigationItem.d.ts +10 -0
  49. package/dist/core/EntityEditView.d.ts +41 -9
  50. package/dist/core/FireCMS.d.ts +2 -2
  51. package/dist/core/FireCMSRouter.d.ts +4 -0
  52. package/dist/core/NavigationRoutes.d.ts +2 -3
  53. package/dist/core/index.d.ts +4 -4
  54. package/dist/form/PropertyFieldBinding.d.ts +1 -1
  55. package/dist/form/components/ErrorFocus.d.ts +1 -1
  56. package/dist/form/components/FieldHelperText.d.ts +3 -3
  57. package/dist/form/components/LabelWithIcon.d.ts +1 -1
  58. package/dist/form/components/LabelWithIconAndTooltip.d.ts +15 -0
  59. package/dist/form/components/StorageItemPreview.d.ts +4 -4
  60. package/dist/form/components/index.d.ts +1 -1
  61. package/dist/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +1 -1
  62. package/dist/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +1 -1
  63. package/dist/form/field_bindings/BlockFieldBinding.d.ts +1 -1
  64. package/dist/form/field_bindings/KeyValueFieldBinding.d.ts +1 -1
  65. package/dist/form/field_bindings/MapFieldBinding.d.ts +1 -1
  66. package/dist/form/field_bindings/MarkdownEditorFieldBinding.d.ts +11 -0
  67. package/dist/form/field_bindings/{MultiSelectBinding.d.ts → MultiSelectFieldBinding.d.ts} +1 -1
  68. package/dist/form/field_bindings/ReadOnlyFieldBinding.d.ts +1 -1
  69. package/dist/form/field_bindings/ReferenceFieldBinding.d.ts +2 -2
  70. package/dist/form/field_bindings/RepeatFieldBinding.d.ts +1 -1
  71. package/dist/form/field_bindings/SelectFieldBinding.d.ts +1 -1
  72. package/dist/form/field_bindings/StorageUploadFieldBinding.d.ts +3 -5
  73. package/dist/form/field_bindings/SwitchFieldBinding.d.ts +1 -2
  74. package/dist/form/field_bindings/TextFieldBinding.d.ts +1 -1
  75. package/dist/form/index.d.ts +3 -5
  76. package/dist/form/useClearRestoreValue.d.ts +2 -2
  77. package/dist/hooks/data/delete.d.ts +4 -4
  78. package/dist/hooks/data/save.d.ts +4 -5
  79. package/dist/hooks/data/useCollectionFetch.d.ts +1 -1
  80. package/dist/hooks/data/useEntityFetch.d.ts +4 -3
  81. package/dist/hooks/index.d.ts +1 -0
  82. package/dist/hooks/useAuthController.d.ts +1 -1
  83. package/dist/hooks/useBreadcrumbsController.d.ts +26 -0
  84. package/dist/hooks/useBuildNavigationController.d.ts +3 -5
  85. package/dist/hooks/useFireCMSContext.d.ts +1 -1
  86. package/dist/hooks/useProjectLog.d.ts +8 -2
  87. package/dist/hooks/useResolvedNavigationFrom.d.ts +3 -3
  88. package/dist/hooks/useValidateAuthenticator.d.ts +5 -9
  89. package/dist/index.d.ts +1 -0
  90. package/dist/index.es.js +21408 -14205
  91. package/dist/index.es.js.map +1 -1
  92. package/dist/index.umd.js +23883 -588
  93. package/dist/index.umd.js.map +1 -1
  94. package/dist/internal/useBuildDataSource.d.ts +1 -16
  95. package/dist/internal/useUnsavedChangesDialog.d.ts +7 -9
  96. package/dist/preview/PropertyPreviewProps.d.ts +6 -1
  97. package/dist/preview/components/EnumValuesChip.d.ts +1 -1
  98. package/dist/preview/components/ReferencePreview.d.ts +3 -2
  99. package/dist/preview/components/StorageThumbnail.d.ts +2 -1
  100. package/dist/preview/components/UrlComponentPreview.d.ts +2 -1
  101. package/dist/preview/util.d.ts +3 -3
  102. package/dist/routes/CustomCMSRoute.d.ts +4 -0
  103. package/dist/routes/FireCMSRoute.d.ts +1 -0
  104. package/dist/routes/HomePageRoute.d.ts +3 -0
  105. package/dist/types/auth.d.ts +8 -10
  106. package/dist/types/collections.d.ts +69 -22
  107. package/dist/types/datasource.d.ts +52 -36
  108. package/dist/types/dialogs_controller.d.ts +7 -3
  109. package/dist/types/entities.d.ts +7 -2
  110. package/dist/types/entity_actions.d.ts +28 -4
  111. package/dist/types/entity_callbacks.d.ts +16 -16
  112. package/dist/types/entity_overrides.d.ts +2 -2
  113. package/dist/types/export_import.d.ts +4 -4
  114. package/dist/types/fields.d.ts +63 -41
  115. package/dist/types/firecms.d.ts +6 -2
  116. package/dist/types/firecms_context.d.ts +1 -1
  117. package/dist/types/index.d.ts +0 -1
  118. package/dist/types/navigation.d.ts +34 -17
  119. package/dist/types/permissions.d.ts +4 -4
  120. package/dist/types/plugins.d.ts +23 -12
  121. package/dist/types/properties.d.ts +34 -21
  122. package/dist/types/property_config.d.ts +0 -2
  123. package/dist/types/side_dialogs_controller.d.ts +10 -0
  124. package/dist/types/side_entity_controller.d.ts +1 -1
  125. package/dist/types/storage.d.ts +86 -3
  126. package/dist/types/user.d.ts +1 -0
  127. package/dist/util/builders.d.ts +2 -2
  128. package/dist/util/entities.d.ts +3 -3
  129. package/dist/util/entity_actions.d.ts +2 -0
  130. package/dist/util/entity_cache.d.ts +23 -0
  131. package/dist/util/icon_list.d.ts +5 -1
  132. package/dist/util/icon_synonyms.d.ts +1 -98
  133. package/dist/util/icons.d.ts +6 -3
  134. package/dist/util/index.d.ts +2 -0
  135. package/dist/util/navigation_from_path.d.ts +5 -1
  136. package/dist/util/navigation_utils.d.ts +14 -3
  137. package/dist/util/objects.d.ts +2 -1
  138. package/dist/util/permissions.d.ts +4 -4
  139. package/dist/util/plurals.d.ts +0 -2
  140. package/dist/util/property_utils.d.ts +3 -3
  141. package/dist/util/resolutions.d.ts +30 -16
  142. package/dist/util/storage.d.ts +23 -2
  143. package/dist/util/useStorageUploadController.d.ts +3 -3
  144. package/package.json +58 -45
  145. package/src/app/AppBar.tsx +18 -0
  146. package/src/app/Drawer.tsx +24 -0
  147. package/src/app/Scaffold.tsx +243 -0
  148. package/src/app/index.ts +4 -0
  149. package/src/app/useApp.tsx +32 -0
  150. package/src/components/ArrayContainer.tsx +126 -40
  151. package/src/components/CircularProgressCenter.tsx +2 -2
  152. package/src/components/ClearFilterSortButton.tsx +41 -0
  153. package/src/components/{DeleteConfirmationDialog.tsx → ConfirmationDialog.tsx} +3 -3
  154. package/src/components/DeleteEntityDialog.tsx +10 -19
  155. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +54 -37
  156. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +38 -31
  157. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +30 -9
  158. package/src/components/EntityCollectionTable/PropertyTableCell.tsx +47 -39
  159. package/src/components/EntityCollectionTable/column_utils.tsx +3 -3
  160. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +31 -17
  161. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +19 -17
  162. package/src/components/EntityCollectionTable/index.tsx +1 -1
  163. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +31 -36
  164. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +36 -34
  165. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +20 -8
  166. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +84 -77
  167. package/src/components/EntityCollectionView/EntityCollectionView.tsx +206 -112
  168. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +68 -0
  169. package/src/components/EntityCollectionView/useSelectionController.tsx +20 -7
  170. package/src/components/EntityCollectionView/utils.ts +19 -0
  171. package/src/components/EntityPreview.tsx +66 -53
  172. package/src/components/EntityView.tsx +10 -10
  173. package/src/components/ErrorView.tsx +4 -4
  174. package/src/components/HomePage/DefaultHomePage.tsx +26 -19
  175. package/src/components/HomePage/FavouritesView.tsx +6 -11
  176. package/src/components/HomePage/NavigationCard.tsx +4 -4
  177. package/src/components/HomePage/NavigationCardBinding.tsx +5 -10
  178. package/src/components/HomePage/NavigationGroup.tsx +2 -2
  179. package/src/components/HomePage/SmallNavigationCard.tsx +5 -6
  180. package/src/components/NotFoundPage.tsx +2 -2
  181. package/src/components/PropertyConfigBadge.tsx +9 -3
  182. package/src/components/PropertyIdCopyTooltip.tsx +48 -0
  183. package/src/components/ReferenceTable/ReferenceSelectionTable.tsx +19 -13
  184. package/src/components/ReferenceWidget.tsx +22 -12
  185. package/src/components/SearchIconsView.tsx +10 -7
  186. package/src/components/SelectableTable/SelectableTable.tsx +27 -12
  187. package/src/components/SelectableTable/filters/BooleanFilterField.tsx +2 -3
  188. package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +25 -8
  189. package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +36 -12
  190. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +92 -23
  191. package/src/components/UnsavedChangesDialog.tsx +42 -0
  192. package/src/components/VirtualTable/VirtualTable.tsx +96 -48
  193. package/src/components/VirtualTable/VirtualTableCell.tsx +1 -9
  194. package/src/components/VirtualTable/VirtualTableHeader.tsx +10 -10
  195. package/src/components/VirtualTable/VirtualTableHeaderRow.tsx +2 -2
  196. package/src/components/VirtualTable/VirtualTableProps.tsx +33 -14
  197. package/src/components/VirtualTable/VirtualTableRow.tsx +5 -6
  198. package/src/components/VirtualTable/fields/VirtualTableDateField.tsx +5 -5
  199. package/src/components/VirtualTable/fields/VirtualTableInput.tsx +3 -2
  200. package/src/components/VirtualTable/fields/VirtualTableNumberInput.tsx +2 -1
  201. package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +16 -28
  202. package/src/components/VirtualTable/types.tsx +2 -3
  203. package/src/components/{EntityCollectionTable/internal → common}/default_entity_actions.tsx +33 -40
  204. package/src/components/common/index.ts +2 -1
  205. package/src/components/{VirtualTable/common.tsx → common/table_height.tsx} +5 -2
  206. package/src/components/common/types.tsx +4 -6
  207. package/src/components/common/useColumnsIds.tsx +24 -3
  208. package/src/components/common/useDataSourceTableController.tsx +420 -0
  209. package/src/components/common/useDebouncedCallback.tsx +20 -0
  210. package/src/components/common/useScrollRestoration.tsx +68 -0
  211. package/src/components/common/useTableSearchHelper.ts +53 -12
  212. package/src/components/index.tsx +4 -2
  213. package/src/contexts/BreacrumbsContext.tsx +38 -0
  214. package/src/contexts/DialogsProvider.tsx +5 -4
  215. package/src/contexts/SnackbarProvider.tsx +2 -0
  216. package/src/core/DefaultAppBar.tsx +201 -0
  217. package/src/core/DefaultDrawer.tsx +185 -0
  218. package/src/core/DrawerNavigationItem.tsx +66 -0
  219. package/src/core/EntityEditView.tsx +933 -204
  220. package/src/core/EntitySidePanel.tsx +73 -8
  221. package/src/core/FireCMS.tsx +56 -49
  222. package/src/core/FireCMSRouter.tsx +17 -0
  223. package/src/core/NavigationRoutes.tsx +20 -34
  224. package/src/core/SideDialogs.tsx +12 -6
  225. package/src/core/field_configs.tsx +11 -12
  226. package/src/core/index.tsx +6 -5
  227. package/src/form/PropertyFieldBinding.tsx +74 -35
  228. package/src/form/components/CustomIdField.tsx +6 -2
  229. package/src/form/components/FieldHelperText.tsx +4 -4
  230. package/src/form/components/LabelWithIcon.tsx +27 -19
  231. package/src/form/components/LabelWithIconAndTooltip.tsx +28 -0
  232. package/src/form/components/StorageItemPreview.tsx +22 -12
  233. package/src/form/components/StorageUploadProgress.tsx +3 -4
  234. package/src/form/components/index.tsx +1 -1
  235. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.tsx +29 -17
  236. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +45 -35
  237. package/src/form/field_bindings/BlockFieldBinding.tsx +53 -33
  238. package/src/form/field_bindings/DateTimeFieldBinding.tsx +17 -14
  239. package/src/form/field_bindings/KeyValueFieldBinding.tsx +60 -51
  240. package/src/form/field_bindings/MapFieldBinding.tsx +67 -48
  241. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +150 -0
  242. package/src/form/field_bindings/{MultiSelectBinding.tsx → MultiSelectFieldBinding.tsx} +25 -20
  243. package/src/form/field_bindings/ReadOnlyFieldBinding.tsx +11 -16
  244. package/src/form/field_bindings/ReferenceFieldBinding.tsx +42 -31
  245. package/src/form/field_bindings/RepeatFieldBinding.tsx +52 -34
  246. package/src/form/field_bindings/SelectFieldBinding.tsx +22 -14
  247. package/src/form/field_bindings/StorageUploadFieldBinding.tsx +37 -47
  248. package/src/form/field_bindings/SwitchFieldBinding.tsx +28 -24
  249. package/src/form/field_bindings/TextFieldBinding.tsx +27 -24
  250. package/src/form/index.tsx +4 -9
  251. package/src/form/useClearRestoreValue.tsx +2 -2
  252. package/src/form/validation.ts +1 -17
  253. package/src/hooks/data/delete.ts +6 -5
  254. package/src/hooks/data/save.ts +13 -9
  255. package/src/hooks/data/useCollectionFetch.tsx +3 -3
  256. package/src/hooks/data/useDataSource.tsx +11 -3
  257. package/src/hooks/data/useEntityFetch.tsx +10 -6
  258. package/src/hooks/index.tsx +1 -0
  259. package/src/hooks/useAuthController.tsx +1 -1
  260. package/src/hooks/useBreadcrumbsController.tsx +31 -0
  261. package/src/hooks/useBuildLocalConfigurationPersistence.tsx +8 -10
  262. package/src/hooks/useBuildModeController.tsx +11 -5
  263. package/src/hooks/useBuildNavigationController.tsx +153 -55
  264. package/src/hooks/useFireCMSContext.tsx +5 -5
  265. package/src/hooks/useLargeLayout.tsx +0 -35
  266. package/src/hooks/useProjectLog.tsx +32 -10
  267. package/src/hooks/useResolvedNavigationFrom.tsx +10 -12
  268. package/src/hooks/useValidateAuthenticator.tsx +21 -41
  269. package/src/index.ts +1 -0
  270. package/src/internal/useBuildDataSource.ts +72 -82
  271. package/src/internal/useBuildSideDialogsController.tsx +4 -2
  272. package/src/internal/useBuildSideEntityController.tsx +230 -70
  273. package/src/internal/useUnsavedChangesDialog.tsx +127 -91
  274. package/src/preview/PropertyPreview.tsx +13 -20
  275. package/src/preview/PropertyPreviewProps.tsx +7 -1
  276. package/src/preview/components/BooleanPreview.tsx +2 -2
  277. package/src/preview/components/EmptyValue.tsx +1 -1
  278. package/src/preview/components/EnumValuesChip.tsx +2 -2
  279. package/src/preview/components/ImagePreview.tsx +25 -36
  280. package/src/preview/components/ReferencePreview.tsx +23 -34
  281. package/src/preview/components/StorageThumbnail.tsx +5 -1
  282. package/src/preview/components/UrlComponentPreview.tsx +44 -11
  283. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +2 -3
  284. package/src/preview/property_previews/ArrayOfReferencesPreview.tsx +4 -3
  285. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.tsx +2 -3
  286. package/src/preview/property_previews/ArrayOfStringsPreview.tsx +1 -2
  287. package/src/preview/property_previews/ArrayOneOfPreview.tsx +4 -5
  288. package/src/preview/property_previews/ArrayPropertyPreview.tsx +4 -5
  289. package/src/preview/property_previews/MapPropertyPreview.tsx +9 -9
  290. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +12 -12
  291. package/src/preview/property_previews/StringPropertyPreview.tsx +3 -3
  292. package/src/preview/util.ts +10 -10
  293. package/src/routes/CustomCMSRoute.tsx +21 -0
  294. package/src/routes/FireCMSRoute.tsx +230 -0
  295. package/src/routes/HomePageRoute.tsx +17 -0
  296. package/src/types/auth.tsx +9 -13
  297. package/src/types/collections.ts +79 -24
  298. package/src/types/customization_controller.tsx +0 -1
  299. package/src/types/datasource.ts +61 -43
  300. package/src/types/dialogs_controller.tsx +7 -3
  301. package/src/types/entities.ts +12 -2
  302. package/src/types/entity_actions.tsx +32 -7
  303. package/src/types/entity_callbacks.ts +18 -18
  304. package/src/types/entity_overrides.tsx +2 -2
  305. package/src/types/export_import.ts +4 -4
  306. package/src/types/fields.tsx +69 -45
  307. package/src/types/firecms.tsx +7 -2
  308. package/src/types/firecms_context.tsx +1 -1
  309. package/src/types/index.ts +0 -1
  310. package/src/types/navigation.ts +40 -21
  311. package/src/types/permissions.ts +5 -5
  312. package/src/types/plugins.tsx +25 -14
  313. package/src/types/properties.ts +39 -22
  314. package/src/types/property_config.tsx +0 -2
  315. package/src/types/side_dialogs_controller.tsx +13 -0
  316. package/src/types/side_entity_controller.tsx +1 -1
  317. package/src/types/storage.ts +94 -3
  318. package/src/types/user.ts +2 -0
  319. package/src/util/builders.ts +6 -6
  320. package/src/util/entities.ts +9 -6
  321. package/src/util/entity_actions.ts +28 -0
  322. package/src/util/entity_cache.ts +196 -0
  323. package/src/util/enums.ts +1 -1
  324. package/src/util/icon_list.ts +16 -10
  325. package/src/util/icon_synonyms.ts +3 -100
  326. package/src/util/icons.tsx +17 -7
  327. package/src/util/index.ts +2 -0
  328. package/src/util/make_properties_editable.ts +13 -5
  329. package/src/util/navigation_from_path.ts +10 -2
  330. package/src/util/navigation_utils.ts +59 -7
  331. package/src/util/objects.ts +45 -28
  332. package/src/util/parent_references_from_path.ts +3 -3
  333. package/src/util/permissions.ts +9 -8
  334. package/src/util/plurals.ts +0 -2
  335. package/src/util/property_utils.tsx +11 -4
  336. package/src/util/references.ts +11 -2
  337. package/src/util/resolutions.ts +79 -46
  338. package/src/util/storage.ts +79 -21
  339. package/src/util/strings.ts +2 -2
  340. package/src/util/useStorageUploadController.tsx +34 -8
  341. package/src/util/useTraceUpdate.tsx +1 -0
  342. package/dist/components/PropertyIdCopyTooltipContent.d.ts +0 -3
  343. package/dist/components/VirtualTable/common.d.ts +0 -2
  344. package/dist/core/Drawer.d.ts +0 -23
  345. package/dist/core/Scaffold.d.ts +0 -55
  346. package/dist/core/SideEntityView.d.ts +0 -7
  347. package/dist/form/EntityForm.d.ts +0 -77
  348. package/dist/form/components/FormikArrayContainer.d.ts +0 -18
  349. package/dist/form/field_bindings/MarkdownFieldBinding.d.ts +0 -9
  350. package/dist/internal/useBuildCustomizationController.d.ts +0 -2
  351. package/dist/internal/useLocaleConfig.d.ts +0 -1
  352. package/dist/types/appcheck.d.ts +0 -26
  353. package/src/components/FireCMSAppBar.tsx +0 -165
  354. package/src/components/PropertyIdCopyTooltipContent.tsx +0 -28
  355. package/src/components/common/useDataSourceEntityCollectionTableController.tsx +0 -225
  356. package/src/core/Drawer.tsx +0 -191
  357. package/src/core/Scaffold.tsx +0 -281
  358. package/src/core/SideEntityView.tsx +0 -38
  359. package/src/form/EntityForm.tsx +0 -728
  360. package/src/form/components/FormikArrayContainer.tsx +0 -44
  361. package/src/form/field_bindings/MarkdownFieldBinding.tsx +0 -695
  362. package/src/internal/useBuildCustomizationController.tsx +0 -5
  363. package/src/internal/useLocaleConfig.tsx +0 -18
  364. package/src/types/appcheck.ts +0 -29
  365. /package/src/util/{common.tsx → common.ts} +0 -0
@@ -1,6 +1,6 @@
1
1
  import React, { PropsWithChildren } from "react";
2
2
  import { FireCMSContext } from "./firecms_context";
3
- import { CollectionActionsProps, EntityCollection } from "./collections";
3
+ import { CollectionActionsProps, EntityCollection, EntityTableController } from "./collections";
4
4
  import { User } from "./user";
5
5
  import { FieldProps, FormContext } from "./fields";
6
6
  import { CMSType, Property } from "./properties";
@@ -11,7 +11,7 @@ import { ResolvedProperty } from "./resolved_entities";
11
11
  * NOTE: This is a work in progress and the API is not stable yet.
12
12
  * @group Core
13
13
  */
14
- export type FireCMSPlugin<PROPS = any, FORM_PROPS = any, EC extends EntityCollection = EntityCollection, COL_ACTIONS_PROPS = any> = {
14
+ export type FireCMSPlugin<PROPS = any, FORM_PROPS = any, EC extends EntityCollection = EntityCollection, COL_ACTIONS_PROPS = any, COL_ACTIONS_START__PROPS = any> = {
15
15
  /**
16
16
  * Key of the plugin. This is used to identify the plugin in the CMS.
17
17
  */
@@ -78,6 +78,14 @@ export type FireCMSPlugin<PROPS = any, FORM_PROPS = any, EC extends EntityCollec
78
78
  */
79
79
  CollectionActions?: React.ComponentType<CollectionActionsProps<any, any, EC> & COL_ACTIONS_PROPS> | React.ComponentType<CollectionActionsProps<any, any, EC> & COL_ACTIONS_PROPS>[];
80
80
  collectionActionsProps?: COL_ACTIONS_PROPS;
81
+ CollectionActionsStart?: React.ComponentType<CollectionActionsProps<any, any, EC> & COL_ACTIONS_START__PROPS> | React.ComponentType<CollectionActionsProps<any, any, EC> & COL_ACTIONS_START__PROPS>[];
82
+ collectionActionsStartProps?: COL_ACTIONS_START__PROPS;
83
+ blockSearch?: (props: {
84
+ context: FireCMSContext;
85
+ path: string;
86
+ collection: EC;
87
+ parentCollectionIds?: string[];
88
+ }) => boolean;
81
89
  showTextSearchBar?: (props: {
82
90
  context: FireCMSContext;
83
91
  path: string;
@@ -101,6 +109,7 @@ export type FireCMSPlugin<PROPS = any, FORM_PROPS = any, EC extends EntityCollec
101
109
  parentCollectionIds: string[];
102
110
  onHover: boolean;
103
111
  collection: EC;
112
+ tableController: EntityTableController;
104
113
  }>;
105
114
  /**
106
115
  * If you add this callback to your plugin, an add button will be added to the collection table.
@@ -110,6 +119,7 @@ export type FireCMSPlugin<PROPS = any, FORM_PROPS = any, EC extends EntityCollec
110
119
  fullPath: string;
111
120
  parentCollectionIds: string[];
112
121
  collection: EC;
122
+ tableController: EntityTableController;
113
123
  }>;
114
124
  };
115
125
  form?: {
@@ -128,7 +138,7 @@ export type FireCMSPlugin<PROPS = any, FORM_PROPS = any, EC extends EntityCollec
128
138
  *
129
139
  * @group Models
130
140
  */
131
- export interface PluginHomePageActionsProps<EP extends object = object, M extends Record<string, any> = any, UserType extends User = User, EC extends EntityCollection<M> = EntityCollection<M>> {
141
+ export interface PluginHomePageActionsProps<EP extends object = object, M extends Record<string, any> = any, USER extends User = User, EC extends EntityCollection<M> = EntityCollection<M>> {
132
142
  /**
133
143
  * Collection path of this entity. This is the full path, like
134
144
  * `users/1234/addresses`
@@ -141,17 +151,18 @@ export interface PluginHomePageActionsProps<EP extends object = object, M extend
141
151
  /**
142
152
  * Context of the app status
143
153
  */
144
- context: FireCMSContext<UserType>;
154
+ context: FireCMSContext<USER>;
145
155
  extraProps?: EP;
146
156
  }
147
- export interface PluginFormActionProps<UserType extends User = User, EC extends EntityCollection = EntityCollection> {
157
+ export interface PluginFormActionProps<USER extends User = User, EC extends EntityCollection = EntityCollection> {
148
158
  entityId?: string;
149
159
  path: string;
150
160
  status: EntityStatus;
151
161
  collection: EC;
152
162
  formContext?: FormContext<any>;
153
- context: FireCMSContext<UserType>;
163
+ context: FireCMSContext<USER>;
154
164
  currentEntityId?: string;
165
+ layout: "side_panel" | "full_screen";
155
166
  }
156
167
  export type PluginFieldBuilderParams<T extends CMSType = CMSType, M extends Record<string, any> = any, EC extends EntityCollection<M> = EntityCollection<M>> = {
157
168
  fieldConfigId: string;
@@ -159,13 +170,13 @@ export type PluginFieldBuilderParams<T extends CMSType = CMSType, M extends Reco
159
170
  property: Property<T> | ResolvedProperty<T>;
160
171
  Field: React.ComponentType<FieldProps<T, any, M>>;
161
172
  plugin: FireCMSPlugin;
162
- path: string;
163
- collection: EC;
173
+ path?: string;
174
+ collection?: EC;
164
175
  };
165
- export interface PluginGenericProps<UserType extends User = User> {
166
- context: FireCMSContext<UserType>;
176
+ export interface PluginGenericProps<USER extends User = User> {
177
+ context: FireCMSContext<USER>;
167
178
  }
168
- export interface PluginHomePageAdditionalCardsProps<UserType extends User = User> {
179
+ export interface PluginHomePageAdditionalCardsProps<USER extends User = User> {
169
180
  group?: string;
170
- context: FireCMSContext<UserType>;
181
+ context: FireCMSContext<USER>;
171
182
  }
@@ -1,14 +1,14 @@
1
1
  import React from "react";
2
2
  import { FieldProps } from "./fields";
3
3
  import { PropertyPreviewProps } from "../preview";
4
- import { EntityReference, EntityValues, GeoPoint } from "./entities";
4
+ import { EntityReference, EntityValues, GeoPoint, Vector } from "./entities";
5
5
  import { ResolvedArrayProperty, ResolvedStringProperty } from "./resolved_entities";
6
6
  import { FilterValues } from "./collections";
7
7
  import { ChipColorKey, ChipColorScheme } from "@firecms/ui";
8
8
  /**
9
9
  * @group Entity properties
10
10
  */
11
- export type DataType<T extends CMSType = CMSType> = T extends string ? "string" : T extends number ? "number" : T extends boolean ? "boolean" : T extends Date ? "date" : T extends GeoPoint ? "geopoint" : T extends EntityReference ? "reference" : T extends Array<CMSType> ? "array" : T extends Record<string, any> ? "map" : never;
11
+ export type DataType<T extends CMSType = CMSType> = T extends string ? "string" : T extends number ? "number" : T extends boolean ? "boolean" : T extends Date ? "date" : T extends GeoPoint ? "geopoint" : T extends Vector ? "vector" : T extends EntityReference ? "reference" : T extends Array<any> ? "array" : T extends Record<string, any> ? "map" : never;
12
12
  /**
13
13
  * @group Entity properties
14
14
  */
@@ -20,7 +20,7 @@ export type AnyProperty = StringProperty | NumberProperty | BooleanProperty | Da
20
20
  /**
21
21
  * @group Entity properties
22
22
  */
23
- export type Property<T extends CMSType = CMSType> = T extends string ? StringProperty : T extends number ? NumberProperty : T extends boolean ? BooleanProperty : T extends Date ? DateProperty : T extends GeoPoint ? GeopointProperty : T extends EntityReference ? ReferenceProperty : T extends Array<CMSType> ? ArrayProperty<T> : T extends Record<string, any> ? MapProperty<T> : AnyProperty;
23
+ export type Property<T extends CMSType = any> = T extends string ? StringProperty : T extends number ? NumberProperty : T extends boolean ? BooleanProperty : T extends Date ? DateProperty : T extends GeoPoint ? GeopointProperty : T extends EntityReference ? ReferenceProperty : T extends Array<CMSType> ? ArrayProperty<T> : T extends Record<string, any> ? MapProperty<T> : AnyProperty;
24
24
  /**
25
25
  * Interface including all common properties of a CMS property
26
26
  * @group Entity properties
@@ -97,7 +97,7 @@ export interface BaseProperty<T extends CMSType, CustomProps = any> {
97
97
  /**
98
98
  * This value will be set by default for new entities.
99
99
  */
100
- defaultValue?: T;
100
+ defaultValue?: T | null;
101
101
  /**
102
102
  * Should this property be editable. If set to true, the user will be able to modify the property and
103
103
  * save the new config. The saved config will then become the source of truth.
@@ -207,7 +207,7 @@ export type PropertyBuilderProps<M extends Record<string, any> = any> = {
207
207
  * current value of the property, as well as the path and entity ID.
208
208
  * @group Entity properties
209
209
  */
210
- export type PropertyBuilder<T extends CMSType = any, M extends Record<string, any> = any> = ({ values, previousValues, propertyValue, path, entityId }: PropertyBuilderProps<M>) => Property<T> | null;
210
+ export type PropertyBuilder<T extends CMSType = any, M extends Record<string, any> = any> = ({ values, previousValues, propertyValue, index, path, entityId }: PropertyBuilderProps<M>) => Property<T> | null;
211
211
  /**
212
212
  * @group Entity properties
213
213
  */
@@ -306,7 +306,7 @@ export interface StringProperty extends BaseProperty<string> {
306
306
  /**
307
307
  * @group Entity properties
308
308
  */
309
- export interface ArrayProperty<T extends ArrayT[] = any[], ArrayT extends CMSType = CMSType> extends BaseProperty<T> {
309
+ export interface ArrayProperty<T extends ArrayT[] = any[], ArrayT extends CMSType = any> extends BaseProperty<T> {
310
310
  dataType: "array";
311
311
  /**
312
312
  * The property of this array.
@@ -474,6 +474,14 @@ export interface ReferenceProperty extends BaseProperty<EntityReference> {
474
474
  * specified values are considered.
475
475
  */
476
476
  previewProperties?: string[];
477
+ /**
478
+ * Should the reference include the ID of the entity. Defaults to `true`
479
+ */
480
+ includeId?: boolean;
481
+ /**
482
+ * Should the reference include a link to the entity (open the entity details). Defaults to `true`
483
+ */
484
+ includeEntityLink?: boolean;
477
485
  }
478
486
  /**
479
487
  * Rules to validate any property. Some properties have specific rules
@@ -575,13 +583,13 @@ export type StorageConfig = {
575
583
  * You can use this prop to customize the uploaded filename.
576
584
  * You can use a function as a callback or a string where you
577
585
  * specify some placeholders that get replaced with the corresponding values.
578
- * - {file} - Full file name
579
- * - {file.name} - Name of the file without extension
580
- * - {file.ext} - Extension of the file
581
- * - {rand} - Random value used to avoid name collisions
582
- * - {entityId} - ID of the entity
583
- * - {propertyKey} - ID of this property
584
- * - {path} - Path of this entity
586
+ * - `{file}` - Full file name
587
+ * - `{file.name}` - Name of the file without extension
588
+ * - `{file.ext}` - Extension of the file
589
+ * - `{rand}` - Random value used to avoid name collisions
590
+ * - `{entityId}` - ID of the entity
591
+ * - `{propertyKey}` - ID of this property
592
+ * - `{path}` - Path of this entity
585
593
  *
586
594
  * @param context
587
595
  */
@@ -591,13 +599,13 @@ export type StorageConfig = {
591
599
  *
592
600
  * You can use a function as a callback or a string where you
593
601
  * specify some placeholders that get replaced with the corresponding values.
594
- * - {file} - Full file name
595
- * - {file.name} - Name of the file without extension
596
- * - {file.ext} - Extension of the file
597
- * - {rand} - Random value used to avoid name collisions
598
- * - {entityId} - ID of the entity
599
- * - {propertyKey} - ID of this property
600
- * - {path} - Path of this entity
602
+ * - `{file}` - Full file name
603
+ * - `{file.name}` - Name of the file without extension
604
+ * - `{file.ext}` - Extension of the file
605
+ * - `{rand}` - Random value used to avoid name collisions
606
+ * - `{entityId}` - ID of the entity
607
+ * - `{propertyKey}` - ID of this property
608
+ * - `{path}` - Path of this entity
601
609
  */
602
610
  storagePath: string | ((context: UploadedFileContext) => string);
603
611
  /**
@@ -620,6 +628,11 @@ export type StorageConfig = {
620
628
  * after it has been resolved.
621
629
  */
622
630
  postProcess?: (pathOrUrl: string) => Promise<string>;
631
+ /**
632
+ * You can use this prop in order to provide a custom preview URL.
633
+ * Useful when the file's path is different from the original field value
634
+ */
635
+ previewUrl?: (fileName: string) => string;
623
636
  };
624
637
  /**
625
638
  * @group Entity properties
@@ -644,7 +657,7 @@ export interface UploadedFileContext {
644
657
  /**
645
658
  * Entity path. E.g. `products/PID/locales`
646
659
  */
647
- path: string;
660
+ path?: string;
648
661
  /**
649
662
  * Values of the current entity
650
663
  */
@@ -19,8 +19,6 @@ export type PropertyConfig<T extends CMSType = any> = {
19
19
  * Default config for the property.
20
20
  * This property or builder will be used as the base values for the resulting property.
21
21
  * You can also use a builder function to generate the base property.
22
- * You can use a builder function to generate the property based on the values or the path.
23
- * You can also define a custom Field as a React component to be used for this property.
24
22
  */
25
23
  property: PropertyOrBuilder<T>;
26
24
  /**
@@ -1,3 +1,4 @@
1
+ import React from "react";
1
2
  /**
2
3
  * Controller to open the side dialog
3
4
  * @group Hooks and utilities
@@ -11,6 +12,11 @@ export interface SideDialogsController {
11
12
  * List of side panels currently open
12
13
  */
13
14
  sidePanels: SideDialogPanelProps[];
15
+ /**
16
+ * Override the current side panels
17
+ * @param panels
18
+ */
19
+ setSidePanels: (panels: SideDialogPanelProps[]) => void;
14
20
  /**
15
21
  * Open one or multiple side panels
16
22
  * @param props
@@ -54,4 +60,8 @@ export interface SideDialogPanelProps {
54
60
  * Callback when the panel is closed
55
61
  */
56
62
  onClose?: () => void;
63
+ /**
64
+ * Use this prop to store additional data in the panel
65
+ */
66
+ additional?: any;
57
67
  }
@@ -22,7 +22,7 @@ export interface EntitySidePanelProps<M extends Record<string, any> = any> {
22
22
  * Open the entity with a selected sub-collection view. If the panel for this
23
23
  * entity was already open, it is replaced.
24
24
  */
25
- selectedSubPath?: string;
25
+ selectedTab?: string;
26
26
  /**
27
27
  * Use this prop to override the width of the form view.
28
28
  * e.g. "600px"
@@ -6,6 +6,7 @@ export interface UploadFileProps {
6
6
  fileName?: string;
7
7
  path?: string;
8
8
  metadata?: any;
9
+ bucket?: string;
9
10
  }
10
11
  /**
11
12
  * @group Models
@@ -15,6 +16,10 @@ export interface UploadFileResult {
15
16
  * Storage path including the file name where the file was uploaded.
16
17
  */
17
18
  path: string;
19
+ /**
20
+ * Bucket where the file was uploaded
21
+ */
22
+ bucket: string;
18
23
  }
19
24
  /**
20
25
  * @group Models
@@ -66,17 +71,95 @@ export interface StorageSource {
66
71
  * @param fileName
67
72
  * @param path
68
73
  * @param metadata
74
+ * @param bucket
69
75
  */
70
- uploadFile: ({ file, fileName, path, metadata }: UploadFileProps) => Promise<UploadFileResult>;
76
+ uploadFile: ({ file, fileName, path, metadata, bucket }: UploadFileProps) => Promise<UploadFileResult>;
71
77
  /**
72
78
  * Convert a storage path or URL into a download configuration
73
79
  * @param path
80
+ * @param bucket
74
81
  */
75
- getDownloadURL: (pathOrUrl: string) => Promise<DownloadConfig>;
82
+ getDownloadURL: (pathOrUrl: string, bucket?: string) => Promise<DownloadConfig>;
76
83
  /**
77
84
  * Get a file from a storage path.
78
85
  * It returns null if the file does not exist.
79
86
  * @param props
87
+ * @param bucket
88
+ */
89
+ getFile: (path: string, bucket?: string) => Promise<File | null>;
90
+ /**
91
+ * Delete a file.
92
+ * @param path
93
+ * @param bucket
94
+ */
95
+ deleteFile: (path: string, bucket?: string) => Promise<void>;
96
+ /**
97
+ * List the contents of a path.
98
+ * @param path
99
+ * @param options
100
+ */
101
+ list: (path: string, options?: {
102
+ bucket?: string;
103
+ maxResults?: number;
104
+ pageToken?: string;
105
+ }) => Promise<StorageListResult>;
106
+ }
107
+ /**
108
+ * Result returned by list().
109
+ * @public
110
+ */
111
+ export declare interface StorageListResult {
112
+ /**
113
+ * References to prefixes (sub-folders). You can call list() on them to
114
+ * get its contents.
115
+ *
116
+ * Folders are implicit based on '/' in the object paths.
117
+ * For example, if a bucket has two objects '/a/b/1' and '/a/b/2', list('/a')
118
+ * will return '/a/b' as a prefix.
119
+ */
120
+ prefixes: StorageReference[];
121
+ /**
122
+ * Objects in this directory.
123
+ * You can call getMetadata() and getDownloadUrl() on them.
124
+ */
125
+ items: StorageReference[];
126
+ /**
127
+ * If set, there might be more results for this list. Use this token to resume the list.
128
+ */
129
+ nextPageToken?: string;
130
+ }
131
+ /**
132
+ * Represents a reference to a Google Cloud Storage object. Developers can
133
+ * upload, download, and delete objects, as well as get/set object metadata.
134
+ * @public
135
+ */
136
+ export declare interface StorageReference {
137
+ /**
138
+ * Returns a gs:// URL for this object in the form
139
+ * `gs://<bucket>/<path>/<to>/<object>`
140
+ * @returns The gs:// URL.
141
+ */
142
+ toString(): string;
143
+ /**
144
+ * A reference to the root of this object's bucket.
145
+ */
146
+ root: StorageReference;
147
+ /**
148
+ * The name of the bucket containing this reference's object.
149
+ */
150
+ bucket: string;
151
+ /**
152
+ * The full path of this object.
153
+ */
154
+ fullPath: string;
155
+ /**
156
+ * The short name of this object, which is the last component of the full path.
157
+ * For example, if fullPath is 'full/path/image.png', name is 'image.png'.
158
+ */
159
+ name: string;
160
+ /**
161
+ * A reference pointing to the parent location of this reference, or null if
162
+ * this reference is the root.
80
163
  */
81
- getFile: (path: string) => Promise<File | null>;
164
+ parent: StorageReference | null;
82
165
  }
@@ -38,4 +38,5 @@ export type User = {
38
38
  *
39
39
  */
40
40
  roles?: Role[];
41
+ getIdToken?: (forceRefresh?: boolean) => Promise<string>;
41
42
  };
@@ -5,7 +5,7 @@ import { AdditionalFieldDelegate, ArrayProperty, BooleanProperty, CMSType, DateP
5
5
  * @param collection
6
6
  * @group Builder
7
7
  */
8
- export declare function buildCollection<M extends Record<string, any> = any, UserType extends User = User>(collection: EntityCollection<M, UserType>): EntityCollection<M, UserType>;
8
+ export declare function buildCollection<M extends Record<string, any> = any, USER extends User = User>(collection: EntityCollection<M, USER>): EntityCollection<M, USER>;
9
9
  /**
10
10
  * Identity function we use to defeat the type system of Typescript and preserve
11
11
  * the property keys.
@@ -54,7 +54,7 @@ export declare function buildEntityCallbacks<M extends Record<string, any> = any
54
54
  * @param additionalFieldDelegate
55
55
  * @group Builder
56
56
  */
57
- export declare function buildAdditionalFieldDelegate<M extends Record<string, any>, UserType extends User = User>(additionalFieldDelegate: AdditionalFieldDelegate<M, UserType>): AdditionalFieldDelegate<M, UserType>;
57
+ export declare function buildAdditionalFieldDelegate<M extends Record<string, any>, USER extends User = User>(additionalFieldDelegate: AdditionalFieldDelegate<M, USER>): AdditionalFieldDelegate<M, USER>;
58
58
  /**
59
59
  * Identity function we use to defeat the type system of Typescript and build
60
60
  * additional field delegates views with all its properties
@@ -1,9 +1,9 @@
1
1
  import { CMSType, DataType, Entity, EntityReference, EntityStatus, EntityValues, PropertiesOrBuilders, Property, PropertyBuilder, PropertyOrBuilder, ResolvedProperties, ResolvedProperty } from "../types";
2
- export declare function isReadOnly(property: Property | ResolvedProperty): boolean;
2
+ export declare function isReadOnly(property: Property<any> | ResolvedProperty<any>): boolean;
3
3
  export declare function isHidden(property: Property | ResolvedProperty): boolean;
4
4
  export declare function isPropertyBuilder<T extends CMSType, M extends Record<string, any>>(propertyOrBuilder?: PropertyOrBuilder<T, M> | Property<T> | ResolvedProperty<T>): propertyOrBuilder is PropertyBuilder<T, M>;
5
5
  export declare function getDefaultValuesFor<M extends Record<string, any>>(properties: PropertiesOrBuilders<M> | ResolvedProperties<M>): Partial<EntityValues<M>>;
6
- export declare function getDefaultValueFor(property: PropertyOrBuilder): {} | null | undefined;
6
+ export declare function getDefaultValueFor(property?: PropertyOrBuilder): {} | null | undefined;
7
7
  export declare function getDefaultValueForDataType(dataType: DataType): {} | null;
8
8
  /**
9
9
  * Update the automatic values in an entity before save
@@ -23,6 +23,6 @@ export declare function updateDateAutoValues<M extends Record<string, any>>({ in
23
23
  * @group Datasource
24
24
  */
25
25
  export declare function sanitizeData<M extends Record<string, any>>(values: EntityValues<M>, properties: ResolvedProperties<M>): any;
26
- export declare function getReferenceFrom<M extends Record<string, any>>(entity: Entity<M>): EntityReference<M>;
26
+ export declare function getReferenceFrom<M extends Record<string, any>>(entity: Entity<M>): EntityReference;
27
27
  export declare function traverseValuesProperties<M extends Record<string, any>>(inputValues: Partial<EntityValues<M>>, properties: ResolvedProperties<M>, operation: (value: any, property: Property) => any): EntityValues<M> | undefined;
28
28
  export declare function traverseValueProperty(inputValue: any, property: Property, operation: (value: any, property: Property) => any): any;
@@ -0,0 +1,2 @@
1
+ import { EntityAction } from "../types";
2
+ export declare function mergeEntityActions(currentActions: EntityAction[], newActions: EntityAction[]): EntityAction[];
@@ -0,0 +1,23 @@
1
+ /**
2
+ * Saves data to the in-memory cache and persists it individually in `localStorage`.
3
+ * @param path - The unique path/key for the data.
4
+ * @param data - The data to cache and persist.
5
+ */
6
+ export declare function saveEntityToCache(path: string, data: object): void;
7
+ /**
8
+ * Retrieves an entity from the in-memory cache or `localStorage`.
9
+ * If the entity is not in the cache but exists in `localStorage`, it loads it into the cache.
10
+ * @param path - The unique path/key for the entity.
11
+ * @returns The cached entity or `undefined` if not found.
12
+ */
13
+ export declare function getEntityFromCache(path: string): object | undefined;
14
+ export declare function hasEntityInCache(path: string): boolean;
15
+ /**
16
+ * Removes an entity from both the in-memory cache and `localStorage`.
17
+ * @param path - The unique path/key for the entity to remove.
18
+ */
19
+ export declare function removeEntityFromCache(path: string): void;
20
+ /**
21
+ * Clears the entire in-memory cache and removes all related entities from `localStorage`.
22
+ */
23
+ export declare function clearEntityCache(): void;
@@ -1 +1,5 @@
1
- export declare const iconsSearch: any;
1
+ import Fuse from "fuse.js";
2
+ export declare const iconsSearch: Fuse<{
3
+ key: string;
4
+ synonyms: any;
5
+ }>;