@arbidocs/blocks 0.5.36 → 0.5.38

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 (46) hide show
  1. package/README.md +22 -0
  2. package/dist/{WorkspaceTableView-ATZHON74.cjs → WorkspaceTableView-KG546U7M.cjs} +5 -5
  3. package/dist/{WorkspaceTableView-ATZHON74.cjs.map → WorkspaceTableView-KG546U7M.cjs.map} +1 -1
  4. package/dist/{WorkspaceTableView-7APDRIPL.js → WorkspaceTableView-OSFIWJ5C.js} +3 -3
  5. package/dist/{WorkspaceTableView-7APDRIPL.js.map → WorkspaceTableView-OSFIWJ5C.js.map} +1 -1
  6. package/dist/{chunk-RBHVIVWP.js → chunk-K6W2GWCN.js} +80 -80
  7. package/dist/chunk-K6W2GWCN.js.map +1 -0
  8. package/dist/{chunk-Q7BS7EOU.cjs → chunk-KFQ6E6LE.cjs} +32 -28
  9. package/dist/chunk-KFQ6E6LE.cjs.map +1 -0
  10. package/dist/{chunk-XHW35TC7.js → chunk-PPHUOWCJ.js} +33 -29
  11. package/dist/chunk-PPHUOWCJ.js.map +1 -0
  12. package/dist/chunk-PTYERKEU.js +2132 -0
  13. package/dist/chunk-PTYERKEU.js.map +1 -0
  14. package/dist/chunk-TQSU3I4C.cjs +2180 -0
  15. package/dist/chunk-TQSU3I4C.cjs.map +1 -0
  16. package/dist/{chunk-G4VUVOHZ.cjs → chunk-YDY4GIC2.cjs} +79 -79
  17. package/dist/chunk-YDY4GIC2.cjs.map +1 -0
  18. package/dist/connect/index.cjs +2509 -1744
  19. package/dist/connect/index.cjs.map +1 -1
  20. package/dist/connect/index.d.ts +2 -0
  21. package/dist/connect/index.js +2221 -1459
  22. package/dist/connect/index.js.map +1 -1
  23. package/dist/connection/databases/ConnectedDatabasesPage.d.ts +1 -0
  24. package/dist/connection/databases/DatabaseViewsMenu.d.ts +10 -0
  25. package/dist/connection/databases/index.d.ts +1 -0
  26. package/dist/connection/databases/useDatabaseCellSources.d.ts +6 -0
  27. package/dist/connection/workspace-form/ConnectedProjectSelector.d.ts +15 -0
  28. package/dist/connection/workspace-form/ConnectedWorkspaceFormModal.d.ts +11 -0
  29. package/dist/connection/workspace-form/WorkspaceCreateForm.d.ts +15 -0
  30. package/dist/connection/workspace-form/index.d.ts +3 -0
  31. package/dist/connection/workspace-form/types.d.ts +28 -0
  32. package/dist/connection/workspace-list/ConnectedWorkspaceList.d.ts +4 -1
  33. package/dist/connection/workspace-list/useConnectedWorkspaceList.d.ts +12 -36
  34. package/dist/databases/index.cjs +193 -2173
  35. package/dist/databases/index.cjs.map +1 -1
  36. package/dist/databases/index.js +4 -2129
  37. package/dist/databases/index.js.map +1 -1
  38. package/dist/workspaces/WorkspaceFormParts.d.ts +3 -2
  39. package/dist/workspaces/index.cjs +27 -27
  40. package/dist/workspaces/index.js +2 -2
  41. package/node_modules/@arbidocs/coedit/package.json +1 -1
  42. package/package.json +5 -5
  43. package/dist/chunk-G4VUVOHZ.cjs.map +0 -1
  44. package/dist/chunk-Q7BS7EOU.cjs.map +0 -1
  45. package/dist/chunk-RBHVIVWP.js.map +0 -1
  46. package/dist/chunk-XHW35TC7.js.map +0 -1
@@ -0,0 +1 @@
1
+ export declare function ConnectedDatabasesPage(): import("react").JSX.Element;
@@ -0,0 +1,10 @@
1
+ import type { GridApi } from 'ag-grid-community';
2
+ import { type DatabaseColumnView, type DatabaseRowView } from '../../databases';
3
+ interface DatabaseViewsMenuProps {
4
+ databaseId: string;
5
+ gridId: string;
6
+ gridApi: GridApi<DatabaseRowView> | null;
7
+ columns: DatabaseColumnView[];
8
+ }
9
+ export declare function DatabaseViewsMenu({ databaseId, gridId, gridApi, columns, }: DatabaseViewsMenuProps): import("react").JSX.Element;
10
+ export {};
@@ -0,0 +1 @@
1
+ export { ConnectedDatabasesPage } from './ConnectedDatabasesPage';
@@ -0,0 +1,6 @@
1
+ import { type DatabaseCellSources } from '../../databases';
2
+ import { type Database } from '@arbidocs/react';
3
+ /**
4
+ * @param databases the databases a relation can point at (their first column titles a row).
5
+ */
6
+ export declare function useDatabaseCellSources(databases: Database[] | undefined): DatabaseCellSources;
@@ -0,0 +1,15 @@
1
+ import type { WorkspaceFormProject } from './types';
2
+ /**
3
+ * The workspace's owning project, as a picker. Exported because the workspace
4
+ * home's identity bar offers the same change in place — one control for
5
+ * "which project owns this", not two that drift apart.
6
+ */
7
+ export declare function ConnectedProjectSelector({ projectExtId, onProjectChange, projectOptions, onCreateProject, disabled, readOnly, className, }: {
8
+ projectExtId?: string | null;
9
+ onProjectChange: (value: string | null) => void;
10
+ projectOptions: WorkspaceFormProject[];
11
+ onCreateProject?: () => void;
12
+ disabled?: boolean;
13
+ readOnly?: boolean;
14
+ className?: string;
15
+ }): import("react").JSX.Element;
@@ -0,0 +1,11 @@
1
+ import { type WorkspaceFormModalProps } from '../../workspaces/WorkspaceFormParts';
2
+ import type { WorkspaceCreated, WorkspaceFormSeed } from './types';
3
+ export interface ConnectedWorkspaceFormModalProps extends Omit<WorkspaceFormModalProps, 'children'> {
4
+ /** Demo fixture data and local creation; ignored while signed in to a live session. */
5
+ seed?: WorkspaceFormSeed;
6
+ /** Preselect the owning project (the forProject variant). */
7
+ projectId?: string | null;
8
+ /** Complete the host's creation flow. By default the new workspace is opened. */
9
+ onCreated?: (workspace: WorkspaceCreated) => Promise<void> | void;
10
+ }
11
+ export declare function ConnectedWorkspaceFormModal({ open, onOpenChange, projectId, onCreated, seed, testId, icon, ...frame }: ConnectedWorkspaceFormModalProps): import("react").JSX.Element;
@@ -0,0 +1,15 @@
1
+ import type { WorkspaceCreated, WorkspaceFormSeed } from './types';
2
+ interface WorkspaceCreateFormProps {
3
+ onCreated: (workspace: WorkspaceCreated) => Promise<void> | void;
4
+ onCancel?: () => void;
5
+ onPendingChange?: (pending: boolean) => void;
6
+ seed?: WorkspaceFormSeed;
7
+ /** Pre-select this project (e.g. opened from a specific project row) so the
8
+ * new workspace is created inside it. null/undefined → the generic flow. */
9
+ defaultProjectId?: string | null;
10
+ }
11
+ /**
12
+ * The creation body of the shared modal variants; the host chooses the final landing.
13
+ */
14
+ export declare function WorkspaceCreateForm({ onCreated, onCancel, onPendingChange, defaultProjectId, seed, }: WorkspaceCreateFormProps): import("react").JSX.Element;
15
+ export {};
@@ -0,0 +1,3 @@
1
+ export { ConnectedWorkspaceFormModal, type ConnectedWorkspaceFormModalProps, } from './ConnectedWorkspaceFormModal';
2
+ export { ConnectedProjectSelector } from './ConnectedProjectSelector';
3
+ export type { WorkspaceCreated, WorkspaceFormSeed } from './types';
@@ -0,0 +1,28 @@
1
+ import type { components } from '@arbidocs/client';
2
+ import type { CreateWorkspaceVars } from '@arbidocs/react';
3
+ export interface WorkspaceFormProject {
4
+ external_id: string;
5
+ name: string;
6
+ subscription: string;
7
+ quotas?: {
8
+ ai_usage: {
9
+ used: number;
10
+ limit: number;
11
+ };
12
+ storage_gb: {
13
+ used: number;
14
+ limit: number;
15
+ };
16
+ collaborators: {
17
+ used: number;
18
+ limit: number;
19
+ };
20
+ };
21
+ }
22
+ /** Creation metadata used by the form and the host's landing; no fabricated keys in a demo. */
23
+ export type WorkspaceCreated = Pick<components['schemas']['WorkspaceResponse'], 'external_id' | 'name' | 'description' | 'project_ext_id'>;
24
+ /** Local fixture generation for a seeded demo. A live session always uses the SDK. */
25
+ export interface WorkspaceFormSeed {
26
+ projects: WorkspaceFormProject[];
27
+ create: (values: CreateWorkspaceVars) => Promise<WorkspaceCreated> | WorkspaceCreated;
28
+ }
@@ -10,12 +10,15 @@
10
10
  import { type ReactNode } from 'react';
11
11
  import type { GridState } from 'ag-grid-community';
12
12
  import { type Tab } from '../../shell/TabHeader';
13
+ import type { GroupedWorkspace } from '../../workspaces/workspace-groups';
13
14
  import { type WorkspaceItemStateOf, type WorkspaceListFilters, type WorkspaceListLabels } from './useConnectedWorkspaceList';
14
15
  import type { RenderWorkspaceMember } from './workspaceTable';
15
16
  export type WorkspaceListView = 'cards' | 'table';
16
17
  /** The base tab's id. */
17
18
  export declare const WORKSPACES_TAB_ID = "workspaces";
18
19
  export interface ConnectedWorkspaceListProps {
20
+ /** Local demo fixtures, ignored for a live session; the host keeps their creation state. */
21
+ seed?: readonly GroupedWorkspace[];
19
22
  /** Open the host's new-workspace dialog, in a project when given. */
20
23
  onCreateWorkspace: (projectId?: string) => void;
21
24
  view?: WorkspaceListView;
@@ -36,4 +39,4 @@ export interface ConnectedWorkspaceListProps {
36
39
  /** A workspace's host state (a status line; selecting it does something else than open it). */
37
40
  workspaceState?: WorkspaceItemStateOf;
38
41
  }
39
- export declare function ConnectedWorkspaceList({ onCreateWorkspace, view: controlledView, onViewChange, filters, onFiltersChange, gridState, onGridStateChange, renderMember, extraTabs, activeTab, onTabChange, children, labels, workspaceState, }: ConnectedWorkspaceListProps): import("react").JSX.Element;
42
+ export declare function ConnectedWorkspaceList({ seed, onCreateWorkspace, view: controlledView, onViewChange, filters, onFiltersChange, gridState, onGridStateChange, renderMember, extraTabs, activeTab, onTabChange, children, labels, workspaceState, }: ConnectedWorkspaceListProps): import("react").JSX.Element;
@@ -26,12 +26,14 @@ export interface WorkspaceListLabels {
26
26
  }
27
27
  export declare const DEFAULT_WORKSPACE_LIST_LABELS: WorkspaceListLabels;
28
28
  export interface UseConnectedWorkspaceListOptions {
29
+ /** Local demo fixtures, never put in the SDK cache. Ignored in a live session; cannot be deleted. */
30
+ seed?: readonly GroupedWorkspace[];
29
31
  /** Controlled filters (a host that keeps them across visits); local state otherwise. */
30
32
  filters?: WorkspaceListFilters;
31
33
  onFiltersChange?: (filters: WorkspaceListFilters) => void;
32
34
  labels?: Partial<WorkspaceListLabels>;
33
35
  }
34
- export declare function useConnectedWorkspaceList({ filters: controlledFilters, onFiltersChange, labels, }?: UseConnectedWorkspaceListOptions): {
36
+ export declare function useConnectedWorkspaceList({ seed, filters: controlledFilters, onFiltersChange, labels, }?: UseConnectedWorkspaceListOptions): {
35
37
  selfId: string | undefined;
36
38
  /** Every listed workspace (unfiltered): the filter menu's counts. */
37
39
  workspaces: {
@@ -41,49 +43,23 @@ export declare function useConnectedWorkspaceList({ filters: controlledFilters,
41
43
  is_public: boolean;
42
44
  workspace_type: import("@arbidocs/client").components["schemas"]["WorkspaceType"];
43
45
  created_by_ext_id: string;
44
- updated_by_ext_id?: string | null | undefined;
46
+ updated_by_ext_id?: string | null;
45
47
  created_at: string;
46
48
  updated_at: string;
47
- wrapped_key?: string | null | undefined;
49
+ wrapped_key?: string | null;
48
50
  is_member: boolean;
49
51
  shared_conversation_count: number;
50
52
  private_conversation_count: number;
51
53
  shared_document_count: number;
52
54
  private_document_count: number;
53
55
  user_files_mb: number;
54
- users: {
55
- user: {
56
- external_id: string;
57
- parent_ext_id?: string | null | undefined;
58
- email: string;
59
- given_name: string;
60
- family_name?: string | null | undefined;
61
- picture?: string | null | undefined;
62
- encryption_public_key: string;
63
- is_sso: boolean;
64
- is_identity_verified: boolean;
65
- temporary_access_only: boolean;
66
- };
67
- role: import("@arbidocs/client").components["schemas"]["WorkspaceRole"];
68
- joined_at: string;
69
- conversation_count: number;
70
- document_count: number;
71
- files_mb: number;
72
- agent_ext_id?: string | null | undefined;
73
- is_temporary: boolean;
74
- access_expires_at?: string | null | undefined;
75
- }[];
76
- project_ext_id?: string | null | undefined;
77
- project_name?: string | null | undefined;
78
- project_subscription?: string | null | undefined;
79
- project_owner_ext_id?: string | null | undefined;
80
- house_template_ext_id?: string | null | undefined;
81
- archive?: {
82
- status: "archiving" | "archived" | "restoring";
83
- archived_at: string;
84
- documents_done: number;
85
- documents_total: number;
86
- } | null | undefined;
56
+ users: import("@arbidocs/client").components["schemas"]["WorkspaceUserResponse"][];
57
+ project_ext_id?: string | null;
58
+ project_name?: string | null;
59
+ project_subscription?: string | null;
60
+ project_owner_ext_id?: string | null;
61
+ house_template_ext_id?: string | null;
62
+ archive?: import("@arbidocs/client").components["schemas"]["WorkspaceArchiveState"] | null;
87
63
  }[];
88
64
  projects: NoInfer<{
89
65
  external_id: string;