@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,100 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/utility.md — do not edit this file. -->
2
+
3
+ # `lr-tour`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/utility/tour/tour.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraTour`, also available unregistered from `@aceshooting/lyra-ui/components/utility/tour/tour.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-tour`
14
+
15
+ A spotlight-and-step guided walkthrough for first-run onboarding: each step anchors a popover to a
16
+ target element elsewhere in the page via the shared Floating UI positioner, over a dimmed
17
+ full-viewport backdrop with a cutout/ring around the current target, with Next/Previous/Skip
18
+ controls and a step-progress indicator. Controlled component — `steps` is never mutated; only
19
+ `activeIndex` and `open` are self-managed.
20
+
21
+ **Properties:**
22
+ - `open: boolean = false` (reflected) — no separate `show()`/`hide()`; set this or call
23
+ `start()`/`end()`
24
+ - `steps: TourStep[] = []` (attribute: false) — empty renders nothing
25
+ - `activeIndex: number = 0` (attribute `active-index`, reflected) — clamped to
26
+ `[0, steps.length - 1]`, including for a direct property/attribute write that bypasses
27
+ `goToStep()`
28
+ - `placement: Placement = 'bottom'` (reflected) — tour-level Floating UI default, overridable per
29
+ step; resolved through `rtlAwarePlacement()`
30
+ - `distance: number = 12` — px offset between target and popover. Tour-level only (no per-step
31
+ override); may be negative for overlap
32
+ - `spotlightPadding: number = 4` (attribute `spotlight-padding`) — extra px between the target's box
33
+ and the cutout/ring; overridable per step
34
+ - `lightDismiss: boolean = false` (attribute `light-dismiss`) — a deliberate inversion of
35
+ `lr-dialog`'s `noLightDismiss`: a backdrop click does **nothing** by default so a stray click
36
+ can't discard onboarding progress. Set it to make a backdrop click `end('skip')`
37
+ - `showProgress: boolean = true` (attribute `show-progress`) — renders the "Step X of Y" text + dots
38
+ - `aria-label` (a plain host attribute, not a public JS property) — names **every** step's popover,
39
+ overriding each step's own `heading` as the `aria-labelledby` source
40
+
41
+ **Exported types:** `TourStep { id: string; target: TourTarget; heading: string; content?: string;
42
+ placement?: Placement; spotlightPadding?: number; interactiveTarget?: boolean; hidePrevious?: boolean }`;
43
+ `TourTarget = string | HTMLElement | (() => HTMLElement | null)` — a string resolves via
44
+ `ownerDocument.querySelector` (top-level light DOM only), and every form is re-resolved on each step
45
+ activation, never cached, so a target mounted later still resolves. `heading` is required and
46
+ becomes the panel's accessible name; `content` renders as plain text (no HTML/markdown parsing).
47
+ `TourEndReason = 'completed' | 'skip' | 'escape' | 'api' | 'unmount' | (string & {})`.
48
+
49
+ **Methods:** `start(index = 0)` (clamps, opens, emits `lr-tour-start`), `next()` (on the last step
50
+ ends with `'completed'` instead), `back()` (no-op on the first step), `goToStep(index)` (clamped),
51
+ `skip()` (sugar for `end('skip')`), `end(reason: TourEndReason = 'api')`.
52
+
53
+ **Events:** `lr-tour-start` (`detail: { index }`, not cancelable); `lr-tour-step-change`
54
+ (`detail: { index, previousIndex, step, via: 'next'|'back'|'goto' }`, **cancelable** — fires before
55
+ `activeIndex` changes, so `preventDefault()` gates advancement on a real action; a deliberate
56
+ departure from `lr-carousel`'s non-cancelable `lr-slide-change`); `lr-tour-end`
57
+ (`detail: TourEndReason`, cancelable except in practice for `'unmount'`, which is emitted when the
58
+ element is removed while still open by something other than its own `end()`);
59
+ `lr-tour-target-missing` (`detail: { index, step }`, informational — the tour does **not** auto-end,
60
+ it renders that step viewport-centered with no spotlight).
61
+
62
+ **Slots:** default — rich content replacing the active step's plain-text `content`. Not scoped per
63
+ step: a consumer needing different rich content per step swaps the slotted children itself (e.g. on
64
+ `lr-tour-step-change`).
65
+
66
+ **CSS parts:** `backdrop` (the full-viewport `<svg>` scrim with the cutout, `aria-hidden`),
67
+ `spotlight` (the decorative ring around the padded target rect, `pointer-events: none`),
68
+ `popover` (the step panel, `role="dialog" aria-modal="true"`, `data-unanchored` when the target
69
+ didn't resolve), `heading` (the `aria-labelledby` target), `body` (slot or `step.content`),
70
+ `progress` (wrapper), `progress-text` (the "Step X of Y" text — an `aria-describedby` target),
71
+ `progress-dot` (one decorative dot per step, `data-current` on the active one, `aria-hidden`),
72
+ `footer` (the control row), `previous-button`, `skip-button`, `next-button` (the Next control's
73
+ label switches to Done on the last step).
74
+
75
+ **Themeable custom properties:** `--lr-tour-backdrop-color` (default `--lr-color-overlay`),
76
+ `--lr-tour-spotlight-radius` (default `--lr-radius` — shared by the cutout and the ring),
77
+ `--lr-tour-spotlight-ring-color` (default `--lr-color-brand`), `--lr-tour-spotlight-ring-width`
78
+ (default `--lr-border-width-medium`), `--lr-tour-popover-max-width` (default `--lr-size-22rem`,
79
+ further capped by `92vw` and the positioner's available space).
80
+
81
+ **Known gotchas:**
82
+ - By default the spotlighted target is **non-interactive**: it stays visible and announceable (not
83
+ `inert`, not `aria-hidden`) but every pointer event over the viewport is captured by the backdrop.
84
+ Set `step.interactiveTarget` to clip the backdrop around the target so clicks fall through — that
85
+ restores pointer reachability only. The focus trap still confines Tab to the popover regardless,
86
+ so for a keyboard-reachable demonstrated interaction have the app's own listener call `next()`.
87
+ - Uses the overlay manager with `modal: false` deliberately: `modal: true` would mark the whole page
88
+ (including the target, which lives outside this element) `inert`. `role="dialog"` +
89
+ `aria-modal="true"` are still rendered on the panel so screen readers confine their virtual cursor.
90
+ - Each step transition mounts a genuinely new popover node (keyed on `step.id`) so focus reliably
91
+ re-enters the panel — don't cache a reference to `[part="popover"]` across steps.
92
+ - No `Home`/`End` shortcut and no click-to-jump progress dots (unlike `lr-stepper`): later steps may
93
+ depend on an earlier step's side effect having run. `goToStep()` is available for a caller that
94
+ knows better. ArrowRight/ArrowLeft do move between steps (swapped under RTL), except while focus
95
+ is in an `input`/`textarea`/`contenteditable` inside slotted content.
96
+ - A direct `HTMLElement` target is re-checked for `isConnected` on every activation and treated as
97
+ missing if it was remounted — prefer a selector string or resolver function for targets that can
98
+ be replaced mid-tour.
99
+ - The active step's target is `scrollIntoView({ block: 'center' })`'d on activation, smoothly unless
100
+ `prefers-reduced-motion: reduce`.
@@ -0,0 +1,35 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/agent-tools.md — do not edit this file. -->
2
+
3
+ # `lr-trace-tree`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/agent-tools/trace-tree/trace-tree.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraTraceTree`, also available unregistered from `@aceshooting/lyra-ui/components/agent-tools/trace-tree/trace-tree.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-trace-tree`
14
+
15
+ A collapsible span hierarchy for one agent/LLM trace (Langfuse/LangSmith run-tree style): kind icon,
16
+ name, status, an inline duration bar on the shared trace time scale, and optional tokens/cost
17
+ columns. Consumes the same `LyraSpan[]` as `<lr-span-waterfall>`.
18
+
19
+ **Properties:** `spans: LyraSpan[] = []` (attribute: false) — the same `LyraSpan` shape documented
20
+ under `lr-span-waterfall` above (exported from `trace-tree/span.ts`); hierarchy comes from
21
+ `parentId`, and a span whose `parentId` is missing or doesn't resolve within the same array renders
22
+ as a root rather than being dropped. `activeSpanId: string | null = null`
23
+ (attribute `active-span-id`), `label: string = ''`, `showTokens: boolean = false` (attribute
24
+ `show-tokens`) — surfaces `tokensIn`/`tokensOut`, `showCost: boolean = false` (attribute
25
+ `show-cost`) — surfaces `costText`, and `hideBars: boolean = false` (attribute `hide-bars`).
26
+
27
+ **Methods:** `expandAll()` and `collapseAll()` set every row's expanded state at once.
28
+
29
+ **Events:** `lr-span-select` (`detail: { id: string }`, a row was activated) and `lr-span-toggle`
30
+ (`detail: { id: string; expanded: boolean }`, a row was expanded or collapsed).
31
+
32
+ **CSS parts:** `base` (`role="tree"`), `header` (the column-header row, only when
33
+ `showTokens`/`showCost`), `row` (`role="treeitem"`), `toggle`, `icon`, `name`, `detail`, `status-text`,
34
+ `duration`, `tokens-in`, `tokens-out` (when `showTokens`), `cost` (when `showCost`), `bar-track`,
35
+ `bar`, `empty` (shown when `spans` is empty), and `live-region`.
@@ -0,0 +1,45 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/conversation.md — do not edit this file. -->
2
+
3
+ # `lr-transcript-feed`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/conversation/transcript-feed/transcript-feed.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraTranscriptFeed`, also available unregistered from `@aceshooting/lyra-ui/components/conversation/transcript-feed/transcript-feed.class.js`
7
+ - **Family** `components/conversation/` — 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-transcript-feed`
14
+
15
+ Live captions for an in-progress voice session: speaker-grouped entries, interim-vs-final styling
16
+ with in-place upgrades keyed by `id`, and a stick-to-bottom auto-scroll with release, the same
17
+ `follow`/`lr-follow-change` contract `<lr-terminal>` uses. Live captions only — recorded-media
18
+ transcript sync is a separate concern.
19
+
20
+ **Properties:** `entries: LyraTranscriptEntry[] = []` (attribute: false) — `LyraTranscriptEntry { id:
21
+ string; speaker?: string; text: string; interim?: boolean; timestamp?: number }` (exported by this
22
+ module; `timestamp` is epoch **milliseconds**). Reconciled keyed by `id` via Lit's `repeat()`: a
23
+ same-`id` entry with new `text` replaces in place, and a same-`id` entry whose `interim` flips from
24
+ `true` to unset/`false` moves from the interim area into the `role="log"` region and announces
25
+ exactly once. Interim entries render *after* the log container — visible, but structurally outside
26
+ it — so per-token mutations are never spoken by assistive tech. `follow: boolean = true`
27
+ (reflected), `showTimestamps: boolean = false` (attribute `show-timestamps`), `formatTimestamp?:
28
+ (epochMs: number) => string` (attribute: false), `maxRenderedEntries: number = 0` (attribute
29
+ `max-rendered-entries`) — `0` renders every entry; a positive value keeps only the newest N,
30
+ `label: string = ''` — accessible name for the `role="log"` region
31
+ (default: the localized `transcriptFeedLabel`), and `accessibleLabel: string | null = null`
32
+ (attribute `aria-label`) — overrides the log's computed accessible name, winning over `label` and
33
+ the localized default; attribute-reflects from a host-level `aria-label`.
34
+
35
+ **Methods:** `scrollToBottom()` re-engages `follow` and scrolls to the latest entry.
36
+
37
+ **Slots:** `empty` — custom empty state (default: the localized "No transcript yet").
38
+
39
+ **Events:** `lr-follow-change` — `detail: { following }`, fires on every `follow` transition.
40
+
41
+ **CSS parts:** `base` (the scroll container), `log` (the `role="log"` region wrapping final entries
42
+ only), `entry`, `speaker` (omitted for a row repeating the previous row's speaker), `text`
43
+ (`dir="auto"`), `timestamp` (only while `show-timestamps`), `interim` (present alongside `entry` on
44
+ an interim row), `interim-area` (the wrapper holding the interim row, present whether or not an
45
+ interim entry is showing), `jump-button` (shown only while `follow` is `false`), and `empty`.
@@ -0,0 +1,133 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
2
+
3
+ # `lr-tree-node`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/data/tree/tree-node.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraTreeNode`, also available unregistered from `@aceshooting/lyra-ui/components/data/tree/tree-node.class.js`
7
+ - **Family** `components/data/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Documented with** `lr-tree` (same section below)
10
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
11
+
12
+ ---
13
+
14
+ ## `lr-tree` / `lr-tree-node`
15
+
16
+ An expand/collapse hierarchy (document/graph navigation tree). `lr-tree` owns the data and
17
+ imperatively creates/reconciles light-DOM `<lr-tree-node>` children by `id`; `lr-tree-node`
18
+ recursively renders itself and its own nested children.
19
+
20
+ ### `lr-tree`
21
+
22
+ Implements the full WAI-ARIA treeitem keyboard pattern: a single roving `tabindex` (tracked as
23
+ `activeId`, pushed down to every `<lr-tree-node>` including nested ones) and
24
+ ArrowUp/Down/Right/Left/Home/End/Enter/Space handled by one delegated `keydown` listener (native
25
+ `KeyboardEvent`s are `composed: true` and bubble across shadow-DOM boundaries, so a press inside a
26
+ deeply-nested node's own shadow root still reaches it).
27
+
28
+ **Properties:**
29
+ - `data: TreeItem[] = []` (attribute: false) — `TreeItem { id: string; label: string; children?:
30
+ TreeItem[]; badge?: string | number; icon?: unknown; description?: string; accessibleLabel?:
31
+ string }`; `icon` renders as a decorative leading visual, `description` as secondary visible row
32
+ text, and `accessibleLabel` names the `role="treeitem"` host without changing its visible label
33
+ - `label: string = ''` — accessible name for the tree; `role="tree"` lives on an internal
34
+ `[part="base"]` element. The component forwards a host `aria-label` to that semantic element when
35
+ `label` is empty; `label` takes precedence when both are set. External `aria-labelledby` idrefs
36
+ are not forwarded across the shadow boundary.
37
+
38
+ **Keyboard:** ArrowDown/ArrowUp move the roving focus to the next/previous *visible* node.
39
+ ArrowRight expands a collapsed node (focus stays put; a second ArrowRight then steps into the first
40
+ child) or moves into an already-expanded node's first child. ArrowLeft collapses an expanded node, or
41
+ moves focus to its parent. Home/End jump to the first/last visible node. Enter/Space activate
42
+ `select()` on the focused node.
43
+
44
+ **Methods:** `expandAll()`, `collapseAll()` (both recursive, properly sequenced around Lit's render
45
+ cycle).
46
+
47
+ **Events:** none dispatched directly (see `lr-tree-node` below — they bubble up and are also
48
+ observed internally to keep the roving `activeId` in sync with clicks).
49
+
50
+ **Slots:** default (holds the `<lr-tree-node>` elements it manages).
51
+
52
+ **CSS parts:** `base`, `empty` (the empty-state message shown when `data` is empty)
53
+
54
+ **Themeable custom properties:** shared tokens `--lr-space-xs`/`-s`, `--lr-color-brand-quiet`,
55
+ `--lr-color-text-quiet`, `--lr-color-border`, `--lr-color-text`, `--lr-radius`,
56
+ `--lr-focus-ring-*` (row `:focus-visible` ring, driven by `:host(:focus-visible)` since the host
57
+ itself is the focusable `role="treeitem"`).
58
+
59
+ **Optional peer deps:** none.
60
+
61
+ ### `lr-tree-node`
62
+
63
+ Normally set internally by `lr-tree`, but a public element. `role="treeitem"` (plus
64
+ `aria-expanded`/`aria-level`/`aria-setsize`/`aria-posinset` and the roving `tabindex`, driven by
65
+ `<lr-tree>`) live on the *host* element itself, not an internal row `<div>` — so this node's own
66
+ nested children (rendered in its own shadow root as further `role="group"` content) are genuine DOM
67
+ descendants of the treeitem, matching the WAI-ARIA treeitem pattern's containment expectation.
68
+
69
+ **Properties:**
70
+ - `item: TreeItem` (required, attribute: false)
71
+ - `depth: number = 0`
72
+ - `expanded: boolean = false` (reflected)
73
+ - `activeId: string | null = null` (attribute: false) — the id of the tree's roving-tabindex-focused
74
+ item, pushed down from `<lr-tree>`; normally set internally, not by consumers
75
+ - `setSize: number = 1`, `posInSet: number = 1` (attribute: false) — this node's `aria-setsize`/
76
+ `aria-posinset` values among its siblings, pushed down from `<lr-tree>`; normally set internally,
77
+ not by consumers
78
+ - `hasChildren: boolean` (read-only getter) — reports whether `item.children` contains at least one
79
+ child; leaf nodes never expose `aria-expanded` and cannot expand or collapse
80
+
81
+ **Methods:** `expand()`, `collapse()` (each a no-op if already in that state, or a leaf), `select()`
82
+ (fires `lr-node-select`).
83
+
84
+ **Events:** `lr-node-toggle` (`detail: { id, expanded }`, fired by `expand()`/`collapse()` — via
85
+ the toggle button or ArrowRight/ArrowLeft), `lr-node-select` (`detail: { id }`, fired by `select()`
86
+ — via clicking anywhere in the row or Enter/Space) — dispatched from `lr-tree-node`,
87
+ bubble/compose up
88
+ through `lr-tree`'s light DOM.
89
+
90
+ **Slots:** none.
91
+
92
+ **CSS parts:** `row`, `toggle`, `icon`, `content`, `label`, `description`, `badge`, `group`. `icon` is
93
+ `aria-hidden="true"`; `content` groups the primary label and optional wrapping secondary
94
+ description while preserving one interactive treeitem per row.
95
+
96
+ **Themeable custom properties:** `--lr-tree-depth` (internal, set inline per row for
97
+ indentation), plus the shared tokens listed above.
98
+
99
+ **Optional peer deps:** none.
100
+
101
+ ```html
102
+ <lr-tree></lr-tree>
103
+ <script>
104
+ document.querySelector('lr-tree').data = [
105
+ {
106
+ id: '1',
107
+ label: 'Root',
108
+ description: 'Two child documents',
109
+ accessibleLabel: 'Root, two child documents',
110
+ icon: document.createTextNode('◇'),
111
+ children: [{ id: '1a', label: 'Child A' }, { id: '1b', label: 'Child B', badge: 3 }],
112
+ },
113
+ ];
114
+ </script>
115
+ ```
116
+
117
+ **Known gotchas:**
118
+ - all four previously-known ARIA gaps in this pair are fixed: the treeitem row is now genuinely
119
+ keyboard-operable with a roving tabindex and full arrow-key navigation (not just the expand/collapse
120
+ button); the expanded-children `role="group"` is now a real DOM descendant of its `role="treeitem"`
121
+ host rather than a shadow-DOM sibling; by-id reconciliation (preserving `expanded` state across
122
+ data reassignment) now applies at every depth via a keyed `repeat()`, not just depth 0; and
123
+ `role="tree"` now has an accessible name via the new `label` property.
124
+ - `lr-tree`'s `getUpdateComplete()` cascades into every currently-known descendant
125
+ `<lr-tree-node>`'s own `updateComplete` (see `update-cascade.ts`) so that code awaiting the
126
+ tree's `updateComplete` (e.g. after `focusNode()`) doesn't run before an arbitrarily-nested node has
127
+ actually finished rendering its pushed-down `activeId`/`tabIndex` — one more pending update per
128
+ depth level, otherwise.
129
+ - row enrichment is intentionally structured rather than an unrestricted renderer: use `icon`,
130
+ `label`, `description`, `badge`, and `accessibleLabel`. This keeps the host as the single
131
+ `role="treeitem"` interaction target and preserves the APG keyboard model.
132
+
133
+ ---
@@ -0,0 +1,133 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
2
+
3
+ # `lr-tree`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/data/tree/tree.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraTree`, also available unregistered from `@aceshooting/lyra-ui/components/data/tree/tree.class.js`
7
+ - **Family** `components/data/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Documented with** `lr-tree-node` (same section below)
10
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
11
+
12
+ ---
13
+
14
+ ## `lr-tree` / `lr-tree-node`
15
+
16
+ An expand/collapse hierarchy (document/graph navigation tree). `lr-tree` owns the data and
17
+ imperatively creates/reconciles light-DOM `<lr-tree-node>` children by `id`; `lr-tree-node`
18
+ recursively renders itself and its own nested children.
19
+
20
+ ### `lr-tree`
21
+
22
+ Implements the full WAI-ARIA treeitem keyboard pattern: a single roving `tabindex` (tracked as
23
+ `activeId`, pushed down to every `<lr-tree-node>` including nested ones) and
24
+ ArrowUp/Down/Right/Left/Home/End/Enter/Space handled by one delegated `keydown` listener (native
25
+ `KeyboardEvent`s are `composed: true` and bubble across shadow-DOM boundaries, so a press inside a
26
+ deeply-nested node's own shadow root still reaches it).
27
+
28
+ **Properties:**
29
+ - `data: TreeItem[] = []` (attribute: false) — `TreeItem { id: string; label: string; children?:
30
+ TreeItem[]; badge?: string | number; icon?: unknown; description?: string; accessibleLabel?:
31
+ string }`; `icon` renders as a decorative leading visual, `description` as secondary visible row
32
+ text, and `accessibleLabel` names the `role="treeitem"` host without changing its visible label
33
+ - `label: string = ''` — accessible name for the tree; `role="tree"` lives on an internal
34
+ `[part="base"]` element. The component forwards a host `aria-label` to that semantic element when
35
+ `label` is empty; `label` takes precedence when both are set. External `aria-labelledby` idrefs
36
+ are not forwarded across the shadow boundary.
37
+
38
+ **Keyboard:** ArrowDown/ArrowUp move the roving focus to the next/previous *visible* node.
39
+ ArrowRight expands a collapsed node (focus stays put; a second ArrowRight then steps into the first
40
+ child) or moves into an already-expanded node's first child. ArrowLeft collapses an expanded node, or
41
+ moves focus to its parent. Home/End jump to the first/last visible node. Enter/Space activate
42
+ `select()` on the focused node.
43
+
44
+ **Methods:** `expandAll()`, `collapseAll()` (both recursive, properly sequenced around Lit's render
45
+ cycle).
46
+
47
+ **Events:** none dispatched directly (see `lr-tree-node` below — they bubble up and are also
48
+ observed internally to keep the roving `activeId` in sync with clicks).
49
+
50
+ **Slots:** default (holds the `<lr-tree-node>` elements it manages).
51
+
52
+ **CSS parts:** `base`, `empty` (the empty-state message shown when `data` is empty)
53
+
54
+ **Themeable custom properties:** shared tokens `--lr-space-xs`/`-s`, `--lr-color-brand-quiet`,
55
+ `--lr-color-text-quiet`, `--lr-color-border`, `--lr-color-text`, `--lr-radius`,
56
+ `--lr-focus-ring-*` (row `:focus-visible` ring, driven by `:host(:focus-visible)` since the host
57
+ itself is the focusable `role="treeitem"`).
58
+
59
+ **Optional peer deps:** none.
60
+
61
+ ### `lr-tree-node`
62
+
63
+ Normally set internally by `lr-tree`, but a public element. `role="treeitem"` (plus
64
+ `aria-expanded`/`aria-level`/`aria-setsize`/`aria-posinset` and the roving `tabindex`, driven by
65
+ `<lr-tree>`) live on the *host* element itself, not an internal row `<div>` — so this node's own
66
+ nested children (rendered in its own shadow root as further `role="group"` content) are genuine DOM
67
+ descendants of the treeitem, matching the WAI-ARIA treeitem pattern's containment expectation.
68
+
69
+ **Properties:**
70
+ - `item: TreeItem` (required, attribute: false)
71
+ - `depth: number = 0`
72
+ - `expanded: boolean = false` (reflected)
73
+ - `activeId: string | null = null` (attribute: false) — the id of the tree's roving-tabindex-focused
74
+ item, pushed down from `<lr-tree>`; normally set internally, not by consumers
75
+ - `setSize: number = 1`, `posInSet: number = 1` (attribute: false) — this node's `aria-setsize`/
76
+ `aria-posinset` values among its siblings, pushed down from `<lr-tree>`; normally set internally,
77
+ not by consumers
78
+ - `hasChildren: boolean` (read-only getter) — reports whether `item.children` contains at least one
79
+ child; leaf nodes never expose `aria-expanded` and cannot expand or collapse
80
+
81
+ **Methods:** `expand()`, `collapse()` (each a no-op if already in that state, or a leaf), `select()`
82
+ (fires `lr-node-select`).
83
+
84
+ **Events:** `lr-node-toggle` (`detail: { id, expanded }`, fired by `expand()`/`collapse()` — via
85
+ the toggle button or ArrowRight/ArrowLeft), `lr-node-select` (`detail: { id }`, fired by `select()`
86
+ — via clicking anywhere in the row or Enter/Space) — dispatched from `lr-tree-node`,
87
+ bubble/compose up
88
+ through `lr-tree`'s light DOM.
89
+
90
+ **Slots:** none.
91
+
92
+ **CSS parts:** `row`, `toggle`, `icon`, `content`, `label`, `description`, `badge`, `group`. `icon` is
93
+ `aria-hidden="true"`; `content` groups the primary label and optional wrapping secondary
94
+ description while preserving one interactive treeitem per row.
95
+
96
+ **Themeable custom properties:** `--lr-tree-depth` (internal, set inline per row for
97
+ indentation), plus the shared tokens listed above.
98
+
99
+ **Optional peer deps:** none.
100
+
101
+ ```html
102
+ <lr-tree></lr-tree>
103
+ <script>
104
+ document.querySelector('lr-tree').data = [
105
+ {
106
+ id: '1',
107
+ label: 'Root',
108
+ description: 'Two child documents',
109
+ accessibleLabel: 'Root, two child documents',
110
+ icon: document.createTextNode('◇'),
111
+ children: [{ id: '1a', label: 'Child A' }, { id: '1b', label: 'Child B', badge: 3 }],
112
+ },
113
+ ];
114
+ </script>
115
+ ```
116
+
117
+ **Known gotchas:**
118
+ - all four previously-known ARIA gaps in this pair are fixed: the treeitem row is now genuinely
119
+ keyboard-operable with a roving tabindex and full arrow-key navigation (not just the expand/collapse
120
+ button); the expanded-children `role="group"` is now a real DOM descendant of its `role="treeitem"`
121
+ host rather than a shadow-DOM sibling; by-id reconciliation (preserving `expanded` state across
122
+ data reassignment) now applies at every depth via a keyed `repeat()`, not just depth 0; and
123
+ `role="tree"` now has an accessible name via the new `label` property.
124
+ - `lr-tree`'s `getUpdateComplete()` cascades into every currently-known descendant
125
+ `<lr-tree-node>`'s own `updateComplete` (see `update-cascade.ts`) so that code awaiting the
126
+ tree's `updateComplete` (e.g. after `focusNode()`) doesn't run before an arbitrarily-nested node has
127
+ actually finished rendering its pushed-down `activeId`/`tabIndex` — one more pending update per
128
+ depth level, otherwise.
129
+ - row enrichment is intentionally structured rather than an unrestricted renderer: use `icon`,
130
+ `label`, `description`, `badge`, and `accessibleLabel`. This keeps the host as the single
131
+ `role="treeitem"` interaction target and preserves the APG keyboard model.
132
+
133
+ ---
@@ -0,0 +1,80 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/conversation.md — do not edit this file. -->
2
+
3
+ # `lr-typing-indicator`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/conversation/typing-indicator/typing-indicator.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraTypingIndicator`, also available unregistered from `@aceshooting/lyra-ui/components/conversation/typing-indicator/typing-indicator.class.js`
7
+ - **Family** `components/conversation/` — 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-typing-indicator`
14
+
15
+ A purely presentational "assistant is responding" presence cue — no events, no interactivity. A
16
+ consumer mounts it while a response is being generated and removes (or hides) it once real content
17
+ arrives. Three visual variants share one component rather than three separate tags, since callers
18
+ pick between them along a single axis (how the surrounding surface wants the cue to read) and
19
+ nothing else about the component differs: `dots` (default, three dots with a staggered bounce — the
20
+ classic "typing…" affordance for a standalone status line), `pulse` (a single breathing dot, a
21
+ quieter cue for a tight space, e.g. next to an avatar), `cursor` (a blinking vertical bar, meant to
22
+ sit inline at the tail end of streamed text still being appended to).
23
+
24
+ **Properties:**
25
+ - `variant: TypingIndicatorVariant = 'dots'` (`'dots' | 'pulse' | 'cursor'`, reflected)
26
+ - `label: string = 'Thinking…'` — the accessible name, exposed via `role="status"`; not re-announced
27
+ on every animation frame, only on mount and on any later change to this property
28
+ - `size: TypingIndicatorSize = 'md'` (`'sm' | 'md'`, reflected) — compact sizing for dense layouts
29
+
30
+ **Events:** none — purely presentational.
31
+
32
+ **Slots:** none.
33
+
34
+ **CSS parts:** `base` (the decorative, `aria-hidden`, wrapper around the animated shape), `dot`
35
+ (each of the three dots in the `dots` variant), `pulse` (the single pulsing dot in the `pulse`
36
+ variant), `cursor` (the blinking bar in the `cursor` variant)
37
+
38
+ **Themeable custom properties:** `--lr-typing-dot-size` (default `0.5rem`, `0.375rem` at
39
+ `size="sm"`), `--lr-typing-gap` (default `0.25rem`, `0.1875rem` at `size="sm"`),
40
+ `--lr-typing-cursor-width` (default `0.125rem`, `0.09375rem` at `size="sm"`),
41
+ `--lr-typing-cursor-height` (default `1em`, unaffected by `size`),
42
+ `--lr-typing-dot-stagger-1` (default `600ms`, second dot), and
43
+ `--lr-typing-dot-stagger-2` (default `1200ms`, third dot). Every variant uses the shared
44
+ `--lr-transition-ambient` compound duration/timing token (default `1.8s ease-in-out`) as its
45
+ animation cycle.
46
+
47
+ **Optional peer deps:** none.
48
+
49
+ ```html
50
+ <lr-typing-indicator label="Assistant is responding…"></lr-typing-indicator>
51
+ <lr-typing-indicator variant="pulse" size="sm"></lr-typing-indicator>
52
+ <lr-typing-indicator variant="cursor"></lr-typing-indicator>
53
+ <lr-typing-indicator
54
+ style="--lr-transition-ambient: 900ms ease-in-out; --lr-typing-dot-stagger-1: 300ms; --lr-typing-dot-stagger-2: 600ms"
55
+ ></lr-typing-indicator>
56
+ ```
57
+
58
+ Accessibility: since this indicator typically mounts and unmounts around a real generation lifecycle
59
+ (appears when a response starts, disappears once one arrives) rather than emitting a stream of
60
+ updates of its own, it does **not** route through `<lr-live-region>`/the internal `Announcer` —
61
+ that machinery exists to coalesce many rapidly-changing announcements into one, and there is only
62
+ ever a single announcement here: the mount itself. `role="status"` plus an accessible name derived
63
+ from `label` is set both as `aria-label` on the host *and* as a visually-hidden text node
64
+ (`.sr-only`) in the shadow tree, so the name survives even if only one of the two is picked up by a
65
+ given assistive-tech/browser pairing. The animated shape itself is `aria-hidden="true"` — it's
66
+ decorative; `label` is the entire accessible content, nothing narrates individual animation frames.
67
+
68
+ **Known gotchas:**
69
+ - under `prefers-reduced-motion: reduce`, every variant collapses to its plain, fully-visible resting
70
+ state (`opacity: 1`, no transform, `animation: none !important`) rather than freezing on whatever
71
+ frame the animation happened to be on — notably relevant for `cursor`, which would otherwise risk
72
+ freezing on its invisible ("off") blink half.
73
+ - `--lr-transition-ambient` is a compound `duration timing-function` value and cannot be divided
74
+ with `calc()`. When retiming it, override both stagger properties alongside it to preserve the
75
+ default one-third/two-thirds dot phasing, as shown above.
76
+ - `size="sm"` shrinks the dot size, gap, and cursor width, but **not** `--lr-typing-cursor-height`
77
+ (still `1em` at any size) — the cursor bar's height is meant to track surrounding text size via
78
+ `1em`, not the component's own `size` property.
79
+
80
+ ---
@@ -0,0 +1,44 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/conversation.md — do not edit this file. -->
2
+
3
+ # `lr-usage-badge`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/conversation/usage-badge/usage-badge.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraUsageBadge`, also available unregistered from `@aceshooting/lyra-ui/components/conversation/usage-badge/usage-badge.class.js`
7
+ - **Family** `components/conversation/` — 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-usage-badge`
14
+
15
+ Compact, static resource strip for one message or run — tokens in/out, cost, latency — with a
16
+ hover/focus tooltip breakdown. Purely formatting: computes no counts, rates, or prices; every segment
17
+ is independently optional, and with nothing set, nothing renders at all (not even a focusable shell).
18
+ The tooltip reuses `lr-tool-call-chip`'s hover/focus/Escape/`aria-describedby` contract wholesale.
19
+ Not `lr-context-meter` (occupancy of a fixed capacity); not `lr-generation-status` (live, with a
20
+ Stop button) — this is static after the fact.
21
+
22
+ **Properties:** `tokensIn?: number` (attribute `tokens-in`) — input tokens, normalized to a
23
+ non-negative integer, locale-formatted; segment omitted while unset/non-finite. `tokensOut?: number`
24
+ (attribute `tokens-out`) — same rules. `costText: string = ''` (attribute `cost-text`) —
25
+ pre-formatted cost (e.g. `"$0.012"`), rendered verbatim. `latencyMs?: number` (attribute
26
+ `latency-ms`) — formatted with the shared duration algorithm (`820 -> "820ms"`, `1500 -> "1.5s"`), or
27
+ `formatLatency` when set. `formatLatency?: (ms: number) => string` — overrides the built-in duration
28
+ algorithm (which has no minutes/hours tier) in both the visible strip and the tooltip row; mirrors
29
+ `lr-activity-feed`'s `formatTimestamp` convention. `compact: boolean = false` — token counts render
30
+ via `Intl.NumberFormat` `notation: 'compact'`; the tooltip always shows full grouped figures.
31
+
32
+ **Slots:** default — extra rows appended below the built-in tooltip breakdown (e.g. cache-read
33
+ tokens); the visible strip itself is prop-driven only.
34
+
35
+ **CSS parts:** `base` (a focusable non-button `role="group"`, only rendered while at least one
36
+ segment or the default slot has content), `tokens-in`, `tokens-out`, `cost`, `latency`, `tooltip`.
37
+
38
+ ```html
39
+ <lr-chat-message role="assistant" status="sent">
40
+ <lr-usage-badge slot="badges" tokens-in="1204" tokens-out="386"
41
+ cost-text="$0.012" latency-ms="2350"></lr-usage-badge>
42
+ <lr-markdown .content=${answer}></lr-markdown>
43
+ </lr-chat-message>
44
+ ```