@contraagent/elements 0.0.0-stage → 0.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 (609) hide show
  1. package/README.md +72 -2
  2. package/custom-elements.json +4260 -0
  3. package/dist/charts/bar-chart.d.ts +32 -0
  4. package/dist/charts/bar-chart.d.ts.map +1 -0
  5. package/dist/charts/bar-chart.js +70 -0
  6. package/dist/charts/bar-chart.js.map +1 -0
  7. package/dist/charts/base.d.ts +48 -0
  8. package/dist/charts/base.d.ts.map +1 -0
  9. package/dist/charts/base.js +203 -0
  10. package/dist/charts/base.js.map +1 -0
  11. package/dist/charts/column-chart.d.ts +42 -0
  12. package/dist/charts/column-chart.d.ts.map +1 -0
  13. package/dist/charts/column-chart.js +146 -0
  14. package/dist/charts/column-chart.js.map +1 -0
  15. package/dist/charts/heatmap.d.ts +42 -0
  16. package/dist/charts/heatmap.d.ts.map +1 -0
  17. package/dist/charts/heatmap.js +124 -0
  18. package/dist/charts/heatmap.js.map +1 -0
  19. package/dist/charts/index.d.ts +9 -0
  20. package/dist/charts/index.d.ts.map +1 -0
  21. package/dist/charts/index.js +11 -0
  22. package/dist/charts/index.js.map +1 -0
  23. package/dist/charts/line-chart.d.ts +36 -0
  24. package/dist/charts/line-chart.d.ts.map +1 -0
  25. package/dist/charts/line-chart.js +118 -0
  26. package/dist/charts/line-chart.js.map +1 -0
  27. package/dist/charts/scale.d.ts +32 -0
  28. package/dist/charts/scale.d.ts.map +1 -0
  29. package/dist/charts/scale.js +50 -0
  30. package/dist/charts/scale.js.map +1 -0
  31. package/dist/charts/state-grid.d.ts +64 -0
  32. package/dist/charts/state-grid.d.ts.map +1 -0
  33. package/dist/charts/state-grid.js +223 -0
  34. package/dist/charts/state-grid.js.map +1 -0
  35. package/dist/charts/types.d.ts +34 -0
  36. package/dist/charts/types.d.ts.map +1 -0
  37. package/dist/charts/types.js +11 -0
  38. package/dist/charts/types.js.map +1 -0
  39. package/dist/checks/check-table.d.ts +32 -0
  40. package/dist/checks/check-table.d.ts.map +1 -0
  41. package/dist/checks/check-table.js +94 -0
  42. package/dist/checks/check-table.js.map +1 -0
  43. package/dist/checks/index.d.ts +4 -0
  44. package/dist/checks/index.d.ts.map +1 -0
  45. package/dist/checks/index.js +6 -0
  46. package/dist/checks/index.js.map +1 -0
  47. package/dist/checks/styles.d.ts +5 -0
  48. package/dist/checks/styles.d.ts.map +1 -0
  49. package/dist/checks/styles.js +30 -0
  50. package/dist/checks/styles.js.map +1 -0
  51. package/dist/checks/types.d.ts +35 -0
  52. package/dist/checks/types.d.ts.map +1 -0
  53. package/dist/checks/types.js +12 -0
  54. package/dist/checks/types.js.map +1 -0
  55. package/dist/core/clock.d.ts +20 -0
  56. package/dist/core/clock.d.ts.map +1 -0
  57. package/dist/core/clock.js +45 -0
  58. package/dist/core/clock.js.map +1 -0
  59. package/dist/core/define.d.ts +3 -0
  60. package/dist/core/define.d.ts.map +1 -0
  61. package/dist/core/define.js +8 -0
  62. package/dist/core/define.js.map +1 -0
  63. package/dist/core/events.d.ts +78 -0
  64. package/dist/core/events.d.ts.map +1 -0
  65. package/dist/core/events.js +8 -0
  66. package/dist/core/events.js.map +1 -0
  67. package/dist/core/format.d.ts +8 -0
  68. package/dist/core/format.d.ts.map +1 -0
  69. package/dist/core/format.js +28 -0
  70. package/dist/core/format.js.map +1 -0
  71. package/dist/core/frame.d.ts +4 -0
  72. package/dist/core/frame.d.ts.map +1 -0
  73. package/dist/core/frame.js +5 -0
  74. package/dist/core/frame.js.map +1 -0
  75. package/dist/core/strings.d.ts +3 -0
  76. package/dist/core/strings.d.ts.map +1 -0
  77. package/dist/core/strings.js +14 -0
  78. package/dist/core/strings.js.map +1 -0
  79. package/dist/core/tone.d.ts +8 -0
  80. package/dist/core/tone.d.ts.map +1 -0
  81. package/dist/core/tone.js +9 -0
  82. package/dist/core/tone.js.map +1 -0
  83. package/dist/count/count.d.ts +22 -0
  84. package/dist/count/count.d.ts.map +1 -0
  85. package/dist/count/count.js +60 -0
  86. package/dist/count/count.js.map +1 -0
  87. package/dist/count/elapsed.d.ts +18 -0
  88. package/dist/count/elapsed.d.ts.map +1 -0
  89. package/dist/count/elapsed.js +33 -0
  90. package/dist/count/elapsed.js.map +1 -0
  91. package/dist/count/index.d.ts +3 -0
  92. package/dist/count/index.d.ts.map +1 -0
  93. package/dist/count/index.js +5 -0
  94. package/dist/count/index.js.map +1 -0
  95. package/dist/define/all.d.ts +13 -0
  96. package/dist/define/all.d.ts.map +1 -0
  97. package/dist/define/all.js +14 -0
  98. package/dist/define/all.js.map +1 -0
  99. package/dist/define/charts.d.ts +8 -0
  100. package/dist/define/charts.d.ts.map +1 -0
  101. package/dist/define/charts.js +15 -0
  102. package/dist/define/charts.js.map +1 -0
  103. package/dist/define/check-table.d.ts +4 -0
  104. package/dist/define/check-table.d.ts.map +1 -0
  105. package/dist/define/check-table.js +7 -0
  106. package/dist/define/check-table.js.map +1 -0
  107. package/dist/define/count.d.ts +5 -0
  108. package/dist/define/count.d.ts.map +1 -0
  109. package/dist/define/count.js +9 -0
  110. package/dist/define/count.js.map +1 -0
  111. package/dist/define/data-table.d.ts +4 -0
  112. package/dist/define/data-table.d.ts.map +1 -0
  113. package/dist/define/data-table.js +7 -0
  114. package/dist/define/data-table.js.map +1 -0
  115. package/dist/define/graph.d.ts +6 -0
  116. package/dist/define/graph.d.ts.map +1 -0
  117. package/dist/define/graph.js +9 -0
  118. package/dist/define/graph.js.map +1 -0
  119. package/dist/define/json-tree.d.ts +4 -0
  120. package/dist/define/json-tree.d.ts.map +1 -0
  121. package/dist/define/json-tree.js +7 -0
  122. package/dist/define/json-tree.js.map +1 -0
  123. package/dist/define/lanes.d.ts +4 -0
  124. package/dist/define/lanes.d.ts.map +1 -0
  125. package/dist/define/lanes.js +7 -0
  126. package/dist/define/lanes.js.map +1 -0
  127. package/dist/define/markdown.d.ts +4 -0
  128. package/dist/define/markdown.d.ts.map +1 -0
  129. package/dist/define/markdown.js +7 -0
  130. package/dist/define/markdown.js.map +1 -0
  131. package/dist/define/matrix.d.ts +4 -0
  132. package/dist/define/matrix.d.ts.map +1 -0
  133. package/dist/define/matrix.js +7 -0
  134. package/dist/define/matrix.js.map +1 -0
  135. package/dist/define/segmented.d.ts +4 -0
  136. package/dist/define/segmented.d.ts.map +1 -0
  137. package/dist/define/segmented.js +7 -0
  138. package/dist/define/segmented.js.map +1 -0
  139. package/dist/define/tiles.d.ts +5 -0
  140. package/dist/define/tiles.d.ts.map +1 -0
  141. package/dist/define/tiles.js +9 -0
  142. package/dist/define/tiles.js.map +1 -0
  143. package/dist/define/transcript.d.ts +4 -0
  144. package/dist/define/transcript.d.ts.map +1 -0
  145. package/dist/define/transcript.js +7 -0
  146. package/dist/define/transcript.js.map +1 -0
  147. package/dist/graph/arrange.d.ts +43 -0
  148. package/dist/graph/arrange.d.ts.map +1 -0
  149. package/dist/graph/arrange.js +390 -0
  150. package/dist/graph/arrange.js.map +1 -0
  151. package/dist/graph/card.d.ts +71 -0
  152. package/dist/graph/card.d.ts.map +1 -0
  153. package/dist/graph/card.js +185 -0
  154. package/dist/graph/card.js.map +1 -0
  155. package/dist/graph/host.d.ts +82 -0
  156. package/dist/graph/host.d.ts.map +1 -0
  157. package/dist/graph/host.js +21 -0
  158. package/dist/graph/host.js.map +1 -0
  159. package/dist/graph/icons.d.ts +7 -0
  160. package/dist/graph/icons.d.ts.map +1 -0
  161. package/dist/graph/icons.js +18 -0
  162. package/dist/graph/icons.js.map +1 -0
  163. package/dist/graph/index.d.ts +15 -0
  164. package/dist/graph/index.d.ts.map +1 -0
  165. package/dist/graph/index.js +17 -0
  166. package/dist/graph/index.js.map +1 -0
  167. package/dist/graph/layered-graph.d.ts +226 -0
  168. package/dist/graph/layered-graph.d.ts.map +1 -0
  169. package/dist/graph/layered-graph.js +396 -0
  170. package/dist/graph/layered-graph.js.map +1 -0
  171. package/dist/graph/layout.d.ts +80 -0
  172. package/dist/graph/layout.d.ts.map +1 -0
  173. package/dist/graph/layout.js +264 -0
  174. package/dist/graph/layout.js.map +1 -0
  175. package/dist/graph/marks.d.ts +24 -0
  176. package/dist/graph/marks.d.ts.map +1 -0
  177. package/dist/graph/marks.js +38 -0
  178. package/dist/graph/marks.js.map +1 -0
  179. package/dist/graph/nav.d.ts +14 -0
  180. package/dist/graph/nav.d.ts.map +1 -0
  181. package/dist/graph/nav.js +14 -0
  182. package/dist/graph/nav.js.map +1 -0
  183. package/dist/graph/pan-zoom.d.ts +80 -0
  184. package/dist/graph/pan-zoom.d.ts.map +1 -0
  185. package/dist/graph/pan-zoom.js +191 -0
  186. package/dist/graph/pan-zoom.js.map +1 -0
  187. package/dist/graph/paths.d.ts +9 -0
  188. package/dist/graph/paths.d.ts.map +1 -0
  189. package/dist/graph/paths.js +44 -0
  190. package/dist/graph/paths.js.map +1 -0
  191. package/dist/graph/place-card.d.ts +36 -0
  192. package/dist/graph/place-card.d.ts.map +1 -0
  193. package/dist/graph/place-card.js +68 -0
  194. package/dist/graph/place-card.js.map +1 -0
  195. package/dist/graph/strings.d.ts +50 -0
  196. package/dist/graph/strings.d.ts.map +1 -0
  197. package/dist/graph/strings.js +37 -0
  198. package/dist/graph/strings.js.map +1 -0
  199. package/dist/graph/styles.d.ts +2 -0
  200. package/dist/graph/styles.d.ts.map +1 -0
  201. package/dist/graph/styles.js +203 -0
  202. package/dist/graph/styles.js.map +1 -0
  203. package/dist/graph/types.d.ts +184 -0
  204. package/dist/graph/types.d.ts.map +1 -0
  205. package/dist/graph/types.js +2 -0
  206. package/dist/graph/types.js.map +1 -0
  207. package/dist/graph/view.d.ts +17 -0
  208. package/dist/graph/view.d.ts.map +1 -0
  209. package/dist/graph/view.js +21 -0
  210. package/dist/graph/view.js.map +1 -0
  211. package/dist/graph/views/dag.d.ts +10 -0
  212. package/dist/graph/views/dag.d.ts.map +1 -0
  213. package/dist/graph/views/dag.js +292 -0
  214. package/dist/graph/views/dag.js.map +1 -0
  215. package/dist/graph/views/foot.d.ts +8 -0
  216. package/dist/graph/views/foot.d.ts.map +1 -0
  217. package/dist/graph/views/foot.js +103 -0
  218. package/dist/graph/views/foot.js.map +1 -0
  219. package/dist/graph/views/node-table.d.ts +17 -0
  220. package/dist/graph/views/node-table.d.ts.map +1 -0
  221. package/dist/graph/views/node-table.js +80 -0
  222. package/dist/graph/views/node-table.js.map +1 -0
  223. package/dist/index.d.ts +22 -0
  224. package/dist/index.d.ts.map +1 -0
  225. package/dist/index.js +26 -0
  226. package/dist/index.js.map +1 -0
  227. package/dist/json/index.d.ts +2 -0
  228. package/dist/json/index.d.ts.map +1 -0
  229. package/dist/json/index.js +3 -0
  230. package/dist/json/index.js.map +1 -0
  231. package/dist/json/json-tree.d.ts +21 -0
  232. package/dist/json/json-tree.d.ts.map +1 -0
  233. package/dist/json/json-tree.js +51 -0
  234. package/dist/json/json-tree.js.map +1 -0
  235. package/dist/lanes/index.d.ts +5 -0
  236. package/dist/lanes/index.d.ts.map +1 -0
  237. package/dist/lanes/index.js +7 -0
  238. package/dist/lanes/index.js.map +1 -0
  239. package/dist/lanes/lanes.d.ts +56 -0
  240. package/dist/lanes/lanes.d.ts.map +1 -0
  241. package/dist/lanes/lanes.js +160 -0
  242. package/dist/lanes/lanes.js.map +1 -0
  243. package/dist/lanes/stack.d.ts +26 -0
  244. package/dist/lanes/stack.d.ts.map +1 -0
  245. package/dist/lanes/stack.js +43 -0
  246. package/dist/lanes/stack.js.map +1 -0
  247. package/dist/lanes/styles.d.ts +2 -0
  248. package/dist/lanes/styles.d.ts.map +1 -0
  249. package/dist/lanes/styles.js +30 -0
  250. package/dist/lanes/styles.js.map +1 -0
  251. package/dist/lanes/types.d.ts +41 -0
  252. package/dist/lanes/types.d.ts.map +1 -0
  253. package/dist/lanes/types.js +6 -0
  254. package/dist/lanes/types.js.map +1 -0
  255. package/dist/markdown/cae-markdown.d.ts +37 -0
  256. package/dist/markdown/cae-markdown.d.ts.map +1 -0
  257. package/dist/markdown/cae-markdown.js +68 -0
  258. package/dist/markdown/cae-markdown.js.map +1 -0
  259. package/dist/markdown/highlight.d.ts +5 -0
  260. package/dist/markdown/highlight.d.ts.map +1 -0
  261. package/dist/markdown/highlight.js +86 -0
  262. package/dist/markdown/highlight.js.map +1 -0
  263. package/dist/markdown/index.d.ts +4 -0
  264. package/dist/markdown/index.d.ts.map +1 -0
  265. package/dist/markdown/index.js +6 -0
  266. package/dist/markdown/index.js.map +1 -0
  267. package/dist/markdown/markdown.d.ts +4 -0
  268. package/dist/markdown/markdown.d.ts.map +1 -0
  269. package/dist/markdown/markdown.js +105 -0
  270. package/dist/markdown/markdown.js.map +1 -0
  271. package/dist/matrix/grid-step.d.ts +8 -0
  272. package/dist/matrix/grid-step.d.ts.map +1 -0
  273. package/dist/matrix/grid-step.js +69 -0
  274. package/dist/matrix/grid-step.js.map +1 -0
  275. package/dist/matrix/index.d.ts +5 -0
  276. package/dist/matrix/index.d.ts.map +1 -0
  277. package/dist/matrix/index.js +7 -0
  278. package/dist/matrix/index.js.map +1 -0
  279. package/dist/matrix/mark-matrix.d.ts +97 -0
  280. package/dist/matrix/mark-matrix.d.ts.map +1 -0
  281. package/dist/matrix/mark-matrix.js +272 -0
  282. package/dist/matrix/mark-matrix.js.map +1 -0
  283. package/dist/matrix/styles.d.ts +4 -0
  284. package/dist/matrix/styles.d.ts.map +1 -0
  285. package/dist/matrix/styles.js +47 -0
  286. package/dist/matrix/styles.js.map +1 -0
  287. package/dist/matrix/types.d.ts +79 -0
  288. package/dist/matrix/types.d.ts.map +1 -0
  289. package/dist/matrix/types.js +5 -0
  290. package/dist/matrix/types.js.map +1 -0
  291. package/dist/primitives/fact-line.d.ts +14 -0
  292. package/dist/primitives/fact-line.d.ts.map +1 -0
  293. package/dist/primitives/fact-line.js +18 -0
  294. package/dist/primitives/fact-line.js.map +1 -0
  295. package/dist/primitives/icon.d.ts +14 -0
  296. package/dist/primitives/icon.d.ts.map +1 -0
  297. package/dist/primitives/icon.js +19 -0
  298. package/dist/primitives/icon.js.map +1 -0
  299. package/dist/primitives/index.d.ts +10 -0
  300. package/dist/primitives/index.d.ts.map +1 -0
  301. package/dist/primitives/index.js +13 -0
  302. package/dist/primitives/index.js.map +1 -0
  303. package/dist/primitives/legend.d.ts +28 -0
  304. package/dist/primitives/legend.d.ts.map +1 -0
  305. package/dist/primitives/legend.js +28 -0
  306. package/dist/primitives/legend.js.map +1 -0
  307. package/dist/primitives/pill.d.ts +23 -0
  308. package/dist/primitives/pill.d.ts.map +1 -0
  309. package/dist/primitives/pill.js +40 -0
  310. package/dist/primitives/pill.js.map +1 -0
  311. package/dist/primitives/roving-focus.d.ts +47 -0
  312. package/dist/primitives/roving-focus.d.ts.map +1 -0
  313. package/dist/primitives/roving-focus.js +111 -0
  314. package/dist/primitives/roving-focus.js.map +1 -0
  315. package/dist/primitives/segmented.d.ts +41 -0
  316. package/dist/primitives/segmented.d.ts.map +1 -0
  317. package/dist/primitives/segmented.js +88 -0
  318. package/dist/primitives/segmented.js.map +1 -0
  319. package/dist/primitives/share-bar.d.ts +37 -0
  320. package/dist/primitives/share-bar.d.ts.map +1 -0
  321. package/dist/primitives/share-bar.js +69 -0
  322. package/dist/primitives/share-bar.js.map +1 -0
  323. package/dist/primitives/states.d.ts +19 -0
  324. package/dist/primitives/states.d.ts.map +1 -0
  325. package/dist/primitives/states.js +11 -0
  326. package/dist/primitives/states.js.map +1 -0
  327. package/dist/primitives/window.d.ts +24 -0
  328. package/dist/primitives/window.d.ts.map +1 -0
  329. package/dist/primitives/window.js +56 -0
  330. package/dist/primitives/window.js.map +1 -0
  331. package/dist/styles/chips.d.ts +2 -0
  332. package/dist/styles/chips.d.ts.map +1 -0
  333. package/dist/styles/chips.js +18 -0
  334. package/dist/styles/chips.js.map +1 -0
  335. package/dist/styles/facts.d.ts +2 -0
  336. package/dist/styles/facts.d.ts.map +1 -0
  337. package/dist/styles/facts.js +7 -0
  338. package/dist/styles/facts.js.map +1 -0
  339. package/dist/styles/index.d.ts +16 -0
  340. package/dist/styles/index.d.ts.map +1 -0
  341. package/dist/styles/index.js +15 -0
  342. package/dist/styles/index.js.map +1 -0
  343. package/dist/styles/layout.d.ts +2 -0
  344. package/dist/styles/layout.d.ts.map +1 -0
  345. package/dist/styles/layout.js +33 -0
  346. package/dist/styles/layout.js.map +1 -0
  347. package/dist/styles/marks.d.ts +2 -0
  348. package/dist/styles/marks.d.ts.map +1 -0
  349. package/dist/styles/marks.js +30 -0
  350. package/dist/styles/marks.js.map +1 -0
  351. package/dist/styles/meter.d.ts +3 -0
  352. package/dist/styles/meter.d.ts.map +1 -0
  353. package/dist/styles/meter.js +9 -0
  354. package/dist/styles/meter.js.map +1 -0
  355. package/dist/styles/motion.d.ts +2 -0
  356. package/dist/styles/motion.d.ts.map +1 -0
  357. package/dist/styles/motion.js +27 -0
  358. package/dist/styles/motion.js.map +1 -0
  359. package/dist/styles/prose.d.ts +3 -0
  360. package/dist/styles/prose.d.ts.map +1 -0
  361. package/dist/styles/prose.js +59 -0
  362. package/dist/styles/prose.js.map +1 -0
  363. package/dist/styles/reset.d.ts +2 -0
  364. package/dist/styles/reset.d.ts.map +1 -0
  365. package/dist/styles/reset.js +13 -0
  366. package/dist/styles/reset.js.map +1 -0
  367. package/dist/styles/status.d.ts +2 -0
  368. package/dist/styles/status.d.ts.map +1 -0
  369. package/dist/styles/status.js +52 -0
  370. package/dist/styles/status.js.map +1 -0
  371. package/dist/styles/text.d.ts +2 -0
  372. package/dist/styles/text.d.ts.map +1 -0
  373. package/dist/styles/text.js +21 -0
  374. package/dist/styles/text.js.map +1 -0
  375. package/dist/styles/tokens.d.ts +8 -0
  376. package/dist/styles/tokens.d.ts.map +1 -0
  377. package/dist/styles/tokens.js +32 -0
  378. package/dist/styles/tokens.js.map +1 -0
  379. package/dist/table/data-table.d.ts +106 -0
  380. package/dist/table/data-table.d.ts.map +1 -0
  381. package/dist/table/data-table.js +408 -0
  382. package/dist/table/data-table.js.map +1 -0
  383. package/dist/table/index.d.ts +4 -0
  384. package/dist/table/index.d.ts.map +1 -0
  385. package/dist/table/index.js +6 -0
  386. package/dist/table/index.js.map +1 -0
  387. package/dist/table/styles.d.ts +2 -0
  388. package/dist/table/styles.d.ts.map +1 -0
  389. package/dist/table/styles.js +32 -0
  390. package/dist/table/styles.js.map +1 -0
  391. package/dist/table/types.d.ts +48 -0
  392. package/dist/table/types.d.ts.map +1 -0
  393. package/dist/table/types.js +30 -0
  394. package/dist/table/types.js.map +1 -0
  395. package/dist/themes/boot.d.ts +7 -0
  396. package/dist/themes/boot.d.ts.map +1 -0
  397. package/dist/themes/boot.js +14 -0
  398. package/dist/themes/boot.js.map +1 -0
  399. package/dist/themes/choice.d.ts +16 -0
  400. package/dist/themes/choice.d.ts.map +1 -0
  401. package/dist/themes/choice.js +45 -0
  402. package/dist/themes/choice.js.map +1 -0
  403. package/dist/themes/data.d.ts +43 -0
  404. package/dist/themes/data.d.ts.map +1 -0
  405. package/dist/themes/data.js +408 -0
  406. package/dist/themes/data.js.map +1 -0
  407. package/dist/themes/index.d.ts +7 -0
  408. package/dist/themes/index.d.ts.map +1 -0
  409. package/dist/themes/index.js +11 -0
  410. package/dist/themes/index.js.map +1 -0
  411. package/dist/themes/sheet.d.ts +16 -0
  412. package/dist/themes/sheet.d.ts.map +1 -0
  413. package/dist/themes/sheet.js +28 -0
  414. package/dist/themes/sheet.js.map +1 -0
  415. package/dist/themes/token-meanings.d.ts +3 -0
  416. package/dist/themes/token-meanings.d.ts.map +1 -0
  417. package/dist/themes/token-meanings.js +67 -0
  418. package/dist/themes/token-meanings.js.map +1 -0
  419. package/dist/themes/tokens-list.d.ts +14 -0
  420. package/dist/themes/tokens-list.d.ts.map +1 -0
  421. package/dist/themes/tokens-list.js +69 -0
  422. package/dist/themes/tokens-list.js.map +1 -0
  423. package/dist/tiles/index.d.ts +4 -0
  424. package/dist/tiles/index.d.ts.map +1 -0
  425. package/dist/tiles/index.js +6 -0
  426. package/dist/tiles/index.js.map +1 -0
  427. package/dist/tiles/stat-tiles.d.ts +40 -0
  428. package/dist/tiles/stat-tiles.d.ts.map +1 -0
  429. package/dist/tiles/stat-tiles.js +99 -0
  430. package/dist/tiles/stat-tiles.js.map +1 -0
  431. package/dist/tiles/styles.d.ts +2 -0
  432. package/dist/tiles/styles.d.ts.map +1 -0
  433. package/dist/tiles/styles.js +23 -0
  434. package/dist/tiles/styles.js.map +1 -0
  435. package/dist/tiles/types.d.ts +22 -0
  436. package/dist/tiles/types.d.ts.map +1 -0
  437. package/dist/tiles/types.js +2 -0
  438. package/dist/tiles/types.js.map +1 -0
  439. package/dist/transcript/follow-scroll.d.ts +21 -0
  440. package/dist/transcript/follow-scroll.d.ts.map +1 -0
  441. package/dist/transcript/follow-scroll.js +76 -0
  442. package/dist/transcript/follow-scroll.js.map +1 -0
  443. package/dist/transcript/index.d.ts +5 -0
  444. package/dist/transcript/index.d.ts.map +1 -0
  445. package/dist/transcript/index.js +7 -0
  446. package/dist/transcript/index.js.map +1 -0
  447. package/dist/transcript/styles.d.ts +2 -0
  448. package/dist/transcript/styles.d.ts.map +1 -0
  449. package/dist/transcript/styles.js +114 -0
  450. package/dist/transcript/styles.js.map +1 -0
  451. package/dist/transcript/tags.d.ts +6 -0
  452. package/dist/transcript/tags.d.ts.map +1 -0
  453. package/dist/transcript/tags.js +13 -0
  454. package/dist/transcript/tags.js.map +1 -0
  455. package/dist/transcript/tool-card.d.ts +16 -0
  456. package/dist/transcript/tool-card.d.ts.map +1 -0
  457. package/dist/transcript/tool-card.js +87 -0
  458. package/dist/transcript/tool-card.js.map +1 -0
  459. package/dist/transcript/transcript.d.ts +103 -0
  460. package/dist/transcript/transcript.d.ts.map +1 -0
  461. package/dist/transcript/transcript.js +397 -0
  462. package/dist/transcript/transcript.js.map +1 -0
  463. package/dist/transcript/types.d.ts +161 -0
  464. package/dist/transcript/types.d.ts.map +1 -0
  465. package/dist/transcript/types.js +25 -0
  466. package/dist/transcript/types.js.map +1 -0
  467. package/docs/charts.md +58 -0
  468. package/docs/check-table.md +40 -0
  469. package/docs/data-table.md +57 -0
  470. package/docs/examples/charts.ts +61 -0
  471. package/docs/examples/check-table.ts +19 -0
  472. package/docs/examples/ci-pipeline.ts +271 -0
  473. package/docs/examples/data-table.ts +39 -0
  474. package/docs/examples/graph.ts +57 -0
  475. package/docs/examples/lanes.ts +40 -0
  476. package/docs/examples/matrix.ts +56 -0
  477. package/docs/examples/page.css +34 -0
  478. package/docs/examples/segmented.ts +18 -0
  479. package/docs/examples/status.ts +30 -0
  480. package/docs/examples/theme.css +54 -0
  481. package/docs/examples/tiles.ts +27 -0
  482. package/docs/examples/transcript.ts +59 -0
  483. package/docs/graph.md +112 -0
  484. package/docs/lanes.md +48 -0
  485. package/docs/matrix.md +34 -0
  486. package/docs/page.md +87 -0
  487. package/docs/primitives.md +57 -0
  488. package/docs/strings.md +16 -0
  489. package/docs/theming.md +147 -0
  490. package/docs/tiles.md +40 -0
  491. package/docs/transcript.md +73 -0
  492. package/docs/tsconfig.json +20 -0
  493. package/package.json +161 -4
  494. package/src/charts/bar-chart.ts +74 -0
  495. package/src/charts/base.ts +188 -0
  496. package/src/charts/column-chart.ts +153 -0
  497. package/src/charts/heatmap.ts +129 -0
  498. package/src/charts/index.ts +10 -0
  499. package/src/charts/line-chart.ts +128 -0
  500. package/src/charts/scale.ts +61 -0
  501. package/src/charts/state-grid.ts +245 -0
  502. package/src/charts/types.ts +48 -0
  503. package/src/checks/check-table.ts +85 -0
  504. package/src/checks/index.ts +5 -0
  505. package/src/checks/styles.ts +31 -0
  506. package/src/checks/types.ts +48 -0
  507. package/src/core/clock.ts +46 -0
  508. package/src/core/define.ts +7 -0
  509. package/src/core/events.ts +89 -0
  510. package/src/core/format.ts +25 -0
  511. package/src/core/frame.ts +5 -0
  512. package/src/core/strings.ts +11 -0
  513. package/src/core/tone.ts +14 -0
  514. package/src/count/count.ts +54 -0
  515. package/src/count/elapsed.ts +33 -0
  516. package/src/count/index.ts +4 -0
  517. package/src/define/all.ts +13 -0
  518. package/src/define/charts.ts +17 -0
  519. package/src/define/check-table.ts +9 -0
  520. package/src/define/count.ts +11 -0
  521. package/src/define/data-table.ts +9 -0
  522. package/src/define/graph.ts +11 -0
  523. package/src/define/json-tree.ts +9 -0
  524. package/src/define/lanes.ts +9 -0
  525. package/src/define/markdown.ts +9 -0
  526. package/src/define/matrix.ts +9 -0
  527. package/src/define/segmented.ts +9 -0
  528. package/src/define/tiles.ts +11 -0
  529. package/src/define/transcript.ts +9 -0
  530. package/src/graph/arrange.ts +399 -0
  531. package/src/graph/card.ts +209 -0
  532. package/src/graph/host.ts +100 -0
  533. package/src/graph/icons.ts +23 -0
  534. package/src/graph/index.ts +16 -0
  535. package/src/graph/layered-graph.ts +417 -0
  536. package/src/graph/layout.ts +331 -0
  537. package/src/graph/marks.ts +42 -0
  538. package/src/graph/nav.ts +19 -0
  539. package/src/graph/pan-zoom.ts +219 -0
  540. package/src/graph/paths.ts +41 -0
  541. package/src/graph/place-card.ts +93 -0
  542. package/src/graph/strings.ts +86 -0
  543. package/src/graph/styles.ts +204 -0
  544. package/src/graph/types.ts +202 -0
  545. package/src/graph/view.ts +28 -0
  546. package/src/graph/views/dag.ts +294 -0
  547. package/src/graph/views/foot.ts +109 -0
  548. package/src/graph/views/node-table.ts +90 -0
  549. package/src/index.ts +25 -0
  550. package/src/json/index.ts +2 -0
  551. package/src/json/json-tree.ts +49 -0
  552. package/src/lanes/index.ts +6 -0
  553. package/src/lanes/lanes.ts +143 -0
  554. package/src/lanes/stack.ts +51 -0
  555. package/src/lanes/styles.ts +30 -0
  556. package/src/lanes/types.ts +51 -0
  557. package/src/markdown/cae-markdown.ts +64 -0
  558. package/src/markdown/highlight.ts +94 -0
  559. package/src/markdown/index.ts +5 -0
  560. package/src/markdown/markdown.ts +110 -0
  561. package/src/matrix/grid-step.ts +58 -0
  562. package/src/matrix/index.ts +6 -0
  563. package/src/matrix/mark-matrix.ts +285 -0
  564. package/src/matrix/styles.ts +48 -0
  565. package/src/matrix/types.ts +83 -0
  566. package/src/primitives/fact-line.ts +26 -0
  567. package/src/primitives/icon.ts +26 -0
  568. package/src/primitives/index.ts +12 -0
  569. package/src/primitives/legend.ts +56 -0
  570. package/src/primitives/pill.ts +58 -0
  571. package/src/primitives/roving-focus.ts +138 -0
  572. package/src/primitives/segmented.ts +92 -0
  573. package/src/primitives/share-bar.ts +94 -0
  574. package/src/primitives/states.ts +28 -0
  575. package/src/primitives/window.ts +65 -0
  576. package/src/styles/chips.ts +18 -0
  577. package/src/styles/facts.ts +7 -0
  578. package/src/styles/index.ts +19 -0
  579. package/src/styles/layout.ts +33 -0
  580. package/src/styles/marks.ts +30 -0
  581. package/src/styles/meter.ts +9 -0
  582. package/src/styles/motion.ts +27 -0
  583. package/src/styles/prose.ts +59 -0
  584. package/src/styles/reset.ts +13 -0
  585. package/src/styles/status.ts +52 -0
  586. package/src/styles/text.ts +21 -0
  587. package/src/styles/tokens.ts +35 -0
  588. package/src/table/data-table.ts +367 -0
  589. package/src/table/index.ts +5 -0
  590. package/src/table/styles.ts +32 -0
  591. package/src/table/types.ts +73 -0
  592. package/src/themes/boot.ts +14 -0
  593. package/src/themes/choice.ts +47 -0
  594. package/src/themes/data.ts +433 -0
  595. package/src/themes/index.ts +10 -0
  596. package/src/themes/sheet.ts +29 -0
  597. package/src/themes/token-meanings.ts +67 -0
  598. package/src/themes/tokens-list.ts +82 -0
  599. package/src/tiles/index.ts +5 -0
  600. package/src/tiles/stat-tiles.ts +92 -0
  601. package/src/tiles/styles.ts +23 -0
  602. package/src/tiles/types.ts +20 -0
  603. package/src/transcript/follow-scroll.ts +72 -0
  604. package/src/transcript/index.ts +6 -0
  605. package/src/transcript/styles.ts +114 -0
  606. package/src/transcript/tags.ts +18 -0
  607. package/src/transcript/tool-card.ts +103 -0
  608. package/src/transcript/transcript.ts +358 -0
  609. package/src/transcript/types.ts +167 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,iFAAiF;AACjF,iFAAiF;AACjF,wCAAwC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iBAAiB,CAAC;AAChC,cAAc,qBAAqB,CAAC;AACpC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,iBAAiB,CAAC;AAChC,cAAc,uBAAuB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export * from './json-tree.js';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/json/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,3 @@
1
+ // `@contraagent/elements/json-tree`: the class; `…/json-tree/define` registers it.
2
+ export * from './json-tree.js';
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/json/index.ts"],"names":[],"mappings":"AAAA,mFAAmF;AACnF,cAAc,gBAAgB,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { LitElement, type TemplateResult } from 'lit';
2
+ /**
3
+ * Any JSON value as a foldable tree: the first level open, deeper levels folded.
4
+ *
5
+ * @tagname cae-json-tree
6
+ * @csspart tree - the tree
7
+ */
8
+ export declare class CaeJsonTree extends LitElement {
9
+ static styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
10
+ value: unknown;
11
+ /** Levels opened from the start. */
12
+ open: number;
13
+ render(): TemplateResult<1>;
14
+ private node;
15
+ }
16
+ declare global {
17
+ interface HTMLElementTagNameMap {
18
+ 'cae-json-tree': CaeJsonTree;
19
+ }
20
+ }
21
+ //# sourceMappingURL=json-tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-tree.d.ts","sourceRoot":"","sources":["../../src/json/json-tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAQ,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAO5D;;;;;GAKG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC,OAAgB,MAAM,0DAAiB;IAEP,KAAK,EAAE,OAAO,CAAC;IAC/C,oCAAoC;IACR,IAAI,SAAK;IAE5B,MAAM;IAIf,OAAO,CAAC,IAAI;CAkBb;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,WAAW,CAAC;KAC9B;CACF"}
@@ -0,0 +1,51 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, html } from 'lit';
8
+ import { property } from 'lit/decorators.js';
9
+ import { base, prose } from '../styles/index.js';
10
+ const isLeaf = (x) => x === null || typeof x !== 'object' || (Array.isArray(x) ? !x.length : !Object.keys(x).length);
11
+ /**
12
+ * Any JSON value as a foldable tree: the first level open, deeper levels folded.
13
+ *
14
+ * @tagname cae-json-tree
15
+ * @csspart tree - the tree
16
+ */
17
+ export class CaeJsonTree extends LitElement {
18
+ constructor() {
19
+ super(...arguments);
20
+ /** Levels opened from the start. */
21
+ this.open = 1;
22
+ }
23
+ static { this.styles = [base, prose]; }
24
+ render() {
25
+ return html `<div class="jtree" part="tree" data-scroll="x">${this.node(this.value, 0)}</div>`;
26
+ }
27
+ node(v, depth) {
28
+ if (v === null || typeof v !== 'object') {
29
+ return html `<span class=${typeof v === 'string' ? 'js' : 'jn'}>${JSON.stringify(v) ?? 'undefined'}</span>`;
30
+ }
31
+ const entries = Array.isArray(v) ? v.map((x, i) => [i, x]) : Object.entries(v);
32
+ if (!entries.length)
33
+ return Array.isArray(v) ? '[]' : '{}';
34
+ return html `${entries.map(([k, x]) => isLeaf(x)
35
+ ? html `<div class="jt"><span class="jk">${k}</span>: ${this.node(x, depth + 1)}</div>`
36
+ : html `<details class="jt" ?open=${depth < this.open}>
37
+ <summary>
38
+ <span class="jk">${k}</span>
39
+ <span class="meta">${Array.isArray(x) ? `[${x.length}]` : `{${Object.keys(x).length}}`}</span>
40
+ </summary>
41
+ ${this.node(x, depth + 1)}
42
+ </details>`)}`;
43
+ }
44
+ }
45
+ __decorate([
46
+ property({ attribute: false })
47
+ ], CaeJsonTree.prototype, "value", void 0);
48
+ __decorate([
49
+ property({ type: Number })
50
+ ], CaeJsonTree.prototype, "open", void 0);
51
+ //# sourceMappingURL=json-tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json-tree.js","sourceRoot":"","sources":["../../src/json/json-tree.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,IAAI,EAAuB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAC7C,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,MAAM,GAAG,CAAC,CAAU,EAAW,EAAE,CACrC,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjG;;;;;GAKG;AACH,MAAM,OAAO,WAAY,SAAQ,UAAU;IAA3C;;QAIE,oCAAoC;QACR,SAAI,GAAG,CAAC,CAAC;IAwBvC,CAAC;aA5BiB,WAAM,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,AAAhB,CAAiB;IAM9B,MAAM;QACb,OAAO,IAAI,CAAA,kDAAkD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC;IAChG,CAAC;IAEO,IAAI,CAAC,CAAU,EAAE,KAAa;QACpC,IAAI,CAAC,KAAK,IAAI,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YACxC,OAAO,IAAI,CAAA,eAAe,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,WAAW,SAAS,CAAC;QAC7G,CAAC;QACD,MAAM,OAAO,GAAiC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;QAC7G,IAAI,CAAC,OAAO,CAAC,MAAM;YAAE,OAAO,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC3D,OAAO,IAAI,CAAA,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CACnC,MAAM,CAAC,CAAC,CAAC;YACP,CAAC,CAAC,IAAI,CAAA,oCAAoC,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,QAAQ;YACtF,CAAC,CAAC,IAAI,CAAA,6BAA6B,KAAK,GAAG,IAAI,CAAC,IAAI;;iCAE3B,CAAC;mCACC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAW,CAAC,CAAC,MAAM,GAAG;;cAEhG,IAAI,CAAC,IAAI,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC;qBAChB,CAChB,EAAE,CAAC;IACN,CAAC;;AAzB+B;IAA/B,QAAQ,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC;0CAAgB;AAEnB;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;yCAAU"}
@@ -0,0 +1,5 @@
1
+ export * from './types.js';
2
+ export * from './stack.js';
3
+ export * from './styles.js';
4
+ export * from './lanes.js';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/lanes/index.ts"],"names":[],"mappings":"AAEA,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,7 @@
1
+ // Bars on a time axis: `@contraagent/elements/lanes`. `CaeLanes` is registered
2
+ // by `@contraagent/elements/lanes/define`.
3
+ export * from './types.js';
4
+ export * from './stack.js';
5
+ export * from './styles.js';
6
+ export * from './lanes.js';
7
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lanes/index.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,2CAA2C;AAC3C,cAAc,YAAY,CAAC;AAC3B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,YAAY,CAAC"}
@@ -0,0 +1,56 @@
1
+ import { LitElement, type PropertyValues, type TemplateResult } from 'lit';
2
+ import { type Lane, type LaneStyle, type LanesStrings, type TimeRange } from './types.js';
3
+ /**
4
+ * Bars on a time axis, a lane per group: each bar as long as it took, the
5
+ * overlapping bars of a lane stacked, a running bar (`end` null) growing until
6
+ * now and a line at now. A bar's look is its style in `barStyles`, whose
7
+ * labels are the legend (a row per `group`). The bars grow in when they are
8
+ * first drawn.
9
+ *
10
+ * Its look: `--cae-lanes-label-width` (the lanes' labels; 112px, 78px on a
11
+ * narrow screen) and the parts.
12
+ *
13
+ * @tagname cae-lanes
14
+ * @csspart axis - the times above the lanes
15
+ * @csspart lane - each lane
16
+ * @csspart lane-label - a lane's label
17
+ * @csspart track - the area of a lane's bars
18
+ * @csspart bar - each bar
19
+ * @csspart now - the line at now, while a bar runs
20
+ * @csspart legend - each row of the legend
21
+ * @csspart empty - what the element shows with no bars
22
+ * @slot empty - what the element shows with no bars, instead of `strings.empty`
23
+ */
24
+ export declare class CaeLanes extends LitElement {
25
+ static styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
26
+ lanes: readonly Lane[];
27
+ /** A look per style key of the bars, in legend order. */
28
+ barStyles: Readonly<Record<string, LaneStyle>>;
29
+ /** The time the axis spans; null fits the bars (`fitRange`). */
30
+ range: TimeRange | null;
31
+ /** Draws again every second, so the running bars and the line at now move. */
32
+ live: boolean;
33
+ /** Bars the host left out, as a note after the legend. */
34
+ omitted: number;
35
+ /** The language of the axis' times; by default the page's (`lang`). */
36
+ locale: string;
37
+ strings: Partial<LanesStrings>;
38
+ private timer;
39
+ /** The bars have been drawn once: later bars do not grow in. */
40
+ private drawn;
41
+ connectedCallback(): void;
42
+ disconnectedCallback(): void;
43
+ protected updated(changed: PropertyValues<this>): void;
44
+ private tick;
45
+ private time;
46
+ render(): TemplateResult<1>;
47
+ private lane;
48
+ /** A legend row per group of styles, in key order; the note of omitted bars ends the last. */
49
+ private legends;
50
+ }
51
+ declare global {
52
+ interface HTMLElementTagNameMap {
53
+ 'cae-lanes': CaeLanes;
54
+ }
55
+ }
56
+ //# sourceMappingURL=lanes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lanes.d.ts","sourceRoot":"","sources":["../../src/lanes/lanes.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAQ1F,OAAO,EAAyB,KAAK,IAAI,EAAE,KAAK,SAAS,EAAE,KAAK,YAAY,EAAE,KAAK,SAAS,EAAE,MAAM,YAAY,CAAC;AAKjH;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,qBAAa,QAAS,SAAQ,UAAU;IACtC,OAAgB,MAAM,0DAAqC;IAE3B,KAAK,EAAE,SAAS,IAAI,EAAE,CAAM;IAC5D,yDAAyD;IACzB,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAM;IACpF,gEAAgE;IAChC,KAAK,EAAE,SAAS,GAAG,IAAI,CAAQ;IAC/D,8EAA8E;IACjD,IAAI,UAAS;IAC1C,0DAA0D;IAC9B,OAAO,SAAK;IACxC,uEAAuE;IAC3D,MAAM,SAAM;IACQ,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC,CAAM;IAEpE,OAAO,CAAC,KAAK,CAA+C;IAC5D,gEAAgE;IAChE,OAAO,CAAC,KAAK,CAAS;IAEb,iBAAiB,IAAI,IAAI;IAKzB,oBAAoB,IAAI,IAAI;cAKlB,OAAO,CAAC,OAAO,EAAE,cAAc,CAAC,IAAI,CAAC,GAAG,IAAI;IAI/D,OAAO,CAAC,IAAI;IAQZ,OAAO,CAAC,IAAI;IAKH,MAAM;IAqBf,OAAO,CAAC,IAAI;IAiBZ,8FAA8F;IAC9F,OAAO,CAAC,OAAO;CAgBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,WAAW,EAAE,QAAQ,CAAC;KACvB;CACF"}
@@ -0,0 +1,160 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { LitElement, html, nothing } from 'lit';
8
+ import { property } from 'lit/decorators.js';
9
+ import { repeat } from 'lit/directives/repeat.js';
10
+ import { withDefaults } from '../core/strings.js';
11
+ import { legend, legendStyles } from '../primitives/legend.js';
12
+ import { base } from '../styles/index.js';
13
+ import { barBox, fitRange, stack } from './stack.js';
14
+ import { lanesStyles } from './styles.js';
15
+ import { DEFAULT_LANES_STRINGS } from './types.js';
16
+ /** A span shorter than this shows seconds on its axis (else every tick reads the same minute). */
17
+ const SECONDS_BELOW_MS = 10 * 60e3;
18
+ /**
19
+ * Bars on a time axis, a lane per group: each bar as long as it took, the
20
+ * overlapping bars of a lane stacked, a running bar (`end` null) growing until
21
+ * now and a line at now. A bar's look is its style in `barStyles`, whose
22
+ * labels are the legend (a row per `group`). The bars grow in when they are
23
+ * first drawn.
24
+ *
25
+ * Its look: `--cae-lanes-label-width` (the lanes' labels; 112px, 78px on a
26
+ * narrow screen) and the parts.
27
+ *
28
+ * @tagname cae-lanes
29
+ * @csspart axis - the times above the lanes
30
+ * @csspart lane - each lane
31
+ * @csspart lane-label - a lane's label
32
+ * @csspart track - the area of a lane's bars
33
+ * @csspart bar - each bar
34
+ * @csspart now - the line at now, while a bar runs
35
+ * @csspart legend - each row of the legend
36
+ * @csspart empty - what the element shows with no bars
37
+ * @slot empty - what the element shows with no bars, instead of `strings.empty`
38
+ */
39
+ export class CaeLanes extends LitElement {
40
+ constructor() {
41
+ super(...arguments);
42
+ this.lanes = [];
43
+ /** A look per style key of the bars, in legend order. */
44
+ this.barStyles = {};
45
+ /** The time the axis spans; null fits the bars (`fitRange`). */
46
+ this.range = null;
47
+ /** Draws again every second, so the running bars and the line at now move. */
48
+ this.live = false;
49
+ /** Bars the host left out, as a note after the legend. */
50
+ this.omitted = 0;
51
+ /** The language of the axis' times; by default the page's (`lang`). */
52
+ this.locale = '';
53
+ this.strings = {};
54
+ this.timer = null;
55
+ /** The bars have been drawn once: later bars do not grow in. */
56
+ this.drawn = false;
57
+ }
58
+ static { this.styles = [base, legendStyles, lanesStyles]; }
59
+ connectedCallback() {
60
+ super.connectedCallback();
61
+ this.tick(this.live);
62
+ }
63
+ disconnectedCallback() {
64
+ super.disconnectedCallback();
65
+ this.tick(false);
66
+ }
67
+ updated(changed) {
68
+ if (changed.has('live'))
69
+ this.tick(this.live);
70
+ }
71
+ tick(on) {
72
+ if (on && !this.timer)
73
+ this.timer = setInterval(() => this.requestUpdate(), 1000);
74
+ if (!on && this.timer) {
75
+ clearInterval(this.timer);
76
+ this.timer = null;
77
+ }
78
+ }
79
+ time(t, seconds) {
80
+ const locale = this.locale || document.documentElement.lang || undefined;
81
+ return new Date(t).toLocaleTimeString(locale, { hour: '2-digit', minute: '2-digit', ...(seconds ? { second: '2-digit' } : {}), hourCycle: 'h23' });
82
+ }
83
+ render() {
84
+ const s = withDefaults(DEFAULT_LANES_STRINGS, this.strings);
85
+ const now = Date.now();
86
+ const range = this.range ?? fitRange(this.lanes, now);
87
+ if (!range)
88
+ return html `<div part="empty"><slot name="empty">${s.empty}</slot></div>`;
89
+ const animate = !this.drawn;
90
+ this.drawn = true;
91
+ const span = Math.max(1, range.end - range.start);
92
+ const running = this.lanes.some((l) => l.bars.some((b) => b.end === null));
93
+ const seconds = span < SECONDS_BELOW_MS;
94
+ const nowAt = Math.min(1, (now - range.start) / span);
95
+ return html `<div class="lanes ${animate ? 'anim' : ''}">
96
+ <div class="axis" part="axis">${[0, 0.25, 0.5, 0.75, 1].map((k) => html `<span>${this.time(range.start + span * k, seconds)}</span>`)}</div>
97
+ ${repeat(this.lanes, (l) => l.id, (l) => this.lane(l, range, now))}
98
+ ${running
99
+ ? html `<span class="now" part="now" style="left:calc(var(--label) + 8px + (100% - var(--label) - 8px) * ${nowAt.toFixed(4)})"></span>`
100
+ : nothing}
101
+ </div>
102
+ ${this.legends(s)}`;
103
+ }
104
+ lane(l, range, now) {
105
+ const placed = stack(l.bars);
106
+ const rows = Math.max(1, ...placed.map((p) => p.row + 1));
107
+ return html `<div class="lane" part="lane">
108
+ <span class="name" part="lane-label" title=${l.label}>${l.label}</span>
109
+ <div class="track" part="track" style="--rows:${rows}">
110
+ ${placed.map(({ bar, row }) => {
111
+ const box = barBox(bar, range, now);
112
+ const look = this.barStyles[bar.style];
113
+ return html `<span class="bar ${bar.end === null ? 'running' : ''}" part="bar" data-style=${bar.style}
114
+ data-pattern=${look?.pattern ?? 'solid'} title=${bar.label}
115
+ style="--bar:${look?.color ?? 'var(--line2)'};--row:${row};left:min(${box.left.toFixed(3)}%, 100% - max(3px, ${box.width.toFixed(3)}%));width:${box.width.toFixed(3)}%"></span>`;
116
+ })}
117
+ </div>
118
+ </div>`;
119
+ }
120
+ /** A legend row per group of styles, in key order; the note of omitted bars ends the last. */
121
+ legends(s) {
122
+ const groups = [];
123
+ for (const look of Object.values(this.barStyles)) {
124
+ const g = look.group ?? 0;
125
+ (groups[g] ??= []).push({
126
+ label: look.label,
127
+ icon: html `<i data-pattern=${look.pattern ?? 'solid'} style="--bar:${look.color}"></i>`,
128
+ });
129
+ }
130
+ const rows = groups.filter(Boolean);
131
+ if (this.omitted) {
132
+ if (!rows.length)
133
+ rows.push([]);
134
+ rows[rows.length - 1].push({ label: s.omitted(this.omitted) });
135
+ }
136
+ return rows.map((items) => legend(items));
137
+ }
138
+ }
139
+ __decorate([
140
+ property({ attribute: false })
141
+ ], CaeLanes.prototype, "lanes", void 0);
142
+ __decorate([
143
+ property({ attribute: false })
144
+ ], CaeLanes.prototype, "barStyles", void 0);
145
+ __decorate([
146
+ property({ attribute: false })
147
+ ], CaeLanes.prototype, "range", void 0);
148
+ __decorate([
149
+ property({ type: Boolean })
150
+ ], CaeLanes.prototype, "live", void 0);
151
+ __decorate([
152
+ property({ type: Number })
153
+ ], CaeLanes.prototype, "omitted", void 0);
154
+ __decorate([
155
+ property()
156
+ ], CaeLanes.prototype, "locale", void 0);
157
+ __decorate([
158
+ property({ attribute: false })
159
+ ], CaeLanes.prototype, "strings", void 0);
160
+ //# sourceMappingURL=lanes.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lanes.js","sourceRoot":"","sources":["../../src/lanes/lanes.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
1
+ import type { Lane, TimeRange } from './types.js';
2
+ interface Span {
3
+ start: number;
4
+ end: number | null;
5
+ }
6
+ /**
7
+ * The bars of a lane in order of start, each on the first row whose last bar
8
+ * has ended, so overlapping bars do not hide each other. A running bar (`end`
9
+ * null) keeps its row.
10
+ */
11
+ export declare function stack<B extends Span>(bars: readonly B[]): {
12
+ bar: B;
13
+ row: number;
14
+ }[];
15
+ /**
16
+ * The axis that fits the bars: from the first start to the last end; with a
17
+ * running bar, to `now` plus 20 seconds, rounded up to the minute. Null with no bars.
18
+ */
19
+ export declare function fitRange(lanes: readonly Lane[], now: number): TimeRange | null;
20
+ /** A bar's left edge and width, in percent of the range; a running bar grows to `now`, within the range. */
21
+ export declare function barBox(b: Span, range: TimeRange, now: number): {
22
+ left: number;
23
+ width: number;
24
+ };
25
+ export {};
26
+ //# sourceMappingURL=stack.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack.d.ts","sourceRoot":"","sources":["../../src/lanes/stack.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAElD,UAAU,IAAI;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAgB,KAAK,CAAC,CAAC,SAAS,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG;IAAE,GAAG,EAAE,CAAC,CAAC;IAAC,GAAG,EAAE,MAAM,CAAA;CAAE,EAAE,CAWnF;AAMD;;;GAGG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,SAAS,IAAI,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAO9E;AAED,4GAA4G;AAC5G,wBAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAK9F"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The bars of a lane in order of start, each on the first row whose last bar
3
+ * has ended, so overlapping bars do not hide each other. A running bar (`end`
4
+ * null) keeps its row.
5
+ */
6
+ export function stack(bars) {
7
+ const ends = [];
8
+ return [...bars]
9
+ .sort((a, b) => a.start - b.start)
10
+ .map((bar) => {
11
+ const end = bar.end ?? Infinity;
12
+ let row = ends.findIndex((e) => e <= bar.start);
13
+ if (row < 0)
14
+ row = ends.push(end) - 1;
15
+ else
16
+ ends[row] = end;
17
+ return { bar, row };
18
+ });
19
+ }
20
+ /** A running bar extends the axis to now plus this margin, rounded up to `STEP_MS`. */
21
+ const MARGIN_MS = 20e3;
22
+ const STEP_MS = 60e3;
23
+ /**
24
+ * The axis that fits the bars: from the first start to the last end; with a
25
+ * running bar, to `now` plus 20 seconds, rounded up to the minute. Null with no bars.
26
+ */
27
+ export function fitRange(lanes, now) {
28
+ const bars = lanes.flatMap((l) => l.bars);
29
+ if (!bars.length)
30
+ return null;
31
+ const start = Math.min(...bars.map((b) => b.start));
32
+ const running = bars.some((b) => b.end === null);
33
+ const end = running ? start + Math.ceil((now - start + MARGIN_MS) / STEP_MS) * STEP_MS : Math.max(...bars.map((b) => b.end ?? now));
34
+ return { start, end };
35
+ }
36
+ /** A bar's left edge and width, in percent of the range; a running bar grows to `now`, within the range. */
37
+ export function barBox(b, range, now) {
38
+ const span = Math.max(1, range.end - range.start);
39
+ const left = ((b.start - range.start) / span) * 100;
40
+ const w = (((b.end ?? now) - b.start) / span) * 100;
41
+ return { left, width: Math.max(0.4, b.end === null ? Math.min(100 - left, w) : w) };
42
+ }
43
+ //# sourceMappingURL=stack.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"stack.js","sourceRoot":"","sources":["../../src/lanes/stack.ts"],"names":[],"mappings":"AASA;;;;GAIG;AACH,MAAM,UAAU,KAAK,CAAiB,IAAkB;IACtD,MAAM,IAAI,GAAa,EAAE,CAAC;IAC1B,OAAO,CAAC,GAAG,IAAI,CAAC;SACb,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,CAAC;SACjC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;QACX,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,IAAI,QAAQ,CAAC;QAChC,IAAI,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,GAAG,GAAG,CAAC;YAAE,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;;YACjC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;QACrB,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;AACP,CAAC;AAED,uFAAuF;AACvF,MAAM,SAAS,GAAG,IAAI,CAAC;AACvB,MAAM,OAAO,GAAG,IAAI,CAAC;AAErB;;;GAGG;AACH,MAAM,UAAU,QAAQ,CAAC,KAAsB,EAAE,GAAW;IAC1D,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;IAC1C,IAAI,CAAC,IAAI,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAC9B,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,CAAC,GAAG,GAAG,KAAK,GAAG,SAAS,CAAC,GAAG,OAAO,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,CAAC,CAAC;IACpI,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC;AACxB,CAAC;AAED,4GAA4G;AAC5G,MAAM,UAAU,MAAM,CAAC,CAAO,EAAE,KAAgB,EAAE,GAAW;IAC3D,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,CAAC,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;IAClD,MAAM,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACpD,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC,GAAG,GAAG,CAAC;IACpD,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;AACtF,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const lanesStyles: import("lit").CSSResult;
2
+ //# sourceMappingURL=styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/lanes/styles.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,WAAW,yBAwBvB,CAAC"}
@@ -0,0 +1,30 @@
1
+ // The look of `<cae-lanes>`: a label column, then a track per lane with its
2
+ // bars; a bar's look is its colour (`--bar`) and its pattern (`data-pattern`),
3
+ // the same on the bar and on its swatch in the legend.
4
+ import { css } from 'lit';
5
+ export const lanesStyles = css `
6
+ :host { display: block; container-type: inline-size; --label: var(--cae-lanes-label-width, 112px); }
7
+ /* narrow (the host is a container): a narrower label column, and the axis' first, middle and last times only */
8
+ @container (max-width: 760px) { .lanes { --label: var(--cae-lanes-label-width, 78px); } }
9
+ @container (max-width: 480px) { .axis span:nth-child(even) { display: none; } }
10
+ .lanes { position: relative; }
11
+ .axis { display: flex; justify-content: space-between; font-family: var(--mono); font-size: 10px; color: var(--text-muted); margin: 0 0 6px calc(var(--label) + 8px); }
12
+ .lane { display: grid; grid-template-columns: var(--label) minmax(0, 1fr); gap: 8px; align-items: center; min-height: 24px; padding: 4px 0; }
13
+ .name { font-size: 11.5px; color: var(--text-2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
14
+ .track { position: relative; height: calc(var(--rows, 1) * 14px + 2px); border-radius: 4px;
15
+ background: repeating-linear-gradient(90deg, color-mix(in srgb, var(--text) 5%, transparent) 0 1px, transparent 1px 10%); }
16
+ .bar { position: absolute; top: calc(var(--row, 0) * 14px + 2px); height: 12px; border-radius: 4px; min-width: 3px; cursor: default;
17
+ transform-origin: left center; transition: width 1s linear; }
18
+ .anim .bar:not(.running) { animation: growx 0.6s var(--ease) both; }
19
+ :is(.bar, .legend i)[data-pattern] { background: var(--bar); }
20
+ :is(.bar, .legend i)[data-pattern='hatched'] { background: repeating-linear-gradient(135deg, var(--bar) 0 3px, color-mix(in srgb, var(--bar) 55%, var(--bg)) 3px 5px); }
21
+ :is(.bar, .legend i)[data-pattern='outline'] { background: none; box-shadow: inset 0 0 0 1.5px var(--bar); }
22
+ :is(.bar, .legend i)[data-pattern='striped'] { background: repeating-linear-gradient(45deg, var(--bar) 0 6px, color-mix(in srgb, var(--bar) 60%, var(--bg)) 6px 12px);
23
+ background-size: 17px 17px; }
24
+ .bar[data-pattern='striped'] { animation: stripes 0.8s linear infinite; box-shadow: 0 0 12px color-mix(in srgb, var(--bar) 45%, transparent); }
25
+ .bar:hover { filter: brightness(1.2); }
26
+ .now { position: absolute; top: -4px; bottom: -4px; width: 2px; background: var(--status-running); border-radius: 2px; box-shadow: 0 0 10px var(--status-running); }
27
+ .legend { margin-top: 10px; }
28
+ .legend + .legend { margin-top: 4px; }
29
+ `;
30
+ //# sourceMappingURL=styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"styles.js","sourceRoot":"","sources":["../../src/lanes/styles.ts"],"names":[],"mappings":"AAAA,4EAA4E;AAC5E,+EAA+E;AAC/E,uDAAuD;AACvD,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;CAwB7B,CAAC"}
@@ -0,0 +1,41 @@
1
+ /** Something that took time: from `start` to `end` (epoch ms); `end` null while it runs. */
2
+ export interface LaneBar {
3
+ id: string;
4
+ start: number;
5
+ /** Null: running, the bar grows to now. */
6
+ end: number | null;
7
+ /** The key of its look in the element's `barStyles`. */
8
+ style: string;
9
+ /** The bar's tooltip: one item per line. */
10
+ label: string;
11
+ }
12
+ /** A row of bars; overlapping bars of a lane are stacked (`stack`). */
13
+ export interface Lane {
14
+ id: string;
15
+ label: string;
16
+ bars: readonly LaneBar[];
17
+ }
18
+ /** How a bar is filled: its colour, hatched, moving stripes, or only an outline. */
19
+ export type LanePattern = 'solid' | 'hatched' | 'striped' | 'outline';
20
+ /** A look of bars, and its entry in the legend. */
21
+ export interface LaneStyle {
22
+ label: string;
23
+ /** A CSS colour or `var(...)`. */
24
+ color: string;
25
+ pattern?: LanePattern;
26
+ /** The legend row of its entry (0, the first, by default). */
27
+ group?: number;
28
+ }
29
+ export interface LanesStrings {
30
+ /** The note after the legend: bars the host left out. */
31
+ omitted: (n: number) => string;
32
+ /** No bars. */
33
+ empty: string;
34
+ }
35
+ export declare const DEFAULT_LANES_STRINGS: LanesStrings;
36
+ /** The time the axis spans, epoch ms. */
37
+ export interface TimeRange {
38
+ start: number;
39
+ end: number;
40
+ }
41
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/lanes/types.ts"],"names":[],"mappings":"AAEA,4FAA4F;AAC5F,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,2CAA2C;IAC3C,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,KAAK,EAAE,MAAM,CAAC;CACf;AAED,uEAAuE;AACvE,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,SAAS,OAAO,EAAE,CAAC;CAC1B;AAED,oFAAoF;AACpF,MAAM,MAAM,WAAW,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAEtE,mDAAmD;AACnD,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,YAAY;IAC3B,yDAAyD;IACzD,OAAO,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IAC/B,eAAe;IACf,KAAK,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,qBAAqB,EAAE,YAGnC,CAAC;AAEF,yCAAyC;AACzC,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;CACb"}
@@ -0,0 +1,6 @@
1
+ // What `<cae-lanes>` shows: bars on a time axis, a lane per group.
2
+ export const DEFAULT_LANES_STRINGS = {
3
+ omitted: (n) => (n === 1 ? '1 bar not shown' : `${n} bars not shown`),
4
+ empty: 'No bars',
5
+ };
6
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/lanes/types.ts"],"names":[],"mappings":"AAAA,mEAAmE;AAyCnE,MAAM,CAAC,MAAM,qBAAqB,GAAiB;IACjD,OAAO,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACrE,KAAK,EAAE,SAAS;CACjB,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { LitElement } from 'lit';
2
+ export interface MarkdownStrings {
3
+ /** The button that shows the text rendered. */
4
+ showRendered: string;
5
+ /** The button that shows the text as it is. */
6
+ showSource: string;
7
+ }
8
+ export declare const DEFAULT_MARKDOWN_STRINGS: Readonly<MarkdownStrings>;
9
+ /**
10
+ * A markdown text with a rendered/source switch. `split` may take a leading line
11
+ * off the text, shown apart above the rendered body; the source is the text as
12
+ * it is.
13
+ *
14
+ * @tagname cae-markdown
15
+ * @csspart toggle - the rendered/source button
16
+ */
17
+ export declare class CaeMarkdown extends LitElement {
18
+ static styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
19
+ text: string;
20
+ /** Takes a leading line off the text (`head`), shown apart above the rendered `body`. */
21
+ split?: (text: string) => {
22
+ head: string;
23
+ body: string;
24
+ };
25
+ /** Marks up the rendered (escaped) HTML further, as `mdFile`'s `mark`. */
26
+ transform?: (html: string) => string;
27
+ /** The visible words; English by default. */
28
+ strings: Partial<MarkdownStrings>;
29
+ private source;
30
+ render(): import("lit").TemplateResult<1>;
31
+ }
32
+ declare global {
33
+ interface HTMLElementTagNameMap {
34
+ 'cae-markdown': CaeMarkdown;
35
+ }
36
+ }
37
+ //# sourceMappingURL=cae-markdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cae-markdown.d.ts","sourceRoot":"","sources":["../../src/markdown/cae-markdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAC;AAOrD,MAAM,WAAW,eAAe;IAC9B,+CAA+C;IAC/C,YAAY,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,wBAAwB,EAAE,QAAQ,CAAC,eAAe,CAAgE,CAAC;AAEhI;;;;;;;GAOG;AACH,qBAAa,WAAY,SAAQ,UAAU;IACzC,OAAgB,MAAM,0DASpB;IAEU,IAAI,SAAM;IACtB,yFAAyF;IACzD,KAAK,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzF,0EAA0E;IAC1C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACrE,6CAA6C;IACb,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAM;IAC9D,OAAO,CAAC,MAAM,CAAS;IAEvB,MAAM;CAYhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAC;KAC7B;CACF"}