@rebasepro/cms 0.19.1 → 0.19.2-canary.g09316f6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/{CollectionEditorDialog-BeX4b92r.js → CollectionEditorDialog-DQjLtp1W.js} +75 -70
  2. package/dist/CollectionEditorDialog-DQjLtp1W.js.map +1 -0
  3. package/dist/{PropertyEditView-C7thfj4L.js → PropertyEditView-BMCCD2OI.js} +6 -6
  4. package/dist/PropertyEditView-BMCCD2OI.js.map +1 -0
  5. package/dist/{RouterCollectionsStudioView-BtjzvB6E.js → RouterCollectionsStudioView-DwsbIAqr.js} +9 -9
  6. package/dist/RouterCollectionsStudioView-DwsbIAqr.js.map +1 -0
  7. package/dist/{SchemaChangeDialog-CkqK6KOC.js → SchemaChangeDialog-BeP0A4MJ.js} +3 -3
  8. package/dist/SchemaChangeDialog-BeP0A4MJ.js.map +1 -0
  9. package/dist/collection_editor/serializable_types.d.ts +20 -0
  10. package/dist/collection_editor_ui.js +5 -5
  11. package/dist/components/CollectionTableBinding/fields/CompactEntityCellField.d.ts +23 -0
  12. package/dist/components/CollectionTableBinding/fields/TableRelationSelectorField.d.ts +1 -1
  13. package/dist/components/RelationSelector.d.ts +5 -1
  14. package/dist/data_import/utils/file_headers.d.ts +28 -4
  15. package/dist/editor.js +11 -11
  16. package/dist/editor.js.map +1 -1
  17. package/dist/{export--arni_VY.js → export-DJoGYb89.js} +2 -2
  18. package/dist/{export--arni_VY.js.map → export-DJoGYb89.js.map} +1 -1
  19. package/dist/{history-C2TpoQwi.js → history-BBpsdTrJ.js} +4 -4
  20. package/dist/history-BBpsdTrJ.js.map +1 -0
  21. package/dist/{import-DTkXNoBg.js → import-C4VQ0rwO.js} +2 -2
  22. package/dist/{import-DTkXNoBg.js.map → import-C4VQ0rwO.js.map} +1 -1
  23. package/dist/index.js +30 -35
  24. package/dist/index.js.map +1 -1
  25. package/dist/{markdown-CklalUUk.js → markdown-CCqp8ibf.js} +3 -3
  26. package/dist/markdown-CCqp8ibf.js.map +1 -0
  27. package/dist/util/view_constants.d.ts +3 -3
  28. package/dist/{util-DE1WQW6h.js → util-4oPxPkbp.js} +339 -155
  29. package/dist/util-4oPxPkbp.js.map +1 -0
  30. package/dist/{util-CfLFggP7.js → util-DB31IoJE.js} +4 -4
  31. package/dist/{util-CfLFggP7.js.map → util-DB31IoJE.js.map} +1 -1
  32. package/package.json +12 -11
  33. package/dist/CollectionEditorDialog-BeX4b92r.js.map +0 -1
  34. package/dist/PropertyEditView-C7thfj4L.js.map +0 -1
  35. package/dist/RouterCollectionsStudioView-BtjzvB6E.js.map +0 -1
  36. package/dist/SchemaChangeDialog-CkqK6KOC.js.map +0 -1
  37. package/dist/history-C2TpoQwi.js.map +0 -1
  38. package/dist/markdown-CklalUUk.js.map +0 -1
  39. package/dist/util-DE1WQW6h.js.map +0 -1
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
- import { $n as getEntityTitlePropertyKeyForEntity, $t as getCollectionBySlugWithin, A as getFieldId, An as NumberPropertyPreview, At as convertDataToEntity, B as MapFieldBinding, Bn as RelationPreview, Bt as detectCsvDelimiter, C as EntityFormBinding, Cn as ReadOnlyFieldBinding, Cr as getIconForProperty, Ct as EntityCardBinding, D as getDefaultFieldConfig, Dn as ArrayOfMapsPreview, Dr as getResolvedPropertyInPath, Dt as useCollectionEditorDialogsState, E as DEFAULT_FIELD_CONFIGS, En as FieldHelperText, Er as getPropertyInPath, Et as ConfigControllerProvider, F as SelectFieldBinding, Fn as ArrayOneOfPreview, Ft as ImportSaveInProgress, G as useSelectionDialog, Gn as SidePanelControllerContext, Gt as SearchIconsView, H as DateTimeFieldBinding, Hn as InlineEntityListPreview, Ht as parseCsvToObjects, I as RepeatFieldBinding, In as ArrayOfStringsPreview, It as IMPORT_BATCH_SIZE, J as useBuildUrlController, Jn as useCollectionRegistryController, Jt as BreadcrumbsProvider, K as SelectionTableBinding, Kn as useSidePanel, Kt as FieldCaption, L as ReferenceFieldBinding, Ln as ArrayPropertyEnumPreview, Lt as saveImportedEntities, M as TextFieldBinding, Mn as DatePreview, Mt as processValueMapping, N as SwitchFieldBinding, Nn as KeyValuePreview, Nt as getInferenceType, O as getDefaultFieldId, On as PropertyPreview, Or as isReferenceProperty, Ot as ImportNewPropertyFieldPreview, P as StorageUploadFieldBinding, Pn as MapPropertyPreview, Pt as useImportConfig, Q as useResolvedCollections, Qn as getEntityTitlePropertyKey, Qt as addInitialSlash, R as MultiSelectFieldBinding, Rn as ArrayEnumPreview, Rt as ImportFileUpload, S as isSchemaChangeCancelled, Sn as useClearRestoreValue, Sr as getDefaultPropertiesOrder, St as CollectionCardViewBinding, T as PropertyFieldBinding, Tn as LabelWithIcon, Tr as getPropertiesWithPropertiesOrder, Tt as useCollectionEditorController, U as BlockFieldBinding, Un as ReferencePreview, Ut as ArrayContainer, V as KeyValueFieldBinding, Vn as ArrayOfReferencesPreview, Vt as parseCsvRows, W as ArrayOfReferencesFieldBinding, Wn as EntityPreviewBinding, Wt as PropertyConfigBadge, X as useTopLevelNavigation, Xn as useResolvedUser, Xt as resolveEntityView, Y as useBuildNavigationStateController, Yn as getUserLabel, Yt as resolveEntityAction, Z as useResolvedViews, Zn as getEntityPreviewKeys, Zt as mergeEntityActions, _ as useCollectionsConfigController, _n as useNavigationStateController, _r as LABEL_ICON_SIZE, _t as editEntityAction, a as namespaceToPropertiesPath, an as resolveCollectionPathIds, ar as SkeletonPropertyComponent, at as getEntityViewWidth, b as asUnavailable, bn as SelectableTableContext, br as PropertyIdCopyTooltip, bt as DetailViewBinding, c as buildCollectionGenerationCallback, cn as useSelectionController, cr as renderSkeletonImageThumbnail, d as fromSerializableCollectionConfigs, dn as SelectableTable, dr as ImagePreview, dt as getInitialEntityValues, en as getCollectionPathsCombinations, er as ArrayPropertyPreview, et as useBuildCollectionRegistryController, f as fromSerializableProperties, fn as CollectionRowActions, fr as EmptyValue, ft as removeEmptyContainers, g as toSerializableProperty, gn as NavigationStateContext, gr as FieldBlock, gt as deleteEntityAction, h as toSerializableProperties, hn as useUrlController, hr as RecordMeta, ht as copyEntityAction, i as namespaceToPropertiesOrderPath, in as removeTrailingSlash, ir as StorageThumbnailInternal, it as buildSidePanelsFromUrl, j as VectorFieldBinding, jn as BooleanPreview, jt as flattenEntry, k as getFieldConfig, kn as UserPreview, kr as isRelationProperty, kt as DataNewPropertiesMapping, l as validateCollectionJson, ln as VirtualTableInput, lr as renderSkeletonText, lt as extractTouchedValues, m as toSerializableCollectionConfig, mn as UrlContext, mr as FormRail, mt as CollectionViewBinding, n as getFullIdPath, nn as removeInitialAndTrailingSlashes, nr as EnumValuesChip, nt as resolveNavigationFrom, o as CollectionGenerationApiError, on as resolveOpenEntityMode, or as renderSkeletonCaptionText, ot as useBuildSidePanel, p as fromSerializableProperty, pn as useAdminContext, pr as FormSections, pt as zodToFormErrors, q as SideDialogs, qn as CollectionRegistryContext, qt as useBreadcrumbsController, r as idToPropertiesPath, rn as removeInitialSlash, rr as StorageThumbnail, rt as useResolvedNavigationFrom, s as DEFAULT_COLLECTION_GENERATION_ENDPOINT, sn as resolveViewMode, sr as renderSkeletonIcon, st as EditViewBinding, t as getFullId, tn as getLastSegment, tr as StringPropertyPreview, tt as useHistory, u as fromSerializableCollectionConfig, un as CollectionTableBinding, ur as UrlComponentPreview, ut as getChanges, v as LiveSchemaError, vn as useSideDialogsController, vr as isSelfLabellingProperty, vt as resetPasswordAction, w as EntityForm, wn as LabelWithIconAndTooltip, wr as getIconForWidget, wt as CollectionViewActions, x as createLiveSchemaClient, xn as ArrayCustomShapedFieldBinding, xr as getBracketNotation, xt as EntityViewBinding, y as SchemaChangeCancelled, yn as SideDialogsControllerContext, yr as spanClass, yt as CreationResultDialog, z as MarkdownEditorFieldBinding, zn as ArrayOfStorageComponentsPreview, zt as convertFileToJson } from "./util-DE1WQW6h.js";
2
- import { r as sanitizeUrl } from "./util-CfLFggP7.js";
3
- import { i as PropertySelectEntry, n as ImportCollectionAction, r as ImportDataPreview } from "./import-DTkXNoBg.js";
4
- import { a as MAX_EXPORT_ROWS, c as downloadDataAsCsv, d as escapeCsvFormula, f as getEntityCSVExportableData, i as EXPORT_PAGE_SIZE, l as downloadEntitiesExport, n as ExportCollectionAction, o as fetchAllEntitiesForExport, p as getEntityJsonExportableData, r as BasicExportAction, s as downloadBlob, u as entryToCSVRow } from "./export--arni_VY.js";
1
+ import { $n as getEntityTitlePropertyKeyForEntity, $t as getCollectionBySlugWithin, A as getFieldId, An as NumberPropertyPreview, At as convertDataToEntity, B as MapFieldBinding, Bn as RelationPreview, Bt as detectCsvDelimiter, C as EntityFormBinding, Cn as ReadOnlyFieldBinding, Cr as getIconForProperty, Ct as EntityCardBinding, D as getDefaultFieldConfig, Dn as ArrayOfMapsPreview, Dr as getResolvedPropertyInPath, Dt as useCollectionEditorDialogsState, E as DEFAULT_FIELD_CONFIGS, En as FieldHelperText, Er as getPropertyInPath, Et as ConfigControllerProvider, F as SelectFieldBinding, Fn as ArrayOneOfPreview, Ft as ImportSaveInProgress, G as useSelectionDialog, Gn as SidePanelControllerContext, Gt as SearchIconsView, H as DateTimeFieldBinding, Hn as InlineEntityListPreview, Ht as parseCsvToObjects, I as RepeatFieldBinding, In as ArrayOfStringsPreview, It as IMPORT_BATCH_SIZE, J as useBuildUrlController, Jn as useCollectionRegistryController, Jt as BreadcrumbsProvider, K as SelectionTableBinding, Kn as useSidePanel, Kt as FieldCaption, L as ReferenceFieldBinding, Ln as ArrayPropertyEnumPreview, Lt as saveImportedEntities, M as TextFieldBinding, Mn as DatePreview, Mt as processValueMapping, N as SwitchFieldBinding, Nn as KeyValuePreview, Nt as getInferenceType, O as getDefaultFieldId, On as PropertyPreview, Or as isReferenceProperty, Ot as ImportNewPropertyFieldPreview, P as StorageUploadFieldBinding, Pn as MapPropertyPreview, Pt as useImportConfig, Q as useResolvedCollections, Qn as getEntityTitlePropertyKey, Qt as addInitialSlash, R as MultiSelectFieldBinding, Rn as ArrayEnumPreview, Rt as ImportFileUpload, S as isSchemaChangeCancelled, Sn as useClearRestoreValue, Sr as getDefaultPropertiesOrder, St as CollectionCardViewBinding, T as PropertyFieldBinding, Tn as LabelWithIcon, Tr as getPropertiesWithPropertiesOrder, Tt as useCollectionEditorController, U as BlockFieldBinding, Un as ReferencePreview, Ut as ArrayContainer, V as KeyValueFieldBinding, Vn as ArrayOfReferencesPreview, Vt as parseCsvRows, W as ArrayOfReferencesFieldBinding, Wn as EntityPreviewBinding, Wt as PropertyConfigBadge, X as useTopLevelNavigation, Xn as useResolvedUser, Xt as resolveEntityView, Y as useBuildNavigationStateController, Yn as getUserLabel, Yt as resolveEntityAction, Z as useResolvedViews, Zn as getEntityPreviewKeys, Zt as mergeEntityActions, _ as useCollectionsConfigController, _n as useNavigationStateController, _r as LABEL_ICON_SIZE, _t as editEntityAction, a as namespaceToPropertiesPath, an as resolveCollectionPathIds, ar as SkeletonPropertyComponent, at as getEntityViewWidth, b as asUnavailable, bn as SelectableTableContext, br as PropertyIdCopyTooltip, bt as DetailViewBinding, c as buildCollectionGenerationCallback, cn as useSelectionController, cr as renderSkeletonImageThumbnail, d as fromSerializableCollectionConfigs, dn as SelectableTable, dr as ImagePreview, dt as getInitialEntityValues, en as getCollectionPathsCombinations, er as ArrayPropertyPreview, et as useBuildCollectionRegistryController, f as fromSerializableProperties, fn as CollectionRowActions, fr as EmptyValue, ft as removeEmptyContainers, g as toSerializableProperty, gn as NavigationStateContext, gr as FieldBlock, gt as deleteEntityAction, h as toSerializableProperties, hn as useUrlController, hr as RecordMeta, ht as copyEntityAction, i as namespaceToPropertiesOrderPath, in as removeTrailingSlash, ir as StorageThumbnailInternal, it as buildSidePanelsFromUrl, j as VectorFieldBinding, jn as BooleanPreview, jt as flattenEntry, k as getFieldConfig, kn as UserPreview, kr as isRelationProperty, kt as DataNewPropertiesMapping, l as validateCollectionJson, ln as VirtualTableInput, lr as renderSkeletonText, lt as extractTouchedValues, m as toSerializableCollectionConfig, mn as UrlContext, mr as FormRail, mt as CollectionViewBinding, n as getFullIdPath, nn as removeInitialAndTrailingSlashes, nr as EnumValuesChip, nt as resolveNavigationFrom, o as CollectionGenerationApiError, on as resolveOpenEntityMode, or as renderSkeletonCaptionText, ot as useBuildSidePanel, p as fromSerializableProperty, pn as useAdminContext, pr as FormSections, pt as zodToFormErrors, q as SideDialogs, qn as CollectionRegistryContext, qt as useBreadcrumbsController, r as idToPropertiesPath, rn as removeInitialSlash, rr as StorageThumbnail, rt as useResolvedNavigationFrom, s as DEFAULT_COLLECTION_GENERATION_ENDPOINT, sn as resolveViewMode, sr as renderSkeletonIcon, st as EditViewBinding, t as getFullId, tn as getLastSegment, tr as StringPropertyPreview, tt as useHistory, u as fromSerializableCollectionConfig, un as CollectionTableBinding, ur as UrlComponentPreview, ut as getChanges, v as LiveSchemaError, vn as useSideDialogsController, vr as isSelfLabellingProperty, vt as resetPasswordAction, w as EntityForm, wn as LabelWithIconAndTooltip, wr as getIconForWidget, wt as CollectionViewActions, x as createLiveSchemaClient, xn as ArrayCustomShapedFieldBinding, xr as getBracketNotation, xt as EntityViewBinding, y as SchemaChangeCancelled, yn as SideDialogsControllerContext, yr as spanClass, yt as CreationResultDialog, z as MarkdownEditorFieldBinding, zn as ArrayOfStorageComponentsPreview, zt as convertFileToJson } from "./util-4oPxPkbp.js";
2
+ import { r as sanitizeUrl } from "./util-DB31IoJE.js";
3
+ import { i as PropertySelectEntry, n as ImportCollectionAction, r as ImportDataPreview } from "./import-C4VQ0rwO.js";
4
+ import { a as MAX_EXPORT_ROWS, c as downloadDataAsCsv, d as escapeCsvFormula, f as getEntityCSVExportableData, i as EXPORT_PAGE_SIZE, l as downloadEntitiesExport, n as ExportCollectionAction, o as fetchAllEntitiesForExport, p as getEntityJsonExportableData, r as BasicExportAction, s as downloadBlob, u as entryToCSVRow } from "./export-DJoGYb89.js";
5
5
  import React, { Suspense, useCallback, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
6
6
  import { deepEqual } from "fast-equals";
7
7
  import { Avatar, Button, Card, CenteredView, ChevronDownIcon, ChevronsLeftIcon, ChevronsRightIcon, Chip, CircularProgressCenter, Collapse, Container, Dialog, DialogActions, DialogContent, DialogTitle, ErrorBoundary, ExpandablePanel, IconButton, LogOutIcon, Markdown, Menu, MenuIcon, MenuItem, MoonIcon, PencilIcon, SearchBar, SettingsIcon, Sheet, Skeleton, StarIcon, SunIcon, SunMoonIcon, TextField, Tooltip, Typography, cls, defaultBorderMixin, iconSize, lazyChunk } from "@rebasepro/ui";
@@ -628,7 +628,7 @@ var DefaultAppBar = function DefaultAppBar({ title, endAdornment, startAdornment
628
628
  return /* @__PURE__ */ jsxs("div", {
629
629
  style,
630
630
  role: "banner",
631
- className: cls("w-full h-14 transition-all ease-in duration-75 absolute top-0 max-w-full overflow-x-auto no-scrollbar", "flex flex-row gap-2 px-4 items-center", "backdrop-blur-sm bg-surface-50/95 dark:bg-surface-900/80", {
631
+ className: cls("w-full h-14 transition-all ease-in duration-75 absolute top-0 max-w-full overflow-x-auto no-scrollbar", "flex flex-row gap-2 px-4 items-center", "backdrop-blur-sm bg-surface-frame/90", {
632
632
  "pl-[19rem]": drawerOpen && largeLayout,
633
633
  "pl-24": hasDrawer && !(drawerOpen && largeLayout),
634
634
  "z-10": largeLayout,
@@ -784,7 +784,7 @@ function DrawerNavigationItem({ name, icon, drawerOpen, url, onClick, indented =
784
784
  width: "100%",
785
785
  transition: drawerOpen ? "width 150ms ease-in" : void 0
786
786
  },
787
- className: ({ isActive }) => cls("rounded-lg truncate group/nav", "hover:bg-primary/5 dark:hover:bg-primary/5 text-surface-700 dark:text-surface-300 hover:text-surface-900 dark:hover:text-white", "flex flex-row items-center", drawerOpen ? "pr-4 h-[30px]" : "h-[30px]", "font-medium text-[13px]", isActive ? "bg-primary/8 dark:bg-primary/10 text-primary dark:text-primary [&_div]:text-primary" : ""),
787
+ className: ({ isActive }) => cls("rounded-lg truncate group/nav", "hover:bg-surface-hover text-surface-700 dark:text-surface-300 hover:text-surface-900 dark:hover:text-white", "flex flex-row items-center", drawerOpen ? "pr-4 h-[30px]" : "h-[30px]", "font-medium text-[13px]", isActive ? "bg-primary/8 dark:bg-primary/10 text-primary dark:text-primary [&_div]:text-primary" : ""),
788
788
  to: url,
789
789
  children: [iconWrap, /* @__PURE__ */ jsx("div", {
790
790
  className: cls("text-text-primary dark:text-surface-200", drawerOpen ? "opacity-100" : "opacity-0 hidden", "font-inherit truncate space-x-2"),
@@ -812,7 +812,7 @@ function DrawerNavigationGroup({ group, entries, collapsed, onToggleCollapsed, d
812
812
  return /* @__PURE__ */ jsxs("div", {
813
813
  className: "my-2 mx-2 flex flex-col",
814
814
  children: [!hideHeader && /* @__PURE__ */ jsxs("div", {
815
- className: cls("pl-3 pr-2 py-0.5 flex flex-row items-center transition-colors", drawerOpen ? "cursor-pointer hover:bg-surface-100 dark:hover:bg-surface-800/40 rounded-lg" : "opacity-0 invisible pointer-events-none"),
815
+ className: cls("pl-3 pr-2 py-0.5 flex flex-row items-center transition-colors", drawerOpen ? "cursor-pointer hover:bg-surface-hover rounded-lg" : "opacity-0 invisible pointer-events-none"),
816
816
  onClick: drawerOpen ? onToggleCollapsed : void 0,
817
817
  children: [
818
818
  /* @__PURE__ */ jsx(ChevronDownIcon, {
@@ -1031,7 +1031,7 @@ function DrawerToggle({ drawerOpen, drawerHovered, openDrawer, closeDrawer }) {
1031
1031
  asChild: true,
1032
1032
  children: /* @__PURE__ */ jsxs("button", {
1033
1033
  type: "button",
1034
- className: cls("flex flex-row items-center rounded-lg cursor-pointer w-full", "hover:bg-surface-accent-100 dark:hover:bg-surface-800", "transition-colors duration-150", "py-2"),
1034
+ className: cls("flex flex-row items-center rounded-lg cursor-pointer w-full", "hover:bg-surface-hover", "transition-colors duration-150", "py-2"),
1035
1035
  "aria-expanded": isExpanded,
1036
1036
  "aria-label": isExpanded ? t("collapse") : t("expand"),
1037
1037
  onClick: () => isExpanded ? closeDrawer() : openDrawer(),
@@ -1063,14 +1063,14 @@ function DrawerModeSwitch({ drawerOpen, drawerHovered }) {
1063
1063
  children: /* @__PURE__ */ jsxs("div", {
1064
1064
  role: "group",
1065
1065
  "aria-label": "Panel mode",
1066
- className: "flex bg-surface-100 dark:bg-surface-900 rounded-lg p-0.5 border border-surface-200 dark:border-surface-700/60",
1066
+ className: "flex bg-surface-field rounded-lg p-0.5",
1067
1067
  children: [/* @__PURE__ */ jsx("button", {
1068
1068
  onClick: () => {
1069
1069
  adminModeController.setMode("cms");
1070
1070
  navigate(urlController.basePath ?? "/");
1071
1071
  },
1072
1072
  "aria-pressed": adminModeController.mode === "cms",
1073
- className: cls("flex-1 px-3 py-0.5 text-xs font-semibold rounded-md transition-all text-center", adminModeController.mode === "cms" ? "bg-white dark:bg-surface-800 shadow-sm text-primary dark:text-primary-400" : "text-surface-500 hover:text-surface-900 dark:hover:text-white"),
1073
+ className: cls("flex-1 px-3 py-0.5 text-xs font-medium rounded-md transition-all text-center", adminModeController.mode === "cms" ? "bg-surface-lifted shadow-sm text-text-primary dark:text-text-primary-dark" : "text-surface-500 hover:text-surface-900 dark:hover:text-white"),
1074
1074
  children: "CMS"
1075
1075
  }), /* @__PURE__ */ jsx("button", {
1076
1076
  onClick: () => {
@@ -1078,7 +1078,7 @@ function DrawerModeSwitch({ drawerOpen, drawerHovered }) {
1078
1078
  navigate(urlController.basePath === "/" ? "/s" : `${urlController.basePath ?? ""}/s`);
1079
1079
  },
1080
1080
  "aria-pressed": adminModeController.mode === "studio",
1081
- className: cls("flex-1 px-3 py-0.5 text-xs font-semibold rounded-md transition-all text-center", adminModeController.mode === "studio" ? "bg-white dark:bg-surface-800 shadow-sm text-primary dark:text-primary-400" : "text-surface-500 hover:text-surface-900 dark:hover:text-white"),
1081
+ className: cls("flex-1 px-3 py-0.5 text-xs font-medium rounded-md transition-all text-center", adminModeController.mode === "studio" ? "bg-surface-lifted shadow-sm text-text-primary dark:text-text-primary-dark" : "text-surface-500 hover:text-surface-900 dark:hover:text-white"),
1082
1082
  children: "Studio"
1083
1083
  })]
1084
1084
  })
@@ -1116,7 +1116,7 @@ function DrawerFooterActions({ drawerOpen, drawerHovered, dropDownActions, user:
1116
1116
  className: "flex items-center px-[16px] py-1",
1117
1117
  children: [/* @__PURE__ */ jsxs(Menu, {
1118
1118
  trigger: /* @__PURE__ */ jsx("div", {
1119
- className: cls("shrink-0 flex items-center justify-center w-[44px] cursor-pointer", "rounded-md py-1", "hover:bg-surface-accent-100 dark:hover:bg-surface-800", "transition-colors duration-150"),
1119
+ className: cls("shrink-0 flex items-center justify-center w-[44px] cursor-pointer", "rounded-md py-1", "hover:bg-surface-hover", "transition-colors duration-150"),
1120
1120
  role: "button",
1121
1121
  tabIndex: 0,
1122
1122
  "aria-label": t("user_menu", { defaultValue: "User menu" }),
@@ -1317,7 +1317,6 @@ var Scaffold = React.memo(function Scaffold(props) {
1317
1317
  }, [setDrawerOpen]);
1318
1318
  const computedDrawerOpen = drawerOpen;
1319
1319
  const computedDrawerHovered = Boolean(largeLayout && onHover);
1320
- const isStudioDark = useAdminModeController().mode === "studio";
1321
1320
  const hasAppBar = Boolean(appBarChildren.length > 0);
1322
1321
  const appContextValue = useMemo(() => ({
1323
1322
  hasDrawer: Boolean(includeDrawer),
@@ -1339,7 +1338,7 @@ var Scaffold = React.memo(function Scaffold(props) {
1339
1338
  return /* @__PURE__ */ jsx(AppContext.Provider, {
1340
1339
  value: appContextValue,
1341
1340
  children: /* @__PURE__ */ jsxs("div", {
1342
- className: cls("flex h-screen w-screen overflow-hidden", "bg-surface-50 dark:bg-surface-900", "text-surface-900 dark:text-white", className),
1341
+ className: cls("flex h-screen w-screen overflow-hidden", "bg-surface-frame", "text-surface-900 dark:text-white", className),
1343
1342
  style: {
1344
1343
  paddingTop: "env(safe-area-inset-top)",
1345
1344
  paddingLeft: "env(safe-area-inset-left)",
@@ -1357,18 +1356,16 @@ var Scaffold = React.memo(function Scaffold(props) {
1357
1356
  onMouseLeave: setOnHoverFalse,
1358
1357
  open: drawerOpen,
1359
1358
  hovered: onHover,
1360
- isStudioDark,
1361
1359
  setDrawerOpen,
1362
1360
  children: includeDrawer && drawerChildren
1363
1361
  }),
1364
1362
  /* @__PURE__ */ jsxs("main", {
1365
1363
  className: "flex flex-col grow overflow-auto",
1366
1364
  children: [hasAppBar && /* @__PURE__ */ jsx(DrawerHeader, {}), /* @__PURE__ */ jsx("div", {
1367
- className: cls(defaultBorderMixin, "bg-surface-50 dark:bg-surface-800", "grow overflow-auto m-0", {
1368
- "mt-1 lg:m-0 lg:mx-2 lg:mb-2 lg:rounded-lg lg:border-t lg:border-x lg:border-solid": padding,
1365
+ className: cls("bg-surface-sheet", "grow overflow-auto m-0", "lg:border lg:border-hairline", {
1366
+ "mt-1 lg:m-0 lg:mx-2 lg:mb-2 lg:rounded-xl": padding,
1369
1367
  "lg:mt-2": !hasAppBar && padding,
1370
- "lg:mt-4": !hasAppBar && !padding,
1371
- "border-t": hasAppBar && !padding
1368
+ "lg:mt-4": !hasAppBar && !padding
1372
1369
  }),
1373
1370
  children: /* @__PURE__ */ jsx(ErrorBoundary, { children: otherChildren })
1374
1371
  })]
@@ -1384,11 +1381,9 @@ function DrawerWrapper(props) {
1384
1381
  const layoutWidth = !props.displayed ? 0 : props.open ? 280 : 72;
1385
1382
  const visualWidth = !props.displayed ? 0 : props.open || props.hovered ? 280 : 72;
1386
1383
  const isFloating = props.hovered && !props.open;
1387
- const darkBg = "dark:bg-surface-900";
1388
- const darkBgFloating = "dark:bg-surface-900";
1389
1384
  const { t } = useTranslation();
1390
1385
  const innerDrawer = /* @__PURE__ */ jsx("div", {
1391
- className: cls("h-full overflow-hidden", defaultBorderMixin, isFloating ? `absolute top-0 left-0 bottom-0 z-50 bg-surface-50 ${darkBgFloating} shadow-lg border-r` : `relative bg-surface-50 ${darkBg}`),
1386
+ className: cls("h-full overflow-hidden bg-surface-frame", defaultBorderMixin, isFloating ? "absolute top-0 left-0 bottom-0 z-50 shadow-lg border-r" : "relative"),
1392
1387
  style: {
1393
1388
  width: visualWidth,
1394
1389
  transition: "left 75ms cubic-bezier(0.4, 0, 0.6, 1) 0ms, opacity 75ms cubic-bezier(0.4, 0, 0.6, 1) 0ms, width 75ms cubic-bezier(0.4, 0, 0.6, 1) 0ms"
@@ -1412,7 +1407,7 @@ function DrawerWrapper(props) {
1412
1407
  open: props.open,
1413
1408
  onOpenChange: props.setDrawerOpen,
1414
1409
  title: t("navigation_drawer"),
1415
- overlayClassName: "bg-white/80 dark:bg-surface-900/80",
1410
+ overlayClassName: "bg-surface-scrim",
1416
1411
  children: innerDrawer
1417
1412
  })] });
1418
1413
  }
@@ -1521,7 +1516,7 @@ function RebaseAuthGate({ children }) {
1521
1516
  * a browser downloads before the login screen paints. It cost 14 kB there, for
1522
1517
  * a dialog most sessions never open. The bundle budget caught it.
1523
1518
  */
1524
- var SchemaChangeDialog = lazyChunk(() => import("./SchemaChangeDialog-CkqK6KOC.js").then((n) => n.n).then((m) => ({ default: m.SchemaChangeDialog })));
1519
+ var SchemaChangeDialog = lazyChunk(() => import("./SchemaChangeDialog-BeP0A4MJ.js").then((n) => n.n).then((m) => ({ default: m.SchemaChangeDialog })));
1525
1520
  function useLiveSchemaEditing(options) {
1526
1521
  const { baseUrl, authKey, writeSourceOnly } = options;
1527
1522
  const optionsRef = useRef(options);
@@ -1901,7 +1896,7 @@ function useLocalCollectionsConfigController(clientOrUrl, baseCollections = [],
1901
1896
  //#region src/components/RebaseNavigation.tsx
1902
1897
  var EMPTY_PLUGINS = [];
1903
1898
  var EMPTY_COLLECTIONS = [];
1904
- var CollectionsStudioView = lazyChunk(() => import("./RouterCollectionsStudioView-BtjzvB6E.js").then((n) => n.n).then((m) => ({ default: m.RouterCollectionsStudioView })));
1899
+ var CollectionsStudioView = lazyChunk(() => import("./RouterCollectionsStudioView-DwsbIAqr.js").then((n) => n.n).then((m) => ({ default: m.RouterCollectionsStudioView })));
1905
1900
  /**
1906
1901
  * Navigation layer — builds and provides all admin navigation controllers:
1907
1902
  * collection registry, URL controller, navigation state, side entity,
@@ -2199,7 +2194,7 @@ function NavigationGroup({ children, group, minimised, isPreview, isPotentialCar
2199
2194
  variant: isPreview ? "body2" : "caption",
2200
2195
  component: "h2",
2201
2196
  color: "secondary",
2202
- className: cls("px-4 py-1 rounded", "font-medium text-[10px] uppercase tracking-[0.08em] text-primary/50 dark:text-primary/70"),
2197
+ className: cls("px-4 py-1 rounded", "font-medium text-[10px] uppercase tracking-[0.08em] text-surface-400 dark:text-surface-400"),
2203
2198
  children: currentGroupLabel
2204
2199
  }), !isPreview && onEditGroup && !dndDisabled && /* @__PURE__ */ jsx(IconButton, {
2205
2200
  size: "smallest",
@@ -2227,7 +2222,7 @@ function NavigationGroup({ children, group, minimised, isPreview, isPotentialCar
2227
2222
  if (open !== !collapsed) onToggleCollapsed?.();
2228
2223
  },
2229
2224
  className: cls("mt-6"),
2230
- titleClassName: cls("min-h-0 p-0 border-none", "rounded flex items-center justify-between w-full", "hover:bg-transparent", "cursor-pointer select-none", collapsed && "bg-surface-100 dark:bg-surface-900/50"),
2225
+ titleClassName: cls("min-h-0 p-0 border-none", "rounded flex items-center justify-between w-full", "hover:bg-transparent", "cursor-pointer select-none", collapsed && "bg-surface-field"),
2231
2226
  innerClassName: cls("mt-4", !minimised ? "pt-0" : ""),
2232
2227
  title: /* @__PURE__ */ jsx("div", {
2233
2228
  onMouseEnter: () => setIsHovered(true),
@@ -2236,7 +2231,7 @@ function NavigationGroup({ children, group, minimised, isPreview, isPotentialCar
2236
2231
  children: TitleContent
2237
2232
  }),
2238
2233
  children: minimised ? /* @__PURE__ */ jsx("div", {
2239
- className: cls("mt-4 p-8 bg-surface-accent-200 dark:bg-surface-accent-800 rounded-lg"),
2234
+ className: cls("mt-4 p-8 bg-surface-raised rounded-lg"),
2240
2235
  style: { minHeight: "50px" }
2241
2236
  }) : /* @__PURE__ */ jsx("div", {
2242
2237
  className: cls("mt-4", !minimised ? "pt-0" : ""),
@@ -2249,7 +2244,7 @@ function NavigationGroup({ children, group, minimised, isPreview, isPotentialCar
2249
2244
  onMouseLeave: () => setIsHovered(false),
2250
2245
  children: TitleContent
2251
2246
  }), !collapsed && (minimised ? /* @__PURE__ */ jsx("div", {
2252
- className: cls("mt-4 p-8 bg-surface-accent-200 dark:bg-surface-accent-800 rounded-lg"),
2247
+ className: cls("mt-4 p-8 bg-surface-raised rounded-lg"),
2253
2248
  style: { minHeight: "50px" }
2254
2249
  }) : /* @__PURE__ */ jsx("div", {
2255
2250
  className: cls("mt-4", !minimised ? "pt-0" : ""),
@@ -2262,7 +2257,7 @@ function NavigationGroup({ children, group, minimised, isPreview, isPotentialCar
2262
2257
  //#region src/components/HomePage/NavigationCard.tsx
2263
2258
  var NavigationCard = React.memo(function NavigationCard({ name, description, icon, actions, additionalContent, onClick, shrink }) {
2264
2259
  return /* @__PURE__ */ jsx(Card, {
2265
- className: cls("group h-full p-4 cursor-pointer transition-colors duration-150 ease-in-out", "hover:bg-primary/5 dark:hover:bg-primary/5", shrink && "w-full max-w-full min-h-0 scale-75"),
2260
+ className: cls("group h-full p-4 cursor-pointer transition-colors duration-150 ease-in-out", shrink && "w-full max-w-full min-h-0 scale-75"),
2266
2261
  onClick: () => {
2267
2262
  onClick?.();
2268
2263
  },
@@ -2440,7 +2435,7 @@ function NavigationGroupDroppable({ id, itemIds, children, isPotentialCardDropTa
2440
2435
  const { setNodeRef } = useDroppable({ id });
2441
2436
  return /* @__PURE__ */ jsx("div", {
2442
2437
  ref: setNodeRef,
2443
- className: cls(isPotentialCardDropTarget ? "p-2 bg-surface-accent-200 dark:bg-surface-accent-800 rounded-lg" : void 0, "transition-all duration-200 ease-in-out"),
2438
+ className: cls(isPotentialCardDropTarget ? "p-2 bg-surface-raised rounded-lg" : void 0, "transition-all duration-200 ease-in-out"),
2444
2439
  children: /* @__PURE__ */ jsx(SortableContext, {
2445
2440
  items: itemIds,
2446
2441
  strategy: rectSortingStrategy,
@@ -2785,7 +2780,7 @@ function NewGroupDropZone({ disabled, setIsHovering }) {
2785
2780
  if (!isVisible || disabled) return null;
2786
2781
  return /* @__PURE__ */ jsx("div", {
2787
2782
  ref: setNodeRef,
2788
- className: cls("fixed right-8 top-1/2 -translate-y-1/2 w-[200px] h-[120px] border border-dashed rounded-lg flex items-center justify-center transition-all", isOver ? "bg-surface-accent-100 dark:bg-surface-accent-800 border-surface-300 dark:border-surface-600" : "bg-surface-50 dark:bg-surface-900 border-surface-200 dark:border-surface-700"),
2783
+ className: cls("fixed right-8 top-1/2 -translate-y-1/2 w-[200px] h-[120px] border border-dashed rounded-lg flex items-center justify-center transition-all", isOver ? "bg-surface-raised border-hairline-strong" : "bg-surface-card border-hairline-strong"),
2789
2784
  children: /* @__PURE__ */ jsx("div", {
2790
2785
  className: "text-center p-4",
2791
2786
  children: /* @__PURE__ */ jsx("span", {
@@ -3025,7 +3020,7 @@ function ContentHomePage({ additionalActions, additionalChildrenStart, additiona
3025
3020
  }, [resolvedSlots]);
3026
3021
  return /* @__PURE__ */ jsxs("div", {
3027
3022
  ref: containerRef,
3028
- className: "py-2 overflow-auto h-full w-full bg-surface-50 dark:bg-surface-800",
3023
+ className: "py-2 overflow-auto h-full w-full bg-surface-sheet",
3029
3024
  children: [/* @__PURE__ */ jsxs(Container, {
3030
3025
  maxWidth: "6xl",
3031
3026
  children: [
@@ -3179,8 +3174,8 @@ function ContentHomePage({ additionalActions, additionalChildrenStart, additiona
3179
3174
  }
3180
3175
  //#endregion
3181
3176
  //#region src/components/CollectionEditorDialogs.tsx
3182
- var CollectionEditorDialog = lazyChunk(() => import("./CollectionEditorDialog-BeX4b92r.js").then((n) => n.r).then((m) => ({ default: m.CollectionEditorDialog })));
3183
- var PropertyFormDialog = lazyChunk(() => import("./PropertyEditView-C7thfj4L.js").then((n) => n.t).then((m) => ({ default: m.PropertyFormDialog })));
3177
+ var CollectionEditorDialog = lazyChunk(() => import("./CollectionEditorDialog-DQjLtp1W.js").then((n) => n.r).then((m) => ({ default: m.CollectionEditorDialog })));
3178
+ var PropertyFormDialog = lazyChunk(() => import("./PropertyEditView-BMCCD2OI.js").then((n) => n.t).then((m) => ({ default: m.PropertyFormDialog })));
3184
3179
  /**
3185
3180
  * Renders the CollectionEditorDialog and PropertyFormDialog inside
3186
3181
  * the RebaseShell tree where admin-internal contexts