@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,48 @@
1
+ /** A column: its header, its width, and what a cell shows for a row. */
2
+ export interface DataColumn<R> {
3
+ /** Unique among the columns: `data-col` on its cells, the `id` of `cae-sort`. */
4
+ id: string;
5
+ header: string;
6
+ /** The header's tooltip. */
7
+ tip?: string;
8
+ /** `end` for numbers: right-aligned, tabular figures. */
9
+ align?: 'start' | 'end';
10
+ /** A CSS grid track: '72px', 'minmax(0, 1fr)' (the default). */
11
+ width?: string;
12
+ /** The cell: a template, a string or a number. */
13
+ cell: (row: R, index: number) => unknown;
14
+ /** The cell as plain text: what `sortRows` orders by when the column has no `compare`. */
15
+ text?: (row: R) => string;
16
+ /** The order of two rows by this column, ascending. */
17
+ compare?: (a: R, b: R) => number;
18
+ /**
19
+ * The header is a button that sends `cae-sort` (true when the column has `compare`).
20
+ * Without `compare` and `text`, `sortRows` orders by the cell when it is a string or a number.
21
+ */
22
+ sortable?: boolean;
23
+ /** The cell names its row (`<th scope="row">`): the first such column does. */
24
+ rowHeader?: boolean;
25
+ }
26
+ /** The column the rows are ordered by. */
27
+ export interface SortState {
28
+ id: string;
29
+ direction: 'asc' | 'desc';
30
+ }
31
+ export interface DataTableStrings {
32
+ /** The table has no rows. */
33
+ empty: string;
34
+ /** A sortable header's tooltip: the click orders the rows ascending. */
35
+ sortAscending: string;
36
+ /** A sortable header's tooltip: the click orders the rows descending. */
37
+ sortDescending: string;
38
+ }
39
+ export declare const DEFAULT_DATA_TABLE_STRINGS: Readonly<DataTableStrings>;
40
+ /** Whether a column's header sorts. */
41
+ export declare const isSortable: <R>(c: DataColumn<R>) => boolean;
42
+ /**
43
+ * `rows` ordered by the column `sort` names: by its `compare`, else its `text`, else
44
+ * its cell when that is a string or a number; equal rows keep their order. The rows
45
+ * as they are when no column matches.
46
+ */
47
+ export declare function sortRows<R>(rows: readonly R[], columns: readonly DataColumn<R>[], sort: SortState | null): R[];
48
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/table/types.ts"],"names":[],"mappings":"AAGA,wEAAwE;AACxE,MAAM,WAAW,UAAU,CAAC,CAAC;IAC3B,iFAAiF;IACjF,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,yDAAyD;IACzD,KAAK,CAAC,EAAE,OAAO,GAAG,KAAK,CAAC;IACxB,gEAAgE;IAChE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,kDAAkD;IAClD,IAAI,EAAE,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC;IACzC,0FAA0F;IAC1F,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,KAAK,MAAM,CAAC;IAC1B,uDAAuD;IACvD,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC;IACjC;;;OAGG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,+EAA+E;IAC/E,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED,0CAA0C;AAC1C,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,KAAK,GAAG,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB;IAC/B,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,wEAAwE;IACxE,aAAa,EAAE,MAAM,CAAC;IACtB,yEAAyE;IACzE,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,0BAA0B,EAAE,QAAQ,CAAC,gBAAgB,CAIjE,CAAC;AAEF,uCAAuC;AACvC,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,KAAG,OAAoC,CAAC;AAEtF;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,EAAE,OAAO,EAAE,SAAS,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,GAAG,CAAC,EAAE,CAc9G"}
@@ -0,0 +1,30 @@
1
+ // The data a `<cae-data-table>` shows: its columns, each a function of a row,
2
+ // and its words.
3
+ export const DEFAULT_DATA_TABLE_STRINGS = {
4
+ empty: 'No rows',
5
+ sortAscending: 'Sort ascending',
6
+ sortDescending: 'Sort descending',
7
+ };
8
+ /** Whether a column's header sorts. */
9
+ export const isSortable = (c) => c.sortable ?? !!c.compare;
10
+ /**
11
+ * `rows` ordered by the column `sort` names: by its `compare`, else its `text`, else
12
+ * its cell when that is a string or a number; equal rows keep their order. The rows
13
+ * as they are when no column matches.
14
+ */
15
+ export function sortRows(rows, columns, sort) {
16
+ const c = sort && columns.find((x) => x.id === sort.id);
17
+ if (!sort || !c)
18
+ return [...rows];
19
+ const sign = sort.direction === 'desc' ? -1 : 1;
20
+ const { compare, text } = c;
21
+ // A cell that is neither a string nor a number (a template) keeps its place.
22
+ const value = (r, i) => {
23
+ const v = text ? text(r) : c.cell(r, i);
24
+ return typeof v === 'number' || typeof v === 'string' ? v : '';
25
+ };
26
+ const keyed = rows.map((r, i) => ({ r, i, v: compare ? 0 : value(r, i) }));
27
+ const cmp = (a, b) => compare ? compare(a.r, b.r) : typeof a.v === 'number' && typeof b.v === 'number' ? a.v - b.v : String(a.v).localeCompare(String(b.v), undefined, { numeric: true });
28
+ return keyed.sort((a, b) => sign * cmp(a, b) || a.i - b.i).map((x) => x.r);
29
+ }
30
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/table/types.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,iBAAiB;AA2CjB,MAAM,CAAC,MAAM,0BAA0B,GAA+B;IACpE,KAAK,EAAE,SAAS;IAChB,aAAa,EAAE,gBAAgB;IAC/B,cAAc,EAAE,iBAAiB;CAClC,CAAC;AAEF,uCAAuC;AACvC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAI,CAAgB,EAAW,EAAE,CAAC,CAAC,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AAEtF;;;;GAIG;AACH,MAAM,UAAU,QAAQ,CAAI,IAAkB,EAAE,OAAiC,EAAE,IAAsB;IACvG,MAAM,CAAC,GAAG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC;IACxD,IAAI,CAAC,IAAI,IAAI,CAAC,CAAC;QAAE,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IAChD,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;IAC5B,6EAA6E;IAC7E,MAAM,KAAK,GAAG,CAAC,CAAI,EAAE,CAAS,EAAE,EAAE;QAChC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACxC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IACjE,CAAC,CAAC;IACF,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,MAAM,GAAG,GAAG,CAAC,CAAyB,EAAE,CAAyB,EAAE,EAAE,CACnE,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACtK,OAAO,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7E,CAAC"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * A script for a page's `<head>`: it sets `data-ca-theme` on `<html>` from the
3
+ * reader's choice before the first paint, as `resolveTheme(preferredTheme(), prefersLight())`
4
+ * does. With `themeRules` in a `<style>` beside it, the page opens in its theme.
5
+ */
6
+ export declare const themeBootScript: string;
7
+ //# sourceMappingURL=boot.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot.d.ts","sourceRoot":"","sources":["../../src/themes/boot.ts"],"names":[],"mappings":"AAIA;;;;GAIG;AACH,eAAO,MAAM,eAAe,QAI0D,CAAC"}
@@ -0,0 +1,14 @@
1
+ // The page's theme before the first paint.
2
+ import { THEME_STORE_KEY } from './choice.js';
3
+ import { DEFAULT_THEME, SYSTEM_THEMES, THEME_CHOICES, THEME_NAMES } from './data.js';
4
+ /**
5
+ * A script for a page's `<head>`: it sets `data-ca-theme` on `<html>` from the
6
+ * reader's choice before the first paint, as `resolveTheme(preferredTheme(), prefersLight())`
7
+ * does. With `themeRules` in a `<style>` beside it, the page opens in its theme.
8
+ */
9
+ export const themeBootScript = `(function(){var c=null;try{c=localStorage.getItem(${JSON.stringify(THEME_STORE_KEY)})}catch(e){}
10
+ var names=${JSON.stringify(THEME_NAMES)},choices=${JSON.stringify(THEME_CHOICES)};
11
+ if(choices.indexOf(c)<0)c=${JSON.stringify(DEFAULT_THEME)};
12
+ if(c==="system")c=window.matchMedia&&matchMedia("(prefers-color-scheme: light)").matches?${JSON.stringify(SYSTEM_THEMES.light)}:${JSON.stringify(SYSTEM_THEMES.dark)};
13
+ if(names.indexOf(c)>=0)document.documentElement.setAttribute("data-ca-theme",c);})();`;
14
+ //# sourceMappingURL=boot.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boot.js","sourceRoot":"","sources":["../../src/themes/boot.ts"],"names":[],"mappings":"AAAA,2CAA2C;AAC3C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAErF;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,qDAAqD,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC;YACvG,IAAI,CAAC,SAAS,CAAC,WAAW,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;4BACpD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;2FACkC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,IAAI,CAAC;sFAC9E,CAAC"}
@@ -0,0 +1,16 @@
1
+ import { type ThemeChoice, type ThemeName } from './data.js';
2
+ export declare const isThemeName: (x: unknown) => x is ThemeName;
3
+ export declare const isThemeChoice: (x: unknown) => x is ThemeChoice;
4
+ /** The theme a choice shows: `system` by the system's colour scheme; anything else not a theme, the default. */
5
+ export declare function resolveTheme(choice: unknown, prefersLight: boolean): ThemeName;
6
+ /** Where the reader's choice is kept (this browser only). */
7
+ export declare const THEME_STORE_KEY = "contraagent:theme";
8
+ type Store = Pick<Storage, 'getItem' | 'setItem'>;
9
+ /** The reader's choice from an earlier visit, else the default theme. */
10
+ export declare function preferredTheme(store?: Store | undefined): ThemeChoice;
11
+ /** Remember the reader's choice for the next visit. */
12
+ export declare function rememberTheme(choice: ThemeChoice, store?: Store | undefined): void;
13
+ /** Whether the system asks for a light colour scheme. */
14
+ export declare const prefersLight: () => boolean;
15
+ export {};
16
+ //# sourceMappingURL=choice.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice.d.ts","sourceRoot":"","sources":["../../src/themes/choice.ts"],"names":[],"mappings":"AAEA,OAAO,EAA4D,KAAK,WAAW,EAAE,KAAK,SAAS,EAAE,MAAM,WAAW,CAAC;AAEvH,eAAO,MAAM,WAAW,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,SAA4D,CAAC;AAC3G,eAAO,MAAM,aAAa,GAAI,GAAG,OAAO,KAAG,CAAC,IAAI,WAAgE,CAAC;AAEjH,gHAAgH;AAChH,wBAAgB,YAAY,CAAC,MAAM,EAAE,OAAO,EAAE,YAAY,EAAE,OAAO,GAAG,SAAS,CAG9E;AAED,6DAA6D;AAC7D,eAAO,MAAM,eAAe,sBAAsB,CAAC;AAEnD,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,GAAG,SAAS,CAAC,CAAC;AASlD,yEAAyE;AACzE,wBAAgB,cAAc,CAAC,KAAK,GAAE,KAAK,GAAG,SAAqB,GAAG,WAAW,CAQhF;AAED,uDAAuD;AACvD,wBAAgB,aAAa,CAAC,MAAM,EAAE,WAAW,EAAE,KAAK,GAAE,KAAK,GAAG,SAAqB,GAAG,IAAI,CAM7F;AAED,yDAAyD;AACzD,eAAO,MAAM,YAAY,QAAO,OAAoF,CAAC"}
@@ -0,0 +1,45 @@
1
+ // The reader's choice of a theme: which theme it shows, and remembering it in
2
+ // this browser.
3
+ import { DEFAULT_THEME, SYSTEM_THEMES, THEME_CHOICES, THEME_NAMES } from './data.js';
4
+ export const isThemeName = (x) => THEME_NAMES.includes(x);
5
+ export const isThemeChoice = (x) => THEME_CHOICES.includes(x);
6
+ /** The theme a choice shows: `system` by the system's colour scheme; anything else not a theme, the default. */
7
+ export function resolveTheme(choice, prefersLight) {
8
+ if (choice === 'system')
9
+ return prefersLight ? SYSTEM_THEMES.light : SYSTEM_THEMES.dark;
10
+ return isThemeName(choice) ? choice : DEFAULT_THEME;
11
+ }
12
+ /** Where the reader's choice is kept (this browser only). */
13
+ export const THEME_STORE_KEY = 'contraagent:theme';
14
+ const storage = () => {
15
+ try {
16
+ return globalThis.localStorage;
17
+ }
18
+ catch {
19
+ return undefined;
20
+ }
21
+ };
22
+ /** The reader's choice from an earlier visit, else the default theme. */
23
+ export function preferredTheme(store = storage()) {
24
+ try {
25
+ const saved = store?.getItem(THEME_STORE_KEY);
26
+ if (isThemeChoice(saved))
27
+ return saved;
28
+ }
29
+ catch {
30
+ /* storage blocked: the default */
31
+ }
32
+ return DEFAULT_THEME;
33
+ }
34
+ /** Remember the reader's choice for the next visit. */
35
+ export function rememberTheme(choice, store = storage()) {
36
+ try {
37
+ store?.setItem(THEME_STORE_KEY, choice);
38
+ }
39
+ catch {
40
+ /* storage blocked: the choice lasts for this page */
41
+ }
42
+ }
43
+ /** Whether the system asks for a light colour scheme. */
44
+ export const prefersLight = () => globalThis.matchMedia?.('(prefers-color-scheme: light)').matches ?? false;
45
+ //# sourceMappingURL=choice.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"choice.js","sourceRoot":"","sources":["../../src/themes/choice.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gBAAgB;AAChB,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,WAAW,EAAoC,MAAM,WAAW,CAAC;AAEvH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAU,EAAkB,EAAE,CAAE,WAAkC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAC3G,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,CAAU,EAAoB,EAAE,CAAE,aAAoC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;AAEjH,gHAAgH;AAChH,MAAM,UAAU,YAAY,CAAC,MAAe,EAAE,YAAqB;IACjE,IAAI,MAAM,KAAK,QAAQ;QAAE,OAAO,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,IAAI,CAAC;IACxF,OAAO,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC;AACtD,CAAC;AAED,6DAA6D;AAC7D,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAGnD,MAAM,OAAO,GAAG,GAAsB,EAAE;IACtC,IAAI,CAAC;QACH,OAAO,UAAU,CAAC,YAAY,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF,yEAAyE;AACzE,MAAM,UAAU,cAAc,CAAC,QAA2B,OAAO,EAAE;IACjE,IAAI,CAAC;QACH,MAAM,KAAK,GAAG,KAAK,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;QAC9C,IAAI,aAAa,CAAC,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;IACzC,CAAC;IAAC,MAAM,CAAC;QACP,kCAAkC;IACpC,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,aAAa,CAAC,MAAmB,EAAE,QAA2B,OAAO,EAAE;IACrF,IAAI,CAAC;QACH,KAAK,EAAE,OAAO,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,qDAAqD;IACvD,CAAC;AACH,CAAC;AAED,yDAAyD;AACzD,MAAM,CAAC,MAAM,YAAY,GAAG,GAAY,EAAE,CAAC,UAAU,CAAC,UAAU,EAAE,CAAC,+BAA+B,CAAC,CAAC,OAAO,IAAI,KAAK,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * The built-in themes, in the order of the monitor's theme control. Each is a
3
+ * full set of tokens. Sources (all MIT-licensed):
4
+ * - `contraagent-dark`, `contraagent-light`: this package's own palette, MIT.
5
+ * - `github-dark`, `github-light`, `high-contrast`: GitHub Primer primitives
6
+ * (dark, light and dark high contrast), https://github.com/primer/primitives, MIT, (c) GitHub Inc.
7
+ * - `one-dark`: Atom One Dark, https://github.com/atom/atom/tree/master/packages/one-dark-syntax, MIT, (c) GitHub Inc.
8
+ * - `nord`: Nord, https://www.nordtheme.com, MIT, (c) Arctic Ice Studio and Sven Greb.
9
+ */
10
+ export declare const THEME_NAMES: readonly ["contraagent-dark", "contraagent-light", "github-dark", "github-light", "one-dark", "nord", "high-contrast"];
11
+ export type ThemeName = (typeof THEME_NAMES)[number];
12
+ /** A reader's choice: a theme, or `system` (contraagent Dark or contraagent Light, as the system's colour scheme). */
13
+ export type ThemeChoice = ThemeName | 'system';
14
+ /** The choices in the monitor's control, in order. */
15
+ export declare const THEME_CHOICES: readonly ThemeChoice[];
16
+ /** The themes after the first divider of the control: palettes of code editors. */
17
+ export declare const EDITOR_THEMES: readonly ThemeName[];
18
+ /** The theme for a reader who has not chosen. */
19
+ export declare const DEFAULT_THEME: ThemeName;
20
+ /** What `system` shows, by the system's colour scheme. */
21
+ export declare const SYSTEM_THEMES: {
22
+ readonly dark: "contraagent-dark";
23
+ readonly light: "contraagent-light";
24
+ };
25
+ /** The name of every token a theme sets (every token without `derive`). */
26
+ export type ThemeToken = 'backdrop' | 'bg' | 'card' | 'panel' | 'panel2' | 'raise' | 'well' | 'track' | 'line' | 'line2' | 'shadow' | 'text' | 'text-2' | 'text-muted' | 'accent' | 'focus' | 'focus-width' | 'selection' | 'status-failed' | 'status-attention' | 'status-done' | 'status-running' | 'status-muted' | 'tint' | 'agent' | 'meter' | 'tok-input' | 'tok-cache-read' | 'tok-cache-write' | 'tok-output' | 'series-1' | 'series-2' | 'series-3' | 'series-4' | 'series-5' | 'series-6' | 'code-keyword' | 'code-string' | 'code-number' | 'code-constant' | 'code-comment' | 'code-function' | 'code-type' | 'code-name';
27
+ export interface Theme {
28
+ /** The name the theme control shows; a theme's own name, the same in every language. */
29
+ label: string;
30
+ /** Light or dark: the `color-scheme` (native controls, scrollbars) and what `system` picks by. */
31
+ scheme: 'dark' | 'light';
32
+ tokens: Record<ThemeToken, string>;
33
+ }
34
+ export declare const THEMES: Record<ThemeName, Theme>;
35
+ /** A theme's selector on a page: `:where()` gives it no specificity, so any rule of the page that sets a `--ca-*` property wins. */
36
+ export declare const pageThemeSelector: (name: ThemeName) => string;
37
+ /**
38
+ * The rules that apply each theme: each sets `color-scheme`, `--ca-color-scheme`
39
+ * and the theme's `--ca-*` properties. The selector per theme name is
40
+ * `pageThemeSelector` unless given; inside a shadow root, `n => `:host([data-ca-theme="${n}"])``.
41
+ */
42
+ export declare function themeRules(selector?: (name: ThemeName) => string): string;
43
+ //# sourceMappingURL=data.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data.d.ts","sourceRoot":"","sources":["../../src/themes/data.ts"],"names":[],"mappings":"AAaA;;;;;;;;GAQG;AACH,eAAO,MAAM,WAAW,wHAAyH,CAAC;AAClJ,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,WAAW,CAAC,CAAC,MAAM,CAAC,CAAC;AACrD,sHAAsH;AACtH,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,QAAQ,CAAC;AAC/C,sDAAsD;AACtD,eAAO,MAAM,aAAa,EAAE,SAAS,WAAW,EAA4H,CAAC;AAC7K,mFAAmF;AACnF,eAAO,MAAM,aAAa,EAAE,SAAS,SAAS,EAAyE,CAAC;AACxH,iDAAiD;AACjD,eAAO,MAAM,aAAa,EAAE,SAA8B,CAAC;AAC3D,0DAA0D;AAC1D,eAAO,MAAM,aAAa;;;CAAwG,CAAC;AAGnI,2EAA2E;AAC3E,MAAM,MAAM,UAAU,GAClB,UAAU,GAAG,IAAI,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,GAC1G,MAAM,GAAG,QAAQ,GAAG,YAAY,GAAG,QAAQ,GAAG,OAAO,GAAG,aAAa,GAAG,WAAW,GACnF,eAAe,GAAG,kBAAkB,GAAG,aAAa,GAAG,gBAAgB,GAAG,cAAc,GAAG,MAAM,GACjG,OAAO,GAAG,OAAO,GAAG,WAAW,GAAG,gBAAgB,GAAG,iBAAiB,GAAG,YAAY,GACrF,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAAG,UAAU,GAC3E,cAAc,GAAG,aAAa,GAAG,aAAa,GAAG,eAAe,GAAG,cAAc,GAAG,eAAe,GAAG,WAAW,GAAG,WAAW,CAAC;AAEpI,MAAM,WAAW,KAAK;IACpB,wFAAwF;IACxF,KAAK,EAAE,MAAM,CAAC;IACd,kGAAkG;IAClG,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;CACpC;AAUD,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE,KAAK,CAiW3C,CAAC;AAIF,oIAAoI;AACpI,eAAO,MAAM,iBAAiB,GAAI,MAAM,SAAS,KAAG,MAA6C,CAAC;AAElG;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,QAAQ,GAAE,CAAC,IAAI,EAAE,SAAS,KAAK,MAA0B,GAAG,MAAM,CAM5F"}
@@ -0,0 +1,408 @@
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
+ * The built-in themes, in the order of the monitor's theme control. Each is a
15
+ * full set of tokens. Sources (all MIT-licensed):
16
+ * - `contraagent-dark`, `contraagent-light`: this package's own palette, MIT.
17
+ * - `github-dark`, `github-light`, `high-contrast`: GitHub Primer primitives
18
+ * (dark, light and dark high contrast), https://github.com/primer/primitives, MIT, (c) GitHub Inc.
19
+ * - `one-dark`: Atom One Dark, https://github.com/atom/atom/tree/master/packages/one-dark-syntax, MIT, (c) GitHub Inc.
20
+ * - `nord`: Nord, https://www.nordtheme.com, MIT, (c) Arctic Ice Studio and Sven Greb.
21
+ */
22
+ export const THEME_NAMES = ['contraagent-dark', 'contraagent-light', 'github-dark', 'github-light', 'one-dark', 'nord', 'high-contrast'];
23
+ /** The choices in the monitor's control, in order. */
24
+ export const THEME_CHOICES = ['contraagent-dark', 'contraagent-light', 'system', 'github-dark', 'github-light', 'one-dark', 'nord', 'high-contrast'];
25
+ /** The themes after the first divider of the control: palettes of code editors. */
26
+ export const EDITOR_THEMES = ['github-dark', 'github-light', 'one-dark', 'nord', 'high-contrast'];
27
+ /** The theme for a reader who has not chosen. */
28
+ export const DEFAULT_THEME = 'contraagent-dark';
29
+ /** What `system` shows, by the system's colour scheme. */
30
+ export const SYSTEM_THEMES = { dark: 'contraagent-dark', light: 'contraagent-light' };
31
+ // Where a value differs from its source palette, the comment says so and why
32
+ // (the contrast rules: text 4.5:1 on every surface and tint, 7:1 in high contrast).
33
+ // The series colours are one categorical palette in a fixed order (blue, orange,
34
+ // aqua, yellow, magenta, green), its light steps in a light theme and its dark
35
+ // steps in a dark one. In that order every adjacent pair stays apart for the
36
+ // colour-blind (CVD ΔE ≥ 8.4) and for everyone (ΔE ≥ 19) on each theme's card;
37
+ // some sit under 3:1 against a card, so an element that uses them names each
38
+ // series in words too (a legend, a table). They are never a status.
39
+ export const THEMES = {
40
+ 'contraagent-dark': {
41
+ label: 'contraagent Dark',
42
+ scheme: 'dark',
43
+ tokens: {
44
+ backdrop: 'radial-gradient(1100px 520px at 8% -12%, #10203a 0%, transparent 62%), radial-gradient(900px 480px at 108% 4%, #1b1238 0%, transparent 58%), #060a11',
45
+ bg: '#060a11',
46
+ card: '#0f1724',
47
+ panel: '#0f1724',
48
+ panel2: '#142034',
49
+ raise: '#1a2740',
50
+ well: '#0a111c',
51
+ track: '#1b273b',
52
+ line: '#1d2940',
53
+ line2: '#2b3c58',
54
+ shadow: '#060a11',
55
+ text: '#e7edf5',
56
+ 'text-2': '#bcc7d6',
57
+ 'text-muted': '#909db2',
58
+ accent: '#7aa2ff',
59
+ focus: '#7aa2ff',
60
+ 'focus-width': '2px',
61
+ selection: '#7aa2ff4d',
62
+ 'status-failed': '#f87171',
63
+ 'status-attention': '#fbbf24',
64
+ 'status-done': '#34d399',
65
+ 'status-running': '#22d3ee',
66
+ 'status-muted': '#94a3b8',
67
+ tint: '13%',
68
+ agent: '#b597fb',
69
+ meter: '#7d8ba3',
70
+ 'tok-input': '#7c86f5',
71
+ 'tok-cache-read': '#3f4d63',
72
+ 'tok-cache-write': '#8796ad',
73
+ 'tok-output': '#d6b8ff',
74
+ 'series-1': '#3987e5',
75
+ 'series-2': '#d95926',
76
+ 'series-3': '#199e70',
77
+ 'series-4': '#c98500',
78
+ 'series-5': '#d55181',
79
+ 'series-6': '#008300',
80
+ 'code-keyword': '#c4a5ff',
81
+ 'code-string': '#7ee2a8',
82
+ 'code-number': '#f5c26b',
83
+ 'code-constant': '#ff9e64',
84
+ 'code-comment': '#74839a',
85
+ 'code-function': '#7dd3fc',
86
+ 'code-type': '#ffd479',
87
+ 'code-name': '#79b8ff',
88
+ },
89
+ },
90
+ // The same hues as contraagent Dark (accent, statuses, identity, code), with
91
+ // the lightness and saturation set for a light page.
92
+ 'contraagent-light': {
93
+ label: 'contraagent Light',
94
+ scheme: 'light',
95
+ tokens: {
96
+ backdrop: 'radial-gradient(1100px 520px at 8% -12%, #dde7fb 0%, transparent 62%), radial-gradient(900px 480px at 108% 4%, #ebe3fa 0%, transparent 58%), #eef2f8',
97
+ bg: '#eef2f8',
98
+ card: '#ffffff',
99
+ panel: '#ffffff',
100
+ panel2: '#f7f9fc',
101
+ raise: '#e6ecf5',
102
+ well: '#f3f6fa',
103
+ track: '#e1e7f0',
104
+ line: '#d6dde8',
105
+ line2: '#b6c2d3',
106
+ shadow: '#0f172438',
107
+ text: '#0f1724',
108
+ 'text-2': '#34415a',
109
+ 'text-muted': '#556279',
110
+ accent: '#2f58d4',
111
+ focus: '#2f58d4',
112
+ 'focus-width': '2px',
113
+ selection: '#2f58d42e',
114
+ 'status-failed': '#b8132d',
115
+ 'status-attention': '#6c4801',
116
+ 'status-done': '#026b49',
117
+ 'status-running': '#01525f',
118
+ 'status-muted': '#56637a',
119
+ tint: '11%',
120
+ agent: '#6f45c0',
121
+ meter: '#8a97ab',
122
+ 'tok-input': '#4d4cc8',
123
+ 'tok-cache-read': '#cdd6e3',
124
+ 'tok-cache-write': '#7d8aa0',
125
+ 'tok-output': '#a07ad9',
126
+ 'series-1': '#2a78d6',
127
+ 'series-2': '#eb6834',
128
+ 'series-3': '#1baf7a',
129
+ 'series-4': '#eda100',
130
+ 'series-5': '#e87ba4',
131
+ 'series-6': '#008300',
132
+ 'code-keyword': '#6f49a8',
133
+ 'code-string': '#076b40',
134
+ 'code-number': '#7b5605',
135
+ 'code-constant': '#964605',
136
+ 'code-comment': '#5d6b80',
137
+ 'code-function': '#086586',
138
+ 'code-type': '#785902',
139
+ 'code-name': '#095ea8',
140
+ },
141
+ },
142
+ 'github-dark': {
143
+ label: 'GitHub Dark',
144
+ scheme: 'dark',
145
+ tokens: {
146
+ backdrop: '#010409',
147
+ bg: '#010409',
148
+ card: '#0d1117',
149
+ panel: '#0d1117',
150
+ panel2: '#151b23',
151
+ raise: '#212830',
152
+ well: '#010409',
153
+ track: '#262c36',
154
+ line: '#262c36',
155
+ line2: '#3d444d',
156
+ shadow: '#010409',
157
+ text: '#f0f6fc',
158
+ 'text-2': '#d1d7e0',
159
+ 'text-muted': '#9299a2',
160
+ accent: '#4796fb',
161
+ focus: '#1f6feb',
162
+ 'focus-width': '2px',
163
+ selection: '#388bfd4d',
164
+ 'status-failed': '#fc554d',
165
+ 'status-attention': '#d29922',
166
+ 'status-done': '#3fb950',
167
+ 'status-running': '#39c5cf',
168
+ 'status-muted': '#9198a1',
169
+ tint: '15%',
170
+ agent: '#ab7df8',
171
+ meter: '#656c76',
172
+ 'tok-input': '#58a6ff',
173
+ 'tok-cache-read': '#2f3742',
174
+ 'tok-cache-write': '#656c76',
175
+ 'tok-output': '#d2a8ff',
176
+ 'series-1': '#3987e5',
177
+ 'series-2': '#d95926',
178
+ 'series-3': '#199e70',
179
+ 'series-4': '#c98500',
180
+ 'series-5': '#d55181',
181
+ 'series-6': '#008300',
182
+ 'code-keyword': '#ff7b72',
183
+ 'code-string': '#a5d6ff',
184
+ 'code-number': '#79c0ff',
185
+ 'code-constant': '#79c0ff',
186
+ 'code-comment': '#9198a1',
187
+ 'code-function': '#d2a8ff',
188
+ 'code-type': '#ffa657',
189
+ 'code-name': '#7ee787',
190
+ },
191
+ },
192
+ 'github-light': {
193
+ label: 'GitHub Light',
194
+ scheme: 'light',
195
+ tokens: {
196
+ backdrop: '#f6f8fa',
197
+ bg: '#f6f8fa',
198
+ card: '#ffffff',
199
+ panel: '#ffffff',
200
+ panel2: '#ffffff',
201
+ raise: '#eff2f5',
202
+ well: '#f6f8fa',
203
+ track: '#e6eaef',
204
+ line: '#d1d9e0',
205
+ line2: '#b7c0ca',
206
+ shadow: '#1f232833',
207
+ text: '#1f2328',
208
+ 'text-2': '#393f46',
209
+ 'text-muted': '#59636e',
210
+ accent: '#0165d6',
211
+ focus: '#0165d6',
212
+ 'focus-width': '2px',
213
+ selection: '#0969da33',
214
+ 'status-failed': '#cd1e2b',
215
+ 'status-attention': '#916103',
216
+ 'status-done': '#147b33',
217
+ 'status-running': '#10767d',
218
+ 'status-muted': '#59636e',
219
+ tint: '8%',
220
+ agent: '#804ddc',
221
+ meter: '#818b98',
222
+ 'tok-input': '#54aeff',
223
+ 'tok-cache-read': '#d1d9e0',
224
+ 'tok-cache-write': '#818b98',
225
+ 'tok-output': '#a475f9',
226
+ 'series-1': '#2a78d6',
227
+ 'series-2': '#eb6834',
228
+ 'series-3': '#1baf7a',
229
+ 'series-4': '#eda100',
230
+ 'series-5': '#e87ba4',
231
+ 'series-6': '#008300',
232
+ 'code-keyword': '#cf222e',
233
+ 'code-string': '#0a3069',
234
+ 'code-number': '#0550ae',
235
+ 'code-constant': '#0550ae',
236
+ 'code-comment': '#59636e',
237
+ 'code-function': '#6639ba',
238
+ 'code-type': '#953800',
239
+ 'code-name': '#116329',
240
+ },
241
+ },
242
+ 'one-dark': {
243
+ label: 'One Dark',
244
+ scheme: 'dark',
245
+ tokens: {
246
+ backdrop: '#21252b',
247
+ bg: '#21252b',
248
+ card: '#282c34',
249
+ panel: '#282c34',
250
+ panel2: '#2c313a',
251
+ raise: '#2c313a',
252
+ well: '#21252b',
253
+ track: '#3a3f4b',
254
+ line: '#181a1f',
255
+ line2: '#4b5263',
256
+ shadow: '#0e1013',
257
+ text: '#d7dae0',
258
+ 'text-2': '#abb2bf',
259
+ 'text-muted': '#a7afbe',
260
+ accent: '#64b2f2',
261
+ focus: '#528bff',
262
+ 'focus-width': '2px',
263
+ selection: '#3e4451',
264
+ 'status-failed': '#fc858d',
265
+ 'status-attention': '#e5c07b',
266
+ 'status-done': '#98c379',
267
+ 'status-running': '#57b7c3',
268
+ 'status-muted': '#a7afbe',
269
+ tint: '12%',
270
+ agent: '#d788ee',
271
+ meter: '#5c6370',
272
+ 'tok-input': '#61afef',
273
+ 'tok-cache-read': '#3e4451',
274
+ 'tok-cache-write': '#5c6370',
275
+ 'tok-output': '#c678dd',
276
+ 'series-1': '#3987e5',
277
+ 'series-2': '#d95926',
278
+ 'series-3': '#199e70',
279
+ 'series-4': '#c98500',
280
+ 'series-5': '#d55181',
281
+ 'series-6': '#008300',
282
+ 'code-keyword': '#c678dd',
283
+ 'code-string': '#98c379',
284
+ 'code-number': '#d19a66',
285
+ 'code-constant': '#d19a66',
286
+ 'code-comment': '#8f949e',
287
+ 'code-function': '#61afef',
288
+ 'code-type': '#e5c07b',
289
+ 'code-name': '#e36e77',
290
+ },
291
+ },
292
+ nord: {
293
+ label: 'Nord',
294
+ scheme: 'dark',
295
+ tokens: {
296
+ backdrop: '#2e3440',
297
+ bg: '#242933',
298
+ card: '#2e3440',
299
+ panel: '#2e3440',
300
+ panel2: '#323946',
301
+ raise: '#3b4252',
302
+ well: '#272c36',
303
+ track: '#3b4252',
304
+ line: '#3b4252',
305
+ line2: '#4c566a',
306
+ shadow: '#1d2129',
307
+ text: '#eceff4',
308
+ 'text-2': '#d8dee9',
309
+ 'text-muted': '#adbcd9',
310
+ accent: '#9dbedf',
311
+ focus: '#88c0d0',
312
+ 'focus-width': '2px',
313
+ selection: '#4c566a',
314
+ 'status-failed': '#fe9aa1',
315
+ 'status-attention': '#ebcb8b',
316
+ 'status-done': '#a5c18e',
317
+ 'status-running': '#89c1d1',
318
+ 'status-muted': '#adbcd9',
319
+ tint: '13%',
320
+ agent: '#d0a9c9',
321
+ meter: '#7b88a1',
322
+ 'tok-input': '#5e81ac',
323
+ 'tok-cache-read': '#4c566a',
324
+ 'tok-cache-write': '#7b88a1',
325
+ 'tok-output': '#b48ead',
326
+ 'series-1': '#3987e5',
327
+ 'series-2': '#d95926',
328
+ 'series-3': '#199e70',
329
+ 'series-4': '#c98500',
330
+ 'series-5': '#d55181',
331
+ 'series-6': '#008300',
332
+ 'code-keyword': '#81a1c1',
333
+ 'code-string': '#a3be8c',
334
+ 'code-number': '#b790b0',
335
+ 'code-constant': '#d38972',
336
+ 'code-comment': '#8f9db8',
337
+ 'code-function': '#88c0d0',
338
+ 'code-type': '#8fbcbb',
339
+ 'code-name': '#8fbcbb',
340
+ },
341
+ },
342
+ 'high-contrast': {
343
+ label: 'High contrast',
344
+ scheme: 'dark',
345
+ tokens: {
346
+ backdrop: '#010409',
347
+ bg: '#010409',
348
+ card: '#0a0c10',
349
+ panel: '#0a0c10',
350
+ panel2: '#0a0c10',
351
+ raise: '#1c2128',
352
+ well: '#010409',
353
+ track: '#272b33',
354
+ line: '#7a828e',
355
+ line2: '#9ea7b3',
356
+ shadow: '#000000',
357
+ text: '#ffffff',
358
+ 'text-2': '#f0f3f6',
359
+ 'text-muted': '#bdc4cc',
360
+ accent: '#7abbfe',
361
+ focus: '#7abbfe',
362
+ 'focus-width': '3px',
363
+ selection: '#409eff66',
364
+ 'status-failed': '#ffacb8',
365
+ 'status-attention': '#fad209',
366
+ 'status-done': '#0ef38e',
367
+ 'status-running': '#62ceff',
368
+ 'status-muted': '#bdc4cc',
369
+ tint: '12%',
370
+ agent: '#c299fe',
371
+ meter: '#9ea7b3',
372
+ 'tok-input': '#409eff',
373
+ 'tok-cache-read': '#525964',
374
+ 'tok-cache-write': '#9ea7b3',
375
+ 'tok-output': '#dbb7ff',
376
+ 'series-1': '#3987e5',
377
+ 'series-2': '#d95926',
378
+ 'series-3': '#199e70',
379
+ 'series-4': '#c98500',
380
+ 'series-5': '#d55181',
381
+ 'series-6': '#008300',
382
+ 'code-keyword': '#ff9492',
383
+ 'code-string': '#addcff',
384
+ 'code-number': '#91cbff',
385
+ 'code-constant': '#91cbff',
386
+ 'code-comment': '#bdc4cc',
387
+ 'code-function': '#dbb7ff',
388
+ 'code-type': '#ffb757',
389
+ 'code-name': '#72f088',
390
+ },
391
+ },
392
+ };
393
+ const propOf = Object.fromEntries(TOKENS.map((t) => [t.name, t.prop]));
394
+ /** A theme's selector on a page: `:where()` gives it no specificity, so any rule of the page that sets a `--ca-*` property wins. */
395
+ export const pageThemeSelector = (name) => `:where([data-ca-theme="${name}"])`;
396
+ /**
397
+ * The rules that apply each theme: each sets `color-scheme`, `--ca-color-scheme`
398
+ * and the theme's `--ca-*` properties. The selector per theme name is
399
+ * `pageThemeSelector` unless given; inside a shadow root, `n => `:host([data-ca-theme="${n}"])``.
400
+ */
401
+ export function themeRules(selector = pageThemeSelector) {
402
+ return THEME_NAMES.map((n) => {
403
+ const t = THEMES[n];
404
+ const decls = Object.entries(t.tokens).map(([k, v]) => `${propOf[k]}: ${v};`);
405
+ return `${selector(n)} { color-scheme: ${t.scheme}; --ca-color-scheme: ${t.scheme}; ${decls.join(' ')} }`;
406
+ }).join('\n');
407
+ }
408
+ //# sourceMappingURL=data.js.map