@aceshooting/lyra-ui 9.1.0 → 10.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (622) hide show
  1. package/CHANGELOG.md +843 -0
  2. package/README.md +7 -0
  3. package/custom-elements.json +1 -1
  4. package/dist/cli/migrate-wa.mjs +52 -0
  5. package/dist/cli/migration-contract.json +1 -1
  6. package/dist/components/agent-tools/activity-feed/activity-feed.class.js +2 -2
  7. package/dist/components/agent-tools/activity-feed/activity-feed.styles.js +0 -16
  8. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js +1 -1
  9. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.styles.js +9 -7
  10. package/dist/components/agent-tools/agent-run/agent-run.class.js +2 -2
  11. package/dist/components/agent-tools/agent-run/agent-run.styles.js +0 -13
  12. package/dist/components/agent-tools/agent-trace/agent-trace.class.js +1 -1
  13. package/dist/components/agent-tools/agent-trace/agent-trace.styles.js +7 -4
  14. package/dist/components/agent-tools/approval-queue/approval-queue.styles.js +7 -5
  15. package/dist/components/agent-tools/artifact-panel/artifact-panel.styles.js +0 -3
  16. package/dist/components/agent-tools/browser-frame/browser-frame.class.js +1 -1
  17. package/dist/components/agent-tools/browser-frame/browser-frame.styles.js +3 -5
  18. package/dist/components/agent-tools/commit-card/commit-card.class.js +1 -1
  19. package/dist/components/agent-tools/commit-card/commit-card.styles.js +0 -10
  20. package/dist/components/agent-tools/compare-panel/compare-panel.styles.js +11 -6
  21. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
  22. package/dist/components/agent-tools/confirm-bar/confirm-bar.styles.js +0 -46
  23. package/dist/components/agent-tools/context-inspector/context-inspector.class.js +1 -1
  24. package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +0 -7
  25. package/dist/components/agent-tools/eval-result/eval-result.class.js +1 -1
  26. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +2 -2
  27. package/dist/components/agent-tools/policy-summary/policy-summary.class.js +1 -1
  28. package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.js +0 -15
  29. package/dist/components/agent-tools/result-card/result-card.styles.js +0 -7
  30. package/dist/components/agent-tools/result-card/result-field.styles.js +0 -5
  31. package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.js +2 -5
  32. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +1 -1
  33. package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +0 -15
  34. package/dist/components/agent-tools/stack-trace/stack-trace.styles.js +0 -20
  35. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +2 -2
  36. package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.js +1 -4
  37. package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
  38. package/dist/components/agent-tools/task-list/task-list.styles.js +0 -15
  39. package/dist/components/agent-tools/terminal/terminal.class.d.ts +11 -6
  40. package/dist/components/agent-tools/terminal/terminal.class.js +4 -4
  41. package/dist/components/agent-tools/terminal/terminal.styles.js +0 -46
  42. package/dist/components/agent-tools/test-results/test-results.class.js +2 -2
  43. package/dist/components/agent-tools/test-results/test-results.styles.js +0 -5
  44. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js +1 -1
  45. package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +0 -41
  46. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.styles.js +0 -41
  47. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +2 -2
  48. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js +0 -30
  49. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +6 -6
  50. package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.js +0 -5
  51. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.js +2 -2
  52. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +0 -20
  53. package/dist/components/agent-tools/tool-result-view/tool-result-view.styles.js +0 -4
  54. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.styles.js +0 -21
  55. package/dist/components/agent-tools/trace-tree/trace-tree.class.js +2 -2
  56. package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +7 -31
  57. package/dist/components/charts/chart/bar-chart.class.js +1 -1
  58. package/dist/components/charts/chart/box-plot.styles.js +0 -20
  59. package/dist/components/charts/chart/bubble-chart.class.js +1 -1
  60. package/dist/components/charts/chart/chart-colors.d.ts +1 -1
  61. package/dist/components/charts/chart/chart-colors.js +1 -1
  62. package/dist/components/charts/chart/chart-core-loader.d.ts +1 -0
  63. package/dist/components/charts/chart/chart-core-loader.js +1 -1
  64. package/dist/components/charts/chart/chart-feature-loader.d.ts +35 -0
  65. package/dist/components/charts/chart/chart-feature-loader.js +1 -1
  66. package/dist/components/charts/chart/chart.class.d.ts +93 -0
  67. package/dist/components/charts/chart/chart.class.js +3 -3
  68. package/dist/components/charts/chart/chart.styles.js +0 -27
  69. package/dist/components/charts/chart/doughnut-chart.class.js +1 -1
  70. package/dist/components/charts/chart/histogram.class.js +1 -1
  71. package/dist/components/charts/chart/line-chart.class.js +1 -1
  72. package/dist/components/charts/chart/lite-chart.class.d.ts +20 -1
  73. package/dist/components/charts/chart/lite-chart.class.js +4 -4
  74. package/dist/components/charts/chart/lite-chart.styles.js +0 -27
  75. package/dist/components/charts/chart/pie-chart.class.js +1 -1
  76. package/dist/components/charts/chart/polar-area-chart.class.js +1 -1
  77. package/dist/components/charts/chart/radar-chart.class.js +1 -1
  78. package/dist/components/charts/chart/scatter-chart.class.js +1 -1
  79. package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +20 -0
  80. package/dist/components/conversation/agent-workspace/agent-workspace.class.js +3 -1
  81. package/dist/components/conversation/agent-workspace/agent-workspace.styles.js +3 -0
  82. package/dist/components/conversation/audio-visualizer/audio-visualizer.styles.js +0 -7
  83. package/dist/components/conversation/branch-picker/branch-picker.styles.js +0 -3
  84. package/dist/components/conversation/chat-composer/chat-composer.styles.js +0 -51
  85. package/dist/components/conversation/chat-message/chat-message.class.js +2 -2
  86. package/dist/components/conversation/chat-message/chat-message.styles.js +13 -35
  87. package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
  88. package/dist/components/conversation/chat-viewport/chat-viewport.styles.js +0 -33
  89. package/dist/components/conversation/checkpoint/checkpoint.class.js +1 -1
  90. package/dist/components/conversation/checkpoint/checkpoint.styles.js +0 -3
  91. package/dist/components/conversation/code-block/code-block-shared.d.ts +5 -2
  92. package/dist/components/conversation/code-block/code-block.class.js +1 -1
  93. package/dist/components/conversation/code-block/code-block.styles.js +4 -95
  94. package/dist/components/conversation/code-block/code-loader.d.ts +11 -0
  95. package/dist/components/conversation/code-block/code-loader.js +1 -1
  96. package/dist/components/conversation/code-block/shiki-types.d.ts +12 -0
  97. package/dist/components/conversation/code-block/shiki-types.js +1 -1
  98. package/dist/components/conversation/conversation-item/conversation-item.styles.js +8 -54
  99. package/dist/components/conversation/generation-metrics/generation-metrics.class.js +2 -2
  100. package/dist/components/conversation/generation-metrics/generation-metrics.styles.js +0 -17
  101. package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
  102. package/dist/components/conversation/markdown/markdown.styles.js +0 -41
  103. package/dist/components/conversation/message-actions/message-actions.styles.js +0 -3
  104. package/dist/components/conversation/message-feedback/message-feedback.styles.js +0 -35
  105. package/dist/components/conversation/message-parts/message-parts.class.d.ts +1 -1
  106. package/dist/components/conversation/message-parts/message-parts.styles.js +0 -5
  107. package/dist/components/conversation/model-select/model-select.class.js +3 -3
  108. package/dist/components/conversation/model-select/model-select.styles.js +12 -47
  109. package/dist/components/conversation/model-settings-panel/model-settings-panel.styles.js +0 -6
  110. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +3 -0
  111. package/dist/components/conversation/prompt-input/prompt-input.styles.js +0 -10
  112. package/dist/components/conversation/push-to-talk/push-to-talk.styles.js +0 -8
  113. package/dist/components/conversation/realtime-session/realtime-session.styles.js +1 -1
  114. package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.js +1 -11
  115. package/dist/components/conversation/stream-status/stream-status.styles.js +0 -16
  116. package/dist/components/conversation/streaming-text/streaming-text.styles.js +0 -15
  117. package/dist/components/conversation/suggestion-chips/suggestion-chips.styles.js +0 -5
  118. package/dist/components/conversation/thread-list/thread-list.styles.js +5 -19
  119. package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +16 -4
  120. package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
  121. package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +0 -1
  122. package/dist/components/conversation/typing-indicator/typing-indicator.styles.js +0 -23
  123. package/dist/components/conversation/usage-badge/usage-badge.class.js +1 -1
  124. package/dist/components/conversation/usage-badge/usage-badge.styles.js +0 -3
  125. package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -3
  126. package/dist/components/conversation/voice-picker/voice-picker.styles.js +9 -29
  127. package/dist/components/conversation/widget-renderer/resolve.d.ts +2 -0
  128. package/dist/components/conversation/widget-renderer/resolve.js +1 -1
  129. package/dist/components/data/calendar/calendar.class.d.ts +15 -2
  130. package/dist/components/data/calendar/calendar.class.js +2 -2
  131. package/dist/components/data/calendar/calendar.styles.js +2 -28
  132. package/dist/components/data/condition-builder/condition-builder.class.d.ts +10 -6
  133. package/dist/components/data/condition-builder/condition-builder.class.js +2 -2
  134. package/dist/components/data/condition-builder/condition-builder.styles.js +0 -6
  135. package/dist/components/data/context-meter/context-meter.styles.js +0 -24
  136. package/dist/components/data/data-grid/data-grid.class.js +3 -3
  137. package/dist/components/data/data-grid/data-grid.styles.js +0 -22
  138. package/dist/components/data/document-library/document-library.class.js +2 -2
  139. package/dist/components/data/document-library/document-library.styles.js +0 -4
  140. package/dist/components/data/env-list/env-list.class.js +1 -1
  141. package/dist/components/data/env-list/env-list.styles.js +7 -4
  142. package/dist/components/data/file-tree/file-tree.class.d.ts +12 -0
  143. package/dist/components/data/file-tree/file-tree.class.js +1 -1
  144. package/dist/components/data/flow-canvas/flow-canvas.styles.js +12 -19
  145. package/dist/components/data/flow-controls/flow-controls.class.js +2 -2
  146. package/dist/components/data/flow-controls/flow-controls.styles.js +3 -36
  147. package/dist/components/data/flow-minimap/flow-minimap.class.js +1 -1
  148. package/dist/components/data/flow-minimap/flow-minimap.styles.js +0 -9
  149. package/dist/components/data/flow-node/flow-node.styles.js +0 -23
  150. package/dist/components/data/flow-run-status/flow-run-status.class.js +1 -1
  151. package/dist/components/data/flow-run-status/flow-run-status.styles.js +0 -7
  152. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +0 -7
  153. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
  154. package/dist/components/data/graph-query-builder/graph-query-builder.styles.js +0 -10
  155. package/dist/components/data/heatmap/heatmap-scale.d.ts +20 -0
  156. package/dist/components/data/heatmap/heatmap-scale.js +1 -1
  157. package/dist/components/data/heatmap/heatmap.class.d.ts +85 -2
  158. package/dist/components/data/heatmap/heatmap.class.js +2 -2
  159. package/dist/components/data/heatmap/heatmap.styles.js +0 -54
  160. package/dist/components/data/pagination/pagination.class.js +1 -1
  161. package/dist/components/data/pagination/pagination.styles.js +23 -46
  162. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +34 -1
  163. package/dist/components/data/sequence-strip/sequence-strip.class.js +5 -2
  164. package/dist/components/data/sequence-strip/sequence-strip.styles.js +14 -20
  165. package/dist/components/data/sparkline/sparkline.class.js +1 -1
  166. package/dist/components/data/stat/stat.styles.js +0 -67
  167. package/dist/components/data/table/table.class.d.ts +42 -3
  168. package/dist/components/data/table/table.class.js +4 -4
  169. package/dist/components/data/table/table.styles.js +20 -91
  170. package/dist/components/data/timeline/timeline-item.styles.js +0 -30
  171. package/dist/components/data/timeline/timeline.class.d.ts +89 -1
  172. package/dist/components/data/timeline/timeline.class.js +2 -2
  173. package/dist/components/data/timeline/timeline.styles.js +111 -31
  174. package/dist/components/data/tree/tree-item.styles.js +1 -28
  175. package/dist/components/data/tree/tree.class.js +2 -2
  176. package/dist/components/data/tree/tree.styles.js +0 -6
  177. package/dist/components/data/word-cloud/word-cloud.styles.js +0 -5
  178. package/dist/components/forms/button/button.class.js +1 -1
  179. package/dist/components/forms/button/button.styles.js +1 -106
  180. package/dist/components/forms/checkbox/checkbox.class.d.ts +3 -0
  181. package/dist/components/forms/checkbox/checkbox.class.js +1 -1
  182. package/dist/components/forms/checkbox/checkbox.styles.js +0 -39
  183. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +21 -2
  184. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  185. package/dist/components/forms/checkbox-group/checkbox-group.styles.js +0 -18
  186. package/dist/components/forms/code-editor/code-editor.styles.js +0 -30
  187. package/dist/components/forms/color-picker/color-picker.class.js +2 -2
  188. package/dist/components/forms/color-picker/color-picker.styles.js +0 -69
  189. package/dist/components/forms/combobox/combobox.class.js +2 -2
  190. package/dist/components/forms/combobox/combobox.styles.js +22 -111
  191. package/dist/components/forms/combobox/option.styles.js +7 -1
  192. package/dist/components/forms/date-picker/date-input.class.js +1 -1
  193. package/dist/components/forms/date-picker/date-input.styles.js +12 -67
  194. package/dist/components/forms/date-picker/date-picker.class.d.ts +1 -0
  195. package/dist/components/forms/date-picker/date-picker.class.js +22 -20
  196. package/dist/components/forms/date-picker/date-picker.styles.js +36 -29
  197. package/dist/components/forms/emoji-picker/emoji-data-loader.d.ts +6 -3
  198. package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
  199. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +8 -1
  200. package/dist/components/forms/emoji-picker/emoji-picker.class.js +1 -1
  201. package/dist/components/forms/emoji-picker/emoji-picker.styles.js +3 -41
  202. package/dist/components/forms/icon-button/icon-button.class.js +1 -1
  203. package/dist/components/forms/icon-button/icon-button.styles.js +0 -16
  204. package/dist/components/forms/input/input.styles.js +0 -54
  205. package/dist/components/forms/input/number-input.styles.d.ts +4 -5
  206. package/dist/components/forms/input/number-input.styles.js +0 -11
  207. package/dist/components/forms/input/time-input-shared.d.ts +11 -0
  208. package/dist/components/forms/input/time-input-shared.js +1 -1
  209. package/dist/components/forms/input/time-input.class.d.ts +11 -2
  210. package/dist/components/forms/input/time-input.class.js +1 -1
  211. package/dist/components/forms/input/time-input.styles.js +0 -6
  212. package/dist/components/forms/locale-picker/locale-picker.class.js +2 -2
  213. package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -26
  214. package/dist/components/forms/otp-input/otp-input.class.js +3 -3
  215. package/dist/components/forms/otp-input/otp-input.styles.js +0 -16
  216. package/dist/components/forms/phone-input/phone-input.class.d.ts +9 -1
  217. package/dist/components/forms/phone-input/phone-input.class.js +2 -2
  218. package/dist/components/forms/phone-input/phone-input.styles.js +0 -37
  219. package/dist/components/forms/radio/radio-button.styles.js +1 -30
  220. package/dist/components/forms/radio/radio-group.styles.js +0 -4
  221. package/dist/components/forms/radio/radio.styles.js +0 -44
  222. package/dist/components/forms/rubric-form/rubric-form.styles.js +0 -5
  223. package/dist/components/forms/select/select.class.js +1 -1
  224. package/dist/components/forms/select/select.styles.js +14 -114
  225. package/dist/components/forms/slider/slider.styles.js +0 -55
  226. package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +0 -11
  227. package/dist/components/forms/swatch-picker/swatch-picker.class.js +2 -2
  228. package/dist/components/forms/swatch-picker/swatch-picker.styles.js +0 -77
  229. package/dist/components/forms/switch/switch.class.d.ts +3 -0
  230. package/dist/components/forms/switch/switch.class.js +1 -1
  231. package/dist/components/forms/switch/switch.styles.js +3 -38
  232. package/dist/components/forms/textarea/textarea.styles.js +0 -28
  233. package/dist/components/forms/time-range/time-range.styles.js +12 -84
  234. package/dist/components/forms/token-input/token-input.class.d.ts +23 -9
  235. package/dist/components/forms/token-input/token-input.class.js +1 -1
  236. package/dist/components/forms/token-input/token-input.styles.js +1 -54
  237. package/dist/components/layout/app-rail/app-rail-item.class.js +2 -2
  238. package/dist/components/layout/app-rail/app-rail-item.styles.js +0 -13
  239. package/dist/components/layout/app-rail/app-rail.class.d.ts +5 -0
  240. package/dist/components/layout/app-rail/app-rail.class.js +1 -1
  241. package/dist/components/layout/app-rail/app-rail.styles.js +0 -46
  242. package/dist/components/layout/button-group/button-group.styles.js +0 -6
  243. package/dist/components/layout/card/card.class.d.ts +12 -0
  244. package/dist/components/layout/card/card.styles.js +5 -13
  245. package/dist/components/layout/carousel/carousel.styles.js +0 -1
  246. package/dist/components/layout/command-palette/command-palette.class.d.ts +8 -0
  247. package/dist/components/layout/command-palette/command-palette.class.js +3 -1
  248. package/dist/components/layout/command-palette/command-palette.styles.js +1 -13
  249. package/dist/components/layout/control-group/control-group.styles.js +0 -7
  250. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +1 -1
  251. package/dist/components/layout/dashboard-grid/dashboard-grid.styles.js +6 -25
  252. package/dist/components/layout/details/accordion.class.d.ts +13 -0
  253. package/dist/components/layout/details/accordion.class.js +1 -1
  254. package/dist/components/layout/details/details.class.js +1 -1
  255. package/dist/components/layout/details/details.styles.js +0 -12
  256. package/dist/components/layout/dock-panel/dock-panel.styles.js +0 -45
  257. package/dist/components/layout/drilldown-panel/drilldown-panel.class.d.ts +2 -0
  258. package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +2 -2
  259. package/dist/components/layout/drilldown-panel/drilldown-panel.styles.js +0 -4
  260. package/dist/components/layout/filter-bar/filter-bar.class.js +1 -1
  261. package/dist/components/layout/filter-bar/filter-bar.styles.js +0 -9
  262. package/dist/components/layout/menu/menu-item.class.d.ts +5 -0
  263. package/dist/components/layout/menu/menu-item.class.js +1 -1
  264. package/dist/components/layout/menu/menu-item.styles.js +0 -49
  265. package/dist/components/layout/menu/menu-label.styles.js +0 -2
  266. package/dist/components/layout/menu/menu.styles.js +0 -18
  267. package/dist/components/layout/multi-split/multi-split.class.js +1 -1
  268. package/dist/components/layout/multi-split/multi-split.styles.js +8 -51
  269. package/dist/components/layout/page/page.class.d.ts +4 -0
  270. package/dist/components/layout/page/page.class.js +1 -1
  271. package/dist/components/layout/reorder-list/reorder-item.styles.js +0 -4
  272. package/dist/components/layout/responsive-panel/responsive-panel.styles.js +0 -27
  273. package/dist/components/layout/scroller/scroller.styles.js +0 -20
  274. package/dist/components/layout/segmented/segmented.class.d.ts +7 -1
  275. package/dist/components/layout/segmented/segmented.class.js +1 -1
  276. package/dist/components/layout/segmented/segmented.styles.js +69 -37
  277. package/dist/components/layout/split-panel/split-panel.styles.js +1 -7
  278. package/dist/components/layout/stepper/stepper.class.d.ts +8 -1
  279. package/dist/components/layout/stepper/stepper.class.js +1 -1
  280. package/dist/components/layout/stepper/stepper.styles.js +140 -41
  281. package/dist/components/layout/tab-group/tab-group.class.d.ts +4 -1
  282. package/dist/components/layout/tab-group/tab-group.styles.js +9 -75
  283. package/dist/components/layout/tab-group/tab.styles.js +0 -2
  284. package/dist/components/layout/virtual-list/virtual-list.class.d.ts +4 -4
  285. package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
  286. package/dist/components/layout/virtual-list/virtual-list.styles.js +0 -68
  287. package/dist/components/layout/widget/widget.class.d.ts +5 -1
  288. package/dist/components/layout/widget/widget.class.js +1 -1
  289. package/dist/components/layout/widget/widget.styles.js +97 -40
  290. package/dist/components/media/animated-image/animated-image.class.d.ts +3 -0
  291. package/dist/components/media/animated-image/animated-image.class.js +1 -1
  292. package/dist/components/media/animated-image/animated-image.styles.js +0 -28
  293. package/dist/components/media/attachment-chip/attachment-chip.class.d.ts +1 -1
  294. package/dist/components/media/attachment-chip/attachment-chip.class.js +2 -2
  295. package/dist/components/media/attachment-chip/attachment-chip.styles.js +0 -31
  296. package/dist/components/media/attachment-trigger/attachment-trigger.class.d.ts +1 -1
  297. package/dist/components/media/attachment-trigger/attachment-trigger.class.js +4 -4
  298. package/dist/components/media/attachment-trigger/attachment-trigger.styles.js +0 -40
  299. package/dist/components/media/av-player/av-player.class.d.ts +5 -6
  300. package/dist/components/media/av-player/av-player.class.js +1 -1
  301. package/dist/components/media/av-player/av-player.styles.js +0 -45
  302. package/dist/components/media/avatar/avatar.styles.js +3 -16
  303. package/dist/components/media/file-icon/file-icon.class.d.ts +1 -2
  304. package/dist/components/media/file-icon/file-icon.class.js +1 -1
  305. package/dist/components/media/file-input/file-input.class.d.ts +12 -0
  306. package/dist/components/media/file-input/file-input.class.js +1 -1
  307. package/dist/components/media/file-input/file-input.styles.js +3 -24
  308. package/dist/components/media/flag/flag.class.d.ts +20 -0
  309. package/dist/components/media/flag/flag.class.js +4 -2
  310. package/dist/components/media/flag/flag.styles.js +7 -1
  311. package/dist/components/media/flag/language-map.d.ts +10 -0
  312. package/dist/components/media/flag/language-map.js +1 -1
  313. package/dist/components/media/image-comparer/image-comparer.styles.js +4 -33
  314. package/dist/components/media/image-viewer/image-viewer.class.js +0 -2
  315. package/dist/components/media/image-viewer/image-viewer.styles.js +7 -27
  316. package/dist/components/media/lightbox/lightbox.class.js +0 -2
  317. package/dist/components/media/lightbox/lightbox.styles.js +2 -21
  318. package/dist/components/media/map/map-loader.d.ts +19 -1
  319. package/dist/components/media/map/map-loader.js +1 -1
  320. package/dist/components/media/map/map.class.d.ts +141 -1
  321. package/dist/components/media/map/map.class.js +15 -3
  322. package/dist/components/media/map/map.styles.js +20 -17
  323. package/dist/components/media/media-card/media-card.class.d.ts +14 -3
  324. package/dist/components/media/media-card/media-card.class.js +1 -1
  325. package/dist/components/media/media-card/media-card.styles.js +2 -28
  326. package/dist/components/media/pan-zoom/pan-zoom.styles.js +0 -3
  327. package/dist/components/media/qr-code/qr-code.class.d.ts +3 -2
  328. package/dist/components/media/qr-code/qr-code.class.js +2 -2
  329. package/dist/components/media/qr-code/qr-code.styles.js +0 -3
  330. package/dist/components/media/sequence-playback/sequence-playback.class.d.ts +2 -0
  331. package/dist/components/media/sequence-playback/sequence-playback.class.js +2 -1
  332. package/dist/components/media/sequence-playback/sequence-playback.styles.js +0 -19
  333. package/dist/components/media/video/video.class.d.ts +23 -2
  334. package/dist/components/media/video/video.class.js +3 -3
  335. package/dist/components/media/video/video.styles.js +4 -2
  336. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +3 -2
  337. package/dist/components/media/zoomable-frame/zoomable-frame.class.js +2 -2
  338. package/dist/components/media/zoomable-frame/zoomable-frame.styles.js +0 -5
  339. package/dist/components/overlays/alert/alert.styles.js +4 -2
  340. package/dist/components/overlays/badge/badge.styles.js +4 -48
  341. package/dist/components/overlays/badge/tag.styles.js +0 -14
  342. package/dist/components/overlays/callout/callout.styles.js +2 -13
  343. package/dist/components/overlays/chip/chip-group.styles.js +0 -18
  344. package/dist/components/overlays/chip/chip.styles.js +6 -69
  345. package/dist/components/overlays/dialog/confirm.d.ts +1 -4
  346. package/dist/components/overlays/dialog/confirm.js +1 -1
  347. package/dist/components/overlays/dialog/dialog.class.d.ts +12 -9
  348. package/dist/components/overlays/dialog/dialog.class.js +1 -1
  349. package/dist/components/overlays/dialog/dialog.styles.js +0 -43
  350. package/dist/components/overlays/drawer/drawer.class.d.ts +2 -2
  351. package/dist/components/overlays/drawer/drawer.styles.js +0 -9
  352. package/dist/components/overlays/empty/empty.styles.js +0 -12
  353. package/dist/components/overlays/kbd/kbd.class.js +1 -1
  354. package/dist/components/overlays/kbd/kbd.styles.js +0 -8
  355. package/dist/components/overlays/overlay/dropdown.class.d.ts +1 -6
  356. package/dist/components/overlays/overlay/dropdown.class.js +2 -2
  357. package/dist/components/overlays/overlay/overlay.styles.js +0 -28
  358. package/dist/components/overlays/overlay/popover.class.d.ts +9 -1
  359. package/dist/components/overlays/overlay/popover.class.js +2 -2
  360. package/dist/components/overlays/overlay/tooltip.class.d.ts +10 -0
  361. package/dist/components/overlays/overlay/tooltip.class.js +2 -2
  362. package/dist/components/overlays/popup/popup.class.d.ts +1 -0
  363. package/dist/components/overlays/popup/popup.class.js +2 -2
  364. package/dist/components/overlays/popup/popup.styles.js +0 -15
  365. package/dist/components/overlays/progress/progress-ring.class.d.ts +9 -1
  366. package/dist/components/overlays/progress/progress-ring.class.js +3 -3
  367. package/dist/components/overlays/progress/progress.styles.js +0 -21
  368. package/dist/components/overlays/rating/rating.styles.js +0 -25
  369. package/dist/components/overlays/skeleton/skeleton.styles.js +0 -4
  370. package/dist/components/overlays/spinner/spinner.styles.js +2 -5
  371. package/dist/components/overlays/toast/toast-item.styles.js +3 -45
  372. package/dist/components/retrieval/chunk-inspector/chunk-inspector.styles.js +0 -35
  373. package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +2 -2
  374. package/dist/components/retrieval/citation-badge/citation-badge.class.js +3 -3
  375. package/dist/components/retrieval/citation-badge/citation-badge.styles.js +0 -20
  376. package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +1 -1
  377. package/dist/components/retrieval/claim-evidence/claim-evidence.styles.js +0 -8
  378. package/dist/components/retrieval/community-card/community-card.class.d.ts +1 -0
  379. package/dist/components/retrieval/community-card/community-card.styles.js +0 -6
  380. package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +8 -12
  381. package/dist/components/retrieval/entity-card/entity-card.class.d.ts +4 -3
  382. package/dist/components/retrieval/entity-card/entity-card.class.js +1 -1
  383. package/dist/components/retrieval/entity-card/entity-card.styles.js +0 -12
  384. package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +10 -4
  385. package/dist/components/retrieval/entity-chip/entity-chip.class.js +3 -3
  386. package/dist/components/retrieval/entity-chip/entity-chip.styles.js +6 -9
  387. package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts +19 -5
  388. package/dist/components/retrieval/entity-dossier/entity-dossier.class.js +1 -1
  389. package/dist/components/retrieval/graph/graph.class.d.ts +5 -0
  390. package/dist/components/retrieval/graph/graph.class.js +1 -1
  391. package/dist/components/retrieval/graph/graph.styles.js +0 -30
  392. package/dist/components/retrieval/graph-legend/graph-legend.styles.js +0 -3
  393. package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +2 -2
  394. package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.js +0 -25
  395. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +2 -0
  396. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +0 -7
  397. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +20 -6
  398. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +2 -2
  399. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +6 -11
  400. package/dist/components/retrieval/memory-panel/memory-panel.class.js +1 -1
  401. package/dist/components/retrieval/mind-map/mind-map.class.d.ts +5 -3
  402. package/dist/components/retrieval/mind-map/mind-map.class.js +1 -1
  403. package/dist/components/retrieval/mind-map/mind-map.styles.js +0 -2
  404. package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts +3 -2
  405. package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +1 -1
  406. package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +0 -30
  407. package/dist/components/retrieval/node-palette/node-palette.styles.js +0 -11
  408. package/dist/components/retrieval/path-strip/path-strip.styles.js +0 -10
  409. package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts +12 -3
  410. package/dist/components/retrieval/provenance-panel/provenance-panel.class.js +1 -1
  411. package/dist/components/retrieval/provenance-panel/provenance-panel.styles.js +0 -2
  412. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +3 -2
  413. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +2 -2
  414. package/dist/components/retrieval/retrieval-results/retrieval-results.styles.js +0 -28
  415. package/dist/components/retrieval/retrieval-search/retrieval-search.styles.js +0 -4
  416. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +1 -1
  417. package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.js +0 -2
  418. package/dist/components/retrieval/source-card/source-card.styles.js +0 -13
  419. package/dist/components/retrieval/source-list/source-list.styles.js +0 -7
  420. package/dist/components/retrieval/source-picker/source-picker.class.js +1 -1
  421. package/dist/components/retrieval/source-picker/source-picker.styles.js +0 -7
  422. package/dist/components/utility/copy-button/copy-button.styles.js +0 -10
  423. package/dist/components/utility/diff-view/diff-view.styles.js +0 -14
  424. package/dist/components/utility/export-button/export-button.styles.js +0 -22
  425. package/dist/components/utility/icon/icon.styles.js +0 -6
  426. package/dist/components/utility/json-viewer/json-viewer.styles.js +2 -48
  427. package/dist/components/utility/known-date/known-date.class.d.ts +7 -3
  428. package/dist/components/utility/known-date/known-date.styles.js +10 -51
  429. package/dist/components/utility/live-region/live-region.styles.js +0 -4
  430. package/dist/components/utility/mention-popover/mention-popover.styles.js +0 -25
  431. package/dist/components/utility/poll-status/poll-status.styles.js +0 -4
  432. package/dist/components/utility/random-content/random-content.class.d.ts +22 -0
  433. package/dist/components/utility/random-content/random-content.class.js +3 -2
  434. package/dist/components/utility/random-content/random-content.styles.js +6 -13
  435. package/dist/components/utility/tour/tour.class.d.ts +4 -2
  436. package/dist/components/utility/tour/tour.class.js +3 -3
  437. package/dist/components/utility/tour/tour.styles.js +0 -13
  438. package/dist/components/utility/visually-hidden/visually-hidden.styles.js +0 -5
  439. package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
  440. package/dist/components/viewers/archive-viewer/archive-viewer.styles.d.ts +2 -2
  441. package/dist/components/viewers/archive-viewer/archive-viewer.styles.js +0 -10
  442. package/dist/components/viewers/contact-viewer/contact-viewer.class.js +1 -1
  443. package/dist/components/viewers/csv-viewer/csv-viewer.class.js +1 -1
  444. package/dist/components/viewers/csv-viewer/csv-viewer.styles.js +0 -19
  445. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +1 -1
  446. package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +0 -15
  447. package/dist/components/viewers/document-compare/document-compare.class.js +1 -1
  448. package/dist/components/viewers/document-compare/document-compare.styles.js +0 -3
  449. package/dist/components/viewers/document-preview/document-preview.styles.js +0 -25
  450. package/dist/components/viewers/document-viewer/document-viewer.class.d.ts +2 -1
  451. package/dist/components/viewers/document-viewer/document-viewer.class.js +1 -1
  452. package/dist/components/viewers/document-viewer/document-viewer.styles.js +0 -5
  453. package/dist/components/viewers/docx-viewer/docx-viewer.styles.js +0 -17
  454. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +1 -1
  455. package/dist/components/viewers/ebook-viewer/ebook-viewer.styles.js +0 -4
  456. package/dist/components/viewers/email-viewer/email-viewer.styles.js +0 -7
  457. package/dist/components/viewers/geojson-view/geojson-view.styles.js +0 -5
  458. package/dist/components/viewers/highlight-layer/highlight-layer.styles.js +0 -3
  459. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +1 -1
  460. package/dist/components/viewers/notebook-viewer/notebook-viewer.styles.js +0 -38
  461. package/dist/components/viewers/page-rail/page-rail.class.js +1 -1
  462. package/dist/components/viewers/page-rail/page-rail.styles.js +0 -13
  463. package/dist/components/viewers/pdf-viewer/pdf-loader.d.ts +13 -2
  464. package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
  465. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +32 -2
  466. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +4 -4
  467. package/dist/components/viewers/pdf-viewer/pdf-viewer.styles.js +1 -27
  468. package/dist/components/viewers/pptx-viewer/pptx-viewer.styles.js +0 -3
  469. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +1 -1
  470. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.js +0 -14
  471. package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +0 -7
  472. package/dist/components/viewers/xml-viewer/xml-viewer.styles.js +2 -24
  473. package/dist/custom-elements-jsx.d.ts +56 -37
  474. package/dist/events.d.ts +43 -33
  475. package/dist/internal/agent-status-variants.d.ts +18 -0
  476. package/dist/internal/agent-status-variants.js +1 -0
  477. package/dist/internal/announcer.d.ts +8 -3
  478. package/dist/internal/announcer.js +1 -1
  479. package/dist/internal/autoloader-manifest.js +1 -1
  480. package/dist/internal/canvas-color.d.ts +16 -0
  481. package/dist/internal/canvas-color.js +1 -1
  482. package/dist/internal/catalog-picker.d.ts +0 -1
  483. package/dist/internal/catalog-picker.js +1 -1
  484. package/dist/internal/default-strings.generated.d.ts +1 -0
  485. package/dist/internal/default-strings.generated.js +1 -1
  486. package/dist/internal/dev-mode-attribute-warning.d.ts +30 -0
  487. package/dist/internal/dev-mode-attribute-warning.js +1 -0
  488. package/dist/internal/localization-runtime.js +1 -1
  489. package/dist/internal/localization-types.d.ts +1 -1
  490. package/dist/internal/localization.js +1 -1
  491. package/dist/internal/lyra-element.d.ts +13 -0
  492. package/dist/internal/lyra-element.js +1 -1
  493. package/dist/internal/media-controller.js +1 -1
  494. package/dist/internal/package-metadata.d.ts +1 -1
  495. package/dist/internal/package-metadata.js +1 -1
  496. package/dist/internal/scroll-overflow.d.ts +35 -13
  497. package/dist/internal/scroll-overflow.js +1 -1
  498. package/dist/internal/sizes.styles.js +0 -2
  499. package/dist/internal/specialist-tokens.styles.js +6 -11
  500. package/dist/internal/text-highlights.d.ts +4 -1
  501. package/dist/internal/text-highlights.js +1 -1
  502. package/dist/internal/tokens/palette.styles.js +0 -15
  503. package/dist/internal/tokens.styles.js +19 -113
  504. package/dist/lyra.d.ts +8 -5
  505. package/dist/styles/reservations.css +82 -0
  506. package/dist/svelte.d.ts +56 -37
  507. package/dist/translations/ar.js +1 -1
  508. package/dist/translations/de.js +1 -1
  509. package/dist/translations/es.js +1 -1
  510. package/dist/translations/fa.js +1 -1
  511. package/dist/translations/fr.js +1 -1
  512. package/dist/translations/he.js +1 -1
  513. package/dist/translations/ja.js +1 -1
  514. package/dist/translations/pt-BR.js +1 -1
  515. package/dist/translations/ru.js +1 -1
  516. package/dist/translations/zh-CN.js +1 -1
  517. package/dist/vue.d.ts +56 -37
  518. package/llms/components/lr-accordion-item.md +12 -3
  519. package/llms/components/lr-accordion.md +11 -2
  520. package/llms/components/lr-agent-eval-dashboard.md +1 -1
  521. package/llms/components/lr-agent-trace.md +3 -1
  522. package/llms/components/lr-agent-workspace.md +20 -0
  523. package/llms/components/lr-artifact-panel.md +10 -4
  524. package/llms/components/lr-attachment-chip.md +7 -4
  525. package/llms/components/lr-attachment-trigger.md +9 -6
  526. package/llms/components/lr-av-player.md +3 -1
  527. package/llms/components/lr-avatar.md +6 -6
  528. package/llms/components/lr-bar-chart.md +4 -3
  529. package/llms/components/lr-box-plot.md +1 -1
  530. package/llms/components/lr-browser-frame.md +7 -3
  531. package/llms/components/lr-bubble-chart.md +4 -3
  532. package/llms/components/lr-calendar.md +9 -2
  533. package/llms/components/lr-card.md +24 -0
  534. package/llms/components/lr-chart.md +32 -8
  535. package/llms/components/lr-chat-viewport.md +7 -2
  536. package/llms/components/lr-checkbox-group.md +13 -5
  537. package/llms/components/lr-checkbox.md +5 -2
  538. package/llms/components/lr-checkpoint.md +6 -2
  539. package/llms/components/lr-combobox.md +5 -2
  540. package/llms/components/lr-command-palette.md +4 -1
  541. package/llms/components/lr-confirm-bar.md +7 -3
  542. package/llms/components/lr-context-meter.md +12 -11
  543. package/llms/components/lr-conversation-item.md +7 -4
  544. package/llms/components/lr-details.md +11 -2
  545. package/llms/components/lr-dialog.md +15 -10
  546. package/llms/components/lr-dock-panel.md +7 -10
  547. package/llms/components/lr-document-preview.md +6 -1
  548. package/llms/components/lr-document-viewer.md +3 -2
  549. package/llms/components/lr-doughnut-chart.md +4 -3
  550. package/llms/components/lr-drawer.md +3 -3
  551. package/llms/components/lr-entity-card.md +3 -3
  552. package/llms/components/lr-entity-chip.md +1 -1
  553. package/llms/components/lr-entity-dossier.md +4 -1
  554. package/llms/components/lr-file-input.md +2 -2
  555. package/llms/components/lr-flag.md +20 -5
  556. package/llms/components/lr-heatmap.md +29 -1
  557. package/llms/components/lr-histogram.md +3 -1
  558. package/llms/components/lr-icon.md +1 -1
  559. package/llms/components/lr-json-schema-viewer.md +2 -1
  560. package/llms/components/lr-knowledge-graph-explorer.md +8 -3
  561. package/llms/components/lr-known-date.md +4 -2
  562. package/llms/components/lr-line-chart.md +4 -3
  563. package/llms/components/lr-lite-chart.md +16 -6
  564. package/llms/components/lr-map.md +72 -8
  565. package/llms/components/lr-markdown-core.md +3 -2
  566. package/llms/components/lr-media-card.md +28 -12
  567. package/llms/components/lr-message-parts.md +2 -1
  568. package/llms/components/lr-model-select.md +9 -10
  569. package/llms/components/lr-model-settings-panel.md +9 -9
  570. package/llms/components/lr-neighbor-list.md +1 -1
  571. package/llms/components/lr-notebook-viewer.md +6 -3
  572. package/llms/components/lr-option.md +5 -2
  573. package/llms/components/lr-pdf-viewer.md +62 -2
  574. package/llms/components/lr-pie-chart.md +4 -3
  575. package/llms/components/lr-polar-area-chart.md +4 -3
  576. package/llms/components/lr-popover.md +5 -0
  577. package/llms/components/lr-progress-ring.md +8 -1
  578. package/llms/components/lr-prompt-studio.md +1 -1
  579. package/llms/components/lr-provenance-panel.md +4 -2
  580. package/llms/components/lr-qr-code.md +1 -1
  581. package/llms/components/lr-radar-chart.md +4 -3
  582. package/llms/components/lr-rag-eval-dashboard.md +2 -2
  583. package/llms/components/lr-random-content.md +13 -0
  584. package/llms/components/lr-reorder-item.md +6 -1
  585. package/llms/components/lr-reorder-list.md +6 -1
  586. package/llms/components/lr-responsive-panel.md +11 -7
  587. package/llms/components/lr-scatter-chart.md +4 -3
  588. package/llms/components/lr-sequence-strip.md +16 -2
  589. package/llms/components/lr-slider.md +12 -5
  590. package/llms/components/lr-sparkline.md +1 -1
  591. package/llms/components/lr-suggestion-chips.md +7 -2
  592. package/llms/components/lr-swatch-picker.md +5 -5
  593. package/llms/components/lr-switch.md +5 -2
  594. package/llms/components/lr-table.md +30 -4
  595. package/llms/components/lr-terminal.md +3 -1
  596. package/llms/components/lr-thread-list.md +8 -8
  597. package/llms/components/lr-time-input.md +6 -1
  598. package/llms/components/lr-timeline-item.md +24 -0
  599. package/llms/components/lr-timeline.md +25 -1
  600. package/llms/components/lr-token-input.md +7 -2
  601. package/llms/components/lr-tool-approval-dialog.md +7 -8
  602. package/llms/components/lr-tool-call-chip.md +5 -1
  603. package/llms/components/lr-tool-param-form.md +14 -12
  604. package/llms/components/lr-tool-result-dialog.md +11 -9
  605. package/llms/components/lr-tool-result-view.md +7 -6
  606. package/llms/components/lr-tool-select-dialog.md +18 -16
  607. package/llms/components/lr-trace-tree.md +3 -1
  608. package/llms/components/lr-usage-badge.md +4 -1
  609. package/llms/components/lr-video-playlist.md +1 -1
  610. package/llms/components/lr-virtual-list.md +22 -14
  611. package/llms/components/lr-voice-picker.md +8 -5
  612. package/llms/components/lr-widget-renderer.md +3 -3
  613. package/llms/components/lr-widget.md +1 -1
  614. package/llms/components/lr-word-cloud.md +6 -2
  615. package/llms/index.md +1 -1
  616. package/llms/peers.md +13 -3
  617. package/llms/shared.md +83 -2
  618. package/llms-full.txt +1159 -288
  619. package/package.json +19 -7
  620. package/vscode-css-data.json +37 -2
  621. package/vscode-html-data.json +402 -45
  622. package/web-types.json +300 -56
@@ -67,8 +67,6 @@ import{css}from"lit";const styles=css`
67
67
  [part='evidence-toggle'][aria-expanded='true'] [part='evidence-toggle-icon'] svg {
68
68
  transform: rotate(90deg);
69
69
  }
70
- /* Mirrors this family's own chevron-mirroring convention (see lr-trace-tree): rotation is
71
- physical, so a collapsed chevron under RTL points the opposite way from LTR. */
72
70
  :host(:dir(rtl)) [part='evidence-toggle']:not([aria-expanded='true']) [part='evidence-toggle-icon'] svg {
73
71
  transform: rotate(180deg);
74
72
  }
@@ -12,20 +12,10 @@ import{css}from"lit";const styles=css`
12
12
  border-radius: var(--lr-radius);
13
13
  background: var(--lr-color-surface);
14
14
  }
15
- /* Density escape -- same convention as lr-empty's compact. Source cards render in lists, so the
16
- tuned values sit behind inline var() fallbacks (rather than a :host declaration, which every
17
- instance re-declares and so shadows any ancestor value) letting a list retune every card at
18
- once from the outside; the fallbacks are the pre-existing values scaled down one step, so an
19
- unset card renders unchanged. */
20
15
  :host([compact]) [part='base'] {
21
16
  padding: var(--lr-source-card-compact-padding, var(--lr-space-xs));
22
17
  gap: var(--lr-source-card-compact-gap, var(--lr-space-2xs));
23
18
  }
24
- /* MUST stay after :host([compact]): both selectors are :host([x]) [part='base'], i.e. equal
25
- specificity, so source order alone decides which padding/gap wins when a card is both compact
26
- and plain. plain is the stronger statement ("no chrome at all"), so it goes last. The title and
27
- toggle affordances are brand-colored text with a hover underline, never a border, so they stay
28
- legible with no chrome behind them. */
29
19
  :host([frame='plain']) [part='base'] {
30
20
  padding: 0;
31
21
  border: 0;
@@ -53,9 +43,6 @@ import{css}from"lit";const styles=css`
53
43
  [part='title']:hover {
54
44
  text-decoration: underline;
55
45
  }
56
- /* Both affordances here are transparent-backed brand-colored text (see the frame='plain' note
57
- above), so the pressed signal is a wash mixed from that transparent base -- the label itself has
58
- to keep its brand color to stay readable as a link. */
59
46
  [part='title']:active {
60
47
  text-decoration: underline;
61
48
  background: color-mix(in oklab, transparent, var(--lr-color-mix-partner) var(--lr-color-mix-active));
@@ -47,13 +47,6 @@ import{css}from"lit";const styles=css`
47
47
  :host([expanded]) [part='toggle'] {
48
48
  transform: rotate(90deg);
49
49
  }
50
- /* RTL: the resting (collapsed) chevron mirrors to point left, the
51
- conventional mirrored disclosure-triangle direction for RTL. Scoped to
52
- the collapsed state specifically (rather than a plain :dir(rtl) rule) so
53
- it never has to compete with the rule above for the expanded state, which
54
- needs no mirroring: rotating this left-right-asymmetric glyph 90deg
55
- already produces a left-right-symmetric down chevron. Mirrors
56
- lr-code-block's identical toggle chevron. */
57
50
  :host(:not([expanded]):dir(rtl)) [part='toggle'] {
58
51
  transform: scaleX(-1);
59
52
  }
@@ -1,4 +1,4 @@
1
- var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{styleMap}from"lit/directives/style-map.js";import{hostAriaLabel}from"../../../internal/a11y.js";import{LyraElement}from"../../../internal/lyra-element.js";import{isNonBlankIdentity}from"../retrieval-identity.js";import{isRtl}from"../../../internal/rtl.js";import"../../media/file-icon/file-icon.class.js";import"../../forms/input/input.class.js";import"../../forms/checkbox/checkbox.class.js";import"../../overlays/empty/empty.class.js";import{styles}from"./source-picker.styles.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{activeElementIn}from"../../../internal/active-element.js";import{acquireAnnouncementSink}from"../../../internal/announcer.js";import{LYRA_DEFAULT_collapse,LYRA_DEFAULT_date,LYRA_DEFAULT_details,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_fileSizeUnitB,LYRA_DEFAULT_fileSizeUnitGb,LYRA_DEFAULT_fileSizeUnitKb,LYRA_DEFAULT_fileSizeUnitMb,LYRA_DEFAULT_fileSizeUnitTb,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_noData,LYRA_DEFAULT_noMatches,LYRA_DEFAULT_open,LYRA_DEFAULT_progress,LYRA_DEFAULT_restore,LYRA_DEFAULT_search,LYRA_DEFAULT_select,LYRA_DEFAULT_selectAllSources,LYRA_DEFAULT_sourceListDefaultLabel,LYRA_DEFAULT_sourcePickerSelection,LYRA_DEFAULT_valueInvalid}from"../../../internal/default-strings.generated.js";const MAX_SOURCE_NODES=2e3,MAX_SOURCE_DEPTH=64;class LyraSourcePicker extends LyraElement{constructor(){super(...arguments),this.sources=[],this.selectedSourceIds=[],this.showSelectAll=!0,this.searchable=!0,this.accessibleLabel=null,this.expandedIds=new Set,this.query="",this.activeId=null,this.keyboardFocusGeneration=0,this.isMounting=!0,this.lastFilterAnnouncement="",this.onTreeKeyDown=e=>{const rows=this.visibleRows();if(rows.length===0)return;const currentIndex=Math.max(0,rows.findIndex(r=>r.entry.id===this.activeId)),current=rows[currentIndex],rtl=isRtl(this),expandKey=rtl?"ArrowLeft":"ArrowRight",collapseKey=rtl?"ArrowRight":"ArrowLeft";switch(e.key){case"ArrowDown":e.preventDefault(),this.focusRowByIndex(Math.min(rows.length-1,currentIndex+1),rows);break;case"ArrowUp":e.preventDefault(),this.focusRowByIndex(Math.max(0,currentIndex-1),rows);break;case"Home":e.preventDefault(),this.focusRowByIndex(0,rows);break;case"End":e.preventDefault(),this.focusRowByIndex(rows.length-1,rows);break;case expandKey:if(e.preventDefault(),current.hasChildren&&!this.expandedIds.has(current.entry.id))this.expandedIds=new Set(this.expandedIds).add(current.entry.id);else if(current.hasChildren){const next=this.visibleRows()[currentIndex+1];next&&next.depth>current.depth&&this.focusRowByIndex(currentIndex+1,this.visibleRows())}break;case collapseKey:if(e.preventDefault(),current.hasChildren&&this.expandedIds.has(current.entry.id)){const set=new Set(this.expandedIds);set.delete(current.entry.id),this.expandedIds=set}else for(let i=currentIndex-1;i>=0;i--)if(rows[i].depth<current.depth){this.focusRowByIndex(i,rows);break}break;case"Enter":case" ":e.preventDefault(),this.toggleEntry(current.entry);break;default:return}}}static{this.defaultStrings={...super.defaultStrings,collapse:LYRA_DEFAULT_collapse,date:LYRA_DEFAULT_date,details:LYRA_DEFAULT_details,fieldRequired:LYRA_DEFAULT_fieldRequired,fileSizeUnitB:LYRA_DEFAULT_fileSizeUnitB,fileSizeUnitGb:LYRA_DEFAULT_fileSizeUnitGb,fileSizeUnitKb:LYRA_DEFAULT_fileSizeUnitKb,fileSizeUnitMb:LYRA_DEFAULT_fileSizeUnitMb,fileSizeUnitTb:LYRA_DEFAULT_fileSizeUnitTb,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,noData:LYRA_DEFAULT_noData,noMatches:LYRA_DEFAULT_noMatches,open:LYRA_DEFAULT_open,progress:LYRA_DEFAULT_progress,restore:LYRA_DEFAULT_restore,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select,selectAllSources:LYRA_DEFAULT_selectAllSources,sourceListDefaultLabel:LYRA_DEFAULT_sourceListDefaultLabel,sourcePickerSelection:LYRA_DEFAULT_sourcePickerSelection,valueInvalid:LYRA_DEFAULT_valueInvalid}}static{this.ownedCollectionProperties=Object.freeze(["sources","selectedSourceIds"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-sources-change"])}connectedCallback(){super.connectedCallback(),this.announcementSink??=acquireAnnouncementSink("polite",{document:this.ownerDocument,source:this})}disconnectedCallback(){this.isMounting=!0,this.lastFilterAnnouncement="",this.announcementSink?.release(),this.announcementSink=void 0,super.disconnectedCallback()}get sourceModel(){if(this.normalizedInput===this.sources&&this.normalizedModel)return this.normalizedModel;const roots=[],nodes=[],byEntry=new WeakMap,seenObjects=new WeakSet,seenIds=new Set;let limited=!1;const stack=[];stack.push({sources:this.sources,target:roots,depth:0,index:0});let inspected=0;for(;stack.length;){const frame=stack[stack.length-1];if(frame.index>=frame.sources.length){stack.pop();continue}if(inspected>=MAX_SOURCE_NODES){limited=!0;break}const source=frame.sources[frame.index++];if(inspected++,!source||typeof source!="object"||seenObjects.has(source)||!isNonBlankIdentity(source.id)||seenIds.has(source.id)){limited=!0;continue}if(nodes.length>=MAX_SOURCE_NODES||frame.depth>MAX_SOURCE_DEPTH){limited=!0;continue}seenObjects.add(source),seenIds.add(source.id);const declaredGroup=Array.isArray(source.children),entry={id:source.id,label:source.label,...source.mimeType!==void 0?{mimeType:source.mimeType}:{},...source.name!==void 0?{name:source.name}:{},...declaredGroup?{children:[]}:{}},node={entry,depth:frame.depth,children:[],leafIds:[]};declaredGroup&&(entry.children=node.children.map(child=>child.entry)),frame.target.push(node),nodes.push(node),byEntry.set(entry,node);const children=source.children??[];children.length&&frame.depth>=MAX_SOURCE_DEPTH&&(limited=!0),children.length&&frame.depth<MAX_SOURCE_DEPTH&&stack.push({sources:children,target:node.children,depth:frame.depth+1,index:0})}for(let index=nodes.length-1;index>=0;index--){const node=nodes[index];node.entry.children!==void 0&&(node.entry.children=node.children.map(child=>child.entry)),node.leafIds=node.entry.children===void 0?[node.entry.id]:[...new Set(node.children.flatMap(child=>child.leafIds))]}const leafIds=[...new Set(roots.flatMap(root=>root.leafIds))];return this.normalizedInput=this.sources,this.normalizedModel={roots,nodes,byEntry,leafIds,limited},this.normalizedModel}allLeafIds(){return this.sourceModel.leafIds}descendantLeafIds(entry){return this.sourceModel.byEntry.get(entry)?.leafIds??[]}normalizedSelectedSourceIds(){const valid=new Set(this.allLeafIds()),seen=new Set;return this.selectedSourceIds.filter(id=>!valid.has(id)||seen.has(id)?!1:(seen.add(id),!0))}checkedState(entry){const leaves=this.descendantLeafIds(entry),selected=leaves.filter(id=>this.selectedSourceIds.includes(id));return selected.length===0?"false":selected.length===leaves.length?"true":"mixed"}matchesQuery(entry){return entry.label.toLocaleLowerCase(this.effectiveLocale).includes(this.query.trim().toLocaleLowerCase(this.effectiveLocale))}isFiltering(){return this.searchable&&this.query.trim().length>0}visibleRows(){const rows=[],filtering=this.isFiltering(),matches=new Set;if(filtering)for(let index=this.sourceModel.nodes.length-1;index>=0;index--){const node=this.sourceModel.nodes[index];(this.matchesQuery(node.entry)||node.children.some(child=>matches.has(child)))&&matches.add(node)}const stack=[...this.sourceModel.roots].reverse();for(;stack.length;){const node=stack.pop();if(filtering&&!matches.has(node))continue;const hasChildren=node.entry.children!==void 0;if(rows.push({entry:node.entry,depth:node.depth,hasChildren}),hasChildren&&(filtering||this.expandedIds.has(node.entry.id)))for(let index=node.children.length-1;index>=0;index--)stack.push(node.children[index])}return rows}willUpdate(changed){if(super.willUpdate(changed),changed.has("sources")||changed.has("selectedSourceIds")){const normalized=this.normalizedSelectedSourceIds();(normalized.length!==this.selectedSourceIds.length||normalized.some((id,index)=>id!==this.selectedSourceIds[index]))&&(this.selectedSourceIds=normalized)}if(!changed.has("sources")&&!changed.has("query")&&!changed.has("expandedIds"))return;const focusedIndex=Array.from(this.renderRoot.querySelectorAll('[part~="item"]')).indexOf(activeElementIn(this.shadowRoot)),rows=this.visibleRows(),retainedIndex=rows.findIndex(row=>row.entry.id===this.activeId),nextIndex=retainedIndex>=0?retainedIndex:rows.length?Math.min(Math.max(focusedIndex,0),rows.length-1):-1;this.activeId=nextIndex>=0?rows[nextIndex].entry.id:null,focusedIndex>=0&&(this.pendingFocusIndex=nextIndex>=0?nextIndex:this.sources.length===0||!this.searchable?"base":"search")}updated(changed){super.updated(changed);const pending=this.pendingFocusIndex;pending!==void 0&&(this.pendingFocusIndex=void 0,pending==="search"?this.renderRoot.querySelector('[part~="search"]')?.focus():pending==="base"?this.renderRoot.querySelector('[part="base"]')?.focus():this.renderRoot.querySelectorAll('[part~="item"]')[pending]?.focus());const wasMounting=this.isMounting;if(this.isMounting=!1,wasMounting||!changed.has("query")&&!changed.has("sources"))return;if(!this.isFiltering()){this.lastFilterAnnouncement="";return}const count=this.visibleRows().length,signature=`${this.query.trim().toLocaleLowerCase(this.effectiveLocale)}\0${count}`;signature!==this.lastFilterAnnouncement&&(this.lastFilterAnnouncement=signature,count===0&&this.announcementSink?.announce(this.localize("noMatches")))}commitSelection(next){this.selectedSourceIds=next,this.emit("lr-sources-change",{selectedSourceIds:next})}toggleEntry(entry){const leaves=this.descendantLeafIds(entry),willSelect=this.checkedState(entry)!=="true",set=new Set(this.selectedSourceIds);for(const id of leaves)willSelect?set.add(id):set.delete(id);this.commitSelection([...set])}toggleSelectAll(){const all=this.allLeafIds(),allSelected=all.length>0&&all.every(id=>this.selectedSourceIds.includes(id));this.commitSelection(allSelected?[]:all)}focusRowByIndex(index,rows){const targetId=rows[index]?.entry.id;if(!targetId)return;this.activeId=targetId;const generation=++this.keyboardFocusGeneration;this.updateComplete.then(()=>{if(!this.isConnected||generation!==this.keyboardFocusGeneration)return;const currentIndex=this.visibleRows().findIndex(row=>row.entry.id===targetId);if(currentIndex<0)return;this.renderRoot.querySelectorAll('[part~="item"]')[currentIndex]?.focus()})}renderRow(row,active){const state2=this.checkedState(row.entry),expanded=row.hasChildren&&(this.expandedIds.has(row.entry.id)||this.isFiltering());return html`
1
+ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3?target:desc===null?desc=Object.getOwnPropertyDescriptor(target,key):desc,d;if(typeof Reflect=="object"&&typeof Reflect.decorate=="function")r=Reflect.decorate(decorators,target,key,desc);else for(var i=decorators.length-1;i>=0;i--)(d=decorators[i])&&(r=(c<3?d(r):c>3?d(target,key,r):d(target,key))||r);return c>3&&r&&Object.defineProperty(target,key,r),r};import{html,nothing}from"lit";import{property,state}from"lit/decorators.js";import{styleMap}from"lit/directives/style-map.js";import{hostAriaLabel}from"../../../internal/a11y.js";import{LyraElement}from"../../../internal/lyra-element.js";import{isNonBlankIdentity}from"../retrieval-identity.js";import{isRtl}from"../../../internal/rtl.js";import"../../media/file-icon/file-icon.class.js";import"../../forms/input/input.class.js";import"../../forms/checkbox/checkbox.class.js";import"../../overlays/empty/empty.class.js";import{styles}from"./source-picker.styles.js";import{trueDefaultBooleanConverter}from"../../../internal/converters.js";import{getNumberFormat}from"../../../internal/intl-cache.js";import{activeElementIn}from"../../../internal/active-element.js";import{acquireAnnouncementSink}from"../../../internal/announcer.js";import{LYRA_DEFAULT_collapse,LYRA_DEFAULT_date,LYRA_DEFAULT_details,LYRA_DEFAULT_fieldRequired,LYRA_DEFAULT_fileSizeUnitB,LYRA_DEFAULT_fileSizeUnitGb,LYRA_DEFAULT_fileSizeUnitKb,LYRA_DEFAULT_fileSizeUnitMb,LYRA_DEFAULT_fileSizeUnitTb,LYRA_DEFAULT_map,LYRA_DEFAULT_navigation,LYRA_DEFAULT_noData,LYRA_DEFAULT_noMatches,LYRA_DEFAULT_open,LYRA_DEFAULT_popover,LYRA_DEFAULT_progress,LYRA_DEFAULT_restore,LYRA_DEFAULT_search,LYRA_DEFAULT_select,LYRA_DEFAULT_selectAllSources,LYRA_DEFAULT_sourceListDefaultLabel,LYRA_DEFAULT_sourcePickerSelection,LYRA_DEFAULT_valueInvalid}from"../../../internal/default-strings.generated.js";const MAX_SOURCE_NODES=2e3,MAX_SOURCE_DEPTH=64;class LyraSourcePicker extends LyraElement{constructor(){super(...arguments),this.sources=[],this.selectedSourceIds=[],this.showSelectAll=!0,this.searchable=!0,this.accessibleLabel=null,this.expandedIds=new Set,this.query="",this.activeId=null,this.keyboardFocusGeneration=0,this.isMounting=!0,this.lastFilterAnnouncement="",this.onTreeKeyDown=e=>{const rows=this.visibleRows();if(rows.length===0)return;const currentIndex=Math.max(0,rows.findIndex(r=>r.entry.id===this.activeId)),current=rows[currentIndex],rtl=isRtl(this),expandKey=rtl?"ArrowLeft":"ArrowRight",collapseKey=rtl?"ArrowRight":"ArrowLeft";switch(e.key){case"ArrowDown":e.preventDefault(),this.focusRowByIndex(Math.min(rows.length-1,currentIndex+1),rows);break;case"ArrowUp":e.preventDefault(),this.focusRowByIndex(Math.max(0,currentIndex-1),rows);break;case"Home":e.preventDefault(),this.focusRowByIndex(0,rows);break;case"End":e.preventDefault(),this.focusRowByIndex(rows.length-1,rows);break;case expandKey:if(e.preventDefault(),current.hasChildren&&!this.expandedIds.has(current.entry.id))this.expandedIds=new Set(this.expandedIds).add(current.entry.id);else if(current.hasChildren){const next=this.visibleRows()[currentIndex+1];next&&next.depth>current.depth&&this.focusRowByIndex(currentIndex+1,this.visibleRows())}break;case collapseKey:if(e.preventDefault(),current.hasChildren&&this.expandedIds.has(current.entry.id)){const set=new Set(this.expandedIds);set.delete(current.entry.id),this.expandedIds=set}else for(let i=currentIndex-1;i>=0;i--)if(rows[i].depth<current.depth){this.focusRowByIndex(i,rows);break}break;case"Enter":case" ":e.preventDefault(),this.toggleEntry(current.entry);break;default:return}}}static{this.defaultStrings={...super.defaultStrings,collapse:LYRA_DEFAULT_collapse,date:LYRA_DEFAULT_date,details:LYRA_DEFAULT_details,fieldRequired:LYRA_DEFAULT_fieldRequired,fileSizeUnitB:LYRA_DEFAULT_fileSizeUnitB,fileSizeUnitGb:LYRA_DEFAULT_fileSizeUnitGb,fileSizeUnitKb:LYRA_DEFAULT_fileSizeUnitKb,fileSizeUnitMb:LYRA_DEFAULT_fileSizeUnitMb,fileSizeUnitTb:LYRA_DEFAULT_fileSizeUnitTb,map:LYRA_DEFAULT_map,navigation:LYRA_DEFAULT_navigation,noData:LYRA_DEFAULT_noData,noMatches:LYRA_DEFAULT_noMatches,open:LYRA_DEFAULT_open,popover:LYRA_DEFAULT_popover,progress:LYRA_DEFAULT_progress,restore:LYRA_DEFAULT_restore,search:LYRA_DEFAULT_search,select:LYRA_DEFAULT_select,selectAllSources:LYRA_DEFAULT_selectAllSources,sourceListDefaultLabel:LYRA_DEFAULT_sourceListDefaultLabel,sourcePickerSelection:LYRA_DEFAULT_sourcePickerSelection,valueInvalid:LYRA_DEFAULT_valueInvalid}}static{this.ownedCollectionProperties=Object.freeze(["sources","selectedSourceIds"])}static{this.styles=[LyraElement.styles,styles]}static{this.immutableEventDetails=Object.freeze(["lr-sources-change"])}connectedCallback(){super.connectedCallback(),this.announcementSink??=acquireAnnouncementSink("polite",{document:this.ownerDocument,source:this})}disconnectedCallback(){this.isMounting=!0,this.lastFilterAnnouncement="",this.announcementSink?.release(),this.announcementSink=void 0,super.disconnectedCallback()}get sourceModel(){if(this.normalizedInput===this.sources&&this.normalizedModel)return this.normalizedModel;const roots=[],nodes=[],byEntry=new WeakMap,seenObjects=new WeakSet,seenIds=new Set;let limited=!1;const stack=[];stack.push({sources:this.sources,target:roots,depth:0,index:0});let inspected=0;for(;stack.length;){const frame=stack[stack.length-1];if(frame.index>=frame.sources.length){stack.pop();continue}if(inspected>=MAX_SOURCE_NODES){limited=!0;break}const source=frame.sources[frame.index++];if(inspected++,!source||typeof source!="object"||seenObjects.has(source)||!isNonBlankIdentity(source.id)||seenIds.has(source.id)){limited=!0;continue}if(nodes.length>=MAX_SOURCE_NODES||frame.depth>MAX_SOURCE_DEPTH){limited=!0;continue}seenObjects.add(source),seenIds.add(source.id);const declaredGroup=Array.isArray(source.children),entry={id:source.id,label:source.label,...source.mimeType!==void 0?{mimeType:source.mimeType}:{},...source.name!==void 0?{name:source.name}:{},...declaredGroup?{children:[]}:{}},node={entry,depth:frame.depth,children:[],leafIds:[]};declaredGroup&&(entry.children=node.children.map(child=>child.entry)),frame.target.push(node),nodes.push(node),byEntry.set(entry,node);const children=source.children??[];children.length&&frame.depth>=MAX_SOURCE_DEPTH&&(limited=!0),children.length&&frame.depth<MAX_SOURCE_DEPTH&&stack.push({sources:children,target:node.children,depth:frame.depth+1,index:0})}for(let index=nodes.length-1;index>=0;index--){const node=nodes[index];node.entry.children!==void 0&&(node.entry.children=node.children.map(child=>child.entry)),node.leafIds=node.entry.children===void 0?[node.entry.id]:[...new Set(node.children.flatMap(child=>child.leafIds))]}const leafIds=[...new Set(roots.flatMap(root=>root.leafIds))];return this.normalizedInput=this.sources,this.normalizedModel={roots,nodes,byEntry,leafIds,limited},this.normalizedModel}allLeafIds(){return this.sourceModel.leafIds}descendantLeafIds(entry){return this.sourceModel.byEntry.get(entry)?.leafIds??[]}normalizedSelectedSourceIds(){const valid=new Set(this.allLeafIds()),seen=new Set;return this.selectedSourceIds.filter(id=>!valid.has(id)||seen.has(id)?!1:(seen.add(id),!0))}checkedState(entry){const leaves=this.descendantLeafIds(entry),selected=leaves.filter(id=>this.selectedSourceIds.includes(id));return selected.length===0?"false":selected.length===leaves.length?"true":"mixed"}matchesQuery(entry){return entry.label.toLocaleLowerCase(this.effectiveLocale).includes(this.query.trim().toLocaleLowerCase(this.effectiveLocale))}isFiltering(){return this.searchable&&this.query.trim().length>0}visibleRows(){const rows=[],filtering=this.isFiltering(),matches=new Set;if(filtering)for(let index=this.sourceModel.nodes.length-1;index>=0;index--){const node=this.sourceModel.nodes[index];(this.matchesQuery(node.entry)||node.children.some(child=>matches.has(child)))&&matches.add(node)}const stack=[...this.sourceModel.roots].reverse();for(;stack.length;){const node=stack.pop();if(filtering&&!matches.has(node))continue;const hasChildren=node.entry.children!==void 0;if(rows.push({entry:node.entry,depth:node.depth,hasChildren}),hasChildren&&(filtering||this.expandedIds.has(node.entry.id)))for(let index=node.children.length-1;index>=0;index--)stack.push(node.children[index])}return rows}willUpdate(changed){if(super.willUpdate(changed),changed.has("sources")||changed.has("selectedSourceIds")){const normalized=this.normalizedSelectedSourceIds();(normalized.length!==this.selectedSourceIds.length||normalized.some((id,index)=>id!==this.selectedSourceIds[index]))&&(this.selectedSourceIds=normalized)}if(!changed.has("sources")&&!changed.has("query")&&!changed.has("expandedIds"))return;const focusedIndex=Array.from(this.renderRoot.querySelectorAll('[part~="item"]')).indexOf(activeElementIn(this.shadowRoot)),rows=this.visibleRows(),retainedIndex=rows.findIndex(row=>row.entry.id===this.activeId),nextIndex=retainedIndex>=0?retainedIndex:rows.length?Math.min(Math.max(focusedIndex,0),rows.length-1):-1;this.activeId=nextIndex>=0?rows[nextIndex].entry.id:null,focusedIndex>=0&&(this.pendingFocusIndex=nextIndex>=0?nextIndex:this.sources.length===0||!this.searchable?"base":"search")}updated(changed){super.updated(changed);const pending=this.pendingFocusIndex;pending!==void 0&&(this.pendingFocusIndex=void 0,pending==="search"?this.renderRoot.querySelector('[part~="search"]')?.focus():pending==="base"?this.renderRoot.querySelector('[part="base"]')?.focus():this.renderRoot.querySelectorAll('[part~="item"]')[pending]?.focus());const wasMounting=this.isMounting;if(this.isMounting=!1,wasMounting||!changed.has("query")&&!changed.has("sources"))return;if(!this.isFiltering()){this.lastFilterAnnouncement="";return}const count=this.visibleRows().length,signature=`${this.query.trim().toLocaleLowerCase(this.effectiveLocale)}\0${count}`;signature!==this.lastFilterAnnouncement&&(this.lastFilterAnnouncement=signature,count===0&&this.announcementSink?.announce(this.localize("noMatches")))}commitSelection(next){this.selectedSourceIds=next,this.emit("lr-sources-change",{selectedSourceIds:next})}toggleEntry(entry){const leaves=this.descendantLeafIds(entry),willSelect=this.checkedState(entry)!=="true",set=new Set(this.selectedSourceIds);for(const id of leaves)willSelect?set.add(id):set.delete(id);this.commitSelection([...set])}toggleSelectAll(){const all=this.allLeafIds(),allSelected=all.length>0&&all.every(id=>this.selectedSourceIds.includes(id));this.commitSelection(allSelected?[]:all)}focusRowByIndex(index,rows){const targetId=rows[index]?.entry.id;if(!targetId)return;this.activeId=targetId;const generation=++this.keyboardFocusGeneration;this.updateComplete.then(()=>{if(!this.isConnected||generation!==this.keyboardFocusGeneration)return;const currentIndex=this.visibleRows().findIndex(row=>row.entry.id===targetId);if(currentIndex<0)return;this.renderRoot.querySelectorAll('[part~="item"]')[currentIndex]?.focus()})}renderRow(row,active){const state2=this.checkedState(row.entry),expanded=row.hasChildren&&(this.expandedIds.has(row.entry.id)||this.isFiltering());return html`
2
2
  <div
3
3
  part="item"
4
4
  role="treeitem"
@@ -43,10 +43,6 @@ import{css}from"lit";const styles=css`
43
43
  min-inline-size: var(--lr-icon-button-size);
44
44
  min-block-size: var(--lr-icon-button-size);
45
45
  padding: var(--lr-size-4px) var(--lr-space-xs);
46
- /* Per-level indent computed in CSS from the plain depth number the component writes inline,
47
- rather than a pre-formatted dimension: that keeps the step a retheme-able token and lets the
48
- indent be capped, so a deeply nested tree cannot push its labels off-screen with no way back.
49
- Same shape lr-tree-item already uses. */
50
46
  padding-inline-start: calc(
51
47
  var(--lr-space-xs) +
52
48
  min(
@@ -85,9 +81,6 @@ import{css}from"lit";const styles=css`
85
81
  [part="item"]:hover {
86
82
  background: color-mix(in srgb, var(--lr-color-text) 6%, transparent);
87
83
  }
88
- /* The row itself is the control here -- clicking anywhere in it toggles the source (the
89
- [part='checkbox'] box inside is a painted div, not a focusable target), so the row earns a
90
- pressed state of its own rather than deferring to something nested. */
91
84
  [part="item"]:active {
92
85
  background: color-mix(
93
86
  in oklab,
@@ -8,8 +8,6 @@ import{css}from"lit";const styles=css`
8
8
  slot:not([name]) {
9
9
  display: contents;
10
10
  }
11
- /* Every selector below matches with ~= rather than =, because the button's part list gains a
12
- state token ('base base-error') while the feedback state is showing. */
13
11
  [part~='base'] {
14
12
  display: inline-flex;
15
13
  align-items: center;
@@ -27,9 +25,6 @@ import{css}from"lit";const styles=css`
27
25
  -webkit-tap-highlight-color: transparent;
28
26
  transition: background-color var(--lr-transition-fast);
29
27
  }
30
- /* :where() keeps this rule's specificity low ((0,1,0)) so a consumer's own
31
- ::part(base):hover override ((0,1,1)) wins without needing !important --
32
- see lr-attachment-trigger's identical fix for the same reasoning. */
33
28
  :where([part~='base']:not(:disabled)):hover {
34
29
  background: color-mix(in srgb, var(--lr-color-text) 8%, transparent);
35
30
  color: var(--lr-color-text);
@@ -38,9 +33,6 @@ import{css}from"lit";const styles=css`
38
33
  background: color-mix(in oklab, transparent, var(--lr-color-mix-partner) var(--lr-color-mix-active));
39
34
  color: var(--lr-color-text);
40
35
  }
41
- /* After the hover and pressed rules, at equal specificity, so hovering or holding the failed
42
- button still changes its background (the interactive affordance) without repainting the failure
43
- color away. */
44
36
  [part~='base-success'] {
45
37
  color: var(--success-color, var(--lr-color-success));
46
38
  }
@@ -63,8 +55,6 @@ import{css}from"lit";const styles=css`
63
55
  [part~='base'] svg {
64
56
  display: block;
65
57
  }
66
- /* The outcome is announced, not shown: the button is icon-only, so the status text exists for
67
- assistive technology alone. Same clipped-1px pattern lr-pagination's live region uses. */
68
58
  [part='feedback'] {
69
59
  position: absolute;
70
60
  inline-size: var(--lr-size-1px);
@@ -38,29 +38,15 @@ import{css}from"lit";const styles=css`
38
38
  min-inline-size: 0;
39
39
  }
40
40
  [part="line"] {
41
- /* Lives here (rather than on the ancestor pre element) so layout="split" -- whose lines sit
42
- inside [part='side'], not a pre -- inherits the same monospace typography as the default
43
- unified pre. font-family/font-size/line-height are all inheritable, so moving them here
44
- from pre is visually identical for the unified layout (same computed values, just set
45
- directly instead of inherited). */
46
41
  font-family: var(--lr-diff-view-font, var(--_lr-diff-view-font));
47
42
  font-size: var(--lr-font-size-sm);
48
43
  line-height: var(--lr-line-height-snug);
49
44
  white-space: pre-wrap;
50
- /* The base/side owns horizontal scrolling while each line owns its change-state background.
51
- Grow that painted box with an unbroken line, but keep short lines filling the scrollport. */
52
45
  box-sizing: border-box;
53
46
  inline-size: max-content;
54
47
  min-inline-size: 100%;
55
48
  }
56
49
  [part="line"]:not([data-type="fold"]) {
57
- /* Diffed source code is read left-to-right regardless of the surrounding document direction --
58
- same rationale (and matching fix shape) as code-block.styles.ts's [part='pre']: without this,
59
- an ancestor dir="rtl" bidi-reorders each line and right-aligns the block, making valid code
60
- look syntactically broken. isolate keeps any RTL run inside a string/comment from leaking out
61
- and reordering the surrounding code. Excludes [data-type='fold'] -- that line renders a
62
- localized message ("N unchanged lines"), not code, and must keep following the ambient
63
- (possibly RTL) direction like ordinary UI text. */
64
50
  direction: ltr;
65
51
  unicode-bidi: isolate;
66
52
  }
@@ -17,15 +17,9 @@ import{css}from"lit";const styles=css`
17
17
  min-block-size: var(--lr-icon-button-size);
18
18
  cursor: pointer;
19
19
  }
20
- /* :where() zeroes the wrapped selectors' specificity contribution, leaving only :hover itself
21
- -- (0,1,0) total, functionally identical selection to \`[part='trigger']:hover:not(:disabled)\`
22
- ((0,3,0)) but now losing (on the pseudo-element tiebreak) to a consumer's own
23
- \`::part(trigger):hover\` override ((0,1,1)) without that consumer needing !important. */
24
20
  :where([part='trigger']):hover:where(:not(:disabled)) {
25
21
  border-color: var(--lr-color-brand);
26
22
  }
27
- /* Same :where() shape as the hover rule above, for the same reason -- a consumer's own
28
- ::part(trigger):active must still win without !important. */
29
23
  :where([part='trigger']):active:where(:not(:disabled)) {
30
24
  border-color: var(--lr-color-brand);
31
25
  background: color-mix(in oklab, var(--lr-color-surface), var(--lr-color-mix-partner) var(--lr-color-mix-active));
@@ -39,18 +33,6 @@ import{css}from"lit";const styles=css`
39
33
  outline-offset: var(--lr-focus-ring-offset);
40
34
  }
41
35
  [part='menu'] {
42
- /* Closed state: invisible + slightly raised. visibility (not
43
- display:none) so opacity/transform can actually transition; hit-testing
44
- and a11y exposure stay off since this part is already position:fixed.
45
- visibility deliberately isn't in the transition list below: a
46
- transitioned property's computed value only settles to its new
47
- target after the UA has run an actual style-change/rendering pass,
48
- which lags behind a same-tick attribute write (e.g. updated()
49
- synchronously focusing the first menu item right after flipping
50
- open) -- that item would still resolve as visibility: hidden (and
51
- so silently fail to focus) at the moment .focus() is called. Leaving
52
- visibility untransitioned makes it apply immediately, in the same
53
- synchronous style pass as the open attribute write. */
54
36
  visibility: hidden;
55
37
  position: fixed;
56
38
  z-index: var(--lr-layer-dropdown);
@@ -71,7 +53,6 @@ import{css}from"lit";const styles=css`
71
53
  background: var(--lr-color-surface);
72
54
  border: var(--lr-border-width-thin) solid var(--lr-color-border);
73
55
  border-radius: var(--lr-radius);
74
- /* Anchored overlay: a positioner-placed menu floating over page content, not a modal layer. */
75
56
  box-shadow: var(--lr-shadow-m);
76
57
  opacity: 0;
77
58
  transform: translateY(var(--lr-size-neg-4px));
@@ -95,7 +76,6 @@ import{css}from"lit";const styles=css`
95
76
  align-items: start;
96
77
  gap: var(--lr-size-1px);
97
78
  box-sizing: border-box;
98
- min-inline-size: 0;
99
79
  inline-size: 100%;
100
80
  min-inline-size: var(--lr-icon-button-size);
101
81
  min-block-size: var(--lr-icon-button-size);
@@ -108,8 +88,6 @@ import{css}from"lit";const styles=css`
108
88
  cursor: pointer;
109
89
  border-radius: var(--lr-radius);
110
90
  }
111
- /* :where() zeroes the wrapped selectors' specificity contribution -- see the [part='trigger']
112
- hover rule above for the full rationale. */
113
91
  :where([part='menu-item']):hover:where(:not(:disabled)) {
114
92
  background: var(--lr-color-brand-quiet);
115
93
  }
@@ -24,9 +24,6 @@ import{css}from"lit";const styles=css`
24
24
  justify-content: center;
25
25
  }
26
26
 
27
- /* The custom-content slot is an assignment target only: syncCustomNodes() clones its trusted SVG
28
- nodes into the component-owned svg above, where they have a real SVG parent and actually
29
- paint. Rendering the slot itself would place the originals a second time, outside that svg. */
30
27
  slot {
31
28
  display: none;
32
29
  }
@@ -46,8 +43,6 @@ import{css}from"lit";const styles=css`
46
43
  block-size: var(--lr-icon-size, var(--lr-size-1-5em));
47
44
  }
48
45
 
49
- /* Rotate and flip are deliberately physical, not direction-relative. Directional glyphs are
50
- mirrored by the wrapping part of the component that owns their reading-order semantics. */
51
46
  :host(:where([rotate], [flip])) {
52
47
  transform: rotate(var(--lr-icon-rotate, 0deg))
53
48
  scale(
@@ -69,7 +64,6 @@ import{css}from"lit";const styles=css`
69
64
  --_lr-icon-flip-y: -1;
70
65
  }
71
66
 
72
- /* Legacy Lyra alignment knob retained alongside the mirrored canvas vocabulary. */
73
67
  :host(:where([fixed-width])) {
74
68
  inline-size: var(--lr-icon-fixed-width, var(--lr-size-1-5em));
75
69
  block-size: var(--lr-icon-size, var(--lr-size-1em));
@@ -1,15 +1,7 @@
1
1
  import{css}from"lit";const styles=css`
2
2
  :host {
3
3
  display: block;
4
- /* Consumer-tunable scroll cap -- 'none' means the viewer grows with its
5
- content, matching every other block-level component in this library
6
- until a caller opts into an internal scrollbar via the max-height
7
- attribute. */
8
4
  --_lr-json-viewer-max-height: none;
9
- /* Contained here (rather than left as a bare font-family literal) so a
10
- host page can retheme it, same rationale as --lr-widget-overlay-color
11
- in widget.styles.ts -- no shared --lr-* monospace token exists
12
- to resolve through. */
13
5
  --_lr-json-viewer-font: var(--lr-font-mono);
14
6
  --_lr-json-viewer-active-outline: var(--lr-focus-ring-color);
15
7
  --_lr-json-viewer-string-color: var(--lr-color-success);
@@ -43,13 +35,6 @@ import{css}from"lit";const styles=css`
43
35
  }
44
36
  [part="tree"] {
45
37
  padding: var(--lr-space-s);
46
- /* A JSON tree's structure -- key, colon, value, brackets, indentation -- reads
47
- left-to-right regardless of the surrounding document direction, exactly like
48
- code and like every JSON view (devtools, VS Code). Without this, an ancestor
49
- dir="rtl" reverses each row to value-colon-key order, right-aligns the tree, and
50
- flips the disclosure chevrons, so the data reads backwards. A key/value that
51
- itself contains RTL text still renders that run correctly via the bidi algorithm;
52
- only the LTR scaffolding is pinned. Matches code-block's [part='pre'] lock. */
53
38
  direction: ltr;
54
39
  }
55
40
  .row {
@@ -62,17 +47,11 @@ import{css}from"lit";const styles=css`
62
47
  .row:hover {
63
48
  background: var(--lr-json-viewer-row-hover-bg, var(--lr-color-brand-quiet));
64
49
  }
65
- /* :where() zeroes the wrapped selectors' specificity contribution, leaving only :hover/
66
- :focus-within themselves -- (0,1,0) total, so a consumer's own ::part(copy-button):hover
67
- override ((0,1,1)) wins without needing !important -- same fix shape as
68
- lr-attachment-trigger's/lr-copy-button's own :where()-wrapped hover rule. */
69
- :where(.row):hover :where([part="copy-button"]),
70
- :where(.row):focus-within :where([part="copy-button"]) {
50
+ .row:hover [part="copy-button"],
51
+ .row:focus-within [part="copy-button"] {
71
52
  opacity: 1;
72
53
  }
73
54
  [part="toggle"] {
74
- /* Keep the glyph compact while giving the interactive box the shared
75
- minimum target size, even for deeply nested rows. */
76
55
  inline-size: var(--lr-size-1-25rem);
77
56
  block-size: var(--lr-size-1-25rem);
78
57
  min-inline-size: var(--lr-icon-button-size);
@@ -89,12 +68,6 @@ import{css}from"lit";const styles=css`
89
68
  border-radius: var(--lr-radius);
90
69
  cursor: pointer;
91
70
  }
92
- /* The UA '[hidden] { display: none }' rule is author-overridable by any
93
- same-origin declaration for that element regardless of specificity --
94
- author rules always win over user-agent rules unless !important is
95
- involved -- so this only needs to add visibility, not re-declare
96
- display. Keeping the box (rather than display:none) preserves this
97
- leaf/empty row's alignment with sibling rows that do have a chevron. */
98
71
  [part="toggle"][hidden] {
99
72
  visibility: hidden;
100
73
  }
@@ -106,13 +79,6 @@ import{css}from"lit";const styles=css`
106
79
  [part="toggle"][aria-expanded="true"] .chevron {
107
80
  transform: rotate(90deg);
108
81
  }
109
- /* No RTL chevron override: [part='tree'] above is pinned direction:ltr, so a collapsed
110
- row's disclosure chevron always points at the LTR-positioned children (to the right),
111
- the same as it does in an LTR document. */
112
- /* :where() zeroes the wrapped selectors' specificity contribution, leaving only :hover itself
113
- -- (0,1,0) total, so a consumer's own ::part(toggle):hover override ((0,1,1)) wins without
114
- needing !important -- same fix shape as lr-attachment-trigger's/lr-copy-button's own
115
- :where()-wrapped hover rule. */
116
82
  :where([part="toggle"]):hover:where(:not([hidden])) {
117
83
  background: var(--lr-color-brand-quiet);
118
84
  color: var(--lr-color-brand);
@@ -130,9 +96,6 @@ import{css}from"lit";const styles=css`
130
96
  outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);
131
97
  outline-offset: var(--lr-focus-ring-offset);
132
98
  }
133
- /* Stands in for [part='toggle'] on the closing-bracket row, so it must match the toggle's
134
- actual used inline-size -- min-inline-size wins over the toggle's own smaller inline-size,
135
- so the real box is --lr-icon-button-size, not --lr-size-1-25rem. */
136
99
  .toggle-space {
137
100
  inline-size: var(--lr-icon-button-size);
138
101
  flex: 0 0 auto;
@@ -153,9 +116,6 @@ import{css}from"lit";const styles=css`
153
116
  flex: 0 0 auto;
154
117
  color: var(--lr-color-text-quiet);
155
118
  }
156
- /* --lr-json-viewer-match-bg indirection (rather than the bare --lr-color-warning-quiet token)
157
- lets a consumer retheme just this component's search-match highlight without repainting
158
- every other warning-toned surface on the page that reads the same shared token. */
159
119
  [part="key"][data-match],
160
120
  [part="value"][data-match] {
161
121
  background: var(--lr-json-viewer-match-bg, var(--lr-color-warning-quiet));
@@ -227,9 +187,6 @@ import{css}from"lit";const styles=css`
227
187
  background: var(--lr-color-brand-quiet);
228
188
  color: var(--lr-color-brand);
229
189
  }
230
- /* This is also the pressed state for the row-hover reveal rule further up: that rule only fades
231
- the button in when its row is hovered, it is not itself a hover treatment on the button, and the
232
- button's own held state belongs here next to its hover. */
233
190
  [part="copy-button"]:active {
234
191
  background: color-mix(
235
192
  in oklab,
@@ -238,9 +195,6 @@ import{css}from"lit";const styles=css`
238
195
  );
239
196
  color: var(--lr-color-brand);
240
197
  }
241
- /* Per-node copy buttons stay out of the way until the row is actually
242
- being interacted with -- the toolbar's own top-level copy button is
243
- exempt (it has no ancestor .row, so this rule never matches it). */
244
198
  .row [part="copy-button"] {
245
199
  opacity: 0;
246
200
  }
@@ -99,8 +99,9 @@ declare const LyraKnownDate_base: typeof LyraKnownDateBase & (new (...args: any[
99
99
  * @csspart fieldset - The `<fieldset>` grouping the three fields.
100
100
  * @csspart legend - The `<legend>` element.
101
101
  * @csspart form-control-label - The visible label wrapper inside the legend.
102
- * @csspart label - Deprecated in 8.0.0; compatibility alias for `form-control-label`, retained
103
- * until at least 10.0.0.
102
+ * @csspart label - Deprecated in 8.0.0; compatibility alias for `form-control-label`. Web Awesome
103
+ * still publishes its own deprecated `label` part on `<wa-known-date>`, so this alias stays on
104
+ * the same node until upstream drops it.
104
105
  * @csspart fields - The row wrapping the three field blocks.
105
106
  * @csspart form-control-input - Alias on the fields row matching other form controls.
106
107
  * @csspart field - Each field block (label + input), repeated three times; distinguished by
@@ -233,7 +234,10 @@ export declare class LyraKnownDate extends LyraKnownDate_base {
233
234
  private readonly dayId;
234
235
  private readonly monthId;
235
236
  private readonly yearId;
236
- /** Hidden native date mirror used by integrations that inspect native constraints directly. */
237
+ /** Hidden native date mirror used by integrations that inspect native constraints directly.
238
+ * Stays a writable `@query` field rather than a readonly `get`: `wa-known-date` declares it
239
+ * writable, and check-pinned-upstream-manifests treats a readonly-vs-writable difference on a
240
+ * mirrored member as an `unsupported` surface drift -- a release blocker. */
237
241
  valueInput: HTMLInputElement;
238
242
  private validationTargetOverride?;
239
243
  constructor();
@@ -1,52 +1,33 @@
1
1
  import{css}from"lit";const styles=css`
2
2
  :host {
3
3
  display: block;
4
- /* Every per-tier value below comes from the library's one shared size ladder
5
- (internal/sizes.styles.ts), which re-points --lr-form-control-* per :host([size='...']) and
6
- matches BOTH spellings of every tier in the same selector list -- so small/medium/large work
7
- here for free. This component's own --lr-known-date-field-* surface is unchanged and still
8
- the documented override point; only the values behind it moved, which is what keeps a
9
- birthdate field the same height as the <lr-input>/<lr-date-input> beside it in a form row at
10
- every tier instead of drifting from a hand-kept copy of that scale. */
11
4
  --_lr-known-date-field-padding-block: var(--lr-form-control-padding-block);
12
5
  --_lr-known-date-field-padding-inline: var(
13
6
  --lr-form-control-padding-inline
14
7
  );
15
8
  --_lr-known-date-field-font-size: var(--lr-form-control-font-size);
16
- /* Not --lr-form-control-gap: that knob is the rhythm between one control's own inline
17
- affordances, an order of magnitude tighter than the gap between three separate field
18
- blocks. Constant across tiers by design. */
19
9
  --_lr-known-date-field-gap: var(--lr-space-s);
10
+ --_lr-known-date-field-fill: var(--lr-color-surface);
11
+ --_lr-known-date-field-border-color: var(--lr-color-border);
20
12
  --_lr-known-date-year-field-width: var(--lr-size-5em);
21
13
  --_lr-known-date-day-field-width: var(--lr-size-3-5em);
22
14
  --_lr-known-date-month-field-width: var(--lr-size-3-5em);
23
- /* max() rather than the bare ladder height: the ladder's 2xs tier resolves to 1.25rem/20px,
24
- and a field a pointer has to hit floors at WCAG 2.2 SC 2.5.8's 24px minimum. Above that the
25
- floor tracks the ladder exactly. At the small tiers the floor exceeds the field's own
26
- padding/font-driven content height and actively pins the rendered box; at l/xl the content
27
- height stays under it, so the floor is inert there. */
28
15
  --_lr-known-date-field-min-height: max(
29
16
  var(--lr-form-control-height),
30
17
  var(--lr-size-24px)
31
18
  );
32
- /* --lr-known-date-field-height is intentionally NOT declared here. It is a consumer-facing
33
- exact-height escape hatch consumed only through the var() fallbacks on [part='field-input']
34
- below; declaring any value for it (even 'auto') would make those fallback arms unreachable
35
- and turn --lr-known-date-field-min-height into dead code (the lr-select trap). Left
36
- undeclared, both arms stay live: the per-tier floor falls out of the fallback, and setting
37
- the property pins an exact height. */
38
19
  }
39
20
 
40
21
  [part~="form-control"] {
41
22
  min-inline-size: 0;
42
23
  }
43
24
 
44
- :host([appearance="filled"]) [part="field-input"] {
45
- border-color: transparent;
46
- background: var(--lr-color-surface-raised);
25
+ :host([appearance="filled"]) {
26
+ --_lr-known-date-field-border-color: transparent;
27
+ --_lr-known-date-field-fill: var(--lr-color-surface-raised);
47
28
  }
48
- :host([appearance="filled-outlined"]) [part="field-input"] {
49
- background: var(--lr-color-surface-raised);
29
+ :host([appearance="filled-outlined"]) {
30
+ --_lr-known-date-field-fill: var(--lr-color-surface-raised);
50
31
  }
51
32
  :host([pill]) [part="field-input"] {
52
33
  border-radius: var(--lr-radius-pill);
@@ -68,22 +49,9 @@ import{css}from"lit";const styles=css`
68
49
  font-weight: var(--lr-font-weight-semibold);
69
50
  overflow-wrap: anywhere;
70
51
  }
71
- /* [part] always contains a literal <slot> child regardless of assigned
72
- content, so :empty never matches -- real emptiness is tracked in JS
73
- (hasLabelSlot) and reflected via [hidden] instead (same fix as every
74
- other lyra form control's label/hint/error chrome). Without this the
75
- required marker below (attached to this box) would render a stray glyph
76
- with nothing before it whenever no label is set. */
77
52
  [part="legend"][hidden] {
78
53
  display: none;
79
54
  }
80
- /* The one component that does NOT take its marker rule from
81
- internal/form-control.styles.ts, only its custom properties. That sheet
82
- attaches the marker to [part~="form-control-label"], which here is a span
83
- INSIDE this legend; the marker belongs to the legend box itself, after the
84
- whole label, so the selector is local while the glyph, colour and offset
85
- stay the same three consumer-settable properties every other control
86
- resolves. Keep these declarations identical to that sheet's. */
87
55
  :host([required]) [part="legend"]::after {
88
56
  content: var(--lr-form-control-required-content, ' *');
89
57
  color: var(--lr-form-control-required-color, var(--lr-color-danger));
@@ -117,8 +85,6 @@ import{css}from"lit";const styles=css`
117
85
  var(--_lr-known-date-field-min-height)
118
86
  )
119
87
  );
120
- /* Pinned only when --lr-known-date-field-height is set; 'auto' otherwise, so the field keeps
121
- growing to fit its own padding/font content. */
122
88
  block-size: var(--lr-known-date-field-height, auto);
123
89
  padding-block: var(
124
90
  --lr-known-date-field-padding-block,
@@ -128,9 +94,10 @@ import{css}from"lit";const styles=css`
128
94
  --lr-known-date-field-padding-inline,
129
95
  var(--_lr-known-date-field-padding-inline)
130
96
  );
131
- border: var(--lr-border-width-thin) solid var(--lr-color-border);
97
+ border: var(--lr-border-width-thin) solid
98
+ var(--_lr-known-date-field-border-color);
132
99
  border-radius: var(--lr-form-control-radius);
133
- background: var(--lr-color-surface);
100
+ background: var(--_lr-known-date-field-fill);
134
101
  color: var(--lr-color-text);
135
102
  font-family: inherit;
136
103
  font-size: var(
@@ -157,11 +124,6 @@ import{css}from"lit";const styles=css`
157
124
  var(--_lr-known-date-year-field-width)
158
125
  );
159
126
  }
160
- /* Mouse-hover parity with the keyboard :focus-visible ring below -- same border-retint
161
- treatment as lr-color-picker's own bordered [part='input']:hover.
162
- no-pressed-state: a press on a number field lands the caret rather than activating a control,
163
- so a pressed tint would show only for the length of the mousedown and then be replaced by the
164
- :focus-visible ring below, which is the state that actually persists and communicates. */
165
127
  [part="field-input"]:hover {
166
128
  border-color: var(--lr-color-brand);
167
129
  }
@@ -169,9 +131,6 @@ import{css}from"lit";const styles=css`
169
131
  outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);
170
132
  outline-offset: var(--lr-focus-ring-offset);
171
133
  }
172
- /* --lr-known-date-invalid-border-color indirection (rather than the bare --lr-color-danger
173
- token) lets a consumer retheme just this component's invalid-field border without
174
- repainting every other component in the app that reads the same shared danger token. */
175
134
  :host([data-invalid]) [part="field-input"] {
176
135
  border-color: var(
177
136
  --lr-known-date-invalid-border-color,
@@ -1,8 +1,4 @@
1
1
  import{css}from"lit";const styles=css`
2
- /* The host contributes no box of its own -- \`.sr-only\` (composed in via
3
- internal/a11y.ts's shared \`srOnly\`) already takes the single child out
4
- of flow via absolute positioning, so a wrapping host box would just be
5
- an empty, purposeless inline element sitting in the document. */
6
2
  :host {
7
3
  display: contents;
8
4
  }
@@ -3,17 +3,10 @@ import{css}from"lit";const styles=css`
3
3
  display: contents;
4
4
  }
5
5
 
6
- /* Positioned by internal/positioner.js's place() -- same fixed/z-index
7
- shape as lr-combobox's/lr-select's own [part='listbox']. Closed
8
- state: invisible + slightly raised, transitioning in on :host([open]),
9
- same as those two. */
10
6
  [part='listbox'] {
11
7
  position: fixed;
12
8
  z-index: var(--lr-layer-dropdown);
13
9
  box-sizing: border-box;
14
- /* Clamped against internal/positioner.js's place()-published available-space custom
15
- properties (see menu.styles.ts's/combobox.styles.ts's identical [part='listbox']
16
- treatment) so this popup can't overflow off-screen on a short/keyboard-shrunk viewport. */
17
10
  max-block-size: min(var(--lr-size-16rem), var(--lr-positioner-available-block-size, var(--lr-size-16rem)));
18
11
  overflow-y: auto;
19
12
  overflow-x: clip;
@@ -24,7 +17,6 @@ import{css}from"lit";const styles=css`
24
17
  background: var(--lr-color-surface);
25
18
  border: var(--lr-border-width-thin) solid var(--lr-color-border);
26
19
  border-radius: var(--lr-radius);
27
- /* Anchored overlay: a positioner-placed listbox floating over page content, not a modal layer. */
28
20
  box-shadow: var(--lr-shadow-m);
29
21
  visibility: hidden;
30
22
  opacity: 0;
@@ -56,19 +48,10 @@ import{css}from"lit";const styles=css`
56
48
  border-radius: var(--lr-radius);
57
49
  cursor: pointer;
58
50
  }
59
- /* --lr-mention-popover-option-active-bg indirection (rather than the bare --lr-color-brand-quiet
60
- token) lets a consumer retheme just this component's highlighted/active suggestion row
61
- without repainting every other component that reuses the same shared brand-quiet token --
62
- same indirection lr-select's/lr-combobox's identical-looking [part='option'][data-active]
63
- background is missing (checklist's own named example for this check). */
64
51
  [part='option']:hover,
65
52
  [part='option'][data-active] {
66
53
  background: var(--lr-mention-popover-option-active-bg, var(--lr-color-brand-quiet));
67
54
  }
68
- /* Mixed from the same overridable highlight the hover/active-row rule uses, so a consumer who
69
- retints --lr-mention-popover-option-active-bg gets a matching pressed state for free. This also
70
- serves the [part='option-description'] hover rule below, which is a descendant treatment of this
71
- same row rather than a hover state of its own. */
72
55
  [part='option']:active {
73
56
  background: color-mix(
74
57
  in oklab,
@@ -104,14 +87,6 @@ import{css}from"lit";const styles=css`
104
87
  text-overflow: ellipsis;
105
88
  white-space: nowrap;
106
89
  }
107
- /* --lr-color-text-quiet-on-brand-quiet fails WCAG AA (~4.24:1, needs
108
- 4.5:1) -- unlike lr-combobox's/lr-select's identical-looking
109
- [part='option'][data-active] background (which never has this problem
110
- in practice, since those default their active index to -1/none until a
111
- user actually arrows through the list), this component always opens
112
- with row 0 pre-highlighted (see the activeIndex field's own doc), so the
113
- active/quiet-text combination is the default state, not an edge case --
114
- it must pass contrast on its own. */
115
90
  [part='option']:hover [part='option-description'],
116
91
  [part='option'][data-active] [part='option-description'] {
117
92
  color: var(--lr-color-text);
@@ -15,10 +15,6 @@ import{css}from"lit";const styles=css`
15
15
  block-size: var(--lr-size-0-375rem);
16
16
  border-radius: var(--lr-radius-pill);
17
17
  background: var(--lr-color-brand);
18
- /* Same token/rationale as lr-stream-status's and lr-typing-indicator's
19
- own looping pulse: --lr-transition-ambient is the length the library
20
- reserves for ambient "still alive" motion, so every looping indicator
21
- shares one calm rhythm instead of hand-rolling its own duration. */
22
18
  animation: lr-poll-status-pulse var(--lr-transition-ambient) infinite;
23
19
  }
24
20
  [part='indicator'][data-due] {