UNPKG

kirarin

Version:
131 lines (111 loc) 9 kB
var be=BigInt(Number.MIN_SAFE_INTEGER),xe=BigInt(Number.MAX_SAFE_INTEGER);function M(r,n,t=1){let e=[];n===void 0&&(n=r,r=0);for(let a=r;a<n;a+=t)e.push(a);return e}import{useEffect as ue,useState as le}from"react";import{useState as E,useEffect as y,useRef as C,useCallback as oe}from"react";function h(r){return r===void 0?()=>Math.random():ie(ae(r))}function te(r,n,t){let e=h(t);return()=>e()*(n-r)+r}function w(r,n,t){let e=h(t);return()=>Math.floor(e()*(n-r+1))+r}function ae(r){let n=1779033703,t=3144134277,e=1013904242,a=2773480762;for(let i=0,o;i<r.length;i++)o=r.charCodeAt(i),n=t^Math.imul(n^o,597399067),t=e^Math.imul(t^o,2869860233),e=a^Math.imul(e^o,951274213),a=n^Math.imul(a^o,2716044179);return n=Math.imul(e^n>>>18,597399067),t=Math.imul(a^t>>>22,2869860233),e=Math.imul(n^e>>>17,951274213),a=Math.imul(t^a>>>19,2716044179),n^=t^e^a,t^=n,e^=n,a^=n,{seedA:n>>>0,seedB:t>>>0,seedC:e>>>0,seedD:a>>>0}}function ie(r){let{seedA:n,seedB:t,seedC:e,seedD:a}=r;return()=>{n|=0,t|=0,e|=0,a|=0;let i=(n+t|0)+a|0;return a=a+1|0,n=t^t>>>9,t=e+(e<<3)|0,e=e<<21|e>>>11,e=e+i|0,(i>>>0)/4294967296}}function d(r,{seed:n,min:t,max:e}={}){let a=t!==void 0&&e!==void 0?w(t,e,n):w(0,r.length-1,n);return()=>r[a()]}function s({type:r="float",seed:n,min:t,max:e}={}){return t!==void 0&&e!==void 0?r==="float"?te(t,e,n):w(t,e,n):h(n)}function O(){let[r,n]=E(!1);return y(()=>n(!0),[]),r}var T="(prefers-reduced-motion: no-preference)",se=typeof window>"u",me=()=>se?!0:!window.matchMedia(T).matches;function $(){let[r,n]=E(me);return y(()=>{let t=window.matchMedia(T),e=a=>{n(!a.matches)};return t.addEventListener("change",e),()=>{t.removeEventListener("change",e)}},[]),r}function _(r,{minDelay:n,maxDelay:t}){let e=C(void 0),a=C(r);return y(()=>{a.current=r},[r]),y(()=>{if(n!==void 0&&t!==void 0){let i=()=>{let o=s({min:n,max:t})();e.current=setTimeout(()=>{a.current(),i()},o)};i()}return()=>clearTimeout(e.current)},[n,t]),oe(function(){clearTimeout(e.current)},[])}import{jsx as H}from"react/jsx-runtime";function z({children:r}){return H("strong",{style:{position:"relative",zIndex:1,fontWeight:"bold"},children:r})}function L({children:r}){return H("span",{style:{position:"relative",zIndex:1},children:r})}function v({colors:r,sizePx:n,posXPercents:t,posYPercents:e}){let a=s({type:"integer",...d(t)()})(),i=s({type:"integer",...d(e)()})(),o=s({type:"integer",min:0,max:9})()>4,m=d(r)(),l=s({type:"integer",...n})(),p=Math.floor(l/2),f=Date.now();return{id:`${f.toString()}-${s({type:"integer",min:0,max:99999})()}}`,createdAt:f,color:m,size:l,reverse:o,style:{top:`calc(${i}% - ${p}px)`,left:`calc(${a}% - ${p}px)`,zIndex:s({type:"integer",min:-1,max:2})().toString()}}}var B="kirarin-styles",F=()=>{if(typeof document>"u"||document.getElementById(B))return;let r=document.createElement("style");r.id=B,r.textContent=ce(),document.head.appendChild(r)},ce=()=>` /* \u30D7\u30EC\u30D5\u30A3\u30C3\u30AF\u30B9\u4ED8\u304D\u306E\u30B9\u30BF\u30A4\u30EB */ .krrn-particle { position: absolute; display: block; pointer-events: none; } .krrn-particle-inner { display: block; transform-origin: 50% 50%; } .krrn-particle-inner svg { display: block; width: 100%; height: 100%; } .krrn-wrapper { display: inline-block; position: relative; width: fit-content; } /* \u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3\u5B9A\u7FA9 */ @keyframes krrn-comeInOut { 0% { transform: scale(0); opacity: 1; } 50% { transform: scale(1); opacity: 1; } 100% { transform: scale(0); opacity: 0; } } @keyframes krrn-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(180deg); } } @keyframes krrn-yurayura { 0%, 100% { transform: rotate(15deg); } 50% { transform: rotate(-15deg); } } @keyframes krrn-powanFly { 0% { transform: translate3d(0, 0, 0); } 100% { transform: translate3d(0, -0.6rem, 0); } } @keyframes krrn-powanScale { 0% { transform: scale(0); opacity: 0; } 10% { transform: scale(1); opacity: 1; } 90% { transform: scale(1); opacity: 1; } 100% { transform: scale(0); opacity: 0; } } @keyframes krrn-baloon { 0%, 100% { transform: rotate(20deg); } 50% { transform: rotate(-20deg); } } /* \u30D1\u30FC\u30C6\u30A3\u30AF\u30EB\u30BF\u30A4\u30D7\u5225\u306E\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3 */ .krrn-animate-kirakira { animation: krrn-comeInOut 900ms forwards; } .krrn-animate-yurayura { animation: krrn-comeInOut 4800ms forwards; } .krrn-animate-powan { animation: krrn-powanFly 2800ms ease forwards; } .krrn-animate-baloon { animation: krrn-baloon 3000ms ease forwards; } /* \u30A4\u30F3\u30CA\u30FC\u30A2\u30CB\u30E1\u30FC\u30B7\u30E7\u30F3 */ .krrn-inner-spin { animation: krrn-spin 1200ms linear; } .krrn-inner-spin-reverse { animation: krrn-spin 1200ms linear reverse; } .krrn-inner-yurayura { animation: krrn-yurayura 1200ms linear infinite; } .krrn-inner-yurayura-reverse { animation: krrn-yurayura 1200ms linear infinite reverse; } .krrn-inner-powan-scale { animation: krrn-powanScale 2800ms linear forwards; } .krrn-inner-powan-scale-reverse { animation: krrn-powanScale 2800ms linear forwards reverse; } `,R={kirakira:900,yurayura:4800,powan:2800,baloon:3e3},D=r=>`krrn-particle krrn-animate-${r}`,W=(r,n=!1)=>{let t="krrn-particle-inner",e=n?"-reverse":"";switch(r){case"kirakira":return`${t} krrn-inner-spin${e}`;case"yurayura":return`${t} krrn-inner-yurayura${e}`;case"powan":return`${t} krrn-inner-powan-scale${e}`;case"baloon":return t;default:return t}};import{jsx as Y}from"react/jsx-runtime";var K=({size:r,color:n,reverse:t,animation:e,className:a,style:i,children:o})=>Y("span",{className:`${D(e)} ${a||""}`,style:i,children:Y("span",{className:W(e,t),style:{width:r,height:r,fill:n},children:o})});var X=["#ffb900"],b=["#e47777"],$e=["#ffffff","#ffb3f8","#cba3f6","#a3a4f6","#a3bef6"],_e=["#8c3ed1","#30a0f5","#1ef361","#ecfe0c","#ffad65","#fd63b0"],ze=["#735cb0","#00a4ef","#6ab43e","#e89d41","#fd4084"];import{jsx as G}from"react/jsx-runtime";function u(){return G("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",style:{display:"block",width:"100%",height:"100%"},children:G("path",{style:{strokeWidth:"0px"},d:"M31.308,15.628c1.915-4.624-.28-9.925-4.904-11.84-3.743-1.55-7.928-.406-10.403,2.538-2.475-2.944-6.661-4.088-10.404-2.538C.973,5.703-1.223,11.004.692,15.628s15.308,13.276,15.308,13.276c0,0,13.393-8.653,15.308-13.276Z"})})}import{jsx as q}from"react/jsx-runtime";function x(){return q("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 32 32",style:{display:"block",width:"100%",height:"100%"},children:q("path",{style:{strokeWidth:"0px"},d:"M11.295,11.631C7.767,15.334,0,16,0,16c0,0,8.317.476,11.799,4.303,3.169,3.483,4.201,11.697,4.201,11.697,0,0,.936-8.255,4.471-11.647,3.361-3.225,11.529-4.353,11.529-4.353,0,0-8.345-1.216-11.731-4.319-3.736-3.424-4.269-11.681-4.269-11.681,0,0-1.336,8.093-4.705,11.631Z"})})}import{jsx as N,jsxs as pe}from"react/jsx-runtime";function S({colors:r=X,animation:n="kirakira",particle:t=N(x,{}),sizePx:e={min:8,max:14},posXPercents:a=[{min:0,max:100}],posYPercents:i=[{min:0,max:100}],frequencyMs:o={min:50,max:450},strong:m=!0,disabled:l=!1,first:p=3,children:f,className:J,disableStyleInjection:P=!1,...Z}){let j=O(),k=$()||!j||l;ue(()=>{P||F()},[P]);let[I,Q]=le(()=>k?[]:M(p).map(()=>v({colors:r,sizePx:e,posXPercents:a,posYPercents:i})));_(()=>{let c=v({colors:r,sizePx:e,posXPercents:a,posYPercents:i}),re=Date.now(),A=I.filter(ne=>re-ne.createdAt<R[n]);A.push(c),Q(A)},{minDelay:k?void 0:o.min,maxDelay:k?void 0:o.max});let ee=m?z:L;return pe("span",{className:`krrn-wrapper ${J||""}`,...Z,children:[I.map(c=>N(K,{color:c.color,size:c.size,animation:n,reverse:c.reverse,style:c.style,children:t},c.id)),N(ee,{children:f})]})}var g=S;import{jsx as U}from"react/jsx-runtime";function fe({posXPercents:r=[{min:0,max:100}],posYPercents:n=[{min:20,max:40}],sizePx:t={min:8,max:12},frequencyMs:e={min:1200,max:2e3},strong:a=!0,first:i=3,children:o,...m}){return U(g,{colors:b,animation:"powan",particle:U(u,{}),sizePx:t,posXPercents:r,posYPercents:n,frequencyMs:e,first:i,strong:a,...m,children:o})}import{jsx as V}from"react/jsx-runtime";function de({posXPercents:r=[{min:0,max:100}],posYPercents:n=[{min:10,max:20},{min:90,max:100}],sizePx:t={min:8,max:12},frequencyMs:e={min:1e3,max:1600},strong:a=!0,first:i=3,children:o,...m}){return V(g,{colors:b,animation:"yurayura",particle:V(u,{}),sizePx:t,posXPercents:r,posYPercents:n,frequencyMs:e,first:i,strong:a,...m,children:o})}var yr=S;export{b as COLORS_HEART,X as COLORS_KIRA,_e as COLORS_RAINBOW,$e as COLORS_UNICORN,ze as COLORS_VIVID,fe as HeartPowan,de as HeartYuraYura,S as Kirarin,yr as default};