@aceshooting/lyra-ui 13.0.1 → 14.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 (723) hide show
  1. package/CHANGELOG.md +329 -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/commit-card/commit-card.class.d.ts +3 -1
  12. package/dist/components/agent-tools/commit-card/commit-card.class.js +2 -2
  13. package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts +2 -1
  14. package/dist/components/agent-tools/compare-panel/compare-panel.styles.js +1 -1
  15. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts +6 -2
  16. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +8 -8
  17. package/dist/components/agent-tools/result-card/result-card.class.d.ts +1 -1
  18. package/dist/components/agent-tools/result-card/result-card.class.js +1 -1
  19. package/dist/components/agent-tools/result-card/result-field.class.d.ts +1 -1
  20. package/dist/components/agent-tools/result-card/result-field.class.js +1 -1
  21. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +5 -5
  22. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +23 -10
  23. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.d.ts +13 -6
  24. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +3 -3
  25. package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +1 -1
  26. package/dist/components/agent-tools/stack-trace/stack-trace-parse.js +3 -3
  27. package/dist/components/agent-tools/stack-trace/stack-trace.class.d.ts +1 -1
  28. package/dist/components/agent-tools/stack-trace/stack-trace.class.js +1 -1
  29. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +1 -1
  30. package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.js +1 -1
  31. package/dist/components/agent-tools/task-list/task-list.class.d.ts +1 -2
  32. package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
  33. package/dist/components/agent-tools/terminal/terminal.class.d.ts +11 -2
  34. package/dist/components/agent-tools/terminal/terminal.class.js +5 -5
  35. package/dist/components/agent-tools/terminal/terminal.styles.js +1 -1
  36. package/dist/components/agent-tools/test-results/test-results.class.d.ts +4 -2
  37. package/dist/components/agent-tools/test-results/test-results.class.js +2 -2
  38. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts +2 -0
  39. package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +1 -1
  40. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +1 -1
  41. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +2 -2
  42. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +1 -1
  43. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +3 -2
  44. package/dist/components/agent-tools/tool-param-form/tool-param-form.d.ts +1 -1
  45. package/dist/components/agent-tools/tool-param-form/tool-param-form.js +1 -1
  46. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.js +2 -2
  47. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +1 -1
  48. package/dist/components/agent-tools/tool-result-view/registry.d.ts +2 -1
  49. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts +1 -1
  50. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js +1 -1
  51. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts +18 -12
  52. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +7 -7
  53. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts +9 -3
  54. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +1 -1
  55. package/dist/components/agent-tools/trace-tree/span.d.ts +3 -1
  56. package/dist/components/agent-tools/trace-tree/span.js +1 -1
  57. package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +1 -1
  58. package/dist/components/charts/chart/box-plot.class.d.ts +12 -3
  59. package/dist/components/charts/chart/box-plot.class.js +9 -9
  60. package/dist/components/charts/chart/box-plot.styles.js +1 -1
  61. package/dist/components/charts/chart/chart-core-loader.js +1 -1
  62. package/dist/components/charts/chart/chart-feature-loader.js +1 -1
  63. package/dist/components/charts/chart/chart-preload.d.ts +1 -1
  64. package/dist/components/charts/chart/chart-preload.js +1 -1
  65. package/dist/components/charts/chart/chart.class.d.ts +33 -10
  66. package/dist/components/charts/chart/chart.class.js +23 -14
  67. package/dist/components/charts/chart/chart.styles.js +1 -1
  68. package/dist/components/charts/chart/histogram-bin.js +1 -1
  69. package/dist/components/charts/chart/lite-chart.class.d.ts +20 -11
  70. package/dist/components/charts/chart/lite-chart.class.js +17 -11
  71. package/dist/components/charts/chart/lite-chart.styles.js +1 -1
  72. package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +1 -1
  73. package/dist/components/conversation/agent-workspace/agent-workspace.class.js +2 -2
  74. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.d.ts +10 -5
  75. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js +1 -1
  76. package/dist/components/conversation/branch-picker/branch-picker.class.d.ts +4 -2
  77. package/dist/components/conversation/branch-picker/branch-picker.class.js +1 -1
  78. package/dist/components/conversation/branch-picker/branch-picker.styles.js +1 -1
  79. package/dist/components/conversation/chat-composer/chat-composer.class.d.ts +6 -2
  80. package/dist/components/conversation/chat-composer/chat-composer.class.js +3 -3
  81. package/dist/components/conversation/chat-composer/chat-composer.styles.js +1 -1
  82. package/dist/components/conversation/chat-message/chat-message.class.d.ts +4 -3
  83. package/dist/components/conversation/chat-message/chat-message.class.js +2 -2
  84. package/dist/components/conversation/chat-message/chat-message.styles.js +1 -1
  85. package/dist/components/conversation/chat-viewport/chat-viewport.styles.js +1 -1
  86. package/dist/components/conversation/code-block/code-block-core.class.d.ts +4 -3
  87. package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
  88. package/dist/components/conversation/code-block/code-block-shared.d.ts +3 -3
  89. package/dist/components/conversation/code-block/code-block-shared.js +2 -2
  90. package/dist/components/conversation/code-block/code-block.class.d.ts +4 -3
  91. package/dist/components/conversation/code-block/code-block.class.js +1 -1
  92. package/dist/components/conversation/code-block/code-block.styles.js +1 -1
  93. package/dist/components/conversation/code-block/code-loader.d.ts +1 -1
  94. package/dist/components/conversation/code-block/code-loader.js +1 -1
  95. package/dist/components/conversation/code-block/shiki-types.d.ts +2 -0
  96. package/dist/components/conversation/code-block/shiki-types.js +1 -1
  97. package/dist/components/conversation/conversation-item/conversation-item.class.js +1 -1
  98. package/dist/components/conversation/conversation-item/conversation-item.styles.js +1 -1
  99. package/dist/components/conversation/generation-metrics/generation-metrics.styles.js +1 -1
  100. package/dist/components/conversation/markdown/katex-loader.d.ts +4 -4
  101. package/dist/components/conversation/markdown/katex-loader.js +1 -1
  102. package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
  103. package/dist/components/conversation/markdown/markdown-core.class.d.ts +1 -1
  104. package/dist/components/conversation/markdown/markdown-loader.d.ts +1 -1
  105. package/dist/components/conversation/markdown/markdown-loader.js +1 -1
  106. package/dist/components/conversation/markdown/markdown-shared.d.ts +6 -1
  107. package/dist/components/conversation/markdown/markdown-shared.js +5 -4
  108. package/dist/components/conversation/markdown/markdown.class.d.ts +1 -1
  109. package/dist/components/conversation/message-actions/message-actions.class.d.ts +18 -3
  110. package/dist/components/conversation/message-actions/message-actions.class.js +2 -2
  111. package/dist/components/conversation/message-actions/message-actions.styles.js +1 -1
  112. package/dist/components/conversation/message-actions/toolbar-actions.d.ts +3 -1
  113. package/dist/components/conversation/message-actions/toolbar-actions.js +1 -1
  114. package/dist/components/conversation/message-feedback/message-feedback.class.d.ts +40 -15
  115. package/dist/components/conversation/message-feedback/message-feedback.class.js +7 -3
  116. package/dist/components/conversation/message-feedback/message-feedback.styles.js +1 -1
  117. package/dist/components/conversation/message-parts/message-parts.class.d.ts +10 -4
  118. package/dist/components/conversation/message-parts/message-parts.class.js +2 -2
  119. package/dist/components/conversation/message-parts/message-parts.styles.js +1 -1
  120. package/dist/components/conversation/model-select/model-select.class.d.ts +5 -2
  121. package/dist/components/conversation/model-select/model-select.class.js +8 -5
  122. package/dist/components/conversation/model-settings-panel/model-settings-panel.class.d.ts +3 -5
  123. package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +2 -1
  124. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +9 -2
  125. package/dist/components/conversation/prompt-input/prompt-input.class.js +3 -3
  126. package/dist/components/conversation/prompt-input/prompt-input.styles.js +1 -1
  127. package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts +20 -4
  128. package/dist/components/conversation/prompt-queue/prompt-queue.class.js +1 -1
  129. package/dist/components/conversation/prompt-queue/prompt-queue.styles.js +1 -1
  130. package/dist/components/conversation/push-to-talk/push-to-talk.class.d.ts +17 -8
  131. package/dist/components/conversation/push-to-talk/push-to-talk.class.js +1 -1
  132. package/dist/components/conversation/push-to-talk/push-to-talk.styles.js +1 -1
  133. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts +6 -3
  134. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
  135. package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.js +1 -1
  136. package/dist/components/conversation/thread-list/thread-list.class.d.ts +14 -4
  137. package/dist/components/conversation/thread-list/thread-list.class.js +11 -11
  138. package/dist/components/conversation/thread-list/thread-list.styles.js +1 -1
  139. package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +2 -0
  140. package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
  141. package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +1 -1
  142. package/dist/components/conversation/typing-indicator/typing-indicator.class.d.ts +2 -1
  143. package/dist/components/conversation/typing-indicator/typing-indicator.class.js +1 -1
  144. package/dist/components/conversation/usage-badge/usage-badge-overlay-runtime.d.ts +3 -0
  145. package/dist/components/conversation/usage-badge/usage-badge-overlay-runtime.js +1 -0
  146. package/dist/components/conversation/usage-badge/usage-badge.class.d.ts +4 -2
  147. package/dist/components/conversation/usage-badge/usage-badge.class.js +1 -1
  148. package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +12 -4
  149. package/dist/components/conversation/voice-picker/voice-picker.class.js +8 -5
  150. package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
  151. package/dist/components/conversation/widget-renderer/resolve.d.ts +4 -6
  152. package/dist/components/conversation/widget-renderer/resolve.js +1 -1
  153. package/dist/components/data/calendar/calendar.class.d.ts +16 -5
  154. package/dist/components/data/calendar/calendar.class.js +2 -2
  155. package/dist/components/data/calendar/calendar.styles.js +1 -1
  156. package/dist/components/data/condition-builder/condition-builder.class.d.ts +3 -1
  157. package/dist/components/data/condition-builder/condition-builder.class.js +15 -1
  158. package/dist/components/data/context-meter/context-meter.class.d.ts +3 -1
  159. package/dist/components/data/context-meter/context-meter.class.js +4 -4
  160. package/dist/components/data/data-grid/data-grid.class.d.ts +51 -6
  161. package/dist/components/data/data-grid/data-grid.class.js +25 -11
  162. package/dist/components/data/data-grid/data-grid.styles.js +1 -1
  163. package/dist/components/data/document-library/document-library.class.d.ts +5 -2
  164. package/dist/components/data/document-library/document-library.class.js +1 -1
  165. package/dist/components/data/env-list/env-list.class.js +1 -1
  166. package/dist/components/data/file-tree/file-tree.class.d.ts +2 -1
  167. package/dist/components/data/file-tree/file-tree.class.js +1 -1
  168. package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +24 -14
  169. package/dist/components/data/flow-canvas/flow-canvas.class.js +1 -2
  170. package/dist/components/data/flow-canvas/flow-canvas.styles.js +1 -1
  171. package/dist/components/data/flow-canvas/flow-model.js +1 -1
  172. package/dist/components/data/flow-canvas/flow-types.d.ts +2 -1
  173. package/dist/components/data/flow-controls/flow-controls.styles.js +1 -1
  174. package/dist/components/data/flow-run-status/flow-run-status.class.js +1 -1
  175. package/dist/components/data/funnel/funnel.class.d.ts +1 -0
  176. package/dist/components/data/funnel/funnel.class.js +1 -1
  177. package/dist/components/data/gauge/gauge.class.d.ts +4 -1
  178. package/dist/components/data/gauge/gauge.class.js +6 -6
  179. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +5 -2
  180. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +15 -1
  181. package/dist/components/data/graph-query-builder/graph-query-builder.styles.js +1 -1
  182. package/dist/components/data/heatmap/heatmap.class.d.ts +7 -4
  183. package/dist/components/data/heatmap/heatmap.class.js +1 -1
  184. package/dist/components/data/sequence-strip/sequence-strip.class.js +1 -1
  185. package/dist/components/data/sparkline/sparkline.class.d.ts +2 -1
  186. package/dist/components/data/sparkline/sparkline.class.js +1 -1
  187. package/dist/components/data/stat/stat.class.d.ts +6 -2
  188. package/dist/components/data/stat/stat.class.js +1 -1
  189. package/dist/components/data/table/table.class.d.ts +15 -16
  190. package/dist/components/data/table/table.class.js +5 -4
  191. package/dist/components/data/table/table.styles.js +1 -1
  192. package/dist/components/data/timeline/timeline.class.d.ts +7 -2
  193. package/dist/components/data/timeline/timeline.class.js +1 -1
  194. package/dist/components/data/timeline/timeline.styles.js +1 -1
  195. package/dist/components/data/tree/tree-item.class.d.ts +3 -1
  196. package/dist/components/data/tree/tree-item.class.js +1 -1
  197. package/dist/components/data/tree/tree-item.styles.js +1 -1
  198. package/dist/components/data/tree/tree.class.d.ts +4 -1
  199. package/dist/components/data/tree/tree.class.js +1 -1
  200. package/dist/components/data/word-cloud/word-cloud-layout.d.ts +2 -1
  201. package/dist/components/data/word-cloud/word-cloud-layout.js +1 -1
  202. package/dist/components/data/word-cloud/word-cloud.class.d.ts +2 -1
  203. package/dist/components/data/word-cloud/word-cloud.class.js +1 -1
  204. package/dist/components/forms/button/button.class.d.ts +5 -3
  205. package/dist/components/forms/button/button.class.js +1 -1
  206. package/dist/components/forms/checkbox/checkbox.class.d.ts +3 -0
  207. package/dist/components/forms/checkbox/checkbox.class.js +1 -1
  208. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +7 -2
  209. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  210. package/dist/components/forms/code-editor/code-editor.class.d.ts +16 -4
  211. package/dist/components/forms/code-editor/code-editor.class.js +19 -9
  212. package/dist/components/forms/code-editor/code-editor.styles.js +1 -1
  213. package/dist/components/forms/color-picker/color-picker.class.d.ts +6 -2
  214. package/dist/components/forms/color-picker/color-picker.class.js +4 -4
  215. package/dist/components/forms/combobox/combobox.class.d.ts +19 -8
  216. package/dist/components/forms/combobox/combobox.class.js +3 -3
  217. package/dist/components/forms/combobox/combobox.styles.js +1 -1
  218. package/dist/components/forms/combobox/option.class.d.ts +4 -0
  219. package/dist/components/forms/combobox/option.class.js +2 -2
  220. package/dist/components/forms/date-picker/calendar-core.d.ts +1 -1
  221. package/dist/components/forms/date-picker/calendar-core.js +1 -1
  222. package/dist/components/forms/date-picker/date-input.class.d.ts +20 -10
  223. package/dist/components/forms/date-picker/date-input.class.js +4 -4
  224. package/dist/components/forms/date-picker/date-picker.class.d.ts +33 -15
  225. package/dist/components/forms/date-picker/date-picker.class.js +8 -8
  226. package/dist/components/forms/date-picker/date-picker.styles.js +1 -1
  227. package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
  228. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +11 -3
  229. package/dist/components/forms/emoji-picker/emoji-picker.class.js +3 -3
  230. package/dist/components/forms/emoji-picker/emoji-types.d.ts +2 -2
  231. package/dist/components/forms/icon-button/icon-button.class.d.ts +4 -2
  232. package/dist/components/forms/icon-button/icon-button.class.js +1 -1
  233. package/dist/components/forms/input/input.class.d.ts +16 -5
  234. package/dist/components/forms/input/input.class.js +7 -1
  235. package/dist/components/forms/input/native-time-input.class.d.ts +3 -0
  236. package/dist/components/forms/input/number-input.class.d.ts +3 -0
  237. package/dist/components/forms/input/time-input.class.d.ts +11 -2
  238. package/dist/components/forms/input/time-input.class.js +2 -2
  239. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +22 -4
  240. package/dist/components/forms/locale-picker/locale-picker.class.js +2 -2
  241. package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
  242. package/dist/components/forms/otp-input/otp-input.class.d.ts +5 -1
  243. package/dist/components/forms/otp-input/otp-input.class.js +1 -1
  244. package/dist/components/forms/phone-input/phone-input.class.d.ts +21 -8
  245. package/dist/components/forms/phone-input/phone-input.class.js +1 -1
  246. package/dist/components/forms/radio/radio-button.class.d.ts +4 -0
  247. package/dist/components/forms/radio/radio-group.class.d.ts +4 -1
  248. package/dist/components/forms/radio/radio-group.class.js +1 -1
  249. package/dist/components/forms/radio/radio.class.d.ts +6 -2
  250. package/dist/components/forms/radio/radio.class.js +1 -1
  251. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +7 -1
  252. package/dist/components/forms/rubric-form/rubric-form.class.js +3 -3
  253. package/dist/components/forms/select/select.class.d.ts +8 -2
  254. package/dist/components/forms/select/select.class.js +2 -2
  255. package/dist/components/forms/select/select.styles.js +1 -1
  256. package/dist/components/forms/slider/slider.class.d.ts +12 -6
  257. package/dist/components/forms/slider/slider.class.js +2 -2
  258. package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +4 -0
  259. package/dist/components/forms/swatch-picker/swatch-picker.class.js +1 -1
  260. package/dist/components/forms/switch/switch.class.d.ts +5 -1
  261. package/dist/components/forms/switch/switch.class.js +1 -1
  262. package/dist/components/forms/textarea/textarea.class.d.ts +3 -0
  263. package/dist/components/forms/textarea/textarea.class.js +1 -1
  264. package/dist/components/forms/time-range/time-range.class.d.ts +3 -0
  265. package/dist/components/forms/time-range/time-range.class.js +1 -1
  266. package/dist/components/forms/token-input/token-input.class.d.ts +8 -2
  267. package/dist/components/forms/token-input/token-input.class.js +2 -2
  268. package/dist/components/forms/token-input/token-input.styles.js +1 -1
  269. package/dist/components/layout/app-rail/app-rail.class.d.ts +9 -5
  270. package/dist/components/layout/app-rail/app-rail.class.js +4 -3
  271. package/dist/components/layout/app-rail/app-rail.styles.js +1 -1
  272. package/dist/components/layout/carousel/carousel.class.d.ts +3 -2
  273. package/dist/components/layout/carousel/carousel.class.js +1 -1
  274. package/dist/components/layout/command-palette/command-palette.class.d.ts +2 -2
  275. package/dist/components/layout/command-palette/command-palette.class.js +1 -1
  276. package/dist/components/layout/command-palette/command-palette.styles.js +1 -1
  277. package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts +2 -0
  278. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +1 -1
  279. package/dist/components/layout/details/details.class.d.ts +16 -15
  280. package/dist/components/layout/details/details.class.js +43 -34
  281. package/dist/components/layout/details/details.styles.js +1 -1
  282. package/dist/components/layout/dock-panel/dock-panel.class.d.ts +4 -3
  283. package/dist/components/layout/dock-panel/dock-panel.class.js +2 -1
  284. package/dist/components/layout/filter-bar/filter-bar.class.d.ts +3 -1
  285. package/dist/components/layout/filter-bar/filter-bar.class.js +2 -2
  286. package/dist/components/layout/menu/menu-item.class.js +2 -2
  287. package/dist/components/layout/menu/menu-label.class.d.ts +3 -3
  288. package/dist/components/layout/menu/menu.class.d.ts +4 -1
  289. package/dist/components/layout/menu/menu.class.js +1 -1
  290. package/dist/components/layout/multi-split/multi-split.class.d.ts +19 -8
  291. package/dist/components/layout/multi-split/multi-split.class.js +2 -1
  292. package/dist/components/layout/multi-split/multi-split.styles.js +1 -1
  293. package/dist/components/layout/reorder-list/reorder-item.class.d.ts +2 -1
  294. package/dist/components/layout/reorder-list/reorder-item.class.js +1 -1
  295. package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
  296. package/dist/components/layout/reorder-list/reorder-owner.js +1 -1
  297. package/dist/components/layout/scroller/scroller.class.d.ts +4 -4
  298. package/dist/components/layout/scroller/scroller.styles.js +1 -1
  299. package/dist/components/layout/split-panel/split-panel.class.d.ts +5 -3
  300. package/dist/components/layout/split-panel/split-panel.class.js +3 -2
  301. package/dist/components/layout/tab-group/tab-group.class.d.ts +3 -1
  302. package/dist/components/layout/tab-group/tab-group.class.js +1 -1
  303. package/dist/components/layout/tab-group/tab-group.styles.js +1 -1
  304. package/dist/components/layout/virtual-list/virtual-list.class.js +2 -2
  305. package/dist/components/layout/widget/widget.class.d.ts +6 -2
  306. package/dist/components/layout/widget/widget.class.js +1 -1
  307. package/dist/components/layout/widget/widget.styles.js +1 -1
  308. package/dist/components/media/animation/animation.class.d.ts +3 -2
  309. package/dist/components/media/animation/animation.class.js +1 -1
  310. package/dist/components/media/attachment-chip/attachment-chip.class.d.ts +4 -3
  311. package/dist/components/media/attachment-chip/attachment-chip.class.js +1 -1
  312. package/dist/components/media/av-player/av-metadata.d.ts +3 -2
  313. package/dist/components/media/av-player/av-player.class.d.ts +4 -3
  314. package/dist/components/media/av-player/av-player.class.js +3 -3
  315. package/dist/components/media/av-player/av-player.styles.js +1 -1
  316. package/dist/components/media/avatar/avatar.class.d.ts +2 -1
  317. package/dist/components/media/avatar/avatar.class.js +1 -1
  318. package/dist/components/media/file-input/file-input.class.d.ts +4 -2
  319. package/dist/components/media/file-input/file-input.class.js +1 -1
  320. package/dist/components/media/file-input/file-input.styles.js +1 -1
  321. package/dist/components/media/flag/flag.class.js +1 -1
  322. package/dist/components/media/image-viewer/image-viewer.class.d.ts +2 -1
  323. package/dist/components/media/image-viewer/image-viewer.class.js +1 -1
  324. package/dist/components/media/image-viewer/image-viewer.styles.js +1 -1
  325. package/dist/components/media/lightbox/lightbox.styles.js +1 -1
  326. package/dist/components/media/map/map-loader.js +1 -1
  327. package/dist/components/media/map/map.class.d.ts +22 -34
  328. package/dist/components/media/map/map.class.js +1 -1
  329. package/dist/components/media/map/map.styles.js +1 -1
  330. package/dist/components/media/media-card/media-card.class.d.ts +1 -1
  331. package/dist/components/media/media-card/media-card.class.js +1 -1
  332. package/dist/components/media/pan-zoom/pan-zoom.class.js +1 -1
  333. package/dist/components/media/qr-code/qr-code-loader.js +1 -1
  334. package/dist/components/media/qr-code/qr-code.class.d.ts +5 -2
  335. package/dist/components/media/qr-code/qr-code.class.js +2 -2
  336. package/dist/components/media/sequence-playback/sequence-playback.class.d.ts +3 -3
  337. package/dist/components/media/sequence-playback/sequence-playback.class.js +1 -1
  338. package/dist/components/media/sequence-playback/sequence-playback.styles.js +1 -1
  339. package/dist/components/media/video/video.class.d.ts +2 -1
  340. package/dist/components/media/video/video.styles.js +1 -1
  341. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +3 -2
  342. package/dist/components/media/zoomable-frame/zoomable-frame.class.js +2 -2
  343. package/dist/components/overlays/alert/alert.styles.js +1 -1
  344. package/dist/components/overlays/callout/callout.styles.js +1 -1
  345. package/dist/components/overlays/chip/chip-group.class.d.ts +2 -0
  346. package/dist/components/overlays/chip/chip-group.class.js +1 -1
  347. package/dist/components/overlays/dialog/dialog.class.d.ts +2 -0
  348. package/dist/components/overlays/dialog/dialog.class.js +1 -1
  349. package/dist/components/overlays/dialog/dialog.styles.js +1 -1
  350. package/dist/components/overlays/empty/empty.class.d.ts +2 -0
  351. package/dist/components/overlays/empty/empty.class.js +1 -1
  352. package/dist/components/overlays/kbd/kbd.class.d.ts +2 -0
  353. package/dist/components/overlays/kbd/kbd.class.js +1 -1
  354. package/dist/components/overlays/overlay/popover.class.d.ts +3 -1
  355. package/dist/components/overlays/overlay/popover.class.js +1 -1
  356. package/dist/components/overlays/overlay/tooltip.class.d.ts +3 -1
  357. package/dist/components/overlays/overlay/tooltip.class.js +1 -1
  358. package/dist/components/overlays/rating/rating.class.d.ts +2 -0
  359. package/dist/components/overlays/rating/rating.class.js +1 -1
  360. package/dist/components/overlays/toast/toast-item.class.js +1 -1
  361. package/dist/components/retrieval/claim-evidence/claim-evidence.class.d.ts +11 -5
  362. package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +3 -3
  363. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +2 -2
  364. package/dist/components/retrieval/entity-card/entity-card.class.d.ts +5 -2
  365. package/dist/components/retrieval/entity-card/entity-card.class.js +1 -1
  366. package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +4 -2
  367. package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -1
  368. package/dist/components/retrieval/graph/graph-canvas.js +1 -1
  369. package/dist/components/retrieval/graph/graph-loader.js +1 -1
  370. package/dist/components/retrieval/graph/graph.class.d.ts +10 -8
  371. package/dist/components/retrieval/graph/graph.class.js +10 -10
  372. package/dist/components/retrieval/graph-legend/graph-legend.class.d.ts +4 -2
  373. package/dist/components/retrieval/graph-legend/graph-legend.class.js +1 -1
  374. package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +15 -9
  375. package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +7 -5
  376. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +2 -0
  377. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +1 -1
  378. package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +3 -2
  379. package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +4 -3
  380. package/dist/components/retrieval/knowledge-base/knowledge-base.styles.js +1 -1
  381. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +7 -3
  382. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +8 -3
  383. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +1 -1
  384. package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +15 -6
  385. package/dist/components/retrieval/memory-panel/memory-panel.class.js +1 -1
  386. package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +1 -1
  387. package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +1 -1
  388. package/dist/components/retrieval/node-palette/node-palette.class.d.ts +17 -12
  389. package/dist/components/retrieval/node-palette/node-palette.class.js +2 -2
  390. package/dist/components/retrieval/node-palette/node-palette.styles.js +1 -1
  391. package/dist/components/retrieval/path-strip/path-strip.class.js +1 -1
  392. package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts +2 -1
  393. package/dist/components/retrieval/provenance-panel/provenance-panel.class.js +1 -1
  394. package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +1 -1
  395. package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +5 -5
  396. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +1 -1
  397. package/dist/components/retrieval/source-picker/source-picker.class.d.ts +2 -1
  398. package/dist/components/retrieval/source-picker/source-picker.class.js +2 -2
  399. package/dist/components/utility/copy-button/copy-button.class.d.ts +2 -1
  400. package/dist/components/utility/copy-button/copy-button.class.js +1 -1
  401. package/dist/components/utility/diff-view/diff-view.class.d.ts +4 -1
  402. package/dist/components/utility/diff-view/diff-view.class.js +1 -1
  403. package/dist/components/utility/export-button/export-button.class.d.ts +2 -2
  404. package/dist/components/utility/export-button/export-button.class.js +1 -1
  405. package/dist/components/utility/export-button/export-button.styles.js +1 -1
  406. package/dist/components/utility/format/format-date.class.js +1 -1
  407. package/dist/components/utility/format/format-number.class.d.ts +3 -1
  408. package/dist/components/utility/format/format-options.js +1 -1
  409. package/dist/components/utility/format/relative-time.class.js +1 -1
  410. package/dist/components/utility/icon/dompurify-loader.js +1 -1
  411. package/dist/components/utility/icon/icon-library.js +1 -1
  412. package/dist/components/utility/intersection-observer/intersection-observer.class.js +1 -1
  413. package/dist/components/utility/json-viewer/json-viewer.class.d.ts +6 -3
  414. package/dist/components/utility/json-viewer/json-viewer.class.js +5 -5
  415. package/dist/components/utility/known-date/known-date.class.d.ts +9 -5
  416. package/dist/components/utility/known-date/known-date.class.js +2 -2
  417. package/dist/components/utility/known-date/known-date.styles.js +1 -1
  418. package/dist/components/utility/mention-popover/mention-popover.class.d.ts +32 -45
  419. package/dist/components/utility/mention-popover/mention-popover.class.js +1 -1
  420. package/dist/components/utility/mutation-observer/mutation-observer.class.js +1 -1
  421. package/dist/components/utility/poll-status/poll-status.class.d.ts +3 -0
  422. package/dist/components/utility/poll-status/poll-status.styles.js +1 -1
  423. package/dist/components/viewers/calendar-viewer/calendar-loader.js +1 -1
  424. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts +1 -0
  425. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +1 -1
  426. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +2 -1
  427. package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +1 -1
  428. package/dist/components/viewers/document-compare/document-compare.class.d.ts +11 -8
  429. package/dist/components/viewers/document-compare/document-compare.class.js +2 -2
  430. package/dist/components/viewers/document-preview/document-preview.class.d.ts +8 -4
  431. package/dist/components/viewers/document-preview/document-preview.class.js +4 -4
  432. package/dist/components/viewers/document-preview/document-preview.styles.js +1 -1
  433. package/dist/components/viewers/document-viewer/document-viewer.class.d.ts +5 -2
  434. package/dist/components/viewers/document-viewer/document-viewer.class.js +2 -2
  435. package/dist/components/viewers/document-viewer/document-viewer.styles.js +1 -1
  436. package/dist/components/viewers/document-viewer/registry-ownership.d.ts +1 -0
  437. package/dist/components/viewers/document-viewer/registry-ownership.js +1 -0
  438. package/dist/components/viewers/document-viewer/registry.js +1 -1
  439. package/dist/components/viewers/docx-viewer/docx-loader.js +1 -1
  440. package/dist/components/viewers/docx-viewer/docx-viewer.class.js +1 -1
  441. package/dist/components/viewers/ebook-viewer/ebook-loader.d.ts +1 -1
  442. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +8 -2
  443. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +1 -1
  444. package/dist/components/viewers/email-viewer/email-loader.js +1 -1
  445. package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +3 -2
  446. package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -2
  447. package/dist/components/viewers/html-viewer/dompurify-loader.js +1 -1
  448. package/dist/components/viewers/include/include-resource.js +1 -1
  449. package/dist/components/viewers/include/include.class.d.ts +3 -1
  450. package/dist/components/viewers/notebook-viewer/dompurify-loader.js +1 -1
  451. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts +4 -2
  452. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +4 -4
  453. package/dist/components/viewers/notebook-viewer/notebook-viewer.styles.js +1 -1
  454. package/dist/components/viewers/passive-markup.js +1 -1
  455. package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
  456. package/dist/components/viewers/pptx-viewer/pptx-loader.js +1 -1
  457. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-loader.js +1 -1
  458. package/dist/components/viewers/svg-viewer/dompurify-loader.js +1 -1
  459. package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts +2 -1
  460. package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +1 -1
  461. package/dist/components/viewers/viewer-loading.js +1 -1
  462. package/dist/components/viewers/viewer-search-limits.d.ts +2 -0
  463. package/dist/components/viewers/viewer-search-limits.js +1 -1
  464. package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +2 -1
  465. package/dist/components/viewers/xml-viewer/xml-viewer.class.js +1 -1
  466. package/dist/components/viewers/xml-viewer/xml-viewer.js +1 -1
  467. package/dist/custom-elements-jsx.d.ts +1 -1
  468. package/dist/events.d.ts +13 -6
  469. package/dist/internal/aria-controls.d.ts +16 -13
  470. package/dist/internal/aria-controls.js +1 -1
  471. package/dist/internal/aria-reflection.js +1 -1
  472. package/dist/internal/catalog-picker.d.ts +2 -2
  473. package/dist/internal/catalog-picker.js +1 -1
  474. package/dist/internal/chart-annotation-registration.d.ts +1 -0
  475. package/dist/internal/chart-annotation-registration.js +1 -0
  476. package/dist/internal/data-descriptors.d.ts +13 -0
  477. package/dist/internal/data-descriptors.js +1 -0
  478. package/dist/internal/default-strings.generated.d.ts +1 -1
  479. package/dist/internal/default-strings.generated.js +2 -2
  480. package/dist/internal/dev-mode-attribute-warning.d.ts +3 -0
  481. package/dist/internal/dev-mode-attribute-warning.js +1 -1
  482. package/dist/internal/element-internals.d.ts +4 -3
  483. package/dist/internal/element-internals.js +1 -1
  484. package/dist/internal/form-associated.js +1 -1
  485. package/dist/internal/highlight-collection.d.ts +2 -0
  486. package/dist/internal/highlight-collection.js +1 -1
  487. package/dist/internal/localization-types.d.ts +1 -1
  488. package/dist/internal/localization.js +2 -2
  489. package/dist/internal/lyra-element.d.ts +10 -1
  490. package/dist/internal/lyra-element.js +2 -1
  491. package/dist/internal/native-control-description.d.ts +7 -0
  492. package/dist/internal/native-control-description.js +1 -0
  493. package/dist/internal/option-selection.js +1 -1
  494. package/dist/internal/overlay-order.d.ts +6 -0
  495. package/dist/internal/overlay-order.js +1 -0
  496. package/dist/internal/overlay-stack.d.ts +1 -1
  497. package/dist/internal/overlay-stack.js +1 -1
  498. package/dist/internal/package-metadata.d.ts +1 -1
  499. package/dist/internal/package-metadata.js +1 -1
  500. package/dist/internal/papaparse-loader.js +1 -1
  501. package/dist/internal/positioner.d.ts +5 -4
  502. package/dist/internal/pseudo-localization.js +1 -1
  503. package/dist/internal/reactive-property-writes.d.ts +1 -0
  504. package/dist/internal/reactive-property-writes.js +1 -0
  505. package/dist/internal/safe-css.js +1 -1
  506. package/dist/internal/step-value.d.ts +6 -0
  507. package/dist/internal/step-value.js +1 -0
  508. package/dist/internal/svg-title.d.ts +3 -0
  509. package/dist/internal/svg-title.js +1 -0
  510. package/dist/internal/text-quote.js +1 -1
  511. package/dist/lyra.d.ts +1 -1
  512. package/dist/svelte.d.ts +1 -1
  513. package/dist/translations/ar.js +2 -2
  514. package/dist/translations/de.js +2 -2
  515. package/dist/translations/es.js +2 -2
  516. package/dist/translations/fa.js +2 -2
  517. package/dist/translations/fr.js +2 -2
  518. package/dist/translations/he.js +2 -2
  519. package/dist/translations/ja.js +2 -2
  520. package/dist/translations/pseudo/ar-XB.js +1 -1
  521. package/dist/translations/pt-BR.js +2 -2
  522. package/dist/translations/ru.js +2 -2
  523. package/dist/translations/zh-CN.js +2 -2
  524. package/dist/vue.d.ts +1 -1
  525. package/llms/components/lr-accordion-item.md +10 -5
  526. package/llms/components/lr-accordion.md +10 -5
  527. package/llms/components/lr-activity-feed.md +6 -5
  528. package/llms/components/lr-agent-run.md +1 -1
  529. package/llms/components/lr-agent-trace.md +3 -0
  530. package/llms/components/lr-agent-workspace.md +3 -2
  531. package/llms/components/lr-animation.md +4 -0
  532. package/llms/components/lr-app-rail-item.md +4 -2
  533. package/llms/components/lr-app-rail.md +4 -2
  534. package/llms/components/lr-attachment-chip.md +8 -3
  535. package/llms/components/lr-audio-visualizer.md +9 -6
  536. package/llms/components/lr-av-player.md +14 -0
  537. package/llms/components/lr-avatar.md +4 -0
  538. package/llms/components/lr-bar-chart.md +2 -2
  539. package/llms/components/lr-box-plot.md +15 -6
  540. package/llms/components/lr-bubble-chart.md +2 -2
  541. package/llms/components/lr-button.md +11 -3
  542. package/llms/components/lr-calendar-viewer.md +4 -0
  543. package/llms/components/lr-calendar.md +15 -4
  544. package/llms/components/lr-carousel.md +5 -0
  545. package/llms/components/lr-chart.md +24 -9
  546. package/llms/components/lr-chat-composer.md +2 -1
  547. package/llms/components/lr-chat-message.md +4 -0
  548. package/llms/components/lr-checkbox.md +3 -0
  549. package/llms/components/lr-chip-group.md +3 -0
  550. package/llms/components/lr-chip.md +3 -0
  551. package/llms/components/lr-chunk-inspector.md +2 -2
  552. package/llms/components/lr-code-block-core.md +20 -8
  553. package/llms/components/lr-code-block.md +17 -14
  554. package/llms/components/lr-code-editor.md +20 -5
  555. package/llms/components/lr-color-picker.md +9 -0
  556. package/llms/components/lr-combobox.md +35 -4
  557. package/llms/components/lr-command-palette.md +4 -0
  558. package/llms/components/lr-commit-card.md +3 -0
  559. package/llms/components/lr-compare-panel.md +7 -0
  560. package/llms/components/lr-condition-builder.md +5 -0
  561. package/llms/components/lr-conversation-item.md +3 -0
  562. package/llms/components/lr-copy-button.md +10 -1
  563. package/llms/components/lr-dashboard-grid.md +5 -0
  564. package/llms/components/lr-data-grid.md +22 -3
  565. package/llms/components/lr-dataset-viewer.md +3 -2
  566. package/llms/components/lr-date-input.md +50 -6
  567. package/llms/components/lr-date-picker.md +51 -7
  568. package/llms/components/lr-details.md +10 -5
  569. package/llms/components/lr-dialog.md +4 -0
  570. package/llms/components/lr-diff-view.md +6 -0
  571. package/llms/components/lr-document-compare.md +6 -2
  572. package/llms/components/lr-document-library.md +4 -0
  573. package/llms/components/lr-document-preview.md +18 -4
  574. package/llms/components/lr-document-viewer.md +14 -4
  575. package/llms/components/lr-docx-viewer.md +6 -0
  576. package/llms/components/lr-doughnut-chart.md +2 -2
  577. package/llms/components/lr-dropdown-item.md +4 -0
  578. package/llms/components/lr-dropdown.md +3 -0
  579. package/llms/components/lr-ebook-viewer.md +12 -3
  580. package/llms/components/lr-email-viewer.md +10 -0
  581. package/llms/components/lr-emoji-picker.md +17 -3
  582. package/llms/components/lr-empty.md +3 -0
  583. package/llms/components/lr-entity-card.md +3 -0
  584. package/llms/components/lr-entity-chip.md +4 -0
  585. package/llms/components/lr-eval-dataset.md +2 -2
  586. package/llms/components/lr-export-button.md +9 -0
  587. package/llms/components/lr-file-input.md +12 -8
  588. package/llms/components/lr-file-tree.md +5 -1
  589. package/llms/components/lr-filter-bar.md +5 -0
  590. package/llms/components/lr-flow-canvas.md +8 -1
  591. package/llms/components/lr-flow-node.md +2 -1
  592. package/llms/components/lr-flow-run-status.md +1 -1
  593. package/llms/components/lr-format-date.md +3 -1
  594. package/llms/components/lr-format-number.md +4 -0
  595. package/llms/components/lr-funnel.md +4 -0
  596. package/llms/components/lr-gauge.md +4 -0
  597. package/llms/components/lr-generation-metrics.md +5 -0
  598. package/llms/components/lr-graph-legend.md +4 -2
  599. package/llms/components/lr-graph-query-builder.md +6 -0
  600. package/llms/components/lr-graph.md +8 -2
  601. package/llms/components/lr-grounding-summary.md +8 -8
  602. package/llms/components/lr-heatmap.md +13 -0
  603. package/llms/components/lr-histogram.md +2 -2
  604. package/llms/components/lr-icon-button.md +7 -0
  605. package/llms/components/lr-image-viewer.md +9 -0
  606. package/llms/components/lr-include.md +5 -0
  607. package/llms/components/lr-ingestion-queue.md +5 -1
  608. package/llms/components/lr-input.md +22 -8
  609. package/llms/components/lr-intersection-observer.md +9 -0
  610. package/llms/components/lr-json-viewer.md +10 -1
  611. package/llms/components/lr-kbd.md +3 -0
  612. package/llms/components/lr-knowledge-base.md +10 -1
  613. package/llms/components/lr-knowledge-graph-explorer.md +7 -0
  614. package/llms/components/lr-known-date.md +7 -0
  615. package/llms/components/lr-line-chart.md +2 -2
  616. package/llms/components/lr-lite-chart.md +29 -9
  617. package/llms/components/lr-live-region.md +3 -0
  618. package/llms/components/lr-locale-picker.md +12 -0
  619. package/llms/components/lr-map.md +23 -5
  620. package/llms/components/lr-markdown-core.md +4 -0
  621. package/llms/components/lr-markdown.md +15 -8
  622. package/llms/components/lr-media-card.md +5 -8
  623. package/llms/components/lr-mention-popover.md +17 -10
  624. package/llms/components/lr-menu-item.md +4 -0
  625. package/llms/components/lr-menu-label.md +4 -3
  626. package/llms/components/lr-menu.md +4 -0
  627. package/llms/components/lr-message-actions.md +13 -3
  628. package/llms/components/lr-message-feedback.md +24 -7
  629. package/llms/components/lr-message-parts.md +6 -3
  630. package/llms/components/lr-model-select.md +13 -2
  631. package/llms/components/lr-multi-split.md +20 -7
  632. package/llms/components/lr-mutation-observer.md +8 -0
  633. package/llms/components/lr-native-time-input.md +10 -0
  634. package/llms/components/lr-node-palette.md +8 -2
  635. package/llms/components/lr-notebook-viewer.md +4 -1
  636. package/llms/components/lr-number-input.md +12 -1
  637. package/llms/components/lr-option.md +35 -4
  638. package/llms/components/lr-otp-input.md +10 -0
  639. package/llms/components/lr-pan-zoom.md +1 -2
  640. package/llms/components/lr-phone-input.md +20 -5
  641. package/llms/components/lr-pie-chart.md +2 -2
  642. package/llms/components/lr-polar-area-chart.md +2 -2
  643. package/llms/components/lr-poll-status.md +4 -0
  644. package/llms/components/lr-popover.md +3 -0
  645. package/llms/components/lr-popup.md +3 -2
  646. package/llms/components/lr-prompt-input.md +7 -3
  647. package/llms/components/lr-prompt-queue.md +6 -0
  648. package/llms/components/lr-prompt-studio.md +7 -0
  649. package/llms/components/lr-provenance-panel.md +3 -0
  650. package/llms/components/lr-push-to-talk.md +8 -0
  651. package/llms/components/lr-qr-code.md +6 -0
  652. package/llms/components/lr-radar-chart.md +2 -2
  653. package/llms/components/lr-radio-button.md +13 -4
  654. package/llms/components/lr-radio-group.md +5 -0
  655. package/llms/components/lr-radio.md +9 -0
  656. package/llms/components/lr-rating.md +8 -0
  657. package/llms/components/lr-relative-time.md +2 -0
  658. package/llms/components/lr-reorder-item.md +6 -0
  659. package/llms/components/lr-reorder-list.md +6 -0
  660. package/llms/components/lr-result-card.md +6 -3
  661. package/llms/components/lr-result-field.md +6 -3
  662. package/llms/components/lr-retrieval-results.md +1 -1
  663. package/llms/components/lr-rubric-form.md +12 -0
  664. package/llms/components/lr-scatter-chart.md +2 -2
  665. package/llms/components/lr-scroller.md +5 -5
  666. package/llms/components/lr-select.md +9 -0
  667. package/llms/components/lr-sequence-playback.md +5 -2
  668. package/llms/components/lr-slider.md +19 -5
  669. package/llms/components/lr-source-picker.md +4 -0
  670. package/llms/components/lr-span-waterfall.md +3 -0
  671. package/llms/components/lr-sparkline.md +4 -0
  672. package/llms/components/lr-split-panel.md +4 -0
  673. package/llms/components/lr-stack-trace.md +3 -0
  674. package/llms/components/lr-stat.md +10 -0
  675. package/llms/components/lr-streaming-text.md +2 -3
  676. package/llms/components/lr-subagent-panel.md +3 -2
  677. package/llms/components/lr-svg-viewer.md +3 -0
  678. package/llms/components/lr-swatch-picker.md +4 -0
  679. package/llms/components/lr-switch.md +6 -0
  680. package/llms/components/lr-tab-group.md +4 -0
  681. package/llms/components/lr-table.md +10 -2
  682. package/llms/components/lr-terminal.md +17 -5
  683. package/llms/components/lr-textarea.md +9 -0
  684. package/llms/components/lr-thinking-panel.md +3 -1
  685. package/llms/components/lr-thread-list.md +26 -4
  686. package/llms/components/lr-time-input.md +3 -0
  687. package/llms/components/lr-time-range.md +5 -0
  688. package/llms/components/lr-timeline-item.md +6 -0
  689. package/llms/components/lr-timeline.md +6 -0
  690. package/llms/components/lr-token-input.md +14 -0
  691. package/llms/components/lr-tool-call-chip.md +7 -5
  692. package/llms/components/lr-tool-param-form.md +6 -2
  693. package/llms/components/lr-tool-result-dialog.md +4 -0
  694. package/llms/components/lr-tool-result-view.md +2 -3
  695. package/llms/components/lr-tool-select-dialog.md +6 -2
  696. package/llms/components/lr-tooltip.md +6 -0
  697. package/llms/components/lr-trace-tree.md +3 -0
  698. package/llms/components/lr-transcript-feed.md +3 -0
  699. package/llms/components/lr-tree-item.md +12 -5
  700. package/llms/components/lr-tree.md +12 -5
  701. package/llms/components/lr-typing-indicator.md +3 -0
  702. package/llms/components/lr-usage-badge.md +4 -0
  703. package/llms/components/lr-video.md +8 -2
  704. package/llms/components/lr-virtual-list.md +5 -3
  705. package/llms/components/lr-voice-picker.md +15 -2
  706. package/llms/components/lr-widget-renderer.md +21 -13
  707. package/llms/components/lr-widget.md +4 -2
  708. package/llms/components/lr-word-cloud.md +4 -0
  709. package/llms/components/lr-xml-viewer.md +9 -2
  710. package/llms/components/lr-zoomable-frame.md +6 -3
  711. package/llms/peers.md +5 -5
  712. package/llms/shared.md +74 -63
  713. package/llms-full.txt +4705 -2954
  714. package/package.json +19 -14
  715. package/vscode-css-data.json +1 -1
  716. package/vscode-html-data.json +1 -1
  717. package/web-types.json +1 -1
  718. package/dist/components/viewers/docx-viewer/fixtures/minimal-docx-fixture.d.ts +0 -1
  719. package/dist/components/viewers/docx-viewer/fixtures/minimal-docx-fixture.js +0 -1
  720. package/dist/components/viewers/ebook-viewer/fixtures/minimal-epub-fixture.d.ts +0 -1
  721. package/dist/components/viewers/ebook-viewer/fixtures/minimal-epub-fixture.js +0 -1
  722. package/dist/components/viewers/spreadsheet-viewer/fixtures/minimal-xlsx-fixture.d.ts +0 -1
  723. package/dist/components/viewers/spreadsheet-viewer/fixtures/minimal-xlsx-fixture.js +0 -1
@@ -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** 38 parts, 30 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
+ - **Themeable via** 38 parts, 32 custom properties — see this component's own `@csspart`/`@cssprop` list below
13
13
  - **Documented with** `lr-date-input` (same section below)
14
14
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
15
15
 
@@ -21,8 +21,37 @@ Mirrors the `<wa-date-picker>`/`<wa-date-input>` 3.11 public API under `lr-`. Bo
21
21
  components are **experimental since 3.8**. Values use ISO 8601: `YYYY-MM-DD` (single) or
22
22
  `YYYY-MM-DD/YYYY-MM-DD` (range).
23
23
 
24
- The ISO model is proleptic Gregorian in every locale, including years `0000`–`0099` (no JavaScript
25
- `Date` 1900 remap). Month/day names and visible day/week digits follow the effective locale while
24
+ For `lr-date-input`, host `aria-describedby` targets resolve in the host's root and describe the
25
+ native combobox input through element references, before its existing error and hint descriptions.
26
+ Replacement, removal, reinsertion, newly resolved IDs, reconnect, and adoption update those
27
+ relationships. Removing `label`, `hint`, or `error-text` safely omits that copy while preserving
28
+ `null` property readback; later supplied values render normally.
29
+
30
+ `lr-date-input`'s `clearLabel`, `openLabel`, and `dialogLabel` retain their initial defaults (`''`,
31
+ `''`, and `'Choose date'`). Omitted labels localize; explicitly supplied text, built-in English
32
+ labels, and empty strings win over `.strings`. Attribute removal restores localization while
33
+ preserving `null` readback. The composed calendar applies the same range endpoint and
34
+ inclusive-length admission rules as the standalone picker.
35
+
36
+ An authored host `aria-label` names an enclosing calendar group. Individual month and selection
37
+ grids retain their distinct generated period names; changing or removing the purpose label updates
38
+ the group without changing a caller-authored host role. Removing the `value` attribute renders an
39
+ empty selection safely while preserving `null` readback; a subsequent valid value works normally.
40
+
41
+ Live constraints repair roving state without moving focus from an unrelated control. If a focused
42
+ cell becomes unavailable, focus recovers onto an enabled cell. Explicit distant bounds seed the
43
+ bounded automatic search within the permitted domain; a genuinely empty domain has no enabled roving
44
+ stop. Selected day and range-endpoint buttons retain their foreground/background pairing during
45
+ hover and press; author state-token overrides remain available. Month/year/decade state buttons
46
+ retain the common typography, padding, border reset, and minimum action size.
47
+
48
+ The `calendar-core.ts` helper `formatISO()` returns an empty string for invalid dates or years
49
+ outside `0000`–`9999`, so generated ISO anchors never advertise an unsupported signed or five-digit
50
+ year.
51
+
52
+ The ISO model is proleptic Gregorian in every locale and supports years `0000`–`9999`, including
53
+ `0000`–`0099` without JavaScript's `Date` 1900 remap. Navigation anchors remain within that domain;
54
+ moving past either boundary leaves a valid roving stop and does not change the selected value. Month/day names and visible day/week digits follow the effective locale while
26
55
  formatters explicitly select the Gregorian calendar. `lr-date-input` uses locale `formatRange()`
27
56
  for range presentation and normalizes locale digits plus bidi marks before parsing, so its own
28
57
  Arabic/Persian display round-trips to the same ISO value.
@@ -50,12 +79,20 @@ Inline month-grid calendar, not form-associated (used standalone or embedded ins
50
79
  tell them apart. A reversed preset normalizes; a malformed one is ignored rather than clearing the
51
80
  current value, so a bad entry in a config-driven list never reads as "the user picked nothing".
52
81
  Non-array runtime assignments normalize to the empty collection, and null/non-object entries in
53
- an otherwise valid array are omitted from the rendered row rather than aborting the calendar.
82
+ an otherwise valid array are omitted from the rendered row rather than aborting the calendar. Empty and
83
+ whitespace-only labels are also omitted, preserving named siblings. Explicit endpoints clamp to
84
+ `min`/`max` before admission. Both endpoints must be selectable, and the inclusive length must
85
+ satisfy `minRange`/`maxRange`; invalid outcomes render disabled and do not emit value events.
86
+ Interior dates need not all be enabled. A same-day manual completion obeys those same inclusive
87
+ length limits. Long preset labels wrap in narrow allocations, including unbroken text and RTL.
54
88
  The active button carries `aria-pressed="true"` and `data-active`. Deliberately the same
55
89
  `label`/`start`/`end` shape as `<lr-time-range>`'s `TimeRangePreset`, so the library has one
56
90
  preset vocabulary rather than two — the only difference is the unit (ISO dates, not numbers)
57
91
  - `appliedPreset: LyraDateRangePreset | undefined` (read-only, new in 11.1.0) — the preset whose
58
- button produced the current `value`, or `undefined` when the range was picked by hand. Read it
92
+ button produced the current `value`, or `undefined` when the range was picked by hand, cleared, or changed externally.
93
+ `clear()` removes identity before synchronous `input`/`change` listeners run; an external value
94
+ change removes identity silently. An accepted preset retains its exact caller-owned source
95
+ identity through its own update. Read it
59
96
  inside your own `change`/`input` handler. It exists because a dashboard filter has to persist
60
97
  *which* preset is active rather than the pair it froze to: "Last 7 days" must still mean the last
61
98
  7 days after tomorrow's reload. That fact is not recoverable from `value` — re-deriving it by
@@ -91,8 +128,11 @@ Inline month-grid calendar, not form-associated (used standalone or embedded ins
91
128
  - `weekdayFormat: 'narrow'|'short'|'long' = 'short'` (attribute `weekday-format`, reflected)
92
129
  - `withOutsideDays: boolean = false` and `withWeekNumbers: boolean = false` (reflected)
93
130
 
94
- Lyra retains the additive `previousLabel`/`nextLabel` localized accessible-label overrides and
95
- the `selection` range getter.
131
+ Lyra retains the additive `previousLabel`/`nextLabel` accessible-label overrides and the `selection`
132
+ range getter. Their initial readback remains `'Previous month'` and `'Next month'`; omitted labels
133
+ localize, while explicit text, the built-in English labels, and empty strings win over locale and
134
+ `.strings` copy. Removing either label attribute restores localized omission while preserving
135
+ `null` property readback.
96
136
 
97
137
  **Methods:** `clear()`, `focus(options?)`, `goToToday()`, and
98
138
  `goToDate(date: string | Date)`. Valid navigation dates are clamped to `min`/`max`; invalid values
@@ -388,6 +428,10 @@ and `dateTimeFormat(locale, options)`.
388
428
  currently-selected paint for a `presets` quick-range button. Defaults are
389
429
  `var(--lr-color-brand-quiet)`, that hover colour mixed by `--lr-color-mix-active`, and
390
430
  `var(--lr-color-brand)` respectively.
431
+ - `--lr-date-picker-preset-selected-border` (default `var(--lr-color-brand)`) and
432
+ `--lr-date-picker-preset-selected-color` (default `var(--lr-color-on-brand)`) independently
433
+ theme a selected preset's border and foreground; the selected background token controls only its
434
+ background.
391
435
  - `--lr-date-picker-title-hover-color`, `--lr-date-picker-title-active-color`,
392
436
  `--lr-date-picker-title-active-bg`, and `--lr-date-picker-title-active-radius` — Month-title
393
437
  hover/press paint and pressed shape; defaults to brand, brand, brand-quiet, and
@@ -24,6 +24,10 @@ and animated panel. The two components intentionally keep distinct vocabularies:
24
24
  use `expanded`, `label`, and `expand()`/`collapse()`/`toggle()`, while `open`, `summary`, and
25
25
  `show()`/`hide()` belong only to Details.
26
26
 
27
+ `lr-toggle` reports the direction and source of an accepted Details transition. Accordion
28
+ coordinates only its direct `lr-accordion-item` children; Details retains independent state and
29
+ optional grouping through a shared non-empty `name`.
30
+
27
31
  **Breaking in 9.0.0:** an accordion coordinates direct `lr-accordion-item` children only. Direct
28
32
  `lr-details` panels used to be accepted as well; they are not any more. A `lr-details` slotted into
29
33
  an accordion today is ordinary content owning its own disclosure lifecycle — the group applies
@@ -141,16 +145,17 @@ from assistive technology: do not place independent links, buttons, inputs, form
141
145
  targets there. The accordion-item `icon` slot follows the same flattened-tree inert and aria-hidden
142
146
  visual contract, while the trigger button remains the sole action. Details has `summary`,
143
147
  `header-actions`, `expand-icon`, `collapse-icon`, plus default content. `header-actions` renders
144
- extra controls (e.g. a trailing "add" button) inside the `<summary>` header row the one subtree a
145
- native `<details>` keeps out of its generated content box — so they stay rendered, visible, and
146
- hit-testable while the panel is collapsed. Activating one never toggles the panel: a click whose
148
+ extra controls (e.g. a trailing "add" button) as a sibling of the private native `<details>` in the
149
+ complete header row, so they stay rendered, visible, and hit-testable while the panel is collapsed
150
+ or disabled. Activating one never toggles the panel: a click whose
147
151
  composed path crosses `[part~="header-actions"]` is exempted from disclosure activation. Its wrapper
148
152
  is hidden and reclaims layout space whenever the slot is empty.
149
153
 
150
154
  **CSS parts:** accordion exposes `base`. Accordion item exposes `base` and `accordion-item` on the
151
155
  same outer wrapper, plus `heading`, `button`, `label`, `icon`, `panel`, and `content`. Details
152
- exposes `base` and `details` on the same native `<details>` wrapper, plus `header`, `summary`,
153
- `icon`, `header-actions`, and `content`.
156
+ exposes `base` and `details` on the same outer container, plus `header`, `summary`, `icon`,
157
+ `header-actions`, and `content`. The native `<details>` is private; `content` is inside its
158
+ findable `hidden="until-found"` closed-state gate.
154
159
  The Details icon wrapper also carries Shoelace's `summary-icon` alias, so either part name styles
155
160
  the same node. `header-actions` is the wrapper around the `header-actions` slot.
156
161
 
@@ -18,6 +18,10 @@
18
18
 
19
19
  General-purpose modal/overlay plus a promise-based confirmation helper built on top of it.
20
20
 
21
+ Removing `label` safely omits its fallback title. Open dialog and drawer names follow supported name
22
+ and exclusion attribute changes on direct unslotted headings, while host naming retains precedence;
23
+ nested and `slot=""` headings remain outside automatic discovery.
24
+
21
25
  ### `lr-dialog`
22
26
 
23
27
  A modal/overlay: `role="dialog"`, focus-trapped while open, dismissible via Escape or (opt-in) a
@@ -48,6 +48,12 @@ First-party invention (no Web Awesome equivalent).
48
48
  highlighting the diff. `Infinity` relaxes this line-count ceiling, but the fixed aggregate
49
49
  character and comparison-work ceilings remain in force.
50
50
 
51
+ Grammar entries are read from own enumerable data fields into a bounded frozen map. A getter,
52
+ unreadable field, non-enumerable field, or malformed proxy branch is skipped without preventing a
53
+ later valid grammar from being used; grammar values themselves remain opaque to the component.
54
+ Non-enumerable names do not consume language slots, but every inspected name counts toward the
55
+ 20,000 structural ceiling.
56
+
51
57
  **Events:**
52
58
 
53
59
  - `lr-copy` (`detail: LyraClipboardWriteSuccess`, `{ ok: true; text: string }`) — the frozen full
@@ -28,7 +28,10 @@ is absent, it uses the localized comparison label. Dynamic host-label changes up
28
28
  - `oldVersion?: DocumentCompareVersion`, `newVersion?: DocumentCompareVersion` (attribute: false) —
29
29
  the before/after inputs. `DocumentCompareVersion` extends `DocumentRef`
30
30
  (`id`, `name`, `mimeType?`, `uri?`, `version?`) with `text?: string` for diff mode and
31
- `highlights?: LyraHighlight[]` for its own preview pane.
31
+ `highlights?: LyraHighlight[]` for its own preview pane. Each assignment becomes a frozen
32
+ snapshot: own string `id` and `name` are required or that pane is unset; valid string optional
33
+ fields are retained and other values are omitted. Its highlights use the shared snapshot too, so
34
+ mutation requires reassignment.
32
35
  - `view: 'diff' | 'side-by-side' = 'diff'` (reflected) — one inline text diff or two rendered
33
36
  preview panes. Invalid property or attribute values normalize to `diff` and repair the reflected
34
37
  attribute.
@@ -37,7 +40,8 @@ is absent, it uses the localized comparison label. Dynamic host-label changes up
37
40
  repair the reflected attribute.
38
41
  - `copyable: boolean = false` — forwards the diff copy action.
39
42
  - `language: string = ''`, `languages?: Record<string, ShikiLanguageInput>` (the latter
40
- attribute: false) — optional syntax highlighting forwarded to the diff.
43
+ attribute: false) — optional syntax highlighting forwarded to the diff. A runtime non-string
44
+ `language` is treated as `''` without coercion.
41
45
  - `syncScroll: boolean = true` (attribute `sync-scroll`) — proportionally mirrors either
42
46
  side-by-side pane's scroll fraction to the other. The true-default converter accepts the literal
43
47
  `sync-scroll="false"`.
@@ -20,6 +20,10 @@ Controlled searchable and filterable document inventory with versions, tags, own
20
20
  sorting, and bulk selection. It composes the table's bounded 100-row default, so a large document
21
21
  collection stays reachable through pagination without mounting an unbounded grid.
22
22
 
23
+ Own `tags: undefined` is treated like omitted tags; malformed tag arrays and entries remain invalid.
24
+ Removing `search-term` clears search filtering without rewriting its `null` property readback; an
25
+ explicitly empty query also clears filtering and a later query applies normally.
26
+
23
27
  **9.0 migration:** `lr-filter-change.detail.text` is now `searchTerm`, backed by the public
24
28
  `searchTerm`/`search-term` axis. Replace `sortDirection: 'ascending'|'descending'` with
25
29
  `sortDir: 'asc'|'desc'`; document sorting now uses the same cancelable `lr-sort-request` followed
@@ -9,7 +9,7 @@
9
9
  - **Release history** [CHANGELOG.md](../../CHANGELOG.md)
10
10
  - **Deprecations** none
11
11
  - **Optional peers** none
12
- - **Themeable via** 18 parts, 10 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
+ - **Themeable via** 18 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
  ---
@@ -20,6 +20,9 @@ A format-dispatching viewer for one document/attachment, plus the visual state m
20
20
  server-side conversion a host app runs in front of it. First-party invention (no Web Awesome
21
21
  equivalent).
22
22
 
23
+ Fitting images remain centered; overflowing nonzoomable images begin inside the reachable body
24
+ scroll range, so their top and bottom are available.
25
+
23
26
  Format dispatch is intentionally minimal: only `text/*`/`application/json` (a plain, scrollable
24
27
  `<pre>` — no syntax highlighting; compose `<lr-code-block>` yourself via the `unsupported` slot for
25
28
  that) and `image/*` (a contained `<img>`) render inline. Everything else — PDF, office documents,
@@ -55,7 +58,10 @@ image path — and the generic fallback simply omits `[part="download-link"]` en
55
58
  still in progress. Validated per-sink before use — see the URL-safety note above; an unsafe/
56
59
  malformed value is treated as if `src` were unusable for that sink, never passed to `fetch()`/
57
60
  `<img>`/the anchor.
58
- - `mimeType: string = ''` (attribute `mime-type`) — drives format dispatch (see above).
61
+ - `mimeType: string = ''` (attribute `mime-type`) — drives format dispatch using the case-insensitive
62
+ MIME essence before parameters. For example, `application/json; charset=utf-8` renders as text.
63
+ Attribute removal retains `null` readback and is interpreted as an absent format by the renderer;
64
+ an explicitly empty attribute remains empty, and later valid values restore dispatch.
59
65
  - `filename: string = ''` — shown in the header and used as the download link's suggested filename.
60
66
  - `alt?: string` — image description. When omitted, the filename/localized image-preview fallback
61
67
  is used; an explicit empty string keeps a decorative preview's `alt=""` intact.
@@ -82,7 +88,11 @@ image path — and the generic fallback simply omits `[part="download-link"]` en
82
88
  - `highlights: readonly LyraHighlight[] = []` (attribute: false) — display-only `region` highlights painted
83
89
  over the image-format preview; ignored for the `text`/`generic` formats. IDs are trimmed and
84
90
  required to be nonempty, with the first record retained when IDs repeat. A rectangle renders only
85
- when `x`/`y`/`width`/`height` are finite numbers and both dimensions are nonnegative.
91
+ when `x`/`y`/`width`/`height` are finite numbers and both dimensions are nonnegative. Image-region
92
+ geometry is captured when `highlights` is assigned: an invalid or accessor-backed `region` anchor
93
+ is ignored, and mutating an accepted anchor later does not move its painted region. Reassign
94
+ `highlights` to update it; the original public anchor identity remains available for
95
+ reference-based `scrollToAnchor()`.
86
96
  - `activeHighlightId: string | null = null` (attribute `active-highlight-id`) — the `highlights`
87
97
  entry, if any, currently treated as active (`data-active` on its `region-highlight`).
88
98
  - `anchorKinds: readonly LyraAnchor['kind'][] = ['region']` (this viewer's supported
@@ -144,7 +154,11 @@ every other element that read them. The tone-specific resting border and hover t
144
154
  `--lr-document-preview-highlight-accent-color`, `--lr-document-preview-highlight-success-color`,
145
155
  `--lr-document-preview-highlight-warning-color`, `--lr-document-preview-highlight-danger-color`,
146
156
  and `--lr-document-preview-highlight-neutral-color` (defaulting respectively to the matching
147
- brand/success/warning/danger/neutral color tokens). Plus shared tokens
157
+ brand/success/warning/danger/neutral color tokens). `--lr-document-preview-download-link-hover-bg`
158
+ defaults to `color-mix(in oklab, var(--lr-color-brand), var(--lr-color-mix-partner)
159
+ var(--lr-color-mix-hover))`; `--lr-document-preview-download-link-active-bg` uses the same mix with
160
+ `var(--lr-color-mix-active)`, styling the native download action's hover and pressed backgrounds.
161
+ Plus shared tokens
148
162
  `--lr-color-border`, `--lr-radius`, `--lr-color-surface`, `--lr-space-s/-m/-l/-xs`,
149
163
  `--lr-color-text`, `--lr-color-text-quiet`, `--lr-color-danger`, `--lr-color-brand`,
150
164
  `--lr-color-on-brand`, `--lr-focus-ring-width/-color/-offset`, `--lr-transition-fast`.
@@ -9,7 +9,7 @@
9
9
  - **Release history** [CHANGELOG.md](../../CHANGELOG.md)
10
10
  - **Deprecations** none
11
11
  - **Optional peers** none
12
- - **Themeable via** 2 parts, 1 custom property — see this component's own `@csspart`/`@cssprop` list below
12
+ - **Themeable via** 2 parts, 3 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
  ---
@@ -20,6 +20,11 @@ A dialog-hosted, format-dispatching full viewer for one document or attachment.
20
20
  renderer registry and falls back to `<lr-document-preview>` when no renderer matches the file's MIME
21
21
  type. First-party invention.
22
22
 
23
+ MIME matching uses the case-insensitive essence before parameters and ignores outer whitespace. An
24
+ extensionless `application/*+xml` file selects the XML renderer when it is registered, including a
25
+ value such as ` APPLICATION/ATOM+XML ; charset=utf-8 `. Exact registry keys retain precedence,
26
+ filename extensions remain a fallback, and the renderer receives the original MIME value.
27
+
23
28
  A host `aria-label` names the nested dialog by attribute presence, including an explicitly empty
24
29
  value, without suppressing the visible `name` heading.
25
30
 
@@ -35,9 +40,10 @@ value, without suppressing the visible `name` heading.
35
40
  anchors/highlights, and download; the scalar `name`, `mimeType`, `src`, `anchor`, `highlights`,
36
41
  and `alt` properties resume their legacy behavior when `payload` is reset to `undefined`.
37
42
  - `registry?: DocumentRendererRegistry` (attribute: false) — optional per-instance registry
38
- override. A native map assignment is copied behind a frozen readonly facade; definition records
39
- are cloned and frozen while callback identities are retained. Later source-map or definition
40
- mutation is not observed. When unset, the
43
+ override. Assign either a native map or the result of `createDocumentRendererRegistry()`; both
44
+ use the same bounded snapshot behind a frozen readonly facade. Definition records are cloned and
45
+ frozen while callback identities are retained. Later source-map or definition mutation is not
46
+ observed. Reassigning the same source or retained snapshot leaves the snapshot unchanged. When unset, the
41
47
  instance owns an immutable snapshot of the built-ins registered when it was constructed. A later
42
48
  module import/registration cannot mutate an existing viewer. A throwing consumer matcher or
43
49
  renderer is contained as the localized error state rather than escaping the update.
@@ -79,6 +85,10 @@ polite and assertive sinks, respectively;
79
85
 
80
86
  **Themeable custom properties:** `--lr-document-viewer-max-height` (default `70vh`) — maximum block
81
87
  size of `[part="body"]` before the dialog body scrolls internally.
88
+ `--lr-document-viewer-download-link-hover-bg` defaults to `color-mix(in oklab,
89
+ var(--lr-color-brand), var(--lr-color-mix-partner) var(--lr-color-mix-hover))`, and
90
+ `--lr-document-viewer-download-link-active-bg` uses `var(--lr-color-mix-active)` in that same mix
91
+ for the native download action's hover and pressed backgrounds.
82
92
 
83
93
  **Renderer registry exports:**
84
94
 
@@ -68,6 +68,12 @@ resolved keyboard action was activated.
68
68
  content. `lr-anchor-result` (`detail: { found }`) — fired after an `anchor` assignment or a
69
69
  `scrollToAnchor()` call.
70
70
 
71
+ Mammoth's conversion result is usable only when it has own-data `value: string` and an own-data
72
+ `messages` array; an unusable primary result is terminal. From a usable result, the first 100
73
+ message positions are considered, malformed entries are omitted, and valid opaque causes are
74
+ retained in their diagnostics. Sanitized document content remains visible while those non-fatal
75
+ diagnostics are emitted.
76
+
71
77
  **CSS parts:** `base`, `body`, `content`, `spinner`, `error`, `highlight` (a painted `text-quote`
72
78
  highlight), `highlight-actions` (keyboard-accessible actions for resolved highlights),
73
79
  `highlight-action` (one native highlight activation button), `search-match` (a painted in-document
@@ -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-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`,
@@ -22,6 +22,10 @@ The inline semantic menu mapped from Shoelace's `sl-menu`, plus its action-row e
22
22
  wrapping keyboard navigation, type-ahead, and one canonical selection event. It deliberately has no
23
23
  trigger, positioned popup, root open state, placement API, or overlay lifecycle.
24
24
 
25
+ Removing or disabling the remembered active item repairs the roving stop without taking focus from
26
+ outside controls or the menu's header/footer. If the changed item held actual focus, focus moves to
27
+ a valid survivor or through the existing owner dismissal path when none remain.
28
+
25
29
  For a menu button or other anchored overlay, compose the semantic controller inside
26
30
  `<lr-dropdown>`:
27
31
 
@@ -25,6 +25,9 @@ consumer-supplied `lr-menu` in the default slot becomes that contained engine in
25
25
  wrapped in another menu. This supports both Web Awesome's direct-item shape and Shoelace's
26
26
  consumer-menu shape.
27
27
 
28
+ An open lr-dropdown repositions when its effective host or inherited text direction changes,
29
+ preserving open state without emitting lifecycle events.
30
+
28
31
  **Direct mapped items.** `<lr-dropdown-item>` is the Web Awesome-compatible name for the same row
29
32
  implementation as `<lr-menu-item>`. Direct mapped items receive this dropdown's `size` and use its
30
33
  contained roving-focus, type-ahead, disabled-skipping, selection, and submenu controller; a
@@ -18,7 +18,13 @@
18
18
 
19
19
  Renders EPUB ebooks through the optional `epubjs` peer. `src` is fetched as an `ArrayBuffer`, and
20
20
  epub.js renders the reading area into its stable `mount` element, using an internal iframe for
21
- chapter content.
21
+ chapter content. A usable book exposes `ready`, `renderTo()`, and `destroy()`, and its rendition
22
+ exposes `display()`, `prev()`, `next()`, `on()`, and `annotations.highlight()`/`remove()`; an absent
23
+ required capability is terminal. Navigation and spine data are optional.
24
+
25
+ Genuine native `Selection`/`Range` objects from the current chapter iframe are accepted through
26
+ platform accessors, including across document realms. Arbitrary peer-owned accessors remain
27
+ uninvoked, and callbacks from replaced or disconnected books cannot emit stale selections.
22
28
 
23
29
  **Properties:** `src: string = ''` and `name: string = ''`. A plain `aria-label` attribute on the
24
30
  host overrides the reading region's accessible name — by attribute presence, so an explicitly empty
@@ -39,14 +45,17 @@ viewer's supported `LyraAnchor.kind` values for the shared anchor-target contrac
39
45
  **Methods:** `getToc()` resolves the EPUB's own navigation document (`book.navigation.toc`,
40
46
  populated once `book.ready` resolves) flattened into document-ordered `EbookTocItem[]` (`{ id,
41
47
  label, href, level }`, `level` starting at 1 for a top-level entry, `id` falling back to `href`
42
- when a navigation entry has none), `[]` before a book has loaded. `search(query)` resolves the
48
+ when a navigation entry has none), `[]` before a book has loaded or when navigation is absent. TOC
49
+ projection examines at most 10,000 positions, nodes, and depth 100; malformed entries are skipped
50
+ without preventing later valid entries. `search(query)` resolves the
43
51
  match count across every spine section, in document order, via epub.js's own `item.load()`/
44
52
  `item.find()`/`item.unload()` (empty/whitespace query behaves like `clearSearch()`; a newer
45
53
  `search()` call or a `src` change aborts an in-flight scan; peer output is capped at 10,000
46
54
  matches after at most 1,000 spine items and 4,000,000 result code units; queries are capped at 4,096
47
55
  code units); `searchNext()`/`searchPrevious()`
48
56
  advance/step back through matches (wrapping, resolving `false` when there are none); `clearSearch()`
49
- clears the query, matches, and painted search annotation.
57
+ clears the query, matches, and painted search annotation. `matchCountExact: false` also reports
58
+ malformed or holey spine/find data and failed section load/unload work, not only a search ceiling.
50
59
 
51
60
  **Events:** `lr-render-error` with `detail.error` when fetching, opening, or rendering fails;
52
61
  `lr-location-change` (`detail: { cfi, href }`) fired from epub.js's own `relocated` event;
@@ -29,6 +29,16 @@ An attachment with no filename uses the localized `emailViewerUnnamedAttachment`
29
29
  `lr-attachment-open` detail. The fallback resolves while rendering, so changing the locale or
30
30
  per-instance `strings` after the message loads updates it without reparsing the message.
31
31
 
32
+ When `foldQuotes` is enabled, `search(query)` reveals matching supported plain-text and HTML quoted
33
+ replies before navigating. Reveal uses the shared text index's Unicode normalization, whitespace
34
+ collapse, soft-hyphen removal, locale matching, and query/work bounds, so padded or normalized
35
+ queries reveal the same quote as ordinary matching text. Folding remains opt-in.
36
+
37
+ Parser output is admitted through a bounded direct-data projection: malformed optional fields,
38
+ recipients, and attachment entries are omitted without discarding later valid siblings. Accepted
39
+ string, `Uint8Array`, and `ArrayBuffer` attachment bytes are copied before use, and every
40
+ `lr-attachment-open` creates a fresh Blob, so later source mutation cannot change event bytes.
41
+
32
42
  Sanitized HTML uses the passive-document profile: anchors, form controls, and custom elements are
33
43
  unwrapped to ordinary text/children where safe, remote navigation/resource attributes are removed,
34
44
  and an `<a>` itself never remains. Images render only inline base64 GIF, JPEG, PNG, or WebP data;
@@ -24,6 +24,17 @@ supplied (an explicit empty array still counts as supplied and skips the auto-lo
24
24
  When the filtered set reaches 200 items, the grid automatically windows its visible rows while
25
25
  preserving the full option count through `aria-setsize`/`aria-posinset`.
26
26
 
27
+ Removing `label`, `hint`, or `error-text` treats the removed value as absent for rendering while
28
+ preserving native attribute-removal property readback. Host `aria-describedby` references resolve in
29
+ the host root onto the value-owning listbox before its local error/hint guidance. Target
30
+ replacement, removal, reinsertion, reconnect, and adoption keep that relationship current. The
31
+ search input keeps its separate description ownership.
32
+
33
+ `form.reset()` restores the default value and pristine interaction feedback. Required constraints
34
+ and persistent custom validity remain in force; a required-empty value remains invalid. Composing
35
+ key events (`isComposing` or legacy key code 229) remain with text editing and do not navigate or
36
+ pick an emoji.
37
+
27
38
  Ships the same opt-in `label`/`hint`/`errorText` form-control chrome as `lr-select`/
28
39
  `lr-color-picker` (props + matching named slots + `form-control`/`form-control-label`/`hint`/
29
40
  `error` CSS parts) — left unset, none of that chrome renders.
@@ -35,11 +46,14 @@ can override size-tier fallbacks; a value set directly on the element still wins
35
46
  (`custom-error`), `disabled`, and `required`, plus
36
47
  `groups: readonly EmojiPickerGroup[] = []` (attribute: false) — readonly `EmojiPickerGroup { key,
37
48
  label, emojis: readonly EmojiPickerItem[] }`, readonly `EmojiPickerItem { emoji, name,
38
- shortcodes? }`; assignment captures a bounded frozen owned snapshot. The search field matches
49
+ shortcodes? }`; assignment captures a bounded frozen owned snapshot, including the current contents
50
+ of reused source item objects. Earlier snapshots remain frozen and unchanged; in-place source edits
51
+ become visible only after an explicit `groups` assignment. The search field matches
39
52
  `name` and every `shortcodes` entry, case-insensitively. Consumer group labels render verbatim.
40
53
  Groups returned by the built-in loader carry private provenance, letting their fixed emojibase
41
- headings follow `registerLyraLocale()`/`.strings` without exposing localization keys as consumer
42
- data. Empty (the default, before the auto-loader
54
+ headings follow `registerLyraLocale()`/`.strings` through filtering and windowed rendering, including
55
+ same-locale `.strings` changes, without exposing localization keys as consumer data. Caller-authored
56
+ headings remain literal even when their keys match built-in groups. Empty (the default, before the auto-loader
43
57
  resolves) renders just the search input and the empty state. `accessibleLabel` (`aria-label`)
44
58
  forwards a host-supplied accessible name to the internal `role="listbox"` grid. Only omission falls
45
59
  back to the visible label or localized default; an explicit `aria-label=""` remains empty.
@@ -18,6 +18,9 @@
18
18
 
19
19
  First-party "no data" state (no Web Awesome equivalent).
20
20
 
21
+ Removing `heading` or `description` safely omits that text; explicit empty values remain empty and
22
+ later values restore the corresponding content.
23
+
21
24
  **Properties:**
22
25
 
23
26
  - `heading: string = ''`
@@ -21,6 +21,9 @@ degree, community chip, plus a built-in "focus in graph" action. Never fetches o
21
21
  itself — `lr-entity-select` is a request a host routes into `lr-graph`'s own
22
22
  `focusNode(id, options?)`.
23
23
 
24
+ The host `aria-level` attribute overrides the internal title heading live. Changing or removing it
25
+ updates that heading without another property change; omission or an empty override uses level 3.
26
+
24
27
  **Properties:**
25
28
 
26
29
  - `entity: LyraEntity | null = null` (attribute: false) — `LyraEntity { id: string; label: string;
@@ -20,6 +20,10 @@ An inline `@entity` mention for agent prose: flow content, keyboard-focusable, w
20
20
  preview popover. The knowledge-graph sibling of `lr-citation-badge`, reusing its interaction
21
21
  contract wholesale. Carries ids through events only — no entity data resolution, no navigation.
22
22
 
23
+ Removing `text` or `type` leaves the property readback as `null` and treats it as absent when
24
+ deriving the button name. Explicit empty strings stay empty, and later valid values restore the
25
+ corresponding label/type text.
26
+
23
27
  **Properties:**
24
28
 
25
29
  - `entityId: string = ''` (attribute `entity-id`)
@@ -22,8 +22,8 @@ Filterable and taggable evaluation-example list with add, remove, import, and ex
22
22
 
23
23
  - `examples: readonly EvalExample[] = []` (attribute: false) — `EvalExample { id: string; input: string;
24
24
  expectedOutput?: string; tags?: readonly string[]; metadata?: Record<string, unknown> }` (exported here).
25
- Deliberately its own small shape rather than reusing anything from `src/ai/types.ts` none of that
26
- module's interfaces models "one row of a labeled eval dataset". `input`/`expectedOutput` are plain
25
+ It is a dedicated dataset-row shape; no shared agent type models a labeled evaluation row.
26
+ `input`/`expectedOutput` are plain
27
27
  strings (not structured payloads), rendered as plain text by every column's `cell()`. Fully
28
28
  controlled: add/remove/import/export are all _requests_; the host mutates and passes the array
29
29
  back. Empty/blank ids and later duplicate ids are omitted before selection, filtering, mutation requests, and the
@@ -123,6 +123,15 @@ downloadBlob(content: string, filename: string, mime: string, ownerDocument?: Do
123
123
 
124
124
  **Known gotchas:**
125
125
 
126
+ - Format options are read from their direct data fields into a frozen list. Accessor-backed, missing,
127
+ malformed, or throwing descriptor fields are ignored rather than evaluated; later menu rendering
128
+ and `lr-export` events use that snapshot. The snapshot includes only direct `formatId`, `label`,
129
+ `description`, and `extension` fields; accepted records are frozen and never reread from the
130
+ caller. An open multi-format menu is a non-modal overlay owned by the element's
131
+ current document: only its topmost menu handles that document's Escape, outside pointer, or Tab.
132
+ It rebinds after document adoption; Escape or a selected export returns focus to its own trigger,
133
+ while a Tab close permits normal document navigation. Placement uses the current trigger and panel
134
+ geometry and remains clamped to the current document's viewport.
126
135
  - CSV and JSON are the only built-in encoders. To offer XLSX/PDF/etc., pass an
127
136
  `LyraExportFormatDescriptor` and handle its `formatId` from `lr-export`; custom formats never trigger a
128
137
  download or `lr-export-complete` on their own. A descriptor's optional `extension` is metadata
@@ -20,6 +20,13 @@
20
20
  A form-associated drag-drop + click-to-browse file dropzone. It stores and renders raw `File[]`;
21
21
  no client-side CSV/XLSX/etc. parsing is performed (that's left entirely to the host).
22
22
 
23
+ Removing `label` or `hint` consumes it as absent without changing the property's `null` readback. An
24
+ explicit empty string remains empty. Text chrome and label/description associations disappear when
25
+ no corresponding slot or explicit presence hint remains, and a later value restores them. Removing
26
+ the label leaves the localized dropzone instruction available. Disabled file removal buttons,
27
+ including fieldset disablement, retain resting foreground and background under hover and press;
28
+ enabled buttons retain pointer feedback.
29
+
23
30
  **Properties:**
24
31
 
25
32
  - `multiple: boolean = false` (reflected)
@@ -108,10 +115,8 @@ no client-side CSV/XLSX/etc. parsing is performed (that's left entirely to the h
108
115
  `resetValidity()`; reset clears only consumer custom validity and restores current intrinsic
109
116
  `required` validity.
110
117
 
111
- **Events:** a user selection or removal emits native bubbling/composed `input`, then `change`;
112
- programmatic `files` writes are silent. The hidden native picker's own `change` is contained inside
113
- the shadow root, so a picker selection exposes exactly one post-commit host `change`, not the
114
- implementation event plus a duplicate. `lr-files` (`detail: LyraFileInputFilesDetail`, with fresh
118
+ **Events:** a user selection or removal emits native bubbling/composed `input`, then exactly one
119
+ host `change`; programmatic `files` writes are silent. `lr-files` (`detail: LyraFileInputFilesDetail`, with fresh
115
120
  frozen readonly `files` and `rejected` arrays and frozen rejected-file records, fired on both drop
116
121
  and manual file-picker selection; immutable `File` objects retain identity) —
117
122
  `LyraFileInputRejectedFile = { readonly file: File; readonly reason: 'type' | 'count' | 'size' | 'directory' | 'read' | 'limit'
@@ -172,10 +177,9 @@ What this changes for you:
172
177
  - **Nothing about what the visible text says or where it renders.** `[part="rejection"]`'s text is
173
178
  ordinary visible content and stays in the accessibility tree, so a user who reaches it reads it
174
179
  normally. Both parts remain the right styling hooks.
175
- - **A test that asserted `::part(rejection)` had `role="alert"`, or that read announcements out of
176
- `::part(status)`, now fails.** Assert against the shared light-DOM region instead — query
177
- `[data-lr-live-region="assertive"]` (or `"polite"`) in the document, which is also where every
178
- other Lyra announcement lands.
180
+ - **Read announcements from the shared light-DOM region** query
181
+ `[data-lr-live-region="assertive"]` or `[data-lr-live-region="polite"]` in the document rather
182
+ than the styling parts.
179
183
  - **A `::part(rejection)[role]`-style selector never matched anyway** — an attribute selector
180
184
  cannot follow `::part()`. Nothing that worked before stopped working.
181
185
 
@@ -19,8 +19,12 @@
19
19
  A file-explorer preset over `<lr-tree>` + `<lr-file-icon>`: path-keyed nodes with
20
20
  git-status/diff-count badges, lazy directory loading, and select/open events.
21
21
 
22
+ An unreadable optional field rejects only that file record; it cannot reserve the path against a
23
+ later valid occurrence. Valid siblings retain their source order within the existing depth and
24
+ inspected-position budgets.
25
+
22
26
  **Properties:** `nodes: readonly FileTreeNode[] = []` (attribute: false; clone-owned/frozen,
23
- cycle-safe snapshot omitting empty/blank paths and retaining the first duplicate path, bounded to
27
+ cycle-safe snapshot omitting empty/blank paths and retaining the first successfully admitted occurrence of each path, bounded to
24
28
  the first 10,000 inspected source positions across 64 descendant levels; reassign after changes),
25
29
  `selectedPath: string | null = null` (attribute `selected-path`), and `label?: string` — an
26
30
  accessible-name override for the internal `<lr-tree>`, where omission reads back `undefined` and falls
@@ -18,6 +18,11 @@
18
18
 
19
19
  Dashboard filter row that composes Lyra inputs and removable chips, with reset and loading states.
20
20
 
21
+ Choice option entries must expose string `value` and `label` data fields; malformed entries are
22
+ omitted independently, while supplied empty strings remain valid. A custom definition requires its
23
+ adapter and a callable `render`; a rejected definition does not reserve its filter ID. Valid
24
+ siblings remain available. Exceptions thrown by an admitted trusted renderer still propagate.
25
+
21
26
  **Properties:**
22
27
 
23
28
  - `filters: readonly LyraFilterBarFilterDefinition[] = []` (attribute: false) — filter schema in
@@ -22,6 +22,13 @@ connect interaction. It is readonly by default; opt into editor gestures with `n
22
22
  `connectable`, and `droppable`. The component snapshots model inputs instead of retaining mutable
23
23
  caller aliases, and reports edit intent for the host to apply.
24
24
 
25
+ Input/output handle IDs are reserved only after their complete handle record is admitted; unreadable
26
+ optional labels cannot suppress a later valid handle with the same ID.
27
+
28
+ Horizontal RTL reflects the coordinate plane while authored cards, generated `lr-flow-node` cards,
29
+ native portable fallback cards and SVG edge labels retain readable content. Explicit physical model
30
+ coordinates remain unchanged.
31
+
25
32
  Flow records and companion payloads are readonly public contracts. Consumers that need the types
26
33
  without registering a component can import them from the side-effect-free module:
27
34
 
@@ -80,7 +87,7 @@ import type {
80
87
  - `decorations: FlowRunDecorations | null = null` (attribute: false) —
81
88
  `Record<nodeOrEdgeId, FlowRunDecoration>`, where `FlowRunDecoration` has `status` plus optional
82
89
  `progress`, `durationMs`, and `detail`; assignment is detached, deeply frozen, bounded to 10,000
83
- keys plus finite nested depth/entry budgets, and invalid status entries are omitted. Reassign the
90
+ keys plus finite nested depth/entry budgets, and invalid statuses and records with unreadable `status`, `progress`, `durationMs` or `detail` fields are omitted independently, retaining valid neighbors. Reassign the
84
91
  record after changes. Usually supplied by `lr-flow-run-status`.
85
92
  - `accessibleLabel: string | null = null` (attribute `aria-label`)
86
93
  - `viewport` (readonly getter) — a frozen `{ x, y, zoom }` snapshot
@@ -39,7 +39,8 @@ owns none of that.
39
39
  previews; the border, background, shadow and the `selected`/`status="running"` treatments all stay
40
40
  - `inputs: readonly FlowHandle[] = [{ id: 'in' }]`, `outputs: readonly FlowHandle[] = [{ id: 'out'
41
41
  }]` (attribute: false) — detached, frozen snapshots of at most the first 10,000 readonly
42
- `{ id, label? }` handles; blank ids and later duplicates are omitted first-valid/first-wins;
42
+ `{ id, label? }` handles; blank ids and later duplicates are omitted first-valid/first-wins
43
+ (a record rejected for an unreadable optional label does not reserve its ID);
43
44
  reassign a collection after changes
44
45
  - `orientation: 'horizontal' | 'vertical' = 'horizontal'` (reflected) — which physical edge handles
45
46
  render on; mirrors the adopting canvas's own `orientation`