@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.
@@ -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
  */
@@ -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, UserInfo, AuthResponse, RefreshResponse } from "./types";
11
+ export type { RebaseAuthController, RebaseAuthControllerProps, User, AuthTokens, DeviceSession, AuthResponse, RefreshResponse } from "./types";
12
12
  export { useRebaseAuthController } from "./useRebaseAuthController";
13
- export { fetchAuthConfig, clearAuthConfigCache, createAuthConfigCache, AuthApiError } from "./api";
13
+ export { fetchAuthConfig, clearAuthConfigCache, createAuthConfigCache } from "./api";
14
14
  export type { AuthConfigResponse, AuthConfigCache } from "./api";
@@ -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
- /** @deprecated Use `User` from `@rebasepro/types` instead. */
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, AuthApiError, 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, 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 };
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