@rebasepro/admin 0.1.0 → 0.1.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/{CollectionEditorDialog-MbvXGzEq.js → CollectionEditorDialog-ywdxhs1L.js} +3 -3
- package/dist/{CollectionEditorDialog-MbvXGzEq.js.map → CollectionEditorDialog-ywdxhs1L.js.map} +1 -1
- package/dist/{CollectionsStudioView-D9X6aiAr.js → CollectionsStudioView-BDzMFzqH.js} +4 -4
- package/dist/{CollectionsStudioView-D9X6aiAr.js.map → CollectionsStudioView-BDzMFzqH.js.map} +1 -1
- package/dist/{ContentHomePage-CfVB1eUo.js → ContentHomePage-0tHuEIm_.js} +2 -2
- package/dist/{ContentHomePage-CfVB1eUo.js.map → ContentHomePage-0tHuEIm_.js.map} +1 -1
- package/dist/{ExportCollectionAction-CUwJg4F9.js → ExportCollectionAction-BIrq92To.js} +2 -2
- package/dist/{ExportCollectionAction-CUwJg4F9.js.map → ExportCollectionAction-BIrq92To.js.map} +1 -1
- package/dist/{ImportCollectionAction-DGa_SF_8.js → ImportCollectionAction-h8yg_To8.js} +2 -2
- package/dist/{ImportCollectionAction-DGa_SF_8.js.map → ImportCollectionAction-h8yg_To8.js.map} +1 -1
- package/dist/{PropertyEditView-C4nlYmAc.js → PropertyEditView-BuZrNnBN.js} +2 -2
- package/dist/{PropertyEditView-C4nlYmAc.js.map → PropertyEditView-BuZrNnBN.js.map} +1 -1
- package/dist/{RolesView-CNWxnR8e.js → RolesView-CMPsaIXo.js} +2 -2
- package/dist/{RolesView-CNWxnR8e.js.map → RolesView-CMPsaIXo.js.map} +1 -1
- package/dist/{UsersView-YiTIcXkA.js → UsersView-BkeblMVT.js} +2 -2
- package/dist/{UsersView-YiTIcXkA.js.map → UsersView-BkeblMVT.js.map} +1 -1
- package/dist/collection_editor_ui.js +3 -3
- package/dist/{index-DKlrVD1m.js → index-BuZaHcyc.js} +3 -3
- package/dist/index-BuZaHcyc.js.map +1 -0
- package/dist/{index-CtzpHzMQ.js → index-CS6uJ7oW.js} +2 -2
- package/dist/{index-CtzpHzMQ.js.map → index-CS6uJ7oW.js.map} +1 -1
- package/dist/{index-kHJXfLNI.js → index-eRJbMvHi.js} +3 -3
- package/dist/index-eRJbMvHi.js.map +1 -0
- package/dist/index.js +4 -4
- package/dist/{util-CwLmSpGp.js → util-zfU1zOCX.js} +22 -22
- package/dist/util-zfU1zOCX.js.map +1 -0
- package/package.json +8 -8
- package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +5 -3
- package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +1 -1
- package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +2 -2
- package/src/components/EntityCollectionView/EntityCard.tsx +2 -2
- package/src/components/EntityCollectionView/EntityCollectionListView.tsx +3 -3
- package/src/components/SelectableTable/SelectableTable.tsx +2 -2
- package/dist/index-DKlrVD1m.js.map +0 -1
- package/dist/index-kHJXfLNI.js.map +0 -1
- package/dist/util-CwLmSpGp.js.map +0 -1
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
2
|
import { useSnackbarController, useUnsavedChangesDialog, UnsavedChangesDialog, IconForView } from "@rebasepro/core";
|
|
3
|
-
import { j as useUrlController } from "./util-
|
|
3
|
+
import { j as useUrlController } from "./util-zfU1zOCX.js";
|
|
4
4
|
import { useState, useEffect } from "react";
|
|
5
5
|
import { c } from "react-compiler-runtime";
|
|
6
6
|
import { Typography, Button, ResizablePanels, Tooltip, IconButton, iconSize, cls, defaultBorderMixin } from "@rebasepro/ui";
|
|
@@ -22,8 +22,8 @@ import "xlsx";
|
|
|
22
22
|
import "@rebasepro/schema-inference";
|
|
23
23
|
import "date-fns";
|
|
24
24
|
import "date-fns/locale";
|
|
25
|
-
import { A as AIModifiedPathsProvider } from "./PropertyEditView-
|
|
26
|
-
import { CollectionEditor } from "./CollectionEditorDialog-
|
|
25
|
+
import { A as AIModifiedPathsProvider } from "./PropertyEditView-BuZrNnBN.js";
|
|
26
|
+
import { CollectionEditor } from "./CollectionEditorDialog-ywdxhs1L.js";
|
|
27
27
|
function CollectionStudioView(t0) {
|
|
28
28
|
const $ = c(30);
|
|
29
29
|
let collectionId;
|
|
@@ -215,4 +215,4 @@ export {
|
|
|
215
215
|
CollectionsStudioView as a,
|
|
216
216
|
CollectionsStudioView$1 as b
|
|
217
217
|
};
|
|
218
|
-
//# sourceMappingURL=CollectionsStudioView-
|
|
218
|
+
//# sourceMappingURL=CollectionsStudioView-BDzMFzqH.js.map
|
package/dist/{CollectionsStudioView-D9X6aiAr.js.map → CollectionsStudioView-BDzMFzqH.js.map}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CollectionsStudioView-D9X6aiAr.js","sources":["../src/collection_editor/ui/collection_editor/CollectionStudioView.tsx","../src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx"],"sourcesContent":["\nimport { useUnsavedChangesDialog, UnsavedChangesDialog } from \"@rebasepro/core\";\nimport { useUrlController } from \"../../_cms_internals\";\nimport * as React from \"react\";\nimport { useState, useMemo, useEffect } from \"react\";\nimport { Typography, Button } from \"@rebasepro/ui\";\nimport { PlusIcon } from \"lucide-react\";\nimport { useSnackbarController } from \"@rebasepro/core\";\nimport { CollectionEditorDialogProps } from \"./CollectionEditorDialog\";\nimport { AIModifiedPathsProvider } from \"./AIModifiedPathsContext\";\nimport { CollectionEditor } from \"./CollectionEditorDialog\";\nimport { useNavigate } from \"react-router-dom\";\n\nexport type CollectionStudioViewProps = Omit<CollectionEditorDialogProps, \"open\" | \"isNewCollection\" | \"editedCollectionId\" | \"handleClose\" | \"handleCancel\"> & {\n collectionId?: string | \"new\";\n};\n\nexport function CollectionStudioView({ collectionId, ...props }: CollectionStudioViewProps) {\n const snackbarController = useSnackbarController();\n const navigate = useNavigate();\n const urlController = useUrlController();\n\n // Form state from the editor\n const [formDirty, setFormDirty] = useState<boolean>(false);\n const [cancelRequested, setCancelRequested] = useState<boolean>(false);\n\n const { dialogProps, triggerDialog } = useUnsavedChangesDialog(\n formDirty,\n () => setFormDirty(false)\n );\n\n // Map collectionId from URL params if missing? We can pass it directly.\n const activeCollectionId = collectionId;\n\n const handleCancelClick = () => {\n if (!formDirty) {\n navigate(urlController.buildAppUrlPath(\"/\"));\n } else {\n setCancelRequested(true);\n triggerDialog();\n }\n };\n\n return (\n <div className=\"flex-grow flex flex-col h-full w-full bg-white dark:bg-surface-950\">\n <AIModifiedPathsProvider>\n {activeCollectionId ? (\n <CollectionEditor\n key={activeCollectionId}\n {...props}\n fullScreen={true}\n open={true}\n isNewCollection={activeCollectionId === \"new\"}\n editedCollectionId={activeCollectionId !== \"new\" ? activeCollectionId : undefined}\n handleCancel={handleCancelClick}\n handleClose={(savedCollection) => {\n setFormDirty(false);\n if (savedCollection) {\n snackbarController.open({\n type: \"success\",\n message: `Collection ${savedCollection.name || savedCollection.slug} saved`\n });\n if (activeCollectionId === \"new\") {\n navigate(urlController.buildAppUrlPath(`s/schema/${savedCollection.slug}`));\n }\n }\n }}\n setFormDirty={setFormDirty}\n />\n ) : (\n <div className=\"flex-grow flex flex-col items-center justify-center h-full gap-4\">\n <Typography variant=\"label\">\n Select a collection or create a new one\n </Typography>\n <Button\n disabled={props.configController?.readOnly}\n onClick={() => navigate(urlController.buildAppUrlPath(\"schema/new\"))}\n >\n <PlusIcon/>\n Add new collection\n </Button>\n </div>\n )}\n\n <UnsavedChangesDialog\n {...dialogProps}\n handleOk={() => {\n dialogProps.handleOk();\n if (cancelRequested) {\n navigate(urlController.buildAppUrlPath(\"/\"));\n setCancelRequested(false);\n }\n }}\n handleCancel={() => {\n dialogProps.handleCancel();\n setCancelRequested(false);\n }}\n />\n </AIModifiedPathsProvider>\n </div>\n );\n}\n","\nimport { IconForView } from \"@rebasepro/core\";\n;\nimport { useUrlController } from \"../../_cms_internals\";\nimport React, { useState, useEffect } from \"react\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport { cls, defaultBorderMixin, ResizablePanels, Typography, IconButton, Button , iconSize, Tooltip } from \"@rebasepro/ui\";\nimport { PlusIcon } from \"lucide-react\";\n;\nimport { CollectionsConfigController } from \"../../types/config_controller\";\nimport { CollectionStudioView } from \"./CollectionStudioView\";\n\nexport interface CollectionsStudioViewProps {\n configController: CollectionsConfigController;\n}\n\nexport function CollectionsStudioView({ configController }: CollectionsStudioViewProps) {\n const navigate = useNavigate();\n const urlController = useUrlController();\n const location = useLocation();\n\n // Determine the active collection from the URL segment after \"schema/\"\n const basePath = urlController.buildAppUrlPath(\"schema\");\n const relativePath = location.pathname.replace(basePath, \"\").replace(/^\\//, \"\");\n\n // The collectionId could be \"new\", empty (no selection), or a collection slug\n const activeCollectionId = relativePath.split(\"/\")[0] || undefined;\n\n const [sidebarSize, setSidebarSize] = useState(() => {\n try {\n const saved = localStorage.getItem(\"rebase_collections_editor_sidebar_size\");\n return saved !== null ? parseFloat(saved) : 25;\n } catch (e) {\n return 25;\n }\n });\n\n useEffect(() => {\n try {\n localStorage.setItem(\"rebase_collections_editor_sidebar_size\", sidebarSize.toString());\n } catch (e) {\n // ignore local storage error\n }\n }, [sidebarSize]);\n\n const collections = configController.collections || [];\n\n return (\n <div className=\"flex h-full w-full bg-white dark:bg-surface-950 overflow-hidden text-text-primary dark:text-text-primary-dark\">\n <ResizablePanels\n orientation=\"horizontal\"\n panelSizePercent={sidebarSize}\n onPanelSizeChange={setSidebarSize}\n minPanelSizePx={220}\n firstPanel={\n <div className={cls(\"flex flex-col h-full w-full bg-white dark:bg-surface-950 border-r\", defaultBorderMixin)}>\n <div className={cls(\"flex items-center justify-between px-3 py-2 border-b bg-surface-50 dark:bg-surface-900 min-h-[48px]\", defaultBorderMixin)}>\n <Typography variant=\"caption\" className=\"font-bold uppercase tracking-wider text-text-disabled dark:text-text-disabled-dark\">\n Collections\n </Typography>\n <Tooltip title={configController.readOnly ? configController.readOnlyReason || \"Read only\" : \"Add collection\"}>\n <div>\n <IconButton\n size=\"small\"\n disabled={configController.readOnly}\n onClick={() => navigate(urlController.buildAppUrlPath(\"schema/new\"))}\n className={activeCollectionId === \"new\" ? \"text-primary dark:text-primary-dark\" : \"text-text-secondary dark:text-text-secondary-dark\"}\n >\n <PlusIcon size={iconSize.smallest}/>\n </IconButton>\n </div>\n </Tooltip>\n </div>\n\n <div className=\"flex-grow overflow-y-auto w-full no-scrollbar p-2 space-y-0.5\">\n {collections.length === 0 && (\n <div className=\"p-4 text-center\">\n <Typography variant=\"caption\" className=\"text-text-disabled dark:text-text-disabled-dark italic\">\n No collections yet.\n </Typography>\n </div>\n )}\n {collections.map((collection) => {\n const collectionKey = collection.slug;\n const isSelected = activeCollectionId === collectionKey;\n return (\n <div\n key={collectionKey}\n onClick={() => navigate(urlController.buildAppUrlPath(`schema/${collectionKey}`))}\n className={cls(\n \"flex items-center gap-3 px-3 py-2 cursor-pointer rounded-md text-sm transition-colors\",\n isSelected\n ? \"bg-primary/10 text-primary dark:bg-primary/20 dark:text-primary-light\"\n : \"hover:bg-surface-100 dark:hover:bg-surface-900 text-text-secondary dark:text-text-secondary-dark\"\n )}\n >\n <IconForView collectionOrView={collection} size={\"small\"} className={cls(\n isSelected\n ? \"text-primary dark:text-primary-light\"\n : \"text-text-secondary dark:text-text-secondary-dark\"\n )}/>\n <span className=\"truncate flex-1\">\n {collection.name || collection.slug}\n </span>\n </div>\n );\n })}\n </div>\n </div>\n }\n secondPanel={\n <div className=\"flex-grow flex flex-col min-w-0 h-full w-full\">\n {/* We use key to force unmount when switching collections, preventing stale state */}\n {activeCollectionId ? (\n <CollectionStudioView\n key={activeCollectionId}\n configController={configController}\n collectionId={activeCollectionId}\n />\n ) : (\n <div className=\"flex flex-col items-center justify-center h-full gap-4\">\n <Typography variant=\"label\">\n Select a collection or create a new one to start editing\n </Typography>\n <Button\n disabled={configController.readOnly}\n onClick={() => navigate(urlController.buildAppUrlPath(\"schema/new\"))}\n >\n <PlusIcon/>\n Add new collection\n </Button>\n </div>\n )}\n </div>\n }\n />\n </div>\n );\n}\n"],"names":["CollectionStudioView","t0","$","_c","collectionId","props","snackbarController","useSnackbarController","navigate","useNavigate","urlController","useUrlController","formDirty","setFormDirty","useState","cancelRequested","setCancelRequested","t1","Symbol","for","dialogProps","triggerDialog","useUnsavedChangesDialog","activeCollectionId","t2","buildAppUrlPath","handleCancelClick","t3","undefined","savedCollection","open","type","message","name","slug","configController","readOnly","t4","handleOk","t5","handleCancel","t6","t7","CollectionsStudioView","location","useLocation","basePath","relativePath","pathname","replace","split","sidebarSize","setSidebarSize","saved","localStorage","getItem","parseFloat","e","useEffect","setItem","toString","collections","cls","defaultBorderMixin","readOnlyReason","iconSize","smallest","length","map","collection","collectionKey","isSelected"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CollectionsStudioView-BDzMFzqH.js","sources":["../src/collection_editor/ui/collection_editor/CollectionStudioView.tsx","../src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx"],"sourcesContent":["\nimport { useUnsavedChangesDialog, UnsavedChangesDialog } from \"@rebasepro/core\";\nimport { useUrlController } from \"../../_cms_internals\";\nimport * as React from \"react\";\nimport { useState, useMemo, useEffect } from \"react\";\nimport { Typography, Button } from \"@rebasepro/ui\";\nimport { PlusIcon } from \"lucide-react\";\nimport { useSnackbarController } from \"@rebasepro/core\";\nimport { CollectionEditorDialogProps } from \"./CollectionEditorDialog\";\nimport { AIModifiedPathsProvider } from \"./AIModifiedPathsContext\";\nimport { CollectionEditor } from \"./CollectionEditorDialog\";\nimport { useNavigate } from \"react-router-dom\";\n\nexport type CollectionStudioViewProps = Omit<CollectionEditorDialogProps, \"open\" | \"isNewCollection\" | \"editedCollectionId\" | \"handleClose\" | \"handleCancel\"> & {\n collectionId?: string | \"new\";\n};\n\nexport function CollectionStudioView({ collectionId, ...props }: CollectionStudioViewProps) {\n const snackbarController = useSnackbarController();\n const navigate = useNavigate();\n const urlController = useUrlController();\n\n // Form state from the editor\n const [formDirty, setFormDirty] = useState<boolean>(false);\n const [cancelRequested, setCancelRequested] = useState<boolean>(false);\n\n const { dialogProps, triggerDialog } = useUnsavedChangesDialog(\n formDirty,\n () => setFormDirty(false)\n );\n\n // Map collectionId from URL params if missing? We can pass it directly.\n const activeCollectionId = collectionId;\n\n const handleCancelClick = () => {\n if (!formDirty) {\n navigate(urlController.buildAppUrlPath(\"/\"));\n } else {\n setCancelRequested(true);\n triggerDialog();\n }\n };\n\n return (\n <div className=\"flex-grow flex flex-col h-full w-full bg-white dark:bg-surface-950\">\n <AIModifiedPathsProvider>\n {activeCollectionId ? (\n <CollectionEditor\n key={activeCollectionId}\n {...props}\n fullScreen={true}\n open={true}\n isNewCollection={activeCollectionId === \"new\"}\n editedCollectionId={activeCollectionId !== \"new\" ? activeCollectionId : undefined}\n handleCancel={handleCancelClick}\n handleClose={(savedCollection) => {\n setFormDirty(false);\n if (savedCollection) {\n snackbarController.open({\n type: \"success\",\n message: `Collection ${savedCollection.name || savedCollection.slug} saved`\n });\n if (activeCollectionId === \"new\") {\n navigate(urlController.buildAppUrlPath(`s/schema/${savedCollection.slug}`));\n }\n }\n }}\n setFormDirty={setFormDirty}\n />\n ) : (\n <div className=\"flex-grow flex flex-col items-center justify-center h-full gap-4\">\n <Typography variant=\"label\">\n Select a collection or create a new one\n </Typography>\n <Button\n disabled={props.configController?.readOnly}\n onClick={() => navigate(urlController.buildAppUrlPath(\"schema/new\"))}\n >\n <PlusIcon/>\n Add new collection\n </Button>\n </div>\n )}\n\n <UnsavedChangesDialog\n {...dialogProps}\n handleOk={() => {\n dialogProps.handleOk();\n if (cancelRequested) {\n navigate(urlController.buildAppUrlPath(\"/\"));\n setCancelRequested(false);\n }\n }}\n handleCancel={() => {\n dialogProps.handleCancel();\n setCancelRequested(false);\n }}\n />\n </AIModifiedPathsProvider>\n </div>\n );\n}\n","\nimport { IconForView } from \"@rebasepro/core\";\n;\nimport { useUrlController } from \"../../_cms_internals\";\nimport React, { useState, useEffect } from \"react\";\nimport { useLocation, useNavigate } from \"react-router-dom\";\nimport { cls, defaultBorderMixin, ResizablePanels, Typography, IconButton, Button , iconSize, Tooltip } from \"@rebasepro/ui\";\nimport { PlusIcon } from \"lucide-react\";\n;\nimport { CollectionsConfigController } from \"../../types/config_controller\";\nimport { CollectionStudioView } from \"./CollectionStudioView\";\n\nexport interface CollectionsStudioViewProps {\n configController: CollectionsConfigController;\n}\n\nexport function CollectionsStudioView({ configController }: CollectionsStudioViewProps) {\n const navigate = useNavigate();\n const urlController = useUrlController();\n const location = useLocation();\n\n // Determine the active collection from the URL segment after \"schema/\"\n const basePath = urlController.buildAppUrlPath(\"schema\");\n const relativePath = location.pathname.replace(basePath, \"\").replace(/^\\//, \"\");\n\n // The collectionId could be \"new\", empty (no selection), or a collection slug\n const activeCollectionId = relativePath.split(\"/\")[0] || undefined;\n\n const [sidebarSize, setSidebarSize] = useState(() => {\n try {\n const saved = localStorage.getItem(\"rebase_collections_editor_sidebar_size\");\n return saved !== null ? parseFloat(saved) : 25;\n } catch (e) {\n return 25;\n }\n });\n\n useEffect(() => {\n try {\n localStorage.setItem(\"rebase_collections_editor_sidebar_size\", sidebarSize.toString());\n } catch (e) {\n // ignore local storage error\n }\n }, [sidebarSize]);\n\n const collections = configController.collections || [];\n\n return (\n <div className=\"flex h-full w-full bg-white dark:bg-surface-950 overflow-hidden text-text-primary dark:text-text-primary-dark\">\n <ResizablePanels\n orientation=\"horizontal\"\n panelSizePercent={sidebarSize}\n onPanelSizeChange={setSidebarSize}\n minPanelSizePx={220}\n firstPanel={\n <div className={cls(\"flex flex-col h-full w-full bg-white dark:bg-surface-950 border-r\", defaultBorderMixin)}>\n <div className={cls(\"flex items-center justify-between px-3 py-2 border-b bg-surface-50 dark:bg-surface-900 min-h-[48px]\", defaultBorderMixin)}>\n <Typography variant=\"caption\" className=\"font-bold uppercase tracking-wider text-text-disabled dark:text-text-disabled-dark\">\n Collections\n </Typography>\n <Tooltip title={configController.readOnly ? configController.readOnlyReason || \"Read only\" : \"Add collection\"}>\n <div>\n <IconButton\n size=\"small\"\n disabled={configController.readOnly}\n onClick={() => navigate(urlController.buildAppUrlPath(\"schema/new\"))}\n className={activeCollectionId === \"new\" ? \"text-primary dark:text-primary-dark\" : \"text-text-secondary dark:text-text-secondary-dark\"}\n >\n <PlusIcon size={iconSize.smallest}/>\n </IconButton>\n </div>\n </Tooltip>\n </div>\n\n <div className=\"flex-grow overflow-y-auto w-full no-scrollbar p-2 space-y-0.5\">\n {collections.length === 0 && (\n <div className=\"p-4 text-center\">\n <Typography variant=\"caption\" className=\"text-text-disabled dark:text-text-disabled-dark italic\">\n No collections yet.\n </Typography>\n </div>\n )}\n {collections.map((collection) => {\n const collectionKey = collection.slug;\n const isSelected = activeCollectionId === collectionKey;\n return (\n <div\n key={collectionKey}\n onClick={() => navigate(urlController.buildAppUrlPath(`schema/${collectionKey}`))}\n className={cls(\n \"flex items-center gap-3 px-3 py-2 cursor-pointer rounded-md text-sm transition-colors\",\n isSelected\n ? \"bg-primary/10 text-primary dark:bg-primary/20 dark:text-primary-light\"\n : \"hover:bg-surface-100 dark:hover:bg-surface-900 text-text-secondary dark:text-text-secondary-dark\"\n )}\n >\n <IconForView collectionOrView={collection} size={\"small\"} className={cls(\n isSelected\n ? \"text-primary dark:text-primary-light\"\n : \"text-text-secondary dark:text-text-secondary-dark\"\n )}/>\n <span className=\"truncate flex-1\">\n {collection.name || collection.slug}\n </span>\n </div>\n );\n })}\n </div>\n </div>\n }\n secondPanel={\n <div className=\"flex-grow flex flex-col min-w-0 h-full w-full\">\n {/* We use key to force unmount when switching collections, preventing stale state */}\n {activeCollectionId ? (\n <CollectionStudioView\n key={activeCollectionId}\n configController={configController}\n collectionId={activeCollectionId}\n />\n ) : (\n <div className=\"flex flex-col items-center justify-center h-full gap-4\">\n <Typography variant=\"label\">\n Select a collection or create a new one to start editing\n </Typography>\n <Button\n disabled={configController.readOnly}\n onClick={() => navigate(urlController.buildAppUrlPath(\"schema/new\"))}\n >\n <PlusIcon/>\n Add new collection\n </Button>\n </div>\n )}\n </div>\n }\n />\n </div>\n );\n}\n"],"names":["CollectionStudioView","t0","$","_c","collectionId","props","snackbarController","useSnackbarController","navigate","useNavigate","urlController","useUrlController","formDirty","setFormDirty","useState","cancelRequested","setCancelRequested","t1","Symbol","for","dialogProps","triggerDialog","useUnsavedChangesDialog","activeCollectionId","t2","buildAppUrlPath","handleCancelClick","t3","undefined","savedCollection","open","type","message","name","slug","configController","readOnly","t4","handleOk","t5","handleCancel","t6","t7","CollectionsStudioView","location","useLocation","basePath","relativePath","pathname","replace","split","sidebarSize","setSidebarSize","saved","localStorage","getItem","parseFloat","e","useEffect","setItem","toString","collections","cls","defaultBorderMixin","readOnlyReason","iconSize","smallest","length","map","collection","collectionKey","isSelected"],"mappings":"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"}
|
|
@@ -11,7 +11,7 @@ import "@rebasepro/common";
|
|
|
11
11
|
import "@rebasepro/formex";
|
|
12
12
|
import "zod";
|
|
13
13
|
import "@rebasepro/utils";
|
|
14
|
-
import { m as useNavigationStateController, k as useCMSContext, i as useBreadcrumbsController } from "./util-
|
|
14
|
+
import { m as useNavigationStateController, k as useCMSContext, i as useBreadcrumbsController } from "./util-zfU1zOCX.js";
|
|
15
15
|
import "date-fns";
|
|
16
16
|
import "date-fns/locale";
|
|
17
17
|
import "@rebasepro/types";
|
|
@@ -1783,4 +1783,4 @@ export {
|
|
|
1783
1783
|
ContentHomePage,
|
|
1784
1784
|
DEFAULT_GROUP_NAME
|
|
1785
1785
|
};
|
|
1786
|
-
//# sourceMappingURL=ContentHomePage-
|
|
1786
|
+
//# sourceMappingURL=ContentHomePage-0tHuEIm_.js.map
|