@aceshooting/lyra-ui 7.7.0 → 7.8.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 (296) hide show
  1. package/CHANGELOG.md +279 -0
  2. package/custom-elements.json +5954 -4329
  3. package/dist/components/agent-tools/artifact-panel/artifact-panel.class.d.ts +4 -0
  4. package/dist/components/agent-tools/artifact-panel/artifact-panel.class.d.ts.map +1 -1
  5. package/dist/components/agent-tools/artifact-panel/artifact-panel.class.js +11 -4
  6. package/dist/components/agent-tools/artifact-panel/artifact-panel.class.js.map +1 -1
  7. package/dist/components/agent-tools/browser-frame/browser-frame.class.d.ts +4 -0
  8. package/dist/components/agent-tools/browser-frame/browser-frame.class.d.ts.map +1 -1
  9. package/dist/components/agent-tools/browser-frame/browser-frame.class.js +13 -4
  10. package/dist/components/agent-tools/browser-frame/browser-frame.class.js.map +1 -1
  11. package/dist/components/agent-tools/commit-card/commit-card.class.d.ts +4 -0
  12. package/dist/components/agent-tools/commit-card/commit-card.class.d.ts.map +1 -1
  13. package/dist/components/agent-tools/commit-card/commit-card.class.js +10 -3
  14. package/dist/components/agent-tools/commit-card/commit-card.class.js.map +1 -1
  15. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +6 -0
  16. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts.map +1 -1
  17. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +6 -0
  18. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js.map +1 -1
  19. package/dist/components/agent-tools/mcp-app/mcp-app.class.js +1 -1
  20. package/dist/components/agent-tools/mcp-app/mcp-app.class.js.map +1 -1
  21. package/dist/components/agent-tools/stack-trace/stack-trace.class.d.ts.map +1 -1
  22. package/dist/components/agent-tools/stack-trace/stack-trace.class.js +8 -1
  23. package/dist/components/agent-tools/stack-trace/stack-trace.class.js.map +1 -1
  24. package/dist/components/agent-tools/terminal/terminal.class.d.ts +8 -2
  25. package/dist/components/agent-tools/terminal/terminal.class.d.ts.map +1 -1
  26. package/dist/components/agent-tools/terminal/terminal.class.js +12 -4
  27. package/dist/components/agent-tools/terminal/terminal.class.js.map +1 -1
  28. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts.map +1 -1
  29. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +2 -1
  30. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js.map +1 -1
  31. package/dist/components/charts/chart/box-plot.styles.d.ts.map +1 -1
  32. package/dist/components/charts/chart/box-plot.styles.js +4 -0
  33. package/dist/components/charts/chart/box-plot.styles.js.map +1 -1
  34. package/dist/components/charts/chart/chart.styles.d.ts.map +1 -1
  35. package/dist/components/charts/chart/chart.styles.js +6 -0
  36. package/dist/components/charts/chart/chart.styles.js.map +1 -1
  37. package/dist/components/charts/chart/lite-chart.class.d.ts.map +1 -1
  38. package/dist/components/charts/chart/lite-chart.class.js +3 -2
  39. package/dist/components/charts/chart/lite-chart.class.js.map +1 -1
  40. package/dist/components/conversation/code-block/code-block-shared.d.ts.map +1 -1
  41. package/dist/components/conversation/code-block/code-block-shared.js +9 -1
  42. package/dist/components/conversation/code-block/code-block-shared.js.map +1 -1
  43. package/dist/components/conversation/conversation-item/conversation-item.class.d.ts.map +1 -1
  44. package/dist/components/conversation/conversation-item/conversation-item.class.js +2 -1
  45. package/dist/components/conversation/conversation-item/conversation-item.class.js.map +1 -1
  46. package/dist/components/conversation/markdown/markdown-core.class.d.ts.map +1 -1
  47. package/dist/components/conversation/markdown/markdown-core.class.js +2 -1
  48. package/dist/components/conversation/markdown/markdown-core.class.js.map +1 -1
  49. package/dist/components/conversation/markdown/markdown-shared.d.ts +6 -1
  50. package/dist/components/conversation/markdown/markdown-shared.d.ts.map +1 -1
  51. package/dist/components/conversation/markdown/markdown-shared.js +6 -3
  52. package/dist/components/conversation/markdown/markdown-shared.js.map +1 -1
  53. package/dist/components/conversation/markdown/markdown.class.d.ts.map +1 -1
  54. package/dist/components/conversation/markdown/markdown.class.js +2 -1
  55. package/dist/components/conversation/markdown/markdown.class.js.map +1 -1
  56. package/dist/components/conversation/message-actions/message-actions.class.d.ts.map +1 -1
  57. package/dist/components/conversation/message-actions/message-actions.class.js +2 -1
  58. package/dist/components/conversation/message-actions/message-actions.class.js.map +1 -1
  59. package/dist/components/conversation/realtime-session/realtime-session.class.d.ts.map +1 -1
  60. package/dist/components/conversation/realtime-session/realtime-session.class.js +2 -1
  61. package/dist/components/conversation/realtime-session/realtime-session.class.js.map +1 -1
  62. package/dist/components/conversation/suggestion-chips/suggestion-chips.class.d.ts.map +1 -1
  63. package/dist/components/conversation/suggestion-chips/suggestion-chips.class.js +2 -1
  64. package/dist/components/conversation/suggestion-chips/suggestion-chips.class.js.map +1 -1
  65. package/dist/components/conversation/thread-list/thread-list.class.d.ts.map +1 -1
  66. package/dist/components/conversation/thread-list/thread-list.class.js +2 -1
  67. package/dist/components/conversation/thread-list/thread-list.class.js.map +1 -1
  68. package/dist/components/conversation/voice-picker/voice-picker.class.d.ts.map +1 -1
  69. package/dist/components/conversation/voice-picker/voice-picker.class.js +2 -1
  70. package/dist/components/conversation/voice-picker/voice-picker.class.js.map +1 -1
  71. package/dist/components/data/calendar/calendar.styles.d.ts.map +1 -1
  72. package/dist/components/data/calendar/calendar.styles.js +6 -1
  73. package/dist/components/data/calendar/calendar.styles.js.map +1 -1
  74. package/dist/components/data/document-library/document-library.class.d.ts +6 -0
  75. package/dist/components/data/document-library/document-library.class.d.ts.map +1 -1
  76. package/dist/components/data/document-library/document-library.class.js +7 -0
  77. package/dist/components/data/document-library/document-library.class.js.map +1 -1
  78. package/dist/components/data/env-list/env-list.class.d.ts.map +1 -1
  79. package/dist/components/data/env-list/env-list.class.js +2 -1
  80. package/dist/components/data/env-list/env-list.class.js.map +1 -1
  81. package/dist/components/data/heatmap/heatmap.class.d.ts +4 -0
  82. package/dist/components/data/heatmap/heatmap.class.d.ts.map +1 -1
  83. package/dist/components/data/heatmap/heatmap.class.js +9 -3
  84. package/dist/components/data/heatmap/heatmap.class.js.map +1 -1
  85. package/dist/components/data/query-builder/query-builder.class.d.ts +4 -0
  86. package/dist/components/data/query-builder/query-builder.class.d.ts.map +1 -1
  87. package/dist/components/data/query-builder/query-builder.class.js +10 -2
  88. package/dist/components/data/query-builder/query-builder.class.js.map +1 -1
  89. package/dist/components/data/table/table.class.d.ts.map +1 -1
  90. package/dist/components/data/table/table.class.js +11 -5
  91. package/dist/components/data/table/table.class.js.map +1 -1
  92. package/dist/components/data/table/table.styles.d.ts.map +1 -1
  93. package/dist/components/data/table/table.styles.js +4 -1
  94. package/dist/components/data/table/table.styles.js.map +1 -1
  95. package/dist/components/data/timeline/timeline.class.d.ts +3 -1
  96. package/dist/components/data/timeline/timeline.class.d.ts.map +1 -1
  97. package/dist/components/data/timeline/timeline.class.js +9 -3
  98. package/dist/components/data/timeline/timeline.class.js.map +1 -1
  99. package/dist/components/data/timeline/timeline.styles.d.ts.map +1 -1
  100. package/dist/components/data/timeline/timeline.styles.js +10 -5
  101. package/dist/components/data/timeline/timeline.styles.js.map +1 -1
  102. package/dist/components/data/tree/tree.class.d.ts +4 -0
  103. package/dist/components/data/tree/tree.class.d.ts.map +1 -1
  104. package/dist/components/data/tree/tree.class.js +18 -7
  105. package/dist/components/data/tree/tree.class.js.map +1 -1
  106. package/dist/components/data/word-cloud/word-cloud.class.d.ts +4 -0
  107. package/dist/components/data/word-cloud/word-cloud.class.d.ts.map +1 -1
  108. package/dist/components/data/word-cloud/word-cloud.class.js +7 -1
  109. package/dist/components/data/word-cloud/word-cloud.class.js.map +1 -1
  110. package/dist/components/forms/radio/radio-group.class.d.ts.map +1 -1
  111. package/dist/components/forms/radio/radio-group.class.js +6 -1
  112. package/dist/components/forms/radio/radio-group.class.js.map +1 -1
  113. package/dist/components/forms/radio/radio.class.d.ts.map +1 -1
  114. package/dist/components/forms/radio/radio.class.js +5 -0
  115. package/dist/components/forms/radio/radio.class.js.map +1 -1
  116. package/dist/components/layout/command-palette/command-palette.class.d.ts +7 -0
  117. package/dist/components/layout/command-palette/command-palette.class.d.ts.map +1 -1
  118. package/dist/components/layout/command-palette/command-palette.class.js +45 -7
  119. package/dist/components/layout/command-palette/command-palette.class.js.map +1 -1
  120. package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts +3 -0
  121. package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts.map +1 -1
  122. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +21 -3
  123. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js.map +1 -1
  124. package/dist/components/layout/segmented/segmented.class.d.ts +3 -1
  125. package/dist/components/layout/segmented/segmented.class.d.ts.map +1 -1
  126. package/dist/components/layout/segmented/segmented.class.js +11 -5
  127. package/dist/components/layout/segmented/segmented.class.js.map +1 -1
  128. package/dist/components/layout/segmented/segmented.styles.d.ts.map +1 -1
  129. package/dist/components/layout/segmented/segmented.styles.js +12 -6
  130. package/dist/components/layout/segmented/segmented.styles.js.map +1 -1
  131. package/dist/components/layout/stepper/stepper.class.d.ts +1 -0
  132. package/dist/components/layout/stepper/stepper.class.d.ts.map +1 -1
  133. package/dist/components/layout/stepper/stepper.class.js +10 -6
  134. package/dist/components/layout/stepper/stepper.class.js.map +1 -1
  135. package/dist/components/layout/stepper/stepper.styles.d.ts.map +1 -1
  136. package/dist/components/layout/stepper/stepper.styles.js +28 -12
  137. package/dist/components/layout/stepper/stepper.styles.js.map +1 -1
  138. package/dist/components/layout/tabs/tabs.class.d.ts +3 -1
  139. package/dist/components/layout/tabs/tabs.class.d.ts.map +1 -1
  140. package/dist/components/layout/tabs/tabs.class.js +10 -4
  141. package/dist/components/layout/tabs/tabs.class.js.map +1 -1
  142. package/dist/components/layout/tabs/tabs.styles.d.ts.map +1 -1
  143. package/dist/components/layout/tabs/tabs.styles.js +10 -5
  144. package/dist/components/layout/tabs/tabs.styles.js.map +1 -1
  145. package/dist/components/layout/virtual-list/virtual-list.class.d.ts +16 -0
  146. package/dist/components/layout/virtual-list/virtual-list.class.d.ts.map +1 -1
  147. package/dist/components/layout/virtual-list/virtual-list.class.js +26 -7
  148. package/dist/components/layout/virtual-list/virtual-list.class.js.map +1 -1
  149. package/dist/components/layout/widget/widget.styles.d.ts.map +1 -1
  150. package/dist/components/layout/widget/widget.styles.js +7 -0
  151. package/dist/components/layout/widget/widget.styles.js.map +1 -1
  152. package/dist/components/media/attachment-chip/attachment-chip.class.d.ts.map +1 -1
  153. package/dist/components/media/attachment-chip/attachment-chip.class.js +5 -1
  154. package/dist/components/media/attachment-chip/attachment-chip.class.js.map +1 -1
  155. package/dist/components/media/av-player/av-player.class.d.ts +8 -4
  156. package/dist/components/media/av-player/av-player.class.d.ts.map +1 -1
  157. package/dist/components/media/av-player/av-player.class.js +14 -8
  158. package/dist/components/media/av-player/av-player.class.js.map +1 -1
  159. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts.map +1 -1
  160. package/dist/components/media/zoomable-frame/zoomable-frame.class.js +2 -2
  161. package/dist/components/media/zoomable-frame/zoomable-frame.class.js.map +1 -1
  162. package/dist/components/overlays/progress/progress-ring.class.d.ts.map +1 -1
  163. package/dist/components/overlays/progress/progress-ring.class.js +6 -0
  164. package/dist/components/overlays/progress/progress-ring.class.js.map +1 -1
  165. package/dist/components/overlays/rating/rating.styles.d.ts.map +1 -1
  166. package/dist/components/overlays/rating/rating.styles.js +5 -1
  167. package/dist/components/overlays/rating/rating.styles.js.map +1 -1
  168. package/dist/components/retrieval/citation-badge/citation-badge.styles.d.ts.map +1 -1
  169. package/dist/components/retrieval/citation-badge/citation-badge.styles.js +5 -0
  170. package/dist/components/retrieval/citation-badge/citation-badge.styles.js.map +1 -1
  171. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts +18 -1
  172. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.d.ts.map +1 -1
  173. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +30 -3
  174. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js.map +1 -1
  175. package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.d.ts.map +1 -1
  176. package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +8 -1
  177. package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js.map +1 -1
  178. package/dist/components/retrieval/entity-chip/entity-chip.styles.d.ts.map +1 -1
  179. package/dist/components/retrieval/entity-chip/entity-chip.styles.js +4 -0
  180. package/dist/components/retrieval/entity-chip/entity-chip.styles.js.map +1 -1
  181. package/dist/components/retrieval/graph/graph.class.d.ts.map +1 -1
  182. package/dist/components/retrieval/graph/graph.class.js +2 -1
  183. package/dist/components/retrieval/graph/graph.class.js.map +1 -1
  184. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts.map +1 -1
  185. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +2 -1
  186. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js.map +1 -1
  187. package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +25 -0
  188. package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts.map +1 -1
  189. package/dist/components/retrieval/memory-panel/memory-panel.class.js +71 -1
  190. package/dist/components/retrieval/memory-panel/memory-panel.class.js.map +1 -1
  191. package/dist/components/retrieval/node-palette/node-palette.class.d.ts.map +1 -1
  192. package/dist/components/retrieval/node-palette/node-palette.class.js +2 -1
  193. package/dist/components/retrieval/node-palette/node-palette.class.js.map +1 -1
  194. package/dist/components/retrieval/path-strip/path-strip.class.d.ts.map +1 -1
  195. package/dist/components/retrieval/path-strip/path-strip.class.js +2 -1
  196. package/dist/components/retrieval/path-strip/path-strip.class.js.map +1 -1
  197. package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts.map +1 -1
  198. package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +2 -5
  199. package/dist/components/retrieval/retrieval-results/retrieval-results.class.js.map +1 -1
  200. package/dist/components/retrieval/source-picker/source-picker.class.d.ts.map +1 -1
  201. package/dist/components/retrieval/source-picker/source-picker.class.js +2 -1
  202. package/dist/components/retrieval/source-picker/source-picker.class.js.map +1 -1
  203. package/dist/components/utility/export-button/export-button.class.d.ts.map +1 -1
  204. package/dist/components/utility/export-button/export-button.class.js +3 -2
  205. package/dist/components/utility/export-button/export-button.class.js.map +1 -1
  206. package/dist/components/utility/known-date/known-date.class.d.ts.map +1 -1
  207. package/dist/components/utility/known-date/known-date.class.js +2 -1
  208. package/dist/components/utility/known-date/known-date.class.js.map +1 -1
  209. package/dist/components/utility/mention-popover/mention-popover.class.d.ts.map +1 -1
  210. package/dist/components/utility/mention-popover/mention-popover.class.js +2 -1
  211. package/dist/components/utility/mention-popover/mention-popover.class.js.map +1 -1
  212. package/dist/components/utility/tour/tour.class.d.ts.map +1 -1
  213. package/dist/components/utility/tour/tour.class.js +5 -0
  214. package/dist/components/utility/tour/tour.class.js.map +1 -1
  215. package/dist/components/viewers/csv-viewer/csv-viewer.class.js +1 -1
  216. package/dist/components/viewers/csv-viewer/csv-viewer.class.js.map +1 -1
  217. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +1 -1
  218. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js.map +1 -1
  219. package/dist/components/viewers/document-preview/document-preview.class.d.ts.map +1 -1
  220. package/dist/components/viewers/document-preview/document-preview.class.js +4 -1
  221. package/dist/components/viewers/document-preview/document-preview.class.js.map +1 -1
  222. package/dist/components/viewers/document-preview/document-preview.styles.js +2 -2
  223. package/dist/components/viewers/docx-viewer/docx-viewer.class.js +2 -2
  224. package/dist/components/viewers/docx-viewer/docx-viewer.class.js.map +1 -1
  225. package/dist/components/viewers/email-viewer/email-viewer.class.d.ts.map +1 -1
  226. package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -1
  227. package/dist/components/viewers/email-viewer/email-viewer.class.js.map +1 -1
  228. package/dist/components/viewers/highlight-layer/highlight-layer.class.d.ts.map +1 -1
  229. package/dist/components/viewers/highlight-layer/highlight-layer.class.js +2 -1
  230. package/dist/components/viewers/highlight-layer/highlight-layer.class.js.map +1 -1
  231. package/dist/components/viewers/include/include.class.d.ts.map +1 -1
  232. package/dist/components/viewers/include/include.class.js +6 -1
  233. package/dist/components/viewers/include/include.class.js.map +1 -1
  234. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts +16 -2
  235. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts.map +1 -1
  236. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +36 -12
  237. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js.map +1 -1
  238. package/dist/components/viewers/page-rail/page-rail.class.d.ts.map +1 -1
  239. package/dist/components/viewers/page-rail/page-rail.class.js +2 -1
  240. package/dist/components/viewers/page-rail/page-rail.class.js.map +1 -1
  241. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +3 -0
  242. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts.map +1 -1
  243. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +5 -2
  244. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js.map +1 -1
  245. package/dist/components/viewers/pdf-viewer/pdf-viewer.styles.js +1 -1
  246. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.d.ts.map +1 -1
  247. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +6 -1
  248. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js.map +1 -1
  249. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +1 -1
  250. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js.map +1 -1
  251. package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +8 -2
  252. package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts.map +1 -1
  253. package/dist/components/viewers/xml-viewer/xml-viewer.class.js +19 -7
  254. package/dist/components/viewers/xml-viewer/xml-viewer.class.js.map +1 -1
  255. package/dist/internal/active-element.d.ts +42 -0
  256. package/dist/internal/active-element.d.ts.map +1 -0
  257. package/dist/internal/active-element.js +60 -0
  258. package/dist/internal/active-element.js.map +1 -0
  259. package/dist/internal/anchor-target.d.ts.map +1 -1
  260. package/dist/internal/anchor-target.js +7 -1
  261. package/dist/internal/anchor-target.js.map +1 -1
  262. package/dist/internal/lyra-element.d.ts +18 -6
  263. package/dist/internal/lyra-element.d.ts.map +1 -1
  264. package/dist/internal/lyra-element.js +35 -15
  265. package/dist/internal/lyra-element.js.map +1 -1
  266. package/dist/internal/overlay-manager.d.ts.map +1 -1
  267. package/dist/internal/overlay-manager.js +2 -8
  268. package/dist/internal/overlay-manager.js.map +1 -1
  269. package/dist/internal/scroll-overflow.d.ts +60 -0
  270. package/dist/internal/scroll-overflow.d.ts.map +1 -0
  271. package/dist/internal/scroll-overflow.js +90 -0
  272. package/dist/internal/scroll-overflow.js.map +1 -0
  273. package/dist/internal/text-quote.d.ts +15 -0
  274. package/dist/internal/text-quote.d.ts.map +1 -1
  275. package/dist/internal/text-quote.js +13 -6
  276. package/dist/internal/text-quote.js.map +1 -1
  277. package/dist/internal/text-viewer-target.d.ts +0 -6
  278. package/dist/internal/text-viewer-target.d.ts.map +1 -1
  279. package/dist/internal/text-viewer-target.js +68 -21
  280. package/dist/internal/text-viewer-target.js.map +1 -1
  281. package/dist/internal/tokens.styles.d.ts.map +1 -1
  282. package/dist/internal/tokens.styles.js +17 -0
  283. package/dist/internal/tokens.styles.js.map +1 -1
  284. package/llms/components/lr-chat-viewport.md +2 -2
  285. package/llms/components/lr-embedding-explorer.md +8 -3
  286. package/llms/components/lr-memory-panel.md +11 -2
  287. package/llms/components/lr-notebook-viewer.md +4 -1
  288. package/llms/components/lr-pdf-viewer.md +6 -3
  289. package/llms/components/lr-segmented.md +3 -2
  290. package/llms/components/lr-usage-badge.md +1 -1
  291. package/llms/tokens.md +2 -1
  292. package/llms-full.txt +32 -11
  293. package/package.json +40 -38
  294. package/vscode-css-data.json +16 -2
  295. package/vscode-html-data.json +10 -10
  296. package/web-types.json +21 -13
package/CHANGELOG.md CHANGED
@@ -1,5 +1,284 @@
1
1
  # Changelog
2
2
 
3
+ ## 7.8.1
4
+
5
+ ### Patch Changes
6
+
7
+ - d699c7c: Stop letting a throwing `ShadowRoot.activeElement` getter escape a component. `ShadowRoot.activeElement`
8
+ is not universally safe to read: under happy-dom 20.11.1 — the DOM a large share of consumers get by
9
+ default from Vitest — that getter _itself_ throws `TypeError: Cannot read properties of undefined
10
+ (reading 'getRootNode')` whenever the document has no active element. Optional chaining was no
11
+ defence, because `root?.activeElement` only guards `root` being nullish and the throw happens
12
+ _inside_ the getter, after `?.` has already decided to proceed.
13
+
14
+ Because these reads live in `willUpdate()` and in keydown handlers, the symptom was not a failed
15
+ assertion but an _unhandled rejection_: one downstream suite reported 120 in a single run, all the
16
+ same stack, from an `<lr-segmented>` re-rendering after its items changed. The suite still passed
17
+ while the runner exited non-zero, and the stack pointed at library internals rather than anything
18
+ the consumer wrote.
19
+
20
+ Reported against `<lr-segmented>`, but a sweep found the same read at **every** focus-rehoming,
21
+ roving-tabindex and focus-restoration site in the library — 30 modules across 11 families, including
22
+ `<lr-tabs>`, `<lr-stepper>`, `<lr-table>`, `<lr-tree>`, `<lr-graph>`, `<lr-combobox>`'s siblings and
23
+ the shared overlay manager. All of them now read through a new internal helper that returns `null`
24
+ instead of throwing; `<lr-tree>`'s nested-shadow-root walk was the worst case, reading the raw
25
+ getter in its _loop condition_ where a guard on the assignment alone would not have helped.
26
+
27
+ Returning `null` is the honest answer: a DOM that cannot say what is focused is indistinguishable,
28
+ for these call sites, from one where nothing is — and every one of them already handles that as the
29
+ ordinary state, so the guard degrades to skipping focus restoration. Real browsers never take the
30
+ catch, so behavior there is unchanged.
31
+
32
+ - 21b1051: Declare `flag-peer.js` in `package.json#sideEffects`, so `<lr-flag>` still resolves images in a
33
+ production build. `sideEffects` is an explicit allowlist, and every entry in it was derived from a
34
+ `*.class.ts` file's sibling registration module. `flag-peer.ts` has no `*.class.ts` of its own, so
35
+ neither the generator nor the completeness check ever visited it and it shipped undeclared. It is a
36
+ side-effect-only module — a consumer writes a bare `import '.../flag-peer.js'` and reads no export
37
+ — so any bundler honoring `sideEffects` dropped it outright. `setFlagUrlResolver()` then never ran,
38
+ `loadFlagUrlResolver()` cached `Promise.resolve(null)`, and every `<lr-flag>` given a
39
+ `country`/`language` rendered the localized "flag unavailable" alert instead of an image. Silently:
40
+ that null-resolver path logs nothing, and dev servers don't tree-shake, so it only ever appeared in
41
+ a built artifact.
42
+
43
+ Both scripts now derive `*-peer.ts` and `*-register.ts` modules, plus the per-family
44
+ `components/<family>/index.ts` barrels, straight from the file tree rather than carrying them over
45
+ from the previous `package.json` — so a rename or a family move can't strand an entry again. The
46
+ completeness check fails on the missing `flag-peer` entries before the fix and passes after.
47
+
48
+ - 899543f: Centre content that a hit-area floor makes narrower than its own box, in `<lr-calendar>`,
49
+ `<lr-citation-badge>`, `<lr-entity-chip>`, `<lr-rating>` and the `<lr-chart>` / box-plot legend
50
+ items. These carry the same defect reported against `<lr-widget>`'s view toggle: a flex part with a
51
+ `min-inline-size: var(--lr-icon-button-size)` floor (a WCAG 2.5.8 tappable-size requirement, not a
52
+ layout intent) but no `justify-content`, so whenever the content is narrower than that floor the
53
+ default `justify-content: normal` — resolving to `flex-start` — dumps every pixel of slack on the
54
+ trailing side.
55
+
56
+ `<lr-calendar>` was the most visible: its month-nav buttons hold a single chevron glyph and rendered
57
+ **8.8px** off centre, sitting right next to a symmetric month title. `<lr-citation-badge>` left its
58
+ one- or two-digit number hugging the badge's leading edge, and `<lr-entity-chip>` did the same to a
59
+ short entity label inside an otherwise symmetric pill.
60
+
61
+ Adding `justify-content: center` only changes rendering in precisely the buggy case: once content
62
+ already fills or exceeds the floor there is no slack left to redistribute and the declaration is a
63
+ no-op, so every component whose content was already wide enough renders exactly as before. The chart
64
+ legends were checked for the overflow case specifically — long series names wrap rather than
65
+ overflow, and both legends are wrapping horizontal rows, so per-item centring cannot make a column
66
+ of items ragged.
67
+
68
+ The sweep also cleared roughly ten other parts carrying the same floor where `flex-start` is
69
+ correct — full-width header and list rows, whose content should start-align regardless.
70
+
71
+ Rendered-geometry regression tests (measuring the glyph's centre against its button's) cover
72
+ `<lr-widget>` and `<lr-calendar>`; both reproduce the offset without the fix, the widget one at the
73
+ same 4.5px the report cited.
74
+
75
+ - 8a67993: Stop driving mask alpha from `--lr-color-shadow` in `<lr-segmented>`, `<lr-tabs>`, `<lr-stepper>`,
76
+ `<lr-timeline>` and `<lr-document-preview>`. All five used `var(--lr-color-shadow)` for the
77
+ _opaque_ stops of a `mask-image` gradient — 22 references across 12 declarations. A mask reads
78
+ alpha only, but that token is a documented consumer theming input (`--lr-theme-color-shadow`) whose
79
+ job is coloring shadows: setting it to something translucent such as `rgb(0 0 0 / 0.25)`, entirely
80
+ reasonable for a shadow color, silently dropped the mask alpha across the _entire_ element rather
81
+ than just its edges. Every affected component then rendered uniformly washed out — indistinguishable
82
+ from a broken disabled state, with nothing pointing back at the shadow token as the cause. It worked
83
+ only because that token's default happens to be opaque black.
84
+
85
+ The opaque stops now use a new `--lr-mask-opaque`, declared in the internal tokens sheet.
86
+ Deliberately **not** themeable and deliberately not a second alias of the shadow token: "opaque" is
87
+ not a design decision a consumer tunes — a mask's opaque stop must be opaque by definition — so
88
+ giving it its own `--lr-theme-*` hook would just reintroduce the same footgun under a new name.
89
+
90
+ `<lr-document-preview>`'s determinate progress ring was the least obvious casualty: its mask punches
91
+ the ring's centre out, so a translucent shadow theme faded the whole ring rather than cutting a hole
92
+ in it.
93
+
94
+ Regression-tested in all five components by rendering under `--lr-theme-color-shadow: rgb(0 0 0 /
95
+ 0.25)` and asserting the resolved computed mask, which reproduces `rgba(0, 0, 0, 0.25)` at the
96
+ opaque stops without the fix.
97
+
98
+ - 8a67993: Paint the horizontal edge fade only while the track actually overflows, in `<lr-segmented>`,
99
+ `<lr-tabs>`, `<lr-stepper>`, and `<lr-timeline>`. All four applied their `--lr-scroll-fade-size`
100
+ `mask-image` unconditionally, described in-code as an intentionally static, observer-free
101
+ affordance. That is only harmless when there _is_ overflow. On a track that fits, the fade is pure
102
+ damage: at the `2rem`-per-edge default a two-option `<lr-segmented>` (`Overall | Daily`) is
103
+ narrower than its own two fades, so both labels rendered half-transparent and the control read as
104
+ permanently disabled; a short `<lr-tabs>` row dimmed its first and last tab for no reason.
105
+
106
+ A new internal `ScrollOverflowController` measures `scrollWidth` vs `clientWidth` and toggles a
107
+ `data-scroll-overflow` attribute on the track (inside the shadow root — not consumer-visible DOM),
108
+ which now gates each mask rule. It re-measures from two sources, because they catch different
109
+ changes: a `ResizeObserver` on the track for container resizes, and the host's own update cycle for
110
+ content changes, which need not alter the track's border box at all. Overflowing tracks keep
111
+ exactly their previous rendering.
112
+
113
+ Note for anyone spying on `ResizeObserver` construction: `<lr-stepper>` now arms one of its own
114
+ regardless of the `orientationBreakpoint` feature.
115
+
116
+ - 899543f: Center the glyph in an icon-only `<lr-widget>` view toggle. `[part="view-toggle"]` set
117
+ `align-items: center` but no `justify-content`, unlike the sibling `collapse-button` /
118
+ `fullscreen-button` rules, which set both. `min-inline-size` floors the pill at the square
119
+ icon-button size, so a 13px glyph inside a 40px pill has slack that the default
120
+ `justify-content: normal` (→ `flex-start`) dumps entirely on the trailing side — measured 4.5px off
121
+ true center once the asymmetric inline padding is counted, and plainly visible as an off-center
122
+ icon in a round toggle. A labeled toggle was never affected: its content already fills a pill that
123
+ sizes to fit.
124
+
125
+ ## 7.8.0
126
+
127
+ ### Minor Changes
128
+
129
+ - 2c3934b: `<lr-embedding-explorer>`'s `height` property now actually sizes the plot. It was rendered as an
130
+ SVG `height` presentation attribute while the component's own stylesheet declared
131
+ `[part='plot'] { block-size: auto }` — and any stylesheet declaration outranks a presentation
132
+ attribute, so the property was inert at every value, including its documented `360px` default: the
133
+ plot always sized itself from the `viewBox` aspect ratio instead.
134
+
135
+ `height` is now published on the host as the new `--lr-embedding-explorer-height` custom property,
136
+ which `[part='plot']`'s `block-size` reads. Consequences worth knowing before upgrading:
137
+
138
+ - The default `height="360px"` now takes effect, so a plot wider than 640px is no longer as tall as
139
+ its allocation implies. Set `height="auto"` to keep the previous aspect-ratio-preserved sizing.
140
+ - A value the browser cannot parse as a `block-size` is dropped rather than applied, leaving the
141
+ `auto` behavior instead of collapsing the plot.
142
+ - A consumer's own `::part(plot) { block-size: ... }` rule still overrides `height`, and the
143
+ narrow-allocation `min-block-size` floor still raises it.
144
+
145
+ - 2c3934b: `<lr-memory-panel>` no longer strands keyboard focus when a row action opens its confirmation step.
146
+ Activating "Add to long-term memory", "Remove", or "Forget all" destroys the button that had focus,
147
+ and nothing moved focus into the `lr-confirm-bar` that replaces it, so focus fell back to `<body>`:
148
+ a keyboard user was dumped at the top of the page with nothing announced, and had to re-tab through
149
+ the whole document to reach the confirmation they had just opened. Focus now moves into the
150
+ confirmation (its Deny control -- the safe action -- falling back to the bar's status element), and
151
+ is handed back to the row (or to the "Forget all" control) once the decision resolves. Pressing
152
+ Escape while the confirmation holds focus now cancels it exactly like pressing Deny: no event is
153
+ emitted, focus returns the same way, and the key does not propagate past the panel.
154
+ - 2c3934b: `<lr-notebook-viewer>`: `searchNext()` and `searchPrevious()` now resolve `true` when the active
155
+ match moved and `false` when there was nothing to move to, matching the shared viewer search
156
+ contract (`LyraTextViewerTarget`) that every other searchable viewer already honors. They
157
+ previously returned nothing, so a find-in-page host driving several viewers polymorphically —
158
+ `if (await viewer.searchNext()) { ... }`, or awaiting the call before reading its own match
159
+ counter — got `undefined` from the notebook viewer alone and took its falsy "no more matches"
160
+ branch on every press, even mid-notebook.
161
+
162
+ This is an additive widening: the methods return a resolved promise instead of nothing, and callers
163
+ that ignored the return value are unaffected. `search()` already resolved the match count and is
164
+ unchanged.
165
+
166
+ - 80e0ef1: Repair four regressions left by earlier fixes:
167
+
168
+ - `<lr-radio-group>`: arrow-key selection now emits `input` and `change` alongside `lr-change`, as
169
+ click and Space already did and as native `<input type=radio>` does. The earlier fix for a
170
+ duplicate `lr-change` had left the keyboard path emitting only the group event, so a consumer
171
+ bound to the native-mirroring events silently missed every keyboard selection.
172
+ - `<lr-progress-ring>`: an unslotted ring is named from the localized fallback again. Its slot's
173
+ fallback content is the formatted percent, and `assignedNodes({flatten:true})` returns fallback
174
+ children when nothing is assigned, so the control had been naming itself "40%" and no
175
+ `registerLyraLocale()` override could reach it.
176
+ - `<lr-tour>`: opening a detached tour no longer locks scroll on the document or installs a global
177
+ Escape handler with nothing visible, matching the guard `<lr-dialog>` already had.
178
+ - `text-quote` anchors and highlights now case-fold with the component's locale in
179
+ `<lr-docx-viewer>`, `<lr-pdf-viewer>`, `<lr-markdown>` and `<lr-markdown-core>`. Under `lang="tr"`
180
+ a quote of "istanbul" silently failed to match "İSTANBUL" in these four while resolving correctly
181
+ in every viewer built on the shared text-viewer mixin.
182
+
183
+ - d8a026d: Give `<lr-table>`'s sorted column header an opaque default fill. The header is `position: sticky`
184
+ and the sorted-state rule defaulted to `transparent`, so in any height-capped table the body rows
185
+ scrolled visibly through the sorted column's header cell.
186
+
187
+ Give `<lr-pdf-viewer>`'s toolbar buttons a hover fill that differs from the toolbar behind them —
188
+ the rule existed but resolved to the toolbar's own opaque token, so hovering produced no visual
189
+ change at all. Retunable via the new `--lr-pdf-viewer-toolbar-button-hover-bg`.
190
+
191
+ Correct three `<lr-chat-message>` snippets in the authored reference that used `role="user"`. The
192
+ property reflects to `data-role`, so `role` was never observed: consumers copying those examples
193
+ got a message rendered as the default `assistant`, plus an invalid ARIA role token in the DOM.
194
+
195
+ - 2c3934b: `<lr-xml-viewer>`, `<lr-av-player>`, and `<lr-terminal>` now resolve a boolean from `searchNext()`
196
+ and `searchPrevious()`, matching the shared `LyraTextViewerTarget` search contract that
197
+ `search()` already followed on all three. They returned `void`, so a host driving several
198
+ searchable components through that one typed surface — `if (await viewer.searchNext())` — read
199
+ `undefined` and took the "nothing to move to" branch on every press.
200
+
201
+ ### Patch Changes
202
+
203
+ - ed7f463: Stop retaining one live `Range` per search match in every text viewer. `<lr-archive-viewer>`,
204
+ `<lr-calendar-viewer>`, `<lr-contact-viewer>`, `<lr-email-viewer>`, `<lr-geojson-view>`,
205
+ `<lr-html-viewer>`, `<lr-include>`, and `<lr-pptx-viewer>` share a search mixin that held a live
206
+ `Range` for every match. The engine revalidates each retained `Range` on every DOM mutation in its
207
+ document, so a short query over a long document made every later mutation dramatically slower.
208
+ Matches are now kept as inert offsets, and only a bounded window around the active match is
209
+ materialized and painted. `matchCount`, `searchNext()`, and `searchPrevious()` still cover every
210
+ match.
211
+ - 2d149dc: `<lr-dashboard-grid>` no longer starts a cell drag when the pointer lands on a button, link, or
212
+ input inside the cell. The guard compared a slotted light-DOM control against a shadow-root wrapper
213
+ with `contains()`, which never crosses the slot boundary, so it could never fire and every control
214
+ click inside a draggable cell dragged the cell instead of activating the control.
215
+
216
+ `<lr-tree>` no longer throws on the first arrow key when a `<lr-tree-node>` is written declaratively
217
+ into its documented slot. `item` is `attribute: false`, so such a node has none until a host assigns
218
+ one, and the keyboard handler read `item.id` unguarded.
219
+
220
+ - 9083c9b: `<lr-document-library>` now sorts its Updated column chronologically. It ordered rows correctly by
221
+ timestamp itself, then handed the composed `<lr-table>` both those rows and a `sortKey` without
222
+ `sort-mode="server"`, so the table sorted them a second time in client mode — from the column's
223
+ rendered output, which is a _formatted_ date. The result was alphabetical by month name.
224
+ - 2c3934b: `<lr-env-list>` no longer paints its screen-reader-only "Value hidden" announcement as visible text
225
+ beside the mask. The template emitted `class="sr-only"` but the component never adopted the shared
226
+ stylesheet that defines that class, and no rule in `LyraElement.styles` supplies it.
227
+ - 2c3934b: Hide the anchor-announcement live region in `<lr-include>` and `<lr-pptx-viewer>`.
228
+
229
+ Both viewers render the shared anchor-target mixin's `role="status"` live region, which the mixin
230
+ marks up with `class="sr-only"`, but neither component's shadow stylesheet defined that class. The
231
+ region therefore laid out as an ordinary block, so the first anchor jump (or a failed one) painted
232
+ its localized announcement — "Jumped to highlighted passage." / "Passage not found in this
233
+ document." — as visible body text: beside the transcluded fragment for `<lr-include>`, and as an
234
+ extra row under the fidelity notice for `<lr-pptx-viewer>`. The announcement is now visually hidden
235
+ and screen-reader-only, matching every other viewer that adopts the same mixin.
236
+
237
+ - 0e2dbf3: `LyraElement`'s internal `scheduleAfterUpdate()` now coalesces per key instead of collapsing every
238
+ caller in an update cycle onto one slot. It tracked pending work in a single boolean, so the second
239
+ caller in a cycle early-returned and its callback was dropped and never replayed — a component that
240
+ scheduled two genuinely different pieces of after-update work silently lost one of them. Repeated
241
+ schedules under the same key still collapse to one run, so the load path keeps producing one fetch
242
+ per cycle rather than one per property write.
243
+ - 2cd5fb5: `<lr-artifact-panel>`, `<lr-commit-card>`, `<lr-heatmap>`, `<lr-query-builder>`, `<lr-tree>`, and
244
+ `<lr-word-cloud>` now format the numbers they interpolate into localized strings with the effective
245
+ locale. `localize()` substitutes values with a bare `String(value)` and does no number formatting,
246
+ so these rendered Western digits inside otherwise fully-translated sentences — under a locale using
247
+ its own numbering system (`ar-u-nu-arab`, `hi-u-nu-deva`, …) a single announcement mixed two digit
248
+ sets.
249
+
250
+ `<lr-attachment-chip>` also no longer falls back to an empty `src` on its thumbnail `<img>`; an
251
+ empty `src` is a valid URL that resolves against the document, so it would make the browser
252
+ re-request the page as an image.
253
+
254
+ - df4dac8: Reject non-integer index segments in anchor resolution. A range-only guard (`i < 0 || i >= len`)
255
+ does not reject `NaN` (both comparisons are false) or a fractional index, so `<lr-xml-viewer>`
256
+ reported `lr-anchor-result { found: true }` and announced "Jumped to…" for a `node-path` that
257
+ matched nothing, and a non-trailing bad segment threw — rejecting `scrollToAnchor()` so
258
+ `lr-anchor-result` never fired at all, and surfacing as an unhandled rejection on the declarative
259
+ `anchor` path. `<lr-notebook-viewer>` had the same false-positive shape, and
260
+ `<lr-virtual-list>.scrollToIndex(NaN)` silently scrolled the list to the top.
261
+
262
+ `DocumentAnchorTarget` now also degrades a throwing `applyAnchor()` to "not resolved" instead of
263
+ letting it reject, so the mixin keeps its documented promise of always reporting a definite result.
264
+
265
+ - c76ebf8: Fix `<lr-mcp-app>`'s remote `src` mode, which never loaded: binding `srcdoc` to an empty string
266
+ still produced a _present_ `srcdoc=""` attribute, and the HTML spec's iframe processing branches on
267
+ that attribute's presence, so the frame navigated to `about:srcdoc` and ignored `src` entirely
268
+ (while still firing `lr-mcp-ready`). The same empty-string-vs-absent shape is fixed in
269
+ `<lr-av-player>` (a bare player painted a "Failed to load the media" alert before a `src` was set)
270
+ and `<lr-zoomable-frame>` (a rejected `src` rendered a broken-image glyph).
271
+
272
+ Validate consumer-supplied CSS lengths before they reach an inline style declaration list, so a
273
+ crafted value can no longer inject extra declarations: `<lr-stack-trace>`'s `max-height`,
274
+ `<lr-code-block>`/`<lr-code-block-core>`'s `max-height`, `<lr-table>`'s column
275
+ `width`/`minWidth`/`maxWidth`, and `<lr-browser-frame>`'s agent-supplied ping coordinates (which are
276
+ now also clamped to the documented 0-100 range instead of serializing `NaN`).
277
+
278
+ - ed7f463: `<lr-virtual-list>` no longer rescans the whole `items` array on every scroll frame to resolve
279
+ `active-id`. The lookup is now memoized on the `items`/`active-id`/`keyFunction` identities, so
280
+ scrolling a large list stops calling `keyFunction` once per item per frame.
281
+
3
282
  ## 7.7.0
4
283
 
5
284
  ### Minor Changes