@sheetpane/grid 0.4.1 → 0.5.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/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 +111 -69
- package/dist/llms.txt +92 -92
- package/dist/web-types.json +1 -1
- package/package.json +4 -4
package/dist/llms.txt
CHANGED
|
@@ -1,114 +1,114 @@
|
|
|
1
1
|
# sheetpane
|
|
2
2
|
|
|
3
|
-
> View, edit and review .xlsx and .csv files inside any web page: two web components — <sheetpane-excel> (the sheet, View or Edit) and <sheetpane-errors> (the review list) — kept in sync through one in-memory workbook per `pane`, an export that writes every change into a copy of the upload, eight optional plugins, column rules and a JSON rules file. Nothing is uploaded. Version 0.
|
|
3
|
+
> View, edit and review .xlsx and .csv files inside any web page: two web components — <sheetpane-excel> (the sheet, View or Edit) and <sheetpane-errors> (the review list) — kept in sync through one in-memory workbook per `pane`, an export that writes every change into a copy of the upload, eight optional plugins, column rules and a JSON rules file. Nothing is uploaded. Version 0.5.0.
|
|
4
4
|
|
|
5
5
|
Every rule lives in one standing record; READMEs and skills point to them. The full text of everything below is in llms-full.txt.
|
|
6
6
|
|
|
7
7
|
## Start
|
|
8
|
-
- [sheetpane](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
9
|
-
- [@sheetpane/grid](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
10
|
-
- [Architecture](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
11
|
-
- [Changelog](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
8
|
+
- [sheetpane](https://github.com/arpitarya/sheetpane/blob/v0.5.0/README.md): what it is, the packages, try it
|
|
9
|
+
- [@sheetpane/grid](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/grid/README.md): the elements: attributes, properties, events, column rules, rules file, React hooks, styling
|
|
10
|
+
- [Architecture](https://github.com/arpitarya/sheetpane/blob/v0.5.0/docs/ARCHITECTURE.md): packages, elements, the one workbook, the flows
|
|
11
|
+
- [Changelog](https://github.com/arpitarya/sheetpane/blob/v0.5.0/CHANGELOG.md): what changed, breaking changes first
|
|
12
12
|
|
|
13
13
|
## Try it
|
|
14
14
|
- [Live playground](https://arpitarya.github.io/sheetpane/): the plugin gallery in plain HTML; `/react/` in React (deployed from each release)
|
|
15
|
-
- [Starters](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
15
|
+
- [Starters](https://github.com/arpitarya/sheetpane/blob/v0.5.0/examples/starters/README.md): one starter app per framework, with an Open in StackBlitz link
|
|
16
16
|
|
|
17
17
|
## Elements
|
|
18
|
-
- [SR-GRID](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
19
|
-
- [SR-ERRORS](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
20
|
-
- [custom-elements.json](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
21
|
-
- [Vue, Svelte, Solid, Angular](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
22
|
-
- [@sheetpane/import](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
23
|
-
- [@sheetpane/export](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
18
|
+
- [SR-GRID](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0105_GRID.md): the sheet, the store, the plugin host, events, rules, test hooks
|
|
19
|
+
- [SR-ERRORS](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0106_ERRORS.md): the error list and the New error form
|
|
20
|
+
- [custom-elements.json](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/grid/custom-elements.json): both elements as a Custom Elements Manifest: attributes, properties, methods, events with payload types, slots, parts, --sp-* properties
|
|
21
|
+
- [Vue, Svelte, Solid, Angular](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/grid/README.md#vue-svelte-solid-angular): the elements in each framework; typings @sheetpane/grid/jsx, /vue, /svelte, /solid
|
|
22
|
+
- [@sheetpane/import](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/import/README.md): read .xlsx / .csv into a JavaScript workbook
|
|
23
|
+
- [@sheetpane/export](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/export/README.md): write .xlsx / .csv, patch the original, download()
|
|
24
24
|
|
|
25
25
|
## Plugins
|
|
26
|
-
- [@sheetpane/numfmt](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
27
|
-
- [@sheetpane/formulas](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
28
|
-
- [@sheetpane/styles](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
29
|
-
- [@sheetpane/validation](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
30
|
-
- [@sheetpane/condfmt](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
31
|
-
- [@sheetpane/images](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
32
|
-
- [@sheetpane/charts](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
33
|
-
- [@sheetpane/comments](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
34
|
-
- [@sheetpane/visibility](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
35
|
-
- [@sheetpane/tables](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
36
|
-
- [@sheetpane/compare](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
37
|
-
- [@sheetpane/review](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
26
|
+
- [@sheetpane/numfmt](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/numfmt/README.md): Excel number formats for sheetpane — currency, dates, fractions, elapsed time, conditional sections, locales — as a plugin on the `format` hook.
|
|
27
|
+
- [@sheetpane/formulas](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/formulas/README.md): Formula recalculation for sheetpane — edit a cell and every dependent formula updates — as a plugin on the `derive` hook, backed by IronCalc (WASM, lazy-loaded).
|
|
28
|
+
- [@sheetpane/styles](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/styles/README.md): Cell styles for sheetpane — fill, bold, italic, underline, strikethrough, colour, size, borders, alignment, wrap — as a plugin on the `decorate` hook. Never a font family (SR-LAW-5): the host's font is the font.
|
|
29
|
+
- [@sheetpane/validation](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/validation/README.md): The workbook's own data-validation rules, checked when the file loads and after every edit. Each cell that breaks a rule shows up as a warning in `<sheetpane-errors>`.
|
|
30
|
+
- [@sheetpane/condfmt](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/condfmt/README.md): Conditional formatting for sheetpane — the file's own `<conditionalFormatting>` rules drawn as Excel draws them: value and text rules, duplicates, top / bottom, averages, colour scales, data bars and formula rules — as a plugin on the `decorate` hook, after `@sheetpane/styles`. Render only: nothing here writes a rule.
|
|
31
|
+
- [@sheetpane/images](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/images/README.md): Images for sheetpane — pictures anchored in the sheet drawn in sheet space through the `overlay` hook; view only, kept on export.
|
|
32
|
+
- [@sheetpane/charts](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/charts/README.md): Charts for sheetpane — each chart in a workbook shown at its anchor: a frame with its title, type, series count and Show source cells (stage 1), drawn as our own SVG for bar, column, line, pie and scatter (stage 2) — through the `overlay` hook.
|
|
33
|
+
- [@sheetpane/comments](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/comments/README.md): Excel's comments and sheetpane's errors, in both directions. When a file loads, its notes and threaded comments show up in `<sheetpane-errors>`. When you export, every error in the review goes into the file as an Excel threaded comment on its cell.
|
|
34
|
+
- [@sheetpane/visibility](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/visibility/README.md): Hide and unhide rows, columns and sheets in `<sheetpane-excel>` — as changes, written into the download.
|
|
35
|
+
- [@sheetpane/tables](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/tables/README.md): Excel tables in `<sheetpane-excel>`, drawn as their style draws them — header row, banded rows and columns, totals row.
|
|
36
|
+
- [@sheetpane/compare](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/compare/README.md): What changed between two versions of a workbook — on the sheet in `<sheetpane-excel>`, or as data in Node.
|
|
37
|
+
- [@sheetpane/review](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/review/README.md): The review written into the download as a sheet of its own. Every error is listed on a *Review* sheet with a link to its cell. Optionally, each flagged cell is filled by severity, so a reviewer can work the list in Excel, fix the file and upload it again.
|
|
38
38
|
|
|
39
39
|
## Rules and errors
|
|
40
|
-
- [Column rules](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
41
|
-
- [Rules file](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
42
|
-
- [rules.schema.json](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
43
|
-
- [Error codes](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
40
|
+
- [Column rules](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/grid/README.md#column-rules): checks by column title in code
|
|
41
|
+
- [Rules file](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/grid/README.md#rules-file): valid and invalid values as JSON, rules-src, flagging="off"
|
|
42
|
+
- [rules.schema.json](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/grid/rules.schema.json): the rules file's JSON Schema
|
|
43
|
+
- [Error codes](https://github.com/arpitarya/sheetpane/blob/v0.5.0/docs/ERRORS.md): every SP-xxxx code: meaning, cause, fix
|
|
44
44
|
|
|
45
45
|
## Testing and tooling
|
|
46
|
-
- [@sheetpane/testing](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
47
|
-
- [@sheetpane/fixtures](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
46
|
+
- [@sheetpane/testing](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/testing/README.md): Playwright and Vitest helpers for host apps
|
|
47
|
+
- [@sheetpane/fixtures](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/fixtures/README.md): known workbooks with a manifest
|
|
48
48
|
|
|
49
49
|
## Skills
|
|
50
|
-
- [@sheetpane/skills](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
51
|
-
- [@sheetpane/mcp](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
52
|
-
- [sheetpane](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
53
|
-
- [sheetpane-a11y](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
54
|
-
- [sheetpane-backend](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
55
|
-
- [sheetpane-column-rules](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
56
|
-
- [sheetpane-embed](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
57
|
-
- [sheetpane-errors](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
58
|
-
- [sheetpane-events](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
59
|
-
- [sheetpane-file-work-item](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
60
|
-
- [sheetpane-frameworks](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
61
|
-
- [sheetpane-load-export](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
62
|
-
- [sheetpane-migrate](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
63
|
-
- [sheetpane-performance](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
64
|
-
- [sheetpane-plugin-author](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
65
|
-
- [sheetpane-plugins](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
66
|
-
- [sheetpane-react](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
67
|
-
- [sheetpane-records](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
68
|
-
- [sheetpane-rules](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
69
|
-
- [sheetpane-rules-file](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
70
|
-
- [sheetpane-security](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
71
|
-
- [sheetpane-setup](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
72
|
-
- [sheetpane-test](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
73
|
-
- [sheetpane-testing](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
74
|
-
- [sheetpane-theming](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
75
|
-
- [sheetpane-troubleshoot](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
76
|
-
- [sheetpane-upgrade](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
50
|
+
- [@sheetpane/skills](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/README.md): npx sheetpane-skills install — skills for Claude Code, Kiro and Codex
|
|
51
|
+
- [@sheetpane/mcp](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/mcp/README.md): npx -y @sheetpane/mcp — an MCP server: describe the API, inspect a workbook, draft and check a rules file, explain an SP code, find a skill
|
|
52
|
+
- [sheetpane](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane/SKILL.md): Use first for any sheetpane task in a host app - a decision table pointing to the right sheetpane skill (embedding, loading, errors, events, rules, plugins, theming, testing, frameworks, troubleshooting). Not needed once you know which skill applies.
|
|
53
|
+
- [sheetpane-a11y](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-a11y/SKILL.md): Use when making a host's sheetpane page accessible - the grid's keyboard contract, labelling the host tab or dialog, focus when the pop-up closes, colour never alone. Not for the grid's own internals.
|
|
54
|
+
- [sheetpane-backend](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-backend/SKILL.md): Use when a host saves the reviewed file and review on a server and restores them, checks a file there with check(), or draws it into a report with renderStatic() - the blob, getErrors()/setErrors() JSON. Not for client-only use.
|
|
55
|
+
- [sheetpane-column-rules](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-column-rules/SKILL.md): Use when the host checks what users type by column title in code - columns, validate(ctx, signal), on-invalid flag or block, header-row. Not for rules shipped as a JSON file (sheetpane-rules-file) or the workbook's own validation (sheetpane-plugins).
|
|
56
|
+
- [sheetpane-embed](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-embed/SKILL.md): Use when placing <sheetpane-excel> and <sheetpane-errors> on a page - tab or pop-up, linking them by pane, giving the sheet a height, the host's font. Not for React specifics (sheetpane-react) or loading and saving files (sheetpane-load-export).
|
|
57
|
+
- [sheetpane-errors](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-errors/SKILL.md): Use for the review list - <sheetpane-errors>, the SheetpaneError schema, getErrors()/setErrors(), sheetpane-errors and sheetpane-reveal, error types. Not for rule-made errors (sheetpane-column-rules) or server storage (sheetpane-backend).
|
|
58
|
+
- [sheetpane-events](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-events/SKILL.md): Use when a host reacts to what the user does in the sheet - selection, hover, typing, saving, refusing a value, sheet tabs - or outlines cells with highlight(). Not for column checks (sheetpane-column-rules) or the error list (sheetpane-errors).
|
|
59
|
+
- [sheetpane-file-work-item](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-file-work-item/SKILL.md): Use when contributing to the sheetpane repo and filing a new work item W-nn - the next free id, the item file, its OPEN-WORK row and ball, the worklog and NOW. Not for host apps that use sheetpane.
|
|
60
|
+
- [sheetpane-frameworks](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-frameworks/SKILL.md): Use when embedding sheetpane in Vue, Svelte, Solid, Angular, Next.js or plain HTML with typed props and events - the custom-element setup, @sheetpane/grid/vue|svelte|solid typings, editor data. Not for React (sheetpane-react).
|
|
61
|
+
- [sheetpane-load-export](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-load-export/SKILL.md): Use when opening a file in the sheet (src, file, load()) or getting it back (the Download button, export(), sheetpane-export, download()). Not for saving the review (sheetpane-errors, sheetpane-backend) or no-UI read/write (sheetpane-setup).
|
|
62
|
+
- [sheetpane-migrate](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-migrate/SKILL.md): Use when replacing SheetJS, Handsontable or AG Grid with sheetpane - their concepts mapped to sheetpane's elements, events and plugins, and what has no equivalent. Not for a fresh project (sheetpane-setup).
|
|
63
|
+
- [sheetpane-performance](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-performance/SKILL.md): Use when a host deals with large workbooks - what loads fast, how rule checks are sliced, lazy-mounting several sheets, what to measure on your own machine and data. Not for small files, which need nothing special.
|
|
64
|
+
- [sheetpane-plugin-author](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-plugin-author/SKILL.md): Use when writing a sheetpane plugin - the six hooks, the slots and control descriptors, exportOptions, registerPlugin, what a plugin may never do. Not for choosing among the shipped plugins (sheetpane-plugins).
|
|
65
|
+
- [sheetpane-plugins](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-plugins/SKILL.md): Use when a host needs more than review - number formats, formulas, styles, validation, conditional formats, pictures, charts, comments, Excel tables, compare or a Review sheet - and must pick plugins. Not for writing one (sheetpane-plugin-author).
|
|
66
|
+
- [sheetpane-react](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-react/SKILL.md): Use when sheetpane is used from React 18 or 19 - props and onsheetpane-* events on the custom elements, refs, the copy-in hook recipes, JSX typing. Not for plain HTML (sheetpane-embed) or Vue, Angular, Svelte, Next.js (sheetpane-frameworks).
|
|
67
|
+
- [sheetpane-records](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-records/SKILL.md): Use when contributing to the sheetpane repo and a change touches a rule - finding the record that owns a module, the laws, the commit guard, where a rule lives, archive-is-not-evidence. Not for host apps.
|
|
68
|
+
- [sheetpane-rules](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-rules/SKILL.md): The /sheetpane-rules [workbook or rules file] command - drafts a rules file for a workbook, or fixes one, then runs sheetpane-skills check-rules until it is clean. Not for learning the format (sheetpane-rules-file) or rules in code.
|
|
69
|
+
- [sheetpane-rules-file](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-rules-file/SKILL.md): Use when valid and invalid values ship as a JSON file per sheet, column or cell, checked on load and listed only in the errors panel - rules / rules-src, its JSON Schema, flagging="off". Not for rules written in code (sheetpane-column-rules).
|
|
70
|
+
- [sheetpane-security](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-security/SKILL.md): Use when sheetpane handles untrusted uploads or runs under a strict CSP - what the grid reads and never sends, regexes in rules, CSV formula injection, sandboxed iframes, styles in shadow DOM. Not for general web security.
|
|
71
|
+
- [sheetpane-setup](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-setup/SKILL.md): Use when adding sheetpane to a project - which @sheetpane packages to install, a bundler import or a plain-HTML import map, one version for all. Not for placing the elements (sheetpane-embed) or choosing plugins (sheetpane-plugins).
|
|
72
|
+
- [sheetpane-test](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-test/SKILL.md): The /sheetpane-test [workbook] command - writes one end-to-end test for a host page with sheetpane - load the .xlsx or .csv (or a fixture), edit a cell, read the download. Not for the testing techniques themselves (sheetpane-testing).
|
|
73
|
+
- [sheetpane-testing](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-testing/SKILL.md): Use when writing end-to-end or browser tests for a host app that embeds sheetpane - reaching cells in shadow DOM, waiting for sheetpane-load, editing, reading a downloaded .xlsx back, known fixture files. Not for testing sheetpane itself.
|
|
74
|
+
- [sheetpane-theming](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-theming/SKILL.md): Use when matching sheetpane to a host's look - dark mode via theme, the --sp-* colour tokens, style.css, why no font is set. Not for a workbook's own colours (sheetpane-plugins - styles, condfmt).
|
|
75
|
+
- [sheetpane-troubleshoot](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-troubleshoot/SKILL.md): Use when sheetpane misbehaves in a host - a blank grid, a file refused, an SP-xxxx code in the console, SSR crashes, CORS on src, copy not working, rules errors that look wrong. Not for designing a feature.
|
|
76
|
+
- [sheetpane-upgrade](https://github.com/arpitarya/sheetpane/blob/v0.5.0/packages/skills/skills/sheetpane-upgrade/SKILL.md): Use when moving a host to a newer sheetpane version - reading CHANGELOG.md, the lockstep version rule, removed or renamed controls and events, re-checking a host's tests. Not for first-time setup (sheetpane-setup).
|
|
77
77
|
|
|
78
78
|
## Records
|
|
79
|
-
- [The register](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
80
|
-
- [SR-LAWS](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
81
|
-
- [SR-LAW-0](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
82
|
-
- [SR-LAW-1](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
83
|
-
- [SR-LAW-2](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
84
|
-
- [SR-LAW-3](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
85
|
-
- [SR-LAW-4](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
86
|
-
- [SR-LAW-5](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
87
|
-
- [SR-LAW-6](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
88
|
-
- [SR-LAW-7](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
89
|
-
- [SR-LAW-8](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
90
|
-
- [SR-LAW-9](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
91
|
-
- [SR-DOWNLOAD](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
92
|
-
- [SR-BUILD](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
93
|
-
- [SR-EXPORT](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
94
|
-
- [SR-IMPORT](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
95
|
-
- [SR-GRID](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
96
|
-
- [SR-ERRORS](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
97
|
-
- [SR-IMAGES](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
98
|
-
- [SR-VALIDATION](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
99
|
-
- [SR-NUMFMT](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
100
|
-
- [SR-STYLES](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
101
|
-
- [SR-FORMULAS](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
102
|
-
- [SR-COMMENTS](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
103
|
-
- [SR-CHARTS](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
104
|
-
- [SR-CONDFMT](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
105
|
-
- [SR-FIXTURES](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
106
|
-
- [SR-SKILLS](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
107
|
-
- [SR-CODES](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
108
|
-
- [SR-TESTING](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
109
|
-
- [SR-MCP](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
110
|
-
- [SR-VISIBILITY](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
111
|
-
- [SR-TABLES](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
112
|
-
- [SR-REVIEW](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
113
|
-
- [SR-COMPARE](https://github.com/arpitarya/sheetpane/blob/v0.
|
|
79
|
+
- [The register](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/README.md): every record, its state and what it owns
|
|
80
|
+
- [SR-LAWS](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0001_LAWS.md): Assigns the handles L0, L1, … and routes each to the record that states it. This record states no law itself.
|
|
81
|
+
- [SR-LAW-0](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0002_LAW-0-authority.md): Every rule is stated in exactly one record; every other artifact links to it; Law records outrank every other record; a Law changes only on the decider's ruling.
|
|
82
|
+
- [SR-LAW-1](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0003_LAW-1-retired-records-archived.md): A retired record moves to archive/records/ in the same change, with a map row, status archived and a dated banner; from then on it is named, never cited.
|
|
83
|
+
- [SR-LAW-2](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0004_LAW-2-foss-dependencies.md): Every dependency sheetpane declares or pulls in — runtime, peer, optional, dev and transitive — is released under a free and open source licence.
|
|
84
|
+
- [SR-LAW-3](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0005_LAW-3-xlsx-and-csv-only.md): sheetpane opens, views, edits and saves exactly two file formats — XLSX and CSV; every other spreadsheet format is out of scope until the decider rules otherwise.
|
|
85
|
+
- [SR-LAW-4](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0006_LAW-4-web-component.md): sheetpane ships as a standards-based web component — a custom element any framework, or none, can use — and is never tied to one framework.
|
|
86
|
+
- [SR-LAW-5](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0007_LAW-5-host-font.md): sheetpane ships no font of its own: by default it renders in the browser's default font, and when the host application sets a font, every part of sheetpane uses it.
|
|
87
|
+
- [SR-LAW-6](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0008_LAW-6-edits-in-memory-export-with-changes.md): Once a workbook is loaded, every change made to it is held in memory, and an export produces the workbook with every change applied.
|
|
88
|
+
- [SR-LAW-7](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0009_LAW-7-surfaces-always-in-sync.md): The view, edit and error components always show the same workbook: a change in any one appears in the others at once, with no refresh or save.
|
|
89
|
+
- [SR-LAW-8](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0010_LAW-8-npm-package.md): sheetpane is distributed as an npm package: published to the npm registry, installed with npm or any npm-compatible client, and imported as a module.
|
|
90
|
+
- [SR-LAW-9](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0011_LAW-9-memory-is-a-javascript-object.md): Wherever a record says memory, it means JavaScript objects held in the page; no browser storage or database is memory, until the decider rules otherwise.
|
|
91
|
+
- [SR-DOWNLOAD](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0101_DOWNLOAD.md): One function, download(data, filename, options?), turns what @sheetpane/export produces into a file the browser saves — .xlsx or .csv only, bytes unchanged, errors never silent.
|
|
92
|
+
- [SR-BUILD](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0102_BUILD.md): How the monorepo installs, type-checks, builds, tests, runs in CI and publishes every package under packages/ at one version.
|
|
93
|
+
- [SR-EXPORT](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0103_EXPORT.md): A plain Workbook object in, .xlsx bytes or .csv text out; patchXlsx rewrites only the changed cells of the uploaded file; no runtime dependencies.
|
|
94
|
+
- [SR-IMPORT](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0104_IMPORT.md): The reader: extension and magic bytes checked, .xlsx through the ZIP walk and DOMParser, .csv through a state machine; raw values beside display text; the parsed tables plugins read.
|
|
95
|
+
- [SR-GRID](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0105_GRID.md): One in-memory workbook per pane that every element reads and writes; the sheet element that views and edits it; six hooks and six slots for plugins; one undo stack per pane; freeze panes in the core grid.
|
|
96
|
+
- [SR-ERRORS](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0106_ERRORS.md): The error component reads and writes the pane's one workbook: a filterable list, the form Flag issue opens, Show in sheet, read-only sign-off — no private copy, no linked chip, no export footer.
|
|
97
|
+
- [SR-IMAGES](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0107_IMAGES.md): A view-only plugin that draws each picture a sheet's drawing anchors at its place in the grid, decoding media lazily from the package, with the anchor arithmetic @sheetpane/charts reuses.
|
|
98
|
+
- [SR-VALIDATION](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0108_VALIDATION.md): A plugin on the validate hook that checks the workbook's <dataValidations> on load and after every edit, writing one workbook-authored warning per failing cell, with a list arrow for list rules; on export it can write the host's rules file into the download as the workbook's own data validation.
|
|
99
|
+
- [SR-NUMFMT](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0109_NUMFMT.md): A plugin on the format hook that shows every numeric cell as Excel would — every built-in and custom code, locales, 1904 — with a format dropdown in Edit and the new formats written back on export.
|
|
100
|
+
- [SR-STYLES](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0110_STYLES.md): A plugin on the decorate hook that draws each cell's fill, font weight, style, size, colour, decoration, borders and alignment from the workbook — never a font family — with a format row in Edit and the changes written into styles.xml on export.
|
|
101
|
+
- [SR-FORMULAS](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0111_FORMULAS.md): A plugin on the derive and exportPatch hooks that recalculates formulas with IronCalc (WASM, loaded on the first formula), marks the cells it changed, and writes typed formulas and new cached values on export.
|
|
102
|
+
- [SR-COMMENTS](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0112_COMMENTS.md): A plugin on the validate and exportPatch hooks: a workbook's notes and threaded comments arrive as read-only file errors, and an export writes every review error as an Excel threaded comment (with its legacy note and VML) at its cell — on by default, switchable off.
|
|
103
|
+
- [SR-CHARTS](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0113_CHARTS.md): An overlay plugin that shows every chart at its anchor — a frame with title, type, series and Show source cells, then an SVG drawing for bar, column, line, pie, doughnut and scatter — from the chart's cached values, or the live cells when a formula plugin is installed; export copies charts untouched.
|
|
104
|
+
- [SR-CONDFMT](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0114_CONDFMT.md): A decorate plugin, ordered after styles, that draws the conditional formats a workbook carries — cell rules, text rules, duplicates, top/bottom, averages, colour scales, data bars and expressions — live as cells change; render only, with a hover legend and a rule count.
|
|
105
|
+
- [SR-FIXTURES](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0115_FIXTURES.md): A dependency-free package of hand-built test workbooks — the showcase, its rules sample, edge cases, CSV dialects — with a manifest of what each holds and url / path / bytes to reach them from any runner.
|
|
106
|
+
- [SR-SKILLS](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0116_SKILLS.md): A leaf package of 23 Markdown skills, entry files and a no-dependency installer that copies them where each coding agent looks; every sheetpane package depends on it; a drift check keeps the skills true to the code.
|
|
107
|
+
- [SR-CODES](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0117_CODES.md): Every throw, console warning, rules-engine note, refused load and blocked edit carries a permanent SP-xxxx code from one registry in @sheetpane/export, with an entry in docs/ERRORS.md; a test fails on any message without one.
|
|
108
|
+
- [SR-TESTING](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0118_TESTING.md): One driver API for Playwright and Vitest browser mode — locators, actions, Download read back as values, matchers — built only on the grid's committed test hooks.
|
|
109
|
+
- [SR-MCP](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0119_MCP.md): A stdio MCP server, hand-written, tools only: describe the API, inspect a workbook, draft and check a rules file, explain an SP code, find a skill — deterministic and read-only.
|
|
110
|
+
- [SR-VISIBILITY](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0121_VISIBILITY.md): The plugin that lets an editor hide and unhide rows, columns and sheets and group outlines — menus, Google Sheets' keys, a marker click — written into the download. Seeing the file's hiding is core (SR-GRID 21c).
|
|
111
|
+
- [SR-TABLES](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0122_TABLES.md): The plugin that draws a workbook's Excel tables — header row, banded rows and columns, first and last column, totals row — from a named subset of the built-in table styles, through decorate. Reading the tables is SR-IMPORT's; resolving Table[Column] is SR-EXPORT's.
|
|
112
|
+
- [SR-REVIEW](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0123_REVIEW.md): The export-only plugin that writes the review into the download as a Review sheet — every error with a link to its cell — and optionally fills each flagged cell by severity, cloning its format. A defined name marks the sheet so a host can skip it on re-upload.
|
|
113
|
+
- [SR-COMPARE](https://github.com/arpitarya/sheetpane/blob/v0.5.0/records/0124_COMPARE.md): A headless diffWorkbooks (sheets by name or content, columns by title, rows by key or alignment, cells by value, text and formula) and a grid plugin that tints the changes, sums them up in the status line, steps through them and lists them as errors — both files read in the page.
|
|
114
114
|
|
package/dist/web-types.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@sheetpane/grid",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.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": {
|
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
"customElements": "custom-elements.json",
|
|
62
62
|
"web-types": "./dist/web-types.json",
|
|
63
63
|
"dependencies": {
|
|
64
|
-
"@sheetpane/export": "0.
|
|
65
|
-
"@sheetpane/
|
|
66
|
-
"@sheetpane/
|
|
64
|
+
"@sheetpane/export": "0.5.0",
|
|
65
|
+
"@sheetpane/import": "0.5.0",
|
|
66
|
+
"@sheetpane/skills": "0.5.0"
|
|
67
67
|
},
|
|
68
68
|
"publishConfig": {
|
|
69
69
|
"access": "public"
|