opacacms 0.1.21 → 0.2.1

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 (138) hide show
  1. package/README.md +792 -50
  2. package/dist/admin/auth-client.d.ts +39 -39
  3. package/dist/admin/index.js +2360 -1392
  4. package/dist/admin/react.d.ts +1 -1
  5. package/dist/admin/react.js +8 -0
  6. package/dist/admin/router.d.ts +1 -0
  7. package/dist/admin/stores/ui.d.ts +10 -0
  8. package/dist/admin/ui/admin-layout.d.ts +4 -4
  9. package/dist/admin/ui/components/DataDetailView.d.ts +1 -1
  10. package/dist/admin/ui/components/DetailSheet.d.ts +19 -0
  11. package/dist/admin/ui/components/PluginSettingsForm.d.ts +11 -0
  12. package/dist/admin/ui/components/fields/BooleanField.d.ts +2 -1
  13. package/dist/admin/ui/components/fields/DateField.d.ts +1 -1
  14. package/dist/admin/ui/components/fields/FieldLabel.d.ts +11 -0
  15. package/dist/admin/ui/components/fields/FileField.d.ts +1 -1
  16. package/dist/admin/ui/components/fields/NumberField.d.ts +1 -1
  17. package/dist/admin/ui/components/fields/RadioField.d.ts +1 -1
  18. package/dist/admin/ui/components/fields/RelationshipField.d.ts +3 -1
  19. package/dist/admin/ui/components/fields/SelectField.d.ts +1 -1
  20. package/dist/admin/ui/components/fields/TextAreaField.d.ts +1 -1
  21. package/dist/admin/ui/components/fields/TextField.d.ts +1 -1
  22. package/dist/admin/ui/components/fields/VirtualField.d.ts +1 -0
  23. package/dist/admin/ui/components/fields/index.d.ts +16 -16
  24. package/dist/admin/ui/components/fields/richtext-editor/index.d.ts +1 -1
  25. package/dist/admin/ui/components/media/AssetManagerModal.d.ts +1 -1
  26. package/dist/admin/ui/components/toast.d.ts +1 -1
  27. package/dist/admin/ui/components/ui/accordion.d.ts +1 -1
  28. package/dist/admin/ui/components/ui/button.d.ts +1 -1
  29. package/dist/admin/ui/components/ui/collapsible.d.ts +1 -1
  30. package/dist/admin/ui/components/ui/dialog.d.ts +1 -1
  31. package/dist/admin/ui/components/ui/group.d.ts +1 -1
  32. package/dist/admin/ui/components/ui/index.d.ts +17 -17
  33. package/dist/admin/ui/components/ui/input.d.ts +1 -1
  34. package/dist/admin/ui/components/ui/label.d.ts +1 -1
  35. package/dist/admin/ui/components/ui/radio-group.d.ts +1 -1
  36. package/dist/admin/ui/components/ui/relationship.d.ts +4 -4
  37. package/dist/admin/ui/components/ui/select.d.ts +1 -1
  38. package/dist/admin/ui/components/ui/sheet.d.ts +1 -1
  39. package/dist/admin/ui/components/ui/tabs.d.ts +1 -1
  40. package/dist/admin/ui/components/versions-sheet.d.ts +11 -0
  41. package/dist/admin/ui/views/media-registry-view.d.ts +1 -1
  42. package/dist/admin/ui/views/settings-view.d.ts +2 -2
  43. package/dist/admin/vue.js +8 -0
  44. package/dist/admin/webcomponent.js +20 -2
  45. package/dist/admin.css +1 -1
  46. package/dist/auth/index.d.ts +101 -41
  47. package/dist/{chunk-fqastxq9.js → chunk-06ks4ggh.js} +133 -44
  48. package/dist/{chunk-xrfhhz85.js → chunk-2es275xs.js} +480 -85
  49. package/dist/{chunk-v521d72w.js → chunk-3rdhbedb.js} +1 -1
  50. package/dist/chunk-51z3x7kq.js +20 -0
  51. package/dist/{chunk-7fyepksb.js → chunk-526a3gqx.js} +1 -1
  52. package/dist/{chunk-0sdceeys.js → chunk-6d1vdfwa.js} +121 -31
  53. package/dist/{chunk-wmvjvn7b.js → chunk-6qq3ne6b.js} +39 -1
  54. package/dist/{chunk-0am1m47g.js → chunk-6v1fw7q7.js} +5 -5
  55. package/dist/{chunk-t9v845m2.js → chunk-7y1nbmw6.js} +34 -3
  56. package/dist/chunk-8scgdznr.js +44 -0
  57. package/dist/{chunk-mycmsjd9.js → chunk-b3kr8w41.js} +57 -6
  58. package/dist/chunk-bexcv7xe.js +36 -0
  59. package/dist/{chunk-ekxkvqjm.js → chunk-bygjkgrx.js} +124 -34
  60. package/dist/{chunk-16vgcf3k.js → chunk-byq8g0rd.js} +1 -1
  61. package/dist/{chunk-cpw2y3pn.js → chunk-dykn5hr6.js} +7 -7
  62. package/dist/chunk-fj19qccp.js +78 -0
  63. package/dist/{chunk-n1xraw7j.js → chunk-g1jb60xd.js} +1 -1
  64. package/dist/{chunk-xa7rjsn2.js → chunk-j53pz21t.js} +2 -2
  65. package/dist/{chunk-nb7ctdg8.js → chunk-jdfw4v3r.js} +1 -1
  66. package/dist/chunk-mkn49zmy.js +102 -0
  67. package/dist/{chunk-59sg3pw9.js → chunk-n133qpsm.js} +128 -34
  68. package/dist/{chunk-2kyhqvhc.js → chunk-qxt9vge8.js} +1 -1
  69. package/dist/chunk-r39em4yj.js +29 -0
  70. package/dist/chunk-rqyjjqgy.js +91 -0
  71. package/dist/chunk-rsf0tpy1.js +8 -0
  72. package/dist/chunk-t0zg026p.js +71 -0
  73. package/dist/{chunk-61kwqve4.js → chunk-tfnaf41w.js} +118 -37
  74. package/dist/chunk-twpvxfce.js +64 -0
  75. package/dist/{chunk-ybbbqj63.js → chunk-v9z61v3g.js} +15 -0
  76. package/dist/{chunk-jwjk85ze.js → chunk-ywm4t2gm.js} +6 -2
  77. package/dist/cli/commands/plugin-build.d.ts +1 -0
  78. package/dist/cli/commands/plugin-init.d.ts +1 -0
  79. package/dist/cli/commands/plugin-sync.d.ts +1 -0
  80. package/dist/cli/index.js +24 -6
  81. package/dist/config-utils.d.ts +1 -1
  82. package/dist/config.d.ts +21 -4
  83. package/dist/db/adapter.d.ts +2 -2
  84. package/dist/db/better-sqlite.d.ts +2 -1
  85. package/dist/db/better-sqlite.js +5 -5
  86. package/dist/db/bun-sqlite.d.ts +2 -1
  87. package/dist/db/bun-sqlite.js +5 -5
  88. package/dist/db/d1.d.ts +1 -1
  89. package/dist/db/d1.js +5 -5
  90. package/dist/db/index.js +9 -9
  91. package/dist/db/postgres.d.ts +3 -3
  92. package/dist/db/postgres.js +5 -5
  93. package/dist/db/sqlite.d.ts +2 -1
  94. package/dist/db/sqlite.js +5 -5
  95. package/dist/index.js +4 -3
  96. package/dist/plugins/index.d.ts +1 -0
  97. package/dist/plugins/ui-bridge.d.ts +12 -0
  98. package/dist/plugins/utils.d.ts +5 -0
  99. package/dist/runtimes/bun.js +13 -7
  100. package/dist/runtimes/cloudflare-workers.js +5 -5
  101. package/dist/runtimes/next.js +5 -5
  102. package/dist/runtimes/node.js +13 -7
  103. package/dist/schema/collection.d.ts +9 -26
  104. package/dist/schema/fields/base.d.ts +3 -2
  105. package/dist/schema/fields/index.d.ts +12 -0
  106. package/dist/schema/fields/validation.test.d.ts +1 -0
  107. package/dist/schema/global.d.ts +10 -7
  108. package/dist/schema/index.js +22 -6
  109. package/dist/server/admin-router.d.ts +2 -2
  110. package/dist/server/admin.d.ts +2 -1
  111. package/dist/server/collection-router.d.ts +1 -1
  112. package/dist/server/handlers.d.ts +10 -0
  113. package/dist/server/middlewares/admin.d.ts +2 -2
  114. package/dist/server/middlewares/auth.d.ts +1 -1
  115. package/dist/server/middlewares/context.d.ts +2 -0
  116. package/dist/server/middlewares/rate-limit.d.ts +1 -1
  117. package/dist/server/openapi.d.ts +2 -0
  118. package/dist/server/plugins-loader.d.ts +6 -0
  119. package/dist/server/router.d.ts +3 -3
  120. package/dist/server/routers/admin.d.ts +2 -2
  121. package/dist/server/routers/auth.d.ts +1 -1
  122. package/dist/server/routers/collections.d.ts +1 -1
  123. package/dist/server/routers/plugins.d.ts +18 -0
  124. package/dist/server/setup-middlewares.d.ts +2 -2
  125. package/dist/server/system-router.d.ts +1 -1
  126. package/dist/server.js +11 -7
  127. package/dist/storage/adapters/local.d.ts +1 -1
  128. package/dist/storage/adapters/s3.d.ts +1 -1
  129. package/dist/storage/index.js +34 -25
  130. package/dist/types.d.ts +224 -17
  131. package/dist/utils/logger.d.ts +13 -35
  132. package/dist/validation.d.ts +40 -0
  133. package/dist/validator.d.ts +1 -1
  134. package/package.json +41 -27
  135. package/dist/admin/ui/components/DataDetailSheet.d.ts +0 -13
  136. package/dist/admin/ui/components/ui/relationship-detail-sheet.d.ts +0 -9
  137. package/dist/chunk-62ev8gnc.js +0 -41
  138. package/dist/chunk-j4d50hrx.js +0 -20
@@ -1,3 +1,3 @@
1
1
  import React from 'react';
2
- import { type CustomFieldProps } from './custom-field';
2
+ import { type CustomFieldProps } from '../admin/custom-field';
3
3
  export declare function defineReactField<TValue = any, TConfig = Record<string, any>>(tagName: string, Component: React.ComponentType<CustomFieldProps<TValue, TConfig>>): void;
@@ -0,0 +1,8 @@
1
+ import {
2
+ defineReactField
3
+ } from "../chunk-bexcv7xe.js";
4
+ import"../chunk-rqyjjqgy.js";
5
+ import"../chunk-8sqjbsgt.js";
6
+ export {
7
+ defineReactField
8
+ };
@@ -4,4 +4,5 @@ export declare const $router: import("@nanostores/router").Router<{
4
4
  readonly document: "/admin/collections/:slug/:id";
5
5
  readonly globals: "/admin/globals/:slug";
6
6
  readonly settings: "/admin/settings";
7
+ readonly plugin: "/admin/:path";
7
8
  }>;
@@ -1,3 +1,4 @@
1
+ import type { IconName } from "../../types";
1
2
  export interface ToastItem {
2
3
  id: string;
3
4
  message: string;
@@ -9,3 +10,12 @@ export declare const $isSidebarCollapsed: import("nanostores").WritableAtom<bool
9
10
  export declare function toggleSidebar(): void;
10
11
  export declare function notify(message: string, type?: ToastItem["type"]): void;
11
12
  export declare function clearToast(id: string): void;
13
+ export interface SidebarItem {
14
+ label: string;
15
+ icon?: IconName | string;
16
+ path: string;
17
+ component?: string;
18
+ render?: (serverUrl: string, config: any, user: any) => string;
19
+ }
20
+ export declare const $customSidebarItems: import("nanostores").PreinitializedWritableAtom<SidebarItem[]> & object;
21
+ export declare function registerSidebarItem(item: SidebarItem): void;
@@ -1,6 +1,6 @@
1
- import type React from "react";
2
- import type { SerializableConfig } from "../../types";
3
- import "./styles/index.scss";
1
+ import type React from 'react';
2
+ import type { SerializableConfig } from '../../types';
3
+ import '../../admin/ui/styles/index.scss';
4
4
  export interface AdminLayoutProps {
5
5
  children: React.ReactNode;
6
6
  config: SerializableConfig;
@@ -11,4 +11,4 @@ export interface AdminLayoutProps {
11
11
  } | null;
12
12
  onLogout?: () => void;
13
13
  }
14
- export declare function AdminLayout({ children, config, user, onLogout }: AdminLayoutProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function AdminLayout({ children, config, user, onLogout, }: AdminLayoutProps): import("react/jsx-runtime").JSX.Element;
@@ -1,5 +1,5 @@
1
1
  interface DataDetailViewProps {
2
- data: any;
2
+ data: unknown;
3
3
  label?: string;
4
4
  depth?: number;
5
5
  isEditing?: boolean;
@@ -0,0 +1,19 @@
1
+ import type React from "react";
2
+ import "../../../admin/ui/styles/data-detail.scss";
3
+ interface DetailSheetProps {
4
+ open: boolean;
5
+ onOpenChange: (open: boolean) => void;
6
+ title: string;
7
+ description?: string;
8
+ data?: any;
9
+ relationTo?: string;
10
+ id?: string | number;
11
+ onSave?: (updatedData: any) => void;
12
+ field?: string;
13
+ }
14
+ /**
15
+ * Universal sheet for viewing and editing document or data details.
16
+ * Can either take 'data' directly (for blocks/arrays) or 'relationTo' + 'id' to fetch.
17
+ */
18
+ export declare const DetailSheet: React.FC<DetailSheetProps>;
19
+ export {};
@@ -0,0 +1,11 @@
1
+ interface PluginSettingsFormProps {
2
+ plugin: {
3
+ name: string;
4
+ label?: string;
5
+ configSchema?: any[];
6
+ };
7
+ onBack: () => void;
8
+ notify?: (message: string, type?: 'success' | 'error') => void;
9
+ }
10
+ export declare function PluginSettingsForm({ plugin, onBack, notify, }: PluginSettingsFormProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -1,9 +1,10 @@
1
- import type React from "react";
2
1
  interface BooleanFieldProps {
3
2
  name: string;
4
3
  label?: string;
5
4
  value: boolean;
6
5
  onChange: (val: boolean) => void;
6
+ required?: boolean;
7
+ localized?: boolean;
7
8
  disabled?: boolean;
8
9
  readOnly?: boolean;
9
10
  error?: string;
@@ -1,10 +1,10 @@
1
- import type React from "react";
2
1
  interface DateFieldProps {
3
2
  name: string;
4
3
  label?: string;
5
4
  value: string | number | Date;
6
5
  onChange: (val: string) => void;
7
6
  required?: boolean;
7
+ localized?: boolean;
8
8
  disabled?: boolean;
9
9
  readOnly?: boolean;
10
10
  error?: string;
@@ -0,0 +1,11 @@
1
+ import type React from 'react';
2
+ interface FieldLabelProps {
3
+ name: string;
4
+ label?: string;
5
+ required?: boolean;
6
+ localized?: boolean;
7
+ htmlFor?: string;
8
+ suffix?: React.ReactNode;
9
+ }
10
+ export declare const FieldLabel: React.FC<FieldLabelProps>;
11
+ export {};
@@ -1,5 +1,5 @@
1
1
  import type React from "react";
2
- import "../../styles/asset-manager.scss";
2
+ import "../../../../admin/ui/styles/asset-manager.scss";
3
3
  interface FileFieldProps {
4
4
  name: string;
5
5
  label?: string;
@@ -1,10 +1,10 @@
1
- import type React from "react";
2
1
  interface NumberFieldProps {
3
2
  name: string;
4
3
  label?: string;
5
4
  value: number;
6
5
  onChange: (val: number) => void;
7
6
  required?: boolean;
7
+ localized?: boolean;
8
8
  disabled?: boolean;
9
9
  readOnly?: boolean;
10
10
  placeholder?: string;
@@ -1,4 +1,3 @@
1
- import type React from "react";
2
1
  interface RadioFieldProps {
3
2
  name: string;
4
3
  label?: string;
@@ -9,6 +8,7 @@ interface RadioFieldProps {
9
8
  value: string;
10
9
  } | string>;
11
10
  required?: boolean;
11
+ localized?: boolean;
12
12
  disabled?: boolean;
13
13
  readOnly?: boolean;
14
14
  error?: string;
@@ -1,10 +1,12 @@
1
- import type React from "react";
1
+ import type React from 'react';
2
2
  interface RelationshipFieldProps {
3
3
  name: string;
4
4
  label?: string;
5
5
  relationTo: string;
6
6
  value: any;
7
7
  onChange: (val: any) => void;
8
+ required?: boolean;
9
+ localized?: boolean;
8
10
  disabled?: boolean;
9
11
  readOnly?: boolean;
10
12
  error?: string;
@@ -1,4 +1,3 @@
1
- import type React from "react";
2
1
  interface SelectFieldProps {
3
2
  name: string;
4
3
  label?: string;
@@ -9,6 +8,7 @@ interface SelectFieldProps {
9
8
  value: string;
10
9
  } | string>;
11
10
  required?: boolean;
11
+ localized?: boolean;
12
12
  disabled?: boolean;
13
13
  readOnly?: boolean;
14
14
  placeholder?: string;
@@ -1,10 +1,10 @@
1
- import type React from "react";
2
1
  interface TextAreaFieldProps {
3
2
  name: string;
4
3
  label?: string;
5
4
  value: string | null;
6
5
  onChange: (val: string | null) => void;
7
6
  required?: boolean;
7
+ localized?: boolean;
8
8
  disabled?: boolean;
9
9
  readOnly?: boolean;
10
10
  placeholder?: string;
@@ -1,10 +1,10 @@
1
- import type React from "react";
2
1
  interface TextFieldProps {
3
2
  name: string;
4
3
  label?: string;
5
4
  value: string | null;
6
5
  onChange: (val: string | null) => void;
7
6
  required?: boolean;
7
+ localized?: boolean;
8
8
  disabled?: boolean;
9
9
  readOnly?: boolean;
10
10
  placeholder?: string;
@@ -3,6 +3,7 @@ interface VirtualFieldProps {
3
3
  name: string;
4
4
  label?: string;
5
5
  value: any;
6
+ localized?: boolean;
6
7
  }
7
8
  export declare const VirtualField: React.FC<VirtualFieldProps>;
8
9
  export {};
@@ -1,20 +1,20 @@
1
1
  import React from "react";
2
- import { ArrayField } from "./ArrayField";
3
- import { BlocksField } from "./BlocksField";
4
- import { BooleanField } from "./BooleanField";
5
- import { CollapsibleField } from "./CollapsibleField";
6
- import { DateField } from "./DateField";
7
- import { FileField } from "./FileField";
8
- import { GroupField } from "./GroupField";
9
- import { JoinField } from "./JoinField";
10
- import { NumberField } from "./NumberField";
11
- import { RadioField } from "./RadioField";
12
- import { RelationshipField } from "./RelationshipField";
13
- import { SelectField } from "./SelectField";
14
- import { TabsField } from "./TabsField";
15
- import { TextAreaField } from "./TextAreaField";
16
- import { TextField } from "./TextField";
17
- import { VirtualField } from "./VirtualField";
2
+ import { ArrayField } from "../../../../admin/ui/components/fields/ArrayField";
3
+ import { BlocksField } from "../../../../admin/ui/components/fields/BlocksField";
4
+ import { BooleanField } from "../../../../admin/ui/components/fields/BooleanField";
5
+ import { CollapsibleField } from "../../../../admin/ui/components/fields/CollapsibleField";
6
+ import { DateField } from "../../../../admin/ui/components/fields/DateField";
7
+ import { FileField } from "../../../../admin/ui/components/fields/FileField";
8
+ import { GroupField } from "../../../../admin/ui/components/fields/GroupField";
9
+ import { JoinField } from "../../../../admin/ui/components/fields/JoinField";
10
+ import { NumberField } from "../../../../admin/ui/components/fields/NumberField";
11
+ import { RadioField } from "../../../../admin/ui/components/fields/RadioField";
12
+ import { RelationshipField } from "../../../../admin/ui/components/fields/RelationshipField";
13
+ import { SelectField } from "../../../../admin/ui/components/fields/SelectField";
14
+ import { TabsField } from "../../../../admin/ui/components/fields/TabsField";
15
+ import { TextAreaField } from "../../../../admin/ui/components/fields/TextAreaField";
16
+ import { TextField } from "../../../../admin/ui/components/fields/TextField";
17
+ import { VirtualField } from "../../../../admin/ui/components/fields/VirtualField";
18
18
  export { ArrayField, BlocksField, BooleanField, CollapsibleField, DateField, FileField, GroupField, JoinField, NumberField, RadioField, RelationshipField, SelectField, TabsField, TextAreaField, TextField, VirtualField, };
19
19
  interface FieldRendererProps {
20
20
  field: any;
@@ -1,4 +1,4 @@
1
- import "../../../styles/lexical.scss";
1
+ import "../../../../../admin/ui/styles/lexical.scss";
2
2
  export interface RichTextEditorProps {
3
3
  value: string;
4
4
  onChange: (value: string) => void;
@@ -1,5 +1,5 @@
1
1
  import React from 'react';
2
- import '../../styles/asset-manager.scss';
2
+ import '../../../../admin/ui/styles/asset-manager.scss';
3
3
  interface AssetManagerProps {
4
4
  onSelect: (asset: {
5
5
  assetId: string;
@@ -1,4 +1,4 @@
1
- import type { ToastItem } from "../../stores/ui";
1
+ import type { ToastItem } from "../../../admin/stores/ui";
2
2
  interface ToastProps extends ToastItem {
3
3
  onClear: (id: string) => void;
4
4
  }
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import "../../styles/accordion.scss";
2
+ import "../../../../admin/ui/styles/accordion.scss";
3
3
  interface AccordionProps {
4
4
  title: string;
5
5
  children: React.ReactNode;
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import "../../styles/button.scss";
2
+ import "../../../../admin/ui/styles/button.scss";
3
3
  export interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
4
4
  variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link";
5
5
  size?: "default" | "sm" | "lg" | "icon";
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import "../../styles/collapsible.scss";
2
+ import "../../../../admin/ui/styles/collapsible.scss";
3
3
  export interface CollapsibleProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  open?: boolean;
5
5
  defaultOpen?: boolean;
@@ -1,5 +1,5 @@
1
1
  import type * as React from "react";
2
- import "../../styles/dialog.scss";
2
+ import "../../../../admin/ui/styles/dialog.scss";
3
3
  export declare function Dialog({ open, onOpenChange, children, }: {
4
4
  open: boolean;
5
5
  onOpenChange: (open: boolean) => void;
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import "../../styles/group.scss";
2
+ import "../../../../admin/ui/styles/group.scss";
3
3
  export interface GroupProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  label?: string;
5
5
  }
@@ -1,17 +1,17 @@
1
- export * from "./accordion";
2
- export * from "./blocks";
3
- export * from "./button";
4
- export * from "./collapsible";
5
- export * from "./dialog";
6
- export * from "./group";
7
- export * from "./input";
8
- export * from "./join";
9
- export * from "./label";
10
- export * from "./radio-group";
11
- export * from "./relationship";
12
- export * from "./scroll-area";
13
- export * from "./select";
14
- export * from "./separator";
15
- export * from "./sheet";
16
- export * from "./tabs";
17
- export * from "./utils";
1
+ export * from "../../../../admin/ui/components/ui/accordion";
2
+ export * from "../../../../admin/ui/components/ui/blocks";
3
+ export * from "../../../../admin/ui/components/ui/button";
4
+ export * from "../../../../admin/ui/components/ui/collapsible";
5
+ export * from "../../../../admin/ui/components/ui/dialog";
6
+ export * from "../../../../admin/ui/components/ui/group";
7
+ export * from "../../../../admin/ui/components/ui/input";
8
+ export * from "../../../../admin/ui/components/ui/join";
9
+ export * from "../../../../admin/ui/components/ui/label";
10
+ export * from "../../../../admin/ui/components/ui/radio-group";
11
+ export * from "../../../../admin/ui/components/ui/relationship";
12
+ export * from "../../../../admin/ui/components/ui/scroll-area";
13
+ export * from "../../../../admin/ui/components/ui/select";
14
+ export * from "../../../../admin/ui/components/ui/separator";
15
+ export * from "../../../../admin/ui/components/ui/sheet";
16
+ export * from "../../../../admin/ui/components/ui/tabs";
17
+ export * from "../../../../admin/ui/components/ui/utils";
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import "../../styles/input.scss";
2
+ import "../../../../admin/ui/styles/input.scss";
3
3
  export interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
4
4
  }
5
5
  export declare const Input: React.ForwardRefExoticComponent<InputProps & React.RefAttributes<HTMLInputElement>>;
@@ -1,3 +1,3 @@
1
1
  import * as React from "react";
2
- import "../../styles/label.scss";
2
+ import "../../../../admin/ui/styles/label.scss";
3
3
  export declare const Label: React.ForwardRefExoticComponent<React.LabelHTMLAttributes<HTMLLabelElement> & React.RefAttributes<HTMLLabelElement>>;
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import "../../styles/radio-group.scss";
2
+ import "../../../../admin/ui/styles/radio-group.scss";
3
3
  export interface RadioGroupProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  value?: string;
5
5
  onValueChange?: (value: string) => void;
@@ -1,8 +1,8 @@
1
- import * as React from "react";
2
- export interface RelationshipProps extends React.HTMLAttributes<HTMLDivElement> {
1
+ import * as React from 'react';
2
+ export interface RelationshipProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
3
  label?: string;
4
4
  relationTo: string;
5
5
  children?: React.ReactNode;
6
- onClick?: () => void;
6
+ hasError?: boolean;
7
7
  }
8
- export declare const Relationship: React.ForwardRefExoticComponent<RelationshipProps & React.RefAttributes<HTMLDivElement>>;
8
+ export declare const Relationship: React.ForwardRefExoticComponent<RelationshipProps & React.RefAttributes<HTMLButtonElement>>;
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import "../../styles/select.scss";
2
+ import "../../../../admin/ui/styles/select.scss";
3
3
  export interface SelectProps {
4
4
  value?: string;
5
5
  onValueChange?: (value: string) => void;
@@ -1,5 +1,5 @@
1
1
  import type * as React from "react";
2
- import "../../styles/sheet.scss";
2
+ import "../../../../admin/ui/styles/sheet.scss";
3
3
  export declare function Sheet({ open, onOpenChange, children, }: {
4
4
  open: boolean;
5
5
  onOpenChange: (open: boolean) => void;
@@ -1,5 +1,5 @@
1
1
  import * as React from "react";
2
- import "../../styles/tabs.scss";
2
+ import "../../../../admin/ui/styles/tabs.scss";
3
3
  export interface TabsProps extends React.HTMLAttributes<HTMLDivElement> {
4
4
  value?: string;
5
5
  defaultValue?: string;
@@ -0,0 +1,11 @@
1
+ import type { SerializableCollection } from '../../../types';
2
+ import '../../../admin/ui/styles/versions.scss';
3
+ interface VersionsSheetProps {
4
+ collection: SerializableCollection;
5
+ parentId: string;
6
+ open: boolean;
7
+ onOpenChange: (open: boolean) => void;
8
+ onRestore: (data: Record<string, any>) => void;
9
+ }
10
+ export declare function VersionsSheet({ collection, parentId, open, onOpenChange, onRestore, }: VersionsSheetProps): import("react/jsx-runtime").JSX.Element;
11
+ export {};
@@ -1,5 +1,5 @@
1
1
  import type { SerializableCollection, SerializableConfig } from "../../../types";
2
- import "../styles/media-registry.scss";
2
+ import "../../../admin/ui/styles/media-registry.scss";
3
3
  export interface MediaRegistryViewProps {
4
4
  collection: SerializableCollection;
5
5
  config: SerializableConfig;
@@ -1,5 +1,5 @@
1
- import type { SerializableConfig } from "../../../types";
2
- import type { ToastType } from "../../stores/ui";
1
+ import type { SerializableConfig } from '../../../types';
2
+ import type { ToastType } from '../../../admin/stores/ui';
3
3
  export interface SettingsViewProps {
4
4
  notify?: (message: string, type?: ToastType) => void;
5
5
  config: SerializableConfig;
@@ -0,0 +1,8 @@
1
+ import {
2
+ defineVueField
3
+ } from "../chunk-r39em4yj.js";
4
+ import"../chunk-rqyjjqgy.js";
5
+ import"../chunk-8sqjbsgt.js";
6
+ export {
7
+ defineVueField
8
+ };