@firecms/core 3.0.0-canary.154 → 3.0.0-canary.155
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.
- package/dist/index.es.js +13727 -11119
- package/dist/index.es.js.map +1 -1
- package/dist/index.umd.js +13718 -11111
- package/dist/index.umd.js.map +1 -1
- package/dist/preview/PropertyPreviewProps.d.ts +1 -1
- package/package.json +8 -6
- package/src/components/ConfirmationDialog.tsx +2 -2
- package/src/components/DeleteEntityDialog.tsx +8 -17
- package/src/components/ErrorView.tsx +1 -1
- package/src/components/HomePage/DefaultHomePage.tsx +1 -0
- package/src/components/SelectableTable/filters/DateTimeFilterField.tsx +1 -0
- package/src/components/SelectableTable/filters/ReferenceFilterField.tsx +1 -0
- package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +2 -0
- package/src/components/VirtualTable/fields/VirtualTableSelect.tsx +1 -0
- package/src/core/field_configs.tsx +1 -1
- package/src/form/components/CustomIdField.tsx +1 -0
- package/src/form/components/StorageItemPreview.tsx +1 -1
- package/src/form/field_bindings/BlockFieldBinding.tsx +1 -0
- package/src/form/field_bindings/MapFieldBinding.tsx +1 -0
- package/src/form/field_bindings/SelectFieldBinding.tsx +1 -0
- package/src/form/field_bindings/StorageUploadFieldBinding.tsx +1 -1
- package/src/internal/useUnsavedChangesDialog.tsx +2 -2
- package/src/preview/PropertyPreviewProps.tsx +1 -1
- package/src/util/useStorageUploadController.tsx +1 -1
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@firecms/core",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "3.0.0-canary.
|
|
4
|
+
"version": "3.0.0-canary.155",
|
|
5
5
|
"description": "Awesome Firebase/Firestore-based headless open-source CMS",
|
|
6
6
|
"funding": {
|
|
7
7
|
"url": "https://github.com/sponsors/firecmsco"
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
"license": "MIT",
|
|
11
11
|
"repository": {
|
|
12
12
|
"type": "git",
|
|
13
|
-
"url": "
|
|
13
|
+
"url": "https://github.com/firecmsco/firecms.git",
|
|
14
14
|
"directory": "packages/firecms_core"
|
|
15
15
|
},
|
|
16
16
|
"main": "./dist/index.umd.js",
|
|
@@ -50,9 +50,9 @@
|
|
|
50
50
|
"./package.json": "./package.json"
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
|
-
"@firecms/editor": "^3.0.0-canary.
|
|
54
|
-
"@firecms/formex": "^3.0.0-canary.
|
|
55
|
-
"@firecms/ui": "^3.0.0-canary.
|
|
53
|
+
"@firecms/editor": "^3.0.0-canary.155",
|
|
54
|
+
"@firecms/formex": "^3.0.0-canary.155",
|
|
55
|
+
"@firecms/ui": "^3.0.0-canary.155",
|
|
56
56
|
"@hello-pangea/dnd": "^17.0.0",
|
|
57
57
|
"@radix-ui/react-portal": "^1.1.2",
|
|
58
58
|
"clsx": "^2.1.1",
|
|
@@ -88,7 +88,9 @@
|
|
|
88
88
|
"@types/react-dom": "^18.3.1",
|
|
89
89
|
"@types/react-measure": "^2.0.12",
|
|
90
90
|
"@vitejs/plugin-react": "^4.3.3",
|
|
91
|
+
"babel-plugin-react-compiler": "beta",
|
|
91
92
|
"cross-env": "^7.0.3",
|
|
93
|
+
"eslint-plugin-react-compiler": "beta",
|
|
92
94
|
"firebase": "^10.14.1",
|
|
93
95
|
"jest": "^29.7.0",
|
|
94
96
|
"npm-run-all": "^4.1.5",
|
|
@@ -104,7 +106,7 @@
|
|
|
104
106
|
"dist",
|
|
105
107
|
"src"
|
|
106
108
|
],
|
|
107
|
-
"gitHead": "
|
|
109
|
+
"gitHead": "c9b71679d709242ff3a47ec56a0ecf980ec76564",
|
|
108
110
|
"publishConfig": {
|
|
109
111
|
"access": "public"
|
|
110
112
|
},
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
|
|
3
|
-
import { Button, Dialog, DialogActions, DialogContent, LoadingButton, Typography } from "@firecms/ui";
|
|
3
|
+
import { Button, Dialog, DialogActions, DialogContent, DialogTitle, LoadingButton, Typography } from "@firecms/ui";
|
|
4
4
|
|
|
5
5
|
export function ConfirmationDialog({
|
|
6
6
|
open,
|
|
@@ -22,8 +22,8 @@ export function ConfirmationDialog({
|
|
|
22
22
|
open={open}
|
|
23
23
|
onOpenChange={(open) => !open ? onCancel() : undefined}
|
|
24
24
|
>
|
|
25
|
+
<DialogTitle variant={"h6"} className={"mb-2"}>{title}</DialogTitle>
|
|
25
26
|
<DialogContent>
|
|
26
|
-
<Typography variant={"h6"} className={"mb-2"}>{title}</Typography>
|
|
27
27
|
{body}
|
|
28
28
|
</DialogContent>
|
|
29
29
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Entity, EntityCallbacks, EntityCollection } from "../types";
|
|
2
2
|
import React, { useCallback, useMemo, useState } from "react";
|
|
3
|
-
import { Button, CircularProgress, Dialog, DialogActions, DialogContent,
|
|
3
|
+
import { Button, CircularProgress, Dialog, DialogActions, DialogContent, DialogTitle } from "@firecms/ui";
|
|
4
4
|
import {
|
|
5
5
|
deleteEntityWithCallbacks,
|
|
6
6
|
useCustomizationController,
|
|
@@ -40,20 +40,12 @@ export function DeleteEntityDialog<M extends Record<string, any>>({
|
|
|
40
40
|
const snackbarController = useSnackbarController();
|
|
41
41
|
const [loading, setLoading] = useState(false);
|
|
42
42
|
|
|
43
|
-
const [entityOrEntities, setUsedEntityOrEntities] = React.useState<Entity<M> | Entity<M>[]>();
|
|
44
|
-
|
|
45
|
-
const [multipleEntities, setMultipleEntities] = React.useState<boolean>();
|
|
46
43
|
const context = useFireCMSContext();
|
|
44
|
+
const entityOrEntities = Array.isArray(entityOrEntitiesToDelete) && entityOrEntitiesToDelete.length === 1
|
|
45
|
+
? entityOrEntitiesToDelete[0]
|
|
46
|
+
: entityOrEntitiesToDelete;
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
if (entityOrEntitiesToDelete) {
|
|
50
|
-
const revisedEntityOrEntities = Array.isArray(entityOrEntitiesToDelete) && entityOrEntitiesToDelete.length === 1
|
|
51
|
-
? entityOrEntitiesToDelete[0]
|
|
52
|
-
: entityOrEntitiesToDelete;
|
|
53
|
-
setUsedEntityOrEntities(revisedEntityOrEntities);
|
|
54
|
-
setMultipleEntities(Array.isArray(revisedEntityOrEntities));
|
|
55
|
-
}
|
|
56
|
-
}, [entityOrEntitiesToDelete]);
|
|
48
|
+
const multipleEntities = Array.isArray(entityOrEntities);
|
|
57
49
|
|
|
58
50
|
const resolvedCollection = useMemo(() => resolveCollection<M>({
|
|
59
51
|
collection,
|
|
@@ -181,11 +173,10 @@ export function DeleteEntityDialog<M extends Record<string, any>>({
|
|
|
181
173
|
open={open}
|
|
182
174
|
onOpenChange={(open) => !open ? onClose() : undefined}
|
|
183
175
|
>
|
|
176
|
+
<DialogTitle id="delete-dialog-title">
|
|
177
|
+
{dialogTitle}
|
|
178
|
+
</DialogTitle>
|
|
184
179
|
<DialogContent fullHeight={true}>
|
|
185
|
-
<Typography variant={"subtitle2"} className={"p-4"}>
|
|
186
|
-
{dialogTitle}
|
|
187
|
-
</Typography>
|
|
188
|
-
|
|
189
180
|
{!multipleEntities && <div className={"p-4"}>{content}</div>}
|
|
190
181
|
</DialogContent>
|
|
191
182
|
<DialogActions>
|
|
@@ -98,6 +98,7 @@ export function StringNumberFilterField({
|
|
|
98
98
|
<div className="flex w-[440px]">
|
|
99
99
|
<div className={"w-[80px]"}>
|
|
100
100
|
<Select value={operation}
|
|
101
|
+
fullWidth={true}
|
|
101
102
|
position={"item-aligned"}
|
|
102
103
|
onValueChange={(value) => {
|
|
103
104
|
updateFilter(value as VirtualTableWhereFilterOp, internalValue);
|
|
@@ -131,6 +132,7 @@ export function StringNumberFilterField({
|
|
|
131
132
|
{enumValues && !multiple &&
|
|
132
133
|
<Select
|
|
133
134
|
position={"item-aligned"}
|
|
135
|
+
fullWidth={true}
|
|
134
136
|
value={typeof internalValue === "string" ? internalValue : ""}
|
|
135
137
|
onValueChange={(value) => {
|
|
136
138
|
if (value !== "")
|
|
@@ -300,7 +300,7 @@ export const DEFAULT_FIELD_CONFIGS: Record<string, PropertyConfig<any>> = {
|
|
|
300
300
|
block: {
|
|
301
301
|
key: "block",
|
|
302
302
|
name: "Block",
|
|
303
|
-
description: "A complex field that allows the user to compose different fields together, with a key
|
|
303
|
+
description: "A complex field that allows the user to compose different fields together, with a key/value format",
|
|
304
304
|
Icon: ViewStreamIcon,
|
|
305
305
|
color: "#ff9408",
|
|
306
306
|
property: {
|
|
@@ -31,7 +31,7 @@ export function StorageItemPreview({
|
|
|
31
31
|
return (
|
|
32
32
|
<div className={cls(paperMixin,
|
|
33
33
|
"relative m-4 border-box flex items-center justify-center",
|
|
34
|
-
size === "
|
|
34
|
+
size === "large" ? "min-w-[220px] min-h-[220px] max-w-[220px]" : "min-w-[118px] min-h-[118px] max-w-[118px]",
|
|
35
35
|
className)}>
|
|
36
36
|
|
|
37
37
|
{!placeholder && !disabled &&
|
|
@@ -226,6 +226,7 @@ function BlockEntry({
|
|
|
226
226
|
placeholder={<Typography variant={"caption"}
|
|
227
227
|
className={"px-4 py-2 font-medium"}>Type</Typography>}
|
|
228
228
|
size={"medium"}
|
|
229
|
+
fullWidth={true}
|
|
229
230
|
position={"item-aligned"}
|
|
230
231
|
value={value1}
|
|
231
232
|
renderValue={(enumKey: any) =>
|
|
@@ -146,6 +146,7 @@ const buildPickKeysSelect = (disabled: boolean, properties: Properties, setValue
|
|
|
146
146
|
<Select
|
|
147
147
|
value={""}
|
|
148
148
|
size={"large"}
|
|
149
|
+
fullWidth={true}
|
|
149
150
|
disabled={disabled}
|
|
150
151
|
onValueChange={handleAddProperty}
|
|
151
152
|
renderValue={(key) => (properties as Properties)[key].name || key}>
|
|
@@ -339,7 +339,7 @@ export function StorageUpload({
|
|
|
339
339
|
}
|
|
340
340
|
|
|
341
341
|
const metadata: Record<string, unknown> | undefined = storage?.metadata;
|
|
342
|
-
const size = multipleFilesSupported ? "
|
|
342
|
+
const size = multipleFilesSupported ? "medium" : "large";
|
|
343
343
|
|
|
344
344
|
const moveItem = useCallback((fromIndex: number, toIndex: number) => {
|
|
345
345
|
if (!multipleFilesSupported) return;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useCallback } from "react";
|
|
2
2
|
import { Blocker, Transition } from "history";
|
|
3
3
|
import { UNSAFE_NavigationContext, useNavigate } from "react-router-dom";
|
|
4
|
-
import { Button, Dialog, DialogActions, DialogContent, Typography } from "@firecms/ui";
|
|
4
|
+
import { Button, Dialog, DialogActions, DialogContent, DialogTitle, Typography } from "@firecms/ui";
|
|
5
5
|
|
|
6
6
|
export function useNavigationUnsavedChangesDialog(when: boolean, onSuccess: () => void):
|
|
7
7
|
{
|
|
@@ -89,8 +89,8 @@ export function UnsavedChangesDialog({
|
|
|
89
89
|
}}
|
|
90
90
|
open={open}
|
|
91
91
|
>
|
|
92
|
+
<DialogTitle variant={"h6"}>{title}</DialogTitle>
|
|
92
93
|
<DialogContent>
|
|
93
|
-
<Typography variant={"h6"}>{title}</Typography>
|
|
94
94
|
|
|
95
95
|
{body}
|
|
96
96
|
|
|
@@ -70,7 +70,7 @@ export function useStorageUploadController<M extends object>({
|
|
|
70
70
|
throw Error("Storage meta must be specified");
|
|
71
71
|
|
|
72
72
|
const metadata: Record<string, any> | undefined = storage?.metadata;
|
|
73
|
-
const size = multipleFilesSupported ? "
|
|
73
|
+
const size = multipleFilesSupported ? "medium" : "large";
|
|
74
74
|
|
|
75
75
|
const compression: ImageCompression | undefined = storage?.imageCompression;
|
|
76
76
|
|