@trebco/treb 37.0.0 → 37.0.1

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 (528) hide show
  1. package/build/package.json +119 -0
  2. package/build/treb-base-types/src/api_types.d.ts +11 -0
  3. package/build/treb-base-types/src/api_types.js +22 -0
  4. package/build/treb-base-types/src/api_types.js.map +1 -0
  5. package/build/treb-base-types/src/area-utils.d.ts +9 -0
  6. package/build/treb-base-types/src/area-utils.js +50 -0
  7. package/build/treb-base-types/src/area-utils.js.map +1 -0
  8. package/build/treb-base-types/src/area.d.ts +182 -0
  9. package/build/treb-base-types/src/area.js +715 -0
  10. package/build/treb-base-types/src/area.js.map +1 -0
  11. package/build/treb-base-types/src/basic_types.d.ts +20 -0
  12. package/build/treb-base-types/src/basic_types.js +22 -0
  13. package/build/treb-base-types/src/basic_types.js.map +1 -0
  14. package/build/treb-base-types/src/cell.d.ts +167 -0
  15. package/build/treb-base-types/src/cell.js +432 -0
  16. package/build/treb-base-types/src/cell.js.map +1 -0
  17. package/build/treb-base-types/src/cells.d.ts +251 -0
  18. package/build/treb-base-types/src/cells.js +1136 -0
  19. package/build/treb-base-types/src/cells.js.map +1 -0
  20. package/build/treb-base-types/src/color.d.ts +35 -0
  21. package/build/treb-base-types/src/color.js +162 -0
  22. package/build/treb-base-types/src/color.js.map +1 -0
  23. package/build/treb-base-types/src/dom-utilities.d.ts +70 -0
  24. package/build/treb-base-types/src/dom-utilities.js +144 -0
  25. package/build/treb-base-types/src/dom-utilities.js.map +1 -0
  26. package/build/treb-base-types/src/evaluate-options.d.ts +35 -0
  27. package/build/treb-base-types/src/evaluate-options.js +22 -0
  28. package/build/treb-base-types/src/evaluate-options.js.map +1 -0
  29. package/build/treb-base-types/src/font-stack.d.ts +37 -0
  30. package/build/treb-base-types/src/font-stack.js +93 -0
  31. package/build/treb-base-types/src/font-stack.js.map +1 -0
  32. package/build/treb-base-types/src/gradient.d.ts +18 -0
  33. package/build/treb-base-types/src/gradient.js +86 -0
  34. package/build/treb-base-types/src/gradient.js.map +1 -0
  35. package/build/treb-base-types/src/import.d.ts +48 -0
  36. package/build/treb-base-types/src/import.js +22 -0
  37. package/build/treb-base-types/src/import.js.map +1 -0
  38. package/build/treb-base-types/src/index-standalone.d.ts +6 -0
  39. package/build/treb-base-types/src/index-standalone.js +27 -0
  40. package/build/treb-base-types/src/index-standalone.js.map +1 -0
  41. package/build/treb-base-types/src/index.d.ts +22 -0
  42. package/build/treb-base-types/src/index.js +45 -0
  43. package/build/treb-base-types/src/index.js.map +1 -0
  44. package/build/treb-base-types/src/layout.d.ts +22 -0
  45. package/build/treb-base-types/src/layout.js +22 -0
  46. package/build/treb-base-types/src/layout.js.map +1 -0
  47. package/build/treb-base-types/src/localization.d.ts +37 -0
  48. package/build/treb-base-types/src/localization.js +157 -0
  49. package/build/treb-base-types/src/localization.js.map +1 -0
  50. package/build/treb-base-types/src/rectangle.d.ts +51 -0
  51. package/build/treb-base-types/src/rectangle.js +123 -0
  52. package/build/treb-base-types/src/rectangle.js.map +1 -0
  53. package/build/treb-base-types/src/render_text.d.ts +34 -0
  54. package/build/treb-base-types/src/render_text.js +22 -0
  55. package/build/treb-base-types/src/render_text.js.map +1 -0
  56. package/build/treb-base-types/src/style.d.ts +214 -0
  57. package/build/treb-base-types/src/style.js +373 -0
  58. package/build/treb-base-types/src/style.js.map +1 -0
  59. package/build/treb-base-types/src/table.d.ts +58 -0
  60. package/build/treb-base-types/src/table.js +27 -0
  61. package/build/treb-base-types/src/table.js.map +1 -0
  62. package/build/treb-base-types/src/text_part.d.ts +26 -0
  63. package/build/treb-base-types/src/text_part.js +47 -0
  64. package/build/treb-base-types/src/text_part.js.map +1 -0
  65. package/build/treb-base-types/src/theme.d.ts +120 -0
  66. package/build/treb-base-types/src/theme.js +460 -0
  67. package/build/treb-base-types/src/theme.js.map +1 -0
  68. package/build/treb-base-types/src/union.d.ts +73 -0
  69. package/build/treb-base-types/src/union.js +61 -0
  70. package/build/treb-base-types/src/union.js.map +1 -0
  71. package/build/treb-base-types/src/value-type.d.ts +86 -0
  72. package/build/treb-base-types/src/value-type.js +168 -0
  73. package/build/treb-base-types/src/value-type.js.map +1 -0
  74. package/build/treb-base-types/src/worker-proxy.d.ts +95 -0
  75. package/build/treb-base-types/src/worker-proxy.js +221 -0
  76. package/build/treb-base-types/src/worker-proxy.js.map +1 -0
  77. package/build/treb-calculator/src/calculator.d.ts +249 -0
  78. package/build/treb-calculator/src/calculator.js +2755 -0
  79. package/build/treb-calculator/src/calculator.js.map +1 -0
  80. package/build/treb-calculator/src/complex-math.d.ts +75 -0
  81. package/build/treb-calculator/src/complex-math.js +559 -0
  82. package/build/treb-calculator/src/complex-math.js.map +1 -0
  83. package/build/treb-calculator/src/dag/array-vertex.d.ts +71 -0
  84. package/build/treb-calculator/src/dag/array-vertex.js +156 -0
  85. package/build/treb-calculator/src/dag/array-vertex.js.map +1 -0
  86. package/build/treb-calculator/src/dag/calculation_leaf_vertex.d.ts +48 -0
  87. package/build/treb-calculator/src/dag/calculation_leaf_vertex.js +84 -0
  88. package/build/treb-calculator/src/dag/calculation_leaf_vertex.js.map +1 -0
  89. package/build/treb-calculator/src/dag/graph.d.ts +134 -0
  90. package/build/treb-calculator/src/dag/graph.js +842 -0
  91. package/build/treb-calculator/src/dag/graph.js.map +1 -0
  92. package/build/treb-calculator/src/dag/spreadsheet_vertex.d.ts +58 -0
  93. package/build/treb-calculator/src/dag/spreadsheet_vertex.js +232 -0
  94. package/build/treb-calculator/src/dag/spreadsheet_vertex.js.map +1 -0
  95. package/build/treb-calculator/src/dag/spreadsheet_vertex_base.d.ts +20 -0
  96. package/build/treb-calculator/src/dag/spreadsheet_vertex_base.js +25 -0
  97. package/build/treb-calculator/src/dag/spreadsheet_vertex_base.js.map +1 -0
  98. package/build/treb-calculator/src/dag/state_leaf_vertex.d.ts +43 -0
  99. package/build/treb-calculator/src/dag/state_leaf_vertex.js +81 -0
  100. package/build/treb-calculator/src/dag/state_leaf_vertex.js.map +1 -0
  101. package/build/treb-calculator/src/dag/vertex.d.ts +71 -0
  102. package/build/treb-calculator/src/dag/vertex.js +274 -0
  103. package/build/treb-calculator/src/dag/vertex.js.map +1 -0
  104. package/build/treb-calculator/src/descriptors.d.ts +189 -0
  105. package/build/treb-calculator/src/descriptors.js +22 -0
  106. package/build/treb-calculator/src/descriptors.js.map +1 -0
  107. package/build/treb-calculator/src/expression-calculator.d.ts +127 -0
  108. package/build/treb-calculator/src/expression-calculator.js +1033 -0
  109. package/build/treb-calculator/src/expression-calculator.js.map +1 -0
  110. package/build/treb-calculator/src/function-error.d.ts +35 -0
  111. package/build/treb-calculator/src/function-error.js +85 -0
  112. package/build/treb-calculator/src/function-error.js.map +1 -0
  113. package/build/treb-calculator/src/function-library.d.ts +22 -0
  114. package/build/treb-calculator/src/function-library.js +96 -0
  115. package/build/treb-calculator/src/function-library.js.map +1 -0
  116. package/build/treb-calculator/src/functions/base-functions.d.ts +7 -0
  117. package/build/treb-calculator/src/functions/base-functions.js +2611 -0
  118. package/build/treb-calculator/src/functions/base-functions.js.map +1 -0
  119. package/build/treb-calculator/src/functions/beta.d.ts +17 -0
  120. package/build/treb-calculator/src/functions/beta.js +201 -0
  121. package/build/treb-calculator/src/functions/beta.js.map +1 -0
  122. package/build/treb-calculator/src/functions/checkbox.d.ts +3 -0
  123. package/build/treb-calculator/src/functions/checkbox.js +128 -0
  124. package/build/treb-calculator/src/functions/checkbox.js.map +1 -0
  125. package/build/treb-calculator/src/functions/complex-functions.d.ts +2 -0
  126. package/build/treb-calculator/src/functions/complex-functions.js +217 -0
  127. package/build/treb-calculator/src/functions/complex-functions.js.map +1 -0
  128. package/build/treb-calculator/src/functions/date-utils.d.ts +3 -0
  129. package/build/treb-calculator/src/functions/date-utils.js +59 -0
  130. package/build/treb-calculator/src/functions/date-utils.js.map +1 -0
  131. package/build/treb-calculator/src/functions/finance-functions.d.ts +2 -0
  132. package/build/treb-calculator/src/functions/finance-functions.js +547 -0
  133. package/build/treb-calculator/src/functions/finance-functions.js.map +1 -0
  134. package/build/treb-calculator/src/functions/fp.d.ts +2 -0
  135. package/build/treb-calculator/src/functions/fp.js +463 -0
  136. package/build/treb-calculator/src/functions/fp.js.map +1 -0
  137. package/build/treb-calculator/src/functions/function-utilities.d.ts +2 -0
  138. package/build/treb-calculator/src/functions/function-utilities.js +36 -0
  139. package/build/treb-calculator/src/functions/function-utilities.js.map +1 -0
  140. package/build/treb-calculator/src/functions/gamma.d.ts +20 -0
  141. package/build/treb-calculator/src/functions/gamma.js +142 -0
  142. package/build/treb-calculator/src/functions/gamma.js.map +1 -0
  143. package/build/treb-calculator/src/functions/information-functions.d.ts +2 -0
  144. package/build/treb-calculator/src/functions/information-functions.js +71 -0
  145. package/build/treb-calculator/src/functions/information-functions.js.map +1 -0
  146. package/build/treb-calculator/src/functions/lambda-functions.d.ts +2 -0
  147. package/build/treb-calculator/src/functions/lambda-functions.js +85 -0
  148. package/build/treb-calculator/src/functions/lambda-functions.js.map +1 -0
  149. package/build/treb-calculator/src/functions/matrix-functions.d.ts +2 -0
  150. package/build/treb-calculator/src/functions/matrix-functions.js +144 -0
  151. package/build/treb-calculator/src/functions/matrix-functions.js.map +1 -0
  152. package/build/treb-calculator/src/functions/normal.d.ts +2 -0
  153. package/build/treb-calculator/src/functions/normal.js +32 -0
  154. package/build/treb-calculator/src/functions/normal.js.map +1 -0
  155. package/build/treb-calculator/src/functions/regex-functions.d.ts +2 -0
  156. package/build/treb-calculator/src/functions/regex-functions.js +188 -0
  157. package/build/treb-calculator/src/functions/regex-functions.js.map +1 -0
  158. package/build/treb-calculator/src/functions/sparkline.d.ts +37 -0
  159. package/build/treb-calculator/src/functions/sparkline.js +264 -0
  160. package/build/treb-calculator/src/functions/sparkline.js.map +1 -0
  161. package/build/treb-calculator/src/functions/statistics-functions.d.ts +6 -0
  162. package/build/treb-calculator/src/functions/statistics-functions.js +989 -0
  163. package/build/treb-calculator/src/functions/statistics-functions.js.map +1 -0
  164. package/build/treb-calculator/src/functions/students-t.d.ts +3 -0
  165. package/build/treb-calculator/src/functions/students-t.js +64 -0
  166. package/build/treb-calculator/src/functions/students-t.js.map +1 -0
  167. package/build/treb-calculator/src/functions/text-functions.d.ts +3 -0
  168. package/build/treb-calculator/src/functions/text-functions.js +320 -0
  169. package/build/treb-calculator/src/functions/text-functions.js.map +1 -0
  170. package/build/treb-calculator/src/index.d.ts +2 -0
  171. package/build/treb-calculator/src/index.js +22 -0
  172. package/build/treb-calculator/src/index.js.map +1 -0
  173. package/build/treb-calculator/src/notifier-types.d.ts +26 -0
  174. package/build/treb-calculator/src/notifier-types.js +22 -0
  175. package/build/treb-calculator/src/notifier-types.js.map +1 -0
  176. package/build/treb-calculator/src/primitives.d.ts +15 -0
  177. package/build/treb-calculator/src/primitives.js +398 -0
  178. package/build/treb-calculator/src/primitives.js.map +1 -0
  179. package/build/treb-calculator/src/utilities.d.ts +68 -0
  180. package/build/treb-calculator/src/utilities.js +324 -0
  181. package/build/treb-calculator/src/utilities.js.map +1 -0
  182. package/build/treb-charts/src/chart-functions.d.ts +8 -0
  183. package/build/treb-charts/src/chart-functions.js +209 -0
  184. package/build/treb-charts/src/chart-functions.js.map +1 -0
  185. package/build/treb-charts/src/chart-types.d.ts +233 -0
  186. package/build/treb-charts/src/chart-types.js +57 -0
  187. package/build/treb-charts/src/chart-types.js.map +1 -0
  188. package/build/treb-charts/src/chart-utils.d.ts +106 -0
  189. package/build/treb-charts/src/chart-utils.js +1060 -0
  190. package/build/treb-charts/src/chart-utils.js.map +1 -0
  191. package/build/treb-charts/src/chart.d.ts +23 -0
  192. package/build/treb-charts/src/chart.js +94 -0
  193. package/build/treb-charts/src/chart.js.map +1 -0
  194. package/build/treb-charts/src/default-chart-renderer.d.ts +16 -0
  195. package/build/treb-charts/src/default-chart-renderer.js +533 -0
  196. package/build/treb-charts/src/default-chart-renderer.js.map +1 -0
  197. package/build/treb-charts/src/index.d.ts +5 -0
  198. package/build/treb-charts/src/index.js +24 -0
  199. package/build/treb-charts/src/index.js.map +1 -0
  200. package/build/treb-charts/src/main.d.ts +1 -0
  201. package/build/treb-charts/src/main.js +34 -0
  202. package/build/treb-charts/src/main.js.map +1 -0
  203. package/build/treb-charts/src/quicksort.d.ts +1 -0
  204. package/build/treb-charts/src/quicksort.js +49 -0
  205. package/build/treb-charts/src/quicksort.js.map +1 -0
  206. package/build/treb-charts/src/rectangle.d.ts +18 -0
  207. package/build/treb-charts/src/rectangle.js +41 -0
  208. package/build/treb-charts/src/rectangle.js.map +1 -0
  209. package/build/treb-charts/src/renderer-type.d.ts +24 -0
  210. package/build/treb-charts/src/renderer-type.js +22 -0
  211. package/build/treb-charts/src/renderer-type.js.map +1 -0
  212. package/build/treb-charts/src/renderer.d.ts +127 -0
  213. package/build/treb-charts/src/renderer.js +1518 -0
  214. package/build/treb-charts/src/renderer.js.map +1 -0
  215. package/build/treb-charts/src/util.d.ts +18 -0
  216. package/build/treb-charts/src/util.js +71 -0
  217. package/build/treb-charts/src/util.js.map +1 -0
  218. package/build/treb-data-model/src/annotation.d.ts +167 -0
  219. package/build/treb-data-model/src/annotation.js +120 -0
  220. package/build/treb-data-model/src/annotation.js.map +1 -0
  221. package/build/treb-data-model/src/conditional_format.d.ts +155 -0
  222. package/build/treb-data-model/src/conditional_format.js +62 -0
  223. package/build/treb-data-model/src/conditional_format.js.map +1 -0
  224. package/build/treb-data-model/src/data-validation.d.ts +28 -0
  225. package/build/treb-data-model/src/data-validation.js +22 -0
  226. package/build/treb-data-model/src/data-validation.js.map +1 -0
  227. package/build/treb-data-model/src/data_model.d.ts +173 -0
  228. package/build/treb-data-model/src/data_model.js +637 -0
  229. package/build/treb-data-model/src/data_model.js.map +1 -0
  230. package/build/treb-data-model/src/index.d.ts +13 -0
  231. package/build/treb-data-model/src/index.js +28 -0
  232. package/build/treb-data-model/src/index.js.map +1 -0
  233. package/build/treb-data-model/src/language-model.d.ts +22 -0
  234. package/build/treb-data-model/src/language-model.js +22 -0
  235. package/build/treb-data-model/src/language-model.js.map +1 -0
  236. package/build/treb-data-model/src/named.d.ts +124 -0
  237. package/build/treb-data-model/src/named.js +372 -0
  238. package/build/treb-data-model/src/named.js.map +1 -0
  239. package/build/treb-data-model/src/serialize_options.d.ts +49 -0
  240. package/build/treb-data-model/src/serialize_options.js +22 -0
  241. package/build/treb-data-model/src/serialize_options.js.map +1 -0
  242. package/build/treb-data-model/src/sheet.d.ts +499 -0
  243. package/build/treb-data-model/src/sheet.js +2904 -0
  244. package/build/treb-data-model/src/sheet.js.map +1 -0
  245. package/build/treb-data-model/src/sheet_collection.d.ts +58 -0
  246. package/build/treb-data-model/src/sheet_collection.js +112 -0
  247. package/build/treb-data-model/src/sheet_collection.js.map +1 -0
  248. package/build/treb-data-model/src/sheet_selection.d.ts +42 -0
  249. package/build/treb-data-model/src/sheet_selection.js +39 -0
  250. package/build/treb-data-model/src/sheet_selection.js.map +1 -0
  251. package/build/treb-data-model/src/sheet_types.d.ts +104 -0
  252. package/build/treb-data-model/src/sheet_types.js +22 -0
  253. package/build/treb-data-model/src/sheet_types.js.map +1 -0
  254. package/build/treb-data-model/src/types.d.ts +59 -0
  255. package/build/treb-data-model/src/types.js +22 -0
  256. package/build/treb-data-model/src/types.js.map +1 -0
  257. package/build/treb-embed/src/custom-element/spreadsheet-constructor.d.ts +75 -0
  258. package/build/treb-embed/src/custom-element/spreadsheet-constructor.js +1144 -0
  259. package/build/treb-embed/src/custom-element/spreadsheet-constructor.js.map +1 -0
  260. package/build/treb-embed/src/custom-element/treb-global.d.ts +36 -0
  261. package/build/treb-embed/src/custom-element/treb-global.js +64 -0
  262. package/build/treb-embed/src/custom-element/treb-global.js.map +1 -0
  263. package/build/treb-embed/src/custom-element/treb-spreadsheet-element.d.ts +1 -0
  264. package/build/treb-embed/src/custom-element/treb-spreadsheet-element.js +61 -0
  265. package/build/treb-embed/src/custom-element/treb-spreadsheet-element.js.map +1 -0
  266. package/build/treb-embed/src/embedded-spreadsheet.d.ts +1358 -0
  267. package/build/treb-embed/src/embedded-spreadsheet.js +5205 -0
  268. package/build/treb-embed/src/embedded-spreadsheet.js.map +1 -0
  269. package/build/treb-embed/src/index.d.ts +12 -0
  270. package/build/treb-embed/src/index.js +34 -0
  271. package/build/treb-embed/src/index.js.map +1 -0
  272. package/build/treb-embed/src/options.d.ts +266 -0
  273. package/build/treb-embed/src/options.js +56 -0
  274. package/build/treb-embed/src/options.js.map +1 -0
  275. package/build/treb-embed/src/plugin.d.ts +9 -0
  276. package/build/treb-embed/src/plugin.js +22 -0
  277. package/build/treb-embed/src/plugin.js.map +1 -0
  278. package/build/treb-embed/src/progress-dialog.d.ts +49 -0
  279. package/build/treb-embed/src/progress-dialog.js +178 -0
  280. package/build/treb-embed/src/progress-dialog.js.map +1 -0
  281. package/build/treb-embed/src/selection-state.d.ts +15 -0
  282. package/build/treb-embed/src/selection-state.js +22 -0
  283. package/build/treb-embed/src/selection-state.js.map +1 -0
  284. package/build/treb-embed/src/spinner.d.ts +8 -0
  285. package/build/treb-embed/src/spinner.js +40 -0
  286. package/build/treb-embed/src/spinner.js.map +1 -0
  287. package/build/treb-embed/src/toolbar-message.d.ts +72 -0
  288. package/build/treb-embed/src/toolbar-message.js +22 -0
  289. package/build/treb-embed/src/toolbar-message.js.map +1 -0
  290. package/build/treb-embed/src/types.d.ts +185 -0
  291. package/build/treb-embed/src/types.js +45 -0
  292. package/build/treb-embed/src/types.js.map +1 -0
  293. package/build/treb-embed/tsconfig.tsbuildinfo +1 -0
  294. package/build/treb-export/src/address-type.d.ts +34 -0
  295. package/build/treb-export/src/address-type.js +53 -0
  296. package/build/treb-export/src/address-type.js.map +1 -0
  297. package/build/treb-export/src/base-template.d.ts +1 -0
  298. package/build/treb-export/src/base-template.js +22 -0
  299. package/build/treb-export/src/base-template.js.map +1 -0
  300. package/build/treb-export/src/column-width.d.ts +2 -0
  301. package/build/treb-export/src/column-width.js +80 -0
  302. package/build/treb-export/src/column-width.js.map +1 -0
  303. package/build/treb-export/src/drawing/bubble-chart-template.d.ts +514 -0
  304. package/build/treb-export/src/drawing/bubble-chart-template.js +544 -0
  305. package/build/treb-export/src/drawing/bubble-chart-template.js.map +1 -0
  306. package/build/treb-export/src/drawing/chart-template-components2.d.ts +365 -0
  307. package/build/treb-export/src/drawing/chart-template-components2.js +386 -0
  308. package/build/treb-export/src/drawing/chart-template-components2.js.map +1 -0
  309. package/build/treb-export/src/drawing/chart.d.ts +26 -0
  310. package/build/treb-export/src/drawing/chart.js +247 -0
  311. package/build/treb-export/src/drawing/chart.js.map +1 -0
  312. package/build/treb-export/src/drawing/column-chart-template2.d.ts +490 -0
  313. package/build/treb-export/src/drawing/column-chart-template2.js +518 -0
  314. package/build/treb-export/src/drawing/column-chart-template2.js.map +1 -0
  315. package/build/treb-export/src/drawing/donut-chart-template2.d.ts +272 -0
  316. package/build/treb-export/src/drawing/donut-chart-template2.js +293 -0
  317. package/build/treb-export/src/drawing/donut-chart-template2.js.map +1 -0
  318. package/build/treb-export/src/drawing/drawing.d.ts +49 -0
  319. package/build/treb-export/src/drawing/drawing.js +193 -0
  320. package/build/treb-export/src/drawing/drawing.js.map +1 -0
  321. package/build/treb-export/src/drawing/embedded-image.d.ts +12 -0
  322. package/build/treb-export/src/drawing/embedded-image.js +54 -0
  323. package/build/treb-export/src/drawing/embedded-image.js.map +1 -0
  324. package/build/treb-export/src/drawing/scatter-chart-template2.d.ts +520 -0
  325. package/build/treb-export/src/drawing/scatter-chart-template2.js +551 -0
  326. package/build/treb-export/src/drawing/scatter-chart-template2.js.map +1 -0
  327. package/build/treb-export/src/export.d.ts +72 -0
  328. package/build/treb-export/src/export.js +2039 -0
  329. package/build/treb-export/src/export.js.map +1 -0
  330. package/build/treb-export/src/import-export-messages.d.ts +31 -0
  331. package/build/treb-export/src/import-export-messages.js +22 -0
  332. package/build/treb-export/src/import-export-messages.js.map +1 -0
  333. package/build/treb-export/src/import.d.ts +33 -0
  334. package/build/treb-export/src/import.js +1258 -0
  335. package/build/treb-export/src/import.js.map +1 -0
  336. package/build/treb-export/src/index.worker.d.ts +1 -0
  337. package/build/treb-export/src/index.worker.js +93 -0
  338. package/build/treb-export/src/index.worker.js.map +1 -0
  339. package/build/treb-export/src/metadata.d.ts +51 -0
  340. package/build/treb-export/src/metadata.js +153 -0
  341. package/build/treb-export/src/metadata.js.map +1 -0
  342. package/build/treb-export/src/ooxml.d.ts +7 -0
  343. package/build/treb-export/src/ooxml.js +41 -0
  344. package/build/treb-export/src/ooxml.js.map +1 -0
  345. package/build/treb-export/src/relationship.d.ts +8 -0
  346. package/build/treb-export/src/relationship.js +27 -0
  347. package/build/treb-export/src/relationship.js.map +1 -0
  348. package/build/treb-export/src/shared-strings.d.ts +11 -0
  349. package/build/treb-export/src/shared-strings.js +105 -0
  350. package/build/treb-export/src/shared-strings.js.map +1 -0
  351. package/build/treb-export/src/template-2.d.ts +1 -0
  352. package/build/treb-export/src/template-2.js +22 -0
  353. package/build/treb-export/src/template-2.js.map +1 -0
  354. package/build/treb-export/src/unescape_xml.d.ts +1 -0
  355. package/build/treb-export/src/unescape_xml.js +61 -0
  356. package/build/treb-export/src/unescape_xml.js.map +1 -0
  357. package/build/treb-export/src/workbook-sheet.d.ts +75 -0
  358. package/build/treb-export/src/workbook-sheet.js +128 -0
  359. package/build/treb-export/src/workbook-sheet.js.map +1 -0
  360. package/build/treb-export/src/workbook-style.d.ts +110 -0
  361. package/build/treb-export/src/workbook-style.js +1134 -0
  362. package/build/treb-export/src/workbook-style.js.map +1 -0
  363. package/build/treb-export/src/workbook-theme.d.ts +13 -0
  364. package/build/treb-export/src/workbook-theme.js +85 -0
  365. package/build/treb-export/src/workbook-theme.js.map +1 -0
  366. package/build/treb-export/src/workbook.d.ts +123 -0
  367. package/build/treb-export/src/workbook.js +644 -0
  368. package/build/treb-export/src/workbook.js.map +1 -0
  369. package/build/treb-export/src/xml-test.d.ts +9 -0
  370. package/build/treb-export/src/xml-test.js +52 -0
  371. package/build/treb-export/src/xml-test.js.map +1 -0
  372. package/build/treb-export/src/xml-utils.d.ts +76 -0
  373. package/build/treb-export/src/xml-utils.js +223 -0
  374. package/build/treb-export/src/xml-utils.js.map +1 -0
  375. package/build/treb-export/src/zip-wrapper.d.ts +22 -0
  376. package/build/treb-export/src/zip-wrapper.js +93 -0
  377. package/build/treb-export/src/zip-wrapper.js.map +1 -0
  378. package/build/treb-format/src/format.d.ts +130 -0
  379. package/build/treb-format/src/format.js +805 -0
  380. package/build/treb-format/src/format.js.map +1 -0
  381. package/build/treb-format/src/format_cache.d.ts +55 -0
  382. package/build/treb-format/src/format_cache.js +166 -0
  383. package/build/treb-format/src/format_cache.js.map +1 -0
  384. package/build/treb-format/src/format_parser.d.ts +70 -0
  385. package/build/treb-format/src/format_parser.js +618 -0
  386. package/build/treb-format/src/format_parser.js.map +1 -0
  387. package/build/treb-format/src/index.d.ts +4 -0
  388. package/build/treb-format/src/index.js +25 -0
  389. package/build/treb-format/src/index.js.map +1 -0
  390. package/build/treb-format/src/number_format_section.d.ts +58 -0
  391. package/build/treb-format/src/number_format_section.js +78 -0
  392. package/build/treb-format/src/number_format_section.js.map +1 -0
  393. package/build/treb-format/src/value_parser.d.ts +48 -0
  394. package/build/treb-format/src/value_parser.js +244 -0
  395. package/build/treb-format/src/value_parser.js.map +1 -0
  396. package/build/treb-grid/src/editors/autocomplete.d.ts +39 -0
  397. package/build/treb-grid/src/editors/autocomplete.js +316 -0
  398. package/build/treb-grid/src/editors/autocomplete.js.map +1 -0
  399. package/build/treb-grid/src/editors/autocomplete_matcher.d.ts +74 -0
  400. package/build/treb-grid/src/editors/autocomplete_matcher.js +212 -0
  401. package/build/treb-grid/src/editors/autocomplete_matcher.js.map +1 -0
  402. package/build/treb-grid/src/editors/editor.d.ts +214 -0
  403. package/build/treb-grid/src/editors/editor.js +879 -0
  404. package/build/treb-grid/src/editors/editor.js.map +1 -0
  405. package/build/treb-grid/src/editors/external_editor.d.ts +11 -0
  406. package/build/treb-grid/src/editors/external_editor.js +118 -0
  407. package/build/treb-grid/src/editors/external_editor.js.map +1 -0
  408. package/build/treb-grid/src/editors/formula_bar.d.ts +85 -0
  409. package/build/treb-grid/src/editors/formula_bar.js +444 -0
  410. package/build/treb-grid/src/editors/formula_bar.js.map +1 -0
  411. package/build/treb-grid/src/editors/overlay_editor.d.ts +85 -0
  412. package/build/treb-grid/src/editors/overlay_editor.js +353 -0
  413. package/build/treb-grid/src/editors/overlay_editor.js.map +1 -0
  414. package/build/treb-grid/src/index.d.ts +12 -0
  415. package/build/treb-grid/src/index.js +28 -0
  416. package/build/treb-grid/src/index.js.map +1 -0
  417. package/build/treb-grid/src/layout/base_layout.d.ts +346 -0
  418. package/build/treb-grid/src/layout/base_layout.js +2050 -0
  419. package/build/treb-grid/src/layout/base_layout.js.map +1 -0
  420. package/build/treb-grid/src/layout/grid_layout.d.ts +19 -0
  421. package/build/treb-grid/src/layout/grid_layout.js +235 -0
  422. package/build/treb-grid/src/layout/grid_layout.js.map +1 -0
  423. package/build/treb-grid/src/layout/mock-layout.d.ts +10 -0
  424. package/build/treb-grid/src/layout/mock-layout.js +37 -0
  425. package/build/treb-grid/src/layout/mock-layout.js.map +1 -0
  426. package/build/treb-grid/src/render/selection-renderer.d.ts +97 -0
  427. package/build/treb-grid/src/render/selection-renderer.js +315 -0
  428. package/build/treb-grid/src/render/selection-renderer.js.map +1 -0
  429. package/build/treb-grid/src/render/svg_header_overlay.d.ts +20 -0
  430. package/build/treb-grid/src/render/svg_header_overlay.js +76 -0
  431. package/build/treb-grid/src/render/svg_header_overlay.js.map +1 -0
  432. package/build/treb-grid/src/render/svg_selection_block.d.ts +27 -0
  433. package/build/treb-grid/src/render/svg_selection_block.js +106 -0
  434. package/build/treb-grid/src/render/svg_selection_block.js.map +1 -0
  435. package/build/treb-grid/src/render/tile_renderer.d.ts +121 -0
  436. package/build/treb-grid/src/render/tile_renderer.js +1609 -0
  437. package/build/treb-grid/src/render/tile_renderer.js.map +1 -0
  438. package/build/treb-grid/src/types/border_constants.d.ts +9 -0
  439. package/build/treb-grid/src/types/border_constants.js +34 -0
  440. package/build/treb-grid/src/types/border_constants.js.map +1 -0
  441. package/build/treb-grid/src/types/clipboard_data.d.ts +11 -0
  442. package/build/treb-grid/src/types/clipboard_data.js +22 -0
  443. package/build/treb-grid/src/types/clipboard_data.js.map +1 -0
  444. package/build/treb-grid/src/types/clipboard_data2.d.ts +46 -0
  445. package/build/treb-grid/src/types/clipboard_data2.js +22 -0
  446. package/build/treb-grid/src/types/clipboard_data2.js.map +1 -0
  447. package/build/treb-grid/src/types/drag_mask.d.ts +10 -0
  448. package/build/treb-grid/src/types/drag_mask.js +78 -0
  449. package/build/treb-grid/src/types/drag_mask.js.map +1 -0
  450. package/build/treb-grid/src/types/external_editor_config.d.ts +33 -0
  451. package/build/treb-grid/src/types/external_editor_config.js +22 -0
  452. package/build/treb-grid/src/types/external_editor_config.js.map +1 -0
  453. package/build/treb-grid/src/types/grid.d.ts +806 -0
  454. package/build/treb-grid/src/types/grid.js +6410 -0
  455. package/build/treb-grid/src/types/grid.js.map +1 -0
  456. package/build/treb-grid/src/types/grid_base.d.ts +442 -0
  457. package/build/treb-grid/src/types/grid_base.js +3523 -0
  458. package/build/treb-grid/src/types/grid_base.js.map +1 -0
  459. package/build/treb-grid/src/types/grid_command.d.ts +408 -0
  460. package/build/treb-grid/src/types/grid_command.js +75 -0
  461. package/build/treb-grid/src/types/grid_command.js.map +1 -0
  462. package/build/treb-grid/src/types/grid_events.d.ts +93 -0
  463. package/build/treb-grid/src/types/grid_events.js +36 -0
  464. package/build/treb-grid/src/types/grid_events.js.map +1 -0
  465. package/build/treb-grid/src/types/grid_options.d.ts +50 -0
  466. package/build/treb-grid/src/types/grid_options.js +34 -0
  467. package/build/treb-grid/src/types/grid_options.js.map +1 -0
  468. package/build/treb-grid/src/types/scale-control.d.ts +21 -0
  469. package/build/treb-grid/src/types/scale-control.js +148 -0
  470. package/build/treb-grid/src/types/scale-control.js.map +1 -0
  471. package/build/treb-grid/src/types/set_range_options.d.ts +24 -0
  472. package/build/treb-grid/src/types/set_range_options.js +22 -0
  473. package/build/treb-grid/src/types/set_range_options.js.map +1 -0
  474. package/build/treb-grid/src/types/tab_bar.d.ts +84 -0
  475. package/build/treb-grid/src/types/tab_bar.js +426 -0
  476. package/build/treb-grid/src/types/tab_bar.js.map +1 -0
  477. package/build/treb-grid/src/types/tile.d.ts +29 -0
  478. package/build/treb-grid/src/types/tile.js +22 -0
  479. package/build/treb-grid/src/types/tile.js.map +1 -0
  480. package/build/treb-grid/src/types/update_flags.d.ts +48 -0
  481. package/build/treb-grid/src/types/update_flags.js +22 -0
  482. package/build/treb-grid/src/types/update_flags.js.map +1 -0
  483. package/build/treb-grid/src/util/fontmetrics.d.ts +21 -0
  484. package/build/treb-grid/src/util/fontmetrics.js +82 -0
  485. package/build/treb-grid/src/util/fontmetrics.js.map +1 -0
  486. package/build/treb-grid/src/util/ua.d.ts +33 -0
  487. package/build/treb-grid/src/util/ua.js +86 -0
  488. package/build/treb-grid/src/util/ua.js.map +1 -0
  489. package/build/treb-parser/src/csv-parser.d.ts +13 -0
  490. package/build/treb-parser/src/csv-parser.js +107 -0
  491. package/build/treb-parser/src/csv-parser.js.map +1 -0
  492. package/build/treb-parser/src/index.d.ts +4 -0
  493. package/build/treb-parser/src/index.js +25 -0
  494. package/build/treb-parser/src/index.js.map +1 -0
  495. package/build/treb-parser/src/md-parser.d.ts +97 -0
  496. package/build/treb-parser/src/md-parser.js +403 -0
  497. package/build/treb-parser/src/md-parser.js.map +1 -0
  498. package/build/treb-parser/src/parser-types.d.ts +345 -0
  499. package/build/treb-parser/src/parser-types.js +53 -0
  500. package/build/treb-parser/src/parser-types.js.map +1 -0
  501. package/build/treb-parser/src/parser.d.ts +422 -0
  502. package/build/treb-parser/src/parser.js +2418 -0
  503. package/build/treb-parser/src/parser.js.map +1 -0
  504. package/build/treb-utils/src/event_source.d.ts +34 -0
  505. package/build/treb-utils/src/event_source.js +110 -0
  506. package/build/treb-utils/src/event_source.js.map +1 -0
  507. package/build/treb-utils/src/ievent_source.d.ts +9 -0
  508. package/build/treb-utils/src/ievent_source.js +22 -0
  509. package/build/treb-utils/src/ievent_source.js.map +1 -0
  510. package/build/treb-utils/src/index.d.ts +6 -0
  511. package/build/treb-utils/src/index.js +30 -0
  512. package/build/treb-utils/src/index.js.map +1 -0
  513. package/build/treb-utils/src/measurement.d.ts +42 -0
  514. package/build/treb-utils/src/measurement.js +145 -0
  515. package/build/treb-utils/src/measurement.js.map +1 -0
  516. package/build/treb-utils/src/scale.d.ts +16 -0
  517. package/build/treb-utils/src/scale.js +106 -0
  518. package/build/treb-utils/src/scale.js.map +1 -0
  519. package/build/treb-utils/src/serialize_html.d.ts +5 -0
  520. package/build/treb-utils/src/serialize_html.js +128 -0
  521. package/build/treb-utils/src/serialize_html.js.map +1 -0
  522. package/build/treb-utils/src/validate_uri.d.ts +20 -0
  523. package/build/treb-utils/src/validate_uri.js +55 -0
  524. package/build/treb-utils/src/validate_uri.js.map +1 -0
  525. package/dist/{chunk-XD5PEZBZ.mjs → chunk-E35ONJUS.mjs} +1 -1
  526. package/dist/treb-export-worker.mjs +2 -2
  527. package/dist/treb-spreadsheet.mjs +4 -4
  528. package/package.json +1 -1
@@ -0,0 +1,806 @@
1
+ import type { Theme, IArea, Extent, CellValue, ICellAddress, ImportedSheetData, Color, CellStyle, IRectangle } from 'treb-base-types';
2
+ import { Area } from 'treb-base-types';
3
+ import type { StatsEntry } from './tab_bar';
4
+ import type { GridEvent, GridSelectionEvent } from './grid_events';
5
+ import type { SerializedNamed, DataModel, GridSelection, LegacySerializedSheet } from 'treb-data-model';
6
+ import { Annotation, type AnnotationData, Sheet } from 'treb-data-model';
7
+ import { FormulaBar } from '../editors/formula_bar';
8
+ import type { GridOptions } from './grid_options';
9
+ import { BorderConstants } from './border_constants';
10
+ import type { Command, FreezeCommand, InsertRowsCommand, InsertColumnsCommand, ActivateSheetCommand, ResizeRowsCommand, ResizeColumnsCommand, SelectCommand, CreateAnnotationCommand, RemoveAnnotationCommand } from './grid_command';
11
+ import { DOMContext } from 'treb-base-types';
12
+ import { GridBase } from './grid_base';
13
+ import type { SetRangeOptions } from './set_range_options';
14
+ import type { ExternalEditorConfig } from './external_editor_config';
15
+ import type { ClipboardData, PasteOptions } from './clipboard_data2';
16
+ export declare class Grid extends GridBase {
17
+ hide_selection: boolean;
18
+ headless: boolean;
19
+ /**
20
+ * we're tracking the current selected style so we can use it for new
21
+ * cells. conceptually, if you are typing in a font (stack) like handwritten,
22
+ * and you enter a new cell, you probably want to type in the same font
23
+ * there. so we want to make that happen. TODO: size
24
+ */
25
+ readonly edit_state: CellStyle;
26
+ get scale(): number;
27
+ set scale(value: number);
28
+ /**
29
+ * the theme object exists so we can pass it to constructors for
30
+ * various components, but it's no longer initialized until the
31
+ * initialization step (when we have a node).
32
+ */
33
+ readonly theme: Theme;
34
+ /**
35
+ * this was private, which made sense, but there's a case where the
36
+ * client (embedded sheet) wants to check if an annotation is selected.
37
+ * we need to allow that somehow, ideally without any reacharounds.
38
+ *
39
+ * I guess the concern is a client could modify it, but at this point
40
+ * we really only have one client and we trust it. making this public.
41
+ * we could maybe switch to an accessor or have a "is this selected?" method.
42
+ */
43
+ selected_annotation?: Annotation;
44
+ private hover_data;
45
+ /** are we editing? */
46
+ private editing_state;
47
+ /** if we are editing, what is the cell? */
48
+ private editing_cell;
49
+ /** */
50
+ private editing_selection;
51
+ /** */
52
+ private editing_annotation?;
53
+ /** */
54
+ private pending_reset_selection;
55
+ /** */
56
+ private view_node?;
57
+ /** containing element, passed in */
58
+ private container?;
59
+ /** dom structure for grid */
60
+ private readonly layout;
61
+ /**
62
+ * this flag is used to lazily rebuild tiles. that prevents flashing if
63
+ * there is a lot of work between a reset/document change and the next
64
+ * paint call.
65
+ */
66
+ private tile_update_pending;
67
+ private scroll_offset_pending?;
68
+ /**
69
+ * for coediting/remotes, we may make a structural change that requires
70
+ * a full repaint of another sheet -- we won't be able to do that until
71
+ * the sheet is displayed. so let's keep track of these.
72
+ *
73
+ * these are numbers so we can use a sparse array. (or we could use a set...)
74
+ */
75
+ private pending_layout_update;
76
+ /** this is used when testing if a typed character is numeric */
77
+ private decimal_separator_code;
78
+ /** new key capture overlay/ICE */
79
+ private overlay_editor?;
80
+ /** moving autocomplete to a class field */
81
+ private autocomplete?;
82
+ /** formula bar editor (optional) */
83
+ protected formula_bar?: FormulaBar;
84
+ private RESIZE_PIXEL_BUFFER;
85
+ /**
86
+ * formalizing the concept of external selection to support outside tooling.
87
+ *
88
+ * FIXME: stop testing on this field. we need a better way to figure out
89
+ * if the external editor is active.
90
+ */
91
+ private external_editor_config?;
92
+ /**
93
+ * support for external editor. created on demand.
94
+ */
95
+ private external_editor?;
96
+ /**
97
+ * flag indicating we're resizing, or hovering over a resize.
98
+ * we use this so we know what to do when we see a click on the headers.
99
+ */
100
+ private cell_resize;
101
+ /**
102
+ * this is the only thing that was used in the old 'render state',
103
+ * so we dropped the container.
104
+ */
105
+ private render_tiles;
106
+ /**
107
+ * the main selection for interacting with the spreadsheet
108
+ */
109
+ protected readonly primary_selection: GridSelection;
110
+ /** reusing type. FIXME? we don't need a target */
111
+ protected readonly spill_selection: GridSelection;
112
+ /**
113
+ * active selection when selecting arguments (while editing)
114
+ */
115
+ protected readonly active_selection: GridSelection;
116
+ /**
117
+ * this flag is for testing if we were previously in the nub
118
+ */
119
+ private nub_select_flag;
120
+ /**
121
+ * additional selections that are rendered but not otherwise used.
122
+ * this array is now readonly, so we can bind it to the selection
123
+ * renderer (we do this with the primary selection as well)
124
+ */
125
+ private readonly additional_selections;
126
+ /**
127
+ * state data for handling double-clicks. because we're using
128
+ * mousedown, we need to synthesize double-clicks with a timeout.
129
+ */
130
+ private double_click_data;
131
+ /**
132
+ * window timer/request animation frame token. this is used to prevent
133
+ * excess repaints on scroll. FIXME: can this merge with the delayed
134
+ * render token? I think originally it was separate because that other
135
+ * method was too slow for scrolling... maybe...
136
+ */
137
+ private layout_token;
138
+ /** window timer/request animation frame token */
139
+ private render_token;
140
+ /** */
141
+ private tile_renderer?;
142
+ /** */
143
+ private selection_renderer?;
144
+ private tab_bar?;
145
+ private DOM;
146
+ /**
147
+ * FIXME: NO PARAMETER INITIALIZATIONS
148
+ */
149
+ constructor(options: GridOptions | undefined, model: DataModel, theme: Theme | undefined, initialze_dom: boolean | undefined, DOM: DOMContext);
150
+ /**
151
+ * internal composite for cut/copy. mostly identical except we
152
+ * read data as A1 for cut, so it will retain references. also
153
+ * cut clears the data.
154
+ *
155
+ * FIXME: merge with grid cut/copy/paste routines. we already
156
+ * handle recycling and relative addressing, the only thing missing
157
+ * is alternate formats.
158
+ */
159
+ CopyArea(resolved: Area, semantics?: 'cut' | 'copy'): ClipboardData;
160
+ /**
161
+ * paste clipboard data into a target range. this method does not use
162
+ * the system clipboard; pass in clipboard data returned from the Cut or
163
+ * Copy method.
164
+ *
165
+ * @param target - the target to paste data into. this can be larger
166
+ * than the clipboard data, in which case values will be recycled in
167
+ * blocks. if the target is smaller than the source data, we will expand
168
+ * it to fit the data.
169
+ *
170
+ * @param data - clipboard data to paste.
171
+ *
172
+ * @privateRemarks LLM API
173
+ *
174
+ * @privateRemarks this was async when we were thinking of using the
175
+ * system clipboard, but that's pretty broken so we're not going to
176
+ * bother atm.
177
+ */
178
+ PasteArea(resolved: Area, data: ClipboardData, options?: PasteOptions): void;
179
+ /**
180
+ * re-select the current selection, for side effects. used when switching
181
+ * languages to update the function view (if any)
182
+ */
183
+ Reselect(): void;
184
+ /**
185
+ * set note at the given address, or current selection
186
+ * @param address optional address; if not used, note will be set/cleared
187
+ * at current selection
188
+ * @param note new note, or undefined to clear note
189
+ */
190
+ SetNote(address?: ICellAddress, note?: string): void;
191
+ /** find an annotation, given a node */
192
+ FindAnnotation(node: HTMLElement): Annotation | undefined;
193
+ CreateAnnotation(properties?: Partial<AnnotationData>, sheet?: Sheet, add_to_sheet?: boolean, offset?: boolean, target?: IArea | IRectangle, focus?: boolean): void;
194
+ /**
195
+ * create an annotation, with properties, without an original object.
196
+ * optionally (and by default) add to sheet.
197
+ *
198
+ * @param offset check for a matching position (top-left) and if found,
199
+ * shift by (X) pixels. intended for copy-paste, where we don't want to
200
+ * paste immediately on top of the original.
201
+ *
202
+ * @param target new parameter allows setting annotation as rect or as
203
+ * cell range
204
+ */
205
+ protected CreateAnnotationInternal(command: CreateAnnotationCommand): void;
206
+ /** placeholder */
207
+ UpdateAnnotationLayout(): void;
208
+ /** add an annotation. it will be returned with a usable node. */
209
+ AddAnnotation(annotation: Annotation, toll_events?: boolean, add_to_layout?: boolean): void;
210
+ /**
211
+ * call this method if an annotation is updated externally -- we're not
212
+ * watching for mutation, so if they change and we need to update, we
213
+ * won't know about it unless you tell us. sometimes this will be
214
+ * superfluous but (assuming it's one at a time) should not be too expensive
215
+ */
216
+ AnnotationUpdated(annotation: Annotation): void;
217
+ /**
218
+ * removes an annotation from the list, and removes the node its
219
+ * the parent (although the node still exists in the annotation, if
220
+ * it existed before).
221
+ */
222
+ RemoveAnnotation(annotation: Annotation, sheet?: Sheet): void;
223
+ protected RemoveAnnotationInternal(command: RemoveAnnotationCommand): void;
224
+ /**
225
+ * this method removes annotation nodes from the grid/layout, but doesn't
226
+ * affect the underlying data. this should be used to remove annotations
227
+ * when switching sheets.
228
+ *
229
+ * you can also use it when cleaning up, if the underlying data will also
230
+ * be wiped from the model.
231
+ */
232
+ RemoveAnnotationNodes(): void;
233
+ /**
234
+ * show or hide headers
235
+ *
236
+ * FIXME: this shouldn't be sent if the current value === the desired value
237
+ *
238
+ * FIXME: this is a display option. I'm not sure it should go through the
239
+ * command queue, because it's a local choice. leaving for now, but FIXME
240
+ */
241
+ ShowHeaders(show?: boolean): void;
242
+ /**
243
+ * this method is called after an XLSX import.
244
+ *
245
+ * FIXME: should this not be in base? (...)
246
+ *
247
+ * I suppose it's specific to an environment that _could_ import XLSX,
248
+ * so it's not strictly speaking generic.
249
+ */
250
+ FromImportData(import_data: {
251
+ sheets: ImportedSheetData[];
252
+ named?: SerializedNamed[];
253
+ active_tab?: number;
254
+ }, render?: boolean): void;
255
+ /**
256
+ * This function is called via Shift+PageUp/PageDown. We need
257
+ * to update to account for hidden sheets, which can't be activated.
258
+ */
259
+ NextSheet(step?: number, user?: boolean): void;
260
+ /**
261
+ * UpdateSheets means "set these as the sheets, drop any old stuff".
262
+ * there's an implicit reset (in fact we may do that twice in some
263
+ * cases).
264
+ *
265
+ */
266
+ UpdateSheets(data: LegacySerializedSheet[], render?: boolean, activate_sheet?: number | string): void;
267
+ /**
268
+ * rebuild layout on a resize. we are not trapping resize events, clients
269
+ * should do that (also this works for embedded elements that are not
270
+ * directly affected by document resize).
271
+ */
272
+ UpdateLayout(): void;
273
+ /**
274
+ * we need this method for split views
275
+ */
276
+ UpdateTabBar(): void;
277
+ /**
278
+ * @param initial first call, from the grid Initialize() method
279
+ */
280
+ UpdateTheme(initial?: boolean, additional_properties?: Partial<Theme>): void;
281
+ /** set scale directly */
282
+ SetScale(scale: number): void;
283
+ /**
284
+ * @param container html container element
285
+ */
286
+ Initialize(view_node: HTMLElement, toll_initial_render?: boolean): void;
287
+ /**
288
+ * merge target area or selection
289
+ */
290
+ MergeCells(area?: Area): void;
291
+ /**
292
+ * unmerge cells
293
+ */
294
+ UnmergeCells(area?: Area): void;
295
+ /**
296
+ *
297
+ */
298
+ GetAnnotationStyle(): CellStyle | undefined;
299
+ /**
300
+ *
301
+ */
302
+ ApplyAnnotationStyle(style?: CellStyle, delta?: boolean): void;
303
+ /**
304
+ *
305
+ */
306
+ AnnotationSelected(): boolean;
307
+ /**
308
+ * focus on the container. not sure what that text parameter was,
309
+ * legacy? TODO: remove
310
+ */
311
+ Focus(text?: string, click?: boolean): void;
312
+ /**
313
+ * set "data validation", which (atm) only supports a list of options
314
+ * and will render as a dropdown; the list can be a list of values or
315
+ * a range reference.
316
+ */
317
+ SetValidation(target?: IArea, data?: CellValue[] | IArea, error?: boolean): void;
318
+ /**
319
+ * set or clear name. optionally overwrite existing name. note that
320
+ * you cannot overwrite function names, only existing named ranges/expressions.
321
+ *
322
+ * set name to refer to a range (named range) or expression/value (named
323
+ * expression). range has priority if you set both (FIXME: make that impossible)
324
+ *
325
+ * note that expression here must be a valid expression in SL. if you want
326
+ * to set a literal string, enclose it in double quotes (as you would when
327
+ * using a string as an argument to a function).
328
+ */
329
+ SetName(name: string, range?: ICellAddress | Area, expression?: string, scope?: number, overwrite?: boolean): void;
330
+ SelectAll(): void;
331
+ /**
332
+ * set or remove external editor. this is not an accessor because I don't
333
+ * want to have to use a duplicate internal field, it's clumsy and this
334
+ * class isn't public-facing so it's not super important.
335
+ */
336
+ ExternalEditor(config: Partial<ExternalEditorConfig> | undefined): void;
337
+ /** API method */
338
+ SelectRange(range?: Area): void;
339
+ /**
340
+ * I can't figure out a way in typescript to overload the GetRange function
341
+ * but call it with a variable to determine the overload (the aim is to have
342
+ * different return types).
343
+ *
344
+ * it seems to work fine if we use static values for the parameter (type,
345
+ * below) but not a variable which is (theoretically) type-restricted to the
346
+ * same values. One to work on, maybe.
347
+ *
348
+ * @param range
349
+ * @returns
350
+ */
351
+ GetRangeStyle(range: ICellAddress | IArea, apply_theme?: boolean): CellStyle | CellStyle[][] | undefined;
352
+ /**
353
+ * render the given data as R1C1. the source address is a base for
354
+ * rendering relative addresses (is there a case for this method
355
+ * handling absolute offsets as well? ...)
356
+ *
357
+ * NOTE: this method modifies the input data (at least it does if
358
+ * it's an array). so this method should only be called with scratchpad
359
+ * data.
360
+ *
361
+ */
362
+ FormatR1C1(data: CellValue | CellValue[][], source: ICellAddress | IArea): CellValue[][];
363
+ /**
364
+ * get data in a given range, optionally formulas
365
+ * API method
366
+ */
367
+ GetRange(range: ICellAddress | IArea, type?: 'formatted' | 'A1' | 'R1C1'): CellValue | CellValue[][] | undefined;
368
+ /**
369
+ * set data in given range
370
+ * API method
371
+ *
372
+ * not sure why we have support for ArrayBufferView in here. this is an API
373
+ * method, called by the embed sheet's API method, so there are no particular
374
+ * requirements. we should lock down the allowable types.
375
+ *
376
+ * @param range target range. if range is smaller than data, range controls.
377
+ * if range is larger, behavior depends on the recycle parameter.
378
+ * @param data single value, array (column), or 2d array
379
+ * @param recycle recycle values. we only recycle single values or single
380
+ * rows/columns -- we will not recycle a matrix.
381
+ * @param transpose transpose before inserting (data is column-major)
382
+ * @param r1c1 - support R1C1 notation. this does not mean the data _is_ in
383
+ * R1C1, just that we need to check for it and handle it. R1C1 is useful for
384
+ * relative offsets.
385
+ */
386
+ SetRange(range: Area, data: CellValue | CellValue[] | CellValue[][], options?: SetRangeOptions): void;
387
+ /**
388
+ * applies the given style properties to the passed array, or to the
389
+ * current primary selection
390
+ *
391
+ * API method
392
+ */
393
+ ApplyStyle(area?: Area, properties?: CellStyle, delta?: boolean): void;
394
+ /**
395
+ * returns the primary selection. we use a reference to the real selection
396
+ * sp callers can track; however, you can break things if you modify it.
397
+ * so don't modify it. FIXME: proxy view? (...)
398
+ *
399
+ * API method
400
+ */
401
+ GetSelection(): GridSelection;
402
+ /** repaint after an external event (calculation) */
403
+ Update(force?: boolean, area?: IArea | IArea[]): void;
404
+ /**
405
+ * update annotation layouts (not content)
406
+ */
407
+ UpdateAnnotations(): void;
408
+ Indent(area?: Area, delta?: number): void;
409
+ /** updated API method, probably change the name */
410
+ ApplyBorders2(area?: Area, borders?: BorderConstants, color?: Color, width?: number): void;
411
+ /**
412
+ * batch updates. returns all the events that _would_ have been sent.
413
+ * also does a paint (can disable).
414
+ *
415
+ * update for nesting/stacking. we won't return events until the last
416
+ * batch is complete. paint will similarly toll until the last batch
417
+ * is complete, and we'll carry forward any paint requirement from
418
+ * inner batch funcs.
419
+ *
420
+ * @param func
421
+ */
422
+ Batch(func: () => void, paint?: boolean): GridEvent[];
423
+ /**
424
+ * scrolls so that the given cell is in the top-left (assuming that is
425
+ * possible)
426
+ */
427
+ ScrollTo(address: ICellAddress, x?: boolean, y?: boolean, smooth?: boolean): void;
428
+ /**
429
+ * scrolls the given address into view (assuming it's not in view now)
430
+ *
431
+ * FIXME: we need a way to do this without scrolling the containing
432
+ * page, in the event we do a scroll-on-load. small problem.
433
+ */
434
+ ScrollIntoView(address: ICellAddress, smooth?: boolean): void;
435
+ GetScrollOffset(): {
436
+ x: number;
437
+ y: number;
438
+ };
439
+ /**
440
+ * get/set the raw scroll offset (ignoring headers). support for API method.
441
+ * @param offset
442
+ */
443
+ ScrollOffset(offset?: {
444
+ x: number;
445
+ y: number;
446
+ }): {
447
+ x: number;
448
+ y: number;
449
+ } | undefined;
450
+ protected RenameSheetInternal(target: Sheet, name: string): void;
451
+ private StyleDefaultFromTheme;
452
+ private AutoSizeRow;
453
+ private AutoSizeColumn;
454
+ /**
455
+ * we have to handle the case where we have a split view and the model
456
+ * changes in some way -- remove a sheet, for example -- that invalidates
457
+ * our active sheet. if that happens, we need to switch to a different
458
+ * sheet.
459
+ *
460
+ * we don't get events about this (should we?) so someone will have to
461
+ * call it. FIXME: we should get events about that.
462
+ */
463
+ EnsureActiveSheet(force?: boolean): void;
464
+ /**
465
+ * this is intended to synchronize views when annotations are added/removed.
466
+ * there should be no need to call it if there's only one view.
467
+ */
468
+ RefreshAnnotations(): void;
469
+ /**
470
+ * specialization for grid. note that we don't call superclass,
471
+ * so we need to do everything that method does as well.
472
+ */
473
+ protected ActivateSheetInternal(command: ActivateSheetCommand): void;
474
+ /**
475
+ * handle any tasks the sheet needs to do on activation
476
+ */
477
+ private ActivateSheetTasks;
478
+ /**
479
+ * why is this not in layout? (...)
480
+ * how is this layout? it's an effect. make an effects class.
481
+ */
482
+ private HighlightFreezeArea;
483
+ /**
484
+ * layout has changed, and needs update. we clear the rectangle cache
485
+ * immediately, to prevent any garbage, but we don't actually do the layout
486
+ * until the next paint.
487
+ *
488
+ * FIXME: that makes no sense -- because rectangles will be calculated
489
+ * incorrectly until the layout has been updated.
490
+ */
491
+ private QueueLayoutUpdate;
492
+ private HandleAddressLabelEvent;
493
+ private InitFormulaBar;
494
+ private InitOverlayEditor;
495
+ private DelayedRender;
496
+ protected Repaint(force?: boolean, full_tile?: boolean, force_headers?: boolean): void;
497
+ private MouseMove_RowHeader;
498
+ private MouseMove_ColumnHeader;
499
+ /**
500
+ * handler for mousedown events on the row (left) header.
501
+ * handles selection and resizing.
502
+ *
503
+ * FIXME: argument selection
504
+ */
505
+ private MouseDown_RowHeader;
506
+ /**
507
+ * handler for mousedown events on the column (top) header.
508
+ * handles selection and resizing.
509
+ *
510
+ * FIXME: argument selection
511
+ */
512
+ private MouseDown_ColumnHeader;
513
+ private HoverCell;
514
+ protected HideHoverInfo(): void;
515
+ /**
516
+ * grid move handler for hit-testing various areas
517
+ */
518
+ private MouseMove_Grid;
519
+ /**
520
+ * special case: we don't want the previous click to be treated
521
+ * as part of a double-click.
522
+ */
523
+ private ClearDoubleClick;
524
+ /**
525
+ * unifying double-click. pass the test address. returns true if this looks
526
+ * like a double-click on that address. otherwise sets flags to capture the
527
+ * next one.
528
+ *
529
+ * FIXME: parameterize timeout?
530
+ */
531
+ private IsDoubleClick;
532
+ private PointInTextPart;
533
+ /**
534
+ * handles mouse down events on the grid area:
535
+ * selection (click-drag) and editing (double-click)
536
+ */
537
+ private MouseDown_Grid;
538
+ /**
539
+ * FIXME: -> util library
540
+ * @param arr
541
+ */
542
+ private Transpose;
543
+ /**
544
+ * when you drag from the nub, we copy the contents of the original
545
+ * selection into the new selection, but there are some special recycling
546
+ * rules.
547
+ *
548
+ * FIXME: expand tables
549
+ */
550
+ private RecycleNubArea;
551
+ protected CreateTypedReferences(start: ICellAddress, end?: ICellAddress): string[];
552
+ private UpdateSelectedArgument;
553
+ /**
554
+ * unified method to check if we are selecting an argument in the formula
555
+ * bar editor or the in-cell editor
556
+ *
557
+ * FIXME: why is this not an accessor?
558
+ */
559
+ protected SelectingArgument(): boolean;
560
+ /**
561
+ * for external clients. the expected pattern is
562
+ * - start overlay editor
563
+ * - click on "insert function"
564
+ * - do something
565
+ * - release editor (this function)
566
+ */
567
+ ReleaseOverlayEditor(): void;
568
+ RestoreOverlayEditor(): void;
569
+ /**
570
+ * consolidated event handler for overlay, which both handles grid keys
571
+ * and acts as the ICE, depending on state. going to be a little tricky
572
+ * to keep track of code paths.
573
+ *
574
+ * old comment:
575
+ *
576
+ * event handler for keyboard events. some we handle directly (directional
577
+ * navigation), some we ignore (most control-key combinations), and if you
578
+ * type text we start the in-cell editor and pass on the event.
579
+ *
580
+ * which is largely still true, except that we can handle the ICE more
581
+ * directly.
582
+ *
583
+ */
584
+ private OverlayKeyDown;
585
+ /**
586
+ * select the array containing the current cell, if any. if there's no
587
+ * array, do nothing. updated to support selecting tables as well as arrays.
588
+ */
589
+ protected SelectArrayOrTable(target_selection: GridSelection): void;
590
+ /**
591
+ * render selections. we are wrapping this up in a method so we can
592
+ * hide the primary selection in some cases (one case).
593
+ */
594
+ protected RenderSelections(rerender?: boolean): void;
595
+ /**
596
+ * select a block. returns true if we've handled it; returns false
597
+ * if we want to revert to the standard behavior.
598
+ *
599
+ * (block selection refers to selecting more than one cell at once,
600
+ * using ctrl+arrow. selection jumps across all populated cells in
601
+ * a given direction for a given row/column).
602
+ */
603
+ protected BlockSelection(selection: GridSelection, expand_selection: boolean, columns: number, rows: number, render?: boolean): boolean;
604
+ /**
605
+ * deletes (clears) the selected area.
606
+ *
607
+ * FIXME: should probably be an API method, or have a second method that
608
+ * clears the primary selection
609
+ */
610
+ private DeleteSelection;
611
+ /**
612
+ * sets cell value, inferring type and (possibly) inferring cell style
613
+ * (numbers only), so that 10% and $1,000 retain styles. this should only
614
+ * be used for direct editing -- copy and paste can copy and paste styles.
615
+ *
616
+ * @param address cell address
617
+ *
618
+ * @param value value entered, usually this will be a string (we will try
619
+ * to parse numbers/booleans)
620
+ *
621
+ * in what case would these not be strings? (...) not sure that's a thing.
622
+ *
623
+ *
624
+ * @param exec execute commands immediately; alternatively, return the list
625
+ * of commands. the former is the default for editor commits; the latter
626
+ * is used for paste.
627
+ */
628
+ protected SetInferredType(selection: GridSelection, value: string | undefined, array?: boolean, exec?: boolean, apply_style?: CellStyle): Command[] | undefined;
629
+ /**
630
+ * tries to correct some basic formula errors, opening with a space,
631
+ * not closing all parens, (...)
632
+ */
633
+ private FixFormula;
634
+ /**
635
+ * normalize addresses (UC), function names (-> canonical) and
636
+ * defined names (UC, for now)
637
+ */
638
+ private NormalizeFormula;
639
+ /**
640
+ * dismisses the in-cell editor and returns to normal behavior.
641
+ * removes any highlighted selections (arguments).
642
+ */
643
+ private DismissEditor;
644
+ /**
645
+ * this prepares the cell value for _editing_ -- it's not the displayed
646
+ * value, it's how we want the value to be displayed in the editor and
647
+ * formula bar.
648
+ *
649
+ * NOTE: is this the spot to do translation -> local language? (...)
650
+ *
651
+ */
652
+ private NormalizeCellValue;
653
+ /**
654
+ * this is used to handle a trailing % sign when entering a new value.
655
+ * we need to decide if the user is typing a number, in which case we
656
+ * retain the %; or something else, like a formula or a string, in which
657
+ * case we want to drop the %.
658
+ *
659
+ * FIXME: move to utils lib
660
+ */
661
+ private IsNumeric;
662
+ /**
663
+ * start the ICE, using the new overlay editor
664
+ *
665
+ * old comment:
666
+ *
667
+ * starts the in-cell editor at the given sheet address. this method doesn't
668
+ * handle scroll-into-view, do that first if necessary.
669
+ *
670
+ * @param address the cell address. we'll check for merge head before editing.
671
+ * @param flush flush contents before editing -- default for typing, !default
672
+ * for double-click
673
+ * @param event if this is triggered by typing, we want to pass the key
674
+ * event directly to the editor (actually we'll pass a synthetic copy)
675
+ *
676
+ * @param selection
677
+ * @param flush
678
+ * @param event
679
+ */
680
+ private OverlayEditCell;
681
+ private BoundAddressArea;
682
+ /**
683
+ * step from row X to row (X+Y). Y can be negative. we add this method to
684
+ * support stepping across hidden (0-height) rows, so if you down arrow
685
+ * it doesn't get stuck inside the hidden row (bad UX).
686
+ *
687
+ * UPDATE: no longer clamping. various methods rely on tests for < 0, so
688
+ * we can't change that behavior. [FIXME: return an underflow flag?]. just
689
+ * treat negative rows as not hidden, return the result.
690
+ */
691
+ private StepVisibleRows;
692
+ /**
693
+ * step columns.
694
+ * @see StepVisibleRows
695
+ */
696
+ private StepVisibleColumns;
697
+ /**
698
+ * if the address is outside of current extent, expand
699
+ */
700
+ protected EnsureAddress(address: ICellAddress, step?: number, toll_layout?: boolean): boolean;
701
+ /**
702
+ * advances selection by x rows and columns. you can also step around
703
+ * within a selection, generally by using enter and tab when there is
704
+ * a multi-cell selection.
705
+ *
706
+ * not sure why this function renders by default, but we don't want that
707
+ * in the case of closing the ICE. since normal operation may rely on this
708
+ * behavior, at least for now, we'll make a parameter to disable. but it
709
+ * should probably not render.
710
+ */
711
+ protected AdvanceSelection(delta: Extent, selection: GridSelection, within_selection?: boolean, expand_selection?: boolean, render?: boolean): void;
712
+ /** highlight formula dependencies */
713
+ private HighlightDependencies;
714
+ /** remove all additonla (argument) selections */
715
+ private ClearAdditionalSelections;
716
+ /**
717
+ * utility method, internally calls Select with an undefined area
718
+ */
719
+ protected ClearSelection(selection: GridSelection, reason?: GridSelectionEvent['reason']): void;
720
+ private HideGridSelection;
721
+ private ShowGridSelection;
722
+ /**
723
+ * updates a selection, and handles marking headers as dirty
724
+ * for subsequent renders (including any old selection).
725
+ *
726
+ * if the selection contains part of a merge area, it will be expanded
727
+ * to include the full merge area (because you can't select part of a merge).
728
+ *
729
+ * @param area selection area
730
+ * @param target optional selection target. if no target is passed and
731
+ * the preseve_target field is not set, target will be set to the first
732
+ * cell of the selection area
733
+ * @param preserve_target preserve existing selection target
734
+ */
735
+ protected Select(selection: GridSelection, area?: Area, target?: ICellAddress, preserve_target?: boolean, reason?: GridSelectionEvent['reason']): void;
736
+ /**
737
+ *
738
+ */
739
+ protected UpdateFormulaBarFormula(override?: string): void;
740
+ /**
741
+ * splitting the stats update call and the rendering method,
742
+ * if we want to make a pluggable stats method.
743
+ *
744
+ * default will show count/sum/average of numbers, either real
745
+ * or complex.
746
+ */
747
+ protected RenderStats(values: CellValue | CellValue[][]): StatsEntry[];
748
+ UpdateStats(): void;
749
+ protected UpdateAddressLabelArea(selection: GridSelection): void;
750
+ protected UpdateAddressLabel(selection?: GridSelection, text?: string): void;
751
+ private OnDropdownSelect;
752
+ private OnScroll;
753
+ private AttachListeners;
754
+ private HandleCopy;
755
+ private HandleCut;
756
+ private RecyclePasteAreas;
757
+ private HandlePaste;
758
+ /**
759
+ * utility method returns all selections (primary, active and any additional
760
+ * selections) as an array. defaults to non-empty selections only, but
761
+ * can optionally returns empty non-null selections.
762
+ */
763
+ private AllSelections;
764
+ /**
765
+ * UI method for inserting rows; updates layout
766
+ */
767
+ protected InsertRowsInternal(command: InsertRowsCommand): {
768
+ error?: boolean;
769
+ update_annotations_list?: Annotation[];
770
+ resize_annotations_list?: Annotation[];
771
+ delete_annotations_list?: Annotation[];
772
+ };
773
+ /**
774
+ * UI method for inserting columns; updates layout
775
+ */
776
+ protected InsertColumnsInternal(command: InsertColumnsCommand): {
777
+ error?: boolean;
778
+ update_annotations_list?: Annotation[];
779
+ resize_annotations_list?: Annotation[];
780
+ delete_annotations_list?: Annotation[];
781
+ };
782
+ /**
783
+ * specialization
784
+ */
785
+ protected ResetInternal(): void;
786
+ /**
787
+ * overload: see ResizeRowsInternal
788
+ */
789
+ protected ResizeColumnsInternal(command: ResizeColumnsCommand): void;
790
+ /**
791
+ * UI grid supports scale and auto-size, so we're overloading.
792
+ * @param command
793
+ */
794
+ protected ResizeRowsInternal(command: ResizeRowsCommand): IArea | undefined;
795
+ /**
796
+ * specialization
797
+ */
798
+ protected SelectInternal(command: SelectCommand): void;
799
+ /**
800
+ * specialization. all the base class method does is set the sheet
801
+ * fields, so we don't need to call it, we can do that.
802
+ *
803
+ */
804
+ protected FreezeInternal(command: FreezeCommand): void;
805
+ ExecCommand(commands: Command | Command[], queue?: boolean): import("./update_flags").UpdateFlags;
806
+ }