@aceshooting/lyra-ui 13.0.1 → 14.0.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 (421) hide show
  1. package/CHANGELOG.md +199 -0
  2. package/custom-elements.json +1 -1
  3. package/dist/cli/migration-contract.json +1 -1
  4. package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +23 -15
  5. package/dist/components/agent-tools/activity-feed/activity-feed.class.js +9 -6
  6. package/dist/components/agent-tools/agent-trace/agent-trace.class.d.ts +12 -3
  7. package/dist/components/agent-tools/agent-trace/agent-trace.class.js +2 -1
  8. package/dist/components/agent-tools/approval-queue/approval-queue.class.d.ts +4 -2
  9. package/dist/components/agent-tools/approval-queue/approval-queue.class.js +1 -1
  10. package/dist/components/agent-tools/artifact-panel/artifact-panel.styles.js +1 -1
  11. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts +1 -1
  12. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +7 -7
  13. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +5 -5
  14. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +23 -10
  15. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.d.ts +13 -6
  16. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +3 -3
  17. package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +1 -1
  18. package/dist/components/agent-tools/stack-trace/stack-trace-parse.js +3 -3
  19. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +1 -1
  20. package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.js +1 -1
  21. package/dist/components/agent-tools/task-list/task-list.class.d.ts +1 -2
  22. package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
  23. package/dist/components/agent-tools/terminal/terminal.class.d.ts +10 -1
  24. package/dist/components/agent-tools/terminal/terminal.class.js +3 -3
  25. package/dist/components/agent-tools/terminal/terminal.styles.js +1 -1
  26. package/dist/components/agent-tools/test-results/test-results.class.d.ts +4 -2
  27. package/dist/components/agent-tools/test-results/test-results.class.js +2 -2
  28. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts +2 -0
  29. package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +1 -1
  30. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +1 -1
  31. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +1 -1
  32. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +3 -2
  33. package/dist/components/agent-tools/tool-param-form/tool-param-form.d.ts +1 -1
  34. package/dist/components/agent-tools/tool-param-form/tool-param-form.js +1 -1
  35. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +1 -1
  36. package/dist/components/agent-tools/tool-result-view/registry.d.ts +2 -1
  37. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts +1 -1
  38. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js +1 -1
  39. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts +18 -12
  40. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +6 -6
  41. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts +9 -3
  42. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +1 -1
  43. package/dist/components/agent-tools/trace-tree/span.js +1 -1
  44. package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +1 -1
  45. package/dist/components/charts/chart/box-plot.class.d.ts +10 -3
  46. package/dist/components/charts/chart/box-plot.class.js +9 -9
  47. package/dist/components/charts/chart/box-plot.styles.js +1 -1
  48. package/dist/components/charts/chart/chart-core-loader.js +1 -1
  49. package/dist/components/charts/chart/chart-feature-loader.js +1 -1
  50. package/dist/components/charts/chart/chart-preload.d.ts +1 -1
  51. package/dist/components/charts/chart/chart-preload.js +1 -1
  52. package/dist/components/charts/chart/chart.class.d.ts +27 -9
  53. package/dist/components/charts/chart/chart.class.js +23 -14
  54. package/dist/components/charts/chart/chart.styles.js +1 -1
  55. package/dist/components/charts/chart/histogram-bin.js +1 -1
  56. package/dist/components/charts/chart/lite-chart.class.js +7 -3
  57. package/dist/components/charts/chart/lite-chart.styles.js +1 -1
  58. package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +1 -1
  59. package/dist/components/conversation/agent-workspace/agent-workspace.class.js +2 -2
  60. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.d.ts +10 -5
  61. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js +1 -1
  62. package/dist/components/conversation/branch-picker/branch-picker.class.d.ts +4 -2
  63. package/dist/components/conversation/branch-picker/branch-picker.class.js +1 -1
  64. package/dist/components/conversation/branch-picker/branch-picker.styles.js +1 -1
  65. package/dist/components/conversation/chat-composer/chat-composer.class.d.ts +6 -2
  66. package/dist/components/conversation/chat-composer/chat-composer.class.js +3 -3
  67. package/dist/components/conversation/chat-composer/chat-composer.styles.js +1 -1
  68. package/dist/components/conversation/chat-message/chat-message.class.js +2 -2
  69. package/dist/components/conversation/chat-message/chat-message.styles.js +1 -1
  70. package/dist/components/conversation/chat-viewport/chat-viewport.styles.js +1 -1
  71. package/dist/components/conversation/code-block/code-block-shared.js +1 -1
  72. package/dist/components/conversation/code-block/code-block.styles.js +1 -1
  73. package/dist/components/conversation/code-block/code-loader.d.ts +1 -1
  74. package/dist/components/conversation/code-block/code-loader.js +1 -1
  75. package/dist/components/conversation/code-block/shiki-types.js +1 -1
  76. package/dist/components/conversation/conversation-item/conversation-item.styles.js +1 -1
  77. package/dist/components/conversation/generation-metrics/generation-metrics.styles.js +1 -1
  78. package/dist/components/conversation/markdown/katex-loader.d.ts +4 -4
  79. package/dist/components/conversation/markdown/katex-loader.js +1 -1
  80. package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
  81. package/dist/components/conversation/markdown/markdown-loader.d.ts +1 -1
  82. package/dist/components/conversation/markdown/markdown-loader.js +1 -1
  83. package/dist/components/conversation/markdown/markdown-shared.d.ts +6 -1
  84. package/dist/components/conversation/markdown/markdown-shared.js +5 -4
  85. package/dist/components/conversation/message-actions/message-actions.class.d.ts +16 -3
  86. package/dist/components/conversation/message-actions/message-actions.class.js +2 -2
  87. package/dist/components/conversation/message-actions/message-actions.styles.js +1 -1
  88. package/dist/components/conversation/message-actions/toolbar-actions.d.ts +3 -1
  89. package/dist/components/conversation/message-actions/toolbar-actions.js +1 -1
  90. package/dist/components/conversation/message-feedback/message-feedback.class.d.ts +38 -15
  91. package/dist/components/conversation/message-feedback/message-feedback.class.js +7 -3
  92. package/dist/components/conversation/message-feedback/message-feedback.styles.js +1 -1
  93. package/dist/components/conversation/message-parts/message-parts.class.d.ts +7 -4
  94. package/dist/components/conversation/message-parts/message-parts.class.js +2 -2
  95. package/dist/components/conversation/message-parts/message-parts.styles.js +1 -1
  96. package/dist/components/conversation/model-select/model-select.class.d.ts +5 -2
  97. package/dist/components/conversation/model-select/model-select.class.js +5 -2
  98. package/dist/components/conversation/model-settings-panel/model-settings-panel.class.d.ts +3 -5
  99. package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +2 -1
  100. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +9 -2
  101. package/dist/components/conversation/prompt-input/prompt-input.class.js +3 -3
  102. package/dist/components/conversation/prompt-input/prompt-input.styles.js +1 -1
  103. package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts +20 -4
  104. package/dist/components/conversation/prompt-queue/prompt-queue.class.js +1 -1
  105. package/dist/components/conversation/prompt-queue/prompt-queue.styles.js +1 -1
  106. package/dist/components/conversation/push-to-talk/push-to-talk.class.d.ts +17 -8
  107. package/dist/components/conversation/push-to-talk/push-to-talk.class.js +1 -1
  108. package/dist/components/conversation/push-to-talk/push-to-talk.styles.js +1 -1
  109. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts +6 -3
  110. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
  111. package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.js +1 -1
  112. package/dist/components/conversation/thread-list/thread-list.class.d.ts +14 -4
  113. package/dist/components/conversation/thread-list/thread-list.class.js +11 -11
  114. package/dist/components/conversation/thread-list/thread-list.styles.js +1 -1
  115. package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +1 -1
  116. package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +12 -4
  117. package/dist/components/conversation/voice-picker/voice-picker.class.js +5 -2
  118. package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
  119. package/dist/components/data/calendar/calendar.class.d.ts +12 -4
  120. package/dist/components/data/calendar/calendar.class.js +2 -2
  121. package/dist/components/data/calendar/calendar.styles.js +1 -1
  122. package/dist/components/data/context-meter/context-meter.class.d.ts +3 -1
  123. package/dist/components/data/context-meter/context-meter.class.js +3 -3
  124. package/dist/components/data/data-grid/data-grid.class.d.ts +45 -4
  125. package/dist/components/data/data-grid/data-grid.class.js +25 -11
  126. package/dist/components/data/data-grid/data-grid.styles.js +1 -1
  127. package/dist/components/data/document-library/document-library.class.js +1 -1
  128. package/dist/components/data/env-list/env-list.class.js +1 -1
  129. package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +19 -12
  130. package/dist/components/data/flow-canvas/flow-canvas.class.js +1 -2
  131. package/dist/components/data/flow-controls/flow-controls.styles.js +1 -1
  132. package/dist/components/data/flow-run-status/flow-run-status.class.js +1 -1
  133. package/dist/components/data/gauge/gauge.class.js +1 -1
  134. package/dist/components/data/graph-query-builder/graph-query-builder.styles.js +1 -1
  135. package/dist/components/data/heatmap/heatmap.class.js +1 -1
  136. package/dist/components/data/sequence-strip/sequence-strip.class.js +1 -1
  137. package/dist/components/data/stat/stat.class.js +1 -1
  138. package/dist/components/data/table/table.class.d.ts +10 -14
  139. package/dist/components/data/table/table.class.js +4 -3
  140. package/dist/components/data/table/table.styles.js +1 -1
  141. package/dist/components/data/timeline/timeline.class.js +1 -1
  142. package/dist/components/data/tree/tree-item.styles.js +1 -1
  143. package/dist/components/data/word-cloud/word-cloud.class.js +1 -1
  144. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +7 -2
  145. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  146. package/dist/components/forms/code-editor/code-editor.class.d.ts +8 -4
  147. package/dist/components/forms/code-editor/code-editor.class.js +16 -5
  148. package/dist/components/forms/code-editor/code-editor.styles.js +1 -1
  149. package/dist/components/forms/color-picker/color-picker.class.d.ts +1 -1
  150. package/dist/components/forms/color-picker/color-picker.class.js +1 -1
  151. package/dist/components/forms/combobox/combobox.styles.js +1 -1
  152. package/dist/components/forms/date-picker/date-input.class.js +1 -1
  153. package/dist/components/forms/date-picker/date-picker.class.d.ts +9 -2
  154. package/dist/components/forms/date-picker/date-picker.class.js +4 -4
  155. package/dist/components/forms/date-picker/date-picker.styles.js +1 -1
  156. package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
  157. package/dist/components/forms/emoji-picker/emoji-picker.class.js +1 -1
  158. package/dist/components/forms/input/input.class.d.ts +11 -4
  159. package/dist/components/forms/input/input.class.js +7 -1
  160. package/dist/components/forms/input/time-input.class.d.ts +8 -2
  161. package/dist/components/forms/input/time-input.class.js +1 -1
  162. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +17 -3
  163. package/dist/components/forms/locale-picker/locale-picker.class.js +1 -1
  164. package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
  165. package/dist/components/forms/rubric-form/rubric-form.class.js +1 -1
  166. package/dist/components/forms/select/select.styles.js +1 -1
  167. package/dist/components/forms/slider/slider.class.js +1 -1
  168. package/dist/components/forms/swatch-picker/swatch-picker.class.js +1 -1
  169. package/dist/components/forms/token-input/token-input.class.js +1 -1
  170. package/dist/components/forms/token-input/token-input.styles.js +1 -1
  171. package/dist/components/layout/app-rail/app-rail.class.d.ts +6 -4
  172. package/dist/components/layout/app-rail/app-rail.class.js +4 -3
  173. package/dist/components/layout/app-rail/app-rail.styles.js +1 -1
  174. package/dist/components/layout/command-palette/command-palette.class.d.ts +2 -2
  175. package/dist/components/layout/command-palette/command-palette.class.js +1 -1
  176. package/dist/components/layout/command-palette/command-palette.styles.js +1 -1
  177. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +1 -1
  178. package/dist/components/layout/details/details.class.d.ts +13 -12
  179. package/dist/components/layout/details/details.class.js +43 -34
  180. package/dist/components/layout/details/details.styles.js +1 -1
  181. package/dist/components/layout/dock-panel/dock-panel.class.d.ts +4 -3
  182. package/dist/components/layout/dock-panel/dock-panel.class.js +2 -1
  183. package/dist/components/layout/filter-bar/filter-bar.class.js +2 -2
  184. package/dist/components/layout/menu/menu-item.class.js +2 -2
  185. package/dist/components/layout/menu/menu.class.js +1 -1
  186. package/dist/components/layout/multi-split/multi-split.class.d.ts +10 -5
  187. package/dist/components/layout/multi-split/multi-split.class.js +2 -1
  188. package/dist/components/layout/scroller/scroller.class.d.ts +4 -4
  189. package/dist/components/layout/scroller/scroller.styles.js +1 -1
  190. package/dist/components/layout/split-panel/split-panel.class.d.ts +3 -2
  191. package/dist/components/layout/split-panel/split-panel.class.js +3 -2
  192. package/dist/components/layout/tab-group/tab-group.styles.js +1 -1
  193. package/dist/components/layout/virtual-list/virtual-list.class.js +2 -2
  194. package/dist/components/layout/widget/widget.styles.js +1 -1
  195. package/dist/components/media/file-input/file-input.styles.js +1 -1
  196. package/dist/components/media/flag/flag.class.js +1 -1
  197. package/dist/components/media/lightbox/lightbox.styles.js +1 -1
  198. package/dist/components/media/map/map-loader.js +1 -1
  199. package/dist/components/media/map/map.class.d.ts +17 -31
  200. package/dist/components/media/map/map.class.js +1 -1
  201. package/dist/components/media/qr-code/qr-code-loader.js +1 -1
  202. package/dist/components/media/qr-code/qr-code.class.d.ts +5 -2
  203. package/dist/components/media/qr-code/qr-code.class.js +2 -2
  204. package/dist/components/media/sequence-playback/sequence-playback.class.d.ts +2 -2
  205. package/dist/components/media/sequence-playback/sequence-playback.class.js +1 -1
  206. package/dist/components/overlays/alert/alert.styles.js +1 -1
  207. package/dist/components/overlays/callout/callout.styles.js +1 -1
  208. package/dist/components/overlays/dialog/dialog.styles.js +1 -1
  209. package/dist/components/overlays/kbd/kbd.class.js +1 -1
  210. package/dist/components/overlays/overlay/popover.class.js +1 -1
  211. package/dist/components/overlays/overlay/tooltip.class.js +1 -1
  212. package/dist/components/overlays/rating/rating.class.js +1 -1
  213. package/dist/components/overlays/toast/toast-item.class.js +1 -1
  214. package/dist/components/retrieval/claim-evidence/claim-evidence.class.d.ts +11 -5
  215. package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +3 -3
  216. package/dist/components/retrieval/graph/graph-loader.js +1 -1
  217. package/dist/components/retrieval/graph/graph.class.d.ts +1 -1
  218. package/dist/components/retrieval/graph/graph.class.js +10 -10
  219. package/dist/components/retrieval/graph-legend/graph-legend.class.d.ts +4 -2
  220. package/dist/components/retrieval/graph-legend/graph-legend.class.js +1 -1
  221. package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +14 -6
  222. package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +7 -5
  223. package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +3 -2
  224. package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +4 -3
  225. package/dist/components/retrieval/knowledge-base/knowledge-base.styles.js +1 -1
  226. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +4 -1
  227. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +2 -1
  228. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +1 -1
  229. package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +15 -6
  230. package/dist/components/retrieval/memory-panel/memory-panel.class.js +1 -1
  231. package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +1 -1
  232. package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +1 -1
  233. package/dist/components/retrieval/node-palette/node-palette.class.d.ts +17 -12
  234. package/dist/components/retrieval/node-palette/node-palette.class.js +2 -2
  235. package/dist/components/retrieval/node-palette/node-palette.styles.js +1 -1
  236. package/dist/components/retrieval/path-strip/path-strip.class.js +1 -1
  237. package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +1 -1
  238. package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +5 -5
  239. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +1 -1
  240. package/dist/components/retrieval/source-picker/source-picker.class.js +1 -1
  241. package/dist/components/utility/copy-button/copy-button.class.d.ts +2 -1
  242. package/dist/components/utility/copy-button/copy-button.class.js +1 -1
  243. package/dist/components/utility/diff-view/diff-view.class.d.ts +4 -1
  244. package/dist/components/utility/diff-view/diff-view.class.js +1 -1
  245. package/dist/components/utility/export-button/export-button.class.d.ts +2 -2
  246. package/dist/components/utility/export-button/export-button.class.js +1 -1
  247. package/dist/components/utility/export-button/export-button.styles.js +1 -1
  248. package/dist/components/utility/format/format-date.class.js +1 -1
  249. package/dist/components/utility/format/relative-time.class.js +1 -1
  250. package/dist/components/utility/icon/dompurify-loader.js +1 -1
  251. package/dist/components/utility/icon/icon-library.js +1 -1
  252. package/dist/components/utility/intersection-observer/intersection-observer.class.js +1 -1
  253. package/dist/components/utility/json-viewer/json-viewer.class.d.ts +3 -1
  254. package/dist/components/utility/json-viewer/json-viewer.class.js +5 -5
  255. package/dist/components/utility/known-date/known-date.class.js +1 -1
  256. package/dist/components/utility/mention-popover/mention-popover.class.d.ts +29 -44
  257. package/dist/components/utility/mention-popover/mention-popover.class.js +1 -1
  258. package/dist/components/utility/mutation-observer/mutation-observer.class.js +1 -1
  259. package/dist/components/viewers/calendar-viewer/calendar-loader.js +1 -1
  260. package/dist/components/viewers/document-compare/document-compare.class.d.ts +11 -8
  261. package/dist/components/viewers/document-compare/document-compare.class.js +2 -2
  262. package/dist/components/viewers/document-preview/document-preview.class.d.ts +4 -2
  263. package/dist/components/viewers/document-preview/document-preview.class.js +4 -4
  264. package/dist/components/viewers/document-preview/document-preview.styles.js +1 -1
  265. package/dist/components/viewers/document-viewer/document-viewer.class.d.ts +2 -0
  266. package/dist/components/viewers/document-viewer/document-viewer.styles.js +1 -1
  267. package/dist/components/viewers/docx-viewer/docx-loader.js +1 -1
  268. package/dist/components/viewers/docx-viewer/docx-viewer.class.js +1 -1
  269. package/dist/components/viewers/ebook-viewer/ebook-loader.d.ts +1 -1
  270. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +2 -2
  271. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +1 -1
  272. package/dist/components/viewers/email-viewer/email-loader.js +1 -1
  273. package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +1 -1
  274. package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -2
  275. package/dist/components/viewers/html-viewer/dompurify-loader.js +1 -1
  276. package/dist/components/viewers/notebook-viewer/dompurify-loader.js +1 -1
  277. package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
  278. package/dist/components/viewers/pptx-viewer/pptx-loader.js +1 -1
  279. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-loader.js +1 -1
  280. package/dist/components/viewers/svg-viewer/dompurify-loader.js +1 -1
  281. package/dist/components/viewers/viewer-loading.js +1 -1
  282. package/dist/components/viewers/viewer-search-limits.d.ts +2 -0
  283. package/dist/components/viewers/viewer-search-limits.js +1 -1
  284. package/dist/custom-elements-jsx.d.ts +1 -1
  285. package/dist/events.d.ts +13 -6
  286. package/dist/internal/aria-controls.d.ts +16 -13
  287. package/dist/internal/aria-controls.js +1 -1
  288. package/dist/internal/aria-reflection.js +1 -1
  289. package/dist/internal/catalog-picker.d.ts +2 -2
  290. package/dist/internal/catalog-picker.js +1 -1
  291. package/dist/internal/chart-annotation-registration.d.ts +1 -0
  292. package/dist/internal/chart-annotation-registration.js +1 -0
  293. package/dist/internal/data-descriptors.d.ts +13 -0
  294. package/dist/internal/data-descriptors.js +1 -0
  295. package/dist/internal/default-strings.generated.d.ts +1 -1
  296. package/dist/internal/default-strings.generated.js +2 -2
  297. package/dist/internal/dev-mode-attribute-warning.js +1 -1
  298. package/dist/internal/element-internals.d.ts +4 -3
  299. package/dist/internal/element-internals.js +1 -1
  300. package/dist/internal/highlight-collection.d.ts +2 -0
  301. package/dist/internal/highlight-collection.js +1 -1
  302. package/dist/internal/localization-types.d.ts +1 -1
  303. package/dist/internal/localization.js +2 -2
  304. package/dist/internal/lyra-element.d.ts +10 -1
  305. package/dist/internal/lyra-element.js +2 -1
  306. package/dist/internal/package-metadata.d.ts +1 -1
  307. package/dist/internal/package-metadata.js +1 -1
  308. package/dist/internal/papaparse-loader.js +1 -1
  309. package/dist/internal/pseudo-localization.js +1 -1
  310. package/dist/internal/safe-css.js +1 -1
  311. package/dist/internal/step-value.d.ts +6 -0
  312. package/dist/internal/step-value.js +1 -0
  313. package/dist/internal/text-quote.js +1 -1
  314. package/dist/lyra.d.ts +1 -1
  315. package/dist/svelte.d.ts +1 -1
  316. package/dist/translations/ar.js +2 -2
  317. package/dist/translations/de.js +2 -2
  318. package/dist/translations/es.js +2 -2
  319. package/dist/translations/fa.js +2 -2
  320. package/dist/translations/fr.js +2 -2
  321. package/dist/translations/he.js +2 -2
  322. package/dist/translations/ja.js +2 -2
  323. package/dist/translations/pseudo/ar-XB.js +1 -1
  324. package/dist/translations/pt-BR.js +2 -2
  325. package/dist/translations/ru.js +2 -2
  326. package/dist/translations/zh-CN.js +2 -2
  327. package/dist/vue.d.ts +1 -1
  328. package/llms/components/lr-accordion-item.md +6 -5
  329. package/llms/components/lr-accordion.md +6 -5
  330. package/llms/components/lr-activity-feed.md +6 -5
  331. package/llms/components/lr-agent-run.md +1 -1
  332. package/llms/components/lr-agent-workspace.md +3 -2
  333. package/llms/components/lr-attachment-chip.md +2 -3
  334. package/llms/components/lr-audio-visualizer.md +9 -6
  335. package/llms/components/lr-bar-chart.md +2 -2
  336. package/llms/components/lr-box-plot.md +9 -6
  337. package/llms/components/lr-bubble-chart.md +2 -2
  338. package/llms/components/lr-calendar.md +10 -4
  339. package/llms/components/lr-chart.md +11 -5
  340. package/llms/components/lr-chat-composer.md +2 -1
  341. package/llms/components/lr-chunk-inspector.md +2 -2
  342. package/llms/components/lr-code-block-core.md +4 -4
  343. package/llms/components/lr-code-block.md +10 -14
  344. package/llms/components/lr-code-editor.md +2 -0
  345. package/llms/components/lr-copy-button.md +4 -1
  346. package/llms/components/lr-data-grid.md +11 -2
  347. package/llms/components/lr-date-input.md +4 -0
  348. package/llms/components/lr-date-picker.md +5 -1
  349. package/llms/components/lr-details.md +6 -5
  350. package/llms/components/lr-diff-view.md +6 -0
  351. package/llms/components/lr-document-compare.md +6 -2
  352. package/llms/components/lr-document-preview.md +11 -3
  353. package/llms/components/lr-document-viewer.md +5 -1
  354. package/llms/components/lr-docx-viewer.md +6 -0
  355. package/llms/components/lr-doughnut-chart.md +2 -2
  356. package/llms/components/lr-ebook-viewer.md +8 -3
  357. package/llms/components/lr-email-viewer.md +5 -0
  358. package/llms/components/lr-eval-dataset.md +2 -2
  359. package/llms/components/lr-export-button.md +9 -0
  360. package/llms/components/lr-file-input.md +5 -8
  361. package/llms/components/lr-format-date.md +3 -1
  362. package/llms/components/lr-graph-legend.md +4 -2
  363. package/llms/components/lr-grounding-summary.md +8 -8
  364. package/llms/components/lr-histogram.md +2 -2
  365. package/llms/components/lr-ingestion-queue.md +1 -1
  366. package/llms/components/lr-intersection-observer.md +9 -0
  367. package/llms/components/lr-json-viewer.md +6 -1
  368. package/llms/components/lr-knowledge-base.md +10 -1
  369. package/llms/components/lr-line-chart.md +2 -2
  370. package/llms/components/lr-lite-chart.md +8 -5
  371. package/llms/components/lr-locale-picker.md +6 -0
  372. package/llms/components/lr-map.md +15 -5
  373. package/llms/components/lr-markdown.md +7 -4
  374. package/llms/components/lr-media-card.md +0 -6
  375. package/llms/components/lr-mention-popover.md +12 -10
  376. package/llms/components/lr-message-actions.md +10 -3
  377. package/llms/components/lr-message-feedback.md +20 -7
  378. package/llms/components/lr-message-parts.md +3 -1
  379. package/llms/components/lr-model-select.md +5 -2
  380. package/llms/components/lr-multi-split.md +5 -1
  381. package/llms/components/lr-mutation-observer.md +8 -0
  382. package/llms/components/lr-node-palette.md +5 -2
  383. package/llms/components/lr-pie-chart.md +2 -2
  384. package/llms/components/lr-polar-area-chart.md +2 -2
  385. package/llms/components/lr-prompt-input.md +7 -3
  386. package/llms/components/lr-prompt-queue.md +6 -0
  387. package/llms/components/lr-push-to-talk.md +5 -0
  388. package/llms/components/lr-qr-code.md +6 -0
  389. package/llms/components/lr-radar-chart.md +2 -2
  390. package/llms/components/lr-rating.md +5 -0
  391. package/llms/components/lr-relative-time.md +2 -0
  392. package/llms/components/lr-result-card.md +3 -3
  393. package/llms/components/lr-result-field.md +3 -3
  394. package/llms/components/lr-retrieval-results.md +1 -1
  395. package/llms/components/lr-scatter-chart.md +2 -2
  396. package/llms/components/lr-scroller.md +5 -5
  397. package/llms/components/lr-sequence-playback.md +1 -2
  398. package/llms/components/lr-slider.md +3 -1
  399. package/llms/components/lr-streaming-text.md +2 -3
  400. package/llms/components/lr-terminal.md +14 -5
  401. package/llms/components/lr-thinking-panel.md +3 -1
  402. package/llms/components/lr-thread-list.md +20 -1
  403. package/llms/components/lr-tool-call-chip.md +2 -2
  404. package/llms/components/lr-tool-param-form.md +2 -2
  405. package/llms/components/lr-tool-result-view.md +2 -3
  406. package/llms/components/lr-tool-select-dialog.md +2 -2
  407. package/llms/components/lr-voice-picker.md +7 -2
  408. package/llms/components/lr-widget-renderer.md +12 -13
  409. package/llms/peers.md +5 -5
  410. package/llms/shared.md +74 -63
  411. package/llms-full.txt +629 -247
  412. package/package.json +18 -13
  413. package/vscode-css-data.json +1 -1
  414. package/vscode-html-data.json +1 -1
  415. package/web-types.json +1 -1
  416. package/dist/components/viewers/docx-viewer/fixtures/minimal-docx-fixture.d.ts +0 -1
  417. package/dist/components/viewers/docx-viewer/fixtures/minimal-docx-fixture.js +0 -1
  418. package/dist/components/viewers/ebook-viewer/fixtures/minimal-epub-fixture.d.ts +0 -1
  419. package/dist/components/viewers/ebook-viewer/fixtures/minimal-epub-fixture.js +0 -1
  420. package/dist/components/viewers/spreadsheet-viewer/fixtures/minimal-xlsx-fixture.d.ts +0 -1
  421. package/dist/components/viewers/spreadsheet-viewer/fixtures/minimal-xlsx-fixture.js +0 -1
@@ -78,6 +78,9 @@ focus move.
78
78
  they have no effect in closed-dropdown mode
79
79
  - `name: string = ''` (reflected)
80
80
  - `disabled: boolean = false` (reflected)
81
+ - `readonly: boolean = false` (reflected) — prevents user typing and catalog
82
+ commits while retaining focus, popup navigation, selection/copy, submission/reset, and programmatic
83
+ writes.
81
84
  - `required: boolean = false` (reflected — enforced via `internals.setValidity()`)
82
85
  - `open: boolean = false` (reflected)
83
86
  - `size: LyraSize = 'm'` (reflected) — visual size on the library-wide ladder: `2xs`/`xs`/`s`/`m`/
@@ -177,8 +180,8 @@ every labelled control in the library uses, so `--lr-form-control-required-conte
177
180
  `--lr-form-control-required-color` and `--lr-form-control-required-offset` retune or suppress it here
178
181
  exactly as they do on `lr-input` (see `llms/shared.md` → "The required-field marker"). With no visible label there
179
182
  is nothing to mark and no stray glyph is rendered. Correspondingly, while the picker is barred from
180
- constraint validation — its own `disabled`, or an ancestor `<fieldset disabled>`; this control has no
181
- `readonly` — it reports no violation and publishes neither `:state(invalid)` nor
183
+ constraint validation — its own `disabled` or `readonly`, or an ancestor `<fieldset disabled>` it
184
+ reports no violation and publishes neither `:state(invalid)` nor
182
185
  `:state(user-invalid)`, matching native `:invalid`. `required`/`optional` keep publishing.
183
186
 
184
187
  **CSS parts:** `form-control` (the complete label, control, hint, error, and listbox frame),
@@ -156,7 +156,7 @@ number; maxPx?: number; minPercent?: number; maxPercent?: number }`, index-align
156
156
  renders nothing (`hidden`, out of the accessibility tree) instead of the always-visible overlay
157
157
  card this state rendered before `open` existed. Setting `open = true` reveals it as a
158
158
  focus-trapped floating panel with a `[part="backdrop"]` scrim; Escape or a backdrop click set
159
- `open` back to `false`. While open, the floating panel is the modal root and every sibling pane
159
+ proposes a cancelable close before changing `open`. While open, the floating panel is the modal root and every sibling pane
160
160
  behind it is inert. Leaving `'floating'` while `open` is still `true` also closes it, the same
161
161
  way `<lr-app-rail>` closes its mobile overlay when leaving `'mobile'` while open.
162
162
 
@@ -179,6 +179,10 @@ or keyboard step commits. A genuine pointer gesture has one terminal persistence
179
179
  release emits no additional event; direct `sizes` assignments stay silent),
180
180
  `lr-multi-split-collapse-change` (`detail: { state: 'wide'|'rail'|'floating' }`, fired only
181
181
  on a real `collapse`-state transition, never on every resize/render),
182
+ `lr-toggle` (`detail: LyraMultiSplitToggleDetail = { open: boolean }`) — Escape/backdrop close
183
+ proposals are cancelable and fire before `open` changes; preventing the event or making a synchronous
184
+ reentrant mutation aborts the proposal. A forced close when a responsive collapse transition leaves
185
+ `floating` fires noncancelably after `open` is false. Direct `open` writes and no-op dismissals are silent,
182
186
  `lr-multi-split-constraints-invalid` (`detail: LyraMultiSplitConstraintIssueDetail`, fired once when the configured
183
187
  panel minimums/maximums cannot fit the track; the infeasible set is rejected for interaction and a
184
188
  normalized percent minimum is used instead), `lr-multi-split-orientation-change` (`detail: { orientation }`,
@@ -31,6 +31,14 @@ form of `attr`, equivalent to `attr: '*'`) and `characterData` (`character-data`
31
31
  `charData`). Plus `subtree: boolean = true`, and programmatic `attributeFilter: string[] = []`
32
32
  (neither reflects).
33
33
 
34
+ The browser capability is optional. A missing or throwing owner-window lookup, or an unavailable or
35
+ throwing constructor, leaves that rebuild inert rather than leaking an exception. Individual
36
+ `observe` and `disconnect` failures are contained, so later valid targets and later rebuilds can still observe.
37
+ Callbacks from a retired document are ignored after disconnect or adoption. `attributeFilter` is
38
+ likewise a bounded own-data snapshot (examining at most its first 10,000 direct data entries);
39
+ malformed or accessor-backed entries are skipped, a valid prefix remains active, and an entirely
40
+ unusable value falls back to an empty filter.
41
+
34
42
  **Events:** `lr-mutation`; its detail and bounded readonly record sequence are frozen.
35
43
  `detail.records` and mapped `detail.mutationList` reference the same sequence, while each native
36
44
  `MutationRecord` retains identity.
@@ -30,9 +30,12 @@ description?: string; category?: string; keywords?: string[]; icon?: unknown; di
30
30
  first-appearance-ordered headings, `disabled` renders an item visible but not draggable/placeable.
31
31
  A non-array value is treated as empty. Rows require nonblank string `type` and `label` values;
32
32
  malformed optional `description`, `category`, `keywords`, or `disabled` values omit only that row,
33
- preserving later valid entries
33
+ preserving later valid entries. At most 10,000 positions are examined through own data
34
+ descriptors; accessor-backed rows are omitted without reserving later valid rows. The frozen
35
+ projection drives display while `lr-select.detail.item` retains the original admitted identity
34
36
  - `label?: string` — accessible name for the search field/listbox; omission uses the localized
35
- palette label, while an explicit empty string stays empty
37
+ palette label. An omitted, empty, or whitespace-only value uses that fallback without changing
38
+ the raw property readback
36
39
  - `reorderable: boolean = false` (reflected) — opts into Ctrl/Cmd+ArrowUp/ArrowDown keyboard
37
40
  reordering of the catalog. Unset, no `lr-reorder` is ever emitted and Ctrl/Cmd+Arrow keeps
38
41
  behaving exactly like a plain Arrow press
@@ -9,7 +9,7 @@
9
9
  - **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
10
10
  - **Deprecations** none
11
11
  - **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
12
- - **Themeable via** 16 parts, 35 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
+ - **Themeable via** 16 parts, 36 custom properties — see this component's own `@csspart`/`@cssprop` list below
13
13
  - **Documented with** `lr-line-chart`, `lr-bar-chart`, `lr-doughnut-chart`, `lr-radar-chart`, `lr-polar-area-chart`, `lr-bubble-chart`, `lr-scatter-chart` (same section below)
14
14
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
15
15
 
@@ -58,7 +58,7 @@ failure transition is announced through the shared document-level light-DOM asse
58
58
  `--lr-chart-data-table-button-active-bg`, `--lr-chart-data-table-toggle-hover-bg`,
59
59
  `--lr-chart-data-table-toggle-active-bg`, `--lr-chart-reset-zoom-button-hover-bg`,
60
60
  `--lr-chart-reset-zoom-button-active-bg`, `--lr-chart-canvas-hover-outline-width`, and
61
- `--lr-chart-pattern-step`, plus `--lr-chart-legend-side-max` — all inherited from `LyraChart`, identical in meaning and default (see
61
+ `--lr-chart-canvas-hover-outline-color`, `--lr-chart-pattern-step`, plus `--lr-chart-legend-side-max` — all inherited from `LyraChart`, identical in meaning and default (see
62
62
  `lr-chart` above); each of the eight variants below reads the same set, so one rule retunes them
63
63
  together. The mirrored hooks are `--border-color-1`,
64
64
  `--border-color-2`, `--border-color-3`, `--border-color-4`, `--border-color-5`,
@@ -9,7 +9,7 @@
9
9
  - **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
10
10
  - **Deprecations** none
11
11
  - **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
12
- - **Themeable via** 16 parts, 35 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
+ - **Themeable via** 16 parts, 36 custom properties — see this component's own `@csspart`/`@cssprop` list below
13
13
  - **Documented with** `lr-line-chart`, `lr-bar-chart`, `lr-pie-chart`, `lr-doughnut-chart`, `lr-radar-chart`, `lr-bubble-chart`, `lr-scatter-chart` (same section below)
14
14
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
15
15
 
@@ -58,7 +58,7 @@ failure transition is announced through the shared document-level light-DOM asse
58
58
  `--lr-chart-data-table-button-active-bg`, `--lr-chart-data-table-toggle-hover-bg`,
59
59
  `--lr-chart-data-table-toggle-active-bg`, `--lr-chart-reset-zoom-button-hover-bg`,
60
60
  `--lr-chart-reset-zoom-button-active-bg`, `--lr-chart-canvas-hover-outline-width`, and
61
- `--lr-chart-pattern-step`, plus `--lr-chart-legend-side-max` — all inherited from `LyraChart`, identical in meaning and default (see
61
+ `--lr-chart-canvas-hover-outline-color`, `--lr-chart-pattern-step`, plus `--lr-chart-legend-side-max` — all inherited from `LyraChart`, identical in meaning and default (see
62
62
  `lr-chart` above); each of the eight variants below reads the same set, so one rule retunes them
63
63
  together. The mirrored hooks are `--border-color-1`,
64
64
  `--border-color-2`, `--border-color-3`, `--border-color-4`, `--border-color-5`,
@@ -34,6 +34,7 @@ request. `label` names the prompt section; it is not generic field chrome.
34
34
  `autocomplete: string = ''`, `inputMode: string = ''` (attribute `inputmode`), and
35
35
  `enterKeyHint: string = ''` (attribute `enterkeyhint`) forward unchanged to the composed native
36
36
  textarea; empty string hints preserve the browser default.
37
+ Invalid `status` values read as `idle` without rewriting the host attribute.
37
38
  `attachments: readonly LyraPromptInputAttachment[] = []` — `attachmentId` must be nonempty and
38
39
  unique; malformed rows and later duplicates are omitted first-wins before rendering and attachment
39
40
  events, and surviving chips reconcile by `attachmentId`. `attachmentCapabilities: readonly
@@ -89,9 +90,12 @@ replaces the built-in composer action.
89
90
  **Themeable custom properties:** `--lr-prompt-input-control-width` (default `--lr-size-12rem`) is
90
91
  the preferred width of each generated model, voice, and source control before wrapping.
91
92
 
92
- Mention-popover focus transfer is generation-guarded: closing, disabling, disconnecting, adopting,
93
- or replacing the query/data before its awaited focus step prevents stale focus. Empty `chips` and
94
- `footer` wrappers are not rendered, so an absent optional region cannot create phantom spacing.
93
+ An open mention or command popup remains open only while focus is in the primary textarea or that
94
+ popup; moving focus to another prompt control or outside closes it. Arrow keys move focus to the
95
+ active option. Enter or Tab accepting an option is handled before textarea submission. Escape
96
+ restores the textarea's prior ARIA and selection. If the popup closes, becomes unavailable, or its
97
+ input/items change before focus moves, no move occurs. Empty `chips` and `footer` wrappers are not rendered, so an absent optional region cannot
98
+ create phantom spacing.
95
99
 
96
100
  **Optional peer deps:** none of its own.
97
101
 
@@ -33,6 +33,12 @@ Item ids are occurrence identities. Empty ids and later duplicates are ignored b
33
33
  proposing a mutation, preserving one unambiguous `itemId`. Attachment names render visibly for both
34
34
  editable and read-only rows; the host `label` is also the visible queue heading.
35
35
 
36
+ Supported item and attachment fields are read once when `items` is assigned; create and reassign a
37
+ new collection after changes, because changing an assigned record or reassigning the same mutated
38
+ array does not update the view. Rows or attachments without valid direct data are ignored. Duplicate IDs are resolved
39
+ after validation, so the first valid item wins. `metadata` is opaque and retains identity in
40
+ proposed queue/send-now payloads, while emitted items are new frozen snapshots.
41
+
36
42
  **Events:** `lr-queue-change` (`PromptQueueChangeDetail = { items, reason, itemId }`, with
37
43
  `reason: 'edit' | 'remove' | 'reorder'`), `lr-send-now` (`{ item }`). The queue is controlled:
38
44
  these events propose complete next values without mutating `items`.
@@ -50,6 +50,11 @@ setting it to `0` removes the deadline.
50
50
  **Methods:** `start()`, `stop()`, and `cancel()` drive the capture lifecycle imperatively (mirroring
51
51
  the pointer/keyboard gestures).
52
52
 
53
+ After permission is requested, only a still-active control in the same document may begin
54
+ recording; otherwise any stream returned later is immediately stopped. In hold mode, a later held
55
+ press in that document can take over one pending permission request, and a held press while
56
+ stopping begins after the prior take ends. Only one capture runs at a time.
57
+
53
58
  **Slots:** `microphone-icon` replaces the default mic glyph. `recording-icon` replaces the default
54
59
  recording-state pulse glyph. Both are
55
60
  decorative inside the named trigger: their flattened content is inert and hidden from accessibility
@@ -41,6 +41,12 @@ generation-guarded, including across disconnect/reconnect.
41
41
  `LyraQrCode.preload(): Promise<boolean>` is a static optional-peer warm-up that starts the shared
42
42
  `qrcode` import without encoding a value; it resolves to `false` when the peer is unavailable.
43
43
 
44
+ When `IntersectionObserver` is available, painting waits for a valid intersecting entry and resumes
45
+ whenever the code re-enters view. If the API is unavailable, its constructor fails, or `observe()`
46
+ throws, rendering proceeds immediately. Invalid resolved paint colors fall back to the documented
47
+ safe fill/background without changing the QR's loading or error state: foreground becomes black,
48
+ background becomes transparent, and `imageBackground` becomes the resolved QR background.
49
+
44
50
  At ordinary sizes the backing store is a fixed `2×` the CSS size, independent of device pixel
45
51
  ratio. It degrades uniformly only to stay within 4,096 pixels per dimension and 8,388,608 total
46
52
  pixels. Modules span the full canvas with no injected quiet zone; add host padding when a scanner
@@ -9,7 +9,7 @@
9
9
  - **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
10
10
  - **Deprecations** none
11
11
  - **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
12
- - **Themeable via** 16 parts, 35 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
+ - **Themeable via** 16 parts, 36 custom properties — see this component's own `@csspart`/`@cssprop` list below
13
13
  - **Documented with** `lr-line-chart`, `lr-bar-chart`, `lr-pie-chart`, `lr-doughnut-chart`, `lr-polar-area-chart`, `lr-bubble-chart`, `lr-scatter-chart` (same section below)
14
14
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
15
15
 
@@ -58,7 +58,7 @@ failure transition is announced through the shared document-level light-DOM asse
58
58
  `--lr-chart-data-table-button-active-bg`, `--lr-chart-data-table-toggle-hover-bg`,
59
59
  `--lr-chart-data-table-toggle-active-bg`, `--lr-chart-reset-zoom-button-hover-bg`,
60
60
  `--lr-chart-reset-zoom-button-active-bg`, `--lr-chart-canvas-hover-outline-width`, and
61
- `--lr-chart-pattern-step`, plus `--lr-chart-legend-side-max` — all inherited from `LyraChart`, identical in meaning and default (see
61
+ `--lr-chart-canvas-hover-outline-color`, `--lr-chart-pattern-step`, plus `--lr-chart-legend-side-max` — all inherited from `LyraChart`, identical in meaning and default (see
62
62
  `lr-chart` above); each of the eight variants below reads the same set, so one rule retunes them
63
63
  together. The mirrored hooks are `--border-color-1`,
64
64
  `--border-color-2`, `--border-color-3`, `--border-color-4`, `--border-color-5`,
@@ -46,6 +46,11 @@ associated external label focuses the host-owned slider without changing its val
46
46
  property is visible label text, since a rating is a bare row of symbols with no field frame of its
47
47
  own; wrap the element in your own layout for a labelled field, exactly as `<lr-slider>` does.
48
48
 
49
+ For the managed slider name only, an empty or whitespace-only `label` counts as absent and falls
50
+ through to localized `rating`; the raw `label` property still reads exactly as assigned. An
51
+ associated external label and an authored `aria-label`, including `aria-label=""`, keep their
52
+ existing precedence and are never replaced by that fallback.
53
+
49
54
  **Static constructor API:** `LyraRating.validators` is the mirrored callable validator catalog.
50
55
  Each access returns a fresh `LyraFormValidator<LyraRating>[]`; its entry observes
51
56
  `required`/`disabled`/`readonly`/`value`/`max`, and `checkValidity(element)` projects the element's
@@ -37,3 +37,5 @@ are as described under `lr-format-number` above.
37
37
 
38
38
  Valid output is semantic `<time datetime="…">`. **Slots:** none — an unparseable `date` renders the
39
39
  empty string, with no fallback-content hook (unlike the three `lr-format-*` components above).
40
+ Date input accepts primitive strings/numbers or a genuine `Date`; arbitrary objects are rejected
41
+ without calling their conversion hooks.
@@ -114,8 +114,8 @@ around either the slotted content or the plain `value` text).
114
114
 
115
115
  - `HTMLElement.textContent` read on a shadow-DOM wrapper containing a `<slot>` does NOT include the
116
116
  slot's assigned/projected light-DOM content — only literal fallback children of the `<slot>` tag
117
- itself (there are none here). Asserting against `[part="value"]`'s own `.textContent` to check
118
- rendered slotted content will read as empty even when the component is rendering correctly;
119
- assert against the slot's `assignedNodes()`/`assignedElements()` instead.
117
+ itself (there are none here). Reading `[part="value"]`'s own `.textContent` yields an empty value
118
+ even when slotted content is rendering correctly; use the slot's
119
+ `assignedNodes()`/`assignedElements()` instead.
120
120
 
121
121
  ---
@@ -114,8 +114,8 @@ around either the slotted content or the plain `value` text).
114
114
 
115
115
  - `HTMLElement.textContent` read on a shadow-DOM wrapper containing a `<slot>` does NOT include the
116
116
  slot's assigned/projected light-DOM content — only literal fallback children of the `<slot>` tag
117
- itself (there are none here). Asserting against `[part="value"]`'s own `.textContent` to check
118
- rendered slotted content will read as empty even when the component is rendering correctly;
119
- assert against the slot's `assignedNodes()`/`assignedElements()` instead.
117
+ itself (there are none here). Reading `[part="value"]`'s own `.textContent` yields an empty value
118
+ even when slotted content is rendering correctly; use the slot's
119
+ `assignedNodes()`/`assignedElements()` instead.
120
120
 
121
121
  ---
@@ -25,7 +25,7 @@ text verbatim. Large sets window through an internal `lr-virtual-list`.
25
25
  **Properties:**
26
26
 
27
27
  - `chunks: RetrievalChunk[] = []` (attribute: false) — **`RetrievalChunk`, imported from
28
- `@aceshooting/lyra-ui/ai`** (`src/ai/types.ts`): `{ id: string; text: string; score: number;
28
+ `@aceshooting/lyra-ui/ai`**: `{ id: string; text: string; score: number;
29
29
  source: DocumentRef; metadata?: Record<string, unknown>; rank?: number; locator?: DocumentLocator;
30
30
  queryId?: string; stage?: string; traceId?: string; scores?: RetrievalScoreBreakdown }`. The raw,
31
31
  unsorted/ungrouped result set; host-owned. Blank ids and later duplicate ids are omitted
@@ -9,7 +9,7 @@
9
9
  - **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
10
10
  - **Deprecations** none
11
11
  - **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
12
- - **Themeable via** 16 parts, 35 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
+ - **Themeable via** 16 parts, 36 custom properties — see this component's own `@csspart`/`@cssprop` list below
13
13
  - **Documented with** `lr-line-chart`, `lr-bar-chart`, `lr-pie-chart`, `lr-doughnut-chart`, `lr-radar-chart`, `lr-polar-area-chart`, `lr-bubble-chart` (same section below)
14
14
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
15
15
 
@@ -58,7 +58,7 @@ failure transition is announced through the shared document-level light-DOM asse
58
58
  `--lr-chart-data-table-button-active-bg`, `--lr-chart-data-table-toggle-hover-bg`,
59
59
  `--lr-chart-data-table-toggle-active-bg`, `--lr-chart-reset-zoom-button-hover-bg`,
60
60
  `--lr-chart-reset-zoom-button-active-bg`, `--lr-chart-canvas-hover-outline-width`, and
61
- `--lr-chart-pattern-step`, plus `--lr-chart-legend-side-max` — all inherited from `LyraChart`, identical in meaning and default (see
61
+ `--lr-chart-canvas-hover-outline-color`, `--lr-chart-pattern-step`, plus `--lr-chart-legend-side-max` — all inherited from `LyraChart`, identical in meaning and default (see
62
62
  `lr-chart` above); each of the eight variants below reads the same set, so one rule retunes them
63
63
  together. The mirrored hooks are `--border-color-1`,
64
64
  `--border-color-2`, `--border-color-3`, `--border-color-4`, `--border-color-5`,
@@ -31,11 +31,11 @@ well as full-width layouts.
31
31
  - `scrollStep: number = 0` (attribute `scroll-step`) — custom step; zero uses 80% of the viewport
32
32
  - `label: string = ''` — accessible region name; a host `aria-label` is used when set
33
33
 
34
- **Events:** `lr-scroll` with `scrollStart`, `scrollEnd`, `scrollLeft`, and `scrollTop` in the
35
- detail object. Scroll-driven emissions are coalesced through one `requestAnimationFrame` tick, so a
36
- fling that fires dozens of native `scroll` events produces at most one `lr-scroll` per frame the
37
- same contract `lr-virtual-list`'s identically-named event carries, so the two are interchangeable
38
- for scroll-linked layout work.
34
+ **Events:** `lr-scroll` has detail `{ scrollStart, scrollEnd, scrollLeft, scrollTop }`.
35
+ Scroll-driven emissions are coalesced through one `requestAnimationFrame` tick, so a fling that
36
+ fires dozens of native `scroll` events produces at most one `lr-scroll` per frame. This is the
37
+ scroller's own event shape, not `lr-virtual-list`'s `lr-virtual-scroll` event
38
+ (`{ scrollTop, viewportHeight }`).
39
39
 
40
40
  **Slots:** default scrollable content.
41
41
 
@@ -93,8 +93,7 @@ dimming at `itemCount <= 1`), `--lr-focus-ring-*`.
93
93
  `currentIndex` clamped into `[0, itemCount)`; fractional, negative, `NaN`, infinite, and oversized
94
94
  values cannot poison end conditions or the slider.
95
95
  - `interval-ms` is clamped to the 16ms floor and the browser's finite timer ceiling: a non-finite or
96
- lower value ticks at 16ms, while an oversized value uses the timer ceiling. Each distinct invalid
97
- value is warned once (deduplicated per value, not a single once-ever flag).
96
+ lower value ticks at 16ms, while an oversized value uses the timer ceiling.
98
97
  - Initial `playing` and `item-count` attributes are resolved together on the first update, so
99
98
  playback starts consistently regardless of their source order; an invalid final `itemCount <= 1`
100
99
  clears the reflected `playing` state.
@@ -104,7 +104,9 @@ single numeric string entry.
104
104
  a range readout joins both values with an en dash. The explicit HTML spelling
105
105
  `show-value="false"` stays false.
106
106
  - `value: number = 0`, `defaultValue: number = 0` (attribute `value`), `valueAsNumber: number`, and
107
- `valueAsString: string` are synchronized, finite, clamped, and step-snapped.
107
+ `valueAsString: string` are synchronized and finite. Values normalize the low/high domain, snap
108
+ to the grid anchored at the low endpoint, then clamp so a non-grid endpoint remains reachable;
109
+ invalid, nonpositive, or below-resolution steps are unstepped.
108
110
  - `isRange: boolean` is the read-only normalized range-mode state.
109
111
  - `name: string | null = null`, `disabled = false`, `required = false`, reflected `customError`,
110
112
  plus read-only `form`, `labels`, `validity`, `validationMessage`, and `willValidate` make up the
@@ -77,9 +77,8 @@ property and therefore never requests `katex` itself.
77
77
  ```
78
78
 
79
79
  Token-by-token streaming can update `content` far faster than a human can usefully perceive a
80
- re-render, so updates funnel through `Announcer` (`../../internal/announcer.js`), reused here
81
- purely as a generic "coalesce rapid calls, flush the latest" timing primitive — with none of that
82
- class's usual DOM/ARIA plumbing. Within any `coalesce-ms` window, only the _last_ `content` value
80
+ re-render, so updates use a shared coalescing timer. Within any `coalesce-ms` window, only the
81
+ _last_ `content` value
83
82
  assigned actually reaches the rendered DOM. Two cases always bypass the throttle and flush
84
83
  immediately: the very first `content` assignment after mount, and any transition of `streaming`
85
84
  between `true` and `false` in _either_ direction — so the final chunk of a finished stream can
@@ -9,7 +9,7 @@
9
9
  - **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
10
10
  - **Deprecations** none
11
11
  - **Optional peers** none
12
- - **Themeable via** 16 parts, 11 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
+ - **Themeable via** 16 parts, 16 custom properties — see this component's own `@csspart`/`@cssprop` list below
13
13
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
14
14
 
15
15
  ---
@@ -80,13 +80,22 @@ of the text last announced while `announce-output` is set).
80
80
  `[part="announcer"]` is a styling and inspection surface only — it carries **no** live-region role
81
81
  of its own. The announcement itself goes to the library's shared **light-DOM** polite region,
82
82
  appended to the consumer's `<body>` and marked `data-lr-live-region="polite"`, because a live
83
- region inside a shadow root is not reliably announced (JAWS with Firefox ignores one outright). A
84
- test therefore asserts against that shared region, not `::part(announcer)`; the part remains the
85
- right hook for styling, and for reading back what the terminal last announced.
83
+ region inside a shadow root is not reliably announced (JAWS with Firefox ignores one outright).
84
+ Inspect the shared region, not `::part(announcer)`, when reading an announcement; the part remains
85
+ the right hook for styling and for reading back what the terminal last announced.
86
86
 
87
87
  **Themeable custom properties:** `--lr-terminal-height` (default `var(--lr-size-20rem)`) — the
88
88
  viewport's block size; not declared on `:host`, so it is inherited from the host or any ancestor.
89
- `--lr-terminal-highlight-accent-bg` (default `var(--lr-color-brand-quiet)`),
89
+ `--lr-terminal-surface-color` (default `var(--lr-color-surface-raised)`) controls the card-frame
90
+ background and the fallback foreground for inverse ANSI segments without an explicit background;
91
+ `frame="plain"` remains transparent. `--lr-terminal-toolbar-button-hover-bg` (default
92
+ `var(--lr-color-brand-quiet)`) and `--lr-terminal-toolbar-button-active-bg` (default
93
+ `color-mix(in oklab, var(--lr-terminal-toolbar-button-hover-bg, var(--lr-color-brand-quiet)),
94
+ var(--lr-color-mix-partner) var(--lr-color-mix-active))`) control the copy and download buttons.
95
+ `--lr-terminal-line-hover-bg` (default `var(--lr-color-brand-quiet)`) and
96
+ `--lr-terminal-line-active-bg` (default `color-mix(in oklab, var(--lr-terminal-line-hover-bg,
97
+ var(--lr-color-brand-quiet)), var(--lr-color-mix-partner) var(--lr-color-mix-active))`) control
98
+ ordinary rendered lines. `--lr-terminal-highlight-accent-bg` (default `var(--lr-color-brand-quiet)`),
90
99
  `--lr-terminal-highlight-success-bg` (default `var(--lr-color-success-quiet)`),
91
100
  `--lr-terminal-highlight-warning-bg` (default `var(--lr-color-warning-quiet)`),
92
101
  `--lr-terminal-highlight-danger-bg` (default `var(--lr-color-danger-quiet)`), and
@@ -9,7 +9,7 @@
9
9
  - **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
10
10
  - **Deprecations** none
11
11
  - **Optional peers** none
12
- - **Themeable via** 6 parts, 5 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
+ - **Themeable via** 6 parts, 6 custom properties — see this component's own `@csspart`/`@cssprop` list below
13
13
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
14
14
 
15
15
  ---
@@ -75,6 +75,8 @@ pending duration/toggle accent without changing the shared brand token;
75
75
  `--lr-thinking-panel-compact-header-padding` (default `var(--lr-space-2xs) var(--lr-space-s)`) —
76
76
  `[part="header"]` padding while `compact`; `--lr-thinking-panel-compact-header-gap` (default
77
77
  `var(--lr-space-2xs)`) — gap between the toggle, label, and duration while `compact`; and
78
+ `--lr-thinking-panel-compact-header-font-size` (default `var(--lr-font-size-sm)`) — font size of
79
+ `[part="header"]` while `compact`; and
78
80
  `--lr-thinking-panel-compact-body-padding` (default `var(--lr-space-s)`) — `[part="body"]`
79
81
  padding while `compact`. Plus shared
80
82
  `--lr-color-border`/`-surface`/`-text`/`-text-quiet`/`-brand`/`-brand-quiet`,
@@ -9,7 +9,7 @@
9
9
  - **Release history** [CHANGELOG.md](../../CHANGELOG.md); family-wide breaking-change summaries: [llms-full.txt](../../llms-full.txt)
10
10
  - **Deprecations** none
11
11
  - **Optional peers** none
12
- - **Themeable via** 33 parts, 4 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
+ - **Themeable via** 33 parts, 12 custom properties — see this component's own `@csspart`/`@cssprop` list below
13
13
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
14
14
 
15
15
  ---
@@ -46,6 +46,10 @@ Data-mode thread ids must be nonempty, nonblank, and unique, and every row must
46
46
  before the mode is selected, so focus, actions, slot ownership, and emitted `conversationId`
47
47
  values remain unambiguous.
48
48
 
49
+ Display fields are captured when `threads` is assigned. After a change, create and assign a new
50
+ collection; changing an assigned record or mutating the assigned array does not update the view.
51
+ `filter`, `groupBy`, row callbacks, and group contexts receive the original source records.
52
+
49
53
  **Properties:** `threads: LyraChatThread[] = []` (attribute: false). `activeConversationId: string = ''`
50
54
  (attribute `active-conversation-id`) — data mode:
51
55
  marks the matching row `active`/`aria-current` and scrolls it into view. `searchable: boolean =
@@ -157,6 +161,21 @@ prefix: `row-item-base`, `row-item-active-indicator`, `row-item-select-button`,
157
161
  internal virtual-list shadow tree, so set them on `lr-thread-list` or any ancestor. They do not style
158
162
  marks returned by `renderRowContent` or any other hook.
159
163
 
164
+ **Themeable control states:** `--lr-thread-list-group-toggle-hover-bg` (default
165
+ `var(--lr-color-surface-raised)`), `--lr-thread-list-group-toggle-hover-color` (default
166
+ `var(--lr-color-text)`), `--lr-thread-list-group-toggle-active-bg` (default `color-mix(in oklab,
167
+ var(--lr-thread-list-group-toggle-hover-bg, var(--lr-color-surface-raised)),
168
+ var(--lr-color-mix-partner) var(--lr-color-mix-active))`), and
169
+ `--lr-thread-list-group-toggle-active-color` (default
170
+ `var(--lr-thread-list-group-toggle-hover-color, var(--lr-color-text))`) style group-toggle hover
171
+ and pressed states. `--lr-thread-list-row-action-hover-bg` (default
172
+ `var(--lr-color-surface-raised)`), `--lr-thread-list-row-action-hover-color` (default
173
+ `var(--lr-color-text)`), `--lr-thread-list-row-action-active-bg` (default `color-mix(in oklab,
174
+ var(--lr-thread-list-row-action-hover-bg, var(--lr-color-surface-raised)),
175
+ var(--lr-color-mix-partner) var(--lr-color-mix-active))`), and
176
+ `--lr-thread-list-row-action-active-color` (default
177
+ `var(--lr-thread-list-row-action-hover-color, var(--lr-color-text))`) do the same for row actions.
178
+
160
179
  **Keep the two prefixes straight — they are different surfaces.** The `row-*` parts wrap _this_
161
180
  component's own render-callback output (`wrapRow`, `renderStart`, `renderExcerpt`,
162
181
  `renderRowContent`, `renderMeta`, `renderActions`); the `row-item-*` parts are the row item's
@@ -98,8 +98,8 @@ referenced: `--lr-color-text-quiet`, `--lr-color-surface`, `--lr-color-border`,
98
98
  </script>
99
99
  ```
100
100
 
101
- The default slot's tooltip is positioned with the same `internal/positioner.js` `place()` helper
102
- `<lr-combobox>` uses for its listbox (`placement: 'top-start'`), and appears/disappears instantly
101
+ The default slot's tooltip uses the same `'top-start'` placement as `<lr-combobox>`'s listbox, and
102
+ appears/disappears instantly
103
103
  on hover/focus/blur/mouseleave with no fade transition and no "pointer moved into the tooltip"
104
104
  tracking — it's documented as read-only preview content, not an interactive surface meant to retain
105
105
  focus of its own. `denied` gets its own warning-toned glyph and color (a policy rejection, not a
@@ -127,8 +127,8 @@ fired once up front at connect time and after every effective change; serializat
127
127
  publish their root message as `errors.base` and `formError`), and no-detail `focus`/`blur` events for
128
128
  generated native text/number inputs. The composed
129
129
  `<lr-select>` controls already bubble their own focus/blur bridges through the host.
130
- Their implementation events (`input`, `change`, `lr-change`, select show/hide, and option mutation)
131
- are contained at the form boundary; consumers receive the single form-level `lr-input` contract.
130
+ Nested control events (`input`, `change`, `lr-change`, select show/hide, and option mutation) are
131
+ contained at the form boundary; consumers receive the single form-level `lr-input` contract.
132
132
  `lr-invalid` (no detail) is the bubbling/composed, cancelable alias emitted when the complete
133
133
  parameter form fails a native validity check; preventing it also prevents the native `invalid`
134
134
  event's default validation UI.
@@ -159,12 +159,11 @@ registerToolRenderer("run_query", {
159
159
  `registry` prop is set
160
160
  - `findToolRenderer(toolName: string, payload: unknown, registry?: ToolRendererRegistry):
161
161
  ToolRendererDefinition | undefined` — the dispatch function `<lr-tool-result-view>` calls
162
- internally on every resolve; exposed for direct use/testing too
162
+ internally on every resolve; exposed for direct use too
163
163
  - `loadToolRenderer(def: ToolRendererDefinition): Promise<DirectToolRendererDefinition>` — resolves `def`
164
164
  to a definition guaranteed to carry a real `render`, awaiting/unwrapping `def.load()` when present
165
165
  (or returning `def` unchanged otherwise)
166
- - `clearToolRenderers(): void` — test-only utility that empties the default registry and its
167
- `load()` cache, so one test's `registerToolRenderer()` calls can't leak into the next
166
+ - `clearToolRenderers(): void` — clears the default registry and its `load()` cache
168
167
 
169
168
  **Dispatch order** (`findToolRenderer`), exactly as `<lr-tool-result-view>`'s own `resolve()` uses
170
169
  it:
@@ -85,8 +85,8 @@ the desired detail values after that work succeeds. `lr-close`
85
85
  (`detail: ToolSelectDialogCloseReason` — fired exactly once per dismissal, via Escape, a backdrop
86
86
  click when `lightDismiss` is enabled, or a `close()` call), and no-detail `focus`/`blur` events
87
87
  re-dispatched when the internal search input gains or loses focus.
88
- Native `input`/`change` and prefixed `lr-input` implementation events from the built-in checkbox and
89
- switch controls stop at the dialog boundary; listen for the single aggregate `lr-change` proposal.
88
+ Native `input`/`change` and prefixed `lr-input` events from the built-in checkbox and switch
89
+ controls stop at the dialog boundary; listen for the single aggregate `lr-change` proposal.
90
90
 
91
91
  **Slots:** `footer` — optional action buttons (e.g. a "Done" button), rendered in a bottom row. Changes
92
92
  already apply live via `lr-change`, so this slot is purely optional; only visually shown once it has
@@ -60,6 +60,10 @@ identically-named properties. `size: LyraSize = 'm'` (reflected) selects the sha
60
60
  `--lr-form-control-*` metrics. The separate preview button retains the library-wide 40px minimum
61
61
  hit area at compact tiers and grows with `l`/`xl`.
62
62
 
63
+ `readonly: boolean = false` (reflected) mirrors `lr-model-select`: it blocks user typing and catalog
64
+ commits while preserving focus, popup navigation, selection/copy, reset, submission, programmatic
65
+ writes, and the preview actions.
66
+
63
67
  The `label` property and `label` slot share one native label in the standard `form-control` frame.
64
68
  Slotted label content participates in the accessible name in both closed-dropdown and free-text
65
69
  modes; an explicit host `aria-label` remains the highest-precedence name.
@@ -113,8 +117,9 @@ outer pair. One bubbling/composed `lr-invalid` alias fires when native validity
113
117
  `[part="form-control-label"]`, retunable or suppressible through
114
118
  `--lr-form-control-required-content`, `--lr-form-control-required-color` and
115
119
  `--lr-form-control-required-offset`; and while the picker is barred from
116
- constraint validation (own `disabled`, or an ancestor `<fieldset disabled>` — there is no `readonly`
117
- here) it reports no violation and publishes neither `:state(invalid)` nor `:state(user-invalid)`.
120
+ constraint validation (own `disabled` or `readonly`, or an ancestor `<fieldset disabled>`) it
121
+ reports no violation and publishes neither `:state(invalid)` nor
122
+ `:state(user-invalid)`.
118
123
 
119
124
  **CSS parts:** `form-control` (the complete field frame), `form-control-label`, `trigger` (closed-dropdown mode), `combobox`/`combobox-input`
120
125
  (free-text mode), `provider-badge`, `listbox`, `option`, `option-label`, `option-meta` (the quiet
@@ -123,12 +123,12 @@ value to complete the update.
123
123
  **CSS parts:** `base` (the root wrapper, `display: contents`), `row`, `col`, `text` (built-in
124
124
  structural nodes only — a mapped lyra component exposes its own parts instead).
125
125
 
126
- Caps: depth 32, 5,000 nodes, 100 visited props per node, and 100 unique warning keys plus one
127
- deterministic suppression warning. The current document/registry generation deduplicates warnings;
128
- binding-state-only re-resolution stays quiet, while replacing the root or registry releases prior
129
- keys. Exported deterministic `nodeKey`/`nodePath` identity drives reconciliation. One bounded input
130
- snapshot is shared by traversal, identity validation, pointer resolution, and rendering, so getters
131
- beyond an admitted cap are never dereferenced.
126
+ For predictable rendering, documents are limited to depth 32, 5,000 nodes, and 100 properties per
127
+ node. Content beyond those size limits is omitted or truncated; malformed documents fail closed,
128
+ clearing prior output and emitting `lr-render-error`. `document` is captured when assigned, so
129
+ mutate a copy and assign it to update; `bindingState` updates bindings without changing that
130
+ captured document or registry. Exported deterministic `nodeKey`/`nodePath` identity drives
131
+ reconciliation.
132
132
 
133
133
  ```ts
134
134
  import { html } from "lit";
@@ -157,10 +157,10 @@ const view = html`<lr-widget-renderer
157
157
  ```
158
158
 
159
159
  For a controlled binding, use a per-instance registry and apply the event's requested value back to
160
- `bindingState` (this one-field example binds `/name`). This is also the lean registration route: it imports
161
- the side-effect-free renderer class, defines only `lr-widget-renderer`, and imports only the mapped
162
- input registration. Do not import `widget-renderer.js` on this route; that entry intentionally
163
- installs the full default registry.
160
+ `bindingState` (this one-field example binds `/name`). The direct class route supplies the
161
+ default type mappings but defines only `lr-widget-renderer`; register every mapped custom element
162
+ you use yourself. The normal `widget-renderer.js` entry also registers the eight default mapped
163
+ elements, so do not import it on this route.
164
164
 
165
165
  ```html
166
166
  <lr-widget-renderer id="bound-widget"></lr-widget-renderer>
@@ -200,6 +200,5 @@ renderer.addEventListener("lr-widget-state-change", (event) => {
200
200
 
201
201
  **Optional peer deps:** none new — the normal registration entry directly imports the eight mapped
202
202
  components (`markdown` keeps its own `marked`/`dompurify` optional-peer fallback). The manual class
203
- route above is the verified lean path: its real peer-inclusive esbuild metafile excludes
204
- `default-registry.js` and all eight default mapped class modules, while the consumer explicitly
205
- imports only the component registrations its per-instance registry maps.
203
+ route supplies the same default type mappings while leaving component registration under the
204
+ consumer's control.
package/llms/peers.md CHANGED
@@ -39,11 +39,11 @@ for the page.
39
39
  |---|---|---|
40
40
  | `@aceshooting/lyra-flags` | `^2.3.0` | _(loaded by a shared internal module)_ |
41
41
  | `@aiden0z/pptx-renderer` | `^1.2.4` | `lr-pptx-viewer` |
42
- | `@sgratzl/chartjs-chart-boxplot` | `^4.4.5` | `lr-box-plot` |
43
- | `chart.js` | `^4.5.1` | `lr-bar-chart`, `lr-box-plot`, `lr-bubble-chart`, `lr-chart`, `lr-doughnut-chart`, `lr-histogram`, `lr-line-chart`, `lr-pie-chart`, `lr-polar-area-chart`, `lr-radar-chart`, `lr-scatter-chart` |
44
- | `chartjs-plugin-annotation` | `^3.1.0` | `lr-bar-chart`, `lr-bubble-chart`, `lr-chart`, `lr-doughnut-chart`, `lr-histogram`, `lr-line-chart`, `lr-pie-chart`, `lr-polar-area-chart`, `lr-radar-chart`, `lr-scatter-chart` |
42
+ | `@sgratzl/chartjs-chart-boxplot` | `^4.0.0` | `lr-box-plot` |
43
+ | `chart.js` | `^4.0.1` | `lr-bar-chart`, `lr-box-plot`, `lr-bubble-chart`, `lr-chart`, `lr-doughnut-chart`, `lr-histogram`, `lr-line-chart`, `lr-pie-chart`, `lr-polar-area-chart`, `lr-radar-chart`, `lr-scatter-chart` |
44
+ | `chartjs-plugin-annotation` | `^3.0.0` | `lr-bar-chart`, `lr-bubble-chart`, `lr-chart`, `lr-doughnut-chart`, `lr-histogram`, `lr-line-chart`, `lr-pie-chart`, `lr-polar-area-chart`, `lr-radar-chart`, `lr-scatter-chart` |
45
45
  | `chartjs-plugin-datalabels` | `^2.2.0` | `lr-bar-chart`, `lr-bubble-chart`, `lr-chart`, `lr-doughnut-chart`, `lr-histogram`, `lr-line-chart`, `lr-pie-chart`, `lr-polar-area-chart`, `lr-radar-chart`, `lr-scatter-chart` |
46
- | `chartjs-plugin-zoom` | `^2.2.0` | `lr-bar-chart`, `lr-bubble-chart`, `lr-chart`, `lr-doughnut-chart`, `lr-histogram`, `lr-line-chart`, `lr-pie-chart`, `lr-polar-area-chart`, `lr-radar-chart`, `lr-scatter-chart` |
46
+ | `chartjs-plugin-zoom` | `^2.0.0` | `lr-bar-chart`, `lr-bubble-chart`, `lr-chart`, `lr-doughnut-chart`, `lr-histogram`, `lr-line-chart`, `lr-pie-chart`, `lr-polar-area-chart`, `lr-radar-chart`, `lr-scatter-chart` |
47
47
  | `d3-drag` | `^3.0.0` | `lr-graph`, `lr-knowledge-graph-explorer` |
48
48
  | `d3-force` | `^3.0.0` | `lr-graph`, `lr-knowledge-graph-explorer` |
49
49
  | `d3-selection` | `^3.0.0` | `lr-graph`, `lr-knowledge-graph-explorer` |
@@ -58,7 +58,7 @@ for the page.
58
58
  | `maplibre-gl` | `>=5 <7` | `lr-geojson-view`, `lr-geojson-viewer`, `lr-map` |
59
59
  | `marked` | `^18.0.11` | `lr-agent-workspace`, `lr-dashboard-grid`, `lr-eval-run`, `lr-markdown`, `lr-markdown-core`, `lr-message-parts`, `lr-notebook-viewer`, `lr-rag-answer`, `lr-streaming-text`, `lr-widget-renderer` |
60
60
  | `papaparse` | `^5.7.0` | `lr-csv-viewer`, `lr-dataset-viewer` |
61
- | `pdfjs-dist` | `^6.2.108` | `lr-pdf-viewer` |
61
+ | `pdfjs-dist` | `^6.3.289` | `lr-pdf-viewer` |
62
62
  | `postal-mime` | `^3.0.0` | `lr-email-viewer` |
63
63
  | `qrcode` | `^1.5.4` | `lr-qr-code` |
64
64
  | `react` | `>=19 <20` | type-only `@aceshooting/lyra-ui/custom-elements-jsx` entry (no runtime import) |