@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,637 @@
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 { SheetCollection } from './sheet_collection';
22
+ import { Parser, QuotedSheetNameRegex, DecimalMarkType, ArgumentSeparatorType } from 'treb-parser';
23
+ import { Is2DArray } from 'treb-base-types';
24
+ import { Area, IsCellAddress, Style } from 'treb-base-types';
25
+ import { NamedRangeManager } from './named';
26
+ /**
27
+ *
28
+ */
29
+ export class DataModel {
30
+ parser = new Parser();
31
+ /** moved from embedded spreadsheet */
32
+ language_model;
33
+ /** document metadata */
34
+ document_name;
35
+ /**
36
+ * document metadata. this is opaque to everyone except the user, so
37
+ * we're intentionally leaving it as unknown except where users have
38
+ * direct access (embedded spreadsheet).
39
+ */
40
+ user_data;
41
+ /**
42
+ *
43
+ */
44
+ sheets = new SheetCollection();
45
+ /** new composite collection (TODO: add macro functions too?) */
46
+ named = new NamedRangeManager(this.parser);
47
+ /** macro functions are functions written in spreadsheet language */
48
+ macro_functions = new Map();
49
+ /** index for views */
50
+ view_count = 0;
51
+ /**
52
+ * base style properties moved to model, so we can have a single
53
+ * and consistent reference.
54
+ */
55
+ theme_style_properties = JSON.parse(JSON.stringify(Style.DefaultProperties));
56
+ /**
57
+ * tables are global, because we need to reference them by name; and they
58
+ * need unique names, so we need to keep track of names. name matching is
59
+ * icase so we lc the names before inserting.
60
+ */
61
+ tables = new Map();
62
+ /**
63
+ * we're wrapping up the get name method so we can check for a sheet
64
+ * name -- we have the list of sheet names. we could pass that to the
65
+ * name list manager but it's easier for us to intercept the call.
66
+ * I thought about wrapping up more API functions here, but that seems
67
+ * unecessary atm.
68
+ */
69
+ GetName(name, scope) {
70
+ // helpfully this is not a legal character in names or sheets, so
71
+ // we don't need a full parser to handle the split. watch out for
72
+ // quoted sheet names.
73
+ const parts = name.split(/!/);
74
+ if (parts.length === 1) {
75
+ return this.named.Get_(name, scope);
76
+ }
77
+ let sheet_name = parts[0];
78
+ // can we just test with indexes? surely faster
79
+ if (/^'.*?'$/.test(sheet_name)) {
80
+ sheet_name = sheet_name.substring(1, sheet_name.length - 1);
81
+ }
82
+ const sheet = this.sheets.ID(sheet_name);
83
+ // Q: why require scope in this case? if there _is_ a global name,
84
+ // and no scoped name, why not return that? that seems to be the
85
+ // behavior in excel, although I can't be sure
86
+ // test: default false
87
+ return this.named.Get_(parts[1], sheet || 0, false); // true); // require scope in this case
88
+ }
89
+ /**
90
+ * @param force_locale - always parse assuming a locale like en-us (comma
91
+ * argument separators). the current thinking is that this is required for
92
+ * XLSX import, although that might be incorrect.
93
+ */
94
+ UnserializeNames(names, active_sheet, force_locale = false) {
95
+ this.parser.Save();
96
+ if (force_locale) {
97
+ this.parser.SetLocaleSettings(DecimalMarkType.Period, ArgumentSeparatorType.Comma);
98
+ }
99
+ //const sorted = names.map(named => {
100
+ for (const named of names) {
101
+ if (!named.expression) {
102
+ continue;
103
+ }
104
+ const parse_result = this.parser.Parse(named.expression);
105
+ if (parse_result.expression) {
106
+ const scope = (typeof named.scope === 'string') ? this.sheets.ID(named.scope) : undefined;
107
+ if (parse_result.expression.type === 'address' || parse_result.expression.type === 'range') {
108
+ const [start, end] = parse_result.expression.type === 'range' ?
109
+ [parse_result.expression.start, parse_result.expression.end,] :
110
+ [parse_result.expression, parse_result.expression];
111
+ if (start.sheet) {
112
+ if (/^\[\d+\]/.test(start.sheet)) {
113
+ console.warn('named range refers to an external file');
114
+ }
115
+ else {
116
+ const area = new Area({ ...start, sheet_id: this.sheets.ID(start.sheet), }, end);
117
+ if (area.start.sheet_id) {
118
+ this.named.SetNamedRange(named.name, area, scope);
119
+ }
120
+ else {
121
+ console.warn("missing sheet ID?", start);
122
+ }
123
+ }
124
+ }
125
+ else {
126
+ console.warn("missing sheet name?", start);
127
+ }
128
+ }
129
+ else {
130
+ this.parser.Walk(parse_result.expression, unit => {
131
+ if (unit.type === 'address' || unit.type === 'range') {
132
+ if (unit.type === 'range') {
133
+ unit = unit.start;
134
+ }
135
+ if (!unit.sheet_id) {
136
+ if (unit.sheet) {
137
+ unit.sheet_id = this.sheets.ID(unit.sheet);
138
+ }
139
+ }
140
+ if (!unit.sheet_id) {
141
+ unit.sheet_id = active_sheet?.id;
142
+ }
143
+ return false; // don't continue in ranges
144
+ }
145
+ return true;
146
+ });
147
+ this.named.SetNamedExpression(named.name, parse_result.expression, scope);
148
+ }
149
+ }
150
+ }
151
+ this.parser.Restore();
152
+ }
153
+ /**
154
+ * serialize names. ranges are easy, but make sure there's a sheet name
155
+ * in each address (and remove the ID). expressions are a little more
156
+ * complicated.
157
+ */
158
+ SerializeNames(active_sheet) {
159
+ const list = [];
160
+ for (const entry of this.named.list) {
161
+ const named = {
162
+ name: entry.name,
163
+ expression: '',
164
+ type: entry.type,
165
+ };
166
+ if (entry.scope) {
167
+ named.scope = this.sheets.Name(entry.scope);
168
+ }
169
+ if (entry.type === 'expression') {
170
+ this.parser.Walk(entry.expression, unit => {
171
+ if (unit.type === 'address' || unit.type === 'range') {
172
+ const test = unit.type === 'range' ? unit.start : unit;
173
+ test.absolute_column = test.absolute_row = true;
174
+ if (!test.sheet) {
175
+ if (test.sheet_id) {
176
+ test.sheet = this.sheets.Name(test.sheet_id);
177
+ }
178
+ if (!test.sheet) {
179
+ test.sheet = active_sheet?.name;
180
+ }
181
+ }
182
+ if (unit.type === 'range') {
183
+ unit.end.absolute_column = unit.end.absolute_row = true;
184
+ }
185
+ return false;
186
+ }
187
+ /*
188
+
189
+ // if we do the function export thing, we need to call that here
190
+ // (exporting functions to fix missing arguments or add decorators).
191
+ // we're not doing that, at least not yet.
192
+
193
+ else if (unit.type === 'call' && options.export_functions) {
194
+ // ...
195
+ }
196
+ */
197
+ return true;
198
+ });
199
+ // this is using the current locale settings, but unserialize
200
+ // assumes we are unserializing in US-style locale. I think we
201
+ // do that because excel always uses that? not sure, but we need
202
+ // to be consistent.
203
+ named.expression = this.parser.Render(entry.expression, { missing: '' });
204
+ }
205
+ else {
206
+ const area = {
207
+ start: {
208
+ ...entry.area.start,
209
+ absolute_column: true,
210
+ absolute_row: true,
211
+ },
212
+ end: {
213
+ ...entry.area.end,
214
+ absolute_column: true,
215
+ absolute_row: true,
216
+ },
217
+ };
218
+ named.expression = this.AddressToLabel(area);
219
+ }
220
+ list.push(named);
221
+ }
222
+ return list;
223
+ }
224
+ /**
225
+ * putting this here temporarily. it should probably move into a table
226
+ * manager class or something like that.
227
+ */
228
+ ResolveStructuredReference(ref, context) {
229
+ let table;
230
+ // if there's no table specified, it means "I am in the table".
231
+ // in that case we need to find the table from the cell.
232
+ if (ref.table) {
233
+ table = this.tables.get(ref.table.toLowerCase());
234
+ }
235
+ else {
236
+ if (context.sheet_id) {
237
+ const sheet = this.sheets.Find(context.sheet_id);
238
+ const cell = sheet?.CellData(context);
239
+ table = cell?.table;
240
+ }
241
+ }
242
+ if (!table) {
243
+ return undefined; // table not found
244
+ }
245
+ // resolve the column
246
+ const reference_column = ref.column.toLowerCase();
247
+ let column = -1;
248
+ if (table.columns) { // FIXME: make this required
249
+ for (let i = 0; i < table.columns.length; i++) {
250
+ if (reference_column === table.columns[i]) {
251
+ column = table.area.start.column + i;
252
+ break;
253
+ }
254
+ }
255
+ }
256
+ if (column < 0) {
257
+ return undefined; // invalid column
258
+ }
259
+ // for row scope, make sure we're in a valid row.
260
+ if (ref.scope === 'row') {
261
+ const row = context.row;
262
+ if (row < table.area.start.row || row > table.area.end.row) {
263
+ return undefined; // invalid row for "this row"
264
+ }
265
+ // OK, we can use this
266
+ return {
267
+ label: ref.label,
268
+ type: 'address',
269
+ row,
270
+ column,
271
+ sheet_id: table.area.start.sheet_id,
272
+ id: ref.id,
273
+ position: ref.position,
274
+ };
275
+ }
276
+ else {
277
+ // the difference between 'all' and 'column' is that 'all' includes
278
+ // the first (header) row and the last (totals) row, if we have one.
279
+ let start_row = table.area.start.row;
280
+ let end_row = table.area.end.row;
281
+ if (ref.scope === 'column') {
282
+ start_row++; // skip headers
283
+ if (table.totals_row) {
284
+ end_row--; // skip totals
285
+ }
286
+ }
287
+ return {
288
+ label: ref.label,
289
+ type: 'range',
290
+ position: ref.position,
291
+ id: ref.id,
292
+ start: {
293
+ type: 'address',
294
+ row: start_row,
295
+ column,
296
+ sheet_id: table.area.start.sheet_id,
297
+ label: ref.label,
298
+ position: ref.position,
299
+ id: 0,
300
+ },
301
+ end: {
302
+ type: 'address',
303
+ row: end_row,
304
+ column,
305
+ label: ref.label,
306
+ position: ref.position,
307
+ id: 0,
308
+ },
309
+ };
310
+ }
311
+ return undefined;
312
+ }
313
+ /**
314
+ * return an address label for this address (single cell or range).
315
+ *
316
+ * this is doing something unexpected: for dynamic arrays, it seems
317
+ * to be filling out the full array. this could be an issue with how
318
+ * we're calling it in the specific case of external editors.
319
+ *
320
+ * there should be no case where this is actually intended, because
321
+ * the resulting label is garbage. nevertheless, I don't want to change
322
+ * any existing behavior so we will move it behind a flag and default to
323
+ * prior behavior. if necessary later we can change the default/remove the
324
+ * old behavior.
325
+ *
326
+ * @param address
327
+ * @param active_sheet
328
+ */
329
+ AddressToLabel(address, correct_dynamic_arrays = false) {
330
+ let start;
331
+ const parts = [];
332
+ if (IsCellAddress(address)) {
333
+ start = address;
334
+ parts.push(Area.CellAddressToLabel(address));
335
+ }
336
+ else {
337
+ start = address.start;
338
+ parts.push(Area.CellAddressToLabel(address.start));
339
+ if (!(address.start.spill && correct_dynamic_arrays)) {
340
+ parts.push(Area.CellAddressToLabel(address.end));
341
+ }
342
+ }
343
+ /*
344
+ const start = is_address ? address : address.start;
345
+ const parts = is_address ?
346
+ [Area.CellAddressToLabel(address)] :
347
+ [Area.CellAddressToLabel(address.start), Area.CellAddressToLabel(address.end)];
348
+ */
349
+ const sheet = this.sheets.Find(start.sheet_id || 0);
350
+ const name = (sheet?.name) ?
351
+ (QuotedSheetNameRegex.test(sheet.name) ? `'${sheet.name}'` : sheet.name) : '';
352
+ return name + (name ? '!' : '') + (parts[0] === parts[1] ? parts[0] : parts.join(':'));
353
+ }
354
+ // --- resolution api, moved from calculator ---------------------------------
355
+ /**
356
+ * returns false if the sheet cannot be resolved, which probably
357
+ * means the name changed (that's the case we are working on with
358
+ * this fix).
359
+ */
360
+ ResolveSheetID(expr, context, active_sheet) {
361
+ const target = expr.type === 'address' ? expr : expr.start;
362
+ if (target.sheet_id) {
363
+ return true;
364
+ }
365
+ if (target.sheet) {
366
+ const sheet = this.sheets.Find(target.sheet);
367
+ if (sheet) {
368
+ target.sheet_id = sheet.id;
369
+ return true;
370
+ }
371
+ }
372
+ else if (context?.sheet_id) {
373
+ target.sheet_id = context.sheet_id;
374
+ return true;
375
+ }
376
+ else if (active_sheet?.id) {
377
+ target.sheet_id = active_sheet.id;
378
+ return true;
379
+ }
380
+ return false; // the error
381
+ }
382
+ /** wrapper method ensures it always returns an Area (instance, not interface) */
383
+ ResolveArea(address, active_sheet, options) {
384
+ const resolved = this.ResolveAddress(address, active_sheet, options);
385
+ return IsCellAddress(resolved) ? new Area(resolved) : new Area(resolved.start, resolved.end);
386
+ }
387
+ /**
388
+ * moved from embedded sheet. also modified to preserve ranges, so it
389
+ * might return a range (area). if you are expecting the old behavior
390
+ * you need to check (perhaps we could have a wrapper, or make it optional?)
391
+ *
392
+ * Q: why does this not go in grid? or model? (...)
393
+ * Q: why are we not preserving absoute/relative? (...)
394
+ *
395
+ */
396
+ ResolveAddress(address, active_sheet, options) {
397
+ if (typeof address === 'string') {
398
+ if (options?.r1c1) {
399
+ this.parser.Save();
400
+ this.parser.flags.r1c1 = true;
401
+ }
402
+ const parse_result = this.parser.Parse(address);
403
+ if (options?.r1c1) {
404
+ this.parser.Restore();
405
+ }
406
+ if (parse_result.expression && parse_result.expression.type === 'address') {
407
+ this.ResolveSheetID(parse_result.expression, undefined, active_sheet);
408
+ return {
409
+ row: parse_result.expression.row,
410
+ column: parse_result.expression.column,
411
+ sheet_id: parse_result.expression.sheet_id,
412
+ };
413
+ }
414
+ else if (parse_result.expression && parse_result.expression.type === 'range') {
415
+ this.ResolveSheetID(parse_result.expression, undefined, active_sheet);
416
+ return {
417
+ start: {
418
+ row: parse_result.expression.start.row,
419
+ column: parse_result.expression.start.column,
420
+ sheet_id: parse_result.expression.start.sheet_id,
421
+ },
422
+ end: {
423
+ row: parse_result.expression.end.row,
424
+ column: parse_result.expression.end.column,
425
+ }
426
+ };
427
+ }
428
+ else if (parse_result.expression && parse_result.expression.type === 'identifier') {
429
+ const named = this.GetName(parse_result.expression.name, active_sheet.id);
430
+ if (named?.type === 'range') {
431
+ return named.area;
432
+ }
433
+ /*
434
+ // is named range guaranteed to have a sheet ID? (I think yes...)
435
+
436
+ const named_range = this.named_ranges.Get(parse_result.expression.name);
437
+ if (named_range) {
438
+ return named_range;
439
+ }
440
+ */
441
+ }
442
+ return { row: 0, column: 0 }; // default for string types -- broken
443
+ }
444
+ return address; // already range or address
445
+ }
446
+ AddConnectedElement(connected_element) {
447
+ const id = this.connected_element_id++;
448
+ this.connected_elements.set(id, connected_element);
449
+ return id;
450
+ }
451
+ RemoveConnectedElement(id) {
452
+ const element = this.connected_elements.get(id);
453
+ this.connected_elements.delete(id);
454
+ return element;
455
+ }
456
+ /**
457
+ * identifier for connected elements, used to manage. these need to be
458
+ * unique in the lifetime of a model instance, but no more than that.
459
+ */
460
+ connected_element_id = 100;
461
+ /**
462
+ * these are intentionally NOT serialized. they're ephemeral, created
463
+ * at runtime and not persistent.
464
+ *
465
+ * @internal
466
+ */
467
+ connected_elements = new Map();
468
+ // --- moving translation here ----------------------------------------------
469
+ /**
470
+ * maps common language (english) -> local language. this should
471
+ * be passed in (actually set via a function).
472
+ */
473
+ language_map;
474
+ /**
475
+ * maps local language -> common (english). this should be constructed
476
+ * when the forward function is passed in, so there's a 1-1 correspondence.
477
+ */
478
+ reverse_language_map;
479
+ /**
480
+ * set the language translation map. this is a set of function names
481
+ * (in english) -> the local equivalent. both should be in canonical form,
482
+ * as that will be used when we translate one way or the other.
483
+ */
484
+ SetLanguageMap(language_map) {
485
+ if (!language_map) {
486
+ this.language_map = this.reverse_language_map = undefined;
487
+ }
488
+ else {
489
+ const keys = Object.keys(language_map);
490
+ // normalize forward
491
+ this.language_map = {};
492
+ for (const key of keys) {
493
+ this.language_map[key.toUpperCase()] = language_map[key];
494
+ }
495
+ // normalize backward
496
+ this.reverse_language_map = {};
497
+ for (const key of keys) {
498
+ const value = language_map[key];
499
+ this.reverse_language_map[value.toUpperCase()] = key;
500
+ }
501
+ }
502
+ /*
503
+ // we might need to update the current displayed selection. depends
504
+ // on when we expect languages to be set.
505
+
506
+ if (!this.primary_selection.empty) {
507
+ this.Select(this.primary_selection, this.primary_selection.area, this.primary_selection.target);
508
+ }
509
+ */
510
+ }
511
+ /**
512
+ * translate function from common (english) -> local language. this could
513
+ * be inlined (assuming it's only called in one place), but we are breaking
514
+ * it out so we can develop/test/manage it.
515
+ */
516
+ TranslateFunction(value, options) {
517
+ if (this.language_map) {
518
+ return this.TranslateInternal(value, this.language_map, this.language_model?.boolean_true, this.language_model?.boolean_false, options);
519
+ }
520
+ return value;
521
+ }
522
+ /**
523
+ * translate from local language -> common (english).
524
+ * @see TranslateFunction
525
+ */
526
+ UntranslateFunction(value, options) {
527
+ if (this.reverse_language_map) {
528
+ return this.TranslateInternal(value, this.reverse_language_map, 'TRUE', 'FALSE', options);
529
+ }
530
+ return value;
531
+ }
532
+ UntranslateData(value, options) {
533
+ if (Array.isArray(value)) {
534
+ // could be 1d or 2d. typescript is complaining, not sure why...
535
+ if (Is2DArray(value)) {
536
+ return value.map(row => row.map(entry => {
537
+ if (entry && typeof entry === 'string' && entry[0] === '=') {
538
+ return this.UntranslateFunction(entry, options);
539
+ }
540
+ return entry;
541
+ }));
542
+ }
543
+ else {
544
+ return value.map(entry => {
545
+ if (entry && typeof entry === 'string' && entry[0] === '=') {
546
+ return this.UntranslateFunction(entry, options);
547
+ }
548
+ return entry;
549
+ });
550
+ }
551
+ }
552
+ else if (value && typeof value === 'string' && value[0] === '=') {
553
+ // single value
554
+ value = this.UntranslateFunction(value, options);
555
+ }
556
+ return value;
557
+ }
558
+ /**
559
+ * translation back and forth is the same operation, with a different
560
+ * (inverted) map. although it still might be worth inlining depending
561
+ * on cost.
562
+ *
563
+ * FIXME: it's about time we started using proper maps, we dropped
564
+ * support for IE11 some time ago.
565
+ */
566
+ TranslateInternal(value, map, boolean_true, boolean_false, options) {
567
+ this.parser.Save();
568
+ this.parser.flags.r1c1 = options?.r1c1;
569
+ const parse_result = this.parser.Parse(value);
570
+ if (parse_result.expression) {
571
+ let modified = false;
572
+ this.parser.Walk(parse_result.expression, unit => {
573
+ if (unit.type === 'call') {
574
+ const replacement = map[unit.name.toUpperCase()];
575
+ if (replacement) {
576
+ modified = true;
577
+ unit.name = replacement;
578
+ }
579
+ }
580
+ else if (unit.type === 'literal' && typeof unit.value === 'boolean') {
581
+ // to/from english/locale depends on the direction, but we're not
582
+ // passing that in? FIXME, pass it as a parameter. it doesn't matter
583
+ // here, but later when we render.
584
+ modified = true;
585
+ }
586
+ return true;
587
+ });
588
+ if (modified) {
589
+ return '=' + this.parser.Render(parse_result.expression, {
590
+ missing: '', boolean_true, boolean_false,
591
+ r1c1: options?.r1c1,
592
+ });
593
+ }
594
+ }
595
+ this.parser.Restore();
596
+ return value;
597
+ }
598
+ /**
599
+ * this is not public _yet_
600
+ *
601
+ * @internal
602
+ */
603
+ SetLanguage(model) {
604
+ this.language_model = model;
605
+ if (!model) {
606
+ this.SetLanguageMap(); // clear
607
+ // set defaults for parsing.
608
+ this.parser.flags.boolean_true = 'TRUE';
609
+ this.parser.flags.boolean_false = 'FALSE';
610
+ }
611
+ else {
612
+ // create a name map for grid
613
+ const map = {};
614
+ if (model.functions) {
615
+ for (const entry of model.functions || []) {
616
+ map[entry.base.toUpperCase()] = entry.name; // toUpperCase because of a data error -- fix at the source
617
+ }
618
+ }
619
+ this.SetLanguageMap(map);
620
+ // console.info({map});
621
+ if (!model.boolean_false) {
622
+ model.boolean_false = map['FALSE'];
623
+ }
624
+ if (!model.boolean_true) {
625
+ model.boolean_true = map['TRUE'];
626
+ }
627
+ // set defaults for parsing.
628
+ this.parser.flags.boolean_true = model.boolean_true || 'TRUE';
629
+ this.parser.flags.boolean_false = model.boolean_false || 'FALSE';
630
+ // console.info("booleans:", this.model.parser.flags.boolean_true, ",", this.model.parser.flags.boolean_false)
631
+ }
632
+ for (const sheet of this.sheets.list) {
633
+ sheet.FlushCellStyles();
634
+ }
635
+ }
636
+ }
637
+ //# sourceMappingURL=data_model.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data_model.js","sourceRoot":"","sources":["../../../treb-data-model/src/data_model.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ export { DataModel } from './data_model';
2
+ export type { SerializedNamed } from './named';
3
+ export { Sheet } from './sheet';
4
+ export type { SerializedSheet, FreezePane, LegacySerializedSheet } from './sheet_types';
5
+ export * from './conditional_format';
6
+ export type { GridSelection } from './sheet_selection';
7
+ export type { SerializeOptions } from './serialize_options';
8
+ export { Annotation } from './annotation';
9
+ export type { ViewData as AnnotationViewData } from './annotation';
10
+ export type { AnnotationData, AnnotationType } from './annotation';
11
+ export * from './data-validation';
12
+ export * from './types';
13
+ export * from './language-model';