@aceshooting/lyra-ui 14.0.0 → 14.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (475) hide show
  1. package/CHANGELOG.md +155 -19
  2. package/custom-elements.json +1 -1
  3. package/dist/components/agent-tools/commit-card/commit-card.class.d.ts +3 -1
  4. package/dist/components/agent-tools/commit-card/commit-card.class.js +2 -2
  5. package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts +2 -1
  6. package/dist/components/agent-tools/compare-panel/compare-panel.styles.js +1 -1
  7. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts +6 -2
  8. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +4 -4
  9. package/dist/components/agent-tools/result-card/result-card.class.d.ts +1 -1
  10. package/dist/components/agent-tools/result-card/result-card.class.js +1 -1
  11. package/dist/components/agent-tools/result-card/result-field.class.d.ts +1 -1
  12. package/dist/components/agent-tools/result-card/result-field.class.js +1 -1
  13. package/dist/components/agent-tools/stack-trace/stack-trace.class.d.ts +1 -1
  14. package/dist/components/agent-tools/stack-trace/stack-trace.class.js +1 -1
  15. package/dist/components/agent-tools/terminal/terminal.class.d.ts +1 -1
  16. package/dist/components/agent-tools/terminal/terminal.class.js +2 -2
  17. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +2 -2
  18. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +1 -1
  19. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +1 -1
  20. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.js +2 -2
  21. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +4 -4
  22. package/dist/components/agent-tools/trace-tree/span.d.ts +3 -1
  23. package/dist/components/agent-tools/trace-tree/span.js +1 -1
  24. package/dist/components/charts/chart/box-plot.class.d.ts +2 -0
  25. package/dist/components/charts/chart/box-plot.class.js +1 -1
  26. package/dist/components/charts/chart/chart.class.d.ts +6 -1
  27. package/dist/components/charts/chart/chart.class.js +1 -1
  28. package/dist/components/charts/chart/lite-chart.class.d.ts +20 -11
  29. package/dist/components/charts/chart/lite-chart.class.js +10 -8
  30. package/dist/components/conversation/chat-message/chat-message.class.d.ts +4 -3
  31. package/dist/components/conversation/code-block/code-block-core.class.d.ts +4 -3
  32. package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
  33. package/dist/components/conversation/code-block/code-block-shared.d.ts +3 -3
  34. package/dist/components/conversation/code-block/code-block-shared.js +2 -2
  35. package/dist/components/conversation/code-block/code-block.class.d.ts +4 -3
  36. package/dist/components/conversation/code-block/code-block.class.js +1 -1
  37. package/dist/components/conversation/code-block/shiki-types.d.ts +2 -0
  38. package/dist/components/conversation/code-block/shiki-types.js +1 -1
  39. package/dist/components/conversation/conversation-item/conversation-item.class.js +1 -1
  40. package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
  41. package/dist/components/conversation/markdown/markdown-core.class.d.ts +1 -1
  42. package/dist/components/conversation/markdown/markdown.class.d.ts +1 -1
  43. package/dist/components/conversation/message-actions/message-actions.class.d.ts +2 -0
  44. package/dist/components/conversation/message-actions/message-actions.class.js +1 -1
  45. package/dist/components/conversation/message-feedback/message-feedback.class.d.ts +3 -1
  46. package/dist/components/conversation/message-feedback/message-feedback.class.js +2 -2
  47. package/dist/components/conversation/message-parts/message-parts.class.d.ts +3 -0
  48. package/dist/components/conversation/model-select/model-select.class.js +3 -3
  49. package/dist/components/conversation/thread-list/thread-list.class.js +1 -1
  50. package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +2 -0
  51. package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
  52. package/dist/components/conversation/typing-indicator/typing-indicator.class.d.ts +2 -1
  53. package/dist/components/conversation/typing-indicator/typing-indicator.class.js +1 -1
  54. package/dist/components/conversation/usage-badge/usage-badge-overlay-runtime.d.ts +3 -0
  55. package/dist/components/conversation/usage-badge/usage-badge-overlay-runtime.js +1 -0
  56. package/dist/components/conversation/usage-badge/usage-badge.class.d.ts +4 -2
  57. package/dist/components/conversation/usage-badge/usage-badge.class.js +1 -1
  58. package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -3
  59. package/dist/components/conversation/widget-renderer/resolve.d.ts +4 -6
  60. package/dist/components/conversation/widget-renderer/resolve.js +1 -1
  61. package/dist/components/data/calendar/calendar.class.d.ts +6 -3
  62. package/dist/components/data/calendar/calendar.class.js +1 -1
  63. package/dist/components/data/calendar/calendar.styles.js +1 -1
  64. package/dist/components/data/condition-builder/condition-builder.class.d.ts +3 -1
  65. package/dist/components/data/condition-builder/condition-builder.class.js +15 -1
  66. package/dist/components/data/context-meter/context-meter.class.js +2 -2
  67. package/dist/components/data/data-grid/data-grid.class.d.ts +6 -2
  68. package/dist/components/data/data-grid/data-grid.class.js +1 -1
  69. package/dist/components/data/document-library/document-library.class.d.ts +5 -2
  70. package/dist/components/data/document-library/document-library.class.js +1 -1
  71. package/dist/components/data/file-tree/file-tree.class.d.ts +2 -1
  72. package/dist/components/data/file-tree/file-tree.class.js +1 -1
  73. package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +5 -2
  74. package/dist/components/data/flow-canvas/flow-canvas.styles.js +1 -1
  75. package/dist/components/data/flow-canvas/flow-model.js +1 -1
  76. package/dist/components/data/flow-canvas/flow-types.d.ts +2 -1
  77. package/dist/components/data/funnel/funnel.class.d.ts +1 -0
  78. package/dist/components/data/funnel/funnel.class.js +1 -1
  79. package/dist/components/data/gauge/gauge.class.d.ts +4 -1
  80. package/dist/components/data/gauge/gauge.class.js +6 -6
  81. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +5 -2
  82. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +15 -1
  83. package/dist/components/data/heatmap/heatmap.class.d.ts +7 -4
  84. package/dist/components/data/heatmap/heatmap.class.js +1 -1
  85. package/dist/components/data/sparkline/sparkline.class.d.ts +2 -1
  86. package/dist/components/data/sparkline/sparkline.class.js +1 -1
  87. package/dist/components/data/stat/stat.class.d.ts +6 -2
  88. package/dist/components/data/stat/stat.class.js +1 -1
  89. package/dist/components/data/table/table.class.d.ts +5 -2
  90. package/dist/components/data/table/table.class.js +2 -2
  91. package/dist/components/data/timeline/timeline.class.d.ts +7 -2
  92. package/dist/components/data/timeline/timeline.class.js +1 -1
  93. package/dist/components/data/timeline/timeline.styles.js +1 -1
  94. package/dist/components/data/tree/tree-item.class.d.ts +3 -1
  95. package/dist/components/data/tree/tree-item.class.js +1 -1
  96. package/dist/components/data/tree/tree.class.d.ts +4 -1
  97. package/dist/components/data/tree/tree.class.js +1 -1
  98. package/dist/components/data/word-cloud/word-cloud-layout.d.ts +2 -1
  99. package/dist/components/data/word-cloud/word-cloud-layout.js +1 -1
  100. package/dist/components/data/word-cloud/word-cloud.class.d.ts +2 -1
  101. package/dist/components/forms/button/button.class.d.ts +5 -3
  102. package/dist/components/forms/button/button.class.js +1 -1
  103. package/dist/components/forms/checkbox/checkbox.class.d.ts +3 -0
  104. package/dist/components/forms/checkbox/checkbox.class.js +1 -1
  105. package/dist/components/forms/code-editor/code-editor.class.d.ts +11 -3
  106. package/dist/components/forms/code-editor/code-editor.class.js +6 -7
  107. package/dist/components/forms/code-editor/code-editor.styles.js +1 -1
  108. package/dist/components/forms/color-picker/color-picker.class.d.ts +5 -1
  109. package/dist/components/forms/color-picker/color-picker.class.js +4 -4
  110. package/dist/components/forms/combobox/combobox.class.d.ts +19 -8
  111. package/dist/components/forms/combobox/combobox.class.js +3 -3
  112. package/dist/components/forms/combobox/option.class.d.ts +4 -0
  113. package/dist/components/forms/combobox/option.class.js +2 -2
  114. package/dist/components/forms/date-picker/calendar-core.d.ts +1 -1
  115. package/dist/components/forms/date-picker/calendar-core.js +1 -1
  116. package/dist/components/forms/date-picker/date-input.class.d.ts +20 -10
  117. package/dist/components/forms/date-picker/date-input.class.js +4 -4
  118. package/dist/components/forms/date-picker/date-picker.class.d.ts +24 -13
  119. package/dist/components/forms/date-picker/date-picker.class.js +7 -7
  120. package/dist/components/forms/date-picker/date-picker.styles.js +1 -1
  121. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +11 -3
  122. package/dist/components/forms/emoji-picker/emoji-picker.class.js +3 -3
  123. package/dist/components/forms/emoji-picker/emoji-types.d.ts +2 -2
  124. package/dist/components/forms/icon-button/icon-button.class.d.ts +4 -2
  125. package/dist/components/forms/icon-button/icon-button.class.js +1 -1
  126. package/dist/components/forms/input/input.class.d.ts +5 -1
  127. package/dist/components/forms/input/input.class.js +1 -1
  128. package/dist/components/forms/input/native-time-input.class.d.ts +3 -0
  129. package/dist/components/forms/input/number-input.class.d.ts +3 -0
  130. package/dist/components/forms/input/time-input.class.d.ts +3 -0
  131. package/dist/components/forms/input/time-input.class.js +1 -1
  132. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +5 -1
  133. package/dist/components/forms/locale-picker/locale-picker.class.js +2 -2
  134. package/dist/components/forms/otp-input/otp-input.class.d.ts +5 -1
  135. package/dist/components/forms/otp-input/otp-input.class.js +1 -1
  136. package/dist/components/forms/phone-input/phone-input.class.d.ts +21 -8
  137. package/dist/components/forms/phone-input/phone-input.class.js +1 -1
  138. package/dist/components/forms/radio/radio-button.class.d.ts +4 -0
  139. package/dist/components/forms/radio/radio-group.class.d.ts +4 -1
  140. package/dist/components/forms/radio/radio-group.class.js +1 -1
  141. package/dist/components/forms/radio/radio.class.d.ts +6 -2
  142. package/dist/components/forms/radio/radio.class.js +1 -1
  143. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +7 -1
  144. package/dist/components/forms/rubric-form/rubric-form.class.js +3 -3
  145. package/dist/components/forms/select/select.class.d.ts +8 -2
  146. package/dist/components/forms/select/select.class.js +2 -2
  147. package/dist/components/forms/slider/slider.class.d.ts +12 -6
  148. package/dist/components/forms/slider/slider.class.js +2 -2
  149. package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +4 -0
  150. package/dist/components/forms/swatch-picker/swatch-picker.class.js +1 -1
  151. package/dist/components/forms/switch/switch.class.d.ts +5 -1
  152. package/dist/components/forms/switch/switch.class.js +1 -1
  153. package/dist/components/forms/textarea/textarea.class.d.ts +3 -0
  154. package/dist/components/forms/textarea/textarea.class.js +1 -1
  155. package/dist/components/forms/time-range/time-range.class.d.ts +3 -0
  156. package/dist/components/forms/time-range/time-range.class.js +1 -1
  157. package/dist/components/forms/token-input/token-input.class.d.ts +8 -2
  158. package/dist/components/forms/token-input/token-input.class.js +2 -2
  159. package/dist/components/forms/token-input/token-input.styles.js +1 -1
  160. package/dist/components/layout/app-rail/app-rail.class.d.ts +3 -1
  161. package/dist/components/layout/app-rail/app-rail.class.js +1 -1
  162. package/dist/components/layout/carousel/carousel.class.d.ts +3 -2
  163. package/dist/components/layout/carousel/carousel.class.js +1 -1
  164. package/dist/components/layout/command-palette/command-palette.class.js +1 -1
  165. package/dist/components/layout/dashboard-grid/dashboard-grid.class.d.ts +2 -0
  166. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +1 -1
  167. package/dist/components/layout/details/details.class.d.ts +3 -3
  168. package/dist/components/layout/filter-bar/filter-bar.class.d.ts +3 -1
  169. package/dist/components/layout/filter-bar/filter-bar.class.js +1 -1
  170. package/dist/components/layout/menu/menu-label.class.d.ts +3 -3
  171. package/dist/components/layout/menu/menu.class.d.ts +4 -1
  172. package/dist/components/layout/menu/menu.class.js +1 -1
  173. package/dist/components/layout/multi-split/multi-split.class.d.ts +9 -3
  174. package/dist/components/layout/multi-split/multi-split.class.js +1 -1
  175. package/dist/components/layout/multi-split/multi-split.styles.js +1 -1
  176. package/dist/components/layout/reorder-list/reorder-item.class.d.ts +2 -1
  177. package/dist/components/layout/reorder-list/reorder-item.class.js +1 -1
  178. package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
  179. package/dist/components/layout/reorder-list/reorder-owner.js +1 -1
  180. package/dist/components/layout/split-panel/split-panel.class.d.ts +2 -1
  181. package/dist/components/layout/split-panel/split-panel.class.js +1 -1
  182. package/dist/components/layout/tab-group/tab-group.class.d.ts +3 -1
  183. package/dist/components/layout/tab-group/tab-group.class.js +1 -1
  184. package/dist/components/layout/widget/widget.class.d.ts +6 -2
  185. package/dist/components/layout/widget/widget.class.js +1 -1
  186. package/dist/components/media/animation/animation.class.d.ts +3 -2
  187. package/dist/components/media/animation/animation.class.js +1 -1
  188. package/dist/components/media/attachment-chip/attachment-chip.class.d.ts +4 -3
  189. package/dist/components/media/attachment-chip/attachment-chip.class.js +1 -1
  190. package/dist/components/media/av-player/av-metadata.d.ts +3 -2
  191. package/dist/components/media/av-player/av-player.class.d.ts +4 -3
  192. package/dist/components/media/av-player/av-player.class.js +3 -3
  193. package/dist/components/media/av-player/av-player.styles.js +1 -1
  194. package/dist/components/media/avatar/avatar.class.d.ts +2 -1
  195. package/dist/components/media/avatar/avatar.class.js +1 -1
  196. package/dist/components/media/file-input/file-input.class.d.ts +4 -2
  197. package/dist/components/media/file-input/file-input.class.js +1 -1
  198. package/dist/components/media/file-input/file-input.styles.js +1 -1
  199. package/dist/components/media/image-viewer/image-viewer.class.d.ts +2 -1
  200. package/dist/components/media/image-viewer/image-viewer.class.js +1 -1
  201. package/dist/components/media/image-viewer/image-viewer.styles.js +1 -1
  202. package/dist/components/media/map/map.class.d.ts +5 -3
  203. package/dist/components/media/map/map.class.js +1 -1
  204. package/dist/components/media/map/map.styles.js +1 -1
  205. package/dist/components/media/media-card/media-card.class.d.ts +1 -1
  206. package/dist/components/media/media-card/media-card.class.js +1 -1
  207. package/dist/components/media/pan-zoom/pan-zoom.class.js +1 -1
  208. package/dist/components/media/sequence-playback/sequence-playback.class.d.ts +1 -1
  209. package/dist/components/media/sequence-playback/sequence-playback.styles.js +1 -1
  210. package/dist/components/media/video/video.class.d.ts +2 -1
  211. package/dist/components/media/video/video.styles.js +1 -1
  212. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +3 -2
  213. package/dist/components/media/zoomable-frame/zoomable-frame.class.js +2 -2
  214. package/dist/components/overlays/chip/chip-group.class.d.ts +2 -0
  215. package/dist/components/overlays/chip/chip-group.class.js +1 -1
  216. package/dist/components/overlays/dialog/dialog.class.d.ts +2 -0
  217. package/dist/components/overlays/dialog/dialog.class.js +1 -1
  218. package/dist/components/overlays/empty/empty.class.d.ts +2 -0
  219. package/dist/components/overlays/empty/empty.class.js +1 -1
  220. package/dist/components/overlays/kbd/kbd.class.d.ts +2 -0
  221. package/dist/components/overlays/kbd/kbd.class.js +1 -1
  222. package/dist/components/overlays/overlay/popover.class.d.ts +3 -1
  223. package/dist/components/overlays/overlay/popover.class.js +1 -1
  224. package/dist/components/overlays/overlay/tooltip.class.d.ts +3 -1
  225. package/dist/components/overlays/overlay/tooltip.class.js +1 -1
  226. package/dist/components/overlays/rating/rating.class.d.ts +2 -0
  227. package/dist/components/overlays/rating/rating.class.js +1 -1
  228. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +2 -2
  229. package/dist/components/retrieval/entity-card/entity-card.class.d.ts +5 -2
  230. package/dist/components/retrieval/entity-card/entity-card.class.js +1 -1
  231. package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +4 -2
  232. package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -1
  233. package/dist/components/retrieval/graph/graph-canvas.js +1 -1
  234. package/dist/components/retrieval/graph/graph.class.d.ts +9 -7
  235. package/dist/components/retrieval/graph/graph.class.js +1 -1
  236. package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +1 -3
  237. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.d.ts +2 -0
  238. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +1 -1
  239. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +3 -2
  240. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +7 -3
  241. package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts +2 -1
  242. package/dist/components/retrieval/provenance-panel/provenance-panel.class.js +1 -1
  243. package/dist/components/retrieval/source-picker/source-picker.class.d.ts +2 -1
  244. package/dist/components/retrieval/source-picker/source-picker.class.js +1 -1
  245. package/dist/components/utility/format/format-number.class.d.ts +3 -1
  246. package/dist/components/utility/format/format-options.js +1 -1
  247. package/dist/components/utility/json-viewer/json-viewer.class.d.ts +3 -2
  248. package/dist/components/utility/json-viewer/json-viewer.class.js +2 -2
  249. package/dist/components/utility/known-date/known-date.class.d.ts +9 -5
  250. package/dist/components/utility/known-date/known-date.class.js +2 -2
  251. package/dist/components/utility/known-date/known-date.styles.js +1 -1
  252. package/dist/components/utility/mention-popover/mention-popover.class.d.ts +3 -1
  253. package/dist/components/utility/mention-popover/mention-popover.class.js +1 -1
  254. package/dist/components/utility/poll-status/poll-status.class.d.ts +3 -0
  255. package/dist/components/utility/poll-status/poll-status.styles.js +1 -1
  256. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts +1 -0
  257. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +1 -1
  258. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +2 -1
  259. package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +1 -1
  260. package/dist/components/viewers/document-preview/document-preview.class.d.ts +4 -2
  261. package/dist/components/viewers/document-preview/document-preview.class.js +1 -1
  262. package/dist/components/viewers/document-preview/document-preview.styles.js +1 -1
  263. package/dist/components/viewers/document-viewer/document-viewer.class.d.ts +3 -2
  264. package/dist/components/viewers/document-viewer/document-viewer.class.js +2 -2
  265. package/dist/components/viewers/document-viewer/registry-ownership.d.ts +1 -0
  266. package/dist/components/viewers/document-viewer/registry-ownership.js +1 -0
  267. package/dist/components/viewers/document-viewer/registry.js +1 -1
  268. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +7 -1
  269. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +1 -1
  270. package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +2 -1
  271. package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -2
  272. package/dist/components/viewers/include/include-resource.js +1 -1
  273. package/dist/components/viewers/include/include.class.d.ts +3 -1
  274. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.d.ts +4 -2
  275. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +4 -4
  276. package/dist/components/viewers/notebook-viewer/notebook-viewer.styles.js +1 -1
  277. package/dist/components/viewers/passive-markup.js +1 -1
  278. package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts +2 -1
  279. package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +1 -1
  280. package/dist/components/viewers/xml-viewer/xml-viewer.class.d.ts +2 -1
  281. package/dist/components/viewers/xml-viewer/xml-viewer.class.js +1 -1
  282. package/dist/components/viewers/xml-viewer/xml-viewer.js +1 -1
  283. package/dist/custom-elements-jsx.d.ts +1 -1
  284. package/dist/internal/aria-reflection.js +1 -1
  285. package/dist/internal/catalog-picker.js +1 -1
  286. package/dist/internal/default-strings.generated.d.ts +1 -1
  287. package/dist/internal/default-strings.generated.js +1 -1
  288. package/dist/internal/dev-mode-attribute-warning.d.ts +3 -0
  289. package/dist/internal/dev-mode-attribute-warning.js +1 -1
  290. package/dist/internal/form-associated.js +1 -1
  291. package/dist/internal/localization-types.d.ts +1 -1
  292. package/dist/internal/localization.js +1 -1
  293. package/dist/internal/lyra-element.js +1 -1
  294. package/dist/internal/native-control-description.d.ts +7 -0
  295. package/dist/internal/native-control-description.js +1 -0
  296. package/dist/internal/option-selection.js +1 -1
  297. package/dist/internal/overlay-order.d.ts +6 -0
  298. package/dist/internal/overlay-order.js +1 -0
  299. package/dist/internal/overlay-stack.d.ts +1 -1
  300. package/dist/internal/overlay-stack.js +1 -1
  301. package/dist/internal/package-metadata.d.ts +1 -1
  302. package/dist/internal/package-metadata.js +1 -1
  303. package/dist/internal/positioner.d.ts +5 -4
  304. package/dist/internal/reactive-property-writes.d.ts +1 -0
  305. package/dist/internal/reactive-property-writes.js +1 -0
  306. package/dist/internal/svg-title.d.ts +3 -0
  307. package/dist/internal/svg-title.js +1 -0
  308. package/dist/svelte.d.ts +1 -1
  309. package/dist/translations/ar.js +1 -1
  310. package/dist/translations/de.js +1 -1
  311. package/dist/translations/es.js +1 -1
  312. package/dist/translations/fa.js +1 -1
  313. package/dist/translations/fr.js +1 -1
  314. package/dist/translations/he.js +1 -1
  315. package/dist/translations/ja.js +1 -1
  316. package/dist/translations/pt-BR.js +1 -1
  317. package/dist/translations/ru.js +1 -1
  318. package/dist/translations/zh-CN.js +1 -1
  319. package/dist/vue.d.ts +1 -1
  320. package/llms/components/lr-accordion-item.md +4 -0
  321. package/llms/components/lr-accordion.md +4 -0
  322. package/llms/components/lr-agent-trace.md +3 -0
  323. package/llms/components/lr-animation.md +4 -0
  324. package/llms/components/lr-app-rail-item.md +4 -2
  325. package/llms/components/lr-app-rail.md +4 -2
  326. package/llms/components/lr-attachment-chip.md +6 -0
  327. package/llms/components/lr-av-player.md +14 -0
  328. package/llms/components/lr-avatar.md +4 -0
  329. package/llms/components/lr-box-plot.md +6 -0
  330. package/llms/components/lr-button.md +11 -3
  331. package/llms/components/lr-calendar-viewer.md +4 -0
  332. package/llms/components/lr-calendar.md +5 -0
  333. package/llms/components/lr-carousel.md +5 -0
  334. package/llms/components/lr-chart.md +13 -4
  335. package/llms/components/lr-chat-message.md +4 -0
  336. package/llms/components/lr-checkbox.md +3 -0
  337. package/llms/components/lr-chip-group.md +3 -0
  338. package/llms/components/lr-chip.md +3 -0
  339. package/llms/components/lr-code-block-core.md +16 -4
  340. package/llms/components/lr-code-block.md +7 -0
  341. package/llms/components/lr-code-editor.md +18 -5
  342. package/llms/components/lr-color-picker.md +9 -0
  343. package/llms/components/lr-combobox.md +35 -4
  344. package/llms/components/lr-command-palette.md +4 -0
  345. package/llms/components/lr-commit-card.md +3 -0
  346. package/llms/components/lr-compare-panel.md +7 -0
  347. package/llms/components/lr-condition-builder.md +5 -0
  348. package/llms/components/lr-conversation-item.md +3 -0
  349. package/llms/components/lr-copy-button.md +6 -0
  350. package/llms/components/lr-dashboard-grid.md +5 -0
  351. package/llms/components/lr-data-grid.md +11 -1
  352. package/llms/components/lr-dataset-viewer.md +3 -2
  353. package/llms/components/lr-date-input.md +46 -6
  354. package/llms/components/lr-date-picker.md +46 -6
  355. package/llms/components/lr-details.md +4 -0
  356. package/llms/components/lr-dialog.md +4 -0
  357. package/llms/components/lr-document-library.md +4 -0
  358. package/llms/components/lr-document-preview.md +7 -1
  359. package/llms/components/lr-document-viewer.md +9 -3
  360. package/llms/components/lr-dropdown-item.md +4 -0
  361. package/llms/components/lr-dropdown.md +3 -0
  362. package/llms/components/lr-ebook-viewer.md +4 -0
  363. package/llms/components/lr-email-viewer.md +5 -0
  364. package/llms/components/lr-emoji-picker.md +17 -3
  365. package/llms/components/lr-empty.md +3 -0
  366. package/llms/components/lr-entity-card.md +3 -0
  367. package/llms/components/lr-entity-chip.md +4 -0
  368. package/llms/components/lr-file-input.md +7 -0
  369. package/llms/components/lr-file-tree.md +5 -1
  370. package/llms/components/lr-filter-bar.md +5 -0
  371. package/llms/components/lr-flow-canvas.md +8 -1
  372. package/llms/components/lr-flow-node.md +2 -1
  373. package/llms/components/lr-flow-run-status.md +1 -1
  374. package/llms/components/lr-format-number.md +4 -0
  375. package/llms/components/lr-funnel.md +4 -0
  376. package/llms/components/lr-gauge.md +4 -0
  377. package/llms/components/lr-generation-metrics.md +5 -0
  378. package/llms/components/lr-graph-query-builder.md +6 -0
  379. package/llms/components/lr-graph.md +8 -2
  380. package/llms/components/lr-heatmap.md +13 -0
  381. package/llms/components/lr-icon-button.md +7 -0
  382. package/llms/components/lr-image-viewer.md +9 -0
  383. package/llms/components/lr-include.md +5 -0
  384. package/llms/components/lr-ingestion-queue.md +4 -0
  385. package/llms/components/lr-input.md +22 -8
  386. package/llms/components/lr-json-viewer.md +4 -0
  387. package/llms/components/lr-kbd.md +3 -0
  388. package/llms/components/lr-knowledge-graph-explorer.md +7 -0
  389. package/llms/components/lr-known-date.md +7 -0
  390. package/llms/components/lr-lite-chart.md +21 -4
  391. package/llms/components/lr-live-region.md +3 -0
  392. package/llms/components/lr-locale-picker.md +6 -0
  393. package/llms/components/lr-map.md +8 -0
  394. package/llms/components/lr-markdown-core.md +4 -0
  395. package/llms/components/lr-markdown.md +8 -4
  396. package/llms/components/lr-media-card.md +5 -2
  397. package/llms/components/lr-mention-popover.md +5 -0
  398. package/llms/components/lr-menu-item.md +4 -0
  399. package/llms/components/lr-menu-label.md +4 -3
  400. package/llms/components/lr-menu.md +4 -0
  401. package/llms/components/lr-message-actions.md +3 -0
  402. package/llms/components/lr-message-feedback.md +4 -0
  403. package/llms/components/lr-message-parts.md +3 -2
  404. package/llms/components/lr-model-select.md +8 -0
  405. package/llms/components/lr-multi-split.md +15 -6
  406. package/llms/components/lr-native-time-input.md +10 -0
  407. package/llms/components/lr-node-palette.md +3 -0
  408. package/llms/components/lr-notebook-viewer.md +4 -1
  409. package/llms/components/lr-number-input.md +12 -1
  410. package/llms/components/lr-option.md +35 -4
  411. package/llms/components/lr-otp-input.md +10 -0
  412. package/llms/components/lr-pan-zoom.md +1 -2
  413. package/llms/components/lr-phone-input.md +20 -5
  414. package/llms/components/lr-poll-status.md +4 -0
  415. package/llms/components/lr-popover.md +3 -0
  416. package/llms/components/lr-popup.md +3 -2
  417. package/llms/components/lr-prompt-studio.md +7 -0
  418. package/llms/components/lr-provenance-panel.md +3 -0
  419. package/llms/components/lr-push-to-talk.md +3 -0
  420. package/llms/components/lr-radio-button.md +13 -4
  421. package/llms/components/lr-radio-group.md +5 -0
  422. package/llms/components/lr-radio.md +9 -0
  423. package/llms/components/lr-rating.md +3 -0
  424. package/llms/components/lr-reorder-item.md +6 -0
  425. package/llms/components/lr-reorder-list.md +6 -0
  426. package/llms/components/lr-result-card.md +3 -0
  427. package/llms/components/lr-result-field.md +3 -0
  428. package/llms/components/lr-rubric-form.md +12 -0
  429. package/llms/components/lr-select.md +9 -0
  430. package/llms/components/lr-sequence-playback.md +4 -0
  431. package/llms/components/lr-slider.md +16 -4
  432. package/llms/components/lr-source-picker.md +4 -0
  433. package/llms/components/lr-span-waterfall.md +3 -0
  434. package/llms/components/lr-sparkline.md +4 -0
  435. package/llms/components/lr-split-panel.md +4 -0
  436. package/llms/components/lr-stack-trace.md +3 -0
  437. package/llms/components/lr-stat.md +10 -0
  438. package/llms/components/lr-subagent-panel.md +3 -2
  439. package/llms/components/lr-svg-viewer.md +3 -0
  440. package/llms/components/lr-swatch-picker.md +4 -0
  441. package/llms/components/lr-switch.md +6 -0
  442. package/llms/components/lr-tab-group.md +4 -0
  443. package/llms/components/lr-table.md +10 -2
  444. package/llms/components/lr-terminal.md +3 -0
  445. package/llms/components/lr-textarea.md +9 -0
  446. package/llms/components/lr-thread-list.md +6 -3
  447. package/llms/components/lr-time-input.md +3 -0
  448. package/llms/components/lr-time-range.md +5 -0
  449. package/llms/components/lr-timeline-item.md +6 -0
  450. package/llms/components/lr-timeline.md +6 -0
  451. package/llms/components/lr-token-input.md +14 -0
  452. package/llms/components/lr-tool-call-chip.md +5 -3
  453. package/llms/components/lr-tool-param-form.md +4 -0
  454. package/llms/components/lr-tool-result-dialog.md +4 -0
  455. package/llms/components/lr-tool-select-dialog.md +4 -0
  456. package/llms/components/lr-tooltip.md +6 -0
  457. package/llms/components/lr-trace-tree.md +3 -0
  458. package/llms/components/lr-transcript-feed.md +3 -0
  459. package/llms/components/lr-tree-item.md +12 -5
  460. package/llms/components/lr-tree.md +12 -5
  461. package/llms/components/lr-typing-indicator.md +3 -0
  462. package/llms/components/lr-usage-badge.md +4 -0
  463. package/llms/components/lr-video.md +8 -2
  464. package/llms/components/lr-virtual-list.md +5 -3
  465. package/llms/components/lr-voice-picker.md +8 -0
  466. package/llms/components/lr-widget-renderer.md +9 -0
  467. package/llms/components/lr-widget.md +4 -2
  468. package/llms/components/lr-word-cloud.md +4 -0
  469. package/llms/components/lr-xml-viewer.md +9 -2
  470. package/llms/components/lr-zoomable-frame.md +6 -3
  471. package/llms-full.txt +4080 -2711
  472. package/package.json +4 -4
  473. package/vscode-css-data.json +1 -1
  474. package/vscode-html-data.json +1 -1
  475. package/web-types.json +1 -1
@@ -29,6 +29,11 @@ include instance. Other navigation and resource attributes such as `href`, `src`
29
29
  cannot remain interactive; their wrappers are unwrapped when their ordinary children are safe,
30
30
  while elements such as inputs that have no passive content are removed.
31
31
 
32
+ The same passive restrictions apply through nested template contents before a remote document is
33
+ retained in the cache or a selected fragment becomes live. Template text and fragment selection
34
+ remain supported at nested depths, including ordinary elements inside templates; permitted local
35
+ anchors still resolve against per-instance rebased IDs.
36
+
32
37
  A bare primitive: no label/hint/error chrome, no implicit role, no computed accessible name, and no
33
38
  `aria-live` wrapper (the fragment can carry its own landmarks; wrapping the host would re-announce
34
39
  all of it on every load). The host always carries explicit `aria-busy="true"|"false"`: true while
@@ -19,6 +19,10 @@
19
19
  Controlled list of documents moving through an ingestion pipeline: stage badge, progress, chunk/
20
20
  embedding counts, retry attempts, errors, and retry/cancel requests. Never ingests anything itself.
21
21
 
22
+ Nonstring failure details use the localized failed-stage label for row text and fresh failure
23
+ announcements. Omitted details stay omitted. Formatting uses the effective locale, and historical
24
+ failures remain silent on mount.
25
+
22
26
  **Properties:**
23
27
 
24
28
  - `items: IngestionQueueItem[] = []` (attribute: false) — `IngestionQueueItem { id: string;
@@ -21,6 +21,20 @@ form-associated via the same `FormAssociated` mixin as `lr-textarea`. Ships the
21
21
  `label`/`hint`/`errorText` form-control chrome as `lr-textarea`/`lr-select`, and the same
22
22
  `size` scale as `lr-select`/`lr-combobox`.
23
23
 
24
+ `stepUp()` and `stepDown()` use the current `value`, `step`, `min`, and `max` properties in the same
25
+ synchronous call, including changes made immediately beforehand. They preserve native step alignment
26
+ and bounds, update form submission silently, and remain no-ops before the native input has rendered
27
+ or while disabled/readonly. Native `step="any"` remains a non-steppable no-op.
28
+
29
+ Removing `label`, `hint`, `help-text`, or `error-text` safely omits that content while retaining
30
+ native `null` property readback. Explicit empty strings remain empty and later supplied text renders
31
+ normally. The same inherited behavior applies to `lr-number-input` and `lr-native-time-input`.
32
+
33
+ Changing own `disabled` from true to false in the same task that disables an ancestor fieldset keeps
34
+ the native editing control effectively disabled. The enabled first-legend exception and explicit
35
+ own-disabled state retain their native meaning; validity and form submission follow the effective
36
+ disabled state.
37
+
24
38
  Pressing Enter submits the ancestor `<form>` — the implicit submission a native `<input>` performs;
25
39
  see "Enter-to-submit" below for the exact rules and for which controls deliberately opt out.
26
40
 
@@ -61,9 +75,9 @@ shared hit target (42px including the row border at the default theme); `l` and
61
75
  - `clearable: boolean = false` (reflected) — shows a localized clear action while a `text` or
62
76
  `search` input has a value; clearing preserves input focus
63
77
  - `withClear: boolean = false` (attribute `with-clear`) — Web Awesome's spelling of `clearable`;
64
- either one shows the same action. Inherited by `lr-number-input`, where it is inert because that
65
- type renders no clear action, and by `lr-time-input`, where it enables the segmented field's
66
- localized clear action
78
+ either one shows the same action. Inherited by `lr-number-input` and `lr-native-time-input`,
79
+ where it is inert because their native types render no clear action. The separate segmented
80
+ `lr-time-input` implements its own `with-clear` action
67
81
  - `readonly: boolean = false` (reflected) — forwarded to the native input and disables clearing
68
82
  - `label: string = ''`
69
83
  - `hint: string = ''`
@@ -95,7 +109,7 @@ writes remain valid and read back as booleans. Markup uses `autocorrect="on"` /
95
109
  `type="time"`. On `lr-input` itself the `min`/`max` _attributes_ are number-converted, so a
96
110
  non-numeric bound only survives a direct property assignment; the declared type also admits a
97
111
  string so a subclass can narrow the attribute parsing to its own native type's literal form —
98
- `lr-time-input` does exactly that. Inert for the other types
112
+ `lr-native-time-input` does exactly that. Inert for the other types
99
113
  - `minlength?: number` / `maxlength?: number` (attributes `minlength`/`maxlength`) — text-length
100
114
  bounds forwarded to the native input and reported as `validity.tooShort`/`validity.tooLong`.
101
115
  Apply to the text-bearing types (`text`, `search`, `email`, `password`); the platform ignores
@@ -203,8 +217,8 @@ than the icon-beside-label gap the ladder is tuned for. `--lr-input-radius` (def
203
217
  `--lr-form-control-radius`, its corner radius) is retunable the same way but _does_ follow the tier:
204
218
  the two tightest tiers take a smaller radius, since a 6px corner on a 20px-tall control reads as a
205
219
  lozenge. `pill` changes its private default to `--lr-radius-pill`; an inherited or direct public
206
- value still wins. `lr-number-input`/`lr-time-input` inherit both
207
- unchanged.
220
+ value still wins. `lr-number-input`/`lr-native-time-input` inherit both
221
+ unchanged. The separate segmented `lr-time-input` also consumes the documented input theme tokens.
208
222
 
209
223
  `--lr-input-fill` (default `transparent`) is the control row's background and
210
224
  `--lr-input-border-color` (default `var(--lr-color-border)`) its border color. `appearance` changes
@@ -298,8 +312,8 @@ submission must never shadow it: `lr-textarea` and `lr-code-editor` insert a new
298
312
  whole point of a multi-line surface; `lr-select`'s `role="combobox"` trigger opens the listbox (and
299
313
  then commits the active option), per the ARIA pattern; and `lr-date-picker` selects the focused day
300
314
  in the calendar grid. The controls that _do_ wire it are `lr-input` (and its `lr-number-input`/
301
- `lr-time-input` subclasses), `lr-combobox`, `lr-date-input`, `lr-phone-input`, `lr-token-input` and
302
- `lr-otp-input`.
315
+ `lr-native-time-input` subclasses), the separate segmented `lr-time-input`, `lr-combobox`,
316
+ `lr-date-input`, `lr-phone-input`, `lr-token-input` and `lr-otp-input`.
303
317
 
304
318
  ### Exact-height hatches — the one rule that applies to all of them
305
319
 
@@ -29,6 +29,10 @@ being patched in place. A container value that self-references (directly or thro
29
29
  renders as a leaf `Circular reference` marker (`data-type="circular"`) instead of recursing — no
30
30
  stack overflow on cyclic `data`.
31
31
 
32
+ Removing `search` clears matches while retaining null property readback. Before any match is active,
33
+ `searchPrevious()` selects the final match; later next/previous navigation wraps. Navigation may
34
+ reopen the selected match’s ancestors while unrelated manual collapse remains intact.
35
+
32
36
  **Properties:**
33
37
 
34
38
  - `data: unknown` (attribute `false` — property-only, not settable via an HTML attribute)
@@ -20,6 +20,9 @@ A small chip representing a keyboard shortcut, rendering the platform-appropriat
20
20
  cross-platform modifier keys (⌘ on macOS, "Ctrl" elsewhere) from a single platform-neutral `keys`
21
21
  string. First-party invention (no Web Awesome equivalent).
22
22
 
23
+ Removing `keys` safely clears the shortcut. Unknown tokens, including `constructor` and `__proto__`,
24
+ render and name themselves verbatim; recognized modifiers keep their localized labels.
25
+
23
26
  **Properties:**
24
27
 
25
28
  - `keys: string = ''` — a `+`-separated sequence of tokens, e.g. `"mod+k"` or `"mod+shift+p"`.
@@ -21,6 +21,13 @@ neighborhood expansion, pinned nodes, path finding between pins, node selection,
21
21
  overlay. Composes `lr-graph`, `lr-graph-legend`, `lr-entity-card`, `lr-neighbor-list`,
22
22
  `lr-path-strip`, and `lr-popover.showAt()`.
23
23
 
24
+ Removing `search-query` retains `null` property readback while clearing the search input, results
25
+ and search dimming; an explicitly empty value remains empty and later queries work normally.
26
+ Path-node `lr-entity-activate` is consumed by the explorer and enters the same selection, graph
27
+ focus and details flow as other entity activations, emitting one `lr-selection-change`.
28
+ `lr-relation-activate` continues to pass through unchanged. The canonical search event fields remain
29
+ `query`, `matchCount`, and `matchCountExact`.
30
+
24
31
  **Properties:** (host-supplied data, identity-normalized before rendering)
25
32
 
26
33
  - `nodes: LyraGraphNode[] = []`, `links: LyraGraphLink[] = []`, `nodeTypes: LyraNodeTypeStyle[] = []`,
@@ -21,6 +21,13 @@ collected as three plain day/month/year number fields in the locale's natural or
21
21
  calendar popup. Uses the shared `FormAssociated` mixin; the submitted value is always canonical ISO
22
22
  8601 (`YYYY-MM-DD`), or `''` while any field is blank or the combination isn't a real calendar date.
23
23
 
24
+ Host `aria-describedby` resolves external guidance onto the aggregate date fieldset and follows live
25
+ target replacement/removal/reinsertion and document adoption. Each native field retains the
26
+ component’s local hint and error guidance. Removed `label` and `hint` render as absent. Removing
27
+ `day-label`, `month-label`, or `year-label` restores that field’s localized omitted default; an
28
+ explicitly empty label remains empty. Own or fieldset disablement preserves each field’s resting
29
+ paint on hover and press.
30
+
24
31
  **Properties:**
25
32
 
26
33
  - `value: string` — canonical `YYYY-MM-DD` or `''`. Assignment goes through a strict-ISO gate:
@@ -135,7 +135,10 @@ passthrough). Not a subclass of `LyraChart`.
135
135
  percentage cap from its own ResizeObserver result would create a shrinking feedback loop. The
136
136
  gutter remains at logical start under RTL. Unset keeps exactly 36px.
137
137
  - `barGapRatio?: number` (attribute `bar-gap-ratio`) — overrides the internal 0.2 `BAR_GROUP_GAP`
138
- fraction of a category slot left as a gap between categories. Unset keeps the fixed 0.2.
138
+ fraction of a category slot left as a gap between categories. Unset keeps the fixed 0.2. Internal
139
+ grouped-bar gaps are bounded within the remaining category width so supported multi-series groups
140
+ retain positive, nonoverlapping bars for ratios below 1. A ratio of 1 reserves the whole slot as
141
+ gap and leaves zero-width bars.
139
142
  - `scale: 'linear' | 'sqrt' | 'logarithmic' = 'linear'` — `'sqrt'` (**bar type only**) maps a bar's
140
143
  value to height via `Math.sqrt(value / domainMax)` instead of the standard linear `niceDomain`
141
144
  fraction (mirroring `lr-heatmap`'s matrix-mode `sqrt` scale), so a skewed dataset's smaller bars
@@ -144,13 +147,20 @@ passthrough). Not a subclass of `LyraChart`.
144
147
  `'logarithmic'` is the base-10 value axis for data spanning several orders of magnitude, where a
145
148
  linear axis collapses everything below the maximum into the baseline. Unlike `'sqrt'` it applies
146
149
  to **bars, line points and gridlines alike**, since a log axis whose gridlines stayed linear
147
- would misrepresent the plot. Its lower bound is the smallest *positive* datum rather than the
150
+ would misrepresent the plot. Value ticks use positive, bounded steps within that same domain:
151
+ powers of ten across whole decades, with positive numeric steps for spans smaller than a decade.
152
+ Both domain bounds remain represented, with space reserved between interior ticks and the bounds.
153
+ Linear and square-root tick selection is unchanged. Its lower bound is the smallest *positive* datum rather than the
148
154
  linear `lo`: `beginAtZero` defaults to true, so `lo` is normally `0`, which has no logarithm —
149
155
  deriving the floor from the data is what makes a 1…1000 series span three even decades instead of
150
156
  collapsing onto one. Values at or below that floor (including zero and negatives, which have no
151
157
  real logarithm) pin to the axis floor rather than producing `-Infinity` geometry, and a degenerate
152
158
  domain falls back to the linear fraction. `lr-chart`'s own `scaleType` is the Chart.js-backed
153
- equivalent for the full charts.
159
+ equivalent for the full charts. With `stacked` and `'logarithmic'`, the finite sum of positive
160
+ raw values determines the log-mapped total extent; positive raw fractions partition that extent.
161
+ Nonpositive segments have zero natural log height. With `minBarHeight` unset, the stack stays
162
+ within the plot and its top agrees with the log axis. The square-root mode retains its separate
163
+ signed-total compression and proportional allocation, with linear gridlines.
154
164
  - `withoutValueAxis: boolean = false` (attribute `without-value-axis`) — suppresses gridlines and
155
165
  value-axis tick labels; x-axis category labels remain.
156
166
  - `selectedIndices: readonly number[] = []` (attribute: false) — names **source category indices**,
@@ -169,7 +179,8 @@ passthrough). Not a subclass of `LyraChart`.
169
179
  collection.
170
180
  - `minBarHeight?: number` (attribute `min-bar-height`) — optional minimum visible bar height for
171
181
  small non-zero values; finite input is capped at 1,000,000px before derived SVG geometry is
172
- calculated
182
+ calculated. Authored floors can exceed the available plot height. Linear and logarithmic stacks
183
+ push subsequent segments along their signed pixel cursor; zero values remain unfloored.
173
184
  - `appendData(label, values, maxPoints?)` — appends one aligned category and optionally trims the
174
185
  oldest categories
175
186
 
@@ -185,6 +196,12 @@ markup. CSV rows cover the canonical record count — the maximum of `labels.len
185
196
  is never truncated or shifted. The method does not download a file; pair it with
186
197
  `lr-export-button` for download UX.
187
198
 
199
+ Axis titles retain their complete `xLabel`/`yLabel` values and accessible names. In the browser,
200
+ visible titles fit their plot allocation using the rendered SVG font; long titles end with an
201
+ ellipsis. If even the ellipsis cannot fit, the title remains accessible without painting text.
202
+ Fitting refreshes after rendering, allocation changes, inherited or host font changes, font loading,
203
+ and reconnection. Server rendering retains the original title until browser layout is available.
204
+
188
205
  The axis gutter/title and y-axis labels mirror to logical start under RTL. Built-in mark summaries
189
206
  are complete localized templates and format values with `effectiveLocale`.
190
207
 
@@ -21,6 +21,9 @@ A throttled screen-reader announcement helper, split into a DOM-free coalescing
21
21
  and a real custom element that composes both. The two helpers are public — part of the curated,
22
22
  semver-covered `utilities/` surface documented in `llms/shared.md`, not internals:
23
23
 
24
+ The Basic example’s controls announce through its sibling live region; both first and repeated
25
+ messages appear in the visible log and the light-DOM announcement sink.
26
+
24
27
  ```ts
25
28
  import {
26
29
  Announcer,
@@ -23,6 +23,12 @@ plus `en` — kept live via `subscribeLyraLocaleRegistry()`. Built directly on `
23
23
  trigger-button/`aria-activedescendant` listbox technique, not composed from it — a plain closed
24
24
  list, no filter/free-text mode.
25
25
 
26
+ Host `aria-describedby` references resolve onto the role=combobox trigger before its local error and
27
+ hint guidance. The relationship tracks missing IDs, target replacement, removal/reinsertion,
28
+ reconnect, and document adoption. Removing `label`, `hint`, or `error-text` safely omits that
29
+ content while leaving native `null` property readback unchanged; explicit empty strings remain empty
30
+ and later supplied text renders normally.
31
+
26
32
  Public `--lr-locale-picker-*` theme inputs stay undeclared on the host, so an ancestor theme
27
33
  wrapper can override size-tier fallbacks; a value set directly on the element still wins.
28
34
 
@@ -22,6 +22,14 @@ plus a peer-neutral `map` getter for common imperative operations. Its runtime v
22
22
  underlying MapLibre map. The component observes its own map-container allocation and calls the
23
23
  peer's `resize()` when that allocation changes.
24
24
 
25
+ Markers and popups use the physical top-left origin required by MapLibre's projected transforms in
26
+ both LTR and RTL. Their text and surrounding controls retain logical direction-aware layout.
27
+
28
+ Live ancestor theme or token changes resolve the choropleth's stop colors and explicit or implicit
29
+ step base color again, as well as its opacity. These are paint-only updates on the existing fill
30
+ layer: the map instance, source, layer and viewport are preserved. Linear, logarithmic and step
31
+ modes use the same expression semantics at initial render and after a theme change.
32
+
25
33
  **Properties:**
26
34
 
27
35
  - `center: [number, number] = [0, 0]`
@@ -25,6 +25,10 @@ this component's own module never imports or calls that function at all; it only
25
25
  `loadShikiHighlighterCore(languages)`, so a consumer importing this entry point instead of
26
26
  `markdown.js` gets a build genuinely free of shiki's full language table.
27
27
 
28
+ Removing `content` clears the document and its empty-document tab stop, including while streaming.
29
+ The property keeps Lit's `null` readback after removal; an explicitly empty attribute remains an
30
+ empty string. Later source text renders normally.
31
+
28
32
  A fenced code block whose language isn't a key in `languages` always renders the plain-text fallback
29
33
  — there is no default/full-table highlighter here to fall back to, the same default (not degraded)
30
34
  rendering path as `<lr-code-block-core>`'s identical contract. A block that _is_ highlighted follows the
@@ -24,6 +24,10 @@ instance on a page shares one load. `heading`/`code`/`blockquote`/`table`/`link`
24
24
  rendered through a `marked` renderer override that injects `part="..."` attributes directly into the
25
25
  produced HTML in a single pass (no second DOM walk after insertion).
26
26
 
27
+ Removing `content` clears the document and its empty-document tab stop, including while streaming.
28
+ The property keeps Lit's `null` readback after removal; an explicitly empty attribute remains an
29
+ empty string. Later source text renders normally.
30
+
27
31
  If an instance disconnects and reconnects before that shared promise settles, only the current
28
32
  connection applies the result and reparses; the stale connection callback is generation-guarded.
29
33
 
@@ -92,10 +96,10 @@ uses for its own `[part="body"]`.
92
96
  than overflowing past the HTML heading levels. `0` (the default) preserves the original
93
97
  `<h${token.depth}>` output
94
98
  - `streaming: boolean = false` (reflected) — marks the host `aria-busy="true"` while partial Markdown
95
- is still arriving and lets consumers target `lr-markdown[streaming]`; content updates while it is
96
- true are coalesced to at most one parse per animation frame, while the final `streaming=false`
97
- update flushes the latest content immediately; busy state also remains true while parser
98
- dependencies are loading
99
+ is still arriving and lets consumers target `lr-markdown[streaming]`. Both `lr-markdown` and
100
+ `lr-markdown-core` display accumulated plain text without parsing or highlighting while it is
101
+ true. Setting `streaming=false` parses and renders the latest complete content; busy state also
102
+ remains true while parser dependencies are loading
99
103
  - `highlightCode: boolean = true` (attribute `highlight-code`) — syntax-highlights fenced code
100
104
  blocks via the optional `shiki` peer. `true` (the default) upgrades every fenced block once the
101
105
  peer is available; set `false` to keep plain output even when `shiki` is installed. No effect
@@ -22,6 +22,10 @@ server-side-conversion state machine) and `lr-attachment-chip` (a pre-send queue
22
22
  upload progress). This component has neither concern; it only ever shows a `src` that's already
23
23
  final.
24
24
 
25
+ Removing `mime-type` consumes the hint as absent and restores generic file detection unless `kind`
26
+ explicitly selects a format. Property readback stays `null`; an explicit empty hint remains empty
27
+ and later MIME values restore detection.
28
+
25
29
  **Properties:**
26
30
 
27
31
  - `src: string = ''` — the media URL. Always re-validated against a safe-scheme allowlist before
@@ -38,8 +42,7 @@ final.
38
42
  carve-out: an empty `alt` there still falls through to `filename`/the generic description, because
39
43
  an empty accessible name would leave an interactive player unnamed rather than mark it decorative.
40
44
  - `accessibleLabel: string | null = null` (attribute `aria-label`) — a declarative attribute names
41
- the host as a whole while its nested button/link keeps a purpose-specific localized action name. A
42
- property-only assignment can override the nested action when no host label is present. An explicit
45
+ the host as a whole while its nested button/link keeps a purpose-specific localized action name. A property-only assignment names the nested action and updates reactively when no host label is present, without creating a host attribute. An explicit
43
46
  empty string behaves like the unset `null` default — both fall through to the generated
44
47
  purpose-specific name. Image alt text and the native video's own purpose label remain independent;
45
48
  an explicitly empty host still leaves every interactive descendant named.
@@ -27,6 +27,11 @@ cross-root string IDREF is never left behind. Later localized result-count and a
27
27
  changes are announced once through the shared polite region; opening markup and unchanged state are
28
28
  silent.
29
29
 
30
+ Forward native input keydown events to `handleKeyDown()` as usual. Events with `isComposing` or
31
+ legacy `keyCode === 229` return false without preventing default, moving the active suggestion,
32
+ selecting, or closing the popover. Removing `query` uses the unfiltered empty-query behavior while
33
+ preserving null readback; an explicitly empty query remains empty.
34
+
30
35
  **Properties:**
31
36
 
32
37
  - `anchor?: HTMLElement` (attribute: false) — the element to position the popup relative to. A
@@ -22,6 +22,10 @@ The inline semantic menu mapped from Shoelace's `sl-menu`, plus its action-row e
22
22
  wrapping keyboard navigation, type-ahead, and one canonical selection event. It deliberately has no
23
23
  trigger, positioned popup, root open state, placement API, or overlay lifecycle.
24
24
 
25
+ Removing or disabling the remembered active item repairs the roving stop without taking focus from
26
+ outside controls or the menu's header/footer. If the changed item held actual focus, focus moves to
27
+ a valid survivor or through the existing owner dismissal path when none remain.
28
+
25
29
  For a menu button or other anchored overlay, compose the semantic controller inside
26
30
  `<lr-dropdown>`:
27
31
 
@@ -25,9 +25,10 @@ name (`lr-menu-item` or `lr-dropdown-item`), not `instanceof`, so an adopted sam
25
25
  foreign-realm item remains enrollable. A label matches neither tag, is never enrolled in the roving
26
26
  tabindex, and can never become a focus stop; nothing on `<lr-menu>` has to know this element exists.
27
27
 
28
- To announce a _named group_ rather than a caption, wrap the labelled items in an element with
29
- `role="group"` and give it a matching `aria-label`. `aria-labelledby` pointing at this element's
30
- internals would not resolve idrefs do not cross a shadow boundary.
28
+ Keep selectable items directly assigned to the menu's default slot, or forward them through a
29
+ slot, with `lr-menu-label` as a sibling visual caption. Arbitrary `role="group"` wrappers do not
30
+ provide a supported menu-group API. `aria-labelledby` cannot reference this element's shadow
31
+ internals because idrefs do not cross a shadow boundary.
31
32
 
32
33
  **Properties:** none. **Events:** none. **Slots:** default (the heading text).
33
34
  **CSS parts:** `base` (the heading row).
@@ -22,6 +22,10 @@ The inline semantic menu mapped from Shoelace's `sl-menu`, plus its action-row e
22
22
  wrapping keyboard navigation, type-ahead, and one canonical selection event. It deliberately has no
23
23
  trigger, positioned popup, root open state, placement API, or overlay lifecycle.
24
24
 
25
+ Removing or disabling the remembered active item repairs the roving stop without taking focus from
26
+ outside controls or the menu's header/footer. If the changed item held actual focus, focus moves to
27
+ a valid survivor or through the existing owner dismissal path when none remain.
28
+
25
29
  For a menu button or other anchored overlay, compose the semantic controller inside
26
30
  `<lr-dropdown>`:
27
31
 
@@ -34,6 +34,9 @@ becomes unavailable, focus moves to the nearest survivor or the stable toolbar,
34
34
  newer external focus move. Keyboard movement starts from the action that actually received the event,
35
35
  even after a controlled state write changed the remembered stop.
36
36
 
37
+ ArrowLeft/ArrowRight/Home/End from a slotted feedback comment editor remain native editing keys.
38
+ Roving navigation still operates on the actual toolbar and thumb actions.
39
+
37
40
  **Properties:** `controls: MessageActionControl[] = []` (attribute: false) —
38
41
  `MessageActionControl = 'copy' | 'regenerate' | 'edit' | 'feedback'` (exported here); which built-ins
39
42
  render, in that order. Duplicate names are omitted first-wins before rendering, roving focus, or
@@ -24,6 +24,10 @@ read-only display). Activating the pressed thumb while its detail panel is open
24
24
  activating the still-pressed thumb reopens it with the surviving draft. A thumbs-only control always
25
25
  uses the ordinary re-activate-to-clear toggle.
26
26
 
27
+ Asynchronous finalization or reversion preserves focus on an outside control. Settlement retains the
28
+ existing thumb/submit fallback when focus remains within the feedback or was lost as its pending
29
+ controls became disabled.
30
+
27
31
  **Properties:** `rating: MessageFeedbackValue = null` (`'up' | 'down' | null`, reflected),
28
32
  `detail?: MessageFeedbackDetailConfiguration` (attribute: false) — one configuration with optional
29
33
  `reasons?: readonly { id, label }[]` and `commentable?: boolean`; omit it for thumbs-only feedback.
@@ -18,8 +18,9 @@
18
18
 
19
19
  Ordered renderer for provider-neutral `MessagePart[]`: text, reasoning, tool call/result, citation,
20
20
  attachment, data/widget, audio, and error parts can interleave without flattening stream order.
21
- Built-in text and reasoning Markdown receives each part's `state === 'streaming'` hint, coalescing
22
- parse/highlight work; replacing that same-id part with `state: 'complete'` flushes the final content.
21
+ Built-in text and reasoning Markdown receives each part's `state === 'streaming'` hint and displays
22
+ accumulated plain text without parsing or highlighting. Replacing that same-id part with
23
+ `state: 'complete'` parses and renders the final content.
23
24
  Citation badge ranks are precomputed in one linear pass per render, rather than rescanning and
24
25
  allocating every preceding part for each citation in a citation-heavy or growing message.
25
26
 
@@ -26,6 +26,14 @@ element. First-party invention (no Web Awesome equivalent).
26
26
  Session-history/autofill restoration synchronously restores the model id and form entry without
27
27
  emitting `lr-change`.
28
28
 
29
+ Removing `label`, `hint`, or `error-text` clears that optional copy in both catalog and free-text
30
+ modes. Removed string properties retain `null` readback, and later assignments restore their
31
+ content.
32
+
33
+ Composing key events (`isComposing` or legacy `keyCode === 229`) remain with the catalog query or
34
+ custom-value editor: they do not navigate options, commit a selection or custom value, or close the
35
+ popup. Ordinary keyboard behavior resumes after composition.
36
+
29
37
  When `catalog`/`allowCustom` replaces a focused trigger with the free-text input or vice versa,
30
38
  focus follows the available replacement. If the new owner is disabled or inert, focus returns to
31
39
  the available element that led into the picker, or to the stable `form-control` owner when no
@@ -21,6 +21,13 @@ auto-inserted between each adjacent pair. Panels participating in persistence ca
21
21
  nonempty, whitespace-stable `panel-id`; this business identity stays independent from the platform
22
22
  `id` attribute and is never rewritten.
23
23
 
24
+ Feasible `minPx` floors also constrain flex shrinking after the divider target gutters take their
25
+ allocation: a 600px split with a 40px divider can render panels of 300px and 260px. If the floors
26
+ cannot fit, the remaining panel space is shared proportionally instead of overflowing. The budget
27
+ follows allocation and the actual divider geometry, including font-relative tokens resolved in the
28
+ divider's own font context. Panel font sizes do not change that gutter budget; stored percentages,
29
+ initialization precedence, and resize event values retain their existing meaning.
30
+
24
31
  Granular import: `@aceshooting/lyra-ui/components/layout/multi-split/multi-split.js`.
25
32
  The Lyra-original v9 identity migration is mechanical: `lr-split` → `lr-multi-split`,
26
33
  `LyraSplit` → `LyraMultiSplit`, generic container authoring types → the corresponding
@@ -28,10 +35,10 @@ The Lyra-original v9 identity migration is mechanical: `lr-split` → `lr-multi-
28
35
  `--lr-split-*` hooks/storage keys → `--lr-multi-split-*`/`lr-multi-split:*`. The separate mirrored
29
36
  `lr-split-panel`, its `LyraSplitPanel` class, `SnapFunction`, and `SNAP_NONE` are unchanged.
30
37
 
31
- With a definite block size, each direct panel owns a native `overflow: auto` scroll surface and has
32
- `min-block-size: 0`, so long content stays inside the split rather than escaping into following
33
- content. Set `overflow` directly on an individual panel when its content needs a different scrolling
34
- surface.
38
+ With a definite block size, each direct panel owns a native `overflow: auto` scroll surface.
39
+ Unconstrained panels have a zero block minimum, so long content stays inside the split rather than
40
+ escaping into following content. Set `overflow` directly on an individual panel when its content
41
+ needs a different scrolling surface.
35
42
 
36
43
  **Properties:**
37
44
 
@@ -97,8 +104,10 @@ number; maxPx?: number; minPercent?: number; maxPercent?: number }`, index-align
97
104
  side resolves to the stricter one (larger for min, smaller for max) via a native CSS `max()`/`min()`
98
105
  in the rendered `clamp()` flex-basis. `sizes`, the `lr-resize` payload, and localStorage persistence
99
106
  stay percent-based regardless — only the effective drag/keyboard clamp bounds (and the rendered
100
- `flex-basis`, via a native CSS `clamp()` so a constrained panel stays pinned between its bounds
101
- across container resizes with no extra `ResizeObserver`) change for a constrained panel.
107
+ `flex-basis`, via a native CSS `clamp()` across container resizes) change for a constrained panel.
108
+ Pixel minimums also account for live divider dimensions. Bounds on neighboring panels remain
109
+ active during collapse transitions, including when constraints are updated from an
110
+ `lr-multi-split-collapse-change` handler.
102
111
  - `collapse: 'start'|'end'|'none' = 'none'` (reflected) — opt-in responsive collapse for one panel:
103
112
  `'start'`/`'end'` is a _logical_ position (RTL-aware, matching CSS logical properties — the panel at
104
113
  the document's visual leading/trailing edge, not a raw array index). `lr-multi-split` only owns the
@@ -22,6 +22,16 @@ forces its internal native input to `type="time"` on construction and reconnect,
22
22
  as numbers. Use it when the browser/OS picker is preferred; new `wa-time-input` migrations should
23
23
  use the segmented `lr-time-input` above.
24
24
 
25
+ `stepUp()` and `stepDown()` use the current `value`, `step`, `min`, and `max` properties in the same
26
+ synchronous call, including changes made immediately beforehand. They preserve native step alignment
27
+ and bounds, update form submission silently, and remain no-ops before the native input has rendered
28
+ or while disabled/readonly. Native `step="any"` remains a non-steppable no-op.
29
+
30
+ Changing own `disabled` from true to false in the same task that disables an ancestor fieldset keeps
31
+ the native editing control effectively disabled. The enabled first-legend exception and explicit
32
+ own-disabled state retain their native meaning; validity and form submission follow the effective
33
+ disabled state.
34
+
25
35
  **Inherits:** all public surface from `lr-input`.
26
36
 
27
37
  All `lr-input` properties, form methods, events, label/hint/error/start/end slots, parts, and theme
@@ -22,6 +22,9 @@ at `lr-node-add`/`lr-palette-place`; the host mutates `nodes`. Fully decoupled f
22
22
  `lr-flow-canvas` (no `for` resolution, unlike the other three companions) — it only needs to agree
23
23
  with a `droppable` canvas on the `FLOW_PALETTE_MIME_TYPE` drag payload shape.
24
24
 
25
+ For `lr-palette-place`, create the node and assign the updated array to the target canvas's public
26
+ `nodes` property. Updating a captured local array alone does not update an already rendered canvas.
27
+
25
28
  **Properties:**
26
29
 
27
30
  - `items: LyraPaletteItem[] = []` (attribute: false) — `LyraPaletteItem { type: string; label: string;
@@ -32,7 +32,10 @@ are removed, and only inline base64 raster image sources render. Sanitized `imag
32
32
  is likewise network-silent and non-interactive: animation is removed and only same-document
33
33
  fragment references or inline base64 raster image references survive.
34
34
  Cells are virtualized through `lr-virtual-list`. `node-path` anchors resolve `path[0]` as a cell
35
- index; `fragment` anchors resolve a cell's own `id`. No execution, no kernels, no editing, no
35
+ index; `fragment` anchors resolve a cell's own `id`. For cells with IDs, successful public anchor
36
+ navigation scrolls the matching virtual row into the notebook allocation and applies active-cell
37
+ paint using that same ID. Repeating a target scrolls back to it after manual scrolling.
38
+ `maxHeight` also bounds the child virtual viewport. No execution, no kernels, no editing, no
36
39
  ipywidgets.
37
40
 
38
41
  **Properties:** `src: string = ''` — URL to fetch and parse as a notebook; ignored while `notebook`
@@ -20,6 +20,16 @@ A numeric field with the complete `lr-input` form, validation and native-editing
20
20
  own increment/decrement stepper pair. Its constructor and `connectedCallback()` both force
21
21
  `type = 'number'`; all inherited `lr-input` form and editing APIs remain available.
22
22
 
23
+ `stepUp()` and `stepDown()` use the current `value`, `step`, `min`, and `max` properties in the same
24
+ synchronous call, including changes made immediately beforehand. They preserve native step alignment
25
+ and bounds, update form submission silently, and remain no-ops before the native input has rendered
26
+ or while disabled/readonly. Native `step="any"` remains a non-steppable no-op.
27
+
28
+ Changing own `disabled` from true to false in the same task that disables an ancestor fieldset keeps
29
+ the native editing control effectively disabled. The enabled first-legend exception and explicit
30
+ own-disabled state retain their native meaning; validity and form submission follow the effective
31
+ disabled state.
32
+
23
33
  **Inherits:** all public surface from `lr-input`.
24
34
 
25
35
  The inherited `--lr-input-*` theme inputs keep `lr-input`'s ancestor-theme precedence; the number
@@ -30,7 +40,8 @@ action-height ladder as `lr-input` instead of remaining at the default tier for
30
40
  **Properties:** `size` (`2xs`…`xl`), `appearance`, `pill`, `autofocus`, `placeholder`, `readonly`,
31
41
  `label`, `hint`, `errorText`
32
42
  (`error-text`), `accessibleLabel` (`aria-label`), `autocomplete`, `spellcheck`, `autocapitalize`,
33
- `autoCorrect` (`autocorrect`), `inputMode` (`inputmode`), `enterKeyHint` (`enterkeyhint`), and
43
+ `autocorrect` (boolean readback; accepts `boolean | 'off' | 'on'` writes), `inputMode`
44
+ (`inputmode`), `enterKeyHint` (`enterkeyhint`), and
34
45
  `min`/`max`/`step` (the native numeric constraint validation), all inherited from `lr-input` with
35
46
  identical meaning. This component changes the mapped defaults to `appearance='outlined'`,
36
47
  `inputMode='numeric'`, and `step=1`. `clearable` (and its `with-clear` spelling),
@@ -21,6 +21,32 @@ Filterable single/multi-select combining a text input with a listbox. Mirrors th
21
21
  `<wa-combobox>` API under the `lr-` prefix. **Form-associated** (hand-rolled internals, not the
22
22
  shared `FormAssociated` mixin — see gotchas).
23
23
 
24
+ Consumer writes on mounted options immediately update the owning picker and its submission,
25
+ without changing the reset default or emitting picker input/change events. Owner synchronization
26
+ does not echo as a consumer selected write.
27
+
28
+ A mounted `option.selected` assignment updates the live picker value and form submission
29
+ immediately, including deselection and equal-value writes; it emits no user input/change event.
30
+
31
+ When `multiple` becomes false, the public value, live option flags, and popup `aria-selected` expose
32
+ one selected occurrence. The retained multiple-selection history returns if multiple is enabled
33
+ again without another selection write.
34
+
35
+ Composing keyboard events (`isComposing` or legacy key code 229) remain with filter editing; they do
36
+ not navigate, select/create a value, or dismiss the popup.
37
+
38
+ Source options with `inert`, including inherited inertness, are unavailable through the popup. Live
39
+ inert changes refresh row availability. Text, insertion, replacement, removal, slot
40
+ reassignment/removal, and relevant attributes of `start`/`end`/`prefix`/`suffix` adornments refresh
41
+ the corresponding cloned presentation; unchanged presentation retains its clone identity while
42
+ filtering.
43
+
44
+ Host `aria-describedby` resolves external descriptions onto the native combobox filter before local
45
+ error/hint guidance. References track missing targets, replacement, removal/reinsertion, reconnect,
46
+ and adoption. Removing `label`, `hint`, or `error-text` safely omits the content while leaving
47
+ removed string properties at their native `null` readback; explicit empty strings remain supplied
48
+ empty strings.
49
+
24
50
  **First-interaction registration.** Where initial-route weight is stricter than a static combobox
25
51
  registration allows, keep a labelled native `<input list>` as the working pre-JavaScript control
26
52
  and import only the granular combobox registration on its first focus. Copy the native value after
@@ -206,9 +232,12 @@ AbortSignal; limit: number }) => Promise<readonly ComboboxSourceRow[] | { rows,
206
232
  - `value: string | string[]` — a getter/setter: plain `string` in single mode, `string[]` in
207
233
  `multiple` mode
208
234
  - `customError: string | null` (attribute `custom-error`) — reflected consumer validation message
209
- - `selectedRows: ComboboxSourceRow[]` (read-only getter) — structured rows for the current
210
- selection, including any opaque `data` payload supplied by an async source. Selected async rows
211
- remain available after the query changes or a later source result no longer contains them
235
+ - `selectedRows` (read: `ComboboxSourceRow[]`; write: `readonly ComboboxSourceRow[]`) — structured
236
+ rows for the current selection, including any opaque `data` payload supplied by an async source.
237
+ Reads return detached row snapshots. Writes select stable row values resolved against the
238
+ current or deferred source, dropping duplicate and detached values without emitting selection
239
+ events. Selected async rows remain available after the query changes or a later source result
240
+ no longer contains them
212
241
  - `selectionStart`, `selectionEnd`, and `selectionDirection` — selection getters/setters forwarded
213
242
  to the internal input
214
243
 
@@ -264,7 +293,9 @@ selection. It is the supported way to read that text; reaching into the shadow r
264
293
  `[part="combobox-input"]`'s value is not. Named `lr-filter` rather than `lr-input` precisely because
265
294
  `lr-input`'s detail on `<lr-input>` is the committed value, and the two must not share a name while
266
295
  carrying different strings. It fires for user edits only. Picking a row, `form.reset()`, dismissing
267
- the listbox, a programmatic `value` write, and `setRangeText()` blank the filter silently.
296
+ the listbox, and a programmatic `value` write blank the filter silently. `setRangeText()` silently
297
+ replaces the requested or selected native text range, synchronizes the resulting query and visible
298
+ options, and refreshes an async source when present; it preserves the committed selection.
268
299
  Activating the clear button is a user edit: when a query existed it emits `lr-filter` with
269
300
  `value: ''` before the clear transaction finishes.
270
301
  `lr-show` and `lr-hide` report the start of listbox visibility transitions. `lr-show` is a
@@ -19,6 +19,16 @@
19
19
  A form-associated one-time-code field: several character segments that together hold one value.
20
20
  Mirrors `wa-otp-input`.
21
21
 
22
+ Host `aria-describedby` references resolve onto the native control input before its local error and
23
+ hint guidance. The relationship tracks missing IDs, target replacement, removal/reinsertion,
24
+ reconnect, and document adoption. The decorative code segments do not receive a second copy of the
25
+ descriptions.
26
+
27
+ Changing own `disabled` from true to false in the same task that disables an ancestor fieldset keeps
28
+ the native editing control effectively disabled. The enabled first-legend exception and explicit
29
+ own-disabled state retain their native meaning; validity and form submission follow the effective
30
+ disabled state.
31
+
22
32
  The segments are **presentational**. A single real `<input>` sits transparently across them and owns
23
33
  focus, selection and the value. It remains the native integration point for SMS autofill
24
34
  (`autocomplete` defaults to `one-time-code`), IME composition and mobile keyboards, and keeps the