@sheetpane/grid 0.4.2 → 0.5.1
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/dist/excel/element.d.ts +44 -0
- package/dist/excel/element.d.ts.map +1 -1
- package/dist/excel/element.js +551 -41
- package/dist/excel/element.js.map +1 -1
- package/dist/excel/fill.d.ts +38 -0
- package/dist/excel/fill.d.ts.map +1 -0
- package/dist/excel/fill.js +78 -0
- package/dist/excel/fill.js.map +1 -0
- package/dist/excel/float.d.ts +23 -0
- package/dist/excel/float.d.ts.map +1 -0
- package/dist/excel/float.js +82 -0
- package/dist/excel/float.js.map +1 -0
- package/dist/excel/geometry.d.ts +7 -1
- package/dist/excel/geometry.d.ts.map +1 -1
- package/dist/excel/geometry.js +4 -3
- package/dist/excel/geometry.js.map +1 -1
- package/dist/excel/styles.d.ts.map +1 -1
- package/dist/excel/styles.js +16 -0
- package/dist/excel/styles.js.map +1 -1
- package/dist/llms-full.txt +183 -74
- package/dist/llms.txt +92 -92
- package/dist/web-types.json +1 -1
- package/package.json +4 -4
package/dist/llms-full.txt
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
# sheetpane — the full public contract
|
|
2
2
|
|
|
3
|
-
> Everything llms.txt links to, inlined: the package READMEs, the docs, the laws and the component records. Version 0.
|
|
3
|
+
> Everything llms.txt links to, inlined: the package READMEs, the docs, the laws and the component records. Version 0.5.1; links pinned to v0.5.1.
|
|
4
4
|
|
|
5
5
|
|
|
6
6
|
---
|
|
7
7
|
|
|
8
|
-
<!-- source: README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
8
|
+
<!-- source: README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/README.md) -->
|
|
9
9
|
|
|
10
10
|
<div align="center">
|
|
11
11
|
|
|
@@ -40,6 +40,15 @@
|
|
|
40
40
|
|
|
41
41
|
---
|
|
42
42
|
|
|
43
|
+
## In plain words
|
|
44
|
+
|
|
45
|
+
- Your users have spreadsheets. You want them to open one **inside your app**, fix it, and get it back.
|
|
46
|
+
- sheetpane is a spreadsheet you drop into a web page. It opens `.xlsx` and `.csv`, lets people edit, and **points at the cells that are wrong**, with what the right value should be.
|
|
47
|
+
- It all happens in the browser tab: **the file is never uploaded anywhere.**
|
|
48
|
+
- When they press Download, they get **their own file back**, with only the cells they changed updated.
|
|
49
|
+
|
|
50
|
+
---
|
|
51
|
+
|
|
43
52
|
## Three lines of HTML
|
|
44
53
|
|
|
45
54
|
```html
|
|
@@ -94,9 +103,7 @@ The rules behind it are [this JSON file](docs/readme/holdings.rules.json), with
|
|
|
94
103
|
|
|
95
104
|
## Get started
|
|
96
105
|
|
|
97
|
-
|
|
98
|
-
> **`0.1.0` is about to ship.** Until it is on npm, the install commands and the
|
|
99
|
-
> playground links will not work yet.
|
|
106
|
+
**`0.5.0` is on npm**, with all 20 packages on one version, published from CI with signed provenance.
|
|
100
107
|
|
|
101
108
|
```sh
|
|
102
109
|
npm install @sheetpane/grid
|
|
@@ -174,6 +181,23 @@ Anything else is refused with a clear message — never half-read.
|
|
|
174
181
|
|
|
175
182
|
---
|
|
176
183
|
|
|
184
|
+
## Is sheetpane for you?
|
|
185
|
+
|
|
186
|
+
**Choose sheetpane when:**
|
|
187
|
+
|
|
188
|
+
- your users bring **their own `.xlsx` or `.csv`** and must review or correct it inside your app (uploads, imports, reconciliations, data checks);
|
|
189
|
+
- the file **must not leave the browser**, for compliance, privacy or simply trust;
|
|
190
|
+
- you need the download to be **their file**, not a re-generated copy that loses their formatting;
|
|
191
|
+
- you want one component that works in **any framework**, typed, and testable.
|
|
192
|
+
|
|
193
|
+
**Look elsewhere when:**
|
|
194
|
+
|
|
195
|
+
- you need a **full spreadsheet app**: real-time collaboration, server storage, pivot recalculation, macros;
|
|
196
|
+
- your files are **`.xls`, `.xlsm`, `.ods` or `.numbers`**. They are refused by design;
|
|
197
|
+
- you need a **data grid for your own records** (sorting and paging an API's rows). sheetpane is built around a workbook file.
|
|
198
|
+
|
|
199
|
+
---
|
|
200
|
+
|
|
177
201
|
## How far it is proven
|
|
178
202
|
|
|
179
203
|
**Every feature has tests**, in Node and a real browser: Chromium on every
|
|
@@ -198,11 +222,53 @@ Until 1.0 the API may change between minor versions — the
|
|
|
198
222
|
|
|
199
223
|
</details>
|
|
200
224
|
|
|
201
|
-
**Found a file that opens wrongly?** [Open
|
|
225
|
+
**Found a file that opens wrongly?** [Open a file issue](https://github.com/arpitarya/sheetpane/issues/new?template=file_issue.yml)
|
|
202
226
|
with the file (or a minimal copy) attached — it is the most useful thing you can send.
|
|
203
227
|
|
|
204
228
|
---
|
|
205
229
|
|
|
230
|
+
## Roadmap
|
|
231
|
+
|
|
232
|
+
From the live queue ([`OPEN-WORK`](work/OPEN-WORK.md)) and the [backlog](work/BACKLOG.md). Nothing here is promised by a date.
|
|
233
|
+
|
|
234
|
+
| | what | state |
|
|
235
|
+
|---|---|---|
|
|
236
|
+
| 🔜 | **Files saved by Excel, Google Sheets, LibreOffice and Numbers** in the import tests (W-30) | needs those files saved by hand |
|
|
237
|
+
| 🔜 | **Firefox and WebKit green every night**, not just Chromium (W-70) | in progress |
|
|
238
|
+
| 🔜 | **The agent skills tried in Claude Code, Kiro and Codex** on a real prompt (W-48) | needs a hands-on run |
|
|
239
|
+
| 🔜 | Every sheet-protection switch honoured in Edit: format, sort, filter (B-038) | named |
|
|
240
|
+
| 🔜 | Excel 2010 `x14:` validation and conditional-format rules read and written (B-041) | named |
|
|
241
|
+
| 💭 | **Live pivot tables**, recalculated in the grid ([proposal](work/proposals/pivots.md)) | waiting for a host to ask |
|
|
242
|
+
| 💭 | **Dismiss** a workbook's own validation warning for one review ([proposal](work/proposals/dismiss-workbook-errors.md)) | proposed |
|
|
243
|
+
| 💭 | Keep the workbook in IndexedDB as well as memory (B-025) | deferred |
|
|
244
|
+
|
|
245
|
+
---
|
|
246
|
+
|
|
247
|
+
## FAQ
|
|
248
|
+
|
|
249
|
+
**Is my file uploaded anywhere?**
|
|
250
|
+
No. sheetpane reads, edits and checks it in the tab. Its only network requests are the GETs for the `src` and `rules-src` you set ([law L11](records/0013_LAW-11-workbook-stays-in-the-browser.md)).
|
|
251
|
+
|
|
252
|
+
**Do formulas work?**
|
|
253
|
+
With the [`formulas`](packages/formulas/README.md) plugin, yes: it recalculates as you edit, using IronCalc in WebAssembly, loaded only when you use it. Without it, a formula cell shows the value saved in the file.
|
|
254
|
+
|
|
255
|
+
**How do I save the edited file?**
|
|
256
|
+
Press Download, or call `export()` on `<sheetpane-excel>` for a `Blob` with every change. sheetpane keeps every change in memory; storing the file is your app's job ([law L6](records/0008_LAW-6-edits-in-memory-export-with-changes.md)).
|
|
257
|
+
|
|
258
|
+
**Can I use the reader and writer without the UI?**
|
|
259
|
+
Yes. [`@sheetpane/import`](packages/import/README.md) reads `.xlsx` / `.csv` into a plain JavaScript object, in a page or in Node. [`@sheetpane/export`](packages/export/README.md) turns one back into a file.
|
|
260
|
+
|
|
261
|
+
**Which frameworks?**
|
|
262
|
+
Any. The elements are standard web components; React, Vue, Svelte, Solid and Angular each need one line of setup ([guide](packages/grid/README.md#vue-svelte-solid-angular)).
|
|
263
|
+
|
|
264
|
+
**Will the API change?**
|
|
265
|
+
Until 1.0 it can change between minor versions. The [CHANGELOG](CHANGELOG.md) says what changed and what to do, under *Before you upgrade*.
|
|
266
|
+
|
|
267
|
+
**Where do the error rules come from?**
|
|
268
|
+
Three places: a JSON rules file, column rules you set in code, and the workbook's own data validation (with the [`validation`](packages/validation/README.md) plugin). Every error code is listed in [`docs/ERRORS.md`](docs/ERRORS.md).
|
|
269
|
+
|
|
270
|
+
---
|
|
271
|
+
|
|
206
272
|
## Packages
|
|
207
273
|
|
|
208
274
|
**One version for all**, ESM with types.
|
|
@@ -226,8 +292,9 @@ open source ([law L2](records/0004_LAW-2-foss-dependencies.md)).
|
|
|
226
292
|
|
|
227
293
|
## Contributing
|
|
228
294
|
|
|
229
|
-
**Welcome — especially failing files and bug reports.**
|
|
230
|
-
|
|
295
|
+
**Welcome — especially failing files and bug reports.** Read [CONTRIBUTING.md](CONTRIBUTING.md); report security issues privately ([SECURITY.md](SECURITY.md)); everyone follows the [Code of Conduct](CODE_OF_CONDUCT.md).
|
|
296
|
+
|
|
297
|
+
You need **Node 22+**, **pnpm 10** and [**just**](https://just.systems).
|
|
231
298
|
|
|
232
299
|
```sh
|
|
233
300
|
just install # pnpm install --frozen-lockfile
|
|
@@ -262,14 +329,14 @@ the evidence**. Start at [`CLAUDE.md`](CLAUDE.md) if you are one.
|
|
|
262
329
|
|
|
263
330
|
<div align="center">
|
|
264
331
|
|
|
265
|
-
[MIT](LICENSE) © Arpit Arya
|
|
332
|
+
[MIT licence](LICENSE) © Arpit Arya — free for commercial and private use
|
|
266
333
|
|
|
267
334
|
</div>
|
|
268
335
|
|
|
269
336
|
|
|
270
337
|
---
|
|
271
338
|
|
|
272
|
-
<!-- source: packages/grid/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
339
|
+
<!-- source: packages/grid/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/grid/README.md) -->
|
|
273
340
|
|
|
274
341
|
# @sheetpane/grid
|
|
275
342
|
|
|
@@ -986,7 +1053,7 @@ The specs are the records [SR-GRID](../../records/0105_GRID.md) and
|
|
|
986
1053
|
|
|
987
1054
|
---
|
|
988
1055
|
|
|
989
|
-
<!-- source: packages/export/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
1056
|
+
<!-- source: packages/export/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/export/README.md) -->
|
|
990
1057
|
|
|
991
1058
|
# @sheetpane/export
|
|
992
1059
|
|
|
@@ -1202,7 +1269,7 @@ The spec is the record [SR-EXPORT](../../records/0103_EXPORT.md).
|
|
|
1202
1269
|
|
|
1203
1270
|
---
|
|
1204
1271
|
|
|
1205
|
-
<!-- source: packages/import/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
1272
|
+
<!-- source: packages/import/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/import/README.md) -->
|
|
1206
1273
|
|
|
1207
1274
|
# @sheetpane/import
|
|
1208
1275
|
|
|
@@ -1269,7 +1336,7 @@ The spec is the record [SR-IMPORT](../../records/0104_IMPORT.md).
|
|
|
1269
1336
|
|
|
1270
1337
|
---
|
|
1271
1338
|
|
|
1272
|
-
<!-- source: packages/numfmt/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
1339
|
+
<!-- source: packages/numfmt/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/numfmt/README.md) -->
|
|
1273
1340
|
|
|
1274
1341
|
# @sheetpane/numfmt
|
|
1275
1342
|
|
|
@@ -1380,7 +1447,7 @@ How plugins plug in: [`work/compare/plugins.compare.md`](../../work/compare/plug
|
|
|
1380
1447
|
|
|
1381
1448
|
---
|
|
1382
1449
|
|
|
1383
|
-
<!-- source: packages/formulas/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
1450
|
+
<!-- source: packages/formulas/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/formulas/README.md) -->
|
|
1384
1451
|
|
|
1385
1452
|
# @sheetpane/formulas
|
|
1386
1453
|
|
|
@@ -1493,7 +1560,7 @@ How plugins plug in: [`work/compare/plugins.compare.md`](../../work/compare/plug
|
|
|
1493
1560
|
|
|
1494
1561
|
---
|
|
1495
1562
|
|
|
1496
|
-
<!-- source: packages/styles/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
1563
|
+
<!-- source: packages/styles/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/styles/README.md) -->
|
|
1497
1564
|
|
|
1498
1565
|
# @sheetpane/styles
|
|
1499
1566
|
|
|
@@ -1599,7 +1666,7 @@ How plugins plug in: [`work/compare/plugins.compare.md`](../../work/compare/plug
|
|
|
1599
1666
|
|
|
1600
1667
|
---
|
|
1601
1668
|
|
|
1602
|
-
<!-- source: packages/validation/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
1669
|
+
<!-- source: packages/validation/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/validation/README.md) -->
|
|
1603
1670
|
|
|
1604
1671
|
# @sheetpane/validation
|
|
1605
1672
|
|
|
@@ -1830,7 +1897,7 @@ the rule rows when you need them.
|
|
|
1830
1897
|
|
|
1831
1898
|
---
|
|
1832
1899
|
|
|
1833
|
-
<!-- source: packages/condfmt/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
1900
|
+
<!-- source: packages/condfmt/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/condfmt/README.md) -->
|
|
1834
1901
|
|
|
1835
1902
|
# @sheetpane/condfmt
|
|
1836
1903
|
|
|
@@ -1948,7 +2015,7 @@ How plugins plug in: [`work/compare/plugins.compare.md`](../../work/compare/plug
|
|
|
1948
2015
|
|
|
1949
2016
|
---
|
|
1950
2017
|
|
|
1951
|
-
<!-- source: packages/images/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
2018
|
+
<!-- source: packages/images/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/images/README.md) -->
|
|
1952
2019
|
|
|
1953
2020
|
# @sheetpane/images
|
|
1954
2021
|
|
|
@@ -2034,7 +2101,7 @@ LibreOffice are owed by W-30.
|
|
|
2034
2101
|
|
|
2035
2102
|
---
|
|
2036
2103
|
|
|
2037
|
-
<!-- source: packages/charts/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
2104
|
+
<!-- source: packages/charts/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/charts/README.md) -->
|
|
2038
2105
|
|
|
2039
2106
|
# @sheetpane/charts
|
|
2040
2107
|
|
|
@@ -2168,7 +2235,7 @@ How plugins plug in: [`work/compare/plugins.compare.md`](../../work/compare/plug
|
|
|
2168
2235
|
|
|
2169
2236
|
---
|
|
2170
2237
|
|
|
2171
|
-
<!-- source: packages/comments/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
2238
|
+
<!-- source: packages/comments/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/comments/README.md) -->
|
|
2172
2239
|
|
|
2173
2240
|
# @sheetpane/comments
|
|
2174
2241
|
|
|
@@ -2308,7 +2375,7 @@ Spec: [`work/open/W-22-comments.md`](../../work/open/W-22-comments.md).
|
|
|
2308
2375
|
|
|
2309
2376
|
---
|
|
2310
2377
|
|
|
2311
|
-
<!-- source: packages/visibility/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
2378
|
+
<!-- source: packages/visibility/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/visibility/README.md) -->
|
|
2312
2379
|
|
|
2313
2380
|
# @sheetpane/visibility
|
|
2314
2381
|
|
|
@@ -2348,7 +2415,7 @@ Spec: [SR-VISIBILITY](../../records/0121_VISIBILITY.md). MIT.
|
|
|
2348
2415
|
|
|
2349
2416
|
---
|
|
2350
2417
|
|
|
2351
|
-
<!-- source: packages/tables/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
2418
|
+
<!-- source: packages/tables/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/tables/README.md) -->
|
|
2352
2419
|
|
|
2353
2420
|
# @sheetpane/tables
|
|
2354
2421
|
|
|
@@ -2395,7 +2462,7 @@ Spec: [SR-TABLES](../../records/0122_TABLES.md). MIT.
|
|
|
2395
2462
|
|
|
2396
2463
|
---
|
|
2397
2464
|
|
|
2398
|
-
<!-- source: packages/compare/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
2465
|
+
<!-- source: packages/compare/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/compare/README.md) -->
|
|
2399
2466
|
|
|
2400
2467
|
# @sheetpane/compare
|
|
2401
2468
|
|
|
@@ -2467,7 +2534,7 @@ Spec: [SR-COMPARE](../../records/0124_COMPARE.md). MIT.
|
|
|
2467
2534
|
|
|
2468
2535
|
---
|
|
2469
2536
|
|
|
2470
|
-
<!-- source: packages/review/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
2537
|
+
<!-- source: packages/review/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/review/README.md) -->
|
|
2471
2538
|
|
|
2472
2539
|
# @sheetpane/review
|
|
2473
2540
|
|
|
@@ -2599,7 +2666,7 @@ Spec: [SR-REVIEW](../../records/0123_REVIEW.md). MIT.
|
|
|
2599
2666
|
|
|
2600
2667
|
---
|
|
2601
2668
|
|
|
2602
|
-
<!-- source: packages/fixtures/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
2669
|
+
<!-- source: packages/fixtures/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/fixtures/README.md) -->
|
|
2603
2670
|
|
|
2604
2671
|
# @sheetpane/fixtures
|
|
2605
2672
|
|
|
@@ -2639,7 +2706,7 @@ The spec is the record [SR-FIXTURES](../../records/0115_FIXTURES.md).
|
|
|
2639
2706
|
|
|
2640
2707
|
---
|
|
2641
2708
|
|
|
2642
|
-
<!-- source: packages/testing/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
2709
|
+
<!-- source: packages/testing/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/testing/README.md) -->
|
|
2643
2710
|
|
|
2644
2711
|
# @sheetpane/testing
|
|
2645
2712
|
|
|
@@ -2689,7 +2756,7 @@ The spec is the record [SR-TESTING](../../records/0118_TESTING.md).
|
|
|
2689
2756
|
|
|
2690
2757
|
---
|
|
2691
2758
|
|
|
2692
|
-
<!-- source: packages/skills/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
2759
|
+
<!-- source: packages/skills/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/skills/README.md) -->
|
|
2693
2760
|
|
|
2694
2761
|
# @sheetpane/skills
|
|
2695
2762
|
|
|
@@ -2760,7 +2827,7 @@ the elements do not have. The spec is the record
|
|
|
2760
2827
|
|
|
2761
2828
|
---
|
|
2762
2829
|
|
|
2763
|
-
<!-- source: packages/mcp/README.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
2830
|
+
<!-- source: packages/mcp/README.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/packages/mcp/README.md) -->
|
|
2764
2831
|
|
|
2765
2832
|
# @sheetpane/mcp
|
|
2766
2833
|
|
|
@@ -2801,7 +2868,7 @@ Spec: [SR-MCP](../../records/0119_MCP.md). MIT.
|
|
|
2801
2868
|
|
|
2802
2869
|
---
|
|
2803
2870
|
|
|
2804
|
-
<!-- source: docs/ARCHITECTURE.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
2871
|
+
<!-- source: docs/ARCHITECTURE.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/docs/ARCHITECTURE.md) -->
|
|
2805
2872
|
|
|
2806
2873
|
# sheetpane — architecture
|
|
2807
2874
|
|
|
@@ -3040,7 +3107,7 @@ How it is all tested — Vitest, real browsers, fixtures, goldens — is the
|
|
|
3040
3107
|
|
|
3041
3108
|
---
|
|
3042
3109
|
|
|
3043
|
-
<!-- source: docs/GLOSSARY.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
3110
|
+
<!-- source: docs/GLOSSARY.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/docs/GLOSSARY.md) -->
|
|
3044
3111
|
|
|
3045
3112
|
# Glossary
|
|
3046
3113
|
|
|
@@ -3081,7 +3148,7 @@ How it is all tested — Vitest, real browsers, fixtures, goldens — is the
|
|
|
3081
3148
|
|
|
3082
3149
|
---
|
|
3083
3150
|
|
|
3084
|
-
<!-- source: docs/ERRORS.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
3151
|
+
<!-- source: docs/ERRORS.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/docs/ERRORS.md) -->
|
|
3085
3152
|
|
|
3086
3153
|
# Error codes
|
|
3087
3154
|
|
|
@@ -4162,7 +4229,7 @@ throws: each problem is one `note` error, `author: 'host'`, with its `code`.
|
|
|
4162
4229
|
|
|
4163
4230
|
---
|
|
4164
4231
|
|
|
4165
|
-
<!-- source: records/0001_LAWS.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
4232
|
+
<!-- source: records/0001_LAWS.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0001_LAWS.md) -->
|
|
4166
4233
|
|
|
4167
4234
|
# SR-LAWS — the laws have exactly one home each
|
|
4168
4235
|
|
|
@@ -4211,6 +4278,8 @@ A law restated in two places is two laws the moment one is edited.
|
|
|
4211
4278
|
| **L9** | [SR-LAW-9](0011_LAW-9-memory-is-a-javascript-object.md) | memory means a JavaScript object, for now |
|
|
4212
4279
|
| **L10** | [SR-LAW-10](0012_LAW-10-examples-maintained.md) | the examples are maintained with every package change |
|
|
4213
4280
|
| **L11** | [SR-LAW-11](0013_LAW-11-workbook-stays-in-the-browser.md) | the workbook never leaves the browser |
|
|
4281
|
+
| **L12** | [SR-LAW-12](0014_LAW-12-every-plugin-in-the-demos.md) | every plugin is in the demos, and All plugins has them all |
|
|
4282
|
+
| **L13** | [SR-LAW-13](0015_LAW-13-popups-always-visible.md) | every dropdown is wholly visible, inside the viewport, on top |
|
|
4214
4283
|
|
|
4215
4284
|
2. **A new law** takes the next handle and the next free number in the law
|
|
4216
4285
|
range, on the decider's ruling named in its record; this table gains its row and
|
|
@@ -4248,7 +4317,7 @@ carries a law's normative text.
|
|
|
4248
4317
|
|
|
4249
4318
|
---
|
|
4250
4319
|
|
|
4251
|
-
<!-- source: records/0002_LAW-0-authority.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
4320
|
+
<!-- source: records/0002_LAW-0-authority.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0002_LAW-0-authority.md) -->
|
|
4252
4321
|
|
|
4253
4322
|
# SR-LAW-0 — L0, the records are the only source of truth
|
|
4254
4323
|
|
|
@@ -4364,7 +4433,7 @@ is never listed here.*
|
|
|
4364
4433
|
|
|
4365
4434
|
---
|
|
4366
4435
|
|
|
4367
|
-
<!-- source: records/0003_LAW-1-retired-records-archived.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
4436
|
+
<!-- source: records/0003_LAW-1-retired-records-archived.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0003_LAW-1-retired-records-archived.md) -->
|
|
4368
4437
|
|
|
4369
4438
|
# SR-LAW-1 — L1, a retired record is archived, never deleted
|
|
4370
4439
|
|
|
@@ -4457,7 +4526,7 @@ is never listed here.*
|
|
|
4457
4526
|
|
|
4458
4527
|
---
|
|
4459
4528
|
|
|
4460
|
-
<!-- source: records/0004_LAW-2-foss-dependencies.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
4529
|
+
<!-- source: records/0004_LAW-2-foss-dependencies.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0004_LAW-2-foss-dependencies.md) -->
|
|
4461
4530
|
|
|
4462
4531
|
# SR-LAW-2 — L2, every dependency is free and open source
|
|
4463
4532
|
|
|
@@ -4566,7 +4635,7 @@ is never listed here.*
|
|
|
4566
4635
|
|
|
4567
4636
|
---
|
|
4568
4637
|
|
|
4569
|
-
<!-- source: records/0005_LAW-3-xlsx-and-csv-only.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
4638
|
+
<!-- source: records/0005_LAW-3-xlsx-and-csv-only.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0005_LAW-3-xlsx-and-csv-only.md) -->
|
|
4570
4639
|
|
|
4571
4640
|
# SR-LAW-3 — L3, sheetpane supports XLSX and CSV only
|
|
4572
4641
|
|
|
@@ -4679,7 +4748,7 @@ is never listed here.*
|
|
|
4679
4748
|
|
|
4680
4749
|
---
|
|
4681
4750
|
|
|
4682
|
-
<!-- source: records/0006_LAW-4-web-component.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
4751
|
+
<!-- source: records/0006_LAW-4-web-component.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0006_LAW-4-web-component.md) -->
|
|
4683
4752
|
|
|
4684
4753
|
# SR-LAW-4 — L4, sheetpane is always a web component
|
|
4685
4754
|
|
|
@@ -4799,7 +4868,7 @@ is never listed here.*
|
|
|
4799
4868
|
|
|
4800
4869
|
---
|
|
4801
4870
|
|
|
4802
|
-
<!-- source: records/0007_LAW-5-host-font.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
4871
|
+
<!-- source: records/0007_LAW-5-host-font.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0007_LAW-5-host-font.md) -->
|
|
4803
4872
|
|
|
4804
4873
|
# SR-LAW-5 — L5, the font is the browser's default unless the host sets one
|
|
4805
4874
|
|
|
@@ -4918,7 +4987,7 @@ is never listed here.*
|
|
|
4918
4987
|
|
|
4919
4988
|
---
|
|
4920
4989
|
|
|
4921
|
-
<!-- source: records/0008_LAW-6-edits-in-memory-export-with-changes.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
4990
|
+
<!-- source: records/0008_LAW-6-edits-in-memory-export-with-changes.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0008_LAW-6-edits-in-memory-export-with-changes.md) -->
|
|
4922
4991
|
|
|
4923
4992
|
# SR-LAW-6 — L6, every change is held in memory and export carries it
|
|
4924
4993
|
|
|
@@ -5029,7 +5098,7 @@ is never listed here.*
|
|
|
5029
5098
|
|
|
5030
5099
|
---
|
|
5031
5100
|
|
|
5032
|
-
<!-- source: records/0009_LAW-7-surfaces-always-in-sync.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
5101
|
+
<!-- source: records/0009_LAW-7-surfaces-always-in-sync.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0009_LAW-7-surfaces-always-in-sync.md) -->
|
|
5033
5102
|
|
|
5034
5103
|
# SR-LAW-7 — L7, the view, edit and error components are always in sync
|
|
5035
5104
|
|
|
@@ -5138,7 +5207,7 @@ is never listed here.*
|
|
|
5138
5207
|
|
|
5139
5208
|
---
|
|
5140
5209
|
|
|
5141
|
-
<!-- source: records/0010_LAW-8-npm-package.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
5210
|
+
<!-- source: records/0010_LAW-8-npm-package.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0010_LAW-8-npm-package.md) -->
|
|
5142
5211
|
|
|
5143
5212
|
# SR-LAW-8 — L8, sheetpane is consumed as an npm package
|
|
5144
5213
|
|
|
@@ -5247,7 +5316,7 @@ is never listed here.*
|
|
|
5247
5316
|
|
|
5248
5317
|
---
|
|
5249
5318
|
|
|
5250
|
-
<!-- source: records/0011_LAW-9-memory-is-a-javascript-object.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
5319
|
+
<!-- source: records/0011_LAW-9-memory-is-a-javascript-object.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0011_LAW-9-memory-is-a-javascript-object.md) -->
|
|
5251
5320
|
|
|
5252
5321
|
# SR-LAW-9 — L9, memory means a JavaScript object, for now
|
|
5253
5322
|
|
|
@@ -5345,7 +5414,7 @@ is never listed here.*
|
|
|
5345
5414
|
|
|
5346
5415
|
---
|
|
5347
5416
|
|
|
5348
|
-
<!-- source: records/0101_DOWNLOAD.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
5417
|
+
<!-- source: records/0101_DOWNLOAD.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0101_DOWNLOAD.md) -->
|
|
5349
5418
|
|
|
5350
5419
|
# SR-DOWNLOAD — download(): export output in, a saved .xlsx or .csv out
|
|
5351
5420
|
|
|
@@ -5591,7 +5660,7 @@ is never listed here.*
|
|
|
5591
5660
|
|
|
5592
5661
|
---
|
|
5593
5662
|
|
|
5594
|
-
<!-- source: records/0102_BUILD.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
5663
|
+
<!-- source: records/0102_BUILD.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0102_BUILD.md) -->
|
|
5595
5664
|
|
|
5596
5665
|
# SR-BUILD — the monorepo build
|
|
5597
5666
|
|
|
@@ -5861,16 +5930,16 @@ pnpm and a justfile; the testing verdict chose the runner.
|
|
|
5861
5930
|
installs both from `pnpm pack` tarballs (every package, the eight plugins
|
|
5862
5931
|
included) outside the workspace and runs the same check — `just
|
|
5863
5932
|
demo-packed`, nightly. Both share one look (2026-10-19): a host bar
|
|
5864
|
-
(
|
|
5933
|
+
(Open file…, the CSV sample, the pop-up, Font, and Theme — light ·
|
|
5865
5934
|
dark · auto, set on every component), the components filling the window,
|
|
5866
5935
|
and a footer of host events (the `sheetpane-export` line names the file,
|
|
5867
5936
|
the format and the first 12 hex digits of its SHA-256, W-65);
|
|
5868
5937
|
`examples/react/src/demo.css` is the
|
|
5869
|
-
stylesheet the HTML demo inlines.
|
|
5938
|
+
stylesheet the HTML demo inlines. The sheet and the error list are always
|
|
5939
|
+
shown side by side; there is no view switch (decider, 2026-10-19).
|
|
5870
5940
|
11a. **The plugin gallery (W-32):** both demos carry a second tab row —
|
|
5871
5941
|
Review (the demo above) · Vanilla · Number formats · Styles · Formulas ·
|
|
5872
|
-
Validation · Conditional formats · Images · Charts · Comments ·
|
|
5873
|
-
plugins · Hide and show (W-49: `@sheetpane/visibility` — hide a row from
|
|
5942
|
+
Validation · Conditional formats · Images · Charts · Comments · Hide and show (W-49: `@sheetpane/visibility` — hide a row from
|
|
5874
5943
|
its header menu, the marker unhides it) · Tables (W-61: `tables
|
|
5875
5944
|
validation` on the showcase's Tables sheet — both tables in their style
|
|
5876
5945
|
colours, and C9 typed "furlong" fails the list over `Units[Unit]`) · Compare (W-63:
|
|
@@ -5879,14 +5948,17 @@ pnpm and a justfile; the testing verdict chose the runner.
|
|
|
5879
5948
|
`demo-check` reads the status line's 4 sheets · 7 rows · 2 cells, the
|
|
5880
5949
|
amber price, the 7 listed changes and Alt+F5 to D4) · Review sheet (W-59:
|
|
5881
5950
|
`@sheetpane/review` — the download gains a Review sheet listing the
|
|
5882
|
-
review, flagged cells coloured) ·
|
|
5951
|
+
review, flagged cells coloured) · All plugins (every plugin on one pane,
|
|
5952
|
+
SR-LAW-12; `test/plugins-in-demos.test.ts` fails when a package that
|
|
5953
|
+
calls `registerPlugin` is not imported by a demo, has no tab of its own
|
|
5954
|
+
or is missing from All plugins, 2026-10-19) · Rules file (W-33: the showcase's rules sample — `rules-src` in
|
|
5883
5955
|
HTML, the `rules` prop in React — with `flagging="off"`). Every gallery
|
|
5884
5956
|
tab opens one showcase workbook from `@sheetpane/fixtures` (SR-FIXTURES:
|
|
5885
5957
|
the HTML import path `./node_modules/@sheetpane/fixtures/files/…`, a
|
|
5886
5958
|
`?url` import in React; W-42) on its
|
|
5887
5959
|
own `pane`, mounted when the tab first opens and kept after; a plugin's
|
|
5888
5960
|
peer loads with it (condfmt with styles, charts with images). Both demos
|
|
5889
|
-
depend on
|
|
5961
|
+
depend on every plugin, and the HTML import map lists them with
|
|
5890
5962
|
`numfmt` (its ESM build, `dist/index.mjs`) and `@ironcalc/wasm`.
|
|
5891
5963
|
`demo-check` asserts per tab: Vanilla plain (1.25, no overlay, no errors);
|
|
5892
5964
|
1 1/4; the yellow fill; B6 recalculated; two rule errors; a data bar; the
|
|
@@ -5956,7 +6028,7 @@ is never listed here.*
|
|
|
5956
6028
|
|
|
5957
6029
|
---
|
|
5958
6030
|
|
|
5959
|
-
<!-- source: records/0103_EXPORT.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
6031
|
+
<!-- source: records/0103_EXPORT.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0103_EXPORT.md) -->
|
|
5960
6032
|
|
|
5961
6033
|
# SR-EXPORT — @sheetpane/export
|
|
5962
6034
|
|
|
@@ -6278,7 +6350,7 @@ is never listed here.*
|
|
|
6278
6350
|
|
|
6279
6351
|
---
|
|
6280
6352
|
|
|
6281
|
-
<!-- source: records/0104_IMPORT.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
6353
|
+
<!-- source: records/0104_IMPORT.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0104_IMPORT.md) -->
|
|
6282
6354
|
|
|
6283
6355
|
# SR-IMPORT — @sheetpane/import
|
|
6284
6356
|
|
|
@@ -6576,7 +6648,7 @@ is never listed here.*
|
|
|
6576
6648
|
|
|
6577
6649
|
---
|
|
6578
6650
|
|
|
6579
|
-
<!-- source: records/0105_GRID.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
6651
|
+
<!-- source: records/0105_GRID.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0105_GRID.md) -->
|
|
6580
6652
|
|
|
6581
6653
|
# SR-GRID — @sheetpane/grid
|
|
6582
6654
|
|
|
@@ -6896,7 +6968,7 @@ the grid, contract, plugins and testing verdicts in `work/compare/`.
|
|
|
6896
6968
|
every cell of it the same way (W-46). Delete or Backspace over a range
|
|
6897
6969
|
clears every filled cell through `beforechange`, refused cells skipped,
|
|
6898
6970
|
one undo step. Over 1,000,000 cells nothing is pasted, and the status line
|
|
6899
|
-
says why.
|
|
6971
|
+
says why.
|
|
6900
6972
|
11b. **Range selection (W-46):** the selection is drawn by **one layer**, never
|
|
6901
6973
|
per cell — over the range a fill (`--sp-accent-soft`) with the active cell
|
|
6902
6974
|
left unfilled (an even-odd hole), one 2 px `--sp-accent` border on the
|
|
@@ -6983,6 +7055,43 @@ the grid, contract, plugins and testing verdicts in `work/compare/`.
|
|
|
6983
7055
|
link is the user's act. **Copy link** joins the cell menu and the ⋯
|
|
6984
7056
|
menu after Copy ref while `link="hash"` (decision 13): the page's URL
|
|
6985
7057
|
with this pane's selection as its link.
|
|
7058
|
+
11e. **Editing in the cell, as in Excel (Arpit, 2026-10-19):**
|
|
7059
|
+
- **Opening:** typing, Enter, F2 or a double press on a cell (two presses
|
|
7060
|
+
within 400 ms) opens an editor on the cell itself. The cell bar holds the
|
|
7061
|
+
same draft, so either can be typed in. The editor grows with its text up
|
|
7062
|
+
to the sheet's edge and follows the cell through scrolling and zoom.
|
|
7063
|
+
- **Keys:** Enter commits and moves down, Tab across. After a run of Tabs,
|
|
7064
|
+
Enter goes back to the column the run began in, a row down. Esc restores
|
|
7065
|
+
the value. Arrows commit and move when the draft was started by typing,
|
|
7066
|
+
and move the caret after Enter, F2 or a double press (F2 switches).
|
|
7067
|
+
Ctrl/⌘+Enter puts the entry in every shown cell of the range, one undo
|
|
7068
|
+
step, and keeps the selection.
|
|
7069
|
+
- **The fill handle (Edit):** a square at the selection's corner. Dragged,
|
|
7070
|
+
it extends along the axis the pointer has gone furthest, autoscrolling,
|
|
7071
|
+
with the last cell's value shown beside it.
|
|
7072
|
+
- **Numbers:** two or more make a linear series and one repeats;
|
|
7073
|
+
Ctrl/⌘ at release swaps the two.
|
|
7074
|
+
- **Text ending in a number** counts on.
|
|
7075
|
+
- **Formulas** shift their relative references.
|
|
7076
|
+
- **Anything else** cycles.
|
|
7077
|
+
- **Writing:** each cell goes through `beforechange`; hidden cells are
|
|
7078
|
+
left alone; the fill is one undo step, and the filled range is
|
|
7079
|
+
selected. Esc cancels.
|
|
7080
|
+
- **Double-click and keys:** a double-click on the handle fills down as far
|
|
7081
|
+
as the column beside the source has data. Ctrl+D / Ctrl+R copy the top
|
|
7082
|
+
row (left column) of the range over the rest, a single cell from above
|
|
7083
|
+
(left); formulas move.
|
|
7084
|
+
- **A file dropped** anywhere on a loaded sheet opens it. While it is
|
|
7085
|
+
dragged over, an overlay says so, and names the changes not yet
|
|
7086
|
+
downloaded that it would replace.
|
|
7087
|
+
- **An insert at the edge grows the grid:** the grid shows at least the
|
|
7088
|
+
rows and columns it showed, plus what was inserted (less what was deleted),
|
|
7089
|
+
so a column inserted right of the last one appears and takes typing.
|
|
7090
|
+
- **Right-click inside the range** keeps the range.
|
|
7091
|
+
- **Every menu and card floats** ([L13](0015_LAW-13-popups-always-visible.md)): it is shown in the
|
|
7092
|
+
top layer and placed inside the viewport by `excel/float.ts`. Esc closes
|
|
7093
|
+
the keyboard help from its button.
|
|
7094
|
+
- **The pure parts** (`fillSeries`, `fillDownTo`) are in `excel/fill.ts`.
|
|
6986
7095
|
12. **Keyboard (APG grid):** focus stays on the `role="grid"` element and
|
|
6987
7096
|
`aria-activedescendant` names the active cell; arrows, Shift+arrows,
|
|
6988
7097
|
Home/End, Ctrl+Home/End, PageUp/PageDown; Ctrl/⌘+arrow jumps to the edge
|
|
@@ -6990,8 +7099,8 @@ the grid, contract, plugins and testing verdicts in `work/compare/`.
|
|
|
6990
7099
|
the column, Shift+Space the row; Ctrl/⌘+A the data region, again the
|
|
6991
7100
|
sheet; Shift+Backspace collapses to the active cell; inside a range Enter,
|
|
6992
7101
|
Shift+Enter, Tab and Shift+Tab move the active cell within it and wrap;
|
|
6993
|
-
otherwise Enter or F2 edits
|
|
6994
|
-
|
|
7102
|
+
otherwise Enter or F2 edits in the cell, and a printable key replaces it
|
|
7103
|
+
(decision 11e); Ctrl+D / Ctrl+R fill down / right; Delete clears (a range: decision 11a); F flags; Esc
|
|
6995
7104
|
cancels the innermost thing — a drag, a menu, the form, find, the copied
|
|
6996
7105
|
outline, a resize, the header menu — or closes the pop-up; Alt+Shift+↓ /
|
|
6997
7106
|
↑ expands or collapses the row group at the active cell (W-49); arrows
|
|
@@ -7728,7 +7837,7 @@ is never listed here.*
|
|
|
7728
7837
|
|
|
7729
7838
|
---
|
|
7730
7839
|
|
|
7731
|
-
<!-- source: records/0106_ERRORS.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
7840
|
+
<!-- source: records/0106_ERRORS.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0106_ERRORS.md) -->
|
|
7732
7841
|
|
|
7733
7842
|
# SR-ERRORS — <sheetpane-errors>
|
|
7734
7843
|
|
|
@@ -8048,7 +8157,7 @@ is never listed here.*
|
|
|
8048
8157
|
|
|
8049
8158
|
---
|
|
8050
8159
|
|
|
8051
|
-
<!-- source: records/0107_IMAGES.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
8160
|
+
<!-- source: records/0107_IMAGES.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0107_IMAGES.md) -->
|
|
8052
8161
|
|
|
8053
8162
|
# SR-IMAGES — @sheetpane/images
|
|
8054
8163
|
|
|
@@ -8176,7 +8285,7 @@ is never listed here.*
|
|
|
8176
8285
|
|
|
8177
8286
|
---
|
|
8178
8287
|
|
|
8179
|
-
<!-- source: records/0108_VALIDATION.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
8288
|
+
<!-- source: records/0108_VALIDATION.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0108_VALIDATION.md) -->
|
|
8180
8289
|
|
|
8181
8290
|
# SR-VALIDATION — @sheetpane/validation
|
|
8182
8291
|
|
|
@@ -8428,7 +8537,7 @@ is never listed here.*
|
|
|
8428
8537
|
|
|
8429
8538
|
---
|
|
8430
8539
|
|
|
8431
|
-
<!-- source: records/0109_NUMFMT.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
8540
|
+
<!-- source: records/0109_NUMFMT.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0109_NUMFMT.md) -->
|
|
8432
8541
|
|
|
8433
8542
|
# SR-NUMFMT — @sheetpane/numfmt
|
|
8434
8543
|
|
|
@@ -8564,7 +8673,7 @@ is never listed here.*
|
|
|
8564
8673
|
|
|
8565
8674
|
---
|
|
8566
8675
|
|
|
8567
|
-
<!-- source: records/0110_STYLES.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
8676
|
+
<!-- source: records/0110_STYLES.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0110_STYLES.md) -->
|
|
8568
8677
|
|
|
8569
8678
|
# SR-STYLES — @sheetpane/styles
|
|
8570
8679
|
|
|
@@ -8730,7 +8839,7 @@ is never listed here.*
|
|
|
8730
8839
|
|
|
8731
8840
|
---
|
|
8732
8841
|
|
|
8733
|
-
<!-- source: records/0111_FORMULAS.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
8842
|
+
<!-- source: records/0111_FORMULAS.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0111_FORMULAS.md) -->
|
|
8734
8843
|
|
|
8735
8844
|
# SR-FORMULAS — @sheetpane/formulas
|
|
8736
8845
|
|
|
@@ -8900,7 +9009,7 @@ is never listed here.*
|
|
|
8900
9009
|
|
|
8901
9010
|
---
|
|
8902
9011
|
|
|
8903
|
-
<!-- source: records/0112_COMMENTS.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
9012
|
+
<!-- source: records/0112_COMMENTS.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0112_COMMENTS.md) -->
|
|
8904
9013
|
|
|
8905
9014
|
# SR-COMMENTS — @sheetpane/comments
|
|
8906
9015
|
|
|
@@ -9073,7 +9182,7 @@ is never listed here.*
|
|
|
9073
9182
|
|
|
9074
9183
|
---
|
|
9075
9184
|
|
|
9076
|
-
<!-- source: records/0113_CHARTS.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
9185
|
+
<!-- source: records/0113_CHARTS.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0113_CHARTS.md) -->
|
|
9077
9186
|
|
|
9078
9187
|
# SR-CHARTS — @sheetpane/charts
|
|
9079
9188
|
|
|
@@ -9225,7 +9334,7 @@ is never listed here.*
|
|
|
9225
9334
|
|
|
9226
9335
|
---
|
|
9227
9336
|
|
|
9228
|
-
<!-- source: records/0114_CONDFMT.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
9337
|
+
<!-- source: records/0114_CONDFMT.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0114_CONDFMT.md) -->
|
|
9229
9338
|
|
|
9230
9339
|
# SR-CONDFMT — @sheetpane/condfmt
|
|
9231
9340
|
|
|
@@ -9378,7 +9487,7 @@ is never listed here.*
|
|
|
9378
9487
|
|
|
9379
9488
|
---
|
|
9380
9489
|
|
|
9381
|
-
<!-- source: records/0115_FIXTURES.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
9490
|
+
<!-- source: records/0115_FIXTURES.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0115_FIXTURES.md) -->
|
|
9382
9491
|
|
|
9383
9492
|
# SR-FIXTURES — @sheetpane/fixtures
|
|
9384
9493
|
|
|
@@ -9530,7 +9639,7 @@ is never listed here.*
|
|
|
9530
9639
|
|
|
9531
9640
|
---
|
|
9532
9641
|
|
|
9533
|
-
<!-- source: records/0116_SKILLS.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
9642
|
+
<!-- source: records/0116_SKILLS.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0116_SKILLS.md) -->
|
|
9534
9643
|
|
|
9535
9644
|
# SR-SKILLS — @sheetpane/skills
|
|
9536
9645
|
|
|
@@ -9724,7 +9833,7 @@ is never listed here.*
|
|
|
9724
9833
|
|
|
9725
9834
|
---
|
|
9726
9835
|
|
|
9727
|
-
<!-- source: records/0117_CODES.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
9836
|
+
<!-- source: records/0117_CODES.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0117_CODES.md) -->
|
|
9728
9837
|
|
|
9729
9838
|
# SR-CODES — stable error codes
|
|
9730
9839
|
|
|
@@ -9893,7 +10002,7 @@ is never listed here.*
|
|
|
9893
10002
|
|
|
9894
10003
|
---
|
|
9895
10004
|
|
|
9896
|
-
<!-- source: records/0118_TESTING.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
10005
|
+
<!-- source: records/0118_TESTING.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0118_TESTING.md) -->
|
|
9897
10006
|
|
|
9898
10007
|
# SR-TESTING — @sheetpane/testing
|
|
9899
10008
|
|
|
@@ -9995,7 +10104,7 @@ is never listed here.*
|
|
|
9995
10104
|
|
|
9996
10105
|
---
|
|
9997
10106
|
|
|
9998
|
-
<!-- source: records/0119_MCP.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
10107
|
+
<!-- source: records/0119_MCP.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0119_MCP.md) -->
|
|
9999
10108
|
|
|
10000
10109
|
# SR-MCP — @sheetpane/mcp
|
|
10001
10110
|
|
|
@@ -10176,7 +10285,7 @@ is never listed here.*
|
|
|
10176
10285
|
|
|
10177
10286
|
---
|
|
10178
10287
|
|
|
10179
|
-
<!-- source: records/0121_VISIBILITY.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
10288
|
+
<!-- source: records/0121_VISIBILITY.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0121_VISIBILITY.md) -->
|
|
10180
10289
|
|
|
10181
10290
|
# SR-VISIBILITY — @sheetpane/visibility
|
|
10182
10291
|
|
|
@@ -10290,7 +10399,7 @@ is never listed here.*
|
|
|
10290
10399
|
|
|
10291
10400
|
---
|
|
10292
10401
|
|
|
10293
|
-
<!-- source: records/0122_TABLES.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
10402
|
+
<!-- source: records/0122_TABLES.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0122_TABLES.md) -->
|
|
10294
10403
|
|
|
10295
10404
|
# SR-TABLES — @sheetpane/tables
|
|
10296
10405
|
|
|
@@ -10412,7 +10521,7 @@ is never listed here.*
|
|
|
10412
10521
|
|
|
10413
10522
|
---
|
|
10414
10523
|
|
|
10415
|
-
<!-- source: records/0123_REVIEW.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
10524
|
+
<!-- source: records/0123_REVIEW.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0123_REVIEW.md) -->
|
|
10416
10525
|
|
|
10417
10526
|
# SR-REVIEW — @sheetpane/review
|
|
10418
10527
|
|
|
@@ -10611,7 +10720,7 @@ is never listed here.*
|
|
|
10611
10720
|
|
|
10612
10721
|
---
|
|
10613
10722
|
|
|
10614
|
-
<!-- source: records/0124_COMPARE.md (https://github.com/arpitarya/sheetpane/blob/v0.
|
|
10723
|
+
<!-- source: records/0124_COMPARE.md (https://github.com/arpitarya/sheetpane/blob/v0.5.1/records/0124_COMPARE.md) -->
|
|
10615
10724
|
|
|
10616
10725
|
# SR-COMPARE — @sheetpane/compare
|
|
10617
10726
|
|