@questpie/admin 3.2.0 → 3.2.2
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/client/blocks/block-renderer.d.mts +12 -2
- package/dist/client/blocks/block-renderer.mjs +357 -49
- package/dist/client/components/blocks/block-editor-context.mjs +11 -1
- package/dist/client/components/blocks/block-editor-provider.mjs +68 -26
- package/dist/client/components/blocks/block-item.mjs +181 -170
- package/dist/client/components/blocks/utils/tree-utils.mjs +13 -1
- package/dist/client/components/fields/array-field.mjs +177 -118
- package/dist/client/components/filter-builder/filter-builder-sheet.mjs +305 -310
- package/dist/client/components/filter-builder/filters-tab.mjs +1 -1
- package/dist/client/components/history-sidebar.mjs +121 -114
- package/dist/client/components/preview/live-preview-mode.mjs +210 -175
- package/dist/client/components/preview/preview-pane.mjs +288 -333
- package/dist/client/components/primitives/option-label.mjs +44 -0
- package/dist/client/components/primitives/select-multi.mjs +408 -383
- package/dist/client/components/primitives/select-single.mjs +387 -357
- package/dist/client/components/widgets/chart-widget.mjs +168 -143
- package/dist/client/contexts/focus-context.d.mts +16 -1
- package/dist/client/contexts/focus-context.mjs +90 -38
- package/dist/client/hooks/use-brand.mjs +2 -1
- package/dist/client/preview/block-scope-context.d.mts +2 -2
- package/dist/client/preview/block-scope-context.mjs +10 -20
- package/dist/client/preview/index.d.mts +1 -1
- package/dist/client/preview/patch.mjs +100 -0
- package/dist/client/preview/preview-banner.d.mts +2 -2
- package/dist/client/preview/preview-field.d.mts +34 -5
- package/dist/client/preview/preview-field.mjs +385 -118
- package/dist/client/preview/types.d.mts +82 -3
- package/dist/client/preview/types.mjs +85 -6
- package/dist/client/preview/use-collection-preview.d.mts +19 -1
- package/dist/client/preview/use-collection-preview.mjs +182 -58
- package/dist/client/runtime/index.d.mts +2 -2
- package/dist/client/runtime/index.mjs +2 -2
- package/dist/client/runtime/provider.d.mts +5 -5
- package/dist/client/utils/build-field-definitions-from-schema.mjs +8 -3
- package/dist/client/views/auth/accept-invite-form.d.mts +2 -2
- package/dist/client/views/auth/auth-layout.d.mts +3 -3
- package/dist/client/views/auth/login-form.d.mts +2 -2
- package/dist/client/views/auth/reset-password-form.d.mts +2 -2
- package/dist/client/views/auth/setup-form.d.mts +2 -2
- package/dist/client/views/collection/bulk-action-toolbar.mjs +23 -25
- package/dist/client/views/collection/cells/primitive-cells.mjs +63 -13
- package/dist/client/views/collection/columns/build-columns.mjs +1 -0
- package/dist/client/views/collection/form-view.mjs +262 -33
- package/dist/client/views/collection/table-view.mjs +16 -11
- package/dist/client/views/layout/admin-layout-provider.d.mts +5 -5
- package/dist/client/views/layout/admin-layout-provider.mjs +107 -16
- package/dist/client/views/pages/accept-invite-page.d.mts +2 -2
- package/dist/client/views/pages/dashboard-page.d.mts +2 -2
- package/dist/client/views/pages/forgot-password-page.d.mts +2 -2
- package/dist/client/views/pages/reset-password-page.d.mts +2 -2
- package/dist/client/views/pages/setup-page.d.mts +2 -2
- package/dist/client.d.mts +2 -2
- package/dist/client.mjs +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/index.mjs +1 -1
- package/dist/server/augmentation/common.d.mts +8 -4
- package/dist/server/augmentation/form-layout.d.mts +1 -1
- package/dist/server/i18n/messages/cs.mjs +11 -0
- package/dist/server/i18n/messages/de.mjs +11 -0
- package/dist/server/i18n/messages/en.mjs +11 -0
- package/dist/server/i18n/messages/es.mjs +11 -0
- package/dist/server/i18n/messages/fr.mjs +11 -0
- package/dist/server/i18n/messages/pl.mjs +11 -0
- package/dist/server/i18n/messages/pt.mjs +11 -0
- package/dist/server/i18n/messages/sk.mjs +11 -0
- package/dist/server/modules/admin/block/block-builder.d.mts +7 -10
- package/dist/server/modules/admin/block/block-builder.mjs +7 -10
- package/dist/server/modules/admin/collections/apikey.d.mts +64 -64
- package/dist/server/modules/admin/collections/assets.d.mts +57 -20
- package/dist/server/modules/admin/collections/session.d.mts +38 -38
- package/dist/server/modules/admin/collections/user.d.mts +100 -34
- package/dist/server/modules/admin/collections/user.mjs +4 -4
- package/dist/server/modules/admin/collections/verification.d.mts +31 -31
- package/dist/server/modules/admin/index.d.mts +3 -3
- package/dist/server/modules/admin/routes/admin-config.d.mts +2 -2
- package/dist/server/modules/admin/routes/admin-config.mjs +9 -12
- package/dist/server/modules/admin/routes/execute-action.d.mts +9 -9
- package/dist/server/modules/admin/routes/locales.d.mts +2 -2
- package/dist/server/modules/admin/routes/preview.d.mts +11 -11
- package/dist/server/modules/admin/routes/reactive.d.mts +9 -9
- package/dist/server/modules/admin/routes/translations.d.mts +4 -4
- package/dist/server/modules/admin/routes/translations.mjs +1 -1
- package/dist/server/modules/admin-preferences/collections/admin-preferences.mjs +4 -6
- package/dist/server/modules/admin-preferences/collections/saved-views.d.mts +4 -6
- package/dist/server/modules/admin-preferences/collections/saved-views.mjs +4 -6
- package/package.json +3 -3
|
@@ -3,6 +3,8 @@ import { cn } from "../../lib/utils.mjs";
|
|
|
3
3
|
import { selectRealtime, useAdminStore } from "../../runtime/provider.mjs";
|
|
4
4
|
import { useSafeContentLocales } from "../../runtime/content-locales-provider.mjs";
|
|
5
5
|
import { useScopedLocale } from "../../runtime/locale-scope.mjs";
|
|
6
|
+
import { flattenOptions } from "../../components/primitives/types.mjs";
|
|
7
|
+
import { resolveOptionLabelForValue } from "../../components/primitives/option-label.mjs";
|
|
6
8
|
import { Button } from "../../components/ui/button.mjs";
|
|
7
9
|
import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "../../components/ui/select.mjs";
|
|
8
10
|
import { Sheet, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle } from "../../components/ui/sheet.mjs";
|
|
@@ -10,7 +12,6 @@ import { sanitizeFilename } from "../../components/fields/field-utils.mjs";
|
|
|
10
12
|
import { Tooltip, TooltipContent, TooltipTrigger } from "../../components/ui/tooltip.mjs";
|
|
11
13
|
import { LocaleSwitcher } from "../../components/locale-switcher.mjs";
|
|
12
14
|
import { Checkbox } from "../../components/ui/checkbox.mjs";
|
|
13
|
-
import { flattenOptions } from "../../components/primitives/types.mjs";
|
|
14
15
|
import { createActionRegistryProxy } from "../../builder/types/action-registry.mjs";
|
|
15
16
|
import { ActionButton } from "../../components/actions/action-button.mjs";
|
|
16
17
|
import { useCollectionFields } from "../../hooks/use-collection-fields.mjs";
|
|
@@ -298,14 +299,17 @@ function mapListSchemaToConfig(list) {
|
|
|
298
299
|
config.actions = mapListActionsToDefinitions(list.actions);
|
|
299
300
|
return config;
|
|
300
301
|
}
|
|
301
|
-
function stringifyGroupValue(value, field, resolveText, noValueLabel = "No value") {
|
|
302
|
+
function stringifyGroupValue(value, field, resolveText, t, locale = "en", noValueLabel = "No value") {
|
|
302
303
|
if (value === null || value === void 0 || value === "") return noValueLabel;
|
|
303
|
-
if (Array.isArray(value)) return value.length > 0 ? value.map((item) => stringifyGroupValue(item, field, resolveText, noValueLabel)).join(", ") : noValueLabel;
|
|
304
|
+
if (Array.isArray(value)) return value.length > 0 ? value.map((item) => stringifyGroupValue(item, field, resolveText, t, locale, noValueLabel)).join(", ") : noValueLabel;
|
|
304
305
|
const options = field?.options?.options;
|
|
305
|
-
if (
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
306
|
+
if (field?.type === "select" && resolveText && t) return resolveOptionLabelForValue({
|
|
307
|
+
value,
|
|
308
|
+
options: Array.isArray(options) ? options : void 0,
|
|
309
|
+
resolveText,
|
|
310
|
+
t,
|
|
311
|
+
locale
|
|
312
|
+
});
|
|
309
313
|
if (typeof value === "object") {
|
|
310
314
|
const record = value;
|
|
311
315
|
const displayValue = record.title ?? record.name ?? record.label ?? record.id;
|
|
@@ -626,7 +630,7 @@ function TableViewInner({ collection, config, viewConfig, navigate, basePath = "
|
|
|
626
630
|
const mergedActionsConfig = React.useMemo(() => mergeServerActions(resolvedActionsConfig ?? {}, serverActions), [resolvedActionsConfig, serverActions]);
|
|
627
631
|
const { user } = useSessionState();
|
|
628
632
|
const { data: collectionMeta } = useSuspenseCollectionMeta(collection);
|
|
629
|
-
const { t } = useTranslation();
|
|
633
|
+
const { t, locale: uiLocale } = useTranslation();
|
|
630
634
|
const resolveText = useResolveText();
|
|
631
635
|
const { locale: contentLocale, setLocale: setContentLocale } = useScopedLocale();
|
|
632
636
|
const localeOptions = useSafeContentLocales()?.locales ?? [];
|
|
@@ -1199,7 +1203,7 @@ function TableViewInner({ collection, config, viewConfig, navigate, basePath = "
|
|
|
1199
1203
|
if (serverGroups?.length) {
|
|
1200
1204
|
const rowsById_0 = new Map(rows.map((row_8) => [row_8.id, row_8]));
|
|
1201
1205
|
return serverGroups.flatMap((group) => {
|
|
1202
|
-
const label = stringifyGroupValue(group.value, groupField, resolveText, t("common.noValue"));
|
|
1206
|
+
const label = stringifyGroupValue(group.value, groupField, resolveText, t, uiLocale, t("common.noValue"));
|
|
1203
1207
|
const groupKey = `${groupBy_0}:${label}`;
|
|
1204
1208
|
const collapsed = collapsedGroups.has(groupKey);
|
|
1205
1209
|
const groupRows = (group.docs ?? []).map((doc) => rowsById_0.get(String(doc.id))).filter(Boolean);
|
|
@@ -1217,7 +1221,7 @@ function TableViewInner({ collection, config, viewConfig, navigate, basePath = "
|
|
|
1217
1221
|
}
|
|
1218
1222
|
const groups = /* @__PURE__ */ new Map();
|
|
1219
1223
|
for (const row_10 of rows) {
|
|
1220
|
-
const valueLabel = stringifyGroupValue(row_10.original?.[groupBy_0], groupField, resolveText, t("common.noValue"));
|
|
1224
|
+
const valueLabel = stringifyGroupValue(row_10.original?.[groupBy_0], groupField, resolveText, t, uiLocale, t("common.noValue"));
|
|
1221
1225
|
const groupKey_0 = `${groupBy_0}:${valueLabel}`;
|
|
1222
1226
|
const group_0 = groups.get(groupKey_0);
|
|
1223
1227
|
if (group_0) {
|
|
@@ -1251,7 +1255,8 @@ function TableViewInner({ collection, config, viewConfig, navigate, basePath = "
|
|
|
1251
1255
|
isSearching,
|
|
1252
1256
|
listData?.groups,
|
|
1253
1257
|
resolveText,
|
|
1254
|
-
t
|
|
1258
|
+
t,
|
|
1259
|
+
uiLocale
|
|
1255
1260
|
]);
|
|
1256
1261
|
const handleSaveView = (name, config_0) => {
|
|
1257
1262
|
saveViewMutation.mutate({
|
|
@@ -60,17 +60,17 @@ interface AdminLayoutProviderProps extends AdminLayoutSharedProps {
|
|
|
60
60
|
/**
|
|
61
61
|
* Use server-side translations (fetched via getAdminTranslations RPC).
|
|
62
62
|
* When true, translations are fetched from the server configured via
|
|
63
|
-
* .
|
|
63
|
+
* config/admin.ts and config translations.
|
|
64
64
|
*
|
|
65
65
|
* @default false (for backwards compatibility)
|
|
66
66
|
*
|
|
67
67
|
* @example
|
|
68
68
|
* ```tsx
|
|
69
69
|
* // Server configures locales and messages
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
*
|
|
70
|
+
* import { adminConfig } from "#questpie/factories";
|
|
71
|
+
*
|
|
72
|
+
* export default adminConfig({
|
|
73
|
+
* locale: { locales: ["en", "sk"], defaultLocale: "en" },
|
|
74
74
|
* });
|
|
75
75
|
*
|
|
76
76
|
* // Client fetches from server
|
|
@@ -10,11 +10,67 @@ import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
|
|
|
10
10
|
import { jsx } from "react/jsx-runtime";
|
|
11
11
|
|
|
12
12
|
//#region src/client/views/layout/admin-layout-provider.tsx
|
|
13
|
+
/**
|
|
14
|
+
* AdminLayoutProvider Component
|
|
15
|
+
*
|
|
16
|
+
* Universal layout wrapper that works with any router.
|
|
17
|
+
* Provides AdminProvider + AdminLayout and renders children.
|
|
18
|
+
*
|
|
19
|
+
* @example Next.js (App Router)
|
|
20
|
+
* ```tsx
|
|
21
|
+
* // app/admin/layout.tsx
|
|
22
|
+
* export default function AdminLayout({ children }) {
|
|
23
|
+
* return (
|
|
24
|
+
* <AdminLayoutProvider
|
|
25
|
+
* admin={myAdmin}
|
|
26
|
+
* client={cmsClient}
|
|
27
|
+
* authClient={authClient}
|
|
28
|
+
* LinkComponent={Link}
|
|
29
|
+
* >
|
|
30
|
+
* {children}
|
|
31
|
+
* </AdminLayoutProvider>
|
|
32
|
+
* );
|
|
33
|
+
* }
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @example TanStack Router
|
|
37
|
+
* ```tsx
|
|
38
|
+
* // routes/admin.tsx
|
|
39
|
+
* function AdminLayout() {
|
|
40
|
+
* return (
|
|
41
|
+
* <AdminLayoutProvider
|
|
42
|
+
* admin={myAdmin}
|
|
43
|
+
* client={cmsClient}
|
|
44
|
+
* authClient={authClient}
|
|
45
|
+
* LinkComponent={Link}
|
|
46
|
+
* >
|
|
47
|
+
* <Outlet />
|
|
48
|
+
* </AdminLayoutProvider>
|
|
49
|
+
* );
|
|
50
|
+
* }
|
|
51
|
+
* ```
|
|
52
|
+
*
|
|
53
|
+
* @example With Auth Protection
|
|
54
|
+
* ```tsx
|
|
55
|
+
* <AdminLayoutProvider
|
|
56
|
+
* admin={myAdmin}
|
|
57
|
+
* client={cmsClient}
|
|
58
|
+
* authClient={authClient}
|
|
59
|
+
* enableAuthGuard={true}
|
|
60
|
+
* publicPaths={["/admin/login", "/admin/forgot-password"]}
|
|
61
|
+
* requiredRole="admin"
|
|
62
|
+
* >
|
|
63
|
+
* {children}
|
|
64
|
+
* </AdminLayoutProvider>
|
|
65
|
+
* ```
|
|
66
|
+
*/
|
|
13
67
|
/** Debounced 401 redirect - prevents multiple redirects from concurrent failures */
|
|
14
68
|
let sessionExpiredRedirectPending = false;
|
|
69
|
+
const ADMIN_QUERY_STALE_TIME_MS = 60 * 1e3;
|
|
70
|
+
const configuredAdminQueryClients = /* @__PURE__ */ new WeakSet();
|
|
15
71
|
function handleSessionExpiredError(error) {
|
|
16
72
|
if (sessionExpiredRedirectPending) return;
|
|
17
|
-
if ((error
|
|
73
|
+
if (getErrorStatus(error) !== 401) return;
|
|
18
74
|
if (typeof window !== "undefined") {
|
|
19
75
|
const path = window.location.pathname;
|
|
20
76
|
if (DEFAULT_PUBLIC_PATHS.some((p) => path.endsWith(p))) return;
|
|
@@ -23,22 +79,57 @@ function handleSessionExpiredError(error) {
|
|
|
23
79
|
window.location.href = `${path.replace(/\/[^/]*$/, "")}/login?returnUrl=${returnUrl}`;
|
|
24
80
|
}
|
|
25
81
|
}
|
|
82
|
+
function getErrorStatus(error) {
|
|
83
|
+
if (error != null && typeof error === "object" && "status" in error) {
|
|
84
|
+
const status = error.status;
|
|
85
|
+
return typeof status === "number" ? status : void 0;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
function shouldRetryAdminQuery(failureCount, error) {
|
|
89
|
+
const status = getErrorStatus(error);
|
|
90
|
+
if (status === 401) return false;
|
|
91
|
+
if (status && status >= 400 && status < 500 && status !== 408 && status !== 429) return false;
|
|
92
|
+
return failureCount < 3;
|
|
93
|
+
}
|
|
94
|
+
function createAdminDefaultOptions(defaultOptions = {}) {
|
|
95
|
+
const queries = defaultOptions.queries ?? {};
|
|
96
|
+
const mutations = defaultOptions.mutations ?? {};
|
|
97
|
+
const existingMutationOnError = mutations.onError;
|
|
98
|
+
return {
|
|
99
|
+
...defaultOptions,
|
|
100
|
+
queries: {
|
|
101
|
+
...queries,
|
|
102
|
+
staleTime: queries.staleTime ?? ADMIN_QUERY_STALE_TIME_MS,
|
|
103
|
+
refetchOnWindowFocus: queries.refetchOnWindowFocus ?? false,
|
|
104
|
+
retry: queries.retry ?? shouldRetryAdminQuery
|
|
105
|
+
},
|
|
106
|
+
mutations: {
|
|
107
|
+
...mutations,
|
|
108
|
+
onError: ((error, ...args) => {
|
|
109
|
+
handleSessionExpiredError(error);
|
|
110
|
+
return existingMutationOnError?.(error, ...args);
|
|
111
|
+
})
|
|
112
|
+
}
|
|
113
|
+
};
|
|
114
|
+
}
|
|
115
|
+
function installQueryCacheSessionHandler(queryClient) {
|
|
116
|
+
const queryCache = queryClient.getQueryCache();
|
|
117
|
+
const existingOnError = queryCache.config.onError;
|
|
118
|
+
queryCache.config.onError = (error, ...args) => {
|
|
119
|
+
handleSessionExpiredError(error);
|
|
120
|
+
return existingOnError?.(error, ...args);
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
function configureAdminQueryClient(queryClient) {
|
|
124
|
+
if (configuredAdminQueryClients.has(queryClient)) return queryClient;
|
|
125
|
+
queryClient.setDefaultOptions(createAdminDefaultOptions(queryClient.getDefaultOptions()));
|
|
126
|
+
installQueryCacheSessionHandler(queryClient);
|
|
127
|
+
configuredAdminQueryClients.add(queryClient);
|
|
128
|
+
return queryClient;
|
|
129
|
+
}
|
|
26
130
|
let cachedQueryClient;
|
|
27
131
|
function getDefaultQueryClient() {
|
|
28
|
-
if (!cachedQueryClient)
|
|
29
|
-
cachedQueryClient = new QueryClient({ defaultOptions: {
|
|
30
|
-
queries: {
|
|
31
|
-
staleTime: 60 * 1e3,
|
|
32
|
-
refetchOnWindowFocus: false,
|
|
33
|
-
retry: (failureCount, error) => {
|
|
34
|
-
if ((error != null && typeof error === "object" && "status" in error ? error.status : void 0) === 401) return false;
|
|
35
|
-
return failureCount < 3;
|
|
36
|
-
}
|
|
37
|
-
},
|
|
38
|
-
mutations: { onError: handleSessionExpiredError }
|
|
39
|
-
} });
|
|
40
|
-
cachedQueryClient.getQueryCache().config.onError = handleSessionExpiredError;
|
|
41
|
-
}
|
|
132
|
+
if (!cachedQueryClient) cachedQueryClient = configureAdminQueryClient(new QueryClient());
|
|
42
133
|
return cachedQueryClient;
|
|
43
134
|
}
|
|
44
135
|
/**
|
|
@@ -77,7 +168,7 @@ function AdminLayoutProvider(t0) {
|
|
|
77
168
|
const basePath = t1 === void 0 ? "/admin" : t1;
|
|
78
169
|
const publicPaths = t2 === void 0 ? DEFAULT_PUBLIC_PATHS : t2;
|
|
79
170
|
const requiredRole = t3 === void 0 ? "admin" : t3;
|
|
80
|
-
const qc = queryClient
|
|
171
|
+
const qc = queryClient ? configureAdminQueryClient(queryClient) : getDefaultQueryClient();
|
|
81
172
|
const { theme: managedTheme, setTheme: setManagedTheme } = useManagedAdminTheme(theme, setTheme);
|
|
82
173
|
if (client?.routes) {
|
|
83
174
|
qc.prefetchQuery(getAdminConfigQueryOptions(client));
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime8 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/client/views/pages/accept-invite-page.d.ts
|
|
5
5
|
|
|
@@ -61,6 +61,6 @@ declare function AcceptInvitePage({
|
|
|
61
61
|
redirectTo,
|
|
62
62
|
loginPath,
|
|
63
63
|
minPasswordLength
|
|
64
|
-
}: AcceptInvitePageProps):
|
|
64
|
+
}: AcceptInvitePageProps): react_jsx_runtime8.JSX.Element;
|
|
65
65
|
//#endregion
|
|
66
66
|
export { AcceptInvitePage };
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as react_jsx_runtime9 from "react/jsx-runtime";
|
|
2
2
|
|
|
3
3
|
//#region src/client/views/pages/dashboard-page.d.ts
|
|
4
4
|
|
|
@@ -38,6 +38,6 @@ declare function DashboardPage({
|
|
|
38
38
|
title,
|
|
39
39
|
description,
|
|
40
40
|
className
|
|
41
|
-
}: DashboardPageProps):
|
|
41
|
+
}: DashboardPageProps): react_jsx_runtime9.JSX.Element;
|
|
42
42
|
//#endregion
|
|
43
43
|
export { DashboardPage };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime6 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/client/views/pages/forgot-password-page.d.ts
|
|
5
5
|
|
|
@@ -51,6 +51,6 @@ declare function ForgotPasswordPage({
|
|
|
51
51
|
logo,
|
|
52
52
|
loginPath,
|
|
53
53
|
resetPasswordRedirectUrl
|
|
54
|
-
}: ForgotPasswordPageProps):
|
|
54
|
+
}: ForgotPasswordPageProps): react_jsx_runtime6.JSX.Element;
|
|
55
55
|
//#endregion
|
|
56
56
|
export { ForgotPasswordPage };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime12 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/client/views/pages/reset-password-page.d.ts
|
|
5
5
|
|
|
@@ -58,6 +58,6 @@ declare function ResetPasswordPage({
|
|
|
58
58
|
loginPath,
|
|
59
59
|
minPasswordLength,
|
|
60
60
|
getToken
|
|
61
|
-
}: ResetPasswordPageProps):
|
|
61
|
+
}: ResetPasswordPageProps): react_jsx_runtime12.JSX.Element;
|
|
62
62
|
//#endregion
|
|
63
63
|
export { ResetPasswordPage };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
|
-
import * as
|
|
2
|
+
import * as react_jsx_runtime13 from "react/jsx-runtime";
|
|
3
3
|
|
|
4
4
|
//#region src/client/views/pages/setup-page.d.ts
|
|
5
5
|
|
|
@@ -56,6 +56,6 @@ declare function SetupPage({
|
|
|
56
56
|
redirectTo,
|
|
57
57
|
loginPath,
|
|
58
58
|
showLoginLink
|
|
59
|
-
}: SetupPageProps):
|
|
59
|
+
}: SetupPageProps): react_jsx_runtime13.JSX.Element;
|
|
60
60
|
//#endregion
|
|
61
61
|
export { SetupPage, SetupPageProps };
|
package/dist/client.d.mts
CHANGED
|
@@ -28,7 +28,7 @@ import { RichTextEditor } from "./client/components/fields/rich-text-editor/inde
|
|
|
28
28
|
import { BlockScopeContextValue, BlockScopeProvider, BlockScopeProviderProps, useBlockScope, useResolveFieldPath } from "./client/preview/block-scope-context.mjs";
|
|
29
29
|
import { PreviewBanner, PreviewBannerProps } from "./client/preview/preview-banner.mjs";
|
|
30
30
|
import { PreviewField, PreviewFieldProps, PreviewProvider, StandalonePreviewField, usePreviewContext } from "./client/preview/preview-field.mjs";
|
|
31
|
-
import { AdminToPreviewMessage, BlockClickedMessage, FieldClickedMessage, FocusFieldMessage, PreviewConfig, PreviewReadyMessage, PreviewRefreshMessage, PreviewToAdminMessage, RefreshCompleteMessage, SelectBlockMessage, isAdminToPreviewMessage, isPreviewToAdminMessage } from "./client/preview/types.mjs";
|
|
31
|
+
import { AdminToPreviewMessage, BlockClickedMessage, CommitMessage, FieldClickedMessage, FieldValueEditedMessage, FocusFieldMessage, FullResyncMessage, InitSnapshotMessage, PatchAppliedMessage, PatchBatchMessage, PreviewConfig, PreviewPatchOp, PreviewReadyMessage, PreviewRefreshMessage, PreviewToAdminMessage, RefreshCompleteMessage, ResyncRequestMessage, SelectBlockMessage, isAdminToPreviewMessage, isPreviewToAdminMessage } from "./client/preview/types.mjs";
|
|
32
32
|
import { UseCollectionPreviewOptions, UseCollectionPreviewResult, useCollectionPreview } from "./client/preview/use-collection-preview.mjs";
|
|
33
33
|
import "./client/preview/index.mjs";
|
|
34
34
|
import { AuthGuard } from "./client/components/auth/auth-guard.mjs";
|
|
@@ -105,4 +105,4 @@ type CollectionFieldKeys<TApp extends QuestpieApp, TCollectionName extends strin
|
|
|
105
105
|
select: infer TSelect;
|
|
106
106
|
} ? keyof TSelect : never : never : never;
|
|
107
107
|
//#endregion
|
|
108
|
-
export { AcceptInviteForm, AcceptInvitePage, Admin, AdminLayout, AdminLayoutProvider, AdminLink, AdminProvider, type AdminProviderProps, AdminRouter, type AdminRouterProps, type AdminSidebarBrandProps, type AdminSidebarNavItemProps, type AdminState, type AdminStore, type AdminToPreviewMessage, AnyQuestpieClient, type AnyWidgetConfig, type AppAdmin, AuthDefaultLogo, AuthGuard, AuthLayout, type AuthLayoutProps, AuthLoading, Badge, type BadgeProps, type BaseFieldProps, type BaseWidgetAdminMeta, type BaseWidgetConfig, type BlockCategory, type BlockClickedMessage, type BlockContent, type BlockNode, BlockRenderer, type BlockRendererProps as BlockRendererComponentProps, type BlockRendererProps$1 as BlockRendererProps, type BlockScopeContextValue, BlockScopeProvider, type BlockScopeProviderProps, type BrandLogoConfig, BrandLogoMark, type BrandLogoMarkProps, type BrandSnapshot, type BrandingConfig, type ChartWidgetConfig, CollectionFieldKeys, type CollectionFormViewProps, CollectionItem, type CollectionListViewProps, CollectionNames, type ComponentRegistry, ComponentRenderer, type ComponentRendererProps, type ComponentRendererRegistry, type CustomWidgetConfig, DashboardPage, EMPTY_BLOCK_CONTENT, type FieldClickedMessage, type FieldComponentProps, type FieldDefinition, type FieldInstance, type FlagConfig, type FocusContextValue, type FocusFieldMessage, FocusProvider, type FocusProviderProps, type FocusState, ForgotPasswordForm, ForgotPasswordPage, type FormViewConfig, type FormViewDefinition, type GlobalFormViewProps, GlobalNames, type I18nContext, type I18nText, type IconComponent, IconifyIcon, type IconifyIconProps, type InferAdminCMS, InvitePage, type ListViewDefinition, LoginForm, LoginPage, type MaybeLazyComponent, type OptionItem, type PageDefinition, PreviewBanner, type PreviewBannerProps, type PreviewConfig, PreviewField, type PreviewFieldProps, PreviewProvider, type PreviewReadyMessage, type PreviewRefreshMessage, type PreviewToAdminMessage, type ProgressWidgetConfig, type QuickActionsWidgetConfig, type ReactiveFieldResult, type ReactiveFieldState, type RecentItemsWidgetConfig, type RefreshCompleteMessage, ResetPasswordForm, ResetPasswordPage, RichTextEditor, type RichTextEditorProps, RichTextRenderer, type RichTextStyles, type ScopeContextValue, type ScopeOption, ScopePicker, type ScopePickerProps, ScopeProvider, type ScopeProviderProps, type SelectBlockMessage, SetupForm, type SetupFormValues, SetupPage, type SetupPageProps, type SetupStatus, StandalonePreviewField, type StatsWidgetConfig, type TableWidgetConfig, type TimelineWidgetConfig, type TipTapDoc, type TipTapNode, type TypedHooks, type UseCollectionPreviewOptions, type UseCollectionPreviewResult, type UseFieldOptionsOptions, type UseFieldOptionsResult, type UseReactiveFieldsOptions, type UseReactiveFieldsResult, type ValueWidgetConfig, type ViewDefinition, type ViewKind, type WidgetComponentProps, type WidgetConfig, type WidgetDefinition, type WidgetTypeRegistry, buildValidationSchema, buildZodFromIntrospection, configureField, createAdminAuthClient, createAdminClient, createFormSchema, createIconRenderer, createScopedFetch, createTypedHooks, field, getCountryCode, getFlagConfig, getFlagUrl, isAdminToPreviewMessage, isBlockContent, isComponentReference, isPreviewToAdminMessage, page, parsePreviewFieldPath, resolveIconElement, scrollFieldIntoView, selectAdmin, selectBasePath, selectClient, selectNavigate, useAdminStore, useAuthClient, useBlockScope, useBrand, useBrandSnapshotRef, useCollectionCreate, useCollectionDelete, useCollectionItem, useCollectionList, useCollectionPreview, useCollectionRestore, useCollectionRevertVersion, useCollectionUpdate, useCollectionVersions, useCurrentUser, useFieldOptions, useFocus, useFocusOptional, useGlobal, useGlobalRevertVersion, useGlobalUpdate, useGlobalVersions, useIsBlockFocused, useIsDesktop, useIsFieldFocused, useIsMobile, useMediaQuery, usePreviewContext, useReactiveFields, useResolveFieldPath, useScope, useScopeSafe, useScopedFetch, useSearchParamToggle, useServerWidgetData, useSetupStatus, useShallow, useSidebarSearchParam, view, widget };
|
|
108
|
+
export { AcceptInviteForm, AcceptInvitePage, Admin, AdminLayout, AdminLayoutProvider, AdminLink, AdminProvider, type AdminProviderProps, AdminRouter, type AdminRouterProps, type AdminSidebarBrandProps, type AdminSidebarNavItemProps, type AdminState, type AdminStore, type AdminToPreviewMessage, AnyQuestpieClient, type AnyWidgetConfig, type AppAdmin, AuthDefaultLogo, AuthGuard, AuthLayout, type AuthLayoutProps, AuthLoading, Badge, type BadgeProps, type BaseFieldProps, type BaseWidgetAdminMeta, type BaseWidgetConfig, type BlockCategory, type BlockClickedMessage, type BlockContent, type BlockNode, BlockRenderer, type BlockRendererProps as BlockRendererComponentProps, type BlockRendererProps$1 as BlockRendererProps, type BlockScopeContextValue, BlockScopeProvider, type BlockScopeProviderProps, type BrandLogoConfig, BrandLogoMark, type BrandLogoMarkProps, type BrandSnapshot, type BrandingConfig, type ChartWidgetConfig, CollectionFieldKeys, type CollectionFormViewProps, CollectionItem, type CollectionListViewProps, CollectionNames, type CommitMessage, type ComponentRegistry, ComponentRenderer, type ComponentRendererProps, type ComponentRendererRegistry, type CustomWidgetConfig, DashboardPage, EMPTY_BLOCK_CONTENT, type FieldClickedMessage, type FieldComponentProps, type FieldDefinition, type FieldInstance, type FieldValueEditedMessage, type FlagConfig, type FocusContextValue, type FocusFieldMessage, FocusProvider, type FocusProviderProps, type FocusState, ForgotPasswordForm, ForgotPasswordPage, type FormViewConfig, type FormViewDefinition, type FullResyncMessage, type GlobalFormViewProps, GlobalNames, type I18nContext, type I18nText, type IconComponent, IconifyIcon, type IconifyIconProps, type InferAdminCMS, type InitSnapshotMessage, InvitePage, type ListViewDefinition, LoginForm, LoginPage, type MaybeLazyComponent, type OptionItem, type PageDefinition, type PatchAppliedMessage, type PatchBatchMessage, PreviewBanner, type PreviewBannerProps, type PreviewConfig, PreviewField, type PreviewFieldProps, type PreviewPatchOp, PreviewProvider, type PreviewReadyMessage, type PreviewRefreshMessage, type PreviewToAdminMessage, type ProgressWidgetConfig, type QuickActionsWidgetConfig, type ReactiveFieldResult, type ReactiveFieldState, type RecentItemsWidgetConfig, type RefreshCompleteMessage, ResetPasswordForm, ResetPasswordPage, type ResyncRequestMessage, RichTextEditor, type RichTextEditorProps, RichTextRenderer, type RichTextStyles, type ScopeContextValue, type ScopeOption, ScopePicker, type ScopePickerProps, ScopeProvider, type ScopeProviderProps, type SelectBlockMessage, SetupForm, type SetupFormValues, SetupPage, type SetupPageProps, type SetupStatus, StandalonePreviewField, type StatsWidgetConfig, type TableWidgetConfig, type TimelineWidgetConfig, type TipTapDoc, type TipTapNode, type TypedHooks, type UseCollectionPreviewOptions, type UseCollectionPreviewResult, type UseFieldOptionsOptions, type UseFieldOptionsResult, type UseReactiveFieldsOptions, type UseReactiveFieldsResult, type ValueWidgetConfig, type ViewDefinition, type ViewKind, type WidgetComponentProps, type WidgetConfig, type WidgetDefinition, type WidgetTypeRegistry, buildValidationSchema, buildZodFromIntrospection, configureField, createAdminAuthClient, createAdminClient, createFormSchema, createIconRenderer, createScopedFetch, createTypedHooks, field, getCountryCode, getFlagConfig, getFlagUrl, isAdminToPreviewMessage, isBlockContent, isComponentReference, isPreviewToAdminMessage, page, parsePreviewFieldPath, resolveIconElement, scrollFieldIntoView, selectAdmin, selectBasePath, selectClient, selectNavigate, useAdminStore, useAuthClient, useBlockScope, useBrand, useBrandSnapshotRef, useCollectionCreate, useCollectionDelete, useCollectionItem, useCollectionList, useCollectionPreview, useCollectionRestore, useCollectionRevertVersion, useCollectionUpdate, useCollectionVersions, useCurrentUser, useFieldOptions, useFocus, useFocusOptional, useGlobal, useGlobalRevertVersion, useGlobalUpdate, useGlobalVersions, useIsBlockFocused, useIsDesktop, useIsFieldFocused, useIsMobile, useMediaQuery, usePreviewContext, useReactiveFields, useResolveFieldPath, useScope, useScopeSafe, useScopedFetch, useSearchParamToggle, useServerWidgetData, useSetupStatus, useShallow, useSidebarSearchParam, view, widget };
|
package/dist/client.mjs
CHANGED
|
@@ -6,9 +6,9 @@ import { Badge, ComponentRenderer, IconifyIcon, createIconRenderer, isComponentR
|
|
|
6
6
|
import { configureField, field } from "./client/builder/field/field.mjs";
|
|
7
7
|
import { EMPTY_BLOCK_CONTENT, isBlockContent } from "./client/blocks/types.mjs";
|
|
8
8
|
import { getCountryCode, getFlagConfig, getFlagUrl } from "./client/utils/locale-to-flag.mjs";
|
|
9
|
+
import { FocusProvider, parsePreviewFieldPath, scrollFieldIntoView, useFocus, useFocusOptional, useIsBlockFocused, useIsFieldFocused } from "./client/contexts/focus-context.mjs";
|
|
9
10
|
import { useIsDesktop, useIsMobile, useMediaQuery } from "./client/hooks/use-media-query.mjs";
|
|
10
11
|
import { buildValidationSchema, buildZodFromIntrospection, createFormSchema } from "./client/builder/validation.mjs";
|
|
11
|
-
import { FocusProvider, parsePreviewFieldPath, scrollFieldIntoView, useFocus, useFocusOptional, useIsBlockFocused, useIsFieldFocused } from "./client/contexts/focus-context.mjs";
|
|
12
12
|
import { isAdminToPreviewMessage, isPreviewToAdminMessage } from "./client/preview/types.mjs";
|
|
13
13
|
import { useGlobal, useGlobalRevertVersion, useGlobalUpdate, useGlobalVersions } from "./client/hooks/use-global.mjs";
|
|
14
14
|
import { useSearchParamToggle } from "./client/hooks/use-search-param-toggle.mjs";
|
package/dist/index.d.mts
CHANGED
|
@@ -26,7 +26,7 @@ import { RichTextEditor } from "./client/components/fields/rich-text-editor/inde
|
|
|
26
26
|
import { BlockScopeContextValue, BlockScopeProvider, BlockScopeProviderProps, useBlockScope, useResolveFieldPath } from "./client/preview/block-scope-context.mjs";
|
|
27
27
|
import { PreviewBanner, PreviewBannerProps } from "./client/preview/preview-banner.mjs";
|
|
28
28
|
import { PreviewField, PreviewFieldProps, PreviewProvider, StandalonePreviewField, usePreviewContext } from "./client/preview/preview-field.mjs";
|
|
29
|
-
import { AdminToPreviewMessage, BlockClickedMessage, FieldClickedMessage, FocusFieldMessage, PreviewConfig, PreviewReadyMessage, PreviewRefreshMessage, PreviewToAdminMessage, RefreshCompleteMessage, SelectBlockMessage, isAdminToPreviewMessage, isPreviewToAdminMessage } from "./client/preview/types.mjs";
|
|
29
|
+
import { AdminToPreviewMessage, BlockClickedMessage, CommitMessage, FieldClickedMessage, FieldValueEditedMessage, FocusFieldMessage, FullResyncMessage, InitSnapshotMessage, PatchAppliedMessage, PatchBatchMessage, PreviewConfig, PreviewPatchOp, PreviewReadyMessage, PreviewRefreshMessage, PreviewToAdminMessage, RefreshCompleteMessage, ResyncRequestMessage, SelectBlockMessage, isAdminToPreviewMessage, isPreviewToAdminMessage } from "./client/preview/types.mjs";
|
|
30
30
|
import { UseCollectionPreviewOptions, UseCollectionPreviewResult, useCollectionPreview } from "./client/preview/use-collection-preview.mjs";
|
|
31
31
|
import { AuthGuard } from "./client/components/auth/auth-guard.mjs";
|
|
32
32
|
import { AuthLoading } from "./client/components/auth/auth-loading.mjs";
|
|
@@ -65,4 +65,4 @@ import { ScopeContextValue, ScopeOption, ScopePickerProps, ScopeProviderProps }
|
|
|
65
65
|
import { ScopePicker } from "./client/scope/picker.mjs";
|
|
66
66
|
import { ScopeProvider, createScopedFetch, useScope, useScopeSafe, useScopedFetch } from "./client/scope/provider.mjs";
|
|
67
67
|
import { AnyQuestpieClient, CollectionFieldKeys, CollectionItem, CollectionNames, GlobalNames } from "./client.mjs";
|
|
68
|
-
export { AcceptInviteForm, AcceptInvitePage, Admin, AdminLayout, AdminLayoutProvider, AdminLink, AdminProvider, AdminProviderProps, AdminRouter, AdminRouterProps, AdminSidebarBrandProps, AdminSidebarNavItemProps, AdminState, AdminStore, AdminToPreviewMessage, type AnyAdminMeta, AnyQuestpieClient, AnyWidgetConfig, AppAdmin, type ArrayFieldAdminMeta, AuthDefaultLogo, AuthGuard, AuthLayout, AuthLayoutProps, AuthLoading, Badge, BadgeProps, type BaseAdminMeta, BaseFieldProps, BaseWidgetAdminMeta, BaseWidgetConfig, BlockCategory, BlockClickedMessage, BlockContent, BlockNode, BlockRenderer, BlockRendererProps as BlockRendererComponentProps, BlockRendererProps$1 as BlockRendererProps, BlockScopeContextValue, BlockScopeProvider, BlockScopeProviderProps, type BooleanFieldAdminMeta, BrandLogoConfig, BrandLogoMark, BrandLogoMarkProps, BrandSnapshot, BrandingConfig, ChartWidgetConfig, CollectionFieldKeys, CollectionFormViewProps, CollectionItem, CollectionListViewProps, CollectionNames, ComponentRegistry, ComponentRenderer, ComponentRendererProps, ComponentRendererRegistry, CustomWidgetConfig, DashboardPage, type DateFieldAdminMeta, EMPTY_BLOCK_CONTENT, FieldClickedMessage, FieldComponentProps, FieldDefinition, FieldInstance, FlagConfig, FocusContextValue, FocusFieldMessage, FocusProvider, FocusProviderProps, FocusState, ForgotPasswordForm, ForgotPasswordPage, FormViewConfig, FormViewDefinition, GlobalFormViewProps, GlobalNames, I18nContext, I18nText, IconComponent, IconifyIcon, IconifyIconProps, InferAdminCMS, InvitePage, type JsonFieldAdminMeta, ListViewDefinition, LoginForm, LoginPage, MaybeLazyComponent, type NumberFieldAdminMeta, type ObjectFieldAdminMeta, OptionItem, PageDefinition, PreviewBanner, PreviewBannerProps, PreviewConfig, PreviewField, PreviewFieldProps, PreviewProvider, PreviewReadyMessage, PreviewRefreshMessage, PreviewToAdminMessage, ProgressWidgetConfig, QuickActionsWidgetConfig, ReactiveFieldResult, ReactiveFieldState, RecentItemsWidgetConfig, RefreshCompleteMessage, type RelationFieldAdminMeta, ResetPasswordForm, ResetPasswordPage, RichTextEditor, RichTextEditorProps, RichTextRenderer, RichTextStyles, ScopeContextValue, ScopeOption, ScopePicker, ScopePickerProps, ScopeProvider, ScopeProviderProps, SelectBlockMessage, type SelectFieldAdminMeta, SetupForm, SetupFormValues, SetupPage, SetupPageProps, SetupStatus, StandalonePreviewField, StatsWidgetConfig, TableWidgetConfig, type TextFieldAdminMeta, type TextareaFieldAdminMeta, type TimeFieldAdminMeta, TimelineWidgetConfig, TipTapDoc, TipTapNode, TypedHooks, type UploadFieldAdminMeta, UseCollectionPreviewOptions, UseCollectionPreviewResult, UseFieldOptionsOptions, UseFieldOptionsResult, UseReactiveFieldsOptions, UseReactiveFieldsResult, ValueWidgetConfig, ViewDefinition, ViewKind, WidgetComponentProps, WidgetConfig, WidgetDefinition, WidgetTypeRegistry, buildValidationSchema, buildZodFromIntrospection, configureField, createAdminAuthClient, createAdminClient, createFormSchema, createIconRenderer, createScopedFetch, createTypedHooks, field, getCountryCode, getFlagConfig, getFlagUrl, isAdminToPreviewMessage, isBlockContent, isComponentReference, isPreviewToAdminMessage, page, parsePreviewFieldPath, resolveIconElement, scrollFieldIntoView, selectAdmin, selectBasePath, selectClient, selectNavigate, useAdminStore, useAuthClient, useBlockScope, useBrand, useBrandSnapshotRef, useCollectionCreate, useCollectionDelete, useCollectionItem, useCollectionList, useCollectionPreview, useCollectionRestore, useCollectionRevertVersion, useCollectionUpdate, useCollectionVersions, useCurrentUser, useFieldOptions, useFocus, useFocusOptional, useGlobal, useGlobalRevertVersion, useGlobalUpdate, useGlobalVersions, useIsBlockFocused, useIsDesktop, useIsFieldFocused, useIsMobile, useMediaQuery, usePreviewContext, useReactiveFields, useResolveFieldPath, useScope, useScopeSafe, useScopedFetch, useSearchParamToggle, useServerWidgetData, useSetupStatus, useShallow, useSidebarSearchParam, view, widget };
|
|
68
|
+
export { AcceptInviteForm, AcceptInvitePage, Admin, AdminLayout, AdminLayoutProvider, AdminLink, AdminProvider, AdminProviderProps, AdminRouter, AdminRouterProps, AdminSidebarBrandProps, AdminSidebarNavItemProps, AdminState, AdminStore, AdminToPreviewMessage, type AnyAdminMeta, AnyQuestpieClient, AnyWidgetConfig, AppAdmin, type ArrayFieldAdminMeta, AuthDefaultLogo, AuthGuard, AuthLayout, AuthLayoutProps, AuthLoading, Badge, BadgeProps, type BaseAdminMeta, BaseFieldProps, BaseWidgetAdminMeta, BaseWidgetConfig, BlockCategory, BlockClickedMessage, BlockContent, BlockNode, BlockRenderer, BlockRendererProps as BlockRendererComponentProps, BlockRendererProps$1 as BlockRendererProps, BlockScopeContextValue, BlockScopeProvider, BlockScopeProviderProps, type BooleanFieldAdminMeta, BrandLogoConfig, BrandLogoMark, BrandLogoMarkProps, BrandSnapshot, BrandingConfig, ChartWidgetConfig, CollectionFieldKeys, CollectionFormViewProps, CollectionItem, CollectionListViewProps, CollectionNames, CommitMessage, ComponentRegistry, ComponentRenderer, ComponentRendererProps, ComponentRendererRegistry, CustomWidgetConfig, DashboardPage, type DateFieldAdminMeta, EMPTY_BLOCK_CONTENT, FieldClickedMessage, FieldComponentProps, FieldDefinition, FieldInstance, FieldValueEditedMessage, FlagConfig, FocusContextValue, FocusFieldMessage, FocusProvider, FocusProviderProps, FocusState, ForgotPasswordForm, ForgotPasswordPage, FormViewConfig, FormViewDefinition, FullResyncMessage, GlobalFormViewProps, GlobalNames, I18nContext, I18nText, IconComponent, IconifyIcon, IconifyIconProps, InferAdminCMS, InitSnapshotMessage, InvitePage, type JsonFieldAdminMeta, ListViewDefinition, LoginForm, LoginPage, MaybeLazyComponent, type NumberFieldAdminMeta, type ObjectFieldAdminMeta, OptionItem, PageDefinition, PatchAppliedMessage, PatchBatchMessage, PreviewBanner, PreviewBannerProps, PreviewConfig, PreviewField, PreviewFieldProps, PreviewPatchOp, PreviewProvider, PreviewReadyMessage, PreviewRefreshMessage, PreviewToAdminMessage, ProgressWidgetConfig, QuickActionsWidgetConfig, ReactiveFieldResult, ReactiveFieldState, RecentItemsWidgetConfig, RefreshCompleteMessage, type RelationFieldAdminMeta, ResetPasswordForm, ResetPasswordPage, ResyncRequestMessage, RichTextEditor, RichTextEditorProps, RichTextRenderer, RichTextStyles, ScopeContextValue, ScopeOption, ScopePicker, ScopePickerProps, ScopeProvider, ScopeProviderProps, SelectBlockMessage, type SelectFieldAdminMeta, SetupForm, SetupFormValues, SetupPage, SetupPageProps, SetupStatus, StandalonePreviewField, StatsWidgetConfig, TableWidgetConfig, type TextFieldAdminMeta, type TextareaFieldAdminMeta, type TimeFieldAdminMeta, TimelineWidgetConfig, TipTapDoc, TipTapNode, TypedHooks, type UploadFieldAdminMeta, UseCollectionPreviewOptions, UseCollectionPreviewResult, UseFieldOptionsOptions, UseFieldOptionsResult, UseReactiveFieldsOptions, UseReactiveFieldsResult, ValueWidgetConfig, ViewDefinition, ViewKind, WidgetComponentProps, WidgetConfig, WidgetDefinition, WidgetTypeRegistry, buildValidationSchema, buildZodFromIntrospection, configureField, createAdminAuthClient, createAdminClient, createFormSchema, createIconRenderer, createScopedFetch, createTypedHooks, field, getCountryCode, getFlagConfig, getFlagUrl, isAdminToPreviewMessage, isBlockContent, isComponentReference, isPreviewToAdminMessage, page, parsePreviewFieldPath, resolveIconElement, scrollFieldIntoView, selectAdmin, selectBasePath, selectClient, selectNavigate, useAdminStore, useAuthClient, useBlockScope, useBrand, useBrandSnapshotRef, useCollectionCreate, useCollectionDelete, useCollectionItem, useCollectionList, useCollectionPreview, useCollectionRestore, useCollectionRevertVersion, useCollectionUpdate, useCollectionVersions, useCurrentUser, useFieldOptions, useFocus, useFocusOptional, useGlobal, useGlobalRevertVersion, useGlobalUpdate, useGlobalVersions, useIsBlockFocused, useIsDesktop, useIsFieldFocused, useIsMobile, useMediaQuery, usePreviewContext, useReactiveFields, useResolveFieldPath, useScope, useScopeSafe, useScopedFetch, useSearchParamToggle, useServerWidgetData, useSetupStatus, useShallow, useSidebarSearchParam, view, widget };
|
package/dist/index.mjs
CHANGED
|
@@ -6,9 +6,9 @@ import { Badge, ComponentRenderer, IconifyIcon, createIconRenderer, isComponentR
|
|
|
6
6
|
import { configureField, field } from "./client/builder/field/field.mjs";
|
|
7
7
|
import { EMPTY_BLOCK_CONTENT, isBlockContent } from "./client/blocks/types.mjs";
|
|
8
8
|
import { getCountryCode, getFlagConfig, getFlagUrl } from "./client/utils/locale-to-flag.mjs";
|
|
9
|
+
import { FocusProvider, parsePreviewFieldPath, scrollFieldIntoView, useFocus, useFocusOptional, useIsBlockFocused, useIsFieldFocused } from "./client/contexts/focus-context.mjs";
|
|
9
10
|
import { useIsDesktop, useIsMobile, useMediaQuery } from "./client/hooks/use-media-query.mjs";
|
|
10
11
|
import { buildValidationSchema, buildZodFromIntrospection, createFormSchema } from "./client/builder/validation.mjs";
|
|
11
|
-
import { FocusProvider, parsePreviewFieldPath, scrollFieldIntoView, useFocus, useFocusOptional, useIsBlockFocused, useIsFieldFocused } from "./client/contexts/focus-context.mjs";
|
|
12
12
|
import { isAdminToPreviewMessage, isPreviewToAdminMessage } from "./client/preview/types.mjs";
|
|
13
13
|
import { useGlobal, useGlobalRevertVersion, useGlobalUpdate, useGlobalVersions } from "./client/hooks/use-global.mjs";
|
|
14
14
|
import { useSearchParamToggle } from "./client/hooks/use-search-param-toggle.mjs";
|
|
@@ -11,10 +11,14 @@
|
|
|
11
11
|
*
|
|
12
12
|
* @example
|
|
13
13
|
* ```ts
|
|
14
|
-
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
14
|
+
* import { adminConfig } from "#questpie/factories";
|
|
15
|
+
*
|
|
16
|
+
* export default adminConfig({
|
|
17
|
+
* locale: {
|
|
18
|
+
* locales: ["en", "sk"], // UI available in 2 languages
|
|
19
|
+
* defaultLocale: "en",
|
|
20
|
+
* },
|
|
21
|
+
* });
|
|
18
22
|
* ```
|
|
19
23
|
*/
|
|
20
24
|
interface AdminLocaleConfig {
|
|
@@ -22,7 +22,7 @@ interface AdminCollectionConfig {
|
|
|
22
22
|
order?: number;
|
|
23
23
|
/**
|
|
24
24
|
* Whether this collection should be included in audit logging.
|
|
25
|
-
* Requires
|
|
25
|
+
* Requires `auditModule` to be registered in `questpie/server/modules.ts`.
|
|
26
26
|
*
|
|
27
27
|
* - `true` or `undefined` (default): audited when audit module is active
|
|
28
28
|
* - `false`: never audited, even when audit module is active
|
|
@@ -368,7 +368,11 @@ var cs_default = {
|
|
|
368
368
|
"defaults.users.fields.name.placeholder": "Zadejte jméno uživatele",
|
|
369
369
|
"defaults.users.fields.email.label": "E-mail",
|
|
370
370
|
"defaults.users.fields.email.description": "E-mailová adresa (jen pro čtení)",
|
|
371
|
+
"defaults.users.fields.image.label": "URL obrázku",
|
|
372
|
+
"defaults.users.fields.avatar.label": "Profilová fotka",
|
|
371
373
|
"defaults.users.fields.role.label": "Role",
|
|
374
|
+
"defaults.users.fields.role.description": "Administrátoři mohou spravovat celou administraci; uživatelé mají omezený přístup.",
|
|
375
|
+
"defaults.users.fields.role.placeholder": "Vyberte roli",
|
|
372
376
|
"defaults.users.fields.role.options.admin": "Administrátor",
|
|
373
377
|
"defaults.users.fields.role.options.user": "Uživatel",
|
|
374
378
|
"defaults.users.fields.emailVerified.label": "E-mail ověřen",
|
|
@@ -377,6 +381,8 @@ var cs_default = {
|
|
|
377
381
|
"defaults.users.fields.banned.description": "Zabránit uživateli přístup do systému",
|
|
378
382
|
"defaults.users.fields.banReason.label": "Důvod blokace",
|
|
379
383
|
"defaults.users.fields.banReason.placeholder": "Zadejte důvod blokace...",
|
|
384
|
+
"defaults.users.fields.banExpires.label": "Konec blokace",
|
|
385
|
+
"defaults.users.fields.banExpires.description": "Kdy má blokace uživatele vypršet",
|
|
380
386
|
"defaults.users.sections.basicInfo": "Základní informace",
|
|
381
387
|
"defaults.users.sections.permissions": "Oprávnění",
|
|
382
388
|
"defaults.users.sections.accessControl": "Řízení přístupu",
|
|
@@ -408,11 +414,16 @@ var cs_default = {
|
|
|
408
414
|
"defaults.assets.fields.mimeType.description": "MIME typ souboru",
|
|
409
415
|
"defaults.assets.fields.size.label": "Velikost (bajty)",
|
|
410
416
|
"defaults.assets.fields.size.description": "Velikost souboru v bajtech",
|
|
417
|
+
"defaults.assets.fields.width.label": "Šířka",
|
|
418
|
+
"defaults.assets.fields.width.description": "Šířka obrázku v pixelech",
|
|
419
|
+
"defaults.assets.fields.height.label": "Výška",
|
|
420
|
+
"defaults.assets.fields.height.description": "Výška obrázku v pixelech",
|
|
411
421
|
"defaults.assets.fields.alt.label": "Alternativní text",
|
|
412
422
|
"defaults.assets.fields.alt.placeholder": "Popište obrázek pro přístupnost",
|
|
413
423
|
"defaults.assets.fields.alt.description": "Alternativní text pro čtečky obrazovky",
|
|
414
424
|
"defaults.assets.fields.caption.label": "Popisek",
|
|
415
425
|
"defaults.assets.fields.caption.placeholder": "Přidejte popisek...",
|
|
426
|
+
"defaults.assets.fields.caption.description": "Volitelný popisek zobrazený u média",
|
|
416
427
|
"defaults.assets.fields.visibility.label": "Viditelnost",
|
|
417
428
|
"defaults.assets.fields.visibility.options.public": "Veřejné",
|
|
418
429
|
"defaults.assets.fields.visibility.options.private": "Soukromé",
|
|
@@ -366,7 +366,11 @@ var de_default = {
|
|
|
366
366
|
"defaults.users.fields.name.placeholder": "Benutzernamen eingeben",
|
|
367
367
|
"defaults.users.fields.email.label": "E-Mail",
|
|
368
368
|
"defaults.users.fields.email.description": "E-Mail-Adresse (schreibgeschützt)",
|
|
369
|
+
"defaults.users.fields.image.label": "Bild-URL",
|
|
370
|
+
"defaults.users.fields.avatar.label": "Profilfoto",
|
|
369
371
|
"defaults.users.fields.role.label": "Rolle",
|
|
372
|
+
"defaults.users.fields.role.description": "Administratoren können den gesamten Admin-Bereich verwalten; Benutzer haben eingeschränkten Zugriff.",
|
|
373
|
+
"defaults.users.fields.role.placeholder": "Rolle auswählen",
|
|
370
374
|
"defaults.users.fields.role.options.admin": "Administrator",
|
|
371
375
|
"defaults.users.fields.role.options.user": "Benutzer",
|
|
372
376
|
"defaults.users.fields.emailVerified.label": "E-Mail verifiziert",
|
|
@@ -375,6 +379,8 @@ var de_default = {
|
|
|
375
379
|
"defaults.users.fields.banned.description": "Benutzer den Zugriff auf das System verweigern",
|
|
376
380
|
"defaults.users.fields.banReason.label": "Sperrgrund",
|
|
377
381
|
"defaults.users.fields.banReason.placeholder": "Grund für die Sperre eingeben...",
|
|
382
|
+
"defaults.users.fields.banExpires.label": "Sperre läuft ab",
|
|
383
|
+
"defaults.users.fields.banExpires.description": "Wann die Sperre des Benutzers ablaufen soll",
|
|
378
384
|
"defaults.users.sections.basicInfo": "Grundinformationen",
|
|
379
385
|
"defaults.users.sections.permissions": "Berechtigungen",
|
|
380
386
|
"defaults.users.sections.accessControl": "Zugriffskontrolle",
|
|
@@ -406,11 +412,16 @@ var de_default = {
|
|
|
406
412
|
"defaults.assets.fields.mimeType.description": "MIME-Typ der Datei",
|
|
407
413
|
"defaults.assets.fields.size.label": "Größe (Bytes)",
|
|
408
414
|
"defaults.assets.fields.size.description": "Dateigröße in Bytes",
|
|
415
|
+
"defaults.assets.fields.width.label": "Breite",
|
|
416
|
+
"defaults.assets.fields.width.description": "Bildbreite in Pixeln",
|
|
417
|
+
"defaults.assets.fields.height.label": "Höhe",
|
|
418
|
+
"defaults.assets.fields.height.description": "Bildhöhe in Pixeln",
|
|
409
419
|
"defaults.assets.fields.alt.label": "Alternativtext",
|
|
410
420
|
"defaults.assets.fields.alt.placeholder": "Bild für Barrierefreiheit beschreiben",
|
|
411
421
|
"defaults.assets.fields.alt.description": "Alternativtext für Screenreader",
|
|
412
422
|
"defaults.assets.fields.caption.label": "Untertitel",
|
|
413
423
|
"defaults.assets.fields.caption.placeholder": "Untertitel hinzufügen...",
|
|
424
|
+
"defaults.assets.fields.caption.description": "Optionale Beschriftung, die mit dem Medium angezeigt wird",
|
|
414
425
|
"defaults.assets.fields.visibility.label": "Sichtbarkeit",
|
|
415
426
|
"defaults.assets.fields.visibility.options.public": "Öffentlich",
|
|
416
427
|
"defaults.assets.fields.visibility.options.private": "Privat",
|
|
@@ -552,7 +552,11 @@ var en_default = {
|
|
|
552
552
|
"defaults.users.fields.name.placeholder": "Enter user name",
|
|
553
553
|
"defaults.users.fields.email.label": "Email",
|
|
554
554
|
"defaults.users.fields.email.description": "Email address (read-only)",
|
|
555
|
+
"defaults.users.fields.image.label": "Image URL",
|
|
556
|
+
"defaults.users.fields.avatar.label": "Profile photo",
|
|
555
557
|
"defaults.users.fields.role.label": "Role",
|
|
558
|
+
"defaults.users.fields.role.description": "Admins can manage the whole admin area; users have limited access.",
|
|
559
|
+
"defaults.users.fields.role.placeholder": "Select a role",
|
|
556
560
|
"defaults.users.fields.role.options.admin": "Admin",
|
|
557
561
|
"defaults.users.fields.role.options.user": "User",
|
|
558
562
|
"defaults.users.fields.emailVerified.label": "Email Verified",
|
|
@@ -561,6 +565,8 @@ var en_default = {
|
|
|
561
565
|
"defaults.users.fields.banned.description": "Prevent user from accessing the system",
|
|
562
566
|
"defaults.users.fields.banReason.label": "Ban Reason",
|
|
563
567
|
"defaults.users.fields.banReason.placeholder": "Enter reason for banning...",
|
|
568
|
+
"defaults.users.fields.banExpires.label": "Ban Expires",
|
|
569
|
+
"defaults.users.fields.banExpires.description": "When the user's ban should expire",
|
|
564
570
|
"defaults.users.sections.basicInfo": "Basic Information",
|
|
565
571
|
"defaults.users.sections.permissions": "Permissions",
|
|
566
572
|
"defaults.users.sections.accessControl": "Access Control",
|
|
@@ -594,11 +600,16 @@ var en_default = {
|
|
|
594
600
|
"defaults.assets.fields.mimeType.description": "MIME type of the file",
|
|
595
601
|
"defaults.assets.fields.size.label": "Size (bytes)",
|
|
596
602
|
"defaults.assets.fields.size.description": "File size in bytes",
|
|
603
|
+
"defaults.assets.fields.width.label": "Width",
|
|
604
|
+
"defaults.assets.fields.width.description": "Image width in pixels",
|
|
605
|
+
"defaults.assets.fields.height.label": "Height",
|
|
606
|
+
"defaults.assets.fields.height.description": "Image height in pixels",
|
|
597
607
|
"defaults.assets.fields.alt.label": "Alt Text",
|
|
598
608
|
"defaults.assets.fields.alt.placeholder": "Describe the image for accessibility",
|
|
599
609
|
"defaults.assets.fields.alt.description": "Alternative text for screen readers",
|
|
600
610
|
"defaults.assets.fields.caption.label": "Caption",
|
|
601
611
|
"defaults.assets.fields.caption.placeholder": "Add a caption...",
|
|
612
|
+
"defaults.assets.fields.caption.description": "Optional caption shown with the asset",
|
|
602
613
|
"defaults.assets.fields.visibility.label": "Visibility",
|
|
603
614
|
"defaults.assets.fields.visibility.options.public": "Public",
|
|
604
615
|
"defaults.assets.fields.visibility.options.private": "Private",
|
|
@@ -366,7 +366,11 @@ var es_default = {
|
|
|
366
366
|
"defaults.users.fields.name.placeholder": "Ingrese nombre de usuario",
|
|
367
367
|
"defaults.users.fields.email.label": "Correo electrónico",
|
|
368
368
|
"defaults.users.fields.email.description": "Dirección de correo (solo lectura)",
|
|
369
|
+
"defaults.users.fields.image.label": "URL de imagen",
|
|
370
|
+
"defaults.users.fields.avatar.label": "Foto de perfil",
|
|
369
371
|
"defaults.users.fields.role.label": "Rol",
|
|
372
|
+
"defaults.users.fields.role.description": "Los administradores pueden gestionar toda el área de administración; los usuarios tienen acceso limitado.",
|
|
373
|
+
"defaults.users.fields.role.placeholder": "Seleccionar un rol",
|
|
370
374
|
"defaults.users.fields.role.options.admin": "Administrador",
|
|
371
375
|
"defaults.users.fields.role.options.user": "Usuario",
|
|
372
376
|
"defaults.users.fields.emailVerified.label": "Correo verificado",
|
|
@@ -375,6 +379,8 @@ var es_default = {
|
|
|
375
379
|
"defaults.users.fields.banned.description": "Evitar que el usuario acceda al sistema",
|
|
376
380
|
"defaults.users.fields.banReason.label": "Motivo de bloqueo",
|
|
377
381
|
"defaults.users.fields.banReason.placeholder": "Ingrese motivo del bloqueo...",
|
|
382
|
+
"defaults.users.fields.banExpires.label": "Fin del bloqueo",
|
|
383
|
+
"defaults.users.fields.banExpires.description": "Cuándo debe expirar el bloqueo del usuario",
|
|
378
384
|
"defaults.users.sections.basicInfo": "Información básica",
|
|
379
385
|
"defaults.users.sections.permissions": "Permisos",
|
|
380
386
|
"defaults.users.sections.accessControl": "Control de acceso",
|
|
@@ -406,11 +412,16 @@ var es_default = {
|
|
|
406
412
|
"defaults.assets.fields.mimeType.description": "Tipo MIME del archivo",
|
|
407
413
|
"defaults.assets.fields.size.label": "Tamaño (bytes)",
|
|
408
414
|
"defaults.assets.fields.size.description": "Tamaño del archivo en bytes",
|
|
415
|
+
"defaults.assets.fields.width.label": "Ancho",
|
|
416
|
+
"defaults.assets.fields.width.description": "Ancho de la imagen en píxeles",
|
|
417
|
+
"defaults.assets.fields.height.label": "Alto",
|
|
418
|
+
"defaults.assets.fields.height.description": "Alto de la imagen en píxeles",
|
|
409
419
|
"defaults.assets.fields.alt.label": "Texto alternativo",
|
|
410
420
|
"defaults.assets.fields.alt.placeholder": "Describa la imagen para accesibilidad",
|
|
411
421
|
"defaults.assets.fields.alt.description": "Texto alternativo para lectores de pantalla",
|
|
412
422
|
"defaults.assets.fields.caption.label": "Leyenda",
|
|
413
423
|
"defaults.assets.fields.caption.placeholder": "Añadir una leyenda...",
|
|
424
|
+
"defaults.assets.fields.caption.description": "Leyenda opcional mostrada con el medio",
|
|
414
425
|
"defaults.assets.fields.visibility.label": "Visibilidad",
|
|
415
426
|
"defaults.assets.fields.visibility.options.public": "Público",
|
|
416
427
|
"defaults.assets.fields.visibility.options.private": "Privado",
|