@aceshooting/lyra-ui 9.1.1 → 11.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (585) hide show
  1. package/CHANGELOG.md +785 -0
  2. package/custom-elements.json +1 -1
  3. package/design-tokens.json +13 -0
  4. package/dist/cli/migrate-wa.mjs +216 -1
  5. package/dist/cli/migration-contract.json +1 -1
  6. package/dist/components/agent-tools/activity-feed/activity-feed.class.js +1 -1
  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 +7 -5
  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.styles.js +7 -4
  13. package/dist/components/agent-tools/approval-queue/approval-queue.styles.js +7 -5
  14. package/dist/components/agent-tools/artifact-panel/artifact-panel.styles.js +0 -3
  15. package/dist/components/agent-tools/browser-frame/browser-frame.styles.js +3 -5
  16. package/dist/components/agent-tools/commit-card/commit-card.styles.js +0 -10
  17. package/dist/components/agent-tools/compare-panel/compare-panel.styles.js +11 -6
  18. package/dist/components/agent-tools/confirm-bar/confirm-bar.styles.js +0 -46
  19. package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +0 -7
  20. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +2 -2
  21. package/dist/components/agent-tools/prompt-studio/prompt-studio.styles.js +0 -15
  22. package/dist/components/agent-tools/result-card/result-card.styles.js +0 -7
  23. package/dist/components/agent-tools/result-card/result-field.styles.js +0 -5
  24. package/dist/components/agent-tools/schema-viewer/schema-viewer.styles.js +0 -3
  25. package/dist/components/agent-tools/span-waterfall/span-waterfall.styles.js +0 -15
  26. package/dist/components/agent-tools/stack-trace/stack-trace.styles.js +0 -20
  27. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +2 -2
  28. package/dist/components/agent-tools/subagent-panel/subagent-panel.styles.js +0 -3
  29. package/dist/components/agent-tools/task-list/task-list.styles.js +0 -15
  30. package/dist/components/agent-tools/terminal/terminal.class.d.ts +11 -6
  31. package/dist/components/agent-tools/terminal/terminal.class.js +4 -4
  32. package/dist/components/agent-tools/terminal/terminal.styles.js +0 -46
  33. package/dist/components/agent-tools/test-results/test-results.class.js +2 -2
  34. package/dist/components/agent-tools/test-results/test-results.styles.js +0 -5
  35. package/dist/components/agent-tools/thinking-panel/thinking-panel.styles.js +0 -41
  36. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.styles.js +0 -41
  37. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js +0 -30
  38. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +6 -6
  39. package/dist/components/agent-tools/tool-param-form/tool-param-form.styles.js +0 -5
  40. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +0 -20
  41. package/dist/components/agent-tools/tool-result-view/tool-result-view.styles.js +0 -4
  42. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.styles.js +0 -21
  43. package/dist/components/agent-tools/trace-tree/trace-tree.styles.js +7 -31
  44. package/dist/components/charts/chart/box-plot.class.d.ts +27 -0
  45. package/dist/components/charts/chart/box-plot.class.js +14 -4
  46. package/dist/components/charts/chart/box-plot.styles.js +28 -20
  47. package/dist/components/charts/chart/chart-colors.d.ts +1 -1
  48. package/dist/components/charts/chart/chart-colors.js +1 -1
  49. package/dist/components/charts/chart/chart-core-loader.d.ts +1 -0
  50. package/dist/components/charts/chart/chart-core-loader.js +1 -1
  51. package/dist/components/charts/chart/chart-feature-loader.d.ts +35 -0
  52. package/dist/components/charts/chart/chart-feature-loader.js +1 -1
  53. package/dist/components/charts/chart/chart.class.d.ts +120 -0
  54. package/dist/components/charts/chart/chart.class.js +16 -6
  55. package/dist/components/charts/chart/chart.styles.js +28 -27
  56. package/dist/components/charts/chart/lite-chart.class.d.ts +20 -1
  57. package/dist/components/charts/chart/lite-chart.class.js +4 -4
  58. package/dist/components/charts/chart/lite-chart.styles.js +0 -27
  59. package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +20 -0
  60. package/dist/components/conversation/agent-workspace/agent-workspace.class.js +3 -1
  61. package/dist/components/conversation/agent-workspace/agent-workspace.styles.js +3 -0
  62. package/dist/components/conversation/audio-visualizer/audio-visualizer.styles.js +0 -7
  63. package/dist/components/conversation/branch-picker/branch-picker.styles.js +0 -3
  64. package/dist/components/conversation/chat-composer/chat-composer.styles.js +0 -51
  65. package/dist/components/conversation/chat-message/chat-message.styles.js +7 -35
  66. package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
  67. package/dist/components/conversation/chat-viewport/chat-viewport.styles.js +0 -33
  68. package/dist/components/conversation/checkpoint/checkpoint.class.js +1 -1
  69. package/dist/components/conversation/checkpoint/checkpoint.styles.js +0 -3
  70. package/dist/components/conversation/code-block/code-block-shared.d.ts +5 -2
  71. package/dist/components/conversation/code-block/code-block.class.js +1 -1
  72. package/dist/components/conversation/code-block/code-block.styles.js +4 -95
  73. package/dist/components/conversation/code-block/code-loader.d.ts +11 -0
  74. package/dist/components/conversation/code-block/code-loader.js +1 -1
  75. package/dist/components/conversation/code-block/shiki-types.d.ts +12 -0
  76. package/dist/components/conversation/code-block/shiki-types.js +1 -1
  77. package/dist/components/conversation/conversation-item/conversation-item.styles.js +8 -54
  78. package/dist/components/conversation/generation-metrics/generation-metrics.class.js +2 -2
  79. package/dist/components/conversation/generation-metrics/generation-metrics.styles.js +0 -17
  80. package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
  81. package/dist/components/conversation/markdown/markdown.styles.js +0 -41
  82. package/dist/components/conversation/message-actions/message-actions.styles.js +0 -3
  83. package/dist/components/conversation/message-feedback/message-feedback.styles.js +0 -35
  84. package/dist/components/conversation/message-parts/message-parts.class.d.ts +1 -1
  85. package/dist/components/conversation/message-parts/message-parts.styles.js +0 -5
  86. package/dist/components/conversation/model-select/model-select.class.js +3 -3
  87. package/dist/components/conversation/model-select/model-select.styles.js +12 -47
  88. package/dist/components/conversation/model-settings-panel/model-settings-panel.styles.js +0 -6
  89. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +3 -0
  90. package/dist/components/conversation/prompt-input/prompt-input.styles.js +0 -10
  91. package/dist/components/conversation/push-to-talk/push-to-talk.styles.js +0 -8
  92. package/dist/components/conversation/selection-toolbar/selection-toolbar.styles.js +1 -11
  93. package/dist/components/conversation/stream-status/stream-status.styles.js +0 -16
  94. package/dist/components/conversation/streaming-text/streaming-text.styles.js +0 -15
  95. package/dist/components/conversation/suggestion-chips/suggestion-chips.styles.js +0 -5
  96. package/dist/components/conversation/thread-list/thread-list.styles.js +0 -23
  97. package/dist/components/conversation/transcript-feed/transcript-feed.class.d.ts +16 -4
  98. package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
  99. package/dist/components/conversation/transcript-feed/transcript-feed.styles.js +0 -1
  100. package/dist/components/conversation/typing-indicator/typing-indicator.styles.js +0 -23
  101. package/dist/components/conversation/usage-badge/usage-badge.styles.js +0 -3
  102. package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -3
  103. package/dist/components/conversation/voice-picker/voice-picker.styles.js +9 -29
  104. package/dist/components/conversation/widget-renderer/resolve.d.ts +2 -0
  105. package/dist/components/conversation/widget-renderer/resolve.js +1 -1
  106. package/dist/components/data/calendar/calendar.class.d.ts +15 -2
  107. package/dist/components/data/calendar/calendar.class.js +2 -2
  108. package/dist/components/data/calendar/calendar.styles.js +2 -28
  109. package/dist/components/data/condition-builder/condition-builder.class.d.ts +10 -6
  110. package/dist/components/data/condition-builder/condition-builder.class.js +2 -2
  111. package/dist/components/data/condition-builder/condition-builder.styles.js +0 -6
  112. package/dist/components/data/context-meter/context-meter.styles.js +0 -24
  113. package/dist/components/data/data-grid/data-grid.class.js +3 -3
  114. package/dist/components/data/data-grid/data-grid.styles.js +0 -22
  115. package/dist/components/data/document-library/document-library.class.js +2 -2
  116. package/dist/components/data/document-library/document-library.styles.js +0 -4
  117. package/dist/components/data/env-list/env-list.class.js +1 -1
  118. package/dist/components/data/env-list/env-list.styles.js +7 -4
  119. package/dist/components/data/file-tree/file-tree.class.d.ts +12 -0
  120. package/dist/components/data/flow-canvas/flow-canvas.styles.js +12 -19
  121. package/dist/components/data/flow-controls/flow-controls.class.js +2 -2
  122. package/dist/components/data/flow-controls/flow-controls.styles.js +3 -36
  123. package/dist/components/data/flow-minimap/flow-minimap.class.js +1 -1
  124. package/dist/components/data/flow-minimap/flow-minimap.styles.js +0 -9
  125. package/dist/components/data/flow-node/flow-node.styles.js +0 -23
  126. package/dist/components/data/flow-run-status/flow-run-status.class.js +1 -1
  127. package/dist/components/data/flow-run-status/flow-run-status.styles.js +0 -7
  128. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +0 -7
  129. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
  130. package/dist/components/data/graph-query-builder/graph-query-builder.styles.js +0 -10
  131. package/dist/components/data/heatmap/heatmap-scale.d.ts +20 -0
  132. package/dist/components/data/heatmap/heatmap-scale.js +1 -1
  133. package/dist/components/data/heatmap/heatmap.class.d.ts +117 -1
  134. package/dist/components/data/heatmap/heatmap.class.js +2 -2
  135. package/dist/components/data/heatmap/heatmap.styles.js +0 -54
  136. package/dist/components/data/pagination/pagination.styles.js +23 -46
  137. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +34 -1
  138. package/dist/components/data/sequence-strip/sequence-strip.class.js +5 -2
  139. package/dist/components/data/sequence-strip/sequence-strip.styles.js +14 -20
  140. package/dist/components/data/sparkline/sparkline.class.js +1 -1
  141. package/dist/components/data/stat/stat.styles.js +0 -67
  142. package/dist/components/data/table/table.class.d.ts +42 -3
  143. package/dist/components/data/table/table.class.js +4 -4
  144. package/dist/components/data/table/table.styles.js +20 -91
  145. package/dist/components/data/timeline/timeline-item.styles.js +0 -30
  146. package/dist/components/data/timeline/timeline.class.d.ts +89 -1
  147. package/dist/components/data/timeline/timeline.class.js +2 -2
  148. package/dist/components/data/timeline/timeline.styles.js +111 -31
  149. package/dist/components/data/tree/tree-item.styles.js +1 -28
  150. package/dist/components/data/tree/tree.class.js +2 -2
  151. package/dist/components/data/tree/tree.styles.js +0 -6
  152. package/dist/components/data/word-cloud/word-cloud.styles.js +0 -5
  153. package/dist/components/forms/button/button.class.js +1 -1
  154. package/dist/components/forms/button/button.styles.js +0 -105
  155. package/dist/components/forms/checkbox/checkbox.class.d.ts +3 -0
  156. package/dist/components/forms/checkbox/checkbox.class.js +1 -1
  157. package/dist/components/forms/checkbox/checkbox.styles.js +0 -39
  158. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +21 -2
  159. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  160. package/dist/components/forms/checkbox-group/checkbox-group.styles.js +0 -18
  161. package/dist/components/forms/code-editor/code-editor.styles.js +0 -30
  162. package/dist/components/forms/color-picker/color-picker.class.js +2 -2
  163. package/dist/components/forms/color-picker/color-picker.styles.js +0 -69
  164. package/dist/components/forms/combobox/combobox.class.d.ts +71 -3
  165. package/dist/components/forms/combobox/combobox.class.js +5 -3
  166. package/dist/components/forms/combobox/combobox.styles.js +31 -111
  167. package/dist/components/forms/combobox/option.styles.js +7 -1
  168. package/dist/components/forms/date-picker/date-input.class.js +1 -1
  169. package/dist/components/forms/date-picker/date-input.styles.js +12 -67
  170. package/dist/components/forms/date-picker/date-picker.class.d.ts +47 -0
  171. package/dist/components/forms/date-picker/date-picker.class.js +36 -22
  172. package/dist/components/forms/date-picker/date-picker.styles.js +82 -29
  173. package/dist/components/forms/emoji-picker/emoji-data-loader.d.ts +6 -3
  174. package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
  175. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +8 -1
  176. package/dist/components/forms/emoji-picker/emoji-picker.class.js +1 -1
  177. package/dist/components/forms/emoji-picker/emoji-picker.styles.js +3 -41
  178. package/dist/components/forms/icon-button/icon-button.class.js +1 -1
  179. package/dist/components/forms/icon-button/icon-button.styles.js +0 -16
  180. package/dist/components/forms/input/input.styles.js +0 -54
  181. package/dist/components/forms/input/number-input.styles.d.ts +4 -5
  182. package/dist/components/forms/input/number-input.styles.js +0 -11
  183. package/dist/components/forms/input/time-input-shared.d.ts +11 -0
  184. package/dist/components/forms/input/time-input-shared.js +1 -1
  185. package/dist/components/forms/input/time-input.class.d.ts +11 -2
  186. package/dist/components/forms/input/time-input.class.js +1 -1
  187. package/dist/components/forms/input/time-input.styles.js +0 -6
  188. package/dist/components/forms/locale-picker/locale-picker.class.js +2 -2
  189. package/dist/components/forms/locale-picker/locale-picker.styles.js +1 -26
  190. package/dist/components/forms/otp-input/otp-input.class.js +3 -3
  191. package/dist/components/forms/otp-input/otp-input.styles.js +0 -16
  192. package/dist/components/forms/phone-input/phone-input.class.d.ts +9 -1
  193. package/dist/components/forms/phone-input/phone-input.class.js +2 -2
  194. package/dist/components/forms/phone-input/phone-input.styles.js +0 -37
  195. package/dist/components/forms/radio/radio-button.styles.js +1 -30
  196. package/dist/components/forms/radio/radio-group.styles.js +0 -4
  197. package/dist/components/forms/radio/radio.styles.js +0 -44
  198. package/dist/components/forms/rubric-form/rubric-form.styles.js +0 -5
  199. package/dist/components/forms/select/select.class.js +1 -1
  200. package/dist/components/forms/select/select.styles.js +14 -114
  201. package/dist/components/forms/slider/slider.styles.js +0 -55
  202. package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +0 -11
  203. package/dist/components/forms/swatch-picker/swatch-picker.class.js +2 -2
  204. package/dist/components/forms/swatch-picker/swatch-picker.styles.js +0 -77
  205. package/dist/components/forms/switch/switch.class.d.ts +3 -0
  206. package/dist/components/forms/switch/switch.class.js +1 -1
  207. package/dist/components/forms/switch/switch.styles.js +0 -37
  208. package/dist/components/forms/textarea/textarea.styles.js +0 -28
  209. package/dist/components/forms/time-range/time-range.styles.js +12 -84
  210. package/dist/components/forms/token-input/token-input.class.d.ts +23 -9
  211. package/dist/components/forms/token-input/token-input.class.js +1 -1
  212. package/dist/components/forms/token-input/token-input.styles.js +1 -54
  213. package/dist/components/layout/app-rail/app-rail-item.class.js +2 -2
  214. package/dist/components/layout/app-rail/app-rail-item.styles.js +0 -13
  215. package/dist/components/layout/app-rail/app-rail.class.d.ts +5 -0
  216. package/dist/components/layout/app-rail/app-rail.class.js +1 -1
  217. package/dist/components/layout/app-rail/app-rail.styles.js +0 -46
  218. package/dist/components/layout/button-group/button-group.styles.js +0 -6
  219. package/dist/components/layout/card/card.class.d.ts +12 -0
  220. package/dist/components/layout/card/card.styles.js +3 -11
  221. package/dist/components/layout/carousel/carousel.styles.js +0 -1
  222. package/dist/components/layout/command-palette/command-palette.class.d.ts +8 -0
  223. package/dist/components/layout/command-palette/command-palette.class.js +3 -1
  224. package/dist/components/layout/command-palette/command-palette.styles.js +1 -13
  225. package/dist/components/layout/control-group/control-group.styles.js +0 -7
  226. package/dist/components/layout/dashboard-grid/dashboard-grid.styles.js +6 -25
  227. package/dist/components/layout/details/accordion.class.d.ts +13 -0
  228. package/dist/components/layout/details/accordion.class.js +1 -1
  229. package/dist/components/layout/details/details.class.js +1 -1
  230. package/dist/components/layout/details/details.styles.js +0 -12
  231. package/dist/components/layout/dock-panel/dock-panel.styles.js +0 -45
  232. package/dist/components/layout/drilldown-panel/drilldown-panel.class.d.ts +2 -0
  233. package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +2 -2
  234. package/dist/components/layout/drilldown-panel/drilldown-panel.styles.js +0 -4
  235. package/dist/components/layout/filter-bar/filter-bar.class.js +1 -1
  236. package/dist/components/layout/filter-bar/filter-bar.styles.js +0 -9
  237. package/dist/components/layout/menu/menu-item.class.d.ts +5 -0
  238. package/dist/components/layout/menu/menu-item.class.js +1 -1
  239. package/dist/components/layout/menu/menu-item.styles.js +0 -49
  240. package/dist/components/layout/menu/menu-label.styles.js +0 -2
  241. package/dist/components/layout/menu/menu.styles.js +0 -18
  242. package/dist/components/layout/multi-split/multi-split.styles.js +0 -63
  243. package/dist/components/layout/page/page.class.d.ts +4 -0
  244. package/dist/components/layout/page/page.class.js +1 -1
  245. package/dist/components/layout/reorder-list/reorder-item.styles.js +0 -4
  246. package/dist/components/layout/responsive-panel/responsive-panel.styles.js +0 -27
  247. package/dist/components/layout/scroller/scroller.styles.js +0 -20
  248. package/dist/components/layout/segmented/segmented.class.d.ts +7 -1
  249. package/dist/components/layout/segmented/segmented.class.js +1 -1
  250. package/dist/components/layout/segmented/segmented.styles.js +69 -37
  251. package/dist/components/layout/split-panel/split-panel.styles.js +1 -7
  252. package/dist/components/layout/stepper/stepper.class.d.ts +8 -1
  253. package/dist/components/layout/stepper/stepper.class.js +1 -1
  254. package/dist/components/layout/stepper/stepper.styles.js +140 -41
  255. package/dist/components/layout/tab-group/tab-group.class.d.ts +4 -1
  256. package/dist/components/layout/tab-group/tab-group.styles.js +9 -75
  257. package/dist/components/layout/tab-group/tab.styles.js +0 -2
  258. package/dist/components/layout/virtual-list/virtual-list.class.d.ts +4 -4
  259. package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
  260. package/dist/components/layout/virtual-list/virtual-list.styles.js +0 -68
  261. package/dist/components/layout/widget/widget.class.d.ts +5 -1
  262. package/dist/components/layout/widget/widget.class.js +1 -1
  263. package/dist/components/layout/widget/widget.styles.js +97 -40
  264. package/dist/components/media/animated-image/animated-image.class.d.ts +3 -0
  265. package/dist/components/media/animated-image/animated-image.class.js +1 -1
  266. package/dist/components/media/animated-image/animated-image.styles.js +0 -28
  267. package/dist/components/media/attachment-chip/attachment-chip.class.d.ts +1 -1
  268. package/dist/components/media/attachment-chip/attachment-chip.class.js +1 -1
  269. package/dist/components/media/attachment-chip/attachment-chip.styles.js +0 -31
  270. package/dist/components/media/attachment-trigger/attachment-trigger.class.js +3 -3
  271. package/dist/components/media/attachment-trigger/attachment-trigger.styles.js +0 -40
  272. package/dist/components/media/av-player/av-player.class.d.ts +5 -6
  273. package/dist/components/media/av-player/av-player.class.js +1 -1
  274. package/dist/components/media/av-player/av-player.styles.js +0 -45
  275. package/dist/components/media/avatar/avatar.styles.js +3 -16
  276. package/dist/components/media/file-icon/file-icon.class.d.ts +1 -2
  277. package/dist/components/media/file-icon/file-icon.class.js +1 -1
  278. package/dist/components/media/file-input/file-input.class.d.ts +12 -0
  279. package/dist/components/media/file-input/file-input.styles.js +3 -24
  280. package/dist/components/media/flag/flag.class.d.ts +23 -1
  281. package/dist/components/media/flag/flag.class.js +4 -2
  282. package/dist/components/media/flag/flag.styles.js +7 -1
  283. package/dist/components/media/flag/language-map.d.ts +10 -0
  284. package/dist/components/media/flag/language-map.js +1 -1
  285. package/dist/components/media/image-comparer/image-comparer.styles.js +4 -33
  286. package/dist/components/media/image-viewer/image-viewer.class.js +0 -2
  287. package/dist/components/media/image-viewer/image-viewer.styles.js +7 -27
  288. package/dist/components/media/lightbox/lightbox.class.js +0 -2
  289. package/dist/components/media/lightbox/lightbox.styles.js +0 -21
  290. package/dist/components/media/map/map-loader.d.ts +19 -1
  291. package/dist/components/media/map/map-loader.js +1 -1
  292. package/dist/components/media/map/map.class.d.ts +178 -1
  293. package/dist/components/media/map/map.class.js +15 -3
  294. package/dist/components/media/map/map.styles.js +20 -17
  295. package/dist/components/media/media-card/media-card.class.d.ts +14 -3
  296. package/dist/components/media/media-card/media-card.class.js +1 -1
  297. package/dist/components/media/media-card/media-card.styles.js +2 -28
  298. package/dist/components/media/pan-zoom/pan-zoom.styles.js +0 -3
  299. package/dist/components/media/qr-code/qr-code.class.d.ts +3 -2
  300. package/dist/components/media/qr-code/qr-code.class.js +2 -2
  301. package/dist/components/media/qr-code/qr-code.styles.js +0 -3
  302. package/dist/components/media/sequence-playback/sequence-playback.class.d.ts +2 -0
  303. package/dist/components/media/sequence-playback/sequence-playback.class.js +2 -1
  304. package/dist/components/media/sequence-playback/sequence-playback.styles.js +0 -19
  305. package/dist/components/media/video/video.class.d.ts +23 -2
  306. package/dist/components/media/video/video.class.js +3 -3
  307. package/dist/components/media/video/video.styles.js +4 -2
  308. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +3 -2
  309. package/dist/components/media/zoomable-frame/zoomable-frame.class.js +2 -2
  310. package/dist/components/media/zoomable-frame/zoomable-frame.styles.js +0 -5
  311. package/dist/components/overlays/alert/alert.styles.js +4 -2
  312. package/dist/components/overlays/badge/badge.styles.js +4 -48
  313. package/dist/components/overlays/badge/tag.styles.js +0 -14
  314. package/dist/components/overlays/callout/callout.styles.js +0 -11
  315. package/dist/components/overlays/chip/chip-group.styles.js +0 -18
  316. package/dist/components/overlays/chip/chip.styles.js +6 -69
  317. package/dist/components/overlays/dialog/confirm.d.ts +1 -4
  318. package/dist/components/overlays/dialog/confirm.js +1 -1
  319. package/dist/components/overlays/dialog/dialog.class.d.ts +32 -9
  320. package/dist/components/overlays/dialog/dialog.class.js +1 -1
  321. package/dist/components/overlays/dialog/dialog.styles.js +0 -43
  322. package/dist/components/overlays/drawer/drawer.class.d.ts +2 -2
  323. package/dist/components/overlays/drawer/drawer.styles.js +0 -9
  324. package/dist/components/overlays/empty/empty.styles.js +0 -12
  325. package/dist/components/overlays/kbd/kbd.styles.js +0 -8
  326. package/dist/components/overlays/overlay/dropdown.class.d.ts +1 -6
  327. package/dist/components/overlays/overlay/dropdown.class.js +2 -2
  328. package/dist/components/overlays/overlay/overlay.styles.js +0 -28
  329. package/dist/components/overlays/overlay/popover.class.d.ts +28 -4
  330. package/dist/components/overlays/overlay/popover.class.js +2 -2
  331. package/dist/components/overlays/overlay/tooltip.class.d.ts +10 -0
  332. package/dist/components/overlays/overlay/tooltip.class.js +1 -1
  333. package/dist/components/overlays/popup/popup.class.d.ts +1 -0
  334. package/dist/components/overlays/popup/popup.class.js +1 -1
  335. package/dist/components/overlays/popup/popup.styles.js +0 -15
  336. package/dist/components/overlays/progress/progress-ring.class.d.ts +9 -1
  337. package/dist/components/overlays/progress/progress-ring.class.js +3 -3
  338. package/dist/components/overlays/progress/progress.styles.js +0 -21
  339. package/dist/components/overlays/rating/rating.styles.js +0 -25
  340. package/dist/components/overlays/skeleton/skeleton.styles.js +0 -4
  341. package/dist/components/overlays/spinner/spinner.styles.js +0 -3
  342. package/dist/components/overlays/toast/toast-item.styles.js +3 -45
  343. package/dist/components/retrieval/chunk-inspector/chunk-inspector.styles.js +0 -35
  344. package/dist/components/retrieval/citation-badge/citation-badge.class.d.ts +2 -2
  345. package/dist/components/retrieval/citation-badge/citation-badge.class.js +3 -3
  346. package/dist/components/retrieval/citation-badge/citation-badge.styles.js +0 -20
  347. package/dist/components/retrieval/claim-evidence/claim-evidence.styles.js +0 -8
  348. package/dist/components/retrieval/community-card/community-card.class.d.ts +1 -0
  349. package/dist/components/retrieval/community-card/community-card.styles.js +0 -6
  350. package/dist/components/retrieval/embedding-explorer/embedding-explorer.styles.js +8 -12
  351. package/dist/components/retrieval/entity-card/entity-card.class.d.ts +4 -3
  352. package/dist/components/retrieval/entity-card/entity-card.class.js +1 -1
  353. package/dist/components/retrieval/entity-card/entity-card.styles.js +0 -12
  354. package/dist/components/retrieval/entity-chip/entity-chip.class.d.ts +10 -4
  355. package/dist/components/retrieval/entity-chip/entity-chip.class.js +3 -3
  356. package/dist/components/retrieval/entity-chip/entity-chip.styles.js +6 -9
  357. package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts +19 -5
  358. package/dist/components/retrieval/graph/graph.class.d.ts +5 -0
  359. package/dist/components/retrieval/graph/graph.class.js +1 -1
  360. package/dist/components/retrieval/graph/graph.styles.js +0 -30
  361. package/dist/components/retrieval/graph-legend/graph-legend.styles.js +0 -3
  362. package/dist/components/retrieval/ingestion-queue/ingestion-queue.styles.js +0 -25
  363. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.d.ts +2 -0
  364. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.styles.js +0 -7
  365. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +20 -6
  366. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +2 -2
  367. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.styles.js +0 -16
  368. package/dist/components/retrieval/mind-map/mind-map.class.d.ts +5 -3
  369. package/dist/components/retrieval/mind-map/mind-map.class.js +1 -1
  370. package/dist/components/retrieval/mind-map/mind-map.styles.js +0 -2
  371. package/dist/components/retrieval/neighbor-list/neighbor-list.class.d.ts +3 -2
  372. package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +1 -1
  373. package/dist/components/retrieval/neighbor-list/neighbor-list.styles.js +0 -30
  374. package/dist/components/retrieval/node-palette/node-palette.styles.js +0 -11
  375. package/dist/components/retrieval/path-strip/path-strip.styles.js +0 -10
  376. package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts +12 -3
  377. package/dist/components/retrieval/provenance-panel/provenance-panel.styles.js +0 -2
  378. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.d.ts +3 -2
  379. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +2 -2
  380. package/dist/components/retrieval/retrieval-results/retrieval-results.styles.js +0 -28
  381. package/dist/components/retrieval/retrieval-search/retrieval-search.styles.js +0 -4
  382. package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.js +0 -2
  383. package/dist/components/retrieval/source-card/source-card.styles.js +0 -13
  384. package/dist/components/retrieval/source-list/source-list.styles.js +0 -7
  385. package/dist/components/retrieval/source-picker/source-picker.styles.js +0 -7
  386. package/dist/components/utility/copy-button/copy-button.styles.js +0 -10
  387. package/dist/components/utility/diff-view/diff-view.styles.js +0 -14
  388. package/dist/components/utility/export-button/export-button.styles.js +0 -22
  389. package/dist/components/utility/icon/icon.styles.js +0 -6
  390. package/dist/components/utility/json-viewer/json-viewer.styles.js +2 -48
  391. package/dist/components/utility/known-date/known-date.class.d.ts +7 -3
  392. package/dist/components/utility/known-date/known-date.styles.js +10 -51
  393. package/dist/components/utility/live-region/live-region.styles.js +0 -4
  394. package/dist/components/utility/mention-popover/mention-popover.styles.js +0 -25
  395. package/dist/components/utility/poll-status/poll-status.styles.js +0 -4
  396. package/dist/components/utility/random-content/random-content.class.d.ts +22 -0
  397. package/dist/components/utility/random-content/random-content.class.js +3 -2
  398. package/dist/components/utility/random-content/random-content.styles.js +6 -13
  399. package/dist/components/utility/tour/tour.class.d.ts +4 -2
  400. package/dist/components/utility/tour/tour.class.js +3 -3
  401. package/dist/components/utility/tour/tour.styles.js +0 -13
  402. package/dist/components/utility/visually-hidden/visually-hidden.styles.js +0 -5
  403. package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
  404. package/dist/components/viewers/archive-viewer/archive-viewer.styles.d.ts +2 -2
  405. package/dist/components/viewers/archive-viewer/archive-viewer.styles.js +0 -10
  406. package/dist/components/viewers/csv-viewer/csv-viewer.class.js +1 -1
  407. package/dist/components/viewers/csv-viewer/csv-viewer.styles.js +0 -19
  408. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +1 -1
  409. package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +0 -15
  410. package/dist/components/viewers/document-compare/document-compare.styles.js +0 -3
  411. package/dist/components/viewers/document-preview/document-preview.styles.js +0 -25
  412. package/dist/components/viewers/document-viewer/document-viewer.class.d.ts +2 -1
  413. package/dist/components/viewers/document-viewer/document-viewer.class.js +1 -1
  414. package/dist/components/viewers/document-viewer/document-viewer.styles.js +0 -5
  415. package/dist/components/viewers/docx-viewer/docx-viewer.styles.js +0 -17
  416. package/dist/components/viewers/ebook-viewer/ebook-viewer.styles.js +0 -4
  417. package/dist/components/viewers/email-viewer/email-viewer.styles.js +0 -7
  418. package/dist/components/viewers/geojson-view/geojson-view.styles.js +0 -5
  419. package/dist/components/viewers/highlight-layer/highlight-layer.styles.js +0 -3
  420. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +1 -1
  421. package/dist/components/viewers/notebook-viewer/notebook-viewer.styles.js +0 -38
  422. package/dist/components/viewers/page-rail/page-rail.class.js +1 -1
  423. package/dist/components/viewers/page-rail/page-rail.styles.js +0 -13
  424. package/dist/components/viewers/pdf-viewer/pdf-loader.d.ts +13 -2
  425. package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
  426. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +32 -2
  427. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +4 -4
  428. package/dist/components/viewers/pdf-viewer/pdf-viewer.styles.js +1 -27
  429. package/dist/components/viewers/pptx-viewer/pptx-viewer.styles.js +0 -3
  430. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +1 -1
  431. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.js +0 -14
  432. package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +0 -7
  433. package/dist/components/viewers/xml-viewer/xml-viewer.styles.js +2 -24
  434. package/dist/custom-elements-jsx.d.ts +72 -40
  435. package/dist/events.d.ts +43 -33
  436. package/dist/internal/agent-status-variants.d.ts +18 -0
  437. package/dist/internal/agent-status-variants.js +1 -0
  438. package/dist/internal/announcer.d.ts +8 -3
  439. package/dist/internal/announcer.js +1 -1
  440. package/dist/internal/autoloader-manifest.js +1 -1
  441. package/dist/internal/canvas-color.d.ts +16 -0
  442. package/dist/internal/canvas-color.js +1 -1
  443. package/dist/internal/catalog-picker.d.ts +0 -1
  444. package/dist/internal/catalog-picker.js +1 -1
  445. package/dist/internal/default-strings.generated.d.ts +1 -0
  446. package/dist/internal/default-strings.generated.js +1 -1
  447. package/dist/internal/dev-mode-attribute-warning.d.ts +27 -4
  448. package/dist/internal/dev-mode-attribute-warning.js +1 -1
  449. package/dist/internal/localization-runtime.js +1 -1
  450. package/dist/internal/localization-types.d.ts +1 -1
  451. package/dist/internal/localization.js +1 -1
  452. package/dist/internal/lyra-element.d.ts +13 -0
  453. package/dist/internal/lyra-element.js +1 -1
  454. package/dist/internal/media-controller.js +1 -1
  455. package/dist/internal/package-metadata.d.ts +1 -1
  456. package/dist/internal/package-metadata.js +1 -1
  457. package/dist/internal/scroll-overflow.d.ts +35 -13
  458. package/dist/internal/scroll-overflow.js +1 -1
  459. package/dist/internal/sizes.styles.js +0 -2
  460. package/dist/internal/specialist-tokens.styles.js +6 -11
  461. package/dist/internal/text-highlights.d.ts +4 -1
  462. package/dist/internal/text-highlights.js +1 -1
  463. package/dist/internal/tokens/palette.styles.js +0 -15
  464. package/dist/internal/tokens.styles.js +20 -113
  465. package/dist/lyra.d.ts +9 -6
  466. package/dist/styles/reservations.css +82 -0
  467. package/dist/svelte.d.ts +72 -40
  468. package/dist/translations/ar.js +1 -1
  469. package/dist/translations/de.js +1 -1
  470. package/dist/translations/es.js +1 -1
  471. package/dist/translations/fa.js +1 -1
  472. package/dist/translations/fr.js +1 -1
  473. package/dist/translations/he.js +1 -1
  474. package/dist/translations/ja.js +1 -1
  475. package/dist/translations/pt-BR.js +1 -1
  476. package/dist/translations/ru.js +1 -1
  477. package/dist/translations/zh-CN.js +1 -1
  478. package/dist/vue.d.ts +72 -40
  479. package/llms/components/lr-accordion-item.md +12 -3
  480. package/llms/components/lr-accordion.md +11 -2
  481. package/llms/components/lr-agent-eval-dashboard.md +1 -1
  482. package/llms/components/lr-agent-trace.md +3 -1
  483. package/llms/components/lr-agent-workspace.md +20 -0
  484. package/llms/components/lr-artifact-panel.md +10 -4
  485. package/llms/components/lr-attachment-chip.md +7 -4
  486. package/llms/components/lr-attachment-trigger.md +7 -4
  487. package/llms/components/lr-av-player.md +3 -1
  488. package/llms/components/lr-avatar.md +6 -6
  489. package/llms/components/lr-bar-chart.md +8 -6
  490. package/llms/components/lr-box-plot.md +15 -4
  491. package/llms/components/lr-browser-frame.md +7 -3
  492. package/llms/components/lr-bubble-chart.md +8 -6
  493. package/llms/components/lr-calendar.md +9 -2
  494. package/llms/components/lr-card.md +24 -0
  495. package/llms/components/lr-chart.md +45 -11
  496. package/llms/components/lr-chat-viewport.md +7 -2
  497. package/llms/components/lr-checkbox-group.md +13 -5
  498. package/llms/components/lr-checkbox.md +5 -2
  499. package/llms/components/lr-checkpoint.md +6 -2
  500. package/llms/components/lr-combobox.md +47 -8
  501. package/llms/components/lr-command-palette.md +4 -1
  502. package/llms/components/lr-confirm-bar.md +7 -3
  503. package/llms/components/lr-context-meter.md +12 -11
  504. package/llms/components/lr-conversation-item.md +7 -4
  505. package/llms/components/lr-date-input.md +22 -2
  506. package/llms/components/lr-date-picker.md +23 -3
  507. package/llms/components/lr-details.md +11 -2
  508. package/llms/components/lr-dialog.md +16 -10
  509. package/llms/components/lr-dock-panel.md +7 -10
  510. package/llms/components/lr-document-preview.md +6 -1
  511. package/llms/components/lr-document-viewer.md +3 -2
  512. package/llms/components/lr-doughnut-chart.md +8 -6
  513. package/llms/components/lr-drawer.md +3 -3
  514. package/llms/components/lr-entity-card.md +3 -3
  515. package/llms/components/lr-entity-chip.md +1 -1
  516. package/llms/components/lr-entity-dossier.md +4 -1
  517. package/llms/components/lr-file-input.md +2 -2
  518. package/llms/components/lr-flag.md +30 -8
  519. package/llms/components/lr-heatmap.md +46 -0
  520. package/llms/components/lr-histogram.md +7 -4
  521. package/llms/components/lr-icon.md +1 -1
  522. package/llms/components/lr-json-schema-viewer.md +2 -1
  523. package/llms/components/lr-knowledge-graph-explorer.md +8 -3
  524. package/llms/components/lr-known-date.md +4 -2
  525. package/llms/components/lr-line-chart.md +8 -6
  526. package/llms/components/lr-lite-chart.md +16 -6
  527. package/llms/components/lr-map.md +91 -10
  528. package/llms/components/lr-markdown-core.md +3 -2
  529. package/llms/components/lr-media-card.md +28 -12
  530. package/llms/components/lr-message-parts.md +2 -1
  531. package/llms/components/lr-model-select.md +9 -10
  532. package/llms/components/lr-model-settings-panel.md +9 -9
  533. package/llms/components/lr-neighbor-list.md +1 -1
  534. package/llms/components/lr-notebook-viewer.md +6 -3
  535. package/llms/components/lr-option.md +46 -7
  536. package/llms/components/lr-pdf-viewer.md +62 -2
  537. package/llms/components/lr-pie-chart.md +8 -6
  538. package/llms/components/lr-polar-area-chart.md +8 -6
  539. package/llms/components/lr-popover.md +25 -1
  540. package/llms/components/lr-progress-ring.md +8 -1
  541. package/llms/components/lr-prompt-studio.md +1 -1
  542. package/llms/components/lr-provenance-panel.md +4 -2
  543. package/llms/components/lr-qr-code.md +1 -1
  544. package/llms/components/lr-radar-chart.md +8 -6
  545. package/llms/components/lr-rag-eval-dashboard.md +2 -2
  546. package/llms/components/lr-random-content.md +13 -0
  547. package/llms/components/lr-reorder-item.md +6 -1
  548. package/llms/components/lr-reorder-list.md +6 -1
  549. package/llms/components/lr-responsive-panel.md +11 -7
  550. package/llms/components/lr-scatter-chart.md +8 -6
  551. package/llms/components/lr-sequence-strip.md +16 -2
  552. package/llms/components/lr-slider.md +12 -5
  553. package/llms/components/lr-sparkline.md +1 -1
  554. package/llms/components/lr-suggestion-chips.md +7 -2
  555. package/llms/components/lr-swatch-picker.md +5 -5
  556. package/llms/components/lr-switch.md +5 -2
  557. package/llms/components/lr-table.md +30 -4
  558. package/llms/components/lr-terminal.md +3 -1
  559. package/llms/components/lr-thread-list.md +8 -8
  560. package/llms/components/lr-time-input.md +6 -1
  561. package/llms/components/lr-timeline-item.md +24 -0
  562. package/llms/components/lr-timeline.md +25 -1
  563. package/llms/components/lr-token-input.md +7 -2
  564. package/llms/components/lr-tool-approval-dialog.md +7 -8
  565. package/llms/components/lr-tool-call-chip.md +5 -1
  566. package/llms/components/lr-tool-param-form.md +14 -12
  567. package/llms/components/lr-tool-result-dialog.md +11 -9
  568. package/llms/components/lr-tool-result-view.md +7 -6
  569. package/llms/components/lr-tool-select-dialog.md +18 -16
  570. package/llms/components/lr-trace-tree.md +3 -1
  571. package/llms/components/lr-usage-badge.md +4 -1
  572. package/llms/components/lr-video-playlist.md +1 -1
  573. package/llms/components/lr-virtual-list.md +22 -14
  574. package/llms/components/lr-voice-picker.md +8 -5
  575. package/llms/components/lr-widget-renderer.md +3 -3
  576. package/llms/components/lr-widget.md +1 -1
  577. package/llms/components/lr-word-cloud.md +6 -2
  578. package/llms/peers.md +12 -2
  579. package/llms/shared.md +70 -2
  580. package/llms/tokens.md +15 -1
  581. package/llms-full.txt +1335 -306
  582. package/package.json +17 -5
  583. package/vscode-css-data.json +93 -2
  584. package/vscode-html-data.json +513 -59
  585. package/web-types.json +457 -72
@@ -1,34 +1,16 @@
1
1
  import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/form-control.styles.js";const styles=css`
2
2
  :host {
3
3
  display: block;
4
- /* Geometry from the shared form-control ladder (internal/sizes.styles.ts, pulled in ahead of
5
- this sheet by select.class.ts): one scale for lr-button/lr-input/lr-select/lr-combobox/
6
- lr-date-input instead of five hand-maintained copies. The ladder matches both spellings of
7
- every tier in one selector list, so size="small" is size="s" here for free. */
8
4
  --_lr-select-trigger-padding: var(--lr-form-control-padding-block)
9
5
  var(--lr-form-control-padding-inline);
10
6
  --_lr-select-trigger-min-height: var(--lr-form-control-height);
11
7
  --_lr-select-font-size: var(--lr-form-control-font-size);
12
8
  --_lr-select-expand-size: var(--lr-size-1-75rem);
13
- /* The trigger's own adornment gap is deliberately NOT taken from the ladder: it does not vary
14
- by tier there either, and the ladder's value is tuned for a button's icon-beside-label
15
- spacing, which is tighter than a field wants between an adornment and its label. */
16
9
  --_lr-select-gap: var(--lr-space-xs);
17
10
  --_lr-select-radius: var(--lr-form-control-radius);
18
11
  --_lr-select-tag-padding: var(--lr-space-2xs) var(--lr-space-xs);
19
12
  --_lr-select-tag-font-size: var(--lr-font-size-sm);
20
- /* --lr-select-trigger-height is intentionally NOT declared here. It is a consumer-facing
21
- escape hatch consumed only through the two var() fallbacks on [part='trigger'] below;
22
- declaring any value for it (even 'auto') makes those fallback arms unreachable, which is
23
- what previously left --lr-select-trigger-min-height as dead code. Leaving it genuinely
24
- undeclared keeps both arms live, so the per-tier floor falls out of the fallback with no
25
- extra specificity rules, and setting the property from anywhere (inline style, an ancestor,
26
- an outer-tree rule) pins an exact height. */
27
- }
28
- /* Only the decorative expand glyph still needs per-tier rules: it sizes an icon box, not the
29
- control row, so the shared ladder has nothing to say about it. Both spellings of the aliased
30
- tier are matched here exactly as the ladder does, so size="small" can never take the s tier's
31
- padding with the default tier's chevron. */
13
+ }
32
14
  :host([size="2xs"]),
33
15
  :host([size="xs"]) {
34
16
  --_lr-select-expand-size: var(--lr-size-1rem);
@@ -43,21 +25,11 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
43
25
  font-size: var(--lr-font-size-md-sm);
44
26
  font-weight: var(--lr-font-weight-semibold);
45
27
  }
46
- /* :empty never matches here -- the part always contains a literal slot
47
- child element regardless of assigned/text content -- so real emptiness
48
- is tracked in JS (hasLabelSlot) and reflected via the hidden attribute
49
- instead (same fix as [part~='hint']/[part='error'] below, and as
50
- lr-combobox). Without this, the required-asterisk ::after below
51
- (which attaches to this box) renders a stray ' *' with nothing before
52
- it whenever label is unset. */
53
28
  [part="form-control-label"][hidden] {
54
29
  display: none;
55
30
  }
56
31
  ${formControlRequiredMarker}
57
32
 
58
- /* Pill only retunes the shared radius property, so the single consumption point on
59
- [part='trigger'] stays the only place a corner radius is read -- and a consumer's own
60
- --lr-select-radius override (an inline style or an outer-tree rule) still wins over it. */
61
33
  :host([pill]) {
62
34
  --_lr-select-radius: var(--lr-radius-pill);
63
35
  }
@@ -66,11 +38,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
66
38
  border-color: transparent;
67
39
  }
68
40
 
69
- /* Positioning context for [part='clear-button'], which is a *sibling* of the trigger rather
70
- than a child: the trigger is a real <button>, and a nested button would be invalid
71
- interactive-content nesting that no keyboard or AT user could ever reach. The wrapper is
72
- display: block so the trigger's own box (and therefore every existing size/height contract)
73
- is unchanged. */
74
41
  .control {
75
42
  position: relative;
76
43
  display: grid;
@@ -111,16 +78,9 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
111
78
  outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);
112
79
  outline-offset: var(--lr-focus-ring-offset);
113
80
  }
114
- /* :where() zeroes the wrapped selectors' specificity contribution, keeping this at (0,1,0) --
115
- matches lr-model-select's/lr-attachment-trigger's fixed convention, so a consumer's own
116
- ::part(trigger):hover override ((0,1,1)) still wins without needing !important. */
117
81
  :where([part="trigger"]):hover:where(:not(:disabled)) {
118
82
  background: var(--lr-select-trigger-hover-bg, var(--lr-color-brand-quiet));
119
83
  }
120
- /* Pressed: the same quiet brand tint the hover lands on, carried further toward
121
- --lr-color-mix-partner (which follows the text colour), so the press is visibly deeper than
122
- the hover instead of a repeat of it. Same :where() zeroing as the hover above, so a consumer's
123
- ::part(trigger):active still wins. */
124
84
  :where([part="trigger"]):active:where(:not(:disabled)) {
125
85
  background: var(
126
86
  --lr-select-trigger-active-bg,
@@ -131,9 +91,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
131
91
  )
132
92
  );
133
93
  }
134
- /* Appearance treatments. outlined is the base rule above, so only the other four restate
135
- what they change. Each keeps the same box, border width and radius -- only the fill, the
136
- border color and (for accent) the text color move. */
137
94
  :host([appearance="filled"]) [part="trigger"] {
138
95
  background: var(--lr-color-surface-raised);
139
96
  border-color: transparent;
@@ -150,8 +107,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
150
107
  border-color: transparent;
151
108
  color: var(--lr-color-on-brand);
152
109
  }
153
- /* On the loud brand fill the quiet-text tokens below would sit at far too low a contrast --
154
- the placeholder, the expand icon and the chips all ride the on-brand text color instead. */
155
110
  :host([appearance="accent"])
156
111
  [part="trigger"]
157
112
  .trigger-label[data-placeholder],
@@ -163,13 +118,11 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
163
118
  :host([appearance="accent"]) [part~="tag"] {
164
119
  background: color-mix(in srgb, currentColor 20%, transparent);
165
120
  }
166
- /* Each appearance restates the hover feedback: the treatments above out-specify the shared
167
- hover rule further up, so without these the pointer affordance would silently disappear for
168
- every appearance except the default outlined. */
169
121
  :host([appearance="filled"])
170
122
  :where([part="trigger"]):hover:where(:not(:disabled)),
171
123
  :host([appearance="filled-outlined"])
172
124
  :where([part="trigger"]):hover:where(:not(:disabled)),
125
+ :host([filled]) :where([part="trigger"]):hover:where(:not(:disabled)),
173
126
  :host([appearance="plain"])
174
127
  :where([part="trigger"]):hover:where(:not(:disabled)) {
175
128
  background: var(--lr-select-trigger-hover-bg, var(--lr-color-brand-quiet));
@@ -178,6 +131,7 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
178
131
  :where([part="trigger"]):active:where(:not(:disabled)),
179
132
  :host([appearance="filled-outlined"])
180
133
  :where([part="trigger"]):active:where(:not(:disabled)),
134
+ :host([filled]) :where([part="trigger"]):active:where(:not(:disabled)),
181
135
  :host([appearance="plain"])
182
136
  :where([part="trigger"]):active:where(:not(:disabled)) {
183
137
  background: var(
@@ -189,10 +143,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
189
143
  )
190
144
  );
191
145
  }
192
- /* The loud fill has no quieter tint to move to, so it shifts toward --lr-color-mix-partner --
193
- which follows the text colour, i.e. darkens in the light theme and lightens in the dark one,
194
- both times away from the fill. Same two shares every other pressed/hovered surface in the
195
- library uses, rather than the hand-written 12% this pair carried before 8.0.0. */
196
146
  :host([appearance="accent"])
197
147
  :where([part="trigger"]):hover:where(:not(:disabled)) {
198
148
  background: var(
@@ -219,13 +169,10 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
219
169
  border-color: var(--lr-select-open-border-color, var(--lr-color-brand));
220
170
  }
221
171
  :host(:disabled) [part="trigger"] {
222
- /* Shared library-wide disabled-state token -- see lr-combobox. */
223
172
  opacity: var(--lr-opacity-disabled);
224
173
  cursor: not-allowed;
225
174
  }
226
175
 
227
- /* Same start/end adornment wrapper convention as lr-combobox/lr-date-input --
228
- hidden (both the attribute and display:none) while nothing is slotted. */
229
176
  [part="start"],
230
177
  [part="end"] {
231
178
  flex: 0 0 auto;
@@ -246,17 +193,10 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
246
193
  text-overflow: ellipsis;
247
194
  white-space: nowrap;
248
195
  }
249
- /* Placeholder text (no value selected yet) renders quieter, matching a
250
- native <select>'s empty-option / combobox's placeholder styling. */
251
196
  .trigger-label[data-placeholder] {
252
197
  color: var(--lr-color-text-quiet);
253
198
  }
254
- /* In multiple mode the real, independently-focusable tags are a sibling layered over the
255
- trigger. The shared sr-only rule keeps this complete joined value available to assistive
256
- technology without painting a duplicate underneath the chips. */
257
199
 
258
- /* Multi-select chip row. Wraps rather than scrolls, so a long selection grows the trigger's
259
- block size instead of hiding chips behind an invisible scroll axis. */
260
200
  [part="tags"] {
261
201
  display: flex;
262
202
  flex: 1 1 auto;
@@ -276,9 +216,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
276
216
  padding-block: var(--lr-form-control-padding-block);
277
217
  pointer-events: none;
278
218
  }
279
- /* [part~=] because the overflow chip carries two part names ('tag tag-overflow'), and an exact
280
- [part='tag'] match would skip it -- state lives in the part name because a state selector
281
- after ::part() never matches. */
282
219
  [part~="tag"] {
283
220
  display: inline-flex;
284
221
  align-items: center;
@@ -338,10 +275,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
338
275
  cursor: not-allowed;
339
276
  }
340
277
 
341
- /* Sits in the trigger's reserved inline-end band (see .control[data-clearable] below), outboard
342
- of the expand icon: the trigger is a <button>, so the clear action cannot live inside it and
343
- has to be overlaid from the wrapper instead. Reserving the band with padding rather than
344
- overlapping keeps the trigger's own content clear of it in both directions. */
345
278
  [part="clear-button"] {
346
279
  position: absolute;
347
280
  z-index: var(--lr-layer-content);
@@ -352,8 +285,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
352
285
  align-items: center;
353
286
  justify-content: center;
354
287
  box-sizing: border-box;
355
- /* A real, independently-focusable control, so it takes the full shared icon-button hit-area
356
- floor rather than the capped decorative box [part='expand-icon'] uses. */
357
288
  min-inline-size: var(--lr-icon-button-size);
358
289
  min-block-size: var(--lr-icon-button-size);
359
290
  padding: var(--lr-space-2xs);
@@ -367,15 +298,9 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
367
298
  .control[data-clearable] [part="trigger"] {
368
299
  padding-inline-end: var(--lr-icon-button-size);
369
300
  }
370
- /* Mirrors <lr-combobox>'s own [part='clear-button']:hover -- the same quiet-to-full text token
371
- step, so mouse users get the feedback keyboard users get from the focus ring below. */
372
301
  [part="clear-button"]:hover {
373
302
  color: var(--lr-color-text);
374
303
  }
375
- /* Pressed: the hover's quiet-to-full text step plus a fill, mixing the page surface toward
376
- --lr-color-mix-partner at the stronger active share -- mirrors <lr-input>'s own
377
- clear-button/password-toggle pressed rule, so the two controls feel identical under the thumb.
378
- The button already carries --lr-select-radius, so the fill lands as a rounded chip. */
379
304
  [part="clear-button"]:active {
380
305
  color: var(--lr-color-text);
381
306
  background: color-mix(
@@ -399,7 +324,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
399
324
  align-items: center;
400
325
  justify-content: center;
401
326
  color: var(--lr-color-text-quiet);
402
- /* Same real-touch-target reasoning as lr-combobox's expand-icon. */
403
327
  min-inline-size: min(
404
328
  var(--lr-icon-button-size),
405
329
  var(--lr-select-expand-size, var(--_lr-select-expand-size))
@@ -419,11 +343,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
419
343
  z-index: var(--lr-overlay-stack-index, var(--lr-layer-dropdown));
420
344
  box-sizing: border-box;
421
345
  max-block-size: var(--lr-size-18rem);
422
- /* Per the CSS overflow spec, pinning one axis to a non-'visible' value forces the other
423
- axis's used value to 'auto' too (never staying 'visible') -- an implicit overflow-x: auto
424
- here risks a phantom horizontal scrollbar from sub-pixel rounding even though this listbox
425
- only ever scrolls vertically. Pin overflow-x explicitly instead. Same fix as lr-tab-group'
426
- tablist (overflow-x: auto; overflow-y: hidden;), just on the opposite axis. */
427
346
  overflow-y: auto;
428
347
  overflow-x: hidden;
429
348
  inline-size: max-content;
@@ -436,11 +355,7 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
436
355
  background: var(--lr-color-surface);
437
356
  border: var(--lr-border-width-thin) solid var(--lr-color-border);
438
357
  border-radius: var(--lr-radius);
439
- /* Anchored overlay: a positioner-placed listbox floating over page content, not a modal layer. */
440
358
  box-shadow: var(--lr-shadow-m);
441
- /* Closed state: invisible + slightly raised. visibility (not
442
- display:none) so opacity/transform can actually transition; hit-testing
443
- and a11y exposure stay off since this part is already position:fixed. */
444
359
  visibility: hidden;
445
360
  opacity: 0;
446
361
  transform: translateY(var(--lr-size-neg-0-25rem));
@@ -459,8 +374,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
459
374
  transform var(--show-duration, var(--lr-transition-fast)),
460
375
  visibility var(--show-duration, var(--lr-transition-fast));
461
376
  }
462
- /* A disabled form control cannot retain even the outgoing visibility frame of an ordinary
463
- close transition: fieldset-cascaded disablement uses :disabled too, unlike [disabled]. */
464
377
  :host(:disabled) [part="listbox"] {
465
378
  visibility: hidden;
466
379
  opacity: 0;
@@ -488,30 +401,7 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
488
401
  text-align: start;
489
402
  cursor: pointer;
490
403
  }
491
- [part="option"]:hover,
492
- [part="option"][data-active] {
493
- /* Per-component indirection (with an inline var() fallback to the shared brand-quiet token)
494
- -- same fix as lr-command-palette's/lr-notebook-viewer's identical active-row pattern -- so
495
- a consumer can retheme just this row state without hijacking --lr-color-brand-quiet
496
- library-wide. */
497
- background: var(--lr-select-option-active-bg, var(--lr-color-brand-quiet));
498
- }
499
- /* Pressed row. A pointer-down on an option commits a selection and closes the listbox, so this
500
- is the last frame the user sees before the panel goes away -- it has to read as deeper than
501
- the hover it replaces, not the same. Mixes the same row tint (consumer override included)
502
- toward --lr-color-mix-partner. */
503
- [part="option"]:active {
504
- background: color-mix(
505
- in oklab,
506
- var(--lr-select-option-active-bg, var(--lr-color-brand-quiet)),
507
- var(--lr-color-mix-partner) var(--lr-color-mix-active)
508
- );
509
- }
510
404
  [part="option"][aria-selected="true"] {
511
- /* Per-component indirection (inline var() fallbacks to the shared brand tokens, so unset
512
- rendering is byte-for-byte unchanged) -- mirrors the active-bg indirection above and
513
- lr-segmented's/lr-tab-group' selected-state tokens -- so a consumer can retheme just the
514
- selected row without hijacking --lr-color-brand library-wide. */
515
405
  background: var(--lr-select-option-selected-bg, transparent);
516
406
  border-color: var(
517
407
  --lr-select-option-selected-border,
@@ -523,6 +413,17 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
523
413
  var(--lr-font-weight-semibold)
524
414
  );
525
415
  }
416
+ [part="option"]:hover,
417
+ [part="option"][data-active] {
418
+ background: var(--lr-select-option-active-bg, var(--lr-color-brand-quiet));
419
+ }
420
+ [part="option"]:active {
421
+ background: color-mix(
422
+ in oklab,
423
+ var(--lr-select-option-active-bg, var(--lr-color-brand-quiet)),
424
+ var(--lr-color-mix-partner) var(--lr-color-mix-active)
425
+ );
426
+ }
526
427
  [part="option"][aria-disabled="true"] {
527
428
  opacity: var(--lr-opacity-disabled);
528
429
  cursor: not-allowed;
@@ -581,7 +482,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
581
482
  font-size: var(--lr-font-size-sm);
582
483
  color: var(--lr-color-text-quiet);
583
484
  }
584
- /* :empty never matches here either -- same fix as lr-combobox's hint/error. */
585
485
  [part~="hint"][hidden] {
586
486
  display: none;
587
487
  }
@@ -1,9 +1,5 @@
1
1
  import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/form-control.styles.js";const styles=css`
2
2
  :host {
3
- /* Every dimension below rides the shared size ladder (internal/sizes.styles.ts) so a slider
4
- lines up with an lr-input/lr-select/lr-button of the same size. At the default "m" tier the
5
- three knobs resolve to exactly the 1rem thumb, 0.25rem track and 1.5rem row the control
6
- shipped with before it had a size at all. */
7
3
  --_lr-slider-thumb-size: calc(var(--lr-form-control-height) * 0.4);
8
4
  --_lr-slider-track-thickness: calc(
9
5
  var(--lr-slider-thumb-size, var(--_lr-slider-thumb-size)) * 0.25
@@ -11,9 +7,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
11
7
  --_lr-slider-row-size: calc(var(--lr-form-control-height) * 0.6);
12
8
  display: flex;
13
9
  align-items: center;
14
- /* The hint is a full-basis flex item, so it wraps onto its own line
15
- underneath the track row instead of squeezing it. Without wrapping
16
- allowed the whole control would collapse into one over-long row. */
17
10
  flex-wrap: wrap;
18
11
  gap: var(--lr-slider-gap, var(--lr-space-s));
19
12
  inline-size: 100%;
@@ -72,8 +65,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
72
65
  background: var(--track-color-active, var(--lr-color-brand));
73
66
  translate: var(--track-active-offset, 0) 0;
74
67
  }
75
- /* Tick marks for with-markers. Painted in the surface color so they stay
76
- visible over both the unfilled track and the brand-colored indicator. */
77
68
  [part="markers"] {
78
69
  position: absolute;
79
70
  inset: 0;
@@ -121,37 +112,20 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
121
112
  background: var(--lr-slider-thumb-bg, var(--lr-color-brand));
122
113
  border: var(--lr-border-width-medium) solid
123
114
  var(--lr-slider-thumb-border-color, var(--lr-color-surface));
124
- /* Resting chrome, not an overlay: a knob riding on its own track, so it sits one step above
125
- the track rather than at the anchored-panel tier. */
126
115
  box-shadow: var(--lr-shadow-s);
127
116
  transform: translate(-50%, -50%);
128
117
  cursor: grab;
129
118
  touch-action: none;
130
119
  }
131
- /* [part~='thumb'] is positioned with a logical inset-inline-start:<pct>% (set inline in
132
- render()), which the browser anchors to the box's own *start* edge -- the physical right
133
- edge under :dir(rtl). The fixed horizontal -50% above assumes an LTR left-edge anchor, so
134
- it has to flip sign under RTL or the visible dot ends up a full thumb-width off from its
135
- true track position. Mirrors lr-time-range's identical handle rule. */
136
120
  :host(:dir(rtl)) [part~="thumb"],
137
121
  :host(:dir(rtl)) [part="marker"] {
138
122
  transform: translate(50%, -50%);
139
123
  }
140
- /* The visible dot is 16px at the default tier and smaller below it, under the ~24px
141
- touch-target minimum. Widen the hit/drag area with a transparent ::before instead of growing
142
- the thumb itself — onPointerMove never reads the thumb's own
143
- getBoundingClientRect() (only [part="track"]'s rect and the pointer
144
- coordinate), and a pointerdown inside the ::before still reports
145
- e.target as the thumb element (pseudo-elements have no separate DOM
146
- node/event target), so this is purely additive and cannot change the
147
- drag math. Mirrors lr-time-range's identical handle::before. */
148
124
  [part~="thumb"]::before {
149
125
  content: "";
150
126
  position: absolute;
151
127
  inset-block-start: 50%;
152
128
  inset-inline-start: 50%;
153
- /* A floor, not a fixed size: the drag area never drops below 28px however small the tier
154
- makes the visible dot, and grows past it at the larger tiers. */
155
129
  inline-size: max(
156
130
  var(--lr-size-28px),
157
131
  calc(var(--lr-slider-thumb-size, var(--_lr-slider-thumb-size)) * 1.75)
@@ -163,11 +137,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
163
137
  transform: translate(-50%, -50%);
164
138
  border-radius: 50%;
165
139
  }
166
- /* Same logical-inset-vs-physical-transform mismatch as the thumb itself: this enlarged
167
- hit-area is centered on inset-inline-start: 50%, so its horizontal translate must flip
168
- sign under RTL too or the actual drag hit zone detaches from the visible thumb. Mirrors
169
- lr-time-range's identical handle::before rule. The pseudo-element is centered inside its
170
- own thumb in both orientations, so this one does NOT vary with orientation. */
171
140
  :host(:dir(rtl)) [part~="thumb"]::before {
172
141
  transform: translate(50%, -50%);
173
142
  }
@@ -175,15 +144,7 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
175
144
  outline: var(--lr-focus-ring-width) solid var(--lr-focus-ring-color);
176
145
  outline-offset: var(--lr-focus-ring-offset);
177
146
  }
178
- /* Mouse-hover feedback to match the focus-visible outline a keyboard user already sees --
179
- a soft ring rather than a background/border change, since the thumb's background is already
180
- the same brand color as the indicator (a hover recolor would read as no change at all).
181
- Gated on :host(:not(:disabled):not([readonly])), the same disabled-state gating convention as
182
- lr-radio's identical [part='circle'] hover rule, so neither a disabled nor a read-only thumb
183
- shows interactive feedback for a gesture that cannot change anything. */
184
147
  :host(:not(:disabled):not([readonly])) [part~="thumb"]:hover {
185
- /* Same elevation tier as the resting thumb -- hover adds the ring, it must not also change
186
- how high the thumb reads. */
187
148
  box-shadow: var(--lr-shadow-s),
188
149
  0 0 0 var(--lr-slider-track-thickness, var(--_lr-slider-track-thickness))
189
150
  var(--lr-slider-thumb-hover-ring-color, var(--lr-color-brand-quiet));
@@ -197,9 +158,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
197
158
  );
198
159
  cursor: grabbing;
199
160
  }
200
- /* Live value bubble for with-tooltip. It is anchored at the handle point and then moved to the
201
- requested physical side. The numeric property becomes a length through the 1px design token;
202
- Shoelace's length-valued --tooltip-offset remains a direct override. */
203
161
  [part~="tooltip"] {
204
162
  position: absolute;
205
163
  inset-block-start: 50%;
@@ -366,24 +324,17 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
366
324
  [part="references"][hidden] {
367
325
  display: none;
368
326
  }
369
- /* This control accepts a required attribute and renders a visible label like every other field
370
- in the library, so it marks it the same way -- the [hidden] rule above is what keeps the
371
- marker from orphaning a stray glyph when no label is set. */
372
327
  ${formControlRequiredMarker}
373
328
  [part='value'] {
374
329
  flex: 0 0 auto;
375
330
  font-size: var(--lr-font-size-sm);
376
331
  color: var(--lr-color-text-quiet);
377
- /* Numeric readout ticks as the thumb moves; tabular-nums keeps its own
378
- inline-size stable instead of jittering the layout next to it. */
379
332
  font-variant-numeric: tabular-nums;
380
333
  min-inline-size: var(--lr-size-2-5ch);
381
334
  text-align: end;
382
335
  }
383
336
  [part="error"],
384
337
  [part~="hint"] {
385
- /* Full basis so supporting text always occupies its own wrapped line under the
386
- track row, however wide the track and readout are. */
387
338
  flex: 1 0 100%;
388
339
  min-inline-size: 0;
389
340
  max-inline-size: 100%;
@@ -398,10 +349,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
398
349
  [part~="hint"][hidden] {
399
350
  display: none;
400
351
  }
401
- /* Vertical orientation. Declared after every horizontal rule so the shared
402
- :host(:dir(rtl)) transforms above never win by source order. The value
403
- axis moves to the block axis, with the domain minimum at the block end
404
- (visually the bottom in a horizontal writing mode). */
405
352
  :host([orientation="vertical"]) {
406
353
  display: inline-flex;
407
354
  flex-direction: column;
@@ -485,8 +432,6 @@ import{css}from"lit";import{formControlRequiredMarker}from"../../../internal/for
485
432
  :host(:disabled) [part~="thumb"] {
486
433
  cursor: not-allowed;
487
434
  }
488
- /* A read-only slider stays fully legible and focusable (unlike a disabled
489
- one), so only the "you can drag this" affordance is withdrawn. */
490
435
  :host([readonly]) [part~="thumb"] {
491
436
  cursor: default;
492
437
  }
@@ -18,8 +18,6 @@ export interface SwatchPickerItem {
18
18
  * wins, so a consumer can customize one option without leaving gemstone mode. */
19
19
  readonly gemstone?: GemstoneKey;
20
20
  }
21
- /** @deprecated Use {@link SwatchPickerItem}. */
22
- export type SwatchOption = SwatchPickerItem;
23
21
  export type LyraSwatchPickerMode = 'swatch' | 'gemstone';
24
22
  export interface LyraSwatchPickerEventMap {
25
23
  'lr-change': CustomEvent<{
@@ -90,19 +88,12 @@ export declare class LyraSwatchPicker extends LyraElement<LyraSwatchPickerEventM
90
88
  attribute: boolean;
91
89
  noAccessor: boolean;
92
90
  };
93
- options: {
94
- attribute: boolean;
95
- noAccessor: boolean;
96
- };
97
91
  };
98
92
  private _items;
99
93
  private readonly itemSnapshots;
100
94
  /** The selectable color swatches, in display order. */
101
95
  get items(): readonly SwatchPickerItem[];
102
96
  set items(next: readonly SwatchPickerItem[]);
103
- /** @deprecated Compatibility alias for `items`. */
104
- get options(): readonly SwatchPickerItem[];
105
- set options(next: readonly SwatchPickerItem[]);
106
97
  /** The currently selected option's `value`, or `null` when nothing is selected. */
107
98
  value: string | null;
108
99
  /** Visual size — scales the swatch hit-area and fill diameter proportionally, hit-area
@@ -119,8 +110,6 @@ export declare class LyraSwatchPicker extends LyraElement<LyraSwatchPickerEventM
119
110
  * visible label context exists around it (e.g. no wrapping `<label>` or adjacent heading).
120
111
  * The resolved name is set on the `role="radiogroup"` element. */
121
112
  accessibleLabel: string;
122
- /** @deprecated Use `accessibleLabel` or the host `aria-label` attribute. */
123
- label: string;
124
113
  /** Locks the whole picker: every rendered swatch becomes a genuinely `disabled` `<button>` (so
125
114
  * it leaves the tab sequence and stops emitting activation), arrow/Home/End navigation and
126
115
  * `click()` become no-ops, and the swatches dim to `--lr-opacity-disabled` with a `not-allowed`
@@ -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}from"lit/decorators.js";import{repeat}from"lit/directives/repeat.js";import{styleMap}from"lit/directives/style-map.js";import{LyraElement}from"../../../internal/lyra-element.js";import{renderInertPresentation}from"../../../internal/inert-presentation.js";import{isRtl}from"../../../internal/rtl.js";import{gemstoneGlyph}from"../../../theme/gemstones.js";import{styles}from"./swatch-picker.styles.js";import{sanitizeCssColor}from"../../../internal/safe-css.js";import{literalSetConverter}from"../../../internal/converters.js";const SWATCH_PICKER_MODE=literalSetConverter(["swatch","gemstone"],"swatch");class LyraSwatchPicker extends LyraElement{constructor(){super(...arguments),this._items=Object.freeze([]),this.itemSnapshots=new WeakMap,this.value=null,this.size="m",this._mode="swatch",this.accessibleLabel="",this.label="",this.disabled=!1,this.selectedIndex=-1,this.fallbackTabbableIndex=0,this.onKeyDown=e=>{if(this.disabled)return;const navigable=this.items;if(navigable.length===0)return;const currentIndex=this.keyboardOriginIndex(e),rtl=isRtl(this),forwardKey=rtl?"ArrowLeft":"ArrowRight",backwardKey=rtl?"ArrowRight":"ArrowLeft";let targetIndex;switch(e.key){case forwardKey:targetIndex=currentIndex<0?0:(currentIndex+1)%navigable.length;break;case backwardKey:targetIndex=currentIndex<0?navigable.length-1:(currentIndex-1+navigable.length)%navigable.length;break;case"Home":targetIndex=0;break;case"End":targetIndex=navigable.length-1;break;default:return}e.preventDefault();const target=navigable[targetIndex];this.select(target,targetIndex),this.focusSwatch(targetIndex)}}static{this.styles=[LyraElement.styles,styles]}static{this.properties={items:{attribute:!1,noAccessor:!0},options:{attribute:!1,noAccessor:!0}}}get items(){return this._items}set items(next){const old=this._items,snapshots=[];if(Array.isArray(next))for(let index=0;index<Math.min(next.length,512);index+=1)try{const raw=next[index];if(raw===null||typeof raw!="object")continue;const cached=this.itemSnapshots.get(raw);if(cached){snapshots.push(cached);continue}const value=raw.value,color=raw.color,label=raw.label;if(typeof value!="string"||typeof color!="string"||typeof label!="string")continue;const snapshot=Object.freeze({value,color,label,...raw.icon===void 0?{}:{icon:raw.icon},...raw.gemstone===void 0?{}:{gemstone:raw.gemstone}});this.itemSnapshots.set(raw,snapshot),snapshots.push(snapshot)}catch{}this._items=Object.freeze(snapshots),this.requestUpdate("items",old)}get options(){return this.items}set options(next){this.items=next}get mode(){return this._mode}set mode(next){const normalized=SWATCH_PICKER_MODE.normalizeReflected(this,"mode",next),old=this._mode;old!==normalized&&(this._mode=normalized,this.requestUpdate("mode",old))}resolveSelectedIndex(){if(this.value===null)return this.selectedOption=void 0,this.selectedIndex=-1,-1;if(this.selectedIndex>=0&&this.items[this.selectedIndex]===this.selectedOption&&this.selectedOption?.value===this.value)return this.selectedIndex;const identityIndex=this.selectedOption?this.items.indexOf(this.selectedOption):-1;return this.selectedIndex=identityIndex>=0&&this.items[identityIndex]?.value===this.value?identityIndex:this.items.findIndex(option=>option.value===this.value),this.selectedOption=this.selectedIndex>=0?this.items[this.selectedIndex]:void 0,this.selectedIndex}select(option,index){const previousIndex=this.resolveSelectedIndex();if(index===previousIndex&&option.value===this.value)return;const previousValue=this.value;this.selectedOption=option,this.selectedIndex=index,this.value=option.value,previousValue===option.value&&this.requestUpdate(),this.emit("lr-change",{value:option.value})}focusSwatch(index){this.renderRoot.querySelector(`[part="swatch"][data-index="${index}"]`)?.focus()}willUpdate(changed){if(super.willUpdate(changed),!changed.has("items"))return;const active=this.shadowRoot?.activeElement;if(active?.getAttribute("part")!=="swatch")return;const previousOptions=changed.get("items"),previousIndex=Number(active.dataset.index);if(!Number.isInteger(previousIndex)||previousIndex<0)return;const focusedOption=previousOptions?.[previousIndex],identityIndex=focusedOption===void 0?-1:this.items.indexOf(focusedOption),nextIndex=identityIndex>=0?identityIndex:Math.min(previousIndex,this.items.length-1);if(nextIndex<0){this.pendingFocusIndex=void 0,this.fallbackTabbableIndex=0;return}this.pendingFocusIndex=nextIndex,this.fallbackTabbableIndex=nextIndex}updated(changed){super.updated(changed),!(!changed.has("items")||this.pendingFocusIndex===void 0)&&this.scheduleAfterUpdate(()=>{const pendingIndex=this.pendingFocusIndex;this.pendingFocusIndex=void 0,!(pendingIndex===void 0||this.items.length===0)&&this.focusSwatch(Math.min(pendingIndex,this.items.length-1))},"restore-swatch-picker-focus")}tabbableSwatch(){const selectedIndex=this.resolveSelectedIndex(),tabbableIndex=selectedIndex!==-1?selectedIndex:Math.min(this.fallbackTabbableIndex,Math.max(0,this.items.length-1));return this.renderRoot?.querySelector(`[part="swatch"][data-index="${tabbableIndex}"]`)??null}click(){this.tabbableSwatch()?.click()}focus(options){this.tabbableSwatch()?.focus(options)}blur(){this.tabbableSwatch()?.blur()}keyboardOriginIndex(event){const fromEvent=event.composedPath().find(candidate2=>candidate2.nodeType===1&&candidate2.getAttribute?.("part")==="swatch"&&candidate2.getRootNode()===this.renderRoot),focused=this.shadowRoot?.activeElement,candidate=fromEvent??(focused?.getAttribute("part")==="swatch"?focused:void 0),index=Number(candidate?.dataset.index);return Number.isInteger(index)&&index>=0&&index<this.items.length?index:this.resolveSelectedIndex()}render(){const hostLabel=this.getAttribute("aria-label"),ariaLabel=hostLabel!==null?hostLabel:this.accessibleLabel||this.label||nothing,selectedIndex=this.resolveSelectedIndex(),tabbableIndex=selectedIndex!==-1?selectedIndex:Math.min(this.fallbackTabbableIndex,Math.max(0,this.items.length-1));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}from"lit/decorators.js";import{repeat}from"lit/directives/repeat.js";import{styleMap}from"lit/directives/style-map.js";import{LyraElement}from"../../../internal/lyra-element.js";import{renderInertPresentation}from"../../../internal/inert-presentation.js";import{isRtl}from"../../../internal/rtl.js";import{gemstoneGlyph}from"../../../theme/gemstones.js";import{styles}from"./swatch-picker.styles.js";import{sanitizeCssColor}from"../../../internal/safe-css.js";import{literalSetConverter}from"../../../internal/converters.js";const SWATCH_PICKER_MODE=literalSetConverter(["swatch","gemstone"],"swatch");class LyraSwatchPicker extends LyraElement{constructor(){super(...arguments),this._items=Object.freeze([]),this.itemSnapshots=new WeakMap,this.value=null,this.size="m",this._mode="swatch",this.accessibleLabel="",this.disabled=!1,this.selectedIndex=-1,this.fallbackTabbableIndex=0,this.onKeyDown=e=>{if(this.disabled)return;const navigable=this.items;if(navigable.length===0)return;const currentIndex=this.keyboardOriginIndex(e),rtl=isRtl(this),forwardKey=rtl?"ArrowLeft":"ArrowRight",backwardKey=rtl?"ArrowRight":"ArrowLeft";let targetIndex;switch(e.key){case forwardKey:targetIndex=currentIndex<0?0:(currentIndex+1)%navigable.length;break;case backwardKey:targetIndex=currentIndex<0?navigable.length-1:(currentIndex-1+navigable.length)%navigable.length;break;case"Home":targetIndex=0;break;case"End":targetIndex=navigable.length-1;break;default:return}e.preventDefault();const target=navigable[targetIndex];this.select(target,targetIndex),this.focusSwatch(targetIndex)}}static{this.styles=[LyraElement.styles,styles]}static{this.properties={items:{attribute:!1,noAccessor:!0}}}get items(){return this._items}set items(next){const old=this._items,snapshots=[];if(Array.isArray(next))for(let index=0;index<Math.min(next.length,512);index+=1)try{const raw=next[index];if(raw===null||typeof raw!="object")continue;const cached=this.itemSnapshots.get(raw);if(cached){snapshots.push(cached);continue}const value=raw.value,color=raw.color,label=raw.label;if(typeof value!="string"||typeof color!="string"||typeof label!="string")continue;const snapshot=Object.freeze({value,color,label,...raw.icon===void 0?{}:{icon:raw.icon},...raw.gemstone===void 0?{}:{gemstone:raw.gemstone}});this.itemSnapshots.set(raw,snapshot),snapshots.push(snapshot)}catch{}this._items=Object.freeze(snapshots),this.requestUpdate("items",old)}get mode(){return this._mode}set mode(next){const normalized=SWATCH_PICKER_MODE.normalizeReflected(this,"mode",next),old=this._mode;old!==normalized&&(this._mode=normalized,this.requestUpdate("mode",old))}resolveSelectedIndex(){if(this.value===null)return this.selectedOption=void 0,this.selectedIndex=-1,-1;if(this.selectedIndex>=0&&this.items[this.selectedIndex]===this.selectedOption&&this.selectedOption?.value===this.value)return this.selectedIndex;const identityIndex=this.selectedOption?this.items.indexOf(this.selectedOption):-1;return this.selectedIndex=identityIndex>=0&&this.items[identityIndex]?.value===this.value?identityIndex:this.items.findIndex(option=>option.value===this.value),this.selectedOption=this.selectedIndex>=0?this.items[this.selectedIndex]:void 0,this.selectedIndex}select(option,index){const previousIndex=this.resolveSelectedIndex();if(index===previousIndex&&option.value===this.value)return;const previousValue=this.value;this.selectedOption=option,this.selectedIndex=index,this.value=option.value,previousValue===option.value&&this.requestUpdate(),this.emit("lr-change",{value:option.value})}focusSwatch(index){this.renderRoot.querySelector(`[part="swatch"][data-index="${index}"]`)?.focus()}willUpdate(changed){if(super.willUpdate(changed),!changed.has("items"))return;const active=this.shadowRoot?.activeElement;if(active?.getAttribute("part")!=="swatch")return;const previousOptions=changed.get("items"),previousIndex=Number(active.dataset.index);if(!Number.isInteger(previousIndex)||previousIndex<0)return;const focusedOption=previousOptions?.[previousIndex],identityIndex=focusedOption===void 0?-1:this.items.indexOf(focusedOption),nextIndex=identityIndex>=0?identityIndex:Math.min(previousIndex,this.items.length-1);if(nextIndex<0){this.pendingFocusIndex=void 0,this.fallbackTabbableIndex=0;return}this.pendingFocusIndex=nextIndex,this.fallbackTabbableIndex=nextIndex}updated(changed){super.updated(changed),!(!changed.has("items")||this.pendingFocusIndex===void 0)&&this.scheduleAfterUpdate(()=>{const pendingIndex=this.pendingFocusIndex;this.pendingFocusIndex=void 0,!(pendingIndex===void 0||this.items.length===0)&&this.focusSwatch(Math.min(pendingIndex,this.items.length-1))},"restore-swatch-picker-focus")}tabbableSwatch(){const selectedIndex=this.resolveSelectedIndex(),tabbableIndex=selectedIndex!==-1?selectedIndex:Math.min(this.fallbackTabbableIndex,Math.max(0,this.items.length-1));return this.renderRoot?.querySelector(`[part="swatch"][data-index="${tabbableIndex}"]`)??null}click(){this.tabbableSwatch()?.click()}focus(options){this.tabbableSwatch()?.focus(options)}blur(){this.tabbableSwatch()?.blur()}keyboardOriginIndex(event){const fromEvent=event.composedPath().find(candidate2=>candidate2.nodeType===1&&candidate2.getAttribute?.("part")==="swatch"&&candidate2.getRootNode()===this.renderRoot),focused=this.shadowRoot?.activeElement,candidate=fromEvent??(focused?.getAttribute("part")==="swatch"?focused:void 0),index=Number(candidate?.dataset.index);return Number.isInteger(index)&&index>=0&&index<this.items.length?index:this.resolveSelectedIndex()}render(){const hostLabel=this.getAttribute("aria-label"),ariaLabel=hostLabel!==null?hostLabel:this.accessibleLabel||nothing,selectedIndex=this.resolveSelectedIndex(),tabbableIndex=selectedIndex!==-1?selectedIndex:Math.min(this.fallbackTabbableIndex,Math.max(0,this.items.length-1));return html`
2
2
  <div
3
3
  part="base"
4
4
  role="radiogroup"
@@ -22,4 +22,4 @@ var __decorate=function(decorators,target,key,desc){var c=arguments.length,r=c<3
22
22
  ${icon?renderInertPresentation(icon,{part:"swatch-icon"}):html`<span part="swatch-fill" aria-hidden="true"></span>`}
23
23
  </button>`})}
24
24
  </div>
25
- `}}__decorate([property()],LyraSwatchPicker.prototype,"value",void 0),__decorate([property({reflect:!0})],LyraSwatchPicker.prototype,"size",void 0),__decorate([property({reflect:!0,converter:SWATCH_PICKER_MODE})],LyraSwatchPicker.prototype,"mode",null),__decorate([property({attribute:"aria-label"})],LyraSwatchPicker.prototype,"accessibleLabel",void 0),__decorate([property()],LyraSwatchPicker.prototype,"label",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraSwatchPicker.prototype,"disabled",void 0);export{LyraSwatchPicker};
25
+ `}}__decorate([property()],LyraSwatchPicker.prototype,"value",void 0),__decorate([property({reflect:!0})],LyraSwatchPicker.prototype,"size",void 0),__decorate([property({reflect:!0,converter:SWATCH_PICKER_MODE})],LyraSwatchPicker.prototype,"mode",null),__decorate([property({attribute:"aria-label"})],LyraSwatchPicker.prototype,"accessibleLabel",void 0),__decorate([property({type:Boolean,reflect:!0})],LyraSwatchPicker.prototype,"disabled",void 0);export{LyraSwatchPicker};