@k2b/ui 0.49.0 → 0.51.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 (461) hide show
  1. package/dist/base.css +70 -1
  2. package/dist/browser/actions/Button.js.map +1 -1
  3. package/dist/browser/actions/CommandList.js +861 -0
  4. package/dist/browser/actions/CommandList.js.map +1 -0
  5. package/dist/browser/actions/CommandMenu.js +237 -0
  6. package/dist/browser/actions/CommandMenu.js.map +1 -0
  7. package/dist/browser/actions/ContextMenu.js +3 -0
  8. package/dist/browser/actions/ContextMenu.js.map +1 -1
  9. package/dist/browser/actions/Dropdown.js +43 -10
  10. package/dist/browser/actions/Dropdown.js.map +1 -1
  11. package/dist/browser/actions/command-dock.js +47 -0
  12. package/dist/browser/actions/command-dock.js.map +1 -0
  13. package/dist/browser/actions/command-items.js +84 -0
  14. package/dist/browser/actions/command-items.js.map +1 -0
  15. package/dist/browser/actions/command-messages.js +42 -0
  16. package/dist/browser/actions/command-messages.js.map +1 -0
  17. package/dist/browser/actions/index.js +1 -0
  18. package/dist/browser/actions/index.js.map +1 -1
  19. package/dist/browser/charts/core/area.js +188 -0
  20. package/dist/browser/charts/core/area.js.map +1 -0
  21. package/dist/browser/charts/core/calendar.js +186 -0
  22. package/dist/browser/charts/core/calendar.js.map +1 -0
  23. package/dist/browser/charts/core/chart-map-data.js +9 -0
  24. package/dist/browser/charts/core/chart-map-data.js.map +1 -0
  25. package/dist/browser/charts/core/chart-messages.js +17 -0
  26. package/dist/browser/charts/core/chart-messages.js.map +1 -0
  27. package/dist/browser/charts/core/hbar-layout.js +118 -0
  28. package/dist/browser/charts/core/hbar-layout.js.map +1 -0
  29. package/dist/browser/charts/core/hbar.js +39 -0
  30. package/dist/browser/charts/core/hbar.js.map +1 -0
  31. package/dist/browser/charts/core/index.js +17 -0
  32. package/dist/browser/charts/core/index.js.map +1 -0
  33. package/dist/browser/charts/core/inspection.js +9 -0
  34. package/dist/browser/charts/core/inspection.js.map +1 -0
  35. package/dist/browser/charts/core/map.js +116 -0
  36. package/dist/browser/charts/core/map.js.map +1 -0
  37. package/dist/browser/charts/core/registry.js +35 -0
  38. package/dist/browser/charts/core/registry.js.map +1 -0
  39. package/dist/browser/charts/core/render-size.js +13 -0
  40. package/dist/browser/charts/core/render-size.js.map +1 -0
  41. package/dist/browser/charts/core/render.js +113 -0
  42. package/dist/browser/charts/core/render.js.map +1 -0
  43. package/dist/browser/charts/core/snapshot.js +65 -0
  44. package/dist/browser/charts/core/snapshot.js.map +1 -0
  45. package/dist/browser/charts/core/svg-renderers.js +2406 -0
  46. package/dist/browser/charts/core/svg-renderers.js.map +1 -0
  47. package/dist/browser/charts/core/svg.js +21 -0
  48. package/dist/browser/charts/core/svg.js.map +1 -0
  49. package/dist/browser/charts/core/termination.test-fixture.js +162 -0
  50. package/dist/browser/charts/core/termination.test-fixture.js.map +1 -0
  51. package/dist/browser/charts/core/text.js +13 -0
  52. package/dist/browser/charts/core/text.js.map +1 -0
  53. package/dist/browser/charts/core/types.js +6 -0
  54. package/dist/browser/charts/core/types.js.map +1 -0
  55. package/dist/browser/charts/core/waterfall.js +162 -0
  56. package/dist/browser/charts/core/waterfall.js.map +1 -0
  57. package/dist/browser/charts/description.js +2 -0
  58. package/dist/browser/charts/description.js.map +1 -0
  59. package/dist/browser/charts.js +4 -2
  60. package/dist/browser/charts.js.map +1 -1
  61. package/dist/browser/content/BalanceSummary.js +106 -0
  62. package/dist/browser/content/BalanceSummary.js.map +1 -0
  63. package/dist/browser/content/Chart.js +21 -616
  64. package/dist/browser/content/Chart.js.map +1 -1
  65. package/dist/browser/content/ChartExplorer.js +366 -122
  66. package/dist/browser/content/ChartExplorer.js.map +1 -1
  67. package/dist/browser/content/ChartRoot.js +632 -0
  68. package/dist/browser/content/ChartRoot.js.map +1 -0
  69. package/dist/browser/content/ChartSnapshotView.js +16 -9
  70. package/dist/browser/content/ChartSnapshotView.js.map +1 -1
  71. package/dist/browser/content/ChartSparkline.js +24 -0
  72. package/dist/browser/content/ChartSparkline.js.map +1 -0
  73. package/dist/browser/content/DataTable.js +676 -293
  74. package/dist/browser/content/DataTable.js.map +1 -1
  75. package/dist/browser/content/DataTableTools.js +119 -0
  76. package/dist/browser/content/DataTableTools.js.map +1 -0
  77. package/dist/browser/content/FileView.js +111 -61
  78. package/dist/browser/content/FileView.js.map +1 -1
  79. package/dist/browser/content/FlowAmount.js +82 -0
  80. package/dist/browser/content/FlowAmount.js.map +1 -0
  81. package/dist/browser/content/Lightbox.js +8 -8
  82. package/dist/browser/content/Lightbox.js.map +1 -1
  83. package/dist/browser/content/MapView.js +30 -28
  84. package/dist/browser/content/MapView.js.map +1 -1
  85. package/dist/browser/content/PdfPreview.js +84 -52
  86. package/dist/browser/content/PdfPreview.js.map +1 -1
  87. package/dist/browser/content/PdfViewer.js +588 -0
  88. package/dist/browser/content/PdfViewer.js.map +1 -0
  89. package/dist/browser/content/balance-summary-messages.js +26 -0
  90. package/dist/browser/content/balance-summary-messages.js.map +1 -0
  91. package/dist/browser/content/chart-bar.js +251 -21
  92. package/dist/browser/content/chart-bar.js.map +1 -1
  93. package/dist/browser/content/chart-calendar.js +43 -0
  94. package/dist/browser/content/chart-calendar.js.map +1 -0
  95. package/dist/browser/content/chart-inspection-core.js +178 -50
  96. package/dist/browser/content/chart-inspection-core.js.map +1 -1
  97. package/dist/browser/content/chart-inspection.js.map +1 -1
  98. package/dist/browser/content/chart-line-gaps.js +2 -2
  99. package/dist/browser/content/chart-line-gaps.js.map +1 -1
  100. package/dist/browser/content/chart-map-viewport.js.map +1 -1
  101. package/dist/browser/content/chart-message-catalog.js +174 -0
  102. package/dist/browser/content/chart-message-catalog.js.map +1 -0
  103. package/dist/browser/content/chart-messages.js +2 -138
  104. package/dist/browser/content/chart-messages.js.map +1 -1
  105. package/dist/browser/content/chart-snapshot.js +1 -62
  106. package/dist/browser/content/chart-snapshot.js.map +1 -1
  107. package/dist/browser/content/chart-state-timeline.js +1 -1
  108. package/dist/browser/content/chart-state-timeline.js.map +1 -1
  109. package/dist/browser/content/chart-svg.js +4 -2
  110. package/dist/browser/content/chart-svg.js.map +1 -1
  111. package/dist/browser/content/chart-time-axis.js +139 -0
  112. package/dist/browser/content/chart-time-axis.js.map +1 -0
  113. package/dist/browser/content/data-table-columns.js +160 -0
  114. package/dist/browser/content/data-table-columns.js.map +1 -0
  115. package/dist/browser/content/data-table-messages.js +38 -2
  116. package/dist/browser/content/data-table-messages.js.map +1 -1
  117. package/dist/browser/content/flow-amount-messages.js +26 -0
  118. package/dist/browser/content/flow-amount-messages.js.map +1 -0
  119. package/dist/browser/content/index.js +5 -0
  120. package/dist/browser/content/index.js.map +1 -1
  121. package/dist/browser/content/pdf-document.js +29 -0
  122. package/dist/browser/content/pdf-document.js.map +1 -0
  123. package/dist/browser/content/pdf-limits.js +31 -0
  124. package/dist/browser/content/pdf-limits.js.map +1 -0
  125. package/dist/browser/content/pdf-messages.js +34 -2
  126. package/dist/browser/content/pdf-messages.js.map +1 -1
  127. package/dist/browser/content/pdf-viewer-engine.js +57 -0
  128. package/dist/browser/content/pdf-viewer-worker.js +28 -0
  129. package/dist/browser/inputs/ChoiceInputs.js +94 -51
  130. package/dist/browser/inputs/ChoiceInputs.js.map +1 -1
  131. package/dist/browser/inputs/ChoiceSlider.js +75 -58
  132. package/dist/browser/inputs/ChoiceSlider.js.map +1 -1
  133. package/dist/browser/inputs/DatePicker.js +118 -102
  134. package/dist/browser/inputs/DatePicker.js.map +1 -1
  135. package/dist/browser/inputs/PeriodPicker.js +874 -0
  136. package/dist/browser/inputs/PeriodPicker.js.map +1 -0
  137. package/dist/browser/inputs/SelectChip.js +50 -17
  138. package/dist/browser/inputs/SelectChip.js.map +1 -1
  139. package/dist/browser/inputs/date-picker.js +13 -0
  140. package/dist/browser/inputs/date-picker.js.map +1 -1
  141. package/dist/browser/inputs/index.js +4 -1
  142. package/dist/browser/inputs/index.js.map +1 -1
  143. package/dist/browser/inputs/input-messages.js +8 -2
  144. package/dist/browser/inputs/input-messages.js.map +1 -1
  145. package/dist/browser/inputs/markdown/MarkdownEditor.js +14 -10
  146. package/dist/browser/inputs/markdown/MarkdownEditor.js.map +1 -1
  147. package/dist/browser/inputs/markdown/SlashCommands.js +402 -0
  148. package/dist/browser/inputs/markdown/SlashCommands.js.map +1 -0
  149. package/dist/browser/inputs/period-picker-messages.js +71 -0
  150. package/dist/browser/inputs/period-picker-messages.js.map +1 -0
  151. package/dist/browser/inputs/period.js +263 -0
  152. package/dist/browser/inputs/period.js.map +1 -0
  153. package/dist/browser/intl/Format.js +31 -8
  154. package/dist/browser/intl/Format.js.map +1 -1
  155. package/dist/browser/layout/AppWorkspace.js +7 -1
  156. package/dist/browser/layout/AppWorkspace.js.map +1 -1
  157. package/dist/browser/layout/DetailPanel.js +147 -120
  158. package/dist/browser/layout/DetailPanel.js.map +1 -1
  159. package/dist/browser/layout/Discussion.js +101 -108
  160. package/dist/browser/layout/Discussion.js.map +1 -1
  161. package/dist/browser/layout/index.js.map +1 -1
  162. package/dist/browser/surfaces/BudgetList.js +281 -0
  163. package/dist/browser/surfaces/BudgetList.js.map +1 -0
  164. package/dist/browser/surfaces/DescriptionList.js +5 -2
  165. package/dist/browser/surfaces/DescriptionList.js.map +1 -1
  166. package/dist/browser/surfaces/ProgressBar.js +134 -21
  167. package/dist/browser/surfaces/ProgressBar.js.map +1 -1
  168. package/dist/browser/surfaces/StatCell.js +327 -146
  169. package/dist/browser/surfaces/StatCell.js.map +1 -1
  170. package/dist/browser/surfaces/StatGrid.js +75 -57
  171. package/dist/browser/surfaces/StatGrid.js.map +1 -1
  172. package/dist/browser/surfaces/budget-messages.js +64 -0
  173. package/dist/browser/surfaces/budget-messages.js.map +1 -0
  174. package/dist/browser/surfaces/delta-badge.js +79 -0
  175. package/dist/browser/surfaces/delta-badge.js.map +1 -0
  176. package/dist/browser/surfaces/index.js +2 -1
  177. package/dist/browser/surfaces/index.js.map +1 -1
  178. package/dist/browser/surfaces/person-color.js +2 -2
  179. package/dist/browser/surfaces/person-color.js.map +1 -1
  180. package/dist/browser/surfaces/stat-cell-messages.js +41 -0
  181. package/dist/browser/surfaces/stat-cell-messages.js.map +1 -0
  182. package/dist/browser/widgets/Dashboard.js +137 -0
  183. package/dist/browser/widgets/Dashboard.js.map +1 -0
  184. package/dist/browser/widgets/DashboardFrame.js +310 -0
  185. package/dist/browser/widgets/DashboardFrame.js.map +1 -0
  186. package/dist/browser/widgets/index.js +2 -0
  187. package/dist/browser/widgets/index.js.map +1 -1
  188. package/dist/licenses/pdfjs-dist.txt +177 -0
  189. package/dist/ssr/actions/Button.js.map +1 -1
  190. package/dist/ssr/actions/CommandList.js +638 -0
  191. package/dist/ssr/actions/CommandList.js.map +1 -0
  192. package/dist/ssr/actions/CommandMenu.js +197 -0
  193. package/dist/ssr/actions/CommandMenu.js.map +1 -0
  194. package/dist/ssr/actions/ContextMenu.js +3 -0
  195. package/dist/ssr/actions/ContextMenu.js.map +1 -1
  196. package/dist/ssr/actions/Dropdown.js +43 -10
  197. package/dist/ssr/actions/Dropdown.js.map +1 -1
  198. package/dist/ssr/actions/command-dock.js +47 -0
  199. package/dist/ssr/actions/command-dock.js.map +1 -0
  200. package/dist/ssr/actions/command-items.js +84 -0
  201. package/dist/ssr/actions/command-items.js.map +1 -0
  202. package/dist/ssr/actions/command-messages.js +42 -0
  203. package/dist/ssr/actions/command-messages.js.map +1 -0
  204. package/dist/ssr/actions/index.js +1 -0
  205. package/dist/ssr/actions/index.js.map +1 -1
  206. package/dist/ssr/charts/core/area.js +188 -0
  207. package/dist/ssr/charts/core/area.js.map +1 -0
  208. package/dist/ssr/charts/core/calendar.js +186 -0
  209. package/dist/ssr/charts/core/calendar.js.map +1 -0
  210. package/dist/ssr/charts/core/chart-map-data.js +9 -0
  211. package/dist/ssr/charts/core/chart-map-data.js.map +1 -0
  212. package/dist/ssr/charts/core/chart-messages.js +17 -0
  213. package/dist/ssr/charts/core/chart-messages.js.map +1 -0
  214. package/dist/ssr/charts/core/hbar-layout.js +118 -0
  215. package/dist/ssr/charts/core/hbar-layout.js.map +1 -0
  216. package/dist/ssr/charts/core/hbar.js +39 -0
  217. package/dist/ssr/charts/core/hbar.js.map +1 -0
  218. package/dist/ssr/charts/core/index.js +17 -0
  219. package/dist/ssr/charts/core/index.js.map +1 -0
  220. package/dist/ssr/charts/core/inspection.js +9 -0
  221. package/dist/ssr/charts/core/inspection.js.map +1 -0
  222. package/dist/ssr/charts/core/map.js +116 -0
  223. package/dist/ssr/charts/core/map.js.map +1 -0
  224. package/dist/ssr/charts/core/registry.js +35 -0
  225. package/dist/ssr/charts/core/registry.js.map +1 -0
  226. package/dist/ssr/charts/core/render-size.js +13 -0
  227. package/dist/ssr/charts/core/render-size.js.map +1 -0
  228. package/dist/ssr/charts/core/render.js +113 -0
  229. package/dist/ssr/charts/core/render.js.map +1 -0
  230. package/dist/ssr/charts/core/snapshot.js +65 -0
  231. package/dist/ssr/charts/core/snapshot.js.map +1 -0
  232. package/dist/ssr/charts/core/svg-renderers.js +2406 -0
  233. package/dist/ssr/charts/core/svg-renderers.js.map +1 -0
  234. package/dist/ssr/charts/core/svg.js +21 -0
  235. package/dist/ssr/charts/core/svg.js.map +1 -0
  236. package/dist/ssr/charts/core/termination.test-fixture.js +162 -0
  237. package/dist/ssr/charts/core/termination.test-fixture.js.map +1 -0
  238. package/dist/ssr/charts/core/text.js +13 -0
  239. package/dist/ssr/charts/core/text.js.map +1 -0
  240. package/dist/ssr/charts/core/types.js +6 -0
  241. package/dist/ssr/charts/core/types.js.map +1 -0
  242. package/dist/ssr/charts/core/waterfall.js +162 -0
  243. package/dist/ssr/charts/core/waterfall.js.map +1 -0
  244. package/dist/ssr/charts/description.js +2 -0
  245. package/dist/ssr/charts/description.js.map +1 -0
  246. package/dist/ssr/charts.js +4 -2
  247. package/dist/ssr/charts.js.map +1 -1
  248. package/dist/ssr/content/BalanceSummary.js +75 -0
  249. package/dist/ssr/content/BalanceSummary.js.map +1 -0
  250. package/dist/ssr/content/Chart.js +21 -483
  251. package/dist/ssr/content/Chart.js.map +1 -1
  252. package/dist/ssr/content/ChartExplorer.js +190 -46
  253. package/dist/ssr/content/ChartExplorer.js.map +1 -1
  254. package/dist/ssr/content/ChartRoot.js +475 -0
  255. package/dist/ssr/content/ChartRoot.js.map +1 -0
  256. package/dist/ssr/content/ChartSnapshotView.js +5 -1
  257. package/dist/ssr/content/ChartSnapshotView.js.map +1 -1
  258. package/dist/ssr/content/ChartSparkline.js +24 -0
  259. package/dist/ssr/content/ChartSparkline.js.map +1 -0
  260. package/dist/ssr/content/DataTable.js +287 -78
  261. package/dist/ssr/content/DataTable.js.map +1 -1
  262. package/dist/ssr/content/DataTableTools.js +106 -0
  263. package/dist/ssr/content/DataTableTools.js.map +1 -0
  264. package/dist/ssr/content/FileView.js +56 -7
  265. package/dist/ssr/content/FileView.js.map +1 -1
  266. package/dist/ssr/content/FlowAmount.js +58 -0
  267. package/dist/ssr/content/FlowAmount.js.map +1 -0
  268. package/dist/ssr/content/Lightbox.js +8 -8
  269. package/dist/ssr/content/Lightbox.js.map +1 -1
  270. package/dist/ssr/content/MapView.js +9 -9
  271. package/dist/ssr/content/MapView.js.map +1 -1
  272. package/dist/ssr/content/PdfPreview.js +49 -20
  273. package/dist/ssr/content/PdfPreview.js.map +1 -1
  274. package/dist/ssr/content/PdfViewer.js +484 -0
  275. package/dist/ssr/content/PdfViewer.js.map +1 -0
  276. package/dist/ssr/content/balance-summary-messages.js +26 -0
  277. package/dist/ssr/content/balance-summary-messages.js.map +1 -0
  278. package/dist/ssr/content/chart-bar.js +251 -21
  279. package/dist/ssr/content/chart-bar.js.map +1 -1
  280. package/dist/ssr/content/chart-calendar.js +43 -0
  281. package/dist/ssr/content/chart-calendar.js.map +1 -0
  282. package/dist/ssr/content/chart-inspection-core.js +178 -50
  283. package/dist/ssr/content/chart-inspection-core.js.map +1 -1
  284. package/dist/ssr/content/chart-inspection.js.map +1 -1
  285. package/dist/ssr/content/chart-line-gaps.js +2 -2
  286. package/dist/ssr/content/chart-line-gaps.js.map +1 -1
  287. package/dist/ssr/content/chart-map-viewport.js.map +1 -1
  288. package/dist/ssr/content/chart-message-catalog.js +174 -0
  289. package/dist/ssr/content/chart-message-catalog.js.map +1 -0
  290. package/dist/ssr/content/chart-messages.js +2 -138
  291. package/dist/ssr/content/chart-messages.js.map +1 -1
  292. package/dist/ssr/content/chart-snapshot.js +1 -62
  293. package/dist/ssr/content/chart-snapshot.js.map +1 -1
  294. package/dist/ssr/content/chart-state-timeline.js +1 -1
  295. package/dist/ssr/content/chart-state-timeline.js.map +1 -1
  296. package/dist/ssr/content/chart-svg.js +4 -2
  297. package/dist/ssr/content/chart-svg.js.map +1 -1
  298. package/dist/ssr/content/chart-time-axis.js +139 -0
  299. package/dist/ssr/content/chart-time-axis.js.map +1 -0
  300. package/dist/ssr/content/data-table-columns.js +160 -0
  301. package/dist/ssr/content/data-table-columns.js.map +1 -0
  302. package/dist/ssr/content/data-table-messages.js +38 -2
  303. package/dist/ssr/content/data-table-messages.js.map +1 -1
  304. package/dist/ssr/content/flow-amount-messages.js +26 -0
  305. package/dist/ssr/content/flow-amount-messages.js.map +1 -0
  306. package/dist/ssr/content/index.js +5 -0
  307. package/dist/ssr/content/index.js.map +1 -1
  308. package/dist/ssr/content/pdf-document.js +29 -0
  309. package/dist/ssr/content/pdf-document.js.map +1 -0
  310. package/dist/ssr/content/pdf-limits.js +31 -0
  311. package/dist/ssr/content/pdf-limits.js.map +1 -0
  312. package/dist/ssr/content/pdf-messages.js +34 -2
  313. package/dist/ssr/content/pdf-messages.js.map +1 -1
  314. package/dist/ssr/inputs/ChoiceInputs.js +49 -12
  315. package/dist/ssr/inputs/ChoiceInputs.js.map +1 -1
  316. package/dist/ssr/inputs/ChoiceSlider.js +17 -12
  317. package/dist/ssr/inputs/ChoiceSlider.js.map +1 -1
  318. package/dist/ssr/inputs/DatePicker.js +19 -13
  319. package/dist/ssr/inputs/DatePicker.js.map +1 -1
  320. package/dist/ssr/inputs/PeriodPicker.js +598 -0
  321. package/dist/ssr/inputs/PeriodPicker.js.map +1 -0
  322. package/dist/ssr/inputs/SelectChip.js +26 -9
  323. package/dist/ssr/inputs/SelectChip.js.map +1 -1
  324. package/dist/ssr/inputs/date-picker.js +13 -0
  325. package/dist/ssr/inputs/date-picker.js.map +1 -1
  326. package/dist/ssr/inputs/index.js +4 -1
  327. package/dist/ssr/inputs/index.js.map +1 -1
  328. package/dist/ssr/inputs/input-messages.js +8 -2
  329. package/dist/ssr/inputs/input-messages.js.map +1 -1
  330. package/dist/ssr/inputs/markdown/MarkdownEditor.js +3 -2
  331. package/dist/ssr/inputs/markdown/MarkdownEditor.js.map +1 -1
  332. package/dist/ssr/inputs/markdown/SlashCommands.js +339 -0
  333. package/dist/ssr/inputs/markdown/SlashCommands.js.map +1 -0
  334. package/dist/ssr/inputs/period-picker-messages.js +71 -0
  335. package/dist/ssr/inputs/period-picker-messages.js.map +1 -0
  336. package/dist/ssr/inputs/period.js +263 -0
  337. package/dist/ssr/inputs/period.js.map +1 -0
  338. package/dist/ssr/intl/Format.js +22 -2
  339. package/dist/ssr/intl/Format.js.map +1 -1
  340. package/dist/ssr/layout/AppWorkspace.js +7 -1
  341. package/dist/ssr/layout/AppWorkspace.js.map +1 -1
  342. package/dist/ssr/layout/DetailPanel.js +27 -4
  343. package/dist/ssr/layout/DetailPanel.js.map +1 -1
  344. package/dist/ssr/layout/Discussion.js +16 -2
  345. package/dist/ssr/layout/Discussion.js.map +1 -1
  346. package/dist/ssr/layout/index.js.map +1 -1
  347. package/dist/ssr/surfaces/BudgetList.js +170 -0
  348. package/dist/ssr/surfaces/BudgetList.js.map +1 -0
  349. package/dist/ssr/surfaces/DescriptionList.js +1 -1
  350. package/dist/ssr/surfaces/DescriptionList.js.map +1 -1
  351. package/dist/ssr/surfaces/ProgressBar.js +96 -5
  352. package/dist/ssr/surfaces/ProgressBar.js.map +1 -1
  353. package/dist/ssr/surfaces/StatCell.js +157 -52
  354. package/dist/ssr/surfaces/StatCell.js.map +1 -1
  355. package/dist/ssr/surfaces/StatGrid.js +24 -35
  356. package/dist/ssr/surfaces/StatGrid.js.map +1 -1
  357. package/dist/ssr/surfaces/budget-messages.js +64 -0
  358. package/dist/ssr/surfaces/budget-messages.js.map +1 -0
  359. package/dist/ssr/surfaces/delta-badge.js +55 -0
  360. package/dist/ssr/surfaces/delta-badge.js.map +1 -0
  361. package/dist/ssr/surfaces/index.js +2 -1
  362. package/dist/ssr/surfaces/index.js.map +1 -1
  363. package/dist/ssr/surfaces/person-color.js +2 -2
  364. package/dist/ssr/surfaces/person-color.js.map +1 -1
  365. package/dist/ssr/surfaces/stat-cell-messages.js +41 -0
  366. package/dist/ssr/surfaces/stat-cell-messages.js.map +1 -0
  367. package/dist/ssr/widgets/Dashboard.js +84 -0
  368. package/dist/ssr/widgets/Dashboard.js.map +1 -0
  369. package/dist/ssr/widgets/DashboardFrame.js +200 -0
  370. package/dist/ssr/widgets/DashboardFrame.js.map +1 -0
  371. package/dist/ssr/widgets/index.js +2 -0
  372. package/dist/ssr/widgets/index.js.map +1 -1
  373. package/dist/styles.css +1 -1
  374. package/dist/types/actions/Button.d.ts +1 -1
  375. package/dist/types/actions/CommandList.d.ts +120 -0
  376. package/dist/types/actions/CommandMenu.d.ts +39 -0
  377. package/dist/types/actions/Dropdown.d.ts +17 -0
  378. package/dist/types/actions/command-dock.d.ts +8 -0
  379. package/dist/types/actions/command-items.d.ts +134 -0
  380. package/dist/types/actions/command-messages.d.ts +19 -0
  381. package/dist/types/actions/index.d.ts +3 -0
  382. package/dist/types/charts/core/area.d.ts +62 -0
  383. package/dist/types/charts/core/calendar.d.ts +57 -0
  384. package/dist/types/charts/core/chart-map-data.d.ts +3 -0
  385. package/dist/types/charts/core/chart-messages.d.ts +5 -0
  386. package/dist/types/charts/core/hbar-layout.d.ts +74 -0
  387. package/dist/types/charts/core/hbar.d.ts +13 -0
  388. package/dist/types/charts/core/index.d.ts +16 -0
  389. package/dist/types/charts/core/inspection.d.ts +16 -0
  390. package/dist/types/charts/core/map.d.ts +3 -0
  391. package/dist/types/charts/core/registry.d.ts +33 -0
  392. package/dist/types/charts/core/render-size.d.ts +7 -0
  393. package/dist/types/charts/core/render.d.ts +37 -0
  394. package/dist/types/charts/core/snapshot.d.ts +27 -0
  395. package/dist/types/charts/core/svg-renderers.d.ts +722 -0
  396. package/dist/types/charts/core/svg.d.ts +20 -0
  397. package/dist/types/charts/core/termination.test-fixture.d.ts +1 -0
  398. package/dist/types/charts/core/text.d.ts +5 -0
  399. package/dist/types/charts/core/types.d.ts +20 -0
  400. package/dist/types/charts/core/waterfall.d.ts +68 -0
  401. package/dist/types/charts/description.d.ts +226 -0
  402. package/dist/types/charts.d.ts +5 -2
  403. package/dist/types/content/BalanceSummary.d.ts +29 -0
  404. package/dist/types/content/Chart.d.ts +19 -117
  405. package/dist/types/content/ChartExplorer.d.ts +43 -2
  406. package/dist/types/content/ChartRoot.d.ts +92 -0
  407. package/dist/types/content/ChartSnapshotView.d.ts +1 -0
  408. package/dist/types/content/ChartSparkline.d.ts +5 -0
  409. package/dist/types/content/DataTable.d.ts +28 -0
  410. package/dist/types/content/DataTableTools.d.ts +44 -0
  411. package/dist/types/content/FlowAmount.d.ts +28 -0
  412. package/dist/types/content/PdfViewer.d.ts +32 -0
  413. package/dist/types/content/balance-summary-messages.d.ts +11 -0
  414. package/dist/types/content/chart-bar.d.ts +95 -2
  415. package/dist/types/content/chart-calendar.d.ts +4 -0
  416. package/dist/types/content/chart-inspection-core.d.ts +21 -16
  417. package/dist/types/content/chart-inspection.d.ts +5 -1
  418. package/dist/types/content/chart-map-viewport.d.ts +1 -1
  419. package/dist/types/content/chart-message-catalog.d.ts +84 -0
  420. package/dist/types/content/chart-messages.d.ts +2 -33
  421. package/dist/types/content/chart-snapshot.d.ts +1 -26
  422. package/dist/types/content/chart-svg.d.ts +1 -1
  423. package/dist/types/content/chart-time-axis.d.ts +26 -0
  424. package/dist/types/content/data-table-columns.d.ts +72 -0
  425. package/dist/types/content/data-table-messages.d.ts +18 -0
  426. package/dist/types/content/flow-amount-messages.d.ts +11 -0
  427. package/dist/types/content/index.d.ts +12 -2
  428. package/dist/types/content/pdf-document.d.ts +5 -0
  429. package/dist/types/content/pdf-engine.d.ts +9 -0
  430. package/dist/types/content/pdf-limits.d.ts +43 -0
  431. package/dist/types/content/pdf-messages.d.ts +16 -0
  432. package/dist/types/inputs/ChoiceInputs.d.ts +4 -0
  433. package/dist/types/inputs/ChoiceSlider.d.ts +12 -0
  434. package/dist/types/inputs/DatePicker.d.ts +22 -0
  435. package/dist/types/inputs/PeriodPicker.d.ts +24 -0
  436. package/dist/types/inputs/SelectChip.d.ts +2 -0
  437. package/dist/types/inputs/date-picker.d.ts +6 -0
  438. package/dist/types/inputs/index.d.ts +8 -2
  439. package/dist/types/inputs/input-messages.d.ts +3 -0
  440. package/dist/types/inputs/markdown/MarkdownEditor.d.ts +5 -0
  441. package/dist/types/inputs/markdown/SlashCommands.d.ts +20 -0
  442. package/dist/types/inputs/period-picker-messages.d.ts +34 -0
  443. package/dist/types/inputs/period.d.ts +134 -0
  444. package/dist/types/intl/Format.d.ts +5 -0
  445. package/dist/types/layout/AppWorkspace.d.ts +5 -0
  446. package/dist/types/layout/DetailPanel.d.ts +12 -0
  447. package/dist/types/layout/index.d.ts +1 -1
  448. package/dist/types/surfaces/BudgetList.d.ts +42 -0
  449. package/dist/types/surfaces/DescriptionList.d.ts +5 -0
  450. package/dist/types/surfaces/ProgressBar.d.ts +38 -2
  451. package/dist/types/surfaces/StatCell.d.ts +40 -2
  452. package/dist/types/surfaces/StatGrid.d.ts +3 -1
  453. package/dist/types/surfaces/budget-messages.d.ts +30 -0
  454. package/dist/types/surfaces/delta-badge.d.ts +10 -0
  455. package/dist/types/surfaces/index.d.ts +4 -3
  456. package/dist/types/surfaces/person-color.d.ts +2 -2
  457. package/dist/types/surfaces/stat-cell-messages.d.ts +19 -0
  458. package/dist/types/widgets/Dashboard.d.ts +42 -0
  459. package/dist/types/widgets/DashboardFrame.d.ts +58 -0
  460. package/dist/types/widgets/index.d.ts +2 -0
  461. package/package.json +8 -1
@@ -0,0 +1,92 @@
1
+ import type { JSX } from "solid-js";
2
+ import type { ChartDrawingOptions } from "../charts/core/render";
3
+ import type { ChartCursor } from "./chart-cursor";
4
+ import { type ChartDatumRef, type ChartKind, type ChartSelection, type ChartTooltipFormatter } from "./chart-inspection-core";
5
+ /**
6
+ * Chart — Solid interaction and sizing around the portable UI chart core.
7
+ *
8
+ * **Live-update story.** `charts.<kind>(opts)` returns an SVG string;
9
+ * Solid's `innerHTML` is reactive, so any time a prop (signal, store
10
+ * slice, derived value) changes, the SVG re-renders. No manual
11
+ * subscription, no imperative DOM patching. Trade-off: every change
12
+ * is a full SVG re-build, not a diff — fine for dashboard cadences
13
+ * (poll, websocket, store updates). Don't use this for 60fps streaming.
14
+ *
15
+ * **Sizing.** The server and browser render the same logical viewBox. CSS
16
+ * fits Cartesian plots to the container and preserves text/marker sizes;
17
+ * maps fit the whole world and zoom uniformly across the full plot; pies, donuts and gauges retain
18
+ * their aspect ratio. No measurement
19
+ * or hydration redraw is needed. The caller sizes the wrapper, for example
20
+ * `style={{ height: "14rem" }}`. State timelines derive their default height
21
+ * from the row count and legend via `stateTimelineHeight()`.
22
+ *
23
+ * **Why so thin.** The props are a discriminated union over each
24
+ * registered core chart renderer — `kind: "line"` brings in exactly the params
25
+ * `charts.line` expects, `kind: "bar"` brings in `charts.bar`'s, etc.
26
+ * Options stay aligned with the core renderer without renaming. Every chart provides
27
+ * renderer-owned inspection, tooltips and optional selection by default.
28
+ * `interactive` adds bounded pan / zoom and reset controls to maps and state timelines.
29
+ * When a core renderer gains an option, it is automatically available at every
30
+ * callsite.
31
+ *
32
+ * **Theming.** The core renderers use `currentColor` for axes / ticks /
33
+ * tick labels — set the wrapping element's `color` and everything
34
+ * inherits. Series colors come from `--stdlib-chart-c1..c8` CSS
35
+ * custom properties; override on the parent for per-chart palettes.
36
+ *
37
+ * ```tsx
38
+ * <Chart kind="line" style={{ height: "12rem" }}
39
+ * series={[{ data: points() }]}
40
+ * yAxis={{ format: v => `€${v}k` }} />
41
+ *
42
+ * <Chart kind="donut" style={{ height: "12rem" }} data={slices()} />
43
+ *
44
+ * <Chart kind="sparkline" style={{ width: "6rem", height: "1.5rem" }} data={trend()} />
45
+ *
46
+ * <Chart kind="map" style={{ height: "16rem" }} series={locations()} interactive />
47
+ * ```
48
+ */
49
+ /** All registered chart kinds. */
50
+ export type { ChartKind } from "./chart-inspection-core";
51
+ export type ChartLabels = Partial<{
52
+ empty: string;
53
+ series: string;
54
+ interactiveMap: string;
55
+ interactiveTimeline: string;
56
+ interactiveLine: string;
57
+ interactiveChart: string;
58
+ zoomIn: string;
59
+ zoomOut: string;
60
+ resetMap: string;
61
+ resetTimeline: string;
62
+ }>;
63
+ /**
64
+ * Per-kind props: `kind` discriminator + the exact options that
65
+ * `charts.<kind>` accepts, **minus** `width` / `height` (the wrapper
66
+ * owns those — CSS fits a stable coordinate space to the box). Solid's
67
+ * component model handles discriminated unions natively, so callsites
68
+ * get full type safety.
69
+ */
70
+ export type ChartProps = {
71
+ [K in ChartKind]: Extract<ChartDrawingOptions, {
72
+ kind: K;
73
+ }> & {
74
+ class?: string;
75
+ style?: JSX.CSSProperties | string;
76
+ labels?: ChartLabels;
77
+ /**
78
+ * Navigation for maps and state timelines: pan, zoom and reset controls.
79
+ * Arrows pan; Alt+arrows inspect. Every chart shows tooltips and keyboard
80
+ * inspection without this prop.
81
+ */
82
+ interactive?: boolean;
83
+ onSelect?: (selection: ChartSelection) => void;
84
+ /** Controlled highlight; indices belong to this exact input snapshot. */
85
+ selected?: ChartDatumRef | null;
86
+ /** Customize the always-on tooltip with a title and labeled text rows. */
87
+ tooltip?: ChartTooltipFormatter;
88
+ /** Optional shared X cursor for line charts. */
89
+ cursor?: ChartCursor;
90
+ };
91
+ }[ChartKind];
92
+ export declare const renderChartRoot: (props: ChartProps, renderChartSvg: typeof import("../charts/core/render").renderChartSvg) => JSX.Element;
@@ -5,6 +5,7 @@ import type { ChartSnapshot } from "./chart-snapshot";
5
5
  export declare function ChartSnapshotView(props: {
6
6
  snapshot: ChartSnapshot;
7
7
  cursor?: ChartCursor;
8
+ legend?: () => ParentNode | undefined;
8
9
  selectedKey: string | null;
9
10
  onSelect: (key: string) => void;
10
11
  style?: JSX.CSSProperties;
@@ -0,0 +1,5 @@
1
+ import { type ChartProps } from "./ChartRoot";
2
+ /** The same chart host and SVG for stat trends, without the catalog dispatcher. */
3
+ export declare function ChartSparkline(props: Omit<Extract<ChartProps, {
4
+ kind: "sparkline";
5
+ }>, "kind">): import("solid-js").JSX.Element;
@@ -1,5 +1,6 @@
1
1
  import { type JSX } from "solid-js";
2
2
  import type { CollectionSelection } from "./collection-selection";
3
+ import { type DataTableTypedColumn } from "./data-table-columns";
3
4
  export type DataTableColumn<T> = {
4
5
  id: string;
5
6
  header: JSX.Element | ((ctx: {
@@ -29,6 +30,22 @@ export type DataTableColumn<T> = {
29
30
  * rate while another sorts by the absolute count behind it.
30
31
  */
31
32
  sortable?: boolean | string;
33
+ /** What the column holds; see `DataTableColumnType`. */
34
+ type?: DataTableTypedColumn["type"];
35
+ format?: DataTableTypedColumn["format"];
36
+ /** Labels and tones of a status column, by stored value. */
37
+ states?: DataTableTypedColumn["states"];
38
+ /** The value a bar column fills its track at; defaults to its largest value. */
39
+ max?: number;
40
+ /** The zone a date column with a time reads in; defaults to the reader's. */
41
+ timeZone?: string;
42
+ /** How a delta column reads and rates its change. */
43
+ delta?: DataTableTypedColumn["delta"];
44
+ /**
45
+ * How much a narrow table needs the column: 1 (default) always shows; 3 hides below a table width of 560 px,
46
+ * 2 below 420 px. Hidden values stay one tap away in the row's details.
47
+ */
48
+ priority?: 1 | 2 | 3;
32
49
  };
33
50
  export type DataTableSort = {
34
51
  key: string;
@@ -104,6 +121,17 @@ export type DataTableProps<T> = {
104
121
  /** Additional classes for the scrolling region, such as `k2b-detail-trail`. */
105
122
  scrollClass?: string;
106
123
  scrollPreserveKey?: string | false;
124
+ /**
125
+ * The id of the column whose values split the rows into groups, each its own `<tbody>` under a row with the
126
+ * group's value and count, in the order the groups first appear.
127
+ */
128
+ groupBy?: string;
129
+ /**
130
+ * The host's search text. With no rows left, the table says that nothing matches it and offers to clear it
131
+ * through `onClearQuery`, instead of `empty`. Filter the rows with `filterRows`.
132
+ */
133
+ query?: string;
134
+ onClearQuery?: () => void;
107
135
  };
108
136
  export type DataTablePanelProps = {
109
137
  children: JSX.Element;
@@ -0,0 +1,44 @@
1
+ import { type Accessor, type JSX } from "solid-js";
2
+ import type { DataTableColumn, DataTableSort } from "./DataTable";
3
+ export type DataTableViewOptions<T> = {
4
+ rows: Accessor<readonly T[]>;
5
+ columns: Accessor<readonly DataTableColumn<T>[]>;
6
+ sort?: DataTableSort | null;
7
+ groupBy?: string | null;
8
+ };
9
+ export type DataTableView<T> = {
10
+ query: Accessor<string>;
11
+ setQuery: (query: string) => void;
12
+ sort: Accessor<DataTableSort | null>;
13
+ setSort: (sort: DataTableSort | null) => void;
14
+ groupBy: Accessor<string | null>;
15
+ setGroupBy: (id: string | null) => void;
16
+ /** The rows that match the query, in the chosen order. */
17
+ rows: Accessor<T[]>;
18
+ };
19
+ /**
20
+ * The state of a table a reader searches, sorts and groups in the browser: pass `rows()` and the state to `DataTable`
21
+ * and the setters to `DataTableTools` and `onSortChange`. Search and order read the shown text of typed columns.
22
+ */
23
+ export declare function createDataTableView<T>(options: DataTableViewOptions<T>): DataTableView<T>;
24
+ export type DataTableToolsProps = {
25
+ /** The table's name, for the search field's accessible name ("Search Campaigns"). */
26
+ label: string;
27
+ query?: string;
28
+ onQueryChange?: (query: string) => void;
29
+ /** Columns the reader may group by; without them no group choice shows. An empty list keeps the choice in place while it loads. */
30
+ groups?: readonly {
31
+ id: string;
32
+ label: string;
33
+ }[];
34
+ groupBy?: string | null;
35
+ onGroupByChange?: (id: string | null) => void;
36
+ /** While the table has no rows to work on, such as during loading or after a failure. */
37
+ disabled?: boolean;
38
+ class?: string;
39
+ };
40
+ /**
41
+ * Search and group choice for the head of the frame that holds a table, never inside the table. Below a frame width
42
+ * of 560 px the tools take their own line under the title and the search field fills it.
43
+ */
44
+ export declare function DataTableTools(props: DataTableToolsProps): JSX.Element;
@@ -0,0 +1,28 @@
1
+ import { type JSX } from "solid-js";
2
+ export type FlowAmountDirection = "in" | "out" | "none";
3
+ export type FlowAmountProps = Omit<JSX.HTMLAttributes<HTMLSpanElement>, "children"> & {
4
+ /** Signed amount: positive money comes in, negative goes out, zero moves nothing. */
5
+ value: number;
6
+ /** ISO 4217 currency code, e.g. `"EUR"`. */
7
+ currency: string;
8
+ /** Explicit locale override; defaults to the inherited render locale. */
9
+ locale?: string;
10
+ /** Fixed fraction digits. Defaults to the currency's standard digits. */
11
+ decimals?: number;
12
+ /** The direction words screen readers hear, e.g. `{ in: "Einnahme", out: "Ausgabe" }`. */
13
+ labels?: {
14
+ in?: string;
15
+ out?: string;
16
+ };
17
+ /** `"lg"` is the key figure size. */
18
+ size?: "md" | "lg";
19
+ };
20
+ /** The direction a signed amount moves money; `-0` and non-finite amounts move nothing (non-finite shows "—"). */
21
+ export declare const flowDirection: (value: number) => FlowAmountDirection;
22
+ /**
23
+ * Money with a direction: incoming is turquoise on a ringed surface with an arrow down-left, outgoing is violet with
24
+ * an arrow up-right, zero is grey with "=". The amount carries no sign; the arrow and, for screen readers, a word say
25
+ * the direction, so colour is never the only signal.
26
+ */
27
+ export declare function FlowAmount(props: FlowAmountProps): JSX.Element;
28
+ export default FlowAmount;
@@ -0,0 +1,32 @@
1
+ import { type JSX } from "solid-js";
2
+ import { type PdfPageSize } from "./pdf-document";
3
+ export type PdfViewerProps = {
4
+ /** The PDF itself. A new value opens that document. */
5
+ data: Blob | ArrayBuffer;
6
+ /** The document's name, for the scroll area and the page images. */
7
+ title: string;
8
+ /** Without the zoom bar, always fit to the width. Defaults to `true`. */
9
+ zoom?: boolean;
10
+ /** Shows only this page (zero-based) instead of all pages one below the other. */
11
+ page?: number;
12
+ /** The first visible page is drawn; a host can drop its loading state. */
13
+ onReady?: () => void;
14
+ /** The document could not be opened, or a page could not be drawn and has no image yet. */
15
+ onError?: (error: unknown) => void;
16
+ class?: string;
17
+ };
18
+ /** Steps for − and + in percent; Ctrl or ⌘ with the wheel and two fingers zoom freely between the first and the last. */
19
+ export declare const PDF_ZOOM_STEPS: readonly [25, 50, 75, 100, 125, 150, 200, 300];
20
+ /** The next zoom step above or below `percent`; at either end it stays there. */
21
+ export declare const nextPdfZoomStep: (percent: number, direction: 1 | -1) => number;
22
+ /**
23
+ * The page width most pages share, at a tie the first page's. "Width" fits every page to the area, so a landscape page
24
+ * among portrait ones never scrolls sideways; percentages and fixed zoom follow this common width.
25
+ */
26
+ export declare const commonPageWidth: (pages: readonly PdfPageSize[]) => number;
27
+ /**
28
+ * A PDF drawn by pdf.js in every browser: pages as images in one scroll area, an invisible text layer over each page
29
+ * to select, copy, and find text, and a small zoom bar. Only pages near the view are drawn and carry text; the others
30
+ * keep their size, so the scroll bar is right from the start. Printing and forms stay with the browser's own viewer.
31
+ */
32
+ export default function PdfViewer(props: PdfViewerProps): JSX.Element;
@@ -0,0 +1,11 @@
1
+ declare const balanceSummaryMessages: import("@k2b/stdlib").Catalog<{
2
+ start: string;
3
+ end: string;
4
+ in: string;
5
+ out: string;
6
+ }>;
7
+ export type BalanceSummaryMessages = ReturnType<(typeof balanceSummaryMessages)["resolve"]>["t"];
8
+ /** Resolved from an explicit locale override, else the inherited render locale. */
9
+ export declare const useBalanceSummaryMessages: (override?: () => string | undefined) => (() => BalanceSummaryMessages);
10
+ export declare const checkBalanceSummaryMessages: () => import("@k2b/stdlib").CatalogIssue[];
11
+ export {};
@@ -1,10 +1,23 @@
1
- import { type AxisOptions, type BarItem, type ReferenceLine } from "@k2b/stdlib";
1
+ import { type AxisOptions, type BarItem, type ReferenceLine } from "../charts/core/svg-renderers";
2
2
  /**
3
3
  * Bar chart options: stdlib's `charts.bar` options plus a title for the category axis and a separate value format.
4
4
  * The wrapper owns size and inspection.
5
5
  */
6
6
  export type BarChartOptions = {
7
- data: BarItem[];
7
+ data?: BarItem[];
8
+ /** Aligned categories and series. Null observations are gaps. */
9
+ x?: string[];
10
+ series?: {
11
+ label: string;
12
+ data: (number | null)[];
13
+ }[];
14
+ layout?: "columns" | "rows" | "grouped" | "stacked";
15
+ normalize?: boolean;
16
+ locale?: string;
17
+ compare?: {
18
+ label: string;
19
+ data: (number | null)[];
20
+ };
8
21
  /** Value axis. `label` titles it, `format` writes its ticks and, without `valueFormat`, the printed values. */
9
22
  yAxis?: AxisOptions;
10
23
  /**
@@ -43,11 +56,23 @@ export type BarChartOptions = {
43
56
  export type BarChartLayout = "columns" | "rows";
44
57
  /** Estimated width of `text` at `size` pixels in the UI sans font with tabular figures; a little wide on purpose. */
45
58
  export declare const chartTextWidth: (text: string, size?: number) => number;
59
+ /** Split a label into at most `lines` lines of `maxPx`; the last line ends with an ellipsis when the label is longer. */
60
+ export declare const wrapLabel: (label: string, maxPx: number, lines: number) => {
61
+ lines: string[];
62
+ truncated: boolean;
63
+ };
64
+ type Scale = {
65
+ domain: [number, number];
66
+ ticks: number[];
67
+ log: boolean;
68
+ };
69
+ export declare const headerHeight: (opts: BarChartOptions) => number;
46
70
  /** The layout a bar chart takes and its logical height, so server and browser reserve the same box. */
47
71
  export declare const barChartLayout: (opts: BarChartOptions, width?: number) => {
48
72
  layout: BarChartLayout;
49
73
  height: number;
50
74
  };
75
+ export declare const renderHeader: (opts: BarChartOptions, width: number) => string;
51
76
  /**
52
77
  * Render a bar chart in which every category has its label. Few short labels stand below vertical columns; otherwise
53
78
  * each category becomes a horizontal row with its label left of the bar and its value at the bar's end. Rows grow the
@@ -58,3 +83,71 @@ export declare const renderBarChartSvg: (opts: BarChartOptions & {
58
83
  height: number;
59
84
  inspect?: boolean;
60
85
  }) => string;
86
+ /** Stable wrapping legend slots reserve the widest total or category value before interaction. */
87
+ export declare function barSeriesLegend(entries: {
88
+ label: string;
89
+ data: (number | null)[];
90
+ }[], format: (v: number) => string, width?: number, displayWidth?: number, maxHeight?: number): {
91
+ items: {
92
+ label: string;
93
+ data: (number | null)[];
94
+ total: number | null;
95
+ x: number;
96
+ y: number;
97
+ labelWidth: number;
98
+ valueX: number;
99
+ }[];
100
+ hidden: number;
101
+ height: number;
102
+ };
103
+ /** Category geometry shared by SVG, server snapshots and browser inspection. */
104
+ export declare function seriesBarLayout(opts: BarChartOptions, size?: {
105
+ width: number;
106
+ height: number;
107
+ }): {
108
+ width: number;
109
+ height: number;
110
+ columns: {
111
+ label: string;
112
+ index: number;
113
+ center: number;
114
+ current: {
115
+ seriesIndex: number;
116
+ raw: number | null | undefined;
117
+ value: number | null;
118
+ base: number;
119
+ }[];
120
+ total: number;
121
+ previous: number | null | undefined;
122
+ }[];
123
+ totals: (number | null)[];
124
+ scale: Scale;
125
+ left: number;
126
+ right: number;
127
+ top: number;
128
+ bottom: number;
129
+ slot: number;
130
+ y: (value: number) => number;
131
+ format: (value: number) => string;
132
+ units: number;
133
+ entries: {
134
+ label: string;
135
+ data: (number | null)[];
136
+ }[];
137
+ legend: boolean;
138
+ legendLayout: {
139
+ items: {
140
+ label: string;
141
+ data: (number | null)[];
142
+ total: number | null;
143
+ x: number;
144
+ y: number;
145
+ labelWidth: number;
146
+ valueX: number;
147
+ }[];
148
+ hidden: number;
149
+ height: number;
150
+ };
151
+ barWidthPx: number;
152
+ };
153
+ export {};
@@ -0,0 +1,4 @@
1
+ import type { ChartInspectionNavigation } from "./chart-inspection-core";
2
+ export declare const calendarInspectionNavigation: ChartInspectionNavigation;
3
+ /** A calendar starts at the newest week. Pointer inspection never resets its scroll position. */
4
+ export declare function mountCalendarScroll(container: HTMLElement): () => void;
@@ -1,21 +1,15 @@
1
- import type { ChartDatum, charts } from "@k2b/stdlib";
1
+ import type { ChartKind } from "../charts/core/types";
2
2
  import type { ChartCursor } from "./chart-cursor";
3
- export type ChartKind = keyof typeof charts;
4
- export type ChartDatumRef = Pick<ChartDatum, "role" | "index" | "seriesIndex">;
5
- export declare const sameChartDatum: (a: ChartDatumRef, b: ChartDatumRef) => boolean;
6
- export type ChartSelection = {
7
- kind: ChartKind;
8
- datum: ChartDatum;
9
- };
10
- export type ChartTooltip = {
11
- title?: string;
12
- rows: readonly {
13
- label: string;
14
- value: string;
15
- }[];
3
+ export { type ChartDatumRef, type ChartSelection, type ChartTooltip, type ChartTooltipFormatter, isChartDatum, sameChartDatum, } from "../charts/core/inspection";
4
+ export type { ChartKind } from "../charts/core/types";
5
+ import { type ChartDatumRef, type ChartSelection, type ChartTooltipFormatter } from "../charts/core/inspection";
6
+ /** Host policy for inspecting an overflowing drawing. */
7
+ export type ChartInspectionNavigation = {
8
+ last?: boolean;
9
+ pointer?: boolean;
10
+ reveal?: (element: SVGGraphicsElement) => void;
11
+ keepScroll?: boolean;
16
12
  };
17
- export type ChartTooltipFormatter = (selection: ChartSelection) => ChartTooltip;
18
- export declare function isChartDatum(value: unknown): value is ChartDatum;
19
13
  /** Enhances existing SVG nodes. Pointer/focus changes never rebuild the chart. */
20
14
  export declare function createChartInspector(options: {
21
15
  container: () => HTMLElement | undefined;
@@ -24,8 +18,13 @@ export declare function createChartInspector(options: {
24
18
  anchor: () => HTMLSpanElement | undefined;
25
19
  kind: () => ChartKind;
26
20
  enabled: () => boolean;
21
+ /** Locale for unformatted values in an attached series legend. */
22
+ locale?: () => string;
23
+ /** Legend host when it is outside the inspected SVG container. */
24
+ legend?: () => ParentNode | undefined;
27
25
  format: ChartTooltipFormatter;
28
26
  select: (selection: ChartSelection) => void;
27
+ nav?: () => ChartInspectionNavigation | undefined;
29
28
  }): {
30
29
  selectDatum: (selected: ChartDatumRef | null | undefined) => void;
31
30
  selectData: (selected: readonly ChartDatumRef[]) => void;
@@ -33,6 +32,7 @@ export declare function createChartInspector(options: {
33
32
  destroy: () => void;
34
33
  move: (event: PointerEvent) => void;
35
34
  down: (event: PointerEvent) => void;
35
+ up: () => void;
36
36
  click: (event: MouseEvent) => void;
37
37
  focus: (event: FocusEvent) => void;
38
38
  key: (event: KeyboardEvent) => boolean;
@@ -45,12 +45,17 @@ export declare function closeChartInspectionOnOutside(options: {
45
45
  container: () => HTMLElement | undefined;
46
46
  tooltip: () => HTMLElement | undefined;
47
47
  close: () => void;
48
+ keepScroll?: () => boolean | undefined;
48
49
  }): () => void;
49
50
  export type InspectChartOptions = {
50
51
  kind: ChartKind;
52
+ nav?: ChartInspectionNavigation;
51
53
  format: ChartTooltipFormatter;
52
54
  select?: (selection: ChartSelection) => void;
53
55
  cursor?: ChartCursor;
56
+ locale?: string;
57
+ /** Host for a separately rendered series legend. Defaults to the chart container. */
58
+ legend?: ParentNode;
54
59
  };
55
60
  export type ChartInspection = {
56
61
  invalidate(): void;
@@ -1,5 +1,5 @@
1
1
  import type { ChartCursor } from "./chart-cursor";
2
- import { type ChartKind, type ChartSelection, type ChartTooltipFormatter } from "./chart-inspection-core";
2
+ import { type ChartInspectionNavigation, type ChartKind, type ChartSelection, type ChartTooltipFormatter } from "./chart-inspection-core";
3
3
  export type { ChartSelection } from "./chart-inspection-core";
4
4
  export declare function createChartInspection(options: {
5
5
  container: () => HTMLDivElement | undefined;
@@ -7,7 +7,10 @@ export declare function createChartInspection(options: {
7
7
  tooltip: () => HTMLSpanElement | undefined;
8
8
  anchor: () => HTMLSpanElement | undefined;
9
9
  kind: () => ChartKind;
10
+ nav?: () => ChartInspectionNavigation | undefined;
10
11
  enabled: () => boolean;
12
+ locale?: () => string;
13
+ legend?: () => ParentNode | undefined;
11
14
  format: ChartTooltipFormatter;
12
15
  select: (selection: ChartSelection) => void;
13
16
  }): {
@@ -15,6 +18,7 @@ export declare function createChartInspection(options: {
15
18
  selectData: (selected: readonly import("./chart-inspection-core").ChartDatumRef[]) => void;
16
19
  move: (event: PointerEvent) => void;
17
20
  down: (event: PointerEvent) => void;
21
+ up: () => void;
18
22
  click: (event: MouseEvent) => void;
19
23
  focus: (event: FocusEvent) => void;
20
24
  key: (event: KeyboardEvent) => boolean;
@@ -1,4 +1,4 @@
1
- import type { MapViewport } from "@k2b/stdlib";
1
+ import type { MapViewport } from "../charts/core/svg";
2
2
  export declare const DEFAULT_MAP_VIEWPORT: MapViewport;
3
3
  export declare const normalizeMapViewport: (viewport: MapViewport | undefined) => MapViewport;
4
4
  export declare const zoomMapViewport: (viewport: MapViewport, delta: number, focus?: Pick<MapViewport, "latitude" | "longitude">) => MapViewport;
@@ -0,0 +1,84 @@
1
+ export declare const chartMessages: import("@k2b/stdlib").Catalog<{
2
+ chartView: string;
3
+ chartDiagram: string;
4
+ chartData: string;
5
+ chartSeries: string;
6
+ chartOnly: string;
7
+ chartShowAll: string;
8
+ chartShowing: string;
9
+ chartSelectedDatum: string;
10
+ chartReference: string;
11
+ chartCurrent: string;
12
+ chartPinReference: string;
13
+ chartRemoveComparison: string;
14
+ chartPreviousData: string;
15
+ chartCopyData: string;
16
+ chartCopyFailed: string;
17
+ chartLegend: string;
18
+ chartLoading: string;
19
+ chartLoadingRange: ({ range }: {
20
+ range: string;
21
+ }) => string;
22
+ chartLoadFailed: string;
23
+ chartLoadFailedKept: string;
24
+ chartAsOf: ({ time }: {
25
+ time: string;
26
+ }) => string;
27
+ chartRefreshFailed: string;
28
+ chartRowsShown: ({ shown, total }: {
29
+ shown: string;
30
+ total: string;
31
+ }) => string;
32
+ interactiveLineChart: string;
33
+ interactiveChart: string;
34
+ chartFields: ({ key }: {
35
+ key: string;
36
+ }) => string;
37
+ interactiveMap: string;
38
+ interactiveTimeline: string;
39
+ series: string;
40
+ resetMapView: string;
41
+ resetTimelineView: string;
42
+ }>;
43
+ export declare const resolveChartMessages: (locale: string) => {
44
+ chartView: string;
45
+ chartDiagram: string;
46
+ chartData: string;
47
+ chartSeries: string;
48
+ chartOnly: string;
49
+ chartShowAll: string;
50
+ chartShowing: string;
51
+ chartSelectedDatum: string;
52
+ chartReference: string;
53
+ chartCurrent: string;
54
+ chartPinReference: string;
55
+ chartRemoveComparison: string;
56
+ chartPreviousData: string;
57
+ chartCopyData: string;
58
+ chartCopyFailed: string;
59
+ chartLegend: string;
60
+ chartLoading: string;
61
+ chartLoadingRange: ({ range }: {
62
+ range: string;
63
+ }) => string;
64
+ chartLoadFailed: string;
65
+ chartLoadFailedKept: string;
66
+ chartAsOf: ({ time }: {
67
+ time: string;
68
+ }) => string;
69
+ chartRefreshFailed: string;
70
+ chartRowsShown: ({ shown, total }: {
71
+ shown: string;
72
+ total: string;
73
+ }) => string;
74
+ interactiveLineChart: string;
75
+ interactiveChart: string;
76
+ chartFields: ({ key }: {
77
+ key: string;
78
+ }) => string;
79
+ interactiveMap: string;
80
+ interactiveTimeline: string;
81
+ series: string;
82
+ resetMapView: string;
83
+ resetTimelineView: string;
84
+ };
@@ -1,37 +1,6 @@
1
- declare const chartMessages: import("@k2b/stdlib").Catalog<{
2
- chartView: string;
3
- chartDiagram: string;
4
- chartData: string;
5
- chartSeries: string;
6
- chartOnly: string;
7
- chartShowAll: string;
8
- chartShowing: string;
9
- chartSelectedDatum: string;
10
- chartReference: string;
11
- chartCurrent: string;
12
- chartPinReference: string;
13
- chartRemoveComparison: string;
14
- chartPreviousData: string;
15
- chartCopyData: string;
16
- chartCopyFailed: string;
17
- chartLegend: string;
18
- chartRowsShown: ({ shown, total }: {
19
- shown: string;
20
- total: string;
21
- }) => string;
22
- interactiveLineChart: string;
23
- interactiveChart: string;
24
- chartFields: ({ key }: {
25
- key: string;
26
- }) => string;
27
- interactiveMap: string;
28
- interactiveTimeline: string;
29
- series: string;
30
- resetMapView: string;
31
- resetTimelineView: string;
32
- }>;
1
+ import { chartMessages } from "./chart-message-catalog";
2
+ export { chartMessages, resolveChartMessages } from "./chart-message-catalog";
33
3
  export type ChartMessages = ReturnType<(typeof chartMessages)["resolve"]>["t"];
34
4
  /** Resolved from the inherited render locale. */
35
5
  export declare const useChartMessages: () => (() => ChartMessages);
36
6
  export declare const checkChartMessages: () => import("@k2b/stdlib").CatalogIssue[];
37
- export {};
@@ -1,26 +1 @@
1
- import { type ChartDatum } from "@k2b/stdlib";
2
- import { type ChartKind, type ChartRenderOptions } from "./Chart";
3
- import { type ChartSelection, type ChartTooltip, type ChartTooltipFormatter } from "./chart-inspection-core";
4
- /** Trusted output of prepareChartSnapshot; never accept arbitrary user SVG. */
5
- export type ChartSnapshot = {
6
- kind: ChartKind;
7
- svg: string;
8
- width: number;
9
- height: number;
10
- stretch: boolean;
11
- marks: readonly {
12
- key: string;
13
- rowKey: string;
14
- datum: ChartDatum;
15
- tooltip: ChartTooltip;
16
- reference?: boolean;
17
- }[];
18
- };
19
- /** Pure SVG preparation for server or browser. Transfer only this output across SSR boundaries. */
20
- export declare function prepareChartSnapshot(options: ChartRenderOptions, inspection: {
21
- key: (selection: ChartSelection) => string;
22
- /** Defaults to the mark key for one-to-one charts. */
23
- rowKey?: (selection: ChartSelection) => string;
24
- tooltip: ChartTooltipFormatter;
25
- reference?: (selection: ChartSelection) => boolean;
26
- }): ChartSnapshot;
1
+ export { type ChartSnapshot, prepareChartSnapshot } from "../charts/core/snapshot";
@@ -1,4 +1,4 @@
1
- import type { MapViewport } from "@k2b/stdlib";
1
+ import type { MapViewport } from "../charts/core/svg";
2
2
  /** Give maps a CSS-sized viewport while retaining the renderer's projection.
3
3
  * The outer SVG uses pixels for headers/legend; the nested geographic viewport
4
4
  * keeps one fitted scale across zoom levels and clips only at the plot edges.