@sheetpane/grid 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (74) hide show
  1. package/README.md +294 -13
  2. package/custom-elements.json +292 -27
  3. package/dist/check.d.ts +75 -0
  4. package/dist/check.d.ts.map +1 -0
  5. package/dist/check.js +151 -0
  6. package/dist/check.js.map +1 -0
  7. package/dist/errors/element.d.ts +90 -12
  8. package/dist/errors/element.d.ts.map +1 -1
  9. package/dist/errors/element.js +572 -50
  10. package/dist/errors/element.js.map +1 -1
  11. package/dist/excel/element.d.ts +168 -15
  12. package/dist/excel/element.d.ts.map +1 -1
  13. package/dist/excel/element.js +752 -90
  14. package/dist/excel/element.js.map +1 -1
  15. package/dist/excel/link.d.ts +40 -0
  16. package/dist/excel/link.d.ts.map +1 -0
  17. package/dist/excel/link.js +90 -0
  18. package/dist/excel/link.js.map +1 -0
  19. package/dist/excel/styles.d.ts.map +1 -1
  20. package/dist/excel/styles.js +37 -5
  21. package/dist/excel/styles.js.map +1 -1
  22. package/dist/frameworks/elements.d.ts +57 -17
  23. package/dist/frameworks/jsx.d.ts +15 -9
  24. package/dist/frameworks/solid.d.ts +51 -11
  25. package/dist/frameworks/svelte.d.ts +28 -16
  26. package/dist/frameworks/vue.d.ts +15 -9
  27. package/dist/index.d.ts +9 -4
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/index.js +8 -2
  30. package/dist/index.js.map +1 -1
  31. package/dist/llms-full.txt +3027 -239
  32. package/dist/llms.txt +92 -86
  33. package/dist/pane/protection.d.ts +61 -0
  34. package/dist/pane/protection.d.ts.map +1 -0
  35. package/dist/pane/protection.js +89 -0
  36. package/dist/pane/protection.js.map +1 -0
  37. package/dist/pane/rules.d.ts +1 -1
  38. package/dist/pane/rules.d.ts.map +1 -1
  39. package/dist/pane/store.d.ts +336 -15
  40. package/dist/pane/store.d.ts.map +1 -1
  41. package/dist/pane/store.js +891 -44
  42. package/dist/pane/store.js.map +1 -1
  43. package/dist/pane/structure.d.ts +58 -0
  44. package/dist/pane/structure.d.ts.map +1 -0
  45. package/dist/pane/structure.js +238 -0
  46. package/dist/pane/structure.js.map +1 -0
  47. package/dist/pane/types.d.ts +195 -6
  48. package/dist/pane/types.d.ts.map +1 -1
  49. package/dist/pane/types.js +57 -0
  50. package/dist/pane/types.js.map +1 -1
  51. package/dist/plugins/types.d.ts +34 -6
  52. package/dist/plugins/types.d.ts.map +1 -1
  53. package/dist/plugins/types.js.map +1 -1
  54. package/dist/shared/detail.d.ts +24 -0
  55. package/dist/shared/detail.d.ts.map +1 -0
  56. package/dist/shared/detail.js +75 -0
  57. package/dist/shared/detail.js.map +1 -0
  58. package/dist/shared/dom.d.ts +3 -0
  59. package/dist/shared/dom.d.ts.map +1 -1
  60. package/dist/shared/dom.js +3 -0
  61. package/dist/shared/dom.js.map +1 -1
  62. package/dist/static.d.ts +81 -0
  63. package/dist/static.d.ts.map +1 -0
  64. package/dist/static.js +352 -0
  65. package/dist/static.js.map +1 -0
  66. package/dist/style.css +3 -3
  67. package/dist/tokens.d.ts +1 -0
  68. package/dist/tokens.d.ts.map +1 -1
  69. package/dist/tokens.js +2 -2
  70. package/dist/tokens.js.map +1 -1
  71. package/dist/vscode.css-custom-data.json +11 -1
  72. package/dist/vscode.html-custom-data.json +89 -2
  73. package/dist/web-types.json +204 -21
  74. package/package.json +12 -4
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "$schema": "https://raw.githubusercontent.com/JetBrains/web-types/master/schema/web-types.json",
3
3
  "name": "@sheetpane/grid",
4
- "version": "0.3.0",
4
+ "version": "0.4.0",
5
5
  "description-markup": "markdown",
6
6
  "js-types-syntax": "typescript",
7
7
  "contributions": {
@@ -156,6 +156,76 @@
156
156
  "name": "off"
157
157
  }
158
158
  ]
159
+ },
160
+ {
161
+ "name": "ref",
162
+ "description": "The cell or range selected once a file is read, scrolled into view: `B4`, `Data!B4`, `'Q3 data'!B4:D8`; setting it later selects it then. One that names no cell is warned (SP-3019) and the sheet opens at A1. React, Vue and Solid keep `ref` for their own refs — set it with `setAttribute`.",
163
+ "value": {
164
+ "type": "string",
165
+ "kind": "plain"
166
+ }
167
+ },
168
+ {
169
+ "name": "link",
170
+ "description": "`none` (the default) or `hash`: the selection is kept in the URL fragment as `#sheetpane=<pane>:<Sheet>!<ref>`, read when a file is read and on back and forward, and *Copy link* joins the cell menu. The rest of the fragment is the host's and is kept as it was.",
171
+ "default": "none",
172
+ "value": {
173
+ "type": "'none' | 'hash'",
174
+ "kind": "plain"
175
+ },
176
+ "values": [
177
+ {
178
+ "name": "none"
179
+ },
180
+ {
181
+ "name": "hash"
182
+ }
183
+ ]
184
+ },
185
+ {
186
+ "name": "results",
187
+ "description": "`summary` (the default), `marks` or `off`: how `pass` and `skipped` results show, pane-wide (W-50).",
188
+ "default": "summary",
189
+ "value": {
190
+ "type": "'summary' | 'marks' | 'off'",
191
+ "kind": "plain"
192
+ },
193
+ "values": [
194
+ {
195
+ "name": "summary"
196
+ },
197
+ {
198
+ "name": "marks"
199
+ },
200
+ {
201
+ "name": "off"
202
+ }
203
+ ]
204
+ },
205
+ {
206
+ "name": "layers",
207
+ "description": "Space-separated review layers to show (W-51); none shows every layer. Shared by the pane's elements.",
208
+ "value": {
209
+ "type": "string",
210
+ "kind": "plain"
211
+ }
212
+ },
213
+ {
214
+ "name": "protection",
215
+ "description": "`honour` (the default) or `ignore`: whether a protected sheet's locked cells refuse edits and a protected structure keeps its sheets, pane-wide (W-62). `ignore` is the host's decision; the file is unchanged.",
216
+ "default": "honour",
217
+ "value": {
218
+ "type": "'honour' | 'ignore'",
219
+ "kind": "plain"
220
+ },
221
+ "values": [
222
+ {
223
+ "name": "honour"
224
+ },
225
+ {
226
+ "name": "ignore"
227
+ }
228
+ ]
159
229
  }
160
230
  ],
161
231
  "slots": [
@@ -181,11 +251,21 @@
181
251
  "type": "readonly ErrorType[]",
182
252
  "description": "The types offered in the Flag issue form; an empty list falls back to `DEFAULT_ERROR_TYPES`."
183
253
  },
254
+ {
255
+ "name": "renderDetail",
256
+ "type": "RenderDetail | undefined",
257
+ "description": "The host's extra detail for an error (W-68): called with a copy of the error when its card opens in the sheet, and\ndrawn after the message in a `part=\"detail\"` region. A string is text, never HTML; a Node is the host's own. Called\nagain only when the error changes (its `meta` included) or this is replaced; a throw is logged as SP-3017. Set it on\neach element that should show it — `<sheetpane-errors>` has its own."
258
+ },
184
259
  {
185
260
  "name": "file",
186
261
  "type": "File | Blob | ArrayBuffer | Uint8Array | null",
187
262
  "description": "Loads a file, like `load()`; `null` does nothing."
188
263
  },
264
+ {
265
+ "name": "layers",
266
+ "type": "string[]",
267
+ "description": "The review layers shown (W-51) — the pane's, shared with `<sheetpane-errors>`: every layer until the `layers`\nattribute or the switch names some. Setting it sets the attribute; `null` or `[]` shows every layer."
268
+ },
189
269
  {
190
270
  "name": "mode",
191
271
  "type": "Mode",
@@ -206,6 +286,16 @@
206
286
  "type": "'on' | 'off'",
207
287
  "description": "`flagging=\"off\"`: no Flag issue anywhere, no composer, no callout card — the errors panel is the one place errors are read."
208
288
  },
289
+ {
290
+ "name": "results",
291
+ "type": "ResultsLevel",
292
+ "description": "The pane's results level (W-50): `summary` (the default), `marks` or `off`; setting it sets the `results` attribute."
293
+ },
294
+ {
295
+ "name": "protection",
296
+ "type": "ProtectionMode",
297
+ "description": "The pane's protection mode (W-62): `honour` (the default) keeps the file's protection; `ignore` is the host's decision. Setting it sets the `protection` attribute."
298
+ },
209
299
  {
210
300
  "name": "columns",
211
301
  "type": "ColumnRules | undefined",
@@ -235,23 +325,38 @@
235
325
  "name": "src",
236
326
  "type": "string | null",
237
327
  "description": "The `src` attribute; `null`, `undefined` or `''` removes it."
328
+ },
329
+ {
330
+ "name": "ref",
331
+ "type": "string | null",
332
+ "description": "The `ref` attribute: the cell or range selected once a file is read (W-66); `null`, `undefined` or `''` removes it."
333
+ },
334
+ {
335
+ "name": "link",
336
+ "type": "'none' | 'hash'",
337
+ "description": "`none` (the default) or `hash`: the selection kept in the URL fragment, and *Copy link* in the cell menu (W-66)."
238
338
  }
239
339
  ],
240
340
  "events": [
241
341
  {
242
342
  "name": "sheetpane-load",
243
- "type": "CustomEvent<{ status: 'ready'; name: string; kind: 'xlsx' | 'csv'; sheets: string[]; readMs: number } | { status: 'error'; code: string; spCode: SpCode; message: string; name: string; detail?: string }>",
244
- "description": "`{ status: 'ready', name, kind, sheets, readMs }` when a file is read, or the refusal `{ status: 'error', code, spCode, message, name, detail? }`."
343
+ "type": "CustomEvent<{ status: 'ready'; name: string; kind: 'xlsx' | 'csv'; sheets: string[]; readMs: number; sha256: string | undefined } | { status: 'error'; code: string; spCode: SpCode; message: string; name: string; detail?: string }>",
344
+ "description": "`{ status: 'ready', name, kind, sheets, readMs, sha256 }` when a file is read (`sha256`: the file's SHA-256, W-65), or the refusal `{ status: 'error', code, spCode, message, name, detail? }`."
245
345
  },
246
346
  {
247
347
  "name": "sheetpane-change",
248
- "type": "CustomEvent<{ sheet: string; ref: string; kind: ChangeKind; was: unknown; now: unknown }>",
249
- "description": "`{ sheet, ref, kind, was, now }` for each change, undo and redo included."
348
+ "type": "CustomEvent<{ sheet: string; ref: string; kind: ChangeKind; was: unknown; now: unknown; op?: 'insertRows' | 'deleteRows' | 'insertCols' | 'deleteCols'; at?: number; count?: number }>",
349
+ "description": "`{ sheet, ref, kind, was, now, op?, at?, count? }` for each change, undo and redo included; rows or columns inserted or deleted (W-52) are one event, `kind: 'structure'`, with `op`, `at` (0-based) and `count`."
250
350
  },
251
351
  {
252
352
  "name": "sheetpane-errors",
253
- "type": "CustomEvent<{ errors: SheetpaneError[]; plugins: string[] }>",
254
- "description": "`{ errors, plugins }` when the pane's errors change."
353
+ "type": "CustomEvent<{ v: 2; errors: SheetpaneError[]; plugins: string[]; layers: string[]; changed: string[] }>",
354
+ "description": "`{ v, errors, plugins, layers, changed }` when the pane's errors change — the envelope to save a review (`v: 2`, W-51); `changed` names the layers whose errors changed."
355
+ },
356
+ {
357
+ "name": "sheetpane-layers",
358
+ "type": "CustomEvent<{ visible: string[]; layers: string[] }>",
359
+ "description": "`{ visible, layers }` when the visible review layers change (W-51)."
255
360
  },
256
361
  {
257
362
  "name": "sheetpane-select",
@@ -268,6 +373,11 @@
268
373
  "type": "CustomEvent<{ sheet: string; axis: 'col' | 'row'; indexes: number[]; px: number | number[]; via: 'drag' | 'fit' | 'menu' | 'reset' }>",
269
374
  "description": "`{ sheet, axis, indexes, px, via }` when a column width or row height is set by a drag, a fit, the header menu or a reset — on release, never during a drag (W-47)."
270
375
  },
376
+ {
377
+ "name": "sheetpane-hover",
378
+ "type": "CustomEvent<{ sheet: string; ref: string; column: { index: number; letter: string; header: string } } | null>",
379
+ "description": "`{ sheet, ref, column }` when a mouse or pen pointer moves onto another cell (a merge's top-left), at most once per frame, or `null` when it leaves the cells; never for a finger (W-56)."
380
+ },
271
381
  {
272
382
  "name": "sheetpane-sheet",
273
383
  "type": "CustomEvent<{ sheet: string }>",
@@ -285,8 +395,8 @@
285
395
  },
286
396
  {
287
397
  "name": "sheetpane-editstart",
288
- "type": "CustomEvent<{ sheet: string; ref: string; column: { index: number; letter: string; header: string }; value: unknown }>",
289
- "description": "`{ sheet, ref, column, value }` before a cell edit starts; cancellable — the cell stays read-only."
398
+ "type": "CustomEvent<{ sheet: string; ref: string; column: { index: number; letter: string; header: string }; value: unknown; richText?: true }>",
399
+ "description": "`{ sheet, ref, column, value, richText?: true }` before a cell edit starts (`richText: true` on a rich-text cell, whose edit saves plain text — W-53); cancellable — the cell stays read-only."
290
400
  },
291
401
  {
292
402
  "name": "sheetpane-input",
@@ -300,13 +410,13 @@
300
410
  },
301
411
  {
302
412
  "name": "sheetpane-editcancel",
303
- "type": "CustomEvent<{ sheet: string; ref: string } | { sheet: string; ref: string; reason: 'blocked'; code: 'SP-6003'; message: string }>",
304
- "description": "`{ sheet, ref }` when Esc restores a draft, or `{ sheet, ref, reason: 'blocked', code: 'SP-6003', message }` when a `block` rule refuses it."
413
+ "type": "CustomEvent<{ sheet: string; ref: string } | { sheet: string; ref: string; reason: 'blocked'; code: 'SP-6003'; message: string } | { sheet: string; ref: string; reason: 'locked'; code: 'SP-3026'; message: string }>",
414
+ "description": "`{ sheet, ref }` when Esc restores a draft, `{ sheet, ref, reason: 'blocked', code: 'SP-6003', message }` when a `block` rule refuses it, or `{ sheet, ref, reason: 'locked', code: 'SP-3026', message }` when the cell is locked on a protected sheet (W-62)."
305
415
  },
306
416
  {
307
417
  "name": "sheetpane-export",
308
- "type": "CustomEvent<{ blob: Blob; kind: 'xlsx' | 'csv'; name: string; guarded: string[] | false; format: 'xlsx' | 'csv'; converted: boolean; original?: boolean }>",
309
- "description": "`{ blob, kind, name, guarded, format, converted, original? }` on `export()` and Download; cancellable — the Download control then saves nothing."
418
+ "type": "CustomEvent<{ blob: Blob; kind: 'xlsx' | 'csv'; name: string; guarded: string[] | false; format: 'xlsx' | 'csv'; converted: boolean; sha256: string | undefined; original?: boolean }>",
419
+ "description": "`{ blob, kind, name, guarded, format, converted, sha256, original? }` on `export()` and Download (`sha256`: the blob's SHA-256, W-65); cancellable — the Download control then saves nothing."
310
420
  },
311
421
  {
312
422
  "name": "sheetpane-close",
@@ -340,6 +450,10 @@
340
450
  {
341
451
  "name": "dialog",
342
452
  "description": "The modal `<dialog>` the root moves into when `display=\"popup\"`."
453
+ },
454
+ {
455
+ "name": "detail",
456
+ "description": "The host's region in the error card, after the message: what `renderDetail` returns (W-68)."
343
457
  }
344
458
  ],
345
459
  "properties": [
@@ -401,12 +515,16 @@
401
515
  },
402
516
  {
403
517
  "name": "--sp-pass",
404
- "description": "Resolved, passing. Dark theme: `#86B399`. Default: `#16703E`."
518
+ "description": "Resolved, passing; the ✓ result mark. Dark theme: `#86B399`. Default: `#16703E`."
405
519
  },
406
520
  {
407
521
  "name": "--sp-pass-soft",
408
522
  "description": "Resolved, passing — the tint. Dark theme: `#163225`. Default: `#E6F2EA`."
409
523
  },
524
+ {
525
+ "name": "--sp-skip",
526
+ "description": "Not checked: the — result mark (W-50). Dark theme: `#A1A1A1`. Default: `#63666E`."
527
+ },
410
528
  {
411
529
  "name": "--sp-fail",
412
530
  "description": "Errors. Dark theme: `#D2827B`. Default: `#B42318`."
@@ -505,7 +623,7 @@
505
623
  },
506
624
  {
507
625
  "name": "readonly",
508
- "description": "Hides the form, Resolve, Delete, Undo and Redo (a sign-off screen).",
626
+ "description": "Hides the form, Resolve, Accept…, Delete, Undo and Redo (a sign-off screen).",
509
627
  "value": {
510
628
  "type": "boolean",
511
629
  "kind": "no-value"
@@ -513,7 +631,7 @@
513
631
  },
514
632
  {
515
633
  "name": "author",
516
- "description": "Written into the errors this element's user adds.",
634
+ "description": "Written into the errors this element's user adds, and as who accepted one (W-69).",
517
635
  "value": {
518
636
  "type": "string",
519
637
  "kind": "plain"
@@ -546,6 +664,34 @@
546
664
  "name": "auto"
547
665
  }
548
666
  ]
667
+ },
668
+ {
669
+ "name": "results",
670
+ "description": "`summary` (the default), `marks` or `off`: how `pass` and `skipped` results show, pane-wide (W-50).",
671
+ "default": "summary",
672
+ "value": {
673
+ "type": "'summary' | 'marks' | 'off'",
674
+ "kind": "plain"
675
+ },
676
+ "values": [
677
+ {
678
+ "name": "summary"
679
+ },
680
+ {
681
+ "name": "marks"
682
+ },
683
+ {
684
+ "name": "off"
685
+ }
686
+ ]
687
+ },
688
+ {
689
+ "name": "layers",
690
+ "description": "Space-separated review layers to show (W-51); none shows every layer. Shared by the pane's elements; with two or more layers the header shows a switch.",
691
+ "value": {
692
+ "type": "string",
693
+ "kind": "plain"
694
+ }
549
695
  }
550
696
  ],
551
697
  "slots": [],
@@ -575,13 +721,38 @@
575
721
  "name": "theme",
576
722
  "type": "Theme",
577
723
  "description": "`light` (the default), `dark` or `auto` — the same tokens as the sheet (W-29)."
724
+ },
725
+ {
726
+ "name": "renderDetail",
727
+ "type": "RenderDetail | undefined",
728
+ "description": "The host's extra detail for an error (W-68): called with a copy of the error when its row is opened, and drawn after\nthe message in a `part=\"detail\"` region. A string is text, never HTML; a Node is the host's own. Called again only when\nthe error changes (its `meta` included) or this is replaced; a throw is logged as SP-3017. Set it on each element\nthat should show it — the sheet's error card has its own."
729
+ },
730
+ {
731
+ "name": "results",
732
+ "type": "ResultsLevel",
733
+ "description": "The pane's results level (W-50): `summary` (the default), `marks` or `off`; setting it sets the `results` attribute."
734
+ },
735
+ {
736
+ "name": "layers",
737
+ "type": "string[]",
738
+ "description": "The review layers shown (W-51) — the pane's, shared with `<sheetpane-excel>`: every layer until the `layers`\nattribute or the switch names some. Setting it sets the attribute; `null` or `[]` shows every layer."
739
+ },
740
+ {
741
+ "name": "layerNames",
742
+ "type": "Readonly<Record<string, string>>",
743
+ "description": "What the switch and the rows call each layer (W-51), e.g. `{ pdf: 'PDF check' }`; a layer not named here shows its name (`review` as *Review*)."
578
744
  }
579
745
  ],
580
746
  "events": [
581
747
  {
582
748
  "name": "sheetpane-errors",
583
- "type": "CustomEvent<{ errors: SheetpaneError[]; plugins: string[] }>",
584
- "description": "`{ errors, plugins }` when the pane's errors change — the envelope to save a review."
749
+ "type": "CustomEvent<{ v: 2; errors: SheetpaneError[]; plugins: string[]; layers: string[]; changed: string[] }>",
750
+ "description": "`{ v, errors, plugins, layers, changed }` when the pane's errors change — the envelope to save a review (`v: 2`, W-51); `changed` names the layers whose errors changed."
751
+ },
752
+ {
753
+ "name": "sheetpane-layers",
754
+ "type": "CustomEvent<{ visible: string[]; layers: string[] }>",
755
+ "description": "`{ visible, layers }` when the visible review layers change — the switch or the `layers` attribute (W-51)."
585
756
  },
586
757
  {
587
758
  "name": "sheetpane-change",
@@ -601,7 +772,7 @@
601
772
  {
602
773
  "name": "sheetpane-reveal",
603
774
  "type": "CustomEvent<{ error: SheetpaneError }>",
604
- "description": "`{ error }` on Show in sheet, so the host can switch tab or open the pop-up."
775
+ "description": "`{ error }` on Show in sheet, so the host can switch tab or open the pop-up — for a whole-sheet error too (its tab is opened); never for a workbook-level one (W-55); for a result group's Show ▸, its first entry (W-50)."
605
776
  }
606
777
  ]
607
778
  },
@@ -610,6 +781,10 @@
610
781
  {
611
782
  "name": "root",
612
783
  "description": "The panel's frame: the header, the form, the filters and the list."
784
+ },
785
+ {
786
+ "name": "detail",
787
+ "description": "The host's region in an open row, after the message: what `renderDetail` returns (W-68)."
613
788
  }
614
789
  ],
615
790
  "properties": [
@@ -671,12 +846,16 @@
671
846
  },
672
847
  {
673
848
  "name": "--sp-pass",
674
- "description": "Resolved, passing. Dark theme: `#86B399`. Default: `#16703E`."
849
+ "description": "Resolved, passing; the ✓ result mark. Dark theme: `#86B399`. Default: `#16703E`."
675
850
  },
676
851
  {
677
852
  "name": "--sp-pass-soft",
678
853
  "description": "Resolved, passing — the tint. Dark theme: `#163225`. Default: `#E6F2EA`."
679
854
  },
855
+ {
856
+ "name": "--sp-skip",
857
+ "description": "Not checked: the — result mark (W-50). Dark theme: `#A1A1A1`. Default: `#63666E`."
858
+ },
680
859
  {
681
860
  "name": "--sp-fail",
682
861
  "description": "Errors. Dark theme: `#D2827B`. Default: `#B42318`."
@@ -822,12 +1001,16 @@
822
1001
  },
823
1002
  {
824
1003
  "name": "--sp-pass",
825
- "description": "Resolved, passing. Dark theme: `#86B399`. Default: `#16703E`."
1004
+ "description": "Resolved, passing; the ✓ result mark. Dark theme: `#86B399`. Default: `#16703E`."
826
1005
  },
827
1006
  {
828
1007
  "name": "--sp-pass-soft",
829
1008
  "description": "Resolved, passing — the tint. Dark theme: `#163225`. Default: `#E6F2EA`."
830
1009
  },
1010
+ {
1011
+ "name": "--sp-skip",
1012
+ "description": "Not checked: the — result mark (W-50). Dark theme: `#A1A1A1`. Default: `#63666E`."
1013
+ },
831
1014
  {
832
1015
  "name": "--sp-fail",
833
1016
  "description": "Errors. Dark theme: `#D2827B`. Default: `#B42318`."
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sheetpane/grid",
3
- "version": "0.3.0",
3
+ "version": "0.4.0",
4
4
  "description": "View and edit .xlsx and .csv files inside any web page: the <sheetpane-excel> and <sheetpane-errors> web components, always in sync through one in-memory workbook.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -22,6 +22,14 @@
22
22
  "types": "./dist/index.d.ts",
23
23
  "import": "./dist/index.js"
24
24
  },
25
+ "./check": {
26
+ "types": "./dist/check.d.ts",
27
+ "import": "./dist/check.js"
28
+ },
29
+ "./static": {
30
+ "types": "./dist/static.d.ts",
31
+ "import": "./dist/static.js"
32
+ },
25
33
  "./style.css": "./dist/style.css",
26
34
  "./rules.schema.json": "./dist/rules.schema.json",
27
35
  "./llms.txt": "./dist/llms.txt",
@@ -53,9 +61,9 @@
53
61
  "customElements": "custom-elements.json",
54
62
  "web-types": "./dist/web-types.json",
55
63
  "dependencies": {
56
- "@sheetpane/export": "0.3.0",
57
- "@sheetpane/skills": "0.3.0",
58
- "@sheetpane/import": "0.3.0"
64
+ "@sheetpane/export": "0.4.0",
65
+ "@sheetpane/import": "0.4.0",
66
+ "@sheetpane/skills": "0.4.0"
59
67
  },
60
68
  "publishConfig": {
61
69
  "access": "public"