@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,32 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
2
+
3
+ # `lr-calendar-viewer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/viewers/calendar-viewer/calendar-viewer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraCalendarViewer`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/calendar-viewer/calendar-viewer.class.js`
7
+ - **Family** `components/viewers/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `ical.js` — see `llms/peers.md`
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-calendar-viewer`
14
+
15
+ Fetches and parses `.ics` calendars with the optional `ical.js` peer and renders each VEVENT as
16
+ plain text, including its title, start/end time, location, and description. No HTML is injected.
17
+
18
+ **Properties:** `src`, `name`, and `maxHeight` (attribute `max-height`) are strings.
19
+
20
+ **Events:** `lr-render-error` with `detail.error` when fetching or parsing fails.
21
+
22
+ **CSS parts:** `base`, `body`, `event-list`, `event`, `event-summary`, `event-time`, `event-location`,
23
+ `event-description`, `spinner`, and `error`.
24
+
25
+ **Themeable custom properties:** `--lr-calendar-viewer-max-height` (default `none`) — maximum block
26
+ size of `[part="body"]`; also settable via the `max-height` property, which writes this token inline.
27
+
28
+ **Optional peer dependency:** install `ical.js` with `pnpm add ical.js`. The component registers
29
+ `text/calendar` and falls back to matching `.ics` filenames in `<lr-document-viewer>`.
30
+
31
+ Remote resources are capped at 25 MB; exceeding it surfaces the localized
32
+ `documentPreviewResourceTooLarge` message instead of the calendar.
@@ -0,0 +1,52 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
2
+
3
+ # `lr-calendar`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/data/calendar/calendar.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraCalendar`, also available unregistered from `@aceshooting/lyra-ui/components/data/calendar/calendar.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-calendar`
14
+
15
+ Responsive month calendar with event markers and an agenda view.
16
+
17
+ **Properties:**
18
+ - `events: CalendarEvent[] = []` (attribute: false) — `{ id?, date, title, start?, end?, color?,
19
+ data? }`; `date` is an ISO `YYYY-MM-DD` string and `color` is sanitized before being used as the
20
+ marker background
21
+ - `value: string = ''` — the selected ISO date
22
+ - `viewDate: string` (attribute `view-date`, defaults to the 1st of the current month) — the visible
23
+ month; an unparseable value falls back to the current month
24
+ - `view: 'month' | 'agenda' = 'month'` (reflected) — agenda lists this month's events, date-sorted
25
+ - `firstDayOfWeek: number = 1` (attribute `first-day-of-week`) — sanitized to a finite integer
26
+ (fallback `1`) and wrapped into `0`–`6`, so a malformed value can't drop days
27
+ - `accessibleLabel: string = ''` (attribute `aria-label`) — names the calendar `<section>`; falls back
28
+ to the localized `calendarLabel`
29
+
30
+ **Keyboard:** the month grid is a fixed 6×7 matrix (leading/trailing days of adjacent months fill it
31
+ out) with one roving tab stop — `focusedDate`, else `value`, else today, else the first rendered day.
32
+ Arrows move by 1 day (Left/Right swapped under RTL) or 7; stepping past the rendered grid rolls
33
+ `viewDate` to the target's month and emits `lr-view-change`. Enter/Space select.
34
+
35
+ **Events:** `lr-date-select` (`detail: { date }`), `lr-event-select` (`detail: { event }`),
36
+ `lr-view-change` (`detail: { viewDate }`, from the prev/next buttons and out-of-grid arrow moves).
37
+
38
+ **Slots:** none.
39
+
40
+ **CSS parts:** `header`, `nav` (carried both by the previous button itself and by the wrapper around
41
+ the next button), `nav-glyph` (the chevron, `scaleX(-1)`-mirrored under RTL), `title`, `weekdays`,
42
+ `weekday`, `grid`, `week` (`display: contents`), `day`, `date`, `event` (a month-view marker),
43
+ `agenda`, `agenda-event`.
44
+
45
+ **Themeable custom properties:** `--lr-calendar-day-min-block-size` (default `var(--lr-size-6rem)`)
46
+ and `--lr-calendar-day-min-block-size-narrow` (default `4rem`, applied at container inline-size
47
+ ≤ 28rem).
48
+
49
+ **Gotcha:** month-view `[part='event']` markers are a mouse-only quick-select affordance — they sit
50
+ inside the day `<button>`, which may not contain focusable descendants. Agenda view renders each
51
+ event as a real `<button part="agenda-event">` and is the keyboard-accessible path to
52
+ `lr-event-select`.
@@ -0,0 +1,37 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/overlays.md — do not edit this file. -->
2
+
3
+ # `lr-callout`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/overlays/callout/callout.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraCallout`, also available unregistered from `@aceshooting/lyra-ui/components/overlays/callout/callout.class.js`
7
+ - **Family** `components/overlays/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-callout`
14
+
15
+ An inline status, warning, or error surface. Set `inline` for lightweight reactive form or mutation
16
+ errors without panel chrome.
17
+
18
+ **Properties:** `variant: 'neutral'|'brand'|'success'|'warning'|'danger' = 'neutral'` (reflected —
19
+ also picks `[part="base"]`'s role: `alert` for `danger`, `status` otherwise), `heading: string = ''`,
20
+ `closable: boolean = false` (reflected), `inline: boolean = false` (reflected), `open: boolean = true`
21
+ (reflected — `false` renders nothing at all), and `accessibleLabel: string = ''`
22
+ (`accessible-label`; falls back to a plain host `aria-label` attribute when unset).
23
+
24
+ **Events:** cancelable `lr-close` (no detail); the callout sets `open = false` after the event
25
+ unless a listener calls `preventDefault()`.
26
+
27
+ **Slots:** default message, `heading` (rendered alongside the `heading` property), `icon`.
28
+
29
+ **CSS parts:** `base`, `icon` (hidden while the `icon` slot is empty), `content`, `heading`,
30
+ `message` (wrapper around the default slot), `close-button` (the close control's hit target, always
31
+ at least `--lr-icon-button-size` in both the panel and `inline` treatments), `close-icon` (the
32
+ visible "×" glyph inside it — this is what shrinks under `inline`, so the hit target never does).
33
+
34
+ **Themeable custom properties:** `--lr-callout-background`, `--lr-callout-color`,
35
+ `--lr-callout-border` — the trio each `:host([variant])` rule rewrites (same
36
+ surface/text/border → `*-quiet`/loud/loud scheme as `lr-badge`). `inline` drops the border,
37
+ background, and panel padding regardless of what these are set to.
@@ -0,0 +1,67 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
2
+
3
+ # `lr-card`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/layout/card/card.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraCard`, also available unregistered from `@aceshooting/lyra-ui/components/layout/card/card.class.js`
7
+ - **Family** `components/layout/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-card`
14
+
15
+ A generic, styled bordered content container — the "small bordered surface with padding" idiom common
16
+ to hero highlights, clickable grid tiles, and management-list items. A direct `<lr-*>` counterpart
17
+ to `<wa-card>`'s contract, staying slot-compatible with `lr-result-card` where they overlap.
18
+
19
+ **Properties:**
20
+ - `appearance: 'accent' | 'filled' | 'outlined' | 'filled-outlined' | 'plain' = 'outlined'`
21
+ (reflected) — `'outlined'` (the default) is a plain bordered surface; `'filled'` swaps the border
22
+ for a quiet brand-tinted background; `'filled-outlined'` keeps the border and adds that same tinted
23
+ background; `'accent'` drops the border for a single colored accent stripe on the leading edge;
24
+ `'plain'` has no border or background at all.
25
+ - `interactive: boolean = false` (reflected) — opt-in hover/focus-visible treatment (border-color
26
+ shift, cursor: pointer) for a card used as a clickable tile — purely visual; this component takes
27
+ no position on what "activate" means unless `href` is also set. `false` (the default) reproduces a
28
+ plain static card.
29
+ - `href?: string` — when set, the card's root renders as a real `<a href=...>` instead of a `<div>`,
30
+ for a whole-card link (e.g. a wide CTA tile). Unset (the default) renders a plain `<div>`.
31
+
32
+ **Events:** none.
33
+
34
+ **Slots:** default (the card body), `header` (header row content, rendered above the body), `media`
35
+ (media content, e.g. an image, rendered above the header), `footer` (footer content, rendered below
36
+ the body), `actions` (small header controls, rendered alongside the header content).
37
+
38
+ **CSS parts:** `base` (the outer container — a `<div>`, or an `<a>` when `href` is set), `media`
39
+ (wrapper around the `media` slot, hidden entirely when empty), `header` (wrapper around the `header`
40
+ slot and `actions`, hidden entirely when both are empty), `actions` (wrapper around the `actions`
41
+ slot, hidden entirely when empty), `body` (wrapper around the default slot), `footer` (wrapper around
42
+ the `footer` slot, hidden entirely when empty).
43
+
44
+ **Themeable custom properties:** shared tokens only — `--lr-color-border`/`-surface`/`-brand`/
45
+ `-brand-quiet`, `--lr-radius`, `--lr-space-s`/`-m`, `--lr-transition-fast`,
46
+ `--lr-focus-ring-*`.
47
+
48
+ **Optional peer deps:** none.
49
+
50
+ ```html
51
+ <lr-card appearance="outlined" interactive href="/reports/42">
52
+ <img slot="media" src="/thumb.png" alt="" />
53
+ <span slot="header">Q3 Report</span>
54
+ <span slot="actions"><lr-chip tone="success">Ready</lr-chip></span>
55
+ Revenue up 12% quarter-over-quarter.
56
+ <span slot="footer">Updated 2 days ago</span>
57
+ </lr-card>
58
+ ```
59
+
60
+ **Known gotchas:**
61
+ - every `appearance` renders on the *same* `[part="base"]` element — there's no separate element per
62
+ variant, so a `::part(base)` override applies uniformly regardless of `appearance`.
63
+ - slot-presence (`header`/`media`/`footer`/`actions`) is tracked in JS, not via CSS `:empty` (a
64
+ `[part]` wrapper always contains a literal `<slot>` child, so `:empty` never matches) — the same
65
+ pattern `lr-empty`/`lr-widget` use.
66
+
67
+ ---
@@ -0,0 +1,29 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
2
+
3
+ # `lr-carousel-item`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/layout/carousel/carousel-item.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraCarouselItem`, also available unregistered from `@aceshooting/lyra-ui/components/layout/carousel/carousel-item.class.js`
7
+ - **Family** `components/layout/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-carousel-item`
14
+
15
+ Optional semantic wrapper for one slide in `<lr-carousel>`. The carousel also accepts arbitrary
16
+ slotted elements, so this element is useful when a migration needs the explicit item tag.
17
+
18
+ **Slots:** default slide content.
19
+
20
+ **CSS parts:** `base`.
21
+
22
+ ```html
23
+ <lr-carousel>
24
+ <lr-carousel-item>Dashboard overview</lr-carousel-item>
25
+ <lr-carousel-item>Dashboard details</lr-carousel-item>
26
+ </lr-carousel>
27
+ ```
28
+
29
+ ---
@@ -0,0 +1,43 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/layout.md — do not edit this file. -->
2
+
3
+ # `lr-carousel`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/layout/carousel/carousel.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraCarousel`, also available unregistered from `@aceshooting/lyra-ui/components/layout/carousel/carousel.class.js`
7
+ - **Family** `components/layout/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-carousel`
14
+
15
+ Accessible carousel for arbitrary slotted slide elements. It shows one assigned element at a time,
16
+ adds slide semantics and localized position labels, and provides keyboard, button, and indicator
17
+ navigation.
18
+
19
+ **Properties:**
20
+ - `index: number = 0` (attribute `index`, reflected) — active slide index
21
+ - `loop: boolean = false` (attribute `loop`, reflected) — wraps navigation at either end
22
+ - `autoplay: boolean = false` (attribute `autoplay`, reflected) and `autoplayInterval: number = 5000`
23
+ (attribute `autoplay-interval`) — optional timed advance; autoplay is disabled under reduced motion
24
+ - `showIndicators: boolean = true` (attribute `show-indicators`) — renders slide indicator buttons
25
+ - `accessibleLabel: string = ''` (attribute `accessible-label`) — fallback landmark name; a host
26
+ `aria-label` takes precedence
27
+
28
+ **Methods:** `next()`, `previous()`, and `goTo(index)` update the active index and emit
29
+ `lr-slide-change` (`detail: { index }`).
30
+
31
+ **CSS parts:** `base` (the `role="region"` landmark), `viewport` (the keyboard-focusable slide
32
+ viewport), `track`, `controls`, `previous-button`, `next-button`, `previous-glyph`/`next-glyph` (the
33
+ chevron inside each, mirrored under RTL), `indicators`, `indicator` (one indicator's hit target,
34
+ sized to the shared minimum tappable size), and `indicator-dot` (the compact visible dot inside it).
35
+
36
+ ```html
37
+ <lr-carousel aria-label="Screenshots">
38
+ <img alt="Dashboard overview" src="overview.png">
39
+ <img alt="Dashboard details" src="details.png">
40
+ </lr-carousel>
41
+ ```
42
+
43
+ ---
@@ -0,0 +1,148 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/charts.md — do not edit this file. -->
2
+
3
+ # `lr-chart`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/charts/chart/chart.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraChart`, also available unregistered from `@aceshooting/lyra-ui/components/charts/chart/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
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-chart` (core)
14
+
15
+ Chart.js wrapper every other `lr-*-chart` tag subclasses; supports both a simplified
16
+ `Series`-based attribute surface and a raw Chart.js `config` passthrough (mirrors Web Awesome's
17
+ `wa-chart` `config` property).
18
+
19
+ **Properties:**
20
+ - `type: LyraChartType = 'line'` — `LyraChartType = 'line' | 'bar' | 'scatter' | 'pie' | 'doughnut' |
21
+ 'radar' | 'polarArea' | 'bubble'` — every type string the typed `lr-*-chart` subclasses lock `type` to is
22
+ already a first-class member, so `<lr-chart type="pie">` needs no subclass or cast to work;
23
+ unknown runtime attribute/property values fall back to `line` before reaching Chart.js
24
+ - `labels: string[] = []` (attribute: false)
25
+ - `datasets: Series[] = []` (attribute: false) — `Series { label: string; data?: (number|null)[];
26
+ points?: {x,y,label?}[]; color?: string|string[]; fill?: boolean; width?: number; dash?: boolean;
27
+ noTooltip?: boolean; axis?: 'y'|'y2'; pointColors?: string[]; pointRadius?: number; type?:
28
+ 'line'|'bar' }`
29
+ - `legend: boolean = false`
30
+ - `legendPosition: LyraChartLegendPosition = 'top'` (attribute `legend-position`) — places the
31
+ legend at `top`, `right`, `bottom`, or `left`; `auto` chooses right above 480px and bottom below
32
+ that allocation width
33
+ - `valueFormatter?: LyraChartValueFormatter` (attribute: false) — formats numeric tick, tooltip,
34
+ and legend values; the callback receives the value and `'tick'`, `'tooltip'`, or `'legend'`
35
+ context
36
+ - `area: boolean = false`
37
+ - `zoom: boolean = false` — wheel/drag/pinch zoom on the `x` axis only (pan disabled, and the zoom
38
+ range is limited to the original data extent); shows the `reset-zoom-button` while zoomed
39
+ - `height: string = '280px'`
40
+ - `xLabel: string = ''` (attribute `x-label`)
41
+ - `yLabel: string = ''` (attribute `y-label`)
42
+ - `y2Label: string = ''` (attribute `y2-label`)
43
+ - `beginAtZero: boolean = true` (attribute `begin-at-zero`)
44
+ - `horizontal: boolean = false` — sets `options.indexAxis = 'y'`, Chart.js's own mechanism for
45
+ horizontal bars (also flips `line`/`area` types onto a horizontal category axis)
46
+ - `stacked: boolean = false` — stacks the `x`/`y`(/`y2`) scale entries `buildScales()` returns; only
47
+ meaningful for `bar`/`line` types (scatter/bubble's linear `x` scale and the radial `r` scale used
48
+ by radar/polar-area are out of scope)
49
+ - `config?: Partial<ChartConfiguration>` (attribute: false) — deep-merged over the generated
50
+ config; any nested key wins without clobbering sibling generated keys. This is the raw Chart.js
51
+ escape hatch, so a caller-supplied `config.type` is passed through rather than normalized.
52
+ - `accessibleLabel: string = ''` (attribute `accessible-label`) — canvas name override; a host
53
+ `aria-label` has highest precedence
54
+ - `accessibleDescription: string = ''` (attribute `accessible-description`) — overrides the
55
+ localized data/trend summary
56
+ - `showDataTable: boolean = false` (attribute `show-data-table`) — makes the always-available
57
+ accessible data table visible rather than screen-reader-only
58
+ - `chartArea: LyraChartArea | undefined` (readonly) — current Chart.js chart-area geometry in
59
+ canvas-local coordinates (`top`, `left`, `right`, `bottom`, `width`, `height`), when a chart is
60
+ drawn
61
+
62
+ **Methods:** `resetZoom()` (reset any active zoom/pan to the original view), `refreshTheme()`
63
+ (forces a redraw so the `--lr-chart-*` tokens below are re-read from the current computed style —
64
+ the escape hatch for a consumer's own theme-toggle handler to call when it flips something, e.g. a
65
+ `data-theme` attribute, that doesn't otherwise change any `lr-chart` property)
66
+
67
+ **Events:** `lr-zoom` (`detail: { zoomed: boolean }`, fired on zoom-complete and on
68
+ `resetZoom()`), `lr-point-click` (fired when a click lands on, or nearest to — intersect-only —
69
+ a data point/segment, for any chart type, not just bar; `detail: { datasetIndex: number, index:
70
+ number, label: string | undefined, value: unknown }`)
71
+
72
+ **Slots:** `data-table` — an optional consumer-provided accessible table alternative; `center` —
73
+ optional overlay content positioned at the chart area's center, useful for doughnut and pie totals.
74
+
75
+ **CSS parts:** `base`, `canvas`, `reset-zoom-button`, `description`, `data-table`, `center` (the
76
+ chart-area-centered wrapper for the `center` slot)
77
+
78
+ **Themeable custom properties:** `--lr-chart-height` (set programmatically on the host from the
79
+ `height` property — must be read from the host, not a shadow-tree descendant, since custom
80
+ properties only cascade downward); `--lr-chart-grid-color` (default `var(--lr-color-border)`),
81
+ `--lr-chart-tick-color` (default `var(--lr-color-text-quiet)`), `--lr-chart-legend-color`
82
+ (default `var(--lr-color-text)`), `--lr-chart-tooltip-bg` (default `var(--lr-color-surface)`),
83
+ `--lr-chart-tooltip-text` (default `var(--lr-color-text)`) — each resolved fresh via
84
+ `getComputedStyle` on every draw (Chart.js renders to canvas, not the DOM, so it can't consume CSS
85
+ `var()` directly), driving the grid lines, tick labels **and axis titles** (`xLabel`/`yLabel`/
86
+ `y2Label` title text reuses `--lr-chart-tick-color` too — there's no separate title-color token),
87
+ legend text, and tooltip background/text respectively; plus shared `--lr-space-xs`.
88
+
89
+ **Optional peer deps:** `chart.js` (mandatory peer, lazy-imported on every `connectedCallback()`
90
+ regardless of `zoom`), `chartjs-plugin-zoom` (lazy-imported *additionally* only when `zoom` is — or
91
+ later becomes — `true`; never fetched for a chart that keeps `zoom` unset/false, since the plugin
92
+ has a hard dependency on `hammerjs`). Both loads are memoized once per page via `chart-loader.ts`
93
+ (`loadChartJs()` / `loadChartJsWithZoom()`), registering only the tree-shaken controller/element/scale
94
+ subset actually used.
95
+
96
+ ```html
97
+ <lr-chart type="line" x-label="Day" y-label="kWh" legend></lr-chart>
98
+ <script>
99
+ const c = document.querySelector('lr-chart');
100
+ c.labels = ['Mon', 'Tue', 'Wed'];
101
+ c.datasets = [{ label: 'Production', data: [12, 19, 7], color: '#2563eb' }];
102
+ </script>
103
+ ```
104
+
105
+ **Known gotchas:**
106
+ - supported `type` values are normalized before reaching Chart.js; unknown runtime attribute or
107
+ property values fall back to `line`. Each typed `lr-*-chart` subclass (e.g.
108
+ `llms/components/lr-bar-chart.md`) locks its *own* `type` via a real prototype accessor — a
109
+ genuine runtime lock, not just a compile-time default.
110
+ - no global theme-broadcast event exists to auto-retheme an already-drawn chart on a theme switch —
111
+ a consumer flipping something upstream (e.g. a `data-theme` attribute) that doesn't otherwise
112
+ change any `lr-chart` property must call `refreshTheme()` itself to make Chart.js re-read the
113
+ `--lr-chart-*` tokens above.
114
+ - generated `scales` are keyed off the *effective* type (`config.type` ?? `type`, see
115
+ `effectiveType()`) and are type-appropriate: no scale at all for `type="pie"`/`"doughnut"` (true of
116
+ `<lr-chart type="pie">` directly, not just the `lr-pie-chart`/`lr-doughnut-chart` subclasses),
117
+ and a single radial `r` scale (respecting `beginAtZero`) for `type="radar"`/`"polarArea"`
118
+ (`lr-radar-chart`/`lr-polar-area-chart`), instead of always generating the cartesian `x`/`y`/
119
+ `y2` block. `xLabel`/`yLabel`/`y2Label` are still silently inert for all four of those types (a
120
+ radial scale and "no scale" both have nowhere to put an axis title) — reach a titled radial scale
121
+ only via raw `config`.
122
+ - No `chartjs-plugin-annotation` is registered by default — reachable only by importing it
123
+ separately and using the raw `config` passthrough (Chart.js's registry is a global singleton).
124
+ - while the `chart.js` peer is resolving, `render()` swaps in a `<lr-skeleton variant="rect">` for
125
+ the canvas, and the **host element itself** (not the skeleton) carries `aria-busy="true"` — set/
126
+ cleared in `updated()` off the private `loading` state (same lazy-load pattern as
127
+ `lr-graph`/`lr-map`/`lr-flag`). Chart.js's own ~1000ms draw-in animation only ever fires on
128
+ initial construction or a type change that rebuilds the `Chart` instance (every in-place data
129
+ update already passes `'none'` to `Chart#update()` and never animates regardless); that
130
+ construction-time animation is additionally skipped outright under `prefers-reduced-motion: reduce`.
131
+ The raw `config` passthrough is deep-merged with `__proto__`/`constructor`/`prototype` keys skipped
132
+ unconditionally, so a JSON-sourced `config` (e.g. parsed from an API response) can't reach up and
133
+ pollute `Object.prototype` through the merge.
134
+ - lazy-redraw + change gating: an `IntersectionObserver` gates `draw()` — while the host is scrolled
135
+ off-screen, property changes that would otherwise trigger a Chart.js redraw are skipped (and a
136
+ single redraw fires once it re-enters the viewport). Independently, `updated()` only reaches
137
+ Chart.js when at least one of `type`, `labels`, `datasets`, `legend`, `legendPosition`, the
138
+ internal resolved auto legend position, `valueFormatter`, `area`, `height`, `xLabel`, `yLabel`,
139
+ `y2Label`, `beginAtZero`, `horizontal`, `stacked`, `config`, `zoom`, `locale`, `strings`, or the
140
+ internal loading state actually changed in that update (so an unrelated property/state update, or
141
+ a bare `requestUpdate()`, draws nothing). `refreshTheme()` calls `draw()` directly and is
142
+ unaffected by either gate — it always redraws, since a theme change isn't reflected in any tracked
143
+ property.
144
+ - Chart.js receives `effectiveLocale`; generated summary values use the same locale. Cartesian y/y2
145
+ axes swap logical sides under RTL, and host `aria-label` is forwarded to the canvas and data-table
146
+ caption.
147
+
148
+ ---
@@ -0,0 +1,139 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/conversation.md — do not edit this file. -->
2
+
3
+ # `lr-chat-composer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/conversation/chat-composer/chat-composer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraChatComposer`, also available unregistered from `@aceshooting/lyra-ui/components/conversation/chat-composer/chat-composer.class.js`
7
+ - **Family** `components/conversation/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-chat-composer`
14
+
15
+ The message input for a chat/agent conversation surface: an auto-resizing `<textarea>` plus a
16
+ built-in send/stop button. Deliberately no label/hint/error chrome — a composite chat-input
17
+ control, not a labeled form field; wrap it in your own layout for that context. **Form-associated**
18
+ via the shared `FormAssociated` mixin (same shape as
19
+ `<lr-date-input>`) — `name: string = ''`, `value: string = ''`, `disabled: boolean = false`
20
+ (reflected), `required: boolean = false` (reflected) are all inherited, along with
21
+ `checkValidity()`/`reportValidity()`, so it participates in native `<form>` submission/validation/
22
+ reset like any other text control.
23
+
24
+ The inner textarea mirrors `required` through native `required`/`aria-required`. Its
25
+ `aria-invalid` remains false until the textarea has been blurred, then follows the host's
26
+ `ElementInternals` validity as `value` or `required` changes. A native validation attempt also
27
+ reveals the invalid state, and `form.reset()` clears the touched presentation.
28
+
29
+ **Properties (own):**
30
+ - `placeholder: string = ''`
31
+ - `minRows: number = 1` (attribute `min-rows`) — floored to `1` at render time
32
+ - `maxRows: number = 8` (attribute `max-rows`) — floored to at least `minRows`
33
+ - `status: ChatComposerStatus = 'idle'` (reflected) — `'idle' | 'sending' | 'streaming'`; drives the
34
+ built-in button's icon/label (send vs. stop) and whether Enter still submits
35
+ - `submitOnEnter: boolean = true` (reflected, attribute `submit-on-enter`) — when `false`, Enter
36
+ always inserts a newline instead of submitting
37
+ - `submitDisabled: boolean = false` (reflected, attribute `submit-disabled`) — consumer-controlled
38
+ validation gate; while idle, disables the built-in Send button and suppresses Enter/click
39
+ submission without disabling the textarea or a busy-state Stop action
40
+ - `stoppable: boolean = true` (reflected) — when false, busy states keep a disabled Send button
41
+ instead of exposing a Stop action
42
+ - `accessibleLabel: string | null = null` (attribute `aria-label`) — names the internal textarea;
43
+ wins over placeholder and the localized composer label
44
+ - `spellcheck: boolean = true` — forwarded to the internal `<textarea>`
45
+ - `autocapitalize: string = ''` — forwarded to the internal `<textarea>`; empty omits the attribute
46
+ - `autoCorrect: string = ''` (attribute `autocorrect`) — forwarded to the internal `<textarea>`
47
+ (Safari/WebKit-specific); empty omits the attribute. Named `autoCorrect`, not `autocorrect`, only
48
+ to dodge a `lib.dom.d.ts` collision with `HTMLElement`'s own `boolean`-typed `autocorrect` IDL
49
+ member; the host attribute is explicitly mapped to plain `autocorrect`.
50
+ - `wrap: 'hard' | 'soft' | 'off' = 'soft'`, `autocomplete: string = ''`, `inputMode: string = ''`
51
+ (attribute `inputmode`), and `enterKeyHint: string = ''` (attribute `enterkeyhint`) — forwarded to
52
+ the native textarea
53
+ - `selectionStart`, `selectionEnd`, and `selectionDirection` — native selection getters/setters
54
+
55
+ **Methods (own):** `focus(options?)`, `blur()`, `select()`, `setSelectionRange()`, and
56
+ `setRangeText()` forward to the textarea; `setRangeText()` synchronizes reactive/form value and
57
+ auto-sizing. `checkValidity()`/`reportValidity()` remain inherited.
58
+
59
+ **Events:**
60
+ - `lr-input` (`detail: { value }`) — fired on every user-driven edit of the textarea, not a
61
+ programmatic `.value` assignment
62
+ - `lr-submit` (`detail: { value }`) — fired by Enter (per `submit-on-enter`) or the built-in
63
+ button while `status="idle"` and `submitDisabled` is false. `detail.value` is always the exact, untrimmed current value;
64
+ trimming is left to the consumer. Submitting does **not** clear `value`
65
+ - `lr-stop` (no detail) — fired by the built-in button while `status` is `"sending"` or
66
+ `"streaming"`
67
+ - `blur` (no detail) — re-dispatched from the internal `<textarea>`'s own `blur`, bubbling and
68
+ composed unlike the native event
69
+ - `focus` (no detail) — re-dispatched from the internal `<textarea>`'s own `focus`, for the same
70
+ reason as `blur`
71
+
72
+ **Slots:** `leading` (content before the textarea, e.g. an attach-file trigger button), `chips` (an
73
+ attachment tray rendered above the input row), `trailing` (overrides the built-in send/stop button
74
+ entirely when it has assigned content)
75
+
76
+ **CSS parts:** `base`, `chips`, `row`, `leading`, `textarea`, `trailing`, `action-button`
77
+
78
+ **Themeable custom properties:** no component-specific custom properties; consumes shared tokens
79
+ `--lr-space-xs`, `--lr-space-s`, `--lr-color-border`, `--lr-color-surface`,
80
+ `--lr-color-brand`, `--lr-color-on-brand`, `--lr-color-text-quiet`, `--lr-radius`,
81
+ `--lr-icon-button-size`, `--lr-transition-fast`, `--lr-opacity-disabled`,
82
+ `--lr-focus-ring-width`, `--lr-focus-ring-color`, `--lr-focus-ring-offset`.
83
+
84
+ **Optional peer deps:** none.
85
+
86
+ ```html
87
+ <lr-chat-composer
88
+ id="composer"
89
+ name="message"
90
+ placeholder="Message the assistant…"
91
+ min-rows="1"
92
+ max-rows="8"
93
+ ></lr-chat-composer>
94
+ <script type="module">
95
+ const composer = document.getElementById('composer');
96
+ composer.addEventListener('lr-submit', (e) => {
97
+ sendMessage(e.detail.value);
98
+ composer.value = ''; // the composer never clears itself
99
+ composer.status = 'sending';
100
+ });
101
+ composer.addEventListener('lr-stop', () => stopGeneration());
102
+ </script>
103
+ ```
104
+
105
+ Auto-resize (`resizeTextarea()`) reads the textarea's own *computed* line-height/padding/border at
106
+ call time rather than assuming a fixed px-per-row constant, so it stays correct under a consumer's
107
+ own font-size/line-height overrides; it grows between `min-rows` and `max-rows`, then switches to
108
+ internal scrolling (`overflow-y: auto`) past `max-rows`. A `ResizeObserver` on the textarea itself
109
+ also re-runs this fit (one animation frame later, to avoid a `ResizeObserver`-loop console error)
110
+ whenever the textarea's own *width* changes — a sidebar collapsing, a responsive breakpoint, a
111
+ window resize — even though `value`/`min-rows`/`max-rows` never did, since the same text now wraps
112
+ across a different number of lines. Enter-to-send only fires while
113
+ `submit-on-enter` is `true` (the default): plain Enter submits and prevents the default newline;
114
+ Shift+Enter always inserts a newline regardless of `submit-on-enter`; an IME composition step
115
+ (checked via `isComposing`, with `keyCode === 229` as a defense-in-depth fallback for browsers that
116
+ report `isComposing` inconsistently) is never treated as a submit trigger; and while `status` isn't
117
+ `"idle"`, Enter is left alone to insert a newline instead of resubmitting — the textarea itself is
118
+ **not** auto-disabled during `sending`/`streaming`, so a user can keep composing their next message
119
+ while a previous one is in flight. While idle, `submitDisabled` suppresses Enter/click submission
120
+ and disables only the built-in Send button; editing and busy-state Stop behavior remain available.
121
+
122
+ **Known gotchas:**
123
+ - `lr-submit` never clears `value` — the consumer must clear it once a submission is actually
124
+ accepted, so a failed send can leave the text in place for retry.
125
+ - While `status !== 'idle'`, only the built-in button's behavior changes (it emits `lr-stop`
126
+ instead of `lr-submit`); the textarea keeps accepting input and Enter keeps inserting newlines
127
+ rather than being blocked.
128
+ - Auto-resize requires a concrete, unitless `line-height` on the textarea (the component sets
129
+ `line-height: 1.5` in its own styles) — the UA default of `normal` has no single resolved px
130
+ figure to measure rows against, so overriding `line-height` to a keyword breaks row sizing.
131
+ - The `trailing` slot fully replaces the built-in action button rather than rendering alongside it —
132
+ once it has assigned content, the library's send/stop icon, its `aria-label`, and its
133
+ `status`-driven busy styling all disappear, so a custom trailing control needs its own send/stop
134
+ handling.
135
+ - `[part="chips"]`/`[part="leading"]` are hidden via a JS-tracked `[hidden]` attribute rather than a
136
+ CSS `:empty` selector, because each always contains a literal `<slot>` child regardless of
137
+ assigned content.
138
+
139
+ ---