y11n-spreadsheet 1.0.2 → 1.1.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/README.md +64 -11
- package/dist/controllers/clipboard-manager.d.ts +0 -7
- package/dist/controllers/clipboard-manager.d.ts.map +1 -1
- package/dist/controllers/selection-manager.d.ts +57 -1
- package/dist/controllers/selection-manager.d.ts.map +1 -1
- package/dist/engine/formula-engine.d.ts +6 -0
- package/dist/engine/formula-engine.d.ts.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +714 -244
- package/dist/types.d.ts +44 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/delimited.d.ts +40 -0
- package/dist/utils/delimited.d.ts.map +1 -0
- package/dist/y11n-spreadsheet.d.ts +76 -1
- package/dist/y11n-spreadsheet.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/types.d.ts
CHANGED
|
@@ -27,13 +27,25 @@ export interface CellFormat {
|
|
|
27
27
|
backgroundColor?: string;
|
|
28
28
|
/** Horizontal text alignment */
|
|
29
29
|
textAlign?: 'left' | 'center' | 'right';
|
|
30
|
+
/** Vertical text alignment within the cell (default: middle) */
|
|
31
|
+
verticalAlign?: 'top' | 'middle' | 'bottom';
|
|
32
|
+
/**
|
|
33
|
+
* Wrap long text onto multiple lines instead of truncating it with an
|
|
34
|
+
* ellipsis. Rows keep their fixed height (`--ls-cell-height`), so only the
|
|
35
|
+
* lines that fit are visible.
|
|
36
|
+
*/
|
|
37
|
+
wrap?: boolean;
|
|
30
38
|
/** Font size in pixels */
|
|
31
39
|
fontSize?: number;
|
|
32
40
|
/** Numeric display format (e.g. currency, percent) */
|
|
33
41
|
numberFormat?: NumberFormatOptions;
|
|
34
42
|
}
|
|
35
|
-
/**
|
|
36
|
-
|
|
43
|
+
/**
|
|
44
|
+
* Available preset number format types. `date` renders a date serial number
|
|
45
|
+
* (days since 1899-12-30, as returned by `DATE()`, `TODAY()` and `NOW()`)
|
|
46
|
+
* using `datePattern`.
|
|
47
|
+
*/
|
|
48
|
+
export type NumberFormatType = 'number' | 'currency' | 'percent' | 'scientific' | 'date';
|
|
37
49
|
/** Options for number formatting */
|
|
38
50
|
export interface NumberFormatOptions {
|
|
39
51
|
type: NumberFormatType;
|
|
@@ -43,6 +55,12 @@ export interface NumberFormatOptions {
|
|
|
43
55
|
currencySymbol?: string;
|
|
44
56
|
/** Whether to use thousands separators (default: true for 'number' and 'currency') */
|
|
45
57
|
thousandsSep?: boolean;
|
|
58
|
+
/**
|
|
59
|
+
* Pattern for the 'date' type (default: `'YYYY-MM-DD'`). Tokens: `YYYY`, `YY`,
|
|
60
|
+
* `MM`, `M`, `DD`, `D`, `HH`, `H`, `mm`, `ss`. Other characters are literal,
|
|
61
|
+
* e.g. `'DD/MM/YYYY'` or `'YYYY-MM-DD HH:mm'`.
|
|
62
|
+
*/
|
|
63
|
+
datePattern?: string;
|
|
46
64
|
}
|
|
47
65
|
/**
|
|
48
66
|
* Data for a single cell in the grid.
|
|
@@ -120,7 +138,7 @@ export interface DataChangeDetail {
|
|
|
120
138
|
/** What triggered the change */
|
|
121
139
|
source?: 'user' | 'undo' | 'redo' | 'programmatic';
|
|
122
140
|
/** The type of operation that caused the change */
|
|
123
|
-
operation?: 'edit' | 'cut' | 'paste' | 'clear' | 'format';
|
|
141
|
+
operation?: 'edit' | 'cut' | 'paste' | 'clear' | 'format' | 'fill' | 'import';
|
|
124
142
|
}
|
|
125
143
|
/**
|
|
126
144
|
* Detail for the `format-change` event, fired when cell formatting is modified.
|
|
@@ -150,6 +168,29 @@ export declare function formatsEqual(a: CellFormat | undefined, b: CellFormat |
|
|
|
150
168
|
* @returns The formatted string representation
|
|
151
169
|
*/
|
|
152
170
|
export declare function formatNumber(value: number, opts: NumberFormatOptions): string;
|
|
171
|
+
/**
|
|
172
|
+
* Convert a date serial number (days since 1899-12-30; the fraction is the
|
|
173
|
+
* time of day) to a `Date` whose UTC fields hold the wall-clock date and time.
|
|
174
|
+
* Read it with `getUTCFullYear()`, `getUTCHours()`, etc.
|
|
175
|
+
*
|
|
176
|
+
* @param serial - Date serial number
|
|
177
|
+
* @returns The corresponding date, truncated to the second
|
|
178
|
+
*/
|
|
179
|
+
export declare function dateSerialToDate(serial: number): Date;
|
|
180
|
+
/**
|
|
181
|
+
* Convert wall-clock date/time fields to a date serial number. Uses UTC
|
|
182
|
+
* arithmetic so daylight-saving and historical timezone offsets never shift
|
|
183
|
+
* the result.
|
|
184
|
+
*
|
|
185
|
+
* @param year - Full year (e.g. 2024; 0-99 are not remapped)
|
|
186
|
+
* @param month - 0-indexed month
|
|
187
|
+
* @param day - Day of month (overflow rolls into the next month)
|
|
188
|
+
* @param hours - Hours (default 0)
|
|
189
|
+
* @param minutes - Minutes (default 0)
|
|
190
|
+
* @param seconds - Seconds (default 0)
|
|
191
|
+
* @returns The date serial number
|
|
192
|
+
*/
|
|
193
|
+
export declare function dateToSerial(year: number, month: number, day: number, hours?: number, minutes?: number, seconds?: number): number;
|
|
153
194
|
/**
|
|
154
195
|
* Creates a cell key string from row and column indices.
|
|
155
196
|
*
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,SAAS;IACxB,uCAAuC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,6CAA6C;IAC7C,GAAG,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,oCAAoC;IACpC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,sCAAsC;IACtC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,gDAAgD;IAChD,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2CAA2C;IAC3C,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACxC,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sDAAsD;IACtD,YAAY,CAAC,EAAE,mBAAmB,CAAC;CACpC;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Parsing and serialization for delimiter-separated text (CSV, TSV).
|
|
3
|
+
*
|
|
4
|
+
* Follows RFC 4180 quoting: a field that contains the delimiter, a double
|
|
5
|
+
* quote, or a line break is wrapped in double quotes, and embedded quotes are
|
|
6
|
+
* doubled (`""`). This is also the format Excel and Google Sheets put on the
|
|
7
|
+
* clipboard as TSV.
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Parse delimited text into a 2D array of strings.
|
|
11
|
+
*
|
|
12
|
+
* - Quoted fields may contain delimiters, line breaks, and escaped quotes (`""`).
|
|
13
|
+
* - A quote only opens a quoted field at the start of a field; a quote in the
|
|
14
|
+
* middle of a field (e.g. `5" screen`, which Excel leaves unquoted) is literal.
|
|
15
|
+
* - `\r\n`, `\n`, and bare `\r` all end a row.
|
|
16
|
+
* - A single trailing line break does not produce an extra empty row.
|
|
17
|
+
* - A leading UTF-8 byte-order mark (common in Excel exports) is ignored.
|
|
18
|
+
*
|
|
19
|
+
* @param text - The text to parse
|
|
20
|
+
* @param delimiter - Field separator (default `,`)
|
|
21
|
+
* @returns Rows of fields
|
|
22
|
+
*/
|
|
23
|
+
export declare function parseDelimited(text: string, delimiter?: string): string[][];
|
|
24
|
+
/**
|
|
25
|
+
* Quote a single field if it contains the delimiter, a quote, or a line break.
|
|
26
|
+
*
|
|
27
|
+
* @param value - The field value
|
|
28
|
+
* @param delimiter - Field separator (default `,`)
|
|
29
|
+
* @returns The field, quoted and escaped when necessary
|
|
30
|
+
*/
|
|
31
|
+
export declare function quoteDelimitedField(value: string, delimiter?: string): string;
|
|
32
|
+
/**
|
|
33
|
+
* Serialize a 2D array of strings as delimited text. Rows are joined with `\n`.
|
|
34
|
+
*
|
|
35
|
+
* @param rows - Rows of fields
|
|
36
|
+
* @param delimiter - Field separator (default `,`)
|
|
37
|
+
* @returns The delimited text
|
|
38
|
+
*/
|
|
39
|
+
export declare function serializeDelimited(rows: string[][], delimiter?: string): string;
|
|
40
|
+
//# sourceMappingURL=delimited.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"delimited.d.ts","sourceRoot":"","sources":["../../src/utils/delimited.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,EAAE,EAAE,CAiExE;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAM,GAAG,MAAM,CAU1E;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,SAAS,SAAM,GAAG,MAAM,CAU5E"}
|
|
@@ -1,6 +1,22 @@
|
|
|
1
1
|
import { LitElement } from 'lit';
|
|
2
|
-
import { type CellFormat, type GridData, type SelectionRange, type FormulaFunction } from './types.js';
|
|
2
|
+
import { type CellCoord, type CellFormat, type GridData, type SelectionRange, type FormulaFunction } from './types.js';
|
|
3
3
|
import './components/y11n-formula-bar.js';
|
|
4
|
+
/** Options for `toCSV()`. */
|
|
5
|
+
export interface CSVExportOptions {
|
|
6
|
+
/** Range to export. Default: from A1 to the last row/column that has content. */
|
|
7
|
+
range?: SelectionRange;
|
|
8
|
+
/** Field separator. Default: `,` */
|
|
9
|
+
delimiter?: string;
|
|
10
|
+
/** Export computed display values (default) or raw values (formulas). */
|
|
11
|
+
values?: 'display' | 'raw';
|
|
12
|
+
}
|
|
13
|
+
/** Options for `fromCSV()`. */
|
|
14
|
+
export interface CSVImportOptions {
|
|
15
|
+
/** Field separator. Default: `,` */
|
|
16
|
+
delimiter?: string;
|
|
17
|
+
/** Top-left cell to write to. Default: A1 */
|
|
18
|
+
start?: CellCoord;
|
|
19
|
+
}
|
|
4
20
|
/**
|
|
5
21
|
* `<y11n-spreadsheet>` -- An accessible spreadsheet web component.
|
|
6
22
|
*
|
|
@@ -91,6 +107,26 @@ export declare class Y11nSpreadsheet extends LitElement {
|
|
|
91
107
|
* @param fn - The function implementation
|
|
92
108
|
*/
|
|
93
109
|
registerFunction(name: string, fn: FormulaFunction): void;
|
|
110
|
+
/**
|
|
111
|
+
* Serialize grid contents as CSV (or TSV etc. via `delimiter`).
|
|
112
|
+
* By default exports display values from A1 to the last row and column
|
|
113
|
+
* that contain a value.
|
|
114
|
+
*
|
|
115
|
+
* @param options - Range, delimiter, and whether to export display or raw values
|
|
116
|
+
* @returns The delimited text (rows joined with `\n`); empty string for an empty grid
|
|
117
|
+
*/
|
|
118
|
+
toCSV(options?: CSVExportOptions): string;
|
|
119
|
+
/**
|
|
120
|
+
* Write CSV (or TSV etc. via `delimiter`) text into the grid starting at
|
|
121
|
+
* `start` (default A1). Values beginning with `=` become formulas. Values
|
|
122
|
+
* outside the grid's `rows`/`cols` are dropped, so grow the grid first if
|
|
123
|
+
* needed. The import is a single undoable step and fires `data-change`
|
|
124
|
+
* with `operation: 'import'`.
|
|
125
|
+
*
|
|
126
|
+
* @param text - Delimited text
|
|
127
|
+
* @param options - Delimiter and top-left target cell
|
|
128
|
+
*/
|
|
129
|
+
fromCSV(text: string, options?: CSVImportOptions): void;
|
|
94
130
|
/**
|
|
95
131
|
* Returns the format for a cell, or undefined if unformatted.
|
|
96
132
|
*
|
|
@@ -155,6 +191,16 @@ export declare class Y11nSpreadsheet extends LitElement {
|
|
|
155
191
|
private _snapshotSelection;
|
|
156
192
|
private _restoreSelection;
|
|
157
193
|
private _buildCommandBatch;
|
|
194
|
+
/**
|
|
195
|
+
* Build a batch that writes values and, optionally, formats. Cells whose
|
|
196
|
+
* value and format would both be unchanged are skipped.
|
|
197
|
+
*/
|
|
198
|
+
private _buildCellBatch;
|
|
199
|
+
/**
|
|
200
|
+
* Execute and record a user batch. Large batches are applied in chunks
|
|
201
|
+
* across animation frames so the UI stays responsive.
|
|
202
|
+
*/
|
|
203
|
+
private _runUserBatch;
|
|
158
204
|
private _pushHistory;
|
|
159
205
|
private _finalizeBatch;
|
|
160
206
|
private _applyBatch;
|
|
@@ -193,6 +239,20 @@ export declare class Y11nSpreadsheet extends LitElement {
|
|
|
193
239
|
private _focusActiveCell;
|
|
194
240
|
private _handleGridKeydown;
|
|
195
241
|
private _handleEditorKeydown;
|
|
242
|
+
private _isCellFilled;
|
|
243
|
+
/**
|
|
244
|
+
* Ctrl+Space: select the full columns spanned by the selection.
|
|
245
|
+
* Shift+Space: select the full rows. Both: select all.
|
|
246
|
+
* The active cell stays where it is.
|
|
247
|
+
*/
|
|
248
|
+
private _selectWholeRowsOrColumns;
|
|
249
|
+
/**
|
|
250
|
+
* Pointer selection on row/column headers: click selects the row or
|
|
251
|
+
* column, Shift+click extends from the selection's anchor, and dragging
|
|
252
|
+
* across headers selects a span. The active cell moves into the clicked
|
|
253
|
+
* column (or row) but keeps its row (or column), so the view doesn't jump.
|
|
254
|
+
*/
|
|
255
|
+
private _handleHeaderPointerDown;
|
|
196
256
|
private _handleSelectAll;
|
|
197
257
|
private _handleCornerKeydown;
|
|
198
258
|
private _handleCellPointerDown;
|
|
@@ -206,6 +266,21 @@ export declare class Y11nSpreadsheet extends LitElement {
|
|
|
206
266
|
*/
|
|
207
267
|
private _applyBatchProgressive;
|
|
208
268
|
private _clearSelectedCells;
|
|
269
|
+
/**
|
|
270
|
+
* Fill down (Ctrl+D) or right (Ctrl+R): copy the first row/column of the
|
|
271
|
+
* selection into the rest of it, shifting relative formula references and
|
|
272
|
+
* copying formats. With a single row/column selected, copies from the
|
|
273
|
+
* row above / column to the left instead.
|
|
274
|
+
*/
|
|
275
|
+
private _fillSelection;
|
|
276
|
+
/** Shift the relative references of a formula; non-formulas are returned as-is. */
|
|
277
|
+
private _shiftFormula;
|
|
278
|
+
/**
|
|
279
|
+
* Ctrl/Cmd+Enter while editing: commit the edited value into every cell of
|
|
280
|
+
* the selection. Formulas are written relative to each cell, as if the
|
|
281
|
+
* edited cell were copied there.
|
|
282
|
+
*/
|
|
283
|
+
private _commitEditToSelection;
|
|
209
284
|
private _handleScroll;
|
|
210
285
|
private _handleEditorInput;
|
|
211
286
|
private _handleEditorBlur;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"y11n-spreadsheet.d.ts","sourceRoot":"","sources":["../src/y11n-spreadsheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAIrD,OAAO,
|
|
1
|
+
{"version":3,"file":"y11n-spreadsheet.d.ts","sourceRoot":"","sources":["../src/y11n-spreadsheet.ts"],"names":[],"mappings":"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"}
|