@turnkey/react-wallet-kit 2.2.0 → 2.3.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 (95) hide show
  1. package/dist/components/auth/Email.d.ts +1 -0
  2. package/dist/components/auth/Email.d.ts.map +1 -1
  3. package/dist/components/auth/Email.js +1 -1
  4. package/dist/components/auth/Email.js.map +1 -1
  5. package/dist/components/auth/Email.mjs +2 -2
  6. package/dist/components/auth/Email.mjs.map +1 -1
  7. package/dist/components/auth/OAuth.d.ts +1 -0
  8. package/dist/components/auth/OAuth.d.ts.map +1 -1
  9. package/dist/components/auth/OAuth.js +3 -1
  10. package/dist/components/auth/OAuth.js.map +1 -1
  11. package/dist/components/auth/OAuth.mjs +3 -1
  12. package/dist/components/auth/OAuth.mjs.map +1 -1
  13. package/dist/components/auth/OTP.d.ts.map +1 -1
  14. package/dist/components/auth/OTP.js +22 -6
  15. package/dist/components/auth/OTP.js.map +1 -1
  16. package/dist/components/auth/OTP.mjs +37 -17
  17. package/dist/components/auth/OTP.mjs.map +1 -1
  18. package/dist/components/auth/Passkey.d.ts +1 -0
  19. package/dist/components/auth/Passkey.d.ts.map +1 -1
  20. package/dist/components/auth/Passkey.js +2 -0
  21. package/dist/components/auth/Passkey.js.map +1 -1
  22. package/dist/components/auth/Passkey.mjs +3 -0
  23. package/dist/components/auth/Passkey.mjs.map +1 -1
  24. package/dist/components/auth/Phone.d.ts +1 -0
  25. package/dist/components/auth/Phone.d.ts.map +1 -1
  26. package/dist/components/auth/Phone.js +1 -1
  27. package/dist/components/auth/Phone.js.map +1 -1
  28. package/dist/components/auth/Phone.mjs +2 -2
  29. package/dist/components/auth/Phone.mjs.map +1 -1
  30. package/dist/components/auth/Turnstile.d.ts +10 -0
  31. package/dist/components/auth/Turnstile.d.ts.map +1 -0
  32. package/dist/components/auth/Turnstile.js +13 -0
  33. package/dist/components/auth/Turnstile.js.map +1 -0
  34. package/dist/components/auth/Turnstile.mjs +11 -0
  35. package/dist/components/auth/Turnstile.mjs.map +1 -0
  36. package/dist/components/auth/TurnstileWidget.d.ts +26 -0
  37. package/dist/components/auth/TurnstileWidget.d.ts.map +1 -0
  38. package/dist/components/auth/TurnstileWidget.js +113 -0
  39. package/dist/components/auth/TurnstileWidget.js.map +1 -0
  40. package/dist/components/auth/TurnstileWidget.mjs +146 -0
  41. package/dist/components/auth/TurnstileWidget.mjs.map +1 -0
  42. package/dist/components/auth/index.d.ts.map +1 -1
  43. package/dist/components/auth/index.js +52 -23
  44. package/dist/components/auth/index.js.map +1 -1
  45. package/dist/components/auth/index.mjs +238 -114
  46. package/dist/components/auth/index.mjs.map +1 -1
  47. package/dist/components/auth/wallet/WalletAuthButton.d.ts +1 -0
  48. package/dist/components/auth/wallet/WalletAuthButton.d.ts.map +1 -1
  49. package/dist/components/auth/wallet/WalletAuthButton.js +1 -0
  50. package/dist/components/auth/wallet/WalletAuthButton.js.map +1 -1
  51. package/dist/components/auth/wallet/WalletAuthButton.mjs +2 -0
  52. package/dist/components/auth/wallet/WalletAuthButton.mjs.map +1 -1
  53. package/dist/providers/client/Provider.d.ts.map +1 -1
  54. package/dist/providers/client/Provider.js +106 -24
  55. package/dist/providers/client/Provider.js.map +1 -1
  56. package/dist/providers/client/Provider.mjs +110 -47
  57. package/dist/providers/client/Provider.mjs.map +1 -1
  58. package/dist/providers/client/Types.d.ts +4 -0
  59. package/dist/providers/client/Types.d.ts.map +1 -1
  60. package/dist/providers/client/Types.js.map +1 -1
  61. package/dist/providers/client/Types.mjs.map +1 -1
  62. package/dist/styles.css +1 -1
  63. package/dist/tests/captcha-test.d.ts +2 -0
  64. package/dist/tests/captcha-test.d.ts.map +1 -0
  65. package/dist/types/base.d.ts +2 -0
  66. package/dist/types/base.d.ts.map +1 -1
  67. package/dist/types/base.js.map +1 -1
  68. package/dist/types/base.mjs.map +1 -1
  69. package/dist/types/method-types.d.ts +5 -0
  70. package/dist/types/method-types.d.ts.map +1 -1
  71. package/dist/utils/captcha.d.ts +16 -0
  72. package/dist/utils/captcha.d.ts.map +1 -0
  73. package/dist/utils/captcha.js +47 -0
  74. package/dist/utils/captcha.js.map +1 -0
  75. package/dist/utils/captcha.mjs +64 -0
  76. package/dist/utils/captcha.mjs.map +1 -0
  77. package/dist/utils/oauth/completion.d.ts +10 -1
  78. package/dist/utils/oauth/completion.d.ts.map +1 -1
  79. package/dist/utils/oauth/completion.js +9 -0
  80. package/dist/utils/oauth/completion.js.map +1 -1
  81. package/dist/utils/oauth/completion.mjs +12 -7
  82. package/dist/utils/oauth/completion.mjs.map +1 -1
  83. package/dist/utils/oauth/storage.d.ts +10 -0
  84. package/dist/utils/oauth/storage.d.ts.map +1 -1
  85. package/dist/utils/oauth/storage.js +20 -0
  86. package/dist/utils/oauth/storage.js.map +1 -1
  87. package/dist/utils/oauth/storage.mjs +18 -1
  88. package/dist/utils/oauth/storage.mjs.map +1 -1
  89. package/dist/utils/oauth/url.d.ts +2 -0
  90. package/dist/utils/oauth/url.d.ts.map +1 -1
  91. package/dist/utils/oauth/url.js +2 -1
  92. package/dist/utils/oauth/url.js.map +1 -1
  93. package/dist/utils/oauth/url.mjs +3 -2
  94. package/dist/utils/oauth/url.mjs.map +1 -1
  95. package/package.json +4 -3
@@ -1 +1 @@
1
- {"version":3,"file":"Phone.js","sources":["../../../src/components/auth/Phone.tsx"],"sourcesContent":[null],"names":["PhoneNumberInput","props","config","useTurnkey","onContinue","phone","setPhone","useState","formattedPhone","setFormattedPhone","isValid","setIsValid","loading","setLoading","useContinueButton","ui","preferLargeActionButtons","handleContinue","Promise","resolve","buttonDisabled","buttonClass","clsx","_jsxs","className","children","_jsx","PhoneInputBox","value","onChange","raw","formatted","valid","onEnter","IconButton","icon","faArrowRight","onClick","disabled","spinnerClassName","ActionButton"],"mappings":";;;;;;;;;;AAWM,SAAUA,gBAAgBA,CAACC,KAA4B,EAAA;EAC3D,MAAM;AAAEC,IAAAA;GAAQ,GAAGC,eAAU,EAAE;EAC/B,MAAM;AAAEC,IAAAA;AAAU,GAAE,GAAGH,KAAK;EAC5B,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAGC,cAAQ,CAAC,EAAE,CAAC;EACtC,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGF,cAAQ,CAAC,EAAE,CAAC;EACxD,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAGJ,cAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACK,OAAO,EAAEC,UAAU,CAAC,GAAGN,cAAQ,CAAC,KAAK,CAAC;EAC7C,MAAMO,iBAAiB,GAAGZ,MAAM,EAAEa,EAAE,EAAEC,wBAAwB,IAAI,KAAK;AAEvE,EAAA,MAAMC,cAAc,GAAG,YAAW;IAChC,IAAIP,OAAO,IAAIN,UAAU,EAAE;MACzBS,UAAU,CAAC,IAAI,CAAC;MAChB,IAAI;QACF,MAAMK,OAAO,CAACC,OAAO,CAACf,UAAU,CAACC,KAAK,EAAEG,cAAc,CAAC,CAAC;AAC1D,MAAA,CAAC,SAAS;QACRK,UAAU,CAAC,KAAK,CAAC;AACnB,MAAA;AACF,IAAA;EACF,CAAC;EAED,MAAMO,cAAc,GAAG,CAACV,OAAO;AAE/B,EAAA,MAAMW,WAAW,GAAGC,IAAI,CACtB,6BAA6B,EAC7B,CAACZ,OAAO,IAAII,iBAAiB,KAC3B,mJAAmJ,CACtJ;EAED,OACES;IACEC,SAAS,EAAEF,IAAI,CACb,8CAA8C,EAC9CR,iBAAiB,GAAG,eAAe,GAAG,eAAe,CACtD;AAAAW,IAAAA,QAAA,EAAA,CAEDF,eAAA,CAAA,KAAA,EAAA;MACEC,SAAS,EAAEF,IAAI,CACb,QAAQ,EACR,CAACR,iBAAiB,IAAI,4BAA4B,CACnD;AAAAW,MAAAA,QAAA,EAAA,CAEDC,cAAA,CAACC,oBAAa,EAAA;AACZC,QAAAA,KAAK,EAAEvB,KAAK;AACZwB,QAAAA,QAAQ,EAAEA,CAACC,GAAG,EAAEC,SAAS,EAAEC,KAAK,KAAI;UAClC1B,QAAQ,CAACwB,GAAG,CAAC;UACbrB,iBAAiB,CAACsB,SAAS,CAAC;UAC5BpB,UAAU,CAACqB,KAAK,CAAC;QACnB,CAAC;AACDC,QAAAA,OAAO,EAAEhB;OAAc,CACvB,EAED,CAACH,iBAAiB,IACjBY,eAACQ,kBAAU,EAAA;AACTC,QAAAA,IAAI,EAAEC,8BAAY;AAClBC,QAAAA,OAAO,EAAEpB,cAAc;AACvBqB,QAAAA,QAAQ,EAAElB,cAAc;AACxBR,QAAAA,OAAO,EAAEA,OAAO;AAChBY,QAAAA,SAAS,EAAEF,IAAI,CAAC,0BAA0B,EAAED,WAAW,CAAC;AACxDkB,QAAAA,gBAAgB,EAAC;QAEpB;AAAA,KAAA,CACG,EAELzB,iBAAiB,IAChBY,cAAA,CAACc,oBAAY,EAAA;AACXH,MAAAA,OAAO,EAAEpB,cAAc;AACvBqB,MAAAA,QAAQ,EAAElB,cAAc;AACxBR,MAAAA,OAAO,EAAEA,OAAO;AAChBY,MAAAA,SAAS,EAAEF,IAAI,CAAC,QAAQ,EAAED,WAAW,CAAC;AACtCkB,MAAAA,gBAAgB,EAAC,qDAAqD;;MAIzE;AAAA,GAAA,CACG;AAEV;;;;"}
1
+ {"version":3,"file":"Phone.js","sources":["../../../src/components/auth/Phone.tsx"],"sourcesContent":[null],"names":["PhoneNumberInput","props","config","useTurnkey","onContinue","phone","setPhone","useState","formattedPhone","setFormattedPhone","isValid","setIsValid","loading","setLoading","useContinueButton","ui","preferLargeActionButtons","handleContinue","Promise","resolve","buttonDisabled","disabled","buttonClass","clsx","_jsxs","className","children","_jsx","PhoneInputBox","value","onChange","raw","formatted","valid","onEnter","IconButton","icon","faArrowRight","onClick","spinnerClassName","ActionButton"],"mappings":";;;;;;;;;;AAYM,SAAUA,gBAAgBA,CAACC,KAA4B,EAAA;EAC3D,MAAM;AAAEC,IAAAA;GAAQ,GAAGC,eAAU,EAAE;EAC/B,MAAM;AAAEC,IAAAA;AAAU,GAAE,GAAGH,KAAK;EAC5B,MAAM,CAACI,KAAK,EAAEC,QAAQ,CAAC,GAAGC,cAAQ,CAAC,EAAE,CAAC;EACtC,MAAM,CAACC,cAAc,EAAEC,iBAAiB,CAAC,GAAGF,cAAQ,CAAC,EAAE,CAAC;EACxD,MAAM,CAACG,OAAO,EAAEC,UAAU,CAAC,GAAGJ,cAAQ,CAAC,KAAK,CAAC;EAC7C,MAAM,CAACK,OAAO,EAAEC,UAAU,CAAC,GAAGN,cAAQ,CAAC,KAAK,CAAC;EAC7C,MAAMO,iBAAiB,GAAGZ,MAAM,EAAEa,EAAE,EAAEC,wBAAwB,IAAI,KAAK;AAEvE,EAAA,MAAMC,cAAc,GAAG,YAAW;IAChC,IAAIP,OAAO,IAAIN,UAAU,EAAE;MACzBS,UAAU,CAAC,IAAI,CAAC;MAChB,IAAI;QACF,MAAMK,OAAO,CAACC,OAAO,CAACf,UAAU,CAACC,KAAK,EAAEG,cAAc,CAAC,CAAC;AAC1D,MAAA,CAAC,SAAS;QACRK,UAAU,CAAC,KAAK,CAAC;AACnB,MAAA;AACF,IAAA;EACF,CAAC;EAED,MAAMO,cAAc,GAAG,CAACV,OAAO,KAAKT,KAAK,CAACoB,QAAQ,IAAI,KAAK,CAAC;AAE5D,EAAA,MAAMC,WAAW,GAAGC,IAAI,CACtB,6BAA6B,EAC7B,CAACb,OAAO,IAAII,iBAAiB,KAC3B,mJAAmJ,CACtJ;EAED,OACEU;IACEC,SAAS,EAAEF,IAAI,CACb,8CAA8C,EAC9CT,iBAAiB,GAAG,eAAe,GAAG,eAAe,CACtD;AAAAY,IAAAA,QAAA,EAAA,CAEDF,eAAA,CAAA,KAAA,EAAA;MACEC,SAAS,EAAEF,IAAI,CACb,QAAQ,EACR,CAACT,iBAAiB,IAAI,4BAA4B,CACnD;AAAAY,MAAAA,QAAA,EAAA,CAEDC,cAAA,CAACC,oBAAa,EAAA;AACZC,QAAAA,KAAK,EAAExB,KAAK;AACZyB,QAAAA,QAAQ,EAAEA,CAACC,GAAG,EAAEC,SAAS,EAAEC,KAAK,KAAI;UAClC3B,QAAQ,CAACyB,GAAG,CAAC;UACbtB,iBAAiB,CAACuB,SAAS,CAAC;UAC5BrB,UAAU,CAACsB,KAAK,CAAC;QACnB,CAAC;AACDC,QAAAA,OAAO,EAAEjB;OAAc,CACvB,EAED,CAACH,iBAAiB,IACjBa,eAACQ,kBAAU,EAAA;AACTC,QAAAA,IAAI,EAAEC,8BAAY;AAClBC,QAAAA,OAAO,EAAErB,cAAc;AACvBI,QAAAA,QAAQ,EAAED,cAAc;AACxBR,QAAAA,OAAO,EAAEA,OAAO;AAChBa,QAAAA,SAAS,EAAEF,IAAI,CAAC,0BAA0B,EAAED,WAAW,CAAC;AACxDiB,QAAAA,gBAAgB,EAAC;QAEpB;AAAA,KAAA,CACG,EAELzB,iBAAiB,IAChBa,cAAA,CAACa,oBAAY,EAAA;AACXF,MAAAA,OAAO,EAAErB,cAAc;AACvBI,MAAAA,QAAQ,EAAED,cAAc;AACxBR,MAAAA,OAAO,EAAEA,OAAO;AAChBa,MAAAA,SAAS,EAAEF,IAAI,CAAC,QAAQ,EAAED,WAAW,CAAC;AACtCiB,MAAAA,gBAAgB,EAAC,qDAAqD;;MAIzE;AAAA,GAAA,CACG;AAEV;;;;"}
@@ -8,7 +8,7 @@ import clsx from 'clsx';
8
8
  import { useTurnkey } from '../../providers/client/Hook.mjs';
9
9
 
10
10
  function PhoneNumberInput(props) {
11
- var _config$ui$preferLarg, _config$ui;
11
+ var _config$ui$preferLarg, _config$ui, _props$disabled;
12
12
  var _useTurnkey = useTurnkey(),
13
13
  config = _useTurnkey.config;
14
14
  var onContinue = props.onContinue;
@@ -55,7 +55,7 @@ function PhoneNumberInput(props) {
55
55
  return _ref.apply(this, arguments);
56
56
  };
57
57
  }();
58
- var buttonDisabled = !isValid;
58
+ var buttonDisabled = !isValid || ((_props$disabled = props.disabled) !== null && _props$disabled !== void 0 ? _props$disabled : false);
59
59
  var buttonClass = clsx("transition-all duration-300", (isValid || useContinueButton) && "bg-primary-light dark:bg-primary-dark hover:bg-primary-light/90 dark:hover:bg-primary-dark/90 text-primary-text-light dark:text-primary-text-dark");
60
60
  return jsxs("div", {
61
61
  className: clsx("w-full items-center justify-center space-y-3", useContinueButton ? "flex flex-col" : "flex flex-row"),
@@ -1 +1 @@
1
- {"version":3,"file":"Phone.mjs","sources":["../../../src/components/auth/Phone.tsx"],"sourcesContent":[null],"names":["PhoneNumberInput","props","_config$ui$preferLarg","_config$ui","_useTurnkey","useTurnkey","config","onContinue","_useState","useState","_useState2","_slicedToArray","phone","setPhone","_useState3","_useState4","formattedPhone","setFormattedPhone","_useState5","_useState6","isValid","setIsValid","_useState7","_useState8","loading","setLoading","useContinueButton","ui","preferLargeActionButtons","handleContinue","_ref","_asyncToGenerator","_regenerator","m","_callee","w","_context","p","n","Promise","resolve","f","a","apply","arguments","buttonDisabled","buttonClass","clsx","_jsxs","className","children","_jsx","PhoneInputBox","value","onChange","raw","formatted","valid","onEnter","IconButton","icon","faArrowRight","onClick","disabled","spinnerClassName","ActionButton"],"mappings":"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"}
1
+ {"version":3,"file":"Phone.mjs","sources":["../../../src/components/auth/Phone.tsx"],"sourcesContent":[null],"names":["PhoneNumberInput","props","_config$ui$preferLarg","_config$ui","_props$disabled","_useTurnkey","useTurnkey","config","onContinue","_useState","useState","_useState2","_slicedToArray","phone","setPhone","_useState3","_useState4","formattedPhone","setFormattedPhone","_useState5","_useState6","isValid","setIsValid","_useState7","_useState8","loading","setLoading","useContinueButton","ui","preferLargeActionButtons","handleContinue","_ref","_asyncToGenerator","_regenerator","m","_callee","w","_context","p","n","Promise","resolve","f","a","apply","arguments","buttonDisabled","disabled","buttonClass","clsx","_jsxs","className","children","_jsx","PhoneInputBox","value","onChange","raw","formatted","valid","onEnter","IconButton","icon","faArrowRight","onClick","spinnerClassName","ActionButton"],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import { type TurnstileInstance, type TurnstileProps } from "@marsidev/react-turnstile";
2
+ import type { ForwardRefExoticComponent, RefAttributes } from "react";
3
+ export type { TurnstileInstance, TurnstileProps };
4
+ /**
5
+ * @marsidev/react-turnstile may resolve against a different @types/react copy
6
+ * than this package (common in the monorepo), which triggers TS2786 when used
7
+ * as JSX. Re-export through our local React types.
8
+ */
9
+ export declare const Turnstile: ForwardRefExoticComponent<TurnstileProps & RefAttributes<TurnstileInstance | undefined>>;
10
+ //# sourceMappingURL=Turnstile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Turnstile.d.ts","sourceRoot":"","sources":["../../../src/components/auth/Turnstile.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,cAAc,EACpB,MAAM,2BAA2B,CAAC;AACnC,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAEtE,YAAY,EAAE,iBAAiB,EAAE,cAAc,EAAE,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,SAAS,0FAErB,CAAC"}
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var reactTurnstile = require('@marsidev/react-turnstile');
4
+
5
+ /**
6
+ * @marsidev/react-turnstile may resolve against a different @types/react copy
7
+ * than this package (common in the monorepo), which triggers TS2786 when used
8
+ * as JSX. Re-export through our local React types.
9
+ */
10
+ const Turnstile = reactTurnstile.Turnstile;
11
+
12
+ exports.Turnstile = Turnstile;
13
+ //# sourceMappingURL=Turnstile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Turnstile.js","sources":["../../../src/components/auth/Turnstile.tsx"],"sourcesContent":[null],"names":["Turnstile","TurnstileBase"],"mappings":";;;;AASA;;;;AAIG;AACI,MAAMA,SAAS,GAAGC;;;;"}
@@ -0,0 +1,11 @@
1
+ import { Turnstile as Turnstile$1 } from '@marsidev/react-turnstile';
2
+
3
+ /**
4
+ * @marsidev/react-turnstile may resolve against a different @types/react copy
5
+ * than this package (common in the monorepo), which triggers TS2786 when used
6
+ * as JSX. Re-export through our local React types.
7
+ */
8
+ var Turnstile = Turnstile$1;
9
+
10
+ export { Turnstile };
11
+ //# sourceMappingURL=Turnstile.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Turnstile.mjs","sources":["../../../src/components/auth/Turnstile.tsx"],"sourcesContent":[null],"names":["Turnstile","TurnstileBase"],"mappings":";;AASA;;;;AAIG;AACI,IAAMA,SAAS,GAAGC;;;;"}
@@ -0,0 +1,26 @@
1
+ interface UseTurnstileOptions {
2
+ visible?: boolean;
3
+ }
4
+ /**
5
+ * Encapsulates all Cloudflare Turnstile state and behaviour shared across the
6
+ * auth flows (the main auth modal and the OTP verification screen).
7
+ *
8
+ * Returns a ready-to-render `turnstile` element (or `null` when it shouldn't be
9
+ * shown) plus the pieces callers need to gate their UI:
10
+ * - `authEnabled` / captcha-ready: `false` until a token is available (or
11
+ * immediately `true` when no turnstile is configured / a token already
12
+ * existed on mount). Cleared when a token is consumed or wait times out,
13
+ * then set back to `true` on widget `onSuccess`.
14
+ * - `consumeToken`: waits for and consumes the current token before a request.
15
+ * - `turnstileConfigured`: whether a Turnstile site key is present.
16
+ */
17
+ export declare function useTurnstile(options?: UseTurnstileOptions): {
18
+ turnstile: import("react/jsx-runtime").JSX.Element | null;
19
+ consumeToken: () => Promise<{
20
+ captchaToken: string;
21
+ } | Record<string, never>>;
22
+ authEnabled: boolean;
23
+ turnstileConfigured: boolean;
24
+ };
25
+ export {};
26
+ //# sourceMappingURL=TurnstileWidget.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TurnstileWidget.d.ts","sourceRoot":"","sources":["../../../src/components/auth/TurnstileWidget.tsx"],"names":[],"mappings":"AAKA,UAAU,mBAAmB;IAG3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,mBAAmB;;;;;;;EAqGzD"}
@@ -0,0 +1,113 @@
1
+ 'use strict';
2
+
3
+ var jsxRuntime = require('react/jsx-runtime');
4
+ var react = require('react');
5
+ var Turnstile = require('./Turnstile.js');
6
+ var Hook = require('../../providers/client/Hook.js');
7
+ var captcha = require('../../utils/captcha.js');
8
+
9
+ /**
10
+ * Encapsulates all Cloudflare Turnstile state and behaviour shared across the
11
+ * auth flows (the main auth modal and the OTP verification screen).
12
+ *
13
+ * Returns a ready-to-render `turnstile` element (or `null` when it shouldn't be
14
+ * shown) plus the pieces callers need to gate their UI:
15
+ * - `authEnabled` / captcha-ready: `false` until a token is available (or
16
+ * immediately `true` when no turnstile is configured / a token already
17
+ * existed on mount). Cleared when a token is consumed or wait times out,
18
+ * then set back to `true` on widget `onSuccess`.
19
+ * - `consumeToken`: waits for and consumes the current token before a request.
20
+ * - `turnstileConfigured`: whether a Turnstile site key is present.
21
+ */
22
+ function useTurnstile(options) {
23
+ const {
24
+ visible = true
25
+ } = options ?? {};
26
+ const {
27
+ config,
28
+ getTurnstileToken,
29
+ setTurnstileToken
30
+ } = Hook.useTurnkey();
31
+ const turnstileConfigured = !!config?.turnstileSiteKey;
32
+ const turnstileRef = react.useRef(null);
33
+ const [showTurnstilePrompt, setShowTurnstilePrompt] = react.useState(false);
34
+ // If a token already existed when the component mounted, we don't need to show the widget at all
35
+ const [hadTokenOnMount] = react.useState(() => !!getTurnstileToken());
36
+ const [showTurnstileError, setShowTurnstileError] = react.useState(false);
37
+ const [showTurnstileExpired, setShowTurnstileExpired] = react.useState(false);
38
+ // Auth is enabled immediately if no turnstile is configured, or if the Provider already has a token
39
+ const [authEnabled, setAuthEnabled] = react.useState(!turnstileConfigured || hadTokenOnMount);
40
+ const [turnstileErrorMessage, setTurnstileErrorMessage] = react.useState(null);
41
+ const consumeToken = async () => {
42
+ const result = await captcha.consumeCaptchaToken(getTurnstileToken, token => {
43
+ setTurnstileToken(token);
44
+ // Cleared on consume/reset — keep actions disabled until onSuccess.
45
+ if (token === null && turnstileConfigured) {
46
+ setAuthEnabled(false);
47
+ }
48
+ }, turnstileRef);
49
+ // Timed out with no token — ensure gated actions stay disabled.
50
+ if (turnstileConfigured && !("captchaToken" in result)) {
51
+ setAuthEnabled(false);
52
+ }
53
+ return result;
54
+ };
55
+ const shouldRender = turnstileConfigured && visible && (!hadTokenOnMount || showTurnstileError);
56
+ const onSuccess = token => {
57
+ setTurnstileToken(token);
58
+ setAuthEnabled(true);
59
+ setTurnstileErrorMessage(null);
60
+ };
61
+ const onError = () => {
62
+ setTurnstileToken(null);
63
+ setAuthEnabled(false);
64
+ setShowTurnstileError(true);
65
+ setTurnstileErrorMessage("Verification failed. Please try again.");
66
+ };
67
+ const onExpire = () => {
68
+ setTurnstileToken(null);
69
+ setAuthEnabled(false);
70
+ setShowTurnstileExpired(true);
71
+ turnstileRef.current?.reset();
72
+ };
73
+ const turnstile = shouldRender && config?.turnstileSiteKey ? jsxRuntime.jsxs(jsxRuntime.Fragment, {
74
+ children: [jsxRuntime.jsxs("div", {
75
+ className: "mt-3 flex flex-col text-left w-full",
76
+ children: [showTurnstileExpired ? jsxRuntime.jsx("p", {
77
+ className: "text-icon-text-light/70 dark:text-icon-text-dark/70 text-sm mb-0.5",
78
+ children: "Verification expired - retrying..."
79
+ }) : showTurnstilePrompt ? jsxRuntime.jsx("p", {
80
+ className: "text-icon-text-light/70 dark:text-icon-text-dark/70 text-sm mb-0.5",
81
+ children: "Let us know you're human"
82
+ }) : null, jsxRuntime.jsx(Turnstile.Turnstile, {
83
+ ref: turnstileRef,
84
+ id: "auth-component-turnstile",
85
+ siteKey: config.turnstileSiteKey,
86
+ className: "!w-full !block [&>iframe]:!w-full [&>iframe]:!bg-transparent",
87
+ onSuccess: onSuccess,
88
+ onError: onError,
89
+ onExpire: onExpire,
90
+ onBeforeInteractive: () => {
91
+ setShowTurnstilePrompt(true);
92
+ },
93
+ options: {
94
+ theme: config.ui?.darkMode ? "dark" : "light",
95
+ appearance: "interaction-only",
96
+ size: "flexible"
97
+ }
98
+ })]
99
+ }), turnstileErrorMessage && jsxRuntime.jsx("p", {
100
+ className: "text-red-500 dark:text-red-400 text-sm mt-2 text-center",
101
+ children: turnstileErrorMessage
102
+ })]
103
+ }) : null;
104
+ return {
105
+ turnstile,
106
+ consumeToken,
107
+ authEnabled,
108
+ turnstileConfigured
109
+ };
110
+ }
111
+
112
+ exports.useTurnstile = useTurnstile;
113
+ //# sourceMappingURL=TurnstileWidget.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TurnstileWidget.js","sources":["../../../src/components/auth/TurnstileWidget.tsx"],"sourcesContent":[null],"names":["useTurnstile","options","visible","config","getTurnstileToken","setTurnstileToken","useTurnkey","turnstileConfigured","turnstileSiteKey","turnstileRef","useRef","showTurnstilePrompt","setShowTurnstilePrompt","useState","hadTokenOnMount","showTurnstileError","setShowTurnstileError","showTurnstileExpired","setShowTurnstileExpired","authEnabled","setAuthEnabled","turnstileErrorMessage","setTurnstileErrorMessage","consumeToken","result","consumeCaptchaToken","token","shouldRender","onSuccess","onError","onExpire","current","reset","turnstile","_jsxs","_Fragment","children","className","_jsx","Turnstile","ref","id","siteKey","onBeforeInteractive","theme","ui","darkMode","appearance","size"],"mappings":"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"}
@@ -0,0 +1,146 @@
1
+ import { slicedToArray as _slicedToArray, asyncToGenerator as _asyncToGenerator, regenerator as _regenerator } from '../../_virtual/_rollupPluginBabelHelpers.mjs';
2
+ import { jsxs, Fragment, jsx } from 'react/jsx-runtime';
3
+ import { useRef, useState } from 'react';
4
+ import { Turnstile } from './Turnstile.mjs';
5
+ import { useTurnkey } from '../../providers/client/Hook.mjs';
6
+ import { consumeCaptchaToken } from '../../utils/captcha.mjs';
7
+
8
+ /**
9
+ * Encapsulates all Cloudflare Turnstile state and behaviour shared across the
10
+ * auth flows (the main auth modal and the OTP verification screen).
11
+ *
12
+ * Returns a ready-to-render `turnstile` element (or `null` when it shouldn't be
13
+ * shown) plus the pieces callers need to gate their UI:
14
+ * - `authEnabled` / captcha-ready: `false` until a token is available (or
15
+ * immediately `true` when no turnstile is configured / a token already
16
+ * existed on mount). Cleared when a token is consumed or wait times out,
17
+ * then set back to `true` on widget `onSuccess`.
18
+ * - `consumeToken`: waits for and consumes the current token before a request.
19
+ * - `turnstileConfigured`: whether a Turnstile site key is present.
20
+ */
21
+ function useTurnstile(options) {
22
+ var _config$ui;
23
+ var _ref = options !== null && options !== void 0 ? options : {},
24
+ _ref$visible = _ref.visible,
25
+ visible = _ref$visible === void 0 ? true : _ref$visible;
26
+ var _useTurnkey = useTurnkey(),
27
+ config = _useTurnkey.config,
28
+ getTurnstileToken = _useTurnkey.getTurnstileToken,
29
+ setTurnstileToken = _useTurnkey.setTurnstileToken;
30
+ var turnstileConfigured = !!(config !== null && config !== void 0 && config.turnstileSiteKey);
31
+ var turnstileRef = useRef(null);
32
+ var _useState = useState(false),
33
+ _useState2 = _slicedToArray(_useState, 2),
34
+ showTurnstilePrompt = _useState2[0],
35
+ setShowTurnstilePrompt = _useState2[1];
36
+ // If a token already existed when the component mounted, we don't need to show the widget at all
37
+ var _useState3 = useState(function () {
38
+ return !!getTurnstileToken();
39
+ }),
40
+ _useState4 = _slicedToArray(_useState3, 1),
41
+ hadTokenOnMount = _useState4[0];
42
+ var _useState5 = useState(false),
43
+ _useState6 = _slicedToArray(_useState5, 2),
44
+ showTurnstileError = _useState6[0],
45
+ setShowTurnstileError = _useState6[1];
46
+ var _useState7 = useState(false),
47
+ _useState8 = _slicedToArray(_useState7, 2),
48
+ showTurnstileExpired = _useState8[0],
49
+ setShowTurnstileExpired = _useState8[1];
50
+ // Auth is enabled immediately if no turnstile is configured, or if the Provider already has a token
51
+ var _useState9 = useState(!turnstileConfigured || hadTokenOnMount),
52
+ _useState0 = _slicedToArray(_useState9, 2),
53
+ authEnabled = _useState0[0],
54
+ setAuthEnabled = _useState0[1];
55
+ var _useState1 = useState(null),
56
+ _useState10 = _slicedToArray(_useState1, 2),
57
+ turnstileErrorMessage = _useState10[0],
58
+ setTurnstileErrorMessage = _useState10[1];
59
+ var consumeToken = /*#__PURE__*/function () {
60
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regenerator().m(function _callee() {
61
+ var result;
62
+ return _regenerator().w(function (_context) {
63
+ while (1) switch (_context.n) {
64
+ case 0:
65
+ _context.n = 1;
66
+ return consumeCaptchaToken(getTurnstileToken, function (token) {
67
+ setTurnstileToken(token);
68
+ // Cleared on consume/reset — keep actions disabled until onSuccess.
69
+ if (token === null && turnstileConfigured) {
70
+ setAuthEnabled(false);
71
+ }
72
+ }, turnstileRef);
73
+ case 1:
74
+ result = _context.v;
75
+ // Timed out with no token — ensure gated actions stay disabled.
76
+ if (turnstileConfigured && !("captchaToken" in result)) {
77
+ setAuthEnabled(false);
78
+ }
79
+ return _context.a(2, result);
80
+ }
81
+ }, _callee);
82
+ }));
83
+ return function consumeToken() {
84
+ return _ref2.apply(this, arguments);
85
+ };
86
+ }();
87
+ var shouldRender = turnstileConfigured && visible && (!hadTokenOnMount || showTurnstileError);
88
+ var onSuccess = function onSuccess(token) {
89
+ setTurnstileToken(token);
90
+ setAuthEnabled(true);
91
+ setTurnstileErrorMessage(null);
92
+ };
93
+ var onError = function onError() {
94
+ setTurnstileToken(null);
95
+ setAuthEnabled(false);
96
+ setShowTurnstileError(true);
97
+ setTurnstileErrorMessage("Verification failed. Please try again.");
98
+ };
99
+ var onExpire = function onExpire() {
100
+ var _turnstileRef$current;
101
+ setTurnstileToken(null);
102
+ setAuthEnabled(false);
103
+ setShowTurnstileExpired(true);
104
+ (_turnstileRef$current = turnstileRef.current) === null || _turnstileRef$current === void 0 ? void 0 : _turnstileRef$current.reset();
105
+ };
106
+ var turnstile = shouldRender && config !== null && config !== void 0 && config.turnstileSiteKey ? jsxs(Fragment, {
107
+ children: [jsxs("div", {
108
+ className: "mt-3 flex flex-col text-left w-full",
109
+ children: [showTurnstileExpired ? jsx("p", {
110
+ className: "text-icon-text-light/70 dark:text-icon-text-dark/70 text-sm mb-0.5",
111
+ children: "Verification expired - retrying..."
112
+ }) : showTurnstilePrompt ? jsx("p", {
113
+ className: "text-icon-text-light/70 dark:text-icon-text-dark/70 text-sm mb-0.5",
114
+ children: "Let us know you're human"
115
+ }) : null, jsx(Turnstile, {
116
+ ref: turnstileRef,
117
+ id: "auth-component-turnstile",
118
+ siteKey: config.turnstileSiteKey,
119
+ className: "!w-full !block [&>iframe]:!w-full [&>iframe]:!bg-transparent",
120
+ onSuccess: onSuccess,
121
+ onError: onError,
122
+ onExpire: onExpire,
123
+ onBeforeInteractive: function onBeforeInteractive() {
124
+ setShowTurnstilePrompt(true);
125
+ },
126
+ options: {
127
+ theme: (_config$ui = config.ui) !== null && _config$ui !== void 0 && _config$ui.darkMode ? "dark" : "light",
128
+ appearance: "interaction-only",
129
+ size: "flexible"
130
+ }
131
+ })]
132
+ }), turnstileErrorMessage && jsx("p", {
133
+ className: "text-red-500 dark:text-red-400 text-sm mt-2 text-center",
134
+ children: turnstileErrorMessage
135
+ })]
136
+ }) : null;
137
+ return {
138
+ turnstile: turnstile,
139
+ consumeToken: consumeToken,
140
+ authEnabled: authEnabled,
141
+ turnstileConfigured: turnstileConfigured
142
+ };
143
+ }
144
+
145
+ export { useTurnstile };
146
+ //# sourceMappingURL=TurnstileWidget.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TurnstileWidget.mjs","sources":["../../../src/components/auth/TurnstileWidget.tsx"],"sourcesContent":[null],"names":["useTurnstile","options","_config$ui","_ref","_ref$visible","visible","_useTurnkey","useTurnkey","config","getTurnstileToken","setTurnstileToken","turnstileConfigured","turnstileSiteKey","turnstileRef","useRef","_useState","useState","_useState2","_slicedToArray","showTurnstilePrompt","setShowTurnstilePrompt","_useState3","_useState4","hadTokenOnMount","_useState5","_useState6","showTurnstileError","setShowTurnstileError","_useState7","_useState8","showTurnstileExpired","setShowTurnstileExpired","_useState9","_useState0","authEnabled","setAuthEnabled","_useState1","_useState10","turnstileErrorMessage","setTurnstileErrorMessage","consumeToken","_ref2","_asyncToGenerator","_regenerator","m","_callee","result","w","_context","n","consumeCaptchaToken","token","v","a","apply","arguments","shouldRender","onSuccess","onError","onExpire","_turnstileRef$current","current","reset","turnstile","_jsxs","_Fragment","children","className","_jsx","Turnstile","ref","id","siteKey","onBeforeInteractive","theme","ui","darkMode","appearance","size"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/auth/index.tsx"],"names":[],"mappings":"AA6BA,KAAK,kBAAkB,GAAG;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,IAAI,EACJ,aAAa,EACb,KAAK,GACN,EAAE,kBAAkB,2CAobpB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/auth/index.tsx"],"names":[],"mappings":"AA8BA,KAAK,kBAAkB,GAAG;IACxB,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC1B,aAAa,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAC5B,CAAC;AAEF,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,IAAI,EACJ,aAAa,EACb,KAAK,GACN,EAAE,kBAAkB,2CA6cpB"}