@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,232 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
2
+
3
+ # `lr-heatmap`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/data/heatmap/heatmap.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraHeatmap`, also available unregistered from `@aceshooting/lyra-ui/components/data/heatmap/heatmap.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-heatmap`
14
+
15
+ A Canvas-rendered heatmap with a DPR-aware, resize-aware redraw loop, in one of two `mode`s:
16
+ `"matrix"` (default — a `rowLabels` × `colLabels` grid of `values`) or `"calendar"` (a
17
+ GitHub-style Sunday–Saturday × week grid built from `days`, colored by quartile bucket rather than
18
+ the matrix mode's continuous ramp). Every cell is independently addressable despite being
19
+ canvas-drawn (no per-cell DOM node by default): a `pointermove` hit-test over the canvas shows `[part="tooltip"]`
20
+ with that cell's label + value; the canvas is `tabindex="0"` with arrow-key roving focus (a stroked
21
+ ring redrawn over the focused cell on every draw, plus `[part="live-region"]` announcing it); and a
22
+ click, or Enter/Space on the focused cell, fires `lr-cell-click`.
23
+
24
+ Set `accessibleCells: true` (`accessible-cells`) to opt into a native-button overlay for each
25
+ interactive matrix/calendar cell. The overlay uses localized `aria-label`s, explicit
26
+ `aria-pressed="true"|"false"` from the controlled `selectedCell`, and roving tabindex/arrow-key
27
+ focus; it continues to emit `lr-cell-click` and leaves selection state consumer-controlled.
28
+
29
+ **Properties:**
30
+ - `rowLabels: string[] = []` (attribute: false — matrix mode only)
31
+ - `colLabels: string[] = []` (attribute: false — matrix mode only)
32
+ - `values: number[][] = []` (attribute: false — matrix mode only) — `-1` or any non-finite value is
33
+ the "no data" sentinel; ragged/sparse rows are safe (`?? -1`)
34
+ - `cellSize: number = 22` (attribute `cell-size` — default `22` in matrix mode, `11` in calendar
35
+ mode when left unset; explicitly setting it now governs both modes' per-cell size alike, and it's
36
+ ignored in either mode when `fitToWidth` is set)
37
+ - `fitToWidth: boolean = false` (attribute `fit-to-width` — derives `cellSize` from the host's
38
+ measured `clientWidth` on every draw/resize instead of the fixed `cell-size`, so the grid actually
39
+ fills the available width; now applies to calendar mode as well as matrix mode — see gotchas for
40
+ the default, non-`fit-to-width` behavior)
41
+ - `valueLabel: string = 'value'` (attribute `value-label`)
42
+ - `scale: 'linear' | 'sqrt' = 'linear'` — governs both modes: in matrix mode, `'sqrt'` compresses the
43
+ color ramp via `sqrtStep()` instead of mapping linearly; in calendar mode, the default `'linear'`
44
+ still buckets by quartile (`quartileBucket()`, unchanged), while `'sqrt'` instead compresses via the
45
+ same `sqrtStep()` magnitude compression as matrix mode, so one heavy day doesn't wash out the rest
46
+ - `mode: 'matrix' | 'calendar' = 'matrix'`
47
+ - `days: CalendarDay[] = []` (attribute: false — calendar mode only) — `CalendarDay { date:
48
+ string /* ISO yyyy-mm-dd */; value: number }`; need not be sorted or contiguous, and an entry whose
49
+ `date` doesn't parse is dropped rather than poisoning the whole grid
50
+ - `firstDayOfWeek: number = 0` (attribute `first-day-of-week` — calendar mode only, no-op in matrix
51
+ mode) — anchors the calendar grid at a different weekday instead of always Sunday; `0`-`6`, same
52
+ numbering as `CalendarCellPos.weekday` (`0` Sunday .. `6` Saturday)
53
+ - `bucketCount: number = 5` (attribute `bucket-count` — calendar mode only; non-finite values fall
54
+ back to 5, while finite values are floored and clamped to 2–256 before the color-ramp allocation)
55
+ - `annotations: HeatmapAnnotation[] = []` (attribute: false) — `HeatmapAnnotation { row?: number;
56
+ col?: number; date?: string; label?: string }`: matrix mode matches by `row`/`col`, calendar mode
57
+ by `date` (whichever pair matches the active `mode`; the other fields are ignored). Draws a
58
+ stroked ring over the matching cell; an annotation with a `label` also gets its own
59
+ `[part="legend-annotation"]` entry in the legend.
60
+ - `selectedCell: HeatmapSelectedCell | null = null` (attribute: false) — `HeatmapSelectedCell {
61
+ row?: number; col?: number; date?: string }`, matched the same way as `annotations`. Draws a
62
+ persistent ring (independent of keyboard focus) over the matching cell, appends a "Selected: ..."
63
+ description to the host's own `aria-label`, and appends a "(selected)" suffix to the live-region
64
+ announcement when the focused cell is the selection. Purely a controlled property — mirrors
65
+ `<lr-lite-chart>`'s `selectedIndex`, this component never mutates it itself. Unset (the default,
66
+ `null`) reproduces today's exact output.
67
+ - `accessibleCells: boolean = false` (attribute `accessible-cells`) — renders `[part="cells"]` with
68
+ one `[part="cell"]` native button per interactive cell. Buttons expose localized `aria-label`s,
69
+ explicit `aria-pressed` state from `selectedCell`, and a roving tabindex; the canvas becomes
70
+ `aria-hidden` while this mode is enabled. The property is opt-in so the default canvas mode keeps
71
+ its low DOM footprint.
72
+ - `cellText?: (pos: MatrixCellPos | CalendarCellPos, value: number) => string` (attribute: false) —
73
+ formats the per-cell hover tooltip and keyboard live-region announcement text; receives the cell
74
+ position (`{ row, col }` in matrix mode, `{ week, weekday }` in calendar mode) and its value.
75
+ Unset (the default) falls back to the built-in English "Row X, Col Y: value" (matrix) / "Jan 15:
76
+ value" — short month + day, **not** a weekday abbreviation (calendar) — template. Additive, not
77
+ breaking.
78
+ - `cellInteractive?: (pos: MatrixCellPos | CalendarCellPos, value: number) => boolean` (attribute:
79
+ false) — opts individual cells out of the interaction model; receives the cell position and its
80
+ value, return `false` to make that cell present-but-non-interactive (no hover tooltip, click, or
81
+ keyboard roving-focus stop) without losing the layout/color-ramp machinery. Unset (the default)
82
+ keeps every cell interactive, unchanged.
83
+ - `columnX?: (index: number) => number` (attribute: false, calendar mode only) — overrides the
84
+ internal week-column x-coordinate formula (`CAL_PAD_LEFT + week * (CAL_CELL + CAL_GAP)`) used
85
+ consistently across drawing, hit-testing, the focus ring, and month-label positioning, so a
86
+ consumer can pixel-align this calendar's week columns with a sibling `<lr-lite-chart>`'s bars
87
+ (see that component's own `barX`) by supplying the same coordinate function to both. Unset (the
88
+ default) is the original formula, unchanged.
89
+ - `rowY?: (weekday: number) => number` (attribute: false, calendar mode only) — the vertical
90
+ analogue of `columnX`: overrides the internal weekday-row y-coordinate formula (`CAL_LABEL_H +
91
+ weekday * (cellSize + CAL_GAP)`), consulted consistently by drawing, hit-testing, and the focus
92
+ ring (also consulted at `weekday = 7` to size the canvas height, mirroring `columnX` at
93
+ `week = weekCount`). Unset (the default) is the original formula, unchanged. Ignored in matrix
94
+ mode.
95
+ - `cellColor?: (pos: MatrixCellPos | CalendarCellPos, value: number) => string | undefined`
96
+ (attribute: false) — overrides a cell's computed ramp/no-data color entirely for an exact value;
97
+ return a CSS color string to force that cell to it, or `undefined` to fall back to the normal ramp
98
+ math unchanged. Lets a consumer designate a value as categorically outside the ramp (e.g. a real
99
+ zero-count day rendered as a neutral hairline, distinct from both "no data" and the ramp's own
100
+ lightest step) without a synthetic ramp color, which can't safely reserve an exact value on a
101
+ skewed dataset. Unset (the default) reproduces the exact ramp/no-data behavior for every cell.
102
+ - `weekdayLabelText?: (jsWeekday: number) => string | undefined` (attribute: false, calendar mode
103
+ only) — overrides the weekday-axis label text; receives the real JS weekday index (`0` Sunday ..
104
+ `6` Saturday) for a row that would otherwise render a label and, when it returns a string, uses it
105
+ instead of the built-in `Intl.DateTimeFormat`-derived short weekday name. Unset (the default)
106
+ reproduces today's exact locale-derived output.
107
+ - `monthLabelText?: (jsMonth: number, year: number) => string | undefined` (attribute: false,
108
+ calendar mode only) — the month-axis analogue of `weekdayLabelText`: receives the real JS month
109
+ index (`0` January .. `11` December) and full year for a month boundary that would otherwise
110
+ render a label, and, when it returns a string, uses it instead of the built-in
111
+ `Intl.DateTimeFormat`-derived short month name. Unset (the default) reproduces today's exact
112
+ locale-derived output. Lets month labels track the same locale signal (e.g. an app's own i18n
113
+ store) as `weekdayLabelText` and the component's other localizable strings, instead of always
114
+ following the browser/OS-language default.
115
+ - `colorSteps?: string[]` (attribute: false) — a discrete array (≥2 entries) of CSS colors used as
116
+ exact ramp steps instead of linearly interpolating between `--lr-heatmap-scale-lo`/`-hi`;
117
+ governs both `mode`s and both `scale` values, discretizing whichever scale would otherwise
118
+ interpolate continuously into `colorSteps.length` buckets instead. Unset (the default, or fewer
119
+ than 2 entries) keeps today's 2-endpoint interpolation exactly.
120
+ - `legendStops?: HeatmapLegendStop[]` (attribute: false) — `HeatmapLegendStop { value: number;
121
+ color: string; label?: string }`: a discrete legend key rendered **instead of** the
122
+ `--lr-heatmap-scale-lo`/`-hi` gradient bar and its `[part="legend-lo"]`/`[part="legend-hi"]`
123
+ endpoint labels — one `[part="legend-stop"]` per entry, in array order, each a
124
+ `[part="legend-swatch"]` filled with that entry's `color` plus a `[part="legend-stop-label"]`.
125
+ A stop's label defaults to the component's own locale-aware numeric formatting of `value`, so an
126
+ explicit `label` is only needed when the number isn't the right caption ("none", "≥ 90%"). Exists
127
+ for the consumer who supplies `cellColor`: because that callback overrides a cell's color
128
+ entirely, the built-in two-endpoint bar can end up describing a ramp the grid no longer uses —
129
+ supplying the same colors here keeps the legend honest instead of hiding `::part(legend)` and
130
+ re-implementing swatches, labels and annotation entries by hand. Strictly presentation: the stops
131
+ are never consulted by the color ramp, the bucket math, the tooltip, or the generated accessible
132
+ name, so adding them changes nothing a cell renders. Labeled `annotations` still render their
133
+ `[part="legend-annotation"]` entries after the stops. Unset (the default) or an empty array
134
+ reproduces the exact gradient legend, unchanged.
135
+
136
+ **Getters/methods:** `refreshTheme()` — redraws canvas content after an upstream design-token or
137
+ color-scheme change; called automatically on theme changes, exposed for a consumer that needs to
138
+ force a redraw manually.
139
+
140
+ **Events:** `lr-cell-click` (fired on click, or Enter/Space on the keyboard-focused cell —
141
+ `detail: { row, col, value }` in matrix mode, `detail: { date, value }` in calendar mode)
142
+
143
+ **Slots:** none.
144
+
145
+ **CSS parts:** `base`, `canvas`, `cells` (opt-in per-cell overlay), `cell` (one opt-in native cell
146
+ button), `tooltip` (hover tooltip, positioned over the hovered cell),
147
+ `live-region` (visually-hidden `role="status" aria-live="polite"` element announcing the
148
+ keyboard-focused cell), `legend`, `legend-lo`, `legend-hi` (both omitted, along with the gradient
149
+ bar between them, while `legendStops` is supplied), `legend-stop` (one per `legendStops` entry),
150
+ `legend-swatch` (that stop's color chip), `legend-stop-label` (that stop's text),
151
+ `legend-annotation` (one per labeled `annotations` entry)
152
+
153
+ **Themeable custom properties:** `--lr-heatmap-scale-lo` (default `#cde2fb`),
154
+ `--lr-heatmap-scale-hi` (default `#0969da`) — the sequential color-ramp endpoints (matrix mode) or
155
+ quartile-bucket ramp endpoints (calendar mode), resolved via `getComputedStyle` each draw (any valid
156
+ CSS color syntax — hex/rgb/hsl/oklch/named — works, resolved through a scratch canvas).
157
+ `--lr-heatmap-no-data-fill` (default `rgba(128,128,128,0.25)` — the no-data cell fill, same
158
+ resolve-via-`getComputedStyle` pattern), `--lr-heatmap-label-font` (default `10px sans-serif` — the
159
+ canvas-drawn axis/month/weekday label font), `--lr-heatmap-focus-ring-color` (default
160
+ `var(--lr-focus-ring-color)` — the canvas-drawn ring stroked around the keyboard-focused cell;
161
+ also reused by `[part="canvas"]`'s own `:focus-visible` outline so the two stay visually in sync),
162
+ `--lr-heatmap-color-steps-gradient` (default
163
+ `linear-gradient(to right, var(--lr-heatmap-scale-lo), var(--lr-heatmap-scale-hi))` — the gradient
164
+ painted on the continuous legend bar; the component writes it onto the host itself while
165
+ `colorSteps` is supplied and removes it again when it isn't, so it is a read-out rather than a knob
166
+ you set). `--lr-heatmap-annotation-color` (default `var(--lr-color-danger)` — the canvas-drawn ring
167
+ stroked around an annotated cell, deliberately not one of the sequential ramp colors so it stays
168
+ visible regardless of what it's drawn over). `--lr-heatmap-selected-color` (default
169
+ `var(--lr-color-success)` — the canvas-drawn ring stroked around the persistent `selectedCell`, a
170
+ dedicated token distinct from both the focus ring and the annotation ring so a host can retheme it
171
+ independently). `--lr-heatmap-tooltip-bg` (default
172
+ `var(--lr-color-surface)`) and `--lr-heatmap-tooltip-text` (default `var(--lr-color-text)`) —
173
+ unlike the canvas-drawn tokens above, `[part="tooltip"]` is a real DOM element and consumes these
174
+ directly, no `getComputedStyle` bridging needed. Also consumes `--lr-color-text-quiet` (axis label
175
+ color), `--lr-space-xs`, `--lr-radius`/`--lr-shadow` (tooltip box), and `--lr-focus-ring-width`/
176
+ `--lr-focus-ring-offset` (the real `[part="canvas"]:focus-visible` DOM outline, stroked in the
177
+ same color as `--lr-heatmap-focus-ring-color`).
178
+
179
+ **Optional peer deps:** none.
180
+
181
+ ```html
182
+ <lr-heatmap value-label="requests"></lr-heatmap>
183
+ <script>
184
+ const hm = document.querySelector('lr-heatmap');
185
+ hm.rowLabels = ['Mon', 'Tue', 'Wed'];
186
+ hm.colLabels = ['00h', '06h', '12h', '18h'];
187
+ hm.values = [[3, 8, 12, 4], [1, 2, 9, 5], [0, 4, 6, 2]];
188
+ </script>
189
+ ```
190
+
191
+ ```html
192
+ <!-- Calendar mode: a GitHub-contributions-style day grid -->
193
+ <lr-heatmap mode="calendar" value-label="commits"></lr-heatmap>
194
+ <script>
195
+ document.querySelector('lr-heatmap').days = [
196
+ { date: '2026-01-01', value: 3 },
197
+ { date: '2026-01-02', value: 0 },
198
+ // ...
199
+ ];
200
+ </script>
201
+ ```
202
+
203
+ **Known gotchas:**
204
+ - `legendStops` *replaces* the lo/hi gradient bar rather than adding to it: supplying it removes
205
+ `[part="legend-lo"]`, `[part="legend-hi"]` and the bar from the DOM, so a stylesheet targeting
206
+ those parts silently stops applying. It is also presentation-only — it never feeds back into the
207
+ cell colors, so the stops and a `cellColor` callback have to be kept in agreement by the consumer
208
+ (the point of the property is that they *can* be, from one shared function).
209
+ - the `ResizeObserver` only actually resizes the drawn grid **when `fit-to-width` is set**, in either
210
+ mode. Without it (the default), `draw()` sizes the canvas as `PAD_LEFT + cols * cellSize` (matrix
211
+ mode) or `CAL_PAD_LEFT + weekCount * cellSize` (calendar mode), never from the host's measured
212
+ width, so a container-resize redraw is a geometric no-op; the stylesheet's
213
+ `canvas { inline-size: 100% }` is also dead code in that case, since `draw()` unconditionally sets
214
+ an inline `canvas.style.width/height` that wins over it.
215
+ - the host is `role="group"` (not `role="img"`) with a dimensions+range summary `aria-label`
216
+ (calendar mode: a day-count + range summary instead) — `[part="canvas"]` inside it is a real
217
+ focusable, keyboard-operable, per-cell-interactive control (roving arrow-key focus,
218
+ `[part="live-region"]` announcements, `lr-cell-click`), and `role="img"` is documented (ARIA) to
219
+ flatten its subtree to a single image for some assistive tech, which conflicted with that
220
+ focusable descendant — fixed, matching `lr-lite-chart`/`lr-word-cloud`'s existing `role="group"`
221
+ pattern.
222
+ - `NaN`/non-finite cell values in matrix mode are correctly treated as no-data now (alongside `-1`),
223
+ and repeated DPR crossings (moving the window across displays with different pixel ratios) no
224
+ longer leak a `MediaQueryList` listener per crossing — both previously-known issues are fixed.
225
+ - calendar mode's date labels (used by the default `cellText` template and the tooltip/live-region
226
+ text) now format via the runtime locale (`toLocaleString(undefined, ...)`) instead of a hardcoded
227
+ `'en'` — fixed. The canvas-drawn axis chrome is now locale-aware too: month labels use
228
+ `toLocaleString(undefined, ...)` (previously hardcoded `'en'`) and weekday labels are derived via
229
+ `Intl.DateTimeFormat(undefined, { weekday: 'short' })` (previously a literal English `['', 'Mon',
230
+ '', 'Wed', '', 'Fri', '']` array) — same sparse every-other-day spacing, just locale-correct text.
231
+
232
+ ---
@@ -0,0 +1,31 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
2
+
3
+ # `lr-highlight-layer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/viewers/highlight-layer/highlight-layer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraHighlightLayer`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/highlight-layer/highlight-layer.class.js`
7
+ - **Family** `components/viewers/` — 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-highlight-layer`
14
+
15
+ A presentational overlay that paints highlight rectangles (percent-of-box coordinates) over
16
+ positioned content and owns their activation, active/flash styling, and keyboard access. `items`
17
+ order is the caller's own reading order; the layer does not re-sort geometrically. Fills its nearest
18
+ positioned ancestor.
19
+
20
+ **Properties:** `items: HighlightLayerItem[] = []` (attribute: false), `activeId: string | null =
21
+ null` (attribute `active-id`), and `interactive: boolean = true` (reflected) — gates click/keyboard
22
+ activation.
23
+
24
+ **Methods:** `flash(id)` briefly re-triggers the flash styling for an already-rendered rect (e.g. a
25
+ re-click of the same source citation).
26
+
27
+ **Events:** `lr-highlight-activate` — a rect was activated (click, or Enter/Space while focused).
28
+ `detail: { id }`.
29
+
30
+ **CSS parts:** `base` (the absolutely-positioned overlay, inset 0) and `rect` (one highlight
31
+ rectangle; carries `data-tone`/`data-active`/`data-flash` state attributes).
@@ -0,0 +1,69 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/charts.md — do not edit this file. -->
2
+
3
+ # `lr-histogram`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/charts/chart/histogram.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraHistogram`, also available unregistered from `@aceshooting/lyra-ui/components/charts/chart/histogram.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
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-histogram`
14
+
15
+ Bins `values` into `bins` equal-width buckets and renders as a bar chart (extends `LyraChart`,
16
+ `type` fixed to `'bar'`).
17
+
18
+ **Properties:**
19
+ - `bins: number = 10` — finite values are floored and clamped to 0–1,000 before allocation;
20
+ non-finite values produce no buckets
21
+ - `values: number[] = []` (attribute: false)
22
+ - `label: string = ''` — dataset label used for the legend/tooltip/accessible summary; empty (the
23
+ default) falls back to the localized "Frequency" string
24
+ - `labels`/`datasets`/`type` are **derived, read-only** (installed as getter/setter pairs on the
25
+ prototype; direct writes are silently ignored) — `labels`/`datasets` are computed from
26
+ `values`/`bins` (memoized per instance, keyed by reference equality on `values` plus the
27
+ normalized `bins`), and `type` always reads back `'bar'` regardless of any assignment. The `type`
28
+ lock is the same `lockChartType()` accessor pair the typed `lr-*-chart` subclasses use (e.g.
29
+ `llms/components/lr-bar-chart.md`) — `el.type = 'line'` is a genuine no-op here too.
30
+ - All other `LyraChart` properties are inherited and usable: `legend`, `legendPosition` (attribute
31
+ `legend-position`), `valueFormatter`, `area`, `zoom`, `config`, `height`, `xLabel` (`x-label`),
32
+ `yLabel` (`y-label`), `y2Label` (`y2-label`), `beginAtZero` (`begin-at-zero`), `horizontal`,
33
+ `stacked`, `accessibleLabel` (`accessible-label`), `accessibleDescription`
34
+ (`accessible-description`), `showDataTable` (`show-data-table`), `chartArea` (readonly).
35
+
36
+ **Methods:** `resetZoom()`, `refreshTheme()` — both inherited.
37
+
38
+ **Events:** `lr-zoom`, `lr-point-click` — inherited; `lr-point-click`'s `index` is the bucket index
39
+ and `label` the generated bucket range string (`"lo–hi"`, both bounds at one decimal place).
40
+
41
+ **Slots:** `data-table`, `center`.
42
+
43
+ **CSS parts:** `base`, `canvas`, `reset-zoom-button`, `description`, `data-table`, `center`.
44
+
45
+ **Themeable custom properties:** `--lr-chart-height`, `--lr-chart-grid-color`,
46
+ `--lr-chart-tick-color`, `--lr-chart-legend-color`, `--lr-chart-tooltip-bg`,
47
+ `--lr-chart-tooltip-text` — inherited from `LyraChart`, identical in meaning.
48
+
49
+ **Optional peer deps:** the same `chart.js` (+ `chartjs-plugin-zoom` when `zoom` is set) peers.
50
+
51
+ All of the above behave exactly as documented in `llms/components/lr-chart.md` — read that file for
52
+ their semantics, defaults, and gotchas.
53
+
54
+ ```html
55
+ <lr-histogram bins="12"></lr-histogram>
56
+ <script>
57
+ document.querySelector('lr-histogram').values = [1, 2, 2, 3, 5, 5, 5, 8, 13, 13];
58
+ </script>
59
+ ```
60
+
61
+ **Known gotchas:**
62
+ - `bins <= 0` no longer crashes: `binValues()` now returns an empty bucket array for `binCount <= 0`
63
+ (or empty `values`), so the histogram just renders with no bars instead of throwing.
64
+ - excessively large finite bin counts are capped at 1,000, preventing an attribute or direct
65
+ property write from requesting an unbounded bucket array.
66
+ - non-finite samples in `values` are dropped before bucketing rather than corrupting bucket-index
67
+ math; constant data (every sample equal) lands wholly in the **first** bucket, not the last.
68
+
69
+ ---
@@ -0,0 +1,30 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
2
+
3
+ # `lr-html-viewer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/viewers/html-viewer/html-viewer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraHtmlViewer`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/html-viewer/html-viewer.class.js`
7
+ - **Family** `components/viewers/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `dompurify` — see `llms/peers.md`
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-html-viewer`
14
+
15
+ Fetches an HTML document, sanitizes it with the optional `dompurify` peer, and renders the safe markup
16
+ inside a bounded, scrollable body.
17
+
18
+ **Properties:** `src`, `name`, and `maxHeight` (attribute `max-height`) are strings.
19
+
20
+ **Events:** `lr-render-error` with `detail.error` when fetching or sanitizing fails.
21
+
22
+ **CSS parts:** `base`, `body`, `html`, `spinner`, and `error`.
23
+
24
+ **Themeable custom properties:** `--lr-html-viewer-max-height` (default `none`) — maximum block size
25
+ of `[part="body"]`; also settable via the `max-height` property, which writes this token inline.
26
+
27
+ **Optional peer dependency:** `dompurify`.
28
+
29
+ Remote resources are capped at 25 MB; exceeding it surfaces the localized
30
+ `documentPreviewResourceTooLarge` message instead of the document.
@@ -0,0 +1,39 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
2
+
3
+ # `lr-icon-button`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/forms/icon-button/icon-button.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraIconButton`, also available unregistered from `@aceshooting/lyra-ui/components/forms/icon-button/icon-button.class.js`
7
+ - **Family** `components/forms/` — 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-icon-button`
14
+
15
+ An accessible icon-only action button — a native `<button>` wrapping an `lr-icon`. Not
16
+ form-associated: it is an action trigger, so `type="submit"`/`"reset"` work through the ancestor
17
+ form the way a native button does, but the element itself contributes no form value.
18
+
19
+ **Properties:**
20
+ - `icon: string = ''` — an `lr-icon` glyph name (see `llms/components/lr-icon.md`)
21
+ - `accessibleLabel: string = ''` (attribute: `aria-label`) — the typed override for the button's
22
+ accessible name; wins over `label`
23
+ - `label: string = ''` — accessible name when `accessibleLabel` is unset
24
+ - `disabled: boolean = false` (reflected)
25
+ - `type: 'button' | 'submit' | 'reset' = 'button'`
26
+
27
+ With neither `accessibleLabel` nor `label` set, the name falls back to the localized
28
+ `iconButtonLabel` string rather than being empty — override it per instance with `.strings` or
29
+ app-wide with `registerLyraLocale()` (see `llms/shared.md`); don't rely on the fallback for a
30
+ button whose purpose isn't generic.
31
+
32
+ **Methods:** `focus(options?)`, `blur()` — forward to the native button.
33
+
34
+ **Slots:** (default) — custom icon content, forwarded into the inner `lr-icon`'s slot; use it
35
+ instead of `icon` for a glyph outside the built-in set.
36
+
37
+ **CSS parts:** `button`
38
+
39
+ **Themeable custom properties:** `--lr-icon-button-size` sets both dimensions of the hit target.
@@ -0,0 +1,36 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/utility.md — do not edit this file. -->
2
+
3
+ # `lr-icon`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/utility/icon/icon.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraIcon`, also available unregistered from `@aceshooting/lyra-ui/components/utility/icon/icon.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-icon`
14
+
15
+ Dependency-free SVG path icon: no icon font, no sprite sheet, no network fetch. Pairs with
16
+ `lr-icon-button` (see `llms/components/lr-icon-button.md`).
17
+
18
+ **Properties:**
19
+ - `name: string = ''` — a built-in glyph: `add`, `check`, `close`, `search`, `menu`,
20
+ `chevron-left`, `chevron-right`, `chevron-down`, `calendar`, `command`, `trash`. An unknown name
21
+ renders nothing (no error, no fallback glyph).
22
+ - `path: string = ''` — raw SVG path data for a glyph the built-in set doesn't cover. Takes
23
+ precedence over `name`.
24
+ - `label: string = ''` — accessible name. Left empty (the default) the SVG is `aria-hidden="true"`,
25
+ which is what you want whenever adjacent text already names the control.
26
+
27
+ **Slots:** (default) — custom SVG geometry, rendered only when neither `path` nor a known `name`
28
+ resolves. Slotted nodes are cloned into the component-owned `<svg>` (Chromium does not paint SVG
29
+ geometry distributed through a slot that sits inside an SVG), so pass plain `<path>`/`<circle>`/
30
+ `<g>` elements, not a whole `<svg>`.
31
+
32
+ **CSS parts:** `svg`
33
+
34
+ **Themeable custom properties:** `--lr-icon-size` (default `--lr-size-1-25rem`) sets both
35
+ dimensions. Stroke color is `currentColor` and the host is `color: inherit`, so color comes from
36
+ the surrounding text with no configuration.
@@ -0,0 +1,38 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/media.md — do not edit this file. -->
2
+
3
+ # `lr-image-comparer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/media/image-comparer/image-comparer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraImageComparer`, also available unregistered from `@aceshooting/lyra-ui/components/media/image-comparer/image-comparer.class.js`
7
+ - **Family** `components/media/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-image-comparer`
14
+
15
+ Before/after comparison surface with two named slots and a keyboard-accessible native range handle.
16
+
17
+ **Properties:**
18
+ - `position: number = 50` (attribute `position`, reflected) — divider position from 0 to 100
19
+ - `orientation: 'horizontal'|'vertical' = 'horizontal'` (attribute `orientation`, reflected)
20
+ - `accessibleLabel: string | null` (attribute `aria-label`) — accessible name for the comparison
21
+ and its range handle
22
+ - `beforeLabel`/`afterLabel` — fallback text for empty named slots
23
+
24
+ **Events:** `lr-position-change` (`detail: { position }`), plus composed `focus` and `blur` events
25
+ from the internal range handle.
26
+
27
+ **Slots:** `before`, `after`.
28
+
29
+ **CSS parts:** `base`, `before`, `after`, `divider`, and `handle`.
30
+
31
+ ```html
32
+ <lr-image-comparer aria-label="Before and after">
33
+ <img slot="before" alt="Before" src="before.png">
34
+ <img slot="after" alt="After" src="after.png">
35
+ </lr-image-comparer>
36
+ ```
37
+
38
+ ---
@@ -0,0 +1,35 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/media.md — do not edit this file. -->
2
+
3
+ # `lr-image-viewer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/media/image-viewer/image-viewer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraImageViewer`, also available unregistered from `@aceshooting/lyra-ui/components/media/image-viewer/image-viewer.class.js`
7
+ - **Family** `components/media/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-image-viewer`
14
+
15
+ A full pan/zoom raster-image viewer with labeled region highlights and opt-in region annotation, the
16
+ landing surface for `region`-anchored citations. Distinct from `<lr-svg-viewer>` (rendered SVG
17
+ documents) and `<lr-image-comparer>` (before/after slotted surfaces). Adopts `DocumentAnchorTarget`
18
+ with `anchorKinds: ['region']` only — no text selection is bound.
19
+
20
+ **Properties:** `src: string = ''`, `name: string = ''`, `alt?: string`, `fit: 'contain' | 'width' |
21
+ 'actual' = 'contain'` (reflected), `zoom: number = 1` (reflected), `rotation: 0 | 90 | 180 | 270 = 0`
22
+ (reflected), and `annotatable: boolean = false` (reflected).
23
+
24
+ **Methods:** `rotate()` advances `rotation` by 90°. `zoomIn()`, `zoomOut()`, and `resetZoom()` adjust
25
+ the embedded zoomable-frame's zoom.
26
+
27
+ **Events:** `lr-load` (`detail: { naturalWidth, naturalHeight }`), `lr-zoom-change` (`detail: {
28
+ zoom }`), `lr-rotation-change` (`detail: { rotation }`), `lr-fit-change` (`detail: { fit }`),
29
+ `lr-highlight-activate` (`detail: { id }`), `lr-annotation-create` (`detail: { anchor }`, kind
30
+ `'region'`), `lr-anchor-result` (`detail: { found }`), and `lr-render-error` (`detail: { error
31
+ }`).
32
+
33
+ **CSS parts:** `base`, `toolbar`, `fit-control`, `rotate-button`, `annotate-toggle`, `frame` (the
34
+ embedded `lr-zoomable-frame`), `image-wrapper`, `image`, `highlight-layer`, `highlight` (carries
35
+ `data-tone`/`data-active`), `highlight-label`, `annotation-box`, and `error`.
@@ -0,0 +1,53 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
2
+
3
+ # `lr-include`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/viewers/include/include.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraInclude`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/include/include.class.js`
7
+ - **Family** `components/viewers/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `dompurify` — see `llms/peers.md`
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-include`
14
+
15
+ Fetches an HTML fragment from `src` and transcludes it as sanitized **light-DOM** content, so the
16
+ fragment participates in the surrounding page's CSS cascade like a native server-side include —
17
+ unlike `<lr-html-viewer>`, which renders a foreign document inside an isolated preview card. The
18
+ markup always passes through the shared DOMPurify-backed sanitizer before it reaches `innerHTML`;
19
+ there is deliberately no `allow-scripts`-style escape hatch (the Web Awesome/Shoelace equivalents'
20
+ raw injection option is omitted, not shipped as a no-op).
21
+
22
+ A bare primitive: no label/hint/error chrome, no implicit role, no computed accessible name, and no
23
+ `aria-live` wrapper (the fragment can carry its own landmarks; wrapping the host would re-announce
24
+ all of it on every load). `aria-busy="true"` is set on the host while a fetch is in flight and
25
+ removed once it settles either way. Build error UI from `lr-include-error`.
26
+
27
+ **Properties:**
28
+ - `src: string = ''` (reflected) — URL of the fragment, validated through the shared `safeFetchUrl()`
29
+ allowlist (`http:`, `https:`, `blob:`, `data:`). Empty/falsy is a no-op: no fetch, no events,
30
+ existing content untouched.
31
+ - `mode: 'cors' | 'no-cors' | 'same-origin' = 'same-origin'` (reflected) — forwarded to
32
+ `fetch(url, { mode })`. Defaults to `same-origin` (not the upstream components' `cors`) so
33
+ cross-origin fetching is opt-in; an invalid value is normalized back to `same-origin` rather than
34
+ letting `fetch()` throw. `no-cors` is accepted for enum completeness but always yields an opaque
35
+ response (`status` `0`, unreadable body) — a Fetch API limitation, not a bug here.
36
+
37
+ **Events:**
38
+ - `lr-load` — `detail: { src }` — the fragment was sanitized and written into the light DOM.
39
+ - `lr-include-error` — `detail: { status, reason, error? }`. `reason` is a `LyraIncludeErrorReason`:
40
+ `'blocked-url'` (`src` failed the allowlist; `fetch()` never ran), `'network'` (`fetch()` rejected),
41
+ `'http'` (response not `ok`; `status` carries the code), `'missing-sanitizer'` (the optional
42
+ `dompurify` peer failed to load), or `'resource-too-large'` (the body exceeded the shared 25 MB
43
+ cap). `status` is `0` for every reason but `'http'`.
44
+
45
+ **Slots:** default — fallback content shown until (or unless) a fetch succeeds. It is overwritten by
46
+ the sanitized fragment on success, and left untouched on failure (as is any previously successful
47
+ include).
48
+
49
+ **CSS parts:** `base` — the `display: contents` wrapper around the default slot.
50
+
51
+ Deviates from the shared degraded-render contract: an absent `dompurify` fires
52
+ `lr-include-error` with `reason: 'missing-sanitizer'` and leaves the existing content in place —
53
+ unsanitized markup is never transcluded.
@@ -0,0 +1,60 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/retrieval.md — do not edit this file. -->
2
+
3
+ # `lr-ingestion-queue`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/retrieval/ingestion-queue/ingestion-queue.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraIngestionQueue`, also available unregistered from `@aceshooting/lyra-ui/components/retrieval/ingestion-queue/ingestion-queue.class.js`
7
+ - **Family** `components/retrieval/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-ingestion-queue`
14
+
15
+ Controlled list of documents moving through an ingestion pipeline: stage badge, progress, chunk/
16
+ embedding counts, retry attempts, errors, and retry/cancel requests. Never ingests anything itself.
17
+
18
+ **Properties:**
19
+ - `items: IngestionQueueItem[] = []` (attribute: false) — `IngestionQueueItem { id: string;
20
+ document: DocumentRef; stage: IngestionStage; progress?: number; chunkCount?: number;
21
+ embeddedChunkCount?: number; attempts?: number; error?: string }` (exported here). `document` is
22
+ **`DocumentRef` from `@aceshooting/lyra-ui/ai`** (`{ id, name, mimeType?, uri?, version? }`), not a
23
+ divergent name/mimeType pair, so a caller can reuse the same list a `DocumentRef`-typed
24
+ knowledge-base view already holds. `IngestionStage = 'queued' | 'uploading' | 'extracting' |
25
+ 'chunking' | 'embedding' | 'indexing' | 'done' | 'failed' | 'cancelled'` — the first six are
26
+ in-flight (in pipeline order), the last three terminal. `progress` is 0–100 *within the current
27
+ stage* (omitted/non-finite renders an indeterminate indicator, and it is only meaningful during an
28
+ active non-`'queued'` stage). `embeddedChunkCount` renders only alongside a defined `chunkCount`.
29
+ `error` renders only while `stage === 'failed'`. Controlled — pass a new array to update
30
+ - `label: string = ''` — accessible name for the region; defaults to the localized
31
+ `ingestionQueueLabel`
32
+ - `virtualizeThreshold: number = 100` (attribute `virtualize-threshold`) — item count above which the
33
+ list renders through an internal `lr-virtual-list`
34
+
35
+ **Events:**
36
+ - `lr-retry` (`detail: IngestionRetryEventDetail` = `RetryEventDetail & { itemId: string }` =
37
+ `{ attempt: number; messageId?: string; itemId: string }`) — `attempt` is the attempt about to be
38
+ made, `(item.attempts ?? 0) + 1`. Only offered on `'failed'` rows.
39
+ - `lr-cancel` (`detail: IngestionCancelEventDetail` = `CancelEventDetail & { itemId: string }` =
40
+ `{ reason?: string; itemId: string }`) — this component never supplies `reason` itself. Only
41
+ offered on non-terminal rows (`'queued'` plus the five active stages).
42
+
43
+ Both `RetryEventDetail` and `CancelEventDetail` come from `@aceshooting/lyra-ui/ai`.
44
+
45
+ **Slots:** none.
46
+
47
+ **CSS parts:** `base`, `list`, `item`, `item-header`, `item-name`, `item-meta`, `item-stage` (the
48
+ per-item stage label), `item-progress`,
49
+ `item-chunk-count`, `item-embedding-status` (the "N of M chunks embedded" text, only once both
50
+ `chunkCount` and `embeddedChunkCount` are set), `item-attempts` (only once `attempts > 0`),
51
+ `item-error` (only for `stage="failed"` with `error` set), `item-actions`, `retry-button`,
52
+ `cancel-button`, `empty`.
53
+
54
+ **Themeable custom properties:** `--lr-ingestion-queue-max-height` (default `none`) — non-virtualized
55
+ mode only: caps how tall the list grows before it scrolls internally. No effect once virtualized —
56
+ retheme the internal list via `lr-virtual-list { --lr-virtual-list-height: … }` instead.
57
+
58
+ **Optional peer deps:** none.
59
+
60
+ ---