@bsuite/data-grid 0.1.0

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 (89) hide show
  1. package/dist/DataGrid.d.ts +6 -0
  2. package/dist/DataGrid.d.ts.map +1 -0
  3. package/dist/DataGrid.js +642 -0
  4. package/dist/DataGrid.js.map +1 -0
  5. package/dist/cn.d.ts +7 -0
  6. package/dist/cn.d.ts.map +1 -0
  7. package/dist/cn.js +9 -0
  8. package/dist/cn.js.map +1 -0
  9. package/dist/components/ColumnHeaderCell.d.ts +18 -0
  10. package/dist/components/ColumnHeaderCell.d.ts.map +1 -0
  11. package/dist/components/ColumnHeaderCell.js +30 -0
  12. package/dist/components/ColumnHeaderCell.js.map +1 -0
  13. package/dist/components/FillHandle.d.ts +11 -0
  14. package/dist/components/FillHandle.d.ts.map +1 -0
  15. package/dist/components/FillHandle.js +16 -0
  16. package/dist/components/FillHandle.js.map +1 -0
  17. package/dist/components/GridCell.d.ts +25 -0
  18. package/dist/components/GridCell.d.ts.map +1 -0
  19. package/dist/components/GridCell.js +9 -0
  20. package/dist/components/GridCell.js.map +1 -0
  21. package/dist/editors/BooleanEditor.d.ts +5 -0
  22. package/dist/editors/BooleanEditor.d.ts.map +1 -0
  23. package/dist/editors/BooleanEditor.js +23 -0
  24. package/dist/editors/BooleanEditor.js.map +1 -0
  25. package/dist/editors/DateEditor.d.ts +7 -0
  26. package/dist/editors/DateEditor.d.ts.map +1 -0
  27. package/dist/editors/DateEditor.js +26 -0
  28. package/dist/editors/DateEditor.js.map +1 -0
  29. package/dist/editors/NumberEditor.d.ts +3 -0
  30. package/dist/editors/NumberEditor.d.ts.map +1 -0
  31. package/dist/editors/NumberEditor.js +30 -0
  32. package/dist/editors/NumberEditor.js.map +1 -0
  33. package/dist/editors/SelectEditor.d.ts +3 -0
  34. package/dist/editors/SelectEditor.d.ts.map +1 -0
  35. package/dist/editors/SelectEditor.js +18 -0
  36. package/dist/editors/SelectEditor.js.map +1 -0
  37. package/dist/editors/TextEditor.d.ts +3 -0
  38. package/dist/editors/TextEditor.d.ts.map +1 -0
  39. package/dist/editors/TextEditor.js +22 -0
  40. package/dist/editors/TextEditor.js.map +1 -0
  41. package/dist/editors/index.d.ts +6 -0
  42. package/dist/editors/index.d.ts.map +1 -0
  43. package/dist/editors/index.js +6 -0
  44. package/dist/editors/index.js.map +1 -0
  45. package/dist/editors/useAutoFocusSelect.d.ts +9 -0
  46. package/dist/editors/useAutoFocusSelect.d.ts.map +1 -0
  47. package/dist/editors/useAutoFocusSelect.js +30 -0
  48. package/dist/editors/useAutoFocusSelect.js.map +1 -0
  49. package/dist/formatting.d.ts +9 -0
  50. package/dist/formatting.d.ts.map +1 -0
  51. package/dist/formatting.js +38 -0
  52. package/dist/formatting.js.map +1 -0
  53. package/dist/index.d.ts +20 -0
  54. package/dist/index.d.ts.map +1 -0
  55. package/dist/index.js +18 -0
  56. package/dist/index.js.map +1 -0
  57. package/dist/lib/clipboard.d.ts +28 -0
  58. package/dist/lib/clipboard.d.ts.map +1 -0
  59. package/dist/lib/clipboard.js +53 -0
  60. package/dist/lib/clipboard.js.map +1 -0
  61. package/dist/lib/fill.d.ts +35 -0
  62. package/dist/lib/fill.d.ts.map +1 -0
  63. package/dist/lib/fill.js +76 -0
  64. package/dist/lib/fill.js.map +1 -0
  65. package/dist/lib/index.d.ts +7 -0
  66. package/dist/lib/index.d.ts.map +1 -0
  67. package/dist/lib/index.js +7 -0
  68. package/dist/lib/index.js.map +1 -0
  69. package/dist/lib/keyboard.d.ts +40 -0
  70. package/dist/lib/keyboard.d.ts.map +1 -0
  71. package/dist/lib/keyboard.js +85 -0
  72. package/dist/lib/keyboard.js.map +1 -0
  73. package/dist/lib/selection.d.ts +26 -0
  74. package/dist/lib/selection.d.ts.map +1 -0
  75. package/dist/lib/selection.js +57 -0
  76. package/dist/lib/selection.js.map +1 -0
  77. package/dist/lib/tsv.d.ts +31 -0
  78. package/dist/lib/tsv.d.ts.map +1 -0
  79. package/dist/lib/tsv.js +113 -0
  80. package/dist/lib/tsv.js.map +1 -0
  81. package/dist/lib/undo.d.ts +36 -0
  82. package/dist/lib/undo.d.ts.map +1 -0
  83. package/dist/lib/undo.js +57 -0
  84. package/dist/lib/undo.js.map +1 -0
  85. package/dist/types.d.ts +119 -0
  86. package/dist/types.d.ts.map +1 -0
  87. package/dist/types.js +2 -0
  88. package/dist/types.js.map +1 -0
  89. package/package.json +66 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DataGrid.js","sourceRoot":"","sources":["../src/DataGrid.tsx"],"names":[],"mappings":"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"}
package/dist/cn.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ import { type ClassValue } from 'clsx';
2
+ /** Minimal className joiner, matching @bsuite/ui's `cn()` shape. Not pulling
3
+ * in tailwind-merge here — this package's own class lists never conflict
4
+ * (each cell renders one fixed set of utility classes), so the extra
5
+ * dependency isn't worth it for a package with no consumer yet. */
6
+ export declare function cn(...inputs: ClassValue[]): string;
7
+ //# sourceMappingURL=cn.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.d.ts","sourceRoot":"","sources":["../src/cn.ts"],"names":[],"mappings":"AAAA,OAAa,EAAE,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAE7C;;;mEAGmE;AACnE,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,CAElD"}
package/dist/cn.js ADDED
@@ -0,0 +1,9 @@
1
+ import clsx from 'clsx';
2
+ /** Minimal className joiner, matching @bsuite/ui's `cn()` shape. Not pulling
3
+ * in tailwind-merge here — this package's own class lists never conflict
4
+ * (each cell renders one fixed set of utility classes), so the extra
5
+ * dependency isn't worth it for a package with no consumer yet. */
6
+ export function cn(...inputs) {
7
+ return clsx(inputs);
8
+ }
9
+ //# sourceMappingURL=cn.js.map
package/dist/cn.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.js","sourceRoot":"","sources":["../src/cn.ts"],"names":[],"mappings":"AAAA,OAAO,IAAyB,MAAM,MAAM,CAAC;AAE7C;;;mEAGmE;AACnE,MAAM,UAAU,EAAE,CAAC,GAAG,MAAoB;IACxC,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;AACtB,CAAC"}
@@ -0,0 +1,18 @@
1
+ import type { CSSProperties } from 'react';
2
+ import type { Header } from '@tanstack/react-table';
3
+ export interface ColumnHeaderCellProps<TRow> {
4
+ header: Header<TRow, unknown>;
5
+ style: CSSProperties;
6
+ frozen?: boolean;
7
+ className?: string;
8
+ }
9
+ /**
10
+ * A single sticky-header cell: sort-on-click label, a drag handle wired to
11
+ * @dnd-kit/sortable for column reorder (the monorepo already depends on
12
+ * @dnd-kit via packages/page-builder — reused here rather than adding a
13
+ * second DnD implementation), and a resize handle wired to react-table's
14
+ * own built-in column-resize API (plain pointer events under the hood,
15
+ * no extra dependency).
16
+ */
17
+ export declare function ColumnHeaderCell<TRow>(props: ColumnHeaderCellProps<TRow>): React.ReactElement;
18
+ //# sourceMappingURL=ColumnHeaderCell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnHeaderCell.d.ts","sourceRoot":"","sources":["../../src/components/ColumnHeaderCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAqC,MAAM,OAAO,CAAC;AAC9E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAKpD,MAAM,WAAW,qBAAqB,CAAC,IAAI;IACzC,MAAM,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9B,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,KAAK,EAAE,qBAAqB,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,CA8D7F"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useSortable } from '@dnd-kit/sortable';
3
+ import { CSS } from '@dnd-kit/utilities';
4
+ import { cn } from '../cn.js';
5
+ /**
6
+ * A single sticky-header cell: sort-on-click label, a drag handle wired to
7
+ * @dnd-kit/sortable for column reorder (the monorepo already depends on
8
+ * @dnd-kit via packages/page-builder — reused here rather than adding a
9
+ * second DnD implementation), and a resize handle wired to react-table's
10
+ * own built-in column-resize API (plain pointer events under the hood,
11
+ * no extra dependency).
12
+ */
13
+ export function ColumnHeaderCell(props) {
14
+ const { header, style, frozen, className } = props;
15
+ const column = header.column;
16
+ const sortDirection = column.getIsSorted();
17
+ const canSort = column.getCanSort();
18
+ const sortable = useSortable({ id: column.id, disabled: frozen });
19
+ const dragStyle = {
20
+ transform: CSS.Translate.toString(sortable.transform),
21
+ transition: sortable.transition,
22
+ };
23
+ const resizeHandler = header.getResizeHandler();
24
+ const stopPropagation = (e) => e.stopPropagation();
25
+ return (_jsxs("div", { ref: frozen ? undefined : sortable.setNodeRef, role: "columnheader", "aria-sort": sortDirection === 'asc' ? 'ascending' : sortDirection === 'desc' ? 'descending' : 'none', style: { ...style, ...(frozen ? {} : dragStyle) }, className: cn('group relative flex select-none items-center gap-1 border-r border-border bg-card px-2 text-xs font-medium text-text-secondary', sortable.isDragging && 'z-30 opacity-70', className), children: [!frozen && (_jsx("button", { type: "button", "aria-label": `Reorder column ${header.isPlaceholder ? '' : String(column.columnDef.header)}`, className: "cursor-grab touch-none text-text-subtle hover:text-text-secondary active:cursor-grabbing", ...sortable.attributes, ...sortable.listeners, children: "\u283F" })), _jsx("button", { type: "button", disabled: !canSort, onClick: () => column.toggleSorting(undefined, false), className: "min-w-0 flex-1 truncate text-left disabled:cursor-default", title: typeof column.columnDef.header === 'string' ? column.columnDef.header : undefined, children: typeof column.columnDef.header === 'string' ? column.columnDef.header : header.id }), sortDirection === 'asc' && _jsx("span", { "aria-hidden": true, children: "\u25B2" }), sortDirection === 'desc' && _jsx("span", { "aria-hidden": true, children: "\u25BC" }), !header.isPlaceholder && (_jsx("div", { onPointerDown: (e) => {
26
+ stopPropagation(e);
27
+ resizeHandler(e);
28
+ }, onDoubleClick: () => column.resetSize(), className: "absolute right-0 top-0 h-full w-1.5 cursor-col-resize touch-none select-none bg-transparent hover:bg-primary/40 data-[resizing=true]:bg-primary", "data-resizing": column.getIsResizing() }))] }));
29
+ }
30
+ //# sourceMappingURL=ColumnHeaderCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ColumnHeaderCell.js","sourceRoot":"","sources":["../../src/components/ColumnHeaderCell.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import type { PointerEvent as ReactPointerEvent } from 'react';
2
+ export interface FillHandleProps {
3
+ left: number;
4
+ top: number;
5
+ onPointerDown: (e: ReactPointerEvent<HTMLDivElement>) => void;
6
+ onDoubleClick: () => void;
7
+ }
8
+ /** The small square at the bottom-right of a selection — drag to fill a
9
+ * range, double-click to fill down to the extent of adjacent data. */
10
+ export declare function FillHandle(props: FillHandleProps): React.ReactElement;
11
+ //# sourceMappingURL=FillHandle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FillHandle.d.ts","sourceRoot":"","sources":["../../src/components/FillHandle.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAiB,YAAY,IAAI,iBAAiB,EAAE,MAAM,OAAO,CAAC;AAE9E,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,CAAC,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC9D,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;sEACsE;AACtE,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAqBrE"}
@@ -0,0 +1,16 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ /** The small square at the bottom-right of a selection — drag to fill a
3
+ * range, double-click to fill down to the extent of adjacent data. */
4
+ export function FillHandle(props) {
5
+ const { left, top, onPointerDown, onDoubleClick } = props;
6
+ const style = {
7
+ position: 'absolute',
8
+ left: left - 4,
9
+ top: top - 4,
10
+ width: 8,
11
+ height: 8,
12
+ zIndex: 40,
13
+ };
14
+ return (_jsx("div", { role: "button", "aria-label": "Fill handle \u2014 drag to fill, double-click to fill down", tabIndex: -1, style: style, onPointerDown: onPointerDown, onDoubleClick: onDoubleClick, className: "cursor-crosshair rounded-[1px] border border-bg-body bg-primary" }));
15
+ }
16
+ //# sourceMappingURL=FillHandle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FillHandle.js","sourceRoot":"","sources":["../../src/components/FillHandle.tsx"],"names":[],"mappings":";AASA;sEACsE;AACtE,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,aAAa,EAAE,aAAa,EAAE,GAAG,KAAK,CAAC;IAC1D,MAAM,KAAK,GAAkB;QAC3B,QAAQ,EAAE,UAAU;QACpB,IAAI,EAAE,IAAI,GAAG,CAAC;QACd,GAAG,EAAE,GAAG,GAAG,CAAC;QACZ,KAAK,EAAE,CAAC;QACR,MAAM,EAAE,CAAC;QACT,MAAM,EAAE,EAAE;KACX,CAAC;IACF,OAAO,CACL,cACE,IAAI,EAAC,QAAQ,gBACF,4DAAuD,EAClE,QAAQ,EAAE,CAAC,CAAC,EACZ,KAAK,EAAE,KAAK,EACZ,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAC,iEAAiE,GAC3E,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,25 @@
1
+ import type { CSSProperties, MouseEvent as ReactMouseEvent, ReactNode } from 'react';
2
+ import type { CellEditorProps, DataGridColumn } from '../types.js';
3
+ export interface GridCellProps<TRow> {
4
+ style: CSSProperties;
5
+ column: DataGridColumn<TRow>;
6
+ row: TRow;
7
+ rowIndex: number;
8
+ value: unknown;
9
+ isSelected: boolean;
10
+ isActive: boolean;
11
+ isEditing: boolean;
12
+ editSeedChar?: string;
13
+ frozen?: boolean;
14
+ content: ReactNode;
15
+ Editor: (props: CellEditorProps<TRow>) => ReactNode;
16
+ onCommit: (nextValue: unknown) => void;
17
+ onCancel: () => void;
18
+ onMouseDown: (e: ReactMouseEvent<HTMLDivElement>) => void;
19
+ onMouseEnter: (e: ReactMouseEvent<HTMLDivElement>) => void;
20
+ onDoubleClick: () => void;
21
+ }
22
+ /** One data cell — either the read-only rendered value, or (when
23
+ * `isEditing`) the column's typed inline editor. */
24
+ export declare function GridCell<TRow>(props: GridCellProps<TRow>): React.ReactElement;
25
+ //# sourceMappingURL=GridCell.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridCell.d.ts","sourceRoot":"","sources":["../../src/components/GridCell.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,IAAI,eAAe,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErF,OAAO,KAAK,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,WAAW,aAAa,CAAC,IAAI;IACjC,KAAK,EAAE,aAAa,CAAC;IACrB,MAAM,EAAE,cAAc,CAAC,IAAI,CAAC,CAAC;IAC7B,GAAG,EAAE,IAAI,CAAC;IACV,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,CAAC;IACf,UAAU,EAAE,OAAO,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,EAAE,OAAO,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC;IACnB,MAAM,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC;IACpD,QAAQ,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,IAAI,CAAC;IACvC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,WAAW,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC1D,YAAY,EAAE,CAAC,CAAC,EAAE,eAAe,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC3D,aAAa,EAAE,MAAM,IAAI,CAAC;CAC3B;AAED;oDACoD;AACpD,wBAAgB,QAAQ,CAAC,IAAI,EAAE,KAAK,EAAE,aAAa,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,YAAY,CAqD7E"}
@@ -0,0 +1,9 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { cn } from '../cn.js';
3
+ /** One data cell — either the read-only rendered value, or (when
4
+ * `isEditing`) the column's typed inline editor. */
5
+ export function GridCell(props) {
6
+ const { style, column, row, rowIndex, value, isSelected, isActive, isEditing, editSeedChar, frozen, content, Editor, onCommit, onCancel, onMouseDown, onMouseEnter, onDoubleClick, } = props;
7
+ return (_jsx("div", { role: "gridcell", "aria-selected": isSelected, style: style, onMouseDown: onMouseDown, onMouseEnter: onMouseEnter, onDoubleClick: onDoubleClick, className: cn('flex items-center overflow-hidden border-r border-b border-border text-sm text-foreground', frozen ? 'sticky left-0 z-10 bg-card font-medium' : 'bg-background', isSelected && !frozen && 'bg-primary/10', isSelected && frozen && 'bg-primary/15', isActive && 'ring-2 ring-inset ring-primary', column.dataType === 'number' && !isEditing && 'justify-end'), children: isEditing ? (_jsx(Editor, { value: value, row: row, rowIndex: rowIndex, column: column, initialInputChar: editSeedChar, onCommit: onCommit, onCancel: onCancel })) : (_jsx("div", { className: cn('w-full truncate px-2', column.dataType === 'number' && 'text-right'), children: content })) }));
8
+ }
9
+ //# sourceMappingURL=GridCell.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"GridCell.js","sourceRoot":"","sources":["../../src/components/GridCell.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,EAAE,EAAE,MAAM,UAAU,CAAC;AAuB9B;oDACoD;AACpD,MAAM,UAAU,QAAQ,CAAO,KAA0B;IACvD,MAAM,EACJ,KAAK,EACL,MAAM,EACN,GAAG,EACH,QAAQ,EACR,KAAK,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,MAAM,EACN,OAAO,EACP,MAAM,EACN,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,YAAY,EACZ,aAAa,GACd,GAAG,KAAK,CAAC;IAEV,OAAO,CACL,cACE,IAAI,EAAC,UAAU,mBACA,UAAU,EACzB,KAAK,EAAE,KAAK,EACZ,WAAW,EAAE,WAAW,EACxB,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,EAAE,CACX,2FAA2F,EAC3F,MAAM,CAAC,CAAC,CAAC,wCAAwC,CAAC,CAAC,CAAC,eAAe,EACnE,UAAU,IAAI,CAAC,MAAM,IAAI,eAAe,EACxC,UAAU,IAAI,MAAM,IAAI,eAAe,EACvC,QAAQ,IAAI,gCAAgC,EAC5C,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,CAAC,SAAS,IAAI,aAAa,CAC5D,YAEA,SAAS,CAAC,CAAC,CAAC,CACX,KAAC,MAAM,IACL,KAAK,EAAE,KAAK,EACZ,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,MAAM,EACd,gBAAgB,EAAE,YAAY,EAC9B,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,GAClB,CACH,CAAC,CAAC,CAAC,CACF,cAAK,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,YAAY,CAAC,YAAG,OAAO,GAAO,CAC1G,GACG,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { CellEditorProps } from '../types.js';
2
+ /** Booleans commit immediately on toggle — there is no intermediate "typed
3
+ * but not yet committed" state for a checkbox, unlike text/number/date. */
4
+ export declare function BooleanEditor(props: CellEditorProps): React.ReactElement;
5
+ //# sourceMappingURL=BooleanEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BooleanEditor.d.ts","sourceRoot":"","sources":["../../src/editors/BooleanEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAEnD;2EAC2E;AAC3E,wBAAgB,aAAa,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CA4BxE"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useRef } from 'react';
3
+ /** Booleans commit immediately on toggle — there is no intermediate "typed
4
+ * but not yet committed" state for a checkbox, unlike text/number/date. */
5
+ export function BooleanEditor(props) {
6
+ const { value, onCommit, onCancel } = props;
7
+ const ref = useRef(null);
8
+ const checked = Boolean(value);
9
+ useEffect(() => {
10
+ ref.current?.focus();
11
+ }, []);
12
+ return (_jsx("input", { ref: ref, type: "checkbox", checked: checked, onChange: (e) => onCommit(e.target.checked), onKeyDown: (e) => {
13
+ if (e.key === 'Escape') {
14
+ e.preventDefault();
15
+ onCancel();
16
+ }
17
+ if (e.key === 'Enter') {
18
+ e.preventDefault();
19
+ onCommit(!checked);
20
+ }
21
+ }, className: "h-4 w-4 accent-primary" }));
22
+ }
23
+ //# sourceMappingURL=BooleanEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"BooleanEditor.js","sourceRoot":"","sources":["../../src/editors/BooleanEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AAG1C;2EAC2E;AAC3E,MAAM,UAAU,aAAa,CAAC,KAAsB;IAClD,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC5C,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC3C,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAE/B,SAAS,CAAC,GAAG,EAAE;QACb,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;IACvB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,CACL,gBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,UAAU,EACf,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAC3C,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YACf,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;gBACvB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,EAAE,CAAC;YACb,CAAC;YACD,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBACtB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC;YACrB,CAAC;QACH,CAAC,EACD,SAAS,EAAC,wBAAwB,GAClC,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,7 @@
1
+ import type { CellEditorProps } from '../types.js';
2
+ /** Value convention: ISO date string 'YYYY-MM-DD'. Kept as a plain string
3
+ * (not a Date object) deliberately — a Date carries a timezone the grid has
4
+ * no basis to guess, and a bare ISO date string round-trips exactly through
5
+ * TSV copy/paste with no ambiguity. */
6
+ export declare function DateEditor(props: CellEditorProps): React.ReactElement;
7
+ //# sourceMappingURL=DateEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateEditor.d.ts","sourceRoot":"","sources":["../../src/editors/DateEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD;;;uCAGuC;AACvC,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CA6BrE"}
@@ -0,0 +1,26 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRef, useState } from 'react';
3
+ import { useAutoFocusSelect } from './useAutoFocusSelect.js';
4
+ /** Value convention: ISO date string 'YYYY-MM-DD'. Kept as a plain string
5
+ * (not a Date object) deliberately — a Date carries a timezone the grid has
6
+ * no basis to guess, and a bare ISO date string round-trips exactly through
7
+ * TSV copy/paste with no ambiguity. */
8
+ export function DateEditor(props) {
9
+ const { value, initialInputChar, onCommit, onCancel } = props;
10
+ const [text, setText] = useState(() => initialInputChar ?? (value == null ? '' : String(value)));
11
+ const ref = useRef(null);
12
+ useAutoFocusSelect(ref, Boolean(initialInputChar));
13
+ const handleKeyDown = (e) => {
14
+ if (e.key === 'Escape') {
15
+ e.preventDefault();
16
+ onCancel();
17
+ return;
18
+ }
19
+ if (e.key === 'Enter') {
20
+ e.preventDefault();
21
+ onCommit(text === '' ? null : text);
22
+ }
23
+ };
24
+ return (_jsx("input", { ref: ref, type: "date", value: text, onChange: (e) => setText(e.target.value), onKeyDown: handleKeyDown, onBlur: () => onCommit(text === '' ? null : text), className: "h-full w-full border-0 bg-transparent px-2 text-sm text-foreground outline-none ring-2 ring-inset ring-primary" }));
25
+ }
26
+ //# sourceMappingURL=DateEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DateEditor.js","sourceRoot":"","sources":["../../src/editors/DateEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D;;;uCAGuC;AACvC,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC9D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,GAAG,EAAE,CAAC,gBAAgB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzG,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC3C,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEnD,MAAM,aAAa,GAAG,CAAC,CAAkC,EAAQ,EAAE;QACjE,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACtB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;QACtC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,gBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxC,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,EACjD,SAAS,EAAC,gHAAgH,GAC1H,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CellEditorProps } from '../types.js';
2
+ export declare function NumberEditor(props: CellEditorProps): React.ReactElement;
3
+ //# sourceMappingURL=NumberEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberEditor.d.ts","sourceRoot":"","sources":["../../src/editors/NumberEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CAuCvE"}
@@ -0,0 +1,30 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRef, useState } from 'react';
3
+ import { useAutoFocusSelect } from './useAutoFocusSelect.js';
4
+ export function NumberEditor(props) {
5
+ const { value, initialInputChar, onCommit, onCancel } = props;
6
+ const [text, setText] = useState(() => initialInputChar ?? (value == null ? '' : String(value)));
7
+ const ref = useRef(null);
8
+ useAutoFocusSelect(ref, Boolean(initialInputChar));
9
+ const commit = () => {
10
+ if (text.trim() === '') {
11
+ onCommit(null);
12
+ return;
13
+ }
14
+ const num = Number(text);
15
+ onCommit(Number.isNaN(num) ? text : num);
16
+ };
17
+ const handleKeyDown = (e) => {
18
+ if (e.key === 'Escape') {
19
+ e.preventDefault();
20
+ onCancel();
21
+ return;
22
+ }
23
+ if (e.key === 'Enter') {
24
+ e.preventDefault();
25
+ commit();
26
+ }
27
+ };
28
+ return (_jsx("input", { ref: ref, type: "text", inputMode: "decimal", value: text, onChange: (e) => setText(e.target.value), onKeyDown: handleKeyDown, onBlur: commit, className: "h-full w-full border-0 bg-transparent px-2 text-right text-sm text-foreground outline-none ring-2 ring-inset ring-primary" }));
29
+ }
30
+ //# sourceMappingURL=NumberEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NumberEditor.js","sourceRoot":"","sources":["../../src/editors/NumberEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC9D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,GAAG,EAAE,CAAC,gBAAgB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzG,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC3C,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEnD,MAAM,MAAM,GAAG,GAAS,EAAE;QACxB,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;YACvB,QAAQ,CAAC,IAAI,CAAC,CAAC;YACf,OAAO;QACT,CAAC;QACD,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC;QACzB,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAC3C,CAAC,CAAC;IAEF,MAAM,aAAa,GAAG,CAAC,CAAkC,EAAQ,EAAE;QACjE,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACtB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,MAAM,EAAE,CAAC;QACX,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,gBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,MAAM,EACX,SAAS,EAAC,SAAS,EACnB,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxC,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,MAAM,EACd,SAAS,EAAC,2HAA2H,GACrI,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CellEditorProps } from '../types.js';
2
+ export declare function SelectEditor(props: CellEditorProps): React.ReactElement;
3
+ //# sourceMappingURL=SelectEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectEditor.d.ts","sourceRoot":"","sources":["../../src/editors/SelectEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,wBAAgB,YAAY,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CA+BvE"}
@@ -0,0 +1,18 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useRef } from 'react';
3
+ import { useAutoFocusSelect } from './useAutoFocusSelect.js';
4
+ export function SelectEditor(props) {
5
+ const { value, column, onCommit, onCancel } = props;
6
+ const ref = useRef(null);
7
+ useAutoFocusSelect(ref, false);
8
+ const options = column.options ?? [];
9
+ const current = value == null ? '' : String(value);
10
+ const handleKeyDown = (e) => {
11
+ if (e.key === 'Escape') {
12
+ e.preventDefault();
13
+ onCancel();
14
+ }
15
+ };
16
+ return (_jsxs("select", { ref: ref, value: current, onChange: (e) => onCommit(e.target.value === '' ? null : e.target.value), onKeyDown: handleKeyDown, onBlur: () => onCommit(current === '' ? null : current), className: "h-full w-full border-0 bg-transparent px-2 text-sm text-foreground outline-none ring-2 ring-inset ring-primary", children: [_jsx("option", { value: "" }), options.map((opt) => (_jsx("option", { value: opt.value, children: opt.label }, opt.value)))] }));
17
+ }
18
+ //# sourceMappingURL=SelectEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SelectEditor.js","sourceRoot":"","sources":["../../src/editors/SelectEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAsB,MAAM,OAAO,CAAC;AAEnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,UAAU,YAAY,CAAC,KAAsB;IACjD,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IACpD,MAAM,GAAG,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IAC5C,kBAAkB,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,EAAE,CAAC;IACrC,MAAM,OAAO,GAAG,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAEnD,MAAM,aAAa,GAAG,CAAC,CAAmC,EAAQ,EAAE;QAClE,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,kBACE,GAAG,EAAE,GAAG,EACR,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxE,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,EACvD,SAAS,EAAC,gHAAgH,aAE1H,iBAAQ,KAAK,EAAC,EAAE,GAAG,EAClB,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CACpB,iBAAwB,KAAK,EAAE,GAAG,CAAC,KAAK,YACrC,GAAG,CAAC,KAAK,IADC,GAAG,CAAC,KAAK,CAEb,CACV,CAAC,IACK,CACV,CAAC;AACJ,CAAC"}
@@ -0,0 +1,3 @@
1
+ import type { CellEditorProps } from '../types.js';
2
+ export declare function TextEditor(props: CellEditorProps): React.ReactElement;
3
+ //# sourceMappingURL=TextEditor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextEditor.d.ts","sourceRoot":"","sources":["../../src/editors/TextEditor.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGnD,wBAAgB,UAAU,CAAC,KAAK,EAAE,eAAe,GAAG,KAAK,CAAC,YAAY,CA6BrE"}
@@ -0,0 +1,22 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useRef, useState } from 'react';
3
+ import { useAutoFocusSelect } from './useAutoFocusSelect.js';
4
+ export function TextEditor(props) {
5
+ const { value, initialInputChar, onCommit, onCancel } = props;
6
+ const [text, setText] = useState(() => initialInputChar ?? (value == null ? '' : String(value)));
7
+ const ref = useRef(null);
8
+ useAutoFocusSelect(ref, Boolean(initialInputChar));
9
+ const handleKeyDown = (e) => {
10
+ if (e.key === 'Escape') {
11
+ e.preventDefault();
12
+ onCancel();
13
+ return;
14
+ }
15
+ if (e.key === 'Enter') {
16
+ e.preventDefault();
17
+ onCommit(text);
18
+ }
19
+ };
20
+ return (_jsx("input", { ref: ref, type: "text", value: text, onChange: (e) => setText(e.target.value), onKeyDown: handleKeyDown, onBlur: () => onCommit(text), className: "h-full w-full border-0 bg-transparent px-2 text-sm text-foreground outline-none ring-2 ring-inset ring-primary" }));
21
+ }
22
+ //# sourceMappingURL=TextEditor.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TextEditor.js","sourceRoot":"","sources":["../../src/editors/TextEditor.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAsB,MAAM,OAAO,CAAC;AAE7D,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,UAAU,UAAU,CAAC,KAAsB;IAC/C,MAAM,EAAE,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC9D,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAS,GAAG,EAAE,CAAC,gBAAgB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACzG,MAAM,GAAG,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAC;IAC3C,kBAAkB,CAAC,GAAG,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC;IAEnD,MAAM,aAAa,GAAG,CAAC,CAAkC,EAAQ,EAAE;QACjE,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,EAAE,CAAC;YACvB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACtB,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,QAAQ,CAAC,IAAI,CAAC,CAAC;QACjB,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,gBACE,GAAG,EAAE,GAAG,EACR,IAAI,EAAC,MAAM,EACX,KAAK,EAAE,IAAI,EACX,QAAQ,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EACxC,SAAS,EAAE,aAAa,EACxB,MAAM,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,EAC5B,SAAS,EAAC,gHAAgH,GAC1H,CACH,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { TextEditor } from './TextEditor.js';
2
+ export { NumberEditor } from './NumberEditor.js';
3
+ export { DateEditor } from './DateEditor.js';
4
+ export { BooleanEditor } from './BooleanEditor.js';
5
+ export { SelectEditor } from './SelectEditor.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/editors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ export { TextEditor } from './TextEditor.js';
2
+ export { NumberEditor } from './NumberEditor.js';
3
+ export { DateEditor } from './DateEditor.js';
4
+ export { BooleanEditor } from './BooleanEditor.js';
5
+ export { SelectEditor } from './SelectEditor.js';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/editors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAC7C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Focus the editor input on mount. When editing started because the user
3
+ * typed a printable character over a focused cell (`seedTyped`), the caret
4
+ * is left at the end (the typed character stands as the whole new value);
5
+ * otherwise the previous value is selected so the next keystroke replaces
6
+ * it, matching Excel/Sheets "press Enter/F2 to edit" behaviour.
7
+ */
8
+ export declare function useAutoFocusSelect(ref: React.RefObject<HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement | null>, seedTyped: boolean): void;
9
+ //# sourceMappingURL=useAutoFocusSelect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAutoFocusSelect.d.ts","sourceRoot":"","sources":["../../src/editors/useAutoFocusSelect.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,gBAAgB,GAAG,mBAAmB,GAAG,iBAAiB,GAAG,IAAI,CAAC,EACvF,SAAS,EAAE,OAAO,GACjB,IAAI,CAiBN"}
@@ -0,0 +1,30 @@
1
+ import { useEffect } from 'react';
2
+ /**
3
+ * Focus the editor input on mount. When editing started because the user
4
+ * typed a printable character over a focused cell (`seedTyped`), the caret
5
+ * is left at the end (the typed character stands as the whole new value);
6
+ * otherwise the previous value is selected so the next keystroke replaces
7
+ * it, matching Excel/Sheets "press Enter/F2 to edit" behaviour.
8
+ */
9
+ export function useAutoFocusSelect(ref, seedTyped) {
10
+ useEffect(() => {
11
+ const el = ref.current;
12
+ if (!el)
13
+ return;
14
+ el.focus();
15
+ if (!seedTyped && 'select' in el && typeof el.select === 'function') {
16
+ el.select();
17
+ }
18
+ else if ('setSelectionRange' in el && typeof el.setSelectionRange === 'function') {
19
+ const len = 'value' in el ? String(el.value).length : 0;
20
+ try {
21
+ el.setSelectionRange(len, len);
22
+ }
23
+ catch {
24
+ // Some input types (e.g. number, date) don't support setSelectionRange — ignore.
25
+ }
26
+ }
27
+ // eslint-disable-next-line react-hooks/exhaustive-deps
28
+ }, []);
29
+ }
30
+ //# sourceMappingURL=useAutoFocusSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useAutoFocusSelect.js","sourceRoot":"","sources":["../../src/editors/useAutoFocusSelect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC;;;;;;GAMG;AACH,MAAM,UAAU,kBAAkB,CAChC,GAAuF,EACvF,SAAkB;IAElB,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC;QACvB,IAAI,CAAC,EAAE;YAAE,OAAO;QAChB,EAAE,CAAC,KAAK,EAAE,CAAC;QACX,IAAI,CAAC,SAAS,IAAI,QAAQ,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,MAAM,KAAK,UAAU,EAAE,CAAC;YACpE,EAAE,CAAC,MAAM,EAAE,CAAC;QACd,CAAC;aAAM,IAAI,mBAAmB,IAAI,EAAE,IAAI,OAAO,EAAE,CAAC,iBAAiB,KAAK,UAAU,EAAE,CAAC;YACnF,MAAM,GAAG,GAAG,OAAO,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;YACxD,IAAI,CAAC;gBACH,EAAE,CAAC,iBAAiB,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,iFAAiF;YACnF,CAAC;QACH,CAAC;QACD,uDAAuD;IACzD,CAAC,EAAE,EAAE,CAAC,CAAC;AACT,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { ColumnDataType } from './types.js';
2
+ /** Type-aware default display/copy formatting. A column's `formatValue`
3
+ * override always wins; this is the fallback so a column with no override
4
+ * still copies sensible TSV text. */
5
+ export declare function formatCellValue(value: unknown, dataType: ColumnDataType | undefined): string;
6
+ /** Type-aware default parsing for typed/pasted text. A column's
7
+ * `parseValue` override always wins. */
8
+ export declare function parseCellValue(raw: string, dataType: ColumnDataType | undefined): unknown;
9
+ //# sourceMappingURL=formatting.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.d.ts","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AAEjD;;qCAEqC;AACrC,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,MAAM,CAU5F;AAED;wCACwC;AACxC,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,GAAG,SAAS,GAAG,OAAO,CAgBzF"}
@@ -0,0 +1,38 @@
1
+ /** Type-aware default display/copy formatting. A column's `formatValue`
2
+ * override always wins; this is the fallback so a column with no override
3
+ * still copies sensible TSV text. */
4
+ export function formatCellValue(value, dataType) {
5
+ if (value == null)
6
+ return '';
7
+ switch (dataType) {
8
+ case 'boolean':
9
+ return value ? 'TRUE' : 'FALSE';
10
+ case 'number':
11
+ return typeof value === 'number' ? String(value) : String(value);
12
+ default:
13
+ return String(value);
14
+ }
15
+ }
16
+ /** Type-aware default parsing for typed/pasted text. A column's
17
+ * `parseValue` override always wins. */
18
+ export function parseCellValue(raw, dataType) {
19
+ switch (dataType) {
20
+ case 'boolean': {
21
+ const normalized = raw.trim().toUpperCase();
22
+ if (normalized === 'TRUE' || normalized === '1' || normalized === 'YES')
23
+ return true;
24
+ if (normalized === 'FALSE' || normalized === '0' || normalized === 'NO' || normalized === '')
25
+ return false;
26
+ return Boolean(normalized);
27
+ }
28
+ case 'number': {
29
+ if (raw.trim() === '')
30
+ return null;
31
+ const num = Number(raw);
32
+ return Number.isNaN(num) ? raw : num;
33
+ }
34
+ default:
35
+ return raw;
36
+ }
37
+ }
38
+ //# sourceMappingURL=formatting.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formatting.js","sourceRoot":"","sources":["../src/formatting.ts"],"names":[],"mappings":"AAEA;;qCAEqC;AACrC,MAAM,UAAU,eAAe,CAAC,KAAc,EAAE,QAAoC;IAClF,IAAI,KAAK,IAAI,IAAI;QAAE,OAAO,EAAE,CAAC;IAC7B,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,SAAS;YACZ,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;QAClC,KAAK,QAAQ;YACX,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACnE;YACE,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC;IACzB,CAAC;AACH,CAAC;AAED;wCACwC;AACxC,MAAM,UAAU,cAAc,CAAC,GAAW,EAAE,QAAoC;IAC9E,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,SAAS,CAAC,CAAC,CAAC;YACf,MAAM,UAAU,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC5C,IAAI,UAAU,KAAK,MAAM,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC;YACrF,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,GAAG,IAAI,UAAU,KAAK,IAAI,IAAI,UAAU,KAAK,EAAE;gBAAE,OAAO,KAAK,CAAC;YAC3G,OAAO,OAAO,CAAC,UAAU,CAAC,CAAC;QAC7B,CAAC;QACD,KAAK,QAAQ,CAAC,CAAC,CAAC;YACd,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE;gBAAE,OAAO,IAAI,CAAC;YACnC,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YACxB,OAAO,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;QACvC,CAAC;QACD;YACE,OAAO,GAAG,CAAC;IACf,CAAC;AACH,CAAC"}