@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,433 @@
1
+ // The built-in themes: one value for every colour token, per theme, and the
2
+ // rules that apply them. Plain data and plain functions (no Lit, no DOM at
3
+ // import), so a page, a build script and the documentation site can read them
4
+ // too (`@contraagent/elements/themes`).
5
+ //
6
+ // A theme is a value for each `--ca-*` property (TOKENS, tokens-list.ts) that
7
+ // has no `derive`: `data-ca-theme="<name>"` on an element sets them there (the
8
+ // rules below), so that element, everything inside it (the page's own CSS too)
9
+ // and every element's shadow root read the same properties. A `--ca-*` property
10
+ // set on that element or inside it wins over the theme. With neither, an element
11
+ // shows the contraagent theme (the fallbacks in `tokenStyles`, styles/tokens.ts).
12
+ import { TOKENS } from './tokens-list.js';
13
+
14
+ /**
15
+ * The built-in themes, in the order of the monitor's theme control. Each is a
16
+ * full set of tokens. Sources (all MIT-licensed):
17
+ * - `contraagent-dark`, `contraagent-light`: this package's own palette, MIT.
18
+ * - `github-dark`, `github-light`, `high-contrast`: GitHub Primer primitives
19
+ * (dark, light and dark high contrast), https://github.com/primer/primitives, MIT, (c) GitHub Inc.
20
+ * - `one-dark`: Atom One Dark, https://github.com/atom/atom/tree/master/packages/one-dark-syntax, MIT, (c) GitHub Inc.
21
+ * - `nord`: Nord, https://www.nordtheme.com, MIT, (c) Arctic Ice Studio and Sven Greb.
22
+ */
23
+ export const THEME_NAMES = ['contraagent-dark', 'contraagent-light', 'github-dark', 'github-light', 'one-dark', 'nord', 'high-contrast'] as const;
24
+ export type ThemeName = (typeof THEME_NAMES)[number];
25
+ /** A reader's choice: a theme, or `system` (contraagent Dark or contraagent Light, as the system's colour scheme). */
26
+ export type ThemeChoice = ThemeName | 'system';
27
+ /** The choices in the monitor's control, in order. */
28
+ export const THEME_CHOICES: readonly ThemeChoice[] = ['contraagent-dark', 'contraagent-light', 'system', 'github-dark', 'github-light', 'one-dark', 'nord', 'high-contrast'];
29
+ /** The themes after the first divider of the control: palettes of code editors. */
30
+ export const EDITOR_THEMES: readonly ThemeName[] = ['github-dark', 'github-light', 'one-dark', 'nord', 'high-contrast'];
31
+ /** The theme for a reader who has not chosen. */
32
+ export const DEFAULT_THEME: ThemeName = 'contraagent-dark';
33
+ /** What `system` shows, by the system's colour scheme. */
34
+ export const SYSTEM_THEMES = { dark: 'contraagent-dark', light: 'contraagent-light' } as const satisfies Record<string, ThemeName>;
35
+
36
+
37
+ /** The name of every token a theme sets (every token without `derive`). */
38
+ export type ThemeToken =
39
+ | 'backdrop' | 'bg' | 'card' | 'panel' | 'panel2' | 'raise' | 'well' | 'track' | 'line' | 'line2' | 'shadow'
40
+ | 'text' | 'text-2' | 'text-muted' | 'accent' | 'focus' | 'focus-width' | 'selection'
41
+ | 'status-failed' | 'status-attention' | 'status-done' | 'status-running' | 'status-muted' | 'tint'
42
+ | 'agent' | 'meter' | 'tok-input' | 'tok-cache-read' | 'tok-cache-write' | 'tok-output'
43
+ | 'series-1' | 'series-2' | 'series-3' | 'series-4' | 'series-5' | 'series-6'
44
+ | 'code-keyword' | 'code-string' | 'code-number' | 'code-constant' | 'code-comment' | 'code-function' | 'code-type' | 'code-name';
45
+
46
+ export interface Theme {
47
+ /** The name the theme control shows; a theme's own name, the same in every language. */
48
+ label: string;
49
+ /** Light or dark: the `color-scheme` (native controls, scrollbars) and what `system` picks by. */
50
+ scheme: 'dark' | 'light';
51
+ tokens: Record<ThemeToken, string>;
52
+ }
53
+
54
+ // Where a value differs from its source palette, the comment says so and why
55
+ // (the contrast rules: text 4.5:1 on every surface and tint, 7:1 in high contrast).
56
+ // The series colours are one categorical palette in a fixed order (blue, orange,
57
+ // aqua, yellow, magenta, green), its light steps in a light theme and its dark
58
+ // steps in a dark one. In that order every adjacent pair stays apart for the
59
+ // colour-blind (CVD ΔE ≥ 8.4) and for everyone (ΔE ≥ 19) on each theme's card;
60
+ // some sit under 3:1 against a card, so an element that uses them names each
61
+ // series in words too (a legend, a table). They are never a status.
62
+ export const THEMES: Record<ThemeName, Theme> = {
63
+ 'contraagent-dark': {
64
+ label: 'contraagent Dark',
65
+ scheme: 'dark',
66
+ tokens: {
67
+ backdrop: 'radial-gradient(1100px 520px at 8% -12%, #10203a 0%, transparent 62%), radial-gradient(900px 480px at 108% 4%, #1b1238 0%, transparent 58%), #060a11',
68
+ bg: '#060a11',
69
+ card: '#0f1724',
70
+ panel: '#0f1724',
71
+ panel2: '#142034',
72
+ raise: '#1a2740',
73
+ well: '#0a111c',
74
+ track: '#1b273b',
75
+ line: '#1d2940',
76
+ line2: '#2b3c58',
77
+ shadow: '#060a11',
78
+ text: '#e7edf5',
79
+ 'text-2': '#bcc7d6',
80
+ 'text-muted': '#909db2',
81
+ accent: '#7aa2ff',
82
+ focus: '#7aa2ff',
83
+ 'focus-width': '2px',
84
+ selection: '#7aa2ff4d',
85
+ 'status-failed': '#f87171',
86
+ 'status-attention': '#fbbf24',
87
+ 'status-done': '#34d399',
88
+ 'status-running': '#22d3ee',
89
+ 'status-muted': '#94a3b8',
90
+ tint: '13%',
91
+ agent: '#b597fb',
92
+ meter: '#7d8ba3',
93
+ 'tok-input': '#7c86f5',
94
+ 'tok-cache-read': '#3f4d63',
95
+ 'tok-cache-write': '#8796ad',
96
+ 'tok-output': '#d6b8ff',
97
+ 'series-1': '#3987e5',
98
+ 'series-2': '#d95926',
99
+ 'series-3': '#199e70',
100
+ 'series-4': '#c98500',
101
+ 'series-5': '#d55181',
102
+ 'series-6': '#008300',
103
+ 'code-keyword': '#c4a5ff',
104
+ 'code-string': '#7ee2a8',
105
+ 'code-number': '#f5c26b',
106
+ 'code-constant': '#ff9e64',
107
+ 'code-comment': '#74839a',
108
+ 'code-function': '#7dd3fc',
109
+ 'code-type': '#ffd479',
110
+ 'code-name': '#79b8ff',
111
+ },
112
+ },
113
+ // The same hues as contraagent Dark (accent, statuses, identity, code), with
114
+ // the lightness and saturation set for a light page.
115
+ 'contraagent-light': {
116
+ label: 'contraagent Light',
117
+ scheme: 'light',
118
+ tokens: {
119
+ backdrop: 'radial-gradient(1100px 520px at 8% -12%, #dde7fb 0%, transparent 62%), radial-gradient(900px 480px at 108% 4%, #ebe3fa 0%, transparent 58%), #eef2f8',
120
+ bg: '#eef2f8',
121
+ card: '#ffffff',
122
+ panel: '#ffffff',
123
+ panel2: '#f7f9fc',
124
+ raise: '#e6ecf5',
125
+ well: '#f3f6fa',
126
+ track: '#e1e7f0',
127
+ line: '#d6dde8',
128
+ line2: '#b6c2d3',
129
+ shadow: '#0f172438',
130
+ text: '#0f1724',
131
+ 'text-2': '#34415a',
132
+ 'text-muted': '#556279',
133
+ accent: '#2f58d4',
134
+ focus: '#2f58d4',
135
+ 'focus-width': '2px',
136
+ selection: '#2f58d42e',
137
+ 'status-failed': '#b8132d',
138
+ 'status-attention': '#6c4801',
139
+ 'status-done': '#026b49',
140
+ 'status-running': '#01525f',
141
+ 'status-muted': '#56637a',
142
+ tint: '11%',
143
+ agent: '#6f45c0',
144
+ meter: '#8a97ab',
145
+ 'tok-input': '#4d4cc8',
146
+ 'tok-cache-read': '#cdd6e3',
147
+ 'tok-cache-write': '#7d8aa0',
148
+ 'tok-output': '#a07ad9',
149
+ 'series-1': '#2a78d6',
150
+ 'series-2': '#eb6834',
151
+ 'series-3': '#1baf7a',
152
+ 'series-4': '#eda100',
153
+ 'series-5': '#e87ba4',
154
+ 'series-6': '#008300',
155
+ 'code-keyword': '#6f49a8',
156
+ 'code-string': '#076b40',
157
+ 'code-number': '#7b5605',
158
+ 'code-constant': '#964605',
159
+ 'code-comment': '#5d6b80',
160
+ 'code-function': '#086586',
161
+ 'code-type': '#785902',
162
+ 'code-name': '#095ea8',
163
+ },
164
+ },
165
+ 'github-dark': {
166
+ label: 'GitHub Dark',
167
+ scheme: 'dark',
168
+ tokens: {
169
+ backdrop: '#010409',
170
+ bg: '#010409',
171
+ card: '#0d1117',
172
+ panel: '#0d1117',
173
+ panel2: '#151b23',
174
+ raise: '#212830',
175
+ well: '#010409',
176
+ track: '#262c36',
177
+ line: '#262c36',
178
+ line2: '#3d444d',
179
+ shadow: '#010409',
180
+ text: '#f0f6fc',
181
+ 'text-2': '#d1d7e0',
182
+ 'text-muted': '#9299a2',
183
+ accent: '#4796fb',
184
+ focus: '#1f6feb',
185
+ 'focus-width': '2px',
186
+ selection: '#388bfd4d',
187
+ 'status-failed': '#fc554d',
188
+ 'status-attention': '#d29922',
189
+ 'status-done': '#3fb950',
190
+ 'status-running': '#39c5cf',
191
+ 'status-muted': '#9198a1',
192
+ tint: '15%',
193
+ agent: '#ab7df8',
194
+ meter: '#656c76',
195
+ 'tok-input': '#58a6ff',
196
+ 'tok-cache-read': '#2f3742',
197
+ 'tok-cache-write': '#656c76',
198
+ 'tok-output': '#d2a8ff',
199
+ 'series-1': '#3987e5',
200
+ 'series-2': '#d95926',
201
+ 'series-3': '#199e70',
202
+ 'series-4': '#c98500',
203
+ 'series-5': '#d55181',
204
+ 'series-6': '#008300',
205
+ 'code-keyword': '#ff7b72',
206
+ 'code-string': '#a5d6ff',
207
+ 'code-number': '#79c0ff',
208
+ 'code-constant': '#79c0ff',
209
+ 'code-comment': '#9198a1',
210
+ 'code-function': '#d2a8ff',
211
+ 'code-type': '#ffa657',
212
+ 'code-name': '#7ee787',
213
+ },
214
+ },
215
+ 'github-light': {
216
+ label: 'GitHub Light',
217
+ scheme: 'light',
218
+ tokens: {
219
+ backdrop: '#f6f8fa',
220
+ bg: '#f6f8fa',
221
+ card: '#ffffff',
222
+ panel: '#ffffff',
223
+ panel2: '#ffffff',
224
+ raise: '#eff2f5',
225
+ well: '#f6f8fa',
226
+ track: '#e6eaef',
227
+ line: '#d1d9e0',
228
+ line2: '#b7c0ca',
229
+ shadow: '#1f232833',
230
+ text: '#1f2328',
231
+ 'text-2': '#393f46',
232
+ 'text-muted': '#59636e',
233
+ accent: '#0165d6',
234
+ focus: '#0165d6',
235
+ 'focus-width': '2px',
236
+ selection: '#0969da33',
237
+ 'status-failed': '#cd1e2b',
238
+ 'status-attention': '#916103',
239
+ 'status-done': '#147b33',
240
+ 'status-running': '#10767d',
241
+ 'status-muted': '#59636e',
242
+ tint: '8%',
243
+ agent: '#804ddc',
244
+ meter: '#818b98',
245
+ 'tok-input': '#54aeff',
246
+ 'tok-cache-read': '#d1d9e0',
247
+ 'tok-cache-write': '#818b98',
248
+ 'tok-output': '#a475f9',
249
+ 'series-1': '#2a78d6',
250
+ 'series-2': '#eb6834',
251
+ 'series-3': '#1baf7a',
252
+ 'series-4': '#eda100',
253
+ 'series-5': '#e87ba4',
254
+ 'series-6': '#008300',
255
+ 'code-keyword': '#cf222e',
256
+ 'code-string': '#0a3069',
257
+ 'code-number': '#0550ae',
258
+ 'code-constant': '#0550ae',
259
+ 'code-comment': '#59636e',
260
+ 'code-function': '#6639ba',
261
+ 'code-type': '#953800',
262
+ 'code-name': '#116329',
263
+ },
264
+ },
265
+ 'one-dark': {
266
+ label: 'One Dark',
267
+ scheme: 'dark',
268
+ tokens: {
269
+ backdrop: '#21252b',
270
+ bg: '#21252b',
271
+ card: '#282c34',
272
+ panel: '#282c34',
273
+ panel2: '#2c313a',
274
+ raise: '#2c313a',
275
+ well: '#21252b',
276
+ track: '#3a3f4b',
277
+ line: '#181a1f',
278
+ line2: '#4b5263',
279
+ shadow: '#0e1013',
280
+ text: '#d7dae0',
281
+ 'text-2': '#abb2bf',
282
+ 'text-muted': '#a7afbe',
283
+ accent: '#64b2f2',
284
+ focus: '#528bff',
285
+ 'focus-width': '2px',
286
+ selection: '#3e4451',
287
+ 'status-failed': '#fc858d',
288
+ 'status-attention': '#e5c07b',
289
+ 'status-done': '#98c379',
290
+ 'status-running': '#57b7c3',
291
+ 'status-muted': '#a7afbe',
292
+ tint: '12%',
293
+ agent: '#d788ee',
294
+ meter: '#5c6370',
295
+ 'tok-input': '#61afef',
296
+ 'tok-cache-read': '#3e4451',
297
+ 'tok-cache-write': '#5c6370',
298
+ 'tok-output': '#c678dd',
299
+ 'series-1': '#3987e5',
300
+ 'series-2': '#d95926',
301
+ 'series-3': '#199e70',
302
+ 'series-4': '#c98500',
303
+ 'series-5': '#d55181',
304
+ 'series-6': '#008300',
305
+ 'code-keyword': '#c678dd',
306
+ 'code-string': '#98c379',
307
+ 'code-number': '#d19a66',
308
+ 'code-constant': '#d19a66',
309
+ 'code-comment': '#8f949e',
310
+ 'code-function': '#61afef',
311
+ 'code-type': '#e5c07b',
312
+ 'code-name': '#e36e77',
313
+ },
314
+ },
315
+ nord: {
316
+ label: 'Nord',
317
+ scheme: 'dark',
318
+ tokens: {
319
+ backdrop: '#2e3440',
320
+ bg: '#242933',
321
+ card: '#2e3440',
322
+ panel: '#2e3440',
323
+ panel2: '#323946',
324
+ raise: '#3b4252',
325
+ well: '#272c36',
326
+ track: '#3b4252',
327
+ line: '#3b4252',
328
+ line2: '#4c566a',
329
+ shadow: '#1d2129',
330
+ text: '#eceff4',
331
+ 'text-2': '#d8dee9',
332
+ 'text-muted': '#adbcd9',
333
+ accent: '#9dbedf',
334
+ focus: '#88c0d0',
335
+ 'focus-width': '2px',
336
+ selection: '#4c566a',
337
+ 'status-failed': '#fe9aa1',
338
+ 'status-attention': '#ebcb8b',
339
+ 'status-done': '#a5c18e',
340
+ 'status-running': '#89c1d1',
341
+ 'status-muted': '#adbcd9',
342
+ tint: '13%',
343
+ agent: '#d0a9c9',
344
+ meter: '#7b88a1',
345
+ 'tok-input': '#5e81ac',
346
+ 'tok-cache-read': '#4c566a',
347
+ 'tok-cache-write': '#7b88a1',
348
+ 'tok-output': '#b48ead',
349
+ 'series-1': '#3987e5',
350
+ 'series-2': '#d95926',
351
+ 'series-3': '#199e70',
352
+ 'series-4': '#c98500',
353
+ 'series-5': '#d55181',
354
+ 'series-6': '#008300',
355
+ 'code-keyword': '#81a1c1',
356
+ 'code-string': '#a3be8c',
357
+ 'code-number': '#b790b0',
358
+ 'code-constant': '#d38972',
359
+ 'code-comment': '#8f9db8',
360
+ 'code-function': '#88c0d0',
361
+ 'code-type': '#8fbcbb',
362
+ 'code-name': '#8fbcbb',
363
+ },
364
+ },
365
+ 'high-contrast': {
366
+ label: 'High contrast',
367
+ scheme: 'dark',
368
+ tokens: {
369
+ backdrop: '#010409',
370
+ bg: '#010409',
371
+ card: '#0a0c10',
372
+ panel: '#0a0c10',
373
+ panel2: '#0a0c10',
374
+ raise: '#1c2128',
375
+ well: '#010409',
376
+ track: '#272b33',
377
+ line: '#7a828e',
378
+ line2: '#9ea7b3',
379
+ shadow: '#000000',
380
+ text: '#ffffff',
381
+ 'text-2': '#f0f3f6',
382
+ 'text-muted': '#bdc4cc',
383
+ accent: '#7abbfe',
384
+ focus: '#7abbfe',
385
+ 'focus-width': '3px',
386
+ selection: '#409eff66',
387
+ 'status-failed': '#ffacb8',
388
+ 'status-attention': '#fad209',
389
+ 'status-done': '#0ef38e',
390
+ 'status-running': '#62ceff',
391
+ 'status-muted': '#bdc4cc',
392
+ tint: '12%',
393
+ agent: '#c299fe',
394
+ meter: '#9ea7b3',
395
+ 'tok-input': '#409eff',
396
+ 'tok-cache-read': '#525964',
397
+ 'tok-cache-write': '#9ea7b3',
398
+ 'tok-output': '#dbb7ff',
399
+ 'series-1': '#3987e5',
400
+ 'series-2': '#d95926',
401
+ 'series-3': '#199e70',
402
+ 'series-4': '#c98500',
403
+ 'series-5': '#d55181',
404
+ 'series-6': '#008300',
405
+ 'code-keyword': '#ff9492',
406
+ 'code-string': '#addcff',
407
+ 'code-number': '#91cbff',
408
+ 'code-constant': '#91cbff',
409
+ 'code-comment': '#bdc4cc',
410
+ 'code-function': '#dbb7ff',
411
+ 'code-type': '#ffb757',
412
+ 'code-name': '#72f088',
413
+ },
414
+ },
415
+ };
416
+
417
+ const propOf: Readonly<Record<string, string>> = Object.fromEntries(TOKENS.map((t) => [t.name, t.prop]));
418
+
419
+ /** A theme's selector on a page: `:where()` gives it no specificity, so any rule of the page that sets a `--ca-*` property wins. */
420
+ export const pageThemeSelector = (name: ThemeName): string => `:where([data-ca-theme="${name}"])`;
421
+
422
+ /**
423
+ * The rules that apply each theme: each sets `color-scheme`, `--ca-color-scheme`
424
+ * and the theme's `--ca-*` properties. The selector per theme name is
425
+ * `pageThemeSelector` unless given; inside a shadow root, `n => `:host([data-ca-theme="${n}"])``.
426
+ */
427
+ export function themeRules(selector: (name: ThemeName) => string = pageThemeSelector): string {
428
+ return THEME_NAMES.map((n) => {
429
+ const t = THEMES[n];
430
+ const decls = Object.entries(t.tokens).map(([k, v]) => `${propOf[k]}: ${v};`);
431
+ return `${selector(n)} { color-scheme: ${t.scheme}; --ca-color-scheme: ${t.scheme}; ${decls.join(' ')} }`;
432
+ }).join('\n');
433
+ }
@@ -0,0 +1,10 @@
1
+ // The themes: `@contraagent/elements/themes`. The data and the choice are plain
2
+ // data and plain functions (data.ts, tokens-list.ts, token-meanings.ts, choice.ts, boot.ts), which
3
+ // a build script or a page can read without the elements; sheet.ts makes them
4
+ // stylesheets.
5
+ export * from './data.js';
6
+ export * from './tokens-list.js';
7
+ export * from './token-meanings.js';
8
+ export * from './choice.js';
9
+ export * from './boot.js';
10
+ export * from './sheet.js';
@@ -0,0 +1,29 @@
1
+ // The built-in themes as stylesheets: for a document (or any shadow root that
2
+ // holds the elements), and for an element that applies a theme to itself.
3
+ import { unsafeCSS, type CSSResult } from 'lit';
4
+ import { themeRules } from './data.js';
5
+
6
+ /**
7
+ * Applies the theme named by `data-ca-theme` on any element (`<html data-ca-theme="nord">`):
8
+ * it sets the `--ca-*` properties on that element, for the elements and the page's own CSS.
9
+ */
10
+ export const themeStyles: CSSResult = unsafeCSS(themeRules());
11
+
12
+ /** The same rules for a host element: `:host([data-ca-theme="nord"])`. */
13
+ export const hostThemeStyles: CSSResult = unsafeCSS(themeRules((n) => `:host([data-ca-theme="${n}"])`));
14
+
15
+ const adopted = new WeakSet<Document | ShadowRoot>();
16
+
17
+ /**
18
+ * Adds `themeStyles` to a document or a shadow root, once: then `data-ca-theme`
19
+ * on any element inside it applies that theme. Call it for the page's document,
20
+ * and for a shadow root of your own that holds the elements and sets
21
+ * `data-ca-theme` inside it.
22
+ */
23
+ export function adoptThemes(root: Document | ShadowRoot = document): void {
24
+ if (adopted.has(root)) return;
25
+ const sheet = themeStyles.styleSheet;
26
+ if (!sheet || !('adoptedStyleSheets' in root)) return;
27
+ root.adoptedStyleSheets = [...root.adoptedStyleSheets, sheet];
28
+ adopted.add(root);
29
+ }
@@ -0,0 +1,67 @@
1
+ // What each design token (tokens-list.ts) means, by its name: the site's theme
2
+ // reference shows it beside the token's property and values.
3
+
4
+ /** Each token's meaning, keyed by its name (`TokenInfo.name`), in the order of `TOKENS`. */
5
+ export const TOKEN_MEANINGS: Readonly<Record<string, string>> = {
6
+ backdrop: "the monitor's page, behind the panels (a colour or a gradient)",
7
+ bg: 'the page',
8
+ card: 'a card or a graph node',
9
+ panel: 'a panel (bottom of its gradient)',
10
+ panel2: 'a panel (top of its gradient), a sticky header',
11
+ raise: 'a raised surface: a neutral chip, a hovered row',
12
+ well: "a sunken surface: code, a graph's frame",
13
+ track: 'the empty part of a bar',
14
+ line: 'a border',
15
+ line2: "a stronger border, a graph's edge",
16
+ shadow: 'the colour of a shadow under a panel, a menu or a notice',
17
+ text: 'text, and every number that is not a problem count',
18
+ 'text-2': 'secondary text',
19
+ 'text-muted': 'labels, captions, units',
20
+ accent: 'links, the selected tab or item',
21
+ 'accent-bg': 'a selected row or item',
22
+ focus: 'the focus ring',
23
+ 'focus-width': 'the width of the focus ring',
24
+ selection: 'selected text',
25
+ 'status-failed': 'failed: a task, an attempt, a check (with ✕)',
26
+ 'status-failed-bg': 'the tint behind a failed pill or chip',
27
+ 'status-attention': 'not failed, needs a look: not started (with ◌), a limit near',
28
+ 'status-attention-bg': 'the tint behind an attention pill or chip',
29
+ 'status-done': 'done or passed: marks (✓) and small chips only',
30
+ 'status-done-bg': 'the tint behind a done pill or chip',
31
+ 'status-running': 'running, live',
32
+ 'status-running-bg': 'the tint behind a running pill or chip',
33
+ 'status-muted': 'skipped, waiting, not run',
34
+ 'status-muted-bg': 'the tint behind a muted pill or chip',
35
+ tint: 'how strong a tint is: the share of its colour in a status, agent or selected background',
36
+ agent: "identity: an agent task's icon and edge",
37
+ 'agent-bg': "the tint behind an agent task's icon",
38
+ meter: 'a bar that measures, not judges: time, usage, progress',
39
+ 'tok-input': 'tokens: input',
40
+ 'tok-cache-read': 'tokens: cache read',
41
+ 'tok-cache-write': 'tokens: cache write',
42
+ 'tok-output': 'tokens: output',
43
+ 'series-1': 'the first of the colours that tell series apart (a model in a share of use), in this order; never a status',
44
+ 'series-2': 'the second series colour',
45
+ 'series-3': 'the third series colour',
46
+ 'series-4': 'the fourth series colour',
47
+ 'series-5': 'the fifth series colour',
48
+ 'series-6': 'the sixth series colour',
49
+ 'code-keyword': 'code: keywords',
50
+ 'code-string': 'code and JSON: strings',
51
+ 'code-number': 'code and JSON: numbers',
52
+ 'code-constant': 'code: constants, template placeholders',
53
+ 'code-comment': 'code: comments',
54
+ 'code-function': 'code: functions, decorators',
55
+ 'code-type': 'code: classes and types',
56
+ 'code-name': 'code: built-ins; JSON: keys',
57
+ 'font-size-xs': 'type: the smallest text, a key or a tag',
58
+ 'font-size-sm': 'type: a chip, a pill, a caption',
59
+ 'font-size-md': 'type: a section heading, a row of facts',
60
+ 'font-size-lg': "type: the monitor's text",
61
+ 'font-size-xl': 'type: a title',
62
+ 'font-size-2xl': "type: a tile's number",
63
+ 'radius-sm': 'corners: a key, a code span',
64
+ 'radius-md': 'corners: a row, a code block',
65
+ 'radius-lg': 'corners: a panel',
66
+ 'radius-pill': 'corners: a pill or a chip',
67
+ };
@@ -0,0 +1,82 @@
1
+ // The design tokens: every custom property the elements read. The built-in
2
+ // themes (data.ts) set a value for each token without `derive`; the elements'
3
+ // stylesheet (styles/tokens.ts) is built from this list. What each one means is
4
+ // in token-meanings.ts, which the elements do not import.
5
+
6
+ /**
7
+ * A token: the short name the elements' styles use (`--<name>`) and the `--ca-*`
8
+ * property that sets it (`TOKEN_MEANINGS` has its meaning).
9
+ * A token with `derive` has that value, the same in every theme, unless its
10
+ * property is set: a value computed from the others, or a fixed size. The
11
+ * themes do not list it.
12
+ */
13
+ export interface TokenInfo {
14
+ name: string;
15
+ prop: string;
16
+ derive?: string;
17
+ }
18
+
19
+ export const TOKENS: readonly TokenInfo[] = [
20
+ { name: 'backdrop', prop: '--ca-backdrop' },
21
+ { name: 'bg', prop: '--ca-bg' },
22
+ { name: 'card', prop: '--ca-card' },
23
+ { name: 'panel', prop: '--ca-panel' },
24
+ { name: 'panel2', prop: '--ca-panel2' },
25
+ { name: 'raise', prop: '--ca-raise' },
26
+ { name: 'well', prop: '--ca-well' },
27
+ { name: 'track', prop: '--ca-track' },
28
+ { name: 'line', prop: '--ca-line' },
29
+ { name: 'line2', prop: '--ca-line2' },
30
+ { name: 'shadow', prop: '--ca-shadow' },
31
+ { name: 'text', prop: '--ca-text' },
32
+ { name: 'text-2', prop: '--ca-text-secondary' },
33
+ { name: 'text-muted', prop: '--ca-text-muted' },
34
+ { name: 'accent', prop: '--ca-accent' },
35
+ { name: 'accent-bg', prop: '--ca-accent-bg', derive: 'color-mix(in srgb, var(--accent) calc(var(--tint) + 1%), transparent)' },
36
+ { name: 'focus', prop: '--ca-focus' },
37
+ { name: 'focus-width', prop: '--ca-focus-width' },
38
+ { name: 'selection', prop: '--ca-selection' },
39
+ { name: 'status-failed', prop: '--ca-status-failed' },
40
+ { name: 'status-failed-bg', prop: '--ca-status-failed-bg', derive: 'color-mix(in srgb, var(--status-failed) var(--tint), transparent)' },
41
+ { name: 'status-attention', prop: '--ca-status-attention' },
42
+ { name: 'status-attention-bg', prop: '--ca-status-attention-bg', derive: 'color-mix(in srgb, var(--status-attention) var(--tint), transparent)' },
43
+ { name: 'status-done', prop: '--ca-status-done' },
44
+ { name: 'status-done-bg', prop: '--ca-status-done-bg', derive: 'color-mix(in srgb, var(--status-done) var(--tint), transparent)' },
45
+ { name: 'status-running', prop: '--ca-status-running' },
46
+ { name: 'status-running-bg', prop: '--ca-status-running-bg', derive: 'color-mix(in srgb, var(--status-running) var(--tint), transparent)' },
47
+ { name: 'status-muted', prop: '--ca-status-muted' },
48
+ { name: 'status-muted-bg', prop: '--ca-status-muted-bg', derive: 'color-mix(in srgb, var(--status-muted) calc(var(--tint) - 1%), transparent)' },
49
+ { name: 'tint', prop: '--ca-tint' },
50
+ { name: 'agent', prop: '--ca-agent' },
51
+ { name: 'agent-bg', prop: '--ca-agent-bg', derive: 'color-mix(in srgb, var(--agent) calc(var(--tint) + 2%), transparent)' },
52
+ { name: 'meter', prop: '--ca-meter' },
53
+ { name: 'tok-input', prop: '--ca-tok-input' },
54
+ { name: 'tok-cache-read', prop: '--ca-tok-cache-read' },
55
+ { name: 'tok-cache-write', prop: '--ca-tok-cache-write' },
56
+ { name: 'tok-output', prop: '--ca-tok-output' },
57
+ { name: 'series-1', prop: '--ca-series-1' },
58
+ { name: 'series-2', prop: '--ca-series-2' },
59
+ { name: 'series-3', prop: '--ca-series-3' },
60
+ { name: 'series-4', prop: '--ca-series-4' },
61
+ { name: 'series-5', prop: '--ca-series-5' },
62
+ { name: 'series-6', prop: '--ca-series-6' },
63
+ { name: 'code-keyword', prop: '--ca-code-keyword' },
64
+ { name: 'code-string', prop: '--ca-code-string' },
65
+ { name: 'code-number', prop: '--ca-code-number' },
66
+ { name: 'code-constant', prop: '--ca-code-constant' },
67
+ { name: 'code-comment', prop: '--ca-code-comment' },
68
+ { name: 'code-function', prop: '--ca-code-function' },
69
+ { name: 'code-type', prop: '--ca-code-type' },
70
+ { name: 'code-name', prop: '--ca-code-name' },
71
+ // The type and radius scale: the same in every theme, so each has a default and no theme sets it.
72
+ { name: 'font-size-xs', prop: '--ca-font-size-xs', derive: '10px' },
73
+ { name: 'font-size-sm', prop: '--ca-font-size-sm', derive: '11px' },
74
+ { name: 'font-size-md', prop: '--ca-font-size-md', derive: '12px' },
75
+ { name: 'font-size-lg', prop: '--ca-font-size-lg', derive: '13px' },
76
+ { name: 'font-size-xl', prop: '--ca-font-size-xl', derive: '15px' },
77
+ { name: 'font-size-2xl', prop: '--ca-font-size-2xl', derive: '28px' },
78
+ { name: 'radius-sm', prop: '--ca-radius-sm', derive: '4px' },
79
+ { name: 'radius-md', prop: '--ca-radius-md', derive: '8px' },
80
+ { name: 'radius-lg', prop: '--ca-radius-lg', derive: '12px' },
81
+ { name: 'radius-pill', prop: '--ca-radius-pill', derive: '999px' },
82
+ ];
@@ -0,0 +1,5 @@
1
+ // Figures as tiles: `@contraagent/elements/tiles`. `CaeStatTiles` is registered
2
+ // by `@contraagent/elements/tiles/define`, with the `<cae-count>` it renders.
3
+ export * from './types.js';
4
+ export * from './styles.js';
5
+ export * from './stat-tiles.js';