@timmo001/groundwork-tokens 0.3.0 → 0.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/generated/Themes.qml +1 -1
- package/generated/opentui.ts +24 -24
- package/generated/themes.css +32 -32
- package/generated/themes.json +25 -25
- package/generated/themes.ts +25 -25
- package/package.json +2 -1
- package/src/omarchy.test.ts +63 -0
- package/src/omarchy.ts +66 -0
- package/src/runtime.ts +43 -0
- package/src/webmcp.test.ts +111 -0
- package/src/webmcp.ts +249 -0
- package/themes/bridge.json +2 -2
package/generated/Themes.qml
CHANGED
|
@@ -3,5 +3,5 @@ pragma Singleton
|
|
|
3
3
|
import QtQuick
|
|
4
4
|
|
|
5
5
|
QtObject {
|
|
6
|
-
readonly property var themes: ({"base":{"light":{"surface-lower":"#eceff3","surface-low":"#f0f3f7","surface-default":"#f4f7fb","surface-raised":"#fcfdff","surface-overlay":"#ffffff","border-quiet":"#dde0e4","border-normal":"#dadce1","border-loud":"#b3b6ba","text-strong":"#313235","text-primary":"#3e4042","text-secondary":"#6a6b6e","text-disabled":"#9a9b9e","fill-neutral-resting":"#e0e3e7","fill-neutral-hovered":"#d7d9dd","fill-neutral-pressed":"#cdcfd4","fill-neutral-selected":"#cfd3d9","fill-neutral-disabled":"#e9ebef","fill-primary-resting":"#1e1f21","fill-primary-hovered":"#2d2e30","fill-primary-pressed":"#37383a","on-primary":"#fcfdff","accent":"#1e1f21","fill-accent-resting":"#1e1f21","fill-accent-hovered":"#131416","fill-accent-pressed":"#242527","fill-accent-quiet":"#1e1f2129","border-accent":"#1e1f2180","on-accent":"#ffffff","focus":"#1e1f21","link":"#313235","info":"#276baa","fill-info-quiet":"#276baa24","border-info":"#276baa73","success":"#16783a","fill-success-quiet":"#16783a24","border-success":"#16783a73","important":"#7957ac","fill-important-quiet":"#7957ac24","border-important":"#7957ac73","warning":"#8a6100","fill-warning-quiet":"#8a610024","border-warning":"#8a610073","danger":"#ab4944","fill-danger-quiet":"#ab494424","border-danger":"#ab494473"},"dark":{"surface-lower":"#0e1015","surface-low":"#111418","surface-default":"#14171c","surface-raised":"#202328","surface-overlay":"#292c32","border-quiet":"#2c2f34","border-normal":"#36393f","border-loud":"#4b4e54","text-strong":"#e3e4e7","text-primary":"#ced0d2","text-secondary":"#929497","text-disabled":"#646568","fill-neutral-resting":"#292c32","fill-neutral-hovered":"#313439","fill-neutral-pressed":"#383c41","fill-neutral-selected":"#343941","fill-neutral-disabled":"#22252a","fill-primary-resting":"#e6e8eb","fill-primary-hovered":"#d2d4d7","fill-primary-pressed":"#c6c7ca","on-primary":"#14171c","accent":"#e6e8eb","fill-accent-resting":"#e6e8eb","fill-accent-hovered":"#f7f8fb","fill-accent-pressed":"#dee0e2","fill-accent-quiet":"#e6e8eb29","border-accent":"#e6e8eb80","on-accent":"#0b0b0b","focus":"#e6e8eb","link":"#e3e4e7","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"},"darker":{"surface-lower":"#0a0d12","surface-low":"#0e1015","surface-default":"#111418","surface-raised":"#1c1f24","surface-overlay":"#26292e","border-quiet":"#36393f","border-normal":"#4b4e54","border-loud":"#4b4e54","text-strong":"#e3e4e7","text-primary":"#ced0d2","text-secondary":"#929497","text-disabled":"#646568","fill-neutral-resting":"#26292e","fill-neutral-hovered":"#2d3036","fill-neutral-pressed":"#35383d","fill-neutral-selected":"#30353e","fill-neutral-disabled":"#1e2227","fill-primary-resting":"#e6e8eb","fill-primary-hovered":"#d2d4d7","fill-primary-pressed":"#c6c7ca","on-primary":"#111418","accent":"#e6e8eb","fill-accent-resting":"#e6e8eb","fill-accent-hovered":"#f7f8fb","fill-accent-pressed":"#dee0e2","fill-accent-quiet":"#e6e8eb29","border-accent":"#e6e8eb80","on-accent":"#0b0b0b","focus":"#e6e8eb","link":"#e3e4e7","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"}},"glazing":{"light":{"surface-lower":"#eceef8","surface-low":"#f0f2fc","surface-default":"#f4f6ff","surface-raised":"#fdfdff","surface-overlay":"#ffffff","border-quiet":"#dddfe9","border-normal":"#dadce6","border-loud":"#b3b5bf","text-strong":"#313238","text-primary":"#3e3f45","text-secondary":"#696b71","text-disabled":"#999ba1","fill-neutral-resting":"#e0e2ec","fill-neutral-hovered":"#d6d8e3","fill-neutral-pressed":"#cdcfd9","fill-neutral-selected":"#cfd2e1","fill-neutral-disabled":"#e8ebf5","fill-primary-resting":"#1e1f24","fill-primary-hovered":"#2c2d33","fill-primary-pressed":"#37383d","on-primary":"#fdfdff","accent":"#4063b0","fill-accent-resting":"#4063b0","fill-accent-hovered":"#3254a0","fill-accent-pressed":"#476ab9","fill-accent-quiet":"#4063b029","border-accent":"#4063b080","on-accent":"#ffffff","focus":"#4063b0","link":"#4063b0","info":"#276baa","fill-info-quiet":"#276baa24","border-info":"#276baa73","success":"#167839","fill-success-quiet":"#16783924","border-success":"#16783973","important":"#7957ac","fill-important-quiet":"#7957ac24","border-important":"#7957ac73","warning":"#8a6000","fill-warning-quiet":"#8a600024","border-warning":"#8a600073","danger":"#ab4944","fill-danger-quiet":"#ab494424","border-danger":"#ab494473"},"dark":{"surface-lower":"#0e0f1b","surface-low":"#11131e","surface-default":"#141622","surface-raised":"#20222e","surface-overlay":"#292b38","border-quiet":"#2c2e3b","border-normal":"#363845","border-loud":"#4b4d5b","text-strong":"#e2e4ea","text-primary":"#cdcfd5","text-secondary":"#92949a","text-disabled":"#63656a","fill-neutral-resting":"#292b38","fill-neutral-hovered":"#313340","fill-neutral-pressed":"#383b48","fill-neutral-selected":"#34384b","fill-neutral-disabled":"#222431","fill-primary-resting":"#e6e7ee","fill-primary-hovered":"#d2d4da","fill-primary-pressed":"#c5c7cd","on-primary":"#141622","accent":"#749bee","fill-accent-resting":"#749bee","fill-accent-hovered":"#83abff","fill-accent-pressed":"#6d93e6","fill-accent-quiet":"#749bee29","border-accent":"#749bee80","on-accent":"#0b0b0b","focus":"#749bee","link":"#749bee","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"},"darker":{"surface-lower":"#0b0c17","surface-low":"#0e0f1b","surface-default":"#11131e","surface-raised":"#1c1e2a","surface-overlay":"#262834","border-quiet":"#363845","border-normal":"#4b4d5b","border-loud":"#4b4d5b","text-strong":"#e2e4ea","text-primary":"#cdcfd5","text-secondary":"#92949a","text-disabled":"#63656a","fill-neutral-resting":"#262834","fill-neutral-hovered":"#2d2f3c","fill-neutral-pressed":"#343744","fill-neutral-selected":"#303447","fill-neutral-disabled":"#1e212d","fill-primary-resting":"#e6e7ee","fill-primary-hovered":"#d2d4da","fill-primary-pressed":"#c5c7cd","on-primary":"#11131e","accent":"#749bee","fill-accent-resting":"#749bee","fill-accent-hovered":"#83abff","fill-accent-pressed":"#6d93e6","fill-accent-quiet":"#749bee29","border-accent":"#749bee80","on-accent":"#0b0b0b","focus":"#749bee","link":"#749bee","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"}},"survey":{"light":{"surface-lower":"#edeef2","surface-low":"#f1f3f6","surface-default":"#f5f7fa","surface-raised":"#fdfdff","surface-overlay":"#ffffff","border-quiet":"#dee0e3","border-normal":"#dbdce0","border-loud":"#b4b6b9","text-strong":"#323234","text-primary":"#3f3f41","text-secondary":"#6a6b6d","text-disabled":"#999b9d","fill-neutral-resting":"#e1e3e6","fill-neutral-hovered":"#d7d9dc","fill-neutral-pressed":"#cecfd3","fill-neutral-selected":"#d0d3d8","fill-neutral-disabled":"#e9ebef","fill-primary-resting":"#1e1f21","fill-primary-hovered":"#2d2e2f","fill-primary-pressed":"#37383a","on-primary":"#fdfdff","accent":"#ab3a79","fill-accent-resting":"#ab3a79","fill-accent-hovered":"#9a2a6a","fill-accent-pressed":"#b34280","fill-accent-quiet":"#ab3a7929","border-accent":"#ab3a7980","on-accent":"#ffffff","focus":"#ab3a79","link":"#ab3a79","info":"#276baa","fill-info-quiet":"#276baa24","border-info":"#276baa73","success":"#147739","fill-success-quiet":"#14773924","border-success":"#14773973","important":"#7957ac","fill-important-quiet":"#7957ac24","border-important":"#7957ac73","warning":"#8a6000","fill-warning-quiet":"#8a600024","border-warning":"#8a600073","danger":"#ab4944","fill-danger-quiet":"#ab494424","border-danger":"#ab494473"},"dark":{"surface-lower":"#0f1014","surface-low":"#121418","surface-default":"#15171b","surface-raised":"#212327","surface-overlay":"#2a2c31","border-quiet":"#2d2f33","border-normal":"#37393e","border-loud":"#4c4e53","text-strong":"#e3e5e7","text-primary":"#ced0d2","text-secondary":"#939496","text-disabled":"#656567","fill-neutral-resting":"#2a2c31","fill-neutral-hovered":"#323438","fill-neutral-pressed":"#393c40","fill-neutral-selected":"#363940","fill-neutral-disabled":"#232529","fill-primary-resting":"#e7e8ea","fill-primary-hovered":"#d3d4d6","fill-primary-pressed":"#c6c7c9","on-primary":"#15171b","accent":"#ea74b1","fill-accent-resting":"#ea74b1","fill-accent-hovered":"#fc84c1","fill-accent-pressed":"#e16ca9","fill-accent-quiet":"#ea74b129","border-accent":"#ea74b180","on-accent":"#0b0b0b","focus":"#ea74b1","link":"#ea74b1","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"},"darker":{"surface-lower":"#0b0d11","surface-low":"#0f1014","surface-default":"#121418","surface-raised":"#1d1f23","surface-overlay":"#27292d","border-quiet":"#37393e","border-normal":"#4c4e53","border-loud":"#4c4e53","text-strong":"#e3e5e7","text-primary":"#ced0d2","text-secondary":"#939496","text-disabled":"#656567","fill-neutral-resting":"#27292d","fill-neutral-hovered":"#2e3035","fill-neutral-pressed":"#36383c","fill-neutral-selected":"#32353c","fill-neutral-disabled":"#202226","fill-primary-resting":"#e7e8ea","fill-primary-hovered":"#d3d4d6","fill-primary-pressed":"#c6c7c9","on-primary":"#121418","accent":"#ea74b1","fill-accent-resting":"#ea74b1","fill-accent-hovered":"#fc84c1","fill-accent-pressed":"#e16ca9","fill-accent-quiet":"#ea74b129","border-accent":"#ea74b180","on-accent":"#0b0b0b","focus":"#ea74b1","link":"#ea74b1","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"}},"slate":{"light":{"surface-lower":"#f2ecf4","surface-low":"#f6f0f9","surface-default":"#faf4fd","surface-raised":"#fffcff","surface-overlay":"#ffffff","border-quiet":"#e3dde6","border-normal":"#e0dae2","border-loud":"#b9b3bb","text-strong":"#343136","text-primary":"#423e43","text-secondary":"#6d696e","text-disabled":"#9d999f","fill-neutral-resting":"#e6e0e9","fill-neutral-hovered":"#dcd7df","fill-neutral-pressed":"#d3cdd5","fill-neutral-selected":"#d8cfdb","fill-neutral-disabled":"#efe9f1","fill-primary-resting":"#211e22","fill-primary-hovered":"#2f2d31","fill-primary-pressed":"#3a373b","on-primary":"#fffcff","accent":"#7e539d","fill-accent-resting":"#7e539d","fill-accent-hovered":"#70458d","fill-accent-pressed":"#865aa5","fill-accent-quiet":"#7e539d29","border-accent":"#7e539d80","on-accent":"#ffffff","focus":"#7e539d","link":"#7e539d","info":"#276ba9","fill-info-quiet":"#276ba924","border-info":"#276ba973","success":"#147739","fill-success-quiet":"#14773924","border-success":"#14773973","important":"#7857ac","fill-important-quiet":"#7857ac24","border-important":"#7857ac73","warning":"#8a6000","fill-warning-quiet":"#8a600024","border-warning":"#8a600073","danger":"#ab4943","fill-danger-quiet":"#ab494324","border-danger":"#ab494373"},"dark":{"surface-lower":"#140e17","surface-low":"#17111a","surface-default":"#1b141e","surface-raised":"#27202a","surface-overlay":"#312934","border-quiet":"#332c36","border-normal":"#3e3641","border-loud":"#534b57","text-strong":"#e6e3e8","text-primary":"#d1ced3","text-secondary":"#969398","text-disabled":"#676468","fill-neutral-resting":"#312934","fill-neutral-hovered":"#38313c","fill-neutral-pressed":"#403844","fill-neutral-selected":"#403445","fill-neutral-disabled":"#29222c","fill-primary-resting":"#eae6ec","fill-primary-hovered":"#d6d3d8","fill-primary-pressed":"#c9c6cb","on-primary":"#1b141e","accent":"#b78ad8","fill-accent-resting":"#b78ad8","fill-accent-hovered":"#c799e9","fill-accent-pressed":"#af82d0","fill-accent-quiet":"#b78ad829","border-accent":"#b78ad880","on-accent":"#0b0b0b","focus":"#b78ad8","link":"#b78ad8","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"},"darker":{"surface-lower":"#110a13","surface-low":"#140e17","surface-default":"#17111a","surface-raised":"#231c26","surface-overlay":"#2d2630","border-quiet":"#3e3641","border-normal":"#534b57","border-loud":"#534b57","text-strong":"#e6e3e8","text-primary":"#d1ced3","text-secondary":"#969398","text-disabled":"#676468","fill-neutral-resting":"#2d2630","fill-neutral-hovered":"#352d38","fill-neutral-pressed":"#3c3540","fill-neutral-selected":"#3c3041","fill-neutral-disabled":"#261f29","fill-primary-resting":"#eae6ec","fill-primary-hovered":"#d6d3d8","fill-primary-pressed":"#c9c6cb","on-primary":"#17111a","accent":"#b78ad8","fill-accent-resting":"#b78ad8","fill-accent-hovered":"#c799e9","fill-accent-pressed":"#af82d0","fill-accent-quiet":"#b78ad829","border-accent":"#b78ad880","on-accent":"#0b0b0b","focus":"#b78ad8","link":"#b78ad8","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"}},"bridge":{"light":{"surface-lower":"#eeeef1","surface-low":"#f2f2f6","surface-default":"#f6f6fa","surface-raised":"#fdfdff","surface-overlay":"#ffffff","border-quiet":"#dfdfe3","border-normal":"#dcdcdf","border-loud":"#b5b5b9","text-strong":"#323234","text-primary":"#3f3f41","text-secondary":"#6a6b6c","text-disabled":"#9a9b9d","fill-neutral-resting":"#e2e2e6","fill-neutral-hovered":"#d9d9dc","fill-neutral-pressed":"#cfcfd2","fill-neutral-selected":"#d2d2d7","fill-neutral-disabled":"#ebebee","fill-primary-resting":"#1f1f21","fill-primary-hovered":"#2e2e2f","fill-primary-pressed":"#383839","on-primary":"#fdfdff","accent":"#1465b9","fill-accent-resting":"#1465b9","fill-accent-hovered":"#0057a8","fill-accent-pressed":"#1f6dc1","fill-accent-quiet":"#1465b929","border-accent":"#1465b980","on-accent":"#ffffff","focus":"#1465b9","link":"#1465b9","info":"#276baa","fill-info-quiet":"#276baa24","border-info":"#276baa73","success":"#157839","fill-success-quiet":"#15783924","border-success":"#15783973","important":"#7957ac","fill-important-quiet":"#7957ac24","border-important":"#7957ac73","warning":"#8a6000","fill-warning-quiet":"#8a600024","border-warning":"#8a600073","danger":"#ab4944","fill-danger-quiet":"#ab494424","border-danger":"#ab494473"},"dark":{"surface-lower":"#101014","surface-low":"#141418","surface-default":"#17171b","surface-raised":"#232327","surface-overlay":"#2c2c31","border-quiet":"#2f2f33","border-normal":"#39393e","border-loud":"#4e4e53","text-strong":"#e4e5e7","text-primary":"#cfd0d2","text-secondary":"#949597","text-disabled":"#656667","fill-neutral-resting":"#2c2c31","fill-neutral-hovered":"#343438","fill-neutral-pressed":"#3c3c40","fill-neutral-selected":"#39393f","fill-neutral-disabled":"#252529","fill-primary-resting":"#e7e7ea","fill-primary-hovered":"#d4d4d6","fill-primary-pressed":"#c7c7c9","on-primary":"#17171b","accent":"#549ff7","fill-accent-resting":"#549ff7","fill-accent-hovered":"#6bafff","fill-accent-pressed":"#4c97ee","fill-accent-quiet":"#549ff729","border-accent":"#549ff780","on-accent":"#0b0b0b","focus":"#549ff7","link":"#549ff7","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"},"darker":{"surface-lower":"#0d0d11","surface-low":"#101014","surface-default":"#141418","surface-raised":"#1f1f23","surface-overlay":"#29292d","border-quiet":"#39393e","border-normal":"#4e4e53","border-loud":"#4e4e53","text-strong":"#e4e5e7","text-primary":"#cfd0d2","text-secondary":"#949597","text-disabled":"#656667","fill-neutral-resting":"#29292d","fill-neutral-hovered":"#303035","fill-neutral-pressed":"#38383c","fill-neutral-selected":"#35353c","fill-neutral-disabled":"#222226","fill-primary-resting":"#e7e7ea","fill-primary-hovered":"#d4d4d6","fill-primary-pressed":"#c7c7c9","on-primary":"#141418","accent":"#549ff7","fill-accent-resting":"#549ff7","fill-accent-hovered":"#6bafff","fill-accent-pressed":"#4c97ee","fill-accent-quiet":"#549ff729","border-accent":"#549ff780","on-accent":"#0b0b0b","focus":"#549ff7","link":"#549ff7","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"}},"snag":{"light":{"surface-lower":"#eeeef0","surface-low":"#f2f2f4","surface-default":"#f6f6f8","surface-raised":"#fdfdfe","surface-overlay":"#ffffff","border-quiet":"#dfdfe1","border-normal":"#dcdcde","border-loud":"#b5b5b7","text-strong":"#323233","text-primary":"#3f3f40","text-secondary":"#6a6b6b","text-disabled":"#9a9b9c","fill-neutral-resting":"#e3e3e4","fill-neutral-hovered":"#d9d9da","fill-neutral-pressed":"#cfcfd1","fill-neutral-selected":"#d2d2d5","fill-neutral-disabled":"#ebebed","fill-primary-resting":"#1f1f20","fill-primary-hovered":"#2e2e2e","fill-primary-pressed":"#383839","on-primary":"#fdfdfe","accent":"#8a5c00","fill-accent-resting":"#8a5c00","fill-accent-hovered":"#784f00","fill-accent-pressed":"#926306","fill-accent-quiet":"#8a5c0029","border-accent":"#8a5c0080","on-accent":"#ffffff","focus":"#8a5c00","link":"#8a5c00","info":"#276baa","fill-info-quiet":"#276baa24","border-info":"#276baa73","success":"#147839","fill-success-quiet":"#14783924","border-success":"#14783973","important":"#7957ac","fill-important-quiet":"#7957ac24","border-important":"#7957ac73","warning":"#8a6000","fill-warning-quiet":"#8a600024","border-warning":"#8a600073","danger":"#ab4944","fill-danger-quiet":"#ab494424","border-danger":"#ab494473"},"dark":{"surface-lower":"#101012","surface-low":"#141416","surface-default":"#171719","surface-raised":"#232325","surface-overlay":"#2c2c2f","border-quiet":"#2f2f31","border-normal":"#39393b","border-loud":"#4e4e51","text-strong":"#e4e5e6","text-primary":"#cfd0d1","text-secondary":"#949596","text-disabled":"#656666","fill-neutral-resting":"#2c2c2f","fill-neutral-hovered":"#343436","fill-neutral-pressed":"#3c3c3e","fill-neutral-selected":"#39393c","fill-neutral-disabled":"#252527","fill-primary-resting":"#e8e8e9","fill-primary-hovered":"#d4d4d5","fill-primary-pressed":"#c7c7c8","on-primary":"#171719","accent":"#c99137","fill-accent-resting":"#c99137","fill-accent-hovered":"#d9a149","fill-accent-pressed":"#c1892e","fill-accent-quiet":"#c9913729","border-accent":"#c9913780","on-accent":"#0b0b0b","focus":"#c99137","link":"#c99137","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"},"darker":{"surface-lower":"#0d0d0f","surface-low":"#101012","surface-default":"#141416","surface-raised":"#1f1f21","surface-overlay":"#29292b","border-quiet":"#39393b","border-normal":"#4e4e51","border-loud":"#4e4e51","text-strong":"#e4e5e6","text-primary":"#cfd0d1","text-secondary":"#949596","text-disabled":"#656666","fill-neutral-resting":"#29292b","fill-neutral-hovered":"#303032","fill-neutral-pressed":"#38383a","fill-neutral-selected":"#353538","fill-neutral-disabled":"#222224","fill-primary-resting":"#e8e8e9","fill-primary-hovered":"#d4d4d5","fill-primary-pressed":"#c7c7c8","on-primary":"#141416","accent":"#c99137","fill-accent-resting":"#c99137","fill-accent-hovered":"#d9a149","fill-accent-pressed":"#c1892e","fill-accent-quiet":"#c9913729","border-accent":"#c9913780","on-accent":"#0b0b0b","focus":"#c99137","link":"#c99137","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"}},"catppuccin-frappe":{"dark":{"surface-lower":"#232634","surface-low":"#292d3e","surface-default":"#303446","surface-raised":"#414559","surface-overlay":"#484c60","border-quiet":"#494f64","border-normal":"#51576d","border-loud":"#676e85","text-strong":"#c6d0f5","text-primary":"#c6d0f5","text-secondary":"#a5adce","text-disabled":"#a5adce99","fill-neutral-resting":"#494d61","fill-neutral-hovered":"#51556a","fill-neutral-pressed":"#595e73","fill-neutral-selected":"#575b70","fill-neutral-disabled":"#45495d","fill-primary-resting":"#c6d0f5","fill-primary-hovered":"#b3bde1","fill-primary-pressed":"#a6b0d4","on-primary":"#303446","accent":"#ca9ee6","fill-accent-resting":"#ca9ee6","fill-accent-hovered":"#e7bdff","fill-accent-pressed":"#d0a4ec","fill-accent-quiet":"#d8acf429","border-accent":"#d8acf480","on-accent":"#0b0b0b","focus":"#ca9ee6","link":"#d8acf4","info":"#8caaee","fill-info-quiet":"#8caaee24","border-info":"#8caaee73","success":"#a6d189","fill-success-quiet":"#a6d18924","border-success":"#a6d18973","important":"#ca9ee6","fill-important-quiet":"#ca9ee624","border-important":"#ca9ee673","warning":"#e5c890","fill-warning-quiet":"#e5c89024","border-warning":"#e5c89073","danger":"#e78284","fill-danger-quiet":"#e7828424","border-danger":"#e7828473"},"darker":{"surface-lower":"#191b29","surface-low":"#1e2233","surface-default":"#25293a","surface-raised":"#35394d","surface-overlay":"#3c4053","border-quiet":"#51576d","border-normal":"#676e85","border-loud":"#676e85","text-strong":"#c6d0f5","text-primary":"#c6d0f5","text-secondary":"#a5adce","text-disabled":"#a5adce99","fill-neutral-resting":"#3d4155","fill-neutral-hovered":"#45495d","fill-neutral-pressed":"#4d5166","fill-neutral-selected":"#4a4e63","fill-neutral-disabled":"#393d51","fill-primary-resting":"#c6d0f5","fill-primary-hovered":"#b3bde1","fill-primary-pressed":"#a6b0d4","on-primary":"#25293a","accent":"#ca9ee6","fill-accent-resting":"#ca9ee6","fill-accent-hovered":"#e7bdff","fill-accent-pressed":"#d0a4ec","fill-accent-quiet":"#d8acf429","border-accent":"#d8acf480","on-accent":"#0b0b0b","focus":"#ca9ee6","link":"#d8acf4","info":"#8caaee","fill-info-quiet":"#8caaee24","border-info":"#8caaee73","success":"#a6d189","fill-success-quiet":"#a6d18924","border-success":"#a6d18973","important":"#ca9ee6","fill-important-quiet":"#ca9ee624","border-important":"#ca9ee673","warning":"#e5c890","fill-warning-quiet":"#e5c89024","border-warning":"#e5c89073","danger":"#e78284","fill-danger-quiet":"#e7828424","border-danger":"#e7828473"}},"catppuccin-latte":{"light":{"surface-lower":"#dce0e8","surface-low":"#e6e8ec","surface-default":"#eff1f5","surface-raised":"#e6e9ef","surface-overlay":"#dee1e7","border-quiet":"#c6cad6","border-normal":"#bcc0cc","border-loud":"#a3a7b2","text-strong":"#4c4f69","text-primary":"#4c4f69","text-secondary":"#6c6f85","text-disabled":"#6c6f8599","fill-neutral-resting":"#dcdfe5","fill-neutral-hovered":"#d2d5db","fill-neutral-pressed":"#c9ccd1","fill-neutral-selected":"#cccfd5","fill-neutral-disabled":"#e1e4ea","fill-primary-resting":"#4c4f69","fill-primary-hovered":"#5c607b","fill-primary-pressed":"#686b86","on-primary":"#eff1f5","accent":"#8839ef","fill-accent-resting":"#8839ef","fill-accent-hovered":"#6e00ce","fill-accent-pressed":"#8331e8","fill-accent-quiet":"#7b25df29","border-accent":"#7b25df80","on-accent":"#ffffff","focus":"#8839ef","link":"#7b25df","info":"#1e66f5","fill-info-quiet":"#1e66f524","border-info":"#1e66f573","success":"#40a02b","fill-success-quiet":"#40a02b24","border-success":"#40a02b73","important":"#8839ef","fill-important-quiet":"#8839ef24","border-important":"#8839ef73","warning":"#df8e1d","fill-warning-quiet":"#df8e1d24","border-warning":"#df8e1d73","danger":"#d20f39","fill-danger-quiet":"#d20f3924","border-danger":"#d20f3973"}},"catppuccin-macchiato":{"dark":{"surface-lower":"#181926","surface-low":"#1d2032","surface-default":"#24273a","surface-raised":"#363a4f","surface-overlay":"#3c4156","border-quiet":"#41455b","border-normal":"#494d64","border-loud":"#5f637b","text-strong":"#cad3f5","text-primary":"#cad3f5","text-secondary":"#a5adcb","text-disabled":"#a5adcb99","fill-neutral-resting":"#3e4257","fill-neutral-hovered":"#464a60","fill-neutral-pressed":"#4e5268","fill-neutral-selected":"#4b4f65","fill-neutral-disabled":"#3a3e53","fill-primary-resting":"#cad3f5","fill-primary-hovered":"#b7c0e1","fill-primary-pressed":"#aab3d4","on-primary":"#24273a","accent":"#c6a0f6","fill-accent-resting":"#c6a0f6","fill-accent-hovered":"#d5b2ff","fill-accent-pressed":"#be98ee","fill-accent-quiet":"#c6a0f629","border-accent":"#c6a0f680","on-accent":"#0b0b0b","focus":"#c6a0f6","link":"#c6a0f6","info":"#8aadf4","fill-info-quiet":"#8aadf424","border-info":"#8aadf473","success":"#a6da95","fill-success-quiet":"#a6da9524","border-success":"#a6da9573","important":"#c6a0f6","fill-important-quiet":"#c6a0f624","border-important":"#c6a0f673","warning":"#eed49f","fill-warning-quiet":"#eed49f24","border-warning":"#eed49f73","danger":"#ed8796","fill-danger-quiet":"#ed879624","border-danger":"#ed879673"},"darker":{"surface-lower":"#0e0f1b","surface-low":"#131527","surface-default":"#191c2e","surface-raised":"#2b2e43","surface-overlay":"#31354a","border-quiet":"#494d64","border-normal":"#5f637b","border-loud":"#5f637b","text-strong":"#cad3f5","text-primary":"#cad3f5","text-secondary":"#a5adcb","text-disabled":"#a5adcb99","fill-neutral-resting":"#32364b","fill-neutral-hovered":"#3a3e53","fill-neutral-pressed":"#42465c","fill-neutral-selected":"#3f4359","fill-neutral-disabled":"#2e3247","fill-primary-resting":"#cad3f5","fill-primary-hovered":"#b7c0e1","fill-primary-pressed":"#aab3d4","on-primary":"#191c2e","accent":"#c6a0f6","fill-accent-resting":"#c6a0f6","fill-accent-hovered":"#d5b2ff","fill-accent-pressed":"#be98ee","fill-accent-quiet":"#c6a0f629","border-accent":"#c6a0f680","on-accent":"#0b0b0b","focus":"#c6a0f6","link":"#c6a0f6","info":"#8aadf4","fill-info-quiet":"#8aadf424","border-info":"#8aadf473","success":"#a6da95","fill-success-quiet":"#a6da9524","border-success":"#a6da9573","important":"#c6a0f6","fill-important-quiet":"#c6a0f624","border-important":"#c6a0f673","warning":"#eed49f","fill-warning-quiet":"#eed49f24","border-warning":"#eed49f73","danger":"#ed8796","fill-danger-quiet":"#ed879624","border-danger":"#ed879673"}},"catppuccin-mocha":{"dark":{"surface-lower":"#11111b","surface-low":"#171726","surface-default":"#1e1e2e","surface-raised":"#313244","surface-overlay":"#37384b","border-quiet":"#3d3f52","border-normal":"#45475a","border-loud":"#5b5d71","text-strong":"#cdd6f4","text-primary":"#cdd6f4","text-secondary":"#a6adc8","text-disabled":"#a6adc899","fill-neutral-resting":"#393a4c","fill-neutral-hovered":"#404254","fill-neutral-pressed":"#484a5d","fill-neutral-selected":"#46475a","fill-neutral-disabled":"#353648","fill-primary-resting":"#cdd6f4","fill-primary-hovered":"#bac3e0","fill-primary-pressed":"#adb6d3","on-primary":"#1e1e2e","accent":"#cba6f7","fill-accent-resting":"#cba6f7","fill-accent-hovered":"#d9b8ff","fill-accent-pressed":"#c39eef","fill-accent-quiet":"#cba6f729","border-accent":"#cba6f780","on-accent":"#0b0b0b","focus":"#cba6f7","link":"#cba6f7","info":"#89b4fa","fill-info-quiet":"#89b4fa24","border-info":"#89b4fa73","success":"#a6e3a1","fill-success-quiet":"#a6e3a124","border-success":"#a6e3a173","important":"#cba6f7","fill-important-quiet":"#cba6f724","border-important":"#cba6f773","warning":"#f9e2af","fill-warning-quiet":"#f9e2af24","border-warning":"#f9e2af73","danger":"#f38ba8","fill-danger-quiet":"#f38ba824","border-danger":"#f38ba873"},"darker":{"surface-lower":"#080811","surface-low":"#0d0d1c","surface-default":"#141423","surface-raised":"#262738","surface-overlay":"#2c2d3f","border-quiet":"#45475a","border-normal":"#5b5d71","border-loud":"#5b5d71","text-strong":"#cdd6f4","text-primary":"#cdd6f4","text-secondary":"#a6adc8","text-disabled":"#a6adc899","fill-neutral-resting":"#2d2e40","fill-neutral-hovered":"#353648","fill-neutral-pressed":"#3c3e50","fill-neutral-selected":"#3a3b4d","fill-neutral-disabled":"#2a2a3c","fill-primary-resting":"#cdd6f4","fill-primary-hovered":"#bac3e0","fill-primary-pressed":"#adb6d3","on-primary":"#141423","accent":"#cba6f7","fill-accent-resting":"#cba6f7","fill-accent-hovered":"#d9b8ff","fill-accent-pressed":"#c39eef","fill-accent-quiet":"#cba6f729","border-accent":"#cba6f780","on-accent":"#0b0b0b","focus":"#cba6f7","link":"#cba6f7","info":"#89b4fa","fill-info-quiet":"#89b4fa24","border-info":"#89b4fa73","success":"#a6e3a1","fill-success-quiet":"#a6e3a124","border-success":"#a6e3a173","important":"#cba6f7","fill-important-quiet":"#cba6f724","border-important":"#cba6f773","warning":"#f9e2af","fill-warning-quiet":"#f9e2af24","border-warning":"#f9e2af73","danger":"#f38ba8","fill-danger-quiet":"#f38ba824","border-danger":"#f38ba873"}},"tokyo-night":{"dark":{"surface-lower":"#16161e","surface-low":"#171823","surface-default":"#1a1b26","surface-raised":"#292e42","surface-overlay":"#2f3449","border-quiet":"#333a58","border-normal":"#3b4261","border-loud":"#505878","text-strong":"#c0caf5","text-primary":"#c0caf5","text-secondary":"#a9b1d6","text-disabled":"#a9b1d699","fill-neutral-resting":"#30364a","fill-neutral-hovered":"#383d52","fill-neutral-pressed":"#40455b","fill-neutral-selected":"#3d4358","fill-neutral-disabled":"#2d3246","fill-primary-resting":"#c0caf5","fill-primary-hovered":"#adb7e1","fill-primary-pressed":"#a1aad4","on-primary":"#1a1b26","accent":"#7aa2f7","fill-accent-resting":"#7aa2f7","fill-accent-hovered":"#8db3ff","fill-accent-pressed":"#739aee","fill-accent-quiet":"#7aa2f729","border-accent":"#7aa2f780","on-accent":"#0b0b0b","focus":"#7aa2f7","link":"#7aa2f7","info":"#7aa2f7","fill-info-quiet":"#7aa2f724","border-info":"#7aa2f773","success":"#9ece6a","fill-success-quiet":"#9ece6a24","border-success":"#9ece6a73","important":"#bb9af7","fill-important-quiet":"#bb9af724","border-important":"#bb9af773","warning":"#e0af68","fill-warning-quiet":"#e0af6824","border-warning":"#e0af6873","danger":"#f7768e","fill-danger-quiet":"#f7768e24","border-danger":"#f7768e73"},"darker":{"surface-lower":"#0c0c14","surface-low":"#0e0e19","surface-default":"#10111b","surface-raised":"#1e2336","surface-overlay":"#24293d","border-quiet":"#3b4261","border-normal":"#505878","border-loud":"#505878","text-strong":"#c0caf5","text-primary":"#c0caf5","text-secondary":"#a9b1d6","text-disabled":"#a9b1d699","fill-neutral-resting":"#252a3e","fill-neutral-hovered":"#2d3246","fill-neutral-pressed":"#343a4e","fill-neutral-selected":"#32374b","fill-neutral-disabled":"#22273a","fill-primary-resting":"#c0caf5","fill-primary-hovered":"#adb7e1","fill-primary-pressed":"#a1aad4","on-primary":"#10111b","accent":"#7aa2f7","fill-accent-resting":"#7aa2f7","fill-accent-hovered":"#8db3ff","fill-accent-pressed":"#739aee","fill-accent-quiet":"#7aa2f729","border-accent":"#7aa2f780","on-accent":"#0b0b0b","focus":"#7aa2f7","link":"#7aa2f7","info":"#7aa2f7","fill-info-quiet":"#7aa2f724","border-info":"#7aa2f773","success":"#9ece6a","fill-success-quiet":"#9ece6a24","border-success":"#9ece6a73","important":"#bb9af7","fill-important-quiet":"#bb9af724","border-important":"#bb9af773","warning":"#e0af68","fill-warning-quiet":"#e0af6824","border-warning":"#e0af6873","danger":"#f7768e","fill-danger-quiet":"#f7768e24","border-danger":"#f7768e73"}},"tokyo-night-day":{"light":{"surface-lower":"#d0d5e3","surface-low":"#dadbe0","surface-default":"#e1e2e7","surface-raised":"#e9e9ed","surface-overlay":"#e1e1e5","border-quiet":"#ced2e4","border-normal":"#c4c8da","border-loud":"#abafc0","text-strong":"#3760bf","text-primary":"#3760bf","text-secondary":"#6172b0","text-disabled":"#6172b099","fill-neutral-resting":"#dfdfe3","fill-neutral-hovered":"#d5d5d9","fill-neutral-pressed":"#ccccd0","fill-neutral-selected":"#cfcfd3","fill-neutral-disabled":"#e4e4e8","fill-primary-resting":"#3760bf","fill-primary-hovered":"#4772d3","fill-primary-pressed":"#537fe1","on-primary":"#e1e2e7","accent":"#2e7de9","fill-accent-resting":"#2e7de9","fill-accent-hovered":"#0042a5","fill-accent-pressed":"#0059c0","fill-accent-quiet":"#0051b729","border-accent":"#0051b780","on-accent":"#ffffff","focus":"#2e7de9","link":"#0051b7","info":"#2e7de9","fill-info-quiet":"#2e7de924","border-info":"#2e7de973","success":"#587539","fill-success-quiet":"#58753924","border-success":"#58753973","important":"#9854f1","fill-important-quiet":"#9854f124","border-important":"#9854f173","warning":"#8c6c3e","fill-warning-quiet":"#8c6c3e24","border-warning":"#8c6c3e73","danger":"#f52a65","fill-danger-quiet":"#f52a6524","border-danger":"#f52a6573"}},"tokyo-night-moon":{"dark":{"surface-lower":"#1e2030","surface-low":"#202234","surface-default":"#222436","surface-raised":"#2f334d","surface-overlay":"#353954","border-quiet":"#333a58","border-normal":"#3b4261","border-loud":"#505878","text-strong":"#c8d3f5","text-primary":"#c8d3f5","text-secondary":"#828bb8","text-disabled":"#828bb899","fill-neutral-resting":"#373b55","fill-neutral-hovered":"#3e435e","fill-neutral-pressed":"#464b66","fill-neutral-selected":"#444863","fill-neutral-disabled":"#333751","fill-primary-resting":"#c8d3f5","fill-primary-hovered":"#b5c0e1","fill-primary-pressed":"#a8b3d4","on-primary":"#222436","accent":"#82aaff","fill-accent-resting":"#82aaff","fill-accent-hovered":"#99bbff","fill-accent-pressed":"#7ba2f6","fill-accent-quiet":"#82aaff29","border-accent":"#82aaff80","on-accent":"#0b0b0b","focus":"#82aaff","link":"#82aaff","info":"#82aaff","fill-info-quiet":"#82aaff24","border-info":"#82aaff73","success":"#c3e88d","fill-success-quiet":"#c3e88d24","border-success":"#c3e88d73","important":"#c099ff","fill-important-quiet":"#c099ff24","border-important":"#c099ff73","warning":"#ffc777","fill-warning-quiet":"#ffc77724","border-warning":"#ffc77773","danger":"#ff757f","fill-danger-quiet":"#ff757f24","border-danger":"#ff757f73"},"darker":{"surface-lower":"#141525","surface-low":"#161728","surface-default":"#18192b","surface-raised":"#242841","surface-overlay":"#2a2e48","border-quiet":"#3b4261","border-normal":"#505878","border-loud":"#505878","text-strong":"#c8d3f5","text-primary":"#c8d3f5","text-secondary":"#828bb8","text-disabled":"#828bb899","fill-neutral-resting":"#2b2f49","fill-neutral-hovered":"#333751","fill-neutral-pressed":"#3a3f5a","fill-neutral-selected":"#383c57","fill-neutral-disabled":"#282b45","fill-primary-resting":"#c8d3f5","fill-primary-hovered":"#b5c0e1","fill-primary-pressed":"#a8b3d4","on-primary":"#18192b","accent":"#82aaff","fill-accent-resting":"#82aaff","fill-accent-hovered":"#99bbff","fill-accent-pressed":"#7ba2f6","fill-accent-quiet":"#82aaff29","border-accent":"#82aaff80","on-accent":"#0b0b0b","focus":"#82aaff","link":"#82aaff","info":"#82aaff","fill-info-quiet":"#82aaff24","border-info":"#82aaff73","success":"#c3e88d","fill-success-quiet":"#c3e88d24","border-success":"#c3e88d73","important":"#c099ff","fill-important-quiet":"#c099ff24","border-important":"#c099ff73","warning":"#ffc777","fill-warning-quiet":"#ffc77724","border-warning":"#ffc77773","danger":"#ff757f","fill-danger-quiet":"#ff757f24","border-danger":"#ff757f73"}},"tokyo-night-storm":{"dark":{"surface-lower":"#1f2335","surface-low":"#222538","surface-default":"#24283b","surface-raised":"#292e42","surface-overlay":"#2f3449","border-quiet":"#333a58","border-normal":"#3b4261","border-loud":"#505878","text-strong":"#c0caf5","text-primary":"#c0caf5","text-secondary":"#a9b1d6","text-disabled":"#a9b1d699","fill-neutral-resting":"#30364a","fill-neutral-hovered":"#383d52","fill-neutral-pressed":"#40455b","fill-neutral-selected":"#3d4358","fill-neutral-disabled":"#2d3246","fill-primary-resting":"#c0caf5","fill-primary-hovered":"#adb7e1","fill-primary-pressed":"#a1aad4","on-primary":"#24283b","accent":"#7aa2f7","fill-accent-resting":"#7aa2f7","fill-accent-hovered":"#8db3ff","fill-accent-pressed":"#739aee","fill-accent-quiet":"#7aa2f729","border-accent":"#7aa2f780","on-accent":"#0b0b0b","focus":"#7aa2f7","link":"#7aa2f7","info":"#7aa2f7","fill-info-quiet":"#7aa2f724","border-info":"#7aa2f773","success":"#9ece6a","fill-success-quiet":"#9ece6a24","border-success":"#9ece6a73","important":"#bb9af7","fill-important-quiet":"#bb9af724","border-important":"#bb9af773","warning":"#e0af68","fill-warning-quiet":"#e0af6824","border-warning":"#e0af6873","danger":"#f7768e","fill-danger-quiet":"#f7768e24","border-danger":"#f7768e73"},"darker":{"surface-lower":"#15182a","surface-low":"#171b2d","surface-default":"#191d2f","surface-raised":"#1e2336","surface-overlay":"#24293d","border-quiet":"#3b4261","border-normal":"#505878","border-loud":"#505878","text-strong":"#c0caf5","text-primary":"#c0caf5","text-secondary":"#a9b1d6","text-disabled":"#a9b1d699","fill-neutral-resting":"#252a3e","fill-neutral-hovered":"#2d3246","fill-neutral-pressed":"#343a4e","fill-neutral-selected":"#32374b","fill-neutral-disabled":"#22273a","fill-primary-resting":"#c0caf5","fill-primary-hovered":"#adb7e1","fill-primary-pressed":"#a1aad4","on-primary":"#191d2f","accent":"#7aa2f7","fill-accent-resting":"#7aa2f7","fill-accent-hovered":"#8db3ff","fill-accent-pressed":"#739aee","fill-accent-quiet":"#7aa2f729","border-accent":"#7aa2f780","on-accent":"#0b0b0b","focus":"#7aa2f7","link":"#7aa2f7","info":"#7aa2f7","fill-info-quiet":"#7aa2f724","border-info":"#7aa2f773","success":"#9ece6a","fill-success-quiet":"#9ece6a24","border-success":"#9ece6a73","important":"#bb9af7","fill-important-quiet":"#bb9af724","border-important":"#bb9af773","warning":"#e0af68","fill-warning-quiet":"#e0af6824","border-warning":"#e0af6873","danger":"#f7768e","fill-danger-quiet":"#f7768e24","border-danger":"#f7768e73"}}})
|
|
6
|
+
readonly property var themes: ({"base":{"light":{"surface-lower":"#eceff3","surface-low":"#f0f3f7","surface-default":"#f4f7fb","surface-raised":"#fcfdff","surface-overlay":"#ffffff","border-quiet":"#dde0e4","border-normal":"#dadce1","border-loud":"#b3b6ba","text-strong":"#313235","text-primary":"#3e4042","text-secondary":"#6a6b6e","text-disabled":"#9a9b9e","fill-neutral-resting":"#e0e3e7","fill-neutral-hovered":"#d7d9dd","fill-neutral-pressed":"#cdcfd4","fill-neutral-selected":"#cfd3d9","fill-neutral-disabled":"#e9ebef","fill-primary-resting":"#1e1f21","fill-primary-hovered":"#2d2e30","fill-primary-pressed":"#37383a","on-primary":"#fcfdff","accent":"#1e1f21","fill-accent-resting":"#1e1f21","fill-accent-hovered":"#131416","fill-accent-pressed":"#242527","fill-accent-quiet":"#1e1f2129","border-accent":"#1e1f2180","on-accent":"#ffffff","focus":"#1e1f21","link":"#313235","info":"#276baa","fill-info-quiet":"#276baa24","border-info":"#276baa73","success":"#16783a","fill-success-quiet":"#16783a24","border-success":"#16783a73","important":"#7957ac","fill-important-quiet":"#7957ac24","border-important":"#7957ac73","warning":"#8a6100","fill-warning-quiet":"#8a610024","border-warning":"#8a610073","danger":"#ab4944","fill-danger-quiet":"#ab494424","border-danger":"#ab494473"},"dark":{"surface-lower":"#0e1015","surface-low":"#111418","surface-default":"#14171c","surface-raised":"#202328","surface-overlay":"#292c32","border-quiet":"#2c2f34","border-normal":"#36393f","border-loud":"#4b4e54","text-strong":"#e3e4e7","text-primary":"#ced0d2","text-secondary":"#929497","text-disabled":"#646568","fill-neutral-resting":"#292c32","fill-neutral-hovered":"#313439","fill-neutral-pressed":"#383c41","fill-neutral-selected":"#343941","fill-neutral-disabled":"#22252a","fill-primary-resting":"#e6e8eb","fill-primary-hovered":"#d2d4d7","fill-primary-pressed":"#c6c7ca","on-primary":"#14171c","accent":"#e6e8eb","fill-accent-resting":"#e6e8eb","fill-accent-hovered":"#f7f8fb","fill-accent-pressed":"#dee0e2","fill-accent-quiet":"#e6e8eb29","border-accent":"#e6e8eb80","on-accent":"#0b0b0b","focus":"#e6e8eb","link":"#e3e4e7","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"},"darker":{"surface-lower":"#0a0d12","surface-low":"#0e1015","surface-default":"#111418","surface-raised":"#1c1f24","surface-overlay":"#26292e","border-quiet":"#36393f","border-normal":"#4b4e54","border-loud":"#4b4e54","text-strong":"#e3e4e7","text-primary":"#ced0d2","text-secondary":"#929497","text-disabled":"#646568","fill-neutral-resting":"#26292e","fill-neutral-hovered":"#2d3036","fill-neutral-pressed":"#35383d","fill-neutral-selected":"#30353e","fill-neutral-disabled":"#1e2227","fill-primary-resting":"#e6e8eb","fill-primary-hovered":"#d2d4d7","fill-primary-pressed":"#c6c7ca","on-primary":"#111418","accent":"#e6e8eb","fill-accent-resting":"#e6e8eb","fill-accent-hovered":"#f7f8fb","fill-accent-pressed":"#dee0e2","fill-accent-quiet":"#e6e8eb29","border-accent":"#e6e8eb80","on-accent":"#0b0b0b","focus":"#e6e8eb","link":"#e3e4e7","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"}},"glazing":{"light":{"surface-lower":"#eceef8","surface-low":"#f0f2fc","surface-default":"#f4f6ff","surface-raised":"#fdfdff","surface-overlay":"#ffffff","border-quiet":"#dddfe9","border-normal":"#dadce6","border-loud":"#b3b5bf","text-strong":"#313238","text-primary":"#3e3f45","text-secondary":"#696b71","text-disabled":"#999ba1","fill-neutral-resting":"#e0e2ec","fill-neutral-hovered":"#d6d8e3","fill-neutral-pressed":"#cdcfd9","fill-neutral-selected":"#cfd2e1","fill-neutral-disabled":"#e8ebf5","fill-primary-resting":"#1e1f24","fill-primary-hovered":"#2c2d33","fill-primary-pressed":"#37383d","on-primary":"#fdfdff","accent":"#4063b0","fill-accent-resting":"#4063b0","fill-accent-hovered":"#3254a0","fill-accent-pressed":"#476ab9","fill-accent-quiet":"#4063b029","border-accent":"#4063b080","on-accent":"#ffffff","focus":"#4063b0","link":"#4063b0","info":"#276baa","fill-info-quiet":"#276baa24","border-info":"#276baa73","success":"#167839","fill-success-quiet":"#16783924","border-success":"#16783973","important":"#7957ac","fill-important-quiet":"#7957ac24","border-important":"#7957ac73","warning":"#8a6000","fill-warning-quiet":"#8a600024","border-warning":"#8a600073","danger":"#ab4944","fill-danger-quiet":"#ab494424","border-danger":"#ab494473"},"dark":{"surface-lower":"#0e0f1b","surface-low":"#11131e","surface-default":"#141622","surface-raised":"#20222e","surface-overlay":"#292b38","border-quiet":"#2c2e3b","border-normal":"#363845","border-loud":"#4b4d5b","text-strong":"#e2e4ea","text-primary":"#cdcfd5","text-secondary":"#92949a","text-disabled":"#63656a","fill-neutral-resting":"#292b38","fill-neutral-hovered":"#313340","fill-neutral-pressed":"#383b48","fill-neutral-selected":"#34384b","fill-neutral-disabled":"#222431","fill-primary-resting":"#e6e7ee","fill-primary-hovered":"#d2d4da","fill-primary-pressed":"#c5c7cd","on-primary":"#141622","accent":"#749bee","fill-accent-resting":"#749bee","fill-accent-hovered":"#83abff","fill-accent-pressed":"#6d93e6","fill-accent-quiet":"#749bee29","border-accent":"#749bee80","on-accent":"#0b0b0b","focus":"#749bee","link":"#749bee","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"},"darker":{"surface-lower":"#0b0c17","surface-low":"#0e0f1b","surface-default":"#11131e","surface-raised":"#1c1e2a","surface-overlay":"#262834","border-quiet":"#363845","border-normal":"#4b4d5b","border-loud":"#4b4d5b","text-strong":"#e2e4ea","text-primary":"#cdcfd5","text-secondary":"#92949a","text-disabled":"#63656a","fill-neutral-resting":"#262834","fill-neutral-hovered":"#2d2f3c","fill-neutral-pressed":"#343744","fill-neutral-selected":"#303447","fill-neutral-disabled":"#1e212d","fill-primary-resting":"#e6e7ee","fill-primary-hovered":"#d2d4da","fill-primary-pressed":"#c5c7cd","on-primary":"#11131e","accent":"#749bee","fill-accent-resting":"#749bee","fill-accent-hovered":"#83abff","fill-accent-pressed":"#6d93e6","fill-accent-quiet":"#749bee29","border-accent":"#749bee80","on-accent":"#0b0b0b","focus":"#749bee","link":"#749bee","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"}},"survey":{"light":{"surface-lower":"#edeef2","surface-low":"#f1f3f6","surface-default":"#f5f7fa","surface-raised":"#fdfdff","surface-overlay":"#ffffff","border-quiet":"#dee0e3","border-normal":"#dbdce0","border-loud":"#b4b6b9","text-strong":"#323234","text-primary":"#3f3f41","text-secondary":"#6a6b6d","text-disabled":"#999b9d","fill-neutral-resting":"#e1e3e6","fill-neutral-hovered":"#d7d9dc","fill-neutral-pressed":"#cecfd3","fill-neutral-selected":"#d0d3d8","fill-neutral-disabled":"#e9ebef","fill-primary-resting":"#1e1f21","fill-primary-hovered":"#2d2e2f","fill-primary-pressed":"#37383a","on-primary":"#fdfdff","accent":"#ab3a79","fill-accent-resting":"#ab3a79","fill-accent-hovered":"#9a2a6a","fill-accent-pressed":"#b34280","fill-accent-quiet":"#ab3a7929","border-accent":"#ab3a7980","on-accent":"#ffffff","focus":"#ab3a79","link":"#ab3a79","info":"#276baa","fill-info-quiet":"#276baa24","border-info":"#276baa73","success":"#147739","fill-success-quiet":"#14773924","border-success":"#14773973","important":"#7957ac","fill-important-quiet":"#7957ac24","border-important":"#7957ac73","warning":"#8a6000","fill-warning-quiet":"#8a600024","border-warning":"#8a600073","danger":"#ab4944","fill-danger-quiet":"#ab494424","border-danger":"#ab494473"},"dark":{"surface-lower":"#0f1014","surface-low":"#121418","surface-default":"#15171b","surface-raised":"#212327","surface-overlay":"#2a2c31","border-quiet":"#2d2f33","border-normal":"#37393e","border-loud":"#4c4e53","text-strong":"#e3e5e7","text-primary":"#ced0d2","text-secondary":"#939496","text-disabled":"#656567","fill-neutral-resting":"#2a2c31","fill-neutral-hovered":"#323438","fill-neutral-pressed":"#393c40","fill-neutral-selected":"#363940","fill-neutral-disabled":"#232529","fill-primary-resting":"#e7e8ea","fill-primary-hovered":"#d3d4d6","fill-primary-pressed":"#c6c7c9","on-primary":"#15171b","accent":"#ea74b1","fill-accent-resting":"#ea74b1","fill-accent-hovered":"#fc84c1","fill-accent-pressed":"#e16ca9","fill-accent-quiet":"#ea74b129","border-accent":"#ea74b180","on-accent":"#0b0b0b","focus":"#ea74b1","link":"#ea74b1","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"},"darker":{"surface-lower":"#0b0d11","surface-low":"#0f1014","surface-default":"#121418","surface-raised":"#1d1f23","surface-overlay":"#27292d","border-quiet":"#37393e","border-normal":"#4c4e53","border-loud":"#4c4e53","text-strong":"#e3e5e7","text-primary":"#ced0d2","text-secondary":"#939496","text-disabled":"#656567","fill-neutral-resting":"#27292d","fill-neutral-hovered":"#2e3035","fill-neutral-pressed":"#36383c","fill-neutral-selected":"#32353c","fill-neutral-disabled":"#202226","fill-primary-resting":"#e7e8ea","fill-primary-hovered":"#d3d4d6","fill-primary-pressed":"#c6c7c9","on-primary":"#121418","accent":"#ea74b1","fill-accent-resting":"#ea74b1","fill-accent-hovered":"#fc84c1","fill-accent-pressed":"#e16ca9","fill-accent-quiet":"#ea74b129","border-accent":"#ea74b180","on-accent":"#0b0b0b","focus":"#ea74b1","link":"#ea74b1","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"}},"slate":{"light":{"surface-lower":"#f2ecf4","surface-low":"#f6f0f9","surface-default":"#faf4fd","surface-raised":"#fffcff","surface-overlay":"#ffffff","border-quiet":"#e3dde6","border-normal":"#e0dae2","border-loud":"#b9b3bb","text-strong":"#343136","text-primary":"#423e43","text-secondary":"#6d696e","text-disabled":"#9d999f","fill-neutral-resting":"#e6e0e9","fill-neutral-hovered":"#dcd7df","fill-neutral-pressed":"#d3cdd5","fill-neutral-selected":"#d8cfdb","fill-neutral-disabled":"#efe9f1","fill-primary-resting":"#211e22","fill-primary-hovered":"#2f2d31","fill-primary-pressed":"#3a373b","on-primary":"#fffcff","accent":"#7e539d","fill-accent-resting":"#7e539d","fill-accent-hovered":"#70458d","fill-accent-pressed":"#865aa5","fill-accent-quiet":"#7e539d29","border-accent":"#7e539d80","on-accent":"#ffffff","focus":"#7e539d","link":"#7e539d","info":"#276ba9","fill-info-quiet":"#276ba924","border-info":"#276ba973","success":"#147739","fill-success-quiet":"#14773924","border-success":"#14773973","important":"#7857ac","fill-important-quiet":"#7857ac24","border-important":"#7857ac73","warning":"#8a6000","fill-warning-quiet":"#8a600024","border-warning":"#8a600073","danger":"#ab4943","fill-danger-quiet":"#ab494324","border-danger":"#ab494373"},"dark":{"surface-lower":"#140e17","surface-low":"#17111a","surface-default":"#1b141e","surface-raised":"#27202a","surface-overlay":"#312934","border-quiet":"#332c36","border-normal":"#3e3641","border-loud":"#534b57","text-strong":"#e6e3e8","text-primary":"#d1ced3","text-secondary":"#969398","text-disabled":"#676468","fill-neutral-resting":"#312934","fill-neutral-hovered":"#38313c","fill-neutral-pressed":"#403844","fill-neutral-selected":"#403445","fill-neutral-disabled":"#29222c","fill-primary-resting":"#eae6ec","fill-primary-hovered":"#d6d3d8","fill-primary-pressed":"#c9c6cb","on-primary":"#1b141e","accent":"#b78ad8","fill-accent-resting":"#b78ad8","fill-accent-hovered":"#c799e9","fill-accent-pressed":"#af82d0","fill-accent-quiet":"#b78ad829","border-accent":"#b78ad880","on-accent":"#0b0b0b","focus":"#b78ad8","link":"#b78ad8","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"},"darker":{"surface-lower":"#110a13","surface-low":"#140e17","surface-default":"#17111a","surface-raised":"#231c26","surface-overlay":"#2d2630","border-quiet":"#3e3641","border-normal":"#534b57","border-loud":"#534b57","text-strong":"#e6e3e8","text-primary":"#d1ced3","text-secondary":"#969398","text-disabled":"#676468","fill-neutral-resting":"#2d2630","fill-neutral-hovered":"#352d38","fill-neutral-pressed":"#3c3540","fill-neutral-selected":"#3c3041","fill-neutral-disabled":"#261f29","fill-primary-resting":"#eae6ec","fill-primary-hovered":"#d6d3d8","fill-primary-pressed":"#c9c6cb","on-primary":"#17111a","accent":"#b78ad8","fill-accent-resting":"#b78ad8","fill-accent-hovered":"#c799e9","fill-accent-pressed":"#af82d0","fill-accent-quiet":"#b78ad829","border-accent":"#b78ad880","on-accent":"#0b0b0b","focus":"#b78ad8","link":"#b78ad8","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"}},"bridge":{"light":{"surface-lower":"#eeeef1","surface-low":"#f2f2f6","surface-default":"#f6f6fa","surface-raised":"#fdfdff","surface-overlay":"#ffffff","border-quiet":"#dfdfe3","border-normal":"#dcdcdf","border-loud":"#b5b5b9","text-strong":"#323234","text-primary":"#3f3f41","text-secondary":"#6a6b6c","text-disabled":"#9a9b9d","fill-neutral-resting":"#e2e2e6","fill-neutral-hovered":"#d9d9dc","fill-neutral-pressed":"#cfcfd2","fill-neutral-selected":"#d2d2d7","fill-neutral-disabled":"#ebebee","fill-primary-resting":"#1f1f21","fill-primary-hovered":"#2e2e2f","fill-primary-pressed":"#383839","on-primary":"#fdfdff","accent":"#7152bb","fill-accent-resting":"#7152bb","fill-accent-hovered":"#6343ab","fill-accent-pressed":"#785ac4","fill-accent-quiet":"#7152bb29","border-accent":"#7152bb80","on-accent":"#ffffff","focus":"#7152bb","link":"#7152bb","info":"#276baa","fill-info-quiet":"#276baa24","border-info":"#276baa73","success":"#157839","fill-success-quiet":"#15783924","border-success":"#15783973","important":"#7957ac","fill-important-quiet":"#7957ac24","border-important":"#7957ac73","warning":"#8a6000","fill-warning-quiet":"#8a600024","border-warning":"#8a600073","danger":"#ab4944","fill-danger-quiet":"#ab494424","border-danger":"#ab494473"},"dark":{"surface-lower":"#101014","surface-low":"#141418","surface-default":"#17171b","surface-raised":"#232327","surface-overlay":"#2c2c31","border-quiet":"#2f2f33","border-normal":"#39393e","border-loud":"#4e4e53","text-strong":"#e4e5e7","text-primary":"#cfd0d2","text-secondary":"#949597","text-disabled":"#656667","fill-neutral-resting":"#2c2c31","fill-neutral-hovered":"#343438","fill-neutral-pressed":"#3c3c40","fill-neutral-selected":"#39393f","fill-neutral-disabled":"#252529","fill-primary-resting":"#e7e7ea","fill-primary-hovered":"#d4d4d6","fill-primary-pressed":"#c7c7c9","on-primary":"#17171b","accent":"#a78bfa","fill-accent-resting":"#a78bfa","fill-accent-hovered":"#b69eff","fill-accent-pressed":"#9f83f1","fill-accent-quiet":"#a78bfa29","border-accent":"#a78bfa80","on-accent":"#0b0b0b","focus":"#a78bfa","link":"#a78bfa","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"},"darker":{"surface-lower":"#0d0d11","surface-low":"#101014","surface-default":"#141418","surface-raised":"#1f1f23","surface-overlay":"#29292d","border-quiet":"#39393e","border-normal":"#4e4e53","border-loud":"#4e4e53","text-strong":"#e4e5e7","text-primary":"#cfd0d2","text-secondary":"#949597","text-disabled":"#656667","fill-neutral-resting":"#29292d","fill-neutral-hovered":"#303035","fill-neutral-pressed":"#38383c","fill-neutral-selected":"#35353c","fill-neutral-disabled":"#222226","fill-primary-resting":"#e7e7ea","fill-primary-hovered":"#d4d4d6","fill-primary-pressed":"#c7c7c9","on-primary":"#141418","accent":"#a78bfa","fill-accent-resting":"#a78bfa","fill-accent-hovered":"#b69eff","fill-accent-pressed":"#9f83f1","fill-accent-quiet":"#a78bfa29","border-accent":"#a78bfa80","on-accent":"#0b0b0b","focus":"#a78bfa","link":"#a78bfa","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"}},"snag":{"light":{"surface-lower":"#eeeef0","surface-low":"#f2f2f4","surface-default":"#f6f6f8","surface-raised":"#fdfdfe","surface-overlay":"#ffffff","border-quiet":"#dfdfe1","border-normal":"#dcdcde","border-loud":"#b5b5b7","text-strong":"#323233","text-primary":"#3f3f40","text-secondary":"#6a6b6b","text-disabled":"#9a9b9c","fill-neutral-resting":"#e3e3e4","fill-neutral-hovered":"#d9d9da","fill-neutral-pressed":"#cfcfd1","fill-neutral-selected":"#d2d2d5","fill-neutral-disabled":"#ebebed","fill-primary-resting":"#1f1f20","fill-primary-hovered":"#2e2e2e","fill-primary-pressed":"#383839","on-primary":"#fdfdfe","accent":"#8a5c00","fill-accent-resting":"#8a5c00","fill-accent-hovered":"#784f00","fill-accent-pressed":"#926306","fill-accent-quiet":"#8a5c0029","border-accent":"#8a5c0080","on-accent":"#ffffff","focus":"#8a5c00","link":"#8a5c00","info":"#276baa","fill-info-quiet":"#276baa24","border-info":"#276baa73","success":"#147839","fill-success-quiet":"#14783924","border-success":"#14783973","important":"#7957ac","fill-important-quiet":"#7957ac24","border-important":"#7957ac73","warning":"#8a6000","fill-warning-quiet":"#8a600024","border-warning":"#8a600073","danger":"#ab4944","fill-danger-quiet":"#ab494424","border-danger":"#ab494473"},"dark":{"surface-lower":"#101012","surface-low":"#141416","surface-default":"#171719","surface-raised":"#232325","surface-overlay":"#2c2c2f","border-quiet":"#2f2f31","border-normal":"#39393b","border-loud":"#4e4e51","text-strong":"#e4e5e6","text-primary":"#cfd0d1","text-secondary":"#949596","text-disabled":"#656666","fill-neutral-resting":"#2c2c2f","fill-neutral-hovered":"#343436","fill-neutral-pressed":"#3c3c3e","fill-neutral-selected":"#39393c","fill-neutral-disabled":"#252527","fill-primary-resting":"#e8e8e9","fill-primary-hovered":"#d4d4d5","fill-primary-pressed":"#c7c7c8","on-primary":"#171719","accent":"#c99137","fill-accent-resting":"#c99137","fill-accent-hovered":"#d9a149","fill-accent-pressed":"#c1892e","fill-accent-quiet":"#c9913729","border-accent":"#c9913780","on-accent":"#0b0b0b","focus":"#c99137","link":"#c99137","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"},"darker":{"surface-lower":"#0d0d0f","surface-low":"#101012","surface-default":"#141416","surface-raised":"#1f1f21","surface-overlay":"#29292b","border-quiet":"#39393b","border-normal":"#4e4e51","border-loud":"#4e4e51","text-strong":"#e4e5e6","text-primary":"#cfd0d1","text-secondary":"#949596","text-disabled":"#656666","fill-neutral-resting":"#29292b","fill-neutral-hovered":"#303032","fill-neutral-pressed":"#38383a","fill-neutral-selected":"#353538","fill-neutral-disabled":"#222224","fill-primary-resting":"#e8e8e9","fill-primary-hovered":"#d4d4d5","fill-primary-pressed":"#c7c7c8","on-primary":"#141416","accent":"#c99137","fill-accent-resting":"#c99137","fill-accent-hovered":"#d9a149","fill-accent-pressed":"#c1892e","fill-accent-quiet":"#c9913729","border-accent":"#c9913780","on-accent":"#0b0b0b","focus":"#c99137","link":"#c99137","info":"#5b9ee0","fill-info-quiet":"#5b9ee024","border-info":"#5b9ee073","success":"#52ab69","fill-success-quiet":"#52ab6924","border-success":"#52ab6973","important":"#aa89e2","fill-important-quiet":"#aa89e224","border-important":"#aa89e273","warning":"#c49027","fill-warning-quiet":"#c4902724","border-warning":"#c4902773","danger":"#e47c74","fill-danger-quiet":"#e47c7424","border-danger":"#e47c7473"}},"catppuccin-frappe":{"dark":{"surface-lower":"#232634","surface-low":"#292d3e","surface-default":"#303446","surface-raised":"#414559","surface-overlay":"#484c60","border-quiet":"#494f64","border-normal":"#51576d","border-loud":"#676e85","text-strong":"#c6d0f5","text-primary":"#c6d0f5","text-secondary":"#a5adce","text-disabled":"#a5adce99","fill-neutral-resting":"#494d61","fill-neutral-hovered":"#51556a","fill-neutral-pressed":"#595e73","fill-neutral-selected":"#575b70","fill-neutral-disabled":"#45495d","fill-primary-resting":"#c6d0f5","fill-primary-hovered":"#b3bde1","fill-primary-pressed":"#a6b0d4","on-primary":"#303446","accent":"#ca9ee6","fill-accent-resting":"#ca9ee6","fill-accent-hovered":"#e7bdff","fill-accent-pressed":"#d0a4ec","fill-accent-quiet":"#d8acf429","border-accent":"#d8acf480","on-accent":"#0b0b0b","focus":"#ca9ee6","link":"#d8acf4","info":"#8caaee","fill-info-quiet":"#8caaee24","border-info":"#8caaee73","success":"#a6d189","fill-success-quiet":"#a6d18924","border-success":"#a6d18973","important":"#ca9ee6","fill-important-quiet":"#ca9ee624","border-important":"#ca9ee673","warning":"#e5c890","fill-warning-quiet":"#e5c89024","border-warning":"#e5c89073","danger":"#e78284","fill-danger-quiet":"#e7828424","border-danger":"#e7828473"},"darker":{"surface-lower":"#191b29","surface-low":"#1e2233","surface-default":"#25293a","surface-raised":"#35394d","surface-overlay":"#3c4053","border-quiet":"#51576d","border-normal":"#676e85","border-loud":"#676e85","text-strong":"#c6d0f5","text-primary":"#c6d0f5","text-secondary":"#a5adce","text-disabled":"#a5adce99","fill-neutral-resting":"#3d4155","fill-neutral-hovered":"#45495d","fill-neutral-pressed":"#4d5166","fill-neutral-selected":"#4a4e63","fill-neutral-disabled":"#393d51","fill-primary-resting":"#c6d0f5","fill-primary-hovered":"#b3bde1","fill-primary-pressed":"#a6b0d4","on-primary":"#25293a","accent":"#ca9ee6","fill-accent-resting":"#ca9ee6","fill-accent-hovered":"#e7bdff","fill-accent-pressed":"#d0a4ec","fill-accent-quiet":"#d8acf429","border-accent":"#d8acf480","on-accent":"#0b0b0b","focus":"#ca9ee6","link":"#d8acf4","info":"#8caaee","fill-info-quiet":"#8caaee24","border-info":"#8caaee73","success":"#a6d189","fill-success-quiet":"#a6d18924","border-success":"#a6d18973","important":"#ca9ee6","fill-important-quiet":"#ca9ee624","border-important":"#ca9ee673","warning":"#e5c890","fill-warning-quiet":"#e5c89024","border-warning":"#e5c89073","danger":"#e78284","fill-danger-quiet":"#e7828424","border-danger":"#e7828473"}},"catppuccin-latte":{"light":{"surface-lower":"#dce0e8","surface-low":"#e6e8ec","surface-default":"#eff1f5","surface-raised":"#e6e9ef","surface-overlay":"#dee1e7","border-quiet":"#c6cad6","border-normal":"#bcc0cc","border-loud":"#a3a7b2","text-strong":"#4c4f69","text-primary":"#4c4f69","text-secondary":"#6c6f85","text-disabled":"#6c6f8599","fill-neutral-resting":"#dcdfe5","fill-neutral-hovered":"#d2d5db","fill-neutral-pressed":"#c9ccd1","fill-neutral-selected":"#cccfd5","fill-neutral-disabled":"#e1e4ea","fill-primary-resting":"#4c4f69","fill-primary-hovered":"#5c607b","fill-primary-pressed":"#686b86","on-primary":"#eff1f5","accent":"#8839ef","fill-accent-resting":"#8839ef","fill-accent-hovered":"#6e00ce","fill-accent-pressed":"#8331e8","fill-accent-quiet":"#7b25df29","border-accent":"#7b25df80","on-accent":"#ffffff","focus":"#8839ef","link":"#7b25df","info":"#1e66f5","fill-info-quiet":"#1e66f524","border-info":"#1e66f573","success":"#40a02b","fill-success-quiet":"#40a02b24","border-success":"#40a02b73","important":"#8839ef","fill-important-quiet":"#8839ef24","border-important":"#8839ef73","warning":"#df8e1d","fill-warning-quiet":"#df8e1d24","border-warning":"#df8e1d73","danger":"#d20f39","fill-danger-quiet":"#d20f3924","border-danger":"#d20f3973"}},"catppuccin-macchiato":{"dark":{"surface-lower":"#181926","surface-low":"#1d2032","surface-default":"#24273a","surface-raised":"#363a4f","surface-overlay":"#3c4156","border-quiet":"#41455b","border-normal":"#494d64","border-loud":"#5f637b","text-strong":"#cad3f5","text-primary":"#cad3f5","text-secondary":"#a5adcb","text-disabled":"#a5adcb99","fill-neutral-resting":"#3e4257","fill-neutral-hovered":"#464a60","fill-neutral-pressed":"#4e5268","fill-neutral-selected":"#4b4f65","fill-neutral-disabled":"#3a3e53","fill-primary-resting":"#cad3f5","fill-primary-hovered":"#b7c0e1","fill-primary-pressed":"#aab3d4","on-primary":"#24273a","accent":"#c6a0f6","fill-accent-resting":"#c6a0f6","fill-accent-hovered":"#d5b2ff","fill-accent-pressed":"#be98ee","fill-accent-quiet":"#c6a0f629","border-accent":"#c6a0f680","on-accent":"#0b0b0b","focus":"#c6a0f6","link":"#c6a0f6","info":"#8aadf4","fill-info-quiet":"#8aadf424","border-info":"#8aadf473","success":"#a6da95","fill-success-quiet":"#a6da9524","border-success":"#a6da9573","important":"#c6a0f6","fill-important-quiet":"#c6a0f624","border-important":"#c6a0f673","warning":"#eed49f","fill-warning-quiet":"#eed49f24","border-warning":"#eed49f73","danger":"#ed8796","fill-danger-quiet":"#ed879624","border-danger":"#ed879673"},"darker":{"surface-lower":"#0e0f1b","surface-low":"#131527","surface-default":"#191c2e","surface-raised":"#2b2e43","surface-overlay":"#31354a","border-quiet":"#494d64","border-normal":"#5f637b","border-loud":"#5f637b","text-strong":"#cad3f5","text-primary":"#cad3f5","text-secondary":"#a5adcb","text-disabled":"#a5adcb99","fill-neutral-resting":"#32364b","fill-neutral-hovered":"#3a3e53","fill-neutral-pressed":"#42465c","fill-neutral-selected":"#3f4359","fill-neutral-disabled":"#2e3247","fill-primary-resting":"#cad3f5","fill-primary-hovered":"#b7c0e1","fill-primary-pressed":"#aab3d4","on-primary":"#191c2e","accent":"#c6a0f6","fill-accent-resting":"#c6a0f6","fill-accent-hovered":"#d5b2ff","fill-accent-pressed":"#be98ee","fill-accent-quiet":"#c6a0f629","border-accent":"#c6a0f680","on-accent":"#0b0b0b","focus":"#c6a0f6","link":"#c6a0f6","info":"#8aadf4","fill-info-quiet":"#8aadf424","border-info":"#8aadf473","success":"#a6da95","fill-success-quiet":"#a6da9524","border-success":"#a6da9573","important":"#c6a0f6","fill-important-quiet":"#c6a0f624","border-important":"#c6a0f673","warning":"#eed49f","fill-warning-quiet":"#eed49f24","border-warning":"#eed49f73","danger":"#ed8796","fill-danger-quiet":"#ed879624","border-danger":"#ed879673"}},"catppuccin-mocha":{"dark":{"surface-lower":"#11111b","surface-low":"#171726","surface-default":"#1e1e2e","surface-raised":"#313244","surface-overlay":"#37384b","border-quiet":"#3d3f52","border-normal":"#45475a","border-loud":"#5b5d71","text-strong":"#cdd6f4","text-primary":"#cdd6f4","text-secondary":"#a6adc8","text-disabled":"#a6adc899","fill-neutral-resting":"#393a4c","fill-neutral-hovered":"#404254","fill-neutral-pressed":"#484a5d","fill-neutral-selected":"#46475a","fill-neutral-disabled":"#353648","fill-primary-resting":"#cdd6f4","fill-primary-hovered":"#bac3e0","fill-primary-pressed":"#adb6d3","on-primary":"#1e1e2e","accent":"#cba6f7","fill-accent-resting":"#cba6f7","fill-accent-hovered":"#d9b8ff","fill-accent-pressed":"#c39eef","fill-accent-quiet":"#cba6f729","border-accent":"#cba6f780","on-accent":"#0b0b0b","focus":"#cba6f7","link":"#cba6f7","info":"#89b4fa","fill-info-quiet":"#89b4fa24","border-info":"#89b4fa73","success":"#a6e3a1","fill-success-quiet":"#a6e3a124","border-success":"#a6e3a173","important":"#cba6f7","fill-important-quiet":"#cba6f724","border-important":"#cba6f773","warning":"#f9e2af","fill-warning-quiet":"#f9e2af24","border-warning":"#f9e2af73","danger":"#f38ba8","fill-danger-quiet":"#f38ba824","border-danger":"#f38ba873"},"darker":{"surface-lower":"#080811","surface-low":"#0d0d1c","surface-default":"#141423","surface-raised":"#262738","surface-overlay":"#2c2d3f","border-quiet":"#45475a","border-normal":"#5b5d71","border-loud":"#5b5d71","text-strong":"#cdd6f4","text-primary":"#cdd6f4","text-secondary":"#a6adc8","text-disabled":"#a6adc899","fill-neutral-resting":"#2d2e40","fill-neutral-hovered":"#353648","fill-neutral-pressed":"#3c3e50","fill-neutral-selected":"#3a3b4d","fill-neutral-disabled":"#2a2a3c","fill-primary-resting":"#cdd6f4","fill-primary-hovered":"#bac3e0","fill-primary-pressed":"#adb6d3","on-primary":"#141423","accent":"#cba6f7","fill-accent-resting":"#cba6f7","fill-accent-hovered":"#d9b8ff","fill-accent-pressed":"#c39eef","fill-accent-quiet":"#cba6f729","border-accent":"#cba6f780","on-accent":"#0b0b0b","focus":"#cba6f7","link":"#cba6f7","info":"#89b4fa","fill-info-quiet":"#89b4fa24","border-info":"#89b4fa73","success":"#a6e3a1","fill-success-quiet":"#a6e3a124","border-success":"#a6e3a173","important":"#cba6f7","fill-important-quiet":"#cba6f724","border-important":"#cba6f773","warning":"#f9e2af","fill-warning-quiet":"#f9e2af24","border-warning":"#f9e2af73","danger":"#f38ba8","fill-danger-quiet":"#f38ba824","border-danger":"#f38ba873"}},"tokyo-night":{"dark":{"surface-lower":"#16161e","surface-low":"#171823","surface-default":"#1a1b26","surface-raised":"#292e42","surface-overlay":"#2f3449","border-quiet":"#333a58","border-normal":"#3b4261","border-loud":"#505878","text-strong":"#c0caf5","text-primary":"#c0caf5","text-secondary":"#a9b1d6","text-disabled":"#a9b1d699","fill-neutral-resting":"#30364a","fill-neutral-hovered":"#383d52","fill-neutral-pressed":"#40455b","fill-neutral-selected":"#3d4358","fill-neutral-disabled":"#2d3246","fill-primary-resting":"#c0caf5","fill-primary-hovered":"#adb7e1","fill-primary-pressed":"#a1aad4","on-primary":"#1a1b26","accent":"#7aa2f7","fill-accent-resting":"#7aa2f7","fill-accent-hovered":"#8db3ff","fill-accent-pressed":"#739aee","fill-accent-quiet":"#7aa2f729","border-accent":"#7aa2f780","on-accent":"#0b0b0b","focus":"#7aa2f7","link":"#7aa2f7","info":"#7aa2f7","fill-info-quiet":"#7aa2f724","border-info":"#7aa2f773","success":"#9ece6a","fill-success-quiet":"#9ece6a24","border-success":"#9ece6a73","important":"#bb9af7","fill-important-quiet":"#bb9af724","border-important":"#bb9af773","warning":"#e0af68","fill-warning-quiet":"#e0af6824","border-warning":"#e0af6873","danger":"#f7768e","fill-danger-quiet":"#f7768e24","border-danger":"#f7768e73"},"darker":{"surface-lower":"#0c0c14","surface-low":"#0e0e19","surface-default":"#10111b","surface-raised":"#1e2336","surface-overlay":"#24293d","border-quiet":"#3b4261","border-normal":"#505878","border-loud":"#505878","text-strong":"#c0caf5","text-primary":"#c0caf5","text-secondary":"#a9b1d6","text-disabled":"#a9b1d699","fill-neutral-resting":"#252a3e","fill-neutral-hovered":"#2d3246","fill-neutral-pressed":"#343a4e","fill-neutral-selected":"#32374b","fill-neutral-disabled":"#22273a","fill-primary-resting":"#c0caf5","fill-primary-hovered":"#adb7e1","fill-primary-pressed":"#a1aad4","on-primary":"#10111b","accent":"#7aa2f7","fill-accent-resting":"#7aa2f7","fill-accent-hovered":"#8db3ff","fill-accent-pressed":"#739aee","fill-accent-quiet":"#7aa2f729","border-accent":"#7aa2f780","on-accent":"#0b0b0b","focus":"#7aa2f7","link":"#7aa2f7","info":"#7aa2f7","fill-info-quiet":"#7aa2f724","border-info":"#7aa2f773","success":"#9ece6a","fill-success-quiet":"#9ece6a24","border-success":"#9ece6a73","important":"#bb9af7","fill-important-quiet":"#bb9af724","border-important":"#bb9af773","warning":"#e0af68","fill-warning-quiet":"#e0af6824","border-warning":"#e0af6873","danger":"#f7768e","fill-danger-quiet":"#f7768e24","border-danger":"#f7768e73"}},"tokyo-night-day":{"light":{"surface-lower":"#d0d5e3","surface-low":"#dadbe0","surface-default":"#e1e2e7","surface-raised":"#e9e9ed","surface-overlay":"#e1e1e5","border-quiet":"#ced2e4","border-normal":"#c4c8da","border-loud":"#abafc0","text-strong":"#3760bf","text-primary":"#3760bf","text-secondary":"#6172b0","text-disabled":"#6172b099","fill-neutral-resting":"#dfdfe3","fill-neutral-hovered":"#d5d5d9","fill-neutral-pressed":"#ccccd0","fill-neutral-selected":"#cfcfd3","fill-neutral-disabled":"#e4e4e8","fill-primary-resting":"#3760bf","fill-primary-hovered":"#4772d3","fill-primary-pressed":"#537fe1","on-primary":"#e1e2e7","accent":"#2e7de9","fill-accent-resting":"#2e7de9","fill-accent-hovered":"#0042a5","fill-accent-pressed":"#0059c0","fill-accent-quiet":"#0051b729","border-accent":"#0051b780","on-accent":"#ffffff","focus":"#2e7de9","link":"#0051b7","info":"#2e7de9","fill-info-quiet":"#2e7de924","border-info":"#2e7de973","success":"#587539","fill-success-quiet":"#58753924","border-success":"#58753973","important":"#9854f1","fill-important-quiet":"#9854f124","border-important":"#9854f173","warning":"#8c6c3e","fill-warning-quiet":"#8c6c3e24","border-warning":"#8c6c3e73","danger":"#f52a65","fill-danger-quiet":"#f52a6524","border-danger":"#f52a6573"}},"tokyo-night-moon":{"dark":{"surface-lower":"#1e2030","surface-low":"#202234","surface-default":"#222436","surface-raised":"#2f334d","surface-overlay":"#353954","border-quiet":"#333a58","border-normal":"#3b4261","border-loud":"#505878","text-strong":"#c8d3f5","text-primary":"#c8d3f5","text-secondary":"#828bb8","text-disabled":"#828bb899","fill-neutral-resting":"#373b55","fill-neutral-hovered":"#3e435e","fill-neutral-pressed":"#464b66","fill-neutral-selected":"#444863","fill-neutral-disabled":"#333751","fill-primary-resting":"#c8d3f5","fill-primary-hovered":"#b5c0e1","fill-primary-pressed":"#a8b3d4","on-primary":"#222436","accent":"#82aaff","fill-accent-resting":"#82aaff","fill-accent-hovered":"#99bbff","fill-accent-pressed":"#7ba2f6","fill-accent-quiet":"#82aaff29","border-accent":"#82aaff80","on-accent":"#0b0b0b","focus":"#82aaff","link":"#82aaff","info":"#82aaff","fill-info-quiet":"#82aaff24","border-info":"#82aaff73","success":"#c3e88d","fill-success-quiet":"#c3e88d24","border-success":"#c3e88d73","important":"#c099ff","fill-important-quiet":"#c099ff24","border-important":"#c099ff73","warning":"#ffc777","fill-warning-quiet":"#ffc77724","border-warning":"#ffc77773","danger":"#ff757f","fill-danger-quiet":"#ff757f24","border-danger":"#ff757f73"},"darker":{"surface-lower":"#141525","surface-low":"#161728","surface-default":"#18192b","surface-raised":"#242841","surface-overlay":"#2a2e48","border-quiet":"#3b4261","border-normal":"#505878","border-loud":"#505878","text-strong":"#c8d3f5","text-primary":"#c8d3f5","text-secondary":"#828bb8","text-disabled":"#828bb899","fill-neutral-resting":"#2b2f49","fill-neutral-hovered":"#333751","fill-neutral-pressed":"#3a3f5a","fill-neutral-selected":"#383c57","fill-neutral-disabled":"#282b45","fill-primary-resting":"#c8d3f5","fill-primary-hovered":"#b5c0e1","fill-primary-pressed":"#a8b3d4","on-primary":"#18192b","accent":"#82aaff","fill-accent-resting":"#82aaff","fill-accent-hovered":"#99bbff","fill-accent-pressed":"#7ba2f6","fill-accent-quiet":"#82aaff29","border-accent":"#82aaff80","on-accent":"#0b0b0b","focus":"#82aaff","link":"#82aaff","info":"#82aaff","fill-info-quiet":"#82aaff24","border-info":"#82aaff73","success":"#c3e88d","fill-success-quiet":"#c3e88d24","border-success":"#c3e88d73","important":"#c099ff","fill-important-quiet":"#c099ff24","border-important":"#c099ff73","warning":"#ffc777","fill-warning-quiet":"#ffc77724","border-warning":"#ffc77773","danger":"#ff757f","fill-danger-quiet":"#ff757f24","border-danger":"#ff757f73"}},"tokyo-night-storm":{"dark":{"surface-lower":"#1f2335","surface-low":"#222538","surface-default":"#24283b","surface-raised":"#292e42","surface-overlay":"#2f3449","border-quiet":"#333a58","border-normal":"#3b4261","border-loud":"#505878","text-strong":"#c0caf5","text-primary":"#c0caf5","text-secondary":"#a9b1d6","text-disabled":"#a9b1d699","fill-neutral-resting":"#30364a","fill-neutral-hovered":"#383d52","fill-neutral-pressed":"#40455b","fill-neutral-selected":"#3d4358","fill-neutral-disabled":"#2d3246","fill-primary-resting":"#c0caf5","fill-primary-hovered":"#adb7e1","fill-primary-pressed":"#a1aad4","on-primary":"#24283b","accent":"#7aa2f7","fill-accent-resting":"#7aa2f7","fill-accent-hovered":"#8db3ff","fill-accent-pressed":"#739aee","fill-accent-quiet":"#7aa2f729","border-accent":"#7aa2f780","on-accent":"#0b0b0b","focus":"#7aa2f7","link":"#7aa2f7","info":"#7aa2f7","fill-info-quiet":"#7aa2f724","border-info":"#7aa2f773","success":"#9ece6a","fill-success-quiet":"#9ece6a24","border-success":"#9ece6a73","important":"#bb9af7","fill-important-quiet":"#bb9af724","border-important":"#bb9af773","warning":"#e0af68","fill-warning-quiet":"#e0af6824","border-warning":"#e0af6873","danger":"#f7768e","fill-danger-quiet":"#f7768e24","border-danger":"#f7768e73"},"darker":{"surface-lower":"#15182a","surface-low":"#171b2d","surface-default":"#191d2f","surface-raised":"#1e2336","surface-overlay":"#24293d","border-quiet":"#3b4261","border-normal":"#505878","border-loud":"#505878","text-strong":"#c0caf5","text-primary":"#c0caf5","text-secondary":"#a9b1d6","text-disabled":"#a9b1d699","fill-neutral-resting":"#252a3e","fill-neutral-hovered":"#2d3246","fill-neutral-pressed":"#343a4e","fill-neutral-selected":"#32374b","fill-neutral-disabled":"#22273a","fill-primary-resting":"#c0caf5","fill-primary-hovered":"#adb7e1","fill-primary-pressed":"#a1aad4","on-primary":"#191d2f","accent":"#7aa2f7","fill-accent-resting":"#7aa2f7","fill-accent-hovered":"#8db3ff","fill-accent-pressed":"#739aee","fill-accent-quiet":"#7aa2f729","border-accent":"#7aa2f780","on-accent":"#0b0b0b","focus":"#7aa2f7","link":"#7aa2f7","info":"#7aa2f7","fill-info-quiet":"#7aa2f724","border-info":"#7aa2f773","success":"#9ece6a","fill-success-quiet":"#9ece6a24","border-success":"#9ece6a73","important":"#bb9af7","fill-important-quiet":"#bb9af724","border-important":"#bb9af773","warning":"#e0af68","fill-warning-quiet":"#e0af6824","border-warning":"#e0af6873","danger":"#f7768e","fill-danger-quiet":"#f7768e24","border-danger":"#f7768e73"}}})
|
|
7
7
|
}
|
package/generated/opentui.ts
CHANGED
|
@@ -596,15 +596,15 @@ export const opentuiThemes = {
|
|
|
596
596
|
"fill-primary-hovered": "#2e2e2f",
|
|
597
597
|
"fill-primary-pressed": "#383839",
|
|
598
598
|
"on-primary": "#fdfdff",
|
|
599
|
-
"accent": "#
|
|
600
|
-
"fill-accent-resting": "#
|
|
601
|
-
"fill-accent-hovered": "#
|
|
602
|
-
"fill-accent-pressed": "#
|
|
603
|
-
"fill-accent-quiet": "#
|
|
604
|
-
"border-accent": "#
|
|
599
|
+
"accent": "#7152bb",
|
|
600
|
+
"fill-accent-resting": "#7152bb",
|
|
601
|
+
"fill-accent-hovered": "#6343ab",
|
|
602
|
+
"fill-accent-pressed": "#785ac4",
|
|
603
|
+
"fill-accent-quiet": "#7152bb29",
|
|
604
|
+
"border-accent": "#7152bb80",
|
|
605
605
|
"on-accent": "#ffffff",
|
|
606
|
-
"focus": "#
|
|
607
|
-
"link": "#
|
|
606
|
+
"focus": "#7152bb",
|
|
607
|
+
"link": "#7152bb",
|
|
608
608
|
"info": "#276baa",
|
|
609
609
|
"fill-info-quiet": "#276baa24",
|
|
610
610
|
"border-info": "#276baa73",
|
|
@@ -643,15 +643,15 @@ export const opentuiThemes = {
|
|
|
643
643
|
"fill-primary-hovered": "#d4d4d6",
|
|
644
644
|
"fill-primary-pressed": "#c7c7c9",
|
|
645
645
|
"on-primary": "#17171b",
|
|
646
|
-
"accent": "#
|
|
647
|
-
"fill-accent-resting": "#
|
|
648
|
-
"fill-accent-hovered": "#
|
|
649
|
-
"fill-accent-pressed": "#
|
|
650
|
-
"fill-accent-quiet": "#
|
|
651
|
-
"border-accent": "#
|
|
646
|
+
"accent": "#a78bfa",
|
|
647
|
+
"fill-accent-resting": "#a78bfa",
|
|
648
|
+
"fill-accent-hovered": "#b69eff",
|
|
649
|
+
"fill-accent-pressed": "#9f83f1",
|
|
650
|
+
"fill-accent-quiet": "#a78bfa29",
|
|
651
|
+
"border-accent": "#a78bfa80",
|
|
652
652
|
"on-accent": "#0b0b0b",
|
|
653
|
-
"focus": "#
|
|
654
|
-
"link": "#
|
|
653
|
+
"focus": "#a78bfa",
|
|
654
|
+
"link": "#a78bfa",
|
|
655
655
|
"info": "#5b9ee0",
|
|
656
656
|
"fill-info-quiet": "#5b9ee024",
|
|
657
657
|
"border-info": "#5b9ee073",
|
|
@@ -690,15 +690,15 @@ export const opentuiThemes = {
|
|
|
690
690
|
"fill-primary-hovered": "#d4d4d6",
|
|
691
691
|
"fill-primary-pressed": "#c7c7c9",
|
|
692
692
|
"on-primary": "#141418",
|
|
693
|
-
"accent": "#
|
|
694
|
-
"fill-accent-resting": "#
|
|
695
|
-
"fill-accent-hovered": "#
|
|
696
|
-
"fill-accent-pressed": "#
|
|
697
|
-
"fill-accent-quiet": "#
|
|
698
|
-
"border-accent": "#
|
|
693
|
+
"accent": "#a78bfa",
|
|
694
|
+
"fill-accent-resting": "#a78bfa",
|
|
695
|
+
"fill-accent-hovered": "#b69eff",
|
|
696
|
+
"fill-accent-pressed": "#9f83f1",
|
|
697
|
+
"fill-accent-quiet": "#a78bfa29",
|
|
698
|
+
"border-accent": "#a78bfa80",
|
|
699
699
|
"on-accent": "#0b0b0b",
|
|
700
|
-
"focus": "#
|
|
701
|
-
"link": "#
|
|
700
|
+
"focus": "#a78bfa",
|
|
701
|
+
"link": "#a78bfa",
|
|
702
702
|
"info": "#5b9ee0",
|
|
703
703
|
"fill-info-quiet": "#5b9ee024",
|
|
704
704
|
"border-info": "#5b9ee073",
|
package/generated/themes.css
CHANGED
|
@@ -1316,15 +1316,15 @@ gw-option-list:not(:defined) {
|
|
|
1316
1316
|
--gw-color-fill-primary-hovered: oklch(30% 0.003 285.81);
|
|
1317
1317
|
--gw-color-fill-primary-pressed: oklch(34% 0.003 285.81);
|
|
1318
1318
|
--gw-color-on-primary: oklch(99.5% 0.0023 285.81);
|
|
1319
|
-
--gw-color-accent: oklch(
|
|
1320
|
-
--gw-color-fill-accent-resting: oklch(
|
|
1321
|
-
--gw-color-fill-accent-hovered: oklch(
|
|
1322
|
-
--gw-color-fill-accent-pressed: oklch(
|
|
1323
|
-
--gw-color-fill-accent-quiet: oklch(
|
|
1324
|
-
--gw-color-border-accent: oklch(
|
|
1319
|
+
--gw-color-accent: oklch(52.42% 0.1592 293.54);
|
|
1320
|
+
--gw-color-fill-accent-resting: oklch(52.42% 0.1592 293.54);
|
|
1321
|
+
--gw-color-fill-accent-hovered: oklch(47.42% 0.1592 293.54);
|
|
1322
|
+
--gw-color-fill-accent-pressed: oklch(54.92% 0.1592 293.54);
|
|
1323
|
+
--gw-color-fill-accent-quiet: oklch(52.42% 0.1592 293.54 / 0.16);
|
|
1324
|
+
--gw-color-border-accent: oklch(52.42% 0.1592 293.54 / 0.5);
|
|
1325
1325
|
--gw-color-on-accent: oklch(100% 0 0);
|
|
1326
|
-
--gw-color-focus: oklch(
|
|
1327
|
-
--gw-color-link: oklch(
|
|
1326
|
+
--gw-color-focus: oklch(52.42% 0.1592 293.54);
|
|
1327
|
+
--gw-color-link: oklch(52.42% 0.1592 293.54);
|
|
1328
1328
|
--gw-color-info: oklch(51.8% 0.1197 249.65);
|
|
1329
1329
|
--gw-color-fill-info-quiet: oklch(51.8% 0.1197 249.65 / 0.14);
|
|
1330
1330
|
--gw-color-border-info: oklch(51.8% 0.1197 249.65 / 0.45);
|
|
@@ -1368,15 +1368,15 @@ gw-option-list:not(:defined) {
|
|
|
1368
1368
|
--gw-color-fill-primary-hovered: oklch(87% 0.003 285.81);
|
|
1369
1369
|
--gw-color-fill-primary-pressed: oklch(83% 0.003 285.81);
|
|
1370
1370
|
--gw-color-on-primary: oklch(20.67% 0.0076 285.81);
|
|
1371
|
-
--gw-color-accent: oklch(
|
|
1372
|
-
--gw-color-fill-accent-resting: oklch(
|
|
1373
|
-
--gw-color-fill-accent-hovered: oklch(
|
|
1374
|
-
--gw-color-fill-accent-pressed: oklch(
|
|
1375
|
-
--gw-color-fill-accent-quiet: oklch(
|
|
1376
|
-
--gw-color-border-accent: oklch(
|
|
1371
|
+
--gw-color-accent: oklch(70.9% 0.1592 293.54);
|
|
1372
|
+
--gw-color-fill-accent-resting: oklch(70.9% 0.1592 293.54);
|
|
1373
|
+
--gw-color-fill-accent-hovered: oklch(75.9% 0.1384 293.54);
|
|
1374
|
+
--gw-color-fill-accent-pressed: oklch(68.4% 0.1592 293.54);
|
|
1375
|
+
--gw-color-fill-accent-quiet: oklch(70.9% 0.1592 293.54 / 0.16);
|
|
1376
|
+
--gw-color-border-accent: oklch(70.9% 0.1592 293.54 / 0.5);
|
|
1377
1377
|
--gw-color-on-accent: oklch(15% 0 0);
|
|
1378
|
-
--gw-color-focus: oklch(
|
|
1379
|
-
--gw-color-link: oklch(
|
|
1378
|
+
--gw-color-focus: oklch(70.9% 0.1592 293.54);
|
|
1379
|
+
--gw-color-link: oklch(70.9% 0.1592 293.54);
|
|
1380
1380
|
--gw-color-info: oklch(68.29% 0.1197 249.65);
|
|
1381
1381
|
--gw-color-fill-info-quiet: oklch(68.29% 0.1197 249.65 / 0.14);
|
|
1382
1382
|
--gw-color-border-info: oklch(68.29% 0.1197 249.65 / 0.45);
|
|
@@ -1421,15 +1421,15 @@ gw-option-list:not(:defined) {
|
|
|
1421
1421
|
--gw-color-fill-primary-hovered: oklch(87% 0.003 285.81);
|
|
1422
1422
|
--gw-color-fill-primary-pressed: oklch(83% 0.003 285.81);
|
|
1423
1423
|
--gw-color-on-primary: oklch(20.67% 0.0076 285.81);
|
|
1424
|
-
--gw-color-accent: oklch(
|
|
1425
|
-
--gw-color-fill-accent-resting: oklch(
|
|
1426
|
-
--gw-color-fill-accent-hovered: oklch(
|
|
1427
|
-
--gw-color-fill-accent-pressed: oklch(
|
|
1428
|
-
--gw-color-fill-accent-quiet: oklch(
|
|
1429
|
-
--gw-color-border-accent: oklch(
|
|
1424
|
+
--gw-color-accent: oklch(70.9% 0.1592 293.54);
|
|
1425
|
+
--gw-color-fill-accent-resting: oklch(70.9% 0.1592 293.54);
|
|
1426
|
+
--gw-color-fill-accent-hovered: oklch(75.9% 0.1384 293.54);
|
|
1427
|
+
--gw-color-fill-accent-pressed: oklch(68.4% 0.1592 293.54);
|
|
1428
|
+
--gw-color-fill-accent-quiet: oklch(70.9% 0.1592 293.54 / 0.16);
|
|
1429
|
+
--gw-color-border-accent: oklch(70.9% 0.1592 293.54 / 0.5);
|
|
1430
1430
|
--gw-color-on-accent: oklch(15% 0 0);
|
|
1431
|
-
--gw-color-focus: oklch(
|
|
1432
|
-
--gw-color-link: oklch(
|
|
1431
|
+
--gw-color-focus: oklch(70.9% 0.1592 293.54);
|
|
1432
|
+
--gw-color-link: oklch(70.9% 0.1592 293.54);
|
|
1433
1433
|
--gw-color-info: oklch(68.29% 0.1197 249.65);
|
|
1434
1434
|
--gw-color-fill-info-quiet: oklch(68.29% 0.1197 249.65 / 0.14);
|
|
1435
1435
|
--gw-color-border-info: oklch(68.29% 0.1197 249.65 / 0.45);
|
|
@@ -1474,15 +1474,15 @@ gw-option-list:not(:defined) {
|
|
|
1474
1474
|
--gw-color-fill-primary-hovered: oklch(87% 0.003 285.81);
|
|
1475
1475
|
--gw-color-fill-primary-pressed: oklch(83% 0.003 285.81);
|
|
1476
1476
|
--gw-color-on-primary: oklch(19.17% 0.0076 285.81);
|
|
1477
|
-
--gw-color-accent: oklch(
|
|
1478
|
-
--gw-color-fill-accent-resting: oklch(
|
|
1479
|
-
--gw-color-fill-accent-hovered: oklch(
|
|
1480
|
-
--gw-color-fill-accent-pressed: oklch(
|
|
1481
|
-
--gw-color-fill-accent-quiet: oklch(
|
|
1482
|
-
--gw-color-border-accent: oklch(
|
|
1477
|
+
--gw-color-accent: oklch(70.9% 0.1592 293.54);
|
|
1478
|
+
--gw-color-fill-accent-resting: oklch(70.9% 0.1592 293.54);
|
|
1479
|
+
--gw-color-fill-accent-hovered: oklch(75.9% 0.1384 293.54);
|
|
1480
|
+
--gw-color-fill-accent-pressed: oklch(68.4% 0.1592 293.54);
|
|
1481
|
+
--gw-color-fill-accent-quiet: oklch(70.9% 0.1592 293.54 / 0.16);
|
|
1482
|
+
--gw-color-border-accent: oklch(70.9% 0.1592 293.54 / 0.5);
|
|
1483
1483
|
--gw-color-on-accent: oklch(15% 0 0);
|
|
1484
|
-
--gw-color-focus: oklch(
|
|
1485
|
-
--gw-color-link: oklch(
|
|
1484
|
+
--gw-color-focus: oklch(70.9% 0.1592 293.54);
|
|
1485
|
+
--gw-color-link: oklch(70.9% 0.1592 293.54);
|
|
1486
1486
|
--gw-color-info: oklch(68.29% 0.1197 249.65);
|
|
1487
1487
|
--gw-color-fill-info-quiet: oklch(68.29% 0.1197 249.65 / 0.14);
|
|
1488
1488
|
--gw-color-border-info: oklch(68.29% 0.1197 249.65 / 0.45);
|
package/generated/themes.json
CHANGED
|
@@ -879,7 +879,7 @@
|
|
|
879
879
|
{
|
|
880
880
|
"id": "bridge",
|
|
881
881
|
"name": "Bridge",
|
|
882
|
-
"description": "
|
|
882
|
+
"description": "System Bridge's violet on neutral charcoal. Medium radii, soft borders and pill chips.",
|
|
883
883
|
"optional": false,
|
|
884
884
|
"family": null,
|
|
885
885
|
"examples": [
|
|
@@ -976,15 +976,15 @@
|
|
|
976
976
|
"fill-primary-hovered": "#2e2e2f",
|
|
977
977
|
"fill-primary-pressed": "#383839",
|
|
978
978
|
"on-primary": "#fdfdff",
|
|
979
|
-
"accent": "#
|
|
980
|
-
"fill-accent-resting": "#
|
|
981
|
-
"fill-accent-hovered": "#
|
|
982
|
-
"fill-accent-pressed": "#
|
|
983
|
-
"fill-accent-quiet": "#
|
|
984
|
-
"border-accent": "#
|
|
979
|
+
"accent": "#7152bb",
|
|
980
|
+
"fill-accent-resting": "#7152bb",
|
|
981
|
+
"fill-accent-hovered": "#6343ab",
|
|
982
|
+
"fill-accent-pressed": "#785ac4",
|
|
983
|
+
"fill-accent-quiet": "#7152bb29",
|
|
984
|
+
"border-accent": "#7152bb80",
|
|
985
985
|
"on-accent": "#ffffff",
|
|
986
|
-
"focus": "#
|
|
987
|
-
"link": "#
|
|
986
|
+
"focus": "#7152bb",
|
|
987
|
+
"link": "#7152bb",
|
|
988
988
|
"info": "#276baa",
|
|
989
989
|
"fill-info-quiet": "#276baa24",
|
|
990
990
|
"border-info": "#276baa73",
|
|
@@ -1023,15 +1023,15 @@
|
|
|
1023
1023
|
"fill-primary-hovered": "#d4d4d6",
|
|
1024
1024
|
"fill-primary-pressed": "#c7c7c9",
|
|
1025
1025
|
"on-primary": "#17171b",
|
|
1026
|
-
"accent": "#
|
|
1027
|
-
"fill-accent-resting": "#
|
|
1028
|
-
"fill-accent-hovered": "#
|
|
1029
|
-
"fill-accent-pressed": "#
|
|
1030
|
-
"fill-accent-quiet": "#
|
|
1031
|
-
"border-accent": "#
|
|
1026
|
+
"accent": "#a78bfa",
|
|
1027
|
+
"fill-accent-resting": "#a78bfa",
|
|
1028
|
+
"fill-accent-hovered": "#b69eff",
|
|
1029
|
+
"fill-accent-pressed": "#9f83f1",
|
|
1030
|
+
"fill-accent-quiet": "#a78bfa29",
|
|
1031
|
+
"border-accent": "#a78bfa80",
|
|
1032
1032
|
"on-accent": "#0b0b0b",
|
|
1033
|
-
"focus": "#
|
|
1034
|
-
"link": "#
|
|
1033
|
+
"focus": "#a78bfa",
|
|
1034
|
+
"link": "#a78bfa",
|
|
1035
1035
|
"info": "#5b9ee0",
|
|
1036
1036
|
"fill-info-quiet": "#5b9ee024",
|
|
1037
1037
|
"border-info": "#5b9ee073",
|
|
@@ -1070,15 +1070,15 @@
|
|
|
1070
1070
|
"fill-primary-hovered": "#d4d4d6",
|
|
1071
1071
|
"fill-primary-pressed": "#c7c7c9",
|
|
1072
1072
|
"on-primary": "#141418",
|
|
1073
|
-
"accent": "#
|
|
1074
|
-
"fill-accent-resting": "#
|
|
1075
|
-
"fill-accent-hovered": "#
|
|
1076
|
-
"fill-accent-pressed": "#
|
|
1077
|
-
"fill-accent-quiet": "#
|
|
1078
|
-
"border-accent": "#
|
|
1073
|
+
"accent": "#a78bfa",
|
|
1074
|
+
"fill-accent-resting": "#a78bfa",
|
|
1075
|
+
"fill-accent-hovered": "#b69eff",
|
|
1076
|
+
"fill-accent-pressed": "#9f83f1",
|
|
1077
|
+
"fill-accent-quiet": "#a78bfa29",
|
|
1078
|
+
"border-accent": "#a78bfa80",
|
|
1079
1079
|
"on-accent": "#0b0b0b",
|
|
1080
|
-
"focus": "#
|
|
1081
|
-
"link": "#
|
|
1080
|
+
"focus": "#a78bfa",
|
|
1081
|
+
"link": "#a78bfa",
|
|
1082
1082
|
"info": "#5b9ee0",
|
|
1083
1083
|
"fill-info-quiet": "#5b9ee024",
|
|
1084
1084
|
"border-info": "#5b9ee073",
|
package/generated/themes.ts
CHANGED
|
@@ -880,7 +880,7 @@ export const themes = [
|
|
|
880
880
|
{
|
|
881
881
|
"id": "bridge",
|
|
882
882
|
"name": "Bridge",
|
|
883
|
-
"description": "
|
|
883
|
+
"description": "System Bridge's violet on neutral charcoal. Medium radii, soft borders and pill chips.",
|
|
884
884
|
"optional": false,
|
|
885
885
|
"family": null,
|
|
886
886
|
"examples": [
|
|
@@ -977,15 +977,15 @@ export const themes = [
|
|
|
977
977
|
"fill-primary-hovered": "#2e2e2f",
|
|
978
978
|
"fill-primary-pressed": "#383839",
|
|
979
979
|
"on-primary": "#fdfdff",
|
|
980
|
-
"accent": "#
|
|
981
|
-
"fill-accent-resting": "#
|
|
982
|
-
"fill-accent-hovered": "#
|
|
983
|
-
"fill-accent-pressed": "#
|
|
984
|
-
"fill-accent-quiet": "#
|
|
985
|
-
"border-accent": "#
|
|
980
|
+
"accent": "#7152bb",
|
|
981
|
+
"fill-accent-resting": "#7152bb",
|
|
982
|
+
"fill-accent-hovered": "#6343ab",
|
|
983
|
+
"fill-accent-pressed": "#785ac4",
|
|
984
|
+
"fill-accent-quiet": "#7152bb29",
|
|
985
|
+
"border-accent": "#7152bb80",
|
|
986
986
|
"on-accent": "#ffffff",
|
|
987
|
-
"focus": "#
|
|
988
|
-
"link": "#
|
|
987
|
+
"focus": "#7152bb",
|
|
988
|
+
"link": "#7152bb",
|
|
989
989
|
"info": "#276baa",
|
|
990
990
|
"fill-info-quiet": "#276baa24",
|
|
991
991
|
"border-info": "#276baa73",
|
|
@@ -1024,15 +1024,15 @@ export const themes = [
|
|
|
1024
1024
|
"fill-primary-hovered": "#d4d4d6",
|
|
1025
1025
|
"fill-primary-pressed": "#c7c7c9",
|
|
1026
1026
|
"on-primary": "#17171b",
|
|
1027
|
-
"accent": "#
|
|
1028
|
-
"fill-accent-resting": "#
|
|
1029
|
-
"fill-accent-hovered": "#
|
|
1030
|
-
"fill-accent-pressed": "#
|
|
1031
|
-
"fill-accent-quiet": "#
|
|
1032
|
-
"border-accent": "#
|
|
1027
|
+
"accent": "#a78bfa",
|
|
1028
|
+
"fill-accent-resting": "#a78bfa",
|
|
1029
|
+
"fill-accent-hovered": "#b69eff",
|
|
1030
|
+
"fill-accent-pressed": "#9f83f1",
|
|
1031
|
+
"fill-accent-quiet": "#a78bfa29",
|
|
1032
|
+
"border-accent": "#a78bfa80",
|
|
1033
1033
|
"on-accent": "#0b0b0b",
|
|
1034
|
-
"focus": "#
|
|
1035
|
-
"link": "#
|
|
1034
|
+
"focus": "#a78bfa",
|
|
1035
|
+
"link": "#a78bfa",
|
|
1036
1036
|
"info": "#5b9ee0",
|
|
1037
1037
|
"fill-info-quiet": "#5b9ee024",
|
|
1038
1038
|
"border-info": "#5b9ee073",
|
|
@@ -1071,15 +1071,15 @@ export const themes = [
|
|
|
1071
1071
|
"fill-primary-hovered": "#d4d4d6",
|
|
1072
1072
|
"fill-primary-pressed": "#c7c7c9",
|
|
1073
1073
|
"on-primary": "#141418",
|
|
1074
|
-
"accent": "#
|
|
1075
|
-
"fill-accent-resting": "#
|
|
1076
|
-
"fill-accent-hovered": "#
|
|
1077
|
-
"fill-accent-pressed": "#
|
|
1078
|
-
"fill-accent-quiet": "#
|
|
1079
|
-
"border-accent": "#
|
|
1074
|
+
"accent": "#a78bfa",
|
|
1075
|
+
"fill-accent-resting": "#a78bfa",
|
|
1076
|
+
"fill-accent-hovered": "#b69eff",
|
|
1077
|
+
"fill-accent-pressed": "#9f83f1",
|
|
1078
|
+
"fill-accent-quiet": "#a78bfa29",
|
|
1079
|
+
"border-accent": "#a78bfa80",
|
|
1080
1080
|
"on-accent": "#0b0b0b",
|
|
1081
|
-
"focus": "#
|
|
1082
|
-
"link": "#
|
|
1081
|
+
"focus": "#a78bfa",
|
|
1082
|
+
"link": "#a78bfa",
|
|
1083
1083
|
"info": "#5b9ee0",
|
|
1084
1084
|
"fill-info-quiet": "#5b9ee024",
|
|
1085
1085
|
"border-info": "#5b9ee073",
|
package/package.json
CHANGED
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@timmo001/groundwork-tokens",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.1",
|
|
4
4
|
"description": "Groundwork's design tokens: the theme schema, the OKLCH solver and every theme as CSS and JSON",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"exports": {
|
|
8
8
|
".": "./src/index.ts",
|
|
9
9
|
"./runtime": "./src/runtime.ts",
|
|
10
|
+
"./webmcp": "./src/webmcp.ts",
|
|
10
11
|
"./themes.css": "./generated/themes.css",
|
|
11
12
|
"./themes.json": "./generated/themes.json"
|
|
12
13
|
},
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests the Omarchy import against a real `colors.toml` shape, in both modes,
|
|
3
|
+
* and that a file missing a color fails rather than half-applies.
|
|
4
|
+
*
|
|
5
|
+
* @module
|
|
6
|
+
*/
|
|
7
|
+
import { expect, test } from "bun:test";
|
|
8
|
+
import { Result } from "effect";
|
|
9
|
+
import { omarchyTheme } from "./omarchy.ts";
|
|
10
|
+
|
|
11
|
+
const dark = `mode = "dark"
|
|
12
|
+
|
|
13
|
+
accent = "#7aa2f7"
|
|
14
|
+
selection = "#292e42"
|
|
15
|
+
muted = "#414868"
|
|
16
|
+
|
|
17
|
+
background = "#1a1b26"
|
|
18
|
+
dark_background = "#13141c"
|
|
19
|
+
lighter_background = "#24283b"
|
|
20
|
+
|
|
21
|
+
foreground = "#a9b1d6"
|
|
22
|
+
light_foreground = "#b4bee6"
|
|
23
|
+
bright_foreground = "#c0caf5"
|
|
24
|
+
|
|
25
|
+
red = "#f7768e"
|
|
26
|
+
yellow = "#e0af68"
|
|
27
|
+
green = "#9ece6a"
|
|
28
|
+
blue = "#7aa2f7"
|
|
29
|
+
magenta = "#ad8ee6"
|
|
30
|
+
`;
|
|
31
|
+
|
|
32
|
+
test("maps a dark colors.toml onto the roles", () => {
|
|
33
|
+
const theme = Result.getOrThrow(omarchyTheme(dark, "Tokyo Night", "tokyo"));
|
|
34
|
+
|
|
35
|
+
expect(theme.mode).toBe("dark");
|
|
36
|
+
expect(theme.palette).toMatchObject({
|
|
37
|
+
lower: "#13141c",
|
|
38
|
+
background: "#1a1b26",
|
|
39
|
+
raised: "#24283b",
|
|
40
|
+
border: "#414868",
|
|
41
|
+
text: "#c0caf5",
|
|
42
|
+
muted: "#a9b1d6",
|
|
43
|
+
danger: "#f7768e",
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
|
|
47
|
+
test("uses the light foreground as muted when foreground is the text", () => {
|
|
48
|
+
const light = dark
|
|
49
|
+
.replace('mode = "dark"', 'mode = "light"')
|
|
50
|
+
.replace("#a9b1d6", "#C0CAF5")
|
|
51
|
+
.replace("#b4bee6", "#403e3c");
|
|
52
|
+
|
|
53
|
+
const theme = Result.getOrThrow(omarchyTheme(light));
|
|
54
|
+
|
|
55
|
+
expect(theme.mode).toBe("light");
|
|
56
|
+
expect(theme.palette.muted).toBe("#403e3c");
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
test("fails when a color is missing", () => {
|
|
60
|
+
expect(Result.isFailure(omarchyTheme(dark.replace(/^red = .*$/m, "")))).toBe(
|
|
61
|
+
true,
|
|
62
|
+
);
|
|
63
|
+
});
|
package/src/omarchy.ts
ADDED
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Omarchy theme import: reads an Omarchy theme's `colors.toml` and maps it
|
|
3
|
+
* onto a Groundwork mapped theme, so an app can follow the desktop's theme.
|
|
4
|
+
* It parses the flat `key = "value"` lines itself, so it runs in a browser.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import { Schema } from "effect";
|
|
9
|
+
import { MappedTheme } from "./schema.ts";
|
|
10
|
+
|
|
11
|
+
/** The `key = "value"` pairs of a flat TOML file, ignoring comments. */
|
|
12
|
+
const readPairs = (text: string): ReadonlyMap<string, string> => {
|
|
13
|
+
const pairs = new Map<string, string>();
|
|
14
|
+
|
|
15
|
+
for (const line of text.split(/\r?\n/)) {
|
|
16
|
+
const match = /^\s*([A-Za-z_][\w-]*)\s*=\s*"([^"]*)"/.exec(line);
|
|
17
|
+
|
|
18
|
+
if (match?.[1] !== undefined && match[2] !== undefined) {
|
|
19
|
+
pairs.set(match[1], match[2]);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
return pairs;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* Maps an Omarchy `colors.toml` onto a mapped theme's palette, then checks it
|
|
28
|
+
* against the Schema. Missing keys or bad colors come back as a `Failure`.
|
|
29
|
+
*/
|
|
30
|
+
export const omarchyTheme = (
|
|
31
|
+
text: string,
|
|
32
|
+
name = "Omarchy",
|
|
33
|
+
id = "omarchy",
|
|
34
|
+
) => {
|
|
35
|
+
const pairs = readPairs(text);
|
|
36
|
+
const color = (key: string) => pairs.get(key)?.toLowerCase();
|
|
37
|
+
const text_ = color("bright_foreground") ?? color("foreground");
|
|
38
|
+
const foreground = color("foreground");
|
|
39
|
+
|
|
40
|
+
return Schema.decodeUnknownResult(MappedTheme)({
|
|
41
|
+
kind: "mapped",
|
|
42
|
+
id,
|
|
43
|
+
name,
|
|
44
|
+
family: "Omarchy",
|
|
45
|
+
mode: pairs.get("mode") === "light" ? "light" : "dark",
|
|
46
|
+
palette: {
|
|
47
|
+
lower: color("dark_background"),
|
|
48
|
+
background: color("background"),
|
|
49
|
+
raised: color("lighter_background"),
|
|
50
|
+
border: color("muted") ?? color("selection"),
|
|
51
|
+
text: text_,
|
|
52
|
+
// Omarchy's foreground is the body text; when it's the same as the
|
|
53
|
+
// brightest text, its light foreground is the quieter one
|
|
54
|
+
muted:
|
|
55
|
+
foreground !== undefined && foreground !== text_
|
|
56
|
+
? foreground
|
|
57
|
+
: color("light_foreground"),
|
|
58
|
+
accent: color("accent"),
|
|
59
|
+
info: color("blue"),
|
|
60
|
+
success: color("green"),
|
|
61
|
+
important: color("magenta"),
|
|
62
|
+
warning: color("yellow"),
|
|
63
|
+
danger: color("red"),
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
};
|
package/src/runtime.ts
CHANGED
|
@@ -11,6 +11,8 @@ import { themeCss } from "./generate.ts";
|
|
|
11
11
|
import { SolvedTheme, Theme } from "./schema.ts";
|
|
12
12
|
import { check, resolve, type Check, type ResolvedTheme } from "./solve.ts";
|
|
13
13
|
|
|
14
|
+
export { omarchyTheme } from "./omarchy.ts";
|
|
15
|
+
|
|
14
16
|
const base = Schema.decodeUnknownSync(SolvedTheme)(baseDocument);
|
|
15
17
|
|
|
16
18
|
/** A theme solved at runtime, with its CSS and every contrast check. */
|
|
@@ -34,3 +36,44 @@ export const runtimeTheme = (theme: Theme, id = theme.id): RuntimeTheme => {
|
|
|
34
36
|
|
|
35
37
|
return { theme: resolved, css: themeCss(resolved), checks: check(resolved) };
|
|
36
38
|
};
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Where an app keeps a user's theme document. The document is stored, not
|
|
42
|
+
* its CSS, so it's solved again when the solver changes. Local storage is
|
|
43
|
+
* the first tier; an app with a profile or a host, such as System Bridge,
|
|
44
|
+
* passes its own store with the same shape.
|
|
45
|
+
*/
|
|
46
|
+
export interface ThemeStore {
|
|
47
|
+
/** The stored document's JSON text, or `null` when there's none. */
|
|
48
|
+
readonly load: () => Promise<string | null>;
|
|
49
|
+
readonly save: (text: string) => Promise<void>;
|
|
50
|
+
readonly clear: () => Promise<void>;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
/**
|
|
54
|
+
* A store in the browser's local storage under `key`. It reads as empty and
|
|
55
|
+
* skips writes when storage is blocked, so a theme still applies for the visit.
|
|
56
|
+
*/
|
|
57
|
+
export const localThemeStore = (key: string): ThemeStore => ({
|
|
58
|
+
load: async () => {
|
|
59
|
+
try {
|
|
60
|
+
return localStorage.getItem(key);
|
|
61
|
+
} catch {
|
|
62
|
+
return null;
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
save: async (text) => {
|
|
66
|
+
try {
|
|
67
|
+
localStorage.setItem(key, text);
|
|
68
|
+
} catch {
|
|
69
|
+
// Blocked or full: the theme still applies until the page closes
|
|
70
|
+
}
|
|
71
|
+
},
|
|
72
|
+
clear: async () => {
|
|
73
|
+
try {
|
|
74
|
+
localStorage.removeItem(key);
|
|
75
|
+
} catch {
|
|
76
|
+
// Nothing to clear when storage is blocked
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
});
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Tests the WebMCP theme tools against a fake model context: what they
|
|
3
|
+
* register, and that set-theme applies and keeps a theme by id, by document
|
|
4
|
+
* and from an Omarchy colors.toml.
|
|
5
|
+
*
|
|
6
|
+
* @module
|
|
7
|
+
*/
|
|
8
|
+
import { expect, test } from "bun:test";
|
|
9
|
+
import type { ThemeStore } from "./runtime.ts";
|
|
10
|
+
import {
|
|
11
|
+
registerThemeTools,
|
|
12
|
+
type ModelContext,
|
|
13
|
+
type ToolArguments,
|
|
14
|
+
} from "./webmcp.ts";
|
|
15
|
+
|
|
16
|
+
type Tool = Parameters<ModelContext["registerTool"]>[0];
|
|
17
|
+
|
|
18
|
+
const setup = () => {
|
|
19
|
+
const tools = new Map<string, Tool>();
|
|
20
|
+
const applied: string[] = [];
|
|
21
|
+
let stored: string | null = null;
|
|
22
|
+
|
|
23
|
+
const store: ThemeStore = {
|
|
24
|
+
load: async () => stored,
|
|
25
|
+
save: async (text) => {
|
|
26
|
+
stored = text;
|
|
27
|
+
},
|
|
28
|
+
clear: async () => {
|
|
29
|
+
stored = null;
|
|
30
|
+
},
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
const registered = registerThemeTools({
|
|
34
|
+
store,
|
|
35
|
+
apply: ({ document }) => applied.push(document.id),
|
|
36
|
+
context: {
|
|
37
|
+
registerTool: (tool) => {
|
|
38
|
+
tools.set(tool.name, tool);
|
|
39
|
+
},
|
|
40
|
+
},
|
|
41
|
+
});
|
|
42
|
+
|
|
43
|
+
const call = async (name: string, input: ToolArguments = {}) => {
|
|
44
|
+
const result = await tools.get(name)?.execute(input);
|
|
45
|
+
|
|
46
|
+
return JSON.stringify(result);
|
|
47
|
+
};
|
|
48
|
+
|
|
49
|
+
return { registered, tools, applied, call, stored: () => stored };
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
test("registers the three tools", () => {
|
|
53
|
+
const { registered, tools } = setup();
|
|
54
|
+
|
|
55
|
+
expect(registered).toBe(true);
|
|
56
|
+
expect([...tools.keys()]).toEqual(["get-theme", "list-themes", "set-theme"]);
|
|
57
|
+
});
|
|
58
|
+
|
|
59
|
+
test("does nothing without a model context", () => {
|
|
60
|
+
expect(
|
|
61
|
+
registerThemeTools({
|
|
62
|
+
store: {
|
|
63
|
+
load: async () => null,
|
|
64
|
+
save: async () => {},
|
|
65
|
+
clear: async () => {},
|
|
66
|
+
},
|
|
67
|
+
apply: () => {},
|
|
68
|
+
}),
|
|
69
|
+
).toBe(false);
|
|
70
|
+
});
|
|
71
|
+
|
|
72
|
+
test("set-theme applies and keeps a built-in theme by id", async () => {
|
|
73
|
+
const { applied, call, stored } = setup();
|
|
74
|
+
|
|
75
|
+
expect(await call("list-themes")).toContain("glazing");
|
|
76
|
+
expect(await call("set-theme", { id: "glazing" })).toContain(
|
|
77
|
+
"Applied Glazing",
|
|
78
|
+
);
|
|
79
|
+
expect(applied).toEqual(["glazing"]);
|
|
80
|
+
expect(stored()).toContain('"id": "glazing"');
|
|
81
|
+
expect(await call("get-theme")).toContain("glazing");
|
|
82
|
+
});
|
|
83
|
+
|
|
84
|
+
test("set-theme takes an Omarchy colors.toml", async () => {
|
|
85
|
+
const { applied, call } = setup();
|
|
86
|
+
|
|
87
|
+
const toml = `mode = "dark"
|
|
88
|
+
accent = "#7aa2f7"
|
|
89
|
+
muted = "#414868"
|
|
90
|
+
background = "#1a1b26"
|
|
91
|
+
dark_background = "#13141c"
|
|
92
|
+
lighter_background = "#24283b"
|
|
93
|
+
foreground = "#a9b1d6"
|
|
94
|
+
bright_foreground = "#c0caf5"
|
|
95
|
+
red = "#f7768e"
|
|
96
|
+
yellow = "#e0af68"
|
|
97
|
+
green = "#9ece6a"
|
|
98
|
+
blue = "#7aa2f7"
|
|
99
|
+
magenta = "#ad8ee6"`;
|
|
100
|
+
|
|
101
|
+
expect(await call("set-theme", { theme: toml })).toContain("Applied Omarchy");
|
|
102
|
+
expect(applied).toEqual(["omarchy"]);
|
|
103
|
+
});
|
|
104
|
+
|
|
105
|
+
test("set-theme explains a bad id or input instead of throwing", async () => {
|
|
106
|
+
const { applied, call } = setup();
|
|
107
|
+
|
|
108
|
+
expect(await call("set-theme", { id: "nope" })).toContain("list-themes");
|
|
109
|
+
expect(await call("set-theme", { theme: "{}" })).toContain("isn't a theme");
|
|
110
|
+
expect(applied).toEqual([]);
|
|
111
|
+
});
|
package/src/webmcp.ts
ADDED
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Theme tools for WebMCP: lets an agent in the browser read, list and set the
|
|
3
|
+
* page's theme through the page's own code, so the UI the user sees changes
|
|
4
|
+
* with it. It does nothing where the browser has no `document.modelContext`.
|
|
5
|
+
* Spec: https://github.com/webmachinelearning/webmcp
|
|
6
|
+
*
|
|
7
|
+
* @module
|
|
8
|
+
*/
|
|
9
|
+
import { Result, Schema } from "effect";
|
|
10
|
+
import base from "../themes/base.json" with { type: "json" };
|
|
11
|
+
import bridge from "../themes/bridge.json" with { type: "json" };
|
|
12
|
+
import glazing from "../themes/glazing.json" with { type: "json" };
|
|
13
|
+
import slate from "../themes/slate.json" with { type: "json" };
|
|
14
|
+
import snag from "../themes/snag.json" with { type: "json" };
|
|
15
|
+
import survey from "../themes/survey.json" with { type: "json" };
|
|
16
|
+
import { omarchyTheme } from "./omarchy.ts";
|
|
17
|
+
import {
|
|
18
|
+
parseTheme,
|
|
19
|
+
runtimeTheme,
|
|
20
|
+
type RuntimeTheme,
|
|
21
|
+
type ThemeStore,
|
|
22
|
+
} from "./runtime.ts";
|
|
23
|
+
import { SolvedTheme, type Theme } from "./schema.ts";
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The part of WebMCP's `ModelContext` these tools use. Declared here rather
|
|
27
|
+
* than taken from a types package, since the API is still moving.
|
|
28
|
+
*/
|
|
29
|
+
export interface ModelContext {
|
|
30
|
+
readonly registerTool: (
|
|
31
|
+
tool: ModelContextTool,
|
|
32
|
+
options?: { readonly signal?: AbortSignal },
|
|
33
|
+
) => Promise<void> | void;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
/** A tool's text result, in the shape MCP uses. */
|
|
37
|
+
export interface ToolResult {
|
|
38
|
+
readonly content: readonly { readonly type: "text"; readonly text: string }[];
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export interface ModelContextTool {
|
|
42
|
+
readonly name: string;
|
|
43
|
+
readonly description: string;
|
|
44
|
+
readonly inputSchema?: object;
|
|
45
|
+
/** Takes the agent's arguments, which the tool still decodes itself. */
|
|
46
|
+
readonly execute: (input: ToolArguments) => Promise<ToolResult>;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
/** The arguments these tools take. Agents can send anything, so they're decoded. */
|
|
50
|
+
export interface ToolArguments {
|
|
51
|
+
readonly id?: string;
|
|
52
|
+
readonly theme?: string;
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
declare global {
|
|
56
|
+
interface Document {
|
|
57
|
+
/** WebMCP's tool registry, where the browser has it. */
|
|
58
|
+
readonly modelContext?: ModelContext;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/** What `set-theme` takes: a built-in theme's id, or a theme's text. */
|
|
63
|
+
const SetThemeInput = Schema.Struct({
|
|
64
|
+
id: Schema.optionalKey(Schema.String),
|
|
65
|
+
theme: Schema.optionalKey(Schema.String),
|
|
66
|
+
});
|
|
67
|
+
|
|
68
|
+
/** The core themes, in the order the docs list them. */
|
|
69
|
+
export const coreThemes: readonly SolvedTheme[] = [
|
|
70
|
+
base,
|
|
71
|
+
glazing,
|
|
72
|
+
survey,
|
|
73
|
+
slate,
|
|
74
|
+
bridge,
|
|
75
|
+
snag,
|
|
76
|
+
].map((document) => Schema.decodeUnknownSync(SolvedTheme)(document));
|
|
77
|
+
|
|
78
|
+
export interface ThemeToolsOptions {
|
|
79
|
+
/** Where the user's theme document is kept. */
|
|
80
|
+
readonly store: ThemeStore;
|
|
81
|
+
/** Applies a solved theme to the page, as the app's own picker would. */
|
|
82
|
+
readonly apply: (theme: {
|
|
83
|
+
readonly text: string;
|
|
84
|
+
readonly document: Theme;
|
|
85
|
+
readonly runtime: RuntimeTheme;
|
|
86
|
+
}) => void;
|
|
87
|
+
/** Themes an agent can pick by id. Defaults to the core themes. */
|
|
88
|
+
readonly themes?: readonly Theme[];
|
|
89
|
+
/** Unregisters the tools when aborted. */
|
|
90
|
+
readonly signal?: AbortSignal;
|
|
91
|
+
/** The model context to register on. Defaults to `document.modelContext`. */
|
|
92
|
+
readonly context?: ModelContext;
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
const text = (message: string): ToolResult => ({
|
|
96
|
+
content: [{ type: "text", text: message }],
|
|
97
|
+
});
|
|
98
|
+
|
|
99
|
+
/** The roles a theme misses its contrast target on, for the agent to report. */
|
|
100
|
+
const misses = (runtime: RuntimeTheme) =>
|
|
101
|
+
runtime.checks
|
|
102
|
+
.filter((result) => !result.passes)
|
|
103
|
+
.map(
|
|
104
|
+
(result) =>
|
|
105
|
+
`${result.role} in ${result.mode} (${result.ratio.toFixed(2)})`,
|
|
106
|
+
);
|
|
107
|
+
|
|
108
|
+
/** Reads a theme from JSON text or an Omarchy `colors.toml`. */
|
|
109
|
+
const readTheme = (input: string) => {
|
|
110
|
+
const parsed = parseTheme(input);
|
|
111
|
+
|
|
112
|
+
if (Result.isSuccess(parsed)) return parsed;
|
|
113
|
+
|
|
114
|
+
return input.trimStart().startsWith("{") ? parsed : omarchyTheme(input);
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
/**
|
|
118
|
+
* Registers `get-theme`, `list-themes` and `set-theme`. Returns whether the
|
|
119
|
+
* browser offered a model context to register them on.
|
|
120
|
+
*/
|
|
121
|
+
export const registerThemeTools = (options: ThemeToolsOptions): boolean => {
|
|
122
|
+
const context =
|
|
123
|
+
options.context ??
|
|
124
|
+
("document" in globalThis ? document.modelContext : undefined);
|
|
125
|
+
|
|
126
|
+
if (context === undefined) return false;
|
|
127
|
+
|
|
128
|
+
const themes = options.themes ?? coreThemes;
|
|
129
|
+
|
|
130
|
+
const registration =
|
|
131
|
+
options.signal === undefined ? {} : { signal: options.signal };
|
|
132
|
+
|
|
133
|
+
const apply = async (document: Theme) => {
|
|
134
|
+
const source = JSON.stringify(document, null, 2);
|
|
135
|
+
const runtime = runtimeTheme(document);
|
|
136
|
+
|
|
137
|
+
options.apply({ text: source, document, runtime });
|
|
138
|
+
await options.store.save(source);
|
|
139
|
+
|
|
140
|
+
const missed = misses(runtime);
|
|
141
|
+
|
|
142
|
+
return text(
|
|
143
|
+
missed.length === 0
|
|
144
|
+
? `Applied ${document.name}. Every role meets its contrast target.`
|
|
145
|
+
: `Applied ${document.name}, with ${missed.length} roles below target: ${missed.join(", ")}.`,
|
|
146
|
+
);
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
void context.registerTool(
|
|
150
|
+
{
|
|
151
|
+
name: "get-theme",
|
|
152
|
+
description:
|
|
153
|
+
"Returns the user's own theme document on this page, if they have one, and any roles that miss their contrast target.",
|
|
154
|
+
execute: async () => {
|
|
155
|
+
const stored = await options.store.load();
|
|
156
|
+
|
|
157
|
+
if (stored === null)
|
|
158
|
+
return text(
|
|
159
|
+
"No custom theme is set; the page uses its built-in theme.",
|
|
160
|
+
);
|
|
161
|
+
|
|
162
|
+
const parsed = readTheme(stored);
|
|
163
|
+
|
|
164
|
+
if (Result.isFailure(parsed))
|
|
165
|
+
return text(
|
|
166
|
+
"The stored theme no longer decodes, so the page ignores it.",
|
|
167
|
+
);
|
|
168
|
+
|
|
169
|
+
const report = {
|
|
170
|
+
document: parsed.success,
|
|
171
|
+
misses: misses(runtimeTheme(parsed.success)),
|
|
172
|
+
};
|
|
173
|
+
|
|
174
|
+
return text(JSON.stringify(report, null, 2));
|
|
175
|
+
},
|
|
176
|
+
},
|
|
177
|
+
registration,
|
|
178
|
+
);
|
|
179
|
+
|
|
180
|
+
void context.registerTool(
|
|
181
|
+
{
|
|
182
|
+
name: "list-themes",
|
|
183
|
+
description:
|
|
184
|
+
"Lists the built-in themes by id and name, to pick one with set-theme.",
|
|
185
|
+
execute: async () =>
|
|
186
|
+
text(
|
|
187
|
+
JSON.stringify(
|
|
188
|
+
themes.map((theme) => ({ id: theme.id, name: theme.name })),
|
|
189
|
+
null,
|
|
190
|
+
2,
|
|
191
|
+
),
|
|
192
|
+
),
|
|
193
|
+
},
|
|
194
|
+
registration,
|
|
195
|
+
);
|
|
196
|
+
|
|
197
|
+
void context.registerTool(
|
|
198
|
+
{
|
|
199
|
+
name: "set-theme",
|
|
200
|
+
description:
|
|
201
|
+
"Applies a theme to this page and keeps it. Give the id of a built-in theme, or a Groundwork theme document as JSON, or the text of an Omarchy colors.toml.",
|
|
202
|
+
inputSchema: {
|
|
203
|
+
type: "object",
|
|
204
|
+
properties: {
|
|
205
|
+
id: {
|
|
206
|
+
type: "string",
|
|
207
|
+
description: "A built-in theme's id, from list-themes.",
|
|
208
|
+
},
|
|
209
|
+
theme: {
|
|
210
|
+
type: "string",
|
|
211
|
+
description:
|
|
212
|
+
"A Groundwork theme document as JSON, or an Omarchy colors.toml's text.",
|
|
213
|
+
},
|
|
214
|
+
},
|
|
215
|
+
},
|
|
216
|
+
execute: async (input) => {
|
|
217
|
+
const decoded = Schema.decodeUnknownResult(SetThemeInput)(input);
|
|
218
|
+
|
|
219
|
+
if (Result.isFailure(decoded))
|
|
220
|
+
return text("Give id or theme as a string.");
|
|
221
|
+
|
|
222
|
+
const { id, theme } = decoded.success;
|
|
223
|
+
|
|
224
|
+
if (id !== undefined) {
|
|
225
|
+
const found = themes.find((item) => item.id === id);
|
|
226
|
+
|
|
227
|
+
return found === undefined
|
|
228
|
+
? text(
|
|
229
|
+
`No built-in theme has the id "${id}". Call list-themes for the ids.`,
|
|
230
|
+
)
|
|
231
|
+
: apply(found);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
if (theme === undefined) return text("Give either id or theme.");
|
|
235
|
+
|
|
236
|
+
const parsed = readTheme(theme);
|
|
237
|
+
|
|
238
|
+
return Result.isSuccess(parsed)
|
|
239
|
+
? apply(parsed.success)
|
|
240
|
+
: text(
|
|
241
|
+
`That isn't a theme document or an Omarchy colors.toml: ${String(parsed.failure).slice(0, 400)}`,
|
|
242
|
+
);
|
|
243
|
+
},
|
|
244
|
+
},
|
|
245
|
+
registration,
|
|
246
|
+
);
|
|
247
|
+
|
|
248
|
+
return true;
|
|
249
|
+
};
|
package/themes/bridge.json
CHANGED
|
@@ -2,10 +2,10 @@
|
|
|
2
2
|
"kind": "solved",
|
|
3
3
|
"id": "bridge",
|
|
4
4
|
"name": "Bridge",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "System Bridge's violet on neutral charcoal. Medium radii, soft borders and pill chips.",
|
|
6
6
|
"examples": ["System Bridge"],
|
|
7
7
|
"background": "#1e1e22",
|
|
8
|
-
"accent": "#
|
|
8
|
+
"accent": "#a78bfa",
|
|
9
9
|
"style": {
|
|
10
10
|
"font": "Inter",
|
|
11
11
|
"mono": "JetBrains Mono",
|