@rowsncolumns/spreadsheet-state 29.1.19 → 29.3.2

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 (139) hide show
  1. package/dist/cjs/api/border.d.ts +1 -1
  2. package/dist/cjs/api/border.d.ts.map +1 -1
  3. package/dist/cjs/api/goal-seek.d.ts +44 -2
  4. package/dist/cjs/api/goal-seek.d.ts.map +1 -1
  5. package/dist/cjs/api/goal-seek.js +219 -1
  6. package/dist/cjs/commands.d.ts +50 -3
  7. package/dist/cjs/commands.d.ts.map +1 -1
  8. package/dist/cjs/components/editors/cell-format/alignment-tab.d.ts +27 -0
  9. package/dist/cjs/components/editors/cell-format/alignment-tab.d.ts.map +1 -0
  10. package/dist/cjs/components/editors/cell-format/alignment-tab.js +83 -0
  11. package/dist/cjs/components/editors/cell-format/border-edges.d.ts +42 -0
  12. package/dist/cjs/components/editors/cell-format/border-edges.d.ts.map +1 -0
  13. package/dist/cjs/components/editors/cell-format/border-edges.js +118 -0
  14. package/dist/cjs/components/editors/cell-format/border-tab.d.ts +21 -0
  15. package/dist/cjs/components/editors/cell-format/border-tab.d.ts.map +1 -0
  16. package/dist/cjs/components/editors/cell-format/border-tab.js +123 -0
  17. package/dist/cjs/components/editors/cell-format/fill-tab.d.ts +14 -0
  18. package/dist/cjs/components/editors/cell-format/fill-tab.d.ts.map +1 -0
  19. package/dist/cjs/components/editors/cell-format/fill-tab.js +54 -0
  20. package/dist/cjs/components/editors/cell-format/font-tab.d.ts +18 -0
  21. package/dist/cjs/components/editors/cell-format/font-tab.d.ts.map +1 -0
  22. package/dist/cjs/components/editors/cell-format/font-tab.js +99 -0
  23. package/dist/cjs/components/editors/cell-format/list-box.d.ts +35 -0
  24. package/dist/cjs/components/editors/cell-format/list-box.d.ts.map +1 -0
  25. package/dist/cjs/components/editors/cell-format/list-box.js +37 -0
  26. package/dist/cjs/components/editors/cell-format/number-formats.d.ts +90 -0
  27. package/dist/cjs/components/editors/cell-format/number-formats.d.ts.map +1 -0
  28. package/dist/cjs/components/editors/cell-format/number-formats.js +403 -0
  29. package/dist/cjs/components/editors/cell-format/number-tab.d.ts +12 -0
  30. package/dist/cjs/components/editors/cell-format/number-tab.d.ts.map +1 -0
  31. package/dist/cjs/components/editors/cell-format/number-tab.js +194 -0
  32. package/dist/cjs/components/editors/cell-format/protection-tab.d.ts +13 -0
  33. package/dist/cjs/components/editors/cell-format/protection-tab.d.ts.map +1 -0
  34. package/dist/cjs/components/editors/cell-format/protection-tab.js +13 -0
  35. package/dist/cjs/components/editors/cell-format-editor.d.ts +31 -3
  36. package/dist/cjs/components/editors/cell-format-editor.d.ts.map +1 -1
  37. package/dist/cjs/components/editors/cell-format-editor.js +182 -636
  38. package/dist/cjs/components/editors/conditional-format-data-bar-options.d.ts +16 -0
  39. package/dist/cjs/components/editors/conditional-format-data-bar-options.d.ts.map +1 -0
  40. package/dist/cjs/components/editors/conditional-format-data-bar-options.js +166 -0
  41. package/dist/cjs/components/editors/conditional-format-editor.d.ts +7 -1
  42. package/dist/cjs/components/editors/conditional-format-editor.d.ts.map +1 -1
  43. package/dist/cjs/components/editors/conditional-format-editor.js +51 -9
  44. package/dist/cjs/components/editors/conditional-format-icon-set-options.d.ts +17 -0
  45. package/dist/cjs/components/editors/conditional-format-icon-set-options.d.ts.map +1 -0
  46. package/dist/cjs/components/editors/conditional-format-icon-set-options.js +163 -0
  47. package/dist/cjs/components/editors/conditional-format-rule-editor.d.ts +9 -0
  48. package/dist/cjs/components/editors/conditional-format-rule-editor.d.ts.map +1 -1
  49. package/dist/cjs/components/editors/conditional-format-rule-editor.js +97 -125
  50. package/dist/cjs/components/editors/sheet-filter.d.ts +20 -9
  51. package/dist/cjs/components/editors/sheet-filter.d.ts.map +1 -1
  52. package/dist/cjs/components/editors/sheet-filter.js +44 -12
  53. package/dist/cjs/hooks/use-conditional-formatting-rules.d.ts +2 -0
  54. package/dist/cjs/hooks/use-conditional-formatting-rules.d.ts.map +1 -1
  55. package/dist/cjs/hooks/use-conditional-formatting-rules.js +22 -1
  56. package/dist/cjs/hooks/use-on-goal-seek.d.ts +9 -1
  57. package/dist/cjs/hooks/use-on-goal-seek.d.ts.map +1 -1
  58. package/dist/cjs/hooks/use-on-goal-seek.js +43 -11
  59. package/dist/cjs/hooks/use-spreadsheet-state.d.ts +3 -1
  60. package/dist/cjs/hooks/use-spreadsheet-state.d.ts.map +1 -1
  61. package/dist/cjs/hooks/use-spreadsheet-state.js +5 -2
  62. package/dist/cjs/interface/change-border.d.ts.map +1 -1
  63. package/dist/cjs/interface/change-border.js +8 -1
  64. package/dist/cjs/interface/conditional-formatting-rules.d.ts +11 -1
  65. package/dist/cjs/interface/conditional-formatting-rules.d.ts.map +1 -1
  66. package/dist/cjs/interface/conditional-formatting-rules.js +44 -1
  67. package/dist/cjs/sheet-cell.d.ts +10 -0
  68. package/dist/cjs/sheet-cell.d.ts.map +1 -1
  69. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  70. package/dist/esm/api/border.d.ts +1 -1
  71. package/dist/esm/api/border.d.ts.map +1 -1
  72. package/dist/esm/api/goal-seek.d.ts +44 -2
  73. package/dist/esm/api/goal-seek.d.ts.map +1 -1
  74. package/dist/esm/api/goal-seek.js +136 -0
  75. package/dist/esm/commands.d.ts +50 -3
  76. package/dist/esm/commands.d.ts.map +1 -1
  77. package/dist/esm/components/editors/cell-format/alignment-tab.d.ts +27 -0
  78. package/dist/esm/components/editors/cell-format/alignment-tab.d.ts.map +1 -0
  79. package/dist/esm/components/editors/cell-format/alignment-tab.js +81 -0
  80. package/dist/esm/components/editors/cell-format/border-edges.d.ts +42 -0
  81. package/dist/esm/components/editors/cell-format/border-edges.d.ts.map +1 -0
  82. package/dist/esm/components/editors/cell-format/border-edges.js +79 -0
  83. package/dist/esm/components/editors/cell-format/border-tab.d.ts +21 -0
  84. package/dist/esm/components/editors/cell-format/border-tab.d.ts.map +1 -0
  85. package/dist/esm/components/editors/cell-format/border-tab.js +103 -0
  86. package/dist/esm/components/editors/cell-format/fill-tab.d.ts +14 -0
  87. package/dist/esm/components/editors/cell-format/fill-tab.d.ts.map +1 -0
  88. package/dist/esm/components/editors/cell-format/fill-tab.js +49 -0
  89. package/dist/esm/components/editors/cell-format/font-tab.d.ts +18 -0
  90. package/dist/esm/components/editors/cell-format/font-tab.d.ts.map +1 -0
  91. package/dist/esm/components/editors/cell-format/font-tab.js +88 -0
  92. package/dist/esm/components/editors/cell-format/list-box.d.ts +35 -0
  93. package/dist/esm/components/editors/cell-format/list-box.d.ts.map +1 -0
  94. package/dist/esm/components/editors/cell-format/list-box.js +30 -0
  95. package/dist/esm/components/editors/cell-format/number-formats.d.ts +90 -0
  96. package/dist/esm/components/editors/cell-format/number-formats.d.ts.map +1 -0
  97. package/dist/esm/components/editors/cell-format/number-formats.js +383 -0
  98. package/dist/esm/components/editors/cell-format/number-tab.d.ts +12 -0
  99. package/dist/esm/components/editors/cell-format/number-tab.d.ts.map +1 -0
  100. package/dist/esm/components/editors/cell-format/number-tab.js +165 -0
  101. package/dist/esm/components/editors/cell-format/protection-tab.d.ts +13 -0
  102. package/dist/esm/components/editors/cell-format/protection-tab.d.ts.map +1 -0
  103. package/dist/esm/components/editors/cell-format/protection-tab.js +9 -0
  104. package/dist/esm/components/editors/cell-format-editor.d.ts +31 -3
  105. package/dist/esm/components/editors/cell-format-editor.d.ts.map +1 -1
  106. package/dist/esm/components/editors/cell-format-editor.js +148 -615
  107. package/dist/esm/components/editors/conditional-format-data-bar-options.d.ts +16 -0
  108. package/dist/esm/components/editors/conditional-format-data-bar-options.d.ts.map +1 -0
  109. package/dist/esm/components/editors/conditional-format-data-bar-options.js +145 -0
  110. package/dist/esm/components/editors/conditional-format-editor.d.ts +7 -1
  111. package/dist/esm/components/editors/conditional-format-editor.d.ts.map +1 -1
  112. package/dist/esm/components/editors/conditional-format-editor.js +39 -8
  113. package/dist/esm/components/editors/conditional-format-icon-set-options.d.ts +17 -0
  114. package/dist/esm/components/editors/conditional-format-icon-set-options.d.ts.map +1 -0
  115. package/dist/esm/components/editors/conditional-format-icon-set-options.js +139 -0
  116. package/dist/esm/components/editors/conditional-format-rule-editor.d.ts +9 -0
  117. package/dist/esm/components/editors/conditional-format-rule-editor.d.ts.map +1 -1
  118. package/dist/esm/components/editors/conditional-format-rule-editor.js +60 -85
  119. package/dist/esm/components/editors/sheet-filter.d.ts +20 -9
  120. package/dist/esm/components/editors/sheet-filter.d.ts.map +1 -1
  121. package/dist/esm/components/editors/sheet-filter.js +31 -11
  122. package/dist/esm/hooks/use-conditional-formatting-rules.d.ts +2 -0
  123. package/dist/esm/hooks/use-conditional-formatting-rules.d.ts.map +1 -1
  124. package/dist/esm/hooks/use-conditional-formatting-rules.js +19 -1
  125. package/dist/esm/hooks/use-on-goal-seek.d.ts +9 -1
  126. package/dist/esm/hooks/use-on-goal-seek.d.ts.map +1 -1
  127. package/dist/esm/hooks/use-on-goal-seek.js +40 -4
  128. package/dist/esm/hooks/use-spreadsheet-state.d.ts +3 -1
  129. package/dist/esm/hooks/use-spreadsheet-state.d.ts.map +1 -1
  130. package/dist/esm/hooks/use-spreadsheet-state.js +5 -2
  131. package/dist/esm/interface/change-border.d.ts.map +1 -1
  132. package/dist/esm/interface/change-border.js +8 -1
  133. package/dist/esm/interface/conditional-formatting-rules.d.ts +11 -1
  134. package/dist/esm/interface/conditional-formatting-rules.d.ts.map +1 -1
  135. package/dist/esm/interface/conditional-formatting-rules.js +29 -1
  136. package/dist/esm/sheet-cell.d.ts +10 -0
  137. package/dist/esm/sheet-cell.d.ts.map +1 -1
  138. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  139. package/package.json +6 -6
@@ -12,11 +12,11 @@
12
12
  * `trial`; `undefined` means the trial produced an error (`#DIV/0!`, text…),
13
13
  * which the solver treats as "step somewhere else".
14
14
  */
15
- import type { GoalSeekResult, GoalSeekStatus } from "@rowsncolumns/spreadsheet";
15
+ import type { GoalSeekCandidate, GoalSeekMode, GoalSeekResult, GoalSeekStatus } from "@rowsncolumns/spreadsheet";
16
16
  export declare const GOAL_SEEK_MAX_ITERATIONS = 100;
17
17
  export declare const GOAL_SEEK_TOLERANCE = 0.001;
18
18
  export type GoalSeekEvaluate = (trial: number) => Promise<number | undefined>;
19
- export type { GoalSeekResult, GoalSeekStatus };
19
+ export type { GoalSeekCandidate, GoalSeekMode, GoalSeekResult, GoalSeekStatus };
20
20
  export type GoalSeekOptions = {
21
21
  evaluate: GoalSeekEvaluate;
22
22
  targetValue: number;
@@ -26,4 +26,46 @@ export type GoalSeekOptions = {
26
26
  tolerance?: number;
27
27
  };
28
28
  export declare const goalSeek: ({ evaluate, targetValue, initialValue, maxIterations, tolerance, }: GoalSeekOptions) => Promise<GoalSeekResult>;
29
+ /**
30
+ * Goal Seek beyond Excel: a one-sided target and/or a round answer, searched outward from the
31
+ * exact solution. Mirrors the rnc engine's `goal_seek_candidates` (rust/crates/rnc-store) so both
32
+ * engines propose the same values.
33
+ */
34
+ export declare const GOAL_SEEK_MAX_CANDIDATES = 3;
35
+ export declare const GOAL_SEEK_MAX_CANDIDATE_TRIALS = 64;
36
+ /** Default `tolerance` of a rounded or one-sided search: 1% of the target (0.001 for zero). */
37
+ export declare const defaultGoalSeekTolerance: (targetValue: number) => number;
38
+ /**
39
+ * The smallest step a number format pattern displays: 10⁻ᵈ for d decimals in its first section, a
40
+ * hundredth of that for a percentage (`#,##0` → 1, `$#,##0.00` → 0.01, `0.0%` → 0.001).
41
+ * `undefined` for General, text, dates and times, and scientific notation.
42
+ */
43
+ export declare const numberFormatStep: (pattern: string) => number | undefined;
44
+ /**
45
+ * The steps a candidate snaps to. Rounded: 5 and 1 × 10ᵏ (fewer significant digits read rounder,
46
+ * a trailing 5 rounder than other digits), from the exact answer's order of magnitude down to the
47
+ * step its number format displays or nine orders below it, coarsest first, keeping multiples of
48
+ * `displayStep` only. Unrounded: the powers of ten, finest first.
49
+ */
50
+ export declare const goalSeekSteps: (exact: number, displayStep: number | undefined, round: boolean) => number[];
51
+ export type GoalSeekCandidateOptions = {
52
+ evaluate: GoalSeekEvaluate;
53
+ /** The exact solution the search starts from. */
54
+ exact: number;
55
+ targetValue: number;
56
+ mode?: GoalSeekMode;
57
+ round?: boolean;
58
+ /** How far the set cell may miss the target. Default {@link defaultGoalSeekTolerance}. */
59
+ tolerance?: number;
60
+ /** The smallest step the changing cell's number format shows ({@link numberFormatStep}). */
61
+ displayStep?: number;
62
+ };
63
+ /**
64
+ * Up to three candidates, the roundest (unrounded: the closest) first, each checked with a real
65
+ * evaluation. A value is accepted when the set cell lands where `mode` asks, within `tolerance`.
66
+ */
67
+ export declare const goalSeekCandidates: ({ evaluate, exact, targetValue, mode, round, tolerance, displayStep, }: GoalSeekCandidateOptions) => Promise<{
68
+ candidates: GoalSeekCandidate[];
69
+ trials: number;
70
+ }>;
29
71
  //# sourceMappingURL=goal-seek.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"goal-seek.d.ts","sourceRoot":"","sources":["../../../api/goal-seek.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAEhF,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAE9E,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAE/C,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAKF,eAAO,MAAM,QAAQ,GAAU,oEAM5B,eAAe,KAAG,OAAO,CAAC,cAAc,CAqG1C,CAAC"}
1
+ {"version":3,"file":"goal-seek.d.ts","sourceRoot":"","sources":["../../../api/goal-seek.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,KAAK,EACV,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,cAAc,EACf,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,wBAAwB,MAAM,CAAC;AAC5C,eAAO,MAAM,mBAAmB,QAAQ,CAAC;AAEzC,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;AAE9E,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,cAAc,EAAE,CAAC;AAEhF,MAAM,MAAM,eAAe,GAAG;IAC5B,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,yEAAyE;IACzE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,CAAC;AAKF,eAAO,MAAM,QAAQ,GAAU,oEAM5B,eAAe,KAAG,OAAO,CAAC,cAAc,CAqG1C,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,wBAAwB,IAAI,CAAC;AAC1C,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,+FAA+F;AAC/F,eAAO,MAAM,wBAAwB,GAAI,aAAa,MAAM,KAAG,MACS,CAAC;AAEzE;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAAI,SAAS,MAAM,KAAG,MAAM,GAAG,SAkC3D,CAAC;AAEF;;;;;GAKG;AACH,eAAO,MAAM,aAAa,GACxB,OAAO,MAAM,EACb,aAAa,MAAM,GAAG,SAAS,EAC/B,OAAO,OAAO,KACb,MAAM,EAyBR,CAAC;AAMF,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,iDAAiD;IACjD,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,0FAA0F;IAC1F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4FAA4F;IAC5F,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,kBAAkB,GAAU,wEAQtC,wBAAwB,KAAG,OAAO,CAAC;IAAE,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAgCxF,CAAC"}
@@ -106,3 +106,139 @@ export const goalSeek = async ({ evaluate, targetValue, initialValue = 0, maxIte
106
106
  }
107
107
  return finish("not-found");
108
108
  };
109
+ /**
110
+ * Goal Seek beyond Excel: a one-sided target and/or a round answer, searched outward from the
111
+ * exact solution. Mirrors the rnc engine's `goal_seek_candidates` (rust/crates/rnc-store) so both
112
+ * engines propose the same values.
113
+ */
114
+ export const GOAL_SEEK_MAX_CANDIDATES = 3;
115
+ export const GOAL_SEEK_MAX_CANDIDATE_TRIALS = 64;
116
+ /** Default `tolerance` of a rounded or one-sided search: 1% of the target (0.001 for zero). */
117
+ export const defaultGoalSeekTolerance = (targetValue) => targetValue === 0 ? GOAL_SEEK_TOLERANCE : Math.abs(targetValue) * 0.01;
118
+ /**
119
+ * The smallest step a number format pattern displays: 10⁻ᵈ for d decimals in its first section, a
120
+ * hundredth of that for a percentage (`#,##0` → 1, `$#,##0.00` → 0.01, `0.0%` → 0.001).
121
+ * `undefined` for General, text, dates and times, and scientific notation.
122
+ */
123
+ export const numberFormatStep = (pattern) => {
124
+ let section = "";
125
+ let inQuotes = false;
126
+ for (const ch of pattern) {
127
+ if (ch === '"')
128
+ inQuotes = !inQuotes;
129
+ else if (ch === ";" && !inQuotes)
130
+ break;
131
+ section += ch;
132
+ }
133
+ if (section.trim().toLowerCase() === "general")
134
+ return undefined;
135
+ let decimals = 0;
136
+ let afterPoint = false;
137
+ let percent = false;
138
+ let digits = false;
139
+ const chars = [...section];
140
+ for (let i = 0; i < chars.length; i++) {
141
+ const ch = chars[i];
142
+ if (ch === '"') {
143
+ while (++i < chars.length && chars[i] !== '"')
144
+ ;
145
+ }
146
+ else if (ch === "[") {
147
+ while (++i < chars.length && chars[i] !== "]")
148
+ ;
149
+ }
150
+ else if (ch === "\\" || ch === "_" || ch === "*") {
151
+ i++;
152
+ }
153
+ else if (ch === "." && !afterPoint) {
154
+ afterPoint = true;
155
+ }
156
+ else if (ch === "0" || ch === "#" || ch === "?") {
157
+ digits = true;
158
+ if (afterPoint)
159
+ decimals++;
160
+ }
161
+ else if (ch === "%") {
162
+ percent = true;
163
+ }
164
+ else if (/[EeYyMmDdHhSs]/.test(ch)) {
165
+ return undefined;
166
+ }
167
+ }
168
+ return digits ? 10 ** -(decimals + (percent ? 2 : 0)) : undefined;
169
+ };
170
+ /**
171
+ * The steps a candidate snaps to. Rounded: 5 and 1 × 10ᵏ (fewer significant digits read rounder,
172
+ * a trailing 5 rounder than other digits), from the exact answer's order of magnitude down to the
173
+ * step its number format displays or nine orders below it, coarsest first, keeping multiples of
174
+ * `displayStep` only. Unrounded: the powers of ten, finest first.
175
+ */
176
+ export const goalSeekSteps = (exact, displayStep, round) => {
177
+ const magnitude = (v) => Math.floor(Math.log10(Math.abs(v)));
178
+ const top = Number.isFinite(exact) && exact !== 0
179
+ ? magnitude(exact)
180
+ : displayStep !== undefined
181
+ ? magnitude(displayStep)
182
+ : 0;
183
+ const bottom = displayStep !== undefined ? magnitude(displayStep) : top - 9;
184
+ const finest = displayStep ?? 10 ** bottom;
185
+ const mantissas = round ? [5, 1] : [1];
186
+ const steps = [];
187
+ for (let exponent = top; exponent >= bottom; exponent--) {
188
+ for (const mantissa of mantissas) {
189
+ const step = mantissa * 10 ** exponent;
190
+ if (displayStep !== undefined) {
191
+ const ratio = step / displayStep;
192
+ if (step < displayStep * (1 - 1e-9) || Math.abs(ratio - Math.round(ratio)) > 1e-9)
193
+ continue;
194
+ }
195
+ steps.push(step);
196
+ }
197
+ }
198
+ if (steps.length === 0)
199
+ steps.push(finest);
200
+ if (!round)
201
+ steps.reverse();
202
+ return steps;
203
+ };
204
+ /** `value` on `step`'s grid without binary noise: the nearest multiple, to 13 significant digits. */
205
+ const snapToStep = (value, step) => Number((Math.round(value / step) * step).toPrecision(13));
206
+ /**
207
+ * Up to three candidates, the roundest (unrounded: the closest) first, each checked with a real
208
+ * evaluation. A value is accepted when the set cell lands where `mode` asks, within `tolerance`.
209
+ */
210
+ export const goalSeekCandidates = async ({ evaluate, exact, targetValue, mode = "exact", round = false, tolerance, displayStep, }) => {
211
+ const limit = tolerance !== undefined && Number.isFinite(tolerance) && tolerance >= 0
212
+ ? tolerance
213
+ : defaultGoalSeekTolerance(targetValue);
214
+ const accepts = (f) => mode === "atLeast" ? f >= 0 && f <= limit : mode === "atMost" ? f <= 0 && f >= -limit : Math.abs(f) <= limit;
215
+ const miss = (c) => Math.abs(c.currentValue - targetValue);
216
+ const tried = new Set();
217
+ const found = [];
218
+ let trials = 0;
219
+ for (const step of goalSeekSteps(exact, displayStep, round)) {
220
+ const below = snapToStep(Math.floor(exact / step) * step, step);
221
+ const above = snapToStep(Math.ceil(exact / step) * step, step);
222
+ const values = [below, above];
223
+ if (below === above)
224
+ values.push(snapToStep(below - step, step), snapToStep(below + step, step));
225
+ const accepted = [];
226
+ for (const value of values) {
227
+ if (trials >= GOAL_SEEK_MAX_CANDIDATE_TRIALS || tried.has(value))
228
+ continue;
229
+ tried.add(value);
230
+ trials++;
231
+ const current = await evaluate(value);
232
+ if (isUsable(current) && accepts(current - targetValue)) {
233
+ accepted.push({ value, currentValue: current });
234
+ }
235
+ }
236
+ accepted.sort((a, b) => miss(a) - miss(b));
237
+ found.push(...accepted);
238
+ if (found.length >= GOAL_SEEK_MAX_CANDIDATES || trials >= GOAL_SEEK_MAX_CANDIDATE_TRIALS)
239
+ break;
240
+ }
241
+ if (!round)
242
+ found.sort((a, b) => miss(a) - miss(b));
243
+ return { candidates: found.slice(0, GOAL_SEEK_MAX_CANDIDATES), trials };
244
+ };
@@ -1,5 +1,5 @@
1
- import type { CellData, CellInterface, Citation, Color, Direction, ExtendedValue, GridRange, SelectionArea, SheetRange, SortOrder } from "@rowsncolumns/common-types";
2
- import type { AXIS, BandedDefinition, BandedRange, BorderLocation, BorderStyle, CellFormat, ColorFilterCriteria, ConditionalFormatRule, ConditionType, ConditionValue, DataValidationRuleRecord, EmbeddedChart, EmbeddedObject, FillModifier, FillSeriesSpec, FilterView, IconFilterCriteria, NamedRange, PivotTable, ProtectedRange, SelectionAttributes, Sheet, Slicer, SortSpecs, SpreadsheetTheme, CalculatedColumnPreviousCell, TableAutoExpansionWrites, TableTheme, TableView, TextFormatRun, BooleanCondition, FilterConditionJoin, CustomTableStyle } from "@rowsncolumns/spreadsheet";
1
+ import type { CellData, CellInterface, Citation, Color, Direction, ExtendedValue, GridRange, NamedCellStyle, SelectionArea, SheetRange, SortOrder } from "@rowsncolumns/common-types";
2
+ import type { AXIS, BandedDefinition, BandedRange, BorderLocation, BorderStyle, CellFormat, ColorFilterCriteria, ConditionalFormatRule, ConditionType, ConditionValue, DataValidationRuleRecord, EmbeddedChart, EmbeddedObject, FillModifier, FillSeriesSpec, FilterView, IconFilterCriteria, NamedRange, PivotTable, ProtectedRange, SelectionAttributes, Sheet, SheetProtection, Slicer, SortSpecs, SpreadsheetTheme, CalculatedColumnPreviousCell, TableAutoExpansionWrites, TableTheme, TableView, TextFormatRun, BooleanCondition, FilterConditionJoin, CustomTableStyle } from "@rowsncolumns/spreadsheet";
3
3
  import type { AutoFillType } from "./api/fill";
4
4
  import type { ChangeBatchOptions } from "./interface/change-batch";
5
5
  import type { ClearType } from "./interface/delete-cells";
@@ -102,6 +102,12 @@ export type Command = {
102
102
  autoExpandTables?: boolean;
103
103
  /** `false` when the host turned Excel's "Fill formulas in tables to create calculated columns" option off (#668 T-51). */
104
104
  autoCalculatedColumns?: boolean;
105
+ /**
106
+ * The copied block's merged regions, in destination coordinates — re-created like
107
+ * `merge-cells` in the paste's own undo entry. Omitted by a values-only, formulas-only or
108
+ * transposed paste; a cut omits them too (the engine moves the cut block's own merges).
109
+ */
110
+ merges?: GridRange[];
105
111
  } | {
106
112
  command: "fill";
107
113
  sheetId: number;
@@ -149,6 +155,14 @@ export type Command = {
149
155
  setCell: CellInterface;
150
156
  targetValue: number;
151
157
  changingCell: CellInterface;
158
+ /** Where the set cell may land relative to the target (default `exact`). */
159
+ mode?: "exact" | "atLeast" | "atMost";
160
+ /** Prefer the roundest changing-cell value within `tolerance`. */
161
+ round?: boolean;
162
+ /** How far the set cell may miss the target (default 1% of it). */
163
+ tolerance?: number;
164
+ /** Report the outcome (`CommitResult.goalSeek`) without writing the changing cell. */
165
+ preview?: boolean;
152
166
  } | {
153
167
  command: "find-replace";
154
168
  ranges: SheetRange[];
@@ -173,7 +187,16 @@ export type Command = {
173
187
  selections: SelectionArea<SelectionAttributes>[];
174
188
  location: BorderLocation;
175
189
  color: Color | undefined;
176
- style: BorderStyle | undefined;
190
+ /** `"none"` removes the edges `location` names (the engine's clear sentinel). */
191
+ style: BorderStyle | "none" | undefined;
192
+ } | {
193
+ /** Format Cells → Protection: `locked` / `hidden` on every target cell (absent = unchanged). */
194
+ command: "change-cell-protection";
195
+ sheetId: number;
196
+ activeCell: CellInterface;
197
+ selections: SelectionArea<SelectionAttributes>[];
198
+ locked?: boolean;
199
+ hidden?: boolean;
177
200
  } | {
178
201
  command: "clear-formatting";
179
202
  sheetId: number;
@@ -677,9 +700,28 @@ export type Command = {
677
700
  } | {
678
701
  command: "protect-sheet";
679
702
  sheetId: number;
703
+ /**
704
+ * Excel's Protect Sheet "Allow all users of this worksheet to" choices, OOXML-shaped
705
+ * (`true` = prohibited). Omitted = the dialog defaults (only selecting cells allowed).
706
+ * Password members here are ignored: the engine hashes `password`.
707
+ */
708
+ sheetProtection?: Omit<SheetProtection, "password" | "algorithmName" | "hashValue" | "saltValue" | "spinCount">;
709
+ /** Plaintext; the engine stores only its SHA-512 spin hash. */
710
+ password?: string;
680
711
  } | {
681
712
  command: "unprotect-sheet";
682
713
  sheetId: number;
714
+ /** Refused with `incorrect-password` unless it matches the stored hash. */
715
+ password?: string;
716
+ } | {
717
+ /** Protect Workbook (structure): blocks adding, deleting, renaming, moving, hiding and unhiding sheets. */
718
+ command: "protect-workbook";
719
+ lockStructure?: boolean;
720
+ lockWindows?: boolean;
721
+ password?: string;
722
+ } | {
723
+ command: "unprotect-workbook";
724
+ password?: string;
683
725
  } | {
684
726
  command: "create-embed";
685
727
  spec: EmbeddedObject;
@@ -749,6 +791,11 @@ export type Command = {
749
791
  } | {
750
792
  command: "change-theme";
751
793
  theme: SpreadsheetTheme;
794
+ }
795
+ /** The workbook's named cell styles, replaced whole (Cell Styles ▸ New / Modify / Delete). */
796
+ | {
797
+ command: "change-named-cell-styles";
798
+ namedCellStyles: NamedCellStyle[];
752
799
  } | {
753
800
  command: "change-locale";
754
801
  locale: string;
@@ -1 +1 @@
1
- {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../commands.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ import type { CellFormat, HorizontalAlign, ReadingOrder, VerticalAlign } from "@rowsncolumns/spreadsheet";
2
+ import React from "react";
3
+ type HorizontalChoice = HorizontalAlign | "general";
4
+ /** Excel's Horizontal list, in Excel's order. */
5
+ export declare const HORIZONTAL_OPTIONS: {
6
+ value: HorizontalChoice;
7
+ label: string;
8
+ }[];
9
+ /** Excel's Vertical list. */
10
+ export declare const VERTICAL_OPTIONS: {
11
+ value: VerticalAlign;
12
+ label: string;
13
+ }[];
14
+ export declare const TEXT_DIRECTION_OPTIONS: {
15
+ value: ReadingOrder;
16
+ label: string;
17
+ }[];
18
+ export type AlignmentTabProps = {
19
+ format: CellFormat;
20
+ onChange(patch: Partial<CellFormat>): void;
21
+ merged: boolean;
22
+ onChangeMerged(merged: boolean): void;
23
+ };
24
+ /** Format Cells → Alignment. */
25
+ export declare const AlignmentTab: ({ format, onChange, merged, onChangeMerged, }: AlignmentTabProps) => React.JSX.Element;
26
+ export {};
27
+ //# sourceMappingURL=alignment-tab.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"alignment-tab.d.ts","sourceRoot":"","sources":["../../../../../components/editors/cell-format/alignment-tab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACd,MAAM,2BAA2B,CAAC;AAEnC,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,KAAK,gBAAgB,GAAG,eAAe,GAAG,SAAS,CAAC;AAEpD,iDAAiD;AACjD,eAAO,MAAM,kBAAkB,EAAE;IAAE,KAAK,EAAE,gBAAgB,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAS1E,CAAC;AAEF,6BAA6B;AAC7B,eAAO,MAAM,gBAAgB,EAAE;IAAE,KAAK,EAAE,aAAa,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAMrE,CAAC;AAEF,eAAO,MAAM,sBAAsB,EAAE;IAAE,KAAK,EAAE,YAAY,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAI1E,CAAC;AAKF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE,UAAU,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC;IAC3C,MAAM,EAAE,OAAO,CAAC;IAChB,cAAc,CAAC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACvC,CAAC;AAEF,gCAAgC;AAChC,eAAO,MAAM,YAAY,GAAI,+CAK1B,iBAAiB,sBA2InB,CAAC"}
@@ -0,0 +1,81 @@
1
+ import { Input } from "@rowsncolumns/ui";
2
+ import React from "react";
3
+ import { CheckboxField, SelectField } from "./list-box";
4
+ /** Excel's Horizontal list, in Excel's order. */
5
+ export const HORIZONTAL_OPTIONS = [
6
+ { value: "general", label: "General" },
7
+ { value: "left", label: "Left (Indent)" },
8
+ { value: "center", label: "Center" },
9
+ { value: "right", label: "Right (Indent)" },
10
+ { value: "fill", label: "Fill" },
11
+ { value: "justify", label: "Justify" },
12
+ { value: "centerContinuous", label: "Center Across Selection" },
13
+ { value: "distributed", label: "Distributed (Indent)" },
14
+ ];
15
+ /** Excel's Vertical list. */
16
+ export const VERTICAL_OPTIONS = [
17
+ { value: "top", label: "Top" },
18
+ { value: "middle", label: "Center" },
19
+ { value: "bottom", label: "Bottom" },
20
+ { value: "justify", label: "Justify" },
21
+ { value: "distributed", label: "Distributed" },
22
+ ];
23
+ export const TEXT_DIRECTION_OPTIONS = [
24
+ { value: "context", label: "Context" },
25
+ { value: "ltr", label: "Left-to-Right" },
26
+ { value: "rtl", label: "Right-to-Left" },
27
+ ];
28
+ /** Horizontal modes Excel lets you indent. */
29
+ const INDENTABLE = new Set(["left", "right", "distributed"]);
30
+ /** Format Cells → Alignment. */
31
+ export const AlignmentTab = ({ format, onChange, merged, onChangeMerged, }) => {
32
+ const horizontal = format.horizontalAlignment ?? "general";
33
+ const vertical = format.verticalAlignment ?? "bottom";
34
+ const rotation = format.textRotation;
35
+ const stacked = rotation === "vertical";
36
+ const degrees = typeof rotation === "number" ? rotation : 0;
37
+ const wrap = format.wrapStrategy === "wrap";
38
+ const shrink = !!format.shrinkToFit;
39
+ return (React.createElement("div", { className: "grid grid-cols-[1fr_160px] gap-4" },
40
+ React.createElement("div", { className: "flex flex-col gap-3" },
41
+ React.createElement("fieldset", { className: "flex flex-col gap-2 border-0 p-0" },
42
+ React.createElement("legend", { className: "pb-1 font-system text-sm" }, "Text alignment"),
43
+ React.createElement("div", { className: "grid grid-cols-[1fr_90px] gap-2" },
44
+ React.createElement(SelectField, { label: "Horizontal", value: horizontal, options: HORIZONTAL_OPTIONS, onChange: (value) => onChange({
45
+ horizontalAlignment: value === "general" ? undefined : value,
46
+ ...(INDENTABLE.has(value) ? {} : { indent: 0 }),
47
+ }) }),
48
+ React.createElement("label", { className: "flex flex-col gap-1 font-system text-sm" },
49
+ "Indent",
50
+ React.createElement(Input, { "aria-label": "Indent", type: "number", min: 0, max: 250, className: "text-xs", disabled: !INDENTABLE.has(horizontal), value: format.indent ?? 0, onChange: (event) => {
51
+ const n = parseInt(event.target.value, 10);
52
+ onChange({
53
+ indent: Number.isFinite(n) ? Math.max(0, Math.min(250, n)) : 0,
54
+ });
55
+ } }))),
56
+ React.createElement(SelectField, { label: "Vertical", value: vertical, options: VERTICAL_OPTIONS, onChange: (value) => onChange({ verticalAlignment: value }) })),
57
+ React.createElement("fieldset", { className: "flex flex-col gap-1.5 border-0 p-0" },
58
+ React.createElement("legend", { className: "pb-1 font-system text-sm" }, "Text control"),
59
+ React.createElement(CheckboxField, { label: "Wrap text", checked: wrap, onChange: (checked) => onChange({
60
+ wrapStrategy: checked ? "wrap" : "overflow",
61
+ // Excel: wrap and shrink to fit are exclusive.
62
+ ...(checked ? { shrinkToFit: false } : {}),
63
+ }) }),
64
+ React.createElement(CheckboxField, { label: "Shrink to fit", checked: shrink, disabled: wrap, onChange: (checked) => onChange({ shrinkToFit: checked }) }),
65
+ React.createElement(CheckboxField, { label: "Merge cells", checked: merged, onChange: onChangeMerged })),
66
+ React.createElement("fieldset", { className: "flex flex-col gap-1 border-0 p-0" },
67
+ React.createElement("legend", { className: "pb-1 font-system text-sm" }, "Right-to-left"),
68
+ React.createElement(SelectField, { label: "Text direction", value: format.readingOrder ?? "context", options: TEXT_DIRECTION_OPTIONS, onChange: (value) => onChange({ readingOrder: value }) }))),
69
+ React.createElement("fieldset", { className: "flex flex-col gap-2 border-0 p-0" },
70
+ React.createElement("legend", { className: "pb-1 font-system text-sm" }, "Orientation"),
71
+ React.createElement("button", { type: "button", "aria-pressed": stacked, "aria-label": "Vertical text", className: `flex h-20 w-8 flex-col items-center justify-center rounded-sm border border-solid text-xs leading-tight ${stacked ? "border-rnc-primary" : "border-rnc-border"}`, onClick: () => onChange({ textRotation: stacked ? 0 : "vertical" }) }, "Text".split("").map((ch, i) => (React.createElement("span", { key: i }, ch)))),
72
+ React.createElement("input", { "aria-label": "Orientation", type: "range", min: -90, max: 90, step: 1, value: degrees, disabled: stacked, onChange: (event) => onChange({ textRotation: Number(event.target.value) }) }),
73
+ React.createElement("label", { className: "flex items-center gap-1 font-system text-xs" },
74
+ React.createElement(Input, { "aria-label": "Degrees", type: "number", min: -90, max: 90, className: "w-16 text-xs", value: degrees, disabled: stacked, onChange: (event) => {
75
+ const n = parseInt(event.target.value, 10);
76
+ onChange({
77
+ textRotation: Number.isFinite(n) ? Math.max(-90, Math.min(90, n)) : 0,
78
+ });
79
+ } }),
80
+ "Degrees"))));
81
+ };
@@ -0,0 +1,42 @@
1
+ import type { BorderLocation, Borders, BorderStyle, Color } from "@rowsncolumns/spreadsheet";
2
+ export type EdgeKey = "top" | "insideHorizontal" | "bottom" | "left" | "insideVertical" | "right" | "diagonalUp" | "diagonalDown";
3
+ export type EdgeLine = {
4
+ style: BorderStyle;
5
+ color: Color;
6
+ };
7
+ /** `null` = no border on that edge. */
8
+ export type EdgeState = EdgeLine | null;
9
+ export type EdgeMap = Partial<Record<EdgeKey, EdgeState>>;
10
+ /** The line style the Line Style list picks; `"none"` removes the edge clicked. */
11
+ export type LineStyleChoice = BorderStyle | "none";
12
+ /** Excel's Line Style list, in Excel's order (None, then thin → thick). */
13
+ export declare const LINE_STYLES: {
14
+ value: LineStyleChoice;
15
+ label: string;
16
+ }[];
17
+ export declare const EDGE_LOCATION: Record<EdgeKey, BorderLocation>;
18
+ export declare const ALL_EDGES: EdgeKey[];
19
+ /** The active cell's own edges, as the preview opens on them. */
20
+ export declare const edgesFromBorders: (borders: Borders | null | undefined) => EdgeMap;
21
+ /**
22
+ * Click an edge: Excel removes it when it already carries the current style
23
+ * and colour (or the style is None), otherwise draws it in them.
24
+ */
25
+ export declare const toggleEdge: (shown: EdgeMap, key: EdgeKey, lineStyle: LineStyleChoice, color: Color) => EdgeState;
26
+ /** The None / Outline / Inside presets: the edges they set. */
27
+ export declare const presetEdges: (preset: "none" | "outline" | "inside", lineStyle: LineStyleChoice, color: Color) => EdgeMap;
28
+ export type BorderCommand = {
29
+ location: BorderLocation;
30
+ /** Both `undefined` = remove the edge (the `onChangeBorder` clear contract). */
31
+ color: Color | undefined;
32
+ style: BorderStyle | undefined;
33
+ };
34
+ /**
35
+ * The `onChangeBorder` calls for the edited edges. A None preset that touched
36
+ * every edge is one `"none"` command (clears diagonals too); everything else
37
+ * is one command per edited edge, removals first so a redraw lands on top.
38
+ */
39
+ export declare const toBorderCommands: (edits: EdgeMap, options?: {
40
+ clearedAll?: boolean;
41
+ }) => BorderCommand[];
42
+ //# sourceMappingURL=border-edges.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"border-edges.d.ts","sourceRoot":"","sources":["../../../../../components/editors/cell-format/border-edges.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,cAAc,EACd,OAAO,EACP,WAAW,EACX,KAAK,EACN,MAAM,2BAA2B,CAAC;AAEnC,MAAM,MAAM,OAAO,GACf,KAAK,GACL,kBAAkB,GAClB,QAAQ,GACR,MAAM,GACN,gBAAgB,GAChB,OAAO,GACP,YAAY,GACZ,cAAc,CAAC;AAEnB,MAAM,MAAM,QAAQ,GAAG;IAAE,KAAK,EAAE,WAAW,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,CAAC;AAC5D,uCAAuC;AACvC,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,IAAI,CAAC;AACxC,MAAM,MAAM,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC;AAE1D,mFAAmF;AACnF,MAAM,MAAM,eAAe,GAAG,WAAW,GAAG,MAAM,CAAC;AAEnD,2EAA2E;AAC3E,eAAO,MAAM,WAAW,EAAE;IAAE,KAAK,EAAE,eAAe,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAelE,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,OAAO,EAAE,cAAc,CASzD,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,OAAO,EAA0D,CAAC;AAE1F,iEAAiE;AACjE,eAAO,MAAM,gBAAgB,GAAI,SAAS,OAAO,GAAG,IAAI,GAAG,SAAS,KAAG,OAOtE,CAAC;AAKF;;;GAGG;AACH,eAAO,MAAM,UAAU,GACrB,OAAO,OAAO,EACd,KAAK,OAAO,EACZ,WAAW,eAAe,EAC1B,OAAO,KAAK,KACX,SAG8B,CAAC;AAElC,+DAA+D;AAC/D,eAAO,MAAM,WAAW,GACtB,QAAQ,MAAM,GAAG,SAAS,GAAG,QAAQ,EACrC,WAAW,eAAe,EAC1B,OAAO,KAAK,KACX,OAYF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,QAAQ,EAAE,cAAc,CAAC;IACzB,gFAAgF;IAChF,KAAK,EAAE,KAAK,GAAG,SAAS,CAAC;IACzB,KAAK,EAAE,WAAW,GAAG,SAAS,CAAC;CAChC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,GAC3B,OAAO,OAAO,EACd,UAAS;IAAE,UAAU,CAAC,EAAE,OAAO,CAAA;CAAO,KACrC,aAAa,EAgBf,CAAC"}