@happyvertical/smrt-ui 0.42.4 → 0.42.6
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.
- package/README.md +157 -3
- package/dist/components/data/DataTable.svelte +1097 -111
- package/dist/components/data/DataTable.svelte.d.ts +1 -1
- package/dist/components/data/DataTable.svelte.d.ts.map +1 -1
- package/dist/components/data/DataTableController.d.ts +45 -5
- package/dist/components/data/DataTableController.d.ts.map +1 -1
- package/dist/components/data/DataTableController.js +153 -11
- package/dist/components/data/DataTableLayout.d.ts +37 -0
- package/dist/components/data/DataTableLayout.d.ts.map +1 -0
- package/dist/components/data/DataTableLayout.js +135 -0
- package/dist/components/data/DataTablePerformance.d.ts +31 -0
- package/dist/components/data/DataTablePerformance.d.ts.map +1 -0
- package/dist/components/data/DataTablePerformance.js +46 -0
- package/dist/components/data/DataTableVirtualization.d.ts +71 -0
- package/dist/components/data/DataTableVirtualization.d.ts.map +1 -0
- package/dist/components/data/DataTableVirtualization.js +100 -0
- package/dist/components/data/__benchmarks__/DataTable.bench.d.ts +2 -0
- package/dist/components/data/__benchmarks__/DataTable.bench.d.ts.map +1 -0
- package/dist/components/data/__benchmarks__/DataTable.bench.js +53 -0
- package/dist/components/data/__fixtures__/DataTableConformanceFixture.d.ts +27 -0
- package/dist/components/data/__fixtures__/DataTableConformanceFixture.d.ts.map +1 -0
- package/dist/components/data/__fixtures__/DataTableConformanceFixture.js +141 -0
- package/dist/components/data/__fixtures__/DataTablePerformanceFixture.d.ts +10 -0
- package/dist/components/data/__fixtures__/DataTablePerformanceFixture.d.ts.map +1 -0
- package/dist/components/data/__fixtures__/DataTablePerformanceFixture.js +23 -0
- package/dist/components/data/__tests__/DataTable.test.js +393 -8
- package/dist/components/data/__tests__/DataTableConformance.test.js +212 -0
- package/dist/components/data/__tests__/DataTableController.test.js +124 -2
- package/dist/components/data/__tests__/DataTableLayout.test.js +195 -0
- package/dist/components/data/__tests__/DataTablePerformance.test.js +21 -0
- package/dist/components/data/__tests__/DataTableVirtualization.test.js +80 -0
- package/dist/components/data/__tests__/DataTableVirtualizationComponent.test.js +255 -0
- package/dist/components/data/__tests__/data-surface.test.js +675 -0
- package/dist/components/data/data-surface.d.ts +246 -0
- package/dist/components/data/data-surface.d.ts.map +1 -0
- package/dist/components/data/data-surface.js +1102 -0
- package/dist/components/data/index.d.ts +3 -0
- package/dist/components/data/index.d.ts.map +1 -1
- package/dist/components/data/index.js +3 -0
- package/dist/components/data/types.d.ts +83 -1
- package/dist/components/data/types.d.ts.map +1 -1
- package/dist/i18n/strings.d.ts +25 -0
- package/dist/i18n/strings.d.ts.map +1 -1
- package/dist/i18n/strings.js +27 -2
- package/dist/svelte/playground/DataTablePreview.svelte +374 -5
- package/dist/svelte/playground/DataTablePreview.svelte.d.ts.map +1 -1
- package/dist/svelte/playground.js +2 -2
- package/package.json +3 -2
|
@@ -0,0 +1,246 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Transport-neutral contracts for mounted, addressable data surfaces.
|
|
3
|
+
*
|
|
4
|
+
* This module is intentionally a leaf: it owns no transport, DOM, query
|
|
5
|
+
* execution, authorization, persistence, or domain workflow. A browser host
|
|
6
|
+
* may register a mounted surface here; adapters above smrt-ui can expose the
|
|
7
|
+
* resulting serializable contracts to people or agents.
|
|
8
|
+
*/
|
|
9
|
+
export type DataSurfaceJsonPrimitive = string | number | boolean | null;
|
|
10
|
+
export type DataSurfaceJsonValue = DataSurfaceJsonPrimitive | DataSurfaceJsonValue[] | {
|
|
11
|
+
[key: string]: DataSurfaceJsonValue;
|
|
12
|
+
};
|
|
13
|
+
export type DataSurfaceJsonObject = {
|
|
14
|
+
[key: string]: DataSurfaceJsonValue;
|
|
15
|
+
};
|
|
16
|
+
export type DataSurfaceRowId = string | number;
|
|
17
|
+
export type DataSurfaceKind = 'table' | 'list' | 'report' | 'custom';
|
|
18
|
+
export type DataSurfaceSensitivity = 'public' | 'personal' | 'sensitive' | 'secret';
|
|
19
|
+
export interface DataSurfaceSubject {
|
|
20
|
+
type: string;
|
|
21
|
+
id: string;
|
|
22
|
+
label?: string;
|
|
23
|
+
}
|
|
24
|
+
/** Stable address for one mounted instance, never an authority boundary. */
|
|
25
|
+
export interface DataSurfaceIdentity {
|
|
26
|
+
surfaceId: string;
|
|
27
|
+
kind: DataSurfaceKind;
|
|
28
|
+
subject?: DataSurfaceSubject;
|
|
29
|
+
}
|
|
30
|
+
export type DataSurfaceColumnCapability = 'read' | 'search' | 'filter' | 'sort' | 'project';
|
|
31
|
+
export interface DataSurfaceColumnDescriptor {
|
|
32
|
+
id: string;
|
|
33
|
+
label: string;
|
|
34
|
+
description?: string;
|
|
35
|
+
sensitivity?: DataSurfaceSensitivity;
|
|
36
|
+
capabilities: DataSurfaceColumnCapability[];
|
|
37
|
+
}
|
|
38
|
+
/** #2444 owns the canonical query language; this declares only its bounds. */
|
|
39
|
+
export type DataSurfaceQueryMode = 'rows' | 'count' | 'facets';
|
|
40
|
+
export interface DataSurfaceQueryCapabilities {
|
|
41
|
+
modes: DataSurfaceQueryMode[];
|
|
42
|
+
/** Explicit allowlist; field paths are not accepted in requests. */
|
|
43
|
+
projectableColumnIds: string[];
|
|
44
|
+
}
|
|
45
|
+
export interface DataSurfaceVisibleControl {
|
|
46
|
+
/** Stable command name accepted by the mounted surface. */
|
|
47
|
+
id: string;
|
|
48
|
+
label: string;
|
|
49
|
+
description?: string;
|
|
50
|
+
}
|
|
51
|
+
export type DataSurfaceSelectionScope = 'current-page' | 'explicit-ids' | 'all-matching';
|
|
52
|
+
export interface DataSurfaceActionDescriptor {
|
|
53
|
+
id: string;
|
|
54
|
+
label: string;
|
|
55
|
+
description?: string;
|
|
56
|
+
sensitivity?: DataSurfaceSensitivity;
|
|
57
|
+
selectionScopes: DataSurfaceSelectionScope[];
|
|
58
|
+
requiresConfirmation?: boolean;
|
|
59
|
+
}
|
|
60
|
+
/** Per-surface limits; generic envelopes use DATA_SURFACE_MAX_REQUEST_BYTES. */
|
|
61
|
+
export interface DataSurfaceLimits {
|
|
62
|
+
maxQueryRows: number;
|
|
63
|
+
maxQueryBytes: number;
|
|
64
|
+
maxSelectionSize: number;
|
|
65
|
+
}
|
|
66
|
+
/** Public, serializable discovery metadata for a mounted data surface. */
|
|
67
|
+
export interface DataSurfaceDescriptor {
|
|
68
|
+
version: 1;
|
|
69
|
+
identity: DataSurfaceIdentity;
|
|
70
|
+
/** Version of the domain adapter's descriptor and view-state schema. */
|
|
71
|
+
schemaVersion: number;
|
|
72
|
+
label: string;
|
|
73
|
+
description?: string;
|
|
74
|
+
/** Stable row-identity column, including when it is not visibly rendered. */
|
|
75
|
+
rowKey: string;
|
|
76
|
+
columns: DataSurfaceColumnDescriptor[];
|
|
77
|
+
query: DataSurfaceQueryCapabilities;
|
|
78
|
+
controls: DataSurfaceVisibleControl[];
|
|
79
|
+
actions: DataSurfaceActionDescriptor[];
|
|
80
|
+
limits: DataSurfaceLimits;
|
|
81
|
+
}
|
|
82
|
+
export type DataSurfaceSelectionReference = {
|
|
83
|
+
scope: 'current-page';
|
|
84
|
+
} | {
|
|
85
|
+
scope: 'explicit-ids';
|
|
86
|
+
rowIds: DataSurfaceRowId[];
|
|
87
|
+
} | {
|
|
88
|
+
scope: 'all-matching';
|
|
89
|
+
queryFingerprint: string;
|
|
90
|
+
};
|
|
91
|
+
/** Input supplied by a mounted renderer/controller, before registry wrapping. */
|
|
92
|
+
export interface DataSurfaceSnapshotState {
|
|
93
|
+
revision: number;
|
|
94
|
+
state: DataSurfaceJsonObject;
|
|
95
|
+
selection?: DataSurfaceSelectionReference | null;
|
|
96
|
+
}
|
|
97
|
+
/** Deterministic inspect/result envelope. It intentionally has no timestamp. */
|
|
98
|
+
export interface DataSurfaceSnapshot {
|
|
99
|
+
version: 1;
|
|
100
|
+
descriptor: DataSurfaceDescriptor;
|
|
101
|
+
revision: number;
|
|
102
|
+
state: DataSurfaceJsonObject;
|
|
103
|
+
selection: DataSurfaceSelectionReference | null;
|
|
104
|
+
}
|
|
105
|
+
/** A browser-visible state transition, not a server-side query or mutation. */
|
|
106
|
+
export interface DataSurfaceVisibleCommand {
|
|
107
|
+
version: 1;
|
|
108
|
+
commandId: string;
|
|
109
|
+
identity: DataSurfaceIdentity;
|
|
110
|
+
expectedRevision: number;
|
|
111
|
+
controlId: string;
|
|
112
|
+
payload?: DataSurfaceJsonValue;
|
|
113
|
+
}
|
|
114
|
+
export type DataSurfaceCommandFailureReason = 'not_found' | 'unsupported' | 'stale_revision' | 'idempotency_conflict' | 'denied' | 'execution_failed' | 'non_monotonic_revision';
|
|
115
|
+
export interface DataSurfaceCommandResult {
|
|
116
|
+
ok: boolean;
|
|
117
|
+
commandId: string;
|
|
118
|
+
identity: DataSurfaceIdentity;
|
|
119
|
+
revision?: number;
|
|
120
|
+
snapshot?: DataSurfaceSnapshot;
|
|
121
|
+
reason?: DataSurfaceCommandFailureReason;
|
|
122
|
+
}
|
|
123
|
+
/**
|
|
124
|
+
* This intentionally contains only bounded read shape. #2444 adds the
|
|
125
|
+
* canonical filters, ordering, cursors, totals, and normalized result details.
|
|
126
|
+
*/
|
|
127
|
+
export type DataSurfaceQueryRequest = {
|
|
128
|
+
version: 1;
|
|
129
|
+
requestId: string;
|
|
130
|
+
identity: DataSurfaceIdentity;
|
|
131
|
+
kind: 'rows';
|
|
132
|
+
limit: number;
|
|
133
|
+
cursor?: string;
|
|
134
|
+
projection?: string[];
|
|
135
|
+
} | {
|
|
136
|
+
version: 1;
|
|
137
|
+
requestId: string;
|
|
138
|
+
identity: DataSurfaceIdentity;
|
|
139
|
+
kind: 'count';
|
|
140
|
+
} | {
|
|
141
|
+
version: 1;
|
|
142
|
+
requestId: string;
|
|
143
|
+
identity: DataSurfaceIdentity;
|
|
144
|
+
kind: 'facets';
|
|
145
|
+
columnId: string;
|
|
146
|
+
limit: number;
|
|
147
|
+
};
|
|
148
|
+
interface DataSurfaceQueryResultBase {
|
|
149
|
+
version: 1;
|
|
150
|
+
requestId: string;
|
|
151
|
+
identity: DataSurfaceIdentity;
|
|
152
|
+
revision: number;
|
|
153
|
+
}
|
|
154
|
+
/** Bounded read result shapes; #2444 owns their canonical query semantics. */
|
|
155
|
+
export type DataSurfaceQueryResult = (DataSurfaceQueryResultBase & {
|
|
156
|
+
kind: 'rows';
|
|
157
|
+
rowKey: string;
|
|
158
|
+
rows: DataSurfaceJsonObject[];
|
|
159
|
+
hasMore: boolean;
|
|
160
|
+
truncated: boolean;
|
|
161
|
+
nextCursor?: string;
|
|
162
|
+
}) | (DataSurfaceQueryResultBase & {
|
|
163
|
+
kind: 'count';
|
|
164
|
+
count: number;
|
|
165
|
+
}) | (DataSurfaceQueryResultBase & {
|
|
166
|
+
kind: 'facets';
|
|
167
|
+
columnId: string;
|
|
168
|
+
facets: Array<{
|
|
169
|
+
value: DataSurfaceJsonPrimitive;
|
|
170
|
+
count: number;
|
|
171
|
+
}>;
|
|
172
|
+
truncated: boolean;
|
|
173
|
+
});
|
|
174
|
+
/** Preview/apply is a contract only here; server-side adapters execute it. */
|
|
175
|
+
export interface DataSurfaceActionRequest {
|
|
176
|
+
version: 1;
|
|
177
|
+
requestId: string;
|
|
178
|
+
identity: DataSurfaceIdentity;
|
|
179
|
+
actionId: string;
|
|
180
|
+
phase: 'preview' | 'apply';
|
|
181
|
+
selection: DataSurfaceSelectionReference;
|
|
182
|
+
payload?: DataSurfaceJsonValue;
|
|
183
|
+
/** Opaque confirmation produced by a prior preview, never an authority. */
|
|
184
|
+
confirmationToken?: string;
|
|
185
|
+
}
|
|
186
|
+
export interface DataSurfaceActionResult {
|
|
187
|
+
version: 1;
|
|
188
|
+
requestId: string;
|
|
189
|
+
identity: DataSurfaceIdentity;
|
|
190
|
+
actionId: string;
|
|
191
|
+
phase: 'preview' | 'apply';
|
|
192
|
+
ok: boolean;
|
|
193
|
+
reason?: string;
|
|
194
|
+
confirmationToken?: string;
|
|
195
|
+
details?: DataSurfaceJsonObject;
|
|
196
|
+
}
|
|
197
|
+
export type DataSurfaceValidationReason = 'not_found' | 'unsupported' | 'invalid_request' | 'limit_exceeded' | 'projection_not_allowed' | 'selection_not_supported' | 'confirmation_required';
|
|
198
|
+
export interface DataSurfaceValidationResult {
|
|
199
|
+
ok: boolean;
|
|
200
|
+
reason?: DataSurfaceValidationReason;
|
|
201
|
+
}
|
|
202
|
+
export type DataSurfaceCommandExecution = {
|
|
203
|
+
ok: false;
|
|
204
|
+
} | undefined;
|
|
205
|
+
/** Runtime-only handle supplied by a mounted renderer or controller. */
|
|
206
|
+
export interface DataSurfaceRegistration {
|
|
207
|
+
descriptor: DataSurfaceDescriptor;
|
|
208
|
+
getSnapshot: () => DataSurfaceSnapshotState;
|
|
209
|
+
execute?: (command: DataSurfaceVisibleCommand) => DataSurfaceCommandExecution | Promise<DataSurfaceCommandExecution>;
|
|
210
|
+
/**
|
|
211
|
+
* A host-owned redaction boundary. It cannot change identity or revision and
|
|
212
|
+
* the registry validates its output before exposing it.
|
|
213
|
+
*/
|
|
214
|
+
redact?: (snapshot: DataSurfaceSnapshot) => DataSurfaceSnapshot;
|
|
215
|
+
}
|
|
216
|
+
export interface DataSurfaceRegistryEvent {
|
|
217
|
+
type: 'registered' | 'unregistered' | 'command';
|
|
218
|
+
sequence: number;
|
|
219
|
+
identity: DataSurfaceIdentity;
|
|
220
|
+
revision: number;
|
|
221
|
+
command?: DataSurfaceVisibleCommand;
|
|
222
|
+
result?: DataSurfaceCommandResult;
|
|
223
|
+
}
|
|
224
|
+
export interface DataSurfaceRegistry {
|
|
225
|
+
register(registration: DataSurfaceRegistration): () => void;
|
|
226
|
+
unregister(identity: DataSurfaceIdentity): void;
|
|
227
|
+
list(): DataSurfaceDescriptor[];
|
|
228
|
+
inspect(identity: DataSurfaceIdentity): DataSurfaceSnapshot | undefined;
|
|
229
|
+
execute(command: DataSurfaceVisibleCommand): Promise<DataSurfaceCommandResult>;
|
|
230
|
+
validateQuery(request: DataSurfaceQueryRequest): DataSurfaceValidationResult;
|
|
231
|
+
validateAction(request: DataSurfaceActionRequest): DataSurfaceValidationResult;
|
|
232
|
+
subscribe(listener: (event: DataSurfaceRegistryEvent) => void): () => void;
|
|
233
|
+
}
|
|
234
|
+
/** Generic browser-transport ceiling for normalized command/action envelopes. */
|
|
235
|
+
export declare const DATA_SURFACE_MAX_REQUEST_BYTES = 100000;
|
|
236
|
+
/** Per-surface LRU capacity for command acknowledgement replay. */
|
|
237
|
+
export declare const DATA_SURFACE_MAX_REPLAY_ENTRIES = 100;
|
|
238
|
+
export declare function normalizeDataSurfaceDescriptor(value: DataSurfaceDescriptor): DataSurfaceDescriptor;
|
|
239
|
+
export declare function normalizeDataSurfaceSnapshot(value: DataSurfaceSnapshot): DataSurfaceSnapshot;
|
|
240
|
+
export declare function normalizeDataSurfaceVisibleCommand(value: DataSurfaceVisibleCommand): DataSurfaceVisibleCommand;
|
|
241
|
+
export declare function normalizeDataSurfaceQueryRequest(value: DataSurfaceQueryRequest): DataSurfaceQueryRequest;
|
|
242
|
+
export declare function normalizeDataSurfaceActionRequest(value: DataSurfaceActionRequest): DataSurfaceActionRequest;
|
|
243
|
+
/** Create an isolated registry; applications choose how it is exposed. */
|
|
244
|
+
export declare function createDataSurfaceRegistry(): DataSurfaceRegistry;
|
|
245
|
+
export {};
|
|
246
|
+
//# sourceMappingURL=data-surface.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data-surface.d.ts","sourceRoot":"","sources":["../../../src/components/data/data-surface.ts"],"names":[],"mappings":"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"}
|