@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-line-chart`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/charts/chart/line-chart.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraLineChart`, also available unregistered from `@aceshooting/lyra-ui/components/charts/chart/line-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-bar-chart`, `lr-pie-chart`, `lr-doughnut-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,143 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/charts.md — do not edit this file. -->
2
+
3
+ # `lr-lite-chart`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/charts/chart/lite-chart.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraLiteChart`, also available unregistered from `@aceshooting/lyra-ui/components/charts/chart/lite-chart.class.js`
7
+ - **Family** `components/charts/` — 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-lite-chart`
14
+
15
+ A dependency-free bar/line chart — plain SVG/DOM rendering, zero peer dependencies (unlike
16
+ `lr-chart`, which wraps `chart.js`). For a project whose architecture forbids a charting
17
+ dependency outright: covers grouped/stacked bars, multi-series lines, per-point click, and hover
18
+ tooltips (native SVG `<title>`, no positioning JS) — not a full `lr-chart` replacement (no
19
+ zoom/pan, no pie/doughnut/radar/scatter/bubble types, no horizontal/dual-y-axis, no raw-config
20
+ passthrough). Not a subclass of `LyraChart`.
21
+
22
+ **Properties:**
23
+ - `type: LyraLiteChartType = 'bar'` — `'bar' | 'line'`
24
+ - `labels: string[] = []` (attribute: false)
25
+ - `datasets: LiteSeries[] = []` (attribute: false) — `LiteSeries { label: string; data:
26
+ (number|null)[]; color?: string }`
27
+ - `legend: boolean = false`
28
+ - `height: string = '280px'`
29
+ - `xLabel: string = ''` (attribute `x-label`)
30
+ - `yLabel: string = ''` (attribute `y-label`)
31
+ - `beginAtZero: boolean = true` (attribute `begin-at-zero`)
32
+ - `stacked: boolean = false` — sums each category's bars into one segmented bar instead of grouping
33
+ them side by side; ignored for `type="line"`
34
+ - `tickFormat?: (value: number) => string` (attribute: false) — formats a y-axis tick value for
35
+ display (e.g. `(v) => \`$${v.toFixed(2)}\`` for currency, or a duration formatter for `"42s"`).
36
+ Falls back to the built-in "nice numbers" formatter when unset.
37
+ - `layout: 'fit' | 'scroll' = 'fit'` (reflected) — `'fit'` (default) is the original squeeze-the-
38
+ whole-plot-to-host-width behavior, unchanged. `'scroll'` gives bars a fixed `barWidth` instead: plot
39
+ content width becomes `categoryCount * barWidth` (can exceed the host's measured width), and
40
+ `[part='base']` becomes horizontally `overflow-x: auto` so the user scrolls to see every bar at a
41
+ legible fixed width instead of them compressing as category count grows. Bar type only.
42
+ - `barWidth: number = 32` (attribute `bar-width`, px) — each bar's fixed width in `layout="scroll"`
43
+ mode; ignored in the default `'fit'` mode.
44
+ - `maxLabels?: number` (attribute `max-labels`, type Number) — decimates which category axis labels
45
+ actually render *text* when `labels.length > maxLabels` (bars themselves are never decimated, only
46
+ their axis `<text>` labels): always shows the first and last label, and roughly evenly distributes
47
+ the rest between them. Works in either `layout` mode. Unset (the default) renders every label,
48
+ unchanged.
49
+ - `barX?: (index: number) => number` (attribute: false, bar type only) — overrides the internal
50
+ per-category x-origin formula (`plotX + i * slot`) used by both bars and their axis labels, so a
51
+ consumer can pixel-align this chart's bars with a sibling `<lr-heatmap>` calendar's week columns
52
+ (see that component's own `columnX`) by supplying the same coordinate function to both. Unset (the
53
+ default) is the original formula, unchanged.
54
+ - `pointText?: (label: string, value: number, datasetIndex: number) => string` (attribute: false) —
55
+ overrides the per-bar/per-point `<title>`/`aria-label` tooltip text (mirrors `lr-heatmap`'s
56
+ `cellText`). Falls back to the built-in raw-value template when unset.
57
+ - `legendText?: (label: string, datasetIndex: number) => string` (attribute: false) — appends
58
+ formatter-supplied text (e.g. a value or percentage share) after each series' label in the
59
+ built-in legend row, mirroring `pointText`/`tickFormat`'s opt-in-hook convention. Falls back to
60
+ the label alone when unset; no-op while `legend` is `false`.
61
+ - `roundedBars: boolean = false` (attribute `rounded-bars`, bar type only) — draws each bar as a
62
+ rounded-top-corner shape instead of a square-cornered `<rect>`.
63
+ - `skipZero: boolean = false` (attribute `skip-zero`, bar type only) — omits a bar entirely (no
64
+ mark/tabindex/tooltip) for a value that is exactly `0`; `null`/non-finite values are always
65
+ skipped regardless.
66
+ - `padLeft?: number` (attribute `pad-left`) — overrides the internal 36px `PAD_LEFT` plot-left-
67
+ padding constant. Unset keeps the fixed 36px.
68
+ - `barGapRatio?: number` (attribute `bar-gap-ratio`) — overrides the internal 0.2 `BAR_GROUP_GAP`
69
+ fraction of a category slot left as a gap between categories. Unset keeps the fixed 0.2.
70
+ - `scale: 'linear' | 'sqrt' = 'linear'` (bar type only) — `'sqrt'` maps a bar's value to height via
71
+ `Math.sqrt(value / domainMax)` instead of the standard linear `niceDomain` fraction (mirroring
72
+ `lr-heatmap`'s matrix-mode `sqrt` scale), so a skewed dataset's smaller bars aren't washed out
73
+ by one dominant value; gridlines/tick labels stay on the linear domain either way, and `type="line"`
74
+ ignores it entirely.
75
+ - `hideAxis: boolean = false` (attribute `hide-axis`) — suppresses gridlines/y-axis tick labels
76
+ altogether; x-axis category labels (rendered separately) are unaffected.
77
+ - `selectedIndex: number[] = []` (attribute: false) — category indexes to mark `data-selected` on
78
+ every bar/segment at that index, across every dataset — e.g. to highlight a whole selected week's
79
+ column in a stacked chart. Empty (the default) reproduces the exact existing output: no bar
80
+ carries `data-selected`. This component takes no opinion on what the highlight looks like, only
81
+ which bars it applies to — style it via `::part(bar)[data-selected]`.
82
+ - `minBarHeight?: number` (attribute `min-bar-height`) — optional minimum visible bar height for
83
+ small non-zero values
84
+ - `accessibleLabel?: string` (attribute `accessible-label`) — SVG accessible-name override; a host
85
+ `aria-label` wins
86
+
87
+ **Events:** `lr-point-click` — fired when a bar/point is activated (click, or Enter/Space while
88
+ focused). `detail: { datasetIndex: number, index: number, label: string | undefined, value: number
89
+ | null }` — same shape as `lr-chart`'s `lr-point-click`.
90
+
91
+ The axis gutter/title and y-axis labels mirror to logical start under RTL. Built-in mark summaries
92
+ are complete localized templates and format values with `effectiveLocale`.
93
+
94
+ **Performance:** `render()` recomputes the grid/marks on every update rather than memoizing against a
95
+ content signature — `datasets`/`labels` can hold callbacks (`tickFormat`, `barX`) or arbitrary,
96
+ possibly circular or BigInt-bearing application data that a fingerprint can't serialize safely, so a
97
+ fresh, small SVG render is cheaper and more correct than a lossy cache.
98
+
99
+ **Slots:** none.
100
+
101
+ **CSS parts:** `base`, `grid-line`, `axis-label`, `axis-title`, `bar` (each bar rect; carries
102
+ `data-selected` when its category index is in `selectedIndex`), `line`, `point`, `legend`,
103
+ `legend-item`, `legend-swatch`, `legend-text` (extra per-item text after the series label,
104
+ rendered only when `legendText` is set), `live-region` (the current mark announcement for keyboard
105
+ users), `data-list` (a visually hidden list of all plotted data points).
106
+
107
+ **Themeable custom properties:** `--lr-chart-height` (same host-level property as `lr-chart`);
108
+ `--lr-chart-grid-color`, `--lr-chart-tick-color`, `--lr-chart-legend-color` — same token
109
+ *names* as `lr-chart`, so a host already theming `lr-chart` themes this for free;
110
+ `--lr-lite-chart-selected-outline-color` (default `var(--lr-color-brand)`) — the stroke drawn on
111
+ `[part='bar'][data-selected]`, i.e. bars whose category index is in `selectedIndex` (bars only;
112
+ `[part='point']` is never marked `data-selected`, and the stroke width is a fixed 2px). Unlike
113
+ `lr-chart` (canvas-rendered, needs `getComputedStyle`-based re-theming on every draw), this is
114
+ plain SVG/DOM and reads these via native CSS `var()` — no JS-side resolution step, and no
115
+ `refreshTheme()` method needed (there's nothing to go stale).
116
+
117
+ **Optional peer deps:** none. This is the point of the component.
118
+
119
+ ```html
120
+ <lr-lite-chart type="bar" stacked legend x-label="Week" y-label="Commits"></lr-lite-chart>
121
+ <script>
122
+ const c = document.querySelector('lr-lite-chart');
123
+ c.labels = ['W1', 'W2', 'W3', 'W4'];
124
+ c.datasets = [
125
+ { label: 'Docs', data: [4, 6, 3, 8] },
126
+ { label: 'Bugs', data: [3, 2, 5, 4] },
127
+ ];
128
+ </script>
129
+ ```
130
+
131
+ **Known gotchas:**
132
+ - No `horizontal` mode (unlike `lr-chart`) — deliberately cut from scope, not a stub: bars are
133
+ always vertical.
134
+ - No dual y-axis (`Series.axis: 'y2'`) — every series shares one y-axis/domain.
135
+ - Series colors default to a fixed built-in 8-color categorical palette (round-robin by dataset
136
+ index) when `color` is unset — not configurable beyond passing `color` per series.
137
+ - Bar/point elements are real focusable DOM nodes (`tabindex="0" role="button"`, each with its own
138
+ `aria-label`), so the `<svg>` itself uses `role="group"`, not `role="img"` — an "img" role would
139
+ conflict with genuinely interactive descendants (axe's `nested-interactive` rule).
140
+ - Tick values use a standard "nice numbers" (1/2/5 × 10ⁿ) rounding step, not exact data min/max —
141
+ intentional (readable axis labels), matches how most charting libraries pick tick steps.
142
+
143
+ ---
@@ -0,0 +1,105 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/utility.md — do not edit this file. -->
2
+
3
+ # `lr-live-region`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/utility/live-region/live-region.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraLiveRegion`, also available unregistered from `@aceshooting/lyra-ui/components/utility/live-region/live-region.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-live-region` (+ internal `Announcer`)
14
+
15
+ A throttled screen-reader announcement helper, split into a DOM-free coalescing engine
16
+ (`internal/announcer.ts`'s `Announcer` class) and a real custom element that wraps it.
17
+
18
+ ### Internal: `Announcer` (`internal/announcer.ts`)
19
+
20
+ Not a custom element — pure timing/coalescing logic with no DOM dependency, composed by
21
+ `<lr-live-region>` (below) and intended for reuse by any other component that needs throttled
22
+ announcements (a stream-status indicator, a tool-call chip's status transitions, a chat message's
23
+ streaming state).
24
+
25
+ Streaming UIs (token-by-token chat responses, progress ticks, etc.) naturally produce far more
26
+ candidate announcements than a screen-reader user can usefully absorb — reading every incremental
27
+ chunk aloud is spam, not information. `Announcer` collapses a burst of `announce()` calls arriving
28
+ within `throttleMs` of the *first* call in that burst down to a single trailing-edge flush of the
29
+ latest text: superseded intermediate text is dropped outright, never queued or concatenated.
30
+
31
+ - `new Announcer(options: AnnouncerOptions)` where
32
+ `AnnouncerOptions = { throttleMs?: number /* = 500 */; onFlush: (text: string) => void }`.
33
+ - `announce(text: string, options?: AnnounceOptions)` where `AnnounceOptions = { force?: boolean }` —
34
+ queues `text`, overwriting whatever an earlier call in the same burst queued. Only the *first*
35
+ call of a burst schedules the flush timer, so the deadline stays anchored to that first call
36
+ rather than being pushed back by every subsequent call. `{ force: true }` bypasses any
37
+ in-progress window and flushes immediately, so a terminal message (e.g. "response complete") is
38
+ never swallowed mid-burst.
39
+ - `cancel()` — drops any pending (not yet flushed) text without invoking `onFlush`.
40
+ - `pendingText: string | undefined` — the latest text awaiting flush, if a burst is in progress.
41
+ - `isPending: boolean` — whether a flush is currently scheduled.
42
+ - `throttleMs` — a plain public field, safe to change between bursts; a flush already scheduled
43
+ keeps the deadline it was scheduled with.
44
+
45
+ ### `lr-live-region`
46
+
47
+ A visually-hidden ARIA live region that throttles and coalesces announcements instead of relaying
48
+ every call verbatim, by composing an internal `Announcer`. A consumer typically mounts one
49
+ `<lr-live-region>` per page/surface (much like `<lr-toast>` is one region per placement) and
50
+ keeps a reference to call `announce()` from application code or a parent component.
51
+
52
+ **Properties:**
53
+ - `mode: 'polite' | 'assertive' = 'polite'` (reflected) — `'polite'` renders `role="status"` +
54
+ `aria-live="polite"` (waits for the user to be idle); `'assertive'` renders `role="alert"` +
55
+ `aria-live="assertive"` (interrupts)
56
+ - `throttleMs: number = 500` (attribute `throttle-ms`) — the coalescing window; see `Announcer`
57
+ above
58
+
59
+ **Methods:** `announce(text: string, options?: AnnounceOptions): void` — queues `text` for
60
+ announcement through the internal `Announcer`; `{ force: true }` bypasses the current throttle
61
+ window and flushes immediately.
62
+
63
+ **Events:** none.
64
+
65
+ **Slots:** none.
66
+
67
+ **CSS parts:** `region` — the visually-hidden element carrying `role`/`aria-live`/`aria-atomic="true"`.
68
+
69
+ **Themeable custom properties:** none component-specific — the region is hidden via the shared
70
+ `.sr-only` helper class (`internal/a11y.ts`), not tokenized CSS.
71
+
72
+ **Optional peer deps:** none.
73
+
74
+ ```html
75
+ <!-- once, near the root of a page/surface -->
76
+ <lr-live-region id="live" mode="polite"></lr-live-region>
77
+ <script type="module">
78
+ const live = document.getElementById('live');
79
+ // streaming tokens: fine to call on every chunk, only the trailing state lands
80
+ live.announce(`${partialText} …`);
81
+ // stream finished: always announced, even mid-throttle-window
82
+ live.announce('Response complete', { force: true });
83
+ </script>
84
+ ```
85
+
86
+ A parent Lit component would instead hold the reference via `@query('lr-live-region')`.
87
+
88
+ **Known gotchas:**
89
+ - Re-announcing text identical to what was last written is special-cased: screen readers announce a
90
+ live region only on text-content *change*, so the component clears `textContent` first and
91
+ re-sets it on the next animation frame (not the same tick, which can coalesce into nothing ever
92
+ appearing to change) to give assistive tech a real empty-to-populated transition to observe. The
93
+ frame is scheduled and canceled through the region's own document window, including after the
94
+ element is adopted into an iframe.
95
+ - The region's DOM is tracked outside Lit's own template bindings (`write()` mutates
96
+ `regionEl.textContent` directly) — an `announce()`/flush landing before `firstUpdated()` has run
97
+ (e.g. a consumer creates, appends, and calls `announce()` synchronously) is buffered and applied
98
+ on the next `firstUpdated()` rather than dropped.
99
+ - `disconnectedCallback()` cancels any pending (unflushed) announcement, any before-first-render
100
+ buffered write, and any in-flight re-announce animation-frame callback — an element removed before
101
+ a deferred write lands silently drops it, including across a later reconnect.
102
+ - Changing `throttle-ms` updates the live `Announcer`'s window immediately, but a flush already
103
+ scheduled under the old window keeps the deadline it was scheduled with.
104
+
105
+ ---
@@ -0,0 +1,127 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/media.md — do not edit this file. -->
2
+
3
+ # `lr-map`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/media/map/map.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraMap`, also available unregistered from `@aceshooting/lyra-ui/components/media/map/map.class.js`
7
+ - **Family** `components/media/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `maplibre-gl` — see `llms/peers.md`
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-map`
14
+
15
+ A `maplibre-gl` wrapper with a declarative legend, a single choropleth GeoJSON fill layer, markers,
16
+ and additive plain-GeoJSON `dataLayers`, plus a raw `map` escape hatch for anything unexposed.
17
+
18
+ **Properties:**
19
+ - `center: [number, number] = [0, 0]`
20
+ - `zoom: number = 2`
21
+ - `mapStyle: StyleSpecification | string = DEFAULT_STYLE` (attribute: false) — the default is a
22
+ basic OSM raster tile style pointing at **OpenStreetMap's shared demo tile server**. Fine for
23
+ local development, but its usage policy forbids bulk/production traffic, requires an identifying
24
+ User-Agent, and rate-limits or IP-blocks non-compliant clients
25
+ (https://operations.osmfoundation.org/policies/tiles/). **Production apps must pass their own
26
+ `mapStyle`** — a hosted vector/raster style from a tile provider you have a plan with.
27
+ - `legend: LegendEntry[] = []` (attribute: false) — `LegendEntry { color: string; label: string }`
28
+ (discrete swatch rows only, no continuous gradient bar)
29
+ - `choropleth?: ChoroplethLayer` (attribute: false) — `ChoroplethLayer { sourceId: string; geojson:
30
+ GeoJSON.FeatureCollection; field: string; stops: [number, string][] }` (interpolated
31
+ fill-color expression from `field`'s value against `stops`; `stops` must contain at least one
32
+ `[value, color]` pair — an empty array is ignored, leaving whatever fill layer already exists, if
33
+ any, untouched, rather than being applied)
34
+ - `markers: MapMarker[] = []` (attribute: false) — `MapMarker { id?: string; lngLat: [number,
35
+ number]; color?: string; label?: string; unsafeHtml?: string }`; reconciled by `id` (falling back
36
+ to a `lng,lat` key, disambiguated by occurrence order for duplicate-coordinate id-less markers,
37
+ when `id` is omitted) so an unchanged marker isn't torn down and recreated on every `markers`
38
+ reassignment — its `lngLat` **and** its popup content (`unsafeHtml`/`label`, in that precedence)
39
+ are both updated in place, and the popup is removed if a later update sets neither. `unsafeHtml` is
40
+ rendered via `Popup.setHTML()` — **raw markup, inline event handlers included** — only pass trusted
41
+ content, sanitize anything derived from user input first; prefer `label` (`Popup.setText()`,
42
+ escaped) when the content is plain text. A marker whose `color` changes for a persisting `id`
43
+ can't be recolored in place (no `Marker.setColor()`) and is torn down/reconstructed instead — see
44
+ gotchas.
45
+ - `dataLayers: GeoJsonDataLayer[] = []` (attribute: false) — `GeoJsonDataLayer { sourceId: string;
46
+ geojson: GeoJSON.Feature | GeoJSON.FeatureCollection; tone?: 'accent' | 'success' | 'warning' |
47
+ 'danger' | 'neutral' }`. Each entry adds one GeoJSON source plus three layers
48
+ (`${sourceId}-fill`/`${sourceId}-line`/`${sourceId}-circle`, filtered by geometry type so a mixed
49
+ `FeatureCollection` renders correctly across all three), colored from the matching `--lr-color-*`
50
+ token (`tone` defaults to `'accent'` → `--lr-color-brand`). Independent of `choropleth` — no
51
+ `field`/`stops` color-interpolation, just the geometry rendered in a flat tone; use `choropleth`
52
+ instead when you need a data-driven color ramp. Reconciled by `sourceId` the same way `choropleth`
53
+ is: an entry whose `sourceId` persists across a `dataLayers` reassignment gets its GeoJSON updated
54
+ in place (`setData()`), one that's dropped has its source/layers removed, and a genuinely new
55
+ `sourceId` gets a new source/layers — nothing leaks on removal, style change, or disconnect.
56
+ - `label: string = ''` — accessible name for the map region, applied as `[part="base"]`'s
57
+ `aria-label`. A plain `aria-label` attribute on the host itself is honored as a fallback when
58
+ `label` is left unset, matching `lr-slider`/`lr-checkbox`/`lr-switch`; with neither set, it
59
+ falls back to the localized `'map'` message.
60
+
61
+ **Getters:** `map` → the raw `maplibregl.Map` instance.
62
+
63
+ **Events:** `lr-map-load` (fired once, after the underlying map's own `'load'`), `lr-map-click`
64
+ (`detail: { lngLat: [lng, lat], feature? }` — feature only populated if a choropleth fill layer
65
+ exists and was hit)
66
+
67
+ **Slots:** none.
68
+
69
+ **CSS parts:** `base`, `container`, `legend`, `legend-swatch`
70
+
71
+ **Themeable custom properties:** shared tokens only — `--lr-space-xs/-s`, `--lr-color-surface`,
72
+ `--lr-color-border`, `--lr-shadow`, `--lr-radius`.
73
+
74
+ **Optional peer deps:** `maplibre-gl` (lazy-loaded; consumer must **separately** `import
75
+ 'maplibre-gl/dist/maplibre-gl.css'` once — the component does not do this for you).
76
+
77
+ ```html
78
+ <lr-map center="[2.35, 48.85]" zoom="10"></lr-map>
79
+ <script>
80
+ import 'maplibre-gl/dist/maplibre-gl.css';
81
+ const m = document.querySelector('lr-map');
82
+ m.choropleth = {
83
+ sourceId: 'regions',
84
+ geojson: myGeoJson,
85
+ field: 'value',
86
+ stops: [[0, '#cde2fb'], [100, '#0969da']],
87
+ };
88
+ m.legend = [{ color: '#cde2fb', label: 'Low' }, { color: '#0969da', label: 'High' }];
89
+ m.markers = [{ lngLat: [2.29, 48.86], label: 'Eiffel Tower' }];
90
+ m.addEventListener('lr-map-click', (e) => console.log(e.detail.feature?.properties));
91
+ </script>
92
+ ```
93
+
94
+ **Known gotchas:**
95
+ - clearing or swapping the choropleth no longer leaks the old layer: setting `choropleth =
96
+ undefined`, or changing `choropleth.sourceId` to a different value, now calls `removeLayer`/
97
+ `removeSource` on whatever was previously applied before adding the new one (or nothing, if
98
+ cleared).
99
+ - `mapStyle` changes after construction now call `setStyle()` (in addition to `center`/`zoom`
100
+ already calling `setCenter`/`setZoom`) — the choropleth and `dataLayers` are both automatically
101
+ re-applied once the new style's own `'style.load'` fires, since a style change wipes every
102
+ layer/source maplibre-gl knows about.
103
+ - Point markers now have a declarative API (`markers`, above) with popup support — the `.map` escape
104
+ hatch and manual `new maplibregl.Marker()` are no longer the only way to place pins.
105
+ - a marker whose `color` changes for a persisting `id` is torn down and reconstructed (maplibre-gl's
106
+ `Marker` has no `setColor()`) rather than mutated in place — this also closes any popup the user
107
+ currently has open on that marker (a fresh, closed `Popup` is built for the new instance); an
108
+ accepted side effect of the reconstruction fallback, not a bug.
109
+ - No click-select visual highlight on choropleth features (no `setFeatureState` call) — clicking
110
+ only fires the event, no built-in visual feedback. Popups are still only reachable declaratively
111
+ through `markers`' `unsafeHtml`/`label` — a choropleth-feature click still has no built-in popup,
112
+ only the raw `lr-map-click` event.
113
+ - `LegendEntry.color` is validated against a strict CSS-color-syntax allowlist before being applied
114
+ to the legend swatch's `background`, rejecting anything that isn't recognizable color syntax
115
+ (notably `url(...)`, which `background` also accepts and would otherwise fetch as soon as the
116
+ swatch renders).
117
+ - while the `maplibre-gl` peer is resolving, the host shows a `<lr-skeleton variant="rect">` with
118
+ `aria-busy="true"` in place of the map container.
119
+ - construction of the real `maplibregl.Map` (and its WebGL context) is additionally gated on this
120
+ element being observed intersecting the viewport (`IntersectionObserver`), independent of whether
121
+ the `maplibre-gl` peer has already loaded — an off-screen `<lr-map>` swaps its skeleton for the
122
+ empty `[part="container"]` div as soon as the peer resolves, but `map` stays `undefined` and
123
+ `lr-map-load` never fires until the element is actually scrolled into view. Deliberate: caps
124
+ concurrent WebGL contexts when many `<lr-map>`s sit in one dashboard/grid. Skipped entirely
125
+ (constructs immediately once the peer loads) when `IntersectionObserver` itself is unavailable.
126
+
127
+ ---
@@ -0,0 +1,70 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/conversation.md — do not edit this file. -->
2
+
3
+ # `lr-markdown-core`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/conversation/markdown/markdown-core.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraMarkdownCore`, also available unregistered from `@aceshooting/lyra-ui/components/conversation/markdown/markdown-core.class.js`
7
+ - **Family** `components/conversation/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `dompurify`, `katex`, `marked`, `shiki` — see `llms/peers.md`
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-markdown-core`
14
+
15
+ A build-lean sibling of `<lr-markdown>` above, for a consumer whose `languages` map already covers
16
+ every language it will ever render — mirrors `<lr-code-block-core>`'s relationship to
17
+ `<lr-code-block>`. Where `<lr-markdown>` unconditionally calls `loadShikiHighlighter()` — the
18
+ default ~200-language dynamic-import table loader, whose bundled lookup table a bundler can't
19
+ statically narrow away even when a consumer's `languagesOnly` flag makes it unreachable at runtime —
20
+ this component's own module never imports or calls that function at all; it only ever calls
21
+ `loadShikiHighlighterCore(languages)`, so a consumer importing this entry point instead of
22
+ `markdown.js` gets a build genuinely free of shiki's full language table.
23
+
24
+ A fenced code block whose language isn't a key in `languages` always renders the plain-text fallback
25
+ — there is no default/full-table highlighter here to fall back to, the same default (not degraded)
26
+ rendering path as `<lr-code-block-core>`'s identical contract. Every other capability — GFM tables,
27
+ links, blockquotes, images, heading anchors, `getHeadingTree()`, `fragment`/`text-quote` anchor-target
28
+ support (`highlights`, `activeHighlightId`, `scrollToAnchor()`, the `lr-highlight-activate`/
29
+ `lr-text-select`/`lr-anchor-result` events), math via the optional `katex` peer, the sanitize/
30
+ `escapeHtml`/streaming fallback matrix and known gotchas — is identical to `<lr-markdown>`; see that
31
+ section above for the full write-up of shared behavior. There is no `languagesOnly` property here —
32
+ meaningless without a full-table fallback to gate, matching `<lr-code-block-core>` having none
33
+ either.
34
+
35
+ **Properties:** `content: string = ''`, `sanitize: boolean = true`, `escapeHtml: boolean = false`
36
+ (attribute `escape-html`), `gfm: boolean = true`, `linkTarget: string | null = '_blank'` (attribute
37
+ `link-target`), `internalLinkPrefix: string = ''` (attribute `internal-link-prefix`),
38
+ `headingOffset: number = 0` (attribute `heading-offset`), `eagerLoad: boolean = false` (attribute
39
+ `eager-load`), `streaming: boolean = false` (reflected), `highlightCode: boolean = true` (attribute
40
+ `highlight-code`), `languages: Record<string, ShikiLanguageInput> = {}` (attribute: false) — required,
41
+ unlike `<lr-markdown>`'s optional `languages?:`; empty (the default) means every fenced block stays
42
+ unhighlighted permanently, `headingAnchors: boolean = false` (attribute `heading-anchors`),
43
+ `math: boolean = false`, `anchorKinds: readonly ('fragment' | 'text-quote')[]` (readonly).
44
+
45
+ **Methods:** `getHeadingTree()` — same contract as `<lr-markdown>`'s own.
46
+
47
+ **Events:** `lr-link-click`, `lr-render-error`, `lr-highlight-activate`, `lr-text-select`,
48
+ `lr-anchor-result` — identical detail shapes to `<lr-markdown>`'s own.
49
+
50
+ **Slots:** none — content comes from the `content` property, not light-DOM children.
51
+
52
+ **CSS parts:** `content`, `heading`, `paragraph`, `list`, `code-block`, `inline-code`, `link`,
53
+ `table`, `blockquote`, `img`, `math` — identical to `<lr-markdown>`'s own parts.
54
+
55
+ **Optional peer deps:** `marked`, `dompurify` (both lazy-loaded, same as `<lr-markdown>`), `katex`
56
+ (for `math`). Does *not* depend on the full `shiki` package's default entry point — only
57
+ `shiki/core`/`shiki/engine/oniguruma`/`shiki/langs/*`, the same fine-grained subset
58
+ `<lr-code-block-core>` depends on.
59
+
60
+ ```html
61
+ <lr-markdown-core
62
+ content="# Report&#10;&#10;\`\`\`python&#10;print('hi')&#10;\`\`\`"
63
+ .languages=${{ python }}
64
+ ></lr-markdown-core>
65
+ <script type="module">
66
+ import python from 'shiki/langs/python.mjs';
67
+ </script>
68
+ ```
69
+
70
+ ---