@rebasepro/app 0.12.1-canary.g4e7bcbf → 0.12.1-canary.g52d71ee
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/auth/api.d.ts +0 -7
- package/dist/auth/index.d.ts +2 -2
- package/dist/auth/types.d.ts +1 -5
- package/dist/collections/title-property.d.ts +22 -0
- package/dist/hooks/useSnackbarController.d.ts +2 -1
- package/dist/index.es.js +73 -11
- package/dist/index.es.js.map +1 -1
- package/package.json +7 -7
- package/src/auth/api.ts +0 -7
- package/src/auth/index.ts +2 -2
- package/src/auth/types.ts +5 -6
- package/src/collections/title-property.ts +41 -0
- package/src/hooks/useSnackbarController.tsx +34 -6
- package/src/locales/de.ts +3 -0
- package/src/locales/en.ts +3 -0
- package/src/locales/es.ts +3 -0
- package/src/locales/fr.ts +3 -0
- package/src/locales/hi.ts +3 -0
- package/src/locales/it.ts +3 -0
- package/src/locales/pt.ts +3 -0
package/dist/auth/api.d.ts
CHANGED
|
@@ -8,13 +8,6 @@
|
|
|
8
8
|
* here is the unauthenticated `/api/auth/config` probe used to detect
|
|
9
9
|
* bootstrap mode and enabled providers before a session exists.
|
|
10
10
|
*/
|
|
11
|
-
import { RebaseApiError } from "@rebasepro/types";
|
|
12
|
-
/**
|
|
13
|
-
* @deprecated Use {@link RebaseApiError} (from `@rebasepro/types`, re-exported by
|
|
14
|
-
* `@rebasepro/client`). Kept as an alias so `instanceof` / imports keep working;
|
|
15
|
-
* errors thrown here now carry `.code` and `.status` on the unified type.
|
|
16
|
-
*/
|
|
17
|
-
export declare const AuthApiError: typeof RebaseApiError;
|
|
18
11
|
/**
|
|
19
12
|
* Auth config response from the backend
|
|
20
13
|
*/
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* controller are in `../components`. Both are re-exported from the package
|
|
9
9
|
* root, which is where applications should import them from.
|
|
10
10
|
*/
|
|
11
|
-
export type { RebaseAuthController, RebaseAuthControllerProps, AuthTokens, DeviceSession,
|
|
11
|
+
export type { RebaseAuthController, RebaseAuthControllerProps, User, AuthTokens, DeviceSession, AuthResponse, RefreshResponse } from "./types";
|
|
12
12
|
export { useRebaseAuthController } from "./useRebaseAuthController";
|
|
13
|
-
export { fetchAuthConfig, clearAuthConfigCache, createAuthConfigCache
|
|
13
|
+
export { fetchAuthConfig, clearAuthConfigCache, createAuthConfigCache } from "./api";
|
|
14
14
|
export type { AuthConfigResponse, AuthConfigCache } from "./api";
|
package/dist/auth/types.d.ts
CHANGED
|
@@ -1,11 +1,7 @@
|
|
|
1
1
|
import { User, AuthTokens, DeviceSession, RebaseSession, AuthChangeEvent } from "@rebasepro/types";
|
|
2
2
|
import { AuthController } from "@rebasepro/admin-types";
|
|
3
3
|
import type { AuthConfigResponse } from "./api";
|
|
4
|
-
|
|
5
|
-
export type UserInfo = User;
|
|
6
|
-
/** @deprecated Use `DeviceSession` from `@rebasepro/types` instead. */
|
|
7
|
-
export type Session = DeviceSession;
|
|
8
|
-
export type { AuthTokens, DeviceSession };
|
|
4
|
+
export type { User, AuthTokens, DeviceSession };
|
|
9
5
|
/**
|
|
10
6
|
* Auth controller that extends the base AuthController
|
|
11
7
|
* with additional methods for email/password and Google login
|
|
@@ -14,6 +14,28 @@ import type { AdminCollection } from "@rebasepro/admin-types";
|
|
|
14
14
|
* @group Collections
|
|
15
15
|
*/
|
|
16
16
|
export declare function getTitlePropertyCandidates<M extends Record<string, unknown>>(collection: AdminCollection<M>): string[];
|
|
17
|
+
/**
|
|
18
|
+
* The relation a collection *leads* with, if it leads with one.
|
|
19
|
+
*
|
|
20
|
+
* A junction-shaped collection — a pipeline entry, a membership, a booking —
|
|
21
|
+
* holds no label of its own: it is "this candidate, for that vacancy". The
|
|
22
|
+
* general ranking puts relations last (they only read once the target
|
|
23
|
+
* resolves), so the title slot would otherwise fall to whatever free text
|
|
24
|
+
* happens to follow: a note, a comment. Preview surfaces that render one row
|
|
25
|
+
* per entity (list, cards, board) prefer the leading relation instead.
|
|
26
|
+
*
|
|
27
|
+
* The decision is structural — the first property that could be a title, in the
|
|
28
|
+
* order the developer declared (or ordered) them. Declaration order is a
|
|
29
|
+
* statement about what the collection is about; property *names* are not
|
|
30
|
+
* consulted here.
|
|
31
|
+
*
|
|
32
|
+
* Returns `undefined` when that first property is anything but a
|
|
33
|
+
* single-cardinality relation, or when the collection states its own
|
|
34
|
+
* `titleProperty`.
|
|
35
|
+
*
|
|
36
|
+
* @group Collections
|
|
37
|
+
*/
|
|
38
|
+
export declare function getLeadingRelationTitleKey<M extends Record<string, unknown>>(collection: AdminCollection<M>): string | undefined;
|
|
17
39
|
/**
|
|
18
40
|
* The property that should fill the title slot for a collection, ignoring any
|
|
19
41
|
* concrete values. Prefer {@link getTitlePropertyKeyForValues} when an entity
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { SnackbarMessageType } from "@rebasepro/admin-types";
|
|
1
|
+
import type { SnackbarAction, SnackbarMessageType } from "@rebasepro/admin-types";
|
|
2
2
|
import React from "react";
|
|
3
3
|
/**
|
|
4
4
|
* Hook to retrieve the SnackbarContext.
|
|
@@ -15,6 +15,7 @@ export declare const useSnackbarController: () => {
|
|
|
15
15
|
title?: string;
|
|
16
16
|
message: React.ReactNode;
|
|
17
17
|
autoHideDuration?: number;
|
|
18
|
+
action?: SnackbarAction;
|
|
18
19
|
}) => void;
|
|
19
20
|
close: () => void;
|
|
20
21
|
};
|
package/dist/index.es.js
CHANGED
|
@@ -628,24 +628,37 @@ var useStorageSource = () => {
|
|
|
628
628
|
var useSnackbarController = () => {
|
|
629
629
|
const { enqueueSnackbar, closeSnackbar } = useSnackbar();
|
|
630
630
|
const open = useCallback((props) => {
|
|
631
|
-
const { type, message, autoHideDuration } = props;
|
|
631
|
+
const { type, message, autoHideDuration, action } = props;
|
|
632
632
|
enqueueSnackbar({
|
|
633
633
|
message: props.title ? /* @__PURE__ */ jsxs("div", {
|
|
634
634
|
className: "flex flex-col",
|
|
635
635
|
children: [/* @__PURE__ */ jsx("strong", { children: props.title }), message]
|
|
636
636
|
}) : message,
|
|
637
637
|
variant: type,
|
|
638
|
-
autoHideDuration
|
|
638
|
+
autoHideDuration,
|
|
639
|
+
...action ? { key: nextActionKey() } : {},
|
|
640
|
+
action: action ? (key) => /* @__PURE__ */ jsx(Button, {
|
|
641
|
+
variant: "text",
|
|
642
|
+
size: "small",
|
|
643
|
+
className: "text-inherit",
|
|
644
|
+
onClick: () => {
|
|
645
|
+
action.onClick();
|
|
646
|
+
closeSnackbar(key);
|
|
647
|
+
},
|
|
648
|
+
children: action.label
|
|
649
|
+
}) : void 0
|
|
639
650
|
});
|
|
640
|
-
}, []);
|
|
651
|
+
}, [enqueueSnackbar, closeSnackbar]);
|
|
641
652
|
const close = useCallback(() => {
|
|
642
653
|
closeSnackbar();
|
|
643
|
-
}, []);
|
|
654
|
+
}, [closeSnackbar]);
|
|
644
655
|
return useMemo(() => ({
|
|
645
656
|
open,
|
|
646
657
|
close
|
|
647
658
|
}), [open, close]);
|
|
648
659
|
};
|
|
660
|
+
var actionKeySeq = 0;
|
|
661
|
+
var nextActionKey = () => `rebase-snackbar-action-${actionKeySeq++}`;
|
|
649
662
|
//#endregion
|
|
650
663
|
//#region src/hooks/useUserConfigurationPersistence.tsx
|
|
651
664
|
/**
|
|
@@ -9772,6 +9785,8 @@ var en = {
|
|
|
9772
9785
|
clear_filter: "Clear filter",
|
|
9773
9786
|
clear_filter_sort: "Clear filter/sort",
|
|
9774
9787
|
clear_sort: "Clear sort",
|
|
9788
|
+
sort: "Sort",
|
|
9789
|
+
sort_by: "Sort by",
|
|
9775
9790
|
clear_all: "Clear all",
|
|
9776
9791
|
no_items: "No items",
|
|
9777
9792
|
no_entries_found: "No entries found",
|
|
@@ -9805,6 +9820,7 @@ var en = {
|
|
|
9805
9820
|
log_out: "Log out",
|
|
9806
9821
|
column_cannot_be_edited: "This column can't be edited directly",
|
|
9807
9822
|
close: "Close",
|
|
9823
|
+
hide_list: "Hide list",
|
|
9808
9824
|
unsaved_local_changes: "Unsaved Local changes",
|
|
9809
9825
|
unsaved_local_changes_description: "This document was edited locally and has unsaved changes. These local changes will be lost if you don't apply them.",
|
|
9810
9826
|
preview_changes: "Preview Changes",
|
|
@@ -10668,6 +10684,8 @@ var es = {
|
|
|
10668
10684
|
clear_filter: "Borrar filtro",
|
|
10669
10685
|
clear_filter_sort: "Borrar filtro/orden",
|
|
10670
10686
|
clear_sort: "Borrar orden",
|
|
10687
|
+
sort: "Ordenar",
|
|
10688
|
+
sort_by: "Ordenar por",
|
|
10671
10689
|
clear_all: "Borrar todo",
|
|
10672
10690
|
no_items: "Sin elementos",
|
|
10673
10691
|
no_entries_found: "No se encontraron entradas",
|
|
@@ -10701,6 +10719,7 @@ var es = {
|
|
|
10701
10719
|
log_out: "Cerrar sesión",
|
|
10702
10720
|
column_cannot_be_edited: "Esta columna no se puede editar directamente",
|
|
10703
10721
|
close: "Cerrar",
|
|
10722
|
+
hide_list: "Ocultar lista",
|
|
10704
10723
|
unsaved_local_changes: "Cambios locales sin guardar",
|
|
10705
10724
|
unsaved_local_changes_description: "Este documento ha sido editado localmente y tiene cambios sin guardar. Estos cambios locales se perderán si no los aplicas.",
|
|
10706
10725
|
preview_changes: "Previsualizar cambios",
|
|
@@ -11521,6 +11540,8 @@ var de = {
|
|
|
11521
11540
|
clear_filter: "Filter löschen",
|
|
11522
11541
|
clear_filter_sort: "Filter/Sortierung löschen",
|
|
11523
11542
|
clear_sort: "Sortierung löschen",
|
|
11543
|
+
sort: "Sortieren",
|
|
11544
|
+
sort_by: "Sortieren nach",
|
|
11524
11545
|
clear_all: "Alle löschen",
|
|
11525
11546
|
no_items: "Keine Elemente",
|
|
11526
11547
|
no_entries_found: "Keine Einträge gefunden",
|
|
@@ -11554,6 +11575,7 @@ var de = {
|
|
|
11554
11575
|
log_out: "Abmelden",
|
|
11555
11576
|
column_cannot_be_edited: "Diese Spalte kann nicht direkt bearbeitet werden",
|
|
11556
11577
|
close: "Schließen",
|
|
11578
|
+
hide_list: "Liste ausblenden",
|
|
11557
11579
|
unsaved_local_changes: "Ungespeicherte lokale Änderungen",
|
|
11558
11580
|
unsaved_local_changes_description: "Dieses Dokument wurde lokal bearbeitet und weist ungespeicherte Änderungen auf. Diese lokalen Änderungen gehen verloren, wenn Sie sie nicht anwenden.",
|
|
11559
11581
|
preview_changes: "Änderungen in der Vorschau anzeigen",
|
|
@@ -12364,6 +12386,8 @@ var fr = {
|
|
|
12364
12386
|
clear_filter: "Effacer le filtre",
|
|
12365
12387
|
clear_filter_sort: "Effacer le filtre/tri",
|
|
12366
12388
|
clear_sort: "Effacer le tri",
|
|
12389
|
+
sort: "Trier",
|
|
12390
|
+
sort_by: "Trier par",
|
|
12367
12391
|
clear_all: "Tout effacer",
|
|
12368
12392
|
no_items: "Aucun élément",
|
|
12369
12393
|
no_entries_found: "Aucune entrée trouvée",
|
|
@@ -12397,6 +12421,7 @@ var fr = {
|
|
|
12397
12421
|
log_out: "Se déconnecter",
|
|
12398
12422
|
column_cannot_be_edited: "Cette colonne ne peut pas être modifiée directement",
|
|
12399
12423
|
close: "Fermer",
|
|
12424
|
+
hide_list: "Masquer la liste",
|
|
12400
12425
|
unsaved_local_changes: "Modifications locales non enregistrées",
|
|
12401
12426
|
unsaved_local_changes_description: "Ce document a été modifié localement et contient des modifications non enregistrées. Ces modifications locales seront perdues si vous ne les appliquez pas.",
|
|
12402
12427
|
preview_changes: "Aperçu des modifications",
|
|
@@ -13207,6 +13232,8 @@ var it = {
|
|
|
13207
13232
|
clear_filter: "Cancella filtro",
|
|
13208
13233
|
clear_filter_sort: "Cancella filtro/ordinamento",
|
|
13209
13234
|
clear_sort: "Cancella ordinamento",
|
|
13235
|
+
sort: "Ordina",
|
|
13236
|
+
sort_by: "Ordina per",
|
|
13210
13237
|
clear_all: "Cancella tutto",
|
|
13211
13238
|
no_items: "Nessun elemento",
|
|
13212
13239
|
no_entries_found: "Nessuna voce trovata",
|
|
@@ -13240,6 +13267,7 @@ var it = {
|
|
|
13240
13267
|
log_out: "Esci",
|
|
13241
13268
|
column_cannot_be_edited: "Questa colonna non può essere modificata direttamente",
|
|
13242
13269
|
close: "Chiudi",
|
|
13270
|
+
hide_list: "Nascondi elenco",
|
|
13243
13271
|
unsaved_local_changes: "Modifiche locali non salvate",
|
|
13244
13272
|
unsaved_local_changes_description: "Questo documento è stato modificato localmente e ha modifiche non salvate. Queste modifiche locali andranno perse se non le applichi.",
|
|
13245
13273
|
preview_changes: "Anteprima modifiche",
|
|
@@ -14050,6 +14078,8 @@ var hi = {
|
|
|
14050
14078
|
clear_filter: "फ़िल्टर साफ़ करें",
|
|
14051
14079
|
clear_filter_sort: "फ़िल्टर/सॉर्ट साफ़ करें",
|
|
14052
14080
|
clear_sort: "सॉर्ट साफ़ करें",
|
|
14081
|
+
sort: "क्रमबद्ध करें",
|
|
14082
|
+
sort_by: "इसके अनुसार क्रमबद्ध करें",
|
|
14053
14083
|
clear_all: "सभी साफ़ करें",
|
|
14054
14084
|
no_items: "कोई आइटम नहीं",
|
|
14055
14085
|
no_entries_found: "कोई प्रविष्टि नहीं मिली",
|
|
@@ -14083,6 +14113,7 @@ var hi = {
|
|
|
14083
14113
|
log_out: "लॉग आउट",
|
|
14084
14114
|
column_cannot_be_edited: "इस कॉलम को सीधे संपादित नहीं किया जा सकता",
|
|
14085
14115
|
close: "बंद करें",
|
|
14116
|
+
hide_list: "सूची छिपाएँ",
|
|
14086
14117
|
unsaved_local_changes: "सहेजे नहीं गए स्थानीय परिवर्तन",
|
|
14087
14118
|
unsaved_local_changes_description: "इस दस्तावेज़ को स्थानीय स्तर पर संपादित किया गया था और इसमें सहेजे नहीं गए परिवर्तन हैं। यदि आप इन्हें लागू नहीं करते हैं तो ये स्थानीय परिवर्तन खो जाएंगे।",
|
|
14088
14119
|
preview_changes: "परिवर्तनों का पूर्वावलोकन करें",
|
|
@@ -14898,6 +14929,8 @@ var pt = {
|
|
|
14898
14929
|
clear_filter: "Limpar filtro",
|
|
14899
14930
|
clear_filter_sort: "Limpar filtro/ordenação",
|
|
14900
14931
|
clear_sort: "Limpar ordenação",
|
|
14932
|
+
sort: "Ordenar",
|
|
14933
|
+
sort_by: "Ordenar por",
|
|
14901
14934
|
clear_all: "Limpar tudo",
|
|
14902
14935
|
no_items: "Sem itens",
|
|
14903
14936
|
no_entries_found: "Nenhum registo encontrado",
|
|
@@ -14931,6 +14964,7 @@ var pt = {
|
|
|
14931
14964
|
log_out: "Terminar sessão",
|
|
14932
14965
|
column_cannot_be_edited: "Esta coluna não pode ser editada diretamente",
|
|
14933
14966
|
close: "Fechar",
|
|
14967
|
+
hide_list: "Ocultar lista",
|
|
14934
14968
|
unsaved_local_changes: "Alterações locais não guardadas",
|
|
14935
14969
|
unsaved_local_changes_description: "Este documento foi editado localmente e tem alterações não guardadas. Estas alterações locais serão perdidas se não as aplicar.",
|
|
14936
14970
|
preview_changes: "Pré-visualizar alterações",
|
|
@@ -16377,12 +16411,6 @@ function useRebaseAuthController(props = {}) {
|
|
|
16377
16411
|
* here is the unauthenticated `/api/auth/config` probe used to detect
|
|
16378
16412
|
* bootstrap mode and enabled providers before a session exists.
|
|
16379
16413
|
*/
|
|
16380
|
-
/**
|
|
16381
|
-
* @deprecated Use {@link RebaseApiError} (from `@rebasepro/types`, re-exported by
|
|
16382
|
-
* `@rebasepro/client`). Kept as an alias so `instanceof` / imports keep working;
|
|
16383
|
-
* errors thrown here now carry `.code` and `.status` on the unified type.
|
|
16384
|
-
*/
|
|
16385
|
-
var AuthApiError = RebaseApiError;
|
|
16386
16414
|
async function handleResponse(response) {
|
|
16387
16415
|
let data;
|
|
16388
16416
|
try {
|
|
@@ -18163,6 +18191,40 @@ function getTitlePropertyCandidates(collection) {
|
|
|
18163
18191
|
return scored.map((candidate) => candidate.key);
|
|
18164
18192
|
}
|
|
18165
18193
|
/**
|
|
18194
|
+
* The relation a collection *leads* with, if it leads with one.
|
|
18195
|
+
*
|
|
18196
|
+
* A junction-shaped collection — a pipeline entry, a membership, a booking —
|
|
18197
|
+
* holds no label of its own: it is "this candidate, for that vacancy". The
|
|
18198
|
+
* general ranking puts relations last (they only read once the target
|
|
18199
|
+
* resolves), so the title slot would otherwise fall to whatever free text
|
|
18200
|
+
* happens to follow: a note, a comment. Preview surfaces that render one row
|
|
18201
|
+
* per entity (list, cards, board) prefer the leading relation instead.
|
|
18202
|
+
*
|
|
18203
|
+
* The decision is structural — the first property that could be a title, in the
|
|
18204
|
+
* order the developer declared (or ordered) them. Declaration order is a
|
|
18205
|
+
* statement about what the collection is about; property *names* are not
|
|
18206
|
+
* consulted here.
|
|
18207
|
+
*
|
|
18208
|
+
* Returns `undefined` when that first property is anything but a
|
|
18209
|
+
* single-cardinality relation, or when the collection states its own
|
|
18210
|
+
* `titleProperty`.
|
|
18211
|
+
*
|
|
18212
|
+
* @group Collections
|
|
18213
|
+
*/
|
|
18214
|
+
function getLeadingRelationTitleKey(collection) {
|
|
18215
|
+
if (!collection.properties) return void 0;
|
|
18216
|
+
if (collection.titleProperty) return void 0;
|
|
18217
|
+
const idKeys = new Set(getPrimaryKeys(collection));
|
|
18218
|
+
const foreignKeys = getForeignKeyColumns(collection);
|
|
18219
|
+
const order = collection.propertiesOrder ?? Object.keys(collection.properties);
|
|
18220
|
+
for (const key of order) {
|
|
18221
|
+
const property = collection.properties[key];
|
|
18222
|
+
if (!property || isPropertyBuilder(property)) continue;
|
|
18223
|
+
if (scoreTitleCandidate(property, key, idKeys, foreignKeys) === SCORE.DISQUALIFIED) continue;
|
|
18224
|
+
return property.type === "relation" ? key : void 0;
|
|
18225
|
+
}
|
|
18226
|
+
}
|
|
18227
|
+
/**
|
|
18166
18228
|
* The property that should fill the title slot for a collection, ignoring any
|
|
18167
18229
|
* concrete values. Prefer {@link getTitlePropertyKeyForValues} when an entity
|
|
18168
18230
|
* is at hand — it can skip candidates that happen to be empty or to hold an id.
|
|
@@ -18212,6 +18274,6 @@ function getTitlePropertyKeyForValues(collection, values, entityId) {
|
|
|
18212
18274
|
return candidates[0];
|
|
18213
18275
|
}
|
|
18214
18276
|
//#endregion
|
|
18215
|
-
export { AIIcon, AIModifiedIndicator, AdminModeControllerContext, AdminModeControllerProvider, AnalyticsContext, ApiConfigProvider,
|
|
18277
|
+
export { AIIcon, AIModifiedIndicator, AdminModeControllerContext, AdminModeControllerProvider, AnalyticsContext, ApiConfigProvider, AuthControllerContext, CONTAINER_FULL_WIDTH, CollectionComponentOverrideProvider, CollectionResolverRegistrationContext, CollectionScopeContext, CollectionScopeProvider, ComponentOverrideContext, ConfirmationDialog, CrmDashboardDemo, CustomizationControllerContext, DEFAULT_API_PATH, DEFAULT_PAGE_SIZE, DataDriverContext, DataSourcesContext, DialogsControllerContext, DialogsProvider, EffectiveRoleControllerContext, EffectiveRoleControllerProvider, ErrorTooltip, ErrorView, FORM_CONTAINER_WIDTH, GlobalComponentOverrideProvider, IconForView, LanguageToggle, LoginView, ModeControllerContext, ModeControllerProvider, NavigationBlockerProvider, NotFoundPage, PluginProviderStack, REBASE_LOCALE_STORAGE_KEY, Rebase, RebaseAuth, RebaseClientInstanceContext, RebaseDataContext, RebaseI18nProvider, RebaseLogo, RebaseRegistryProvider, RebaseRouter, RebaseRoutes, SIDE_PANEL_DEFAULT_WIDTH, STUDIO_NAVIGATION_GROUPS, SchemaDriftBanner, SchemaDriftProvider, SnackbarProvider, StorageSourceContext, StorageSourcesContext, StudioBridgeContext, StudioBridgeProvider, StudioBridgeRegistryContext, StudioBridgeRegistryProvider, UIReferenceView, UIStyleGuide, UnsavedChangesDialog, UserConfigurationPersistenceContext, UserDisplay, UserSelectPopover, UserSettingsView, addInitialSlash, apiBaseOf, applyPropertyConditions, buildCollapsedDefaults, buildEnumLabel, clearAuthConfigCache, clearFetchCache, createAuthConfigCache, createFormexStub, deleteEntityWithCallbacks, deriveSpan, en, es, fetchAuthConfig, fillRows, flattenKeys, getAdminEntityChildViews, getAdminSubcollections, getCollectionBySlugWithin, getCollectionPathsCombinations, getColorScheme, getColumnKeysForProperty, getEntityFromCache, getEntityFromMemoryCache, getEntityImagePreviewPropertyKey, getEntityPreviewKeys, getEntityTitlePropertyKey, getFormFieldKeys, getIcon, getLastSegment, getLeadingRelationTitleKey, getLocalChangesBackup, getNavigationEntriesFromPath, getParentReferencesFromPath, getRelationIncludeParams, getRowHeight, getSubcollectionColumnId, getTitlePropertyCandidates, getTitlePropertyKey, getTitlePropertyKeyForValues, iconsSearch, isAuditTimestamp, isEnumValueDisabled, isFilterableRelation, isHidden, isIdPropertyEditable, isReadOnly, isSchemaDriftError, looksLikeIdentifierValue, populateFetchCache, removeEntityFromCache, removeEntityFromMemoryCache, removeInitialAndTrailingSlashes, removeInitialSlash, removeTrailingSlash, resolveCollectionPathIds, resolveComponentRef, resolveDefaultSelectedView, resolveFilterOperators, resolveFormLayout, saveEntityToCache, saveEntityToMemoryCache, saveEntityWithCallbacks, useAdminModeController, useAnalyticsController, useApiBase, useApiConfig, useAuthController, useAuthSubscription, useBackendStorageSource, useBridgeRegistration, useBrowserTitleAndIcon, useBuildAdminModeController, useBuildEffectiveRoleController, useBuildLocalConfigurationPersistence, useBuildModeController, useClipboard, useCollapsedGroups, useCollection, useCollectionScope, useColumnIds, useComponentOverride, useCustomizationController, useData, useDataSources, useDataTableController, useDebouncedData, useDialogsController, useEffectiveRoleController, useFetch, useLargeLayout, useModeController, useNavigationBlocker, usePermissions, useRebaseAuthController, useRebaseClient, useRebaseContext, useRebaseRegistry, useRebaseRegistryDispatch, useRelationSelector, useResolvedComponent, useRestoreScroll, useSchemaDriftContext, useScrollRestoration, useSlot, useSnackbarController, useStorageSource, useStorageSources, useStorageUploadController, useStudioBreadcrumbs, useStudioCapabilities, useStudioCollectionRegistry, useStudioNavigationState, useStudioSidePanelController, useStudioUrlController, useTranslation, useUnsavedChangesDialog, useUserConfigurationPersistence };
|
|
18216
18278
|
|
|
18217
18279
|
//# sourceMappingURL=index.es.js.map
|