@aceshooting/lyra-ui 4.0.0 → 4.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 (356) hide show
  1. package/README.md +1 -0
  2. package/custom-elements.json +49430 -32305
  3. package/dist/ai/types.contract.d.ts +2 -0
  4. package/dist/ai/types.contract.d.ts.map +1 -0
  5. package/dist/ai/types.contract.js +139 -0
  6. package/dist/ai/types.contract.js.map +1 -0
  7. package/dist/ai/types.d.ts +199 -0
  8. package/dist/ai/types.d.ts.map +1 -0
  9. package/dist/ai/types.js +2 -0
  10. package/dist/ai/types.js.map +1 -0
  11. package/dist/components/agent-run/agent-run.class.d.ts +158 -0
  12. package/dist/components/agent-run/agent-run.class.d.ts.map +1 -0
  13. package/dist/components/agent-run/agent-run.class.js +400 -0
  14. package/dist/components/agent-run/agent-run.class.js.map +1 -0
  15. package/dist/components/agent-run/agent-run.d.ts +2 -0
  16. package/dist/components/agent-run/agent-run.d.ts.map +1 -0
  17. package/dist/components/agent-run/agent-run.js +5 -0
  18. package/dist/components/agent-run/agent-run.js.map +1 -0
  19. package/dist/components/agent-run/agent-run.styles.d.ts +2 -0
  20. package/dist/components/agent-run/agent-run.styles.d.ts.map +1 -0
  21. package/dist/components/agent-run/agent-run.styles.js +143 -0
  22. package/dist/components/agent-run/agent-run.styles.js.map +1 -0
  23. package/dist/components/agent-trace/agent-trace.class.d.ts +111 -0
  24. package/dist/components/agent-trace/agent-trace.class.d.ts.map +1 -0
  25. package/dist/components/agent-trace/agent-trace.class.js +221 -0
  26. package/dist/components/agent-trace/agent-trace.class.js.map +1 -0
  27. package/dist/components/agent-trace/agent-trace.d.ts +5 -0
  28. package/dist/components/agent-trace/agent-trace.d.ts.map +1 -0
  29. package/dist/components/agent-trace/agent-trace.js +8 -0
  30. package/dist/components/agent-trace/agent-trace.js.map +1 -0
  31. package/dist/components/agent-trace/agent-trace.styles.d.ts +2 -0
  32. package/dist/components/agent-trace/agent-trace.styles.d.ts.map +1 -0
  33. package/dist/components/agent-trace/agent-trace.styles.js +61 -0
  34. package/dist/components/agent-trace/agent-trace.styles.js.map +1 -0
  35. package/dist/components/app-rail/app-rail.styles.d.ts.map +1 -1
  36. package/dist/components/app-rail/app-rail.styles.js +4 -0
  37. package/dist/components/app-rail/app-rail.styles.js.map +1 -1
  38. package/dist/components/chat-message/chat-message.class.d.ts +37 -3
  39. package/dist/components/chat-message/chat-message.class.d.ts.map +1 -1
  40. package/dist/components/chat-message/chat-message.class.js +89 -7
  41. package/dist/components/chat-message/chat-message.class.js.map +1 -1
  42. package/dist/components/chat-message/chat-message.styles.d.ts.map +1 -1
  43. package/dist/components/chat-message/chat-message.styles.js +14 -0
  44. package/dist/components/chat-message/chat-message.styles.js.map +1 -1
  45. package/dist/components/context-inspector/context-inspector.class.d.ts +114 -0
  46. package/dist/components/context-inspector/context-inspector.class.d.ts.map +1 -0
  47. package/dist/components/context-inspector/context-inspector.class.js +222 -0
  48. package/dist/components/context-inspector/context-inspector.class.js.map +1 -0
  49. package/dist/components/context-inspector/context-inspector.d.ts +7 -0
  50. package/dist/components/context-inspector/context-inspector.d.ts.map +1 -0
  51. package/dist/components/context-inspector/context-inspector.js +10 -0
  52. package/dist/components/context-inspector/context-inspector.js.map +1 -0
  53. package/dist/components/context-inspector/context-inspector.styles.d.ts +2 -0
  54. package/dist/components/context-inspector/context-inspector.styles.d.ts.map +1 -0
  55. package/dist/components/context-inspector/context-inspector.styles.js +98 -0
  56. package/dist/components/context-inspector/context-inspector.styles.js.map +1 -0
  57. package/dist/components/dashboard-grid/dashboard-grid.class.d.ts +162 -0
  58. package/dist/components/dashboard-grid/dashboard-grid.class.d.ts.map +1 -0
  59. package/dist/components/dashboard-grid/dashboard-grid.class.js +570 -0
  60. package/dist/components/dashboard-grid/dashboard-grid.class.js.map +1 -0
  61. package/dist/components/dashboard-grid/dashboard-grid.d.ts +6 -0
  62. package/dist/components/dashboard-grid/dashboard-grid.d.ts.map +1 -0
  63. package/dist/components/dashboard-grid/dashboard-grid.js +9 -0
  64. package/dist/components/dashboard-grid/dashboard-grid.js.map +1 -0
  65. package/dist/components/dashboard-grid/dashboard-grid.styles.d.ts +2 -0
  66. package/dist/components/dashboard-grid/dashboard-grid.styles.d.ts.map +1 -0
  67. package/dist/components/dashboard-grid/dashboard-grid.styles.js +86 -0
  68. package/dist/components/dashboard-grid/dashboard-grid.styles.js.map +1 -0
  69. package/dist/components/dashboard-grid/layout.d.ts +103 -0
  70. package/dist/components/dashboard-grid/layout.d.ts.map +1 -0
  71. package/dist/components/dashboard-grid/layout.js +94 -0
  72. package/dist/components/dashboard-grid/layout.js.map +1 -0
  73. package/dist/components/date-picker/date-input.class.d.ts +8 -0
  74. package/dist/components/date-picker/date-input.class.d.ts.map +1 -1
  75. package/dist/components/date-picker/date-input.class.js +10 -0
  76. package/dist/components/date-picker/date-input.class.js.map +1 -1
  77. package/dist/components/date-picker/date-input.styles.d.ts.map +1 -1
  78. package/dist/components/date-picker/date-input.styles.js +39 -2
  79. package/dist/components/date-picker/date-input.styles.js.map +1 -1
  80. package/dist/components/document-compare/document-compare.class.d.ts +131 -0
  81. package/dist/components/document-compare/document-compare.class.d.ts.map +1 -0
  82. package/dist/components/document-compare/document-compare.class.js +214 -0
  83. package/dist/components/document-compare/document-compare.class.js.map +1 -0
  84. package/dist/components/document-compare/document-compare.d.ts +2 -0
  85. package/dist/components/document-compare/document-compare.d.ts.map +1 -0
  86. package/dist/components/document-compare/document-compare.js +5 -0
  87. package/dist/components/document-compare/document-compare.js.map +1 -0
  88. package/dist/components/document-compare/document-compare.styles.d.ts +2 -0
  89. package/dist/components/document-compare/document-compare.styles.d.ts.map +1 -0
  90. package/dist/components/document-compare/document-compare.styles.js +65 -0
  91. package/dist/components/document-compare/document-compare.styles.js.map +1 -0
  92. package/dist/components/document-library/document-library.class.d.ts +154 -0
  93. package/dist/components/document-library/document-library.class.d.ts.map +1 -0
  94. package/dist/components/document-library/document-library.class.js +399 -0
  95. package/dist/components/document-library/document-library.class.js.map +1 -0
  96. package/dist/components/document-library/document-library.d.ts +9 -0
  97. package/dist/components/document-library/document-library.d.ts.map +1 -0
  98. package/dist/components/document-library/document-library.js +12 -0
  99. package/dist/components/document-library/document-library.js.map +1 -0
  100. package/dist/components/document-library/document-library.styles.d.ts +2 -0
  101. package/dist/components/document-library/document-library.styles.d.ts.map +1 -0
  102. package/dist/components/document-library/document-library.styles.js +77 -0
  103. package/dist/components/document-library/document-library.styles.js.map +1 -0
  104. package/dist/components/drilldown-panel/drilldown-panel.class.d.ts +148 -0
  105. package/dist/components/drilldown-panel/drilldown-panel.class.d.ts.map +1 -0
  106. package/dist/components/drilldown-panel/drilldown-panel.class.js +241 -0
  107. package/dist/components/drilldown-panel/drilldown-panel.class.js.map +1 -0
  108. package/dist/components/drilldown-panel/drilldown-panel.d.ts +9 -0
  109. package/dist/components/drilldown-panel/drilldown-panel.d.ts.map +1 -0
  110. package/dist/components/drilldown-panel/drilldown-panel.js +12 -0
  111. package/dist/components/drilldown-panel/drilldown-panel.js.map +1 -0
  112. package/dist/components/drilldown-panel/drilldown-panel.styles.d.ts +2 -0
  113. package/dist/components/drilldown-panel/drilldown-panel.styles.d.ts.map +1 -0
  114. package/dist/components/drilldown-panel/drilldown-panel.styles.js +49 -0
  115. package/dist/components/drilldown-panel/drilldown-panel.styles.js.map +1 -0
  116. package/dist/components/entity-dossier/entity-dossier.class.d.ts +132 -0
  117. package/dist/components/entity-dossier/entity-dossier.class.d.ts.map +1 -0
  118. package/dist/components/entity-dossier/entity-dossier.class.js +187 -0
  119. package/dist/components/entity-dossier/entity-dossier.class.js.map +1 -0
  120. package/dist/components/entity-dossier/entity-dossier.d.ts +9 -0
  121. package/dist/components/entity-dossier/entity-dossier.d.ts.map +1 -0
  122. package/dist/components/entity-dossier/entity-dossier.js +12 -0
  123. package/dist/components/entity-dossier/entity-dossier.js.map +1 -0
  124. package/dist/components/entity-dossier/entity-dossier.styles.d.ts +2 -0
  125. package/dist/components/entity-dossier/entity-dossier.styles.d.ts.map +1 -0
  126. package/dist/components/entity-dossier/entity-dossier.styles.js +30 -0
  127. package/dist/components/entity-dossier/entity-dossier.styles.js.map +1 -0
  128. package/dist/components/eval-dataset/eval-dataset.class.d.ts +145 -0
  129. package/dist/components/eval-dataset/eval-dataset.class.d.ts.map +1 -0
  130. package/dist/components/eval-dataset/eval-dataset.class.js +307 -0
  131. package/dist/components/eval-dataset/eval-dataset.class.js.map +1 -0
  132. package/dist/components/eval-dataset/eval-dataset.d.ts +7 -0
  133. package/dist/components/eval-dataset/eval-dataset.d.ts.map +1 -0
  134. package/dist/components/eval-dataset/eval-dataset.js +10 -0
  135. package/dist/components/eval-dataset/eval-dataset.js.map +1 -0
  136. package/dist/components/eval-dataset/eval-dataset.styles.d.ts +2 -0
  137. package/dist/components/eval-dataset/eval-dataset.styles.d.ts.map +1 -0
  138. package/dist/components/eval-dataset/eval-dataset.styles.js +76 -0
  139. package/dist/components/eval-dataset/eval-dataset.styles.js.map +1 -0
  140. package/dist/components/eval-result/eval-result.class.d.ts +115 -0
  141. package/dist/components/eval-result/eval-result.class.d.ts.map +1 -0
  142. package/dist/components/eval-result/eval-result.class.js +165 -0
  143. package/dist/components/eval-result/eval-result.class.js.map +1 -0
  144. package/dist/components/eval-result/eval-result.d.ts +5 -0
  145. package/dist/components/eval-result/eval-result.d.ts.map +1 -0
  146. package/dist/components/eval-result/eval-result.js +8 -0
  147. package/dist/components/eval-result/eval-result.js.map +1 -0
  148. package/dist/components/eval-result/eval-result.styles.d.ts +2 -0
  149. package/dist/components/eval-result/eval-result.styles.d.ts.map +1 -0
  150. package/dist/components/eval-result/eval-result.styles.js +47 -0
  151. package/dist/components/eval-result/eval-result.styles.js.map +1 -0
  152. package/dist/components/evaluation-run/evaluation-run.class.d.ts +168 -0
  153. package/dist/components/evaluation-run/evaluation-run.class.d.ts.map +1 -0
  154. package/dist/components/evaluation-run/evaluation-run.class.js +329 -0
  155. package/dist/components/evaluation-run/evaluation-run.class.js.map +1 -0
  156. package/dist/components/evaluation-run/evaluation-run.d.ts +2 -0
  157. package/dist/components/evaluation-run/evaluation-run.d.ts.map +1 -0
  158. package/dist/components/evaluation-run/evaluation-run.js +5 -0
  159. package/dist/components/evaluation-run/evaluation-run.js.map +1 -0
  160. package/dist/components/evaluation-run/evaluation-run.styles.d.ts +2 -0
  161. package/dist/components/evaluation-run/evaluation-run.styles.d.ts.map +1 -0
  162. package/dist/components/evaluation-run/evaluation-run.styles.js +73 -0
  163. package/dist/components/evaluation-run/evaluation-run.styles.js.map +1 -0
  164. package/dist/components/filter-bar/filter-bar.class.d.ts +200 -0
  165. package/dist/components/filter-bar/filter-bar.class.d.ts.map +1 -0
  166. package/dist/components/filter-bar/filter-bar.class.js +322 -0
  167. package/dist/components/filter-bar/filter-bar.class.js.map +1 -0
  168. package/dist/components/filter-bar/filter-bar.d.ts +10 -0
  169. package/dist/components/filter-bar/filter-bar.d.ts.map +1 -0
  170. package/dist/components/filter-bar/filter-bar.js +13 -0
  171. package/dist/components/filter-bar/filter-bar.js.map +1 -0
  172. package/dist/components/filter-bar/filter-bar.styles.d.ts +2 -0
  173. package/dist/components/filter-bar/filter-bar.styles.d.ts.map +1 -0
  174. package/dist/components/filter-bar/filter-bar.styles.js +37 -0
  175. package/dist/components/filter-bar/filter-bar.styles.js.map +1 -0
  176. package/dist/components/graph-query-builder/graph-query-builder.class.d.ts +242 -0
  177. package/dist/components/graph-query-builder/graph-query-builder.class.d.ts.map +1 -0
  178. package/dist/components/graph-query-builder/graph-query-builder.class.js +511 -0
  179. package/dist/components/graph-query-builder/graph-query-builder.class.js.map +1 -0
  180. package/dist/components/graph-query-builder/graph-query-builder.d.ts +7 -0
  181. package/dist/components/graph-query-builder/graph-query-builder.d.ts.map +1 -0
  182. package/dist/components/graph-query-builder/graph-query-builder.js +10 -0
  183. package/dist/components/graph-query-builder/graph-query-builder.js.map +1 -0
  184. package/dist/components/graph-query-builder/graph-query-builder.styles.d.ts +2 -0
  185. package/dist/components/graph-query-builder/graph-query-builder.styles.d.ts.map +1 -0
  186. package/dist/components/graph-query-builder/graph-query-builder.styles.js +170 -0
  187. package/dist/components/graph-query-builder/graph-query-builder.styles.js.map +1 -0
  188. package/dist/components/grounding-summary/grounding-summary.class.d.ts +80 -0
  189. package/dist/components/grounding-summary/grounding-summary.class.d.ts.map +1 -0
  190. package/dist/components/grounding-summary/grounding-summary.class.js +182 -0
  191. package/dist/components/grounding-summary/grounding-summary.class.js.map +1 -0
  192. package/dist/components/grounding-summary/grounding-summary.d.ts +5 -0
  193. package/dist/components/grounding-summary/grounding-summary.d.ts.map +1 -0
  194. package/dist/components/grounding-summary/grounding-summary.js +8 -0
  195. package/dist/components/grounding-summary/grounding-summary.js.map +1 -0
  196. package/dist/components/grounding-summary/grounding-summary.styles.d.ts +2 -0
  197. package/dist/components/grounding-summary/grounding-summary.styles.d.ts.map +1 -0
  198. package/dist/components/grounding-summary/grounding-summary.styles.js +88 -0
  199. package/dist/components/grounding-summary/grounding-summary.styles.js.map +1 -0
  200. package/dist/components/ingestion-queue/ingestion-queue.class.d.ts +125 -0
  201. package/dist/components/ingestion-queue/ingestion-queue.class.d.ts.map +1 -0
  202. package/dist/components/ingestion-queue/ingestion-queue.class.js +276 -0
  203. package/dist/components/ingestion-queue/ingestion-queue.class.js.map +1 -0
  204. package/dist/components/ingestion-queue/ingestion-queue.d.ts +2 -0
  205. package/dist/components/ingestion-queue/ingestion-queue.d.ts.map +1 -0
  206. package/dist/components/ingestion-queue/ingestion-queue.js +5 -0
  207. package/dist/components/ingestion-queue/ingestion-queue.js.map +1 -0
  208. package/dist/components/ingestion-queue/ingestion-queue.styles.d.ts +2 -0
  209. package/dist/components/ingestion-queue/ingestion-queue.styles.d.ts.map +1 -0
  210. package/dist/components/ingestion-queue/ingestion-queue.styles.js +138 -0
  211. package/dist/components/ingestion-queue/ingestion-queue.styles.js.map +1 -0
  212. package/dist/components/knowledge-base/knowledge-base.class.d.ts +136 -0
  213. package/dist/components/knowledge-base/knowledge-base.class.d.ts.map +1 -0
  214. package/dist/components/knowledge-base/knowledge-base.class.js +360 -0
  215. package/dist/components/knowledge-base/knowledge-base.class.js.map +1 -0
  216. package/dist/components/knowledge-base/knowledge-base.d.ts +7 -0
  217. package/dist/components/knowledge-base/knowledge-base.d.ts.map +1 -0
  218. package/dist/components/knowledge-base/knowledge-base.js +10 -0
  219. package/dist/components/knowledge-base/knowledge-base.js.map +1 -0
  220. package/dist/components/knowledge-base/knowledge-base.styles.d.ts +2 -0
  221. package/dist/components/knowledge-base/knowledge-base.styles.d.ts.map +1 -0
  222. package/dist/components/knowledge-base/knowledge-base.styles.js +94 -0
  223. package/dist/components/knowledge-base/knowledge-base.styles.js.map +1 -0
  224. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +196 -0
  225. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts.map +1 -0
  226. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.class.js +477 -0
  227. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.class.js.map +1 -0
  228. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.d.ts +11 -0
  229. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.d.ts.map +1 -0
  230. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.js +14 -0
  231. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.js.map +1 -0
  232. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.styles.d.ts +2 -0
  233. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.styles.d.ts.map +1 -0
  234. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +76 -0
  235. package/dist/components/knowledge-graph-explorer/knowledge-graph-explorer.styles.js.map +1 -0
  236. package/dist/components/memory-panel/memory-panel.class.d.ts +146 -0
  237. package/dist/components/memory-panel/memory-panel.class.d.ts.map +1 -0
  238. package/dist/components/memory-panel/memory-panel.class.js +303 -0
  239. package/dist/components/memory-panel/memory-panel.class.js.map +1 -0
  240. package/dist/components/memory-panel/memory-panel.d.ts +5 -0
  241. package/dist/components/memory-panel/memory-panel.d.ts.map +1 -0
  242. package/dist/components/memory-panel/memory-panel.js +8 -0
  243. package/dist/components/memory-panel/memory-panel.js.map +1 -0
  244. package/dist/components/memory-panel/memory-panel.styles.d.ts +2 -0
  245. package/dist/components/memory-panel/memory-panel.styles.d.ts.map +1 -0
  246. package/dist/components/memory-panel/memory-panel.styles.js +139 -0
  247. package/dist/components/memory-panel/memory-panel.styles.js.map +1 -0
  248. package/dist/components/overlay/popover.class.d.ts +39 -0
  249. package/dist/components/overlay/popover.class.d.ts.map +1 -1
  250. package/dist/components/overlay/popover.class.js +53 -3
  251. package/dist/components/overlay/popover.class.js.map +1 -1
  252. package/dist/components/overlay/tooltip.class.d.ts +43 -0
  253. package/dist/components/overlay/tooltip.class.d.ts.map +1 -1
  254. package/dist/components/overlay/tooltip.class.js +66 -4
  255. package/dist/components/overlay/tooltip.class.js.map +1 -1
  256. package/dist/components/policy-summary/policy-summary.class.d.ts +76 -0
  257. package/dist/components/policy-summary/policy-summary.class.d.ts.map +1 -0
  258. package/dist/components/policy-summary/policy-summary.class.js +125 -0
  259. package/dist/components/policy-summary/policy-summary.class.js.map +1 -0
  260. package/dist/components/policy-summary/policy-summary.d.ts +6 -0
  261. package/dist/components/policy-summary/policy-summary.d.ts.map +1 -0
  262. package/dist/components/policy-summary/policy-summary.js +9 -0
  263. package/dist/components/policy-summary/policy-summary.js.map +1 -0
  264. package/dist/components/policy-summary/policy-summary.styles.d.ts +2 -0
  265. package/dist/components/policy-summary/policy-summary.styles.d.ts.map +1 -0
  266. package/dist/components/policy-summary/policy-summary.styles.js +68 -0
  267. package/dist/components/policy-summary/policy-summary.styles.js.map +1 -0
  268. package/dist/components/query-builder/query-builder.class.d.ts +180 -0
  269. package/dist/components/query-builder/query-builder.class.d.ts.map +1 -0
  270. package/dist/components/query-builder/query-builder.class.js +415 -0
  271. package/dist/components/query-builder/query-builder.class.js.map +1 -0
  272. package/dist/components/query-builder/query-builder.d.ts +9 -0
  273. package/dist/components/query-builder/query-builder.d.ts.map +1 -0
  274. package/dist/components/query-builder/query-builder.js +12 -0
  275. package/dist/components/query-builder/query-builder.js.map +1 -0
  276. package/dist/components/query-builder/query-builder.styles.d.ts +2 -0
  277. package/dist/components/query-builder/query-builder.styles.d.ts.map +1 -0
  278. package/dist/components/query-builder/query-builder.styles.js +77 -0
  279. package/dist/components/query-builder/query-builder.styles.js.map +1 -0
  280. package/dist/components/retrieval-results/retrieval-results.class.d.ts +151 -0
  281. package/dist/components/retrieval-results/retrieval-results.class.d.ts.map +1 -0
  282. package/dist/components/retrieval-results/retrieval-results.class.js +340 -0
  283. package/dist/components/retrieval-results/retrieval-results.class.js.map +1 -0
  284. package/dist/components/retrieval-results/retrieval-results.d.ts +7 -0
  285. package/dist/components/retrieval-results/retrieval-results.d.ts.map +1 -0
  286. package/dist/components/retrieval-results/retrieval-results.js +10 -0
  287. package/dist/components/retrieval-results/retrieval-results.js.map +1 -0
  288. package/dist/components/retrieval-results/retrieval-results.styles.d.ts +2 -0
  289. package/dist/components/retrieval-results/retrieval-results.styles.d.ts.map +1 -0
  290. package/dist/components/retrieval-results/retrieval-results.styles.js +94 -0
  291. package/dist/components/retrieval-results/retrieval-results.styles.js.map +1 -0
  292. package/dist/components/retrieval-search/retrieval-search.class.d.ts +127 -0
  293. package/dist/components/retrieval-search/retrieval-search.class.d.ts.map +1 -0
  294. package/dist/components/retrieval-search/retrieval-search.class.js +266 -0
  295. package/dist/components/retrieval-search/retrieval-search.class.js.map +1 -0
  296. package/dist/components/retrieval-search/retrieval-search.d.ts +8 -0
  297. package/dist/components/retrieval-search/retrieval-search.d.ts.map +1 -0
  298. package/dist/components/retrieval-search/retrieval-search.js +11 -0
  299. package/dist/components/retrieval-search/retrieval-search.js.map +1 -0
  300. package/dist/components/retrieval-search/retrieval-search.styles.d.ts +2 -0
  301. package/dist/components/retrieval-search/retrieval-search.styles.d.ts.map +1 -0
  302. package/dist/components/retrieval-search/retrieval-search.styles.js +75 -0
  303. package/dist/components/retrieval-search/retrieval-search.styles.js.map +1 -0
  304. package/dist/components/retrieval-trace/retrieval-trace.class.d.ts +101 -0
  305. package/dist/components/retrieval-trace/retrieval-trace.class.d.ts.map +1 -0
  306. package/dist/components/retrieval-trace/retrieval-trace.class.js +215 -0
  307. package/dist/components/retrieval-trace/retrieval-trace.class.js.map +1 -0
  308. package/dist/components/retrieval-trace/retrieval-trace.d.ts +4 -0
  309. package/dist/components/retrieval-trace/retrieval-trace.d.ts.map +1 -0
  310. package/dist/components/retrieval-trace/retrieval-trace.js +7 -0
  311. package/dist/components/retrieval-trace/retrieval-trace.js.map +1 -0
  312. package/dist/components/retrieval-trace/retrieval-trace.styles.d.ts +2 -0
  313. package/dist/components/retrieval-trace/retrieval-trace.styles.d.ts.map +1 -0
  314. package/dist/components/retrieval-trace/retrieval-trace.styles.js +116 -0
  315. package/dist/components/retrieval-trace/retrieval-trace.styles.js.map +1 -0
  316. package/dist/components/thread-list/thread-list.class.d.ts +19 -1
  317. package/dist/components/thread-list/thread-list.class.d.ts.map +1 -1
  318. package/dist/components/thread-list/thread-list.class.js +9 -2
  319. package/dist/components/thread-list/thread-list.class.js.map +1 -1
  320. package/dist/components/tool-timeline/tool-timeline.class.d.ts +140 -0
  321. package/dist/components/tool-timeline/tool-timeline.class.d.ts.map +1 -0
  322. package/dist/components/tool-timeline/tool-timeline.class.js +293 -0
  323. package/dist/components/tool-timeline/tool-timeline.class.js.map +1 -0
  324. package/dist/components/tool-timeline/tool-timeline.d.ts +2 -0
  325. package/dist/components/tool-timeline/tool-timeline.d.ts.map +1 -0
  326. package/dist/components/tool-timeline/tool-timeline.js +5 -0
  327. package/dist/components/tool-timeline/tool-timeline.js.map +1 -0
  328. package/dist/components/tool-timeline/tool-timeline.styles.d.ts +2 -0
  329. package/dist/components/tool-timeline/tool-timeline.styles.d.ts.map +1 -0
  330. package/dist/components/tool-timeline/tool-timeline.styles.js +148 -0
  331. package/dist/components/tool-timeline/tool-timeline.styles.js.map +1 -0
  332. package/dist/internal/localization.d.ts +1 -1
  333. package/dist/internal/localization.d.ts.map +1 -1
  334. package/dist/internal/localization.js +224 -0
  335. package/dist/internal/localization.js.map +1 -1
  336. package/dist/internal/positioner.d.ts +28 -1
  337. package/dist/internal/positioner.d.ts.map +1 -1
  338. package/dist/internal/positioner.js +12 -1
  339. package/dist/internal/positioner.js.map +1 -1
  340. package/dist/internal/root-registration-allowlist.d.ts +2 -2
  341. package/dist/internal/root-registration-allowlist.d.ts.map +1 -1
  342. package/dist/internal/root-registration-allowlist.js +24 -0
  343. package/dist/internal/root-registration-allowlist.js.map +1 -1
  344. package/dist/internal/tokens.styles.d.ts.map +1 -1
  345. package/dist/internal/tokens.styles.js +2 -0
  346. package/dist/internal/tokens.styles.js.map +1 -1
  347. package/dist/lyra.d.ts +48 -1
  348. package/dist/lyra.d.ts.map +1 -1
  349. package/dist/lyra.js +47 -0
  350. package/dist/lyra.js.map +1 -1
  351. package/llms-full.txt +462 -9
  352. package/llms.txt +7 -0
  353. package/package.json +50 -1
  354. package/vscode-css-data.json +21 -0
  355. package/vscode-html-data.json +1103 -47
  356. package/web-types.json +1131 -47
@@ -0,0 +1,131 @@
1
+ import { type PropertyValues, type TemplateResult } from 'lit';
2
+ import { LyraElement } from '../../internal/lyra-element.js';
3
+ import type { DocumentRef } from '../../ai/types.js';
4
+ import type { LyraAnchor, LyraHighlight } from '../document-viewer/anchors.js';
5
+ import type { ShikiLanguageInput } from '../code-block/code-loader.js';
6
+ import '../document-preview/document-preview.js';
7
+ import '../diff-view/diff-view.js';
8
+ export interface LyraDocumentCompareEventMap {
9
+ /** Bubbles unchanged from the internal `<lr-diff-view>` while `view="diff"`. `detail: { text }` — the full unified-diff text. */
10
+ 'lr-copy': CustomEvent<{
11
+ text: string;
12
+ }>;
13
+ /** Bubbles unchanged from whichever pane's `<lr-document-preview>` it originated in, while `view="side-by-side"`. `detail: { id }`. Activating a highlight that shares its `id` with a highlight on the *other* version also scrolls that pane to the matching highlight -- see the class doc's "Synchronized anchors" section. */
14
+ 'lr-highlight-activate': CustomEvent<{
15
+ id: string;
16
+ }>;
17
+ /** Bubbles unchanged from whichever pane's `<lr-document-preview>` it originated in. `detail: { src, filename }`. */
18
+ 'lr-download': CustomEvent<{
19
+ src: string;
20
+ filename: string;
21
+ }>;
22
+ /** Bubbles unchanged from whichever pane's `<lr-document-preview>` it originated in (a failed `text/*` fetch). `detail: { error }`. */
23
+ 'lr-render-error': CustomEvent<{
24
+ error: unknown;
25
+ }>;
26
+ }
27
+ /**
28
+ * One document version to compare. Extends the shared `DocumentRef` (`id`/`name`/`mimeType`/
29
+ * `uri`/`version`) with the two fields a comparison needs that a bare document reference doesn't
30
+ * carry: the literal `text` an `<lr-diff-view>` diffs directly, and this version's own
31
+ * `<lr-document-preview>` region `highlights` (see "Synchronized anchors" below). `uri` (from
32
+ * `DocumentRef`) maps onto `<lr-document-preview>`'s own `src` property, and `mimeType` maps onto
33
+ * its `mimeType` property field-for-field; `name` maps onto its differently-named `filename`
34
+ * property (per `DocumentRef`'s own doc comment, `name` matches `<lr-attachment-chip>`'s property
35
+ * name, not `<lr-document-preview>`'s).
36
+ */
37
+ export interface DocumentCompareVersion extends DocumentRef {
38
+ /** Literal text content for this version -- diffed directly by `view="diff"` (no fetch involved), unlike `<lr-document-preview>`'s own text-format dispatch which fetches `uri`. */
39
+ text?: string;
40
+ /** Region highlights rendered over this version's own `<lr-document-preview>` pane (image format only -- see that component's own scope). An id shared between `oldVersion.highlights` and `newVersion.highlights` is what "synchronized anchors" resolves against. */
41
+ highlights?: LyraHighlight[];
42
+ }
43
+ /**
44
+ * `<lr-document-compare>` — side-by-side or inline comparison of two document versions, composed
45
+ * entirely from two existing primitives rather than reimplementing either: `<lr-diff-view>` is the
46
+ * real two-string line diff (`view="diff"`, the default), and `<lr-document-preview>` renders each
47
+ * version's own actual content in `view="side-by-side"`.
48
+ *
49
+ * **Synchronized anchors.** `<lr-diff-view>`'s own `layout="split"` needs no scroll-sync of its
50
+ * own -- both columns already live inside one shared scrolling container, so they move together
51
+ * for free. `view="side-by-side"` is different: it renders two *independent*
52
+ * `<lr-document-preview>` panes, each with its own scrollbar, so nothing keeps them aligned on its
53
+ * own. This component adds exactly two minimal, purpose-built coordination mechanisms for that
54
+ * case (mirroring `<lr-compare-panel>`'s own proven proportional-scroll algorithm rather than
55
+ * inventing a new one):
56
+ * - **Continuous scroll sync** (`syncScroll`, default `true`): scrolling either pane
57
+ * proportionally scrolls the other to the same *fraction* of its own scrollable range, not the
58
+ * same pixel offset -- the two versions can have very different lengths. A re-entrancy guard
59
+ * stops the mirrored write from bouncing back.
60
+ * - **Highlight-anchor sync**: activating a region highlight in one pane (`lr-highlight-activate`)
61
+ * that shares its `id` with a highlight in the *other* version's `highlights` scrolls that pane
62
+ * to its own matching highlight via `<lr-document-preview>`'s own `scrollToAnchor()`. The
63
+ * `lr-highlight-activate` event itself still bubbles through unchanged (`detail: { id }`, no
64
+ * side discriminator) so an existing listener contract stays exactly what
65
+ * `<lr-document-preview>` already documents.
66
+ * - A shared `anchor` property (same declarative shape as `<lr-document-viewer>`'s own `anchor`)
67
+ * drives both panes to the same target at once via their own `scrollToAnchor()`.
68
+ *
69
+ * @customElement lr-document-compare
70
+ * @event lr-copy - See `LyraDocumentCompareEventMap`.
71
+ * @event lr-highlight-activate - See `LyraDocumentCompareEventMap`.
72
+ * @event lr-download - See `LyraDocumentCompareEventMap`.
73
+ * @event lr-render-error - See `LyraDocumentCompareEventMap`.
74
+ * @csspart base - The root wrapper.
75
+ * @csspart diff - The internal `<lr-diff-view>`, rendered while `view="diff"`.
76
+ * @csspart panes - The row (or, under 640px, column) wrapping both panes, rendered while `view="side-by-side"`.
77
+ * @csspart pane-old - The first (old/before) version's labeled, independently-scrollable pane.
78
+ * @csspart pane-new - The second (new/after) version's labeled, independently-scrollable pane.
79
+ * @csspart pane-header - A pane's visible label.
80
+ * @csspart pane-empty - The placeholder shown in a pane whose version is unset.
81
+ * @cssprop [--lr-document-compare-pane-max-height=24rem] - Maximum block size of a side-by-side pane before it scrolls internally.
82
+ */
83
+ export declare class LyraDocumentCompare extends LyraElement<LyraDocumentCompareEventMap> {
84
+ static styles: import("lit").CSSResultGroup[];
85
+ /** `'diff'` (the default) renders one inline `<lr-diff-view>`; `'side-by-side'` renders two
86
+ * independently-scrollable `<lr-document-preview>` panes -- see the class doc's "Synchronized
87
+ * anchors" section for how the two panes are kept in sync. */
88
+ view: 'diff' | 'side-by-side';
89
+ /** The "before" version. */
90
+ oldVersion?: DocumentCompareVersion;
91
+ /** The "after" version. */
92
+ newVersion?: DocumentCompareVersion;
93
+ /** Forwarded to the internal `<lr-diff-view>`'s own `layout` property while `view="diff"`. */
94
+ diffLayout: 'unified' | 'split';
95
+ /** Forwarded to the internal `<lr-diff-view>`'s own `copyable` property while `view="diff"`. */
96
+ copyable: boolean;
97
+ /** Forwarded to the internal `<lr-diff-view>`'s own `language` property while `view="diff"`. */
98
+ language: string;
99
+ /** Forwarded to the internal `<lr-diff-view>`'s own `languages` property while `view="diff"`. */
100
+ languages?: Record<string, ShikiLanguageInput>;
101
+ /** Whether scrolling one `view="side-by-side"` pane proportionally scrolls the other. See the
102
+ * class doc's "Synchronized anchors" section. */
103
+ syncScroll: boolean;
104
+ /** A shared scroll-to-anchor target forwarded to both `view="side-by-side"` panes'
105
+ * `scrollToAnchor()`. `hasChanged: () => true` so re-assigning the same value (e.g. re-clicking
106
+ * the same source reference) still re-fires, mirroring `<lr-document-viewer>`'s identical
107
+ * property. */
108
+ anchor: LyraAnchor | string | null;
109
+ private paneOldEl?;
110
+ private paneNewEl?;
111
+ private previewOldEl?;
112
+ private previewNewEl?;
113
+ private suppressSync;
114
+ protected updated(changed: PropertyValues): void;
115
+ private onPaneScroll;
116
+ /** Handles a pane's own `lr-highlight-activate` (not re-emitted -- the event bubbles through
117
+ * unchanged, see the class doc). When the other version has a highlight sharing this `id`,
118
+ * scrolls that pane to it too. */
119
+ private onHighlightActivate;
120
+ private versionLabel;
121
+ private renderDiff;
122
+ private renderVersionPane;
123
+ private renderSideBySide;
124
+ render(): TemplateResult;
125
+ }
126
+ declare global {
127
+ interface HTMLElementTagNameMap {
128
+ 'lr-document-compare': LyraDocumentCompare;
129
+ }
130
+ }
131
+ //# sourceMappingURL=document-compare.class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-compare.class.d.ts","sourceRoot":"","sources":["../../../src/components/document-compare/document-compare.class.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,KAAK,cAAc,EAAE,KAAK,cAAc,EAAE,MAAM,KAAK,CAAC;AAErE,OAAO,EAAE,WAAW,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAE/E,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,8BAA8B,CAAC;AACvE,OAAO,yCAAyC,CAAC;AACjD,OAAO,2BAA2B,CAAC;AAGnC,MAAM,WAAW,2BAA2B;IAC1C,iIAAiI;IACjI,SAAS,EAAE,WAAW,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACzC,mUAAmU;IACnU,uBAAuB,EAAE,WAAW,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrD,qHAAqH;IACrH,aAAa,EAAE,WAAW,CAAC;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC9D,uIAAuI;IACvI,iBAAiB,EAAE,WAAW,CAAC;QAAE,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;CACpD;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,sBAAuB,SAAQ,WAAW;IACzD,oLAAoL;IACpL,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,uQAAuQ;IACvQ,UAAU,CAAC,EAAE,aAAa,EAAE,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,qBAAa,mBAAoB,SAAQ,WAAW,CAAC,2BAA2B,CAAC;IAC/E,MAAM,CAAC,MAAM,iCAAgC;IAE7C;;mEAE+D;IAClC,IAAI,EAAE,MAAM,GAAG,cAAc,CAAU;IAEpE,4BAA4B;IACI,UAAU,CAAC,EAAE,sBAAsB,CAAC;IAEpE,2BAA2B;IACK,UAAU,CAAC,EAAE,sBAAsB,CAAC;IAEpE,8FAA8F;IACvC,UAAU,EAAE,SAAS,GAAG,OAAO,CAAa;IAEnG,gGAAgG;IACnE,QAAQ,UAAS;IAE9C,gGAAgG;IACpF,QAAQ,SAAM;IAE1B,iGAAiG;IACjE,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAE/E;sDACkD;IACK,UAAU,UAAQ;IAEzE;;;oBAGgB;IACwC,MAAM,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAQ;IAEtE,OAAO,CAAC,SAAS,CAAC,CAAc;IAChC,OAAO,CAAC,SAAS,CAAC,CAAc;IACZ,OAAO,CAAC,YAAY,CAAC,CAAsB;IAC3C,OAAO,CAAC,YAAY,CAAC,CAAsB;IAK3F,OAAO,CAAC,YAAY,CAAS;IAE7B,SAAS,CAAC,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI,CAQ/C;IAED,OAAO,CAAC,YAAY,CAgBlB;IAEF;;uCAEmC;IACnC,OAAO,CAAC,mBAAmB;IAQ3B,OAAO,CAAC,YAAY;IAIpB,OAAO,CAAC,UAAU;IAclB,OAAO,CAAC,iBAAiB;IAazB,OAAO,CAAC,gBAAgB;IAiBxB,MAAM,IAAI,cAAc,CAMvB;CACF;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,qBAAqB,EAAE,mBAAmB,CAAC;KAC5C;CACF"}
@@ -0,0 +1,214 @@
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 { html } from 'lit';
8
+ import { property, query } from 'lit/decorators.js';
9
+ import { LyraElement } from '../../internal/lyra-element.js';
10
+ import '../document-preview/document-preview.js';
11
+ import '../diff-view/diff-view.js';
12
+ import { styles } from './document-compare.styles.js';
13
+ /**
14
+ * `<lr-document-compare>` — side-by-side or inline comparison of two document versions, composed
15
+ * entirely from two existing primitives rather than reimplementing either: `<lr-diff-view>` is the
16
+ * real two-string line diff (`view="diff"`, the default), and `<lr-document-preview>` renders each
17
+ * version's own actual content in `view="side-by-side"`.
18
+ *
19
+ * **Synchronized anchors.** `<lr-diff-view>`'s own `layout="split"` needs no scroll-sync of its
20
+ * own -- both columns already live inside one shared scrolling container, so they move together
21
+ * for free. `view="side-by-side"` is different: it renders two *independent*
22
+ * `<lr-document-preview>` panes, each with its own scrollbar, so nothing keeps them aligned on its
23
+ * own. This component adds exactly two minimal, purpose-built coordination mechanisms for that
24
+ * case (mirroring `<lr-compare-panel>`'s own proven proportional-scroll algorithm rather than
25
+ * inventing a new one):
26
+ * - **Continuous scroll sync** (`syncScroll`, default `true`): scrolling either pane
27
+ * proportionally scrolls the other to the same *fraction* of its own scrollable range, not the
28
+ * same pixel offset -- the two versions can have very different lengths. A re-entrancy guard
29
+ * stops the mirrored write from bouncing back.
30
+ * - **Highlight-anchor sync**: activating a region highlight in one pane (`lr-highlight-activate`)
31
+ * that shares its `id` with a highlight in the *other* version's `highlights` scrolls that pane
32
+ * to its own matching highlight via `<lr-document-preview>`'s own `scrollToAnchor()`. The
33
+ * `lr-highlight-activate` event itself still bubbles through unchanged (`detail: { id }`, no
34
+ * side discriminator) so an existing listener contract stays exactly what
35
+ * `<lr-document-preview>` already documents.
36
+ * - A shared `anchor` property (same declarative shape as `<lr-document-viewer>`'s own `anchor`)
37
+ * drives both panes to the same target at once via their own `scrollToAnchor()`.
38
+ *
39
+ * @customElement lr-document-compare
40
+ * @event lr-copy - See `LyraDocumentCompareEventMap`.
41
+ * @event lr-highlight-activate - See `LyraDocumentCompareEventMap`.
42
+ * @event lr-download - See `LyraDocumentCompareEventMap`.
43
+ * @event lr-render-error - See `LyraDocumentCompareEventMap`.
44
+ * @csspart base - The root wrapper.
45
+ * @csspart diff - The internal `<lr-diff-view>`, rendered while `view="diff"`.
46
+ * @csspart panes - The row (or, under 640px, column) wrapping both panes, rendered while `view="side-by-side"`.
47
+ * @csspart pane-old - The first (old/before) version's labeled, independently-scrollable pane.
48
+ * @csspart pane-new - The second (new/after) version's labeled, independently-scrollable pane.
49
+ * @csspart pane-header - A pane's visible label.
50
+ * @csspart pane-empty - The placeholder shown in a pane whose version is unset.
51
+ * @cssprop [--lr-document-compare-pane-max-height=24rem] - Maximum block size of a side-by-side pane before it scrolls internally.
52
+ */
53
+ export class LyraDocumentCompare extends LyraElement {
54
+ constructor() {
55
+ super(...arguments);
56
+ /** `'diff'` (the default) renders one inline `<lr-diff-view>`; `'side-by-side'` renders two
57
+ * independently-scrollable `<lr-document-preview>` panes -- see the class doc's "Synchronized
58
+ * anchors" section for how the two panes are kept in sync. */
59
+ this.view = 'diff';
60
+ /** Forwarded to the internal `<lr-diff-view>`'s own `layout` property while `view="diff"`. */
61
+ this.diffLayout = 'unified';
62
+ /** Forwarded to the internal `<lr-diff-view>`'s own `copyable` property while `view="diff"`. */
63
+ this.copyable = false;
64
+ /** Forwarded to the internal `<lr-diff-view>`'s own `language` property while `view="diff"`. */
65
+ this.language = '';
66
+ /** Whether scrolling one `view="side-by-side"` pane proportionally scrolls the other. See the
67
+ * class doc's "Synchronized anchors" section. */
68
+ this.syncScroll = true;
69
+ /** A shared scroll-to-anchor target forwarded to both `view="side-by-side"` panes'
70
+ * `scrollToAnchor()`. `hasChanged: () => true` so re-assigning the same value (e.g. re-clicking
71
+ * the same source reference) still re-fires, mirroring `<lr-document-viewer>`'s identical
72
+ * property. */
73
+ this.anchor = null;
74
+ // Guards the fraction-based mirrored scrollTop write below from re-triggering its own 'scroll'
75
+ // listener on the pane it just wrote to -- same guard `<lr-compare-panel>`'s own
76
+ // onPaneScroll() uses.
77
+ this.suppressSync = false;
78
+ this.onPaneScroll = (source) => {
79
+ return () => {
80
+ if (!this.syncScroll || this.suppressSync)
81
+ return;
82
+ const from = source === 'old' ? this.paneOldEl : this.paneNewEl;
83
+ const to = source === 'old' ? this.paneNewEl : this.paneOldEl;
84
+ if (!from || !to)
85
+ return;
86
+ const fromMax = from.scrollHeight - from.clientHeight;
87
+ const toMax = to.scrollHeight - to.clientHeight;
88
+ if (fromMax <= 0)
89
+ return;
90
+ const fraction = from.scrollTop / fromMax;
91
+ this.suppressSync = true;
92
+ to.scrollTop = fraction * toMax;
93
+ requestAnimationFrame(() => {
94
+ this.suppressSync = false;
95
+ });
96
+ };
97
+ };
98
+ }
99
+ static { this.styles = [LyraElement.styles, styles]; }
100
+ updated(changed) {
101
+ super.updated(changed);
102
+ const anchor = this.anchor;
103
+ if (anchor == null)
104
+ return;
105
+ const shouldJump = changed.has('anchor') || (changed.has('view') && this.view === 'side-by-side');
106
+ if (!shouldJump)
107
+ return;
108
+ void this.previewOldEl?.scrollToAnchor(anchor);
109
+ void this.previewNewEl?.scrollToAnchor(anchor);
110
+ }
111
+ /** Handles a pane's own `lr-highlight-activate` (not re-emitted -- the event bubbles through
112
+ * unchanged, see the class doc). When the other version has a highlight sharing this `id`,
113
+ * scrolls that pane to it too. */
114
+ onHighlightActivate(side, event) {
115
+ const { id } = event.detail;
116
+ const otherVersion = side === 'old' ? this.newVersion : this.oldVersion;
117
+ if (!otherVersion?.highlights?.some((h) => h.id === id))
118
+ return;
119
+ const otherPreview = side === 'old' ? this.previewNewEl : this.previewOldEl;
120
+ void otherPreview?.scrollToAnchor(id);
121
+ }
122
+ versionLabel(version, fallbackKey) {
123
+ return version?.name || version?.version || this.localize(fallbackKey);
124
+ }
125
+ renderDiff() {
126
+ return html `
127
+ <lr-diff-view
128
+ part="diff"
129
+ .oldText=${this.oldVersion?.text ?? ''}
130
+ .newText=${this.newVersion?.text ?? ''}
131
+ layout=${this.diffLayout}
132
+ ?copyable=${this.copyable}
133
+ language=${this.language}
134
+ .languages=${this.languages}
135
+ ></lr-diff-view>
136
+ `;
137
+ }
138
+ renderVersionPane(version, side) {
139
+ if (!version)
140
+ return html `<p part="pane-empty">${this.localize('documentCompareNoVersion')}</p>`;
141
+ return html `
142
+ <lr-document-preview
143
+ filename=${version.name ?? ''}
144
+ mime-type=${version.mimeType ?? ''}
145
+ src=${version.uri ?? ''}
146
+ .highlights=${version.highlights ?? []}
147
+ @lr-highlight-activate=${(e) => this.onHighlightActivate(side, e)}
148
+ ></lr-document-preview>
149
+ `;
150
+ }
151
+ renderSideBySide() {
152
+ const oldLabel = this.versionLabel(this.oldVersion, 'documentCompareOldVersion');
153
+ const newLabel = this.versionLabel(this.newVersion, 'documentCompareNewVersion');
154
+ return html `
155
+ <div part="panes">
156
+ <div part="pane-old" role="region" aria-label=${oldLabel} tabindex="0" @scroll=${this.onPaneScroll('old')}>
157
+ <div part="pane-header">${oldLabel}</div>
158
+ ${this.renderVersionPane(this.oldVersion, 'old')}
159
+ </div>
160
+ <div part="pane-new" role="region" aria-label=${newLabel} tabindex="0" @scroll=${this.onPaneScroll('new')}>
161
+ <div part="pane-header">${newLabel}</div>
162
+ ${this.renderVersionPane(this.newVersion, 'new')}
163
+ </div>
164
+ </div>
165
+ `;
166
+ }
167
+ render() {
168
+ return html `
169
+ <div part="base" role="group" aria-label=${this.getAttribute('aria-label') || this.localize('documentCompareLabel')}>
170
+ ${this.view === 'side-by-side' ? this.renderSideBySide() : this.renderDiff()}
171
+ </div>
172
+ `;
173
+ }
174
+ }
175
+ __decorate([
176
+ property({ reflect: true })
177
+ ], LyraDocumentCompare.prototype, "view", void 0);
178
+ __decorate([
179
+ property({ attribute: false })
180
+ ], LyraDocumentCompare.prototype, "oldVersion", void 0);
181
+ __decorate([
182
+ property({ attribute: false })
183
+ ], LyraDocumentCompare.prototype, "newVersion", void 0);
184
+ __decorate([
185
+ property({ attribute: 'diff-layout', reflect: true })
186
+ ], LyraDocumentCompare.prototype, "diffLayout", void 0);
187
+ __decorate([
188
+ property({ type: Boolean })
189
+ ], LyraDocumentCompare.prototype, "copyable", void 0);
190
+ __decorate([
191
+ property()
192
+ ], LyraDocumentCompare.prototype, "language", void 0);
193
+ __decorate([
194
+ property({ attribute: false })
195
+ ], LyraDocumentCompare.prototype, "languages", void 0);
196
+ __decorate([
197
+ property({ type: Boolean, attribute: 'sync-scroll' })
198
+ ], LyraDocumentCompare.prototype, "syncScroll", void 0);
199
+ __decorate([
200
+ property({ attribute: false, hasChanged: () => true })
201
+ ], LyraDocumentCompare.prototype, "anchor", void 0);
202
+ __decorate([
203
+ query('[part="pane-old"]')
204
+ ], LyraDocumentCompare.prototype, "paneOldEl", void 0);
205
+ __decorate([
206
+ query('[part="pane-new"]')
207
+ ], LyraDocumentCompare.prototype, "paneNewEl", void 0);
208
+ __decorate([
209
+ query('[part="pane-old"] lr-document-preview')
210
+ ], LyraDocumentCompare.prototype, "previewOldEl", void 0);
211
+ __decorate([
212
+ query('[part="pane-new"] lr-document-preview')
213
+ ], LyraDocumentCompare.prototype, "previewNewEl", void 0);
214
+ //# sourceMappingURL=document-compare.class.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-compare.class.js","sourceRoot":"","sources":["../../../src/components/document-compare/document-compare.class.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export * from './document-compare.class.js';
2
+ //# sourceMappingURL=document-compare.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-compare.d.ts","sourceRoot":"","sources":["../../../src/components/document-compare/document-compare.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC"}
@@ -0,0 +1,5 @@
1
+ export * from './document-compare.class.js';
2
+ import { LyraDocumentCompare } from './document-compare.class.js';
3
+ import { defineElement } from '../../internal/prefix.js';
4
+ defineElement('document-compare', LyraDocumentCompare);
5
+ //# sourceMappingURL=document-compare.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-compare.js","sourceRoot":"","sources":["../../../src/components/document-compare/document-compare.ts"],"names":[],"mappings":"AAAA,cAAc,6BAA6B,CAAC;AAC5C,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,aAAa,CAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const styles: import("lit").CSSResult;
2
+ //# sourceMappingURL=document-compare.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-compare.styles.d.ts","sourceRoot":"","sources":["../../../src/components/document-compare/document-compare.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,MAAM,yBA8DlB,CAAC"}
@@ -0,0 +1,65 @@
1
+ import { css } from 'lit';
2
+ export const styles = css `
3
+ :host {
4
+ display: block;
5
+ container-type: inline-size;
6
+ --lr-document-compare-pane-max-height: var(--lr-size-24rem);
7
+ }
8
+
9
+ [part='base'] {
10
+ display: flex;
11
+ flex-direction: column;
12
+ gap: var(--lr-space-m);
13
+ color: var(--lr-color-text);
14
+ }
15
+
16
+ [part='diff'] {
17
+ display: block;
18
+ }
19
+
20
+ [part='panes'] {
21
+ display: flex;
22
+ gap: var(--lr-space-m);
23
+ align-items: stretch;
24
+ }
25
+
26
+ [part='pane-old'],
27
+ [part='pane-new'] {
28
+ flex: 1 1 0;
29
+ min-inline-size: 0;
30
+ display: flex;
31
+ flex-direction: column;
32
+ gap: var(--lr-space-xs);
33
+ border: var(--lr-border-width-thin) solid var(--lr-color-border);
34
+ border-radius: var(--lr-radius);
35
+ padding: var(--lr-space-m);
36
+ max-block-size: var(--lr-document-compare-pane-max-height);
37
+ overflow-y: auto;
38
+ }
39
+ [part='pane-old']:focus-visible,
40
+ [part='pane-new']:focus-visible {
41
+ outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);
42
+ outline-offset: calc(-1 * var(--lr-focus-ring-width));
43
+ }
44
+
45
+ [part='pane-header'] {
46
+ font-weight: var(--lr-font-weight-semibold);
47
+ font-size: var(--lr-font-size-xs);
48
+ color: var(--lr-color-text-quiet);
49
+ text-transform: uppercase;
50
+ letter-spacing: var(--lr-size-0-02em);
51
+ }
52
+
53
+ [part='pane-empty'] {
54
+ margin: 0;
55
+ color: var(--lr-color-text-quiet);
56
+ font-size: var(--lr-font-size-sm);
57
+ }
58
+
59
+ @container (max-inline-size: 639.98px) {
60
+ [part='panes'] {
61
+ flex-direction: column;
62
+ }
63
+ }
64
+ `;
65
+ //# sourceMappingURL=document-compare.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-compare.styles.js","sourceRoot":"","sources":["../../../src/components/document-compare/document-compare.styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAE1B,MAAM,CAAC,MAAM,MAAM,GAAG,GAAG,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8DxB,CAAC"}
@@ -0,0 +1,154 @@
1
+ import { type PropertyValues, type TemplateResult } from 'lit';
2
+ import { LyraElement } from '../../internal/lyra-element.js';
3
+ import type { DocumentRef } from '../../ai/types.js';
4
+ import '../table/table.js';
5
+ import '../checkbox/checkbox.js';
6
+ import '../chip/chip.js';
7
+ import '../chip/chip-group.js';
8
+ import '../file-icon/file-icon.js';
9
+ import '../input/input.js';
10
+ import '../combobox/combobox.js';
11
+ /** How recently a document's content was verified/updated, consumer-computed (this component
12
+ * performs no staleness calculation of its own -- it only renders whichever bucket the host
13
+ * already assigned). Ordered fresh -> aging -> stale for `freshness`-column sorting. */
14
+ export type LibraryDocumentFreshness = 'fresh' | 'aging' | 'stale';
15
+ /**
16
+ * One inventory row. Extends the shared `DocumentRef` (`src/ai/types.ts`) -- `id`/`name`/
17
+ * `mimeType`/`uri`/`version` assign directly onto/from it with no adapter -- with the
18
+ * version/tags/owner/freshness fields the roadmap's document-library surface needs that the
19
+ * provider-neutral `DocumentRef` deliberately doesn't carry (those concepts are specific to an
20
+ * inventory view, not to "a reference to a document" in general). `updatedAt` reuses
21
+ * `ChatMessage.timestamp`'s own `Date | string` shape from the same `src/ai/types.ts` module for
22
+ * consistency across this component family.
23
+ */
24
+ export interface LibraryDocument extends DocumentRef {
25
+ tags?: string[];
26
+ owner?: string;
27
+ /** Last-updated timestamp. `Date | string` (ISO-8601), matching `ChatMessage.timestamp`. */
28
+ updatedAt?: Date | string;
29
+ freshness?: LibraryDocumentFreshness;
30
+ }
31
+ /** Column keys `sortKey` accepts. Not every column is sortable (`type`/`tags`/`select` are not). */
32
+ export type LibraryDocumentSortKey = 'name' | 'version' | 'owner' | 'freshness' | 'updatedAt';
33
+ export interface DocumentLibraryFilterChangeDetail {
34
+ text: string;
35
+ tags: string[];
36
+ matchCount: number;
37
+ }
38
+ export interface DocumentLibrarySortDetail {
39
+ key: LibraryDocumentSortKey;
40
+ direction: 'ascending' | 'descending';
41
+ }
42
+ export interface DocumentLibrarySelectionChangeDetail {
43
+ ids: string[];
44
+ }
45
+ export interface DocumentLibraryOpenDetail {
46
+ id: string;
47
+ }
48
+ export interface LyraDocumentLibraryEventMap {
49
+ 'lr-filter-change': CustomEvent<DocumentLibraryFilterChangeDetail>;
50
+ 'lr-sort': CustomEvent<DocumentLibrarySortDetail>;
51
+ 'lr-selection-change': CustomEvent<DocumentLibrarySelectionChangeDetail>;
52
+ 'lr-open': CustomEvent<DocumentLibraryOpenDetail>;
53
+ }
54
+ /**
55
+ * `<lr-document-library>` — a searchable, filterable inventory of documents with versions, tags,
56
+ * owners, freshness, and bulk selection. A controlled data view: it performs no upload, sync, or
57
+ * mutation of its own, only presents `documents` and emits request/notification events, mirroring
58
+ * this package's other orchestration-level list surfaces (`<lr-thread-list>`'s
59
+ * `lr-thread-pin`/`-archive`/`-delete` convention).
60
+ *
61
+ * Composes `<lr-table>` (not `<lr-data-grid>`) for the inventory grid itself: `<lr-data-grid>`
62
+ * only supports a single `selectedKey` and stringifies every cell value (`String(value)`), so it
63
+ * cannot host the checkbox/chip/icon content bulk selection, tags, and per-row type icons need.
64
+ * `<lr-table>` supports arbitrary `cell()`/`headerCell()` content and `priority`-driven responsive
65
+ * column hiding, which this component relies on for its 320px-allocation behavior. Search
66
+ * (`<lr-input type="search">`) and the tag facet (`<lr-combobox multiple>`) are both self-managed
67
+ * (client-side filtering against `documents`, like `<lr-thread-list>`'s own `searchable` field) —
68
+ * override matching entirely via `filter`. Row selection uses `<lr-checkbox>` per cell rather than
69
+ * `<lr-table>`'s own built-in `selectionMode`, since that mode's click-anywhere-in-the-row toggle
70
+ * would conflict with the row's own name button opening the document; `<lr-table>`'s
71
+ * `selectedKeys` is still fed from `selectedIds` purely for its `aria-selected` row styling.
72
+ *
73
+ * @customElement lr-document-library
74
+ * @event lr-filter-change - The search text or tag facet changed. `detail: { text, tags, matchCount }`.
75
+ * @event lr-sort - A sortable column header was activated. `detail: { key, direction }`.
76
+ * @event lr-selection-change - The bulk selection changed (a row checkbox, the header
77
+ * select-all checkbox, or "Clear selection"). `detail: { ids }`.
78
+ * @event lr-open - A document was activated (its name, or Enter/Space/click elsewhere on its
79
+ * row). `detail: { id }`.
80
+ * @csspart base - The root region.
81
+ * @csspart toolbar - Wraps the search field and tag filter.
82
+ * @csspart search - The `<lr-input>` search field.
83
+ * @csspart tag-filter - The `<lr-combobox>` tag facet filter. Only rendered while at least one
84
+ * document declares a `tags` entry.
85
+ * @csspart selection-bar - The "N selected" / "Clear selection" bar. Only rendered while
86
+ * `selectedIds` is non-empty.
87
+ * @csspart selection-count - The selected-count text inside `selection-bar`.
88
+ * @csspart clear-selection - The "Clear selection" button inside `selection-bar`.
89
+ * @csspart table - The `<lr-table>` inventory grid.
90
+ * @csspart document-name - Each row's clickable document-name button.
91
+ * @csspart row - Exported from `<lr-table>`'s own `row` part.
92
+ * @csspart cell - Exported from `<lr-table>`'s own `cell` part.
93
+ * @csspart header-cell - Exported from `<lr-table>`'s own `header-cell` part.
94
+ */
95
+ export declare class LyraDocumentLibrary extends LyraElement<LyraDocumentLibraryEventMap> {
96
+ static styles: import("lit").CSSResultGroup[];
97
+ /** The full, unfiltered/unsorted inventory. */
98
+ documents: LibraryDocument[];
99
+ /** Bulk-selected document ids. Settable up front (pre-selection) and mutated internally by the
100
+ * row/select-all checkboxes and "Clear selection" — read it back, or listen for
101
+ * `lr-selection-change`, to persist the current selection. Automatically pruned of any id no
102
+ * longer present in `documents` (no event fires for that pruning -- only an actual selection
103
+ * interaction does, mirroring `<lr-chip-group>`'s identical silent-resync convention for its
104
+ * own `expanded` state). */
105
+ selectedIds: string[];
106
+ /** Currently-applied tag facet (`AND` semantics -- a document must carry every listed tag).
107
+ * Settable up front and mutated internally by the tag filter combobox. */
108
+ tagFilter: string[];
109
+ /** Overrides the default case-insensitive name/owner/tag substring match. Receives the already
110
+ * trimmed, lowercased search text, mirroring `<lr-thread-list>`'s identical `filter` contract. */
111
+ filter?: (document: LibraryDocument, query: string) => boolean;
112
+ sortKey: LibraryDocumentSortKey;
113
+ sortDirection: 'ascending' | 'descending';
114
+ loading: boolean;
115
+ /** Accessible name for the region and the inner grid. Defaults to the localized
116
+ * `documentLibraryLabel`. */
117
+ label: string;
118
+ private searchText;
119
+ protected willUpdate(changed: PropertyValues): void;
120
+ private normalizeDate;
121
+ private defaultFilter;
122
+ private matchesTagFilter;
123
+ private compareDocuments;
124
+ /** The current search+tag-facet-filtered, sorted view of `documents`. */
125
+ private get visibleDocuments();
126
+ /** Every distinct tag across `documents`, sorted for stable combobox ordering. Empty when no
127
+ * document declares any tag -- the tag-filter combobox itself is only rendered while this is
128
+ * non-empty. */
129
+ private get allTags();
130
+ private emitFilterChange;
131
+ private onSearchInput;
132
+ private onTagFilterChange;
133
+ private onSort;
134
+ private openDocument;
135
+ private setSelected;
136
+ private toggleSelection;
137
+ private toggleSelectAll;
138
+ private clearSelection;
139
+ private freshnessLabel;
140
+ private renderSelectAllCheckbox;
141
+ private renderRowCheckbox;
142
+ private renderNameCell;
143
+ private renderTagsCell;
144
+ private renderFreshnessCell;
145
+ private renderUpdatedCell;
146
+ private buildColumns;
147
+ render(): TemplateResult;
148
+ }
149
+ declare global {
150
+ interface HTMLElementTagNameMap {
151
+ 'lr-document-library': LyraDocumentLibrary;
152
+ }
153
+ }
154
+ //# sourceMappingURL=document-library.class.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"document-library.class.d.ts","sourceRoot":"","sources":["../../../src/components/document-library/document-library.class.ts"],"names":[],"mappings":"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"}