@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,92 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
2
+
3
+ # `lr-context-meter`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/data/context-meter/context-meter.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraContextMeter`, also available unregistered from `@aceshooting/lyra-ui/components/data/context-meter/context-meter.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-context-meter`
14
+
15
+ A segmented occupancy meter (bar or ring) for showing how a fixed capacity — a model's context
16
+ window, a token budget, any consumable quota — is divided across labeled categories. First-party
17
+ invention (no Web Awesome equivalent). Pure data visualization: it renders `segments`/`total` exactly
18
+ as given and never computes token counts, costs, or any other domain-specific estimate itself — the
19
+ one exception is the plain arithmetic sum of segment values used to build the accessible "X of Y
20
+ used" summary.
21
+
22
+ **Properties:**
23
+ - `segments: ContextMeterSegment[] = []` (attribute: false, JS-only) — `{ label: string; value:
24
+ number; tone?: 'brand' | 'success' | 'warning' | 'danger' | 'neutral'; color?: string }[]`. `value` is an *absolute*
25
+ quantity measured against `total`, never a pre-computed percentage.
26
+ `color`, when supplied, is a sanitized arbitrary CSS color that takes precedence over `tone`.
27
+ - `total: number = 0` — the full capacity segments are measured against (e.g. a model's context
28
+ window size).
29
+ - `variant: 'ring' | 'bar' = 'bar'` (reflected)
30
+ - `label: string = ''` — overall accessible caption, e.g. `"128K context window"`. Also rendered
31
+ visually (`[part="label"]`) when set.
32
+
33
+ Accessible summaries, segment tooltips, and ring titles format quantities using `effectiveLocale`.
34
+ A host `aria-label` overrides the generated meter summary and is preserved across reactive updates.
35
+
36
+ **Events:** none.
37
+
38
+ **Slots:** none.
39
+
40
+ **CSS parts:** `base` (a `<div>` for `bar`, an `<svg>` for `ring`), `track` (the unfilled/empty
41
+ capacity), `segment` (one occupied segment — carries `data-tone` and, for custom colors,
42
+ `--lr-context-meter-segment-color`), `label`
43
+
44
+ **Themeable custom properties:** `--lr-context-meter-segment-color` is set per segment when its
45
+ `color` field is supplied; otherwise the component consumes shared tokens
46
+ `--lr-space-xs`, `--lr-color-text-quiet`, `--lr-font`, `--lr-radius`, `--lr-color-border`,
47
+ `--lr-color-surface` (the bar variant's inter-segment seam), `--lr-color-brand`,
48
+ `--lr-color-success`, `--lr-color-warning`, `--lr-color-danger`, `--lr-transition-base`.
49
+
50
+ **Optional peer deps:** none.
51
+
52
+ ```html
53
+ <lr-context-meter
54
+ label="128K context window"
55
+ total="128000"
56
+ .segments=${[
57
+ { label: 'System prompt', value: 2200, tone: 'neutral' },
58
+ { label: 'Conversation history', value: 61000, tone: 'brand' },
59
+ { label: 'Retrieved context', value: 30800, tone: 'warning' },
60
+ ]}
61
+ ></lr-context-meter>
62
+
63
+ <lr-context-meter variant="ring" total="128000" .segments=${segments}></lr-context-meter>
64
+ ```
65
+
66
+ `role="img"` and a computed `aria-label` are set imperatively on the *host* element itself in
67
+ `willUpdate` (mirroring `lr-gauge`'s "meter" role convention) — every internal node (`track`,
68
+ `segment`, the ring's `<svg>`, `label`) is `aria-hidden`, so a screen reader gets one meaningful
69
+ summary string instead of the raw markup. That summary's "used" figure is the sum of
70
+ `segments[].value`, clamped to `total` whenever `total > 0` so the announced text can never claim
71
+ more than 100% used (e.g. `segments` summing to `150000` against `total="128000"` still announces
72
+ `"128,000 of 128,000 used"`) — matching what the *visual* meter shows, since each segment's ratio is
73
+ independently clamped so the running cumulative fill across all segments can never exceed 100% of the
74
+ bar/ring either: an over-`total` `segments` array renders as a fully (not over-) filled meter, with
75
+ later segments truncated or squeezed to zero width/arc-length as the budget runs out. `total <= 0`
76
+ (or non-finite) renders zero segments — an empty track/ring — and the announced summary falls back to
77
+ just `"{used} used"` with no `"of {total}"` clause, regardless of what's in `segments`. Ring geometry
78
+ (a 40-radius circle, 12px stroke, centered at 50,50) intentionally matches `lr-gauge`'s own radial
79
+ numbers, so the two circular-meter components in the library share one visual scale.
80
+
81
+ **Known gotchas:**
82
+ - The ring variant's per-segment `<title>` and the bar variant's per-segment `title=` attribute are
83
+ native mouse-hover tooltips only — they sit inside `aria-hidden` markup, so screen readers never
84
+ read them; only the host's own `role="img"`/`aria-label` carries accessible information.
85
+ - `variant="ring"` fixes the host at `8em × 8em` (`:host([variant='ring'])`) — the bar variant's
86
+ `inline-size: 100%` does not apply in ring mode; resize it via `font-size` or an explicit
87
+ width/height override on the host instead.
88
+ - Segment order is significant for the ring's cumulative `stroke-dashoffset` — later entries in
89
+ `segments` render further around the circle (starting at 12 o'clock, going clockwise); there's no
90
+ independent sort/z-order control.
91
+
92
+ ---
@@ -0,0 +1,46 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
2
+
3
+ # `lr-control-group`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/layout/control-group/control-group.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraControlGroup`, also available unregistered from `@aceshooting/lyra-ui/components/layout/control-group/control-group.class.js`
7
+ - **Family** `components/layout/` — 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-control-group`
14
+
15
+ Responsive semantic grouping for mixed controls and actions. It keeps slotted children in a
16
+ wrapping inline-flex row, centers children with different intrinsic heights, and switches to a
17
+ full-width allocation in narrow containers. Use it for dashboard toolbars that combine segmented
18
+ controls, selects, buttons, and other interactive elements.
19
+
20
+ **Properties:**
21
+ - `label: string = ''` — accessible name for the internal `role="group"`; when empty, a host
22
+ `aria-label` is forwarded as a fallback.
23
+
24
+ **Events:** none.
25
+
26
+ **Slots:** default — controls, buttons, or other action content.
27
+
28
+ **CSS parts:** `base` — the internal `role="group"` wrapper.
29
+
30
+ **Themeable custom properties:** `--lr-control-group-gap` (default `var(--lr-space-xs)`) — gap
31
+ between grouped controls; shared spacing and layout tokens apply as well.
32
+
33
+ ```html
34
+ <lr-control-group label="Chart controls">
35
+ <lr-segmented></lr-segmented>
36
+ <lr-select></lr-select>
37
+ <lr-button>Export</lr-button>
38
+ </lr-control-group>
39
+ ```
40
+
41
+ **Known gotchas:**
42
+ - This is a layout and semantics primitive; it does not coordinate child values or emit a group
43
+ change event.
44
+ - Children wrap according to the group's own allocated inline size, not the viewport width.
45
+
46
+ ---
@@ -0,0 +1,118 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/conversation.md — do not edit this file. -->
2
+
3
+ # `lr-conversation-item`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/conversation/conversation-item/conversation-item.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraConversationItem`, also available unregistered from `@aceshooting/lyra-ui/components/conversation/conversation-item/conversation-item.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-conversation-item`
14
+
15
+ A selectable row representing one chat session in a history sidebar list. Usable standalone or as the
16
+ `renderItem()` payload of `<lr-virtual-list>`; has no dependency on that (or any) other component.
17
+ First-party invention (no Web Awesome equivalent).
18
+
19
+ **Properties:**
20
+ - `title: string = ''` — the session's display title. Falls back to "Untitled conversation" when empty
21
+ (display only — the property itself is never mutated by that fallback).
22
+ - `excerpt: string = ''` — a short preview snippet of the last message. Omit for no excerpt line.
23
+ Ignored entirely once the `excerpt` slot has assigned content.
24
+ - `timestamp?: Date | string` (attribute: false) — accepts a `Date` or anything `new Date()` can parse
25
+ (e.g. an ISO 8601 string); invalid input is treated as unset (no `<time>` rendered).
26
+ - `formatTimestamp?: (date: Date) => string` (attribute: false) — overrides the default absolute-time
27
+ rendering (clock time for same-day timestamps, otherwise a calendar date). Not a fuzzy "2 hours ago"
28
+ relative string — bucketed relative grouping is a list-level concern, not this row's job.
29
+ - `active: boolean = false` (reflected) — whether this is the currently-selected/open session; drives
30
+ the brand-quiet background treatment.
31
+ - `editable: boolean = true` (reflected) — whether inline-rename is available at all. When `false`, the
32
+ rename button never renders and the row can never enter its editing state; flipping it to `false`
33
+ while a rename is already in progress cancels that edit (discards the draft, like Escape) rather
34
+ than leaving it stranded and still committable.
35
+ - `spellcheck: boolean = true` — forwarded to the in-place rename `<input>`; `spellcheck="false"` is
36
+ parsed as false (not Lit's default boolean-attribute behavior)
37
+ - `autocapitalize: string = ''` — forwarded to the in-place rename `<input>`; empty omits the attribute
38
+ - `autoCorrect: string = ''` (attribute `autocorrect`) — forwarded to the in-place rename `<input>`
39
+ (Safari/WebKit-specific); empty omits the attribute. Named `autoCorrect` to avoid
40
+ `HTMLElement.autocorrect`'s incompatible DOM typing.
41
+
42
+ **Events:** `lr-select` (no detail payload — identify the row via the platform `id` attribute on the
43
+ event's `target`/`currentTarget`, the same convention `<lr-attachment-chip>` uses; fires on a click on
44
+ `[part="option"]` outside the rename button/`actions` slot, or Enter/Space while it's focused, only
45
+ while not currently renaming), `lr-rename` (`detail: { title: string }` — an in-place rename was
46
+ committed via Enter or blur-while-editing; does not mutate `title` itself, this is a controlled
47
+ component — not fired when the trimmed draft is empty or unchanged from the original `title`, treated
48
+ as an implicit cancel), `blur` (no detail — re-dispatched from the in-place rename `<input>`'s own
49
+ `blur`, bubbling and composed unlike the native event), `focus` (no detail — re-dispatched from the
50
+ in-place rename `<input>`'s own `focus`, for the same reason as `blur`)
51
+
52
+ **Slots:**
53
+ - `actions` — overflow/icon-button controls rendered at the trailing edge of the row (e.g. a
54
+ pin/delete control); only visually shown once it actually has assigned elements. The only slot that
55
+ may hold focusable content.
56
+ - `leading` — non-interactive leading content (avatar, purpose icon, status dot), rendered inside the
57
+ selectable region before the title/excerpt content.
58
+ - `content` — replaces the built-in title + excerpt + meta content area with host-supplied
59
+ non-interactive row content.
60
+ - `excerpt` — full override of the excerpt presentation (e.g. a search-hit snippet with `<mark>`);
61
+ wins over the `excerpt` property whenever it has assigned content.
62
+ - `meta` — small, non-focusable structured fields below the title/excerpt (a day label, cost, request
63
+ count); entirely app-supplied, this component computes none of it.
64
+
65
+ `leading`/`content`/`excerpt`/`meta` must all stay non-focusable — see the `role="button"` note below.
66
+
67
+ **CSS parts:** `base`, `option`, `content`, `title`, `title-input`, `rename-button`, `excerpt`,
68
+ `timestamp`, `actions`
69
+
70
+ **Themeable custom properties:** shared tokens only — `--lr-space-xs/-s/-m`, `--lr-radius`,
71
+ `--lr-transition-fast`, `--lr-color-text/-text-quiet/-brand/-brand-quiet/-surface`,
72
+ `--lr-focus-ring-width/-color/-offset`, `--lr-icon-button-size`.
73
+
74
+ **Optional peer deps:** none.
75
+
76
+ ```html
77
+ <lr-conversation-item
78
+ id="sess_123"
79
+ title="Q3 roadmap planning"
80
+ excerpt="Let's revisit the timeline for the launch…"
81
+ .timestamp=${session.updatedAt}
82
+ ?active=${session.id === currentSessionId}
83
+ @lr-select=${(e) => openSession(e.currentTarget.id)}
84
+ @lr-rename=${(e) => renameSession(e.currentTarget.id, e.detail.title)}
85
+ >
86
+ <button slot="actions" aria-label="Delete conversation">✕</button>
87
+ </lr-conversation-item>
88
+ ```
89
+
90
+ `role="button"` (not `"option"`) lives on `[part="option"]` — despite the part name — so the row has
91
+ valid semantics both standalone and inside a larger history-list layout: it activates one current
92
+ session rather than being a listbox option, so it requires no particular owner role. Selection is
93
+ conveyed via `aria-current="true"` while `active`, not `aria-selected`. Because `role="button"`
94
+ forbids focusable descendants (axe-core's `nested-interactive` rule), the rename button and the
95
+ `actions` slot are rendered as DOM *siblings* of `[part="option"]` inside `[part="base"]`, not nested
96
+ inside it — the same constraint the in-place rename `<input>` runs into one level deeper, which is
97
+ why `[part="option"]` sheds its `role`/`tabindex`/`aria-current`/`aria-label` entirely for the
98
+ duration of an edit rather than just visually swapping content (a row mid-edit *is* a text field).
99
+
100
+ **Known gotchas:**
101
+ - `lr-select` carries no detail payload at all — read the session id off the event's own `target`/
102
+ `currentTarget`, not a `detail` field.
103
+ - Renaming is a controlled interaction: committing `lr-rename` never updates `title` locally: the
104
+ consumer must apply the new title once it's actually persisted.
105
+ - An empty or unchanged (post-trim) rename draft is treated as an implicit cancel — no `lr-rename`
106
+ fires, and the row silently reverts to showing `title`.
107
+ - Rename is triggered only by the dedicated pencil-icon button, never a double-click on the title —
108
+ double-click has no keyboard/screen-reader equivalent and would also swallow the row's own
109
+ single-click `lr-select`.
110
+ - While renaming, `[part="option"]` has no `role`/`tabindex`/`aria-current`/`aria-label` at all — a
111
+ screen reader briefly stops announcing it as a button for the duration of the edit.
112
+ - The part is named `option` for historical reasons but carries `role="button"`; don't write CSS or
113
+ ARIA assumptions that expect a listbox option.
114
+ - Setting `editable = false` mid-rename silently discards the in-progress draft (no `lr-rename`
115
+ fires) — a consumer toggling `editable` off (e.g. in response to some other row entering rename
116
+ mode) should not expect the previous edit to be committed first.
117
+
118
+ ---
@@ -0,0 +1,52 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/utility.md — do not edit this file. -->
2
+
3
+ # `lr-copy-button`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/utility/copy-button/copy-button.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraCopyButton`, also available unregistered from `@aceshooting/lyra-ui/components/utility/copy-button/copy-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-copy-button`
14
+
15
+ A standalone icon-only copy-to-clipboard button for a plain text `value` — swaps its icon to a
16
+ checkmark for ~1.5s on activation. Takes no positioning opinion of its own; a consumer
17
+ wraps/positions the host element (e.g. absolutely positioned in the corner of a `wa-textarea` or a
18
+ read-only output field). Unlike `lr-code-block`'s or `lr-json-viewer`'s own built-in copy
19
+ buttons, this has no code/JSON content model to adopt just to reuse the copy affordance.
20
+
21
+ **Properties:**
22
+ - `value: string = ''` — the plain text to copy.
23
+ - `accessibleLabel: string | null = null` (attribute `aria-label`) — overrides the localized
24
+ Copy/Copied accessible name without changing the icon
25
+ - `disabled: boolean = false` (reflected)
26
+ - `feedbackDuration: number = 1500` (attribute `feedback-duration`) — milliseconds before the
27
+ copied checkmark returns to the copy icon; finite values are clamped at zero
28
+
29
+ **Methods:** `focus(options?)` and `blur()` forward to the native button.
30
+
31
+ **Events:** `lr-copy` (`detail: { text: string }`) — fires on activation, always with the current
32
+ `value`, regardless of whether the OS clipboard write actually succeeded (same convention as
33
+ `lr-code-block`'s/`lr-json-viewer`'s own copy buttons).
34
+
35
+ **Slots:** none.
36
+
37
+ **CSS parts:** `base` — the button itself.
38
+
39
+ **Themeable custom properties:** shared tokens only.
40
+
41
+ **Optional peer deps:** none.
42
+
43
+ ```html
44
+ <lr-copy-button value="npm install @aceshooting/lyra-ui"></lr-copy-button>
45
+ ```
46
+
47
+ **Known gotchas:**
48
+ - best-effort clipboard write: `navigator.clipboard` is absent in insecure contexts/older browsers,
49
+ and some engines throw synchronously rather than rejecting — either way `lr-copy` still fires
50
+ with the intended text so a consumer can always show its own confirmation/fallback UI.
51
+
52
+ ---
@@ -0,0 +1,49 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
2
+
3
+ # `lr-csv-viewer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/viewers/csv-viewer/csv-viewer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraCsvViewer`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/csv-viewer/csv-viewer.class.js`
7
+ - **Family** `components/viewers/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `papaparse` — see `llms/peers.md`
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-csv-viewer`
14
+
15
+ Fetches CSV text, parses quoted fields with the optional `papaparse` peer, and virtualizes body rows.
16
+
17
+ Adopts `DocumentAnchorTarget`: a `cell-range` anchor addresses the raw file grid, 1-based, with the
18
+ header row included whenever `has-header-row` is set; `scrollToAnchor()` scrolls the addressed
19
+ row/column into view via the virtualized list's `active-id`. `highlights` paint as a focusable
20
+ `part="cell-highlight"`.
21
+
22
+ **Properties:** `src` and `name` are strings. `hasHeaderRow: boolean = true` (attribute
23
+ `has-header-row`) controls whether the first parsed row is rendered as a sticky header.
24
+ `anchorKinds` is a readonly `['cell-range']` (this viewer's supported `LyraAnchor.kind` values for
25
+ the shared anchor-target contract).
26
+
27
+ **Methods:** `search(query)` resolves the match count via a case-insensitive substring match over
28
+ the same stringified cell values `cell()` renders, ordered row then column (empty/whitespace query
29
+ behaves like `clearSearch()`); `searchNext()`/`searchPrevious()` advance/step back through matches
30
+ (wrapping, resolving `false` when there are none); `clearSearch()` clears the query, matches, and
31
+ painted marks.
32
+
33
+ **Events:** `lr-render-error` with `detail.error` when fetching or parsing reports an error.
34
+ `lr-highlight-activate` (`detail: { id }`) — a `highlights` cell was clicked or activated via
35
+ Enter/Space. `lr-anchor-result` (`detail: { found }`) — fired after an `anchor` assignment or a
36
+ `scrollToAnchor()` call. `lr-search-change` (`detail: { query, matchCount, activeIndex }`) — from
37
+ `search()`/`searchNext()`/`searchPrevious()`/`clearSearch()`.
38
+
39
+ **CSS parts:** `base`, `sheet`, `header-row`, `data-row`, `cell`, `cell-highlight` (a cell covered by
40
+ a `highlights` entry), `rows`, `spinner`, and `error`.
41
+
42
+ **Optional peer dependency:** install `papaparse` with `pnpm add papaparse`. The registry matches
43
+ `text/csv` and `.csv` filenames.
44
+
45
+ Remote resources are capped at 25 MB, and the parsed table at 10,000 rows and 1,000 columns;
46
+ exceeding any of these surfaces the localized `documentPreviewResourceTooLarge` message instead of
47
+ the table.
48
+
49
+ ---
@@ -0,0 +1,34 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
2
+
3
+ # `lr-dashboard-grid`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/layout/dashboard-grid/dashboard-grid.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraDashboardGrid`, also available unregistered from `@aceshooting/lyra-ui/components/layout/dashboard-grid/dashboard-grid.class.js`
7
+ - **Family** `components/layout/` — 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-dashboard-grid`
14
+
15
+ Responsive, keyboard-accessible controlled widget grid. It positions layout entries and emits
16
+ move, resize, collision, and layout-change requests; the host owns persistence and applies updates.
17
+
18
+ **Properties:** `layout: DashboardCell[] = []` (attribute: false, never mutated by the component),
19
+ `columns: number = 12`, `rowHeight: number = 80` (px, also the row snap pitch), `gap: number = 8`
20
+ (px, both axes), `collision: 'reject' | 'push' | 'overlap' = 'reject'`, `cellsDraggable: boolean = false`
21
+ (attribute `cells-draggable` — pointer drag plus Ctrl/Cmd+Arrow), `cellsResizable: boolean = false`
22
+ (attribute `cells-resizable` — the resize handle plus Ctrl/Cmd+Shift+Arrow), `locked: boolean =
23
+ false` (reflected — disables every gesture grid-wide), `accessibleLabel: string | null = null`
24
+ (attribute `aria-label`, falls back to a localized grid name).
25
+
26
+ **Events:** `lr-cell-move` (`detail: { id, position, previous }`), `lr-cell-resize`
27
+ (`detail: { id, size, previous }`), `lr-collision` (`detail: { id, collidedWith, policy, accepted }`),
28
+ `lr-layout-change` (`detail: { layout }`, the full proposed layout after an accepted change).
29
+ **Slots:** `cell-{id}`. **CSS parts:** `base`, `cell`, `empty`, `resize-handle`, `live-region`.
30
+
31
+ **Themeable custom properties:** `--lr-dashboard-grid-columns`, `--lr-dashboard-grid-row-height`,
32
+ and `--lr-dashboard-grid-gap` back the CSS Grid's `grid-template-columns`/`grid-auto-rows`/`gap`.
33
+ The `columns`/`rowHeight`/`gap` properties write them inline on `[part='base']` on every render, so
34
+ overriding them from a stylesheet has no effect — set the properties instead.
@@ -0,0 +1,47 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
2
+
3
+ # `lr-data-grid`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/data/data-grid/data-grid.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraDataGrid`, also available unregistered from `@aceshooting/lyra-ui/components/data/data-grid/data-grid.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-data-grid`
14
+
15
+ Keyboard-navigable data grid with typed `columns` and `rows`, sortable headers, roving cell focus,
16
+ loading/empty states, and responsive horizontal overflow.
17
+
18
+ **Properties:**
19
+ - `columns: DataGridColumn<T>[] = []` (attribute: false) — `{ key, label, width?, sortable?,
20
+ value? }`; `width` becomes the header cell's `inline-size`, `value(row)` overrides the default
21
+ `row[key]` lookup
22
+ - `rows: T[] = []` (attribute: false)
23
+ - `rowKey: (row: T, index: number) => string | number = (_row, index) => index` (attribute: false)
24
+ - `selectedKey: string | number | null = null` (attribute: false) — compared against `rowKey(row, i)`
25
+ to set `[part='row'][data-selected]` and `aria-selected`
26
+ - `sortKey: string = ''`, `sortDirection: 'ascending' | 'descending' = 'ascending'`
27
+ (attribute: false) — the grid updates both on header activation and emits `lr-sort`, but never
28
+ reorders `rows`; sorting stays the consumer's job
29
+ - `loading: boolean = false` (reflected) — replaces the body with a localized "loading" row
30
+ - `emptyText: string = ''` (attribute `empty-text`) — empty-state text; falls back to the localized
31
+ `noData`
32
+ - `accessibleLabel: string = ''` (attribute `aria-label`) — names the `role="grid"` table; falls back
33
+ to the localized `dataGridLabel`
34
+
35
+ **Keyboard:** exactly one cell is tabbable. Arrows move the roving focus (Left/Right are swapped
36
+ under RTL), Home/End jump to the first/last column of the current row, Enter/Space activate the row.
37
+ The focus position is re-clamped whenever `rows`/`columns` shrink, so the grid can't lose its tab stop.
38
+
39
+ **Events:** `lr-row-click` (`detail: { row }`, click or Enter/Space), `lr-selection-change`
40
+ (`detail: { row }`, emitted alongside it after `selectedKey` updates), `lr-cell-focus`
41
+ (`detail: { row, column }`, `column` is the column `key`), `lr-sort` (`detail: { key, direction }`,
42
+ `sortable` columns only; re-activating the active column flips `direction`).
43
+
44
+ **Slots:** none.
45
+
46
+ **CSS parts:** `viewport` (the scrolling bordered wrapper), `grid` (the `<table role="grid">`),
47
+ `header` (each sticky `<th>`), `row`, `cell`, `empty` (the loading / no-data cell).
@@ -0,0 +1,60 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
2
+
3
+ # `lr-dataset-viewer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/viewers/dataset-viewer/dataset-viewer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraDatasetViewer`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/dataset-viewer/dataset-viewer.class.js`
7
+ - **Family** `components/viewers/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `papaparse` — see `llms/peers.md`
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-dataset-viewer`
14
+
15
+ Fetches tab-, pipe-, or delimiter-separated text and renders a virtualized, accessible table (a
16
+ `role="table"` container with a sticky `role="row"` header, composed with `<lr-virtual-list
17
+ item-role="row">` for the body) using the optional `papaparse` peer. The document registry matches
18
+ `.tsv`, `.psv`, and `.dat` filenames.
19
+
20
+ Adopts `DocumentAnchorTarget`: a `cell-range` anchor addresses the raw file grid, 1-based, with the
21
+ header row always occupying row 1 (this component always parses with a header row, so the first row
22
+ is never part of the virtualized body); `scrollToAnchor()` scrolls the addressed row into view via
23
+ the virtualized list's `active-id`. `highlights` paint as a `part="cell-highlight"` cell wrapping a
24
+ focusable `part="cell-highlight-action"` native button, keeping the ARIA table tree intact.
25
+
26
+ **Properties:** `src`, `name`, and `maxHeight` (attribute `max-height`) are strings. `anchorKinds` is
27
+ a readonly `['cell-range']` (this viewer's supported `LyraAnchor.kind` values for the shared
28
+ anchor-target contract).
29
+
30
+ **Methods:** `search(query)` resolves the match count via a case-insensitive substring search over
31
+ every body cell's raw string value, ordered row then column (empty/whitespace query behaves like
32
+ `clearSearch()`); `searchNext()`/`searchPrevious()` advance/step back through matches (wrapping,
33
+ resolving `false` when there are none); `clearSearch()` clears the query, matches, and cursor.
34
+
35
+ **Events:** `lr-render-error` with `detail.error` when fetching or parsing fails.
36
+ `lr-highlight-activate` (`detail: { id }`) — a `highlights` cell was clicked or activated via
37
+ Enter/Space. `lr-anchor-result` (`detail: { found }`) — fired after an `anchor` assignment or a
38
+ `scrollToAnchor()` call. `lr-search-change` (`detail: { query, matchCount, activeIndex }`) — from
39
+ `search()`/`searchNext()`/`searchPrevious()`/`clearSearch()`.
40
+
41
+ **CSS parts:** `base`, `body`, `table`, `header-row`, `header-cell`, `data-row`, `cell`,
42
+ `cell-highlight` (a `role="cell"` covered by a `highlights` entry; wraps the action button),
43
+ `cell-highlight-action` (the native button filling a highlighted cell — focusable, emits
44
+ `lr-highlight-activate` on click or Enter/Space), `spinner`, and `error`.
45
+
46
+ **Exports:** `DatasetTable` is `{ fields: string[]; rows: Record<string, string>[] }`.
47
+
48
+ **Themeable custom properties:** `--lr-dataset-viewer-max-height` (default `none`) — maximum block
49
+ size of `[part="body"]`; also settable via the `max-height` property, which writes this token inline.
50
+ `--lr-dataset-viewer-highlight-color` (default `var(--lr-color-brand)`) — the outline color of a
51
+ `cell-highlight` cell. The component writes it inline (as
52
+ `var(--lr-color-warning, var(--lr-color-brand))`) on the cell matching `activeHighlightId`, since a
53
+ `[data-active]` selector can't be chained onto the `::part(cell-highlight)` the cell reaches this
54
+ component's stylesheet through; a custom property inherits across that boundary instead.
55
+
56
+ **Optional peer dependency:** `papaparse`.
57
+
58
+ Remote resources are capped at 25 MB, and the parsed table at 10,000 rows and 1,000 columns (the
59
+ same shared default as `lr-csv-viewer`/`lr-spreadsheet-viewer`); exceeding either surfaces the
60
+ localized `documentPreviewResourceTooLarge` message instead of the table.