@rowsncolumns/utils 9.6.1 → 9.6.3
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/cjs/autocorrect.d.ts +28 -0
- package/dist/cjs/autocorrect.d.ts.map +1 -0
- package/dist/cjs/autocorrect.js +91 -0
- package/dist/cjs/excel-number-format.d.ts.map +1 -1
- package/dist/cjs/excel-number-format.js +13 -1
- package/dist/cjs/formatter.d.ts.map +1 -1
- package/dist/cjs/formatter.js +1 -9
- package/dist/cjs/index.d.ts +2 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +2 -0
- package/dist/cjs/insert-date-time.d.ts +17 -0
- package/dist/cjs/insert-date-time.d.ts.map +1 -0
- package/dist/cjs/insert-date-time.js +26 -0
- package/dist/cjs/selection.d.ts.map +1 -1
- package/dist/cjs/selection.js +2 -2
- package/dist/cjs/sparkline-groups.d.ts.map +1 -1
- package/dist/cjs/sparkline-groups.js +2 -0
- package/dist/cjs/table-style-presets.d.ts +9 -0
- package/dist/cjs/table-style-presets.d.ts.map +1 -0
- package/dist/cjs/table-style-presets.js +559 -0
- package/dist/cjs/table-styles.d.ts +52 -1
- package/dist/cjs/table-styles.d.ts.map +1 -1
- package/dist/cjs/table-styles.js +191 -386
- package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
- package/dist/esm/autocorrect.d.ts +28 -0
- package/dist/esm/autocorrect.d.ts.map +1 -0
- package/dist/esm/autocorrect.js +76 -0
- package/dist/esm/excel-number-format.d.ts.map +1 -1
- package/dist/esm/excel-number-format.js +13 -1
- package/dist/esm/formatter.d.ts.map +1 -1
- package/dist/esm/formatter.js +1 -7
- package/dist/esm/index.d.ts +2 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/insert-date-time.d.ts +17 -0
- package/dist/esm/insert-date-time.d.ts.map +1 -0
- package/dist/esm/insert-date-time.js +21 -0
- package/dist/esm/selection.d.ts.map +1 -1
- package/dist/esm/selection.js +2 -2
- package/dist/esm/sparkline-groups.d.ts.map +1 -1
- package/dist/esm/sparkline-groups.js +2 -0
- package/dist/esm/table-style-presets.d.ts +9 -0
- package/dist/esm/table-style-presets.d.ts.map +1 -0
- package/dist/esm/table-style-presets.js +556 -0
- package/dist/esm/table-styles.d.ts +52 -1
- package/dist/esm/table-styles.d.ts.map +1 -1
- package/dist/esm/table-styles.js +149 -383
- package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
export const DEFAULT_AUTOCORRECT_OPTIONS = {
|
|
2
|
+
capitalizeSentences: true,
|
|
3
|
+
replaceText: true,
|
|
4
|
+
};
|
|
5
|
+
/** The symbol entries of Office's built-in AutoCorrect list, longest first where they overlap. */
|
|
6
|
+
export const AUTOCORRECT_REPLACEMENTS = [
|
|
7
|
+
[/\(c\)/gi, "©"],
|
|
8
|
+
[/\(r\)/gi, "®"],
|
|
9
|
+
[/\(tm\)/gi, "™"],
|
|
10
|
+
[/\(e\)/gi, "€"],
|
|
11
|
+
[/\.\.\./g, "…"],
|
|
12
|
+
[/<=>/g, "⇔"],
|
|
13
|
+
[/==>/g, "⇒"],
|
|
14
|
+
[/<==/g, "⇐"],
|
|
15
|
+
[/-->/g, "→"],
|
|
16
|
+
[/<--/g, "←"],
|
|
17
|
+
];
|
|
18
|
+
/**
|
|
19
|
+
* Abbreviations a period ends without ending the sentence, as Office's AutoCorrect exceptions list
|
|
20
|
+
* keeps them: the word after `e.g.` or `approx.` stays as typed.
|
|
21
|
+
*/
|
|
22
|
+
const SENTENCE_EXCEPTIONS = new Set([
|
|
23
|
+
"approx",
|
|
24
|
+
"co",
|
|
25
|
+
"dept",
|
|
26
|
+
"dr",
|
|
27
|
+
"etc",
|
|
28
|
+
"fig",
|
|
29
|
+
"inc",
|
|
30
|
+
"incl",
|
|
31
|
+
"jr",
|
|
32
|
+
"ltd",
|
|
33
|
+
"mr",
|
|
34
|
+
"mrs",
|
|
35
|
+
"ms",
|
|
36
|
+
"no",
|
|
37
|
+
"sr",
|
|
38
|
+
"st",
|
|
39
|
+
"vs",
|
|
40
|
+
]);
|
|
41
|
+
/** A sentence end (`.`, `!`, `?`), the space after it and the next word's first character. */
|
|
42
|
+
const SENTENCE_START = /(\S*)([.!?])(\s+)(\S)/g;
|
|
43
|
+
const capitalizeSentences = (text) => text.replace(SENTENCE_START, (match, word, end, space, letter) => {
|
|
44
|
+
const upper = letter.toUpperCase();
|
|
45
|
+
// Only a lower-case letter changes (not a digit, a symbol or a capital).
|
|
46
|
+
if (upper === letter || letter !== letter.toLowerCase())
|
|
47
|
+
return match;
|
|
48
|
+
if (end === ".") {
|
|
49
|
+
const bare = word.toLowerCase();
|
|
50
|
+
// `e.g.` / `i.e.` (a period inside the word) and the listed abbreviations.
|
|
51
|
+
if (bare.includes(".") || SENTENCE_EXCEPTIONS.has(bare))
|
|
52
|
+
return match;
|
|
53
|
+
}
|
|
54
|
+
return `${word}${end}${space}${upper}`;
|
|
55
|
+
});
|
|
56
|
+
const replaceText = (text) => AUTOCORRECT_REPLACEMENTS.reduce((current, [pattern, replacement]) => current.replace(pattern, replacement), text);
|
|
57
|
+
/** An entry AutoCorrect leaves as typed: a formula, or a number. */
|
|
58
|
+
const isAutoCorrectExempt = (text) => text.startsWith("=") || (text.trim() !== "" && Number.isFinite(Number(text)));
|
|
59
|
+
/** A whole entry that is a web or email address, which the engines turn into a link. */
|
|
60
|
+
const LINK_ENTRY = /^(?:(?:https?|ftp):\/\/|mailto:|www\.)\S+$|^[^\s@]+@[^\s@]+\.[^\s@]+$/i;
|
|
61
|
+
const isLinkEntry = (text) => LINK_ENTRY.test(text.trim());
|
|
62
|
+
/**
|
|
63
|
+
* The entry after AutoCorrect. `lengthPreserving` keeps the text the same length (only
|
|
64
|
+
* capitalisation), for an entry whose rich-text runs index into it.
|
|
65
|
+
*/
|
|
66
|
+
export const applyAutoCorrect = ({ text, options = DEFAULT_AUTOCORRECT_OPTIONS, lengthPreserving = false, }) => {
|
|
67
|
+
if (isAutoCorrectExempt(text) || isLinkEntry(text)) {
|
|
68
|
+
return text;
|
|
69
|
+
}
|
|
70
|
+
let next = text;
|
|
71
|
+
if (options.replaceText && !lengthPreserving)
|
|
72
|
+
next = replaceText(next);
|
|
73
|
+
if (options.capitalizeSentences)
|
|
74
|
+
next = capitalizeSentences(next);
|
|
75
|
+
return next;
|
|
76
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"excel-number-format.d.ts","sourceRoot":"","sources":["../../excel-number-format.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"excel-number-format.d.ts","sourceRoot":"","sources":["../../excel-number-format.ts"],"names":[],"mappings":"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"}
|
|
@@ -621,7 +621,9 @@ export const excelNumberPrePass = (pattern, value, l10n, render) => {
|
|
|
621
621
|
if (!info)
|
|
622
622
|
return { value };
|
|
623
623
|
if (info.kind === "date") {
|
|
624
|
-
|
|
624
|
+
// A negative date or time — an elapsed `[h]:mm` duration included —
|
|
625
|
+
// shows `#######` in Excel's 1900 date system.
|
|
626
|
+
if (info.isElapsed && sections.length === 1 && value >= 0)
|
|
625
627
|
return { value };
|
|
626
628
|
if (value < 0 || value >= MAX_DATE_SERIAL_EXCLUSIVE) {
|
|
627
629
|
return { text: DATE_OVERFLOW_DISPLAY, value };
|
|
@@ -636,5 +638,15 @@ export const excelNumberPrePass = (pattern, value, l10n, render) => {
|
|
|
636
638
|
if (index === 1 && value < 0 && pre.text === undefined && pre.value === 0) {
|
|
637
639
|
return { text: render(sections[index], 0), value };
|
|
638
640
|
}
|
|
641
|
+
// A one-section format keeps the minus of a negative that rounds to zero:
|
|
642
|
+
// Excel shows -0.4 in `0` as `-0` (and -0.004 in `0.00` as `-0.00`).
|
|
643
|
+
if (index === 0 &&
|
|
644
|
+
implicitSign &&
|
|
645
|
+
value < 0 &&
|
|
646
|
+
info.kind === "number" &&
|
|
647
|
+
pre.text === undefined &&
|
|
648
|
+
pre.value === 0) {
|
|
649
|
+
return { text: `-${render(sections[0], 0)}`, value };
|
|
650
|
+
}
|
|
639
651
|
return pre;
|
|
640
652
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../formatter.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,OASlE,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,GAAG,SAAS,GAAG,IAAI,KACjC,OAWF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,OAWlE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,OAOlE,CAAC;
|
|
1
|
+
{"version":3,"file":"formatter.d.ts","sourceRoot":"","sources":["../../formatter.ts"],"names":[],"mappings":"AAkBA;;;;;;;;;;;;;;GAcG;AACH,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,OASlE,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,GAAG,SAAS,GAAG,IAAI,KACjC,OAWF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,OAWlE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,MAAM,GAAG,SAAS,GAAG,IAAI,KAAG,OAOlE,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,GAAI,SAAS,MAAM,KAAG,OA4B1D,CAAC;AA+LF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,KAAG,MAAM,GAAG,SA4C9D,CAAC;AAiIF;;;;;;;;;;GAUG;AACH,eAAO,MAAM,sBAAsB,GACjC,SAAS,MAAM,EACf,SAAS,MAAM,KACd,MAAM,GAAG,SAiBX,CAAC;AAiBF,eAAO,MAAM,SAAS,GACpB,SAAS,MAAM,EACf,OAAO,GAAG,EACV,SAAS,MAAM,KACd,MASF,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,sBAAsB,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,GAC9B;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAC;AAoDtB;;;;;;;;;;;;;GAaG;AACH,eAAO,MAAM,eAAe,GAC1B,SAAS,MAAM,EACf,OAAO,GAAG,EACV,SAAS,MAAM,KACd,sBAAsB,EAAE,GAAG,SA8C7B,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,sBAAsB,GACjC,OAAO,SAAS,sBAAsB,EAAE,KACvC,MAOF,CAAC;AAyPF,eAAO,MAAM,cAAc,GACzB,SAAS,MAAM,EACf,OAAO,GAAG,KACT,MAAM,GAAG,SAoBX,CAAC"}
|
package/dist/esm/formatter.js
CHANGED
|
@@ -70,8 +70,6 @@ export const isTextPattern = (pattern) => {
|
|
|
70
70
|
return false;
|
|
71
71
|
}
|
|
72
72
|
};
|
|
73
|
-
const isSingleSectionElapsedTimePattern = (pattern) => !pattern.includes(";") &&
|
|
74
|
-
/\[(?:h+|m+|s+)\]/i.test(pattern.replace(/\[\$[^\]]+\]/g, ""));
|
|
75
73
|
/**
|
|
76
74
|
* Does the pattern spell a month name (`mmm`+) with no day-of-month field
|
|
77
75
|
* (`d`/`dd`) beside it? Quoted literals, bracket directives and escaped
|
|
@@ -680,11 +678,7 @@ function ssfFormatBase(pattern, value, locale, layout) {
|
|
|
680
678
|
}
|
|
681
679
|
value = pre.value;
|
|
682
680
|
}
|
|
683
|
-
|
|
684
|
-
value < 0 &&
|
|
685
|
-
isSingleSectionElapsedTimePattern(pattern);
|
|
686
|
-
const formatted = format(code, isNegativeElapsedTime ? Math.abs(value) : value, options);
|
|
687
|
-
return isNegativeElapsedTime ? `-${formatted}` : formatted;
|
|
681
|
+
return format(code, value, options);
|
|
688
682
|
}
|
|
689
683
|
catch (err) {
|
|
690
684
|
return layout ? undefined : String(value);
|
package/dist/esm/index.d.ts
CHANGED
|
@@ -34,4 +34,6 @@ export * from "./sparkline-groups";
|
|
|
34
34
|
export * from "./rich-text-html";
|
|
35
35
|
export * from "./clipboard-html-sanitize";
|
|
36
36
|
export * from "./rich-text-links";
|
|
37
|
+
export * from "./insert-date-time";
|
|
38
|
+
export * from "./autocorrect";
|
|
37
39
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/esm/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,cAAc,CAAC;AAC7B,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AACtB,cAAc,UAAU,CAAC;AACzB,cAAc,QAAQ,CAAC;AACvB,cAAc,OAAO,CAAC;AACtB,cAAc,SAAS,CAAC;AACxB,cAAc,uBAAuB,CAAC;AACtC,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,qBAAqB,CAAC;AACpC,cAAc,aAAa,CAAC;AAC5B,cAAc,UAAU,CAAC;AACzB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,QAAQ,CAAC;AACvB,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,sBAAsB,CAAC;AACrC,cAAc,mBAAmB,CAAC;AAClC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,2BAA2B,CAAC;AAC1C,cAAc,YAAY,CAAC;AAC3B,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,eAAe,CAAC;AAC9B,cAAc,oBAAoB,CAAC;AACnC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,oBAAoB,CAAC;AACnC,cAAc,eAAe,CAAC"}
|
package/dist/esm/index.js
CHANGED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/** What Excel's Ctrl+; and Ctrl+Shift+; type into a cell. */
|
|
2
|
+
export type InsertedDateTimeKind = "date" | "time";
|
|
3
|
+
/**
|
|
4
|
+
* The text Excel's Ctrl+; (the date) and Ctrl+Shift+; (the time) type, as the
|
|
5
|
+
* locale writes a short date or a time to the minute: en-US `11/3/2026` and
|
|
6
|
+
* `2:05 PM`, de-DE `3.11.2026` and `14:05`. It is the text a person would type,
|
|
7
|
+
* so committing it lets the date parser give the cell the matching Short Date
|
|
8
|
+
* or Time format ("Keyboard shortcuts in Excel", support.microsoft.com:
|
|
9
|
+
* "Enter the current date: Ctrl+Semicolon", "Enter the current time:
|
|
10
|
+
* Ctrl+Shift+Colon").
|
|
11
|
+
*/
|
|
12
|
+
export declare const formatInsertedDateTime: ({ kind, date, locale, }: {
|
|
13
|
+
kind: InsertedDateTimeKind;
|
|
14
|
+
date?: Date;
|
|
15
|
+
locale?: string;
|
|
16
|
+
}) => string;
|
|
17
|
+
//# sourceMappingURL=insert-date-time.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insert-date-time.d.ts","sourceRoot":"","sources":["../../insert-date-time.ts"],"names":[],"mappings":"AAQA,6DAA6D;AAC7D,MAAM,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,CAAC;AAKnD;;;;;;;;GAQG;AACH,eAAO,MAAM,sBAAsB,GAAI,yBAIpC;IACD,IAAI,EAAE,oBAAoB,CAAC;IAC3B,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,KAAG,MAWH,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { toSerial } from "./date";
|
|
2
|
+
import { ssfFormat } from "./formatter";
|
|
3
|
+
import { getCurrentLocale, getDefaultDateFormat, getDefaultTimeFormat, } from "./locale";
|
|
4
|
+
/** ICU's narrow and plain no-break spaces (`2:05\u202fPM`), which a person types as a space. */
|
|
5
|
+
const NO_BREAK_SPACES = /[\u00a0\u202f]/g;
|
|
6
|
+
/**
|
|
7
|
+
* The text Excel's Ctrl+; (the date) and Ctrl+Shift+; (the time) type, as the
|
|
8
|
+
* locale writes a short date or a time to the minute: en-US `11/3/2026` and
|
|
9
|
+
* `2:05 PM`, de-DE `3.11.2026` and `14:05`. It is the text a person would type,
|
|
10
|
+
* so committing it lets the date parser give the cell the matching Short Date
|
|
11
|
+
* or Time format ("Keyboard shortcuts in Excel", support.microsoft.com:
|
|
12
|
+
* "Enter the current date: Ctrl+Semicolon", "Enter the current time:
|
|
13
|
+
* Ctrl+Shift+Colon").
|
|
14
|
+
*/
|
|
15
|
+
export const formatInsertedDateTime = ({ kind, date = new Date(), locale = getCurrentLocale(), }) => {
|
|
16
|
+
const serial = toSerial(date);
|
|
17
|
+
const text = kind === "date"
|
|
18
|
+
? ssfFormat(getDefaultDateFormat(locale), Math.floor(serial), locale)
|
|
19
|
+
: ssfFormat(getDefaultTimeFormat(locale, "minute"), serial - Math.floor(serial), locale);
|
|
20
|
+
return text.replace(NO_BREAK_SPACES, " ");
|
|
21
|
+
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../selection.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"selection.d.ts","sourceRoot":"","sources":["../../selection.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/selection.js
CHANGED
|
@@ -294,11 +294,11 @@ export const cellToArea = ({ rowIndex, columnIndex, }) => {
|
|
|
294
294
|
/**
|
|
295
295
|
* Convert font size from points to pixels.
|
|
296
296
|
*/
|
|
297
|
-
export const pointToPixel = (pt) =>
|
|
297
|
+
export const pointToPixel = (pt) => (pt * 96) / 72;
|
|
298
298
|
/**
|
|
299
299
|
* Convert font size from pixels to points.
|
|
300
300
|
*/
|
|
301
|
-
export const pixelToPoint = (px) => Math.round((px
|
|
301
|
+
export const pixelToPoint = (px) => Math.round((px * 72) / 96);
|
|
302
302
|
/**
|
|
303
303
|
* Resolve a table column name to absolute column index.
|
|
304
304
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sparkline-groups.d.ts","sourceRoot":"","sources":["../../sparkline-groups.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,SAAS,EACT,sBAAsB,EACvB,MAAM,4BAA4B,CAAC;AAIpC;;;;;;;;;GASG;AAEH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE/D,oFAAoF;AACpF,MAAM,MAAM,oBAAoB,GAAG;IACjC,IAAI,EAAE,aAAa,CAAC;IACpB,iFAAiF;IACjF,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,mFAAmF;AACnF,MAAM,MAAM,qBAAqB,GAAG,IAAI,CAAC,sBAAsB,EAAE,WAAW,CAAC,CAAC;AAE9E,MAAM,MAAM,cAAc,GAAG;IAC3B,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,kBAAkB,CAAC;IACzB,OAAO,EAAE,qBAAqB,CAAC;IAC/B,2DAA2D;IAC3D,OAAO,EAAE,oBAAoB,EAAE,CAAC;CACjC,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,sBAAsB,CAAC;CACjC,CAAC;
|
|
1
|
+
{"version":3,"file":"sparkline-groups.d.ts","sourceRoot":"","sources":["../../sparkline-groups.ts"],"names":[],"mappings":"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"}
|
|
@@ -31,6 +31,7 @@ const OPTION_KEYS = {
|
|
|
31
31
|
min: "min",
|
|
32
32
|
minaxistype: "minaxistype",
|
|
33
33
|
maxaxistype: "maxaxistype",
|
|
34
|
+
group: "group",
|
|
34
35
|
};
|
|
35
36
|
/** Emission order of `buildSparklineFormula` — the XLSX importers' order, so a group written here
|
|
36
37
|
* and a group read from a workbook produce byte-identical formulas. */
|
|
@@ -59,6 +60,7 @@ const OPTION_ORDER = [
|
|
|
59
60
|
"min",
|
|
60
61
|
"minaxistype",
|
|
61
62
|
"maxaxistype",
|
|
63
|
+
"group",
|
|
62
64
|
];
|
|
63
65
|
const SPARKLINE_HEAD = /^\s*=\s*SPARKLINE\s*\(/i;
|
|
64
66
|
export const isSparklineFormula = (formula) => typeof formula === "string" && SPARKLINE_HEAD.test(formula);
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Generated by scripts/gen-table-style-presets.mjs from ECMA-376 presetTableStyles.xml — do not edit.
|
|
3
|
+
*
|
|
4
|
+
* Excel's built-in table styles, element by element. Colours stay theme + tint references so
|
|
5
|
+
* they resolve through the workbook theme.
|
|
6
|
+
*/
|
|
7
|
+
import type { TableStyleElements } from "./table-styles";
|
|
8
|
+
export declare const TABLE_STYLE_PRESETS: Readonly<Record<string, TableStyleElements>>;
|
|
9
|
+
//# sourceMappingURL=table-style-presets.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"table-style-presets.d.ts","sourceRoot":"","sources":["../../table-style-presets.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAEzD,eAAO,MAAM,mBAAmB,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CA2iB5E,CAAC"}
|