@gradient-ui/core 0.4.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (83) hide show
  1. package/README.md +4 -4
  2. package/dist/{GLoading.vue_vue_type_style_index_0_lang-CBB_GocW.js → GLoading.vue_vue_type_style_index_0_lang-COggAM7a.js} +90 -88
  3. package/dist/GLoading.vue_vue_type_style_index_0_lang-CoPHejAL.cjs +1 -0
  4. package/dist/{GSwitch.vue_vue_type_script_setup_true_lang-UTBNFP5X.js → GSwitch.vue_vue_type_script_setup_true_lang-CRlkCyW_.js} +2371 -2355
  5. package/dist/GSwitch.vue_vue_type_script_setup_true_lang-DZXv1j__.cjs +1 -0
  6. package/dist/{camelToKebabCase-6qY6WHvl.js → camelToKebabCase-BWbQb81D.js} +4 -4
  7. package/dist/components.cjs +1 -1
  8. package/dist/components.mjs +4 -4
  9. package/dist/default--73FwpwZ.cjs +4 -0
  10. package/dist/default-DlsS6GI_.js +58 -0
  11. package/dist/directives.cjs +1 -1
  12. package/dist/directives.mjs +1 -1
  13. package/dist/index.cjs +1 -1
  14. package/dist/index.mjs +112 -108
  15. package/dist/{mask-CZX-I_iy.js → mask-BqOamrcF.js} +2 -2
  16. package/dist/{mask-BbofdFd4.cjs → mask-ObMqNEfF.cjs} +1 -1
  17. package/dist/materialSurface-CbOpfFGO.js +634 -0
  18. package/dist/materialSurface-CjhWd_yD.cjs +1 -0
  19. package/dist/scheme-CZ0a0X5e.cjs +299 -0
  20. package/dist/scheme-Dqwdqg6N.js +1405 -0
  21. package/dist/services.cjs +1 -1
  22. package/dist/services.mjs +1 -1
  23. package/dist/style.css +1 -1
  24. package/dist/{surface-BKu4KfkY.js → surface-DImNM7I1.js} +49 -46
  25. package/dist/surface-_J0t7c3m.cjs +1 -0
  26. package/dist/theme.cjs +1 -1
  27. package/dist/theme.mjs +52 -48
  28. package/dist/types/components/ui/GAlert/GAlert.vue.d.ts +2 -2
  29. package/dist/types/components/ui/GBadge/GBadge.vue.d.ts +4 -4
  30. package/dist/types/components/ui/GButton/GButton.vue.d.ts +2 -2
  31. package/dist/types/components/ui/GChip/GChip.vue.d.ts +1 -1
  32. package/dist/types/components/ui/GExpansion/GExpansion.vue.d.ts +5 -5
  33. package/dist/types/components/ui/GFAB/GFAB.vue.d.ts +3 -3
  34. package/dist/types/components/ui/GGradientMaterial/GGradientMaterial.vue.d.ts +2 -2
  35. package/dist/types/components/ui/GSnackbar/GSnackbar.vue.d.ts +2 -2
  36. package/dist/types/components/ui/GTable/GTable.vue.d.ts +7 -7
  37. package/dist/types/components/ui/GToggleButton/GToggleButton.vue.d.ts +3 -3
  38. package/dist/types/theme/default.d.ts +2 -1
  39. package/dist/types/theme/gradient.d.ts +1 -1
  40. package/dist/types/theme/index.d.ts +6 -6
  41. package/dist/types/use/actionSurface.d.ts +5 -1650
  42. package/dist/types/use/gradient.d.ts +4 -1653
  43. package/dist/types/use/gradientMaterial.d.ts +1 -1
  44. package/dist/types/use/material.d.ts +3 -2
  45. package/dist/types/use/materialSurface.d.ts +10 -4
  46. package/dist/types/use/surfaceColor.d.ts +2 -1
  47. package/dist/types/use/surfaceMaterial.d.ts +45 -0
  48. package/dist/use.cjs +1 -1
  49. package/dist/use.mjs +2 -2
  50. package/dist/useSnackbar-D60dFSV1.cjs +1 -0
  51. package/dist/useSnackbar-us11nXny.js +922 -0
  52. package/package.json +4 -2
  53. package/dist/GLoading.vue_vue_type_style_index_0_lang-Bv3dWEq8.cjs +0 -1
  54. package/dist/GSwitch.vue_vue_type_script_setup_true_lang-BS6bb1XY.cjs +0 -1
  55. package/dist/default-BhuY-A3o.cjs +0 -4
  56. package/dist/default-OTmCd0Aq.js +0 -131
  57. package/dist/material-Ca7ZZAiO.cjs +0 -194
  58. package/dist/material-okvXHenb.js +0 -1162
  59. package/dist/materialSurface-BBrP9ltj.js +0 -591
  60. package/dist/materialSurface-CK8LN_dU.cjs +0 -1
  61. package/dist/surface-8z3gR7vF.cjs +0 -1
  62. package/dist/types/theme/gradient/animation/css.d.ts +0 -12
  63. package/dist/types/theme/gradient/animation/index.d.ts +0 -1
  64. package/dist/types/theme/gradient/colorMath.d.ts +0 -3
  65. package/dist/types/theme/gradient/constants.d.ts +0 -3
  66. package/dist/types/theme/gradient/core.d.ts +0 -1
  67. package/dist/types/theme/gradient/effects/index.d.ts +0 -1
  68. package/dist/types/theme/gradient/effects/morph.d.ts +0 -5
  69. package/dist/types/theme/gradient/effects/shadow.d.ts +0 -3
  70. package/dist/types/theme/gradient/formatters/canvas.d.ts +0 -2
  71. package/dist/types/theme/gradient/formatters/css.d.ts +0 -3
  72. package/dist/types/theme/gradient/formatters/index.d.ts +0 -1
  73. package/dist/types/theme/gradient/formatters/svg.d.ts +0 -5
  74. package/dist/types/theme/gradient/index.d.ts +0 -1
  75. package/dist/types/theme/gradient/material.d.ts +0 -1
  76. package/dist/types/theme/gradient/model.d.ts +0 -5
  77. package/dist/types/theme/gradient/presets.d.ts +0 -158
  78. package/dist/types/theme/gradient/recipes.d.ts +0 -14
  79. package/dist/types/theme/gradient/tokens.d.ts +0 -72
  80. package/dist/types/theme/gradient/types.d.ts +0 -117
  81. package/dist/types/theme/gradient/utils.d.ts +0 -10
  82. package/dist/useSnackbar-BHQshEZ8.cjs +0 -1
  83. package/dist/useSnackbar-DeNHZH8v.js +0 -908
@@ -0,0 +1,299 @@
1
+ "use strict";const h=require("./camelToKebabCase-BQDotaQm.cjs"),C=require("@gradient-ui/gradient-engine"),X=(t,e=0,r=1)=>Math.min(r,Math.max(e,t)),Et=t=>{const e=t.slice(1),r=e.length===3||e.length===4?e.slice(0,3).split("").map(a=>a.repeat(2)).join(""):e.slice(0,6);return r.length!==6||!/^[\da-f]{6}$/i.test(r)?null:{r:parseInt(r.slice(0,2),16),g:parseInt(r.slice(2,4),16),b:parseInt(r.slice(4,6),16)}},Bt=t=>{const e=t.match(/^rgba?\(\s*([\d.]+)[,\s]+([\d.]+)[,\s]+([\d.]+)(?:\s*[,/]\s*[\d.]+%?)?\s*\)$/i);return e?{r:X(Number(e[1]),0,255),g:X(Number(e[2]),0,255),b:X(Number(e[3]),0,255)}:null},W=t=>{if(typeof t=="number"){const r=t&16777215;return{r:r>>16&255,g:r>>8&255,b:r&255}}const e=t.trim();return e.startsWith("#")?Et(e):e.toLowerCase().startsWith("rgb")?Bt(e):null},Dt=({r:t,g:e,b:r})=>`#${[t,e,r].map(a=>Math.round(a).toString(16).padStart(2,"0")).join("")}`,zt=({r:t,g:e,b:r})=>`${Math.round(t)}, ${Math.round(e)}, ${Math.round(r)}`,It=(t,e)=>{const r=W(t)??W(e);if(!r)throw new Error(`Invalid fallback color: ${e}`);return Dt(r)},L=135,q="center",lt="farthest-corner",gt=(t=L)=>typeof t=="number"?`${t}deg`:t,k=t=>typeof t=="number"?`${t}px`:t,E=t=>typeof t=="number"?`${t}ms`:t,v=(t,e=0,r=1)=>Math.min(r,Math.max(e,t)),O=(t,e)=>{if(e===void 0)return t;const r=W(t);return r?`rgb(${zt(r).replace(/,/g,"")} / ${v(e)})`:t},Y=({color:t,opacity:e,position:r})=>`${O(t,e)} ${r}%`,l=(t,e,r)=>({color:t,position:e}),ht=t=>{if(t.length<=1)return t;const e=t.map(a=>({...a,position:a.position/2})),r=[...t].reverse().map(a=>({...a,position:100-a.position/2}));return[...e,...r]},Lt=t=>`@keyframes ${t} {
2
+ 0% {
3
+ background-position: 0% 50%;
4
+ }
5
+
6
+ 50% {
7
+ background-position: 100% 50%;
8
+ }
9
+
10
+ 100% {
11
+ background-position: 0% 50%;
12
+ }
13
+ }`,Rt=t=>`@keyframes ${t} {
14
+ 0%, 100% {
15
+ filter: saturate(1) brightness(1);
16
+ }
17
+
18
+ 50% {
19
+ filter: saturate(1.22) brightness(1.08);
20
+ }
21
+ }`,Ft=t=>`@keyframes ${t} {
22
+ 0%, 100% {
23
+ filter: hue-rotate(0deg) saturate(1);
24
+ }
25
+
26
+ 50% {
27
+ filter: hue-rotate(28deg) saturate(1.18);
28
+ }
29
+ }`,Ht=t=>`@keyframes ${t} {
30
+ from {
31
+ transform: translate(-50%, -50%) rotate(0deg);
32
+ }
33
+
34
+ to {
35
+ transform: translate(-50%, -50%) rotate(360deg);
36
+ }
37
+ }`,R=(t={})=>{const e=t.name??"g-gradient-shift",r=E(t.duration??6e3),a=t.easing??"ease-in-out",o=t.selector??".g-gradient-animated",n=t.preset??"shift";return{duration:r,easing:a,name:e,preset:n,selector:o}},J=(t={})=>{const{name:e,preset:r}=R(t);return r==="pulse"?Rt(e):r==="hue-rotate"?Ft(e):r==="rotate"?Ht(e):Lt(e)},mt=(t={})=>{const{duration:e,easing:r,name:a,preset:o}=R(t);return`${a} ${e} ${o==="rotate"?"linear":r} infinite`},pt=(t={})=>{const{duration:e,easing:r,name:a,preset:o,selector:n}=R(t);return o==="rotate"?`${n} {
38
+ position: relative;
39
+ overflow: hidden;
40
+ }
41
+
42
+ ${n}::before {
43
+ content: '';
44
+ position: absolute;
45
+ top: 50%;
46
+ left: 50%;
47
+ width: 200%;
48
+ height: 200%;
49
+ min-width: 150vmax;
50
+ min-height: 150vmax;
51
+ background: inherit;
52
+ animation: ${a} ${e} linear infinite;
53
+ transform-origin: center;
54
+ }`:o==="pulse"||o==="hue-rotate"?`${n} {
55
+ animation: ${a} ${e} ${r} infinite;
56
+ }`:`${n} {
57
+ animation: ${a} ${e} ${r} infinite;
58
+ background-size: 220% 220%;
59
+ }`},ut=(t={})=>{const e=J(t),r=pt(t);return`${e}
60
+ ${r}`},Vt=Object.freeze(Object.defineProperty({__proto__:null,getGradientAnimationOptions:R,toGradientAnimationCSS:ut,toGradientAnimationKeyframes:J,toGradientAnimationStyles:pt,toGradientAnimationValue:mt},Symbol.toStringTag,{value:"Module"})),yt=[50,100,200,300,400,500,600,700,800,900],ft={50:90,100:80,200:70,300:60,400:50,500:40,600:35,700:30,800:20,900:10};Object.fromEntries(yt.map(t=>[t,ft[t]>=60?10:100]));const Ut=t=>{const e=It(t,"#000000");return h.themeFromSourceColor(h.argbFromHex(e)).palettes.primary},Xt=(t,e)=>{const r=Ut(t);return Object.fromEntries(yt.map(a=>[a,h.hexFromArgb(r.tone(e[a]))]))},F=t=>Xt(t,ft),$t=(t,e=L)=>`linear-gradient(${gt(e)}, ${t.join(", ")})`,B=t=>{const e=t.stops.map(Y).join(", ");if(t.type==="radial"){const r=t.shape??"ellipse",a=t.size??lt,o=t.position??q;return`radial-gradient(${r} ${a} at ${o}, ${e})`}if(t.type==="conic"){const r=gt(t.direction),a=t.position??q,o=ht(t.stops).map(Y).join(", ");return`conic-gradient(from ${r} at ${a}, ${o})`}return $t(t.stops.map(Y),t.direction)},x=(t,e)=>{const r=h.Hct.fromInt(h.argbFromHex(t));return h.hexFromArgb(h.Hct.from(r.hue,r.chroma,e).toInt())},u=(t,e,r,a=1)=>{const o=h.Hct.fromInt(h.argbFromHex(t)),n=(o.hue+e+360)%360,i=Math.min(o.chroma*a,100);return h.hexFromArgb(h.Hct.from(n,i,r).toInt())},N=t=>{const e=h.Hct.fromInt(h.argbFromHex(t)),r=(e.hue+110)%360,a=Math.min(e.chroma*1.2,100),o=e.tone<50?65:Math.min(e.tone+10,75);return h.hexFromArgb(h.Hct.from(r,a,o).toInt())},Yt=t=>{const e=N(t);return[l(x(e,95),0),l(e,25),l(t,50),l(x(t,80),75),l(x(t,20),100)]},Kt=t=>[l(x(t,94),0),l(x(t,72),28),l(t,55),l(x(t,24),100)],Wt=t=>[l(x(N(t),88),0),l(t,50),l(x(N(t),32),100)],qt=t=>[l(u(t,148,82,.95),0),l(u(t,-148,70,1.05),28),l(t,56),l(u(t,150,34,1.08),100)],Jt=t=>[l(u(t,-34,72,.95),0),l(t,50),l(u(t,34,34,1.05),100)],Zt=t=>[l(u(t,-120,78,.9),0),l(t,50),l(u(t,120,36,1.05),100)],Qt=t=>[l(u(t,-90,78,.92),0),l(t,32),l(u(t,90,62,1),58),l(u(t,180,34,1.08),100)],te=t=>[l(u(t,-28,82,.96),0),l(t,27),l(u(t,152,66,1.02),62),l(u(t,180,34,1.08),100)],ee=t=>[l(u(t,-90,78,.94),0),l(t,30),l(u(t,90,62,1),62),l(u(t,180,36,1.08),100)],re=(t,e)=>{const r=(e==null?void 0:e[0])??x(t,84),a=(e==null?void 0:e[1])??N(t);return[l(r,0),l(t,48),l(a,100)]},bt={glare:Yt,monochrome:Kt,complementary:Wt,"split-complementary":qt,analogous:Jt,triadic:Zt,tetradic:Qt,rectangle:te,square:ee,duotone:re},xt=(t,e,r)=>bt[e](t,r),H=(t,e={})=>{const r=e.shade??500,a=e.recipe??"glare";return{type:e.type??"linear",stops:xt(t[r],a,e.colors),direction:e.direction??L,shape:e.shape??"ellipse",position:e.position??q,size:e.size??lt}},ae=(t,e={})=>H(F(t),e),St=["normal","multiply","screen","overlay","darken","lighten","color-dodge","color-burn","hard-light","soft-light","difference","exclusion","hue","saturation","color","luminosity"],vt="hard-light",S=t=>t,wt=t=>t,z=wt({materialBorder:S({label:"Material border",description:"Default Gradient UI border material.",gradient:{recipe:"glare",type:"linear",direction:135},shadow:{layers:2,opacity:.22,blur:12,y:4,spread:-3},dropShadow:{layers:2,opacity:.32,blur:12,y:5},animation:{preset:"shift",duration:6400,easing:"ease-in-out"}}),materialAction:S({label:"Material action",description:"Compact action material for buttons, chips and controls.",gradient:{recipe:"glare",type:"linear",direction:135},shadow:{layers:2,opacity:.2,blur:10,y:3,spread:-2},dropShadow:{layers:2,opacity:.28,blur:10,y:4},animation:{preset:"shift",duration:6800,easing:"ease-in-out"}}),materialSurface:S({label:"Material surface",description:"Soft surface material for calm gradient backgrounds.",gradient:{recipe:"monochrome",type:"linear",direction:145},shadow:{layers:2,opacity:.18,blur:14,y:5,spread:-3},dropShadow:{layers:2,opacity:.22,blur:14,y:5},animation:{preset:"pulse",duration:7600,easing:"ease-in-out"}}),brandGlare:S({label:"Brand glare",description:"Classic Gradient UI glare with a vivid complementary highlight.",gradient:{recipe:"glare",type:"linear",direction:135},shadow:{layers:2,opacity:.24,blur:16,y:6,spread:-3},dropShadow:{layers:3,opacity:.38,blur:16,y:6},animation:{preset:"shift",duration:6e3,easing:"ease-in-out"}}),softMono:S({label:"Soft mono",description:"Quiet monochrome ramp for subtle surfaces.",gradient:{recipe:"monochrome",type:"linear",direction:145},shadow:{layers:2,opacity:.18,blur:18,y:7,spread:-4},dropShadow:{layers:2,opacity:.26,blur:16,y:6},animation:{preset:"pulse",duration:7200,easing:"ease-in-out"}}),neonDuo:S({label:"Neon duo",description:"Punchy duotone setup with stronger glow defaults.",gradient:{recipe:"duotone",type:"linear",direction:120},shadow:{layers:2,opacity:.32,blur:18,y:7,spread:-3},dropShadow:{layers:3,opacity:.52,blur:18,y:7},animation:{preset:"shift",duration:5200,easing:"ease-in-out"}}),orbitalConic:S({label:"Orbital conic",description:"Smooth mirrored conic gradient for badges and marks.",gradient:{recipe:"triadic",type:"conic",direction:35,position:"center"},shadow:{layers:2,opacity:.24,blur:16,y:6,spread:-3},dropShadow:{layers:3,opacity:.36,blur:16,y:6},animation:{preset:"rotate",duration:9e3}}),auroraRadial:S({label:"Aurora radial",description:"Radial analogous gradient with slow hue motion.",gradient:{recipe:"analogous",type:"radial",direction:0,position:"top left",shape:"circle"},shadow:{layers:2,opacity:.22,blur:18,y:7,spread:-4},dropShadow:{layers:3,opacity:.32,blur:18,y:7},animation:{preset:"hue-rotate",duration:8e3,easing:"ease-in-out"}})}),Mt=(t,e=z)=>e[t]??z.brandGlare,Ct=(t,e={})=>B(H(t,e)),oe=(t,e={})=>Ct(F(t),e),ne=Object.freeze(Object.defineProperty({__proto__:null,DEFAULT_GRADIENT_MORPH_BLEND_MODE:vt,GRADIENT_MORPH_BLEND_MODES:St,createGradient:Ct,createGradientFromColor:oe,createGradientModel:H,createGradientModelFromColor:ae,createRecipeStops:xt,defineGradientPreset:S,defineGradientPresetRegistry:wt,getGradientPreset:Mt,gradientPresets:z,gradientRecipes:bt},Symbol.toStringTag,{value:"Module"})),kt="http://www.w3.org/2000/svg",ie="http://www.w3.org/1999/xhtml",se=t=>t.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),ce={soft:{blobCount:5,blur:40,contrast:18,duration:12e3,opacity:.76,scale:1.05},liquid:{blobCount:6,blur:46,contrast:22,duration:9200,opacity:.82,scale:1.18},ripple:{blobCount:7,blur:34,contrast:20,duration:7200,opacity:.78,scale:.94}},de=new Set(St),Tt=t=>de.has(t),Z=t=>t&&Tt(t)?t:vt,_=(t={})=>{const e=ce[t.preset??"soft"];return{blobCount:Math.max(2,Math.round(t.blobCount??e.blobCount)),blendMode:Z(t.blendMode),blobOpacity:v(t.blobOpacity??1,0,1.6),blur:v(t.blur??e.blur,0,80),contrast:v(t.contrast??e.contrast,0,36),duration:t.duration??e.duration,id:t.id??"g-gradient-morph",opacity:v(t.opacity??e.opacity),scale:v(t.scale??e.scale,.4,2)}},le=(t,e)=>{var r,a;return((r=t.stops[e%t.stops.length])==null?void 0:r.color)??((a=t.stops[0])==null?void 0:a.color)??"currentColor"},ge=t=>{if(typeof t=="number")return t;const e=Number.parseFloat(t);return Number.isFinite(e)?e:9e3},he=(t,e)=>{const r=Math.sin((t+1)*12.9898+e*78.233)*43758.5453;return r-Math.floor(r)},b=(t,e,r,a)=>r+he(t,e)*(a-r),M=t=>Number(t.toFixed(3)),ct=[{animationName:"g-gradient-morph-drift",dx:20,dx2:8,dy:-8,dy2:16,originX:"50%",originY:"50%",scaleMid:1.16,scaleTo:1.04,x:6,y:58},{animationName:"g-gradient-morph-orbit",dx:-18,dx2:10,dy:18,dy2:-10,originX:"24%",originY:"68%",scaleMid:.96,scaleTo:1.12,x:44,y:20},{animationName:"g-gradient-morph-float",dx:-16,dx2:-8,dy:-12,dy2:18,originX:"50%",originY:"50%",scaleMid:1.2,scaleTo:1.08,x:74,y:58},{animationName:"g-gradient-morph-orbit",dx:12,dx2:-20,dy:14,dy2:6,originX:"70%",originY:"30%",scaleMid:1.04,scaleTo:1.18,x:88,y:25},{animationName:"g-gradient-morph-drift",dx:24,dx2:-12,dy:-16,dy2:-8,originX:"50%",originY:"50%",scaleMid:1.12,scaleTo:.98,x:30,y:78},{animationName:"g-gradient-morph-float",dx:-22,dx2:14,dy:10,dy2:-18,originX:"50%",originY:"50%",scaleMid:.94,scaleTo:1.1,x:104,y:82},{animationName:"g-gradient-morph-orbit",dx:14,dx2:-16,dy:-22,dy2:10,originX:"35%",originY:"35%",scaleMid:1.18,scaleTo:1.02,x:55,y:64},{animationName:"g-gradient-morph-drift",dx:-18,dx2:18,dy:-14,dy2:14,originX:"50%",originY:"50%",scaleMid:1.08,scaleTo:.96,x:18,y:24}],V=(t,e={})=>{const{blobCount:r,blobOpacity:a,duration:o,scale:n}=_(e),i=ge(o);return Array.from({length:r},(g,s)=>{const d=ct[s%ct.length],p=b(s,1,.88,1.16),c=b(s,2,.86,1.24),m=v(b(s,3,.72,1)*a),y=b(s,4,0,4),f=(34+s%4*9)*n*p;return{animationName:d.animationName,blur:M(y),color:le(t,s),delay:Math.round(s*-.19*i-b(s,5,0,900)),dx:M(d.dx*b(s,6,.84,1.18)),dx2:M(d.dx2*b(s,7,.82,1.22)),dy:M(d.dy*b(s,8,.84,1.18)),dy2:M(d.dy2*b(s,9,.82,1.22)),duration:Math.round(i*(1+s%3*.11)*c),opacity:M(m),originX:d.originX,originY:d.originY,rotateMid:Math.round(b(s,10,95,165)),rotateTo:Math.round(b(s,11,220,310)),scaleMid:d.scaleMid,scaleTo:d.scaleTo,size:M(f),x:d.x,y:d.y}})},U=(t={})=>`url(#${_(t).id}) blur(${_(t).blur}px)`,Q=(t={})=>{const{blur:e,contrast:r,id:a}=_(t),o=Math.max(2,Math.round(e*.25)),n=-(r*.45),i=r<=0?"":`
61
+ <feColorMatrix in="g-gradient-morph-blur" mode="matrix" values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 ${r} ${n}" result="g-gradient-morph-goo" />
62
+ <feBlend in="SourceGraphic" in2="g-gradient-morph-goo" />`;return`<svg xmlns="${kt}" width="0" height="0" aria-hidden="true" focusable="false" style="position:absolute;overflow:hidden;inline-size:0;block-size:0;">
63
+ <filter id="${a}" x="-30%" y="-30%" width="160%" height="160%" color-interpolation-filters="sRGB">
64
+ <feGaussianBlur in="SourceGraphic" stdDeviation="${o}" result="g-gradient-morph-blur" />${i}
65
+ </filter>
66
+ </svg>`},me=(t,e={})=>{const r=e.selector??".g-gradient-morph",{blendMode:a,opacity:o}=_(e),n=V(t,e);return`${r} {
67
+ position: relative;
68
+ overflow: hidden;
69
+ }
70
+
71
+ ${r}__blobs {
72
+ position: absolute;
73
+ inset: -18%;
74
+ opacity: ${o};
75
+ filter: ${U(e)};
76
+ mix-blend-mode: ${a};
77
+ }
78
+
79
+ ${r}__blob {
80
+ position: absolute;
81
+ transform: translate(-50%, -50%);
82
+ transform-origin: var(--g-gradient-morph-origin-x) var(--g-gradient-morph-origin-y);
83
+ opacity: var(--g-gradient-morph-opacity);
84
+ filter: blur(var(--g-gradient-morph-blur));
85
+ border-radius: 999px;
86
+ background: radial-gradient(circle, var(--g-gradient-morph-blob-color) 0%, transparent 72%);
87
+ animation: var(--g-gradient-morph-animation) var(--g-gradient-morph-duration, 9000ms) ease-in-out infinite alternate;
88
+ }
89
+
90
+ ${n.map((i,g)=>`${r}__blob:nth-child(${g+1}) {
91
+ top: ${i.y}%;
92
+ left: ${i.x}%;
93
+ width: ${i.size}%;
94
+ aspect-ratio: 1;
95
+ --g-gradient-morph-blob-color: ${i.color};
96
+ --g-gradient-morph-x: ${i.dx}%;
97
+ --g-gradient-morph-x2: ${i.dx2}%;
98
+ --g-gradient-morph-y: ${i.dy}%;
99
+ --g-gradient-morph-y2: ${i.dy2}%;
100
+ --g-gradient-morph-origin-x: ${i.originX};
101
+ --g-gradient-morph-origin-y: ${i.originY};
102
+ --g-gradient-morph-animation: ${i.animationName};
103
+ --g-gradient-morph-blur: ${i.blur}px;
104
+ --g-gradient-morph-opacity: ${i.opacity};
105
+ --g-gradient-morph-rotate-mid: ${i.rotateMid}deg;
106
+ --g-gradient-morph-rotate-to: ${i.rotateTo}deg;
107
+ --g-gradient-morph-scale-mid: ${i.scaleMid};
108
+ --g-gradient-morph-scale: ${i.scaleTo};
109
+ --g-gradient-morph-delay: ${i.delay}ms;
110
+ animation-delay: var(--g-gradient-morph-delay);
111
+ animation-duration: ${E(i.duration)};
112
+ }`).join(`
113
+
114
+ `)}
115
+
116
+ @keyframes g-gradient-morph-drift {
117
+ 0% {
118
+ transform: translate(-50%, -50%) scale(0.92);
119
+ }
120
+
121
+ 42% {
122
+ transform: translate(calc(-50% + var(--g-gradient-morph-x)), calc(-50% + var(--g-gradient-morph-y))) scale(var(--g-gradient-morph-scale));
123
+ }
124
+
125
+ 100% {
126
+ transform: translate(calc(-50% + var(--g-gradient-morph-x2)), calc(-50% + var(--g-gradient-morph-y2))) scale(var(--g-gradient-morph-scale-mid));
127
+ }
128
+ }
129
+
130
+ @keyframes g-gradient-morph-float {
131
+ 0% {
132
+ transform: translate(-50%, -50%) scale(1);
133
+ }
134
+
135
+ 50% {
136
+ transform: translate(calc(-50% + var(--g-gradient-morph-x)), calc(-50% + var(--g-gradient-morph-y))) scale(var(--g-gradient-morph-scale-mid));
137
+ }
138
+
139
+ 100% {
140
+ transform: translate(calc(-50% + var(--g-gradient-morph-x2)), calc(-50% + var(--g-gradient-morph-y2))) scale(var(--g-gradient-morph-scale));
141
+ }
142
+ }
143
+
144
+ @keyframes g-gradient-morph-orbit {
145
+ 0% {
146
+ transform: translate(-50%, -50%) rotate(0deg) scale(0.96);
147
+ }
148
+
149
+ 50% {
150
+ transform: translate(calc(-50% + var(--g-gradient-morph-x)), calc(-50% + var(--g-gradient-morph-y))) rotate(var(--g-gradient-morph-rotate-mid)) scale(var(--g-gradient-morph-scale-mid));
151
+ }
152
+
153
+ 100% {
154
+ transform: translate(calc(-50% + var(--g-gradient-morph-x2)), calc(-50% + var(--g-gradient-morph-y2))) rotate(var(--g-gradient-morph-rotate-to)) scale(var(--g-gradient-morph-scale));
155
+ }
156
+ }`},pe=(t,e={})=>{const r=e.id??"g-gradient-morph",a=e.width??360,o=e.height??240,n=e.rx??24,i=`${r}-filter`,g=U({...e,id:i}),s=V(t,e),{blendMode:d,opacity:p}=_(e);return`<svg xmlns="${kt}" viewBox="0 0 ${a} ${o}" width="${a}" height="${o}" role="img">
157
+ <defs>
158
+ <clipPath id="${r}-clip">
159
+ <rect width="${a}" height="${o}" rx="${n}" />
160
+ </clipPath>
161
+ </defs>
162
+ <foreignObject width="${a}" height="${o}" clip-path="url(#${r}-clip)">
163
+ <div xmlns="${ie}" class="g-gradient-material">
164
+ ${Q({...e,id:`${r}-filter`})}
165
+ <style>
166
+ .g-gradient-material {
167
+ position: relative;
168
+ overflow: hidden;
169
+ display: flex;
170
+ width: ${a}px;
171
+ height: ${o}px;
172
+ border-radius: ${n}px;
173
+ }
174
+
175
+ .g-gradient-material__surface {
176
+ position: relative;
177
+ overflow: hidden;
178
+ display: flex;
179
+ width: 100%;
180
+ height: 100%;
181
+ border-radius: ${n}px;
182
+ background: ${se(B(t))};
183
+ }
184
+
185
+ .g-gradient-material__morph {
186
+ --g-gradient-material-morph-bleed: 18%;
187
+ position: absolute;
188
+ z-index: 1;
189
+ inset: calc(-1 * var(--g-gradient-material-morph-bleed));
190
+ width: calc(100% + 2 * var(--g-gradient-material-morph-bleed));
191
+ height: calc(100% + 2 * var(--g-gradient-material-morph-bleed));
192
+ opacity: ${p};
193
+ filter: ${g};
194
+ mix-blend-mode: ${d};
195
+ }
196
+
197
+ .g-gradient-material__morph-blob {
198
+ position: absolute;
199
+ transform-origin: var(--g-gradient-morph-origin-x) var(--g-gradient-morph-origin-y);
200
+ transform: translate(-50%, -50%);
201
+ aspect-ratio: 1;
202
+ border-radius: 999px;
203
+ opacity: var(--g-gradient-morph-opacity);
204
+ background: radial-gradient(circle, var(--g-gradient-morph-blob-color) 0%, transparent 72%);
205
+ filter: blur(var(--g-gradient-morph-blur));
206
+ animation: var(--g-gradient-morph-animation) var(--g-gradient-morph-duration, 9000ms) ease-in-out infinite alternate;
207
+ }
208
+
209
+ ${s.map((c,m)=>`.g-gradient-material__morph-blob:nth-child(${m+1}) {
210
+ left: ${c.x}%;
211
+ top: ${c.y}%;
212
+ width: ${c.size}%;
213
+ --g-gradient-morph-blob-color: ${c.color};
214
+ --g-gradient-morph-x: ${c.dx}%;
215
+ --g-gradient-morph-x2: ${c.dx2}%;
216
+ --g-gradient-morph-y: ${c.dy}%;
217
+ --g-gradient-morph-y2: ${c.dy2}%;
218
+ --g-gradient-morph-origin-x: ${c.originX};
219
+ --g-gradient-morph-origin-y: ${c.originY};
220
+ --g-gradient-morph-animation: ${c.animationName};
221
+ --g-gradient-morph-blur: ${c.blur}px;
222
+ --g-gradient-morph-opacity: ${c.opacity};
223
+ --g-gradient-morph-rotate-mid: ${c.rotateMid}deg;
224
+ --g-gradient-morph-rotate-to: ${c.rotateTo}deg;
225
+ --g-gradient-morph-scale-mid: ${c.scaleMid};
226
+ --g-gradient-morph-scale: ${c.scaleTo};
227
+ --g-gradient-morph-delay: ${c.delay}ms;
228
+ animation-delay: var(--g-gradient-morph-delay);
229
+ animation-duration: ${E(c.duration)};
230
+ }`).join(`
231
+
232
+ `)}
233
+
234
+ @keyframes g-gradient-morph-drift {
235
+ 0% { transform: translate(-50%, -50%) scale(0.92); }
236
+ 42% { transform: translate(calc(-50% + var(--g-gradient-morph-x)), calc(-50% + var(--g-gradient-morph-y))) scale(var(--g-gradient-morph-scale)); }
237
+ 100% { transform: translate(calc(-50% + var(--g-gradient-morph-x2)), calc(-50% + var(--g-gradient-morph-y2))) scale(var(--g-gradient-morph-scale-mid)); }
238
+ }
239
+
240
+ @keyframes g-gradient-morph-float {
241
+ 0% { transform: translate(-50%, -50%) scale(1); }
242
+ 50% { transform: translate(calc(-50% + var(--g-gradient-morph-x)), calc(-50% + var(--g-gradient-morph-y))) scale(var(--g-gradient-morph-scale-mid)); }
243
+ 100% { transform: translate(calc(-50% + var(--g-gradient-morph-x2)), calc(-50% + var(--g-gradient-morph-y2))) scale(var(--g-gradient-morph-scale)); }
244
+ }
245
+
246
+ @keyframes g-gradient-morph-orbit {
247
+ 0% { transform: translate(-50%, -50%) rotate(0deg) scale(0.96); }
248
+ 50% { transform: translate(calc(-50% + var(--g-gradient-morph-x)), calc(-50% + var(--g-gradient-morph-y))) rotate(var(--g-gradient-morph-rotate-mid)) scale(var(--g-gradient-morph-scale-mid)); }
249
+ 100% { transform: translate(calc(-50% + var(--g-gradient-morph-x2)), calc(-50% + var(--g-gradient-morph-y2))) rotate(var(--g-gradient-morph-rotate-to)) scale(var(--g-gradient-morph-scale)); }
250
+ }
251
+ </style>
252
+ <span class="g-gradient-material__surface">
253
+ <span class="g-gradient-material__morph">
254
+ ${s.map(()=>'<span class="g-gradient-material__morph-blob"></span>').join(`
255
+ `)}
256
+ </span>
257
+ </span>
258
+ </div>
259
+ </foreignObject>
260
+ </svg>`},_t=(t,e)=>{const r=t.stops.filter(n=>n.position>=25&&n.position<=85),a=t.stops.filter(n=>!r.includes(n));return[...r,...a].sort((n,i)=>Math.abs(n.position-50)-Math.abs(i.position-50)).slice(0,e)},ue=(t,e)=>t*([1,.54,.3,.18][e]??.12),T=(t,e)=>{const r=String(t).match(/^(-?\d*\.?\d+)(.*)$/);return r?`${Math.round(Number(r[1])*e*1e3)/1e3}${r[2]||"px"}`:null},dt=(t,e,r)=>T(t,1/e)??(r===0?k(t):"0px"),ye=(t,e)=>T(t,1/Math.sqrt(e))??k(t),Gt=(t,e={})=>{var w;const r=e.x??0,a=e.y??6,o=e.blur??14,n=e.spread??-3,i=e.opacity??.24,g=Math.max(1,Math.round(e.layers??2)),s=((w=_t(t,1)[0])==null?void 0:w.color)??"#000000",d=`${k(r)} ${k(a)} ${k(o)} ${k(n)} ${O(s,i)}`;if(g===1)return d;const p=T(r,.35)??"0px",c=T(a,.35)??"2px",m=T(o,.3)??"4px",y=T(n,.5)??"-2px",f=Math.min(.18,i*.65);return`${`${p} ${c} ${m} ${y} ${O("#000000",f)}`}, ${d}`},Ot=(t,e={})=>{const r=e.x??0,a=e.y??6,o=e.blur??14,n=e.opacity??.42,i=Math.max(1,Math.round(e.layers??2)),g=ye(o,i);return _t(t,i).map((s,d)=>{const p=dt(r,i,d),c=dt(a,i,d);return`drop-shadow(${p} ${c} ${g} ${O(s.color,ue(n,d))})`}).join(" ")},fe=Object.freeze(Object.defineProperty({__proto__:null,createGradientMorphBlobs:V,isGradientMorphBlendMode:Tt,resolveGradientMorphBlendMode:Z,toGradientBoxShadow:Gt,toGradientDropShadow:Ot,toGradientMorphCSS:me,toGradientMorphFilter:U,toGradientMorphFilterMarkup:Q,toGradientMorphMarkup:pe},Symbol.toStringTag,{value:"Module"})),$e=(t,e,r={})=>{const a=r.width??t.canvas.width,o=r.height??t.canvas.height,n=a/2,i=o/2,g=Math.hypot(a,o)/2,d=((typeof e.direction=="number"?e.direction:Number.parseFloat(e.direction)||L)-90)*Math.PI/180,p=a/2,c=o/2,m=Math.cos(d)*p,y=Math.sin(d)*c,f=e.type==="radial"?t.createRadialGradient(r.x0??n,r.y0??i,r.r0??0,r.x1??n,r.y1??i,r.r1??g):e.type==="conic"&&typeof t.createConicGradient=="function"?t.createConicGradient(r.startAngle??d,r.x0??n,r.y0??i):t.createLinearGradient(r.x0??n-m,r.y0??i-y,r.x1??n+m,r.y1??i+y),D=e.type==="conic"?ht(e.stops):e.stops;for(const w of D)f.addColorStop(w.position/100,O(w.color,w.opacity));return f},tt="http://www.w3.org/2000/svg",be="http://www.w3.org/1999/xhtml",P=t=>t.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;"),et=t=>{const e=t.opacity===void 0?"":` stop-opacity="${v(t.opacity)}"`;return`<stop offset="${t.position}%" stop-color="${t.color}"${e} />`},xe=(t,e)=>{var r,a,o;return{active:e.activeStroke??((r=t.stops[Math.max(0,Math.floor(t.stops.length/2))])==null?void 0:r.color)??((a=t.stops[0])==null?void 0:a.color)??"currentColor",background:e.backgroundStroke??((o=t.stops[0])==null?void 0:o.color)??e.activeStroke??"currentColor"}},Se=(t,e)=>{var n;const r=(n=t.match(/\bviewBox=(["'])(.*?)\1/i))==null?void 0:n[2];if(r)return r;const a=e.width??240,o=e.height??120;return`0 0 ${a} ${o}`},ve=t=>{var e;return((e=t.replace(/<\?xml[\s\S]*?\?>/gi,"").replace(/<!doctype[\s\S]*?>/gi,"").match(/<svg\b[^>]*>([\s\S]*?)<\/svg>/i))==null?void 0:e[1].trim())??t},we=t=>{const e=t.trim().split(/(?=M\s*[-+.\d])/).map(r=>r.trim()).filter(Boolean);return e.length>1?e:[t]},Me=t=>[...t.matchAll(/<path\b[^>]*\sd=(["'])([\s\S]*?)\1/gi)].flatMap(e=>we(e[2])),Nt=t=>{var e;return Math.max(1,((e=t.match(/[LlHhVvCcSsQqTtAaZz]/g))==null?void 0:e.length)??0)},Ce=(t,e)=>{const a=.5+(1-Nt(t)/e)*.22;return Math.round(a*1e3)/1e3},rt=t=>{const[e="0",r="0",a="240",o="120"]=t.trim().split(/[\s,]+/);return{height:Number(o)||120,width:Number(a)||240,x:Number(e)||0,y:Number(r)||0}},ke=(t,e,r)=>{if(r.viewBoxPadding===!1)return t;const a=rt(t),o=Math.max(e*2,Math.min(a.width,a.height)*.02),n=r.viewBoxPadding??o;return[a.x-n,a.y-n,a.width+n*2,a.height+n*2].join(" ")},Te=t=>{const{height:e,width:r}=rt(t);return{height:Number(e)||120,width:Number(r)||240}},_e=(t,e,r)=>{if(r.normalizeStrokeWidth===!1)return t;const{height:a,width:o}=Te(e),n=r.strokeWidthBase??180;return t*(Math.min(o,a)/n)},at=(t,e={})=>{const r=e.id??"g-gradient",a=t.stops.map(et).join("");return t.type==="radial"?`<radialGradient id="${r}" cx="${e.cx??"50%"}" cy="${e.cy??"50%"}" r="${e.r??"75%"}">${a}</radialGradient>`:t.type==="conic"?`<pattern id="${r}" patternUnits="objectBoundingBox" width="1" height="1"><foreignObject x="0" y="0" width="100%" height="100%"><div xmlns="${be}" style="width:100%;height:100%;background:${P(B(t))};"></div></foreignObject></pattern>`:`<linearGradient id="${r}" x1="${e.x1??"0%"}" y1="${e.y1??"0%"}" x2="${e.x2??"100%"}" y2="${e.y2??"100%"}">${a}</linearGradient>`},Ge=(t,e={})=>{const r=e.id??"g-gradient",a=e.width??240,o=e.height??120,n=e.rx??18;return`<svg xmlns="${tt}" viewBox="0 0 ${a} ${o}" role="img">
261
+ <defs>
262
+ ${at(t,e)}
263
+ </defs>
264
+ <rect width="${a}" height="${o}" rx="${n}" fill="url(#${r})" />
265
+ </svg>`},Oe=(t,e,r={})=>{const o=`${r.id??"g-gradient-source"}-stroke`,n=Se(t,r),i=ve(t),g=Me(t),s=_e(r.strokeWidth??1.4,n,r),d=ke(n,s,r),{width:p,x:c}=rt(d),m=r.linecap??"round",y=E(r.duration??3600),f=r.repeatCount??"indefinite",D=r.sourceOpacity??.22,w=e.stops.map(et).join(""),jt=Math.max(...g.map(Nt));return`<svg xmlns="${tt}" viewBox="${P(d)}" role="img">
266
+ <defs>
267
+ <linearGradient id="${o}" gradientUnits="userSpaceOnUse" x1="${c}" y1="0" x2="${c+p}" y2="0">
268
+ ${w}
269
+ </linearGradient>
270
+ </defs>
271
+ <g opacity="${v(D)}">
272
+ ${i}
273
+ </g>
274
+ <g fill="none" stroke="url(#${o})" stroke-width="${s}" stroke-linecap="${m}" stroke-linejoin="round">
275
+ ${g.map(it=>{const st=Ce(it,jt);return`<path d="${P(it)}" pathLength="100" stroke-dasharray="0 100" stroke-dashoffset="0">
276
+ <animate attributeName="stroke-dasharray" values="0 100;100 100;0 100" keyTimes="0;${st};1" dur="${y}" repeatCount="${f}" calcMode="linear" />
277
+ <animate attributeName="stroke-dashoffset" values="0;0;-100" keyTimes="0;${st};1" dur="${y}" repeatCount="${f}" calcMode="linear" />
278
+ </path>`}).join(`
279
+ `)}
280
+ </g>
281
+ </svg>`},Ne=(t,e={})=>{const a=`${e.id??"g-gradient-path"}-stroke`,o=e.width??240,n=e.height??120,i=e.path??`M 20 ${n*.64} C ${o*.28} ${n*.18}, ${o*.58} ${n*.18}, ${o-20} ${n*.64}`,g=e.strokeWidth??12,s=e.linecap??"round",d=E(e.duration??2800),p=e.repeatCount??"indefinite",c=e.backgroundOpacity??.24,m=xe(t,e),y=t.stops.map(et).join("");return`<svg xmlns="${tt}" viewBox="0 0 ${o} ${n}" role="img">
282
+ <defs>
283
+ <linearGradient id="${a}" gradientUnits="userSpaceOnUse" x1="0" y1="0" x2="${o}" y2="0">
284
+ ${y}
285
+ </linearGradient>
286
+ </defs>
287
+ <path d="${P(i)}" fill="none" stroke="${m.background}" stroke-width="${g}" stroke-linecap="${s}" opacity="${c}" />
288
+ <path d="${P(i)}" fill="none" stroke="${e.activeStroke?m.active:`url(#${a})`}" stroke-width="${g}" stroke-linecap="${s}" pathLength="100" stroke-dasharray="100 100" stroke-dashoffset="100">
289
+ <animate attributeName="stroke-dashoffset" values="100;0;-100" dur="${d}" repeatCount="${p}" />
290
+ </path>
291
+ </svg>`},Pe=Object.freeze(Object.defineProperty({__proto__:null,createLinearGradient:$t,toCanvasGradient:$e,toCssGradient:B,toSvgGradient:at,toSvgGradientMarkup:Ge,toSvgPathAnimationMarkup:Ne,toSvgSourceAnimationMarkup:Oe},Symbol.toStringTag,{value:"Module"})),Ae=["glare","soft","mesh"],je=128;let A=je;const $=new Map,Ee=t=>t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),Be=t=>Ee(t),De=(t,e,r)=>`${t}-${e}`,ot=t=>Object.entries(t).map(([e,r])=>`${e}: ${r};`).join(`
292
+ `),ze=t=>t.replace(/[A-Z]/g,e=>`-${e.toLowerCase()}`),Ie=t=>Object.entries(t).map(([e,r])=>`${ze(e)}: ${r};`).join(`
293
+ `),I=t=>t===null||typeof t!="object"?JSON.stringify(t):Array.isArray(t)?`[${t.map(I).join(",")}]`:`{${Object.entries(t).filter(([,e])=>e!==void 0).sort(([e],[r])=>e.localeCompare(r)).map(([e,r])=>`${JSON.stringify(e)}:${I(r)}`).join(",")}}`,Le=t=>{let e=5381;for(let r=0;r<t.length;r+=1)e=e*33^t.charCodeAt(r);return(e>>>0).toString(36)},Re=(t,e)=>I({options:e,seed:t}),Fe=t=>{const e=$.get(t);if(e)return $.delete(t),$.set(t,e),e},He=(t,e)=>{if(A<=0)return e;for($.set(t,e);$.size>A;){const r=$.keys().next().value;if(r===void 0)break;$.delete(r)}return e},Ve=()=>{$.clear()},Ue=t=>{for(A=Math.max(0,Math.floor(t));$.size>A;){const e=$.keys().next().value;if(e===void 0)break;$.delete(e)}},Xe=()=>({limit:A,size:$.size}),Ye=(t,e,r,a)=>{const o=ot(e),n=Ie(r),i=[o,n].filter(Boolean).join(`
294
+ `);return[`.${t} {
295
+ ${i}
296
+ }`,a].filter(Boolean).join(`
297
+
298
+ `)},Ke=(t,e)=>t in e,Pt=(t,e)=>Ke(t,e)?Mt(t,e):t==="soft"?{label:"Soft",description:"Quiet monochrome radial gradient.",gradient:{recipe:"monochrome",type:"radial",position:"center",shape:"ellipse"},shadow:{layers:2,opacity:.18,blur:18,y:7,spread:-4},dropShadow:{layers:2,opacity:.26,blur:16,y:6},animation:{preset:"pulse",duration:7200,easing:"ease-in-out"}}:t==="mesh"?null:{label:t,gradient:{recipe:t,type:"linear",direction:t==="glare"?135:145}},We=t=>{const e=[`radial-gradient(circle at 16% 18%, ${u(t,-42,72,1.05)} 0%, transparent 34%)`,`radial-gradient(circle at 86% 20%, ${N(t)} 0%, transparent 32%)`,`radial-gradient(circle at 50% 84%, ${u(t,56,64,1.08)} 0%, transparent 38%)`,`linear-gradient(135deg, ${x(t,94)}, ${x(t,28)})`];return{layers:e,value:e.join(", ")}},qe=(t,e,r,a,o)=>{if(e==="mesh"){const s=We(t);return{cssVar:r,layers:s.layers,value:s.value}}const n=Pt(e,o),i=F(t),g=H(i,{...n==null?void 0:n.gradient,...a});return{cssVar:r,model:g,stops:g.stops,svg:at(g,{id:r.replace(/^--/,"")}),value:B(g)}},Je=(t,e,r,a)=>{var g,s;if(!t)return{};const o=`${e.replace(/^--/,"")}-morph`,n=Z((g=a==null?void 0:a.morph)==null?void 0:g.blendMode),i={...a==null?void 0:a.morph,id:((s=a==null?void 0:a.morph)==null?void 0:s.id)??o};return{boxShadow:{cssVar:`${e}-shadow`,value:Gt(t,(a==null?void 0:a.shadow)??(r==null?void 0:r.shadow))},dropShadow:{cssVar:`${e}-drop-shadow`,value:Ot(t,(a==null?void 0:a.dropShadow)??(r==null?void 0:r.dropShadow))},morph:{blendMode:n,blendModeCssVar:`${e}-morph-blend-mode`,cssVar:`${e}-morph`,svg:Q(i),value:U(i)}}},Ze=(t,e,r,a)=>{var n;const o={...r==null?void 0:r.animation,...a,name:`g-gradient-${t}-${(a==null?void 0:a.preset)??((n=r==null?void 0:r.animation)==null?void 0:n.preset)??"shift"}`,selector:`.g-gradient-${t}`};return{css:ut(o),cssVar:`${e}-animation`,keyframes:J(o),name:o.name,value:mt(o)}},nt=(t,e="glare",r={})=>{const a=r.registry??z,o=Be(e),n=De(r.prefix??"--g-gradient",o),i=Pt(e,a),s=F(t)[500],d=qe(s,e,n,r,a),p={[n]:d.value},c=r.effects?Je(d.model,n,i,{dropShadow:r.dropShadow,morph:r.morph,shadow:r.shadow}):void 0,m=r.animations?Ze(o,n,i,r.animation):void 0;return c!=null&&c.boxShadow&&(p[c.boxShadow.cssVar]=c.boxShadow.value),c!=null&&c.dropShadow&&(p[c.dropShadow.cssVar]=c.dropShadow.value),c!=null&&c.morph&&(p[c.morph.cssVar]=c.morph.value,p[c.morph.blendModeCssVar]=c.morph.blendMode),m&&(p[m.cssVar]=m.value),{animation:m,cssText:ot(p),cssVars:p,description:i==null?void 0:i.description,effects:c,gradient:d,keyframes:(m==null?void 0:m.keyframes)??"",label:(i==null?void 0:i.label)??o,name:o}},Qe=(t,e={})=>{const r=e.recipes??Ae,a={},o={},n={},i={},g=[];for(const s of r){const d=nt(t,s,{animations:e.animations,effects:e.effects,morph:e.morph,prefix:e.prefix,registry:e.registry});a[d.name]=d.gradient,Object.assign(i,d.cssVars),d.effects&&(o[d.name]=d.effects),d.animation&&(n[d.name]=d.animation,g.push(d.animation.keyframes))}return{animations:n,cssText:ot(i),cssVars:i,effects:o,gradients:a,keyframes:g.join(`
299
+ `)}},tr=(t,e={})=>{var y,f;const r=Re(t,e),a=Fe(r);if(a)return a;const{className:o,id:n,recipe:i="glare",...g}=e,s=nt(t,i,g),d=s.gradient.model&&e.effects&&e.morph?V(s.gradient.model,e.morph):void 0,p=n??`g-gradient-${s.name}-${Le(I({options:e,seed:t}))}`,c=o??p,m={backgroundImage:`var(${s.gradient.cssVar})`};return(y=s.effects)!=null&&y.boxShadow&&(m.boxShadow=`var(${s.effects.boxShadow.cssVar})`),(f=s.effects)!=null&&f.dropShadow&&(m.filter=`var(${s.effects.dropShadow.cssVar})`),s.animation&&(m.animation=`var(${s.animation.cssVar})`),He(r,{animation:s.animation,className:c,cssText:Ye(c,s.cssVars,m,s.keyframes),cssVars:s.cssVars,effects:s.effects,gradient:s.gradient,id:p,keyframes:s.keyframes,morphBlobs:d,preset:s,style:m})},er=Object.freeze(Object.defineProperty({__proto__:null,clearGradientMaterialCache:Ve,createGradientMaterial:tr,createGradientPreset:nt,createGradientTokens:Qe,getGradientMaterialCacheStats:Xe,setGradientMaterialCacheLimit:Ue},Symbol.toStringTag,{value:"Module"})),j=t=>{const e=h.parseColor(t);if(!e)throw new Error(`Unsupported generated color: ${String(t)}`);return h.rgbToChannels(e)},rr=t=>`${t.charAt(0).toUpperCase()}${t.slice(1)}`,G=t=>`on${rr(t)}`,ar=t=>t.replace(/-([a-z0-9])/g,(e,r)=>r.toUpperCase()),At=(t,e,r,a)=>{const{colors:o,onColors:n}=a;for(const i of h.COLOR_SHADES){const g=o[i];t[`${r}${i}`]=j(g),t[`${G(r)}${i}`]=j(n[i]),e[`${r}${i}`]=C.createGradient(o,{shade:i})}t[r]=t[`${r}500`],t[G(r)]=t[`${G(r)}500`],e[r]=e[`${r}500`]},or=t=>typeof t=="object"&&t!==null&&"color"in t,nr=t=>or(t)?t:{color:t},ir=(t,e,r,a)=>{t[r]=j(a.color),t[G(r)]=j(a.onColor??h.getContrastingColor(a.color)),a.gradient!==!1&&(e[r]=a.gradient??C.createGradientFromColor(a.color))},sr=(t,e,r,a,o)=>{const n=ar(h.camelToKebabCase(a)),i=nr(o);if(i.palette===!1){ir(t,e,n,i);return}const g=h.createPalettePair(i.color);r[n]=g,At(t,e,n,g),i.onColor&&(t[G(n)]=j(i.onColor)),i.gradient&&(e[n]=i.gradient)},cr=(t,e={})=>{const r={},a={},o={source:h.createPalettePair(t)};for(const[n,i]of Object.entries(h.COLOR_SEEDS))o[n]=h.createPalettePair(i);for(const[n,i]of Object.entries(o))At(r,a,n,i);for(const[n,i]of Object.entries(e.colors??{}))sr(r,a,o,n,i);return a.main=C.createGradient(o.source.colors),a.error=C.createGradient(o.red.colors,{shade:600}),a.warning=C.createGradient(o.amber.colors,{shade:600}),a.success=C.createGradient(o.green.colors,{shade:600}),{colors:r,gradients:a,palettes:o}},dr=t=>{const e=h.parseColor(t);if(!e)throw new Error(`Unsupported generated color: ${String(t)}`);return h.rgbToChannels(e)},K=(t,e)=>{const r=h.themeFromSourceColor(h.argbFromHex(t)).schemes[e].toJSON();return Object.fromEntries(Object.entries(r).map(([a,o])=>[a,dr(h.hexFromArgb(o))]))},lr=(t,e)=>{const r=K(t,e),a=K(h.COLOR_SEEDS.amber,e),o=K(h.COLOR_SEEDS.green,e);return{...r,warning:a.primary,onWarning:a.onPrimary,warningContainer:a.primaryContainer,onWarningContainer:a.onPrimaryContainer,success:o.primary,onSuccess:o.onPrimary,successContainer:o.primaryContainer,onSuccessContainer:o.onPrimaryContainer}};exports.core=ne;exports.createColorSystem=cr;exports.createSemanticTokens=lr;exports.index=Vt;exports.index$1=fe;exports.index$2=Pe;exports.material=er;