@aceshooting/lyra-ui 5.0.0 → 5.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 (636) hide show
  1. package/README.md +30 -12
  2. package/custom-elements.json +2150 -220
  3. package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +2 -0
  4. package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts.map +1 -1
  5. package/dist/components/agent-tools/activity-feed/activity-feed.class.js +2 -0
  6. package/dist/components/agent-tools/activity-feed/activity-feed.class.js.map +1 -1
  7. package/dist/components/agent-tools/agent-run/agent-run.class.d.ts +1 -0
  8. package/dist/components/agent-tools/agent-run/agent-run.class.d.ts.map +1 -1
  9. package/dist/components/agent-tools/agent-run/agent-run.class.js +1 -0
  10. package/dist/components/agent-tools/agent-run/agent-run.class.js.map +1 -1
  11. package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts +2 -0
  12. package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts.map +1 -1
  13. package/dist/components/agent-tools/compare-panel/compare-panel.class.js +2 -0
  14. package/dist/components/agent-tools/compare-panel/compare-panel.class.js.map +1 -1
  15. package/dist/components/agent-tools/stack-trace/stack-trace.class.d.ts +5 -0
  16. package/dist/components/agent-tools/stack-trace/stack-trace.class.d.ts.map +1 -1
  17. package/dist/components/agent-tools/stack-trace/stack-trace.class.js +5 -0
  18. package/dist/components/agent-tools/stack-trace/stack-trace.class.js.map +1 -1
  19. package/dist/components/agent-tools/terminal/terminal.class.d.ts +3 -0
  20. package/dist/components/agent-tools/terminal/terminal.class.d.ts.map +1 -1
  21. package/dist/components/agent-tools/terminal/terminal.class.js +3 -0
  22. package/dist/components/agent-tools/terminal/terminal.class.js.map +1 -1
  23. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts +2 -0
  24. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts.map +1 -1
  25. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js +2 -0
  26. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js.map +1 -1
  27. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts +2 -0
  28. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts.map +1 -1
  29. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +2 -0
  30. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js.map +1 -1
  31. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +3 -0
  32. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts.map +1 -1
  33. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +3 -0
  34. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js.map +1 -1
  35. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts +1 -0
  36. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts.map +1 -1
  37. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js +1 -0
  38. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js.map +1 -1
  39. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts +1 -0
  40. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts.map +1 -1
  41. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +1 -0
  42. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js.map +1 -1
  43. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts +2 -0
  44. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts.map +1 -1
  45. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +2 -0
  46. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js.map +1 -1
  47. package/dist/components/charts/chart/chart.class.d.ts +15 -0
  48. package/dist/components/charts/chart/chart.class.d.ts.map +1 -1
  49. package/dist/components/charts/chart/chart.class.js +15 -0
  50. package/dist/components/charts/chart/chart.class.js.map +1 -1
  51. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.d.ts +2 -0
  52. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.d.ts.map +1 -1
  53. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js +2 -0
  54. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js.map +1 -1
  55. package/dist/components/conversation/branch-picker/branch-picker.class.d.ts +2 -0
  56. package/dist/components/conversation/branch-picker/branch-picker.class.d.ts.map +1 -1
  57. package/dist/components/conversation/branch-picker/branch-picker.class.js +2 -0
  58. package/dist/components/conversation/branch-picker/branch-picker.class.js.map +1 -1
  59. package/dist/components/conversation/chat-message/chat-message.class.d.ts +5 -1
  60. package/dist/components/conversation/chat-message/chat-message.class.d.ts.map +1 -1
  61. package/dist/components/conversation/chat-message/chat-message.class.js +5 -1
  62. package/dist/components/conversation/chat-message/chat-message.class.js.map +1 -1
  63. package/dist/components/conversation/chat-message/chat-message.styles.d.ts.map +1 -1
  64. package/dist/components/conversation/chat-message/chat-message.styles.js +15 -2
  65. package/dist/components/conversation/chat-message/chat-message.styles.js.map +1 -1
  66. package/dist/components/conversation/code-block/code-block.class.d.ts +4 -0
  67. package/dist/components/conversation/code-block/code-block.class.d.ts.map +1 -1
  68. package/dist/components/conversation/code-block/code-block.class.js +4 -0
  69. package/dist/components/conversation/code-block/code-block.class.js.map +1 -1
  70. package/dist/components/conversation/conversation-item/conversation-item.class.d.ts +2 -0
  71. package/dist/components/conversation/conversation-item/conversation-item.class.d.ts.map +1 -1
  72. package/dist/components/conversation/conversation-item/conversation-item.class.js +2 -0
  73. package/dist/components/conversation/conversation-item/conversation-item.class.js.map +1 -1
  74. package/dist/components/conversation/markdown/markdown.class.d.ts +2 -0
  75. package/dist/components/conversation/markdown/markdown.class.d.ts.map +1 -1
  76. package/dist/components/conversation/markdown/markdown.class.js +2 -0
  77. package/dist/components/conversation/markdown/markdown.class.js.map +1 -1
  78. package/dist/components/conversation/push-to-talk/push-to-talk.class.d.ts +2 -0
  79. package/dist/components/conversation/push-to-talk/push-to-talk.class.d.ts.map +1 -1
  80. package/dist/components/conversation/push-to-talk/push-to-talk.class.js +2 -0
  81. package/dist/components/conversation/push-to-talk/push-to-talk.class.js.map +1 -1
  82. package/dist/components/conversation/stream-status/stream-status.class.d.ts +5 -0
  83. package/dist/components/conversation/stream-status/stream-status.class.d.ts.map +1 -1
  84. package/dist/components/conversation/stream-status/stream-status.class.js +5 -0
  85. package/dist/components/conversation/stream-status/stream-status.class.js.map +1 -1
  86. package/dist/components/conversation/streaming-text/streaming-text.class.d.ts +2 -0
  87. package/dist/components/conversation/streaming-text/streaming-text.class.d.ts.map +1 -1
  88. package/dist/components/conversation/streaming-text/streaming-text.class.js +2 -0
  89. package/dist/components/conversation/streaming-text/streaming-text.class.js.map +1 -1
  90. package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +1 -0
  91. package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts.map +1 -1
  92. package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -0
  93. package/dist/components/conversation/transcript-feed/transcript-feed.class.js.map +1 -1
  94. package/dist/components/data/calendar/calendar.class.d.ts +6 -0
  95. package/dist/components/data/calendar/calendar.class.d.ts.map +1 -1
  96. package/dist/components/data/calendar/calendar.class.js +6 -0
  97. package/dist/components/data/calendar/calendar.class.js.map +1 -1
  98. package/dist/components/data/context-meter/context-meter.class.d.ts +1 -0
  99. package/dist/components/data/context-meter/context-meter.class.d.ts.map +1 -1
  100. package/dist/components/data/context-meter/context-meter.class.js +1 -0
  101. package/dist/components/data/context-meter/context-meter.class.js.map +1 -1
  102. package/dist/components/data/data-grid/data-grid.class.d.ts +1 -0
  103. package/dist/components/data/data-grid/data-grid.class.d.ts.map +1 -1
  104. package/dist/components/data/data-grid/data-grid.class.js +1 -0
  105. package/dist/components/data/data-grid/data-grid.class.js.map +1 -1
  106. package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +3 -1
  107. package/dist/components/data/flow-canvas/flow-canvas.class.d.ts.map +1 -1
  108. package/dist/components/data/flow-canvas/flow-canvas.class.js +3 -1
  109. package/dist/components/data/flow-canvas/flow-canvas.class.js.map +1 -1
  110. package/dist/components/data/flow-minimap/flow-minimap.class.d.ts +2 -2
  111. package/dist/components/data/flow-minimap/flow-minimap.class.js +2 -2
  112. package/dist/components/data/flow-node/flow-node.class.d.ts +1 -1
  113. package/dist/components/data/flow-node/flow-node.class.js +1 -1
  114. package/dist/components/data/heatmap/heatmap.class.d.ts +51 -2
  115. package/dist/components/data/heatmap/heatmap.class.d.ts.map +1 -1
  116. package/dist/components/data/heatmap/heatmap.class.js +42 -6
  117. package/dist/components/data/heatmap/heatmap.class.js.map +1 -1
  118. package/dist/components/data/heatmap/heatmap.styles.d.ts.map +1 -1
  119. package/dist/components/data/heatmap/heatmap.styles.js +19 -0
  120. package/dist/components/data/heatmap/heatmap.styles.js.map +1 -1
  121. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +20 -0
  122. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts.map +1 -1
  123. package/dist/components/data/sequence-strip/sequence-strip.class.js +35 -0
  124. package/dist/components/data/sequence-strip/sequence-strip.class.js.map +1 -1
  125. package/dist/components/data/sequence-strip/sequence-strip.styles.d.ts.map +1 -1
  126. package/dist/components/data/sequence-strip/sequence-strip.styles.js +29 -0
  127. package/dist/components/data/sequence-strip/sequence-strip.styles.js.map +1 -1
  128. package/dist/components/data/table/table.class.d.ts +11 -0
  129. package/dist/components/data/table/table.class.d.ts.map +1 -1
  130. package/dist/components/data/table/table.class.js +11 -0
  131. package/dist/components/data/table/table.class.js.map +1 -1
  132. package/dist/components/data/timeline/timeline-item.class.d.ts +17 -0
  133. package/dist/components/data/timeline/timeline-item.class.d.ts.map +1 -1
  134. package/dist/components/data/timeline/timeline-item.class.js +17 -0
  135. package/dist/components/data/timeline/timeline-item.class.js.map +1 -1
  136. package/dist/components/data/timeline/timeline.styles.d.ts.map +1 -1
  137. package/dist/components/data/timeline/timeline.styles.js +6 -3
  138. package/dist/components/data/timeline/timeline.styles.js.map +1 -1
  139. package/dist/components/data/tree/tree-node.class.d.ts +3 -0
  140. package/dist/components/data/tree/tree-node.class.d.ts.map +1 -1
  141. package/dist/components/data/tree/tree-node.class.js +3 -0
  142. package/dist/components/data/tree/tree-node.class.js.map +1 -1
  143. package/dist/components/forms/button/button.class.d.ts +24 -0
  144. package/dist/components/forms/button/button.class.d.ts.map +1 -1
  145. package/dist/components/forms/button/button.class.js +24 -0
  146. package/dist/components/forms/button/button.class.js.map +1 -1
  147. package/dist/components/forms/code-editor/code-editor.class.d.ts +28 -12
  148. package/dist/components/forms/code-editor/code-editor.class.d.ts.map +1 -1
  149. package/dist/components/forms/code-editor/code-editor.class.js +44 -14
  150. package/dist/components/forms/code-editor/code-editor.class.js.map +1 -1
  151. package/dist/components/forms/code-editor/code-editor.styles.d.ts.map +1 -1
  152. package/dist/components/forms/code-editor/code-editor.styles.js +4 -0
  153. package/dist/components/forms/code-editor/code-editor.styles.js.map +1 -1
  154. package/dist/components/forms/combobox/combobox.class.d.ts +10 -0
  155. package/dist/components/forms/combobox/combobox.class.d.ts.map +1 -1
  156. package/dist/components/forms/combobox/combobox.class.js +16 -0
  157. package/dist/components/forms/combobox/combobox.class.js.map +1 -1
  158. package/dist/components/forms/combobox/option.class.d.ts +3 -3
  159. package/dist/components/forms/combobox/option.class.d.ts.map +1 -1
  160. package/dist/components/forms/combobox/option.class.js +9 -0
  161. package/dist/components/forms/combobox/option.class.js.map +1 -1
  162. package/dist/components/forms/date-picker/date-input.class.d.ts +3 -0
  163. package/dist/components/forms/date-picker/date-input.class.d.ts.map +1 -1
  164. package/dist/components/forms/date-picker/date-input.class.js +3 -0
  165. package/dist/components/forms/date-picker/date-input.class.js.map +1 -1
  166. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +37 -2
  167. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts.map +1 -1
  168. package/dist/components/forms/emoji-picker/emoji-picker.class.js +113 -10
  169. package/dist/components/forms/emoji-picker/emoji-picker.class.js.map +1 -1
  170. package/dist/components/forms/emoji-picker/emoji-picker.styles.d.ts.map +1 -1
  171. package/dist/components/forms/emoji-picker/emoji-picker.styles.js +30 -0
  172. package/dist/components/forms/emoji-picker/emoji-picker.styles.js.map +1 -1
  173. package/dist/components/forms/icon-button/icon-button.class.d.ts +4 -0
  174. package/dist/components/forms/icon-button/icon-button.class.d.ts.map +1 -1
  175. package/dist/components/forms/icon-button/icon-button.class.js +4 -0
  176. package/dist/components/forms/icon-button/icon-button.class.js.map +1 -1
  177. package/dist/components/forms/input/input.class.d.ts +11 -3
  178. package/dist/components/forms/input/input.class.d.ts.map +1 -1
  179. package/dist/components/forms/input/input.class.js +3 -0
  180. package/dist/components/forms/input/input.class.js.map +1 -1
  181. package/dist/components/forms/input/time-input.class.d.ts +12 -0
  182. package/dist/components/forms/input/time-input.class.d.ts.map +1 -1
  183. package/dist/components/forms/input/time-input.class.js +27 -0
  184. package/dist/components/forms/input/time-input.class.js.map +1 -1
  185. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +7 -0
  186. package/dist/components/forms/rubric-form/rubric-form.class.d.ts.map +1 -1
  187. package/dist/components/forms/rubric-form/rubric-form.class.js +7 -0
  188. package/dist/components/forms/rubric-form/rubric-form.class.js.map +1 -1
  189. package/dist/components/forms/select/select.class.d.ts +8 -0
  190. package/dist/components/forms/select/select.class.d.ts.map +1 -1
  191. package/dist/components/forms/select/select.class.js +8 -0
  192. package/dist/components/forms/select/select.class.js.map +1 -1
  193. package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +1 -1
  194. package/dist/components/forms/swatch-picker/swatch-picker.class.js +1 -1
  195. package/dist/components/forms/switch/switch.class.d.ts +6 -0
  196. package/dist/components/forms/switch/switch.class.d.ts.map +1 -1
  197. package/dist/components/forms/switch/switch.class.js +6 -0
  198. package/dist/components/forms/switch/switch.class.js.map +1 -1
  199. package/dist/components/forms/token-input/token-input.class.d.ts +2 -0
  200. package/dist/components/forms/token-input/token-input.class.d.ts.map +1 -1
  201. package/dist/components/forms/token-input/token-input.class.js +2 -0
  202. package/dist/components/forms/token-input/token-input.class.js.map +1 -1
  203. package/dist/components/layout/app-rail/app-rail.class.d.ts +8 -0
  204. package/dist/components/layout/app-rail/app-rail.class.d.ts.map +1 -1
  205. package/dist/components/layout/app-rail/app-rail.class.js +8 -0
  206. package/dist/components/layout/app-rail/app-rail.class.js.map +1 -1
  207. package/dist/components/layout/button-group/button-group.class.d.ts +1 -1
  208. package/dist/components/layout/button-group/button-group.class.js +1 -1
  209. package/dist/components/layout/command-palette/command-palette.class.d.ts +12 -0
  210. package/dist/components/layout/command-palette/command-palette.class.d.ts.map +1 -1
  211. package/dist/components/layout/command-palette/command-palette.class.js +12 -0
  212. package/dist/components/layout/command-palette/command-palette.class.js.map +1 -1
  213. package/dist/components/layout/control-group/control-group.class.d.ts +1 -1
  214. package/dist/components/layout/control-group/control-group.class.js +1 -1
  215. package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts +7 -0
  216. package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts.map +1 -1
  217. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +7 -0
  218. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js.map +1 -1
  219. package/dist/components/layout/dock-panel/dock-panel.class.d.ts +3 -0
  220. package/dist/components/layout/dock-panel/dock-panel.class.d.ts.map +1 -1
  221. package/dist/components/layout/dock-panel/dock-panel.class.js +3 -0
  222. package/dist/components/layout/dock-panel/dock-panel.class.js.map +1 -1
  223. package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts +2 -0
  224. package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts.map +1 -1
  225. package/dist/components/layout/responsive-panel/responsive-panel.class.js +2 -0
  226. package/dist/components/layout/responsive-panel/responsive-panel.class.js.map +1 -1
  227. package/dist/components/layout/scroller/scroller.class.d.ts +2 -2
  228. package/dist/components/layout/scroller/scroller.class.js +2 -2
  229. package/dist/components/layout/segmented/segmented.class.d.ts +6 -0
  230. package/dist/components/layout/segmented/segmented.class.d.ts.map +1 -1
  231. package/dist/components/layout/segmented/segmented.class.js +6 -0
  232. package/dist/components/layout/segmented/segmented.class.js.map +1 -1
  233. package/dist/components/layout/split/split.class.d.ts +68 -15
  234. package/dist/components/layout/split/split.class.d.ts.map +1 -1
  235. package/dist/components/layout/split/split.class.js +80 -21
  236. package/dist/components/layout/split/split.class.js.map +1 -1
  237. package/dist/components/layout/stepper/stepper.class.d.ts +52 -11
  238. package/dist/components/layout/stepper/stepper.class.d.ts.map +1 -1
  239. package/dist/components/layout/stepper/stepper.class.js +69 -17
  240. package/dist/components/layout/stepper/stepper.class.js.map +1 -1
  241. package/dist/components/layout/virtual-list/virtual-list.class.d.ts +3 -0
  242. package/dist/components/layout/virtual-list/virtual-list.class.d.ts.map +1 -1
  243. package/dist/components/layout/virtual-list/virtual-list.class.js +3 -0
  244. package/dist/components/layout/virtual-list/virtual-list.class.js.map +1 -1
  245. package/dist/components/layout/widget/widget.class.d.ts +6 -0
  246. package/dist/components/layout/widget/widget.class.d.ts.map +1 -1
  247. package/dist/components/layout/widget/widget.class.js +6 -0
  248. package/dist/components/layout/widget/widget.class.js.map +1 -1
  249. package/dist/components/media/attachment-chip/attachment-chip.class.d.ts +13 -0
  250. package/dist/components/media/attachment-chip/attachment-chip.class.d.ts.map +1 -1
  251. package/dist/components/media/attachment-chip/attachment-chip.class.js +13 -0
  252. package/dist/components/media/attachment-chip/attachment-chip.class.js.map +1 -1
  253. package/dist/components/media/avatar/avatar.class.d.ts +6 -0
  254. package/dist/components/media/avatar/avatar.class.d.ts.map +1 -1
  255. package/dist/components/media/avatar/avatar.class.js +6 -0
  256. package/dist/components/media/avatar/avatar.class.js.map +1 -1
  257. package/dist/components/media/media-card/media-card.class.d.ts +2 -0
  258. package/dist/components/media/media-card/media-card.class.d.ts.map +1 -1
  259. package/dist/components/media/media-card/media-card.class.js +2 -0
  260. package/dist/components/media/media-card/media-card.class.js.map +1 -1
  261. package/dist/components/media/playback/playback.class.d.ts +2 -0
  262. package/dist/components/media/playback/playback.class.d.ts.map +1 -1
  263. package/dist/components/media/playback/playback.class.js +2 -0
  264. package/dist/components/media/playback/playback.class.js.map +1 -1
  265. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +3 -0
  266. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts.map +1 -1
  267. package/dist/components/media/zoomable-frame/zoomable-frame.class.js +3 -0
  268. package/dist/components/media/zoomable-frame/zoomable-frame.class.js.map +1 -1
  269. package/dist/components/overlays/badge/badge.class.d.ts +6 -0
  270. package/dist/components/overlays/badge/badge.class.d.ts.map +1 -1
  271. package/dist/components/overlays/badge/badge.class.js +6 -0
  272. package/dist/components/overlays/badge/badge.class.js.map +1 -1
  273. package/dist/components/overlays/callout/callout.class.d.ts +6 -0
  274. package/dist/components/overlays/callout/callout.class.d.ts.map +1 -1
  275. package/dist/components/overlays/callout/callout.class.js +6 -0
  276. package/dist/components/overlays/callout/callout.class.js.map +1 -1
  277. package/dist/components/overlays/chip/chip.class.d.ts +18 -0
  278. package/dist/components/overlays/chip/chip.class.d.ts.map +1 -1
  279. package/dist/components/overlays/chip/chip.class.js +18 -0
  280. package/dist/components/overlays/chip/chip.class.js.map +1 -1
  281. package/dist/components/overlays/dialog/dialog.class.d.ts +6 -0
  282. package/dist/components/overlays/dialog/dialog.class.d.ts.map +1 -1
  283. package/dist/components/overlays/dialog/dialog.class.js +6 -0
  284. package/dist/components/overlays/dialog/dialog.class.js.map +1 -1
  285. package/dist/components/overlays/drawer/drawer.class.d.ts +6 -0
  286. package/dist/components/overlays/drawer/drawer.class.d.ts.map +1 -1
  287. package/dist/components/overlays/drawer/drawer.class.js +6 -0
  288. package/dist/components/overlays/drawer/drawer.class.js.map +1 -1
  289. package/dist/components/overlays/progress/progress-ring.class.d.ts +1 -0
  290. package/dist/components/overlays/progress/progress-ring.class.d.ts.map +1 -1
  291. package/dist/components/overlays/progress/progress-ring.class.js +1 -0
  292. package/dist/components/overlays/progress/progress-ring.class.js.map +1 -1
  293. package/dist/components/overlays/skeleton/skeleton.class.d.ts +2 -0
  294. package/dist/components/overlays/skeleton/skeleton.class.d.ts.map +1 -1
  295. package/dist/components/overlays/skeleton/skeleton.class.js +2 -0
  296. package/dist/components/overlays/skeleton/skeleton.class.js.map +1 -1
  297. package/dist/components/overlays/spinner/spinner.class.d.ts +4 -0
  298. package/dist/components/overlays/spinner/spinner.class.d.ts.map +1 -1
  299. package/dist/components/overlays/spinner/spinner.class.js +4 -0
  300. package/dist/components/overlays/spinner/spinner.class.js.map +1 -1
  301. package/dist/components/overlays/toast/toast-item.class.d.ts +11 -0
  302. package/dist/components/overlays/toast/toast-item.class.d.ts.map +1 -1
  303. package/dist/components/overlays/toast/toast-item.class.js +11 -0
  304. package/dist/components/overlays/toast/toast-item.class.js.map +1 -1
  305. package/dist/components/overlays/toast/toast.class.d.ts +15 -0
  306. package/dist/components/overlays/toast/toast.class.d.ts.map +1 -1
  307. package/dist/components/overlays/toast/toast.class.js +15 -0
  308. package/dist/components/overlays/toast/toast.class.js.map +1 -1
  309. package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +8 -0
  310. package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts.map +1 -1
  311. package/dist/components/retrieval/citation-badge/citation-badge.class.js +8 -0
  312. package/dist/components/retrieval/citation-badge/citation-badge.class.js.map +1 -1
  313. package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +1 -0
  314. package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts.map +1 -1
  315. package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -0
  316. package/dist/components/retrieval/entity-chip/entity-chip.class.js.map +1 -1
  317. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +2 -0
  318. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts.map +1 -1
  319. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +2 -0
  320. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js.map +1 -1
  321. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.d.ts +1 -0
  322. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.d.ts.map +1 -1
  323. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +1 -0
  324. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js.map +1 -1
  325. package/dist/components/utility/diff-view/diff-view.class.d.ts +1 -0
  326. package/dist/components/utility/diff-view/diff-view.class.d.ts.map +1 -1
  327. package/dist/components/utility/diff-view/diff-view.class.js +1 -0
  328. package/dist/components/utility/diff-view/diff-view.class.js.map +1 -1
  329. package/dist/components/utility/icon/icon.class.d.ts +1 -0
  330. package/dist/components/utility/icon/icon.class.d.ts.map +1 -1
  331. package/dist/components/utility/icon/icon.class.js +1 -0
  332. package/dist/components/utility/icon/icon.class.js.map +1 -1
  333. package/dist/components/utility/json-viewer/json-viewer.class.d.ts +3 -0
  334. package/dist/components/utility/json-viewer/json-viewer.class.d.ts.map +1 -1
  335. package/dist/components/utility/json-viewer/json-viewer.class.js +3 -0
  336. package/dist/components/utility/json-viewer/json-viewer.class.js.map +1 -1
  337. package/dist/components/utility/known-date/known-date.class.d.ts +11 -0
  338. package/dist/components/utility/known-date/known-date.class.d.ts.map +1 -1
  339. package/dist/components/utility/known-date/known-date.class.js +11 -0
  340. package/dist/components/utility/known-date/known-date.class.js.map +1 -1
  341. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts +2 -0
  342. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts.map +1 -1
  343. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +2 -0
  344. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js.map +1 -1
  345. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +5 -0
  346. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts.map +1 -1
  347. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +5 -0
  348. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js.map +1 -1
  349. package/dist/components/viewers/document-compare/document-compare.class.d.ts +1 -1
  350. package/dist/components/viewers/document-compare/document-compare.class.js +1 -1
  351. package/dist/components/viewers/document-preview/document-preview.class.d.ts +3 -0
  352. package/dist/components/viewers/document-preview/document-preview.class.d.ts.map +1 -1
  353. package/dist/components/viewers/document-preview/document-preview.class.js +3 -0
  354. package/dist/components/viewers/document-preview/document-preview.class.js.map +1 -1
  355. package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +2 -0
  356. package/dist/components/viewers/email-viewer/email-viewer.class.d.ts.map +1 -1
  357. package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -0
  358. package/dist/components/viewers/email-viewer/email-viewer.class.js.map +1 -1
  359. package/dist/components/viewers/html-viewer/html-viewer.class.d.ts +2 -0
  360. package/dist/components/viewers/html-viewer/html-viewer.class.d.ts.map +1 -1
  361. package/dist/components/viewers/html-viewer/html-viewer.class.js +2 -0
  362. package/dist/components/viewers/html-viewer/html-viewer.class.js.map +1 -1
  363. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts.map +1 -1
  364. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +41 -9
  365. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js.map +1 -1
  366. package/dist/internal/css-length.d.ts +40 -0
  367. package/dist/internal/css-length.d.ts.map +1 -0
  368. package/dist/internal/css-length.js +72 -0
  369. package/dist/internal/css-length.js.map +1 -0
  370. package/dist/internal/orientation-breakpoint.d.ts +12 -0
  371. package/dist/internal/orientation-breakpoint.d.ts.map +1 -0
  372. package/dist/internal/orientation-breakpoint.js +127 -0
  373. package/dist/internal/orientation-breakpoint.js.map +1 -0
  374. package/dist/lyra.d.ts +2 -2
  375. package/dist/lyra.d.ts.map +1 -1
  376. package/dist/lyra.js.map +1 -1
  377. package/llms/components/lr-accordion-item.md +23 -0
  378. package/llms/components/lr-accordion.md +23 -0
  379. package/llms/components/lr-activity-feed.md +45 -0
  380. package/llms/components/lr-agent-run.md +66 -0
  381. package/llms/components/lr-agent-trace.md +42 -0
  382. package/llms/components/lr-agent-workspace.md +109 -0
  383. package/llms/components/lr-animated-image.md +66 -0
  384. package/llms/components/lr-animation.md +73 -0
  385. package/llms/components/lr-app-rail-item.md +218 -0
  386. package/llms/components/lr-app-rail.md +218 -0
  387. package/llms/components/lr-archive-viewer.md +36 -0
  388. package/llms/components/lr-artifact-panel.md +60 -0
  389. package/llms/components/lr-attachment-chip.md +131 -0
  390. package/llms/components/lr-attachment-trigger.md +90 -0
  391. package/llms/components/lr-audio-visualizer.md +43 -0
  392. package/llms/components/lr-av-player.md +50 -0
  393. package/llms/components/lr-avatar-group.md +69 -0
  394. package/llms/components/lr-avatar.md +69 -0
  395. package/llms/components/lr-badge.md +25 -0
  396. package/llms/components/lr-bar-chart.md +70 -0
  397. package/llms/components/lr-box-plot.md +67 -0
  398. package/llms/components/lr-branch-picker.md +32 -0
  399. package/llms/components/lr-breadcrumb-item.md +30 -0
  400. package/llms/components/lr-breadcrumb.md +30 -0
  401. package/llms/components/lr-browser-frame.md +51 -0
  402. package/llms/components/lr-bubble-chart.md +70 -0
  403. package/llms/components/lr-button-group.md +30 -0
  404. package/llms/components/lr-button.md +89 -0
  405. package/llms/components/lr-calendar-viewer.md +32 -0
  406. package/llms/components/lr-calendar.md +52 -0
  407. package/llms/components/lr-callout.md +37 -0
  408. package/llms/components/lr-card.md +67 -0
  409. package/llms/components/lr-carousel-item.md +29 -0
  410. package/llms/components/lr-carousel.md +43 -0
  411. package/llms/components/lr-chart.md +148 -0
  412. package/llms/components/lr-chat-composer.md +139 -0
  413. package/llms/components/lr-chat-message.md +145 -0
  414. package/llms/components/lr-chat-viewport.md +70 -0
  415. package/llms/components/lr-checkbox-group.md +21 -0
  416. package/llms/components/lr-checkbox.md +79 -0
  417. package/llms/components/lr-checkpoint.md +48 -0
  418. package/llms/components/lr-chip-group.md +152 -0
  419. package/llms/components/lr-chip.md +152 -0
  420. package/llms/components/lr-chunk-inspector.md +66 -0
  421. package/llms/components/lr-citation-badge.md +102 -0
  422. package/llms/components/lr-code-block-core.md +113 -0
  423. package/llms/components/lr-code-block.md +146 -0
  424. package/llms/components/lr-code-editor.md +72 -0
  425. package/llms/components/lr-color-picker.md +21 -0
  426. package/llms/components/lr-combobox.md +196 -0
  427. package/llms/components/lr-command-palette.md +50 -0
  428. package/llms/components/lr-commit-card.md +33 -0
  429. package/llms/components/lr-community-card.md +54 -0
  430. package/llms/components/lr-compare-panel.md +38 -0
  431. package/llms/components/lr-confirm-bar.md +48 -0
  432. package/llms/components/lr-contact-viewer.md +34 -0
  433. package/llms/components/lr-context-inspector.md +50 -0
  434. package/llms/components/lr-context-meter.md +92 -0
  435. package/llms/components/lr-control-group.md +46 -0
  436. package/llms/components/lr-conversation-item.md +118 -0
  437. package/llms/components/lr-copy-button.md +52 -0
  438. package/llms/components/lr-csv-viewer.md +49 -0
  439. package/llms/components/lr-dashboard-grid.md +34 -0
  440. package/llms/components/lr-data-grid.md +47 -0
  441. package/llms/components/lr-dataset-viewer.md +60 -0
  442. package/llms/components/lr-date-input.md +201 -0
  443. package/llms/components/lr-date-picker.md +201 -0
  444. package/llms/components/lr-details.md +23 -0
  445. package/llms/components/lr-dialog.md +185 -0
  446. package/llms/components/lr-diff-view.md +86 -0
  447. package/llms/components/lr-divider.md +28 -0
  448. package/llms/components/lr-dock-panel.md +110 -0
  449. package/llms/components/lr-document-compare.md +22 -0
  450. package/llms/components/lr-document-library.md +21 -0
  451. package/llms/components/lr-document-preview.md +179 -0
  452. package/llms/components/lr-document-viewer.md +84 -0
  453. package/llms/components/lr-docx-viewer.md +63 -0
  454. package/llms/components/lr-doughnut-chart.md +70 -0
  455. package/llms/components/lr-drawer.md +48 -0
  456. package/llms/components/lr-drilldown-panel.md +25 -0
  457. package/llms/components/lr-dropdown-item.md +171 -0
  458. package/llms/components/lr-dropdown.md +24 -0
  459. package/llms/components/lr-ebook-viewer.md +60 -0
  460. package/llms/components/lr-email-viewer.md +51 -0
  461. package/llms/components/lr-emoji-picker.md +71 -0
  462. package/llms/components/lr-empty.md +56 -0
  463. package/llms/components/lr-entity-card.md +64 -0
  464. package/llms/components/lr-entity-chip.md +50 -0
  465. package/llms/components/lr-entity-dossier.md +71 -0
  466. package/llms/components/lr-env-list.md +27 -0
  467. package/llms/components/lr-eval-dataset.md +45 -0
  468. package/llms/components/lr-eval-result.md +45 -0
  469. package/llms/components/lr-evaluation-run.md +50 -0
  470. package/llms/components/lr-export-button.md +104 -0
  471. package/llms/components/lr-file-icon.md +34 -0
  472. package/llms/components/lr-file-input.md +104 -0
  473. package/llms/components/lr-file-tree.md +29 -0
  474. package/llms/components/lr-filter-bar.md +20 -0
  475. package/llms/components/lr-flag.md +122 -0
  476. package/llms/components/lr-flow-canvas.md +112 -0
  477. package/llms/components/lr-flow-controls.md +47 -0
  478. package/llms/components/lr-flow-minimap.md +52 -0
  479. package/llms/components/lr-flow-node.md +56 -0
  480. package/llms/components/lr-flow-run-overlay.md +56 -0
  481. package/llms/components/lr-format-bytes.md +31 -0
  482. package/llms/components/lr-format-date.md +33 -0
  483. package/llms/components/lr-format-number.md +41 -0
  484. package/llms/components/lr-gauge.md +65 -0
  485. package/llms/components/lr-generation-status.md +105 -0
  486. package/llms/components/lr-geojson-view.md +43 -0
  487. package/llms/components/lr-graph-legend.md +64 -0
  488. package/llms/components/lr-graph-query-builder.md +27 -0
  489. package/llms/components/lr-graph.md +224 -0
  490. package/llms/components/lr-grounding-summary.md +57 -0
  491. package/llms/components/lr-handoff-divider.md +27 -0
  492. package/llms/components/lr-heatmap.md +232 -0
  493. package/llms/components/lr-highlight-layer.md +31 -0
  494. package/llms/components/lr-histogram.md +69 -0
  495. package/llms/components/lr-html-viewer.md +30 -0
  496. package/llms/components/lr-icon-button.md +39 -0
  497. package/llms/components/lr-icon.md +36 -0
  498. package/llms/components/lr-image-comparer.md +38 -0
  499. package/llms/components/lr-image-viewer.md +35 -0
  500. package/llms/components/lr-include.md +53 -0
  501. package/llms/components/lr-ingestion-queue.md +60 -0
  502. package/llms/components/lr-input.md +82 -0
  503. package/llms/components/lr-intersection-observer.md +25 -0
  504. package/llms/components/lr-json-viewer.md +98 -0
  505. package/llms/components/lr-kbd.md +74 -0
  506. package/llms/components/lr-knowledge-base.md +64 -0
  507. package/llms/components/lr-knowledge-graph-explorer.md +92 -0
  508. package/llms/components/lr-known-date.md +84 -0
  509. package/llms/components/lr-lightbox.md +79 -0
  510. package/llms/components/lr-line-chart.md +70 -0
  511. package/llms/components/lr-lite-chart.md +143 -0
  512. package/llms/components/lr-live-region.md +105 -0
  513. package/llms/components/lr-map.md +127 -0
  514. package/llms/components/lr-markdown-core.md +70 -0
  515. package/llms/components/lr-markdown.md +171 -0
  516. package/llms/components/lr-media-card.md +106 -0
  517. package/llms/components/lr-memory-panel.md +67 -0
  518. package/llms/components/lr-mention-popover.md +139 -0
  519. package/llms/components/lr-menu-item.md +171 -0
  520. package/llms/components/lr-menu.md +171 -0
  521. package/llms/components/lr-message-actions.md +48 -0
  522. package/llms/components/lr-message-feedback.md +37 -0
  523. package/llms/components/lr-mind-map.md +64 -0
  524. package/llms/components/lr-model-select.md +144 -0
  525. package/llms/components/lr-model-settings-panel.md +99 -0
  526. package/llms/components/lr-mutation-observer.md +27 -0
  527. package/llms/components/lr-neighbor-list.md +56 -0
  528. package/llms/components/lr-node-palette.md +67 -0
  529. package/llms/components/lr-notebook-viewer.md +65 -0
  530. package/llms/components/lr-number-input.md +44 -0
  531. package/llms/components/lr-option.md +196 -0
  532. package/llms/components/lr-page-rail.md +37 -0
  533. package/llms/components/lr-pagination.md +88 -0
  534. package/llms/components/lr-path-strip.md +55 -0
  535. package/llms/components/lr-pdf-viewer.md +78 -0
  536. package/llms/components/lr-phone-input.md +162 -0
  537. package/llms/components/lr-pie-chart.md +70 -0
  538. package/llms/components/lr-playback.md +74 -0
  539. package/llms/components/lr-polar-area-chart.md +70 -0
  540. package/llms/components/lr-policy-summary.md +33 -0
  541. package/llms/components/lr-poll-status.md +71 -0
  542. package/llms/components/lr-popover.md +31 -0
  543. package/llms/components/lr-pptx-viewer.md +35 -0
  544. package/llms/components/lr-progress-bar.md +22 -0
  545. package/llms/components/lr-progress-ring.md +26 -0
  546. package/llms/components/lr-provenance-panel.md +58 -0
  547. package/llms/components/lr-push-to-talk.md +50 -0
  548. package/llms/components/lr-qr-code.md +20 -0
  549. package/llms/components/lr-query-builder.md +21 -0
  550. package/llms/components/lr-radar-chart.md +70 -0
  551. package/llms/components/lr-radio-group.md +25 -0
  552. package/llms/components/lr-radio.md +31 -0
  553. package/llms/components/lr-random-content.md +62 -0
  554. package/llms/components/lr-rating.md +21 -0
  555. package/llms/components/lr-relative-time.md +31 -0
  556. package/llms/components/lr-resize-observer.md +25 -0
  557. package/llms/components/lr-responsive-panel.md +112 -0
  558. package/llms/components/lr-result-card.md +88 -0
  559. package/llms/components/lr-result-field.md +88 -0
  560. package/llms/components/lr-retrieval-results.md +84 -0
  561. package/llms/components/lr-retrieval-search.md +70 -0
  562. package/llms/components/lr-retrieval-trace.md +59 -0
  563. package/llms/components/lr-rubric-form.md +37 -0
  564. package/llms/components/lr-scatter-chart.md +70 -0
  565. package/llms/components/lr-scroller.md +47 -0
  566. package/llms/components/lr-segmented.md +74 -0
  567. package/llms/components/lr-select.md +113 -0
  568. package/llms/components/lr-sequence-strip.md +95 -0
  569. package/llms/components/lr-skeleton.md +53 -0
  570. package/llms/components/lr-slider.md +92 -0
  571. package/llms/components/lr-source-card.md +131 -0
  572. package/llms/components/lr-source-list.md +131 -0
  573. package/llms/components/lr-source-picker.md +63 -0
  574. package/llms/components/lr-span-waterfall.md +42 -0
  575. package/llms/components/lr-sparkline.md +60 -0
  576. package/llms/components/lr-spinner.md +32 -0
  577. package/llms/components/lr-split.md +191 -0
  578. package/llms/components/lr-spreadsheet-viewer.md +47 -0
  579. package/llms/components/lr-stack-trace.md +77 -0
  580. package/llms/components/lr-stat.md +89 -0
  581. package/llms/components/lr-stepper.md +118 -0
  582. package/llms/components/lr-stream-status.md +128 -0
  583. package/llms/components/lr-streaming-text.md +101 -0
  584. package/llms/components/lr-suggestion-chips.md +40 -0
  585. package/llms/components/lr-svg-viewer.md +47 -0
  586. package/llms/components/lr-swatch-picker.md +91 -0
  587. package/llms/components/lr-switch.md +82 -0
  588. package/llms/components/lr-table.md +201 -0
  589. package/llms/components/lr-tabs.md +80 -0
  590. package/llms/components/lr-tag.md +25 -0
  591. package/llms/components/lr-task-list.md +42 -0
  592. package/llms/components/lr-terminal.md +44 -0
  593. package/llms/components/lr-test-results.md +38 -0
  594. package/llms/components/lr-textarea.md +111 -0
  595. package/llms/components/lr-thinking-panel.md +93 -0
  596. package/llms/components/lr-thread-list.md +97 -0
  597. package/llms/components/lr-time-input.md +53 -0
  598. package/llms/components/lr-time-range.md +91 -0
  599. package/llms/components/lr-timeline-item.md +65 -0
  600. package/llms/components/lr-timeline.md +65 -0
  601. package/llms/components/lr-toast-item.md +123 -0
  602. package/llms/components/lr-toast.md +123 -0
  603. package/llms/components/lr-token-input.md +31 -0
  604. package/llms/components/lr-tool-approval-dialog.md +131 -0
  605. package/llms/components/lr-tool-call-chip.md +101 -0
  606. package/llms/components/lr-tool-param-form.md +148 -0
  607. package/llms/components/lr-tool-result-dialog.md +106 -0
  608. package/llms/components/lr-tool-result-view.md +162 -0
  609. package/llms/components/lr-tool-select-dialog.md +124 -0
  610. package/llms/components/lr-tool-timeline.md +56 -0
  611. package/llms/components/lr-tooltip.md +47 -0
  612. package/llms/components/lr-tour.md +100 -0
  613. package/llms/components/lr-trace-tree.md +35 -0
  614. package/llms/components/lr-transcript-feed.md +45 -0
  615. package/llms/components/lr-tree-node.md +133 -0
  616. package/llms/components/lr-tree.md +133 -0
  617. package/llms/components/lr-typing-indicator.md +80 -0
  618. package/llms/components/lr-usage-badge.md +44 -0
  619. package/llms/components/lr-virtual-list.md +145 -0
  620. package/llms/components/lr-voice-picker.md +78 -0
  621. package/llms/components/lr-widget-renderer.md +78 -0
  622. package/llms/components/lr-widget.md +104 -0
  623. package/llms/components/lr-word-cloud.md +112 -0
  624. package/llms/components/lr-xml-viewer.md +58 -0
  625. package/llms/components/lr-zoomable-frame.md +57 -0
  626. package/llms/index.md +301 -0
  627. package/llms/migration.md +86 -0
  628. package/llms/peers.md +41 -0
  629. package/llms/shared.md +321 -0
  630. package/llms/tokens.md +533 -0
  631. package/llms-full.txt +10731 -8563
  632. package/llms.txt +64 -121
  633. package/package.json +14 -2
  634. package/vscode-css-data.json +1424 -185
  635. package/vscode-html-data.json +128 -107
  636. package/web-types.json +853 -118
@@ -0,0 +1,64 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/retrieval.md — do not edit this file. -->
2
+
3
+ # `lr-entity-card`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/retrieval/entity-card/entity-card.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraEntityCard`, also available unregistered from `@aceshooting/lyra-ui/components/retrieval/entity-card/entity-card.class.js`
7
+ - **Family** `components/retrieval/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-entity-card`
14
+
15
+ A dossier card for one knowledge-graph entity: type badge, description, key/value property rows,
16
+ degree, community chip, plus a built-in "focus in graph" action. Never fetches or focuses a graph
17
+ itself — `lr-entity-activate` is a request a host routes into `lr-graph`'s own
18
+ `focusNode(id, options?)`.
19
+
20
+ **Properties:**
21
+ - `entity: LyraEntity | null = null` (attribute: false) — `LyraEntity { id: string; label: string;
22
+ type?: string; description?: string; properties?: Record<string, string | number>; degree?:
23
+ number; communityId?: string }`; field names deliberately mirror `lr-graph`'s `GraphNode`
24
+ additions, so a graph node adapts into a `LyraEntity` with no mapping table; `null` renders the
25
+ empty state
26
+ - `types: NodeTypeStyle[] = []` (attribute: false) — the same `lr-graph.nodeTypes`/
27
+ `lr-graph-legend.types` entry shape, resolving `entity.type` to a label/color/shape for the badge
28
+ - `communityLabel: string = ''` (attribute `community-label`) — override text for the community chip
29
+ - `showFocusButton: boolean = true` (attribute `show-focus-button`)
30
+
31
+ **Events:** `lr-entity-activate` (`detail: { id }`, the built-in focus button was activated).
32
+
33
+ **Slots:** default (extra body content below the property rows, e.g. a `lr-neighbor-list`),
34
+ `actions` (extra header actions alongside the built-in focus button).
35
+
36
+ **CSS parts:** `base`, `header`, `type-badge`, `title` (`role="heading" aria-level="3"` by default),
37
+ `description`, `properties`, `property` (one key/value row), `degree`, `community`, `actions`,
38
+ `focus-button`, `empty` (shown when `entity` is `null`).
39
+
40
+ **Themeable custom properties:** shared tokens only; a data-driven `entity.type` color is applied as
41
+ sanitized inline `--lr-badge-*` overrides on the type badge only (the one "type color is
42
+ data-driven by design" exception this library already grants graph nodes) — every other color comes
43
+ from tokens.
44
+
45
+ **Optional peer deps:** none.
46
+
47
+ ```html
48
+ <lr-entity-card id="card"></lr-entity-card>
49
+ <script>
50
+ document.getElementById('card').entity = {
51
+ id: 'e1', label: 'Ada Lovelace', type: 'person',
52
+ description: 'Mathematician', properties: { born: 1815 }, degree: 4,
53
+ };
54
+ document.getElementById('card').addEventListener('lr-entity-activate', (e) => graph.focusNode(e.detail.id));
55
+ </script>
56
+ ```
57
+
58
+ **Known gotchas:**
59
+ - The type badge's data-driven background uses an 8% (not this codebase's usual 16%) quiet-tint mix
60
+ against `--lr-color-surface` — the lower percentage is required to hold WCAG AA 4.5:1 text
61
+ contrast for arbitrary, unvetted type colors (even 10% isn't safe margin for every hue in the
62
+ palette).
63
+
64
+ ---
@@ -0,0 +1,50 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/retrieval.md — do not edit this file. -->
2
+
3
+ # `lr-entity-chip`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/retrieval/entity-chip/entity-chip.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraEntityChip`, also available unregistered from `@aceshooting/lyra-ui/components/retrieval/entity-chip/entity-chip.class.js`
7
+ - **Family** `components/retrieval/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-entity-chip`
14
+
15
+ An inline `@entity` mention for agent prose: flow content, keyboard-focusable, with a hover/focus
16
+ preview popover. The knowledge-graph sibling of `lr-citation-badge`, reusing its interaction
17
+ contract wholesale. Carries ids through events only — no entity data resolution, no navigation.
18
+
19
+ **Properties:**
20
+ - `entityId: string = ''` (attribute `entity-id`)
21
+ - `label: string = ''` — the chip's visible text
22
+ - `type: string = ''` (reflected) — lets a host theme per type from CSS, e.g.
23
+ `lr-entity-chip[type='person'] { --lr-entity-chip-color: ... }`
24
+ - `typeLabel?: string` (attribute `type-label`) — optional spoken/visible type qualifier
25
+
26
+ **Events:** `lr-entity-activate` (`detail: { id }`, click, or Enter while focused),
27
+ `lr-entity-open` (`detail: { id }`, dblclick, or Space while focused).
28
+
29
+ **Slots:** default — rich preview content (typically a compact `lr-entity-card`), shown in a
30
+ floating popover on hover/focus. No content means no popover and no hover affordance at all.
31
+
32
+ **CSS parts:** `base` (the clickable `<button>`), `label`, `popover`.
33
+
34
+ **Themeable custom properties:** `--lr-entity-chip-color` (default `var(--lr-color-brand)`,
35
+ text/accent color), `--lr-entity-chip-bg` (default `var(--lr-color-brand-quiet)`),
36
+ `--lr-entity-chip-border` (default `transparent`, the chip's `--lr-border-width-thin` outline).
37
+
38
+ **Optional peer deps:** none.
39
+
40
+ ```html
41
+ <p>…first described by <lr-entity-chip entity-id="e1" label="Ada Lovelace" type="person">
42
+ <lr-entity-card slot=""></lr-entity-card>
43
+ </lr-entity-chip>.</p>
44
+ ```
45
+
46
+ **Known gotchas:**
47
+ - Reuses `lr-citation-badge`'s exact "real preview content" detection (an assigned element with no
48
+ other `slot`, or non-whitespace text) to decide whether a popover exists at all.
49
+
50
+ ---
@@ -0,0 +1,71 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/retrieval.md — do not edit this file. -->
2
+
3
+ # `lr-entity-dossier`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/retrieval/entity-dossier/entity-dossier.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraEntityDossier`, also available unregistered from `@aceshooting/lyra-ui/components/retrieval/entity-dossier/entity-dossier.class.js`
7
+ - **Family** `components/retrieval/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-entity-dossier`
14
+
15
+ Entity detail surface: a persistent header (`lr-entity-card` + an optional confidence `lr-stat`)
16
+ above an `lr-tabs` strip for Relationships (`lr-neighbor-list`), Supporting chunks
17
+ (`lr-chunk-inspector`), and Provenance (`lr-provenance-panel`). Pure layout — never fetches, ranks,
18
+ or mutates graph/document state.
19
+
20
+ **Properties:**
21
+ - `entity: LyraEntity | null = null` (attribute: false) — `lr-entity-card`'s own `LyraEntity`;
22
+ `null` renders the shared `lr-empty` `noData` state in place of the whole dossier
23
+ - `confidence: LyraEntityDossierConfidence | null = null` (attribute: false) —
24
+ `LyraEntityDossierConfidence { label: string; value: string; unit?: string; variant?: StatVariant;
25
+ exactValue?: string; caption?: string; rows?: StatRow[] }` (exported by this module; `StatVariant`
26
+ and `StatRow` are `lr-stat`'s own types). All caller-supplied domain data, never routed through
27
+ `localize()`. `null` omits the stat entirely — no placeholder
28
+ - `neighbors: LyraNeighborRow[] = []` (attribute: false) — forwarded verbatim to
29
+ `lr-neighbor-list.rows` (`{ relation: string; direction: 'in' | 'out' | 'both'; node: LyraEntity }`)
30
+ - `chunks: LyraChunk[] = []` (attribute: false) — forwarded to `lr-chunk-inspector.chunks`; the
31
+ evidence for *this entity's own* summary/properties
32
+ - `provenance: LyraProvenance | null = null` (attribute: false) — forwarded to
33
+ `lr-provenance-panel.provenance`; deliberately a separate input from `chunks` (the broader
34
+ grounding chain, which may span other entities/relationships/communities). Pass the same array to
35
+ both when the two genuinely coincide
36
+ - `types: NodeTypeStyle[] = []` (attribute: false) — `{ id: string; label: string; color?: string;
37
+ shape?: 'circle' | 'square' | 'diamond' }`, the `lr-graph.nodeTypes` entry shape; forwarded to both
38
+ `lr-entity-card` and `lr-provenance-panel`
39
+ - `thresholds: { high: number; medium: number } = { high: 0.75, medium: 0.5 }` (attribute: false) —
40
+ forwarded to both `lr-chunk-inspector` and `lr-provenance-panel`
41
+ - `groupByRelation: boolean = false` (attribute `group-by-relation`) — forwarded to `lr-neighbor-list`
42
+ - `expandable: boolean = false` — forwarded to `lr-neighbor-list`
43
+ - `showFocusButton: boolean = true` (attribute `show-focus-button`) — forwarded to `lr-entity-card`
44
+ - `communityLabel: string = ''` (attribute `community-label`) — forwarded to `lr-entity-card`
45
+ - `accessibleLabel: string | null = null` (attribute `aria-label`) — accessible name for the internal
46
+ `lr-tabs` strip; unset renders the strip with no `aria-label`
47
+
48
+ **Events:** declares none of its own. Every composed child's event bubbles through unmodified
49
+ (`composed: true`): `lr-entity-activate` (`detail: { id }`), `lr-node-expand` (`detail: { id }`),
50
+ `lr-chunk-open` (`detail: { id, sourceId, anchor? }`), `lr-expand` (`detail: { id, expanded }`),
51
+ `lr-toggle` (`detail: { section, expanded }`), and `lr-tabs-change`
52
+ (`detail: { tabId: LyraEntityDossierTab }`, where `LyraEntityDossierTab = 'relationships' | 'chunks'
53
+ | 'provenance'` — also the `lr-tabs` slot/tab ids).
54
+
55
+ **Slots:** none.
56
+
57
+ **CSS parts:** `base` (root, or the empty state's wrapper), `empty` (shown when `entity` is `null`),
58
+ `header`, `entity-card`, `confidence` (only when `confidence` is set), `tabs`, `neighbor-list`,
59
+ `chunk-inspector`, `provenance-panel`.
60
+
61
+ **Themeable custom properties:** shared tokens only.
62
+
63
+ **Optional peer deps:** none.
64
+
65
+ **Known gotchas:**
66
+ - The active tab is internal `@state`, not a controlled property — `lr-tabs` already owns it, and a
67
+ stale public property re-bound on an unrelated re-render would fight the user's own click.
68
+ - Tab labels reuse each composed child's own `localize()` key (`neighborListLabel`,
69
+ `chunkInspectorLabel`, `provenancePanelLabel`), so a locale only translates each string once.
70
+
71
+ ---
@@ -0,0 +1,27 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
2
+
3
+ # `lr-env-list`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/data/env-list/env-list.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraEnvList`, also available unregistered from `@aceshooting/lyra-ui/components/data/env-list/env-list.class.js`
7
+ - **Family** `components/data/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-env-list`
14
+
15
+ A masked key/value list for environment variables and secrets, with per-row reveal and copy.
16
+ Masking is presentational, not a security boundary: the real value sits in a DOM property
17
+ regardless of mask state.
18
+
19
+ **Properties:** `entries: EnvEntry[] = []` (attribute: false), `revealable: boolean = true`
20
+ (reflected), `copyable: boolean = true` (reflected), and `label: string = ''`.
21
+
22
+ **Events:** `lr-reveal-change` (`detail: { name, revealed }`) and `lr-copy` (`detail: { text }`,
23
+ the real unmasked value).
24
+
25
+ **CSS parts:** `base` (the `<dl>` root), `name` (the `<dt>` text), `value-cell` (the `<dd>` wrapping
26
+ an entry's value text and buttons), `value` (carries `data-masked`), `reveal-button`, and
27
+ `copy-button`.
@@ -0,0 +1,45 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/agent-tools.md — do not edit this file. -->
2
+
3
+ # `lr-eval-dataset`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/agent-tools/eval-dataset/eval-dataset.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraEvalDataset`, also available unregistered from `@aceshooting/lyra-ui/components/agent-tools/eval-dataset/eval-dataset.class.js`
7
+ - **Family** `components/agent-tools/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-eval-dataset`
14
+
15
+ Filterable and taggable evaluation-example list with add, remove, import, and export affordances.
16
+
17
+ **Properties:**
18
+ - `examples: EvalExample[] = []` (attribute: false) — `EvalExample { id: string; input: string;
19
+ expectedOutput?: string; tags?: string[]; metadata?: Record<string, unknown> }` (exported here).
20
+ Deliberately its own small shape rather than reusing anything from `src/ai/types.ts` — none of that
21
+ module's interfaces models "one row of a labeled eval dataset". `input`/`expectedOutput` are plain
22
+ strings (not structured payloads) to match `lr-data-grid`'s stringifying cell rendering. Fully
23
+ controlled: add/remove/import/export are all *requests*; the host mutates and passes the array back
24
+ - `searchable: boolean = false` (reflected) — built-in free-text search over `input`,
25
+ `expectedOutput`, and `tags` (case-insensitive substring)
26
+ - `accept: string = ''` — forwarded to the internal `lr-file-input`'s `accept` (e.g. `'.json,.csv'`);
27
+ empty accepts any type
28
+ - `exportFormats: ExportFormatOption[] = ['csv', 'json']` (attribute: false) — forwarded to the
29
+ internal `lr-export-button`
30
+ - `disabled: boolean = false` (reflected) — disables every add/remove/import/export affordance, e.g.
31
+ while a host-side mutation is still in flight
32
+ - `label: string = ''` — accessible name for the grid region; defaults to the localized
33
+ `evalDatasetLabel`
34
+
35
+ **Events:** `lr-example-select` (`detail: { id: string | null }`), `lr-example-add-request`
36
+ (`detail: undefined`), `lr-example-remove-request` (`detail: { id: string }`), `lr-import-request`
37
+ (`detail: { files: File[] }`), `lr-export-request` (`detail: { format: string }`).
38
+
39
+ **CSS parts:** `base`, `toolbar`, `search`, `search-input`, `tag-filter`, `grid`,
40
+ `add-button`, `remove-button`, `import`, `export`.
41
+
42
+ **Known gotchas:**
43
+ - Shrinking `examples` out from under live UI state is handled: a `selectedId` that no longer matches
44
+ any row resets to `null`, and an active tag filter that no longer matches any row's `tags` is
45
+ dropped rather than silently matching zero rows forever.
@@ -0,0 +1,45 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/agent-tools.md — do not edit this file. -->
2
+
3
+ # `lr-eval-result`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/agent-tools/eval-result/eval-result.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraEvalResult`, also available unregistered from `@aceshooting/lyra-ui/components/agent-tools/eval-result/eval-result.class.js`
7
+ - **Family** `components/agent-tools/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-eval-result`
14
+
15
+ Rubric scoring and human-review surface for comparing the runs of one evaluation example.
16
+
17
+ Composes `lr-data-grid` (the comparison table), `lr-rubric-form` (the review surface), and
18
+ `lr-diff-view` (baseline↔selected output diff) rather than re-deriving any of their behavior.
19
+
20
+ **Properties:**
21
+ - `runs: EvalRunResult[] = []` (attribute: false) — `EvalRunResult { id: string; label: string;
22
+ model?: string; promptVersion?: string; output: string; scores?: RubricValue; review?: RubricValue }`
23
+ (exported here). One entry per model or prompt version being compared for a single evaluation
24
+ example. `scores`/`review` use the same `RubricValue` shape `lr-rubric-form` itself reads and
25
+ writes, so a `DataGridColumn`'s `value()` accessor and the rubric form's own `value` binding read a
26
+ run's fields with no conversion
27
+ - `columns: DataGridColumn<EvalRunResult>[] = []` (attribute: false) — plain pass-through to
28
+ `lr-data-grid.columns`, not re-derived here
29
+ - `rubricKeys: RubricKey[] = []` (attribute: false) — plain pass-through to `lr-rubric-form.keys`
30
+ - `selectedRunId: string = ''` (attribute `selected-run-id`) — the run open for review and the diff's
31
+ **new** side; falls back to `runs[0]?.id` when empty
32
+ - `baselineRunId: string = ''` (attribute `baseline-run-id`) — the run compared against and the
33
+ diff's **old** side; falls back to `runs[0]?.id` when empty
34
+ - `reviewSkippable: boolean = false` (attribute `review-skippable`) — shows a Skip control on the
35
+ review form (forwarded to `lr-rubric-form.skippable`)
36
+ - `disabled: boolean = false` (reflected) — disables the review form's controls only; the comparison
37
+ grid stays interactive (selecting a run to inspect is not a mutation)
38
+
39
+ **Events:** `lr-run-select` (`detail: { runId: string }`), `lr-review-input` (`detail: { runId:
40
+ string; value: RubricValue }`), `lr-review-validity-change` (`detail: { runId: string; valid:
41
+ boolean; errors: Record<string, string> }`), `lr-review-submit` (`detail: { runId: string; value:
42
+ RubricValue }`), `lr-review-skip` (`detail: { runId: string }`).
43
+
44
+ **CSS parts:** `base`, `empty`, `grid`, `diff`, `diff-view`,
45
+ `diff-labels`, `diff-label-old`, `diff-label-new`, `review`.
@@ -0,0 +1,50 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/agent-tools.md — do not edit this file. -->
2
+
3
+ # `lr-evaluation-run`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/agent-tools/evaluation-run/evaluation-run.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraEvaluationRun`, also available unregistered from `@aceshooting/lyra-ui/components/agent-tools/evaluation-run/evaluation-run.class.js`
7
+ - **Family** `components/agent-tools/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-evaluation-run`
14
+
15
+ Evaluation-batch progress view with overall progress and one disclosure per example. Inputs and
16
+ outputs may render as Markdown or code, with optional grounding and tool-trace sections.
17
+
18
+ **Properties:**
19
+ - `examples: EvaluationExampleResult[] = []` (attribute: false) — `EvaluationExampleResult { id:
20
+ string; label?: string; status: AgentStatus; input: string; inputFormat?: EvaluationContentFormat;
21
+ inputLanguage?: string; output: string; outputFormat?: EvaluationContentFormat; outputLanguage?:
22
+ string; grounding?: GroundingAssessment; citations?: Citation[]; toolTrace?: ToolTimelineEntry[] }`
23
+ (exported here). `status` reuses **`AgentStatus` from `@aceshooting/lyra-ui/ai`** (`{ kind:
24
+ AgentStatusKind; message? }`) — the same run-lifecycle vocabulary an agent step uses — rather than a
25
+ parallel pass/fail enum; rubric scoring is `lr-eval-result`'s job, not this one's.
26
+ `EvaluationContentFormat = 'markdown' | 'code'` — `'markdown'` (the default when unset) renders via
27
+ `lr-markdown`, `'code'` via `lr-code-block` consulting the matching `*Language` field for shiki.
28
+ `grounding`/`citations` (both from `@aceshooting/lyra-ui/ai`) compose directly into
29
+ `lr-grounding-summary`'s `assessment`/`citations`, and `toolTrace` directly into
30
+ `lr-tool-timeline.entries` — no adapters. `citations` is consulted only while `grounding` is also
31
+ set; an omitted `grounding` or empty `toolTrace` renders no such section for that example. `label`
32
+ falls back to a localized "Example {index}" (1-based, array order). Controlled and never mutated
33
+ - `total: number | null = null` — the batch's expected total example count. `null` derives it from
34
+ `examples.length`; set it explicitly while a batch is still streaming and the eventual total is
35
+ already known
36
+ - `label: string = ''` — header label and accessible-name source; falls back to a localized
37
+ "Evaluation run"
38
+
39
+ **Events:** `lr-example-toggle` (`detail: EvaluationExampleToggleDetail` = `{ id: string; expanded:
40
+ boolean }`), `lr-example-citation-select` (`detail: EvaluationCitationSelectDetail` = `{ exampleId:
41
+ string; citation: Citation }` — the nested `lr-grounding-summary`'s own `{ citation }` correlated
42
+ with the example it came from, so a host needn't walk the DOM), `lr-example-tool-approval-decide`
43
+ (`detail: EvaluationToolApprovalDetail` = `ToolTimelineApprovalDetail & { exampleId: string }` =
44
+ `{ invocationId: string; approved: boolean; args?: unknown; exampleId: string }`).
45
+
46
+ **CSS parts:** `base`, `header`,
47
+ `header-label`, `progress`, `summary`, `counts`, `count`, `examples`, `example`, `example-summary`,
48
+ `example-label`, `example-status`, `input-section`, `input`, `output-section`, `output`,
49
+ `grounding-section`, `grounding-summary`, `tool-trace-section`, `tool-trace`, `section-heading`,
50
+ `live-region`, `empty`.
@@ -0,0 +1,104 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/utility.md — do not edit this file. -->
2
+
3
+ # `lr-export-button`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/utility/export-button/export-button.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraExportButton`, also available unregistered from `@aceshooting/lyra-ui/components/utility/export-button/export-button.class.js`
7
+ - **Family** `components/utility/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-export-button`
14
+
15
+ CSV/JSON download button with extensible event-driven formats — either single-format (click exports
16
+ immediately) or multi-format (click opens a small menu).
17
+
18
+ **Properties:**
19
+ - `rows: Record<string, unknown>[] = []` (attribute: false)
20
+ - `columns: CsvColumn[] = []` (attribute: false) — `{ key, label }`; acts as a field allow-list **and**
21
+ CSV header-label source for **both** export formats when non-empty. Left empty, **both** CSV and
22
+ JSON fall back to the union of the rows' own keys (`key`/`label` both set to the key name) instead
23
+ of CSV degrading to a header-less/blank file while only JSON had a fallback — so an unconfigured
24
+ export still produces a proper header + data file in either format
25
+ - `filename: string = 'export'`
26
+ - `formats: ExportFormatOption[] = ['csv']` (attribute: false), where `ExportFormatOption` is the
27
+ built-in `ExportFormat = 'csv' | 'json'` or an `ExportFormatDescriptor = { id: string; label:
28
+ string; description?: string; extension?: string }`. Descriptor labels/descriptions are
29
+ consumer-supplied, already-localized copy. Custom ids are event-only; no custom encoder is bundled
30
+ - `disabled: boolean = false` (reflected) — also disables every `[part="menu-item"]` button, not just
31
+ the trigger
32
+ - `loading: boolean = false` (reflected) — controlled busy state for an async or server-generated
33
+ export; sets host/trigger `aria-busy` and disables the trigger and menu items. The component does
34
+ not toggle it automatically
35
+ - `label: string = 'Export'` — trigger button text; also feeds the format-choice menu's `aria-label`
36
+ as `` `${label} format` `` so assistive tech gets an accessible name for the menu
37
+ - `accessibleLabel: string = ''` (attribute `aria-label`) — overrides the trigger's accessible
38
+ name and feeds the localized format-menu name without changing the visible label
39
+ - `open: boolean = false` (reflected)
40
+
41
+ **Methods:** `focus(options?)` and `blur()` forward to the native trigger button.
42
+
43
+ **Events:** `lr-export` (`detail: { format: string }`, **cancelable** — call `preventDefault()` to
44
+ substitute your own server-generated download instead of the built-in client-side one),
45
+ `lr-export-complete` (`detail: { format: 'csv' | 'json' }`, fires only after a non-cancelled
46
+ built-in download completes), `lr-show`, `lr-hide` (format-menu visibility transitions)
47
+
48
+ **Slots:** none.
49
+
50
+ **CSS parts:** `trigger`, `menu`, `menu-item`, `format-label`, `format-description`
51
+
52
+ **Themeable custom properties:** shared tokens only.
53
+
54
+ **Optional peer deps:** none.
55
+
56
+ ```html
57
+ <lr-export-button id="exp" filename="report" label="Export"></lr-export-button>
58
+ <script type="module">
59
+ const exp = document.getElementById('exp');
60
+ exp.rows = [{ name: 'Alpha', value: 1 }];
61
+ exp.columns = [{ key: 'name', label: 'Name' }, { key: 'value', label: 'Value' }];
62
+ exp.formats = ['csv', 'json']; // shows a format-choice menu instead of exporting immediately
63
+ exp.addEventListener('lr-export', (e) => console.log('exporting', e.detail.format));
64
+
65
+ // Custom formats supply menu copy but remain application-handled.
66
+ exp.formats = [
67
+ 'csv',
68
+ { id: 'xlsx', label: 'Excel workbook', description: 'Preserves spreadsheet data types', extension: 'xlsx' },
69
+ ];
70
+ exp.addEventListener('lr-export', async (e) => {
71
+ if (e.detail.format !== 'xlsx') return;
72
+ e.preventDefault();
73
+ exp.loading = true;
74
+ try { await exportWorkbook(exp.rows); }
75
+ finally { exp.loading = false; }
76
+ });
77
+ </script>
78
+ ```
79
+
80
+ Package-level CSV utilities (used internally, also exported for standalone use — `import {
81
+ escapeCsvField, buildCsv, downloadBlob } from '@aceshooting/lyra-ui'`):
82
+ ```ts
83
+ escapeCsvField(value: unknown): string // quotes/escapes; neutralizes formula-injection (=,+,@,tab,CR) with a leading apostrophe — a bare leading '-' is deliberately left alone (OWASP guidance: it's not itself formula syntax, and guarding it would mangle ordinary negative numbers)
84
+ buildCsv(rows: Record<string, unknown>[], columns: CsvColumn[]): string // CRLF-joined, header row included
85
+ downloadBlob(content: string, filename: string, mime: string): void // triggers a browser download
86
+ ```
87
+
88
+ **Known gotchas:**
89
+ - CSV and JSON are the only built-in encoders. To offer XLSX/PDF/etc., pass an
90
+ `ExportFormatDescriptor` and handle its id from `lr-export`; custom formats never trigger a
91
+ download or `lr-export-complete` on their own. A descriptor's optional `extension` is metadata
92
+ for that handler, not automatic filename handling.
93
+ - CSV formula-injection guarding and the deferred (5s) `URL.revokeObjectURL` (works around Safari
94
+ cancelling in-flight downloads on immediate revoke) are genuine, safe-to-rely-on strengths.
95
+ - the multi-format menu (`role="menu"`) supports full arrow-key navigation — ArrowUp/ArrowDown move
96
+ between items (opening the menu and seeding the right one focused, if it was closed), Home/End
97
+ jump to the first/last item once open, Escape closes it and returns focus to the trigger button,
98
+ and a completed export also returns focus to the trigger — not just Escape/click-outside as
99
+ before.
100
+ - the positioned menu is constrained to the inline/block space reported by the positioner, wraps
101
+ long localized format labels/descriptions, scrolls when necessary, and disables its transition
102
+ under reduced motion.
103
+
104
+ ---
@@ -0,0 +1,34 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/media.md — do not edit this file. -->
2
+
3
+ # `lr-file-icon`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/media/file-icon/file-icon.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraFileIcon`, also available unregistered from `@aceshooting/lyra-ui/components/media/file-icon/file-icon.class.js`
7
+ - **Family** `components/media/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-file-icon`
14
+
15
+ Localized, tokenized file-format badge for surrounding upload rows, cards, selectors, and viewer
16
+ headers. The companion `getFileTypeMetadata(mimeType, fileName?)` utility covers common document,
17
+ spreadsheet, presentation, code, archive, image, audio, and video formats. An explicit known MIME
18
+ type wins; filename extension fallback is used only for an empty or `application/octet-stream`
19
+ MIME type. Unknown values return a generic file result.
20
+
21
+ **Properties:** `mimeType` (attribute `mime-type`), `name`, `size` (bytes; `0` renders no size),
22
+ `label`, `decorative`, and `variant: 'icon' | 'label'`.
23
+
24
+ **CSS parts:** `base`, `icon`, `label`, and `size`.
25
+
26
+ **Themeable custom properties:** `--lr-file-icon-size` (default `var(--lr-size-2rem)` — the
27
+ format badge's inline and block size).
28
+
29
+ **Exports:** `LyraFileTypeMetadata`, `LyraFileTypeIcon`, `LyraFileTypeCategory`,
30
+ `getFileTypeMetadata()`, and `registerFileTypeMetadata()` for application-specific mappings.
31
+
32
+ ```html
33
+ <lr-file-icon mime-type="application/pdf" variant="label"></lr-file-icon>
34
+ ```
@@ -0,0 +1,104 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/media.md — do not edit this file. -->
2
+
3
+ # `lr-file-input`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/media/file-input/file-input.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraFileInput`, also available unregistered from `@aceshooting/lyra-ui/components/media/file-input/file-input.class.js`
7
+ - **Family** `components/media/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-file-input`
14
+
15
+ A drag-drop + click-to-browse file dropzone. Emits raw `File[]` only — no client-side CSV/XLSX/etc.
16
+ parsing (that's left entirely to the host).
17
+
18
+ **Properties:**
19
+ - `multiple: boolean = false` (reflected)
20
+ - `disabled: boolean = false` (reflected)
21
+ - `accept: string = ''` — a native-`accept`-style string (`.csv,.xlsx`, `text/csv`, `image/*`, or any
22
+ comma-separated mix); now enforced on **both** the native picker dialog and the drag-drop path, see
23
+ gotchas
24
+ - `allowedMimeTypes: string[] = []` (attribute: false) — exact MIME-string allowlist
25
+ - `forbiddenMimeTypes: string[] = []` (attribute: false) — exact MIME-string denylist, checked
26
+ **before** (and takes precedence over) `allowedMimeTypes`
27
+ - `maxFileSize: number = 0` (attribute `max-file-size` — bytes; `0` disables the check)
28
+ - `directory: boolean = false` (reflected) — enables native directory selection where supported
29
+ - `paste: boolean = true` (reflected) — accepts files pasted into the dropzone
30
+ - `label: string = 'Drop files here or click to browse'`
31
+ - `accessibleLabel: string = ''` (attribute `aria-label`) — overrides `label` as the internal
32
+ dropzone/button accessible name without changing visible copy
33
+ - `acceptedMessage: string = '{count} file(s) added.'` (attribute `accepted-message`) — live-region
34
+ message after an accepted selection; `{count}` is replaced with the accepted count
35
+ - `rejectedMessage: string = '{count} file(s) rejected.'` (attribute `rejected-message`) — live-region
36
+ message after rejected files; `{count}` is replaced with the rejected count
37
+
38
+ **Methods:** `openPicker()` programmatically opens the native file dialog; `focus(options?)`
39
+ forwards to the interactive dropzone.
40
+
41
+ **Events:** `lr-files` (`detail: { files: File[], rejected: RejectedFile[] }`, fired on both drop
42
+ and manual file-picker selection) — `RejectedFile = { file: File; reason: 'type' | 'count' | 'size' | 'directory'
43
+ }`: `'type'` from `accept`/`allowedMimeTypes`/`forbiddenMimeTypes`, `'count'` when a single-file
44
+ input (`multiple` unset) receives more than one file (in which case *all* files are rejected, none
45
+ accepted), `'size'` from `maxFileSize`, or `'directory'` for a dropped folder. `focus`/`blur` fire
46
+ when the semantic dropzone (the actual keyboard-focusable element, not the hidden native `<input>`)
47
+ gains/loses focus.
48
+
49
+ **Slots:** default slot — custom dropzone content, overrides the `label` attribute text when
50
+ provided. The accessible name always comes from `label` regardless, so icon-only slot content still
51
+ announces correctly.
52
+
53
+ **CSS parts:** `base`, `input`, `status` (a visually-hidden `role="status" aria-live="polite"`
54
+ element carrying the drag accept/reject announcement)
55
+
56
+ **Themeable custom properties:** shared tokens only — `--lr-space-xs`, `--lr-space-l`,
57
+ `--lr-color-border`, `--lr-radius`, `--lr-color-surface`, `--lr-color-text-quiet`,
58
+ `--lr-color-success` (drag-accept state), `--lr-color-danger` (drag-reject state),
59
+ `--lr-focus-ring-width/-color/-offset` (`[part="base"]:focus-visible` outline),
60
+ `--lr-opacity-disabled` (`:host([disabled])` dimming).
61
+
62
+ **Optional peer deps:** none.
63
+
64
+ ```html
65
+ <lr-file-input multiple accept=".csv,.xlsx" allowed-mime-types='["text/csv"]'></lr-file-input>
66
+ <script>
67
+ document.querySelector('lr-file-input').addEventListener('lr-files', (e) => {
68
+ console.log('accepted:', e.detail.files, 'rejected:', e.detail.rejected); // rejected[i].reason
69
+ });
70
+ </script>
71
+ ```
72
+
73
+ Note: `allowedMimeTypes`/`forbiddenMimeTypes` are complex properties (`attribute: false`) — set
74
+ them via JS (`el.allowedMimeTypes = [...]`), not as a JSON string attribute; the snippet above is
75
+ illustrative of intent only.
76
+
77
+ `accept.ts` exports `matchesAccept(file, accept, assumeExtensionMatch?)` (internal — not
78
+ re-exported from the package root) — parses the same three `accept` forms the browser's native
79
+ picker accepts (extension, exact MIME, `type/*` wildcard) and reports whether a `File` matches. Used
80
+ both for the drop path's real rejection and for the dragenter preview, where a `DataTransferItem` (no
81
+ `.name`, only `.type`) can't evaluate an extension pattern yet — `assumeExtensionMatch: true` treats
82
+ that as a possible match during preview so the drag-over UI doesn't flash a false "reject" state for
83
+ an extension-only `accept` list.
84
+
85
+ **Known gotchas:**
86
+ - Paste-from-clipboard **is** supported and on by default: a `paste` event on the dropzone reads
87
+ `e.clipboardData.files` and routes it through the same accept/reject classification as a drop.
88
+ Set `paste="false"` (or `.paste = false`) to opt out. (The package README's "Known limitations"
89
+ entry claiming there is no paste support, and none for dragged folders, is stale — both work.)
90
+ - Dragged folders **are** detected via `webkitGetAsEntry()` and reported as
91
+ `rejected[].reason === 'directory'` (paired with a synthetic zero-byte `File` carrying the folder
92
+ name), not silently accepted as a phantom file.
93
+ - `maxFileSize` fails safe rather than open: `0` (the default) or `Infinity` mean "no limit", but a
94
+ `NaN`/negative value — an unparsable `max-file-size` attribute, or a config that hasn't loaded
95
+ yet — falls back to a 25 MB cap (exported as `DEFAULT_MAX_FILE_SIZE_BYTES`) instead of disabling
96
+ the check.
97
+ - `maxFileSize`/`accept` extension patterns can't be evaluated during the dragenter preview (no real
98
+ `File.size`/`.name` available yet from a `DataTransferItem`) — the live preview state (border/
99
+ background color, `status` announcement) is therefore only a best-effort hint; the authoritative
100
+ accept/reject decision (and `rejected[].reason`) is always the one made at actual drop time.
101
+ - the click/keyboard-to-browse path is correctly operable (`role="button"`, `tabindex` 0/-1 by
102
+ disabled, `aria-disabled`, Enter/Space handling).
103
+
104
+ ---
@@ -0,0 +1,29 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
2
+
3
+ # `lr-file-tree`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/data/file-tree/file-tree.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraFileTree`, also available unregistered from `@aceshooting/lyra-ui/components/data/file-tree/file-tree.class.js`
7
+ - **Family** `components/data/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-file-tree`
14
+
15
+ A file-explorer preset over `<lr-tree>` + `<lr-file-icon>`: path-keyed nodes with
16
+ git-status/diff-count badges, lazy directory loading, and select/open events.
17
+
18
+ **Properties:** `nodes: FileTreeNode[] = []` (attribute: false), `selectedPath: string | null = null`
19
+ (attribute `selected-path`), and `label: string = ''`.
20
+
21
+ **Methods:** `setChildren(path, children)` supplies a lazily-loaded directory's children.
22
+ `revealPath(path)` expands every ancestor directory and scrolls the target row into view, resolving
23
+ `true` once found. `expandAll()` and `collapseAll()` forward to the underlying `<lr-tree>`.
24
+
25
+ **Events:** `lr-file-select` (`detail: { path, node }`, a row was activated), `lr-file-open`
26
+ (`detail: { path, node }`, Enter/click on an already-selected file row), and `lr-load-children`
27
+ (`detail: { path }`, a lazy unloaded directory expanded).
28
+
29
+ **CSS parts:** `base` — the root wrapper.