@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":"sheet.js","sourceRoot":"","sources":["../../../treb-data-model/src/sheet.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,58 @@
1
+ import type { Sheet } from './sheet';
2
+ /**
3
+ * we spend a lot of time looking up sheets by name, or id, or
4
+ * sometimes index. it makes sense to have a class that can
5
+ * support all of these, ideally without looping.
6
+ *
7
+ * we just have to make sure that no one is assigning to the
8
+ * array, or we'll lose track.
9
+ *
10
+ * also there are some operations -- rename, in particular -- that
11
+ * require updating indexes.
12
+ *
13
+ *
14
+ * FIXME: new file (1 class per file)
15
+ */
16
+ export declare class SheetCollection {
17
+ /**
18
+ * returns a read-only copy of the list. useful for indexing or
19
+ * functional-style calls. it's not actually read-only, but it's a
20
+ * copy, so changes will be ignored.
21
+ */
22
+ get list(): Sheet[];
23
+ /**
24
+ * length of list
25
+ */
26
+ get length(): number;
27
+ /** map of (normalized) name -> sheet */
28
+ protected names: Map<string, Sheet>;
29
+ /** map of id -> sheet */
30
+ protected ids: Map<number, Sheet>;
31
+ /** the actual list */
32
+ private sheets_;
33
+ /**
34
+ * remove any existing sheets and add the passed list. updates indexes.
35
+ */
36
+ Assign(sheets: Sheet[]): void;
37
+ /**
38
+ * add a new sheet to the end of the list (push). updates indexes.
39
+ */
40
+ Add(sheet: Sheet): void;
41
+ /**
42
+ * wrapper for array splice. updates indexes.
43
+ */
44
+ Splice(insert_index: number, delete_count: number, ...items: Sheet[]): void;
45
+ /**
46
+ * so our new strategy is to add lookup methods first -- then
47
+ * we can fix the underlying storage implementation.
48
+ *
49
+ * NOTE we normalize strings here so you do not need to do it (don't)
50
+ */
51
+ Find(id: string | number): Sheet | undefined;
52
+ /** get name for sheet with given id */
53
+ Name(id: number): string | undefined;
54
+ /** get ID for sheet with given name */
55
+ ID(name: string): number | undefined;
56
+ /** not sure why this is private, makes it a little more complicated */
57
+ UpdateIndexes(): void;
58
+ }
@@ -0,0 +1,112 @@
1
+ /*
2
+ * This file is part of TREB.
3
+ *
4
+ * TREB is free software: you can redistribute it and/or modify it under the
5
+ * terms of the GNU General Public License as published by the Free Software
6
+ * Foundation, either version 3 of the License, or (at your option) any
7
+ * later version.
8
+ *
9
+ * TREB is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
+ * details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
+ *
17
+ * Copyright 2022-2026 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+ /**
22
+ * we spend a lot of time looking up sheets by name, or id, or
23
+ * sometimes index. it makes sense to have a class that can
24
+ * support all of these, ideally without looping.
25
+ *
26
+ * we just have to make sure that no one is assigning to the
27
+ * array, or we'll lose track.
28
+ *
29
+ * also there are some operations -- rename, in particular -- that
30
+ * require updating indexes.
31
+ *
32
+ *
33
+ * FIXME: new file (1 class per file)
34
+ */
35
+ export class SheetCollection {
36
+ /**
37
+ * returns a read-only copy of the list. useful for indexing or
38
+ * functional-style calls. it's not actually read-only, but it's a
39
+ * copy, so changes will be ignored.
40
+ */
41
+ get list() {
42
+ return this.sheets_.slice(0);
43
+ }
44
+ /**
45
+ * length of list
46
+ */
47
+ get length() {
48
+ return this.sheets_.length;
49
+ }
50
+ /** map of (normalized) name -> sheet */
51
+ names = new Map();
52
+ /** map of id -> sheet */
53
+ ids = new Map();
54
+ /** the actual list */
55
+ sheets_ = [];
56
+ /**
57
+ * remove any existing sheets and add the passed list. updates indexes.
58
+ */
59
+ Assign(sheets) {
60
+ this.sheets_ = [...sheets];
61
+ this.UpdateIndexes();
62
+ }
63
+ /**
64
+ * add a new sheet to the end of the list (push). updates indexes.
65
+ */
66
+ Add(sheet) {
67
+ this.sheets_.push(sheet);
68
+ this.UpdateIndexes();
69
+ }
70
+ /**
71
+ * wrapper for array splice. updates indexes.
72
+ */
73
+ Splice(insert_index, delete_count, ...items) {
74
+ this.sheets_.splice(insert_index, delete_count, ...items);
75
+ this.UpdateIndexes();
76
+ }
77
+ /**
78
+ * so our new strategy is to add lookup methods first -- then
79
+ * we can fix the underlying storage implementation.
80
+ *
81
+ * NOTE we normalize strings here so you do not need to do it (don't)
82
+ */
83
+ Find(id) {
84
+ // console.info('get', typeof id);
85
+ if (typeof id === 'string') {
86
+ return this.names.get(id.toLocaleUpperCase());
87
+ }
88
+ else {
89
+ return this.ids.get(id);
90
+ }
91
+ return undefined;
92
+ }
93
+ /** get name for sheet with given id */
94
+ Name(id) {
95
+ return this.ids.get(id)?.name || undefined;
96
+ }
97
+ /** get ID for sheet with given name */
98
+ ID(name) {
99
+ return this.names.get(name.toLocaleUpperCase())?.id || undefined;
100
+ }
101
+ /** not sure why this is private, makes it a little more complicated */
102
+ UpdateIndexes() {
103
+ this.names.clear();
104
+ this.ids.clear();
105
+ for (const sheet of this.sheets_) {
106
+ const uc = sheet.name.toLocaleUpperCase();
107
+ this.names.set(uc, sheet);
108
+ this.ids.set(sheet.id, sheet);
109
+ }
110
+ }
111
+ }
112
+ //# sourceMappingURL=sheet_collection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet_collection.js","sourceRoot":"","sources":["../../../treb-data-model/src/sheet_collection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAKH;;;;;;;;;;;;;GAaG;AACH,MAAM,OAAO,eAAe;IAE1B;;;;OAIG;IACH,IAAW,IAAI;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;QACf,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,wCAAwC;IAC9B,KAAK,GAAuB,IAAI,GAAG,EAAE,CAAC;IAEhD,yBAAyB;IACf,GAAG,GAAuB,IAAI,GAAG,EAAE,CAAC;IAE9C,sBAAsB;IACd,OAAO,GAAY,EAAE,CAAC;IAE9B;;OAEG;IACI,MAAM,CAAC,MAAe;QAC3B,IAAI,CAAC,OAAO,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,GAAG,CAAC,KAAY;QACrB,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACzB,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;OAEG;IACI,MAAM,CAAC,YAAoB,EAAE,YAAoB,EAAE,GAAG,KAAc;QACzE,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;;;;OAKG;IACK,IAAI,CAAC,EAAiB;QAE5B,kCAAkC;QAElC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YAC3B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,iBAAiB,EAAE,CAAC,CAAC;QAChD,CAAC;aACI,CAAC;YACJ,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC1B,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,uCAAuC;IAChC,IAAI,CAAC,EAAU;QACpB,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,IAAI,IAAI,SAAS,CAAC;IAC7C,CAAC;IAED,uCAAuC;IAChC,EAAE,CAAC,IAAY;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,EAAE,IAAI,SAAS,CAAC;IACnE,CAAC;IAED,uEAAuE;IAChE,aAAa;QAElB,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;QAEjB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC1C,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;YAC1B,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;QAChC,CAAC;IAEH,CAAC;CAGF"}
@@ -0,0 +1,42 @@
1
+ import { Area, type IArea, type ICellAddress } from 'treb-base-types';
2
+ /**
3
+ * FIXME: this is broken. we treat this as a simple javascript object,
4
+ * cloning and creating via JSON, but area is a class instance.
5
+ *
6
+ * that means cloned objects won't work properly (if anyone is relying on
7
+ * that object).
8
+ */
9
+ export interface GridSelection {
10
+ /** target or main cell in the selection */
11
+ target: ICellAddress;
12
+ /** selection area */
13
+ area: Area;
14
+ /** there is nothing selected, even though this object exists */
15
+ empty?: boolean;
16
+ /** for cacheing addtional selections. optimally don't serialize */
17
+ rendered?: boolean;
18
+ }
19
+ /**
20
+ * temporarily splitting into a serialized version that uses IArea instead
21
+ * of Area. we should do this for the actual selection type, but it breaks
22
+ * too many things atm to do that immediately. TODO/FIXME.
23
+ */
24
+ export interface SerializedGridSelection {
25
+ /** target or main cell in the selection */
26
+ target: ICellAddress;
27
+ /** selection area */
28
+ area: IArea;
29
+ /** there is nothing selected, even though this object exists */
30
+ empty?: boolean;
31
+ /** for cacheing addtional selections. optimally don't serialize */
32
+ rendered?: boolean;
33
+ }
34
+ /**
35
+ * create an empty selection
36
+ * @internal
37
+ */
38
+ export declare const CreateSelection: () => GridSelection;
39
+ /**
40
+ * @internal
41
+ */
42
+ export declare const CloneSelection: (rhs: GridSelection) => GridSelection;
@@ -0,0 +1,39 @@
1
+ /*
2
+ * This file is part of TREB.
3
+ *
4
+ * TREB is free software: you can redistribute it and/or modify it under the
5
+ * terms of the GNU General Public License as published by the Free Software
6
+ * Foundation, either version 3 of the License, or (at your option) any
7
+ * later version.
8
+ *
9
+ * TREB is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
+ * details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
+ *
17
+ * Copyright 2022-2026 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+ import { Area } from 'treb-base-types';
22
+ /**
23
+ * create an empty selection
24
+ * @internal
25
+ */
26
+ export const CreateSelection = () => {
27
+ return {
28
+ target: { row: 0, column: 0 },
29
+ area: new Area({ row: 0, column: 0 }),
30
+ empty: true,
31
+ };
32
+ };
33
+ /**
34
+ * @internal
35
+ */
36
+ export const CloneSelection = (rhs) => {
37
+ return JSON.parse(JSON.stringify(rhs));
38
+ };
39
+ //# sourceMappingURL=sheet_selection.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet_selection.js","sourceRoot":"","sources":["../../../treb-data-model/src/sheet_selection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,OAAO,EAAE,IAAI,EAAiC,MAAM,iBAAiB,CAAC;AA8CtE;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,GAAkB,EAAE;IACjD,OAAO;QACL,MAAM,EAAE,EAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAC;QAC3B,IAAI,EAAE,IAAI,IAAI,CAAC,EAAC,GAAG,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAC,CAAC;QACnC,KAAK,EAAE,IAAI;KACZ,CAAC;AACJ,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,GAAkB,EAAiB,EAAE;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC;AACzC,CAAC,CAAC"}
@@ -0,0 +1,104 @@
1
+ import type { IArea, SerializedCellData, CellStyle, Color } from 'treb-base-types';
2
+ import type { AnnotationData } from './annotation';
3
+ import type { GridSelection, SerializedGridSelection } from './sheet_selection';
4
+ import type { ConditionalFormatList } from './conditional_format';
5
+ import type { DataValidation } from './data-validation';
6
+ export interface UpdateHints {
7
+ data?: boolean;
8
+ layout?: boolean;
9
+ style?: boolean;
10
+ annotations?: boolean;
11
+ freeze?: boolean;
12
+ names?: boolean;
13
+ }
14
+ export interface FreezePane {
15
+ rows: number;
16
+ columns: number;
17
+ }
18
+ export interface ScrollOffset {
19
+ x: number;
20
+ y: number;
21
+ }
22
+ export interface CellStyleRecord {
23
+ row: number;
24
+ column: number;
25
+ ref: number;
26
+ rows?: number;
27
+ }
28
+ export interface SerializedSheet {
29
+ /** cell data */
30
+ data: SerializedCellData;
31
+ /** top-level sheet style, if any */
32
+ sheet_style: CellStyle;
33
+ /** row count */
34
+ rows: number;
35
+ /** column count */
36
+ columns: number;
37
+ /**
38
+ * cell styles is for empty cells that have styling
39
+ */
40
+ cell_styles: CellStyleRecord[];
41
+ /** @internal */
42
+ conditional_formats?: ConditionalFormatList;
43
+ /** @internal */
44
+ data_validations?: DataValidation[];
45
+ /**
46
+ * @deprecated use `styles` instead
47
+ */
48
+ cell_style_refs?: CellStyle[];
49
+ /**
50
+ * new implementation
51
+ */
52
+ styles?: CellStyle[];
53
+ /**
54
+ * per-row styles
55
+ */
56
+ row_style: Record<number, CellStyle | number>;
57
+ /**
58
+ * per-column styles
59
+ */
60
+ column_style: Record<number, CellStyle | number>;
61
+ /**
62
+ * @deprecated no one uses this anymore and it's weird
63
+ */
64
+ row_pattern?: CellStyle[];
65
+ /** default for new rows */
66
+ default_row_height?: number;
67
+ /** default for new columns */
68
+ default_column_width?: number;
69
+ /** list of row heights. we use a Record instead of an array because it's sparse */
70
+ row_height?: Record<number, number>;
71
+ /** list of column widths. we use a Record instead of an array because it's sparse */
72
+ column_width?: Record<number, number>;
73
+ /**
74
+ * @deprecated these were moved to the containing document
75
+ */
76
+ named_ranges?: Record<string, IArea>;
77
+ freeze?: FreezePane;
78
+ /** sheet ID, for serializing references */
79
+ id?: number;
80
+ /** sheet name */
81
+ name?: string;
82
+ /** tab color */
83
+ tab_color?: Color;
84
+ /** current active selection */
85
+ selection: SerializedGridSelection;
86
+ /** */
87
+ annotations?: Partial<AnnotationData>[];
88
+ /** current scroll position */
89
+ scroll?: ScrollOffset;
90
+ /** visible flag. we only support visible/hidden */
91
+ visible?: boolean;
92
+ /** testing */
93
+ background_image?: string;
94
+ }
95
+ /**
96
+ * support for legacy sheet data
97
+ * (I think we can drop)
98
+ *
99
+ * @internal
100
+ * @deprecated
101
+ */
102
+ export type LegacySerializedSheet = SerializedSheet & {
103
+ primary_selection?: GridSelection;
104
+ };
@@ -0,0 +1,22 @@
1
+ /*
2
+ * This file is part of TREB.
3
+ *
4
+ * TREB is free software: you can redistribute it and/or modify it under the
5
+ * terms of the GNU General Public License as published by the Free Software
6
+ * Foundation, either version 3 of the License, or (at your option) any
7
+ * later version.
8
+ *
9
+ * TREB is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
+ * details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
+ *
17
+ * Copyright 2022-2026 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+ export {};
22
+ //# sourceMappingURL=sheet_types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sheet_types.js","sourceRoot":"","sources":["../../../treb-data-model/src/sheet_types.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG"}
@@ -0,0 +1,59 @@
1
+ import type { SerializedSheet } from './sheet_types';
2
+ import type { Sheet } from './sheet';
3
+ import type { IArea } from 'treb-base-types';
4
+ import type { SerializedNamed } from './named';
5
+ import type { Table } from 'treb-base-types';
6
+ import type { ExpressionUnit } from 'treb-parser';
7
+ export interface ConnectedElementType {
8
+ formula: string;
9
+ update?: (instance: ConnectedElementType) => void;
10
+ internal?: unknown;
11
+ }
12
+ export interface SerializedMacroFunction {
13
+ name: string;
14
+ function_def: string;
15
+ argument_names?: string[];
16
+ description?: string;
17
+ }
18
+ /**
19
+ * we define this as extending the serialized version, rather
20
+ * than taking out the parameter, so we can make that def public
21
+ * in the API types.
22
+ */
23
+ export interface MacroFunction extends SerializedMacroFunction {
24
+ expression?: ExpressionUnit;
25
+ }
26
+ /**
27
+ * @internal
28
+ */
29
+ export interface ViewModel {
30
+ active_sheet: Sheet;
31
+ view_index: number;
32
+ }
33
+ /**
34
+ * this type is no longer in use, but we retain it to parse old documents
35
+ * that use it.
36
+ *
37
+ * @deprecated
38
+ */
39
+ export interface SerializedNamedExpression {
40
+ name: string;
41
+ expression: string;
42
+ }
43
+ export interface SerializedModel {
44
+ sheet_data: SerializedSheet[];
45
+ active_sheet: number;
46
+ /** @deprecated */
47
+ named_ranges?: Record<string, IArea>;
48
+ /** @deprecated */
49
+ named_expressions?: SerializedNamedExpression[];
50
+ /**
51
+ * new type for consolidated named ranges & expressions. the old
52
+ * types are retained for backwards compatibility on import but we won't
53
+ * export them anymore.
54
+ */
55
+ named?: SerializedNamed[];
56
+ macro_functions?: MacroFunction[];
57
+ tables?: Table[];
58
+ decimal_mark?: ',' | '.';
59
+ }
@@ -0,0 +1,22 @@
1
+ /*
2
+ * This file is part of TREB.
3
+ *
4
+ * TREB is free software: you can redistribute it and/or modify it under the
5
+ * terms of the GNU General Public License as published by the Free Software
6
+ * Foundation, either version 3 of the License, or (at your option) any
7
+ * later version.
8
+ *
9
+ * TREB is distributed in the hope that it will be useful, but WITHOUT ANY
10
+ * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
11
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
12
+ * details.
13
+ *
14
+ * You should have received a copy of the GNU General Public License along
15
+ * with TREB. If not, see <https://www.gnu.org/licenses/>.
16
+ *
17
+ * Copyright 2022-2026 trebco, llc.
18
+ * info@treb.app
19
+ *
20
+ */
21
+ export {};
22
+ //# sourceMappingURL=types.js.map