@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,82 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/forms.md — do not edit this file. -->
2
+
3
+ # `lr-input`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/forms/input/input.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraInput`, also available unregistered from `@aceshooting/lyra-ui/components/forms/input/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-input`
14
+
15
+ A single-line plain-text input primitive, the `lr-*` equivalent of a plain `wa-input`,
16
+ form-associated via the same `FormAssociated` mixin as `lr-textarea`. Ships the same opt-in
17
+ `label`/`hint`/`errorText` form-control chrome as `lr-textarea`/`lr-select`, and the same
18
+ `size` scale as `lr-select`/`lr-combobox`.
19
+
20
+ **Properties:**
21
+ - `type: 'text' | 'password' | 'email' | 'number' | 'time' | 'search' = 'text'`
22
+ - `size: '2xs' | 'xs' | 's' | 'm' | 'l' | 'xl' = 'm'` (reflected)
23
+ - `value: string = ''` (from `FormAssociated`)
24
+ - `placeholder: string = ''`
25
+ - `clearable: boolean = false` (reflected) — shows a localized clear action while a `text` or
26
+ `search` input has a value; clearing preserves input focus
27
+ - `readonly: boolean = false` (reflected) — forwarded to the native input and disables clearing
28
+ - `label: string = ''`
29
+ - `hint: string = ''`
30
+ - `errorText: string = ''` (attribute `error-text`)
31
+ - `accessibleLabel: string | null = null` (attribute `aria-label`)
32
+ - `autocomplete: string = ''`
33
+ - `spellcheck: boolean = true` — forwarded to the native input, including `spellcheck="false"`
34
+ - `autocapitalize: string = ''` / `autoCorrect: string = ''` (attribute `autocorrect`)
35
+ - `inputMode: string = ''` (attribute `inputmode`) / `enterKeyHint: string = ''` (attribute
36
+ `enterkeyhint`) — these four are forwarded verbatim to the native input; an empty string omits
37
+ the attribute entirely
38
+ - `min?: number` / `max?: number` (attributes `min`/`max`) / `step?: number | 'any'` (attribute
39
+ `step`, accepts the native `'any'` value alongside a number) — forwarded verbatim to the native
40
+ input and validated by it. Intended for `type="number"`; `step` is equally meaningful on
41
+ `type="time"`. On `lr-input` itself the `min`/`max` *attributes* are number-converted, so a
42
+ non-numeric bound only survives a direct property assignment; the declared type also admits a
43
+ string so a subclass can narrow the attribute parsing to its own native type's literal form —
44
+ `lr-time-input` does exactly that. Inert for the other types
45
+ - `passwordVisible: boolean = false` (attribute `password-visible` — `type="password"` only)
46
+ - `name`/`disabled`/`required` (from `FormAssociated`)
47
+
48
+ **Getters/methods:** `input: HTMLInputElement | null` (the internal native `<input>`, for direct DOM
49
+ access), `focus(options?: FocusOptions)`, `blur()`, `select()`.
50
+
51
+ **Events:** native-style composed `input` and `change`, plus `lr-input` (`detail: { value }`,
52
+ fired on every user-driven edit) and `lr-change` (`detail: { value }`, fired on the native
53
+ `change` timing), `blur`/`focus` (re-dispatched bubbling + composed from the internal native input's
54
+ own `blur`/`focus`), and `lr-clear` (no detail, fired after the clear action's `input`/`lr-input`/
55
+ `change`/`lr-change` sequence).
56
+
57
+ **Slots:** `label`, `hint`, `error`, `start` (adornment before the input), `end` (adornment after the
58
+ input and built-in actions).
59
+
60
+ **CSS parts:** `form-control`, `form-control-label`, `input-wrapper`, `input`, `password-toggle`
61
+ (present only when `type="password"`), `start`, `end`, `clear-button` (non-empty clearable
62
+ `text`/`search` inputs only), `hint`, `error`.
63
+
64
+ **Themeable custom properties:** `--lr-input-padding-block`, `--lr-input-padding-inline`,
65
+ `--lr-input-font-size`, `--lr-input-control-min-height` — all four auto-swapped per `size`
66
+ (`2xs`…`xl`), the same pattern
67
+ `lr-select`'s `--lr-select-trigger-padding`/`--lr-select-font-size` use.
68
+
69
+ **Optional peer deps:** none.
70
+
71
+ ```html
72
+ <lr-input type="password" label="Password"></lr-input>
73
+ <lr-input type="email" label="Email" required></lr-input>
74
+ <lr-input size="s" placeholder="Compact"></lr-input>
75
+ <lr-input type="search" clearable value="workflow" aria-label="Search"><span slot="start">⌕</span></lr-input>
76
+ ```
77
+
78
+ **Known gotchas:**
79
+ - `type="email"`/`type="number"` delegate constraint validation to the internal native `<input>`'s
80
+ own browser-computed `validity` (format/range/step), bridged into this element's own
81
+ `ElementInternals` — not a second hand-rolled regex check.
82
+ - `type="password"` always renders the `password-toggle` button; there is no separate opt-out.
@@ -0,0 +1,25 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/utility.md — do not edit this file. -->
2
+
3
+ # `lr-intersection-observer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/utility/intersection-observer/intersection-observer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraIntersectionObserver`, also available unregistered from `@aceshooting/lyra-ui/components/utility/intersection-observer/intersection-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-intersection-observer`
14
+
15
+ Lifecycle-managed wrapper around the native `IntersectionObserver`. It observes all element children
16
+ in the default slot and emits a composed event, while adding no layout of its own.
17
+
18
+ **Properties:** `disabled: boolean = false` (reflected), `rootMargin: string = '0px'` (attribute
19
+ `root-margin`), `threshold: number | number[] = 0`, and `root: Element | null = null`.
20
+
21
+ **Events:** `lr-intersection` with `{ entries: IntersectionObserverEntry[] }` in `detail`.
22
+
23
+ **Slots:** default observed elements. **CSS parts:** `base`.
24
+
25
+ ---
@@ -0,0 +1,98 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/utility.md — do not edit this file. -->
2
+
3
+ # `lr-json-viewer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/utility/json-viewer/json-viewer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraJsonViewer`, also available unregistered from `@aceshooting/lyra-ui/components/utility/json-viewer/json-viewer.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-json-viewer`
14
+
15
+ A collapsible, copyable tree view for an arbitrary JSON-serializable value (object, array, string,
16
+ number, boolean, null, or `undefined`). Serves as a fallback renderer wherever a raw payload needs
17
+ inspecting without a bespoke view. Expand/collapse state is keyed by structural path (not object
18
+ identity), so it survives a `data` reassignment that keeps the same shape — e.g. a streaming result
19
+ being patched in place. A container value that self-references (directly or through a longer cycle)
20
+ renders as a leaf `Circular reference` marker (`data-type="circular"`) instead of recursing — no
21
+ stack overflow on cyclic `data`.
22
+
23
+ **Properties:**
24
+ - `data: unknown` (attribute `false` — property-only, not settable via an HTML attribute)
25
+ - `collapsedDepth?: number` (attribute `collapsed-depth`) — nodes at or beyond this nesting depth
26
+ (root = `0`) start collapsed; omitted/`undefined` means nothing auto-collapses
27
+ - `maxHeight: string = ''` (attribute `max-height`) — a CSS length (e.g. `"20rem"`); once set, the
28
+ viewer scrolls internally past this height instead of growing the page
29
+ - `copyable: boolean = false` (reflected) — shows copy-to-clipboard affordances: one for the whole
30
+ value, plus one per node
31
+ - `search: string = ''` — case-insensitive substring match against keys/values; matches are
32
+ highlighted and their ancestors auto-expanded
33
+
34
+ **Methods:** `runSearch(query)` sets the declarative `search` property and awaits the recompute,
35
+ resolving the match count — named distinctly from `search` because a class member can't share a name
36
+ with a reactive property. `searchNext()`/`searchPrevious()` advance/step back a match cursor
37
+ (wrapping) and scroll the active match into view, resolving `false` when there are no matches.
38
+ `clearSearch()` resets `search` to `''`, clearing all matches and the cursor.
39
+
40
+ **Events:** `lr-copy` (`detail: { text: string }`) — fired by the top-level copy button or a
41
+ per-node one. Fires even when `navigator.clipboard` is unavailable or the write silently failed
42
+ (a rejected `writeText()` is swallowed), so a consumer can still observe copy *intent* — the event
43
+ is not a confirmation that the OS clipboard was actually reached. Copying a circular `data` value
44
+ serializes safely, substituting the same `Circular reference` marker the tree view renders, instead
45
+ of throwing. `lr-search-change` (`detail: { query, matchCount, activeIndex }`) — fired whenever the
46
+ search query, match count, or active-match cursor changes, from `runSearch()`/`searchNext()`/
47
+ `searchPrevious()`/`clearSearch()`, or a direct `search`/`data` property write.
48
+
49
+ **Slots:** none — the tree is rendered entirely from `data`.
50
+
51
+ **CSS parts:** `base` (root scroll container, respects `max-height`), `toolbar` (wrapper around the
52
+ top-level copy button, only rendered when `copyable`), `tree` (wrapper around the rendered node
53
+ tree), `key` (an object property key or array index label, `data-match` while it matches `search`,
54
+ `data-active` while it is the current `searchNext()`/`searchPrevious()` cursor position),
55
+ `value` (a primitive value's text — carries `data-type` of
56
+ `string`/`number`/`boolean`/`null`/`undefined`/`circular` for per-type coloring, `data-match`
57
+ while it matches `search`, and `data-active` while it is the current cursor position), `bracket` (a
58
+ `{`, `}`, `[`, or `]` delimiter), `toggle` (a container node's expand/collapse button; hidden but
59
+ present for row alignment on leaf/empty nodes),
60
+ `copy-button` (a copy-to-clipboard button — the top-level one in `toolbar` (aria-label "Copy JSON to
61
+ clipboard") or a per-node one (aria-label `Copy ${key/type}`, e.g. "Copy age"); only rendered when
62
+ `copyable`)
63
+
64
+ **Themeable custom properties:** `--lr-json-viewer-max-height` (default `none` — grows with content
65
+ until `max-height` is set), `--lr-json-viewer-font` (default `ui-monospace, SFMono-Regular, Menlo,
66
+ Consolas, monospace` — component-specific since no shared monospace token exists), plus shared tokens
67
+ `--lr-color-border/-surface/-text/-text-quiet/-brand/-brand-quiet/-success/-warning/-warning-quiet`,
68
+ `--lr-radius`, `--lr-space-xs/-s/-l`, `--lr-focus-ring-width/-color/-offset`,
69
+ `--lr-transition-fast`.
70
+
71
+ **Optional peer deps:** none.
72
+
73
+ ```ts
74
+ import { html } from 'lit';
75
+ import '@aceshooting/lyra-ui/components/utility/json-viewer/json-viewer.js';
76
+
77
+ html`<lr-json-viewer .data=${apiResponse} copyable max-height="24rem" search=${query}></lr-json-viewer>`;
78
+ ```
79
+
80
+ ```html
81
+ <lr-json-viewer copyable max-height="24rem"></lr-json-viewer>
82
+ <script type="module">
83
+ document.querySelector('lr-json-viewer').data = { hello: 'world', items: [1, 2, 3] };
84
+ </script>
85
+ ```
86
+
87
+ **Known gotchas:**
88
+ - `data` is property-only (`attribute: false`) — it must be set via `.data = ...` or a lit-html `.data=${...}`
89
+ binding, never as a plain HTML attribute.
90
+ - Search highlighting auto-expands only the *ancestors* of a match, not the whole tree — a
91
+ non-matching sibling subtree elsewhere stays collapsed (or expanded) exactly as it already was.
92
+ - An explicit per-node expand/collapse (from clicking a node's `toggle` button) permanently overrides
93
+ both `collapsedDepth` and any search-driven auto-expand for that path, until `data` is reassigned
94
+ with a different shape.
95
+ - Per-node copy buttons call `stopPropagation()` on click so clicking one doesn't also toggle the
96
+ row's expand/collapse state.
97
+
98
+ ---
@@ -0,0 +1,74 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/overlays.md — do not edit this file. -->
2
+
3
+ # `lr-kbd`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/overlays/kbd/kbd.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraKbd`, also available unregistered from `@aceshooting/lyra-ui/components/overlays/kbd/kbd.class.js`
7
+ - **Family** `components/overlays/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-kbd`
14
+
15
+ A small chip representing a keyboard shortcut, rendering the platform-appropriate glyph for
16
+ cross-platform modifier keys (⌘ on macOS, "Ctrl" elsewhere) from a single platform-neutral `keys`
17
+ string. First-party invention (no Web Awesome equivalent).
18
+
19
+ **Properties:**
20
+ - `keys: string = ''` — a `+`-separated sequence of tokens, e.g. `"mod+k"` or `"mod+shift+p"`.
21
+ Recognized modifier tokens: `mod` (platform-neutral primary modifier — ⌘/"Command" on macOS,
22
+ "Ctrl"/"Control" elsewhere), `alt` (⌥/"Option" on macOS, "Alt" elsewhere), `shift` (⇧/"Shift"
23
+ always), `ctrl`/`control` (always the literal Control key, distinct from `mod`, for a shortcut
24
+ that's specifically Ctrl even on macOS). Anything else falls through to a small built-in map of
25
+ friendly labels (`enter` → `↵`/"Enter", `esc`/`escape` → "Esc"/"Escape", `tab`, `space`,
26
+ `backspace` → `⌫`/"Backspace", `delete` → "Del"/"Delete", `home`, `end`, `pageup` → "PgUp"/"Page
27
+ Up", `pagedown` → "PgDn"/"Page Down", the four `arrowup`/`arrowdown`/`arrowleft`/`arrowright` →
28
+ arrow glyphs, `plus`/`minus` → literal "+"/"−" as an escape hatch since `+` is the token
29
+ delimiter and can't appear as a literal token itself), or, failing that, renders as typed
30
+ (single letters/digits upper-cased).
31
+
32
+ **Exported types/functions (also directly usable standalone):** `KbdKeyLabel { visual: string;
33
+ word: string }` — one resolved token's rendered glyph and spelled-out word.
34
+ `shortcutTokenLabel(rawToken: string, isMac: boolean): KbdKeyLabel` — resolves a single token,
35
+ parameterized on `isMac` so both platform branches are unit-testable without spoofing `navigator`.
36
+ `parseShortcut(keys: string, isMac: boolean): KbdKeyLabel[]` — splits and resolves a full `keys`
37
+ string.
38
+
39
+ **Events:** none — purely presentational.
40
+
41
+ **Slots:** default — an escape hatch for fully custom key-cap content (e.g. an icon instead of a
42
+ text glyph). When it has any real (non-whitespace) content, it replaces the `keys`-driven rendering
43
+ entirely and this component stops *computing* its own `aria-label` from `keys`, leaving the slotted
44
+ content to carry its own accessible name — a host-supplied `aria-label` attribute is still forwarded
45
+ onto the rendered chip in either mode, custom content included.
46
+
47
+ **CSS parts:** `base` (the chip root), `key` (one per rendered token).
48
+
49
+ **Themeable custom properties:** shared tokens only — `--lr-space-xs`, `--lr-color-surface`/
50
+ `-border`/`-text`/`-text-quiet`, `--lr-radius`, `--lr-font`.
51
+
52
+ **Optional peer deps:** none.
53
+
54
+ ```html
55
+ <lr-kbd keys="mod+k"></lr-kbd>
56
+ <lr-kbd keys="mod+shift+p"></lr-kbd>
57
+ <lr-kbd keys="esc"></lr-kbd>
58
+ ```
59
+
60
+ Platform detection (`IS_MAC`, computed once at module scope, not per-instance/per-render, since a
61
+ page's platform never changes mid-session) prefers `navigator.userAgentData` (Client Hints, so far
62
+ Chromium-only) when available, falling back through `navigator.platform` (long-deprecated) and
63
+ finally a `navigator.userAgent` substring check — all three are deprecated/non-standard to varying
64
+ degrees but remain, in combination, the practical cross-browser way to answer "is this macOS" today.
65
+ The rendered chip carries `role="img"` with a single spelled-out `aria-label` (e.g. "Command+K")
66
+ rather than exposing each glyph/`+`-separator as separate accessible-tree text, since the individual
67
+ pieces aren't real words and would read worse piecemeal than as one label — glyphs like ⌘/⇧/⌥ are
68
+ not reliably announced by every screen reader/platform combination, which is exactly why the
69
+ spelled-out word form exists at all. An empty `keys` with no explicit `aria-label` override and no
70
+ slotted content renders nothing visible and is marked `aria-hidden="true"` (no `role="img"`) instead
71
+ of exposing a nameless image element — `role`/`aria-hidden` are both derived from the same
72
+ computed-label value so the two can never disagree.
73
+
74
+ ---
@@ -0,0 +1,64 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/retrieval.md — do not edit this file. -->
2
+
3
+ # `lr-knowledge-base`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/retrieval/knowledge-base/knowledge-base.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraKnowledgeBase`, also available unregistered from `@aceshooting/lyra-ui/components/retrieval/knowledge-base/knowledge-base.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-knowledge-base`
14
+
15
+ Controlled source list for a retrieval knowledge base: sync status, indexing health, permissions, and
16
+ per-row create/sync/pause/delete requests. Composes `lr-table`, `lr-badge`, `lr-stat`, and a per-row
17
+ `lr-menu`. Never syncs or indexes anything itself.
18
+
19
+ **Properties:**
20
+ - `sources: KnowledgeSource[] = []` (attribute: false) — `KnowledgeSource { id: string; name: string;
21
+ type?: string; syncStatus: KnowledgeSourceSyncStatus; indexingHealth?: KnowledgeSourceIndexingHealth;
22
+ permission?: KnowledgeSourcePermission; documentCount?: number; lastSyncedAt?: Date | string;
23
+ errorMessage?: string }` (all four types exported here), where
24
+ `KnowledgeSourceSyncStatus = 'idle' | 'syncing' | 'paused' | 'synced' | 'error'`,
25
+ `KnowledgeSourceIndexingHealth = 'healthy' | 'degraded' | 'failed' | 'unknown'` (absent is treated
26
+ as `'unknown'`), and `KnowledgeSourcePermission = 'owner' | 'editor' | 'viewer' | 'restricted'`.
27
+ `type` is a free-form connector kind (`'drive'`, `'notion'`, `'upload'`, `'url'`, …) rendered
28
+ as-is. `lastSyncedAt` follows this library's `Date | string` timestamp convention (epoch ms Date or
29
+ ISO-8601); absent/unparseable renders "never synced". `errorMessage` shows only while
30
+ `syncStatus === 'error'`. `id`/`name` follow `DocumentRef`'s spirit, but a source is a *connector
31
+ feeding* documents, not a document, so the rest of the fields are its own
32
+ - `label: string = ''` — heading text and the table's accessible name; falls back to a localized default
33
+ - `hideSummary: boolean = false` (attribute `hide-summary`, reflected) — hides the aggregate
34
+ total/synced/syncing/needs-attention row
35
+ - `hideCreate: boolean = false` (attribute `hide-create`, reflected) — hides the "Add source"
36
+ affordance, e.g. for a read-only or permission-gated view
37
+
38
+ **Events:** `lr-kb-create` (`detail: undefined` — nothing exists yet to reference), `lr-kb-sync`
39
+ (`detail: { sourceId: string }`), `lr-kb-pause` (`detail: { sourceId: string }`), `lr-kb-delete`
40
+ (`detail: { sourceId: string }`, no built-in confirmation, matching `lr-thread-list`'s
41
+ `lr-thread-delete`).
42
+
43
+ **Slots:** none.
44
+
45
+ **CSS parts:** `base`, `toolbar` (heading + "Add source" row), `heading` (the heading text),
46
+ `create-button` (omitted while `hideCreate`), `summary` (omitted while `hideSummary` or `sources` is
47
+ empty), `summary-stat`, `table`, `name-cell`, `source-name`, `source-type` (omitted when `type` is
48
+ unset), `sync-cell`, `sync-badge`, `sync-timestamp`, `sync-error`, `health-cell`, `health-badge`,
49
+ `document-count` (omitted when unset), `permission-badge` (omitted when `permission` is unset),
50
+ `actions-menu`, `actions-trigger` (the kebab `<button>`).
51
+
52
+ **Themeable custom properties:** shared tokens only.
53
+
54
+ **Optional peer deps:** none.
55
+
56
+ **Known gotchas:**
57
+ - `permission` is rendered informationally only — the per-row action menu is never gated by it.
58
+ Authorization enforcement is the host's concern.
59
+ - "Sync now" is disabled only while `syncStatus === 'syncing'` (including on `'error'` rows, so
60
+ re-running a failed sync is one click); "Pause sync" is enabled only while `'syncing'`.
61
+ - The inner `lr-table`'s own `lr-row-click` is deliberately stopped from propagating — this component
62
+ exposes no row-click/selection semantics, only the per-row action menu.
63
+
64
+ ---
@@ -0,0 +1,92 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/retrieval.md — do not edit this file. -->
2
+
3
+ # `lr-knowledge-graph-explorer`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraKnowledgeGraphExplorer`, also available unregistered from `@aceshooting/lyra-ui/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js`
7
+ - **Family** `components/retrieval/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** `d3-drag`, `d3-force`, `d3-selection`, `d3-zoom` — see `llms/peers.md`
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-knowledge-graph-explorer`
14
+
15
+ Orchestration-level knowledge-graph surface: the `lr-graph` canvas plus entity search, type filters,
16
+ neighborhood expansion, pinned nodes, path finding between pins, node selection, and a details
17
+ overlay. Composes `lr-graph`, `lr-graph-legend`, `lr-entity-card`, `lr-neighbor-list`,
18
+ `lr-path-strip`, and `lr-popover.showAt()`.
19
+
20
+ **Properties:** (host-supplied data, rendered as given)
21
+ - `nodes: GraphNode[] = []`, `links: GraphLink[] = []`, `nodeTypes: GraphNodeType[] = []`,
22
+ `communities: GraphCommunity[] = []` (all attribute: false) — exactly `lr-graph`'s own types,
23
+ forwarded verbatim; see the `lr-graph` section above for each shape
24
+ - `entityDetails: Record<string, LyraKnowledgeGraphEntityDetails> = {}` (attribute: false) —
25
+ `LyraKnowledgeGraphEntityDetails = Pick<LyraEntity, 'description' | 'properties' | 'degree'>`, i.e.
26
+ `{ description?: string; properties?: Record<string, string | number>; degree?: number }`, keyed by
27
+ node id. Merged onto the matching `GraphNode` to build the entity shown in the details popover and
28
+ neighbor rows. A node with no entry still renders: `degree` falls back to a live count derived from
29
+ `links`, `description`/`properties` are omitted
30
+ - `path: LyraPathElement[] = []` (attribute: false) — host-supplied path-finding *result*, rendered
31
+ via `lr-path-strip` (`{ kind: 'node'; node: LyraEntity } | { kind: 'edge'; relation: string;
32
+ directed?: boolean; reverse?: boolean }`). Empty renders no strip
33
+
34
+ (self-managed but presettable/observable — this component toggles its own copy on interaction, the
35
+ same self-toggle-then-emit contract `lr-graph-legend` uses, so every feature works with zero host wiring)
36
+ - `hiddenTypes: string[] = []` (attribute: false) — forwarded to both `lr-graph.hiddenTypes` and
37
+ `lr-graph-legend.hiddenTypes`
38
+ - `selectedNodeId: string | null = null` (attribute `selected-node-id`) — drives the details popover
39
+ and `lr-graph.selectedNodeIds`; `null` shows no selection and keeps the popover closed
40
+ - `pinnedNodeIds: string[] = []` (attribute: false) — exactly two pinned nodes reveals the "Find
41
+ path" action
42
+
43
+ (presentation)
44
+ - `renderer: 'svg' | 'canvas' = 'svg'` — forwarded to `lr-graph.renderer`
45
+ - `width: number = 800`, `height: number = 600`
46
+ - `highlight: 'selection' | 'hover' | 'none' = 'selection'` — what drives the dimming forwarded to
47
+ `lr-graph`'s `dimmedNodeIds`/`dimmedLinkIds`, on top of the always-active search-match dimming:
48
+ `'selection'` dims by the selected node's immediate neighborhood; `'hover'` additionally dims by
49
+ the pointer-hovered node (falling back to selection while nothing is hovered); `'none'` forwards
50
+ empty arrays regardless of search/selection state, for a host driving dimming its own way
51
+ - `label: string = ''` — accessible name for the root landmark; falls back to the localized
52
+ `graphExplorerLabel`
53
+
54
+ **Events:**
55
+ - `lr-path-request` (`detail: { sourceId: string; targetId: string }`) — the "Find path" action was
56
+ activated with exactly two nodes pinned. This component has no traversal algorithm; the host
57
+ computes/fetches the path and assigns it back through `path`.
58
+ - `lr-pin-change` (`detail: { pinnedNodeIds: string[] }`) — the complete updated array. Already
59
+ self-applied before emitting, so reassigning back is optional.
60
+ - Bubbling straight through from composed children, unmodified: `lr-node-click`
61
+ (`detail: { id, x, y }`), `lr-link-click` (`detail: { source, target, id? }`), `lr-community-click`
62
+ (`detail: { id }`), `lr-node-expand` (`detail: { id }`, from `lr-graph` and/or `lr-neighbor-list`),
63
+ `lr-relation-activate` (`detail: { relation, sourceId?, targetId? }`, from `lr-path-strip`).
64
+
65
+ **Slots:** `details` — overrides the details popover's default content (an `lr-entity-card` with a
66
+ nested `lr-neighbor-list` and a pin toggle). Receives no data; an overriding consumer reads the
67
+ selected entity from `selectedNodeId`/`nodes` itself.
68
+
69
+ **CSS parts:** `base` (`role="group"`), `toolbar`, `search` (the search `lr-input`), `legend` (the
70
+ composed `lr-graph-legend`), `search-results` (only while the internal search query is non-empty),
71
+ `search-result` (`role="listitem"` wrapping a `<button>`), `search-empty`, `pinned` (only while
72
+ `pinnedNodeIds` is non-empty), `pinned-heading`, `graph` (the composed `lr-graph`), `path` (only
73
+ while `path` is non-empty), `detail-popover`, `detail-card`.
74
+
75
+ **Themeable custom properties:** shared tokens only; retheme the graph through `lr-graph`'s own
76
+ tokens (see above).
77
+
78
+ **Optional peer deps:** `lr-graph`'s `d3-force`/`d3-drag`/`d3-zoom`/`d3-selection` set, transitively.
79
+
80
+ **Known gotchas:**
81
+ - The search query is internal `@state`, not a public property.
82
+ - `lr-graph.getNodePosition()` and `lr-node-click`'s `{ x, y }` are graph-*local* drawing
83
+ coordinates, never viewport pixels. For `renderer="svg"` this component resolves the real viewport
84
+ rect from `event.composedPath()`'s `[part="node"]` element; for `renderer="canvas"` (no per-node
85
+ DOM) it uses the click's `clientX`/`clientY`. While an svg-click popover stays open it re-anchors
86
+ on every `lr-viewport-change` from the graph — no `requestAnimationFrame` polling loop.
87
+ - Selecting a node any *other* way (search result, neighbor row, path element, keyboard Enter/Space
88
+ on a graph node — which dispatches no native `click`) has no rect to read, so it calls
89
+ `lr-graph.focusNode(id)` and anchors at the graph element's own bounding-box center instead; no
90
+ continuous tracking applies on that path.
91
+
92
+ ---
@@ -0,0 +1,84 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/utility.md — do not edit this file. -->
2
+
3
+ # `lr-known-date`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/utility/known-date/known-date.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraKnownDate`, also available unregistered from `@aceshooting/lyra-ui/components/utility/known-date/known-date.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-known-date`
14
+
15
+ A form-associated control for a date the user already knows (a birthdate, a passport expiry),
16
+ collected as three plain day/month/year number fields in the locale's natural order rather than a
17
+ calendar popup. Uses the shared `FormAssociated` mixin; the submitted value is always canonical ISO
18
+ 8601 (`YYYY-MM-DD`), or `''` while any field is blank or the combination isn't a real calendar date.
19
+
20
+ **Properties:**
21
+ - `value: string` — canonical `YYYY-MM-DD` or `''`. Assignment goes through a strict-ISO gate:
22
+ a non-zero-padded (`"2007-3-27"`) or calendar-invalid (`"2007-02-30"`) literal sanitizes to `''`
23
+ and clears all three fields. Programmatic assignment never emits `input`/`change`
24
+ - `valueAsDate: Date | null` — the same value as a local-midnight `Date`; settable (assigning
25
+ `null` clears)
26
+ - `min: string = ''`, `max: string = ''` — inclusive `YYYY-MM-DD` bounds, surfaced as
27
+ `rangeUnderflow`/`rangeOverflow`
28
+ - `readonly: boolean = false` (reflected) — also suspends all validity flags
29
+ - `size: 'xs' | 's' | 'm' | 'l' | 'xl' = 'm'` (reflected)
30
+ - `label: string = ''`, `hint: string = ''`, `errorText: string = ''` (attribute `error-text`)
31
+ - `locale: string = ''` — BCP-47 override for field order and per-field label sampling only
32
+ (redeclared non-reflecting over the base `locale`, like `lr-date-input`)
33
+ - `autocomplete: string = ''` — the special value `'bday'` expands to
34
+ `bday-day`/`bday-month`/`bday-year` across the three fields; any other non-empty value is
35
+ forwarded verbatim to all three
36
+ - `dayLabel: string = 'Day'` (`day-label`), `monthLabel: string = 'Month'` (`month-label`),
37
+ `yearLabel: string = 'Year'` (`year-label`) — visible **and** accessible per-field labels; each
38
+ routes through `localize()` only while left at its literal default
39
+ - `accessibleLabel: string | null = null` (attribute `aria-label`) — applied to `[part="fieldset"]`,
40
+ which owns the group role, overriding the `<legend>`-derived name
41
+
42
+ **Methods:** `focus(options?)` focuses the first field in locale order; `blur()` blurs whichever
43
+ field currently has focus.
44
+
45
+ **Events:** `input` (every keystroke), `change` (a field blur where the composite value newly
46
+ transitioned), plus re-dispatched bubbling/composed `focus` and `blur` (`blur` fires once when focus
47
+ leaves all three fields, not per field-to-field Tab). `input`/`change` detail is
48
+ `{ value, day, month, year, field }` — `value` is the canonical ISO date or `''`, `day`/`month`/`year`
49
+ are the live raw typed text, and `field` is `'day' | 'month' | 'year'`, whichever was last edited.
50
+
51
+ **Slots:** `label`, `hint`, `error` (each rendered alongside its matching property).
52
+
53
+ **CSS parts:** `form-control` (outer wrapper), `fieldset` (the `<fieldset>` grouping the fields —
54
+ carries `aria-label` when `accessibleLabel` is set), `legend` (the `<legend>`; hidden when there is
55
+ no label, and grows a `*` suffix while `required`), `fields` (the flex row), `field` (one field
56
+ block, repeated three times, `data-field="day"|"month"|"year"`), `field-input` (the native
57
+ `<input type="text" inputmode="numeric">` inside it, same `data-field` marker), `field-label` (the
58
+ small per-field text label), `hint`, `error` (`role="alert"`).
59
+
60
+ **Themeable custom properties:** `--lr-known-date-field-padding-block`,
61
+ `--lr-known-date-field-padding-inline`, `--lr-known-date-field-font-size` (all three rewritten by
62
+ each `:host([size])` rule; `m` defaults `--lr-space-s`/`--lr-space-s`/`--lr-font-size-md-sm`),
63
+ `--lr-known-date-field-gap` (default `--lr-space-s` — gap between the three field blocks),
64
+ `--lr-known-date-day-field-width` / `--lr-known-date-month-field-width` (default `--lr-size-3-5em`)
65
+ and `--lr-known-date-year-field-width` (default `--lr-size-5em`) — the per-field input widths, not
66
+ size-scaled.
67
+
68
+ **Known gotchas:**
69
+ - Field *order* is derived from the locale by formatting a probe date (Jan 2 2026) with
70
+ `Intl.DateTimeFormat` and reading back the part order — not from `Date.parse()`'s mm/dd/yyyy bias.
71
+ It falls back to `month, day, year` only when that sampling fails.
72
+ - Auto-advance (typing a field's last digit moves to the next) and backspace-into-the-previous-field
73
+ are this library's own additions, not Web Awesome parity. Auto-advance is purely digit-count
74
+ based, never value based.
75
+ - Each `<input>` shows exactly what was typed and is never reformatted or reverted; only the
76
+ composite `value` is zero-padded.
77
+ - Non-digit keystrokes are rejected before reaching field state — locale-specific numerals
78
+ (e.g. Arabic-Indic digits) are not accepted as input.
79
+ - ArrowLeft/ArrowRight cross fields at a field's text boundary, and the *physical* key meaning
80
+ "next field" flips under an inherited `dir="rtl"`; the locale-derived field order itself does not.
81
+ - A blank composite is `valueMissing` only when **all three** fields are blank; a partially typed
82
+ required date reports `badInput` instead.
83
+ - The host carries a `:state(blank)` custom state whenever `value === ''`, and `data-invalid` only
84
+ once touched (first blur out of the whole control) and actually invalid.
@@ -0,0 +1,79 @@
1
+ <!-- GENERATED by scripts/build-llms.mjs from llms/media.md — do not edit this file. -->
2
+
3
+ # `lr-lightbox`
4
+
5
+ - **Import** `import '@aceshooting/lyra-ui/components/media/lightbox/lightbox.js';` (registers the tag; side-effect import)
6
+ - **Class** `LyraLightbox`, also available unregistered from `@aceshooting/lyra-ui/components/media/lightbox/lightbox.class.js`
7
+ - **Family** `components/media/` — see `llms/index.md` for its siblings
8
+ - **Optional peers** none
9
+ - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
10
+
11
+ ---
12
+
13
+ ## `lr-lightbox`
14
+
15
+ A modal, full-screen image viewer with prev/next navigation, captions, and pan/zoom delegated to one
16
+ stable embedded `<lr-zoomable-frame>`. It renders its own dialog panel (not a nested `<lr-dialog>`)
17
+ but shares the same overlay infrastructure as `<lr-dialog>`/`<lr-command-palette>` — stacking, focus
18
+ trap, Escape/backdrop dismissal, scroll lock, and focus return.
19
+
20
+ **Properties:**
21
+ - `open: boolean = false` (reflected) — set this or call `close()`; there is no `show()`/`hide()`.
22
+ - `images: LyraLightboxImage[] = []` (attribute: false) — `LyraLightboxImage { src: string; alt?:
23
+ string; caption?: string }`. `src` is passed to the embedded frame, which runs it through
24
+ `safeMediaSrc()`. `alt`/`caption` are caller data, never localized.
25
+ - `index: number = 0` (reflected) — clamped defensively for rendering and silently re-synced (no
26
+ event) when `images` shrinks.
27
+ - `loop: boolean = false` (reflected) — wraps prev/next past the ends.
28
+ - `noLightDismiss: boolean = false` (attribute `no-light-dismiss`) — opts out of backdrop dismissal.
29
+ - `showCounter: boolean = true` (attribute `show-counter`) — shows `[part="counter"]` and its
30
+ live-region announcement.
31
+ - `minZoom: number = 0.5`, `maxZoom: number = 4`, `zoomStep: number = 0.25` (attributes `min-zoom`/
32
+ `max-zoom`/`zoom-step`) — pure pass-throughs to the embedded `<lr-zoomable-frame>`, which does the
33
+ normalizing.
34
+ - `accessibleLabel: string | null = null` (attribute `aria-label`) — the panel's accessible name,
35
+ overriding the localized `lightboxLabel`.
36
+
37
+ **Methods:** `next()`, `previous()`, `goTo(index)`, `close(reason?)` — `reason` defaults to `'api'`
38
+ and is forwarded as the close event's detail.
39
+
40
+ **Events:** `lr-lightbox-close` (`detail: LyraLightboxCloseReason = 'escape' | 'backdrop' |
41
+ 'close-button' | 'api' | 'unmount' | (string & {})`; **cancelable** — `preventDefault()` blocks
42
+ closing on every path, including a consumer's own `close()` call. Also fires with `'unmount'` when
43
+ the element is removed from the DOM while still open); `lr-index-change` (`detail: { index }`, fired
44
+ only for internally-driven navigation — a button, a keyboard shortcut, or `next()`/`previous()`/
45
+ `goTo()`; **not** when a consumer sets `index`/`images` directly); `lr-zoom-change` (`detail: {
46
+ zoom }`) is not emitted by the lightbox itself — it bubbles up composed from the embedded frame.
47
+
48
+ **Slots:** `actions` — extra toolbar buttons (download/share/delete), rendered in `[part="toolbar"]`
49
+ between the counter and the close button.
50
+
51
+ **CSS parts:** `backdrop`, `panel` (`role="dialog"` + `aria-modal="true"` while open; fills the
52
+ padded safe area rather than shrink-wrapping), `toolbar`, `counter` (visible localized "Image N of
53
+ Total"), `live-region` (visually-hidden `role="status"` that announces position on *every* `index`
54
+ change, including consumer-driven ones), `actions` (wrapper, `hidden` when nothing is slotted),
55
+ `close-button` (always rendered — unlike `<lr-dialog>`'s opt-in `closable`), `stage`, `frame` (the
56
+ embedded `<lr-zoomable-frame>`; its internal parts are not re-exported), `previous-button`,
57
+ `previous-glyph`, `next-button`, `next-glyph`, `caption` (only when the current image has one; its
58
+ `id` is the panel's `aria-describedby` target).
59
+
60
+ **Themeable custom properties:** `--lr-lightbox-overlay-color` (default
61
+ `var(--lr-color-overlay-strong)` — the backdrop scrim), `--lr-lightbox-control-bg` (default
62
+ `var(--lr-color-neutral)`) and `--lr-lightbox-control-color` (default `var(--lr-color-on-neutral)`)
63
+ — background/foreground for the counter, caption, and every floating/toolbar icon button; these use
64
+ the solid neutral token rather than `--lr-color-surface` because the controls float over arbitrary
65
+ photo content.
66
+
67
+ **Optional peer deps:** none.
68
+
69
+ **Known gotchas:**
70
+ - keyboard navigation is RTL-aware and bound on `[part="panel"]`, so it also sees keydowns bubbling
71
+ out of the embedded frame's shadow tree: Arrow forward/back (mirrored under `rtl`), `Home`, `End`.
72
+ It never collides with the frame's own `+`/`-`/`0` zoom shortcuts.
73
+ - initial focus deliberately goes to `close-button`, not the first tabbable element — a slotted
74
+ `actions` button placed before it does not steal focus.
75
+ - zoom/pan reset on navigation is imperative (`resetView()` from `updated()`), not a binding; the
76
+ frame element is reused across navigations rather than recreated, so a keyboard user who tabbed
77
+ into the viewport keeps focus.
78
+ - scope for v1: no per-image slotted content (data-driven via `images` only), no dot indicators, no
79
+ open/close transition, no click-image-to-navigate, no touch-swipe.