@thecb/components 11.3.2-beta.0 → 11.3.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/index.d.ts CHANGED
@@ -514,7 +514,12 @@ declare function useConditionallyAddValidator(
514
514
  */
515
515
  declare const useTurnstileScript = verifyURL => {
516
516
  const [scriptLoaded, setScriptLoaded] = useState(false);
517
- const [scriptError, setScriptError] = useState(null);
517
+ const [scriptError, setScriptError] = useState(false);
518
+
519
+ const handleScriptError = () => {
520
+ setScriptError(true);
521
+ setScriptLoaded(false);
522
+ };
518
523
 
519
524
  useEffect(() => {
520
525
  if (typeof window === "undefined") {
@@ -532,18 +537,17 @@ declare const useTurnstileScript = verifyURL => {
532
537
  setScriptLoaded(true);
533
538
  };
534
539
  script.onerror = () => {
535
- setScriptError(true);
536
- setScriptLoaded(false);
540
+ handleScriptError();
537
541
  };
538
542
  script.onabort = () => {
539
- setScriptError(true);
540
- setScriptLoaded(false);
543
+ handleScriptError();
541
544
  };
542
545
  script.defer = true;
543
546
  document.getElementsByTagName("head")[0].appendChild(script);
544
547
 
545
548
  return () => {
546
549
  setScriptLoaded(false);
550
+ setScriptError(false);
547
551
  };
548
552
  }, [verifyURL]);
549
553
 
package/dist/index.esm.js CHANGED
@@ -24406,10 +24406,14 @@ var useTurnstileScript = function useTurnstileScript(verifyURL) {
24406
24406
  _useState2 = _slicedToArray(_useState, 2),
24407
24407
  scriptLoaded = _useState2[0],
24408
24408
  setScriptLoaded = _useState2[1];
24409
- var _useState3 = useState(null),
24409
+ var _useState3 = useState(false),
24410
24410
  _useState4 = _slicedToArray(_useState3, 2),
24411
24411
  scriptError = _useState4[0],
24412
24412
  setScriptError = _useState4[1];
24413
+ var handleScriptError = function handleScriptError() {
24414
+ setScriptError(true);
24415
+ setScriptLoaded(false);
24416
+ };
24413
24417
  useEffect$1(function () {
24414
24418
  if (typeof window === "undefined") {
24415
24419
  setScriptLoaded(false);
@@ -24425,17 +24429,16 @@ var useTurnstileScript = function useTurnstileScript(verifyURL) {
24425
24429
  setScriptLoaded(true);
24426
24430
  };
24427
24431
  script.onerror = function () {
24428
- setScriptError(true);
24429
- setScriptLoaded(false);
24432
+ handleScriptError();
24430
24433
  };
24431
24434
  script.onabort = function () {
24432
- setScriptError(true);
24433
- setScriptLoaded(false);
24435
+ handleScriptError();
24434
24436
  };
24435
24437
  script.defer = true;
24436
24438
  document.getElementsByTagName("head")[0].appendChild(script);
24437
24439
  return function () {
24438
24440
  setScriptLoaded(false);
24441
+ setScriptError(false);
24439
24442
  };
24440
24443
  }, [verifyURL]);
24441
24444
  return {
@@ -49995,15 +49998,15 @@ var HeroImage$1 = withWindowSize(themeComponent(HeroImage, "HeroImage", fallback
49995
49998
  var TurnstileWidgetContainer = styled(Box).withConfig({
49996
49999
  displayName: "TurnstileWidget__TurnstileWidgetContainer",
49997
50000
  componentId: "sc-btaugr-0"
49998
- })(["display:flex;flex-direction:column;align-items:flex-end;padding:", ";justify-content:", ";align-items:", ";width:100%;"], function (_ref) {
50001
+ })(["display:flex;flex-direction:column;padding:", ";justify-content:", ";align-items:", ";width:100%;"], function (_ref) {
49999
50002
  var padding = _ref.padding;
50000
50003
  return padding;
50001
50004
  }, function (_ref2) {
50002
50005
  var justify = _ref2.justify;
50003
50006
  return justify;
50004
50007
  }, function (_ref3) {
50005
- var justify = _ref3.justify;
50006
- return justify;
50008
+ var align = _ref3.align;
50009
+ return align;
50007
50010
  });
50008
50011
  var FATAL_ERROR_CODES = [
50009
50012
  // Configuration errors
@@ -50025,6 +50028,8 @@ var TurnstileWidget = /*#__PURE__*/forwardRef(function (_ref4, ref) {
50025
50028
  padding = _ref4$padding === void 0 ? "1rem" : _ref4$padding,
50026
50029
  _ref4$justify = _ref4.justify,
50027
50030
  justify = _ref4$justify === void 0 ? "flex-end" : _ref4$justify,
50031
+ _ref4$align = _ref4.align,
50032
+ align = _ref4$align === void 0 ? "flex-end" : _ref4$align,
50028
50033
  _ref4$size = _ref4.size,
50029
50034
  size = _ref4$size === void 0 ? "normal" : _ref4$size,
50030
50035
  _ref4$tabindex = _ref4.tabindex,
@@ -50034,13 +50039,10 @@ var TurnstileWidget = /*#__PURE__*/forwardRef(function (_ref4, ref) {
50034
50039
  _ref4$theme = _ref4.theme,
50035
50040
  theme = _ref4$theme === void 0 ? "light" : _ref4$theme,
50036
50041
  _ref4$extraStyles = _ref4.extraStyles,
50037
- extraStyles = _ref4$extraStyles === void 0 ? "" : _ref4$extraStyles,
50038
- _ref4$maxErrorRetries = _ref4.maxErrorRetries,
50039
- maxErrorRetries = _ref4$maxErrorRetries === void 0 ? 3 : _ref4$maxErrorRetries;
50042
+ extraStyles = _ref4$extraStyles === void 0 ? "" : _ref4$extraStyles;
50040
50043
  if (!verifyURL || !siteKey) return null;
50041
50044
  var widgetRef = useRef(null);
50042
50045
  var widgetIdRef = useRef(null);
50043
- var retryCountRef = useRef(0);
50044
50046
  var _useState = useState(null),
50045
50047
  _useState2 = _slicedToArray(_useState, 2),
50046
50048
  error = _useState2[0],
@@ -50049,36 +50051,23 @@ var TurnstileWidget = /*#__PURE__*/forwardRef(function (_ref4, ref) {
50049
50051
  scriptLoaded = _useTurnstileScript.scriptLoaded,
50050
50052
  scriptError = _useTurnstileScript.scriptError;
50051
50053
 
50052
- // Clear the error state and reset retry count
50054
+ // Clear the error state
50053
50055
  var clearError = function clearError() {
50054
50056
  setError(null);
50055
- retryCountRef.current = 0;
50056
50057
  };
50057
50058
 
50058
50059
  // Handle errors based on the retry strategy
50059
50060
  var handleError = function handleError(errorCode) {
50060
- retryCountRef.current += 1;
50061
- var currentRetryCount = retryCountRef.current;
50062
-
50063
- // If we haven't exceeded max retries, reset and try again
50064
- if (currentRetryCount <= maxErrorRetries) {
50065
- window.turnstile.reset(widgetIdRef.current);
50066
- setError(null);
50067
- return;
50068
- }
50069
-
50070
- // Max retries exceeded - show appropriate error message
50071
- if (errorCode) {
50072
- var errorMessage = getErrorMessage(errorCode);
50073
- setError(errorMessage);
50074
- }
50075
- };
50076
- var getErrorMessage = function getErrorMessage(errorCode) {
50061
+ if (!errorCode) return;
50077
50062
  var isFatalError = FATAL_ERROR_CODES.some(function (pattern) {
50078
50063
  return pattern.test(errorCode);
50079
50064
  });
50065
+ var errorMessage = getErrorMessage(isFatalError);
50066
+ setError(errorMessage);
50067
+ };
50068
+ var getErrorMessage = function getErrorMessage(isFatalError) {
50080
50069
  if (isFatalError) {
50081
- return "Browser or system error. Please refresh the page or update your browser.";
50070
+ return "Browser or system error. Please refresh the page or try a different browser.";
50082
50071
  }
50083
50072
  return "Something went wrong. Please refresh and try again.";
50084
50073
  };
@@ -50095,28 +50084,36 @@ var TurnstileWidget = /*#__PURE__*/forwardRef(function (_ref4, ref) {
50095
50084
  };
50096
50085
  }, []);
50097
50086
  useEffect$1(function () {
50087
+ if (scriptError) {
50088
+ setError("Unable to load security verification. Please refresh the page.");
50089
+ onError === null || onError === void 0 || onError("script_load_failed");
50090
+ return;
50091
+ }
50098
50092
  if (widgetIdRef.current || !window.turnstile || !scriptLoaded) return;
50099
- widgetIdRef.current = window.turnstile.render(widgetRef.current, {
50100
- sitekey: siteKey,
50101
- size: size,
50102
- retry: retry,
50103
- tabindex: tabindex,
50104
- theme: theme,
50105
- callback: function callback(token) {
50106
- clearError();
50107
- onSuccess(token);
50108
- },
50109
- "error-callback": function errorCallback(errorCode) {
50110
- if (retry === "never") {
50093
+ try {
50094
+ widgetIdRef.current = window.turnstile.render(widgetRef.current, {
50095
+ sitekey: siteKey,
50096
+ size: size,
50097
+ retry: retry,
50098
+ tabindex: tabindex,
50099
+ theme: theme,
50100
+ callback: function callback(token) {
50101
+ clearError();
50102
+ onSuccess === null || onSuccess === void 0 || onSuccess(token);
50103
+ },
50104
+ "error-callback": function errorCallback(errorCode) {
50111
50105
  handleError(errorCode);
50106
+ onError === null || onError === void 0 || onError(errorCode);
50107
+ },
50108
+ "expired-callback": function expiredCallback() {
50109
+ clearError();
50110
+ onExpired === null || onExpired === void 0 || onExpired();
50112
50111
  }
50113
- onError === null || onError === void 0 || onError(errorCode);
50114
- },
50115
- "expired-callback": function expiredCallback() {
50116
- clearError();
50117
- onExpired === null || onExpired === void 0 || onExpired();
50118
- }
50119
- });
50112
+ });
50113
+ } catch (error) {
50114
+ setError("Unable to load security verification. Please refresh the page.");
50115
+ onError === null || onError === void 0 || onError("render_failed");
50116
+ }
50120
50117
  return function () {
50121
50118
  if (widgetIdRef.current && window.turnstile) {
50122
50119
  window.turnstile.remove(widgetIdRef.current);
@@ -50124,22 +50121,19 @@ var TurnstileWidget = /*#__PURE__*/forwardRef(function (_ref4, ref) {
50124
50121
  clearError();
50125
50122
  }
50126
50123
  };
50127
- }, [scriptLoaded, siteKey]);
50124
+ }, [scriptLoaded, scriptError, siteKey]);
50128
50125
  return /*#__PURE__*/React__default.createElement(React__default.Fragment, null, /*#__PURE__*/React__default.createElement(TurnstileWidgetContainer, {
50129
50126
  padding: padding,
50130
50127
  justify: justify,
50128
+ align: align,
50131
50129
  extraStyles: extraStyles
50132
50130
  }, /*#__PURE__*/React__default.createElement("div", {
50133
50131
  ref: widgetRef
50134
50132
  }), error && /*#__PURE__*/React__default.createElement(Text$1, {
50135
50133
  color: ERROR_COLOR,
50136
50134
  variant: "pXS",
50137
- extraStyles: "\n word-break: break-word;\n text-align: end;\n "
50138
- }, error), scriptError && /*#__PURE__*/React__default.createElement(Text$1, {
50139
- color: ERROR_COLOR,
50140
- variant: "pXS",
50141
- extraStyles: "\n word-break: break-word;\n text-align: end;\n "
50142
- }, "Unable to load security verification. Please refresh the page.")));
50135
+ extraStyles: "\n word-break: break-word;\n text-align: end;\n padding-top: 0.5rem;\n "
50136
+ }, error)));
50143
50137
  });
50144
50138
 
50145
50139
  var pageBackground = "#FBFCFD";