@contraagent/ui 0.1.0 → 0.2.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 (389) hide show
  1. package/README.md +9 -2
  2. package/custom-elements.json +3300 -3098
  3. package/dist/adapters/check-rows.d.ts +2 -0
  4. package/dist/adapters/check-rows.d.ts.map +1 -1
  5. package/dist/adapters/check-rows.js +2 -0
  6. package/dist/adapters/check-rows.js.map +1 -1
  7. package/dist/adapters/panel-body.d.ts +15 -1
  8. package/dist/adapters/panel-body.d.ts.map +1 -1
  9. package/dist/adapters/panel-body.js +27 -0
  10. package/dist/adapters/panel-body.js.map +1 -1
  11. package/dist/contraagent-ui.js +684 -641
  12. package/dist/elements/lists/ca-panel-body.d.ts +16 -3
  13. package/dist/elements/lists/ca-panel-body.d.ts.map +1 -1
  14. package/dist/elements/lists/ca-panel-body.js +74 -8
  15. package/dist/elements/lists/ca-panel-body.js.map +1 -1
  16. package/dist/elements/overview/ca-overview.d.ts +2 -1
  17. package/dist/elements/overview/ca-overview.d.ts.map +1 -1
  18. package/dist/elements/overview/ca-overview.js +8 -1
  19. package/dist/elements/overview/ca-overview.js.map +1 -1
  20. package/dist/elements/overview/ca-services.d.ts +25 -0
  21. package/dist/elements/overview/ca-services.d.ts.map +1 -0
  22. package/dist/elements/overview/ca-services.js +77 -0
  23. package/dist/elements/overview/ca-services.js.map +1 -0
  24. package/dist/elements/overview/index.d.ts +1 -0
  25. package/dist/elements/overview/index.d.ts.map +1 -1
  26. package/dist/elements/overview/index.js +1 -0
  27. package/dist/elements/overview/index.js.map +1 -1
  28. package/dist/elements/shared/contract-parts.d.ts.map +1 -1
  29. package/dist/elements/shared/contract-parts.js +18 -2
  30. package/dist/elements/shared/contract-parts.js.map +1 -1
  31. package/dist/elements/shell/ca-monitor.d.ts +4 -2
  32. package/dist/elements/shell/ca-monitor.d.ts.map +1 -1
  33. package/dist/elements/shell/ca-monitor.js +4 -2
  34. package/dist/elements/shell/ca-monitor.js.map +1 -1
  35. package/dist/elements/task/header.d.ts.map +1 -1
  36. package/dist/elements/task/header.js +7 -3
  37. package/dist/elements/task/header.js.map +1 -1
  38. package/dist/locales/ja.d.ts +24 -0
  39. package/dist/locales/ja.d.ts.map +1 -1
  40. package/dist/locales/ja.js +24 -0
  41. package/dist/locales/ja.js.map +1 -1
  42. package/dist/words/changes.d.ts +2 -2
  43. package/dist/words/changes.d.ts.map +1 -1
  44. package/dist/words/changes.js +2 -0
  45. package/dist/words/changes.js.map +1 -1
  46. package/dist/words/index.d.ts +1 -0
  47. package/dist/words/index.d.ts.map +1 -1
  48. package/dist/words/index.js +1 -0
  49. package/dist/words/index.js.map +1 -1
  50. package/dist/words/panels.d.ts +6 -0
  51. package/dist/words/panels.d.ts.map +1 -1
  52. package/dist/words/panels.js +13 -0
  53. package/dist/words/panels.js.map +1 -1
  54. package/dist/words/services.d.ts +16 -0
  55. package/dist/words/services.d.ts.map +1 -0
  56. package/dist/words/services.js +45 -0
  57. package/dist/words/services.js.map +1 -0
  58. package/docs/embed.md +4 -1
  59. package/package.json +3 -3
  60. package/src/adapters/check-rows.ts +3 -0
  61. package/src/adapters/panel-body.ts +40 -2
  62. package/src/elements/lists/ca-panel-body.ts +70 -9
  63. package/src/elements/overview/ca-overview.ts +8 -1
  64. package/src/elements/overview/ca-services.ts +66 -0
  65. package/src/elements/overview/index.ts +1 -0
  66. package/src/elements/shared/contract-parts.ts +18 -2
  67. package/src/elements/shell/ca-monitor.ts +4 -2
  68. package/src/elements/task/header.ts +7 -3
  69. package/src/locales/ja.ts +24 -0
  70. package/src/words/changes.ts +4 -2
  71. package/src/words/index.ts +1 -0
  72. package/src/words/panels.ts +18 -0
  73. package/src/words/services.ts +57 -0
  74. package/dist/core/clock.d.ts +0 -20
  75. package/dist/core/clock.d.ts.map +0 -1
  76. package/dist/core/clock.js +0 -45
  77. package/dist/core/clock.js.map +0 -1
  78. package/dist/core/route.d.ts +0 -62
  79. package/dist/core/route.d.ts.map +0 -1
  80. package/dist/core/route.js +0 -143
  81. package/dist/core/route.js.map +0 -1
  82. package/dist/core/router.d.ts +0 -27
  83. package/dist/core/router.d.ts.map +0 -1
  84. package/dist/core/router.js +0 -57
  85. package/dist/core/router.js.map +0 -1
  86. package/dist/elements/lists/filters.d.ts +0 -28
  87. package/dist/elements/lists/filters.d.ts.map +0 -1
  88. package/dist/elements/lists/filters.js +0 -71
  89. package/dist/elements/lists/filters.js.map +0 -1
  90. package/dist/elements/overview/ca-pipeline-progress.d.ts +0 -17
  91. package/dist/elements/overview/ca-pipeline-progress.d.ts.map +0 -1
  92. package/dist/elements/overview/ca-pipeline-progress.js +0 -119
  93. package/dist/elements/overview/ca-pipeline-progress.js.map +0 -1
  94. package/dist/elements/overview/ca-plan-matrix.d.ts +0 -27
  95. package/dist/elements/overview/ca-plan-matrix.d.ts.map +0 -1
  96. package/dist/elements/overview/ca-plan-matrix.js +0 -113
  97. package/dist/elements/overview/ca-plan-matrix.js.map +0 -1
  98. package/dist/elements/overview/flow-types.d.ts +0 -2
  99. package/dist/elements/overview/flow-types.d.ts.map +0 -1
  100. package/dist/elements/overview/flow-types.js +0 -2
  101. package/dist/elements/overview/flow-types.js.map +0 -1
  102. package/dist/elements/overview/graph/arrange.d.ts +0 -16
  103. package/dist/elements/overview/graph/arrange.d.ts.map +0 -1
  104. package/dist/elements/overview/graph/arrange.js +0 -152
  105. package/dist/elements/overview/graph/arrange.js.map +0 -1
  106. package/dist/elements/overview/graph/card.d.ts +0 -64
  107. package/dist/elements/overview/graph/card.d.ts.map +0 -1
  108. package/dist/elements/overview/graph/card.js +0 -160
  109. package/dist/elements/overview/graph/card.js.map +0 -1
  110. package/dist/elements/overview/graph/flow-index.d.ts +0 -52
  111. package/dist/elements/overview/graph/flow-index.d.ts.map +0 -1
  112. package/dist/elements/overview/graph/flow-index.js +0 -121
  113. package/dist/elements/overview/graph/flow-index.js.map +0 -1
  114. package/dist/elements/overview/graph/highlight.d.ts +0 -14
  115. package/dist/elements/overview/graph/highlight.d.ts.map +0 -1
  116. package/dist/elements/overview/graph/highlight.js +0 -33
  117. package/dist/elements/overview/graph/highlight.js.map +0 -1
  118. package/dist/elements/overview/graph/layer.d.ts +0 -32
  119. package/dist/elements/overview/graph/layer.d.ts.map +0 -1
  120. package/dist/elements/overview/graph/layer.js +0 -92
  121. package/dist/elements/overview/graph/layer.js.map +0 -1
  122. package/dist/elements/overview/graph/layout.d.ts +0 -80
  123. package/dist/elements/overview/graph/layout.d.ts.map +0 -1
  124. package/dist/elements/overview/graph/layout.js +0 -261
  125. package/dist/elements/overview/graph/layout.js.map +0 -1
  126. package/dist/elements/overview/graph/marks.d.ts +0 -18
  127. package/dist/elements/overview/graph/marks.d.ts.map +0 -1
  128. package/dist/elements/overview/graph/marks.js +0 -17
  129. package/dist/elements/overview/graph/marks.js.map +0 -1
  130. package/dist/elements/overview/graph/matrix.d.ts +0 -58
  131. package/dist/elements/overview/graph/matrix.d.ts.map +0 -1
  132. package/dist/elements/overview/graph/matrix.js +0 -93
  133. package/dist/elements/overview/graph/matrix.js.map +0 -1
  134. package/dist/elements/overview/graph/nav.d.ts +0 -15
  135. package/dist/elements/overview/graph/nav.d.ts.map +0 -1
  136. package/dist/elements/overview/graph/nav.js +0 -80
  137. package/dist/elements/overview/graph/nav.js.map +0 -1
  138. package/dist/elements/overview/graph/pan-zoom.d.ts +0 -83
  139. package/dist/elements/overview/graph/pan-zoom.d.ts.map +0 -1
  140. package/dist/elements/overview/graph/pan-zoom.js +0 -189
  141. package/dist/elements/overview/graph/pan-zoom.js.map +0 -1
  142. package/dist/elements/overview/graph/paths.d.ts +0 -9
  143. package/dist/elements/overview/graph/paths.d.ts.map +0 -1
  144. package/dist/elements/overview/graph/paths.js +0 -44
  145. package/dist/elements/overview/graph/paths.js.map +0 -1
  146. package/dist/elements/overview/graph/place-card.d.ts +0 -36
  147. package/dist/elements/overview/graph/place-card.d.ts.map +0 -1
  148. package/dist/elements/overview/graph/place-card.js +0 -68
  149. package/dist/elements/overview/graph/place-card.js.map +0 -1
  150. package/dist/elements/overview/graph/project.d.ts +0 -31
  151. package/dist/elements/overview/graph/project.d.ts.map +0 -1
  152. package/dist/elements/overview/graph/project.js +0 -455
  153. package/dist/elements/overview/graph/project.js.map +0 -1
  154. package/dist/elements/overview/graph/selection.d.ts +0 -31
  155. package/dist/elements/overview/graph/selection.d.ts.map +0 -1
  156. package/dist/elements/overview/graph/selection.js +0 -44
  157. package/dist/elements/overview/graph/selection.js.map +0 -1
  158. package/dist/elements/overview/graph/states.d.ts +0 -6
  159. package/dist/elements/overview/graph/states.d.ts.map +0 -1
  160. package/dist/elements/overview/graph/states.js +0 -5
  161. package/dist/elements/overview/graph/states.js.map +0 -1
  162. package/dist/elements/overview/graph/types.d.ts +0 -124
  163. package/dist/elements/overview/graph/types.d.ts.map +0 -1
  164. package/dist/elements/overview/graph/types.js +0 -3
  165. package/dist/elements/overview/graph/types.js.map +0 -1
  166. package/dist/elements/overview/graph/view.d.ts +0 -16
  167. package/dist/elements/overview/graph/view.d.ts.map +0 -1
  168. package/dist/elements/overview/graph/view.js +0 -20
  169. package/dist/elements/overview/graph/view.js.map +0 -1
  170. package/dist/elements/overview/kpis-model.d.ts +0 -31
  171. package/dist/elements/overview/kpis-model.d.ts.map +0 -1
  172. package/dist/elements/overview/kpis-model.js +0 -30
  173. package/dist/elements/overview/kpis-model.js.map +0 -1
  174. package/dist/elements/overview/logic.d.ts +0 -442
  175. package/dist/elements/overview/logic.d.ts.map +0 -1
  176. package/dist/elements/overview/logic.js +0 -1431
  177. package/dist/elements/overview/logic.js.map +0 -1
  178. package/dist/elements/overview/pipeline-graph/dag.d.ts +0 -4
  179. package/dist/elements/overview/pipeline-graph/dag.d.ts.map +0 -1
  180. package/dist/elements/overview/pipeline-graph/dag.js +0 -259
  181. package/dist/elements/overview/pipeline-graph/dag.js.map +0 -1
  182. package/dist/elements/overview/pipeline-graph/icons.d.ts +0 -5
  183. package/dist/elements/overview/pipeline-graph/icons.d.ts.map +0 -1
  184. package/dist/elements/overview/pipeline-graph/icons.js +0 -13
  185. package/dist/elements/overview/pipeline-graph/icons.js.map +0 -1
  186. package/dist/elements/overview/pipeline-graph/legend.d.ts +0 -9
  187. package/dist/elements/overview/pipeline-graph/legend.d.ts.map +0 -1
  188. package/dist/elements/overview/pipeline-graph/legend.js +0 -59
  189. package/dist/elements/overview/pipeline-graph/legend.js.map +0 -1
  190. package/dist/elements/overview/pipeline-graph/matrix.d.ts +0 -4
  191. package/dist/elements/overview/pipeline-graph/matrix.d.ts.map +0 -1
  192. package/dist/elements/overview/pipeline-graph/matrix.js +0 -193
  193. package/dist/elements/overview/pipeline-graph/matrix.js.map +0 -1
  194. package/dist/elements/overview/pipeline-graph/table.d.ts +0 -11
  195. package/dist/elements/overview/pipeline-graph/table.d.ts.map +0 -1
  196. package/dist/elements/overview/pipeline-graph/table.js +0 -74
  197. package/dist/elements/overview/pipeline-graph/table.js.map +0 -1
  198. package/dist/elements/overview/pipeline-graph/tools.d.ts +0 -5
  199. package/dist/elements/overview/pipeline-graph/tools.d.ts.map +0 -1
  200. package/dist/elements/overview/pipeline-graph/tools.js +0 -48
  201. package/dist/elements/overview/pipeline-graph/tools.js.map +0 -1
  202. package/dist/elements/overview/pipeline-graph/words.d.ts +0 -45
  203. package/dist/elements/overview/pipeline-graph/words.d.ts.map +0 -1
  204. package/dist/elements/overview/pipeline-graph/words.js +0 -108
  205. package/dist/elements/overview/pipeline-graph/words.js.map +0 -1
  206. package/dist/elements/overview/place-card.d.ts +0 -36
  207. package/dist/elements/overview/place-card.d.ts.map +0 -1
  208. package/dist/elements/overview/place-card.js +0 -68
  209. package/dist/elements/overview/place-card.js.map +0 -1
  210. package/dist/elements/overview/timeline-model.d.ts +0 -44
  211. package/dist/elements/overview/timeline-model.d.ts.map +0 -1
  212. package/dist/elements/overview/timeline-model.js +0 -53
  213. package/dist/elements/overview/timeline-model.js.map +0 -1
  214. package/dist/elements/shared/ca-count.d.ts +0 -17
  215. package/dist/elements/shared/ca-count.d.ts.map +0 -1
  216. package/dist/elements/shared/ca-count.js +0 -59
  217. package/dist/elements/shared/ca-count.js.map +0 -1
  218. package/dist/elements/shared/ca-elapsed.d.ts +0 -14
  219. package/dist/elements/shared/ca-elapsed.d.ts.map +0 -1
  220. package/dist/elements/shared/ca-elapsed.js +0 -33
  221. package/dist/elements/shared/ca-elapsed.js.map +0 -1
  222. package/dist/elements/shared/ca-json-tree.d.ts +0 -16
  223. package/dist/elements/shared/ca-json-tree.d.ts.map +0 -1
  224. package/dist/elements/shared/ca-json-tree.js +0 -52
  225. package/dist/elements/shared/ca-json-tree.js.map +0 -1
  226. package/dist/elements/shared/ca-markdown.d.ts +0 -19
  227. package/dist/elements/shared/ca-markdown.d.ts.map +0 -1
  228. package/dist/elements/shared/ca-markdown.js +0 -59
  229. package/dist/elements/shared/ca-markdown.js.map +0 -1
  230. package/dist/elements/shared/fact-line.d.ts +0 -4
  231. package/dist/elements/shared/fact-line.d.ts.map +0 -1
  232. package/dist/elements/shared/fact-line.js +0 -8
  233. package/dist/elements/shared/fact-line.js.map +0 -1
  234. package/dist/elements/task/rounds.d.ts +0 -14
  235. package/dist/elements/task/rounds.d.ts.map +0 -1
  236. package/dist/elements/task/rounds.js +0 -59
  237. package/dist/elements/task/rounds.js.map +0 -1
  238. package/dist/elements/task/transcript-model.d.ts +0 -106
  239. package/dist/elements/task/transcript-model.d.ts.map +0 -1
  240. package/dist/elements/task/transcript-model.js +0 -280
  241. package/dist/elements/task/transcript-model.js.map +0 -1
  242. package/dist/elements/task/who.d.ts +0 -5
  243. package/dist/elements/task/who.d.ts.map +0 -1
  244. package/dist/elements/task/who.js +0 -30
  245. package/dist/elements/task/who.js.map +0 -1
  246. package/dist/events.d.ts +0 -107
  247. package/dist/events.d.ts.map +0 -1
  248. package/dist/events.js +0 -5
  249. package/dist/events.js.map +0 -1
  250. package/dist/i18n.d.ts +0 -16
  251. package/dist/i18n.d.ts.map +0 -1
  252. package/dist/i18n.js +0 -48
  253. package/dist/i18n.js.map +0 -1
  254. package/dist/lib/clock.d.ts +0 -20
  255. package/dist/lib/clock.d.ts.map +0 -1
  256. package/dist/lib/clock.js +0 -45
  257. package/dist/lib/clock.js.map +0 -1
  258. package/dist/lib/format.d.ts +0 -35
  259. package/dist/lib/format.d.ts.map +0 -1
  260. package/dist/lib/format.js +0 -117
  261. package/dist/lib/format.js.map +0 -1
  262. package/dist/lib/highlight.d.ts +0 -5
  263. package/dist/lib/highlight.d.ts.map +0 -1
  264. package/dist/lib/highlight.js +0 -86
  265. package/dist/lib/highlight.js.map +0 -1
  266. package/dist/lib/labels.d.ts +0 -103
  267. package/dist/lib/labels.d.ts.map +0 -1
  268. package/dist/lib/labels.js +0 -249
  269. package/dist/lib/labels.js.map +0 -1
  270. package/dist/lib/markdown.d.ts +0 -13
  271. package/dist/lib/markdown.d.ts.map +0 -1
  272. package/dist/lib/markdown.js +0 -118
  273. package/dist/lib/markdown.js.map +0 -1
  274. package/dist/lib/memory.d.ts +0 -27
  275. package/dist/lib/memory.d.ts.map +0 -1
  276. package/dist/lib/memory.js +0 -117
  277. package/dist/lib/memory.js.map +0 -1
  278. package/dist/lib/quota-format.d.ts +0 -28
  279. package/dist/lib/quota-format.d.ts.map +0 -1
  280. package/dist/lib/quota-format.js +0 -67
  281. package/dist/lib/quota-format.js.map +0 -1
  282. package/dist/lib/scroll.d.ts +0 -16
  283. package/dist/lib/scroll.d.ts.map +0 -1
  284. package/dist/lib/scroll.js +0 -70
  285. package/dist/lib/scroll.js.map +0 -1
  286. package/dist/lib/status.d.ts +0 -25
  287. package/dist/lib/status.d.ts.map +0 -1
  288. package/dist/lib/status.js +0 -40
  289. package/dist/lib/status.js.map +0 -1
  290. package/dist/route.d.ts +0 -46
  291. package/dist/route.d.ts.map +0 -1
  292. package/dist/route.js +0 -102
  293. package/dist/route.js.map +0 -1
  294. package/dist/router.d.ts +0 -23
  295. package/dist/router.d.ts.map +0 -1
  296. package/dist/router.js +0 -55
  297. package/dist/router.js.map +0 -1
  298. package/dist/styles/base.d.ts +0 -11
  299. package/dist/styles/base.d.ts.map +0 -1
  300. package/dist/styles/base.js +0 -241
  301. package/dist/styles/base.js.map +0 -1
  302. package/dist/styles/chips.d.ts +0 -2
  303. package/dist/styles/chips.d.ts.map +0 -1
  304. package/dist/styles/chips.js +0 -18
  305. package/dist/styles/chips.js.map +0 -1
  306. package/dist/styles/executor-icon.d.ts +0 -3
  307. package/dist/styles/executor-icon.d.ts.map +0 -1
  308. package/dist/styles/executor-icon.js +0 -9
  309. package/dist/styles/executor-icon.js.map +0 -1
  310. package/dist/styles/facts.d.ts +0 -2
  311. package/dist/styles/facts.d.ts.map +0 -1
  312. package/dist/styles/facts.js +0 -7
  313. package/dist/styles/facts.js.map +0 -1
  314. package/dist/styles/index.d.ts +0 -17
  315. package/dist/styles/index.d.ts.map +0 -1
  316. package/dist/styles/index.js +0 -16
  317. package/dist/styles/index.js.map +0 -1
  318. package/dist/styles/layout.d.ts +0 -2
  319. package/dist/styles/layout.d.ts.map +0 -1
  320. package/dist/styles/layout.js +0 -30
  321. package/dist/styles/layout.js.map +0 -1
  322. package/dist/styles/legend.d.ts +0 -2
  323. package/dist/styles/legend.d.ts.map +0 -1
  324. package/dist/styles/legend.js +0 -8
  325. package/dist/styles/legend.js.map +0 -1
  326. package/dist/styles/meter.d.ts +0 -3
  327. package/dist/styles/meter.d.ts.map +0 -1
  328. package/dist/styles/meter.js +0 -9
  329. package/dist/styles/meter.js.map +0 -1
  330. package/dist/styles/motion.d.ts +0 -2
  331. package/dist/styles/motion.d.ts.map +0 -1
  332. package/dist/styles/motion.js +0 -27
  333. package/dist/styles/motion.js.map +0 -1
  334. package/dist/styles/prose.d.ts +0 -3
  335. package/dist/styles/prose.d.ts.map +0 -1
  336. package/dist/styles/prose.js +0 -59
  337. package/dist/styles/prose.js.map +0 -1
  338. package/dist/styles/reset.d.ts +0 -2
  339. package/dist/styles/reset.d.ts.map +0 -1
  340. package/dist/styles/reset.js +0 -13
  341. package/dist/styles/reset.js.map +0 -1
  342. package/dist/styles/status.d.ts +0 -2
  343. package/dist/styles/status.d.ts.map +0 -1
  344. package/dist/styles/status.js +0 -52
  345. package/dist/styles/status.js.map +0 -1
  346. package/dist/styles/text.d.ts +0 -2
  347. package/dist/styles/text.d.ts.map +0 -1
  348. package/dist/styles/text.js +0 -21
  349. package/dist/styles/text.js.map +0 -1
  350. package/dist/styles/theme-sheet.d.ts +0 -12
  351. package/dist/styles/theme-sheet.d.ts.map +0 -1
  352. package/dist/styles/theme-sheet.js +0 -24
  353. package/dist/styles/theme-sheet.js.map +0 -1
  354. package/dist/styles/themes.d.ts +0 -75
  355. package/dist/styles/themes.d.ts.map +0 -1
  356. package/dist/styles/themes.js +0 -452
  357. package/dist/styles/themes.js.map +0 -1
  358. package/dist/styles/tokens.d.ts +0 -8
  359. package/dist/styles/tokens.d.ts.map +0 -1
  360. package/dist/styles/tokens.js +0 -32
  361. package/dist/styles/tokens.js.map +0 -1
  362. package/dist/themes/boot.d.ts +0 -7
  363. package/dist/themes/boot.d.ts.map +0 -1
  364. package/dist/themes/boot.js +0 -14
  365. package/dist/themes/boot.js.map +0 -1
  366. package/dist/themes/choice.d.ts +0 -16
  367. package/dist/themes/choice.d.ts.map +0 -1
  368. package/dist/themes/choice.js +0 -45
  369. package/dist/themes/choice.js.map +0 -1
  370. package/dist/themes/data.d.ts +0 -42
  371. package/dist/themes/data.d.ts.map +0 -1
  372. package/dist/themes/data.js +0 -356
  373. package/dist/themes/data.js.map +0 -1
  374. package/dist/themes/index.d.ts +0 -5
  375. package/dist/themes/index.d.ts.map +0 -1
  376. package/dist/themes/index.js +0 -8
  377. package/dist/themes/index.js.map +0 -1
  378. package/dist/themes/sheet.d.ts +0 -12
  379. package/dist/themes/sheet.d.ts.map +0 -1
  380. package/dist/themes/sheet.js +0 -24
  381. package/dist/themes/sheet.js.map +0 -1
  382. package/dist/themes/tokens-list.d.ts +0 -15
  383. package/dist/themes/tokens-list.d.ts.map +0 -1
  384. package/dist/themes/tokens-list.js +0 -62
  385. package/dist/themes/tokens-list.js.map +0 -1
  386. package/dist/words/units.d.ts +0 -9
  387. package/dist/words/units.d.ts.map +0 -1
  388. package/dist/words/units.js +0 -12
  389. package/dist/words/units.js.map +0 -1
@@ -1,113 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { taskOutcomes } from '@contraagent/api';
8
- import { localized, msg, str } from '@lit/localize';
9
- import { LitElement, css, html, nothing } from 'lit';
10
- import { customElement, property } from 'lit/decorators.js';
11
- import { repeat } from 'lit/directives/repeat.js';
12
- import { emit } from '../../events.js';
13
- import { facts, fmtDur, kindUnit } from '../../lib/format.js';
14
- import { notStartedCause, planStateLabel } from '../../lib/labels.js';
15
- import { base } from '../../styles/base.js';
16
- import { MATRIX_UNITS, matrix } from './logic.js';
17
- /** The states in the legend, in this order; their labels come from `planStateLabel`. */
18
- const LEGEND = ['done', 'running', 'pending', 'failed', 'blocked', 'skipped'];
19
- /**
20
- * Units x kinds: one cell per scheduled task, coloured by state, one column per
21
- * group, however many units the pipeline fans out over. A task that did not
22
- * start names, in its tooltip, the failed task it waits for (from `journal`).
23
- * A click on a cell sends `ca-open-task`.
24
- *
25
- * @fires ca-open-task - `{key}`: a cell was clicked
26
- */
27
- let CaPlanMatrix = class CaPlanMatrix extends LitElement {
28
- constructor() {
29
- super(...arguments);
30
- this.plan = { nodes: [], groups: [] };
31
- /** The finished attempts: they tell which failed task stopped a task that did not start. */
32
- this.journal = [];
33
- /** The run id: paths in a cause are shown relative to it. */
34
- this.run = '';
35
- }
36
- static { this.styles = [
37
- base,
38
- css `
39
- :host { display: block; }
40
- .mx { display: flex; flex-direction: column; gap: 3px; overflow-x: auto; padding-bottom: 4px; }
41
- .mx-row { display: grid; grid-template-columns: 130px repeat(var(--cols), minmax(34px, 1fr)); gap: 3px; align-items: center; }
42
- .mx-hd .mx-c { background: none; height: auto; font-size: 10px; color: var(--mut); text-align: center;
43
- overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
44
- .mx-u { font-family: var(--mono); font-size: 11.5px; color: var(--fg2); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
45
- .mx-c { height: 22px; border-radius: 5px; background: var(--raise); display: block; border: 1px solid transparent; transition: transform 0.15s, background 0.3s; }
46
- button.mx-c { padding: 0; margin: 0; font: inherit; width: 100%; }
47
- .mx-c.task { cursor: pointer; }
48
- .mx-c.task:hover { transform: scale(1.12); border-color: var(--fg2); }
49
- .mx-c.none { background: transparent; border: 1px dashed var(--line); }
50
- .mx-c.done { background: var(--ok); opacity: 0.85; }
51
- .mx-c.running { background: var(--live); animation: breathe 1.4s ease-in-out infinite; }
52
- .mx-c.pending { background: var(--raise); }
53
- .mx-c.failed { background: var(--err); }
54
- .mx-c.blocked { background: repeating-linear-gradient(135deg, var(--raise) 0 5px, var(--line2) 5px 8px); }
55
- .mx-c.skipped { background: var(--muted); opacity: 0.45; }
56
- .legend { margin-top: 10px; }
57
- .legend .mx-c { display: inline-block; width: 14px; height: 10px; vertical-align: middle; margin-right: 5px; border-radius: 3px; }
58
- `,
59
- ]; }
60
- /** The cell's task and state, one fact per line: name, state (with its cause), count, time, key. */
61
- cellFacts(group, unit, c, causeOf) {
62
- const cause = c.state === 'blocked' ? causeOf(c.key) : '';
63
- const ran = c.state === 'done' || c.state === 'failed';
64
- return [
65
- kindUnit({ kind: group, unit }),
66
- cause ? msg(str `Not started: ${cause}`) : planStateLabel(c.state),
67
- c.count > 1 ? msg(str `${c.done}/${c.count} done`) : '',
68
- ran && c.wall_s ? fmtDur(c.wall_s) : '',
69
- ].filter(Boolean);
70
- }
71
- render() {
72
- if (!this.plan.nodes.length)
73
- return nothing;
74
- const m = matrix(this.plan);
75
- const outcomes = taskOutcomes(this.journal, this.plan);
76
- const causeOf = (key) => {
77
- const t = outcomes.get(key);
78
- return t ? notStartedCause(t, outcomes, this.run) : '';
79
- };
80
- return html `<div class="mx" style="--cols:${m.groups.length}">
81
- <div class="mx-row mx-hd"><span></span>${m.groups.map((g) => html `<span class="mx-c" title=${g}>${g}</span>`)}</div>
82
- ${repeat(m.rows, (r) => r.unit, (r) => html `<div class="mx-row">
83
- <span class="mx-u" title=${r.unit || msg('Tasks that run once per run, not once per unit')}>${r.unit || msg('No unit')}</span>
84
- ${r.cells.map((c, i) => {
85
- if (!c)
86
- return html `<span class="mx-c none"></span>`;
87
- const lines = this.cellFacts(m.groups[i] ?? '', r.unit, c, causeOf);
88
- return html `<button type="button" class="mx-c task ${c.state}" title=${[...lines, c.key].join('\n')} aria-label=${facts(...lines)}
89
- @click=${() => emit(this, 'ca-open-task', { key: c.key })}></button>`;
90
- })}
91
- </div>`)}
92
- </div>
93
- <div class="legend">
94
- ${LEGEND.map((s) => html `<span><i class="mx-c ${s}"></i>${planStateLabel(s)}</span>`)}
95
- ${m.hiddenUnits ? html `<span>${msg(str `${m.units.length - MATRIX_UNITS} more units not shown`)}</span>` : nothing}
96
- </div>`;
97
- }
98
- };
99
- __decorate([
100
- property({ attribute: false })
101
- ], CaPlanMatrix.prototype, "plan", void 0);
102
- __decorate([
103
- property({ attribute: false })
104
- ], CaPlanMatrix.prototype, "journal", void 0);
105
- __decorate([
106
- property()
107
- ], CaPlanMatrix.prototype, "run", void 0);
108
- CaPlanMatrix = __decorate([
109
- customElement('ca-plan-matrix'),
110
- localized()
111
- ], CaPlanMatrix);
112
- export { CaPlanMatrix };
113
- //# sourceMappingURL=ca-plan-matrix.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ca-plan-matrix.js","sourceRoot":"","sources":["../../../src/elements/overview/ca-plan-matrix.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export type { FlowCallNode, FlowFrame, FlowLoop, Plan as FlowPlan, PlanNode as FlowPlanNode } from '@contraagent/api';
2
- //# sourceMappingURL=flow-types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow-types.d.ts","sourceRoot":"","sources":["../../../src/elements/overview/flow-types.ts"],"names":[],"mappings":"AAIA,YAAY,EAAE,YAAY,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,IAAI,QAAQ,EAAE,QAAQ,IAAI,YAAY,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=flow-types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow-types.js","sourceRoot":"","sources":["../../../src/elements/overview/flow-types.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- export declare const push: <K, V>(m: Map<K, V[]>, k: K, v: V) => void;
2
- /**
3
- * Each id's layer by longest path. Edges that close a cycle (found depth first, in
4
- * `ids` order) are left out; `fixed` ids keep their layer.
5
- */
6
- export declare function rankLayers(ids: readonly string[], edges: readonly (readonly [string, string])[], fixed: ReadonlyMap<string, number>): Map<string, number>;
7
- /** True for a point where an edge crosses a layer. */
8
- export declare const isPoint: (id: string) => boolean;
9
- /**
10
- * The order within each layer that reduces crossings: barycentre sweeps, down and
11
- * up, four times, keeping the best. `links` join a slot to one in the next layer.
12
- * With `keep`, those ids keep their order (a previous layout's, new ones after
13
- * them) and only the other slots (the points) move between them.
14
- */
15
- export declare function orderRows(rows: string[][], links: readonly (readonly [string, string])[], keep: boolean): string[][];
16
- //# sourceMappingURL=arrange.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrange.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/graph/arrange.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,IAAI,GAAI,CAAC,EAAE,CAAC,EAAE,GAAG,GAAG,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,KAAG,IAIvD,CAAC;AAIF;;;GAGG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,MAAM,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAgDzJ;AAqBD,sDAAsD;AACtD,eAAO,MAAM,OAAO,GAAI,IAAI,MAAM,KAAG,OAA6B,CAAC;AAEnE;;;;;GAKG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,SAAS,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,GAAG,MAAM,EAAE,EAAE,CAkDpH"}
@@ -1,152 +0,0 @@
1
- // The order of a layered drawing: each item's layer by longest path, and the order
2
- // within each layer that reduces crossings. Reads ids and links only.
3
- export const push = (m, k, v) => {
4
- const xs = m.get(k);
5
- if (xs)
6
- xs.push(v);
7
- else
8
- m.set(k, [v]);
9
- };
10
- const pairKey = (a, b) => `${a}\u0000${b}`;
11
- /**
12
- * Each id's layer by longest path. Edges that close a cycle (found depth first, in
13
- * `ids` order) are left out; `fixed` ids keep their layer.
14
- */
15
- export function rankLayers(ids, edges, fixed) {
16
- const known = new Set(ids);
17
- const all = new Map(ids.map((id) => [id, []]));
18
- for (const [a, b] of edges)
19
- if (a !== b && known.has(a) && known.has(b) && !all.get(a)?.includes(b))
20
- all.get(a)?.push(b);
21
- const back = new Set();
22
- const seen = new Map();
23
- for (const root of ids) {
24
- if (seen.has(root))
25
- continue;
26
- seen.set(root, 1);
27
- const stack = [[root, 0]];
28
- while (stack.length) {
29
- const top = stack[stack.length - 1];
30
- const ss = all.get(top[0]) ?? [];
31
- if (top[1] < ss.length) {
32
- const s = ss[top[1]++];
33
- const st = seen.get(s);
34
- if (st === 1)
35
- back.add(pairKey(top[0], s));
36
- else if (!st) {
37
- seen.set(s, 1);
38
- stack.push([s, 0]);
39
- }
40
- }
41
- else {
42
- seen.set(top[0], 2);
43
- stack.pop();
44
- }
45
- }
46
- }
47
- const succ = new Map(ids.map((id) => [id, []]));
48
- const pred = new Map(ids.map((id) => [id, []]));
49
- for (const [a, ss] of all) {
50
- for (const b of ss) {
51
- if (back.has(pairKey(a, b)))
52
- continue;
53
- succ.get(a)?.push(b);
54
- pred.get(b)?.push(a);
55
- }
56
- }
57
- // Longest path, in topological order (Kahn's).
58
- const indeg = new Map(ids.map((id) => [id, pred.get(id)?.length ?? 0]));
59
- const queue = ids.filter((id) => !indeg.get(id));
60
- const layer = new Map();
61
- for (let q = queue.shift(); q !== undefined; q = queue.shift()) {
62
- layer.set(q, fixed.get(q) ?? Math.max(0, ...(pred.get(q) ?? []).map((p) => (layer.get(p) ?? 0) + 1)));
63
- for (const s of succ.get(q) ?? []) {
64
- indeg.set(s, (indeg.get(s) ?? 0) - 1);
65
- if (!indeg.get(s))
66
- queue.push(s);
67
- }
68
- }
69
- return layer;
70
- }
71
- /** Pairs (a, b) between adjacent layers that cross, for the order `pos`. */
72
- function crossings(rows, links, pos, layerOf) {
73
- let n = 0;
74
- const by = new Map();
75
- for (const [a, b] of links) {
76
- const l = layerOf.get(a);
77
- if (l === undefined)
78
- continue;
79
- push(by, l, [pos.get(a) ?? 0, pos.get(b) ?? 0]);
80
- }
81
- for (const ls of by.values())
82
- for (let i = 0; i < ls.length; i++)
83
- for (let j = i + 1; j < ls.length; j++) {
84
- const [a1, b1] = ls[i];
85
- const [a2, b2] = ls[j];
86
- if ((a1 - a2) * (b1 - b2) < 0)
87
- n++;
88
- }
89
- return rows.length ? n : 0;
90
- }
91
- /** True for a point where an edge crosses a layer. */
92
- export const isPoint = (id) => id.startsWith('~');
93
- /**
94
- * The order within each layer that reduces crossings: barycentre sweeps, down and
95
- * up, four times, keeping the best. `links` join a slot to one in the next layer.
96
- * With `keep`, those ids keep their order (a previous layout's, new ones after
97
- * them) and only the other slots (the points) move between them.
98
- */
99
- export function orderRows(rows, links, keep) {
100
- const layerOf = new Map();
101
- rows.forEach((row, i) => row.forEach((id) => layerOf.set(id, i)));
102
- const pred = new Map();
103
- const succ = new Map();
104
- for (const [a, b] of links) {
105
- push(succ, a, b);
106
- push(pred, b, a);
107
- }
108
- const pos = new Map();
109
- const fix = (row) => row.forEach((id, i) => pos.set(id, i));
110
- const cur = rows.map((r) => [...r]);
111
- cur.forEach(fix);
112
- const score = () => crossings(cur, links, pos, layerOf);
113
- let best = cur.map((r) => [...r]);
114
- let bestN = score();
115
- const sortRow = (row, near) => {
116
- const bc = new Map();
117
- for (const id of row) {
118
- const ps = (near.get(id) ?? []).map((p) => pos.get(p)).filter((x) => x !== undefined);
119
- bc.set(id, ps.length ? ps.reduce((a, b) => a + b, 0) / ps.length : (pos.get(id) ?? 0));
120
- }
121
- const at = (id) => bc.get(id) ?? 0;
122
- if (!keep)
123
- return [...row].sort((a, b) => at(a) - at(b) || (pos.get(a) ?? 0) - (pos.get(b) ?? 0));
124
- // The kept ids stay in their order; each point goes before the first kept id it is left of.
125
- const fixed = row.filter((id) => !isPoint(id));
126
- const points = row.filter(isPoint).sort((a, b) => at(a) - at(b) || (pos.get(a) ?? 0) - (pos.get(b) ?? 0));
127
- const out = [];
128
- let p = 0;
129
- for (const id of fixed) {
130
- while (p < points.length && at(points[p]) < at(id))
131
- out.push(points[p++]);
132
- out.push(id);
133
- }
134
- return [...out, ...points.slice(p)];
135
- };
136
- for (let sweep = 0; sweep < 4; sweep++) {
137
- const down = sweep % 2 === 0;
138
- const order = down ? cur.map((_, i) => i).slice(1) : cur.map((_, i) => i).reverse().slice(1);
139
- for (const i of order) {
140
- const row = sortRow(cur[i], down ? pred : succ);
141
- cur[i] = row;
142
- fix(row);
143
- }
144
- const n = score();
145
- if (n < bestN) {
146
- bestN = n;
147
- best = cur.map((r) => [...r]);
148
- }
149
- }
150
- return score() <= bestN ? cur : best;
151
- }
152
- //# sourceMappingURL=arrange.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"arrange.js","sourceRoot":"","sources":["../../../../src/elements/overview/graph/arrange.ts"],"names":[],"mappings":"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"}
@@ -1,64 +0,0 @@
1
- import type { ReactiveController, ReactiveControllerHost } from 'lit';
2
- export interface CardOptions {
3
- /** The card is a sheet under the frame (a narrow screen): it is not placed. */
4
- docked: () => boolean;
5
- /** The frame's height. */
6
- frameH: () => number;
7
- /** The card needs another least height of the frame (`room`): make the frame that tall. */
8
- grow: () => void;
9
- /** A pointer is down on the frame. */
10
- pressed: () => boolean;
11
- }
12
- /** The selected item as drawn, what the card keeps clear of, and the box it is shown in. */
13
- export interface Anchor {
14
- item: HTMLElement;
15
- clear: HTMLElement;
16
- frame: HTMLElement;
17
- }
18
- /**
19
- * The card (`.insp`) of the selected item in the host's frame (`.main > .frame`):
20
- * a table row (`tr.sel > th`), a mark (`.mark.sel`, `.taskchip.sel`), a node
21
- * (`.node.sel`) or a loop box (`.box.sel`). It runs after every draw, pan, zoom
22
- * and scroll (`place`), and keeps Tab and Shift+Tab between the item and its card.
23
- */
24
- export declare class CardController implements ReactiveController {
25
- private readonly host;
26
- private readonly o;
27
- /** The frame height the card needs (0 without one). */
28
- room: number;
29
- /** Focus is being put back, not moved by the reader: it does not select. */
30
- quiet: boolean;
31
- constructor(host: ReactiveControllerHost & HTMLElement, o: CardOptions);
32
- hostConnected(): void;
33
- hostDisconnected(): void;
34
- private get root();
35
- private get focused();
36
- /** The card, when there is a selection. */
37
- card(): HTMLElement | null;
38
- /**
39
- * The selected item as drawn (a mark, a node, a loop box's header), what the card keeps clear of
40
- * (a mark's whole node), and the box it is shown in (the frame, or a loop's passes).
41
- */
42
- anchor(): Anchor | null;
43
- /** Put the card beside the selected item, inside the frame; hide it while the item is out of view. */
44
- place(): void;
45
- /** The focusable that stands for the selected item: the mark itself, or a node's or a box's name. */
46
- itemFocus(): HTMLElement | null;
47
- /**
48
- * The selected item's focusable described by the card (`aria-describedby`), and what
49
- * a live region says of the item: its name and its status (the card's `h4` and
50
- * `[data-status]`), '' without a selection.
51
- */
52
- describe(): [name: string, status: string];
53
- /** Focus `el` without selecting what it is on. */
54
- focusQuietly(el: HTMLElement | null | undefined): void;
55
- /** Run `f` now, or, while a pointer is down on the frame, once it is released (a scroll under a pressed pointer would move the click elsewhere). */
56
- whenReleased(f: () => void): void;
57
- /** On a narrow screen: scroll the selected item into view when it is out of it or under the sheet. */
58
- revealOverSheet(): void;
59
- /** Shift+Tab on the card's first link comes back to the item; Escape puts the focus back on the item first. */
60
- readonly onCardKey: (e: KeyboardEvent) => void;
61
- /** Tab on the selected item goes on to its card. */
62
- private readonly onTabToCard;
63
- }
64
- //# sourceMappingURL=card.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/graph/card.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,MAAM,KAAK,CAAC;AAGtE,MAAM,WAAW,WAAW;IAC1B,+EAA+E;IAC/E,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,0BAA0B;IAC1B,MAAM,EAAE,MAAM,MAAM,CAAC;IACrB,2FAA2F;IAC3F,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,sCAAsC;IACtC,OAAO,EAAE,MAAM,OAAO,CAAC;CACxB;AAED,4FAA4F;AAC5F,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,WAAW,CAAC;IACnB,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;;;;GAKG;AACH,qBAAa,cAAe,YAAW,kBAAkB;IAOrD,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,CAAC;IAPpB,uDAAuD;IACvD,IAAI,SAAK;IACT,4EAA4E;IAC5E,KAAK,UAAS;gBAGK,IAAI,EAAE,sBAAsB,GAAG,WAAW,EAC1C,CAAC,EAAE,WAAW;IAKjC,aAAa,IAAI,IAAI;IAIrB,gBAAgB,IAAI,IAAI;IAIxB,OAAO,KAAK,IAAI,GAEf;IAED,OAAO,KAAK,OAAO,GAElB;IAED,2CAA2C;IAC3C,IAAI,IAAI,WAAW,GAAG,IAAI;IAI1B;;;OAGG;IACH,MAAM,IAAI,MAAM,GAAG,IAAI;IAWvB,sGAAsG;IACtG,KAAK,IAAI,IAAI;IAmCb,qGAAqG;IACrG,SAAS,IAAI,WAAW,GAAG,IAAI;IAM/B;;;;OAIG;IACH,QAAQ,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;IAO1C,kDAAkD;IAClD,YAAY,CAAC,EAAE,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAAG,IAAI;IAMtD,oJAAoJ;IACpJ,YAAY,CAAC,CAAC,EAAE,MAAM,IAAI,GAAG,IAAI;IAKjC,sGAAsG;IACtG,eAAe,IAAI,IAAI;IASvB,+GAA+G;IAC/G,QAAQ,CAAC,SAAS,GAAI,GAAG,aAAa,KAAG,IAAI,CAY3C;IAEF,oDAAoD;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAQ1B;CACH"}
@@ -1,160 +0,0 @@
1
- import { PAD, placeCard } from './place-card.js';
2
- /**
3
- * The card (`.insp`) of the selected item in the host's frame (`.main > .frame`):
4
- * a table row (`tr.sel > th`), a mark (`.mark.sel`, `.taskchip.sel`), a node
5
- * (`.node.sel`) or a loop box (`.box.sel`). It runs after every draw, pan, zoom
6
- * and scroll (`place`), and keeps Tab and Shift+Tab between the item and its card.
7
- */
8
- export class CardController {
9
- constructor(host, o) {
10
- this.host = host;
11
- this.o = o;
12
- /** The frame height the card needs (0 without one). */
13
- this.room = 0;
14
- /** Focus is being put back, not moved by the reader: it does not select. */
15
- this.quiet = false;
16
- /** Shift+Tab on the card's first link comes back to the item; Escape puts the focus back on the item first. */
17
- this.onCardKey = (e) => {
18
- const card = e.currentTarget;
19
- const items = [...card.querySelectorAll('button')];
20
- if (e.key === 'Tab' && e.shiftKey && this.focused === items[0]) {
21
- const own = this.itemFocus();
22
- if (!own)
23
- return;
24
- e.preventDefault();
25
- this.focusQuietly(own);
26
- }
27
- else if (e.key === 'Escape') {
28
- // The card goes with the selection: the focus goes back to the item first.
29
- this.focusQuietly(this.itemFocus());
30
- }
31
- };
32
- /** Tab on the selected item goes on to its card. */
33
- this.onTabToCard = (e) => {
34
- if (e.key !== 'Tab' || e.shiftKey || e.defaultPrevented)
35
- return;
36
- const own = this.itemFocus();
37
- if (!own || this.focused !== own)
38
- return;
39
- const first = this.root.querySelector('.insp button');
40
- if (!first)
41
- return;
42
- e.preventDefault();
43
- first.focus();
44
- };
45
- host.addController(this);
46
- }
47
- hostConnected() {
48
- this.host.addEventListener('keydown', this.onTabToCard);
49
- }
50
- hostDisconnected() {
51
- this.host.removeEventListener('keydown', this.onTabToCard);
52
- }
53
- get root() {
54
- return this.host.shadowRoot ?? this.host;
55
- }
56
- get focused() {
57
- return this.host.shadowRoot?.activeElement ?? null;
58
- }
59
- /** The card, when there is a selection. */
60
- card() {
61
- return this.root.querySelector('.insp');
62
- }
63
- /**
64
- * The selected item as drawn (a mark, a node, a loop box's header), what the card keeps clear of
65
- * (a mark's whole node), and the box it is shown in (the frame, or a loop's passes).
66
- */
67
- anchor() {
68
- const frame = this.root.querySelector('.main > .frame');
69
- const row = frame?.querySelector('tr.sel > th');
70
- if (frame && row)
71
- return { item: row, clear: row, frame };
72
- const sel = frame?.querySelector('.mark.sel, .taskchip.sel, .node.sel, .box.sel');
73
- if (!frame || !sel)
74
- return null;
75
- // A loop box: the card points at its header, where its name is, and keeps clear of the whole box when there is room.
76
- const item = sel.classList.contains('box') ? (sel.querySelector(':scope > .hd') ?? sel) : sel;
77
- return { item, clear: item.closest('.node') ?? sel, frame };
78
- }
79
- /** Put the card beside the selected item, inside the frame; hide it while the item is out of view. */
80
- place() {
81
- const card = this.card();
82
- const docked = this.o.docked();
83
- const room = card && !docked ? card.querySelector('.scroll').scrollHeight + 24 + 2 * PAD : 0;
84
- if (room !== this.room && (room > this.o.frameH() || this.room > 0)) {
85
- this.room = room;
86
- this.o.grow();
87
- }
88
- if (!card || docked)
89
- return;
90
- const a = this.anchor();
91
- const main = this.root.querySelector('.main');
92
- if (!a || !main) {
93
- card.classList.remove('placed');
94
- return;
95
- }
96
- const m = main.getBoundingClientRect();
97
- const rel = (r) => ({ left: r.left - m.left, top: r.top - m.top, width: r.width, height: r.height });
98
- const item = rel(a.item.getBoundingClientRect());
99
- const clear = rel(a.clear.getBoundingClientRect());
100
- const f = rel(a.frame.getBoundingClientRect());
101
- // A loop's passes and the table scroll: the item hides when scrolled out of them.
102
- const port = a.frame.querySelector('.mx');
103
- const inView = placeCard(item, port ? rel(port.getBoundingClientRect()) : f, { width: 0, height: 0 }).shown;
104
- const scroll = card.querySelector('.scroll');
105
- if (scroll)
106
- scroll.style.maxHeight = `${Math.max(120, f.height - 2 * PAD - 24)}px`;
107
- const size = { width: card.offsetWidth, height: card.offsetHeight };
108
- let p = placeCard(clear, f, size, item);
109
- if (!p.fits && a.clear !== a.item && !a.clear.classList.contains('node'))
110
- p = placeCard(item, f, size);
111
- card.classList.toggle('placed', p.shown && inView);
112
- card.dataset['side'] = p.side;
113
- card.style.left = `${p.x}px`;
114
- card.style.top = `${p.y}px`;
115
- card.style.setProperty('--arrow', `${p.arrow}px`);
116
- }
117
- /** The focusable that stands for the selected item: the mark itself, or a node's or a box's name. */
118
- itemFocus() {
119
- const a = this.anchor();
120
- if (!a)
121
- return null;
122
- return a.item.matches('button') ? a.item : a.item.querySelector('.name');
123
- }
124
- /**
125
- * The selected item's focusable described by the card (`aria-describedby`), and what
126
- * a live region says of the item: its name and its status (the card's `h4` and
127
- * `[data-status]`), '' without a selection.
128
- */
129
- describe() {
130
- for (const el of this.root.querySelectorAll('[aria-describedby="insp"]'))
131
- el.removeAttribute('aria-describedby');
132
- this.itemFocus()?.setAttribute('aria-describedby', 'insp');
133
- const card = this.card();
134
- return [card?.querySelector('h4')?.textContent?.trim() ?? '', card?.querySelector('[data-status]')?.textContent?.trim() ?? ''];
135
- }
136
- /** Focus `el` without selecting what it is on. */
137
- focusQuietly(el) {
138
- this.quiet = true;
139
- el?.focus();
140
- this.quiet = false;
141
- }
142
- /** Run `f` now, or, while a pointer is down on the frame, once it is released (a scroll under a pressed pointer would move the click elsewhere). */
143
- whenReleased(f) {
144
- if (!this.o.pressed())
145
- return f();
146
- globalThis.addEventListener('pointerup', () => setTimeout(f), { once: true });
147
- }
148
- /** On a narrow screen: scroll the selected item into view when it is out of it or under the sheet. */
149
- revealOverSheet() {
150
- const item = this.anchor()?.item;
151
- if (!item)
152
- return;
153
- const r = item.getBoundingClientRect();
154
- const sheet = this.card()?.getBoundingClientRect();
155
- const bottom = Math.min(globalThis.innerHeight, sheet?.top ?? Infinity);
156
- if (r.top < 0 || r.bottom > bottom)
157
- item.scrollIntoView({ block: 'center' });
158
- }
159
- }
160
- //# sourceMappingURL=card.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"card.js","sourceRoot":"","sources":["../../../../src/elements/overview/graph/card.ts"],"names":[],"mappings":"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"}
@@ -1,52 +0,0 @@
1
- import { type FlowCallNode, type Plan, type PlanNode } from '@contraagent/api';
2
- /** A frame of a task's flow path as the graph reads it: its loops by first line, and their passes. */
3
- export interface TaskFrame {
4
- function: string;
5
- file: string;
6
- line: number;
7
- loops: number[];
8
- passes: number[];
9
- }
10
- export interface FlowTask {
11
- n: PlanNode;
12
- path: string[];
13
- frames: TaskFrame[];
14
- from: string[];
15
- call: string;
16
- }
17
- export interface FlowIndex {
18
- tasks: FlowTask[];
19
- byKey: Map<string, FlowTask>;
20
- calls: Map<string, FlowCallNode> | null;
21
- unitRank: Map<string, number>;
22
- labels: Map<string, string>;
23
- }
24
- export declare function indexOf(plan: Plan): FlowIndex;
25
- export declare const startsWith: (path: readonly string[], prefix: readonly string[]) => boolean;
26
- /** A function's name without its module. */
27
- export declare const shortName: (fn: string) => string;
28
- /** The loops around a task's call site at depth `d`, outermost first ([] outside any). */
29
- export declare const loopsAt: (t: FlowTask, d: number) => number[];
30
- /** The pass of each of those loops, outermost first: the task's place in them. */
31
- export declare const passesAt: (t: FlowTask, d: number) => number[];
32
- /** Two pass lists in the order the passes ran: the outer loop's first. */
33
- export declare function cmpPasses(a: readonly number[], b: readonly number[]): number;
34
- /** The loop box ids for a loop chain, outermost first: `loop:7`, then `loop:7.9`, ... */
35
- export declare const boxChain: (loops: readonly number[]) => string[];
36
- /** Where a task is shown at depth `d`: its kind node, or the node of the function it was created under. */
37
- export declare function placeOf(t: FlowTask, d: number): {
38
- id: string;
39
- type: 'kind' | 'flow';
40
- name: string;
41
- loops: number[];
42
- };
43
- /**
44
- * The flow call a function node stands for, for a task at depth `d`: the call that
45
- * started at frame `d` (`own`), else the call the frame runs in (`yield from`). With
46
- * no flow calls in the plan, each frame of the task's call chain is taken to start one.
47
- */
48
- export declare function instanceOf(t: FlowTask, d: number, calls: Map<string, FlowCallNode> | null): {
49
- id: string;
50
- own: boolean;
51
- };
52
- //# sourceMappingURL=flow-index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"flow-index.d.ts","sourceRoot":"","sources":["../../../../src/elements/overview/graph/flow-index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,YAAY,EAAiC,KAAK,IAAI,EAAE,KAAK,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAG9G,sGAAsG;AACtG,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,QAAQ;IACvB,CAAC,EAAE,QAAQ,CAAC;IACZ,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,MAAM,EAAE,SAAS,EAAE,CAAC;IACpB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC7B,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,CAAC;IACxC,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC9B,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAC7B;AAgCD,wBAAgB,OAAO,CAAC,IAAI,EAAE,IAAI,GAAG,SAAS,CAyB7C;AAED,eAAO,MAAM,UAAU,GAAI,MAAM,SAAS,MAAM,EAAE,EAAE,QAAQ,SAAS,MAAM,EAAE,YAA0C,CAAC;AAExH,4CAA4C;AAC5C,eAAO,MAAM,SAAS,GAAI,IAAI,MAAM,KAAG,MAAiD,CAAC;AAEzF,0FAA0F;AAC1F,eAAO,MAAM,OAAO,GAAI,GAAG,QAAQ,EAAE,GAAG,MAAM,KAAG,MAAM,EAAmD,CAAC;AAE3G,kFAAkF;AAClF,eAAO,MAAM,QAAQ,GAAI,GAAG,QAAQ,EAAE,GAAG,MAAM,KAAG,MAAM,EAAoD,CAAC;AAE7G,0EAA0E;AAC1E,wBAAgB,SAAS,CAAC,CAAC,EAAE,SAAS,MAAM,EAAE,EAAE,CAAC,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAM5E;AAED,yFAAyF;AACzF,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,MAAM,EAAE,KAAG,MAAM,EAA8E,CAAC;AAEzI,2GAA2G;AAC3G,wBAAgB,OAAO,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,EAAE,CAAA;CAAE,CAMpH;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,GAAG,IAAI,GAAG;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,GAAG,EAAE,OAAO,CAAA;CAAE,CAoBxH"}