@nice2dev/ui-science 1.0.10
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 +50 -0
- package/dist/index.cjs +69 -0
- package/dist/index.d.ts +1461 -0
- package/dist/index.mjs +4820 -0
- package/package.json +70 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,1461 @@
|
|
|
1
|
+
import { default as default_2 } from 'react';
|
|
2
|
+
|
|
3
|
+
export declare type AnalysisId = string;
|
|
4
|
+
|
|
5
|
+
/** Analysis result */
|
|
6
|
+
export declare interface AnalysisResult {
|
|
7
|
+
id: AnalysisId;
|
|
8
|
+
datasetId: DatasetId;
|
|
9
|
+
type: AnalysisType;
|
|
10
|
+
parameters: Record<string, any>;
|
|
11
|
+
result: any;
|
|
12
|
+
createdAt: string;
|
|
13
|
+
executionTimeMs: number;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export declare type AnalysisType = 'descriptive' | 'correlation' | 'regression' | 'ttest' | 'anova' | 'chi-square' | 'pca' | 'clustering' | 'distribution' | 'time-series';
|
|
17
|
+
|
|
18
|
+
export declare interface Animation3D {
|
|
19
|
+
enabled: boolean;
|
|
20
|
+
duration?: number;
|
|
21
|
+
loop?: boolean;
|
|
22
|
+
frames?: Array<{
|
|
23
|
+
data: Plot3DData[];
|
|
24
|
+
name?: string;
|
|
25
|
+
duration?: number;
|
|
26
|
+
}>;
|
|
27
|
+
autoPlay?: boolean;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export declare interface AnnotationConfig {
|
|
31
|
+
id: string;
|
|
32
|
+
type: 'line' | 'band' | 'point' | 'text' | 'arrow' | 'box' | 'ellipse';
|
|
33
|
+
position: {
|
|
34
|
+
x?: number | string | Date;
|
|
35
|
+
y?: number;
|
|
36
|
+
x2?: number | string | Date;
|
|
37
|
+
y2?: number;
|
|
38
|
+
xRef?: 'data' | 'paper';
|
|
39
|
+
yRef?: 'data' | 'paper';
|
|
40
|
+
};
|
|
41
|
+
text?: string;
|
|
42
|
+
style?: {
|
|
43
|
+
color?: string;
|
|
44
|
+
fillColor?: string;
|
|
45
|
+
opacity?: number;
|
|
46
|
+
lineWidth?: number;
|
|
47
|
+
lineStyle?: 'solid' | 'dashed' | 'dotted';
|
|
48
|
+
fontSize?: number;
|
|
49
|
+
fontWeight?: 'normal' | 'bold';
|
|
50
|
+
};
|
|
51
|
+
draggable?: boolean;
|
|
52
|
+
visible?: boolean;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
export declare interface Atom {
|
|
56
|
+
id: number;
|
|
57
|
+
element: string;
|
|
58
|
+
x: number;
|
|
59
|
+
y: number;
|
|
60
|
+
z: number;
|
|
61
|
+
serial?: number;
|
|
62
|
+
name?: string;
|
|
63
|
+
residueName?: string;
|
|
64
|
+
residueSeq?: number;
|
|
65
|
+
chainId?: string;
|
|
66
|
+
occupancy?: number;
|
|
67
|
+
bFactor?: number;
|
|
68
|
+
charge?: number;
|
|
69
|
+
mass?: number;
|
|
70
|
+
radius?: number;
|
|
71
|
+
color?: string;
|
|
72
|
+
selected?: boolean;
|
|
73
|
+
visible?: boolean;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** Attachment */
|
|
77
|
+
export declare interface Attachment {
|
|
78
|
+
id: AttachmentId;
|
|
79
|
+
name: string;
|
|
80
|
+
type: string;
|
|
81
|
+
size: number;
|
|
82
|
+
url: string;
|
|
83
|
+
uploadedAt: string;
|
|
84
|
+
uploadedBy: UserId;
|
|
85
|
+
checksum?: string;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
export declare type AttachmentId = string;
|
|
89
|
+
|
|
90
|
+
/** Author information */
|
|
91
|
+
export declare interface Author {
|
|
92
|
+
given: string;
|
|
93
|
+
family: string;
|
|
94
|
+
orcid?: string;
|
|
95
|
+
affiliation?: string;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
export declare interface Axis3DConfig {
|
|
99
|
+
title?: string;
|
|
100
|
+
range?: [number, number];
|
|
101
|
+
tickFormat?: string;
|
|
102
|
+
gridColor?: string;
|
|
103
|
+
gridWidth?: number;
|
|
104
|
+
showGrid?: boolean;
|
|
105
|
+
showLine?: boolean;
|
|
106
|
+
showTickLabels?: boolean;
|
|
107
|
+
nticks?: number;
|
|
108
|
+
autoRange?: boolean | 'reversed';
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export declare interface AxisConfig {
|
|
112
|
+
id: string;
|
|
113
|
+
type: ScaleType;
|
|
114
|
+
position: 'left' | 'right' | 'top' | 'bottom';
|
|
115
|
+
label?: string;
|
|
116
|
+
unit?: string;
|
|
117
|
+
min?: number | 'auto';
|
|
118
|
+
max?: number | 'auto';
|
|
119
|
+
gridLines?: boolean;
|
|
120
|
+
tickFormat?: string | ((v: any) => string);
|
|
121
|
+
tickCount?: number;
|
|
122
|
+
tickValues?: number[];
|
|
123
|
+
reversed?: boolean;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export declare interface Bond {
|
|
127
|
+
id: number;
|
|
128
|
+
atom1: number;
|
|
129
|
+
atom2: number;
|
|
130
|
+
order: 1 | 2 | 3 | 4;
|
|
131
|
+
type?: 'covalent' | 'hydrogen' | 'ionic' | 'metallic' | 'disulfide';
|
|
132
|
+
length?: number;
|
|
133
|
+
color?: string;
|
|
134
|
+
visible?: boolean;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export declare type BranchStyle = 'rectangular' | 'diagonal' | 'curved' | 'straight';
|
|
138
|
+
|
|
139
|
+
export declare interface Camera3D {
|
|
140
|
+
eye: {
|
|
141
|
+
x: number;
|
|
142
|
+
y: number;
|
|
143
|
+
z: number;
|
|
144
|
+
};
|
|
145
|
+
center: {
|
|
146
|
+
x: number;
|
|
147
|
+
y: number;
|
|
148
|
+
z: number;
|
|
149
|
+
};
|
|
150
|
+
up: {
|
|
151
|
+
x: number;
|
|
152
|
+
y: number;
|
|
153
|
+
z: number;
|
|
154
|
+
};
|
|
155
|
+
projection?: 'perspective' | 'orthographic';
|
|
156
|
+
fov?: number;
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
export declare interface Chain {
|
|
160
|
+
id: string;
|
|
161
|
+
residues: number[];
|
|
162
|
+
type?: 'protein' | 'dna' | 'rna' | 'ligand' | 'water' | 'ion';
|
|
163
|
+
color?: string;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
export declare type ChartType = 'scatter' | 'line' | 'bar' | 'histogram' | 'box-plot' | 'violin' | 'area' | 'bubble' | 'contour' | 'heatmap' | 'polar' | 'radar';
|
|
167
|
+
|
|
168
|
+
/** Citation/Reference entry */
|
|
169
|
+
export declare interface Citation {
|
|
170
|
+
id: CitationId;
|
|
171
|
+
type: ReferenceType;
|
|
172
|
+
title: string;
|
|
173
|
+
authors: Author[];
|
|
174
|
+
year?: number;
|
|
175
|
+
month?: number;
|
|
176
|
+
day?: number;
|
|
177
|
+
journal?: string;
|
|
178
|
+
volume?: string;
|
|
179
|
+
issue?: string;
|
|
180
|
+
pages?: string;
|
|
181
|
+
publisher?: string;
|
|
182
|
+
edition?: string;
|
|
183
|
+
doi?: string;
|
|
184
|
+
isbn?: string;
|
|
185
|
+
issn?: string;
|
|
186
|
+
pmid?: string;
|
|
187
|
+
arxiv?: string;
|
|
188
|
+
url?: string;
|
|
189
|
+
abstract?: string;
|
|
190
|
+
keywords?: string[];
|
|
191
|
+
language?: string;
|
|
192
|
+
accessed?: string;
|
|
193
|
+
booktitle?: string;
|
|
194
|
+
conference?: string;
|
|
195
|
+
location?: string;
|
|
196
|
+
school?: string;
|
|
197
|
+
degree?: string;
|
|
198
|
+
notes?: string;
|
|
199
|
+
tags?: string[];
|
|
200
|
+
collections?: CollectionId[];
|
|
201
|
+
createdAt: string;
|
|
202
|
+
updatedAt: string;
|
|
203
|
+
sourceDatabase?: string;
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
/** Citation collection/folder */
|
|
207
|
+
export declare interface CitationCollection {
|
|
208
|
+
id: CollectionId;
|
|
209
|
+
name: string;
|
|
210
|
+
description?: string;
|
|
211
|
+
parentId?: CollectionId;
|
|
212
|
+
color?: string;
|
|
213
|
+
citationCount: number;
|
|
214
|
+
createdAt: string;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
declare interface CitationContextValue {
|
|
218
|
+
service: CitationService;
|
|
219
|
+
citations: Citation[];
|
|
220
|
+
collections: CitationCollection[];
|
|
221
|
+
selectedCollection: CollectionId;
|
|
222
|
+
setSelectedCollection: (id: CollectionId) => void;
|
|
223
|
+
selectedCitation: CitationId | null;
|
|
224
|
+
setSelectedCitation: (id: CitationId | null) => void;
|
|
225
|
+
searchQuery: string;
|
|
226
|
+
setSearchQuery: (query: string) => void;
|
|
227
|
+
citationStyle: CitationStyle;
|
|
228
|
+
setCitationStyle: (style: CitationStyle) => void;
|
|
229
|
+
refresh: () => void;
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
export declare type CitationId = string;
|
|
233
|
+
|
|
234
|
+
export declare class CitationService {
|
|
235
|
+
private config;
|
|
236
|
+
private citations;
|
|
237
|
+
private collections;
|
|
238
|
+
constructor(config?: CitationServiceConfig);
|
|
239
|
+
/** Add citation */
|
|
240
|
+
addCitation(data: Partial<Citation>): Citation;
|
|
241
|
+
/** Update citation */
|
|
242
|
+
updateCitation(id: CitationId, data: Partial<Citation>): Citation;
|
|
243
|
+
/** Delete citation */
|
|
244
|
+
deleteCitation(id: CitationId): void;
|
|
245
|
+
/** Get citation */
|
|
246
|
+
getCitation(id: CitationId): Citation | undefined;
|
|
247
|
+
/** Search citations */
|
|
248
|
+
searchCitations(query: string, options?: {
|
|
249
|
+
collection?: CollectionId;
|
|
250
|
+
type?: ReferenceType;
|
|
251
|
+
year?: number;
|
|
252
|
+
tags?: string[];
|
|
253
|
+
}): Citation[];
|
|
254
|
+
/** List all citations */
|
|
255
|
+
listCitations(collectionId?: CollectionId): Citation[];
|
|
256
|
+
/** Create collection */
|
|
257
|
+
createCollection(data: Partial<CitationCollection>): CitationCollection;
|
|
258
|
+
/** List collections */
|
|
259
|
+
listCollections(): CitationCollection[];
|
|
260
|
+
/** Format citation */
|
|
261
|
+
formatCitation(id: CitationId, style: CitationStyle): string;
|
|
262
|
+
/** Format multiple citations as bibliography */
|
|
263
|
+
formatBibliography(ids: CitationId[], style: CitationStyle): string;
|
|
264
|
+
/** Import from BibTeX */
|
|
265
|
+
importBibtex(content: string): Citation[];
|
|
266
|
+
private parseBibtexFields;
|
|
267
|
+
private parseBibtexAuthors;
|
|
268
|
+
/** Export as BibTeX */
|
|
269
|
+
exportBibtex(ids?: CitationId[]): string;
|
|
270
|
+
/** Search external databases */
|
|
271
|
+
searchDatabase(database: 'crossref' | 'pubmed', query: string, limit?: number): Promise<DatabaseSearchResult>;
|
|
272
|
+
private searchCrossref;
|
|
273
|
+
private searchPubMed;
|
|
274
|
+
/** Fetch citation by DOI */
|
|
275
|
+
fetchByDOI(doi: string): Promise<Citation | null>;
|
|
276
|
+
private updateCollectionCounts;
|
|
277
|
+
private generateId;
|
|
278
|
+
}
|
|
279
|
+
|
|
280
|
+
export declare interface CitationServiceConfig {
|
|
281
|
+
crossrefEmail?: string;
|
|
282
|
+
pubmedApiKey?: string;
|
|
283
|
+
semanticScholarApiKey?: string;
|
|
284
|
+
onError?: (error: Error) => void;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/** Citation style */
|
|
288
|
+
export declare type CitationStyle = 'apa' | 'mla' | 'chicago' | 'harvard' | 'ieee' | 'vancouver' | 'nature' | 'science' | 'bibtex';
|
|
289
|
+
|
|
290
|
+
export declare interface Clade {
|
|
291
|
+
id: string;
|
|
292
|
+
name: string;
|
|
293
|
+
nodeIds: string[];
|
|
294
|
+
color?: string;
|
|
295
|
+
background?: string;
|
|
296
|
+
showLabel?: boolean;
|
|
297
|
+
}
|
|
298
|
+
|
|
299
|
+
export declare type CollectionId = string;
|
|
300
|
+
|
|
301
|
+
export declare type ColorScale = 'viridis' | 'plasma' | 'inferno' | 'magma' | 'cividis' | 'jet' | 'rainbow' | 'coolwarm' | 'RdBu' | 'spectral' | 'turbo' | 'grayscale';
|
|
302
|
+
|
|
303
|
+
export declare type ColorScheme = 'element' | 'chain' | 'residue' | 'secondary' | 'bfactor' | 'hydrophobicity' | 'custom';
|
|
304
|
+
|
|
305
|
+
/** Column definition */
|
|
306
|
+
export declare interface ColumnDef {
|
|
307
|
+
name: ColumnName;
|
|
308
|
+
type: ColumnType;
|
|
309
|
+
nullable: boolean;
|
|
310
|
+
unique: number;
|
|
311
|
+
missing: number;
|
|
312
|
+
stats?: ColumnStats;
|
|
313
|
+
}
|
|
314
|
+
|
|
315
|
+
export declare type ColumnName = string;
|
|
316
|
+
|
|
317
|
+
/** Statistics for numeric columns */
|
|
318
|
+
export declare interface ColumnStats {
|
|
319
|
+
count: number;
|
|
320
|
+
mean?: number;
|
|
321
|
+
median?: number;
|
|
322
|
+
std?: number;
|
|
323
|
+
min?: number;
|
|
324
|
+
max?: number;
|
|
325
|
+
q1?: number;
|
|
326
|
+
q3?: number;
|
|
327
|
+
skewness?: number;
|
|
328
|
+
kurtosis?: number;
|
|
329
|
+
mode?: any;
|
|
330
|
+
variance?: number;
|
|
331
|
+
}
|
|
332
|
+
|
|
333
|
+
/** Column data types */
|
|
334
|
+
export declare type ColumnType = 'number' | 'string' | 'boolean' | 'date' | 'category' | 'mixed';
|
|
335
|
+
|
|
336
|
+
export declare interface ContourConfig {
|
|
337
|
+
data: Array<{
|
|
338
|
+
lat: number;
|
|
339
|
+
lng: number;
|
|
340
|
+
value: number;
|
|
341
|
+
}>;
|
|
342
|
+
levels: number[];
|
|
343
|
+
colors?: string[];
|
|
344
|
+
showLabels?: boolean;
|
|
345
|
+
smoothing?: number;
|
|
346
|
+
}
|
|
347
|
+
|
|
348
|
+
export declare function createCitationService(config?: CitationServiceConfig): CitationService;
|
|
349
|
+
|
|
350
|
+
export declare function createDataAnalysisService(config?: DataAnalysisServiceConfig): DataAnalysisService;
|
|
351
|
+
|
|
352
|
+
export declare function createLabNotebookService(config: LabNotebookServiceConfig): LabNotebookService;
|
|
353
|
+
|
|
354
|
+
/** Custom field definition */
|
|
355
|
+
export declare interface CustomField {
|
|
356
|
+
id: string;
|
|
357
|
+
name: string;
|
|
358
|
+
type: 'text' | 'number' | 'date' | 'select' | 'multiselect' | 'checkbox';
|
|
359
|
+
required: boolean;
|
|
360
|
+
options?: string[];
|
|
361
|
+
defaultValue?: any;
|
|
362
|
+
}
|
|
363
|
+
|
|
364
|
+
export declare class DataAnalysisService {
|
|
365
|
+
private config;
|
|
366
|
+
private datasets;
|
|
367
|
+
private analyses;
|
|
368
|
+
constructor(config?: DataAnalysisServiceConfig);
|
|
369
|
+
/** Import data from CSV */
|
|
370
|
+
importCSV(content: string, options?: {
|
|
371
|
+
delimiter?: string;
|
|
372
|
+
header?: boolean;
|
|
373
|
+
name?: string;
|
|
374
|
+
}): Promise<Dataset>;
|
|
375
|
+
/** Import data from JSON */
|
|
376
|
+
importJSON(content: string | object[], options?: {
|
|
377
|
+
name?: string;
|
|
378
|
+
}): Promise<Dataset>;
|
|
379
|
+
/** Create dataset */
|
|
380
|
+
createDataset(params: {
|
|
381
|
+
name: string;
|
|
382
|
+
data: Record<string, any>[];
|
|
383
|
+
description?: string;
|
|
384
|
+
source?: DataSource;
|
|
385
|
+
}): Dataset;
|
|
386
|
+
private inferColumns;
|
|
387
|
+
/** Run analysis */
|
|
388
|
+
runAnalysis(datasetId: DatasetId, type: AnalysisType, parameters?: Record<string, any>): AnalysisResult;
|
|
389
|
+
private descriptiveAnalysis;
|
|
390
|
+
private correlationAnalysis;
|
|
391
|
+
private regressionAnalysis;
|
|
392
|
+
private tTestAnalysis;
|
|
393
|
+
private distributionAnalysis;
|
|
394
|
+
/** Apply transformation */
|
|
395
|
+
transform(datasetId: DatasetId, transformation: Transformation): Dataset;
|
|
396
|
+
private applyFilter;
|
|
397
|
+
private applySort;
|
|
398
|
+
private applyFillNA;
|
|
399
|
+
private applyDropNA;
|
|
400
|
+
private applyNormalize;
|
|
401
|
+
private applyStandardize;
|
|
402
|
+
/** Export dataset */
|
|
403
|
+
exportCSV(datasetId: DatasetId): string;
|
|
404
|
+
/** Get dataset */
|
|
405
|
+
getDataset(id: DatasetId): Dataset | undefined;
|
|
406
|
+
/** List datasets */
|
|
407
|
+
listDatasets(): Dataset[];
|
|
408
|
+
private generateId;
|
|
409
|
+
}
|
|
410
|
+
|
|
411
|
+
export declare interface DataAnalysisServiceConfig {
|
|
412
|
+
maxRowsInMemory?: number;
|
|
413
|
+
onProgress?: (progress: number) => void;
|
|
414
|
+
}
|
|
415
|
+
|
|
416
|
+
/** Search result from external database */
|
|
417
|
+
export declare interface DatabaseSearchResult {
|
|
418
|
+
source: 'crossref' | 'pubmed' | 'semanticscholar' | 'openalex';
|
|
419
|
+
total: number;
|
|
420
|
+
results: Partial<Citation>[];
|
|
421
|
+
}
|
|
422
|
+
|
|
423
|
+
export declare interface DataPoint {
|
|
424
|
+
x: number | string | Date;
|
|
425
|
+
y: number;
|
|
426
|
+
z?: number;
|
|
427
|
+
error?: number | [number, number];
|
|
428
|
+
label?: string;
|
|
429
|
+
color?: string;
|
|
430
|
+
size?: number;
|
|
431
|
+
meta?: Record<string, any>;
|
|
432
|
+
}
|
|
433
|
+
|
|
434
|
+
/** Entry data section */
|
|
435
|
+
export declare interface DataSection {
|
|
436
|
+
id: string;
|
|
437
|
+
title: string;
|
|
438
|
+
type: 'text' | 'table' | 'image' | 'chart' | 'code' | 'formula' | 'file';
|
|
439
|
+
content: any;
|
|
440
|
+
order: number;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
export declare interface DataSeries {
|
|
444
|
+
id: string;
|
|
445
|
+
name: string;
|
|
446
|
+
data: DataPoint[];
|
|
447
|
+
type?: ChartType;
|
|
448
|
+
color?: string;
|
|
449
|
+
marker?: MarkerConfig;
|
|
450
|
+
line?: LineConfig;
|
|
451
|
+
errorBars?: ErrorBar;
|
|
452
|
+
fill?: FillConfig;
|
|
453
|
+
visible?: boolean;
|
|
454
|
+
yAxisId?: string;
|
|
455
|
+
xAxisId?: string;
|
|
456
|
+
group?: string;
|
|
457
|
+
}
|
|
458
|
+
|
|
459
|
+
/** Dataset */
|
|
460
|
+
export declare interface Dataset {
|
|
461
|
+
id: DatasetId;
|
|
462
|
+
name: string;
|
|
463
|
+
description?: string;
|
|
464
|
+
columns: ColumnDef[];
|
|
465
|
+
data: Record<string, any>[];
|
|
466
|
+
rowCount: number;
|
|
467
|
+
createdAt: string;
|
|
468
|
+
updatedAt: string;
|
|
469
|
+
source?: DataSource;
|
|
470
|
+
}
|
|
471
|
+
|
|
472
|
+
export declare type DatasetId = string;
|
|
473
|
+
|
|
474
|
+
/** Data source info */
|
|
475
|
+
export declare interface DataSource {
|
|
476
|
+
type: 'csv' | 'json' | 'excel' | 'api' | 'database' | 'manual';
|
|
477
|
+
path?: string;
|
|
478
|
+
url?: string;
|
|
479
|
+
query?: string;
|
|
480
|
+
}
|
|
481
|
+
|
|
482
|
+
/** Entry comment */
|
|
483
|
+
export declare interface EntryComment {
|
|
484
|
+
id: string;
|
|
485
|
+
userId: UserId;
|
|
486
|
+
userName: string;
|
|
487
|
+
content: string;
|
|
488
|
+
createdAt: string;
|
|
489
|
+
replyTo?: string;
|
|
490
|
+
}
|
|
491
|
+
|
|
492
|
+
export declare type EntryId = string;
|
|
493
|
+
|
|
494
|
+
/** Entry signature */
|
|
495
|
+
export declare interface EntrySignature {
|
|
496
|
+
userId: UserId;
|
|
497
|
+
userName: string;
|
|
498
|
+
role: 'author' | 'witness' | 'reviewer' | 'approver';
|
|
499
|
+
signedAt: string;
|
|
500
|
+
reason?: string;
|
|
501
|
+
signatureHash: string;
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
/** Entry status */
|
|
505
|
+
export declare type EntryStatus = 'draft' | 'in-progress' | 'completed' | 'reviewed' | 'signed' | 'locked';
|
|
506
|
+
|
|
507
|
+
/** Entry template */
|
|
508
|
+
export declare interface EntryTemplate {
|
|
509
|
+
id: string;
|
|
510
|
+
name: string;
|
|
511
|
+
type: EntryType;
|
|
512
|
+
sections: Omit<DataSection, 'id'>[];
|
|
513
|
+
customFields: Record<string, any>;
|
|
514
|
+
}
|
|
515
|
+
|
|
516
|
+
/** Entry types */
|
|
517
|
+
export declare type EntryType = 'experiment' | 'protocol' | 'observation' | 'calculation' | 'meeting' | 'report' | 'note';
|
|
518
|
+
|
|
519
|
+
export declare interface ErrorBar {
|
|
520
|
+
type: 'std' | 'sem' | 'ci95' | 'ci99' | 'custom';
|
|
521
|
+
direction: 'both' | 'positive' | 'negative';
|
|
522
|
+
value?: number;
|
|
523
|
+
valueLow?: number;
|
|
524
|
+
valueHigh?: number;
|
|
525
|
+
}
|
|
526
|
+
|
|
527
|
+
export declare interface ExportConfig {
|
|
528
|
+
formats: Array<'png' | 'svg' | 'pdf' | 'csv' | 'json'>;
|
|
529
|
+
dpi?: number;
|
|
530
|
+
width?: number;
|
|
531
|
+
height?: number;
|
|
532
|
+
}
|
|
533
|
+
|
|
534
|
+
export declare type FileFormat = 'pdb' | 'mol' | 'mol2' | 'sdf' | 'xyz' | 'cif' | 'mmcif';
|
|
535
|
+
|
|
536
|
+
export declare interface FillConfig {
|
|
537
|
+
enabled: boolean;
|
|
538
|
+
color?: string;
|
|
539
|
+
opacity?: number;
|
|
540
|
+
target?: 'origin' | 'start' | 'end' | string;
|
|
541
|
+
}
|
|
542
|
+
|
|
543
|
+
export declare interface GeoCoordinate {
|
|
544
|
+
lat: number;
|
|
545
|
+
lng: number;
|
|
546
|
+
}
|
|
547
|
+
|
|
548
|
+
export declare interface GeoJSONFeature {
|
|
549
|
+
type: 'Feature';
|
|
550
|
+
geometry: {
|
|
551
|
+
type: 'Point' | 'LineString' | 'Polygon' | 'MultiPoint' | 'MultiLineString' | 'MultiPolygon';
|
|
552
|
+
coordinates: any;
|
|
553
|
+
};
|
|
554
|
+
properties?: Record<string, any>;
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
export declare interface HeatmapConfig {
|
|
558
|
+
points: HeatmapPoint[];
|
|
559
|
+
radius?: number;
|
|
560
|
+
maxIntensity?: number;
|
|
561
|
+
gradient?: Record<number, string>;
|
|
562
|
+
opacity?: number;
|
|
563
|
+
}
|
|
564
|
+
|
|
565
|
+
export declare interface HeatmapPoint {
|
|
566
|
+
position: GeoCoordinate;
|
|
567
|
+
intensity: number;
|
|
568
|
+
}
|
|
569
|
+
|
|
570
|
+
export declare interface Label {
|
|
571
|
+
id: string;
|
|
572
|
+
text: string;
|
|
573
|
+
position: {
|
|
574
|
+
x: number;
|
|
575
|
+
y: number;
|
|
576
|
+
z: number;
|
|
577
|
+
};
|
|
578
|
+
atomId?: number;
|
|
579
|
+
residueId?: number;
|
|
580
|
+
fontSize?: number;
|
|
581
|
+
color?: string;
|
|
582
|
+
background?: string;
|
|
583
|
+
}
|
|
584
|
+
|
|
585
|
+
/** Lab notebook entry */
|
|
586
|
+
export declare interface LabEntry {
|
|
587
|
+
id: EntryId;
|
|
588
|
+
notebookId: NotebookId;
|
|
589
|
+
type: EntryType;
|
|
590
|
+
status: EntryStatus;
|
|
591
|
+
title: string;
|
|
592
|
+
objective?: string;
|
|
593
|
+
hypothesis?: string;
|
|
594
|
+
methods?: string;
|
|
595
|
+
results?: string;
|
|
596
|
+
conclusions?: string;
|
|
597
|
+
sections: DataSection[];
|
|
598
|
+
attachments: Attachment[];
|
|
599
|
+
tags: string[];
|
|
600
|
+
linkedEntries: EntryId[];
|
|
601
|
+
createdAt: string;
|
|
602
|
+
updatedAt: string;
|
|
603
|
+
createdBy: UserId;
|
|
604
|
+
lastModifiedBy: UserId;
|
|
605
|
+
version: number;
|
|
606
|
+
signatures: EntrySignature[];
|
|
607
|
+
comments: EntryComment[];
|
|
608
|
+
}
|
|
609
|
+
|
|
610
|
+
/** Lab notebook */
|
|
611
|
+
export declare interface LabNotebook {
|
|
612
|
+
id: NotebookId;
|
|
613
|
+
name: string;
|
|
614
|
+
description?: string;
|
|
615
|
+
project?: string;
|
|
616
|
+
owner: UserId;
|
|
617
|
+
collaborators: NotebookCollaborator[];
|
|
618
|
+
entries: LabEntry[];
|
|
619
|
+
createdAt: string;
|
|
620
|
+
updatedAt: string;
|
|
621
|
+
isArchived: boolean;
|
|
622
|
+
settings: NotebookSettings;
|
|
623
|
+
}
|
|
624
|
+
|
|
625
|
+
declare interface LabNotebookContextValue {
|
|
626
|
+
service: LabNotebookService;
|
|
627
|
+
notebooks: LabNotebook[];
|
|
628
|
+
currentNotebook: LabNotebook | null;
|
|
629
|
+
currentEntry: LabEntry | null;
|
|
630
|
+
setCurrentNotebook: (id: NotebookId | null) => void;
|
|
631
|
+
setCurrentEntry: (id: EntryId | null) => void;
|
|
632
|
+
refresh: () => Promise<void>;
|
|
633
|
+
}
|
|
634
|
+
|
|
635
|
+
export declare function LabNotebookProvider({ service, children, }: LabNotebookProviderProps): default_2.ReactElement;
|
|
636
|
+
|
|
637
|
+
export declare interface LabNotebookProviderProps {
|
|
638
|
+
service: LabNotebookService;
|
|
639
|
+
children: default_2.ReactNode;
|
|
640
|
+
}
|
|
641
|
+
|
|
642
|
+
export declare class LabNotebookService {
|
|
643
|
+
private config;
|
|
644
|
+
private notebooks;
|
|
645
|
+
constructor(config: LabNotebookServiceConfig);
|
|
646
|
+
/** Create new notebook */
|
|
647
|
+
createNotebook(data: Partial<LabNotebook>): Promise<LabNotebook>;
|
|
648
|
+
/** Get notebook by ID */
|
|
649
|
+
getNotebook(id: NotebookId): Promise<LabNotebook | null>;
|
|
650
|
+
/** List all notebooks */
|
|
651
|
+
listNotebooks(): Promise<LabNotebook[]>;
|
|
652
|
+
/** Create new entry */
|
|
653
|
+
createEntry(notebookId: NotebookId, data: Partial<LabEntry>): Promise<LabEntry>;
|
|
654
|
+
/** Update entry */
|
|
655
|
+
updateEntry(notebookId: NotebookId, entryId: EntryId, data: Partial<LabEntry>): Promise<LabEntry>;
|
|
656
|
+
/** Sign entry */
|
|
657
|
+
signEntry(notebookId: NotebookId, entryId: EntryId, signature: Omit<EntrySignature, 'signedAt' | 'signatureHash'>): Promise<LabEntry>;
|
|
658
|
+
/** Add attachment to entry */
|
|
659
|
+
addAttachment(notebookId: NotebookId, entryId: EntryId, file: File): Promise<Attachment>;
|
|
660
|
+
/** Search entries */
|
|
661
|
+
searchEntries(query: string, filters?: {
|
|
662
|
+
notebookId?: NotebookId;
|
|
663
|
+
type?: EntryType;
|
|
664
|
+
status?: EntryStatus;
|
|
665
|
+
tags?: string[];
|
|
666
|
+
dateFrom?: string;
|
|
667
|
+
dateTo?: string;
|
|
668
|
+
}): Promise<LabEntry[]>;
|
|
669
|
+
/** Export entry to PDF/HTML */
|
|
670
|
+
exportEntry(notebookId: NotebookId, entryId: EntryId, format: 'pdf' | 'html' | 'docx'): Promise<Blob>;
|
|
671
|
+
private generateEntryHTML;
|
|
672
|
+
private generateId;
|
|
673
|
+
private generateSignatureHash;
|
|
674
|
+
}
|
|
675
|
+
|
|
676
|
+
export declare interface LabNotebookServiceConfig {
|
|
677
|
+
apiUrl: string;
|
|
678
|
+
authToken?: string;
|
|
679
|
+
onError?: (error: Error) => void;
|
|
680
|
+
}
|
|
681
|
+
|
|
682
|
+
export declare interface LegendConfig {
|
|
683
|
+
show: boolean;
|
|
684
|
+
position: 'top' | 'bottom' | 'left' | 'right' | 'inside';
|
|
685
|
+
orientation: 'horizontal' | 'vertical';
|
|
686
|
+
interactive?: boolean;
|
|
687
|
+
}
|
|
688
|
+
|
|
689
|
+
export declare interface LineConfig {
|
|
690
|
+
style: 'solid' | 'dashed' | 'dotted' | 'dash-dot';
|
|
691
|
+
width: number;
|
|
692
|
+
color?: string;
|
|
693
|
+
interpolation?: 'linear' | 'step' | 'stepBefore' | 'stepAfter' | 'basis' | 'cardinal' | 'monotone';
|
|
694
|
+
tension?: number;
|
|
695
|
+
}
|
|
696
|
+
|
|
697
|
+
export declare interface MapBounds {
|
|
698
|
+
north: number;
|
|
699
|
+
south: number;
|
|
700
|
+
east: number;
|
|
701
|
+
west: number;
|
|
702
|
+
}
|
|
703
|
+
|
|
704
|
+
export declare interface MapLayer {
|
|
705
|
+
id: string;
|
|
706
|
+
name: string;
|
|
707
|
+
visible: boolean;
|
|
708
|
+
opacity?: number;
|
|
709
|
+
zIndex?: number;
|
|
710
|
+
markers?: MapMarker[];
|
|
711
|
+
polylines?: MapPolyline[];
|
|
712
|
+
polygons?: MapPolygon[];
|
|
713
|
+
geojson?: GeoJSONFeature[];
|
|
714
|
+
heatmap?: HeatmapConfig;
|
|
715
|
+
contour?: ContourConfig;
|
|
716
|
+
}
|
|
717
|
+
|
|
718
|
+
export declare interface MapLegend {
|
|
719
|
+
title?: string;
|
|
720
|
+
items: Array<{
|
|
721
|
+
color: string;
|
|
722
|
+
label: string;
|
|
723
|
+
shape?: 'circle' | 'square' | 'line';
|
|
724
|
+
}>;
|
|
725
|
+
position?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
726
|
+
}
|
|
727
|
+
|
|
728
|
+
export declare interface MapMarker {
|
|
729
|
+
id: string;
|
|
730
|
+
position: GeoCoordinate;
|
|
731
|
+
label?: string;
|
|
732
|
+
color?: string;
|
|
733
|
+
size?: number;
|
|
734
|
+
shape?: 'circle' | 'square' | 'triangle' | 'diamond' | 'pin';
|
|
735
|
+
data?: Record<string, any>;
|
|
736
|
+
tooltip?: string;
|
|
737
|
+
icon?: string;
|
|
738
|
+
cluster?: string;
|
|
739
|
+
}
|
|
740
|
+
|
|
741
|
+
export declare interface MapPolygon {
|
|
742
|
+
id: string;
|
|
743
|
+
path: GeoCoordinate[];
|
|
744
|
+
fillColor?: string;
|
|
745
|
+
strokeColor?: string;
|
|
746
|
+
strokeWidth?: number;
|
|
747
|
+
fillOpacity?: number;
|
|
748
|
+
label?: string;
|
|
749
|
+
data?: Record<string, any>;
|
|
750
|
+
}
|
|
751
|
+
|
|
752
|
+
export declare interface MapPolyline {
|
|
753
|
+
id: string;
|
|
754
|
+
path: GeoCoordinate[];
|
|
755
|
+
color?: string;
|
|
756
|
+
width?: number;
|
|
757
|
+
style?: 'solid' | 'dashed' | 'dotted';
|
|
758
|
+
label?: string;
|
|
759
|
+
arrows?: boolean;
|
|
760
|
+
}
|
|
761
|
+
|
|
762
|
+
export declare type MapProjection = 'mercator' | 'equirectangular' | 'orthographic' | 'robinson' | 'mollweide' | 'sinusoidal' | 'albers';
|
|
763
|
+
|
|
764
|
+
export declare interface MarkerConfig {
|
|
765
|
+
shape: 'circle' | 'square' | 'triangle' | 'diamond' | 'cross' | 'plus' | 'star' | 'none';
|
|
766
|
+
size: number;
|
|
767
|
+
fillColor?: string;
|
|
768
|
+
strokeColor?: string;
|
|
769
|
+
strokeWidth?: number;
|
|
770
|
+
opacity?: number;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
export declare interface Measurement {
|
|
774
|
+
id: string;
|
|
775
|
+
type: 'distance' | 'angle' | 'dihedral';
|
|
776
|
+
atoms: number[];
|
|
777
|
+
value: number;
|
|
778
|
+
unit: string;
|
|
779
|
+
label?: string;
|
|
780
|
+
color?: string;
|
|
781
|
+
}
|
|
782
|
+
|
|
783
|
+
export declare interface Mesh3D {
|
|
784
|
+
id: string;
|
|
785
|
+
name: string;
|
|
786
|
+
type: 'mesh3d';
|
|
787
|
+
vertices: Point3D[];
|
|
788
|
+
faces: [number, number, number][];
|
|
789
|
+
faceColor?: string[];
|
|
790
|
+
vertexColor?: number[];
|
|
791
|
+
colorScale?: ColorScale;
|
|
792
|
+
flatShading?: boolean;
|
|
793
|
+
lighting?: SurfaceLighting;
|
|
794
|
+
}
|
|
795
|
+
|
|
796
|
+
export declare interface Molecule {
|
|
797
|
+
id: string;
|
|
798
|
+
name: string;
|
|
799
|
+
atoms: Atom[];
|
|
800
|
+
bonds: Bond[];
|
|
801
|
+
residues?: Residue[];
|
|
802
|
+
chains?: Chain[];
|
|
803
|
+
formula?: string;
|
|
804
|
+
molecularWeight?: number;
|
|
805
|
+
metadata?: Record<string, any>;
|
|
806
|
+
}
|
|
807
|
+
|
|
808
|
+
export declare function Nice3DPlot({ data, title, width, height, scene, showColorBar, animation, showLegend, legendPosition, enableRotation, enableZoom, enablePan, showAxes, showAxisLabels, focalLength, theme, onCameraChange, onPointClick, onPointHover, className, style, }: Nice3DPlotProps): default_2.ReactElement;
|
|
809
|
+
|
|
810
|
+
export declare interface Nice3DPlotProps {
|
|
811
|
+
/** Plot data (surfaces, scatter, volumes, meshes) */
|
|
812
|
+
data: Plot3DData[];
|
|
813
|
+
/** Plot title */
|
|
814
|
+
title?: string;
|
|
815
|
+
/** Width */
|
|
816
|
+
width?: number | string;
|
|
817
|
+
/** Height */
|
|
818
|
+
height?: number | string;
|
|
819
|
+
/** Scene configuration */
|
|
820
|
+
scene?: Scene3DConfig;
|
|
821
|
+
/** Show colorbar */
|
|
822
|
+
showColorBar?: boolean;
|
|
823
|
+
/** Animation configuration */
|
|
824
|
+
animation?: Animation3D;
|
|
825
|
+
/** Show legend */
|
|
826
|
+
showLegend?: boolean;
|
|
827
|
+
/** Legend position */
|
|
828
|
+
legendPosition?: 'top-left' | 'top-right' | 'bottom-left' | 'bottom-right';
|
|
829
|
+
/** Enable mouse rotation */
|
|
830
|
+
enableRotation?: boolean;
|
|
831
|
+
/** Enable zoom */
|
|
832
|
+
enableZoom?: boolean;
|
|
833
|
+
/** Enable pan */
|
|
834
|
+
enablePan?: boolean;
|
|
835
|
+
/** Show axes */
|
|
836
|
+
showAxes?: boolean;
|
|
837
|
+
/** Show axis labels */
|
|
838
|
+
showAxisLabels?: boolean;
|
|
839
|
+
/** Focal length for perspective */
|
|
840
|
+
focalLength?: number;
|
|
841
|
+
/** Theme */
|
|
842
|
+
theme?: 'light' | 'dark' | 'scientific';
|
|
843
|
+
/** On camera change */
|
|
844
|
+
onCameraChange?: (camera: Camera3D) => void;
|
|
845
|
+
/** On point click */
|
|
846
|
+
onPointClick?: (point: Point3D, dataIndex: number) => void;
|
|
847
|
+
/** On point hover */
|
|
848
|
+
onPointHover?: (point: Point3D | null, dataIndex: number) => void;
|
|
849
|
+
/** Class name */
|
|
850
|
+
className?: string;
|
|
851
|
+
/** Style */
|
|
852
|
+
style?: default_2.CSSProperties;
|
|
853
|
+
}
|
|
854
|
+
|
|
855
|
+
export declare function NiceCitation({ service, className, style }: NiceCitationProps): default_2.ReactElement;
|
|
856
|
+
|
|
857
|
+
export declare interface NiceCitationProps {
|
|
858
|
+
service: CitationService;
|
|
859
|
+
className?: string;
|
|
860
|
+
style?: default_2.CSSProperties;
|
|
861
|
+
}
|
|
862
|
+
|
|
863
|
+
export declare function NiceDataAnalysis({ service, className, style, }: NiceDataAnalysisProps): default_2.ReactElement;
|
|
864
|
+
|
|
865
|
+
export declare interface NiceDataAnalysisProps {
|
|
866
|
+
service: DataAnalysisService;
|
|
867
|
+
className?: string;
|
|
868
|
+
style?: default_2.CSSProperties;
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
export declare function NiceGeographicMap({ projection, layers, markers, polylines, polygons, heatmap, bounds, center, zoom, showGraticule, graticuleInterval, showCoastlines, showBorders, landColor, oceanColor, borderColor, graticuleColor, width, height, enablePan, enableZoom, showControls, scaleBar, legend, showLayerControl, onMarkerClick, onMarkerHover, onMapClick, onPolygonClick, onBoundsChange, className, style, }: NiceGeographicMapProps): default_2.ReactElement;
|
|
872
|
+
|
|
873
|
+
export declare interface NiceGeographicMapProps {
|
|
874
|
+
/** Map projection */
|
|
875
|
+
projection?: MapProjection;
|
|
876
|
+
/** Map layers */
|
|
877
|
+
layers?: MapLayer[];
|
|
878
|
+
/** Map markers (convenience prop) */
|
|
879
|
+
markers?: MapMarker[];
|
|
880
|
+
/** Map polylines (convenience prop) */
|
|
881
|
+
polylines?: MapPolyline[];
|
|
882
|
+
/** Map polygons (convenience prop) */
|
|
883
|
+
polygons?: MapPolygon[];
|
|
884
|
+
/** Heatmap config (convenience prop) */
|
|
885
|
+
heatmap?: HeatmapConfig;
|
|
886
|
+
/** Map bounds */
|
|
887
|
+
bounds?: MapBounds;
|
|
888
|
+
/** Center coordinate */
|
|
889
|
+
center?: GeoCoordinate;
|
|
890
|
+
/** Zoom level (1-20) */
|
|
891
|
+
zoom?: number;
|
|
892
|
+
/** Show graticule (lat/lng grid) */
|
|
893
|
+
showGraticule?: boolean;
|
|
894
|
+
/** Graticule interval in degrees */
|
|
895
|
+
graticuleInterval?: number;
|
|
896
|
+
/** Show coastlines */
|
|
897
|
+
showCoastlines?: boolean;
|
|
898
|
+
/** Show country borders */
|
|
899
|
+
showBorders?: boolean;
|
|
900
|
+
/** Land color */
|
|
901
|
+
landColor?: string;
|
|
902
|
+
/** Ocean color */
|
|
903
|
+
oceanColor?: string;
|
|
904
|
+
/** Border color */
|
|
905
|
+
borderColor?: string;
|
|
906
|
+
/** Graticule color */
|
|
907
|
+
graticuleColor?: string;
|
|
908
|
+
/** Width */
|
|
909
|
+
width?: number | string;
|
|
910
|
+
/** Height */
|
|
911
|
+
height?: number | string;
|
|
912
|
+
/** Enable pan */
|
|
913
|
+
enablePan?: boolean;
|
|
914
|
+
/** Enable zoom */
|
|
915
|
+
enableZoom?: boolean;
|
|
916
|
+
/** Show controls */
|
|
917
|
+
showControls?: boolean;
|
|
918
|
+
/** Scale bar config */
|
|
919
|
+
scaleBar?: ScaleBar;
|
|
920
|
+
/** Legend */
|
|
921
|
+
legend?: MapLegend;
|
|
922
|
+
/** Show layer control */
|
|
923
|
+
showLayerControl?: boolean;
|
|
924
|
+
/** On marker click */
|
|
925
|
+
onMarkerClick?: (marker: MapMarker) => void;
|
|
926
|
+
/** On marker hover */
|
|
927
|
+
onMarkerHover?: (marker: MapMarker | null) => void;
|
|
928
|
+
/** On map click */
|
|
929
|
+
onMapClick?: (coord: GeoCoordinate) => void;
|
|
930
|
+
/** On polygon click */
|
|
931
|
+
onPolygonClick?: (polygon: MapPolygon) => void;
|
|
932
|
+
/** On bounds change */
|
|
933
|
+
onBoundsChange?: (bounds: MapBounds) => void;
|
|
934
|
+
/** Class name */
|
|
935
|
+
className?: string;
|
|
936
|
+
/** Style */
|
|
937
|
+
style?: default_2.CSSProperties;
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
export declare function NiceLabNotebook({ service, className, style, }: NiceLabNotebookProps): default_2.ReactElement;
|
|
941
|
+
|
|
942
|
+
export declare interface NiceLabNotebookProps {
|
|
943
|
+
service: LabNotebookService;
|
|
944
|
+
className?: string;
|
|
945
|
+
style?: default_2.CSSProperties;
|
|
946
|
+
}
|
|
947
|
+
|
|
948
|
+
export declare function NiceMolecularViewer({ molecule, format, style, colorScheme, showHydrogens, showWaters, showLabels, labelType, width, height, backgroundColor, enableRotation, enableZoom, showControls, measurements, surfaces, labels, selection, highlightColor, spin, spinSpeed, onAtomClick, onAtomHover, onSelectionChange, className, styleOverride, }: NiceMolecularViewerProps): default_2.ReactElement;
|
|
949
|
+
|
|
950
|
+
export declare interface NiceMolecularViewerProps {
|
|
951
|
+
/** Molecule data or PDB/MOL string */
|
|
952
|
+
molecule?: Molecule | string;
|
|
953
|
+
/** File format if molecule is string */
|
|
954
|
+
format?: FileFormat;
|
|
955
|
+
/** Rendering style */
|
|
956
|
+
style?: RenderStyle;
|
|
957
|
+
/** Color scheme */
|
|
958
|
+
colorScheme?: ColorScheme;
|
|
959
|
+
/** Show hydrogens */
|
|
960
|
+
showHydrogens?: boolean;
|
|
961
|
+
/** Show waters */
|
|
962
|
+
showWaters?: boolean;
|
|
963
|
+
/** Show labels */
|
|
964
|
+
showLabels?: boolean;
|
|
965
|
+
/** Label type */
|
|
966
|
+
labelType?: 'element' | 'name' | 'residue' | 'chain' | 'serial';
|
|
967
|
+
/** Width */
|
|
968
|
+
width?: number | string;
|
|
969
|
+
/** Height */
|
|
970
|
+
height?: number | string;
|
|
971
|
+
/** Background color */
|
|
972
|
+
backgroundColor?: string;
|
|
973
|
+
/** Enable rotation */
|
|
974
|
+
enableRotation?: boolean;
|
|
975
|
+
/** Enable zoom */
|
|
976
|
+
enableZoom?: boolean;
|
|
977
|
+
/** Show controls */
|
|
978
|
+
showControls?: boolean;
|
|
979
|
+
/** Measurements to display */
|
|
980
|
+
measurements?: Measurement[];
|
|
981
|
+
/** Surfaces to render */
|
|
982
|
+
surfaces?: Surface[];
|
|
983
|
+
/** Custom labels */
|
|
984
|
+
labels?: Label[];
|
|
985
|
+
/** Selection */
|
|
986
|
+
selection?: Selection_2;
|
|
987
|
+
/** Highlight color */
|
|
988
|
+
highlightColor?: string;
|
|
989
|
+
/** Spin animation */
|
|
990
|
+
spin?: boolean;
|
|
991
|
+
/** Spin speed (degrees per frame) */
|
|
992
|
+
spinSpeed?: number;
|
|
993
|
+
/** On atom click */
|
|
994
|
+
onAtomClick?: (atom: Atom) => void;
|
|
995
|
+
/** On atom hover */
|
|
996
|
+
onAtomHover?: (atom: Atom | null) => void;
|
|
997
|
+
/** On selection change */
|
|
998
|
+
onSelectionChange?: (selection: Selection_2) => void;
|
|
999
|
+
/** Class name */
|
|
1000
|
+
className?: string;
|
|
1001
|
+
/** Style */
|
|
1002
|
+
styleOverride?: default_2.CSSProperties;
|
|
1003
|
+
}
|
|
1004
|
+
|
|
1005
|
+
export declare function NicePhylogeneticTree({ tree, layout, branchStyle, nodeShape, nodeSize, showBranchLengths, showBootstrap, bootstrapThreshold, showLeafLabels, showInternalLabels, labelFontSize, branchWidth, branchColor, nodeColor, highlightColor, clades, annotations, colorScale, width, height, padding, enableZoom, enablePan, showControls, onNodeClick, onNodeHover, onBranchClick, className, style, }: NicePhylogeneticTreeProps): default_2.ReactElement;
|
|
1006
|
+
|
|
1007
|
+
export declare interface NicePhylogeneticTreeProps {
|
|
1008
|
+
/** Tree data or Newick string */
|
|
1009
|
+
tree?: TreeNode | string;
|
|
1010
|
+
/** Tree layout */
|
|
1011
|
+
layout?: TreeLayout;
|
|
1012
|
+
/** Branch style */
|
|
1013
|
+
branchStyle?: BranchStyle;
|
|
1014
|
+
/** Node shape */
|
|
1015
|
+
nodeShape?: NodeShape;
|
|
1016
|
+
/** Node size */
|
|
1017
|
+
nodeSize?: number;
|
|
1018
|
+
/** Show branch lengths */
|
|
1019
|
+
showBranchLengths?: boolean;
|
|
1020
|
+
/** Show bootstrap values */
|
|
1021
|
+
showBootstrap?: boolean;
|
|
1022
|
+
/** Bootstrap threshold */
|
|
1023
|
+
bootstrapThreshold?: number;
|
|
1024
|
+
/** Show leaf labels */
|
|
1025
|
+
showLeafLabels?: boolean;
|
|
1026
|
+
/** Show internal labels */
|
|
1027
|
+
showInternalLabels?: boolean;
|
|
1028
|
+
/** Label font size */
|
|
1029
|
+
labelFontSize?: number;
|
|
1030
|
+
/** Branch width */
|
|
1031
|
+
branchWidth?: number;
|
|
1032
|
+
/** Branch color */
|
|
1033
|
+
branchColor?: string;
|
|
1034
|
+
/** Node color */
|
|
1035
|
+
nodeColor?: string;
|
|
1036
|
+
/** Highlight color */
|
|
1037
|
+
highlightColor?: string;
|
|
1038
|
+
/** Clades to visualize */
|
|
1039
|
+
clades?: Clade[];
|
|
1040
|
+
/** Annotations */
|
|
1041
|
+
annotations?: TreeAnnotation[];
|
|
1042
|
+
/** Color scale for metadata */
|
|
1043
|
+
colorScale?: TreeColorScale;
|
|
1044
|
+
/** Width */
|
|
1045
|
+
width?: number | string;
|
|
1046
|
+
/** Height */
|
|
1047
|
+
height?: number | string;
|
|
1048
|
+
/** Padding */
|
|
1049
|
+
padding?: number;
|
|
1050
|
+
/** Enable zoom */
|
|
1051
|
+
enableZoom?: boolean;
|
|
1052
|
+
/** Enable pan */
|
|
1053
|
+
enablePan?: boolean;
|
|
1054
|
+
/** Show controls */
|
|
1055
|
+
showControls?: boolean;
|
|
1056
|
+
/** On node click */
|
|
1057
|
+
onNodeClick?: (node: TreeNode) => void;
|
|
1058
|
+
/** On node hover */
|
|
1059
|
+
onNodeHover?: (node: TreeNode | null) => void;
|
|
1060
|
+
/** On branch click */
|
|
1061
|
+
onBranchClick?: (source: TreeNode, target: TreeNode) => void;
|
|
1062
|
+
/** Class name */
|
|
1063
|
+
className?: string;
|
|
1064
|
+
/** Style */
|
|
1065
|
+
style?: default_2.CSSProperties;
|
|
1066
|
+
}
|
|
1067
|
+
|
|
1068
|
+
export declare function NiceScientificChart({ series, title, subtitle, width, height, type, xAxis, yAxis, statOverlays, annotations, legend, tooltip, zoom, export: exportConfig, statisticalTests, gridLines, aspectRatio, animation, theme, onPointClick, onPointHover, onZoomChange, onAnnotationChange, className, style, }: NiceScientificChartProps): default_2.ReactElement;
|
|
1069
|
+
|
|
1070
|
+
export declare interface NiceScientificChartProps {
|
|
1071
|
+
/** Data series to display */
|
|
1072
|
+
series: DataSeries[];
|
|
1073
|
+
/** Chart title */
|
|
1074
|
+
title?: string;
|
|
1075
|
+
/** Subtitle */
|
|
1076
|
+
subtitle?: string;
|
|
1077
|
+
/** Chart width */
|
|
1078
|
+
width?: number | string;
|
|
1079
|
+
/** Chart height */
|
|
1080
|
+
height?: number | string;
|
|
1081
|
+
/** Chart type (default for all series) */
|
|
1082
|
+
type?: ChartType;
|
|
1083
|
+
/** X axis configuration */
|
|
1084
|
+
xAxis?: AxisConfig | AxisConfig[];
|
|
1085
|
+
/** Y axis configuration */
|
|
1086
|
+
yAxis?: AxisConfig | AxisConfig[];
|
|
1087
|
+
/** Statistical overlays to show */
|
|
1088
|
+
statOverlays?: StatOverlay[];
|
|
1089
|
+
/** Annotations to display */
|
|
1090
|
+
annotations?: AnnotationConfig[];
|
|
1091
|
+
/** Legend configuration */
|
|
1092
|
+
legend?: LegendConfig;
|
|
1093
|
+
/** Tooltip configuration */
|
|
1094
|
+
tooltip?: TooltipConfig;
|
|
1095
|
+
/** Zoom/pan configuration */
|
|
1096
|
+
zoom?: ZoomConfig;
|
|
1097
|
+
/** Export configuration */
|
|
1098
|
+
export?: ExportConfig;
|
|
1099
|
+
/** Statistical tests to perform */
|
|
1100
|
+
statisticalTests?: StatisticalTest[];
|
|
1101
|
+
/** Grid lines */
|
|
1102
|
+
gridLines?: boolean;
|
|
1103
|
+
/** Aspect ratio */
|
|
1104
|
+
aspectRatio?: number;
|
|
1105
|
+
/** Animation */
|
|
1106
|
+
animation?: boolean | {
|
|
1107
|
+
duration: number;
|
|
1108
|
+
easing: string;
|
|
1109
|
+
};
|
|
1110
|
+
/** Theme */
|
|
1111
|
+
theme?: 'light' | 'dark' | 'publication' | 'presentation';
|
|
1112
|
+
/** On data point click */
|
|
1113
|
+
onPointClick?: (point: DataPoint, series: DataSeries, event: default_2.MouseEvent) => void;
|
|
1114
|
+
/** On point hover */
|
|
1115
|
+
onPointHover?: (point: DataPoint | null, series: DataSeries | null) => void;
|
|
1116
|
+
/** On zoom change */
|
|
1117
|
+
onZoomChange?: (xRange: [number, number] | null, yRange: [number, number] | null) => void;
|
|
1118
|
+
/** On annotation change */
|
|
1119
|
+
onAnnotationChange?: (annotation: AnnotationConfig) => void;
|
|
1120
|
+
/** Class name */
|
|
1121
|
+
className?: string;
|
|
1122
|
+
/** Style */
|
|
1123
|
+
style?: default_2.CSSProperties;
|
|
1124
|
+
}
|
|
1125
|
+
|
|
1126
|
+
export declare type NodeShape = 'circle' | 'square' | 'triangle' | 'diamond' | 'none';
|
|
1127
|
+
|
|
1128
|
+
/** Notebook collaborator */
|
|
1129
|
+
export declare interface NotebookCollaborator {
|
|
1130
|
+
userId: UserId;
|
|
1131
|
+
name: string;
|
|
1132
|
+
email: string;
|
|
1133
|
+
role: 'viewer' | 'editor' | 'admin';
|
|
1134
|
+
addedAt: string;
|
|
1135
|
+
}
|
|
1136
|
+
|
|
1137
|
+
export declare type NotebookId = string;
|
|
1138
|
+
|
|
1139
|
+
/** Notebook settings */
|
|
1140
|
+
export declare interface NotebookSettings {
|
|
1141
|
+
requireSignatures: boolean;
|
|
1142
|
+
requireWitness: boolean;
|
|
1143
|
+
autoLockAfterSign: boolean;
|
|
1144
|
+
defaultEntryType: EntryType;
|
|
1145
|
+
customFields: CustomField[];
|
|
1146
|
+
templates: EntryTemplate[];
|
|
1147
|
+
}
|
|
1148
|
+
|
|
1149
|
+
export declare type Plot3DData = Surface3D | Scatter3D | Volume3D | Mesh3D | VectorField3D;
|
|
1150
|
+
|
|
1151
|
+
export declare type Plot3DType = 'scatter3d' | 'surface' | 'wireframe' | 'mesh3d' | 'isosurface' | 'volume' | 'streamtube' | 'cone' | 'contour3d';
|
|
1152
|
+
|
|
1153
|
+
export declare interface Point3D {
|
|
1154
|
+
x: number;
|
|
1155
|
+
y: number;
|
|
1156
|
+
z: number;
|
|
1157
|
+
color?: number | string;
|
|
1158
|
+
size?: number;
|
|
1159
|
+
label?: string;
|
|
1160
|
+
meta?: Record<string, any>;
|
|
1161
|
+
}
|
|
1162
|
+
|
|
1163
|
+
/** Citation/reference type */
|
|
1164
|
+
export declare type ReferenceType = 'article' | 'book' | 'chapter' | 'conference' | 'thesis' | 'report' | 'patent' | 'website' | 'software' | 'dataset' | 'video' | 'misc';
|
|
1165
|
+
|
|
1166
|
+
export declare type RenderStyle = 'ball-stick' | 'space-filling' | 'stick' | 'wireframe' | 'cartoon' | 'ribbon' | 'surface';
|
|
1167
|
+
|
|
1168
|
+
export declare interface Residue {
|
|
1169
|
+
id: number;
|
|
1170
|
+
name: string;
|
|
1171
|
+
seq: number;
|
|
1172
|
+
chainId: string;
|
|
1173
|
+
atoms: number[];
|
|
1174
|
+
secondaryStructure?: 'helix' | 'sheet' | 'loop' | 'turn' | 'coil';
|
|
1175
|
+
color?: string;
|
|
1176
|
+
}
|
|
1177
|
+
|
|
1178
|
+
export declare interface ScaleBar {
|
|
1179
|
+
show: boolean;
|
|
1180
|
+
position?: 'bottom-left' | 'bottom-right' | 'top-left' | 'top-right';
|
|
1181
|
+
units?: 'metric' | 'imperial';
|
|
1182
|
+
}
|
|
1183
|
+
|
|
1184
|
+
export declare type ScaleType = 'linear' | 'log' | 'log2' | 'sqrt' | 'symlog' | 'time' | 'band' | 'ordinal';
|
|
1185
|
+
|
|
1186
|
+
export declare interface Scatter3D {
|
|
1187
|
+
id: string;
|
|
1188
|
+
name: string;
|
|
1189
|
+
type: 'scatter3d';
|
|
1190
|
+
points: Point3D[];
|
|
1191
|
+
mode?: 'markers' | 'lines' | 'markers+lines';
|
|
1192
|
+
marker?: {
|
|
1193
|
+
size?: number | number[];
|
|
1194
|
+
color?: string | number[];
|
|
1195
|
+
colorScale?: ColorScale;
|
|
1196
|
+
symbol?: 'circle' | 'square' | 'diamond' | 'cross';
|
|
1197
|
+
opacity?: number;
|
|
1198
|
+
};
|
|
1199
|
+
line?: {
|
|
1200
|
+
width?: number;
|
|
1201
|
+
color?: string;
|
|
1202
|
+
dash?: 'solid' | 'dash' | 'dot';
|
|
1203
|
+
};
|
|
1204
|
+
}
|
|
1205
|
+
|
|
1206
|
+
export declare interface Scene3DConfig {
|
|
1207
|
+
aspectRatio?: 'auto' | 'cube' | 'data' | {
|
|
1208
|
+
x: number;
|
|
1209
|
+
y: number;
|
|
1210
|
+
z: number;
|
|
1211
|
+
};
|
|
1212
|
+
camera?: Camera3D;
|
|
1213
|
+
xAxis?: Axis3DConfig;
|
|
1214
|
+
yAxis?: Axis3DConfig;
|
|
1215
|
+
zAxis?: Axis3DConfig;
|
|
1216
|
+
bgcolor?: string;
|
|
1217
|
+
dragMode?: 'orbit' | 'turntable' | 'zoom' | 'pan' | false;
|
|
1218
|
+
hoverMode?: 'closest' | 'x' | 'y' | 'z' | false;
|
|
1219
|
+
}
|
|
1220
|
+
|
|
1221
|
+
declare interface Selection_2 {
|
|
1222
|
+
atoms?: number[];
|
|
1223
|
+
residues?: number[];
|
|
1224
|
+
chains?: string[];
|
|
1225
|
+
expression?: string;
|
|
1226
|
+
}
|
|
1227
|
+
export { Selection_2 as Selection }
|
|
1228
|
+
|
|
1229
|
+
export declare interface StatisticalTest {
|
|
1230
|
+
type: 't-test' | 'anova' | 'chi-square' | 'correlation' | 'mann-whitney';
|
|
1231
|
+
series: string[];
|
|
1232
|
+
result?: {
|
|
1233
|
+
statistic: number;
|
|
1234
|
+
pValue: number;
|
|
1235
|
+
significant: boolean;
|
|
1236
|
+
interpretation: string;
|
|
1237
|
+
};
|
|
1238
|
+
}
|
|
1239
|
+
|
|
1240
|
+
export declare type StatOverlay = 'mean' | 'median' | 'regression' | 'trendline' | 'confidence-interval' | 'prediction-band' | 'std-dev' | 'quartiles';
|
|
1241
|
+
|
|
1242
|
+
declare const Stats_2: {
|
|
1243
|
+
/** Calculate mean */
|
|
1244
|
+
mean(values: number[]): number;
|
|
1245
|
+
/** Calculate median */
|
|
1246
|
+
median(values: number[]): number;
|
|
1247
|
+
/** Calculate variance */
|
|
1248
|
+
variance(values: number[], population?: boolean): number;
|
|
1249
|
+
/** Calculate standard deviation */
|
|
1250
|
+
std(values: number[], population?: boolean): number;
|
|
1251
|
+
/** Calculate mode */
|
|
1252
|
+
mode(values: any[]): any;
|
|
1253
|
+
/** Calculate percentile */
|
|
1254
|
+
percentile(values: number[], p: number): number;
|
|
1255
|
+
/** Calculate quartiles */
|
|
1256
|
+
quartiles(values: number[]): {
|
|
1257
|
+
q1: number;
|
|
1258
|
+
q2: number;
|
|
1259
|
+
q3: number;
|
|
1260
|
+
};
|
|
1261
|
+
/** Calculate skewness */
|
|
1262
|
+
skewness(values: number[]): number;
|
|
1263
|
+
/** Calculate kurtosis */
|
|
1264
|
+
kurtosis(values: number[]): number;
|
|
1265
|
+
/** Correlation coefficient (Pearson) */
|
|
1266
|
+
correlation(x: number[], y: number[]): number;
|
|
1267
|
+
/** Correlation matrix */
|
|
1268
|
+
correlationMatrix(data: Record<string, number[]>): Record<string, Record<string, number>>;
|
|
1269
|
+
/** Covariance */
|
|
1270
|
+
covariance(x: number[], y: number[], population?: boolean): number;
|
|
1271
|
+
/** Simple linear regression */
|
|
1272
|
+
linearRegression(x: number[], y: number[]): {
|
|
1273
|
+
slope: number;
|
|
1274
|
+
intercept: number;
|
|
1275
|
+
r2: number;
|
|
1276
|
+
equation: string;
|
|
1277
|
+
};
|
|
1278
|
+
/** T-test (two-sample) */
|
|
1279
|
+
tTest(sample1: number[], sample2: number[]): {
|
|
1280
|
+
tStatistic: number;
|
|
1281
|
+
pValue: number;
|
|
1282
|
+
degreesOfFreedom: number;
|
|
1283
|
+
meanDiff: number;
|
|
1284
|
+
};
|
|
1285
|
+
/** Normal CDF approximation */
|
|
1286
|
+
normalCDF(x: number): number;
|
|
1287
|
+
/** Chi-square test */
|
|
1288
|
+
chiSquare(observed: number[], expected: number[]): {
|
|
1289
|
+
chiSquare: number;
|
|
1290
|
+
pValue: number;
|
|
1291
|
+
degreesOfFreedom: number;
|
|
1292
|
+
};
|
|
1293
|
+
/** Z-score normalization */
|
|
1294
|
+
zScore(values: number[]): number[];
|
|
1295
|
+
/** Min-max normalization */
|
|
1296
|
+
minMaxNormalize(values: number[], min?: number, max?: number): number[];
|
|
1297
|
+
/** Describe dataset */
|
|
1298
|
+
describe(values: number[]): ColumnStats;
|
|
1299
|
+
};
|
|
1300
|
+
export { Stats_2 as Stats }
|
|
1301
|
+
|
|
1302
|
+
export declare interface Surface {
|
|
1303
|
+
id: string;
|
|
1304
|
+
type: 'vdw' | 'sas' | 'ses' | 'ms';
|
|
1305
|
+
opacity: number;
|
|
1306
|
+
colorScheme: ColorScheme;
|
|
1307
|
+
selection?: Selection_2;
|
|
1308
|
+
wireframe?: boolean;
|
|
1309
|
+
}
|
|
1310
|
+
|
|
1311
|
+
export declare interface Surface3D {
|
|
1312
|
+
id: string;
|
|
1313
|
+
name: string;
|
|
1314
|
+
type: 'surface' | 'wireframe';
|
|
1315
|
+
xData: number[];
|
|
1316
|
+
yData: number[];
|
|
1317
|
+
zData: number[][];
|
|
1318
|
+
colorData?: number[][];
|
|
1319
|
+
colorScale?: ColorScale;
|
|
1320
|
+
opacity?: number;
|
|
1321
|
+
showScale?: boolean;
|
|
1322
|
+
lighting?: SurfaceLighting;
|
|
1323
|
+
}
|
|
1324
|
+
|
|
1325
|
+
export declare interface SurfaceLighting {
|
|
1326
|
+
ambient: number;
|
|
1327
|
+
diffuse: number;
|
|
1328
|
+
specular: number;
|
|
1329
|
+
roughness: number;
|
|
1330
|
+
fresnel: number;
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
export declare interface TooltipConfig {
|
|
1334
|
+
enabled: boolean;
|
|
1335
|
+
mode: 'point' | 'index' | 'nearest' | 'crosshair';
|
|
1336
|
+
format?: (point: DataPoint, series: DataSeries) => string;
|
|
1337
|
+
shared?: boolean;
|
|
1338
|
+
}
|
|
1339
|
+
|
|
1340
|
+
/** Transformation operation */
|
|
1341
|
+
export declare interface Transformation {
|
|
1342
|
+
type: TransformationType;
|
|
1343
|
+
column?: ColumnName;
|
|
1344
|
+
columns?: ColumnName[];
|
|
1345
|
+
parameters: Record<string, any>;
|
|
1346
|
+
newColumnName?: string;
|
|
1347
|
+
}
|
|
1348
|
+
|
|
1349
|
+
export declare type TransformationType = 'filter' | 'sort' | 'group' | 'aggregate' | 'pivot' | 'melt' | 'rename' | 'drop' | 'fillna' | 'dropna' | 'map' | 'bin' | 'normalize' | 'standardize' | 'log' | 'diff' | 'lag' | 'rolling';
|
|
1350
|
+
|
|
1351
|
+
export declare interface TreeAnnotation {
|
|
1352
|
+
nodeId: string;
|
|
1353
|
+
text: string;
|
|
1354
|
+
position?: 'left' | 'right' | 'above' | 'below';
|
|
1355
|
+
color?: string;
|
|
1356
|
+
fontSize?: number;
|
|
1357
|
+
}
|
|
1358
|
+
|
|
1359
|
+
export declare interface TreeColorScale {
|
|
1360
|
+
name: string;
|
|
1361
|
+
property: string;
|
|
1362
|
+
colors: string[];
|
|
1363
|
+
min?: number;
|
|
1364
|
+
max?: number;
|
|
1365
|
+
}
|
|
1366
|
+
|
|
1367
|
+
export declare interface TreeEdge {
|
|
1368
|
+
source: string;
|
|
1369
|
+
target: string;
|
|
1370
|
+
length?: number;
|
|
1371
|
+
support?: number;
|
|
1372
|
+
color?: string;
|
|
1373
|
+
style?: 'solid' | 'dashed' | 'dotted';
|
|
1374
|
+
width?: number;
|
|
1375
|
+
}
|
|
1376
|
+
|
|
1377
|
+
export declare type TreeLayout = 'rectangular' | 'radial' | 'circular' | 'unrooted' | 'diagonal';
|
|
1378
|
+
|
|
1379
|
+
export declare interface TreeNode {
|
|
1380
|
+
id: string;
|
|
1381
|
+
name?: string;
|
|
1382
|
+
parent?: string;
|
|
1383
|
+
children?: TreeNode[];
|
|
1384
|
+
branchLength?: number;
|
|
1385
|
+
bootstrap?: number;
|
|
1386
|
+
support?: number;
|
|
1387
|
+
metadata?: Record<string, any>;
|
|
1388
|
+
color?: string;
|
|
1389
|
+
collapsed?: boolean;
|
|
1390
|
+
highlighted?: boolean;
|
|
1391
|
+
annotation?: string;
|
|
1392
|
+
}
|
|
1393
|
+
|
|
1394
|
+
export declare function useCitation(): CitationContextValue;
|
|
1395
|
+
|
|
1396
|
+
export declare function useLabNotebook(): LabNotebookContextValue;
|
|
1397
|
+
|
|
1398
|
+
export declare type UserId = string;
|
|
1399
|
+
|
|
1400
|
+
export declare interface VectorField3D {
|
|
1401
|
+
id: string;
|
|
1402
|
+
name: string;
|
|
1403
|
+
type: 'cone' | 'streamtube';
|
|
1404
|
+
x: number[];
|
|
1405
|
+
y: number[];
|
|
1406
|
+
z: number[];
|
|
1407
|
+
u: number[];
|
|
1408
|
+
v: number[];
|
|
1409
|
+
w: number[];
|
|
1410
|
+
sizeRef?: number;
|
|
1411
|
+
colorScale?: ColorScale;
|
|
1412
|
+
showScale?: boolean;
|
|
1413
|
+
}
|
|
1414
|
+
|
|
1415
|
+
export declare interface Volume3D {
|
|
1416
|
+
id: string;
|
|
1417
|
+
name: string;
|
|
1418
|
+
type: 'volume' | 'isosurface';
|
|
1419
|
+
xData: number[];
|
|
1420
|
+
yData: number[];
|
|
1421
|
+
zData: number[];
|
|
1422
|
+
values: number[][][];
|
|
1423
|
+
isoMin?: number;
|
|
1424
|
+
isoMax?: number;
|
|
1425
|
+
opacity?: number | number[];
|
|
1426
|
+
colorScale?: ColorScale;
|
|
1427
|
+
caps?: {
|
|
1428
|
+
x: boolean;
|
|
1429
|
+
y: boolean;
|
|
1430
|
+
z: boolean;
|
|
1431
|
+
};
|
|
1432
|
+
surface?: {
|
|
1433
|
+
show: boolean;
|
|
1434
|
+
count: number;
|
|
1435
|
+
};
|
|
1436
|
+
slices?: {
|
|
1437
|
+
x: {
|
|
1438
|
+
show: boolean;
|
|
1439
|
+
locations: number[];
|
|
1440
|
+
};
|
|
1441
|
+
y: {
|
|
1442
|
+
show: boolean;
|
|
1443
|
+
locations: number[];
|
|
1444
|
+
};
|
|
1445
|
+
z: {
|
|
1446
|
+
show: boolean;
|
|
1447
|
+
locations: number[];
|
|
1448
|
+
};
|
|
1449
|
+
};
|
|
1450
|
+
}
|
|
1451
|
+
|
|
1452
|
+
export declare interface ZoomConfig {
|
|
1453
|
+
enabled: boolean;
|
|
1454
|
+
mode: 'x' | 'y' | 'xy';
|
|
1455
|
+
wheel?: boolean;
|
|
1456
|
+
drag?: boolean;
|
|
1457
|
+
pinch?: boolean;
|
|
1458
|
+
resetButton?: boolean;
|
|
1459
|
+
}
|
|
1460
|
+
|
|
1461
|
+
export { }
|