@rowsncolumns/spreadsheet 10.6.4 → 10.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/dist/cjs/api/autocomplete.d.ts +42 -0
  2. package/dist/cjs/api/autocomplete.d.ts.map +1 -0
  3. package/dist/cjs/api/autocomplete.js +114 -0
  4. package/dist/cjs/api/banded-ranges.d.ts.map +1 -1
  5. package/dist/cjs/api/banded-ranges.js +51 -1
  6. package/dist/cjs/api/error-checking.d.ts +82 -0
  7. package/dist/cjs/api/error-checking.d.ts.map +1 -0
  8. package/dist/cjs/api/error-checking.js +207 -0
  9. package/dist/cjs/api/move-overwrite.d.ts +8 -2
  10. package/dist/cjs/api/move-overwrite.d.ts.map +1 -1
  11. package/dist/cjs/api/move-overwrite.js +19 -3
  12. package/dist/cjs/api/selections.d.ts +2 -2
  13. package/dist/cjs/api/validation.d.ts +39 -1
  14. package/dist/cjs/api/validation.d.ts.map +1 -1
  15. package/dist/cjs/api/validation.js +87 -1
  16. package/dist/cjs/atoms/cell-input-context.atom.d.ts +4 -1
  17. package/dist/cjs/atoms/cell-input-context.atom.d.ts.map +1 -1
  18. package/dist/cjs/atoms/enter-key-direction.atom.d.ts +11 -0
  19. package/dist/cjs/atoms/enter-key-direction.atom.d.ts.map +1 -0
  20. package/dist/cjs/atoms/enter-key-direction.atom.js +13 -0
  21. package/dist/cjs/atoms/index.d.ts +1 -0
  22. package/dist/cjs/atoms/index.d.ts.map +1 -1
  23. package/dist/cjs/atoms/index.js +1 -0
  24. package/dist/cjs/atoms/paste-menu.atom.d.ts +22 -0
  25. package/dist/cjs/atoms/paste-menu.atom.d.ts.map +1 -1
  26. package/dist/cjs/atoms/paste-menu.atom.js +13 -1
  27. package/dist/cjs/atoms/pick-list.atom.d.ts +15 -0
  28. package/dist/cjs/atoms/pick-list.atom.d.ts.map +1 -0
  29. package/dist/cjs/atoms/pick-list.atom.js +7 -0
  30. package/dist/cjs/components/canvas-grid/index.d.ts.map +1 -1
  31. package/dist/cjs/components/canvas-grid/index.js +305 -70
  32. package/dist/cjs/components/canvas-grid/typings.d.ts +96 -11
  33. package/dist/cjs/components/canvas-grid/typings.d.ts.map +1 -1
  34. package/dist/cjs/components/cell/alignment.d.ts +25 -0
  35. package/dist/cjs/components/cell/alignment.d.ts.map +1 -1
  36. package/dist/cjs/components/cell/alignment.js +39 -1
  37. package/dist/cjs/components/cell/cell-background.d.ts +16 -0
  38. package/dist/cjs/components/cell/cell-background.d.ts.map +1 -1
  39. package/dist/cjs/components/cell/cell-background.js +141 -54
  40. package/dist/cjs/components/cell/cell-text-runs.d.ts +12 -5
  41. package/dist/cjs/components/cell/cell-text-runs.d.ts.map +1 -1
  42. package/dist/cjs/components/cell/cell-text-runs.js +18 -20
  43. package/dist/cjs/components/cell/index.d.ts.map +1 -1
  44. package/dist/cjs/components/cell/index.js +26 -21
  45. package/dist/cjs/components/cell/typings.d.ts +9 -0
  46. package/dist/cjs/components/cell/typings.d.ts.map +1 -1
  47. package/dist/cjs/components/cell-editor/helpers.d.ts +22 -2
  48. package/dist/cjs/components/cell-editor/helpers.d.ts.map +1 -1
  49. package/dist/cjs/components/cell-editor/helpers.js +32 -8
  50. package/dist/cjs/components/cell-editor/index.d.ts +7 -1
  51. package/dist/cjs/components/cell-editor/index.d.ts.map +1 -1
  52. package/dist/cjs/components/cell-editor/index.js +85 -13
  53. package/dist/cjs/components/cell-indicator/index.d.ts +41 -0
  54. package/dist/cjs/components/cell-indicator/index.d.ts.map +1 -0
  55. package/dist/cjs/components/cell-indicator/index.js +90 -0
  56. package/dist/cjs/components/cell-input/cell-input.d.ts +10 -2
  57. package/dist/cjs/components/cell-input/cell-input.d.ts.map +1 -1
  58. package/dist/cjs/components/cell-input/cell-input.js +5 -3
  59. package/dist/cjs/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
  60. package/dist/cjs/components/cell-input/formula-bar-cell-input.js +9 -2
  61. package/dist/cjs/components/cell-structured/sparkline-math.d.ts +27 -1
  62. package/dist/cjs/components/cell-structured/sparkline-math.d.ts.map +1 -1
  63. package/dist/cjs/components/cell-structured/sparkline-math.js +48 -1
  64. package/dist/cjs/components/cell-structured/sparkline.d.ts +1 -1
  65. package/dist/cjs/components/cell-structured/sparkline.d.ts.map +1 -1
  66. package/dist/cjs/components/cell-structured/sparkline.js +36 -92
  67. package/dist/cjs/components/cell-structured/types.d.ts +6 -0
  68. package/dist/cjs/components/cell-structured/types.d.ts.map +1 -1
  69. package/dist/cjs/components/data-table-dialog/index.d.ts +22 -0
  70. package/dist/cjs/components/data-table-dialog/index.d.ts.map +1 -0
  71. package/dist/cjs/components/data-table-dialog/index.js +93 -0
  72. package/dist/cjs/components/error-check-smart-tag/index.d.ts +27 -0
  73. package/dist/cjs/components/error-check-smart-tag/index.d.ts.map +1 -0
  74. package/dist/cjs/components/error-check-smart-tag/index.js +39 -0
  75. package/dist/cjs/components/forecast-sheet-dialog/index.d.ts +26 -0
  76. package/dist/cjs/components/forecast-sheet-dialog/index.d.ts.map +1 -0
  77. package/dist/cjs/components/forecast-sheet-dialog/index.js +92 -0
  78. package/dist/cjs/components/paste-special-dialog/index.d.ts +3 -3
  79. package/dist/cjs/components/paste-special-dialog/index.d.ts.map +1 -1
  80. package/dist/cjs/components/paste-special-dialog/index.js +61 -23
  81. package/dist/cjs/components/protect-sheet-dialog/allow-edit-ranges-dialog.d.ts +57 -0
  82. package/dist/cjs/components/protect-sheet-dialog/allow-edit-ranges-dialog.d.ts.map +1 -0
  83. package/dist/cjs/components/protect-sheet-dialog/allow-edit-ranges-dialog.js +196 -0
  84. package/dist/cjs/components/protect-sheet-dialog/constants.d.ts +3 -0
  85. package/dist/cjs/components/protect-sheet-dialog/constants.d.ts.map +1 -0
  86. package/dist/cjs/components/protect-sheet-dialog/constants.js +5 -0
  87. package/dist/cjs/components/protect-sheet-dialog/index.d.ts +2 -2
  88. package/dist/cjs/components/protect-sheet-dialog/index.d.ts.map +1 -1
  89. package/dist/cjs/components/protect-sheet-dialog/index.js +5 -3
  90. package/dist/cjs/components/scenario-manager-dialog/index.d.ts +51 -0
  91. package/dist/cjs/components/scenario-manager-dialog/index.d.ts.map +1 -0
  92. package/dist/cjs/components/scenario-manager-dialog/index.js +257 -0
  93. package/dist/cjs/components/selection/index.d.ts +1 -1
  94. package/dist/cjs/components/selection/index.d.ts.map +1 -1
  95. package/dist/cjs/components/selection/index.js +9 -4
  96. package/dist/cjs/components/selection/paste-menu.d.ts +14 -1
  97. package/dist/cjs/components/selection/paste-menu.d.ts.map +1 -1
  98. package/dist/cjs/components/selection/paste-menu.js +78 -6
  99. package/dist/cjs/components/selection/paste-options.d.ts +28 -0
  100. package/dist/cjs/components/selection/paste-options.d.ts.map +1 -0
  101. package/dist/cjs/components/selection/paste-options.js +70 -0
  102. package/dist/cjs/components/selection/types.d.ts +12 -1
  103. package/dist/cjs/components/selection/types.d.ts.map +1 -1
  104. package/dist/cjs/components/selection-drop-menu/index.d.ts +18 -0
  105. package/dist/cjs/components/selection-drop-menu/index.d.ts.map +1 -0
  106. package/dist/cjs/components/selection-drop-menu/index.js +62 -0
  107. package/dist/cjs/components/solver-dialog/index.d.ts +57 -0
  108. package/dist/cjs/components/solver-dialog/index.d.ts.map +1 -0
  109. package/dist/cjs/components/solver-dialog/index.js +204 -0
  110. package/dist/cjs/components/toolbar/sparkline-actions.d.ts +3 -2
  111. package/dist/cjs/components/toolbar/sparkline-actions.d.ts.map +1 -1
  112. package/dist/cjs/components/toolbar/sparkline-actions.js +6 -2
  113. package/dist/cjs/components/toolbar/table-style-selector.d.ts.map +1 -1
  114. package/dist/cjs/components/toolbar/table-style-selector.js +33 -2
  115. package/dist/cjs/config.d.ts +5 -4
  116. package/dist/cjs/config.d.ts.map +1 -1
  117. package/dist/cjs/config.js +13 -9
  118. package/dist/cjs/helpers.d.ts +5 -0
  119. package/dist/cjs/helpers.d.ts.map +1 -1
  120. package/dist/cjs/helpers.js +8 -4
  121. package/dist/cjs/hooks/use-cell-renderer.d.ts +12 -1
  122. package/dist/cjs/hooks/use-cell-renderer.d.ts.map +1 -1
  123. package/dist/cjs/hooks/use-cell-renderer.js +6 -3
  124. package/dist/cjs/hooks/use-copy-paste-cut.d.ts +36 -2
  125. package/dist/cjs/hooks/use-copy-paste-cut.d.ts.map +1 -1
  126. package/dist/cjs/hooks/use-copy-paste-cut.js +131 -5
  127. package/dist/cjs/hooks/use-editable.d.ts +6 -0
  128. package/dist/cjs/hooks/use-editable.d.ts.map +1 -1
  129. package/dist/cjs/hooks/use-editor-submit.d.ts +45 -3
  130. package/dist/cjs/hooks/use-editor-submit.d.ts.map +1 -1
  131. package/dist/cjs/hooks/use-editor-submit.js +91 -7
  132. package/dist/cjs/hooks/use-keyboard-handler.d.ts +5 -1
  133. package/dist/cjs/hooks/use-keyboard-handler.d.ts.map +1 -1
  134. package/dist/cjs/hooks/use-keyboard-handler.js +10 -1
  135. package/dist/cjs/hooks/use-selection-drag-copy.d.ts +55 -0
  136. package/dist/cjs/hooks/use-selection-drag-copy.d.ts.map +1 -0
  137. package/dist/cjs/hooks/use-selection-drag-copy.js +274 -0
  138. package/dist/cjs/hooks/use-selection-renderer.d.ts +8 -1
  139. package/dist/cjs/hooks/use-selection-renderer.d.ts.map +1 -1
  140. package/dist/cjs/hooks/use-selection-renderer.js +7 -2
  141. package/dist/cjs/hooks/use-selection.d.ts +59 -1
  142. package/dist/cjs/hooks/use-selection.d.ts.map +1 -1
  143. package/dist/cjs/hooks/use-selection.js +270 -61
  144. package/dist/cjs/index.d.ts +6 -1
  145. package/dist/cjs/index.d.ts.map +1 -1
  146. package/dist/cjs/index.js +5 -0
  147. package/dist/cjs/release-date.js +1 -1
  148. package/dist/cjs/tsconfig.cjs.tsbuildinfo +1 -1
  149. package/dist/cjs/types.d.ts +50 -1
  150. package/dist/cjs/types.d.ts.map +1 -1
  151. package/dist/esm/api/autocomplete.d.ts +42 -0
  152. package/dist/esm/api/autocomplete.d.ts.map +1 -0
  153. package/dist/esm/api/autocomplete.js +91 -0
  154. package/dist/esm/api/banded-ranges.d.ts.map +1 -1
  155. package/dist/esm/api/banded-ranges.js +52 -2
  156. package/dist/esm/api/error-checking.d.ts +82 -0
  157. package/dist/esm/api/error-checking.d.ts.map +1 -0
  158. package/dist/esm/api/error-checking.js +156 -0
  159. package/dist/esm/api/move-overwrite.d.ts +8 -2
  160. package/dist/esm/api/move-overwrite.d.ts.map +1 -1
  161. package/dist/esm/api/move-overwrite.js +17 -2
  162. package/dist/esm/api/selections.d.ts +2 -2
  163. package/dist/esm/api/validation.d.ts +39 -1
  164. package/dist/esm/api/validation.d.ts.map +1 -1
  165. package/dist/esm/api/validation.js +70 -0
  166. package/dist/esm/atoms/cell-input-context.atom.d.ts +4 -1
  167. package/dist/esm/atoms/cell-input-context.atom.d.ts.map +1 -1
  168. package/dist/esm/atoms/enter-key-direction.atom.d.ts +11 -0
  169. package/dist/esm/atoms/enter-key-direction.atom.d.ts.map +1 -0
  170. package/dist/esm/atoms/enter-key-direction.atom.js +8 -0
  171. package/dist/esm/atoms/index.d.ts +1 -0
  172. package/dist/esm/atoms/index.d.ts.map +1 -1
  173. package/dist/esm/atoms/index.js +1 -0
  174. package/dist/esm/atoms/paste-menu.atom.d.ts +22 -0
  175. package/dist/esm/atoms/paste-menu.atom.d.ts.map +1 -1
  176. package/dist/esm/atoms/paste-menu.atom.js +10 -1
  177. package/dist/esm/atoms/pick-list.atom.d.ts +15 -0
  178. package/dist/esm/atoms/pick-list.atom.d.ts.map +1 -0
  179. package/dist/esm/atoms/pick-list.atom.js +3 -0
  180. package/dist/esm/components/canvas-grid/index.d.ts.map +1 -1
  181. package/dist/esm/components/canvas-grid/index.js +239 -13
  182. package/dist/esm/components/canvas-grid/typings.d.ts +96 -11
  183. package/dist/esm/components/canvas-grid/typings.d.ts.map +1 -1
  184. package/dist/esm/components/cell/alignment.d.ts +25 -0
  185. package/dist/esm/components/cell/alignment.d.ts.map +1 -1
  186. package/dist/esm/components/cell/alignment.js +33 -0
  187. package/dist/esm/components/cell/cell-background.d.ts +16 -0
  188. package/dist/esm/components/cell/cell-background.d.ts.map +1 -1
  189. package/dist/esm/components/cell/cell-background.js +106 -36
  190. package/dist/esm/components/cell/cell-text-runs.d.ts +12 -5
  191. package/dist/esm/components/cell/cell-text-runs.d.ts.map +1 -1
  192. package/dist/esm/components/cell/cell-text-runs.js +17 -22
  193. package/dist/esm/components/cell/index.d.ts.map +1 -1
  194. package/dist/esm/components/cell/index.js +25 -20
  195. package/dist/esm/components/cell/typings.d.ts +9 -0
  196. package/dist/esm/components/cell/typings.d.ts.map +1 -1
  197. package/dist/esm/components/cell-editor/helpers.d.ts +22 -2
  198. package/dist/esm/components/cell-editor/helpers.d.ts.map +1 -1
  199. package/dist/esm/components/cell-editor/helpers.js +25 -7
  200. package/dist/esm/components/cell-editor/index.d.ts +7 -1
  201. package/dist/esm/components/cell-editor/index.d.ts.map +1 -1
  202. package/dist/esm/components/cell-editor/index.js +80 -9
  203. package/dist/esm/components/cell-indicator/index.d.ts +41 -0
  204. package/dist/esm/components/cell-indicator/index.d.ts.map +1 -0
  205. package/dist/esm/components/cell-indicator/index.js +76 -0
  206. package/dist/esm/components/cell-input/cell-input.d.ts +10 -2
  207. package/dist/esm/components/cell-input/cell-input.d.ts.map +1 -1
  208. package/dist/esm/components/cell-input/cell-input.js +5 -3
  209. package/dist/esm/components/cell-input/formula-bar-cell-input.d.ts.map +1 -1
  210. package/dist/esm/components/cell-input/formula-bar-cell-input.js +9 -2
  211. package/dist/esm/components/cell-structured/sparkline-math.d.ts +27 -1
  212. package/dist/esm/components/cell-structured/sparkline-math.d.ts.map +1 -1
  213. package/dist/esm/components/cell-structured/sparkline-math.js +35 -0
  214. package/dist/esm/components/cell-structured/sparkline.d.ts +1 -1
  215. package/dist/esm/components/cell-structured/sparkline.d.ts.map +1 -1
  216. package/dist/esm/components/cell-structured/sparkline.js +34 -88
  217. package/dist/esm/components/cell-structured/types.d.ts +6 -0
  218. package/dist/esm/components/cell-structured/types.d.ts.map +1 -1
  219. package/dist/esm/components/data-table-dialog/index.d.ts +22 -0
  220. package/dist/esm/components/data-table-dialog/index.d.ts.map +1 -0
  221. package/dist/esm/components/data-table-dialog/index.js +75 -0
  222. package/dist/esm/components/error-check-smart-tag/index.d.ts +27 -0
  223. package/dist/esm/components/error-check-smart-tag/index.d.ts.map +1 -0
  224. package/dist/esm/components/error-check-smart-tag/index.js +33 -0
  225. package/dist/esm/components/forecast-sheet-dialog/index.d.ts +26 -0
  226. package/dist/esm/components/forecast-sheet-dialog/index.d.ts.map +1 -0
  227. package/dist/esm/components/forecast-sheet-dialog/index.js +83 -0
  228. package/dist/esm/components/paste-special-dialog/index.d.ts +3 -3
  229. package/dist/esm/components/paste-special-dialog/index.d.ts.map +1 -1
  230. package/dist/esm/components/paste-special-dialog/index.js +58 -23
  231. package/dist/esm/components/protect-sheet-dialog/allow-edit-ranges-dialog.d.ts +57 -0
  232. package/dist/esm/components/protect-sheet-dialog/allow-edit-ranges-dialog.d.ts.map +1 -0
  233. package/dist/esm/components/protect-sheet-dialog/allow-edit-ranges-dialog.js +177 -0
  234. package/dist/esm/components/protect-sheet-dialog/constants.d.ts +3 -0
  235. package/dist/esm/components/protect-sheet-dialog/constants.d.ts.map +1 -0
  236. package/dist/esm/components/protect-sheet-dialog/constants.js +2 -0
  237. package/dist/esm/components/protect-sheet-dialog/index.d.ts +2 -2
  238. package/dist/esm/components/protect-sheet-dialog/index.d.ts.map +1 -1
  239. package/dist/esm/components/protect-sheet-dialog/index.js +3 -2
  240. package/dist/esm/components/scenario-manager-dialog/index.d.ts +51 -0
  241. package/dist/esm/components/scenario-manager-dialog/index.d.ts.map +1 -0
  242. package/dist/esm/components/scenario-manager-dialog/index.js +213 -0
  243. package/dist/esm/components/selection/index.d.ts +1 -1
  244. package/dist/esm/components/selection/index.d.ts.map +1 -1
  245. package/dist/esm/components/selection/index.js +9 -4
  246. package/dist/esm/components/selection/paste-menu.d.ts +14 -1
  247. package/dist/esm/components/selection/paste-menu.d.ts.map +1 -1
  248. package/dist/esm/components/selection/paste-menu.js +76 -8
  249. package/dist/esm/components/selection/paste-options.d.ts +28 -0
  250. package/dist/esm/components/selection/paste-options.d.ts.map +1 -0
  251. package/dist/esm/components/selection/paste-options.js +62 -0
  252. package/dist/esm/components/selection/types.d.ts +12 -1
  253. package/dist/esm/components/selection/types.d.ts.map +1 -1
  254. package/dist/esm/components/selection-drop-menu/index.d.ts +18 -0
  255. package/dist/esm/components/selection-drop-menu/index.d.ts.map +1 -0
  256. package/dist/esm/components/selection-drop-menu/index.js +56 -0
  257. package/dist/esm/components/solver-dialog/index.d.ts +57 -0
  258. package/dist/esm/components/solver-dialog/index.d.ts.map +1 -0
  259. package/dist/esm/components/solver-dialog/index.js +176 -0
  260. package/dist/esm/components/toolbar/sparkline-actions.d.ts +3 -2
  261. package/dist/esm/components/toolbar/sparkline-actions.d.ts.map +1 -1
  262. package/dist/esm/components/toolbar/sparkline-actions.js +6 -2
  263. package/dist/esm/components/toolbar/table-style-selector.d.ts.map +1 -1
  264. package/dist/esm/components/toolbar/table-style-selector.js +29 -3
  265. package/dist/esm/config.d.ts +5 -4
  266. package/dist/esm/config.d.ts.map +1 -1
  267. package/dist/esm/config.js +12 -8
  268. package/dist/esm/helpers.d.ts +5 -0
  269. package/dist/esm/helpers.d.ts.map +1 -1
  270. package/dist/esm/helpers.js +8 -4
  271. package/dist/esm/hooks/use-cell-renderer.d.ts +12 -1
  272. package/dist/esm/hooks/use-cell-renderer.d.ts.map +1 -1
  273. package/dist/esm/hooks/use-cell-renderer.js +5 -2
  274. package/dist/esm/hooks/use-copy-paste-cut.d.ts +36 -2
  275. package/dist/esm/hooks/use-copy-paste-cut.d.ts.map +1 -1
  276. package/dist/esm/hooks/use-copy-paste-cut.js +117 -6
  277. package/dist/esm/hooks/use-editable.d.ts +6 -0
  278. package/dist/esm/hooks/use-editable.d.ts.map +1 -1
  279. package/dist/esm/hooks/use-editor-submit.d.ts +45 -3
  280. package/dist/esm/hooks/use-editor-submit.d.ts.map +1 -1
  281. package/dist/esm/hooks/use-editor-submit.js +81 -6
  282. package/dist/esm/hooks/use-keyboard-handler.d.ts +5 -1
  283. package/dist/esm/hooks/use-keyboard-handler.d.ts.map +1 -1
  284. package/dist/esm/hooks/use-keyboard-handler.js +10 -1
  285. package/dist/esm/hooks/use-selection-drag-copy.d.ts +55 -0
  286. package/dist/esm/hooks/use-selection-drag-copy.d.ts.map +1 -0
  287. package/dist/esm/hooks/use-selection-drag-copy.js +245 -0
  288. package/dist/esm/hooks/use-selection-renderer.d.ts +8 -1
  289. package/dist/esm/hooks/use-selection-renderer.d.ts.map +1 -1
  290. package/dist/esm/hooks/use-selection-renderer.js +7 -2
  291. package/dist/esm/hooks/use-selection.d.ts +59 -1
  292. package/dist/esm/hooks/use-selection.d.ts.map +1 -1
  293. package/dist/esm/hooks/use-selection.js +245 -52
  294. package/dist/esm/index.d.ts +6 -1
  295. package/dist/esm/index.d.ts.map +1 -1
  296. package/dist/esm/index.js +5 -0
  297. package/dist/esm/release-date.js +1 -1
  298. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  299. package/dist/esm/types.d.ts +50 -1
  300. package/dist/esm/types.d.ts.map +1 -1
  301. package/dist/spreadsheet.min.css +1 -1
  302. package/package.json +6 -5
  303. package/dist/cjs/components/cell-error/index.d.ts +0 -14
  304. package/dist/cjs/components/cell-error/index.d.ts.map +0 -1
  305. package/dist/cjs/components/cell-error/index.js +0 -24
  306. package/dist/esm/components/cell-error/index.d.ts +0 -14
  307. package/dist/esm/components/cell-error/index.d.ts.map +0 -1
  308. package/dist/esm/components/cell-error/index.js +0 -18
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.CellBackground = exports.AUTOMATIC_PATTERN_COLOR = void 0;
3
+ exports.CellBackground = exports.getPathGradientRegions = exports.AUTOMATIC_PATTERN_COLOR = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var utils_1 = require("@rowsncolumns/utils");
6
6
  var react_1 = tslib_1.__importDefault(require("react"));
@@ -8,35 +8,132 @@ var react_konva_1 = require("react-konva");
8
8
  var fill_patterns_1 = require("../../api/fill-patterns");
9
9
  /** Excel's Automatic pattern colour: a pattern with no colour of its own. */
10
10
  exports.AUTOMATIC_PATTERN_COLOR = "#000000";
11
- // Build a CanvasGradient matching the OOXML <gradientFill> spec.
12
- // linear: `degree` rotates the axis (0 = left→right, 90 = top→bottom,
13
- // 180 = right→left, 270 = bottom→top). Excel's axis runs through the
14
- // cell's centroid at the given angle and the gradient spans the full
15
- // cell along it.
16
- // path: rectangular radial — `left`/`right`/`top`/`bottom` (each 0..1)
17
- // describe the inset of the inner stop's "core" rectangle. We
18
- // approximate as a single radial gradient anchored at that core's
19
- // center, with radius = distance to the farthest corner.
11
+ /**
12
+ * Excel's path gradient over the rectangle `[x0, y0]–[x1, y1]`: the core
13
+ * rectangle (inner stop colour) and four trapezoids cut along the
14
+ * core-to-corner diagonals, each a linear gradient from the core edge out
15
+ * to its cell edge — together, concentric rectangles of colour.
16
+ */
17
+ var getPathGradientRegions = function (gradient, x0, y0, x1, y1) {
18
+ var _a, _b, _c, _d;
19
+ var width = x1 - x0;
20
+ var height = y1 - y0;
21
+ var cl = x0 + ((_a = gradient.left) !== null && _a !== void 0 ? _a : 0) * width;
22
+ var cr = x1 - ((_b = gradient.right) !== null && _b !== void 0 ? _b : 0) * width;
23
+ var ct = y0 + ((_c = gradient.top) !== null && _c !== void 0 ? _c : 0) * height;
24
+ var cb = y1 - ((_d = gradient.bottom) !== null && _d !== void 0 ? _d : 0) * height;
25
+ var coreLeft = Math.min(cl, cr);
26
+ var coreRight = Math.max(cl, cr);
27
+ var coreTop = Math.min(ct, cb);
28
+ var coreBottom = Math.max(ct, cb);
29
+ return {
30
+ core: [coreLeft, coreTop, coreRight, coreBottom],
31
+ regions: [
32
+ {
33
+ points: [
34
+ [x0, y0],
35
+ [x1, y0],
36
+ [coreRight, coreTop],
37
+ [coreLeft, coreTop],
38
+ ],
39
+ axis: [coreLeft, coreTop, coreLeft, y0],
40
+ },
41
+ {
42
+ points: [
43
+ [x1, y0],
44
+ [x1, y1],
45
+ [coreRight, coreBottom],
46
+ [coreRight, coreTop],
47
+ ],
48
+ axis: [coreRight, coreTop, x1, coreTop],
49
+ },
50
+ {
51
+ points: [
52
+ [x1, y1],
53
+ [x0, y1],
54
+ [coreLeft, coreBottom],
55
+ [coreRight, coreBottom],
56
+ ],
57
+ axis: [coreLeft, coreBottom, coreLeft, y1],
58
+ },
59
+ {
60
+ points: [
61
+ [x0, y1],
62
+ [x0, y0],
63
+ [coreLeft, coreTop],
64
+ [coreLeft, coreBottom],
65
+ ],
66
+ axis: [coreLeft, coreTop, x0, coreTop],
67
+ },
68
+ ],
69
+ };
70
+ };
71
+ exports.getPathGradientRegions = getPathGradientRegions;
72
+ var addStops = function (canvasGrad, gradient) {
73
+ var e_1, _a;
74
+ try {
75
+ for (var _b = tslib_1.__values(gradient.stops), _c = _b.next(); !_c.done; _c = _b.next()) {
76
+ var stop_1 = _c.value;
77
+ // Clamp position to [0,1] — Canvas API rejects out-of-range values.
78
+ var pos = Math.max(0, Math.min(1, stop_1.position));
79
+ try {
80
+ canvasGrad.addColorStop(pos, stop_1.color);
81
+ }
82
+ catch (_d) {
83
+ // Invalid color string — skip rather than blow up the render.
84
+ }
85
+ }
86
+ }
87
+ catch (e_1_1) { e_1 = { error: e_1_1 }; }
88
+ finally {
89
+ try {
90
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
91
+ }
92
+ finally { if (e_1) throw e_1.error; }
93
+ }
94
+ };
95
+ var paintPathGradient = function (context, native, gradient, rect) {
96
+ var e_2, _a;
97
+ var _b = exports.getPathGradientRegions.apply(void 0, tslib_1.__spreadArray([gradient], tslib_1.__read(rect), false)), core = _b.core, regions = _b.regions;
98
+ var sorted = tslib_1.__spreadArray([], tslib_1.__read(gradient.stops), false).sort(function (a, b) { return a.position - b.position; });
99
+ context.setAttr("fillStyle", sorted[0].color);
100
+ context.fillRect(core[0], core[1], core[2] - core[0], core[3] - core[1]);
101
+ try {
102
+ for (var regions_1 = tslib_1.__values(regions), regions_1_1 = regions_1.next(); !regions_1_1.done; regions_1_1 = regions_1.next()) {
103
+ var region = regions_1_1.value;
104
+ var _c = tslib_1.__read(region.axis, 4), ax0 = _c[0], ay0 = _c[1], ax1 = _c[2], ay1 = _c[3];
105
+ if (ax0 === ax1 && ay0 === ay1)
106
+ continue;
107
+ var canvasGrad = native.createLinearGradient(ax0, ay0, ax1, ay1);
108
+ addStops(canvasGrad, gradient);
109
+ context.beginPath();
110
+ region.points.forEach(function (_a, index) {
111
+ var _b = tslib_1.__read(_a, 2), px = _b[0], py = _b[1];
112
+ return index ? context.lineTo(px, py) : context.moveTo(px, py);
113
+ });
114
+ context.closePath();
115
+ context.setAttr("fillStyle", canvasGrad);
116
+ context.fill();
117
+ }
118
+ }
119
+ catch (e_2_1) { e_2 = { error: e_2_1 }; }
120
+ finally {
121
+ try {
122
+ if (regions_1_1 && !regions_1_1.done && (_a = regions_1.return)) _a.call(regions_1);
123
+ }
124
+ finally { if (e_2) throw e_2.error; }
125
+ }
126
+ };
20
127
  var buildCanvasGradient = function (native, gradient, width, height) {
21
- var e_1, _a, e_2, _b;
22
- var _c, _d, _e, _f, _g, _h;
23
- if (!((_c = gradient.stops) === null || _c === void 0 ? void 0 : _c.length))
128
+ var e_3, _a;
129
+ var _b, _c;
130
+ if (!((_b = gradient.stops) === null || _b === void 0 ? void 0 : _b.length))
24
131
  return null;
25
132
  var canvasGrad;
26
- if (gradient.type === "path") {
27
- var left = (_d = gradient.left) !== null && _d !== void 0 ? _d : 0;
28
- var right = (_e = gradient.right) !== null && _e !== void 0 ? _e : 0;
29
- var top_1 = (_f = gradient.top) !== null && _f !== void 0 ? _f : 0;
30
- var bottom = (_g = gradient.bottom) !== null && _g !== void 0 ? _g : 0;
31
- var cx = ((left + (1 - right)) / 2) * width;
32
- var cy = ((top_1 + (1 - bottom)) / 2) * height;
33
- var farthestCorner = Math.max(Math.hypot(cx, cy), Math.hypot(width - cx, cy), Math.hypot(cx, height - cy), Math.hypot(width - cx, height - cy));
34
- canvasGrad = native.createRadialGradient(cx, cy, 0, cx, cy, farthestCorner || 1);
35
- }
36
- else {
133
+ {
37
134
  // Linear. Map degrees → axis vector. Excel: degree=0 runs the
38
135
  // gradient from LEFT to RIGHT. degree increases clockwise.
39
- var deg = ((((_h = gradient.degree) !== null && _h !== void 0 ? _h : 0) % 360) + 360) % 360;
136
+ var deg = ((((_c = gradient.degree) !== null && _c !== void 0 ? _c : 0) % 360) + 360) % 360;
40
137
  var rad = (deg * Math.PI) / 180;
41
138
  // Project the axis through the rect's center; the start/end points
42
139
  // are where that axis exits the bounding box (handled by computing
@@ -55,7 +152,7 @@ var buildCanvasGradient = function (native, gradient, width, height) {
55
152
  var maxProj = -Infinity;
56
153
  try {
57
154
  for (var corners_1 = tslib_1.__values(corners), corners_1_1 = corners_1.next(); !corners_1_1.done; corners_1_1 = corners_1.next()) {
58
- var _j = tslib_1.__read(corners_1_1.value, 2), px = _j[0], py = _j[1];
155
+ var _d = tslib_1.__read(corners_1_1.value, 2), px = _d[0], py = _d[1];
59
156
  var proj = (px - cx) * dx + (py - cy) * dy;
60
157
  if (proj < minProj)
61
158
  minProj = proj;
@@ -63,12 +160,12 @@ var buildCanvasGradient = function (native, gradient, width, height) {
63
160
  maxProj = proj;
64
161
  }
65
162
  }
66
- catch (e_1_1) { e_1 = { error: e_1_1 }; }
163
+ catch (e_3_1) { e_3 = { error: e_3_1 }; }
67
164
  finally {
68
165
  try {
69
166
  if (corners_1_1 && !corners_1_1.done && (_a = corners_1.return)) _a.call(corners_1);
70
167
  }
71
- finally { if (e_1) throw e_1.error; }
168
+ finally { if (e_3) throw e_3.error; }
72
169
  }
73
170
  var x0 = cx + dx * minProj;
74
171
  var y0 = cy + dy * minProj;
@@ -76,26 +173,7 @@ var buildCanvasGradient = function (native, gradient, width, height) {
76
173
  var y1 = cy + dy * maxProj;
77
174
  canvasGrad = native.createLinearGradient(x0, y0, x1, y1);
78
175
  }
79
- try {
80
- for (var _k = tslib_1.__values(gradient.stops), _l = _k.next(); !_l.done; _l = _k.next()) {
81
- var stop_1 = _l.value;
82
- // Clamp position to [0,1] — Canvas API rejects out-of-range values.
83
- var pos = Math.max(0, Math.min(1, stop_1.position));
84
- try {
85
- canvasGrad.addColorStop(pos, stop_1.color);
86
- }
87
- catch (_m) {
88
- // Invalid color string — skip rather than blow up the render.
89
- }
90
- }
91
- }
92
- catch (e_2_1) { e_2 = { error: e_2_1 }; }
93
- finally {
94
- try {
95
- if (_l && !_l.done && (_b = _k.return)) _b.call(_k);
96
- }
97
- finally { if (e_2) throw e_2.error; }
98
- }
176
+ addStops(canvasGrad, gradient);
99
177
  return canvasGrad;
100
178
  };
101
179
  var CellBackground = function (_a) {
@@ -124,7 +202,14 @@ var CellBackground = function (_a) {
124
202
  var useTile = fillPattern && fillPattern !== "solid" && fillPattern !== "none";
125
203
  var useGradient = !!gradient && ((_c = (_b = gradient.stops) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > 0;
126
204
  var native = context._context;
127
- if (useGradient && native) {
205
+ var fillRectArea = (isMergedCell || !showFaintBorder) && showGridLines
206
+ ? [1, 1, shape.width(), shape.height()]
207
+ : [0, 0, shape.width() + 1, shape.height() + 1];
208
+ var usePathGradient = useGradient && native && gradient.type === "path";
209
+ if (usePathGradient) {
210
+ paintPathGradient(context, native, gradient, fillRectArea);
211
+ }
212
+ else if (useGradient && native) {
128
213
  var canvasGrad = buildCanvasGradient(native, gradient, shape.width(), shape.height());
129
214
  if (canvasGrad) {
130
215
  context.setAttr("fillStyle", canvasGrad);
@@ -149,11 +234,13 @@ var CellBackground = function (_a) {
149
234
  else {
150
235
  context.setAttr("fillStyle", finalBackgroundColor);
151
236
  }
152
- if ((isMergedCell || !showFaintBorder) && showGridLines) {
153
- context.fillRect(1, 1, shape.width() - 1, shape.height() - 1);
154
- }
155
- else {
156
- context.fillRect(0, 0, shape.width() + 1, shape.height() + 1);
237
+ if (!usePathGradient) {
238
+ if ((isMergedCell || !showFaintBorder) && showGridLines) {
239
+ context.fillRect(1, 1, shape.width() - 1, shape.height() - 1);
240
+ }
241
+ else {
242
+ context.fillRect(0, 0, shape.width() + 1, shape.height() + 1);
243
+ }
157
244
  }
158
245
  if (showFaintBorder) {
159
246
  var lightColor = (0, utils_1.lightenColor)(-0.1, backgroundColor);
@@ -46,6 +46,13 @@ export type CellTextRunsProps = {
46
46
  wrap: boolean;
47
47
  /** Theme — used to resolve segment `color` objects to CSS strings. */
48
48
  theme: SpreadsheetTheme;
49
+ /**
50
+ * Multiplier for run font sizes given in points (zoom × shrink-to-fit),
51
+ * so a run's own size follows the cell's.
52
+ */
53
+ fontScale?: number;
54
+ /** Konva rotation (degrees, clockwise) of the whole block — rotated text. */
55
+ rotation?: number;
49
56
  };
50
57
  export type Resolved = {
51
58
  bold: boolean;
@@ -64,7 +71,7 @@ export type Resolved = {
64
71
  * merged style carries a `baselineOffset` (own or inherited from the
65
72
  * base) the sup/sub font scale is applied here, exactly once.
66
73
  */
67
- export declare const resolveSegmentStyle: (seg: RichTextSegment, base: Resolved, theme: SpreadsheetTheme) => Resolved;
74
+ export declare const resolveSegmentStyle: (seg: RichTextSegment, base: Resolved, theme: SpreadsheetTheme, fontScale?: number) => Resolved;
68
75
  /** A segment paired with its fully-resolved paint style. */
69
76
  export type ResolvedSegment = {
70
77
  seg: RichTextSegment;
@@ -83,10 +90,10 @@ export declare const computeLineMetrics: (resolvedLines: ResolvedSegment[][], ba
83
90
  };
84
91
  /**
85
92
  * Vertical draw position (textBaseline="top") for one segment within
86
- * its line box. Normal runs share the line's alphabetic baseline
87
- * (smaller runs shift down), superscript hugs the line top, subscript
88
- * hugs the line bottom. All three reduce to `lineTop` when the run's
89
- * size equals the line's. Exported for unit tests.
93
+ * its line box. Every run shares the line's alphabetic baseline (smaller
94
+ * runs shift down); superscript / subscript runs then move that baseline
95
+ * up / down by Excel's shift ({@link getScriptBaselineShift}). Exported
96
+ * for unit tests.
90
97
  */
91
98
  export declare const computeSegmentTop: (lineTop: number, lineFontSize: number, segFontSize: number, baselineOffset: "superscript" | "subscript" | undefined) => number;
92
99
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"cell-text-runs.d.ts","sourceRoot":"","sources":["../../../../components/cell/cell-text-runs.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAGzD,OAAO,KAAsB,MAAM,OAAO,CAAC;AAG3C,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAElE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE/D,OAAO,EAKL,KAAK,eAAe,EACpB,KAAK,kBAAkB,EACxB,MAAM,aAAa,CAAC;AAErB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,mEAAmE;IACnE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,yBAAyB;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,kBAAkB,EAAE,CAAC;IAC3B,8DAA8D;IAC9D,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAC9B,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,sEAAsE;IACtE,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,OAAO,CAAC;IAC3B;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC;IACjD,eAAe,EAAE,eAAe,CAAC;IACjC,aAAa,EAAE,aAAa,CAAC;IAC7B,+EAA+E;IAC/E,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,cAAc,CAAC;IAC/B,0EAA0E;IAC1E,KAAK,EAAE,MAAM,CAAC;IACd;;;;OAIG;IACH,IAAI,EAAE,OAAO,CAAC;IACd,sEAAsE;IACtE,KAAK,EAAE,gBAAgB,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,QAAQ,GAAG;IACrB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,aAAa,EAAE,OAAO,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,aAAa,GAAG,WAAW,CAAC;CAC9C,CAAC;AAkCF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAC9B,KAAK,eAAe,EACpB,MAAM,QAAQ,EACd,OAAO,gBAAgB,KACtB,QA0BF,CAAC;AAKF,4DAA4D;AAC5D,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,eAAe,CAAC;IACrB,CAAC,EAAE,QAAQ,CAAC;CACb,CAAC;AAYF;;;;;GAKG;AACH,eAAO,MAAM,kBAAkB,GAC7B,eAAe,eAAe,EAAE,EAAE,EAClC,MAAM,QAAQ,EACd,WAAW,CAAC,CAAC,EAAE,QAAQ,KAAK,MAAM,KACjC;IAAE,aAAa,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,EAAE,CAAC;IAAC,WAAW,EAAE,MAAM,CAAA;CASvE,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,cAAc,MAAM,EACpB,aAAa,MAAM,EACnB,gBAAgB,aAAa,GAAG,WAAW,GAAG,SAAS,KACtD,MAMF,CAAC;AAoHF;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,YAAY,oCAAsB,iBAAiB,uBA2P9D,CAAC"}
1
+ {"version":3,"file":"cell-text-runs.d.ts","sourceRoot":"","sources":["../../../../components/cell/cell-text-runs.tsx"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ var tslib_1 = require("tslib");
5
5
  var react_1 = tslib_1.__importStar(require("react"));
6
6
  var react_konva_1 = require("react-konva");
7
7
  var themes_1 = require("../../themes");
8
+ var alignment_1 = require("./alignment");
8
9
  var line_height_1 = require("./line-height");
9
10
  var rich_text_1 = require("./rich-text");
10
11
  var BASELINE_OFFSET_FONT_SCALE = 0.58;
@@ -45,13 +46,12 @@ var buildFontString = function (r) {
45
46
  * merged style carries a `baselineOffset` (own or inherited from the
46
47
  * base) the sup/sub font scale is applied here, exactly once.
47
48
  */
48
- var resolveSegmentStyle = function (seg, base, theme) {
49
+ var resolveSegmentStyle = function (seg, base, theme, fontScale) {
49
50
  var _a, _b, _c, _d, _e, _f;
51
+ if (fontScale === void 0) { fontScale = 1; }
50
52
  var f = seg.format;
51
53
  var baselineOffset = (_a = f.baselineOffset) !== null && _a !== void 0 ? _a : base.baselineOffset;
52
- var fontSize = typeof f.fontSize === "number"
53
- ? (f.fontSize / pointFromPx(base.fontSize)) * base.fontSize
54
- : base.fontSize;
54
+ var fontSize = typeof f.fontSize === "number" ? f.fontSize * PT_TO_PX * fontScale : base.fontSize;
55
55
  return {
56
56
  bold: (_b = f.bold) !== null && _b !== void 0 ? _b : base.bold,
57
57
  italic: (_c = f.italic) !== null && _c !== void 0 ? _c : base.italic,
@@ -72,8 +72,8 @@ var resolveSegmentStyle = function (seg, base, theme) {
72
72
  };
73
73
  };
74
74
  exports.resolveSegmentStyle = resolveSegmentStyle;
75
- /** Inverse of pointToPixel — used only when computing a per-segment scale. */
76
- var pointFromPx = function (px) { return px / 1.3333; };
75
+ /** CSS pixels per point (96 / 72), as `pointToPixel`. */
76
+ var PT_TO_PX = 96 / 72;
77
77
  /**
78
78
  * Fraction of the em box above the alphabetic baseline for typical
79
79
  * Latin fonts. Used to baseline-align mixed-size runs on one line:
@@ -108,18 +108,15 @@ var computeLineMetrics = function (resolvedLines, base, advanceOf) {
108
108
  exports.computeLineMetrics = computeLineMetrics;
109
109
  /**
110
110
  * Vertical draw position (textBaseline="top") for one segment within
111
- * its line box. Normal runs share the line's alphabetic baseline
112
- * (smaller runs shift down), superscript hugs the line top, subscript
113
- * hugs the line bottom. All three reduce to `lineTop` when the run's
114
- * size equals the line's. Exported for unit tests.
111
+ * its line box. Every run shares the line's alphabetic baseline (smaller
112
+ * runs shift down); superscript / subscript runs then move that baseline
113
+ * up / down by Excel's shift ({@link getScriptBaselineShift}). Exported
114
+ * for unit tests.
115
115
  */
116
116
  var computeSegmentTop = function (lineTop, lineFontSize, segFontSize, baselineOffset) {
117
- if (baselineOffset === "superscript")
118
- return lineTop;
119
- if (baselineOffset === "subscript") {
120
- return lineTop + (lineFontSize - segFontSize);
121
- }
122
- return lineTop + (lineFontSize - segFontSize) * ALPHABETIC_BASELINE_RATIO;
117
+ return lineTop +
118
+ (lineFontSize - segFontSize) * ALPHABETIC_BASELINE_RATIO +
119
+ (0, alignment_1.getScriptBaselineShift)(baselineOffset, lineFontSize);
123
120
  };
124
121
  exports.computeSegmentTop = computeSegmentTop;
125
122
  /**
@@ -256,7 +253,7 @@ var atomsToSegments = function (atoms) {
256
253
  * - Mention runs render as their inline label only (no chrome).
257
254
  */
258
255
  exports.CellTextRuns = react_1.default.memo(function (props) {
259
- var x = props.x, y = props.y, width = props.width, height = props.height, padding = props.padding, value = props.value, runs = props.runs, baseColor = props.baseColor, baseFontFamily = props.baseFontFamily, baseFontSize = props.baseFontSize, baseBold = props.baseBold, baseItalic = props.baseItalic, baseUnderline = props.baseUnderline, baseStrikethrough = props.baseStrikethrough, baseBaselineOffset = props.baseBaselineOffset, horizontalAlign = props.horizontalAlign, verticalAlign = props.verticalAlign, lineHeight = props.lineHeight, lineHeightMode = props.lineHeightMode, scale = props.scale, wrap = props.wrap, theme = props.theme;
256
+ var x = props.x, y = props.y, width = props.width, height = props.height, padding = props.padding, value = props.value, runs = props.runs, baseColor = props.baseColor, baseFontFamily = props.baseFontFamily, baseFontSize = props.baseFontSize, baseBold = props.baseBold, baseItalic = props.baseItalic, baseUnderline = props.baseUnderline, baseStrikethrough = props.baseStrikethrough, baseBaselineOffset = props.baseBaselineOffset, horizontalAlign = props.horizontalAlign, verticalAlign = props.verticalAlign, lineHeight = props.lineHeight, lineHeightMode = props.lineHeightMode, scale = props.scale, wrap = props.wrap, theme = props.theme, _a = props.fontScale, fontScale = _a === void 0 ? 1 : _a, rotation = props.rotation;
260
257
  var sceneFunc = (0, react_1.useCallback)(function (context, _shape) {
261
258
  var e_3, _a, e_4, _b, e_5, _c, e_6, _d, e_7, _e;
262
259
  var baseResolved = {
@@ -281,7 +278,7 @@ exports.CellTextRuns = react_1.default.memo(function (props) {
281
278
  // it walks; the per-segment paint loop below sets it again per
282
279
  // segment so the mutation here is safe.
283
280
  var measureAtom = function (atom) {
284
- var r = (0, exports.resolveSegmentStyle)({ text: atom.text, format: atom.format }, baseResolved, theme);
281
+ var r = (0, exports.resolveSegmentStyle)({ text: atom.text, format: atom.format }, baseResolved, theme, fontScale);
285
282
  context.setAttr("font", buildFontString(r));
286
283
  return context.measureText(atom.text).width;
287
284
  };
@@ -365,7 +362,7 @@ exports.CellTextRuns = react_1.default.memo(function (props) {
365
362
  var resolvedLines = lines.map(function (lineSegments) {
366
363
  return lineSegments.map(function (seg) { return ({
367
364
  seg: seg,
368
- r: (0, exports.resolveSegmentStyle)(seg, baseResolved, theme),
365
+ r: (0, exports.resolveSegmentStyle)(seg, baseResolved, theme, fontScale),
369
366
  }); });
370
367
  });
371
368
  var _h = (0, exports.computeLineMetrics)(resolvedLines, baseResolved, function (r) {
@@ -476,7 +473,8 @@ exports.CellTextRuns = react_1.default.memo(function (props) {
476
473
  height,
477
474
  padding,
478
475
  theme,
476
+ fontScale,
479
477
  ]);
480
- return (react_1.default.createElement(react_konva_1.Shape, { x: x, y: y, width: width, height: height, sceneFunc: sceneFunc, listening: false, perfectDrawEnabled: false }));
478
+ return (react_1.default.createElement(react_konva_1.Shape, { x: x, y: y, width: width, height: height, rotation: rotation, sceneFunc: sceneFunc, listening: false, perfectDrawEnabled: false }));
481
479
  });
482
480
  exports.CellTextRuns.displayName = "CellTextRuns";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/cell/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAsDjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAO3C,eAAO,MAAM,IAAI,oCAAgB,SAAS,uBA6hCxC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../components/cell/index.tsx"],"names":[],"mappings":"AAQA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAoDjD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAO3C,eAAO,MAAM,IAAI,oCAAgB,SAAS,uBA0hCxC,CAAC"}
@@ -11,13 +11,14 @@ var cf_icons_1 = require("../../api/cf-icons");
11
11
  var config_1 = require("../../config");
12
12
  var helpers_1 = require("../../helpers");
13
13
  var themes_1 = require("../../themes");
14
+ var sparkline_math_1 = require("../cell-structured/sparkline-math");
14
15
  var cell_arrow_1 = require("../cell-arrow");
15
16
  var cell_calculated_1 = require("../cell-calculated");
16
17
  var cell_checkbox_1 = require("../cell-checkbox");
17
- var cell_error_1 = require("../cell-error");
18
18
  var cell_expand_1 = require("../cell-expand");
19
19
  var cell_filter_1 = require("../cell-filter");
20
20
  var cell_group_1 = require("../cell-group");
21
+ var cell_indicator_1 = require("../cell-indicator");
21
22
  var alignment_1 = require("./alignment");
22
23
  var cell_text_runs_1 = require("./cell-text-runs");
23
24
  var helpers_2 = require("./helpers");
@@ -28,9 +29,9 @@ var LOADING_VALUE = "Loading...";
28
29
  // CSS-equivalent scale for sup/sub baseline offset (matches browser default).
29
30
  var BASELINE_OFFSET_FONT_SCALE = 0.58;
30
31
  exports.Cell = (0, react_1.memo)(function (props) {
31
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
32
- var x = props.x, y = props.y, width = props.width, height = props.height, value = props.value, _m = props.padding, padding = _m === void 0 ? grid_1.CELL_TEXT_PADDING : _m, _o = props.scale, scale = _o === void 0 ? 1 : _o, _p = props.lineHeight, lineHeight = _p === void 0 ? 1.2 : _p, _q = props.lineHeightMode, lineHeightMode = _q === void 0 ? "fontMetrics" : _q, imageUrl = props.imageUrl, cellFormat = props.cellFormat, chipBackgroundColor = props.chipBackgroundColor, defaultColor = props.defaultColor, defaultBackgroundColor = props.defaultBackgroundColor, sheetId = props.sheetId, rowIndex = props.rowIndex, columnIndex = props.columnIndex, onRequestEdit = props.onRequestEdit, onArrowClick = props.onArrowClick, isChecked = props.isChecked, isInvalid = props.isInvalid, isError = props.isError, showCheckbox = props.showCheckbox, showArrow = props.showArrow, showFilter = props.showFilter, showChip = props.showChip, showNote = props.showNote, showComment = props.showComment, isFilterActive = props.isFilterActive, filterIconColor = props.filterIconColor, onFilterClick = props.onFilterClick, onCheckboxClick = props.onCheckboxClick, enableOverflow = props.enableOverflow, cellWidth = props.cellWidth, _textWidth = props.textWidth, theme = props.theme, showCalculatedColumnIcon = props.showCalculatedColumnIcon, isCalculatedColumn = props.isCalculatedColumn, expandable = props.expandable, expanded = props.expanded, columnSpans = props.columnSpans, overflowRight = props.overflowRight, overflowLeft = props.overflowLeft, _r = props.centerOnSpan, centerOnSpan = _r === void 0 ? false : _r, _s = props.arrowOutside, arrowOutside = _s === void 0 ? false : _s, showGridLines = props.showGridLines, structuredValue = props.structuredValue, sparklineGroupAxis = props.sparklineGroupAxis, defaultFontSizePoint = props.defaultFontSizePoint, sortOrder = props.sortOrder, textFormatRuns = props.textFormatRuns, numberFormatLayout = props.numberFormatLayout, StructuredResult = props.StructuredResult, _t = props.readonly, readonly = _t === void 0 ? false : _t, onExpandCollapse = props.onExpandCollapse, getDefaultHorizontalAlignment = props.getDefaultHorizontalAlignment;
33
- var _u = cellFormat !== null && cellFormat !== void 0 ? cellFormat : {}, textFormat = _u.textFormat, wrapStrategy = _u.wrapStrategy;
32
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q;
33
+ var x = props.x, y = props.y, width = props.width, height = props.height, value = props.value, _r = props.padding, padding = _r === void 0 ? grid_1.CELL_TEXT_PADDING : _r, _s = props.scale, scale = _s === void 0 ? 1 : _s, _t = props.lineHeight, lineHeight = _t === void 0 ? 1.2 : _t, _u = props.lineHeightMode, lineHeightMode = _u === void 0 ? "fontMetrics" : _u, imageUrl = props.imageUrl, cellFormat = props.cellFormat, chipBackgroundColor = props.chipBackgroundColor, defaultColor = props.defaultColor, defaultBackgroundColor = props.defaultBackgroundColor, sheetId = props.sheetId, rowIndex = props.rowIndex, columnIndex = props.columnIndex, onRequestEdit = props.onRequestEdit, onArrowClick = props.onArrowClick, isChecked = props.isChecked, showErrorIndicator = props.showErrorIndicator, circleInvalid = props.circleInvalid, showCheckbox = props.showCheckbox, showArrow = props.showArrow, showFilter = props.showFilter, showChip = props.showChip, showNote = props.showNote, showComment = props.showComment, isFilterActive = props.isFilterActive, filterIconColor = props.filterIconColor, onFilterClick = props.onFilterClick, onCheckboxClick = props.onCheckboxClick, enableOverflow = props.enableOverflow, cellWidth = props.cellWidth, _textWidth = props.textWidth, theme = props.theme, showCalculatedColumnIcon = props.showCalculatedColumnIcon, isCalculatedColumn = props.isCalculatedColumn, expandable = props.expandable, expanded = props.expanded, columnSpans = props.columnSpans, overflowRight = props.overflowRight, overflowLeft = props.overflowLeft, _v = props.centerOnSpan, centerOnSpan = _v === void 0 ? false : _v, _w = props.arrowOutside, arrowOutside = _w === void 0 ? false : _w, showGridLines = props.showGridLines, structuredValue = props.structuredValue, sparklineGroupAxis = props.sparklineGroupAxis, defaultFontSizePoint = props.defaultFontSizePoint, sortOrder = props.sortOrder, textFormatRuns = props.textFormatRuns, numberFormatLayout = props.numberFormatLayout, StructuredResult = props.StructuredResult, _x = props.readonly, readonly = _x === void 0 ? false : _x, onExpandCollapse = props.onExpandCollapse, getDefaultHorizontalAlignment = props.getDefaultHorizontalAlignment;
34
+ var _y = cellFormat !== null && cellFormat !== void 0 ? cellFormat : {}, textFormat = _y.textFormat, wrapStrategy = _y.wrapStrategy;
34
35
  // openpyxl's `relativeIndent` is an additive delta on top of `indent`.
35
36
  var indent = ((_a = cellFormat === null || cellFormat === void 0 ? void 0 : cellFormat.indent) !== null && _a !== void 0 ? _a : 0) + ((_b = cellFormat === null || cellFormat === void 0 ? void 0 : cellFormat.relativeIndent) !== null && _b !== void 0 ? _b : 0);
36
37
  var conditionalIcon = (_c = cellFormat === null || cellFormat === void 0 ? void 0 : cellFormat.conditionalIcon) !== null && _c !== void 0 ? _c : null;
@@ -56,7 +57,7 @@ exports.Cell = (0, react_1.memo)(function (props) {
56
57
  var canvasTextAlign = (0, alignment_1.resolveCanvasTextAlign)(horizontalAlignment);
57
58
  var isFillAlignment = horizontalAlignment === "fill";
58
59
  // Text format
59
- var _v = textFormat !== null && textFormat !== void 0 ? textFormat : {}, colorObject = _v.color, bold = _v.bold, italic = _v.italic, strikethrough = _v.strikethrough, underline = _v.underline, underlineStyle = _v.underlineStyle, baselineOffset = _v.baselineOffset;
60
+ var _z = textFormat !== null && textFormat !== void 0 ? textFormat : {}, colorObject = _z.color, bold = _z.bold, italic = _z.italic, strikethrough = _z.strikethrough, underline = _z.underline, underlineStyle = _z.underlineStyle, baselineOffset = _z.baselineOffset;
60
61
  var fontSizePt = (_f = textFormat === null || textFormat === void 0 ? void 0 : textFormat.fontSize) !== null && _f !== void 0 ? _f : defaultFontSizePoint;
61
62
  // Fall back to the theme's body font so the painter agrees with the
62
63
  // sizer (AutoSizerCanvas measures with theme.primaryFontFamily).
@@ -77,11 +78,9 @@ exports.Cell = (0, react_1.memo)(function (props) {
77
78
  var fontSize = baselineOffset
78
79
  ? baseFontSize * BASELINE_OFFSET_FONT_SCALE
79
80
  : baseFontSize;
80
- var effectiveVerticalAlignment = baselineOffset === "superscript"
81
- ? "top"
82
- : baselineOffset === "subscript"
83
- ? "bottom"
84
- : verticalAlignment;
81
+ // Superscript / subscript keep the cell's alignment and move the
82
+ // baseline instead (`scriptOffsetY` below), as Excel does.
83
+ var effectiveVerticalAlignment = verticalAlignment;
85
84
  var textStyle = "".concat(bold ? "bold" : "normal", " ").concat(italic ? "italic" : "normal");
86
85
  var showText = !(0, utils_1.isNil)(structuredValue) ? false : !(0, utils_1.isNil)(value);
87
86
  // Overflow line
@@ -116,8 +115,6 @@ exports.Cell = (0, react_1.memo)(function (props) {
116
115
  finally { if (e_1) throw e_1.error; }
117
116
  }
118
117
  }, [defaultBackgroundColor, columnSpans, theme, columnIndex, scale]);
119
- // Show error tag
120
- var showError = isError || isInvalid;
121
118
  // Calculated
122
119
  var isCalculatedCell = showCalculatedColumnIcon && isCalculatedColumn;
123
120
  // Alignment
@@ -316,11 +313,19 @@ exports.Cell = (0, react_1.memo)(function (props) {
316
313
  // own styling instead of being flattened; plain no-run cells with
317
314
  // a cell-level baselineOffset keep the single-style approximation
318
315
  // below (scaled font + top/bottom alignment).
316
+ // Shrink-to-fit and rotated cells keep their runs: the run painter takes
317
+ // the shrink factor and the rotated layout (stacked text stays plain).
319
318
  var useRichTextRunPath = !showChip &&
320
- !shrinkEnabled &&
321
319
  !isStackedVertical &&
322
- !hasNumericRotation &&
323
320
  (0, rich_text_1.hasRenderableRuns)(textFormatRuns !== null && textFormatRuns !== void 0 ? textFormatRuns : undefined);
321
+ var shrinkFactor = fontSize > 0 ? effectiveFontSize / fontSize : 1;
322
+ var scriptOffsetY = (0, alignment_1.getScriptTextOffsetY)({
323
+ baselineOffset: baselineOffset,
324
+ verticalAlign: effectiveVerticalAlignment,
325
+ baseFontSize: baseFontSize * shrinkFactor,
326
+ scriptFontSize: effectiveFontSize,
327
+ lineHeight: textLineHeight,
328
+ });
324
329
  // Double / accounting underlines on a single unrotated line (the default
325
330
  // Text path); wrapped, rotated or rich-text cells keep Konva's single line.
326
331
  var paintStyledUnderline = hasStyledUnderline &&
@@ -605,30 +610,30 @@ exports.Cell = (0, react_1.memo)(function (props) {
605
610
  // lines, and `textFormatRuns` indices reference the raw
606
611
  // string. `normalizeDisplayText` is bypassed because the
607
612
  // renderer handles multi-line layout itself.
608
- react_1.default.createElement(cell_text_runs_1.CellTextRuns, { x: textLeftPadding, y: textNode.y, width: finalTextWidth, height: textNode.height, padding: padding, value: displayValue !== null && displayValue !== void 0 ? displayValue : "", runs: textFormatRuns !== null && textFormatRuns !== void 0 ? textFormatRuns : [], baseColor: color !== null && color !== void 0 ? color : defaultColor, baseFontFamily: fontFamily,
613
+ react_1.default.createElement(cell_text_runs_1.CellTextRuns, { x: (_j = rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.x) !== null && _j !== void 0 ? _j : textLeftPadding, y: (_k = rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.y) !== null && _k !== void 0 ? _k : textNode.y, width: (_l = rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.width) !== null && _l !== void 0 ? _l : finalTextWidth, height: rotatedLayout ? approxTextHeight : textNode.height, rotation: rotatedLayout ? rotationDegrees : undefined, fontScale: scale * shrinkFactor, padding: padding, value: displayValue !== null && displayValue !== void 0 ? displayValue : "", runs: textFormatRuns !== null && textFormatRuns !== void 0 ? textFormatRuns : [], baseColor: color !== null && color !== void 0 ? color : defaultColor, baseFontFamily: fontFamily,
609
614
  // UN-scaled size on purpose: when the cell carries a
610
615
  // baselineOffset the segment resolver applies the
611
616
  // sup/sub font scale itself (exactly once). Shrink-to-
612
617
  // fit never reaches this path, so `baseFontSize` equals
613
618
  // `effectiveFontSize` for every other cell.
614
- baseFontSize: baseFontSize, baseBold: !!bold, baseItalic: !!italic, baseUnderline: !!underline, baseStrikethrough: !!strikethrough, baseBaselineOffset: baselineOffset !== null && baselineOffset !== void 0 ? baselineOffset : undefined, horizontalAlign: canvasTextAlign, verticalAlign: effectiveVerticalAlignment, lineHeight: lineHeight, lineHeightMode: lineHeightMode, scale: scale, wrap: shouldWrap, theme: theme })) : paintDistributed ? (react_1.default.createElement(react_konva_1.Shape, { x: textLeftPadding, y: textNode.y, width: finalTextWidth, height: textNode.height, sceneFunc: distributedSceneFunc, listening: false, perfectDrawEnabled: false })) : paintNumberFormatLayout ? (react_1.default.createElement(react_konva_1.Shape, { x: textLeftPadding, y: textNode.y, width: finalTextWidth, height: textNode.height, sceneFunc: numberFormatSceneFunc, listening: false, perfectDrawEnabled: false })) : (react_1.default.createElement(react_1.default.Fragment, null,
615
- react_1.default.createElement(react_konva_1.Text, { x: (_j = rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.x) !== null && _j !== void 0 ? _j : textLeftPadding, y: (_k = rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.y) !== null && _k !== void 0 ? _k : textNode.y, offsetX: rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.offsetX, offsetY: rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.offsetY, height: rotatedLayout ? approxTextHeight : textNode.height, width: (_l = rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.width) !== null && _l !== void 0 ? _l : finalTextWidth, text: displayValue, fill: color !== null && color !== void 0 ? color : defaultColor, verticalAlign: rotatedLayout ? "top" : effectiveVerticalAlignment, align: rotatedLayout ? "left" : canvasTextAlign, fontFamily: fontFamily, fontStyle: textStyle, fontSize: effectiveFontSize, textDecoration: paintStyledUnderline ? textDecorationFor(false) : textDecoration, padding: padding, wrap: textWrapStrategy, lineHeight: textLineHeight, rotation: rotationDegrees, direction: textDirection, hitStrokeWidth: 0, perfectDrawEnabled: false }),
619
+ baseFontSize: baseFontSize * shrinkFactor, baseBold: !!bold, baseItalic: !!italic, baseUnderline: !!underline, baseStrikethrough: !!strikethrough, baseBaselineOffset: baselineOffset !== null && baselineOffset !== void 0 ? baselineOffset : undefined, horizontalAlign: rotatedLayout ? "left" : canvasTextAlign, verticalAlign: rotatedLayout ? "top" : effectiveVerticalAlignment, lineHeight: lineHeight, lineHeightMode: lineHeightMode, scale: scale, wrap: shouldWrap && !rotatedLayout, theme: theme })) : paintDistributed ? (react_1.default.createElement(react_konva_1.Shape, { x: textLeftPadding, y: textNode.y, width: finalTextWidth, height: textNode.height, sceneFunc: distributedSceneFunc, listening: false, perfectDrawEnabled: false })) : paintNumberFormatLayout ? (react_1.default.createElement(react_konva_1.Shape, { x: textLeftPadding, y: textNode.y, width: finalTextWidth, height: textNode.height, sceneFunc: numberFormatSceneFunc, listening: false, perfectDrawEnabled: false })) : (react_1.default.createElement(react_1.default.Fragment, null,
620
+ react_1.default.createElement(react_konva_1.Text, { x: (_m = rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.x) !== null && _m !== void 0 ? _m : textLeftPadding, y: (_o = rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.y) !== null && _o !== void 0 ? _o : textNode.y, offsetX: rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.offsetX, offsetY: ((_p = rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.offsetY) !== null && _p !== void 0 ? _p : 0) + scriptOffsetY, height: rotatedLayout ? approxTextHeight : textNode.height, width: (_q = rotatedLayout === null || rotatedLayout === void 0 ? void 0 : rotatedLayout.width) !== null && _q !== void 0 ? _q : finalTextWidth, text: displayValue, fill: color !== null && color !== void 0 ? color : defaultColor, verticalAlign: rotatedLayout ? "top" : effectiveVerticalAlignment, align: rotatedLayout ? "left" : canvasTextAlign, fontFamily: fontFamily, fontStyle: textStyle, fontSize: effectiveFontSize, textDecoration: paintStyledUnderline ? textDecorationFor(false) : textDecoration, padding: padding, wrap: textWrapStrategy, lineHeight: textLineHeight, rotation: rotationDegrees, direction: textDirection, hitStrokeWidth: 0, perfectDrawEnabled: false }),
616
621
  paintStyledUnderline ? (react_1.default.createElement(react_konva_1.Shape, { sceneFunc: underlineSceneFunc, listening: false, perfectDrawEnabled: false })) : null)))) : imageUrl ? (react_1.default.createElement(grid_1.Image, { x: x, y: y, spacing: 1, width: width, height: height, url: imageUrl, perfectDrawEnabled: false, horizontalAlignment: canvasTextAlign === "justify" ? "left" : canvasTextAlign, verticalAlignment: verticalAlignment })) : null,
617
622
  showFilter ? (react_1.default.createElement(cell_filter_1.CellFilter, { scale: scale, isActive: isFilterActive, onClick: readonly ? undefined : onFilterClick, rowIndex: props.rowIndex, columnIndex: props.columnIndex, x: x, y: y, height: height, width: width, filterIconColor: filterIconColor, verticalAlignment: verticalAlignment, backgroundColor: defaultBackgroundColor, sortOrder: sortOrder })) : showArrow && !readonly ? (react_1.default.createElement(cell_arrow_1.CellArrow, { scale: scale, onClick: onArrowClick !== null && onArrowClick !== void 0 ? onArrowClick : onRequestEdit, rowIndex: rowIndex, columnIndex: columnIndex, x: arrowOutside ? x + (config_1.ARROW_DOWN_WIDTH + 4) * scale : x, y: y, height: height, width: width, verticalAlignment: verticalAlignment })) : null,
618
623
  expandable ? (react_1.default.createElement(cell_group_1.CellGroup, { scale: scale, onClick: function (cell) {
619
624
  onExpandCollapse === null || onExpandCollapse === void 0 ? void 0 : onExpandCollapse(cell, !expanded);
620
625
  }, rowIndex: rowIndex, columnIndex: columnIndex, x: x + indentSpacing, y: y, height: height, width: width, verticalAlignment: verticalAlignment, expanded: expanded, theme: theme })) : null,
621
626
  showCalculatedColumnIcon && isCalculatedColumn ? (react_1.default.createElement(cell_calculated_1.CellCalculated, { x: x, y: y, scale: scale, width: width, height: height, verticalAlignment: verticalAlignment, color: color })) : null,
622
- showError ? (react_1.default.createElement(cell_error_1.CellError, { color: isError ? config_1.ERROR_COLOR : config_1.INVALID_COLOR, x: x + width - cell_error_1.ERROR_TAG_WIDTH * scale, y: y + 1, scale: scale })) : null,
623
- showNote ? (react_1.default.createElement(cell_error_1.CellError, { color: config_1.NOTE_COLOR, x: x + width - cell_error_1.ERROR_TAG_WIDTH * scale, y: y + 1, scale: scale })) : null,
624
- showComment ? (react_1.default.createElement(cell_error_1.CellError, { color: config_1.COMMENT_COLOR, x: x + width - cell_error_1.ERROR_TAG_WIDTH * scale, y: y + 1, scale: scale })) : null,
627
+ react_1.default.createElement(cell_indicator_1.CellIndicators, { x: x, y: y, width: width, height: height, scale: scale, showNote: showNote, showComment: showComment, showErrorIndicator: showErrorIndicator, circleInvalid: circleInvalid }),
625
628
  structuredValue ? (react_1.default.createElement(StructuredResult, { x: x, y: y, width: width, height: height,
626
629
  // Text props
627
630
  textX: textLeftPadding, textY: y + cellSpacingY, textWidth: finalTextWidth, textFill: color !== null && color !== void 0 ? color : defaultColor, textVerticalAlign: verticalAlignment, textAlign: canvasTextAlign, textFontFamily: fontFamily, textFontStyle: textStyle, textFontSize: fontSize, textDecoration: textDecoration, textPadding: padding, textWrap: textWrapStrategy, textLineHeight: lineHeight,
628
631
  // / Text props
629
632
  color: defaultBackgroundColor
630
633
  ? (0, utils_1.getContrastColor)((0, themes_1.getStringifiedColor)(defaultBackgroundColor, theme), (0, themes_1.getStringifiedColor)({ theme: 1 }, theme), (0, themes_1.getStringifiedColor)({ theme: 1, tint: 1 }, theme))
631
- : undefined, structuredValue: structuredValue, sparklineGroupAxis: sparklineGroupAxis })) : null,
634
+ : undefined, structuredValue: structuredValue, sparklineGroupAxis: sparklineGroupAxis, sparklineDefaultColors: structuredValue.kind === "sparkline"
635
+ ? (0, sparkline_math_1.resolveDefaultSparklineColors)(function (c) { return (0, themes_1.getStringifiedColor)(c, theme); })
636
+ : undefined })) : null,
632
637
  showExpand ? (react_1.default.createElement(cell_expand_1.CellExpand, { scale: scale, onClick: onRequestEdit, rowIndex: rowIndex, columnIndex: columnIndex, x: x, y: y, height: height, width: width, verticalAlignment: verticalAlignment, horizontalAlignment: horizontalAlignment })) : null));
633
638
  });
634
639
  exports.Cell.displayName = "Cell";
@@ -88,6 +88,15 @@ export type CellProps<S extends StructuredResult = StructuredResult> = RendererP
88
88
  * Formula errors
89
89
  */
90
90
  isError?: boolean;
91
+ /**
92
+ * Excel's green ◤ error-checking indicator (a formula error or a number stored as text that
93
+ * the user has not ignored).
94
+ */
95
+ showErrorIndicator?: boolean;
96
+ /**
97
+ * Data → Data Validation → Circle Invalid Data: circle this cell, which fails its validation.
98
+ */
99
+ circleInvalid?: boolean;
91
100
  /**
92
101
  * Show dropdown arrow
93
102
  */
@@ -1 +1 @@
1
- {"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../../../components/cell/typings.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"typings.d.ts","sourceRoot":"","sources":["../../../../components/cell/typings.ts"],"names":[],"mappings":"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"}
@@ -9,12 +9,32 @@ export declare const shouldShowCalendarPopup: (numberFormat: NumberFormat | null
9
9
  export declare const isFillSelectionCommit: (e: {
10
10
  key: string;
11
11
  ctrlKey?: boolean;
12
+ shiftKey?: boolean;
12
13
  } | undefined) => boolean;
13
14
  /**
14
- * Get next cell direction from key code
15
+ * Excel's legacy array entry: Ctrl+Shift+Enter (Windows), ⇧⌘Return or ⌃⇧Return (Mac) commits the
16
+ * entry as one array formula over the selection ("Keyboard shortcuts in Excel").
17
+ */
18
+ export declare const isArrayFormulaCommit: (e: {
19
+ key: string;
20
+ ctrlKey?: boolean;
21
+ metaKey?: boolean;
22
+ shiftKey?: boolean;
23
+ } | undefined) => boolean;
24
+ /**
25
+ * Excel's "After pressing Enter, move selection" (File › Options › Advanced): the direction Enter
26
+ * moves the active cell after an entry, and while navigating; `"none"` unticks the option, so
27
+ * Enter commits in place. Shift+Enter goes the other way.
28
+ */
29
+ export type EnterKeyDirection = "down" | "right" | "up" | "left" | "none";
30
+ /** Where Enter (`isShift`: Shift+Enter) moves the active cell; `null` when it stays. */
31
+ export declare const getEnterKeyDirection: (isShift: boolean, enterKeyDirection?: EnterKeyDirection) => Direction | null;
32
+ /**
33
+ * Get next cell direction from key code. Enter follows `enterKeyDirection`, and is `null` when
34
+ * Enter does not move.
15
35
  * @param code
16
36
  * @param isShift
17
37
  * @returns
18
38
  */
19
- export declare const getDirectionFromKey: (code: string, isShift: boolean) => Direction;
39
+ export declare const getDirectionFromKey: (code: string, isShift: boolean, enterKeyDirection?: EnterKeyDirection) => Direction | null;
20
40
  //# sourceMappingURL=helpers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../components/cell-editor/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,uBAAuB,GAClC,cAAc,YAAY,GAAG,IAAI,GAAG,SAAS,YAIP,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,YACN,CAAC;AAE9C;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,EAAE,SAAS,OAAO,cAkBjE,CAAC"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../../../components/cell-editor/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAG/C,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD,eAAO,MAAM,uBAAuB,GAClC,cAAc,YAAY,GAAG,IAAI,GAAG,SAAS,YAIP,CAAC;AAEzC;;;;GAIG;AACH,eAAO,MAAM,qBAAqB,GAChC,GAAG;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAAG,SAAS,YACH,CAAC;AAErE;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,GACI;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,OAAO,CAAC,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GACzE,SAAS,YAI6B,CAAC;AAE7C;;;;GAIG;AACH,MAAM,MAAM,iBAAiB,GAAG,MAAM,GAAG,OAAO,GAAG,IAAI,GAAG,MAAM,GAAG,MAAM,CAAC;AAY1E,wFAAwF;AACxF,eAAO,MAAM,oBAAoB,GAC/B,SAAS,OAAO,EAChB,oBAAmB,iBAA0B,KAC5C,SAAS,GAAG,IAId,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,mBAAmB,GAC9B,MAAM,MAAM,EACZ,SAAS,OAAO,EAChB,oBAAoB,iBAAiB,KACpC,SAAS,GAAG,IAed,CAAC"}