@aceshooting/lyra-ui 7.6.0 → 7.8.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 (1121) hide show
  1. package/CHANGELOG.md +171 -0
  2. package/custom-elements.json +12556 -4856
  3. package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +2 -0
  4. package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts.map +1 -1
  5. package/dist/components/agent-tools/activity-feed/activity-feed.class.js +28 -2
  6. package/dist/components/agent-tools/activity-feed/activity-feed.class.js.map +1 -1
  7. package/dist/components/agent-tools/activity-feed/activity-feed.styles.d.ts.map +1 -1
  8. package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +7 -2
  9. package/dist/components/agent-tools/activity-feed/activity-feed.styles.js.map +1 -1
  10. package/dist/components/agent-tools/agent-run/agent-run.styles.d.ts.map +1 -1
  11. package/dist/components/agent-tools/agent-run/agent-run.styles.js +18 -3
  12. package/dist/components/agent-tools/agent-run/agent-run.styles.js.map +1 -1
  13. package/dist/components/agent-tools/agent-trace/agent-trace.class.d.ts.map +1 -1
  14. package/dist/components/agent-tools/agent-trace/agent-trace.class.js +4 -6
  15. package/dist/components/agent-tools/agent-trace/agent-trace.class.js.map +1 -1
  16. package/dist/components/agent-tools/approval-queue/approval-queue.class.d.ts.map +1 -1
  17. package/dist/components/agent-tools/approval-queue/approval-queue.class.js +11 -10
  18. package/dist/components/agent-tools/approval-queue/approval-queue.class.js.map +1 -1
  19. package/dist/components/agent-tools/artifact-panel/artifact-panel.class.d.ts +5 -0
  20. package/dist/components/agent-tools/artifact-panel/artifact-panel.class.d.ts.map +1 -1
  21. package/dist/components/agent-tools/artifact-panel/artifact-panel.class.js +19 -5
  22. package/dist/components/agent-tools/artifact-panel/artifact-panel.class.js.map +1 -1
  23. package/dist/components/agent-tools/browser-frame/browser-frame.class.d.ts +8 -1
  24. package/dist/components/agent-tools/browser-frame/browser-frame.class.d.ts.map +1 -1
  25. package/dist/components/agent-tools/browser-frame/browser-frame.class.js +30 -6
  26. package/dist/components/agent-tools/browser-frame/browser-frame.class.js.map +1 -1
  27. package/dist/components/agent-tools/commit-card/commit-card.class.d.ts +4 -0
  28. package/dist/components/agent-tools/commit-card/commit-card.class.d.ts.map +1 -1
  29. package/dist/components/agent-tools/commit-card/commit-card.class.js +19 -6
  30. package/dist/components/agent-tools/commit-card/commit-card.class.js.map +1 -1
  31. package/dist/components/agent-tools/commit-card/commit-card.styles.d.ts.map +1 -1
  32. package/dist/components/agent-tools/commit-card/commit-card.styles.js +19 -0
  33. package/dist/components/agent-tools/commit-card/commit-card.styles.js.map +1 -1
  34. package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts +6 -0
  35. package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts.map +1 -1
  36. package/dist/components/agent-tools/compare-panel/compare-panel.class.js +6 -0
  37. package/dist/components/agent-tools/compare-panel/compare-panel.class.js.map +1 -1
  38. package/dist/components/agent-tools/compare-panel/compare-panel.styles.js +4 -4
  39. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +6 -0
  40. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts.map +1 -1
  41. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +6 -0
  42. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js.map +1 -1
  43. package/dist/components/agent-tools/context-inspector/context-inspector.class.d.ts +6 -2
  44. package/dist/components/agent-tools/context-inspector/context-inspector.class.d.ts.map +1 -1
  45. package/dist/components/agent-tools/context-inspector/context-inspector.class.js.map +1 -1
  46. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +2 -0
  47. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts.map +1 -1
  48. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js.map +1 -1
  49. package/dist/components/agent-tools/eval-result/eval-result.class.js +1 -1
  50. package/dist/components/agent-tools/eval-result/eval-result.class.js.map +1 -1
  51. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.d.ts.map +1 -1
  52. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +10 -5
  53. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js.map +1 -1
  54. package/dist/components/agent-tools/mcp-app/mcp-app.class.d.ts +1 -0
  55. package/dist/components/agent-tools/mcp-app/mcp-app.class.d.ts.map +1 -1
  56. package/dist/components/agent-tools/mcp-app/mcp-app.class.js +17 -12
  57. package/dist/components/agent-tools/mcp-app/mcp-app.class.js.map +1 -1
  58. package/dist/components/agent-tools/policy-summary/policy-summary.class.d.ts.map +1 -1
  59. package/dist/components/agent-tools/policy-summary/policy-summary.class.js +3 -1
  60. package/dist/components/agent-tools/policy-summary/policy-summary.class.js.map +1 -1
  61. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts.map +1 -1
  62. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +8 -6
  63. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js.map +1 -1
  64. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +1 -0
  65. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts.map +1 -1
  66. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +21 -4
  67. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js.map +1 -1
  68. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.d.ts +6 -0
  69. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.d.ts.map +1 -1
  70. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +16 -4
  71. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js.map +1 -1
  72. package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.d.ts.map +1 -1
  73. package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +18 -6
  74. package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js.map +1 -1
  75. package/dist/components/agent-tools/stack-trace/stack-trace.class.d.ts +2 -0
  76. package/dist/components/agent-tools/stack-trace/stack-trace.class.d.ts.map +1 -1
  77. package/dist/components/agent-tools/stack-trace/stack-trace.class.js +12 -2
  78. package/dist/components/agent-tools/stack-trace/stack-trace.class.js.map +1 -1
  79. package/dist/components/agent-tools/stack-trace/stack-trace.styles.js +4 -4
  80. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.d.ts.map +1 -1
  81. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +24 -2
  82. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js.map +1 -1
  83. package/dist/components/agent-tools/task-list/task-list.class.d.ts +4 -0
  84. package/dist/components/agent-tools/task-list/task-list.class.d.ts.map +1 -1
  85. package/dist/components/agent-tools/task-list/task-list.class.js +10 -1
  86. package/dist/components/agent-tools/task-list/task-list.class.js.map +1 -1
  87. package/dist/components/agent-tools/task-list/task-list.styles.d.ts.map +1 -1
  88. package/dist/components/agent-tools/task-list/task-list.styles.js +12 -5
  89. package/dist/components/agent-tools/task-list/task-list.styles.js.map +1 -1
  90. package/dist/components/agent-tools/terminal/terminal.class.d.ts +12 -2
  91. package/dist/components/agent-tools/terminal/terminal.class.d.ts.map +1 -1
  92. package/dist/components/agent-tools/terminal/terminal.class.js +95 -26
  93. package/dist/components/agent-tools/terminal/terminal.class.js.map +1 -1
  94. package/dist/components/agent-tools/test-results/test-results.class.d.ts +28 -8
  95. package/dist/components/agent-tools/test-results/test-results.class.d.ts.map +1 -1
  96. package/dist/components/agent-tools/test-results/test-results.class.js +157 -61
  97. package/dist/components/agent-tools/test-results/test-results.class.js.map +1 -1
  98. package/dist/components/agent-tools/test-results/test-results.styles.d.ts.map +1 -1
  99. package/dist/components/agent-tools/test-results/test-results.styles.js +12 -10
  100. package/dist/components/agent-tools/test-results/test-results.styles.js.map +1 -1
  101. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts +1 -0
  102. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts.map +1 -1
  103. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js +1 -0
  104. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js.map +1 -1
  105. package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.d.ts.map +1 -1
  106. package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +6 -2
  107. package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js.map +1 -1
  108. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts +2 -0
  109. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts.map +1 -1
  110. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +2 -0
  111. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js.map +1 -1
  112. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.styles.js +1 -1
  113. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.d.ts.map +1 -1
  114. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js +18 -4
  115. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js.map +1 -1
  116. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +6 -0
  117. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts.map +1 -1
  118. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +68 -21
  119. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js.map +1 -1
  120. package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.d.ts.map +1 -1
  121. package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.js +18 -0
  122. package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.js.map +1 -1
  123. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts +4 -1
  124. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.d.ts.map +1 -1
  125. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +14 -10
  126. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js.map +1 -1
  127. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts.map +1 -1
  128. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +1 -0
  129. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js.map +1 -1
  130. package/dist/components/agent-tools/trace-tree/trace-tree.class.d.ts +1 -0
  131. package/dist/components/agent-tools/trace-tree/trace-tree.class.d.ts.map +1 -1
  132. package/dist/components/agent-tools/trace-tree/trace-tree.class.js +10 -6
  133. package/dist/components/agent-tools/trace-tree/trace-tree.class.js.map +1 -1
  134. package/dist/components/charts/chart/box-plot.class.d.ts +10 -0
  135. package/dist/components/charts/chart/box-plot.class.d.ts.map +1 -1
  136. package/dist/components/charts/chart/box-plot.class.js +72 -15
  137. package/dist/components/charts/chart/box-plot.class.js.map +1 -1
  138. package/dist/components/charts/chart/box-plot.styles.d.ts.map +1 -1
  139. package/dist/components/charts/chart/box-plot.styles.js +62 -3
  140. package/dist/components/charts/chart/box-plot.styles.js.map +1 -1
  141. package/dist/components/charts/chart/bubble-chart.class.d.ts +2 -4
  142. package/dist/components/charts/chart/bubble-chart.class.d.ts.map +1 -1
  143. package/dist/components/charts/chart/bubble-chart.class.js +2 -4
  144. package/dist/components/charts/chart/bubble-chart.class.js.map +1 -1
  145. package/dist/components/charts/chart/chart.class.d.ts +54 -13
  146. package/dist/components/charts/chart/chart.class.d.ts.map +1 -1
  147. package/dist/components/charts/chart/chart.class.js +434 -120
  148. package/dist/components/charts/chart/chart.class.js.map +1 -1
  149. package/dist/components/charts/chart/chart.styles.d.ts.map +1 -1
  150. package/dist/components/charts/chart/chart.styles.js +102 -3
  151. package/dist/components/charts/chart/chart.styles.js.map +1 -1
  152. package/dist/components/charts/chart/histogram-bin.d.ts.map +1 -1
  153. package/dist/components/charts/chart/histogram-bin.js +5 -5
  154. package/dist/components/charts/chart/histogram-bin.js.map +1 -1
  155. package/dist/components/charts/chart/histogram.class.d.ts +6 -1
  156. package/dist/components/charts/chart/histogram.class.d.ts.map +1 -1
  157. package/dist/components/charts/chart/histogram.class.js +13 -5
  158. package/dist/components/charts/chart/histogram.class.js.map +1 -1
  159. package/dist/components/charts/chart/lite-chart.class.d.ts +7 -3
  160. package/dist/components/charts/chart/lite-chart.class.d.ts.map +1 -1
  161. package/dist/components/charts/chart/lite-chart.class.js +99 -17
  162. package/dist/components/charts/chart/lite-chart.class.js.map +1 -1
  163. package/dist/components/charts/chart/lite-chart.styles.js +1 -1
  164. package/dist/components/conversation/code-block/code-block-shared.d.ts.map +1 -1
  165. package/dist/components/conversation/code-block/code-block-shared.js +9 -1
  166. package/dist/components/conversation/code-block/code-block-shared.js.map +1 -1
  167. package/dist/components/conversation/conversation-item/conversation-item.class.d.ts +3 -0
  168. package/dist/components/conversation/conversation-item/conversation-item.class.d.ts.map +1 -1
  169. package/dist/components/conversation/conversation-item/conversation-item.class.js +23 -4
  170. package/dist/components/conversation/conversation-item/conversation-item.class.js.map +1 -1
  171. package/dist/components/conversation/markdown/markdown-core.class.d.ts.map +1 -1
  172. package/dist/components/conversation/markdown/markdown-core.class.js +2 -1
  173. package/dist/components/conversation/markdown/markdown-core.class.js.map +1 -1
  174. package/dist/components/conversation/markdown/markdown-shared.d.ts +6 -1
  175. package/dist/components/conversation/markdown/markdown-shared.d.ts.map +1 -1
  176. package/dist/components/conversation/markdown/markdown-shared.js +6 -3
  177. package/dist/components/conversation/markdown/markdown-shared.js.map +1 -1
  178. package/dist/components/conversation/markdown/markdown.class.d.ts.map +1 -1
  179. package/dist/components/conversation/markdown/markdown.class.js +2 -1
  180. package/dist/components/conversation/markdown/markdown.class.js.map +1 -1
  181. package/dist/components/conversation/message-actions/message-actions.class.d.ts +4 -10
  182. package/dist/components/conversation/message-actions/message-actions.class.d.ts.map +1 -1
  183. package/dist/components/conversation/message-actions/message-actions.class.js +23 -14
  184. package/dist/components/conversation/message-actions/message-actions.class.js.map +1 -1
  185. package/dist/components/conversation/message-feedback/message-feedback.class.d.ts +4 -1
  186. package/dist/components/conversation/message-feedback/message-feedback.class.d.ts.map +1 -1
  187. package/dist/components/conversation/message-feedback/message-feedback.class.js +36 -6
  188. package/dist/components/conversation/message-feedback/message-feedback.class.js.map +1 -1
  189. package/dist/components/conversation/model-select/model-select.class.d.ts +3 -1
  190. package/dist/components/conversation/model-select/model-select.class.d.ts.map +1 -1
  191. package/dist/components/conversation/model-select/model-select.class.js +14 -2
  192. package/dist/components/conversation/model-select/model-select.class.js.map +1 -1
  193. package/dist/components/conversation/model-settings-panel/model-settings-panel.class.d.ts.map +1 -1
  194. package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +9 -4
  195. package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js.map +1 -1
  196. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +2 -0
  197. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts.map +1 -1
  198. package/dist/components/conversation/prompt-input/prompt-input.class.js +15 -1
  199. package/dist/components/conversation/prompt-input/prompt-input.class.js.map +1 -1
  200. package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts.map +1 -1
  201. package/dist/components/conversation/prompt-queue/prompt-queue.class.js +5 -0
  202. package/dist/components/conversation/prompt-queue/prompt-queue.class.js.map +1 -1
  203. package/dist/components/conversation/push-to-talk/push-to-talk.class.d.ts +2 -0
  204. package/dist/components/conversation/push-to-talk/push-to-talk.class.d.ts.map +1 -1
  205. package/dist/components/conversation/push-to-talk/push-to-talk.class.js +17 -5
  206. package/dist/components/conversation/push-to-talk/push-to-talk.class.js.map +1 -1
  207. package/dist/components/conversation/realtime-session/realtime-session.class.d.ts.map +1 -1
  208. package/dist/components/conversation/realtime-session/realtime-session.class.js +10 -2
  209. package/dist/components/conversation/realtime-session/realtime-session.class.js.map +1 -1
  210. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts +1 -0
  211. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts.map +1 -1
  212. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +30 -24
  213. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js.map +1 -1
  214. package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.d.ts.map +1 -1
  215. package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.js +10 -0
  216. package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.js.map +1 -1
  217. package/dist/components/conversation/thread-list/thread-list.class.d.ts +3 -0
  218. package/dist/components/conversation/thread-list/thread-list.class.d.ts.map +1 -1
  219. package/dist/components/conversation/thread-list/thread-list.class.js +33 -1
  220. package/dist/components/conversation/thread-list/thread-list.class.js.map +1 -1
  221. package/dist/components/conversation/widget-renderer/resolve.d.ts +5 -0
  222. package/dist/components/conversation/widget-renderer/resolve.d.ts.map +1 -1
  223. package/dist/components/conversation/widget-renderer/resolve.js +38 -2
  224. package/dist/components/conversation/widget-renderer/resolve.js.map +1 -1
  225. package/dist/components/conversation/widget-renderer/widget-renderer.class.d.ts +1 -0
  226. package/dist/components/conversation/widget-renderer/widget-renderer.class.d.ts.map +1 -1
  227. package/dist/components/conversation/widget-renderer/widget-renderer.class.js +17 -5
  228. package/dist/components/conversation/widget-renderer/widget-renderer.class.js.map +1 -1
  229. package/dist/components/data/calendar/calendar.styles.js +1 -1
  230. package/dist/components/data/document-library/document-library.class.d.ts +6 -0
  231. package/dist/components/data/document-library/document-library.class.d.ts.map +1 -1
  232. package/dist/components/data/document-library/document-library.class.js +15 -0
  233. package/dist/components/data/document-library/document-library.class.js.map +1 -1
  234. package/dist/components/data/env-list/env-list.class.d.ts.map +1 -1
  235. package/dist/components/data/env-list/env-list.class.js +6 -2
  236. package/dist/components/data/env-list/env-list.class.js.map +1 -1
  237. package/dist/components/data/env-list/env-list.styles.d.ts.map +1 -1
  238. package/dist/components/data/env-list/env-list.styles.js +16 -1
  239. package/dist/components/data/env-list/env-list.styles.js.map +1 -1
  240. package/dist/components/data/file-tree/file-tree.class.js +1 -1
  241. package/dist/components/data/file-tree/file-tree.class.js.map +1 -1
  242. package/dist/components/data/flow-canvas/flow-canvas.class.d.ts.map +1 -1
  243. package/dist/components/data/flow-canvas/flow-canvas.class.js +14 -3
  244. package/dist/components/data/flow-canvas/flow-canvas.class.js.map +1 -1
  245. package/dist/components/data/flow-controls/flow-controls.class.js +3 -3
  246. package/dist/components/data/flow-controls/flow-controls.class.js.map +1 -1
  247. package/dist/components/data/flow-minimap/flow-minimap.class.d.ts +7 -0
  248. package/dist/components/data/flow-minimap/flow-minimap.class.d.ts.map +1 -1
  249. package/dist/components/data/flow-minimap/flow-minimap.class.js +7 -0
  250. package/dist/components/data/flow-minimap/flow-minimap.class.js.map +1 -1
  251. package/dist/components/data/flow-minimap/flow-minimap.styles.d.ts.map +1 -1
  252. package/dist/components/data/flow-minimap/flow-minimap.styles.js +8 -5
  253. package/dist/components/data/flow-minimap/flow-minimap.styles.js.map +1 -1
  254. package/dist/components/data/flow-node/flow-node.class.d.ts +7 -0
  255. package/dist/components/data/flow-node/flow-node.class.d.ts.map +1 -1
  256. package/dist/components/data/flow-node/flow-node.class.js +7 -0
  257. package/dist/components/data/flow-node/flow-node.class.js.map +1 -1
  258. package/dist/components/data/flow-node/flow-node.styles.d.ts.map +1 -1
  259. package/dist/components/data/flow-node/flow-node.styles.js +16 -5
  260. package/dist/components/data/flow-node/flow-node.styles.js.map +1 -1
  261. package/dist/components/data/flow-run-overlay/flow-run-overlay.class.d.ts +8 -0
  262. package/dist/components/data/flow-run-overlay/flow-run-overlay.class.d.ts.map +1 -1
  263. package/dist/components/data/flow-run-overlay/flow-run-overlay.class.js +8 -0
  264. package/dist/components/data/flow-run-overlay/flow-run-overlay.class.js.map +1 -1
  265. package/dist/components/data/flow-run-overlay/flow-run-overlay.styles.d.ts.map +1 -1
  266. package/dist/components/data/flow-run-overlay/flow-run-overlay.styles.js +33 -5
  267. package/dist/components/data/flow-run-overlay/flow-run-overlay.styles.js.map +1 -1
  268. package/dist/components/data/gauge/gauge.class.d.ts.map +1 -1
  269. package/dist/components/data/gauge/gauge.class.js +71 -12
  270. package/dist/components/data/gauge/gauge.class.js.map +1 -1
  271. package/dist/components/data/heatmap/heatmap-scale.d.ts.map +1 -1
  272. package/dist/components/data/heatmap/heatmap-scale.js +3 -5
  273. package/dist/components/data/heatmap/heatmap-scale.js.map +1 -1
  274. package/dist/components/data/heatmap/heatmap.class.d.ts +8 -2
  275. package/dist/components/data/heatmap/heatmap.class.d.ts.map +1 -1
  276. package/dist/components/data/heatmap/heatmap.class.js +29 -16
  277. package/dist/components/data/heatmap/heatmap.class.js.map +1 -1
  278. package/dist/components/data/heatmap/heatmap.styles.d.ts.map +1 -1
  279. package/dist/components/data/heatmap/heatmap.styles.js +27 -1
  280. package/dist/components/data/heatmap/heatmap.styles.js.map +1 -1
  281. package/dist/components/data/query-builder/query-builder.class.d.ts +4 -0
  282. package/dist/components/data/query-builder/query-builder.class.d.ts.map +1 -1
  283. package/dist/components/data/query-builder/query-builder.class.js +10 -3
  284. package/dist/components/data/query-builder/query-builder.class.js.map +1 -1
  285. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +1 -0
  286. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts.map +1 -1
  287. package/dist/components/data/sequence-strip/sequence-strip.class.js +8 -4
  288. package/dist/components/data/sequence-strip/sequence-strip.class.js.map +1 -1
  289. package/dist/components/data/sparkline/sparkline.class.d.ts.map +1 -1
  290. package/dist/components/data/sparkline/sparkline.class.js +2 -3
  291. package/dist/components/data/sparkline/sparkline.class.js.map +1 -1
  292. package/dist/components/data/stat/stat.class.d.ts +6 -0
  293. package/dist/components/data/stat/stat.class.d.ts.map +1 -1
  294. package/dist/components/data/stat/stat.class.js +6 -0
  295. package/dist/components/data/stat/stat.class.js.map +1 -1
  296. package/dist/components/data/stat/stat.styles.js +3 -3
  297. package/dist/components/data/table/table.class.d.ts.map +1 -1
  298. package/dist/components/data/table/table.class.js +49 -12
  299. package/dist/components/data/table/table.class.js.map +1 -1
  300. package/dist/components/data/table/table.styles.d.ts.map +1 -1
  301. package/dist/components/data/table/table.styles.js +10 -1
  302. package/dist/components/data/table/table.styles.js.map +1 -1
  303. package/dist/components/data/timeline/timeline-item.class.d.ts +1 -2
  304. package/dist/components/data/timeline/timeline-item.class.d.ts.map +1 -1
  305. package/dist/components/data/timeline/timeline-item.class.js +2 -8
  306. package/dist/components/data/timeline/timeline-item.class.js.map +1 -1
  307. package/dist/components/data/timeline/timeline.class.d.ts +1 -0
  308. package/dist/components/data/timeline/timeline.class.d.ts.map +1 -1
  309. package/dist/components/data/timeline/timeline.class.js +7 -3
  310. package/dist/components/data/timeline/timeline.class.js.map +1 -1
  311. package/dist/components/data/tree/tree-node.class.d.ts +10 -0
  312. package/dist/components/data/tree/tree-node.class.d.ts.map +1 -1
  313. package/dist/components/data/tree/tree-node.class.js +20 -4
  314. package/dist/components/data/tree/tree-node.class.js.map +1 -1
  315. package/dist/components/data/tree/tree-node.styles.d.ts.map +1 -1
  316. package/dist/components/data/tree/tree-node.styles.js +13 -10
  317. package/dist/components/data/tree/tree-node.styles.js.map +1 -1
  318. package/dist/components/data/tree/tree.class.d.ts +5 -0
  319. package/dist/components/data/tree/tree.class.d.ts.map +1 -1
  320. package/dist/components/data/tree/tree.class.js +55 -11
  321. package/dist/components/data/tree/tree.class.js.map +1 -1
  322. package/dist/components/data/word-cloud/word-cloud.class.d.ts +9 -2
  323. package/dist/components/data/word-cloud/word-cloud.class.d.ts.map +1 -1
  324. package/dist/components/data/word-cloud/word-cloud.class.js +29 -10
  325. package/dist/components/data/word-cloud/word-cloud.class.js.map +1 -1
  326. package/dist/components/forms/checkbox/checkbox.class.d.ts +2 -2
  327. package/dist/components/forms/checkbox/checkbox.class.js +2 -2
  328. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts.map +1 -1
  329. package/dist/components/forms/checkbox-group/checkbox-group.class.js +8 -2
  330. package/dist/components/forms/checkbox-group/checkbox-group.class.js.map +1 -1
  331. package/dist/components/forms/checkbox-group/checkbox-group.styles.d.ts.map +1 -1
  332. package/dist/components/forms/checkbox-group/checkbox-group.styles.js +8 -0
  333. package/dist/components/forms/checkbox-group/checkbox-group.styles.js.map +1 -1
  334. package/dist/components/forms/code-editor/code-editor.class.d.ts +3 -0
  335. package/dist/components/forms/code-editor/code-editor.class.d.ts.map +1 -1
  336. package/dist/components/forms/code-editor/code-editor.class.js +12 -2
  337. package/dist/components/forms/code-editor/code-editor.class.js.map +1 -1
  338. package/dist/components/forms/code-editor/code-editor.styles.d.ts.map +1 -1
  339. package/dist/components/forms/code-editor/code-editor.styles.js +8 -0
  340. package/dist/components/forms/code-editor/code-editor.styles.js.map +1 -1
  341. package/dist/components/forms/color-picker/color-picker.styles.d.ts.map +1 -1
  342. package/dist/components/forms/color-picker/color-picker.styles.js +8 -0
  343. package/dist/components/forms/color-picker/color-picker.styles.js.map +1 -1
  344. package/dist/components/forms/combobox/combobox.class.d.ts.map +1 -1
  345. package/dist/components/forms/combobox/combobox.class.js +11 -2
  346. package/dist/components/forms/combobox/combobox.class.js.map +1 -1
  347. package/dist/components/forms/combobox/combobox.styles.d.ts.map +1 -1
  348. package/dist/components/forms/combobox/combobox.styles.js +8 -0
  349. package/dist/components/forms/combobox/combobox.styles.js.map +1 -1
  350. package/dist/components/forms/combobox/option.class.d.ts +2 -0
  351. package/dist/components/forms/combobox/option.class.d.ts.map +1 -1
  352. package/dist/components/forms/combobox/option.class.js +2 -0
  353. package/dist/components/forms/combobox/option.class.js.map +1 -1
  354. package/dist/components/forms/date-picker/date-input.class.d.ts +5 -1
  355. package/dist/components/forms/date-picker/date-input.class.d.ts.map +1 -1
  356. package/dist/components/forms/date-picker/date-input.class.js +18 -1
  357. package/dist/components/forms/date-picker/date-input.class.js.map +1 -1
  358. package/dist/components/forms/date-picker/date-input.styles.d.ts.map +1 -1
  359. package/dist/components/forms/date-picker/date-input.styles.js +8 -0
  360. package/dist/components/forms/date-picker/date-input.styles.js.map +1 -1
  361. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +7 -3
  362. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts.map +1 -1
  363. package/dist/components/forms/emoji-picker/emoji-picker.class.js +18 -7
  364. package/dist/components/forms/emoji-picker/emoji-picker.class.js.map +1 -1
  365. package/dist/components/forms/emoji-picker/emoji-picker.styles.d.ts.map +1 -1
  366. package/dist/components/forms/emoji-picker/emoji-picker.styles.js +8 -0
  367. package/dist/components/forms/emoji-picker/emoji-picker.styles.js.map +1 -1
  368. package/dist/components/forms/input/input.styles.d.ts.map +1 -1
  369. package/dist/components/forms/input/input.styles.js +8 -0
  370. package/dist/components/forms/input/input.styles.js.map +1 -1
  371. package/dist/components/forms/locale-picker/locale-picker.styles.d.ts.map +1 -1
  372. package/dist/components/forms/locale-picker/locale-picker.styles.js +8 -0
  373. package/dist/components/forms/locale-picker/locale-picker.styles.js.map +1 -1
  374. package/dist/components/forms/phone-input/phone-input.styles.d.ts.map +1 -1
  375. package/dist/components/forms/phone-input/phone-input.styles.js +8 -0
  376. package/dist/components/forms/phone-input/phone-input.styles.js.map +1 -1
  377. package/dist/components/forms/radio/radio-group.class.d.ts +3 -0
  378. package/dist/components/forms/radio/radio-group.class.d.ts.map +1 -1
  379. package/dist/components/forms/radio/radio-group.class.js +104 -25
  380. package/dist/components/forms/radio/radio-group.class.js.map +1 -1
  381. package/dist/components/forms/radio/radio-group.styles.d.ts.map +1 -1
  382. package/dist/components/forms/radio/radio-group.styles.js +8 -0
  383. package/dist/components/forms/radio/radio-group.styles.js.map +1 -1
  384. package/dist/components/forms/radio/radio.class.d.ts +8 -2
  385. package/dist/components/forms/radio/radio.class.d.ts.map +1 -1
  386. package/dist/components/forms/radio/radio.class.js +93 -19
  387. package/dist/components/forms/radio/radio.class.js.map +1 -1
  388. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +1 -0
  389. package/dist/components/forms/rubric-form/rubric-form.class.d.ts.map +1 -1
  390. package/dist/components/forms/rubric-form/rubric-form.class.js +14 -3
  391. package/dist/components/forms/rubric-form/rubric-form.class.js.map +1 -1
  392. package/dist/components/forms/rubric-form/rubric-form.styles.d.ts.map +1 -1
  393. package/dist/components/forms/rubric-form/rubric-form.styles.js +16 -0
  394. package/dist/components/forms/rubric-form/rubric-form.styles.js.map +1 -1
  395. package/dist/components/forms/select/select.class.d.ts.map +1 -1
  396. package/dist/components/forms/select/select.class.js +8 -1
  397. package/dist/components/forms/select/select.class.js.map +1 -1
  398. package/dist/components/forms/select/select.styles.d.ts.map +1 -1
  399. package/dist/components/forms/select/select.styles.js +28 -2
  400. package/dist/components/forms/select/select.styles.js.map +1 -1
  401. package/dist/components/forms/slider/slider.class.d.ts +9 -8
  402. package/dist/components/forms/slider/slider.class.d.ts.map +1 -1
  403. package/dist/components/forms/slider/slider.class.js +31 -20
  404. package/dist/components/forms/slider/slider.class.js.map +1 -1
  405. package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +4 -6
  406. package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts.map +1 -1
  407. package/dist/components/forms/swatch-picker/swatch-picker.class.js +11 -8
  408. package/dist/components/forms/swatch-picker/swatch-picker.class.js.map +1 -1
  409. package/dist/components/forms/switch/switch.styles.d.ts.map +1 -1
  410. package/dist/components/forms/switch/switch.styles.js +8 -0
  411. package/dist/components/forms/switch/switch.styles.js.map +1 -1
  412. package/dist/components/forms/textarea/textarea.class.d.ts +2 -1
  413. package/dist/components/forms/textarea/textarea.class.d.ts.map +1 -1
  414. package/dist/components/forms/textarea/textarea.class.js +6 -3
  415. package/dist/components/forms/textarea/textarea.class.js.map +1 -1
  416. package/dist/components/forms/textarea/textarea.styles.d.ts.map +1 -1
  417. package/dist/components/forms/textarea/textarea.styles.js +8 -0
  418. package/dist/components/forms/textarea/textarea.styles.js.map +1 -1
  419. package/dist/components/forms/time-range/time-range.class.d.ts.map +1 -1
  420. package/dist/components/forms/time-range/time-range.class.js +4 -8
  421. package/dist/components/forms/time-range/time-range.class.js.map +1 -1
  422. package/dist/components/forms/time-range/time-range.styles.d.ts.map +1 -1
  423. package/dist/components/forms/time-range/time-range.styles.js +8 -0
  424. package/dist/components/forms/time-range/time-range.styles.js.map +1 -1
  425. package/dist/components/forms/token-input/token-input.class.d.ts +14 -1
  426. package/dist/components/forms/token-input/token-input.class.d.ts.map +1 -1
  427. package/dist/components/forms/token-input/token-input.class.js +76 -7
  428. package/dist/components/forms/token-input/token-input.class.js.map +1 -1
  429. package/dist/components/forms/token-input/token-input.styles.d.ts.map +1 -1
  430. package/dist/components/forms/token-input/token-input.styles.js +7 -0
  431. package/dist/components/forms/token-input/token-input.styles.js.map +1 -1
  432. package/dist/components/layout/app-rail/app-rail-item.class.d.ts +3 -0
  433. package/dist/components/layout/app-rail/app-rail-item.class.d.ts.map +1 -1
  434. package/dist/components/layout/app-rail/app-rail-item.class.js +34 -15
  435. package/dist/components/layout/app-rail/app-rail-item.class.js.map +1 -1
  436. package/dist/components/layout/app-rail/app-rail.class.d.ts +2 -0
  437. package/dist/components/layout/app-rail/app-rail.class.d.ts.map +1 -1
  438. package/dist/components/layout/app-rail/app-rail.class.js +46 -15
  439. package/dist/components/layout/app-rail/app-rail.class.js.map +1 -1
  440. package/dist/components/layout/breadcrumb/breadcrumb-item.class.d.ts.map +1 -1
  441. package/dist/components/layout/breadcrumb/breadcrumb-item.class.js +3 -3
  442. package/dist/components/layout/breadcrumb/breadcrumb-item.class.js.map +1 -1
  443. package/dist/components/layout/breadcrumb/breadcrumb-item.styles.d.ts.map +1 -1
  444. package/dist/components/layout/breadcrumb/breadcrumb-item.styles.js +6 -0
  445. package/dist/components/layout/breadcrumb/breadcrumb-item.styles.js.map +1 -1
  446. package/dist/components/layout/breadcrumb/breadcrumb.styles.d.ts.map +1 -1
  447. package/dist/components/layout/breadcrumb/breadcrumb.styles.js +7 -0
  448. package/dist/components/layout/breadcrumb/breadcrumb.styles.js.map +1 -1
  449. package/dist/components/layout/button-group/button-group.class.js +1 -1
  450. package/dist/components/layout/button-group/button-group.class.js.map +1 -1
  451. package/dist/components/layout/card/card.class.d.ts.map +1 -1
  452. package/dist/components/layout/card/card.class.js +1 -0
  453. package/dist/components/layout/card/card.class.js.map +1 -1
  454. package/dist/components/layout/carousel/carousel.class.d.ts.map +1 -1
  455. package/dist/components/layout/carousel/carousel.class.js +14 -4
  456. package/dist/components/layout/carousel/carousel.class.js.map +1 -1
  457. package/dist/components/layout/command-palette/command-palette.class.d.ts +7 -0
  458. package/dist/components/layout/command-palette/command-palette.class.d.ts.map +1 -1
  459. package/dist/components/layout/command-palette/command-palette.class.js +46 -7
  460. package/dist/components/layout/command-palette/command-palette.class.js.map +1 -1
  461. package/dist/components/layout/control-group/control-group.class.d.ts +2 -3
  462. package/dist/components/layout/control-group/control-group.class.d.ts.map +1 -1
  463. package/dist/components/layout/control-group/control-group.class.js +3 -4
  464. package/dist/components/layout/control-group/control-group.class.js.map +1 -1
  465. package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts +16 -0
  466. package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts.map +1 -1
  467. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +164 -36
  468. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js.map +1 -1
  469. package/dist/components/layout/dashboard-grid/dashboard-grid.styles.js +1 -1
  470. package/dist/components/layout/details/accordion.class.d.ts +3 -1
  471. package/dist/components/layout/details/accordion.class.d.ts.map +1 -1
  472. package/dist/components/layout/details/accordion.class.js +19 -0
  473. package/dist/components/layout/details/accordion.class.js.map +1 -1
  474. package/dist/components/layout/details/details.styles.js +5 -5
  475. package/dist/components/layout/dock-panel/dock-panel.class.d.ts +1 -0
  476. package/dist/components/layout/dock-panel/dock-panel.class.d.ts.map +1 -1
  477. package/dist/components/layout/dock-panel/dock-panel.class.js +17 -10
  478. package/dist/components/layout/dock-panel/dock-panel.class.js.map +1 -1
  479. package/dist/components/layout/filter-bar/filter-bar.class.d.ts +3 -2
  480. package/dist/components/layout/filter-bar/filter-bar.class.d.ts.map +1 -1
  481. package/dist/components/layout/filter-bar/filter-bar.class.js +8 -3
  482. package/dist/components/layout/filter-bar/filter-bar.class.js.map +1 -1
  483. package/dist/components/layout/menu/menu-item.class.d.ts +2 -0
  484. package/dist/components/layout/menu/menu-item.class.d.ts.map +1 -1
  485. package/dist/components/layout/menu/menu-item.class.js +3 -4
  486. package/dist/components/layout/menu/menu-item.class.js.map +1 -1
  487. package/dist/components/layout/reorder-list/reorder-item.styles.d.ts.map +1 -1
  488. package/dist/components/layout/reorder-list/reorder-item.styles.js +6 -0
  489. package/dist/components/layout/reorder-list/reorder-item.styles.js.map +1 -1
  490. package/dist/components/layout/reorder-list/reorder-list.class.d.ts +3 -4
  491. package/dist/components/layout/reorder-list/reorder-list.class.d.ts.map +1 -1
  492. package/dist/components/layout/reorder-list/reorder-list.class.js +8 -7
  493. package/dist/components/layout/reorder-list/reorder-list.class.js.map +1 -1
  494. package/dist/components/layout/reorder-list/reorder-list.styles.d.ts.map +1 -1
  495. package/dist/components/layout/reorder-list/reorder-list.styles.js +4 -0
  496. package/dist/components/layout/reorder-list/reorder-list.styles.js.map +1 -1
  497. package/dist/components/layout/segmented/segmented.class.d.ts +4 -5
  498. package/dist/components/layout/segmented/segmented.class.d.ts.map +1 -1
  499. package/dist/components/layout/segmented/segmented.class.js +19 -7
  500. package/dist/components/layout/segmented/segmented.class.js.map +1 -1
  501. package/dist/components/layout/segmented/segmented.styles.d.ts.map +1 -1
  502. package/dist/components/layout/segmented/segmented.styles.js +6 -1
  503. package/dist/components/layout/segmented/segmented.styles.js.map +1 -1
  504. package/dist/components/layout/split/split.class.d.ts +5 -1
  505. package/dist/components/layout/split/split.class.d.ts.map +1 -1
  506. package/dist/components/layout/split/split.class.js +11 -5
  507. package/dist/components/layout/split/split.class.js.map +1 -1
  508. package/dist/components/layout/split/split.styles.d.ts.map +1 -1
  509. package/dist/components/layout/split/split.styles.js +9 -0
  510. package/dist/components/layout/split/split.styles.js.map +1 -1
  511. package/dist/components/layout/stepper/stepper.class.d.ts +1 -0
  512. package/dist/components/layout/stepper/stepper.class.d.ts.map +1 -1
  513. package/dist/components/layout/stepper/stepper.class.js +19 -0
  514. package/dist/components/layout/stepper/stepper.class.js.map +1 -1
  515. package/dist/components/layout/tabs/tabs.class.d.ts +2 -0
  516. package/dist/components/layout/tabs/tabs.class.d.ts.map +1 -1
  517. package/dist/components/layout/tabs/tabs.class.js +14 -0
  518. package/dist/components/layout/tabs/tabs.class.js.map +1 -1
  519. package/dist/components/layout/virtual-list/virtual-list.class.d.ts +26 -0
  520. package/dist/components/layout/virtual-list/virtual-list.class.d.ts.map +1 -1
  521. package/dist/components/layout/virtual-list/virtual-list.class.js +68 -19
  522. package/dist/components/layout/virtual-list/virtual-list.class.js.map +1 -1
  523. package/dist/components/layout/widget/widget.class.d.ts +3 -3
  524. package/dist/components/layout/widget/widget.class.d.ts.map +1 -1
  525. package/dist/components/layout/widget/widget.class.js +19 -19
  526. package/dist/components/layout/widget/widget.class.js.map +1 -1
  527. package/dist/components/media/animated-image/animated-image.class.d.ts.map +1 -1
  528. package/dist/components/media/animated-image/animated-image.class.js +4 -0
  529. package/dist/components/media/animated-image/animated-image.class.js.map +1 -1
  530. package/dist/components/media/animation/animation.class.js +1 -1
  531. package/dist/components/media/animation/animation.class.js.map +1 -1
  532. package/dist/components/media/attachment-chip/attachment-chip.class.d.ts.map +1 -1
  533. package/dist/components/media/attachment-chip/attachment-chip.class.js +5 -1
  534. package/dist/components/media/attachment-chip/attachment-chip.class.js.map +1 -1
  535. package/dist/components/media/attachment-trigger/attachment-trigger.class.d.ts +13 -10
  536. package/dist/components/media/attachment-trigger/attachment-trigger.class.d.ts.map +1 -1
  537. package/dist/components/media/attachment-trigger/attachment-trigger.class.js +20 -8
  538. package/dist/components/media/attachment-trigger/attachment-trigger.class.js.map +1 -1
  539. package/dist/components/media/av-player/av-player.class.d.ts +14 -6
  540. package/dist/components/media/av-player/av-player.class.d.ts.map +1 -1
  541. package/dist/components/media/av-player/av-player.class.js +71 -26
  542. package/dist/components/media/av-player/av-player.class.js.map +1 -1
  543. package/dist/components/media/av-player/av-player.styles.d.ts.map +1 -1
  544. package/dist/components/media/av-player/av-player.styles.js +10 -0
  545. package/dist/components/media/av-player/av-player.styles.js.map +1 -1
  546. package/dist/components/media/avatar/avatar.class.d.ts +3 -2
  547. package/dist/components/media/avatar/avatar.class.d.ts.map +1 -1
  548. package/dist/components/media/avatar/avatar.class.js +13 -3
  549. package/dist/components/media/avatar/avatar.class.js.map +1 -1
  550. package/dist/components/media/avatar-group/avatar-group.class.d.ts +1 -0
  551. package/dist/components/media/avatar-group/avatar-group.class.d.ts.map +1 -1
  552. package/dist/components/media/avatar-group/avatar-group.class.js +8 -0
  553. package/dist/components/media/avatar-group/avatar-group.class.js.map +1 -1
  554. package/dist/components/media/avatar-group/avatar-group.styles.d.ts.map +1 -1
  555. package/dist/components/media/avatar-group/avatar-group.styles.js +2 -0
  556. package/dist/components/media/avatar-group/avatar-group.styles.js.map +1 -1
  557. package/dist/components/media/file-icon/file-icon.class.d.ts.map +1 -1
  558. package/dist/components/media/file-icon/file-icon.class.js +3 -1
  559. package/dist/components/media/file-icon/file-icon.class.js.map +1 -1
  560. package/dist/components/media/file-icon/file-icon.styles.d.ts.map +1 -1
  561. package/dist/components/media/file-icon/file-icon.styles.js +21 -3
  562. package/dist/components/media/file-icon/file-icon.styles.js.map +1 -1
  563. package/dist/components/media/file-input/file-input.class.d.ts +3 -1
  564. package/dist/components/media/file-input/file-input.class.d.ts.map +1 -1
  565. package/dist/components/media/file-input/file-input.class.js +36 -15
  566. package/dist/components/media/file-input/file-input.class.js.map +1 -1
  567. package/dist/components/media/file-input/file-input.styles.d.ts.map +1 -1
  568. package/dist/components/media/file-input/file-input.styles.js +45 -4
  569. package/dist/components/media/file-input/file-input.styles.js.map +1 -1
  570. package/dist/components/media/flag/flag.class.d.ts.map +1 -1
  571. package/dist/components/media/flag/flag.class.js +1 -4
  572. package/dist/components/media/flag/flag.class.js.map +1 -1
  573. package/dist/components/media/image-comparer/image-comparer.class.d.ts +2 -0
  574. package/dist/components/media/image-comparer/image-comparer.class.d.ts.map +1 -1
  575. package/dist/components/media/image-comparer/image-comparer.class.js +2 -0
  576. package/dist/components/media/image-comparer/image-comparer.class.js.map +1 -1
  577. package/dist/components/media/image-viewer/image-viewer.class.d.ts +1 -0
  578. package/dist/components/media/image-viewer/image-viewer.class.d.ts.map +1 -1
  579. package/dist/components/media/image-viewer/image-viewer.class.js +18 -3
  580. package/dist/components/media/image-viewer/image-viewer.class.js.map +1 -1
  581. package/dist/components/media/image-viewer/image-viewer.styles.d.ts.map +1 -1
  582. package/dist/components/media/image-viewer/image-viewer.styles.js +5 -1
  583. package/dist/components/media/image-viewer/image-viewer.styles.js.map +1 -1
  584. package/dist/components/media/lightbox/lightbox.class.d.ts +3 -2
  585. package/dist/components/media/lightbox/lightbox.class.d.ts.map +1 -1
  586. package/dist/components/media/lightbox/lightbox.class.js +4 -3
  587. package/dist/components/media/lightbox/lightbox.class.js.map +1 -1
  588. package/dist/components/media/map/map.class.d.ts +18 -5
  589. package/dist/components/media/map/map.class.d.ts.map +1 -1
  590. package/dist/components/media/map/map.class.js +139 -30
  591. package/dist/components/media/map/map.class.js.map +1 -1
  592. package/dist/components/media/map/map.styles.d.ts.map +1 -1
  593. package/dist/components/media/map/map.styles.js +8 -0
  594. package/dist/components/media/map/map.styles.js.map +1 -1
  595. package/dist/components/media/media-card/media-card.class.d.ts +2 -1
  596. package/dist/components/media/media-card/media-card.class.d.ts.map +1 -1
  597. package/dist/components/media/media-card/media-card.class.js +8 -2
  598. package/dist/components/media/media-card/media-card.class.js.map +1 -1
  599. package/dist/components/media/qr-code/qr-code.class.d.ts +8 -6
  600. package/dist/components/media/qr-code/qr-code.class.d.ts.map +1 -1
  601. package/dist/components/media/qr-code/qr-code.class.js +15 -7
  602. package/dist/components/media/qr-code/qr-code.class.js.map +1 -1
  603. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts.map +1 -1
  604. package/dist/components/media/zoomable-frame/zoomable-frame.class.js +6 -3
  605. package/dist/components/media/zoomable-frame/zoomable-frame.class.js.map +1 -1
  606. package/dist/components/overlays/badge/badge.styles.d.ts.map +1 -1
  607. package/dist/components/overlays/badge/badge.styles.js +2 -1
  608. package/dist/components/overlays/badge/badge.styles.js.map +1 -1
  609. package/dist/components/overlays/callout/callout.class.js +1 -1
  610. package/dist/components/overlays/callout/callout.class.js.map +1 -1
  611. package/dist/components/overlays/callout/callout.styles.d.ts.map +1 -1
  612. package/dist/components/overlays/callout/callout.styles.js +5 -4
  613. package/dist/components/overlays/callout/callout.styles.js.map +1 -1
  614. package/dist/components/overlays/chip/chip-group.class.d.ts +11 -0
  615. package/dist/components/overlays/chip/chip-group.class.d.ts.map +1 -1
  616. package/dist/components/overlays/chip/chip-group.class.js +88 -4
  617. package/dist/components/overlays/chip/chip-group.class.js.map +1 -1
  618. package/dist/components/overlays/chip/chip.class.d.ts +5 -3
  619. package/dist/components/overlays/chip/chip.class.d.ts.map +1 -1
  620. package/dist/components/overlays/chip/chip.class.js +19 -10
  621. package/dist/components/overlays/chip/chip.class.js.map +1 -1
  622. package/dist/components/overlays/chip/chip.styles.d.ts.map +1 -1
  623. package/dist/components/overlays/chip/chip.styles.js +3 -2
  624. package/dist/components/overlays/chip/chip.styles.js.map +1 -1
  625. package/dist/components/overlays/dialog/confirm.d.ts +3 -1
  626. package/dist/components/overlays/dialog/confirm.d.ts.map +1 -1
  627. package/dist/components/overlays/dialog/confirm.js +16 -5
  628. package/dist/components/overlays/dialog/confirm.js.map +1 -1
  629. package/dist/components/overlays/dialog/dialog.class.d.ts +8 -7
  630. package/dist/components/overlays/dialog/dialog.class.d.ts.map +1 -1
  631. package/dist/components/overlays/dialog/dialog.class.js +18 -15
  632. package/dist/components/overlays/dialog/dialog.class.js.map +1 -1
  633. package/dist/components/overlays/empty/empty.styles.d.ts.map +1 -1
  634. package/dist/components/overlays/empty/empty.styles.js +12 -0
  635. package/dist/components/overlays/empty/empty.styles.js.map +1 -1
  636. package/dist/components/overlays/kbd/kbd.class.d.ts +3 -3
  637. package/dist/components/overlays/kbd/kbd.class.d.ts.map +1 -1
  638. package/dist/components/overlays/kbd/kbd.class.js +8 -4
  639. package/dist/components/overlays/kbd/kbd.class.js.map +1 -1
  640. package/dist/components/overlays/kbd/kbd.styles.d.ts.map +1 -1
  641. package/dist/components/overlays/kbd/kbd.styles.js +8 -0
  642. package/dist/components/overlays/kbd/kbd.styles.js.map +1 -1
  643. package/dist/components/overlays/overlay/popover.class.d.ts +18 -7
  644. package/dist/components/overlays/overlay/popover.class.d.ts.map +1 -1
  645. package/dist/components/overlays/overlay/popover.class.js +71 -14
  646. package/dist/components/overlays/overlay/popover.class.js.map +1 -1
  647. package/dist/components/overlays/overlay/tooltip.class.d.ts +32 -15
  648. package/dist/components/overlays/overlay/tooltip.class.d.ts.map +1 -1
  649. package/dist/components/overlays/overlay/tooltip.class.js +155 -34
  650. package/dist/components/overlays/overlay/tooltip.class.js.map +1 -1
  651. package/dist/components/overlays/progress/progress-bar.class.d.ts +6 -1
  652. package/dist/components/overlays/progress/progress-bar.class.d.ts.map +1 -1
  653. package/dist/components/overlays/progress/progress-bar.class.js +25 -3
  654. package/dist/components/overlays/progress/progress-bar.class.js.map +1 -1
  655. package/dist/components/overlays/progress/progress-ring.class.d.ts +6 -1
  656. package/dist/components/overlays/progress/progress-ring.class.d.ts.map +1 -1
  657. package/dist/components/overlays/progress/progress-ring.class.js +31 -3
  658. package/dist/components/overlays/progress/progress-ring.class.js.map +1 -1
  659. package/dist/components/overlays/rating/rating.class.d.ts +4 -2
  660. package/dist/components/overlays/rating/rating.class.d.ts.map +1 -1
  661. package/dist/components/overlays/rating/rating.class.js +17 -4
  662. package/dist/components/overlays/rating/rating.class.js.map +1 -1
  663. package/dist/components/overlays/rating/rating.styles.js +2 -2
  664. package/dist/components/overlays/spinner/spinner.class.d.ts +8 -3
  665. package/dist/components/overlays/spinner/spinner.class.d.ts.map +1 -1
  666. package/dist/components/overlays/spinner/spinner.class.js +26 -5
  667. package/dist/components/overlays/spinner/spinner.class.js.map +1 -1
  668. package/dist/components/overlays/spinner/spinner.styles.js +3 -3
  669. package/dist/components/overlays/toast/toast-item.class.d.ts +11 -1
  670. package/dist/components/overlays/toast/toast-item.class.d.ts.map +1 -1
  671. package/dist/components/overlays/toast/toast-item.class.js +81 -17
  672. package/dist/components/overlays/toast/toast-item.class.js.map +1 -1
  673. package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.d.ts.map +1 -1
  674. package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.js +4 -3
  675. package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.js.map +1 -1
  676. package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +2 -1
  677. package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts.map +1 -1
  678. package/dist/components/retrieval/citation-badge/citation-badge.class.js +11 -6
  679. package/dist/components/retrieval/citation-badge/citation-badge.class.js.map +1 -1
  680. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts +21 -2
  681. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts.map +1 -1
  682. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +49 -5
  683. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js.map +1 -1
  684. package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.d.ts.map +1 -1
  685. package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +17 -1
  686. package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js.map +1 -1
  687. package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts +28 -9
  688. package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts.map +1 -1
  689. package/dist/components/retrieval/entity-dossier/entity-dossier.class.js +18 -5
  690. package/dist/components/retrieval/entity-dossier/entity-dossier.class.js.map +1 -1
  691. package/dist/components/retrieval/graph/graph-canvas.d.ts.map +1 -1
  692. package/dist/components/retrieval/graph/graph-canvas.js +20 -4
  693. package/dist/components/retrieval/graph/graph-canvas.js.map +1 -1
  694. package/dist/components/retrieval/graph/graph-loader.d.ts.map +1 -1
  695. package/dist/components/retrieval/graph/graph-loader.js +23 -1
  696. package/dist/components/retrieval/graph/graph-loader.js.map +1 -1
  697. package/dist/components/retrieval/graph/graph.class.d.ts +21 -3
  698. package/dist/components/retrieval/graph/graph.class.d.ts.map +1 -1
  699. package/dist/components/retrieval/graph/graph.class.js +154 -68
  700. package/dist/components/retrieval/graph/graph.class.js.map +1 -1
  701. package/dist/components/retrieval/graph/graph.styles.d.ts.map +1 -1
  702. package/dist/components/retrieval/graph/graph.styles.js +18 -0
  703. package/dist/components/retrieval/graph/graph.styles.js.map +1 -1
  704. package/dist/components/retrieval/graph-legend/graph-legend.class.d.ts +3 -0
  705. package/dist/components/retrieval/graph-legend/graph-legend.class.d.ts.map +1 -1
  706. package/dist/components/retrieval/graph-legend/graph-legend.class.js +8 -2
  707. package/dist/components/retrieval/graph-legend/graph-legend.class.js.map +1 -1
  708. package/dist/components/retrieval/graph-legend/graph-legend.styles.d.ts.map +1 -1
  709. package/dist/components/retrieval/graph-legend/graph-legend.styles.js +11 -1
  710. package/dist/components/retrieval/graph-legend/graph-legend.styles.js.map +1 -1
  711. package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +1 -0
  712. package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts.map +1 -1
  713. package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +1 -0
  714. package/dist/components/retrieval/grounding-summary/grounding-summary.class.js.map +1 -1
  715. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +3 -2
  716. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts.map +1 -1
  717. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +11 -4
  718. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js.map +1 -1
  719. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +7 -3
  720. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts.map +1 -1
  721. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +27 -6
  722. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js.map +1 -1
  723. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +24 -0
  724. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts.map +1 -1
  725. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +19 -4
  726. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js.map +1 -1
  727. package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +30 -0
  728. package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts.map +1 -1
  729. package/dist/components/retrieval/memory-panel/memory-panel.class.js +131 -3
  730. package/dist/components/retrieval/memory-panel/memory-panel.class.js.map +1 -1
  731. package/dist/components/retrieval/node-palette/node-palette.class.d.ts +2 -0
  732. package/dist/components/retrieval/node-palette/node-palette.class.d.ts.map +1 -1
  733. package/dist/components/retrieval/node-palette/node-palette.class.js.map +1 -1
  734. package/dist/components/retrieval/path-strip/path-strip.class.d.ts +2 -1
  735. package/dist/components/retrieval/path-strip/path-strip.class.d.ts.map +1 -1
  736. package/dist/components/retrieval/path-strip/path-strip.class.js +3 -2
  737. package/dist/components/retrieval/path-strip/path-strip.class.js.map +1 -1
  738. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +6 -2
  739. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts.map +1 -1
  740. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +20 -2
  741. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js.map +1 -1
  742. package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +12 -2
  743. package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts.map +1 -1
  744. package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +117 -5
  745. package/dist/components/retrieval/retrieval-results/retrieval-results.class.js.map +1 -1
  746. package/dist/components/retrieval/retrieval-search/retrieval-search.styles.d.ts.map +1 -1
  747. package/dist/components/retrieval/retrieval-search/retrieval-search.styles.js +19 -0
  748. package/dist/components/retrieval/retrieval-search/retrieval-search.styles.js.map +1 -1
  749. package/dist/components/retrieval/source-card/source-card.class.d.ts.map +1 -1
  750. package/dist/components/retrieval/source-card/source-card.class.js +8 -1
  751. package/dist/components/retrieval/source-card/source-card.class.js.map +1 -1
  752. package/dist/components/retrieval/source-list/source-list.class.d.ts +7 -0
  753. package/dist/components/retrieval/source-list/source-list.class.d.ts.map +1 -1
  754. package/dist/components/retrieval/source-list/source-list.class.js +48 -5
  755. package/dist/components/retrieval/source-list/source-list.class.js.map +1 -1
  756. package/dist/components/retrieval/source-picker/source-picker.class.d.ts +5 -2
  757. package/dist/components/retrieval/source-picker/source-picker.class.d.ts.map +1 -1
  758. package/dist/components/retrieval/source-picker/source-picker.class.js +36 -11
  759. package/dist/components/retrieval/source-picker/source-picker.class.js.map +1 -1
  760. package/dist/components/retrieval/source-picker/source-picker.styles.d.ts.map +1 -1
  761. package/dist/components/retrieval/source-picker/source-picker.styles.js +0 -3
  762. package/dist/components/retrieval/source-picker/source-picker.styles.js.map +1 -1
  763. package/dist/components/utility/copy-button/copy-button.class.d.ts +2 -1
  764. package/dist/components/utility/copy-button/copy-button.class.d.ts.map +1 -1
  765. package/dist/components/utility/copy-button/copy-button.class.js +8 -0
  766. package/dist/components/utility/copy-button/copy-button.class.js.map +1 -1
  767. package/dist/components/utility/diff-view/diff-view.class.d.ts.map +1 -1
  768. package/dist/components/utility/diff-view/diff-view.class.js +7 -0
  769. package/dist/components/utility/diff-view/diff-view.class.js.map +1 -1
  770. package/dist/components/utility/divider/divider.class.d.ts.map +1 -1
  771. package/dist/components/utility/divider/divider.class.js +9 -2
  772. package/dist/components/utility/divider/divider.class.js.map +1 -1
  773. package/dist/components/utility/export-button/csv.d.ts.map +1 -1
  774. package/dist/components/utility/export-button/csv.js +4 -5
  775. package/dist/components/utility/export-button/csv.js.map +1 -1
  776. package/dist/components/utility/export-button/export-button.class.d.ts +1 -0
  777. package/dist/components/utility/export-button/export-button.class.d.ts.map +1 -1
  778. package/dist/components/utility/export-button/export-button.class.js +35 -5
  779. package/dist/components/utility/export-button/export-button.class.js.map +1 -1
  780. package/dist/components/utility/format/format-bytes.class.d.ts.map +1 -1
  781. package/dist/components/utility/format/format-bytes.class.js +13 -3
  782. package/dist/components/utility/format/format-bytes.class.js.map +1 -1
  783. package/dist/components/utility/format/format-date.class.d.ts.map +1 -1
  784. package/dist/components/utility/format/format-date.class.js +10 -2
  785. package/dist/components/utility/format/format-date.class.js.map +1 -1
  786. package/dist/components/utility/format/format-number.class.d.ts.map +1 -1
  787. package/dist/components/utility/format/format-number.class.js +10 -2
  788. package/dist/components/utility/format/format-number.class.js.map +1 -1
  789. package/dist/components/utility/icon/icon.class.d.ts +4 -0
  790. package/dist/components/utility/icon/icon.class.d.ts.map +1 -1
  791. package/dist/components/utility/icon/icon.class.js +34 -0
  792. package/dist/components/utility/icon/icon.class.js.map +1 -1
  793. package/dist/components/utility/json-viewer/json-viewer.class.d.ts +5 -1
  794. package/dist/components/utility/json-viewer/json-viewer.class.d.ts.map +1 -1
  795. package/dist/components/utility/json-viewer/json-viewer.class.js +22 -6
  796. package/dist/components/utility/json-viewer/json-viewer.class.js.map +1 -1
  797. package/dist/components/utility/json-viewer/json-viewer.styles.js +1 -1
  798. package/dist/components/utility/known-date/known-date.class.d.ts.map +1 -1
  799. package/dist/components/utility/known-date/known-date.class.js +4 -1
  800. package/dist/components/utility/known-date/known-date.class.js.map +1 -1
  801. package/dist/components/utility/mention-popover/mention-popover.class.d.ts.map +1 -1
  802. package/dist/components/utility/mention-popover/mention-popover.class.js +31 -8
  803. package/dist/components/utility/mention-popover/mention-popover.class.js.map +1 -1
  804. package/dist/components/utility/poll-status/poll-status.class.d.ts +7 -0
  805. package/dist/components/utility/poll-status/poll-status.class.d.ts.map +1 -1
  806. package/dist/components/utility/poll-status/poll-status.class.js +36 -5
  807. package/dist/components/utility/poll-status/poll-status.class.js.map +1 -1
  808. package/dist/components/utility/random-content/random-content.class.d.ts.map +1 -1
  809. package/dist/components/utility/random-content/random-content.class.js +22 -3
  810. package/dist/components/utility/random-content/random-content.class.js.map +1 -1
  811. package/dist/components/utility/tour/tour.class.d.ts +7 -6
  812. package/dist/components/utility/tour/tour.class.d.ts.map +1 -1
  813. package/dist/components/utility/tour/tour.class.js +67 -42
  814. package/dist/components/utility/tour/tour.class.js.map +1 -1
  815. package/dist/components/viewers/archive-viewer/archive-loader.d.ts.map +1 -1
  816. package/dist/components/viewers/archive-viewer/archive-loader.js +5 -1
  817. package/dist/components/viewers/archive-viewer/archive-loader.js.map +1 -1
  818. package/dist/components/viewers/archive-viewer/archive-viewer.class.d.ts +45 -4
  819. package/dist/components/viewers/archive-viewer/archive-viewer.class.d.ts.map +1 -1
  820. package/dist/components/viewers/archive-viewer/archive-viewer.class.js +257 -10
  821. package/dist/components/viewers/archive-viewer/archive-viewer.class.js.map +1 -1
  822. package/dist/components/viewers/archive-viewer/archive-viewer.styles.d.ts +3 -0
  823. package/dist/components/viewers/archive-viewer/archive-viewer.styles.d.ts.map +1 -1
  824. package/dist/components/viewers/archive-viewer/archive-viewer.styles.js +45 -0
  825. package/dist/components/viewers/archive-viewer/archive-viewer.styles.js.map +1 -1
  826. package/dist/components/viewers/calendar-viewer/calendar-loader.d.ts.map +1 -1
  827. package/dist/components/viewers/calendar-viewer/calendar-loader.js +6 -1
  828. package/dist/components/viewers/calendar-viewer/calendar-loader.js.map +1 -1
  829. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts +1 -0
  830. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts.map +1 -1
  831. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +7 -1
  832. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js.map +1 -1
  833. package/dist/components/viewers/contact-viewer/contact-viewer.class.d.ts +1 -0
  834. package/dist/components/viewers/contact-viewer/contact-viewer.class.d.ts.map +1 -1
  835. package/dist/components/viewers/contact-viewer/contact-viewer.class.js +7 -1
  836. package/dist/components/viewers/contact-viewer/contact-viewer.class.js.map +1 -1
  837. package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +1 -0
  838. package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts.map +1 -1
  839. package/dist/components/viewers/csv-viewer/csv-viewer.class.js +12 -4
  840. package/dist/components/viewers/csv-viewer/csv-viewer.class.js.map +1 -1
  841. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +1 -0
  842. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts.map +1 -1
  843. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +10 -3
  844. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js.map +1 -1
  845. package/dist/components/viewers/document-preview/document-preview.class.d.ts +2 -1
  846. package/dist/components/viewers/document-preview/document-preview.class.d.ts.map +1 -1
  847. package/dist/components/viewers/document-preview/document-preview.class.js +57 -15
  848. package/dist/components/viewers/document-preview/document-preview.class.js.map +1 -1
  849. package/dist/components/viewers/document-viewer/document-viewer.class.d.ts +9 -3
  850. package/dist/components/viewers/document-viewer/document-viewer.class.d.ts.map +1 -1
  851. package/dist/components/viewers/document-viewer/document-viewer.class.js +47 -13
  852. package/dist/components/viewers/document-viewer/document-viewer.class.js.map +1 -1
  853. package/dist/components/viewers/docx-viewer/docx-loader.d.ts.map +1 -1
  854. package/dist/components/viewers/docx-viewer/docx-loader.js +7 -2
  855. package/dist/components/viewers/docx-viewer/docx-loader.js.map +1 -1
  856. package/dist/components/viewers/docx-viewer/docx-viewer.class.d.ts +23 -3
  857. package/dist/components/viewers/docx-viewer/docx-viewer.class.d.ts.map +1 -1
  858. package/dist/components/viewers/docx-viewer/docx-viewer.class.js +102 -11
  859. package/dist/components/viewers/docx-viewer/docx-viewer.class.js.map +1 -1
  860. package/dist/components/viewers/docx-viewer/docx-viewer.styles.d.ts.map +1 -1
  861. package/dist/components/viewers/docx-viewer/docx-viewer.styles.js +28 -0
  862. package/dist/components/viewers/docx-viewer/docx-viewer.styles.js.map +1 -1
  863. package/dist/components/viewers/ebook-viewer/ebook-loader.d.ts.map +1 -1
  864. package/dist/components/viewers/ebook-viewer/ebook-loader.js +2 -1
  865. package/dist/components/viewers/ebook-viewer/ebook-loader.js.map +1 -1
  866. package/dist/components/viewers/ebook-viewer/ebook-viewer-register.js +8 -1
  867. package/dist/components/viewers/ebook-viewer/ebook-viewer-register.js.map +1 -1
  868. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +10 -7
  869. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts.map +1 -1
  870. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +115 -32
  871. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js.map +1 -1
  872. package/dist/components/viewers/email-viewer/email-loader.d.ts.map +1 -1
  873. package/dist/components/viewers/email-viewer/email-loader.js +4 -2
  874. package/dist/components/viewers/email-viewer/email-loader.js.map +1 -1
  875. package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +5 -3
  876. package/dist/components/viewers/email-viewer/email-viewer.class.d.ts.map +1 -1
  877. package/dist/components/viewers/email-viewer/email-viewer.class.js +50 -5
  878. package/dist/components/viewers/email-viewer/email-viewer.class.js.map +1 -1
  879. package/dist/components/viewers/email-viewer/email-viewer.styles.js +1 -1
  880. package/dist/components/viewers/geojson-view/geojson-view.class.d.ts +13 -2
  881. package/dist/components/viewers/geojson-view/geojson-view.class.d.ts.map +1 -1
  882. package/dist/components/viewers/geojson-view/geojson-view.class.js +67 -8
  883. package/dist/components/viewers/geojson-view/geojson-view.class.js.map +1 -1
  884. package/dist/components/viewers/geojson-view/geojson-view.styles.d.ts +2 -0
  885. package/dist/components/viewers/geojson-view/geojson-view.styles.d.ts.map +1 -0
  886. package/dist/components/viewers/geojson-view/geojson-view.styles.js +22 -0
  887. package/dist/components/viewers/geojson-view/geojson-view.styles.js.map +1 -0
  888. package/dist/components/viewers/highlight-layer/highlight-layer.class.d.ts +3 -2
  889. package/dist/components/viewers/highlight-layer/highlight-layer.class.d.ts.map +1 -1
  890. package/dist/components/viewers/highlight-layer/highlight-layer.class.js +32 -13
  891. package/dist/components/viewers/highlight-layer/highlight-layer.class.js.map +1 -1
  892. package/dist/components/viewers/html-viewer/dompurify-loader.d.ts.map +1 -1
  893. package/dist/components/viewers/html-viewer/dompurify-loader.js +3 -1
  894. package/dist/components/viewers/html-viewer/dompurify-loader.js.map +1 -1
  895. package/dist/components/viewers/html-viewer/html-viewer.class.d.ts +3 -1
  896. package/dist/components/viewers/html-viewer/html-viewer.class.d.ts.map +1 -1
  897. package/dist/components/viewers/html-viewer/html-viewer.class.js +7 -2
  898. package/dist/components/viewers/html-viewer/html-viewer.class.js.map +1 -1
  899. package/dist/components/viewers/html-viewer/html-viewer.styles.d.ts.map +1 -1
  900. package/dist/components/viewers/html-viewer/html-viewer.styles.js +6 -1
  901. package/dist/components/viewers/html-viewer/html-viewer.styles.js.map +1 -1
  902. package/dist/components/viewers/include/include.class.d.ts +3 -3
  903. package/dist/components/viewers/include/include.class.d.ts.map +1 -1
  904. package/dist/components/viewers/include/include.class.js +19 -9
  905. package/dist/components/viewers/include/include.class.js.map +1 -1
  906. package/dist/components/viewers/notebook-viewer/dompurify-loader.d.ts.map +1 -1
  907. package/dist/components/viewers/notebook-viewer/dompurify-loader.js +5 -1
  908. package/dist/components/viewers/notebook-viewer/dompurify-loader.js.map +1 -1
  909. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts +17 -2
  910. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts.map +1 -1
  911. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +47 -10
  912. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js.map +1 -1
  913. package/dist/components/viewers/page-rail/page-rail.class.d.ts +8 -0
  914. package/dist/components/viewers/page-rail/page-rail.class.d.ts.map +1 -1
  915. package/dist/components/viewers/page-rail/page-rail.class.js +91 -0
  916. package/dist/components/viewers/page-rail/page-rail.class.js.map +1 -1
  917. package/dist/components/viewers/pdf-viewer/pdf-loader.d.ts.map +1 -1
  918. package/dist/components/viewers/pdf-viewer/pdf-loader.js +13 -1
  919. package/dist/components/viewers/pdf-viewer/pdf-loader.js.map +1 -1
  920. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +15 -5
  921. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts.map +1 -1
  922. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +108 -36
  923. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js.map +1 -1
  924. package/dist/components/viewers/pdf-viewer/pdf-viewer.styles.js +1 -1
  925. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.d.ts.map +1 -1
  926. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +6 -1
  927. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js.map +1 -1
  928. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-loader.d.ts.map +1 -1
  929. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-loader.js +9 -1
  930. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-loader.js.map +1 -1
  931. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts.map +1 -1
  932. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +5 -2
  933. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js.map +1 -1
  934. package/dist/components/viewers/svg-viewer/dompurify-loader.d.ts.map +1 -1
  935. package/dist/components/viewers/svg-viewer/dompurify-loader.js +5 -1
  936. package/dist/components/viewers/svg-viewer/dompurify-loader.js.map +1 -1
  937. package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts +2 -1
  938. package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts.map +1 -1
  939. package/dist/components/viewers/svg-viewer/svg-viewer.class.js +50 -14
  940. package/dist/components/viewers/svg-viewer/svg-viewer.class.js.map +1 -1
  941. package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +9 -2
  942. package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts.map +1 -1
  943. package/dist/components/viewers/xml-viewer/xml-viewer.class.js +34 -10
  944. package/dist/components/viewers/xml-viewer/xml-viewer.class.js.map +1 -1
  945. package/dist/internal/anchor-target.d.ts.map +1 -1
  946. package/dist/internal/anchor-target.js +23 -6
  947. package/dist/internal/anchor-target.js.map +1 -1
  948. package/dist/internal/localization.d.ts +1 -1
  949. package/dist/internal/localization.d.ts.map +1 -1
  950. package/dist/internal/localization.js +19 -0
  951. package/dist/internal/localization.js.map +1 -1
  952. package/dist/internal/lyra-element.d.ts +18 -6
  953. package/dist/internal/lyra-element.d.ts.map +1 -1
  954. package/dist/internal/lyra-element.js +35 -15
  955. package/dist/internal/lyra-element.js.map +1 -1
  956. package/dist/internal/map-canvas-ready.d.ts +7 -0
  957. package/dist/internal/map-canvas-ready.d.ts.map +1 -0
  958. package/dist/internal/map-canvas-ready.js +13 -0
  959. package/dist/internal/map-canvas-ready.js.map +1 -0
  960. package/dist/internal/numbers.d.ts +14 -0
  961. package/dist/internal/numbers.d.ts.map +1 -1
  962. package/dist/internal/numbers.js +72 -0
  963. package/dist/internal/numbers.js.map +1 -1
  964. package/dist/internal/safe-css.d.ts +17 -0
  965. package/dist/internal/safe-css.d.ts.map +1 -1
  966. package/dist/internal/safe-css.js +64 -9
  967. package/dist/internal/safe-css.js.map +1 -1
  968. package/dist/internal/text-quote.d.ts +15 -0
  969. package/dist/internal/text-quote.d.ts.map +1 -1
  970. package/dist/internal/text-quote.js +13 -6
  971. package/dist/internal/text-quote.js.map +1 -1
  972. package/dist/internal/text-viewer-target.d.ts +0 -6
  973. package/dist/internal/text-viewer-target.d.ts.map +1 -1
  974. package/dist/internal/text-viewer-target.js +68 -21
  975. package/dist/internal/text-viewer-target.js.map +1 -1
  976. package/dist/lyra.d.ts +1 -1
  977. package/dist/lyra.d.ts.map +1 -1
  978. package/dist/lyra.js.map +1 -1
  979. package/llms/components/lr-animated-image.md +2 -0
  980. package/llms/components/lr-animation.md +1 -1
  981. package/llms/components/lr-approval-queue.md +2 -0
  982. package/llms/components/lr-archive-viewer.md +20 -5
  983. package/llms/components/lr-attachment-trigger.md +8 -6
  984. package/llms/components/lr-av-player.md +11 -3
  985. package/llms/components/lr-avatar-group.md +3 -0
  986. package/llms/components/lr-avatar.md +6 -5
  987. package/llms/components/lr-bar-chart.md +10 -8
  988. package/llms/components/lr-box-plot.md +14 -6
  989. package/llms/components/lr-bubble-chart.md +10 -8
  990. package/llms/components/lr-calendar-viewer.md +3 -2
  991. package/llms/components/lr-calendar.md +4 -4
  992. package/llms/components/lr-carousel.md +2 -0
  993. package/llms/components/lr-chart.md +57 -23
  994. package/llms/components/lr-chat-viewport.md +2 -2
  995. package/llms/components/lr-chip-group.md +3 -1
  996. package/llms/components/lr-chip.md +3 -1
  997. package/llms/components/lr-citation-badge.md +3 -2
  998. package/llms/components/lr-code-editor.md +1 -1
  999. package/llms/components/lr-combobox.md +6 -2
  1000. package/llms/components/lr-compare-panel.md +8 -2
  1001. package/llms/components/lr-contact-viewer.md +3 -2
  1002. package/llms/components/lr-copy-button.md +2 -0
  1003. package/llms/components/lr-csv-viewer.md +3 -3
  1004. package/llms/components/lr-dashboard-grid.md +2 -1
  1005. package/llms/components/lr-dataset-viewer.md +4 -3
  1006. package/llms/components/lr-dialog.md +19 -15
  1007. package/llms/components/lr-diff-view.md +1 -0
  1008. package/llms/components/lr-divider.md +2 -1
  1009. package/llms/components/lr-document-preview.md +4 -2
  1010. package/llms/components/lr-document-viewer.md +8 -2
  1011. package/llms/components/lr-docx-viewer.md +12 -6
  1012. package/llms/components/lr-doughnut-chart.md +10 -8
  1013. package/llms/components/lr-dropdown-item.md +3 -1
  1014. package/llms/components/lr-ebook-viewer.md +16 -6
  1015. package/llms/components/lr-email-viewer.md +3 -2
  1016. package/llms/components/lr-embedding-explorer.md +10 -4
  1017. package/llms/components/lr-env-list.md +2 -1
  1018. package/llms/components/lr-eval-result.md +2 -0
  1019. package/llms/components/lr-export-button.md +5 -1
  1020. package/llms/components/lr-file-icon.md +3 -1
  1021. package/llms/components/lr-file-input.md +8 -4
  1022. package/llms/components/lr-flow-minimap.md +8 -2
  1023. package/llms/components/lr-flow-node.md +8 -2
  1024. package/llms/components/lr-flow-run-overlay.md +10 -3
  1025. package/llms/components/lr-format-bytes.md +2 -1
  1026. package/llms/components/lr-format-number.md +3 -0
  1027. package/llms/components/lr-gauge.md +4 -0
  1028. package/llms/components/lr-geojson-view.md +10 -3
  1029. package/llms/components/lr-graph-legend.md +5 -3
  1030. package/llms/components/lr-graph.md +20 -12
  1031. package/llms/components/lr-grounding-summary.md +2 -1
  1032. package/llms/components/lr-heatmap.md +8 -5
  1033. package/llms/components/lr-highlight-layer.md +2 -1
  1034. package/llms/components/lr-histogram.md +12 -5
  1035. package/llms/components/lr-html-viewer.md +3 -2
  1036. package/llms/components/lr-icon.md +3 -1
  1037. package/llms/components/lr-image-viewer.md +5 -0
  1038. package/llms/components/lr-include.md +4 -3
  1039. package/llms/components/lr-ingestion-queue.md +2 -1
  1040. package/llms/components/lr-json-viewer.md +10 -3
  1041. package/llms/components/lr-kbd.md +3 -2
  1042. package/llms/components/lr-knowledge-base-admin.md +3 -1
  1043. package/llms/components/lr-knowledge-graph-explorer.md +2 -1
  1044. package/llms/components/lr-known-date.md +2 -1
  1045. package/llms/components/lr-lightbox.md +5 -4
  1046. package/llms/components/lr-line-chart.md +10 -8
  1047. package/llms/components/lr-lite-chart.md +46 -32
  1048. package/llms/components/lr-map.md +10 -5
  1049. package/llms/components/lr-mcp-app.md +6 -0
  1050. package/llms/components/lr-media-card.md +3 -1
  1051. package/llms/components/lr-memory-panel.md +11 -2
  1052. package/llms/components/lr-mention-popover.md +5 -2
  1053. package/llms/components/lr-menu-item.md +3 -1
  1054. package/llms/components/lr-menu.md +3 -1
  1055. package/llms/components/lr-message-feedback.md +2 -1
  1056. package/llms/components/lr-message-parts.md +5 -1
  1057. package/llms/components/lr-model-select.md +5 -1
  1058. package/llms/components/lr-notebook-viewer.md +11 -4
  1059. package/llms/components/lr-option.md +6 -2
  1060. package/llms/components/lr-page-rail.md +5 -0
  1061. package/llms/components/lr-pdf-viewer.md +16 -6
  1062. package/llms/components/lr-pie-chart.md +10 -8
  1063. package/llms/components/lr-polar-area-chart.md +10 -8
  1064. package/llms/components/lr-poll-status.md +11 -6
  1065. package/llms/components/lr-popover.md +2 -1
  1066. package/llms/components/lr-progress-bar.md +2 -1
  1067. package/llms/components/lr-progress-ring.md +2 -1
  1068. package/llms/components/lr-prompt-studio.md +4 -0
  1069. package/llms/components/lr-qr-code.md +7 -5
  1070. package/llms/components/lr-radar-chart.md +10 -8
  1071. package/llms/components/lr-radio-group.md +4 -1
  1072. package/llms/components/lr-radio.md +6 -2
  1073. package/llms/components/lr-random-content.md +2 -0
  1074. package/llms/components/lr-rating.md +7 -1
  1075. package/llms/components/lr-retrieval-search.md +2 -0
  1076. package/llms/components/lr-scatter-chart.md +10 -8
  1077. package/llms/components/lr-schema-viewer.md +9 -4
  1078. package/llms/components/lr-segmented.md +2 -0
  1079. package/llms/components/lr-selection-toolbar.md +2 -0
  1080. package/llms/components/lr-sequence-strip.md +10 -8
  1081. package/llms/components/lr-source-card.md +2 -1
  1082. package/llms/components/lr-source-list.md +2 -1
  1083. package/llms/components/lr-source-picker.md +4 -2
  1084. package/llms/components/lr-span-waterfall.md +13 -1
  1085. package/llms/components/lr-spinner.md +3 -1
  1086. package/llms/components/lr-stack-trace.md +6 -2
  1087. package/llms/components/lr-stat.md +7 -5
  1088. package/llms/components/lr-subagent-panel.md +4 -1
  1089. package/llms/components/lr-svg-viewer.md +5 -2
  1090. package/llms/components/lr-swatch-picker.md +6 -4
  1091. package/llms/components/lr-switch.md +2 -1
  1092. package/llms/components/lr-task-list.md +7 -2
  1093. package/llms/components/lr-terminal.md +13 -1
  1094. package/llms/components/lr-test-results.md +25 -7
  1095. package/llms/components/lr-textarea.md +1 -1
  1096. package/llms/components/lr-thinking-panel.md +4 -2
  1097. package/llms/components/lr-timeline-item.md +2 -1
  1098. package/llms/components/lr-timeline.md +2 -1
  1099. package/llms/components/lr-toast-item.md +8 -2
  1100. package/llms/components/lr-toast.md +8 -2
  1101. package/llms/components/lr-token-input.md +7 -5
  1102. package/llms/components/lr-tool-approval-dialog.md +6 -7
  1103. package/llms/components/lr-tool-param-form.md +21 -9
  1104. package/llms/components/lr-tool-select-dialog.md +11 -7
  1105. package/llms/components/lr-tool-timeline.md +6 -1
  1106. package/llms/components/lr-tooltip.md +12 -1
  1107. package/llms/components/lr-tour.md +19 -16
  1108. package/llms/components/lr-trace-tree.md +3 -0
  1109. package/llms/components/lr-tree-node.md +12 -3
  1110. package/llms/components/lr-tree.md +11 -2
  1111. package/llms/components/lr-usage-badge.md +1 -1
  1112. package/llms/components/lr-widget.md +5 -3
  1113. package/llms/components/lr-word-cloud.md +7 -4
  1114. package/llms/components/lr-xml-viewer.md +4 -2
  1115. package/llms/index.md +1 -1
  1116. package/llms/peers.md +1 -1
  1117. package/llms-full.txt +820 -345
  1118. package/package.json +11 -6
  1119. package/vscode-css-data.json +444 -3
  1120. package/vscode-html-data.json +130 -127
  1121. package/web-types.json +392 -142
@@ -99,6 +99,18 @@ function deepMerge(base, override, seen = new WeakMap()) {
99
99
  }
100
100
  return result;
101
101
  }
102
+ function isChartPoint(value) {
103
+ if (!isPlainObject(value))
104
+ return false;
105
+ return Number.isFinite(value['x']) && Number.isFinite(value['y']);
106
+ }
107
+ function labelText(value) {
108
+ if (value == null)
109
+ return '';
110
+ if (Array.isArray(value))
111
+ return value.map(labelText).join(' ');
112
+ return String(value);
113
+ }
102
114
  /**
103
115
  * `<lr-chart>` — the core Chart.js wrapper every other `lr-*-chart` tag
104
116
  * subclasses. Requires the optional peer dep `chart.js`; `chartjs-plugin-zoom`
@@ -125,19 +137,23 @@ function deepMerge(base, override, seen = new WeakMap()) {
125
137
  * @event lr-point-click - Fired when pointer input lands on a data point/segment, when a generated
126
138
  * data-table value is activated, or when Enter/Space activates the keyboard-current canvas datum.
127
139
  * `detail: { datasetIndex: number, index: number, label: string |
128
- * undefined, value: unknown }`.
140
+ * undefined, value: unknown }`. For scatter/bubble data, `label` prefers the per-point label and
141
+ * `value` is the complete typed `ChartPoint` (`x`, `y`, optional `r`, optional `label`).
129
142
  * @csspart base - The chart wrapper.
143
+ * @csspart plot - The fixed-height canvas/overlay region.
130
144
  * @csspart canvas - The Chart.js canvas.
145
+ * @csspart legend - The wrapping DOM legend rendered when `legend` is set.
146
+ * @csspart legend-item - A keyboard-operable series visibility toggle.
147
+ * @csspart legend-swatch - The resolved series-color swatch in a legend item.
131
148
  * @csspart reset-zoom-button - The reset-zoom control when zoom is active.
132
149
  * @csspart description - The accessible chart summary.
133
150
  * @csspart data-table - The optional generated or slotted data table.
134
151
  * @csspart center - The chart-area-centered overlay wrapper for the `center` slot.
135
152
  * @csspart error - `role="alert"` message shown instead of `canvas` when the optional `chart.js`
136
153
  * peer dependency is not installed.
137
- * @cssprop [--lr-chart-height=var(--lr-size-280px)] - The host's `block-size`. Set on the host
138
- * element from the `height` property on every change (custom properties only cascade downward,
139
- * so it cannot be set from inside the shadow root); a host-level override is overwritten the
140
- * next time `height` changes.
154
+ * @cssprop [--lr-chart-height=var(--lr-size-280px)] - The plot region's `block-size` and the
155
+ * host's minimum block size. A visible data table or wrapping DOM legend grows the host in
156
+ * normal flow instead of overlapping following content. Set on the host from `height`.
141
157
  * @cssprop [--lr-chart-grid-color=var(--lr-color-border)] - Grid-line color. Resolved via
142
158
  * `getComputedStyle` on every draw (Chart.js paints to canvas and cannot consume `var()`).
143
159
  * @cssprop [--lr-chart-tick-color=var(--lr-color-text-quiet)] - Axis tick-label color; also used
@@ -240,13 +256,91 @@ export class LyraChart extends LyraElement {
240
256
  this.refreshTheme();
241
257
  });
242
258
  }
259
+ /**
260
+ * The single data model used by every chart surface. `config.data` follows the same merge rule
261
+ * as the Chart.js render config: an explicit labels/datasets array replaces the generated array,
262
+ * while an omitted member falls back to the simplified property surface.
263
+ */
264
+ effectiveData() {
265
+ const generated = {
266
+ labels: this.labels,
267
+ datasets: this.datasets.map((series) => ({
268
+ ...series,
269
+ data: series.points ?? series.data ?? [],
270
+ yAxisID: series.axis === 'y2' ? 'y2' : 'y',
271
+ })),
272
+ };
273
+ const override = this.config?.data;
274
+ const merged = isPlainObject(override)
275
+ ? deepMerge(generated, override)
276
+ : generated;
277
+ return {
278
+ labels: Array.isArray(merged.labels) ? merged.labels : [],
279
+ datasets: Array.isArray(merged.datasets)
280
+ ? merged.datasets.filter(isPlainObject)
281
+ : [],
282
+ };
283
+ }
284
+ hasExplicitConfigData() {
285
+ return isPlainObject(this.config) && Object.prototype.hasOwnProperty.call(this.config, 'data');
286
+ }
287
+ datasetLabel(dataset, index) {
288
+ return labelText(dataset.label) || this.localize('chartPointLabel', undefined, {
289
+ n: getNumberFormat(this.effectiveLocale).format(index + 1),
290
+ });
291
+ }
292
+ datasetValues(dataset) {
293
+ return Array.isArray(dataset.data) ? dataset.data : [];
294
+ }
295
+ isPointDataset(dataset) {
296
+ const values = this.datasetValues(dataset);
297
+ return (this.effectiveType() === 'scatter' ||
298
+ this.effectiveType() === 'bubble' ||
299
+ values.some(isChartPoint));
300
+ }
243
301
  /**
244
302
  * Appends one streamed category to numeric `data` series and optionally keeps only the newest
245
- * `maxPoints` categories. Point-based scatter/bubble series are left unchanged because their
246
- * x/y coordinates need a richer host-defined append contract.
303
+ * `maxPoints` categories. An explicitly supplied `config.data` member is updated at that same
304
+ * source; generated members continue to update `labels`/`datasets`, preserving generated styling.
305
+ * Point-based scatter/bubble series are left unchanged because their x/y/r coordinates need a
306
+ * richer host-defined append contract.
247
307
  */
248
308
  appendData(label, values, maxPoints = 0) {
249
309
  const limit = Number.isFinite(maxPoints) ? Math.max(0, Math.floor(maxPoints)) : 0;
310
+ if (this.hasExplicitConfigData()) {
311
+ const effective = this.effectiveData();
312
+ const labels = [...effective.labels, label];
313
+ const currentData = isPlainObject(this.config?.data) ? this.config.data : {};
314
+ const explicitLabels = Array.isArray(currentData['labels']);
315
+ const explicitDatasets = Array.isArray(currentData['datasets']);
316
+ const nextLabels = limit > 0 ? labels.slice(-limit) : labels;
317
+ if (!explicitLabels)
318
+ this.labels = nextLabels.map(labelText);
319
+ if (!explicitDatasets) {
320
+ const datasets = this.datasets.map((series, index) => {
321
+ if (series.points)
322
+ return series;
323
+ const data = [...(series.data ?? []), values[index] ?? null];
324
+ return { ...series, data: limit > 0 ? data.slice(-limit) : data };
325
+ });
326
+ this.datasets = datasets;
327
+ }
328
+ if (explicitLabels || explicitDatasets) {
329
+ const nextData = { ...currentData };
330
+ if (explicitLabels)
331
+ nextData['labels'] = nextLabels;
332
+ if (explicitDatasets) {
333
+ nextData['datasets'] = effective.datasets.map((dataset, index) => {
334
+ if (this.isPointDataset(dataset))
335
+ return dataset;
336
+ const data = [...this.datasetValues(dataset), values[index] ?? null];
337
+ return { ...dataset, data: limit > 0 ? data.slice(-limit) : data };
338
+ });
339
+ }
340
+ this.config = { ...this.config, data: nextData };
341
+ }
342
+ return;
343
+ }
250
344
  const labels = [...this.labels, label];
251
345
  const datasets = this.datasets.map((series, index) => series.points
252
346
  ? series
@@ -256,23 +350,83 @@ export class LyraChart extends LyraElement {
256
350
  ? datasets.map((series) => (series.points ? series : { ...series, data: series.data?.slice(-limit) }))
257
351
  : datasets;
258
352
  }
259
- /** Returns a spreadsheet-safe CSV snapshot of the chart's label/data series. */
353
+ /**
354
+ * Returns a spreadsheet-safe CSV snapshot of the effective chart data. Point datasets expand to
355
+ * x/y and, when present, radius/per-point-label columns so export never flattens point meaning.
356
+ */
260
357
  exportData(format) {
261
358
  if (format === 'png')
262
359
  return this.chart?.toBase64Image?.() ?? '';
263
- const header = ['label', ...this.datasets.map((series) => series.label)].map(escapeCsvField).join(',');
264
- const rowCount = Math.max(this.labels.length, ...this.datasets.map((series) => series.data?.length ?? series.points?.length ?? 0), 0);
265
- const rows = Array.from({ length: rowCount }, (_, index) => [this.labels[index] ?? '', ...this.datasets.map((series) => series.points?.[index]?.y ?? series.data?.[index] ?? '')]
266
- .map(escapeCsvField)
267
- .join(','));
360
+ const effective = this.effectiveData();
361
+ const columns = effective.datasets.map((dataset, datasetIndex) => {
362
+ const values = this.datasetValues(dataset);
363
+ const label = this.datasetLabel(dataset, datasetIndex);
364
+ const points = values.filter(isChartPoint);
365
+ return {
366
+ dataset,
367
+ label,
368
+ point: this.isPointDataset(dataset),
369
+ radius: points.some((point) => point.r != null),
370
+ pointLabel: points.some((point) => point.label != null),
371
+ };
372
+ });
373
+ const header = [
374
+ 'label',
375
+ ...columns.flatMap((column) => column.point
376
+ ? [
377
+ `${column.label} x`,
378
+ `${column.label} y`,
379
+ ...(column.radius ? [`${column.label} r`] : []),
380
+ ...(column.pointLabel ? [`${column.label} label`] : []),
381
+ ]
382
+ : [column.label]),
383
+ ].map(escapeCsvField).join(',');
384
+ const rowCount = Math.max(effective.labels.length, ...effective.datasets.map((dataset) => this.datasetValues(dataset).length), 0);
385
+ const rows = Array.from({ length: rowCount }, (_, index) => {
386
+ const firstPoint = effective.datasets
387
+ .map((dataset) => this.datasetValues(dataset)[index])
388
+ .find(isChartPoint);
389
+ const label = labelText(effective.labels[index]) || firstPoint?.label || '';
390
+ return [
391
+ label,
392
+ ...columns.flatMap((column) => {
393
+ const value = this.datasetValues(column.dataset)[index];
394
+ if (!column.point)
395
+ return [value ?? ''];
396
+ if (!isChartPoint(value)) {
397
+ return ['', '', ...(column.radius ? [''] : []), ...(column.pointLabel ? [''] : [])];
398
+ }
399
+ return [
400
+ value.x,
401
+ value.y,
402
+ ...(column.radius ? [value.r ?? ''] : []),
403
+ ...(column.pointLabel ? [value.label ?? ''] : []),
404
+ ];
405
+ }),
406
+ ].map(escapeCsvField).join(',');
407
+ });
268
408
  return [header, ...rows].join('\r\n');
269
409
  }
270
410
  connectedCallback() {
271
411
  super.connectedCallback();
272
412
  if (typeof ResizeObserver !== 'undefined') {
273
- this.resizeObserver = new ResizeObserver(() => {
274
- this.updateAutoLegendPosition();
275
- this.draw();
413
+ this.resizeObserver = new ResizeObserver((entries) => {
414
+ const width = entries[0]?.contentRect.width ?? this.getBoundingClientRect().width;
415
+ if (Number.isFinite(width) &&
416
+ this.lastObservedInlineSize !== undefined &&
417
+ Math.abs(width - this.lastObservedInlineSize) < 0.5) {
418
+ return;
419
+ }
420
+ this.lastObservedInlineSize = width;
421
+ if (this.resizeDrawFrame !== undefined)
422
+ return;
423
+ this.resizeDrawFrame = requestAnimationFrame(() => {
424
+ this.resizeDrawFrame = undefined;
425
+ // A changed auto position schedules the same visibility-gated draw through `updated()`.
426
+ // Avoid drawing once here and again in that reactive pass.
427
+ if (!this.updateAutoLegendPosition())
428
+ this.drawIfVisible();
429
+ });
276
430
  });
277
431
  this.resizeObserver.observe(this);
278
432
  }
@@ -289,7 +443,7 @@ export class LyraChart extends LyraElement {
289
443
  }
290
444
  this.loadFailed = false;
291
445
  this.chartJsModule = mod;
292
- this.draw();
446
+ this.drawIfVisible();
293
447
  });
294
448
  // `data-labels`/`stack-totals` need the optional `chartjs-plugin-datalabels`
295
449
  // peer registered before the plugin's `datalabels` options in `buildConfig()`
@@ -310,7 +464,7 @@ export class LyraChart extends LyraElement {
310
464
  const wasVisible = this.visible;
311
465
  this.visible = entries[0]?.isIntersecting ?? true;
312
466
  if (this.visible && !wasVisible)
313
- this.draw();
467
+ this.drawIfVisible();
314
468
  });
315
469
  this.intersectionObserver.observe(this);
316
470
  }
@@ -319,6 +473,10 @@ export class LyraChart extends LyraElement {
319
473
  super.disconnectedCallback();
320
474
  this.resizeObserver?.disconnect();
321
475
  this.resizeObserver = undefined;
476
+ if (this.resizeDrawFrame !== undefined)
477
+ cancelAnimationFrame(this.resizeDrawFrame);
478
+ this.resizeDrawFrame = undefined;
479
+ this.lastObservedInlineSize = undefined;
322
480
  this.loadGeneration += 1;
323
481
  this.zoomLoadGeneration += 1;
324
482
  this.dataLabelsLoadGeneration += 1;
@@ -338,6 +496,7 @@ export class LyraChart extends LyraElement {
338
496
  */
339
497
  applyDataLabelsPlugin(plugin) {
340
498
  this.dataLabelsPlugin = plugin;
499
+ let rebuilt = false;
341
500
  if (plugin && this.needsDataLabels && this.chart) {
342
501
  // Force reconstruction: a live chart built without the plugin can't gain
343
502
  // it through chart.update(). destroy() + clearing builtType makes the next
@@ -345,8 +504,14 @@ export class LyraChart extends LyraElement {
345
504
  this.chart.destroy();
346
505
  this.chart = undefined;
347
506
  this.builtType = undefined;
507
+ rebuilt = true;
348
508
  }
349
- this.draw();
509
+ this.drawIfVisible();
510
+ // A rebuild resets Chart.js's per-instance visibility metadata to the configured `hidden`
511
+ // flags. Nothing reactive changes after the async plugin resolves, so refresh the DOM legend
512
+ // explicitly instead of leaving its pre-rebuild aria-pressed state stale.
513
+ if (rebuilt && this.legend)
514
+ this.requestUpdate();
350
515
  }
351
516
  /**
352
517
  * Resets a stale `zoomed` flag before the render pass that's about to call
@@ -385,11 +550,8 @@ export class LyraChart extends LyraElement {
385
550
  // its own load/draw sequence, so nothing is lost by bailing out here.
386
551
  if (!this.isConnected)
387
552
  return;
388
- if (this.loading)
389
- this.setAttribute('aria-busy', 'true');
390
- else
391
- this.removeAttribute('aria-busy');
392
- // `--lr-chart-height` is read by `:host`'s `block-size` in
553
+ this.setAttribute('aria-busy', String(this.loading));
554
+ // `--lr-chart-height` is read by the plot region and host minimum size in
393
555
  // `chart.styles.ts`. Custom properties only cascade downward (host ->
394
556
  // shadow tree), never upward from a shadow-tree descendant back to the
395
557
  // host, so this must be set on the host element itself, not on the
@@ -419,7 +581,7 @@ export class LyraChart extends LyraElement {
419
581
  void loadChartJsWithZoom().then(() => {
420
582
  if (zoomGeneration !== this.zoomLoadGeneration || !this.isConnected || !this.zoom)
421
583
  return;
422
- this.draw();
584
+ this.drawIfVisible();
423
585
  });
424
586
  }
425
587
  }
@@ -435,7 +597,29 @@ export class LyraChart extends LyraElement {
435
597
  this.applyDataLabelsPlugin(result?.plugin);
436
598
  });
437
599
  }
438
- const contentChanged = [
600
+ const contentChanged = this.chartContentChanged(changed);
601
+ // `this.locale`/`this.strings` above only catch an explicit property write on this element
602
+ // itself -- an inherited `dir`/`lang` flip on an ancestor changes `effectiveDirection()`/
603
+ // `effectiveLocale()` (which `buildScales()`/`buildConfig()` read directly) without touching
604
+ // any tracked property here, so it has to be detected by comparing against what was actually
605
+ // last drawn instead.
606
+ const effectiveDirection = this.effectiveDirection;
607
+ const effectiveLocale = this.effectiveLocale;
608
+ const contextChanged = (this.lastDrawnDirection !== undefined && this.lastDrawnDirection !== effectiveDirection) ||
609
+ (this.lastDrawnLocale !== undefined && this.lastDrawnLocale !== effectiveLocale);
610
+ this.lastDrawnDirection = effectiveDirection;
611
+ this.lastDrawnLocale = effectiveLocale;
612
+ if (!contentChanged && !contextChanged)
613
+ return;
614
+ this.drawIfVisible();
615
+ }
616
+ /**
617
+ * Subclass extension point for derived reactive inputs. Keeping this gate in the normal
618
+ * visibility-checked update path prevents subclasses such as histogram from issuing a second,
619
+ * unconditional post-update redraw.
620
+ */
621
+ chartContentChanged(changed) {
622
+ return [
439
623
  'type',
440
624
  'labels',
441
625
  'datasets',
@@ -459,22 +643,6 @@ export class LyraChart extends LyraElement {
459
643
  'strings',
460
644
  'loading',
461
645
  ].some((name) => changed.has(name));
462
- // `this.locale`/`this.strings` above only catch an explicit property write on this element
463
- // itself -- an inherited `dir`/`lang` flip on an ancestor changes `effectiveDirection()`/
464
- // `effectiveLocale()` (which `buildScales()`/`buildConfig()` read directly) without touching
465
- // any tracked property here, so it has to be detected by comparing against what was actually
466
- // last drawn instead.
467
- const effectiveDirection = this.effectiveDirection;
468
- const effectiveLocale = this.effectiveLocale;
469
- const contextChanged = (this.lastDrawnDirection !== undefined && this.lastDrawnDirection !== effectiveDirection) ||
470
- (this.lastDrawnLocale !== undefined && this.lastDrawnLocale !== effectiveLocale);
471
- this.lastDrawnDirection = effectiveDirection;
472
- this.lastDrawnLocale = effectiveLocale;
473
- if (!contentChanged && !contextChanged)
474
- return;
475
- if (!this.visible)
476
- return; // becoming visible again triggers its own draw() via the observer above
477
- this.draw();
478
646
  }
479
647
  seriesToDataset(s, index, palette, effectiveType) {
480
648
  const colors = Array.isArray(s.color)
@@ -578,11 +746,12 @@ export class LyraChart extends LyraElement {
578
746
  datalabelsOptions(theme, effectiveType) {
579
747
  if (!this.needsDataLabels)
580
748
  return { display: false };
749
+ const datasets = this.effectiveData().datasets;
581
750
  const stackTotalsActive = this.stackTotals && this.stacked && (effectiveType === 'bar' || effectiveType === 'line');
582
751
  // The topmost dataset per axis carries the stack total (drawn above the stack).
583
752
  const topDatasetIndexByAxis = new Map();
584
753
  if (stackTotalsActive) {
585
- this.datasets.forEach((s, i) => topDatasetIndexByAxis.set(s.axis === 'y2' ? 'y2' : 'y', i));
754
+ datasets.forEach((dataset, index) => topDatasetIndexByAxis.set(dataset.yAxisID === 'y2' || dataset.axis === 'y2' ? 'y2' : 'y', index));
586
755
  }
587
756
  const totalsByAxis = stackTotalsActive
588
757
  ? { y: this.computeStackTotals('y'), y2: this.computeStackTotals('y2') }
@@ -594,7 +763,8 @@ export class LyraChart extends LyraElement {
594
763
  anchor: stackTotalsActive ? 'end' : 'center',
595
764
  display: (context) => {
596
765
  const datasetIndex = context.datasetIndex;
597
- const axis = this.datasets[datasetIndex]?.axis === 'y2' ? 'y2' : 'y';
766
+ const dataset = datasets[datasetIndex];
767
+ const axis = dataset?.yAxisID === 'y2' || dataset?.axis === 'y2' ? 'y2' : 'y';
598
768
  if (stackTotalsActive) {
599
769
  // Only the topmost dataset of each axis draws, and only where the
600
770
  // category total is non-null.
@@ -609,7 +779,8 @@ export class LyraChart extends LyraElement {
609
779
  },
610
780
  formatter: (value, context) => {
611
781
  const datasetIndex = context.datasetIndex;
612
- const axis = this.datasets[datasetIndex]?.axis === 'y2' ? 'y2' : 'y';
782
+ const dataset = datasets[datasetIndex];
783
+ const axis = dataset?.yAxisID === 'y2' || dataset?.axis === 'y2' ? 'y2' : 'y';
613
784
  if (stackTotalsActive && topDatasetIndexByAxis.get(axis) === datasetIndex) {
614
785
  const total = totalsByAxis?.[axis][context.dataIndex];
615
786
  if (total != null)
@@ -643,17 +814,19 @@ export class LyraChart extends LyraElement {
643
814
  * through `renderDataTable()`.
644
815
  */
645
816
  computeStackTotals(axisId = 'y') {
646
- const members = this.datasets.filter((s) => (s.axis === 'y2' ? 'y2' : 'y') === axisId);
647
- const categoryCount = members.reduce((max, s) => Math.max(max, (s.points ?? s.data ?? []).length), this.labels.length);
817
+ const effective = this.effectiveData();
818
+ const members = effective.datasets.filter((dataset) => (dataset.yAxisID === 'y2' || dataset.axis === 'y2' ? 'y2' : 'y') === axisId);
819
+ const categoryCount = members.reduce((max, dataset) => Math.max(max, this.datasetValues(dataset).length), effective.labels.length);
648
820
  const totals = [];
649
821
  for (let i = 0; i < categoryCount; i++) {
650
822
  let sum = 0;
651
823
  let any = false;
652
- for (const s of members) {
653
- const raw = s.points ? s.points[i]?.y : s.data?.[i];
654
- if (raw == null || !Number.isFinite(raw))
824
+ for (const dataset of members) {
825
+ const value = this.datasetValues(dataset)[i];
826
+ const numeric = isChartPoint(value) ? value.y : value;
827
+ if (numeric == null || !Number.isFinite(numeric))
655
828
  continue;
656
- sum += raw;
829
+ sum += numeric;
657
830
  any = true;
658
831
  }
659
832
  totals.push(any ? sum : null);
@@ -711,7 +884,7 @@ export class LyraChart extends LyraElement {
711
884
  },
712
885
  };
713
886
  }
714
- const hasY2 = this.datasets.some((s) => s.axis === 'y2');
887
+ const hasY2 = this.effectiveData().datasets.some((dataset) => dataset.yAxisID === 'y2' || dataset.axis === 'y2');
715
888
  const rtl = this.effectiveDirection === 'rtl';
716
889
  // `stacked` only applies to bar/line-family charts sharing a categorical
717
890
  // axis, per the design spec — scatter/bubble's linear x scale and the
@@ -768,8 +941,10 @@ export class LyraChart extends LyraElement {
768
941
  if (!hit)
769
942
  return;
770
943
  const { datasetIndex, index } = hit;
771
- const label = chart.data.labels?.[index];
772
944
  const value = chart.data.datasets[datasetIndex]?.data?.[index] ?? null;
945
+ const label = isChartPoint(value) && value.label !== undefined
946
+ ? value.label
947
+ : labelText(chart.data.labels?.[index]) || undefined;
773
948
  this.activateDatum({ datasetIndex, index, label, value });
774
949
  }
775
950
  chartDatums() {
@@ -785,12 +960,28 @@ export class LyraChart extends LyraElement {
785
960
  return;
786
961
  if (typeof value === 'number' && !Number.isFinite(value))
787
962
  return;
788
- datums.push({ datasetIndex, index, label: labels[index], value });
963
+ datums.push({
964
+ datasetIndex,
965
+ index,
966
+ label: isChartPoint(value) && value.label !== undefined
967
+ ? value.label
968
+ : labelText(labels[index]) || undefined,
969
+ value,
970
+ });
789
971
  });
790
972
  });
791
973
  return datums;
792
974
  }
793
975
  datumDisplayValue(value) {
976
+ if (isChartPoint(value)) {
977
+ const numberFormat = getNumberFormat(this.effectiveLocale);
978
+ const coordinates = [
979
+ `x=${numberFormat.format(value.x)}`,
980
+ `y=${numberFormat.format(value.y)}`,
981
+ ...(value.r == null ? [] : [`r=${numberFormat.format(value.r)}`]),
982
+ ].join(', ');
983
+ return value.label ? `${value.label} (${coordinates})` : coordinates;
984
+ }
794
985
  const numeric = typeof value === 'number'
795
986
  ? value
796
987
  : typeof value === 'object' && value !== null
@@ -930,8 +1121,10 @@ export class LyraChart extends LyraElement {
930
1121
  updateAutoLegendPosition() {
931
1122
  const width = this.getBoundingClientRect().width || this.clientWidth;
932
1123
  const next = width > 0 && width < 480 ? 'bottom' : 'right';
933
- if (next !== this.autoLegendPosition)
934
- this.autoLegendPosition = next;
1124
+ if (next === this.autoLegendPosition)
1125
+ return false;
1126
+ this.autoLegendPosition = next;
1127
+ return true;
935
1128
  }
936
1129
  legendPositionForConfig() {
937
1130
  return this.legendPosition === 'auto' ? this.autoLegendPosition : this.legendPosition;
@@ -1009,7 +1202,9 @@ export class LyraChart extends LyraElement {
1009
1202
  onClick: (event, _elements, chart) => this.handlePointClick(event, chart),
1010
1203
  plugins: {
1011
1204
  legend: {
1012
- display: this.legend,
1205
+ // A canvas legend cannot wrap one long public label; the DOM legend rendered below
1206
+ // preserves the full text, normal-flow containment, keyboard access, and toggling.
1207
+ display: false,
1013
1208
  position: this.legendPositionForConfig(),
1014
1209
  labels: {
1015
1210
  color: theme.legend,
@@ -1026,7 +1221,7 @@ export class LyraChart extends LyraElement {
1026
1221
  // Chart.js's tooltip plugin has no per-dataset `tooltip.enabled`
1027
1222
  // — `Series.noTooltip` is implemented here instead, via the one
1028
1223
  // mechanism the core tooltip plugin actually reads.
1029
- filter: (item) => !this.datasets[item.datasetIndex]?.noTooltip,
1224
+ filter: (item) => !this.effectiveData().datasets[item.datasetIndex]?.noTooltip,
1030
1225
  },
1031
1226
  zoom: this.zoom
1032
1227
  ? {
@@ -1084,39 +1279,40 @@ export class LyraChart extends LyraElement {
1084
1279
  const config = this.buildConfig();
1085
1280
  const effectiveType = config.type;
1086
1281
  if (this.chart && this.builtType === effectiveType) {
1087
- // Chart.js tracks per-dataset legend-toggled visibility by dataset INDEX against its own
1088
- // internal metadata, separate from `chart.data.datasets` itself -- a full reassignment of
1089
- // `chart.data` on every reactive update (as every live-polling consumer's parent naturally
1090
- // produces) would otherwise silently reset every hidden series back to visible.
1282
+ // Chart.js tracks per-dataset legend-toggled visibility by dataset INDEX as a nullable
1283
+ // metadata override, separate from each dataset's configured `hidden` value -- a full
1284
+ // reassignment of `chart.data` on every reactive update (as every live-polling consumer's
1285
+ // parent naturally produces) would otherwise silently reset an explicit legend choice.
1091
1286
  // Only snapshot indices the chart already has metadata for -- `this.datasets` reflects the
1092
1287
  // *new* series count, so mapping over it (instead of the chart's own prior dataset count)
1093
- // would query isDatasetVisible() for a not-yet-existing index, get back its "not explicitly
1094
- // visible" default, and then setDatasetVisibility(i, false) below would enforce that default
1095
- // as a real hidden state -- permanently hiding a series the moment it's added.
1288
+ // would query metadata for a not-yet-existing index and fabricate state for a series that
1289
+ // has not been added yet.
1096
1290
  const priorDatasetCount = this.chart.data.datasets?.length ?? 0;
1097
- const priorVisibility = Array.from({ length: priorDatasetCount }, (_, i) => this.chart.isDatasetVisible(i));
1291
+ const priorVisibilityOverrides = Array.from({ length: priorDatasetCount }, (_, i) => this.chart.getDatasetMeta(i).hidden);
1098
1292
  this.chart.data = config.data;
1099
1293
  this.chart.options = config.options ?? {};
1100
1294
  this.chart.update('none');
1101
1295
  this.updateChartArea(this.chart);
1102
- // The mirror-image guard of the one above: a shrinking update can leave `priorVisibility`
1103
- // longer than the new dataset list, and Chart.js fabricates metadata for an out-of-range index
1104
- // instead of throwing -- skip any index the shrunk list no longer has instead of polluting
1105
- // internal per-dataset state for a series that's gone.
1296
+ // The mirror-image guard of the one above: a shrinking update can leave the prior override
1297
+ // list longer than the new dataset list, and Chart.js fabricates metadata for an out-of-range
1298
+ // index instead of throwing -- skip any index the shrunk list no longer has instead of
1299
+ // polluting internal per-dataset state for a series that's gone.
1106
1300
  const currentDatasetCount = this.chart.data.datasets?.length ?? 0;
1107
- let restoredHiddenState = false;
1108
- priorVisibility.forEach((visible, i) => {
1301
+ let restoredVisibilityOverride = false;
1302
+ priorVisibilityOverrides.forEach((hidden, i) => {
1109
1303
  if (i >= currentDatasetCount)
1110
1304
  return;
1111
- if (!visible) {
1112
- this.chart.setDatasetVisibility(i, false);
1113
- restoredHiddenState = true;
1305
+ // `null` means there was no user override: the replacement dataset's own `hidden`
1306
+ // configuration must win. Boolean metadata represents an explicit legend show/hide.
1307
+ if (typeof hidden === 'boolean') {
1308
+ this.chart.setDatasetVisibility(i, !hidden);
1309
+ restoredVisibilityOverride = true;
1114
1310
  }
1115
1311
  });
1116
1312
  // setDatasetVisibility() only flips internal metadata -- it does not repaint on its own (unlike
1117
1313
  // hide()/show()) -- so without a follow-up update() the canvas would keep showing the series as
1118
1314
  // visible until some unrelated future draw() call happens to run.
1119
- if (restoredHiddenState)
1315
+ if (restoredVisibilityOverride)
1120
1316
  this.chart.update('none');
1121
1317
  return;
1122
1318
  }
@@ -1125,6 +1321,11 @@ export class LyraChart extends LyraElement {
1125
1321
  this.builtType = effectiveType;
1126
1322
  this.updateChartArea(this.chart);
1127
1323
  }
1324
+ drawIfVisible() {
1325
+ if (!this.isConnected || !this.visible)
1326
+ return;
1327
+ this.draw();
1328
+ }
1128
1329
  /** Reset any active zoom/pan back to the original view. */
1129
1330
  resetZoom() {
1130
1331
  this.suppressZoomComplete = true;
@@ -1148,12 +1349,16 @@ export class LyraChart extends LyraElement {
1148
1349
  * handled, but a fully out-of-band restyle is not).
1149
1350
  */
1150
1351
  refreshTheme() {
1151
- this.draw();
1352
+ this.drawIfVisible();
1353
+ // The wrapping DOM legend carries a concrete, computed swatch color too; refresh its
1354
+ // template without turning the resulting empty-property update into another canvas draw.
1355
+ if (this.legend)
1356
+ this.requestUpdate();
1152
1357
  }
1153
- seriesValues(series) {
1154
- if (series.points)
1155
- return series.points.map((point) => point.y).filter((value) => Number.isFinite(value));
1156
- return (series.data ?? []).filter((value) => value != null && Number.isFinite(value));
1358
+ seriesValues(dataset) {
1359
+ return this.datasetValues(dataset)
1360
+ .map((value) => isChartPoint(value) ? value.y : value)
1361
+ .filter((value) => typeof value === 'number' && Number.isFinite(value));
1157
1362
  }
1158
1363
  formatSummaryValue(value) {
1159
1364
  return getNumberFormat(this.effectiveLocale).format(value);
@@ -1162,9 +1367,10 @@ export class LyraChart extends LyraElement {
1162
1367
  return this.valueFormatter?.(value, 'table') ?? this.formatSummaryValue(value);
1163
1368
  }
1164
1369
  tableStackAxes() {
1165
- if (!this.stackTotals || !this.stacked || (this.type !== 'bar' && this.type !== 'line'))
1370
+ const type = this.effectiveType();
1371
+ if (!this.stackTotals || !this.stacked || (type !== 'bar' && type !== 'line'))
1166
1372
  return [];
1167
- const present = new Set(this.datasets.map((series) => (series.axis === 'y2' ? 'y2' : 'y')));
1373
+ const present = new Set(this.effectiveData().datasets.map((dataset) => dataset.yAxisID === 'y2' || dataset.axis === 'y2' ? 'y2' : 'y'));
1168
1374
  return ['y', 'y2'].filter((axis) => present.has(axis));
1169
1375
  }
1170
1376
  tableStackTotalLabel(axis, axisCount) {
@@ -1181,10 +1387,12 @@ export class LyraChart extends LyraElement {
1181
1387
  chartDescription() {
1182
1388
  if (this.accessibleDescription)
1183
1389
  return this.accessibleDescription;
1184
- const summaries = this.datasets.map((series) => {
1185
- const values = this.seriesValues(series);
1390
+ const datasets = this.effectiveData().datasets;
1391
+ const summaries = datasets.map((dataset, index) => {
1392
+ const seriesLabel = this.datasetLabel(dataset, index);
1393
+ const values = this.seriesValues(dataset);
1186
1394
  if (!values.length)
1187
- return this.localize('chartSeriesNoData', undefined, { label: series.label });
1395
+ return this.localize('chartSeriesNoData', undefined, { label: seriesLabel });
1188
1396
  const first = values[0];
1189
1397
  const last = values[values.length - 1];
1190
1398
  const trend = last > first
@@ -1198,13 +1406,19 @@ export class LyraChart extends LyraElement {
1198
1406
  min = Math.min(min, value);
1199
1407
  max = Math.max(max, value);
1200
1408
  }
1201
- return this.localize('chartSummary', undefined, {
1202
- label: series.label,
1409
+ const summary = this.localize('chartSummary', undefined, {
1410
+ label: seriesLabel,
1203
1411
  count: this.formatSummaryValue(values.length),
1204
1412
  min: this.formatSummaryValue(min),
1205
1413
  max: this.formatSummaryValue(max),
1206
1414
  trend,
1207
1415
  });
1416
+ const pointDetails = this.datasetValues(dataset)
1417
+ .filter(isChartPoint)
1418
+ .map((point) => this.datumDisplayValue(point));
1419
+ return pointDetails.length
1420
+ ? [summary, ...pointDetails].join(this.localize('chartSummarySeparator'))
1421
+ : summary;
1208
1422
  });
1209
1423
  return summaries.length
1210
1424
  ? this.localize('chartSummaryWithData', undefined, {
@@ -1216,7 +1430,8 @@ export class LyraChart extends LyraElement {
1216
1430
  : this.localize('chartSummaryEmpty', undefined, { type: this.localizedChartType() });
1217
1431
  }
1218
1432
  renderDataTable() {
1219
- const rowCount = Math.max(this.labels.length, ...this.datasets.map((series) => (series.points ? series.points.length : series.data?.length ?? 0)), 0);
1433
+ const effective = this.effectiveData();
1434
+ const rowCount = Math.max(effective.labels.length, ...effective.datasets.map((dataset) => this.datasetValues(dataset).length), 0);
1220
1435
  const stackAxes = this.tableStackAxes();
1221
1436
  const stackTotals = new Map(stackAxes.map((axis) => [axis, this.computeStackTotals(axis)]));
1222
1437
  return html `
@@ -1225,32 +1440,41 @@ export class LyraChart extends LyraElement {
1225
1440
  <thead>
1226
1441
  <tr>
1227
1442
  <th scope="col">${this.localize('chartCategory')}</th>
1228
- ${this.datasets.map((series) => html `<th scope="col">${series.label}</th>`)}
1443
+ ${effective.datasets.map((dataset, index) => html `<th scope="col">${this.datasetLabel(dataset, index)}</th>`)}
1229
1444
  ${stackAxes.map((axis) => html `<th scope="col">${this.tableStackTotalLabel(axis, stackAxes.length)}</th>`)}
1230
1445
  </tr>
1231
1446
  </thead>
1232
1447
  <tbody>
1233
1448
  ${Array.from({ length: rowCount }, (_, index) => html `
1234
1449
  <tr>
1235
- <th scope="row">${this.labels[index] ?? this.localize('chartPointLabel', undefined, {
1236
- n: this.formatSummaryValue(index + 1),
1237
- })}</th>
1238
- ${this.datasets.map((series, datasetIndex) => {
1239
- const value = series.points ? series.points[index]?.y : series.data?.[index];
1240
- if (value == null || !Number.isFinite(value)) {
1450
+ <th scope="row">${labelText(effective.labels[index]) ||
1451
+ effective.datasets
1452
+ .map((dataset) => this.datasetValues(dataset)[index])
1453
+ .find(isChartPoint)?.label ||
1454
+ this.localize('chartPointLabel', undefined, {
1455
+ n: this.formatSummaryValue(index + 1),
1456
+ })}</th>
1457
+ ${effective.datasets.map((dataset, datasetIndex) => {
1458
+ const datum = this.datasetValues(dataset)[index];
1459
+ const value = isChartPoint(datum) ? datum.y : datum;
1460
+ if (typeof value !== 'number' || !Number.isFinite(value)) {
1241
1461
  return html `<td>${this.localize('noData')}</td>`;
1242
1462
  }
1243
1463
  const detail = {
1244
1464
  datasetIndex,
1245
1465
  index,
1246
- label: this.labels[index],
1247
- value: series.points?.[index] ?? value,
1466
+ label: isChartPoint(datum) && datum.label !== undefined
1467
+ ? datum.label
1468
+ : labelText(effective.labels[index]) || undefined,
1469
+ value: datum,
1248
1470
  };
1249
1471
  return html `<td><button
1250
1472
  type="button"
1251
1473
  tabindex=${this.showDataTable ? '0' : '-1'}
1252
1474
  @click=${() => this.activateDatum(detail)}
1253
- >${this.formatTableValue(value)}</button></td>`;
1475
+ >${isChartPoint(datum)
1476
+ ? this.datumDisplayValue(datum)
1477
+ : this.formatTableValue(value)}</button></td>`;
1254
1478
  })}
1255
1479
  ${stackAxes.map((axis) => {
1256
1480
  const total = stackTotals.get(axis)?.[index];
@@ -1267,6 +1491,88 @@ export class LyraChart extends LyraElement {
1267
1491
  hasCustomDataTable() {
1268
1492
  return Array.from(this.children).some((child) => child.getAttribute('slot') === 'data-table');
1269
1493
  }
1494
+ legendTextFor(dataset, datasetIndex) {
1495
+ const label = this.datasetLabel(dataset, datasetIndex);
1496
+ if (!this.valueFormatter)
1497
+ return label;
1498
+ const values = this.datasetValues(dataset)
1499
+ .map((value) => isChartPoint(value) ? value.y : Number(value))
1500
+ .filter(Number.isFinite);
1501
+ if (!values.length)
1502
+ return label;
1503
+ const value = values.reduce((sum, item) => sum + item, 0);
1504
+ const formatted = this.formatValue(value, 'legend');
1505
+ return formatted === value || formatted === undefined
1506
+ ? label
1507
+ : this.localize('chartValueLabel', undefined, {
1508
+ label,
1509
+ value: String(formatted),
1510
+ });
1511
+ }
1512
+ legendColor(dataset, datasetIndex) {
1513
+ const palette = this.seriesPalette();
1514
+ const fallback = palette[datasetIndex % palette.length] ?? 'transparent';
1515
+ const rawCandidate = dataset.backgroundColor ?? dataset.borderColor ?? dataset.color;
1516
+ const candidate = Array.isArray(rawCandidate) ? rawCandidate[0] : rawCandidate;
1517
+ return typeof candidate === 'string'
1518
+ ? resolveCanvasColor(this, candidate, fallback)
1519
+ : fallback;
1520
+ }
1521
+ toggleDataset(datasetIndex) {
1522
+ if (!this.chart)
1523
+ return;
1524
+ const visible = this.chart.isDatasetVisible(datasetIndex);
1525
+ this.chart.setDatasetVisibility(datasetIndex, !visible);
1526
+ this.chart.update('none');
1527
+ this.requestUpdate();
1528
+ }
1529
+ legendDatasetVisible(dataset, datasetIndex) {
1530
+ const configuredVisible = dataset.hidden !== true;
1531
+ // With no instance, or when the upcoming draw must replace it for a new effective type, the
1532
+ // new Chart.js metadata will derive visibility directly from the effective dataset.
1533
+ if (!this.chart || this.builtType !== this.effectiveType())
1534
+ return configuredVisible;
1535
+ const renderedDatasetCount = this.chart.data.datasets?.length ?? 0;
1536
+ if (datasetIndex >= renderedDatasetCount)
1537
+ return configuredVisible;
1538
+ // An explicit legend toggle lives on Chart.js metadata and survives the in-place draw path.
1539
+ // Without one, the upcoming dataset's own `hidden` flag is the post-draw source of truth.
1540
+ const metadata = this.chart.getDatasetMeta?.(datasetIndex);
1541
+ return typeof metadata?.hidden === 'boolean'
1542
+ ? this.chart.isDatasetVisible(datasetIndex)
1543
+ : configuredVisible;
1544
+ }
1545
+ renderLegend() {
1546
+ if (!this.legend)
1547
+ return nothing;
1548
+ const effective = this.effectiveData();
1549
+ return html `
1550
+ <div
1551
+ part="legend"
1552
+ role="group"
1553
+ data-position=${this.legendPositionForConfig()}
1554
+ aria-label=${this.accessibleName(this.localize('chart'))}
1555
+ >
1556
+ ${effective.datasets.map((dataset, index) => {
1557
+ const visible = this.legendDatasetVisible(dataset, index);
1558
+ return html `
1559
+ <button
1560
+ part="legend-item"
1561
+ type="button"
1562
+ aria-pressed=${visible ? 'true' : 'false'}
1563
+ @click=${() => this.toggleDataset(index)}
1564
+ >
1565
+ <span
1566
+ part="legend-swatch"
1567
+ style="background-color:${this.legendColor(dataset, index)}"
1568
+ ></span>
1569
+ <span>${this.legendTextFor(dataset, index)}</span>
1570
+ </button>
1571
+ `;
1572
+ })}
1573
+ </div>
1574
+ `;
1575
+ }
1270
1576
  render() {
1271
1577
  if (this.loading) {
1272
1578
  return html `
@@ -1282,33 +1588,46 @@ export class LyraChart extends LyraElement {
1282
1588
  </div>
1283
1589
  `;
1284
1590
  }
1285
- const seriesLabels = this.datasets.map((d) => d.label);
1591
+ const effective = this.effectiveData();
1592
+ const seriesLabels = effective.datasets.map((dataset, index) => this.datasetLabel(dataset, index));
1286
1593
  const label = this.accessibleName((seriesLabels.length
1287
1594
  ? getListFormat(this.effectiveLocale, { type: 'conjunction' }).format(seriesLabels)
1288
1595
  : '') || this.localize('chart'));
1289
1596
  const description = this.chartDescription();
1290
1597
  return html `
1291
- <div part="base">
1292
- <canvas
1293
- part="canvas"
1294
- role="img"
1295
- tabindex="0"
1296
- aria-label=${label}
1297
- aria-describedby="${this.descriptionId} ${this.datumStatusId}"
1298
- @focus=${this.onCanvasFocus}
1299
- @keydown=${this.onCanvasKeyDown}
1300
- ></canvas>
1301
- <div
1302
- part="center"
1303
- style=${styleMap(this.resolvedChartArea
1598
+ <div
1599
+ part="base"
1600
+ data-legend-position=${this.legend ? this.legendPositionForConfig() : nothing}
1601
+ >
1602
+ <div part="plot">
1603
+ <canvas
1604
+ part="canvas"
1605
+ role="application"
1606
+ aria-roledescription=${this.localize('chart')}
1607
+ tabindex="0"
1608
+ aria-label=${label}
1609
+ aria-describedby="${this.descriptionId} ${this.datumStatusId}"
1610
+ @focus=${this.onCanvasFocus}
1611
+ @keydown=${this.onCanvasKeyDown}
1612
+ ></canvas>
1613
+ <div
1614
+ part="center"
1615
+ style=${styleMap(this.resolvedChartArea
1304
1616
  ? {
1305
1617
  left: `${this.resolvedChartArea.left + this.resolvedChartArea.width / 2}px`,
1306
1618
  top: `${this.resolvedChartArea.top + this.resolvedChartArea.height / 2}px`,
1307
1619
  }
1308
1620
  : { left: '50%', top: '50%' })}
1309
- >
1310
- <slot name="center"></slot>
1621
+ >
1622
+ <slot name="center"></slot>
1623
+ </div>
1624
+ ${this.zoom && this.zoomed
1625
+ ? html `<button part="reset-zoom-button" type="button" @click=${() => this.resetZoom()}>
1626
+ ${this.localize('resetZoom')}
1627
+ </button>`
1628
+ : nothing}
1311
1629
  </div>
1630
+ ${this.renderLegend()}
1312
1631
  <p part="description" id=${this.descriptionId} class="sr-only">${description}</p>
1313
1632
  <p id=${this.datumStatusId} class="sr-only" aria-live="polite">
1314
1633
  ${this.keyboardDatumAnnouncement}
@@ -1317,11 +1636,6 @@ export class LyraChart extends LyraElement {
1317
1636
  <slot name="data-table" @slotchange=${() => this.requestUpdate()}></slot>
1318
1637
  ${this.hasCustomDataTable() ? nothing : this.renderDataTable()}
1319
1638
  </div>
1320
- ${this.zoom && this.zoomed
1321
- ? html `<button part="reset-zoom-button" type="button" @click=${() => this.resetZoom()}>
1322
- ${this.localize('resetZoom')}
1323
- </button>`
1324
- : nothing}
1325
1639
  </div>
1326
1640
  `;
1327
1641
  }