@mog-sdk/spreadsheet-contracts 0.1.12

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 (701) hide show
  1. package/dist/accessibility/index.d.ts +9 -0
  2. package/dist/accessibility/index.d.ts.map +1 -0
  3. package/dist/accessibility/types.d.ts +75 -0
  4. package/dist/accessibility/types.d.ts.map +1 -0
  5. package/dist/actions/comments.d.ts +31 -0
  6. package/dist/actions/comments.d.ts.map +1 -0
  7. package/dist/actions/index.d.ts +22 -0
  8. package/dist/actions/index.d.ts.map +1 -0
  9. package/dist/actions/types.d.ts +448 -0
  10. package/dist/actions/types.d.ts.map +1 -0
  11. package/dist/actors/chart.d.ts +88 -0
  12. package/dist/actors/chart.d.ts.map +1 -0
  13. package/dist/actors/clipboard.d.ts +243 -0
  14. package/dist/actors/clipboard.d.ts.map +1 -0
  15. package/dist/actors/commands.d.ts +1343 -0
  16. package/dist/actors/commands.d.ts.map +1 -0
  17. package/dist/actors/comment.d.ts +84 -0
  18. package/dist/actors/comment.d.ts.map +1 -0
  19. package/dist/actors/draw-border.d.ts +89 -0
  20. package/dist/actors/draw-border.d.ts.map +1 -0
  21. package/dist/actors/editor.d.ts +161 -0
  22. package/dist/actors/editor.d.ts.map +1 -0
  23. package/dist/actors/find-replace.d.ts +88 -0
  24. package/dist/actors/find-replace.d.ts.map +1 -0
  25. package/dist/actors/focus.d.ts +91 -0
  26. package/dist/actors/focus.d.ts.map +1 -0
  27. package/dist/actors/index.d.ts +88 -0
  28. package/dist/actors/index.d.ts.map +1 -0
  29. package/dist/actors/input.d.ts +98 -0
  30. package/dist/actors/input.d.ts.map +1 -0
  31. package/dist/actors/object-interaction.d.ts +163 -0
  32. package/dist/actors/object-interaction.d.ts.map +1 -0
  33. package/dist/actors/object.d.ts +124 -0
  34. package/dist/actors/object.d.ts.map +1 -0
  35. package/dist/actors/page-break.d.ts +64 -0
  36. package/dist/actors/page-break.d.ts.map +1 -0
  37. package/dist/actors/pane-focus.d.ts +56 -0
  38. package/dist/actors/pane-focus.d.ts.map +1 -0
  39. package/dist/actors/renderer.d.ts +197 -0
  40. package/dist/actors/renderer.d.ts.map +1 -0
  41. package/dist/actors/selection.d.ts +170 -0
  42. package/dist/actors/selection.d.ts.map +1 -0
  43. package/dist/actors/slicer.d.ts +175 -0
  44. package/dist/actors/slicer.d.ts.map +1 -0
  45. package/dist/actors/smartart.d.ts +48 -0
  46. package/dist/actors/smartart.d.ts.map +1 -0
  47. package/dist/api/index.d.ts +19 -0
  48. package/dist/api/index.d.ts.map +1 -0
  49. package/dist/api/mutation-receipt.d.ts +26 -0
  50. package/dist/api/mutation-receipt.d.ts.map +1 -0
  51. package/dist/api/types.d.ts +1542 -0
  52. package/dist/api/types.d.ts.map +1 -0
  53. package/dist/api/workbook/history.d.ts +43 -0
  54. package/dist/api/workbook/history.d.ts.map +1 -0
  55. package/dist/api/workbook/index.d.ts +17 -0
  56. package/dist/api/workbook/index.d.ts.map +1 -0
  57. package/dist/api/workbook/names.d.ts +104 -0
  58. package/dist/api/workbook/names.d.ts.map +1 -0
  59. package/dist/api/workbook/notifications.d.ts +35 -0
  60. package/dist/api/workbook/notifications.d.ts.map +1 -0
  61. package/dist/api/workbook/protection.d.ts +14 -0
  62. package/dist/api/workbook/protection.d.ts.map +1 -0
  63. package/dist/api/workbook/scenarios.d.ts +45 -0
  64. package/dist/api/workbook/scenarios.d.ts.map +1 -0
  65. package/dist/api/workbook/sheets.d.ts +74 -0
  66. package/dist/api/workbook/sheets.d.ts.map +1 -0
  67. package/dist/api/workbook/slicers.d.ts +63 -0
  68. package/dist/api/workbook/slicers.d.ts.map +1 -0
  69. package/dist/api/workbook/styles.d.ts +19 -0
  70. package/dist/api/workbook/styles.d.ts.map +1 -0
  71. package/dist/api/workbook/theme.d.ts +38 -0
  72. package/dist/api/workbook/theme.d.ts.map +1 -0
  73. package/dist/api/workbook/viewport.d.ts +85 -0
  74. package/dist/api/workbook/viewport.d.ts.map +1 -0
  75. package/dist/api/workbook.d.ts +279 -0
  76. package/dist/api/workbook.d.ts.map +1 -0
  77. package/dist/api/worksheet/bindings.d.ts +66 -0
  78. package/dist/api/worksheet/bindings.d.ts.map +1 -0
  79. package/dist/api/worksheet/changes.d.ts +60 -0
  80. package/dist/api/worksheet/changes.d.ts.map +1 -0
  81. package/dist/api/worksheet/charts.d.ts +83 -0
  82. package/dist/api/worksheet/charts.d.ts.map +1 -0
  83. package/dist/api/worksheet/collections/connector-collection.d.ts +7 -0
  84. package/dist/api/worksheet/collections/connector-collection.d.ts.map +1 -0
  85. package/dist/api/worksheet/collections/drawing-collection.d.ts +9 -0
  86. package/dist/api/worksheet/collections/drawing-collection.d.ts.map +1 -0
  87. package/dist/api/worksheet/collections/equation-collection.d.ts +8 -0
  88. package/dist/api/worksheet/collections/equation-collection.d.ts.map +1 -0
  89. package/dist/api/worksheet/collections/index.d.ts +12 -0
  90. package/dist/api/worksheet/collections/index.d.ts.map +1 -0
  91. package/dist/api/worksheet/collections/object-collection.d.ts +45 -0
  92. package/dist/api/worksheet/collections/object-collection.d.ts.map +1 -0
  93. package/dist/api/worksheet/collections/picture-collection.d.ts +8 -0
  94. package/dist/api/worksheet/collections/picture-collection.d.ts.map +1 -0
  95. package/dist/api/worksheet/collections/shape-collection.d.ts +8 -0
  96. package/dist/api/worksheet/collections/shape-collection.d.ts.map +1 -0
  97. package/dist/api/worksheet/collections/textbox-collection.d.ts +8 -0
  98. package/dist/api/worksheet/collections/textbox-collection.d.ts.map +1 -0
  99. package/dist/api/worksheet/collections/wordart-collection.d.ts +8 -0
  100. package/dist/api/worksheet/collections/wordart-collection.d.ts.map +1 -0
  101. package/dist/api/worksheet/comments.d.ts +143 -0
  102. package/dist/api/worksheet/comments.d.ts.map +1 -0
  103. package/dist/api/worksheet/conditional-formats.d.ts +101 -0
  104. package/dist/api/worksheet/conditional-formats.d.ts.map +1 -0
  105. package/dist/api/worksheet/filters.d.ts +141 -0
  106. package/dist/api/worksheet/filters.d.ts.map +1 -0
  107. package/dist/api/worksheet/form-controls.d.ts +22 -0
  108. package/dist/api/worksheet/form-controls.d.ts.map +1 -0
  109. package/dist/api/worksheet/format-mappings.d.ts +50 -0
  110. package/dist/api/worksheet/format-mappings.d.ts.map +1 -0
  111. package/dist/api/worksheet/formats.d.ts +136 -0
  112. package/dist/api/worksheet/formats.d.ts.map +1 -0
  113. package/dist/api/worksheet/handles/chart-handle.d.ts +11 -0
  114. package/dist/api/worksheet/handles/chart-handle.d.ts.map +1 -0
  115. package/dist/api/worksheet/handles/connector-handle.d.ts +9 -0
  116. package/dist/api/worksheet/handles/connector-handle.d.ts.map +1 -0
  117. package/dist/api/worksheet/handles/drawing-handle.d.ts +14 -0
  118. package/dist/api/worksheet/handles/drawing-handle.d.ts.map +1 -0
  119. package/dist/api/worksheet/handles/equation-handle.d.ts +9 -0
  120. package/dist/api/worksheet/handles/equation-handle.d.ts.map +1 -0
  121. package/dist/api/worksheet/handles/floating-object-handle.d.ts +75 -0
  122. package/dist/api/worksheet/handles/floating-object-handle.d.ts.map +1 -0
  123. package/dist/api/worksheet/handles/index.d.ts +16 -0
  124. package/dist/api/worksheet/handles/index.d.ts.map +1 -0
  125. package/dist/api/worksheet/handles/ole-object-handle.d.ts +10 -0
  126. package/dist/api/worksheet/handles/ole-object-handle.d.ts.map +1 -0
  127. package/dist/api/worksheet/handles/picture-handle.d.ts +9 -0
  128. package/dist/api/worksheet/handles/picture-handle.d.ts.map +1 -0
  129. package/dist/api/worksheet/handles/shape-handle.d.ts +11 -0
  130. package/dist/api/worksheet/handles/shape-handle.d.ts.map +1 -0
  131. package/dist/api/worksheet/handles/slicer-handle.d.ts +13 -0
  132. package/dist/api/worksheet/handles/slicer-handle.d.ts.map +1 -0
  133. package/dist/api/worksheet/handles/smartart-handle.d.ts +11 -0
  134. package/dist/api/worksheet/handles/smartart-handle.d.ts.map +1 -0
  135. package/dist/api/worksheet/handles/textbox-handle.d.ts +9 -0
  136. package/dist/api/worksheet/handles/textbox-handle.d.ts.map +1 -0
  137. package/dist/api/worksheet/handles/wordart-handle.d.ts +10 -0
  138. package/dist/api/worksheet/handles/wordart-handle.d.ts.map +1 -0
  139. package/dist/api/worksheet/hyperlinks.d.ts +52 -0
  140. package/dist/api/worksheet/hyperlinks.d.ts.map +1 -0
  141. package/dist/api/worksheet/index.d.ts +35 -0
  142. package/dist/api/worksheet/index.d.ts.map +1 -0
  143. package/dist/api/worksheet/internal.d.ts +105 -0
  144. package/dist/api/worksheet/internal.d.ts.map +1 -0
  145. package/dist/api/worksheet/layout.d.ts +150 -0
  146. package/dist/api/worksheet/layout.d.ts.map +1 -0
  147. package/dist/api/worksheet/names.d.ts +52 -0
  148. package/dist/api/worksheet/names.d.ts.map +1 -0
  149. package/dist/api/worksheet/objects.d.ts +124 -0
  150. package/dist/api/worksheet/objects.d.ts.map +1 -0
  151. package/dist/api/worksheet/outline.d.ts +101 -0
  152. package/dist/api/worksheet/outline.d.ts.map +1 -0
  153. package/dist/api/worksheet/pivots.d.ts +257 -0
  154. package/dist/api/worksheet/pivots.d.ts.map +1 -0
  155. package/dist/api/worksheet/print.d.ts +108 -0
  156. package/dist/api/worksheet/print.d.ts.map +1 -0
  157. package/dist/api/worksheet/protection.d.ts +73 -0
  158. package/dist/api/worksheet/protection.d.ts.map +1 -0
  159. package/dist/api/worksheet/settings.d.ts +54 -0
  160. package/dist/api/worksheet/settings.d.ts.map +1 -0
  161. package/dist/api/worksheet/slicers.d.ts +101 -0
  162. package/dist/api/worksheet/slicers.d.ts.map +1 -0
  163. package/dist/api/worksheet/smartart.d.ts +49 -0
  164. package/dist/api/worksheet/smartart.d.ts.map +1 -0
  165. package/dist/api/worksheet/sparklines.d.ts +143 -0
  166. package/dist/api/worksheet/sparklines.d.ts.map +1 -0
  167. package/dist/api/worksheet/structure.d.ts +44 -0
  168. package/dist/api/worksheet/structure.d.ts.map +1 -0
  169. package/dist/api/worksheet/tables.d.ts +313 -0
  170. package/dist/api/worksheet/tables.d.ts.map +1 -0
  171. package/dist/api/worksheet/validation.d.ts +101 -0
  172. package/dist/api/worksheet/validation.d.ts.map +1 -0
  173. package/dist/api/worksheet/view.d.ts +91 -0
  174. package/dist/api/worksheet/view.d.ts.map +1 -0
  175. package/dist/api/worksheet.d.ts +370 -0
  176. package/dist/api/worksheet.d.ts.map +1 -0
  177. package/dist/app/index.d.ts +17 -0
  178. package/dist/app/index.d.ts.map +1 -0
  179. package/dist/app/types.d.ts +349 -0
  180. package/dist/app/types.d.ts.map +1 -0
  181. package/dist/apps/api.d.ts +519 -0
  182. package/dist/apps/api.d.ts.map +1 -0
  183. package/dist/apps/bindings.d.ts +72 -0
  184. package/dist/apps/bindings.d.ts.map +1 -0
  185. package/dist/apps/index.d.ts +13 -0
  186. package/dist/apps/index.d.ts.map +1 -0
  187. package/dist/apps/types.d.ts +224 -0
  188. package/dist/apps/types.d.ts.map +1 -0
  189. package/dist/apps/views.d.ts +142 -0
  190. package/dist/apps/views.d.ts.map +1 -0
  191. package/dist/bridges/chart-bridge.d.ts +172 -0
  192. package/dist/bridges/chart-bridge.d.ts.map +1 -0
  193. package/dist/bridges/equation-bridge.d.ts +74 -0
  194. package/dist/bridges/equation-bridge.d.ts.map +1 -0
  195. package/dist/bridges/index.d.ts +25 -0
  196. package/dist/bridges/index.d.ts.map +1 -0
  197. package/dist/bridges/ink-recognition-bridge.d.ts +142 -0
  198. package/dist/bridges/ink-recognition-bridge.d.ts.map +1 -0
  199. package/dist/bridges/locale-bridge.d.ts +93 -0
  200. package/dist/bridges/locale-bridge.d.ts.map +1 -0
  201. package/dist/bridges/pivot-bridge.d.ts +201 -0
  202. package/dist/bridges/pivot-bridge.d.ts.map +1 -0
  203. package/dist/bridges/schema-bridge.d.ts +137 -0
  204. package/dist/bridges/schema-bridge.d.ts.map +1 -0
  205. package/dist/bridges/smartart-bridge.d.ts +217 -0
  206. package/dist/bridges/smartart-bridge.d.ts.map +1 -0
  207. package/dist/bridges/wordart-bridge.d.ts +86 -0
  208. package/dist/bridges/wordart-bridge.d.ts.map +1 -0
  209. package/dist/capabilities/errors.d.ts +16 -0
  210. package/dist/capabilities/errors.d.ts.map +1 -0
  211. package/dist/capabilities/gated-api.d.ts +355 -0
  212. package/dist/capabilities/gated-api.d.ts.map +1 -0
  213. package/dist/capabilities/grants.d.ts +239 -0
  214. package/dist/capabilities/grants.d.ts.map +1 -0
  215. package/dist/capabilities/index.d.ts +24 -0
  216. package/dist/capabilities/index.d.ts.map +1 -0
  217. package/dist/capabilities/manifest.d.ts +128 -0
  218. package/dist/capabilities/manifest.d.ts.map +1 -0
  219. package/dist/capabilities/requester.d.ts +209 -0
  220. package/dist/capabilities/requester.d.ts.map +1 -0
  221. package/dist/capabilities/scope.d.ts +55 -0
  222. package/dist/capabilities/scope.d.ts.map +1 -0
  223. package/dist/capabilities/sensitive.d.ts +279 -0
  224. package/dist/capabilities/sensitive.d.ts.map +1 -0
  225. package/dist/capabilities/taxonomy.d.ts +15 -0
  226. package/dist/capabilities/taxonomy.d.ts.map +1 -0
  227. package/dist/capabilities/types.d.ts +91 -0
  228. package/dist/capabilities/types.d.ts.map +1 -0
  229. package/dist/cells/cell-identity.d.ts +281 -0
  230. package/dist/cells/cell-identity.d.ts.map +1 -0
  231. package/dist/cells/cell-style.d.ts +67 -0
  232. package/dist/cells/cell-style.d.ts.map +1 -0
  233. package/dist/cells/formula-string.d.ts +37 -0
  234. package/dist/cells/formula-string.d.ts.map +1 -0
  235. package/dist/cells/index.d.ts +7 -0
  236. package/dist/cells/index.d.ts.map +1 -0
  237. package/dist/cells/range-ref.d.ts +77 -0
  238. package/dist/cells/range-ref.d.ts.map +1 -0
  239. package/dist/cells/rich-text.d.ts +66 -0
  240. package/dist/cells/rich-text.d.ts.map +1 -0
  241. package/dist/cells/spill.d.ts +121 -0
  242. package/dist/cells/spill.d.ts.map +1 -0
  243. package/dist/conditional-format/index.d.ts +11 -0
  244. package/dist/conditional-format/index.d.ts.map +1 -0
  245. package/dist/conditional-format/presets.d.ts +54 -0
  246. package/dist/conditional-format/presets.d.ts.map +1 -0
  247. package/dist/conditional-format/range-utils.d.ts +11 -0
  248. package/dist/conditional-format/range-utils.d.ts.map +1 -0
  249. package/dist/conditional-format/render-types.d.ts +80 -0
  250. package/dist/conditional-format/render-types.d.ts.map +1 -0
  251. package/dist/connections/api-errors.d.ts +29 -0
  252. package/dist/connections/api-errors.d.ts.map +1 -0
  253. package/dist/connections/api.d.ts +879 -0
  254. package/dist/connections/api.d.ts.map +1 -0
  255. package/dist/connections/database-bridge-types.d.ts +108 -0
  256. package/dist/connections/database-bridge-types.d.ts.map +1 -0
  257. package/dist/connections/index.d.ts +5 -0
  258. package/dist/connections/index.d.ts.map +1 -0
  259. package/dist/connections/power-query.d.ts +1 -0
  260. package/dist/connections/power-query.d.ts.map +1 -0
  261. package/dist/connections/query.d.ts +144 -0
  262. package/dist/connections/query.d.ts.map +1 -0
  263. package/dist/context-menu/index.d.ts +10 -0
  264. package/dist/context-menu/index.d.ts.map +1 -0
  265. package/dist/context-menu/types.d.ts +28 -0
  266. package/dist/context-menu/types.d.ts.map +1 -0
  267. package/dist/core/commands.d.ts +143 -0
  268. package/dist/core/commands.d.ts.map +1 -0
  269. package/dist/core/core.d.ts +943 -0
  270. package/dist/core/core.d.ts.map +1 -0
  271. package/dist/core/disposable.d.ts +30 -0
  272. package/dist/core/disposable.d.ts.map +1 -0
  273. package/dist/core/event-base.d.ts +31 -0
  274. package/dist/core/event-base.d.ts.map +1 -0
  275. package/dist/core/execution.d.ts +79 -0
  276. package/dist/core/execution.d.ts.map +1 -0
  277. package/dist/core/formatted-text.d.ts +8 -0
  278. package/dist/core/formatted-text.d.ts.map +1 -0
  279. package/dist/core/index.d.ts +10 -0
  280. package/dist/core/index.d.ts.map +1 -0
  281. package/dist/core/result.d.ts +23 -0
  282. package/dist/core/result.d.ts.map +1 -0
  283. package/dist/core/schema.d.ts +360 -0
  284. package/dist/core/schema.d.ts.map +1 -0
  285. package/dist/core/testing.d.ts +309 -0
  286. package/dist/core/testing.d.ts.map +1 -0
  287. package/dist/culture/index.d.ts +11 -0
  288. package/dist/culture/index.d.ts.map +1 -0
  289. package/dist/culture/types.d.ts +320 -0
  290. package/dist/culture/types.d.ts.map +1 -0
  291. package/dist/data/charts.d.ts +412 -0
  292. package/dist/data/charts.d.ts.map +1 -0
  293. package/dist/data/conditional-format.d.ts +188 -0
  294. package/dist/data/conditional-format.d.ts.map +1 -0
  295. package/dist/data/filter.d.ts +364 -0
  296. package/dist/data/filter.d.ts.map +1 -0
  297. package/dist/data/grouping.d.ts +170 -0
  298. package/dist/data/grouping.d.ts.map +1 -0
  299. package/dist/data/index.d.ts +12 -0
  300. package/dist/data/index.d.ts.map +1 -0
  301. package/dist/data/named-ranges.d.ts +104 -0
  302. package/dist/data/named-ranges.d.ts.map +1 -0
  303. package/dist/data/pivot.d.ts +68 -0
  304. package/dist/data/pivot.d.ts.map +1 -0
  305. package/dist/data/slicers.d.ts +417 -0
  306. package/dist/data/slicers.d.ts.map +1 -0
  307. package/dist/data/sorting.d.ts +172 -0
  308. package/dist/data/sorting.d.ts.map +1 -0
  309. package/dist/data/sparklines.d.ts +358 -0
  310. package/dist/data/sparklines.d.ts.map +1 -0
  311. package/dist/data/tables.d.ts +333 -0
  312. package/dist/data/tables.d.ts.map +1 -0
  313. package/dist/data/trace-arrows.d.ts +165 -0
  314. package/dist/data/trace-arrows.d.ts.map +1 -0
  315. package/dist/diagnostics/core.d.ts +219 -0
  316. package/dist/diagnostics/core.d.ts.map +1 -0
  317. package/dist/diagnostics/index.d.ts +9 -0
  318. package/dist/diagnostics/index.d.ts.map +1 -0
  319. package/dist/diagnostics/style.d.ts +196 -0
  320. package/dist/diagnostics/style.d.ts.map +1 -0
  321. package/dist/document/comments.d.ts +109 -0
  322. package/dist/document/comments.d.ts.map +1 -0
  323. package/dist/document/document.d.ts +182 -0
  324. package/dist/document/document.d.ts.map +1 -0
  325. package/dist/document/index.d.ts +5 -0
  326. package/dist/document/index.d.ts.map +1 -0
  327. package/dist/document/protection.d.ts +114 -0
  328. package/dist/document/protection.d.ts.map +1 -0
  329. package/dist/document/search.d.ts +202 -0
  330. package/dist/document/search.d.ts.map +1 -0
  331. package/dist/drawing/index.d.ts +8 -0
  332. package/dist/drawing/index.d.ts.map +1 -0
  333. package/dist/drawing/three-d.d.ts +171 -0
  334. package/dist/drawing/three-d.d.ts.map +1 -0
  335. package/dist/editor/drag.d.ts +178 -0
  336. package/dist/editor/drag.d.ts.map +1 -0
  337. package/dist/editor/editor.d.ts +59 -0
  338. package/dist/editor/editor.d.ts.map +1 -0
  339. package/dist/editor/form-controls.d.ts +428 -0
  340. package/dist/editor/form-controls.d.ts.map +1 -0
  341. package/dist/editor/index.d.ts +4 -0
  342. package/dist/editor/index.d.ts.map +1 -0
  343. package/dist/equation/errors.d.ts +19 -0
  344. package/dist/equation/errors.d.ts.map +1 -0
  345. package/dist/equation/index.d.ts +12 -0
  346. package/dist/equation/index.d.ts.map +1 -0
  347. package/dist/equation/omml-ast.d.ts +358 -0
  348. package/dist/equation/omml-ast.d.ts.map +1 -0
  349. package/dist/equation/templates.d.ts +26 -0
  350. package/dist/equation/templates.d.ts.map +1 -0
  351. package/dist/equation/types.d.ts +87 -0
  352. package/dist/equation/types.d.ts.map +1 -0
  353. package/dist/events/canvas-object-events.d.ts +31 -0
  354. package/dist/events/canvas-object-events.d.ts.map +1 -0
  355. package/dist/events/cell-events.d.ts +60 -0
  356. package/dist/events/cell-events.d.ts.map +1 -0
  357. package/dist/events/chart-events.d.ts +61 -0
  358. package/dist/events/chart-events.d.ts.map +1 -0
  359. package/dist/events/comment-events.d.ts +43 -0
  360. package/dist/events/comment-events.d.ts.map +1 -0
  361. package/dist/events/conditional-formatting-events.d.ts +40 -0
  362. package/dist/events/conditional-formatting-events.d.ts.map +1 -0
  363. package/dist/events/data-tools-events.d.ts +29 -0
  364. package/dist/events/data-tools-events.d.ts.map +1 -0
  365. package/dist/events/file-io-events.d.ts +39 -0
  366. package/dist/events/file-io-events.d.ts.map +1 -0
  367. package/dist/events/filter-events.d.ts +43 -0
  368. package/dist/events/filter-events.d.ts.map +1 -0
  369. package/dist/events/floating-object-events.d.ts +158 -0
  370. package/dist/events/floating-object-events.d.ts.map +1 -0
  371. package/dist/events/grouping-events.d.ts +75 -0
  372. package/dist/events/grouping-events.d.ts.map +1 -0
  373. package/dist/events/index.d.ts +129 -0
  374. package/dist/events/index.d.ts.map +1 -0
  375. package/dist/events/ink-collaboration-events.d.ts +57 -0
  376. package/dist/events/ink-collaboration-events.d.ts.map +1 -0
  377. package/dist/events/ink-events.d.ts +33 -0
  378. package/dist/events/ink-events.d.ts.map +1 -0
  379. package/dist/events/ink-recognition-events.d.ts +149 -0
  380. package/dist/events/ink-recognition-events.d.ts.map +1 -0
  381. package/dist/events/ink-stroke-events.d.ts +197 -0
  382. package/dist/events/ink-stroke-events.d.ts.map +1 -0
  383. package/dist/events/merge-events.d.ts +46 -0
  384. package/dist/events/merge-events.d.ts.map +1 -0
  385. package/dist/events/named-range-events.d.ts +24 -0
  386. package/dist/events/named-range-events.d.ts.map +1 -0
  387. package/dist/events/pivot-events.d.ts +47 -0
  388. package/dist/events/pivot-events.d.ts.map +1 -0
  389. package/dist/events/print-events.d.ts +75 -0
  390. package/dist/events/print-events.d.ts.map +1 -0
  391. package/dist/events/recalc-events.d.ts +20 -0
  392. package/dist/events/recalc-events.d.ts.map +1 -0
  393. package/dist/events/scenario-events.d.ts +37 -0
  394. package/dist/events/scenario-events.d.ts.map +1 -0
  395. package/dist/events/selection-events.d.ts +16 -0
  396. package/dist/events/selection-events.d.ts.map +1 -0
  397. package/dist/events/settings-events.d.ts +41 -0
  398. package/dist/events/settings-events.d.ts.map +1 -0
  399. package/dist/events/sheet-events.d.ts +68 -0
  400. package/dist/events/sheet-events.d.ts.map +1 -0
  401. package/dist/events/slicer-events.d.ts +47 -0
  402. package/dist/events/slicer-events.d.ts.map +1 -0
  403. package/dist/events/smartart-events.d.ts +222 -0
  404. package/dist/events/smartart-events.d.ts.map +1 -0
  405. package/dist/events/sparkline-events.d.ts +68 -0
  406. package/dist/events/sparkline-events.d.ts.map +1 -0
  407. package/dist/events/store-events.d.ts +18 -0
  408. package/dist/events/store-events.d.ts.map +1 -0
  409. package/dist/events/structure-events.d.ts +76 -0
  410. package/dist/events/structure-events.d.ts.map +1 -0
  411. package/dist/events/table-events.d.ts +99 -0
  412. package/dist/events/table-events.d.ts.map +1 -0
  413. package/dist/events/validation-events.d.ts +85 -0
  414. package/dist/events/validation-events.d.ts.map +1 -0
  415. package/dist/events/view-events.d.ts +72 -0
  416. package/dist/events/view-events.d.ts.map +1 -0
  417. package/dist/events/wordart-events.d.ts +169 -0
  418. package/dist/events/wordart-events.d.ts.map +1 -0
  419. package/dist/events.d.ts +41 -0
  420. package/dist/events.d.ts.map +1 -0
  421. package/dist/extensions/index.d.ts +9 -0
  422. package/dist/extensions/index.d.ts.map +1 -0
  423. package/dist/extensions/types.d.ts +64 -0
  424. package/dist/extensions/types.d.ts.map +1 -0
  425. package/dist/filesystem/index.d.ts +11 -0
  426. package/dist/filesystem/index.d.ts.map +1 -0
  427. package/dist/filesystem/paths.d.ts +38 -0
  428. package/dist/filesystem/paths.d.ts.map +1 -0
  429. package/dist/filesystem/permissions.d.ts +89 -0
  430. package/dist/filesystem/permissions.d.ts.map +1 -0
  431. package/dist/filesystem/types.d.ts +251 -0
  432. package/dist/filesystem/types.d.ts.map +1 -0
  433. package/dist/fill/custom-lists.d.ts +41 -0
  434. package/dist/fill/custom-lists.d.ts.map +1 -0
  435. package/dist/fill/index.d.ts +11 -0
  436. package/dist/fill/index.d.ts.map +1 -0
  437. package/dist/fill/types.d.ts +102 -0
  438. package/dist/fill/types.d.ts.map +1 -0
  439. package/dist/formatting/format-registry.d.ts +45 -0
  440. package/dist/formatting/format-registry.d.ts.map +1 -0
  441. package/dist/formatting/index.d.ts +9 -0
  442. package/dist/formatting/index.d.ts.map +1 -0
  443. package/dist/formatting/theme.d.ts +108 -0
  444. package/dist/formatting/theme.d.ts.map +1 -0
  445. package/dist/index.d.ts +49 -0
  446. package/dist/index.d.ts.map +1 -0
  447. package/dist/ink/index.d.ts +16 -0
  448. package/dist/ink/index.d.ts.map +1 -0
  449. package/dist/ink/spatial-index.d.ts +113 -0
  450. package/dist/ink/spatial-index.d.ts.map +1 -0
  451. package/dist/ink/types.d.ts +558 -0
  452. package/dist/ink/types.d.ts.map +1 -0
  453. package/dist/kernel/floating-object-manager.d.ts +68 -0
  454. package/dist/kernel/floating-object-manager.d.ts.map +1 -0
  455. package/dist/kernel/index.d.ts +12 -0
  456. package/dist/kernel/index.d.ts.map +1 -0
  457. package/dist/kernel/kernel-context.d.ts +129 -0
  458. package/dist/kernel/kernel-context.d.ts.map +1 -0
  459. package/dist/keyboard/actions.d.ts +328 -0
  460. package/dist/keyboard/actions.d.ts.map +1 -0
  461. package/dist/keyboard/binding-utils.d.ts +112 -0
  462. package/dist/keyboard/binding-utils.d.ts.map +1 -0
  463. package/dist/keyboard/customization.d.ts +121 -0
  464. package/dist/keyboard/customization.d.ts.map +1 -0
  465. package/dist/keyboard/display-utils.d.ts +9 -0
  466. package/dist/keyboard/display-utils.d.ts.map +1 -0
  467. package/dist/keyboard/excel-reference.d.ts +28 -0
  468. package/dist/keyboard/excel-reference.d.ts.map +1 -0
  469. package/dist/keyboard/index.d.ts +16 -0
  470. package/dist/keyboard/index.d.ts.map +1 -0
  471. package/dist/keyboard/input.d.ts +124 -0
  472. package/dist/keyboard/input.d.ts.map +1 -0
  473. package/dist/keyboard/physical-keys.d.ts +79 -0
  474. package/dist/keyboard/physical-keys.d.ts.map +1 -0
  475. package/dist/keyboard/shortcuts/definitions/index.d.ts +10 -0
  476. package/dist/keyboard/shortcuts/definitions/index.d.ts.map +1 -0
  477. package/dist/keyboard/shortcuts/types.d.ts +347 -0
  478. package/dist/keyboard/shortcuts/types.d.ts.map +1 -0
  479. package/dist/machines/index.d.ts +12 -0
  480. package/dist/machines/index.d.ts.map +1 -0
  481. package/dist/machines/snapshots.d.ts +160 -0
  482. package/dist/machines/snapshots.d.ts.map +1 -0
  483. package/dist/machines/types.d.ts +64 -0
  484. package/dist/machines/types.d.ts.map +1 -0
  485. package/dist/number-formats/constants.d.ts +39 -0
  486. package/dist/number-formats/constants.d.ts.map +1 -0
  487. package/dist/number-formats/index.d.ts +14 -0
  488. package/dist/number-formats/index.d.ts.map +1 -0
  489. package/dist/number-formats/locale/index.d.ts +5 -0
  490. package/dist/number-formats/locale/index.d.ts.map +1 -0
  491. package/dist/number-formats/locale/locale-defaults.d.ts +17 -0
  492. package/dist/number-formats/locale/locale-defaults.d.ts.map +1 -0
  493. package/dist/number-formats/registry.d.ts +52 -0
  494. package/dist/number-formats/registry.d.ts.map +1 -0
  495. package/dist/number-formats/types.d.ts +134 -0
  496. package/dist/number-formats/types.d.ts.map +1 -0
  497. package/dist/objects/canvas-object.d.ts +157 -0
  498. package/dist/objects/canvas-object.d.ts.map +1 -0
  499. package/dist/objects/drawing-object.d.ts +144 -0
  500. package/dist/objects/drawing-object.d.ts.map +1 -0
  501. package/dist/objects/floating-objects.d.ts +742 -0
  502. package/dist/objects/floating-objects.d.ts.map +1 -0
  503. package/dist/objects/index.d.ts +5 -0
  504. package/dist/objects/index.d.ts.map +1 -0
  505. package/dist/objects/object-bounds-reader.d.ts +25 -0
  506. package/dist/objects/object-bounds-reader.d.ts.map +1 -0
  507. package/dist/objects/object-mutator.d.ts +30 -0
  508. package/dist/objects/object-mutator.d.ts.map +1 -0
  509. package/dist/performance/index.d.ts +8 -0
  510. package/dist/performance/index.d.ts.map +1 -0
  511. package/dist/performance/profiler-types.d.ts +351 -0
  512. package/dist/performance/profiler-types.d.ts.map +1 -0
  513. package/dist/platform/identity.d.ts +24 -0
  514. package/dist/platform/identity.d.ts.map +1 -0
  515. package/dist/platform/index.d.ts +17 -0
  516. package/dist/platform/index.d.ts.map +1 -0
  517. package/dist/platform/types.d.ts +359 -0
  518. package/dist/platform/types.d.ts.map +1 -0
  519. package/dist/rendering/canvas-bridge-types.d.ts +68 -0
  520. package/dist/rendering/canvas-bridge-types.d.ts.map +1 -0
  521. package/dist/rendering/constants.d.ts +76 -0
  522. package/dist/rendering/constants.d.ts.map +1 -0
  523. package/dist/rendering/coordinates.d.ts +452 -0
  524. package/dist/rendering/coordinates.d.ts.map +1 -0
  525. package/dist/rendering/coordinator-interfaces.d.ts +163 -0
  526. package/dist/rendering/coordinator-interfaces.d.ts.map +1 -0
  527. package/dist/rendering/data-sources.d.ts +372 -0
  528. package/dist/rendering/data-sources.d.ts.map +1 -0
  529. package/dist/rendering/grid-region.d.ts +32 -0
  530. package/dist/rendering/grid-region.d.ts.map +1 -0
  531. package/dist/rendering/grid-renderer.d.ts +391 -0
  532. package/dist/rendering/grid-renderer.d.ts.map +1 -0
  533. package/dist/rendering/grouping.d.ts +21 -0
  534. package/dist/rendering/grouping.d.ts.map +1 -0
  535. package/dist/rendering/hit-test-service.d.ts +58 -0
  536. package/dist/rendering/hit-test-service.d.ts.map +1 -0
  537. package/dist/rendering/hit-test.d.ts +223 -0
  538. package/dist/rendering/hit-test.d.ts.map +1 -0
  539. package/dist/rendering/index.d.ts +25 -0
  540. package/dist/rendering/index.d.ts.map +1 -0
  541. package/dist/rendering/interactive-elements.d.ts +121 -0
  542. package/dist/rendering/interactive-elements.d.ts.map +1 -0
  543. package/dist/rendering/primitives.d.ts +17 -0
  544. package/dist/rendering/primitives.d.ts.map +1 -0
  545. package/dist/rendering/render-context.d.ts +457 -0
  546. package/dist/rendering/render-context.d.ts.map +1 -0
  547. package/dist/rendering/text-measurement-service.d.ts +197 -0
  548. package/dist/rendering/text-measurement-service.d.ts.map +1 -0
  549. package/dist/ribbon/collapse-configs.d.ts +298 -0
  550. package/dist/ribbon/collapse-configs.d.ts.map +1 -0
  551. package/dist/ribbon/collapse-types.d.ts +76 -0
  552. package/dist/ribbon/collapse-types.d.ts.map +1 -0
  553. package/dist/ribbon/index.d.ts +25 -0
  554. package/dist/ribbon/index.d.ts.map +1 -0
  555. package/dist/selection/index.d.ts +10 -0
  556. package/dist/selection/index.d.ts.map +1 -0
  557. package/dist/selection/registry.d.ts +17 -0
  558. package/dist/selection/registry.d.ts.map +1 -0
  559. package/dist/selection/types.d.ts +82 -0
  560. package/dist/selection/types.d.ts.map +1 -0
  561. package/dist/selectors/index.d.ts +8 -0
  562. package/dist/selectors/index.d.ts.map +1 -0
  563. package/dist/selectors/smart-art.d.ts +58 -0
  564. package/dist/selectors/smart-art.d.ts.map +1 -0
  565. package/dist/services/index.d.ts +273 -0
  566. package/dist/services/index.d.ts.map +1 -0
  567. package/dist/smartart/index.d.ts +26 -0
  568. package/dist/smartart/index.d.ts.map +1 -0
  569. package/dist/smartart/layouts.d.ts +193 -0
  570. package/dist/smartart/layouts.d.ts.map +1 -0
  571. package/dist/smartart/ooxml-algorithm-types.d.ts +939 -0
  572. package/dist/smartart/ooxml-algorithm-types.d.ts.map +1 -0
  573. package/dist/smartart/ooxml-data-model-types.d.ts +845 -0
  574. package/dist/smartart/ooxml-data-model-types.d.ts.map +1 -0
  575. package/dist/smartart/ooxml-drawing-types.d.ts +356 -0
  576. package/dist/smartart/ooxml-drawing-types.d.ts.map +1 -0
  577. package/dist/smartart/ooxml-engine-types.d.ts +873 -0
  578. package/dist/smartart/ooxml-engine-types.d.ts.map +1 -0
  579. package/dist/smartart/ooxml-layout-types.d.ts +405 -0
  580. package/dist/smartart/ooxml-layout-types.d.ts.map +1 -0
  581. package/dist/smartart/ooxml-style-types.d.ts +474 -0
  582. package/dist/smartart/ooxml-style-types.d.ts.map +1 -0
  583. package/dist/smartart/styles.d.ts +137 -0
  584. package/dist/smartart/styles.d.ts.map +1 -0
  585. package/dist/smartart/types.d.ts +323 -0
  586. package/dist/smartart/types.d.ts.map +1 -0
  587. package/dist/storage/capabilities.d.ts +33 -0
  588. package/dist/storage/capabilities.d.ts.map +1 -0
  589. package/dist/storage/connection.d.ts +183 -0
  590. package/dist/storage/connection.d.ts.map +1 -0
  591. package/dist/storage/index.d.ts +13 -0
  592. package/dist/storage/index.d.ts.map +1 -0
  593. package/dist/storage/query.d.ts +91 -0
  594. package/dist/storage/query.d.ts.map +1 -0
  595. package/dist/storage/table-driver.d.ts +249 -0
  596. package/dist/storage/table-driver.d.ts.map +1 -0
  597. package/dist/store/cell-schema.d.ts +235 -0
  598. package/dist/store/cell-schema.d.ts.map +1 -0
  599. package/dist/store/equation-schema.d.ts +22 -0
  600. package/dist/store/equation-schema.d.ts.map +1 -0
  601. package/dist/store/index.d.ts +33 -0
  602. package/dist/store/index.d.ts.map +1 -0
  603. package/dist/store/ink-schema.d.ts +26 -0
  604. package/dist/store/ink-schema.d.ts.map +1 -0
  605. package/dist/store/scenarios-schema.d.ts +105 -0
  606. package/dist/store/scenarios-schema.d.ts.map +1 -0
  607. package/dist/store/schema-types.d.ts +113 -0
  608. package/dist/store/schema-types.d.ts.map +1 -0
  609. package/dist/store/sheet-maps-schema.d.ts +222 -0
  610. package/dist/store/sheet-maps-schema.d.ts.map +1 -0
  611. package/dist/store/sheet-meta-schema.d.ts +16 -0
  612. package/dist/store/sheet-meta-schema.d.ts.map +1 -0
  613. package/dist/store/smartart-schema.d.ts +17 -0
  614. package/dist/store/smartart-schema.d.ts.map +1 -0
  615. package/dist/store/store-types.d.ts +381 -0
  616. package/dist/store/store-types.d.ts.map +1 -0
  617. package/dist/store/wordart-schema.d.ts +13 -0
  618. package/dist/store/wordart-schema.d.ts.map +1 -0
  619. package/dist/store/workbook-schema.d.ts +16 -0
  620. package/dist/store/workbook-schema.d.ts.map +1 -0
  621. package/dist/styles/built-in-styles.d.ts +10 -0
  622. package/dist/styles/built-in-styles.d.ts.map +1 -0
  623. package/dist/styles/index.d.ts +18 -0
  624. package/dist/styles/index.d.ts.map +1 -0
  625. package/dist/utils/a1.d.ts +12 -0
  626. package/dist/utils/a1.d.ts.map +1 -0
  627. package/dist/utils/datetime.d.ts +7 -0
  628. package/dist/utils/datetime.d.ts.map +1 -0
  629. package/dist/utils/function-registry.d.ts +40 -0
  630. package/dist/utils/function-registry.d.ts.map +1 -0
  631. package/dist/utils/index.d.ts +9 -0
  632. package/dist/utils/index.d.ts.map +1 -0
  633. package/dist/utils/protection.d.ts +9 -0
  634. package/dist/utils/protection.d.ts.map +1 -0
  635. package/dist/utils/range-navigation.d.ts +9 -0
  636. package/dist/utils/range-navigation.d.ts.map +1 -0
  637. package/dist/utils/range.d.ts +9 -0
  638. package/dist/utils/range.d.ts.map +1 -0
  639. package/dist/utils/rich-text.d.ts +9 -0
  640. package/dist/utils/rich-text.d.ts.map +1 -0
  641. package/dist/viewport/geometry.d.ts +90 -0
  642. package/dist/viewport/geometry.d.ts.map +1 -0
  643. package/dist/viewport/grid-canvas.d.ts +133 -0
  644. package/dist/viewport/grid-canvas.d.ts.map +1 -0
  645. package/dist/viewport/index.d.ts +5 -0
  646. package/dist/viewport/index.d.ts.map +1 -0
  647. package/dist/viewport/viewport-config.d.ts +95 -0
  648. package/dist/viewport/viewport-config.d.ts.map +1 -0
  649. package/dist/viewport/viewport.d.ts +191 -0
  650. package/dist/viewport/viewport.d.ts.map +1 -0
  651. package/dist/views/index.d.ts +9 -0
  652. package/dist/views/index.d.ts.map +1 -0
  653. package/dist/views/types.d.ts +161 -0
  654. package/dist/views/types.d.ts.map +1 -0
  655. package/dist/what-if/index.d.ts +2 -0
  656. package/dist/what-if/index.d.ts.map +1 -0
  657. package/dist/what-if/what-if.d.ts +152 -0
  658. package/dist/what-if/what-if.d.ts.map +1 -0
  659. package/dist/window-manager/index.d.ts +134 -0
  660. package/dist/window-manager/index.d.ts.map +1 -0
  661. package/dist/wordart/effects.d.ts +611 -0
  662. package/dist/wordart/effects.d.ts.map +1 -0
  663. package/dist/wordart/index.d.ts +17 -0
  664. package/dist/wordart/index.d.ts.map +1 -0
  665. package/dist/wordart/presets.d.ts +133 -0
  666. package/dist/wordart/presets.d.ts.map +1 -0
  667. package/dist/wordart/types.d.ts +444 -0
  668. package/dist/wordart/types.d.ts.map +1 -0
  669. package/dist/workflows/context.d.ts +777 -0
  670. package/dist/workflows/context.d.ts.map +1 -0
  671. package/dist/workflows/definition.d.ts +256 -0
  672. package/dist/workflows/definition.d.ts.map +1 -0
  673. package/dist/workflows/events.d.ts +397 -0
  674. package/dist/workflows/events.d.ts.map +1 -0
  675. package/dist/workflows/index.d.ts +19 -0
  676. package/dist/workflows/index.d.ts.map +1 -0
  677. package/dist/workflows/instance.d.ts +358 -0
  678. package/dist/workflows/instance.d.ts.map +1 -0
  679. package/dist/workflows/runtime.d.ts +287 -0
  680. package/dist/workflows/runtime.d.ts.map +1 -0
  681. package/dist/workflows/triggers.d.ts +335 -0
  682. package/dist/workflows/triggers.d.ts.map +1 -0
  683. package/dist/workflows/versioning.d.ts +245 -0
  684. package/dist/workflows/versioning.d.ts.map +1 -0
  685. package/dist/xlsx-parser/conditional-format.d.ts +137 -0
  686. package/dist/xlsx-parser/conditional-format.d.ts.map +1 -0
  687. package/dist/xlsx-parser/core.d.ts +622 -0
  688. package/dist/xlsx-parser/core.d.ts.map +1 -0
  689. package/dist/xlsx-parser/data-validation.d.ts +55 -0
  690. package/dist/xlsx-parser/data-validation.d.ts.map +1 -0
  691. package/dist/xlsx-parser/errors.d.ts +38 -0
  692. package/dist/xlsx-parser/errors.d.ts.map +1 -0
  693. package/dist/xlsx-parser/index.d.ts +17 -0
  694. package/dist/xlsx-parser/index.d.ts.map +1 -0
  695. package/dist/xlsx-parser/options.d.ts +89 -0
  696. package/dist/xlsx-parser/options.d.ts.map +1 -0
  697. package/dist/xlsx-parser/styles.d.ts +157 -0
  698. package/dist/xlsx-parser/styles.d.ts.map +1 -0
  699. package/dist/xlsx-parser/table.d.ts +170 -0
  700. package/dist/xlsx-parser/table.d.ts.map +1 -0
  701. package/package.json +410 -0
@@ -0,0 +1,281 @@
1
+ /**
2
+ * Cell Identity Model Types
3
+ *
4
+ * This module defines the types for the cell identity model, which replaces
5
+ * A1-style positional references with stable cell identity references.
6
+ *
7
+ * Key insight: In the identity model, cell movement is tracked by updating
8
+ * position data, not by rewriting formula strings. This eliminates O(n)
9
+ * formula rewrites on structure changes and makes concurrent structure
10
+ * changes compose correctly under CRDT.
11
+ *
12
+ * This is the same approach Google Sheets uses internally.
13
+ *
14
+ * @see plans/cell-ids/CELL-IDENTITY-MODEL.md
15
+ */
16
+ import type { SheetId } from '../core/core';
17
+ /**
18
+ * Stable cell identifier - never changes even when cell moves.
19
+ *
20
+ * We use UUID v7 (time-sortable) for:
21
+ * - Uniqueness across clients (no coordination needed)
22
+ * - Time-sortability for debugging
23
+ * - Compact string representation
24
+ */
25
+ export type CellId = string;
26
+ /**
27
+ * Stable row identifier - never changes even when rows are inserted/deleted.
28
+ *
29
+ * Follows the same pattern as CellId:
30
+ * - UUID v7 (time-sortable)
31
+ * - Position stored in RowData, not as key
32
+ * - Enables CRDT-safe row format storage
33
+ *
34
+ * @see plans/active/refactor/ROW-COLUMN-IDENTITY.md
35
+ */
36
+ export type RowId = string;
37
+ /**
38
+ * Row data stored in the rows map.
39
+ *
40
+ * Contains the current position of the row. Position is mutable and updated
41
+ * during structure changes (insert/delete rows). The RowId key is stable.
42
+ *
43
+ * Future extensibility: hidden, groupLevel, outlineState, etc.
44
+ */
45
+ export interface RowData {
46
+ /** Current zero-based row position (mutable on structure changes) */
47
+ position: number;
48
+ }
49
+ /**
50
+ * Stable column identifier - never changes even when columns are inserted/deleted.
51
+ *
52
+ * Follows the same pattern as CellId:
53
+ * - UUID v7 (time-sortable)
54
+ * - Position stored in ColData, not as key
55
+ * - Enables CRDT-safe column format storage
56
+ *
57
+ * @see plans/active/refactor/ROW-COLUMN-IDENTITY.md
58
+ */
59
+ export type ColId = string;
60
+ /**
61
+ * Column data stored in the cols map.
62
+ *
63
+ * Contains the current position of the column. Position is mutable and updated
64
+ * during structure changes (insert/delete columns). The ColId key is stable.
65
+ *
66
+ * Future extensibility: hidden, groupLevel, outlineState, etc.
67
+ */
68
+ export interface ColData {
69
+ /** Current zero-based column position (mutable on structure changes) */
70
+ position: number;
71
+ }
72
+ /**
73
+ * Reference to a cell by identity (for formula storage).
74
+ *
75
+ * Note: These types are prefixed with `Identity` to distinguish them from the
76
+ * existing position-based `CellRef`/`RangeRef` in `range-ref.ts` which are
77
+ * used for data validation, copy/paste, and other positional operations.
78
+ *
79
+ * The absolute flags preserve user intent for A1 display:
80
+ * - $A$1 = both absolute (display stays fixed even if cell moves)
81
+ * - $A1 = column absolute (for column references in formulas)
82
+ * - A$1 = row absolute (for row references in formulas)
83
+ * - A1 = both relative (display adjusts when viewing formula moves)
84
+ */
85
+ export interface IdentityCellRef {
86
+ type: 'cell';
87
+ /** The stable cell identity */
88
+ id: CellId;
89
+ /** True for $1 syntax (row absolute for display) */
90
+ rowAbsolute: boolean;
91
+ /** True for $A syntax (column absolute for display) */
92
+ colAbsolute: boolean;
93
+ }
94
+ /**
95
+ * Reference to a range by corner cell identities (for formula storage).
96
+ *
97
+ * Ranges are defined by their corner cells. When rows/columns are inserted
98
+ * between the corners, the range automatically expands because the corner
99
+ * cells' positions change.
100
+ */
101
+ export interface IdentityRangeRef {
102
+ type: 'range';
103
+ /** Start cell (top-left corner) identity */
104
+ startId: CellId;
105
+ /** End cell (bottom-right corner) identity */
106
+ endId: CellId;
107
+ /** Absolute flags for start cell display */
108
+ startRowAbsolute: boolean;
109
+ startColAbsolute: boolean;
110
+ /** Absolute flags for end cell display */
111
+ endRowAbsolute: boolean;
112
+ endColAbsolute: boolean;
113
+ }
114
+ /**
115
+ * Union of identity-based formula references.
116
+ */
117
+ export type IdentityFormulaRef = IdentityCellRef | IdentityRangeRef;
118
+ /**
119
+ * Reference to a range by corner cell identities for schema/validation purposes.
120
+ *
121
+ * Unlike IdentityRangeRef (used in formulas), this type:
122
+ * - Has no absolute flags (not needed for validation ranges)
123
+ * - Supports cross-sheet references via optional sheetId
124
+ * - Is designed for RangeSchema.ranges and enumSource constraints
125
+ *
126
+ * Why this exists:
127
+ * RangeSchema previously stored A1 strings ("A1:B10") which have the same CRDT
128
+ * conflict issue as position-based formula refs. By using CellId corner refs,
129
+ * concurrent structure changes compose correctly.
130
+ *
131
+ * @example
132
+ * // Schema applies to A1:C10
133
+ * const ref: IdentityRangeSchemaRef = {
134
+ * startId: 'abc-123...', // CellId of A1
135
+ * endId: 'def-456...', // CellId of C10
136
+ * };
137
+ *
138
+ * @example
139
+ * // enumSource from another sheet
140
+ * const ref: IdentityRangeSchemaRef = {
141
+ * sheetId: 'sheet-2-uuid',
142
+ * startId: 'abc-123...',
143
+ * endId: 'def-456...',
144
+ * };
145
+ */
146
+ export interface IdentityRangeSchemaRef {
147
+ /**
148
+ * Optional target sheet ID for cross-sheet references.
149
+ * - undefined: same sheet as the schema (common case)
150
+ * - string: specific sheet ID for cross-sheet enumSource
151
+ */
152
+ sheetId?: SheetId;
153
+ /** CellId of the top-left corner cell */
154
+ startId: CellId;
155
+ /** CellId of the bottom-right corner cell */
156
+ endId: CellId;
157
+ }
158
+ /**
159
+ * A range defined by corner cell identities.
160
+ *
161
+ * This is the universal type for CRDT-safe range references used by:
162
+ * - Charts (data ranges, anchor positions)
163
+ * - Tables (table extent)
164
+ * - Grouping (group extent)
165
+ *
166
+ * Unlike position-based ranges, CellIdRange automatically handles:
167
+ * - Concurrent structure changes (insert/delete rows/cols)
168
+ * - Range expansion when cells inserted between corners
169
+ * - Correct CRDT composition under concurrent edits
170
+ *
171
+ * Position resolution happens at render/extraction time via GridIndex.
172
+ *
173
+ * @example
174
+ * // Chart data range A1:D10
175
+ * const range: CellIdRange = {
176
+ * topLeftCellId: 'abc-123...', // CellId of A1
177
+ * bottomRightCellId: 'def-456...' // CellId of D10
178
+ * };
179
+ *
180
+ * // After user inserts column at B:
181
+ * // - CellIds unchanged
182
+ * // - But A1 is still at (0,0), D10 is now at (9,4)
183
+ * // - Range automatically covers A1:E10
184
+ */
185
+ export interface CellIdRange {
186
+ /** CellId of the top-left corner cell */
187
+ topLeftCellId: CellId;
188
+ /** CellId of the bottom-right corner cell */
189
+ bottomRightCellId: CellId;
190
+ }
191
+ /**
192
+ * A merged region defined by corner cell identities.
193
+ *
194
+ * This follows the same pattern as IdentityRangeRef - merges are defined by
195
+ * CellId references to corner cells rather than position coordinates. This
196
+ * ensures concurrent structure changes (insert/delete rows/cols) compose
197
+ * correctly under CRDT.
198
+ *
199
+ * Position-based merges have the same problem as position-based formula refs:
200
+ * ```
201
+ * User A: Creates merge at A1:B2
202
+ * User B: Inserts column at A (concurrent)
203
+ *
204
+ * Position-based: Yjs merges two incompatible coordinate sets → wrong result
205
+ * CellId-based: Both position shifts apply, CellIds stable → correct result
206
+ * ```
207
+ *
208
+ * @example
209
+ * // User merges A1:C3
210
+ * const merge: IdentityMergedRegion = {
211
+ * topLeftId: 'abc-123...', // CellId of A1
212
+ * bottomRightId: 'def-456...' // CellId of C3
213
+ * };
214
+ * // After inserting column at B, the CellIds are unchanged
215
+ * // but their positions have shifted, so the merge now covers A1:D3
216
+ */
217
+ export interface IdentityMergedRegion {
218
+ /** Origin cell - contains the merged value and is the "owner" of the merge */
219
+ topLeftId: CellId;
220
+ /** Extent marker - defines bottom-right boundary of the merge */
221
+ bottomRightId: CellId;
222
+ }
223
+ /**
224
+ * Formula stored with identity references.
225
+ *
226
+ * The template uses numbered placeholders that are filled in by refs.
227
+ *
228
+ * @example
229
+ * User types: =SUM(A1:B10)+C1*2
230
+ * Stored as:
231
+ * {
232
+ * template: "SUM({0})+{1}*2",
233
+ * refs: [
234
+ * { type: 'range', startId: 'abc...', endId: 'def...' },
235
+ * { type: 'cell', id: 'ghi...' }
236
+ * ]
237
+ * }
238
+ *
239
+ * When displaying, we resolve each ref to its current A1 position.
240
+ */
241
+ export interface IdentityFormula {
242
+ /**
243
+ * Template with numbered placeholders for refs.
244
+ * Example: "SUM({0}:{1})+{2}*2"
245
+ *
246
+ * The template preserves the formula structure (function names, operators,
247
+ * literals) while placeholders mark where cell/range references go.
248
+ */
249
+ template: string;
250
+ /**
251
+ * Ordered refs that fill template placeholders.
252
+ * refs[0] fills {0}, refs[1] fills {1}, etc.
253
+ */
254
+ refs: IdentityFormulaRef[];
255
+ }
256
+ /**
257
+ * Interface for formula conversion between A1 and identity formats.
258
+ *
259
+ * This interface enables Import/Export to be developed in parallel
260
+ * with the Formula Parser by mocking this interface.
261
+ */
262
+ export interface IFormulaConverter {
263
+ /**
264
+ * Convert A1-style formula to identity formula.
265
+ * Called when user types a formula or imports from XLSX.
266
+ *
267
+ * @param a1Formula - Formula string with A1 references (e.g., "=SUM(A1:B10)")
268
+ * @param sheetId - Current sheet for resolving relative references
269
+ * @returns Identity formula with cell ID references
270
+ */
271
+ toIdentity(a1Formula: string, sheetId: SheetId): IdentityFormula;
272
+ /**
273
+ * Convert identity formula back to A1-style string.
274
+ * Called for display in formula bar and export to XLSX.
275
+ *
276
+ * @param formula - Identity formula with cell ID references
277
+ * @returns A1-style formula string (e.g., "=SUM(A1:B10)")
278
+ */
279
+ toA1(formula: IdentityFormula): string;
280
+ }
281
+ //# sourceMappingURL=cell-identity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-identity.d.ts","sourceRoot":"","sources":["../../src/cells/cell-identity.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAM5C;;;;;;;GAOG;AACH,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC;AAM5B;;;;;;;;;GASG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,WAAW,OAAO;IACtB,qEAAqE;IACrE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;GASG;AACH,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC;AAE3B;;;;;;;GAOG;AACH,MAAM,WAAW,OAAO;IACtB,wEAAwE;IACxE,QAAQ,EAAE,MAAM,CAAC;CAClB;AAMD;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,oDAAoD;IACpD,WAAW,EAAE,OAAO,CAAC;IACrB,uDAAuD;IACvD,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,OAAO,CAAC;IACd,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,gBAAgB,EAAE,OAAO,CAAC;IAC1B,gBAAgB,EAAE,OAAO,CAAC;IAC1B,0CAA0C;IAC1C,cAAc,EAAE,OAAO,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG,eAAe,GAAG,gBAAgB,CAAC;AAMpE;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAEhB,6CAA6C;IAC7C,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,MAAM,WAAW,WAAW;IAC1B,yCAAyC;IACzC,aAAa,EAAE,MAAM,CAAC;IAEtB,6CAA6C;IAC7C,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,oBAAoB;IACnC,8EAA8E;IAC9E,SAAS,EAAE,MAAM,CAAC;IAElB,iEAAiE;IACjE,aAAa,EAAE,MAAM,CAAC;CACvB;AAMD;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,WAAW,eAAe;IAC9B;;;;;;OAMG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;;OAGG;IACH,IAAI,EAAE,kBAAkB,EAAE,CAAC;CAC5B;AAMD;;;;;GAKG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,eAAe,CAAC;IAEjE;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,CAAC;CACxC"}
@@ -0,0 +1,67 @@
1
+ /**
2
+ * Cell Text Style - THE CANONICAL SOURCE OF TRUTH
3
+ *
4
+ * This module defines how cell text appears. Both canvas rendering and in-cell
5
+ * editing MUST derive their styling from this module.
6
+ *
7
+ * ARCHITECTURAL CONTRACT:
8
+ * - Canvas renderer uses resolveCellTextStyle() → getCellCanvasFont() adapter
9
+ * - In-cell editor uses resolveCellTextStyle() → getCellDOMStyle() adapter
10
+ * - Changes here automatically update both systems
11
+ *
12
+ * DO NOT duplicate these values elsewhere. If you need cell styling defaults,
13
+ * import from this module.
14
+ *
15
+ * @see engine/src/canvas/cell-style-adapters.ts for platform-specific adapters
16
+ */
17
+ /**
18
+ * Default cell styling values.
19
+ * These define the contract for how an unformatted cell appears.
20
+ */
21
+ export declare const DEFAULT_CELL_STYLE: {
22
+ /** Default font size in pixels */
23
+ readonly fontSize: 12;
24
+ /** Default font family stack */
25
+ readonly fontFamily: "Inter, -apple-system, BlinkMacSystemFont, sans-serif";
26
+ /** Default font color */
27
+ readonly fontColor: "#000000";
28
+ /** Horizontal padding inside cells (pixels) */
29
+ readonly padding: 4;
30
+ /** Default horizontal alignment */
31
+ readonly horizontalAlign: "left";
32
+ /** Default vertical alignment - matches Excel default ('bottom') */
33
+ readonly verticalAlign: "bottom";
34
+ /** Default background (transparent, falls back to surface) */
35
+ readonly backgroundColor: string | undefined;
36
+ };
37
+ /**
38
+ * Fully resolved cell text style.
39
+ *
40
+ * This is the complete, computed style for rendering cell text.
41
+ * All optional CellFormat properties are resolved to concrete values.
42
+ */
43
+ export interface CellTextStyle {
44
+ /** Horizontal padding in pixels */
45
+ paddingX: number;
46
+ /** Font size in pixels */
47
+ fontSize: number;
48
+ /** Font family CSS value */
49
+ fontFamily: string;
50
+ /** Font weight */
51
+ fontWeight: 'normal' | 'bold';
52
+ /** Font style */
53
+ fontStyle: 'normal' | 'italic';
54
+ /** Text color */
55
+ color: string;
56
+ /** Text decoration (underline, line-through, or both) */
57
+ textDecoration: string;
58
+ /** Horizontal text alignment */
59
+ textAlign: 'left' | 'center' | 'right' | 'justify';
60
+ /** Vertical text alignment */
61
+ verticalAlign: 'top' | 'middle' | 'bottom';
62
+ /** Line height multiplier (1 = tight, matches canvas) */
63
+ lineHeight: number;
64
+ /** Background color (undefined = transparent/inherit) */
65
+ backgroundColor: string | undefined;
66
+ }
67
+ //# sourceMappingURL=cell-style.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cell-style.d.ts","sourceRoot":"","sources":["../../src/cells/cell-style.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH;;;GAGG;AACH,eAAO,MAAM,kBAAkB;IAC7B,kCAAkC;;IAElC,gCAAgC;;IAEhC,yBAAyB;;IAEzB,+CAA+C;;IAE/C,mCAAmC;;IAEnC,oEAAoE;;IAEpE,8DAA8D;8BAChC,MAAM,GAAG,SAAS;CACxC,CAAC;AAMX;;;;;GAKG;AACH,MAAM,WAAW,aAAa;IAE5B,mCAAmC;IACnC,QAAQ,EAAE,MAAM,CAAC;IAGjB,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,kBAAkB;IAClB,UAAU,EAAE,QAAQ,GAAG,MAAM,CAAC;IAC9B,iBAAiB;IACjB,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;IAC/B,iBAAiB;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,yDAAyD;IACzD,cAAc,EAAE,MAAM,CAAC;IACvB,gCAAgC;IAChC,SAAS,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;IAGnD,8BAA8B;IAC9B,aAAa,EAAE,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,yDAAyD;IACzD,UAAU,EAAE,MAAM,CAAC;IAGnB,yDAAyD;IACzD,eAAe,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC"}
@@ -0,0 +1,37 @@
1
+ /**
2
+ * Branded types for formula strings.
3
+ *
4
+ * The spreadsheet engine uses two distinct formula string formats:
5
+ *
6
+ * - **FormulaA1**: Has the `=` prefix (`"=SUM(A1:B10)"`).
7
+ * Produced by Rust's `to_a1_string()`, returned in `ActiveCellData.formula`.
8
+ * Used for: formula bar display, search, sending to Rust's `process_input`.
9
+ *
10
+ * - **FormulaTemplate**: No `=` prefix (`"SUM(A1:B10)"`).
11
+ * Produced by `IdentityFormula.template`, `CellEdit.formula`.
12
+ * Used for: wire format for incremental updates, internal storage.
13
+ *
14
+ * These branded types make it a **compile-time error** to pass one where
15
+ * the other is expected, eliminating the "double-equals" class of bugs.
16
+ */
17
+ declare const formulaA1Brand: unique symbol;
18
+ declare const formulaTemplateBrand: unique symbol;
19
+ /**
20
+ * A formula string WITH the `=` prefix: `"=SUM(A1:B10)"`, `"=A1+A2"`.
21
+ *
22
+ * This is the display/input format used at the Rust-TS boundary and in the UI.
23
+ */
24
+ export type FormulaA1 = string & {
25
+ readonly [formulaA1Brand]: true;
26
+ };
27
+ /**
28
+ * A formula template WITHOUT the `=` prefix: `"SUM(A1:B10)"`, `"A1+A2"`.
29
+ *
30
+ * This is the internal storage format used by `IdentityFormula.template`
31
+ * and `CellEdit.formula` in the wire protocol.
32
+ */
33
+ export type FormulaTemplate = string & {
34
+ readonly [formulaTemplateBrand]: true;
35
+ };
36
+ export {};
37
+ //# sourceMappingURL=formula-string.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"formula-string.d.ts","sourceRoot":"","sources":["../../src/cells/formula-string.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,CAAC,MAAM,cAAc,EAAE,OAAO,MAAM,CAAC;AAC5C,OAAO,CAAC,MAAM,oBAAoB,EAAE,OAAO,MAAM,CAAC;AAElD;;;;GAIG;AACH,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,cAAc,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC;AAErE;;;;;GAKG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG;IAAE,QAAQ,CAAC,CAAC,oBAAoB,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC"}
@@ -0,0 +1,7 @@
1
+ export * from './cell-identity';
2
+ export * from './cell-style';
3
+ export * from './formula-string';
4
+ export * from './range-ref';
5
+ export * from './rich-text';
6
+ export * from './spill';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cells/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,aAAa,CAAC;AAC5B,cAAc,SAAS,CAAC"}
@@ -0,0 +1,77 @@
1
+ /**
2
+ * Range Reference Types
3
+ *
4
+ * Structured representations of cell and range references.
5
+ * Used for parsing, manipulating, and adjusting ranges for:
6
+ * - RangeSchema.ranges (cells the schema applies to)
7
+ * - enumSource (dynamic dropdown source)
8
+ * - Row/column insert/delete operations
9
+ * - Copy/paste operations
10
+ */
11
+ /**
12
+ * Structured representation of a cell reference (e.g., $A$1, B2)
13
+ */
14
+ export interface CellRef {
15
+ /** Row index (0-based) */
16
+ row: number;
17
+ /** Column index (0-based) */
18
+ col: number;
19
+ /** True for absolute row reference ($1) - doesn't shift on insert/delete */
20
+ rowAbsolute: boolean;
21
+ /** True for absolute column reference ($A) - doesn't shift on insert/delete */
22
+ colAbsolute: boolean;
23
+ }
24
+ /**
25
+ * Structured representation of a range reference (e.g., $A$1:$B$10)
26
+ */
27
+ export interface RangeRef {
28
+ /** Start cell (top-left) */
29
+ start: CellRef;
30
+ /** End cell (bottom-right) */
31
+ end: CellRef;
32
+ /** Sheet name for cross-sheet refs like Sheet2!A1:B10 */
33
+ sheetName?: string;
34
+ }
35
+ /**
36
+ * Result of checking if a cell is contained in a range
37
+ */
38
+ export interface RangeContainsResult {
39
+ /** Whether the cell is within the range */
40
+ contains: boolean;
41
+ /** Position within range, relative to start (for relative refs) */
42
+ relativeRow?: number;
43
+ /** Position within range, relative to start (for relative refs) */
44
+ relativeCol?: number;
45
+ }
46
+ /**
47
+ * Bounds for viewport queries
48
+ */
49
+ export interface ViewportBounds {
50
+ /** Minimum row index (inclusive) */
51
+ minRow: number;
52
+ /** Maximum row index (inclusive) */
53
+ maxRow: number;
54
+ /** Minimum column index (inclusive) */
55
+ minCol: number;
56
+ /** Maximum column index (inclusive) */
57
+ maxCol: number;
58
+ }
59
+ /**
60
+ * Spatial index for efficient range lookups.
61
+ * Avoids O(n) scan of all schemas for every cell query.
62
+ */
63
+ export interface IRangeSpatialIndex<T> {
64
+ /**
65
+ * Get all items whose ranges contain the given cell
66
+ */
67
+ getItemsForCell(row: number, col: number): Promise<T[]>;
68
+ /**
69
+ * Get all items whose ranges intersect the given viewport
70
+ */
71
+ getItemsInViewport(bounds: ViewportBounds): Promise<Map<string, T>>;
72
+ /**
73
+ * Rebuild the index (call when ranges change)
74
+ */
75
+ rebuild(items: T[]): void;
76
+ }
77
+ //# sourceMappingURL=range-ref.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"range-ref.d.ts","sourceRoot":"","sources":["../../src/cells/range-ref.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,0BAA0B;IAC1B,GAAG,EAAE,MAAM,CAAC;IACZ,6BAA6B;IAC7B,GAAG,EAAE,MAAM,CAAC;IACZ,4EAA4E;IAC5E,WAAW,EAAE,OAAO,CAAC;IACrB,+EAA+E;IAC/E,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,4BAA4B;IAC5B,KAAK,EAAE,OAAO,CAAC;IACf,8BAA8B;IAC9B,GAAG,EAAE,OAAO,CAAC;IACb,yDAAyD;IACzD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,2CAA2C;IAC3C,QAAQ,EAAE,OAAO,CAAC;IAClB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mEAAmE;IACnE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,oCAAoC;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAC;CAChB;AAMD;;;GAGG;AACH,MAAM,WAAW,kBAAkB,CAAC,CAAC;IACnC;;OAEG;IACH,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC;IAExD;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IAEpE;;OAEG;IACH,OAAO,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,IAAI,CAAC;CAC3B"}
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Rich Text Types
3
+ *
4
+ * Defines the rich text segment model for Excel-compatible rich text support.
5
+ * Rich text is stored as an array of segments, where each segment has text
6
+ * and optional formatting.
7
+ *
8
+ * Key design decisions:
9
+ * - Segment array (not formatted string) for clean storage and rendering
10
+ * - TextFormat matches Excel's inline rich text capabilities
11
+ * - Runtime utility functions live in utils/rich-text.ts and are re-exported here
12
+ *
13
+ * @see STREAM-C3-COMMENTS-RICHTEXT.md
14
+ */
15
+ /**
16
+ * Formatting options for a text segment.
17
+ * Matches Excel's inline rich text capabilities.
18
+ */
19
+ export interface TextFormat {
20
+ /** Bold text */
21
+ bold?: boolean;
22
+ /** Italic text */
23
+ italic?: boolean;
24
+ /** Underline type (single, double, accounting styles) */
25
+ underlineType?: 'none' | 'single' | 'double' | 'singleAccounting' | 'doubleAccounting';
26
+ /** Strikethrough text */
27
+ strikethrough?: boolean;
28
+ /** Font family name (e.g., "Arial", "Calibri") */
29
+ fontFamily?: string;
30
+ /** Font size in points */
31
+ fontSize?: number;
32
+ /** Font color in hex format (e.g., "#FF0000") */
33
+ fontColor?: string;
34
+ /** Superscript text (e.g., for exponents) */
35
+ superscript?: boolean;
36
+ /** Subscript text (e.g., for chemical formulas) */
37
+ subscript?: boolean;
38
+ }
39
+ /**
40
+ * A segment of rich text with optional formatting.
41
+ * Rich text is stored as an array of segments.
42
+ *
43
+ * @example
44
+ * // "Hello World" with "World" in bold
45
+ * [
46
+ * { text: "Hello " },
47
+ * { text: "World", format: { bold: true } }
48
+ * ]
49
+ */
50
+ export interface RichTextSegment {
51
+ /** The text content of this segment */
52
+ text: string;
53
+ /** Optional formatting for this segment */
54
+ format?: Partial<TextFormat>;
55
+ }
56
+ /**
57
+ * Type alias for rich text content.
58
+ * Empty array = no content, single segment with no format = plain text.
59
+ */
60
+ export type RichText = RichTextSegment[];
61
+ /**
62
+ * Utility type for cells that can have rich text.
63
+ * A cell's text content can be either a plain string or rich text.
64
+ */
65
+ export type CellTextContent = string | RichText;
66
+ //# sourceMappingURL=rich-text.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rich-text.d.ts","sourceRoot":"","sources":["../../src/cells/rich-text.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAMH;;;GAGG;AACH,MAAM,WAAW,UAAU;IAEzB,gBAAgB;IAChB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,kBAAkB;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yDAAyD;IACzD,aAAa,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,kBAAkB,GAAG,kBAAkB,CAAC;IACvF,yBAAyB;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IAGxB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,SAAS,CAAC,EAAE,MAAM,CAAC;IAGnB,6CAA6C;IAC7C,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,mDAAmD;IACnD,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAMD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,eAAe;IAC9B,uCAAuC;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;CAC9B;AAED;;;GAGG;AACH,MAAM,MAAM,QAAQ,GAAG,eAAe,EAAE,CAAC;AAEzC;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,QAAQ,CAAC"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Spill Contracts (Stream AF: Array Formulas)
3
+ *
4
+ * Types for dynamic array spill behavior in Excel-compatible spreadsheets.
5
+ *
6
+ * ARCHITECTURE:
7
+ * - Spill occurs when a formula returns a 2D array larger than 1x1
8
+ * - The anchor cell contains the formula; spill cells show computed values
9
+ * - Spill cells store `spillAnchor: CellId` pointing to the formula cell
10
+ * - This enables efficient lookup, proper deletion, and CRDT-safe collaboration
11
+ *
12
+ * Excel Compatibility:
13
+ * - Dynamic arrays spill automatically (Excel 365+)
14
+ * - Legacy CSE (Ctrl+Shift+Enter) creates fixed-size array formulas
15
+ * - #SPILL! error when spill range is blocked
16
+ * - Spill cannot cross sheet boundaries
17
+ *
18
+ * @see plans/active/detailed-parity-implementation/STREAM-AF-ARRAY-FORMULAS.md
19
+ */
20
+ import type { CellRange, CellValue, SheetId } from '../core/core';
21
+ import type { CellId } from './cell-identity';
22
+ /**
23
+ * Result of evaluating an array-returning formula.
24
+ *
25
+ * Produced by the recalculation module when a formula returns CellValue[][].
26
+ * Used by the spill orchestration layer to determine what to write.
27
+ */
28
+ export interface SpillResult {
29
+ /** The cell containing the array formula (anchor) */
30
+ anchorCellId: CellId;
31
+ /** Sheet containing the spill */
32
+ sheetId: SheetId;
33
+ /** The array values to spill (row-major order) */
34
+ values: CellValue[][];
35
+ /** Calculated spill range (anchor cell + extent) */
36
+ spillRange: CellRange;
37
+ /** Whether the spill is blocked by existing data */
38
+ blocked: boolean;
39
+ /** CellId of the cell blocking the spill, if any */
40
+ blockingCellId?: CellId;
41
+ }
42
+ /**
43
+ * Spill range info for a single anchor cell.
44
+ *
45
+ * Stored on anchor cells to track their spill extent.
46
+ * Used for:
47
+ * - Clearing old spill when formula result changes size
48
+ * - Detecting when a cell is being entered in a spill range
49
+ * - Selection highlighting of entire spill range
50
+ */
51
+ export interface SpillRangeInfo {
52
+ /** Number of rows the spill occupies (including anchor) */
53
+ rows: number;
54
+ /** Number of columns the spill occupies (including anchor) */
55
+ cols: number;
56
+ }
57
+ /**
58
+ * Array formula state for legacy CSE formulas.
59
+ *
60
+ * CSE (Ctrl+Shift+Enter) creates fixed-size array formulas where:
61
+ * - User pre-selects the output range
62
+ * - Formula is stored once on the anchor cell
63
+ * - All cells in the range are marked as array members
64
+ * - Size is fixed (does not auto-resize like dynamic arrays)
65
+ * - Formula bar shows {=formula} with curly braces
66
+ *
67
+ * Stored on the anchor cell only. Member cells reference back via spillAnchor.
68
+ */
69
+ export interface ArrayFormulaState {
70
+ /** The range this array formula occupies */
71
+ range: CellRange;
72
+ /**
73
+ * Whether this is a legacy CSE formula.
74
+ * - true: Fixed-size CSE formula (user-selected range)
75
+ * - false: Dynamic spill formula (auto-sized)
76
+ */
77
+ isCSE: boolean;
78
+ }
79
+ /**
80
+ * Spill error reasons for diagnostics.
81
+ */
82
+ export type SpillErrorReason = 'blocked' | 'merged' | 'cross_sheet' | 'bounds_overflow' | 'table_overlap' | 'array_overlap';
83
+ /**
84
+ * Detailed spill error information.
85
+ *
86
+ * Provides context for #SPILL! errors to help users understand
87
+ * why their formula cannot spill.
88
+ */
89
+ export interface SpillError {
90
+ /** The type of obstruction */
91
+ reason: SpillErrorReason;
92
+ /** CellId of the blocking cell (if reason is 'blocked') */
93
+ blockingCellId?: CellId;
94
+ /** Human-readable description */
95
+ message: string;
96
+ }
97
+ /**
98
+ * Projection information for a cell position.
99
+ *
100
+ * Describes how a cell's displayed value is derived from a dynamic array
101
+ * formula's projection. This replaces the old "spill phantom" concept:
102
+ * instead of creating phantom CellIds for each spilled position, the
103
+ * ProjectionRegistry maps (sheet, row, col) -> source cell + offset.
104
+ *
105
+ * @see compute-core/src/eval/projection_registry.rs
106
+ */
107
+ export interface ProjectionInfo {
108
+ /** Row of the source cell (the cell containing the array formula). */
109
+ sourceRow: number;
110
+ /** Column of the source cell. */
111
+ sourceCol: number;
112
+ /** Top-left row of the projection region (usually same as sourceRow). */
113
+ originRow: number;
114
+ /** Top-left column of the projection region (usually same as sourceCol). */
115
+ originCol: number;
116
+ /** Number of rows in the projected array. */
117
+ rows: number;
118
+ /** Number of columns in the projected array. */
119
+ cols: number;
120
+ }
121
+ //# sourceMappingURL=spill.d.ts.map