@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,99 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/conversation.md — do not edit this file. -->
2
+
3
+ # `lr-model-settings-panel`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/conversation/model-settings-panel/model-settings-panel.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraModelSettingsPanel`, also available unregistered from `@aceshooting/lyra-ui/components/conversation/model-settings-panel/model-settings-panel.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-model-settings-panel`
14
+
15
+ A fixed composition of `<lr-model-select>` and `<lr-slider>` into one agent-configuration card:
16
+ pick a provider's model, then tune its sampling temperature. First-party invention (no Web Awesome
17
+ equivalent). Not a generic layout shell — it exists so a consumer doesn't have to re-wire the same
18
+ two child `lr-change` events into one combined settings object by hand every time this pairing
19
+ comes up.
20
+
21
+ Every prop here is a plain pass-through to (or mirror of) the matching child control's own prop of
22
+ the same/similar name — see `lr-model-select` and `lr-slider` themselves for the exact semantics
23
+ of `catalog`/`allowCustom` and `temperatureMin`/`temperatureMax`/`temperatureStep`.
24
+
25
+ **Properties:**
26
+ - `provider: string = ''` — informational provider badge, passed straight through to the internal
27
+ `lr-model-select`.
28
+ - `catalog?: LyraModelCatalog` (attribute: false, JS-only) — `string[] | { id: string; label: string
29
+ }[]` (every entry must be one shape or the other, never mixed); passed straight through to the
30
+ internal `lr-model-select`.
31
+ - `modelValue: string = ''` (attribute `model-value`) — the current model id.
32
+ - `allowCustom: boolean = false` (attribute `allow-custom`) — lets the model control accept a value
33
+ outside `catalog`; passed straight through.
34
+ - `temperature: number = 1` — the current sampling temperature. `1` is the midpoint of the default
35
+ `[0, 2]` range and matches both OpenAI's and Anthropic's own provider default; reassign it yourself
36
+ if your provider differs.
37
+ - `temperatureMin: number = 0` (attribute `temperature-min`)
38
+ - `temperatureMax: number = 2` (attribute `temperature-max`)
39
+ - `temperatureStep: number = 0.1` (attribute `temperature-step`)
40
+ - `layout: 'vertical' | 'compact' = 'vertical'` (reflected) — `vertical` stacks full-width rows with
41
+ visible labels; `compact` runs the same two rows side by side with a smaller, uppercase temperature
42
+ caption, for toolbars/sidebars where the vertical layout's height doesn't fit.
43
+ - `disabled: boolean = false` (reflected) — disables the panel as a unit by forwarding to *both*
44
+ internal `lr-model-select` and `lr-slider`; a wrapping `<fieldset disabled>` alone would not
45
+ reach either, since a form-associated control's own `disabled` IDL property/attribute is never
46
+ mutated by fieldset cascading.
47
+
48
+ **Events:** `lr-change` — `detail: { modelValue: string; inCatalog: boolean; temperature: number }`.
49
+ Fires whenever *either* child control's own `lr-change` fires, and always carries the full current
50
+ settings snapshot, not just whichever field actually changed. `inCatalog` is recomputed fresh from
51
+ `catalog`/`modelValue` on every emission (mirroring `lr-model-select`'s own `effectiveEntries` logic)
52
+ rather than cached from the last child event, so it's still correct even when `modelValue` was just
53
+ assigned directly instead of via the child's own event.
54
+
55
+ **Slots:** none — this is a fixed two-control composition, not a generic layout shell.
56
+
57
+ **CSS parts:** `base`, `model-row`, `temperature-row`, `temperature-label`, `temperature-value`
58
+
59
+ **Themeable custom properties:** no component-specific custom properties; consumes shared tokens
60
+ `--lr-space-l/-m/-s/-xs`, `--lr-color-border`, `--lr-radius`, `--lr-color-surface`,
61
+ `--lr-color-text`, `--lr-color-text-quiet`.
62
+
63
+ **Optional peer deps:** none — it composes the library's own `<lr-model-select>` and `<lr-slider>`
64
+ internally (both imported unconditionally as side effects, not optional).
65
+
66
+ ```html
67
+ <lr-model-settings-panel
68
+ provider="OpenAI"
69
+ .catalog=${['gpt-4o', 'gpt-4o-mini', 'gpt-4.1']}
70
+ model-value="gpt-4o"
71
+ temperature="0.7"
72
+ @lr-change=${(e) => console.log(e.detail)}
73
+ ></lr-model-settings-panel>
74
+
75
+ <lr-model-settings-panel layout="compact" .catalog=${catalog}></lr-model-settings-panel>
76
+ ```
77
+
78
+ The internal `lr-slider` renders with its own value readout suppressed (`.showValue=${false}`);
79
+ the current temperature is instead shown via this component's own `[part="temperature-value"]` span,
80
+ which interpolates `temperature` verbatim with no `toFixed`/formatting applied — a value like `0.1`
81
+ shows as `0.1`, and any floating-point noise a slider drag produces would render digit-for-digit. The
82
+ panel's own `temperature` property mirrors the nested slider's *live* value on every one of its
83
+ `lr-input` events (drag/key-repeat), not just its committed `lr-change` — so `temperature` (and
84
+ the visible readout) tick continuously during a drag, but the panel's own `lr-change` event only
85
+ fires once the slider's own `lr-change` commits (pointerup/keyup) or the model changes; reading
86
+ `.temperature` mid-drag will already reflect the live position even though no `lr-change` has fired
87
+ yet for it.
88
+
89
+ **Known gotchas:**
90
+ - `catalog` is JS-only (`attribute: false`) — set it via a property binding (`.catalog=`), never as
91
+ an HTML attribute, same requirement as the underlying `lr-model-select`.
92
+ - `layout="compact"` removes the host's own `max-inline-size` cap (`28rem` in `vertical` layout)
93
+ entirely, so a compact panel can grow as wide as its container/flex context allows.
94
+ - The nested `lr-model-select`'s own `max-inline-size` (sized for a standalone dropdown) is
95
+ overridden to `100%`/`none` inside `[part="model-row"]` so it fills the card's full width — a
96
+ detail only worth knowing if you're targeting `lr-model-select` internals with your own CSS
97
+ through this component.
98
+
99
+ ---
@@ -0,0 +1,27 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/utility.md — do not edit this file. -->
2
+
3
+ # `lr-mutation-observer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/utility/mutation-observer/mutation-observer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraMutationObserver`, also available unregistered from `@aceshooting/lyra-ui/components/utility/mutation-observer/mutation-observer.class.js`
7
+ - **Family** `components/utility/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-mutation-observer`
14
+
15
+ Lifecycle-managed wrapper around the native `MutationObserver`. All element children in the default
16
+ slot are observed and their mutation records are emitted as a composed event; the wrapper itself
17
+ adds no layout.
18
+
19
+ **Properties:** `disabled: boolean = false` (reflected), `childList: boolean = true` (attribute
20
+ `child-list`), `observeAttributes: boolean = false` (attribute `attributes`), `characterData: boolean = false` (attribute
21
+ `character-data`), `subtree: boolean = true`, and `attributeFilter: string[] = []`.
22
+
23
+ **Events:** `lr-mutation` with `{ records: MutationRecord[] }` in `detail`.
24
+
25
+ **Slots:** default observed elements. **CSS parts:** `base`.
26
+
27
+ ---
@@ -0,0 +1,56 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/retrieval.md — do not edit this file. -->
2
+
3
+ # `lr-neighbor-list`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/retrieval/neighbor-list/neighbor-list.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraNeighborList`, also available unregistered from `@aceshooting/lyra-ui/components/retrieval/neighbor-list/neighbor-list.class.js`
7
+ - **Family** `components/retrieval/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-neighbor-list`
14
+
15
+ One entity's relationship rows: relation, direction, neighbor, with per-row navigate and
16
+ expand-in-graph affordances. Never computes neighbors itself (the host derives rows from its own
17
+ graph data) and never mutates a graph.
18
+
19
+ **Properties:**
20
+ - `rows: LyraNeighborRow[] = []` (attribute: false) — `LyraNeighborRow { relation: string; direction:
21
+ 'in' | 'out' | 'both'; node: LyraEntity }`
22
+ - `groupByRelation: boolean = false` (attribute `group-by-relation`) — inserts a `group-header` row per
23
+ distinct `relation`
24
+ - `expandable: boolean = false` — renders a per-row expand-in-graph icon button
25
+ - `virtualizeAt: number = 100` (attribute `virtualize-at`) — row count above which the list virtualizes
26
+ - `label: string = ''`
27
+
28
+ **Events:** `lr-entity-activate` (`detail: { id }`, a row's node button was activated),
29
+ `lr-node-expand` (`detail: { id }`, a row's expand button was activated — deliberately the same
30
+ name and detail shape as `lr-graph`'s own event, so one host handler serves both).
31
+
32
+ **Slots:** none.
33
+
34
+ **CSS parts:** `base` (`role="list"`), `group-header` (only when `groupByRelation`), `row`
35
+ (`role="listitem"`), `direction` (`aria-hidden` glyph), `relation`, `node-label`, `node-meta`
36
+ (secondary type/degree text, when present), `expand-button` (only when `expandable`), `empty`
37
+ (shown when `rows` is empty).
38
+
39
+ **Themeable custom properties:** shared tokens only.
40
+
41
+ **Optional peer deps:** none.
42
+
43
+ ```html
44
+ <lr-neighbor-list expandable group-by-relation></lr-neighbor-list>
45
+ <script>
46
+ document.querySelector('lr-neighbor-list').rows = [
47
+ { relation: 'works_for', direction: 'out', node: { id: 'e2', label: 'Analytical Engine Co.' } },
48
+ ];
49
+ </script>
50
+ ```
51
+
52
+ **Known gotchas:**
53
+ - `lr-node-expand`'s detail shape is intentionally identical to `lr-graph`'s own event of the
54
+ same name, so a single listener wired to both handles "expand this node's neighborhood" uniformly.
55
+
56
+ ---
@@ -0,0 +1,67 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/retrieval.md — do not edit this file. -->
2
+
3
+ # `lr-node-palette`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/retrieval/node-palette/node-palette.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraNodePalette`, also available unregistered from `@aceshooting/lyra-ui/components/retrieval/node-palette/node-palette.class.js`
7
+ - **Family** `components/retrieval/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-node-palette`
14
+
15
+ The searchable, categorized node library for workflow editors: drag an item onto a canvas, or place
16
+ it by keyboard. Never creates nodes or touches a canvas's data itself — the drop/place handshake ends
17
+ at `lr-node-add`/`lr-palette-place`; the host mutates `nodes`. Fully decoupled from
18
+ `lr-flow-canvas` (no `for` resolution, unlike the other three companions) — it only needs to agree
19
+ with a `droppable` canvas on the `FLOW_PALETTE_MIME_TYPE` drag payload shape.
20
+
21
+ **Properties:**
22
+ - `items: PaletteItem[] = []` (attribute: false) — `PaletteItem { type: string; label: string;
23
+ description?: string; category?: string; keywords?: string[]; icon?: unknown; disabled?: boolean }`;
24
+ `type` is the `FlowNode.type` a placement/drop creates, `category` groups items under
25
+ first-appearance-ordered headings, `disabled` renders an item visible but not draggable/placeable
26
+ - `label: string = ''` — accessible name for the search field/listbox
27
+ - `accessibleLabel: string | null = null` (attribute `aria-label`) — overrides the listbox's
28
+ computed accessible name; wins over `label` and the localized default, and attribute-reflects
29
+ from a host-level `aria-label`
30
+
31
+ **Events:** `lr-palette-place` (`detail: { type }`, a pointer click or Enter/Space — the
32
+ click/keyboard alternative to dragging), `lr-select` (`detail: { item }`, emitted alongside
33
+ `lr-palette-place` on both gestures, carrying the full item).
34
+
35
+ **Slots:** `header` (content above the search field, e.g. a heading or tabs), `footer` (content
36
+ below the list).
37
+
38
+ **CSS parts:** `base`, `search`, `list` (the listbox), `group-header`, `item`, `item-icon`,
39
+ `item-label`, `item-description`, `empty` (no-results message), `live-region` (result-count
40
+ announcement).
41
+
42
+ **Themeable custom properties:** shared tokens only.
43
+
44
+ **Optional peer deps:** none.
45
+
46
+ ```html
47
+ <lr-node-palette id="palette"></lr-node-palette>
48
+ <lr-flow-canvas id="canvas" droppable style="height:480px"></lr-flow-canvas>
49
+ <script>
50
+ document.getElementById('palette').items = [
51
+ { type: 'http-request', label: 'HTTP Request', category: 'Actions' },
52
+ { type: 'transform', label: 'Transform', category: 'Actions' },
53
+ ];
54
+ document.getElementById('canvas').addEventListener('lr-node-add', (e) => {
55
+ console.log('drop payload type:', e.detail.type, e.detail.position);
56
+ });
57
+ </script>
58
+ ```
59
+
60
+ **Known gotchas:**
61
+ - A drag from this palette carries `FLOW_PALETTE_MIME_TYPE` as its `DataTransfer` type — only a
62
+ `droppable` `lr-flow-canvas` (or a host reimplementing the same MIME type) accepts it.
63
+ - Clicking or activating an item by keyboard fires `lr-palette-place`/`lr-select` immediately, no
64
+ drag required — the host decides where the new node lands (there's no pointer position to derive
65
+ one from on a keyboard placement).
66
+
67
+ ---
@@ -0,0 +1,65 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
2
+
3
+ # `lr-notebook-viewer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/viewers/notebook-viewer/notebook-viewer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraNotebookViewer`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/notebook-viewer/notebook-viewer.class.js`
7
+ - **Family** `components/viewers/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `dompurify` — see `llms/peers.md`
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-notebook-viewer`
14
+
15
+ Read-only Jupyter notebook (nbformat 4.x) renderer, composing existing components per cell.
16
+ Execution is a hard non-goal. Markdown cells render through `lr-markdown`, code cells through
17
+ `lr-code-block` (using the notebook's kernel language for syntax highlighting), and raw cells as
18
+ plain preformatted text. A code cell's `execute_result`/`display_data` outputs prefer, in order,
19
+ `image/png`, `image/jpeg`, `image/svg+xml` (sanitized), `text/html` (sanitized), `application/json`
20
+ (via `lr-json-viewer`), then `text/plain`. Stream/error outputs render as plain preformatted text
21
+ (tinted `danger` for stderr/tracebacks). Sanitizing raw HTML/SVG output markup lazy-loads the
22
+ optional peer `dompurify`; without it, the output renders a localized notice instead of raw markup.
23
+ Cells are virtualized through `lr-virtual-list`. `node-path` anchors resolve `path[0]` as a cell
24
+ index; `fragment` anchors resolve a cell's own `id`. No execution, no kernels, no editing, no
25
+ ipywidgets.
26
+
27
+ **Properties:** `src: string = ''` — URL to fetch and parse as a notebook; ignored once `notebook` is
28
+ set. `notebook?: object | string` (property only) — an already-parsed notebook document, or its raw
29
+ JSON text; wins over `src` and is parsed (and validated) synchronously. `name: string = ''` —
30
+ accessible label, and matched against a `fragment` anchor's cell id. `outputCollapseLines: number =
31
+ 40` (attribute `output-collapse-lines`) — a plain-text output longer than this many lines renders
32
+ collapsed behind a toggle; `0` disables collapsing. `maxHeight: string = ''` (attribute
33
+ `max-height`) — once set, the notebook scrolls internally past this height. `anchorKinds` is a
34
+ readonly `['node-path', 'fragment']` (this viewer's supported `LyraAnchor.kind` values for the
35
+ shared anchor-target contract).
36
+
37
+ **Methods:** `search(query)` resolves the match count over cell sources and text outputs — a
38
+ matching cell counts as one match (empty/whitespace query behaves like `clearSearch()`);
39
+ `searchNext()`/`searchPrevious()` advance/step back through matches, scrolling to and flashing the
40
+ target cell; `clearSearch()` clears the query and matches.
41
+
42
+ **Events:** `lr-load` — `detail: { cellCount, language }`, fired once a notebook has been parsed
43
+ and validated (`language` from `metadata.language_info.name`/`kernelspec.language`, else `''`).
44
+ `lr-highlight-activate` — `detail: { id }`. `lr-search-change` — `detail: { query, matchCount,
45
+ activeIndex }`. `lr-render-error` — `detail: { error }`, fetching, parsing, or validating the
46
+ notebook failed.
47
+
48
+ **CSS parts:** `base` (the root scroll container), `cell` (`data-cell-type="code|markdown|raw"`,
49
+ `data-active`), `cell-gutter` (the `In [n]`/`Out [n]` label column), `cell-source`, `outputs`,
50
+ `output` (`data-output-type`, `data-stream`), `output-toggle`, `error`, `spinner`.
51
+
52
+ **Themeable custom properties:** `--lr-notebook-viewer-max-height` (default `none`).
53
+
54
+ **Optional peer deps:** `marked`+`dompurify` (markdown cells, falls back to plain text per cell),
55
+ `shiki` (code cells, falls back to unhighlighted), `dompurify` (HTML/SVG outputs, falls back to
56
+ `text/plain`).
57
+
58
+ ```html
59
+ <lr-notebook-viewer .notebook=${result} max-height="30rem"
60
+ @lr-load=${(e) => console.log(e.detail.cellCount, 'cells')}
61
+ ></lr-notebook-viewer>
62
+ ```
63
+
64
+ A notebook major version outside 4.0–4.5, an invalid shape, or more than 2,000 cells renders a
65
+ localized error and fires `lr-render-error` instead of the notebook.
@@ -0,0 +1,44 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
2
+
3
+ # `lr-number-input`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/forms/input/number-input.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraNumberInput`, also available unregistered from `@aceshooting/lyra-ui/components/forms/input/number-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-number-input`
14
+
15
+ A migration-friendly numeric alias of `lr-input` — a subclass whose constructor and
16
+ `connectedCallback()` both set `type = 'number'`. It adds no API of its own; everything below is
17
+ `lr-input`'s surface, unchanged.
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`), `enterKeyHint` (`enterkeyhint`), and
22
+ `min`/`max`/`step` (the native numeric constraint validation). `clearable` and `passwordVisible`
23
+ (`password-visible`) are inherited but inert — see gotchas.
24
+
25
+ **Events:** `input`/`change` (native-style, composed), `lr-input`/`lr-change`
26
+ (`detail: { value }`), `focus`/`blur` (re-dispatched bubbling + composed from the internal native
27
+ input), and `lr-clear` (inherited, never fired here).
28
+
29
+ **Slots:** `label`, `hint`, `error`, `start`, `end`.
30
+
31
+ **CSS parts:** `form-control`, `form-control-label`, `input-wrapper`, `input`, `start`, `end`,
32
+ `hint`, `error`, plus the inherited `clear-button` and `password-toggle`, neither of which this
33
+ alias ever renders.
34
+
35
+ **Themeable custom properties:** inherited from `lr-input`, identical in meaning —
36
+ `--lr-input-control-min-height`, `--lr-input-padding-block`, `--lr-input-padding-inline` and
37
+ `--lr-input-font-size` (the last three swap per `size`).
38
+
39
+ **Known gotchas:**
40
+ - `clearable`/`clear-button`/`lr-clear` are inert: the clear action only renders for
41
+ `type="text"`/`"search"`. `password-visible`/`password-toggle` are likewise inert, since the
42
+ toggle only renders for `type="password"`.
43
+ - `type` is re-forced to `number` on every connect, but a later `el.type = 'text'` on a connected
44
+ element is not reverted — use `lr-input` when the type has to change.
@@ -0,0 +1,196 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
2
+
3
+ # `lr-option`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/forms/combobox/option.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraOption`, also available unregistered from `@aceshooting/lyra-ui/components/forms/combobox/option.class.js`
7
+ - **Family** `components/forms/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Documented with** `lr-combobox` (same section below)
10
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
11
+
12
+ ---
13
+
14
+ ## `lr-combobox` / `lr-option`
15
+
16
+ Filterable single/multi-select combining a text input with a listbox. Mirrors the core
17
+ `<wa-combobox>` API under the `lr-` prefix. **Form-associated** (hand-rolled internals, not the
18
+ shared `FormAssociated` mixin — see gotchas).
19
+
20
+ ### `lr-combobox`
21
+
22
+ **Properties:**
23
+ - `multiple: boolean = false` (reflected)
24
+ - `size: 'xs' | 's' | 'm' | 'l' | 'xl' = 'm'` (reflected — same scale as `lr-select`'s `size`;
25
+ also scales the "+N" overflow tag and decorative expand icon; `size="s"` shares its outer
26
+ control height with `lr-input`, `lr-select`, and `lr-segmented` without part overrides)
27
+ - `placeholder: string = ''`
28
+ - `disabled: boolean = false` (reflected)
29
+ - `required: boolean = false` (reflected — enforced via `internals.setValidity()`; also reflected as
30
+ `aria-required` on `<input part="combobox-input">` immediately, and `aria-invalid` once the field
31
+ has been touched, see gotchas)
32
+ - `name: string = ''`
33
+ - `label: string = ''`
34
+ - `hint: string = ''`
35
+ - `errorText: string = ''` (attribute `error-text` — static error copy shown below the hint;
36
+ overridden by slotted `error` content when provided)
37
+ - `open: boolean = false` (reflected)
38
+ - `clearable: boolean = false` (reflected) — displays the clear button while a value is selected
39
+ - `withClear: boolean = false` (attribute `with-clear`) — deprecated compatibility alias for
40
+ `clearable`; either property enables the same clear button
41
+ - `autocomplete: string = 'off'`, `inputMode: string = ''` (attribute `inputmode`),
42
+ `enterKeyHint: string = ''` (attribute `enterkeyhint`), `spellcheck: boolean = true`,
43
+ `autocapitalize: string = ''`, and `autoCorrect: string = ''` (attribute `autocorrect`) — native
44
+ editing-assistance attributes forwarded to the internal filter input
45
+ - `maxOptionsVisible: number = 3` (attribute `max-options-visible` — caps how many selected tags
46
+ show before collapsing to `+N`)
47
+ - `emptyText: string = 'No results'` (attribute `empty-text`)
48
+ - `loadingText: string = 'Loading…'` (attribute `loading-text` — listbox row shown while a `source`
49
+ fetch is in flight)
50
+ - `overflowText: string = '+{n} more — refine your search'` (attribute `overflow-text` — listbox row
51
+ shown when `maxRender` caps the row list; `{n}` is replaced with the hidden count)
52
+ - `filter: OptionFilter | null = null` (attribute: false — `(option, query) => boolean`; default
53
+ matches `label`/`searchText` case-insensitively; ignored while `source` is set)
54
+ - `source: ComboboxSource | null = null` (attribute: false — `(query: string) =>
55
+ Promise<ComboboxSourceRow[]>`; when set, replaces the light-DOM `<lr-option>` list with an async
56
+ lookup, debounced ~200ms after each keystroke and re-run on clear/pick. `loadingText` is shown
57
+ while a call is in flight; a stale in-flight call that resolves after a newer one (or after
58
+ disconnect) is dropped via a monotonic token)
59
+ - `maxRender: number = 200` (attribute `max-render` — caps how many rows render at once, always
60
+ keeping the current selection visible even if it's outside the cap; the excess renders as one
61
+ `overflowText` row instead of being dropped silently)
62
+ - `value: string | string[]` — a getter/setter: plain `string` in single mode, `string[]` in
63
+ `multiple` mode
64
+ - `selectedRows: ComboboxSourceRow[]` (read-only getter) — structured rows for the current
65
+ selection, including any opaque `data` payload supplied by an async source. Selected async rows
66
+ remain available after the query changes or a later source result no longer contains them
67
+ - `selectionStart`, `selectionEnd`, and `selectionDirection` — selection getters/setters forwarded
68
+ to the internal input
69
+
70
+ **Methods:** `focus(options?)`, `blur()`, `select()`, `setSelectionRange()`, and `setRangeText()`
71
+ forward to the internal input. `setRangeText()` synchronizes the filter query and visible options.
72
+
73
+ `ComboboxSourceRow = { value: string; label: string; sub?: string; icon?: unknown; badge?: string |
74
+ number; accessibleLabel?: string; data?: unknown; dotColor?: string; group?: string; disabled?:
75
+ boolean }` — the row shape used by the async `source` path. `icon` renders as a decorative leading
76
+ visual, `badge` as trailing metadata, `accessibleLabel` can provide richer spoken text than the
77
+ visible label, and `data` is retained without being rendered for retrieval through `selectedRows`.
78
+ The light-DOM `<lr-option>` path normalizes its supported label/sub/dot/group fields to the same
79
+ internal row model.
80
+
81
+ **Events:** typing in the filter exposes the original bubbling/composed, non-cancelable `InputEvent`
82
+ as exactly one host `input` event and does not fire `change`. An actual user selection mutation —
83
+ pointer or keyboard selection, multiple-value toggle, tag/Backspace removal, or clear — emits exactly
84
+ one bubbling/composed, non-cancelable plain `input` `Event`, immediately followed by the same shape
85
+ of `change` `Event`. Re-picking the current single value and programmatic/default/reset/restore
86
+ writes are silent. The clear button emits one `lr-clear` after its `input`/`change` pair.
87
+ `lr-filter` (`detail: { value: string }`) reports the in-progress filter text on every user-driven
88
+ keystroke — the live as-you-typed search string, deliberately *not* `value`, which is the committed
89
+ selection. It is the supported way to read that text; reaching into the shadow root for
90
+ `[part="combobox-input"]`'s value is not. Named `lr-filter` rather than `lr-input` precisely because
91
+ `lr-input`'s detail on `<lr-input>` is the committed value, and the two must not share a name while
92
+ carrying different strings. It fires for user input only: picking a row, the clear button,
93
+ `form.reset()`, dismissing the listbox, a programmatic `value` write, and `setRangeText()` all blank
94
+ the filter silently, mirroring how `<lr-input>`'s `lr-input` only reports user edits.
95
+
96
+ `lr-show` and `lr-hide` report listbox visibility transitions.
97
+ The internal input's `focus` and `blur` are re-dispatched as bubbling, composed host events.
98
+
99
+ **Slots:** default (`<lr-option>` children), `label`, `hint`, `error` (overrides the `errorText`
100
+ attribute when provided)
101
+
102
+ **CSS parts:** `form-control`, `form-control-label`, `combobox`, `tags`, `tag`,
103
+ `tag__remove-button`, `combobox-input`, `clear-button`, `expand-icon`, `listbox`, `option`,
104
+ `option-dot` (the leading status dot, when a row's `dotColor` is set), `option-icon` (the decorative
105
+ leading visual for an async row), `option-label`, `option-sub` (a row's secondary line, when `sub`
106
+ is set), `option-badge` (an async row's trailing metadata), `option-overflow` (the "+N more"
107
+ indicator from `maxRender`), `error`, `hint`
108
+
109
+ **Themeable custom properties:** `--lr-combobox-trigger-padding`,
110
+ `--lr-combobox-trigger-min-height`, `--lr-combobox-font-size`, `--lr-combobox-tag-padding`,
111
+ `--lr-combobox-tag-font-size`, and `--lr-combobox-expand-size` (the decorative icon box; each
112
+ standard size supplies an aligned default), plus shared tokens.
113
+
114
+ **Optional peer deps:** none.
115
+
116
+ ### `lr-option`
117
+
118
+ **Properties:**
119
+ - `value: string = ''`
120
+ - `disabled: boolean = false`
121
+ - `selected: boolean = false` (reflected — set by the parent combobox, but also **read** on initial
122
+ mount, see below)
123
+ - `group: string = ''` (section header)
124
+ - `searchText: string = ''` (attribute `search-text` — extra text the filter matches beyond the
125
+ visible label)
126
+ - `sub: string = ''` (optional secondary line rendered under the label, e.g. a status/date summary)
127
+ - `dotColor: string = ''` (attribute `dot-color` — optional CSS color for a small leading status
128
+ dot, any valid CSS color)
129
+ - `label` is a **read-only getter**: explicit `label` attribute wins, else trimmed `textContent`.
130
+
131
+ ```html
132
+ <lr-combobox id="cb" label="Country" placeholder="Search…" with-clear>
133
+ <lr-option value="fr">France</lr-option>
134
+ <lr-option value="de" search-text="deutschland">Germany</lr-option>
135
+ </lr-combobox>
136
+ <script type="module">
137
+ document.getElementById('cb').addEventListener('change', (e) => console.log(e.target.value));
138
+ </script>
139
+ ```
140
+
141
+ ```html
142
+ <!-- Async data source instead of light-DOM <lr-option> children: -->
143
+ <lr-combobox id="cb2" label="Fruit (async)" with-clear></lr-combobox>
144
+ <script type="module">
145
+ document.getElementById('cb2').source = async (query) => {
146
+ const rows = await fetchFruit(query); // your own lookup
147
+ return rows.map((r) => ({
148
+ value: r.id,
149
+ label: r.name,
150
+ icon: renderFruitIcon(r), // decorative; hidden from assistive technology
151
+ badge: r.category,
152
+ accessibleLabel: `${r.name}, ${r.category}`,
153
+ data: r, // retained in cb2.selectedRows after selection
154
+ }));
155
+ };
156
+ </script>
157
+ ```
158
+
159
+ Multi-select submits as **repeated `FormData` entries** (not a joined string) —
160
+ `new FormData(form).getAll(name)` behaves like a native multi-value control. An unnamed multi-select
161
+ (`multiple` with no `name`) contributes nothing to the form at all, matching a nameless native
162
+ `<select multiple>`, rather than falling back to a shared literal key that could collide with
163
+ another unnamed combobox in the same form.
164
+ Session-history/autofill state is stored as a name-independent JSON string array. A valid string
165
+ array restores the selection (single mode keeps its first entry); malformed or wrong-shape state
166
+ restores an empty selection. Restored state wins even when it arrives before the first option
167
+ collection, while `form.reset()` still returns to the declarative selected default. Restoration is
168
+ synchronous and fires no `input`/`change` event.
169
+
170
+ **Known gotchas:**
171
+ - `with-clear` remains supported for compatibility, but new code should use the mirrored
172
+ `clearable` property/attribute.
173
+ - a host-level `aria-label` attribute on `<lr-combobox>` now takes priority over `label`/
174
+ `placeholder`/`"Combobox"` when resolving the accessible name on `[part="combobox-input"]` —
175
+ previously it was silently ignored. Matches the same fallback on `<lr-select>`.
176
+ - `aria-required` reflects `required` immediately; `aria-invalid`, by contrast, only reflects
177
+ **after the field has been touched** (first `blur`) — a `required` field with a validity error
178
+ doesn't look invalid to assistive tech before that, by design (avoids flashing invalid styling on
179
+ first render). Blurring the input (Tab away) now also closes an open listbox, the same as a
180
+ native `<select>`'s popup, not just a click outside or Escape.
181
+ - `dotColor`/`sub`/`group` are read from light-DOM `<lr-option>` children as before, but are also
182
+ first-class fields on `ComboboxSourceRow` for the async `source` path — an async lookup can drive
183
+ the same grouped/dot/sub-text rendering a static option list can.
184
+ - `icon`, `badge`, `accessibleLabel`, and `data` are async-source row features rather than
185
+ `<lr-option>` properties. Icons are decorative (`aria-hidden`); use `accessibleLabel` when the
186
+ visible label/sub/badge combination needs a fuller spoken name. `data` is deliberately opaque and
187
+ is available only through the read-only `selectedRows` getter.
188
+ - Full ARIA 1.2 combobox pattern (`role=combobox`, roving `aria-activedescendant`, real DOM focus
189
+ kept on the input) is implemented correctly — a genuine strength, safe to build on. Declaratively-
190
+ selected options (`<lr-option value="b" selected>`) are seeded into the selection (mirroring
191
+ native `<select><option selected>`) both the first time options are collected **and** for any
192
+ later batch slotted in afterward (e.g. a lazily-populated list appended post-connect) — only the
193
+ `form.reset()` default itself is captured exclusively from that very first pass; a later pick, or
194
+ a later batch of newly-`selected` options, never redefines what a reset restores to.
195
+
196
+ ---
@@ -0,0 +1,37 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/viewers.md — do not edit this file. -->
2
+
3
+ # `lr-page-rail`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/viewers/page-rail/page-rail.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraPageRail`, also available unregistered from `@aceshooting/lyra-ui/components/viewers/page-rail/page-rail.class.js`
7
+ - **Family** `components/viewers/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-page-rail`
14
+
15
+ A virtualized vertical thumbnail rail for page-addressed documents, with per-page highlight heat
16
+ markers. Two modes: **wired** (`viewer`/`for` supply a live page source, e.g. `<lr-pdf-viewer>` —
17
+ thumbnails render lazily as rows materialize, and the rail tracks page/count from the viewer's own
18
+ events) and **mediated** (`page-count`/`page` are host-bound directly, rows render a placeholder
19
+ glyph — still a fully functional pager). In wired mode the viewer's `page` is the single source of
20
+ truth.
21
+
22
+ **Properties:** `viewer: PageThumbnailSource | null = null` (attribute: false) — the wired viewer.
23
+ `for: string = ''` — an id selector alternative to setting `viewer` directly. `pageCount: number = 0`
24
+ (attribute `page-count`) and `page: number = 1` (reflected) — mediated-mode page state.
25
+ `highlights: LyraHighlight[] = []` (attribute: false) — drives the per-page heat markers.
26
+ `thumbWidth: number = 96` (attribute `thumb-width`) and `label: string = ''`.
27
+
28
+ **Events:** `lr-page-select` — a page row was activated (click, or Enter/Space on a focused row).
29
+ `detail: { page }`. In wired mode the rail also sets `viewer.page` itself.
30
+
31
+ **CSS parts:** `base` (the rail), `pages` (the embedded `<lr-virtual-list>`), `page` (one page
32
+ button), `thumbnail` (the thumbnail canvas wrapper), `page-number` (the visible page number), `heat`
33
+ (the heat-marker cluster), and `heat-dot` (one tone-colored heat marker, or the `+n` overflow
34
+ marker).
35
+
36
+ **Themeable custom properties:** `--lr-page-rail-height` (default `var(--lr-size-24rem)`) — block
37
+ size of the virtualized rail.