@magield/react 0.6.1 → 0.8.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/context.d.ts +11 -0
- package/dist/context.js +20 -1
- package/dist/index.d.ts +4 -0
- package/dist/index.js +3 -1
- package/dist/provider.d.ts +13 -0
- package/dist/provider.js +17 -1
- package/dist/use-shield.d.ts +25 -0
- package/dist/use-shield.js +61 -1
- package/package.json +3 -2
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type Shield, type ShieldConfig } from '@magield/web';
|
|
2
|
+
export declare const ShieldContext: import("react").Context<Shield | undefined>;
|
|
3
|
+
/**
|
|
4
|
+
* One Shield instance per provider.
|
|
5
|
+
*
|
|
6
|
+
* Instance identity matters: warmed signals and the resolved device id live on
|
|
7
|
+
* it, so recreating it on every render would discard the work that makes
|
|
8
|
+
* `collect()` fast and re-resolve storage each time.
|
|
9
|
+
*/
|
|
10
|
+
export declare function createInstance(config: ShieldConfig): Shield;
|
|
11
|
+
export declare function useShieldInstance(): Shield;
|
package/dist/context.js
CHANGED
|
@@ -1 +1,20 @@
|
|
|
1
|
-
(function(T,U){const m={T:0x154,U:0x164,h:0x167,u:0x14f,I:'ABXe',B:0x151,j:0x140,x:0x160,d:0x152,Q:'53N$',o:0x5b,f:0x32,t:0x52,V:0x42,W:'aK*O',l:0x54,J:0x74,H:0x80,L:0x6d,S:')@]2',c:0x161,w:0x176,P:0x149,N:0x14c,a:'n5Tf',C0:0x153,C1:0x16e,C2:0x133,C3:'#KZ^',C4:0x19f,C5:0x1ae,C6:0x1a5,C7:'V$wd',C8:0x195,C9:0x1c3,CC:0x1a9,CD:0x1ab,CF:'4tBk',Cb:0x196,CT:0x146,CU:0x144,Ch:0x158,Cu:0x13e,CI:'b)[I',Ci:0x140,CR:0x14e,CZ:0x125,CO:0x150,CE:'#KZ^',Cz:0x7d,Cp:0x5f,Cv:'NC9B',CK:0x6a,CY:0x77},M={T:0x9a},s={T:0x118},y={T:0x106},e={T:0x3a},k={T:0x102};function R(T,U,h,u,I){return b(h-k.T,u);}function E(T,U,h,u,I){return b(I- -e.T,h);}function Z(T,U,h,u,I){return b(u- -y.T,I);}const h=T();function O(T,U,h,u,I){return b(T- -s.T,I);}function i(T,U,h,u,I){return b(T-M.T,I);}while(!![]){try{const u=-parseInt(i(m.T,m.U,m.h,m.u,m.I))/(-0x23b8+0x88b+0xe*0x1f1)+parseInt(i(m.B,m.j,m.x,m.d,m.Q))/(-0xf93+-0xaae+0x1a43)*(-parseInt(Z(-m.o,-m.f,-m.t,-m.V,m.W))/(-0x1*-0x313+0x9c0+-0xcd0))+-parseInt(Z(-m.l,-m.J,-m.H,-m.L,m.S))/(0x3*0xbf5+-0xa*0x2c6+0x63*-0x15)+parseInt(i(m.c,m.w,m.P,m.N,m.a))/(0x1971+0x2126+-0x3a92)*(-parseInt(i(m.u,m.C0,m.C1,m.C2,m.C3))/(-0x2398+0x36b*0x7+0x29*0x49))+parseInt(R(m.C4,m.C5,m.C6,m.C7,m.C8))/(0xfc0+0x2f2*-0x1+0x1*-0xcc7)*(parseInt(R(m.C9,m.CC,m.CD,m.CF,m.Cb))/(0xf43*-0x1+-0x26d3+0x361e))+-parseInt(i(m.CT,m.CU,m.Ch,m.Cu,m.CI))/(-0x11*-0xf3+-0x101*0x10+-0xa*0x1)+-parseInt(i(m.Ci,m.CR,m.CZ,m.CO,m.CE))/(-0xfd8*-0x1+-0x24c1+-0x14f3*-0x1)*(-parseInt(E(m.Cz,m.Cp,m.Cv,m.CK,m.CY))/(-0x146+-0x1*0x1cb2+-0x1e03*-0x1));if(u===U)break;else h['push'](h['shift']());}catch(I){h['push'](h['shift']());}}}(F,-0x5e9a+-0x4871+0x2d1a7));const D=(function(){let T=!![];return function(U,h){const j={T:0x31,U:0x18,h:0x14,u:0x1d,I:'rJ]P'},u=T?function(){const B={T:0x8e};function z(T,U,h,u,I){return b(u- -B.T,I);}if(h){const I=h[z(j.T,j.U,j.h,j.u,j.I)](U,arguments);return h=null,I;}}:function(){};return T=![],u;};}()),C=D(this,function(){const J={T:0xe9,U:0xe7,h:'JfEI',u:0xd1,I:0xcf,H:0xea,L:0xec,S:'NC9B',c:0xf5,w:0xd7,P:'nYWW',N:0x368,a:0x37c,C0:0x353,C1:0x382,C2:0x111,C3:0x100,C4:0xfb,C5:'N7gh',C6:0xf0,C7:0xd3,C8:0xdf,C9:0xcd,CC:'xf#e',CD:0xdd,CF:0x26e,Cb:0x27d,CT:0x269,CU:0x255,Ch:'nhgl',Cu:0xe5,CI:0xe8,Ci:'syds',CR:0xfb,CZ:0x27a,CO:0x270,CE:0x25f,Cz:0xd9,Cp:0xea,Cv:'htcO',CK:0xb9,CY:0xc3,CA:0xc9,CX:0xb6,CG:0x280,Cr:0x281,Cn:0x27e,Cg:0x284,Cq:'uUWr',Ck:'3[DX',Ce:0x37f,Cy:0x39c,Cs:0x387,CM:0x390,Cm:0xcf,CB:0x101,Cj:'aWCd',Cx:0xd8,Cd:0xed,CQ:0x23b,Co:0x240,Cf:0x254,Ct:0x22c,CV:'OUaE',CW:0x248,Cl:0x249,CJ:0x236,CH:0x260,CL:'syds',CS:0xc2,Cc:'y%m[',Cw:0xc3,CP:0xbb,CN:0xda,Ca:0xd3,D0:'oA4Z',D1:0xfc,D2:0xea,D3:'nYWW',D4:0xd1,D5:0xd3,D6:0x227,D7:0x232,D8:0x241},l={T:0x2b4},W={T:0x2da},V={T:0x185},t={T:0x30e},o={T:0x2e};function Y(T,U,h,u,I){return b(h-o.T,u);}const U={};U[p(-J.T,-J.U,J.h,-J.u,-J.I)]=function(u,I){return u!==I;};function K(T,U,h,u,I){return b(h- -t.T,I);}function p(T,U,h,u,I){return b(I- -V.T,h);}function A(T,U,h,u,I){return b(U- -W.T,I);}U[p(-J.H,-J.L,J.S,-J.c,-J.w)]=v(J.P,J.N,J.a,J.C0,J.C1)+Y(J.C2,J.C3,J.C4,J.C5,J.C6)+'+$';function v(T,U,h,u,I){return b(U-l.T,T);}const h=U;if(h[Y(J.C7,J.C8,J.C9,J.CC,J.CD)](C[K(-J.CF,-J.Cb,-J.CT,-J.CU,J.Ch)]()[Y(J.Cu,J.CI,J.CD,J.Ci,J.CR)+K(-J.CZ,-J.CZ,-J.CO,-J.CE,J.S)]()[Y(J.Cz,J.Cu,J.Cp,J.Cv,J.T)+'Of']('\x0a'),-(-0x3*0x1d+0xb*0x1fd+-0x1*0x1587)))return;return C[Y(J.CK,J.CY,J.CA,J.h,J.CX)+K(-J.CG,-J.Cr,-J.Cn,-J.Cg,J.Cq)]()[v(J.Ck,J.Ce,J.Cy,J.Cs,J.CM)+'h'](h[p(-J.Cm,-J.CB,J.Cj,-J.Cx,-J.Cd)])[A(-J.CQ,-J.Co,-J.Cf,-J.Ct,J.CV)+A(-J.CW,-J.Cl,-J.CJ,-J.CH,J.CL)]()[p(-J.CA,-J.CS,J.Cc,-J.Cw,-J.CP)+Y(J.CN,J.Ca,J.C6,J.D0,J.D1)+'r'](C)[p(-J.U,-J.D2,J.D3,-J.D4,-J.D5)+'h'](h[A(-J.D6,-J.D7,-J.D8,-J.Co,J.C5)]);});function b(C,D){C=C-(-0x2*0x105f+-0xe*-0x206+0x4fa);const T=F();let U=T[C];if(b['uDzpBA']===undefined){var h=function(R){const Z='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let O='',E='',z=O+h,p=(''+function(){return-0x1*-0x125f+0x3*0x2c7+-0x1ab4;})['indexOf']('\x0a')!==-(-0xeac*-0x1+-0x1482+0x5d7);for(let v=0x1997*-0x1+-0x870+0x2207,K,Y,A=0x18ac*-0x1+0x136d*0x1+0x53f;Y=R['charAt'](A++);~Y&&(K=v%(-0x18*-0x36+0x8*0x4c1+-0x2b14)?K*(0x1ca5+0x77e+0x1*-0x23e3)+Y:Y,v++%(0xf8f+-0x4*0x220+-0x70b))?O+=p||z['charCodeAt'](A+(0x4*0x73f+0xe*-0xc3+-0x1248))-(-0x1*-0x1d63+-0x1142*0x2+-0x1*-0x52b)!==-0x2000+0x1*0xbb6+0xa25*0x2?String['fromCharCode'](-0xc6d*-0x1+0xbce*0x1+-0xb9e*0x2&K>>(-(-0x5*0x393+-0x1c7c+0xb*0x437)*v&-0x18e2+-0x1*0x911+0x29d*0xd)):v:-0x46c*-0x7+0x5*0x455+-0x1*0x349d){Y=Z['indexOf'](Y);}for(let X=0x982+0x22*-0x10f+0x1a7c,G=O['length'];X<G;X++){E+='%'+('00'+O['charCodeAt'](X)['toString'](0x1*0x25ab+-0x57+0x1e*-0x13e))['slice'](-(0xbff+-0x476+-0x787));}return decodeURIComponent(E);};const i=function(R,Z){let O=[],E=-0x1*0xaf+-0x1ecb+0x11*0x1da,z,p='';R=h(R);let v;for(v=0x1*-0xf40+-0x526*-0x2+-0x4f4*-0x1;v<0x1990*-0x1+0x17c5+-0x41*-0xb;v++){O[v]=v;}for(v=0x585+0x4b8+-0x1*0xa3d;v<0x1035*-0x1+-0x1*-0xfa3+0xc9*0x2;v++){E=(E+O[v]+Z['charCodeAt'](v%Z['length']))%(0xa*-0x11b+0x1e52+-0xa7*0x1c),z=O[v],O[v]=O[E],O[E]=z;}v=-0x319+-0x4ab*-0x5+0x1*-0x143e,E=-0x1cfb+0x74a+-0x3*-0x73b;for(let K=-0x73b+0x2b*0xd1+-0x2*0xdf0;K<R['length'];K++){v=(v+(-0x1*-0x28+0x86d+-0x894))%(0x1189+-0x2402+-0x3e5*-0x5),E=(E+O[v])%(-0x910+-0xfbc+0x19cc),z=O[v],O[v]=O[E],O[E]=z,p+=String['fromCharCode'](R['charCodeAt'](K)^O[(O[v]+O[E])%(-0x1*0x443+-0x23b8+0xd*0x327)]);}return p;};b['UZlRxb']=i,b['VmFqkG']={},b['uDzpBA']=!![];}const u=T[-0xf93+-0xaae+0x1a41];b['cGOWxi']!==u&&(b['VmFqkG']={},b['cGOWxi']=u);const I=b['VmFqkG'][C];if(I===undefined){if(b['WKgeYe']===undefined){const R=function(Z){this['dmCxOu']=Z,this['iOdIFU']=[-0x1*-0x313+0x9c0+-0xcd2,0x3*0xbf5+-0xa*0x2c6+0x823*-0x1,0x1971+0x2126+-0x3a97],this['XbjWNs']=function(){return'newState';},this['Mhkukl']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['hdGVRH']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};R['prototype']['wZSHwu']=function(){const Z=new RegExp(this['Mhkukl']+this['hdGVRH']),O=Z['test'](this['XbjWNs']['toString']())?--this['iOdIFU'][-0x2398+0x36b*0x7+0x24*0x53]:--this['iOdIFU'][0xfc0+0x2f2*-0x1+0x2*-0x667];return this['EjtSLW'](O);},R['prototype']['EjtSLW']=function(Z){if(!Boolean(~Z))return Z;return this['uNYjFW'](this['dmCxOu']);},R['prototype']['uNYjFW']=function(Z){for(let O=0xf43*-0x1+-0x26d3+0x3616,E=this['iOdIFU']['length'];O<E;O++){this['iOdIFU']['push'](Math['round'](Math['random']())),E=this['iOdIFU']['length'];}return Z(this['iOdIFU'][-0x11*-0xf3+-0x101*0x10+-0x13*0x1]);},(''+function(){return-0xfd8*-0x1+-0x24c1+-0x14e9*-0x1;})['indexOf']('\x0a')===-(-0x146+-0x1*0x1cb2+-0x1df9*-0x1)&&new R(b)['wZSHwu'](),b['WKgeYe']=!![];}U=b['UZlRxb'](U,D),b['VmFqkG'][C]=U;}else U=I;return U;}C();import{createShield}from'@magield/web';import{createContext,useContext}from'react';export const ShieldContext=createContext(undefined);export function createInstance(T){const S={T:0x471,U:0x45f,h:'IVe[',u:0x46b,I:0x464},H={T:0x3b6};function X(T,U,h,u,I){return b(T-H.T,h);}const U={'jNUZg':function(h,u){return h(u);}};return U[X(S.T,S.U,S.h,S.u,S.I)](createShield,T);}function F(){const C3=['W4/dReb4Bq','W6ZdGCo2W5XSDqb8','WPZdVuLVlG','tmoMBCk/W5S','W4FcSaaZzG','xmoDWO/dJ8kfW54IWOtdKCk4WOa','lcJdVCkGW4K','WODtAmkeqmktWQ7dHmoI','WPSpWOPczvhdTbTq','DmocgCoBms3cLqRdSYKs','f8owuuPuW77cPSo0dCoZfCoY','WQGsWPqyda','WOOic8opDq','W5mOW6HnWQi','WOb+xCknW4u','uaarWQ3cJq','W7rVW7HXeCkgWQRcRaNdQG','iSkFdCklzW','WPRdKCkTDgW','W4lcOmoHFhK','v3ZdHuHqvqfHymoI','nwCwh8o9','p8k1WPWBemo3eNzughtcJG','DSomhCkVFXJcQHtdRG','W4pcSCocEJy','WRaSBaL4','BCoIW4nCvW','ve3dSNddSG','WR5fWQVdHg8gW7pcT8ovWQBcRG','BG90tmko','ACkImG','WQz9yG','W4VdQmkrB2i','tSkPBCkLWPy','WPXPeCkiWPu','fH/cO0/dP8otACoAtW','WPSoWOyygcpdJWjcWRFcO8o1','DHzSvCktW453W6f3pLhcNa','WOJdOSoRcKm','W6bLDeiNsvfBW7PfdG','WQxcPSo7mw0','kb/dQCkFW44','WOOXomkfyq','fdZcMsHc','WRtcNSoL','g8osxSkCW6y','nhamz8kM','uhVdIZ5ovazxtG','W4WgW4pcPWO','pdzbWOFcOCk8W4/cJ8ol','lNWqmmoE','W4ZcRCoFAG','xmosWO/dH8knWPbbWQ7dV8krWOdcJLq','WOedt8oFFG','i2GRkmob','nmoCW44BWQLwW4ZdV1zyWO4z','W6RdSmksW4zFW43dMSkN','FmoSWRvTW6i','W77dSsXCWRHXCCkHWONdTXql','lSkQW7eWWQTTWQRdK0pcPvSJWR0','WRNcVmo0W6nG','WRT8vSkRWRq'];F=function(){return C3;};return F();}export function useShieldInstance(){const C2={T:0x464,U:0x438,h:'aK*O',u:0x456,I:0x44c,C3:0x232,C4:'B^Fh',C5:0x23e,C6:0x229,C7:0x238,C8:0x1e2,C9:'nhgl',CC:0x1dc,CD:0x1f5,CF:0x214,Cb:0x452,CT:0x457,CU:'htcO',Ch:0x472,Cu:0x1e9,CI:'n5Tf',Ci:0x1fc,CR:0x1e5,CZ:0x484,CO:'H(WJ',CE:0x478,Cz:0x46e,Cp:0x20a,Cv:'53N$',CK:0x204,CY:0x221,CA:0x20e,CX:0x26b,CG:0x269,Cr:0x283,Cn:0x25f,Cg:0x271,Cq:0x272,Ck:'hX7r',Ce:0x271,Cy:0x28e,Cs:0x2a0,CM:'UK(u',Cm:0x27a,CB:0x299,Cj:0x265,Cx:0x25a,Cd:')@]2',CQ:0x270,Co:0x266,Cf:'B^Fh',Ct:0x207,CV:0x21e,CW:0x1ff,Cl:0x22e,CJ:'(4b#',CH:0x210,CL:0x1f3,CS:0x20d,Cc:0x1fa,Cw:0x29c,CP:0x2ae,CN:'nhgl',Ca:0x2a3,D0:0x28e,D1:'nYWW',D2:0x225,D3:0x210,D4:0x222,D5:0x213,D6:0x474,D7:0x46e,D8:'(4b#',D9:0x446,DC:0x462,DD:0x2e3,DF:0x2f2,Db:'cKe@',DT:0x2e5,DU:0x308,Dh:'N7gh',Du:0x21b,DI:0x1e8,Di:0x1ea,DR:0x2e1,DZ:0x2cf,DO:0x2d6,DE:0x2b9},C1={T:0x32e},C0={T:0x3af},a={T:0x160},N={T:0x2bd},c={T:0x394};function g(T,U,h,u,I){return b(U- -c.T,h);}const T={'CzPQU':function(h,u){return h(u);},'iXMWy':function(h,u){return h===u;},'rCKxZ':G(C2.T,C2.U,C2.h,C2.u,C2.I)+r(-C2.C3,C2.C4,-C2.C5,-C2.C6,-C2.C7)+r(-C2.C8,C2.C9,-C2.CC,-C2.CD,-C2.CF)+G(C2.Cb,C2.CT,C2.CU,C2.Ch,C2.u)+r(-C2.Cu,C2.CI,-C2.Cu,-C2.Ci,-C2.CR)+G(C2.CZ,C2.Cb,C2.CO,C2.CE,C2.Cz)+r(-C2.Cp,C2.Cv,-C2.CK,-C2.CY,-C2.CA)+n(-C2.CX,-C2.CG,C2.C9,-C2.Cr,-C2.Cn)+n(-C2.Cg,-C2.Cq,C2.Ck,-C2.Ce,-C2.Cy)+n(-C2.Cy,-C2.Cs,C2.CM,-C2.Cm,-C2.CB)+n(-C2.Cj,-C2.Cx,C2.Cd,-C2.CQ,-C2.Co)+q(C2.Cf,C2.Ct,C2.CV,C2.CW,C2.Cl)+q(C2.CJ,C2.CH,C2.CL,C2.CS,C2.Cc)+n(-C2.Cw,-C2.CP,C2.CN,-C2.Ca,-C2.D0)+q(C2.D1,C2.D2,C2.D3,C2.D4,C2.D5)+G(C2.D6,C2.D7,C2.D8,C2.D9,C2.DC)};function r(T,U,h,u,I){return b(u- -N.T,U);}const U=T[g(-C2.DD,-C2.DF,C2.Db,-C2.DT,-C2.DU)](useContext,ShieldContext);function q(T,U,h,u,I){return b(h-a.T,T);}if(T[q(C2.Dh,C2.Du,C2.CK,C2.DI,C2.Di)](U,undefined))throw new Error(T[g(-C2.DR,-C2.DZ,C2.Dh,-C2.DO,-C2.DE)]);function G(T,U,h,u,I){return b(I-C0.T,h);}function n(T,U,h,u,I){return b(T- -C1.T,h);}return U;}
|
|
1
|
+
import { createShield } from '@magield/web';
|
|
2
|
+
import { createContext, useContext } from 'react';
|
|
3
|
+
export const ShieldContext = createContext(undefined);
|
|
4
|
+
/**
|
|
5
|
+
* One Shield instance per provider.
|
|
6
|
+
*
|
|
7
|
+
* Instance identity matters: warmed signals and the resolved device id live on
|
|
8
|
+
* it, so recreating it on every render would discard the work that makes
|
|
9
|
+
* `collect()` fast and re-resolve storage each time.
|
|
10
|
+
*/
|
|
11
|
+
export function createInstance(config) {
|
|
12
|
+
return createShield(config);
|
|
13
|
+
}
|
|
14
|
+
export function useShieldInstance() {
|
|
15
|
+
const shield = useContext(ShieldContext);
|
|
16
|
+
if (shield === undefined) {
|
|
17
|
+
throw new Error('useShield must be used inside <ShieldProvider>. Wrap your app once, at the root.');
|
|
18
|
+
}
|
|
19
|
+
return shield;
|
|
20
|
+
}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export { ShieldProvider, type ShieldProviderProps } from './provider.js';
|
|
2
|
+
export { useShield, useShieldToken, type UseShieldResult } from './use-shield.js';
|
|
3
|
+
export { ShieldContext } from './context.js';
|
|
4
|
+
export type { CollectOptions, CollectResult, ShieldConfig } from '@magield/web';
|
package/dist/index.js
CHANGED
|
@@ -1 +1,3 @@
|
|
|
1
|
-
|
|
1
|
+
export { ShieldProvider } from './provider.js';
|
|
2
|
+
export { useShield, useShieldToken } from './use-shield.js';
|
|
3
|
+
export { ShieldContext } from './context.js';
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ShieldConfig } from '@magield/web';
|
|
2
|
+
import { type ReactNode } from 'react';
|
|
3
|
+
export interface ShieldProviderProps {
|
|
4
|
+
readonly config: ShieldConfig;
|
|
5
|
+
/**
|
|
6
|
+
* Collect the expensive signals on mount, so that by the time a user submits
|
|
7
|
+
* a form the work is already done. On by default: it is the difference
|
|
8
|
+
* between collection costing nothing and costing 60ms at the worst moment.
|
|
9
|
+
*/
|
|
10
|
+
readonly warmup?: boolean;
|
|
11
|
+
readonly children: ReactNode;
|
|
12
|
+
}
|
|
13
|
+
export declare function ShieldProvider({ config, warmup, children }: ShieldProviderProps): ReactNode;
|
package/dist/provider.js
CHANGED
|
@@ -1 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useMemo } from 'react';
|
|
3
|
+
import { createInstance, ShieldContext } from './context.js';
|
|
4
|
+
export function ShieldProvider({ config, warmup = true, children }) {
|
|
5
|
+
// Keyed on the site key rather than the config object, because an inline
|
|
6
|
+
// object literal is a new reference on every render and would otherwise
|
|
7
|
+
// rebuild the instance continuously.
|
|
8
|
+
const shield = useMemo(() => createInstance(config), [config.siteKey]);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
if (!warmup)
|
|
11
|
+
return;
|
|
12
|
+
// Deliberately not awaited and never surfaced: warmup is an optimisation,
|
|
13
|
+
// and a failed one must not reach the integrator's error boundary.
|
|
14
|
+
void shield.warmup();
|
|
15
|
+
}, [shield, warmup]);
|
|
16
|
+
return _jsx(ShieldContext.Provider, { value: shield, children: children });
|
|
17
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { CollectOptions, CollectResult } from '@magield/web';
|
|
2
|
+
export interface UseShieldResult {
|
|
3
|
+
/**
|
|
4
|
+
* Collects and returns a token. Nothing is sent anywhere — where the token
|
|
5
|
+
* travels is your decision.
|
|
6
|
+
*/
|
|
7
|
+
collect(options: CollectOptions): Promise<CollectResult>;
|
|
8
|
+
/** True once warmup has finished. Collection works before this; it is slower. */
|
|
9
|
+
readonly ready: boolean;
|
|
10
|
+
readonly deviceId: string | null;
|
|
11
|
+
/** True while a collect() is in flight, for disabling a submit button. */
|
|
12
|
+
readonly collecting: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function useShield(): UseShieldResult;
|
|
15
|
+
/**
|
|
16
|
+
* Collects once for a fixed action and keeps the result.
|
|
17
|
+
*
|
|
18
|
+
* For pages where the action is known ahead of time and the token is wanted
|
|
19
|
+
* before the user acts. Tokens are short-lived and single-use, so this
|
|
20
|
+
* re-collects when the action changes rather than caching indefinitely.
|
|
21
|
+
*/
|
|
22
|
+
export declare function useShieldToken(action: string): {
|
|
23
|
+
token: string | null;
|
|
24
|
+
refresh: () => Promise<void>;
|
|
25
|
+
};
|
package/dist/use-shield.js
CHANGED
|
@@ -1 +1,61 @@
|
|
|
1
|
-
function b(C,D){C=C-(-0xb3c+-0x11*-0x189+-0xe75*0x1);const T=F();let U=T[C];if(b['oaYPgr']===undefined){var h=function(R){const Z='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let O='',E='',z=O+h,p=(''+function(){return 0x3d*-0x1+-0xdaa+0xde7;})['indexOf']('\x0a')!==-(-0x1ef7*0x1+-0x13*0x20e+-0x67*-0xae);for(let v=-0x582+0x78d+0x20b*-0x1,K,Y,A=0xc32+0x1*-0x803+-0x7*0x99;Y=R['charAt'](A++);~Y&&(K=v%(-0x1ebf*0x1+0xd8a*-0x1+-0x1*-0x2c4d)?K*(0x5*-0x292+-0x13dd+0x20f7)+Y:Y,v++%(0xb7+-0x72*-0x2c+-0x144b))?O+=p||z['charCodeAt'](A+(0x3*-0x12f+0x3*0xb5d+-0x20*0xf4))-(0x131*-0x1a+-0x17c2+0x13*0x2e2)!==-0x2*0xa5b+-0x19a2+0x2e58?String['fromCharCode'](0x1381*-0x2+-0x9a2+0x31a3&K>>(-(0x28d*0xf+-0x157e+0x265*-0x7)*v&-0x3*0x9d9+0x6*-0x15d+0x25bf)):v:0x1295+0x10ee+-0x2383*0x1){Y=Z['indexOf'](Y);}for(let X=-0x1*-0x2105+0x10a*-0x1b+-0x4f7,G=O['length'];X<G;X++){E+='%'+('00'+O['charCodeAt'](X)['toString'](-0xa72+0x643+0x43f))['slice'](-(-0x1*0xc85+-0x8b9*0x1+-0x10*-0x154));}return decodeURIComponent(E);};const i=function(R,Z){let O=[],E=0x2*-0xba+0x1*0x121b+-0x93*0x1d,z,p='';R=h(R);let v;for(v=-0x1d4f*0x1+-0x2e7*0x9+0xa*0x58b;v<0x2*0x6d5+-0x1*0x20a1+0x13f7;v++){O[v]=v;}for(v=0x5*-0x7bb+-0xdfc+0x34a3;v<0x1*-0x1ff3+-0x9f9*-0x3+0x308;v++){E=(E+O[v]+Z['charCodeAt'](v%Z['length']))%(-0x151f+0x9f8*0x3+0x1*-0x7c9),z=O[v],O[v]=O[E],O[E]=z;}v=0xdbd+-0x1adf+0x2*0x691,E=0x2f*-0xbf+-0x194+0x24a5;for(let K=-0xab*0x17+-0x4*-0x3dc+0x13*-0x1;K<R['length'];K++){v=(v+(-0x7a2*-0x5+-0x676+-0x1fb3))%(-0x16a2*0x1+-0x747*0x1+0x1ee9),E=(E+O[v])%(-0x11b+0x2*-0x135a+0x28cf),z=O[v],O[v]=O[E],O[E]=z,p+=String['fromCharCode'](R['charCodeAt'](K)^O[(O[v]+O[E])%(0x20ce+-0x1bd*0x2+-0x1*0x1c54)]);}return p;};b['mOcaCd']=i,b['dPhZfZ']={},b['oaYPgr']=!![];}const u=T[0x1d*0x65+-0x191*-0x12+-0x27a3];b['DCzhbs']!==u&&(b['dPhZfZ']={},b['DCzhbs']=u);const I=b['dPhZfZ'][C];if(I===undefined){if(b['pxaJET']===undefined){const R=function(Z){this['OvExOr']=Z,this['jveBAh']=[0x5*-0x7d+0x19c9+-0x5*0x4ab,0x2208+-0x5*0x346+-0x11aa,-0x124*0x1+-0x30d+0x431],this['pQVNRZ']=function(){return'newState';},this['wcbUGN']='\x5c\x77\x2b\x20\x2a\x5c\x28\x5c\x29\x20\x2a\x7b\x5c\x77\x2b\x20\x2a',this['OoGNFz']='\x5b\x27\x7c\x22\x5d\x2e\x2b\x5b\x27\x7c\x22\x5d\x3b\x3f\x20\x2a\x7d';};R['prototype']['ZBABQj']=function(){const Z=new RegExp(this['wcbUGN']+this['OoGNFz']),O=Z['test'](this['pQVNRZ']['toString']())?--this['jveBAh'][-0x1*-0x9f7+0xcc2*0x1+-0x2*0xb5c]:--this['jveBAh'][0x1cca+0x12f7+-0x2fc1];return this['UEOQdP'](O);},R['prototype']['UEOQdP']=function(Z){if(!Boolean(~Z))return Z;return this['WXWtjK'](this['OvExOr']);},R['prototype']['WXWtjK']=function(Z){for(let O=-0xef2+-0xa*-0x18a+0x1*-0x72,E=this['jveBAh']['length'];O<E;O++){this['jveBAh']['push'](Math['round'](Math['random']())),E=this['jveBAh']['length'];}return Z(this['jveBAh'][-0x5*0x335+0xa67+0x2d1*0x2]);},(''+function(){return-0x56*-0x46+0x15bc+-0x2d40;})['indexOf']('\x0a')===-(0x311*-0x8+0x2147+-0x8be)&&new R(b)['ZBABQj'](),b['pxaJET']=!![];}U=b['mOcaCd'](U,D),b['dPhZfZ'][C]=U;}else U=I;return U;}(function(T,U){const Cb={T:0x432,U:0x45c,h:0x415,u:'RTC^',I:0x120,i:0x129,R:0x12c,Z:'^O6l',O:0x11d,E:0x177,z:0x191,p:0x16e,v:'BKtz',K:0x176,Y:0x34,A:'*zsP',CT:0x47,CU:0x57,Ch:0x44,Cu:0x70,CI:'m$AL',Ci:0x6e,CR:0x99,CZ:0x8b,CO:0x436,CE:0x44a,Cz:0x444,Cp:'wdFY',Cv:0x45d,CK:0x474,CY:0x492,CA:0x467,CX:'7Qul',CG:0x454,Cr:0x15b,Cn:0x140,Cg:0x153,Cq:'^x)e',Ck:0x175,Ce:0x7e,Cy:'rV8C',Cs:0x56,CM:0x66,Cm:0x62,CB:0x59,Cj:'g)D!',Cx:0x55,Cd:0x74,CQ:0x7c,Co:0x5f,Cf:'f4uH',Ct:0x7a,CV:0x89,CW:0x42,Cl:0x6b,CJ:'657i',CH:0x73,CL:0x77,CS:0x64},CF={T:0xc2},CD={T:0x106},CC={T:0x1a6},C9={T:0x3bb},C8={T:0x40};function r(T,U,h,u,I){return b(T- -C8.T,U);}function X(T,U,h,u,I){return b(T-C9.T,u);}function n(T,U,h,u,I){return b(U-CC.T,u);}function g(T,U,h,u,I){return b(T- -CD.T,U);}function G(T,U,h,u,I){return b(h-CF.T,u);}const h=T();while(!![]){try{const u=parseInt(X(Cb.T,Cb.U,Cb.h,Cb.u,Cb.T))/(-0x2371*0x1+0x8e*-0x3a+0x1e*0x241)*(-parseInt(G(Cb.I,Cb.i,Cb.R,Cb.Z,Cb.O))/(-0x1*-0x15b5+0xf79+-0x632*0x6))+-parseInt(G(Cb.E,Cb.z,Cb.p,Cb.v,Cb.K))/(0x1*-0x1ce9+0x13f1+0x8fb)*(-parseInt(r(Cb.Y,Cb.A,Cb.CT,Cb.CU,Cb.Ch))/(-0x52*-0x15+0x2279+-0x292f))+parseInt(r(Cb.Cu,Cb.CI,Cb.Ci,Cb.CR,Cb.CZ))/(-0x1a*0x149+-0x17ed+0x395c)+parseInt(X(Cb.CO,Cb.CE,Cb.Cz,Cb.Cp,Cb.Cv))/(-0x1409*0x1+0x7*0x1c9+0x790)+-parseInt(X(Cb.CK,Cb.CY,Cb.CA,Cb.CX,Cb.CG))/(-0x1a5c+0x1682+0x3e1)*(parseInt(G(Cb.Cr,Cb.Cn,Cb.Cg,Cb.Cq,Cb.Ck))/(0x15*-0x1ab+-0xdff*-0x2+-0x711*-0x1))+-parseInt(g(-Cb.Ce,Cb.Cy,-Cb.Cs,-Cb.CM,-Cb.Cm))/(-0x144a+-0x10c*0x1+0x155f)*(parseInt(r(Cb.CB,Cb.Cj,Cb.Cx,Cb.Cd,Cb.CQ))/(-0x257+0x5d4+-0x1*0x373))+-parseInt(r(Cb.Co,Cb.Cf,Cb.Ct,Cb.CV,Cb.CW))/(-0x1172+-0x26a8+0x3825)*(-parseInt(r(Cb.Cl,Cb.CJ,Cb.CH,Cb.CL,Cb.CS))/(0x2bd*-0x5+0x1*0x4a7+-0x916*-0x1));if(u===U)break;else h['push'](h['shift']());}catch(I){h['push'](h['shift']());}}}(F,0x1ed5f+0x3*0xf55+-0x1973));const D=(function(){const CU={T:0x295,U:0x2b4,h:0x26f,u:0x270,I:'YoZc'};let T=!![];return function(U,h){const u=T?function(){const CT={T:0x1f8};function q(T,U,h,u,I){return b(T-CT.T,I);}if(h){const I=h[q(CU.T,CU.U,CU.h,CU.u,CU.I)](U,arguments);return h=null,I;}}:function(){};return T=![],u;};}()),C=D(this,function(){const Cp={T:'L#An',U:0x22c,h:0x212,u:0x207,I:0x238,i:'J@rO',R:0x210,Z:0x1f7,O:0x235,E:0x200,z:0x2a9,p:0x286,v:'r55u',K:0x28a,Y:0x26d,A:'657i',Cv:0x1ff,CK:0x20b,CY:0x223,CA:0x1d9,CX:'2IqP',CG:0x201,Cr:0x225,Cn:0x1ef,Cg:0x20a,Cq:0x262,Ck:0x287,Ce:'kXxY',Cy:0x290,Cs:0x264,CM:0x2aa,Cm:0x2b5,CB:'sdga',Cj:0x2c8,Cx:0x2da,Cd:0x136,CQ:0x13c,Co:0x11e,Cf:0x10f,Ct:'657i',CV:'ArxP',CW:0x221,Cl:0x240,CJ:0x22c,CH:0x239,CL:0x144,CS:0x156,Cc:0x12b,Cw:0x13a,CP:'LcX6',CN:'657i',Ca:0x1e9,D0:0x1e6,D1:0x1fc,D2:0x20d,D3:0x148,D4:0x135,D5:0x16b,D6:0x132,D7:'L#An',D8:'*zsP',D9:0x20d,DC:0x231,DD:0x1e4,DF:0x1f6,Db:'Hjuj',DT:0x220,DU:0x21a,Dh:0x22c,Du:'ke6Z',DI:0x1c6,Di:0x1e2,DR:0x1e7,DZ:0x1a6,DO:0x115,DE:0xef,Dz:0xf1,Dp:0x13b,Dv:'ke6Z',DK:0x2f1,DY:0x2dd,DA:0x2e7,DX:0x2d6,DG:'hwOB',Dr:0x2c1,Dn:0x2b4,Dg:0x2c2,Dq:0x2ea,Dk:'zTBb',De:0x116,Dy:0x114,Ds:0x10a,DM:0x131,Dm:'^x)e'},Cz={T:0x1cd},CO={T:0x321},CZ={T:0x356},CR={T:0x2d6},Ci={T:0x280};function e(T,U,h,u,I){return b(U- -Ci.T,T);}const U={};function k(T,U,h,u,I){return b(U- -CR.T,T);}function M(T,U,h,u,I){return b(h- -CZ.T,I);}function y(T,U,h,u,I){return b(U- -CO.T,h);}U[k(Cp.T,-Cp.U,-Cp.h,-Cp.u,-Cp.I)]=function(u,I){return u!==I;},U[e(Cp.i,-Cp.R,-Cp.Z,-Cp.O,-Cp.E)]=y(-Cp.z,-Cp.p,Cp.v,-Cp.K,-Cp.Y)+e(Cp.A,-Cp.Cv,-Cp.CK,-Cp.CY,-Cp.CA)+'+$';function s(T,U,h,u,I){return b(T- -Cz.T,I);}const h=U;if(h[e(Cp.CX,-Cp.CG,-Cp.Cr,-Cp.Cn,-Cp.Cg)](C[y(-Cp.Cq,-Cp.Ck,Cp.Ce,-Cp.Cy,-Cp.Cs)]()[y(-Cp.CM,-Cp.Cm,Cp.CB,-Cp.Cj,-Cp.Cx)+s(-Cp.Cd,-Cp.CQ,-Cp.Co,-Cp.Cf,Cp.Ct)]()[k(Cp.CV,-Cp.CW,-Cp.Cl,-Cp.CJ,-Cp.CH)+'Of']('\x0a'),-(0x24b*0xd+0x1784+-0x3552)))return;return C[s(-Cp.CL,-Cp.CS,-Cp.Cc,-Cp.Cw,Cp.CP)+e(Cp.CN,-Cp.Ca,-Cp.D0,-Cp.D1,-Cp.D2)]()[s(-Cp.D3,-Cp.D4,-Cp.D5,-Cp.D6,Cp.D7)+'h'](h[e(Cp.D8,-Cp.D9,-Cp.DC,-Cp.DD,-Cp.DF)])[k(Cp.Db,-Cp.DT,-Cp.Z,-Cp.DU,-Cp.Dh)+e(Cp.Du,-Cp.DI,-Cp.Di,-Cp.DR,-Cp.DZ)]()[s(-Cp.DO,-Cp.DE,-Cp.Dz,-Cp.Dp,Cp.Dv)+M(-Cp.DK,-Cp.DY,-Cp.DA,-Cp.DX,Cp.DG)+'r'](C)[M(-Cp.Dr,-Cp.Dn,-Cp.Dg,-Cp.Dq,Cp.Dk)+'h'](h[s(-Cp.De,-Cp.Dy,-Cp.Ds,-Cp.DM,Cp.Dm)]);});C();import{useCallback,useEffect,useRef,useState}from'react';function F(){const Di=['WPJcQ8oqiCot','e8oMWOyTWPVdKue3eL4jth4','CSoHp8oxfq','WRFdRZeMWRy','WR3cPX5GW7S','W4BdNSkJ','W5zJWRVdJ8k2','WO8bWQTmW65/W6BcHG','lCk3cea','tSoljCkOBq','WRKNWPyKW40','B8kgoCkyWPG','eSkuWOfbWOG','W5WGwfBdGxCLWPlcHW','pSkPrComlW','t8oJW7b8EW','W5RdLrtcNCo3','qrNdICosW4q5W6tdTmojsH3dJMK','ufZdTGJcRq','W54+W7pdJSo1','mtZcKJCH','qs4PxWS','WOJcO2RdUqtdLbxcQHT4Bmou','ySoWn8oleq','WPTUWQ5WWPC','WP7cG8o0WQOrW4L2wrRcUConfW','W6f/c1v2W6NdKq','vSkWW5X7W4a','yxFdG8ovWPG','WRr9k3Tc','W5FcGSoreCoGn8ksWRBcT0rfra','WQnOcKrJ','WRtdM8olW4ddIG','yYSwrYO','WOldHmkBwSk0','W63dVxFdS8og','cSkavgtdVq','f8o5lmkchq','tHPRW7y6','m8kvWRalaYdcNXWsA8oSkG','rbTI','WRBcTSobWOtcUW','iaBdNCkuW7m','WO0KW7/cJ8oIqSotmGVcGSob','WR5kW6PdWOBcPSkq','W5KuW5pcGIeFFSopW6a','WRFdPmocW67dJG','W43cSW3cKue','icxcICkbW5W0ECo4ASomFmoI','fSkUWRTTWPm','W63cRqFcLNq','W6aQW47cKSoH','WPNcH8oc','W6n1h1JcJG','WPqWqqddR8o+aqfwu8kYla','hZFdM8kxW4y','ifOjWRldJW','fCkljW47WQFcJHZcHc45','nhpcIuhcKa','WOCHW7NcJCoMbCoVcYtcJSo+W7G','WQfsc8kXaq','z2JdLen9WQFdHmkUCCokW4z0BG','W5vTfulcLq','p8oggmkdWPtdGbdcTW','bCk4WQXWWPm','WOH1iSkVW4S','b3tdTXdcVXDN','WOBcM8oTWRKl','emkkBSoJdW','W7dcT3DsW6nCna3cOSk2w8ks','ju3cNCkoWQK','WOvpWOPNWPe','W7HomxNcTW','guvsW5m6i8o5WOS','WQD4WONdRCkYrMG+c8kUW4S8WRS','WRNcVCkLWOmA','j8ktWQfGWP0','WPfEdmkVW4a','WP1mk8kjma','WOVdMmogW5ddPa','WOSMW43dVSobW6dcSG','f8oiAvyc','WQG3WOuYW5e','ymk4hCk/oCkuW5RcKa'];F=function(){return Di;};return F();}import{useShieldInstance}from'./context.js';export function useShield(){const CN={T:0x27f,U:0x25f,h:'^cpq',u:0x269,I:0x24d,i:0x24c,R:0x265,Z:'r55u',O:0x24d,E:0x258,z:0x247,p:0x254,v:'Aft3',K:0x232,Y:0x230,A:0x390,Ca:0x393,D0:0x36e,D1:'*zsP',D2:0x38e,D3:0x3ad,D4:0x3af,D5:0x3bf,D6:'sdga',D7:0x3ba,D8:0x25c,D9:'ETxv',DC:0x273,DD:0x275,DF:0x375,Db:0x3ab,DT:0x3b9,DU:'Ebx0',Dh:0x39d,Du:0x1fb,DI:0x1d3,Di:0x1fe,DR:'rV8C',DZ:0x1da,DO:0x22e,DE:0x224,Dz:0x235,Dp:'[R0m',Dv:0x1c7,DK:0x1d9,DY:'99n#',DA:0x196,DX:0x1af,DG:0x239,Dr:0x24b,Dn:'JkyY',Dg:0x25b,Dq:0x256,Dk:0x1fc,De:0x1da,Dy:0x1dd,Ds:0x1e8,DM:0x1f7,Dm:0x1dd,DB:'J@rO',Dj:0x200,Dx:0x195,Dd:0x1ad,DQ:'zTBb',Do:0x1b7,Df:0x196},CP={T:0x18a},Cw={T:0x2ed},Cc={T:0x308},CS={T:0x349},CL={T:'hwOB',U:0x15e,h:0x13c,u:0x143,I:0x14a,i:0x9e,R:0xad,Z:0xa0,O:0x93,E:'BKtz',z:0xa5,p:0xbe,v:0xbf,K:0x98,Y:'m$AL',A:0x40,CS:0x42,Cc:0x49,Cw:'BKtz',CP:0x5d},CH={T:0x43,U:0x1d4,h:0xcf,u:0x11},CJ={T:0x19f,U:0x129,h:0x27c,u:0x1dd},Cl={T:0x34,U:0x1cd,h:0x2d1,u:0x1ea},Cy={T:0x248,U:0x271,h:0x24d,u:'pPYv',I:0x268},Cv={T:0x23f};function d(T,U,h,u,I){return b(I- -Cv.T,h);}const U={'tzMSD':function(v,K){return v(K);},'GkgiF':function(v,K){return v(K);},'CHyya':function(v,K){return v(K);},'UeflT':function(v){return v();},'XJHJi':function(v,K){return v(K);},'GcyWJ':function(v,K){return v(K);},'wPZZv':function(v,K){return v(K);},'vkvLf':function(v,K,Y){return v(K,Y);}},h=U[m(-CN.T,-CN.U,CN.h,-CN.u,-CN.I)](useShieldInstance),[u,I]=U[m(-CN.i,-CN.R,CN.Z,-CN.O,-CN.E)](useState,![]),[i,R]=U[m(-CN.z,-CN.p,CN.v,-CN.K,-CN.Y)](useState,null),[Z,O]=U[j(CN.A,CN.Ca,CN.D0,CN.D1,CN.D2)](useState,![]),E=U[j(CN.D3,CN.D4,CN.D5,CN.D6,CN.D7)](useRef,!![]);U[m(-CN.D8,-CN.R,CN.D9,-CN.DC,-CN.DD)](useEffect,()=>{const Ce={T:0x2f,U:0x55,h:0x16,u:'99n#',I:0x27},Cq={T:0xa8,U:0x136,h:0xed,u:0x61e};function Q(T,U,h,u,I){return j(T-Cq.T,U-Cq.U,h-Cq.h,u,U- -Cq.u);}return E[Q(-Cy.T,-Cy.U,-Cy.h,Cy.u,-Cy.I)+'nt']=!![],()=>{const Ck={T:0x2d,U:0x2a9,h:0xac,u:0x1d9};function o(T,U,h,u,I){return Q(T-Ck.T,T-Ck.U,h-Ck.h,u,I-Ck.u);}E[o(Ce.T,Ce.U,Ce.h,Ce.u,Ce.I)+'nt']=![];};},[]),U[j(CN.DF,CN.Db,CN.DT,CN.DU,CN.Dh)](useEffect,()=>{const Cf={T:0x1b5,U:0x201,h:'Ctdo',u:0x1be,I:0x1da,i:0x1d9,R:0x1f0,Z:'wdFY',O:0x1d6,E:0x1d2,z:0x16d,p:'r55u',v:0x143,K:0x14d,Y:0x151,A:0x194,Ct:'a69M',CV:0x18a,CW:0x174,Cl:0x198,CJ:']Or4',CH:0xbf,CL:0x100,CS:0xd8,Cc:0xe0,Cw:0x478,CP:0x450,CN:0x461,Ca:'41oF',D0:0x465},CQ={T:0x3cb},Cx={T:0xeb},Cj={T:0x18b},CB={T:0x1ef,U:0x213,h:0x21c,u:'eTE9',I:0x21d},Cm={T:0x19e},CM={T:0x13a,U:0x127,h:0x112,u:0x14d,I:'*74t'},Cs={T:0xaf},v={'jVhRy':function(Y,A){function f(T,U,h,u,I){return b(U-Cs.T,I);}return U[f(CM.T,CM.U,CM.h,CM.u,CM.I)](Y,A);},'ztEzp':function(Y,A){function t(T,U,h,u,I){return b(U-Cm.T,u);}return U[t(CB.T,CB.U,CB.h,CB.u,CB.I)](Y,A);}};let K=![];return void((async()=>{const Co={T:0xf2},Cd={T:0x12c};function H(T,U,h,u,I){return b(u- -Cj.T,T);}function l(T,U,h,u,I){return b(T-Cx.T,U);}function V(T,U,h,u,I){return b(I-Cd.T,h);}function W(T,U,h,u,I){return b(h-CQ.T,u);}function J(T,U,h,u,I){return b(h-Co.T,U);}await h[V(Cf.T,Cf.U,Cf.h,Cf.u,Cf.I)+'p']();const Y=await h[V(Cf.i,Cf.R,Cf.Z,Cf.O,Cf.E)+l(Cf.z,Cf.p,Cf.v,Cf.K,Cf.Y)+'d']();!K&&E[J(Cf.A,Cf.Ct,Cf.CV,Cf.CW,Cf.Cl)+'nt']&&(v[H(Cf.CJ,-Cf.CH,-Cf.CL,-Cf.CS,-Cf.Cc)](R,Y),v[W(Cf.Cw,Cf.CP,Cf.CN,Cf.Ca,Cf.D0)](I,!![]));})()),()=>{K=!![];};},[h]);const z=U[x(CN.Du,CN.DI,CN.Di,CN.DR,CN.DZ)](useCallback,async v=>{const CW={T:0x16c,U:0x1cc,h:0x127,u:0x80};function L(T,U,h,u,I){return m(T-CW.T,U-CW.U,T,h-CW.h,I-CW.u);}function S(T,U,h,u,I){return m(T-Cl.T,U-Cl.U,I,u-Cl.h,I-Cl.u);}U[L(CL.T,-CL.U,-CL.h,-CL.u,-CL.I)](O,!![]);function c(T,U,h,u,I){return m(T-CJ.T,U-CJ.U,u,T-CJ.h,I-CJ.u);}function w(T,U,h,u,I){return m(T-CH.T,U-CH.U,U,T-CH.h,I-CH.u);}try{return await h[S(CL.i,CL.R,CL.Z,CL.O,CL.E)+'ct'](v);}finally{if(E[S(CL.z,CL.p,CL.v,CL.K,CL.Y)+'nt'])U[c(CL.A,CL.CS,CL.Cc,CL.Cw,CL.CP)](O,![]);}},[h]),p={};function B(T,U,h,u,I){return b(u- -CS.T,I);}function j(T,U,h,u,I){return b(I-Cc.T,u);}p[x(CN.DO,CN.DE,CN.Dz,CN.Dp,CN.Dz)+'ct']=z,p[d(-CN.Dv,-CN.DK,CN.DY,-CN.DA,-CN.DX)]=u,p[m(-CN.DG,-CN.Dr,CN.Dn,-CN.Dg,-CN.Dq)+x(CN.Dk,CN.De,CN.Dy,CN.Dn,CN.Ds)]=i;function m(T,U,h,u,I){return b(u- -Cw.T,h);}p[x(CN.DM,CN.Ds,CN.Dm,CN.DB,CN.Dj)+d(-CN.Dx,-CN.Dd,CN.DQ,-CN.Do,-CN.Df)]=Z;function x(T,U,h,u,I){return b(T-CP.T,u);}return p;}export function useShieldToken(U){const DI={T:0x27c,U:'hwOB',h:0x2af,u:0x2b5,I:0x29c,i:0x29b,R:'*zsP',Z:0x2b4,O:0x2e8,E:0x2be,z:0x43a,p:0x44f,v:0x442,K:'c4Iy',Y:0x42d,A:0x277,Di:'7Qul',DR:0x2b0,DZ:0x270,DO:0x299,DE:'hLXr',Dz:0xce,Dp:0xb1,Dv:0xad,DK:0xb1,DY:0x286,DA:'5m6$',DX:0x2b6,DG:0x2b6,Dr:0x2ab},Du={T:0x133,U:'eTE9',h:0x133,u:0x111,I:0x152},DU={T:0x3cc},DT={T:'hwOB',U:0x17f,h:0x1b3,u:0x19b,I:0x18e,i:']Or4',R:0x1c6,Z:0x1dd,O:0x1c4,E:0x1c2,z:'sdga',p:0x471,v:0x48f,K:0x480,Y:0x479,A:'ETxv',DU:0x1ba,Dh:0x1a0,Du:0x1a9,DI:0x1a7,Di:0x1ec,DR:0x1ca,DZ:0x1b2,DO:'1&rW',DE:0x1ee,Dz:'2IqP',Dp:0x46f,Dv:0x47b,DK:0x45a,DY:0x44a},DC={T:0x1a8,U:0xfb,h:0x10b,u:0x71e},D8={T:0x1d2},D7={T:0x370},D6={T:0x33a},Ca={T:0x15e};function a(T,U,h,u,I){return b(h- -Ca.T,T);}const h={'HSWJX':function(O,E){return O(E);},'JuVtW':function(O,E){return O===E;},'xZajs':function(O){return O();},'vOYXt':function(O){return O();},'uilqK':function(O,E){return O(E);},'NApGM':function(O,E,z){return O(E,z);}};function P(T,U,h,u,I){return b(I- -D6.T,U);}const {collect:u}=h[P(-DI.T,DI.U,-DI.h,-DI.u,-DI.I)](useShield);function C7(T,U,h,u,I){return b(h-D7.T,I);}function C5(T,U,h,u,I){return b(T-D8.T,h);}const [I,i]=h[P(-DI.i,DI.R,-DI.Z,-DI.O,-DI.E)](useState,null),R=h[N(DI.z,DI.p,DI.v,DI.K,DI.Y)](useCallback,async()=>{const Db={T:0x134,U:0x23,h:0xf1,u:0x462},DF={T:0xa5,U:0x187,h:0x12,u:0x6c4},DD={T:0x192,U:0x1a5,h:0x101,u:0x457},D9={T:0x71,U:0x10c,h:0x178,u:0x39d};function C1(T,U,h,u,I){return P(T-D9.T,T,h-D9.U,u-D9.h,u-D9.u);}const O={};function C2(T,U,h,u,I){return P(T-DC.T,T,h-DC.U,u-DC.h,U-DC.u);}O[C0(DT.T,DT.U,DT.h,DT.u,DT.I)+'n']=U;function C0(T,U,h,u,I){return P(T-DD.T,T,h-DD.U,u-DD.h,u-DD.u);}function C4(T,U,h,u,I){return P(T-DF.T,h,h-DF.U,u-DF.h,u-DF.u);}const E=await h[C0(DT.i,DT.R,DT.Z,DT.O,DT.E)](u,O);function C3(T,U,h,u,I){return P(T-Db.T,u,h-Db.U,u-Db.h,U-Db.u);}h[C2(DT.z,DT.p,DT.v,DT.K,DT.Y)](i,h[C0(DT.A,DT.DU,DT.Dh,DT.Du,DT.DI)](E[C3(DT.Di,DT.DR,DT.DZ,DT.DO,DT.DE)],'')?null:E[C2(DT.Dz,DT.Dp,DT.Dv,DT.DK,DT.DY)]);},[u,U]);function N(T,U,h,u,I){return b(h-DU.T,u);}h[P(-DI.A,DI.Di,-DI.DR,-DI.DZ,-DI.DO)](useEffect,()=>{const Dh={T:0x70,U:0x1e3,h:0x1cd,u:0x19f};function C6(T,U,h,u,I){return P(T-Dh.T,U,h-Dh.U,u-Dh.h,T-Dh.u);}void h[C6(-Du.T,Du.U,-Du.h,-Du.u,-Du.I)](R);},[R]);const Z={};return Z[a(DI.DE,-DI.Dz,-DI.Dp,-DI.Dv,-DI.DK)]=I,Z[P(-DI.DY,DI.DA,-DI.DX,-DI.DG,-DI.Dr)+'sh']=R,Z;}
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
2
|
+
import { useShieldInstance } from './context.js';
|
|
3
|
+
export function useShield() {
|
|
4
|
+
const shield = useShieldInstance();
|
|
5
|
+
const [ready, setReady] = useState(false);
|
|
6
|
+
const [deviceId, setDeviceId] = useState(null);
|
|
7
|
+
const [collecting, setCollecting] = useState(false);
|
|
8
|
+
const mounted = useRef(true);
|
|
9
|
+
useEffect(() => {
|
|
10
|
+
mounted.current = true;
|
|
11
|
+
return () => {
|
|
12
|
+
mounted.current = false;
|
|
13
|
+
};
|
|
14
|
+
}, []);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
let cancelled = false;
|
|
17
|
+
void (async () => {
|
|
18
|
+
await shield.warmup();
|
|
19
|
+
const id = await shield.getDeviceId();
|
|
20
|
+
// Guarded, because a form can be unmounted while warmup is in flight and
|
|
21
|
+
// setting state afterwards is a warning the integrator would see, not us.
|
|
22
|
+
if (!cancelled && mounted.current) {
|
|
23
|
+
setDeviceId(id);
|
|
24
|
+
setReady(true);
|
|
25
|
+
}
|
|
26
|
+
})();
|
|
27
|
+
return () => {
|
|
28
|
+
cancelled = true;
|
|
29
|
+
};
|
|
30
|
+
}, [shield]);
|
|
31
|
+
const collect = useCallback(async (options) => {
|
|
32
|
+
setCollecting(true);
|
|
33
|
+
try {
|
|
34
|
+
return await shield.collect(options);
|
|
35
|
+
}
|
|
36
|
+
finally {
|
|
37
|
+
if (mounted.current)
|
|
38
|
+
setCollecting(false);
|
|
39
|
+
}
|
|
40
|
+
}, [shield]);
|
|
41
|
+
return { collect, ready, deviceId, collecting };
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Collects once for a fixed action and keeps the result.
|
|
45
|
+
*
|
|
46
|
+
* For pages where the action is known ahead of time and the token is wanted
|
|
47
|
+
* before the user acts. Tokens are short-lived and single-use, so this
|
|
48
|
+
* re-collects when the action changes rather than caching indefinitely.
|
|
49
|
+
*/
|
|
50
|
+
export function useShieldToken(action) {
|
|
51
|
+
const { collect } = useShield();
|
|
52
|
+
const [token, setToken] = useState(null);
|
|
53
|
+
const refresh = useCallback(async () => {
|
|
54
|
+
const result = await collect({ action });
|
|
55
|
+
setToken(result.token === '' ? null : result.token);
|
|
56
|
+
}, [collect, action]);
|
|
57
|
+
useEffect(() => {
|
|
58
|
+
void refresh();
|
|
59
|
+
}, [refresh]);
|
|
60
|
+
return { token, refresh };
|
|
61
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@magield/react",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.2",
|
|
4
4
|
"description": "React bindings for the Magic Shield web SDK",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE",
|
|
6
6
|
"files": [
|
|
@@ -17,12 +17,13 @@
|
|
|
17
17
|
".": "./dist/index.js"
|
|
18
18
|
},
|
|
19
19
|
"main": "./dist/index.js",
|
|
20
|
+
"types": "./dist/index.d.ts",
|
|
20
21
|
"sideEffects": false,
|
|
21
22
|
"peerDependencies": {
|
|
22
23
|
"react": ">=18"
|
|
23
24
|
},
|
|
24
25
|
"dependencies": {
|
|
25
|
-
"@magield/web": "0.
|
|
26
|
+
"@magield/web": "0.8.2"
|
|
26
27
|
},
|
|
27
28
|
"devDependencies": {
|
|
28
29
|
"@testing-library/react": "^16.1.0",
|