gridjs-spreadsheet 26.8.0 → 26.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/{9667af4182f3e39eec9844c10e1a6eb8.svg → 2540ca97f0253f1cda1c125495bb90fe.svg} +21 -1
- package/angular.d.ts +3 -1
- package/angular.js +4 -0
- package/d022c86edc5b2d12a8d3d4890df3bebb.jpg +0 -0
- package/example/pom.xml +3 -3
- package/index.d.ts +125 -0
- package/package.json +171 -170
- package/react.d.ts +2 -1
- package/react.js +3 -1
- package/readme.md +14 -1
- package/shared.d.ts +2 -1
- package/shared.js +1 -0
- package/vue.d.ts +2 -1
- package/vue.js +3 -0
- package/xspreadsheet.css +272 -3
- package/xspreadsheet.js +5 -5
|
@@ -1194,4 +1194,24 @@
|
|
|
1194
1194
|
<rect x="24" y="17" width="6" height="20" fill="#FFFFFF" id="redact-plus-v" />
|
|
1195
1195
|
</g>
|
|
1196
1196
|
</g>
|
|
1197
|
-
|
|
1197
|
+
<g id="RedactionSearchResult" transform="matrix(0.3033,0,0,0.3033,180,126)">
|
|
1198
|
+
|
|
1199
|
+
|
|
1200
|
+
|
|
1201
|
+
<!-- Unified blue-grey rounded background to indicate 'search' context -->
|
|
1202
|
+
<rect x="4" y="4" width="54" height="54" fill="#56754B" rx="4" ry="4" id="bg-rect" />
|
|
1203
|
+
<!-- Search results list: two white horizontal lines representing the searched content -->
|
|
1204
|
+
<rect x="10" y="10" width="14" height="3" fill="#FFFFFF" rx="1.5" id="search-line-1" />
|
|
1205
|
+
<rect x="10" y="16" width="14" height="3" fill="#FFFFFF" rx="1.5" id="search-line-2" />
|
|
1206
|
+
|
|
1207
|
+
<!-- Magnifying glass: represents the 'search' action, positioned on the right side of the list -->
|
|
1208
|
+
<circle cx="35" cy="18" r="7" fill="none" stroke="#FFFFFF" stroke-width="2.5" id="search-glass" />
|
|
1209
|
+
<line x1="42" y1="23" x2="47" y2="28" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" id="search-handle" />
|
|
1210
|
+
|
|
1211
|
+
<g transform="translate(27, 27) scale(0.66) translate(-32, -16)">
|
|
1212
|
+
<rect x="9" y="9" width="36" height="36" fill="#E53935" rx="4" ry="4" id="redact-rect" />
|
|
1213
|
+
<line x1="9" y1="9" x2="45" y2="45" stroke="#FFFFFF" stroke-width="4" stroke-linecap="round" id="redact-line" />
|
|
1214
|
+
<rect x="17" y="24" width="20" height="6" fill="#FFFFFF" id="redact-plus-h" />
|
|
1215
|
+
<rect x="24" y="17" width="6" height="20" fill="#FFFFFF" id="redact-plus-v" />
|
|
1216
|
+
</g>
|
|
1217
|
+
</g> </svg>
|
package/angular.d.ts
CHANGED
|
@@ -8,7 +8,7 @@ import type {
|
|
|
8
8
|
SimpleChanges,
|
|
9
9
|
} from '@angular/core';
|
|
10
10
|
import type * as i0 from '@angular/core';
|
|
11
|
-
import type Spreadsheet from 'gridjs-spreadsheet';
|
|
11
|
+
import type Spreadsheet, { SemanticAutomationOptions } from 'gridjs-spreadsheet';
|
|
12
12
|
import type { GridJsAdapter } from './shared';
|
|
13
13
|
|
|
14
14
|
export declare class GridJsSpreadsheetComponent implements AfterViewInit, OnChanges, OnDestroy {
|
|
@@ -21,6 +21,7 @@ export declare class GridJsSpreadsheetComponent implements AfterViewInit, OnChan
|
|
|
21
21
|
height: string;
|
|
22
22
|
showToolbar: boolean;
|
|
23
23
|
showContextmenu: boolean;
|
|
24
|
+
semanticAutomation: SemanticAutomationOptions | null;
|
|
24
25
|
ready: EventEmitter<{ instance: Spreadsheet; adapter: GridJsAdapter }>;
|
|
25
26
|
change: EventEmitter<any[]>;
|
|
26
27
|
error: EventEmitter<any>;
|
|
@@ -47,6 +48,7 @@ export declare class GridJsSpreadsheetComponent implements AfterViewInit, OnChan
|
|
|
47
48
|
height: { alias: 'height'; required: false };
|
|
48
49
|
showToolbar: { alias: 'showToolbar'; required: false };
|
|
49
50
|
showContextmenu: { alias: 'showContextmenu'; required: false };
|
|
51
|
+
semanticAutomation: { alias: 'semanticAutomation'; required: false };
|
|
50
52
|
},
|
|
51
53
|
{
|
|
52
54
|
ready: 'ready';
|
package/angular.js
CHANGED
|
@@ -29,6 +29,7 @@ export class GridJsSpreadsheetComponent {
|
|
|
29
29
|
height = 'calc(100vh - 96px)';
|
|
30
30
|
showToolbar = true;
|
|
31
31
|
showContextmenu = true;
|
|
32
|
+
semanticAutomation = null;
|
|
32
33
|
|
|
33
34
|
ready = new EventEmitter();
|
|
34
35
|
change = new EventEmitter();
|
|
@@ -80,6 +81,7 @@ export class GridJsSpreadsheetComponent {
|
|
|
80
81
|
this.locale,
|
|
81
82
|
String(this.showToolbar),
|
|
82
83
|
String(this.showContextmenu),
|
|
84
|
+
JSON.stringify(this.semanticAutomation || null),
|
|
83
85
|
].join('|');
|
|
84
86
|
|
|
85
87
|
if (mountKey === this.lastMountKey && this.adapter) return;
|
|
@@ -100,6 +102,7 @@ export class GridJsSpreadsheetComponent {
|
|
|
100
102
|
token: this.token,
|
|
101
103
|
showToolbar: this.showToolbar,
|
|
102
104
|
showContextmenu: this.showContextmenu,
|
|
105
|
+
semanticAutomation: this.semanticAutomation,
|
|
103
106
|
callbacks: {
|
|
104
107
|
ready: (instance, activeAdapter) => this.zone.run(() => this.ready.emit({ instance, adapter: activeAdapter })),
|
|
105
108
|
change: (...args) => this.zone.run(() => this.change.emit(args)),
|
|
@@ -154,6 +157,7 @@ GridJsSpreadsheetComponent.ɵcmp = /* @__PURE__ */ i0.ɵɵngDeclareComponent({
|
|
|
154
157
|
height: 'height',
|
|
155
158
|
showToolbar: 'showToolbar',
|
|
156
159
|
showContextmenu: 'showContextmenu',
|
|
160
|
+
semanticAutomation: 'semanticAutomation',
|
|
157
161
|
},
|
|
158
162
|
outputs: {
|
|
159
163
|
ready: 'ready',
|
|
Binary file
|
package/example/pom.xml
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
</repositories>
|
|
18
18
|
<groupId>com.aspose.gridjs</groupId>
|
|
19
19
|
<artifactId>gridjsdemo</artifactId>
|
|
20
|
-
<version>26.
|
|
20
|
+
<version>26.9</version>
|
|
21
21
|
<name>gridjsdemo</name>
|
|
22
22
|
<description>GridJs Demo project for Spring Boot</description>
|
|
23
23
|
<properties>
|
|
@@ -51,12 +51,12 @@
|
|
|
51
51
|
<dependency>
|
|
52
52
|
<groupId>com.aspose</groupId>
|
|
53
53
|
<artifactId>aspose-cells</artifactId>
|
|
54
|
-
<version>26.
|
|
54
|
+
<version>26.9</version>
|
|
55
55
|
</dependency>
|
|
56
56
|
<dependency>
|
|
57
57
|
<groupId>com.aspose</groupId>
|
|
58
58
|
<artifactId>aspose-cells</artifactId>
|
|
59
|
-
<version>26.
|
|
59
|
+
<version>26.9</version>
|
|
60
60
|
<classifier>gridjs</classifier>
|
|
61
61
|
</dependency>
|
|
62
62
|
<!-- <dependency>
|
package/index.d.ts
CHANGED
|
@@ -69,6 +69,123 @@ declare module 'gridjs-spreadsheet' {
|
|
|
69
69
|
* @returns Promise<string> for the new reason, or null to cancel
|
|
70
70
|
*/
|
|
71
71
|
onRedactionAddReason?: (existingReasons: string[]) => Promise<string | null>;
|
|
72
|
+
/** Versioned Object API for AI Agent and automated tests. Disabled by default. */
|
|
73
|
+
semanticAutomation?: SemanticAutomationOptions;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
export interface SemanticAutomationOptions {
|
|
77
|
+
enabled?: boolean;
|
|
78
|
+
instanceId?: string;
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
export type SemanticRuntimePhase =
|
|
82
|
+
| 'disabled'
|
|
83
|
+
| 'initializing'
|
|
84
|
+
| 'loading'
|
|
85
|
+
| 'rendering'
|
|
86
|
+
| 'ready'
|
|
87
|
+
| 'updating'
|
|
88
|
+
| 'failed'
|
|
89
|
+
| 'destroyed';
|
|
90
|
+
|
|
91
|
+
export interface SemanticRuntimeState {
|
|
92
|
+
contractVersion: string;
|
|
93
|
+
instanceId: string;
|
|
94
|
+
instanceGeneration: string;
|
|
95
|
+
workbookSessionId: string | null;
|
|
96
|
+
phase: SemanticRuntimePhase;
|
|
97
|
+
revision: number;
|
|
98
|
+
failure: { code: string; message: string; retryable: boolean } | null;
|
|
99
|
+
activeOperationIds: string[];
|
|
100
|
+
lastOperationId: string | null;
|
|
101
|
+
activeSheetId: string | null;
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
export interface SemanticOperation {
|
|
105
|
+
operationId: string;
|
|
106
|
+
kind: string;
|
|
107
|
+
action: string;
|
|
108
|
+
instanceGeneration: string;
|
|
109
|
+
workbookSessionId: string | null;
|
|
110
|
+
parentOperationId: string | null;
|
|
111
|
+
phase: 'pending' | 'running' | 'completed' | 'failed' | 'cancelled';
|
|
112
|
+
progress: number;
|
|
113
|
+
revision: number | null;
|
|
114
|
+
result: Record<string, any> | null;
|
|
115
|
+
error: { code: string; message: string; retryable: boolean } | null;
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
export interface SemanticStateRequest {
|
|
119
|
+
kind: 'workbook' | 'sheets' | 'sheet' | 'cell' | 'range' | 'selection';
|
|
120
|
+
sheetId?: string;
|
|
121
|
+
address?: string;
|
|
122
|
+
range?: string;
|
|
123
|
+
offset?: number;
|
|
124
|
+
limit?: number;
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
export interface SemanticStateSnapshot {
|
|
128
|
+
contractVersion: string;
|
|
129
|
+
instanceId: string;
|
|
130
|
+
instanceGeneration: string;
|
|
131
|
+
workbookSessionId: string;
|
|
132
|
+
revision: number;
|
|
133
|
+
target: Record<string, any>;
|
|
134
|
+
state: Record<string, any>;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
export type SemanticCellValue =
|
|
138
|
+
| { kind: 'blank' }
|
|
139
|
+
| { kind: 'text'; value: string }
|
|
140
|
+
| { kind: 'number'; value: number }
|
|
141
|
+
| { kind: 'boolean'; value: boolean };
|
|
142
|
+
|
|
143
|
+
export type SemanticEditableCellValue =
|
|
144
|
+
| { kind: 'blank' }
|
|
145
|
+
| { kind: 'text'; value: string };
|
|
146
|
+
|
|
147
|
+
export type SemanticActionRequest =
|
|
148
|
+
| { action: 'sheet.activate'; parameters: { sheetId: string }; invocationId?: string }
|
|
149
|
+
| { action: 'cell.activate'; parameters: { sheetId: string; address: string }; invocationId?: string }
|
|
150
|
+
| { action: 'range.select'; parameters: { sheetId: string; address?: string; range?: string }; invocationId?: string }
|
|
151
|
+
| { action: 'cell.setValue'; parameters: { sheetId: string; address: string; value: SemanticEditableCellValue }; invocationId?: string };
|
|
152
|
+
|
|
153
|
+
export interface SemanticActionReceipt {
|
|
154
|
+
operationId: string;
|
|
155
|
+
action: string;
|
|
156
|
+
instanceGeneration: string;
|
|
157
|
+
workbookSessionId: string;
|
|
158
|
+
phase: 'running';
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
export interface SemanticFacade {
|
|
162
|
+
describeContract(): Record<string, any>;
|
|
163
|
+
getCapabilities(): Record<string, any>;
|
|
164
|
+
getContract(): Record<string, any>;
|
|
165
|
+
getRuntimeState(): SemanticRuntimeState;
|
|
166
|
+
waitForRuntime(options?: { phase?: SemanticRuntimePhase; timeoutMs?: number; signal?: AbortSignal }): Promise<SemanticRuntimeState>;
|
|
167
|
+
subscribe(options: { event?: 'runtimechange' | 'operationchange' | 'sheetchange' | 'selectionchange' | 'cellchange' | '*'; fromRevision?: number; onEvent: (event: Record<string, any>) => void }): { unsubscribe(): void };
|
|
168
|
+
getOperation(operationId: string): SemanticOperation;
|
|
169
|
+
listOperations(): SemanticOperation[];
|
|
170
|
+
waitForOperation(options: { operationId: string; timeoutMs?: number; signal?: AbortSignal }): Promise<SemanticOperation>;
|
|
171
|
+
getState(request: SemanticStateRequest): SemanticStateSnapshot;
|
|
172
|
+
query(request: SemanticStateRequest): SemanticStateSnapshot;
|
|
173
|
+
getAvailableActions(request?: Pick<SemanticStateRequest, 'kind' | 'sheetId'>): ReadonlyArray<{ action: string; capability: string }>;
|
|
174
|
+
perform(request: SemanticActionRequest): SemanticActionReceipt;
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
export interface SemanticInstanceDescriptor {
|
|
178
|
+
instanceId: string;
|
|
179
|
+
instanceGeneration: string;
|
|
180
|
+
contractVersion: string;
|
|
181
|
+
runtimePhase: SemanticRuntimePhase;
|
|
182
|
+
workbookSessionId: string | null;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
export interface GridJSSemanticAutomationRegistry {
|
|
186
|
+
readonly version: '1.0.0';
|
|
187
|
+
listInstances(): SemanticInstanceDescriptor[];
|
|
188
|
+
getInstance(instanceId: string): SemanticFacade | null;
|
|
72
189
|
}
|
|
73
190
|
|
|
74
191
|
export type CELL_SELECTED = 'cell-selected';
|
|
@@ -92,6 +209,7 @@ declare module 'gridjs-spreadsheet' {
|
|
|
92
209
|
export type REDACTION_UPDATED = 'redaction-updated';
|
|
93
210
|
export type REDACTION_REASON_INSERTED = 'redactionReason-inserted';
|
|
94
211
|
export type REDACTION_TRANSPARENCY_TOGGLED = 'redactionTransparency-toggled';
|
|
212
|
+
export type SEARCH_REDACTED = 'search-redacted';
|
|
95
213
|
export type CUSTOM_BUTTON = 'custom-button';
|
|
96
214
|
export type UPDATE_SERVER_ERROR = 'updateServerError';
|
|
97
215
|
export type UPDATE_CELL_ERROR = 'updateCellError';
|
|
@@ -279,6 +397,10 @@ declare module 'gridjs-spreadsheet' {
|
|
|
279
397
|
envt: REDACTION_TRANSPARENCY_TOGGLED,
|
|
280
398
|
callback: (isTransparent: boolean) => void
|
|
281
399
|
): void;
|
|
400
|
+
(
|
|
401
|
+
envt: SEARCH_REDACTED,
|
|
402
|
+
callback: (sheetNames: string[], detail: { keywords: string, isCaseSensitive: boolean, matchWholeCell: boolean, reason: string, color: string, baseId: string }) => void
|
|
403
|
+
): void;
|
|
282
404
|
(
|
|
283
405
|
envt: CUSTOM_BUTTON,
|
|
284
406
|
callback: (tag: string, button: CustomToolbarButton) => void
|
|
@@ -366,6 +488,8 @@ declare module 'gridjs-spreadsheet' {
|
|
|
366
488
|
constructor(container: string | HTMLElement, opts?: Options);
|
|
367
489
|
/** Build version string (injected at compile time) */
|
|
368
490
|
readonly version: string;
|
|
491
|
+
/** Public Semantic Automation facade. */
|
|
492
|
+
semantic: SemanticFacade;
|
|
369
493
|
on: SpreadsheetEventHandler;
|
|
370
494
|
/**
|
|
371
495
|
* retrieve cell
|
|
@@ -548,6 +672,7 @@ declare module 'gridjs-spreadsheet' {
|
|
|
548
672
|
global {
|
|
549
673
|
interface Window {
|
|
550
674
|
x_spreadsheet(container: string | HTMLElement, opts?: Options): Spreadsheet;
|
|
675
|
+
GridJSSemanticAutomation?: GridJSSemanticAutomationRegistry;
|
|
551
676
|
}
|
|
552
677
|
}
|
|
553
678
|
}
|
package/package.json
CHANGED
|
@@ -1,170 +1,171 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "gridjs-spreadsheet",
|
|
3
|
-
"version": "26.
|
|
4
|
-
"description": "Lightweight, high-performance JavaScript spreadsheet component for building online Excel editors and web spreadsheet apps. Supports React, Vue 3, and Angular with TypeScript declarations. Features include formulas, charts, formatting, data validation, copy/paste from Excel, and server-side integration.",
|
|
5
|
-
"types": "index.d.ts",
|
|
6
|
-
"main": "xspreadsheet.js",
|
|
7
|
-
"exports": {
|
|
8
|
-
".": {
|
|
9
|
-
"types": "./index.d.ts",
|
|
10
|
-
"default": "./xspreadsheet.js"
|
|
11
|
-
},
|
|
12
|
-
"./xspreadsheet.css": "./xspreadsheet.css",
|
|
13
|
-
"./vue": {
|
|
14
|
-
"types": "./vue.d.ts",
|
|
15
|
-
"default": "./vue.js"
|
|
16
|
-
},
|
|
17
|
-
"./react": {
|
|
18
|
-
"types": "./react.d.ts",
|
|
19
|
-
"default": "./react.js"
|
|
20
|
-
},
|
|
21
|
-
"./angular": {
|
|
22
|
-
"types": "./angular.d.ts",
|
|
23
|
-
"default": "./angular.js"
|
|
24
|
-
},
|
|
25
|
-
"./shared": {
|
|
26
|
-
"types": "./shared.d.ts",
|
|
27
|
-
"default": "./shared.js"
|
|
28
|
-
},
|
|
29
|
-
"./package.json": "./package.json"
|
|
30
|
-
},
|
|
31
|
-
"files": [
|
|
32
|
-
"readme.md",
|
|
33
|
-
"preview.gif",
|
|
34
|
-
"xspreadsheet.js",
|
|
35
|
-
"xspreadsheet.css",
|
|
36
|
-
"*.svg",
|
|
37
|
-
"
|
|
38
|
-
"index.
|
|
39
|
-
"
|
|
40
|
-
"shared.
|
|
41
|
-
"
|
|
42
|
-
"react.
|
|
43
|
-
"
|
|
44
|
-
"vue.
|
|
45
|
-
"
|
|
46
|
-
"angular.
|
|
47
|
-
"
|
|
48
|
-
"example
|
|
49
|
-
"example/
|
|
50
|
-
"example/
|
|
51
|
-
"example/
|
|
52
|
-
"example/
|
|
53
|
-
"example/
|
|
54
|
-
"example/mvnw
|
|
55
|
-
"example/
|
|
56
|
-
"example/src/main/
|
|
57
|
-
"example/
|
|
58
|
-
"example/
|
|
59
|
-
"example/react-gridjs/
|
|
60
|
-
"example/react-gridjs/
|
|
61
|
-
"example/react-gridjs/
|
|
62
|
-
"example/
|
|
63
|
-
"example/vue-gridjs/
|
|
64
|
-
"example/vue-gridjs/
|
|
65
|
-
"example/vue-gridjs/
|
|
66
|
-
"example/
|
|
67
|
-
"example/angular-gridjs
|
|
68
|
-
"example/angular-gridjs/
|
|
69
|
-
"example/angular-gridjs/
|
|
70
|
-
"example/angular-gridjs/
|
|
71
|
-
"example/angular-gridjs/
|
|
72
|
-
"example/angular-gridjs/tsconfig.
|
|
73
|
-
"example/
|
|
74
|
-
"example/vanilla-gridjs/
|
|
75
|
-
"example/vanilla-gridjs/npm/
|
|
76
|
-
"example/vanilla-gridjs/npm/
|
|
77
|
-
"example/vanilla-gridjs/npm/
|
|
78
|
-
"example/vanilla-gridjs/
|
|
79
|
-
"example/vanilla-gridjs/script/
|
|
80
|
-
"example/vanilla-gridjs/script/
|
|
81
|
-
"example/vanilla-gridjs/script/
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
"
|
|
86
|
-
"
|
|
87
|
-
"
|
|
88
|
-
"excel
|
|
89
|
-
"excel-
|
|
90
|
-
"
|
|
91
|
-
"javascript-
|
|
92
|
-
"
|
|
93
|
-
"
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"
|
|
99
|
-
"
|
|
100
|
-
"
|
|
101
|
-
"
|
|
102
|
-
"
|
|
103
|
-
"
|
|
104
|
-
"
|
|
105
|
-
"
|
|
106
|
-
"
|
|
107
|
-
"
|
|
108
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
112
|
-
"
|
|
113
|
-
"
|
|
114
|
-
"
|
|
115
|
-
"
|
|
116
|
-
"
|
|
117
|
-
"convert-
|
|
118
|
-
"
|
|
119
|
-
"
|
|
120
|
-
"spreadsheet
|
|
121
|
-
"
|
|
122
|
-
"excel-
|
|
123
|
-
"excel-
|
|
124
|
-
"
|
|
125
|
-
"
|
|
126
|
-
"
|
|
127
|
-
"
|
|
128
|
-
"
|
|
129
|
-
"
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
"
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
"
|
|
138
|
-
"
|
|
139
|
-
"@angular/
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
"
|
|
163
|
-
|
|
164
|
-
"
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
"
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "gridjs-spreadsheet",
|
|
3
|
+
"version": "26.9.0",
|
|
4
|
+
"description": "Lightweight, high-performance JavaScript spreadsheet component for building online Excel editors and web spreadsheet apps. Supports React, Vue 3, and Angular with TypeScript declarations. Features include formulas, charts, formatting, data validation, copy/paste from Excel, and server-side integration.",
|
|
5
|
+
"types": "index.d.ts",
|
|
6
|
+
"main": "xspreadsheet.js",
|
|
7
|
+
"exports": {
|
|
8
|
+
".": {
|
|
9
|
+
"types": "./index.d.ts",
|
|
10
|
+
"default": "./xspreadsheet.js"
|
|
11
|
+
},
|
|
12
|
+
"./xspreadsheet.css": "./xspreadsheet.css",
|
|
13
|
+
"./vue": {
|
|
14
|
+
"types": "./vue.d.ts",
|
|
15
|
+
"default": "./vue.js"
|
|
16
|
+
},
|
|
17
|
+
"./react": {
|
|
18
|
+
"types": "./react.d.ts",
|
|
19
|
+
"default": "./react.js"
|
|
20
|
+
},
|
|
21
|
+
"./angular": {
|
|
22
|
+
"types": "./angular.d.ts",
|
|
23
|
+
"default": "./angular.js"
|
|
24
|
+
},
|
|
25
|
+
"./shared": {
|
|
26
|
+
"types": "./shared.d.ts",
|
|
27
|
+
"default": "./shared.js"
|
|
28
|
+
},
|
|
29
|
+
"./package.json": "./package.json"
|
|
30
|
+
},
|
|
31
|
+
"files": [
|
|
32
|
+
"readme.md",
|
|
33
|
+
"preview.gif",
|
|
34
|
+
"xspreadsheet.js",
|
|
35
|
+
"xspreadsheet.css",
|
|
36
|
+
"*.svg",
|
|
37
|
+
"*.jpg",
|
|
38
|
+
"index.js",
|
|
39
|
+
"index.d.ts",
|
|
40
|
+
"shared.js",
|
|
41
|
+
"shared.d.ts",
|
|
42
|
+
"react.js",
|
|
43
|
+
"react.d.ts",
|
|
44
|
+
"vue.js",
|
|
45
|
+
"vue.d.ts",
|
|
46
|
+
"angular.js",
|
|
47
|
+
"angular.d.ts",
|
|
48
|
+
"example/.gitignore",
|
|
49
|
+
"example/README.md",
|
|
50
|
+
"example/HELP.md",
|
|
51
|
+
"example/Dockerfile",
|
|
52
|
+
"example/compose.yaml",
|
|
53
|
+
"example/pom.xml",
|
|
54
|
+
"example/mvnw",
|
|
55
|
+
"example/mvnw.cmd",
|
|
56
|
+
"example/src/main/java",
|
|
57
|
+
"example/src/main/resources",
|
|
58
|
+
"example/wb",
|
|
59
|
+
"example/react-gridjs/index.html",
|
|
60
|
+
"example/react-gridjs/package.json",
|
|
61
|
+
"example/react-gridjs/src",
|
|
62
|
+
"example/react-gridjs/vite.config.js",
|
|
63
|
+
"example/vue-gridjs/index.html",
|
|
64
|
+
"example/vue-gridjs/package.json",
|
|
65
|
+
"example/vue-gridjs/src",
|
|
66
|
+
"example/vue-gridjs/vite.config.js",
|
|
67
|
+
"example/angular-gridjs/.nvmrc",
|
|
68
|
+
"example/angular-gridjs/angular.json",
|
|
69
|
+
"example/angular-gridjs/package.json",
|
|
70
|
+
"example/angular-gridjs/proxy.conf.json",
|
|
71
|
+
"example/angular-gridjs/src",
|
|
72
|
+
"example/angular-gridjs/tsconfig.json",
|
|
73
|
+
"example/angular-gridjs/tsconfig.app.json",
|
|
74
|
+
"example/vanilla-gridjs/shared",
|
|
75
|
+
"example/vanilla-gridjs/npm/index.html",
|
|
76
|
+
"example/vanilla-gridjs/npm/main.js",
|
|
77
|
+
"example/vanilla-gridjs/npm/package.json",
|
|
78
|
+
"example/vanilla-gridjs/npm/vite.config.js",
|
|
79
|
+
"example/vanilla-gridjs/script/index.html",
|
|
80
|
+
"example/vanilla-gridjs/script/main.js",
|
|
81
|
+
"example/vanilla-gridjs/script/package.json",
|
|
82
|
+
"example/vanilla-gridjs/script/vite.config.js"
|
|
83
|
+
],
|
|
84
|
+
"keywords": [
|
|
85
|
+
"excel",
|
|
86
|
+
"spreadsheet",
|
|
87
|
+
"web-excel",
|
|
88
|
+
"online-excel",
|
|
89
|
+
"excel-viewer",
|
|
90
|
+
"excel-editor",
|
|
91
|
+
"javascript-excel",
|
|
92
|
+
"javascript-spreadsheet",
|
|
93
|
+
"excel-component",
|
|
94
|
+
"spreadsheet-ui",
|
|
95
|
+
"react-spreadsheet",
|
|
96
|
+
"vue-excel",
|
|
97
|
+
"angular-spreadsheet",
|
|
98
|
+
"vue-spreadsheet",
|
|
99
|
+
"react-excel",
|
|
100
|
+
"angular-excel",
|
|
101
|
+
"typescript",
|
|
102
|
+
"xlsx",
|
|
103
|
+
"xls",
|
|
104
|
+
"csv",
|
|
105
|
+
"ods",
|
|
106
|
+
"numbers",
|
|
107
|
+
"xlsm",
|
|
108
|
+
"xlsb",
|
|
109
|
+
"excel-io",
|
|
110
|
+
"redact",
|
|
111
|
+
"redaction",
|
|
112
|
+
"data-redaction",
|
|
113
|
+
"collaborative-editing",
|
|
114
|
+
"excel-api",
|
|
115
|
+
"data-table",
|
|
116
|
+
"datagrid",
|
|
117
|
+
"convert-pdf",
|
|
118
|
+
"convert-html",
|
|
119
|
+
"sheets",
|
|
120
|
+
"web-spreadsheet",
|
|
121
|
+
"spreadsheet-editor",
|
|
122
|
+
"excel-online",
|
|
123
|
+
"excel-formula",
|
|
124
|
+
"excel-chart",
|
|
125
|
+
"data-validation",
|
|
126
|
+
"copy-paste-excel",
|
|
127
|
+
"spreadsheet-component",
|
|
128
|
+
"open-source-excel",
|
|
129
|
+
"free-excel-editor",
|
|
130
|
+
"gridjs"
|
|
131
|
+
],
|
|
132
|
+
"author": "Aspose Cells Team",
|
|
133
|
+
"dependencies": {
|
|
134
|
+
"jszip": "~3.10.1"
|
|
135
|
+
},
|
|
136
|
+
"peerDependencies": {
|
|
137
|
+
"vue": ">=3.0.0",
|
|
138
|
+
"react": ">=16.8.0",
|
|
139
|
+
"@angular/core": ">=14.0.0",
|
|
140
|
+
"@angular/common": ">=14.0.0"
|
|
141
|
+
},
|
|
142
|
+
"peerDependenciesMeta": {
|
|
143
|
+
"vue": {
|
|
144
|
+
"optional": true
|
|
145
|
+
},
|
|
146
|
+
"react": {
|
|
147
|
+
"optional": true
|
|
148
|
+
},
|
|
149
|
+
"@angular/core": {
|
|
150
|
+
"optional": true
|
|
151
|
+
},
|
|
152
|
+
"@angular/common": {
|
|
153
|
+
"optional": true
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
"engines": {
|
|
157
|
+
"node": ">=18"
|
|
158
|
+
},
|
|
159
|
+
"publishConfig": {
|
|
160
|
+
"access": "public"
|
|
161
|
+
},
|
|
162
|
+
"license": "MIT",
|
|
163
|
+
"repository": {
|
|
164
|
+
"type": "git",
|
|
165
|
+
"url": "git+https://github.com/aspose-cells/Aspose.Cells.Grid-for-.NET.git"
|
|
166
|
+
},
|
|
167
|
+
"homepage": "https://products.aspose.app/cells/editor",
|
|
168
|
+
"bugs": {
|
|
169
|
+
"url": "https://forum.aspose.com/c/cells"
|
|
170
|
+
}
|
|
171
|
+
}
|
package/react.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { CSSProperties } from 'react';
|
|
2
|
-
import type Spreadsheet from 'gridjs-spreadsheet';
|
|
2
|
+
import type Spreadsheet, { SemanticAutomationOptions } from 'gridjs-spreadsheet';
|
|
3
3
|
import type { GridJsAdapter } from './shared';
|
|
4
4
|
|
|
5
5
|
export interface GridJsSpreadsheetProps {
|
|
@@ -12,6 +12,7 @@ export interface GridJsSpreadsheetProps {
|
|
|
12
12
|
height?: string | number;
|
|
13
13
|
showToolbar?: boolean;
|
|
14
14
|
showContextmenu?: boolean;
|
|
15
|
+
semanticAutomation?: SemanticAutomationOptions;
|
|
15
16
|
className?: string;
|
|
16
17
|
style?: CSSProperties;
|
|
17
18
|
onReady?: (instance: Spreadsheet, adapter: GridJsAdapter) => void;
|
package/react.js
CHANGED
|
@@ -22,6 +22,7 @@ export function GridJsSpreadsheet({
|
|
|
22
22
|
height = 'calc(100vh - 96px)',
|
|
23
23
|
showToolbar = true,
|
|
24
24
|
showContextmenu = true,
|
|
25
|
+
semanticAutomation,
|
|
25
26
|
className = 'gridjs-react-host',
|
|
26
27
|
style,
|
|
27
28
|
onReady,
|
|
@@ -54,6 +55,7 @@ export function GridJsSpreadsheet({
|
|
|
54
55
|
token,
|
|
55
56
|
showToolbar,
|
|
56
57
|
showContextmenu,
|
|
58
|
+
semanticAutomation,
|
|
57
59
|
callbacks: {
|
|
58
60
|
ready: onReady,
|
|
59
61
|
change: onChange,
|
|
@@ -88,7 +90,7 @@ export function GridJsSpreadsheet({
|
|
|
88
90
|
adapterRef.current = null;
|
|
89
91
|
if (hostRef.current) hostRef.current.innerHTML = '';
|
|
90
92
|
};
|
|
91
|
-
}, [apiBase, dataKey, loader, mode, locale, token, showToolbar, showContextmenu]);
|
|
93
|
+
}, [apiBase, dataKey, loader, mode, locale, token, showToolbar, showContextmenu, semanticAutomation]);
|
|
92
94
|
|
|
93
95
|
useEffect(() => {
|
|
94
96
|
if (adapterRef.current && token) {
|