@xlcalc/vue 0.21.2 → 0.23.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/CHANGELOG.md +31 -0
- package/README.md +7 -2
- package/dist/components/CfDialogs.vue.d.ts +3 -0
- package/dist/components/CfManager.vue.d.ts +3 -0
- package/dist/components/CfPreview.vue.d.ts +9 -0
- package/dist/components/CfQuickDialog.vue.d.ts +3 -0
- package/dist/components/CfRuleDialog.vue.d.ts +3 -0
- package/dist/components/CfStyleDialog.vue.d.ts +15 -0
- package/dist/components/CfValuesFields.vue.d.ts +9 -0
- package/dist/components/DialogShell.vue.d.ts +1 -1
- package/dist/components/FunctionList.vue.d.ts +2 -1
- package/dist/components/GoToDialog.vue.d.ts +3 -0
- package/dist/components/LinkDialog.vue.d.ts +3 -0
- package/dist/components/NameBox.vue.d.ts +3 -0
- package/dist/components/NameDialogs.vue.d.ts +3 -0
- package/dist/components/NoteBox.vue.d.ts +3 -0
- package/dist/components/SheetToolbar.vue.d.ts +7 -4
- package/dist/components/SheetView.vue.d.ts +11 -4
- package/dist/components/SpellingDialog.vue.d.ts +3 -0
- package/dist/components/SymbolDialog.vue.d.ts +3 -0
- package/dist/components/TableDialog.vue.d.ts +3 -0
- package/dist/components/ToolbarBox.vue.d.ts +31 -0
- package/dist/components/TraceArrows.vue.d.ts +3 -0
- package/dist/components/ValidationDialog.vue.d.ts +3 -0
- package/dist/components/WatchWindow.vue.d.ts +3 -0
- package/dist/components/ZoomBar.vue.d.ts +3 -0
- package/dist/components/ZoomDialog.vue.d.ts +3 -0
- package/dist/components/icons.d.ts +1 -0
- package/dist/components/name-icons.d.ts +1 -0
- package/dist/components/toolbar-icons.d.ts +16 -0
- package/dist/contract/conditional.d.ts +16 -0
- package/dist/contract/memory.d.ts +5 -0
- package/dist/contract/messages.d.ts +260 -1
- package/dist/contract/source.d.ts +41 -0
- package/dist/contract/view.d.ts +117 -2
- package/dist/contract/workbook.d.ts +73 -0
- package/dist/contract.d.ts +4 -2
- package/dist/core/autocomplete.d.ts +9 -1
- package/dist/core/autosum.d.ts +11 -0
- package/dist/core/cell-style.d.ts +5 -0
- package/dist/core/cell-view.d.ts +2 -0
- package/dist/core/cf-commands.d.ts +70 -0
- package/dist/core/cf-describe.d.ts +4 -0
- package/dist/core/cf-draft.d.ts +114 -0
- package/dist/core/cf-formula.d.ts +30 -0
- package/dist/core/cf-presets.d.ts +33 -0
- package/dist/core/cf-ranges.d.ts +22 -0
- package/dist/core/commands.d.ts +4 -2
- package/dist/core/editing.d.ts +6 -1
- package/dist/core/extras.d.ts +22 -0
- package/dist/core/fill.d.ts +3 -0
- package/dist/core/formula-view.d.ts +10 -0
- package/dist/core/geometry.d.ts +6 -0
- package/dist/core/goto.d.ts +24 -0
- package/dist/core/links.d.ts +105 -0
- package/dist/core/menu.d.ts +8 -0
- package/dist/core/name-dialogs.d.ts +63 -0
- package/dist/core/names.d.ts +33 -0
- package/dist/core/navigation.d.ts +6 -0
- package/dist/core/notes.d.ts +44 -0
- package/dist/core/place.d.ts +10 -0
- package/dist/core/range-read.d.ts +11 -0
- package/dist/core/sheet.d.ts +337 -4
- package/dist/core/spell-check.d.ts +54 -0
- package/dist/core/state.d.ts +9 -0
- package/dist/core/tables.d.ts +63 -0
- package/dist/core/trace.d.ts +26 -0
- package/dist/core/validation-dialog.d.ts +33 -0
- package/dist/core/validation.d.ts +17 -3
- package/dist/core/viewport.d.ts +12 -0
- package/dist/core/watch.d.ts +35 -0
- package/dist/core/windows.d.ts +2 -0
- package/dist/core/zoom.d.ts +44 -0
- package/dist/format-cells.d.ts +0 -6
- package/dist/formula-shift.d.ts +3 -0
- package/dist/index.js +12033 -4565
- package/dist/local/types.d.ts +4 -1
- package/dist/local/workbook.d.ts +25 -0
- package/dist/local.js +556 -277
- package/dist/memory-workbook.d.ts +21 -0
- package/dist/messages-conditional.d.ts +3 -0
- package/dist/rect.d.ts +2 -0
- package/dist/{ru-RU-BVeg6JGM.js → ru-RU-CzebvM-s.js} +19 -2
- package/dist/spelling.d.ts +6 -0
- package/dist/style.css +1 -1
- package/dist/symbols.d.ts +23 -0
- package/dist/toolbar.d.ts +53 -1
- package/dist/{typed-entry-2l9Ay-hV.js → typed-entry-3r1pEbc9.js} +4546 -4453
- package/dist/validation-rules.d.ts +95 -0
- package/docs/api.md +91 -10
- package/docs/autocomplete.md +3 -3
- package/docs/checks.md +1 -1
- package/docs/clipboard.md +1 -1
- package/docs/conditional-formatting.md +135 -0
- package/docs/editing.md +50 -1
- package/docs/go-to-and-symbol.md +37 -0
- package/docs/links-notes.md +36 -0
- package/docs/local.md +1 -1
- package/docs/names.md +62 -0
- package/docs/tables.md +40 -0
- package/docs/toolbar.md +6 -2
- package/docs/validation.md +47 -0
- package/docs/view.md +104 -1
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,36 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.23.1 (2026-10-26)
|
|
4
|
+
|
|
5
|
+
Documentation only.
|
|
6
|
+
|
|
7
|
+
- `docs/api.md` lists each of the source's new methods once, with its page; `docs/links-notes.md` and `docs/view.md` say what Insert Link and the Watch Window do with defined names; `docs/local.md` says which methods need xlcalc 0.59.0.
|
|
8
|
+
|
|
9
|
+
## 0.23.0 (2026-10-26)
|
|
10
|
+
|
|
11
|
+
Over xlcalc 0.59.0, the parts of the app's list that waited for the library. Nothing breaks for a host; `./local` works with xlcalc 0.46.0 and later, its AutoSum and the workbook's font with 0.59.0.
|
|
12
|
+
|
|
13
|
+
- `SheetToolbar`: Accounting Number Format and Comma Style (Excel's built-in formats 44 and 43, in the workbook's locale), Increase Decimal and Decrease Decimal through xlcalc's `stepDecimals`, from the active cell's format, value and column width, over the selection. `SheetViewState` has `cellValue` and `columnWidth` for them.
|
|
14
|
+
- AutoSum: the source's optional `autoSum` (`SheetAutoSum`), Alt+= and `SheetViewApi.autoSum()` open the active cell's edit with `=SUM(range)` and the range selected; `./local` gives xlcalc's `getAutoSum`.
|
|
15
|
+
- `./local`: `SheetInfo.font` is the workbook's default font, Calibri 11 without one, the font in which xlcalc measures widths and `####`, so cells are drawn as measured rather than in the page's font (`docs/links-notes.md` says how a host serves Carlito under Calibri's name). The Name Manager's names are refused by xlcalc's own `setNames`. A font that fits rows to it (xlcalc's `fitted`) reads the sheets and windows again.
|
|
16
|
+
|
|
17
|
+
## 0.22.0 (2026-10-26)
|
|
18
|
+
|
|
19
|
+
Excel's commands from the Home, Insert, Formulas, Data, Review and View tabs that the sheet lacked. Nothing breaks for a host: every new source method, prop, event and method is optional. Built against xlcalc 0.58.0; `./local` works with xlcalc 0.46.0 and later.
|
|
20
|
+
|
|
21
|
+
- `SheetSource`: optional methods for what a workbook holds beside its cells' values, in Excel's terms: `clear` (Clear Formats, Clear All), `link` (Insert Link, Remove Hyperlinks), `note` (New Note, Edit Note, Delete Note), `names` and `setNames` (the Name Manager), `dependents` (Trace Dependents), `rules` and `setRules` (conditional formatting and data validation rules), `table` (Format as Table, Convert to Range) and `spelling` with `learnWord` (Spelling, Add to Dictionary). Their types are in `src/contract/workbook.ts`; formulas in them are in the source's locale. `SheetInfo` has `font`, the workbook's default font, and `zoom`, the sheet's saved zoom. `memorySource` has `clear`, `link`, `note`, `names` and `setNames`; both it and `./local` check spelling with the host's `SpellChecker` (the `spelling` option), and `./local` has every new method. `./local` checks the Name Manager's names with xlcalc's `validateNames`, does not list hidden names and keeps them.
|
|
22
|
+
- `SheetToolbar`: the Font and Font Size boxes (the `fonts` prop replaces the font list), Increase and Decrease Font Size, Top, Middle and Bottom Align, Increase and Decrease Indent, and Percent Style with Ctrl+Shift+%.
|
|
23
|
+
- Fill Down and Fill Right (Ctrl+D, Ctrl+R) through `structure`'s `copyRange`, as a single undo step; Show Formulas (Ctrl+`), a view setting of each sheet.
|
|
24
|
+
- Go To (F5, Ctrl+G) with the last four locations and the defined names; the Symbol dialog with Unicode subsets, the character code, recently used symbols and Special Characters.
|
|
25
|
+
- Zoom from 10% to 400%: Ctrl+wheel, a pinch, the status bar's slider and the Zoom dialog with Zoom to Selection; each sheet keeps its own, a sheet opens at the workbook's saved zoom unless the host's `zoom` prop names it, and the `zoom` event reports the user's changes. The Watch Window (the `watches` prop and event).
|
|
26
|
+
- Defined names: the Name Box goes to a name, shows the name of the selected range and lists the names; a new name typed in it defines one; Define Name, the Name Manager (Ctrl+F3) and names in Formula AutoComplete.
|
|
27
|
+
- Insert Hyperlink (Ctrl+K) and Edit Hyperlink, with Place in This Document and the defined names; Edit, Open and Remove Hyperlink in the cell menu; New, Edit and Delete Note in the cell menu and Shift+F2, with the `noteAuthor` prop; `clear` for Clear Formats and Clear All.
|
|
28
|
+
- The workbook's default font: a cell without a font of its own is drawn in `SheetInfo.font`, and the toolbar's Font and Font Size boxes show it (`state.font`).
|
|
29
|
+
- Trace Dependents and Remove Arrows; Create Table (Ctrl+T, Ctrl+L; Control+T on a Mac, where Control+L is Define Name) with Excel's names for the table and its columns, Convert to Range and Delete Table; Spelling (F7) over the host's dictionary.
|
|
30
|
+
- Conditional formatting: Highlight Cells Rules and Top/Bottom Rules with Excel's presets and Custom Format, Data Bars, Color Scales and Icon Sets, Clear Rules from the selection or the sheet, New Formatting Rule and the Rules Manager.
|
|
31
|
+
- Data Validation: Excel's dialog with Settings, Input Message and Error Alert, Clear All, and Excel's questions when the selection has several rules or cells without one.
|
|
32
|
+
- A paste that extends past the sheet's edge is refused with Excel's reason under xlcalc 0.56 and later too, whose rectangle helpers check their arguments strictly.
|
|
33
|
+
|
|
3
34
|
## 0.21.2 (2026-10-20)
|
|
4
35
|
|
|
5
36
|
The first public release. Earlier versions were internal builds and were not published to npm; their changes are folded into this entry, and the README and `docs/` describe the package as it is now. The internal builds were named `xlcalc-sheet`: a host built on them imports `@xlcalc/vue`, `@xlcalc/vue/local` and `@xlcalc/vue/style.css` instead (breaking for that host).
|
package/README.md
CHANGED
|
@@ -48,13 +48,18 @@ More of these, from a table the page already has to a workbook on your server, a
|
|
|
48
48
|
|
|
49
49
|
- [Quick start](docs/quick-start.md): common uses, each with a component that works as written.
|
|
50
50
|
- [API reference](docs/api.md): components, the sheet's methods, the `SheetSource` contract, `memorySource`, `@xlcalc/vue/local`, CSS variables.
|
|
51
|
-
- [Cell editing and keyboard shortcuts](docs/editing.md): Excel's keyboard shortcuts, Point mode, and the features each optional source method enables.
|
|
51
|
+
- [Cell editing and keyboard shortcuts](docs/editing.md): Excel's keyboard shortcuts, Point mode, Spelling, and the features each optional source method enables.
|
|
52
52
|
- [Rows, columns and sheets](docs/sheets.md): row, column and sheet tab context menus, sizes, outline.
|
|
53
53
|
- [Clipboard and fill handle](docs/clipboard.md)
|
|
54
|
-
- [Freeze Panes, Reapply and Trace
|
|
54
|
+
- [Freeze Panes, zoom, Watch Window, Reapply, Show Formulas, Trace Precedents and Trace Dependents](docs/view.md)
|
|
55
|
+
- [Tables](docs/tables.md): Create Table, Convert to Range, Delete Table.
|
|
56
|
+
- [Hyperlinks, notes, Clear and the default font](docs/links-notes.md)
|
|
55
57
|
- [Find and Replace](docs/find-replace.md)
|
|
58
|
+
- [Go To and Symbol](docs/go-to-and-symbol.md)
|
|
56
59
|
- [Data validation](docs/validation.md)
|
|
60
|
+
- [Conditional formatting](docs/conditional-formatting.md): Excel's quick rules, galleries, Clear Rules, New Rule and the Rules Manager as the sheet's methods.
|
|
57
61
|
- [Formula AutoComplete](docs/autocomplete.md)
|
|
62
|
+
- [Defined names](docs/names.md): the Name Box, Define Name, the Name Manager.
|
|
58
63
|
- [The formatting toolbar and Format Cells](docs/toolbar.md)
|
|
59
64
|
- [In-browser calculation](docs/local.md): how `@xlcalc/vue/local` works, xlsx files.
|
|
60
65
|
- [List mode](docs/list-mode.md): the host's list (a view or a report) displayed on the sheet, sorted by the host, with drill-down and a totals row.
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ConditionalFormat } from 'xlcalc/contract';
|
|
2
|
+
import type { SheetMessages } from '../contract/messages.js';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
rule: ConditionalFormat | null;
|
|
5
|
+
messages: SheetMessages;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { ConditionalStyle } from 'xlcalc/contract';
|
|
2
|
+
import type { SheetMessages } from '../contract/messages.js';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
style: ConditionalStyle;
|
|
5
|
+
messages: SheetMessages;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
8
|
+
done: (style: ConditionalStyle) => any;
|
|
9
|
+
close: () => any;
|
|
10
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
11
|
+
onDone?: ((style: ConditionalStyle) => any) | undefined;
|
|
12
|
+
onClose?: (() => any) | undefined;
|
|
13
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
14
|
+
declare const _default: typeof __VLS_export;
|
|
15
|
+
export default _default;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SheetMessages } from '../contract/messages.js';
|
|
2
|
+
import { type RuleDraft } from '../core/cf-draft.js';
|
|
3
|
+
type __VLS_Props = {
|
|
4
|
+
draft: RuleDraft;
|
|
5
|
+
messages: SheetMessages;
|
|
6
|
+
};
|
|
7
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
8
|
+
declare const _default: typeof __VLS_export;
|
|
9
|
+
export default _default;
|
|
@@ -22,8 +22,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {},
|
|
|
22
22
|
}>, {
|
|
23
23
|
outside: boolean;
|
|
24
24
|
focus: string;
|
|
25
|
-
role: "dialog" | "alertdialog";
|
|
26
25
|
as: "div" | "form";
|
|
26
|
+
role: "dialog" | "alertdialog";
|
|
27
27
|
full: boolean;
|
|
28
28
|
backClass: string;
|
|
29
29
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
import { type CompletionItem } from '../core/autocomplete.js';
|
|
1
2
|
import type { SheetMessages } from '../contract/messages.js';
|
|
2
3
|
import { type PopupRect } from './popup.js';
|
|
3
4
|
type __VLS_Props = {
|
|
4
5
|
/** The editor, in the coordinates of the element the list is placed in. */
|
|
5
6
|
rect: PopupRect;
|
|
6
|
-
items: readonly
|
|
7
|
+
items: readonly CompletionItem[];
|
|
7
8
|
/** The highlighted item. */
|
|
8
9
|
active?: number;
|
|
9
10
|
/** The part in view, in the same coordinates: the list goes above the editor where it has no room below and stays inside horizontally. */
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -16,28 +16,31 @@ type __VLS_Props = {
|
|
|
16
16
|
sheet?: SheetViewApi | null;
|
|
17
17
|
/** The host opens its own dialog on `formatCells`: for a host whose listener the toolbar cannot see, such as a custom element's. */
|
|
18
18
|
hostDialog?: boolean;
|
|
19
|
+
/** The Font box's list, in place of Excel's common fonts: a browser does not tell which fonts are installed. */
|
|
20
|
+
fonts?: readonly string[];
|
|
19
21
|
};
|
|
20
22
|
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
23
|
+
error: (message: string) => any;
|
|
21
24
|
select: (place: {
|
|
22
25
|
sheet: string;
|
|
23
26
|
range: string;
|
|
24
27
|
}) => any;
|
|
25
|
-
formatCells: () => any;
|
|
26
|
-
error: (message: string) => any;
|
|
27
28
|
done: () => any;
|
|
29
|
+
formatCells: () => any;
|
|
28
30
|
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
31
|
+
onError?: ((message: string) => any) | undefined;
|
|
29
32
|
onSelect?: ((place: {
|
|
30
33
|
sheet: string;
|
|
31
34
|
range: string;
|
|
32
35
|
}) => any) | undefined;
|
|
33
|
-
onFormatCells?: (() => any) | undefined;
|
|
34
|
-
onError?: ((message: string) => any) | undefined;
|
|
35
36
|
onDone?: (() => any) | undefined;
|
|
37
|
+
onFormatCells?: (() => any) | undefined;
|
|
36
38
|
}>, {
|
|
37
39
|
sheet: SheetViewApi | null;
|
|
38
40
|
locale: string;
|
|
39
41
|
messages: Partial<SheetMessages>;
|
|
40
42
|
hostDialog: boolean;
|
|
43
|
+
fonts: readonly string[];
|
|
41
44
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
42
45
|
declare const _default: typeof __VLS_export;
|
|
43
46
|
export default _default;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { ListSort, SheetFailure, SheetLinkEvent, SheetViewApi, SheetViewProps, SheetViewState } from '../contract/view.js';
|
|
1
|
+
import type { ListSort, SheetFailure, SheetLinkEvent, SheetViewApi, SheetViewProps, SheetViewState, SheetWatch, SheetZoomEvent } from '../contract/view.js';
|
|
2
2
|
type __VLS_Slots = {
|
|
3
3
|
/** The workbook cannot be displayed: the source's error and a retry function. */
|
|
4
4
|
fallback?: (scope: {
|
|
@@ -7,9 +7,10 @@ type __VLS_Slots = {
|
|
|
7
7
|
}) => unknown;
|
|
8
8
|
};
|
|
9
9
|
declare const __VLS_base: import("vue").DefineComponent<SheetViewProps, SheetViewApi, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
10
|
+
zoom: (change: SheetZoomEvent) => any;
|
|
10
11
|
sort: (sort: ListSort) => any;
|
|
11
|
-
state: (state: SheetViewState | null) => any;
|
|
12
12
|
openLink: (link: SheetLinkEvent) => any;
|
|
13
|
+
state: (state: SheetViewState | null) => any;
|
|
13
14
|
cellDrill: (cell: {
|
|
14
15
|
sheet: string;
|
|
15
16
|
cell: string;
|
|
@@ -18,10 +19,12 @@ declare const __VLS_base: import("vue").DefineComponent<SheetViewProps, SheetVie
|
|
|
18
19
|
sheet: string;
|
|
19
20
|
row: number;
|
|
20
21
|
}) => any;
|
|
22
|
+
watches: (list: SheetWatch[]) => any;
|
|
21
23
|
}, string, import("vue").PublicProps, Readonly<SheetViewProps> & Readonly<{
|
|
24
|
+
onZoom?: ((change: SheetZoomEvent) => any) | undefined;
|
|
22
25
|
onSort?: ((sort: ListSort) => any) | undefined;
|
|
23
|
-
onState?: ((state: SheetViewState | null) => any) | undefined;
|
|
24
26
|
onOpenLink?: ((link: SheetLinkEvent) => any) | undefined;
|
|
27
|
+
onState?: ((state: SheetViewState | null) => any) | undefined;
|
|
25
28
|
onCellDrill?: ((cell: {
|
|
26
29
|
sheet: string;
|
|
27
30
|
cell: string;
|
|
@@ -30,13 +33,16 @@ declare const __VLS_base: import("vue").DefineComponent<SheetViewProps, SheetVie
|
|
|
30
33
|
sheet: string;
|
|
31
34
|
row: number;
|
|
32
35
|
}) => any) | undefined;
|
|
36
|
+
onWatches?: ((list: SheetWatch[]) => any) | undefined;
|
|
33
37
|
}>, {
|
|
38
|
+
zoom: Record<string, number>;
|
|
34
39
|
sort: ListSort | null;
|
|
35
|
-
readOnly: boolean;
|
|
36
40
|
locale: string;
|
|
41
|
+
readOnly: boolean;
|
|
37
42
|
focus: {
|
|
38
43
|
ref: string;
|
|
39
44
|
} | null;
|
|
45
|
+
watches: SheetWatch[];
|
|
40
46
|
messages: Partial<import("../contract.js").SheetMessages>;
|
|
41
47
|
storageKey: string;
|
|
42
48
|
cellUrl: (ref: string) => string;
|
|
@@ -45,6 +51,7 @@ declare const __VLS_base: import("vue").DefineComponent<SheetViewProps, SheetVie
|
|
|
45
51
|
edgeRestoresWidth: boolean;
|
|
46
52
|
openRows: boolean;
|
|
47
53
|
hostLinks: boolean;
|
|
54
|
+
noteAuthor: string;
|
|
48
55
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
49
56
|
declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
|
|
50
57
|
declare const _default: typeof __VLS_export;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
type __VLS_Props = {
|
|
2
|
+
/** What the box shows while it is not being edited: the active cell's font or size. */
|
|
3
|
+
value: string;
|
|
4
|
+
items: readonly string[];
|
|
5
|
+
label: string;
|
|
6
|
+
/** The input's hook (`data-tb`); the button that opens the list has `<hook>-list`. */
|
|
7
|
+
hook: string;
|
|
8
|
+
/** The list is open: the toolbar keeps one menu open at a time. */
|
|
9
|
+
open: boolean;
|
|
10
|
+
disabled?: boolean;
|
|
11
|
+
/** The input's width class. */
|
|
12
|
+
fieldClass?: string;
|
|
13
|
+
/** Each item in its own font, as Excel's Font list draws them. */
|
|
14
|
+
preview?: boolean;
|
|
15
|
+
/** Typing completes the text with the first item it begins, as Excel's Font box does. */
|
|
16
|
+
complete?: boolean;
|
|
17
|
+
/** Why a text cannot apply, or null; the box then keeps the text, marked invalid, until it is corrected or Esc restores it. */
|
|
18
|
+
check?: (text: string) => string | null;
|
|
19
|
+
inputmode?: 'text' | 'decimal';
|
|
20
|
+
};
|
|
21
|
+
declare const __VLS_export: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
|
|
22
|
+
apply: (text: string) => any;
|
|
23
|
+
"update:open": (open: boolean) => any;
|
|
24
|
+
leave: () => any;
|
|
25
|
+
}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{
|
|
26
|
+
onApply?: ((text: string) => any) | undefined;
|
|
27
|
+
"onUpdate:open"?: ((open: boolean) => any) | undefined;
|
|
28
|
+
onLeave?: (() => any) | undefined;
|
|
29
|
+
}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
|
|
30
|
+
declare const _default: typeof __VLS_export;
|
|
31
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
declare const __VLS_export: import("vue").DefineComponent<{}, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
2
|
+
declare const _default: typeof __VLS_export;
|
|
3
|
+
export default _default;
|
|
@@ -30,4 +30,5 @@ export declare const IconDown: FunctionalComponent<{}, {}, any, {}>;
|
|
|
30
30
|
export declare const IconSortAsc: FunctionalComponent<{}, {}, any, {}>;
|
|
31
31
|
export declare const IconSortDesc: FunctionalComponent<{}, {}, any, {}>;
|
|
32
32
|
export declare const IconPlus: FunctionalComponent<{}, {}, any, {}>;
|
|
33
|
+
export declare const IconMinus: FunctionalComponent<{}, {}, any, {}>;
|
|
33
34
|
export declare const IconOptions: FunctionalComponent<{}, {}, any, {}>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const IconName: import("vue").FunctionalComponent<{}, {}, any, {}>;
|
|
@@ -22,3 +22,19 @@ export declare const IconMore: FunctionalComponent<{}, {}, any, {}>;
|
|
|
22
22
|
export declare const IconFormatCells: FunctionalComponent<{}, {}, any, {}>;
|
|
23
23
|
/** Merge & Center: a cell's box over the cells it covers, with a two-way arrow. */
|
|
24
24
|
export declare const IconMerge: FunctionalComponent<{}, {}, any, {}>;
|
|
25
|
+
/** Increase and Decrease Font Size: a letter A with a caret up or down beside it, as Excel's buttons draw them. */
|
|
26
|
+
export declare const IconFontUp: FunctionalComponent<{}, {}, any, {}>;
|
|
27
|
+
export declare const IconFontDown: FunctionalComponent<{}, {}, any, {}>;
|
|
28
|
+
/** Top, Middle and Bottom Align: an arrow to a line at the top, to the middle from both sides, to a line at the bottom. */
|
|
29
|
+
export declare const IconAlignTop: FunctionalComponent<{}, {}, any, {}>;
|
|
30
|
+
export declare const IconAlignMiddle: FunctionalComponent<{}, {}, any, {}>;
|
|
31
|
+
export declare const IconAlignBottom: FunctionalComponent<{}, {}, any, {}>;
|
|
32
|
+
/** Decrease and Increase Indent: lines of text with an arrow to the left or to the right before the middle ones. */
|
|
33
|
+
export declare const IconIndentDecrease: FunctionalComponent<{}, {}, any, {}>;
|
|
34
|
+
export declare const IconIndentIncrease: FunctionalComponent<{}, {}, any, {}>;
|
|
35
|
+
/** Percent Style: the percent sign. */
|
|
36
|
+
export declare const IconAccounting: FunctionalComponent<{}, {}, any, {}>;
|
|
37
|
+
export declare const IconComma: FunctionalComponent<{}, {}, any, {}>;
|
|
38
|
+
export declare const IconDecimalUp: FunctionalComponent<{}, {}, any, {}>;
|
|
39
|
+
export declare const IconDecimalDown: FunctionalComponent<{}, {}, any, {}>;
|
|
40
|
+
export declare const IconPercent: FunctionalComponent<{}, {}, any, {}>;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Excel's Conditional Formatting menu on the Home tab, as `SheetViewApi` takes its commands: the quick rules with their
|
|
3
|
+
* small dialogs, the galleries of data bars, color scales and icon sets, Clear Rules, New Rule and Manage Rules.
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* A quick rule from Highlight Cells Rules (Greater Than, Less Than, Between, Equal To, Text that Contains, A Date Occurring,
|
|
7
|
+
* Duplicate Values) or Top/Bottom Rules (Top 10 Items, Top 10%, Bottom 10 Items, Bottom 10%, Above Average, Below
|
|
8
|
+
* Average), each opening Excel's small dialog for the selection.
|
|
9
|
+
*/
|
|
10
|
+
export type QuickRule = 'greaterThan' | 'lessThan' | 'between' | 'equalTo' | 'textContains' | 'dateOccurring' | 'duplicateValues' | 'top10' | 'top10Percent' | 'bottom10' | 'bottom10Percent' | 'aboveAverage' | 'belowAverage';
|
|
11
|
+
/** A data bar of Excel's gallery: its color, with a gradient or a solid fill. */
|
|
12
|
+
export type DataBarColor = 'blue' | 'green' | 'red' | 'orange' | 'lightBlue' | 'purple';
|
|
13
|
+
/** A color scale of Excel's gallery, named from the highest numbers' color to the lowest's (`greenYellowRed`: the highest green). */
|
|
14
|
+
export type ColorScalePreset = 'greenYellowRed' | 'redYellowGreen' | 'greenWhiteRed' | 'redWhiteGreen' | 'blueWhiteRed' | 'redWhiteBlue' | 'whiteRed' | 'redWhite' | 'greenWhite' | 'whiteGreen' | 'greenYellow' | 'yellowGreen';
|
|
15
|
+
/** Excel's Clear Rules: from the selected cells, or from the entire sheet. */
|
|
16
|
+
export type ClearRulesFrom = 'selection' | 'sheet';
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { CellStyle, CellValue, ConditionalAppearance } from 'xlcalc/contract';
|
|
2
2
|
import type { CellUpdate, EditOutcome, SheetInfo, SheetSource, SheetValidationAlert, SourceEvent } from './source.js';
|
|
3
|
+
import type { SheetName, SpellChecker } from './workbook.js';
|
|
3
4
|
/** A cell of the in-memory workbook; a bare value is a cell with that value. */
|
|
4
5
|
export interface MemoryCell {
|
|
5
6
|
value?: CellValue;
|
|
@@ -65,11 +66,15 @@ export interface MemoryBook {
|
|
|
65
66
|
styles?: CellStyle[];
|
|
66
67
|
/** The functions for Formula AutoComplete, by their names as typed in the workbook's formulas, in the order its list displays them; without them the source has no `functionNames`. */
|
|
67
68
|
functions?: string[];
|
|
69
|
+
/** The workbook's defined names, with their formulas as text (there is no engine to calculate them). */
|
|
70
|
+
names?: SheetName[];
|
|
68
71
|
}
|
|
69
72
|
export interface MemorySourceOptions {
|
|
70
73
|
/** Milliseconds every response takes, to see the component waiting; 0 by default. */
|
|
71
74
|
delay?: number;
|
|
72
75
|
maxCells?: number;
|
|
76
|
+
/** The host's word checker for Excel's Spelling; without it the source has no `spelling`. */
|
|
77
|
+
spelling?: SpellChecker;
|
|
73
78
|
}
|
|
74
79
|
export interface MemorySource extends SheetSource {
|
|
75
80
|
/** Responds to the next edits with these failed outcomes instead of applying them (for tests and the example). */
|