@octaviaflow/core 3.1.0-beta.55 → 3.1.0-beta.57

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.
@@ -0,0 +1,67 @@
1
+ import { type FileListItem, type FileListView } from "../FileList";
2
+ import { type FileViewerKind } from "../FileViewer";
3
+ export interface FileBrowserNode extends FileListItem {
4
+ }
5
+ export interface FileBrowserPreview {
6
+ /** Text content for text-like files. */
7
+ content?: string;
8
+ /** URL for image / pdf / binary (and download). */
9
+ url?: string;
10
+ /** MIME type — refines the preview renderer. */
11
+ mimeType?: string;
12
+ /** Force a preview renderer. */
13
+ kind?: FileViewerKind;
14
+ /** Size in bytes, shown in the preview header. */
15
+ size?: number;
16
+ }
17
+ export type FileBrowserSelectMode = "file" | "folder" | "both";
18
+ export interface FileBrowserProps {
19
+ /** Label for the root crumb + tree root. Default `"Home"`. */
20
+ rootLabel?: string;
21
+ /** Root path. Default `"/"`. */
22
+ rootPath?: string;
23
+ /** Path separator used by the storage provider. Default `"/"`. */
24
+ separator?: string;
25
+ /** Folder being shown (controlled). */
26
+ path?: string;
27
+ /** Initial folder when uncontrolled. Default = `rootPath`. */
28
+ initialPath?: string;
29
+ /** Loads a folder's children (files + folders). Required. */
30
+ loadChildren: (path: string) => Promise<FileBrowserNode[]>;
31
+ /** Loads a file's preview. When set (and `showPreview`), enables the preview pane. */
32
+ getPreview?: (item: FileBrowserNode) => Promise<FileBrowserPreview>;
33
+ /** What can be selected. Default `"both"`. */
34
+ selectMode?: FileBrowserSelectMode;
35
+ /** Allow selecting more than one item. Default `false`. */
36
+ multiSelect?: boolean;
37
+ /** Selected paths (controlled). */
38
+ selectedPaths?: string[];
39
+ defaultSelectedPaths?: string[];
40
+ onSelectionChange?: (paths: string[], items: FileBrowserNode[]) => void;
41
+ /** Fired when the current folder changes. */
42
+ onNavigate?: (path: string) => void;
43
+ /** Fired when a file is opened (double-click / Enter). */
44
+ onFileOpen?: (item: FileBrowserNode) => void;
45
+ /** Show the folder tree pane. Default `true`. */
46
+ showTree?: boolean;
47
+ /** Show the preview pane. Default = whether `getPreview` is set. */
48
+ showPreview?: boolean;
49
+ /** Show the search box. Default `true`. */
50
+ searchable?: boolean;
51
+ /** Default list/grid view of the file pane. Default `"list"`. */
52
+ defaultView?: FileListView;
53
+ /** Height of the browser. Default `480`. */
54
+ height?: number | string;
55
+ /** Footer confirm handler — renders a footer with a selection count + actions. */
56
+ onConfirm?: (items: FileBrowserNode[]) => void;
57
+ confirmLabel?: string;
58
+ onCancel?: () => void;
59
+ cancelLabel?: string;
60
+ className?: string;
61
+ "aria-label"?: string;
62
+ }
63
+ export declare function FileBrowser({ rootLabel, rootPath, separator, path: pathProp, initialPath, loadChildren, getPreview, selectMode, multiSelect, selectedPaths: selectedProp, defaultSelectedPaths, onSelectionChange, onNavigate, onFileOpen, showTree, showPreview, searchable, defaultView, height, onConfirm, confirmLabel, onCancel, cancelLabel, className, "aria-label": ariaLabel, }: FileBrowserProps): import("react/jsx-runtime").JSX.Element;
64
+ export declare namespace FileBrowser {
65
+ var displayName: string;
66
+ }
67
+ //# sourceMappingURL=FileBrowser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileBrowser.d.ts","sourceRoot":"","sources":["../../../src/components/FileBrowser/FileBrowser.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { FileBrowser, type FileBrowserNode, type FileBrowserPreview, type FileBrowserProps, type FileBrowserSelectMode, } from "./FileBrowser";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FileBrowser/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACvB,KAAK,gBAAgB,EACrB,KAAK,qBAAqB,GAC3B,MAAM,eAAe,CAAC"}
@@ -0,0 +1,70 @@
1
+ export interface FileListItem {
2
+ /** Stable id; falls back to `path`. */
3
+ id?: string;
4
+ /** Display name (e.g. `report.csv`). */
5
+ name: string;
6
+ /** Full path / key — the selection + open identity. */
7
+ path: string;
8
+ /** Size in bytes (files only). */
9
+ size?: number;
10
+ /** Whether this row is a folder. */
11
+ isDirectory?: boolean;
12
+ /** Last-modified — Date, epoch ms, or ISO string. */
13
+ modifiedAt?: string | number | Date;
14
+ /** MIME type — refines the file-type icon. */
15
+ mimeType?: string;
16
+ /** Disable selecting / opening this row. */
17
+ disabled?: boolean;
18
+ }
19
+ export type FileListView = "list" | "grid";
20
+ export type FileListSortKey = "name" | "size" | "modified";
21
+ export type FileListSortDir = "asc" | "desc";
22
+ export interface FileListProps {
23
+ /** Files + folders to render. */
24
+ items: FileListItem[];
25
+ /** View mode (controlled). */
26
+ view?: FileListView;
27
+ /** Initial view when uncontrolled. Default `list`. */
28
+ defaultView?: FileListView;
29
+ onViewChange?: (view: FileListView) => void;
30
+ /** Show the list/grid toggle. Default `true`. */
31
+ showViewToggle?: boolean;
32
+ /** Selected paths (controlled). */
33
+ selectedPaths?: string[];
34
+ /** Initial selection when uncontrolled. */
35
+ defaultSelectedPaths?: string[];
36
+ onSelectionChange?: (paths: string[]) => void;
37
+ /** Allow selecting more than one row (adds a checkbox column). Default `false`. */
38
+ multiSelect?: boolean;
39
+ /** Whether file rows are selectable. Default `true`. */
40
+ selectableFiles?: boolean;
41
+ /** Whether folder rows are selectable. Default `true`. */
42
+ selectableFolders?: boolean;
43
+ /** Fired on double-click / Enter — navigate a folder or open a file. */
44
+ onOpen?: (item: FileListItem) => void;
45
+ /** Fired on single activation (select). */
46
+ onSelect?: (item: FileListItem) => void;
47
+ /** Sort column (controlled). */
48
+ sortKey?: FileListSortKey;
49
+ defaultSortKey?: FileListSortKey;
50
+ sortDir?: FileListSortDir;
51
+ defaultSortDir?: FileListSortDir;
52
+ onSortChange?: (key: FileListSortKey, dir: FileListSortDir) => void;
53
+ /** Show a skeleton instead of rows. */
54
+ loading?: boolean;
55
+ /** Skeleton row count. Default `6`. */
56
+ loadingRows?: number;
57
+ /** Error message — shown instead of rows. */
58
+ error?: string;
59
+ /** Empty-state copy. */
60
+ emptyTitle?: string;
61
+ emptyDescription?: string;
62
+ /** Accessible label for the listbox. */
63
+ "aria-label"?: string;
64
+ className?: string;
65
+ }
66
+ export declare function FileList({ items, view: viewProp, defaultView, onViewChange, showViewToggle, selectedPaths: selectedProp, defaultSelectedPaths, onSelectionChange, multiSelect, selectableFiles, selectableFolders, onOpen, onSelect, sortKey: sortKeyProp, defaultSortKey, sortDir: sortDirProp, defaultSortDir, onSortChange, loading, loadingRows, error, emptyTitle, emptyDescription, "aria-label": ariaLabel, className, }: FileListProps): import("react/jsx-runtime").JSX.Element;
67
+ export declare namespace FileList {
68
+ var displayName: string;
69
+ }
70
+ //# sourceMappingURL=FileList.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileList.d.ts","sourceRoot":"","sources":["../../../src/components/FileList/FileList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export { FileList, type FileListItem, type FileListProps, type FileListSortDir, type FileListSortKey, type FileListView, } from "./FileList";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FileList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,QAAQ,EACR,KAAK,YAAY,EACjB,KAAK,aAAa,EAClB,KAAK,eAAe,EACpB,KAAK,eAAe,EACpB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC"}
@@ -0,0 +1,64 @@
1
+ import { type ReactNode } from "react";
2
+ import type { FileListItem } from "../FileList";
3
+ export type FilePickerSelectMode = "file" | "folder" | "both";
4
+ export type FilePickerSize = "sm" | "md" | "lg";
5
+ export interface FilePickerProps {
6
+ /** Selected path (controlled). */
7
+ value?: string;
8
+ /** Initial selected path (uncontrolled). */
9
+ defaultValue?: string;
10
+ /** Fired when a file / folder is picked (or cleared → `""`). */
11
+ onChange?: (path: string, item?: FileListItem) => void;
12
+ /** Loads a folder's children (files + folders). Required. */
13
+ loadChildren: (path: string) => Promise<FileListItem[]>;
14
+ /** Root path. Default `"/"`. */
15
+ rootPath?: string;
16
+ /** Label for the root crumb. Default `"Home"`. */
17
+ rootLabel?: string;
18
+ /** Path separator. Default `"/"`. */
19
+ separator?: string;
20
+ /** What can be picked. Default `"file"`. */
21
+ selectMode?: FilePickerSelectMode;
22
+ /** Folder the dropdown opens at. Default = folder of `value`, else `rootPath`. */
23
+ initialPath?: string;
24
+ /** Placeholder shown when nothing is selected. */
25
+ placeholder?: string;
26
+ disabled?: boolean;
27
+ /** Field size. Default `"md"`. */
28
+ size?: FilePickerSize;
29
+ /** Error message — shown below + flags the field invalid. */
30
+ error?: string;
31
+ /** Helper text below the field. */
32
+ helperText?: ReactNode;
33
+ /** Field label. */
34
+ label?: ReactNode;
35
+ required?: boolean;
36
+ /** Show a clear button when a value is set. Default `true`. */
37
+ clearable?: boolean;
38
+ /** Show a search box in the dropdown. Default `false`. Search is recursive —
39
+ * it descends into subfolders from the current folder. */
40
+ searchable?: boolean;
41
+ /** Backend-powered search. When provided, typing calls this instead of the
42
+ * built-in recursive walk (use it for large trees). Return matches (any
43
+ * depth) with full `path`s. */
44
+ onSearch?: (query: string) => Promise<FileListItem[]>;
45
+ /** Max folder depth the built-in recursive search descends. Default `5`. */
46
+ searchDepth?: number;
47
+ /** Max results the built-in recursive search collects. Default `200`. */
48
+ searchLimit?: number;
49
+ /** Close the dropdown on Escape. Default `true`. */
50
+ closeOnEsc?: boolean;
51
+ /** Empty-folder copy. */
52
+ emptyTitle?: string;
53
+ /** Hidden input name for form submission. */
54
+ name?: string;
55
+ form?: string;
56
+ id?: string;
57
+ className?: string;
58
+ "aria-label"?: string;
59
+ }
60
+ export declare function FilePicker({ value: valueProp, defaultValue, onChange, loadChildren, rootPath, rootLabel, separator, selectMode, initialPath, placeholder, disabled, size, error, helperText, label, required, clearable, searchable, onSearch, searchDepth, searchLimit, closeOnEsc, emptyTitle, name, form, id, className, "aria-label": ariaLabel, }: FilePickerProps): import("react/jsx-runtime").JSX.Element;
61
+ export declare namespace FilePicker {
62
+ var displayName: string;
63
+ }
64
+ //# sourceMappingURL=FilePicker.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilePicker.d.ts","sourceRoot":"","sources":["../../../src/components/FilePicker/FilePicker.tsx"],"names":[],"mappings":"AAeA,OAAO,EAEL,KAAK,SAAS,EAOf,MAAM,OAAO,CAAC;AAQf,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAgBhD,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;AAC9D,MAAM,MAAM,cAAc,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;AAEhD,MAAM,WAAW,eAAe;IAC9B,kCAAkC;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,YAAY,KAAK,IAAI,CAAC;IACvD,6DAA6D;IAC7D,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACxD,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qCAAqC;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,UAAU,CAAC,EAAE,oBAAoB,CAAC;IAClC,kFAAkF;IAClF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,kCAAkC;IAClC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,6DAA6D;IAC7D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,UAAU,CAAC,EAAE,SAAS,CAAC;IACvB,mBAAmB;IACnB,KAAK,CAAC,EAAE,SAAS,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+DAA+D;IAC/D,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB;+DAC2D;IAC3D,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;oCAEgC;IAChC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,EAAE,CAAC,CAAC;IACtD,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oDAAoD;IACpD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,yBAAyB;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,6CAA6C;IAC7C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAoDD,wBAAgB,UAAU,CAAC,EACzB,KAAK,EAAE,SAAS,EAChB,YAAY,EACZ,QAAQ,EACR,YAAY,EACZ,QAAc,EACd,SAAkB,EAClB,SAAe,EACf,UAAmB,EACnB,WAAW,EACX,WAA8B,EAC9B,QAAgB,EAChB,IAAW,EACX,KAAK,EACL,UAAU,EACV,KAAK,EACL,QAAgB,EAChB,SAAgB,EAChB,UAAkB,EAClB,QAAQ,EACR,WAAe,EACf,WAAiB,EACjB,UAAiB,EACjB,UAAmC,EACnC,IAAI,EACJ,IAAI,EACJ,EAAE,EACF,SAAS,EACT,YAAY,EAAE,SAAS,GACxB,EAAE,eAAe,2CAwejB;yBArgBe,UAAU"}
@@ -0,0 +1,2 @@
1
+ export { FilePicker, type FilePickerProps, type FilePickerSelectMode, type FilePickerSize, } from "./FilePicker";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FilePicker/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,UAAU,EACV,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,cAAc,GACpB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,31 @@
1
+ export type FileViewerKind = "text" | "json" | "csv" | "xml" | "yaml" | "markdown" | "image" | "pdf" | "binary";
2
+ export interface FileViewerProps {
3
+ /** File name — drives extension-based detection + the header label. */
4
+ name: string;
5
+ /** MIME type — preferred over the extension when present. */
6
+ mimeType?: string;
7
+ /** Text content for text-like files (json/csv/xml/yaml/markdown/text). */
8
+ content?: string;
9
+ /** URL for image / pdf / binary (and the download fallback). */
10
+ url?: string;
11
+ /** File size in bytes — shown in the header. */
12
+ size?: number;
13
+ /** Force a renderer, skipping detection. */
14
+ kind?: FileViewerKind;
15
+ /** Show a loading spinner instead of content. */
16
+ loading?: boolean;
17
+ /** Error message — shown instead of content. */
18
+ error?: string;
19
+ /** Max height of the content area. Default fills the container. */
20
+ maxHeight?: number | string;
21
+ /** Hide the file header row. Default `false`. */
22
+ hideHeader?: boolean;
23
+ /** Download handler — when omitted and `url` is set, the link is used. */
24
+ onDownload?: () => void;
25
+ className?: string;
26
+ }
27
+ export declare function FileViewer({ name, mimeType, content, url, size, kind: kindOverride, loading, error, maxHeight, hideHeader, onDownload, className, }: FileViewerProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare namespace FileViewer {
29
+ var displayName: string;
30
+ }
31
+ //# sourceMappingURL=FileViewer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FileViewer.d.ts","sourceRoot":"","sources":["../../../src/components/FileViewer/FileViewer.tsx"],"names":[],"mappings":"AA+BA,MAAM,MAAM,cAAc,GACtB,MAAM,GACN,MAAM,GACN,KAAK,GACL,KAAK,GACL,MAAM,GACN,UAAU,GACV,OAAO,GACP,KAAK,GACL,QAAQ,CAAC;AAEb,MAAM,WAAW,eAAe;IAC9B,uEAAuE;IACvE,IAAI,EAAE,MAAM,CAAC;IACb,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,gEAAgE;IAChE,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,gDAAgD;IAChD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,iDAAiD;IACjD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gDAAgD;IAChD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC5B,iDAAiD;IACjD,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,0EAA0E;IAC1E,UAAU,CAAC,EAAE,MAAM,IAAI,CAAC;IACxB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AA4ED,wBAAgB,UAAU,CAAC,EACzB,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,GAAG,EACH,IAAI,EACJ,IAAI,EAAE,YAAY,EAClB,OAAe,EACf,KAAK,EACL,SAAS,EACT,UAAkB,EAClB,UAAU,EACV,SAAS,GACV,EAAE,eAAe,2CAiFjB;yBA9Fe,UAAU"}
@@ -0,0 +1,2 @@
1
+ export { FileViewer, type FileViewerKind, type FileViewerProps } from "./FileViewer";
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/FileViewer/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,MAAM,cAAc,CAAC"}