@rowsncolumns/utils 9.6.2 → 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.
Files changed (37) hide show
  1. package/dist/cjs/autocorrect.d.ts +28 -0
  2. package/dist/cjs/autocorrect.d.ts.map +1 -0
  3. package/dist/cjs/autocorrect.js +91 -0
  4. package/dist/cjs/index.d.ts +2 -0
  5. package/dist/cjs/index.d.ts.map +1 -1
  6. package/dist/cjs/index.js +2 -0
  7. package/dist/cjs/insert-date-time.d.ts +17 -0
  8. package/dist/cjs/insert-date-time.d.ts.map +1 -0
  9. package/dist/cjs/insert-date-time.js +26 -0
  10. package/dist/cjs/sparkline-groups.d.ts.map +1 -1
  11. package/dist/cjs/sparkline-groups.js +2 -0
  12. package/dist/cjs/table-style-presets.d.ts +9 -0
  13. package/dist/cjs/table-style-presets.d.ts.map +1 -0
  14. package/dist/cjs/table-style-presets.js +559 -0
  15. package/dist/cjs/table-styles.d.ts +52 -1
  16. package/dist/cjs/table-styles.d.ts.map +1 -1
  17. package/dist/cjs/table-styles.js +191 -386
  18. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  19. package/dist/esm/autocorrect.d.ts +28 -0
  20. package/dist/esm/autocorrect.d.ts.map +1 -0
  21. package/dist/esm/autocorrect.js +76 -0
  22. package/dist/esm/index.d.ts +2 -0
  23. package/dist/esm/index.d.ts.map +1 -1
  24. package/dist/esm/index.js +2 -0
  25. package/dist/esm/insert-date-time.d.ts +17 -0
  26. package/dist/esm/insert-date-time.d.ts.map +1 -0
  27. package/dist/esm/insert-date-time.js +21 -0
  28. package/dist/esm/sparkline-groups.d.ts.map +1 -1
  29. package/dist/esm/sparkline-groups.js +2 -0
  30. package/dist/esm/table-style-presets.d.ts +9 -0
  31. package/dist/esm/table-style-presets.d.ts.map +1 -0
  32. package/dist/esm/table-style-presets.js +556 -0
  33. package/dist/esm/table-styles.d.ts +52 -1
  34. package/dist/esm/table-styles.d.ts.map +1 -1
  35. package/dist/esm/table-styles.js +149 -383
  36. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  37. package/package.json +2 -2
@@ -0,0 +1,28 @@
1
+ /**
2
+ * Excel's AutoCorrect for a typed entry (File › Options › Proofing › AutoCorrect Options,
3
+ * "Choose AutoCorrect options for capitalization, spelling, and symbols", support.microsoft.com):
4
+ * the first letter of a sentence capitalised, the symbol replacements of the built-in list, and,
5
+ * under "AutoFormat As You Type", Internet and network paths turned into hyperlinks. Each part has
6
+ * its own switch, as Excel's dialog has; a host turns the whole of it off with `false`. Hyperlinks
7
+ * are the engines' own: both link a bare URL or email address on commit (`SheetCell.setValue`,
8
+ * rnc-store `set_user_value`), so AutoCorrect only leaves such an entry alone.
9
+ */
10
+ export type AutoCorrectOptions = {
11
+ /** "Capitalize first letter of sentences". */
12
+ capitalizeSentences: boolean;
13
+ /** "Replace text as you type": `(c)` → ©, `(tm)` → ™, `...` → …, `-->` → →. */
14
+ replaceText: boolean;
15
+ };
16
+ export declare const DEFAULT_AUTOCORRECT_OPTIONS: AutoCorrectOptions;
17
+ /** The symbol entries of Office's built-in AutoCorrect list, longest first where they overlap. */
18
+ export declare const AUTOCORRECT_REPLACEMENTS: ReadonlyArray<readonly [pattern: RegExp, replacement: string]>;
19
+ /**
20
+ * The entry after AutoCorrect. `lengthPreserving` keeps the text the same length (only
21
+ * capitalisation), for an entry whose rich-text runs index into it.
22
+ */
23
+ export declare const applyAutoCorrect: ({ text, options, lengthPreserving, }: {
24
+ text: string;
25
+ options?: AutoCorrectOptions;
26
+ lengthPreserving?: boolean;
27
+ }) => string;
28
+ //# sourceMappingURL=autocorrect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"autocorrect.d.ts","sourceRoot":"","sources":["../../autocorrect.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAC/B,8CAA8C;IAC9C,mBAAmB,EAAE,OAAO,CAAC;IAC7B,+EAA+E;IAC/E,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAEF,eAAO,MAAM,2BAA2B,EAAE,kBAGzC,CAAC;AAEF,kGAAkG;AAClG,eAAO,MAAM,wBAAwB,EAAE,aAAa,CAClD,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,CAYhD,CAAC;AA2DF;;;GAGG;AACH,eAAO,MAAM,gBAAgB,GAAI,sCAI9B;IACD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,kBAAkB,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B,KAAG,MAQH,CAAC"}
@@ -0,0 +1,91 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.applyAutoCorrect = exports.AUTOCORRECT_REPLACEMENTS = exports.DEFAULT_AUTOCORRECT_OPTIONS = void 0;
4
+ var tslib_1 = require("tslib");
5
+ exports.DEFAULT_AUTOCORRECT_OPTIONS = {
6
+ capitalizeSentences: true,
7
+ replaceText: true,
8
+ };
9
+ /** The symbol entries of Office's built-in AutoCorrect list, longest first where they overlap. */
10
+ exports.AUTOCORRECT_REPLACEMENTS = [
11
+ [/\(c\)/gi, "©"],
12
+ [/\(r\)/gi, "®"],
13
+ [/\(tm\)/gi, "™"],
14
+ [/\(e\)/gi, "€"],
15
+ [/\.\.\./g, "…"],
16
+ [/<=>/g, "⇔"],
17
+ [/==>/g, "⇒"],
18
+ [/<==/g, "⇐"],
19
+ [/-->/g, "→"],
20
+ [/<--/g, "←"],
21
+ ];
22
+ /**
23
+ * Abbreviations a period ends without ending the sentence, as Office's AutoCorrect exceptions list
24
+ * keeps them: the word after `e.g.` or `approx.` stays as typed.
25
+ */
26
+ var SENTENCE_EXCEPTIONS = new Set([
27
+ "approx",
28
+ "co",
29
+ "dept",
30
+ "dr",
31
+ "etc",
32
+ "fig",
33
+ "inc",
34
+ "incl",
35
+ "jr",
36
+ "ltd",
37
+ "mr",
38
+ "mrs",
39
+ "ms",
40
+ "no",
41
+ "sr",
42
+ "st",
43
+ "vs",
44
+ ]);
45
+ /** A sentence end (`.`, `!`, `?`), the space after it and the next word's first character. */
46
+ var SENTENCE_START = /(\S*)([.!?])(\s+)(\S)/g;
47
+ var capitalizeSentences = function (text) {
48
+ return text.replace(SENTENCE_START, function (match, word, end, space, letter) {
49
+ var upper = letter.toUpperCase();
50
+ // Only a lower-case letter changes (not a digit, a symbol or a capital).
51
+ if (upper === letter || letter !== letter.toLowerCase())
52
+ return match;
53
+ if (end === ".") {
54
+ var bare = word.toLowerCase();
55
+ // `e.g.` / `i.e.` (a period inside the word) and the listed abbreviations.
56
+ if (bare.includes(".") || SENTENCE_EXCEPTIONS.has(bare))
57
+ return match;
58
+ }
59
+ return "".concat(word).concat(end).concat(space).concat(upper);
60
+ });
61
+ };
62
+ var replaceText = function (text) {
63
+ return exports.AUTOCORRECT_REPLACEMENTS.reduce(function (current, _a) {
64
+ var _b = tslib_1.__read(_a, 2), pattern = _b[0], replacement = _b[1];
65
+ return current.replace(pattern, replacement);
66
+ }, text);
67
+ };
68
+ /** An entry AutoCorrect leaves as typed: a formula, or a number. */
69
+ var isAutoCorrectExempt = function (text) {
70
+ return text.startsWith("=") || (text.trim() !== "" && Number.isFinite(Number(text)));
71
+ };
72
+ /** A whole entry that is a web or email address, which the engines turn into a link. */
73
+ var LINK_ENTRY = /^(?:(?:https?|ftp):\/\/|mailto:|www\.)\S+$|^[^\s@]+@[^\s@]+\.[^\s@]+$/i;
74
+ var isLinkEntry = function (text) { return LINK_ENTRY.test(text.trim()); };
75
+ /**
76
+ * The entry after AutoCorrect. `lengthPreserving` keeps the text the same length (only
77
+ * capitalisation), for an entry whose rich-text runs index into it.
78
+ */
79
+ var applyAutoCorrect = function (_a) {
80
+ var text = _a.text, _b = _a.options, options = _b === void 0 ? exports.DEFAULT_AUTOCORRECT_OPTIONS : _b, _c = _a.lengthPreserving, lengthPreserving = _c === void 0 ? false : _c;
81
+ if (isAutoCorrectExempt(text) || isLinkEntry(text)) {
82
+ return text;
83
+ }
84
+ var next = text;
85
+ if (options.replaceText && !lengthPreserving)
86
+ next = replaceText(next);
87
+ if (options.capitalizeSentences)
88
+ next = capitalizeSentences(next);
89
+ return next;
90
+ };
91
+ exports.applyAutoCorrect = applyAutoCorrect;
@@ -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
@@ -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/cjs/index.js CHANGED
@@ -37,3 +37,5 @@ tslib_1.__exportStar(require("./sparkline-groups"), exports);
37
37
  tslib_1.__exportStar(require("./rich-text-html"), exports);
38
38
  tslib_1.__exportStar(require("./clipboard-html-sanitize"), exports);
39
39
  tslib_1.__exportStar(require("./rich-text-links"), exports);
40
+ tslib_1.__exportStar(require("./insert-date-time"), exports);
41
+ tslib_1.__exportStar(require("./autocorrect"), exports);
@@ -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,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.formatInsertedDateTime = void 0;
4
+ var date_1 = require("./date");
5
+ var formatter_1 = require("./formatter");
6
+ var locale_1 = require("./locale");
7
+ /** ICU's narrow and plain no-break spaces (`2:05\u202fPM`), which a person types as a space. */
8
+ var NO_BREAK_SPACES = /[\u00a0\u202f]/g;
9
+ /**
10
+ * The text Excel's Ctrl+; (the date) and Ctrl+Shift+; (the time) type, as the
11
+ * locale writes a short date or a time to the minute: en-US `11/3/2026` and
12
+ * `2:05 PM`, de-DE `3.11.2026` and `14:05`. It is the text a person would type,
13
+ * so committing it lets the date parser give the cell the matching Short Date
14
+ * or Time format ("Keyboard shortcuts in Excel", support.microsoft.com:
15
+ * "Enter the current date: Ctrl+Semicolon", "Enter the current time:
16
+ * Ctrl+Shift+Colon").
17
+ */
18
+ var formatInsertedDateTime = function (_a) {
19
+ var kind = _a.kind, _b = _a.date, date = _b === void 0 ? new Date() : _b, _c = _a.locale, locale = _c === void 0 ? (0, locale_1.getCurrentLocale)() : _c;
20
+ var serial = (0, date_1.toSerial)(date);
21
+ var text = kind === "date"
22
+ ? (0, formatter_1.ssfFormat)((0, locale_1.getDefaultDateFormat)(locale), Math.floor(serial), locale)
23
+ : (0, formatter_1.ssfFormat)((0, locale_1.getDefaultTimeFormat)(locale, "minute"), serial - Math.floor(serial), locale);
24
+ return text.replace(NO_BREAK_SPACES, " ");
25
+ };
26
+ exports.formatInsertedDateTime = formatInsertedDateTime;
@@ -1 +1 @@
1
- {"version":3,"file":"sparkline-groups.d.ts","sourceRoot":"","sources":["../../sparkline-groups.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sparkline-groups.d.ts","sourceRoot":"","sources":["../../sparkline-groups.ts"],"names":[],"mappings":"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"}
@@ -35,6 +35,7 @@ var OPTION_KEYS = {
35
35
  min: "min",
36
36
  minaxistype: "minaxistype",
37
37
  maxaxistype: "maxaxistype",
38
+ group: "group",
38
39
  };
39
40
  /** Emission order of `buildSparklineFormula` — the XLSX importers' order, so a group written here
40
41
  * and a group read from a workbook produce byte-identical formulas. */
@@ -63,6 +64,7 @@ var OPTION_ORDER = [
63
64
  "min",
64
65
  "minaxistype",
65
66
  "maxaxistype",
67
+ "group",
66
68
  ];
67
69
  var SPARKLINE_HEAD = /^\s*=\s*SPARKLINE\s*\(/i;
68
70
  var isSparklineFormula = function (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"}