@aceshooting/lyra-ui 9.1.1 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. package/CHANGELOG.md +785 -0
  2. package/custom-elements.json +1 -1
  3. package/design-tokens.json +13 -0
  4. package/dist/cli/migrate-wa.mjs +216 -1
  5. package/dist/cli/migration-contract.json +1 -1
  6. package/dist/components/agent-tools/activity-feed/activity-feed.class.js +1 -1
  7. package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +0 -16
  8. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js +1 -1
  9. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.styles.js +7 -5
  10. package/dist/components/agent-tools/agent-run/agent-run.class.js +2 -2
  11. package/dist/components/agent-tools/agent-run/agent-run.styles.js +0 -13
  12. package/dist/components/agent-tools/agent-trace/agent-trace.styles.js +7 -4
  13. package/dist/components/agent-tools/approval-queue/approval-queue.styles.js +7 -5
  14. package/dist/components/agent-tools/artifact-panel/artifact-panel.styles.js +0 -3
  15. package/dist/components/agent-tools/browser-frame/browser-frame.styles.js +3 -5
  16. package/dist/components/agent-tools/commit-card/commit-card.styles.js +0 -10
  17. package/dist/components/agent-tools/compare-panel/compare-panel.styles.js +11 -6
  18. package/dist/components/agent-tools/confirm-bar/confirm-bar.styles.js +0 -46
  19. package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +0 -7
  20. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +2 -2
  21. package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.js +0 -15
  22. package/dist/components/agent-tools/result-card/result-card.styles.js +0 -7
  23. package/dist/components/agent-tools/result-card/result-field.styles.js +0 -5
  24. package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.js +0 -3
  25. package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +0 -15
  26. package/dist/components/agent-tools/stack-trace/stack-trace.styles.js +0 -20
  27. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +2 -2
  28. package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.js +0 -3
  29. package/dist/components/agent-tools/task-list/task-list.styles.js +0 -15
  30. package/dist/components/agent-tools/terminal/terminal.class.d.ts +11 -6
  31. package/dist/components/agent-tools/terminal/terminal.class.js +4 -4
  32. package/dist/components/agent-tools/terminal/terminal.styles.js +0 -46
  33. package/dist/components/agent-tools/test-results/test-results.class.js +2 -2
  34. package/dist/components/agent-tools/test-results/test-results.styles.js +0 -5
  35. package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +0 -41
  36. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.styles.js +0 -41
  37. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js +0 -30
  38. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +6 -6
  39. package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.js +0 -5
  40. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +0 -20
  41. package/dist/components/agent-tools/tool-result-view/tool-result-view.styles.js +0 -4
  42. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.styles.js +0 -21
  43. package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +7 -31
  44. package/dist/components/charts/chart/box-plot.class.d.ts +27 -0
  45. package/dist/components/charts/chart/box-plot.class.js +14 -4
  46. package/dist/components/charts/chart/box-plot.styles.js +28 -20
  47. package/dist/components/charts/chart/chart-colors.d.ts +1 -1
  48. package/dist/components/charts/chart/chart-colors.js +1 -1
  49. package/dist/components/charts/chart/chart-core-loader.d.ts +1 -0
  50. package/dist/components/charts/chart/chart-core-loader.js +1 -1
  51. package/dist/components/charts/chart/chart-feature-loader.d.ts +35 -0
  52. package/dist/components/charts/chart/chart-feature-loader.js +1 -1
  53. package/dist/components/charts/chart/chart.class.d.ts +120 -0
  54. package/dist/components/charts/chart/chart.class.js +16 -6
  55. package/dist/components/charts/chart/chart.styles.js +28 -27
  56. package/dist/components/charts/chart/lite-chart.class.d.ts +20 -1
  57. package/dist/components/charts/chart/lite-chart.class.js +4 -4
  58. package/dist/components/charts/chart/lite-chart.styles.js +0 -27
  59. package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +20 -0
  60. package/dist/components/conversation/agent-workspace/agent-workspace.class.js +3 -1
  61. package/dist/components/conversation/agent-workspace/agent-workspace.styles.js +3 -0
  62. package/dist/components/conversation/audio-visualizer/audio-visualizer.styles.js +0 -7
  63. package/dist/components/conversation/branch-picker/branch-picker.styles.js +0 -3
  64. package/dist/components/conversation/chat-composer/chat-composer.styles.js +0 -51
  65. package/dist/components/conversation/chat-message/chat-message.styles.js +7 -35
  66. package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
  67. package/dist/components/conversation/chat-viewport/chat-viewport.styles.js +0 -33
  68. package/dist/components/conversation/checkpoint/checkpoint.class.js +1 -1
  69. package/dist/components/conversation/checkpoint/checkpoint.styles.js +0 -3
  70. package/dist/components/conversation/code-block/code-block-shared.d.ts +5 -2
  71. package/dist/components/conversation/code-block/code-block.class.js +1 -1
  72. package/dist/components/conversation/code-block/code-block.styles.js +4 -95
  73. package/dist/components/conversation/code-block/code-loader.d.ts +11 -0
  74. package/dist/components/conversation/code-block/code-loader.js +1 -1
  75. package/dist/components/conversation/code-block/shiki-types.d.ts +12 -0
  76. package/dist/components/conversation/code-block/shiki-types.js +1 -1
  77. package/dist/components/conversation/conversation-item/conversation-item.styles.js +8 -54
  78. package/dist/components/conversation/generation-metrics/generation-metrics.class.js +2 -2
  79. package/dist/components/conversation/generation-metrics/generation-metrics.styles.js +0 -17
  80. package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
  81. package/dist/components/conversation/markdown/markdown.styles.js +0 -41
  82. package/dist/components/conversation/message-actions/message-actions.styles.js +0 -3
  83. package/dist/components/conversation/message-feedback/message-feedback.styles.js +0 -35
  84. package/dist/components/conversation/message-parts/message-parts.class.d.ts +1 -1
  85. package/dist/components/conversation/message-parts/message-parts.styles.js +0 -5
  86. package/dist/components/conversation/model-select/model-select.class.js +3 -3
  87. package/dist/components/conversation/model-select/model-select.styles.js +12 -47
  88. package/dist/components/conversation/model-settings-panel/model-settings-panel.styles.js +0 -6
  89. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +3 -0
  90. package/dist/components/conversation/prompt-input/prompt-input.styles.js +0 -10
  91. package/dist/components/conversation/push-to-talk/push-to-talk.styles.js +0 -8
  92. package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.js +1 -11
  93. package/dist/components/conversation/stream-status/stream-status.styles.js +0 -16
  94. package/dist/components/conversation/streaming-text/streaming-text.styles.js +0 -15
  95. package/dist/components/conversation/suggestion-chips/suggestion-chips.styles.js +0 -5
  96. package/dist/components/conversation/thread-list/thread-list.styles.js +0 -23
  97. package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +16 -4
  98. package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
  99. package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +0 -1
  100. package/dist/components/conversation/typing-indicator/typing-indicator.styles.js +0 -23
  101. package/dist/components/conversation/usage-badge/usage-badge.styles.js +0 -3
  102. package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -3
  103. package/dist/components/conversation/voice-picker/voice-picker.styles.js +9 -29
  104. package/dist/components/conversation/widget-renderer/resolve.d.ts +2 -0
  105. package/dist/components/conversation/widget-renderer/resolve.js +1 -1
  106. package/dist/components/data/calendar/calendar.class.d.ts +15 -2
  107. package/dist/components/data/calendar/calendar.class.js +2 -2
  108. package/dist/components/data/calendar/calendar.styles.js +2 -28
  109. package/dist/components/data/condition-builder/condition-builder.class.d.ts +10 -6
  110. package/dist/components/data/condition-builder/condition-builder.class.js +2 -2
  111. package/dist/components/data/condition-builder/condition-builder.styles.js +0 -6
  112. package/dist/components/data/context-meter/context-meter.styles.js +0 -24
  113. package/dist/components/data/data-grid/data-grid.class.js +3 -3
  114. package/dist/components/data/data-grid/data-grid.styles.js +0 -22
  115. package/dist/components/data/document-library/document-library.class.js +2 -2
  116. package/dist/components/data/document-library/document-library.styles.js +0 -4
  117. package/dist/components/data/env-list/env-list.class.js +1 -1
  118. package/dist/components/data/env-list/env-list.styles.js +7 -4
  119. package/dist/components/data/file-tree/file-tree.class.d.ts +12 -0
  120. package/dist/components/data/flow-canvas/flow-canvas.styles.js +12 -19
  121. package/dist/components/data/flow-controls/flow-controls.class.js +2 -2
  122. package/dist/components/data/flow-controls/flow-controls.styles.js +3 -36
  123. package/dist/components/data/flow-minimap/flow-minimap.class.js +1 -1
  124. package/dist/components/data/flow-minimap/flow-minimap.styles.js +0 -9
  125. package/dist/components/data/flow-node/flow-node.styles.js +0 -23
  126. package/dist/components/data/flow-run-status/flow-run-status.class.js +1 -1
  127. package/dist/components/data/flow-run-status/flow-run-status.styles.js +0 -7
  128. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +0 -7
  129. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
  130. package/dist/components/data/graph-query-builder/graph-query-builder.styles.js +0 -10
  131. package/dist/components/data/heatmap/heatmap-scale.d.ts +20 -0
  132. package/dist/components/data/heatmap/heatmap-scale.js +1 -1
  133. package/dist/components/data/heatmap/heatmap.class.d.ts +117 -1
  134. package/dist/components/data/heatmap/heatmap.class.js +2 -2
  135. package/dist/components/data/heatmap/heatmap.styles.js +0 -54
  136. package/dist/components/data/pagination/pagination.styles.js +23 -46
  137. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +34 -1
  138. package/dist/components/data/sequence-strip/sequence-strip.class.js +5 -2
  139. package/dist/components/data/sequence-strip/sequence-strip.styles.js +14 -20
  140. package/dist/components/data/sparkline/sparkline.class.js +1 -1
  141. package/dist/components/data/stat/stat.styles.js +0 -67
  142. package/dist/components/data/table/table.class.d.ts +42 -3
  143. package/dist/components/data/table/table.class.js +4 -4
  144. package/dist/components/data/table/table.styles.js +20 -91
  145. package/dist/components/data/timeline/timeline-item.styles.js +0 -30
  146. package/dist/components/data/timeline/timeline.class.d.ts +89 -1
  147. package/dist/components/data/timeline/timeline.class.js +2 -2
  148. package/dist/components/data/timeline/timeline.styles.js +111 -31
  149. package/dist/components/data/tree/tree-item.styles.js +1 -28
  150. package/dist/components/data/tree/tree.class.js +2 -2
  151. package/dist/components/data/tree/tree.styles.js +0 -6
  152. package/dist/components/data/word-cloud/word-cloud.styles.js +0 -5
  153. package/dist/components/forms/button/button.class.js +1 -1
  154. package/dist/components/forms/button/button.styles.js +0 -105
  155. package/dist/components/forms/checkbox/checkbox.class.d.ts +3 -0
  156. package/dist/components/forms/checkbox/checkbox.class.js +1 -1
  157. package/dist/components/forms/checkbox/checkbox.styles.js +0 -39
  158. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +21 -2
  159. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  160. package/dist/components/forms/checkbox-group/checkbox-group.styles.js +0 -18
  161. package/dist/components/forms/code-editor/code-editor.styles.js +0 -30
  162. package/dist/components/forms/color-picker/color-picker.class.js +2 -2
  163. package/dist/components/forms/color-picker/color-picker.styles.js +0 -69
  164. package/dist/components/forms/combobox/combobox.class.d.ts +71 -3
  165. package/dist/components/forms/combobox/combobox.class.js +5 -3
  166. package/dist/components/forms/combobox/combobox.styles.js +31 -111
  167. package/dist/components/forms/combobox/option.styles.js +7 -1
  168. package/dist/components/forms/date-picker/date-input.class.js +1 -1
  169. package/dist/components/forms/date-picker/date-input.styles.js +12 -67
  170. package/dist/components/forms/date-picker/date-picker.class.d.ts +47 -0
  171. package/dist/components/forms/date-picker/date-picker.class.js +36 -22
  172. package/dist/components/forms/date-picker/date-picker.styles.js +82 -29
  173. package/dist/components/forms/emoji-picker/emoji-data-loader.d.ts +6 -3
  174. package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
  175. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +8 -1
  176. package/dist/components/forms/emoji-picker/emoji-picker.class.js +1 -1
  177. package/dist/components/forms/emoji-picker/emoji-picker.styles.js +3 -41
  178. package/dist/components/forms/icon-button/icon-button.class.js +1 -1
  179. package/dist/components/forms/icon-button/icon-button.styles.js +0 -16
  180. package/dist/components/forms/input/input.styles.js +0 -54
  181. package/dist/components/forms/input/number-input.styles.d.ts +4 -5
  182. package/dist/components/forms/input/number-input.styles.js +0 -11
  183. package/dist/components/forms/input/time-input-shared.d.ts +11 -0
  184. package/dist/components/forms/input/time-input-shared.js +1 -1
  185. package/dist/components/forms/input/time-input.class.d.ts +11 -2
  186. package/dist/components/forms/input/time-input.class.js +1 -1
  187. package/dist/components/forms/input/time-input.styles.js +0 -6
  188. package/dist/components/forms/locale-picker/locale-picker.class.js +2 -2
  189. package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -26
  190. package/dist/components/forms/otp-input/otp-input.class.js +3 -3
  191. package/dist/components/forms/otp-input/otp-input.styles.js +0 -16
  192. package/dist/components/forms/phone-input/phone-input.class.d.ts +9 -1
  193. package/dist/components/forms/phone-input/phone-input.class.js +2 -2
  194. package/dist/components/forms/phone-input/phone-input.styles.js +0 -37
  195. package/dist/components/forms/radio/radio-button.styles.js +1 -30
  196. package/dist/components/forms/radio/radio-group.styles.js +0 -4
  197. package/dist/components/forms/radio/radio.styles.js +0 -44
  198. package/dist/components/forms/rubric-form/rubric-form.styles.js +0 -5
  199. package/dist/components/forms/select/select.class.js +1 -1
  200. package/dist/components/forms/select/select.styles.js +14 -114
  201. package/dist/components/forms/slider/slider.styles.js +0 -55
  202. package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +0 -11
  203. package/dist/components/forms/swatch-picker/swatch-picker.class.js +2 -2
  204. package/dist/components/forms/swatch-picker/swatch-picker.styles.js +0 -77
  205. package/dist/components/forms/switch/switch.class.d.ts +3 -0
  206. package/dist/components/forms/switch/switch.class.js +1 -1
  207. package/dist/components/forms/switch/switch.styles.js +0 -37
  208. package/dist/components/forms/textarea/textarea.styles.js +0 -28
  209. package/dist/components/forms/time-range/time-range.styles.js +12 -84
  210. package/dist/components/forms/token-input/token-input.class.d.ts +23 -9
  211. package/dist/components/forms/token-input/token-input.class.js +1 -1
  212. package/dist/components/forms/token-input/token-input.styles.js +1 -54
  213. package/dist/components/layout/app-rail/app-rail-item.class.js +2 -2
  214. package/dist/components/layout/app-rail/app-rail-item.styles.js +0 -13
  215. package/dist/components/layout/app-rail/app-rail.class.d.ts +5 -0
  216. package/dist/components/layout/app-rail/app-rail.class.js +1 -1
  217. package/dist/components/layout/app-rail/app-rail.styles.js +0 -46
  218. package/dist/components/layout/button-group/button-group.styles.js +0 -6
  219. package/dist/components/layout/card/card.class.d.ts +12 -0
  220. package/dist/components/layout/card/card.styles.js +3 -11
  221. package/dist/components/layout/carousel/carousel.styles.js +0 -1
  222. package/dist/components/layout/command-palette/command-palette.class.d.ts +8 -0
  223. package/dist/components/layout/command-palette/command-palette.class.js +3 -1
  224. package/dist/components/layout/command-palette/command-palette.styles.js +1 -13
  225. package/dist/components/layout/control-group/control-group.styles.js +0 -7
  226. package/dist/components/layout/dashboard-grid/dashboard-grid.styles.js +6 -25
  227. package/dist/components/layout/details/accordion.class.d.ts +13 -0
  228. package/dist/components/layout/details/accordion.class.js +1 -1
  229. package/dist/components/layout/details/details.class.js +1 -1
  230. package/dist/components/layout/details/details.styles.js +0 -12
  231. package/dist/components/layout/dock-panel/dock-panel.styles.js +0 -45
  232. package/dist/components/layout/drilldown-panel/drilldown-panel.class.d.ts +2 -0
  233. package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +2 -2
  234. package/dist/components/layout/drilldown-panel/drilldown-panel.styles.js +0 -4
  235. package/dist/components/layout/filter-bar/filter-bar.class.js +1 -1
  236. package/dist/components/layout/filter-bar/filter-bar.styles.js +0 -9
  237. package/dist/components/layout/menu/menu-item.class.d.ts +5 -0
  238. package/dist/components/layout/menu/menu-item.class.js +1 -1
  239. package/dist/components/layout/menu/menu-item.styles.js +0 -49
  240. package/dist/components/layout/menu/menu-label.styles.js +0 -2
  241. package/dist/components/layout/menu/menu.styles.js +0 -18
  242. package/dist/components/layout/multi-split/multi-split.styles.js +0 -63
  243. package/dist/components/layout/page/page.class.d.ts +4 -0
  244. package/dist/components/layout/page/page.class.js +1 -1
  245. package/dist/components/layout/reorder-list/reorder-item.styles.js +0 -4
  246. package/dist/components/layout/responsive-panel/responsive-panel.styles.js +0 -27
  247. package/dist/components/layout/scroller/scroller.styles.js +0 -20
  248. package/dist/components/layout/segmented/segmented.class.d.ts +7 -1
  249. package/dist/components/layout/segmented/segmented.class.js +1 -1
  250. package/dist/components/layout/segmented/segmented.styles.js +69 -37
  251. package/dist/components/layout/split-panel/split-panel.styles.js +1 -7
  252. package/dist/components/layout/stepper/stepper.class.d.ts +8 -1
  253. package/dist/components/layout/stepper/stepper.class.js +1 -1
  254. package/dist/components/layout/stepper/stepper.styles.js +140 -41
  255. package/dist/components/layout/tab-group/tab-group.class.d.ts +4 -1
  256. package/dist/components/layout/tab-group/tab-group.styles.js +9 -75
  257. package/dist/components/layout/tab-group/tab.styles.js +0 -2
  258. package/dist/components/layout/virtual-list/virtual-list.class.d.ts +4 -4
  259. package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
  260. package/dist/components/layout/virtual-list/virtual-list.styles.js +0 -68
  261. package/dist/components/layout/widget/widget.class.d.ts +5 -1
  262. package/dist/components/layout/widget/widget.class.js +1 -1
  263. package/dist/components/layout/widget/widget.styles.js +97 -40
  264. package/dist/components/media/animated-image/animated-image.class.d.ts +3 -0
  265. package/dist/components/media/animated-image/animated-image.class.js +1 -1
  266. package/dist/components/media/animated-image/animated-image.styles.js +0 -28
  267. package/dist/components/media/attachment-chip/attachment-chip.class.d.ts +1 -1
  268. package/dist/components/media/attachment-chip/attachment-chip.class.js +1 -1
  269. package/dist/components/media/attachment-chip/attachment-chip.styles.js +0 -31
  270. package/dist/components/media/attachment-trigger/attachment-trigger.class.js +3 -3
  271. package/dist/components/media/attachment-trigger/attachment-trigger.styles.js +0 -40
  272. package/dist/components/media/av-player/av-player.class.d.ts +5 -6
  273. package/dist/components/media/av-player/av-player.class.js +1 -1
  274. package/dist/components/media/av-player/av-player.styles.js +0 -45
  275. package/dist/components/media/avatar/avatar.styles.js +3 -16
  276. package/dist/components/media/file-icon/file-icon.class.d.ts +1 -2
  277. package/dist/components/media/file-icon/file-icon.class.js +1 -1
  278. package/dist/components/media/file-input/file-input.class.d.ts +12 -0
  279. package/dist/components/media/file-input/file-input.styles.js +3 -24
  280. package/dist/components/media/flag/flag.class.d.ts +23 -1
  281. package/dist/components/media/flag/flag.class.js +4 -2
  282. package/dist/components/media/flag/flag.styles.js +7 -1
  283. package/dist/components/media/flag/language-map.d.ts +10 -0
  284. package/dist/components/media/flag/language-map.js +1 -1
  285. package/dist/components/media/image-comparer/image-comparer.styles.js +4 -33
  286. package/dist/components/media/image-viewer/image-viewer.class.js +0 -2
  287. package/dist/components/media/image-viewer/image-viewer.styles.js +7 -27
  288. package/dist/components/media/lightbox/lightbox.class.js +0 -2
  289. package/dist/components/media/lightbox/lightbox.styles.js +0 -21
  290. package/dist/components/media/map/map-loader.d.ts +19 -1
  291. package/dist/components/media/map/map-loader.js +1 -1
  292. package/dist/components/media/map/map.class.d.ts +178 -1
  293. package/dist/components/media/map/map.class.js +15 -3
  294. package/dist/components/media/map/map.styles.js +20 -17
  295. package/dist/components/media/media-card/media-card.class.d.ts +14 -3
  296. package/dist/components/media/media-card/media-card.class.js +1 -1
  297. package/dist/components/media/media-card/media-card.styles.js +2 -28
  298. package/dist/components/media/pan-zoom/pan-zoom.styles.js +0 -3
  299. package/dist/components/media/qr-code/qr-code.class.d.ts +3 -2
  300. package/dist/components/media/qr-code/qr-code.class.js +2 -2
  301. package/dist/components/media/qr-code/qr-code.styles.js +0 -3
  302. package/dist/components/media/sequence-playback/sequence-playback.class.d.ts +2 -0
  303. package/dist/components/media/sequence-playback/sequence-playback.class.js +2 -1
  304. package/dist/components/media/sequence-playback/sequence-playback.styles.js +0 -19
  305. package/dist/components/media/video/video.class.d.ts +23 -2
  306. package/dist/components/media/video/video.class.js +3 -3
  307. package/dist/components/media/video/video.styles.js +4 -2
  308. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +3 -2
  309. package/dist/components/media/zoomable-frame/zoomable-frame.class.js +2 -2
  310. package/dist/components/media/zoomable-frame/zoomable-frame.styles.js +0 -5
  311. package/dist/components/overlays/alert/alert.styles.js +4 -2
  312. package/dist/components/overlays/badge/badge.styles.js +4 -48
  313. package/dist/components/overlays/badge/tag.styles.js +0 -14
  314. package/dist/components/overlays/callout/callout.styles.js +0 -11
  315. package/dist/components/overlays/chip/chip-group.styles.js +0 -18
  316. package/dist/components/overlays/chip/chip.styles.js +6 -69
  317. package/dist/components/overlays/dialog/confirm.d.ts +1 -4
  318. package/dist/components/overlays/dialog/confirm.js +1 -1
  319. package/dist/components/overlays/dialog/dialog.class.d.ts +32 -9
  320. package/dist/components/overlays/dialog/dialog.class.js +1 -1
  321. package/dist/components/overlays/dialog/dialog.styles.js +0 -43
  322. package/dist/components/overlays/drawer/drawer.class.d.ts +2 -2
  323. package/dist/components/overlays/drawer/drawer.styles.js +0 -9
  324. package/dist/components/overlays/empty/empty.styles.js +0 -12
  325. package/dist/components/overlays/kbd/kbd.styles.js +0 -8
  326. package/dist/components/overlays/overlay/dropdown.class.d.ts +1 -6
  327. package/dist/components/overlays/overlay/dropdown.class.js +2 -2
  328. package/dist/components/overlays/overlay/overlay.styles.js +0 -28
  329. package/dist/components/overlays/overlay/popover.class.d.ts +28 -4
  330. package/dist/components/overlays/overlay/popover.class.js +2 -2
  331. package/dist/components/overlays/overlay/tooltip.class.d.ts +10 -0
  332. package/dist/components/overlays/overlay/tooltip.class.js +1 -1
  333. package/dist/components/overlays/popup/popup.class.d.ts +1 -0
  334. package/dist/components/overlays/popup/popup.class.js +1 -1
  335. package/dist/components/overlays/popup/popup.styles.js +0 -15
  336. package/dist/components/overlays/progress/progress-ring.class.d.ts +9 -1
  337. package/dist/components/overlays/progress/progress-ring.class.js +3 -3
  338. package/dist/components/overlays/progress/progress.styles.js +0 -21
  339. package/dist/components/overlays/rating/rating.styles.js +0 -25
  340. package/dist/components/overlays/skeleton/skeleton.styles.js +0 -4
  341. package/dist/components/overlays/spinner/spinner.styles.js +0 -3
  342. package/dist/components/overlays/toast/toast-item.styles.js +3 -45
  343. package/dist/components/retrieval/chunk-inspector/chunk-inspector.styles.js +0 -35
  344. package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +2 -2
  345. package/dist/components/retrieval/citation-badge/citation-badge.class.js +3 -3
  346. package/dist/components/retrieval/citation-badge/citation-badge.styles.js +0 -20
  347. package/dist/components/retrieval/claim-evidence/claim-evidence.styles.js +0 -8
  348. package/dist/components/retrieval/community-card/community-card.class.d.ts +1 -0
  349. package/dist/components/retrieval/community-card/community-card.styles.js +0 -6
  350. package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +8 -12
  351. package/dist/components/retrieval/entity-card/entity-card.class.d.ts +4 -3
  352. package/dist/components/retrieval/entity-card/entity-card.class.js +1 -1
  353. package/dist/components/retrieval/entity-card/entity-card.styles.js +0 -12
  354. package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +10 -4
  355. package/dist/components/retrieval/entity-chip/entity-chip.class.js +3 -3
  356. package/dist/components/retrieval/entity-chip/entity-chip.styles.js +6 -9
  357. package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts +19 -5
  358. package/dist/components/retrieval/graph/graph.class.d.ts +5 -0
  359. package/dist/components/retrieval/graph/graph.class.js +1 -1
  360. package/dist/components/retrieval/graph/graph.styles.js +0 -30
  361. package/dist/components/retrieval/graph-legend/graph-legend.styles.js +0 -3
  362. package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.js +0 -25
  363. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +2 -0
  364. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +0 -7
  365. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +20 -6
  366. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +2 -2
  367. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +0 -16
  368. package/dist/components/retrieval/mind-map/mind-map.class.d.ts +5 -3
  369. package/dist/components/retrieval/mind-map/mind-map.class.js +1 -1
  370. package/dist/components/retrieval/mind-map/mind-map.styles.js +0 -2
  371. package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts +3 -2
  372. package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +1 -1
  373. package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +0 -30
  374. package/dist/components/retrieval/node-palette/node-palette.styles.js +0 -11
  375. package/dist/components/retrieval/path-strip/path-strip.styles.js +0 -10
  376. package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts +12 -3
  377. package/dist/components/retrieval/provenance-panel/provenance-panel.styles.js +0 -2
  378. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +3 -2
  379. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +2 -2
  380. package/dist/components/retrieval/retrieval-results/retrieval-results.styles.js +0 -28
  381. package/dist/components/retrieval/retrieval-search/retrieval-search.styles.js +0 -4
  382. package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.js +0 -2
  383. package/dist/components/retrieval/source-card/source-card.styles.js +0 -13
  384. package/dist/components/retrieval/source-list/source-list.styles.js +0 -7
  385. package/dist/components/retrieval/source-picker/source-picker.styles.js +0 -7
  386. package/dist/components/utility/copy-button/copy-button.styles.js +0 -10
  387. package/dist/components/utility/diff-view/diff-view.styles.js +0 -14
  388. package/dist/components/utility/export-button/export-button.styles.js +0 -22
  389. package/dist/components/utility/icon/icon.styles.js +0 -6
  390. package/dist/components/utility/json-viewer/json-viewer.styles.js +2 -48
  391. package/dist/components/utility/known-date/known-date.class.d.ts +7 -3
  392. package/dist/components/utility/known-date/known-date.styles.js +10 -51
  393. package/dist/components/utility/live-region/live-region.styles.js +0 -4
  394. package/dist/components/utility/mention-popover/mention-popover.styles.js +0 -25
  395. package/dist/components/utility/poll-status/poll-status.styles.js +0 -4
  396. package/dist/components/utility/random-content/random-content.class.d.ts +22 -0
  397. package/dist/components/utility/random-content/random-content.class.js +3 -2
  398. package/dist/components/utility/random-content/random-content.styles.js +6 -13
  399. package/dist/components/utility/tour/tour.class.d.ts +4 -2
  400. package/dist/components/utility/tour/tour.class.js +3 -3
  401. package/dist/components/utility/tour/tour.styles.js +0 -13
  402. package/dist/components/utility/visually-hidden/visually-hidden.styles.js +0 -5
  403. package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
  404. package/dist/components/viewers/archive-viewer/archive-viewer.styles.d.ts +2 -2
  405. package/dist/components/viewers/archive-viewer/archive-viewer.styles.js +0 -10
  406. package/dist/components/viewers/csv-viewer/csv-viewer.class.js +1 -1
  407. package/dist/components/viewers/csv-viewer/csv-viewer.styles.js +0 -19
  408. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +1 -1
  409. package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +0 -15
  410. package/dist/components/viewers/document-compare/document-compare.styles.js +0 -3
  411. package/dist/components/viewers/document-preview/document-preview.styles.js +0 -25
  412. package/dist/components/viewers/document-viewer/document-viewer.class.d.ts +2 -1
  413. package/dist/components/viewers/document-viewer/document-viewer.class.js +1 -1
  414. package/dist/components/viewers/document-viewer/document-viewer.styles.js +0 -5
  415. package/dist/components/viewers/docx-viewer/docx-viewer.styles.js +0 -17
  416. package/dist/components/viewers/ebook-viewer/ebook-viewer.styles.js +0 -4
  417. package/dist/components/viewers/email-viewer/email-viewer.styles.js +0 -7
  418. package/dist/components/viewers/geojson-view/geojson-view.styles.js +0 -5
  419. package/dist/components/viewers/highlight-layer/highlight-layer.styles.js +0 -3
  420. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +1 -1
  421. package/dist/components/viewers/notebook-viewer/notebook-viewer.styles.js +0 -38
  422. package/dist/components/viewers/page-rail/page-rail.class.js +1 -1
  423. package/dist/components/viewers/page-rail/page-rail.styles.js +0 -13
  424. package/dist/components/viewers/pdf-viewer/pdf-loader.d.ts +13 -2
  425. package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
  426. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +32 -2
  427. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +4 -4
  428. package/dist/components/viewers/pdf-viewer/pdf-viewer.styles.js +1 -27
  429. package/dist/components/viewers/pptx-viewer/pptx-viewer.styles.js +0 -3
  430. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +1 -1
  431. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.js +0 -14
  432. package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +0 -7
  433. package/dist/components/viewers/xml-viewer/xml-viewer.styles.js +2 -24
  434. package/dist/custom-elements-jsx.d.ts +72 -40
  435. package/dist/events.d.ts +43 -33
  436. package/dist/internal/agent-status-variants.d.ts +18 -0
  437. package/dist/internal/agent-status-variants.js +1 -0
  438. package/dist/internal/announcer.d.ts +8 -3
  439. package/dist/internal/announcer.js +1 -1
  440. package/dist/internal/autoloader-manifest.js +1 -1
  441. package/dist/internal/canvas-color.d.ts +16 -0
  442. package/dist/internal/canvas-color.js +1 -1
  443. package/dist/internal/catalog-picker.d.ts +0 -1
  444. package/dist/internal/catalog-picker.js +1 -1
  445. package/dist/internal/default-strings.generated.d.ts +1 -0
  446. package/dist/internal/default-strings.generated.js +1 -1
  447. package/dist/internal/dev-mode-attribute-warning.d.ts +27 -4
  448. package/dist/internal/dev-mode-attribute-warning.js +1 -1
  449. package/dist/internal/localization-runtime.js +1 -1
  450. package/dist/internal/localization-types.d.ts +1 -1
  451. package/dist/internal/localization.js +1 -1
  452. package/dist/internal/lyra-element.d.ts +13 -0
  453. package/dist/internal/lyra-element.js +1 -1
  454. package/dist/internal/media-controller.js +1 -1
  455. package/dist/internal/package-metadata.d.ts +1 -1
  456. package/dist/internal/package-metadata.js +1 -1
  457. package/dist/internal/scroll-overflow.d.ts +35 -13
  458. package/dist/internal/scroll-overflow.js +1 -1
  459. package/dist/internal/sizes.styles.js +0 -2
  460. package/dist/internal/specialist-tokens.styles.js +6 -11
  461. package/dist/internal/text-highlights.d.ts +4 -1
  462. package/dist/internal/text-highlights.js +1 -1
  463. package/dist/internal/tokens/palette.styles.js +0 -15
  464. package/dist/internal/tokens.styles.js +20 -113
  465. package/dist/lyra.d.ts +9 -6
  466. package/dist/styles/reservations.css +82 -0
  467. package/dist/svelte.d.ts +72 -40
  468. package/dist/translations/ar.js +1 -1
  469. package/dist/translations/de.js +1 -1
  470. package/dist/translations/es.js +1 -1
  471. package/dist/translations/fa.js +1 -1
  472. package/dist/translations/fr.js +1 -1
  473. package/dist/translations/he.js +1 -1
  474. package/dist/translations/ja.js +1 -1
  475. package/dist/translations/pt-BR.js +1 -1
  476. package/dist/translations/ru.js +1 -1
  477. package/dist/translations/zh-CN.js +1 -1
  478. package/dist/vue.d.ts +72 -40
  479. package/llms/components/lr-accordion-item.md +12 -3
  480. package/llms/components/lr-accordion.md +11 -2
  481. package/llms/components/lr-agent-eval-dashboard.md +1 -1
  482. package/llms/components/lr-agent-trace.md +3 -1
  483. package/llms/components/lr-agent-workspace.md +20 -0
  484. package/llms/components/lr-artifact-panel.md +10 -4
  485. package/llms/components/lr-attachment-chip.md +7 -4
  486. package/llms/components/lr-attachment-trigger.md +7 -4
  487. package/llms/components/lr-av-player.md +3 -1
  488. package/llms/components/lr-avatar.md +6 -6
  489. package/llms/components/lr-bar-chart.md +8 -6
  490. package/llms/components/lr-box-plot.md +15 -4
  491. package/llms/components/lr-browser-frame.md +7 -3
  492. package/llms/components/lr-bubble-chart.md +8 -6
  493. package/llms/components/lr-calendar.md +9 -2
  494. package/llms/components/lr-card.md +24 -0
  495. package/llms/components/lr-chart.md +45 -11
  496. package/llms/components/lr-chat-viewport.md +7 -2
  497. package/llms/components/lr-checkbox-group.md +13 -5
  498. package/llms/components/lr-checkbox.md +5 -2
  499. package/llms/components/lr-checkpoint.md +6 -2
  500. package/llms/components/lr-combobox.md +47 -8
  501. package/llms/components/lr-command-palette.md +4 -1
  502. package/llms/components/lr-confirm-bar.md +7 -3
  503. package/llms/components/lr-context-meter.md +12 -11
  504. package/llms/components/lr-conversation-item.md +7 -4
  505. package/llms/components/lr-date-input.md +22 -2
  506. package/llms/components/lr-date-picker.md +23 -3
  507. package/llms/components/lr-details.md +11 -2
  508. package/llms/components/lr-dialog.md +16 -10
  509. package/llms/components/lr-dock-panel.md +7 -10
  510. package/llms/components/lr-document-preview.md +6 -1
  511. package/llms/components/lr-document-viewer.md +3 -2
  512. package/llms/components/lr-doughnut-chart.md +8 -6
  513. package/llms/components/lr-drawer.md +3 -3
  514. package/llms/components/lr-entity-card.md +3 -3
  515. package/llms/components/lr-entity-chip.md +1 -1
  516. package/llms/components/lr-entity-dossier.md +4 -1
  517. package/llms/components/lr-file-input.md +2 -2
  518. package/llms/components/lr-flag.md +30 -8
  519. package/llms/components/lr-heatmap.md +46 -0
  520. package/llms/components/lr-histogram.md +7 -4
  521. package/llms/components/lr-icon.md +1 -1
  522. package/llms/components/lr-json-schema-viewer.md +2 -1
  523. package/llms/components/lr-knowledge-graph-explorer.md +8 -3
  524. package/llms/components/lr-known-date.md +4 -2
  525. package/llms/components/lr-line-chart.md +8 -6
  526. package/llms/components/lr-lite-chart.md +16 -6
  527. package/llms/components/lr-map.md +91 -10
  528. package/llms/components/lr-markdown-core.md +3 -2
  529. package/llms/components/lr-media-card.md +28 -12
  530. package/llms/components/lr-message-parts.md +2 -1
  531. package/llms/components/lr-model-select.md +9 -10
  532. package/llms/components/lr-model-settings-panel.md +9 -9
  533. package/llms/components/lr-neighbor-list.md +1 -1
  534. package/llms/components/lr-notebook-viewer.md +6 -3
  535. package/llms/components/lr-option.md +46 -7
  536. package/llms/components/lr-pdf-viewer.md +62 -2
  537. package/llms/components/lr-pie-chart.md +8 -6
  538. package/llms/components/lr-polar-area-chart.md +8 -6
  539. package/llms/components/lr-popover.md +25 -1
  540. package/llms/components/lr-progress-ring.md +8 -1
  541. package/llms/components/lr-prompt-studio.md +1 -1
  542. package/llms/components/lr-provenance-panel.md +4 -2
  543. package/llms/components/lr-qr-code.md +1 -1
  544. package/llms/components/lr-radar-chart.md +8 -6
  545. package/llms/components/lr-rag-eval-dashboard.md +2 -2
  546. package/llms/components/lr-random-content.md +13 -0
  547. package/llms/components/lr-reorder-item.md +6 -1
  548. package/llms/components/lr-reorder-list.md +6 -1
  549. package/llms/components/lr-responsive-panel.md +11 -7
  550. package/llms/components/lr-scatter-chart.md +8 -6
  551. package/llms/components/lr-sequence-strip.md +16 -2
  552. package/llms/components/lr-slider.md +12 -5
  553. package/llms/components/lr-sparkline.md +1 -1
  554. package/llms/components/lr-suggestion-chips.md +7 -2
  555. package/llms/components/lr-swatch-picker.md +5 -5
  556. package/llms/components/lr-switch.md +5 -2
  557. package/llms/components/lr-table.md +30 -4
  558. package/llms/components/lr-terminal.md +3 -1
  559. package/llms/components/lr-thread-list.md +8 -8
  560. package/llms/components/lr-time-input.md +6 -1
  561. package/llms/components/lr-timeline-item.md +24 -0
  562. package/llms/components/lr-timeline.md +25 -1
  563. package/llms/components/lr-token-input.md +7 -2
  564. package/llms/components/lr-tool-approval-dialog.md +7 -8
  565. package/llms/components/lr-tool-call-chip.md +5 -1
  566. package/llms/components/lr-tool-param-form.md +14 -12
  567. package/llms/components/lr-tool-result-dialog.md +11 -9
  568. package/llms/components/lr-tool-result-view.md +7 -6
  569. package/llms/components/lr-tool-select-dialog.md +18 -16
  570. package/llms/components/lr-trace-tree.md +3 -1
  571. package/llms/components/lr-usage-badge.md +4 -1
  572. package/llms/components/lr-video-playlist.md +1 -1
  573. package/llms/components/lr-virtual-list.md +22 -14
  574. package/llms/components/lr-voice-picker.md +8 -5
  575. package/llms/components/lr-widget-renderer.md +3 -3
  576. package/llms/components/lr-widget.md +1 -1
  577. package/llms/components/lr-word-cloud.md +6 -2
  578. package/llms/peers.md +12 -2
  579. package/llms/shared.md +70 -2
  580. package/llms/tokens.md +15 -1
  581. package/llms-full.txt +1335 -306
  582. package/package.json +17 -5
  583. package/vscode-css-data.json +93 -2
  584. package/vscode-html-data.json +513 -59
  585. package/web-types.json +457 -72
@@ -7,8 +7,8 @@
7
7
  - **Family** `components/charts/` — see `llms/index.md` for its siblings
8
8
  - **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
9
9
  - **Deprecations** none
10
- - **Optional peers** `chart.js`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
11
- - **Themeable via** 15 parts, 33 custom properties — see this component's own `@csspart`/`@cssprop` list below
10
+ - **Optional peers** `chart.js`, `chartjs-plugin-annotation`, `chartjs-plugin-datalabels`, `chartjs-plugin-zoom` — see `llms/peers.md`
11
+ - **Themeable via** 16 parts, 35 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
12
  - **Documented with** `lr-line-chart`, `lr-bar-chart`, `lr-pie-chart`, `lr-doughnut-chart`, `lr-radar-chart`, `lr-polar-area-chart`, `lr-bubble-chart` (same section below)
13
13
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
14
14
 
@@ -25,7 +25,8 @@ and behavior there. **See `llms/components/lr-chart.md` for the details, code ex
25
25
  of every entry in these lists.**
26
26
 
27
27
  **Properties:** `description`, `grid`, `indexAxis` (`index-axis`), `label`, `hiddenDatasets`, `legendPosition`
28
- (`legend-position`), `max`, `min`, `plugins`, `stacked`, `withoutAnimation` (`without-animation`),
28
+ (`legend-position`), `max`, `min`, `plugins`, `scaleType` (`scale-type`), `annotations`,
29
+ `stacked`, `withoutAnimation` (`without-animation`),
29
30
  `withoutLegend` (`without-legend`), `withoutTooltip` (`without-tooltip`), `xLabel` (`x-label`),
30
31
  `yLabel` (`y-label`), plus additive `labels`, `datasets`, `valueFormatter`, `formatter`, `area`, `zoom`,
31
32
  `height`, `y2Label` (`y2-label`), `beginAtZero` (`begin-at-zero`), `dataLabels`
@@ -43,7 +44,7 @@ complete `hiddenDatasets` snapshot).
43
44
  **Slots:** default JSON configuration script, `data-table`, `center`.
44
45
 
45
46
  **CSS parts:** `base`, `plot`, `canvas`, `legend`, `legend-item`, `legend-item-hidden`, `legend-swatch`,
46
- `reset-zoom-button`, `description`, `notices`, `data-table`, `data-truncation`, `feature-warning`, `center`, `error` (neutral visible message
47
+ `reset-zoom-button`, `description`, `notices`, `data-table`, `data-table-toggle`, `data-truncation`, `feature-warning`, `center`, `error` (neutral visible message
47
48
  rendered in place of `canvas` when the optional `chart.js` peer dependency fails to load; the
48
49
  failure transition is announced through the shared document-level light-DOM assertive sink — see
49
50
  `llms/components/lr-chart.md`).
@@ -52,7 +53,8 @@ failure transition is announced through the shared document-level light-DOM asse
52
53
  `--lr-chart-tick-color`, `--lr-chart-legend-color`, `--lr-chart-tooltip-bg`,
53
54
  `--lr-chart-tooltip-text`, `--lr-chart-legend-item-hover-bg`,
54
55
  `--lr-chart-legend-item-active-bg`, `--lr-chart-data-table-button-hover-bg`,
55
- `--lr-chart-data-table-button-active-bg`, `--lr-chart-reset-zoom-button-hover-bg`,
56
+ `--lr-chart-data-table-button-active-bg`, `--lr-chart-data-table-toggle-hover-bg`,
57
+ `--lr-chart-data-table-toggle-active-bg`, `--lr-chart-reset-zoom-button-hover-bg`,
56
58
  `--lr-chart-reset-zoom-button-active-bg`, `--lr-chart-canvas-hover-outline-width`, and
57
59
  `--lr-chart-pattern-step`, plus `--lr-chart-legend-side-max` — all inherited from `LyraChart`, identical in meaning and default (see
58
60
  `lr-chart` above); each of the eight variants below reads the same set, so one rule retunes them
@@ -66,7 +68,7 @@ together. The mirrored hooks are `--border-color-1`,
66
68
  `zoom` is set, and `chartjs-plugin-datalabels` only once `data-labels`/`stack-totals` is set.
67
69
 
68
70
  ```html
69
- <lr-bar-chart legend></lr-bar-chart>
71
+ <lr-bar-chart></lr-bar-chart>
70
72
  <lr-pie-chart></lr-pie-chart>
71
73
  <script>
72
74
  document.querySelector('lr-bar-chart').labels = ['A', 'B'];
@@ -85,16 +85,30 @@ readonly color, readonly label? }`; `color`
85
85
  per-category only. The marker count is reported as its own clause rather than folded into any
86
86
  category's count. Unset (the default) changes nothing: no extra legend row, no extra summary clause
87
87
 
88
+ - `selectedIndex: number = -1` (attribute `selected-index`) — the currently selected item, or `-1`
89
+ for none. **Controlled:** activating a cell emits `lr-item-activate` and does *not* move the
90
+ selection itself, so the consumer stays the single source of truth and the strip cannot drift from
91
+ a playback index it does not own (its natural companion is `lr-sequence-playback`). Mirrors the
92
+ shape `lr-lite-chart`'s `selectedIndices` and `lr-heatmap`'s `selectedCell` already establish. An
93
+ out-of-range or non-integer value selects nothing. The selected cell carries `aria-current="true"`
94
+ and `data-selected`; the selection is drawn as a ring rather than a background change, because a
95
+ cell's background is data (its category colour) and tinting it would misreport the category
96
+
88
97
  The single-member `orientation: 'horizontal'` property was **removed in 9.0.0**: nothing read it and
89
98
  the stylesheet never mentioned it, so the reflected attribute styled nothing. Delete the attribute;
90
99
  the strip has always laid out horizontally.
91
100
 
92
- **Events:** none.
101
+ **Events:** `lr-item-activate` — `detail: { index: number; id: string; item: SequenceStripItem }`,
102
+ fired when a cell is clicked or activated with Enter/Space on the roving-tabindex focus. Not
103
+ cancelable: nothing in the component branches on `defaultPrevented`. Bubbles and composed, like every
104
+ library event.
93
105
 
94
106
  **Slots:** none.
95
107
 
96
108
  **CSS parts:** `base` (the root strip, `role="list"`), `cell` (each item's `role="listitem"` cell,
97
- background-colored by its category and carrying the roving `tabindex`), `marker` (the small bottom
109
+ background-colored by its category, carrying the roving `tabindex`, and activatable by click or
110
+ Enter/Space — it has a pointer cursor plus paired hover/press treatments, and `[data-selected]` when
111
+ it is `selectedIndex`), `marker` (the small bottom
98
112
  marker on a cell whose item sets `marker: true`), `tooltip` (the detail tooltip showing the active
99
113
  item's label, hidden until a cell is hovered or focused),
100
114
  `legend` (the static category key rendered below the strip when `showLegend` is set — `aria-hidden`,
@@ -204,6 +204,7 @@ Mapped aliases are also live: `--thumb-size`, `--thumb-width`, `--thumb-height`,
204
204
 
205
205
  ```html
206
206
  <lr-slider
207
+ id="temperature-slider"
207
208
  name="temperature"
208
209
  min="0"
209
210
  max="2"
@@ -212,14 +213,11 @@ Mapped aliases are also live: `--thumb-size`, `--thumb-width`, `--thumb-height`,
212
213
  hint="Higher values make replies more varied."
213
214
  with-markers
214
215
  with-tooltip
215
- .valueAsNumber=${0.7}
216
- .valueFormatter=${(value, handle) => `${value * 100}%`}
217
- @lr-input=${(e) => setDraftTemperature(e.detail.value)}
218
- @lr-change=${(e) => commitTemperature(e.detail.value)}
219
216
  ></lr-slider>
220
217
 
221
218
  <!-- Two handles, vertical. A name submits two `price` entries. -->
222
219
  <lr-slider
220
+ id="price-slider"
223
221
  range
224
222
  name="price"
225
223
  orientation="vertical"
@@ -229,8 +227,17 @@ Mapped aliases are also live: `--thumb-size`, `--thumb-width`, `--thumb-height`,
229
227
  min-value="200"
230
228
  max-value="800"
231
229
  label="Price"
232
- @lr-change=${(e) => applyPriceFilter(e.detail.minValue, e.detail.maxValue)}
233
230
  ></lr-slider>
231
+ <script type="module">
232
+ const temperature = document.getElementById("temperature-slider");
233
+ temperature.valueAsNumber = 0.7;
234
+ temperature.valueFormatter = (value, handle) => `${value * 100}%`;
235
+ temperature.addEventListener("lr-input", (e) => setDraftTemperature(e.detail.value));
236
+ temperature.addEventListener("lr-change", (e) => commitTemperature(e.detail.value));
237
+
238
+ const price = document.getElementById("price-slider");
239
+ price.addEventListener("lr-change", (e) => applyPriceFilter(e.detail.minValue, e.detail.maxValue));
240
+ </script>
234
241
  ```
235
242
 
236
243
  An unset `value` starts at numeric `0`, clamped into the configured domain and step grid. A reset
@@ -6,7 +6,7 @@
6
6
  - **Class** `LyraSparkline`, also available unregistered from `@aceshooting/lyra-ui/components/data/sparkline/sparkline.class.js`
7
7
  - **Family** `components/data/` — see `llms/index.md` for its siblings
8
8
  - **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
9
- - **Deprecated part** `base` since `8.0.0`; use part `::part(sparkline)`; removal not before `10.0.0` — The sparkline part names the rendered SVG wrapper unambiguously; base remains on that same node during the compatibility window.
9
+ - **Deprecated part** `base` since `8.0.0`; use part `::part(sparkline)`; removal not before `10.0.0` — The sparkline part names the rendered SVG wrapper unambiguously; base remains on that same node during the compatibility window. That version is a policy floor, not a plan: `wa-sparkline` still publishes its own deprecated `base` part, so this alias is removed only when upstream's is.
10
10
  - **Optional peers** none
11
11
  - **Themeable via** 6 parts, 4 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
12
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
@@ -58,7 +58,12 @@ Enter/Space activate. Renders inside an internal `lr-scroller` (`orientation="ho
58
58
  `hide-scrollbar`) unless `wrap` is set.
59
59
 
60
60
  ```html
61
- <lr-suggestion-chips .suggestions=${followUps}
62
- @lr-suggestion-select=${(e) => (composer.value = e.detail.label)}></lr-suggestion-chips>
61
+ <lr-suggestion-chips></lr-suggestion-chips>
63
62
  <lr-chat-composer></lr-chat-composer>
63
+ <script type="module">
64
+ const chips = document.querySelector("lr-suggestion-chips");
65
+ const composer = document.querySelector("lr-chat-composer");
66
+ chips.suggestions = followUps;
67
+ chips.addEventListener("lr-suggestion-select", (e) => (composer.value = e.detail.label));
68
+ </script>
64
69
  ```
@@ -6,8 +6,7 @@
6
6
  - **Class** `LyraSwatchPicker`, also available unregistered from `@aceshooting/lyra-ui/components/forms/swatch-picker/swatch-picker.class.js`
7
7
  - **Family** `components/forms/` — see `llms/index.md` for its siblings
8
8
  - **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
9
- - **Deprecated property** `label` / `label` since `8.2.3`; use property `aria-label="…"`; removal not before `10.0.0` — accessibleLabel names the accessibility-only value explicitly while label remains a compatibility alias.
10
- - **Deprecated property** `options` since `8.2.3`; use property `.items = […]`; removal not before `10.0.0` — items follows the shared collection vocabulary while options remains a compatibility alias over the same immutable snapshot.
9
+ - **Deprecations** none
11
10
  - **Optional peers** none
12
11
  - **Themeable via** 4 parts, 8 custom properties — see this component's own `@csspart`/`@cssprop` list below
13
12
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
@@ -49,9 +48,10 @@ gemstone?: GemstoneKey }`; a valid CSS `color` is used as the
49
48
  the selected glow/shine defaults.
50
49
  - `accessibleLabel: string = ''` (attribute `aria-label`) — accessible name copied to the internal
51
50
  `role="radiogroup"`; attribute presence wins, including an explicitly empty name.
52
- - `options` and `SwatchOption` remain compatibility aliases for `items` and `SwatchPickerItem`;
53
- new code uses the canonical sibling radiogroup vocabulary. The former invisible `label` IDL also
54
- remains as a compatibility fallback after `aria-label`/`accessibleLabel`.
51
+ - The 9.x compatibility aliases were removed in 10.0.0: `options` is `items`, the exported
52
+ `SwatchOption` type is `SwatchPickerItem`, and the former invisible `label` IDL is
53
+ `accessibleLabel`/`aria-label`. The canonical sibling radiogroup vocabulary is now the only
54
+ spelling.
55
55
  - `disabled: boolean = false` (reflected) — locks the whole picker. Every swatch renders as a real
56
56
  `disabled` `<button>`, so it leaves the tab sequence and cannot be activated; arrow/Home/End
57
57
  navigation and host `click()` become no-ops; and the swatches dim to `--lr-opacity-disabled` with
@@ -8,7 +8,7 @@
8
8
  - **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
9
9
  - **Deprecations** none
10
10
  - **Optional peers** none
11
- - **Themeable via** 11 parts, 12 custom properties — see this component's own `@csspart`/`@cssprop` list below
11
+ - **Themeable via** 12 parts, 12 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
12
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
13
13
 
14
14
  ---
@@ -86,7 +86,10 @@ restores the current default before making the control pristine again.
86
86
  - `help-text` — Shoelace alias for the same hint surface.
87
87
  - `error` — custom error content.
88
88
 
89
- **CSS parts:** `form-control` (the outer wrapper around the switch, error and hint), `base` /
89
+ **CSS parts:** `form-control` (the outer wrapper around the switch, error and hint), `row` (the row
90
+ wrapping the switch owner and the label as siblings — the node to size or align when laying out a
91
+ column of switches, since `base`/`switch` below is only the track box and its inline size tracks the
92
+ track rather than the row), `base` /
90
93
  `switch` / `wrapper` (the semantic interactive `role="switch"` owner; the rich label is its
91
94
  sibling), `track` / `control` (the
92
95
  pill-shaped background), `thumb` (the circular knob), `label` (wrapper around the default slot),
@@ -8,7 +8,7 @@
8
8
  - **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
9
9
  - **Deprecations** none
10
10
  - **Optional peers** none
11
- - **Themeable via** 34 parts, 15 custom properties — see this component's own `@csspart`/`@cssprop` list below
11
+ - **Themeable via** 34 parts, 18 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
12
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
13
13
 
14
14
  ---
@@ -220,7 +220,13 @@ cell: (row) => unknown }` —
220
220
  - `groupLabel?: (key: string | number, rows: readonly T[]) => unknown` (attribute: false) — custom group
221
221
  header content; without it, the group key is rendered as text
222
222
  - `expandedContent?: (row: T) => unknown` (attribute: false) — enables a leading expand toggle and
223
- renders a full-width detail row beneath expanded records
223
+ renders a full-width detail row beneath expanded records. The returned content renders inside
224
+ the component's shadow root, behind the `expanded-cell` part — page CSS cannot reach it, and
225
+ `::part(expanded-cell)` only reaches the wrapping `<td>` itself, not the descendants this
226
+ callback returns (the same `::part()` limitation a column's `cell(row)` anchors run into, see
227
+ `--lr-table-cell-link-color` below). Style such content by returning already-styled elements —
228
+ inline `style`, or elements that reference this table's own `--lr-*` design tokens, which
229
+ inherit across the shadow boundary like any custom property
224
230
  - `canExpand?: (row: T) => boolean` (attribute: false) — optional per-row gate for expansion
225
231
  - `expandedRowKeys: ReadonlySet<string | number> = new Set()` (attribute: false) — consumer-controlled
226
232
  expanded state bounded to 10,000 keys; malformed and whitespace-only string keys are omitted while valid
@@ -272,7 +278,11 @@ sort properties; server mode leaves them controlled. Other events are `lr-row-cl
272
278
  (`detail: { row }`), `lr-load-more` (fired on the "load more" button),
273
279
  `lr-priority-columns-visibility-change` (frozen readonly `detail: { visible }`), and `lr-row-expand-toggle`
274
280
  (`detail: { row, rowKey }`; the table does not mutate `expandedRowKeys`), and
275
- `lr-selection-change` (frozen readonly `detail: { rowKeys }`) when selection is enabled, `lr-filter-change`
281
+ `lr-selection-change` (frozen readonly `detail: { rowKeys }`, not cancelable) when selection is
282
+ enabled — fired both from a row activation and from a `selectionMode` flip to `'single'` that coerces
283
+ an existing multi-row selection down to one key (skipped on the very first render, since an
284
+ already-inconsistent initial `selectionMode`/`selectedRowKeys` pairing is a starting state, not a
285
+ live transition), `lr-filter-change`
276
286
  (frozen readonly `detail: { text }`), and `lr-page-change` (frozen readonly `detail: { page }`) from the
277
287
  filter/pagination surfaces, and `lr-cell-edit` (`detail: { row, columnKey, value }`) for editable
278
288
  columns, and `lr-column-resize` (`detail: { columnKey, width }`, `width` in CSS pixels) on every pointer or
@@ -321,7 +331,23 @@ no-rows states return the empty element as the shadow root's own root, with no `
321
331
  wrapper around it — `::part(base)` does not apply in those two states, only in the filtered-to-zero
322
332
  one — and that `empty` disappears entirely once the `empty` slot is filled.
323
333
 
324
- **Themeable custom properties:** `--lr-table-max-height` (default `none`; controls the scrollable
334
+ - `scrollMode: 'self' | 'page' = 'self'` (attribute `scroll-mode`, reflected) which element
335
+ scrolls when the table overflows. `'self'` makes `[part="base"]` the scroll container, which is
336
+ what pairs with `--lr-table-max-height` and makes the sticky header pin inside the table's own
337
+ viewport. `'page'` hands scrolling back to the document. Needed because a scroll container clips
338
+ **both** axes — CSS offers no way to scroll one and not the other — so an *uncapped* table that is
339
+ still `overflow: auto` becomes a sticky containing block that never scrolls, and its header
340
+ scrolls away with the page. With `'page'` the header's nearest scrollport is the page, so it pins
341
+ there; the cost is that a table wider than its host overflows the page instead of scrolling
342
+ inside itself. Named `scrollMode` rather than `scroll` because a `scroll` property would shadow
343
+ `Element.prototype.scroll()`
344
+
345
+ **Themeable custom properties:** `--lr-table-cell-color` (default `inherit`),
346
+ `--lr-table-cell-link-color` (default `var(--lr-color-brand)`) and
347
+ `--lr-table-cell-link-hover-color` — an anchor returned from a column's `cell(row)` renders inside
348
+ the component's shadow root, where page CSS cannot reach it and `::part()` cannot select past the
349
+ first compound selector to reach it either, so without these it computes to the UA default link
350
+ blue; set `revert` for the UA default. `--lr-table-max-height` (default `none`; controls the scrollable
325
351
  body's `max-block-size`). `--lr-table-heat-tint-lo` (default `var(--lr-color-brand-quiet)`) and
326
352
  `--lr-table-heat-tint-hi` (default `var(--lr-color-brand)`) — the `color-mix()` ramp endpoints
327
353
  for heat-tint mode's per-cell background, consulted only on columns/rows that define `heatValue`;
@@ -61,7 +61,9 @@ default the component creates a plain-text `Blob`/object URL and activates a syn
61
61
  `<a download>`; `preventDefault()` suppresses that built-in download so the host can substitute
62
62
  server-side or other handling),
63
63
  `lr-follow-change` (`detail: { following }`), `lr-search-change` (`detail: { query, matchCount,
64
- activeIndex }`), `lr-highlight-activate` (`detail: { highlightId }`), and `lr-text-select` (`detail: {
64
+ matchCountExact, activeIndex }`; `matchCountExact` is `false` once a search hits the 10,000-match
65
+ ceiling, marking `matchCount` as a lower bound rather than an exact total),
66
+ `lr-highlight-activate` (`detail: { highlightId }`), and `lr-text-select` (`detail: {
65
67
  text, anchor, rects }`).
66
68
 
67
69
  **CSS parts:** `base`, `toolbar` (only rendered when copy/download are enabled), `copy-button`,
@@ -193,14 +193,14 @@ short one, and falls back to exactly `24rem` in an auto-height container.
193
193
  style the pinned band with `lr-thread-list::part(group-sticky)`.
194
194
 
195
195
  ```html
196
- <lr-thread-list
197
- searchable
198
- sticky-groups
199
- .threads=${threads}
200
- active-conversation-id=${activeThreadId}
201
- .rowActions=${['pin', 'archive', 'delete']}
202
- @lr-select=${(e) => openThread(e.detail.conversationId)}
203
- ></lr-thread-list>
196
+ <lr-thread-list searchable sticky-groups></lr-thread-list>
197
+ <script type="module">
198
+ const list = document.querySelector("lr-thread-list");
199
+ list.threads = threads;
200
+ list.activeConversationId = activeThreadId;
201
+ list.rowActions = ["pin", "archive", "delete"];
202
+ list.addEventListener("lr-select", (e) => openThread(e.detail.conversationId));
203
+ </script>
204
204
  ```
205
205
 
206
206
  Composed with `lr-multi-split` (or `lr-app-rail` + `lr-responsive-panel`): thread-list in the start
@@ -30,7 +30,12 @@ than adding outer padding around the buttons.
30
30
  - `value: string` (also accepts a `Date` or `null` when assigned) — strict `HH:mm`, optional
31
31
  `:ss`/`.sss`; `Date` reads local clock fields without timezone conversion. Invalid strings and
32
32
  `null` normalize to `''`. `valueAsNumber` is milliseconds since midnight (`NaN` while blank),
33
- and `valueAsDate` applies the clock fields to today's local date (`null` while blank).
33
+ and `valueAsDate` applies the clock fields to today's local date (`null` while blank). Both are
34
+ settable, like the native `<input type="time">` properties they mirror: assigning `valueAsNumber`
35
+ sets `value` from the same scale, and out-of-range or non-finite figures clear the field rather
36
+ than wrapping into a different time; assigning `valueAsDate` reads the same local clock fields
37
+ back off the Date, so it round-trips with the getter, and `null`/an invalid Date clears. Both
38
+ assignments are silent, again like the native properties.
34
39
  - `defaultValue`, `name`, `form`, `disabled`, `required`, `customError`, `getForm()`,
35
40
  `checkValidity()`, `reportValidity()`, `setCustomValidity()`, and `resetValidity()` use the shared form-control
36
41
  contract. Reset restores the current declarative `value` default; `readonly` remains focusable
@@ -30,6 +30,30 @@ opposite default from `lr-stepper`; `horizontal` makes `[part='base']` a horizon
30
30
  (the `role="list"` element is in the shadow root and never inherits a host attribute). Read-only
31
31
  `itemCount: number` is the live count of direct default-slot `<lr-timeline-item>` children;
32
32
  unrelated slotted elements and text nodes are ignored.
33
+ `scale: 'flow' | 'time' = 'flow'` (attribute `scale`, type `LyraTimelineScale`) chooses how items
34
+ are distributed along the main axis. `'flow'` is the default even sequence, where `timestamp` is
35
+ rendered as text but carries no positional meaning. `'time'` positions each item at its true
36
+ proportion of the range, so a gap of weeks and a gap of decades stop looking identical. `'time'`
37
+ needs a definite extent to distribute along — `--lr-timeline-time-extent` (default
38
+ `var(--lr-size-20rem)`), applied as `block-size` when vertical and `inline-size` when horizontal —
39
+ because items are absolutely positioned and a percentage against an auto-sized track resolves to
40
+ zero. `collision: 'overlap' | 'stack' = 'overlap'` (attribute `collision`, type `LyraTimelineCollision`)
41
+ chooses what `scale="time"` does with items landing on nearly the same position: `'overlap'` leaves
42
+ them stacked on one another, `'stack'` steps each colliding item one lane along the **cross** axis
43
+ (indent per lane: `--lr-timeline-collision-offset`, default `var(--lr-space-l)`), which is what a
44
+ dense chronology needs — items within 1.5% of the axis of each other count as colliding, and an
45
+ isolated item returns to lane 0 rather than inheriting a preceding run's depth. There is
46
+ deliberately no `'cluster'` mode: collapsing coincident items into one expandable marker needs a
47
+ selection model and click events this passive component does not have.
48
+ `rangeStart` / `rangeEnd` (`Date | string | number`, attribute: false) pin the axis instead of
49
+ deriving it from the earliest/latest item; a reversed or non-finite pair falls back to the derived
50
+ range. An item with no parseable `timestamp` (including one supplied only through the `timestamp`
51
+ slot, which carries no machine-readable instant) keeps document order and is spread evenly, so a
52
+ partially-timestamped list degrades rather than stacking at the origin. Items sharing an instant
53
+ overlap rather than being fanned into lanes: lane assignment, brushing, zooming and per-event
54
+ selection belong to a denser component than this deliberately passive one. Positions are written to
55
+ each child as a private `--_lr-timeline-item-offset` custom property and removed again on a switch
56
+ back to `'flow'`, so the component still never alters its children's content or structure.
33
57
 
34
58
  **`lr-timeline-item` properties:** `timestamp?: Date | string | number` (attribute: false — `Date`
35
59
  isn't attribute-serializable; invalid input normalizes to unset and renders no timestamp UI),
@@ -8,7 +8,7 @@
8
8
  - **Status** `stable` since `4.0.0` — see the maturity and deprecation policy in `llms/shared.md`
9
9
  - **Deprecations** none
10
10
  - **Optional peers** none
11
- - **Themeable via** 1 part, 2 custom properties — see this component's own `@csspart`/`@cssprop` list below
11
+ - **Themeable via** 1 part, 4 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
12
  - **Documented with** `lr-timeline-item` (same section below)
13
13
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`
14
14
 
@@ -30,6 +30,30 @@ opposite default from `lr-stepper`; `horizontal` makes `[part='base']` a horizon
30
30
  (the `role="list"` element is in the shadow root and never inherits a host attribute). Read-only
31
31
  `itemCount: number` is the live count of direct default-slot `<lr-timeline-item>` children;
32
32
  unrelated slotted elements and text nodes are ignored.
33
+ `scale: 'flow' | 'time' = 'flow'` (attribute `scale`, type `LyraTimelineScale`) chooses how items
34
+ are distributed along the main axis. `'flow'` is the default even sequence, where `timestamp` is
35
+ rendered as text but carries no positional meaning. `'time'` positions each item at its true
36
+ proportion of the range, so a gap of weeks and a gap of decades stop looking identical. `'time'`
37
+ needs a definite extent to distribute along — `--lr-timeline-time-extent` (default
38
+ `var(--lr-size-20rem)`), applied as `block-size` when vertical and `inline-size` when horizontal —
39
+ because items are absolutely positioned and a percentage against an auto-sized track resolves to
40
+ zero. `collision: 'overlap' | 'stack' = 'overlap'` (attribute `collision`, type `LyraTimelineCollision`)
41
+ chooses what `scale="time"` does with items landing on nearly the same position: `'overlap'` leaves
42
+ them stacked on one another, `'stack'` steps each colliding item one lane along the **cross** axis
43
+ (indent per lane: `--lr-timeline-collision-offset`, default `var(--lr-space-l)`), which is what a
44
+ dense chronology needs — items within 1.5% of the axis of each other count as colliding, and an
45
+ isolated item returns to lane 0 rather than inheriting a preceding run's depth. There is
46
+ deliberately no `'cluster'` mode: collapsing coincident items into one expandable marker needs a
47
+ selection model and click events this passive component does not have.
48
+ `rangeStart` / `rangeEnd` (`Date | string | number`, attribute: false) pin the axis instead of
49
+ deriving it from the earliest/latest item; a reversed or non-finite pair falls back to the derived
50
+ range. An item with no parseable `timestamp` (including one supplied only through the `timestamp`
51
+ slot, which carries no machine-readable instant) keeps document order and is spread evenly, so a
52
+ partially-timestamped list degrades rather than stacking at the origin. Items sharing an instant
53
+ overlap rather than being fanned into lanes: lane assignment, brushing, zooming and per-event
54
+ selection belong to a denser component than this deliberately passive one. Positions are written to
55
+ each child as a private `--_lr-timeline-item-offset` custom property and removed again on a switch
56
+ back to `'flow'`, so the component still never alters its children's content or structure.
33
57
 
34
58
  **`lr-timeline-item` properties:** `timestamp?: Date | string | number` (attribute: false — `Date`
35
59
  isn't attribute-serializable; invalid input normalizes to unset and renders no timestamp UI),
@@ -46,11 +46,16 @@ each list mutation; native events have no detail and both aliases carry a frozen
46
46
  Native `FocusEvent` `focus`/`blur` are relayed once from the draft and inline editor, preserving
47
47
  `relatedTarget`. `lr-add`
48
48
  (`detail: { value, values }`, where `value` is the final added token and `values` is the frozen,
49
- readonly, complete ordered and deduplicated set of tokens added by that commit),
49
+ readonly, complete ordered and deduplicated set of tokens added by that commit — cancelable as of
50
+ 10.0.0; `preventDefault()` keeps the tokens out of `value` and leaves the typed draft text in the
51
+ input unchanged so the user can correct it, rather than clearing it),
50
52
  `lr-remove`
51
53
  (`detail: { value, index }` — cancelable; `preventDefault()` keeps the token in `value`
52
54
  unchanged), and `lr-token-edit`
53
- (`detail: { value, previousValue, index }` — an existing token was edited in place and committed).
55
+ (`detail: { value, previousValue, index }` — an existing token is about to be edited in place
56
+ cancelable as of 10.0.0; `preventDefault()` keeps the token in `value` unchanged and leaves the
57
+ inline editor open with the user's edited text intact, rather than closing and discarding it).
58
+ All three mutators now share one veto contract; previously only `lr-remove` could be vetoed.
54
59
  `lr-invalid` (no detail) is emitted once as a bubbling/composed alias when native validity fails.
55
60
  **CSS parts:** `form-control`, `form-control-label`, `input-wrapper`, `token`, `token-label` (the
56
61
  token's text, doubling as the roving-focus edit trigger — rendered only while `editable`),
@@ -112,15 +112,14 @@ other text-entry surface in the library provides), plus shared tokens
112
112
  package, not an optional peer.
113
113
 
114
114
  ```html
115
- <lr-tool-approval-dialog
116
- tool-name="send_email"
117
- .args=${{ to: 'ops@example.com', subject: 'Deploy finished' }}
118
- @lr-approve=${(e) => runTool(e.detail.args)}
119
- @lr-deny=${() => console.log('denied')}
120
- @lr-close=${(e) => console.log('closed:', e.detail)}
121
- ></lr-tool-approval-dialog>
115
+ <lr-tool-approval-dialog tool-name="send_email"></lr-tool-approval-dialog>
122
116
  <script type="module">
123
- document.querySelector('lr-tool-approval-dialog').open = true;
117
+ const dialog = document.querySelector("lr-tool-approval-dialog");
118
+ dialog.args = { to: "ops@example.com", subject: "Deploy finished" };
119
+ dialog.addEventListener("lr-approve", (e) => runTool(e.detail.args));
120
+ dialog.addEventListener("lr-deny", () => console.log("denied"));
121
+ dialog.addEventListener("lr-close", (e) => console.log("closed:", e.detail));
122
+ dialog.open = true;
124
123
  </script>
125
124
  ```
126
125
 
@@ -86,11 +86,15 @@ referenced: `--lr-color-text-quiet`, `--lr-color-surface`, `--lr-color-border`,
86
86
  summary="Searching web…"
87
87
  duration-ms="820"
88
88
  call-id="call_123"
89
- @lr-tool-call-chip-select=${(e) => openDetail(e.detail.callId)}
90
89
  >
91
90
  <pre slot="icon" style="display:none"></pre>
92
91
  <code>{"query": "lyra ui components"}</code>
93
92
  </lr-tool-call-chip>
93
+ <script type="module">
94
+ document
95
+ .querySelector("lr-tool-call-chip")
96
+ .addEventListener("lr-tool-call-chip-select", (e) => openDetail(e.detail.callId));
97
+ </script>
94
98
  ```
95
99
 
96
100
  The default slot's tooltip is positioned with the same `internal/positioner.js` `place()` helper
@@ -168,20 +168,22 @@ form: `--lr-space-l/-xs/-s`, `--lr-color-border`, `--lr-radius`, `--lr-color-sur
168
168
  dependencies of this package imported directly, not optional peers.
169
169
 
170
170
  ```html
171
- <lr-tool-param-form
172
- .schema=${{
173
- type: 'object',
171
+ <lr-tool-param-form></lr-tool-param-form>
172
+ <script type="module">
173
+ const form = document.querySelector("lr-tool-param-form");
174
+ form.schema = {
175
+ type: "object",
174
176
  properties: {
175
- title: { type: 'string', title: 'Title' },
176
- attendees: { type: 'string', enum: ['team', 'everyone'], default: 'team' },
177
- allDay: { type: 'boolean', title: 'All day' },
177
+ title: { type: "string", title: "Title" },
178
+ attendees: { type: "string", enum: ["team", "everyone"], default: "team" },
179
+ allDay: { type: "boolean", title: "All day" },
178
180
  },
179
- required: ['title'],
180
- }}
181
- .value=${draftArgs}
182
- @lr-input=${(e) => (draftArgs = e.detail.value)}
183
- @lr-validity-change=${(e) => (formIsValid = e.detail.valid)}
184
- ></lr-tool-param-form>
181
+ required: ["title"],
182
+ };
183
+ form.value = draftArgs;
184
+ form.addEventListener("lr-input", (e) => (draftArgs = e.detail.value));
185
+ form.addEventListener("lr-validity-change", (e) => (formIsValid = e.detail.valid));
186
+ </script>
185
187
  ```
186
188
 
187
189
  This component owns no Submit/Cancel/Approve chrome — a consumer composes it inside their own dialog
@@ -74,20 +74,22 @@ tokens `--lr-color-surface/-border/-text-quiet/-brand/-brand-quiet/-success/-suc
74
74
  **Optional peer deps:** none.
75
75
 
76
76
  ```html
77
- <lr-tool-result-dialog
78
- tool-name="run_query"
79
- status="success"
80
- duration-ms="1240"
81
- ?open=${dialogOpen}
82
- @lr-close=${(e) => (dialogOpen = false)}
83
- @lr-maximize-change=${(e) => console.log('maximized:', e.detail.maximized)}
84
- >
77
+ <lr-tool-result-dialog tool-name="run_query" status="success" duration-ms="1240">
85
78
  <lr-tab-group slot="body">
86
79
  <div slot="preview" label="Preview">…</div>
87
- <div slot="json" label="JSON"><lr-json-viewer .data=${result}></lr-json-viewer></div>
80
+ <div slot="json" label="JSON"><lr-json-viewer></lr-json-viewer></div>
88
81
  </lr-tab-group>
89
82
  <button slot="footer">Rerun</button>
90
83
  </lr-tool-result-dialog>
84
+ <script type="module">
85
+ const dialog = document.querySelector("lr-tool-result-dialog");
86
+ dialog.querySelector("lr-json-viewer").data = result;
87
+ dialog.open = true;
88
+ dialog.addEventListener("lr-close", () => (dialog.open = false));
89
+ dialog.addEventListener("lr-maximize-change", (e) =>
90
+ console.log("maximized:", e.detail.maximized)
91
+ );
92
+ </script>
91
93
  ```
92
94
 
93
95
  While open, `[part="panel"]` takes `role="dialog"` + `aria-modal="true"` with `aria-labelledby`
@@ -78,12 +78,13 @@ of course pull in whatever they need (a charting library, a markdown renderer),
78
78
  the lazy `load()` path in the registry exists for.
79
79
 
80
80
  ```html
81
- <lr-tool-result-view
82
- tool-name="get_weather"
83
- .result=${{ tempC: 21, condition: 'cloudy' }}
84
- .args=${{ city: 'Brussels' }}
85
- @lr-render-error=${(e) => console.warn('renderer failed', e.detail)}
86
- ></lr-tool-result-view>
81
+ <lr-tool-result-view tool-name="get_weather"></lr-tool-result-view>
82
+ <script type="module">
83
+ const view = document.querySelector("lr-tool-result-view");
84
+ view.result = { tempC: 21, condition: "cloudy" };
85
+ view.args = { city: "Brussels" };
86
+ view.addEventListener("lr-render-error", (e) => console.warn("renderer failed", e.detail));
87
+ </script>
87
88
  ```
88
89
 
89
90
  ### `registerToolRenderer()` and the tool-renderer registry (`registry.ts`)
@@ -102,23 +102,25 @@ assigned elements.
102
102
  dependencies of this package imported directly, not optional peers.
103
103
 
104
104
  ```html
105
- <lr-tool-select-dialog
106
- label="Select tools"
107
- .tools=${[
108
- { id: 'search', name: 'Web search', category: 'Research' },
109
- { id: 'python', name: 'Python', category: 'Code', description: 'Run sandboxed Python' },
110
- { id: 'admin', name: 'Admin console', disabled: true, disabledReason: 'Requires admin approval' },
111
- ]}
112
- .selectedToolIds=${enabledToolIds}
113
- ?use-defaults=${usingDefaults}
114
- ?open=${dialogOpen}
115
- @lr-change=${(e) => updateTools(e.detail.selectedToolIds, e.detail.useDefaults)}
116
- @lr-close=${() => (dialogOpen = false)}
117
- >
118
- <button slot="footer" @click=${(e) => e.target.closest('lr-tool-select-dialog').close('done')}>
119
- Done
120
- </button>
105
+ <lr-tool-select-dialog label="Select tools">
106
+ <button slot="footer" id="done-btn">Done</button>
121
107
  </lr-tool-select-dialog>
108
+ <script type="module">
109
+ const dialog = document.querySelector("lr-tool-select-dialog");
110
+ dialog.tools = [
111
+ { id: "search", name: "Web search", category: "Research" },
112
+ { id: "python", name: "Python", category: "Code", description: "Run sandboxed Python" },
113
+ { id: "admin", name: "Admin console", disabled: true, disabledReason: "Requires admin approval" },
114
+ ];
115
+ dialog.selectedToolIds = enabledToolIds;
116
+ dialog.useDefaults = usingDefaults;
117
+ dialog.open = true;
118
+ dialog.addEventListener("lr-change", (e) =>
119
+ updateTools(e.detail.selectedToolIds, e.detail.useDefaults)
120
+ );
121
+ dialog.addEventListener("lr-close", () => (dialog.open = false));
122
+ dialog.querySelector("#done-btn").addEventListener("click", () => dialog.close("done"));
123
+ </script>
122
124
  ```
123
125
 
124
126
  `useDefaults` is a single top-level switch: while `true`, every per-tool checkbox renders disabled
@@ -23,9 +23,11 @@ columns. Consumes the same `LyraSpan[]` as `<lr-span-waterfall>`.
23
23
  under `lr-span-waterfall` above (exported from `trace-tree/span.ts`); hierarchy comes from
24
24
  `parentId`, and a span whose `parentId` is missing or doesn't resolve within the same array renders
25
25
  as a root rather than being dropped. `activeSpanId: string | null = null`
26
- (attribute `active-span-id`), `label: string = ''`, `showTokens: boolean = false` (attribute
26
+ (attribute `active-span-id`), `label?: string`, `showTokens: boolean = false` (attribute
27
27
  `show-tokens`) — surfaces `tokensIn`/`tokensOut`, `showCost: boolean = false` (attribute
28
28
  `show-cost`) — surfaces `costText`, and `hideBars: boolean = false` (attribute `hide-bars`).
29
+ `label` is an optional accessible-name override for the `role="tree"` element: omission localizes
30
+ the default, and any supplied string — including `''` — is rendered verbatim.
29
31
  Token counts render only when finite and non-negative; invalid metrics are omitted rather than
30
32
  reaching `Intl.NumberFormat`. A row's accessible name includes its optional `detail` text as well
31
33
  as its name/status/metrics, and updates when the supplied span data changes. Every trace view uses
@@ -53,6 +53,9 @@ describable), `summary`, `tokens-in`, `tokens-out`, `cost`, `latency`, `tooltip`
53
53
  cost-text="$0.012"
54
54
  latency-ms="2350"
55
55
  ></lr-usage-badge>
56
- <lr-markdown .content="${answer}"></lr-markdown>
56
+ <lr-markdown></lr-markdown>
57
57
  </lr-chat-message>
58
+ <script type="module">
59
+ document.querySelector("lr-chat-message lr-markdown").content = answer;
60
+ </script>
58
61
  ```
@@ -6,7 +6,7 @@
6
6
  - **Class** `LyraVideoPlaylist`, also available unregistered from `@aceshooting/lyra-ui/components/media/video-playlist/video-playlist.class.js`
7
7
  - **Family** `components/media/` — see `llms/index.md` for its siblings
8
8
  - **Status** `experimental` since `8.0.0` — see the maturity and deprecation policy in `llms/shared.md`
9
- - **Deprecated part** `base` since `8.0.0`; use part `::part(video-playlist)`; removal not before `10.0.0` — The video-playlist part identifies the root component explicitly; base remains on the same root node for migration compatibility.
9
+ - **Deprecated part** `base` since `8.0.0`; use part `::part(video-playlist)`; removal not before `10.0.0` — The video-playlist part identifies the root component explicitly; base remains on the same root node for migration compatibility. That version is a policy floor, not a plan: `wa-video-playlist` still publishes its own deprecated `base` part, so this alias is removed only when upstream's is.
10
10
  - **Optional peers** `dompurify` — see `llms/peers.md`
11
11
  - **Themeable via** 7 parts, 2 custom properties — see this component's own `@csspart`/`@cssprop` list below
12
12
  - **Library-wide behavior** (events, form association, `locale`/`strings`, tokens, TS types): `llms/shared.md`