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

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 (225) hide show
  1. package/package.json +3 -3
  2. package/src/components/ArrayContainer.d.ts +42 -0
  3. package/src/components/CircularProgressCenter.d.ts +11 -0
  4. package/src/components/DeleteConfirmationDialog.d.ts +9 -0
  5. package/src/components/EntityCollectionTable/EntityCollectionTable.d.ts +30 -0
  6. package/src/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +106 -0
  7. package/src/components/EntityCollectionTable/fields/TableReferenceField.d.ts +15 -0
  8. package/src/components/EntityCollectionTable/fields/TableStorageUpload.d.ts +33 -0
  9. package/src/components/EntityCollectionTable/filters/BooleanFilterField.d.ts +9 -0
  10. package/src/components/EntityCollectionTable/filters/DateTimeFilterField.d.ts +11 -0
  11. package/src/components/EntityCollectionTable/filters/ReferenceFilterField.d.ts +14 -0
  12. package/src/components/EntityCollectionTable/filters/StringNumberFilterField.d.ts +13 -0
  13. package/src/components/EntityCollectionTable/index.d.ts +4 -0
  14. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.d.ts +18 -0
  15. package/src/components/EntityCollectionTable/internal/DeleteEntityDialog.d.ts +12 -0
  16. package/src/components/EntityCollectionTable/internal/EntityCollectionRowActions.d.ts +35 -0
  17. package/src/components/EntityCollectionTable/internal/EntityTableCell.d.ts +26 -0
  18. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.d.ts +9 -0
  19. package/src/components/EntityCollectionTable/internal/PropertyTableCell.d.ts +18 -0
  20. package/src/components/EntityCollectionTable/internal/common.d.ts +4 -0
  21. package/src/components/EntityCollectionTable/internal/default_entity_actions.d.ts +6 -0
  22. package/src/components/EntityCollectionTable/internal/popup_field/ElementResizeListener.d.ts +5 -0
  23. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.d.ts +23 -0
  24. package/src/components/EntityCollectionTable/internal/popup_field/useDraggable.d.ts +13 -0
  25. package/src/components/EntityCollectionTable/internal/popup_field/useWindowSize.d.ts +6 -0
  26. package/src/components/EntityCollectionTable/types.d.ts +39 -0
  27. package/src/components/EntityCollectionTable/useDebouncedData.d.ts +9 -0
  28. package/src/components/EntityCollectionTable/useEntityCollectionTableController.d.ts +21 -0
  29. package/src/components/EntityCollectionView/EntityCollectionView.d.ts +37 -0
  30. package/src/components/EntityCollectionView/EntityCollectionViewActions.d.ts +14 -0
  31. package/src/components/EntityCollectionView/useColumnsIds.d.ts +4 -0
  32. package/src/components/EntityPreview.d.ts +11 -0
  33. package/src/components/ErrorBoundary.d.ts +11 -0
  34. package/src/components/ErrorTooltip.d.ts +2 -0
  35. package/src/components/ErrorView.d.ts +19 -0
  36. package/src/components/FieldConfigBadge.d.ts +4 -0
  37. package/src/components/FireCMSAppBar.d.ts +26 -0
  38. package/src/components/FireCMSLogo.d.ts +7 -0
  39. package/src/components/HomePage/DefaultHomePage.d.ts +21 -0
  40. package/src/components/HomePage/FavouritesView.d.ts +3 -0
  41. package/src/components/HomePage/NavigationCollectionCard.d.ts +17 -0
  42. package/src/components/HomePage/NavigationGroup.d.ts +4 -0
  43. package/src/components/HomePage/index.d.ts +3 -0
  44. package/src/components/LabelWithIcon.d.ts +14 -0
  45. package/src/components/NotFoundPage.d.ts +1 -0
  46. package/src/components/ReferenceSelectionInner.d.ts +58 -0
  47. package/src/components/ReferenceWidget.d.ts +28 -0
  48. package/src/components/VirtualTable/VirtualTable.d.ts +11 -0
  49. package/src/components/VirtualTable/VirtualTableCell.d.ts +14 -0
  50. package/src/components/VirtualTable/VirtualTableHeader.d.ts +27 -0
  51. package/src/components/VirtualTable/VirtualTableHeaderRow.d.ts +2 -0
  52. package/src/components/VirtualTable/VirtualTableProps.d.ts +215 -0
  53. package/src/components/VirtualTable/VirtualTableRow.d.ts +3 -0
  54. package/src/components/VirtualTable/common.d.ts +2 -0
  55. package/src/components/VirtualTable/fields/VirtualTableDateField.d.ts +11 -0
  56. package/src/components/VirtualTable/fields/VirtualTableInput.d.ts +8 -0
  57. package/src/components/VirtualTable/fields/VirtualTableNumberInput.d.ts +8 -0
  58. package/src/components/VirtualTable/fields/VirtualTableSelect.d.ts +15 -0
  59. package/src/components/VirtualTable/fields/VirtualTableSwitch.d.ts +7 -0
  60. package/src/components/VirtualTable/index.d.ts +2 -0
  61. package/src/components/VirtualTable/types.d.ts +34 -0
  62. package/src/components/index.d.ts +20 -0
  63. package/src/contexts/AuthControllerContext.d.ts +3 -0
  64. package/src/contexts/DataSourceContext.d.ts +3 -0
  65. package/src/contexts/DialogsProvider.d.ts +4 -0
  66. package/src/contexts/ModeController.d.ts +4 -0
  67. package/src/contexts/NavigationContext.d.ts +3 -0
  68. package/src/contexts/SideDialogsControllerContext.d.ts +3 -0
  69. package/src/contexts/SideEntityControllerContext.d.ts +3 -0
  70. package/src/contexts/SnackbarProvider.d.ts +2 -0
  71. package/src/contexts/StorageSourceContext.d.ts +3 -0
  72. package/src/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
  73. package/src/contexts/index.d.ts +3 -0
  74. package/src/core/Drawer.d.ts +23 -0
  75. package/src/core/EntitySidePanel.d.ts +10 -0
  76. package/src/core/FireCMS.d.ts +14 -0
  77. package/src/core/NavigationRoutes.d.ts +21 -0
  78. package/src/core/Scaffold.d.ts +52 -0
  79. package/src/core/SideDialogs.d.ts +23 -0
  80. package/src/core/field_configs.d.ts +7 -0
  81. package/src/core/index.d.ts +10 -0
  82. package/src/core/useBuildLocalConfigurationPersistence.d.ts +2 -0
  83. package/src/core/useBuildModeController.d.ts +6 -0
  84. package/src/form/EntityForm.d.ts +75 -0
  85. package/src/form/PropertyFieldBinding.d.ts +30 -0
  86. package/src/form/components/CustomIdField.d.ts +9 -0
  87. package/src/form/components/ErrorFocus.d.ts +4 -0
  88. package/src/form/components/FieldHelperText.d.ts +12 -0
  89. package/src/form/components/FormikArrayContainer.d.ts +18 -0
  90. package/src/form/components/StorageItemPreview.d.ts +13 -0
  91. package/src/form/components/StorageUploadProgress.d.ts +10 -0
  92. package/src/form/components/SwitchControl.d.ts +8 -0
  93. package/src/form/components/index.d.ts +3 -0
  94. package/src/form/field_bindings/ArrayCustomShapedFieldBinding.d.ts +9 -0
  95. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.d.ts +11 -0
  96. package/src/form/field_bindings/BlockFieldBinding.d.ts +10 -0
  97. package/src/form/field_bindings/DateTimeFieldBinding.d.ts +11 -0
  98. package/src/form/field_bindings/KeyValueFieldBinding.d.ts +7 -0
  99. package/src/form/field_bindings/MapFieldBinding.d.ts +9 -0
  100. package/src/form/field_bindings/MarkdownFieldBinding.d.ts +9 -0
  101. package/src/form/field_bindings/MultiSelectBinding.d.ts +9 -0
  102. package/src/form/field_bindings/ReadOnlyFieldBinding.d.ts +10 -0
  103. package/src/form/field_bindings/ReferenceFieldBinding.d.ts +9 -0
  104. package/src/form/field_bindings/RepeatFieldBinding.d.ts +10 -0
  105. package/src/form/field_bindings/SelectFieldBinding.d.ts +12 -0
  106. package/src/form/field_bindings/StorageUploadFieldBinding.d.ts +28 -0
  107. package/src/form/field_bindings/SwitchFieldBinding.d.ts +12 -0
  108. package/src/form/field_bindings/TextFieldBinding.d.ts +12 -0
  109. package/src/form/index.d.ts +20 -0
  110. package/src/form/useClearRestoreValue.d.ts +13 -0
  111. package/src/form/validation.d.ts +25 -0
  112. package/src/hooks/data/delete.d.ts +37 -0
  113. package/src/hooks/data/save.d.ts +42 -0
  114. package/src/hooks/data/useCollectionFetch.d.ts +50 -0
  115. package/src/hooks/data/useDataOrder.d.ts +12 -0
  116. package/src/hooks/data/useDataSource.d.ts +6 -0
  117. package/src/hooks/data/useEntityFetch.d.ts +28 -0
  118. package/src/hooks/index.d.ts +19 -0
  119. package/src/hooks/useAuthController.d.ts +11 -0
  120. package/src/hooks/useBrowserTitleAndIcon.d.ts +6 -0
  121. package/src/hooks/useClipboard.d.ts +57 -0
  122. package/src/hooks/useDialogsController.d.ts +11 -0
  123. package/src/hooks/useFireCMSContext.d.ts +12 -0
  124. package/src/hooks/useLargeLayout.d.ts +1 -0
  125. package/src/hooks/useModeController.d.ts +20 -0
  126. package/src/hooks/useNavigationController.d.ts +9 -0
  127. package/src/hooks/useReferenceDialog.d.ts +18 -0
  128. package/src/hooks/useResolvedNavigationFrom.d.ts +72 -0
  129. package/src/hooks/useSideDialogsController.d.ts +18 -0
  130. package/src/hooks/useSideEntityController.d.ts +12 -0
  131. package/src/hooks/useSnackbarController.d.ts +41 -0
  132. package/src/hooks/useStorageSource.d.ts +6 -0
  133. package/src/hooks/useUserConfigurationPersistence.d.ts +8 -0
  134. package/src/index.d.ts +8 -0
  135. package/src/internal/EntityView.d.ts +22 -0
  136. package/src/internal/common.d.ts +3 -0
  137. package/src/internal/useBuildDataSource.d.ts +22 -0
  138. package/src/internal/useBuildNavigationController.d.ts +14 -0
  139. package/src/internal/useBuildSideDialogsController.d.ts +2 -0
  140. package/src/internal/useBuildSideEntityController.d.ts +4 -0
  141. package/src/internal/useLocaleConfig.d.ts +1 -0
  142. package/src/internal/useRestoreScroll.d.ts +6 -0
  143. package/src/internal/useUnsavedChangesDialog.d.ts +14 -0
  144. package/src/preview/PropertyPreview.d.ts +7 -0
  145. package/src/preview/PropertyPreviewProps.d.ts +43 -0
  146. package/src/preview/components/ArrayEnumPreview.d.ts +11 -0
  147. package/src/preview/components/AsyncPreviewComponent.d.ts +11 -0
  148. package/src/preview/components/BooleanPreview.d.ts +7 -0
  149. package/src/preview/components/DatePreview.d.ts +7 -0
  150. package/src/preview/components/EmptyValue.d.ts +4 -0
  151. package/src/preview/components/EnumValuesChip.d.ts +13 -0
  152. package/src/preview/components/ImagePreview.d.ts +12 -0
  153. package/src/preview/components/ReferencePreview.d.ts +22 -0
  154. package/src/preview/components/StorageThumbnail.d.ts +13 -0
  155. package/src/preview/components/UrlComponentPreview.d.ts +12 -0
  156. package/src/preview/index.d.ts +23 -0
  157. package/src/preview/property_previews/ArrayOfMapsPreview.d.ts +5 -0
  158. package/src/preview/property_previews/ArrayOfReferencesPreview.d.ts +5 -0
  159. package/src/preview/property_previews/ArrayOfStorageComponentsPreview.d.ts +5 -0
  160. package/src/preview/property_previews/ArrayOfStringsPreview.d.ts +5 -0
  161. package/src/preview/property_previews/ArrayOneOfPreview.d.ts +5 -0
  162. package/src/preview/property_previews/ArrayPropertyEnumPreview.d.ts +5 -0
  163. package/src/preview/property_previews/ArrayPropertyPreview.d.ts +5 -0
  164. package/src/preview/property_previews/MapPropertyPreview.d.ts +8 -0
  165. package/src/preview/property_previews/NumberPropertyPreview.d.ts +6 -0
  166. package/src/preview/property_previews/SkeletonPropertyComponent.d.ts +14 -0
  167. package/src/preview/property_previews/StringPropertyPreview.d.ts +6 -0
  168. package/src/preview/util.d.ts +7 -0
  169. package/src/types/analytics.d.ts +1 -0
  170. package/src/types/appcheck.d.ts +26 -0
  171. package/src/types/auth.d.ts +40 -0
  172. package/src/types/collections.d.ts +451 -0
  173. package/src/types/datasource.d.ts +262 -0
  174. package/src/types/dialogs_controller.d.ts +32 -0
  175. package/src/types/entities.d.ts +57 -0
  176. package/src/types/entity_actions.d.ts +35 -0
  177. package/src/types/entity_callbacks.d.ts +171 -0
  178. package/src/types/entity_link_builder.d.ts +7 -0
  179. package/src/types/export_import.d.ts +21 -0
  180. package/src/types/fields.d.ts +181 -0
  181. package/src/types/firecms.d.ts +151 -0
  182. package/src/types/firecms_context.d.ts +110 -0
  183. package/src/types/index.d.ts +26 -0
  184. package/src/types/local_config_persistence.d.ts +21 -0
  185. package/src/types/locales.d.ts +4 -0
  186. package/src/types/modify_collections.d.ts +5 -0
  187. package/src/types/navigation.d.ts +178 -0
  188. package/src/types/permissions.d.ts +63 -0
  189. package/src/types/plugins.d.ts +179 -0
  190. package/src/types/properties.d.ts +681 -0
  191. package/src/types/property_config.d.ts +42 -0
  192. package/src/types/resolved_entities.d.ts +98 -0
  193. package/src/types/side_dialogs_controller.d.ts +57 -0
  194. package/src/types/side_entity_controller.d.ts +83 -0
  195. package/src/types/storage.d.ts +82 -0
  196. package/src/types/user.d.ts +36 -0
  197. package/src/util/arrays.d.ts +1 -0
  198. package/src/util/builders.d.ts +64 -0
  199. package/src/util/chip_utils.d.ts +3 -0
  200. package/src/util/collections.d.ts +3 -0
  201. package/src/util/common.d.ts +2 -0
  202. package/src/util/dates.d.ts +1 -0
  203. package/src/util/entities.d.ts +28 -0
  204. package/src/util/enums.d.ts +7 -0
  205. package/src/util/flatten_object.d.ts +3 -0
  206. package/src/util/hash.d.ts +1 -0
  207. package/src/util/icons.d.ts +4 -0
  208. package/src/util/index.d.ts +20 -0
  209. package/src/util/join_collections.d.ts +9 -0
  210. package/src/util/make_properties_editable.d.ts +3 -0
  211. package/src/util/navigation_from_path.d.ts +24 -0
  212. package/src/util/navigation_utils.d.ts +20 -0
  213. package/src/util/objects.d.ts +10 -0
  214. package/src/util/parent_references_from_path.d.ts +6 -0
  215. package/src/util/paths.d.ts +14 -0
  216. package/src/util/permissions.d.ts +5 -0
  217. package/src/util/plurals.d.ts +18 -0
  218. package/src/util/property_utils.d.ts +23 -0
  219. package/src/util/references.d.ts +2 -0
  220. package/src/util/regexp.d.ts +7 -0
  221. package/src/util/resolutions.d.ts +64 -0
  222. package/src/util/storage.d.ts +3 -0
  223. package/src/util/strings.d.ts +6 -0
  224. package/src/util/useDebounce.d.ts +1 -0
  225. package/src/util/useStorageUploadController.d.ts +36 -0
@@ -0,0 +1,5 @@
1
+ import { AuthController, Entity, EntityCollection, Permissions, User } from "../types";
2
+ export declare function resolvePermissions<M extends Record<string, any>, UserType extends User>(collection: EntityCollection<M>, authController: AuthController<UserType>, pathSegments: string[], entity: Entity<M> | null): Permissions;
3
+ export declare function canEditEntity<M extends Record<string, any>, UserType extends User>(collection: EntityCollection<M>, authController: AuthController<UserType>, paths: string[], entity: Entity<M> | null): boolean;
4
+ export declare function canCreateEntity<M extends Record<string, any>, UserType extends User>(collection: EntityCollection<M>, authController: AuthController<UserType>, paths: string[], entity: Entity<M> | null): boolean;
5
+ export declare function canDeleteEntity<M extends Record<string, any>, UserType extends User>(collection: EntityCollection<M>, authController: AuthController<UserType>, paths: string[], entity: Entity<M> | null): boolean;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Returns the plural of an English word.
3
+ *
4
+ * @export
5
+ * @param {string} word
6
+ * @param {number} [amount]
7
+ * @returns {string}
8
+ */
9
+ export declare function plural(word: string, amount?: number): string;
10
+ /**
11
+ * Returns the singular of an English word.
12
+ *
13
+ * @export
14
+ * @param {string} word
15
+ * @param {number} [amount]
16
+ * @returns {string}
17
+ */
18
+ export declare function singular(word: string, amount?: number): string;
@@ -0,0 +1,23 @@
1
+ import React from "react";
2
+ import { EntityCollection, PropertiesOrBuilders, PropertyConfig, PropertyOrBuilder, ResolvedProperty } from "../types";
3
+ export declare function isReferenceProperty(propertyOrBuilder: PropertyOrBuilder, fields: Record<string, PropertyConfig>): boolean | null;
4
+ export declare function getIdIcon(size: "small" | "medium" | "large"): React.ReactNode;
5
+ export declare function getIconForWidget(widget: PropertyConfig | undefined, size: "small" | "medium" | "large"): import("react/jsx-runtime").JSX.Element;
6
+ export declare function getIconForProperty(property: PropertyOrBuilder | ResolvedProperty, size?: "small" | "medium" | "large", fields?: Record<string, PropertyConfig>): React.ReactNode;
7
+ export declare function getColorForProperty(property: PropertyOrBuilder, fields: Record<string, PropertyConfig>): string;
8
+ /**
9
+ * Get a property in a property tree from a path like
10
+ * `address.street`
11
+ * @param properties
12
+ * @param path
13
+ */
14
+ export declare function getPropertyInPath<M extends Record<string, any>>(properties: PropertiesOrBuilders<M>, path: string): PropertyOrBuilder<any, M> | undefined;
15
+ export declare function getResolvedPropertyInPath(properties: Record<string, ResolvedProperty>, path: string): ResolvedProperty | undefined;
16
+ export declare function getBracketNotation(path: string): string;
17
+ /**
18
+ * Get properties exclusively indexed by their order
19
+ * @param properties
20
+ * @param propertiesOrder
21
+ */
22
+ export declare function getPropertiesWithPropertiesOrder<M extends Record<string, any>>(properties: PropertiesOrBuilders<M>, propertiesOrder?: Extract<keyof M, string>[]): PropertiesOrBuilders<M>;
23
+ export declare function getDefaultPropertiesOrder(collection: EntityCollection<any>): string[];
@@ -0,0 +1,2 @@
1
+ import { EntityCollection, PropertyConfig } from "../types";
2
+ export declare function getReferencePreviewKeys(targetCollection: EntityCollection<any>, fields: Record<string, PropertyConfig>, previewProperties?: string[], limit?: number): string[];
@@ -0,0 +1,7 @@
1
+ export declare function serializeRegExp(input: RegExp): string;
2
+ /**
3
+ * Get a RegExp out of a serialized string
4
+ * @param input
5
+ */
6
+ export declare function hydrateRegExp(input?: string): RegExp | undefined;
7
+ export declare function isValidRegExp(input: string): boolean;
@@ -0,0 +1,64 @@
1
+ import { ArrayProperty, CMSType, EntityCollection, EntityCustomView, EntityValues, EnumValueConfig, EnumValues, NumberProperty, PropertiesOrBuilders, PropertyConfig, PropertyOrBuilder, ResolvedArrayProperty, ResolvedEntityCollection, ResolvedNumberProperty, ResolvedProperties, ResolvedProperty, ResolvedStringProperty, StringProperty, UserConfigurationPersistence } from "../types";
2
+ export declare const resolveCollection: <M extends Record<string, any>>({ collection, path, entityId, values, previousValues, userConfigPersistence, fields }: {
3
+ collection: EntityCollection<M, import("../types").User> | ResolvedEntityCollection<M>;
4
+ path: string;
5
+ entityId?: string | undefined;
6
+ values?: Partial<M> | undefined;
7
+ previousValues?: Partial<M> | undefined;
8
+ userConfigPersistence?: UserConfigurationPersistence | undefined;
9
+ fields?: Record<string, PropertyConfig> | undefined;
10
+ }) => ResolvedEntityCollection<M>;
11
+ /**
12
+ * Resolve property builders, enums and arrays.
13
+ * @param propertyOrBuilder
14
+ * @param propertyValue
15
+ * @param values
16
+ */
17
+ export declare function resolveProperty<T extends CMSType = CMSType, M extends Record<string, any> = any>({ propertyOrBuilder, propertyValue, fromBuilder, ...props }: {
18
+ propertyKey?: string;
19
+ propertyOrBuilder: PropertyOrBuilder<T, M> | ResolvedProperty<T>;
20
+ propertyValue?: unknown;
21
+ values?: Partial<M>;
22
+ previousValues?: Partial<M>;
23
+ path?: string;
24
+ entityId?: string;
25
+ index?: number;
26
+ fromBuilder?: boolean;
27
+ fields?: Record<string, PropertyConfig<any>>;
28
+ }): ResolvedProperty<T> | null;
29
+ export declare function resolveArrayProperty<T extends any[], M>({ propertyKey, property, propertyValue, ...props }: {
30
+ propertyKey?: string;
31
+ property: ArrayProperty<T> | ResolvedArrayProperty<T>;
32
+ propertyValue: any;
33
+ values?: Partial<M>;
34
+ previousValues?: Partial<M>;
35
+ path?: string;
36
+ entityId?: string;
37
+ index?: number;
38
+ fromBuilder?: boolean;
39
+ fields?: Record<string, PropertyConfig>;
40
+ }): ResolvedArrayProperty;
41
+ /**
42
+ * Resolve enums and arrays for properties
43
+ * @param properties
44
+ * @param value
45
+ */
46
+ export declare function resolveProperties<M extends Record<string, any>>({ properties, propertyValue, ...props }: {
47
+ properties: PropertiesOrBuilders<M>;
48
+ propertyValue: unknown;
49
+ values?: Partial<M>;
50
+ previousValues?: Partial<M>;
51
+ path?: string;
52
+ entityId?: string;
53
+ index?: number;
54
+ fromBuilder?: boolean;
55
+ fields?: Record<string, PropertyConfig>;
56
+ }): ResolvedProperties<M>;
57
+ /**
58
+ * Resolve enum aliases for a string or number property
59
+ * @param property
60
+ * @param fromBuilder
61
+ */
62
+ export declare function resolvePropertyEnum(property: StringProperty | NumberProperty, fromBuilder?: boolean): ResolvedStringProperty | ResolvedNumberProperty;
63
+ export declare function resolveEnumValues(input: EnumValues): EnumValueConfig[] | undefined;
64
+ export declare function resolveEntityView(entityView: string | EntityCustomView<any>, contextEntityViews?: EntityCustomView<any>[]): EntityCustomView<any> | undefined;
@@ -0,0 +1,3 @@
1
+ import { EntityValues, ResolvedArrayProperty, ResolvedStringProperty, StorageConfig, UploadedFileContext } from "../types";
2
+ export declare function resolveFilenameString<M extends object>(input: string | ((context: UploadedFileContext) => Promise<string> | string), storage: StorageConfig, values: EntityValues<M>, entityId: string, path: string, property: ResolvedStringProperty | ResolvedArrayProperty<string[]>, file: File, propertyKey: string): Promise<string>;
3
+ export declare function resolveStoragePathString<M extends object>(input: string | ((context: UploadedFileContext) => string), storage: StorageConfig, values: EntityValues<M>, entityId: string, path: string, property: ResolvedStringProperty | ResolvedArrayProperty<string[]>, file: File, propertyKey: string): string;
@@ -0,0 +1,6 @@
1
+ export declare const toKebabCase: (str: string) => string;
2
+ export declare const toSnakeCase: (str: string) => string;
3
+ export declare function randomString(strLength?: number): string;
4
+ export declare function randomColor(): string;
5
+ export declare function slugify(text?: string, separator?: string, lowercase?: boolean): string;
6
+ export declare function unslugify(slug: string): string;
@@ -0,0 +1 @@
1
+ export declare function useDebounce<T>(value: T, callback: () => void, immediate: boolean, timeoutMs?: number): void;
@@ -0,0 +1,36 @@
1
+ import { EntityValues, ResolvedArrayProperty, ResolvedStringProperty, StorageConfig, StorageSource } from "../types";
2
+ import { PreviewSize } from "../preview";
3
+ /**
4
+ * Internal representation of an item in the storage
5
+ * It can have two states, having a storagePathOrDownloadUrl set,
6
+ * which means the file has been uploaded, and it is rendered as a preview
7
+ * Or have a pending file being uploaded.
8
+ */
9
+ export interface StorageFieldItem {
10
+ id: number;
11
+ storagePathOrDownloadUrl?: string;
12
+ file?: File;
13
+ fileName?: string;
14
+ metadata?: any;
15
+ size: PreviewSize;
16
+ }
17
+ export declare function useStorageUploadController<M extends object>({ entityId, entityValues, path, value, property, propertyKey, storageSource, disabled, onChange }: {
18
+ entityId: string;
19
+ entityValues: EntityValues<M>;
20
+ value: string | string[] | null;
21
+ path: string;
22
+ propertyKey: string;
23
+ property: ResolvedStringProperty | ResolvedArrayProperty<string[]>;
24
+ storageSource: StorageSource;
25
+ disabled: boolean;
26
+ onChange: (value: string | string[] | null) => void;
27
+ }): {
28
+ internalValue: StorageFieldItem[];
29
+ setInternalValue: import("react").Dispatch<import("react").SetStateAction<StorageFieldItem[]>>;
30
+ storage: StorageConfig;
31
+ fileNameBuilder: (file: File) => Promise<string>;
32
+ storagePathBuilder: (file: File) => string;
33
+ onFileUploadComplete: (uploadedPath: string, entry: StorageFieldItem, metadata?: any) => Promise<void>;
34
+ onFilesAdded: (acceptedFiles: File[]) => Promise<void>;
35
+ multipleFilesSupported: boolean;
36
+ };