@aceshooting/lyra-ui 23.0.0 → 24.1.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 (280) hide show
  1. package/CHANGELOG.md +16 -39
  2. package/README.md +72 -35
  3. package/custom-elements.json +1 -1
  4. package/design-tokens.json +1 -1
  5. package/dist/cli/lyra-rename-ledger.mjs +1 -1
  6. package/dist/cli/migration-contract.json +1 -1
  7. package/dist/cli/migration-contract.mjs +1 -1
  8. package/dist/cli/migration-renames.mjs +2 -2
  9. package/dist/cli/migration-transforms.mjs +2 -2
  10. package/dist/components/agent-tools/approval-queue/approval-queue.class.d.ts +1 -4
  11. package/dist/components/agent-tools/approval-queue/approval-queue.class.js +1 -3
  12. package/dist/components/agent-tools/compare-panel/compare-panel.class.d.ts +1 -4
  13. package/dist/components/agent-tools/compare-panel/compare-panel.class.js +1 -1
  14. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +1 -7
  15. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
  16. package/dist/components/agent-tools/context-inspector/context-inspector.class.d.ts +1 -1
  17. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.d.ts +2 -5
  18. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +1 -3
  19. package/dist/components/agent-tools/terminal/terminal.class.d.ts +1 -4
  20. package/dist/components/agent-tools/terminal/terminal.class.js +2 -2
  21. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts +1 -7
  22. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +1 -1
  23. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.d.ts +1 -4
  24. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +1 -3
  25. package/dist/components/charts/chart/lite-chart-axis-layout.d.ts +13 -0
  26. package/dist/components/charts/chart/lite-chart-axis-layout.js +1 -0
  27. package/dist/components/charts/chart/lite-chart.class.d.ts +1 -11
  28. package/dist/components/charts/chart/lite-chart.class.js +4 -4
  29. package/dist/components/conversation/agent-workspace/agent-workspace.class.d.ts +13 -3
  30. package/dist/components/conversation/agent-workspace/agent-workspace.class.js +1 -2
  31. package/dist/components/conversation/chat-message/chat-message.class.d.ts +3 -9
  32. package/dist/components/conversation/chat-message/chat-message.class.js +1 -1
  33. package/dist/components/conversation/code-block/code-block-base.class.js +1 -1
  34. package/dist/components/conversation/code-block/code-block-core.class.d.ts +6 -8
  35. package/dist/components/conversation/code-block/code-block-shared.d.ts +1 -4
  36. package/dist/components/conversation/code-block/code-block.class.d.ts +4 -6
  37. package/dist/components/conversation/markdown/markdown-base.class.d.ts +1 -3
  38. package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
  39. package/dist/components/conversation/markdown/markdown-core.class.d.ts +1 -4
  40. package/dist/components/conversation/markdown/markdown.class.d.ts +1 -4
  41. package/dist/components/conversation/message-actions/message-actions.class.d.ts +1 -4
  42. package/dist/components/conversation/message-actions/message-actions.class.js +1 -1
  43. package/dist/components/conversation/message-feedback/message-feedback.class.d.ts +1 -4
  44. package/dist/components/conversation/message-feedback/message-feedback.class.js +2 -2
  45. package/dist/components/conversation/message-parts/message-parts.class.d.ts +2 -5
  46. package/dist/components/conversation/message-parts/message-parts.class.js +3 -3
  47. package/dist/components/conversation/streaming-text/streaming-text-base.class.d.ts +1 -1
  48. package/dist/components/conversation/streaming-text/streaming-text-core.class.d.ts +2 -0
  49. package/dist/components/conversation/streaming-text/streaming-text-core.class.js +0 -1
  50. package/dist/components/conversation/streaming-text/streaming-text.class.d.ts +2 -0
  51. package/dist/components/conversation/streaming-text/streaming-text.class.js +0 -1
  52. package/dist/components/conversation/thread-list/thread-list.class.d.ts +6 -17
  53. package/dist/components/conversation/thread-list/thread-list.class.js +6 -6
  54. package/dist/components/data/context-meter/context-meter.class.d.ts +1 -6
  55. package/dist/components/data/context-meter/context-meter.class.js +1 -1
  56. package/dist/components/data/data-grid/data-grid.class.d.ts +0 -1
  57. package/dist/components/data/data-grid/data-grid.class.js +2 -2
  58. package/dist/components/data/document-library/document-library.class.d.ts +6 -13
  59. package/dist/components/data/document-library/document-library.class.js +1 -2
  60. package/dist/components/data/heatmap/heatmap-grid-navigation.d.ts +7 -0
  61. package/dist/components/data/heatmap/heatmap-grid-navigation.js +1 -0
  62. package/dist/components/data/heatmap/heatmap.class.d.ts +3 -23
  63. package/dist/components/data/heatmap/heatmap.class.js +2 -2
  64. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +3 -9
  65. package/dist/components/data/sequence-strip/sequence-strip.class.js +3 -3
  66. package/dist/components/data/table/table.class.d.ts +5 -14
  67. package/dist/components/data/table/table.class.js +6 -6
  68. package/dist/components/forms/button/button.class.d.ts +2 -2
  69. package/dist/components/forms/button/button.class.js +9 -9
  70. package/dist/components/forms/combobox/combobox.class.d.ts +1 -4
  71. package/dist/components/forms/combobox/combobox.class.js +2 -2
  72. package/dist/components/forms/input/time-input.class.d.ts +1 -1
  73. package/dist/components/forms/input/time-input.class.js +1 -1
  74. package/dist/components/forms/select/select.class.d.ts +1 -2
  75. package/dist/components/forms/swatch-picker/swatch-picker.class.d.ts +3 -1
  76. package/dist/components/forms/swatch-picker/swatch-picker.class.js +1 -1
  77. package/dist/components/layout/app-rail/app-rail-item.class.d.ts +3 -6
  78. package/dist/components/layout/app-rail/app-rail-item.class.js +1 -1
  79. package/dist/components/layout/app-rail/app-rail.class.d.ts +2 -4
  80. package/dist/components/layout/app-rail/app-rail.class.js +1 -1
  81. package/dist/components/layout/app-rail-group/app-rail-group.class.d.ts +2 -6
  82. package/dist/components/layout/app-rail-group/app-rail-group.class.js +1 -1
  83. package/dist/components/layout/carousel/carousel.class.d.ts +1 -4
  84. package/dist/components/layout/carousel/carousel.class.js +2 -2
  85. package/dist/components/layout/command-palette/command-palette.class.js +1 -1
  86. package/dist/components/layout/details/details.class.d.ts +2 -4
  87. package/dist/components/layout/details/details.class.js +1 -1
  88. package/dist/components/layout/dock-panel/dock-panel.class.d.ts +3 -7
  89. package/dist/components/layout/dock-panel/dock-panel.class.js +1 -1
  90. package/dist/components/layout/menu/menu.class.js +1 -1
  91. package/dist/components/layout/multi-split/multi-split.class.d.ts +2 -4
  92. package/dist/components/layout/multi-split/multi-split.class.js +1 -1
  93. package/dist/components/layout/navigation-menu-item/navigation-menu-item.class.d.ts +2 -4
  94. package/dist/components/layout/navigation-menu-item/navigation-menu-item.class.js +1 -1
  95. package/dist/components/layout/reorder-list/reorder-item.class.d.ts +1 -4
  96. package/dist/components/layout/reorder-list/reorder-item.class.js +2 -2
  97. package/dist/components/media/attachment-trigger/attachment-trigger.class.d.ts +5 -9
  98. package/dist/components/media/attachment-trigger/attachment-trigger.class.js +5 -5
  99. package/dist/components/media/av-player/av-player.class.js +3 -3
  100. package/dist/components/media/file-input/file-input.class.d.ts +3 -6
  101. package/dist/components/media/file-input/file-input.class.js +3 -3
  102. package/dist/components/media/lightbox/lightbox.class.d.ts +11 -20
  103. package/dist/components/media/lightbox/lightbox.class.js +1 -1
  104. package/dist/components/media/map/map-data-layers.d.ts +20 -0
  105. package/dist/components/media/map/map-data-layers.js +1 -0
  106. package/dist/components/media/map/map.class.js +3 -3
  107. package/dist/components/media/media-time.d.ts +2 -0
  108. package/dist/components/media/media-time.js +1 -0
  109. package/dist/components/media/video/video.class.js +5 -5
  110. package/dist/components/media/video-playlist/video-playlist.class.js +2 -2
  111. package/dist/components/overlays/callout/callout.class.d.ts +2 -5
  112. package/dist/components/overlays/callout/callout.class.js +2 -2
  113. package/dist/components/overlays/dialog/dialog.class.d.ts +4 -7
  114. package/dist/components/overlays/dialog/dialog.class.js +2 -2
  115. package/dist/components/overlays/overlay/dropdown.class.d.ts +5 -10
  116. package/dist/components/overlays/overlay/dropdown.class.js +2 -2
  117. package/dist/components/overlays/overlay/popover.class.d.ts +2 -3
  118. package/dist/components/overlays/popup/popup.class.js +1 -1
  119. package/dist/components/overlays/progress/progress-bar.class.d.ts +1 -4
  120. package/dist/components/overlays/progress/progress-bar.class.js +2 -2
  121. package/dist/components/overlays/progress/progress-ring.class.d.ts +1 -4
  122. package/dist/components/overlays/progress/progress-ring.class.js +2 -2
  123. package/dist/components/overlays/progress/progress-shared.d.ts +3 -3
  124. package/dist/components/overlays/progress/progress-shared.js +1 -1
  125. package/dist/components/overlays/toast/toast-item.class.js +1 -1
  126. package/dist/components/retrieval/graph/graph.class.d.ts +5 -10
  127. package/dist/components/retrieval/graph/graph.class.js +1 -1
  128. package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +7 -14
  129. package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +2 -3
  130. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +2 -8
  131. package/dist/components/retrieval/memory-panel/memory-panel.class.js +0 -4
  132. package/dist/components/retrieval/rag-answer/rag-answer.class.js +1 -1
  133. package/dist/components/utility/export-button/export-button.class.d.ts +6 -10
  134. package/dist/components/utility/export-button/export-button.class.js +1 -1
  135. package/dist/components/utility/mention-popover/mention-popover.class.js +1 -1
  136. package/dist/components/viewers/geojson-view/geojson-view.class.d.ts +1 -1
  137. package/dist/components/viewers/highlight-layer/highlight-layer-timing.js +1 -1
  138. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +4 -4
  139. package/dist/events.d.ts +17 -78
  140. package/dist/framework-types.d.ts +1 -1
  141. package/dist/internal/catalog-picker.js +1 -1
  142. package/dist/internal/css-motion-time.d.ts +7 -0
  143. package/dist/internal/css-motion-time.js +1 -0
  144. package/dist/internal/data-state-renderer.d.ts +1 -3
  145. package/dist/internal/data-state-renderer.js +1 -1
  146. package/dist/internal/localization-runtime.d.ts +2 -0
  147. package/dist/internal/localization-runtime.js +1 -1
  148. package/dist/internal/lyra-element.js +2 -2
  149. package/dist/internal/package-metadata.d.ts +1 -1
  150. package/dist/internal/package-metadata.js +1 -1
  151. package/dist/looks/data.css +1 -1
  152. package/dist/looks/terminal.css +1 -1
  153. package/dist/lyra.d.ts +1 -592
  154. package/dist/lyra.js +1 -1
  155. package/dist/testing/event-factory.d.ts +2 -2
  156. package/dist/testing/interaction-drivers.d.ts +5 -3
  157. package/dist/testing/lyra-tag-event-map.js +1 -1
  158. package/dist/theme/looks/data.d.ts +1 -1
  159. package/dist/theme/looks/data.js +1 -1
  160. package/dist/theme/looks/terminal.d.ts +1 -1
  161. package/dist/theme/looks/terminal.js +1 -1
  162. package/dist/theme/theme.d.ts +2 -80
  163. package/dist/theme/theme.js +1 -1
  164. package/llms/components/lr-agent-workspace.md +24 -2
  165. package/llms/components/lr-alert.md +1 -1
  166. package/llms/components/lr-animation.md +1 -1
  167. package/llms/components/lr-app-rail.md +8 -10
  168. package/llms/components/lr-approval-queue.md +2 -4
  169. package/llms/components/lr-attachment-trigger.md +3 -4
  170. package/llms/components/lr-badge.md +2 -2
  171. package/llms/components/lr-button.md +45 -99
  172. package/llms/components/lr-callout.md +3 -4
  173. package/llms/components/lr-carousel.md +3 -5
  174. package/llms/components/lr-chat-message.md +1 -2
  175. package/llms/components/lr-claim-evidence.md +1 -1
  176. package/llms/components/lr-code-block-core.md +2 -2
  177. package/llms/components/lr-code-block.md +5 -6
  178. package/llms/components/lr-color-picker.md +1 -1
  179. package/llms/components/lr-combobox.md +5 -6
  180. package/llms/components/lr-compare-panel.md +2 -4
  181. package/llms/components/lr-confirm-bar.md +3 -7
  182. package/llms/components/lr-context-inspector.md +3 -2
  183. package/llms/components/lr-context-menu.md +2 -2
  184. package/llms/components/lr-context-meter.md +2 -4
  185. package/llms/components/lr-copy-button.md +1 -1
  186. package/llms/components/lr-data-grid.md +4 -7
  187. package/llms/components/lr-details.md +3 -3
  188. package/llms/components/lr-dialog.md +4 -6
  189. package/llms/components/lr-dock-panel.md +5 -6
  190. package/llms/components/lr-document-library.md +5 -7
  191. package/llms/components/lr-drawer.md +3 -3
  192. package/llms/components/lr-dropdown.md +4 -5
  193. package/llms/components/lr-eval-run.md +3 -5
  194. package/llms/components/lr-export-button.md +4 -7
  195. package/llms/components/lr-file-input.md +0 -5
  196. package/llms/components/lr-funnel.md +1 -1
  197. package/llms/components/lr-graph.md +3 -7
  198. package/llms/components/lr-icon.md +1 -1
  199. package/llms/components/lr-include.md +1 -1
  200. package/llms/components/lr-input.md +31 -79
  201. package/llms/components/lr-json-viewer.md +1 -1
  202. package/llms/components/lr-knowledge-base.md +4 -6
  203. package/llms/components/lr-knowledge-graph-explorer.md +2 -5
  204. package/llms/components/lr-known-date.md +1 -1
  205. package/llms/components/lr-lightbox.md +9 -7
  206. package/llms/components/lr-lite-chart.md +1 -5
  207. package/llms/components/lr-markdown-core.md +3 -4
  208. package/llms/components/lr-markdown.md +3 -5
  209. package/llms/components/lr-mcp-app.md +1 -1
  210. package/llms/components/lr-message-actions.md +2 -3
  211. package/llms/components/lr-message-feedback.md +1 -3
  212. package/llms/components/lr-message-parts.md +4 -5
  213. package/llms/components/lr-multi-split.md +8 -7
  214. package/llms/components/lr-native-time-input.md +1 -1
  215. package/llms/components/lr-navigation-menu.md +5 -5
  216. package/llms/components/lr-number-input.md +3 -1
  217. package/llms/components/lr-otp-input.md +2 -0
  218. package/llms/components/lr-page.md +1 -1
  219. package/llms/components/lr-pan-zoom.md +1 -1
  220. package/llms/components/lr-phone-input.md +3 -1
  221. package/llms/components/lr-popover.md +2 -2
  222. package/llms/components/lr-progress-bar.md +3 -5
  223. package/llms/components/lr-progress-ring.md +5 -7
  224. package/llms/components/lr-prompt-input.md +1 -1
  225. package/llms/components/lr-prompt-queue.md +1 -1
  226. package/llms/components/lr-prompt-studio.md +1 -1
  227. package/llms/components/lr-rag-eval-dashboard.md +1 -1
  228. package/llms/components/lr-rating.md +2 -2
  229. package/llms/components/lr-realtime-session.md +1 -1
  230. package/llms/components/lr-reorder-item.md +1 -1
  231. package/llms/components/lr-reorder-list.md +2 -3
  232. package/llms/components/lr-retrieval-compare.md +1 -1
  233. package/llms/components/lr-select.md +3 -1
  234. package/llms/components/lr-selection-toolbar.md +1 -1
  235. package/llms/components/lr-sequence-strip.md +3 -8
  236. package/llms/components/lr-span-waterfall.md +1 -1
  237. package/llms/components/lr-split-panel.md +1 -1
  238. package/llms/components/lr-streaming-text-core.md +2 -1
  239. package/llms/components/lr-streaming-text.md +3 -2
  240. package/llms/components/lr-subagent-panel.md +1 -1
  241. package/llms/components/lr-swatch-picker.md +7 -6
  242. package/llms/components/lr-switch.md +3 -1
  243. package/llms/components/lr-table.md +33 -85
  244. package/llms/components/lr-terminal.md +2 -5
  245. package/llms/components/lr-textarea.md +1 -1
  246. package/llms/components/lr-thread-list.md +8 -14
  247. package/llms/components/lr-time-input.md +1 -1
  248. package/llms/components/lr-toggle-group.md +2 -2
  249. package/llms/components/lr-toggle.md +1 -1
  250. package/llms/components/lr-tool-approval-dialog.md +4 -7
  251. package/llms/components/lr-tool-call-block.md +1 -1
  252. package/llms/components/lr-tool-timeline.md +2 -5
  253. package/llms/components/lr-video-playlist.md +1 -1
  254. package/llms/components/lr-video.md +1 -1
  255. package/llms/components/lr-widget-renderer.md +7 -6
  256. package/llms/components/lr-zoomable-frame.md +1 -1
  257. package/llms/index.md +3 -618
  258. package/llms/migration.md +614 -614
  259. package/llms/shared/events-and-types.md +32 -31
  260. package/llms/shared/frameworks-and-ssr.md +7 -3
  261. package/llms/shared/imports-and-registration.md +22 -22
  262. package/llms/shared/localization-and-rtl.md +2 -2
  263. package/llms/shared/native-styles-and-utilities.md +263 -0
  264. package/llms/shared/styles-and-tokens.md +85 -676
  265. package/llms/shared/testing-and-utilities.md +12 -11
  266. package/llms/shared/v23-to-v24-migration.md +167 -0
  267. package/llms/shared.md +149 -494
  268. package/llms/tokens.md +3 -3
  269. package/llms.txt +9 -4
  270. package/package.json +7 -311
  271. package/registrations.json +1 -1
  272. package/vscode-html-data.json +1 -1
  273. package/web-types.json +1 -1
  274. package/dist/ssr-loader.d.ts +0 -2
  275. package/dist/ssr-loader.js +0 -1
  276. package/dist/theme/presets/shadcn.d.ts +0 -22
  277. package/dist/theme/presets/shadcn.js +0 -1
  278. package/dist/theme/presets.d.ts +0 -49
  279. package/dist/theme/presets.js +0 -1
  280. package/dist/themes/shadcn.css +0 -1
@@ -1,2 +0,0 @@
1
- /** @deprecated Use hydration.js before browser registrations; use ssr.js for server diagnostics. */
2
- import'./hydration.js';import'./all.js';export*from'./lyra.js';export*from'./ssr.js';
@@ -1 +0,0 @@
1
- import"./hydration.js";import"./all.js";export*from"./lyra.js";export*from"./ssr.js";
@@ -1,22 +0,0 @@
1
- import type{LyraThemePreset}from'../presets.js';
2
- /**
3
- * The `themes/shadcn.css` look as a runtime token preset: the same `--lr-theme-*` values, as a
4
- * validated per-mode token map that `applyLyraThemePreset()` persists, the no-flash bootstrap
5
- * restores before first paint, and the runtime writes inline on `<html>`.
6
- *
7
- * The look is its own axis. The preset carries only `tokens`: applying it keeps the current mode,
8
- * accent and surface, and applying a built-in preset (`'sapphire'`, `'dark'`, ...) afterwards keeps
9
- * the look, so either order reaches the same state.
10
- *
11
- * For the exact stylesheet rendering (no accent ramp, default surface reference), apply one
12
- * composed preset:
13
- * `applyLyraThemePreset(defineLyraThemePreset({ id: 'shadcn-exact', theme: { ...LYRA_SHADCN_THEME_PRESET.theme, accent: null, surface: null } }))`.
14
- *
15
- * @example
16
- * import { applyLyraThemePreset } from '@aceshooting/lyra-ui/theme/presets.js';
17
- * import { LYRA_SHADCN_THEME_PRESET } from '@aceshooting/lyra-ui/theme/presets/shadcn.js';
18
- *
19
- * applyLyraThemePreset(LYRA_SHADCN_THEME_PRESET);
20
- * @deprecated Use LYRA_SHADCN_LOOK from theme/looks/shadcn.js with setLyraStyle().
21
- */
22
- export declare const LYRA_SHADCN_THEME_PRESET:Readonly<LyraThemePreset>;
@@ -1 +0,0 @@
1
- const LYRA_SHADCN_THEME_PRESET=Object.freeze({id:"shadcn",theme:Object.freeze({tokens:Object.freeze({[Symbol.for("@aceshooting/lyra-ui.look.v1")]:"shadcn","--lr-theme-color-surface-default":Object.freeze({light:"#ffffff",dark:"#0a0a0a"}),"--lr-theme-color-surface-raised":Object.freeze({light:"#fafafa",dark:"#171717"}),"--lr-theme-color-surface-overlay":Object.freeze({light:"#ffffff",dark:"#171717"}),"--lr-theme-color-text-normal":Object.freeze({light:"#0a0a0a",dark:"#fafafa"}),"--lr-theme-color-text-quiet":Object.freeze({light:"#737373",dark:"#a1a1a1"}),"--lr-theme-color-surface-border":Object.freeze({light:"#919191",dark:"#646464"}),"--lr-theme-color-surface-border-subtle":Object.freeze({light:"#e5e5e5",dark:"rgb(255 255 255 / 0.1)"}),"--lr-theme-color-border-strong":Object.freeze({light:"#919191",dark:"#646464"}),"--lr-theme-color-brand-fill-quiet":Object.freeze({light:"#f5f5f5",dark:"#262626"}),"--lr-theme-color-brand-fill-normal":Object.freeze({light:"#e5e5e5",dark:"#404040"}),"--lr-theme-color-brand-fill-loud":Object.freeze({light:"#171717",dark:"#e5e5e5"}),"--lr-theme-color-brand-border-quiet":Object.freeze({light:"#e5e5e5",dark:"#262626"}),"--lr-theme-color-brand-border-normal":Object.freeze({light:"#737373",dark:"#a1a1a1"}),"--lr-theme-color-brand-border-loud":Object.freeze({light:"#171717",dark:"#e5e5e5"}),"--lr-theme-color-brand-on-quiet":Object.freeze({light:"#171717",dark:"#fafafa"}),"--lr-theme-color-brand-on-normal":Object.freeze({light:"#171717",dark:"#fafafa"}),"--lr-theme-color-brand-on-loud":Object.freeze({light:"#fafafa",dark:"#171717"}),"--lr-theme-color-neutral-fill-quiet":Object.freeze({light:"#f5f5f5",dark:"#262626"}),"--lr-theme-color-neutral-fill-normal":Object.freeze({light:"#e5e5e5",dark:"#404040"}),"--lr-theme-color-neutral-fill-loud":"var(--lr-theme-color-brand-fill-loud)","--lr-theme-color-neutral-border-quiet":Object.freeze({light:"#e5e5e5",dark:"#262626"}),"--lr-theme-color-neutral-border-normal":Object.freeze({light:"#737373",dark:"#a1a1a1"}),"--lr-theme-color-neutral-border-loud":"var(--lr-theme-color-brand-border-loud)","--lr-theme-color-neutral-on-quiet":Object.freeze({light:"#171717",dark:"#fafafa"}),"--lr-theme-color-neutral-on-normal":Object.freeze({light:"#171717",dark:"#fafafa"}),"--lr-theme-color-neutral-on-loud":"var(--lr-theme-color-brand-on-loud)","--lr-theme-color-danger-fill-loud":Object.freeze({light:"#d6000a",dark:"#ff6467"}),"--lr-theme-color-danger-on-loud":Object.freeze({light:"#ffffff",dark:"#0a0a0a"}),"--lr-theme-color-focus":Object.freeze({light:"#8b8b8b",dark:"#787878"}),"--lr-theme-focus-ring-width":"3px","--lr-theme-focus-ring-offset":"0px","--lr-theme-color-mix-partner":"#737373","--lr-theme-border-radius-m":"0.5rem","--lr-theme-border-radius-xs":"0.25rem","--lr-theme-font-family-body":"'Geist', 'Inter', ui-sans-serif, system-ui, sans-serif","--lr-theme-font-family-mono":"'Geist Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace","--lr-theme-font-size-m":"0.875rem","--lr-theme-heading-letter-spacing":"-0.025em","--lr-theme-form-control-height-s":"2rem","--lr-theme-form-control-height-m":"2.25rem","--lr-theme-form-control-height-l":"2.5rem","--lr-theme-icon-button-size":"2.25rem","--lr-theme-shadow-xs":Object.freeze({light:"0 1px 2px 0 rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.05)",dark:"0 1px 2px 0 rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.15)"}),"--lr-theme-shadow-s":Object.freeze({light:"0 1px 3px 0 rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.1), 0 1px 2px -1px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.1)",dark:"0 1px 3px 0 rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.3), 0 1px 2px -1px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.3)"}),"--lr-theme-shadow-m":Object.freeze({light:"0 4px 6px -1px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.1), 0 2px 4px -2px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.1)",dark:"0 4px 6px -1px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.3), 0 2px 4px -2px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.3)"}),"--lr-theme-shadow-l":Object.freeze({light:"0 10px 15px -3px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.1), 0 4px 6px -4px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.1)",dark:"0 10px 15px -3px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.3), 0 4px 6px -4px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.3)"}),"--lr-theme-shadow-xl":Object.freeze({light:"0 20px 25px -5px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.1), 0 8px 10px -6px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.1)",dark:"0 20px 25px -5px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.3), 0 8px 10px -6px rgb(var(--lr-theme-shadow-color, 0 0 0) / 0.3)"}),"--lr-theme-color-chart-sequential-1":Object.freeze({light:"#e5e5e5",dark:"#262626"}),"--lr-theme-color-chart-sequential-2":Object.freeze({light:"#737373",dark:"#a3a3a3"}),"--lr-theme-color-chart-sequential-3":Object.freeze({light:"#171717",dark:"#fafafa"}),"--lr-theme-color-chart-diverging-1":Object.freeze({light:"#9a3412",dark:"#fdba74"}),"--lr-theme-color-chart-diverging-2":Object.freeze({light:"#f5f5f5",dark:"#404040"}),"--lr-theme-color-chart-diverging-3":Object.freeze({light:"#075985",dark:"#7dd3fc"}),"--lr-theme-color-success-fill-quiet":Object.freeze({light:"#d3fbd8",dark:"#013912"}),"--lr-theme-color-success-fill-normal":Object.freeze({light:"#91d09a",dark:"#0c7830"}),"--lr-theme-color-success-fill-loud":Object.freeze({light:"#0c7830",dark:"#67b374"}),"--lr-theme-color-success-border-quiet":Object.freeze({light:"#91d09a",dark:"#013912"}),"--lr-theme-color-success-border-normal":"#3e9550","--lr-theme-color-success-border-loud":Object.freeze({light:"#00571f",dark:"#67b374"}),"--lr-theme-color-success-on-quiet":Object.freeze({light:"#000001",dark:"#edeef1"}),"--lr-theme-color-success-on-normal":Object.freeze({light:"#000001",dark:"#edeef1"}),"--lr-theme-color-success-on-loud":Object.freeze({light:"#edeef1",dark:"#000001"}),"--lr-theme-color-warning-fill-quiet":Object.freeze({light:"#ffebd2",dark:"#402801"}),"--lr-theme-color-warning-fill-normal":Object.freeze({light:"#ddb781",dark:"#855905"}),"--lr-theme-color-warning-fill-loud":Object.freeze({light:"#855905",dark:"#c39554"}),"--lr-theme-color-warning-border-quiet":Object.freeze({light:"#ddb781",dark:"#402801"}),"--lr-theme-color-warning-border-normal":"#a77526","--lr-theme-color-warning-border-loud":Object.freeze({light:"#624001",dark:"#c39554"}),"--lr-theme-color-warning-on-quiet":Object.freeze({light:"#000001",dark:"#edeef1"}),"--lr-theme-color-warning-on-normal":Object.freeze({light:"#000001",dark:"#edeef1"}),"--lr-theme-color-warning-on-loud":Object.freeze({light:"#edeef1",dark:"#000001"}),"--lr-theme-color-danger-fill-quiet":Object.freeze({light:"#ffe9e6",dark:"#5c010a"}),"--lr-theme-color-danger-fill-normal":Object.freeze({light:"#ffa099",dark:"#bb0320"}),"--lr-theme-color-danger-border-quiet":Object.freeze({light:"#ffa099",dark:"#5c010a"}),"--lr-theme-color-danger-border-normal":"#dc3e41","--lr-theme-color-danger-border-loud":Object.freeze({light:"#890415",dark:"#f86b66"}),"--lr-theme-color-danger-on-quiet":Object.freeze({light:"#000001",dark:"#edeef1"}),"--lr-theme-color-danger-on-normal":Object.freeze({light:"#000001",dark:"#edeef1"}),"--lr-theme-color-no-data":Object.freeze({light:"rgb(128 128 128 / 25%)",dark:"rgb(180 180 180 / 30%)"}),"--lr-theme-color-overlay":Object.freeze({light:"rgb(0 0 0 / 0.5)",dark:"rgb(0 0 0 / 0.72)"}),"--lr-theme-color-overlay-strong":Object.freeze({light:"rgb(0 0 0 / 0.92)",dark:"rgb(0 0 0 / 0.95)"}),"--lr-theme-color-on-strong-overlay":"#ffffff","--lr-theme-color-chart-1":Object.freeze({light:"#0e006e",dark:"#bbff94"}),"--lr-theme-color-chart-2":Object.freeze({light:"#4d011a",dark:"#ffbce8"}),"--lr-theme-color-chart-3":Object.freeze({light:"#862002",dark:"#2bd66a"}),"--lr-theme-color-chart-4":Object.freeze({light:"#503983",dark:"#bb99cb"}),"--lr-theme-color-chart-5":Object.freeze({light:"#315fdd",dark:"#7888fe"}),"--lr-theme-color-chart-6":Object.freeze({light:"#935e7c",dark:"#9b6b90"}),"--lr-theme-color-chart-7":Object.freeze({light:"#de6906",dark:"#db3a29"}),"--lr-theme-color-chart-8":Object.freeze({light:"#8f81d3",dark:"#555de3"}),"--lr-theme-graph-cat-1":Object.freeze({light:"#8250df",dark:"#b58cff"}),"--lr-theme-graph-cat-2":Object.freeze({light:"#bf3989",dark:"#ff7ab2"}),"--lr-theme-graph-cat-3":Object.freeze({light:"#0a7d91",dark:"#4fd1c5"}),"--lr-theme-graph-cat-4":Object.freeze({light:"#57606a",dark:"#aab4c4"}),"--lr-theme-graph-cat-5":Object.freeze({light:"#b083f5",dark:"#d4a7ff"}),"--lr-theme-graph-cat-6":Object.freeze({light:"#f470b8",dark:"#ff91c8"}),"--lr-theme-graph-cat-7":Object.freeze({light:"#52d6e8",dark:"#79e2ef"}),"--lr-theme-graph-cat-8":Object.freeze({light:"#c9d1d9",dark:"#e4e7eb"}),"--lr-theme-terminal-color-black":Object.freeze({light:"#2b2b2b",dark:"#929292"}),"--lr-theme-terminal-color-red":Object.freeze({light:"#901114",dark:"#f9786c"}),"--lr-theme-terminal-color-green":Object.freeze({light:"#015e15",dark:"#67bb6b"}),"--lr-theme-terminal-color-yellow":Object.freeze({light:"#5f4a03",dark:"#c7a01e"}),"--lr-theme-terminal-color-blue":Object.freeze({light:"#06489c",dark:"#69a5fe"}),"--lr-theme-terminal-color-magenta":Object.freeze({light:"#67298c",dark:"#c385ef"}),"--lr-theme-terminal-color-cyan":Object.freeze({light:"#02585f",dark:"#17bac8"}),"--lr-theme-terminal-color-white":Object.freeze({light:"#555555",dark:"#c4c4c4"}),"--lr-theme-terminal-color-bright-black":Object.freeze({light:"#404040",dark:"#ababab"}),"--lr-theme-terminal-color-bright-red":Object.freeze({light:"#b32322",dark:"#ffaba1"}),"--lr-theme-terminal-color-bright-green":Object.freeze({light:"#01791e",dark:"#7cdf81"}),"--lr-theme-terminal-color-bright-yellow":Object.freeze({light:"#796005",dark:"#ecbe24"}),"--lr-theme-terminal-color-bright-blue":Object.freeze({light:"#145ec1",dark:"#a0c6fe"}),"--lr-theme-terminal-color-bright-magenta":Object.freeze({light:"#823bae",dark:"#dcaefe"}),"--lr-theme-terminal-color-bright-cyan":Object.freeze({light:"#04717a",dark:"#00ddef"}),"--lr-theme-terminal-color-bright-white":Object.freeze({light:"#6c6c6c",dark:"#dedede"}),"--lr-theme-terminal-bg-black":Object.freeze({light:"#868686",dark:"#292929"}),"--lr-theme-terminal-bg-red":Object.freeze({light:"#d2918a",dark:"#733a35"}),"--lr-theme-terminal-bg-green":Object.freeze({light:"#89b18a",dark:"#335735"}),"--lr-theme-terminal-bg-yellow":Object.freeze({light:"#b6a372",dark:"#5c4b1a"}),"--lr-theme-terminal-bg-blue":Object.freeze({light:"#88a6d4",dark:"#324e76"}),"--lr-theme-terminal-bg-magenta":Object.freeze({light:"#b497cb",dark:"#5a406e"}),"--lr-theme-terminal-bg-cyan":Object.freeze({light:"#77b0b6",dark:"#1c565d"}),"--lr-theme-terminal-bg-white":Object.freeze({light:"#b7b7b7",dark:"#525252"}),"--lr-theme-terminal-bg-bright-black":Object.freeze({light:"#9e9e9e",dark:"#3d3d3d"}),"--lr-theme-terminal-bg-bright-red":Object.freeze({light:"#f9aea5",dark:"#904e47"}),"--lr-theme-terminal-bg-bright-green":Object.freeze({light:"#a4d2a4",dark:"#456f46"}),"--lr-theme-terminal-bg-bright-yellow":Object.freeze({light:"#d8c288",dark:"#756127"}),"--lr-theme-terminal-bg-bright-blue":Object.freeze({light:"#a2c6fb",dark:"#446493"}),"--lr-theme-terminal-bg-bright-magenta":Object.freeze({light:"#d6b4f0",dark:"#73548a"}),"--lr-theme-terminal-bg-bright-cyan":Object.freeze({light:"#8dd2da",dark:"#286f76"}),"--lr-theme-terminal-bg-bright-white":Object.freeze({light:"#d1d1d1",dark:"#696969"})})})});export{LYRA_SHADCN_THEME_PRESET};
@@ -1,49 +0,0 @@
1
- import{type LyraTheme}from'./theme.js';
2
- /** A named, reusable application theme choice.
3
- * @deprecated Use LyraLook for a named token definition, or LyraStyleChoices for a combination of independent choices.
4
- */
5
- export interface LyraThemePreset{
6
- /** Stable lowercase identifier reflected to `data-lr-theme-preset`. */
7
- readonly id:string;
8
- /** Mode/accent/surface/tokens fields passed through the production theme runtime. */
9
- readonly theme:Readonly<Partial<LyraTheme>>;}
10
- /** Detail emitted on `window` after a preset is applied.
11
- * @deprecated Use LyraStyleChangeDetail from theme.js and listen for lr-style-change.
12
- */
13
- export interface LyraThemePresetChangeDetail{
14
- /** Applied preset id. */
15
- readonly id:string;
16
- /** Complete semantic snapshot the production runtime applied. */
17
- readonly theme:Readonly<LyraTheme>;}declare global{interface WindowEventMap{'lr-theme-preset-change':CustomEvent<LyraThemePresetChangeDetail>;}}
18
- /**
19
- * Validates and freezes an application-owned preset. The id, the closed mode vocabulary, the
20
- * accent value shape and the whole token map are checked here; accent and surface colour syntax is
21
- * still validated by the production runtime when the preset is applied.
22
- *
23
- * `tokens` is a validated map of `--lr-theme-*` inputs, each a CSS value or a `{ light, dark }`
24
- * pair. It is checked against the same DOM-free grammar the runtime and the no-flash bootstrap
25
- * apply (names, value characters, allowed functions, balanced parentheses and quotes, at most 512
26
- * entries), and any violation throws `TypeError`, so a map accepted here always survives runtime
27
- * normalization unchanged. The stored copy is trimmed and deep-frozen, with both `light` and
28
- * `dark` on every per-mode entry. A token map is a look: an independent axis from `mode`, `accent`
29
- * and `surface`, so a preset that omits those fields leaves them as they are, and the built-in
30
- * presets, which never mention `tokens`, leave a look in place. Every field still goes through the
31
- * production path: OS following, contrast validation, persistence, canvas invalidation, and
32
- * no-flash boot.
33
- * @deprecated Use defineLyraLook for token definitions and LyraStyleChoices for combined choices; review field semantics.
34
- */
35
- export declare function defineLyraThemePreset<const Preset extends LyraThemePreset>(preset:Preset):Readonly<Preset>;
36
- /** Built-in semantic and gemstone-accent choices.
37
- * @deprecated Pass independent mode and accent choices to setLyraStyle from theme.js.
38
- */
39
- export declare const LYRA_THEME_PRESETS:Readonly<{system:Readonly<{readonly id:"system";readonly theme:{readonly mode:"auto";readonly accent:null;};}>;light:Readonly<{readonly id:"light";readonly theme:{readonly mode:"light";readonly accent:null;};}>;dark:Readonly<{readonly id:"dark";readonly theme:{readonly mode:"dark";readonly accent:null;};}>;unset:Readonly<{readonly id:"unset";readonly theme:{readonly mode:"unset";readonly accent:null;};}>;emerald:Readonly<{readonly id:"emerald";readonly theme:{readonly mode:"auto";readonly accent:string;};}>;ruby:Readonly<{readonly id:"ruby";readonly theme:{readonly mode:"auto";readonly accent:string;};}>;amethyst:Readonly<{readonly id:"amethyst";readonly theme:{readonly mode:"auto";readonly accent:string;};}>;sapphire:Readonly<{readonly id:"sapphire";readonly theme:{readonly mode:"auto";readonly accent:string;};}>;}>;
40
- /** @deprecated Use LyraStyleChoices from theme.js; select mode and accent independently. */
41
- export type LyraThemePresetName=keyof typeof LYRA_THEME_PRESETS;
42
- /**
43
- * Applies a built-in key or an application preset. The preset marker and
44
- * `lr-theme-preset-change` event are published only when runtime normalization accepts every
45
- * explicitly requested field; otherwise `lr-theme-change` remains the truthful notification for
46
- * the normalized state and no exact named-preset identity is claimed.
47
- * @deprecated Use setLyraStyle from theme.js; review mode, surface, tokens and accent semantics.
48
- */
49
- export declare function applyLyraThemePreset(presetOrName:LyraThemePresetName|Readonly<LyraThemePreset>):void;
@@ -1 +0,0 @@
1
- import{warnDeprecatedUsage}from"../internal/dev-warning.js";import{GEMSTONES}from"./gemstones-data.js";import{accentsEqual,getLyraTheme,isLyraThemeTokenName,isSafeLyraThemeTokenValue,setLyraTheme,tokensEqual}from"./theme.js";const TOKEN_ENTRY_MAX=512;function isPlainObject(value){if(typeof value!="object"||value===null||Array.isArray(value))return!1;const prototype=Object.getPrototypeOf(value);return prototype===Object.prototype||prototype===null}function validateTokenValue(name,value){if(!isSafeLyraThemeTokenValue(value))throw new TypeError(`Lyra theme preset token ${name} has an unsafe or malformed CSS value.`);return value.trim()}function validatePresetTokens(tokens){if(tokens===null)return null;if(!isPlainObject(tokens))throw new TypeError("Lyra theme preset tokens must be a plain object of --lr-theme-* values, or null.");const names=Object.keys(tokens);if(names.length>TOKEN_ENTRY_MAX)throw new TypeError(`Lyra theme preset tokens are limited to ${TOKEN_ENTRY_MAX} entries.`);const result={};for(const name of names){if(!isLyraThemeTokenName(name))throw new TypeError(`Lyra theme preset token names must be --lr-theme-* inputs other than --lr-theme-accent: ${name}`);const value=tokens[name];if(typeof value=="string"){result[name]=validateTokenValue(name,value);continue}if(!isPlainObject(value))throw new TypeError(`Lyra theme preset token ${name} must be a CSS value string or a { light, dark } record.`);if(Object.keys(value).some(key=>key!=="light"&&key!=="dark")||!Object.prototype.hasOwnProperty.call(value,"light")&&!Object.prototype.hasOwnProperty.call(value,"dark"))throw new TypeError(`Lyra theme preset token ${name} must use only light and dark keys, and at least one of them.`);const branch=mode=>{const raw=value[mode];return raw==null?null:validateTokenValue(name,raw)},light=branch("light"),dark=branch("dark");if(light===null&&dark===null)throw new TypeError(`Lyra theme preset token ${name} needs a light or a dark value.`);result[name]=Object.freeze({light,dark})}const lookKey=Symbol.for("@aceshooting/lyra-ui.look.v1"),look=Object.getOwnPropertyDescriptor(tokens,lookKey)?.value;return typeof look=="string"&&look.length<=64&&/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(look)&&Object.defineProperty(result,lookKey,{value:look}),Object.freeze(result)}function normalizePreset(preset){if(typeof preset?.id!="string"||!/^[a-z0-9]+(?:-[a-z0-9]+)*$/.test(preset.id))throw new TypeError("Lyra theme preset ids must be lowercase kebab-case.");if(!preset.theme||typeof preset.theme!="object"||Array.isArray(preset.theme))throw new TypeError("Lyra theme presets require a theme record.");const{mode,accent,surface}=preset.theme;if(mode!==void 0&&mode!=="light"&&mode!=="dark"&&mode!=="auto"&&mode!=="unset")throw new TypeError("Lyra theme preset mode must be light, dark, auto, or unset.");const isPlainAccentRecord=typeof accent=="object"&&accent!==null&&!Array.isArray(accent);if(accent!=null&&typeof accent!="string"&&!isPlainAccentRecord)throw new TypeError("Lyra theme preset accent must be a CSS color string, a per-role color record, or null.");if(surface!=null&&typeof surface!="string")throw new TypeError("Lyra theme preset surface must be a CSS color string or null.");const{tokens}=preset.theme,theme=Object.freeze(tokens===void 0?{...preset.theme}:{...preset.theme,tokens:validatePresetTokens(tokens)});return Object.freeze({...preset,theme})}function defineLyraThemePreset(preset){return warnDeprecatedUsage("./theme/presets.js","function","defineLyraThemePreset","defineLyraLook for tokens and independent style choices"),normalizePreset(preset)}const LYRA_THEME_PRESETS=Object.freeze({system:normalizePreset({id:"system",theme:{mode:"auto",accent:null}}),light:normalizePreset({id:"light",theme:{mode:"light",accent:null}}),dark:normalizePreset({id:"dark",theme:{mode:"dark",accent:null}}),unset:normalizePreset({id:"unset",theme:{mode:"unset",accent:null}}),emerald:normalizePreset({id:"emerald",theme:{mode:"auto",accent:GEMSTONES.emerald.fill}}),ruby:normalizePreset({id:"ruby",theme:{mode:"auto",accent:GEMSTONES.ruby.fill}}),amethyst:normalizePreset({id:"amethyst",theme:{mode:"auto",accent:GEMSTONES.amethyst.fill}}),sapphire:normalizePreset({id:"sapphire",theme:{mode:"auto",accent:GEMSTONES.sapphire.fill}})});function applyLyraThemePreset(presetOrName){warnDeprecatedUsage("./theme/presets.js","function","applyLyraThemePreset","setLyraStyle from theme.js");const preset=typeof presetOrName=="string"?Object.prototype.hasOwnProperty.call(LYRA_THEME_PRESETS,presetOrName)?LYRA_THEME_PRESETS[presetOrName]:void 0:presetOrName;if(!preset)throw new TypeError(`Unknown Lyra theme preset: ${String(presetOrName)}`);const normalized=normalizePreset(preset);setLyraTheme(normalized.theme);const applied=Object.freeze({...getLyraTheme()}),requested=normalized.theme;if(!((requested.mode===void 0||requested.mode===applied.mode)&&(requested.accent===void 0||accentsEqual(requested.accent,applied.accent))&&(requested.surface===void 0||requested.surface===applied.surface)&&(requested.tokens===void 0||tokensEqual(requested.tokens,applied.tokens))))return;document.documentElement.setAttribute("data-lr-theme-preset",normalized.id);const detail=Object.freeze({id:normalized.id,theme:applied});window.dispatchEvent(new CustomEvent("lr-theme-preset-change",{detail}))}export{LYRA_THEME_PRESETS,applyLyraThemePreset,defineLyraThemePreset};
@@ -1 +0,0 @@
1
- @layer lr-base,lr-theme;@layer lr-theme-preset{:root,.lr-light,[data-lr-theme=light],.light{color-scheme:light;--lr-theme-color-surface-default:#fff;--lr-theme-color-surface-raised:#fafafa;--lr-theme-color-surface-overlay:#fff;--lr-theme-color-text-normal:#0a0a0a;--lr-theme-color-text-quiet:#737373;--lr-theme-color-surface-border:#919191;--lr-theme-color-surface-border-subtle:#e5e5e5;--lr-theme-color-border-strong:#919191;--lr-theme-color-brand-fill-quiet:#f5f5f5;--lr-theme-color-brand-fill-normal:#e5e5e5;--lr-theme-color-brand-fill-loud:#171717;--lr-theme-color-brand-border-quiet:#e5e5e5;--lr-theme-color-brand-border-normal:#737373;--lr-theme-color-brand-border-loud:#171717;--lr-theme-color-brand-on-quiet:#171717;--lr-theme-color-brand-on-normal:#171717;--lr-theme-color-brand-on-loud:#fafafa;--lr-theme-color-neutral-fill-quiet:#f5f5f5;--lr-theme-color-neutral-fill-normal:#e5e5e5;--lr-theme-color-neutral-fill-loud:var(--lr-theme-color-brand-fill-loud);--lr-theme-color-neutral-border-quiet:#e5e5e5;--lr-theme-color-neutral-border-normal:#737373;--lr-theme-color-neutral-border-loud:var(--lr-theme-color-brand-border-loud);--lr-theme-color-neutral-on-quiet:#171717;--lr-theme-color-neutral-on-normal:#171717;--lr-theme-color-neutral-on-loud:var(--lr-theme-color-brand-on-loud);--lr-theme-color-danger-fill-loud:#d6000a;--lr-theme-color-danger-on-loud:#fff;--lr-theme-color-focus:#8b8b8b;--lr-theme-focus-ring-width:3px;--lr-theme-focus-ring-offset:0px;--lr-theme-color-mix-partner:#737373;--lr-theme-border-radius-m:.5rem;--lr-theme-border-radius-xs:.25rem;--lr-theme-font-family-body:"Geist", "Inter", ui-sans-serif, system-ui, sans-serif;--lr-theme-font-family-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lr-theme-font-size-m:.875rem;--lr-theme-heading-letter-spacing:-.025em;--lr-theme-form-control-height-s:2rem;--lr-theme-form-control-height-m:2.25rem;--lr-theme-form-control-height-l:2.5rem;--lr-theme-icon-button-size:2.25rem;--lr-theme-shadow-xs:0 1px 2px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .05);--lr-theme-shadow-s:0 1px 3px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 1px 2px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .1);--lr-theme-shadow-m:0 4px 6px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 2px 4px -2px rgb(var(--lr-theme-shadow-color,0 0 0) / .1);--lr-theme-shadow-l:0 10px 15px -3px rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 4px 6px -4px rgb(var(--lr-theme-shadow-color,0 0 0) / .1);--lr-theme-shadow-xl:0 20px 25px -5px rgb(var(--lr-theme-shadow-color,0 0 0) / .1), 0 8px 10px -6px rgb(var(--lr-theme-shadow-color,0 0 0) / .1);--lr-theme-color-chart-sequential-1:#e5e5e5;--lr-theme-color-chart-sequential-2:#737373;--lr-theme-color-chart-sequential-3:#171717;--lr-theme-color-chart-diverging-1:#9a3412;--lr-theme-color-chart-diverging-2:#f5f5f5;--lr-theme-color-chart-diverging-3:#075985;--lr-theme-color-success-fill-quiet:#d3fbd8;--lr-theme-color-success-fill-normal:#91d09a;--lr-theme-color-success-fill-loud:#0c7830;--lr-theme-color-success-border-quiet:#91d09a;--lr-theme-color-success-border-normal:#3e9550;--lr-theme-color-success-border-loud:#00571f;--lr-theme-color-success-on-quiet:#000001;--lr-theme-color-success-on-normal:#000001;--lr-theme-color-success-on-loud:#edeef1;--lr-theme-color-warning-fill-quiet:#ffebd2;--lr-theme-color-warning-fill-normal:#ddb781;--lr-theme-color-warning-fill-loud:#855905;--lr-theme-color-warning-border-quiet:#ddb781;--lr-theme-color-warning-border-normal:#a77526;--lr-theme-color-warning-border-loud:#624001;--lr-theme-color-warning-on-quiet:#000001;--lr-theme-color-warning-on-normal:#000001;--lr-theme-color-warning-on-loud:#edeef1;--lr-theme-color-danger-fill-quiet:#ffe9e6;--lr-theme-color-danger-fill-normal:#ffa099;--lr-theme-color-danger-border-quiet:#ffa099;--lr-theme-color-danger-border-normal:#dc3e41;--lr-theme-color-danger-border-loud:#890415;--lr-theme-color-danger-on-quiet:#000001;--lr-theme-color-danger-on-normal:#000001;--lr-theme-color-no-data:#80808040;--lr-theme-color-overlay:#00000080;--lr-theme-color-overlay-strong:#000000eb;--lr-theme-color-on-strong-overlay:#fff;--lr-theme-color-chart-1:#0e006e;--lr-theme-color-chart-2:#4d011a;--lr-theme-color-chart-3:#862002;--lr-theme-color-chart-4:#503983;--lr-theme-color-chart-5:#315fdd;--lr-theme-color-chart-6:#935e7c;--lr-theme-color-chart-7:#de6906;--lr-theme-color-chart-8:#8f81d3;--lr-theme-graph-cat-1:#8250df;--lr-theme-graph-cat-2:#bf3989;--lr-theme-graph-cat-3:#0a7d91;--lr-theme-graph-cat-4:#57606a;--lr-theme-graph-cat-5:#b083f5;--lr-theme-graph-cat-6:#f470b8;--lr-theme-graph-cat-7:#52d6e8;--lr-theme-graph-cat-8:#c9d1d9;--lr-theme-terminal-color-black:#2b2b2b;--lr-theme-terminal-color-red:#901114;--lr-theme-terminal-color-green:#015e15;--lr-theme-terminal-color-yellow:#5f4a03;--lr-theme-terminal-color-blue:#06489c;--lr-theme-terminal-color-magenta:#67298c;--lr-theme-terminal-color-cyan:#02585f;--lr-theme-terminal-color-white:#555;--lr-theme-terminal-color-bright-black:#404040;--lr-theme-terminal-color-bright-red:#b32322;--lr-theme-terminal-color-bright-green:#01791e;--lr-theme-terminal-color-bright-yellow:#796005;--lr-theme-terminal-color-bright-blue:#145ec1;--lr-theme-terminal-color-bright-magenta:#823bae;--lr-theme-terminal-color-bright-cyan:#04717a;--lr-theme-terminal-color-bright-white:#6c6c6c;--lr-theme-terminal-bg-black:#868686;--lr-theme-terminal-bg-red:#d2918a;--lr-theme-terminal-bg-green:#89b18a;--lr-theme-terminal-bg-yellow:#b6a372;--lr-theme-terminal-bg-blue:#88a6d4;--lr-theme-terminal-bg-magenta:#b497cb;--lr-theme-terminal-bg-cyan:#77b0b6;--lr-theme-terminal-bg-white:#b7b7b7;--lr-theme-terminal-bg-bright-black:#9e9e9e;--lr-theme-terminal-bg-bright-red:#f9aea5;--lr-theme-terminal-bg-bright-green:#a4d2a4;--lr-theme-terminal-bg-bright-yellow:#d8c288;--lr-theme-terminal-bg-bright-blue:#a2c6fb;--lr-theme-terminal-bg-bright-magenta:#d6b4f0;--lr-theme-terminal-bg-bright-cyan:#8dd2da;--lr-theme-terminal-bg-bright-white:#d1d1d1}.lr-dark,[data-lr-theme=dark],.dark{color-scheme:dark;--lr-theme-color-surface-default:#0a0a0a;--lr-theme-color-surface-raised:#171717;--lr-theme-color-surface-overlay:#171717;--lr-theme-color-text-normal:#fafafa;--lr-theme-color-text-quiet:#a1a1a1;--lr-theme-color-surface-border:#646464;--lr-theme-color-surface-border-subtle:#ffffff1a;--lr-theme-color-border-strong:#646464;--lr-theme-color-brand-fill-quiet:#262626;--lr-theme-color-brand-fill-normal:#404040;--lr-theme-color-brand-fill-loud:#e5e5e5;--lr-theme-color-brand-border-quiet:#262626;--lr-theme-color-brand-border-normal:#a1a1a1;--lr-theme-color-brand-border-loud:#e5e5e5;--lr-theme-color-brand-on-quiet:#fafafa;--lr-theme-color-brand-on-normal:#fafafa;--lr-theme-color-brand-on-loud:#171717;--lr-theme-color-neutral-fill-quiet:#262626;--lr-theme-color-neutral-fill-normal:#404040;--lr-theme-color-neutral-fill-loud:var(--lr-theme-color-brand-fill-loud);--lr-theme-color-neutral-border-quiet:#262626;--lr-theme-color-neutral-border-normal:#a1a1a1;--lr-theme-color-neutral-border-loud:var(--lr-theme-color-brand-border-loud);--lr-theme-color-neutral-on-quiet:#fafafa;--lr-theme-color-neutral-on-normal:#fafafa;--lr-theme-color-neutral-on-loud:var(--lr-theme-color-brand-on-loud);--lr-theme-color-danger-fill-loud:#ff6467;--lr-theme-color-danger-on-loud:#0a0a0a;--lr-theme-color-focus:#787878;--lr-theme-focus-ring-width:3px;--lr-theme-focus-ring-offset:0px;--lr-theme-color-mix-partner:#737373;--lr-theme-border-radius-m:.5rem;--lr-theme-border-radius-xs:.25rem;--lr-theme-font-family-body:"Geist", "Inter", ui-sans-serif, system-ui, sans-serif;--lr-theme-font-family-mono:"Geist Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--lr-theme-font-size-m:.875rem;--lr-theme-heading-letter-spacing:-.025em;--lr-theme-form-control-height-s:2rem;--lr-theme-form-control-height-m:2.25rem;--lr-theme-form-control-height-l:2.5rem;--lr-theme-icon-button-size:2.25rem;--lr-theme-shadow-xs:0 1px 2px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .15);--lr-theme-shadow-s:0 1px 3px 0 rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 1px 2px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .3);--lr-theme-shadow-m:0 4px 6px -1px rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 2px 4px -2px rgb(var(--lr-theme-shadow-color,0 0 0) / .3);--lr-theme-shadow-l:0 10px 15px -3px rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 4px 6px -4px rgb(var(--lr-theme-shadow-color,0 0 0) / .3);--lr-theme-shadow-xl:0 20px 25px -5px rgb(var(--lr-theme-shadow-color,0 0 0) / .3), 0 8px 10px -6px rgb(var(--lr-theme-shadow-color,0 0 0) / .3);--lr-theme-color-chart-sequential-1:#262626;--lr-theme-color-chart-sequential-2:#a3a3a3;--lr-theme-color-chart-sequential-3:#fafafa;--lr-theme-color-chart-diverging-1:#fdba74;--lr-theme-color-chart-diverging-2:#404040;--lr-theme-color-chart-diverging-3:#7dd3fc;--lr-theme-color-success-fill-quiet:#013912;--lr-theme-color-success-fill-normal:#0c7830;--lr-theme-color-success-fill-loud:#67b374;--lr-theme-color-success-border-quiet:#013912;--lr-theme-color-success-border-normal:#3e9550;--lr-theme-color-success-border-loud:#67b374;--lr-theme-color-success-on-quiet:#edeef1;--lr-theme-color-success-on-normal:#edeef1;--lr-theme-color-success-on-loud:#000001;--lr-theme-color-warning-fill-quiet:#402801;--lr-theme-color-warning-fill-normal:#855905;--lr-theme-color-warning-fill-loud:#c39554;--lr-theme-color-warning-border-quiet:#402801;--lr-theme-color-warning-border-normal:#a77526;--lr-theme-color-warning-border-loud:#c39554;--lr-theme-color-warning-on-quiet:#edeef1;--lr-theme-color-warning-on-normal:#edeef1;--lr-theme-color-warning-on-loud:#000001;--lr-theme-color-danger-fill-quiet:#5c010a;--lr-theme-color-danger-fill-normal:#bb0320;--lr-theme-color-danger-border-quiet:#5c010a;--lr-theme-color-danger-border-normal:#dc3e41;--lr-theme-color-danger-border-loud:#f86b66;--lr-theme-color-danger-on-quiet:#edeef1;--lr-theme-color-danger-on-normal:#edeef1;--lr-theme-color-no-data:#b4b4b44d;--lr-theme-color-overlay:#000000b8;--lr-theme-color-overlay-strong:#000000f2;--lr-theme-color-on-strong-overlay:#fff;--lr-theme-color-chart-1:#bbff94;--lr-theme-color-chart-2:#ffbce8;--lr-theme-color-chart-3:#2bd66a;--lr-theme-color-chart-4:#bb99cb;--lr-theme-color-chart-5:#7888fe;--lr-theme-color-chart-6:#9b6b90;--lr-theme-color-chart-7:#db3a29;--lr-theme-color-chart-8:#555de3;--lr-theme-graph-cat-1:#b58cff;--lr-theme-graph-cat-2:#ff7ab2;--lr-theme-graph-cat-3:#4fd1c5;--lr-theme-graph-cat-4:#aab4c4;--lr-theme-graph-cat-5:#d4a7ff;--lr-theme-graph-cat-6:#ff91c8;--lr-theme-graph-cat-7:#79e2ef;--lr-theme-graph-cat-8:#e4e7eb;--lr-theme-terminal-color-black:#929292;--lr-theme-terminal-color-red:#f9786c;--lr-theme-terminal-color-green:#67bb6b;--lr-theme-terminal-color-yellow:#c7a01e;--lr-theme-terminal-color-blue:#69a5fe;--lr-theme-terminal-color-magenta:#c385ef;--lr-theme-terminal-color-cyan:#17bac8;--lr-theme-terminal-color-white:#c4c4c4;--lr-theme-terminal-color-bright-black:#ababab;--lr-theme-terminal-color-bright-red:#ffaba1;--lr-theme-terminal-color-bright-green:#7cdf81;--lr-theme-terminal-color-bright-yellow:#ecbe24;--lr-theme-terminal-color-bright-blue:#a0c6fe;--lr-theme-terminal-color-bright-magenta:#dcaefe;--lr-theme-terminal-color-bright-cyan:#00ddef;--lr-theme-terminal-color-bright-white:#dedede;--lr-theme-terminal-bg-black:#292929;--lr-theme-terminal-bg-red:#733a35;--lr-theme-terminal-bg-green:#335735;--lr-theme-terminal-bg-yellow:#5c4b1a;--lr-theme-terminal-bg-blue:#324e76;--lr-theme-terminal-bg-magenta:#5a406e;--lr-theme-terminal-bg-cyan:#1c565d;--lr-theme-terminal-bg-white:#525252;--lr-theme-terminal-bg-bright-black:#3d3d3d;--lr-theme-terminal-bg-bright-red:#904e47;--lr-theme-terminal-bg-bright-green:#456f46;--lr-theme-terminal-bg-bright-yellow:#756127;--lr-theme-terminal-bg-bright-blue:#446493;--lr-theme-terminal-bg-bright-magenta:#73548a;--lr-theme-terminal-bg-bright-cyan:#286f76;--lr-theme-terminal-bg-bright-white:#696969}}@layer lr-utilities,lr-overrides;