@keenaioc/data-view 0.0.0-poc.1 → 0.2.0-alpha.8

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 (109) hide show
  1. package/CHANGELOG.md +105 -0
  2. package/DATA-PRIVACY.md +20 -0
  3. package/INTEGRATION.md +178 -0
  4. package/KNOWN-LIMITATIONS.md +34 -0
  5. package/LICENSE +21 -0
  6. package/README.md +67 -5
  7. package/dist/contracts.d.ts +33 -0
  8. package/dist/contracts.d.ts.map +1 -0
  9. package/dist/contracts.js +83 -0
  10. package/dist/contracts.js.map +1 -0
  11. package/dist/data-view.d.ts +3 -0
  12. package/dist/data-view.d.ts.map +1 -0
  13. package/dist/data-view.js +822 -0
  14. package/dist/data-view.js.map +1 -0
  15. package/dist/engine.d.ts +34 -0
  16. package/dist/engine.d.ts.map +1 -0
  17. package/dist/engine.js +307 -0
  18. package/dist/engine.js.map +1 -0
  19. package/dist/gantt-bar.d.ts +17 -0
  20. package/dist/gantt-bar.d.ts.map +1 -0
  21. package/dist/gantt-bar.js +142 -0
  22. package/dist/gantt-bar.js.map +1 -0
  23. package/dist/gantt-dependencies.d.ts +27 -0
  24. package/dist/gantt-dependencies.d.ts.map +1 -0
  25. package/dist/gantt-dependencies.js +218 -0
  26. package/dist/gantt-dependencies.js.map +1 -0
  27. package/dist/gantt-dependency-ui.d.ts +37 -0
  28. package/dist/gantt-dependency-ui.d.ts.map +1 -0
  29. package/dist/gantt-dependency-ui.js +79 -0
  30. package/dist/gantt-dependency-ui.js.map +1 -0
  31. package/dist/gantt-grid.d.ts +27 -0
  32. package/dist/gantt-grid.d.ts.map +1 -0
  33. package/dist/gantt-grid.js +72 -0
  34. package/dist/gantt-grid.js.map +1 -0
  35. package/dist/gantt-operations.d.ts +14 -0
  36. package/dist/gantt-operations.d.ts.map +1 -0
  37. package/dist/gantt-operations.js +103 -0
  38. package/dist/gantt-operations.js.map +1 -0
  39. package/dist/index.d.ts +17 -0
  40. package/dist/index.d.ts.map +1 -0
  41. package/dist/index.js +17 -0
  42. package/dist/index.js.map +1 -0
  43. package/dist/operations.d.ts +11 -0
  44. package/dist/operations.d.ts.map +1 -0
  45. package/dist/operations.js +117 -0
  46. package/dist/operations.js.map +1 -0
  47. package/dist/registry.d.ts +13 -0
  48. package/dist/registry.d.ts.map +1 -0
  49. package/dist/registry.js +465 -0
  50. package/dist/registry.js.map +1 -0
  51. package/dist/remote-data.d.ts +19 -0
  52. package/dist/remote-data.d.ts.map +1 -0
  53. package/dist/remote-data.js +67 -0
  54. package/dist/remote-data.js.map +1 -0
  55. package/dist/row-move.d.ts +7 -0
  56. package/dist/row-move.d.ts.map +1 -0
  57. package/dist/row-move.js +27 -0
  58. package/dist/row-move.js.map +1 -0
  59. package/dist/schedule-view.d.ts +27 -0
  60. package/dist/schedule-view.d.ts.map +1 -0
  61. package/dist/schedule-view.js +122 -0
  62. package/dist/schedule-view.js.map +1 -0
  63. package/dist/schedule.d.ts +28 -0
  64. package/dist/schedule.d.ts.map +1 -0
  65. package/dist/schedule.js +97 -0
  66. package/dist/schedule.js.map +1 -0
  67. package/dist/style.css +986 -0
  68. package/dist/timeline.d.ts +25 -0
  69. package/dist/timeline.d.ts.map +1 -0
  70. package/dist/timeline.js +58 -0
  71. package/dist/timeline.js.map +1 -0
  72. package/dist/toolbar.d.ts +10 -0
  73. package/dist/toolbar.d.ts.map +1 -0
  74. package/dist/toolbar.js +31 -0
  75. package/dist/toolbar.js.map +1 -0
  76. package/dist/types.d.ts +472 -0
  77. package/dist/types.d.ts.map +1 -0
  78. package/dist/types.js +22 -0
  79. package/dist/types.js.map +1 -0
  80. package/dist/use-remote-data.d.ts +18 -0
  81. package/dist/use-remote-data.d.ts.map +1 -0
  82. package/dist/use-remote-data.js +12 -0
  83. package/dist/use-remote-data.js.map +1 -0
  84. package/dist/use-row-move.d.ts +12 -0
  85. package/dist/use-row-move.d.ts.map +1 -0
  86. package/dist/use-row-move.js +151 -0
  87. package/dist/use-row-move.js.map +1 -0
  88. package/dist/v2-panels.d.ts +37 -0
  89. package/dist/v2-panels.d.ts.map +1 -0
  90. package/dist/v2-panels.js +108 -0
  91. package/dist/v2-panels.js.map +1 -0
  92. package/dist/view-state.d.ts +30 -0
  93. package/dist/view-state.d.ts.map +1 -0
  94. package/dist/view-state.js +94 -0
  95. package/dist/view-state.js.map +1 -0
  96. package/dist/view-workspace.d.ts +3 -0
  97. package/dist/view-workspace.d.ts.map +1 -0
  98. package/dist/view-workspace.js +95 -0
  99. package/dist/view-workspace.js.map +1 -0
  100. package/dist/virtual-list.d.ts +12 -0
  101. package/dist/virtual-list.d.ts.map +1 -0
  102. package/dist/virtual-list.js +46 -0
  103. package/dist/virtual-list.js.map +1 -0
  104. package/package.json +19 -16
  105. package/index.d.ts +0 -2
  106. package/index.js +0 -5
  107. package/react.d.ts +0 -2
  108. package/react.js +0 -8
  109. package/style.css +0 -1
@@ -0,0 +1,25 @@
1
+ import type { DataViewConfig, DataViewGroupNode, FieldDefinition, ViewLocation } from "./types.js";
2
+ export type TimelineScale = NonNullable<ViewLocation["scale"]>;
3
+ /** A continuous bounded window spanning adjacent periods, with exact day snapping. */
4
+ export declare function timelineWindow(anchor: string, scale: TimelineScale): {
5
+ start: number;
6
+ end: number;
7
+ dayWidth: number;
8
+ ticks: {
9
+ day: number;
10
+ label: string;
11
+ }[];
12
+ width: number;
13
+ anchorOffset: number;
14
+ };
15
+ export type ScheduleEntry<Row> = {
16
+ kind: "row";
17
+ row: Row;
18
+ } | {
19
+ kind: "group";
20
+ node: DataViewGroupNode<Row>;
21
+ };
22
+ export declare function scheduleEntries<Row>(rows: Row[], fields: FieldDefinition<Row>[], view: Pick<DataViewConfig, "groups" | "collapsedGroups">): ScheduleEntry<Row>[];
23
+ /** Repeat group ancestors at a page boundary so a row never loses its context. */
24
+ export declare function scheduleEntryPage<Row>(entries: ScheduleEntry<Row>[], page: number, size?: number): ScheduleEntry<Row>[];
25
+ //# sourceMappingURL=timeline.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline.d.ts","sourceRoot":"","sources":["../src/timeline.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,iBAAiB,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AACnG,MAAM,MAAM,aAAa,GAAG,WAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;AAC/D,sFAAsF;AACtF,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa;;;;;aASvC,MAAM;eAAS,MAAM;;;;EAOhD;AACD,MAAM,MAAM,aAAa,CAAC,GAAG,IAAI;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,GAAG,EAAE,GAAG,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,IAAI,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAA;CAAE,CAAC;AAC7G,wBAAgB,eAAe,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE,MAAM,EAAE,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,iBAAiB,CAAC,wBAUzI;AACD,kFAAkF;AAClF,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,SAAK,wBAM5F"}
@@ -0,0 +1,58 @@
1
+ import { buildGroupTree } from "./engine.js";
2
+ import { dateDay, dayString } from "./schedule.js";
3
+ /** A continuous bounded window spanning adjacent periods, with exact day snapping. */
4
+ export function timelineWindow(anchor, scale) {
5
+ const day = dateDay(anchor);
6
+ if (day === null)
7
+ throw new Error("時間軸日期無效");
8
+ const d = new Date(day * 86400000);
9
+ const year = d.getUTCFullYear();
10
+ const month = d.getUTCMonth();
11
+ const at = (y, m, n = 1) => (() => { const d = new Date(0); d.setUTCFullYear(y, m, n); return Math.floor(d.getTime() / 86400000); })();
12
+ const week = day - (d.getUTCDay() + 6) % 7;
13
+ const rawStart = scale === "week" ? week - 7 : scale === "year" ? at(year, 0) : scale === "quarter" ? at(year, Math.floor(month / 3) * 3 - 1) : at(year, month - 1);
14
+ const rawEnd = scale === "week" ? week + 20 : scale === "year" ? at(year + 2, 0) - 1 : scale === "quarter" ? at(year, Math.floor(month / 3) * 3 + 5) - 1 : at(year, month + 2) - 1;
15
+ const start = Math.max(dateDay("0001-01-01"), rawStart);
16
+ const end = Math.min(dateDay("9999-12-31"), rawEnd);
17
+ const dayWidth = scale === "week" ? 64 : scale === "month" ? 36 : scale === "quarter" ? 14 : 4;
18
+ const ticks = [];
19
+ for (let n = start; n <= end; n++) {
20
+ const date = new Date(n * 86400000);
21
+ if ((scale === "year" && date.getUTCDate() !== 1) || (scale === "quarter" && date.getUTCDay() !== 1))
22
+ continue;
23
+ ticks.push({ day: n, label: scale === "year" ? dayString(n).slice(0, 7) : dayString(n).slice(5) });
24
+ }
25
+ return { start, end, dayWidth, ticks, width: (end - start + 1) * dayWidth, anchorOffset: Math.max(0, (day - start) * dayWidth - 120) };
26
+ }
27
+ export function scheduleEntries(rows, fields, view) {
28
+ const result = [];
29
+ const collapsed = new Set(view.collapsedGroups);
30
+ function visit(nodes) {
31
+ for (const node of nodes) {
32
+ if (node.fieldId)
33
+ result.push({ kind: "group", node });
34
+ if (collapsed.has(node.key))
35
+ continue;
36
+ if (node.children.length)
37
+ visit(node.children);
38
+ else
39
+ result.push(...node.rows.map((row) => ({ kind: "row", row })));
40
+ }
41
+ }
42
+ visit(buildGroupTree(rows, fields, view.groups));
43
+ return result;
44
+ }
45
+ /** Repeat group ancestors at a page boundary so a row never loses its context. */
46
+ export function scheduleEntryPage(entries, page, size = 40) {
47
+ const offset = (page - 1) * size;
48
+ const ancestors = [];
49
+ for (const entry of entries.slice(0, offset))
50
+ if (entry.kind === "group") {
51
+ ancestors.splice(entry.node.depth);
52
+ ancestors[entry.node.depth] = entry;
53
+ }
54
+ const chunk = entries.slice(offset, offset + size);
55
+ const depth = chunk[0]?.kind === "group" ? chunk[0].node.depth : 3;
56
+ return [...ancestors.slice(0, depth), ...chunk];
57
+ }
58
+ //# sourceMappingURL=timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"timeline.js","sourceRoot":"","sources":["../src/timeline.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type ReactNode } from "react";
2
+ /** Keeps secondary actions available without creating duplicate controls. */
3
+ export declare function DataViewToolbar({ compact, start, end, secondary, children }: {
4
+ compact: boolean;
5
+ start?: ReactNode;
6
+ end?: ReactNode;
7
+ secondary: ReactNode;
8
+ children: ReactNode;
9
+ }): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../src/toolbar.tsx"],"names":[],"mappings":"AACA,OAAO,EAA+B,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEpE,6EAA6E;AAC7E,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;IAC5E,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IAAC,SAAS,EAAE,SAAS,CAAC;IAAC,QAAQ,EAAE,SAAS,CAAC;CACjG,2CAoBA"}
@@ -0,0 +1,31 @@
1
+ "use client";
2
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
3
+ import { useEffect, useRef, useState } from "react";
4
+ /** Keeps secondary actions available without creating duplicate controls. */
5
+ export function DataViewToolbar({ compact, start, end, secondary, children }) {
6
+ const [open, setOpen] = useState(false);
7
+ const root = useRef(null), trigger = useRef(null);
8
+ useEffect(() => {
9
+ if (!open)
10
+ return;
11
+ const outside = (e) => { if (!root.current?.contains(e.target))
12
+ setOpen(false); };
13
+ document.addEventListener("pointerdown", outside);
14
+ return () => document.removeEventListener("pointerdown", outside);
15
+ }, [open]);
16
+ if (!compact)
17
+ return _jsxs("div", { className: "hy-dv-toolbar", children: [start, children, secondary, end] });
18
+ return _jsxs("div", { className: "hy-dv-toolbar is-compact", ref: root, onKeyDown: (e) => {
19
+ if (e.key === "Escape" && open) {
20
+ e.stopPropagation();
21
+ setOpen(false);
22
+ trigger.current?.focus();
23
+ }
24
+ }, children: [start && _jsx("div", { className: "hy-dv-toolbar-slot", children: start }), children, _jsx("button", { ref: trigger, type: "button", "aria-expanded": open, onClick: () => setOpen(!open), children: "\u66F4\u591A" }), open && _jsxs("div", { className: "hy-dv-toolbar-more", role: "group", "aria-label": "\u66F4\u591A\u8868\u683C\u64CD\u4F5C", onClick: (e) => {
25
+ if (e.target.closest("button")) {
26
+ setOpen(false);
27
+ trigger.current?.focus();
28
+ }
29
+ }, children: [secondary, end] })] });
30
+ }
31
+ //# sourceMappingURL=toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toolbar.js","sourceRoot":"","sources":["../src/toolbar.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAkB,MAAM,OAAO,CAAC;AAEpE,6EAA6E;AAC7E,MAAM,UAAU,eAAe,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,SAAS,EAAE,QAAQ,EAEzE;IACC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IACxC,MAAM,IAAI,GAAG,MAAM,CAAiB,IAAI,CAAC,EAAE,OAAO,GAAG,MAAM,CAAoB,IAAI,CAAC,CAAC;IACrF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,IAAI;YAAE,OAAO;QAClB,MAAM,OAAO,GAAG,CAAC,CAAe,EAAE,EAAE,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,MAAc,CAAC;YAAE,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;QACxG,QAAQ,CAAC,gBAAgB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAClD,OAAO,GAAG,EAAE,CAAC,QAAQ,CAAC,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACpE,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IACX,IAAI,CAAC,OAAO;QAAE,OAAO,eAAK,SAAS,EAAC,eAAe,aAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAO,CAAC;IAC5F,OAAO,eAAK,SAAS,EAAC,0BAA0B,EAAC,GAAG,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;YAC3E,IAAI,CAAC,CAAC,GAAG,KAAK,QAAQ,IAAI,IAAI,EAAE,CAAC;gBAAC,CAAC,CAAC,eAAe,EAAE,CAAC;gBAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;YAAC,CAAC;QACpG,CAAC,aACE,KAAK,IAAI,cAAK,SAAS,EAAC,oBAAoB,YAAE,KAAK,GAAO,EAC1D,QAAQ,EACT,iBAAQ,GAAG,EAAE,OAAO,EAAE,IAAI,EAAC,QAAQ,mBAAgB,IAAI,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,6BAAa,EAClG,IAAI,IAAI,eAAK,SAAS,EAAC,oBAAoB,EAAC,IAAI,EAAC,OAAO,gBAAY,sCAAQ,EAAC,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE;oBAC3F,IAAK,CAAC,CAAC,MAAsB,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;wBAAC,OAAO,CAAC,KAAK,CAAC,CAAC;wBAAC,OAAO,CAAC,OAAO,EAAE,KAAK,EAAE,CAAC;oBAAC,CAAC;gBAChG,CAAC,aAAG,SAAS,EAAE,GAAG,IAAO,IACrB,CAAC;AACT,CAAC"}
@@ -0,0 +1,472 @@
1
+ import type { ReactNode } from "react";
2
+ export declare const FIELD_TYPES: readonly ["singleLineText", "multiLineText", "number", "currency", "percentage", "checkbox", "date", "dateTime", "singleSelect", "multiSelect", "person", "relation", "attachment", "createdAt", "updatedAt", "createdBy", "updatedBy", "autoNumber", "systemReadOnly"];
3
+ export type FieldType = (typeof FIELD_TYPES)[number];
4
+ export type SortDirection = "asc" | "desc";
5
+ export type FilterConjunction = "and" | "or";
6
+ export type ColumnPin = "left" | "right" | null;
7
+ export type SaveState = "idle" | "saving" | "saved" | "failed" | "conflict" | "readonly";
8
+ export type ChoiceOption = {
9
+ value: string;
10
+ label: string;
11
+ color?: string;
12
+ textColor?: string;
13
+ groupColor?: string;
14
+ groupTextColor?: string;
15
+ };
16
+ export type PersonValue = {
17
+ id: string;
18
+ label: string;
19
+ avatarUrl?: string;
20
+ };
21
+ export type RelationValue = {
22
+ id: string;
23
+ label: string;
24
+ };
25
+ export type AttachmentValue = {
26
+ id: string;
27
+ name: string;
28
+ url?: string;
29
+ size?: number;
30
+ };
31
+ export type FieldPermissionContext<Row> = {
32
+ row: Row;
33
+ field: FieldDefinition<Row>;
34
+ };
35
+ export type FieldDefinition<Row = Record<string, unknown>> = {
36
+ id: string;
37
+ label: string;
38
+ type: FieldType;
39
+ width?: number;
40
+ visible?: boolean;
41
+ pinned?: ColumnPin;
42
+ required?: boolean;
43
+ readOnly?: boolean;
44
+ system?: boolean;
45
+ deletable?: boolean;
46
+ placeholder?: string;
47
+ currency?: string;
48
+ precision?: number;
49
+ options?: ChoiceOption[];
50
+ getValue?: (row: Row) => unknown;
51
+ canRead?: (context: FieldPermissionContext<Row>) => boolean;
52
+ canEdit?: (context: FieldPermissionContext<Row>) => boolean;
53
+ validate?: (value: unknown, row: Row) => string | null;
54
+ render?: (value: unknown, row: Row) => ReactNode;
55
+ /** Internal authorized metadata: groupable, never exposed in cells or field menus. */
56
+ internal?: boolean;
57
+ Editor?: (props: FieldEditorProps<Row>) => ReactNode;
58
+ renderQuickView?: (context: CellContext<Row>) => ReactNode;
59
+ /** Owns its interactive shell; never nested inside the ordinary cell button. */
60
+ renderAction?: (context: ActionCellContext<Row>) => ReactNode;
61
+ canAct?: (row: Row) => boolean;
62
+ formatText?: (value: unknown, row: Row) => string;
63
+ groupValue?: (value: unknown) => {
64
+ key: string;
65
+ label: string;
66
+ };
67
+ groupOrder?: string[];
68
+ renderGroup?: (node: DataViewGroupNode<Row>) => ReactNode;
69
+ appearance?: {
70
+ avatar?: boolean;
71
+ people?: "combined" | "separate";
72
+ relation?: "text" | "pill";
73
+ arrow?: boolean;
74
+ empty?: "blank" | "dash";
75
+ systemValue?: boolean;
76
+ };
77
+ /** Person values remain arrays in both modes. */
78
+ multiple?: boolean;
79
+ };
80
+ export type SortRule = {
81
+ fieldId: string;
82
+ direction: SortDirection;
83
+ };
84
+ export type FilterOperator = "contains" | "notContains" | "equals" | "notEquals" | "greaterThan" | "greaterThanOrEqual" | "lessThan" | "lessThanOrEqual" | "before" | "after" | "isEmpty" | "isNotEmpty" | "isTrue" | "isFalse" | "containsAny";
85
+ export type FilterRule = {
86
+ id: string;
87
+ fieldId: string;
88
+ operator: FilterOperator;
89
+ value?: unknown;
90
+ };
91
+ export type FilterGroup = {
92
+ conjunction: FilterConjunction;
93
+ rules: FilterRule[];
94
+ };
95
+ export type GroupRule = {
96
+ fieldId: string;
97
+ };
98
+ export type ColumnViewSetting = {
99
+ fieldId: string;
100
+ visible: boolean;
101
+ width: number;
102
+ pinned: ColumnPin;
103
+ };
104
+ export type DataViewConfig = {
105
+ schemaVersion: 1;
106
+ columns: ColumnViewSetting[];
107
+ sorts: SortRule[];
108
+ filters: FilterGroup;
109
+ groups: GroupRule[];
110
+ collapsedGroups: string[];
111
+ /** @deprecated Ignored: all matching records use continuous scrolling. */
112
+ pageSize?: number;
113
+ /** Optional additions: old schema v1 settings remain valid. */
114
+ viewType?: "table" | "gantt" | "calendar";
115
+ gantt?: GanttMapping;
116
+ calendar?: CalendarMapping;
117
+ density?: "workbench" | "compact" | "standard" | "comfortable";
118
+ virtualize?: boolean;
119
+ colorRules?: ColorRule[];
120
+ location?: ViewLocation;
121
+ mobile?: {
122
+ fieldIds: string[];
123
+ summaryFieldId?: string;
124
+ presentation?: "cards" | "compact";
125
+ };
126
+ schedulePolicy?: {
127
+ showUnscheduled?: boolean;
128
+ showInvalidDates?: boolean;
129
+ };
130
+ /** JSON-only host settings preserved verbatim by normalization. */
131
+ extensions?: Record<string, unknown>;
132
+ };
133
+ export type ViewLocation = {
134
+ search?: string;
135
+ mobileTop?: number;
136
+ page?: number;
137
+ tableTop?: number;
138
+ tableLeft?: number;
139
+ month?: string;
140
+ schedulePage?: number;
141
+ calendarDay?: number | null;
142
+ showUnscheduled?: boolean;
143
+ anchorDate?: string;
144
+ scale?: "week" | "month" | "quarter" | "year";
145
+ ganttTop?: number;
146
+ ganttLeft?: number;
147
+ timelineLeft?: number;
148
+ splitWidth?: number;
149
+ };
150
+ export type NamedDataView = {
151
+ id: string;
152
+ name: string;
153
+ config: DataViewConfig;
154
+ };
155
+ export type DataViewCollection = {
156
+ schemaVersion: 1;
157
+ activeViewId: string;
158
+ views: NamedDataView[];
159
+ };
160
+ export type DataViewWorkspaceProps<Row> = Omit<DataViewProps<Row>, "view" | "initialView" | "onViewChange"> & {
161
+ initialViews: DataViewCollection;
162
+ onViewsChange?: (views: DataViewCollection) => void | Promise<void>;
163
+ views?: DataViewCollection;
164
+ onActiveViewChange?: (viewId: string) => void | Promise<void>;
165
+ runtimeStates?: Record<string, ViewRuntimeState>;
166
+ onViewRuntimeChange?: (viewId: string, runtime: ViewRuntimeState) => void | Promise<void>;
167
+ };
168
+ export type GanttMapping = {
169
+ titleFieldId: string;
170
+ startFieldId: string;
171
+ endFieldId: string;
172
+ groupFieldId?: string;
173
+ progressFieldId?: string;
174
+ colorMode?: "custom" | "field";
175
+ color?: string;
176
+ colorFieldId?: string;
177
+ showTitle?: boolean;
178
+ showDuration?: boolean;
179
+ /** Monday–Friday only; no public-holiday calendar is implied. */
180
+ workdaysOnly?: boolean;
181
+ };
182
+ export type CalendarMapping = {
183
+ titleFieldId: string;
184
+ dateFieldId: string;
185
+ startTimeFieldId?: string;
186
+ endTimeFieldId?: string;
187
+ colorFieldId?: string;
188
+ };
189
+ export type ColorRule = {
190
+ id: string;
191
+ condition: FilterRule;
192
+ target: "row" | string;
193
+ color: string;
194
+ };
195
+ export type DataViewPermissions<Row> = {
196
+ canConfigureView?: boolean;
197
+ canSearch?: boolean;
198
+ canFilter?: boolean;
199
+ canSort?: boolean;
200
+ canCollapseGroups?: boolean;
201
+ canSwitchView?: boolean;
202
+ canSelectRows?: boolean;
203
+ canEditRow?: (row: Row) => boolean;
204
+ canManageFields?: boolean;
205
+ canManageDependencies?: boolean;
206
+ canChangeField?: (field: FieldDefinition<Row>, action: "rename" | "copy" | "delete") => boolean;
207
+ };
208
+ export type CellCommit<Row> = {
209
+ row: Row;
210
+ rowId: string;
211
+ field: FieldDefinition<Row>;
212
+ previousValue: unknown;
213
+ nextValue: unknown;
214
+ };
215
+ /** Host must validate current permissions/previous values and apply all or none. */
216
+ export type BatchCommit<Row> = {
217
+ id: string;
218
+ reason: "edit" | "batch" | "paste" | "clear" | "undo" | "redo";
219
+ changes: CellCommit<Row>[];
220
+ scheduleGuard?: GanttScheduleGuard;
221
+ };
222
+ /** Finish-to-start only: successor starts after predecessor's inclusive end day. */
223
+ export type GanttDependency = {
224
+ id: string;
225
+ predecessorId: string;
226
+ successorId: string;
227
+ lagDays: number;
228
+ };
229
+ /** Business data, never part of a personal view. Host supplies a complete authorized graph. */
230
+ export type GanttDependencyState<Row> = {
231
+ revision: string;
232
+ complete: boolean;
233
+ links: GanttDependency[];
234
+ /** Confirmed meetings / crews can be protected independently of ordinary cell editing. */
235
+ isDateLocked?: (row: Row) => boolean;
236
+ };
237
+ export type GanttDependencyChange = {
238
+ revision: string;
239
+ } & ({
240
+ action: "add";
241
+ link: GanttDependency;
242
+ } | {
243
+ action: "delete";
244
+ linkId: string;
245
+ });
246
+ /** Adapter must check this read set and dependency revision in the same transaction as writes. */
247
+ export type GanttScheduleGuard = {
248
+ revision: string;
249
+ startFieldId: string;
250
+ endFieldId: string;
251
+ workdaysOnly: boolean;
252
+ checks: Array<{
253
+ rowId: string;
254
+ startValue: unknown;
255
+ endValue: unknown;
256
+ }>;
257
+ };
258
+ export type FieldChange<Row> = {
259
+ action: "add";
260
+ field: FieldDefinition<Row>;
261
+ } | {
262
+ action: "copy";
263
+ field: FieldDefinition<Row>;
264
+ sourceFieldId: string;
265
+ } | {
266
+ action: "rename";
267
+ fieldId: string;
268
+ label: string;
269
+ } | {
270
+ action: "delete";
271
+ fieldId: string;
272
+ };
273
+ export type AttachmentRequest<Row> = {
274
+ row: Row;
275
+ rowId: string;
276
+ field: FieldDefinition<Row>;
277
+ files: File[];
278
+ };
279
+ export type DataViewProps<Row> = {
280
+ fields: FieldDefinition<Row>[];
281
+ rows: Row[];
282
+ getRowId: (row: Row) => string;
283
+ title?: string;
284
+ loading?: boolean;
285
+ error?: string | null;
286
+ access?: "granted" | "denied";
287
+ emptyMessage?: string;
288
+ initialView?: Partial<DataViewConfig>;
289
+ view?: DataViewConfig;
290
+ onViewChange?: (view: DataViewConfig) => void | Promise<void>;
291
+ onCellCommit?: (commit: CellCommit<Row>) => void | Promise<void>;
292
+ onBatchCommit?: (commit: BatchCommit<Row>) => void | Promise<void>;
293
+ ganttDependencies?: GanttDependencyState<Row>;
294
+ onGanttDependencyChange?: (change: GanttDependencyChange) => void | Promise<void>;
295
+ /** Host owns schema persistence; pass updated fields only after a successful change. */
296
+ onFieldChange?: (change: FieldChange<Row>) => void | Promise<void>;
297
+ onRequestAttachment?: (request: AttachmentRequest<Row>) => void | Promise<void>;
298
+ permissions?: DataViewPermissions<Row>;
299
+ selectedRowIds?: string[];
300
+ onSelectionChange?: (rowIds: string[]) => void;
301
+ searchPlaceholder?: string;
302
+ /** Change this key on project/dataset/user/role identity changes. */
303
+ identityKey?: string;
304
+ runtimeState?: ViewRuntimeState;
305
+ onRuntimeChange?: (state: ViewRuntimeState) => void | Promise<void>;
306
+ onViewChangeDetail?: (change: ViewChange) => void | Promise<void>;
307
+ features?: DataViewFeatures;
308
+ /** Host-controlled preference; omitted keeps automatic responsive presentation. */
309
+ presentation?: "auto" | "table" | "cards";
310
+ /** Optional control. Host persists the selected preference. */
311
+ onPresentationChange?: (value: "auto" | "table" | "cards") => void;
312
+ chrome?: "standard" | "compact";
313
+ headerStart?: ReactNode;
314
+ headerEnd?: ReactNode;
315
+ /** Total component height including chrome and status, unlike viewportHeight. CSS percentages require a sized parent. */
316
+ height?: number | string;
317
+ toolbarStart?: ReactNode;
318
+ toolbarEnd?: ReactNode;
319
+ onRowOpen?: (row: Row) => void;
320
+ renderDetail?: (context: DetailContext<Row>) => ReactNode;
321
+ renderDetailFooter?: (context: DetailContext<Row>) => ReactNode;
322
+ renderMobileRow?: (context: DetailContext<Row>) => ReactNode;
323
+ getRowLabel?: (row: Row) => string;
324
+ metrics?: Partial<DataViewMetrics>;
325
+ viewportHeight?: number | string;
326
+ bottomScrollbar?: boolean;
327
+ remote?: RemoteDataState;
328
+ onQueryChange?: (query: DataViewQuery) => void;
329
+ rowMove?: {
330
+ canMove?: (row: Row) => boolean;
331
+ canDrop: (request: RowMoveRequest<Row>) => boolean;
332
+ onMove: (request: RowMoveRequest<Row>) => void | Promise<void>;
333
+ };
334
+ /** Workspace owns aggregate save status when true. */
335
+ hideViewSaveStatus?: boolean;
336
+ };
337
+ export type FieldEditorProps<Row> = {
338
+ value: unknown;
339
+ row: Row;
340
+ field: FieldDefinition<Row>;
341
+ disabled?: boolean;
342
+ onCommit: (value: unknown) => void;
343
+ onCancel: () => void;
344
+ onRequestAttachment?: (files: File[]) => void;
345
+ };
346
+ export type FieldTypeDefinition = {
347
+ type: FieldType;
348
+ label: string;
349
+ editable: boolean;
350
+ deletable: boolean;
351
+ operators: FilterOperator[];
352
+ isEmpty: (value: unknown) => boolean;
353
+ validate: <Row>(value: unknown, field: FieldDefinition<Row>) => string | null;
354
+ compare: <Row>(left: unknown, right: unknown, field: FieldDefinition<Row>) => number;
355
+ filter: <Row>(value: unknown, rule: FilterRule, field: FieldDefinition<Row>) => boolean;
356
+ group: <Row>(value: unknown, field: FieldDefinition<Row>) => {
357
+ key: string;
358
+ label: string;
359
+ };
360
+ render: <Row>(value: unknown, field: FieldDefinition<Row>) => ReactNode;
361
+ /** Toggle directly on activation, without opening a separate cell editor. */
362
+ toggleValue?: (value: unknown) => boolean;
363
+ Editor?: <Row>(props: FieldEditorProps<Row>) => ReactNode;
364
+ };
365
+ export type DataViewGroupNode<Row> = {
366
+ key: string;
367
+ fieldId: string | null;
368
+ label: string;
369
+ depth: number;
370
+ rows: Row[];
371
+ children: DataViewGroupNode<Row>[];
372
+ valueKey?: string;
373
+ color?: string;
374
+ textColor?: string;
375
+ };
376
+ export type CellContext<Row> = {
377
+ row: Row;
378
+ field: FieldDefinition<Row>;
379
+ value: unknown;
380
+ close: () => void;
381
+ openRow: () => void;
382
+ };
383
+ export type ActionCellContext<Row> = CellContext<Row> & {
384
+ disabled: boolean;
385
+ pending: boolean;
386
+ run: (action: () => void | Promise<void>) => Promise<void>;
387
+ };
388
+ export type DetailContext<Row> = {
389
+ row: Row;
390
+ fields: FieldDefinition<Row>[];
391
+ close: () => void;
392
+ renderCell: (field: FieldDefinition<Row>) => ReactNode;
393
+ };
394
+ export type ViewRuntimeState = {
395
+ viewType?: DataViewConfig["viewType"];
396
+ location?: ViewLocation;
397
+ collapsedGroups?: string[];
398
+ filters?: FilterGroup;
399
+ sorts?: SortRule[];
400
+ };
401
+ export type ViewChange = {
402
+ scope: "layout" | "query" | "navigation";
403
+ view: DataViewConfig;
404
+ runtime: ViewRuntimeState;
405
+ };
406
+ export type DataViewFeatures = Partial<Record<"search" | "filter" | "sort" | "group" | "columns" | "colors" | "viewTabs" | "viewSettings" | "viewManagement" | "batch" | "copy" | "paste" | "clear" | "undo" | "redo" | "rowOpen", boolean>>;
407
+ export type DataViewMetrics = {
408
+ rowHeight: number;
409
+ headerHeight: number;
410
+ groupHeight: number;
411
+ groupGap: number;
412
+ nestedGroupGap: number;
413
+ cellFontSize: number;
414
+ cellLineHeight: number;
415
+ headerFontSize: number;
416
+ cellPadding: number;
417
+ headerPaddingLeft: number;
418
+ headerPaddingRight: number;
419
+ controlHeight: number;
420
+ actionHeight: number;
421
+ badgeHeight: number;
422
+ badgeFontSize: number;
423
+ badgePadding: number;
424
+ scrollbarHeight: number;
425
+ scrollbarThumb: number;
426
+ };
427
+ export type DataViewQuery = {
428
+ version: 1;
429
+ search: string;
430
+ filters: FilterGroup;
431
+ sorts: SortRule[];
432
+ groups: GroupRule[];
433
+ };
434
+ export type RemoteDataState = {
435
+ queryKey: string;
436
+ total?: number;
437
+ complete: boolean;
438
+ loading?: boolean;
439
+ error?: string | null;
440
+ onLoadMore?: () => void;
441
+ onRetry?: () => void;
442
+ groupCounts?: Record<string, number>;
443
+ };
444
+ export type DataSourceResult<Row> = {
445
+ rows: Row[];
446
+ total: number;
447
+ nextCursor: string | null; /** Same snapshot for every batch. */
448
+ snapshot: string;
449
+ groupCounts?: Record<string, number>;
450
+ };
451
+ export type DataSource<Row> = {
452
+ query: (request: {
453
+ query: DataViewQuery;
454
+ cursor?: string;
455
+ snapshot?: string;
456
+ signal: AbortSignal;
457
+ }) => Promise<DataSourceResult<Row>>;
458
+ };
459
+ export type GroupPathPart = {
460
+ fieldId: string;
461
+ key: string;
462
+ valueKey: string;
463
+ };
464
+ export type RowMoveRequest<Row> = {
465
+ row: Row;
466
+ rowId: string;
467
+ targetRowId: string | null;
468
+ position: "before" | "after" | "groupEnd";
469
+ sourceGroupPath: GroupPathPart[];
470
+ targetGroupPath: GroupPathPart[];
471
+ };
472
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}