@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,111 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
2
+
3
+ # `lr-textarea`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/forms/textarea/textarea.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraTextarea`, also available unregistered from `@aceshooting/lyra-ui/components/forms/textarea/textarea.class.js`
7
+ - **Family** `components/forms/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## lr-textarea
14
+
15
+ A multiline plain-text input primitive, form-associated (participates in native `<form>`
16
+ submission/validation/reset via `name`/`value`/`disabled`/`required`/`checkValidity()`/
17
+ `reportValidity()`). Ships an opt-in `label`/`hint`/`errorText` form-control chrome mirroring
18
+ `lr-select` -- left unset, none of it renders.
19
+
20
+ ```html
21
+ <lr-textarea placeholder="Notes" rows="4"></lr-textarea>
22
+ ```
23
+
24
+ ### Properties
25
+
26
+ | Property | Attribute | Type | Default | Description |
27
+ | --- | --- | --- | --- | --- |
28
+ | `value` | `value` | `string` | `''` | The current text value. |
29
+ | `rows` | `rows` | `number` | `3` | Visible text rows. |
30
+ | `resize` | `resize` | `'none' \| 'vertical' \| 'both' \| 'auto'` | `'vertical'` | Native CSS `resize` behavior, plus `'auto'` (`ResizeObserver`-driven grow-to-content, no manual handle). |
31
+ | `placeholder` | `placeholder` | `string` | `''` | Placeholder text. |
32
+ | `label` | `label` | `string` | `''` | Visible label text. Unset: no label chrome renders. |
33
+ | `hint` | `hint` | `string` | `''` | Hint text below the field. |
34
+ | `errorText` | `error-text` | `string` | `''` | Error text below the field (overridden by slotted `error` content). |
35
+ | `accessibleLabel` | `aria-label` | `string \| null` | `null` | Accessible-name override forwarded to the internal `<textarea>`; wins over `label`, `placeholder`, and the localized default. |
36
+ | `spellcheck` | `spellcheck` | `boolean` | `true` | Forwarded to the native `<textarea>`. |
37
+ | `autocapitalize` | `autocapitalize` | `string` | `''` | Forwarded to the native `<textarea>`; empty omits the attribute. |
38
+ | `autoCorrect` | `autocorrect` | `string` | `''` | Forwarded to the native `<textarea>` (Safari/WebKit-specific); empty omits the attribute. |
39
+ | `wrap` | `wrap` | `'hard' \| 'soft' \| 'off'` | `'soft'` | Native line-wrapping/submission behavior. |
40
+ | `autocomplete` | `autocomplete` | `string` | `''` | Forwarded to the native `<textarea>`; empty omits the attribute. |
41
+ | `inputMode` | `inputmode` | `string` | `''` | Virtual-keyboard input hint forwarded to the native `<textarea>`. |
42
+ | `enterKeyHint` | `enterkeyhint` | `string` | `''` | Virtual-keyboard Enter-key hint forwarded to the native `<textarea>`. |
43
+ | `name` | `name` | `string` | `''` | Form field name. |
44
+ | `disabled` | `disabled` | `boolean` | `false` | Disables the control. |
45
+ | `required` | `required` | `boolean` | `false` | Participates in native constraint validation. |
46
+
47
+ The visible label, hint, and error live in the same shadow tree as the native control, so their
48
+ generated ids safely drive the native `<label>`/`aria-describedby` relationships. Name precedence
49
+ is `accessibleLabel`/host `aria-label`, visible `label`, `placeholder`, then the localized
50
+ `textareaLabel` message. External `aria-labelledby`/`aria-describedby` idrefs are not copied across
51
+ the shadow boundary.
52
+
53
+ ### Getters and selection properties
54
+
55
+ - `input: HTMLTextAreaElement | null` — the internal native control.
56
+ - `selectionStart: number | null`, `selectionEnd: number | null`, and
57
+ `selectionDirection: 'forward'|'backward'|'none'|null` — readable and writable passthroughs to
58
+ the native selection state.
59
+ - The shared form-associated getters `form`, `labels`, `validity`, `validationMessage`,
60
+ `willValidate`, and `effectiveDisabled` are also available.
61
+
62
+ ### Methods
63
+
64
+ | Method | Description |
65
+ | --- | --- |
66
+ | `focus(options?)` / `blur()` | Focus or blur the internal native control. |
67
+ | `select()` | Select all text. |
68
+ | `setSelectionRange(start, end, direction?)` | Set the native selection range and optional direction. |
69
+ | `setRangeText(replacement, start?, end?, selectMode?)` | Apply a native range edit, then synchronize the component `value`, form value, validity, and auto-grown size without emitting a user event. |
70
+ | `setFormValue(value)` | Set the reactive and submitted value synchronously. |
71
+ | `checkValidity()` / `reportValidity()` | Run native constraint validation through `ElementInternals`. |
72
+
73
+ ### Events
74
+
75
+ | Event | Detail | Description |
76
+ | --- | --- | --- |
77
+ | `lr-input` | `{ value: string }` | Fired on every user-driven edit. |
78
+ | `lr-change` | `{ value: string }` | Fired on native `change` timing (blur after a committed edit). |
79
+ | `blur` | none | Re-dispatched from the internal native `<textarea>`'s own `blur` -- bubbling and composed, unlike the native event. |
80
+ | `focus` | none | Re-dispatched from the internal native `<textarea>`'s own `focus`, for the same reason as `blur`. |
81
+
82
+ Programmatic property assignments, selection changes, `setRangeText()`, form reset, and form-state
83
+ restoration are silent. User edits update `value`, submitted form data, and required validity before
84
+ the corresponding `lr-input`/`lr-change` event is dispatched. `form.reset()` restores the
85
+ original declarative `value`, matching native `defaultValue` behavior.
86
+
87
+ ### Slots
88
+
89
+ | Slot | Description |
90
+ | --- | --- |
91
+ | `label` | Custom label content. |
92
+ | `hint` | Custom hint content. |
93
+ | `error` | Custom error content. |
94
+
95
+ ### CSS Parts
96
+
97
+ | Part | Description |
98
+ | --- | --- |
99
+ | `form-control` | The outer wrapper around label, textarea, error and hint. |
100
+ | `form-control-label` | The `<label>` element. |
101
+ | `textarea` | The native `<textarea>` element. |
102
+ | `hint` | The hint message. |
103
+ | `error` | The error message. |
104
+
105
+ ### Themeable custom properties
106
+
107
+ - `--lr-textarea-max-block-size` (default `none`) — bounds `resize="auto"`; content beyond the
108
+ bound scrolls inside the native textarea. Auto-resize remeasures after user edits, programmatic
109
+ `value`/`rows` changes, range edits, and container-width changes.
110
+
111
+ ---
@@ -0,0 +1,93 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/agent-tools.md — do not edit this file. -->
2
+
3
+ # `lr-thinking-panel`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/agent-tools/thinking-panel/thinking-panel.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraThinkingPanel`, also available unregistered from `@aceshooting/lyra-ui/components/agent-tools/thinking-panel/thinking-panel.class.js`
7
+ - **Family** `components/agent-tools/` — 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-thinking-panel`
14
+
15
+ A collapsible panel for an AI agent's intermediate reasoning/"thinking" transcript, kept visually
16
+ and semantically distinct from its final response. First-party invention (no Web Awesome
17
+ equivalent). Same collapsible header-button-plus-region shape as `<lr-source-list>`; the default
18
+ slot is entirely free-form (a consumer-composed `<lr-streaming-text>`, `<lr-markdown>`, or
19
+ plain text) — this component has no dependency on either.
20
+
21
+ **Properties:**
22
+ - `label: string = 'Thinking'`
23
+ - `expanded: boolean = false` (reflected) — starts collapsed, matching `<lr-source-list>`'s
24
+ default.
25
+ - `mode: 'live' | 'post-hoc' = 'live'` (reflected) — `'live'` while reasoning is actively streaming
26
+ in; `'post-hoc'` once it's complete and being reviewed after the fact. Drives two concrete
27
+ behavior differences, see prose below.
28
+ - `durationMs?: number` (attribute `duration-ms`) — how long the reasoning took. Omitted entirely
29
+ (nothing rendered in `'post-hoc'`, a pulsing placeholder in `'live'`) while unset.
30
+
31
+ **Methods:** `scrollToBottom(): void` — scrolls `[part="body"]` to its current bottom immediately
32
+ (no smooth-scroll animation). Safe to call directly, e.g. from a host that wants to force a
33
+ jump-to-latest action of its own.
34
+
35
+ **Events:** `lr-toggle` (`detail: { expanded: boolean }`, same event name and shape as
36
+ `<lr-source-list>`'s own `lr-toggle`) — fired whenever the header button is activated.
37
+
38
+ **Slots:** default (the reasoning/thinking content; entirely free-form)
39
+
40
+ **CSS parts:** `base`, `header`, `label`, `duration`, `toggle`, `body`
41
+
42
+ **Themeable custom properties:** `--lr-thinking-panel-max-block-size` (default `16rem` —
43
+ consumer-overridable cap on how tall `[part="body"]` grows before it scrolls internally; not
44
+ exposed as a component property since it's a pure layout knob, not something a template branches
45
+ on), plus shared `--lr-color-border`/`-surface`/`-text`/`-text-quiet`/`-brand`/`-brand-quiet`,
46
+ `--lr-space-xs`/`-s`/`-m`, `--lr-radius`, `--lr-focus-ring-width`/`-color`/`-offset`,
47
+ `--lr-transition-fast`/`-base`.
48
+
49
+ **Optional peer deps:** none.
50
+
51
+ ```html
52
+ <lr-thinking-panel label="Reasoning" mode="live" expanded>
53
+ <lr-streaming-text content="Considering the user's constraints…" streaming></lr-streaming-text>
54
+ </lr-thinking-panel>
55
+
56
+ <lr-thinking-panel label="Reasoning" mode="post-hoc" duration-ms="4200">
57
+ <p>Finished reasoning, collapsed by default.</p>
58
+ </lr-thinking-panel>
59
+ ```
60
+
61
+ `mode` drives two concrete behavior differences, not just a styling hook. **Header hint:** while
62
+ `duration-ms` is unset, `'live'` shows a pulsing "Thinking…" placeholder in `[part="duration"]`;
63
+ `'post-hoc'` shows nothing there. Once `duration-ms` is set, both modes show the same static
64
+ "Thought for …" text. **Auto-scroll:** only `'live'` mode auto-follows new content appended to the
65
+ default slot while `expanded`; `'post-hoc'` never scrolls on its own.
66
+
67
+ Live-mode auto-scroll ("stick to bottom") is the classic chat-transcript convention: while
68
+ `mode="live"` and `expanded`, new content keeps the panel scrolled to its latest line — unless the
69
+ user has manually scrolled up to re-read earlier content (tracked via a `scroll` listener on
70
+ `[part="body"]`: every user-driven scroll records whether the body was left within 48px of its own
71
+ max scroll position, and only a mutation that arrives while that's still true triggers a follow-up
72
+ scroll). Opening an already-`'live'` panel — or a still-`expanded` panel later becoming `'live'` —
73
+ always resets this to "anchored" and jumps to the latest content. New content is detected via a `MutationObserver` on this element's own light DOM
74
+ (`childList`+`subtree`+`characterData`), not `slotchange`, since streamed reasoning typically
75
+ appends chunks to an existing node's `textContent` rather than re-slotting a whole new element per
76
+ token; scroll-to-bottom calls are coalesced to at most one per animation frame under a fast token
77
+ stream.
78
+
79
+ **Known gotchas:**
80
+ - The `MutationObserver` only watches this element's own light-DOM subtree — it cannot see a
81
+ mutation that happens entirely inside a slotted custom element's own shadow root (e.g. a
82
+ `<lr-markdown>` re-rendering its shadow tree after a `content` change). A slotted element whose
83
+ own internal updates should drive auto-scroll needs to append/mutate visible light-DOM text
84
+ itself (as `<lr-streaming-text>` does), or the host can call `scrollToBottom()` directly.
85
+ - Either half of the pair can trigger the jump-to-bottom/reset-stickiness behavior, as long as the
86
+ *other* half already holds: an `expanded` transition to `true` while `mode` is already `'live'`,
87
+ **or** a `mode` transition to `'live'` while the panel is already `expanded`, both jump to the
88
+ bottom and reset stickiness. Only a change that leaves the panel in some other combination
89
+ (collapsed, or `mode !== 'live'`) skips it.
90
+ - The sticky-bottom flag starts `true` internally, so a panel that mounts already `expanded` and
91
+ `mode="live"` follows its very first content mutation even before any `scroll` event has fired.
92
+
93
+ ---
@@ -0,0 +1,97 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/conversation.md — do not edit this file. -->
2
+
3
+ # `lr-thread-list`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/conversation/thread-list/thread-list.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraThreadList`, also available unregistered from `@aceshooting/lyra-ui/components/conversation/thread-list/thread-list.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-thread-list`
14
+
15
+ The conversation sidebar: a grouped, searchable list of chat sessions with pin/archive/delete/rename
16
+ affordances. *Data mode* (non-empty `threads`, or empty `threads` with nothing slotted) renders every
17
+ row as a `lr-conversation-item` inside an internal `lr-virtual-list` — virtualized by
18
+ construction, scroll position and per-row state survive a `threads` replacement; zero rows renders
19
+ the built-in empty state. *Slotted mode* (empty `threads` *and* real slotted content) renders
20
+ host-supplied `lr-conversation-item`s from the default slot as-is: no grouping, virtualization, or
21
+ row actions in that mode. No thread CRUD or persistence — every mutation
22
+ (`lr-thread-pin`/`-archive`/`-delete`/`-rename`) is a controlled event carrying the *requested* new
23
+ state; the host mutates `threads`.
24
+
25
+ **Properties:** `threads: ChatThread[] = []` (attribute: false) — `ChatThread { id: string; title:
26
+ string; excerpt?: string; timestamp?: Date | string; pinned?: boolean; archived?: boolean }`
27
+ (exported here). `activeId: string = ''` (attribute `active-id`) — data mode:
28
+ marks the matching row `active`/`aria-current` and scrolls it into view. `searchable: boolean =
29
+ false` (reflected) — shows the built-in search field. `filter?: (thread, query) => boolean`
30
+ (attribute: false) — overrides the default case-insensitive `title` + `excerpt` substring match.
31
+ `grouping: 'date' | 'custom' | 'none' = 'date'` — data mode: bucket rows under localized date headers
32
+ (Pinned/Today/Yesterday/Previous 7 days/Previous 30 days/one bucket per month/Archived), use the
33
+ arbitrary grouping callbacks below, or render a flat list. `groupBy?: (thread: ChatThread) => string`
34
+ (attribute: false) derives each group id in `grouping="custom"`; omitting it leaves the custom mode
35
+ flat. `formatGroup?: (id: string, threads: ChatThread[]) => string | TemplateResult` (attribute:
36
+ false) renders non-interactive custom group-label content. `groupOrder?: string[] | ((a: string, b:
37
+ string) => number)` (attribute: false) supplies an explicit order or comparator; ids omitted from an
38
+ array follow in first-seen order. `collapsedGroupIds: string[] = []` (attribute: false) is the
39
+ controlled collapsed state for both date and custom groups. A collapsed group's header remains in
40
+ the virtual list while its conversation rows are removed from the virtual-list item/measurement
41
+ set; `lr-group-toggle` requests the matching state change. `rowActions: ThreadRowAction[] = []`
42
+ (attribute: false, each `'pin' | 'archive' | 'delete'`) —
43
+ data mode only: built-in icon buttons rendered into each row's `actions` slot. `showArchived: boolean
44
+ = false` (attribute `show-archived`, reflected) — data mode: include `archived` threads (in their own
45
+ trailing group). `editable: boolean = true` (reflected) — forwarded to each data-mode row's inline
46
+ rename. `label: string = ''` — accessible name for the list region, defaults to the localized
47
+ `threadListLabel`. `wrapRow?: (thread: ChatThread, row: TemplateResult) => TemplateResult` (attribute:
48
+ false) — data mode only: wraps each row's built-in `lr-conversation-item` with host-supplied content
49
+ that has no home in the item's own `title`/`excerpt`/`meta`/`actions` surface (e.g. a leading purpose
50
+ icon — the item has no default slot to receive one); unset renders the built-in row unwrapped.
51
+ `renderActions?: (thread: ChatThread) => TemplateResult` (attribute: false) — data mode only:
52
+ appends host-supplied content (re-invoked per row on every render, e.g. a `lr-menu` with custom
53
+ actions) after the built-in `rowActions` output in each row's `actions` slot; events it fires reach
54
+ the host normally and never trigger `lr-select`. Unset renders only the built-in `rowActions`.
55
+ `renderLeading?: (thread: ChatThread) => TemplateResult` (attribute: false) — renders non-interactive
56
+ leading content in each virtualized row. `renderMeta?: (thread: ChatThread) => TemplateResult`
57
+ (attribute: false) — appends structured metadata in the row's meta region.
58
+ `renderRowContent?: (thread: ChatThread) => TemplateResult` (attribute: false) — replaces the
59
+ conversation item's title/excerpt/meta content area with custom non-interactive row content.
60
+ `formatGroupLabel?: (key: ThreadBucketKey, date?: Date) => string` (attribute: false) — overrides
61
+ built-in date-group labels (use `formatGroup` for custom groups). `formatDate?: (date: Date) =>
62
+ string` (attribute: false) — overrides month-group date formatting. `wrapRow` remains wholly
63
+ host-owned and therefore receives no library-added wrapper part; use the focused `row-*` hook parts
64
+ or add the host's own styling hook inside that callback.
65
+
66
+ **Slots:** default — slotted mode only: host-supplied `lr-conversation-item`s, rendered in order.
67
+ `empty` — replaces the built-in empty state.
68
+
69
+ **Events:** (data mode; slotted mode only ever fires `lr-filter-change`) `lr-select` (`detail: {
70
+ id }`), `lr-thread-pin` (`detail: { id, pinned }` — the requested new state), `lr-thread-archive`
71
+ (`detail: { id, archived }`), `lr-thread-delete` (`detail: { id }`, no built-in confirmation),
72
+ `lr-thread-rename` (`detail: { id, title }`, re-emitted from the row's `lr-rename`),
73
+ `lr-filter-change` (`detail: { text, matchCount }`), `lr-group-toggle` (`detail: { id, collapsed }` —
74
+ controlled intent; native group buttons provide Enter/Space activation and explicit
75
+ `aria-expanded="true"|"false"`).
76
+
77
+ **CSS parts:** `base`, `search`/`search-input` (the search field wrapper and `<input
78
+ type="search">`), `list` (the list region), `empty`, `viewport` (the actual internal virtual-list
79
+ scroll container, suitable for scrollbar styling), `row-action` (a built-in pin/archive/delete icon
80
+ button), `pin-glyph` (the small pin indicator on a pinned row), `group-header`, `group-toggle`,
81
+ `group-label`, `group-icon`, `row` (all exported across the internal `lr-virtual-list` shadow
82
+ boundary), and `row-leading`/`row-content`/`row-meta`/`row-actions` (the library-owned wrappers around
83
+ their corresponding render-hook output; inherited fonts, layout values, and theme custom properties
84
+ reach callback-rendered descendants through these parts).
85
+
86
+ ```html
87
+ <lr-thread-list
88
+ searchable
89
+ .threads=${threads}
90
+ active-id=${activeThreadId}
91
+ .rowActions=${['pin', 'archive', 'delete']}
92
+ @lr-select=${(e) => openThread(e.detail.id)}
93
+ ></lr-thread-list>
94
+ ```
95
+
96
+ Composed with `lr-split` (or `lr-app-rail` + `lr-responsive-panel`): thread-list in the start
97
+ pane driving `activeId`, `lr-chat-viewport` + `lr-chat-composer` in the main pane.
@@ -0,0 +1,53 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
2
+
3
+ # `lr-time-input`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/forms/input/time-input.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraTimeInput`, also available unregistered from `@aceshooting/lyra-ui/components/forms/input/time-input.class.js`
7
+ - **Family** `components/forms/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-time-input`
14
+
15
+ A migration-friendly time alias of `lr-input` — the same subclassing shape as `lr-number-input`,
16
+ with the constructor and `connectedCallback()` setting `type = 'time'`. Its only own API is a
17
+ re-typed `min`/`max` pair (below); every other property, event, slot and part is `lr-input`'s.
18
+
19
+ **Properties:** `size` (`2xs`…`xl`), `placeholder`, `readonly`, `label`, `hint`, `errorText`
20
+ (`error-text`), `accessibleLabel` (`aria-label`), `autocomplete`, `spellcheck`, `autocapitalize`,
21
+ `autoCorrect` (`autocorrect`), `inputMode` (`inputmode`), and `enterKeyHint` (`enterkeyhint`).
22
+ `clearable` and `passwordVisible` (`password-visible`) are inherited but inert, exactly as on
23
+ `lr-number-input`.
24
+
25
+ `step` is forwarded verbatim to the native time input, where it means seconds (`step="1"` reveals
26
+ the seconds field, `'any'` disables step validation).
27
+
28
+ `min?: string | number` / `max?: string | number` (attributes `min`/`max`, both defaulting to
29
+ `undefined` — no bound) are re-declared here with a converter that forwards the attribute verbatim
30
+ instead of `lr-input`'s numeric parsing, so they take the native `<input type="time">` literal form:
31
+ `min="09:00"`, or `min="09:00:30"` alongside a seconds-precision `step`. Attribute and property are
32
+ interchangeable (`el.min = '09:00'` needs no cast), removing the attribute clears the bound, and the
33
+ native input's own constraint validation reports `rangeUnderflow`/`rangeOverflow` through
34
+ `checkValidity()`.
35
+
36
+ **Events:** `input`/`change` (native-style, composed), `lr-input`/`lr-change`
37
+ (`detail: { value }`), `focus`/`blur` (re-dispatched bubbling + composed), and `lr-clear`
38
+ (inherited, never fired here).
39
+
40
+ **Slots:** `label`, `hint`, `error`, `start`, `end`.
41
+
42
+ **CSS parts:** `form-control`, `form-control-label`, `input-wrapper`, `input`, `start`, `end`,
43
+ `hint`, `error`, plus the inherited, never-rendered `clear-button` and `password-toggle`.
44
+
45
+ **Themeable custom properties:** inherited from `lr-input`, identical in meaning —
46
+ `--lr-input-control-min-height`, `--lr-input-padding-block`, `--lr-input-padding-inline` and
47
+ `--lr-input-font-size` (the last three swap per `size`).
48
+
49
+ **Known gotchas:** the same two as `lr-number-input` — the inert clear/password surface, and `type`
50
+ only being re-forced on connect. The native `type="time"` UI (spinners, AM/PM, picker) is the
51
+ browser's own and is not restyled by Lyra.
52
+
53
+ ---
@@ -0,0 +1,91 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
2
+
3
+ # `lr-time-range`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/forms/time-range/time-range.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraTimeRange`, also available unregistered from `@aceshooting/lyra-ui/components/forms/time-range/time-range.class.js`
7
+ - **Family** `components/forms/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-time-range`
14
+
15
+ A two-handle brush/scrubber over a numeric domain (no date logic — callers map their own time axis
16
+ onto `[min, max]`). Form-associated (`static formAssociated = true`, via `ElementInternals`): an
17
+ ancestor `<fieldset disabled>` disables both handles and every preset button through an internal
18
+ `effectiveDisabled` getter, the same way it would a native `<input>`, without ever mutating the
19
+ consumer-facing `disabled` property/attribute itself.
20
+
21
+ **Properties:**
22
+ - `min: number = 0`
23
+ - `max: number = 100`
24
+ - `start: number = 0`
25
+ - `end: number = 100`
26
+ - `step: number = 1`
27
+ - `disabled: boolean = false` (reflected)
28
+ - `startLabel: string = 'Range start'` (attribute `start-label`) — `aria-label` for the start handle
29
+ - `endLabel: string = 'Range end'` (attribute `end-label`) — `aria-label` for the end handle
30
+ - `presets: TimeRangePreset[] = []` (attribute: false) — `TimeRangePreset { label: string; start:
31
+ number; end: number }`; optional discrete presets (e.g. "Last 7 days") rendered as a
32
+ `[part="presets"]` button row above the track — purely additive, the continuous brush is
33
+ unaffected and both interaction modes coexist; picking one sets both handles and emits the same
34
+ `lr-input`/`lr-change` pair a committed drag or keyboard step would
35
+
36
+ **Events:** `lr-input` (fired continuously while dragging or on each arrow/Home/End/PageUp/
37
+ PageDown key press, `detail: { start, end }`), `lr-change` (fired on pointer release /
38
+ key-up-commit, or when a preset button is clicked, `detail: { start, end }`)
39
+
40
+ **Slots:** none.
41
+
42
+ **CSS parts:** `base`, `track`, `range`, `handle-start`, `handle-end`, `presets`, `preset-button`
43
+
44
+ **Themeable custom properties:** shared tokens only — `--lr-color-border`, `--lr-color-brand`,
45
+ `--lr-color-surface`, `--lr-shadow` (track/handles), `--lr-opacity-disabled` (`:host([disabled])`
46
+ dimming), plus (for `presets`) `--lr-color-text`, `--lr-color-on-brand` (the active preset
47
+ button's text), `--lr-radius`, `--lr-space-xs/-s`, `--lr-transition-fast`,
48
+ `--lr-focus-ring-*`. No component-local tokens.
49
+
50
+ **Optional peer deps:** none.
51
+
52
+ ```html
53
+ <lr-time-range min="0" max="1440" start="480" end="1020" step="15"></lr-time-range>
54
+ <script>
55
+ document.querySelector('lr-time-range')
56
+ .addEventListener('lr-change', (e) => console.log(e.detail.start, e.detail.end));
57
+ </script>
58
+ ```
59
+
60
+ **Known gotchas:**
61
+ - Keyboard support now matches the full WAI-ARIA APG slider pattern: ArrowUp/Right and ArrowDown/Left
62
+ move by `step` (RTL-aware — under `direction: rtl` the forward/backward keys swap so they still
63
+ track the visually-adjacent direction), PageUp/PageDown move by `step * 10`, and Home/End jump to
64
+ that handle's actual *reachable* bound — clamped by the sibling handle's current value, not the
65
+ component's full `[min, max]` domain, so Home/End on the `end` handle can't jump past `start` (and
66
+ vice versa). Pointer-drag is RTL-aware the same way (mirrors the drag ratio under `direction:
67
+ rtl`).
68
+ - A disabled handle now gets `aria-disabled="true"` in addition to losing `tabindex` — a
69
+ screen-reader user exploring by virtual cursor no longer hears it announced as a live, adjustable
70
+ slider.
71
+ - `aria-valuemin`/`aria-valuemax` on each handle report that handle's reachable sub-range (bounded by
72
+ its sibling), not the full domain — matching what Home/End actually jump to.
73
+ - No `aria-valuetext`: only raw numeric `aria-valuenow` is exposed (omitted entirely, rather than a
74
+ literal `"NaN"`, if `start`/`end` is non-finite), no hook for a human-readable (e.g. formatted
75
+ date/time) equivalent of the mapped domain.
76
+ - Handles a `min > max` domain, a non-positive/non-finite `step`, and disabled-mid-drag/
77
+ disconnect-mid-drag correctly (tested) — safe to rely on those edge cases. Concurrent drags are
78
+ tracked per `pointerId` (not a single scalar), so a two-finger touch — one finger per handle —
79
+ moves both independently instead of the second pointer hijacking which handle the first pointer's
80
+ moves apply to; `pointercancel`/`lostpointercapture` (not just `pointerup`) both end a drag, same
81
+ fix as `lr-split`.
82
+ - Non-finite domain/handle values use finite fallback geometry, and non-finite or negative steps are
83
+ treated as unstepped; invalid values never become `NaN`/`Infinity` CSS or ARIA strings.
84
+ - `startLabel`/`endLabel` only override each handle's `aria-label`; they don't affect
85
+ `aria-valuenow`/`aria-valuemin`/`aria-valuemax` (still raw numbers) or any visible text.
86
+ - An ancestor `<fieldset disabled>` toggling is reflected via `formDisabledCallback` into
87
+ `effectiveDisabled` (tracked separately from the consumer's own `disabled`), so re-enabling the
88
+ fieldset correctly restores a handle that had `disabled` set explicitly by the consumer, and vice
89
+ versa — mirrors `lr-combobox`'s identical pattern.
90
+
91
+ ---
@@ -0,0 +1,65 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
2
+
3
+ # `lr-timeline-item`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/data/timeline/timeline-item.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraTimelineItem`, also available unregistered from `@aceshooting/lyra-ui/components/data/timeline/timeline-item.class.js`
7
+ - **Family** `components/data/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Documented with** `lr-timeline` (same section below)
10
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
11
+
12
+ ---
13
+
14
+ ## `lr-timeline` and `lr-timeline-item`
15
+
16
+ Read-only chronological sequence. `lr-timeline` is a `role="list"` flex container; each
17
+ `lr-timeline-item` is a light-DOM child that sets `role="listitem"` on itself and renders its own
18
+ marker plus the trailing rail segment reaching toward the next item's marker. The last item's rail is
19
+ suppressed purely in CSS (`::slotted([role='listitem']:last-child)`) — no JS coordination anywhere.
20
+ Neither element has events, keyboard navigation, or a selection model: a passive record display, by
21
+ design (an item's `title`/`description` routinely hold focusable content, so wrapping the row in
22
+ `role="button"` would trip `nested-interactive`).
23
+
24
+ **`lr-timeline` properties:** `orientation: 'vertical' | 'horizontal' = 'vertical'` — note the
25
+ opposite default from `lr-stepper`; `horizontal` makes `[part='base']` a horizontally scrollable row.
26
+ `accessibleLabel: string = ''` (attribute `aria-label`) overrides the localized `"Timeline"` name
27
+ (the `role="list"` element is in the shadow root and never inherits a host attribute). Read-only
28
+ `itemCount: number` is the live default-slot child count.
29
+
30
+ **`lr-timeline-item` properties:** `timestamp?: Date | string | number` (attribute: false — `Date`
31
+ isn't attribute-serializable; invalid input normalizes to unset and renders no timestamp UI),
32
+ `sync: boolean = false` (forwarded to the internal `<lr-relative-time>`; no effect when the
33
+ `timestamp` slot is filled), `variant: 'neutral' | 'brand' | 'success' | 'warning' | 'danger' =
34
+ 'neutral'` (marker tone), `active: boolean = false` (reflected — pulsing marker, disabled under
35
+ `prefers-reduced-motion: reduce`, plus `aria-current="true"` on the host, removed entirely while
36
+ inactive).
37
+
38
+ **Events:** none on either element. Listen to the native `slotchange` if you need item-count changes.
39
+
40
+ **Slots:** `lr-timeline`'s default slot holds the items, in display order. On an item the **default
41
+ slot is the title** (there is no `title` slot), plus `icon` (marker glyph override; falls back to a
42
+ color-coded dot), `timestamp` (wins outright over the `timestamp` property whenever it has assigned
43
+ content), and `description` (its part is hidden entirely when empty).
44
+
45
+ **CSS parts:** timeline `base` — the `role="list"` flex container (no separate `list` part). Item:
46
+ `base`, `track` (marker + rail spine, always the opposite axis from `base`), `marker`
47
+ (`aria-hidden="true"`, decorative), `rail` (the connecting segment; `visibility: hidden` rather than
48
+ removed on the last item, so marker alignment stays consistent), `content`, `header` (flex row
49
+ wrapping `title` and `timestamp`; wraps at narrow widths rather than truncating), `title`,
50
+ `timestamp` (hidden when there's nothing to show), `description`.
51
+
52
+ **Themeable custom properties:** `--lr-timeline-gap` (default `var(--lr-space-l)`) — declared on
53
+ `lr-timeline` but consumed inside each item via inheritance across the slot boundary; it is both the
54
+ inter-item spacing and the length each rail bridges. On the item: `--lr-timeline-marker-size`
55
+ (default `var(--lr-size-1-25rem)`, both dimensions so the dot stays circular),
56
+ `--lr-timeline-rail-width` (default `var(--lr-border-width-medium)`), `--lr-timeline-rail-color`
57
+ (default `var(--lr-color-border)`), `--lr-timeline-marker-color` (default
58
+ `var(--lr-color-text-quiet)`, swapped per `variant`; setting it directly on an item wins over the
59
+ variant default).
60
+
61
+ **Internal, not public:** `--lr-timeline-item-direction`, `--lr-timeline-item-track-direction`,
62
+ `--lr-timeline-item-gap-block-end` and `--lr-timeline-item-gap-inline-end` (set by `lr-timeline`'s
63
+ `:host` / `:host([orientation='horizontal'])` rules), plus `--lr-timeline-item-rail-visibility` (set
64
+ by its `::slotted(:last-child)` rule) propagate orientation and last-item state across the slot
65
+ boundary. Overriding any of them breaks layout rather than merely restyling it.
@@ -0,0 +1,65 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/data.md — do not edit this file. -->
2
+
3
+ # `lr-timeline`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/data/timeline/timeline.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraTimeline`, also available unregistered from `@aceshooting/lyra-ui/components/data/timeline/timeline.class.js`
7
+ - **Family** `components/data/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Documented with** `lr-timeline-item` (same section below)
10
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
11
+
12
+ ---
13
+
14
+ ## `lr-timeline` and `lr-timeline-item`
15
+
16
+ Read-only chronological sequence. `lr-timeline` is a `role="list"` flex container; each
17
+ `lr-timeline-item` is a light-DOM child that sets `role="listitem"` on itself and renders its own
18
+ marker plus the trailing rail segment reaching toward the next item's marker. The last item's rail is
19
+ suppressed purely in CSS (`::slotted([role='listitem']:last-child)`) — no JS coordination anywhere.
20
+ Neither element has events, keyboard navigation, or a selection model: a passive record display, by
21
+ design (an item's `title`/`description` routinely hold focusable content, so wrapping the row in
22
+ `role="button"` would trip `nested-interactive`).
23
+
24
+ **`lr-timeline` properties:** `orientation: 'vertical' | 'horizontal' = 'vertical'` — note the
25
+ opposite default from `lr-stepper`; `horizontal` makes `[part='base']` a horizontally scrollable row.
26
+ `accessibleLabel: string = ''` (attribute `aria-label`) overrides the localized `"Timeline"` name
27
+ (the `role="list"` element is in the shadow root and never inherits a host attribute). Read-only
28
+ `itemCount: number` is the live default-slot child count.
29
+
30
+ **`lr-timeline-item` properties:** `timestamp?: Date | string | number` (attribute: false — `Date`
31
+ isn't attribute-serializable; invalid input normalizes to unset and renders no timestamp UI),
32
+ `sync: boolean = false` (forwarded to the internal `<lr-relative-time>`; no effect when the
33
+ `timestamp` slot is filled), `variant: 'neutral' | 'brand' | 'success' | 'warning' | 'danger' =
34
+ 'neutral'` (marker tone), `active: boolean = false` (reflected — pulsing marker, disabled under
35
+ `prefers-reduced-motion: reduce`, plus `aria-current="true"` on the host, removed entirely while
36
+ inactive).
37
+
38
+ **Events:** none on either element. Listen to the native `slotchange` if you need item-count changes.
39
+
40
+ **Slots:** `lr-timeline`'s default slot holds the items, in display order. On an item the **default
41
+ slot is the title** (there is no `title` slot), plus `icon` (marker glyph override; falls back to a
42
+ color-coded dot), `timestamp` (wins outright over the `timestamp` property whenever it has assigned
43
+ content), and `description` (its part is hidden entirely when empty).
44
+
45
+ **CSS parts:** timeline `base` — the `role="list"` flex container (no separate `list` part). Item:
46
+ `base`, `track` (marker + rail spine, always the opposite axis from `base`), `marker`
47
+ (`aria-hidden="true"`, decorative), `rail` (the connecting segment; `visibility: hidden` rather than
48
+ removed on the last item, so marker alignment stays consistent), `content`, `header` (flex row
49
+ wrapping `title` and `timestamp`; wraps at narrow widths rather than truncating), `title`,
50
+ `timestamp` (hidden when there's nothing to show), `description`.
51
+
52
+ **Themeable custom properties:** `--lr-timeline-gap` (default `var(--lr-space-l)`) — declared on
53
+ `lr-timeline` but consumed inside each item via inheritance across the slot boundary; it is both the
54
+ inter-item spacing and the length each rail bridges. On the item: `--lr-timeline-marker-size`
55
+ (default `var(--lr-size-1-25rem)`, both dimensions so the dot stays circular),
56
+ `--lr-timeline-rail-width` (default `var(--lr-border-width-medium)`), `--lr-timeline-rail-color`
57
+ (default `var(--lr-color-border)`), `--lr-timeline-marker-color` (default
58
+ `var(--lr-color-text-quiet)`, swapped per `variant`; setting it directly on an item wins over the
59
+ variant default).
60
+
61
+ **Internal, not public:** `--lr-timeline-item-direction`, `--lr-timeline-item-track-direction`,
62
+ `--lr-timeline-item-gap-block-end` and `--lr-timeline-item-gap-inline-end` (set by `lr-timeline`'s
63
+ `:host` / `:host([orientation='horizontal'])` rules), plus `--lr-timeline-item-rail-visibility` (set
64
+ by its `::slotted(:last-child)` rule) propagate orientation and last-item state across the slot
65
+ boundary. Overriding any of them breaks layout rather than merely restyling it.