@aceshooting/lyra-ui 7.2.0 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (370) hide show
  1. package/CHANGELOG.md +94 -0
  2. package/custom-elements.json +1723 -379
  3. package/dist/components/agent-tools/activity-feed/activity-feed.class.d.ts.map +1 -1
  4. package/dist/components/agent-tools/activity-feed/activity-feed.class.js +1 -0
  5. package/dist/components/agent-tools/activity-feed/activity-feed.class.js.map +1 -1
  6. package/dist/components/agent-tools/approval-queue/approval-queue.class.d.ts.map +1 -1
  7. package/dist/components/agent-tools/approval-queue/approval-queue.class.js +1 -0
  8. package/dist/components/agent-tools/approval-queue/approval-queue.class.js.map +1 -1
  9. package/dist/components/agent-tools/browser-frame/browser-frame.styles.d.ts.map +1 -1
  10. package/dist/components/agent-tools/browser-frame/browser-frame.styles.js +3 -0
  11. package/dist/components/agent-tools/browser-frame/browser-frame.styles.js.map +1 -1
  12. package/dist/components/agent-tools/commit-card/commit-card.class.d.ts +3 -0
  13. package/dist/components/agent-tools/commit-card/commit-card.class.d.ts.map +1 -1
  14. package/dist/components/agent-tools/commit-card/commit-card.class.js +21 -1
  15. package/dist/components/agent-tools/commit-card/commit-card.class.js.map +1 -1
  16. package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts.map +1 -1
  17. package/dist/components/agent-tools/compare-panel/compare-panel.class.js +7 -1
  18. package/dist/components/agent-tools/compare-panel/compare-panel.class.js.map +1 -1
  19. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +4 -0
  20. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts.map +1 -1
  21. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +4 -0
  22. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js.map +1 -1
  23. package/dist/components/agent-tools/confirm-bar/confirm-bar.styles.js +2 -2
  24. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts +2 -0
  25. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts.map +1 -1
  26. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +24 -9
  27. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js.map +1 -1
  28. package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.d.ts.map +1 -1
  29. package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.js +23 -2
  30. package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.js.map +1 -1
  31. package/dist/components/agent-tools/result-card/result-card.class.d.ts +4 -0
  32. package/dist/components/agent-tools/result-card/result-card.class.d.ts.map +1 -1
  33. package/dist/components/agent-tools/result-card/result-card.class.js +4 -0
  34. package/dist/components/agent-tools/result-card/result-card.class.js.map +1 -1
  35. package/dist/components/agent-tools/result-card/result-card.styles.d.ts.map +1 -1
  36. package/dist/components/agent-tools/result-card/result-card.styles.js +2 -0
  37. package/dist/components/agent-tools/result-card/result-card.styles.js.map +1 -1
  38. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +2 -0
  39. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts.map +1 -1
  40. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +2 -0
  41. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js.map +1 -1
  42. package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.d.ts.map +1 -1
  43. package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.js +4 -0
  44. package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.js.map +1 -1
  45. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.d.ts +6 -1
  46. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.d.ts.map +1 -1
  47. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +61 -3
  48. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js.map +1 -1
  49. package/dist/components/agent-tools/task-list/task-list.class.d.ts +2 -0
  50. package/dist/components/agent-tools/task-list/task-list.class.d.ts.map +1 -1
  51. package/dist/components/agent-tools/task-list/task-list.class.js +2 -0
  52. package/dist/components/agent-tools/task-list/task-list.class.js.map +1 -1
  53. package/dist/components/agent-tools/task-list/task-list.styles.d.ts.map +1 -1
  54. package/dist/components/agent-tools/task-list/task-list.styles.js +1 -0
  55. package/dist/components/agent-tools/task-list/task-list.styles.js.map +1 -1
  56. package/dist/components/agent-tools/test-results/test-results.class.d.ts.map +1 -1
  57. package/dist/components/agent-tools/test-results/test-results.class.js +15 -10
  58. package/dist/components/agent-tools/test-results/test-results.class.js.map +1 -1
  59. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +3 -0
  60. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts.map +1 -1
  61. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +5 -0
  62. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js.map +1 -1
  63. package/dist/components/charts/chart/box-plot.class.d.ts.map +1 -1
  64. package/dist/components/charts/chart/box-plot.class.js +31 -0
  65. package/dist/components/charts/chart/box-plot.class.js.map +1 -1
  66. package/dist/components/charts/chart/chart-loader.d.ts +2 -2
  67. package/dist/components/charts/chart/chart-loader.d.ts.map +1 -1
  68. package/dist/components/charts/chart/chart-loader.js +7 -1
  69. package/dist/components/charts/chart/chart-loader.js.map +1 -1
  70. package/dist/components/charts/chart/chart.class.d.ts +5 -1
  71. package/dist/components/charts/chart/chart.class.d.ts.map +1 -1
  72. package/dist/components/charts/chart/chart.class.js +17 -2
  73. package/dist/components/charts/chart/chart.class.js.map +1 -1
  74. package/dist/components/charts/chart/chart.styles.d.ts.map +1 -1
  75. package/dist/components/charts/chart/chart.styles.js +5 -1
  76. package/dist/components/charts/chart/chart.styles.js.map +1 -1
  77. package/dist/components/charts/chart/lite-chart.class.d.ts.map +1 -1
  78. package/dist/components/charts/chart/lite-chart.class.js +2 -0
  79. package/dist/components/charts/chart/lite-chart.class.js.map +1 -1
  80. package/dist/components/conversation/code-block/code-block-core.class.d.ts +7 -8
  81. package/dist/components/conversation/code-block/code-block-core.class.d.ts.map +1 -1
  82. package/dist/components/conversation/code-block/code-block-core.class.js +75 -227
  83. package/dist/components/conversation/code-block/code-block-core.class.js.map +1 -1
  84. package/dist/components/conversation/code-block/code-block-shared.d.ts +173 -7
  85. package/dist/components/conversation/code-block/code-block-shared.d.ts.map +1 -1
  86. package/dist/components/conversation/code-block/code-block-shared.js +312 -6
  87. package/dist/components/conversation/code-block/code-block-shared.js.map +1 -1
  88. package/dist/components/conversation/code-block/code-block.class.d.ts +6 -7
  89. package/dist/components/conversation/code-block/code-block.class.d.ts.map +1 -1
  90. package/dist/components/conversation/code-block/code-block.class.js +70 -231
  91. package/dist/components/conversation/code-block/code-block.class.js.map +1 -1
  92. package/dist/components/conversation/markdown/markdown-core.class.d.ts +9 -22
  93. package/dist/components/conversation/markdown/markdown-core.class.d.ts.map +1 -1
  94. package/dist/components/conversation/markdown/markdown-core.class.js +87 -314
  95. package/dist/components/conversation/markdown/markdown-core.class.js.map +1 -1
  96. package/dist/components/conversation/markdown/markdown-shared.d.ts +213 -9
  97. package/dist/components/conversation/markdown/markdown-shared.d.ts.map +1 -1
  98. package/dist/components/conversation/markdown/markdown-shared.js +362 -8
  99. package/dist/components/conversation/markdown/markdown-shared.js.map +1 -1
  100. package/dist/components/conversation/markdown/markdown.class.d.ts +9 -22
  101. package/dist/components/conversation/markdown/markdown.class.d.ts.map +1 -1
  102. package/dist/components/conversation/markdown/markdown.class.js +81 -311
  103. package/dist/components/conversation/markdown/markdown.class.js.map +1 -1
  104. package/dist/components/conversation/message-feedback/message-feedback.class.d.ts.map +1 -1
  105. package/dist/components/conversation/message-feedback/message-feedback.class.js +4 -1
  106. package/dist/components/conversation/message-feedback/message-feedback.class.js.map +1 -1
  107. package/dist/components/conversation/prompt-input/prompt-input.styles.d.ts.map +1 -1
  108. package/dist/components/conversation/prompt-input/prompt-input.styles.js +9 -2
  109. package/dist/components/conversation/prompt-input/prompt-input.styles.js.map +1 -1
  110. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.d.ts.map +1 -1
  111. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +8 -1
  112. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js.map +1 -1
  113. package/dist/components/conversation/voice-picker/voice-picker.class.d.ts.map +1 -1
  114. package/dist/components/conversation/voice-picker/voice-picker.class.js +5 -1
  115. package/dist/components/conversation/voice-picker/voice-picker.class.js.map +1 -1
  116. package/dist/components/data/document-library/document-library.class.d.ts.map +1 -1
  117. package/dist/components/data/document-library/document-library.class.js +4 -1
  118. package/dist/components/data/document-library/document-library.class.js.map +1 -1
  119. package/dist/components/data/env-list/env-list.styles.d.ts.map +1 -1
  120. package/dist/components/data/env-list/env-list.styles.js +5 -0
  121. package/dist/components/data/env-list/env-list.styles.js.map +1 -1
  122. package/dist/components/data/flow-canvas/flow-canvas.class.js +1 -1
  123. package/dist/components/data/flow-canvas/flow-canvas.class.js.map +1 -1
  124. package/dist/components/data/flow-minimap/flow-minimap.styles.d.ts.map +1 -1
  125. package/dist/components/data/flow-minimap/flow-minimap.styles.js +6 -0
  126. package/dist/components/data/flow-minimap/flow-minimap.styles.js.map +1 -1
  127. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts.map +1 -1
  128. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +10 -1
  129. package/dist/components/data/graph-query-builder/graph-query-builder.class.js.map +1 -1
  130. package/dist/components/data/heatmap/heatmap.class.d.ts.map +1 -1
  131. package/dist/components/data/heatmap/heatmap.class.js +17 -2
  132. package/dist/components/data/heatmap/heatmap.class.js.map +1 -1
  133. package/dist/components/data/pagination/pagination.class.d.ts +2 -0
  134. package/dist/components/data/pagination/pagination.class.d.ts.map +1 -1
  135. package/dist/components/data/pagination/pagination.class.js +2 -0
  136. package/dist/components/data/pagination/pagination.class.js.map +1 -1
  137. package/dist/components/data/pagination/pagination.styles.d.ts.map +1 -1
  138. package/dist/components/data/pagination/pagination.styles.js +7 -2
  139. package/dist/components/data/pagination/pagination.styles.js.map +1 -1
  140. package/dist/components/data/table/table.class.d.ts +7 -2
  141. package/dist/components/data/table/table.class.d.ts.map +1 -1
  142. package/dist/components/data/table/table.class.js +40 -6
  143. package/dist/components/data/table/table.class.js.map +1 -1
  144. package/dist/components/data/tree/tree-node.class.d.ts +2 -0
  145. package/dist/components/data/tree/tree-node.class.d.ts.map +1 -1
  146. package/dist/components/data/tree/tree-node.class.js +2 -0
  147. package/dist/components/data/tree/tree-node.class.js.map +1 -1
  148. package/dist/components/forms/color-picker/color-picker.class.d.ts.map +1 -1
  149. package/dist/components/forms/color-picker/color-picker.class.js +9 -0
  150. package/dist/components/forms/color-picker/color-picker.class.js.map +1 -1
  151. package/dist/components/forms/date-picker/date-picker.class.d.ts +2 -0
  152. package/dist/components/forms/date-picker/date-picker.class.d.ts.map +1 -1
  153. package/dist/components/forms/date-picker/date-picker.class.js +2 -0
  154. package/dist/components/forms/date-picker/date-picker.class.js.map +1 -1
  155. package/dist/components/forms/date-picker/date-picker.styles.d.ts.map +1 -1
  156. package/dist/components/forms/date-picker/date-picker.styles.js +8 -3
  157. package/dist/components/forms/date-picker/date-picker.styles.js.map +1 -1
  158. package/dist/components/forms/emoji-picker/emoji-data-loader.js +28 -2
  159. package/dist/components/forms/emoji-picker/emoji-data-loader.js.map +1 -1
  160. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +4 -0
  161. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts.map +1 -1
  162. package/dist/components/forms/emoji-picker/emoji-picker.class.js +8 -2
  163. package/dist/components/forms/emoji-picker/emoji-picker.class.js.map +1 -1
  164. package/dist/components/forms/emoji-picker/emoji-types.d.ts +9 -0
  165. package/dist/components/forms/emoji-picker/emoji-types.d.ts.map +1 -1
  166. package/dist/components/forms/input/input.styles.d.ts.map +1 -1
  167. package/dist/components/forms/input/input.styles.js +17 -4
  168. package/dist/components/forms/input/input.styles.js.map +1 -1
  169. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +1 -1
  170. package/dist/components/forms/locale-picker/locale-picker.class.d.ts.map +1 -1
  171. package/dist/components/forms/locale-picker/locale-picker.class.js +3 -1
  172. package/dist/components/forms/locale-picker/locale-picker.class.js.map +1 -1
  173. package/dist/components/forms/radio/radio.class.d.ts +5 -0
  174. package/dist/components/forms/radio/radio.class.d.ts.map +1 -1
  175. package/dist/components/forms/radio/radio.class.js +5 -0
  176. package/dist/components/forms/radio/radio.class.js.map +1 -1
  177. package/dist/components/forms/radio/radio.styles.d.ts.map +1 -1
  178. package/dist/components/forms/radio/radio.styles.js +5 -2
  179. package/dist/components/forms/radio/radio.styles.js.map +1 -1
  180. package/dist/components/forms/select/select.class.d.ts +9 -1
  181. package/dist/components/forms/select/select.class.d.ts.map +1 -1
  182. package/dist/components/forms/select/select.class.js +9 -1
  183. package/dist/components/forms/select/select.class.js.map +1 -1
  184. package/dist/components/forms/slider/slider.class.d.ts +8 -0
  185. package/dist/components/forms/slider/slider.class.d.ts.map +1 -1
  186. package/dist/components/forms/slider/slider.class.js +14 -0
  187. package/dist/components/forms/slider/slider.class.js.map +1 -1
  188. package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +12 -0
  189. package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts.map +1 -1
  190. package/dist/components/forms/swatch-picker/swatch-picker.class.js +22 -0
  191. package/dist/components/forms/swatch-picker/swatch-picker.class.js.map +1 -1
  192. package/dist/components/forms/time-range/time-range.class.d.ts +9 -0
  193. package/dist/components/forms/time-range/time-range.class.d.ts.map +1 -1
  194. package/dist/components/forms/time-range/time-range.class.js +15 -0
  195. package/dist/components/forms/time-range/time-range.class.js.map +1 -1
  196. package/dist/components/layout/button-group/button-group.styles.d.ts.map +1 -1
  197. package/dist/components/layout/button-group/button-group.styles.js +10 -1
  198. package/dist/components/layout/button-group/button-group.styles.js.map +1 -1
  199. package/dist/components/layout/drilldown-panel/drilldown-panel.class.d.ts.map +1 -1
  200. package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +5 -1
  201. package/dist/components/layout/drilldown-panel/drilldown-panel.class.js.map +1 -1
  202. package/dist/components/layout/filter-bar/filter-bar.class.d.ts.map +1 -1
  203. package/dist/components/layout/filter-bar/filter-bar.class.js +4 -1
  204. package/dist/components/layout/filter-bar/filter-bar.class.js.map +1 -1
  205. package/dist/components/layout/split/split.class.d.ts +8 -0
  206. package/dist/components/layout/split/split.class.d.ts.map +1 -1
  207. package/dist/components/layout/split/split.class.js +8 -0
  208. package/dist/components/layout/split/split.class.js.map +1 -1
  209. package/dist/components/layout/split/split.styles.d.ts.map +1 -1
  210. package/dist/components/layout/split/split.styles.js +26 -10
  211. package/dist/components/layout/split/split.styles.js.map +1 -1
  212. package/dist/components/layout/stepper/stepper.class.d.ts +4 -0
  213. package/dist/components/layout/stepper/stepper.class.d.ts.map +1 -1
  214. package/dist/components/layout/stepper/stepper.class.js +7 -0
  215. package/dist/components/layout/stepper/stepper.class.js.map +1 -1
  216. package/dist/components/layout/stepper/stepper.styles.d.ts.map +1 -1
  217. package/dist/components/layout/stepper/stepper.styles.js +13 -0
  218. package/dist/components/layout/stepper/stepper.styles.js.map +1 -1
  219. package/dist/components/layout/widget/widget.class.d.ts +4 -0
  220. package/dist/components/layout/widget/widget.class.d.ts.map +1 -1
  221. package/dist/components/layout/widget/widget.class.js +4 -0
  222. package/dist/components/layout/widget/widget.class.js.map +1 -1
  223. package/dist/components/layout/widget/widget.styles.d.ts.map +1 -1
  224. package/dist/components/layout/widget/widget.styles.js +9 -3
  225. package/dist/components/layout/widget/widget.styles.js.map +1 -1
  226. package/dist/components/media/flag/flag.class.d.ts +1 -1
  227. package/dist/components/media/flag/flag.class.d.ts.map +1 -1
  228. package/dist/components/media/flag/flag.class.js +2 -1
  229. package/dist/components/media/flag/flag.class.js.map +1 -1
  230. package/dist/components/media/image-viewer/image-viewer.styles.d.ts.map +1 -1
  231. package/dist/components/media/image-viewer/image-viewer.styles.js +1 -0
  232. package/dist/components/media/image-viewer/image-viewer.styles.js.map +1 -1
  233. package/dist/components/overlays/chip/chip-group.class.d.ts +4 -0
  234. package/dist/components/overlays/chip/chip-group.class.d.ts.map +1 -1
  235. package/dist/components/overlays/chip/chip-group.class.js +4 -0
  236. package/dist/components/overlays/chip/chip-group.class.js.map +1 -1
  237. package/dist/components/overlays/chip/chip-group.styles.d.ts.map +1 -1
  238. package/dist/components/overlays/chip/chip-group.styles.js +7 -2
  239. package/dist/components/overlays/chip/chip-group.styles.js.map +1 -1
  240. package/dist/components/overlays/rating/rating.styles.d.ts.map +1 -1
  241. package/dist/components/overlays/rating/rating.styles.js +11 -4
  242. package/dist/components/overlays/rating/rating.styles.js.map +1 -1
  243. package/dist/components/retrieval/claim-evidence/claim-evidence.class.d.ts.map +1 -1
  244. package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +4 -1
  245. package/dist/components/retrieval/claim-evidence/claim-evidence.class.js.map +1 -1
  246. package/dist/components/retrieval/graph/graph-canvas.d.ts +25 -0
  247. package/dist/components/retrieval/graph/graph-canvas.d.ts.map +1 -1
  248. package/dist/components/retrieval/graph/graph-canvas.js +30 -1
  249. package/dist/components/retrieval/graph/graph-canvas.js.map +1 -1
  250. package/dist/components/retrieval/graph/graph.class.d.ts +2 -1
  251. package/dist/components/retrieval/graph/graph.class.d.ts.map +1 -1
  252. package/dist/components/retrieval/graph/graph.class.js +12 -1
  253. package/dist/components/retrieval/graph/graph.class.js.map +1 -1
  254. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +5 -0
  255. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts.map +1 -1
  256. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +5 -0
  257. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js.map +1 -1
  258. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.d.ts.map +1 -1
  259. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +7 -3
  260. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js.map +1 -1
  261. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts.map +1 -1
  262. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +10 -1
  263. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js.map +1 -1
  264. package/dist/components/utility/diff-view/diff-view.styles.d.ts.map +1 -1
  265. package/dist/components/utility/diff-view/diff-view.styles.js +11 -0
  266. package/dist/components/utility/diff-view/diff-view.styles.js.map +1 -1
  267. package/dist/components/viewers/archive-viewer/archive-viewer-register.js +16 -3
  268. package/dist/components/viewers/archive-viewer/archive-viewer-register.js.map +1 -1
  269. package/dist/components/viewers/document-viewer/document-viewer.class.d.ts.map +1 -1
  270. package/dist/components/viewers/document-viewer/document-viewer.class.js +1 -0
  271. package/dist/components/viewers/document-viewer/document-viewer.class.js.map +1 -1
  272. package/dist/components/viewers/docx-viewer/docx-viewer.js +6 -1
  273. package/dist/components/viewers/docx-viewer/docx-viewer.js.map +1 -1
  274. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +10 -4
  275. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts.map +1 -1
  276. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +31 -6
  277. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js.map +1 -1
  278. package/dist/components/viewers/html-viewer/html-viewer.js +7 -0
  279. package/dist/components/viewers/html-viewer/html-viewer.js.map +1 -1
  280. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts +3 -0
  281. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts.map +1 -1
  282. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +7 -1
  283. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js.map +1 -1
  284. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +4 -0
  285. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts.map +1 -1
  286. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +8 -4
  287. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js.map +1 -1
  288. package/dist/components/viewers/pptx-viewer/pptx-viewer.js +11 -1
  289. package/dist/components/viewers/pptx-viewer/pptx-viewer.js.map +1 -1
  290. package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts +29 -17
  291. package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts.map +1 -1
  292. package/dist/components/viewers/svg-viewer/svg-viewer.class.js +27 -22
  293. package/dist/components/viewers/svg-viewer/svg-viewer.class.js.map +1 -1
  294. package/dist/components/viewers/svg-viewer/svg-viewer.d.ts.map +1 -1
  295. package/dist/components/viewers/svg-viewer/svg-viewer.js +7 -6
  296. package/dist/components/viewers/svg-viewer/svg-viewer.js.map +1 -1
  297. package/dist/internal/form-associated.d.ts +21 -0
  298. package/dist/internal/form-associated.d.ts.map +1 -1
  299. package/dist/internal/form-associated.js +25 -8
  300. package/dist/internal/form-associated.js.map +1 -1
  301. package/dist/internal/localization.d.ts +1 -1
  302. package/dist/internal/localization.d.ts.map +1 -1
  303. package/dist/internal/localization.js +17 -0
  304. package/dist/internal/localization.js.map +1 -1
  305. package/llms/components/lr-agent-run.md +3 -2
  306. package/llms/components/lr-approval-queue.md +6 -1
  307. package/llms/components/lr-archive-viewer.md +6 -2
  308. package/llms/components/lr-artifact-panel.md +7 -3
  309. package/llms/components/lr-attachment-chip.md +8 -6
  310. package/llms/components/lr-avatar.md +6 -4
  311. package/llms/components/lr-bar-chart.md +4 -2
  312. package/llms/components/lr-bubble-chart.md +4 -2
  313. package/llms/components/lr-button-group.md +10 -0
  314. package/llms/components/lr-button.md +11 -6
  315. package/llms/components/lr-chart.md +8 -2
  316. package/llms/components/lr-chip-group.md +9 -2
  317. package/llms/components/lr-chip.md +8 -1
  318. package/llms/components/lr-commit-card.md +11 -3
  319. package/llms/components/lr-confirm-bar.md +9 -1
  320. package/llms/components/lr-date-input.md +4 -0
  321. package/llms/components/lr-date-picker.md +5 -1
  322. package/llms/components/lr-document-viewer.md +1 -1
  323. package/llms/components/lr-doughnut-chart.md +4 -2
  324. package/llms/components/lr-emoji-picker.md +16 -4
  325. package/llms/components/lr-export-button.md +2 -1
  326. package/llms/components/lr-flag.md +9 -5
  327. package/llms/components/lr-graph-query-builder.md +6 -5
  328. package/llms/components/lr-heatmap.md +12 -7
  329. package/llms/components/lr-histogram.md +3 -2
  330. package/llms/components/lr-html-viewer.md +4 -1
  331. package/llms/components/lr-json-viewer.md +2 -1
  332. package/llms/components/lr-knowledge-base-admin.md +10 -1
  333. package/llms/components/lr-known-date.md +8 -4
  334. package/llms/components/lr-line-chart.md +4 -2
  335. package/llms/components/lr-locale-picker.md +1 -1
  336. package/llms/components/lr-model-select.md +3 -0
  337. package/llms/components/lr-notebook-viewer.md +4 -2
  338. package/llms/components/lr-pagination.md +6 -3
  339. package/llms/components/lr-pdf-viewer.md +5 -2
  340. package/llms/components/lr-pie-chart.md +4 -2
  341. package/llms/components/lr-polar-area-chart.md +4 -2
  342. package/llms/components/lr-pptx-viewer.md +3 -1
  343. package/llms/components/lr-push-to-talk.md +4 -0
  344. package/llms/components/lr-radar-chart.md +4 -2
  345. package/llms/components/lr-radio.md +7 -1
  346. package/llms/components/lr-result-card.md +9 -3
  347. package/llms/components/lr-result-field.md +8 -2
  348. package/llms/components/lr-retrieval-results.md +12 -7
  349. package/llms/components/lr-scatter-chart.md +4 -2
  350. package/llms/components/lr-schema-viewer.md +13 -1
  351. package/llms/components/lr-sequence-strip.md +21 -16
  352. package/llms/components/lr-slider.md +4 -0
  353. package/llms/components/lr-split.md +9 -1
  354. package/llms/components/lr-stepper.md +9 -3
  355. package/llms/components/lr-svg-viewer.md +24 -8
  356. package/llms/components/lr-table.md +21 -3
  357. package/llms/components/lr-task-list.md +7 -3
  358. package/llms/components/lr-terminal.md +10 -4
  359. package/llms/components/lr-time-range.md +6 -0
  360. package/llms/components/lr-tool-call-chip.md +4 -3
  361. package/llms/components/lr-tool-param-form.md +7 -2
  362. package/llms/components/lr-tool-result-dialog.md +2 -1
  363. package/llms/components/lr-tree-node.md +1 -1
  364. package/llms/components/lr-widget.md +6 -1
  365. package/llms/shared.md +1 -1
  366. package/llms-full.txt +357 -117
  367. package/package.json +7 -4
  368. package/vscode-css-data.json +141 -1
  369. package/vscode-html-data.json +36 -36
  370. package/web-types.json +120 -35
@@ -5018,6 +5018,10 @@
5018
5018
  "description": "A file row's path text.",
5019
5019
  "name": "file-path"
5020
5020
  },
5021
+ {
5022
+ "description": "The one-letter git-status badge inside `[part=\"file-path\"]`, present only when that file has a `status`. Carries the localized expansion (`Modified`, `Added`, ...) as its accessible name, so the bare letter never reaches assistive tech on its own.",
5023
+ "name": "file-status"
5024
+ },
5021
5025
  {
5022
5026
  "description": "The file-list fold toggle.",
5023
5027
  "name": "files-toggle"
@@ -6392,6 +6396,16 @@
6392
6396
  "description": "Background of `[part='base']` while `compact`.",
6393
6397
  "name": "--lr-confirm-bar-compact-background",
6394
6398
  "default": "transparent"
6399
+ },
6400
+ {
6401
+ "description": "`[part='status']` text/icon color once `decision` is `'approved'`.",
6402
+ "name": "--lr-confirm-bar-approved-color",
6403
+ "default": "var(--lr-color-success)"
6404
+ },
6405
+ {
6406
+ "description": "`[part='status']` text/icon color once `decision` is `'denied'`.",
6407
+ "name": "--lr-confirm-bar-denied-color",
6408
+ "default": "var(--lr-color-danger)"
6395
6409
  }
6396
6410
  ],
6397
6411
  "cssParts": [
@@ -11435,6 +11449,16 @@
11435
11449
  },
11436
11450
  "default": "[]"
11437
11451
  },
11452
+ {
11453
+ "kind": "field",
11454
+ "name": "onBlur",
11455
+ "privacy": "private"
11456
+ },
11457
+ {
11458
+ "kind": "field",
11459
+ "name": "onFocus",
11460
+ "privacy": "private"
11461
+ },
11438
11462
  {
11439
11463
  "kind": "field",
11440
11464
  "name": "pendingLoadController",
@@ -11970,10 +11994,20 @@
11970
11994
  "name": "--lr-result-card-compact-header-padding",
11971
11995
  "default": "var(--lr-space-xs)"
11972
11996
  },
11997
+ {
11998
+ "description": "Gap between `[part=\"header\"]`'s title and actions while `compact`.",
11999
+ "name": "--lr-result-card-compact-header-gap",
12000
+ "default": "var(--lr-space-xs)"
12001
+ },
11973
12002
  {
11974
12003
  "description": "`[part=\"body\"]` padding while `compact`.",
11975
12004
  "name": "--lr-result-card-compact-body-padding",
11976
12005
  "default": "var(--lr-space-xs)"
12006
+ },
12007
+ {
12008
+ "description": "Gap between `[part=\"body\"]`'s children while `compact`.",
12009
+ "name": "--lr-result-card-compact-body-gap",
12010
+ "default": "var(--lr-space-2xs)"
11977
12011
  }
11978
12012
  ],
11979
12013
  "cssParts": [
@@ -12940,6 +12974,16 @@
12940
12974
  "description": "Warning issue background.",
12941
12975
  "name": "--lr-schema-viewer-warning-bg",
12942
12976
  "default": "var(--lr-color-warning-quiet)"
12977
+ },
12978
+ {
12979
+ "description": "Info issue border.",
12980
+ "name": "--lr-schema-viewer-info-border",
12981
+ "default": "var(--lr-color-brand)"
12982
+ },
12983
+ {
12984
+ "description": "Info issue background.",
12985
+ "name": "--lr-schema-viewer-info-bg",
12986
+ "default": "var(--lr-color-brand-quiet)"
12943
12987
  }
12944
12988
  ],
12945
12989
  "cssParts": [
@@ -15165,6 +15209,16 @@
15165
15209
  "module": "src/internal/lyra-element.ts"
15166
15210
  }
15167
15211
  },
15212
+ {
15213
+ "kind": "field",
15214
+ "name": "focusedId",
15215
+ "type": {
15216
+ "text": "string | null"
15217
+ },
15218
+ "privacy": "private",
15219
+ "default": "null",
15220
+ "description": "Roving-tabindex focus target. `null` defaults the first rendered row to `tabindex=\"0\"`."
15221
+ },
15168
15222
  {
15169
15223
  "kind": "field",
15170
15224
  "name": "inheritedContextObserver",
@@ -15214,6 +15268,11 @@
15214
15268
  "module": "src/internal/lyra-element.ts"
15215
15269
  }
15216
15270
  },
15271
+ {
15272
+ "kind": "field",
15273
+ "name": "onKeyDown",
15274
+ "privacy": "private"
15275
+ },
15217
15276
  {
15218
15277
  "kind": "field",
15219
15278
  "name": "pendingLoadController",
@@ -15359,6 +15418,24 @@
15359
15418
  "module": "src/internal/lyra-element.ts"
15360
15419
  }
15361
15420
  },
15421
+ {
15422
+ "kind": "method",
15423
+ "name": "focusRow",
15424
+ "privacy": "private",
15425
+ "return": {
15426
+ "type": {
15427
+ "text": "void"
15428
+ }
15429
+ },
15430
+ "parameters": [
15431
+ {
15432
+ "name": "row",
15433
+ "type": {
15434
+ "text": "SubagentRow | undefined"
15435
+ }
15436
+ }
15437
+ ]
15438
+ },
15362
15439
  {
15363
15440
  "kind": "method",
15364
15441
  "name": "localize",
@@ -15602,6 +15679,11 @@
15602
15679
  "name": "--lr-task-list-compact-header-padding",
15603
15680
  "default": "var(--lr-space-2xs) var(--lr-space-s)"
15604
15681
  },
15682
+ {
15683
+ "description": "Gap between `[part=\"header\"]`'s toggle/label/summary while `compact`.",
15684
+ "name": "--lr-task-list-compact-header-gap",
15685
+ "default": "var(--lr-space-2xs)"
15686
+ },
15605
15687
  {
15606
15688
  "description": "Gap between `[part=\"body\"]`'s item rows while `compact`.",
15607
15689
  "name": "--lr-task-list-compact-gap",
@@ -17790,12 +17872,6 @@
17790
17872
  }
17791
17873
  },
17792
17874
  "parameters": [
17793
- {
17794
- "name": "testKey",
17795
- "type": {
17796
- "text": "string"
17797
- }
17798
- },
17799
17875
  {
17800
17876
  "name": "test",
17801
17877
  "type": {
@@ -18016,12 +18092,6 @@
18016
18092
  }
18017
18093
  },
18018
18094
  "parameters": [
18019
- {
18020
- "name": "testKey",
18021
- "type": {
18022
- "text": "string"
18023
- }
18024
- },
18025
18095
  {
18026
18096
  "name": "test",
18027
18097
  "type": {
@@ -20325,6 +20395,10 @@
20325
20395
  "description": "The outer wrapper around all fields.",
20326
20396
  "name": "base"
20327
20397
  },
20398
+ {
20399
+ "description": "The native `<input>` for a `'string'` (non-enum) or `'number'`/`'integer'` field. Shared part on both the text and number inputs; not present on the `'boolean'` (`<lr-checkbox>`), enum (`<lr-select>`), or unsupported-type fallback branches.",
20400
+ "name": "control"
20401
+ },
20328
20402
  {
20329
20403
  "description": "A field's helper text, from `schema.description`.",
20330
20404
  "name": "description"
@@ -25738,6 +25812,30 @@
25738
25812
  "module": "src/components/charts/chart/chart.class.ts"
25739
25813
  }
25740
25814
  },
25815
+ {
25816
+ "kind": "field",
25817
+ "name": "lastDrawnDirection",
25818
+ "type": {
25819
+ "text": "'ltr' | 'rtl' | undefined"
25820
+ },
25821
+ "privacy": "private",
25822
+ "inheritedFrom": {
25823
+ "name": "LyraChart",
25824
+ "module": "src/components/charts/chart/chart.class.ts"
25825
+ }
25826
+ },
25827
+ {
25828
+ "kind": "field",
25829
+ "name": "lastDrawnLocale",
25830
+ "type": {
25831
+ "text": "string | undefined"
25832
+ },
25833
+ "privacy": "private",
25834
+ "inheritedFrom": {
25835
+ "name": "LyraChart",
25836
+ "module": "src/components/charts/chart/chart.class.ts"
25837
+ }
25838
+ },
25741
25839
  {
25742
25840
  "kind": "field",
25743
25841
  "name": "legend",
@@ -27264,6 +27362,15 @@
27264
27362
  "name": "LyraChart",
27265
27363
  "module": "src/components/charts/chart/chart.class.ts"
27266
27364
  }
27365
+ },
27366
+ {
27367
+ "description": "Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).",
27368
+ "name": "--lr-chart-canvas-hover-outline-width",
27369
+ "default": "var(--lr-border-width-thin)",
27370
+ "inheritedFrom": {
27371
+ "name": "LyraChart",
27372
+ "module": "src/components/charts/chart/chart.class.ts"
27373
+ }
27267
27374
  }
27268
27375
  ],
27269
27376
  "attributes": [
@@ -28657,6 +28764,30 @@
28657
28764
  "module": "src/components/charts/chart/chart.class.ts"
28658
28765
  }
28659
28766
  },
28767
+ {
28768
+ "kind": "field",
28769
+ "name": "lastDrawnDirection",
28770
+ "type": {
28771
+ "text": "'ltr' | 'rtl' | undefined"
28772
+ },
28773
+ "privacy": "private",
28774
+ "inheritedFrom": {
28775
+ "name": "LyraChart",
28776
+ "module": "src/components/charts/chart/chart.class.ts"
28777
+ }
28778
+ },
28779
+ {
28780
+ "kind": "field",
28781
+ "name": "lastDrawnLocale",
28782
+ "type": {
28783
+ "text": "string | undefined"
28784
+ },
28785
+ "privacy": "private",
28786
+ "inheritedFrom": {
28787
+ "name": "LyraChart",
28788
+ "module": "src/components/charts/chart/chart.class.ts"
28789
+ }
28790
+ },
28660
28791
  {
28661
28792
  "kind": "field",
28662
28793
  "name": "legend",
@@ -30183,6 +30314,15 @@
30183
30314
  "name": "LyraChart",
30184
30315
  "module": "src/components/charts/chart/chart.class.ts"
30185
30316
  }
30317
+ },
30318
+ {
30319
+ "description": "Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).",
30320
+ "name": "--lr-chart-canvas-hover-outline-width",
30321
+ "default": "var(--lr-border-width-thin)",
30322
+ "inheritedFrom": {
30323
+ "name": "LyraChart",
30324
+ "module": "src/components/charts/chart/chart.class.ts"
30325
+ }
30186
30326
  }
30187
30327
  ],
30188
30328
  "attributes": [
@@ -30595,7 +30735,7 @@
30595
30735
  "name": "importZoom",
30596
30736
  "default": "() =>\n import('chartjs-plugin-zoom') as Promise<{ default: ZoomPlugin }>",
30597
30737
  "type": {
30598
- "text": "() => Promise<{ default: ZoomPlugin }>"
30738
+ "text": "() => Promise<{ default: ZoomPlugin } | ZoomPlugin>"
30599
30739
  }
30600
30740
  },
30601
30741
  {
@@ -30647,7 +30787,7 @@
30647
30787
  "name": "importZoom",
30648
30788
  "default": "() =>\n import('chartjs-plugin-zoom') as Promise<{ default: ZoomPlugin }>",
30649
30789
  "type": {
30650
- "text": "() => Promise<{ default: ZoomPlugin }>"
30790
+ "text": "() => Promise<{ default: ZoomPlugin } | ZoomPlugin>"
30651
30791
  }
30652
30792
  }
30653
30793
  ],
@@ -30754,6 +30894,11 @@
30754
30894
  "description": "Tooltip text color. Resolved via `getComputedStyle` on every draw.",
30755
30895
  "name": "--lr-chart-tooltip-text",
30756
30896
  "default": "var(--lr-color-text)"
30897
+ },
30898
+ {
30899
+ "description": "Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).",
30900
+ "name": "--lr-chart-canvas-hover-outline-width",
30901
+ "default": "var(--lr-border-width-thin)"
30757
30902
  }
30758
30903
  ],
30759
30904
  "cssParts": [
@@ -31052,6 +31197,22 @@
31052
31197
  },
31053
31198
  "default": "[]"
31054
31199
  },
31200
+ {
31201
+ "kind": "field",
31202
+ "name": "lastDrawnDirection",
31203
+ "type": {
31204
+ "text": "'ltr' | 'rtl' | undefined"
31205
+ },
31206
+ "privacy": "private"
31207
+ },
31208
+ {
31209
+ "kind": "field",
31210
+ "name": "lastDrawnLocale",
31211
+ "type": {
31212
+ "text": "string | undefined"
31213
+ },
31214
+ "privacy": "private"
31215
+ },
31055
31216
  {
31056
31217
  "kind": "field",
31057
31218
  "name": "legend",
@@ -32816,6 +32977,30 @@
32816
32977
  "module": "src/components/charts/chart/chart.class.ts"
32817
32978
  }
32818
32979
  },
32980
+ {
32981
+ "kind": "field",
32982
+ "name": "lastDrawnDirection",
32983
+ "type": {
32984
+ "text": "'ltr' | 'rtl' | undefined"
32985
+ },
32986
+ "privacy": "private",
32987
+ "inheritedFrom": {
32988
+ "name": "LyraChart",
32989
+ "module": "src/components/charts/chart/chart.class.ts"
32990
+ }
32991
+ },
32992
+ {
32993
+ "kind": "field",
32994
+ "name": "lastDrawnLocale",
32995
+ "type": {
32996
+ "text": "string | undefined"
32997
+ },
32998
+ "privacy": "private",
32999
+ "inheritedFrom": {
33000
+ "name": "LyraChart",
33001
+ "module": "src/components/charts/chart/chart.class.ts"
33002
+ }
33003
+ },
32819
33004
  {
32820
33005
  "kind": "field",
32821
33006
  "name": "legend",
@@ -34342,6 +34527,15 @@
34342
34527
  "name": "LyraChart",
34343
34528
  "module": "src/components/charts/chart/chart.class.ts"
34344
34529
  }
34530
+ },
34531
+ {
34532
+ "description": "Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).",
34533
+ "name": "--lr-chart-canvas-hover-outline-width",
34534
+ "default": "var(--lr-border-width-thin)",
34535
+ "inheritedFrom": {
34536
+ "name": "LyraChart",
34537
+ "module": "src/components/charts/chart/chart.class.ts"
34538
+ }
34345
34539
  }
34346
34540
  ],
34347
34541
  "attributes": [
@@ -35093,6 +35287,30 @@
35093
35287
  "module": "src/components/charts/chart/chart.class.ts"
35094
35288
  }
35095
35289
  },
35290
+ {
35291
+ "kind": "field",
35292
+ "name": "lastDrawnDirection",
35293
+ "type": {
35294
+ "text": "'ltr' | 'rtl' | undefined"
35295
+ },
35296
+ "privacy": "private",
35297
+ "inheritedFrom": {
35298
+ "name": "LyraChart",
35299
+ "module": "src/components/charts/chart/chart.class.ts"
35300
+ }
35301
+ },
35302
+ {
35303
+ "kind": "field",
35304
+ "name": "lastDrawnLocale",
35305
+ "type": {
35306
+ "text": "string | undefined"
35307
+ },
35308
+ "privacy": "private",
35309
+ "inheritedFrom": {
35310
+ "name": "LyraChart",
35311
+ "module": "src/components/charts/chart/chart.class.ts"
35312
+ }
35313
+ },
35096
35314
  {
35097
35315
  "kind": "field",
35098
35316
  "name": "legend",
@@ -36871,6 +37089,15 @@
36871
37089
  "name": "LyraChart",
36872
37090
  "module": "src/components/charts/chart/chart.class.ts"
36873
37091
  }
37092
+ },
37093
+ {
37094
+ "description": "Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).",
37095
+ "name": "--lr-chart-canvas-hover-outline-width",
37096
+ "default": "var(--lr-border-width-thin)",
37097
+ "inheritedFrom": {
37098
+ "name": "LyraChart",
37099
+ "module": "src/components/charts/chart/chart.class.ts"
37100
+ }
36874
37101
  }
36875
37102
  ],
36876
37103
  "events": [
@@ -37312,6 +37539,30 @@
37312
37539
  "module": "src/components/charts/chart/chart.class.ts"
37313
37540
  }
37314
37541
  },
37542
+ {
37543
+ "kind": "field",
37544
+ "name": "lastDrawnDirection",
37545
+ "type": {
37546
+ "text": "'ltr' | 'rtl' | undefined"
37547
+ },
37548
+ "privacy": "private",
37549
+ "inheritedFrom": {
37550
+ "name": "LyraChart",
37551
+ "module": "src/components/charts/chart/chart.class.ts"
37552
+ }
37553
+ },
37554
+ {
37555
+ "kind": "field",
37556
+ "name": "lastDrawnLocale",
37557
+ "type": {
37558
+ "text": "string | undefined"
37559
+ },
37560
+ "privacy": "private",
37561
+ "inheritedFrom": {
37562
+ "name": "LyraChart",
37563
+ "module": "src/components/charts/chart/chart.class.ts"
37564
+ }
37565
+ },
37315
37566
  {
37316
37567
  "kind": "field",
37317
37568
  "name": "legend",
@@ -38838,6 +39089,15 @@
38838
39089
  "name": "LyraChart",
38839
39090
  "module": "src/components/charts/chart/chart.class.ts"
38840
39091
  }
39092
+ },
39093
+ {
39094
+ "description": "Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).",
39095
+ "name": "--lr-chart-canvas-hover-outline-width",
39096
+ "default": "var(--lr-border-width-thin)",
39097
+ "inheritedFrom": {
39098
+ "name": "LyraChart",
39099
+ "module": "src/components/charts/chart/chart.class.ts"
39100
+ }
38841
39101
  }
38842
39102
  ],
38843
39103
  "attributes": [
@@ -40970,6 +41230,30 @@
40970
41230
  "module": "src/components/charts/chart/chart.class.ts"
40971
41231
  }
40972
41232
  },
41233
+ {
41234
+ "kind": "field",
41235
+ "name": "lastDrawnDirection",
41236
+ "type": {
41237
+ "text": "'ltr' | 'rtl' | undefined"
41238
+ },
41239
+ "privacy": "private",
41240
+ "inheritedFrom": {
41241
+ "name": "LyraChart",
41242
+ "module": "src/components/charts/chart/chart.class.ts"
41243
+ }
41244
+ },
41245
+ {
41246
+ "kind": "field",
41247
+ "name": "lastDrawnLocale",
41248
+ "type": {
41249
+ "text": "string | undefined"
41250
+ },
41251
+ "privacy": "private",
41252
+ "inheritedFrom": {
41253
+ "name": "LyraChart",
41254
+ "module": "src/components/charts/chart/chart.class.ts"
41255
+ }
41256
+ },
40973
41257
  {
40974
41258
  "kind": "field",
40975
41259
  "name": "legend",
@@ -42496,6 +42780,15 @@
42496
42780
  "name": "LyraChart",
42497
42781
  "module": "src/components/charts/chart/chart.class.ts"
42498
42782
  }
42783
+ },
42784
+ {
42785
+ "description": "Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).",
42786
+ "name": "--lr-chart-canvas-hover-outline-width",
42787
+ "default": "var(--lr-border-width-thin)",
42788
+ "inheritedFrom": {
42789
+ "name": "LyraChart",
42790
+ "module": "src/components/charts/chart/chart.class.ts"
42791
+ }
42499
42792
  }
42500
42793
  ],
42501
42794
  "attributes": [
@@ -43139,6 +43432,30 @@
43139
43432
  "module": "src/components/charts/chart/chart.class.ts"
43140
43433
  }
43141
43434
  },
43435
+ {
43436
+ "kind": "field",
43437
+ "name": "lastDrawnDirection",
43438
+ "type": {
43439
+ "text": "'ltr' | 'rtl' | undefined"
43440
+ },
43441
+ "privacy": "private",
43442
+ "inheritedFrom": {
43443
+ "name": "LyraChart",
43444
+ "module": "src/components/charts/chart/chart.class.ts"
43445
+ }
43446
+ },
43447
+ {
43448
+ "kind": "field",
43449
+ "name": "lastDrawnLocale",
43450
+ "type": {
43451
+ "text": "string | undefined"
43452
+ },
43453
+ "privacy": "private",
43454
+ "inheritedFrom": {
43455
+ "name": "LyraChart",
43456
+ "module": "src/components/charts/chart/chart.class.ts"
43457
+ }
43458
+ },
43142
43459
  {
43143
43460
  "kind": "field",
43144
43461
  "name": "legend",
@@ -44665,6 +44982,15 @@
44665
44982
  "name": "LyraChart",
44666
44983
  "module": "src/components/charts/chart/chart.class.ts"
44667
44984
  }
44985
+ },
44986
+ {
44987
+ "description": "Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).",
44988
+ "name": "--lr-chart-canvas-hover-outline-width",
44989
+ "default": "var(--lr-border-width-thin)",
44990
+ "inheritedFrom": {
44991
+ "name": "LyraChart",
44992
+ "module": "src/components/charts/chart/chart.class.ts"
44993
+ }
44668
44994
  }
44669
44995
  ],
44670
44996
  "attributes": [
@@ -45308,6 +45634,30 @@
45308
45634
  "module": "src/components/charts/chart/chart.class.ts"
45309
45635
  }
45310
45636
  },
45637
+ {
45638
+ "kind": "field",
45639
+ "name": "lastDrawnDirection",
45640
+ "type": {
45641
+ "text": "'ltr' | 'rtl' | undefined"
45642
+ },
45643
+ "privacy": "private",
45644
+ "inheritedFrom": {
45645
+ "name": "LyraChart",
45646
+ "module": "src/components/charts/chart/chart.class.ts"
45647
+ }
45648
+ },
45649
+ {
45650
+ "kind": "field",
45651
+ "name": "lastDrawnLocale",
45652
+ "type": {
45653
+ "text": "string | undefined"
45654
+ },
45655
+ "privacy": "private",
45656
+ "inheritedFrom": {
45657
+ "name": "LyraChart",
45658
+ "module": "src/components/charts/chart/chart.class.ts"
45659
+ }
45660
+ },
45311
45661
  {
45312
45662
  "kind": "field",
45313
45663
  "name": "legend",
@@ -46834,6 +47184,15 @@
46834
47184
  "name": "LyraChart",
46835
47185
  "module": "src/components/charts/chart/chart.class.ts"
46836
47186
  }
47187
+ },
47188
+ {
47189
+ "description": "Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).",
47190
+ "name": "--lr-chart-canvas-hover-outline-width",
47191
+ "default": "var(--lr-border-width-thin)",
47192
+ "inheritedFrom": {
47193
+ "name": "LyraChart",
47194
+ "module": "src/components/charts/chart/chart.class.ts"
47195
+ }
46837
47196
  }
46838
47197
  ],
46839
47198
  "attributes": [
@@ -47477,6 +47836,30 @@
47477
47836
  "module": "src/components/charts/chart/chart.class.ts"
47478
47837
  }
47479
47838
  },
47839
+ {
47840
+ "kind": "field",
47841
+ "name": "lastDrawnDirection",
47842
+ "type": {
47843
+ "text": "'ltr' | 'rtl' | undefined"
47844
+ },
47845
+ "privacy": "private",
47846
+ "inheritedFrom": {
47847
+ "name": "LyraChart",
47848
+ "module": "src/components/charts/chart/chart.class.ts"
47849
+ }
47850
+ },
47851
+ {
47852
+ "kind": "field",
47853
+ "name": "lastDrawnLocale",
47854
+ "type": {
47855
+ "text": "string | undefined"
47856
+ },
47857
+ "privacy": "private",
47858
+ "inheritedFrom": {
47859
+ "name": "LyraChart",
47860
+ "module": "src/components/charts/chart/chart.class.ts"
47861
+ }
47862
+ },
47480
47863
  {
47481
47864
  "kind": "field",
47482
47865
  "name": "legend",
@@ -49003,6 +49386,15 @@
49003
49386
  "name": "LyraChart",
49004
49387
  "module": "src/components/charts/chart/chart.class.ts"
49005
49388
  }
49389
+ },
49390
+ {
49391
+ "description": "Width of the `[part='canvas']` hover-state outline (its color is `--lr-chart-grid-color`, above).",
49392
+ "name": "--lr-chart-canvas-hover-outline-width",
49393
+ "default": "var(--lr-border-width-thin)",
49394
+ "inheritedFrom": {
49395
+ "name": "LyraChart",
49396
+ "module": "src/components/charts/chart/chart.class.ts"
49397
+ }
49006
49398
  }
49007
49399
  ],
49008
49400
  "attributes": [
@@ -55838,8 +56230,7 @@
55838
56230
  "type": {
55839
56231
  "text": "Set<number>"
55840
56232
  }
55841
- },
55842
- "description": "The line numbers covered by the `highlights` entry matching `activeHighlightId`, if any."
56233
+ }
55843
56234
  },
55844
56235
  {
55845
56236
  "kind": "method",
@@ -55927,24 +56318,6 @@
55927
56318
  "module": "src/internal/lyra-element.ts"
55928
56319
  }
55929
56320
  },
55930
- {
55931
- "kind": "method",
55932
- "name": "eventLine",
55933
- "privacy": "private",
55934
- "return": {
55935
- "type": {
55936
- "text": "number | null"
55937
- }
55938
- },
55939
- "parameters": [
55940
- {
55941
- "name": "e",
55942
- "type": {
55943
- "text": "Event"
55944
- }
55945
- }
55946
- ]
55947
- },
55948
56321
  {
55949
56322
  "kind": "method",
55950
56323
  "name": "lineCount",
@@ -55963,8 +56336,7 @@
55963
56336
  "type": {
55964
56337
  "text": "Set<number>"
55965
56338
  }
55966
- },
55967
- "description": "The merged set of one-based line numbers to emphasize: `highlightLines` plus the `line-range`\nslice of `highlights`. Shared by both the shiki transformer options and the plain-text\nfallback path so their emphasis is always identical."
56339
+ }
55968
56340
  },
55969
56341
  {
55970
56342
  "kind": "method",
@@ -56079,16 +56451,6 @@
56079
56451
  "module": "src/internal/lyra-element.ts"
56080
56452
  }
56081
56453
  },
56082
- {
56083
- "kind": "method",
56084
- "name": "renderHeader",
56085
- "privacy": "private",
56086
- "return": {
56087
- "type": {
56088
- "text": "TemplateResult"
56089
- }
56090
- }
56091
- },
56092
56454
  {
56093
56455
  "kind": "method",
56094
56456
  "name": "renderPlainCode",
@@ -56158,6 +56520,17 @@
56158
56520
  }
56159
56521
  ]
56160
56522
  },
56523
+ {
56524
+ "kind": "method",
56525
+ "name": "showsSkeleton",
56526
+ "privacy": "private",
56527
+ "return": {
56528
+ "type": {
56529
+ "text": "boolean"
56530
+ }
56531
+ },
56532
+ "description": "Whether this render shows the loading skeleton instead of the code. Unlike `<lr-code-block>`,\nthe only highlighter this variant ever waits on is the fine-grained one seeded from\n`languages` -- so a `language` absent from that map has nothing pending and never shows the\nskeleton. Read by both `updated()` and `render()` so the `aria-busy` host attribute can never\ndisagree with what's on screen."
56533
+ },
56161
56534
  {
56162
56535
  "kind": "method",
56163
56536
  "name": "syncHighlight",
@@ -56191,24 +56564,6 @@
56191
56564
  }
56192
56565
  }
56193
56566
  ]
56194
- },
56195
- {
56196
- "kind": "method",
56197
- "name": "writeClipboard",
56198
- "privacy": "private",
56199
- "return": {
56200
- "type": {
56201
- "text": "void"
56202
- }
56203
- },
56204
- "parameters": [
56205
- {
56206
- "name": "text",
56207
- "type": {
56208
- "text": "string"
56209
- }
56210
- }
56211
- ]
56212
56567
  }
56213
56568
  ],
56214
56569
  "events": [
@@ -56434,6 +56789,84 @@
56434
56789
  ],
56435
56790
  "description": "Parses a `highlight-lines` attribute value (e.g. `\"3-5,7\"`) into the set of one-based line\nnumbers it addresses: comma-separated segments, each either a single line number or an\ninclusive range, whitespace around commas/dashes tolerated, a reversed range (`\"5-3\"`)\nnormalized to ascending order. An invalid segment is skipped (with a `console.warn`) rather\nthan throwing or discarding the otherwise-valid segments around it."
56436
56791
  },
56792
+ {
56793
+ "kind": "function",
56794
+ "name": "applyCodeBlockAriaBusy",
56795
+ "return": {
56796
+ "type": {
56797
+ "text": "void"
56798
+ }
56799
+ },
56800
+ "parameters": [
56801
+ {
56802
+ "name": "host",
56803
+ "type": {
56804
+ "text": "Element"
56805
+ }
56806
+ },
56807
+ {
56808
+ "name": "showingSkeleton",
56809
+ "type": {
56810
+ "text": "boolean"
56811
+ }
56812
+ }
56813
+ ],
56814
+ "description": "Mirrors the skeleton state onto the host as `aria-busy`, so assistive tech knows the code\nregion is still resolving."
56815
+ },
56816
+ {
56817
+ "kind": "function",
56818
+ "name": "clampCodeBlockFocusedLine",
56819
+ "return": {
56820
+ "type": {
56821
+ "text": "number"
56822
+ }
56823
+ },
56824
+ "parameters": [
56825
+ {
56826
+ "name": "focusedLine",
56827
+ "type": {
56828
+ "text": "number"
56829
+ }
56830
+ },
56831
+ {
56832
+ "name": "lineCount",
56833
+ "type": {
56834
+ "text": "number"
56835
+ }
56836
+ }
56837
+ ],
56838
+ "description": "Keeps the roving-tabindex gutter's focused line inside `[1, lineCount]` after a `code` change\nshrinks the document out from under it."
56839
+ },
56840
+ {
56841
+ "kind": "function",
56842
+ "name": "codeBlockActiveHighlightLineSet",
56843
+ "return": {
56844
+ "type": {
56845
+ "text": "Set<number>"
56846
+ }
56847
+ },
56848
+ "parameters": [
56849
+ {
56850
+ "name": "highlights",
56851
+ "type": {
56852
+ "text": "readonly LyraHighlight[]"
56853
+ }
56854
+ },
56855
+ {
56856
+ "name": "activeHighlightId",
56857
+ "type": {
56858
+ "text": "string | null"
56859
+ }
56860
+ },
56861
+ {
56862
+ "name": "maxLine",
56863
+ "type": {
56864
+ "text": "number"
56865
+ }
56866
+ }
56867
+ ],
56868
+ "description": "The line numbers covered by the `highlights` entry matching `activeHighlightId`, if any."
56869
+ },
56437
56870
  {
56438
56871
  "kind": "function",
56439
56872
  "name": "codeBlockBodyLabel",
@@ -56488,6 +56921,102 @@
56488
56921
  ],
56489
56922
  "description": "The copy-to-clipboard header button's `aria-label`."
56490
56923
  },
56924
+ {
56925
+ "kind": "function",
56926
+ "name": "codeBlockEventLine",
56927
+ "return": {
56928
+ "type": {
56929
+ "text": "number | null"
56930
+ }
56931
+ },
56932
+ "parameters": [
56933
+ {
56934
+ "name": "e",
56935
+ "type": {
56936
+ "text": "Event"
56937
+ }
56938
+ }
56939
+ ],
56940
+ "description": "The one-based gutter line an event originated in, or `null` when it didn't come from a line\nbutton at all."
56941
+ },
56942
+ {
56943
+ "kind": "function",
56944
+ "name": "codeBlockLineCount",
56945
+ "return": {
56946
+ "type": {
56947
+ "text": "number"
56948
+ }
56949
+ },
56950
+ "parameters": [
56951
+ {
56952
+ "name": "code",
56953
+ "type": {
56954
+ "text": "string"
56955
+ }
56956
+ }
56957
+ ],
56958
+ "description": "One-based line count of `code`, the upper bound every line-addressing helper below clamps to.\nA trailing newline still yields the (empty) line after it, matching the rendered line count."
56959
+ },
56960
+ {
56961
+ "kind": "function",
56962
+ "name": "codeBlockLineHighlightSet",
56963
+ "return": {
56964
+ "type": {
56965
+ "text": "Set<number>"
56966
+ }
56967
+ },
56968
+ "parameters": [
56969
+ {
56970
+ "name": "highlightLines",
56971
+ "type": {
56972
+ "text": "string"
56973
+ }
56974
+ },
56975
+ {
56976
+ "name": "highlights",
56977
+ "type": {
56978
+ "text": "readonly LyraHighlight[]"
56979
+ }
56980
+ },
56981
+ {
56982
+ "name": "maxLine",
56983
+ "type": {
56984
+ "text": "number"
56985
+ }
56986
+ }
56987
+ ],
56988
+ "description": "The merged set of one-based line numbers to emphasize: the `highlight-lines` spec plus the\n`line-range` slice of `highlights`. Shared by both the shiki transformer options and the\nplain-text fallback path so their emphasis is always identical."
56989
+ },
56990
+ {
56991
+ "kind": "function",
56992
+ "name": "codeBlockLineKeyAction",
56993
+ "return": {
56994
+ "type": {
56995
+ "text": "CodeBlockLineKeyAction"
56996
+ }
56997
+ },
56998
+ "parameters": [
56999
+ {
57000
+ "name": "key",
57001
+ "type": {
57002
+ "text": "string"
57003
+ }
57004
+ },
57005
+ {
57006
+ "name": "line",
57007
+ "type": {
57008
+ "text": "number"
57009
+ }
57010
+ },
57011
+ {
57012
+ "name": "total",
57013
+ "type": {
57014
+ "text": "number"
57015
+ }
57016
+ }
57017
+ ],
57018
+ "description": "The roving-tabindex keyboard contract for the (`line-numbers`-gated) gutter."
57019
+ },
56491
57020
  {
56492
57021
  "kind": "function",
56493
57022
  "name": "codeBlockLineTransformer",
@@ -56506,6 +57035,96 @@
56506
57035
  ],
56507
57036
  "description": "A shiki transformer shared by `<lr-code-block>` and `<lr-code-block-core>` — rewrites\nshiki's generated `<pre>`/`<code>`/per-line hast nodes so the highlighted output carries this\nlibrary's own `part=\"pre\"`/`part=\"code\"` hooks plus, per line, `data-line`, and (only for a\nhighlighted/active line) `data-highlighted`/`data-active` and `part=\"line-highlight\"`. Also\nstrips shiki's own default `tabindex=\"0\"` from `<pre>` — each component's own `[part=\"body\"]`\nwrapper is the single scrollable/focusable region."
56508
57037
  },
57038
+ {
57039
+ "kind": "function",
57040
+ "name": "codeBlockNeedsHighlightResync",
57041
+ "return": {
57042
+ "type": {
57043
+ "text": "boolean"
57044
+ }
57045
+ },
57046
+ "parameters": [
57047
+ {
57048
+ "name": "changed",
57049
+ "type": {
57050
+ "text": "PropertyValues"
57051
+ }
57052
+ }
57053
+ ],
57054
+ "description": "Every property whose change invalidates the cached `highlightedHtml`. `code`/`language`/\n`languages`/`languagesOnly` change *what* is tokenized; `highlightLines`/`highlights`/\n`activeHighlightId`/`lineNumbers`/`interactiveLines` all feed `codeBlockLineTransformer()`'s\noptions, so a change to any of them needs a re-tokenize to stay in sync even when the code\nitself is untouched. `languagesOnly` is listed for `<lr-code-block>`; `<lr-code-block-core>` has\nno such property, so it simply never appears in that component's changed map."
57055
+ },
57056
+ {
57057
+ "kind": "function",
57058
+ "name": "codeBlockPreSuppliedGrammar",
57059
+ "return": {
57060
+ "type": {
57061
+ "text": "ShikiLanguageInput | undefined"
57062
+ }
57063
+ },
57064
+ "parameters": [
57065
+ {
57066
+ "name": "languages",
57067
+ "type": {
57068
+ "text": "Record<string, ShikiLanguageInput> | undefined"
57069
+ }
57070
+ },
57071
+ {
57072
+ "name": "language",
57073
+ "type": {
57074
+ "text": "string"
57075
+ }
57076
+ }
57077
+ ],
57078
+ "description": "The `languages` entry for the *current* `language`, if any -- looked up under both the\nshiki-normalized id and the raw property value, so `willUpdate()`/`updated()`/`render()`/\n`syncHighlight()` on either component all agree on whether the fine-grained path applies."
57079
+ },
57080
+ {
57081
+ "kind": "function",
57082
+ "name": "codeBlockSelectionAnchor",
57083
+ "return": {
57084
+ "type": {
57085
+ "text": "CodeBlockSelection | null"
57086
+ }
57087
+ },
57088
+ "parameters": [
57089
+ {
57090
+ "name": "shadowRoot",
57091
+ "type": {
57092
+ "text": "ShadowRoot | null"
57093
+ }
57094
+ }
57095
+ ],
57096
+ "description": "Anchors the current selection to the `line-range` it spans. `null` whenever there's nothing to\nreport: no selection, a collapsed/whitespace-only one, or endpoints outside any `[data-line]`."
57097
+ },
57098
+ {
57099
+ "kind": "function",
57100
+ "name": "codeBlockShowsSkeleton",
57101
+ "return": {
57102
+ "type": {
57103
+ "text": "boolean"
57104
+ }
57105
+ },
57106
+ "parameters": [
57107
+ {
57108
+ "name": "shikiReady",
57109
+ "type": {
57110
+ "text": "boolean"
57111
+ }
57112
+ },
57113
+ {
57114
+ "name": "language",
57115
+ "type": {
57116
+ "text": "string"
57117
+ }
57118
+ },
57119
+ {
57120
+ "name": "loaderPending",
57121
+ "type": {
57122
+ "text": "boolean"
57123
+ }
57124
+ }
57125
+ ],
57126
+ "description": "Whether the `<lr-skeleton>` placeholder stands in for the code this render. Both components gate\nit on \"a highlighter this instance is actually waiting for hasn't settled yet, and there's a\n`language` worth highlighting\" -- they differ only in *which* loader that is, which is what\n`loaderPending` carries: `<lr-code-block>` passes `!languagesOnly && !preSuppliedGrammar` (it is\nwaiting on the shared full-table singleton), `<lr-code-block-core>` passes `!!preSuppliedGrammar`\n(it is waiting on the fine-grained `languages` highlighter, its only one). Called from both\n`updated()` and `render()` on each class so the `aria-busy` host attribute can never disagree\nwith what is actually on screen."
57127
+ },
56509
57128
  {
56510
57129
  "kind": "function",
56511
57130
  "name": "codeBlockToggleLabel",
@@ -56551,6 +57170,24 @@
56551
57170
  }
56552
57171
  ]
56553
57172
  },
57173
+ {
57174
+ "kind": "function",
57175
+ "name": "renderCodeBlockHeader",
57176
+ "return": {
57177
+ "type": {
57178
+ "text": "TemplateResult"
57179
+ }
57180
+ },
57181
+ "parameters": [
57182
+ {
57183
+ "name": "options",
57184
+ "type": {
57185
+ "text": "CodeBlockHeaderOptions"
57186
+ }
57187
+ }
57188
+ ],
57189
+ "description": "The header row above the code (filename/language/copy/toggle) shared by `<lr-code-block>` and\n`<lr-code-block-core>`. `aria-expanded` renders both `\"true\"` and `\"false\"` rather than being\nconditionally omitted -- the collapse toggle's state is meaningless to assistive tech otherwise."
57190
+ },
56554
57191
  {
56555
57192
  "kind": "function",
56556
57193
  "name": "renderCodeBlockPlainCode",
@@ -56568,9 +57205,110 @@
56568
57205
  }
56569
57206
  ],
56570
57207
  "description": "The plain-text (non-shiki) fallback `<code>` rendering shared by `<lr-code-block>` and\n`<lr-code-block-core>` -- previously a byte-for-byte-duplicated private method on both classes,\nmoved here for the same drift-prevention reason as `codeBlockLineTransformer` above. Always\nsplits into per-line spans/buttons (not just while `lineNumbers` is set) -- the per-line wrapper\nis what `highlight-lines`/`highlights`/`interactive-lines` attach to. `.split()` consumes each\nnewline character, so a literal `'\\n'` text node is re-inserted between lines to keep the\nnon-line-numbered case's visual output (relying on `[part='pre']`'s `white-space: pre`) identical\nto a single-text-node rendering -- the line-numbered case's `.line` elements are already\n`display: block` (`code-block.styles.ts`) so that text node is inert there. `interactiveLines`\nonly takes effect alongside `lineNumbers` -- the shiki-highlighted path doesn't render gutter\nbuttons (see each component's own class doc), only `data-line`/`data-highlighted`/`data-active`/\n`part=\"line-highlight\"` from `codeBlockLineTransformer` above."
57208
+ },
57209
+ {
57210
+ "kind": "function",
57211
+ "name": "renderCodeBlockShell",
57212
+ "return": {
57213
+ "type": {
57214
+ "text": "TemplateResult"
57215
+ }
57216
+ },
57217
+ "parameters": [
57218
+ {
57219
+ "name": "options",
57220
+ "type": {
57221
+ "text": "CodeBlockShellOptions"
57222
+ }
57223
+ }
57224
+ ],
57225
+ "description": "The whole rendered tree for both components: the header (only when there's anything to put in\nit) plus the scrollable code body.\n\n`[part=\"body\"]` is `tabindex=\"0\"` because it's the scrollable region for arbitrarily-wide/tall\ncode (`max-height`, plus horizontal overflow from long lines) -- a scrollable region with no\nother focusable content of its own is otherwise unreachable by keyboard, the same reasoning\n`<lr-virtual-list>`'s own `[part=\"base\"]` documents for its identical tabindex. `role=\"group\"`\n(rather than e.g. `region`, a page landmark role) plus `aria-label` gives it an accessible name\nwithout claiming landmark/navigation significance for what is, structurally, just one small piece\nof a larger document."
57226
+ },
57227
+ {
57228
+ "kind": "function",
57229
+ "name": "scrollCodeBlockToAnchor",
57230
+ "return": {
57231
+ "type": {
57232
+ "text": "Promise<boolean>"
57233
+ }
57234
+ },
57235
+ "parameters": [
57236
+ {
57237
+ "name": "host",
57238
+ "type": {
57239
+ "text": "CodeBlockAnchorHost"
57240
+ }
57241
+ },
57242
+ {
57243
+ "name": "target",
57244
+ "type": {
57245
+ "text": "LyraAnchor | string"
57246
+ }
57247
+ }
57248
+ ],
57249
+ "description": "Resolves a `line-range` anchor (or a `highlights` id string resolving to one) by scrolling its\nstart line into view within `[part=\"body\"]`. Resolves `false` when the anchor isn't a\n`line-range`, the id isn't found, or the start line is out of bounds."
57250
+ },
57251
+ {
57252
+ "kind": "function",
57253
+ "name": "tokenizeCodeBlock",
57254
+ "return": {
57255
+ "type": {
57256
+ "text": "string | null"
57257
+ }
57258
+ },
57259
+ "parameters": [
57260
+ {
57261
+ "name": "hl",
57262
+ "type": {
57263
+ "text": "ShikiHighlighterCore"
57264
+ }
57265
+ },
57266
+ {
57267
+ "name": "options",
57268
+ "type": {
57269
+ "text": "CodeBlockTokenizeOptions"
57270
+ }
57271
+ }
57272
+ ],
57273
+ "description": "The `codeToHtml()` call both components make once their own loader has produced a highlighter.\n`hl` is deliberately typed as the fine-grained `ShikiHighlighterCore` -- it and\n`ShikiHighlighter` are the same structural type (see `code-loader.ts`), and naming the\nfine-grained one keeps this module free of any reference to the full-table half.\n\nshiki's generated per-token colors are theme-specific inline styles/CSS variables (from\n`SHIKI_THEMES`'s github-light/github-dark theme data), not this library's `--lr-*` design tokens\n-- the one deliberate exception to every other color in these components being a `--lr-*` token.\nSee the dark-mode override in `code-block.styles.ts` for how the dark half of this activates.\nReturns `null` on malformed input for the grammar or any other shiki-internal failure, so the\ncaller falls back to plain text rather than a blank code block."
57274
+ },
57275
+ {
57276
+ "kind": "function",
57277
+ "name": "writeCodeBlockClipboard",
57278
+ "return": {
57279
+ "type": {
57280
+ "text": "void"
57281
+ }
57282
+ },
57283
+ "parameters": [
57284
+ {
57285
+ "name": "text",
57286
+ "type": {
57287
+ "text": "string"
57288
+ }
57289
+ }
57290
+ ],
57291
+ "description": "Best-effort clipboard write. `navigator.clipboard` is absent in insecure contexts / older\nbrowsers, and some engines throw synchronously rather than rejecting -- either way the caller\nstill emits `lr-copy` regardless of whether the OS clipboard was actually reached, the same\nconvention `<lr-json-viewer>`'s own copy button follows."
57292
+ },
57293
+ {
57294
+ "kind": "variable",
57295
+ "name": "CODE_BLOCK_COPY_CONFIRM_MS",
57296
+ "type": {
57297
+ "text": "number"
57298
+ },
57299
+ "default": "1500",
57300
+ "description": "How long the copy button's confirmation state lasts before reverting."
56571
57301
  }
56572
57302
  ],
56573
57303
  "exports": [
57304
+ {
57305
+ "kind": "js",
57306
+ "name": "CODE_BLOCK_COPY_CONFIRM_MS",
57307
+ "declaration": {
57308
+ "name": "CODE_BLOCK_COPY_CONFIRM_MS",
57309
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57310
+ }
57311
+ },
56574
57312
  {
56575
57313
  "kind": "js",
56576
57314
  "name": "addBoundedLineRange",
@@ -56579,6 +57317,30 @@
56579
57317
  "module": "src/components/conversation/code-block/code-block-shared.ts"
56580
57318
  }
56581
57319
  },
57320
+ {
57321
+ "kind": "js",
57322
+ "name": "applyCodeBlockAriaBusy",
57323
+ "declaration": {
57324
+ "name": "applyCodeBlockAriaBusy",
57325
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57326
+ }
57327
+ },
57328
+ {
57329
+ "kind": "js",
57330
+ "name": "clampCodeBlockFocusedLine",
57331
+ "declaration": {
57332
+ "name": "clampCodeBlockFocusedLine",
57333
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57334
+ }
57335
+ },
57336
+ {
57337
+ "kind": "js",
57338
+ "name": "codeBlockActiveHighlightLineSet",
57339
+ "declaration": {
57340
+ "name": "codeBlockActiveHighlightLineSet",
57341
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57342
+ }
57343
+ },
56582
57344
  {
56583
57345
  "kind": "js",
56584
57346
  "name": "codeBlockBodyLabel",
@@ -56595,6 +57357,38 @@
56595
57357
  "module": "src/components/conversation/code-block/code-block-shared.ts"
56596
57358
  }
56597
57359
  },
57360
+ {
57361
+ "kind": "js",
57362
+ "name": "codeBlockEventLine",
57363
+ "declaration": {
57364
+ "name": "codeBlockEventLine",
57365
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57366
+ }
57367
+ },
57368
+ {
57369
+ "kind": "js",
57370
+ "name": "codeBlockLineCount",
57371
+ "declaration": {
57372
+ "name": "codeBlockLineCount",
57373
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57374
+ }
57375
+ },
57376
+ {
57377
+ "kind": "js",
57378
+ "name": "codeBlockLineHighlightSet",
57379
+ "declaration": {
57380
+ "name": "codeBlockLineHighlightSet",
57381
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57382
+ }
57383
+ },
57384
+ {
57385
+ "kind": "js",
57386
+ "name": "codeBlockLineKeyAction",
57387
+ "declaration": {
57388
+ "name": "codeBlockLineKeyAction",
57389
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57390
+ }
57391
+ },
56598
57392
  {
56599
57393
  "kind": "js",
56600
57394
  "name": "codeBlockLineTransformer",
@@ -56603,6 +57397,38 @@
56603
57397
  "module": "src/components/conversation/code-block/code-block-shared.ts"
56604
57398
  }
56605
57399
  },
57400
+ {
57401
+ "kind": "js",
57402
+ "name": "codeBlockNeedsHighlightResync",
57403
+ "declaration": {
57404
+ "name": "codeBlockNeedsHighlightResync",
57405
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57406
+ }
57407
+ },
57408
+ {
57409
+ "kind": "js",
57410
+ "name": "codeBlockPreSuppliedGrammar",
57411
+ "declaration": {
57412
+ "name": "codeBlockPreSuppliedGrammar",
57413
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57414
+ }
57415
+ },
57416
+ {
57417
+ "kind": "js",
57418
+ "name": "codeBlockSelectionAnchor",
57419
+ "declaration": {
57420
+ "name": "codeBlockSelectionAnchor",
57421
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57422
+ }
57423
+ },
57424
+ {
57425
+ "kind": "js",
57426
+ "name": "codeBlockShowsSkeleton",
57427
+ "declaration": {
57428
+ "name": "codeBlockShowsSkeleton",
57429
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57430
+ }
57431
+ },
56606
57432
  {
56607
57433
  "kind": "js",
56608
57434
  "name": "codeBlockToggleLabel",
@@ -56619,6 +57445,14 @@
56619
57445
  "module": "src/components/conversation/code-block/code-block-shared.ts"
56620
57446
  }
56621
57447
  },
57448
+ {
57449
+ "kind": "js",
57450
+ "name": "renderCodeBlockHeader",
57451
+ "declaration": {
57452
+ "name": "renderCodeBlockHeader",
57453
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57454
+ }
57455
+ },
56622
57456
  {
56623
57457
  "kind": "js",
56624
57458
  "name": "renderCodeBlockPlainCode",
@@ -56626,6 +57460,38 @@
56626
57460
  "name": "renderCodeBlockPlainCode",
56627
57461
  "module": "src/components/conversation/code-block/code-block-shared.ts"
56628
57462
  }
57463
+ },
57464
+ {
57465
+ "kind": "js",
57466
+ "name": "renderCodeBlockShell",
57467
+ "declaration": {
57468
+ "name": "renderCodeBlockShell",
57469
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57470
+ }
57471
+ },
57472
+ {
57473
+ "kind": "js",
57474
+ "name": "scrollCodeBlockToAnchor",
57475
+ "declaration": {
57476
+ "name": "scrollCodeBlockToAnchor",
57477
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57478
+ }
57479
+ },
57480
+ {
57481
+ "kind": "js",
57482
+ "name": "tokenizeCodeBlock",
57483
+ "declaration": {
57484
+ "name": "tokenizeCodeBlock",
57485
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57486
+ }
57487
+ },
57488
+ {
57489
+ "kind": "js",
57490
+ "name": "writeCodeBlockClipboard",
57491
+ "declaration": {
57492
+ "name": "writeCodeBlockClipboard",
57493
+ "module": "src/components/conversation/code-block/code-block-shared.ts"
57494
+ }
56629
57495
  }
56630
57496
  ]
56631
57497
  },
@@ -57121,8 +57987,7 @@
57121
57987
  "type": {
57122
57988
  "text": "Set<number>"
57123
57989
  }
57124
- },
57125
- "description": "The line numbers covered by the `highlights` entry matching `activeHighlightId`, if any."
57990
+ }
57126
57991
  },
57127
57992
  {
57128
57993
  "kind": "method",
@@ -57220,24 +58085,6 @@
57220
58085
  }
57221
58086
  }
57222
58087
  },
57223
- {
57224
- "kind": "method",
57225
- "name": "eventLine",
57226
- "privacy": "private",
57227
- "return": {
57228
- "type": {
57229
- "text": "number | null"
57230
- }
57231
- },
57232
- "parameters": [
57233
- {
57234
- "name": "e",
57235
- "type": {
57236
- "text": "Event"
57237
- }
57238
- }
57239
- ]
57240
- },
57241
58088
  {
57242
58089
  "kind": "method",
57243
58090
  "name": "lineCount",
@@ -57256,8 +58103,7 @@
57256
58103
  "type": {
57257
58104
  "text": "Set<number>"
57258
58105
  }
57259
- },
57260
- "description": "The merged set of one-based line numbers to emphasize: `highlightLines` plus the `line-range`\nslice of `highlights`. Shared by both the shiki transformer options and the plain-text\nfallback path so their emphasis is always identical."
58106
+ }
57261
58107
  },
57262
58108
  {
57263
58109
  "kind": "method",
@@ -57372,16 +58218,6 @@
57372
58218
  "module": "src/internal/lyra-element.ts"
57373
58219
  }
57374
58220
  },
57375
- {
57376
- "kind": "method",
57377
- "name": "renderHeader",
57378
- "privacy": "private",
57379
- "return": {
57380
- "type": {
57381
- "text": "TemplateResult"
57382
- }
57383
- }
57384
- },
57385
58221
  {
57386
58222
  "kind": "method",
57387
58223
  "name": "renderPlainCode",
@@ -57451,6 +58287,17 @@
57451
58287
  }
57452
58288
  ]
57453
58289
  },
58290
+ {
58291
+ "kind": "method",
58292
+ "name": "showsSkeleton",
58293
+ "privacy": "private",
58294
+ "return": {
58295
+ "type": {
58296
+ "text": "boolean"
58297
+ }
58298
+ },
58299
+ "description": "Whether this render shows the loading skeleton instead of the code. `languagesOnly` skips the\ndefault loader entirely (see `ensureDefaultHighlighter()`), so `shikiReady` never becomes true\nfor it -- treat that as \"nothing to wait for\" rather than \"still loading\", the same way a\n`preSuppliedGrammar()` match already does. Read by both `updated()` and `render()` so the\n`aria-busy` host attribute can never disagree with what's on screen."
58300
+ },
57454
58301
  {
57455
58302
  "kind": "method",
57456
58303
  "name": "syncHighlight",
@@ -57484,24 +58331,6 @@
57484
58331
  }
57485
58332
  }
57486
58333
  ]
57487
- },
57488
- {
57489
- "kind": "method",
57490
- "name": "writeClipboard",
57491
- "privacy": "private",
57492
- "return": {
57493
- "type": {
57494
- "text": "void"
57495
- }
57496
- },
57497
- "parameters": [
57498
- {
57499
- "name": "text",
57500
- "type": {
57501
- "text": "string"
57502
- }
57503
- }
57504
- ]
57505
58334
  }
57506
58335
  ],
57507
58336
  "events": [
@@ -60650,7 +61479,7 @@
60650
61479
  "kind": "field",
60651
61480
  "name": "resolvedHighlightRanges",
60652
61481
  "type": {
60653
- "text": "{ id: string; range: Range }[]"
61482
+ "text": "ResolvedHighlightRange[]"
60654
61483
  },
60655
61484
  "privacy": "private",
60656
61485
  "default": "[]",
@@ -60781,54 +61610,6 @@
60781
61610
  }
60782
61611
  ]
60783
61612
  },
60784
- {
60785
- "kind": "method",
60786
- "name": "applyFragmentAnchor",
60787
- "privacy": "private",
60788
- "return": {
60789
- "type": {
60790
- "text": "boolean"
60791
- }
60792
- },
60793
- "parameters": [
60794
- {
60795
- "name": "root",
60796
- "type": {
60797
- "text": "Element"
60798
- }
60799
- },
60800
- {
60801
- "name": "anchor",
60802
- "type": {
60803
- "text": "Extract<LyraAnchor, { kind: 'fragment' }>"
60804
- }
60805
- }
60806
- ]
60807
- },
60808
- {
60809
- "kind": "method",
60810
- "name": "applyTextQuoteAnchor",
60811
- "privacy": "private",
60812
- "return": {
60813
- "type": {
60814
- "text": "boolean"
60815
- }
60816
- },
60817
- "parameters": [
60818
- {
60819
- "name": "root",
60820
- "type": {
60821
- "text": "Element"
60822
- }
60823
- },
60824
- {
60825
- "name": "anchor",
60826
- "type": {
60827
- "text": "Extract<LyraAnchor, { kind: 'text-quote' }>"
60828
- }
60829
- }
60830
- ]
60831
- },
60832
61613
  {
60833
61614
  "kind": "method",
60834
61615
  "name": "beginAbortableLoad",
@@ -60920,31 +61701,6 @@
60920
61701
  }
60921
61702
  }
60922
61703
  },
60923
- {
60924
- "kind": "method",
60925
- "name": "findHeadingByComputedId",
60926
- "privacy": "private",
60927
- "return": {
60928
- "type": {
60929
- "text": "Element | null"
60930
- }
60931
- },
60932
- "parameters": [
60933
- {
60934
- "name": "root",
60935
- "type": {
60936
- "text": "Element"
60937
- }
60938
- },
60939
- {
60940
- "name": "id",
60941
- "type": {
60942
- "text": "string"
60943
- }
60944
- }
60945
- ],
60946
- "description": "`headingAnchors` may be off, so a target heading might carry no `id` attribute in the DOM --\nre-derives the same slug order `getHeadingTree()` was built in and matches by position\ninstead of by attribute."
60947
- },
60948
61704
  {
60949
61705
  "kind": "method",
60950
61706
  "name": "getCachedHighlight",
@@ -61003,31 +61759,6 @@
61003
61759
  ],
61004
61760
  "description": "Loads whatever shiki grammars `pendingKeys` need, tokenizes each pending block concurrently,\npopulates `highlightCache` with the results, then triggers one more `renderMarkdown()` pass so\nthe newly-cached entries actually reach the screen. A pending key whose language isn't a key in\n`languages`, or otherwise fails to tokenize, is recorded in `failedHighlightKeys` -- it stays\nuncached, so `code()` keeps emitting its plain fallback for it on every future render, and\n`code()` also stops re-discovering it as pending (see `failedHighlightKeys`'s own doc for why\nthat matters: without it, the `renderMarkdown()` call at the end of this method would\nrediscover the same permanently-uncacheable key as pending on every pass, forever). Does not\nblock or delay any other pending key -- each is tried independently via `Promise.all`."
61005
61761
  },
61006
- {
61007
- "kind": "method",
61008
- "name": "hitTestHighlightAt",
61009
- "privacy": "private",
61010
- "return": {
61011
- "type": {
61012
- "text": "string | null"
61013
- }
61014
- },
61015
- "parameters": [
61016
- {
61017
- "name": "x",
61018
- "type": {
61019
- "text": "number"
61020
- }
61021
- },
61022
- {
61023
- "name": "y",
61024
- "type": {
61025
- "text": "number"
61026
- }
61027
- }
61028
- ],
61029
- "description": "Hit-tests a click point against every currently-resolved highlight's `getClientRects()`,\ntopmost (last-resolved) first. The CSS Custom Highlight API paints ranges without creating any\nDOM element to attach a click listener to, so this is the only activation path that works\nidentically on both paint paths -- mirrors `<lr-pdf-viewer>`'s own coordinate-based\n`onPageClick()` hit-test for the same reason (its own painted highlights sit under a text\nlayer that intercepts most pointer events)."
61030
- },
61031
61762
  {
61032
61763
  "kind": "method",
61033
61764
  "name": "localize",
@@ -61093,7 +61824,7 @@
61093
61824
  "text": "void"
61094
61825
  }
61095
61826
  },
61096
- "description": "Kicks off the shared `katex` load the first time `math` needs it and no attempt is already\nin flight (module-scoped, so every `<lr-markdown>` instance on the page shares one load --\nmirrors `markdown-loader.ts`'s own warm-cache shape). Skipped entirely under\n`__setKatexForTesting()` -- that seam controls math-rendering behavior directly and must never\nrace a real, unmocked `import('katex')` settling underneath it."
61827
+ "description": "Kicks off this variant's `katex` load the first time `math` needs it and no attempt is\nalready in flight (module-scoped, so every `<lr-markdown-core>` instance on the page shares\none load -- mirrors `markdown-loader.ts`'s own warm-cache shape). Skipped entirely under\n`__setKatexForTesting()` -- that seam controls math-rendering behavior directly and must never\nrace a real, unmocked `import('katex')` settling underneath it."
61097
61828
  },
61098
61829
  {
61099
61830
  "kind": "method",
@@ -61182,7 +61913,8 @@
61182
61913
  "type": {
61183
61914
  "text": "void"
61184
61915
  }
61185
- }
61916
+ },
61917
+ "description": "Runs the shared parse/sanitize/fallback pipeline (see `renderMarkdownDocument()`) and applies\nits outcome to this instance's own state -- every `@state` assignment and every emitted event\nstays here so the shared half remains a pure function of its inputs."
61186
61918
  },
61187
61919
  {
61188
61920
  "kind": "method",
@@ -61193,7 +61925,7 @@
61193
61925
  "text": "void"
61194
61926
  }
61195
61927
  },
61196
- "description": "Re-resolves every `text-quote` highlight against the current rendered content and repaints\nvia `acquireHighlightHandle()` -- resolution is always by quote text, never by node identity,\nso a highlight set before its quote exists in `content` yet (e.g. mid-`streaming`) simply\npaints nothing until a later render's text actually contains it. `fragment` highlights aren't\npainted (there is no literal span of text to wrap/underline for a whole section)."
61928
+ "description": "Re-resolves and repaints every `text-quote` highlight -- see\n`repaintMarkdownHighlights()` for the resolution contract."
61197
61929
  },
61198
61930
  {
61199
61931
  "kind": "method",
@@ -61204,7 +61936,7 @@
61204
61936
  "text": "void"
61205
61937
  }
61206
61938
  },
61207
- "description": "Fires `lr-render-error` once per instance for a permanently-missing `katex` peer. Called\nonly once `renderMarkdown()` has confirmed the peer is actually missing (`katexOverride` or\nthe resolved module is `null`) -- a math token rendering its literal fallback while the load\nis merely still in flight (the same one-microtask transient window every other optional peer\nin this component has) never reports an error on its own."
61939
+ "description": "Fires `lr-render-error` once per instance for a permanently-missing `katex` peer. Called\nonly once `renderMarkdown()` has confirmed the peer is actually missing (the test override or\nthe resolved module is `null`) -- a math token rendering its literal fallback while the load\nis merely still in flight (the same one-microtask transient window every other optional peer\nin this component has) never reports an error on its own."
61208
61940
  },
61209
61941
  {
61210
61942
  "kind": "method",
@@ -61539,6 +62271,108 @@
61539
62271
  "kind": "javascript-module",
61540
62272
  "path": "src/components/conversation/markdown/markdown-shared.ts",
61541
62273
  "declarations": [
62274
+ {
62275
+ "kind": "function",
62276
+ "name": "applyMarkdownAriaBusy",
62277
+ "return": {
62278
+ "type": {
62279
+ "text": "void"
62280
+ }
62281
+ },
62282
+ "parameters": [
62283
+ {
62284
+ "name": "host",
62285
+ "type": {
62286
+ "text": "Element"
62287
+ }
62288
+ },
62289
+ {
62290
+ "name": "busy",
62291
+ "type": {
62292
+ "text": "boolean"
62293
+ }
62294
+ }
62295
+ ],
62296
+ "description": "Mirrors \"the document is not final\" onto the host as `aria-busy`, so assistive technology knows\nthe rendered output is still resolving (peers loading, or `streaming` still on)."
62297
+ },
62298
+ {
62299
+ "kind": "function",
62300
+ "name": "applyMarkdownFragmentAnchor",
62301
+ "return": {
62302
+ "type": {
62303
+ "text": "boolean"
62304
+ }
62305
+ },
62306
+ "parameters": [
62307
+ {
62308
+ "name": "root",
62309
+ "type": {
62310
+ "text": "Element"
62311
+ }
62312
+ },
62313
+ {
62314
+ "name": "anchor",
62315
+ "type": {
62316
+ "text": "Extract<LyraAnchor, { kind: 'fragment' }>"
62317
+ }
62318
+ },
62319
+ {
62320
+ "name": "headingTree",
62321
+ "type": {
62322
+ "text": "readonly MarkdownHeadingItem[]"
62323
+ }
62324
+ }
62325
+ ],
62326
+ "description": "Scrolls a `fragment` anchor's heading into view. `headingAnchors` may be off, so the target\nheading might carry no `id` attribute in the DOM at all -- and even with it on, DOMPurify's\nDOM-clobbering protection strips a slug colliding with a real `document` property name. Both\ncases fall back to re-deriving the same slug order `getHeadingTree()` was built in and matching\nby position instead of by attribute."
62327
+ },
62328
+ {
62329
+ "kind": "function",
62330
+ "name": "applyMarkdownTextQuoteAnchor",
62331
+ "return": {
62332
+ "type": {
62333
+ "text": "boolean"
62334
+ }
62335
+ },
62336
+ "parameters": [
62337
+ {
62338
+ "name": "root",
62339
+ "type": {
62340
+ "text": "Element"
62341
+ }
62342
+ },
62343
+ {
62344
+ "name": "anchor",
62345
+ "type": {
62346
+ "text": "Extract<LyraAnchor, { kind: 'text-quote' }>"
62347
+ }
62348
+ }
62349
+ ],
62350
+ "description": "Scrolls a `text-quote` anchor's resolved range into view, centered."
62351
+ },
62352
+ {
62353
+ "kind": "function",
62354
+ "name": "beginMarkdownDepsLoad",
62355
+ "return": {
62356
+ "type": {
62357
+ "text": "void"
62358
+ }
62359
+ },
62360
+ "parameters": [
62361
+ {
62362
+ "name": "host",
62363
+ "type": {
62364
+ "text": "{ readonly eagerLoad: boolean; readonly isConnected: boolean }"
62365
+ }
62366
+ },
62367
+ {
62368
+ "name": "apply",
62369
+ "type": {
62370
+ "text": "(deps: MarkdownDeps) => void"
62371
+ }
62372
+ }
62373
+ ],
62374
+ "description": "`connectedCallback()`'s optional-peer load for both variants. `eagerLoad` only takes the\nsynchronous path when the shared `marked`/`dompurify` module cache has *already* settled (see\n`getMarkdownDepsIfLoaded()`'s doc) -- otherwise it falls through to the same async path as the\ndefault, since a dynamic `import()` can't be made synchronous from scratch.\n\nThe (module-cached, page-lifetime) `loadMarkdownDeps()` promise can resolve after the instance\nwas removed from the DOM -- e.g. a markdown viewer inside a conditionally-rendered chat message\nor a virtualized list. Without the `isConnected` guard, a detached instance would still have its\ndeps applied and a render scheduled that no one will ever see. Mirrors `chart.ts`'s own\n`connectedCallback()` guard for the identical race."
62375
+ },
61542
62376
  {
61543
62377
  "kind": "function",
61544
62378
  "name": "cleanHref",
@@ -61557,6 +62391,15 @@
61557
62391
  ],
61558
62392
  "description": "Mirrors marked's own default `link()` renderer's `cleanUrl()`: a malformed\npercent-escape or lone UTF-16 surrogate in the raw href throws inside\n`encodeURI`, and marked's default renderer responds by dropping the anchor\n(rendering the link text alone) rather than emitting a broken `href` —\nreturning `null` here lets the caller do the same. The\n`.replace(/%25/g, '%')` compensates for `encodeURI` re-escaping the `%` of\nan href that was already percent-encoded (the common case for a real\nmarkdown link) — without it, every existing `%XX` escape would become\n`%25XX`, double-encoding it."
61559
62393
  },
62394
+ {
62395
+ "kind": "function",
62396
+ "name": "createMarkdownKatexState",
62397
+ "return": {
62398
+ "type": {
62399
+ "text": "MarkdownKatexState"
62400
+ }
62401
+ }
62402
+ },
61560
62403
  {
61561
62404
  "kind": "function",
61562
62405
  "name": "escapeHtml",
@@ -61598,6 +62441,145 @@
61598
62441
  ],
61599
62442
  "description": "LRU read: a hit is re-inserted so Map iteration order (insertion order) keeps the first key\nthe least recently used one -- the entry `setCachedHighlight()` evicts when full."
61600
62443
  },
62444
+ {
62445
+ "kind": "function",
62446
+ "name": "hitTestHighlightRanges",
62447
+ "return": {
62448
+ "type": {
62449
+ "text": "string | null"
62450
+ }
62451
+ },
62452
+ "parameters": [
62453
+ {
62454
+ "name": "ranges",
62455
+ "type": {
62456
+ "text": "readonly ResolvedHighlightRange[]"
62457
+ }
62458
+ },
62459
+ {
62460
+ "name": "x",
62461
+ "type": {
62462
+ "text": "number"
62463
+ }
62464
+ },
62465
+ {
62466
+ "name": "y",
62467
+ "type": {
62468
+ "text": "number"
62469
+ }
62470
+ }
62471
+ ],
62472
+ "description": "Hit-tests a click point against every currently-resolved highlight's `getClientRects()`, topmost\n(last-resolved) first. The CSS Custom Highlight API paints ranges without creating any DOM element\nto attach a click listener to, so this is the only activation path that works identically on both\npaint paths -- mirrors `<lr-pdf-viewer>`'s own coordinate-based `onPageClick()` hit-test for the\nsame reason (its own painted highlights sit under a text layer that intercepts most pointer\nevents)."
62473
+ },
62474
+ {
62475
+ "kind": "function",
62476
+ "name": "internalLinkHrefFrom",
62477
+ "return": {
62478
+ "type": {
62479
+ "text": "string | null"
62480
+ }
62481
+ },
62482
+ "parameters": [
62483
+ {
62484
+ "name": "e",
62485
+ "type": {
62486
+ "text": "MouseEvent"
62487
+ }
62488
+ },
62489
+ {
62490
+ "name": "prefix",
62491
+ "type": {
62492
+ "text": "string"
62493
+ }
62494
+ }
62495
+ ],
62496
+ "description": "The `href` of the rendered link a click landed on, when `internal-link-prefix` claims it --\n`null` for every other click, including one on an ordinary external link.\n\nCompared against the raw `href` *attribute*, not the `.href` IDL property: the property is\nalways browser-resolved to an absolute URL (e.g. \"https://example.com/docs\") even for a\nrelative/prefixed path, which would never match a relative `internal-link-prefix`."
62497
+ },
62498
+ {
62499
+ "kind": "function",
62500
+ "name": "markdownCodeTransformer",
62501
+ "parameters": [
62502
+ {
62503
+ "name": "lang",
62504
+ "type": {
62505
+ "text": "string"
62506
+ }
62507
+ }
62508
+ ],
62509
+ "description": "Rewrites shiki's generated `<pre>`/`<code>` hast nodes so the highlighted output keeps the\nmarkdown viewers' own `part=\"code-block\"` hook and a `language-${lang}` class on `<code>` --\nmatching the plain-render output shape exactly, so existing consumer CSS targeting either keeps\nworking whether or not a given block ended up highlighted. A separate, purpose-built function\nfrom `code-block-shared.ts`'s own `codeBlockLineTransformer` -- that one targets\n`<lr-code-block>`'s `part=\"pre\"`/`part=\"code\"`/line-numbers contract, which doesn't apply here."
62510
+ },
62511
+ {
62512
+ "kind": "function",
62513
+ "name": "markdownHighlightConfigChanged",
62514
+ "return": {
62515
+ "type": {
62516
+ "text": "boolean"
62517
+ }
62518
+ },
62519
+ "parameters": [
62520
+ {
62521
+ "name": "changed",
62522
+ "type": {
62523
+ "text": "Map<PropertyKey, unknown>"
62524
+ }
62525
+ }
62526
+ ],
62527
+ "description": "Whether the *highlighting* configuration changed, invalidating in-flight work and the\npermanently-failed key set."
62528
+ },
62529
+ {
62530
+ "kind": "function",
62531
+ "name": "markdownLanguageSetChanged",
62532
+ "return": {
62533
+ "type": {
62534
+ "text": "boolean"
62535
+ }
62536
+ },
62537
+ "parameters": [
62538
+ {
62539
+ "name": "changed",
62540
+ "type": {
62541
+ "text": "Map<PropertyKey, unknown>"
62542
+ }
62543
+ }
62544
+ ],
62545
+ "description": "Whether the *grammar set* changed, additionally invalidating already-highlighted output."
62546
+ },
62547
+ {
62548
+ "kind": "function",
62549
+ "name": "markdownMathPeerError",
62550
+ "return": {
62551
+ "type": {
62552
+ "text": "Error"
62553
+ }
62554
+ },
62555
+ "parameters": [
62556
+ {
62557
+ "name": "tag",
62558
+ "type": {
62559
+ "text": "'lr-markdown' | 'lr-markdown-core'"
62560
+ }
62561
+ }
62562
+ ],
62563
+ "description": "The `lr-render-error` payload for a permanently-missing `katex` peer while `math` is set."
62564
+ },
62565
+ {
62566
+ "kind": "function",
62567
+ "name": "markdownNeedsReparse",
62568
+ "return": {
62569
+ "type": {
62570
+ "text": "boolean"
62571
+ }
62572
+ },
62573
+ "parameters": [
62574
+ {
62575
+ "name": "changed",
62576
+ "type": {
62577
+ "text": "Map<PropertyKey, unknown>"
62578
+ }
62579
+ }
62580
+ ],
62581
+ "description": "Every property whose change means the document has to be reparsed. `languagesOnly` is listed\nfor `<lr-markdown>`; `<lr-markdown-core>` has no such property, so it simply never appears in\nthat component's changed map."
62582
+ },
61601
62583
  {
61602
62584
  "kind": "function",
61603
62585
  "name": "parseMarkdownDocument",
@@ -61616,6 +62598,60 @@
61616
62598
  ],
61617
62599
  "description": "Parses `options.content` into sanitizer-ready HTML via a fresh `marked` renderer, mirroring\n`<lr-markdown>`'s original `parseMarkdown()` (now shared verbatim with `<lr-markdown-core>`).\nEvery `part=\"...\"` injected into the output, the `heading-offset`/`link-target`/\n`internal-link-prefix`-driven behavior, and the math-token extension are documented on\n`LyraMarkdown`'s own class doc -- this function's contract is exactly that doc."
61618
62600
  },
62601
+ {
62602
+ "kind": "function",
62603
+ "name": "renderMarkdownContent",
62604
+ "return": {
62605
+ "type": {
62606
+ "text": "TemplateResult"
62607
+ }
62608
+ },
62609
+ "parameters": [
62610
+ {
62611
+ "name": "options",
62612
+ "type": {
62613
+ "text": "MarkdownContentOptions"
62614
+ }
62615
+ }
62616
+ ],
62617
+ "description": "The rendered tree both variants produce: one `[part=\"content\"]` wrapper plus the anchor-target\nlive region. Only non-empty content is focusable -- an empty document is not a scrollable region\nworth a tab stop."
62618
+ },
62619
+ {
62620
+ "kind": "function",
62621
+ "name": "renderMarkdownDocument",
62622
+ "return": {
62623
+ "type": {
62624
+ "text": "MarkdownRenderOutcome"
62625
+ }
62626
+ },
62627
+ "parameters": [
62628
+ {
62629
+ "name": "options",
62630
+ "type": {
62631
+ "text": "RenderMarkdownOptions"
62632
+ }
62633
+ }
62634
+ ],
62635
+ "description": "The optional-peer load / parse / sanitize / fallback pipeline both variants run, returning what\nchanged rather than mutating the instance -- the caller owns every `@state` assignment and every\nevent, so this stays a pure function of its inputs.\n\nRendering never ships unsanitized or broken markup silently: a missing/throwing `marked`, or a\nmissing `dompurify` while `sanitize` is on, both fall back to plain text plus `lr-render-error`;\nan explicit `sanitize=\"false\"` renders marked's raw output regardless of whether `dompurify` is\ninstalled, because the consumer opted out."
62636
+ },
62637
+ {
62638
+ "kind": "function",
62639
+ "name": "repaintMarkdownHighlights",
62640
+ "return": {
62641
+ "type": {
62642
+ "text": "ResolvedHighlightRange[]"
62643
+ }
62644
+ },
62645
+ "parameters": [
62646
+ {
62647
+ "name": "options",
62648
+ "type": {
62649
+ "text": "{\n root: Element;\n handle: HighlightHandle;\n highlights: readonly LyraHighlight[];\n activeHighlightId: string | null;\n}"
62650
+ }
62651
+ }
62652
+ ],
62653
+ "description": "Re-resolves every `text-quote` highlight against the current rendered content and repaints via\nthe caller's `acquireHighlightHandle()` handle -- resolution is always by quote text, never by\nnode identity, so a highlight set before its quote exists in `content` yet (e.g. mid-`streaming`)\nsimply paints nothing until a later render's text actually contains it. `fragment` highlights\naren't painted (there is no literal span of text to wrap/underline for a whole section).\nReturns the resolved ranges for `hitTestHighlightRanges()` to activate against."
62654
+ },
61619
62655
  {
61620
62656
  "kind": "function",
61621
62657
  "name": "setCachedHighlight",
@@ -61652,6 +62688,30 @@
61652
62688
  }
61653
62689
  ]
61654
62690
  },
62691
+ {
62692
+ "kind": "function",
62693
+ "name": "tokenizeMarkdownHighlight",
62694
+ "return": {
62695
+ "type": {
62696
+ "text": "string | null"
62697
+ }
62698
+ },
62699
+ "parameters": [
62700
+ {
62701
+ "name": "hl",
62702
+ "type": {
62703
+ "text": "OptionalPeerApi"
62704
+ }
62705
+ },
62706
+ {
62707
+ "name": "pending",
62708
+ "type": {
62709
+ "text": "PendingHighlight"
62710
+ }
62711
+ }
62712
+ ],
62713
+ "description": "Tokenizes one pending fenced block with an already-resolved highlighter and returns the exact\nstring to cache (trailing newline included, matching the plain `code()` renderer's own output).\n`null` means \"leave this key uncached\" -- the caller records it in `failedHighlightKeys` so the\nblock keeps its plain fallback permanently rather than being rediscovered as pending forever.\nShared by both variants' `highlightPending()`; only the *loading* half above it differs."
62714
+ },
61655
62715
  {
61656
62716
  "kind": "variable",
61657
62717
  "name": "HIGHLIGHT_CACHE_MAX",
@@ -61671,6 +62731,38 @@
61671
62731
  "module": "src/components/conversation/markdown/markdown-shared.ts"
61672
62732
  }
61673
62733
  },
62734
+ {
62735
+ "kind": "js",
62736
+ "name": "applyMarkdownAriaBusy",
62737
+ "declaration": {
62738
+ "name": "applyMarkdownAriaBusy",
62739
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62740
+ }
62741
+ },
62742
+ {
62743
+ "kind": "js",
62744
+ "name": "applyMarkdownFragmentAnchor",
62745
+ "declaration": {
62746
+ "name": "applyMarkdownFragmentAnchor",
62747
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62748
+ }
62749
+ },
62750
+ {
62751
+ "kind": "js",
62752
+ "name": "applyMarkdownTextQuoteAnchor",
62753
+ "declaration": {
62754
+ "name": "applyMarkdownTextQuoteAnchor",
62755
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62756
+ }
62757
+ },
62758
+ {
62759
+ "kind": "js",
62760
+ "name": "beginMarkdownDepsLoad",
62761
+ "declaration": {
62762
+ "name": "beginMarkdownDepsLoad",
62763
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62764
+ }
62765
+ },
61674
62766
  {
61675
62767
  "kind": "js",
61676
62768
  "name": "cleanHref",
@@ -61679,6 +62771,14 @@
61679
62771
  "module": "src/components/conversation/markdown/markdown-shared.ts"
61680
62772
  }
61681
62773
  },
62774
+ {
62775
+ "kind": "js",
62776
+ "name": "createMarkdownKatexState",
62777
+ "declaration": {
62778
+ "name": "createMarkdownKatexState",
62779
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62780
+ }
62781
+ },
61682
62782
  {
61683
62783
  "kind": "js",
61684
62784
  "name": "escapeHtml",
@@ -61695,6 +62795,62 @@
61695
62795
  "module": "src/components/conversation/markdown/markdown-shared.ts"
61696
62796
  }
61697
62797
  },
62798
+ {
62799
+ "kind": "js",
62800
+ "name": "hitTestHighlightRanges",
62801
+ "declaration": {
62802
+ "name": "hitTestHighlightRanges",
62803
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62804
+ }
62805
+ },
62806
+ {
62807
+ "kind": "js",
62808
+ "name": "internalLinkHrefFrom",
62809
+ "declaration": {
62810
+ "name": "internalLinkHrefFrom",
62811
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62812
+ }
62813
+ },
62814
+ {
62815
+ "kind": "js",
62816
+ "name": "markdownCodeTransformer",
62817
+ "declaration": {
62818
+ "name": "markdownCodeTransformer",
62819
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62820
+ }
62821
+ },
62822
+ {
62823
+ "kind": "js",
62824
+ "name": "markdownHighlightConfigChanged",
62825
+ "declaration": {
62826
+ "name": "markdownHighlightConfigChanged",
62827
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62828
+ }
62829
+ },
62830
+ {
62831
+ "kind": "js",
62832
+ "name": "markdownLanguageSetChanged",
62833
+ "declaration": {
62834
+ "name": "markdownLanguageSetChanged",
62835
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62836
+ }
62837
+ },
62838
+ {
62839
+ "kind": "js",
62840
+ "name": "markdownMathPeerError",
62841
+ "declaration": {
62842
+ "name": "markdownMathPeerError",
62843
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62844
+ }
62845
+ },
62846
+ {
62847
+ "kind": "js",
62848
+ "name": "markdownNeedsReparse",
62849
+ "declaration": {
62850
+ "name": "markdownNeedsReparse",
62851
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62852
+ }
62853
+ },
61698
62854
  {
61699
62855
  "kind": "js",
61700
62856
  "name": "parseMarkdownDocument",
@@ -61703,6 +62859,30 @@
61703
62859
  "module": "src/components/conversation/markdown/markdown-shared.ts"
61704
62860
  }
61705
62861
  },
62862
+ {
62863
+ "kind": "js",
62864
+ "name": "renderMarkdownContent",
62865
+ "declaration": {
62866
+ "name": "renderMarkdownContent",
62867
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62868
+ }
62869
+ },
62870
+ {
62871
+ "kind": "js",
62872
+ "name": "renderMarkdownDocument",
62873
+ "declaration": {
62874
+ "name": "renderMarkdownDocument",
62875
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62876
+ }
62877
+ },
62878
+ {
62879
+ "kind": "js",
62880
+ "name": "repaintMarkdownHighlights",
62881
+ "declaration": {
62882
+ "name": "repaintMarkdownHighlights",
62883
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62884
+ }
62885
+ },
61706
62886
  {
61707
62887
  "kind": "js",
61708
62888
  "name": "setCachedHighlight",
@@ -61710,6 +62890,14 @@
61710
62890
  "name": "setCachedHighlight",
61711
62891
  "module": "src/components/conversation/markdown/markdown-shared.ts"
61712
62892
  }
62893
+ },
62894
+ {
62895
+ "kind": "js",
62896
+ "name": "tokenizeMarkdownHighlight",
62897
+ "declaration": {
62898
+ "name": "tokenizeMarkdownHighlight",
62899
+ "module": "src/components/conversation/markdown/markdown-shared.ts"
62900
+ }
61713
62901
  }
61714
62902
  ]
61715
62903
  },
@@ -62114,7 +63302,7 @@
62114
63302
  "kind": "field",
62115
63303
  "name": "resolvedHighlightRanges",
62116
63304
  "type": {
62117
- "text": "{ id: string; range: Range }[]"
63305
+ "text": "ResolvedHighlightRange[]"
62118
63306
  },
62119
63307
  "privacy": "private",
62120
63308
  "default": "[]",
@@ -62245,54 +63433,6 @@
62245
63433
  }
62246
63434
  ]
62247
63435
  },
62248
- {
62249
- "kind": "method",
62250
- "name": "applyFragmentAnchor",
62251
- "privacy": "private",
62252
- "return": {
62253
- "type": {
62254
- "text": "boolean"
62255
- }
62256
- },
62257
- "parameters": [
62258
- {
62259
- "name": "root",
62260
- "type": {
62261
- "text": "Element"
62262
- }
62263
- },
62264
- {
62265
- "name": "anchor",
62266
- "type": {
62267
- "text": "Extract<LyraAnchor, { kind: 'fragment' }>"
62268
- }
62269
- }
62270
- ]
62271
- },
62272
- {
62273
- "kind": "method",
62274
- "name": "applyTextQuoteAnchor",
62275
- "privacy": "private",
62276
- "return": {
62277
- "type": {
62278
- "text": "boolean"
62279
- }
62280
- },
62281
- "parameters": [
62282
- {
62283
- "name": "root",
62284
- "type": {
62285
- "text": "Element"
62286
- }
62287
- },
62288
- {
62289
- "name": "anchor",
62290
- "type": {
62291
- "text": "Extract<LyraAnchor, { kind: 'text-quote' }>"
62292
- }
62293
- }
62294
- ]
62295
- },
62296
63436
  {
62297
63437
  "kind": "method",
62298
63438
  "name": "beginAbortableLoad",
@@ -62384,31 +63524,6 @@
62384
63524
  }
62385
63525
  }
62386
63526
  },
62387
- {
62388
- "kind": "method",
62389
- "name": "findHeadingByComputedId",
62390
- "privacy": "private",
62391
- "return": {
62392
- "type": {
62393
- "text": "Element | null"
62394
- }
62395
- },
62396
- "parameters": [
62397
- {
62398
- "name": "root",
62399
- "type": {
62400
- "text": "Element"
62401
- }
62402
- },
62403
- {
62404
- "name": "id",
62405
- "type": {
62406
- "text": "string"
62407
- }
62408
- }
62409
- ],
62410
- "description": "`headingAnchors` may be off, so a target heading might carry no `id` attribute in the DOM --\nre-derives the same slug order `getHeadingTree()` was built in and matches by position\ninstead of by attribute."
62411
- },
62412
63527
  {
62413
63528
  "kind": "method",
62414
63529
  "name": "getCachedHighlight",
@@ -62467,31 +63582,6 @@
62467
63582
  ],
62468
63583
  "description": "Loads whatever shiki grammars `pendingKeys` need, tokenizes each pending block concurrently,\npopulates `highlightCache` with the results, then triggers one more `renderMarkdown()` pass so\nthe newly-cached entries actually reach the screen. A pending key whose language fails to load\nis recorded in `failedHighlightKeys` (per `loadShikiLanguage()`'s existing \"unrecognized\ngrammar\" contract -- resolves `false`, never throws) -- it stays uncached, so `code()` keeps\nemitting its plain fallback for it on every future render, and `code()` also stops\nre-discovering it as pending (see `failedHighlightKeys`'s own doc for why that matters: without\nit, the `renderMarkdown()` call at the end of this method would rediscover the same\npermanently-uncacheable key as pending on every pass, forever). Does not block or delay any\nother pending key -- each is tried independently via `Promise.all`."
62469
63584
  },
62470
- {
62471
- "kind": "method",
62472
- "name": "hitTestHighlightAt",
62473
- "privacy": "private",
62474
- "return": {
62475
- "type": {
62476
- "text": "string | null"
62477
- }
62478
- },
62479
- "parameters": [
62480
- {
62481
- "name": "x",
62482
- "type": {
62483
- "text": "number"
62484
- }
62485
- },
62486
- {
62487
- "name": "y",
62488
- "type": {
62489
- "text": "number"
62490
- }
62491
- }
62492
- ],
62493
- "description": "Hit-tests a click point against every currently-resolved highlight's `getClientRects()`,\ntopmost (last-resolved) first. The CSS Custom Highlight API paints ranges without creating any\nDOM element to attach a click listener to, so this is the only activation path that works\nidentically on both paint paths -- mirrors `<lr-pdf-viewer>`'s own coordinate-based\n`onPageClick()` hit-test for the same reason (its own painted highlights sit under a text\nlayer that intercepts most pointer events)."
62494
- },
62495
63585
  {
62496
63586
  "kind": "method",
62497
63587
  "name": "localize",
@@ -62557,7 +63647,7 @@
62557
63647
  "text": "void"
62558
63648
  }
62559
63649
  },
62560
- "description": "Kicks off the shared `katex` load the first time `math` needs it and no attempt is already\nin flight (module-scoped, so every `<lr-markdown>` instance on the page shares one load --\nmirrors `markdown-loader.ts`'s own warm-cache shape). Skipped entirely under\n`__setKatexForTesting()` -- that seam controls math-rendering behavior directly and must never\nrace a real, unmocked `import('katex')` settling underneath it."
63650
+ "description": "Kicks off this variant's `katex` load the first time `math` needs it and no attempt is\nalready in flight (module-scoped, so every `<lr-markdown>` instance on the page shares one\nload -- mirrors `markdown-loader.ts`'s own warm-cache shape). Skipped entirely under\n`__setKatexForTesting()` -- that seam controls math-rendering behavior directly and must never\nrace a real, unmocked `import('katex')` settling underneath it."
62561
63651
  },
62562
63652
  {
62563
63653
  "kind": "method",
@@ -62646,7 +63736,8 @@
62646
63736
  "type": {
62647
63737
  "text": "void"
62648
63738
  }
62649
- }
63739
+ },
63740
+ "description": "Runs the shared parse/sanitize/fallback pipeline (see `renderMarkdownDocument()`) and applies\nits outcome to this instance's own state -- every `@state` assignment and every emitted event\nstays here so the shared half remains a pure function of its inputs."
62650
63741
  },
62651
63742
  {
62652
63743
  "kind": "method",
@@ -62657,7 +63748,7 @@
62657
63748
  "text": "void"
62658
63749
  }
62659
63750
  },
62660
- "description": "Re-resolves every `text-quote` highlight against the current rendered content and repaints\nvia `acquireHighlightHandle()` -- resolution is always by quote text, never by node identity,\nso a highlight set before its quote exists in `content` yet (e.g. mid-`streaming`) simply\npaints nothing until a later render's text actually contains it. `fragment` highlights aren't\npainted (there is no literal span of text to wrap/underline for a whole section)."
63751
+ "description": "Re-resolves and repaints every `text-quote` highlight -- see\n`repaintMarkdownHighlights()` for the resolution contract."
62661
63752
  },
62662
63753
  {
62663
63754
  "kind": "method",
@@ -62668,7 +63759,7 @@
62668
63759
  "text": "void"
62669
63760
  }
62670
63761
  },
62671
- "description": "Fires `lr-render-error` once per instance for a permanently-missing `katex` peer. Called\nonly once `renderMarkdown()` has confirmed the peer is actually missing (`katexOverride` or\nthe resolved module is `null`) -- a math token rendering its literal fallback while the load\nis merely still in flight (the same one-microtask transient window every other optional peer\nin this component has) never reports an error on its own."
63762
+ "description": "Fires `lr-render-error` once per instance for a permanently-missing `katex` peer. Called\nonly once `renderMarkdown()` has confirmed the peer is actually missing (the test override or\nthe resolved module is `null`) -- a math token rendering its literal fallback while the load\nis merely still in flight (the same one-microtask transient window every other optional peer\nin this component has) never reports an error on its own."
62672
63763
  },
62673
63764
  {
62674
63765
  "kind": "method",
@@ -91362,6 +92453,11 @@
91362
92453
  "description": "Inner padding of the nav buttons and the page input. Uniform across every `size` (the control footprint is fixed by `--lr-pagination-control-size`, so this only adjusts the icon/digit inset).",
91363
92454
  "name": "--lr-pagination-control-padding",
91364
92455
  "default": "var(--lr-space-xs)"
92456
+ },
92457
+ {
92458
+ "description": "Border color of `[part=\"page-input\"]` while the typed page is out of range (`aria-invalid=\"true\"`).",
92459
+ "name": "--lr-pagination-invalid-border",
92460
+ "default": "var(--lr-color-danger)"
91365
92461
  }
91366
92462
  ],
91367
92463
  "cssParts": [
@@ -96031,7 +97127,7 @@
96031
97127
  "kind": "field",
96032
97128
  "name": "resizeState",
96033
97129
  "type": {
96034
- "text": "{\n key: string;\n pointerId: number;\n startX: number;\n startWidth: number;\n minWidth: number;\n maxWidth: number;\n handle: HTMLElement;\n } | undefined"
97130
+ "text": "{\n key: string;\n pointerId: number;\n startX: number;\n startWidth: number;\n minWidth: number;\n maxWidth: number;\n handle: HTMLElement;\n /** `resizedColumnWidths.get(key)` as it stood before this drag started -- `undefined` when the\n * column hadn't been drag/keyboard-resized yet (still on its declared `width`/intrinsic size).\n * Restored verbatim if the drag-end commit below is vetoed. */\n previousWidth: number | undefined;\n } | undefined"
96035
97131
  },
96036
97132
  "privacy": "private"
96037
97133
  },
@@ -97133,7 +98229,7 @@
97133
98229
  "name": "lr-cell-edit"
97134
98230
  },
97135
98231
  {
97136
- "description": "A resizable column changed width by pointer or keyboard. `detail: { key, width }`, where `width` is in CSS pixels.",
98232
+ "description": "A resizable column changed width by pointer or keyboard. `detail: { key, width }`, where `width` is in CSS pixels. A pointer drag fires this once per pixel of movement as non-cancelable live feedback, then once more, **cancelable**, for the final width committed at drag-end; a keyboard step (Home/End/Arrow) is already a single discrete action and fires that one cancelable commit directly. `preventDefault()` on a cancelable emission reverts the column to its pre-gesture width.",
97137
98233
  "name": "lr-column-resize"
97138
98234
  },
97139
98235
  {
@@ -98602,6 +99698,16 @@
98602
99698
  "description": "Internal indent plumbing, not a retheming knob: this node's `depth`, written inline onto `[part=\"row\"]` by the component and multiplied by `--lr-space-l` (capped at `--lr-size-8rem`) to produce the row's `padding-inline-start`.",
98603
99699
  "name": "--lr-tree-depth",
98604
99700
  "default": "0"
99701
+ },
99702
+ {
99703
+ "description": "Background of the selected row.",
99704
+ "name": "--lr-tree-selected-bg",
99705
+ "default": "var(--lr-color-brand-quiet)"
99706
+ },
99707
+ {
99708
+ "description": "Text color of the selected row.",
99709
+ "name": "--lr-tree-selected-color",
99710
+ "default": "var(--lr-color-brand)"
98605
99711
  }
98606
99712
  ],
98607
99713
  "cssParts": [
@@ -110244,6 +111350,11 @@
110244
111350
  "description": "Calendar and control corner radius.",
110245
111351
  "name": "--lr-date-picker-radius",
110246
111352
  "default": "var(--lr-radius)"
111353
+ },
111354
+ {
111355
+ "description": "Hover background of the `[part=\"previous\"]`/`[part=\"next\"]` month-navigation buttons.",
111356
+ "name": "--lr-date-picker-nav-hover-bg",
111357
+ "default": "var(--lr-color-brand-quiet)"
110247
111358
  }
110248
111359
  ],
110249
111360
  "cssParts": [
@@ -112226,6 +113337,25 @@
112226
113337
  },
112227
113338
  "description": "The windowed layout's pixel geometry. `getComputedStyle(host).getPropertyValue('--x')` hands\nback a custom property's *computed token stream* (`2.5rem`, `calc(2.5rem + 1rem)`) and never a\npixel length, so parsing it reads a `rem` value's leading number as pixels and cannot read a\n`calc()` at all. Measuring the probe boxes the stylesheet sizes from those same tokens makes\nthe browser do the unit math instead, for every unit `calc()` included.\n\nMeasured at most once per geometry change, not per frame: the result is cached, and the probe\nboxes themselves are the invalidation signal (see `observeGeometryProbe`)."
112228
113339
  },
113340
+ {
113341
+ "kind": "method",
113342
+ "name": "groupLabel",
113343
+ "privacy": "private",
113344
+ "return": {
113345
+ "type": {
113346
+ "text": "string"
113347
+ }
113348
+ },
113349
+ "parameters": [
113350
+ {
113351
+ "name": "group",
113352
+ "type": {
113353
+ "text": "EmojiPickerGroup"
113354
+ }
113355
+ }
113356
+ ],
113357
+ "description": "A group heading, localized when the group came from the built-in `emoji-picker-element-data`\nadapter (which tags each emojibase group with a `labelKey`). A consumer-supplied group has no\n`labelKey` and its `label` is caller-owned content, rendered verbatim."
113358
+ },
112229
113359
  {
112230
113360
  "kind": "method",
112231
113361
  "name": "haystackFor",
@@ -121219,6 +122349,16 @@
121219
122349
  "description": "The inline distance from the control's start edge to the start of the label text, i.e. the circle's own floor plus the gap next to it. Published so a consumer composing per-option hint text under the label can align it without re-deriving that formula from the shadow styles, and used as the source of the real gap so the two cannot drift. Setting it on the element (or on `lr-radio` in your own stylesheet) moves the label; because custom properties inherit down and not sideways, it is *not* readable from a sibling node in your tree — align a sibling by computing the same formula from `--lr-theme-icon-button-size` and `--lr-theme-space-s`, which you control.",
121220
122350
  "name": "--lr-radio-label-indent",
121221
122351
  "default": "calc(min(var(--lr-icon-button-size), 1.75rem) + var(--lr-space-s))"
122352
+ },
122353
+ {
122354
+ "description": "Border color of `[part='circle']` while `checked`. Retint just this control's checked ring without touching the shared `--lr-color-brand` token every other component also reads.",
122355
+ "name": "--lr-radio-checked-border-color",
122356
+ "default": "var(--lr-color-brand)"
122357
+ },
122358
+ {
122359
+ "description": "Background of `[part='dot']` while `checked`.",
122360
+ "name": "--lr-radio-checked-dot-color",
122361
+ "default": "var(--lr-color-brand)"
121222
122362
  }
121223
122363
  ],
121224
122364
  "cssParts": [
@@ -123279,7 +124419,7 @@
123279
124419
  "name": ""
123280
124420
  },
123281
124421
  {
123282
- "description": "Adornment after the selected-value label and before the expand icon.",
124422
+ "description": "Adornment after the selected-value label and before the expand icon. Same non-focusable/non-interactive-content caveat as `start`.",
123283
124423
  "name": "end"
123284
124424
  },
123285
124425
  {
@@ -123295,7 +124435,7 @@
123295
124435
  "name": "label"
123296
124436
  },
123297
124437
  {
123298
- "description": "Adornment at the inline-start of the trigger row, before the selected-value label.",
124438
+ "description": "Adornment at the inline-start of the trigger row, before the selected-value label. Content should be non-focusable/non-interactive only: the trigger itself renders as a native `<button>` (`[part=\"trigger\"]`), so a slotted `<button>`/`<a>`/other focusable element here nests inside it in the flattened (assigned-slot) tree -- invalid interactive-content nesting, and unreachable by keyboard/AT regardless, since the outer button intercepts every click/Enter/Space before it can reach a nested control. Note: axe-core does not currently flag this specific shadow-DOM-composed nesting pattern as a violation (verified empirically against axe-core 4.12.1) -- the hazard is real but not automatically detectable today.",
123299
124439
  "name": "start"
123300
124440
  }
123301
124441
  ],
@@ -124931,6 +126071,16 @@
124931
126071
  ],
124932
126072
  "description": "Start tracking `pointerId` as an active drag, transferring pointer\ncapture to `captureTarget` and wiring the shared window-level move/end\nlisteners. Shared by a pointerdown that starts on the thumb itself and\none that starts elsewhere on the track (see `onBasePointerDown`), so\nboth gestures continue identically from here on."
124933
126073
  },
126074
+ {
126075
+ "kind": "method",
126076
+ "name": "blur",
126077
+ "return": {
126078
+ "type": {
126079
+ "text": "void"
126080
+ }
126081
+ },
126082
+ "description": "Removes focus from the internal thumb control."
126083
+ },
124934
126084
  {
124935
126085
  "kind": "method",
124936
126086
  "name": "clampValue",
@@ -124949,6 +126099,16 @@
124949
126099
  }
124950
126100
  ]
124951
126101
  },
126102
+ {
126103
+ "kind": "method",
126104
+ "name": "click",
126105
+ "return": {
126106
+ "type": {
126107
+ "text": "void"
126108
+ }
126109
+ },
126110
+ "description": "Activates the internal thumb control, mirroring `<lr-switch>`'s identical `override\nclick()`. Without this, `HTMLElement.prototype.click()` on the host is a no-op: no click\nhandler is bound to the host itself, only to `[part=\"base\"]`/`[part=\"thumb\"]`."
126111
+ },
124952
126112
  {
124953
126113
  "kind": "method",
124954
126114
  "name": "defaultNumericValue",
@@ -125042,6 +126202,25 @@
125042
126202
  },
125043
126203
  "description": "If `value` is still unset, seed it with the sanitized default — the\nmidpoint of `[min, max]`, snapped to `step` — so `value`/`valueAsNumber`\nand rendering never have to treat \"\" as a real, distinct state."
125044
126204
  },
126205
+ {
126206
+ "kind": "method",
126207
+ "name": "focus",
126208
+ "return": {
126209
+ "type": {
126210
+ "text": "void"
126211
+ }
126212
+ },
126213
+ "parameters": [
126214
+ {
126215
+ "name": "options",
126216
+ "optional": true,
126217
+ "type": {
126218
+ "text": "FocusOptions"
126219
+ }
126220
+ }
126221
+ ],
126222
+ "description": "Moves focus to the internal thumb control."
126223
+ },
125045
126224
  {
125046
126225
  "kind": "method",
125047
126226
  "name": "formResetCallback",
@@ -125653,6 +126832,26 @@
125653
126832
  "module": "src/internal/lyra-element.ts"
125654
126833
  }
125655
126834
  },
126835
+ {
126836
+ "kind": "method",
126837
+ "name": "blur",
126838
+ "return": {
126839
+ "type": {
126840
+ "text": "void"
126841
+ }
126842
+ },
126843
+ "description": "Removes focus from the tabbable swatch."
126844
+ },
126845
+ {
126846
+ "kind": "method",
126847
+ "name": "click",
126848
+ "return": {
126849
+ "type": {
126850
+ "text": "void"
126851
+ }
126852
+ },
126853
+ "description": "Activates the tabbable swatch, mirroring `<lr-switch>`'s identical `override click()`.\nWithout this, `HTMLElement.prototype.click()` on the host is a no-op: no click handler is\nbound to the host itself, only to the individual `[part=\"swatch\"]` buttons."
126854
+ },
125656
126855
  {
125657
126856
  "kind": "method",
125658
126857
  "name": "emit",
@@ -125690,6 +126889,25 @@
125690
126889
  "module": "src/internal/lyra-element.ts"
125691
126890
  }
125692
126891
  },
126892
+ {
126893
+ "kind": "method",
126894
+ "name": "focus",
126895
+ "return": {
126896
+ "type": {
126897
+ "text": "void"
126898
+ }
126899
+ },
126900
+ "parameters": [
126901
+ {
126902
+ "name": "options",
126903
+ "optional": true,
126904
+ "type": {
126905
+ "text": "FocusOptions"
126906
+ }
126907
+ }
126908
+ ],
126909
+ "description": "Moves focus to the tabbable swatch."
126910
+ },
125693
126911
  {
125694
126912
  "kind": "method",
125695
126913
  "name": "focusSwatch",
@@ -125849,6 +127067,17 @@
125849
127067
  }
125850
127068
  }
125851
127069
  ]
127070
+ },
127071
+ {
127072
+ "kind": "method",
127073
+ "name": "tabbableSwatch",
127074
+ "privacy": "private",
127075
+ "return": {
127076
+ "type": {
127077
+ "text": "HTMLElement | null"
127078
+ }
127079
+ },
127080
+ "description": "The single `role=\"radio\"` swatch that is currently in the roving tab sequence -- the\nselected one, or the first swatch when nothing is selected yet. Mirrors the identical\n`tabbableIndex` fallback in `render()`."
125852
127081
  }
125853
127082
  ],
125854
127083
  "events": [
@@ -128485,6 +129714,16 @@
128485
129714
  "module": "src/internal/lyra-element.ts"
128486
129715
  }
128487
129716
  },
129717
+ {
129718
+ "kind": "method",
129719
+ "name": "blur",
129720
+ "return": {
129721
+ "type": {
129722
+ "text": "void"
129723
+ }
129724
+ },
129725
+ "description": "Removes focus from the start handle."
129726
+ },
128488
129727
  {
128489
129728
  "kind": "method",
128490
129729
  "name": "clamp",
@@ -128509,6 +129748,16 @@
128509
129748
  }
128510
129749
  ]
128511
129750
  },
129751
+ {
129752
+ "kind": "method",
129753
+ "name": "click",
129754
+ "return": {
129755
+ "type": {
129756
+ "text": "void"
129757
+ }
129758
+ },
129759
+ "description": "Activates the start handle, mirroring `<lr-switch>`'s identical `override click()`. Without\nthis, `HTMLElement.prototype.click()` on the host is a no-op: no click handler is bound to\nthe host itself, only to the internal `[part=\"handle-start\"]`/`[part=\"handle-end\"]`\ncontrols. Targets the start handle specifically, matching `focus()`/`blur()` below."
129760
+ },
128512
129761
  {
128513
129762
  "kind": "method",
128514
129763
  "name": "domain",
@@ -128581,6 +129830,25 @@
128581
129830
  ],
128582
129831
  "description": "Stop the drag owned by `pointerId`, optionally committing a final lr-change."
128583
129832
  },
129833
+ {
129834
+ "kind": "method",
129835
+ "name": "focus",
129836
+ "return": {
129837
+ "type": {
129838
+ "text": "void"
129839
+ }
129840
+ },
129841
+ "parameters": [
129842
+ {
129843
+ "name": "options",
129844
+ "optional": true,
129845
+ "type": {
129846
+ "text": "FocusOptions"
129847
+ }
129848
+ }
129849
+ ],
129850
+ "description": "Moves focus to the start handle."
129851
+ },
128584
129852
  {
128585
129853
  "kind": "method",
128586
129854
  "name": "formDisabledCallback",
@@ -146723,6 +147991,11 @@
146723
147991
  "description": "The `'floating'` drawer scrim's color, applied to `[part=\"backdrop\"]`.",
146724
147992
  "name": "--lr-split-overlay-color",
146725
147993
  "default": "var(--lr-color-overlay)"
147994
+ },
147995
+ {
147996
+ "description": "Per-side inset of `[part=\"divider\"]`'s invisible `::before` hit area, along the resize axis. Negative, so the `::before` box extends past the divider's own edges; derived from the shared `--lr-icon-button-size` WCAG 2.5.8 floor minus the divider's visible thickness, split evenly across both sides, so the effective target reaches the floor without widening the 3px divider anyone can see. Declared on `:host`, so an override must target the element itself (not an ancestor). Setting it by hand is rarely right -- retheme `--lr-size-3px`/`--lr-icon-button-size` instead and the slop recomputes.",
147997
+ "name": "--lr-split-divider-hit-slop",
147998
+ "default": "calc((var(--lr-size-3px) - var(--lr-icon-button-size)) / 2)"
146726
147999
  }
146727
148000
  ],
146728
148001
  "cssParts": [
@@ -148376,6 +149649,17 @@
148376
149649
  "module": "src/internal/lyra-element.ts"
148377
149650
  }
148378
149651
  },
149652
+ {
149653
+ "kind": "field",
149654
+ "name": "wrapLabels",
149655
+ "type": {
149656
+ "text": "boolean"
149657
+ },
149658
+ "default": "false",
149659
+ "description": "When true, allows step labels to wrap when the effective orientation is vertical. The\ndefault preserves the single-line labels used by the original stepper contract; horizontal\nlabels remain single-line even when this property is enabled.",
149660
+ "attribute": "wrap-labels",
149661
+ "reflects": true
149662
+ },
148379
149663
  {
148380
149664
  "kind": "method",
148381
149665
  "name": "addEventListener",
@@ -148716,6 +150000,15 @@
148716
150000
  "default": "\"container\"",
148717
150001
  "description": "Which box `orientationBreakpoint` measures. `'container'` (the default) observes this\nstepper's own `[part=\"base\"]` inline size via `ResizeObserver`, comparing strictly `<`.\n`'viewport'` instead evaluates `matchMedia('(max-width: <breakpoint>)')`, which is inclusive\n(`<=`) -- native `max-width` semantics, deliberately, so the crossing point matches a CSS\n`@media` rule authored with the same length exactly.\n\nA stepper given a fixed width in a row layout cannot react to that row stacking by measuring\nitself -- its own width never changes. That case requires `'viewport'`, which also lets the\nbrowser resolve a `rem` breakpoint with real `@media` semantics.",
148718
150002
  "fieldName": "orientationBreakpointBasis"
150003
+ },
150004
+ {
150005
+ "name": "wrap-labels",
150006
+ "type": {
150007
+ "text": "boolean"
150008
+ },
150009
+ "default": "false",
150010
+ "description": "When true, allows step labels to wrap when the effective orientation is vertical. The\ndefault preserves the single-line labels used by the original stepper contract; horizontal\nlabels remain single-line even when this property is enabled.",
150011
+ "fieldName": "wrapLabels"
148719
150012
  }
148720
150013
  ],
148721
150014
  "superclass": {
@@ -150732,6 +152025,16 @@
150732
152025
  "name": "--lr-widget-view-toggle-active-bg",
150733
152026
  "default": "var(--lr-color-brand-quiet)"
150734
152027
  },
152028
+ {
152029
+ "description": "Background of a hovered `[part=\"view-toggle\"]`.",
152030
+ "name": "--lr-widget-view-toggle-hover-bg",
152031
+ "default": "var(--lr-color-brand-quiet)"
152032
+ },
152033
+ {
152034
+ "description": "Text color of a hovered `[part=\"view-toggle\"]`.",
152035
+ "name": "--lr-widget-view-toggle-hover-color",
152036
+ "default": "var(--lr-color-text)"
152037
+ },
150735
152038
  {
150736
152039
  "description": "Text color of the pressed view toggle.",
150737
152040
  "name": "--lr-widget-view-toggle-active-color",
@@ -167394,6 +168697,13 @@
167394
168697
  "kind": "class",
167395
168698
  "description": "`<lr-chip-group>` — a flex-wrap container for a set of `<lr-chip>`\nchildren (plain light-DOM composition — direct children are the chips,\nthe same shape `<lr-split>`'s panels / `<lr-source-list>`'s cards\ntake — no `.items` array prop).\n\n`max-visible` is entirely optional. When unset, every child is always\nshown and this component does nothing beyond flex-wrap layout. When set\nand the group has more chip children than that, the excess children are\nhidden (via their own `hidden` property — CSS alone can't parameterize\n`:nth-child` on a runtime prop, so this reaches into the light DOM the\nsame way `<lr-split>` sets each panel's inline `flex`/`order`) and a\n\"+N\" overflow-indicator pill takes their place. Clicking it is a toggle:\nit reveals the rest (and relabels itself \"Show less\"); clicking again\nre-collapses back to `max-visible`. `lr-overflow-toggle` fires only from\nthat click — i.e. only when `max-visible` is actually causing an overflow\nstate — never as a side effect of `max-visible`/children changing on\ntheir own.",
167396
168699
  "name": "LyraChipGroup",
168700
+ "cssProperties": [
168701
+ {
168702
+ "description": "Text color of `[part=\"overflow-indicator\"]` while expanded (`aria-expanded=\"true\"`). `::part(overflow-indicator)[aria-expanded='true']` is invalid CSS, so this is the only way to retint the expanded state without re-pointing the shared `--lr-color-text` token.",
168703
+ "name": "--lr-chip-group-overflow-expanded-color",
168704
+ "default": "var(--lr-color-text)"
168705
+ }
168706
+ ],
167397
168707
  "cssParts": [
167398
168708
  {
167399
168709
  "description": "The flex-wrap container (holds both the slot and the overflow indicator).",
@@ -183662,7 +184972,7 @@
183662
184972
  "default": "var(--lr-color-brand)"
183663
184973
  },
183664
184974
  {
183665
- "description": "Hull element opacity (composites fill+stroke as one group, avoiding a double-opacity seam at the fill/stroke boundary).",
184975
+ "description": "Hull element opacity (composites fill+stroke as one group, avoiding a double-opacity seam at the fill/stroke boundary). Applies to both SVG and canvas renderers.",
183666
184976
  "name": "--lr-graph-hull-opacity",
183667
184977
  "default": "0.12"
183668
184978
  }
@@ -187844,6 +189154,18 @@
187844
189154
  "kind": "class",
187845
189155
  "description": "`<lr-knowledge-base-admin>` — a responsive operations shell composing the existing controlled\nsource inventory and ingestion queue into one tabbed knowledge-base view. It forwards every\nsource/ingestion action under a namespaced event and never creates connectors, uploads files, or\nchanges indexing configuration itself. Put configuration controls in the `settings` slot.",
187846
189156
  "name": "LyraKnowledgeBaseAdmin",
189157
+ "cssProperties": [
189158
+ {
189159
+ "description": "Bottom border color of the selected `[part=\"tab\"]`.",
189160
+ "name": "--lr-knowledge-base-admin-tab-selected-border",
189161
+ "default": "var(--lr-color-brand)"
189162
+ },
189163
+ {
189164
+ "description": "Text color of the selected `[part=\"tab\"]`. `::part(tab)[aria-selected='true']` is invalid CSS, so this pair is the only way to restyle the active tab without re-pointing the shared brand/text tokens.",
189165
+ "name": "--lr-knowledge-base-admin-tab-selected-color",
189166
+ "default": "var(--lr-color-text)"
189167
+ }
189168
+ ],
187847
189169
  "cssParts": [
187848
189170
  {
187849
189171
  "description": "The root admin wrapper.",
@@ -220974,7 +222296,7 @@
220974
222296
  "declarations": [
220975
222297
  {
220976
222298
  "kind": "class",
220977
- "description": "Renders an EPUB with the optional `epubjs` peer. The mount element is kept\nstable because epub.js imperatively owns it and renders chapters in iframes.\n\nAdopts `DocumentAnchorTarget`: a `cfi` anchor displays directly via epub.js's own\n`rendition.display()`; a `text-quote` anchor resolves by scanning the book's spine sections\nwith epub.js's own `item.find()`, since chapter content lives inside epub.js-owned iframes\nrather than this component's own shadow DOM (a native `Range`/`Selection` inside one of those\niframes is invisible to this component's own document, so selection handling below is bridged\nthrough epub.js's own `selected` event instead of the mixin's default DOM-selection binding).\n`highlights` (kind `cfi`) paint via `rendition.annotations.highlight()` and are re-applied\nwhenever the rendition is recreated (a `src` change, or a reconnect remount) -- epub.js doesn't\npersist annotations across a fresh `renderTo()`. `getToc()` reads the EPUB's own navigation\ndocument into a flat, document-ordered outline once `book.ready` resolves. `location` (a CFI or\nspine href) is recorded before the book is ready and applied once loading finishes, or applied\nimmediately once it already has; epub.js's own `relocated` event keeps it in sync with user\nnavigation without re-triggering a `display()` call for a change that originated from that same\nevent. `search()`/`searchNext()`/`searchPrevious()`/`clearSearch()` scan the spine sequentially\nvia epub.js's own `item.find()`, aborting a superseded scan when a newer search or a `src`\nchange supersedes it.",
222299
+ "description": "Renders an EPUB with the optional `epubjs` peer. The mount element is kept\nstable because epub.js imperatively owns it and renders chapters in iframes.\n\nAdopts `DocumentAnchorTarget`: a `cfi` anchor displays directly via epub.js's own\n`rendition.display()`; a `text-quote` anchor resolves by scanning the book's spine sections\nwith epub.js's own `item.find()`, since chapter content lives inside epub.js-owned iframes\nrather than this component's own shadow DOM (a native `Range`/`Selection` inside one of those\niframes is invisible to this component's own document, so selection handling below is bridged\nthrough epub.js's own `selected` event instead of the mixin's default DOM-selection binding).\n`highlights` (kind `cfi`) paint via `rendition.annotations.highlight()`, resolving each `tone`\nto a concrete `fill` color (its `styles` 5th arg) so highlights actually differentiate by tone,\nand are re-applied whenever the rendition is recreated (a `src` change, or a reconnect remount)\n-- epub.js doesn't persist annotations across a fresh `renderTo()`. `getToc()` reads the EPUB's\nown navigation document into a flat, document-ordered outline once `book.ready` resolves.\n`location` (a CFI or\nspine href) is recorded before the book is ready and applied once loading finishes, or applied\nimmediately once it already has; epub.js's own `relocated` event keeps it in sync with user\nnavigation without re-triggering a `display()` call for a change that originated from that same\nevent. `search()`/`searchNext()`/`searchPrevious()`/`clearSearch()` scan the spine sequentially\nvia epub.js's own `item.find()`, aborting a superseded scan when a newer search or a `src`\nchange supersedes it.",
220978
222300
  "name": "LyraEbookViewer",
220979
222301
  "cssParts": [
220980
222302
  {
@@ -221620,6 +222942,25 @@
221620
222942
  },
221621
222943
  "description": "Re-applies every `cfi` highlight via `rendition.annotations.highlight()`, clearing whatever\nthis instance previously painted first -- epub.js doesn't persist annotations across a fresh\n`renderTo()`, so this also runs once right after a (re)load finishes. Highlights whose anchor\nisn't `cfi` aren't paintable against epub.js's own annotation API and are skipped."
221622
222944
  },
222945
+ {
222946
+ "kind": "method",
222947
+ "name": "resolveHighlightFill",
222948
+ "privacy": "private",
222949
+ "return": {
222950
+ "type": {
222951
+ "text": "{ fill: string }"
222952
+ }
222953
+ },
222954
+ "parameters": [
222955
+ {
222956
+ "name": "{ token, fallback }",
222957
+ "type": {
222958
+ "text": "{ token: string; fallback: string }"
222959
+ }
222960
+ }
222961
+ ],
222962
+ "description": "Resolves a `{ token, fallback }` pair to the mark's `fill` `styles` arg, reading the token's\nlive concrete value off this instance via `getComputedStyle` (falling back to its\nlight-theme default when unresolved, e.g. before this element's own stylesheet is attached)."
222963
+ },
221623
222964
  {
221624
222965
  "kind": "method",
221625
222966
  "name": "scheduleAfterUpdate",
@@ -225644,7 +226985,8 @@
225644
226985
  "kind": "field",
225645
226986
  "name": "expandedOutputs",
225646
226987
  "privacy": "private",
225647
- "default": "new Set<number>()"
226988
+ "default": "new Set<string>()",
226989
+ "description": "Keyed by `${cellIndex}:${outputIndex}` (a colon-separated string, not a packed number) --\n`cellIndex * 1000 + outputIndex` would collide once a cell holds >= 1000 outputs (e.g.\ncell 0's output 1000 and cell 1's output 0 both reduced to 1000)."
225648
226990
  },
225649
226991
  {
225650
226992
  "kind": "field",
@@ -226207,7 +227549,7 @@
226207
227549
  {
226208
227550
  "name": "outputKey",
226209
227551
  "type": {
226210
- "text": "number"
227552
+ "text": "string"
226211
227553
  }
226212
227554
  },
226213
227555
  {
@@ -226231,7 +227573,7 @@
226231
227573
  {
226232
227574
  "name": "index",
226233
227575
  "type": {
226234
- "text": "number"
227576
+ "text": "string"
226235
227577
  }
226236
227578
  },
226237
227579
  {
@@ -226381,7 +227723,7 @@
226381
227723
  {
226382
227724
  "name": "index",
226383
227725
  "type": {
226384
- "text": "number"
227726
+ "text": "string"
226385
227727
  }
226386
227728
  }
226387
227729
  ]
@@ -227438,6 +228780,10 @@
227438
228780
  "description": "The error message region.",
227439
228781
  "name": "error"
227440
228782
  },
228783
+ {
228784
+ "description": "The next-page button.",
228785
+ "name": "next-button"
228786
+ },
227441
228787
  {
227442
228788
  "description": "One rendered page wrapper.",
227443
228789
  "name": "page"
@@ -227454,6 +228800,10 @@
227454
228800
  "description": "The virtualized page list.",
227455
228801
  "name": "pages"
227456
228802
  },
228803
+ {
228804
+ "description": "The previous-page button.",
228805
+ "name": "previous-button"
228806
+ },
227457
228807
  {
227458
228808
  "description": "A painted in-document search match.",
227459
228809
  "name": "search-match"
@@ -227478,9 +228828,17 @@
227478
228828
  "description": "Pagination and zoom controls.",
227479
228829
  "name": "toolbar"
227480
228830
  },
228831
+ {
228832
+ "description": "The zoom-in button.",
228833
+ "name": "zoom-in-button"
228834
+ },
227481
228835
  {
227482
228836
  "description": "The current zoom percentage.",
227483
228837
  "name": "zoom-indicator"
228838
+ },
228839
+ {
228840
+ "description": "The zoom-out button.",
228841
+ "name": "zoom-out-button"
227484
228842
  }
227485
228843
  ],
227486
228844
  "members": [
@@ -230950,7 +232308,7 @@
230950
232308
  "declarations": [
230951
232309
  {
230952
232310
  "kind": "class",
230953
- "description": "Fetches and safely renders an inline SVG document.",
232311
+ "description": "Fetches and safely renders an inline SVG document.\n\nAdopts `DocumentAnchorTarget`: a `region` anchor addresses one `highlights` entry by reference\nor structural equality of its `rect` (and optional `page`) -- `scrollToAnchor()`/a declarative\n`anchor` assignment scrolls the matching `[part=\"region-highlight\"]` into view and fires\n`lr-anchor-result`. No other anchor kind resolves here -- a sanitized SVG document has neither\npages nor extractable text to quote.",
230954
232312
  "name": "LyraSvgViewer",
230955
232313
  "cssProperties": [
230956
232314
  {
@@ -231056,23 +232414,15 @@
231056
232414
  }
231057
232415
  ],
231058
232416
  "members": [
231059
- {
231060
- "kind": "field",
231061
- "name": "activeHighlightId",
231062
- "type": {
231063
- "text": "string | null"
231064
- },
231065
- "default": "null",
231066
- "attribute": "active-highlight-id"
231067
- },
231068
232417
  {
231069
232418
  "kind": "field",
231070
232419
  "name": "anchorKinds",
231071
232420
  "type": {
231072
- "text": "LyraAnchor['kind'][]"
232421
+ "text": "readonly LyraAnchorKind[]"
231073
232422
  },
231074
232423
  "readonly": true,
231075
- "default": "['region']"
232424
+ "default": "['region']",
232425
+ "description": "Anchor kinds this viewer resolves via `scrollToAnchor()`. `highlights`/`activeHighlightId`/\n`anchor` are inherited from `DocumentAnchorTarget` -- display-only, no creation UI here."
231076
232426
  },
231077
232427
  {
231078
232428
  "kind": "field",
@@ -231132,15 +232482,6 @@
231132
232482
  "privacy": "private",
231133
232483
  "default": "0"
231134
232484
  },
231135
- {
231136
- "kind": "field",
231137
- "name": "highlights",
231138
- "type": {
231139
- "text": "LyraHighlight[]"
231140
- },
231141
- "default": "[]",
231142
- "description": "Display-only region highlights (see the class doc's Boundaries note -- no creation UI here)."
231143
- },
231144
232485
  {
231145
232486
  "kind": "field",
231146
232487
  "name": "inheritedContextObserver",
@@ -231293,6 +232634,25 @@
231293
232634
  "module": "src/internal/lyra-element.ts"
231294
232635
  }
231295
232636
  },
232637
+ {
232638
+ "kind": "method",
232639
+ "name": "applyAnchor",
232640
+ "privacy": "protected",
232641
+ "return": {
232642
+ "type": {
232643
+ "text": "Promise<boolean>"
232644
+ }
232645
+ },
232646
+ "parameters": [
232647
+ {
232648
+ "name": "anchor",
232649
+ "type": {
232650
+ "text": "LyraAnchor"
232651
+ }
232652
+ }
232653
+ ],
232654
+ "description": "Per-viewer hook for `DocumentAnchorTarget`: resolves a `region` anchor back to its owning\n`highlights` entry (matched by reference first, so `scrollToAnchor(highlight.anchor)`\nresolves directly, then by structural equality of `rect`/`page` so an equivalent\nfreshly-built anchor also resolves) and scrolls its rendered box into view. Declines (no\nretry-worthy transient state of its own here) when nothing is loaded yet or no region\nmatches -- the mixin's own retry loop covers the case where `anchor`/`scrollToAnchor()` is\ncalled before `src` has finished loading."
232655
+ },
231296
232656
  {
231297
232657
  "kind": "method",
231298
232658
  "name": "beginAbortableLoad",
@@ -231544,24 +232904,6 @@
231544
232904
  "module": "src/internal/lyra-element.ts"
231545
232905
  }
231546
232906
  },
231547
- {
231548
- "kind": "method",
231549
- "name": "scrollToAnchor",
231550
- "return": {
231551
- "type": {
231552
- "text": "Promise<boolean>"
231553
- }
231554
- },
231555
- "parameters": [
231556
- {
231557
- "name": "target",
231558
- "type": {
231559
- "text": "LyraAnchor | string"
231560
- }
231561
- }
231562
- ],
231563
- "description": "Scrolls a `region` highlight into view (by id, or a `LyraAnchor` directly -- matched back to\nits owning `LyraHighlight` by reference so `scrollToAnchor(highlight.anchor)` also resolves to\nthe right box). Returns whether a matching, currently-rendered region was found -- there's no\nretry loop here (unlike the full `DocumentAnchorTarget` mixin) because this viewer's content\nis either already loaded or isn't; a caller invoking this before `src` has resolved simply\ngets `false`."
231564
- },
231565
232907
  {
231566
232908
  "kind": "method",
231567
232909
  "name": "stopZoomableFrameEvent",
@@ -231582,6 +232924,10 @@
231582
232924
  }
231583
232925
  ],
231584
232926
  "events": [
232927
+ {
232928
+ "description": "Fired after an `anchor` property assignment or a `scrollToAnchor()` call is applied. `detail: { found }`.",
232929
+ "name": "lr-anchor-result"
232930
+ },
231585
232931
  {
231586
232932
  "description": "A region highlight was activated. `detail: { id }`.",
231587
232933
  "name": "lr-highlight-activate"
@@ -231592,14 +232938,6 @@
231592
232938
  }
231593
232939
  ],
231594
232940
  "attributes": [
231595
- {
231596
- "name": "active-highlight-id",
231597
- "type": {
231598
- "text": "string | null"
231599
- },
231600
- "default": "null",
231601
- "fieldName": "activeHighlightId"
231602
- },
231603
232941
  {
231604
232942
  "name": "locale",
231605
232943
  "type": {
@@ -231650,9 +232988,15 @@
231650
232988
  "fieldName": "zoomable"
231651
232989
  }
231652
232990
  ],
232991
+ "mixins": [
232992
+ {
232993
+ "name": "DocumentAnchorTarget",
232994
+ "module": "/src/internal/anchor-target.js"
232995
+ }
232996
+ ],
231653
232997
  "superclass": {
231654
- "name": "LyraElement",
231655
- "module": "/src/internal/lyra-element.js"
232998
+ "name": "LyraSvgViewerBase",
232999
+ "module": "src/components/viewers/svg-viewer/svg-viewer.class.ts"
231656
233000
  },
231657
233001
  "tagName": "lr-svg-viewer",
231658
233002
  "customElement": true