@aceshooting/lyra-ui 19.0.1 → 20.0.1

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 (418) hide show
  1. package/CHANGELOG.md +159 -0
  2. package/custom-elements.json +1 -1
  3. package/dist/cli/migration-contract.json +1 -1
  4. package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts +14 -4
  5. package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +1 -1
  6. package/dist/components/agent-tools/approval-queue/approval-queue.class.d.ts +1 -0
  7. package/dist/components/agent-tools/approval-queue/approval-queue.class.js +4 -3
  8. package/dist/components/agent-tools/approval-queue/approval-queue.styles.js +1 -1
  9. package/dist/components/agent-tools/artifact-panel/artifact-panel.class.d.ts +3 -1
  10. package/dist/components/agent-tools/context-inspector/context-inspector.class.d.ts +1 -0
  11. package/dist/components/agent-tools/context-inspector/context-inspector.class.js +4 -3
  12. package/dist/components/agent-tools/context-inspector/context-inspector.styles.js +1 -1
  13. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +1 -1
  14. package/dist/components/agent-tools/eval-result/eval-result.class.js +1 -1
  15. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.d.ts +1 -0
  16. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +4 -3
  17. package/dist/components/agent-tools/evaluation-run/evaluation-run.styles.js +1 -1
  18. package/dist/components/agent-tools/policy-summary/policy-summary.class.d.ts +1 -0
  19. package/dist/components/agent-tools/policy-summary/policy-summary.class.js +4 -3
  20. package/dist/components/agent-tools/policy-summary/policy-summary.styles.js +1 -1
  21. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +1 -1
  22. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +10 -1
  23. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +3 -3
  24. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +1 -1
  25. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.d.ts +6 -3
  26. package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +1 -1
  27. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +14 -3
  28. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +2 -2
  29. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +12 -2
  30. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +3 -1
  31. package/dist/components/charts/chart/box-plot.class.d.ts +15 -3
  32. package/dist/components/charts/chart/box-plot.class.js +3 -3
  33. package/dist/components/charts/chart/box-plot.styles.js +1 -1
  34. package/dist/components/charts/chart/chart.class.d.ts +23 -5
  35. package/dist/components/charts/chart/chart.class.js +2 -2
  36. package/dist/components/charts/chart/chart.styles.js +1 -1
  37. package/dist/components/charts/chart/lite-chart.class.js +1 -1
  38. package/dist/components/charts/chart/lite-chart.styles.js +1 -1
  39. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.d.ts +4 -2
  40. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js +1 -1
  41. package/dist/components/conversation/branch-picker/branch-picker.class.d.ts +4 -2
  42. package/dist/components/conversation/branch-picker/branch-picker.class.js +1 -1
  43. package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +4 -3
  44. package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
  45. package/dist/components/conversation/code-block/code-block-core.class.d.ts +6 -11
  46. package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
  47. package/dist/components/conversation/code-block/code-block-shared.d.ts +29 -1
  48. package/dist/components/conversation/code-block/code-block-shared.js +1 -1
  49. package/dist/components/conversation/code-block/code-block.class.d.ts +6 -11
  50. package/dist/components/conversation/code-block/code-block.class.js +1 -1
  51. package/dist/components/conversation/markdown/markdown-shared.js +2 -2
  52. package/dist/components/conversation/message-actions/message-actions.class.d.ts +4 -2
  53. package/dist/components/conversation/message-actions/message-actions.class.js +2 -2
  54. package/dist/components/conversation/message-parts/message-parts.class.d.ts +17 -2
  55. package/dist/components/conversation/model-select/model-select.class.js +1 -0
  56. package/dist/components/conversation/model-select/model-select.styles.js +1 -1
  57. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +5 -1
  58. package/dist/components/conversation/prompt-input/prompt-input.class.js +2 -2
  59. package/dist/components/conversation/prompt-queue/prompt-queue.class.d.ts +6 -1
  60. package/dist/components/conversation/prompt-queue/prompt-queue.class.js +2 -2
  61. package/dist/components/conversation/realtime-session/realtime-session.class.d.ts +5 -1
  62. package/dist/components/conversation/realtime-session/realtime-session.class.js +1 -1
  63. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts +5 -1
  64. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
  65. package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +13 -2
  66. package/dist/components/conversation/voice-picker/voice-picker.class.js +5 -3
  67. package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
  68. package/dist/components/data/calendar/calendar.class.d.ts +9 -0
  69. package/dist/components/data/calendar/calendar.class.js +2 -2
  70. package/dist/components/data/calendar/calendar.styles.js +1 -1
  71. package/dist/components/data/condition-builder/condition-builder.class.d.ts +5 -1
  72. package/dist/components/data/context-meter/context-meter.class.d.ts +4 -0
  73. package/dist/components/data/context-meter/context-meter.styles.js +1 -1
  74. package/dist/components/data/data-grid/data-grid.class.d.ts +8 -2
  75. package/dist/components/data/data-grid/data-grid.class.js +1 -2
  76. package/dist/components/data/flow-node/flow-node.class.d.ts +7 -4
  77. package/dist/components/data/flow-node/flow-node.styles.js +1 -1
  78. package/dist/components/data/funnel/funnel.class.d.ts +5 -0
  79. package/dist/components/data/funnel/funnel.class.js +4 -3
  80. package/dist/components/data/funnel/funnel.styles.js +1 -1
  81. package/dist/components/data/gauge/gauge.class.d.ts +12 -1
  82. package/dist/components/data/gauge/gauge.styles.js +1 -1
  83. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +50 -13
  84. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +2 -2
  85. package/dist/components/data/graph-query-builder/graph-query-builder.styles.js +1 -1
  86. package/dist/components/data/heatmap/heatmap.class.d.ts +27 -9
  87. package/dist/components/data/heatmap/heatmap.class.js +5 -3
  88. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +2 -0
  89. package/dist/components/data/sequence-strip/sequence-strip.styles.js +1 -1
  90. package/dist/components/data/table/table.class.d.ts +8 -0
  91. package/dist/components/data/table/table.class.js +2 -1
  92. package/dist/components/data/tree/tree.class.d.ts +20 -1
  93. package/dist/components/data/tree/tree.class.js +1 -1
  94. package/dist/components/data/word-cloud/word-cloud.class.d.ts +4 -1
  95. package/dist/components/data/word-cloud/word-cloud.class.js +2 -2
  96. package/dist/components/forms/button/button.class.js +1 -1
  97. package/dist/components/forms/checkbox/checkbox.class.d.ts +11 -8
  98. package/dist/components/forms/checkbox/checkbox.class.js +1 -1
  99. package/dist/components/forms/checkbox/checkbox.styles.js +1 -1
  100. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +2 -2
  101. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  102. package/dist/components/forms/code-editor/code-editor.class.d.ts +2 -0
  103. package/dist/components/forms/code-editor/code-editor.class.js +1 -1
  104. package/dist/components/forms/code-editor/code-editor.styles.js +1 -1
  105. package/dist/components/forms/color-picker/color-picker.class.d.ts +11 -1
  106. package/dist/components/forms/color-picker/color-picker.class.js +4 -3
  107. package/dist/components/forms/combobox/combobox.class.d.ts +67 -18
  108. package/dist/components/forms/combobox/combobox.class.js +7 -6
  109. package/dist/components/forms/combobox/combobox.styles.js +1 -1
  110. package/dist/components/forms/date-picker/date-input.class.d.ts +22 -2
  111. package/dist/components/forms/date-picker/date-input.class.js +4 -2
  112. package/dist/components/forms/date-picker/date-input.styles.js +1 -1
  113. package/dist/components/forms/emoji-picker/emoji-data-loader.d.ts +18 -4
  114. package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
  115. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +18 -4
  116. package/dist/components/forms/emoji-picker/emoji-picker.class.js +1 -1
  117. package/dist/components/forms/emoji-picker/emoji-picker.styles.js +1 -1
  118. package/dist/components/forms/icon-button/icon-button.class.d.ts +1 -1
  119. package/dist/components/forms/input/time-input.class.d.ts +11 -1
  120. package/dist/components/forms/input/time-input.class.js +4 -3
  121. package/dist/components/forms/input/time-input.styles.js +1 -1
  122. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +17 -3
  123. package/dist/components/forms/locale-picker/locale-picker.class.js +3 -2
  124. package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -1
  125. package/dist/components/forms/otp-input/otp-input.class.d.ts +13 -5
  126. package/dist/components/forms/otp-input/otp-input.class.js +2 -2
  127. package/dist/components/forms/otp-input/otp-input.styles.js +1 -1
  128. package/dist/components/forms/phone-input/phone-input.class.d.ts +10 -3
  129. package/dist/components/forms/phone-input/phone-input.class.js +6 -2
  130. package/dist/components/forms/phone-input/phone-input.styles.js +1 -1
  131. package/dist/components/forms/radio/radio-group.class.d.ts +1 -1
  132. package/dist/components/forms/radio/radio-group.class.js +2 -2
  133. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +9 -1
  134. package/dist/components/forms/rubric-form/rubric-form.class.js +5 -3
  135. package/dist/components/forms/select/select.class.d.ts +4 -0
  136. package/dist/components/forms/select/select.styles.js +1 -1
  137. package/dist/components/forms/slider/slider.class.d.ts +5 -1
  138. package/dist/components/forms/slider/slider.class.js +3 -3
  139. package/dist/components/forms/switch/switch.class.d.ts +6 -5
  140. package/dist/components/forms/switch/switch.class.js +1 -1
  141. package/dist/components/forms/time-range/time-range.class.d.ts +2 -2
  142. package/dist/components/forms/token-input/token-input.class.d.ts +13 -3
  143. package/dist/components/forms/token-input/token-input.class.js +3 -1
  144. package/dist/components/layout/carousel/carousel.class.d.ts +4 -1
  145. package/dist/components/layout/carousel/carousel.class.js +1 -1
  146. package/dist/components/layout/command-palette/command-palette.class.d.ts +8 -2
  147. package/dist/components/layout/command-palette/command-palette.class.js +1 -1
  148. package/dist/components/layout/command-palette/command-palette.styles.js +1 -1
  149. package/dist/components/layout/details/accordion.class.js +1 -1
  150. package/dist/components/layout/dock-panel/dock-panel.class.d.ts +10 -7
  151. package/dist/components/layout/dock-panel/dock-panel.class.js +2 -2
  152. package/dist/components/layout/dock-panel/dock-panel.styles.js +1 -1
  153. package/dist/components/layout/menu/menu.class.d.ts +13 -3
  154. package/dist/components/layout/menu/menu.class.js +4 -3
  155. package/dist/components/layout/menu/menu.styles.js +1 -1
  156. package/dist/components/layout/page/page.class.d.ts +7 -1
  157. package/dist/components/layout/reorder-list/reorder-list.class.d.ts +1 -1
  158. package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
  159. package/dist/components/layout/segmented/segmented.class.d.ts +2 -0
  160. package/dist/components/layout/segmented/segmented.styles.js +1 -1
  161. package/dist/components/layout/virtual-list/virtual-list.styles.js +1 -1
  162. package/dist/components/layout/widget/widget.class.d.ts +15 -2
  163. package/dist/components/layout/widget/widget.class.js +1 -1
  164. package/dist/components/layout/widget/widget.styles.js +1 -1
  165. package/dist/components/media/avatar/avatar.class.d.ts +4 -0
  166. package/dist/components/media/avatar/avatar.styles.js +1 -1
  167. package/dist/components/media/avatar-group/avatar-group.class.d.ts +8 -1
  168. package/dist/components/media/avatar-group/avatar-group.styles.js +1 -1
  169. package/dist/components/media/drop-zone/drop-zone.class.d.ts +10 -4
  170. package/dist/components/media/drop-zone/drop-zone.class.js +2 -2
  171. package/dist/components/media/drop-zone/drop-zone.styles.js +1 -1
  172. package/dist/components/media/flag/flag.class.js +1 -1
  173. package/dist/components/media/map/map.class.d.ts +19 -5
  174. package/dist/components/media/map/map.class.js +3 -3
  175. package/dist/components/media/video-playlist/video-playlist.class.d.ts +6 -3
  176. package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
  177. package/dist/components/overlays/callout/callout.class.d.ts +4 -1
  178. package/dist/components/overlays/dialog/dialog.class.d.ts +4 -1
  179. package/dist/components/overlays/overlay/overlay.styles.js +1 -1
  180. package/dist/components/overlays/overlay/popover.class.d.ts +9 -1
  181. package/dist/components/overlays/overlay/popover.class.js +3 -2
  182. package/dist/components/overlays/overlay/tooltip.class.d.ts +14 -4
  183. package/dist/components/overlays/overlay/tooltip.class.js +3 -2
  184. package/dist/components/overlays/popup/popup.class.d.ts +15 -1
  185. package/dist/components/overlays/popup/popup.class.js +3 -3
  186. package/dist/components/overlays/popup/popup.styles.js +1 -1
  187. package/dist/components/overlays/progress/progress-bar.class.d.ts +2 -0
  188. package/dist/components/overlays/progress/progress.styles.js +1 -1
  189. package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +4 -2
  190. package/dist/components/retrieval/citation-badge/citation-badge.class.js +1 -1
  191. package/dist/components/retrieval/claim-evidence/claim-evidence.class.d.ts +4 -0
  192. package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +4 -3
  193. package/dist/components/retrieval/claim-evidence/claim-evidence.styles.js +1 -1
  194. package/dist/components/retrieval/community-card/community-card.class.d.ts +6 -1
  195. package/dist/components/retrieval/community-card/community-card.styles.js +1 -1
  196. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts +9 -1
  197. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +4 -3
  198. package/dist/components/retrieval/entity-card/entity-card.styles.js +1 -1
  199. package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +4 -2
  200. package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -1
  201. package/dist/components/retrieval/entity-dossier/entity-dossier.class.js +2 -2
  202. package/dist/components/retrieval/graph-legend/graph-legend.class.d.ts +18 -4
  203. package/dist/components/retrieval/graph-legend/graph-legend.class.js +2 -2
  204. package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +7 -0
  205. package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +4 -3
  206. package/dist/components/retrieval/grounding-summary/grounding-summary.styles.js +1 -1
  207. package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +6 -0
  208. package/dist/components/retrieval/memory-panel/memory-panel.class.js +4 -3
  209. package/dist/components/retrieval/memory-panel/memory-panel.styles.js +1 -1
  210. package/dist/components/retrieval/mind-map/mind-map-layout.d.ts +17 -1
  211. package/dist/components/retrieval/mind-map/mind-map-layout.js +1 -1
  212. package/dist/components/retrieval/mind-map/mind-map.class.d.ts +8 -1
  213. package/dist/components/retrieval/mind-map/mind-map.class.js +3 -2
  214. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +5 -0
  215. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +6 -5
  216. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.styles.js +1 -1
  217. package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +5 -5
  218. package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
  219. package/dist/components/retrieval/source-list/source-list.class.d.ts +21 -2
  220. package/dist/components/retrieval/source-list/source-list.class.js +2 -2
  221. package/dist/components/retrieval/source-list/source-list.styles.js +1 -1
  222. package/dist/components/retrieval/source-picker/source-picker.class.d.ts +3 -1
  223. package/dist/components/retrieval/source-picker/source-picker.class.js +2 -2
  224. package/dist/components/utility/diff-view/diff-view.class.d.ts +105 -8
  225. package/dist/components/utility/diff-view/diff-view.class.js +21 -5
  226. package/dist/components/utility/diff-view/diff-view.styles.js +1 -1
  227. package/dist/components/utility/export-button/export-button.class.d.ts +26 -2
  228. package/dist/components/utility/export-button/export-button.class.js +4 -2
  229. package/dist/components/utility/export-button/export-button.styles.js +1 -1
  230. package/dist/components/utility/mention-popover/mention-popover.class.d.ts +19 -1
  231. package/dist/components/utility/mention-popover/mention-popover.class.js +3 -2
  232. package/dist/components/utility/mention-popover/mention-popover.styles.js +1 -1
  233. package/dist/components/utility/tour/tour.class.d.ts +1 -3
  234. package/dist/components/utility/tour/tour.class.js +1 -1
  235. package/dist/components/viewers/archive-viewer/archive-viewer.class.d.ts +20 -3
  236. package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
  237. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +1 -1
  238. package/dist/components/viewers/geojson-view/geojson-view.styles.js +1 -1
  239. package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +5 -0
  240. package/dist/components/viewers/geojson-view/geojson-viewer.class.js +6 -3
  241. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +7 -1
  242. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +1 -1
  243. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.d.ts +7 -1
  244. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +1 -1
  245. package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +5 -0
  246. package/dist/components/viewers/xml-viewer/xml-viewer.class.js +1 -1
  247. package/dist/custom-elements-jsx.d.ts +1 -1
  248. package/dist/events.d.ts +79 -30
  249. package/dist/internal/accessibility-visibility.js +1 -1
  250. package/dist/internal/aria-reflection.js +1 -1
  251. package/dist/internal/catalog-picker.d.ts +14 -3
  252. package/dist/internal/catalog-picker.js +1 -1
  253. package/dist/internal/default-strings.generated.d.ts +1 -1
  254. package/dist/internal/default-strings.generated.js +2 -2
  255. package/dist/internal/localization-types.d.ts +1 -1
  256. package/dist/internal/localization.js +2 -2
  257. package/dist/internal/lyra-element.d.ts +17 -0
  258. package/dist/internal/lyra-element.js +2 -2
  259. package/dist/internal/package-metadata.d.ts +1 -1
  260. package/dist/internal/package-metadata.js +1 -1
  261. package/dist/svelte.d.ts +1 -1
  262. package/dist/testing/lyra-tag-event-map.js +1 -1
  263. package/dist/translations/ar/agent-tools.js +1 -1
  264. package/dist/translations/ar/data.js +1 -1
  265. package/dist/translations/ar/retrieval.js +1 -1
  266. package/dist/translations/ar/shared.js +1 -1
  267. package/dist/translations/ar/viewers.js +1 -1
  268. package/dist/translations/de/agent-tools.js +1 -1
  269. package/dist/translations/de/data.js +1 -1
  270. package/dist/translations/de/retrieval.js +1 -1
  271. package/dist/translations/de/shared.js +1 -1
  272. package/dist/translations/de/viewers.js +1 -1
  273. package/dist/translations/es/agent-tools.js +1 -1
  274. package/dist/translations/es/data.js +1 -1
  275. package/dist/translations/es/retrieval.js +1 -1
  276. package/dist/translations/es/shared.js +1 -1
  277. package/dist/translations/es/viewers.js +1 -1
  278. package/dist/translations/fa/agent-tools.js +1 -1
  279. package/dist/translations/fa/data.js +1 -1
  280. package/dist/translations/fa/retrieval.js +1 -1
  281. package/dist/translations/fa/shared.js +1 -1
  282. package/dist/translations/fa/viewers.js +1 -1
  283. package/dist/translations/fr/agent-tools.js +1 -1
  284. package/dist/translations/fr/data.js +1 -1
  285. package/dist/translations/fr/retrieval.js +1 -1
  286. package/dist/translations/fr/shared.js +1 -1
  287. package/dist/translations/fr/viewers.js +1 -1
  288. package/dist/translations/he/agent-tools.js +1 -1
  289. package/dist/translations/he/data.js +1 -1
  290. package/dist/translations/he/retrieval.js +1 -1
  291. package/dist/translations/he/shared.js +1 -1
  292. package/dist/translations/he/viewers.js +1 -1
  293. package/dist/translations/it/agent-tools.js +1 -1
  294. package/dist/translations/it/data.js +1 -1
  295. package/dist/translations/it/retrieval.js +1 -1
  296. package/dist/translations/it/shared.js +1 -1
  297. package/dist/translations/it/viewers.js +1 -1
  298. package/dist/translations/ja/agent-tools.js +1 -1
  299. package/dist/translations/ja/data.js +1 -1
  300. package/dist/translations/ja/retrieval.js +1 -1
  301. package/dist/translations/ja/shared.js +1 -1
  302. package/dist/translations/ja/viewers.js +1 -1
  303. package/dist/translations/pt-BR/agent-tools.js +1 -1
  304. package/dist/translations/pt-BR/data.js +1 -1
  305. package/dist/translations/pt-BR/retrieval.js +1 -1
  306. package/dist/translations/pt-BR/shared.js +1 -1
  307. package/dist/translations/pt-BR/viewers.js +1 -1
  308. package/dist/translations/ro/agent-tools.js +1 -1
  309. package/dist/translations/ro/data.js +1 -1
  310. package/dist/translations/ro/retrieval.js +1 -1
  311. package/dist/translations/ro/shared.js +1 -1
  312. package/dist/translations/ro/viewers.js +1 -1
  313. package/dist/translations/ru/agent-tools.js +1 -1
  314. package/dist/translations/ru/data.js +1 -1
  315. package/dist/translations/ru/retrieval.js +1 -1
  316. package/dist/translations/ru/shared.js +1 -1
  317. package/dist/translations/ru/viewers.js +1 -1
  318. package/dist/translations/zh-CN/agent-tools.js +1 -1
  319. package/dist/translations/zh-CN/data.js +1 -1
  320. package/dist/translations/zh-CN/retrieval.js +1 -1
  321. package/dist/translations/zh-CN/shared.js +1 -1
  322. package/dist/translations/zh-CN/viewers.js +1 -1
  323. package/dist/vue.d.ts +1 -1
  324. package/llms/components/lr-activity-feed.md +20 -9
  325. package/llms/components/lr-approval-queue.md +3 -2
  326. package/llms/components/lr-archive-viewer.md +8 -1
  327. package/llms/components/lr-artifact-panel.md +3 -1
  328. package/llms/components/lr-audio-visualizer.md +3 -1
  329. package/llms/components/lr-avatar-group.md +13 -6
  330. package/llms/components/lr-avatar.md +6 -2
  331. package/llms/components/lr-bar-chart.md +6 -3
  332. package/llms/components/lr-box-plot.md +6 -2
  333. package/llms/components/lr-branch-picker.md +3 -1
  334. package/llms/components/lr-bubble-chart.md +6 -3
  335. package/llms/components/lr-calendar.md +10 -3
  336. package/llms/components/lr-carousel.md +4 -2
  337. package/llms/components/lr-chart.md +12 -4
  338. package/llms/components/lr-chat-viewport.md +3 -2
  339. package/llms/components/lr-checkbox.md +8 -5
  340. package/llms/components/lr-citation-badge.md +2 -0
  341. package/llms/components/lr-claim-evidence.md +6 -2
  342. package/llms/components/lr-code-editor.md +3 -1
  343. package/llms/components/lr-color-picker.md +20 -8
  344. package/llms/components/lr-combobox.md +26 -3
  345. package/llms/components/lr-command-palette.md +6 -3
  346. package/llms/components/lr-community-card.md +7 -4
  347. package/llms/components/lr-context-inspector.md +3 -2
  348. package/llms/components/lr-context-meter.md +13 -5
  349. package/llms/components/lr-data-grid.md +2 -0
  350. package/llms/components/lr-date-input.md +12 -3
  351. package/llms/components/lr-date-picker.md +11 -2
  352. package/llms/components/lr-diff-view.md +46 -5
  353. package/llms/components/lr-doughnut-chart.md +6 -3
  354. package/llms/components/lr-drop-zone.md +7 -3
  355. package/llms/components/lr-embedding-explorer.md +8 -2
  356. package/llms/components/lr-emoji-picker.md +5 -1
  357. package/llms/components/lr-entity-chip.md +2 -0
  358. package/llms/components/lr-eval-run.md +3 -2
  359. package/llms/components/lr-export-button.md +5 -2
  360. package/llms/components/lr-flow-node.md +7 -4
  361. package/llms/components/lr-funnel.md +7 -2
  362. package/llms/components/lr-gauge.md +7 -2
  363. package/llms/components/lr-geojson-view.md +10 -2
  364. package/llms/components/lr-geojson-viewer.md +10 -2
  365. package/llms/components/lr-graph-legend.md +6 -3
  366. package/llms/components/lr-graph-query-builder.md +21 -11
  367. package/llms/components/lr-grounding-summary.md +8 -2
  368. package/llms/components/lr-heatmap.md +5 -2
  369. package/llms/components/lr-histogram.md +4 -2
  370. package/llms/components/lr-json-schema-viewer.md +7 -5
  371. package/llms/components/lr-line-chart.md +6 -3
  372. package/llms/components/lr-locale-picker.md +4 -1
  373. package/llms/components/lr-map.md +5 -3
  374. package/llms/components/lr-memory-panel.md +6 -2
  375. package/llms/components/lr-mention-popover.md +7 -4
  376. package/llms/components/lr-message-actions.md +3 -1
  377. package/llms/components/lr-message-parts.md +8 -2
  378. package/llms/components/lr-mind-map.md +11 -2
  379. package/llms/components/lr-option.md +25 -2
  380. package/llms/components/lr-otp-input.md +3 -1
  381. package/llms/components/lr-phone-input.md +9 -5
  382. package/llms/components/lr-pie-chart.md +6 -3
  383. package/llms/components/lr-polar-area-chart.md +6 -3
  384. package/llms/components/lr-policy-summary.md +3 -2
  385. package/llms/components/lr-progress-bar.md +4 -1
  386. package/llms/components/lr-prompt-input.md +4 -1
  387. package/llms/components/lr-prompt-queue.md +5 -2
  388. package/llms/components/lr-radar-chart.md +6 -3
  389. package/llms/components/lr-rag-eval-dashboard.md +7 -2
  390. package/llms/components/lr-realtime-session.md +3 -1
  391. package/llms/components/lr-rubric-form.md +6 -1
  392. package/llms/components/lr-scatter-chart.md +6 -3
  393. package/llms/components/lr-segmented.md +3 -1
  394. package/llms/components/lr-select.md +7 -1
  395. package/llms/components/lr-selection-toolbar.md +4 -1
  396. package/llms/components/lr-sequence-strip.md +7 -3
  397. package/llms/components/lr-source-card.md +16 -1
  398. package/llms/components/lr-source-list.md +17 -2
  399. package/llms/components/lr-source-picker.md +3 -1
  400. package/llms/components/lr-subagent-panel.md +6 -3
  401. package/llms/components/lr-switch.md +4 -3
  402. package/llms/components/lr-table.md +6 -1
  403. package/llms/components/lr-thinking-panel.md +8 -5
  404. package/llms/components/lr-token-input.md +15 -1
  405. package/llms/components/lr-tool-call-chip.md +2 -0
  406. package/llms/components/lr-tool-param-form.md +15 -4
  407. package/llms/components/lr-tooltip.md +8 -4
  408. package/llms/components/lr-trace-tree.md +7 -4
  409. package/llms/components/lr-video-playlist.md +7 -5
  410. package/llms/components/lr-voice-picker.md +7 -4
  411. package/llms/components/lr-widget.md +15 -2
  412. package/llms/migration.md +4 -4
  413. package/llms-full.txt +552 -159
  414. package/package.json +11 -9
  415. package/registrations.json +1 -1
  416. package/vscode-css-data.json +1 -1
  417. package/vscode-html-data.json +1 -1
  418. package/web-types.json +1 -1
@@ -1,4 +1,4 @@
1
- var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,query,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{nextId,srOnly}from"../../../internal/a11y.js";import{prefersReducedMotion}from"../../../internal/motion.js";import{loadChartJs}from"./chart-core-loader.js";import{onAnnotationPluginRegistered}from"../../../internal/chart-annotation-registration.js";import{styles}from"./box-plot.styles.js";import"../../overlays/skeleton/skeleton.class.js";import{getListFormat,getNumberFormat}from"../../../internal/intl-cache.js";import{trueDefaultBooleanFromAttributeConverter as trueDefaultBooleanConverter}from"../../../internal/converters.js";import{sanitizeCssLength}from"../../../internal/safe-css.js";import{FALLBACK_GRID_COLOR,FALLBACK_LEGEND_COLOR,FALLBACK_TICK_COLOR,FALLBACK_TICK_FONT_SIZE,FALLBACK_TOOLTIP_BG,FALLBACK_TOOLTIP_TEXT,resolveCanvasColor,seriesPalette}from"./chart-colors.js";import{createForcedColorPattern,forcedColorEncoding,forcedColorsActive}from"./chart-forced-colors.js";import{specialistTokens}from"../../../internal/specialist-tokens.styles.js";import{ThemeWatcher}from"../../../internal/theme-watcher.js";import{resolveOptionalPeerCapability,unwrapOptionalPeerDefault}from"../../../internal/optional-peer-capabilities.js";import{acquireAnnouncementSink}from"../../../internal/announcer.js";import{legendVisibilityDetail,normalizeHiddenDatasets}from"./chart-legend-visibility.js";import{sampleChartTableIndexes}from"./chart-table-sampling.js";import{escapeCsvField}from"../../utility/export-button/csv.js";import{chartChromeLegendPlacement,normalizeChartChromeLegendPosition}from"./chart-chrome.js";import{LYRA_DEFAULT_boxPlot,LYRA_DEFAULT_boxPlotData,LYRA_DEFAULT_boxPlotMax,LYRA_DEFAULT_boxPlotMedian,LYRA_DEFAULT_boxPlotMin,LYRA_DEFAULT_boxPlotMissingLibrary,LYRA_DEFAULT_boxPlotQ1,LYRA_DEFAULT_boxPlotQ3,LYRA_DEFAULT_boxPlotSeriesSummary,LYRA_DEFAULT_boxPlotSummaryEmpty,LYRA_DEFAULT_boxPlotSummaryWithData,LYRA_DEFAULT_chartCategory,LYRA_DEFAULT_chartDataSampled,LYRA_DEFAULT_chartPointLabel,LYRA_DEFAULT_chartSeriesLabel,LYRA_DEFAULT_chartSeriesNoData,LYRA_DEFAULT_chartSummarySeparator,LYRA_DEFAULT_chartTrendDecreasing,LYRA_DEFAULT_chartTrendFlat,LYRA_DEFAULT_chartTrendIncreasing,LYRA_DEFAULT_chartValueLabel,LYRA_DEFAULT_liteChartMarkSummary,LYRA_DEFAULT_loading}from"../../../internal/default-strings.generated.js";function isBoxPlotSeries(value){try{return typeof value=="object"&&value!==null&&!Array.isArray(value)&&Array.isArray(value.data)}catch{return!1}}function normalizeBoxPlotSeries(value){try{return Object.freeze(Array.isArray(value)?value.filter(isBoxPlotSeries):[])}catch{return Object.freeze([])}}function summaryOf(point){return{min:point.min,q1:point.q1,median:point.median,q3:point.q3,max:point.max}}let boxPlotPlugin;function isConstructor(value){if(typeof value!="function")return!1;try{return Reflect.construct(Object,[],value),!0}catch{return!1}}function missingBoxPlotCapability(candidate){if(typeof candidate!="object"&&typeof candidate!="function"||candidate===null)return"module namespace";const module=candidate;if(!isConstructor(module.BoxPlotController))return"BoxPlotController";if(!isConstructor(module.BoxAndWiskers))return"BoxAndWiskers"}function isBoxPlotModule(candidate){return missingBoxPlotCapability(candidate)===void 0}function resolveBoxPlotModule(value){const module=resolveOptionalPeerCapability(value,isBoxPlotModule);if(module)return module;const candidate=unwrapOptionalPeerDefault(value),missing=missingBoxPlotCapability(candidate)??"module namespace";throw new Error(`Invalid optional peer \`@sgratzl/chartjs-chart-boxplot\`: missing or invalid \`${missing}\` constructor.`)}async function loadBoxPlotAndRegister(loadChart=loadChartJs,importBoxPlot=()=>import("@sgratzl/chartjs-chart-boxplot")){try{const[chartMod,imported]=await Promise.all([loadChart(),importBoxPlot()]);if(!chartMod)return null;const boxMod=resolveBoxPlotModule(imported);return chartMod.Chart.register(boxMod.BoxPlotController,boxMod.BoxAndWiskers),boxMod}catch(error){return console.warn("<lr-box-plot> needs the optional peer dependency `@sgratzl/chartjs-chart-boxplot` — install it with `pnpm add @sgratzl/chartjs-chart-boxplot`.",error),null}}function loadBoxPlotPlugin(){return boxPlotPlugin||(boxPlotPlugin=loadBoxPlotAndRegister()),boxPlotPlugin}class LyraBoxPlot extends LyraElement{static{this.defaultStrings={...super.defaultStrings,boxPlot:LYRA_DEFAULT_boxPlot,boxPlotData:LYRA_DEFAULT_boxPlotData,boxPlotMax:LYRA_DEFAULT_boxPlotMax,boxPlotMedian:LYRA_DEFAULT_boxPlotMedian,boxPlotMin:LYRA_DEFAULT_boxPlotMin,boxPlotMissingLibrary:LYRA_DEFAULT_boxPlotMissingLibrary,boxPlotQ1:LYRA_DEFAULT_boxPlotQ1,boxPlotQ3:LYRA_DEFAULT_boxPlotQ3,boxPlotSeriesSummary:LYRA_DEFAULT_boxPlotSeriesSummary,boxPlotSummaryEmpty:LYRA_DEFAULT_boxPlotSummaryEmpty,boxPlotSummaryWithData:LYRA_DEFAULT_boxPlotSummaryWithData,chartCategory:LYRA_DEFAULT_chartCategory,chartDataSampled:LYRA_DEFAULT_chartDataSampled,chartPointLabel:LYRA_DEFAULT_chartPointLabel,chartSeriesLabel:LYRA_DEFAULT_chartSeriesLabel,chartSeriesNoData:LYRA_DEFAULT_chartSeriesNoData,chartSummarySeparator:LYRA_DEFAULT_chartSummarySeparator,chartTrendDecreasing:LYRA_DEFAULT_chartTrendDecreasing,chartTrendFlat:LYRA_DEFAULT_chartTrendFlat,chartTrendIncreasing:LYRA_DEFAULT_chartTrendIncreasing,chartValueLabel:LYRA_DEFAULT_chartValueLabel,liteChartMarkSummary:LYRA_DEFAULT_liteChartMarkSummary,loading:LYRA_DEFAULT_loading}}static{this.ownedCollectionProperties=Object.freeze(["labels","datasets","hiddenDatasets"])}static{this.styles=[LyraElement.styles,specialistTokens,styles,srOnly]}static{this.immutableEventDetails=Object.freeze(["lr-before-legend-visibility-change","lr-legend-visibility-change"])}constructor(){super(),this.labels=[],this._datasets=Object.freeze([]),this.legend=!1,this.legendPosition="bottom",this.height="280px",this.yLabel="",this.beginAtZero=!0,this.label=null,this.description=null,this.showDataTable=!1,this.dataTableToggle=!1,this.dataTableExpandedOverride=null,this.dataTableId=nextId("box-plot-data-table"),this.loading=!0,this.loadFailed=!1,this.visible=!0,this.keyboardDatumIndex=0,this.keyboardDatumAnnouncement="",this.intersectionGeneration=0,this.loadGeneration=0,this.descriptionId=nextId("box-plot-description"),this.lastDataTruncationAnnouncement="",this.isMounting=!0,this.onReducedMotionChange=()=>{!this.isConnected||this.ownerWindow!==this.reducedMotionWindow||this.drawIfVisible()},new ThemeWatcher(this,()=>{this.chart&&this.refreshTheme()})}get datasets(){return this._datasets}set datasets(value){const previous=this._datasets;this._datasets=normalizeBoxPlotSeries(value),this.requestUpdate("datasets",previous)}get dataTableVisible(){return this.dataTableToggle?this.dataTableExpandedOverride??this.showDataTable:this.showDataTable}toggleDataTable(){this.dataTableExpandedOverride=!this.dataTableVisible}connectedCallback(){super.connectedCallback(),this.stopAnnotationRegistrationWatch?.(),this.stopAnnotationRegistrationWatch=onAnnotationPluginRegistered(()=>this.rebuildAfterAnnotationRegistration()),this.syncAnnouncementSinks(),this.visible=!this.ownerWindow?.IntersectionObserver,this.armReducedMotionWatcher();const generation=++this.loadGeneration;loadBoxPlotPlugin().then(boxMod=>this.onBoxPlotPluginLoaded(boxMod,generation));const IntersectionObserverCtor=this.ownerWindow?.IntersectionObserver;if(IntersectionObserverCtor){const ownerWindow=this.ownerWindow,observerGeneration=++this.intersectionGeneration,observer=new IntersectionObserverCtor(entries=>{if(observerGeneration!==this.intersectionGeneration||this.intersectionObserver!==observer||!this.isConnected||this.ownerWindow!==ownerWindow)return;const wasVisible=this.visible;this.visible=entries[0]?.isIntersecting??!0,this.visible&&!wasVisible&&this.drawIfVisible()});this.intersectionObserver=observer,observer.observe(this)}}async onBoxPlotPluginLoaded(boxMod,generation=this.loadGeneration){if(generation!==this.loadGeneration||!this.isConnected)return;try{await this.updateComplete}catch{return}if(await new Promise(resolve=>this.updateBrowserDerivedState(resolve)),generation!==this.loadGeneration||!this.isConnected)return;if(this.loading=!1,!boxMod){this.loadFailed=!0,this.chart?.destroy(),this.chart=void 0,this.chartJsModule=void 0;return}this.loadFailed=!1;const chartMod=await loadChartJs();generation!==this.loadGeneration||!this.isConnected||(this.chartJsModule=chartMod??void 0,this.drawIfVisible())}disconnectedCallback(){super.disconnectedCallback(),this.stopAnnotationRegistrationWatch?.(),this.stopAnnotationRegistrationWatch=void 0,this.releaseAnnouncementSinks(),this.lastDataTruncationAnnouncement="",this.isMounting=!0,this.loadGeneration+=1,this.chart?.destroy(),this.chart=void 0,this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0,this.intersectionGeneration+=1,this.visible=!0,this.disarmReducedMotionWatcher()}adoptedCallback(){super.adoptedCallback(),this.releaseAnnouncementSinks(),this.syncAnnouncementSinks(),this.armReducedMotionWatcher()}armReducedMotionWatcher(){const ownerWindow=this.ownerWindow;ownerWindow?.matchMedia&&(this.reducedMotionWindow===ownerWindow&&this.reducedMotionQuery||(this.disarmReducedMotionWatcher(),this.reducedMotionWindow=ownerWindow,this.reducedMotionQuery=ownerWindow.matchMedia("(prefers-reduced-motion: reduce)"),this.reducedMotionQuery.addEventListener("change",this.onReducedMotionChange)))}disarmReducedMotionWatcher(){this.reducedMotionQuery?.removeEventListener("change",this.onReducedMotionChange),this.reducedMotionQuery=void 0,this.reducedMotionWindow=void 0}syncAnnouncementSinks(){this.isConnected&&(this.politeAnnouncementSink?.element.ownerDocument===this.ownerDocument&&this.assertiveAnnouncementSink?.element.ownerDocument===this.ownerDocument||(this.releaseAnnouncementSinks(),this.politeAnnouncementSink=acquireAnnouncementSink("polite",{document:this.ownerDocument,source:this}),this.assertiveAnnouncementSink=acquireAnnouncementSink("assertive",{document:this.ownerDocument,source:this})))}releaseAnnouncementSinks(){this.politeAnnouncementSink?.release(),this.politeAnnouncementSink=void 0,this.assertiveAnnouncementSink?.release(),this.assertiveAnnouncementSink=void 0}get ownerWindow(){return this.ownerDocument?.defaultView??void 0}effectiveHiddenDatasetIndexes(){return normalizeHiddenDatasets(this.hiddenDatasets,this.datasets.length)??[]}applyDatasetVisibility(){if(!this.chart)return!1;const datasetCount=this.chart.data.datasets?.length??0,sourceSeriesIndexes=this.dataTableSample().seriesIndexes,controlled=normalizeHiddenDatasets(this.hiddenDatasets,this.datasets.length);if(controlled===void 0){for(let index=0;index<datasetCount;index++){const metadata=this.chart.getDatasetMeta?.(index);metadata&&(metadata.hidden=null)}return datasetCount>0}const hidden=new Set(controlled);for(let index=0;index<datasetCount;index++)this.chart.setDatasetVisibility(index,!hidden.has(sourceSeriesIndexes[index]??index));return datasetCount>0}updated(changed){if(super.updated(changed),!this.isConnected)return;const wasMounting=this.isMounting;this.isMounting=!1,changed.has("keyboardDatumAnnouncement")&&changed.get("keyboardDatumAnnouncement")!==void 0&&this.keyboardDatumAnnouncement!==""&&this.politeAnnouncementSink?.announce(this.keyboardDatumAnnouncement),changed.has("loadFailed")&&changed.get("loadFailed")!==void 0&&this.loadFailed&&this.assertiveAnnouncementSink?.announce(this.localize("boxPlotMissingLibrary"));const dataTruncation=this.dataTruncationMessage();if(wasMounting&&(this.lastDataTruncationAnnouncement=dataTruncation),!this.loading&&!this.loadFailed&&!wasMounting&&dataTruncation!==this.lastDataTruncationAnnouncement&&(this.lastDataTruncationAnnouncement=dataTruncation,dataTruncation&&this.politeAnnouncementSink?.announce(dataTruncation)),this.setAttribute("aria-busy",String(this.loading)),changed.has("height")){const height=sanitizeCssLength(this.height,"height");height?this.style.setProperty("--_lr-chart-height",height):this.style.removeProperty("--_lr-chart-height")}if(this.loading)return;const contentChanged=["labels","datasets","hiddenDatasets","legend","legendPosition","height","yLabel","beginAtZero","label","description","valueFormatter","formatter","locale","strings","loading"].some(name=>changed.has(name)),direction=this.effectiveDirection,locale=this.effectiveLocale,contextChanged=this.lastDrawnDirection!==void 0&&this.lastDrawnDirection!==direction||this.lastDrawnLocale!==void 0&&this.lastDrawnLocale!==locale;this.lastDrawnDirection=direction,this.lastDrawnLocale=locale,!(!contentChanged&&!contextChanged)&&this.drawIfVisible()}themeColors(){const view=this.ownerWindow,cs=view?view.getComputedStyle(this):this.style;return{grid:resolveCanvasColor(this,cs.getPropertyValue("--lr-chart-grid-color").trim()||cs.getPropertyValue("--_lr-chart-grid-color").trim(),FALLBACK_GRID_COLOR),tick:resolveCanvasColor(this,cs.getPropertyValue("--lr-chart-tick-color").trim()||cs.getPropertyValue("--_lr-chart-tick-color").trim(),FALLBACK_TICK_COLOR),tickFontSize:this.styleNumber("--lr-chart-tick-font-size",FALLBACK_TICK_FONT_SIZE,"--_lr-chart-tick-font-size"),legend:resolveCanvasColor(this,cs.getPropertyValue("--lr-chart-legend-color").trim()||cs.getPropertyValue("--_lr-chart-legend-color").trim(),FALLBACK_LEGEND_COLOR),tooltipBg:resolveCanvasColor(this,cs.getPropertyValue("--lr-chart-tooltip-bg").trim()||cs.getPropertyValue("--_lr-chart-tooltip-bg").trim(),FALLBACK_TOOLTIP_BG),tooltipText:resolveCanvasColor(this,cs.getPropertyValue("--lr-chart-tooltip-text").trim()||cs.getPropertyValue("--_lr-chart-tooltip-text").trim(),FALLBACK_TOOLTIP_TEXT)}}seriesColor(index,palette=seriesPalette(this)){const fallback=palette[index%palette.length]??"transparent",series=this.datasets[index];return series?.color?resolveCanvasColor(this,series.color,fallback):fallback}seriesBorderColor(index,palette=seriesPalette(this)){const base=this.seriesColor(index,palette);return this.styleColor(`--lr-box-plot-border-color-${index%8+1}`,base)}seriesFillColor(index,palette=seriesPalette(this)){const base=this.seriesColor(index,palette);return this.styleColor(`--lr-box-plot-fill-color-${index%8+1}`,base)}forcedColorFill(index,background){return!this.ownerWindow||!forcedColorsActive(this.ownerWindow)?background:createForcedColorPattern(this.ownerDocument,index,background,this.styleColor("--lr-color-surface",FALLBACK_TOOLTIP_BG))}styleColor(name,fallback){const view=this.ownerWindow,value=(view?view.getComputedStyle(this):this.style).getPropertyValue(name).trim();return value?resolveCanvasColor(this,value,fallback):fallback}styleNumber(name,fallback,fallbackToken){const view=this.ownerWindow,cs=view?view.getComputedStyle(this):this.style,value=cs.getPropertyValue(name).trim()||(fallbackToken?cs.getPropertyValue(fallbackToken).trim():""),direct=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))(?:px)?$/i.exec(value);if(direct){const resolved=Number.parseFloat(direct[1]);if(Number.isFinite(resolved)&&resolved>=0)return resolved}if(!value||!view)return fallback;const probe=this.ownerDocument.createElement("span");probe.hidden=!0,probe.setAttribute("aria-hidden","true"),probe.style.inlineSize=value,(this.shadowRoot??this).append(probe);try{const resolved=Number.parseFloat(view.getComputedStyle(probe).inlineSize);return Number.isFinite(resolved)&&resolved>=0?resolved:fallback}finally{probe.remove()}}buildConfig(){const theme=this.themeColors(),palette=seriesPalette(this),sample=this.dataTableSample();return{type:"boxplot",data:{labels:sample.rowIndexes.map(index=>this.labels[index]??""),datasets:sample.seriesIndexes.map(sourceIndex=>{const s=this.datasets[sourceIndex],fillColor=this.seriesFillColor(sourceIndex,palette),borderColor=this.seriesBorderColor(sourceIndex,palette);return{label:s.label,data:sample.rowIndexes.map(index=>{const point=s.data[index];return this.validPoint(point)?summaryOf(point):null}),backgroundColor:this.forcedColorFill(sourceIndex,fillColor),borderColor}})},options:{locale:this.effectiveLocale,responsive:!0,maintainAspectRatio:!1,animation:prefersReducedMotion(this.ownerWindow)?!1:void 0,onClick:(event,_elements,chart)=>this.handlePointClick(event,chart),elements:{boxandwhiskers:{borderWidth:this.styleNumber("--lr-box-plot-border-width",1,"--lr-border-width-thin"),itemRadius:this.styleNumber("--lr-box-plot-item-radius",0)}},plugins:{legend:{display:!1,labels:{color:theme.legend}},tooltip:{backgroundColor:theme.tooltipBg,titleColor:theme.tooltipText,bodyColor:theme.tooltipText,...this.formatter||this.valueFormatter?{callbacks:{label:context=>{const raw=context.raw,point=this.validPoint(raw)?raw:void 0;if(!point)return;const datasetIndex=Number.isInteger(context.datasetIndex)?context.datasetIndex:void 0,index=Number.isInteger(context.dataIndex)?context.dataIndex:void 0,value=this.formatValue(point.median,"tooltip",{...datasetIndex===void 0?{}:{datasetIndex},...index===void 0?{}:{index,label:this.labels[index]||void 0},...datasetIndex===void 0?{}:{seriesLabel:this.datasets[datasetIndex]?.label},statistic:"median",axis:"y"}),label=String(context.dataset?.label??"");return label?this.localize("chartValueLabel",void 0,{label,value}):value}}}:{}}},scales:{x:{ticks:{color:theme.tick,font:{size:theme.tickFontSize}},grid:{color:theme.grid}},y:{position:this.effectiveDirection==="rtl"?"right":"left",beginAtZero:this.beginAtZero,title:{display:!!this.yLabel,text:this.yLabel,color:theme.tick},ticks:{color:theme.tick,font:{size:theme.tickFontSize},...this.formatter||this.valueFormatter?{callback:value=>this.formatValue(Number(value),"tick",{axis:"y"})}:{}},grid:{color:theme.grid}}}}}}draw(){if(!this.chartJsModule||!this.canvasEl)return;const config=this.buildConfig();if(this.chart){this.chart.data=config.data,this.chart.options=config.options??{},this.applyDatasetVisibility(),this.chart.update("none");return}this.chart=new this.chartJsModule.Chart(this.canvasEl,config),this.hiddenDatasets!==void 0&&(this.applyDatasetVisibility(),this.chart.update("none"))}drawIfVisible(){!this.isConnected||!this.visible||this.draw()}rebuildAfterAnnotationRegistration(){this.chart&&(this.chart.destroy(),this.chart=void 0,this.drawIfVisible())}refreshTheme(){this.drawIfVisible(),this.legend&&this.requestUpdate()}seriesDisplayLabel(series){return series.label||this.localize("chartSeriesLabel")}formatValue(value,surface,metadata={}){const legacyContext=surface==="export"||surface==="spoken"?"table":surface==="visual"?void 0:surface;return this.formatter?.({value,surface,...metadata})??(legacyContext?this.valueFormatter?.(value,legacyContext):void 0)??getNumberFormat(this.effectiveLocale).format(value)}exportData(format){if(format==="png")return this.chart?.toBase64Image?.()??"";const header=["category","series","min","q1","median","q3","max"].map(escapeCsvField).join(","),rows=[];return this.datasets.forEach((series,datasetIndex)=>{series.data.forEach((point,index)=>{if(!this.validPoint(point))return;const metadata={datasetIndex,index,label:this.labels[index]||void 0,seriesLabel:series.label,axis:"y"};rows.push([this.labels[index]??"",this.seriesDisplayLabel(series),this.formatValue(point.min,"export",{...metadata,statistic:"min"}),this.formatValue(point.q1,"export",{...metadata,statistic:"q1"}),this.formatValue(point.median,"export",{...metadata,statistic:"median"}),this.formatValue(point.q3,"export",{...metadata,statistic:"q3"}),this.formatValue(point.max,"export",{...metadata,statistic:"max"})].map(escapeCsvField).join(","))})}),[header,...rows].join(`\r
1
+ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,query,state}from"lit/decorators.js";import{LyraElement}from"../../../internal/lyra-element.js";import{nextId,srOnly}from"../../../internal/a11y.js";import{prefersReducedMotion}from"../../../internal/motion.js";import{loadChartJs}from"./chart-core-loader.js";import{onAnnotationPluginRegistered}from"../../../internal/chart-annotation-registration.js";import{styles}from"./box-plot.styles.js";import"../../overlays/skeleton/skeleton.class.js";import{getListFormat,getNumberFormat}from"../../../internal/intl-cache.js";import{trueDefaultBooleanFromAttributeConverter as trueDefaultBooleanConverter}from"../../../internal/converters.js";import{sanitizeCssLength}from"../../../internal/safe-css.js";import{FALLBACK_GRID_COLOR,FALLBACK_LEGEND_COLOR,FALLBACK_TICK_COLOR,FALLBACK_TICK_FONT_SIZE,FALLBACK_TOOLTIP_BG,FALLBACK_TOOLTIP_TEXT,resolveCanvasColor,seriesPalette}from"./chart-colors.js";import{createForcedColorPattern,forcedColorEncoding,forcedColorsActive}from"./chart-forced-colors.js";import{specialistTokens}from"../../../internal/specialist-tokens.styles.js";import{ThemeWatcher}from"../../../internal/theme-watcher.js";import{resolveOptionalPeerCapability,unwrapOptionalPeerDefault}from"../../../internal/optional-peer-capabilities.js";import{acquireAnnouncementSink}from"../../../internal/announcer.js";import{legendVisibilityDetail,normalizeHiddenDatasets}from"./chart-legend-visibility.js";import{sampleChartTableIndexes}from"./chart-table-sampling.js";import{escapeCsvField}from"../../utility/export-button/csv.js";import{chartChromeLegendPlacement,normalizeChartChromeLegendPosition}from"./chart-chrome.js";import{LYRA_DEFAULT_boxPlot,LYRA_DEFAULT_boxPlotData,LYRA_DEFAULT_boxPlotMax,LYRA_DEFAULT_boxPlotMedian,LYRA_DEFAULT_boxPlotMin,LYRA_DEFAULT_boxPlotMissingLibrary,LYRA_DEFAULT_boxPlotQ1,LYRA_DEFAULT_boxPlotQ3,LYRA_DEFAULT_boxPlotSeriesSummary,LYRA_DEFAULT_boxPlotSummaryEmpty,LYRA_DEFAULT_boxPlotSummaryWithData,LYRA_DEFAULT_chartCategory,LYRA_DEFAULT_chartDataSampled,LYRA_DEFAULT_chartPointLabel,LYRA_DEFAULT_chartSeriesLabel,LYRA_DEFAULT_chartSeriesNoData,LYRA_DEFAULT_chartSummarySeparator,LYRA_DEFAULT_chartTrendDecreasing,LYRA_DEFAULT_chartTrendFlat,LYRA_DEFAULT_chartTrendIncreasing,LYRA_DEFAULT_chartValueLabel,LYRA_DEFAULT_liteChartMarkSummary,LYRA_DEFAULT_loading}from"../../../internal/default-strings.generated.js";function isBoxPlotSeries(value){try{return typeof value=="object"&&value!==null&&!Array.isArray(value)&&Array.isArray(value.data)}catch{return!1}}function normalizeBoxPlotSeries(value){try{return Object.freeze(Array.isArray(value)?value.filter(isBoxPlotSeries):[])}catch{return Object.freeze([])}}function summaryOf(point){return{min:point.min,q1:point.q1,median:point.median,q3:point.q3,max:point.max}}let boxPlotPlugin;function isConstructor(value){if(typeof value!="function")return!1;try{return Reflect.construct(Object,[],value),!0}catch{return!1}}function missingBoxPlotCapability(candidate){if(typeof candidate!="object"&&typeof candidate!="function"||candidate===null)return"module namespace";const module=candidate;if(!isConstructor(module.BoxPlotController))return"BoxPlotController";if(!isConstructor(module.BoxAndWiskers))return"BoxAndWiskers"}function isBoxPlotModule(candidate){return missingBoxPlotCapability(candidate)===void 0}function resolveBoxPlotModule(value){const module=resolveOptionalPeerCapability(value,isBoxPlotModule);if(module)return module;const candidate=unwrapOptionalPeerDefault(value),missing=missingBoxPlotCapability(candidate)??"module namespace";throw new Error(`Invalid optional peer \`@sgratzl/chartjs-chart-boxplot\`: missing or invalid \`${missing}\` constructor.`)}async function loadBoxPlotAndRegister(loadChart=loadChartJs,importBoxPlot=()=>import("@sgratzl/chartjs-chart-boxplot")){try{const[chartMod,imported]=await Promise.all([loadChart(),importBoxPlot()]);if(!chartMod)return null;const boxMod=resolveBoxPlotModule(imported);return chartMod.Chart.register(boxMod.BoxPlotController,boxMod.BoxAndWiskers),boxMod}catch(error){return console.warn("<lr-box-plot> needs the optional peer dependency `@sgratzl/chartjs-chart-boxplot` — install it with `pnpm add @sgratzl/chartjs-chart-boxplot`.",error),null}}function loadBoxPlotPlugin(){return boxPlotPlugin||(boxPlotPlugin=loadBoxPlotAndRegister()),boxPlotPlugin}class LyraBoxPlot extends LyraElement{static{this.defaultStrings={...super.defaultStrings,boxPlot:LYRA_DEFAULT_boxPlot,boxPlotData:LYRA_DEFAULT_boxPlotData,boxPlotMax:LYRA_DEFAULT_boxPlotMax,boxPlotMedian:LYRA_DEFAULT_boxPlotMedian,boxPlotMin:LYRA_DEFAULT_boxPlotMin,boxPlotMissingLibrary:LYRA_DEFAULT_boxPlotMissingLibrary,boxPlotQ1:LYRA_DEFAULT_boxPlotQ1,boxPlotQ3:LYRA_DEFAULT_boxPlotQ3,boxPlotSeriesSummary:LYRA_DEFAULT_boxPlotSeriesSummary,boxPlotSummaryEmpty:LYRA_DEFAULT_boxPlotSummaryEmpty,boxPlotSummaryWithData:LYRA_DEFAULT_boxPlotSummaryWithData,chartCategory:LYRA_DEFAULT_chartCategory,chartDataSampled:LYRA_DEFAULT_chartDataSampled,chartPointLabel:LYRA_DEFAULT_chartPointLabel,chartSeriesLabel:LYRA_DEFAULT_chartSeriesLabel,chartSeriesNoData:LYRA_DEFAULT_chartSeriesNoData,chartSummarySeparator:LYRA_DEFAULT_chartSummarySeparator,chartTrendDecreasing:LYRA_DEFAULT_chartTrendDecreasing,chartTrendFlat:LYRA_DEFAULT_chartTrendFlat,chartTrendIncreasing:LYRA_DEFAULT_chartTrendIncreasing,chartValueLabel:LYRA_DEFAULT_chartValueLabel,liteChartMarkSummary:LYRA_DEFAULT_liteChartMarkSummary,loading:LYRA_DEFAULT_loading}}static{this.ownedCollectionProperties=Object.freeze(["labels","datasets","hiddenDatasets"])}static{this.styles=[LyraElement.styles,specialistTokens,styles,srOnly]}static{this.immutableEventDetails=Object.freeze(["lr-legend-visibility-change-request","lr-before-legend-visibility-change","lr-legend-visibility-change"])}constructor(){super(),this.labels=[],this._datasets=Object.freeze([]),this.legend=!1,this.legendPosition="bottom",this.height="280px",this.xLabel="",this.yLabel="",this.beginAtZero=!0,this.label=null,this.description=null,this.showDataTable=!1,this.dataTableToggle=!1,this.dataTableExpandedOverride=null,this.dataTableId=nextId("box-plot-data-table"),this.loading=!0,this.loadFailed=!1,this.visible=!0,this.keyboardDatumIndex=0,this.keyboardDatumAnnouncement="",this.intersectionGeneration=0,this.loadGeneration=0,this.descriptionId=nextId("box-plot-description"),this.lastDataTruncationAnnouncement="",this.isMounting=!0,this.onReducedMotionChange=()=>{!this.isConnected||this.ownerWindow!==this.reducedMotionWindow||this.drawIfVisible()},new ThemeWatcher(this,()=>{this.chart&&this.refreshTheme()})}get datasets(){return this._datasets}set datasets(value){const previous=this._datasets;this._datasets=normalizeBoxPlotSeries(value),this.requestUpdate("datasets",previous)}get dataTableVisible(){return this.dataTableToggle?this.dataTableExpandedOverride??this.showDataTable:this.showDataTable}toggleDataTable(){this.dataTableExpandedOverride=!this.dataTableVisible}connectedCallback(){super.connectedCallback(),this.stopAnnotationRegistrationWatch?.(),this.stopAnnotationRegistrationWatch=onAnnotationPluginRegistered(()=>this.rebuildAfterAnnotationRegistration()),this.syncAnnouncementSinks(),this.visible=!this.ownerWindow?.IntersectionObserver,this.armReducedMotionWatcher();const generation=++this.loadGeneration;loadBoxPlotPlugin().then(boxMod=>this.onBoxPlotPluginLoaded(boxMod,generation));const IntersectionObserverCtor=this.ownerWindow?.IntersectionObserver;if(IntersectionObserverCtor){const ownerWindow=this.ownerWindow,observerGeneration=++this.intersectionGeneration,observer=new IntersectionObserverCtor(entries=>{if(observerGeneration!==this.intersectionGeneration||this.intersectionObserver!==observer||!this.isConnected||this.ownerWindow!==ownerWindow)return;const wasVisible=this.visible;this.visible=entries[0]?.isIntersecting??!0,this.visible&&!wasVisible&&this.drawIfVisible()});this.intersectionObserver=observer,observer.observe(this)}}async onBoxPlotPluginLoaded(boxMod,generation=this.loadGeneration){if(generation!==this.loadGeneration||!this.isConnected)return;try{await this.updateComplete}catch{return}if(await new Promise(resolve=>this.updateBrowserDerivedState(resolve)),generation!==this.loadGeneration||!this.isConnected)return;if(this.loading=!1,!boxMod){this.loadFailed=!0,this.chart?.destroy(),this.chart=void 0,this.chartJsModule=void 0;return}this.loadFailed=!1;const chartMod=await loadChartJs();generation!==this.loadGeneration||!this.isConnected||(this.chartJsModule=chartMod??void 0,this.drawIfVisible())}disconnectedCallback(){super.disconnectedCallback(),this.stopAnnotationRegistrationWatch?.(),this.stopAnnotationRegistrationWatch=void 0,this.releaseAnnouncementSinks(),this.lastDataTruncationAnnouncement="",this.isMounting=!0,this.loadGeneration+=1,this.chart?.destroy(),this.chart=void 0,this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0,this.intersectionGeneration+=1,this.visible=!0,this.disarmReducedMotionWatcher()}adoptedCallback(){super.adoptedCallback(),this.releaseAnnouncementSinks(),this.syncAnnouncementSinks(),this.armReducedMotionWatcher()}armReducedMotionWatcher(){const ownerWindow=this.ownerWindow;ownerWindow?.matchMedia&&(this.reducedMotionWindow===ownerWindow&&this.reducedMotionQuery||(this.disarmReducedMotionWatcher(),this.reducedMotionWindow=ownerWindow,this.reducedMotionQuery=ownerWindow.matchMedia("(prefers-reduced-motion: reduce)"),this.reducedMotionQuery.addEventListener("change",this.onReducedMotionChange)))}disarmReducedMotionWatcher(){this.reducedMotionQuery?.removeEventListener("change",this.onReducedMotionChange),this.reducedMotionQuery=void 0,this.reducedMotionWindow=void 0}syncAnnouncementSinks(){this.isConnected&&(this.politeAnnouncementSink?.element.ownerDocument===this.ownerDocument&&this.assertiveAnnouncementSink?.element.ownerDocument===this.ownerDocument||(this.releaseAnnouncementSinks(),this.politeAnnouncementSink=acquireAnnouncementSink("polite",{document:this.ownerDocument,source:this}),this.assertiveAnnouncementSink=acquireAnnouncementSink("assertive",{document:this.ownerDocument,source:this})))}releaseAnnouncementSinks(){this.politeAnnouncementSink?.release(),this.politeAnnouncementSink=void 0,this.assertiveAnnouncementSink?.release(),this.assertiveAnnouncementSink=void 0}get ownerWindow(){return this.ownerDocument?.defaultView??void 0}effectiveHiddenDatasetIndexes(){return normalizeHiddenDatasets(this.hiddenDatasets,this.datasets.length)??[]}applyDatasetVisibility(){if(!this.chart)return!1;const datasetCount=this.chart.data.datasets?.length??0,sourceSeriesIndexes=this.dataTableSample().seriesIndexes,controlled=normalizeHiddenDatasets(this.hiddenDatasets,this.datasets.length);if(controlled===void 0){for(let index=0;index<datasetCount;index++){const metadata=this.chart.getDatasetMeta?.(index);metadata&&(metadata.hidden=null)}return datasetCount>0}const hidden=new Set(controlled);for(let index=0;index<datasetCount;index++)this.chart.setDatasetVisibility(index,!hidden.has(sourceSeriesIndexes[index]??index));return datasetCount>0}updated(changed){if(super.updated(changed),!this.isConnected)return;const wasMounting=this.isMounting;this.isMounting=!1,changed.has("keyboardDatumAnnouncement")&&changed.get("keyboardDatumAnnouncement")!==void 0&&this.keyboardDatumAnnouncement!==""&&this.politeAnnouncementSink?.announce(this.keyboardDatumAnnouncement),changed.has("loadFailed")&&changed.get("loadFailed")!==void 0&&this.loadFailed&&this.assertiveAnnouncementSink?.announce(this.localize("boxPlotMissingLibrary"));const dataTruncation=this.dataTruncationMessage();if(wasMounting&&(this.lastDataTruncationAnnouncement=dataTruncation),!this.loading&&!this.loadFailed&&!wasMounting&&dataTruncation!==this.lastDataTruncationAnnouncement&&(this.lastDataTruncationAnnouncement=dataTruncation,dataTruncation&&this.politeAnnouncementSink?.announce(dataTruncation)),this.setAttribute("aria-busy",String(this.loading)),changed.has("height")){const height=sanitizeCssLength(this.height,"height");height?this.style.setProperty("--_lr-chart-height",height):this.style.removeProperty("--_lr-chart-height")}if(this.loading)return;const contentChanged=["labels","datasets","hiddenDatasets","legend","legendPosition","height","xLabel","yLabel","beginAtZero","label","description","valueFormatter","formatter","locale","strings","loading"].some(name=>changed.has(name)),direction=this.effectiveDirection,locale=this.effectiveLocale,contextChanged=this.lastDrawnDirection!==void 0&&this.lastDrawnDirection!==direction||this.lastDrawnLocale!==void 0&&this.lastDrawnLocale!==locale;this.lastDrawnDirection=direction,this.lastDrawnLocale=locale,!(!contentChanged&&!contextChanged)&&this.drawIfVisible()}themeColors(){const view=this.ownerWindow,cs=view?view.getComputedStyle(this):this.style;return{grid:resolveCanvasColor(this,cs.getPropertyValue("--lr-chart-grid-color").trim()||cs.getPropertyValue("--_lr-chart-grid-color").trim(),FALLBACK_GRID_COLOR),tick:resolveCanvasColor(this,cs.getPropertyValue("--lr-chart-tick-color").trim()||cs.getPropertyValue("--_lr-chart-tick-color").trim(),FALLBACK_TICK_COLOR),tickFontSize:this.styleNumber("--lr-chart-tick-font-size",FALLBACK_TICK_FONT_SIZE,"--_lr-chart-tick-font-size"),legend:resolveCanvasColor(this,cs.getPropertyValue("--lr-chart-legend-color").trim()||cs.getPropertyValue("--_lr-chart-legend-color").trim(),FALLBACK_LEGEND_COLOR),tooltipBg:resolveCanvasColor(this,cs.getPropertyValue("--lr-chart-tooltip-bg").trim()||cs.getPropertyValue("--_lr-chart-tooltip-bg").trim(),FALLBACK_TOOLTIP_BG),tooltipText:resolveCanvasColor(this,cs.getPropertyValue("--lr-chart-tooltip-text").trim()||cs.getPropertyValue("--_lr-chart-tooltip-text").trim(),FALLBACK_TOOLTIP_TEXT)}}seriesColor(index,palette=seriesPalette(this)){const fallback=palette[index%palette.length]??"transparent",series=this.datasets[index];return series?.color?resolveCanvasColor(this,series.color,fallback):fallback}seriesBorderColor(index,palette=seriesPalette(this)){const base=this.seriesColor(index,palette);return this.styleColor(`--lr-box-plot-border-color-${index%8+1}`,base)}seriesFillColor(index,palette=seriesPalette(this)){const base=this.seriesColor(index,palette);return this.styleColor(`--lr-box-plot-fill-color-${index%8+1}`,base)}forcedColorFill(index,background){return!this.ownerWindow||!forcedColorsActive(this.ownerWindow)?background:createForcedColorPattern(this.ownerDocument,index,background,this.styleColor("--lr-color-surface",FALLBACK_TOOLTIP_BG))}styleColor(name,fallback){const view=this.ownerWindow,value=(view?view.getComputedStyle(this):this.style).getPropertyValue(name).trim();return value?resolveCanvasColor(this,value,fallback):fallback}styleNumber(name,fallback,fallbackToken){const view=this.ownerWindow,cs=view?view.getComputedStyle(this):this.style,value=cs.getPropertyValue(name).trim()||(fallbackToken?cs.getPropertyValue(fallbackToken).trim():""),direct=/^([+-]?(?:\d+(?:\.\d+)?|\.\d+))(?:px)?$/i.exec(value);if(direct){const resolved=Number.parseFloat(direct[1]);if(Number.isFinite(resolved)&&resolved>=0)return resolved}if(!value||!view)return fallback;const probe=this.ownerDocument.createElement("span");probe.hidden=!0,probe.setAttribute("aria-hidden","true"),probe.style.inlineSize=value,(this.shadowRoot??this).append(probe);try{const resolved=Number.parseFloat(view.getComputedStyle(probe).inlineSize);return Number.isFinite(resolved)&&resolved>=0?resolved:fallback}finally{probe.remove()}}buildConfig(){const theme=this.themeColors(),palette=seriesPalette(this),sample=this.dataTableSample();return{type:"boxplot",data:{labels:sample.rowIndexes.map(index=>this.labels[index]??""),datasets:sample.seriesIndexes.map(sourceIndex=>{const s=this.datasets[sourceIndex],fillColor=this.seriesFillColor(sourceIndex,palette),borderColor=this.seriesBorderColor(sourceIndex,palette);return{label:s.label,data:sample.rowIndexes.map(index=>{const point=s.data[index];return this.validPoint(point)?summaryOf(point):null}),backgroundColor:this.forcedColorFill(sourceIndex,fillColor),borderColor}})},options:{locale:this.effectiveLocale,responsive:!0,maintainAspectRatio:!1,animation:prefersReducedMotion(this.ownerWindow)?!1:void 0,onClick:(event,_elements,chart)=>this.handlePointClick(event,chart),elements:{boxandwhiskers:{borderWidth:this.styleNumber("--lr-box-plot-border-width",1,"--lr-border-width-thin"),itemRadius:this.styleNumber("--lr-box-plot-item-radius",0)}},plugins:{legend:{display:!1,labels:{color:theme.legend}},tooltip:{backgroundColor:theme.tooltipBg,titleColor:theme.tooltipText,bodyColor:theme.tooltipText,...this.formatter||this.valueFormatter?{callbacks:{label:context=>{const raw=context.raw,point=this.validPoint(raw)?raw:void 0;if(!point)return;const datasetIndex=Number.isInteger(context.datasetIndex)?context.datasetIndex:void 0,index=Number.isInteger(context.dataIndex)?context.dataIndex:void 0,value=this.formatValue(point.median,"tooltip",{...datasetIndex===void 0?{}:{datasetIndex},...index===void 0?{}:{index,label:this.labels[index]||void 0},...datasetIndex===void 0?{}:{seriesLabel:this.datasets[datasetIndex]?.label},statistic:"median",axis:"y"}),label=String(context.dataset?.label??"");return label?this.localize("chartValueLabel",void 0,{label,value}):value}}}:{}}},scales:{x:{title:{display:!!this.xLabel,text:this.xLabel,color:theme.tick},ticks:{color:theme.tick,font:{size:theme.tickFontSize}},grid:{color:theme.grid}},y:{position:this.effectiveDirection==="rtl"?"right":"left",beginAtZero:this.beginAtZero,title:{display:!!this.yLabel,text:this.yLabel,color:theme.tick},ticks:{color:theme.tick,font:{size:theme.tickFontSize},...this.formatter||this.valueFormatter?{callback:value=>this.formatValue(Number(value),"tick",{axis:"y"})}:{}},grid:{color:theme.grid}}}}}}draw(){if(!this.chartJsModule||!this.canvasEl)return;const config=this.buildConfig();if(this.chart){this.chart.data=config.data,this.chart.options=config.options??{},this.applyDatasetVisibility(),this.chart.update("none");return}this.chart=new this.chartJsModule.Chart(this.canvasEl,config),this.hiddenDatasets!==void 0&&(this.applyDatasetVisibility(),this.chart.update("none"))}drawIfVisible(){!this.isConnected||!this.visible||this.draw()}rebuildAfterAnnotationRegistration(){this.chart&&(this.chart.destroy(),this.chart=void 0,this.drawIfVisible())}refreshTheme(){this.drawIfVisible(),this.legend&&this.requestUpdate()}seriesDisplayLabel(series){return series.label||this.localize("chartSeriesLabel")}formatValue(value,surface,metadata={}){const legacyContext=surface==="export"||surface==="spoken"?"table":surface==="visual"?void 0:surface;return this.formatter?.({value,surface,...metadata})??(legacyContext?this.valueFormatter?.(value,legacyContext):void 0)??getNumberFormat(this.effectiveLocale).format(value)}exportData(format){if(format==="png")return this.chart?.toBase64Image?.()??"";const header=["category","series","min","q1","median","q3","max"].map(escapeCsvField).join(","),rows=[];return this.datasets.forEach((series,datasetIndex)=>{series.data.forEach((point,index)=>{if(!this.validPoint(point))return;const metadata={datasetIndex,index,label:this.labels[index]||void 0,seriesLabel:series.label,axis:"y"};rows.push([this.labels[index]??"",this.seriesDisplayLabel(series),this.formatValue(point.min,"export",{...metadata,statistic:"min"}),this.formatValue(point.q1,"export",{...metadata,statistic:"q1"}),this.formatValue(point.median,"export",{...metadata,statistic:"median"}),this.formatValue(point.q3,"export",{...metadata,statistic:"q3"}),this.formatValue(point.max,"export",{...metadata,statistic:"max"})].map(escapeCsvField).join(","))})}),[header,...rows].join(`\r
2
2
  `)}boxPlotDescription(){if(this.description)return this.description;const summaries=this.dataTableSample().seriesIndexes.map(index=>{const series=this.datasets[index];let count=0,first=0,last=0,min=0,minIndex=0,max=0,maxIndex=0;for(const[pointIndex,point]of series.data.entries())this.validPoint(point)&&(count===0&&(first=point.median,min=point.median,minIndex=pointIndex,max=point.median,maxIndex=pointIndex),last=point.median,point.median<min&&(min=point.median,minIndex=pointIndex),point.median>max&&(max=point.median,maxIndex=pointIndex),count++);if(count===0)return this.localize("chartSeriesNoData",void 0,{label:this.seriesDisplayLabel(series)});const trend=last>first?this.localize("chartTrendIncreasing"):last<first?this.localize("chartTrendDecreasing"):this.localize("chartTrendFlat");return this.localize("boxPlotSeriesSummary",void 0,{label:this.seriesDisplayLabel(series),count:getNumberFormat(this.effectiveLocale).format(count),min:this.formatValue(min,"spoken",{datasetIndex:index,index:minIndex,label:this.labels[minIndex]||void 0,seriesLabel:series.label,statistic:"median",axis:"y"}),max:this.formatValue(max,"spoken",{datasetIndex:index,index:maxIndex,label:this.labels[maxIndex]||void 0,seriesLabel:series.label,statistic:"median",axis:"y"}),trend})});return summaries.length?this.localize("boxPlotSummaryWithData",void 0,{summaries:summaries.join(this.localize("chartSummarySeparator"))}):this.localize("boxPlotSummaryEmpty")}boxDatums(){const sample=this.dataTableSample(),datums=[];for(const datasetIndex of sample.seriesIndexes){const series=this.datasets[datasetIndex];if(series)for(const index of sample.rowIndexes){const point=series.data[index];this.validPoint(point)&&datums.push({datasetIndex,index,label:this.labels[index]||void 0,value:summaryOf(point)})}}return datums}boxAnnouncement(datum,position,total){const numberFormat=getNumberFormat(this.effectiveLocale),point=datum.value,summary=(point?[["min",this.localize("boxPlotMin"),point.min],["q1",this.localize("boxPlotQ1"),point.q1],["median",this.localize("boxPlotMedian"),point.median],["q3",this.localize("boxPlotQ3"),point.q3],["max",this.localize("boxPlotMax"),point.max]]:[]).filter(([,,value])=>Number.isFinite(value)).map(([statistic,label,value])=>this.localize("chartValueLabel",void 0,{label,value:this.formatValue(value,"spoken",{datasetIndex:datum.datasetIndex,index:datum.index,label:datum.label,seriesLabel:this.datasets[datum.datasetIndex]?.label,statistic,axis:"y"})})).join(this.localize("chartSummarySeparator"));return this.localize("liteChartMarkSummary",void 0,{series:this.datasets[datum.datasetIndex]?.label||this.localize("chartSeriesLabel"),label:datum.label??this.localize("chartPointLabel",void 0,{n:numberFormat.format(datum.index+1)}),value:summary,index:numberFormat.format(position+1),total:numberFormat.format(total)})}activateBox(datum){const datums=this.boxDatums(),position=datums.findIndex(candidate=>candidate.datasetIndex===datum.datasetIndex&&candidate.index===datum.index);position>=0&&(this.keyboardDatumIndex=position,this.keyboardDatumAnnouncement=this.boxAnnouncement(datum,position,datums.length)),this.emit("lr-datum-activate",{...datum,kind:"box"}),this.emit("lr-point-click",datum)}handlePointClick(event,chart){const hit=chart.getElementsAtEventForMode?.(event,"nearest",{intersect:!0},!0)?.[0];if(!hit)return;const sample=this.dataTableSample(),datasetIndex=sample.seriesIndexes[hit.datasetIndex],index=sample.rowIndexes[hit.index];if(datasetIndex===void 0||index===void 0)return;const point=this.datasets[datasetIndex]?.data[index];this.activateBox({datasetIndex,index,label:this.labels[index]||void 0,value:this.validPoint(point)?summaryOf(point):null})}onCanvasFocus(){const datums=this.boxDatums();datums.length&&(this.keyboardDatumIndex=Math.min(this.keyboardDatumIndex,datums.length-1),this.keyboardDatumAnnouncement=this.boxAnnouncement(datums[this.keyboardDatumIndex],this.keyboardDatumIndex,datums.length))}onCanvasKeyDown(event){const datums=this.boxDatums();if(!datums.length)return;if(this.keyboardDatumIndex=Math.min(this.keyboardDatumIndex,datums.length-1),event.key==="Enter"||event.key===" "){event.preventDefault(),this.activateBox(datums[this.keyboardDatumIndex]);return}const rtl=this.effectiveDirection==="rtl",forward=rtl?"ArrowLeft":"ArrowRight",backward=rtl?"ArrowRight":"ArrowLeft";let next=this.keyboardDatumIndex;if(event.key===forward||event.key==="ArrowDown")next=Math.min(datums.length-1,next+1);else if(event.key===backward||event.key==="ArrowUp")next=Math.max(0,next-1);else if(event.key==="Home")next=0;else if(event.key==="End")next=datums.length-1;else return;event.preventDefault(),this.keyboardDatumIndex=next,this.keyboardDatumAnnouncement=this.boxAnnouncement(datums[next],next,datums.length)}validPoint(point){return!!point&&[point.min,point.q1,point.median,point.q3,point.max].every(Number.isFinite)&&point.min<=point.q1&&point.q1<=point.median&&point.median<=point.q3&&point.q3<=point.max}accessibleName(fallback){return this.getAttribute("aria-label")??this.label??fallback}dataTableSample(){let rowCount=this.labels.length;for(const series of this.datasets)rowCount=Math.max(rowCount,series.data.length);const indexes=sampleChartTableIndexes(rowCount,this.datasets.length);return{rowCount,seriesCount:this.datasets.length,...indexes}}generatedDataIsSampled(){if(this.hasCustomDataTable())return!1;const sample=this.dataTableSample();return sample.rowCount===0||sample.seriesCount===0?!1:sample.rowIndexes.length<sample.rowCount||sample.seriesIndexes.length<sample.seriesCount}dataTruncationMessage(){return this.generatedDataIsSampled()?this.localize("chartDataSampled"):""}renderDataTable(){const numberFormat=getNumberFormat(this.effectiveLocale),sample=this.dataTableSample();return html`
3
3
  <table class=${this.dataTableVisible?"":"sr-only"}>
4
4
  <caption>${this.accessibleName(this.localize("boxPlotData"))}</caption>
@@ -27,7 +27,7 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
27
27
  `:nothing})})}
28
28
  </tbody>
29
29
  </table>
30
- `}hasCustomDataTable(){return Array.from(this.children).some(child=>child.getAttribute("slot")==="data-table")}toggleDataset(index){if(!this.chart||index<0||index>=this.datasets.length)return;const hidden=this.effectiveHiddenDatasetIndexes(),wasHidden=hidden.includes(index),nextHidden=wasHidden?hidden.filter(candidate=>candidate!==index):[...hidden,index].sort((left,right)=>left-right),visible=wasHidden;this.emit("lr-before-legend-visibility-change",legendVisibilityDetail(index,visible,nextHidden),{cancelable:!0}).defaultPrevented||(this.hiddenDatasets=nextHidden,this.applyDatasetVisibility(),this.chart.update("none"),this.requestUpdate(),this.emit("lr-legend-visibility-change",legendVisibilityDetail(index,visible,nextHidden)))}renderLegend(){if(!this.legend)return nothing;const palette=seriesPalette(this),forced=forcedColorsActive(this.ownerWindow),controlledHidden=normalizeHiddenDatasets(this.hiddenDatasets,this.datasets.length),controlledHiddenSet=controlledHidden===void 0?void 0:new Set(controlledHidden),sample=this.dataTableSample();return html`
30
+ `}hasCustomDataTable(){return Array.from(this.children).some(child=>child.getAttribute("slot")==="data-table")}toggleDataset(index){if(!this.chart||index<0||index>=this.datasets.length)return;const hidden=this.effectiveHiddenDatasetIndexes(),wasHidden=hidden.includes(index),nextHidden=wasHidden?hidden.filter(candidate=>candidate!==index):[...hidden,index].sort((left,right)=>left-right),visible=wasHidden,proposed=this.emit("lr-legend-visibility-change-request",legendVisibilityDetail(index,visible,nextHidden),{cancelable:!0}),deprecatedAlias=this.emit("lr-before-legend-visibility-change",legendVisibilityDetail(index,visible,nextHidden),{cancelable:!0});proposed.defaultPrevented||deprecatedAlias.defaultPrevented||(this.hiddenDatasets=nextHidden,this.applyDatasetVisibility(),this.chart.update("none"),this.requestUpdate(),this.emit("lr-legend-visibility-change",legendVisibilityDetail(index,visible,nextHidden)))}renderLegend(){if(!this.legend)return nothing;const palette=seriesPalette(this),forced=forcedColorsActive(this.ownerWindow),controlledHidden=normalizeHiddenDatasets(this.hiddenDatasets,this.datasets.length),controlledHiddenSet=controlledHidden===void 0?void 0:new Set(controlledHidden),sample=this.dataTableSample();return html`
31
31
  <div part="legend" role="group" aria-label=${this.accessibleName(this.localize("boxPlot"))}>
32
32
  ${sample.seriesIndexes.map(index=>{const series=this.datasets[index],color=this.seriesFillColor(index,palette),visible=controlledHiddenSet===void 0||!controlledHiddenSet.has(index),encoding=forced?forcedColorEncoding(index).name:void 0;return html`
33
33
  <button
@@ -93,4 +93,4 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
93
93
  ${hasCustomDataTable?nothing:this.renderDataTable()}
94
94
  </div>
95
95
  </div>
96
- `}}__decorate([property({attribute:!1})],LyraBoxPlot.prototype,"labels",void 0),__decorate([property({attribute:!1})],LyraBoxPlot.prototype,"datasets",null),__decorate([property({attribute:!1})],LyraBoxPlot.prototype,"hiddenDatasets",void 0),__decorate([property({type:Boolean})],LyraBoxPlot.prototype,"legend",void 0),__decorate([property({attribute:"legend-position",converter:{fromAttribute:normalizeChartChromeLegendPosition}})],LyraBoxPlot.prototype,"legendPosition",void 0),__decorate([property()],LyraBoxPlot.prototype,"height",void 0),__decorate([property({attribute:"y-label"})],LyraBoxPlot.prototype,"yLabel",void 0),__decorate([property({type:Boolean,attribute:"begin-at-zero",converter:trueDefaultBooleanConverter})],LyraBoxPlot.prototype,"beginAtZero",void 0),__decorate([property()],LyraBoxPlot.prototype,"label",void 0),__decorate([property()],LyraBoxPlot.prototype,"description",void 0),__decorate([property({type:Boolean,attribute:"show-data-table"})],LyraBoxPlot.prototype,"showDataTable",void 0),__decorate([property({type:Boolean,attribute:"data-table-toggle"})],LyraBoxPlot.prototype,"dataTableToggle",void 0),__decorate([state()],LyraBoxPlot.prototype,"dataTableExpandedOverride",void 0),__decorate([property({attribute:!1})],LyraBoxPlot.prototype,"valueFormatter",void 0),__decorate([property({attribute:!1})],LyraBoxPlot.prototype,"formatter",void 0),__decorate([state()],LyraBoxPlot.prototype,"loading",void 0),__decorate([state()],LyraBoxPlot.prototype,"loadFailed",void 0),__decorate([state()],LyraBoxPlot.prototype,"visible",void 0),__decorate([state()],LyraBoxPlot.prototype,"keyboardDatumAnnouncement",void 0),__decorate([query("canvas")],LyraBoxPlot.prototype,"canvasEl",void 0);export{LyraBoxPlot,loadBoxPlotAndRegister};
96
+ `}}__decorate([property({attribute:!1})],LyraBoxPlot.prototype,"labels",void 0),__decorate([property({attribute:!1})],LyraBoxPlot.prototype,"datasets",null),__decorate([property({attribute:!1})],LyraBoxPlot.prototype,"hiddenDatasets",void 0),__decorate([property({type:Boolean})],LyraBoxPlot.prototype,"legend",void 0),__decorate([property({attribute:"legend-position",converter:{fromAttribute:normalizeChartChromeLegendPosition}})],LyraBoxPlot.prototype,"legendPosition",void 0),__decorate([property()],LyraBoxPlot.prototype,"height",void 0),__decorate([property({attribute:"x-label"})],LyraBoxPlot.prototype,"xLabel",void 0),__decorate([property({attribute:"y-label"})],LyraBoxPlot.prototype,"yLabel",void 0),__decorate([property({type:Boolean,attribute:"begin-at-zero",converter:trueDefaultBooleanConverter})],LyraBoxPlot.prototype,"beginAtZero",void 0),__decorate([property()],LyraBoxPlot.prototype,"label",void 0),__decorate([property()],LyraBoxPlot.prototype,"description",void 0),__decorate([property({type:Boolean,attribute:"show-data-table"})],LyraBoxPlot.prototype,"showDataTable",void 0),__decorate([property({type:Boolean,attribute:"data-table-toggle"})],LyraBoxPlot.prototype,"dataTableToggle",void 0),__decorate([state()],LyraBoxPlot.prototype,"dataTableExpandedOverride",void 0),__decorate([property({attribute:!1})],LyraBoxPlot.prototype,"valueFormatter",void 0),__decorate([property({attribute:!1})],LyraBoxPlot.prototype,"formatter",void 0),__decorate([state()],LyraBoxPlot.prototype,"loading",void 0),__decorate([state()],LyraBoxPlot.prototype,"loadFailed",void 0),__decorate([state()],LyraBoxPlot.prototype,"visible",void 0),__decorate([state()],LyraBoxPlot.prototype,"keyboardDatumAnnouncement",void 0),__decorate([query("canvas")],LyraBoxPlot.prototype,"canvasEl",void 0);export{LyraBoxPlot,loadBoxPlotAndRegister};
@@ -1 +1 @@
1
- import{css}from"lit";import{forcedColorLegendSwatchStyles}from"./chart-forced-colors.js";const styles=css` :host { display: block; position: relative; inline-size: 100%; min-inline-size: 0; min-block-size: var(--lr-chart-height, var(--_lr-chart-height, var(--lr-size-280px))); block-size: auto; container-type: inline-size; contain-intrinsic-inline-size: var(--lr-size-20rem); --_lr-chart-grid-color: var(--lr-color-border); --_lr-chart-tick-color: var(--lr-color-text-quiet); --_lr-chart-tick-font-size: var(--lr-font-size-xs); --_lr-chart-legend-color: var(--lr-color-text); --_lr-chart-tooltip-bg: var(--lr-color-surface); --_lr-chart-tooltip-text: var(--lr-color-text); } [part='base'] { position: relative; inline-size: 100%; min-inline-size: 0; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: 'plot' 'legend' 'notice' 'table'; } [part='plot'] { grid-area: plot; position: relative; inline-size: 100%; block-size: var(--lr-chart-height, var(--_lr-chart-height, var(--lr-size-280px))); min-inline-size: 0; } [part='data-table'] { grid-area: table; min-inline-size: 0; max-inline-size: 100%; overflow-x: auto; overflow-y: hidden; } [part='data-table'][data-visually-hidden] { position: absolute; inline-size: var(--lr-size-1px); block-size: var(--lr-size-1px); overflow: clip; clip-path: inset(50%); white-space: nowrap; } [part='data-table'] table { max-inline-size: 100%; overflow-wrap: anywhere; } [part='data-truncation'] { grid-area: notice; margin: 0; padding: var(--lr-space-xs); color: var(--lr-color-warning); font-size: var(--lr-font-size-sm); overflow-wrap: anywhere; } [part='legend'] { grid-area: legend; display: flex; flex-wrap: wrap; gap: var(--lr-space-xs); min-inline-size: 0; max-inline-size: 100%; padding-block: var(--lr-space-xs); } [part~='legend-item'] { display: inline-flex; align-items: center; justify-content: center; min-inline-size: var(--lr-icon-button-size); min-block-size: var(--lr-icon-button-size); max-inline-size: 100%; border: 0; border-radius: var(--lr-radius); padding: var(--lr-space-2xs); gap: var(--lr-space-2xs); background: transparent; color: var(--lr-chart-legend-color, var(--_lr-chart-legend-color)); font: inherit; text-align: start; overflow-wrap: anywhere; cursor: pointer; } [part~='legend-item']:where(:hover) { background: var(--lr-chart-legend-item-hover-bg, var(--lr-color-brand-quiet)); } [part~='legend-item']:where(:active) { background: var( --lr-chart-legend-item-active-bg, color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active)) ); } [part~='legend-item']:where(:focus-visible) { outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color); outline-offset: var(--lr-focus-ring-offset); } [part~='legend-item']:where([part~='legend-item-hidden']) { text-decoration-line: line-through; text-decoration-thickness: var(--lr-border-width-medium); } [part='legend-swatch'] { inline-size: var(--lr-space-s); block-size: var(--lr-space-s); flex: 0 0 auto; border-radius: var(--lr-radius-xs); } ${forcedColorLegendSwatchStyles} [part='base']:where([data-legend-position='top']) { grid-template-areas: 'legend' 'plot' 'notice' 'table'; } [part='base']:where([data-legend-position='inline-start']) { grid-template-areas: 'legend plot' 'notice notice' 'table table'; grid-template-columns: minmax(0, min(33cqi, var(--lr-chart-legend-side-max, var(--lr-size-15rem)))) minmax(0, 1fr); } [part='base']:where([data-legend-position='inline-end']) { grid-template-areas: 'plot legend' 'notice notice' 'table table'; grid-template-columns: minmax(0, 1fr) minmax(0, min(33cqi, var(--lr-chart-legend-side-max, var(--lr-size-15rem)))); } @container (max-width: 479px) { [part='base']:where([data-legend-position='inline-start']), [part='base']:where([data-legend-position='inline-end']) { grid-template-areas: 'plot' 'legend' 'notice' 'table'; grid-template-columns: minmax(0, 1fr); } } lr-skeleton { --lr-skeleton-w: 100%; --lr-skeleton-h: var(--lr-chart-height, var(--_lr-chart-height, var(--lr-size-280px))); } canvas { inline-size: 100% !important; block-size: 100% !important; } [part='canvas'] { min-inline-size: var(--lr-icon-button-size); min-block-size: var(--lr-icon-button-size); } [part='canvas']:hover { outline: var(--lr-chart-canvas-hover-outline-width, var(--lr-border-width-thin)) solid var( --lr-chart-canvas-hover-outline-color, var(--lr-chart-grid-color, var(--_lr-chart-grid-color)) ); outline-offset: var(--lr-focus-ring-offset); } [part='canvas']:focus-visible { outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color); outline-offset: var(--lr-focus-ring-offset); } [part='error'] { margin: 0; padding: var(--lr-space-l); color: var(--lr-color-danger); font-size: var(--lr-font-size-md-sm); text-align: center; max-inline-size: 100%; overflow-wrap: anywhere; } [part='data-table-toggle'] { align-self: flex-start; font: inherit; font-size: var(--lr-font-size-xs); min-inline-size: var(--lr-icon-button-size); min-block-size: var(--lr-icon-button-size); padding: var(--lr-size-0-15rem) var(--lr-size-0-5rem); border: var(--lr-border-width-thin) solid var(--lr-color-border); border-radius: var(--lr-radius); background: var(--lr-color-surface); color: var(--lr-color-text); max-inline-size: 100%; white-space: normal; overflow-wrap: break-word; cursor: pointer; } [part='data-table-toggle']:hover { background: var(--lr-box-plot-data-table-toggle-hover-bg, var(--lr-color-brand-quiet)); } [part='data-table-toggle']:active { background: var( --lr-box-plot-data-table-toggle-active-bg, color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active)) ); } [part='data-table-toggle']:focus-visible { outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color); outline-offset: var(--lr-focus-ring-offset); } `;export{styles};
1
+ import{css}from"lit";import{forcedColorLegendSwatchStyles}from"./chart-forced-colors.js";const styles=css` :host { display: block; position: relative; inline-size: 100%; min-inline-size: 0; min-block-size: var(--lr-chart-height, var(--_lr-chart-height, var(--lr-size-280px))); block-size: auto; container-type: inline-size; contain-intrinsic-inline-size: var(--lr-size-20rem); --_lr-chart-grid-color: var(--lr-color-border); --_lr-chart-tick-color: var(--lr-color-text-quiet); --_lr-chart-tick-font-size: var(--lr-font-size-xs); --_lr-chart-legend-color: var(--lr-color-text); --_lr-chart-tooltip-bg: var(--lr-color-surface); --_lr-chart-tooltip-text: var(--lr-color-text); } [part='base'] { position: relative; inline-size: 100%; min-inline-size: 0; block-size: 100%; box-sizing: border-box; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-areas: 'plot' 'legend' 'notice' 'table'; } [part='plot'] { grid-area: plot; position: relative; inline-size: 100%; block-size: var(--lr-chart-height, var(--_lr-chart-height, var(--lr-size-280px))); min-inline-size: 0; } [part='data-table'] { grid-area: table; min-inline-size: 0; max-inline-size: 100%; overflow-x: auto; overflow-y: hidden; } [part='data-table'][data-visually-hidden] { position: absolute; inline-size: var(--lr-size-1px); block-size: var(--lr-size-1px); overflow: clip; clip-path: inset(50%); white-space: nowrap; } [part='data-table'] table { max-inline-size: 100%; overflow-wrap: anywhere; } [part='data-truncation'] { grid-area: notice; margin: 0; padding: var(--lr-space-xs); color: var(--lr-color-warning); font-size: var(--lr-font-size-sm); overflow-wrap: anywhere; } [part='legend'] { grid-area: legend; display: flex; flex-wrap: wrap; gap: var(--lr-space-xs); min-inline-size: 0; max-inline-size: 100%; padding-block: var(--lr-space-xs); } [part~='legend-item'] { display: inline-flex; align-items: center; justify-content: center; min-inline-size: var(--lr-icon-button-size); min-block-size: var(--lr-icon-button-size); max-inline-size: 100%; border: 0; border-radius: var(--lr-radius); padding: var(--lr-space-2xs); gap: var(--lr-space-2xs); background: transparent; color: var(--lr-chart-legend-color, var(--_lr-chart-legend-color)); font: inherit; text-align: start; overflow-wrap: anywhere; cursor: pointer; } [part~='legend-item']:where(:hover) { background: var(--lr-chart-legend-item-hover-bg, var(--lr-color-brand-quiet)); } [part~='legend-item']:where(:active) { background: var( --lr-chart-legend-item-active-bg, color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active)) ); } [part~='legend-item']:where(:focus-visible) { outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color); outline-offset: var(--lr-focus-ring-offset); } [part~='legend-item']:where([part~='legend-item-hidden']) { text-decoration-line: line-through; text-decoration-thickness: var(--lr-border-width-medium); } [part='legend-swatch'] { inline-size: var(--lr-space-s); block-size: var(--lr-space-s); flex: 0 0 auto; border-radius: var(--lr-radius-xs); } ${forcedColorLegendSwatchStyles} [part='base']:where([data-legend-position='top']) { grid-template-areas: 'legend' 'plot' 'notice' 'table'; } [part='base']:where([data-legend-position='inline-start']) { grid-template-areas: 'legend plot' 'notice notice' 'table table'; grid-template-columns: minmax(0, min(33cqi, var(--lr-chart-legend-side-max, var(--lr-size-15rem)))) minmax(0, 1fr); } [part='base']:where([data-legend-position='inline-end']) { grid-template-areas: 'plot legend' 'notice notice' 'table table'; grid-template-columns: minmax(0, 1fr) minmax(0, min(33cqi, var(--lr-chart-legend-side-max, var(--lr-size-15rem)))); } @container (max-width: 479px) { [part='base']:where([data-legend-position='inline-start']), [part='base']:where([data-legend-position='inline-end']) { grid-template-areas: 'plot' 'legend' 'notice' 'table'; grid-template-columns: minmax(0, 1fr); } } lr-skeleton { --lr-skeleton-w: 100%; --lr-skeleton-h: var(--lr-chart-height, var(--_lr-chart-height, var(--lr-size-280px))); } canvas { inline-size: 100% !important; block-size: 100% !important; } [part='canvas'] { min-inline-size: var(--lr-icon-button-size); min-block-size: var(--lr-icon-button-size); } [part='canvas']:hover { outline: var(--lr-chart-canvas-hover-outline-width, var(--lr-border-width-thin)) solid var( --lr-chart-canvas-hover-outline-color, var(--lr-chart-grid-color, var(--_lr-chart-grid-color)) ); outline-offset: var(--lr-focus-ring-offset); } [part='canvas']:focus-visible { outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color); outline-offset: var(--lr-focus-ring-offset); } [part='error'] { margin: 0; padding: var(--lr-space-l); color: var(--lr-color-danger); font-size: var(--lr-font-size-md-sm); text-align: center; max-inline-size: 100%; overflow-wrap: anywhere; } [part='data-table-toggle'] { align-self: flex-start; font: inherit; font-size: var(--lr-font-size-xs); min-inline-size: var(--lr-icon-button-size); min-block-size: var(--lr-icon-button-size); padding: var(--lr-size-0-15rem) var(--lr-size-0-5rem); border: var(--lr-border-width-thin) solid var(--lr-color-border); border-radius: var(--lr-radius); background: var(--lr-color-surface); color: var(--lr-color-text); max-inline-size: 100%; white-space: normal; overflow-wrap: break-word; cursor: pointer; } [part='data-table-toggle']:hover { background: var(--lr-box-plot-data-table-toggle-hover-bg, var(--lr-color-brand-quiet)); } [part='data-table-toggle']:active { background: var( --lr-box-plot-data-table-toggle-active-bg, color-mix(in oklab, var(--lr-color-brand-quiet), var(--lr-color-mix-partner) var(--lr-color-mix-active)) ); } [part='data-table-toggle']:focus-visible { outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color); outline-offset: var(--lr-focus-ring-offset); } `;export{styles};
@@ -113,7 +113,17 @@ interface RuntimeChart{data:{labels?:unknown[];datasets:LyraChartDatasetConfigur
113
113
  * component disconnects. */
114
114
  export interface LyraChartInstance extends RuntimeChart{}export type LyraChartDatumKind='bar'|'point'|'segment'|'slice'|'box';type LyraCoreChartDatumKind=Exclude<LyraChartDatumKind,'box'>;
115
115
  /** Input-neutral detail shared by every chart-family `lr-datum-activate` event. */
116
- export interface LyraChartDatumActivateDetail<TKind extends LyraChartDatumKind=LyraChartDatumKind,TValue=unknown>{readonly kind:TKind;readonly datasetIndex:number;readonly index:number;readonly label:string|undefined;readonly value:TValue;}export interface LyraChartEventMap{'lr-point-click':CustomEvent<{datasetIndex:number;index:number;label:string|undefined;value:unknown;}>;'lr-zoom':CustomEvent<{zoomed:boolean;}>;'lr-before-legend-visibility-change':CustomEvent<LyraChartLegendVisibilityChangeDetail>;'lr-legend-visibility-change':CustomEvent<LyraChartLegendVisibilityChangeDetail>;'lr-before-datum-visibility-change':CustomEvent<LyraChartDatumVisibilityChangeDetail>;'lr-datum-visibility-change':CustomEvent<LyraChartDatumVisibilityChangeDetail>;'lr-datum-activate':CustomEvent<LyraChartDatumActivateDetail<LyraCoreChartDatumKind>>;}
116
+ export interface LyraChartDatumActivateDetail<TKind extends LyraChartDatumKind=LyraChartDatumKind,TValue=unknown>{readonly kind:TKind;readonly datasetIndex:number;readonly index:number;readonly label:string|undefined;readonly value:TValue;}export interface LyraChartEventMap{'lr-point-click':CustomEvent<{datasetIndex:number;index:number;label:string|undefined;value:unknown;}>;'lr-zoom':CustomEvent<{zoomed:boolean;}>;
117
+ /** Canonical name for the legend-visibility veto point. */
118
+ 'lr-legend-visibility-change-request':CustomEvent<LyraChartLegendVisibilityChangeDetail>;
119
+ /** Deprecated alias of `lr-legend-visibility-change-request`, kept firing unchanged for
120
+ * back-compat; slated for removal in 21.0.0. */
121
+ 'lr-before-legend-visibility-change':CustomEvent<LyraChartLegendVisibilityChangeDetail>;'lr-legend-visibility-change':CustomEvent<LyraChartLegendVisibilityChangeDetail>;
122
+ /** Canonical name for the datum-visibility veto point. */
123
+ 'lr-datum-visibility-change-request':CustomEvent<LyraChartDatumVisibilityChangeDetail>;
124
+ /** Deprecated alias of `lr-datum-visibility-change-request`, kept firing unchanged for
125
+ * back-compat; slated for removal in 21.0.0. */
126
+ 'lr-before-datum-visibility-change':CustomEvent<LyraChartDatumVisibilityChangeDetail>;'lr-datum-visibility-change':CustomEvent<LyraChartDatumVisibilityChangeDetail>;'lr-datum-activate':CustomEvent<LyraChartDatumActivateDetail<LyraCoreChartDatumKind>>;}
117
127
  /**
118
128
  * `<lr-chart>` — the core Chart.js wrapper used directly and by the typed
119
129
  * Chart.js tags plus `<lr-histogram>`. `<lr-lite-chart>` and `<lr-box-plot>`
@@ -158,14 +168,22 @@ export interface LyraChartDatumActivateDetail<TKind extends LyraChartDatumKind=L
158
168
  * @event lr-datum-activate - Family-normalized activation event. Its detail adds `kind`
159
169
  * (`bar`, `point`, `segment`, or `slice`) to the `lr-point-click` detail. For scatter/bubble
160
170
  * points its `value` is the same `LyraChartPoint`, including a safe primitive `id` when present.
161
- * @event lr-before-legend-visibility-change - Cancelable proposal emitted before a DOM legend
171
+ * @event lr-legend-visibility-change-request - Cancelable proposal emitted before a DOM legend
162
172
  * toggle changes state. `detail` contains the target `datasetIndex`, its proposed `visible`
163
- * value, and the complete canonical proposed `hiddenDatasets` snapshot.
173
+ * value, and the complete canonical proposed `hiddenDatasets` snapshot. Fires before
174
+ * `lr-before-legend-visibility-change`, from the same gesture; either event may veto.
175
+ * @event lr-before-legend-visibility-change - Deprecated cancelable alias of
176
+ * `lr-legend-visibility-change-request`, kept firing unchanged for back-compat; slated for
177
+ * removal in 21.0.0. Same detail.
164
178
  * @event lr-legend-visibility-change - Emitted after an accepted DOM legend toggle commits the
165
179
  * same detail. Programmatic `hiddenDatasets` changes reconcile without either event.
166
- * @event lr-before-datum-visibility-change - Cancelable category visibility proposal in datum
180
+ * @event lr-datum-visibility-change-request - Cancelable category visibility proposal in datum
167
181
  * legend mode. `detail: { index: number, visible: boolean, hiddenDatums: readonly number[] }`.
168
- * Source category indexes apply to every dataset/ring. The complete detail is frozen.
182
+ * Source category indexes apply to every dataset/ring. The complete detail is frozen. Fires
183
+ * before `lr-before-datum-visibility-change`, from the same gesture; either event may veto.
184
+ * @event lr-before-datum-visibility-change - Deprecated cancelable alias of
185
+ * `lr-datum-visibility-change-request`, kept firing unchanged for back-compat; slated for
186
+ * removal in 21.0.0. Same frozen detail.
169
187
  * @event lr-datum-visibility-change - Emitted after an accepted category toggle commits the same
170
188
  * frozen detail. Programmatic `hiddenDatums` assignments are silent.
171
189
  * @csspart base - The chart wrapper.