@aceshooting/lyra-ui 26.0.0 → 28.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 (1677) hide show
  1. package/CHANGELOG.md +55 -675
  2. package/README.md +285 -1130
  3. package/design-tokens.json +1 -1
  4. package/dist/ai/types.d.ts +5 -5
  5. package/dist/autoloader.js +1 -1
  6. package/dist/cli/agent-registry.mjs +1 -0
  7. package/dist/cli/component-inventory.mjs +1 -1
  8. package/dist/cli/css-declarations.mjs +1 -0
  9. package/dist/cli/init-agents.mjs +40 -0
  10. package/dist/cli/is-main-module.mjs +1 -0
  11. package/dist/cli/lyra-rename-ledger.mjs +1 -1
  12. package/dist/cli/lyra-ui.mjs +11 -0
  13. package/dist/cli/migrate-wa.mjs +12 -5
  14. package/dist/cli/migration-contract.json +1 -1
  15. package/dist/cli/migration-renames.mjs +2 -2
  16. package/dist/cli/migration-theme-scopes.mjs +3 -0
  17. package/dist/cli/theme-scope-vocabulary.generated.mjs +1 -0
  18. package/dist/components/agent-tools/activity-feed/activity-feed.class.js +1 -1
  19. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.d.ts +1 -1
  20. package/dist/components/agent-tools/agent-eval-dashboard/agent-eval-dashboard.class.js +2 -2
  21. package/dist/components/agent-tools/agent-question/agent-question.class.js +1 -1
  22. package/dist/components/agent-tools/agent-run/agent-run.class.js +1 -1
  23. package/dist/components/agent-tools/agent-trace/agent-trace.class.js +1 -1
  24. package/dist/components/agent-tools/approval-queue/approval-queue.class.js +1 -1
  25. package/dist/components/agent-tools/artifact-panel/artifact-panel.class.js +1 -1
  26. package/dist/components/agent-tools/background-runs/background-runs.class.js +1 -1
  27. package/dist/components/agent-tools/browser-frame/browser-frame.class.js +1 -1
  28. package/dist/components/agent-tools/budget-meter/budget-meter.class.js +1 -1
  29. package/dist/components/agent-tools/change-review/change-review.class.js +1 -1
  30. package/dist/components/agent-tools/commit-card/commit-card.class.js +1 -1
  31. package/dist/components/agent-tools/compare-panel/compare-panel.class.js +1 -1
  32. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.d.ts +2 -2
  33. package/dist/components/agent-tools/confirm-bar/confirm-bar.class.js +2 -2
  34. package/dist/components/agent-tools/connector-manager/connector-manager.class.d.ts +4 -2
  35. package/dist/components/agent-tools/connector-manager/connector-manager.class.js +6 -3
  36. package/dist/components/agent-tools/connector-manager/connector-manager.d.ts +1 -1
  37. package/dist/components/agent-tools/connector-manager/connector-manager.js +1 -1
  38. package/dist/components/agent-tools/connector-manager/connector-manager.styles.js +1 -1
  39. package/dist/components/agent-tools/context-inspector/context-inspector.class.d.ts +2 -2
  40. package/dist/components/agent-tools/context-inspector/context-inspector.class.js +6 -6
  41. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.d.ts +8 -33
  42. package/dist/components/agent-tools/eval-dataset/eval-dataset.class.js +27 -4
  43. package/dist/components/agent-tools/eval-dataset/eval-dataset.d.ts +1 -1
  44. package/dist/components/agent-tools/eval-dataset/eval-dataset.js +1 -1
  45. package/dist/components/agent-tools/eval-dataset/eval-dataset.styles.js +1 -1
  46. package/dist/components/agent-tools/eval-result/eval-result.class.js +1 -1
  47. package/dist/components/agent-tools/evaluation-run/evaluation-run.class.js +1 -1
  48. package/dist/components/agent-tools/mcp-app/mcp-app.class.js +1 -1
  49. package/dist/components/agent-tools/permission-grant/permission-grant.class.d.ts +4 -2
  50. package/dist/components/agent-tools/permission-grant/permission-grant.class.js +6 -3
  51. package/dist/components/agent-tools/permission-grant/permission-grant.d.ts +1 -1
  52. package/dist/components/agent-tools/permission-grant/permission-grant.js +1 -1
  53. package/dist/components/agent-tools/permission-grant/permission-grant.styles.js +1 -1
  54. package/dist/components/agent-tools/permission-rules/permission-rules.class.js +1 -1
  55. package/dist/components/agent-tools/policy-summary/policy-summary.class.js +1 -1
  56. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.d.ts +1 -1
  57. package/dist/components/agent-tools/prompt-studio/prompt-studio.class.js +2 -2
  58. package/dist/components/agent-tools/result-card/result-field.class.js +1 -1
  59. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.d.ts +3 -1
  60. package/dist/components/agent-tools/schema-viewer/schema-viewer.class.js +1 -1
  61. package/dist/components/agent-tools/span-waterfall/span-waterfall.class.js +1 -1
  62. package/dist/components/agent-tools/stack-trace/stack-trace.class.js +1 -1
  63. package/dist/components/agent-tools/subagent-panel/subagent-panel.class.js +2 -2
  64. package/dist/components/agent-tools/task-list/task-list.class.d.ts +2 -2
  65. package/dist/components/agent-tools/task-list/task-list.class.js +2 -2
  66. package/dist/components/agent-tools/terminal/terminal.class.d.ts +1 -1
  67. package/dist/components/agent-tools/terminal/terminal.class.js +4 -4
  68. package/dist/components/agent-tools/test-results/test-results.class.js +1 -1
  69. package/dist/components/agent-tools/thinking-panel/thinking-panel.class.js +1 -1
  70. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.d.ts +15 -9
  71. package/dist/components/agent-tools/tool-approval-dialog/tool-approval-dialog.class.js +1 -1
  72. package/dist/components/agent-tools/tool-call-block/tool-call-block.class.d.ts +2 -2
  73. package/dist/components/agent-tools/tool-call-block/tool-call-block.class.js +1 -1
  74. package/dist/components/agent-tools/tool-call-block/tool-call-block.styles.js +1 -1
  75. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.d.ts +2 -7
  76. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.class.js +1 -1
  77. package/dist/components/agent-tools/tool-call-chip/tool-call-chip.styles.js +1 -1
  78. package/dist/components/agent-tools/tool-param-form/tool-param-constraints.js +1 -1
  79. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.d.ts +3 -5
  80. package/dist/components/agent-tools/tool-param-form/tool-param-form.class.js +1 -1
  81. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.d.ts +2 -5
  82. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.class.js +1 -1
  83. package/dist/components/agent-tools/tool-result-dialog/tool-result-dialog.styles.js +1 -1
  84. package/dist/components/agent-tools/tool-result-view/registry.d.ts +4 -12
  85. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.d.ts +2 -2
  86. package/dist/components/agent-tools/tool-result-view/tool-result-view.class.js +1 -1
  87. package/dist/components/agent-tools/tool-select-dialog/tool-select-dialog.class.js +1 -1
  88. package/dist/components/agent-tools/tool-status.d.ts +7 -0
  89. package/dist/components/agent-tools/tool-status.styles.js +1 -0
  90. package/dist/components/agent-tools/tool-timeline/tool-timeline.class.js +1 -1
  91. package/dist/components/agent-tools/tool-timeline/tool-timeline.d.ts +1 -1
  92. package/dist/components/agent-tools/tool-timeline/tool-timeline.js +1 -1
  93. package/dist/components/agent-tools/trace-tree/trace-tree.class.js +2 -2
  94. package/dist/components/charts/chart/box-plot.class.d.ts +1 -1
  95. package/dist/components/charts/chart/box-plot.class.js +1 -1
  96. package/dist/components/charts/chart/box-plot.styles.js +1 -1
  97. package/dist/components/charts/chart/chart-surface-shared.js +1 -0
  98. package/dist/components/charts/chart/chart-surface.styles.js +1 -1
  99. package/dist/components/charts/chart/chart-table-sampling.js +1 -1
  100. package/dist/components/charts/chart/chart-token-cache.js +2 -2
  101. package/dist/components/charts/chart/chart.class.d.ts +3 -3
  102. package/dist/components/charts/chart/chart.class.js +3 -3
  103. package/dist/components/charts/chart/chart.styles.js +1 -1
  104. package/dist/components/charts/chart/histogram.class.js +1 -1
  105. package/dist/components/charts/chart/lite-chart.class.d.ts +1 -1
  106. package/dist/components/charts/chart/lite-chart.class.js +4 -4
  107. package/dist/components/conversation/agent-workspace/agent-workspace.class.js +1 -1
  108. package/dist/components/conversation/audio-visualizer/audio-visualizer.class.js +1 -1
  109. package/dist/components/conversation/branch-picker/branch-picker.class.js +1 -1
  110. package/dist/components/conversation/catalog-picker-element.d.ts +28 -13
  111. package/dist/components/conversation/catalog-picker-element.js +1 -1
  112. package/dist/components/conversation/catalog-picker-trigger.styles.js +1 -0
  113. package/dist/components/conversation/chat-composer/chat-composer.class.js +1 -1
  114. package/dist/components/conversation/chat-message/chat-message.class.js +1 -1
  115. package/dist/components/conversation/chat-message/chat-message.styles.js +1 -1
  116. package/dist/components/conversation/chat-viewport/chat-viewport.class.d.ts +1 -1
  117. package/dist/components/conversation/chat-viewport/chat-viewport.class.js +1 -1
  118. package/dist/components/conversation/checkpoint/checkpoint.class.js +1 -1
  119. package/dist/components/conversation/code-block/code-block-base.class.js +1 -1
  120. package/dist/components/conversation/code-block/code-block-core.class.js +1 -1
  121. package/dist/components/conversation/code-block/code-block-shared.js +1 -1
  122. package/dist/components/conversation/code-block/code-block.class.js +1 -1
  123. package/dist/components/conversation/conversation-item/conversation-item.class.js +1 -1
  124. package/dist/components/conversation/generation-metrics/generation-metrics.class.js +2 -2
  125. package/dist/components/conversation/handoff-divider/handoff-divider.class.js +1 -1
  126. package/dist/components/conversation/markdown/markdown-base.class.js +1 -1
  127. package/dist/components/conversation/markdown/markdown-code-header.js +1 -1
  128. package/dist/components/conversation/markdown/markdown-core.class.js +1 -1
  129. package/dist/components/conversation/markdown/markdown.class.js +1 -1
  130. package/dist/components/conversation/message-actions/message-actions.class.js +1 -1
  131. package/dist/components/conversation/message-feedback/message-feedback.class.js +1 -1
  132. package/dist/components/conversation/message-parts/message-parts.class.js +1 -1
  133. package/dist/components/conversation/model-select/model-select.class.d.ts +7 -34
  134. package/dist/components/conversation/model-select/model-select.class.js +3 -3
  135. package/dist/components/conversation/model-select/model-select.styles.js +1 -1
  136. package/dist/components/conversation/model-settings-panel/model-settings-panel.class.js +1 -1
  137. package/dist/components/conversation/prompt-input/prompt-input.class.d.ts +7 -2
  138. package/dist/components/conversation/prompt-input/prompt-input.class.js +5 -2
  139. package/dist/components/conversation/prompt-queue/prompt-queue.class.js +1 -1
  140. package/dist/components/conversation/push-to-talk/push-to-talk.class.js +1 -1
  141. package/dist/components/conversation/realtime-session/realtime-session.class.js +1 -1
  142. package/dist/components/conversation/selection-toolbar/selection-toolbar.class.js +1 -1
  143. package/dist/components/conversation/stream-status/stream-status.class.js +1 -1
  144. package/dist/components/conversation/suggestion-chips/suggestion-chips.class.js +1 -1
  145. package/dist/components/conversation/thread-list/thread-list.class.js +1 -1
  146. package/dist/components/conversation/transcript-feed/transcript-feed.class.js +1 -1
  147. package/dist/components/conversation/typing-indicator/typing-indicator.class.js +1 -1
  148. package/dist/components/conversation/usage-badge/usage-badge.class.js +1 -1
  149. package/dist/components/conversation/voice-picker/voice-picker.class.d.ts +10 -27
  150. package/dist/components/conversation/voice-picker/voice-picker.class.js +3 -3
  151. package/dist/components/conversation/voice-picker/voice-picker.styles.js +1 -1
  152. package/dist/components/data/calendar/calendar.class.js +1 -1
  153. package/dist/components/data/condition-builder/condition-builder.class.js +1 -1
  154. package/dist/components/data/context-meter/context-meter.class.js +1 -1
  155. package/dist/components/data/data-grid/data-grid.class.d.ts +2 -2
  156. package/dist/components/data/data-grid/data-grid.class.js +3 -3
  157. package/dist/components/data/document-library/document-library.class.d.ts +2 -2
  158. package/dist/components/data/document-library/document-library.class.js +2 -2
  159. package/dist/components/data/env-list/env-list.class.js +1 -1
  160. package/dist/components/data/file-tree/file-tree.class.d.ts +2 -2
  161. package/dist/components/data/file-tree/file-tree.class.js +1 -1
  162. package/dist/components/data/flow-canvas/flow-canvas.class.js +1 -1
  163. package/dist/components/data/flow-controls/flow-controls.class.js +1 -1
  164. package/dist/components/data/flow-minimap/flow-minimap.class.js +1 -1
  165. package/dist/components/data/flow-node/flow-node.class.js +1 -1
  166. package/dist/components/data/flow-run-status/flow-run-status.class.js +1 -1
  167. package/dist/components/data/funnel/funnel.class.js +1 -1
  168. package/dist/components/data/gauge/gauge.class.js +1 -1
  169. package/dist/components/data/graph-query-builder/graph-query-builder.class.d.ts +3 -3
  170. package/dist/components/data/graph-query-builder/graph-query-builder.class.js +1 -1
  171. package/dist/components/data/heatmap/heatmap.class.js +2 -2
  172. package/dist/components/data/pagination/pagination.class.d.ts +2 -0
  173. package/dist/components/data/pagination/pagination.class.js +1 -1
  174. package/dist/components/data/pagination/pagination.styles.js +1 -1
  175. package/dist/components/data/sequence-strip/sequence-strip.class.d.ts +1 -1
  176. package/dist/components/data/sequence-strip/sequence-strip.class.js +1 -1
  177. package/dist/components/data/sparkline/sparkline.class.js +1 -1
  178. package/dist/components/data/stat/stat.class.js +1 -1
  179. package/dist/components/data/table/table.class.d.ts +33 -197
  180. package/dist/components/data/table/table.class.js +6 -4
  181. package/dist/components/data/table/table.styles.js +1 -1
  182. package/dist/components/data/timeline/timeline.class.js +1 -1
  183. package/dist/components/data/tree/tree.class.js +1 -1
  184. package/dist/components/data/word-cloud/word-cloud.class.js +1 -1
  185. package/dist/components/forms/button/button.class.d.ts +3 -3
  186. package/dist/components/forms/button/button.class.js +1 -1
  187. package/dist/components/forms/catalog-picker-base.js +1 -1
  188. package/dist/components/forms/checkbox/checkbox.class.d.ts +13 -34
  189. package/dist/components/forms/checkbox/checkbox.class.js +3 -3
  190. package/dist/components/forms/checkbox-group/checkbox-group.class.d.ts +3 -3
  191. package/dist/components/forms/checkbox-group/checkbox-group.class.js +1 -1
  192. package/dist/components/forms/code-editor/code-editor.class.js +1 -1
  193. package/dist/components/forms/color-picker/color-picker.class.d.ts +8 -4
  194. package/dist/components/forms/color-picker/color-picker.class.js +2 -2
  195. package/dist/components/forms/combobox/combobox.class.d.ts +6 -6
  196. package/dist/components/forms/combobox/combobox.class.js +3 -2
  197. package/dist/components/forms/combobox/option.class.d.ts +3 -0
  198. package/dist/components/forms/combobox/option.class.js +2 -2
  199. package/dist/components/forms/country-picker/country-picker.class.js +1 -1
  200. package/dist/components/forms/currency-picker/currency-picker.class.js +1 -1
  201. package/dist/components/forms/date-picker/date-input.class.d.ts +10 -11
  202. package/dist/components/forms/date-picker/date-input.class.js +4 -3
  203. package/dist/components/forms/date-picker/date-input.styles.js +1 -1
  204. package/dist/components/forms/date-picker/date-picker.class.d.ts +6 -0
  205. package/dist/components/forms/date-picker/date-picker.class.js +1 -1
  206. package/dist/components/forms/date-picker/date-picker.styles.js +1 -1
  207. package/dist/components/forms/emoji-picker/emoji-data-loader.js +1 -1
  208. package/dist/components/forms/emoji-picker/emoji-picker.class.d.ts +7 -4
  209. package/dist/components/forms/emoji-picker/emoji-picker.class.js +5 -5
  210. package/dist/components/forms/icon-button/icon-button.class.d.ts +4 -0
  211. package/dist/components/forms/icon-button/icon-button.class.js +1 -1
  212. package/dist/components/forms/icon-button/icon-button.styles.js +1 -1
  213. package/dist/components/forms/input/input-shared.js +1 -1
  214. package/dist/components/forms/input/input.class.js +1 -1
  215. package/dist/components/forms/input/input.styles.js +1 -1
  216. package/dist/components/forms/input/native-time-input.class.js +1 -1
  217. package/dist/components/forms/input/number-input.class.js +1 -1
  218. package/dist/components/forms/input/time-input.class.d.ts +1 -1
  219. package/dist/components/forms/input/time-input.class.js +1 -1
  220. package/dist/components/forms/input/time-input.styles.js +1 -1
  221. package/dist/components/forms/locale-picker/locale-picker.class.d.ts +5 -5
  222. package/dist/components/forms/locale-picker/locale-picker.class.js +1 -1
  223. package/dist/components/forms/otp-input/otp-input.class.js +2 -1
  224. package/dist/components/forms/phone-input/phone-input.class.d.ts +7 -9
  225. package/dist/components/forms/phone-input/phone-input.class.js +6 -5
  226. package/dist/components/forms/phone-input/phone-input.styles.js +1 -1
  227. package/dist/components/forms/radio/radio-group.class.d.ts +4 -4
  228. package/dist/components/forms/radio/radio-group.class.js +1 -1
  229. package/dist/components/forms/radio/radio.class.d.ts +11 -19
  230. package/dist/components/forms/radio/radio.class.js +2 -2
  231. package/dist/components/forms/rubric-form/rubric-form.class.d.ts +3 -5
  232. package/dist/components/forms/rubric-form/rubric-form.class.js +4 -4
  233. package/dist/components/forms/select/select.class.d.ts +5 -7
  234. package/dist/components/forms/select/select.class.js +3 -2
  235. package/dist/components/forms/signature-pad/signature-pad.class.js +1 -1
  236. package/dist/components/forms/slider/slider.class.d.ts +3 -3
  237. package/dist/components/forms/slider/slider.class.js +1 -1
  238. package/dist/components/forms/slider/slider.styles.js +1 -1
  239. package/dist/components/forms/swatch-picker/swatch-picker.class.js +1 -1
  240. package/dist/components/forms/switch/switch.class.d.ts +11 -36
  241. package/dist/components/forms/switch/switch.class.js +2 -2
  242. package/dist/components/forms/textarea/textarea.class.js +2 -1
  243. package/dist/components/forms/textarea/textarea.styles.js +1 -1
  244. package/dist/components/forms/time-range/time-range.class.d.ts +5 -3
  245. package/dist/components/forms/time-range/time-range.class.js +1 -1
  246. package/dist/components/forms/time-range/time-range.styles.js +1 -1
  247. package/dist/components/forms/time-zone-picker/time-zone-picker.class.js +1 -1
  248. package/dist/components/forms/toggle-group/toggle-group.class.d.ts +2 -2
  249. package/dist/components/forms/toggle-group/toggle-group.class.js +1 -1
  250. package/dist/components/forms/token-input/token-input.class.d.ts +3 -3
  251. package/dist/components/forms/token-input/token-input.class.js +1 -1
  252. package/dist/components/forms/unit-picker/unit-picker.class.js +1 -1
  253. package/dist/components/layout/app-rail/app-rail-item.class.js +1 -1
  254. package/dist/components/layout/app-rail/app-rail.class.d.ts +71 -8
  255. package/dist/components/layout/app-rail/app-rail.class.js +16 -4
  256. package/dist/components/layout/app-rail/app-rail.styles.js +1 -1
  257. package/dist/components/layout/app-rail-group/app-rail-group.class.js +1 -1
  258. package/dist/components/layout/breadcrumb/breadcrumb-item.class.js +1 -1
  259. package/dist/components/layout/breadcrumb/breadcrumb.class.js +1 -1
  260. package/dist/components/layout/card/card.class.js +1 -1
  261. package/dist/components/layout/carousel/carousel.class.js +1 -1
  262. package/dist/components/layout/command-palette/command-palette.class.d.ts +6 -2
  263. package/dist/components/layout/command-palette/command-palette.class.js +1 -1
  264. package/dist/components/layout/dashboard-grid/dashboard-grid.class.js +1 -1
  265. package/dist/components/layout/details/accordion-item.class.js +1 -1
  266. package/dist/components/layout/details/accordion.class.js +1 -1
  267. package/dist/components/layout/details/details.class.js +1 -1
  268. package/dist/components/layout/dock-panel/dock-panel.class.d.ts +1 -1
  269. package/dist/components/layout/dock-panel/dock-panel.class.js +1 -1
  270. package/dist/components/layout/drilldown-panel/drilldown-panel.class.js +2 -2
  271. package/dist/components/layout/filter-bar/filter-bar.class.d.ts +3 -2
  272. package/dist/components/layout/filter-bar/filter-bar.class.js +18 -15
  273. package/dist/components/layout/filter-bar/filter-bar.styles.js +1 -1
  274. package/dist/components/layout/menu/menu.class.d.ts +1 -1
  275. package/dist/components/layout/menu/menu.class.js +1 -1
  276. package/dist/components/layout/menubar/menubar.class.js +1 -1
  277. package/dist/components/layout/multi-split/multi-split.class.d.ts +1 -1
  278. package/dist/components/layout/multi-split/multi-split.class.js +1 -1
  279. package/dist/components/layout/navigation-menu/navigation-menu.class.js +1 -1
  280. package/dist/components/layout/navigation-menu-item/navigation-menu-item.class.js +1 -1
  281. package/dist/components/layout/page/page.class.d.ts +1 -1
  282. package/dist/components/layout/page/page.class.js +1 -1
  283. package/dist/components/layout/reorder-list/reorder-item.class.js +1 -1
  284. package/dist/components/layout/reorder-list/reorder-list.class.js +1 -1
  285. package/dist/components/layout/responsive-panel/responsive-panel.class.d.ts +1 -1
  286. package/dist/components/layout/responsive-panel/responsive-panel.class.js +1 -1
  287. package/dist/components/layout/scroller/scroller.class.js +1 -1
  288. package/dist/components/layout/segmented/segmented.class.d.ts +7 -4
  289. package/dist/components/layout/segmented/segmented.class.js +1 -1
  290. package/dist/components/layout/segmented/segmented.styles.js +1 -1
  291. package/dist/components/layout/split-panel/split-panel.class.js +1 -1
  292. package/dist/components/layout/stepper/stepper.class.js +2 -2
  293. package/dist/components/layout/tab-group/tab-group.class.js +1 -1
  294. package/dist/components/layout/tab-group/tab.class.js +1 -1
  295. package/dist/components/layout/virtual-list/virtual-list.class.d.ts +1 -1
  296. package/dist/components/layout/virtual-list/virtual-list.class.js +1 -1
  297. package/dist/components/layout/virtual-list/virtual-list.styles.js +1 -1
  298. package/dist/components/layout/widget/widget.class.d.ts +1 -1
  299. package/dist/components/layout/widget/widget.class.js +3 -3
  300. package/dist/components/media/animated-image/animated-image.class.js +1 -1
  301. package/dist/components/media/attachment-chip/attachment-chip.class.js +1 -1
  302. package/dist/components/media/attachment-trigger/attachment-trigger.class.js +2 -2
  303. package/dist/components/media/av-player/av-player.class.js +1 -1
  304. package/dist/components/media/avatar-group/avatar-group.class.js +1 -1
  305. package/dist/components/media/drop-zone/drop-zone.class.d.ts +10 -0
  306. package/dist/components/media/drop-zone/drop-zone.class.js +2 -2
  307. package/dist/components/media/file-icon/file-icon.class.js +1 -1
  308. package/dist/components/media/file-input/file-input.class.d.ts +3 -3
  309. package/dist/components/media/file-input/file-input.class.js +2 -2
  310. package/dist/components/media/file-input/file-intake.d.ts +5 -1
  311. package/dist/components/media/file-input/file-intake.js +1 -1
  312. package/dist/components/media/flag/flag.class.js +1 -1
  313. package/dist/components/media/image-comparer/image-comparer.class.js +1 -1
  314. package/dist/components/media/image-viewer/image-viewer.class.d.ts +2 -1
  315. package/dist/components/media/image-viewer/image-viewer.class.js +4 -2
  316. package/dist/components/media/image-viewer/image-viewer.styles.js +1 -1
  317. package/dist/components/media/lightbox/lightbox.class.js +1 -1
  318. package/dist/components/media/map/map.class.js +2 -2
  319. package/dist/components/media/media-card/media-card.class.js +1 -1
  320. package/dist/components/media/pan-zoom/pan-zoom.class.js +1 -1
  321. package/dist/components/media/qr-code/qr-code-loader.js +1 -1
  322. package/dist/components/media/qr-code/qr-code.class.d.ts +2 -2
  323. package/dist/components/media/qr-code/qr-code.class.js +1 -1
  324. package/dist/components/media/sequence-playback/sequence-playback.class.js +1 -1
  325. package/dist/components/media/video/video.class.js +3 -3
  326. package/dist/components/media/video-playlist/video-playlist.class.js +1 -1
  327. package/dist/components/media/zoomable-frame/zoomable-frame.class.d.ts +2 -2
  328. package/dist/components/media/zoomable-frame/zoomable-frame.class.js +1 -1
  329. package/dist/components/overlays/alert/alert.class.d.ts +3 -3
  330. package/dist/components/overlays/alert/alert.class.js +1 -1
  331. package/dist/components/overlays/badge/badge.class.d.ts +2 -2
  332. package/dist/components/overlays/badge/badge.class.js +1 -1
  333. package/dist/components/overlays/badge/tag.class.d.ts +3 -1
  334. package/dist/components/overlays/badge/tag.class.js +3 -2
  335. package/dist/components/overlays/badge/tag.styles.js +1 -1
  336. package/dist/components/overlays/callout/callout.class.d.ts +2 -2
  337. package/dist/components/overlays/callout/callout.class.js +1 -1
  338. package/dist/components/overlays/chip/chip-group.class.js +1 -1
  339. package/dist/components/overlays/chip/chip.class.d.ts +4 -2
  340. package/dist/components/overlays/chip/chip.class.js +2 -2
  341. package/dist/components/overlays/context-menu/context-menu.class.js +1 -1
  342. package/dist/components/overlays/dialog/confirm.js +1 -1
  343. package/dist/components/overlays/dialog/dialog.class.d.ts +1 -1
  344. package/dist/components/overlays/dialog/dialog.class.js +1 -1
  345. package/dist/components/overlays/kbd/kbd.class.js +1 -1
  346. package/dist/components/overlays/overlay/overlay-shared.d.ts +9 -0
  347. package/dist/components/overlays/overlay/overlay-shared.js +1 -1
  348. package/dist/components/overlays/overlay/popover.class.d.ts +2 -2
  349. package/dist/components/overlays/overlay/popover.class.js +1 -1
  350. package/dist/components/overlays/overlay/tooltip.class.d.ts +1 -1
  351. package/dist/components/overlays/overlay/tooltip.class.js +1 -1
  352. package/dist/components/overlays/progress/progress-bar.class.d.ts +5 -22
  353. package/dist/components/overlays/progress/progress-bar.class.js +4 -4
  354. package/dist/components/overlays/progress/progress-base.d.ts +25 -0
  355. package/dist/components/overlays/progress/progress-base.js +1 -0
  356. package/dist/components/overlays/progress/progress-ring.class.d.ts +3 -24
  357. package/dist/components/overlays/progress/progress-ring.class.js +4 -4
  358. package/dist/components/overlays/rating/rating.class.d.ts +3 -3
  359. package/dist/components/overlays/rating/rating.class.js +1 -1
  360. package/dist/components/overlays/skeleton/skeleton.class.js +1 -1
  361. package/dist/components/overlays/spinner/spinner.class.js +1 -1
  362. package/dist/components/overlays/toast/toast-item.class.js +1 -1
  363. package/dist/components/overlays/toast/toast.class.js +1 -1
  364. package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.d.ts +4 -2
  365. package/dist/components/retrieval/chunk-inspector/chunk-inspector.class.js +4 -4
  366. package/dist/components/retrieval/citation-badge/citation-badge.class.js +1 -1
  367. package/dist/components/retrieval/claim-evidence/claim-evidence.class.js +1 -1
  368. package/dist/components/retrieval/community-card/community-card.class.js +1 -1
  369. package/dist/components/retrieval/embedding-explorer/embedding-explorer.class.js +1 -1
  370. package/dist/components/retrieval/entity-card/entity-card.class.js +1 -1
  371. package/dist/components/retrieval/entity-chip/entity-chip.class.js +1 -1
  372. package/dist/components/retrieval/entity-dossier/entity-dossier.class.d.ts +1 -1
  373. package/dist/components/retrieval/entity-dossier/entity-dossier.class.js +1 -1
  374. package/dist/components/retrieval/graph/graph-canvas.js +1 -1
  375. package/dist/components/retrieval/graph/graph-model.js +1 -1
  376. package/dist/components/retrieval/graph/graph.class.d.ts +1 -3
  377. package/dist/components/retrieval/graph/graph.class.js +1 -1
  378. package/dist/components/retrieval/graph-legend/graph-legend.class.js +1 -1
  379. package/dist/components/retrieval/grounding-summary/grounding-summary.class.d.ts +1 -1
  380. package/dist/components/retrieval/grounding-summary/grounding-summary.class.js +2 -2
  381. package/dist/components/retrieval/ingestion-queue/ingestion-queue.class.js +1 -1
  382. package/dist/components/retrieval/knowledge-base/knowledge-base.class.d.ts +1 -1
  383. package/dist/components/retrieval/knowledge-base/knowledge-base.class.js +2 -2
  384. package/dist/components/retrieval/knowledge-base-admin/knowledge-base-admin.class.js +1 -1
  385. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.d.ts +1 -0
  386. package/dist/components/retrieval/knowledge-graph-explorer/knowledge-graph-explorer.class.js +2 -1
  387. package/dist/components/retrieval/memory-panel/memory-panel.class.d.ts +6 -2
  388. package/dist/components/retrieval/memory-panel/memory-panel.class.js +2 -2
  389. package/dist/components/retrieval/memory-panel/memory-panel.styles.js +1 -1
  390. package/dist/components/retrieval/mind-map/mind-map.class.js +1 -1
  391. package/dist/components/retrieval/neighbor-list/neighbor-list.class.js +1 -1
  392. package/dist/components/retrieval/node-palette/node-palette.class.js +1 -1
  393. package/dist/components/retrieval/path-strip/path-strip.class.js +1 -1
  394. package/dist/components/retrieval/provenance-panel/provenance-panel.class.d.ts +1 -1
  395. package/dist/components/retrieval/provenance-panel/provenance-panel.class.js +1 -1
  396. package/dist/components/retrieval/rag-answer/rag-answer.class.js +1 -1
  397. package/dist/components/retrieval/rag-eval-dashboard/rag-eval-dashboard.class.js +1 -1
  398. package/dist/components/retrieval/research-progress/research-progress.class.d.ts +5 -1
  399. package/dist/components/retrieval/research-progress/research-progress.class.js +3 -3
  400. package/dist/components/retrieval/research-progress/research-progress.d.ts +1 -1
  401. package/dist/components/retrieval/research-progress/research-progress.js +1 -1
  402. package/dist/components/retrieval/research-progress/research-progress.styles.js +1 -1
  403. package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.d.ts +6 -2
  404. package/dist/components/retrieval/retrieval-compare/retrieval-compare.class.js +2 -2
  405. package/dist/components/retrieval/retrieval-compare/retrieval-compare.styles.js +1 -1
  406. package/dist/components/retrieval/retrieval-results/retrieval-results.class.d.ts +2 -2
  407. package/dist/components/retrieval/retrieval-results/retrieval-results.class.js +3 -2
  408. package/dist/components/retrieval/retrieval-search/retrieval-search.class.js +3 -3
  409. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.d.ts +6 -2
  410. package/dist/components/retrieval/retrieval-trace/retrieval-trace.class.js +2 -2
  411. package/dist/components/retrieval/retrieval-trace/retrieval-trace.styles.js +1 -1
  412. package/dist/components/retrieval/source-card/source-card.class.js +1 -1
  413. package/dist/components/retrieval/source-list/source-list.class.js +1 -1
  414. package/dist/components/retrieval/source-picker/source-picker.class.js +1 -1
  415. package/dist/components/utility/copy-button/copy-button.class.js +1 -1
  416. package/dist/components/utility/diff-view/diff-view.class.js +1 -1
  417. package/dist/components/utility/export-button/export-button.class.d.ts +1 -1
  418. package/dist/components/utility/export-button/export-button.class.js +1 -1
  419. package/dist/components/utility/icon/dompurify-loader.js +1 -1
  420. package/dist/components/utility/icon/icon.class.js +1 -1
  421. package/dist/components/utility/json-viewer/json-viewer.class.js +2 -2
  422. package/dist/components/utility/known-date/known-date.class.js +1 -1
  423. package/dist/components/utility/mention-popover/mention-popover.class.js +1 -1
  424. package/dist/components/utility/mutation-observer/mutation-observer.class.js +1 -1
  425. package/dist/components/utility/poll-status/poll-status.class.js +1 -1
  426. package/dist/components/utility/random-content/random-content.class.d.ts +1 -1
  427. package/dist/components/utility/random-content/random-content.class.js +1 -1
  428. package/dist/components/utility/tour/tour.class.d.ts +1 -1
  429. package/dist/components/utility/tour/tour.class.js +1 -1
  430. package/dist/components/viewers/archive-viewer/archive-viewer.class.js +1 -1
  431. package/dist/components/viewers/archive-viewer/archive-viewer.styles.js +1 -1
  432. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.d.ts +3 -1
  433. package/dist/components/viewers/calendar-viewer/calendar-viewer.class.js +1 -1
  434. package/dist/components/viewers/contact-viewer/contact-viewer.class.d.ts +3 -1
  435. package/dist/components/viewers/contact-viewer/contact-viewer.class.js +2 -2
  436. package/dist/components/viewers/csv-viewer/csv-viewer.class.d.ts +2 -2
  437. package/dist/components/viewers/csv-viewer/csv-viewer.class.js +4 -18
  438. package/dist/components/viewers/csv-viewer/csv-viewer.styles.js +1 -1
  439. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.d.ts +2 -2
  440. package/dist/components/viewers/dataset-viewer/dataset-viewer.class.js +4 -18
  441. package/dist/components/viewers/dataset-viewer/dataset-viewer.styles.js +1 -1
  442. package/dist/components/viewers/document-compare/document-compare.class.js +1 -1
  443. package/dist/components/viewers/document-preview/document-preview.class.d.ts +1 -1
  444. package/dist/components/viewers/document-preview/document-preview.class.js +3 -16
  445. package/dist/components/viewers/document-viewer/document-viewer.class.js +1 -1
  446. package/dist/components/viewers/document-viewer/ooxml-part-guard.js +1 -0
  447. package/dist/components/viewers/docx-viewer/docx-loader.js +1 -1
  448. package/dist/components/viewers/docx-viewer/docx-resource-guard.js +1 -1
  449. package/dist/components/viewers/docx-viewer/docx-viewer.class.d.ts +3 -3
  450. package/dist/components/viewers/docx-viewer/docx-viewer.class.js +3 -3
  451. package/dist/components/viewers/ebook-viewer/ebook-loader.js +1 -1
  452. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.d.ts +1 -1
  453. package/dist/components/viewers/ebook-viewer/ebook-viewer.class.js +2 -1
  454. package/dist/components/viewers/ebook-viewer/epub-resource-guard.js +1 -1
  455. package/dist/components/viewers/email-viewer/email-viewer.class.d.ts +1 -1
  456. package/dist/components/viewers/email-viewer/email-viewer.class.js +2 -2
  457. package/dist/components/viewers/geojson-view/geojson-view.class.js +1 -1
  458. package/dist/components/viewers/geojson-view/geojson-viewer.class.d.ts +1 -4
  459. package/dist/components/viewers/geojson-view/geojson-viewer.class.js +1 -1
  460. package/dist/components/viewers/highlight-layer/highlight-layer.class.js +1 -1
  461. package/dist/components/viewers/html-viewer/html-viewer.class.d.ts +3 -1
  462. package/dist/components/viewers/html-viewer/html-viewer.class.js +1 -1
  463. package/dist/components/viewers/html-viewer/html-viewer.styles.js +1 -1
  464. package/dist/components/viewers/include/include.class.js +1 -1
  465. package/dist/components/viewers/notebook-viewer/dompurify-loader.js +1 -1
  466. package/dist/components/viewers/notebook-viewer/notebook-viewer.class.js +2 -2
  467. package/dist/components/viewers/page-rail/page-rail.class.d.ts +1 -1
  468. package/dist/components/viewers/page-rail/page-rail.class.js +3 -3
  469. package/dist/components/viewers/passive-markup.js +1 -1
  470. package/dist/components/viewers/pdf-viewer/pdf-loader.js +1 -1
  471. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.d.ts +3 -3
  472. package/dist/components/viewers/pdf-viewer/pdf-viewer.class.js +4 -4
  473. package/dist/components/viewers/pptx-viewer/pptx-loader.js +1 -1
  474. package/dist/components/viewers/pptx-viewer/pptx-resource-guard.js +1 -1
  475. package/dist/components/viewers/pptx-viewer/pptx-viewer.class.js +1 -1
  476. package/dist/components/viewers/region-highlight-layer.js +15 -2
  477. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.d.ts +2 -2
  478. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.class.js +4 -18
  479. package/dist/components/viewers/spreadsheet-viewer/spreadsheet-viewer.styles.js +1 -1
  480. package/dist/components/viewers/svg-viewer/svg-viewer.class.d.ts +1 -1
  481. package/dist/components/viewers/svg-viewer/svg-viewer.class.js +2 -15
  482. package/dist/components/viewers/svg-viewer/svg-viewer.styles.js +1 -1
  483. package/dist/components/viewers/table-viewer-shared.js +15 -1
  484. package/dist/components/viewers/table-viewer-shared.styles.js +1 -0
  485. package/dist/components/viewers/xml-viewer/xml-viewer.class.js +1 -1
  486. package/dist/events.d.ts +25 -19
  487. package/dist/framework-types.d.ts +1 -1
  488. package/dist/internal/accessibility-visibility.d.ts +3 -1
  489. package/dist/internal/accessibility-visibility.js +1 -1
  490. package/dist/internal/accessible-text-controller.js +1 -1
  491. package/dist/internal/active-element.d.ts +11 -0
  492. package/dist/internal/active-element.js +1 -1
  493. package/dist/internal/adjacent-runs.js +1 -1
  494. package/dist/internal/approval-wait-until.d.ts +7 -0
  495. package/dist/internal/approval-wait-until.js +1 -0
  496. package/dist/internal/aria-controls.js +1 -1
  497. package/dist/internal/catalog-picker.d.ts +2 -2
  498. package/dist/internal/catalog-picker.js +1 -1
  499. package/dist/internal/collection-snapshot.js +1 -1
  500. package/dist/internal/composed-tree.d.ts +18 -0
  501. package/dist/internal/composed-tree.js +1 -1
  502. package/dist/internal/copy-feedback.js +1 -0
  503. package/dist/internal/css-length.js +1 -1
  504. package/dist/internal/css-motion-time.js +1 -1
  505. package/dist/internal/css-number.js +1 -0
  506. package/dist/internal/default-strings/agent-tools.generated.js +1 -0
  507. package/dist/internal/default-strings/charts.generated.js +1 -0
  508. package/dist/internal/default-strings/conversation.generated.js +1 -0
  509. package/dist/internal/default-strings/data.generated.js +1 -0
  510. package/dist/internal/default-strings/forms.generated.js +1 -0
  511. package/dist/internal/default-strings/layout.generated.js +1 -0
  512. package/dist/internal/default-strings/media.generated.js +1 -0
  513. package/dist/internal/default-strings/overlays.generated.js +1 -0
  514. package/dist/internal/default-strings/retrieval.generated.js +1 -0
  515. package/dist/internal/default-strings/shared.generated.js +1 -0
  516. package/dist/internal/default-strings/utility.generated.js +1 -0
  517. package/dist/internal/default-strings/viewers.generated.js +5 -0
  518. package/dist/internal/deferred-focus-return.d.ts +33 -0
  519. package/dist/internal/deferred-focus-return.js +1 -1
  520. package/dist/internal/dev-mode-attribute-warning.development.js +1 -1
  521. package/dist/internal/dev-mode-attribute-warning.production.js +1 -1
  522. package/dist/internal/document-tokens.d.ts +11 -0
  523. package/dist/internal/document-tokens.generated.js +15 -0
  524. package/dist/internal/document-tokens.js +3 -0
  525. package/dist/internal/fixed-containing-block.js +1 -1
  526. package/dist/internal/form-associated.d.ts +39 -3
  527. package/dist/internal/form-associated.js +1 -1
  528. package/dist/internal/form-control-element.d.ts +13 -0
  529. package/dist/internal/form-control-element.js +1 -0
  530. package/dist/internal/form-control.styles.js +1 -1
  531. package/dist/internal/glass-surface.styles.js +1 -1
  532. package/dist/internal/host-tokens.styles.js +1 -0
  533. package/dist/internal/image-zoom.js +1 -0
  534. package/dist/internal/inherited-attribute-hub.js +1 -1
  535. package/dist/internal/intl-cache.js +1 -1
  536. package/dist/internal/locale-loaders.generated.js +1 -1
  537. package/dist/internal/localization-types.d.ts +1 -1
  538. package/dist/internal/localization.js +2 -2
  539. package/dist/internal/lyra-element.d.ts +4 -2
  540. package/dist/internal/lyra-element.js +2 -2
  541. package/dist/internal/modal-surface-controller.js +1 -1
  542. package/dist/internal/object-guards.js +1 -1
  543. package/dist/internal/opaque-content-border.styles.js +1 -1
  544. package/dist/internal/open-overlay-raise.styles.js +1 -0
  545. package/dist/internal/optional-peer-capabilities.d.ts +3 -1
  546. package/dist/internal/optional-peer-capabilities.js +1 -1
  547. package/dist/internal/optional-peer-failure.js +1 -0
  548. package/dist/internal/orientation-breakpoint.js +1 -1
  549. package/dist/internal/overlay-manager.d.ts +6 -1
  550. package/dist/internal/overlay-manager.js +1 -1
  551. package/dist/internal/overlay-stack.d.ts +7 -3
  552. package/dist/internal/overlay-stack.js +1 -1
  553. package/dist/internal/package-metadata.js +1 -1
  554. package/dist/internal/persisted-restore.js +1 -1
  555. package/dist/internal/popup-controller.js +1 -0
  556. package/dist/internal/prefix.js +1 -1
  557. package/dist/internal/rendered-tree-traversal.d.ts +3 -1
  558. package/dist/internal/rendered-tree-traversal.js +1 -1
  559. package/dist/internal/retry-forwarder.js +1 -0
  560. package/dist/internal/roving-toolbar.js +1 -1
  561. package/dist/internal/scoped-definitions.generated.js +1 -1
  562. package/dist/internal/score-tiers.d.ts +4 -0
  563. package/dist/internal/score-tiers.js +1 -0
  564. package/dist/internal/semantic-variant.d.ts +7 -0
  565. package/dist/internal/semantic-variant.js +1 -0
  566. package/dist/internal/shared-unions.d.ts +1 -1
  567. package/dist/internal/specialist-host-tokens.styles.js +1 -0
  568. package/dist/internal/specialist-tokens.generated.js +2 -0
  569. package/dist/internal/step-value.js +1 -1
  570. package/dist/internal/theme-observation.js +1 -1
  571. package/dist/internal/theme-scopes.d.ts +11 -0
  572. package/dist/internal/theme-scopes.js +1 -0
  573. package/dist/internal/viewer-search.js +1 -1
  574. package/dist/looks/shadcn.css +1 -1
  575. package/dist/lyra.d.ts +1 -1
  576. package/dist/lyra.js +1 -1
  577. package/dist/styles/design-tokens.css +1 -1
  578. package/dist/styles/tokens-root.css +1 -1
  579. package/dist/surfaces/glass.css +1 -1
  580. package/dist/testing/happy-dom-shims.d.ts +37 -0
  581. package/dist/testing/happy-dom-shims.js +1 -1
  582. package/dist/testing/index.d.ts +1 -1
  583. package/dist/testing/index.js +1 -1
  584. package/dist/testing/interaction-drivers.d.ts +66 -7
  585. package/dist/testing/interaction-drivers.js +1 -1
  586. package/dist/testing/jsdom-shims.d.ts +70 -0
  587. package/dist/testing/jsdom-shims.js +1 -0
  588. package/dist/theme/look-inputs.d.ts +1 -1
  589. package/dist/theme/look-inputs.js +37 -41
  590. package/dist/theme/theme.d.ts +13 -0
  591. package/dist/theme/theme.js +1 -1
  592. package/dist/theme.css +1 -1
  593. package/dist/utilities/index.d.ts +1 -1
  594. package/dist/utilities/index.js +1 -1
  595. package/dist/utilities/scoped-registry.d.ts +3 -0
  596. package/dist/utilities/scoped-registry.js +1 -1
  597. package/dist/utilities/theme-scopes.d.ts +1 -0
  598. package/dist/utilities/theme-scopes.js +1 -0
  599. package/dist/utilities/tokens.d.ts +1 -0
  600. package/dist/utilities/tokens.js +1 -0
  601. package/llms/components/lr-accordion-item.md +1 -1
  602. package/llms/components/lr-accordion.md +1 -1
  603. package/llms/components/lr-alert.md +2 -2
  604. package/llms/components/lr-app-rail-group.md +1 -1
  605. package/llms/components/lr-app-rail-item.md +1 -1
  606. package/llms/components/lr-app-rail.md +52 -5
  607. package/llms/components/lr-attachment-chip.md +1 -10
  608. package/llms/components/lr-attachment-trigger.md +0 -10
  609. package/llms/components/lr-avatar.md +4 -8
  610. package/llms/components/lr-badge.md +16 -20
  611. package/llms/components/lr-box-plot.md +1 -1
  612. package/llms/components/lr-breadcrumb-item.md +1 -1
  613. package/llms/components/lr-breadcrumb.md +1 -1
  614. package/llms/components/lr-button-group.md +1 -1
  615. package/llms/components/lr-button.md +1 -1
  616. package/llms/components/lr-calendar.md +1 -1
  617. package/llms/components/lr-callout.md +3 -13
  618. package/llms/components/lr-card.md +1 -1
  619. package/llms/components/lr-carousel-item.md +1 -1
  620. package/llms/components/lr-carousel.md +1 -1
  621. package/llms/components/lr-chart.md +5 -7
  622. package/llms/components/lr-checkbox-group.md +1 -1
  623. package/llms/components/lr-checkbox.md +2 -1
  624. package/llms/components/lr-chip.md +3 -17
  625. package/llms/components/lr-chunk-inspector.md +2 -1
  626. package/llms/components/lr-citation-badge.md +2 -2
  627. package/llms/components/lr-code-block.md +0 -10
  628. package/llms/components/lr-code-editor.md +1 -1
  629. package/llms/components/lr-color-picker.md +1 -1
  630. package/llms/components/lr-combobox.md +6 -3
  631. package/llms/components/lr-command-palette.md +5 -2
  632. package/llms/components/lr-commit-card.md +1 -3
  633. package/llms/components/lr-condition-builder.md +1 -1
  634. package/llms/components/lr-confirm-bar.md +7 -13
  635. package/llms/components/lr-connector-manager.md +3 -1
  636. package/llms/components/lr-context-inspector.md +1 -1
  637. package/llms/components/lr-context-meter.md +1 -1
  638. package/llms/components/lr-control-group.md +1 -1
  639. package/llms/components/lr-copy-button.md +8 -10
  640. package/llms/components/lr-country-picker.md +1 -1
  641. package/llms/components/lr-currency-picker.md +1 -1
  642. package/llms/components/lr-dashboard-grid.md +1 -1
  643. package/llms/components/lr-data-grid.md +1 -1
  644. package/llms/components/lr-date-input.md +1 -1
  645. package/llms/components/lr-date-picker.md +11 -4
  646. package/llms/components/lr-details.md +1 -1
  647. package/llms/components/lr-dialog.md +8 -31
  648. package/llms/components/lr-diff-view.md +1 -1
  649. package/llms/components/lr-divider.md +1 -1
  650. package/llms/components/lr-dock-panel.md +1 -1
  651. package/llms/components/lr-document-library.md +1 -1
  652. package/llms/components/lr-drawer.md +1 -13
  653. package/llms/components/lr-drilldown-panel.md +1 -1
  654. package/llms/components/lr-drop-zone.md +4 -0
  655. package/llms/components/lr-dropdown-item.md +1 -1
  656. package/llms/components/lr-ebook-viewer.md +4 -3
  657. package/llms/components/lr-emoji-picker.md +14 -9
  658. package/llms/components/lr-entity-chip.md +2 -2
  659. package/llms/components/lr-env-list.md +1 -1
  660. package/llms/components/lr-eval-dataset.md +4 -19
  661. package/llms/components/lr-export-button.md +3 -3
  662. package/llms/components/lr-file-icon.md +0 -5
  663. package/llms/components/lr-file-input.md +3 -5
  664. package/llms/components/lr-file-tree.md +1 -1
  665. package/llms/components/lr-filter-bar.md +5 -1
  666. package/llms/components/lr-flag.md +1 -2
  667. package/llms/components/lr-flow-canvas.md +1 -1
  668. package/llms/components/lr-flow-controls.md +1 -1
  669. package/llms/components/lr-flow-minimap.md +2 -2
  670. package/llms/components/lr-flow-node.md +1 -1
  671. package/llms/components/lr-flow-run-status.md +1 -1
  672. package/llms/components/lr-format-bytes.md +2 -3
  673. package/llms/components/lr-format-date.md +2 -3
  674. package/llms/components/lr-format-number.md +1 -1
  675. package/llms/components/lr-funnel.md +1 -1
  676. package/llms/components/lr-gauge.md +1 -1
  677. package/llms/components/lr-generation-metrics.md +1 -1
  678. package/llms/components/lr-graph-query-builder.md +1 -1
  679. package/llms/components/lr-heatmap.md +1 -1
  680. package/llms/components/lr-icon-button.md +14 -2
  681. package/llms/components/lr-icon.md +1 -1
  682. package/llms/components/lr-image-viewer.md +8 -0
  683. package/llms/components/lr-input.md +1 -1
  684. package/llms/components/lr-intersection-observer.md +1 -1
  685. package/llms/components/lr-json-viewer.md +1 -1
  686. package/llms/components/lr-knowledge-graph-explorer.md +2 -2
  687. package/llms/components/lr-known-date.md +1 -1
  688. package/llms/components/lr-lite-chart.md +3 -4
  689. package/llms/components/lr-live-region.md +1 -1
  690. package/llms/components/lr-locale-picker.md +1 -1
  691. package/llms/components/lr-map.md +1 -3
  692. package/llms/components/lr-media-card.md +1 -10
  693. package/llms/components/lr-memory-panel.md +2 -0
  694. package/llms/components/lr-mention-popover.md +3 -3
  695. package/llms/components/lr-menu-item.md +1 -1
  696. package/llms/components/lr-menu-label.md +1 -1
  697. package/llms/components/lr-menu.md +1 -1
  698. package/llms/components/lr-menubar-item.md +1 -1
  699. package/llms/components/lr-menubar.md +1 -1
  700. package/llms/components/lr-message-actions.md +1 -11
  701. package/llms/components/lr-message-parts.md +3 -5
  702. package/llms/components/lr-model-select.md +2 -4
  703. package/llms/components/lr-multi-split.md +1 -1
  704. package/llms/components/lr-mutation-observer.md +2 -2
  705. package/llms/components/lr-native-time-input.md +1 -1
  706. package/llms/components/lr-navigation-menu-item.md +1 -1
  707. package/llms/components/lr-navigation-menu.md +1 -1
  708. package/llms/components/lr-number-input.md +1 -1
  709. package/llms/components/lr-option.md +1 -1
  710. package/llms/components/lr-otp-input.md +1 -1
  711. package/llms/components/lr-page.md +1 -1
  712. package/llms/components/lr-pagination.md +5 -3
  713. package/llms/components/lr-pan-zoom.md +1 -3
  714. package/llms/components/lr-permission-grant.md +3 -1
  715. package/llms/components/lr-phone-input.md +7 -5
  716. package/llms/components/lr-poll-status.md +1 -1
  717. package/llms/components/lr-popover.md +5 -9
  718. package/llms/components/lr-popup.md +1 -3
  719. package/llms/components/lr-progress-bar.md +2 -1
  720. package/llms/components/lr-progress-ring.md +4 -8
  721. package/llms/components/lr-prompt-input.md +3 -1
  722. package/llms/components/lr-prompt-studio.md +4 -4
  723. package/llms/components/lr-radio-button.md +2 -2
  724. package/llms/components/lr-radio-group.md +1 -1
  725. package/llms/components/lr-radio.md +3 -2
  726. package/llms/components/lr-random-content.md +1 -1
  727. package/llms/components/lr-rating.md +2 -3
  728. package/llms/components/lr-relative-time.md +2 -3
  729. package/llms/components/lr-reorder-item.md +1 -1
  730. package/llms/components/lr-reorder-list.md +1 -1
  731. package/llms/components/lr-research-progress.md +2 -0
  732. package/llms/components/lr-resize-observer.md +1 -1
  733. package/llms/components/lr-responsive-panel.md +1 -1
  734. package/llms/components/lr-retrieval-compare.md +2 -0
  735. package/llms/components/lr-retrieval-trace.md +2 -0
  736. package/llms/components/lr-rubric-form.md +1 -1
  737. package/llms/components/lr-scroller.md +1 -1
  738. package/llms/components/lr-segmented.md +8 -4
  739. package/llms/components/lr-select.md +1 -1
  740. package/llms/components/lr-sequence-playback.md +1 -2
  741. package/llms/components/lr-sequence-strip.md +1 -1
  742. package/llms/components/lr-signature-pad.md +1 -1
  743. package/llms/components/lr-skeleton.md +2 -4
  744. package/llms/components/lr-slider.md +1 -1
  745. package/llms/components/lr-sparkline.md +1 -1
  746. package/llms/components/lr-split-panel.md +1 -1
  747. package/llms/components/lr-stat.md +1 -1
  748. package/llms/components/lr-stepper.md +1 -1
  749. package/llms/components/lr-swatch-picker.md +1 -1
  750. package/llms/components/lr-switch.md +2 -1
  751. package/llms/components/lr-tab-group.md +1 -1
  752. package/llms/components/lr-tab-panel.md +1 -1
  753. package/llms/components/lr-tab.md +1 -1
  754. package/llms/components/lr-table.md +16 -14
  755. package/llms/components/lr-task-list.md +3 -3
  756. package/llms/components/lr-test-results.md +2 -4
  757. package/llms/components/lr-textarea.md +1 -1
  758. package/llms/components/lr-thread-list.md +4 -3
  759. package/llms/components/lr-time-input.md +1 -1
  760. package/llms/components/lr-time-range.md +5 -4
  761. package/llms/components/lr-time-zone-picker.md +1 -1
  762. package/llms/components/lr-timeline-item.md +1 -1
  763. package/llms/components/lr-timeline.md +1 -1
  764. package/llms/components/lr-toggle-group.md +1 -1
  765. package/llms/components/lr-toggle.md +1 -1
  766. package/llms/components/lr-token-input.md +1 -1
  767. package/llms/components/lr-tool-approval-dialog.md +12 -10
  768. package/llms/components/lr-tool-call-block.md +1 -1
  769. package/llms/components/lr-tool-call-chip.md +1 -3
  770. package/llms/components/lr-tool-result-view.md +3 -3
  771. package/llms/components/lr-tool-timeline.md +2 -2
  772. package/llms/components/lr-tooltip.md +8 -11
  773. package/llms/components/lr-tour.md +2 -2
  774. package/llms/components/lr-tree-item.md +1 -1
  775. package/llms/components/lr-tree.md +1 -1
  776. package/llms/components/lr-unit-picker.md +1 -1
  777. package/llms/components/lr-usage-badge.md +1 -3
  778. package/llms/components/lr-video.md +1 -2
  779. package/llms/components/lr-virtual-list.md +1 -1
  780. package/llms/components/lr-visually-hidden.md +1 -1
  781. package/llms/components/lr-voice-picker.md +1 -1
  782. package/llms/components/lr-widget.md +1 -1
  783. package/llms/components/lr-word-cloud.md +1 -1
  784. package/llms/components/lr-zoomable-frame.md +1 -6
  785. package/llms/migration.md +105 -2
  786. package/llms/peers.md +3 -2
  787. package/llms/shared/ai-and-peers.md +2 -2
  788. package/llms/shared/events-and-types.md +45 -1
  789. package/llms/shared/frameworks-and-ssr.md +16 -0
  790. package/llms/shared/imports-and-registration.md +6 -5
  791. package/llms/shared/localization-and-rtl.md +18 -18
  792. package/llms/shared/native-styles-and-utilities.md +38 -3
  793. package/llms/shared/styles-and-tokens.md +243 -103
  794. package/llms/shared/testing-and-utilities.md +134 -49
  795. package/llms/shared.md +502 -181
  796. package/llms/tokens.md +31 -49
  797. package/llms.txt +14 -12
  798. package/locales.json +1002 -1002
  799. package/package.json +28 -6884
  800. package/registrations.json +1 -1
  801. package/skills/compose-lyra-interfaces/SKILL.md +60 -0
  802. package/skills/compose-lyra-interfaces/agents/openai.yaml +4 -0
  803. package/skills/compose-lyra-interfaces/references/composition-patterns.md +77 -0
  804. package/skills/lyra-ui/SKILL.md +145 -0
  805. package/skills/lyra-ui/commands/frontend.md +37 -0
  806. package/skills/lyra-ui/commands/migrate.md +44 -0
  807. package/skills/lyra-ui/commands/new-component.md +19 -0
  808. package/skills/lyra-ui/commands/review.md +247 -0
  809. package/skills/lyra-ui/commands/update.md +30 -0
  810. package/skills/lyra-ui/reporting.md +137 -0
  811. package/custom-elements.json +0 -1
  812. package/dist/internal/default-strings.generated.js +0 -5
  813. package/dist/internal/side-effect-only.d.ts +0 -1
  814. package/dist/internal/specialist-tokens.styles.js +0 -1
  815. package/dist/internal/tokens/palette.styles.js +0 -1
  816. package/dist/internal/tokens.styles.js +0 -1
  817. package/dist/translations/am/agent-tools.js +0 -1
  818. package/dist/translations/am/charts.js +0 -1
  819. package/dist/translations/am/conversation.js +0 -1
  820. package/dist/translations/am/data.js +0 -1
  821. package/dist/translations/am/forms.js +0 -1
  822. package/dist/translations/am/layout.js +0 -1
  823. package/dist/translations/am/media.js +0 -1
  824. package/dist/translations/am/overlays.js +0 -1
  825. package/dist/translations/am/retrieval.js +0 -1
  826. package/dist/translations/am/shared.js +0 -1
  827. package/dist/translations/am/utility.js +0 -1
  828. package/dist/translations/am/viewers.js +0 -5
  829. package/dist/translations/am.js +0 -1
  830. package/dist/translations/ar/agent-tools.js +0 -1
  831. package/dist/translations/ar/charts.js +0 -1
  832. package/dist/translations/ar/conversation.js +0 -1
  833. package/dist/translations/ar/data.js +0 -1
  834. package/dist/translations/ar/forms.js +0 -1
  835. package/dist/translations/ar/layout.js +0 -1
  836. package/dist/translations/ar/media.js +0 -1
  837. package/dist/translations/ar/overlays.js +0 -1
  838. package/dist/translations/ar/retrieval.js +0 -1
  839. package/dist/translations/ar/shared.js +0 -1
  840. package/dist/translations/ar/utility.js +0 -1
  841. package/dist/translations/ar/viewers.js +0 -5
  842. package/dist/translations/ar.js +0 -1
  843. package/dist/translations/bho/agent-tools.js +0 -1
  844. package/dist/translations/bho/charts.js +0 -1
  845. package/dist/translations/bho/conversation.js +0 -1
  846. package/dist/translations/bho/data.js +0 -1
  847. package/dist/translations/bho/forms.js +0 -1
  848. package/dist/translations/bho/layout.js +0 -1
  849. package/dist/translations/bho/media.js +0 -1
  850. package/dist/translations/bho/overlays.js +0 -1
  851. package/dist/translations/bho/retrieval.js +0 -1
  852. package/dist/translations/bho/shared.js +0 -1
  853. package/dist/translations/bho/utility.js +0 -1
  854. package/dist/translations/bho/viewers.js +0 -5
  855. package/dist/translations/bho.js +0 -1
  856. package/dist/translations/bn/agent-tools.js +0 -1
  857. package/dist/translations/bn/charts.js +0 -1
  858. package/dist/translations/bn/conversation.js +0 -1
  859. package/dist/translations/bn/data.js +0 -1
  860. package/dist/translations/bn/forms.js +0 -1
  861. package/dist/translations/bn/layout.js +0 -1
  862. package/dist/translations/bn/media.js +0 -1
  863. package/dist/translations/bn/overlays.js +0 -1
  864. package/dist/translations/bn/retrieval.js +0 -1
  865. package/dist/translations/bn/shared.js +0 -1
  866. package/dist/translations/bn/utility.js +0 -1
  867. package/dist/translations/bn/viewers.js +0 -5
  868. package/dist/translations/bn.js +0 -1
  869. package/dist/translations/cs/agent-tools.js +0 -1
  870. package/dist/translations/cs/charts.js +0 -1
  871. package/dist/translations/cs/conversation.js +0 -1
  872. package/dist/translations/cs/data.js +0 -1
  873. package/dist/translations/cs/forms.js +0 -1
  874. package/dist/translations/cs/layout.js +0 -1
  875. package/dist/translations/cs/media.js +0 -1
  876. package/dist/translations/cs/overlays.js +0 -1
  877. package/dist/translations/cs/retrieval.js +0 -1
  878. package/dist/translations/cs/shared.js +0 -1
  879. package/dist/translations/cs/utility.js +0 -1
  880. package/dist/translations/cs/viewers.js +0 -5
  881. package/dist/translations/cs.js +0 -1
  882. package/dist/translations/da/agent-tools.js +0 -1
  883. package/dist/translations/da/charts.js +0 -1
  884. package/dist/translations/da/conversation.js +0 -1
  885. package/dist/translations/da/data.js +0 -1
  886. package/dist/translations/da/forms.js +0 -1
  887. package/dist/translations/da/layout.js +0 -1
  888. package/dist/translations/da/media.js +0 -1
  889. package/dist/translations/da/overlays.js +0 -1
  890. package/dist/translations/da/retrieval.js +0 -1
  891. package/dist/translations/da/shared.js +0 -1
  892. package/dist/translations/da/utility.js +0 -1
  893. package/dist/translations/da/viewers.js +0 -5
  894. package/dist/translations/da.js +0 -1
  895. package/dist/translations/de/agent-tools.js +0 -1
  896. package/dist/translations/de/charts.js +0 -1
  897. package/dist/translations/de/conversation.js +0 -1
  898. package/dist/translations/de/data.js +0 -1
  899. package/dist/translations/de/forms.js +0 -1
  900. package/dist/translations/de/layout.js +0 -1
  901. package/dist/translations/de/media.js +0 -1
  902. package/dist/translations/de/overlays.js +0 -1
  903. package/dist/translations/de/retrieval.js +0 -1
  904. package/dist/translations/de/shared.js +0 -1
  905. package/dist/translations/de/utility.js +0 -1
  906. package/dist/translations/de/viewers.js +0 -5
  907. package/dist/translations/de-CH/agent-tools.js +0 -1
  908. package/dist/translations/de-CH/charts.js +0 -1
  909. package/dist/translations/de-CH/conversation.js +0 -1
  910. package/dist/translations/de-CH/data.js +0 -1
  911. package/dist/translations/de-CH/forms.js +0 -1
  912. package/dist/translations/de-CH/layout.js +0 -1
  913. package/dist/translations/de-CH/media.js +0 -1
  914. package/dist/translations/de-CH/overlays.js +0 -1
  915. package/dist/translations/de-CH/retrieval.js +0 -1
  916. package/dist/translations/de-CH/shared.js +0 -1
  917. package/dist/translations/de-CH/utility.js +0 -1
  918. package/dist/translations/de-CH/viewers.js +0 -1
  919. package/dist/translations/de-CH.js +0 -1
  920. package/dist/translations/de.js +0 -1
  921. package/dist/translations/el/agent-tools.js +0 -1
  922. package/dist/translations/el/charts.js +0 -1
  923. package/dist/translations/el/conversation.js +0 -1
  924. package/dist/translations/el/data.js +0 -1
  925. package/dist/translations/el/forms.js +0 -1
  926. package/dist/translations/el/layout.js +0 -1
  927. package/dist/translations/el/media.js +0 -1
  928. package/dist/translations/el/overlays.js +0 -1
  929. package/dist/translations/el/retrieval.js +0 -1
  930. package/dist/translations/el/shared.js +0 -1
  931. package/dist/translations/el/utility.js +0 -1
  932. package/dist/translations/el/viewers.js +0 -5
  933. package/dist/translations/el.js +0 -1
  934. package/dist/translations/es/agent-tools.js +0 -1
  935. package/dist/translations/es/charts.js +0 -1
  936. package/dist/translations/es/conversation.js +0 -1
  937. package/dist/translations/es/data.js +0 -1
  938. package/dist/translations/es/forms.js +0 -1
  939. package/dist/translations/es/layout.js +0 -1
  940. package/dist/translations/es/media.js +0 -1
  941. package/dist/translations/es/overlays.js +0 -1
  942. package/dist/translations/es/retrieval.js +0 -1
  943. package/dist/translations/es/shared.js +0 -1
  944. package/dist/translations/es/utility.js +0 -1
  945. package/dist/translations/es/viewers.js +0 -5
  946. package/dist/translations/es.js +0 -1
  947. package/dist/translations/fa/agent-tools.js +0 -1
  948. package/dist/translations/fa/charts.js +0 -1
  949. package/dist/translations/fa/conversation.js +0 -1
  950. package/dist/translations/fa/data.js +0 -1
  951. package/dist/translations/fa/forms.js +0 -1
  952. package/dist/translations/fa/layout.js +0 -1
  953. package/dist/translations/fa/media.js +0 -1
  954. package/dist/translations/fa/overlays.js +0 -1
  955. package/dist/translations/fa/retrieval.js +0 -1
  956. package/dist/translations/fa/shared.js +0 -1
  957. package/dist/translations/fa/utility.js +0 -1
  958. package/dist/translations/fa/viewers.js +0 -5
  959. package/dist/translations/fa-AF/agent-tools.js +0 -1
  960. package/dist/translations/fa-AF/charts.js +0 -1
  961. package/dist/translations/fa-AF/conversation.js +0 -1
  962. package/dist/translations/fa-AF/data.js +0 -1
  963. package/dist/translations/fa-AF/forms.js +0 -1
  964. package/dist/translations/fa-AF/layout.js +0 -1
  965. package/dist/translations/fa-AF/media.js +0 -1
  966. package/dist/translations/fa-AF/overlays.js +0 -1
  967. package/dist/translations/fa-AF/retrieval.js +0 -1
  968. package/dist/translations/fa-AF/shared.js +0 -1
  969. package/dist/translations/fa-AF/utility.js +0 -1
  970. package/dist/translations/fa-AF/viewers.js +0 -5
  971. package/dist/translations/fa-AF.js +0 -1
  972. package/dist/translations/fa.js +0 -1
  973. package/dist/translations/fi/agent-tools.js +0 -1
  974. package/dist/translations/fi/charts.js +0 -1
  975. package/dist/translations/fi/conversation.js +0 -1
  976. package/dist/translations/fi/data.js +0 -1
  977. package/dist/translations/fi/forms.js +0 -1
  978. package/dist/translations/fi/layout.js +0 -1
  979. package/dist/translations/fi/media.js +0 -1
  980. package/dist/translations/fi/overlays.js +0 -1
  981. package/dist/translations/fi/retrieval.js +0 -1
  982. package/dist/translations/fi/shared.js +0 -1
  983. package/dist/translations/fi/utility.js +0 -1
  984. package/dist/translations/fi/viewers.js +0 -5
  985. package/dist/translations/fi.js +0 -1
  986. package/dist/translations/fr/agent-tools.js +0 -1
  987. package/dist/translations/fr/charts.js +0 -1
  988. package/dist/translations/fr/conversation.js +0 -1
  989. package/dist/translations/fr/data.js +0 -1
  990. package/dist/translations/fr/forms.js +0 -1
  991. package/dist/translations/fr/layout.js +0 -1
  992. package/dist/translations/fr/media.js +0 -1
  993. package/dist/translations/fr/overlays.js +0 -1
  994. package/dist/translations/fr/retrieval.js +0 -1
  995. package/dist/translations/fr/shared.js +0 -1
  996. package/dist/translations/fr/utility.js +0 -1
  997. package/dist/translations/fr/viewers.js +0 -5
  998. package/dist/translations/fr.js +0 -1
  999. package/dist/translations/gu/agent-tools.js +0 -1
  1000. package/dist/translations/gu/charts.js +0 -1
  1001. package/dist/translations/gu/conversation.js +0 -1
  1002. package/dist/translations/gu/data.js +0 -1
  1003. package/dist/translations/gu/forms.js +0 -1
  1004. package/dist/translations/gu/layout.js +0 -1
  1005. package/dist/translations/gu/media.js +0 -1
  1006. package/dist/translations/gu/overlays.js +0 -1
  1007. package/dist/translations/gu/retrieval.js +0 -1
  1008. package/dist/translations/gu/shared.js +0 -1
  1009. package/dist/translations/gu/utility.js +0 -1
  1010. package/dist/translations/gu/viewers.js +0 -5
  1011. package/dist/translations/gu.js +0 -1
  1012. package/dist/translations/ha/agent-tools.js +0 -1
  1013. package/dist/translations/ha/charts.js +0 -1
  1014. package/dist/translations/ha/conversation.js +0 -1
  1015. package/dist/translations/ha/data.js +0 -1
  1016. package/dist/translations/ha/forms.js +0 -1
  1017. package/dist/translations/ha/layout.js +0 -1
  1018. package/dist/translations/ha/media.js +0 -1
  1019. package/dist/translations/ha/overlays.js +0 -1
  1020. package/dist/translations/ha/retrieval.js +0 -1
  1021. package/dist/translations/ha/shared.js +0 -1
  1022. package/dist/translations/ha/utility.js +0 -1
  1023. package/dist/translations/ha/viewers.js +0 -5
  1024. package/dist/translations/ha.js +0 -1
  1025. package/dist/translations/he/agent-tools.js +0 -1
  1026. package/dist/translations/he/charts.js +0 -1
  1027. package/dist/translations/he/conversation.js +0 -1
  1028. package/dist/translations/he/data.js +0 -1
  1029. package/dist/translations/he/forms.js +0 -1
  1030. package/dist/translations/he/layout.js +0 -1
  1031. package/dist/translations/he/media.js +0 -1
  1032. package/dist/translations/he/overlays.js +0 -1
  1033. package/dist/translations/he/retrieval.js +0 -1
  1034. package/dist/translations/he/shared.js +0 -1
  1035. package/dist/translations/he/utility.js +0 -1
  1036. package/dist/translations/he/viewers.js +0 -5
  1037. package/dist/translations/he.js +0 -1
  1038. package/dist/translations/hi/agent-tools.js +0 -1
  1039. package/dist/translations/hi/charts.js +0 -1
  1040. package/dist/translations/hi/conversation.js +0 -1
  1041. package/dist/translations/hi/data.js +0 -1
  1042. package/dist/translations/hi/forms.js +0 -1
  1043. package/dist/translations/hi/layout.js +0 -1
  1044. package/dist/translations/hi/media.js +0 -1
  1045. package/dist/translations/hi/overlays.js +0 -1
  1046. package/dist/translations/hi/retrieval.js +0 -1
  1047. package/dist/translations/hi/shared.js +0 -1
  1048. package/dist/translations/hi/utility.js +0 -1
  1049. package/dist/translations/hi/viewers.js +0 -5
  1050. package/dist/translations/hi.js +0 -1
  1051. package/dist/translations/hr/agent-tools.js +0 -1
  1052. package/dist/translations/hr/charts.js +0 -1
  1053. package/dist/translations/hr/conversation.js +0 -1
  1054. package/dist/translations/hr/data.js +0 -1
  1055. package/dist/translations/hr/forms.js +0 -1
  1056. package/dist/translations/hr/layout.js +0 -1
  1057. package/dist/translations/hr/media.js +0 -1
  1058. package/dist/translations/hr/overlays.js +0 -1
  1059. package/dist/translations/hr/retrieval.js +0 -1
  1060. package/dist/translations/hr/shared.js +0 -1
  1061. package/dist/translations/hr/utility.js +0 -1
  1062. package/dist/translations/hr/viewers.js +0 -5
  1063. package/dist/translations/hr.js +0 -1
  1064. package/dist/translations/hu/agent-tools.js +0 -1
  1065. package/dist/translations/hu/charts.js +0 -1
  1066. package/dist/translations/hu/conversation.js +0 -1
  1067. package/dist/translations/hu/data.js +0 -1
  1068. package/dist/translations/hu/forms.js +0 -1
  1069. package/dist/translations/hu/layout.js +0 -1
  1070. package/dist/translations/hu/media.js +0 -1
  1071. package/dist/translations/hu/overlays.js +0 -1
  1072. package/dist/translations/hu/retrieval.js +0 -1
  1073. package/dist/translations/hu/shared.js +0 -1
  1074. package/dist/translations/hu/utility.js +0 -1
  1075. package/dist/translations/hu/viewers.js +0 -5
  1076. package/dist/translations/hu.js +0 -1
  1077. package/dist/translations/id/agent-tools.js +0 -1
  1078. package/dist/translations/id/charts.js +0 -1
  1079. package/dist/translations/id/conversation.js +0 -1
  1080. package/dist/translations/id/data.js +0 -1
  1081. package/dist/translations/id/forms.js +0 -1
  1082. package/dist/translations/id/layout.js +0 -1
  1083. package/dist/translations/id/media.js +0 -1
  1084. package/dist/translations/id/overlays.js +0 -1
  1085. package/dist/translations/id/retrieval.js +0 -1
  1086. package/dist/translations/id/shared.js +0 -1
  1087. package/dist/translations/id/utility.js +0 -1
  1088. package/dist/translations/id/viewers.js +0 -5
  1089. package/dist/translations/id.js +0 -1
  1090. package/dist/translations/ig/agent-tools.js +0 -1
  1091. package/dist/translations/ig/charts.js +0 -1
  1092. package/dist/translations/ig/conversation.js +0 -1
  1093. package/dist/translations/ig/data.js +0 -1
  1094. package/dist/translations/ig/forms.js +0 -1
  1095. package/dist/translations/ig/layout.js +0 -1
  1096. package/dist/translations/ig/media.js +0 -1
  1097. package/dist/translations/ig/overlays.js +0 -1
  1098. package/dist/translations/ig/retrieval.js +0 -1
  1099. package/dist/translations/ig/shared.js +0 -1
  1100. package/dist/translations/ig/utility.js +0 -1
  1101. package/dist/translations/ig/viewers.js +0 -5
  1102. package/dist/translations/ig.js +0 -1
  1103. package/dist/translations/it/agent-tools.js +0 -1
  1104. package/dist/translations/it/charts.js +0 -1
  1105. package/dist/translations/it/conversation.js +0 -1
  1106. package/dist/translations/it/data.js +0 -1
  1107. package/dist/translations/it/forms.js +0 -1
  1108. package/dist/translations/it/layout.js +0 -1
  1109. package/dist/translations/it/media.js +0 -1
  1110. package/dist/translations/it/overlays.js +0 -1
  1111. package/dist/translations/it/retrieval.js +0 -1
  1112. package/dist/translations/it/shared.js +0 -1
  1113. package/dist/translations/it/utility.js +0 -1
  1114. package/dist/translations/it/viewers.js +0 -5
  1115. package/dist/translations/it.js +0 -1
  1116. package/dist/translations/ja/agent-tools.js +0 -1
  1117. package/dist/translations/ja/charts.js +0 -1
  1118. package/dist/translations/ja/conversation.js +0 -1
  1119. package/dist/translations/ja/data.js +0 -1
  1120. package/dist/translations/ja/forms.js +0 -1
  1121. package/dist/translations/ja/layout.js +0 -1
  1122. package/dist/translations/ja/media.js +0 -1
  1123. package/dist/translations/ja/overlays.js +0 -1
  1124. package/dist/translations/ja/retrieval.js +0 -1
  1125. package/dist/translations/ja/shared.js +0 -1
  1126. package/dist/translations/ja/utility.js +0 -1
  1127. package/dist/translations/ja/viewers.js +0 -4
  1128. package/dist/translations/ja.js +0 -1
  1129. package/dist/translations/jv/agent-tools.js +0 -1
  1130. package/dist/translations/jv/charts.js +0 -1
  1131. package/dist/translations/jv/conversation.js +0 -1
  1132. package/dist/translations/jv/data.js +0 -1
  1133. package/dist/translations/jv/forms.js +0 -1
  1134. package/dist/translations/jv/layout.js +0 -1
  1135. package/dist/translations/jv/media.js +0 -1
  1136. package/dist/translations/jv/overlays.js +0 -1
  1137. package/dist/translations/jv/retrieval.js +0 -1
  1138. package/dist/translations/jv/shared.js +0 -1
  1139. package/dist/translations/jv/utility.js +0 -1
  1140. package/dist/translations/jv/viewers.js +0 -5
  1141. package/dist/translations/jv.js +0 -1
  1142. package/dist/translations/kk/agent-tools.js +0 -1
  1143. package/dist/translations/kk/charts.js +0 -1
  1144. package/dist/translations/kk/conversation.js +0 -1
  1145. package/dist/translations/kk/data.js +0 -1
  1146. package/dist/translations/kk/forms.js +0 -1
  1147. package/dist/translations/kk/layout.js +0 -1
  1148. package/dist/translations/kk/media.js +0 -1
  1149. package/dist/translations/kk/overlays.js +0 -1
  1150. package/dist/translations/kk/retrieval.js +0 -1
  1151. package/dist/translations/kk/shared.js +0 -1
  1152. package/dist/translations/kk/utility.js +0 -1
  1153. package/dist/translations/kk/viewers.js +0 -5
  1154. package/dist/translations/kk.js +0 -1
  1155. package/dist/translations/kn/agent-tools.js +0 -1
  1156. package/dist/translations/kn/charts.js +0 -1
  1157. package/dist/translations/kn/conversation.js +0 -1
  1158. package/dist/translations/kn/data.js +0 -1
  1159. package/dist/translations/kn/forms.js +0 -1
  1160. package/dist/translations/kn/layout.js +0 -1
  1161. package/dist/translations/kn/media.js +0 -1
  1162. package/dist/translations/kn/overlays.js +0 -1
  1163. package/dist/translations/kn/retrieval.js +0 -1
  1164. package/dist/translations/kn/shared.js +0 -1
  1165. package/dist/translations/kn/utility.js +0 -1
  1166. package/dist/translations/kn/viewers.js +0 -5
  1167. package/dist/translations/kn.js +0 -1
  1168. package/dist/translations/ko/agent-tools.js +0 -1
  1169. package/dist/translations/ko/charts.js +0 -1
  1170. package/dist/translations/ko/conversation.js +0 -1
  1171. package/dist/translations/ko/data.js +0 -1
  1172. package/dist/translations/ko/forms.js +0 -1
  1173. package/dist/translations/ko/layout.js +0 -1
  1174. package/dist/translations/ko/media.js +0 -1
  1175. package/dist/translations/ko/overlays.js +0 -1
  1176. package/dist/translations/ko/retrieval.js +0 -1
  1177. package/dist/translations/ko/shared.js +0 -1
  1178. package/dist/translations/ko/utility.js +0 -1
  1179. package/dist/translations/ko/viewers.js +0 -5
  1180. package/dist/translations/ko.js +0 -1
  1181. package/dist/translations/ln/agent-tools.js +0 -1
  1182. package/dist/translations/ln/charts.js +0 -1
  1183. package/dist/translations/ln/conversation.js +0 -1
  1184. package/dist/translations/ln/data.js +0 -1
  1185. package/dist/translations/ln/forms.js +0 -1
  1186. package/dist/translations/ln/layout.js +0 -1
  1187. package/dist/translations/ln/media.js +0 -1
  1188. package/dist/translations/ln/overlays.js +0 -1
  1189. package/dist/translations/ln/retrieval.js +0 -1
  1190. package/dist/translations/ln/shared.js +0 -1
  1191. package/dist/translations/ln/utility.js +0 -1
  1192. package/dist/translations/ln/viewers.js +0 -5
  1193. package/dist/translations/ln.js +0 -1
  1194. package/dist/translations/ml/agent-tools.js +0 -1
  1195. package/dist/translations/ml/charts.js +0 -1
  1196. package/dist/translations/ml/conversation.js +0 -1
  1197. package/dist/translations/ml/data.js +0 -1
  1198. package/dist/translations/ml/forms.js +0 -1
  1199. package/dist/translations/ml/layout.js +0 -1
  1200. package/dist/translations/ml/media.js +0 -1
  1201. package/dist/translations/ml/overlays.js +0 -1
  1202. package/dist/translations/ml/retrieval.js +0 -1
  1203. package/dist/translations/ml/shared.js +0 -1
  1204. package/dist/translations/ml/utility.js +0 -1
  1205. package/dist/translations/ml/viewers.js +0 -5
  1206. package/dist/translations/ml.js +0 -1
  1207. package/dist/translations/mr/agent-tools.js +0 -1
  1208. package/dist/translations/mr/charts.js +0 -1
  1209. package/dist/translations/mr/conversation.js +0 -1
  1210. package/dist/translations/mr/data.js +0 -1
  1211. package/dist/translations/mr/forms.js +0 -1
  1212. package/dist/translations/mr/layout.js +0 -1
  1213. package/dist/translations/mr/media.js +0 -1
  1214. package/dist/translations/mr/overlays.js +0 -1
  1215. package/dist/translations/mr/retrieval.js +0 -1
  1216. package/dist/translations/mr/shared.js +0 -1
  1217. package/dist/translations/mr/utility.js +0 -1
  1218. package/dist/translations/mr/viewers.js +0 -5
  1219. package/dist/translations/mr.js +0 -1
  1220. package/dist/translations/ms/agent-tools.js +0 -1
  1221. package/dist/translations/ms/charts.js +0 -1
  1222. package/dist/translations/ms/conversation.js +0 -1
  1223. package/dist/translations/ms/data.js +0 -1
  1224. package/dist/translations/ms/forms.js +0 -1
  1225. package/dist/translations/ms/layout.js +0 -1
  1226. package/dist/translations/ms/media.js +0 -1
  1227. package/dist/translations/ms/overlays.js +0 -1
  1228. package/dist/translations/ms/retrieval.js +0 -1
  1229. package/dist/translations/ms/shared.js +0 -1
  1230. package/dist/translations/ms/utility.js +0 -1
  1231. package/dist/translations/ms/viewers.js +0 -5
  1232. package/dist/translations/ms.js +0 -1
  1233. package/dist/translations/my/agent-tools.js +0 -1
  1234. package/dist/translations/my/charts.js +0 -1
  1235. package/dist/translations/my/conversation.js +0 -1
  1236. package/dist/translations/my/data.js +0 -1
  1237. package/dist/translations/my/forms.js +0 -1
  1238. package/dist/translations/my/layout.js +0 -1
  1239. package/dist/translations/my/media.js +0 -1
  1240. package/dist/translations/my/overlays.js +0 -1
  1241. package/dist/translations/my/retrieval.js +0 -1
  1242. package/dist/translations/my/shared.js +0 -1
  1243. package/dist/translations/my/utility.js +0 -1
  1244. package/dist/translations/my/viewers.js +0 -5
  1245. package/dist/translations/my.js +0 -1
  1246. package/dist/translations/nb/agent-tools.js +0 -1
  1247. package/dist/translations/nb/charts.js +0 -1
  1248. package/dist/translations/nb/conversation.js +0 -1
  1249. package/dist/translations/nb/data.js +0 -1
  1250. package/dist/translations/nb/forms.js +0 -1
  1251. package/dist/translations/nb/layout.js +0 -1
  1252. package/dist/translations/nb/media.js +0 -1
  1253. package/dist/translations/nb/overlays.js +0 -1
  1254. package/dist/translations/nb/retrieval.js +0 -1
  1255. package/dist/translations/nb/shared.js +0 -1
  1256. package/dist/translations/nb/utility.js +0 -1
  1257. package/dist/translations/nb/viewers.js +0 -5
  1258. package/dist/translations/nb.js +0 -1
  1259. package/dist/translations/ne/agent-tools.js +0 -1
  1260. package/dist/translations/ne/charts.js +0 -1
  1261. package/dist/translations/ne/conversation.js +0 -1
  1262. package/dist/translations/ne/data.js +0 -1
  1263. package/dist/translations/ne/forms.js +0 -1
  1264. package/dist/translations/ne/layout.js +0 -1
  1265. package/dist/translations/ne/media.js +0 -1
  1266. package/dist/translations/ne/overlays.js +0 -1
  1267. package/dist/translations/ne/retrieval.js +0 -1
  1268. package/dist/translations/ne/shared.js +0 -1
  1269. package/dist/translations/ne/utility.js +0 -1
  1270. package/dist/translations/ne/viewers.js +0 -5
  1271. package/dist/translations/ne.js +0 -1
  1272. package/dist/translations/nl/agent-tools.js +0 -1
  1273. package/dist/translations/nl/charts.js +0 -1
  1274. package/dist/translations/nl/conversation.js +0 -1
  1275. package/dist/translations/nl/data.js +0 -1
  1276. package/dist/translations/nl/forms.js +0 -1
  1277. package/dist/translations/nl/layout.js +0 -1
  1278. package/dist/translations/nl/media.js +0 -1
  1279. package/dist/translations/nl/overlays.js +0 -1
  1280. package/dist/translations/nl/retrieval.js +0 -1
  1281. package/dist/translations/nl/shared.js +0 -1
  1282. package/dist/translations/nl/utility.js +0 -1
  1283. package/dist/translations/nl/viewers.js +0 -5
  1284. package/dist/translations/nl.js +0 -1
  1285. package/dist/translations/nn/agent-tools.js +0 -1
  1286. package/dist/translations/nn/charts.js +0 -1
  1287. package/dist/translations/nn/conversation.js +0 -1
  1288. package/dist/translations/nn/data.js +0 -1
  1289. package/dist/translations/nn/forms.js +0 -1
  1290. package/dist/translations/nn/layout.js +0 -1
  1291. package/dist/translations/nn/media.js +0 -1
  1292. package/dist/translations/nn/overlays.js +0 -1
  1293. package/dist/translations/nn/retrieval.js +0 -1
  1294. package/dist/translations/nn/shared.js +0 -1
  1295. package/dist/translations/nn/utility.js +0 -1
  1296. package/dist/translations/nn/viewers.js +0 -5
  1297. package/dist/translations/nn.js +0 -1
  1298. package/dist/translations/om/agent-tools.js +0 -1
  1299. package/dist/translations/om/charts.js +0 -1
  1300. package/dist/translations/om/conversation.js +0 -1
  1301. package/dist/translations/om/data.js +0 -1
  1302. package/dist/translations/om/forms.js +0 -1
  1303. package/dist/translations/om/layout.js +0 -1
  1304. package/dist/translations/om/media.js +0 -1
  1305. package/dist/translations/om/overlays.js +0 -1
  1306. package/dist/translations/om/retrieval.js +0 -1
  1307. package/dist/translations/om/shared.js +0 -1
  1308. package/dist/translations/om/utility.js +0 -1
  1309. package/dist/translations/om/viewers.js +0 -5
  1310. package/dist/translations/om.js +0 -1
  1311. package/dist/translations/or/agent-tools.js +0 -1
  1312. package/dist/translations/or/charts.js +0 -1
  1313. package/dist/translations/or/conversation.js +0 -1
  1314. package/dist/translations/or/data.js +0 -1
  1315. package/dist/translations/or/forms.js +0 -1
  1316. package/dist/translations/or/layout.js +0 -1
  1317. package/dist/translations/or/media.js +0 -1
  1318. package/dist/translations/or/overlays.js +0 -1
  1319. package/dist/translations/or/retrieval.js +0 -1
  1320. package/dist/translations/or/shared.js +0 -1
  1321. package/dist/translations/or/utility.js +0 -1
  1322. package/dist/translations/or/viewers.js +0 -5
  1323. package/dist/translations/or.js +0 -1
  1324. package/dist/translations/pa/agent-tools.js +0 -1
  1325. package/dist/translations/pa/charts.js +0 -1
  1326. package/dist/translations/pa/conversation.js +0 -1
  1327. package/dist/translations/pa/data.js +0 -1
  1328. package/dist/translations/pa/forms.js +0 -1
  1329. package/dist/translations/pa/layout.js +0 -1
  1330. package/dist/translations/pa/media.js +0 -1
  1331. package/dist/translations/pa/overlays.js +0 -1
  1332. package/dist/translations/pa/retrieval.js +0 -1
  1333. package/dist/translations/pa/shared.js +0 -1
  1334. package/dist/translations/pa/utility.js +0 -1
  1335. package/dist/translations/pa/viewers.js +0 -5
  1336. package/dist/translations/pa.js +0 -1
  1337. package/dist/translations/pcm/agent-tools.js +0 -1
  1338. package/dist/translations/pcm/charts.js +0 -1
  1339. package/dist/translations/pcm/conversation.js +0 -1
  1340. package/dist/translations/pcm/data.js +0 -1
  1341. package/dist/translations/pcm/forms.js +0 -1
  1342. package/dist/translations/pcm/layout.js +0 -1
  1343. package/dist/translations/pcm/media.js +0 -1
  1344. package/dist/translations/pcm/overlays.js +0 -1
  1345. package/dist/translations/pcm/retrieval.js +0 -1
  1346. package/dist/translations/pcm/shared.js +0 -1
  1347. package/dist/translations/pcm/utility.js +0 -1
  1348. package/dist/translations/pcm/viewers.js +0 -5
  1349. package/dist/translations/pcm.js +0 -1
  1350. package/dist/translations/pl/agent-tools.js +0 -1
  1351. package/dist/translations/pl/charts.js +0 -1
  1352. package/dist/translations/pl/conversation.js +0 -1
  1353. package/dist/translations/pl/data.js +0 -1
  1354. package/dist/translations/pl/forms.js +0 -1
  1355. package/dist/translations/pl/layout.js +0 -1
  1356. package/dist/translations/pl/media.js +0 -1
  1357. package/dist/translations/pl/overlays.js +0 -1
  1358. package/dist/translations/pl/retrieval.js +0 -1
  1359. package/dist/translations/pl/shared.js +0 -1
  1360. package/dist/translations/pl/utility.js +0 -1
  1361. package/dist/translations/pl/viewers.js +0 -5
  1362. package/dist/translations/pl.js +0 -1
  1363. package/dist/translations/pnb/agent-tools.js +0 -1
  1364. package/dist/translations/pnb/charts.js +0 -1
  1365. package/dist/translations/pnb/conversation.js +0 -1
  1366. package/dist/translations/pnb/data.js +0 -1
  1367. package/dist/translations/pnb/forms.js +0 -1
  1368. package/dist/translations/pnb/layout.js +0 -1
  1369. package/dist/translations/pnb/media.js +0 -1
  1370. package/dist/translations/pnb/overlays.js +0 -1
  1371. package/dist/translations/pnb/retrieval.js +0 -1
  1372. package/dist/translations/pnb/shared.js +0 -1
  1373. package/dist/translations/pnb/utility.js +0 -1
  1374. package/dist/translations/pnb/viewers.js +0 -5
  1375. package/dist/translations/pnb.js +0 -1
  1376. package/dist/translations/ps/agent-tools.js +0 -1
  1377. package/dist/translations/ps/charts.js +0 -1
  1378. package/dist/translations/ps/conversation.js +0 -1
  1379. package/dist/translations/ps/data.js +0 -1
  1380. package/dist/translations/ps/forms.js +0 -1
  1381. package/dist/translations/ps/layout.js +0 -1
  1382. package/dist/translations/ps/media.js +0 -1
  1383. package/dist/translations/ps/overlays.js +0 -1
  1384. package/dist/translations/ps/retrieval.js +0 -1
  1385. package/dist/translations/ps/shared.js +0 -1
  1386. package/dist/translations/ps/utility.js +0 -1
  1387. package/dist/translations/ps/viewers.js +0 -5
  1388. package/dist/translations/ps.js +0 -1
  1389. package/dist/translations/pt-BR/agent-tools.js +0 -1
  1390. package/dist/translations/pt-BR/charts.js +0 -1
  1391. package/dist/translations/pt-BR/conversation.js +0 -1
  1392. package/dist/translations/pt-BR/data.js +0 -1
  1393. package/dist/translations/pt-BR/forms.js +0 -1
  1394. package/dist/translations/pt-BR/layout.js +0 -1
  1395. package/dist/translations/pt-BR/media.js +0 -1
  1396. package/dist/translations/pt-BR/overlays.js +0 -1
  1397. package/dist/translations/pt-BR/retrieval.js +0 -1
  1398. package/dist/translations/pt-BR/shared.js +0 -1
  1399. package/dist/translations/pt-BR/utility.js +0 -1
  1400. package/dist/translations/pt-BR/viewers.js +0 -5
  1401. package/dist/translations/pt-BR.js +0 -1
  1402. package/dist/translations/pt-PT/agent-tools.js +0 -1
  1403. package/dist/translations/pt-PT/charts.js +0 -1
  1404. package/dist/translations/pt-PT/conversation.js +0 -1
  1405. package/dist/translations/pt-PT/data.js +0 -1
  1406. package/dist/translations/pt-PT/forms.js +0 -1
  1407. package/dist/translations/pt-PT/layout.js +0 -1
  1408. package/dist/translations/pt-PT/media.js +0 -1
  1409. package/dist/translations/pt-PT/overlays.js +0 -1
  1410. package/dist/translations/pt-PT/retrieval.js +0 -1
  1411. package/dist/translations/pt-PT/shared.js +0 -1
  1412. package/dist/translations/pt-PT/utility.js +0 -1
  1413. package/dist/translations/pt-PT/viewers.js +0 -5
  1414. package/dist/translations/pt-PT.js +0 -1
  1415. package/dist/translations/ro/agent-tools.js +0 -1
  1416. package/dist/translations/ro/charts.js +0 -1
  1417. package/dist/translations/ro/conversation.js +0 -1
  1418. package/dist/translations/ro/data.js +0 -1
  1419. package/dist/translations/ro/forms.js +0 -1
  1420. package/dist/translations/ro/layout.js +0 -1
  1421. package/dist/translations/ro/media.js +0 -1
  1422. package/dist/translations/ro/overlays.js +0 -1
  1423. package/dist/translations/ro/retrieval.js +0 -1
  1424. package/dist/translations/ro/shared.js +0 -1
  1425. package/dist/translations/ro/utility.js +0 -1
  1426. package/dist/translations/ro/viewers.js +0 -5
  1427. package/dist/translations/ro.js +0 -1
  1428. package/dist/translations/ru/agent-tools.js +0 -1
  1429. package/dist/translations/ru/charts.js +0 -1
  1430. package/dist/translations/ru/conversation.js +0 -1
  1431. package/dist/translations/ru/data.js +0 -1
  1432. package/dist/translations/ru/forms.js +0 -1
  1433. package/dist/translations/ru/layout.js +0 -1
  1434. package/dist/translations/ru/media.js +0 -1
  1435. package/dist/translations/ru/overlays.js +0 -1
  1436. package/dist/translations/ru/retrieval.js +0 -1
  1437. package/dist/translations/ru/shared.js +0 -1
  1438. package/dist/translations/ru/utility.js +0 -1
  1439. package/dist/translations/ru/viewers.js +0 -5
  1440. package/dist/translations/ru.js +0 -1
  1441. package/dist/translations/sd/agent-tools.js +0 -1
  1442. package/dist/translations/sd/charts.js +0 -1
  1443. package/dist/translations/sd/conversation.js +0 -1
  1444. package/dist/translations/sd/data.js +0 -1
  1445. package/dist/translations/sd/forms.js +0 -1
  1446. package/dist/translations/sd/layout.js +0 -1
  1447. package/dist/translations/sd/media.js +0 -1
  1448. package/dist/translations/sd/overlays.js +0 -1
  1449. package/dist/translations/sd/retrieval.js +0 -1
  1450. package/dist/translations/sd/shared.js +0 -1
  1451. package/dist/translations/sd/utility.js +0 -1
  1452. package/dist/translations/sd/viewers.js +0 -5
  1453. package/dist/translations/sd.js +0 -1
  1454. package/dist/translations/sl/agent-tools.js +0 -1
  1455. package/dist/translations/sl/charts.js +0 -1
  1456. package/dist/translations/sl/conversation.js +0 -1
  1457. package/dist/translations/sl/data.js +0 -1
  1458. package/dist/translations/sl/forms.js +0 -1
  1459. package/dist/translations/sl/layout.js +0 -1
  1460. package/dist/translations/sl/media.js +0 -1
  1461. package/dist/translations/sl/overlays.js +0 -1
  1462. package/dist/translations/sl/retrieval.js +0 -1
  1463. package/dist/translations/sl/shared.js +0 -1
  1464. package/dist/translations/sl/utility.js +0 -1
  1465. package/dist/translations/sl/viewers.js +0 -5
  1466. package/dist/translations/sl.js +0 -1
  1467. package/dist/translations/su/agent-tools.js +0 -1
  1468. package/dist/translations/su/charts.js +0 -1
  1469. package/dist/translations/su/conversation.js +0 -1
  1470. package/dist/translations/su/data.js +0 -1
  1471. package/dist/translations/su/forms.js +0 -1
  1472. package/dist/translations/su/layout.js +0 -1
  1473. package/dist/translations/su/media.js +0 -1
  1474. package/dist/translations/su/overlays.js +0 -1
  1475. package/dist/translations/su/retrieval.js +0 -1
  1476. package/dist/translations/su/shared.js +0 -1
  1477. package/dist/translations/su/utility.js +0 -1
  1478. package/dist/translations/su/viewers.js +0 -5
  1479. package/dist/translations/su.js +0 -1
  1480. package/dist/translations/sv/agent-tools.js +0 -1
  1481. package/dist/translations/sv/charts.js +0 -1
  1482. package/dist/translations/sv/conversation.js +0 -1
  1483. package/dist/translations/sv/data.js +0 -1
  1484. package/dist/translations/sv/forms.js +0 -1
  1485. package/dist/translations/sv/layout.js +0 -1
  1486. package/dist/translations/sv/media.js +0 -1
  1487. package/dist/translations/sv/overlays.js +0 -1
  1488. package/dist/translations/sv/retrieval.js +0 -1
  1489. package/dist/translations/sv/shared.js +0 -1
  1490. package/dist/translations/sv/utility.js +0 -1
  1491. package/dist/translations/sv/viewers.js +0 -5
  1492. package/dist/translations/sv.js +0 -1
  1493. package/dist/translations/sw/agent-tools.js +0 -1
  1494. package/dist/translations/sw/charts.js +0 -1
  1495. package/dist/translations/sw/conversation.js +0 -1
  1496. package/dist/translations/sw/data.js +0 -1
  1497. package/dist/translations/sw/forms.js +0 -1
  1498. package/dist/translations/sw/layout.js +0 -1
  1499. package/dist/translations/sw/media.js +0 -1
  1500. package/dist/translations/sw/overlays.js +0 -1
  1501. package/dist/translations/sw/retrieval.js +0 -1
  1502. package/dist/translations/sw/shared.js +0 -1
  1503. package/dist/translations/sw/utility.js +0 -1
  1504. package/dist/translations/sw/viewers.js +0 -5
  1505. package/dist/translations/sw.js +0 -1
  1506. package/dist/translations/ta/agent-tools.js +0 -1
  1507. package/dist/translations/ta/charts.js +0 -1
  1508. package/dist/translations/ta/conversation.js +0 -1
  1509. package/dist/translations/ta/data.js +0 -1
  1510. package/dist/translations/ta/forms.js +0 -1
  1511. package/dist/translations/ta/layout.js +0 -1
  1512. package/dist/translations/ta/media.js +0 -1
  1513. package/dist/translations/ta/overlays.js +0 -1
  1514. package/dist/translations/ta/retrieval.js +0 -1
  1515. package/dist/translations/ta/shared.js +0 -1
  1516. package/dist/translations/ta/utility.js +0 -1
  1517. package/dist/translations/ta/viewers.js +0 -5
  1518. package/dist/translations/ta.js +0 -1
  1519. package/dist/translations/te/agent-tools.js +0 -1
  1520. package/dist/translations/te/charts.js +0 -1
  1521. package/dist/translations/te/conversation.js +0 -1
  1522. package/dist/translations/te/data.js +0 -1
  1523. package/dist/translations/te/forms.js +0 -1
  1524. package/dist/translations/te/layout.js +0 -1
  1525. package/dist/translations/te/media.js +0 -1
  1526. package/dist/translations/te/overlays.js +0 -1
  1527. package/dist/translations/te/retrieval.js +0 -1
  1528. package/dist/translations/te/shared.js +0 -1
  1529. package/dist/translations/te/utility.js +0 -1
  1530. package/dist/translations/te/viewers.js +0 -5
  1531. package/dist/translations/te.js +0 -1
  1532. package/dist/translations/th/agent-tools.js +0 -1
  1533. package/dist/translations/th/charts.js +0 -1
  1534. package/dist/translations/th/conversation.js +0 -1
  1535. package/dist/translations/th/data.js +0 -1
  1536. package/dist/translations/th/forms.js +0 -1
  1537. package/dist/translations/th/layout.js +0 -1
  1538. package/dist/translations/th/media.js +0 -1
  1539. package/dist/translations/th/overlays.js +0 -1
  1540. package/dist/translations/th/retrieval.js +0 -1
  1541. package/dist/translations/th/shared.js +0 -1
  1542. package/dist/translations/th/utility.js +0 -1
  1543. package/dist/translations/th/viewers.js +0 -5
  1544. package/dist/translations/th.js +0 -1
  1545. package/dist/translations/tl/agent-tools.js +0 -1
  1546. package/dist/translations/tl/charts.js +0 -1
  1547. package/dist/translations/tl/conversation.js +0 -1
  1548. package/dist/translations/tl/data.js +0 -1
  1549. package/dist/translations/tl/forms.js +0 -1
  1550. package/dist/translations/tl/layout.js +0 -1
  1551. package/dist/translations/tl/media.js +0 -1
  1552. package/dist/translations/tl/overlays.js +0 -1
  1553. package/dist/translations/tl/retrieval.js +0 -1
  1554. package/dist/translations/tl/shared.js +0 -1
  1555. package/dist/translations/tl/utility.js +0 -1
  1556. package/dist/translations/tl/viewers.js +0 -5
  1557. package/dist/translations/tl.js +0 -1
  1558. package/dist/translations/tr/agent-tools.js +0 -1
  1559. package/dist/translations/tr/charts.js +0 -1
  1560. package/dist/translations/tr/conversation.js +0 -1
  1561. package/dist/translations/tr/data.js +0 -1
  1562. package/dist/translations/tr/forms.js +0 -1
  1563. package/dist/translations/tr/layout.js +0 -1
  1564. package/dist/translations/tr/media.js +0 -1
  1565. package/dist/translations/tr/overlays.js +0 -1
  1566. package/dist/translations/tr/retrieval.js +0 -1
  1567. package/dist/translations/tr/shared.js +0 -1
  1568. package/dist/translations/tr/utility.js +0 -1
  1569. package/dist/translations/tr/viewers.js +0 -5
  1570. package/dist/translations/tr.js +0 -1
  1571. package/dist/translations/uk/agent-tools.js +0 -1
  1572. package/dist/translations/uk/charts.js +0 -1
  1573. package/dist/translations/uk/conversation.js +0 -1
  1574. package/dist/translations/uk/data.js +0 -1
  1575. package/dist/translations/uk/forms.js +0 -1
  1576. package/dist/translations/uk/layout.js +0 -1
  1577. package/dist/translations/uk/media.js +0 -1
  1578. package/dist/translations/uk/overlays.js +0 -1
  1579. package/dist/translations/uk/retrieval.js +0 -1
  1580. package/dist/translations/uk/shared.js +0 -1
  1581. package/dist/translations/uk/utility.js +0 -1
  1582. package/dist/translations/uk/viewers.js +0 -5
  1583. package/dist/translations/uk.js +0 -1
  1584. package/dist/translations/ur/agent-tools.js +0 -1
  1585. package/dist/translations/ur/charts.js +0 -1
  1586. package/dist/translations/ur/conversation.js +0 -1
  1587. package/dist/translations/ur/data.js +0 -1
  1588. package/dist/translations/ur/forms.js +0 -1
  1589. package/dist/translations/ur/layout.js +0 -1
  1590. package/dist/translations/ur/media.js +0 -1
  1591. package/dist/translations/ur/overlays.js +0 -1
  1592. package/dist/translations/ur/retrieval.js +0 -1
  1593. package/dist/translations/ur/shared.js +0 -1
  1594. package/dist/translations/ur/utility.js +0 -1
  1595. package/dist/translations/ur/viewers.js +0 -5
  1596. package/dist/translations/ur.js +0 -1
  1597. package/dist/translations/uz/agent-tools.js +0 -1
  1598. package/dist/translations/uz/charts.js +0 -1
  1599. package/dist/translations/uz/conversation.js +0 -1
  1600. package/dist/translations/uz/data.js +0 -1
  1601. package/dist/translations/uz/forms.js +0 -1
  1602. package/dist/translations/uz/layout.js +0 -1
  1603. package/dist/translations/uz/media.js +0 -1
  1604. package/dist/translations/uz/overlays.js +0 -1
  1605. package/dist/translations/uz/retrieval.js +0 -1
  1606. package/dist/translations/uz/shared.js +0 -1
  1607. package/dist/translations/uz/utility.js +0 -1
  1608. package/dist/translations/uz/viewers.js +0 -5
  1609. package/dist/translations/uz.js +0 -1
  1610. package/dist/translations/vi/agent-tools.js +0 -1
  1611. package/dist/translations/vi/charts.js +0 -1
  1612. package/dist/translations/vi/conversation.js +0 -1
  1613. package/dist/translations/vi/data.js +0 -1
  1614. package/dist/translations/vi/forms.js +0 -1
  1615. package/dist/translations/vi/layout.js +0 -1
  1616. package/dist/translations/vi/media.js +0 -1
  1617. package/dist/translations/vi/overlays.js +0 -1
  1618. package/dist/translations/vi/retrieval.js +0 -1
  1619. package/dist/translations/vi/shared.js +0 -1
  1620. package/dist/translations/vi/utility.js +0 -1
  1621. package/dist/translations/vi/viewers.js +0 -5
  1622. package/dist/translations/vi.js +0 -1
  1623. package/dist/translations/yo/agent-tools.js +0 -1
  1624. package/dist/translations/yo/charts.js +0 -1
  1625. package/dist/translations/yo/conversation.js +0 -1
  1626. package/dist/translations/yo/data.js +0 -1
  1627. package/dist/translations/yo/forms.js +0 -1
  1628. package/dist/translations/yo/layout.js +0 -1
  1629. package/dist/translations/yo/media.js +0 -1
  1630. package/dist/translations/yo/overlays.js +0 -1
  1631. package/dist/translations/yo/retrieval.js +0 -1
  1632. package/dist/translations/yo/shared.js +0 -1
  1633. package/dist/translations/yo/utility.js +0 -1
  1634. package/dist/translations/yo/viewers.js +0 -5
  1635. package/dist/translations/yo.js +0 -1
  1636. package/dist/translations/zh-CN/agent-tools.js +0 -1
  1637. package/dist/translations/zh-CN/charts.js +0 -1
  1638. package/dist/translations/zh-CN/conversation.js +0 -1
  1639. package/dist/translations/zh-CN/data.js +0 -1
  1640. package/dist/translations/zh-CN/forms.js +0 -1
  1641. package/dist/translations/zh-CN/layout.js +0 -1
  1642. package/dist/translations/zh-CN/media.js +0 -1
  1643. package/dist/translations/zh-CN/overlays.js +0 -1
  1644. package/dist/translations/zh-CN/retrieval.js +0 -1
  1645. package/dist/translations/zh-CN/shared.js +0 -1
  1646. package/dist/translations/zh-CN/utility.js +0 -1
  1647. package/dist/translations/zh-CN/viewers.js +0 -5
  1648. package/dist/translations/zh-CN.js +0 -1
  1649. package/dist/translations/zh-TW/agent-tools.js +0 -1
  1650. package/dist/translations/zh-TW/charts.js +0 -1
  1651. package/dist/translations/zh-TW/conversation.js +0 -1
  1652. package/dist/translations/zh-TW/data.js +0 -1
  1653. package/dist/translations/zh-TW/forms.js +0 -1
  1654. package/dist/translations/zh-TW/layout.js +0 -1
  1655. package/dist/translations/zh-TW/media.js +0 -1
  1656. package/dist/translations/zh-TW/overlays.js +0 -1
  1657. package/dist/translations/zh-TW/retrieval.js +0 -1
  1658. package/dist/translations/zh-TW/shared.js +0 -1
  1659. package/dist/translations/zh-TW/utility.js +0 -1
  1660. package/dist/translations/zh-TW/viewers.js +0 -5
  1661. package/dist/translations/zh-TW.js +0 -1
  1662. package/dist/translations/zu/agent-tools.js +0 -1
  1663. package/dist/translations/zu/charts.js +0 -1
  1664. package/dist/translations/zu/conversation.js +0 -1
  1665. package/dist/translations/zu/data.js +0 -1
  1666. package/dist/translations/zu/forms.js +0 -1
  1667. package/dist/translations/zu/layout.js +0 -1
  1668. package/dist/translations/zu/media.js +0 -1
  1669. package/dist/translations/zu/overlays.js +0 -1
  1670. package/dist/translations/zu/retrieval.js +0 -1
  1671. package/dist/translations/zu/shared.js +0 -1
  1672. package/dist/translations/zu/utility.js +0 -1
  1673. package/dist/translations/zu/viewers.js +0 -5
  1674. package/dist/translations/zu.js +0 -1
  1675. package/vscode-css-data.json +0 -1
  1676. package/vscode-html-data.json +0 -1
  1677. package/web-types.json +0 -1
@@ -1 +1 @@
1
- import{devWarnOnce,litDevWarnings}from"../internal/dev-warning.js";import{readStyleOwnership}from"./style-ownership.js";import{resolveStyleStartup}from"./startup-resolution.js";const STORAGE_KEY="lyra-theme",TOKEN_NAME_PATTERN=/^--lr-theme-[a-z0-9]+(?:-[a-z0-9]+)*$/,TOKEN_NAME_MAX_LENGTH=80,TOKEN_RESERVED_NAME="--lr-theme-accent",TOKEN_ENTRY_MAX=512,TOKEN_SYNTHESIZED_MAX=16,TOKEN_VALUE_MAX_LENGTH=256,TOKEN_FORBIDDEN_PATTERN=/[\x00-\x1f\x7f\\;{}!<>@[\]`$^|~=?&:\u2028\u2029]|\/\*|\*\//,TOKEN_CSS_WIDE_PATTERN=/^(?:inherit|initial|revert(?:-layer)?|unset)$/i,TOKEN_FUNCTION_PATTERN=/([a-z0-9_-]+)\s*\(/gi,TOKEN_ALLOWED_FUNCTIONS="rgb rgba hsl hsla hwb lab lch oklab oklch color color-mix light-dark calc min max clamp var cubic-bezier steps linear".split(" "),TOKEN_OWNERSHIP_MAX=TOKEN_ENTRY_MAX+TOKEN_SYNTHESIZED_MAX,TOKEN_OWNERSHIP_SYMBOL="@aceshooting/lyra-ui.theme-tokens.v1",MODE_SURFACES={light:[255,255,255],dark:[10,10,10]},COLOR_SCHEME_QUERY="(prefers-color-scheme: dark)",SEMANTIC_ROLES=["brand","success","warning","danger","neutral"],RAMP_CHANNELS=["fill","border","on"],RAMP_TIERS=["quiet","normal","loud"];function roleRampProperties(role){const properties=[];for(const channel of RAMP_CHANNELS)for(const tier of RAMP_TIERS)properties.push(`--lr-theme-color-${role}-${channel}-${tier}`);return properties}const ALL_RAMP_PROPERTIES=[...SEMANTIC_ROLES.flatMap(roleRampProperties),"--lr-theme-color-focus"],MODE_ATTRIBUTES=["data-lr-theme","data-theme"];function isBalancedCssValue(value){let depth=0,quote="";for(const character of value){if(quote){character===quote&&(quote="");continue}if(character==="'"||character==='"')quote=character;else if(character==="(")depth+=1;else if(character===")"&&(depth-=1)<0)return!1}return quote===""&&depth===0}function isLyraThemeTokenName(name){return typeof name=="string"&&name.length<=TOKEN_NAME_MAX_LENGTH&&TOKEN_NAME_PATTERN.test(name)&&name!==TOKEN_RESERVED_NAME}function isSafeLyraThemeTokenValue(value){if(typeof value!="string")return!1;const trimmed=value.trim();if(!trimmed||trimmed.length>TOKEN_VALUE_MAX_LENGTH||TOKEN_FORBIDDEN_PATTERN.test(trimmed)||TOKEN_CSS_WIDE_PATTERN.test(trimmed))return!1;for(const match of trimmed.matchAll(TOKEN_FUNCTION_PATTERN))if(!TOKEN_ALLOWED_FUNCTIONS.includes((match[1]??"").toLowerCase()))return!1;return isBalancedCssValue(trimmed)}function isPlainRecord(value){if(typeof value!="object"||value===null||Array.isArray(value))return!1;const prototype=Object.getPrototypeOf(value);if(prototype===Object.prototype||prototype===null)return!0;if(Object.getPrototypeOf(prototype)!==null)return!1;const constructor=Object.getOwnPropertyDescriptor(prototype,"constructor")?.value;return typeof constructor=="function"&&Function.prototype.toString.call(constructor)===Function.prototype.toString.call(Object)}function normalizeTokenBranch(value){return isSafeLyraThemeTokenValue(value)?value.trim():null}function normalizeTokens(raw){try{if(!isPlainRecord(raw))return null;const names=Object.keys(raw);if(names.length===0||names.length>TOKEN_ENTRY_MAX)return null;const result={};let kept=0;for(const name of names){if(!isLyraThemeTokenName(name))continue;const value=ownField(raw,name);if(typeof value=="string"){const normalized=normalizeTokenBranch(value);if(normalized===null)continue;result[name]=normalized,kept+=1;continue}if(!isPlainRecord(value))continue;const keys=Object.keys(value),hasLight=Object.prototype.hasOwnProperty.call(value,"light"),hasDark=Object.prototype.hasOwnProperty.call(value,"dark");if(!hasLight&&!hasDark||keys.some(key=>key!=="light"&&key!=="dark"))continue;const light=normalizeTokenBranch(ownField(value,"light")),dark=normalizeTokenBranch(ownField(value,"dark"));light===null&&dark===null||(result[name]=Object.freeze({light,dark}),kept+=1)}return kept>0?Object.freeze(result):null}catch{return null}}function tokensEqual(left,right){const leftNames=left?Object.keys(left):[],rightNames=right?Object.keys(right):[];if(leftNames.length!==rightNames.length)return!1;if(leftNames.length===0)return!0;const leftMap=left,rightMap=right;return leftNames.every(name=>{if(!Object.prototype.hasOwnProperty.call(rightMap,name))return!1;const a=leftMap[name],b=rightMap[name];return typeof a=="string"||typeof b=="string"?a===b:!a||!b?!1:(a.light??null)===(b.light??null)&&(a.dark??null)===(b.dark??null)})}function normalizeColor(value,owner=document){if(typeof value!="string"||!value.trim())return null;const candidate=value.trim();if(!isBalancedCssValue(candidate)||TOKEN_CSS_WIDE_PATTERN.test(candidate)||/^(?:accentcolor|accentcolortext|activetext|buttonborder|buttonface|buttontext|canvas|canvastext|field|fieldtext|graytext|highlight|highlighttext|linktext|mark|marktext|selecteditem|selecteditemtext|visitedtext)$/i.test(candidate)||/\bcurrentcolor\b/i.test(candidate)||/\bvar\s*\(/i.test(candidate)||/\blight-dark\s*\(/i.test(candidate)||/\b(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\s*\(\s*from\b/i.test(candidate))return null;const probe=owner.createElement("span");return probe.style.color=candidate,probe.style.color?candidate:null}function normalizeAccentValue(value){if(typeof value=="string"||value===null)return normalizeColor(value);if(typeof value!="object"||Array.isArray(value))return null;const record=value;if(!("light"in record)&&!("dark"in record))return null;const light=normalizeColor(record.light),dark=normalizeColor(record.dark);return light||dark?{light,dark}:null}function normalizeAccent(value){if(typeof value=="string")return normalizeColor(value);if(value===null||typeof value!="object"||Array.isArray(value))return null;const record=value,result={};let hasRole=!1;for(const role of SEMANTIC_ROLES)role in record&&(hasRole=!0,result[role]=normalizeAccentValue(record[role]));return hasRole?result:null}function resolveAccentValueForMode(value,mode){return typeof value=="string"?value:value?value[mode]??null:null}function accentValueEqual(left,right){return left===right?!0:typeof left=="string"||typeof right=="string"||left===null||right===null?!1:(left.light??null)===(right.light??null)&&(left.dark??null)===(right.dark??null)}function accentsEqual(left,right){if(left===right)return!0;if(typeof left=="string"||typeof right=="string"||left===null||right===null)return!1;const leftKeys=Object.keys(left),rightKeys=Object.keys(right);return leftKeys.length!==rightKeys.length?!1:leftKeys.every(role=>accentValueEqual(left[role],right[role]))}function parseResolvedRgb(value,background,owner=document){if(!normalizeColor(value,owner))return null;try{const canvas=owner.createElement("canvas");canvas.width=1,canvas.height=1;const context=canvas.getContext("2d",{willReadFrequently:!0});if(!context)return null;context.clearRect(0,0,1,1),context.fillStyle=value,context.fillRect(0,0,1,1);const channels=context.getImageData(0,0,1,1).data,red=channels[0]??0,green=channels[1]??0,blue=channels[2]??0,alpha=(channels[3]??0)/255;return[Math.round(red*alpha+background[0]*(1-alpha)),Math.round(green*alpha+background[1]*(1-alpha)),Math.round(blue*alpha+background[2]*(1-alpha))]}catch{return null}}function hexRgb(color){return[parseInt(color.slice(1,3),16),parseInt(color.slice(3,5),16),parseInt(color.slice(5,7),16)]}function mixRgb(base,color,colorWeight){return[Math.round(base[0]*(1-colorWeight)+color[0]*colorWeight),Math.round(base[1]*(1-colorWeight)+color[1]*colorWeight),Math.round(base[2]*(1-colorWeight)+color[2]*colorWeight)]}function serializeRgb(color){return`rgb(${color.join(" ")})`}function relativeLuminance(color){const linearize=channel=>{const normalized=channel/255;return normalized<=.04045?normalized/12.92:((normalized+.055)/1.055)**2.4};return linearize(color[0])*.2126+linearize(color[1])*.7152+linearize(color[2])*.0722}function contrastRatio(left,right){const a=relativeLuminance(left),b=relativeLuminance(right);return(Math.max(a,b)+.05)/(Math.min(a,b)+.05)}function contrastForeground(fill){const black=[0,0,0],white=[255,255,255];return contrastRatio(fill,black)>=contrastRatio(fill,white)?black:white}function ensureSurfaceContrast(color,background,minimum=3,alsoAgainst=background,references=[]){const passes=candidate=>contrastRatio(candidate,background)>=minimum&&contrastRatio(candidate,alsoAgainst)>=minimum&&references.every(reference=>contrastRatio(candidate,reference)>=minimum);if(passes(color))return color;const black=[0,0,0],white=[255,255,255],target=contrastRatio(background,black)>=contrastRatio(background,white)?black:white;for(let step=1;step<=10;step+=1){const candidate=mixRgb(color,target,step/10);if(passes(candidate))return candidate}return target}function createRoleRamp(role,base,mode,background,owner=document){const references=STYLE_CONTRAST_SURFACES[mode].map(hexRgb),resolved=parseResolvedRgb(base,background,owner);if(!resolved)return null;const quiet=mixRgb(background,resolved,mode==="dark"?.24:.14),normal=mixRgb(background,resolved,mode==="dark"?.62:.55),loud=ensureSurfaceContrast(resolved,background,4.5,quiet,references),borderTarget=mode==="dark"?[255,255,255]:[0,0,0],borderQuiet=mixRgb(background,resolved,mode==="dark"?.46:.38),borderNormal=ensureSurfaceContrast(mixRgb(background,resolved,mode==="dark"?.78:.72),background,3,background,references),borderLoud=ensureSurfaceContrast(mixRgb(loud,borderTarget,.2),background,3,background,references),prefix=`--lr-theme-color-${role}`,ramp={[`${prefix}-fill-quiet`]:serializeRgb(quiet),[`${prefix}-fill-normal`]:serializeRgb(normal),[`${prefix}-fill-loud`]:serializeRgb(loud),[`${prefix}-border-quiet`]:serializeRgb(borderQuiet),[`${prefix}-border-normal`]:serializeRgb(borderNormal),[`${prefix}-border-loud`]:serializeRgb(borderLoud),[`${prefix}-on-quiet`]:serializeRgb(contrastForeground(quiet)),[`${prefix}-on-normal`]:serializeRgb(contrastForeground(normal)),[`${prefix}-on-loud`]:serializeRgb(contrastForeground(loud))};return role==="brand"&&(ramp["--lr-theme-color-focus"]=serializeRgb(ensureSurfaceContrast(resolved,background,3,background,references))),ramp}function paintAccent(accent,mode,background,owner=document){const properties=new Map;if(!accent)return{applied:null,properties};if(!mode)return{applied:accent,properties};if(typeof accent=="string"){const ramp=createRoleRamp("brand",accent,mode,background,owner);if(!ramp)return{applied:null,properties};properties.set("--lr-theme-accent",accent);for(const[property,value]of Object.entries(ramp))properties.set(property,value);return{applied:accent,properties}}const applied={};let appliedBrandColor=null;for(const role of SEMANTIC_ROLES){const value=accent[role];if(!value)continue;const isPerMode=typeof value!="string",base=resolveAccentValueForMode(value,mode);let painted=!1;if(base){const ramp=createRoleRamp(role,base,mode,background,owner);if(ramp){for(const[property,propertyValue]of Object.entries(ramp))properties.set(property,propertyValue);painted=!0,role==="brand"&&(appliedBrandColor=base)}}(painted||isPerMode)&&(applied[role]=value)}return appliedBrandColor&&properties.set("--lr-theme-accent",appliedBrandColor),{applied:Object.keys(applied).length>0?applied:null,properties}}function tokenEntries(tokens,mode){const entries=new Map;if(!tokens)return entries;for(const[name,value]of Object.entries(tokens))if(typeof value=="string")entries.set(name,value);else if(mode){const branch=value[mode];branch&&entries.set(name,branch)}return entries}function resolveTokenColor(value,background,owner){return value===void 0||!background||!normalizeColor(value,owner)?null:parseResolvedRgb(value,background,owner)}function floorTokenEntries(entries,surface,owner,references){if(!entries.size)return new Map;const resolveColor=(value,background)=>resolveTokenColor(value,background,owner),painted=new Map(entries),prefix="--lr-theme-",raised=resolveColor(entries.get(`${prefix}color-surface-raised`)??references[1],surface),floor=(name,over,against,minimum,alsoAgainst)=>{const value=painted.get(name);if(value===void 0||!against||alsoAgainst===null)return;const color=resolveColor(value,over);if(!color)return;const repaired=ensureSurfaceContrast(color,against,minimum,alsoAgainst??against);repaired!==color&&painted.set(name,serializeRgb(repaired))};floor(`${prefix}color-text-normal`,surface,surface,4.5,raised),floor(`${prefix}color-text-quiet`,surface,surface,4.5,raised);const text=entries.has(`${prefix}color-text-normal`)?resolveColor(painted.get(`${prefix}color-text-normal`),surface):resolveColor(references[2],surface),pairForeground=(onName,fill)=>{if(!fill)return;const on=painted.get(onName);if(on===void 0){painted.set(onName,serializeRgb(contrastForeground(fill)));return}const color=resolveColor(on,fill);color&&contrastRatio(color,fill)<4.5&&painted.set(onName,serializeRgb(contrastForeground(fill)))};for(const role of SEMANTIC_ROLES)for(const tier of RAMP_TIERS){const fillName=`${prefix}color-${role}-fill-${tier}`;entries.has(fillName)&&pairForeground(`${prefix}color-${role}-on-${tier}`,resolveColor(entries.get(fillName),surface))}const overlayName=`${prefix}color-overlay-strong`,overlay=entries.has(overlayName)?resolveColor(entries.get(overlayName),surface):resolveColor(references[3],surface);(entries.has(overlayName)||entries.has(`${prefix}color-on-strong-overlay`))&&pairForeground(`${prefix}color-on-strong-overlay`,overlay);for(const name of entries.keys())/^--lr-theme-color-(?:(?:brand|success|warning|danger|neutral)-border-(?:normal|loud)|surface-border|border-strong|focus|chart-\d+)$/.test(name)?floor(name,surface,surface,3):/^--lr-theme-terminal-color-[a-z0-9-]+$/.test(name)?floor(name,raised,raised,4.5):/^--lr-theme-terminal-bg-[a-z0-9-]+$/.test(name)&&floor(name,raised,text,4.5);return painted}function readOwnershipList(){try{const list=document.documentElement[Symbol.for(TOKEN_OWNERSHIP_SYMBOL)];if(!Array.isArray(list))return[];const names=[],length=Math.min(list.length,TOKEN_OWNERSHIP_MAX);for(let index=0;index<length;index+=1){const name=list[index];isLyraThemeTokenName(name)&&names.push(name)}return names}catch{return[]}}function applyStoredThemeBeforePaint(){const R=["brand","success","warning","danger","neutral"],Q=["quiet","normal","loud"],W=/^--lr-theme-[a-z0-9]+(?:-[a-z0-9]+)*$/,_="--lr-theme-accent",G=/[\x00-\x1f\x7f\\;{}!<>@[\]`$^|~=?&:\u2028\u2029]|\/\*|\*\//,H=/^(?:inherit|initial|revert(?:-layer)?|unset)$/i,J=/([a-z0-9_-]+)\s*\(/gi,K="rgb rgba hsl hsla hwb lab lch oklab oklch color color-mix light-dark calc min max clamp var cubic-bezier steps linear".split(" "),U={light:[255,255,255],dark:[10,10,10]},X=r=>{let o=0,h="";for(const a of r){if(h){a===h&&(h="");continue}if(a==="'"||a==='"')h=a;else if(a==="(")o+=1;else if(a===")"&&(o-=1)<0)return!1}return h===""&&o===0},Y=r=>typeof r=="string"&&r.length<=80&&W.test(r)&&r!==_,P=r=>{if(typeof r!="string")return null;const o=r.trim();if(!o||o.length>256||G.test(o)||H.test(o))return null;for(const h of o.matchAll(J))if(!K.includes((h[1]??"").toLowerCase()))return null;return X(o)?o:null},A=r=>{if(typeof r!="object"||r===null||Array.isArray(r))return!1;const o=Object.getPrototypeOf(r);return o===Object.prototype||o===null},Z=r=>{const o={};try{if(!A(r))return o;const h=Object.keys(r);if(h.length<=512)for(const a of h){if(!Y(a))continue;const g=r[a];if(typeof g=="string"){const u=P(g);u!==null&&(o[a]=u);continue}if(!A(g))continue;const j=Object.hasOwn(g,"light"),i=Object.hasOwn(g,"dark");if(!j&&!i||Object.keys(g).some(u=>u!=="light"&&u!=="dark"))continue;const M=P(g.light),y=P(g.dark);(M!==null||y!==null)&&(o[a]={light:M,dark:y})}}catch{}return o},C=r=>{const o=P(r);if(!(!o||/\b(?:var|light-dark)\s*\(|\b(?:currentcolor|from)\b/i.test(o)||/^(?:accentcolor|accentcolortext|activetext|buttonborder|buttonface|buttontext|canvas|canvastext|field|fieldtext|graytext|highlight|highlighttext|linktext|mark|marktext|selecteditem|selecteditemtext|visitedtext)$/i.test(o)))return CSS.supports("color",o)?o:void 0};return[Z,C,(r,o,h,a,g,j)=>{const i=new Map;for(const[t,n]of Object.entries(r)){const e=typeof n=="string"?n:n[o];e&&i.set(t,e)}const M=typeof a=="string"?{brand:a}:a,y={};for(const t of R){const n=M?.[t],e=typeof n=="string"?n:n?.[o];e&&(y[t]=e)}let u=null;if(i.size>0||Object.keys(y).length>0)try{const t=document.createElement("canvas");t.width=1,t.height=1,u=t.getContext("2d",{willReadFrequently:!0})}catch{u=null}const S=(t,n)=>{if(!u)return null;try{u.clearRect(0,0,1,1),u.fillStyle=t,u.fillRect(0,0,1,1);const e=u.getImageData(0,0,1,1).data,c=(e[3]??0)/255;return[0,1,2].map(f=>Math.round((e[f]??0)*c+(n[f]??0)*(1-c)))}catch{return null}},z=(t,n,e)=>t.map((c,f)=>Math.round(c*(1-e)+(n[f]??0)*e)),B=t=>{const n=t.map(e=>{const c=e/255;return c<=.04045?c/12.92:((c+.055)/1.055)**2.4});return(n[0]??0)*.2126+(n[1]??0)*.7152+(n[2]??0)*.0722},O=(t,n)=>{const e=B(t),c=B(n);return(Math.max(e,c)+.05)/(Math.min(e,c)+.05)},v=[0,0,0],F=[255,255,255],w=t=>O(t,v)>=O(t,F)?v:F,q=(t,n,e=3,c=n)=>{const f=d=>O(d,n)>=e&&O(d,c)>=e&&g.every(k=>O(d,k)>=e);if(f(t))return t;const p=w(n);for(let d=1;d<=10;d+=1){const k=z(t,p,d/10);if(f(k))return k}return p},m=t=>`rgb(${t.join(" ")})`,D=U[o],E=C(h)??C(i.get("--lr-theme-color-surface-default")),s=E&&S(E,D)||D,l=new Map(i),b="--lr-theme-",$=(t,n)=>t!==void 0&&n&&C(t)?S(t,n):null,tt=`${b}color-surface-raised`,N=$(i.get(tt)??j[1],s),L=(t,n,e,c,f)=>{const p=l.get(t);if(p===void 0||!e||f===null)return;const d=$(p,n);if(!d)return;const k=q(d,e,c,f??e);k!==d&&l.set(t,m(k))};L(`${b}color-text-normal`,s,s,4.5,N),L(`${b}color-text-quiet`,s,s,4.5,N);const et=i.has(`${b}color-text-normal`)?$(l.get(`${b}color-text-normal`),s):$(j[2],s),I=(t,n)=>{if(!n)return;const e=l.get(t),c=e===void 0?null:$(e,n);(e===void 0||c&&O(c,n)<4.5)&&l.set(t,m(w(n)))};for(const t of R)for(const n of Q){const e=`${b}color-${t}-fill-${n}`;i.has(e)&&I(`${b}color-${t}-on-${n}`,$(i.get(e),s))}const T=`${b}color-overlay-strong`;(i.has(T)||i.has(`${b}color-on-strong-overlay`))&&I(`${b}color-on-strong-overlay`,i.has(T)?$(i.get(T),s):$(j[3],s));for(const t of i.keys())/^--lr-theme-color-(?:(?:brand|success|warning|danger|neutral)-border-(?:normal|loud)|surface-border|border-strong|focus|chart-\d+)$/.test(t)?L(t,s,s,3):/^--lr-theme-terminal-color-[a-z0-9-]+$/.test(t)?L(t,N,N,4.5):/^--lr-theme-terminal-bg-[a-z0-9-]+$/.test(t)&&L(t,N,et,4.5);if(!u)return l;let V=null;for(const t of R){const n=y[t];if(!n)continue;const e=S(n,s);if(!e)continue;const c=z(s,e,o==="dark"?.24:.14),f=z(s,e,o==="dark"?.62:.55),p=q(e,s,4.5,c),d=o==="dark"?F:v,k=z(s,e,o==="dark"?.46:.38),nt=q(z(s,e,o==="dark"?.78:.72),s),ot=q(z(p,d,.2),s),x=`--lr-theme-color-${t}`;l.set(`${x}-fill-quiet`,m(c)),l.set(`${x}-fill-normal`,m(f)),l.set(`${x}-fill-loud`,m(p)),l.set(`${x}-border-quiet`,m(k)),l.set(`${x}-border-normal`,m(nt)),l.set(`${x}-border-loud`,m(ot)),l.set(`${x}-on-quiet`,m(w(c))),l.set(`${x}-on-normal`,m(w(f))),l.set(`${x}-on-loud`,m(w(p))),t==="brand"&&(l.set("--lr-theme-color-focus",m(q(e,s))),V=n)}return V&&l.set("--lr-theme-accent",V),l}]}function styleMaterial(l,n){const t=n==="glass";for(const[a,i]of Object.entries({enabled:t?"1":"0",content:t?"''":"none",isolation:t?"isolate":"auto","root-filter":t?"initial":"none","child-filter":t?"none":"initial","child-opacity":t?"1":"0"}))l.set(`--_lr-surface-${a}`,i);l.set("--_lr-glass-blocker",t?"initial":"none"),t||(l.set("--_lr-glass-parent-opacity","0"),l.set("--_lr-next-glass-opacity","0"))}function applyStoredStyleBeforePaint(U,q,D,N,G,J,W,S){const{surfaces:R,contrast:H,accent:Q}=S,b=new Map;for(const r of S.inputs.split(" "))b.set(`--lr-theme-${r.slice(1)}`,Number(r[0]));const _=[...b.keys()];function v(r,n,s=!1){return`--_lr-${s?"a":"l"}${n==="light"?"l":"d"}-${r.slice(11)}`}function V(r,n){const s=b.get(r)??0;let g=`var(${v(r,n)})`;if(s&2){const k=n==="light"?"l":"d",u=r.replace(/color-(?:success|warning|danger|neutral)-/,"color-brand-");g=`var(--_lr-f${k}-${r.slice(11)},${g})var(--_lr-o${k}-${r.slice(11)},var(${v(u,n,!0)},var(${v(u,n)})))`}return s&4?`var(${v(r,n,!0)},${g})`:g}function X(r){const n=`var(--_lr-dark-on,${V(r,"light")})var(--_lr-light-on,${V(r,"dark")})`;if(!((b.get(r)??0)&1))return n;const s=r.startsWith("--lr-theme-space-");return`var(--_lr-dense-on,${n})var(--_lr-dense-off,max(calc((${n}) * var(--_lr-density-${s?"space":"control"},1)),${s?"0px":"var(--_lr-density-target-min,0px)"}))`}try{const r=document.currentScript,n=r?.getAttribute("data-lr-theme-restore"),s=(n==="all"||n==="mode"?n:S.restore)==="mode",g=r?.getAttribute("data-lr-theme-storage-key"),k=g&&g.length<=200?g:U,u=r?.getAttribute("data-lr-theme-attributes")?.trim().split(/\s+/),A=u?.length&&u.length<=8&&new Set(u).size===u.length&&u.every(t=>t.length<=64&&/^data-[a-z0-9]+(?:-[a-z0-9]+)*$/.test(t))?u:q;let w;try{w=JSON.parse(localStorage.getItem(k)??"null")}catch{}if(s){const t=w;w={version:t?.version,mode:t?.mode}}const o=document.documentElement,[Z,tt,et]=D(),f=J(w,S.defaults,Z,tt,(t,e)=>N(t,e,_),Q),y=f.mode,$=y==="unset"?null:y==="system"?matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":y,p={},j=!s&&getComputedStyle(o).getPropertyValue("--_lr-style-resolver").trim()==="1",C=(t,e)=>typeof t=="string"?t:t?.[e],rt=f.tokens,ot=f.overrides,E={...rt,...ot},L=f.look;if(s||(p["data-lr-look"]=L,p["data-lr-density"]=f.density,p["data-lr-surface"]=f.treatment),y!=="unset"&&(p["data-lr-mode"]=y),$)for(const t of A)p[t]=$;const O=f.accentName;let h=f.accent;y!=="unset"&&h&&typeof h=="object"&&!Object.values(h).some(t=>typeof t=="string"||t&&Object.values(t).some(Boolean))&&(h=null),s||(p["data-lr-accent"]=O??(h?"custom":"none"));const a=new Map;if(y==="unset")for(const[t,e]of Object.entries(E))typeof e=="string"&&a.set(t,e);for(const t of s?[]:["light","dark"]){const e=C(f.surface,t),T=C(E["--lr-theme-color-surface-default"],t),c=(R[L]??R.lyra)[t],z=e??T??c[0];for(const m of[!1,!0]){if(m&&(!h||O))continue;const st=et(m?{}:E,t,z,m?h:null,m?H[t].map(l=>[1,3,5].map(d=>parseInt(l.slice(d,d+2),16))):[],c);for(const[l,d]of st){if(l==="--lr-theme-accent"){t===$&&a.set(l,d);continue}const B=b.get(l);if(B!==void 0&&N(l,d,_)){const F=l.match(/^--lr-theme-color-(?:success|warning|danger|neutral)-((?:fill|border|on)-(?:quiet|normal|loud))$/)?.[1],M=!m&&F&&d===`var(--lr-theme-color-brand-${F})`,I=l.slice(11),K=t==="light"?"l":"d";M||a.set(v(l,t,m),d),!m&&B&2&&(a.set(`--_lr-f${K}-${I}`,M?" ":"initial"),a.set(`--_lr-o${K}-${I}`,M?"initial":" ")),t===$&&a.set(l,j?X(l):d)}else t===$&&a.set(l,d)}}}(a.size||y==="unset"&&h&&!O)&&(p["data-lr-theme-scope"]=""),!s&&!j&&W(a,f.treatment);const Y=Symbol.for("@aceshooting/lyra-ui.style-ownership.v1"),P=o;let x;try{x=G(P[Y])}catch{}const i=x??{attributes:new Map,properties:new Map};if(y==="unset")for(const t of A)i.attributes.has(t)||o.removeAttribute(t);try{const t=Symbol.for("@aceshooting/lyra-ui.theme-tokens.v1"),e=P[t];if(!s&&Array.isArray(e)){const T=e.slice(0,528).filter(c=>typeof c=="string"&&c.length<=80&&/^--lr-theme-[a-z0-9]+(?:-[a-z0-9]+)*$/.test(c));for(const c of[...T,..._.filter(z=>b.get(z)&4),"--lr-theme-accent"])!i.properties.has(c)&&o.style.getPropertyValue(c)&&i.properties.set(c,{before:null,priority:"",written:o.style.getPropertyValue(c)});try{delete P[t]}catch{}}}catch{}for(const[t,e]of i.attributes)s&&t!=="data-lr-mode"&&!A.includes(t)||Object.hasOwn(p,t)||(o.getAttribute(t)===e.written&&(e.before===null?o.removeAttribute(t):o.setAttribute(t,e.before)),i.attributes.delete(t));for(const[t,e]of Object.entries(p))i.attributes.has(t)||i.attributes.set(t,{before:o.getAttribute(t),priority:"",written:e}),o.setAttribute(t,e),i.attributes.get(t).written=e;for(const[t,e]of i.properties)s||a.has(t)||(o.style.getPropertyValue(t)===e.written&&!o.style.getPropertyPriority(t)&&(e.before?o.style.setProperty(t,e.before,e.priority):o.style.removeProperty(t)),i.properties.delete(t));for(const[t,e]of a)i.properties.has(t)||i.properties.set(t,{before:o.style.getPropertyValue(t),priority:o.style.getPropertyPriority(t),written:null}),o.style.getPropertyPriority(t)&&o.style.removeProperty(t),o.style.setProperty(t,e,""),i.properties.get(t).written=o.style.getPropertyValue(t);try{P[Y]=i}catch{}}catch{}}const LINE_SEPARATOR="\u2028",PARAGRAPH_SEPARATOR="\u2029";function serializeInlineScriptData(value){return JSON.stringify(value).replace(/</g,"\\u003c").replace(new RegExp(LINE_SEPARATOR,"g"),"\\u2028").replace(new RegExp(PARAGRAPH_SEPARATOR,"g"),"\\u2029")}function createLyraThemeBootstrap(options={}){const storageKey=options.storageKey??STORAGE_KEY,inputs=STYLE_SLOTTED.map(name=>`${Number(STYLE_DENSITY.includes(name))|Number(STYLE_FOLLOW.includes(name))<<1|Number(ALL_RAMP_PROPERTIES.includes(name))<<2}${name.slice(11)}`).join(" "),model=JSON.stringify({restore:options.restore==="mode"?"mode":"all",defaults:STYLE_DEFAULTS,inputs,surfaces:STYLE_REFERENCE_SURFACES,contrast:STYLE_CONTRAST_SURFACES,accent:STYLE_GEMSTONES}),functions=[applyStoredStyleBeforePaint,applyStoredThemeBeforePaint,styleTokenAllowed,readStyleOwnership,resolveStyleStartup,styleMaterial].map(helper=>helper.toString().replace(/^function\s+[\w$]+/,"function"));return`(${functions[0]})(${serializeInlineScriptData(storageKey)},${serializeInlineScriptData(MODE_ATTRIBUTES)},${functions.slice(1).join(",")},${model});`}const STYLE_DEFAULTS=Object.freeze({look:"shadcn",surface:"glass",density:"comfortable",mode:"system",accent:"emerald"}),STYLE_SLOTTED=["--lr-theme-color-border-strong","--lr-theme-color-brand-border-loud","--lr-theme-color-brand-border-normal","--lr-theme-color-brand-border-quiet","--lr-theme-color-brand-fill-loud","--lr-theme-color-brand-fill-normal","--lr-theme-color-brand-fill-quiet","--lr-theme-color-brand-on-loud","--lr-theme-color-brand-on-normal","--lr-theme-color-brand-on-quiet","--lr-theme-color-chart-1","--lr-theme-color-chart-2","--lr-theme-color-chart-3","--lr-theme-color-chart-4","--lr-theme-color-chart-5","--lr-theme-color-chart-6","--lr-theme-color-chart-7","--lr-theme-color-chart-8","--lr-theme-color-chart-diverging-1","--lr-theme-color-chart-diverging-2","--lr-theme-color-chart-diverging-3","--lr-theme-color-chart-sequential-1","--lr-theme-color-chart-sequential-2","--lr-theme-color-chart-sequential-3","--lr-theme-color-danger-border-loud","--lr-theme-color-danger-border-normal","--lr-theme-color-danger-border-quiet","--lr-theme-color-danger-fill-loud","--lr-theme-color-danger-fill-normal","--lr-theme-color-danger-fill-quiet","--lr-theme-color-danger-on-loud","--lr-theme-color-danger-on-normal","--lr-theme-color-danger-on-quiet","--lr-theme-color-focus","--lr-theme-color-mix-partner","--lr-theme-color-neutral-border-loud","--lr-theme-color-neutral-border-normal","--lr-theme-color-neutral-border-quiet","--lr-theme-color-neutral-fill-loud","--lr-theme-color-neutral-fill-normal","--lr-theme-color-neutral-fill-quiet","--lr-theme-color-neutral-on-loud","--lr-theme-color-neutral-on-normal","--lr-theme-color-neutral-on-quiet","--lr-theme-color-no-data","--lr-theme-color-on-strong-overlay","--lr-theme-color-overlay","--lr-theme-color-overlay-strong","--lr-theme-color-success-border-loud","--lr-theme-color-success-border-normal","--lr-theme-color-success-border-quiet","--lr-theme-color-success-fill-loud","--lr-theme-color-success-fill-normal","--lr-theme-color-success-fill-quiet","--lr-theme-color-success-on-loud","--lr-theme-color-success-on-normal","--lr-theme-color-success-on-quiet","--lr-theme-color-surface-border","--lr-theme-color-surface-border-subtle","--lr-theme-color-surface-container","--lr-theme-color-surface-container-high","--lr-theme-color-surface-container-highest","--lr-theme-color-surface-container-low","--lr-theme-color-surface-container-lowest","--lr-theme-color-surface-default","--lr-theme-color-surface-overlay","--lr-theme-color-surface-raised","--lr-theme-color-text-normal","--lr-theme-color-text-quiet","--lr-theme-color-warning-border-loud","--lr-theme-color-warning-border-normal","--lr-theme-color-warning-border-quiet","--lr-theme-color-warning-fill-loud","--lr-theme-color-warning-fill-normal","--lr-theme-color-warning-fill-quiet","--lr-theme-color-warning-on-loud","--lr-theme-color-warning-on-normal","--lr-theme-color-warning-on-quiet","--lr-theme-form-control-height-2xs","--lr-theme-form-control-height-l","--lr-theme-form-control-height-m","--lr-theme-form-control-height-s","--lr-theme-form-control-height-xl","--lr-theme-form-control-height-xs","--lr-theme-graph-cat-1","--lr-theme-graph-cat-2","--lr-theme-graph-cat-3","--lr-theme-graph-cat-4","--lr-theme-graph-cat-5","--lr-theme-graph-cat-6","--lr-theme-graph-cat-7","--lr-theme-graph-cat-8","--lr-theme-icon-button-size","--lr-theme-shadow-l","--lr-theme-shadow-m","--lr-theme-shadow-s","--lr-theme-shadow-xl","--lr-theme-shadow-xs","--lr-theme-space-2xl","--lr-theme-space-2xs","--lr-theme-space-l","--lr-theme-space-m","--lr-theme-space-s","--lr-theme-space-xs","--lr-theme-terminal-bg-black","--lr-theme-terminal-bg-blue","--lr-theme-terminal-bg-bright-black","--lr-theme-terminal-bg-bright-blue","--lr-theme-terminal-bg-bright-cyan","--lr-theme-terminal-bg-bright-green","--lr-theme-terminal-bg-bright-magenta","--lr-theme-terminal-bg-bright-red","--lr-theme-terminal-bg-bright-white","--lr-theme-terminal-bg-bright-yellow","--lr-theme-terminal-bg-cyan","--lr-theme-terminal-bg-green","--lr-theme-terminal-bg-magenta","--lr-theme-terminal-bg-red","--lr-theme-terminal-bg-white","--lr-theme-terminal-bg-yellow","--lr-theme-terminal-color-black","--lr-theme-terminal-color-blue","--lr-theme-terminal-color-bright-black","--lr-theme-terminal-color-bright-blue","--lr-theme-terminal-color-bright-cyan","--lr-theme-terminal-color-bright-green","--lr-theme-terminal-color-bright-magenta","--lr-theme-terminal-color-bright-red","--lr-theme-terminal-color-bright-white","--lr-theme-terminal-color-bright-yellow","--lr-theme-terminal-color-cyan","--lr-theme-terminal-color-green","--lr-theme-terminal-color-magenta","--lr-theme-terminal-color-red","--lr-theme-terminal-color-white","--lr-theme-terminal-color-yellow"],STYLE_DENSITY=["--lr-theme-space-2xs","--lr-theme-space-xs","--lr-theme-space-s","--lr-theme-space-m","--lr-theme-space-l","--lr-theme-space-2xl","--lr-theme-form-control-height-2xs","--lr-theme-form-control-height-xs","--lr-theme-form-control-height-s","--lr-theme-form-control-height-m","--lr-theme-form-control-height-l","--lr-theme-form-control-height-xl","--lr-theme-icon-button-size"],STYLE_FOLLOW=["--lr-theme-color-danger-border-loud","--lr-theme-color-danger-border-normal","--lr-theme-color-danger-border-quiet","--lr-theme-color-danger-fill-loud","--lr-theme-color-danger-fill-normal","--lr-theme-color-danger-fill-quiet","--lr-theme-color-danger-on-loud","--lr-theme-color-danger-on-normal","--lr-theme-color-danger-on-quiet","--lr-theme-color-neutral-border-loud","--lr-theme-color-neutral-border-normal","--lr-theme-color-neutral-border-quiet","--lr-theme-color-neutral-fill-loud","--lr-theme-color-neutral-fill-normal","--lr-theme-color-neutral-fill-quiet","--lr-theme-color-neutral-on-loud","--lr-theme-color-neutral-on-normal","--lr-theme-color-neutral-on-quiet","--lr-theme-color-success-border-loud","--lr-theme-color-success-border-normal","--lr-theme-color-success-border-quiet","--lr-theme-color-success-fill-loud","--lr-theme-color-success-fill-normal","--lr-theme-color-success-fill-quiet","--lr-theme-color-success-on-loud","--lr-theme-color-success-on-normal","--lr-theme-color-success-on-quiet","--lr-theme-color-warning-border-loud","--lr-theme-color-warning-border-normal","--lr-theme-color-warning-border-quiet","--lr-theme-color-warning-fill-loud","--lr-theme-color-warning-fill-normal","--lr-theme-color-warning-fill-quiet","--lr-theme-color-warning-on-loud","--lr-theme-color-warning-on-normal","--lr-theme-color-warning-on-quiet"],STYLE_REFERENCE_SURFACES={lyra:{light:["#ffffff","#f6f8fa","#1a1a1a","rgb(0 0 0 / 0.92)"],dark:["#1a1a1a","#22272e","#f2f2f2","rgb(0 0 0 / 0.95)"]},data:{light:["#ffffff","#f2f5f8","#10202c","#17212b"],dark:["#101820","#192630","#eef5fa","#e7eef4"]},"high-contrast":{light:["#ffffff","#ffffff","#000000","#17212b"],dark:["#000000","#000000","#ffffff","#e7eef4"]},material:{light:["#fff8f5","#f8eeea","#241b17","rgb(0 0 0 / 0.92)"],dark:["#18120f","#251d19","#f8eee8","rgb(0 0 0 / 0.95)"]},shadcn:{light:["#ffffff","#fafafa","#0a0a0a","rgb(0 0 0 / 0.92)"],dark:["#0a0a0a","#171717","#fafafa","rgb(0 0 0 / 0.95)"]},terminal:{light:["#fcfdf9","#f1f5eb","#0d2115","#17212b"],dark:["#0e1713","#18271e","#e5f5e9","#e7eef4"]}},STYLE_CONTRAST_SURFACES={light:["#ffffff","#f6f8fa","#f2f5f8","#fff8f5","#f8eeea","#fcf2ed","#f2e7e0","#ecdfd7","#fafafa","#fcfdf9","#f1f5eb"],dark:["#1a1a1a","#22272e","#2b3038","#101820","#192630","#202e39","#000000","#18120f","#251d19","#302621","#120d0a","#211914","#352a24","#0a0a0a","#171717","#0e1713","#18271e","#203227"]},STYLE_GEMSTONES={emerald:"#34d399",peridot:"#a8d84a",topaz:"#f0a83c",ruby:"#e63950",tourmaline:"#ec4899",amethyst:"#9d6df0",aquamarine:"#22d3ee",sapphire:"#4f8ff7",hematite:"#94a3b8"},LOOK_ID=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,LOOK_STAMP=Symbol.for("@aceshooting/lyra-ui.look.v1"),STYLE_OWNERSHIP=Symbol.for("@aceshooting/lyra-ui.style-ownership.v1"),STYLE_FIELDS=["look","surface","density","mode","accent","accentBackground","overrides"],DEFAULT_STYLE=Object.freeze({...STYLE_DEFAULTS,tokens:null,accent:STYLE_GEMSTONES[STYLE_DEFAULTS.accent],accentName:STYLE_DEFAULTS.accent,accentBackground:null,overrides:null});let lastStyle={...DEFAULT_STYLE},stylePersistenceFailed=!1,styleModeCleanup,styleModeRoot;const styleOwnershipFallback=new WeakMap,scopeModes=new WeakMap;function ownField(value,key){const descriptor=Object.getOwnPropertyDescriptor(value,key);return descriptor&&"value"in descriptor?descriptor.value:void 0}function styleId(value){return typeof value=="string"&&value.length<=64&&LOOK_ID.test(value)}function styleTokenAllowed(e,r,o=STYLE_SLOTTED){if(e.startsWith("--lr-theme-surface-")||typeof r!="string"&&!o.includes(e))return!1;for(const t of typeof r=="string"?[r]:[r.light,r.dark])if(t)for(const c of t.matchAll(/var\(\s*(--[\w-]+)/g)){if(c[1]==="--lr-theme-shadow-color")continue;const n=e.match(/^--lr-theme-color-(?:success|warning|danger|neutral)-((?:fill|border|on)-(?:quiet|normal|loud))$/)?.[1];if(!n||t!==`var(--lr-theme-color-brand-${n})`)return!1}return!0}function styleTokens(value){const tokens=normalizeTokens(value);if(!tokens)return null;const entries=Object.entries(tokens).filter(([name,input])=>styleTokenAllowed(name,input));return entries.length?Object.freeze(Object.fromEntries(entries)):null}function defineLyraLook(look){if(!look||!styleId(ownField(look,"id"))||look.id==="custom")throw new TypeError("Invalid look id");const raw=ownField(look,"tokens");if(!isPlainRecord(raw)||Object.keys(raw).length>TOKEN_ENTRY_MAX)throw new TypeError("Invalid look tokens");for(const[name,descriptor]of Object.entries(Object.getOwnPropertyDescriptors(raw))){if(!("value"in descriptor))throw new TypeError(`Look inputs must be data properties: ${name}`);const value=descriptor.value;if(typeof value=="string"){if(!isSafeLyraThemeTokenValue(value))throw new TypeError(`Invalid look value: ${name}`);continue}if(!isPlainRecord(value)||!STYLE_SLOTTED.includes(name))throw new TypeError(`Invalid per-mode look input: ${name}`);const branches=Object.entries(Object.getOwnPropertyDescriptors(value));if(!branches.length||branches.some(([key,branch])=>!["light","dark"].includes(key)||!("value"in branch)||branch.value!==null&&!isSafeLyraThemeTokenValue(branch.value)))throw new TypeError(`Invalid look mode pair: ${name}`)}const tokens=styleTokens(raw);if(Object.keys(raw).length!==Object.keys(tokens??{}).length)throw new TypeError("Invalid look token or cross-axis reference");const stamped={...tokens,[LOOK_STAMP]:look.id};return Object.freeze(stamped),Object.freeze({id:look.id,tokens:stamped})}function styleColor(value,browserColors=!1){if(!isSafeLyraThemeTokenValue(value))return null;const text=value.trim();return/\b(?:var|light-dark)\s*\(|\b(?:currentcolor|from)\b/i.test(text)||/^(?:accentcolor|accentcolortext|activetext|buttonborder|buttonface|buttontext|canvas|canvastext|field|fieldtext|graytext|highlight|highlighttext|linktext|mark|marktext|selecteditem|selecteditemtext|visitedtext)$/i.test(text)?null:browserColors&&typeof CSS<"u"?CSS.supports("color",text)?text:null:/^(?:#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})|[a-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(.+\))$/i.test(text)?text:null}function styleColorPair(value){if(typeof value=="string")return styleColor(value);if(!isPlainRecord(value))return null;const light=styleColor(ownField(value,"light")),dark=styleColor(ownField(value,"dark"));return light||dark?Object.freeze({light,dark}):null}function styleAccent(value){if(typeof value=="string")return styleColor(value);if(!isPlainRecord(value))return null;const entries=SEMANTIC_ROLES.filter(role=>Object.hasOwn(value,role)).map(role=>[role,styleColorPair(ownField(value,role))]);return entries.length?Object.freeze(Object.fromEntries(entries)):null}function normalizeStyleChoices(raw,base){const next={...base};if(!isPlainRecord(raw))return next;const look=ownField(raw,"look");if(look!==void 0){if(next.look=DEFAULT_STYLE.look,next.tokens=null,styleId(look))next.look=look;else if(isPlainRecord(look))try{const definition=defineLyraLook(look);next.look=definition.id,next.tokens=definition.tokens}catch{}}const surface=ownField(raw,"surface");surface!==void 0&&(next.surface=surface==="glass"||surface==="solid"?surface:DEFAULT_STYLE.surface);const density=ownField(raw,"density");density!==void 0&&(next.density=density==="comfortable"||density==="compact"||density==="touch"?density:DEFAULT_STYLE.density);const mode=ownField(raw,"mode");mode!==void 0&&(next.mode=mode==="light"||mode==="dark"||mode==="system"||mode==="unset"?mode:DEFAULT_STYLE.mode);const accent=ownField(raw,"accent");accent!==void 0&&(next.accentName=typeof accent=="string"&&Object.hasOwn(STYLE_GEMSTONES,accent)?accent:null,next.accent=next.accentName?STYLE_GEMSTONES[next.accentName]:styleAccent(accent));const background=ownField(raw,"accentBackground");background!==void 0&&(next.accentBackground=styleColorPair(background));const overrides=ownField(raw,"overrides");return overrides!==void 0&&(next.overrides=styleTokens(overrides)),next}function styleFromRecord(value,browserColors=!1){const record=resolveStyleStartup(value,STYLE_DEFAULTS,normalizeTokens,input=>styleColor(input,browserColors)??void 0,styleTokenAllowed,STYLE_GEMSTONES),state=normalizeStyleChoices({look:ownField(record,"look"),mode:ownField(record,"mode"),density:ownField(record,"density"),surface:ownField(record,"treatment"),overrides:ownField(record,"overrides"),accentBackground:ownField(record,"surface")},{...DEFAULT_STYLE});state.accent=styleAccent(ownField(record,"accent"));const accentName=ownField(record,"accentName");return state.accentName=null,typeof accentName=="string"&&Object.hasOwn(STYLE_GEMSTONES,accentName)&&(state.accentName=accentName,state.accent=STYLE_GEMSTONES[accentName]),state.tokens=normalizeTokens(ownField(record,"tokens")),state.tokens&&!styleId(ownField(record,"look"))&&(state.look="custom"),state}function styleRecord(state){return{version:2,mode:state.mode,look:state.look,density:state.density,treatment:state.surface,accent:state.accent,surface:state.accentBackground,...state.accentName?{accentName:state.accentName}:{},...state.tokens?{tokens:state.tokens}:{},...state.overrides?{overrides:state.overrides}:{}}}function styleResolvedMode(mode,view){return mode==="unset"?null:mode!=="system"?mode:view?.matchMedia?.(COLOR_SCHEME_QUERY).matches?"dark":"light"}function styleSnapshot(state,view){return Object.freeze({look:state.look,lookForm:state.tokens?"runtime":"stylesheet",surface:state.surface,density:state.density,mode:state.mode,accent:state.accentName??state.accent,accentName:state.accentName,accentBackground:state.accentBackground,...state.overrides?{overrides:state.overrides}:{},resolvedMode:styleResolvedMode(state.mode,view)})}function parseLyraStyleRecord(value){const state=styleFromRecord(value),result=styleSnapshot(state);return state.mode==="system"?Object.freeze({...result,resolvedMode:null}):result}function lyraStyleAttributes(style){const attributes={};return styleId(style.look)&&(attributes["data-lr-look"]=style.look),(style.surface==="solid"||style.surface==="glass")&&(attributes["data-lr-surface"]=style.surface),(style.density==="compact"||style.density==="comfortable"||style.density==="touch")&&(attributes["data-lr-density"]=style.density),(style.mode==="light"||style.mode==="dark"||style.mode==="system")&&(attributes["data-lr-mode"]=style.mode),style.accent!==void 0&&(attributes["data-lr-accent"]=style.accent===null?"none":style.accentName===null?"custom":typeof style.accent=="string"&&Object.hasOwn(STYLE_GEMSTONES,style.accent)?style.accent:"custom"),Object.freeze(attributes)}function readStyleState(){if(stylePersistenceFailed)return{...lastStyle};let stored;try{stored=localStorage.getItem(STORAGE_KEY)}catch{return{...lastStyle}}try{return styleFromRecord(JSON.parse(stored??"null"),!0)}catch{return{...DEFAULT_STYLE}}}function persistStyle(state){try{localStorage.setItem(STORAGE_KEY,JSON.stringify(styleRecord(state))),stylePersistenceFailed=!1}catch{stylePersistenceFailed=!0}lastStyle=state}function ownershipFor(element){const node=element;try{const existing=readStyleOwnership(node[STYLE_OWNERSHIP]);if(existing){styleOwnershipFallback.set(element,existing);try{node[STYLE_OWNERSHIP]=existing}catch{}return existing}}catch{}const fallback=styleOwnershipFallback.get(element);if(fallback)return fallback;const record={attributes:new Map,properties:new Map};styleOwnershipFallback.set(element,record);try{node[STYLE_OWNERSHIP]=record}catch{}return record}function writeStyleAttributes(element,desired){const ownership=ownershipFor(element).attributes;for(const[name,value]of ownership)Object.hasOwn(desired,name)||(element.getAttribute(name)===value.written&&(value.before===null?element.removeAttribute(name):element.setAttribute(name,value.before)),ownership.delete(name));for(const[name,value]of Object.entries(desired))ownership.has(name)||ownership.set(name,{before:element.getAttribute(name),priority:"",written:value}),element.getAttribute(name)!==value&&element.setAttribute(name,value),ownership.get(name).written=value}function writeStyleProperties(element,desired){const style=element.style;if(!style)return;const ownership=ownershipFor(element).properties;for(const[name,value]of ownership)desired.has(name)||(style.getPropertyValue(name)===value.written&&style.getPropertyPriority(name)===""&&(value.before?style.setProperty(name,value.before,value.priority):style.removeProperty(name)),ownership.delete(name));for(const[name,value]of desired){ownership.has(name)||ownership.set(name,{before:style.getPropertyValue(name),priority:style.getPropertyPriority(name),written:null});const record=ownership.get(name);(style.getPropertyPriority(name)!==""||style.getPropertyValue(name)!==value&&!(record.requested===value&&record.written===style.getPropertyValue(name)))&&(style.getPropertyPriority(name)&&style.removeProperty(name),style.setProperty(name,value,"")),record.requested=value,record.written=style.getPropertyValue(name)}}function styleSlot(name,mode,accent=!1){return`--_lr-${accent?"a":"l"}${mode==="light"?"l":"d"}-${name.slice(11)}`}function styleFollow(name,value){const channel=name.match(/^--lr-theme-color-(?:success|warning|danger|neutral)-((?:fill|border|on)-(?:quiet|normal|loud))$/)?.[1];return!!(channel&&value===`var(--lr-theme-color-brand-${channel})`)}function styleBranch(name,mode){let result=`var(${styleSlot(name,mode)})`;if(STYLE_FOLLOW.includes(name)){const key=mode==="light"?"l":"d",target=name.replace(/color-(?:success|warning|danger|neutral)-/,"color-brand-");result=`var(--_lr-f${key}-${name.slice(11)},${result})var(--_lr-o${key}-${name.slice(11)},var(${styleSlot(target,mode,!0)},var(${styleSlot(target,mode)})))`}return ALL_RAMP_PROPERTIES.includes(name)?`var(${styleSlot(name,mode,!0)},${result})`:result}function styleResolvedInput(name){const input=`var(--_lr-dark-on,${styleBranch(name,"light")})var(--_lr-light-on,${styleBranch(name,"dark")})`;if(!STYLE_DENSITY.includes(name))return input;const spacing=name.startsWith("--lr-theme-space-");return`var(--_lr-dense-on,${input})var(--_lr-dense-off,max(calc((${input}) * var(--_lr-density-${spacing?"space":"control"},1)),${spacing?"0px":"var(--_lr-density-target-min,0px)"}))`}function styleReferences(state,entries,mode,element,previous){const look=element.closest("[data-lr-look]")?.getAttribute("data-lr-look"),colors=(STYLE_REFERENCE_SURFACES[look??STYLE_DEFAULTS.look]??STYLE_REFERENCE_SURFACES.lyra)[mode],names=["color-surface-default","color-surface-raised","color-text-normal","color-overlay-strong"].slice(0,entries.size?4:1).map(suffix=>`--lr-theme-${suffix}`),supplied=names.map(name=>entries.get(name)),background=typeof state.accentBackground=="string"?state.accentBackground:state.accentBackground?.[mode],style=element.style,ownership=ownershipFor(element).properties,projected=names.flatMap((name,index)=>{const slot=styleSlot(name,mode),owned=ownership.get(slot),before=style?.getPropertyValue(slot)??"",priority=style?.getPropertyPriority(slot)??"",owns=owned&&before===owned.written&&!priority;if(supplied[index]!==void 0&&previous?.[index]===supplied[index]&&owns)return[];if(supplied[index]===void 0&&!owns)return[];const value=supplied[index]??owned?.before??"",nextPriority=supplied[index]===void 0?owned?.priority??"":"";return before===value&&priority===nextPriority?[]:[{slot,before,priority,value,nextPriority}]});try{for(const{slot,value,nextPriority}of projected)style.getPropertyPriority(slot)&&style.removeProperty(slot),value?style.setProperty(slot,value,nextPriority):style.removeProperty(slot);const computed=element.ownerDocument.defaultView?.getComputedStyle(element);return{supplied,colors:names.map((name,index)=>(index===0?background:void 0)??supplied[index]??(computed?.getPropertyValue(styleSlot(name,mode)).trim()||colors[index]))}}finally{for(const{slot,before,priority}of projected)style.getPropertyPriority(slot)&&style.removeProperty(slot),before?style.setProperty(slot,before,priority):style.removeProperty(slot)}}const stylePaintCache=new WeakMap;function stylePaint(state,element,wholeDocument){const desired=new Map,mode=styleResolvedMode(state.mode,element.ownerDocument.defaultView),tokens={...state.tokens,...state.overrides};if(wholeDocument&&mode===null)for(const[name,value]of tokenEntries(tokens,null))desired.set(name,value);if(!Object.keys(tokens).length&&(!state.accent||state.accentName))return stylePaintCache.delete(element),desired;const resolver=element.ownerDocument.defaultView?.getComputedStyle(element).getPropertyValue("--_lr-style-resolver").trim()==="1";let cache=stylePaintCache.get(element);cache||(cache=new Map,stylePaintCache.set(element,cache));let applied=state.accent;for(const branch of["light","dark"]){const entries=tokenEntries(tokens,branch),{colors:references,supplied}=styleReferences(state,entries,branch,element,cache.get(branch)?.supplied),reference=references[0],key=JSON.stringify([tokens,state.accent,state.accentName,references]);let cached=cache.get(branch);if(!cached||cached.key!==key){const background=reference?parseResolvedRgb(reference,MODE_SURFACES[branch],element.ownerDocument)??MODE_SURFACES[branch]:MODE_SURFACES[branch],accent=state.accentName?{applied:state.accent,properties:new Map}:paintAccent(state.accent,branch,background,element.ownerDocument);cached={key,supplied,tokens:floorTokenEntries(entries,background,element.ownerDocument,references),accent:accent.properties,applied:accent.applied},cache.set(branch,cached)}branch===mode&&(applied=cached.applied);const painted=cached.tokens;for(const[name,value]of painted)STYLE_SLOTTED.includes(name)&&styleTokenAllowed(name,value)?(styleFollow(name,value)?(desired.set(`--_lr-f${branch==="light"?"l":"d"}-${name.slice(11)}`," "),desired.set(`--_lr-o${branch==="light"?"l":"d"}-${name.slice(11)}`,"initial")):(desired.set(styleSlot(name,branch),value),STYLE_FOLLOW.includes(name)&&(desired.set(`--_lr-f${branch==="light"?"l":"d"}-${name.slice(11)}`,"initial"),desired.set(`--_lr-o${branch==="light"?"l":"d"}-${name.slice(11)}`," "))),wholeDocument&&branch===mode&&desired.set(name,resolver?styleResolvedInput(name):value)):(wholeDocument?branch===mode:typeof tokens[name]=="string"&&!STYLE_SLOTTED.includes(name))&&desired.set(name,value);if(state.accent&&!state.accentName)for(const[name,value]of cached.accent){if(name==="--lr-theme-accent"){branch===mode&&desired.set(name,value);continue}desired.set(styleSlot(name,branch,!0),value),wholeDocument&&branch===mode&&desired.set(name,resolver?styleResolvedInput(name):value)}}return state.accent=applied,desired}const styleModeGroups=new WeakMap;function attachStyleMode(element,callback){const view=element.ownerDocument.defaultView;if(!view?.matchMedia)return()=>{};let group=styleModeGroups.get(view);if(!group){const query=view.matchMedia(COLOR_SCHEME_QUERY),subscriptions=new Set,modern=typeof query.addEventListener=="function"&&typeof query.removeEventListener=="function",detach=()=>{modern?query.removeEventListener("change",listener):query.removeListener?.(listener)},listener=()=>{for(const subscription2 of subscriptions){const node=subscription2.element.deref();node?.ownerDocument.defaultView===view?subscription2.callback(node):subscriptions.delete(subscription2)}subscriptions.size||(detach(),styleModeGroups.delete(view))};group={query,subscriptions,detach},styleModeGroups.set(view,group),modern?query.addEventListener("change",listener):query.addListener?.(listener)}const subscription={element:new WeakRef(element),callback};group.subscriptions.add(subscription);const active=group;return()=>{active.subscriptions.delete(subscription),active.subscriptions.size||(active.detach(),styleModeGroups.delete(view))}}function applyStyleState(element,state,fields){const snapshot=styleSnapshot(state,element.ownerDocument.defaultView),attributes={...lyraStyleAttributes(snapshot)};if(fields)for(const[field,name]of[["look","look"],["surface","surface"],["density","density"],["mode","mode"],["accent","accent"]])fields.has(field)||delete attributes[`data-lr-${name}`];state.accent&&!state.accentName&&(!fields||fields.has("accent"))&&(attributes["data-lr-accent"]="custom"),(!fields||fields.has("mode"))&&snapshot.resolvedMode&&(attributes["data-lr-theme"]=snapshot.resolvedMode,attributes["data-theme"]=snapshot.resolvedMode),(state.tokens||state.overrides||state.accent&&!state.accentName)&&(attributes["data-lr-theme-scope"]=""),writeStyleAttributes(element,attributes);const desired=stylePaint(state,element,!fields);(!fields||fields.has("surface"))&&element.ownerDocument.defaultView?.getComputedStyle(element).getPropertyValue("--_lr-style-resolver").trim()!=="1"&&styleMaterial(desired,state.surface),!state.accent&&snapshot.accent&&(attributes["data-lr-accent"]="none",!state.tokens&&!state.overrides&&delete attributes["data-lr-theme-scope"],writeStyleAttributes(element,attributes)),writeStyleProperties(element,desired),diagnoseStyleSheets(element,state,fields)}function diagnoseStyleSheets(element,state,fields){if(!litDevWarnings())return;const selected=field=>!fields||fields.has(field),required=[];selected("look")&&!state.tokens&&state.look!=="lyra"&&state.look!==DEFAULT_STYLE.look&&required.push(["--_lr-look-installed",`${state.look}-1`,`the stylesheet for look '${state.look}'`]),selected("surface")&&state.surface==="glass"&&state.surface!==DEFAULT_STYLE.surface&&required.push(["--_lr-surface-installed","1","surfaces/glass.css"]),selected("density")&&state.density!=="comfortable"&&required.push(["--_lr-density-installed","1","density.css"]),selected("accent")&&state.accentName&&state.accentName!==DEFAULT_STYLE.accentName&&required.push(["--_lr-accent-installed",`${state.accentName}-1`,"accents.css"]);const scopedRuntime=!!(fields&&(state.tokens||state.overrides||state.accent&&!state.accentName)),alternateProfile=selected("look")&&!state.tokens&&state.look!==DEFAULT_STYLE.look||selected("accent")&&!state.accent;if(!required.length&&!scopedRuntime&&!alternateProfile)return;const computed=element.ownerDocument.defaultView?.getComputedStyle(element);if(computed){computed.getPropertyValue("--_lr-style-resolver").trim()!=="1"&&devWarnOnce("lyra-style:resolver","Lyra style choices require theme.css in the scope that owns their attributes.");for(const[property,expected,stylesheet]of required)computed.getPropertyValue(property).trim()!==expected&&devWarnOnce(`lyra-style:${property}:${expected}`,`Lyra could not find ${stylesheet} in this style scope; import or adopt the stylesheet before selecting it.`)}}function emitStyleChange(state,changed){const style=styleSnapshot(state,window);window.dispatchEvent(new CustomEvent("lr-style-change",{detail:Object.freeze({style,changed:Object.freeze([...changed])})}))}function setLyraStyle(choices){const before=readStyleState();return commitStyle(before,normalizeStyleChoices(choices,before))}function commitStyle(before,next){if(typeof document<"u"&&(next.accent=normalizeAccent(next.accent),typeof next.accentBackground=="string"&&(next.accentBackground=normalizeColor(next.accentBackground)),next.accent||(next.accentName=null)),persistStyle(next),typeof document<"u"){const root=document.documentElement;(next.mode!=="system"||styleModeRoot?.deref()!==root)&&(styleModeCleanup?.(),styleModeCleanup=void 0,styleModeRoot=void 0),adoptLegacyOwnership(root);const requestedAccent=next.accent;applyStyleState(root,next),accentsEqual(requestedAccent,next.accent)||persistStyle(next),next.mode==="system"&&!styleModeCleanup&&(styleModeRoot=new WeakRef(root),styleModeCleanup=attachStyleMode(root,element=>{applyStyleState(element,lastStyle),emitStyleChange(lastStyle,["resolvedMode"])}));const changed=STYLE_FIELDS.filter(field=>field==="look"?before.look!==next.look||!tokensEqual(before.tokens,next.tokens):field==="accent"?before.accentName!==next.accentName||!accentsEqual(before.accent,next.accent):JSON.stringify(before[field])!==JSON.stringify(next[field]));emitStyleChange(next,changed)}return styleSnapshot(next,typeof window>"u"?void 0:window)}function adoptLegacyOwnership(root){const symbol=Symbol.for(TOKEN_OWNERSHIP_SYMBOL),node=root;try{if(!Array.isArray(node[symbol]))return}catch{return}const ownership=ownershipFor(root).properties;for(const name of[...readOwnershipList(),...ALL_RAMP_PROPERTIES,"--lr-theme-accent"])ownership.has(name)||!root.style.getPropertyValue(name)||ownership.set(name,{before:null,priority:"",written:root.style.getPropertyValue(name)});try{delete node[symbol]}catch{}}function getLyraStyle(){return styleSnapshot(readStyleState(),typeof window>"u"?void 0:window)}function resetLyraStyle(fields=STYLE_FIELDS){const defaults={...STYLE_DEFAULTS,accentBackground:null,overrides:null};return setLyraStyle(Object.fromEntries(fields.filter(field=>STYLE_FIELDS.includes(field)).map(field=>[field,defaults[field]])))}function applyLyraStyleScope(element,choices){if(scopeModes.get(element)?.(),scopeModes.delete(element),choices===null){writeStyleAttributes(element,{}),writeStyleProperties(element,new Map);return}const state=normalizeStyleChoices(choices,{...DEFAULT_STYLE}),fields=new Set(STYLE_FIELDS.filter(field=>ownField(choices,field)!==void 0));applyStyleState(element,state,fields),choices.mode==="system"&&scopeModes.set(element,attachStyleMode(element,node=>applyStyleState(node,state,fields)))}const lyraThemeBootstrap=/* @__PURE__ */createLyraThemeBootstrap();export{accentsEqual,applyLyraStyleScope,createLyraThemeBootstrap,defineLyraLook,getLyraStyle,isLyraThemeTokenName,isSafeLyraThemeTokenValue,lyraStyleAttributes,lyraThemeBootstrap,parseLyraStyleRecord,resetLyraStyle,setLyraStyle,tokensEqual};
1
+ import{devWarnOnce,litDevWarnings}from"../internal/dev-warning.js";import{readStyleOwnership}from"./style-ownership.js";import{resolveStyleStartup}from"./startup-resolution.js";const STORAGE_KEY="lyra-theme",TOKEN_NAME_PATTERN=/^--lr-theme-[a-z0-9]+(?:-[a-z0-9]+)*$/,TOKEN_NAME_MAX_LENGTH=80,TOKEN_RESERVED_NAME="--lr-theme-accent",TOKEN_ENTRY_MAX=512,TOKEN_SYNTHESIZED_MAX=16,TOKEN_VALUE_MAX_LENGTH=256,TOKEN_FORBIDDEN_PATTERN=/[\x00-\x1f\x7f\\;{}!<>@[\]`$^|~=?&:\u2028\u2029]|\/\*|\*\//,TOKEN_CSS_WIDE_PATTERN=/^(?:inherit|initial|revert(?:-layer)?|unset)$/i,TOKEN_FUNCTION_PATTERN=/([a-z0-9_-]+)\s*\(/gi,TOKEN_ALLOWED_FUNCTIONS="rgb rgba hsl hsla hwb lab lch oklab oklch color color-mix light-dark calc min max clamp var cubic-bezier steps linear".split(" "),TOKEN_OWNERSHIP_MAX=TOKEN_ENTRY_MAX+TOKEN_SYNTHESIZED_MAX,TOKEN_OWNERSHIP_SYMBOL="@aceshooting/lyra-ui.theme-tokens.v1",MODE_SURFACES={light:[255,255,255],dark:[10,10,10]},COLOR_SCHEME_QUERY="(prefers-color-scheme: dark)",SEMANTIC_ROLES=["brand","success","warning","danger","neutral"],RAMP_CHANNELS=["fill","border","on"],RAMP_TIERS=["quiet","normal","loud"];function roleRampProperties(role){const properties=[];for(const channel of RAMP_CHANNELS)for(const tier of RAMP_TIERS)properties.push(`--lr-theme-color-${role}-${channel}-${tier}`);return properties}const ALL_RAMP_PROPERTIES=[...SEMANTIC_ROLES.flatMap(roleRampProperties),"--lr-theme-color-focus"],MODE_ATTRIBUTES=["data-lr-theme","data-theme"];function isBalancedCssValue(value){let depth=0,quote="";for(const character of value){if(quote){character===quote&&(quote="");continue}if(character==="'"||character==='"')quote=character;else if(character==="(")depth+=1;else if(character===")"&&(depth-=1)<0)return!1}return quote===""&&depth===0}function isLyraThemeTokenName(name){return typeof name=="string"&&name.length<=TOKEN_NAME_MAX_LENGTH&&TOKEN_NAME_PATTERN.test(name)&&name!==TOKEN_RESERVED_NAME}function isSafeLyraThemeTokenValue(value){if(typeof value!="string")return!1;const trimmed=value.trim();if(!trimmed||trimmed.length>TOKEN_VALUE_MAX_LENGTH||TOKEN_FORBIDDEN_PATTERN.test(trimmed)||TOKEN_CSS_WIDE_PATTERN.test(trimmed))return!1;for(const match of trimmed.matchAll(TOKEN_FUNCTION_PATTERN))if(!TOKEN_ALLOWED_FUNCTIONS.includes((match[1]??"").toLowerCase()))return!1;return isBalancedCssValue(trimmed)}function isPlainRecord(value){if(typeof value!="object"||value===null||Array.isArray(value))return!1;const prototype=Object.getPrototypeOf(value);if(prototype===Object.prototype||prototype===null)return!0;if(Object.getPrototypeOf(prototype)!==null)return!1;const constructor=Object.getOwnPropertyDescriptor(prototype,"constructor")?.value;return typeof constructor=="function"&&Function.prototype.toString.call(constructor)===Function.prototype.toString.call(Object)}function normalizeTokenBranch(value){return isSafeLyraThemeTokenValue(value)?value.trim():null}function normalizeTokens(raw){try{if(!isPlainRecord(raw))return null;const names=Object.keys(raw);if(names.length===0||names.length>TOKEN_ENTRY_MAX)return null;const result={};let kept=0;for(const name of names){if(!isLyraThemeTokenName(name))continue;const value=ownField(raw,name);if(typeof value=="string"){const normalized=normalizeTokenBranch(value);if(normalized===null)continue;result[name]=normalized,kept+=1;continue}if(!isPlainRecord(value))continue;const keys=Object.keys(value),hasLight=Object.prototype.hasOwnProperty.call(value,"light"),hasDark=Object.prototype.hasOwnProperty.call(value,"dark");if(!hasLight&&!hasDark||keys.some(key=>key!=="light"&&key!=="dark"))continue;const light=normalizeTokenBranch(ownField(value,"light")),dark=normalizeTokenBranch(ownField(value,"dark"));light===null&&dark===null||(result[name]=Object.freeze({light,dark}),kept+=1)}return kept>0?Object.freeze(result):null}catch{return null}}function tokensEqual(left,right){const leftNames=left?Object.keys(left):[],rightNames=right?Object.keys(right):[];if(leftNames.length!==rightNames.length)return!1;if(leftNames.length===0)return!0;const leftMap=left,rightMap=right;return leftNames.every(name=>{if(!Object.prototype.hasOwnProperty.call(rightMap,name))return!1;const a=leftMap[name],b=rightMap[name];return typeof a=="string"||typeof b=="string"?a===b:!a||!b?!1:(a.light??null)===(b.light??null)&&(a.dark??null)===(b.dark??null)})}function normalizeColor(value,owner=document){if(typeof value!="string"||!value.trim())return null;const candidate=value.trim();if(!isBalancedCssValue(candidate)||TOKEN_CSS_WIDE_PATTERN.test(candidate)||/^(?:accentcolor|accentcolortext|activetext|buttonborder|buttonface|buttontext|canvas|canvastext|field|fieldtext|graytext|highlight|highlighttext|linktext|mark|marktext|selecteditem|selecteditemtext|visitedtext)$/i.test(candidate)||/\bcurrentcolor\b/i.test(candidate)||/\bvar\s*\(/i.test(candidate)||/\blight-dark\s*\(/i.test(candidate)||/\b(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color)\s*\(\s*from\b/i.test(candidate))return null;const probe=owner.createElement("span");return probe.style.color=candidate,probe.style.color?candidate:null}function normalizeAccentValue(value){if(typeof value=="string"||value===null)return normalizeColor(value);if(typeof value!="object"||Array.isArray(value))return null;const record=value;if(!("light"in record)&&!("dark"in record))return null;const light=normalizeColor(record.light),dark=normalizeColor(record.dark);return light||dark?{light,dark}:null}function normalizeAccent(value){if(typeof value=="string")return normalizeColor(value);if(value===null||typeof value!="object"||Array.isArray(value))return null;const record=value,result={};let hasRole=!1;for(const role of SEMANTIC_ROLES)role in record&&(hasRole=!0,result[role]=normalizeAccentValue(record[role]));return hasRole?result:null}function resolveAccentValueForMode(value,mode){return typeof value=="string"?value:value?value[mode]??null:null}function accentValueEqual(left,right){return left===right?!0:typeof left=="string"||typeof right=="string"||left===null||right===null?!1:(left.light??null)===(right.light??null)&&(left.dark??null)===(right.dark??null)}function accentsEqual(left,right){if(left===right)return!0;if(typeof left=="string"||typeof right=="string"||left===null||right===null)return!1;const leftKeys=Object.keys(left),rightKeys=Object.keys(right);return leftKeys.length!==rightKeys.length?!1:leftKeys.every(role=>accentValueEqual(left[role],right[role]))}function parseResolvedRgb(value,background,owner=document){if(!normalizeColor(value,owner))return null;try{const canvas=owner.createElement("canvas");canvas.width=1,canvas.height=1;const context=canvas.getContext("2d",{willReadFrequently:!0});if(!context)return null;context.clearRect(0,0,1,1),context.fillStyle=value,context.fillRect(0,0,1,1);const channels=context.getImageData(0,0,1,1).data,red=channels[0]??0,green=channels[1]??0,blue=channels[2]??0,alpha=(channels[3]??0)/255;return[Math.round(red*alpha+background[0]*(1-alpha)),Math.round(green*alpha+background[1]*(1-alpha)),Math.round(blue*alpha+background[2]*(1-alpha))]}catch{return null}}function hexRgb(color){return[parseInt(color.slice(1,3),16),parseInt(color.slice(3,5),16),parseInt(color.slice(5,7),16)]}function mixRgb(base,color,colorWeight){return[Math.round(base[0]*(1-colorWeight)+color[0]*colorWeight),Math.round(base[1]*(1-colorWeight)+color[1]*colorWeight),Math.round(base[2]*(1-colorWeight)+color[2]*colorWeight)]}function serializeRgb(color){return`rgb(${color.join(" ")})`}function relativeLuminance(color){const linearize=channel=>{const normalized=channel/255;return normalized<=.04045?normalized/12.92:((normalized+.055)/1.055)**2.4};return linearize(color[0])*.2126+linearize(color[1])*.7152+linearize(color[2])*.0722}function contrastRatio(left,right){const a=relativeLuminance(left),b=relativeLuminance(right);return(Math.max(a,b)+.05)/(Math.min(a,b)+.05)}function contrastForeground(fill){const black=[0,0,0],white=[255,255,255];return contrastRatio(fill,black)>=contrastRatio(fill,white)?black:white}function ensureSurfaceContrast(color,background,minimum=3,alsoAgainst=background,references=[]){const passes=candidate=>contrastRatio(candidate,background)>=minimum&&contrastRatio(candidate,alsoAgainst)>=minimum&&references.every(reference=>contrastRatio(candidate,reference)>=minimum);if(passes(color))return color;const black=[0,0,0],white=[255,255,255],target=contrastRatio(background,black)>=contrastRatio(background,white)?black:white;for(let step=1;step<=10;step+=1){const candidate=mixRgb(color,target,step/10);if(passes(candidate))return candidate}return target}function createRoleRamp(role,base,mode,background,owner=document){const references=STYLE_CONTRAST_SURFACES[mode].map(hexRgb),resolved=parseResolvedRgb(base,background,owner);if(!resolved)return null;const quiet=mixRgb(background,resolved,mode==="dark"?.24:.14),normal=mixRgb(background,resolved,mode==="dark"?.62:.55),loud=ensureSurfaceContrast(resolved,background,4.5,quiet,references),borderTarget=mode==="dark"?[255,255,255]:[0,0,0],borderQuiet=mixRgb(background,resolved,mode==="dark"?.46:.38),borderNormal=ensureSurfaceContrast(mixRgb(background,resolved,mode==="dark"?.78:.72),background,3,background,references),borderLoud=ensureSurfaceContrast(mixRgb(loud,borderTarget,.2),background,3,background,references),prefix=`--lr-theme-color-${role}`,ramp={[`${prefix}-fill-quiet`]:serializeRgb(quiet),[`${prefix}-fill-normal`]:serializeRgb(normal),[`${prefix}-fill-loud`]:serializeRgb(loud),[`${prefix}-border-quiet`]:serializeRgb(borderQuiet),[`${prefix}-border-normal`]:serializeRgb(borderNormal),[`${prefix}-border-loud`]:serializeRgb(borderLoud),[`${prefix}-on-quiet`]:serializeRgb(contrastForeground(quiet)),[`${prefix}-on-normal`]:serializeRgb(contrastForeground(normal)),[`${prefix}-on-loud`]:serializeRgb(contrastForeground(loud))};return role==="brand"&&(ramp["--lr-theme-color-focus"]=serializeRgb(ensureSurfaceContrast(resolved,background,3,background,references))),ramp}function paintAccent(accent,mode,background,owner=document){const properties=new Map;if(!accent)return{applied:null,properties};if(!mode)return{applied:accent,properties};if(typeof accent=="string"){const ramp=createRoleRamp("brand",accent,mode,background,owner);if(!ramp)return{applied:null,properties};properties.set("--lr-theme-accent",accent);for(const[property,value]of Object.entries(ramp))properties.set(property,value);return{applied:accent,properties}}const applied={};let appliedBrandColor=null;for(const role of SEMANTIC_ROLES){const value=accent[role];if(!value)continue;const isPerMode=typeof value!="string",base=resolveAccentValueForMode(value,mode);let painted=!1;if(base){const ramp=createRoleRamp(role,base,mode,background,owner);if(ramp){for(const[property,propertyValue]of Object.entries(ramp))properties.set(property,propertyValue);painted=!0,role==="brand"&&(appliedBrandColor=base)}}(painted||isPerMode)&&(applied[role]=value)}return appliedBrandColor&&properties.set("--lr-theme-accent",appliedBrandColor),{applied:Object.keys(applied).length>0?applied:null,properties}}function tokenEntries(tokens,mode){const entries=new Map;if(!tokens)return entries;for(const[name,value]of Object.entries(tokens))if(typeof value=="string")entries.set(name,value);else if(mode){const branch=value[mode];branch&&entries.set(name,branch)}return entries}function resolveTokenColor(value,background,owner){return value===void 0||!background||!normalizeColor(value,owner)?null:parseResolvedRgb(value,background,owner)}function floorTokenEntries(entries,surface,owner,references){if(!entries.size)return new Map;const resolveColor=(value,background)=>resolveTokenColor(value,background,owner),painted=new Map(entries),prefix="--lr-theme-",raised=resolveColor(entries.get(`${prefix}color-surface-raised`)??references[1],surface),floor=(name,over,against,minimum,alsoAgainst)=>{const value=painted.get(name);if(value===void 0||!against||alsoAgainst===null)return;const color=resolveColor(value,over);if(!color)return;const repaired=ensureSurfaceContrast(color,against,minimum,alsoAgainst??against);repaired!==color&&painted.set(name,serializeRgb(repaired))};floor(`${prefix}color-text-normal`,surface,surface,4.5,raised),floor(`${prefix}color-text-quiet`,surface,surface,4.5,raised);const text=entries.has(`${prefix}color-text-normal`)?resolveColor(painted.get(`${prefix}color-text-normal`),surface):resolveColor(references[2],surface),pairForeground=(onName,fill)=>{if(!fill)return;const on=painted.get(onName);if(on===void 0){painted.set(onName,serializeRgb(contrastForeground(fill)));return}const color=resolveColor(on,fill);color&&contrastRatio(color,fill)<4.5&&painted.set(onName,serializeRgb(contrastForeground(fill)))};for(const role of SEMANTIC_ROLES)for(const tier of RAMP_TIERS){const fillName=`${prefix}color-${role}-fill-${tier}`;entries.has(fillName)&&pairForeground(`${prefix}color-${role}-on-${tier}`,resolveColor(entries.get(fillName),surface))}const overlayName=`${prefix}color-overlay-strong`,overlay=entries.has(overlayName)?resolveColor(entries.get(overlayName),surface):resolveColor(references[3],surface);(entries.has(overlayName)||entries.has(`${prefix}color-on-strong-overlay`))&&pairForeground(`${prefix}color-on-strong-overlay`,overlay);for(const name of entries.keys())/^--lr-theme-color-(?:(?:brand|success|warning|danger|neutral)-border-(?:normal|loud)|surface-border|border-strong|focus|chart-\d+)$/.test(name)?floor(name,surface,surface,3):/^--lr-theme-terminal-color-[a-z0-9-]+$/.test(name)?floor(name,raised,raised,4.5):/^--lr-theme-terminal-bg-[a-z0-9-]+$/.test(name)&&floor(name,raised,text,4.5);return painted}function readOwnershipList(){try{const list=document.documentElement[Symbol.for(TOKEN_OWNERSHIP_SYMBOL)];if(!Array.isArray(list))return[];const names=[],length=Math.min(list.length,TOKEN_OWNERSHIP_MAX);for(let index=0;index<length;index+=1){const name=list[index];isLyraThemeTokenName(name)&&names.push(name)}return names}catch{return[]}}function applyStoredThemeBeforePaint(){const R=["brand","success","warning","danger","neutral"],Q=["quiet","normal","loud"],W=/^--lr-theme-[a-z0-9]+(?:-[a-z0-9]+)*$/,_="--lr-theme-accent",G=/[\x00-\x1f\x7f\\;{}!<>@[\]`$^|~=?&:\u2028\u2029]|\/\*|\*\//,H=/^(?:inherit|initial|revert(?:-layer)?|unset)$/i,J=/([a-z0-9_-]+)\s*\(/gi,K="rgb rgba hsl hsla hwb lab lch oklab oklch color color-mix light-dark calc min max clamp var cubic-bezier steps linear".split(" "),U={light:[255,255,255],dark:[10,10,10]},X=r=>{let o=0,h="";for(const a of r){if(h){a===h&&(h="");continue}if(a==="'"||a==='"')h=a;else if(a==="(")o+=1;else if(a===")"&&(o-=1)<0)return!1}return h===""&&o===0},Y=r=>typeof r=="string"&&r.length<=80&&W.test(r)&&r!==_,P=r=>{if(typeof r!="string")return null;const o=r.trim();if(!o||o.length>256||G.test(o)||H.test(o))return null;for(const h of o.matchAll(J))if(!K.includes((h[1]??"").toLowerCase()))return null;return X(o)?o:null},A=r=>{if(typeof r!="object"||r===null||Array.isArray(r))return!1;const o=Object.getPrototypeOf(r);return o===Object.prototype||o===null},Z=r=>{const o={};try{if(!A(r))return o;const h=Object.keys(r);if(h.length<=512)for(const a of h){if(!Y(a))continue;const g=r[a];if(typeof g=="string"){const u=P(g);u!==null&&(o[a]=u);continue}if(!A(g))continue;const j=Object.hasOwn(g,"light"),i=Object.hasOwn(g,"dark");if(!j&&!i||Object.keys(g).some(u=>u!=="light"&&u!=="dark"))continue;const M=P(g.light),y=P(g.dark);(M!==null||y!==null)&&(o[a]={light:M,dark:y})}}catch{}return o},C=r=>{const o=P(r);if(!(!o||/\b(?:var|light-dark)\s*\(|\b(?:currentcolor|from)\b/i.test(o)||/^(?:accentcolor|accentcolortext|activetext|buttonborder|buttonface|buttontext|canvas|canvastext|field|fieldtext|graytext|highlight|highlighttext|linktext|mark|marktext|selecteditem|selecteditemtext|visitedtext)$/i.test(o)))return CSS.supports("color",o)?o:void 0};return[Z,C,(r,o,h,a,g,j)=>{const i=new Map;for(const[t,n]of Object.entries(r)){const e=typeof n=="string"?n:n[o];e&&i.set(t,e)}const M=typeof a=="string"?{brand:a}:a,y={};for(const t of R){const n=M?.[t],e=typeof n=="string"?n:n?.[o];e&&(y[t]=e)}let u=null;if(i.size>0||Object.keys(y).length>0)try{const t=document.createElement("canvas");t.width=1,t.height=1,u=t.getContext("2d",{willReadFrequently:!0})}catch{u=null}const S=(t,n)=>{if(!u)return null;try{u.clearRect(0,0,1,1),u.fillStyle=t,u.fillRect(0,0,1,1);const e=u.getImageData(0,0,1,1).data,c=(e[3]??0)/255;return[0,1,2].map(f=>Math.round((e[f]??0)*c+(n[f]??0)*(1-c)))}catch{return null}},z=(t,n,e)=>t.map((c,f)=>Math.round(c*(1-e)+(n[f]??0)*e)),B=t=>{const n=t.map(e=>{const c=e/255;return c<=.04045?c/12.92:((c+.055)/1.055)**2.4});return(n[0]??0)*.2126+(n[1]??0)*.7152+(n[2]??0)*.0722},O=(t,n)=>{const e=B(t),c=B(n);return(Math.max(e,c)+.05)/(Math.min(e,c)+.05)},v=[0,0,0],F=[255,255,255],w=t=>O(t,v)>=O(t,F)?v:F,q=(t,n,e=3,c=n)=>{const f=d=>O(d,n)>=e&&O(d,c)>=e&&g.every(k=>O(d,k)>=e);if(f(t))return t;const p=w(n);for(let d=1;d<=10;d+=1){const k=z(t,p,d/10);if(f(k))return k}return p},m=t=>`rgb(${t.join(" ")})`,D=U[o],E=C(h)??C(i.get("--lr-theme-color-surface-default")),s=E&&S(E,D)||D,l=new Map(i),b="--lr-theme-",$=(t,n)=>t!==void 0&&n&&C(t)?S(t,n):null,tt=`${b}color-surface-raised`,N=$(i.get(tt)??j[1],s),L=(t,n,e,c,f)=>{const p=l.get(t);if(p===void 0||!e||f===null)return;const d=$(p,n);if(!d)return;const k=q(d,e,c,f??e);k!==d&&l.set(t,m(k))};L(`${b}color-text-normal`,s,s,4.5,N),L(`${b}color-text-quiet`,s,s,4.5,N);const et=i.has(`${b}color-text-normal`)?$(l.get(`${b}color-text-normal`),s):$(j[2],s),I=(t,n)=>{if(!n)return;const e=l.get(t),c=e===void 0?null:$(e,n);(e===void 0||c&&O(c,n)<4.5)&&l.set(t,m(w(n)))};for(const t of R)for(const n of Q){const e=`${b}color-${t}-fill-${n}`;i.has(e)&&I(`${b}color-${t}-on-${n}`,$(i.get(e),s))}const T=`${b}color-overlay-strong`;(i.has(T)||i.has(`${b}color-on-strong-overlay`))&&I(`${b}color-on-strong-overlay`,i.has(T)?$(i.get(T),s):$(j[3],s));for(const t of i.keys())/^--lr-theme-color-(?:(?:brand|success|warning|danger|neutral)-border-(?:normal|loud)|surface-border|border-strong|focus|chart-\d+)$/.test(t)?L(t,s,s,3):/^--lr-theme-terminal-color-[a-z0-9-]+$/.test(t)?L(t,N,N,4.5):/^--lr-theme-terminal-bg-[a-z0-9-]+$/.test(t)&&L(t,N,et,4.5);if(!u)return l;let V=null;for(const t of R){const n=y[t];if(!n)continue;const e=S(n,s);if(!e)continue;const c=z(s,e,o==="dark"?.24:.14),f=z(s,e,o==="dark"?.62:.55),p=q(e,s,4.5,c),d=o==="dark"?F:v,k=z(s,e,o==="dark"?.46:.38),nt=q(z(s,e,o==="dark"?.78:.72),s),ot=q(z(p,d,.2),s),x=`--lr-theme-color-${t}`;l.set(`${x}-fill-quiet`,m(c)),l.set(`${x}-fill-normal`,m(f)),l.set(`${x}-fill-loud`,m(p)),l.set(`${x}-border-quiet`,m(k)),l.set(`${x}-border-normal`,m(nt)),l.set(`${x}-border-loud`,m(ot)),l.set(`${x}-on-quiet`,m(w(c))),l.set(`${x}-on-normal`,m(w(f))),l.set(`${x}-on-loud`,m(w(p))),t==="brand"&&(l.set("--lr-theme-color-focus",m(q(e,s))),V=n)}return V&&l.set("--lr-theme-accent",V),l}]}function styleMaterial(l,n){const t=n==="glass";for(const[a,i]of Object.entries({enabled:t?"1":"0",content:t?"''":"none",isolation:t?"isolate":"auto","root-filter":t?"initial":"none","child-filter":t?"none":"initial","child-opacity":t?"1":"0"}))l.set(`--_lr-surface-${a}`,i);l.set("--_lr-glass-blocker",t?"initial":"none"),t||(l.set("--_lr-glass-parent-opacity","0"),l.set("--_lr-next-glass-opacity","0"))}function applyStoredStyleBeforePaint(U,q,D,N,G,J,W,S){const{surfaces:R,contrast:H,accent:Q}=S,b=new Map;for(const r of S.inputs.split(" "))b.set(`--lr-theme-${r.slice(1)}`,Number(r[0]));const _=[...b.keys()];function v(r,n,s=!1){return`--_lr-${s?"a":"l"}${n==="light"?"l":"d"}-${r.slice(11)}`}function V(r,n){const s=b.get(r)??0;let g=`var(${v(r,n)})`;if(s&2){const k=n==="light"?"l":"d",u=r.replace(/color-(?:success|warning|danger|neutral)-/,"color-brand-");g=`var(--_lr-f${k}-${r.slice(11)},${g})var(--_lr-o${k}-${r.slice(11)},var(${v(u,n,!0)},var(${v(u,n)})))`}return s&4?`var(${v(r,n,!0)},${g})`:g}function X(r){const n=`var(--_lr-dark-on,${V(r,"light")})var(--_lr-light-on,${V(r,"dark")})`;if(!((b.get(r)??0)&1))return n;const s=r.startsWith("--lr-theme-space-");return`var(--_lr-dense-on,${n})var(--_lr-dense-off,max(calc((${n}) * var(--_lr-density-${s?"space":"control"},1)),${s?"0px":"var(--_lr-density-target-min,0px)"}))`}try{const r=document.currentScript,n=r?.getAttribute("data-lr-theme-restore"),s=(n==="all"||n==="mode"?n:S.restore)==="mode",g=r?.getAttribute("data-lr-theme-storage-key"),k=g&&g.length<=200?g:U,u=r?.getAttribute("data-lr-theme-attributes")?.trim().split(/\s+/),A=u?.length&&u.length<=8&&new Set(u).size===u.length&&u.every(t=>t.length<=64&&/^data-[a-z0-9]+(?:-[a-z0-9]+)*$/.test(t))?u:q;let w;try{w=JSON.parse(localStorage.getItem(k)??"null")}catch{}if(s){const t=w;w={version:t?.version,mode:t?.mode}}const o=document.documentElement,[Z,tt,et]=D(),f=J(w,S.defaults,Z,tt,(t,e)=>N(t,e,_),Q),y=f.mode,$=y==="unset"?null:y==="system"?matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light":y,p={},j=!s&&getComputedStyle(o).getPropertyValue("--_lr-style-resolver").trim()==="1",C=(t,e)=>typeof t=="string"?t:t?.[e],rt=f.tokens,ot=f.overrides,E={...rt,...ot},L=f.look;if(s||(p["data-lr-look"]=L,p["data-lr-density"]=f.density,p["data-lr-surface"]=f.treatment),y!=="unset"&&(p["data-lr-mode"]=y),$)for(const t of A)p[t]=$;const O=f.accentName;let h=f.accent;y!=="unset"&&h&&typeof h=="object"&&!Object.values(h).some(t=>typeof t=="string"||t&&Object.values(t).some(Boolean))&&(h=null),s||(p["data-lr-accent"]=O??(h?"custom":"none"));const a=new Map;if(y==="unset")for(const[t,e]of Object.entries(E))typeof e=="string"&&a.set(t,e);for(const t of s?[]:["light","dark"]){const e=C(f.surface,t),T=C(E["--lr-theme-color-surface-default"],t),c=(R[L]??R.lyra)[t],z=e??T??c[0];for(const m of[!1,!0]){if(m&&(!h||O))continue;const st=et(m?{}:E,t,z,m?h:null,m?H[t].map(l=>[1,3,5].map(d=>parseInt(l.slice(d,d+2),16))):[],c);for(const[l,d]of st){if(l==="--lr-theme-accent"){t===$&&a.set(l,d);continue}const B=b.get(l);if(B!==void 0&&N(l,d,_)){const F=l.match(/^--lr-theme-color-(?:success|warning|danger|neutral)-((?:fill|border|on)-(?:quiet|normal|loud))$/)?.[1],M=!m&&F&&d===`var(--lr-theme-color-brand-${F})`,I=l.slice(11),K=t==="light"?"l":"d";M||a.set(v(l,t,m),d),!m&&B&2&&(a.set(`--_lr-f${K}-${I}`,M?" ":"initial"),a.set(`--_lr-o${K}-${I}`,M?"initial":" ")),t===$&&a.set(l,j?X(l):d)}else t===$&&a.set(l,d)}}}(a.size||y==="unset"&&h&&!O)&&(p["data-lr-theme-scope"]=""),!s&&!j&&W(a,f.treatment);const Y=Symbol.for("@aceshooting/lyra-ui.style-ownership.v1"),P=o;let x;try{x=G(P[Y])}catch{}const i=x??{attributes:new Map,properties:new Map};if(y==="unset")for(const t of A)i.attributes.has(t)||o.removeAttribute(t);try{const t=Symbol.for("@aceshooting/lyra-ui.theme-tokens.v1"),e=P[t];if(!s&&Array.isArray(e)){const T=e.slice(0,528).filter(c=>typeof c=="string"&&c.length<=80&&/^--lr-theme-[a-z0-9]+(?:-[a-z0-9]+)*$/.test(c));for(const c of[...T,..._.filter(z=>b.get(z)&4),"--lr-theme-accent"])!i.properties.has(c)&&o.style.getPropertyValue(c)&&i.properties.set(c,{before:null,priority:"",written:o.style.getPropertyValue(c)});try{delete P[t]}catch{}}}catch{}for(const[t,e]of i.attributes)s&&t!=="data-lr-mode"&&!A.includes(t)||Object.hasOwn(p,t)||(o.getAttribute(t)===e.written&&(e.before===null?o.removeAttribute(t):o.setAttribute(t,e.before)),i.attributes.delete(t));for(const[t,e]of Object.entries(p))i.attributes.has(t)||i.attributes.set(t,{before:o.getAttribute(t),priority:"",written:e}),o.setAttribute(t,e),i.attributes.get(t).written=e;for(const[t,e]of i.properties)s||a.has(t)||(o.style.getPropertyValue(t)===e.written&&!o.style.getPropertyPriority(t)&&(e.before?o.style.setProperty(t,e.before,e.priority):o.style.removeProperty(t)),i.properties.delete(t));for(const[t,e]of a)i.properties.has(t)||i.properties.set(t,{before:o.style.getPropertyValue(t),priority:o.style.getPropertyPriority(t),written:null}),o.style.getPropertyPriority(t)&&o.style.removeProperty(t),o.style.setProperty(t,e,""),i.properties.get(t).written=o.style.getPropertyValue(t);try{P[Y]=i}catch{}}catch{}}const LINE_SEPARATOR="\u2028",PARAGRAPH_SEPARATOR="\u2029";function serializeInlineScriptData(value){return JSON.stringify(value).replace(/</g,"\\u003c").replace(new RegExp(LINE_SEPARATOR,"g"),"\\u2028").replace(new RegExp(PARAGRAPH_SEPARATOR,"g"),"\\u2029")}function createLyraThemeBootstrap(options={}){const storageKey=options.storageKey??STORAGE_KEY,inputs=STYLE_SLOTTED.map(name=>`${Number(STYLE_DENSITY.includes(name))|Number(STYLE_FOLLOW.includes(name))<<1|Number(ALL_RAMP_PROPERTIES.includes(name))<<2}${name.slice(11)}`).join(" "),model=JSON.stringify({restore:options.restore==="mode"?"mode":"all",defaults:STYLE_DEFAULTS,inputs,surfaces:STYLE_REFERENCE_SURFACES,contrast:STYLE_CONTRAST_SURFACES,accent:STYLE_GEMSTONES}),functions=[applyStoredStyleBeforePaint,applyStoredThemeBeforePaint,styleTokenAllowed,readStyleOwnership,resolveStyleStartup,styleMaterial].map(helper=>helper.toString().replace(/^function\s+[\w$]+/,"function"));return`(${functions[0]})(${serializeInlineScriptData(storageKey)},${serializeInlineScriptData(MODE_ATTRIBUTES)},${functions.slice(1).join(",")},${model});`}const STYLE_DEFAULTS=Object.freeze({look:"shadcn",surface:"glass",density:"comfortable",mode:"system",accent:"emerald"}),STYLE_SLOTTED=["--lr-theme-color-border-strong","--lr-theme-color-brand-border-loud","--lr-theme-color-brand-border-normal","--lr-theme-color-brand-border-quiet","--lr-theme-color-brand-fill-loud","--lr-theme-color-brand-fill-normal","--lr-theme-color-brand-fill-quiet","--lr-theme-color-brand-on-loud","--lr-theme-color-brand-on-normal","--lr-theme-color-brand-on-quiet","--lr-theme-color-chart-1","--lr-theme-color-chart-2","--lr-theme-color-chart-3","--lr-theme-color-chart-4","--lr-theme-color-chart-5","--lr-theme-color-chart-6","--lr-theme-color-chart-7","--lr-theme-color-chart-8","--lr-theme-color-chart-diverging-1","--lr-theme-color-chart-diverging-2","--lr-theme-color-chart-diverging-3","--lr-theme-color-chart-sequential-1","--lr-theme-color-chart-sequential-2","--lr-theme-color-chart-sequential-3","--lr-theme-color-danger-border-loud","--lr-theme-color-danger-border-normal","--lr-theme-color-danger-border-quiet","--lr-theme-color-danger-fill-loud","--lr-theme-color-danger-fill-normal","--lr-theme-color-danger-fill-quiet","--lr-theme-color-danger-on-loud","--lr-theme-color-danger-on-normal","--lr-theme-color-danger-on-quiet","--lr-theme-color-focus","--lr-theme-color-mix-partner","--lr-theme-color-neutral-border-loud","--lr-theme-color-neutral-border-normal","--lr-theme-color-neutral-border-quiet","--lr-theme-color-neutral-fill-loud","--lr-theme-color-neutral-fill-normal","--lr-theme-color-neutral-fill-quiet","--lr-theme-color-neutral-on-loud","--lr-theme-color-neutral-on-normal","--lr-theme-color-neutral-on-quiet","--lr-theme-color-no-data","--lr-theme-color-on-strong-overlay","--lr-theme-color-overlay","--lr-theme-color-overlay-strong","--lr-theme-color-success-border-loud","--lr-theme-color-success-border-normal","--lr-theme-color-success-border-quiet","--lr-theme-color-success-fill-loud","--lr-theme-color-success-fill-normal","--lr-theme-color-success-fill-quiet","--lr-theme-color-success-on-loud","--lr-theme-color-success-on-normal","--lr-theme-color-success-on-quiet","--lr-theme-color-surface-border","--lr-theme-color-surface-border-subtle","--lr-theme-color-surface-container","--lr-theme-color-surface-container-high","--lr-theme-color-surface-container-highest","--lr-theme-color-surface-container-low","--lr-theme-color-surface-container-lowest","--lr-theme-color-surface-default","--lr-theme-color-surface-overlay","--lr-theme-color-surface-raised","--lr-theme-color-text-normal","--lr-theme-color-text-quiet","--lr-theme-color-warning-border-loud","--lr-theme-color-warning-border-normal","--lr-theme-color-warning-border-quiet","--lr-theme-color-warning-fill-loud","--lr-theme-color-warning-fill-normal","--lr-theme-color-warning-fill-quiet","--lr-theme-color-warning-on-loud","--lr-theme-color-warning-on-normal","--lr-theme-color-warning-on-quiet","--lr-theme-form-control-height-2xs","--lr-theme-form-control-height-l","--lr-theme-form-control-height-m","--lr-theme-form-control-height-s","--lr-theme-form-control-height-xl","--lr-theme-form-control-height-xs","--lr-theme-graph-cat-1","--lr-theme-graph-cat-2","--lr-theme-graph-cat-3","--lr-theme-graph-cat-4","--lr-theme-graph-cat-5","--lr-theme-graph-cat-6","--lr-theme-graph-cat-7","--lr-theme-graph-cat-8","--lr-theme-icon-button-size","--lr-theme-shadow-l","--lr-theme-shadow-m","--lr-theme-shadow-s","--lr-theme-shadow-xl","--lr-theme-shadow-xs","--lr-theme-space-2xl","--lr-theme-space-2xs","--lr-theme-space-l","--lr-theme-space-m","--lr-theme-space-s","--lr-theme-space-xs","--lr-theme-terminal-bg-black","--lr-theme-terminal-bg-blue","--lr-theme-terminal-bg-bright-black","--lr-theme-terminal-bg-bright-blue","--lr-theme-terminal-bg-bright-cyan","--lr-theme-terminal-bg-bright-green","--lr-theme-terminal-bg-bright-magenta","--lr-theme-terminal-bg-bright-red","--lr-theme-terminal-bg-bright-white","--lr-theme-terminal-bg-bright-yellow","--lr-theme-terminal-bg-cyan","--lr-theme-terminal-bg-green","--lr-theme-terminal-bg-magenta","--lr-theme-terminal-bg-red","--lr-theme-terminal-bg-white","--lr-theme-terminal-bg-yellow","--lr-theme-terminal-color-black","--lr-theme-terminal-color-blue","--lr-theme-terminal-color-bright-black","--lr-theme-terminal-color-bright-blue","--lr-theme-terminal-color-bright-cyan","--lr-theme-terminal-color-bright-green","--lr-theme-terminal-color-bright-magenta","--lr-theme-terminal-color-bright-red","--lr-theme-terminal-color-bright-white","--lr-theme-terminal-color-bright-yellow","--lr-theme-terminal-color-cyan","--lr-theme-terminal-color-green","--lr-theme-terminal-color-magenta","--lr-theme-terminal-color-red","--lr-theme-terminal-color-white","--lr-theme-terminal-color-yellow"],STYLE_DENSITY=["--lr-theme-space-2xs","--lr-theme-space-xs","--lr-theme-space-s","--lr-theme-space-m","--lr-theme-space-l","--lr-theme-space-2xl","--lr-theme-form-control-height-2xs","--lr-theme-form-control-height-xs","--lr-theme-form-control-height-s","--lr-theme-form-control-height-m","--lr-theme-form-control-height-l","--lr-theme-form-control-height-xl","--lr-theme-icon-button-size"],STYLE_FOLLOW=["--lr-theme-color-danger-border-loud","--lr-theme-color-danger-border-normal","--lr-theme-color-danger-border-quiet","--lr-theme-color-danger-fill-loud","--lr-theme-color-danger-fill-normal","--lr-theme-color-danger-fill-quiet","--lr-theme-color-danger-on-loud","--lr-theme-color-danger-on-normal","--lr-theme-color-danger-on-quiet","--lr-theme-color-neutral-border-loud","--lr-theme-color-neutral-border-normal","--lr-theme-color-neutral-border-quiet","--lr-theme-color-neutral-fill-loud","--lr-theme-color-neutral-fill-normal","--lr-theme-color-neutral-fill-quiet","--lr-theme-color-neutral-on-loud","--lr-theme-color-neutral-on-normal","--lr-theme-color-neutral-on-quiet","--lr-theme-color-success-border-loud","--lr-theme-color-success-border-normal","--lr-theme-color-success-border-quiet","--lr-theme-color-success-fill-loud","--lr-theme-color-success-fill-normal","--lr-theme-color-success-fill-quiet","--lr-theme-color-success-on-loud","--lr-theme-color-success-on-normal","--lr-theme-color-success-on-quiet","--lr-theme-color-warning-border-loud","--lr-theme-color-warning-border-normal","--lr-theme-color-warning-border-quiet","--lr-theme-color-warning-fill-loud","--lr-theme-color-warning-fill-normal","--lr-theme-color-warning-fill-quiet","--lr-theme-color-warning-on-loud","--lr-theme-color-warning-on-normal","--lr-theme-color-warning-on-quiet"],STYLE_REFERENCE_SURFACES={lyra:{light:["#ffffff","#f6f8fa","#1a1a1a","rgb(0 0 0 / 0.92)"],dark:["#1a1a1a","#22272e","#f2f2f2","rgb(0 0 0 / 0.95)"]},data:{light:["#ffffff","#f2f5f8","#10202c","#17212b"],dark:["#101820","#192630","#eef5fa","#e7eef4"]},"high-contrast":{light:["#ffffff","#ffffff","#000000","#17212b"],dark:["#000000","#000000","#ffffff","#e7eef4"]},material:{light:["#fff8f5","#f8eeea","#241b17","rgb(0 0 0 / 0.92)"],dark:["#18120f","#251d19","#f8eee8","rgb(0 0 0 / 0.95)"]},shadcn:{light:["#ffffff","#fafafa","#0a0a0a","rgb(0 0 0 / 0.92)"],dark:["#0a0a0a","#171717","#fafafa","rgb(0 0 0 / 0.95)"]},terminal:{light:["#fcfdf9","#f1f5eb","#0d2115","#17212b"],dark:["#0e1713","#18271e","#e5f5e9","#e7eef4"]}},STYLE_CONTRAST_SURFACES={light:["#ffffff","#f6f8fa","#f2f5f8","#fff8f5","#f8eeea","#fcf2ed","#f2e7e0","#ecdfd7","#fafafa","#fcfdf9","#f1f5eb"],dark:["#1a1a1a","#22272e","#2b3038","#101820","#192630","#202e39","#000000","#18120f","#251d19","#302621","#120d0a","#211914","#352a24","#0a0a0a","#171717","#0e1713","#18271e","#203227"]},STYLE_GEMSTONES={emerald:"#34d399",peridot:"#a8d84a",topaz:"#f0a83c",ruby:"#e63950",tourmaline:"#ec4899",amethyst:"#9d6df0",aquamarine:"#22d3ee",sapphire:"#4f8ff7",hematite:"#94a3b8"},LOOK_ID=/^[a-z0-9]+(?:-[a-z0-9]+)*$/,LOOK_STAMP=Symbol.for("@aceshooting/lyra-ui.look.v1"),STYLE_OWNERSHIP=Symbol.for("@aceshooting/lyra-ui.style-ownership.v1"),STYLE_FIELDS=["look","surface","density","mode","accent","accentBackground","overrides"],DEFAULT_STYLE=Object.freeze({...STYLE_DEFAULTS,tokens:null,accent:STYLE_GEMSTONES[STYLE_DEFAULTS.accent],accentName:STYLE_DEFAULTS.accent,accentBackground:null,overrides:null});let lastStyle={...DEFAULT_STYLE},stylePersistenceFailed=!1,styleModeCleanup,styleModeRoot;const styleOwnershipFallback=new WeakMap,scopeModes=new WeakMap;function ownField(value,key){const descriptor=Object.getOwnPropertyDescriptor(value,key);return descriptor&&"value"in descriptor?descriptor.value:void 0}function styleId(value){return typeof value=="string"&&value.length<=64&&LOOK_ID.test(value)}function styleTokenAllowed(e,r,o=STYLE_SLOTTED){if(e.startsWith("--lr-theme-surface-")||typeof r!="string"&&!o.includes(e))return!1;for(const t of typeof r=="string"?[r]:[r.light,r.dark])if(t)for(const c of t.matchAll(/var\(\s*(--[\w-]+)/g)){if(c[1]==="--lr-theme-shadow-color")continue;const n=e.match(/^--lr-theme-color-(?:success|warning|danger|neutral)-((?:fill|border|on)-(?:quiet|normal|loud))$/)?.[1];if(!n||t!==`var(--lr-theme-color-brand-${n})`)return!1}return!0}function styleTokens(value){const tokens=normalizeTokens(value);if(!tokens)return null;const entries=Object.entries(tokens).filter(([name,input])=>styleTokenAllowed(name,input));return entries.length?Object.freeze(Object.fromEntries(entries)):null}function defineLyraLook(look){if(!look||!styleId(ownField(look,"id"))||look.id==="custom")throw new TypeError("Invalid look id");const raw=ownField(look,"tokens");if(!isPlainRecord(raw)||Object.keys(raw).length>TOKEN_ENTRY_MAX)throw new TypeError("Invalid look tokens");for(const[name,descriptor]of Object.entries(Object.getOwnPropertyDescriptors(raw))){if(!("value"in descriptor))throw new TypeError(`Look inputs must be data properties: ${name}`);const value=descriptor.value;if(typeof value=="string"){if(!isSafeLyraThemeTokenValue(value))throw new TypeError(`Invalid look value: ${name}`);continue}if(!isPlainRecord(value)||!STYLE_SLOTTED.includes(name))throw new TypeError(`Invalid per-mode look input: ${name}`);const branches=Object.entries(Object.getOwnPropertyDescriptors(value));if(!branches.length||branches.some(([key,branch])=>!["light","dark"].includes(key)||!("value"in branch)||branch.value!==null&&!isSafeLyraThemeTokenValue(branch.value)))throw new TypeError(`Invalid look mode pair: ${name}`)}const tokens=styleTokens(raw);if(Object.keys(raw).length!==Object.keys(tokens??{}).length)throw new TypeError("Invalid look token or cross-axis reference");const stamped={...tokens,[LOOK_STAMP]:look.id};return Object.freeze(stamped),Object.freeze({id:look.id,tokens:stamped})}function styleColor(value,browserColors=!1){if(!isSafeLyraThemeTokenValue(value))return null;const text=value.trim();return/\b(?:var|light-dark)\s*\(|\b(?:currentcolor|from)\b/i.test(text)||/^(?:accentcolor|accentcolortext|activetext|buttonborder|buttonface|buttontext|canvas|canvastext|field|fieldtext|graytext|highlight|highlighttext|linktext|mark|marktext|selecteditem|selecteditemtext|visitedtext)$/i.test(text)?null:browserColors&&typeof CSS<"u"?CSS.supports("color",text)?text:null:/^(?:#(?:[0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})|[a-z]+|(?:rgb|rgba|hsl|hsla|hwb|lab|lch|oklab|oklch|color|color-mix)\(.+\))$/i.test(text)?text:null}function styleColorPair(value){if(typeof value=="string")return styleColor(value);if(!isPlainRecord(value))return null;const light=styleColor(ownField(value,"light")),dark=styleColor(ownField(value,"dark"));return light||dark?Object.freeze({light,dark}):null}function styleAccent(value){if(typeof value=="string")return styleColor(value);if(!isPlainRecord(value))return null;const entries=SEMANTIC_ROLES.filter(role=>Object.hasOwn(value,role)).map(role=>[role,styleColorPair(ownField(value,role))]);return entries.length?Object.freeze(Object.fromEntries(entries)):null}function normalizeStyleChoices(raw,base){const next={...base};if(!isPlainRecord(raw))return next;const look=ownField(raw,"look");if(look!==void 0){if(next.look=DEFAULT_STYLE.look,next.tokens=null,styleId(look))next.look=look;else if(isPlainRecord(look))try{const definition=defineLyraLook(look);next.look=definition.id,next.tokens=definition.tokens}catch{}}const surface=ownField(raw,"surface");surface!==void 0&&(next.surface=surface==="glass"||surface==="solid"?surface:DEFAULT_STYLE.surface);const density=ownField(raw,"density");density!==void 0&&(next.density=density==="comfortable"||density==="compact"||density==="touch"?density:DEFAULT_STYLE.density);const mode=ownField(raw,"mode");mode!==void 0&&(next.mode=mode==="light"||mode==="dark"||mode==="system"||mode==="unset"?mode:DEFAULT_STYLE.mode);const accent=ownField(raw,"accent");accent!==void 0&&(next.accentName=typeof accent=="string"&&Object.hasOwn(STYLE_GEMSTONES,accent)?accent:null,next.accent=next.accentName?STYLE_GEMSTONES[next.accentName]:styleAccent(accent));const background=ownField(raw,"accentBackground");background!==void 0&&(next.accentBackground=styleColorPair(background));const overrides=ownField(raw,"overrides");return overrides!==void 0&&(next.overrides=styleTokens(overrides)),next}function styleFromRecord(value,browserColors=!1){const record=resolveStyleStartup(value,STYLE_DEFAULTS,normalizeTokens,input=>styleColor(input,browserColors)??void 0,styleTokenAllowed,STYLE_GEMSTONES),state=normalizeStyleChoices({look:ownField(record,"look"),mode:ownField(record,"mode"),density:ownField(record,"density"),surface:ownField(record,"treatment"),overrides:ownField(record,"overrides"),accentBackground:ownField(record,"surface")},{...DEFAULT_STYLE});state.accent=styleAccent(ownField(record,"accent"));const accentName=ownField(record,"accentName");return state.accentName=null,typeof accentName=="string"&&Object.hasOwn(STYLE_GEMSTONES,accentName)&&(state.accentName=accentName,state.accent=STYLE_GEMSTONES[accentName]),state.tokens=normalizeTokens(ownField(record,"tokens")),state.tokens&&!styleId(ownField(record,"look"))&&(state.look="custom"),state}function styleRecord(state){return{version:2,mode:state.mode,look:state.look,density:state.density,treatment:state.surface,accent:state.accent,surface:state.accentBackground,...state.accentName?{accentName:state.accentName}:{},...state.tokens?{tokens:state.tokens}:{},...state.overrides?{overrides:state.overrides}:{}}}function styleResolvedMode(mode,view){return mode==="unset"?null:mode!=="system"?mode:view?.matchMedia?.(COLOR_SCHEME_QUERY).matches?"dark":"light"}function styleSnapshot(state,view){return Object.freeze({look:state.look,lookForm:state.tokens?"runtime":"stylesheet",surface:state.surface,density:state.density,mode:state.mode,accent:state.accentName??state.accent,accentName:state.accentName,accentBackground:state.accentBackground,...state.overrides?{overrides:state.overrides}:{},resolvedMode:styleResolvedMode(state.mode,view)})}function parseLyraStyleRecord(value){const state=styleFromRecord(value),result=styleSnapshot(state);return state.mode==="system"?Object.freeze({...result,resolvedMode:null}):result}function lyraStyleAttributes(style){const attributes={};return styleId(style.look)&&(attributes["data-lr-look"]=style.look),(style.surface==="solid"||style.surface==="glass")&&(attributes["data-lr-surface"]=style.surface),(style.density==="compact"||style.density==="comfortable"||style.density==="touch")&&(attributes["data-lr-density"]=style.density),(style.mode==="light"||style.mode==="dark"||style.mode==="system")&&(attributes["data-lr-mode"]=style.mode),style.accent!==void 0&&(attributes["data-lr-accent"]=style.accent===null?"none":style.accentName===null?"custom":typeof style.accent=="string"&&Object.hasOwn(STYLE_GEMSTONES,style.accent)?style.accent:"custom"),Object.freeze(attributes)}function readStyleState(){if(stylePersistenceFailed)return{...lastStyle};let stored;try{stored=localStorage.getItem(STORAGE_KEY)}catch{return{...lastStyle}}try{return styleFromRecord(JSON.parse(stored??"null"),!0)}catch{return{...DEFAULT_STYLE}}}function persistStyle(state){try{localStorage.setItem(STORAGE_KEY,JSON.stringify(styleRecord(state))),stylePersistenceFailed=!1}catch{stylePersistenceFailed=!0}lastStyle=state}function ownershipFor(element){const node=element;try{const existing=readStyleOwnership(node[STYLE_OWNERSHIP]);if(existing){styleOwnershipFallback.set(element,existing);try{node[STYLE_OWNERSHIP]=existing}catch{}return existing}}catch{}const fallback=styleOwnershipFallback.get(element);if(fallback)return fallback;const record={attributes:new Map,properties:new Map};styleOwnershipFallback.set(element,record);try{node[STYLE_OWNERSHIP]=record}catch{}return record}function writeStyleAttributes(element,desired){const ownership=ownershipFor(element).attributes;for(const[name,value]of ownership)Object.hasOwn(desired,name)||(element.getAttribute(name)===value.written&&(value.before===null?element.removeAttribute(name):element.setAttribute(name,value.before)),ownership.delete(name));for(const[name,value]of Object.entries(desired))ownership.has(name)||ownership.set(name,{before:element.getAttribute(name),priority:"",written:value}),element.getAttribute(name)!==value&&element.setAttribute(name,value),ownership.get(name).written=value}function writeStyleProperties(element,desired){const style=element.style;if(!style)return;const ownership=ownershipFor(element).properties;for(const[name,value]of ownership)desired.has(name)||(style.getPropertyValue(name)===value.written&&style.getPropertyPriority(name)===""&&(value.before?style.setProperty(name,value.before,value.priority):style.removeProperty(name)),ownership.delete(name));for(const[name,value]of desired){ownership.has(name)||ownership.set(name,{before:style.getPropertyValue(name),priority:style.getPropertyPriority(name),written:null});const record=ownership.get(name);(style.getPropertyPriority(name)!==""||style.getPropertyValue(name)!==value&&!(record.requested===value&&record.written===style.getPropertyValue(name)))&&(style.getPropertyPriority(name)&&style.removeProperty(name),style.setProperty(name,value,"")),record.requested=value,record.written=style.getPropertyValue(name)}}function styleSlot(name,mode,accent=!1){return`--_lr-${accent?"a":"l"}${mode==="light"?"l":"d"}-${name.slice(11)}`}function styleFollow(name,value){const channel=name.match(/^--lr-theme-color-(?:success|warning|danger|neutral)-((?:fill|border|on)-(?:quiet|normal|loud))$/)?.[1];return!!(channel&&value===`var(--lr-theme-color-brand-${channel})`)}function styleBranch(name,mode){let result=`var(${styleSlot(name,mode)})`;if(STYLE_FOLLOW.includes(name)){const key=mode==="light"?"l":"d",target=name.replace(/color-(?:success|warning|danger|neutral)-/,"color-brand-");result=`var(--_lr-f${key}-${name.slice(11)},${result})var(--_lr-o${key}-${name.slice(11)},var(${styleSlot(target,mode,!0)},var(${styleSlot(target,mode)})))`}return ALL_RAMP_PROPERTIES.includes(name)?`var(${styleSlot(name,mode,!0)},${result})`:result}function styleResolvedInput(name){const input=`var(--_lr-dark-on,${styleBranch(name,"light")})var(--_lr-light-on,${styleBranch(name,"dark")})`;if(!STYLE_DENSITY.includes(name))return input;const spacing=name.startsWith("--lr-theme-space-");return`var(--_lr-dense-on,${input})var(--_lr-dense-off,max(calc((${input}) * var(--_lr-density-${spacing?"space":"control"},1)),${spacing?"0px":"var(--_lr-density-target-min,0px)"}))`}function styleReferences(state,entries,mode,element,previous){const look=element.closest("[data-lr-look]")?.getAttribute("data-lr-look"),colors=(STYLE_REFERENCE_SURFACES[look??STYLE_DEFAULTS.look]??STYLE_REFERENCE_SURFACES.lyra)[mode],names=["color-surface-default","color-surface-raised","color-text-normal","color-overlay-strong"].slice(0,entries.size?4:1).map(suffix=>`--lr-theme-${suffix}`),supplied=names.map(name=>entries.get(name)),background=typeof state.accentBackground=="string"?state.accentBackground:state.accentBackground?.[mode],style=element.style,ownership=ownershipFor(element).properties,projected=names.flatMap((name,index)=>{const slot=styleSlot(name,mode),owned=ownership.get(slot),before=style?.getPropertyValue(slot)??"",priority=style?.getPropertyPriority(slot)??"",owns=owned&&before===owned.written&&!priority;if(supplied[index]!==void 0&&previous?.[index]===supplied[index]&&owns)return[];if(supplied[index]===void 0&&!owns)return[];const value=supplied[index]??owned?.before??"",nextPriority=supplied[index]===void 0?owned?.priority??"":"";return before===value&&priority===nextPriority?[]:[{slot,before,priority,value,nextPriority}]});try{for(const{slot,value,nextPriority}of projected)style.getPropertyPriority(slot)&&style.removeProperty(slot),value?style.setProperty(slot,value,nextPriority):style.removeProperty(slot);const computed=element.ownerDocument.defaultView?.getComputedStyle(element);return{supplied,colors:names.map((name,index)=>(index===0?background:void 0)??supplied[index]??(computed?.getPropertyValue(styleSlot(name,mode)).trim()||colors[index]))}}finally{for(const{slot,before,priority}of projected)style.getPropertyPriority(slot)&&style.removeProperty(slot),before?style.setProperty(slot,before,priority):style.removeProperty(slot)}}const stylePaintCache=new WeakMap;function stylePaint(state,element,wholeDocument){const desired=new Map,mode=styleResolvedMode(state.mode,element.ownerDocument.defaultView),tokens={...state.tokens,...state.overrides};if(wholeDocument&&mode===null)for(const[name,value]of tokenEntries(tokens,null))desired.set(name,value);if(!Object.keys(tokens).length&&(!state.accent||state.accentName))return stylePaintCache.delete(element),desired;const resolver=element.ownerDocument.defaultView?.getComputedStyle(element).getPropertyValue("--_lr-style-resolver").trim()==="1";let cache=stylePaintCache.get(element);cache||(cache=new Map,stylePaintCache.set(element,cache));let applied=state.accent;for(const branch of["light","dark"]){const entries=tokenEntries(tokens,branch),{colors:references,supplied}=styleReferences(state,entries,branch,element,cache.get(branch)?.supplied),reference=references[0],key=JSON.stringify([tokens,state.accent,state.accentName,references]);let cached=cache.get(branch);if(!cached||cached.key!==key){const background=reference?parseResolvedRgb(reference,MODE_SURFACES[branch],element.ownerDocument)??MODE_SURFACES[branch]:MODE_SURFACES[branch],accent=state.accentName?{applied:state.accent,properties:new Map}:paintAccent(state.accent,branch,background,element.ownerDocument);cached={key,supplied,tokens:floorTokenEntries(entries,background,element.ownerDocument,references),accent:accent.properties,applied:accent.applied},cache.set(branch,cached)}branch===mode&&(applied=cached.applied);const painted=cached.tokens;for(const[name,value]of painted)STYLE_SLOTTED.includes(name)&&styleTokenAllowed(name,value)?(styleFollow(name,value)?(desired.set(`--_lr-f${branch==="light"?"l":"d"}-${name.slice(11)}`," "),desired.set(`--_lr-o${branch==="light"?"l":"d"}-${name.slice(11)}`,"initial")):(desired.set(styleSlot(name,branch),value),STYLE_FOLLOW.includes(name)&&(desired.set(`--_lr-f${branch==="light"?"l":"d"}-${name.slice(11)}`,"initial"),desired.set(`--_lr-o${branch==="light"?"l":"d"}-${name.slice(11)}`," "))),wholeDocument&&branch===mode&&desired.set(name,resolver?styleResolvedInput(name):value)):(wholeDocument?branch===mode:typeof tokens[name]=="string"&&!STYLE_SLOTTED.includes(name))&&desired.set(name,value);if(state.accent&&!state.accentName)for(const[name,value]of cached.accent){if(name==="--lr-theme-accent"){branch===mode&&desired.set(name,value);continue}desired.set(styleSlot(name,branch,!0),value),wholeDocument&&branch===mode&&desired.set(name,resolver?styleResolvedInput(name):value)}}return state.accent=applied,desired}const styleModeGroups=new WeakMap;function attachStyleMode(element,callback){const view=element.ownerDocument.defaultView;if(!view?.matchMedia)return()=>{};let group=styleModeGroups.get(view);if(!group){const query=view.matchMedia(COLOR_SCHEME_QUERY),subscriptions=new Set,modern=typeof query.addEventListener=="function"&&typeof query.removeEventListener=="function",detach=()=>{modern?query.removeEventListener("change",listener):query.removeListener?.(listener)},listener=()=>{for(const subscription2 of subscriptions){const node=subscription2.element.deref();node?.ownerDocument.defaultView===view?subscription2.callback(node):subscriptions.delete(subscription2)}subscriptions.size||(detach(),styleModeGroups.delete(view))};group={query,subscriptions,detach},styleModeGroups.set(view,group),modern?query.addEventListener("change",listener):query.addListener?.(listener)}const subscription={element:new WeakRef(element),callback};group.subscriptions.add(subscription);const active=group;return()=>{active.subscriptions.delete(subscription),active.subscriptions.size||(active.detach(),styleModeGroups.delete(view))}}function applyStyleState(element,state,fields){const snapshot=styleSnapshot(state,element.ownerDocument.defaultView),attributes={...lyraStyleAttributes(snapshot)};if(fields)for(const[field,name]of[["look","look"],["surface","surface"],["density","density"],["mode","mode"],["accent","accent"]])fields.has(field)||delete attributes[`data-lr-${name}`];state.accent&&!state.accentName&&(!fields||fields.has("accent"))&&(attributes["data-lr-accent"]="custom"),(!fields||fields.has("mode"))&&snapshot.resolvedMode&&(attributes["data-lr-theme"]=snapshot.resolvedMode,attributes["data-theme"]=snapshot.resolvedMode),(state.tokens||state.overrides||state.accent&&!state.accentName)&&(attributes["data-lr-theme-scope"]=""),writeStyleAttributes(element,attributes);const desired=stylePaint(state,element,!fields);(!fields||fields.has("surface"))&&element.ownerDocument.defaultView?.getComputedStyle(element).getPropertyValue("--_lr-style-resolver").trim()!=="1"&&styleMaterial(desired,state.surface),!state.accent&&snapshot.accent&&(attributes["data-lr-accent"]="none",!state.tokens&&!state.overrides&&delete attributes["data-lr-theme-scope"],writeStyleAttributes(element,attributes)),writeStyleProperties(element,desired),adoptTokenLayerForScope(element),diagnoseStyleSheets(element,state,fields)}function adoptTokenLayerForScope(element){const root=element.getRootNode();if(root===element.ownerDocument||root.nodeType!==11)return;const adopt=globalThis[Symbol.for("@aceshooting/lyra-ui.adopt-lyra-tokens.v1")];typeof adopt=="function"&&adopt(root)}function diagnoseStyleSheets(element,state,fields){if(!litDevWarnings())return;const selected=field=>!fields||fields.has(field),required=[];selected("look")&&!state.tokens&&state.look!=="lyra"&&state.look!==DEFAULT_STYLE.look&&required.push(["--_lr-look-installed",`${state.look}-1`,`the stylesheet for look '${state.look}'`]),selected("surface")&&state.surface==="glass"&&state.surface!==DEFAULT_STYLE.surface&&required.push(["--_lr-surface-installed","1","surfaces/glass.css"]),selected("density")&&state.density!=="comfortable"&&required.push(["--_lr-density-installed","1","density.css"]),selected("accent")&&state.accentName&&state.accentName!==DEFAULT_STYLE.accentName&&required.push(["--_lr-accent-installed",`${state.accentName}-1`,"accents.css"]);const scopedRuntime=!!(fields&&(state.tokens||state.overrides||state.accent&&!state.accentName)),alternateProfile=selected("look")&&!state.tokens&&state.look!==DEFAULT_STYLE.look||selected("accent")&&!state.accent;if(!required.length&&!scopedRuntime&&!alternateProfile)return;const computed=element.ownerDocument.defaultView?.getComputedStyle(element);if(computed){computed.getPropertyValue("--_lr-style-resolver").trim()!=="1"&&devWarnOnce("lyra-style:resolver","Lyra style choices require theme.css in the scope that owns their attributes.");for(const[property,expected,stylesheet]of required)computed.getPropertyValue(property).trim()!==expected&&devWarnOnce(`lyra-style:${property}:${expected}`,`Lyra could not find ${stylesheet} in this style scope; import or adopt the stylesheet before selecting it.`)}}function emitStyleChange(state,changed){const style=styleSnapshot(state,window);window.dispatchEvent(new CustomEvent("lr-style-change",{detail:Object.freeze({style,changed:Object.freeze([...changed])})}))}function setLyraStyle(choices){const before=readStyleState();return commitStyle(before,normalizeStyleChoices(choices,before))}function commitStyle(before,next){if(typeof document<"u"&&(next.accent=normalizeAccent(next.accent),typeof next.accentBackground=="string"&&(next.accentBackground=normalizeColor(next.accentBackground)),next.accent||(next.accentName=null)),persistStyle(next),typeof document<"u"){applyRootStyle(next)&&persistStyle(next);const changed=STYLE_FIELDS.filter(field=>field==="look"?before.look!==next.look||!tokensEqual(before.tokens,next.tokens):field==="accent"?before.accentName!==next.accentName||!accentsEqual(before.accent,next.accent):JSON.stringify(before[field])!==JSON.stringify(next[field]));emitStyleChange(next,changed)}return styleSnapshot(next,typeof window>"u"?void 0:window)}function applyRootStyle(next){const root=document.documentElement;(next.mode!=="system"||styleModeRoot?.deref()!==root)&&(styleModeCleanup?.(),styleModeCleanup=void 0,styleModeRoot=void 0),adoptLegacyOwnership(root);const requestedAccent=next.accent;return applyStyleState(root,next),next.mode==="system"&&!styleModeCleanup&&(styleModeRoot=new WeakRef(root),styleModeCleanup=attachStyleMode(root,element=>{applyStyleState(element,lastStyle),emitStyleChange(lastStyle,["resolvedMode"])})),!accentsEqual(requestedAccent,next.accent)}function adoptLegacyOwnership(root){const symbol=Symbol.for(TOKEN_OWNERSHIP_SYMBOL),node=root;try{if(!Array.isArray(node[symbol]))return}catch{return}const ownership=ownershipFor(root).properties;for(const name of[...readOwnershipList(),...ALL_RAMP_PROPERTIES,"--lr-theme-accent"])ownership.has(name)||!root.style.getPropertyValue(name)||ownership.set(name,{before:null,priority:"",written:root.style.getPropertyValue(name)});try{delete node[symbol]}catch{}}function getLyraStyle(){return styleSnapshot(readStyleState(),typeof window>"u"?void 0:window)}function startLyraStyle(){const state=readStyleState();return typeof document>"u"?styleSnapshot(state):(state.accent=normalizeAccent(state.accent),typeof state.accentBackground=="string"&&(state.accentBackground=normalizeColor(state.accentBackground)),state.accent||(state.accentName=null),lastStyle=state,applyRootStyle(state),styleSnapshot(state,window))}function resetLyraStyle(fields=STYLE_FIELDS){const defaults={...STYLE_DEFAULTS,accentBackground:null,overrides:null};return setLyraStyle(Object.fromEntries(fields.filter(field=>STYLE_FIELDS.includes(field)).map(field=>[field,defaults[field]])))}function applyLyraStyleScope(element,choices){if(scopeModes.get(element)?.(),scopeModes.delete(element),choices===null){writeStyleAttributes(element,{}),writeStyleProperties(element,new Map);return}const state=normalizeStyleChoices(choices,{...DEFAULT_STYLE}),fields=new Set(STYLE_FIELDS.filter(field=>ownField(choices,field)!==void 0));applyStyleState(element,state,fields),choices.mode==="system"&&scopeModes.set(element,attachStyleMode(element,node=>applyStyleState(node,state,fields)))}const lyraThemeBootstrap=/* @__PURE__ */createLyraThemeBootstrap();export{accentsEqual,applyLyraStyleScope,createLyraThemeBootstrap,defineLyraLook,getLyraStyle,isLyraThemeTokenName,isSafeLyraThemeTokenValue,lyraStyleAttributes,lyraThemeBootstrap,parseLyraStyleRecord,resetLyraStyle,setLyraStyle,startLyraStyle,tokensEqual};