@gryt/theme 0.7.0 → 0.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function O(r){return r<=.04045?r/12.92:((r+.055)/1.055)**2.4}function M(r){return r<=.0031308?12.92*r:1.055*r**(1/2.4)-.055}function w(r){return Math.min(1,Math.max(0,r))}function x(r){const a=r.replace("#",""),c=a.length===3?a.split("").map(e=>e+e).join(""):a;return[parseInt(c.slice(0,2),16)/255,parseInt(c.slice(2,4),16)/255,parseInt(c.slice(4,6),16)/255]}function _([r,a,c]){const e=s=>Math.round(w(s)*255).toString(16).padStart(2,"0");return`#${e(r)}${e(a)}${e(c)}`}function H(r){const[a,c,e]=x(r).map(O),s=Math.cbrt(.4122214708*a+.5363325363*c+.0514459929*e),t=Math.cbrt(.2119034982*a+.6806995451*c+.1073969566*e),n=Math.cbrt(.0883024619*a+.2817188376*c+.6299787005*e),d=.2104542553*s+.793617785*t-.0040720468*n,f=1.9779984951*s-2.428592205*t+.4505937099*n,g=.0259040371*s+.7827717662*t-.808675766*n;return{l:d,c:Math.hypot(f,g),h:(Math.atan2(g,f)*180/Math.PI+360)%360}}function y({l:r,c:a,h:c}){const e=a*Math.cos(c*Math.PI/180),s=a*Math.sin(c*Math.PI/180),t=(r+.3963377774*e+.2158037573*s)**3,n=(r-.1055613458*e-.0638541728*s)**3,d=(r-.0894841775*e-1.291485548*s)**3;return _([M(w(4.0767416621*t-3.3077115913*n+.2309699292*d)),M(w(-1.2684380046*t+2.6097574011*n-.3413193965*d)),M(w(-.0041960863*t-.7034186147*n+1.707614701*d))])}const W=[.195,.24,.27,.3,.33,.37,.43,.52],q=[.014,.026,.04,.052,.062,.072,.084,.1];function l(r,a){const{h:c}=H(r),e=W.map((d,f)=>y({l:d,c:q[f],h:c}));e.push(r,a);const s=H(a).l,t=Math.min(.95,Math.max(.84,s+.04)),n=Math.min(.98,Math.max(t+.06,.93));return e.push(y({l:t,c:.11,h:c})),e.push(y({l:n,c:.055,h:c})),e}const X=[.187,.231,.245,.268,.289,.31,.355,.425,.52,.57,.627,.908],J=[.011,.014,.016,.019,.022,.024,.026,.026,.02,.012,0,.008];function C(r){const a={0:r.bg,1:r.surface,2:r.surfaceRaised,5:r.border,10:r.muted,11:r.text},c=H(r.border).h;return X.map((e,s)=>a[s]??y({l:e,c:J[s],h:c}))}function S(r,a){const c=x(a);return r.map(e=>{const s=x(e);let t=0;for(let u=0;u<3;u++){const b=s[u],p=c[u];b>p?t=Math.max(t,p<1?(b-p)/(1-p):0):b<p&&(t=Math.max(t,p>0?(p-b)/p:0))}if(t<1e-6)return"transparent";const n=_(s.map((u,b)=>w(c[b]+(u-c[b])/t))),[d,f,g]=x(n).map(u=>Math.round(u*255));return`rgb(${d} ${f} ${g} / ${(t*100).toFixed(1)}%)`})}const Q=[.962,1,.978,.952,.928,.898,.855,.79,.66,.61,.48,.25],V=[.006,0,.004,.007,.01,.013,.016,.018,.016,.014,.012,.014],Z=[.975,.955,.93,.905,.878,.845,.795,.72],ee=[.012,.024,.038,.05,.062,.074,.09,.11];function P(r){const a={0:r.bg,1:r.surface,2:r.surfaceRaised,5:r.border,10:r.muted,11:r.text},c=H(r.border).h;return Q.map((e,s)=>a[s]??y({l:e,c:V[s],h:c}))}function h(r){const{l:a,c,h:e}=H(r),s=Z.map((t,n)=>y({l:t,c:ee[n],h:e}));return s.push(r),s.push(y({l:Math.max(0,a-.07),c,h:e})),s.push(y({l:.46,c:.15,h:e})),s.push(y({l:.33,c:.1,h:e})),s}function U(r){const[a,c,e]=x(r).map(O);return .2126*a+.7152*c+.0722*e}function re(r,a){const c=U(r),e=U(a);return(Math.max(c,e)+.05)/(Math.min(c,e)+.05)}const o={color:{bg:"#111318",surface:"#1a1d24",surfaceRaised:"#1e2028",surfaceHover:"#334155",border:"#2b303d",text:"#e0e0e6",muted:"#888888",accent:"#968ff8",accentLight:"#b4afff",secondary:"#7dd3fc",secondaryLight:"#bae6fd",success:"#4ade80",danger:"#f87171",dangerLight:"#fca5a5",warning:"#fbbf24",onAccent:"#0c0a20",onSecondary:"#02121a",onDanger:"#1f0405"},radius:{sm:8,md:12,lg:20,xl:28,full:999}},i={bg:"#f1f2f7",surface:"#ffffff",surfaceRaised:"#f7f8fb",border:"#dadde6",muted:"#5b5d65",text:"#1f2129"},$={neutral:C({bg:o.color.bg,surface:o.color.surface,surfaceRaised:o.color.surfaceRaised,border:o.color.border,muted:o.color.muted,text:o.color.text}),accent:l(o.color.accent,o.color.accentLight),secondary:l(o.color.secondary,o.color.secondaryLight),success:l(o.color.success,o.color.success),danger:l(o.color.danger,o.color.dangerLight),warning:l(o.color.warning,o.color.warning)},v={neutral:P(i),accent:h(o.color.accent),secondary:h(o.color.secondary),success:h(o.color.success),danger:h(o.color.danger),warning:h(o.color.warning)},F=v.neutral[3],ae={neutral:S($.neutral,o.color.bg),accent:S($.accent,o.color.bg)},te={neutral:S(v.neutral,i.bg),accent:S(v.accent,i.bg)};function ce(r={}){const a=r.appearance==="light",e={...a?{...o.color,...i,surfaceHover:F}:o.color,...r.color},s={...o.radius,...r.radius},t={bg:e.bg,surface:e.surface,surfaceRaised:e.surfaceRaised,border:e.border,muted:e.muted,text:e.text},n=a?{neutral:P(t),accent:h(e.accent),secondary:h(e.secondary),success:h(e.success),danger:h(e.danger),warning:h(e.warning)}:{neutral:C(t),accent:l(e.accent,e.accentLight),secondary:l(e.secondary,e.secondaryLight),success:l(e.success,e.success),danger:l(e.danger,e.dangerLight),warning:l(e.warning,e.warning)},d={};for(const[f,g]of Object.entries(n))g.forEach((u,b)=>{d[`--gryt-${f}-${b+1}`]=u,d[`--color-gryt-${f}-${b+1}`]=u});for(const f of["neutral","accent"])S(n[f],e.bg).forEach((g,u)=>{d[`--gryt-${f}-a${u+1}`]=g,d[`--color-gryt-${f}-a${u+1}`]=g});return{...d,"--gryt-bg":e.bg,"--gryt-surface":e.surface,"--gryt-surface-raised":e.surfaceRaised,"--gryt-surface-hover":e.surfaceHover,"--gryt-border":e.border,"--gryt-text":e.text,"--gryt-muted":e.muted,"--gryt-accent":e.accent,"--gryt-accent-light":e.accentLight,"--gryt-secondary":e.secondary,"--gryt-secondary-light":e.secondaryLight,"--gryt-success":e.success,"--gryt-danger":e.danger,"--gryt-danger-light":e.dangerLight,"--gryt-warning":e.warning,"--gryt-on-accent":e.onAccent,"--gryt-on-secondary":e.onSecondary,"--gryt-on-danger":e.onDanger,"--color-gryt-bg":e.bg,"--color-gryt-surface":e.surface,"--color-gryt-surface-raised":e.surfaceRaised,"--color-gryt-surface-hover":e.surfaceHover,"--color-gryt-border":e.border,"--color-gryt-text":e.text,"--color-gryt-muted":e.muted,"--color-gryt-accent":e.accent,"--color-gryt-accent-light":e.accentLight,"--color-gryt-secondary":e.secondary,"--color-gryt-secondary-light":e.secondaryLight,"--color-gryt-success":e.success,"--color-gryt-danger":e.danger,"--color-gryt-danger-light":e.dangerLight,"--color-gryt-warning":e.warning,"--color-gryt-on-accent":e.onAccent,"--color-gryt-on-secondary":e.onSecondary,"--color-gryt-on-danger":e.onDanger,"--gryt-radius-sm":`${s.sm}px`,"--gryt-radius-md":`${s.md}px`,"--gryt-radius-lg":`${s.lg}px`,"--gryt-radius-xl":`${s.xl}px`,"--gryt-radius-full":`${s.full}px`}}const T=["accent","accentLight","secondary","secondaryLight","success","danger","dangerLight","warning","onAccent","onSecondary","onDanger"],I=["bg","surface","surfaceRaised","surfaceHover","border","muted","text"],A=["sm","md","lg","xl","full"],B=60;function k(r){return r.replace(/\s+/g," ").trim().slice(0,B)}const L={hue:{accent:o.color.accent,accentLight:o.color.accentLight,secondary:o.color.secondary,secondaryLight:o.color.secondaryLight,success:o.color.success,danger:o.color.danger,dangerLight:o.color.dangerLight,warning:o.color.warning,onAccent:o.color.onAccent,onSecondary:o.color.onSecondary,onDanger:o.color.onDanger},lightHue:null,dark:{bg:o.color.bg,surface:o.color.surface,surfaceRaised:o.color.surfaceRaised,surfaceHover:o.color.surfaceHover,border:o.color.border,muted:o.color.muted,text:o.color.text},light:{bg:i.bg,surface:i.surface,surfaceRaised:i.surfaceRaised,surfaceHover:F,border:i.border,muted:i.muted,text:i.text},radius:{...o.radius}};function G(r){return{...r.name===void 0?{}:{name:r.name},hue:{...r.hue},lightHue:r.lightHue===null?null:{...r.lightHue},dark:{...r.dark},light:{...r.light},radius:{...r.radius}}}function j(r,a){return a==="light"&&r.lightHue!==null?r.lightHue:r.hue}function ne(r,a){return{appearance:a,color:{...j(r,a),...r[a]},radius:{...r.radius}}}const R={accent:"accent",accentLight:"accent-light",secondary:"secondary",secondaryLight:"secondary-light",success:"success",danger:"danger",dangerLight:"danger-light",warning:"warning",onAccent:"on-accent",onSecondary:"on-secondary",onDanger:"on-danger"},z={bg:"bg",surface:"surface",surfaceRaised:"raised",surfaceHover:"hover",border:"border",muted:"muted",text:"text"},oe=/^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;function N(r){return oe.test(r.trim())}function D(r){const a=r.trim().toLowerCase();return a.length===4?`#${a[1]}${a[1]}${a[2]}${a[2]}${a[3]}${a[3]}`:a}function se(r,a){const c=new URLSearchParams,e=t=>D(t).slice(1),s=k(r.name??"");s!==""&&c.set("name",s);for(const t of T)r.hue[t]!==L.hue[t]&&c.set(R[t],e(r.hue[t]));if(r.lightHue!==null)for(const t of T)c.set(`lh-${R[t]}`,e(r.lightHue[t]));for(const t of["dark","light"]){const n=t==="dark"?"d":"l";for(const d of I)r[t][d]!==L[t][d]&&c.set(`${n}-${z[d]}`,e(r[t][d]))}for(const t of A)r.radius[t]!==L.radius[t]&&c.set(`r-${t}`,String(r.radius[t]));return a==="light"&&c.set("mode","light"),c}function de(r){const a=r.trim();if(a==="")return null;if(a.startsWith("{"))return ue(a);const c=a.includes("?")?a.slice(a.indexOf("?")+1):a;return fe(new URLSearchParams(c))}function fe(r){const a=G(L);let c=!1;const e=t=>{const n=r.get(t);if(n===null)return null;const d=n.startsWith("#")?n:`#${n}`;return N(d)?(c=!0,D(d)):null},s=k(r.get("name")??"");s!==""&&(a.name=s,c=!0);for(const t of T){const n=e(R[t]);n!==null&&(a.hue[t]=n)}if(r.has(`lh-${R.accent}`)){const t={...a.hue};for(const n of T){const d=e(`lh-${R[n]}`);d!==null&&(t[n]=d)}a.lightHue=t}for(const t of["dark","light"]){const n=t==="dark"?"d":"l";for(const d of I){const f=e(`${n}-${z[d]}`);f!==null&&(a[t][d]=f)}}for(const t of A){const n=Number(r.get(`r-${t}`));Number.isFinite(n)&&n>=0&&n<=999&&r.has(`r-${t}`)&&(a.radius[t]=Math.round(n),c=!0)}return c?{theme:a,appearance:r.get("mode")==="light"?"light":"dark"}:null}function ue(r){let a;try{a=JSON.parse(r)}catch{return null}if(typeof a!="object"||a===null)return null;const c=a,e=G(L);let s=!1;const t=(n,d)=>{if(!(typeof n!="object"||n===null))for(const[f,g]of Object.entries(n))typeof g=="string"&&N(g)&&f in d&&(d[f]=D(g),s=!0)};if(typeof c.name=="string"){const n=k(c.name);n!==""&&(e.name=n,s=!0)}if(t(c.hue,e.hue),t(c.dark,e.dark),t(c.light,e.light),typeof c.lightHue=="object"&&c.lightHue!==null){const n={...e.hue};t(c.lightHue,n),e.lightHue=n}if(typeof c.radius=="object"&&c.radius!==null)for(const[n,d]of Object.entries(c.radius)){const f=Number(d);A.includes(n)&&Number.isFinite(f)&&f>=0&&f<=999&&(e.radius[n]=Math.round(f),s=!0)}return s?{theme:e,appearance:"dark"}:null}const m={sm:8,md:12,lg:20,xl:28,full:999},E={sm:6,md:8,lg:14,xl:18,full:999},ge={sm:4,md:6,lg:10,xl:14,full:6},ie={sm:6,md:8,lg:10,xl:14,full:10},Y={sm:2,md:4,lg:6,xl:8,full:4},le={sm:8,md:8,lg:8,xl:8,full:8},K=[{id:"gryt",name:"Gryt",note:"What the library ships, from the Gryt code-theme.",group:"Gryt",source:"github.com/Gryt-chat/code-theme",theme:L},{id:"gryt-rounded",name:"Gryt Rounded",note:"The shipped palette, every corner at eight pixels. Made by Carlo.",group:"Gryt",source:"Carlo",theme:{...G(L),name:"Gryt Rounded",radius:le}},{id:"ember",name:"Ember",note:"Warm all the way down — the neutrals are brown, not blue.",group:"Gryt",theme:{name:"Ember",hue:{accent:"#f0803c",accentLight:"#ff9f66",secondary:"#d9a441",secondaryLight:"#ecc06a",success:"#8bb056",danger:"#e35d55",dangerLight:"#ef8079",warning:"#e8b33e",onAccent:"#231004",onSecondary:"#241a04",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#17110e",surface:"#1f1815",surfaceRaised:"#251d19",surfaceHover:"#33261f",border:"#352822",muted:"#a48f81",text:"#f5ece5"},light:{bg:"#f6efe8",surface:"#fffdfb",surfaceRaised:"#faf3ec",surfaceHover:"#efe3d8",border:"#e0d2c4",muted:"#6b5b50",text:"#241a14"},radius:m}},{id:"paper",name:"Paper",note:"Near-monochrome. One quiet slate accent and nothing else.",group:"Gryt",theme:{name:"Paper",hue:{accent:"#8390a8",accentLight:"#a3aec2",secondary:"#93a0a0",secondaryLight:"#b1bcbc",success:"#7f9b7f",danger:"#b56b6b",dangerLight:"#c98d8d",warning:"#b39a6a",onAccent:"#11151c",onSecondary:"#121717",onDanger:"#1d0e0e"},lightHue:null,dark:{bg:"#101011",surface:"#17171a",surfaceRaised:"#1d1d20",surfaceHover:"#282a2e",border:"#2a2a2e",muted:"#8e8e94",text:"#ededf0"},light:{bg:"#f0f0f2",surface:"#ffffff",surfaceRaised:"#f7f7f9",surfaceHover:"#e6e6ea",border:"#d6d6dc",muted:"#5b5b63",text:"#17171a"},radius:E}},{id:"owl-rose",name:"Rose",note:"Dusty rose over plum. The warmest of the six.",group:"Gryt",source:"Gryt owl palettes",theme:{name:"Rose",hue:{accent:"#D87489",accentLight:"#EDAAAF",secondary:"#d7906f",secondaryLight:"#efb499",success:"#69b27a",danger:"#da534f",dangerLight:"#f07f77",warning:"#e6ac3d",onAccent:"#2b0614",onSecondary:"#2b0614",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#1f020b",surface:"#2b0c16",surfaceRaised:"#34151e",surfaceHover:"#45202b",border:"#4c2933",muted:"#a38b90",text:"#f4ede9"},light:{bg:"#fbf1ed",surface:"#fffcfb",surfaceRaised:"#fdf5f1",surfaceHover:"#f3e6e1",border:"#e4d6d0",muted:"#765b61",text:"#31151d"},radius:m}},{id:"owl-amber",name:"Amber",note:"Amber on aubergine — a warm accent over cool-dark neutrals.",group:"Gryt",source:"Gryt owl palettes",theme:{name:"Amber",hue:{accent:"#E39336",accentLight:"#ECC07C",secondary:"#c0b760",secondaryLight:"#ddd793",success:"#69b27a",danger:"#da534f",dangerLight:"#f07f77",warning:"#e6ac3d",onAccent:"#1e101e",onSecondary:"#1e101e",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#140814",surface:"#20131f",surfaceRaised:"#281c27",surfaceHover:"#372836",border:"#3e303d",muted:"#988f97",text:"#f1eee8"},light:{bg:"#f7f3ec",surface:"#fffdfa",surfaceRaised:"#faf6f0",surfaceHover:"#efe9df",border:"#dfd8cd",muted:"#6a5f69",text:"#261b26"},radius:m}},{id:"owl-wine",name:"Wine",note:"Deep red throughout. Neutrals carry the same hue as the accent.",group:"Gryt",source:"Gryt owl palettes",theme:{name:"Wine",hue:{accent:"#CE7072",accentLight:"#E29A98",secondary:"#c88d61",secondaryLight:"#e0b08d",success:"#69b27a",danger:"#da534f",dangerLight:"#f07f77",warning:"#e6ac3d",onAccent:"#250d16",onSecondary:"#250d16",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#1a050d",surface:"#261118",surfaceRaised:"#2e1920",surfaceHover:"#3e252e",border:"#452e35",muted:"#9d8d92",text:"#f4edea"},light:{bg:"#faf1ee",surface:"#fffdfb",surfaceRaised:"#fdf5f1",surfaceHover:"#f2e7e2",border:"#e3d6d0",muted:"#705d63",text:"#2c191f"},radius:m}},{id:"owl-indigo",name:"Indigo",note:"Periwinkle on deep indigo. The closest to the Gryt mark.",group:"Gryt",source:"Gryt owl palettes",theme:{name:"Indigo",hue:{accent:"#786FF6",accentLight:"#9E97FA",secondary:"#ba70cb",secondaryLight:"#d397e1",success:"#69b27a",danger:"#da534f",dangerLight:"#f07f77",warning:"#e6ac3d",onAccent:"#121329",onSecondary:"#121329",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#0a0b1e",surface:"#151629",surfaceRaised:"#1d1e32",surfaceHover:"#2a2c42",border:"#323348",muted:"#8f919f",text:"#eeeef3"},light:{bg:"#f3f2f9",surface:"#fdfdff",surfaceRaised:"#f6f6fc",surfaceHover:"#e9e8f1",border:"#d9d8e2",muted:"#606272",text:"#1c1d2f"},radius:m}},{id:"owl-forest",name:"Forest",note:"Sage over slate. The only one whose accent is the quiet colour.",group:"Gryt",source:"Gryt owl palettes",theme:{name:"Forest",hue:{accent:"#98B4A1",accentLight:"#C7D7CA",secondary:"#a2bfbe",secondaryLight:"#c5dddc",success:"#69b27a",danger:"#da534f",dangerLight:"#f07f77",warning:"#e6ac3d",onAccent:"#13161e",onSecondary:"#13161e",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#0a0d14",surface:"#15181f",surfaceRaised:"#1d2028",surfaceHover:"#2a2e36",border:"#32353d",muted:"#909297",text:"#edefed"},light:{bg:"#f2f4f2",surface:"#fdfefd",surfaceRaised:"#f5f7f6",surfaceHover:"#e7eae8",border:"#d7dad7",muted:"#616369",text:"#1d1f26"},radius:m}},{id:"owl-ice",name:"Ice",note:"Steel blue on near-white. Built light first.",group:"Gryt",source:"Gryt owl palettes",theme:{name:"Ice",hue:{accent:"#7495B9",accentLight:"#BADDFC",secondary:"#9c99bc",secondaryLight:"#bcbad6",success:"#69b27a",danger:"#da534f",dangerLight:"#f07f77",warning:"#e6ac3d",onAccent:"#10171e",onSecondary:"#10171e",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#080e14",surface:"#13191f",surfaceRaised:"#1b2127",surfaceHover:"#272f36",border:"#2f363d",muted:"#8e9397",text:"#eeeeef"},light:{bg:"#f3f3f4",surface:"#fdfdfe",surfaceRaised:"#f6f7f8",surfaceHover:"#e9e9eb",border:"#d8d9da",muted:"#5f6469",text:"#1a2025"},radius:m}},{id:"signal",name:"Signal",note:"Black, white, and a yellow that cannot be missed.",group:"Gryt",theme:{name:"Signal",hue:{accent:"#ffd400",accentLight:"#ffe454",secondary:"#00d0ff",secondaryLight:"#66e2ff",success:"#00e06a",danger:"#ff453a",dangerLight:"#ff7a72",warning:"#ffab00",onAccent:"#161200",onSecondary:"#001a20",onDanger:"#1a0300"},lightHue:null,dark:{bg:"#000000",surface:"#0c0c0c",surfaceRaised:"#151515",surfaceHover:"#242424",border:"#454545",muted:"#bcbcbc",text:"#ffffff"},light:{bg:"#f0f0f0",surface:"#ffffff",surfaceRaised:"#f8f8f8",surfaceHover:"#e3e3e3",border:"#6f6f6f",muted:"#3d3d3d",text:"#000000"},radius:Y}},{id:"dracula",name:"Dracula",note:"The purple-and-pink dark theme, with Alucard as its light half.",group:"Ported",source:"draculatheme.com, MIT",theme:{name:"Dracula",hue:{accent:"#bd93f9",accentLight:"#d0b3fb",secondary:"#8be9fd",secondaryLight:"#aff0fe",success:"#50fa7b",danger:"#ff5555",dangerLight:"#ff7979",warning:"#ffb86c",onAccent:"#282a36",onSecondary:"#282a36",onDanger:"#282a36"},lightHue:{accent:"#644ac9",accentLight:"#7b64d6",secondary:"#036a96",secondaryLight:"#0b83b5",success:"#14710a",danger:"#cb3a2a",dangerLight:"#d95445",warning:"#a34d14",onAccent:"#fffbeb",onSecondary:"#fffbeb",onDanger:"#fffbeb"},dark:{bg:"#282a36",surface:"#31323f",surfaceRaised:"#383a49",surfaceHover:"#44475a",border:"#44475a",muted:"#6272a4",text:"#f8f8f2"},light:{bg:"#f5f1e1",surface:"#fffbeb",surfaceRaised:"#faf6e6",surfaceHover:"#ece7d4",border:"#dcd6bf",muted:"#6c664b",text:"#1f1f1f"},radius:E}},{id:"nord",name:"Nord",note:"Polar Night and Snow Storm, with Frost on top.",group:"Ported",source:"nordtheme.com, MIT",theme:{name:"Nord",hue:{accent:"#88c0d0",accentLight:"#8fbcbb",secondary:"#81a1c1",secondaryLight:"#a3b8d4",success:"#a3be8c",danger:"#bf616a",dangerLight:"#d08770",warning:"#ebcb8b",onAccent:"#2e3440",onSecondary:"#2e3440",onDanger:"#eceff4"},lightHue:{accent:"#5e81ac",accentLight:"#81a1c1",secondary:"#8fbcbb",secondaryLight:"#88c0d0",success:"#a3be8c",danger:"#bf616a",dangerLight:"#d08770",warning:"#ebcb8b",onAccent:"#eceff4",onSecondary:"#2e3440",onDanger:"#eceff4"},dark:{bg:"#2e3440",surface:"#3b4252",surfaceRaised:"#434c5e",surfaceHover:"#4c566a",border:"#4c566a",muted:"#d8dee9",text:"#eceff4"},light:{bg:"#e5e9f0",surface:"#eceff4",surfaceRaised:"#e9edf2",surfaceHover:"#d8dee9",border:"#c9d1de",muted:"#4c566a",text:"#2e3440"},radius:E}},{id:"catppuccin",name:"Catppuccin",note:"Mocha for dark, Latte for light. Mauve does the accent work.",group:"Ported",source:"catppuccin/palette, MIT",theme:{name:"Catppuccin",hue:{accent:"#cba6f7",accentLight:"#dcc0fa",secondary:"#89b4fa",secondaryLight:"#a8c8fb",success:"#a6e3a1",danger:"#f38ba8",dangerLight:"#eba0ac",warning:"#f9e2af",onAccent:"#1e1e2e",onSecondary:"#1e1e2e",onDanger:"#1e1e2e"},lightHue:{accent:"#8839ef",accentLight:"#9a55f2",secondary:"#1e66f5",secondaryLight:"#4680f7",success:"#40a02b",danger:"#d20f39",dangerLight:"#e64553",warning:"#df8e1d",onAccent:"#eff1f5",onSecondary:"#eff1f5",onDanger:"#eff1f5"},dark:{bg:"#1e1e2e",surface:"#313244",surfaceRaised:"#45475a",surfaceHover:"#585b70",border:"#45475a",muted:"#a6adc8",text:"#cdd6f4"},light:{bg:"#e6e9ef",surface:"#eff1f5",surfaceRaised:"#eaedf3",surfaceHover:"#dce0e8",border:"#ccd0da",muted:"#6c6f85",text:"#4c4f69"},radius:m}},{id:"github",name:"GitHub",note:"Primer's own tokens, six-pixel corners included.",group:"Ported",source:"@primer/primitives",theme:{name:"GitHub",hue:{accent:"#1f6feb",accentLight:"#4493f8",secondary:"#8957e5",secondaryLight:"#a371f7",success:"#238636",danger:"#da3633",dangerLight:"#f85149",warning:"#9e6a03",onAccent:"#ffffff",onSecondary:"#ffffff",onDanger:"#ffffff"},lightHue:{accent:"#0969da",accentLight:"#218bff",secondary:"#8250df",secondaryLight:"#a475f9",success:"#1f883d",danger:"#cf222e",dangerLight:"#d1242f",warning:"#9a6700",onAccent:"#ffffff",onSecondary:"#ffffff",onDanger:"#ffffff"},dark:{bg:"#0d1117",surface:"#151b23",surfaceRaised:"#1c222b",surfaceHover:"#262c36",border:"#3d444d",muted:"#9198a1",text:"#f0f6fc"},light:{bg:"#f6f8fa",surface:"#ffffff",surfaceRaised:"#fbfcfd",surfaceHover:"#eef1f4",border:"#d1d9e0",muted:"#59636e",text:"#1f2328"},radius:ge}},{id:"claude",name:"Claude",note:"Anthropic's clay orange on cream and near-black.",group:"Ported",source:"anthropic.com — a likeness, not a published palette",theme:{name:"Claude",hue:{accent:"#d97757",accentLight:"#e59275",secondary:"#7d9ec4",secondaryLight:"#9db8d6",success:"#6ba368",danger:"#bf4d43",dangerLight:"#d4726a",warning:"#d9a441",onAccent:"#241009",onSecondary:"#0c1720",onDanger:"#faf9f5"},lightHue:null,dark:{bg:"#141413",surface:"#1f1e1d",surfaceRaised:"#262624",surfaceHover:"#3d3d3a",border:"#3d3d3a",muted:"#b0aea5",text:"#faf9f5"},light:{bg:"#f0eee6",surface:"#faf9f5",surfaceRaised:"#f5f3ec",surfaceHover:"#e8e6dc",border:"#d5d2c5",muted:"#87867f",text:"#141413"},radius:m}},{id:"shadcn",name:"shadcn/ui",note:"Zinc neutrals and a ten-pixel radius. No pills anywhere.",group:"Ported",source:"ui.shadcn.com, MIT — accent adapted",theme:{name:"shadcn/ui",hue:{accent:"#a1a1aa",accentLight:"#d4d4d8",secondary:"#71717a",secondaryLight:"#a1a1aa",success:"#4ade80",danger:"#e7000b",dangerLight:"#fb2c36",warning:"#fd9a00",onAccent:"#18181b",onSecondary:"#fafafa",onDanger:"#fafafa"},lightHue:{accent:"#3f3f46",accentLight:"#52525b",secondary:"#71717a",secondaryLight:"#a1a1aa",success:"#00a63e",danger:"#e7000b",dangerLight:"#fb2c36",warning:"#e17100",onAccent:"#fafafa",onSecondary:"#fafafa",onDanger:"#fafafa"},dark:{bg:"#18181b",surface:"#27272a",surfaceRaised:"#3f3f46",surfaceHover:"#3f3f46",border:"#3f3f46",muted:"#a1a1aa",text:"#fafafa"},light:{bg:"#f4f4f5",surface:"#ffffff",surfaceRaised:"#fafafa",surfaceHover:"#e4e4e7",border:"#e4e4e7",muted:"#71717a",text:"#18181b"},radius:ie}},{id:"solarized",name:"Solarized",note:"Both halves on one set of accents, as designed.",group:"Ported",source:"ethanschoonover.com/solarized, MIT",theme:{name:"Solarized",hue:{accent:"#268bd2",accentLight:"#4ba3e3",secondary:"#2aa198",secondaryLight:"#43bbb1",success:"#859900",danger:"#dc322f",dangerLight:"#cb4b16",warning:"#b58900",onAccent:"#fdf6e3",onSecondary:"#002b36",onDanger:"#fdf6e3"},lightHue:null,dark:{bg:"#002b36",surface:"#073642",surfaceRaised:"#0b414f",surfaceHover:"#134b5a",border:"#0f4757",muted:"#93a1a1",text:"#eee8d5"},light:{bg:"#eee8d5",surface:"#fdf6e3",surfaceRaised:"#f7f0dc",surfaceHover:"#e4dcc4",border:"#d9d0b4",muted:"#586e75",text:"#073642"},radius:Y}}],he=new Map(K.map(r=>[r.id,r])),be=[0,.1217,.3812,.6579,.883,1.0304,1.1034,1.12,1.1025,1.0705,1.0376,1.0115,.9949,.987,.9857,.9881,.992,.9959,.9989,1.0008,1.0016,1.0017,1.0014,1.0009,1.0004,1.0001,1],ye=[0,.0496,.1585,.2869,.4135,.5279,.6263,.7079,.7741,.8268,.8681,.9002,.9249,.9437,.958,.9688,.9768,.9829,.9874,.9907,.9932,.995,.9963,.9973,.9981,.9986,1],me={spring:500,springSoft:700,springSlow:900,fast:150,sweep:1400},pe={button:{hover:1.03,press:.96},iconButton:{hover:1.06,press:.94},checkbox:{hover:1.08,press:.92},radio:{hover:1.08,press:.92},switch:{hover:1.05,press:.95},toggle:{hover:1.06,press:.94},toast:{hover:1.04,press:.96},sliderThumb:{hover:1.12,press:.94}},Le=64;function xe(r,a){if(r.length===0)return a;if(a<=0)return r[0];if(a>=1)return r[r.length-1];const c=(r.length-1)*a,e=Math.floor(c),s=c-e,t=r[e],n=r[e+1]??t;return t+(n-t)*s}exports.GRYT_HUE_KEYS=T;exports.GRYT_NEUTRAL_KEYS=I;exports.GRYT_RADIUS_KEYS=A;exports.GRYT_THEME_NAME_MAX=B;exports.alphaScale=S;exports.cloneGrytTheme=G;exports.contrast=re;exports.createGrytTheme=ce;exports.decodeGrytTheme=de;exports.encodeGrytTheme=se;exports.grytAlphaScales=ae;exports.grytAlphaScalesLight=te;exports.grytDrawerBleed=Le;exports.grytDurations=me;exports.grytLightTokens=i;exports.grytPresets=K;exports.grytPresetsById=he;exports.grytScaleSteps=pe;exports.grytScales=$;exports.grytScalesLight=v;exports.grytTheme=L;exports.grytThemeHues=j;exports.grytThemeToOptions=ne;exports.grytTokens=o;exports.hexToOklch=H;exports.hexToRgb=x;exports.hueScale=l;exports.hueScaleLight=h;exports.isHexColor=N;exports.neutralScale=C;exports.neutralScaleLight=P;exports.normalizeHexColor=D;exports.normalizeThemeName=k;exports.oklchToHex=y;exports.rgbToHex=_;exports.sampleCurve=xe;exports.springSamples=be;exports.springTightSamples=ye;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});function F(r){return r<=.04045?r/12.92:((r+.055)/1.055)**2.4}function M(r){return r<=.0031308?12.92*r:1.055*r**(1/2.4)-.055}function w(r){return Math.min(1,Math.max(0,r))}function x(r){const a=r.replace("#",""),t=a.length===3?a.split("").map(e=>e+e).join(""):a;return[parseInt(t.slice(0,2),16)/255,parseInt(t.slice(2,4),16)/255,parseInt(t.slice(4,6),16)/255]}function _([r,a,t]){const e=s=>Math.round(w(s)*255).toString(16).padStart(2,"0");return`#${e(r)}${e(a)}${e(t)}`}function H(r){const[a,t,e]=x(r).map(F),s=Math.cbrt(.4122214708*a+.5363325363*t+.0514459929*e),c=Math.cbrt(.2119034982*a+.6806995451*t+.1073969566*e),n=Math.cbrt(.0883024619*a+.2817188376*t+.6299787005*e),d=.2104542553*s+.793617785*c-.0040720468*n,f=1.9779984951*s-2.428592205*c+.4505937099*n,g=.0259040371*s+.7827717662*c-.808675766*n;return{l:d,c:Math.hypot(f,g),h:(Math.atan2(g,f)*180/Math.PI+360)%360}}function y({l:r,c:a,h:t}){const e=a*Math.cos(t*Math.PI/180),s=a*Math.sin(t*Math.PI/180),c=(r+.3963377774*e+.2158037573*s)**3,n=(r-.1055613458*e-.0638541728*s)**3,d=(r-.0894841775*e-1.291485548*s)**3;return _([M(w(4.0767416621*c-3.3077115913*n+.2309699292*d)),M(w(-1.2684380046*c+2.6097574011*n-.3413193965*d)),M(w(-.0041960863*c-.7034186147*n+1.707614701*d))])}const q=[.195,.24,.27,.3,.33,.37,.43,.52],X=[.014,.026,.04,.052,.062,.072,.084,.1];function l(r,a){const{h:t}=H(r),e=q.map((d,f)=>y({l:d,c:X[f],h:t}));e.push(r,a);const s=H(a).l,c=Math.min(.95,Math.max(.84,s+.04)),n=Math.min(.98,Math.max(c+.06,.93));return e.push(y({l:c,c:.11,h:t})),e.push(y({l:n,c:.055,h:t})),e}const J=[.187,.231,.245,.268,.289,.31,.355,.425,.52,.57,.627,.908],Q=[.011,.014,.016,.019,.022,.024,.026,.026,.02,.012,0,.008];function C(r){const a={0:r.bg,1:r.surface,2:r.surfaceRaised,5:r.border,10:r.muted,11:r.text},t=H(r.border).h;return J.map((e,s)=>a[s]??y({l:e,c:Q[s],h:t}))}function S(r,a){const t=x(a);return r.map(e=>{const s=x(e);let c=0;for(let u=0;u<3;u++){const b=s[u],p=t[u];b>p?c=Math.max(c,p<1?(b-p)/(1-p):0):b<p&&(c=Math.max(c,p>0?(p-b)/p:0))}if(c<1e-6)return"transparent";const n=_(s.map((u,b)=>w(t[b]+(u-t[b])/c))),[d,f,g]=x(n).map(u=>Math.round(u*255));return`rgb(${d} ${f} ${g} / ${(c*100).toFixed(1)}%)`})}const V=[.962,1,.978,.952,.928,.898,.855,.79,.66,.61,.48,.25],Z=[.006,0,.004,.007,.01,.013,.016,.018,.016,.014,.012,.014],ee=[.975,.955,.93,.905,.878,.845,.795,.72],re=[.012,.024,.038,.05,.062,.074,.09,.11];function P(r){const a={0:r.bg,1:r.surface,2:r.surfaceRaised,5:r.border,10:r.muted,11:r.text},t=H(r.border).h;return V.map((e,s)=>a[s]??y({l:e,c:Z[s],h:t}))}function h(r){const{l:a,c:t,h:e}=H(r),s=ee.map((c,n)=>y({l:c,c:re[n],h:e}));return s.push(r),s.push(y({l:Math.max(0,a-.07),c:t,h:e})),s.push(y({l:.46,c:.15,h:e})),s.push(y({l:.33,c:.1,h:e})),s}function U(r){const[a,t,e]=x(r).map(F);return .2126*a+.7152*t+.0722*e}function ae(r,a){const t=U(r),e=U(a);return(Math.max(t,e)+.05)/(Math.min(t,e)+.05)}const o={color:{bg:"#111318",surface:"#1a1d24",surfaceRaised:"#1e2028",surfaceHover:"#334155",border:"#2b303d",text:"#e0e0e6",muted:"#888888",accent:"#968ff8",accentLight:"#b4afff",secondary:"#7dd3fc",secondaryLight:"#bae6fd",success:"#4ade80",danger:"#f87171",dangerLight:"#fca5a5",warning:"#fbbf24",onAccent:"#0c0a20",onSecondary:"#02121a",onDanger:"#1f0405"},radius:{sm:8,md:12,lg:20,xl:28,full:999}},i={bg:"#f1f2f7",surface:"#ffffff",surfaceRaised:"#f7f8fb",border:"#dadde6",muted:"#5b5d65",text:"#1f2129"},$={neutral:C({bg:o.color.bg,surface:o.color.surface,surfaceRaised:o.color.surfaceRaised,border:o.color.border,muted:o.color.muted,text:o.color.text}),accent:l(o.color.accent,o.color.accentLight),secondary:l(o.color.secondary,o.color.secondaryLight),success:l(o.color.success,o.color.success),danger:l(o.color.danger,o.color.dangerLight),warning:l(o.color.warning,o.color.warning)},T={neutral:P(i),accent:h(o.color.accent),secondary:h(o.color.secondary),success:h(o.color.success),danger:h(o.color.danger),warning:h(o.color.warning)},B=T.neutral[3],ce={neutral:S($.neutral,o.color.bg),accent:S($.accent,o.color.bg)},te={neutral:S(T.neutral,i.bg),accent:S(T.accent,i.bg)};function ne(r={}){const a=r.appearance==="light",e={...a?{...o.color,...i,surfaceHover:B}:o.color,...r.color},s={...o.radius,...r.radius},c={bg:e.bg,surface:e.surface,surfaceRaised:e.surfaceRaised,border:e.border,muted:e.muted,text:e.text},n=a?{neutral:P(c),accent:h(e.accent),secondary:h(e.secondary),success:h(e.success),danger:h(e.danger),warning:h(e.warning)}:{neutral:C(c),accent:l(e.accent,e.accentLight),secondary:l(e.secondary,e.secondaryLight),success:l(e.success,e.success),danger:l(e.danger,e.dangerLight),warning:l(e.warning,e.warning)},d={};for(const[f,g]of Object.entries(n))g.forEach((u,b)=>{d[`--gryt-${f}-${b+1}`]=u,d[`--color-gryt-${f}-${b+1}`]=u});for(const f of["neutral","accent"])S(n[f],e.bg).forEach((g,u)=>{d[`--gryt-${f}-a${u+1}`]=g,d[`--color-gryt-${f}-a${u+1}`]=g});return{...d,"--gryt-bg":e.bg,"--gryt-surface":e.surface,"--gryt-surface-raised":e.surfaceRaised,"--gryt-surface-hover":e.surfaceHover,"--gryt-border":e.border,"--gryt-text":e.text,"--gryt-muted":e.muted,"--gryt-accent":e.accent,"--gryt-accent-light":e.accentLight,"--gryt-secondary":e.secondary,"--gryt-secondary-light":e.secondaryLight,"--gryt-success":e.success,"--gryt-danger":e.danger,"--gryt-danger-light":e.dangerLight,"--gryt-warning":e.warning,"--gryt-on-accent":e.onAccent,"--gryt-on-secondary":e.onSecondary,"--gryt-on-danger":e.onDanger,"--color-gryt-bg":e.bg,"--color-gryt-surface":e.surface,"--color-gryt-surface-raised":e.surfaceRaised,"--color-gryt-surface-hover":e.surfaceHover,"--color-gryt-border":e.border,"--color-gryt-text":e.text,"--color-gryt-muted":e.muted,"--color-gryt-accent":e.accent,"--color-gryt-accent-light":e.accentLight,"--color-gryt-secondary":e.secondary,"--color-gryt-secondary-light":e.secondaryLight,"--color-gryt-success":e.success,"--color-gryt-danger":e.danger,"--color-gryt-danger-light":e.dangerLight,"--color-gryt-warning":e.warning,"--color-gryt-on-accent":e.onAccent,"--color-gryt-on-secondary":e.onSecondary,"--color-gryt-on-danger":e.onDanger,"--gryt-radius-sm":`${s.sm}px`,"--gryt-radius-md":`${s.md}px`,"--gryt-radius-lg":`${s.lg}px`,"--gryt-radius-xl":`${s.xl}px`,"--gryt-radius-full":`${s.full}px`}}const A=["accent","accentLight","secondary","secondaryLight","success","danger","dangerLight","warning","onAccent","onSecondary","onDanger"],I=["bg","surface","surfaceRaised","surfaceHover","border","muted","text"],v=["sm","md","lg","xl","full"],j=60;function k(r){return r.replace(/\s+/g," ").trim().slice(0,j)}const L={hue:{accent:o.color.accent,accentLight:o.color.accentLight,secondary:o.color.secondary,secondaryLight:o.color.secondaryLight,success:o.color.success,danger:o.color.danger,dangerLight:o.color.dangerLight,warning:o.color.warning,onAccent:o.color.onAccent,onSecondary:o.color.onSecondary,onDanger:o.color.onDanger},lightHue:null,dark:{bg:o.color.bg,surface:o.color.surface,surfaceRaised:o.color.surfaceRaised,surfaceHover:o.color.surfaceHover,border:o.color.border,muted:o.color.muted,text:o.color.text},light:{bg:i.bg,surface:i.surface,surfaceRaised:i.surfaceRaised,surfaceHover:B,border:i.border,muted:i.muted,text:i.text},radius:{...o.radius}};function D(r){return{...r.name===void 0?{}:{name:r.name},hue:{...r.hue},lightHue:r.lightHue===null?null:{...r.lightHue},dark:{...r.dark},light:{...r.light},radius:{...r.radius}}}function z(r,a){return a==="light"&&r.lightHue!==null?r.lightHue:r.hue}function oe(r,a){return{appearance:a,color:{...z(r,a),...r[a]},radius:{...r.radius}}}const R={accent:"accent",accentLight:"accent-light",secondary:"secondary",secondaryLight:"secondary-light",success:"success",danger:"danger",dangerLight:"danger-light",warning:"warning",onAccent:"on-accent",onSecondary:"on-secondary",onDanger:"on-danger"},W={bg:"bg",surface:"surface",surfaceRaised:"raised",surfaceHover:"hover",border:"border",muted:"muted",text:"text"},se=/^#(?:[0-9a-f]{3}|[0-9a-f]{6})$/i;function N(r){return se.test(r.trim())}function G(r){const a=r.trim().toLowerCase();return a.length===4?`#${a[1]}${a[1]}${a[2]}${a[2]}${a[3]}${a[3]}`:a}function de(r,a){const t=new URLSearchParams,e=c=>G(c).slice(1),s=k(r.name??"");s!==""&&t.set("name",s);for(const c of A)r.hue[c]!==L.hue[c]&&t.set(R[c],e(r.hue[c]));if(r.lightHue!==null)for(const c of A)t.set(`lh-${R[c]}`,e(r.lightHue[c]));for(const c of["dark","light"]){const n=c==="dark"?"d":"l";for(const d of I)r[c][d]!==L[c][d]&&t.set(`${n}-${W[d]}`,e(r[c][d]))}for(const c of v)r.radius[c]!==L.radius[c]&&t.set(`r-${c}`,String(r.radius[c]));return a==="light"&&t.set("mode","light"),t}function fe(r){const a=r.trim();if(a==="")return null;if(a.startsWith("{"))return ge(a);const t=a.includes("?")?a.slice(a.indexOf("?")+1):a;return ue(new URLSearchParams(t))}function ue(r){const a=D(L);let t=!1;const e=c=>{const n=r.get(c);if(n===null)return null;const d=n.startsWith("#")?n:`#${n}`;return N(d)?(t=!0,G(d)):null},s=k(r.get("name")??"");s!==""&&(a.name=s,t=!0);for(const c of A){const n=e(R[c]);n!==null&&(a.hue[c]=n)}if(r.has(`lh-${R.accent}`)){const c={...a.hue};for(const n of A){const d=e(`lh-${R[n]}`);d!==null&&(c[n]=d)}a.lightHue=c}for(const c of["dark","light"]){const n=c==="dark"?"d":"l";for(const d of I){const f=e(`${n}-${W[d]}`);f!==null&&(a[c][d]=f)}}for(const c of v){const n=Number(r.get(`r-${c}`));Number.isFinite(n)&&n>=0&&n<=999&&r.has(`r-${c}`)&&(a.radius[c]=Math.round(n),t=!0)}return t?{theme:a,appearance:r.get("mode")==="light"?"light":"dark"}:null}function ge(r){let a;try{a=JSON.parse(r)}catch{return null}if(typeof a!="object"||a===null)return null;const t=a,e=D(L);let s=!1;const c=(n,d)=>{if(!(typeof n!="object"||n===null))for(const[f,g]of Object.entries(n))typeof g=="string"&&N(g)&&f in d&&(d[f]=G(g),s=!0)};if(typeof t.name=="string"){const n=k(t.name);n!==""&&(e.name=n,s=!0)}if(c(t.hue,e.hue),c(t.dark,e.dark),c(t.light,e.light),typeof t.lightHue=="object"&&t.lightHue!==null){const n={...e.hue};c(t.lightHue,n),e.lightHue=n}if(typeof t.radius=="object"&&t.radius!==null)for(const[n,d]of Object.entries(t.radius)){const f=Number(d);v.includes(n)&&Number.isFinite(f)&&f>=0&&f<=999&&(e.radius[n]=Math.round(f),s=!0)}return s?{theme:e,appearance:"dark"}:null}const m={sm:8,md:12,lg:20,xl:28,full:999},E={sm:6,md:8,lg:14,xl:18,full:999},Y={sm:4,md:6,lg:10,xl:14,full:6},ie={sm:6,md:8,lg:10,xl:14,full:10},O={sm:2,md:4,lg:6,xl:8,full:4},le={sm:8,md:8,lg:8,xl:8,full:8},K=[{id:"gryt",name:"Gryt",note:"What the library ships, from the Gryt code-theme.",group:"Gryt",source:"github.com/Gryt-chat/code-theme",theme:L},{id:"gryt-rounded",name:"Gryt Rounded",note:"The shipped palette, every corner at eight pixels. Made by Carlo.",group:"Gryt",source:"Carlo",theme:{...D(L),name:"Gryt Rounded",radius:le}},{id:"ember",name:"Ember",note:"Warm all the way down — the neutrals are brown, not blue.",group:"Gryt",theme:{name:"Ember",hue:{accent:"#f0803c",accentLight:"#ff9f66",secondary:"#d9a441",secondaryLight:"#ecc06a",success:"#8bb056",danger:"#e35d55",dangerLight:"#ef8079",warning:"#e8b33e",onAccent:"#231004",onSecondary:"#241a04",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#17110e",surface:"#1f1815",surfaceRaised:"#251d19",surfaceHover:"#33261f",border:"#352822",muted:"#a48f81",text:"#f5ece5"},light:{bg:"#f6efe8",surface:"#fffdfb",surfaceRaised:"#faf3ec",surfaceHover:"#efe3d8",border:"#e0d2c4",muted:"#6b5b50",text:"#241a14"},radius:m}},{id:"paper",name:"Paper",note:"Near-monochrome. One quiet slate accent and nothing else.",group:"Gryt",theme:{name:"Paper",hue:{accent:"#8390a8",accentLight:"#a3aec2",secondary:"#93a0a0",secondaryLight:"#b1bcbc",success:"#7f9b7f",danger:"#b56b6b",dangerLight:"#c98d8d",warning:"#b39a6a",onAccent:"#11151c",onSecondary:"#121717",onDanger:"#1d0e0e"},lightHue:null,dark:{bg:"#101011",surface:"#17171a",surfaceRaised:"#1d1d20",surfaceHover:"#282a2e",border:"#2a2a2e",muted:"#8e8e94",text:"#ededf0"},light:{bg:"#f0f0f2",surface:"#ffffff",surfaceRaised:"#f7f7f9",surfaceHover:"#e6e6ea",border:"#d6d6dc",muted:"#5b5b63",text:"#17171a"},radius:E}},{id:"owl-rose",name:"Rose",note:"Dusty rose over plum. The warmest of the six.",group:"Gryt",source:"Gryt owl palettes",theme:{name:"Rose",hue:{accent:"#D87489",accentLight:"#EDAAAF",secondary:"#d7906f",secondaryLight:"#efb499",success:"#69b27a",danger:"#da534f",dangerLight:"#f07f77",warning:"#e6ac3d",onAccent:"#2b0614",onSecondary:"#2b0614",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#1f020b",surface:"#2b0c16",surfaceRaised:"#34151e",surfaceHover:"#45202b",border:"#4c2933",muted:"#a38b90",text:"#f4ede9"},light:{bg:"#fbf1ed",surface:"#fffcfb",surfaceRaised:"#fdf5f1",surfaceHover:"#f3e6e1",border:"#e4d6d0",muted:"#765b61",text:"#31151d"},radius:m}},{id:"owl-amber",name:"Amber",note:"Amber on aubergine — a warm accent over cool-dark neutrals.",group:"Gryt",source:"Gryt owl palettes",theme:{name:"Amber",hue:{accent:"#E39336",accentLight:"#ECC07C",secondary:"#c0b760",secondaryLight:"#ddd793",success:"#69b27a",danger:"#da534f",dangerLight:"#f07f77",warning:"#e6ac3d",onAccent:"#1e101e",onSecondary:"#1e101e",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#140814",surface:"#20131f",surfaceRaised:"#281c27",surfaceHover:"#372836",border:"#3e303d",muted:"#988f97",text:"#f1eee8"},light:{bg:"#f7f3ec",surface:"#fffdfa",surfaceRaised:"#faf6f0",surfaceHover:"#efe9df",border:"#dfd8cd",muted:"#6a5f69",text:"#261b26"},radius:m}},{id:"owl-wine",name:"Wine",note:"Deep red throughout. Neutrals carry the same hue as the accent.",group:"Gryt",source:"Gryt owl palettes",theme:{name:"Wine",hue:{accent:"#CE7072",accentLight:"#E29A98",secondary:"#c88d61",secondaryLight:"#e0b08d",success:"#69b27a",danger:"#da534f",dangerLight:"#f07f77",warning:"#e6ac3d",onAccent:"#250d16",onSecondary:"#250d16",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#1a050d",surface:"#261118",surfaceRaised:"#2e1920",surfaceHover:"#3e252e",border:"#452e35",muted:"#9d8d92",text:"#f4edea"},light:{bg:"#faf1ee",surface:"#fffdfb",surfaceRaised:"#fdf5f1",surfaceHover:"#f2e7e2",border:"#e3d6d0",muted:"#705d63",text:"#2c191f"},radius:m}},{id:"owl-indigo",name:"Indigo",note:"Periwinkle on deep indigo. The closest to the Gryt mark.",group:"Gryt",source:"Gryt owl palettes",theme:{name:"Indigo",hue:{accent:"#786FF6",accentLight:"#9E97FA",secondary:"#ba70cb",secondaryLight:"#d397e1",success:"#69b27a",danger:"#da534f",dangerLight:"#f07f77",warning:"#e6ac3d",onAccent:"#121329",onSecondary:"#121329",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#0a0b1e",surface:"#151629",surfaceRaised:"#1d1e32",surfaceHover:"#2a2c42",border:"#323348",muted:"#8f919f",text:"#eeeef3"},light:{bg:"#f3f2f9",surface:"#fdfdff",surfaceRaised:"#f6f6fc",surfaceHover:"#e9e8f1",border:"#d9d8e2",muted:"#606272",text:"#1c1d2f"},radius:m}},{id:"owl-forest",name:"Forest",note:"Sage over slate. The only one whose accent is the quiet colour.",group:"Gryt",source:"Gryt owl palettes",theme:{name:"Forest",hue:{accent:"#98B4A1",accentLight:"#C7D7CA",secondary:"#a2bfbe",secondaryLight:"#c5dddc",success:"#69b27a",danger:"#da534f",dangerLight:"#f07f77",warning:"#e6ac3d",onAccent:"#13161e",onSecondary:"#13161e",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#0a0d14",surface:"#15181f",surfaceRaised:"#1d2028",surfaceHover:"#2a2e36",border:"#32353d",muted:"#909297",text:"#edefed"},light:{bg:"#f2f4f2",surface:"#fdfefd",surfaceRaised:"#f5f7f6",surfaceHover:"#e7eae8",border:"#d7dad7",muted:"#616369",text:"#1d1f26"},radius:m}},{id:"owl-ice",name:"Ice",note:"Steel blue on near-white. Built light first.",group:"Gryt",source:"Gryt owl palettes",theme:{name:"Ice",hue:{accent:"#7495B9",accentLight:"#BADDFC",secondary:"#9c99bc",secondaryLight:"#bcbad6",success:"#69b27a",danger:"#da534f",dangerLight:"#f07f77",warning:"#e6ac3d",onAccent:"#10171e",onSecondary:"#10171e",onDanger:"#2b0a08"},lightHue:null,dark:{bg:"#080e14",surface:"#13191f",surfaceRaised:"#1b2127",surfaceHover:"#272f36",border:"#2f363d",muted:"#8e9397",text:"#eeeeef"},light:{bg:"#f3f3f4",surface:"#fdfdfe",surfaceRaised:"#f6f7f8",surfaceHover:"#e9e9eb",border:"#d8d9da",muted:"#5f6469",text:"#1a2025"},radius:m}},{id:"winter-arc",name:"Winter Arc",note:"Cold monochrome. A near-white accent in the dark, snow-light greys.",group:"Gryt",theme:{name:"Winter Arc",hue:{accent:"#dce6ec",accentLight:"#f0f6f9",secondary:"#7d95a3",secondaryLight:"#9db1bc",success:"#7fa88d",danger:"#c2686b",dangerLight:"#d68b8d",warning:"#b9a068",onAccent:"#0b0d0f",onSecondary:"#0b1114",onDanger:"#1b0c0d"},lightHue:{accent:"#2b3a44",accentLight:"#43596a",secondary:"#55707f",secondaryLight:"#6f8b9a",success:"#4a7059",danger:"#a4494c",dangerLight:"#b96b6e",warning:"#856c33",onAccent:"#eef3f6",onSecondary:"#eef3f6",onDanger:"#fdf2f2"},dark:{bg:"#0b0d0f",surface:"#111417",surfaceRaised:"#171b1f",surfaceHover:"#1f252a",border:"#2a3238",muted:"#8b979f",text:"#eef3f6"},light:{bg:"#eaeef1",surface:"#ffffff",surfaceRaised:"#f4f7f9",surfaceHover:"#dde4e9",border:"#c6d0d7",muted:"#55626b",text:"#0f1417"},radius:Y}},{id:"signal",name:"Signal",note:"Black, white, and a yellow that cannot be missed.",group:"Gryt",theme:{name:"Signal",hue:{accent:"#ffd400",accentLight:"#ffe454",secondary:"#00d0ff",secondaryLight:"#66e2ff",success:"#00e06a",danger:"#ff453a",dangerLight:"#ff7a72",warning:"#ffab00",onAccent:"#161200",onSecondary:"#001a20",onDanger:"#1a0300"},lightHue:null,dark:{bg:"#000000",surface:"#0c0c0c",surfaceRaised:"#151515",surfaceHover:"#242424",border:"#454545",muted:"#bcbcbc",text:"#ffffff"},light:{bg:"#f0f0f0",surface:"#ffffff",surfaceRaised:"#f8f8f8",surfaceHover:"#e3e3e3",border:"#6f6f6f",muted:"#3d3d3d",text:"#000000"},radius:O}},{id:"dracula",name:"Dracula",note:"The purple-and-pink dark theme, with Alucard as its light half.",group:"Ported",source:"draculatheme.com, MIT",theme:{name:"Dracula",hue:{accent:"#bd93f9",accentLight:"#d0b3fb",secondary:"#8be9fd",secondaryLight:"#aff0fe",success:"#50fa7b",danger:"#ff5555",dangerLight:"#ff7979",warning:"#ffb86c",onAccent:"#282a36",onSecondary:"#282a36",onDanger:"#282a36"},lightHue:{accent:"#644ac9",accentLight:"#7b64d6",secondary:"#036a96",secondaryLight:"#0b83b5",success:"#14710a",danger:"#cb3a2a",dangerLight:"#d95445",warning:"#a34d14",onAccent:"#fffbeb",onSecondary:"#fffbeb",onDanger:"#fffbeb"},dark:{bg:"#282a36",surface:"#31323f",surfaceRaised:"#383a49",surfaceHover:"#44475a",border:"#44475a",muted:"#6272a4",text:"#f8f8f2"},light:{bg:"#f5f1e1",surface:"#fffbeb",surfaceRaised:"#faf6e6",surfaceHover:"#ece7d4",border:"#dcd6bf",muted:"#6c664b",text:"#1f1f1f"},radius:E}},{id:"nord",name:"Nord",note:"Polar Night and Snow Storm, with Frost on top.",group:"Ported",source:"nordtheme.com, MIT",theme:{name:"Nord",hue:{accent:"#88c0d0",accentLight:"#8fbcbb",secondary:"#81a1c1",secondaryLight:"#a3b8d4",success:"#a3be8c",danger:"#bf616a",dangerLight:"#d08770",warning:"#ebcb8b",onAccent:"#2e3440",onSecondary:"#2e3440",onDanger:"#eceff4"},lightHue:{accent:"#5e81ac",accentLight:"#81a1c1",secondary:"#8fbcbb",secondaryLight:"#88c0d0",success:"#a3be8c",danger:"#bf616a",dangerLight:"#d08770",warning:"#ebcb8b",onAccent:"#eceff4",onSecondary:"#2e3440",onDanger:"#eceff4"},dark:{bg:"#2e3440",surface:"#3b4252",surfaceRaised:"#434c5e",surfaceHover:"#4c566a",border:"#4c566a",muted:"#d8dee9",text:"#eceff4"},light:{bg:"#e5e9f0",surface:"#eceff4",surfaceRaised:"#e9edf2",surfaceHover:"#d8dee9",border:"#c9d1de",muted:"#4c566a",text:"#2e3440"},radius:E}},{id:"catppuccin",name:"Catppuccin",note:"Mocha for dark, Latte for light. Mauve does the accent work.",group:"Ported",source:"catppuccin/palette, MIT",theme:{name:"Catppuccin",hue:{accent:"#cba6f7",accentLight:"#dcc0fa",secondary:"#89b4fa",secondaryLight:"#a8c8fb",success:"#a6e3a1",danger:"#f38ba8",dangerLight:"#eba0ac",warning:"#f9e2af",onAccent:"#1e1e2e",onSecondary:"#1e1e2e",onDanger:"#1e1e2e"},lightHue:{accent:"#8839ef",accentLight:"#9a55f2",secondary:"#1e66f5",secondaryLight:"#4680f7",success:"#40a02b",danger:"#d20f39",dangerLight:"#e64553",warning:"#df8e1d",onAccent:"#eff1f5",onSecondary:"#eff1f5",onDanger:"#eff1f5"},dark:{bg:"#1e1e2e",surface:"#313244",surfaceRaised:"#45475a",surfaceHover:"#585b70",border:"#45475a",muted:"#a6adc8",text:"#cdd6f4"},light:{bg:"#e6e9ef",surface:"#eff1f5",surfaceRaised:"#eaedf3",surfaceHover:"#dce0e8",border:"#ccd0da",muted:"#6c6f85",text:"#4c4f69"},radius:m}},{id:"github",name:"GitHub",note:"Primer's own tokens, six-pixel corners included.",group:"Ported",source:"@primer/primitives",theme:{name:"GitHub",hue:{accent:"#1f6feb",accentLight:"#4493f8",secondary:"#8957e5",secondaryLight:"#a371f7",success:"#238636",danger:"#da3633",dangerLight:"#f85149",warning:"#9e6a03",onAccent:"#ffffff",onSecondary:"#ffffff",onDanger:"#ffffff"},lightHue:{accent:"#0969da",accentLight:"#218bff",secondary:"#8250df",secondaryLight:"#a475f9",success:"#1f883d",danger:"#cf222e",dangerLight:"#d1242f",warning:"#9a6700",onAccent:"#ffffff",onSecondary:"#ffffff",onDanger:"#ffffff"},dark:{bg:"#0d1117",surface:"#151b23",surfaceRaised:"#1c222b",surfaceHover:"#262c36",border:"#3d444d",muted:"#9198a1",text:"#f0f6fc"},light:{bg:"#f6f8fa",surface:"#ffffff",surfaceRaised:"#fbfcfd",surfaceHover:"#eef1f4",border:"#d1d9e0",muted:"#59636e",text:"#1f2328"},radius:Y}},{id:"claude",name:"Claude",note:"Anthropic's clay orange on cream and near-black.",group:"Ported",source:"anthropic.com — a likeness, not a published palette",theme:{name:"Claude",hue:{accent:"#d97757",accentLight:"#e59275",secondary:"#7d9ec4",secondaryLight:"#9db8d6",success:"#6ba368",danger:"#bf4d43",dangerLight:"#d4726a",warning:"#d9a441",onAccent:"#241009",onSecondary:"#0c1720",onDanger:"#faf9f5"},lightHue:null,dark:{bg:"#141413",surface:"#1f1e1d",surfaceRaised:"#262624",surfaceHover:"#3d3d3a",border:"#3d3d3a",muted:"#b0aea5",text:"#faf9f5"},light:{bg:"#f0eee6",surface:"#faf9f5",surfaceRaised:"#f5f3ec",surfaceHover:"#e8e6dc",border:"#d5d2c5",muted:"#87867f",text:"#141413"},radius:m}},{id:"shadcn",name:"shadcn/ui",note:"Zinc neutrals and a ten-pixel radius. No pills anywhere.",group:"Ported",source:"ui.shadcn.com, MIT — accent adapted",theme:{name:"shadcn/ui",hue:{accent:"#a1a1aa",accentLight:"#d4d4d8",secondary:"#71717a",secondaryLight:"#a1a1aa",success:"#4ade80",danger:"#e7000b",dangerLight:"#fb2c36",warning:"#fd9a00",onAccent:"#18181b",onSecondary:"#fafafa",onDanger:"#fafafa"},lightHue:{accent:"#3f3f46",accentLight:"#52525b",secondary:"#71717a",secondaryLight:"#a1a1aa",success:"#00a63e",danger:"#e7000b",dangerLight:"#fb2c36",warning:"#e17100",onAccent:"#fafafa",onSecondary:"#fafafa",onDanger:"#fafafa"},dark:{bg:"#18181b",surface:"#27272a",surfaceRaised:"#3f3f46",surfaceHover:"#3f3f46",border:"#3f3f46",muted:"#a1a1aa",text:"#fafafa"},light:{bg:"#f4f4f5",surface:"#ffffff",surfaceRaised:"#fafafa",surfaceHover:"#e4e4e7",border:"#e4e4e7",muted:"#71717a",text:"#18181b"},radius:ie}},{id:"solarized",name:"Solarized",note:"Both halves on one set of accents, as designed.",group:"Ported",source:"ethanschoonover.com/solarized, MIT",theme:{name:"Solarized",hue:{accent:"#268bd2",accentLight:"#4ba3e3",secondary:"#2aa198",secondaryLight:"#43bbb1",success:"#859900",danger:"#dc322f",dangerLight:"#cb4b16",warning:"#b58900",onAccent:"#fdf6e3",onSecondary:"#002b36",onDanger:"#fdf6e3"},lightHue:null,dark:{bg:"#002b36",surface:"#073642",surfaceRaised:"#0b414f",surfaceHover:"#134b5a",border:"#0f4757",muted:"#93a1a1",text:"#eee8d5"},light:{bg:"#eee8d5",surface:"#fdf6e3",surfaceRaised:"#f7f0dc",surfaceHover:"#e4dcc4",border:"#d9d0b4",muted:"#586e75",text:"#073642"},radius:O}}],he=new Map(K.map(r=>[r.id,r])),be=[0,.1217,.3812,.6579,.883,1.0304,1.1034,1.12,1.1025,1.0705,1.0376,1.0115,.9949,.987,.9857,.9881,.992,.9959,.9989,1.0008,1.0016,1.0017,1.0014,1.0009,1.0004,1.0001,1],ye=[0,.0496,.1585,.2869,.4135,.5279,.6263,.7079,.7741,.8268,.8681,.9002,.9249,.9437,.958,.9688,.9768,.9829,.9874,.9907,.9932,.995,.9963,.9973,.9981,.9986,1],me={spring:500,springSoft:700,springSlow:900,fast:150,sweep:1400},pe={button:{hover:1.03,press:.96},iconButton:{hover:1.06,press:.94},checkbox:{hover:1.08,press:.92},radio:{hover:1.08,press:.92},switch:{hover:1.05,press:.95},toggle:{hover:1.06,press:.94},toast:{hover:1.04,press:.96},sliderThumb:{hover:1.12,press:.94}},Le=64;function xe(r,a){if(r.length===0)return a;if(a<=0)return r[0];if(a>=1)return r[r.length-1];const t=(r.length-1)*a,e=Math.floor(t),s=t-e,c=r[e],n=r[e+1]??c;return c+(n-c)*s}exports.GRYT_HUE_KEYS=A;exports.GRYT_NEUTRAL_KEYS=I;exports.GRYT_RADIUS_KEYS=v;exports.GRYT_THEME_NAME_MAX=j;exports.alphaScale=S;exports.cloneGrytTheme=D;exports.contrast=ae;exports.createGrytTheme=ne;exports.decodeGrytTheme=fe;exports.encodeGrytTheme=de;exports.grytAlphaScales=ce;exports.grytAlphaScalesLight=te;exports.grytDrawerBleed=Le;exports.grytDurations=me;exports.grytLightTokens=i;exports.grytPresets=K;exports.grytPresetsById=he;exports.grytScaleSteps=pe;exports.grytScales=$;exports.grytScalesLight=T;exports.grytTheme=L;exports.grytThemeHues=z;exports.grytThemeToOptions=oe;exports.grytTokens=o;exports.hexToOklch=H;exports.hexToRgb=x;exports.hueScale=l;exports.hueScaleLight=h;exports.isHexColor=N;exports.neutralScale=C;exports.neutralScaleLight=P;exports.normalizeHexColor=G;exports.normalizeThemeName=k;exports.oklchToHex=y;exports.rgbToHex=_;exports.sampleCurve=xe;exports.springSamples=be;exports.springTightSamples=ye;
2
2
  //# sourceMappingURL=index.cjs.map