@trebco/treb 37.0.0 → 37.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (529) 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-A2NJA5VB.mjs} +1 -1
  526. package/dist/treb-export-worker.mjs +2 -2
  527. package/dist/treb-spreadsheet.mjs +4 -4
  528. package/dist/treb.d.ts +1 -1
  529. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"grid_base.js","sourceRoot":"","sources":["../../../../treb-grid/src/types/grid_base.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,408 @@
1
+ import type { ICellAddress, IArea, CellStyle, Color, CellValue, Table, TableSortType, TableTheme, IRectangle } from 'treb-base-types';
2
+ import type { ExpressionUnit } from 'treb-parser';
3
+ import type { BorderConstants } from './border_constants';
4
+ import type { Annotation, AnnotationData, ConditionalFormat, Sheet } from 'treb-data-model';
5
+ /**
6
+ * switching to an exec-command based model, so we can serialize
7
+ * data, layout and style changes; the intent is to support recording,
8
+ * replaying, and transmitting modifications.
9
+ *
10
+ * NOTE regarding commands: let's make them as explicit as possible
11
+ * (meaning fewer optional parameters). force callers to populate fields.
12
+ *
13
+ */
14
+ /**
15
+ * commands are symbolic for (hopefully) faster switching. we use a
16
+ * discriminated union for build-time parameter checks. see individual
17
+ * command interfaces for comments.
18
+ */
19
+ export declare enum CommandKey {
20
+ /** use an empty value so all commands are non-zero */
21
+ Null = 0,
22
+ InsertRows = 1,
23
+ InsertColumns = 2,
24
+ ResizeRows = 3,
25
+ ResizeColumns = 4,
26
+ Select = 5,
27
+ SetRange = 6,
28
+ UpdateStyle = 7,
29
+ UpdateBorders = 8,
30
+ Indent = 9,
31
+ MergeCells = 10,
32
+ UnmergeCells = 11,
33
+ Clear = 12,
34
+ UpdateTheme = 13,
35
+ SetNote = 14,
36
+ SetLink = 15,
37
+ Freeze = 16,
38
+ SetName = 17,
39
+ ShowHeaders = 18,
40
+ AddSheet = 19,
41
+ DuplicateSheet = 20,
42
+ DeleteSheet = 21,
43
+ ActivateSheet = 22,
44
+ RenameSheet = 23,
45
+ ReorderSheet = 24,
46
+ ShowSheet = 25,
47
+ DataValidation = 26,
48
+ Reset = 27,
49
+ SortTable = 28,
50
+ InsertTable = 29,
51
+ RemoveTable = 30,
52
+ AddConditionalFormat = 31,
53
+ RemoveConditionalFormat = 32,
54
+ TabColor = 33,
55
+ CreateAnnotation = 34,
56
+ RemoveAnnotation = 35
57
+ }
58
+ export interface RemoveAnnotationCommand {
59
+ key: CommandKey.RemoveAnnotation;
60
+ sheet: Sheet;
61
+ annotation: Annotation;
62
+ }
63
+ export interface CreateAnnotationCommand {
64
+ key: CommandKey.CreateAnnotation;
65
+ sheet: Sheet;
66
+ properties: Partial<AnnotationData>;
67
+ add_to_sheet?: boolean;
68
+ offset?: boolean;
69
+ target?: IArea | IRectangle;
70
+ focus?: boolean;
71
+ }
72
+ /** base type for sheet commands -- can select sheet by name, id or index */
73
+ export interface SheetSelection {
74
+ index?: number;
75
+ name?: string;
76
+ id?: number;
77
+ }
78
+ /**
79
+ * show or hide sheet.
80
+ */
81
+ export interface ShowSheetCommand extends SheetSelection {
82
+ key: CommandKey.ShowSheet;
83
+ show: boolean;
84
+ }
85
+ /**
86
+ * insert a table at the given location
87
+ */
88
+ export interface InsertTableCommand {
89
+ key: CommandKey.InsertTable;
90
+ area: IArea;
91
+ /** optionally include a totals row */
92
+ totals?: boolean;
93
+ /**
94
+ * sortable. defaults to true. you can optionally
95
+ * disable sorting, if you want.
96
+ */
97
+ sortable?: boolean;
98
+ /**
99
+ * optional theme
100
+ */
101
+ theme?: TableTheme;
102
+ }
103
+ /**
104
+ * remove the table
105
+ */
106
+ export interface RemoveTableCommand {
107
+ key: CommandKey.RemoveTable;
108
+ table: Table;
109
+ }
110
+ /**
111
+ * sort a table. sorts are hard, meaning we actually move data around.
112
+ * use copy/paste semantics for handling relative references (seems strange
113
+ * to me, but hey).
114
+ */
115
+ export interface SortTableCommand {
116
+ key: CommandKey.SortTable;
117
+ table: Table;
118
+ column: number;
119
+ asc: boolean;
120
+ type: TableSortType;
121
+ }
122
+ /**
123
+ * resize row(s). undefined means "all rows". undefined height
124
+ * means "auto size".
125
+ *
126
+ * UPDATE: shrink is a flag you can set to prevent shrinking rows
127
+ * when (and only when) auto-sizing, i.e. height is undefined
128
+ */
129
+ export interface ResizeRowsCommand {
130
+ key: CommandKey.ResizeRows;
131
+ row?: number | number[];
132
+ height?: number;
133
+ shrink?: boolean;
134
+ sheet_id?: number;
135
+ }
136
+ /**
137
+ * resize columns(s). undefined means "all columns". undefined
138
+ * width means "auto size".
139
+ */
140
+ export interface ResizeColumnsCommand {
141
+ key: CommandKey.ResizeColumns;
142
+ column?: number | number[];
143
+ width?: number;
144
+ /**
145
+ * for auto-resized columns, allow shrinking. defaults to true for
146
+ * back-compat, so you must explicitly set it to false to disable shrinking.
147
+ */
148
+ allow_shrinking?: boolean;
149
+ sheet_id?: number;
150
+ }
151
+ /** insert one or more rows at the given insert point */
152
+ export interface InsertRowsCommand {
153
+ key: CommandKey.InsertRows;
154
+ before_row: number;
155
+ count: number;
156
+ sheet_id?: number;
157
+ }
158
+ /** insert one or more columns at the given insert point */
159
+ export interface InsertColumnsCommand {
160
+ key: CommandKey.InsertColumns;
161
+ before_column: number;
162
+ count: number;
163
+ sheet_id?: number;
164
+ }
165
+ /** show or hide headers */
166
+ export interface ShowHeadersCommand {
167
+ key: CommandKey.ShowHeaders;
168
+ show: boolean;
169
+ }
170
+ /**
171
+ * set or clear name (omit range to clear)
172
+ *
173
+ * adding support for named expressions. you can pass either a range or
174
+ * an expression.
175
+ *
176
+ * if you use the same name more than once, it will overwrite the old name,
177
+ * even if you change types range/expression.
178
+ *
179
+ * passing neither will cause it to erase any existing named range OR named
180
+ * expression.
181
+ *
182
+ */
183
+ export interface SetNameCommand {
184
+ key: CommandKey.SetName;
185
+ name: string;
186
+ area?: IArea;
187
+ expression?: ExpressionUnit;
188
+ scope?: number;
189
+ }
190
+ export interface DataValidationCommand {
191
+ key: CommandKey.DataValidation;
192
+ area: IArea;
193
+ range?: IArea;
194
+ list?: CellValue[];
195
+ error?: boolean;
196
+ }
197
+ /**
198
+ * not sure if we should be serializing selections...
199
+ * we need some indication of primary/alternative
200
+ */
201
+ export interface SelectCommand {
202
+ key: CommandKey.Select;
203
+ /** missing area implies clear selection (-> no selection) */
204
+ area?: IArea;
205
+ /** missing target will set target as first cell of area */
206
+ target?: ICellAddress;
207
+ }
208
+ /** set data in cell or area */
209
+ export interface SetRangeCommand {
210
+ key: CommandKey.SetRange;
211
+ area: IArea | ICellAddress;
212
+ /** set as array (usually control-enter) */
213
+ array?: boolean;
214
+ /**
215
+ * support R1C1 notation, which can come from API only (atm). this
216
+ * flag does not mean the notation _is_ R1C1, just that we need to
217
+ * check for it and handle it if found.
218
+ */
219
+ r1c1?: boolean;
220
+ /** missing data implies clear cell(s) */
221
+ value?: CellValue | CellValue[][];
222
+ }
223
+ /** update borders for the given area. this is different than updating
224
+ * style, because borders have slightly different semantics -- when applied
225
+ * to an area, for example, "outside border" means the outside of the total
226
+ * area, not the outside of each cell.
227
+ */
228
+ export interface UpdateBordersCommand {
229
+ key: CommandKey.UpdateBorders;
230
+ area: IArea;
231
+ borders: BorderConstants;
232
+ color?: Color;
233
+ /** defaults to one. optional for the case of "none" (remove borders) */
234
+ width?: number;
235
+ }
236
+ export interface IndentCommand {
237
+ key: CommandKey.Indent;
238
+ area: IArea;
239
+ delta: number;
240
+ }
241
+ /** update style in area. area can be cell(s), sheet, row(s), column(s) */
242
+ export interface UpdateStyleCommand {
243
+ key: CommandKey.UpdateStyle;
244
+ area: IArea | ICellAddress;
245
+ style: CellStyle;
246
+ delta?: boolean;
247
+ }
248
+ /** merge the given cells */
249
+ export interface MergeCellsCommand {
250
+ key: CommandKey.MergeCells;
251
+ area: IArea;
252
+ }
253
+ /**
254
+ * unmerge the given cells. if the passed area doesn't exactly match a
255
+ * merge area, we will look for merge areas inside the larger area and
256
+ * unmerge those (generally useful when working with selections).
257
+ */
258
+ export interface UnmergeCellsCommand {
259
+ key: CommandKey.UnmergeCells;
260
+ area: IArea;
261
+ }
262
+ /** set or clear note at given address. */
263
+ export interface SetNoteCommand {
264
+ key: CommandKey.SetNote;
265
+ area: ICellAddress;
266
+ note?: string;
267
+ }
268
+ export interface SetLinkCommand {
269
+ key: CommandKey.SetLink;
270
+ area: ICellAddress;
271
+ reference?: string;
272
+ }
273
+ /**
274
+ * clear an area, or the entire sheet.
275
+ *
276
+ * because this command can omit area (meaning entire sheet), to
277
+ * support remotes we need to add a separate parameter for sheet id.
278
+ *
279
+ * we could use infinite area as an indication it's a reset, but that's
280
+ * not really the same thing -- that would be more like select all / clear.
281
+ *
282
+ * not sure why clear doubled as reset, except that it probably dated
283
+ * from before we had multiple sheets. we're now splitting so there's an
284
+ * explicit reset event.
285
+ *
286
+ * now that we have a separate reset, clear requires an area.
287
+ *
288
+ */
289
+ export interface ClearCommand {
290
+ key: CommandKey.Clear;
291
+ area: IArea;
292
+ }
293
+ /**
294
+ * reset everything.
295
+ */
296
+ export interface ResetCommand {
297
+ key: CommandKey.Reset;
298
+ }
299
+ /**
300
+ * set freeze area. set rows and columns to 0 to unfreeze.
301
+ * highlight defaults to TRUE.
302
+ */
303
+ export interface FreezeCommand {
304
+ key: CommandKey.Freeze;
305
+ rows: number;
306
+ columns: number;
307
+ highlight_transition?: boolean;
308
+ sheet_id?: number;
309
+ }
310
+ /**
311
+ * FIXME: should this command include theme properties, or can we
312
+ * base it on the local theme? (...) probably the former, otherwise
313
+ * you lose synchronization
314
+ * /
315
+ export interface UpdateThemeCommand {
316
+ key: CommandKey.UpdateTheme;
317
+ }
318
+ */
319
+ export interface NullCommand {
320
+ key: CommandKey.Null;
321
+ }
322
+ export interface AddSheetCommand {
323
+ key: CommandKey.AddSheet;
324
+ insert_index?: number;
325
+ name?: string;
326
+ /** switch to the sheet immediately */
327
+ show?: boolean;
328
+ }
329
+ export interface DuplicateSheetCommand extends SheetSelection {
330
+ key: CommandKey.DuplicateSheet;
331
+ new_name?: string;
332
+ insert_before?: string | number;
333
+ }
334
+ export interface DeleteSheetCommand extends SheetSelection {
335
+ key: CommandKey.DeleteSheet;
336
+ }
337
+ /**
338
+ * activate a sheet. there are a couple of options for selecting
339
+ * the sheet, defaulting to index (which defaults to 0) so if you
340
+ * pass no selector it will select index 0.
341
+ */
342
+ export interface ActivateSheetCommand extends SheetSelection {
343
+ key: CommandKey.ActivateSheet;
344
+ /** ... */
345
+ tab_bar_event?: boolean;
346
+ force?: boolean;
347
+ /** user action; use smooth scrolling */
348
+ user?: boolean;
349
+ }
350
+ /**
351
+ * rename a sheet. options are like ActivateSheetCommand, except we
352
+ * have to be a little careful about name old/new
353
+ */
354
+ export interface RenameSheetCommand extends SheetSelection {
355
+ key: CommandKey.RenameSheet;
356
+ new_name: string;
357
+ }
358
+ /**
359
+ * reorder sheet; move sheet (X) before (Y). if (Y) is larger than the
360
+ * list length, moves to end.
361
+ */
362
+ export interface ReorderSheetCommand {
363
+ key: CommandKey.ReorderSheet;
364
+ index: number;
365
+ move_before: number;
366
+ }
367
+ /**
368
+ * add conditional format
369
+ */
370
+ export interface AddConditionalFormatCommand {
371
+ key: CommandKey.AddConditionalFormat;
372
+ format: ConditionalFormat;
373
+ }
374
+ export interface TabColorCommand {
375
+ key: CommandKey.TabColor;
376
+ sheet: Sheet;
377
+ color?: Color;
378
+ }
379
+ /**
380
+ * remove conditional format, either as an object or from a target
381
+ * area. as an object, we'll match using object equivalence and not
382
+ * identity.
383
+ */
384
+ export interface RemoveConditionalFormatCommand {
385
+ key: CommandKey.RemoveConditionalFormat;
386
+ /** if format is omitted, we will remove all formats from the target range */
387
+ format?: ConditionalFormat;
388
+ /** one of area or format should be supplied */
389
+ area?: IArea;
390
+ }
391
+ /**
392
+ * ephemeral flag added to commands.
393
+ * /
394
+ export interface Ephemeral {
395
+ ephemeral?: boolean;
396
+ }
397
+ */
398
+ /**
399
+ * composite command type and ephemeral flag
400
+ */
401
+ export type Command = (NullCommand | ClearCommand | ResetCommand | SelectCommand | FreezeCommand | IndentCommand | SetNoteCommand | SetLinkCommand | SetNameCommand | AddSheetCommand | SetRangeCommand | TabColorCommand | SortTableCommand | ShowSheetCommand | MergeCellsCommand | ResizeRowsCommand | InsertRowsCommand | ShowHeadersCommand | DeleteSheetCommand | UpdateStyleCommand | InsertTableCommand | RemoveTableCommand | RenameSheetCommand | ReorderSheetCommand | UnmergeCellsCommand | ResizeColumnsCommand | InsertColumnsCommand | UpdateBordersCommand | ActivateSheetCommand | DataValidationCommand | DuplicateSheetCommand | CreateAnnotationCommand | RemoveAnnotationCommand | AddConditionalFormatCommand | RemoveConditionalFormatCommand);
402
+ /**
403
+ * record type for recording/logging commands
404
+ */
405
+ export interface CommandRecord {
406
+ command: Command[];
407
+ timestamp: number;
408
+ }