@aceshooting/lyra-ui 16.0.0 → 17.0.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 (296) hide show
  1. package/CHANGELOG.md +504 -0
  2. package/custom-elements.json +1 -1
  3. package/dist/cli/migration-contract.json +1 -1
  4. package/dist/components/agent-tools/browser-frame/browser-frame.class.d.ts +3 -3
  5. package/dist/components/agent-tools/browser-frame/browser-frame.class.js +2 -2
  6. package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts +2 -2
  7. package/dist/components/agent-tools/compare-panel/compare-panel.class.js +3 -3
  8. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +37 -13
  9. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
  10. package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
  11. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +4 -0
  12. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +2 -2
  13. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +3 -3
  14. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +1 -1
  15. package/dist/components/charts/chart/chart.class.d.ts +117 -17
  16. package/dist/components/charts/chart/chart.class.js +3 -3
  17. package/dist/components/charts/chart/histogram-bin.d.ts +5 -1
  18. package/dist/components/charts/chart/histogram-bin.js +1 -1
  19. package/dist/components/charts/chart/lite-chart.class.d.ts +9 -0
  20. package/dist/components/conversation/code-block/code-block.styles.js +1 -1
  21. package/dist/components/conversation/message-actions/message-actions.styles.js +1 -1
  22. package/dist/components/conversation/model-select/model-select.class.d.ts +13 -4
  23. package/dist/components/conversation/model-select/model-select.class.js +2 -1
  24. package/dist/components/conversation/model-select/model-select.styles.js +1 -1
  25. package/dist/components/conversation/streaming-text/streaming-text-base.class.d.ts +40 -2
  26. package/dist/components/conversation/streaming-text/streaming-text-base.class.js +2 -2
  27. package/dist/components/conversation/streaming-text/streaming-text-core.class.d.ts +5 -3
  28. package/dist/components/conversation/streaming-text/streaming-text-core.class.js +10 -0
  29. package/dist/components/conversation/streaming-text/streaming-text.class.d.ts +9 -3
  30. package/dist/components/conversation/streaming-text/streaming-text.class.js +10 -0
  31. package/dist/components/conversation/suggestion-chips/suggestion-chips.class.d.ts +30 -2
  32. package/dist/components/conversation/suggestion-chips/suggestion-chips.class.js +4 -3
  33. package/dist/components/conversation/suggestion-chips/suggestion-chips.styles.js +1 -1
  34. package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
  35. package/dist/components/conversation/usage-badge/usage-badge-overlay-runtime.js +1 -1
  36. package/dist/components/conversation/usage-badge/usage-badge.class.d.ts +4 -0
  37. package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +16 -4
  38. package/dist/components/conversation/voice-picker/voice-picker.class.js +2 -1
  39. package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
  40. package/dist/components/data/context-meter/context-meter.class.d.ts +23 -4
  41. package/dist/components/data/context-meter/context-meter.class.js +10 -7
  42. package/dist/components/data/context-meter/context-meter.styles.js +1 -1
  43. package/dist/components/data/data-grid/data-grid.class.d.ts +5 -2
  44. package/dist/components/data/data-grid/data-grid.class.js +1 -1
  45. package/dist/components/data/flow-canvas/flow-canvas.class.d.ts +32 -5
  46. package/dist/components/data/flow-canvas/flow-canvas.class.js +3 -1
  47. package/dist/components/data/flow-canvas/flow-canvas.styles.js +1 -1
  48. package/dist/components/data/flow-canvas/flow-model.js +1 -1
  49. package/dist/components/data/flow-canvas/flow-types.d.ts +10 -1
  50. package/dist/components/data/gauge/gauge.class.d.ts +15 -2
  51. package/dist/components/data/gauge/gauge.class.js +20 -20
  52. package/dist/components/data/gauge/gauge.styles.js +1 -1
  53. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +14 -5
  54. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +2 -2
  55. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +28 -2
  56. package/dist/components/data/sequence-strip/sequence-strip.class.js +3 -2
  57. package/dist/components/data/sequence-strip/sequence-strip.styles.js +1 -1
  58. package/dist/components/data/table/table.class.d.ts +155 -30
  59. package/dist/components/data/table/table.class.js +6 -4
  60. package/dist/components/data/table/table.styles.js +1 -1
  61. package/dist/components/data/timeline/timeline-item.class.d.ts +9 -1
  62. package/dist/components/data/timeline/timeline-item.class.js +2 -2
  63. package/dist/components/data/word-cloud/word-cloud.class.js +1 -1
  64. package/dist/components/data/word-cloud/word-cloud.styles.js +1 -1
  65. package/dist/components/forms/button/button.class.d.ts +30 -1
  66. package/dist/components/forms/button/button.class.js +2 -2
  67. package/dist/components/forms/checkbox/checkbox.class.d.ts +8 -6
  68. package/dist/components/forms/checkbox/checkbox.class.js +2 -2
  69. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +7 -5
  70. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  71. package/dist/components/forms/color-picker/color-picker.class.d.ts +16 -2
  72. package/dist/components/forms/color-picker/color-picker.class.js +2 -2
  73. package/dist/components/forms/color-picker/color-picker.styles.js +1 -1
  74. package/dist/components/forms/combobox/combobox.class.d.ts +43 -8
  75. package/dist/components/forms/combobox/combobox.class.js +2 -2
  76. package/dist/components/forms/date-picker/date-input.class.d.ts +4 -0
  77. package/dist/components/forms/date-picker/date-input.class.js +1 -1
  78. package/dist/components/forms/icon-button/icon-button.class.d.ts +20 -3
  79. package/dist/components/forms/icon-button/icon-button.class.js +1 -1
  80. package/dist/components/forms/icon-button/icon-button.styles.js +1 -1
  81. package/dist/components/forms/input/input.class.d.ts +5 -2
  82. package/dist/components/forms/input/input.class.js +1 -1
  83. package/dist/components/forms/input/time-input.class.d.ts +4 -0
  84. package/dist/components/forms/input/time-input.class.js +1 -1
  85. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +11 -5
  86. package/dist/components/forms/locale-picker/locale-picker.class.js +1 -1
  87. package/dist/components/forms/otp-input/otp-input.class.d.ts +7 -2
  88. package/dist/components/forms/otp-input/otp-input.class.js +2 -2
  89. package/dist/components/forms/radio/radio-button.class.d.ts +2 -1
  90. package/dist/components/forms/radio/radio-group.class.d.ts +9 -4
  91. package/dist/components/forms/radio/radio-group.class.js +1 -1
  92. package/dist/components/forms/radio/radio.class.d.ts +13 -7
  93. package/dist/components/forms/radio/radio.class.js +1 -1
  94. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +16 -6
  95. package/dist/components/forms/rubric-form/rubric-form.class.js +2 -2
  96. package/dist/components/forms/select/select.class.d.ts +19 -8
  97. package/dist/components/forms/select/select.class.js +2 -2
  98. package/dist/components/forms/slider/slider.class.d.ts +4 -2
  99. package/dist/components/forms/slider/slider.class.js +1 -1
  100. package/dist/components/forms/switch/switch.class.d.ts +8 -6
  101. package/dist/components/forms/switch/switch.class.js +1 -1
  102. package/dist/components/forms/textarea/textarea.class.d.ts +5 -3
  103. package/dist/components/forms/textarea/textarea.class.js +1 -1
  104. package/dist/components/forms/time-range/time-range.class.d.ts +12 -7
  105. package/dist/components/forms/time-range/time-range.class.js +1 -1
  106. package/dist/components/forms/time-range/time-range.styles.js +1 -1
  107. package/dist/components/forms/token-input/token-input.class.d.ts +6 -4
  108. package/dist/components/forms/token-input/token-input.class.js +1 -1
  109. package/dist/components/layout/app-rail/app-rail-item.class.d.ts +109 -4
  110. package/dist/components/layout/app-rail/app-rail-item.class.js +34 -29
  111. package/dist/components/layout/app-rail/app-rail-item.styles.js +1 -1
  112. package/dist/components/layout/app-rail/app-rail.class.d.ts +25 -3
  113. package/dist/components/layout/app-rail/app-rail.styles.js +1 -1
  114. package/dist/components/layout/app-rail-group/app-rail-group.class.d.ts +2 -2
  115. package/dist/components/layout/app-rail-group/app-rail-group.class.js +2 -2
  116. package/dist/components/layout/carousel/carousel.class.d.ts +1 -1
  117. package/dist/components/layout/carousel/carousel.class.js +1 -1
  118. package/dist/components/layout/details/accordion.class.d.ts +2 -2
  119. package/dist/components/layout/details/accordion.class.js +2 -2
  120. package/dist/components/layout/filter-bar/filter-bar-register.d.ts +1 -0
  121. package/dist/components/layout/filter-bar/filter-bar-register.js +1 -0
  122. package/dist/components/layout/filter-bar/filter-bar.class.d.ts +85 -10
  123. package/dist/components/layout/filter-bar/filter-bar.class.js +7 -4
  124. package/dist/components/layout/menu/menu-item.class.d.ts +3 -3
  125. package/dist/components/layout/menu/menu-item.class.js +3 -3
  126. package/dist/components/layout/menu/menu.class.d.ts +5 -1
  127. package/dist/components/layout/menu/menu.class.js +2 -2
  128. package/dist/components/layout/reorder-list/reorder-item.styles.js +1 -1
  129. package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
  130. package/dist/components/media/attachment-trigger/attachment-trigger.styles.js +1 -1
  131. package/dist/components/media/avatar-group/avatar-group.class.d.ts +12 -1
  132. package/dist/components/media/avatar-group/avatar-group.class.js +2 -2
  133. package/dist/components/media/drop-zone/drop-zone.class.d.ts +32 -11
  134. package/dist/components/media/drop-zone/drop-zone.class.js +2 -2
  135. package/dist/components/media/file-input/file-input.class.d.ts +40 -19
  136. package/dist/components/media/file-input/file-input.class.js +2 -2
  137. package/dist/components/overlays/callout/callout.styles.js +1 -1
  138. package/dist/components/overlays/dialog/dialog.styles.js +1 -1
  139. package/dist/components/overlays/overlay/dropdown.class.d.ts +13 -3
  140. package/dist/components/overlays/overlay/dropdown.class.js +2 -2
  141. package/dist/components/overlays/overlay/popover.class.d.ts +12 -3
  142. package/dist/components/overlays/overlay/popover.class.js +2 -2
  143. package/dist/components/overlays/rating/rating.class.d.ts +9 -7
  144. package/dist/components/overlays/rating/rating.class.js +1 -1
  145. package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +5 -1
  146. package/dist/components/retrieval/citation-badge/citation-badge.class.js +1 -1
  147. package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +1 -1
  148. package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +5 -1
  149. package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -1
  150. package/dist/components/retrieval/graph-legend/graph-legend.styles.js +1 -1
  151. package/dist/components/retrieval/retrieval-value-format.js +1 -1
  152. package/dist/components/retrieval/source-list/source-list.styles.js +1 -1
  153. package/dist/components/utility/copy-button/copy-button.class.d.ts +23 -11
  154. package/dist/components/utility/copy-button/copy-button.class.js +2 -2
  155. package/dist/components/utility/copy-button/copy-button.styles.js +1 -1
  156. package/dist/components/utility/diff-view/diff-view.styles.js +1 -1
  157. package/dist/components/utility/export-button/export-button.class.d.ts +4 -0
  158. package/dist/components/utility/export-button/export-button.class.js +1 -1
  159. package/dist/components/utility/json-viewer/json-viewer.styles.js +1 -1
  160. package/dist/components/utility/known-date/known-date.class.js +1 -1
  161. package/dist/components/utility/mention-popover/mention-popover.class.d.ts +38 -3
  162. package/dist/components/utility/mention-popover/mention-popover.class.js +2 -1
  163. package/dist/components/utility/mention-popover/mention-popover.styles.js +1 -1
  164. package/dist/components/utility/poll-status/poll-status.styles.js +1 -1
  165. package/dist/components/utility/tour/tour.class.d.ts +4 -0
  166. package/dist/components/utility/tour/tour.class.js +1 -1
  167. package/dist/components/utility/tour/tour.styles.js +1 -1
  168. package/dist/components/viewers/document-preview/document-preview.class.js +2 -2
  169. package/dist/components/viewers/docx-viewer/docx-viewer.class.js +2 -2
  170. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +2 -2
  171. package/dist/components/viewers/highlight-layer/highlight-layer.class.js +2 -2
  172. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +2 -2
  173. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +2 -2
  174. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +2 -2
  175. package/dist/components/viewers/xml-viewer/xml-viewer.class.js +2 -2
  176. package/dist/custom-elements-jsx.d.ts +2 -2
  177. package/dist/events.d.ts +13 -12
  178. package/dist/internal/aggregate-file-limits.d.ts +33 -0
  179. package/dist/internal/aggregate-file-limits.js +1 -0
  180. package/dist/internal/catalog-picker.d.ts +15 -2
  181. package/dist/internal/catalog-picker.js +1 -1
  182. package/dist/internal/debounce-controller.d.ts +14 -0
  183. package/dist/internal/debounce-controller.js +1 -1
  184. package/dist/internal/default-strings.generated.d.ts +1 -1
  185. package/dist/internal/default-strings.generated.js +2 -2
  186. package/dist/internal/focus-navigation.d.ts +45 -0
  187. package/dist/internal/focus-navigation.js +1 -1
  188. package/dist/internal/form-associated.js +1 -1
  189. package/dist/internal/initial-slot-collection.d.ts +30 -0
  190. package/dist/internal/initial-slot-collection.js +1 -0
  191. package/dist/internal/intl-cache.js +1 -1
  192. package/dist/internal/invalid-event-alias.d.ts +46 -0
  193. package/dist/internal/invalid-event-alias.js +1 -1
  194. package/dist/internal/localization-runtime.d.ts +24 -0
  195. package/dist/internal/localization-runtime.js +1 -1
  196. package/dist/internal/localization-types.d.ts +1 -1
  197. package/dist/internal/localization.js +1 -1
  198. package/dist/internal/package-metadata.d.ts +1 -1
  199. package/dist/internal/package-metadata.js +1 -1
  200. package/dist/internal/positioning-strategy.d.ts +3 -1
  201. package/dist/internal/state-part.d.ts +49 -0
  202. package/dist/internal/state-part.js +1 -0
  203. package/dist/internal/variants.styles.js +1 -1
  204. package/dist/lyra.d.ts +1 -1
  205. package/dist/svelte.d.ts +2 -2
  206. package/dist/testing/index.d.ts +1 -1
  207. package/dist/testing/index.js +1 -1
  208. package/dist/testing/lyra-tag-event-map.d.ts +2 -2
  209. package/dist/testing/lyra-tag-event-map.js +1 -1
  210. package/dist/testing/wait-for-mount.d.ts +46 -0
  211. package/dist/testing/wait-for-mount.js +1 -0
  212. package/dist/theme/theme-bootstrap.js +1 -1
  213. package/dist/theme/theme.d.ts +11 -2
  214. package/dist/theme/theme.js +1 -1
  215. package/dist/translations/ar/layout.js +1 -1
  216. package/dist/translations/de/layout.js +1 -1
  217. package/dist/translations/es/layout.js +1 -1
  218. package/dist/translations/fa/layout.js +1 -1
  219. package/dist/translations/fr/layout.js +1 -1
  220. package/dist/translations/he/layout.js +1 -1
  221. package/dist/translations/it/layout.js +1 -1
  222. package/dist/translations/ja/layout.js +1 -1
  223. package/dist/translations/pt-BR/layout.js +1 -1
  224. package/dist/translations/ru/layout.js +1 -1
  225. package/dist/translations/zh-CN/layout.js +1 -1
  226. package/dist/utilities/format.d.ts +17 -0
  227. package/dist/utilities/format.js +1 -1
  228. package/dist/vue.d.ts +2 -2
  229. package/llms/components/lr-app-rail-group.md +87 -10
  230. package/llms/components/lr-app-rail-item.md +88 -11
  231. package/llms/components/lr-app-rail.md +88 -11
  232. package/llms/components/lr-attachment-trigger.md +21 -0
  233. package/llms/components/lr-bar-chart.md +3 -2
  234. package/llms/components/lr-bubble-chart.md +3 -2
  235. package/llms/components/lr-callout.md +10 -0
  236. package/llms/components/lr-chart.md +43 -12
  237. package/llms/components/lr-citation-badge.md +7 -1
  238. package/llms/components/lr-code-block.md +21 -0
  239. package/llms/components/lr-color-picker.md +12 -7
  240. package/llms/components/lr-combobox.md +13 -1
  241. package/llms/components/lr-confirm-bar.md +36 -7
  242. package/llms/components/lr-context-meter.md +17 -4
  243. package/llms/components/lr-date-input.md +7 -1
  244. package/llms/components/lr-date-picker.md +6 -0
  245. package/llms/components/lr-dialog.md +21 -0
  246. package/llms/components/lr-doughnut-chart.md +3 -2
  247. package/llms/components/lr-drawer.md +10 -0
  248. package/llms/components/lr-drop-zone.md +16 -7
  249. package/llms/components/lr-dropdown-item.md +7 -0
  250. package/llms/components/lr-entity-chip.md +7 -1
  251. package/llms/components/lr-export-button.md +7 -1
  252. package/llms/components/lr-file-input.md +21 -10
  253. package/llms/components/lr-filter-bar.md +91 -15
  254. package/llms/components/lr-flow-canvas.md +16 -9
  255. package/llms/components/lr-gauge.md +22 -2
  256. package/llms/components/lr-histogram.md +7 -2
  257. package/llms/components/lr-icon-button.md +15 -7
  258. package/llms/components/lr-input.md +3 -1
  259. package/llms/components/lr-line-chart.md +3 -2
  260. package/llms/components/lr-lite-chart.md +13 -0
  261. package/llms/components/lr-locale-picker.md +7 -1
  262. package/llms/components/lr-mention-popover.md +16 -3
  263. package/llms/components/lr-menu-item.md +7 -0
  264. package/llms/components/lr-menu.md +8 -1
  265. package/llms/components/lr-message-actions.md +10 -0
  266. package/llms/components/lr-model-select.md +8 -3
  267. package/llms/components/lr-native-time-input.md +8 -1
  268. package/llms/components/lr-number-input.md +8 -1
  269. package/llms/components/lr-option.md +12 -0
  270. package/llms/components/lr-otp-input.md +6 -0
  271. package/llms/components/lr-pie-chart.md +3 -2
  272. package/llms/components/lr-polar-area-chart.md +3 -2
  273. package/llms/components/lr-prompt-input.md +2 -2
  274. package/llms/components/lr-radar-chart.md +3 -2
  275. package/llms/components/lr-reorder-item.md +12 -0
  276. package/llms/components/lr-reorder-list.md +12 -0
  277. package/llms/components/lr-scatter-chart.md +3 -2
  278. package/llms/components/lr-sequence-strip.md +10 -4
  279. package/llms/components/lr-streaming-text-core.md +21 -8
  280. package/llms/components/lr-streaming-text.md +34 -4
  281. package/llms/components/lr-suggestion-chips.md +8 -4
  282. package/llms/components/lr-table.md +47 -10
  283. package/llms/components/lr-textarea.md +1 -1
  284. package/llms/components/lr-time-input.md +7 -1
  285. package/llms/components/lr-tool-call-chip.md +7 -1
  286. package/llms/components/lr-tour.md +7 -1
  287. package/llms/components/lr-usage-badge.md +7 -1
  288. package/llms/components/lr-voice-picker.md +7 -3
  289. package/llms/shared.md +169 -16
  290. package/llms/tokens.md +17 -1
  291. package/llms-full.txt +941 -147
  292. package/package.json +16 -2
  293. package/registrations.json +1 -1
  294. package/vscode-css-data.json +1 -1
  295. package/vscode-html-data.json +1 -1
  296. package/web-types.json +1 -1
package/dist/events.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type{AutoloaderEventMap}from'./autoloader.js';import type{LyraActivityFeedEventMap}from'./components/agent-tools/activity-feed/activity-feed.class.js';import type{LyraAgentEvalDashboardEventMap}from'./components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js';import type{LyraAgentRunEventMap}from'./components/agent-tools/agent-run/agent-run.class.js';import type{LyraAgentTraceEventMap}from'./components/agent-tools/agent-trace/agent-trace.class.js';import type{LyraApprovalQueueEventMap}from'./components/agent-tools/approval-queue/approval-queue.class.js';import type{LyraArtifactPanelEventMap}from'./components/agent-tools/artifact-panel/artifact-panel.class.js';import type{LyraBrowserFrameEventMap}from'./components/agent-tools/browser-frame/browser-frame.class.js';import type{LyraCommitCardEventMap}from'./components/agent-tools/commit-card/commit-card.class.js';import type{LyraComparePanelEventMap}from'./components/agent-tools/compare-panel/compare-panel.class.js';import type{LyraConfirmBarEventMap}from'./components/agent-tools/confirm-bar/confirm-bar.class.js';import type{LyraEvalDatasetEventMap}from'./components/agent-tools/eval-dataset/eval-dataset.class.js';import type{LyraEvalResultEventMap}from'./components/agent-tools/eval-result/eval-result.class.js';import type{LyraEvalRunEventMap}from'./components/agent-tools/evaluation-run/evaluation-run.class.js';import type{LyraMcpAppEventMap}from'./components/agent-tools/mcp-app/mcp-app.class.js';import type{LyraPromptStudioEventMap}from'./components/agent-tools/prompt-studio/prompt-studio.class.js';import type{LyraJsonSchemaViewerEventMap}from'./components/agent-tools/schema-viewer/schema-viewer.class.js';import type{LyraSpanWaterfallEventMap}from'./components/agent-tools/span-waterfall/span-waterfall.class.js';import type{LyraStackTraceEventMap}from'./components/agent-tools/stack-trace/stack-trace.class.js';import type{LyraSubagentPanelEventMap}from'./components/agent-tools/subagent-panel/subagent-panel.class.js';import type{LyraTaskListEventMap}from'./components/agent-tools/task-list/task-list.class.js';import type{LyraTerminalEventMap}from'./components/agent-tools/terminal/terminal.class.js';import type{LyraTestResultsEventMap}from'./components/agent-tools/test-results/test-results.class.js';import type{LyraThinkingPanelEventMap}from'./components/agent-tools/thinking-panel/thinking-panel.class.js';import type{LyraToolApprovalDialogEventMap}from'./components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js';import type{LyraToolCallChipEventMap}from'./components/agent-tools/tool-call-chip/tool-call-chip.class.js';import type{LyraToolParamFormEventMap}from'./components/agent-tools/tool-param-form/tool-param-form.class.js';import type{LyraToolResultDialogEventMap}from'./components/agent-tools/tool-result-dialog/tool-result-dialog.class.js';import type{LyraToolResultViewEventMap}from'./components/agent-tools/tool-result-view/tool-result-view.class.js';import type{LyraToolSelectDialogEventMap}from'./components/agent-tools/tool-select-dialog/tool-select-dialog.class.js';import type{LyraToolTimelineEventMap}from'./components/agent-tools/tool-timeline/tool-timeline.class.js';import type{LyraTraceTreeEventMap}from'./components/agent-tools/trace-tree/trace-tree.class.js';import type{LyraBoxPlotEventMap}from'./components/charts/chart/box-plot.class.js';import type{LyraChartEventMap}from'./components/charts/chart/chart.class.js';import type{LyraLiteChartEventMap}from'./components/charts/chart/lite-chart.class.js';import type{LyraAgentWorkspaceEventMap}from'./components/conversation/agent-workspace/agent-workspace.class.js';import type{LyraBranchPickerEventMap}from'./components/conversation/branch-picker/branch-picker.class.js';import type{LyraChatComposerEventMap}from'./components/conversation/chat-composer/chat-composer.class.js';import type{LyraChatMessageEventMap}from'./components/conversation/chat-message/chat-message.class.js';import type{LyraChatViewportEventMap}from'./components/conversation/chat-viewport/chat-viewport.class.js';import type{LyraCheckpointEventMap}from'./components/conversation/checkpoint/checkpoint.class.js';import type{LyraCodeBlockCoreEventMap}from'./components/conversation/code-block/code-block-core.class.js';import type{LyraCodeBlockEventMap}from'./components/conversation/code-block/code-block.class.js';import type{LyraConversationItemEventMap}from'./components/conversation/conversation-item/conversation-item.class.js';import type{LyraGenerationMetricsEventMap}from'./components/conversation/generation-metrics/generation-metrics.class.js';import type{LyraMarkdownCoreEventMap}from'./components/conversation/markdown/markdown-core.class.js';import type{LyraMarkdownEventMap}from'./components/conversation/markdown/markdown.class.js';import type{LyraMessageActionsEventMap}from'./components/conversation/message-actions/message-actions.class.js';import type{LyraMessageFeedbackEventMap}from'./components/conversation/message-feedback/message-feedback.class.js';import type{LyraMessagePartsEventMap}from'./components/conversation/message-parts/message-parts.class.js';import type{LyraModelSelectEventMap}from'./components/conversation/model-select/model-select.class.js';import type{LyraModelSettingsPanelEventMap}from'./components/conversation/model-settings-panel/model-settings-panel.class.js';import type{LyraPromptInputEventMap}from'./components/conversation/prompt-input/prompt-input.class.js';import type{LyraPromptQueueEventMap}from'./components/conversation/prompt-queue/prompt-queue.class.js';import type{LyraPushToTalkEventMap}from'./components/conversation/push-to-talk/push-to-talk.class.js';import type{LyraRealtimeSessionEventMap}from'./components/conversation/realtime-session/realtime-session.class.js';import type{LyraSelectionToolbarEventMap}from'./components/conversation/selection-toolbar/selection-toolbar.class.js';import type{LyraStreamStatusEventMap}from'./components/conversation/stream-status/stream-status.class.js';import type{LyraStreamingTextEventMap}from'./components/conversation/streaming-text/streaming-text-base.class.js';import type{LyraSuggestionChipsEventMap}from'./components/conversation/suggestion-chips/suggestion-chips.class.js';import type{LyraThreadListEventMap}from'./components/conversation/thread-list/thread-list.class.js';import type{LyraTranscriptFeedEventMap}from'./components/conversation/transcript-feed/transcript-feed.class.js';import type{LyraVoicePickerEventMap}from'./components/conversation/voice-picker/voice-picker.class.js';import type{LyraWidgetRendererEventMap}from'./components/conversation/widget-renderer/widget-renderer.class.js';import type{LyraCalendarEventMap}from'./components/data/calendar/calendar.class.js';import type{LyraConditionBuilderEventMap}from'./components/data/condition-builder/condition-builder.class.js';import type{LyraContextMeterEventMap}from'./components/data/context-meter/context-meter.class.js';import type{LyraDataGridEventMap}from'./components/data/data-grid/data-grid-types.js';import type{LyraDocumentLibraryEventMap}from'./components/data/document-library/document-library.class.js';import type{LyraEnvListEventMap}from'./components/data/env-list/env-list.class.js';import type{LyraFileTreeEventMap}from'./components/data/file-tree/file-tree.class.js';import type{LyraFlowCanvasEventMap}from'./components/data/flow-canvas/flow-canvas.class.js';import type{LyraGraphQueryBuilderEventMap}from'./components/data/graph-query-builder/graph-query-builder.class.js';import type{LyraHeatmapEventMap}from'./components/data/heatmap/heatmap.class.js';import type{LyraPaginationEventMap}from'./components/data/pagination/pagination.class.js';import type{LyraSequenceStripEventMap}from'./components/data/sequence-strip/sequence-strip.class.js';import type{LyraTableEventMap}from'./components/data/table/table.class.js';import type{LyraTimelineEventMap}from'./components/data/timeline/timeline.class.js';import type{LyraTreeItemEventMap}from'./components/data/tree/tree-item.class.js';import type{LyraTreeEventMap}from'./components/data/tree/tree.class.js';import type{LyraWordCloudEventMap}from'./components/data/word-cloud/word-cloud.class.js';import type{LyraButtonEventMap}from'./components/forms/button/button.class.js';import type{LyraCheckboxGroupEventMap}from'./components/forms/checkbox-group/checkbox-group.class.js';import type{LyraCheckboxEventMap}from'./components/forms/checkbox/checkbox.class.js';import type{LyraCodeEditorEventMap}from'./components/forms/code-editor/code-editor.class.js';import type{LyraColorPickerEventMap}from'./components/forms/color-picker/color-picker.class.js';import type{LyraComboboxEventMap}from'./components/forms/combobox/combobox.class.js';import type{LyraOptionEventMap}from'./components/forms/combobox/option.class.js';import type{LyraDateInputEventMap}from'./components/forms/date-picker/date-input.class.js';import type{LyraDatePickerEventMap}from'./components/forms/date-picker/date-picker.class.js';import type{LyraEmojiPickerEventMap}from'./components/forms/emoji-picker/emoji-picker.class.js';import type{LyraInputEventMap}from'./components/forms/input/input.class.js';import type{LyraTimeInputEventMap}from'./components/forms/input/time-input.class.js';import type{LyraLocalePickerEventMap}from'./components/forms/locale-picker/locale-picker.class.js';import type{LyraOtpInputEventMap}from'./components/forms/otp-input/otp-input.class.js';import type{LyraPhoneInputEventMap}from'./components/forms/phone-input/phone-input.class.js';import type{LyraRadioGroupEventMap}from'./components/forms/radio/radio-group.class.js';import type{LyraRadioEventMap}from'./components/forms/radio/radio.class.js';import type{LyraRubricFormEventMap}from'./components/forms/rubric-form/rubric-form.class.js';import type{LyraSelectEventMap}from'./components/forms/select/select.class.js';import type{LyraSliderEventMap}from'./components/forms/slider/slider.class.js';import type{LyraSwatchPickerEventMap}from'./components/forms/swatch-picker/swatch-picker.class.js';import type{LyraSwitchEventMap}from'./components/forms/switch/switch.class.js';import type{LyraTextareaEventMap}from'./components/forms/textarea/textarea.class.js';import type{LyraTimeRangeEventMap}from'./components/forms/time-range/time-range.class.js';import type{LyraTokenInputEventMap}from'./components/forms/token-input/token-input.class.js';import type{LyraAppRailGroupEventMap}from'./components/layout/app-rail-group/app-rail-group.class.js';import type{LyraAppRailEventMap}from'./components/layout/app-rail/app-rail.class.js';import type{LyraCardEventMap}from'./components/layout/card/card.class.js';import type{LyraCarouselEventMap}from'./components/layout/carousel/carousel.class.js';import type{LyraCommandPaletteEventMap}from'./components/layout/command-palette/command-palette.class.js';import type{LyraDashboardGridEventMap}from'./components/layout/dashboard-grid/dashboard-grid.class.js';import type{LyraAccordionEventMap}from'./components/layout/details/accordion.class.js';import type{LyraDetailsEventMap}from'./components/layout/details/details.class.js';import type{LyraDockPanelEventMap}from'./components/layout/dock-panel/dock-panel.class.js';import type{LyraDrilldownPanelEventMap}from'./components/layout/drilldown-panel/drilldown-panel.class.js';import type{LyraFilterBarEventMap}from'./components/layout/filter-bar/filter-bar.class.js';import type{LyraMenuItemEventMap}from'./components/layout/menu/menu-item.class.js';import type{LyraMenuEventMap}from'./components/layout/menu/menu.class.js';import type{LyraMultiSplitEventMap}from'./components/layout/multi-split/multi-split.class.js';import type{LyraPageEventMap}from'./components/layout/page/page.class.js';import type{LyraReorderItemEventMap}from'./components/layout/reorder-list/reorder-item.class.js';import type{LyraReorderListEventMap}from'./components/layout/reorder-list/reorder-list.class.js';import type{LyraResponsivePanelEventMap}from'./components/layout/responsive-panel/responsive-panel.class.js';import type{LyraScrollerEventMap}from'./components/layout/scroller/scroller.class.js';import type{LyraSegmentedEventMap}from'./components/layout/segmented/segmented.class.js';import type{LyraSplitPanelEventMap}from'./components/layout/split-panel/split-panel.class.js';import type{LyraStepperEventMap}from'./components/layout/stepper/stepper.class.js';import type{LyraTabGroupEventMap}from'./components/layout/tab-group/tab-group.class.js';import type{LyraTabEventMap}from'./components/layout/tab-group/tab.class.js';import type{LyraVirtualListEventMap}from'./components/layout/virtual-list/virtual-list.class.js';import type{LyraWidgetEventMap}from'./components/layout/widget/widget.class.js';import type{LyraAnimatedImageEventMap}from'./components/media/animated-image/animated-image.class.js';import type{LyraAnimationEventMap}from'./components/media/animation/animation.class.js';import type{LyraAttachmentChipEventMap}from'./components/media/attachment-chip/attachment-chip.class.js';import type{LyraAttachmentTriggerEventMap}from'./components/media/attachment-trigger/attachment-trigger.class.js';import type{LyraAvPlayerEventMap}from'./components/media/av-player/av-player.class.js';import type{LyraAvatarGroupEventMap}from'./components/media/avatar-group/avatar-group.class.js';import type{LyraAvatarEventMap}from'./components/media/avatar/avatar.class.js';import type{LyraDropZoneEventMap}from'./components/media/drop-zone/drop-zone.class.js';import type{LyraFileInputEventMap}from'./components/media/file-input/file-input.class.js';import type{LyraImageViewerEventMap}from'./components/media/image-viewer/image-viewer.class.js';import type{LyraLightboxEventMap}from'./components/media/lightbox/lightbox.class.js';import type{LyraMapEventMap}from'./components/media/map/map.class.js';import type{LyraMediaCardEventMap}from'./components/media/media-card/media-card.class.js';import type{LyraPanZoomEventMap}from'./components/media/pan-zoom/pan-zoom.class.js';import type{LyraSequencePlaybackEventMap}from'./components/media/sequence-playback/sequence-playback.class.js';import type{LyraVideoPlaylistEventMap}from'./components/media/video-playlist/video-playlist.class.js';import type{LyraAlertEventMap}from'./components/overlays/alert/alert.class.js';import type{LyraTagEventMap}from'./components/overlays/badge/tag.class.js';import type{LyraCalloutEventMap}from'./components/overlays/callout/callout.class.js';import type{LyraChipGroupEventMap}from'./components/overlays/chip/chip-group.class.js';import type{LyraChipEventMap}from'./components/overlays/chip/chip.class.js';import type{LyraDialogEventMap}from'./components/overlays/dialog/dialog.class.js';import type{LyraDropdownEventMap}from'./components/overlays/overlay/dropdown.class.js';import type{LyraPopoverEventMap}from'./components/overlays/overlay/popover.class.js';import type{LyraTooltipEventMap}from'./components/overlays/overlay/tooltip.class.js';import type{LyraPopupEventMap}from'./components/overlays/popup/popup.class.js';import type{LyraRatingEventMap}from'./components/overlays/rating/rating.class.js';import type{LyraToastItemEventMap}from'./components/overlays/toast/toast-item.class.js';import type{LyraToastEventMap}from'./components/overlays/toast/toast.class.js';import type{LyraChunkInspectorEventMap}from'./components/retrieval/chunk-inspector/chunk-inspector.class.js';import type{LyraCitationBadgeEventMap}from'./components/retrieval/citation-badge/citation-badge.class.js';import type{LyraClaimEvidenceEventMap}from'./components/retrieval/claim-evidence/claim-evidence.class.js';import type{LyraCommunityCardEventMap}from'./components/retrieval/community-card/community-card.class.js';import type{LyraEmbeddingExplorerEventMap}from'./components/retrieval/embedding-explorer/embedding-explorer.class.js';import type{LyraEntityCardEventMap}from'./components/retrieval/entity-card/entity-card.class.js';import type{LyraEntityChipEventMap}from'./components/retrieval/entity-chip/entity-chip.class.js';import type{LyraEntityDossierEventMap}from'./components/retrieval/entity-dossier/entity-dossier.class.js';import type{LyraGraphLegendEventMap}from'./components/retrieval/graph-legend/graph-legend.class.js';import type{LyraGraphEventMap}from'./components/retrieval/graph/graph.class.js';import type{LyraGroundingSummaryEventMap}from'./components/retrieval/grounding-summary/grounding-summary.class.js';import type{LyraIngestionQueueEventMap}from'./components/retrieval/ingestion-queue/ingestion-queue.class.js';import type{LyraKnowledgeBaseAdminEventMap}from'./components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js';import type{LyraKnowledgeBaseEventMap}from'./components/retrieval/knowledge-base/knowledge-base.class.js';import type{LyraKnowledgeGraphExplorerEventMap}from'./components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js';import type{LyraMemoryPanelEventMap}from'./components/retrieval/memory-panel/memory-panel.class.js';import type{LyraMindMapEventMap}from'./components/retrieval/mind-map/mind-map.class.js';import type{LyraNeighborListEventMap}from'./components/retrieval/neighbor-list/neighbor-list.class.js';import type{LyraNodePaletteEventMap}from'./components/retrieval/node-palette/node-palette.class.js';import type{LyraPathStripEventMap}from'./components/retrieval/path-strip/path-strip.class.js';import type{LyraProvenancePanelEventMap}from'./components/retrieval/provenance-panel/provenance-panel.class.js';import type{LyraRagAnswerEventMap}from'./components/retrieval/rag-answer/rag-answer.class.js';import type{LyraRagEvalDashboardEventMap}from'./components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js';import type{LyraRetrievalCompareEventMap}from'./components/retrieval/retrieval-compare/retrieval-compare.class.js';import type{LyraRetrievalResultsEventMap}from'./components/retrieval/retrieval-results/retrieval-results.class.js';import type{LyraRetrievalSearchEventMap}from'./components/retrieval/retrieval-search/retrieval-search.class.js';import type{LyraRetrievalTraceEventMap}from'./components/retrieval/retrieval-trace/retrieval-trace.class.js';import type{LyraSourceCardEventMap}from'./components/retrieval/source-card/source-card.class.js';import type{LyraSourceListEventMap}from'./components/retrieval/source-list/source-list.class.js';import type{LyraSourcePickerEventMap}from'./components/retrieval/source-picker/source-picker.class.js';import type{LyraCopyButtonEventMap}from'./components/utility/copy-button/copy-button.class.js';import type{LyraDiffViewEventMap}from'./components/utility/diff-view/diff-view.class.js';import type{LyraExportButtonEventMap}from'./components/utility/export-button/export-button.class.js';import type{LyraIconEventMap}from'./components/utility/icon/icon.class.js';import type{LyraIntersectionObserverEventMap}from'./components/utility/intersection-observer/intersection-observer.class.js';import type{LyraJsonViewerEventMap}from'./components/utility/json-viewer/json-viewer.class.js';import type{LyraKnownDateEventMap}from'./components/utility/known-date/known-date.class.js';import type{LyraMentionPopoverEventMap}from'./components/utility/mention-popover/mention-popover.class.js';import type{LyraMutationObserverEventMap}from'./components/utility/mutation-observer/mutation-observer.class.js';import type{LyraPollStatusEventMap}from'./components/utility/poll-status/poll-status.class.js';import type{LyraRandomContentEventMap}from'./components/utility/random-content/random-content.class.js';import type{LyraResizeObserverEventMap}from'./components/utility/resize-observer/resize-observer.class.js';import type{LyraTourEventMap}from'./components/utility/tour/tour.class.js';import type{LyraArchiveViewerEventMap}from'./components/viewers/archive-viewer/archive-viewer.class.js';import type{LyraCalendarViewerEventMap}from'./components/viewers/calendar-viewer/calendar-viewer.class.js';import type{LyraContactViewerEventMap}from'./components/viewers/contact-viewer/contact-viewer.class.js';import type{LyraCsvViewerEventMap}from'./components/viewers/csv-viewer/csv-viewer.class.js';import type{LyraDatasetViewerEventMap}from'./components/viewers/dataset-viewer/dataset-viewer.class.js';import type{LyraDocumentCompareEventMap}from'./components/viewers/document-compare/document-compare.class.js';import type{LyraDocumentPreviewEventMap}from'./components/viewers/document-preview/document-preview.class.js';import type{LyraDocumentViewerEventMap}from'./components/viewers/document-viewer/document-viewer.class.js';import type{LyraDocxViewerEventMap}from'./components/viewers/docx-viewer/docx-viewer.class.js';import type{LyraEbookViewerEventMap}from'./components/viewers/ebook-viewer/ebook-viewer.class.js';import type{LyraEmailViewerEventMap}from'./components/viewers/email-viewer/email-viewer.class.js';import type{LyraGeoJsonViewerEventMap}from'./components/viewers/geojson-view/geojson-viewer.class.js';import type{LyraHighlightLayerEventMap}from'./components/viewers/highlight-layer/highlight-layer.class.js';import type{LyraHtmlViewerEventMap}from'./components/viewers/html-viewer/html-viewer.class.js';import type{LyraIncludeEventMap}from'./components/viewers/include/include.class.js';import type{LyraNotebookViewerEventMap}from'./components/viewers/notebook-viewer/notebook-viewer.class.js';import type{LyraPageRailEventMap}from'./components/viewers/page-rail/page-rail.class.js';import type{LyraPdfViewerEventMap}from'./components/viewers/pdf-viewer/pdf-viewer.class.js';import type{LyraPptxViewerEventMap}from'./components/viewers/pptx-viewer/pptx-viewer.class.js';import type{LyraSpreadsheetViewerEventMap}from'./components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js';import type{LyraSvgViewerEventMap}from'./components/viewers/svg-viewer/svg-viewer.class.js';import type{LyraXmlViewerEventMap}from'./components/viewers/xml-viewer/xml-viewer.class.js';import type{LyraAnchorTargetEventMap}from'./internal/anchor-target.js';import type{LyraTextViewerTargetEventMap}from'./internal/text-viewer-target.js';
1
+ import type{AutoloaderEventMap}from'./autoloader.js';import type{LyraActivityFeedEventMap}from'./components/agent-tools/activity-feed/activity-feed.class.js';import type{LyraAgentEvalDashboardEventMap}from'./components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js';import type{LyraAgentRunEventMap}from'./components/agent-tools/agent-run/agent-run.class.js';import type{LyraAgentTraceEventMap}from'./components/agent-tools/agent-trace/agent-trace.class.js';import type{LyraApprovalQueueEventMap}from'./components/agent-tools/approval-queue/approval-queue.class.js';import type{LyraArtifactPanelEventMap}from'./components/agent-tools/artifact-panel/artifact-panel.class.js';import type{LyraBrowserFrameEventMap}from'./components/agent-tools/browser-frame/browser-frame.class.js';import type{LyraCommitCardEventMap}from'./components/agent-tools/commit-card/commit-card.class.js';import type{LyraComparePanelEventMap}from'./components/agent-tools/compare-panel/compare-panel.class.js';import type{LyraConfirmBarEventMap}from'./components/agent-tools/confirm-bar/confirm-bar.class.js';import type{LyraEvalDatasetEventMap}from'./components/agent-tools/eval-dataset/eval-dataset.class.js';import type{LyraEvalResultEventMap}from'./components/agent-tools/eval-result/eval-result.class.js';import type{LyraEvalRunEventMap}from'./components/agent-tools/evaluation-run/evaluation-run.class.js';import type{LyraMcpAppEventMap}from'./components/agent-tools/mcp-app/mcp-app.class.js';import type{LyraPromptStudioEventMap}from'./components/agent-tools/prompt-studio/prompt-studio.class.js';import type{LyraJsonSchemaViewerEventMap}from'./components/agent-tools/schema-viewer/schema-viewer.class.js';import type{LyraSpanWaterfallEventMap}from'./components/agent-tools/span-waterfall/span-waterfall.class.js';import type{LyraStackTraceEventMap}from'./components/agent-tools/stack-trace/stack-trace.class.js';import type{LyraSubagentPanelEventMap}from'./components/agent-tools/subagent-panel/subagent-panel.class.js';import type{LyraTaskListEventMap}from'./components/agent-tools/task-list/task-list.class.js';import type{LyraTerminalEventMap}from'./components/agent-tools/terminal/terminal.class.js';import type{LyraTestResultsEventMap}from'./components/agent-tools/test-results/test-results.class.js';import type{LyraThinkingPanelEventMap}from'./components/agent-tools/thinking-panel/thinking-panel.class.js';import type{LyraToolApprovalDialogEventMap}from'./components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js';import type{LyraToolCallChipEventMap}from'./components/agent-tools/tool-call-chip/tool-call-chip.class.js';import type{LyraToolParamFormEventMap}from'./components/agent-tools/tool-param-form/tool-param-form.class.js';import type{LyraToolResultDialogEventMap}from'./components/agent-tools/tool-result-dialog/tool-result-dialog.class.js';import type{LyraToolResultViewEventMap}from'./components/agent-tools/tool-result-view/tool-result-view.class.js';import type{LyraToolSelectDialogEventMap}from'./components/agent-tools/tool-select-dialog/tool-select-dialog.class.js';import type{LyraToolTimelineEventMap}from'./components/agent-tools/tool-timeline/tool-timeline.class.js';import type{LyraTraceTreeEventMap}from'./components/agent-tools/trace-tree/trace-tree.class.js';import type{LyraBoxPlotEventMap}from'./components/charts/chart/box-plot.class.js';import type{LyraChartEventMap}from'./components/charts/chart/chart.class.js';import type{LyraLiteChartEventMap}from'./components/charts/chart/lite-chart.class.js';import type{LyraAgentWorkspaceEventMap}from'./components/conversation/agent-workspace/agent-workspace.class.js';import type{LyraBranchPickerEventMap}from'./components/conversation/branch-picker/branch-picker.class.js';import type{LyraChatComposerEventMap}from'./components/conversation/chat-composer/chat-composer.class.js';import type{LyraChatMessageEventMap}from'./components/conversation/chat-message/chat-message.class.js';import type{LyraChatViewportEventMap}from'./components/conversation/chat-viewport/chat-viewport.class.js';import type{LyraCheckpointEventMap}from'./components/conversation/checkpoint/checkpoint.class.js';import type{LyraCodeBlockCoreEventMap}from'./components/conversation/code-block/code-block-core.class.js';import type{LyraCodeBlockEventMap}from'./components/conversation/code-block/code-block.class.js';import type{LyraConversationItemEventMap}from'./components/conversation/conversation-item/conversation-item.class.js';import type{LyraGenerationMetricsEventMap}from'./components/conversation/generation-metrics/generation-metrics.class.js';import type{LyraMarkdownCoreEventMap}from'./components/conversation/markdown/markdown-core.class.js';import type{LyraMarkdownEventMap}from'./components/conversation/markdown/markdown.class.js';import type{LyraMessageActionsEventMap}from'./components/conversation/message-actions/message-actions.class.js';import type{LyraMessageFeedbackEventMap}from'./components/conversation/message-feedback/message-feedback.class.js';import type{LyraMessagePartsEventMap}from'./components/conversation/message-parts/message-parts.class.js';import type{LyraModelSelectEventMap}from'./components/conversation/model-select/model-select.class.js';import type{LyraModelSettingsPanelEventMap}from'./components/conversation/model-settings-panel/model-settings-panel.class.js';import type{LyraPromptInputEventMap}from'./components/conversation/prompt-input/prompt-input.class.js';import type{LyraPromptQueueEventMap}from'./components/conversation/prompt-queue/prompt-queue.class.js';import type{LyraPushToTalkEventMap}from'./components/conversation/push-to-talk/push-to-talk.class.js';import type{LyraRealtimeSessionEventMap}from'./components/conversation/realtime-session/realtime-session.class.js';import type{LyraSelectionToolbarEventMap}from'./components/conversation/selection-toolbar/selection-toolbar.class.js';import type{LyraStreamStatusEventMap}from'./components/conversation/stream-status/stream-status.class.js';import type{LyraStreamingTextEventMap}from'./components/conversation/streaming-text/streaming-text-base.class.js';import type{LyraSuggestionChipsEventMap}from'./components/conversation/suggestion-chips/suggestion-chips.class.js';import type{LyraThreadListEventMap}from'./components/conversation/thread-list/thread-list.class.js';import type{LyraTranscriptFeedEventMap}from'./components/conversation/transcript-feed/transcript-feed.class.js';import type{LyraVoicePickerEventMap}from'./components/conversation/voice-picker/voice-picker.class.js';import type{LyraWidgetRendererEventMap}from'./components/conversation/widget-renderer/widget-renderer.class.js';import type{LyraCalendarEventMap}from'./components/data/calendar/calendar.class.js';import type{LyraConditionBuilderEventMap}from'./components/data/condition-builder/condition-builder.class.js';import type{LyraContextMeterEventMap}from'./components/data/context-meter/context-meter.class.js';import type{LyraDataGridEventMap}from'./components/data/data-grid/data-grid-types.js';import type{LyraDocumentLibraryEventMap}from'./components/data/document-library/document-library.class.js';import type{LyraEnvListEventMap}from'./components/data/env-list/env-list.class.js';import type{LyraFileTreeEventMap}from'./components/data/file-tree/file-tree.class.js';import type{LyraFlowCanvasEventMap}from'./components/data/flow-canvas/flow-canvas.class.js';import type{LyraGraphQueryBuilderEventMap}from'./components/data/graph-query-builder/graph-query-builder.class.js';import type{LyraHeatmapEventMap}from'./components/data/heatmap/heatmap.class.js';import type{LyraPaginationEventMap}from'./components/data/pagination/pagination.class.js';import type{LyraSequenceStripEventMap}from'./components/data/sequence-strip/sequence-strip.class.js';import type{LyraTableEventMap}from'./components/data/table/table.class.js';import type{LyraTimelineEventMap}from'./components/data/timeline/timeline.class.js';import type{LyraTreeItemEventMap}from'./components/data/tree/tree-item.class.js';import type{LyraTreeEventMap}from'./components/data/tree/tree.class.js';import type{LyraWordCloudEventMap}from'./components/data/word-cloud/word-cloud.class.js';import type{LyraButtonEventMap}from'./components/forms/button/button.class.js';import type{LyraCheckboxGroupEventMap}from'./components/forms/checkbox-group/checkbox-group.class.js';import type{LyraCheckboxEventMap}from'./components/forms/checkbox/checkbox.class.js';import type{LyraCodeEditorEventMap}from'./components/forms/code-editor/code-editor.class.js';import type{LyraColorPickerEventMap}from'./components/forms/color-picker/color-picker.class.js';import type{LyraComboboxEventMap}from'./components/forms/combobox/combobox.class.js';import type{LyraOptionEventMap}from'./components/forms/combobox/option.class.js';import type{LyraDateInputEventMap}from'./components/forms/date-picker/date-input.class.js';import type{LyraDatePickerEventMap}from'./components/forms/date-picker/date-picker.class.js';import type{LyraEmojiPickerEventMap}from'./components/forms/emoji-picker/emoji-picker.class.js';import type{LyraInputEventMap}from'./components/forms/input/input.class.js';import type{LyraTimeInputEventMap}from'./components/forms/input/time-input.class.js';import type{LyraLocalePickerEventMap}from'./components/forms/locale-picker/locale-picker.class.js';import type{LyraOtpInputEventMap}from'./components/forms/otp-input/otp-input.class.js';import type{LyraPhoneInputEventMap}from'./components/forms/phone-input/phone-input.class.js';import type{LyraRadioGroupEventMap}from'./components/forms/radio/radio-group.class.js';import type{LyraRadioEventMap}from'./components/forms/radio/radio.class.js';import type{LyraRubricFormEventMap}from'./components/forms/rubric-form/rubric-form.class.js';import type{LyraSelectEventMap}from'./components/forms/select/select.class.js';import type{LyraSliderEventMap}from'./components/forms/slider/slider.class.js';import type{LyraSwatchPickerEventMap}from'./components/forms/swatch-picker/swatch-picker.class.js';import type{LyraSwitchEventMap}from'./components/forms/switch/switch.class.js';import type{LyraTextareaEventMap}from'./components/forms/textarea/textarea.class.js';import type{LyraTimeRangeEventMap}from'./components/forms/time-range/time-range.class.js';import type{LyraTokenInputEventMap}from'./components/forms/token-input/token-input.class.js';import type{LyraAppRailGroupEventMap}from'./components/layout/app-rail-group/app-rail-group.class.js';import type{LyraAppRailItemEventMap}from'./components/layout/app-rail/app-rail-item.class.js';import type{LyraAppRailEventMap}from'./components/layout/app-rail/app-rail.class.js';import type{LyraCardEventMap}from'./components/layout/card/card.class.js';import type{LyraCarouselEventMap}from'./components/layout/carousel/carousel.class.js';import type{LyraCommandPaletteEventMap}from'./components/layout/command-palette/command-palette.class.js';import type{LyraDashboardGridEventMap}from'./components/layout/dashboard-grid/dashboard-grid.class.js';import type{LyraAccordionEventMap}from'./components/layout/details/accordion.class.js';import type{LyraDetailsEventMap}from'./components/layout/details/details.class.js';import type{LyraDockPanelEventMap}from'./components/layout/dock-panel/dock-panel.class.js';import type{LyraDrilldownPanelEventMap}from'./components/layout/drilldown-panel/drilldown-panel.class.js';import type{LyraFilterBarEventMap}from'./components/layout/filter-bar/filter-bar.class.js';import type{LyraMenuItemEventMap}from'./components/layout/menu/menu-item.class.js';import type{LyraMenuEventMap}from'./components/layout/menu/menu.class.js';import type{LyraMultiSplitEventMap}from'./components/layout/multi-split/multi-split.class.js';import type{LyraPageEventMap}from'./components/layout/page/page.class.js';import type{LyraReorderItemEventMap}from'./components/layout/reorder-list/reorder-item.class.js';import type{LyraReorderListEventMap}from'./components/layout/reorder-list/reorder-list.class.js';import type{LyraResponsivePanelEventMap}from'./components/layout/responsive-panel/responsive-panel.class.js';import type{LyraScrollerEventMap}from'./components/layout/scroller/scroller.class.js';import type{LyraSegmentedEventMap}from'./components/layout/segmented/segmented.class.js';import type{LyraSplitPanelEventMap}from'./components/layout/split-panel/split-panel.class.js';import type{LyraStepperEventMap}from'./components/layout/stepper/stepper.class.js';import type{LyraTabGroupEventMap}from'./components/layout/tab-group/tab-group.class.js';import type{LyraTabEventMap}from'./components/layout/tab-group/tab.class.js';import type{LyraVirtualListEventMap}from'./components/layout/virtual-list/virtual-list.class.js';import type{LyraWidgetEventMap}from'./components/layout/widget/widget.class.js';import type{LyraAnimatedImageEventMap}from'./components/media/animated-image/animated-image.class.js';import type{LyraAnimationEventMap}from'./components/media/animation/animation.class.js';import type{LyraAttachmentChipEventMap}from'./components/media/attachment-chip/attachment-chip.class.js';import type{LyraAttachmentTriggerEventMap}from'./components/media/attachment-trigger/attachment-trigger.class.js';import type{LyraAvPlayerEventMap}from'./components/media/av-player/av-player.class.js';import type{LyraAvatarGroupEventMap}from'./components/media/avatar-group/avatar-group.class.js';import type{LyraAvatarEventMap}from'./components/media/avatar/avatar.class.js';import type{LyraDropZoneEventMap}from'./components/media/drop-zone/drop-zone.class.js';import type{LyraFileInputEventMap}from'./components/media/file-input/file-input.class.js';import type{LyraImageViewerEventMap}from'./components/media/image-viewer/image-viewer.class.js';import type{LyraLightboxEventMap}from'./components/media/lightbox/lightbox.class.js';import type{LyraMapEventMap}from'./components/media/map/map.class.js';import type{LyraMediaCardEventMap}from'./components/media/media-card/media-card.class.js';import type{LyraPanZoomEventMap}from'./components/media/pan-zoom/pan-zoom.class.js';import type{LyraSequencePlaybackEventMap}from'./components/media/sequence-playback/sequence-playback.class.js';import type{LyraVideoPlaylistEventMap}from'./components/media/video-playlist/video-playlist.class.js';import type{LyraAlertEventMap}from'./components/overlays/alert/alert.class.js';import type{LyraTagEventMap}from'./components/overlays/badge/tag.class.js';import type{LyraCalloutEventMap}from'./components/overlays/callout/callout.class.js';import type{LyraChipGroupEventMap}from'./components/overlays/chip/chip-group.class.js';import type{LyraChipEventMap}from'./components/overlays/chip/chip.class.js';import type{LyraDialogEventMap}from'./components/overlays/dialog/dialog.class.js';import type{LyraDropdownEventMap}from'./components/overlays/overlay/dropdown.class.js';import type{LyraPopoverEventMap}from'./components/overlays/overlay/popover.class.js';import type{LyraTooltipEventMap}from'./components/overlays/overlay/tooltip.class.js';import type{LyraPopupEventMap}from'./components/overlays/popup/popup.class.js';import type{LyraRatingEventMap}from'./components/overlays/rating/rating.class.js';import type{LyraToastItemEventMap}from'./components/overlays/toast/toast-item.class.js';import type{LyraToastEventMap}from'./components/overlays/toast/toast.class.js';import type{LyraChunkInspectorEventMap}from'./components/retrieval/chunk-inspector/chunk-inspector.class.js';import type{LyraCitationBadgeEventMap}from'./components/retrieval/citation-badge/citation-badge.class.js';import type{LyraClaimEvidenceEventMap}from'./components/retrieval/claim-evidence/claim-evidence.class.js';import type{LyraCommunityCardEventMap}from'./components/retrieval/community-card/community-card.class.js';import type{LyraEmbeddingExplorerEventMap}from'./components/retrieval/embedding-explorer/embedding-explorer.class.js';import type{LyraEntityCardEventMap}from'./components/retrieval/entity-card/entity-card.class.js';import type{LyraEntityChipEventMap}from'./components/retrieval/entity-chip/entity-chip.class.js';import type{LyraEntityDossierEventMap}from'./components/retrieval/entity-dossier/entity-dossier.class.js';import type{LyraGraphLegendEventMap}from'./components/retrieval/graph-legend/graph-legend.class.js';import type{LyraGraphEventMap}from'./components/retrieval/graph/graph.class.js';import type{LyraGroundingSummaryEventMap}from'./components/retrieval/grounding-summary/grounding-summary.class.js';import type{LyraIngestionQueueEventMap}from'./components/retrieval/ingestion-queue/ingestion-queue.class.js';import type{LyraKnowledgeBaseAdminEventMap}from'./components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js';import type{LyraKnowledgeBaseEventMap}from'./components/retrieval/knowledge-base/knowledge-base.class.js';import type{LyraKnowledgeGraphExplorerEventMap}from'./components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js';import type{LyraMemoryPanelEventMap}from'./components/retrieval/memory-panel/memory-panel.class.js';import type{LyraMindMapEventMap}from'./components/retrieval/mind-map/mind-map.class.js';import type{LyraNeighborListEventMap}from'./components/retrieval/neighbor-list/neighbor-list.class.js';import type{LyraNodePaletteEventMap}from'./components/retrieval/node-palette/node-palette.class.js';import type{LyraPathStripEventMap}from'./components/retrieval/path-strip/path-strip.class.js';import type{LyraProvenancePanelEventMap}from'./components/retrieval/provenance-panel/provenance-panel.class.js';import type{LyraRagAnswerEventMap}from'./components/retrieval/rag-answer/rag-answer.class.js';import type{LyraRagEvalDashboardEventMap}from'./components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js';import type{LyraRetrievalCompareEventMap}from'./components/retrieval/retrieval-compare/retrieval-compare.class.js';import type{LyraRetrievalResultsEventMap}from'./components/retrieval/retrieval-results/retrieval-results.class.js';import type{LyraRetrievalSearchEventMap}from'./components/retrieval/retrieval-search/retrieval-search.class.js';import type{LyraRetrievalTraceEventMap}from'./components/retrieval/retrieval-trace/retrieval-trace.class.js';import type{LyraSourceCardEventMap}from'./components/retrieval/source-card/source-card.class.js';import type{LyraSourceListEventMap}from'./components/retrieval/source-list/source-list.class.js';import type{LyraSourcePickerEventMap}from'./components/retrieval/source-picker/source-picker.class.js';import type{LyraCopyButtonEventMap}from'./components/utility/copy-button/copy-button.class.js';import type{LyraDiffViewEventMap}from'./components/utility/diff-view/diff-view.class.js';import type{LyraExportButtonEventMap}from'./components/utility/export-button/export-button.class.js';import type{LyraIconEventMap}from'./components/utility/icon/icon.class.js';import type{LyraIntersectionObserverEventMap}from'./components/utility/intersection-observer/intersection-observer.class.js';import type{LyraJsonViewerEventMap}from'./components/utility/json-viewer/json-viewer.class.js';import type{LyraKnownDateEventMap}from'./components/utility/known-date/known-date.class.js';import type{LyraMentionPopoverEventMap}from'./components/utility/mention-popover/mention-popover.class.js';import type{LyraMutationObserverEventMap}from'./components/utility/mutation-observer/mutation-observer.class.js';import type{LyraPollStatusEventMap}from'./components/utility/poll-status/poll-status.class.js';import type{LyraRandomContentEventMap}from'./components/utility/random-content/random-content.class.js';import type{LyraResizeObserverEventMap}from'./components/utility/resize-observer/resize-observer.class.js';import type{LyraTourEventMap}from'./components/utility/tour/tour.class.js';import type{LyraArchiveViewerEventMap}from'./components/viewers/archive-viewer/archive-viewer.class.js';import type{LyraCalendarViewerEventMap}from'./components/viewers/calendar-viewer/calendar-viewer.class.js';import type{LyraContactViewerEventMap}from'./components/viewers/contact-viewer/contact-viewer.class.js';import type{LyraCsvViewerEventMap}from'./components/viewers/csv-viewer/csv-viewer.class.js';import type{LyraDatasetViewerEventMap}from'./components/viewers/dataset-viewer/dataset-viewer.class.js';import type{LyraDocumentCompareEventMap}from'./components/viewers/document-compare/document-compare.class.js';import type{LyraDocumentPreviewEventMap}from'./components/viewers/document-preview/document-preview.class.js';import type{LyraDocumentViewerEventMap}from'./components/viewers/document-viewer/document-viewer.class.js';import type{LyraDocxViewerEventMap}from'./components/viewers/docx-viewer/docx-viewer.class.js';import type{LyraEbookViewerEventMap}from'./components/viewers/ebook-viewer/ebook-viewer.class.js';import type{LyraEmailViewerEventMap}from'./components/viewers/email-viewer/email-viewer.class.js';import type{LyraGeoJsonViewerEventMap}from'./components/viewers/geojson-view/geojson-viewer.class.js';import type{LyraHighlightLayerEventMap}from'./components/viewers/highlight-layer/highlight-layer.class.js';import type{LyraHtmlViewerEventMap}from'./components/viewers/html-viewer/html-viewer.class.js';import type{LyraIncludeEventMap}from'./components/viewers/include/include.class.js';import type{LyraNotebookViewerEventMap}from'./components/viewers/notebook-viewer/notebook-viewer.class.js';import type{LyraPageRailEventMap}from'./components/viewers/page-rail/page-rail.class.js';import type{LyraPdfViewerEventMap}from'./components/viewers/pdf-viewer/pdf-viewer.class.js';import type{LyraPptxViewerEventMap}from'./components/viewers/pptx-viewer/pptx-viewer.class.js';import type{LyraSpreadsheetViewerEventMap}from'./components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js';import type{LyraSvgViewerEventMap}from'./components/viewers/svg-viewer/svg-viewer.class.js';import type{LyraXmlViewerEventMap}from'./components/viewers/xml-viewer/xml-viewer.class.js';import type{LyraAnchorTargetEventMap}from'./internal/anchor-target.js';import type{LyraTextViewerTargetEventMap}from'./internal/text-viewer-target.js';
2
2
  /**
3
3
  * `lr-activate` — dispatched by 9 components: `<lr-combobox>`, `<lr-knowledge-base-admin>`,
4
4
  * `<lr-pagination>`, `<lr-rating>`, `<lr-segmented>`, `<lr-select>`, `<lr-swatch-picker>`,
@@ -2223,25 +2223,26 @@ export type LyraTimeChangeEvent=LyraAvPlayerEventMap['lr-time-change'];
2223
2223
  */
2224
2224
  export type LyraToastOverflowEvent=LyraToastEventMap['lr-toast-overflow'];
2225
2225
  /**
2226
- * `lr-toggle` — dispatched by 16 components: `<lr-activity-feed>`, `<lr-app-rail-group>`,
2227
- * `<lr-app-rail>`, `<lr-chat-message>`, `<lr-code-block-core>`, `<lr-code-block>`,
2228
- * `<lr-commit-card>`, `<lr-details>`, `<lr-entity-dossier>`, `<lr-message-parts>`,
2229
- * `<lr-multi-split>`, `<lr-provenance-panel>`, `<lr-source-list>`, `<lr-task-list>`,
2230
- * `<lr-test-results>`, `<lr-thinking-panel>`.
2226
+ * `lr-toggle` — dispatched by 17 components: `<lr-activity-feed>`, `<lr-app-rail-group>`,
2227
+ * `<lr-app-rail-item>`, `<lr-app-rail>`, `<lr-chat-message>`, `<lr-code-block-core>`,
2228
+ * `<lr-code-block>`, `<lr-commit-card>`, `<lr-details>`, `<lr-entity-dossier>`,
2229
+ * `<lr-message-parts>`, `<lr-multi-split>`, `<lr-provenance-panel>`, `<lr-source-list>`,
2230
+ * `<lr-task-list>`, `<lr-test-results>`, `<lr-thinking-panel>`.
2231
2231
  *
2232
- * A union of 14 component entries, so `event.detail` here exposes only what all of them share. For
2232
+ * A union of 15 component entries, so `event.detail` here exposes only what all of them share. For
2233
2233
  * one component's exact detail, index its own map — e.g. `LyraActivityFeedEventMap['lr-toggle']`.
2234
2234
  */
2235
- export type LyraToggleEvent=LyraActivityFeedEventMap['lr-toggle']|LyraAppRailEventMap['lr-toggle']|LyraAppRailGroupEventMap['lr-toggle']|LyraChatMessageEventMap['lr-toggle']|LyraCodeBlockCoreEventMap['lr-toggle']|LyraCodeBlockEventMap['lr-toggle']|LyraCommitCardEventMap['lr-toggle']|LyraDetailsEventMap['lr-toggle']|LyraMultiSplitEventMap['lr-toggle']|LyraProvenancePanelEventMap['lr-toggle']|LyraSourceListEventMap['lr-toggle']|LyraTaskListEventMap['lr-toggle']|LyraTestResultsEventMap['lr-toggle']|LyraThinkingPanelEventMap['lr-toggle'];
2235
+ export type LyraToggleEvent=LyraActivityFeedEventMap['lr-toggle']|LyraAppRailEventMap['lr-toggle']|LyraAppRailGroupEventMap['lr-toggle']|LyraAppRailItemEventMap['lr-toggle']|LyraChatMessageEventMap['lr-toggle']|LyraCodeBlockCoreEventMap['lr-toggle']|LyraCodeBlockEventMap['lr-toggle']|LyraCommitCardEventMap['lr-toggle']|LyraDetailsEventMap['lr-toggle']|LyraMultiSplitEventMap['lr-toggle']|LyraProvenancePanelEventMap['lr-toggle']|LyraSourceListEventMap['lr-toggle']|LyraTaskListEventMap['lr-toggle']|LyraTestResultsEventMap['lr-toggle']|LyraThinkingPanelEventMap['lr-toggle'];
2236
2236
  /**
2237
- * `lr-toggle-request` — dispatched by 6 components: `<lr-accordion>`, `<lr-app-rail-group>`,
2238
- * `<lr-chat-message>`, `<lr-code-block-core>`, `<lr-code-block>`, `<lr-thinking-panel>`.
2237
+ * `lr-toggle-request` — dispatched by 7 components: `<lr-accordion>`, `<lr-app-rail-group>`,
2238
+ * `<lr-app-rail-item>`, `<lr-chat-message>`, `<lr-code-block-core>`, `<lr-code-block>`,
2239
+ * `<lr-thinking-panel>`.
2239
2240
  *
2240
- * A union of 6 component entries, so `event.detail` here exposes only what all of them share. For
2241
+ * A union of 7 component entries, so `event.detail` here exposes only what all of them share. For
2241
2242
  * one component's exact detail, index its own map — e.g.
2242
2243
  * `LyraAccordionEventMap['lr-toggle-request']`.
2243
2244
  */
2244
- export type LyraToggleRequestEvent=LyraAccordionEventMap['lr-toggle-request']|LyraAppRailGroupEventMap['lr-toggle-request']|LyraChatMessageEventMap['lr-toggle-request']|LyraCodeBlockCoreEventMap['lr-toggle-request']|LyraCodeBlockEventMap['lr-toggle-request']|LyraThinkingPanelEventMap['lr-toggle-request'];
2245
+ export type LyraToggleRequestEvent=LyraAccordionEventMap['lr-toggle-request']|LyraAppRailGroupEventMap['lr-toggle-request']|LyraAppRailItemEventMap['lr-toggle-request']|LyraChatMessageEventMap['lr-toggle-request']|LyraCodeBlockCoreEventMap['lr-toggle-request']|LyraCodeBlockEventMap['lr-toggle-request']|LyraThinkingPanelEventMap['lr-toggle-request'];
2245
2246
  /**
2246
2247
  * `lr-token-edit` — dispatched by `<lr-token-input>`.
2247
2248
  *
@@ -0,0 +1,33 @@
1
+ /** Normalized `maxFiles`/`maxTotalSize` pair -- the shape each caller's own
2
+ * `effectiveMaxFiles`/`effectiveMaxTotalSize` getter already produces: `null` means "no limit",
3
+ * anything else is a positive finite bound. */
4
+ export interface AggregateFileLimits{readonly maxFiles:number|null;readonly maxTotalSize:number|null;}
5
+ /** Remaining allowance under each limit at a tracker's current running totals -- `null` while
6
+ * that limit is unset (unbounded), otherwise never negative. */
7
+ export interface AggregateFileAllowance{readonly remainingFiles:number|null;readonly remainingTotalSize:number|null;}
8
+ /**
9
+ * Shared `maxFiles`/`maxTotalSize` running-total arithmetic for `lr-file-input` and
10
+ * `lr-drop-zone`, so the two controls cannot independently drift on it. Each accepted file
11
+ * increments the running count/byte-total the tracker starts from; a file that would push either
12
+ * running total past its limit is rejected without being counted.
13
+ *
14
+ * Construct one tracker per classification pass, seeded from the caller's own combined baseline
15
+ * -- the running total a retaining component already holds (its own internal file list) plus any
16
+ * externally held baseline the host reports (e.g. `heldFileCount`/`heldTotalSize`), added
17
+ * together by the caller *before* normalizing the externally supplied half through
18
+ * {@linkcode finiteCount}. Passing `0`/`0` (or omitting both arguments) reproduces the exact
19
+ * arithmetic both components shipped before an externally held baseline existed.
20
+ */
21
+ export declare class AggregateFileLimitTracker{private count;private size;constructor(baselineFileCount?:number,baselineTotalSize?:number);
22
+ /**
23
+ * Evaluates one candidate file against `limits` and this tracker's running totals. Returns the
24
+ * rejection reason and leaves the running totals unchanged, or returns `null` and records the
25
+ * acceptance -- incrementing both running totals. A non-finite `file.size` (e.g. a synthetic
26
+ * dragenter-preview item, which has none) contributes `0` to the running byte total, and can
27
+ * never itself trigger a `'maxTotalSize'` rejection: `this.size + undefined` is `NaN`, and every
28
+ * comparison against `NaN` is `false`.
29
+ */
30
+ evaluate(file:File,limits:AggregateFileLimits):'maxFiles'|'maxTotalSize'|null;
31
+ /** Remaining allowance under `limits` at this tracker's current running totals -- attach to a
32
+ * classification result's emitted detail so a consumer can render "you can add N more files". */
33
+ allowance(limits:AggregateFileLimits):AggregateFileAllowance;}
@@ -0,0 +1 @@
1
+ import{finiteCount}from"./numbers.js";class AggregateFileLimitTracker{constructor(baselineFileCount=0,baselineTotalSize=0){this.count=finiteCount(baselineFileCount,0),this.size=finiteCount(baselineTotalSize,0)}evaluate(file,limits){const{maxFiles,maxTotalSize}=limits;return maxFiles!==null&&this.count+1>maxFiles?"maxFiles":maxTotalSize!==null&&this.size+file.size>maxTotalSize?"maxTotalSize":(this.count+=1,this.size+=Number.isFinite(file.size)?file.size:0,null)}allowance(limits){const{maxFiles,maxTotalSize}=limits;return{remainingFiles:maxFiles===null?null:Math.max(0,maxFiles-this.count),remainingTotalSize:maxTotalSize===null?null:Math.max(0,maxTotalSize-this.size)}}}export{AggregateFileLimitTracker};
@@ -1,5 +1,14 @@
1
1
  /** The common public row vocabulary for catalog-backed controls. */
2
- export interface LyraCatalogEntry{id:string;label:string;}
2
+ export interface LyraCatalogEntry{id:string;label:string;
3
+ /**
4
+ * Marks this row non-actionable: it cannot be selected by pointer or keyboard, `aria-disabled`
5
+ * replaces the row's stateful selected/active affordances, and active-descendant navigation
6
+ * (arrow keys, Home/End) steps over it instead of landing on it. Omitted or `false` renders the
7
+ * row exactly as before this field existed. Does not affect any other affordance a specific
8
+ * catalog-backed control renders on the same row (for example `<lr-voice-picker>`'s independent
9
+ * preview control), only the row's own selection.
10
+ */
11
+ disabled?:boolean;}
3
12
  /**
4
13
  * A homogeneous, readonly catalog. String shorthand uses the same string for the row id and
5
14
  * label; object catalogs retain the caller's extended row type. Ids are stable occurrence
@@ -30,4 +39,8 @@ export declare class CatalogPickerController<T extends LyraCatalogEntry>{private
30
39
  * blank id (see `normalizeCatalog`), so the find would miss and `?? id` would return `''` too --
31
40
  * and is kept only to skip the scan on the common empty-field path. It is therefore not an
32
41
  * instance of the `''`-as-missing-value shape corrected in `<lr-select>`/`<lr-combobox>`. */
33
- labelFor(id:string):string;get activeIndex():number;setActiveIndex(next:number):void;get query():string;setQuery(next:string):void;get open():boolean;setOpen(next:boolean):void;show():void;hide():void;get value():string;set value(next:string);get defaultValue():string;set defaultValue(next:string);resetValue():void;restoreState(state:string|File|FormData|null):void;private restoreLiveValueFromDefault;private reflectDefaultValue;commitValue(next:string):void;emitValueEvents():void;commitFreeText():void;selectEntry(entry:DisplayCatalogEntry<T>):void;reconcileRows(activeValue:string|undefined,rebaseQuery:boolean,clampMissing?:boolean):void;handleTriggerKeyDown(event:KeyboardEvent):void;handleInputKeyDown(event:KeyboardEvent):void;handleInput(event:Event):void;handleInputFocus(event:FocusEvent):void;handleControlFocus(event:FocusEvent):void;handleControlBlur(event:FocusEvent):void;handleComboMouseDown(event:MouseEvent):void;handleListboxMouseDown(event:MouseEvent):void;handleListboxClick(event:MouseEvent):void;get input():HTMLInputElement|null;click():void;focus(options?:FocusOptions):void;blur():void;select():void;setSelectionRange(start:number|null,end:number|null,direction?:'forward'|'backward'|'none'):void;setRangeText(replacement:string,start?:number,end?:number,selectMode?:SelectionMode):void;connected(hasUpdated:boolean):void;disconnected():void;adopted():void;updated(reposition:boolean):void;private containsFocusTarget;private bindDocumentPointer;private unbindDocumentPointer;private activatePopupOverlay;private deactivateOverlay;private dismissFromEscape;private syncPopup;}export{};
42
+ labelFor(id:string):string;get activeIndex():number;setActiveIndex(next:number):void;get query():string;setQuery(next:string):void;get open():boolean;setOpen(next:boolean):void;show():void;hide():void;get value():string;set value(next:string);get defaultValue():string;set defaultValue(next:string);resetValue():void;restoreState(state:string|File|FormData|null):void;private restoreLiveValueFromDefault;private reflectDefaultValue;commitValue(next:string):void;emitValueEvents():void;commitFreeText():void;
43
+ /** A `disabled` row can never be committed -- by pointer or by keyboard -- and activating one
44
+ * emits nothing and changes no state, matching every other declared-non-actionable entry in
45
+ * this library. */
46
+ selectEntry(entry:DisplayCatalogEntry<T>):void;reconcileRows(activeValue:string|undefined,rebaseQuery:boolean,clampMissing?:boolean):void;handleTriggerKeyDown(event:KeyboardEvent):void;handleInputKeyDown(event:KeyboardEvent):void;handleInput(event:Event):void;handleInputFocus(event:FocusEvent):void;handleControlFocus(event:FocusEvent):void;handleControlBlur(event:FocusEvent):void;handleComboMouseDown(event:MouseEvent):void;handleListboxMouseDown(event:MouseEvent):void;handleListboxClick(event:MouseEvent):void;get input():HTMLInputElement|null;click():void;focus(options?:FocusOptions):void;blur():void;select():void;setSelectionRange(start:number|null,end:number|null,direction?:'forward'|'backward'|'none'):void;setRangeText(replacement:string,start?:number,end?:number,selectMode?:SelectionMode):void;connected(hasUpdated:boolean):void;disconnected():void;adopted():void;updated(reposition:boolean):void;private containsFocusTarget;private bindDocumentPointer;private unbindDocumentPointer;private activatePopupOverlay;private deactivateOverlay;private dismissFromEscape;private syncPopup;}export{};
@@ -1 +1 @@
1
- import{AnchoredPopoverController}from"./anchored-popover-controller.js";import{resolveIntlLocale}from"./intl-cache.js";import{dispatchNativeEvent,relayNativeEvent}from"./native-event-relay.js";import{activateNonmodalOverlay}from"./nonmodal-overlay-manager.js";function normalizeCatalog(catalog){const normalized=[],seen=new Set;for(const entry of catalog??[]){const record=typeof entry=="string"?{id:entry,label:entry}:entry,id=record?.id,label=record?.label;typeof id!="string"||id.trim()===""||typeof label!="string"||label.trim()===""||seen.has(id)||(seen.add(id),normalized.push(record))}return normalized}function withSyntheticCatalogValue(catalog,value){const entries=catalog.map(entry=>({...entry,synthetic:!1}));return catalog.length&&value.trim()!==""&&!catalog.some(entry=>entry.id===value)&&entries.push({id:value,label:value,synthetic:!0}),entries}function filterCatalogEntries(entries,query,locale,fields){const intlLocale=resolveIntlLocale(locale),normalized=query.trim().toLocaleLowerCase(intlLocale);return normalized?entries.filter(entry=>fields(entry).some(value=>value.toLocaleLowerCase(intlLocale).includes(normalized))):[...entries]}class CatalogPickerController{constructor(host,options){this.host=host,this.options=options,this.popupPosition=new AnchoredPopoverController,this._activeIndex=-1,this._query="",this._open=!1,this._value="",this._defaultValue="",this.valueDirty=!1,this.settingDefaultValue=!1,this.reflectingDefaultValue=!1,this.suppressControlEvents=!1}get normalizedCatalog(){return normalizeCatalog(this.options.catalog())}get closedMode(){return this.normalizedCatalog.length>0&&!this.options.allowCustom()}get isReadonly(){return this.options.isReadonly()}get effectiveEntries(){return withSyntheticCatalogValue(this.normalizedCatalog,this._value)}get filteredEntries(){return filterCatalogEntries(this.effectiveEntries,this._query,this.options.locale(),this.options.searchableFields)}get visibleEntries(){return this.closedMode?this.effectiveEntries:this.filteredEntries}labelFor(id){return id?this.effectiveEntries.find(entry=>entry.id===id)?.label??id:""}get activeIndex(){return this._activeIndex}setActiveIndex(next){if(next===this._activeIndex)return;const old=this._activeIndex;this.options.beforeActiveIndexChange?.(next,old),this._activeIndex=next,this.options.onStateChange("activeIndex",old)}get query(){return this._query}setQuery(next){if(next===this._query)return;const old=this._query;this._query=next,this.options.afterQueryChange?.(next,old),this.options.onStateChange("query",old)}get open(){return this._open}setOpen(next){const liveDisabled=this.host.effectiveDisabled||typeof this.host.matches=="function"&&this.host.matches(":disabled"),resolved=!!next&&!liveDisabled;if(resolved===this._open){resolved||this.deactivateOverlay(!1),next&&!resolved&&this.host.hasAttribute("open")&&this.host.removeAttribute("open");return}const old=this._open;resolved||(this.setActiveIndex(-1),this.deactivateOverlay(!1)),this._open=resolved,this.options.onStateChange("open",old)}show(){!this._open&&!this.host.effectiveDisabled&&this.setOpen(!0)}hide(){this._open&&this.setOpen(!1)}get value(){return this._value}set value(next){const normalized=next??"";if(this.options.beforeValueChange?.(normalized,this._value),normalized===this._value){this.settingDefaultValue||(this.valueDirty=!0);return}const old=this._value;this.settingDefaultValue||(this.valueDirty=!0),this._value=normalized,this.options.onValueChange(normalized,old)}get defaultValue(){return this._defaultValue}set defaultValue(next){if(this.reflectingDefaultValue)return;const normalized=next??"",old=this._defaultValue;this._defaultValue=normalized,this.reflectDefaultValue(),this.valueDirty||this.restoreLiveValueFromDefault(),this.options.onDefaultValueChange(normalized,old)}resetValue(){this.restoreLiveValueFromDefault()}restoreState(state){this.value=typeof state=="string"?state:""}restoreLiveValueFromDefault(){this.settingDefaultValue=!0;try{this.value=this._defaultValue}finally{this.settingDefaultValue=!1}this.valueDirty=!1}reflectDefaultValue(){this.reflectingDefaultValue=!0;try{this._defaultValue?this.host.setAttribute("value",this._defaultValue):this.host.removeAttribute("value")}finally{this.reflectingDefaultValue=!1}}commitValue(next){if(this.isReadonly)return;const inCatalog=this.normalizedCatalog.some(entry=>entry.id===next);this.value=next,this.hide(),this.options.emitChange({value:next,inCatalog}),this.emitValueEvents()}emitValueEvents(){dispatchNativeEvent(this.host,"input"),dispatchNativeEvent(this.host,"change")}commitFreeText(){const active=this.filteredEntries[this._activeIndex];this.commitValue(this._activeIndex>=0&&active?active.id:this._query.trim())}selectEntry(entry){this.commitValue(entry.id)}reconcileRows(activeValue,rebaseQuery,clampMissing=!0){const rows=this.visibleEntries,remapped=activeValue?rows.findIndex(entry=>entry.id===activeValue):-1;this.setActiveIndex(remapped>=0?remapped:clampMissing?Math.min(this._activeIndex,Math.max(-1,rows.length-1)):-1),rebaseQuery&&this.setQuery(this.labelFor(this._value))}handleTriggerKeyDown(event){const rows=this.effectiveEntries;switch(event.key){case"ArrowDown":if(event.preventDefault(),!this._open)return this.show();this.setActiveIndex(rows.length?Math.min(rows.length-1,this._activeIndex+1):-1);break;case"ArrowUp":if(event.preventDefault(),!this._open)return this.show();this.setActiveIndex(rows.length?Math.max(0,this._activeIndex-1):-1);break;case"Enter":case" ":if(this._open){event.preventDefault();const active=rows[this._activeIndex];this._activeIndex>=0&&active?this.selectEntry(active):this.hide()}break;case"Home":this._open&&(event.preventDefault(),this.setActiveIndex(rows.length?0:-1));break;case"End":this._open&&(event.preventDefault(),this.setActiveIndex(rows.length-1));break}}handleInputKeyDown(event){if(event.isComposing||event.keyCode===229)return;const rows=this.filteredEntries;switch(event.key){case"ArrowDown":if(event.preventDefault(),!this._open)return this.show();this.setActiveIndex(rows.length?Math.min(rows.length-1,this._activeIndex+1):-1);break;case"ArrowUp":if(event.preventDefault(),!this._open)return this.show();this.setActiveIndex(rows.length?Math.max(0,this._activeIndex-1):-1);break;case"Enter":this._open&&(event.preventDefault(),this.commitFreeText());break;case"Home":this._open&&(event.preventDefault(),this.setActiveIndex(rows.length?0:-1));break;case"End":this._open&&(event.preventDefault(),this.setActiveIndex(rows.length-1));break}}handleInput(event){const input=event.currentTarget;if(input){if(this.isReadonly){input.value=this._open?this._query:this.labelFor(this._value),event.stopPropagation();return}this.setQuery(input.value),this.setActiveIndex(-1),this.show(),relayNativeEvent(this.host,event)}}handleInputFocus(event){if(this.suppressControlEvents){event.stopPropagation();return}this._open||this.setQuery(this.labelFor(this._value)),this.show(),this.handleControlFocus(event)}handleControlFocus(event){if(this.suppressControlEvents){event.stopPropagation();return}if(this.containsFocusTarget(event.relatedTarget)){event.stopPropagation();return}this.options.onControlFocus?.(event),relayNativeEvent(this.host,event)}handleControlBlur(event){if(this.suppressControlEvents){event.stopPropagation();return}if(this.containsFocusTarget(event.relatedTarget)){event.stopPropagation();return}this.options.onControlBlur?.(event),this.hide(),relayNativeEvent(this.host,event)}handleComboMouseDown(event){this.host.effectiveDisabled||event.composedPath()[0]!==this.input&&(event.preventDefault(),this.input?.focus())}handleListboxMouseDown(event){event.target.closest('[part="option"]')&&event.preventDefault()}handleListboxClick(event){if(this.host.effectiveDisabled)return;const value=event.target.closest('[part="option"]')?.dataset.value;if(value===void 0)return;const entry=this.visibleEntries.find(candidate=>candidate.id===value);entry&&this.selectEntry(entry)}get input(){return this.host.renderRoot?.querySelector('[part="combobox-input"]')??null}click(){if(this.host.effectiveDisabled)return;const trigger=this.host.renderRoot?.querySelector('[part="trigger"]');if(trigger){trigger.click();return}const input=this.input;this.options.forwardFreeInputClick&&input?.click(),input?.focus()}focus(options){if(this.host.effectiveDisabled)return;this.host.renderRoot?.querySelector('[part="trigger"], [part="combobox-input"]')?.focus(options)}blur(){this.host.renderRoot?.querySelector('[part="trigger"], [part="combobox-input"]')?.blur()}select(){this.input?.select()}setSelectionRange(start,end,direction){this.input?.setSelectionRange(start,end,direction)}setRangeText(replacement,start,end,selectMode){const input=this.input;input&&(start===void 0||end===void 0?input.setRangeText(replacement):input.setRangeText(replacement,start,end,selectMode),this.setQuery(input.value),this.setActiveIndex(-1),this.value=input.value)}connected(hasUpdated){hasUpdated&&this._open&&queueMicrotask(()=>this.syncPopup())}disconnected(){this.popupPosition.disconnect(),this.deactivateOverlay(!1),this.setOpen(!1)}adopted(){this.popupPosition.disconnect(),this.unbindDocumentPointer(),this.overlay?.suspend(),this._open&&queueMicrotask(()=>this.syncPopup())}updated(reposition){reposition&&this.syncPopup()}containsFocusTarget(target){if(this.options.containsFocusTarget)return this.options.containsFocusTarget(target);if(!target||typeof target.nodeType!="number")return!1;const node=target;return this.host.renderRoot.contains(node)||this.host.contains(node)}bindDocumentPointer(){if(!this.host.isConnected)return;const ownerDocument=this.host.ownerDocument;if(this.pointerListenerDocument===ownerDocument&&this.pointerListener)return;this.unbindDocumentPointer();const listener=event=>{this.pointerListener!==listener||this.pointerListenerDocument!==ownerDocument||!this.host.isConnected||this.host.ownerDocument!==ownerDocument||event.composedPath().includes(this.host)||this.overlay?.dismissBackdrop()};this.pointerListenerDocument=ownerDocument,this.pointerListener=listener,ownerDocument.addEventListener("pointerdown",listener)}unbindDocumentPointer(){this.pointerListenerDocument&&this.pointerListener&&this.pointerListenerDocument.removeEventListener("pointerdown",this.pointerListener),this.pointerListenerDocument=void 0,this.pointerListener=void 0}activatePopupOverlay(){if(this.overlay?.isActive()){this.overlay.resume();return}this.overlay=activateNonmodalOverlay({host:this.host,panel:()=>this.host.renderRoot.querySelector('[part="listbox"]')??null,onEscape:()=>this.dismissFromEscape(),onBackdrop:()=>this.hide()})}deactivateOverlay(restoreFocus){const overlay=this.overlay;this.overlay=void 0,overlay?.deactivate({restoreFocus}),this.unbindDocumentPointer()}dismissFromEscape(){this._open&&(this.closedMode||this.setQuery(this.labelFor(this._value)),this.deactivateOverlay(!0),this.setOpen(!1))}syncPopup(){if(this.popupPosition.disconnect(),!this._open||!this.host.isConnected){this.deactivateOverlay(!1);return}this.activatePopupOverlay(),this.bindDocumentPointer();const anchor=this.host.renderRoot.querySelector(this.closedMode?'[part="trigger"]':'[part="combobox"]'),listbox=this.host.renderRoot.querySelector('[part="listbox"]');anchor&&listbox&&this.popupPosition.reposition(anchor,listbox)}}export{CatalogPickerController,filterCatalogEntries,normalizeCatalog,withSyntheticCatalogValue};
1
+ import{AnchoredPopoverController}from"./anchored-popover-controller.js";import{resolveIntlLocale}from"./intl-cache.js";import{dispatchNativeEvent,relayNativeEvent}from"./native-event-relay.js";import{activateNonmodalOverlay}from"./nonmodal-overlay-manager.js";function normalizeCatalog(catalog){const normalized=[],seen=new Set;for(const entry of catalog??[]){const record=typeof entry=="string"?{id:entry,label:entry}:entry,id=record?.id,label=record?.label;typeof id!="string"||id.trim()===""||typeof label!="string"||label.trim()===""||seen.has(id)||(seen.add(id),normalized.push(record))}return normalized}function withSyntheticCatalogValue(catalog,value){const entries=catalog.map(entry=>({...entry,synthetic:!1}));return catalog.length&&value.trim()!==""&&!catalog.some(entry=>entry.id===value)&&entries.push({id:value,label:value,synthetic:!0}),entries}function filterCatalogEntries(entries,query,locale,fields){const intlLocale=resolveIntlLocale(locale),normalized=query.trim().toLocaleLowerCase(intlLocale);return normalized?entries.filter(entry=>fields(entry).some(value=>value.toLocaleLowerCase(intlLocale).includes(normalized))):[...entries]}function firstEnabledIndex(rows){return rows.findIndex(entry=>entry.disabled!==!0)}function lastEnabledIndex(rows){for(let index=rows.length-1;index>=0;index-=1)if(rows[index]?.disabled!==!0)return index;return-1}function stepEnabledIndex(rows,from,direction){if(rows.length===0)return-1;let index=Math.min(Math.max(from+direction,0),rows.length-1);for(let steps=0;steps<rows.length;steps+=1){if(rows[index]?.disabled!==!0)return index;if(index+=direction,index<0||index>=rows.length)break}return from>=0&&from<rows.length&&rows[from]?.disabled!==!0?from:-1}class CatalogPickerController{constructor(host,options){this.host=host,this.options=options,this.popupPosition=new AnchoredPopoverController,this._activeIndex=-1,this._query="",this._open=!1,this._value="",this._defaultValue="",this.valueDirty=!1,this.settingDefaultValue=!1,this.reflectingDefaultValue=!1,this.suppressControlEvents=!1}get normalizedCatalog(){return normalizeCatalog(this.options.catalog())}get closedMode(){return this.normalizedCatalog.length>0&&!this.options.allowCustom()}get isReadonly(){return this.options.isReadonly()}get effectiveEntries(){return withSyntheticCatalogValue(this.normalizedCatalog,this._value)}get filteredEntries(){return filterCatalogEntries(this.effectiveEntries,this._query,this.options.locale(),this.options.searchableFields)}get visibleEntries(){return this.closedMode?this.effectiveEntries:this.filteredEntries}labelFor(id){return id?this.effectiveEntries.find(entry=>entry.id===id)?.label??id:""}get activeIndex(){return this._activeIndex}setActiveIndex(next){if(next===this._activeIndex)return;const old=this._activeIndex;this.options.beforeActiveIndexChange?.(next,old),this._activeIndex=next,this.options.onStateChange("activeIndex",old)}get query(){return this._query}setQuery(next){if(next===this._query)return;const old=this._query;this._query=next,this.options.afterQueryChange?.(next,old),this.options.onStateChange("query",old)}get open(){return this._open}setOpen(next){const liveDisabled=this.host.effectiveDisabled||typeof this.host.matches=="function"&&this.host.matches(":disabled"),resolved=!!next&&!liveDisabled;if(resolved===this._open){resolved||this.deactivateOverlay(!1),next&&!resolved&&this.host.hasAttribute("open")&&this.host.removeAttribute("open");return}const old=this._open;resolved||(this.setActiveIndex(-1),this.deactivateOverlay(!1)),this._open=resolved,this.options.onStateChange("open",old)}show(){!this._open&&!this.host.effectiveDisabled&&this.setOpen(!0)}hide(){this._open&&this.setOpen(!1)}get value(){return this._value}set value(next){const normalized=next??"";if(this.options.beforeValueChange?.(normalized,this._value),normalized===this._value){this.settingDefaultValue||(this.valueDirty=!0);return}const old=this._value;this.settingDefaultValue||(this.valueDirty=!0),this._value=normalized,this.options.onValueChange(normalized,old)}get defaultValue(){return this._defaultValue}set defaultValue(next){if(this.reflectingDefaultValue)return;const normalized=next??"",old=this._defaultValue;this._defaultValue=normalized,this.reflectDefaultValue(),this.valueDirty||this.restoreLiveValueFromDefault(),this.options.onDefaultValueChange(normalized,old)}resetValue(){this.restoreLiveValueFromDefault()}restoreState(state){this.value=typeof state=="string"?state:""}restoreLiveValueFromDefault(){this.settingDefaultValue=!0;try{this.value=this._defaultValue}finally{this.settingDefaultValue=!1}this.valueDirty=!1}reflectDefaultValue(){this.reflectingDefaultValue=!0;try{this._defaultValue?this.host.setAttribute("value",this._defaultValue):this.host.removeAttribute("value")}finally{this.reflectingDefaultValue=!1}}commitValue(next){if(this.isReadonly)return;const inCatalog=this.normalizedCatalog.some(entry=>entry.id===next);this.value=next,this.hide(),this.options.emitChange({value:next,inCatalog}),this.emitValueEvents()}emitValueEvents(){dispatchNativeEvent(this.host,"input"),dispatchNativeEvent(this.host,"change")}commitFreeText(){const active=this.filteredEntries[this._activeIndex],useActive=this._activeIndex>=0&&!!active&&active?.disabled!==!0;this.commitValue(useActive?active.id:this._query.trim())}selectEntry(entry){entry.disabled!==!0&&this.commitValue(entry.id)}reconcileRows(activeValue,rebaseQuery,clampMissing=!0){const rows=this.visibleEntries,remapped=activeValue?rows.findIndex(entry=>entry.id===activeValue):-1;this.setActiveIndex(remapped>=0?remapped:clampMissing?Math.min(this._activeIndex,Math.max(-1,rows.length-1)):-1),rebaseQuery&&this.setQuery(this.labelFor(this._value))}handleTriggerKeyDown(event){const rows=this.effectiveEntries;switch(event.key){case"ArrowDown":if(event.preventDefault(),!this._open)return this.show();this.setActiveIndex(stepEnabledIndex(rows,this._activeIndex,1));break;case"ArrowUp":if(event.preventDefault(),!this._open)return this.show();this.setActiveIndex(stepEnabledIndex(rows,this._activeIndex,-1));break;case"Enter":case" ":if(this._open){event.preventDefault();const active=rows[this._activeIndex];this._activeIndex>=0&&active?this.selectEntry(active):this.hide()}break;case"Home":this._open&&(event.preventDefault(),this.setActiveIndex(firstEnabledIndex(rows)));break;case"End":this._open&&(event.preventDefault(),this.setActiveIndex(lastEnabledIndex(rows)));break}}handleInputKeyDown(event){if(event.isComposing||event.keyCode===229)return;const rows=this.filteredEntries;switch(event.key){case"ArrowDown":if(event.preventDefault(),!this._open)return this.show();this.setActiveIndex(stepEnabledIndex(rows,this._activeIndex,1));break;case"ArrowUp":if(event.preventDefault(),!this._open)return this.show();this.setActiveIndex(stepEnabledIndex(rows,this._activeIndex,-1));break;case"Enter":this._open&&(event.preventDefault(),this.commitFreeText());break;case"Home":this._open&&(event.preventDefault(),this.setActiveIndex(firstEnabledIndex(rows)));break;case"End":this._open&&(event.preventDefault(),this.setActiveIndex(lastEnabledIndex(rows)));break}}handleInput(event){const input=event.currentTarget;if(input){if(this.isReadonly){input.value=this._open?this._query:this.labelFor(this._value),event.stopPropagation();return}this.setQuery(input.value),this.setActiveIndex(-1),this.show(),relayNativeEvent(this.host,event)}}handleInputFocus(event){if(this.suppressControlEvents){event.stopPropagation();return}this._open||this.setQuery(this.labelFor(this._value)),this.show(),this.handleControlFocus(event)}handleControlFocus(event){if(this.suppressControlEvents){event.stopPropagation();return}if(this.containsFocusTarget(event.relatedTarget)){event.stopPropagation();return}this.options.onControlFocus?.(event),relayNativeEvent(this.host,event)}handleControlBlur(event){if(this.suppressControlEvents){event.stopPropagation();return}if(this.containsFocusTarget(event.relatedTarget)){event.stopPropagation();return}this.options.onControlBlur?.(event),this.hide(),relayNativeEvent(this.host,event)}handleComboMouseDown(event){this.host.effectiveDisabled||event.composedPath()[0]!==this.input&&(event.preventDefault(),this.input?.focus())}handleListboxMouseDown(event){event.target.closest('[part="option"]')&&event.preventDefault()}handleListboxClick(event){if(this.host.effectiveDisabled)return;const value=event.target.closest('[part="option"]')?.dataset.value;if(value===void 0)return;const entry=this.visibleEntries.find(candidate=>candidate.id===value);entry&&this.selectEntry(entry)}get input(){return this.host.renderRoot?.querySelector('[part="combobox-input"]')??null}click(){if(this.host.effectiveDisabled)return;const trigger=this.host.renderRoot?.querySelector('[part="trigger"]');if(trigger){trigger.click();return}const input=this.input;this.options.forwardFreeInputClick&&input?.click(),input?.focus()}focus(options){if(this.host.effectiveDisabled)return;this.host.renderRoot?.querySelector('[part="trigger"], [part="combobox-input"]')?.focus(options)}blur(){this.host.renderRoot?.querySelector('[part="trigger"], [part="combobox-input"]')?.blur()}select(){this.input?.select()}setSelectionRange(start,end,direction){this.input?.setSelectionRange(start,end,direction)}setRangeText(replacement,start,end,selectMode){const input=this.input;input&&(start===void 0||end===void 0?input.setRangeText(replacement):input.setRangeText(replacement,start,end,selectMode),this.setQuery(input.value),this.setActiveIndex(-1),this.value=input.value)}connected(hasUpdated){hasUpdated&&this._open&&queueMicrotask(()=>this.syncPopup())}disconnected(){this.popupPosition.disconnect(),this.deactivateOverlay(!1),this.setOpen(!1)}adopted(){this.popupPosition.disconnect(),this.unbindDocumentPointer(),this.overlay?.suspend(),this._open&&queueMicrotask(()=>this.syncPopup())}updated(reposition){reposition&&this.syncPopup()}containsFocusTarget(target){if(this.options.containsFocusTarget)return this.options.containsFocusTarget(target);if(!target||typeof target.nodeType!="number")return!1;const node=target;return this.host.renderRoot.contains(node)||this.host.contains(node)}bindDocumentPointer(){if(!this.host.isConnected)return;const ownerDocument=this.host.ownerDocument;if(this.pointerListenerDocument===ownerDocument&&this.pointerListener)return;this.unbindDocumentPointer();const listener=event=>{this.pointerListener!==listener||this.pointerListenerDocument!==ownerDocument||!this.host.isConnected||this.host.ownerDocument!==ownerDocument||event.composedPath().includes(this.host)||this.overlay?.dismissBackdrop()};this.pointerListenerDocument=ownerDocument,this.pointerListener=listener,ownerDocument.addEventListener("pointerdown",listener)}unbindDocumentPointer(){this.pointerListenerDocument&&this.pointerListener&&this.pointerListenerDocument.removeEventListener("pointerdown",this.pointerListener),this.pointerListenerDocument=void 0,this.pointerListener=void 0}activatePopupOverlay(){if(this.overlay?.isActive()){this.overlay.resume();return}this.overlay=activateNonmodalOverlay({host:this.host,panel:()=>this.host.renderRoot.querySelector('[part="listbox"]')??null,onEscape:()=>this.dismissFromEscape(),onBackdrop:()=>this.hide()})}deactivateOverlay(restoreFocus){const overlay=this.overlay;this.overlay=void 0,overlay?.deactivate({restoreFocus}),this.unbindDocumentPointer()}dismissFromEscape(){this._open&&(this.closedMode||this.setQuery(this.labelFor(this._value)),this.deactivateOverlay(!0),this.setOpen(!1))}syncPopup(){if(this.popupPosition.disconnect(),!this._open||!this.host.isConnected){this.deactivateOverlay(!1);return}this.activatePopupOverlay(),this.bindDocumentPointer();const anchor=this.host.renderRoot.querySelector(this.closedMode?'[part="trigger"]':'[part="combobox"]'),listbox=this.host.renderRoot.querySelector('[part="listbox"]');anchor&&listbox&&this.popupPosition.reposition(anchor,listbox)}}export{CatalogPickerController,filterCatalogEntries,normalizeCatalog,withSyntheticCatalogValue};
@@ -50,6 +50,20 @@ flush():void;
50
50
  /** Discards any pending value with no callback. Leaves the controller usable for a later
51
51
  * `push()`. */
52
52
  cancel():void;
53
+ /**
54
+ * Like `cancel()`, but a no-op when `nextValue` matches the value currently pending -- the
55
+ * primitive a host's own external-write handler needs so a controlled-input rebind (a
56
+ * framework template writing back the exact value it just handed the control, on the very next
57
+ * render) cannot silently defeat an in-flight debounce. Nothing pending: identical to `cancel()`
58
+ * (already a no-op there). A `nextValue` that genuinely differs from the pending one still
59
+ * supersedes it, exactly as an unconditional `cancel()` always did -- an external replacement
60
+ * is still a real edit, not an echo.
61
+ *
62
+ * `equals` defaults to `Object.is` (`===` plus correct `NaN`/`-0` handling); a caller debouncing
63
+ * a non-primitive `T` (an object, a `Window`-keyed marker) supplies its own, matching whatever
64
+ * "same value" means for that `T`.
65
+ */
66
+ cancelIfChanged(nextValue:T,equals?:(a:T,b:T)=>boolean):void;
53
67
  /** Same as `cancel()`, plus permanently disables further `push()` calls. Call from
54
68
  * `disconnectedCallback()` so a timer already in flight can never settle into a torn-down
55
69
  * host, and so a lingering reference can't schedule a new one afterward. */
@@ -1 +1 @@
1
- const AMBIENT_TIMER_HOST={setTimeout:(handler,timeoutMs)=>setTimeout(handler,timeoutMs),clearTimeout:handle=>clearTimeout(handle)};class DebounceController{#timer;#timerHost;#generation=0;#pending=!1;#pendingValue;#disposed=!1;constructor(delayMs,onSettled,resolveTimerHost){this.delayMs=delayMs,this.onSettled=onSettled,this.resolveTimerHost=resolveTimerHost}get pending(){return this.#pending}get pendingValue(){return this.#pendingValue}push(value){if(this.#disposed)return;this.#pending=!0,this.#pendingValue=value,this.#retireTimer();const generation=this.#generation,host=this.resolveTimerHost?.()??AMBIENT_TIMER_HOST;this.#timerHost=host,this.#timer=host.setTimeout(()=>{generation===this.#generation&&(this.#forgetTimer(),this.#settle())},this.delayMs)}flush(){this.#pending&&(this.#retireTimer(),this.#settle())}cancel(){this.#retireTimer(),this.#pending=!1,this.#pendingValue=void 0}dispose(){this.cancel(),this.#disposed=!0}#retireTimer(){this.#timer!==void 0&&this.#timerHost?.clearTimeout(this.#timer),this.#forgetTimer()}#forgetTimer(){this.#generation+=1,this.#timer=void 0,this.#timerHost=void 0}#settle(){this.#pending=!1;const value=this.#pendingValue;this.#pendingValue=void 0,this.onSettled(value)}}export{DebounceController};
1
+ const AMBIENT_TIMER_HOST={setTimeout:(handler,timeoutMs)=>setTimeout(handler,timeoutMs),clearTimeout:handle=>clearTimeout(handle)};class DebounceController{#timer;#timerHost;#generation=0;#pending=!1;#pendingValue;#disposed=!1;constructor(delayMs,onSettled,resolveTimerHost){this.delayMs=delayMs,this.onSettled=onSettled,this.resolveTimerHost=resolveTimerHost}get pending(){return this.#pending}get pendingValue(){return this.#pendingValue}push(value){if(this.#disposed)return;this.#pending=!0,this.#pendingValue=value,this.#retireTimer();const generation=this.#generation,host=this.resolveTimerHost?.()??AMBIENT_TIMER_HOST;this.#timerHost=host,this.#timer=host.setTimeout(()=>{generation===this.#generation&&(this.#forgetTimer(),this.#settle())},this.delayMs)}flush(){this.#pending&&(this.#retireTimer(),this.#settle())}cancel(){this.#retireTimer(),this.#pending=!1,this.#pendingValue=void 0}cancelIfChanged(nextValue,equals=Object.is){this.#pending&&equals(this.#pendingValue,nextValue)||this.cancel()}dispose(){this.cancel(),this.#disposed=!0}#retireTimer(){this.#timer!==void 0&&this.#timerHost?.clearTimeout(this.#timer),this.#forgetTimer()}#forgetTimer(){this.#generation+=1,this.#timer=void 0,this.#timerHost=void 0}#settle(){this.#pending=!1;const value=this.#pendingValue;this.#pendingValue=void 0,this.onSettled(value)}}export{DebounceController};