@react-devtools-plus/ui 0.2.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/LICENSE +21 -0
- package/dist/index.cjs +2 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +664 -0
- package/dist/index.js +581 -0
- package/dist/index.js.map +1 -0
- package/dist/theme.cjs +5 -0
- package/dist/theme.cjs.map +1 -0
- package/dist/theme.d.ts +372 -0
- package/dist/theme.js +474 -0
- package/dist/theme.js.map +1 -0
- package/dist/ui.css +1 -0
- package/package.json +52 -0
package/dist/theme.cjs
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";var X=Object.defineProperty;var E=Object.getOwnPropertySymbols;var Y=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;var T=(t,e,r)=>e in t?X(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r,g=(t,e)=>{for(var r in e||(e={}))Y.call(e,r)&&T(t,r,e[r]);if(E)for(var r of E(e))Z.call(e,r)&&T(t,r,e[r]);return t};Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});var ee={grad:.9,turn:360,rad:360/(2*Math.PI)},f=function(t){return typeof t=="string"?t.length>0:typeof t=="number"},c=function(t,e,r){return e===void 0&&(e=0),r===void 0&&(r=Math.pow(10,e)),Math.round(r*t)/r+0},d=function(t,e,r){return e===void 0&&(e=0),r===void 0&&(r=1),t>r?r:t>e?t:e},z=function(t){return(t=isFinite(t)?t%360:0)>0?t:t+360},O=function(t){return{r:d(t.r,0,255),g:d(t.g,0,255),b:d(t.b,0,255),a:d(t.a)}},y=function(t){return{r:c(t.r),g:c(t.g),b:c(t.b),a:c(t.a,3)}},te=/^#([0-9a-f]{3,8})$/i,v=function(t){var e=t.toString(16);return e.length<2?"0"+e:e},V=function(t){var e=t.r,r=t.g,a=t.b,n=t.a,o=Math.max(e,r,a),s=o-Math.min(e,r,a),i=s?o===e?(r-a)/s:o===r?2+(a-e)/s:4+(e-r)/s:0;return{h:60*(i<0?i+6:i),s:o?s/o*100:0,v:o/255*100,a:n}},D=function(t){var e=t.h,r=t.s,a=t.v,n=t.a;e=e/360*6,r/=100,a/=100;var o=Math.floor(e),s=a*(1-r),i=a*(1-(e-o)*r),l=a*(1-(1-e+o)*r),x=o%6;return{r:255*[a,i,s,s,l,a][x],g:255*[l,a,a,i,s,s][x],b:255*[s,s,l,a,a,i][x],a:n}},I=function(t){return{h:z(t.h),s:d(t.s,0,100),l:d(t.l,0,100),a:d(t.a)}},R=function(t){return{h:c(t.h),s:c(t.s),l:c(t.l),a:c(t.a,3)}},j=function(t){return D((r=(e=t).s,{h:e.h,s:(r*=((a=e.l)<50?a:100-a)/100)>0?2*r/(a+r)*100:0,v:a+r,a:e.a}));var e,r,a},m=function(t){return{h:(e=V(t)).h,s:(n=(200-(r=e.s))*(a=e.v)/100)>0&&n<200?r*a/100/(n<=100?n:200-n)*100:0,l:n/2,a:e.a};var e,r,a,n},re=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ne=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,oe=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,ae=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,k={string:[[function(t){var e=te.exec(t);return e?(t=e[1]).length<=4?{r:parseInt(t[0]+t[0],16),g:parseInt(t[1]+t[1],16),b:parseInt(t[2]+t[2],16),a:t.length===4?c(parseInt(t[3]+t[3],16)/255,2):1}:t.length===6||t.length===8?{r:parseInt(t.substr(0,2),16),g:parseInt(t.substr(2,2),16),b:parseInt(t.substr(4,2),16),a:t.length===8?c(parseInt(t.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(t){var e=oe.exec(t)||ae.exec(t);return e?e[2]!==e[4]||e[4]!==e[6]?null:O({r:Number(e[1])/(e[2]?100/255:1),g:Number(e[3])/(e[4]?100/255:1),b:Number(e[5])/(e[6]?100/255:1),a:e[7]===void 0?1:Number(e[7])/(e[8]?100:1)}):null},"rgb"],[function(t){var e=re.exec(t)||ne.exec(t);if(!e)return null;var r,a,n=I({h:(r=e[1],a=e[2],a===void 0&&(a="deg"),Number(r)*(ee[a]||1)),s:Number(e[3]),l:Number(e[4]),a:e[5]===void 0?1:Number(e[5])/(e[6]?100:1)});return j(n)},"hsl"]],object:[[function(t){var e=t.r,r=t.g,a=t.b,n=t.a,o=n===void 0?1:n;return f(e)&&f(r)&&f(a)?O({r:Number(e),g:Number(r),b:Number(a),a:Number(o)}):null},"rgb"],[function(t){var e=t.h,r=t.s,a=t.l,n=t.a,o=n===void 0?1:n;if(!f(e)||!f(r)||!f(a))return null;var s=I({h:Number(e),s:Number(r),l:Number(a),a:Number(o)});return j(s)},"hsl"],[function(t){var e=t.h,r=t.s,a=t.v,n=t.a,o=n===void 0?1:n;if(!f(e)||!f(r)||!f(a))return null;var s=(function(i){return{h:z(i.h),s:d(i.s,0,100),v:d(i.v,0,100),a:d(i.a)}})({h:Number(e),s:Number(r),v:Number(a),a:Number(o)});return D(s)},"hsv"]]},P=function(t,e){for(var r=0;r<e.length;r++){var a=e[r][0](t);if(a)return[a,e[r][1]]}return[null,void 0]},se=function(t){return typeof t=="string"?P(t.trim(),k.string):typeof t=="object"&&t!==null?P(t,k.object):[null,void 0]},w=function(t,e){var r=m(t);return{h:r.h,s:d(r.s+100*e,0,100),l:r.l,a:r.a}},S=function(t){return(299*t.r+587*t.g+114*t.b)/1e3/255},F=function(t,e){var r=m(t);return{h:r.h,s:r.s,l:d(r.l+100*e,0,100),a:r.a}},$=(function(){function t(e){this.parsed=se(e)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return t.prototype.isValid=function(){return this.parsed!==null},t.prototype.brightness=function(){return c(S(this.rgba),2)},t.prototype.isDark=function(){return S(this.rgba)<.5},t.prototype.isLight=function(){return S(this.rgba)>=.5},t.prototype.toHex=function(){return e=y(this.rgba),r=e.r,a=e.g,n=e.b,s=(o=e.a)<1?v(c(255*o)):"","#"+v(r)+v(a)+v(n)+s;var e,r,a,n,o,s},t.prototype.toRgb=function(){return y(this.rgba)},t.prototype.toRgbString=function(){return e=y(this.rgba),r=e.r,a=e.g,n=e.b,(o=e.a)<1?"rgba("+r+", "+a+", "+n+", "+o+")":"rgb("+r+", "+a+", "+n+")";var e,r,a,n,o},t.prototype.toHsl=function(){return R(m(this.rgba))},t.prototype.toHslString=function(){return e=R(m(this.rgba)),r=e.h,a=e.s,n=e.l,(o=e.a)<1?"hsla("+r+", "+a+"%, "+n+"%, "+o+")":"hsl("+r+", "+a+"%, "+n+"%)";var e,r,a,n,o},t.prototype.toHsv=function(){return e=V(this.rgba),{h:c(e.h),s:c(e.s),v:c(e.v),a:c(e.a,3)};var e},t.prototype.invert=function(){return u({r:255-(e=this.rgba).r,g:255-e.g,b:255-e.b,a:e.a});var e},t.prototype.saturate=function(e){return e===void 0&&(e=.1),u(w(this.rgba,e))},t.prototype.desaturate=function(e){return e===void 0&&(e=.1),u(w(this.rgba,-e))},t.prototype.grayscale=function(){return u(w(this.rgba,-1))},t.prototype.lighten=function(e){return e===void 0&&(e=.1),u(F(this.rgba,e))},t.prototype.darken=function(e){return e===void 0&&(e=.1),u(F(this.rgba,-e))},t.prototype.rotate=function(e){return e===void 0&&(e=15),this.hue(this.hue()+e)},t.prototype.alpha=function(e){return typeof e=="number"?u({r:(r=this.rgba).r,g:r.g,b:r.b,a:e}):c(this.rgba.a,3);var r},t.prototype.hue=function(e){var r=m(this.rgba);return typeof e=="number"?u({h:e,s:r.s,l:r.l,a:r.a}):c(r.h)},t.prototype.isEqual=function(e){return this.toHex()===u(e).toHex()},t})(),u=function(t){return t instanceof $?t:new $(t)},L=[],ie=function(t){t.forEach(function(e){L.indexOf(e)<0&&(e($,k),L.push(e))})};function h(t){const e=u(t);return{50:e.lighten(.4).saturate(.1).toHex(),100:e.lighten(.35).saturate(.08).toHex(),200:e.lighten(.28).saturate(.06).toHex(),300:e.lighten(.2).saturate(.04).toHex(),400:e.lighten(.1).saturate(.02).toHex(),500:t,600:e.darken(.1).saturate(.02).toHex(),700:e.darken(.2).saturate(.04).toHex(),800:e.darken(.28).saturate(.06).toHex(),900:e.darken(.35).saturate(.08).toHex(),950:e.darken(.4).saturate(.1).toHex()}}function B(t){const e=u(t),r=e.hue()>90&&e.hue()<150?t:u({h:120,s:e.toHsl().s,l:e.toHsl().l}).toHex(),a=u({h:45,s:90,l:55}).toHex(),n=u({h:0,s:80,l:55}).toHex(),o=u({h:210,s:80,l:55}).toHex();return{primary:h(t),success:h(r),warning:h(a),error:h(n),info:h(o)}}function G(t=!1){const r=u(t?"#1a1a1a":"#f5f5f5");return t?{50:r.lighten(.35).toHex(),100:r.lighten(.3).toHex(),200:r.lighten(.25).toHex(),300:r.lighten(.2).toHex(),400:r.lighten(.15).toHex(),500:r.lighten(.1).toHex(),600:r.toHex(),700:r.darken(.05).toHex(),800:r.darken(.1).toHex(),900:r.darken(.15).toHex(),950:r.darken(.2).toHex()}:{50:"#ffffff",100:"#fafafa",200:"#f5f5f5",300:"#e5e5e5",400:"#d4d4d4",500:"#a3a3a3",600:"#737373",700:"#525252",800:"#404040",900:"#262626",950:"#171717"}}const W={react:"#4fbff0",blue:"#3b82f6",green:"#10b981",purple:"#8b5cf6",pink:"#ec4899",orange:"#f97316",red:"#ef4444",yellow:"#f59e0b",teal:"#14b8a6",indigo:"#6366f1"};function _(t){return W[t]||t}var H=function(t){var e=t/255;return e<.04045?e/12.92:Math.pow((e+.055)/1.055,2.4)},M=function(t){return .2126*H(t.r)+.7152*H(t.g)+.0722*H(t.b)};function ue(t){t.prototype.luminance=function(){return e=M(this.rgba),(r=2)===void 0&&(r=0),a===void 0&&(a=Math.pow(10,r)),Math.round(a*e)/a+0;var e,r,a},t.prototype.contrast=function(e){e===void 0&&(e="#FFF");var r,a,n,o,s,i,l,x=e instanceof t?e:new t(e);return o=this.rgba,s=x.toRgb(),i=M(o),l=M(s),r=i>l?(i+.05)/(l+.05):(l+.05)/(i+.05),(a=2)===void 0&&(a=0),n===void 0&&(n=Math.pow(10,a)),Math.floor(n*r)/n+0},t.prototype.isReadable=function(e,r){return e===void 0&&(e="#FFF"),r===void 0&&(r={}),this.contrast(e)>=(i=(s=(a=r).size)===void 0?"normal":s,(o=(n=a.level)===void 0?"AA":n)==="AAA"&&i==="normal"?7:o==="AA"&&i==="large"?3:4.5);var a,n,o,s,i}}ie([ue]);function p(t){const e=u(t).contrast("#ffffff"),r=u(t).contrast("#0f172a");return e>=r?"#ffffff":"#0f172a"}const N={0:"0px",1:"4px",2:"8px",3:"12px",4:"16px",5:"20px",6:"24px",7:"28px",8:"32px",10:"40px",12:"48px",16:"64px",20:"80px",24:"96px"},A={none:"0px",sm:"6px",base:"10px",md:"14px",lg:"18px",xl:"24px","2xl":"32px","3xl":"48px",full:"9999px"},C={none:"none",sm:"0 8px 24px rgba(15, 23, 42, 0.06)",base:"0 10px 30px rgba(15, 23, 42, 0.08)",md:"0 14px 40px rgba(15, 23, 42, 0.1)",lg:"0 18px 55px rgba(15, 23, 42, 0.14)",xl:"0 22px 70px rgba(15, 23, 42, 0.18)","2xl":"0 32px 90px rgba(15, 23, 42, 0.22)",inner:"inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(15, 23, 42, 0.06)"},q={fontFamily:{sans:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif',mono:'ui-monospace, SFMono-Regular, "SF Mono", Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace'},fontSize:{xs:"12px",sm:"14px",base:"16px",lg:"18px",xl:"20px","2xl":"24px","3xl":"30px","4xl":"36px"},fontWeight:{thin:"100",light:"300",normal:"400",medium:"500",semibold:"600",bold:"700",extrabold:"800"},lineHeight:{tight:"1.25",snug:"1.375",normal:"1.5",relaxed:"1.625",loose:"2"}},b={duration:{fast:"150ms",base:"200ms",slow:"300ms",slower:"500ms"},timing:{linear:"linear",ease:"ease",easeIn:"ease-in",easeOut:"ease-out",easeInOut:"ease-in-out",smoothSpring:"cubic-bezier(0.16, 1, 0.3, 1)",softExit:"cubic-bezier(0.33, 1, 0.68, 1)"}},Q={base:0,dropdown:1e3,sticky:1020,fixed:1030,modalBackdrop:1040,modal:1050,popover:1060,tooltip:1070};function U(t,e,r){const a={},n=(o,s)=>{if(a[o]=s,s.startsWith("#")){const i=u(s).toRgb();a[`${o}-rgb`]=`${i.r} ${i.g} ${i.b}`}};if(Object.entries(t).forEach(([o,s])=>{Object.entries(s).forEach(([i,l])=>{n(`--color-${o}-${i}`,l)})}),Object.entries(e).forEach(([o,s])=>{n(`--color-neutral-${o}`,s)}),r==="light"){const o={surface:"#f7f9fb",panel:"rgba(255, 255, 255, 0.82)",control:"rgba(255, 255, 255, 0.92)",controlStrong:"rgba(255, 255, 255, 0.98)",controlActive:"#e9eef5",line:"#dfe5ec",lineStrong:"#c6d2e1",textPrimary:"#0f172a",textSecondary:"#334155",textTertiary:"#4b5563",textMuted:"#94a3b8",glowAccent:"rgba(77, 163, 255, 0.35)",glowAmbient:"rgba(148, 163, 184, 0.25)",contrast:"#111827",blur:"12px",blurStrong:"18px"};n("--color-bg-base",o.surface),n("--color-bg-elevated",o.panel),n("--color-bg-hover",o.control),n("--color-bg-active",o.controlActive),n("--color-text-primary",o.textPrimary),n("--color-text-secondary",o.textSecondary),n("--color-text-tertiary",o.textTertiary),n("--color-text-disabled",o.textMuted),n("--color-border-base",o.line),n("--color-border-hover",o.lineStrong),n("--color-border-focus",t.primary[500]),n("--surface-base",o.surface),n("--surface-panel",o.panel),n("--surface-control",o.control),n("--surface-control-strong",o.controlStrong),n("--surface-contrast",o.contrast),n("--border-subtle",o.line),n("--border-strong",o.lineStrong),n("--glow-accent",o.glowAccent),n("--glow-ambient",o.glowAmbient),n("--blur-base",o.blur),n("--blur-strong",o.blurStrong)}else{const o={surface:"#0d1117",panel:"rgba(22, 27, 34, 0.72)",control:"rgba(25, 32, 43, 0.78)",controlStrong:"rgba(30, 38, 52, 0.82)",controlActive:"#1c2533",line:"#222b36",lineStrong:"#2f3a48",textPrimary:"#e8ecf3",textSecondary:"#cbd5e1",textTertiary:"#94a3b8",textMuted:"#64748b",glowAccent:"rgba(108, 182, 255, 0.35)",glowAmbient:"rgba(15, 23, 42, 0.45)",contrast:"#0b1017",blur:"12px",blurStrong:"18px"};n("--color-bg-base",o.surface),n("--color-bg-elevated",o.panel),n("--color-bg-hover",o.control),n("--color-bg-active",o.controlActive),n("--color-text-primary",o.textPrimary),n("--color-text-secondary",o.textSecondary),n("--color-text-tertiary",o.textTertiary),n("--color-text-disabled",o.textMuted),n("--color-border-base",o.line),n("--color-border-hover",o.lineStrong),n("--color-border-focus",t.primary[500]),n("--surface-base",o.surface),n("--surface-panel",o.panel),n("--surface-control",o.control),n("--surface-control-strong",o.controlStrong),n("--surface-contrast",o.contrast),n("--border-subtle",o.line),n("--border-strong",o.lineStrong),n("--glow-accent",o.glowAccent),n("--glow-ambient",o.glowAmbient),n("--blur-base",o.blur),n("--blur-strong",o.blurStrong)}return n("--accent",t.primary[500]),n("--accent-strong",t.primary[600]),n("--accent-weak",t.primary[300]),n("--semantic-success",t.success[500]),n("--semantic-warning",t.warning[500]),n("--semantic-error",t.error[500]),n("--on-accent",p(t.primary[500])),n("--on-success",p(t.success[500])),n("--on-warning",p(t.warning[500])),n("--on-error",p(t.error[500])),n("--on-info",p(t.info[500])),n("--on-neutral",p(t.neutral[500])),Object.entries(N).forEach(([o,s])=>{a[`--spacing-${o}`]=s}),Object.entries(A).forEach(([o,s])=>{a[`--radius-${o}`]=s}),Object.entries(C).forEach(([o,s])=>{a[`--shadow-${o}`]=s}),a["--motion-hover"]=`${b.duration.fast} ${b.timing.easeOut}`,a["--motion-press"]=`${b.duration.fast} ${b.timing.smoothSpring}`,a["--motion-overlay"]=`${b.duration.slow} ${b.timing.smoothSpring}`,a["--motion-overlay-exit"]=`${b.duration.slower} ${b.timing.softExit}`,a["--blur-1"]="12px",a["--blur-2"]="18px",a}function J(){return typeof window=="undefined"?!1:window.matchMedia("(prefers-color-scheme: dark)").matches}function K(t){return t==="auto"?J()?"dark":"light":t}function ce(t={}){const{mode:e="auto",primaryColor:r="react",colors:a={}}=t,n=K(e),o=_(r),s=B(o),i={primary:g(g({},s.primary),a.primary),success:g(g({},s.success),a.success),warning:g(g({},s.warning),a.warning),error:g(g({},s.error),a.error),info:g(g({},s.info),a.info),neutral:G(n==="dark")},l=U(i,i.neutral,n);return{mode:n,colors:i,spacing:N,borderRadius:A,shadows:C,typography:q,transitions:b,zIndex:Q,cssVars:l}}function le(t){if(typeof document=="undefined")return;const e=document.documentElement;let r=document.getElementById("react-devtools-theme-styles");r||(r=document.createElement("style"),r.id="react-devtools-theme-styles",document.head.appendChild(r));const a=Object.entries(t.cssVars).map(([n,o])=>`${n}: ${o};`).join(`
|
|
2
|
+
`);r.textContent=`:root {
|
|
3
|
+
${a}
|
|
4
|
+
}`,e.setAttribute("data-theme",t.mode),t.mode==="dark"?e.classList.add("dark"):e.classList.remove("dark")}function de(t){if(typeof window=="undefined")return()=>{};const e=window.matchMedia("(prefers-color-scheme: dark)"),r=a=>{t(a.matches)};return e.addEventListener?(e.addEventListener("change",r),()=>e.removeEventListener("change",r)):(e.addListener(r),()=>e.removeListener(r))}exports.PRESET_COLORS=W;exports.applyTheme=le;exports.borderRadius=A;exports.createTheme=ce;exports.detectSystemDarkMode=J;exports.generateCSSVariables=U;exports.generateColorPalette=h;exports.generateNeutralColors=G;exports.generateSemanticColors=B;exports.resolveThemeColor=_;exports.resolveThemeMode=K;exports.shadows=C;exports.spacing=N;exports.transitions=b;exports.typography=q;exports.watchSystemDarkMode=de;exports.zIndex=Q;
|
|
5
|
+
//# sourceMappingURL=theme.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.cjs","sources":["../../../node_modules/.pnpm/colord@2.9.3/node_modules/colord/index.mjs","../src/theme/colors.ts","../../../node_modules/.pnpm/colord@2.9.3/node_modules/colord/plugins/a11y.mjs","../src/theme/tokens.ts","../src/theme/index.ts"],"sourcesContent":["var r={grad:.9,turn:360,rad:360/(2*Math.PI)},t=function(r){return\"string\"==typeof r?r.length>0:\"number\"==typeof r},n=function(r,t,n){return void 0===t&&(t=0),void 0===n&&(n=Math.pow(10,t)),Math.round(n*r)/n+0},e=function(r,t,n){return void 0===t&&(t=0),void 0===n&&(n=1),r>n?n:r>t?r:t},u=function(r){return(r=isFinite(r)?r%360:0)>0?r:r+360},a=function(r){return{r:e(r.r,0,255),g:e(r.g,0,255),b:e(r.b,0,255),a:e(r.a)}},o=function(r){return{r:n(r.r),g:n(r.g),b:n(r.b),a:n(r.a,3)}},i=/^#([0-9a-f]{3,8})$/i,s=function(r){var t=r.toString(16);return t.length<2?\"0\"+t:t},h=function(r){var t=r.r,n=r.g,e=r.b,u=r.a,a=Math.max(t,n,e),o=a-Math.min(t,n,e),i=o?a===t?(n-e)/o:a===n?2+(e-t)/o:4+(t-n)/o:0;return{h:60*(i<0?i+6:i),s:a?o/a*100:0,v:a/255*100,a:u}},b=function(r){var t=r.h,n=r.s,e=r.v,u=r.a;t=t/360*6,n/=100,e/=100;var a=Math.floor(t),o=e*(1-n),i=e*(1-(t-a)*n),s=e*(1-(1-t+a)*n),h=a%6;return{r:255*[e,i,o,o,s,e][h],g:255*[s,e,e,i,o,o][h],b:255*[o,o,s,e,e,i][h],a:u}},g=function(r){return{h:u(r.h),s:e(r.s,0,100),l:e(r.l,0,100),a:e(r.a)}},d=function(r){return{h:n(r.h),s:n(r.s),l:n(r.l),a:n(r.a,3)}},f=function(r){return b((n=(t=r).s,{h:t.h,s:(n*=((e=t.l)<50?e:100-e)/100)>0?2*n/(e+n)*100:0,v:e+n,a:t.a}));var t,n,e},c=function(r){return{h:(t=h(r)).h,s:(u=(200-(n=t.s))*(e=t.v)/100)>0&&u<200?n*e/100/(u<=100?u:200-u)*100:0,l:u/2,a:t.a};var t,n,e,u},l=/^hsla?\\(\\s*([+-]?\\d*\\.?\\d+)(deg|rad|grad|turn)?\\s*,\\s*([+-]?\\d*\\.?\\d+)%\\s*,\\s*([+-]?\\d*\\.?\\d+)%\\s*(?:,\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*)?\\)$/i,p=/^hsla?\\(\\s*([+-]?\\d*\\.?\\d+)(deg|rad|grad|turn)?\\s+([+-]?\\d*\\.?\\d+)%\\s+([+-]?\\d*\\.?\\d+)%\\s*(?:\\/\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*)?\\)$/i,v=/^rgba?\\(\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*,\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*,\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*(?:,\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*)?\\)$/i,m=/^rgba?\\(\\s*([+-]?\\d*\\.?\\d+)(%)?\\s+([+-]?\\d*\\.?\\d+)(%)?\\s+([+-]?\\d*\\.?\\d+)(%)?\\s*(?:\\/\\s*([+-]?\\d*\\.?\\d+)(%)?\\s*)?\\)$/i,y={string:[[function(r){var t=i.exec(r);return t?(r=t[1]).length<=4?{r:parseInt(r[0]+r[0],16),g:parseInt(r[1]+r[1],16),b:parseInt(r[2]+r[2],16),a:4===r.length?n(parseInt(r[3]+r[3],16)/255,2):1}:6===r.length||8===r.length?{r:parseInt(r.substr(0,2),16),g:parseInt(r.substr(2,2),16),b:parseInt(r.substr(4,2),16),a:8===r.length?n(parseInt(r.substr(6,2),16)/255,2):1}:null:null},\"hex\"],[function(r){var t=v.exec(r)||m.exec(r);return t?t[2]!==t[4]||t[4]!==t[6]?null:a({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:void 0===t[7]?1:Number(t[7])/(t[8]?100:1)}):null},\"rgb\"],[function(t){var n=l.exec(t)||p.exec(t);if(!n)return null;var e,u,a=g({h:(e=n[1],u=n[2],void 0===u&&(u=\"deg\"),Number(e)*(r[u]||1)),s:Number(n[3]),l:Number(n[4]),a:void 0===n[5]?1:Number(n[5])/(n[6]?100:1)});return f(a)},\"hsl\"]],object:[[function(r){var n=r.r,e=r.g,u=r.b,o=r.a,i=void 0===o?1:o;return t(n)&&t(e)&&t(u)?a({r:Number(n),g:Number(e),b:Number(u),a:Number(i)}):null},\"rgb\"],[function(r){var n=r.h,e=r.s,u=r.l,a=r.a,o=void 0===a?1:a;if(!t(n)||!t(e)||!t(u))return null;var i=g({h:Number(n),s:Number(e),l:Number(u),a:Number(o)});return f(i)},\"hsl\"],[function(r){var n=r.h,a=r.s,o=r.v,i=r.a,s=void 0===i?1:i;if(!t(n)||!t(a)||!t(o))return null;var h=function(r){return{h:u(r.h),s:e(r.s,0,100),v:e(r.v,0,100),a:e(r.a)}}({h:Number(n),s:Number(a),v:Number(o),a:Number(s)});return b(h)},\"hsv\"]]},N=function(r,t){for(var n=0;n<t.length;n++){var e=t[n][0](r);if(e)return[e,t[n][1]]}return[null,void 0]},x=function(r){return\"string\"==typeof r?N(r.trim(),y.string):\"object\"==typeof r&&null!==r?N(r,y.object):[null,void 0]},I=function(r){return x(r)[1]},M=function(r,t){var n=c(r);return{h:n.h,s:e(n.s+100*t,0,100),l:n.l,a:n.a}},H=function(r){return(299*r.r+587*r.g+114*r.b)/1e3/255},$=function(r,t){var n=c(r);return{h:n.h,s:n.s,l:e(n.l+100*t,0,100),a:n.a}},j=function(){function r(r){this.parsed=x(r)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return r.prototype.isValid=function(){return null!==this.parsed},r.prototype.brightness=function(){return n(H(this.rgba),2)},r.prototype.isDark=function(){return H(this.rgba)<.5},r.prototype.isLight=function(){return H(this.rgba)>=.5},r.prototype.toHex=function(){return r=o(this.rgba),t=r.r,e=r.g,u=r.b,i=(a=r.a)<1?s(n(255*a)):\"\",\"#\"+s(t)+s(e)+s(u)+i;var r,t,e,u,a,i},r.prototype.toRgb=function(){return o(this.rgba)},r.prototype.toRgbString=function(){return r=o(this.rgba),t=r.r,n=r.g,e=r.b,(u=r.a)<1?\"rgba(\"+t+\", \"+n+\", \"+e+\", \"+u+\")\":\"rgb(\"+t+\", \"+n+\", \"+e+\")\";var r,t,n,e,u},r.prototype.toHsl=function(){return d(c(this.rgba))},r.prototype.toHslString=function(){return r=d(c(this.rgba)),t=r.h,n=r.s,e=r.l,(u=r.a)<1?\"hsla(\"+t+\", \"+n+\"%, \"+e+\"%, \"+u+\")\":\"hsl(\"+t+\", \"+n+\"%, \"+e+\"%)\";var r,t,n,e,u},r.prototype.toHsv=function(){return r=h(this.rgba),{h:n(r.h),s:n(r.s),v:n(r.v),a:n(r.a,3)};var r},r.prototype.invert=function(){return w({r:255-(r=this.rgba).r,g:255-r.g,b:255-r.b,a:r.a});var r},r.prototype.saturate=function(r){return void 0===r&&(r=.1),w(M(this.rgba,r))},r.prototype.desaturate=function(r){return void 0===r&&(r=.1),w(M(this.rgba,-r))},r.prototype.grayscale=function(){return w(M(this.rgba,-1))},r.prototype.lighten=function(r){return void 0===r&&(r=.1),w($(this.rgba,r))},r.prototype.darken=function(r){return void 0===r&&(r=.1),w($(this.rgba,-r))},r.prototype.rotate=function(r){return void 0===r&&(r=15),this.hue(this.hue()+r)},r.prototype.alpha=function(r){return\"number\"==typeof r?w({r:(t=this.rgba).r,g:t.g,b:t.b,a:r}):n(this.rgba.a,3);var t},r.prototype.hue=function(r){var t=c(this.rgba);return\"number\"==typeof r?w({h:r,s:t.s,l:t.l,a:t.a}):n(t.h)},r.prototype.isEqual=function(r){return this.toHex()===w(r).toHex()},r}(),w=function(r){return r instanceof j?r:new j(r)},S=[],k=function(r){r.forEach(function(r){S.indexOf(r)<0&&(r(j,y),S.push(r))})},E=function(){return new j({r:255*Math.random(),g:255*Math.random(),b:255*Math.random()})};export{j as Colord,w as colord,k as extend,I as getFormat,E as random};\n","import { colord } from 'colord'\n\n/**\n * Generate a color palette from a base color\n * 基于基础色生成完整的色板(50-950)\n */\nexport function generateColorPalette(baseColor: string) {\n const color = colord(baseColor)\n\n return {\n 50: color.lighten(0.4).saturate(0.1).toHex(),\n 100: color.lighten(0.35).saturate(0.08).toHex(),\n 200: color.lighten(0.28).saturate(0.06).toHex(),\n 300: color.lighten(0.2).saturate(0.04).toHex(),\n 400: color.lighten(0.1).saturate(0.02).toHex(),\n 500: baseColor, // 基础色\n 600: color.darken(0.1).saturate(0.02).toHex(),\n 700: color.darken(0.2).saturate(0.04).toHex(),\n 800: color.darken(0.28).saturate(0.06).toHex(),\n 900: color.darken(0.35).saturate(0.08).toHex(),\n 950: color.darken(0.4).saturate(0.1).toHex(),\n }\n}\n\n/**\n * Generate semantic colors from primary color\n * 基于主题色生成语义化颜色\n */\nexport function generateSemanticColors(primaryColor: string) {\n const primary = colord(primaryColor)\n\n // 从主题色推导其他语义色\n // Success: 偏向绿色\n const success = primary.hue() > 90 && primary.hue() < 150\n ? primaryColor\n : colord({ h: 120, s: primary.toHsl().s, l: primary.toHsl().l }).toHex()\n\n // Warning: 偏向黄色\n const warning = colord({ h: 45, s: 90, l: 55 }).toHex()\n\n // Error: 偏向红色\n const error = colord({ h: 0, s: 80, l: 55 }).toHex()\n\n // Info: 偏向蓝色\n const info = colord({ h: 210, s: 80, l: 55 }).toHex()\n\n return {\n primary: generateColorPalette(primaryColor),\n success: generateColorPalette(success),\n warning: generateColorPalette(warning),\n error: generateColorPalette(error),\n info: generateColorPalette(info),\n }\n}\n\n/**\n * Generate neutral colors (gray scale)\n * 生成中性色(灰阶)\n */\nexport function generateNeutralColors(isDark: boolean = false) {\n const baseGray = isDark ? '#1a1a1a' : '#f5f5f5'\n const gray = colord(baseGray)\n\n if (isDark) {\n return {\n 50: gray.lighten(0.35).toHex(),\n 100: gray.lighten(0.3).toHex(),\n 200: gray.lighten(0.25).toHex(),\n 300: gray.lighten(0.2).toHex(),\n 400: gray.lighten(0.15).toHex(),\n 500: gray.lighten(0.1).toHex(),\n 600: gray.toHex(),\n 700: gray.darken(0.05).toHex(),\n 800: gray.darken(0.1).toHex(),\n 900: gray.darken(0.15).toHex(),\n 950: gray.darken(0.2).toHex(),\n }\n }\n\n return {\n 50: '#ffffff',\n 100: '#fafafa',\n 200: '#f5f5f5',\n 300: '#e5e5e5',\n 400: '#d4d4d4',\n 500: '#a3a3a3',\n 600: '#737373',\n 700: '#525252',\n 800: '#404040',\n 900: '#262626',\n 950: '#171717',\n }\n}\n\n/**\n * Preset color themes\n * 预设的主题色\n */\nexport const PRESET_COLORS = {\n react: '#4fbff0', // React 蓝色(提升对比度的变体)\n blue: '#3b82f6', // 蓝色\n green: '#10b981', // 绿色\n purple: '#8b5cf6', // 紫色\n pink: '#ec4899', // 粉色\n orange: '#f97316', // 橙色\n red: '#ef4444', // 红色\n yellow: '#f59e0b', // 黄色\n teal: '#14b8a6', // 青色\n indigo: '#6366f1', // 靛青色\n}\n\n/**\n * Get preset color or custom color\n * 获取预设颜色或自定义颜色\n */\nexport function resolveThemeColor(color: string): string {\n return PRESET_COLORS[color as keyof typeof PRESET_COLORS] || color\n}\n","var o=function(o){var t=o/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},t=function(t){return.2126*o(t.r)+.7152*o(t.g)+.0722*o(t.b)};export default function(o){o.prototype.luminance=function(){return o=t(this.rgba),void 0===(r=2)&&(r=0),void 0===n&&(n=Math.pow(10,r)),Math.round(n*o)/n+0;var o,r,n},o.prototype.contrast=function(r){void 0===r&&(r=\"#FFF\");var n,a,i,e,v,u,d,c=r instanceof o?r:new o(r);return e=this.rgba,v=c.toRgb(),u=t(e),d=t(v),n=u>d?(u+.05)/(d+.05):(d+.05)/(u+.05),void 0===(a=2)&&(a=0),void 0===i&&(i=Math.pow(10,a)),Math.floor(i*n)/i+0},o.prototype.isReadable=function(o,t){return void 0===o&&(o=\"#FFF\"),void 0===t&&(t={}),this.contrast(o)>=(e=void 0===(i=(r=t).size)?\"normal\":i,\"AAA\"===(a=void 0===(n=r.level)?\"AA\":n)&&\"normal\"===e?7:\"AA\"===a&&\"large\"===e?3:4.5);var r,n,a,i,e}}\n","import type { ColorPalette } from './types'\nimport { colord, extend } from 'colord'\nimport a11yPlugin from 'colord/plugins/a11y'\n\nextend([a11yPlugin])\n\n// Choose an accessible text color (black/white) based on background contrast\nfunction pickTextColor(bg: string): string {\n const whiteContrast = colord(bg).contrast('#ffffff')\n const darkContrast = colord(bg).contrast('#0f172a')\n return whiteContrast >= darkContrast ? '#ffffff' : '#0f172a'\n}\n\n/**\n * Design tokens for spacing\n * 间距设计令牌\n */\nexport const spacing = {\n 0: '0px',\n 1: '4px',\n 2: '8px',\n 3: '12px',\n 4: '16px',\n 5: '20px',\n 6: '24px',\n 7: '28px',\n 8: '32px',\n 10: '40px',\n 12: '48px',\n 16: '64px',\n 20: '80px',\n 24: '96px',\n}\n\n/**\n * Design tokens for border radius\n * 圆角设计令牌\n */\nexport const borderRadius = {\n 'none': '0px',\n 'sm': '6px',\n 'base': '10px',\n 'md': '14px',\n 'lg': '18px',\n 'xl': '24px',\n '2xl': '32px',\n '3xl': '48px',\n 'full': '9999px',\n}\n\n/**\n * Design tokens for shadows\n * 阴影设计令牌\n */\nexport const shadows = {\n 'none': 'none',\n 'sm': '0 8px 24px rgba(15, 23, 42, 0.06)',\n 'base': '0 10px 30px rgba(15, 23, 42, 0.08)',\n 'md': '0 14px 40px rgba(15, 23, 42, 0.1)',\n 'lg': '0 18px 55px rgba(15, 23, 42, 0.14)',\n 'xl': '0 22px 70px rgba(15, 23, 42, 0.18)',\n '2xl': '0 32px 90px rgba(15, 23, 42, 0.22)',\n 'inner': 'inset 0 1px 0 rgba(255, 255, 255, 0.2), inset 0 -1px 0 rgba(15, 23, 42, 0.06)',\n}\n\n/**\n * Design tokens for typography\n * 字体设计令牌\n */\nexport const typography = {\n fontFamily: {\n sans: '-apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, sans-serif',\n mono: 'ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace',\n },\n fontSize: {\n 'xs': '12px',\n 'sm': '14px',\n 'base': '16px',\n 'lg': '18px',\n 'xl': '20px',\n '2xl': '24px',\n '3xl': '30px',\n '4xl': '36px',\n },\n fontWeight: {\n thin: '100',\n light: '300',\n normal: '400',\n medium: '500',\n semibold: '600',\n bold: '700',\n extrabold: '800',\n },\n lineHeight: {\n tight: '1.25',\n snug: '1.375',\n normal: '1.5',\n relaxed: '1.625',\n loose: '2',\n },\n}\n\n/**\n * Design tokens for transitions\n * 过渡动画设计令牌\n */\nexport const transitions = {\n duration: {\n fast: '150ms',\n base: '200ms',\n slow: '300ms',\n slower: '500ms',\n },\n timing: {\n linear: 'linear',\n ease: 'ease',\n easeIn: 'ease-in',\n easeOut: 'ease-out',\n easeInOut: 'ease-in-out',\n smoothSpring: 'cubic-bezier(0.16, 1, 0.3, 1)',\n softExit: 'cubic-bezier(0.33, 1, 0.68, 1)',\n },\n}\n\n/**\n * Design tokens for z-index\n * 层级设计令牌\n */\nexport const zIndex = {\n base: 0,\n dropdown: 1000,\n sticky: 1020,\n fixed: 1030,\n modalBackdrop: 1040,\n modal: 1050,\n popover: 1060,\n tooltip: 1070,\n}\n\n/**\n * Generate CSS variables from color palette\n * 从色板生成CSS变量\n */\nexport function generateCSSVariables(\n colors: Record<string, ColorPalette>,\n neutral: ColorPalette,\n mode: 'light' | 'dark',\n) {\n const vars: Record<string, string> = {}\n\n const setVar = (name: string, value: string) => {\n vars[name] = value\n // Generate RGB variable for opacity support\n // Handle hex colors\n if (value.startsWith('#')) {\n const rgb = colord(value).toRgb()\n vars[`${name}-rgb`] = `${rgb.r} ${rgb.g} ${rgb.b}`\n }\n }\n\n // Color palettes\n Object.entries(colors).forEach(([name, palette]) => {\n Object.entries(palette).forEach(([shade, value]) => {\n setVar(`--color-${name}-${shade}`, value)\n })\n })\n\n // Neutral colors\n Object.entries(neutral).forEach(([shade, value]) => {\n setVar(`--color-neutral-${shade}`, value)\n })\n\n // Semantic colors (based on mode) with opinionated surfaces\n if (mode === 'light') {\n const surfaces = {\n surface: '#f7f9fb',\n panel: 'rgba(255, 255, 255, 0.82)',\n control: 'rgba(255, 255, 255, 0.92)',\n controlStrong: 'rgba(255, 255, 255, 0.98)',\n controlActive: '#e9eef5',\n line: '#dfe5ec',\n lineStrong: '#c6d2e1',\n textPrimary: '#0f172a',\n textSecondary: '#334155',\n textTertiary: '#4b5563',\n textMuted: '#94a3b8',\n glowAccent: 'rgba(77, 163, 255, 0.35)',\n glowAmbient: 'rgba(148, 163, 184, 0.25)',\n contrast: '#111827',\n blur: '12px',\n blurStrong: '18px',\n }\n\n setVar('--color-bg-base', surfaces.surface)\n setVar('--color-bg-elevated', surfaces.panel)\n setVar('--color-bg-hover', surfaces.control)\n setVar('--color-bg-active', surfaces.controlActive)\n\n setVar('--color-text-primary', surfaces.textPrimary)\n setVar('--color-text-secondary', surfaces.textSecondary)\n setVar('--color-text-tertiary', surfaces.textTertiary)\n setVar('--color-text-disabled', surfaces.textMuted)\n\n setVar('--color-border-base', surfaces.line)\n setVar('--color-border-hover', surfaces.lineStrong)\n setVar('--color-border-focus', colors.primary[500])\n\n setVar('--surface-base', surfaces.surface)\n setVar('--surface-panel', surfaces.panel)\n setVar('--surface-control', surfaces.control)\n setVar('--surface-control-strong', surfaces.controlStrong)\n setVar('--surface-contrast', surfaces.contrast)\n setVar('--border-subtle', surfaces.line)\n setVar('--border-strong', surfaces.lineStrong)\n setVar('--glow-accent', surfaces.glowAccent)\n setVar('--glow-ambient', surfaces.glowAmbient)\n setVar('--blur-base', surfaces.blur)\n setVar('--blur-strong', surfaces.blurStrong)\n }\n else {\n const surfaces = {\n surface: '#0d1117',\n panel: 'rgba(22, 27, 34, 0.72)',\n control: 'rgba(25, 32, 43, 0.78)',\n controlStrong: 'rgba(30, 38, 52, 0.82)',\n controlActive: '#1c2533',\n line: '#222b36',\n lineStrong: '#2f3a48',\n textPrimary: '#e8ecf3',\n textSecondary: '#cbd5e1',\n textTertiary: '#94a3b8',\n textMuted: '#64748b',\n glowAccent: 'rgba(108, 182, 255, 0.35)',\n glowAmbient: 'rgba(15, 23, 42, 0.45)',\n contrast: '#0b1017',\n blur: '12px',\n blurStrong: '18px',\n }\n\n setVar('--color-bg-base', surfaces.surface)\n setVar('--color-bg-elevated', surfaces.panel)\n setVar('--color-bg-hover', surfaces.control)\n setVar('--color-bg-active', surfaces.controlActive)\n\n setVar('--color-text-primary', surfaces.textPrimary)\n setVar('--color-text-secondary', surfaces.textSecondary)\n setVar('--color-text-tertiary', surfaces.textTertiary)\n setVar('--color-text-disabled', surfaces.textMuted)\n\n setVar('--color-border-base', surfaces.line)\n setVar('--color-border-hover', surfaces.lineStrong)\n setVar('--color-border-focus', colors.primary[500])\n\n setVar('--surface-base', surfaces.surface)\n setVar('--surface-panel', surfaces.panel)\n setVar('--surface-control', surfaces.control)\n setVar('--surface-control-strong', surfaces.controlStrong)\n setVar('--surface-contrast', surfaces.contrast)\n setVar('--border-subtle', surfaces.line)\n setVar('--border-strong', surfaces.lineStrong)\n setVar('--glow-accent', surfaces.glowAccent)\n setVar('--glow-ambient', surfaces.glowAmbient)\n setVar('--blur-base', surfaces.blur)\n setVar('--blur-strong', surfaces.blurStrong)\n }\n\n // Accent + semantics\n setVar('--accent', colors.primary[500])\n setVar('--accent-strong', colors.primary[600])\n setVar('--accent-weak', colors.primary[300])\n setVar('--semantic-success', colors.success[500])\n setVar('--semantic-warning', colors.warning[500])\n setVar('--semantic-error', colors.error[500])\n setVar('--on-accent', pickTextColor(colors.primary[500]))\n setVar('--on-success', pickTextColor(colors.success[500]))\n setVar('--on-warning', pickTextColor(colors.warning[500]))\n setVar('--on-error', pickTextColor(colors.error[500]))\n setVar('--on-info', pickTextColor(colors.info[500]))\n setVar('--on-neutral', pickTextColor(colors.neutral[500]))\n\n // Spacing\n Object.entries(spacing).forEach(([key, value]) => {\n vars[`--spacing-${key}`] = value\n })\n\n // Border radius\n Object.entries(borderRadius).forEach(([key, value]) => {\n vars[`--radius-${key}`] = value\n })\n\n // Shadows\n Object.entries(shadows).forEach(([key, value]) => {\n vars[`--shadow-${key}`] = value\n })\n\n // Motion primitives\n vars['--motion-hover'] = `${transitions.duration.fast} ${transitions.timing.easeOut}`\n vars['--motion-press'] = `${transitions.duration.fast} ${transitions.timing.smoothSpring}`\n vars['--motion-overlay'] = `${transitions.duration.slow} ${transitions.timing.smoothSpring}`\n vars['--motion-overlay-exit'] = `${transitions.duration.slower} ${transitions.timing.softExit}`\n\n // Blur layers\n vars['--blur-1'] = '12px'\n vars['--blur-2'] = '18px'\n\n return vars\n}\n","import type { Theme, ThemeConfig, ThemeMode } from './types'\nimport {\n generateNeutralColors,\n generateSemanticColors,\n PRESET_COLORS,\n resolveThemeColor,\n} from './colors'\nimport {\n borderRadius,\n generateCSSVariables,\n shadows,\n spacing,\n transitions,\n typography,\n zIndex,\n} from './tokens'\n\n/**\n * Detect system dark mode preference\n * 检测系统暗黑模式偏好\n */\nexport function detectSystemDarkMode(): boolean {\n if (typeof window === 'undefined')\n return false\n\n return window.matchMedia('(prefers-color-scheme: dark)').matches\n}\n\n/**\n * Resolve theme mode (auto -> light/dark)\n * 解析主题模式\n */\nexport function resolveThemeMode(mode: ThemeMode): 'light' | 'dark' {\n if (mode === 'auto') {\n return detectSystemDarkMode() ? 'dark' : 'light'\n }\n return mode\n}\n\n/**\n * Create theme from configuration\n * 根据配置创建完整主题\n */\nexport function createTheme(config: ThemeConfig = {}): Theme {\n const {\n mode = 'auto',\n primaryColor = 'react',\n colors: customColors = {},\n } = config\n\n // Resolve mode\n const resolvedMode = resolveThemeMode(mode)\n\n // Resolve primary color\n const resolvedPrimaryColor = resolveThemeColor(primaryColor)\n\n // Generate semantic colors from primary color\n const semanticColors = generateSemanticColors(resolvedPrimaryColor)\n\n // Merge with custom colors\n const colors = {\n primary: { ...semanticColors.primary, ...customColors.primary },\n success: { ...semanticColors.success, ...customColors.success },\n warning: { ...semanticColors.warning, ...customColors.warning },\n error: { ...semanticColors.error, ...customColors.error },\n info: { ...semanticColors.info, ...customColors.info },\n neutral: generateNeutralColors(resolvedMode === 'dark'),\n }\n\n // Generate CSS variables\n const cssVars = generateCSSVariables(colors, colors.neutral, resolvedMode)\n\n return {\n mode: resolvedMode,\n colors,\n spacing,\n borderRadius,\n shadows,\n typography,\n transitions,\n zIndex,\n cssVars,\n }\n}\n\n/**\n * Apply theme to DOM\n * 将主题应用到DOM\n */\nexport function applyTheme(theme: Theme) {\n if (typeof document === 'undefined')\n return\n\n const root = document.documentElement\n\n // Use a style tag instead of inline styles to avoid clutter\n let styleTag = document.getElementById('react-devtools-theme-styles')\n if (!styleTag) {\n styleTag = document.createElement('style')\n styleTag.id = 'react-devtools-theme-styles'\n document.head.appendChild(styleTag)\n }\n\n // Build CSS string\n const cssRules = Object.entries(theme.cssVars)\n .map(([key, value]) => `${key}: ${value};`)\n .join('\\n')\n\n styleTag.textContent = `:root {\\n${cssRules}\\n}`\n\n // Set data-theme attribute for CSS selectors\n root.setAttribute('data-theme', theme.mode)\n\n // Toggle 'dark' class for Tailwind/UnoCSS\n if (theme.mode === 'dark') {\n root.classList.add('dark')\n }\n else {\n root.classList.remove('dark')\n }\n}\n\n/**\n * Watch system dark mode changes\n * 监听系统暗黑模式变化\n */\nexport function watchSystemDarkMode(callback: (isDark: boolean) => void): () => void {\n if (typeof window === 'undefined')\n return () => {}\n\n const mediaQuery = window.matchMedia('(prefers-color-scheme: dark)')\n\n const handler = (e: MediaQueryListEvent | MediaQueryList) => {\n callback(e.matches)\n }\n\n // Modern browsers\n if (mediaQuery.addEventListener) {\n mediaQuery.addEventListener('change', handler)\n return () => mediaQuery.removeEventListener('change', handler)\n }\n\n // Legacy browsers\n mediaQuery.addListener(handler as any)\n return () => mediaQuery.removeListener(handler as any)\n}\n\n// Export utilities\nexport * from './colors'\nexport * from './tokens'\nexport * from './types'\n\n// Export preset colors for easy access\nexport { PRESET_COLORS }\n"],"names":["r","t","n","e","u","a","o","i","s","h","b","g","d","f","c","l","p","v","m","y","N","x","M","H","$","j","w","S","k","generateColorPalette","baseColor","color","colord","generateSemanticColors","primaryColor","primary","success","warning","error","info","generateNeutralColors","isDark","gray","PRESET_COLORS","resolveThemeColor","a11yPlugin","extend","pickTextColor","bg","whiteContrast","darkContrast","spacing","borderRadius","shadows","typography","transitions","zIndex","generateCSSVariables","colors","neutral","mode","vars","setVar","name","value","rgb","palette","shade","surfaces","key","detectSystemDarkMode","resolveThemeMode","createTheme","config","customColors","resolvedMode","resolvedPrimaryColor","semanticColors","__spreadValues","cssVars","applyTheme","theme","root","styleTag","cssRules","watchSystemDarkMode","callback","mediaQuery","handler"],"mappings":"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","x_google_ignoreList":[0,2]}
|
package/dist/theme.d.ts
ADDED
|
@@ -0,0 +1,372 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Apply theme to DOM
|
|
3
|
+
* 将主题应用到DOM
|
|
4
|
+
*/
|
|
5
|
+
export declare function applyTheme(theme: Theme): void;
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* Design tokens for border radius
|
|
9
|
+
* 圆角设计令牌
|
|
10
|
+
*/
|
|
11
|
+
export declare const borderRadius: {
|
|
12
|
+
none: string;
|
|
13
|
+
sm: string;
|
|
14
|
+
base: string;
|
|
15
|
+
md: string;
|
|
16
|
+
lg: string;
|
|
17
|
+
xl: string;
|
|
18
|
+
'2xl': string;
|
|
19
|
+
'3xl': string;
|
|
20
|
+
full: string;
|
|
21
|
+
};
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* Color palette with shades from 50 to 950
|
|
25
|
+
*/
|
|
26
|
+
export declare interface ColorPalette {
|
|
27
|
+
50: string;
|
|
28
|
+
100: string;
|
|
29
|
+
200: string;
|
|
30
|
+
300: string;
|
|
31
|
+
400: string;
|
|
32
|
+
500: string;
|
|
33
|
+
600: string;
|
|
34
|
+
700: string;
|
|
35
|
+
800: string;
|
|
36
|
+
900: string;
|
|
37
|
+
950: string;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* Create theme from configuration
|
|
42
|
+
* 根据配置创建完整主题
|
|
43
|
+
*/
|
|
44
|
+
export declare function createTheme(config?: ThemeConfig): Theme;
|
|
45
|
+
|
|
46
|
+
/**
|
|
47
|
+
* Detect system dark mode preference
|
|
48
|
+
* 检测系统暗黑模式偏好
|
|
49
|
+
*/
|
|
50
|
+
export declare function detectSystemDarkMode(): boolean;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Generate a color palette from a base color
|
|
54
|
+
* 基于基础色生成完整的色板(50-950)
|
|
55
|
+
*/
|
|
56
|
+
export declare function generateColorPalette(baseColor: string): {
|
|
57
|
+
50: string;
|
|
58
|
+
100: string;
|
|
59
|
+
200: string;
|
|
60
|
+
300: string;
|
|
61
|
+
400: string;
|
|
62
|
+
500: string;
|
|
63
|
+
600: string;
|
|
64
|
+
700: string;
|
|
65
|
+
800: string;
|
|
66
|
+
900: string;
|
|
67
|
+
950: string;
|
|
68
|
+
};
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Generate CSS variables from color palette
|
|
72
|
+
* 从色板生成CSS变量
|
|
73
|
+
*/
|
|
74
|
+
export declare function generateCSSVariables(colors: Record<string, ColorPalette>, neutral: ColorPalette, mode: 'light' | 'dark'): Record<string, string>;
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Generate neutral colors (gray scale)
|
|
78
|
+
* 生成中性色(灰阶)
|
|
79
|
+
*/
|
|
80
|
+
export declare function generateNeutralColors(isDark?: boolean): {
|
|
81
|
+
50: string;
|
|
82
|
+
100: string;
|
|
83
|
+
200: string;
|
|
84
|
+
300: string;
|
|
85
|
+
400: string;
|
|
86
|
+
500: string;
|
|
87
|
+
600: string;
|
|
88
|
+
700: string;
|
|
89
|
+
800: string;
|
|
90
|
+
900: string;
|
|
91
|
+
950: string;
|
|
92
|
+
};
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* Generate semantic colors from primary color
|
|
96
|
+
* 基于主题色生成语义化颜色
|
|
97
|
+
*/
|
|
98
|
+
export declare function generateSemanticColors(primaryColor: string): {
|
|
99
|
+
primary: {
|
|
100
|
+
50: string;
|
|
101
|
+
100: string;
|
|
102
|
+
200: string;
|
|
103
|
+
300: string;
|
|
104
|
+
400: string;
|
|
105
|
+
500: string;
|
|
106
|
+
600: string;
|
|
107
|
+
700: string;
|
|
108
|
+
800: string;
|
|
109
|
+
900: string;
|
|
110
|
+
950: string;
|
|
111
|
+
};
|
|
112
|
+
success: {
|
|
113
|
+
50: string;
|
|
114
|
+
100: string;
|
|
115
|
+
200: string;
|
|
116
|
+
300: string;
|
|
117
|
+
400: string;
|
|
118
|
+
500: string;
|
|
119
|
+
600: string;
|
|
120
|
+
700: string;
|
|
121
|
+
800: string;
|
|
122
|
+
900: string;
|
|
123
|
+
950: string;
|
|
124
|
+
};
|
|
125
|
+
warning: {
|
|
126
|
+
50: string;
|
|
127
|
+
100: string;
|
|
128
|
+
200: string;
|
|
129
|
+
300: string;
|
|
130
|
+
400: string;
|
|
131
|
+
500: string;
|
|
132
|
+
600: string;
|
|
133
|
+
700: string;
|
|
134
|
+
800: string;
|
|
135
|
+
900: string;
|
|
136
|
+
950: string;
|
|
137
|
+
};
|
|
138
|
+
error: {
|
|
139
|
+
50: string;
|
|
140
|
+
100: string;
|
|
141
|
+
200: string;
|
|
142
|
+
300: string;
|
|
143
|
+
400: string;
|
|
144
|
+
500: string;
|
|
145
|
+
600: string;
|
|
146
|
+
700: string;
|
|
147
|
+
800: string;
|
|
148
|
+
900: string;
|
|
149
|
+
950: string;
|
|
150
|
+
};
|
|
151
|
+
info: {
|
|
152
|
+
50: string;
|
|
153
|
+
100: string;
|
|
154
|
+
200: string;
|
|
155
|
+
300: string;
|
|
156
|
+
400: string;
|
|
157
|
+
500: string;
|
|
158
|
+
600: string;
|
|
159
|
+
700: string;
|
|
160
|
+
800: string;
|
|
161
|
+
900: string;
|
|
162
|
+
950: string;
|
|
163
|
+
};
|
|
164
|
+
};
|
|
165
|
+
|
|
166
|
+
/**
|
|
167
|
+
* Preset color themes
|
|
168
|
+
* 预设的主题色
|
|
169
|
+
*/
|
|
170
|
+
export declare const PRESET_COLORS: {
|
|
171
|
+
react: string;
|
|
172
|
+
blue: string;
|
|
173
|
+
green: string;
|
|
174
|
+
purple: string;
|
|
175
|
+
pink: string;
|
|
176
|
+
orange: string;
|
|
177
|
+
red: string;
|
|
178
|
+
yellow: string;
|
|
179
|
+
teal: string;
|
|
180
|
+
indigo: string;
|
|
181
|
+
};
|
|
182
|
+
|
|
183
|
+
/**
|
|
184
|
+
* Get preset color or custom color
|
|
185
|
+
* 获取预设颜色或自定义颜色
|
|
186
|
+
*/
|
|
187
|
+
export declare function resolveThemeColor(color: string): string;
|
|
188
|
+
|
|
189
|
+
/**
|
|
190
|
+
* Resolve theme mode (auto -> light/dark)
|
|
191
|
+
* 解析主题模式
|
|
192
|
+
*/
|
|
193
|
+
export declare function resolveThemeMode(mode: ThemeMode): 'light' | 'dark';
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* Design tokens for shadows
|
|
197
|
+
* 阴影设计令牌
|
|
198
|
+
*/
|
|
199
|
+
export declare const shadows: {
|
|
200
|
+
none: string;
|
|
201
|
+
sm: string;
|
|
202
|
+
base: string;
|
|
203
|
+
md: string;
|
|
204
|
+
lg: string;
|
|
205
|
+
xl: string;
|
|
206
|
+
'2xl': string;
|
|
207
|
+
inner: string;
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
/**
|
|
211
|
+
* Design tokens for spacing
|
|
212
|
+
* 间距设计令牌
|
|
213
|
+
*/
|
|
214
|
+
export declare const spacing: {
|
|
215
|
+
0: string;
|
|
216
|
+
1: string;
|
|
217
|
+
2: string;
|
|
218
|
+
3: string;
|
|
219
|
+
4: string;
|
|
220
|
+
5: string;
|
|
221
|
+
6: string;
|
|
222
|
+
7: string;
|
|
223
|
+
8: string;
|
|
224
|
+
10: string;
|
|
225
|
+
12: string;
|
|
226
|
+
16: string;
|
|
227
|
+
20: string;
|
|
228
|
+
24: string;
|
|
229
|
+
};
|
|
230
|
+
|
|
231
|
+
/**
|
|
232
|
+
* Complete theme object
|
|
233
|
+
*/
|
|
234
|
+
export declare interface Theme {
|
|
235
|
+
mode: 'light' | 'dark';
|
|
236
|
+
colors: {
|
|
237
|
+
primary: ColorPalette;
|
|
238
|
+
success: ColorPalette;
|
|
239
|
+
warning: ColorPalette;
|
|
240
|
+
error: ColorPalette;
|
|
241
|
+
info: ColorPalette;
|
|
242
|
+
neutral: ColorPalette;
|
|
243
|
+
};
|
|
244
|
+
spacing: Record<string, string>;
|
|
245
|
+
borderRadius: Record<string, string>;
|
|
246
|
+
shadows: Record<string, string>;
|
|
247
|
+
typography: {
|
|
248
|
+
fontFamily: Record<string, string>;
|
|
249
|
+
fontSize: Record<string, string>;
|
|
250
|
+
fontWeight: Record<string, string>;
|
|
251
|
+
lineHeight: Record<string, string>;
|
|
252
|
+
};
|
|
253
|
+
transitions: {
|
|
254
|
+
duration: Record<string, string>;
|
|
255
|
+
timing: Record<string, string>;
|
|
256
|
+
};
|
|
257
|
+
zIndex: Record<string, number>;
|
|
258
|
+
cssVars: Record<string, string>;
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/**
|
|
262
|
+
* Theme configuration
|
|
263
|
+
*/
|
|
264
|
+
export declare interface ThemeConfig {
|
|
265
|
+
/**
|
|
266
|
+
* Theme mode
|
|
267
|
+
* @default 'auto'
|
|
268
|
+
*/
|
|
269
|
+
mode?: ThemeMode;
|
|
270
|
+
/**
|
|
271
|
+
* Primary color (preset name or hex color)
|
|
272
|
+
* @default 'react' (#61dafb)
|
|
273
|
+
*/
|
|
274
|
+
primaryColor?: string;
|
|
275
|
+
/**
|
|
276
|
+
* Custom color palettes
|
|
277
|
+
*/
|
|
278
|
+
colors?: {
|
|
279
|
+
primary?: Partial<ColorPalette>;
|
|
280
|
+
success?: Partial<ColorPalette>;
|
|
281
|
+
warning?: Partial<ColorPalette>;
|
|
282
|
+
error?: Partial<ColorPalette>;
|
|
283
|
+
info?: Partial<ColorPalette>;
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/**
|
|
288
|
+
* Theme mode
|
|
289
|
+
*/
|
|
290
|
+
export declare type ThemeMode = 'light' | 'dark' | 'auto';
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Design tokens for transitions
|
|
294
|
+
* 过渡动画设计令牌
|
|
295
|
+
*/
|
|
296
|
+
export declare const transitions: {
|
|
297
|
+
duration: {
|
|
298
|
+
fast: string;
|
|
299
|
+
base: string;
|
|
300
|
+
slow: string;
|
|
301
|
+
slower: string;
|
|
302
|
+
};
|
|
303
|
+
timing: {
|
|
304
|
+
linear: string;
|
|
305
|
+
ease: string;
|
|
306
|
+
easeIn: string;
|
|
307
|
+
easeOut: string;
|
|
308
|
+
easeInOut: string;
|
|
309
|
+
smoothSpring: string;
|
|
310
|
+
softExit: string;
|
|
311
|
+
};
|
|
312
|
+
};
|
|
313
|
+
|
|
314
|
+
/**
|
|
315
|
+
* Design tokens for typography
|
|
316
|
+
* 字体设计令牌
|
|
317
|
+
*/
|
|
318
|
+
export declare const typography: {
|
|
319
|
+
fontFamily: {
|
|
320
|
+
sans: string;
|
|
321
|
+
mono: string;
|
|
322
|
+
};
|
|
323
|
+
fontSize: {
|
|
324
|
+
xs: string;
|
|
325
|
+
sm: string;
|
|
326
|
+
base: string;
|
|
327
|
+
lg: string;
|
|
328
|
+
xl: string;
|
|
329
|
+
'2xl': string;
|
|
330
|
+
'3xl': string;
|
|
331
|
+
'4xl': string;
|
|
332
|
+
};
|
|
333
|
+
fontWeight: {
|
|
334
|
+
thin: string;
|
|
335
|
+
light: string;
|
|
336
|
+
normal: string;
|
|
337
|
+
medium: string;
|
|
338
|
+
semibold: string;
|
|
339
|
+
bold: string;
|
|
340
|
+
extrabold: string;
|
|
341
|
+
};
|
|
342
|
+
lineHeight: {
|
|
343
|
+
tight: string;
|
|
344
|
+
snug: string;
|
|
345
|
+
normal: string;
|
|
346
|
+
relaxed: string;
|
|
347
|
+
loose: string;
|
|
348
|
+
};
|
|
349
|
+
};
|
|
350
|
+
|
|
351
|
+
/**
|
|
352
|
+
* Watch system dark mode changes
|
|
353
|
+
* 监听系统暗黑模式变化
|
|
354
|
+
*/
|
|
355
|
+
export declare function watchSystemDarkMode(callback: (isDark: boolean) => void): () => void;
|
|
356
|
+
|
|
357
|
+
/**
|
|
358
|
+
* Design tokens for z-index
|
|
359
|
+
* 层级设计令牌
|
|
360
|
+
*/
|
|
361
|
+
export declare const zIndex: {
|
|
362
|
+
base: number;
|
|
363
|
+
dropdown: number;
|
|
364
|
+
sticky: number;
|
|
365
|
+
fixed: number;
|
|
366
|
+
modalBackdrop: number;
|
|
367
|
+
modal: number;
|
|
368
|
+
popover: number;
|
|
369
|
+
tooltip: number;
|
|
370
|
+
};
|
|
371
|
+
|
|
372
|
+
export { }
|