@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,70 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/charts.md — do not edit this file. -->
2
+
3
+ # `lr-doughnut-chart`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/charts/chart/doughnut-chart.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraDoughnutChart`, also available unregistered from `@aceshooting/lyra-ui/components/charts/chart/doughnut-chart.class.js`
7
+ - **Family** `components/charts/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `chart.js`, `chartjs-plugin-zoom` — see `llms/peers.md`
9
+ - **Documented with** `lr-line-chart`, `lr-bar-chart`, `lr-pie-chart`, `lr-radar-chart`, `lr-polar-area-chart`, `lr-bubble-chart`, `lr-scatter-chart` (same section below)
10
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
11
+
12
+ ---
13
+
14
+ ## Typed subclasses: `lr-line-chart`, `lr-bar-chart`, `lr-pie-chart`, `lr-doughnut-chart`, `lr-radar-chart`, `lr-polar-area-chart`, `lr-bubble-chart`, `lr-scatter-chart`
15
+
16
+ Each is `LyraChart` with `type` locked to a fixed value — respectively `line`, `bar`, `pie`,
17
+ `doughnut`, `radar`, `polarArea`, `bubble`, `scatter` — via a real `get`/`set` accessor pair the
18
+ shared `lockChartType()` helper installs on the subclass's own prototype (`declare type: '…'`
19
+ narrows the TS type at compile time; the runtime lock is the `Object.defineProperty` pair alongside
20
+ it — the same helper `lr-histogram` uses), not merely a class-field default a later assignment
21
+ could still override.
22
+
23
+ Everything else is inherited verbatim from `lr-chart`; each name below has the same type, default,
24
+ and behavior there. **See `llms/components/lr-chart.md` for the details, code example, and gotchas
25
+ of every entry in these lists.**
26
+
27
+ **Properties:** `labels`, `datasets`, `legend`, `legendPosition` (attribute `legend-position`),
28
+ `valueFormatter`, `area`, `zoom`, `height`, `xLabel` (`x-label`), `yLabel` (`y-label`), `y2Label`
29
+ (`y2-label`), `beginAtZero` (`begin-at-zero`), `horizontal`, `stacked`, `config`, `accessibleLabel`
30
+ (`accessible-label`), `accessibleDescription` (`accessible-description`), `showDataTable`
31
+ (`show-data-table`), `chartArea` (readonly). `type` is the only member that differs: read-only,
32
+ locked to this tag's value.
33
+
34
+ **Methods:** `resetZoom()`, `refreshTheme()`.
35
+
36
+ **Events:** `lr-zoom` (`detail: { zoomed: boolean }`), `lr-point-click` (`detail: { datasetIndex,
37
+ index, label, value }`).
38
+
39
+ **Slots:** `data-table`, `center`.
40
+
41
+ **CSS parts:** `base`, `canvas`, `reset-zoom-button`, `description`, `data-table`, `center`.
42
+
43
+ **Themeable custom properties:** `--lr-chart-height`, `--lr-chart-grid-color`,
44
+ `--lr-chart-tick-color`, `--lr-chart-legend-color`, `--lr-chart-tooltip-bg`,
45
+ `--lr-chart-tooltip-text`.
46
+
47
+ **Optional peer deps:** same as `lr-chart` — `chart.js`, plus `chartjs-plugin-zoom` only once
48
+ `zoom` is set.
49
+
50
+ ```html
51
+ <lr-bar-chart legend></lr-bar-chart>
52
+ <lr-pie-chart></lr-pie-chart>
53
+ <script>
54
+ document.querySelector('lr-bar-chart').labels = ['A', 'B'];
55
+ document.querySelector('lr-bar-chart').datasets = [{ label: 'Count', data: [4, 9] }];
56
+
57
+ document.querySelector('lr-pie-chart').labels = ['A', 'B', 'C'];
58
+ document.querySelector('lr-pie-chart').datasets = [{ label: 'Share', data: [30, 45, 25], color: ['#2563eb', '#16a34a', '#dc2626'] }];
59
+ </script>
60
+ ```
61
+
62
+ **Known gotchas (in addition to the core `lr-chart` list in `llms/components/lr-chart.md`):**
63
+ - `type` truly is locked per subclass: `<lr-pie-chart type="bar">` or `el.type = 'bar'` at runtime
64
+ is a genuine no-op (the accessor's setter silently ignores the write), not a footgun like a plain
65
+ overridden class-field default would be.
66
+ - `lr-bubble-chart` needs `Series.points` entries with an `x`/`y`/`r` triple, but `Series.points`
67
+ is typed as `{x, y, label?}[]` with no `r` field — cast the array through `as unknown as
68
+ Series['points']` (or a local `BubblePoint` type) when constructing bubble data.
69
+
70
+ ---
@@ -0,0 +1,48 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/overlays.md — do not edit this file. -->
2
+
3
+ # `lr-drawer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/overlays/drawer/drawer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraDrawer`, also available unregistered from `@aceshooting/lyra-ui/components/overlays/drawer/drawer.class.js`
7
+ - **Family** `components/overlays/` — 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-drawer`
14
+
15
+ A modal panel anchored to one edge of the viewport. It inherits the dialog overlay contract:
16
+ focus trapping, Escape and optional backdrop dismissal, document scroll locking, overlay stacking,
17
+ accessible naming, and the cancelable `lr-dialog-close` event.
18
+
19
+ **Properties:**
20
+ - `open: boolean = false` (attribute `open`, reflected) — controls visibility
21
+ - `placement: 'start'|'end'|'top'|'bottom' = 'start'` (attribute `placement`, reflected)
22
+ - `heading?: string`, `label: string`, `closable: boolean`, and `noLightDismiss: boolean` — inherited
23
+ dialog naming and dismissal options. A plain `aria-label` attribute on the host is honored too,
24
+ with the same priority-over-everything semantics documented under `lr-dialog` below
25
+
26
+ **Events:** `lr-dialog-close` (`detail: DialogCloseReason`) — inherited unchanged from `lr-dialog`.
27
+
28
+ **Slots:** default (drawer body), `footer` — inherited from `lr-dialog`.
29
+
30
+ **CSS parts:** `backdrop`, `panel`, `header`, `heading`, `close-button`, `label`, `body`, `footer`.
31
+
32
+ **Themeable custom properties:** `--lr-drawer-width` (default `--lr-size-24rem`; used by
33
+ `placement="start"|"end"`, capped at `100%`), `--lr-drawer-height` (default `--lr-size-24rem`;
34
+ used by `placement="top"|"bottom"`), `--lr-drawer-enter-x` / `--lr-drawer-enter-y` (the panel's
35
+ entrance-animation translate offset — `-x` for start/end, `-y` for top/bottom; both default to
36
+ `±--lr-size-1rem` and are set per `placement`, with `-x` explicitly flipped under `:dir(rtl)` since
37
+ `translateX` is physical. Override to lengthen/shorten the slide-in; the animation is dropped
38
+ entirely under `prefers-reduced-motion: reduce`). It also inherits `<lr-dialog>`'s own tokens —
39
+ `--lr-dialog-overlay-color`, `--lr-dialog-width` and `--lr-dialog-max-width` — since `LyraDrawer`
40
+ extends `LyraDialog`; the drawer's own width tokens take precedence for its panel.
41
+
42
+ ```html
43
+ <lr-drawer open placement="end" heading="Filters" closable>
44
+ <lr-checkbox label="Only active"></lr-checkbox>
45
+ </lr-drawer>
46
+ ```
47
+
48
+ ---
@@ -0,0 +1,25 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
2
+
3
+ # `lr-drilldown-panel`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/layout/drilldown-panel/drilldown-panel.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraDrilldownPanel`, also available unregistered from `@aceshooting/lyra-ui/components/layout/drilldown-panel/drilldown-panel.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-drilldown-panel`
14
+
15
+ Controlled navigation shell from a chart or table datum to related evidence, documents, entities,
16
+ or agent runs. It renders a breadcrumb path and delegates category content to existing primitives.
17
+
18
+ **Properties:** `path: DrilldownNode[] = []` and `types: NodeTypeStyle[] = []` (both attribute:
19
+ false), `accessibleLabel: string | null = null` (attribute `aria-label` — names the nested
20
+ `lr-tabs`; unset renders no `aria-label` at all, matching `lr-tabs`' own default),
21
+ `communityLabel: string = ''` (attribute `community-label`), `showFocusButton: boolean = true`
22
+ (attribute `show-focus-button`). **Events:**
23
+ `lr-drilldown-navigate` (`detail: { id, index }`). **Slots:** `runs`. **CSS parts:** `base`,
24
+ `breadcrumb`, `breadcrumb-item`, `breadcrumb-button`, `tabs`, `category`, `content`, `evidence-item`,
25
+ `document-item`, `entity-item`, `empty`.
@@ -0,0 +1,171 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
2
+
3
+ # `lr-dropdown-item`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/layout/menu/dropdown-item.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraDropdownItem`, also available unregistered from `@aceshooting/lyra-ui/components/layout/menu/dropdown-item.class.js`
7
+ - **Family** `components/layout/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Documented with** `lr-menu`, `lr-menu-item` (same section below)
10
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
11
+
12
+ ---
13
+
14
+ ## `lr-menu` / `lr-menu-item`
15
+
16
+ An anchored dropdown built around a consumer-supplied trigger element (typically an icon button)
17
+ assigned to the `trigger` slot. First-party invention (no Web Awesome equivalent) — a close, drop-
18
+ in-shaped replacement for reaching outside this library for a third-party dropdown to build a gear
19
+ menu, an avatar menu, or a history row's overflow menu. Uses the WAI-ARIA "menu button" pattern —
20
+ `role="menu"`/`role="menuitem"` with real roving DOM focus moving between actual focusable
21
+ `<lr-menu-item>` rows — deliberately not a `role="listbox"`/`aria-activedescendant` shape (that's
22
+ `<lr-select>`'s pattern instead).
23
+
24
+ ### `lr-menu`
25
+
26
+ **Properties:**
27
+ - `open: boolean = false` (reflected)
28
+ - `placement?: Placement` (reflected — resolved through `rtlAwarePlacement()` (`internal/rtl.ts`),
29
+ then forwarded to `place()`; defaults to whatever `place()` itself defaults to. A `left`/`right`
30
+ side is mirrored under `dir="rtl"`, so e.g. `placement="left-start"` still anchors to the menu's
31
+ trailing edge instead of pinning to the physical left)
32
+ - `label: string = 'Menu'` — accessible name for the `role="menu"` popup; override with something
33
+ specific (e.g. "Row actions") when a page has more than one menu. A host-level `aria-label`
34
+ attribute takes precedence over both this prop and the localized default (unset by default, so
35
+ a no-op for existing consumers), matching `lr-select`/`lr-model-select`'s
36
+ `this.getAttribute('aria-label') || <computed default>` precedence
37
+
38
+ - `closeOnEscapeAnywhere: boolean = false` (attribute `close-on-escape-anywhere`) — lets Escape
39
+ close the menu when focus is on slotted non-menu-item content inside the popup; item activation
40
+ remains scoped to actual menu items
41
+
42
+ **Events:** `lr-show` (no detail — fires only when `open` transitions to `true`, not for markup
43
+ that renders `open` true from the start), `lr-hide` (same first-render guard, opposite
44
+ transition), `lr-menu-select` (`detail: { value }` — a consolidated re-fire of the activated
45
+ `<lr-menu-item>`'s own `lr-menu-item-select`; always followed by the menu closing and focus
46
+ returning to the trigger)
47
+
48
+ **Slots:** `trigger` (the consumer's own trigger element — first assigned element wins if several
49
+ are assigned; enhanced imperatively with `aria-haspopup="menu"`/`aria-expanded`/`aria-controls`
50
+ since those attributes belong on the actual interactive trigger, which lives outside this
51
+ component's shadow root), default (`<lr-menu-item>` elements, plus optionally plain `<hr>`
52
+ dividers between groups — native `<hr>` already carries an implicit `separator` role)
53
+
54
+ **CSS parts:** `trigger` (wrapper around the `trigger` slot — the positioning anchor), `popup` (the
55
+ positioned floating panel), `list` (the `role="menu"` container wrapping the default slot)
56
+
57
+ **Themeable custom properties:** shared tokens only (`--lr-color-surface`, `--lr-color-border`,
58
+ `--lr-radius`, `--lr-shadow`, `--lr-space-xs`, `--lr-transition-fast`).
59
+
60
+ **Optional peer deps:** none.
61
+
62
+ ### `lr-menu-item`
63
+
64
+ Not meaningful standalone — it exists purely as `<lr-menu>`'s light-DOM child, the same
65
+ relationship `<lr-option>` has to `<lr-combobox>`/`<lr-select>`. `role="menuitem"` and the
66
+ roving `tabindex` both live on the host element itself (mirroring `<lr-tree-node>`), not an
67
+ internal shadow-DOM button; `<lr-menu>` is the sole owner of this element's `tabIndex`.
68
+
69
+ **Properties:**
70
+ - `value: string = ''` — an id/value echoed back in the parent `<lr-menu>`'s `lr-menu-select`
71
+ detail
72
+ - `disabled: boolean = false` (reflected — disables selection and excludes this item from
73
+ `<lr-menu>`'s roving-tabindex navigation entirely)
74
+ - `destructive: boolean = false` (reflected — tints the row with `--lr-color-danger`, for a
75
+ dangerous action like "Delete")
76
+ - `type: 'normal' | 'checkbox' = 'normal'` — `'checkbox'` (mirroring `wa-dropdown-item`'s identical
77
+ `type` option) renders `role="menuitemcheckbox"` in place of `role="menuitem"`, with `aria-checked`
78
+ reflecting `checked` and a checkmark glyph shown once `checked` is `true`. `'normal'` (the default)
79
+ renders and behaves exactly as before this option existed.
80
+ - `checked: boolean = false` (reflected) — whether a `type="checkbox"` item is checked; meaningless
81
+ (ignored) for `type="normal"`
82
+
83
+ **Methods:** `select(): void` — fires `lr-menu-item-select` (no-op while `disabled`). Called
84
+ internally by this element's own click handler and by `<lr-menu>`'s Enter/Space keydown handling
85
+ of the roving-focused item; also the cleanest way for a consumer/test to trigger selection
86
+ programmatically instead of clicking the shadow-DOM `[part="base"]` element (see the gotcha below).
87
+ For `type="checkbox"`, also toggles `checked` and fires `lr-menu-item-change` first.
88
+
89
+ **Events:** `lr-menu-item-select` (no detail payload — `this.emit('lr-menu-item-select')` is
90
+ called with no second argument, so `event.detail` is `null`, not `undefined`; fires on click, or
91
+ when the parent `<lr-menu>`'s own Enter/Space keydown handling calls `select()` on the currently
92
+ roving-focused item), `lr-menu-item-change` (`detail: { value, checked }` — fired when a
93
+ `type="checkbox"` item is activated and its `checked` state toggled, in addition to — never instead
94
+ of — `lr-menu-item-select`; never fired for `type="normal"`)
95
+
96
+ **Slots:** default (the item's label content), `icon` (optional leading icon)
97
+
98
+ **CSS parts:** `base` (the row — `role` lives on the host, not this part), `icon` (wrapper around
99
+ the `icon` slot; not rendered/hidden entirely while the slot is empty), `label` (wrapper around the
100
+ default slot), `checkmark` (the checkmark glyph shown when a `type="checkbox"` item is `checked`;
101
+ not rendered at all for `type="normal"`)
102
+
103
+ **Themeable custom properties:** shared tokens only (`--lr-radius`, `--lr-focus-ring-width`,
104
+ `--lr-focus-ring-color`, `--lr-space-xs`, `--lr-space-s`, `--lr-color-brand-quiet`,
105
+ `--lr-opacity-disabled`, `--lr-color-danger`, `--lr-color-danger-quiet`).
106
+
107
+ **Optional peer deps:** none.
108
+
109
+ ### `lr-dropdown-item`
110
+
111
+ Compatibility naming alias for `<lr-menu-item>`. It is a subclass of the same implementation,
112
+ so `value`, `disabled`, `destructive`, `type`, `checked`, `select()`, checkbox events, and menu
113
+ roving focus behave identically.
114
+
115
+ **Slots:** default label content and optional `icon`.
116
+
117
+ ```html
118
+ <lr-menu>
119
+ <button slot="trigger">Actions</button>
120
+ <lr-dropdown-item value="archive">Archive</lr-dropdown-item>
121
+ </lr-menu>
122
+ ```
123
+
124
+ ```html
125
+ <lr-menu label="Row actions">
126
+ <button slot="trigger" aria-label="More actions">⋮</button>
127
+ <lr-menu-item value="edit">Edit</lr-menu-item>
128
+ <lr-menu-item value="duplicate">Duplicate</lr-menu-item>
129
+ <hr />
130
+ <lr-menu-item value="delete" destructive>Delete</lr-menu-item>
131
+ </lr-menu>
132
+ <script type="module">
133
+ document.querySelector('lr-menu').addEventListener('lr-menu-select', (e) => console.log(e.detail.value));
134
+ </script>
135
+ ```
136
+
137
+ The popup is always rendered in the DOM (never `display:none`) so `.focus()` calls on its content
138
+ work synchronously the instant it opens — closed state is conveyed via `visibility`/`opacity`
139
+ instead. `visibility` is an inherited CSS property that pierces the `<slot>` projection boundary, so
140
+ every closed-state `<lr-menu-item>` is automatically excluded from sequential (Tab-key)
141
+ navigation with no separate JS bookkeeping. ArrowDown/ArrowUp *on the trigger while closed* also
142
+ opens the menu, focusing the first/last non-disabled item respectively (mirrors native `<select>`).
143
+ Once open, ArrowDown/ArrowUp move the roving focus among non-disabled items and wrap past either end
144
+ (unlike `<lr-select>`'s clamped listbox nav); Home/End jump to the first/last non-disabled item;
145
+ Enter/Space activate the focused item; Escape closes and refocuses the trigger; Tab closes without
146
+ `preventDefault()`, letting the browser's own Tab navigation proceed untouched. All of this list-level
147
+ keydown handling — Escape, Tab, the arrow keys, Home/End, and type-ahead alike — only responds when
148
+ the triggering keydown event's own target is an actual `<lr-menu-item>` element; a keydown bubbling
149
+ up from any other node inside the popup is ignored rather than misread as list navigation. A printable
150
+ keypress runs type-ahead: roving focus jumps to the next non-disabled item whose text starts with the
151
+ accumulated buffer (cycling from just after the active item, buffer resets ~500ms after the last
152
+ keystroke) — mirrors `<lr-select>`'s identical listbox type-ahead. A click outside both the trigger
153
+ and the open popup also closes it, but deliberately does *not* refocus the trigger — the outside
154
+ click itself already moved focus somewhere the user chose.
155
+
156
+ **Known gotchas:**
157
+ - `<lr-menu-item>`'s click handler lives on an inner shadow-DOM element (`[part="base"]`), not the
158
+ host — calling `.click()` directly on the `<lr-menu-item>` host element in a test does **not**
159
+ trigger selection; either click (or dispatch on) the element returned by
160
+ `menuItemEl.shadowRoot.querySelector('[part="base"]')`, or just call the item's own `select()`
161
+ method directly.
162
+ - `lr-show`/`lr-hide` are suppressed on the very first render even if `open` is already `true`
163
+ in markup — only later `open` transitions fire them.
164
+ - `lr-menu-item-select` carries no detail payload (`event.detail === null`); read
165
+ `event.target.value` instead. `<lr-menu>`'s own re-fired `lr-menu-select` is the one that
166
+ carries `detail: { value }`.
167
+ - Tab closes the menu without `preventDefault()` or focus trapping — the browser's own default Tab
168
+ navigation proceeds untouched, only the (now-stale) open state is cleared.
169
+ - Only Escape and a committed selection refocus the trigger on close; a click outside does not.
170
+
171
+ ---
@@ -0,0 +1,24 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/overlays.md — do not edit this file. -->
2
+
3
+ # `lr-dropdown`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/overlays/overlay/dropdown.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraDropdown`, also available unregistered from `@aceshooting/lyra-ui/components/overlays/overlay/dropdown.class.js`
7
+ - **Family** `components/overlays/` — 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-dropdown`
14
+
15
+ A menu-role popover for consumer-supplied action content. Compose `lr-menu` when full roving
16
+ menu-item behavior is needed.
17
+
18
+ **Properties:** `open`, `placement`, `distance`, `accessibleLabel` (`aria-label`), and `popupRole` (`popup-role`).
19
+ `popupRole` is seeded to `'menu'` in the constructor — that is the only difference from `lr-popover`,
20
+ whose whole surface (including `showAt()`) is inherited unchanged.
21
+ **Events:** `lr-show`, `lr-hide` — inherited from `lr-popover`; neither fires for the initial render.
22
+ **Slots:** `trigger`, default menu content. **CSS parts:** `trigger`, `popup`, `content`.
23
+ **Themeable custom properties:** `--lr-overlay-max-inline-size` (default `--lr-size-20rem` —
24
+ maximum inline size of the popup).
@@ -0,0 +1,60 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
2
+
3
+ # `lr-ebook-viewer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/viewers/ebook-viewer/ebook-viewer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraEbookViewer`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/ebook-viewer/ebook-viewer.class.js`
7
+ - **Family** `components/viewers/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `epubjs` — see `llms/peers.md`
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-ebook-viewer`
14
+
15
+ Renders EPUB ebooks through the optional `epubjs` peer. `src` is fetched as an `ArrayBuffer`, and
16
+ epub.js renders the reading area into its stable `mount` element, using an internal iframe for
17
+ chapter content.
18
+
19
+ **Properties:** `src` and `name` are strings. `accessibleLabel` (attribute `aria-label`) overrides
20
+ the reading region's accessible name. `location: string = ''` (not reflected — CFIs are long) is
21
+ a CFI or spine href identifying the current reading position: set before the book finishes
22
+ loading it's recorded and applied once ready, set after it applies immediately, and epub.js's own
23
+ `relocated` event keeps it in sync with user navigation without re-triggering its own `display()`
24
+ call. `anchorKinds` is a readonly `['cfi', 'text-quote']` (this viewer's supported `LyraAnchor.kind`
25
+ values for the shared anchor-target contract).
26
+
27
+ **Methods:** `getToc()` resolves the EPUB's own navigation document (`book.navigation.toc`,
28
+ populated once `book.ready` resolves) flattened into document-ordered `EbookTocItem[]` (`{ id,
29
+ label, href, level }`, `level` starting at 1 for a top-level entry, `id` falling back to `href`
30
+ when a navigation entry has none), `[]` before a book has loaded. `search(query)` resolves the
31
+ match count across every spine section, in document order, via epub.js's own `item.load()`/
32
+ `item.find()`/`item.unload()` (empty/whitespace query behaves like `clearSearch()`; a newer
33
+ `search()` call or a `src` change aborts an in-flight scan); `searchNext()`/`searchPrevious()`
34
+ advance/step back through matches (wrapping, resolving `false` when there are none); `clearSearch()`
35
+ clears the query, matches, and painted search annotation.
36
+
37
+ **Events:** `lr-render-error` with `detail.error` when fetching, opening, or rendering fails;
38
+ `lr-location-change` (`detail: { cfi, href }`) fired from epub.js's own `relocated` event;
39
+ `lr-search-change` (`detail: { query, matchCount, activeIndex }`) from `search()`/`searchNext()`/
40
+ `searchPrevious()`/`clearSearch()`.
41
+
42
+ **CSS parts:** `base`, `toolbar`, `previous-button`, `next-button`, `previous-icon`, `next-icon`,
43
+ `mount`, `error`, and `announcer` (the visually-hidden `role="status"` region search results
44
+ announce through).
45
+
46
+ **Optional peer dependency:** install `epubjs` with `pnpm add epubjs`. The document-viewer registry
47
+ matches `application/epub+zip` and `.epub` filenames, declaring `{ anchors: ['cfi', 'text-quote'],
48
+ search: true, textSelect: true }` capabilities.
49
+
50
+ Remote resources are capped at 25 MB; exceeding it surfaces the localized
51
+ `documentPreviewResourceTooLarge` message instead of the ebook.
52
+
53
+ Adopts the shared anchor-target contract (`highlights`, `activeHighlightId`, `scrollToAnchor()`,
54
+ events `lr-highlight-activate`/`lr-text-select`/`lr-anchor-result`): a `cfi` anchor displays
55
+ directly via `rendition.display()`; a `text-quote` anchor resolves by scanning the spine with
56
+ epub.js's own `item.find()`, since chapter content lives inside epub.js-owned iframes rather than
57
+ this component's own shadow DOM — `lr-text-select` mirrors epub.js's own `selected` event for the
58
+ same reason. `highlights` (kind `cfi`) paint via `rendition.annotations.highlight()` and are
59
+ re-applied whenever the rendition is recreated (a `src` change, or a reconnect remount), since
60
+ epub.js doesn't persist annotations across a fresh `renderTo()`.
@@ -0,0 +1,51 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
2
+
3
+ # `lr-email-viewer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/viewers/email-viewer/email-viewer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraEmailViewer`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/email-viewer/email-viewer.class.js`
7
+ - **Family** `components/viewers/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `dompurify`, `postal-mime` — see `llms/peers.md`
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-email-viewer`
14
+
15
+ Fetches and parses `.eml` messages with the optional `postal-mime` peer. HTML message bodies are
16
+ sanitized through the existing optional `dompurify` peer before rendering; plain-text messages
17
+ remain available without DOMPurify. Attachments are listed as filename and size only (the parsed
18
+ `mimeType` never reaches the DOM) and their content is never rendered by this component. Each
19
+ attachment row is a real `<button>` that emits `lr-attachment-open` with the decoded bytes; opening,
20
+ downloading, or object-URL'ing them is the host's job (e.g.
21
+ `URL.createObjectURL(new Blob([content], { type: mimeType }))` → `<lr-document-viewer>` → revoke on
22
+ `lr-close`).
23
+
24
+ Remote resources are capped at 25 MB; exceeding it surfaces the localized
25
+ `documentPreviewResourceTooLarge` message instead of the message.
26
+
27
+ **Properties:** `src`, `name`, and `maxHeight` (attribute `max-height`) are strings. `foldQuotes:
28
+ boolean = false` (attribute `fold-quotes`) — collapses trailing quoted-reply text/HTML behind a
29
+ localized show/hide toggle. `false` (the default) preserves the full body rendering.
30
+
31
+ **Events:** `lr-render-error` with `detail.error` when fetching or parsing fails.
32
+ `lr-attachment-open` — `detail: { attachment: { filename, mimeType, content? } }`, `content` a
33
+ `Uint8Array` of the decoded attachment — an attachment button was activated.
34
+
35
+ **CSS parts:** `base`, `headers`, `from-label`, `from`, `to-label`, `to`, `subject-label`, `subject`,
36
+ `date-label`, `date`, `body`, `body-html`, `body-text`, `attachments`, `attachments-label`,
37
+ `attachment-list`, `attachment-item`, `attachment-button` (an attachment's open button, inside its
38
+ `attachment-item`), `quoted` (a folded quoted-text block, hidden until expanded, only
39
+ while `foldQuotes`), `quote-toggle` (the show/hide-quoted-text toggle button, only while `foldQuotes`),
40
+ `spinner`, and `error`.
41
+
42
+ **Themeable custom properties:** `--lr-email-viewer-max-height` (default `none`) — maximum block size
43
+ of `[part="body"]`; also settable via the `max-height` property, which writes this token inline.
44
+
45
+ **Optional peer dependencies:** install `postal-mime` and `dompurify` with
46
+ `pnpm add postal-mime dompurify`. The component registers `message/rfc822` and falls back to
47
+ matching `.eml` filenames in `<lr-document-viewer>`. Deviates from the shared degraded-render
48
+ contract: an absent `postal-mime` renders `[part="error"]` with the localized
49
+ `emailViewerMissingParser` message (nothing is parseable without it), and an HTML-only message
50
+ (no `text/plain` alternative) with `dompurify` absent renders the localized
51
+ `documentViewerMissingSanitizer` message rather than silently showing an empty body.
@@ -0,0 +1,71 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
2
+
3
+ # `lr-emoji-picker`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/forms/emoji-picker/emoji-picker.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraEmojiPicker`, also available unregistered from `@aceshooting/lyra-ui/components/forms/emoji-picker/emoji-picker.class.js`
7
+ - **Family** `components/forms/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `emoji-picker-element-data` — see `llms/peers.md`
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-emoji-picker`
14
+
15
+ A searchable, keyboard-navigable, form-associated emoji picker. `groups` is fully consumer-suppliable
16
+ — the component ships no emoji data of its own — in the same "zero/optional-peer dependency" spirit
17
+ as `<lr-lite-chart>`/`<lr-heatmap>`; an optional convenience auto-loader fetches a default set on
18
+ connect from the `emoji-picker-element-data` peer, but only when `groups` hasn't already been
19
+ supplied (an explicit empty array still counts as supplied and skips the auto-load).
20
+ When the filtered set reaches 200 items, the grid automatically windows its visible rows while
21
+ preserving the full option count through `aria-setsize`/`aria-posinset`.
22
+
23
+ **Properties:** the shared form properties `name`, `value`, `disabled`, and `required`, plus
24
+ `groups: EmojiPickerGroup[] = []` (attribute: false) — `EmojiPickerGroup { key, label, emojis:
25
+ EmojiPickerItem[] }`, `EmojiPickerItem { emoji, name, shortcodes? }`; the search field matches `name`
26
+ and every `shortcodes` entry, case-insensitively. Empty (the default, before the auto-loader
27
+ resolves) renders just the search input and the empty state. `accessibleLabel` (`aria-label`)
28
+ forwards a host-supplied accessible name to the internal `role="listbox"` grid; empty falls back to
29
+ the localized default grid label.
30
+
31
+ **Events:** `lr-change` with `detail: { emoji }` (an emoji was picked — click, or Enter/Space on
32
+ the active grid cell; also sets `value`), plus the shared form `input`, `change`, `focus`, and `blur`.
33
+
34
+ **Keyboard:** the grid is a roving-tabindex listbox (a single Tab stop — only the active emoji is
35
+ tabbable). ArrowLeft/ArrowRight step the active item backward/forward following reading direction
36
+ (swapped under RTL), ArrowUp/ArrowDown move by one visual row (measured from the live wrap layout),
37
+ Home/End jump to the first/last item, and Enter/Space picks the active item. The search input is a
38
+ `role="combobox"` over the same listbox: the arrow keys and Enter also work while focus stays in
39
+ the input, with `aria-activedescendant` tracking the active option. Hovering an emoji with the
40
+ pointer also moves the active item to it.
41
+
42
+ **CSS parts:** `base`, `search` (`role="combobox"`), `grid` (`role="listbox"`, the scroll
43
+ viewport), `group-label`, `emoji` (each emoji's own `role="option"` button), `empty` (shown when
44
+ the search matches nothing). While windowing is active the rows are wrapped in `virtual-spacer`
45
+ (full-height scroll spacer), `virtual-row` (one absolutely-positioned row), `virtual-label` (an
46
+ `aria-hidden` spacer standing in for a row's missing `group-label`), and `virtual-items` (the row's
47
+ emoji flex line).
48
+
49
+ **Themeable custom properties:** `--lr-emoji-picker-item-size` (default `--lr-icon-button-size`,
50
+ each emoji button's box), `--lr-emoji-picker-gap` (default `--lr-space-2xs`, the gap between
51
+ emoji within a windowed row), and `--lr-emoji-picker-row-height` (default
52
+ `calc(var(--lr-emoji-picker-item-size) + var(--lr-space-l))`, one windowed row's height). All three
53
+ are also read back in JS to derive columns-per-row and row offsets for the windowed layout,
54
+ resolved to real pixels by measuring hidden probe boxes the component's own stylesheet sizes from
55
+ those same tokens — so any CSS length unit works, `rem`/`em` and `calc()` included, and the windowed
56
+ geometry matches what is painted without expressing the tokens in `px`. The measurement is cached
57
+ and re-derived only when the resolved pixels can actually change (a token override applied after the
58
+ first render, a theme swap, a root or host font-size change feeding a `rem`/`em` value), never per
59
+ frame.
60
+
61
+ Two constraints remain. `--lr-emoji-picker-item-size` is clamped up to `--lr-icon-button-size`, the
62
+ shared minimum tappable box: a smaller value does not shrink the button, and the windowed geometry
63
+ follows the clamped, painted size. And windowed rows are absolutely positioned at the row-height
64
+ pitch, so `--lr-emoji-picker-row-height` must stay at or above the item size plus the group-label
65
+ band (`--lr-space-l`) — the default's own formula — or consecutive rows overlap. Columns per
66
+ windowed row are additionally capped at 20 regardless of available width.
67
+
68
+ **Optional peer dependency:** install `emoji-picker-element-data` with
69
+ `pnpm add emoji-picker-element-data` for the built-in auto-loaded default emoji set — omit it and
70
+ supply `groups` directly instead. The loader never throws; a missing or failed peer logs one
71
+ `console.warn` and simply leaves `groups` empty.
@@ -0,0 +1,56 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/overlays.md — do not edit this file. -->
2
+
3
+ # `lr-empty`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/overlays/empty/empty.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraEmpty`, also available unregistered from `@aceshooting/lyra-ui/components/overlays/empty/empty.class.js`
7
+ - **Family** `components/overlays/` — 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-empty`
14
+
15
+ First-party "no data" state (no Web Awesome equivalent).
16
+
17
+ **Properties:**
18
+ - `heading: string = ''`
19
+ - `description: string = ''`
20
+ - `compact: boolean = false` (reflected) — tighter, left-aligned rendering (less padding, a lighter
21
+ heading weight) for use inside a constrained space like a widget body or table cell, instead of
22
+ the centered/spacious full-page default
23
+
24
+ **Events:** none.
25
+
26
+ **Slots:** default (icon/illustration), `heading` (rich heading content, overrides the `heading`
27
+ attribute), `description` (rich description content, overrides the `description` attribute),
28
+ `actions` (buttons/links below the description)
29
+
30
+ **CSS parts:** `base`, `icon`, `heading`, `description`, `actions`
31
+
32
+ **Themeable custom properties:** `--lr-empty-compact-align` (compact mode only; defaults preserve
33
+ the existing `flex-start` cross-axis and `start` text alignment, and `center` centers both),
34
+ `--lr-empty-compact-padding` (default `--lr-space-xs` — padding used in compact mode), plus
35
+ shared tokens (`--lr-space-xs/-s/-l`, `--lr-color-text-quiet/-border/-text`).
36
+
37
+ **Optional peer deps:** none.
38
+
39
+ ```html
40
+ <lr-empty heading="No results" description="Try a different search.">
41
+ <svg slot="" ...></svg> <!-- default slot: any icon/illustration -->
42
+ <div slot="actions"><button>Clear filters</button></div>
43
+ </lr-empty>
44
+ <lr-empty compact heading="No results" description="Try a different search."
45
+ style="--lr-empty-compact-align: center"></lr-empty>
46
+ ```
47
+
48
+ **Known gotchas:**
49
+ - `[part="base"]` is `role="status" aria-live="polite"`, so a list/table transitioning to empty
50
+ does announce to screen readers — no extra wiring needed on the host's part.
51
+ - Note: correctly works around the classic `:empty`-pseudo-class trap (a wrapper with a `<slot>`
52
+ inside can never match `:empty`) by tracking real slot assignment in JS (`hasIcon`/`hasActions`) —
53
+ `lr-table` reuses this component for its own empty-rows state, and `lr-stat` (below) now uses
54
+ the same JS-tracked-slot-state pattern for its own icon/caption wrappers.
55
+
56
+ ---