@agent-native/toolkit 0.15.1 → 0.16.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 (60) hide show
  1. package/README.md +26 -0
  2. package/agent-native.eject.json +16 -0
  3. package/dist/composer/ComposerPlusMenu.d.ts.map +1 -1
  4. package/dist/composer/ComposerPlusMenu.js +29 -19
  5. package/dist/composer/ComposerPlusMenu.js.map +1 -1
  6. package/dist/composer/PromptComposer.d.ts +11 -1
  7. package/dist/composer/PromptComposer.d.ts.map +1 -1
  8. package/dist/composer/PromptComposer.js +2 -2
  9. package/dist/composer/PromptComposer.js.map +1 -1
  10. package/dist/composer/TiptapComposer.d.ts +30 -1
  11. package/dist/composer/TiptapComposer.d.ts.map +1 -1
  12. package/dist/composer/TiptapComposer.js +255 -145
  13. package/dist/composer/TiptapComposer.js.map +1 -1
  14. package/dist/composer/TiptapComposer.spec.js +33 -1
  15. package/dist/composer/TiptapComposer.spec.js.map +1 -1
  16. package/dist/composer/index.d.ts +1 -0
  17. package/dist/composer/index.d.ts.map +1 -1
  18. package/dist/composer/index.js +1 -0
  19. package/dist/composer/index.js.map +1 -1
  20. package/dist/composer/model-selection.d.ts +12 -0
  21. package/dist/composer/model-selection.d.ts.map +1 -0
  22. package/dist/composer/model-selection.js +31 -0
  23. package/dist/composer/model-selection.js.map +1 -0
  24. package/dist/composer/model-selection.spec.d.ts +2 -0
  25. package/dist/composer/model-selection.spec.d.ts.map +1 -0
  26. package/dist/composer/model-selection.spec.js +38 -0
  27. package/dist/composer/model-selection.spec.js.map +1 -0
  28. package/dist/data-grid/DataGrid.d.ts +92 -0
  29. package/dist/data-grid/DataGrid.d.ts.map +1 -0
  30. package/dist/data-grid/DataGrid.js +315 -0
  31. package/dist/data-grid/DataGrid.js.map +1 -0
  32. package/dist/data-grid/DataGrid.spec.d.ts +2 -0
  33. package/dist/data-grid/DataGrid.spec.d.ts.map +1 -0
  34. package/dist/data-grid/DataGrid.spec.js +134 -0
  35. package/dist/data-grid/DataGrid.spec.js.map +1 -0
  36. package/dist/data-grid/index.d.ts +2 -0
  37. package/dist/data-grid/index.d.ts.map +1 -0
  38. package/dist/data-grid/index.js +2 -0
  39. package/dist/data-grid/index.js.map +1 -0
  40. package/dist/sharing/SharePrimitives.d.ts +14 -3
  41. package/dist/sharing/SharePrimitives.d.ts.map +1 -1
  42. package/dist/sharing/SharePrimitives.js +11 -3
  43. package/dist/sharing/SharePrimitives.js.map +1 -1
  44. package/dist/sharing/index.d.ts +1 -1
  45. package/dist/sharing/index.d.ts.map +1 -1
  46. package/dist/sharing/index.js +1 -1
  47. package/dist/sharing/index.js.map +1 -1
  48. package/package.json +15 -1
  49. package/src/composer/ComposerPlusMenu.tsx +122 -65
  50. package/src/composer/PromptComposer.tsx +21 -0
  51. package/src/composer/TiptapComposer.spec.ts +46 -0
  52. package/src/composer/TiptapComposer.tsx +721 -349
  53. package/src/composer/index.ts +6 -0
  54. package/src/composer/model-selection.spec.ts +45 -0
  55. package/src/composer/model-selection.ts +51 -0
  56. package/src/data-grid/DataGrid.spec.tsx +243 -0
  57. package/src/data-grid/DataGrid.tsx +754 -0
  58. package/src/data-grid/index.ts +15 -0
  59. package/src/sharing/SharePrimitives.tsx +47 -8
  60. package/src/sharing/index.ts +4 -0
@@ -0,0 +1,31 @@
1
+ export function isClaudeCodeAgentId(agentId) {
2
+ return agentId === "claude-code" || agentId === "claude-cli";
3
+ }
4
+ export function isLunaModel(model) {
5
+ return model.toLowerCase().includes("luna");
6
+ }
7
+ export function resolvePreferredAgentModel(agentId, groups) {
8
+ const candidates = groups.flatMap((group) => group.models
9
+ .filter((model) => model !== "auto")
10
+ .map((model) => ({
11
+ model,
12
+ engine: group.engine,
13
+ configured: group.configured !== false,
14
+ })));
15
+ const orderedCandidates = [
16
+ ...candidates.filter((candidate) => candidate.configured),
17
+ ...candidates.filter((candidate) => !candidate.configured),
18
+ ];
19
+ if (isClaudeCodeAgentId(agentId)) {
20
+ const preferred = orderedCandidates.find((candidate) => candidate.model.toLowerCase().includes("sonnet") &&
21
+ !isLunaModel(candidate.model)) ?? orderedCandidates.find((candidate) => !isLunaModel(candidate.model));
22
+ return preferred
23
+ ? { model: preferred.model, engine: preferred.engine }
24
+ : undefined;
25
+ }
26
+ const preferred = orderedCandidates.find((candidate) => isLunaModel(candidate.model));
27
+ return preferred
28
+ ? { model: preferred.model, engine: preferred.engine }
29
+ : undefined;
30
+ }
31
+ //# sourceMappingURL=model-selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-selection.js","sourceRoot":"","sources":["../../src/composer/model-selection.ts"],"names":[],"mappings":"AAMA,MAAM,UAAU,mBAAmB,CAAC,OAA2B;IAC7D,OAAO,OAAO,KAAK,aAAa,IAAI,OAAO,KAAK,YAAY,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,OAA2B,EAC3B,MAAyC;IAEzC,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAC1C,KAAK,CAAC,MAAM;SACT,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,MAAM,CAAC;SACnC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACf,KAAK;QACL,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,UAAU,EAAE,KAAK,CAAC,UAAU,KAAK,KAAK;KACvC,CAAC,CAAC,CACN,CAAC;IACF,MAAM,iBAAiB,GAAG;QACxB,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC;QACzD,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC;KAC3D,CAAC;IAEF,IAAI,mBAAmB,CAAC,OAAO,CAAC,EAAE,CAAC;QACjC,MAAM,SAAS,GACb,iBAAiB,CAAC,IAAI,CACpB,CAAC,SAAS,EAAE,EAAE,CACZ,SAAS,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAChD,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAChC,IAAI,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;QAC5E,OAAO,SAAS;YACd,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE;YACtD,CAAC,CAAC,SAAS,CAAC;IAChB,CAAC;IAED,MAAM,SAAS,GAAG,iBAAiB,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CACrD,WAAW,CAAC,SAAS,CAAC,KAAK,CAAC,CAC7B,CAAC;IACF,OAAO,SAAS;QACd,CAAC,CAAC,EAAE,KAAK,EAAE,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,MAAM,EAAE;QACtD,CAAC,CAAC,SAAS,CAAC;AAChB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=model-selection.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-selection.spec.d.ts","sourceRoot":"","sources":["../../src/composer/model-selection.spec.ts"],"names":[],"mappings":""}
@@ -0,0 +1,38 @@
1
+ import { describe, expect, it } from "vitest";
2
+ import { isClaudeCodeAgentId, isLunaModel, resolvePreferredAgentModel, } from "./model-selection.js";
3
+ describe("composer agent model defaults", () => {
4
+ const groups = [
5
+ {
6
+ engine: "builder",
7
+ models: ["gpt-5-6-luna"],
8
+ configured: true,
9
+ },
10
+ {
11
+ engine: "builder",
12
+ models: ["claude-sonnet-5"],
13
+ configured: true,
14
+ },
15
+ ];
16
+ it("identifies Claude Code and Luna model ids", () => {
17
+ expect(isClaudeCodeAgentId("claude-code")).toBe(true);
18
+ expect(isClaudeCodeAgentId("claude-cli")).toBe(true);
19
+ expect(isClaudeCodeAgentId("codex")).toBe(false);
20
+ expect(isLunaModel("gpt-5.6-luna")).toBe(true);
21
+ expect(isLunaModel("openai/gpt-5.6-sol")).toBe(false);
22
+ });
23
+ it("defaults Claude Code to Sonnet and other agents to Luna", () => {
24
+ expect(resolvePreferredAgentModel("claude-code", groups)).toEqual({
25
+ engine: "builder",
26
+ model: "claude-sonnet-5",
27
+ });
28
+ expect(resolvePreferredAgentModel("codex", groups)).toEqual({
29
+ engine: "builder",
30
+ model: "gpt-5-6-luna",
31
+ });
32
+ expect(resolvePreferredAgentModel(undefined, groups)).toEqual({
33
+ engine: "builder",
34
+ model: "gpt-5-6-luna",
35
+ });
36
+ });
37
+ });
38
+ //# sourceMappingURL=model-selection.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"model-selection.spec.js","sourceRoot":"","sources":["../../src/composer/model-selection.spec.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9C,OAAO,EACL,mBAAmB,EACnB,WAAW,EACX,0BAA0B,GAC3B,MAAM,sBAAsB,CAAC;AAE9B,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,MAAM,MAAM,GAAG;QACb;YACE,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,CAAC,cAAc,CAAC;YACxB,UAAU,EAAE,IAAI;SACjB;QACD;YACE,MAAM,EAAE,SAAS;YACjB,MAAM,EAAE,CAAC,iBAAiB,CAAC;YAC3B,UAAU,EAAE,IAAI;SACjB;KACF,CAAC;IAEF,EAAE,CAAC,2CAA2C,EAAE,GAAG,EAAE;QACnD,MAAM,CAAC,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtD,MAAM,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACrD,MAAM,CAAC,mBAAmB,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACjD,MAAM,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC/C,MAAM,CAAC,WAAW,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACxD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,GAAG,EAAE;QACjE,MAAM,CAAC,0BAA0B,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAChE,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,iBAAiB;SACzB,CAAC,CAAC;QACH,MAAM,CAAC,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC1D,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC;QACH,MAAM,CAAC,0BAA0B,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;YAC5D,MAAM,EAAE,SAAS;YACjB,KAAK,EAAE,cAAc;SACtB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,92 @@
1
+ import * as React from "react";
2
+ export type DataGridSelectionMode = "none" | "single" | "multiple";
3
+ export type DataGridDirection = "up" | "down" | "left" | "right";
4
+ export interface DataGridActiveCell {
5
+ rowId: string;
6
+ columnId: string;
7
+ editing: boolean;
8
+ }
9
+ export interface DataGridColumn<Row, Value = unknown> {
10
+ id: string;
11
+ label?: React.ReactNode;
12
+ width?: number;
13
+ minWidth?: number;
14
+ maxWidth?: number;
15
+ resizable?: boolean;
16
+ editable?: boolean | ((row: Row) => boolean);
17
+ getValue?: (row: Row) => Value;
18
+ renderCell?: (context: DataGridCellContext<Row, Value>) => React.ReactNode;
19
+ renderEditor?: (context: DataGridEditorContext<Row, Value>) => React.ReactNode;
20
+ }
21
+ export interface DataGridCellContext<Row, Value = unknown> {
22
+ row: Row;
23
+ rowIndex: number;
24
+ column: DataGridColumn<Row, Value>;
25
+ value: Value | undefined;
26
+ active: boolean;
27
+ editing: boolean;
28
+ editable: boolean;
29
+ startEditing: () => void;
30
+ commit: (value: Value) => void;
31
+ cancel: () => void;
32
+ move: (direction: DataGridDirection) => void;
33
+ }
34
+ export interface DataGridEditorContext<Row, Value = unknown> extends DataGridCellContext<Row, Value> {
35
+ onCommit: (value: Value) => void;
36
+ onCancel: () => void;
37
+ onMove: (direction: DataGridDirection) => void;
38
+ }
39
+ export interface DataGridCommitContext<Row> {
40
+ row: Row;
41
+ rowIndex: number;
42
+ column: DataGridColumn<Row>;
43
+ previousValue: unknown;
44
+ value: unknown;
45
+ }
46
+ export interface DataGridSlotContext<Row> {
47
+ rows: readonly Row[];
48
+ columns: readonly DataGridColumn<Row>[];
49
+ columnWidths: Readonly<Record<string, number>>;
50
+ gridTemplateColumns: string;
51
+ selection: DataGridSelectionMode;
52
+ selectedRowIds: ReadonlySet<string>;
53
+ getRowId: (row: Row, rowIndex: number) => string;
54
+ setActiveCell: (cell: DataGridActiveCell | null) => void;
55
+ toggleRowSelection: (rowId: string) => void;
56
+ resizeColumn: (columnId: string, width: number) => void;
57
+ }
58
+ export interface DataGridRowContext<Row> extends DataGridSlotContext<Row> {
59
+ row: Row;
60
+ rowIndex: number;
61
+ rowId: string;
62
+ selected: boolean;
63
+ }
64
+ type DataGridScrollContainerProps = Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & Record<`data-${string}`, string | undefined>;
65
+ export interface DataGridProps<Row> extends Omit<React.HTMLAttributes<HTMLDivElement>, "children"> {
66
+ rows: readonly Row[];
67
+ columns: readonly DataGridColumn<Row>[];
68
+ getRowId: (row: Row, rowIndex: number) => string;
69
+ columnWidths?: Readonly<Record<string, number>>;
70
+ onColumnWidthsChange?: (columnWidths: Record<string, number>) => void;
71
+ selection?: DataGridSelectionMode;
72
+ selectedRowIds?: ReadonlySet<string>;
73
+ onSelectedRowIdsChange?: (rowIds: ReadonlySet<string>) => void;
74
+ activeCell?: DataGridActiveCell | null;
75
+ onActiveCellChange?: (cell: DataGridActiveCell | null) => void;
76
+ onCellCommit?: (context: DataGridCommitContext<Row>) => void;
77
+ renderHeader?: (context: DataGridSlotContext<Row>) => React.ReactNode;
78
+ renderBody?: (context: DataGridSlotContext<Row>) => React.ReactNode;
79
+ renderRow?: (context: DataGridRowContext<Row>) => React.ReactNode;
80
+ renderFooter?: (context: DataGridSlotContext<Row>) => React.ReactNode;
81
+ emptyState?: React.ReactNode;
82
+ loading?: boolean;
83
+ loadingRowCount?: number;
84
+ contentClassName?: string;
85
+ rowClassName?: string | ((row: Row, rowIndex: number) => string);
86
+ scrollContainerProps?: DataGridScrollContainerProps;
87
+ }
88
+ export declare function clampDataGridColumnWidth<Row>(width: number, column: DataGridColumn<Row>): number;
89
+ export declare function dataGridColumnTemplate<Row>(columns: readonly DataGridColumn<Row>[], columnWidths?: Readonly<Record<string, number>>, selection?: DataGridSelectionMode): string;
90
+ export declare function DataGrid<Row>({ rows, columns, getRowId, columnWidths, onColumnWidthsChange, selection, selectedRowIds, onSelectedRowIdsChange, activeCell, onActiveCellChange, onCellCommit, renderHeader, renderBody, renderRow, renderFooter, emptyState, loading, loadingRowCount, contentClassName, rowClassName, scrollContainerProps, className, ...gridProps }: DataGridProps<Row>): React.JSX.Element;
91
+ export {};
92
+ //# sourceMappingURL=DataGrid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGrid.d.ts","sourceRoot":"","sources":["../../src/data-grid/DataGrid.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,315 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import * as React from "react";
3
+ import { cn } from "../utils.js";
4
+ const DEFAULT_COLUMN_WIDTH = 160;
5
+ const DEFAULT_MIN_COLUMN_WIDTH = 96;
6
+ const DEFAULT_MAX_COLUMN_WIDTH = 640;
7
+ const SELECTION_COLUMN_WIDTH = 40;
8
+ function columnWidth(column, requestedWidth) {
9
+ const fallback = column.width ?? DEFAULT_COLUMN_WIDTH;
10
+ const width = requestedWidth !== undefined && Number.isFinite(requestedWidth)
11
+ ? requestedWidth
12
+ : fallback;
13
+ const minWidth = column.minWidth ?? DEFAULT_MIN_COLUMN_WIDTH;
14
+ const maxWidth = Math.max(minWidth, column.maxWidth ?? DEFAULT_MAX_COLUMN_WIDTH);
15
+ return Math.min(maxWidth, Math.max(minWidth, Math.round(width)));
16
+ }
17
+ export function clampDataGridColumnWidth(width, column) {
18
+ return columnWidth(column, width);
19
+ }
20
+ export function dataGridColumnTemplate(columns, columnWidths = {}, selection = "none") {
21
+ const selectionTemplate = selection === "none" ? [] : [`${SELECTION_COLUMN_WIDTH}px`];
22
+ return [
23
+ ...selectionTemplate,
24
+ ...columns.map((column) => `${columnWidth(column, columnWidths[column.id])}px`),
25
+ ].join(" ");
26
+ }
27
+ function isColumnEditable(column, row) {
28
+ if (!column.renderEditor)
29
+ return false;
30
+ return typeof column.editable === "function"
31
+ ? column.editable(row)
32
+ : column.editable !== false;
33
+ }
34
+ function defaultCellText(value) {
35
+ return value == null ? "" : String(value);
36
+ }
37
+ function loadingRows({ count, columns, gridTemplateColumns, selection, }) {
38
+ return Array.from({ length: count }, (_, rowIndex) => (_jsxs("div", { role: "row", "aria-hidden": "true", className: "grid min-h-10 border-b border-border/30", style: { gridTemplateColumns }, children: [selection !== "none" ? _jsx("div", { role: "gridcell" }) : null, columns.map((column) => (_jsx("div", { role: "gridcell", className: "p-2", children: _jsx("div", { className: "h-4 w-2/3 animate-pulse rounded bg-muted" }) }, column.id)))] }, `loading-${rowIndex}`)));
39
+ }
40
+ function DataGridHeader({ columns, gridTemplateColumns, selection, rows, getRowId, selectedRowIds, onToggleAll, onStartResize, }) {
41
+ const allSelected = rows.length > 0 &&
42
+ rows.every((row, rowIndex) => selectedRowIds.has(getRowId(row, rowIndex)));
43
+ return (_jsxs("div", { role: "row", className: "grid border-y border-border/35 text-xs font-medium text-muted-foreground/80", style: { gridTemplateColumns }, children: [selection !== "none" ? (_jsx("div", { role: "columnheader", className: "flex h-9 items-center justify-center border-r border-border/30", children: selection === "multiple" ? (_jsx("input", { type: "checkbox", "aria-label": "Select all rows", checked: allSelected, onChange: onToggleAll })) : null })) : null, columns.map((column) => (_jsxs("div", { role: "columnheader", "data-data-grid-column-id": column.id, className: "group relative flex h-9 min-w-0 items-center gap-1 border-r border-border/30 px-2 last:border-r-0", children: [_jsx("span", { className: "min-w-0 truncate", children: column.label ?? column.id }), column.resizable === false ? null : (_jsx("button", { type: "button", "aria-label": `Resize ${column.id} column`, className: "absolute inset-y-0 right-0 z-10 w-2 cursor-col-resize opacity-0 transition-opacity hover:opacity-100 focus-visible:opacity-100", onPointerDown: (event) => onStartResize(event, column) }))] }, column.id)))] }));
44
+ }
45
+ function DataGridDefaultRow({ row, rowIndex, rowId, columns, gridTemplateColumns, selection, selected, rowClassName, activeCell, setActiveCell, toggleRowSelection, moveActiveCell, commitCell, }) {
46
+ return (_jsxs("div", { role: "row", "data-data-grid-row-id": rowId, "aria-selected": selected || undefined, className: cn("grid min-h-10 border-b border-border/30 text-sm", rowClassName, selected && "bg-muted/35"), style: { gridTemplateColumns }, children: [selection !== "none" ? (_jsx("div", { role: "gridcell", className: "flex items-center justify-center border-r border-border/30", children: _jsx("input", { type: selection === "single" ? "radio" : "checkbox", name: selection === "single" ? "data-grid-selection" : undefined, "aria-label": `Select row ${rowId}`, checked: selected, onChange: () => toggleRowSelection(rowId) }) })) : null, columns.map((column, columnIndex) => {
47
+ const value = column.getValue?.(row);
48
+ const active = activeCell?.rowId === rowId && activeCell.columnId === column.id;
49
+ const editing = active && activeCell.editing;
50
+ const editable = isColumnEditable(column, row);
51
+ const startEditing = () => {
52
+ if (editable) {
53
+ setActiveCell({ rowId, columnId: column.id, editing: true });
54
+ }
55
+ };
56
+ const cancel = () => {
57
+ setActiveCell({ rowId, columnId: column.id, editing: false });
58
+ };
59
+ const commit = (nextValue) => {
60
+ commitCell(row, rowIndex, column, nextValue);
61
+ setActiveCell({ rowId, columnId: column.id, editing: false });
62
+ };
63
+ const move = (direction) => {
64
+ moveActiveCell(rowIndex, columnIndex, direction);
65
+ };
66
+ const context = {
67
+ row,
68
+ rowIndex,
69
+ column,
70
+ value,
71
+ active,
72
+ editing,
73
+ editable,
74
+ startEditing,
75
+ commit,
76
+ cancel,
77
+ move,
78
+ };
79
+ return (_jsx("div", { role: "gridcell", "data-data-grid-cell": "true", "data-data-grid-row-id": rowId, "data-data-grid-column-id": column.id, tabIndex: active ? 0 : -1, className: cn("min-w-0 border-r border-border/30 px-2 py-2 outline-none last:border-r-0", active && "bg-accent/50 ring-1 ring-inset ring-ring"), onClick: () => setActiveCell({ rowId, columnId: column.id, editing: false }), onDoubleClick: startEditing, onKeyDown: (event) => {
80
+ if (editing) {
81
+ if (event.key === "Escape") {
82
+ event.preventDefault();
83
+ cancel();
84
+ }
85
+ return;
86
+ }
87
+ if (event.key === "Enter" || event.key === "F2") {
88
+ if (editable) {
89
+ event.preventDefault();
90
+ startEditing();
91
+ }
92
+ return;
93
+ }
94
+ const direction = {
95
+ ArrowUp: "up",
96
+ ArrowDown: "down",
97
+ ArrowLeft: "left",
98
+ ArrowRight: "right",
99
+ Tab: event.shiftKey ? "left" : "right",
100
+ }[event.key];
101
+ if (direction) {
102
+ event.preventDefault();
103
+ move(direction);
104
+ }
105
+ }, onPointerDown: (event) => {
106
+ if (event.button === 0)
107
+ event.currentTarget.focus();
108
+ }, children: editing && column.renderEditor
109
+ ? column.renderEditor({
110
+ ...context,
111
+ onCommit: (nextValue) => commit(nextValue),
112
+ onCancel: cancel,
113
+ onMove: move,
114
+ })
115
+ : column.renderCell
116
+ ? column.renderCell(context)
117
+ : defaultCellText(value) }, column.id));
118
+ })] }));
119
+ }
120
+ export function DataGrid({ rows, columns, getRowId, columnWidths, onColumnWidthsChange, selection = "none", selectedRowIds, onSelectedRowIdsChange, activeCell, onActiveCellChange, onCellCommit, renderHeader, renderBody, renderRow, renderFooter, emptyState, loading = false, loadingRowCount = 4, contentClassName, rowClassName, scrollContainerProps, className, ...gridProps }) {
121
+ const gridRef = React.useRef(null);
122
+ const hasMountedActiveCellRef = React.useRef(false);
123
+ const [internalColumnWidths, setInternalColumnWidths] = React.useState({});
124
+ const [internalSelectedRowIds, setInternalSelectedRowIds] = React.useState(() => new Set());
125
+ const [internalActiveCell, setInternalActiveCell] = React.useState(() => rows.length > 0 && columns.length > 0
126
+ ? {
127
+ rowId: getRowId(rows[0], 0),
128
+ columnId: columns[0].id,
129
+ editing: false,
130
+ }
131
+ : null);
132
+ const resolvedColumnWidths = columnWidths ?? internalColumnWidths;
133
+ const resolvedSelectedRowIds = selectedRowIds ?? internalSelectedRowIds;
134
+ const resolvedActiveCell = activeCell === undefined ? internalActiveCell : activeCell;
135
+ const gridTemplateColumns = dataGridColumnTemplate(columns, resolvedColumnWidths, selection);
136
+ const setActive = React.useCallback((cell) => {
137
+ if (activeCell === undefined)
138
+ setInternalActiveCell(cell);
139
+ onActiveCellChange?.(cell);
140
+ }, [activeCell, onActiveCellChange]);
141
+ React.useEffect(() => {
142
+ if (!resolvedActiveCell)
143
+ return;
144
+ const hasRow = rows.some((row, rowIndex) => getRowId(row, rowIndex) === resolvedActiveCell.rowId);
145
+ const hasColumn = columns.some((column) => column.id === resolvedActiveCell.columnId);
146
+ if (!hasRow || !hasColumn)
147
+ setActive(null);
148
+ }, [columns, getRowId, rows, resolvedActiveCell, setActive]);
149
+ React.useEffect(() => {
150
+ if (activeCell !== undefined || resolvedActiveCell)
151
+ return;
152
+ if (rows.length === 0 || columns.length === 0)
153
+ return;
154
+ setActive({
155
+ rowId: getRowId(rows[0], 0),
156
+ columnId: columns[0].id,
157
+ editing: false,
158
+ });
159
+ }, [activeCell, columns, getRowId, resolvedActiveCell, rows, setActive]);
160
+ React.useEffect(() => {
161
+ if (!resolvedActiveCell || resolvedActiveCell.editing)
162
+ return;
163
+ if (!hasMountedActiveCellRef.current) {
164
+ hasMountedActiveCellRef.current = true;
165
+ return;
166
+ }
167
+ const cells = gridRef.current?.querySelectorAll("[data-data-grid-cell='true']");
168
+ const target = Array.from(cells ?? []).find((cell) => cell.dataset.dataGridRowId === resolvedActiveCell.rowId &&
169
+ cell.dataset.dataGridColumnId === resolvedActiveCell.columnId);
170
+ target?.focus();
171
+ }, [resolvedActiveCell]);
172
+ const setColumnWidth = React.useCallback((columnId, width) => {
173
+ const column = columns.find((candidate) => candidate.id === columnId);
174
+ if (!column)
175
+ return;
176
+ const nextWidths = {
177
+ ...resolvedColumnWidths,
178
+ [columnId]: clampDataGridColumnWidth(width, column),
179
+ };
180
+ if (columnWidths === undefined)
181
+ setInternalColumnWidths(nextWidths);
182
+ onColumnWidthsChange?.(nextWidths);
183
+ }, [columnWidths, columns, onColumnWidthsChange, resolvedColumnWidths]);
184
+ const startResize = React.useCallback((event, column) => {
185
+ event.preventDefault();
186
+ event.stopPropagation();
187
+ const startX = event.clientX;
188
+ const startWidth = columnWidth(column, resolvedColumnWidths[column.id]);
189
+ const handleMove = (moveEvent) => {
190
+ setColumnWidth(column.id, startWidth + moveEvent.clientX - startX);
191
+ };
192
+ const handleUp = () => {
193
+ document.removeEventListener("pointermove", handleMove);
194
+ document.removeEventListener("pointerup", handleUp);
195
+ };
196
+ document.addEventListener("pointermove", handleMove);
197
+ document.addEventListener("pointerup", handleUp, { once: true });
198
+ }, [resolvedColumnWidths, setColumnWidth]);
199
+ const setSelected = React.useCallback((nextRowIds) => {
200
+ if (selectedRowIds === undefined)
201
+ setInternalSelectedRowIds(nextRowIds);
202
+ onSelectedRowIdsChange?.(nextRowIds);
203
+ }, [onSelectedRowIdsChange, selectedRowIds]);
204
+ const toggleRowSelection = React.useCallback((rowId) => {
205
+ if (selection === "none")
206
+ return;
207
+ const next = new Set(resolvedSelectedRowIds);
208
+ if (selection === "single") {
209
+ if (next.has(rowId))
210
+ next.clear();
211
+ else {
212
+ next.clear();
213
+ next.add(rowId);
214
+ }
215
+ }
216
+ else if (next.has(rowId))
217
+ next.delete(rowId);
218
+ else
219
+ next.add(rowId);
220
+ setSelected(next);
221
+ }, [resolvedSelectedRowIds, selection, setSelected]);
222
+ const toggleAllRows = React.useCallback(() => {
223
+ if (selection !== "multiple")
224
+ return;
225
+ const allSelected = rows.length > 0 &&
226
+ rows.every((row, rowIndex) => resolvedSelectedRowIds.has(getRowId(row, rowIndex)));
227
+ setSelected(allSelected
228
+ ? new Set()
229
+ : new Set(rows.map((row, rowIndex) => getRowId(row, rowIndex))));
230
+ }, [getRowId, resolvedSelectedRowIds, rows, selection, setSelected]);
231
+ const moveActiveCell = React.useCallback((rowIndex, columnIndex, direction) => {
232
+ if (rows.length === 0 || columns.length === 0)
233
+ return;
234
+ let nextRowIndex = rowIndex;
235
+ let nextColumnIndex = columnIndex;
236
+ if (direction === "up")
237
+ nextRowIndex = Math.max(0, rowIndex - 1);
238
+ if (direction === "down") {
239
+ nextRowIndex = Math.min(rows.length - 1, rowIndex + 1);
240
+ }
241
+ if (direction === "left") {
242
+ if (columnIndex > 0)
243
+ nextColumnIndex = columnIndex - 1;
244
+ else if (rowIndex > 0) {
245
+ nextRowIndex = rowIndex - 1;
246
+ nextColumnIndex = columns.length - 1;
247
+ }
248
+ }
249
+ if (direction === "right") {
250
+ if (columnIndex < columns.length - 1)
251
+ nextColumnIndex = columnIndex + 1;
252
+ else if (rowIndex < rows.length - 1) {
253
+ nextRowIndex = rowIndex + 1;
254
+ nextColumnIndex = 0;
255
+ }
256
+ }
257
+ setActive({
258
+ rowId: getRowId(rows[nextRowIndex], nextRowIndex),
259
+ columnId: columns[nextColumnIndex].id,
260
+ editing: false,
261
+ });
262
+ }, [columns, getRowId, rows, setActive]);
263
+ const commitCell = React.useCallback((row, rowIndex, column, value) => {
264
+ onCellCommit?.({
265
+ row,
266
+ rowIndex,
267
+ column,
268
+ previousValue: column.getValue?.(row),
269
+ value,
270
+ });
271
+ }, [onCellCommit]);
272
+ const slotContext = {
273
+ rows,
274
+ columns,
275
+ columnWidths: resolvedColumnWidths,
276
+ gridTemplateColumns,
277
+ selection,
278
+ selectedRowIds: resolvedSelectedRowIds,
279
+ getRowId,
280
+ setActiveCell: setActive,
281
+ toggleRowSelection,
282
+ resizeColumn: setColumnWidth,
283
+ };
284
+ const { className: scrollClassName, ...restScrollContainerProps } = scrollContainerProps ?? {};
285
+ const loadingCount = Number.isFinite(loadingRowCount)
286
+ ? Math.max(1, Math.floor(loadingRowCount))
287
+ : 1;
288
+ return (_jsx("div", { ...gridProps, ref: gridRef, role: gridProps.role ?? "grid", className: cn("w-full min-w-0", className), "aria-busy": loading || undefined, children: _jsx("div", { ...restScrollContainerProps, "data-data-grid-scroll-container": "true", className: cn("w-full min-w-0 max-w-full overflow-x-auto overscroll-x-contain", scrollClassName), children: _jsxs("div", { className: cn("w-max min-w-full", contentClassName), children: [renderHeader ? (renderHeader(slotContext)) : (_jsx(DataGridHeader, { columns: columns, gridTemplateColumns: gridTemplateColumns, selection: selection, rows: rows, getRowId: getRowId, selectedRowIds: resolvedSelectedRowIds, onToggleAll: toggleAllRows, onStartResize: startResize })), renderBody
289
+ ? renderBody(slotContext)
290
+ : loading
291
+ ? loadingRows({
292
+ count: loadingCount,
293
+ columns,
294
+ gridTemplateColumns,
295
+ selection,
296
+ })
297
+ : rows.length > 0
298
+ ? rows.map((row, rowIndex) => {
299
+ const rowId = getRowId(row, rowIndex);
300
+ const rowContext = {
301
+ ...slotContext,
302
+ row,
303
+ rowIndex,
304
+ rowId,
305
+ selected: resolvedSelectedRowIds.has(rowId),
306
+ };
307
+ if (renderRow)
308
+ return renderRow(rowContext);
309
+ return (_jsx(DataGridDefaultRow, { row: row, rowIndex: rowIndex, rowId: rowId, columns: columns, gridTemplateColumns: gridTemplateColumns, selection: selection, selected: rowContext.selected, rowClassName: typeof rowClassName === "function"
310
+ ? rowClassName(row, rowIndex)
311
+ : rowClassName, activeCell: resolvedActiveCell, setActiveCell: setActive, toggleRowSelection: toggleRowSelection, moveActiveCell: moveActiveCell, commitCell: commitCell }, rowId));
312
+ })
313
+ : emptyState, renderFooter ? renderFooter(slotContext) : null] }) }) }));
314
+ }
315
+ //# sourceMappingURL=DataGrid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGrid.js","sourceRoot":"","sources":["../../src/data-grid/DataGrid.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=DataGrid.spec.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGrid.spec.d.ts","sourceRoot":"","sources":["../../src/data-grid/DataGrid.spec.tsx"],"names":[],"mappings":""}