@retinalabsllc/zairusjs 21.1.3 → 21.1.4

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.js CHANGED
@@ -3388,6 +3388,7 @@ var ManagedDocument = ({
3388
3388
  var import_react55 = __toESM(require("react"));
3389
3389
  var import_react56 = require("@hugeicons/react");
3390
3390
  var import_core_free_icons20 = require("@hugeicons/core-free-icons");
3391
+ var import_react_hot_toast10 = __toESM(require("react-hot-toast"));
3391
3392
  var TextInput2 = ({
3392
3393
  label,
3393
3394
  value,
@@ -3464,11 +3465,9 @@ var ManagedContactBlock = ({
3464
3465
  }) => {
3465
3466
  const [formData, setFormData] = (0, import_react55.useState)({ name: "", email: "", title: "", phone: "", message: "" });
3466
3467
  const [status, setStatus] = (0, import_react55.useState)("idle");
3467
- const [responseMessage, setResponseMessage] = (0, import_react55.useState)("");
3468
3468
  const handleSubmit = async (e) => {
3469
3469
  e.preventDefault();
3470
3470
  setStatus("loading");
3471
- setResponseMessage("");
3472
3471
  try {
3473
3472
  const res = await fetch("/api/contact", {
3474
3473
  method: "POST",
@@ -3478,15 +3477,15 @@ var ManagedContactBlock = ({
3478
3477
  const data = await res.json();
3479
3478
  if (res.ok) {
3480
3479
  setStatus("success");
3481
- setResponseMessage(data.message || "Message sent successfully!");
3480
+ import_react_hot_toast10.default.success(data.message || "Message sent successfully!");
3482
3481
  setFormData({ name: "", email: "", title: "", phone: "", message: "" });
3483
3482
  } else {
3484
3483
  setStatus("error");
3485
- setResponseMessage(data.error || "Failed to send message.");
3484
+ import_react_hot_toast10.default.error(data.error || "Failed to send message.");
3486
3485
  }
3487
3486
  } catch (error) {
3488
3487
  setStatus("error");
3489
- setResponseMessage("An unexpected error occurred. Please try again.");
3488
+ import_react_hot_toast10.default.error("An unexpected error occurred. Please try again.");
3490
3489
  }
3491
3490
  };
3492
3491
  return /* @__PURE__ */ import_react55.default.createElement("div", { className: "grow pt-4 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ import_react55.default.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ import_react55.default.createElement(
@@ -3570,7 +3569,7 @@ var ManagedContactBlock = ({
3570
3569
  onChange: (val) => setFormData({ ...formData, message: val }),
3571
3570
  disabled: status === "loading"
3572
3571
  }
3573
- ), responseMessage && /* @__PURE__ */ import_react55.default.createElement("p", { className: `text-sm ${status === "error" ? "text-red-500" : "text-green-600"}` }, responseMessage), /* @__PURE__ */ import_react55.default.createElement("div", { className: "pt-4" }, /* @__PURE__ */ import_react55.default.createElement(
3572
+ ), /* @__PURE__ */ import_react55.default.createElement("div", { className: "pt-4" }, /* @__PURE__ */ import_react55.default.createElement(
3574
3573
  ThreeDActionButton2,
3575
3574
  {
3576
3575
  type: "submit",
@@ -4273,7 +4272,7 @@ var UniversalVerificationPage = ({
4273
4272
  // src/components/UniversalRewardPage.tsx
4274
4273
  var import_react73 = __toESM(require("react"));
4275
4274
  var import_axios = __toESM(require("axios"));
4276
- var import_react_hot_toast10 = __toESM(require("react-hot-toast"));
4275
+ var import_react_hot_toast11 = __toESM(require("react-hot-toast"));
4277
4276
  var import_react_confetti = __toESM(require("react-confetti"));
4278
4277
  var import_react_use = require("react-use");
4279
4278
  var import_react74 = require("@hugeicons/react");
@@ -4324,7 +4323,7 @@ var UniversalRewardPage = ({
4324
4323
  const res = await import_axios.default.post(selectedReward.endpoint, selectedReward.config);
4325
4324
  if (res.data.success) {
4326
4325
  setShowConfetti(true);
4327
- import_react_hot_toast10.default.success(res.data.message || "Reward claimed successfully!");
4326
+ import_react_hot_toast11.default.success(res.data.message || "Reward claimed successfully!");
4328
4327
  setSelectedReward(null);
4329
4328
  onRefresh();
4330
4329
  setTimeout(() => {
@@ -4332,7 +4331,7 @@ var UniversalRewardPage = ({
4332
4331
  }, 6e3);
4333
4332
  }
4334
4333
  } catch (error) {
4335
- import_react_hot_toast10.default.error(error.response?.data?.error || "Failed to claim reward. Please try again.");
4334
+ import_react_hot_toast11.default.error(error.response?.data?.error || "Failed to claim reward. Please try again.");
4336
4335
  } finally {
4337
4336
  setIsClaiming(false);
4338
4337
  }
@@ -4382,7 +4381,7 @@ var UniversalRewardPage = ({
4382
4381
 
4383
4382
  // src/components/UniversalReferralPage.tsx
4384
4383
  var import_react75 = __toESM(require("react"));
4385
- var import_react_hot_toast11 = __toESM(require("react-hot-toast"));
4384
+ var import_react_hot_toast12 = __toESM(require("react-hot-toast"));
4386
4385
  var import_react76 = require("@hugeicons/react");
4387
4386
  var import_core_free_icons27 = require("@hugeicons/core-free-icons");
4388
4387
  var PageSpinner5 = () => /* @__PURE__ */ import_react75.default.createElement("div", { className: "flex justify-center items-center py-12" }, /* @__PURE__ */ import_react75.default.createElement(import_react76.HugeiconsIcon, { icon: import_core_free_icons27.Loading03Icon, size: 32, className: "animate-spin mb-4 text-black" }));
@@ -4411,9 +4410,9 @@ var UniversalReferralPage = ({
4411
4410
  if (!referralCode) return;
4412
4411
  try {
4413
4412
  await navigator.clipboard.writeText(referralCode);
4414
- import_react_hot_toast11.default.success("Referral code copied!");
4413
+ import_react_hot_toast12.default.success("Referral code copied!");
4415
4414
  } catch {
4416
- import_react_hot_toast11.default.error("Failed to copy code.");
4415
+ import_react_hot_toast12.default.error("Failed to copy code.");
4417
4416
  }
4418
4417
  };
4419
4418
  const AvatarLogo2 = ({ src, alt, name, sizeClass = "w-10 h-10" }) => {
@@ -4718,7 +4717,7 @@ var PinDialerBottomSheet = ({
4718
4717
 
4719
4718
  // src/components/UniversalBuyCryptoPage.tsx
4720
4719
  var import_react81 = __toESM(require("react"));
4721
- var import_react_hot_toast12 = __toESM(require("react-hot-toast"));
4720
+ var import_react_hot_toast13 = __toESM(require("react-hot-toast"));
4722
4721
  var import_react82 = require("@hugeicons/react");
4723
4722
  var import_core_free_icons30 = require("@hugeicons/core-free-icons");
4724
4723
  var CircularLogo = ({ src, alt, fallbackText }) => {
@@ -4841,7 +4840,7 @@ var UniversalBuyCryptoPage = ({
4841
4840
  if (result.ratePerToken) setRateDisplay(result.ratePerToken);
4842
4841
  if (result.rateKey) setCurrentRateKey(result.rateKey);
4843
4842
  } catch {
4844
- import_react_hot_toast12.default.error("Failed to calculate live rate.");
4843
+ import_react_hot_toast13.default.error("Failed to calculate live rate.");
4845
4844
  } finally {
4846
4845
  setIsCalculating(false);
4847
4846
  }
@@ -4872,11 +4871,11 @@ var UniversalBuyCryptoPage = ({
4872
4871
  const handleCheckout = async () => {
4873
4872
  const numFiat = parseFloat(fiatAmount) || 0;
4874
4873
  const numCrypto = parseFloat(cryptoAmount) || 0;
4875
- if (numFiat <= 0 || numCrypto <= 0) return import_react_hot_toast12.default.error("Please enter a valid amount.");
4874
+ if (numFiat <= 0 || numCrypto <= 0) return import_react_hot_toast13.default.error("Please enter a valid amount.");
4876
4875
  if (selectedNetwork.minimumWithdrawal && numCrypto < selectedNetwork.minimumWithdrawal) {
4877
- return import_react_hot_toast12.default.error(`Minimum purchase for ${selectedNetwork.name} is ${selectedNetwork.minimumWithdrawal} ${selectedCrypto.code}`);
4876
+ return import_react_hot_toast13.default.error(`Minimum purchase for ${selectedNetwork.name} is ${selectedNetwork.minimumWithdrawal} ${selectedCrypto.code}`);
4878
4877
  }
4879
- if (!recipientAddress.trim() || !isAddressValid) return import_react_hot_toast12.default.error("Please enter a valid wallet address.");
4878
+ if (!recipientAddress.trim() || !isAddressValid) return import_react_hot_toast13.default.error("Please enter a valid wallet address.");
4880
4879
  if (onSubmitCheckout) {
4881
4880
  setIsSubmitting(true);
4882
4881
  try {
@@ -5075,7 +5074,7 @@ var UniversalHuddlesPage = ({
5075
5074
  // src/components/UniversalMembersPage.tsx
5076
5075
  var import_react85 = __toESM(require("react"));
5077
5076
  var import_react86 = require("@hugeicons/react");
5078
- var import_react_hot_toast13 = __toESM(require("react-hot-toast"));
5077
+ var import_react_hot_toast14 = __toESM(require("react-hot-toast"));
5079
5078
  var import_core_free_icons32 = require("@hugeicons/core-free-icons");
5080
5079
  var MemberAvatar2 = ({ src, status }) => {
5081
5080
  const [loaded, setLoaded] = (0, import_react85.useState)(false);
@@ -5170,11 +5169,11 @@ var UniversalMembersPage = ({
5170
5169
  setIsRemoving(true);
5171
5170
  try {
5172
5171
  await onRemoveMember(memberToRemove.id);
5173
- import_react_hot_toast13.default.success("Member removed successfully.");
5172
+ import_react_hot_toast14.default.success("Member removed successfully.");
5174
5173
  setExpandedId(null);
5175
5174
  setMemberToRemove(null);
5176
5175
  } catch (error) {
5177
- import_react_hot_toast13.default.error("Failed to remove member.");
5176
+ import_react_hot_toast14.default.error("Failed to remove member.");
5178
5177
  } finally {
5179
5178
  setIsRemoving(false);
5180
5179
  }
@@ -5188,7 +5187,7 @@ var UniversalMembersPage = ({
5188
5187
  setInviteEmail("");
5189
5188
  setIsInviteMode(false);
5190
5189
  } catch (error) {
5191
- import_react_hot_toast13.default.error(error.message || "Failed to send invitation.");
5190
+ import_react_hot_toast14.default.error(error.message || "Failed to send invitation.");
5192
5191
  } finally {
5193
5192
  setIsInviting(false);
5194
5193
  }
@@ -5335,7 +5334,7 @@ var UniversalMembersPage = ({
5335
5334
  var import_react87 = __toESM(require("react"));
5336
5335
  var import_navigation6 = require("next/navigation");
5337
5336
  var import_react88 = require("@hugeicons/react");
5338
- var import_react_hot_toast14 = __toESM(require("react-hot-toast"));
5337
+ var import_react_hot_toast15 = __toESM(require("react-hot-toast"));
5339
5338
  var import_core_free_icons33 = require("@hugeicons/core-free-icons");
5340
5339
  var OrgAvatar = ({ src, sizeClass = "w-10 h-10" }) => {
5341
5340
  const [loaded, setLoaded] = (0, import_react87.useState)(false);
@@ -5390,7 +5389,7 @@ var UniversalHome2 = ({
5390
5389
  await onResolveInvite(selectedNotif, resolution);
5391
5390
  window.location.reload();
5392
5391
  } catch (error) {
5393
- import_react_hot_toast14.default.error("Failed to process invitation");
5392
+ import_react_hot_toast15.default.error("Failed to process invitation");
5394
5393
  setIsResolving(false);
5395
5394
  }
5396
5395
  };
@@ -5399,7 +5398,7 @@ var UniversalHome2 = ({
5399
5398
  try {
5400
5399
  if (onLogout) await onLogout();
5401
5400
  } catch (e) {
5402
- import_react_hot_toast14.default.error("Failed to log out cleanly.");
5401
+ import_react_hot_toast15.default.error("Failed to log out cleanly.");
5403
5402
  } finally {
5404
5403
  setIsLoggingOut(false);
5405
5404
  setShowLogoutConfirm(false);
@@ -5552,7 +5551,7 @@ var UniversalHome2 = ({
5552
5551
 
5553
5552
  // src/components/UniversalSettings.tsx
5554
5553
  var import_react89 = __toESM(require("react"));
5555
- var import_react_hot_toast15 = __toESM(require("react-hot-toast"));
5554
+ var import_react_hot_toast16 = __toESM(require("react-hot-toast"));
5556
5555
  var import_react90 = require("@hugeicons/react");
5557
5556
  var import_core_free_icons34 = require("@hugeicons/core-free-icons");
5558
5557
  var MemberAvatar3 = ({ src, status, sizeClass = "w-10 h-10" }) => {
@@ -5685,13 +5684,13 @@ var UniversalSettings = ({
5685
5684
  const file = e.target.files?.[0];
5686
5685
  if (!file) return;
5687
5686
  if (file.size > 1024 * 1024) {
5688
- import_react_hot_toast15.default.error("Image size must be less than 1MB.");
5687
+ import_react_hot_toast16.default.error("Image size must be less than 1MB.");
5689
5688
  e.target.value = "";
5690
5689
  return;
5691
5690
  }
5692
5691
  const validTypes = ["image/jpeg", "image/jpg", "image/png"];
5693
5692
  if (!validTypes.includes(file.type)) {
5694
- import_react_hot_toast15.default.error("Only PNG and JPEG images are allowed.");
5693
+ import_react_hot_toast16.default.error("Only PNG and JPEG images are allowed.");
5695
5694
  e.target.value = "";
5696
5695
  return;
5697
5696
  }
@@ -5726,11 +5725,11 @@ var UniversalSettings = ({
5726
5725
  setIsRemoving(true);
5727
5726
  try {
5728
5727
  await onRemoveMember(memberToRemove.userId);
5729
- import_react_hot_toast15.default.success("Member removed successfully.");
5728
+ import_react_hot_toast16.default.success("Member removed successfully.");
5730
5729
  setExpandedId(null);
5731
5730
  setMemberToRemove(null);
5732
5731
  } catch (error) {
5733
- import_react_hot_toast15.default.error(error.message || "Failed to remove member.");
5732
+ import_react_hot_toast16.default.error(error.message || "Failed to remove member.");
5734
5733
  } finally {
5735
5734
  setIsRemoving(false);
5736
5735
  }
@@ -5744,7 +5743,7 @@ var UniversalSettings = ({
5744
5743
  setInviteEmail("");
5745
5744
  setIsInviteMode(false);
5746
5745
  } catch (error) {
5747
- import_react_hot_toast15.default.error(error.message || "Failed to send invitation.");
5746
+ import_react_hot_toast16.default.error(error.message || "Failed to send invitation.");
5748
5747
  } finally {
5749
5748
  setIsInviting(false);
5750
5749
  }
@@ -5792,7 +5791,7 @@ var UniversalSettings = ({
5792
5791
  const handleSaveOrganization = async (e) => {
5793
5792
  e.preventDefault();
5794
5793
  if (isSavingOrg || isCheckingSlug || !canManage || !onSaveOrganization) return;
5795
- if (orgSlug !== initialOrgSlug && slugAvailable === false) return import_react_hot_toast15.default.error("Address handle unavailable.");
5794
+ if (orgSlug !== initialOrgSlug && slugAvailable === false) return import_react_hot_toast16.default.error("Address handle unavailable.");
5796
5795
  setIsSavingOrg(true);
5797
5796
  try {
5798
5797
  let finalAvatarUrl = orgAvatarUrl;
@@ -5805,7 +5804,7 @@ var UniversalSettings = ({
5805
5804
  setOrgAvatarUrl(finalAvatarUrl);
5806
5805
  }
5807
5806
  } catch (err) {
5808
- import_react_hot_toast15.default.error("Failed to securely upload workspace avatar.");
5807
+ import_react_hot_toast16.default.error("Failed to securely upload workspace avatar.");
5809
5808
  setIsSavingOrg(false);
5810
5809
  setIsUploadingOrgAvatar(false);
5811
5810
  return;
@@ -5814,10 +5813,10 @@ var UniversalSettings = ({
5814
5813
  setIsUploadingOrgAvatar(false);
5815
5814
  }
5816
5815
  const res = await onSaveOrganization({ name: orgName, slug: orgSlug, avatarUrl: finalAvatarUrl });
5817
- if (res.success) import_react_hot_toast15.default.success("Workspace updated successfully.");
5818
- else import_react_hot_toast15.default.error(res.error || "Failed to update workspace.");
5816
+ if (res.success) import_react_hot_toast16.default.success("Workspace updated successfully.");
5817
+ else import_react_hot_toast16.default.error(res.error || "Failed to update workspace.");
5819
5818
  } catch (error) {
5820
- import_react_hot_toast15.default.error("Service unavailable.");
5819
+ import_react_hot_toast16.default.error("Service unavailable.");
5821
5820
  } finally {
5822
5821
  setIsSavingOrg(false);
5823
5822
  setIsUploadingOrgAvatar(false);
@@ -5838,7 +5837,7 @@ var UniversalSettings = ({
5838
5837
  setAvatarUrl(finalAvatarUrl);
5839
5838
  }
5840
5839
  } catch (err) {
5841
- import_react_hot_toast15.default.error("Failed to securely upload profile avatar.");
5840
+ import_react_hot_toast16.default.error("Failed to securely upload profile avatar.");
5842
5841
  setIsSavingProfile(false);
5843
5842
  setIsUploadingUserAvatar(false);
5844
5843
  return;
@@ -5847,10 +5846,10 @@ var UniversalSettings = ({
5847
5846
  setIsUploadingUserAvatar(false);
5848
5847
  }
5849
5848
  const res = await onSaveProfile({ firstName, lastName, jobTitle, description, avatarUrl: finalAvatarUrl });
5850
- if (res.success) import_react_hot_toast15.default.success("Identity updated successfully.");
5851
- else import_react_hot_toast15.default.error(res.error || "Failed to update identity.");
5849
+ if (res.success) import_react_hot_toast16.default.success("Identity updated successfully.");
5850
+ else import_react_hot_toast16.default.error(res.error || "Failed to update identity.");
5852
5851
  } catch (error) {
5853
- import_react_hot_toast15.default.error("Service unavailable.");
5852
+ import_react_hot_toast16.default.error("Service unavailable.");
5854
5853
  } finally {
5855
5854
  setIsSavingProfile(false);
5856
5855
  setIsUploadingUserAvatar(false);
@@ -5917,7 +5916,7 @@ var UniversalSettings = ({
5917
5916
 
5918
5917
  // src/components/UniversalCreateHuddle.tsx
5919
5918
  var import_react91 = __toESM(require("react"));
5920
- var import_react_hot_toast16 = __toESM(require("react-hot-toast"));
5919
+ var import_react_hot_toast17 = __toESM(require("react-hot-toast"));
5921
5920
  var import_react92 = require("@hugeicons/react");
5922
5921
  var import_core_free_icons35 = require("@hugeicons/core-free-icons");
5923
5922
  var MemberAvatar4 = ({ src, sizeClass = "w-10 h-10" }) => {
@@ -6008,8 +6007,8 @@ var UniversalCreateHuddle = ({
6008
6007
  e.preventDefault();
6009
6008
  if (!canManage) return;
6010
6009
  const cleanTitle = title.trim();
6011
- if (cleanTitle.length < 2) return import_react_hot_toast16.default.error("Please enter a valid huddle name.");
6012
- if (isPrivate && selectedParticipants.size === 0) return import_react_hot_toast16.default.error("Private huddles require at least one participant.");
6010
+ if (cleanTitle.length < 2) return import_react_hot_toast17.default.error("Please enter a valid huddle name.");
6011
+ if (isPrivate && selectedParticipants.size === 0) return import_react_hot_toast17.default.error("Private huddles require at least one participant.");
6013
6012
  setIsSubmitting(true);
6014
6013
  try {
6015
6014
  await onCreateSubmit({
@@ -6020,7 +6019,7 @@ var UniversalCreateHuddle = ({
6020
6019
  participantIds: isPrivate ? Array.from(selectedParticipants) : []
6021
6020
  });
6022
6021
  } catch (error) {
6023
- import_react_hot_toast16.default.error(error.message || "Failed to schedule huddle.");
6022
+ import_react_hot_toast17.default.error(error.message || "Failed to schedule huddle.");
6024
6023
  setIsSubmitting(false);
6025
6024
  }
6026
6025
  };
package/dist/index.mjs CHANGED
@@ -3387,6 +3387,7 @@ var ManagedDocument = ({
3387
3387
  import React32, { useState as useState24 } from "react";
3388
3388
  import { HugeiconsIcon as HugeiconsIcon24 } from "@hugeicons/react";
3389
3389
  import { Loading03Icon as Loading03Icon14 } from "@hugeicons/core-free-icons";
3390
+ import toast9 from "react-hot-toast";
3390
3391
  var TextInput2 = ({
3391
3392
  label,
3392
3393
  value,
@@ -3463,11 +3464,9 @@ var ManagedContactBlock = ({
3463
3464
  }) => {
3464
3465
  const [formData, setFormData] = useState24({ name: "", email: "", title: "", phone: "", message: "" });
3465
3466
  const [status, setStatus] = useState24("idle");
3466
- const [responseMessage, setResponseMessage] = useState24("");
3467
3467
  const handleSubmit = async (e) => {
3468
3468
  e.preventDefault();
3469
3469
  setStatus("loading");
3470
- setResponseMessage("");
3471
3470
  try {
3472
3471
  const res = await fetch("/api/contact", {
3473
3472
  method: "POST",
@@ -3477,15 +3476,15 @@ var ManagedContactBlock = ({
3477
3476
  const data = await res.json();
3478
3477
  if (res.ok) {
3479
3478
  setStatus("success");
3480
- setResponseMessage(data.message || "Message sent successfully!");
3479
+ toast9.success(data.message || "Message sent successfully!");
3481
3480
  setFormData({ name: "", email: "", title: "", phone: "", message: "" });
3482
3481
  } else {
3483
3482
  setStatus("error");
3484
- setResponseMessage(data.error || "Failed to send message.");
3483
+ toast9.error(data.error || "Failed to send message.");
3485
3484
  }
3486
3485
  } catch (error) {
3487
3486
  setStatus("error");
3488
- setResponseMessage("An unexpected error occurred. Please try again.");
3487
+ toast9.error("An unexpected error occurred. Please try again.");
3489
3488
  }
3490
3489
  };
3491
3490
  return /* @__PURE__ */ React32.createElement("div", { className: "grow pt-4 pb-20 px-4 md:px-8 w-full flex justify-center z-10 relative" }, /* @__PURE__ */ React32.createElement("div", { className: "relative bg-white rounded-2xl w-full max-w-7xl mx-auto overflow-hidden" }, /* @__PURE__ */ React32.createElement(
@@ -3569,7 +3568,7 @@ var ManagedContactBlock = ({
3569
3568
  onChange: (val) => setFormData({ ...formData, message: val }),
3570
3569
  disabled: status === "loading"
3571
3570
  }
3572
- ), responseMessage && /* @__PURE__ */ React32.createElement("p", { className: `text-sm ${status === "error" ? "text-red-500" : "text-green-600"}` }, responseMessage), /* @__PURE__ */ React32.createElement("div", { className: "pt-4" }, /* @__PURE__ */ React32.createElement(
3571
+ ), /* @__PURE__ */ React32.createElement("div", { className: "pt-4" }, /* @__PURE__ */ React32.createElement(
3573
3572
  ThreeDActionButton2,
3574
3573
  {
3575
3574
  type: "submit",
@@ -4281,7 +4280,7 @@ var UniversalVerificationPage = ({
4281
4280
  // src/components/UniversalRewardPage.tsx
4282
4281
  import React44, { useState as useState30 } from "react";
4283
4282
  import axios from "axios";
4284
- import toast9 from "react-hot-toast";
4283
+ import toast10 from "react-hot-toast";
4285
4284
  import Confetti from "react-confetti";
4286
4285
  import { useWindowSize } from "react-use";
4287
4286
  import { HugeiconsIcon as HugeiconsIcon30 } from "@hugeicons/react";
@@ -4336,7 +4335,7 @@ var UniversalRewardPage = ({
4336
4335
  const res = await axios.post(selectedReward.endpoint, selectedReward.config);
4337
4336
  if (res.data.success) {
4338
4337
  setShowConfetti(true);
4339
- toast9.success(res.data.message || "Reward claimed successfully!");
4338
+ toast10.success(res.data.message || "Reward claimed successfully!");
4340
4339
  setSelectedReward(null);
4341
4340
  onRefresh();
4342
4341
  setTimeout(() => {
@@ -4344,7 +4343,7 @@ var UniversalRewardPage = ({
4344
4343
  }, 6e3);
4345
4344
  }
4346
4345
  } catch (error) {
4347
- toast9.error(error.response?.data?.error || "Failed to claim reward. Please try again.");
4346
+ toast10.error(error.response?.data?.error || "Failed to claim reward. Please try again.");
4348
4347
  } finally {
4349
4348
  setIsClaiming(false);
4350
4349
  }
@@ -4394,7 +4393,7 @@ var UniversalRewardPage = ({
4394
4393
 
4395
4394
  // src/components/UniversalReferralPage.tsx
4396
4395
  import React45, { useState as useState31 } from "react";
4397
- import toast10 from "react-hot-toast";
4396
+ import toast11 from "react-hot-toast";
4398
4397
  import { HugeiconsIcon as HugeiconsIcon31 } from "@hugeicons/react";
4399
4398
  import {
4400
4399
  ArrowLeft01Icon as ArrowLeft01Icon12,
@@ -4428,9 +4427,9 @@ var UniversalReferralPage = ({
4428
4427
  if (!referralCode) return;
4429
4428
  try {
4430
4429
  await navigator.clipboard.writeText(referralCode);
4431
- toast10.success("Referral code copied!");
4430
+ toast11.success("Referral code copied!");
4432
4431
  } catch {
4433
- toast10.error("Failed to copy code.");
4432
+ toast11.error("Failed to copy code.");
4434
4433
  }
4435
4434
  };
4436
4435
  const AvatarLogo2 = ({ src, alt, name, sizeClass = "w-10 h-10" }) => {
@@ -4739,7 +4738,7 @@ var PinDialerBottomSheet = ({
4739
4738
 
4740
4739
  // src/components/UniversalBuyCryptoPage.tsx
4741
4740
  import React48, { useState as useState34, useEffect as useEffect18, useRef as useRef12, useCallback } from "react";
4742
- import toast11 from "react-hot-toast";
4741
+ import toast12 from "react-hot-toast";
4743
4742
  import { HugeiconsIcon as HugeiconsIcon34 } from "@hugeicons/react";
4744
4743
  import {
4745
4744
  ArrowLeft01Icon as ArrowLeft01Icon14,
@@ -4865,7 +4864,7 @@ var UniversalBuyCryptoPage = ({
4865
4864
  if (result.ratePerToken) setRateDisplay(result.ratePerToken);
4866
4865
  if (result.rateKey) setCurrentRateKey(result.rateKey);
4867
4866
  } catch {
4868
- toast11.error("Failed to calculate live rate.");
4867
+ toast12.error("Failed to calculate live rate.");
4869
4868
  } finally {
4870
4869
  setIsCalculating(false);
4871
4870
  }
@@ -4896,11 +4895,11 @@ var UniversalBuyCryptoPage = ({
4896
4895
  const handleCheckout = async () => {
4897
4896
  const numFiat = parseFloat(fiatAmount) || 0;
4898
4897
  const numCrypto = parseFloat(cryptoAmount) || 0;
4899
- if (numFiat <= 0 || numCrypto <= 0) return toast11.error("Please enter a valid amount.");
4898
+ if (numFiat <= 0 || numCrypto <= 0) return toast12.error("Please enter a valid amount.");
4900
4899
  if (selectedNetwork.minimumWithdrawal && numCrypto < selectedNetwork.minimumWithdrawal) {
4901
- return toast11.error(`Minimum purchase for ${selectedNetwork.name} is ${selectedNetwork.minimumWithdrawal} ${selectedCrypto.code}`);
4900
+ return toast12.error(`Minimum purchase for ${selectedNetwork.name} is ${selectedNetwork.minimumWithdrawal} ${selectedCrypto.code}`);
4902
4901
  }
4903
- if (!recipientAddress.trim() || !isAddressValid) return toast11.error("Please enter a valid wallet address.");
4902
+ if (!recipientAddress.trim() || !isAddressValid) return toast12.error("Please enter a valid wallet address.");
4904
4903
  if (onSubmitCheckout) {
4905
4904
  setIsSubmitting(true);
4906
4905
  try {
@@ -5103,7 +5102,7 @@ var UniversalHuddlesPage = ({
5103
5102
  // src/components/UniversalMembersPage.tsx
5104
5103
  import React50, { useState as useState35, useEffect as useEffect19, useRef as useRef13 } from "react";
5105
5104
  import { HugeiconsIcon as HugeiconsIcon36 } from "@hugeicons/react";
5106
- import toast12 from "react-hot-toast";
5105
+ import toast13 from "react-hot-toast";
5107
5106
  import {
5108
5107
  ArrowLeft01Icon as ArrowLeft01Icon16,
5109
5108
  ArrowRight01Icon as ArrowRight01Icon11,
@@ -5205,11 +5204,11 @@ var UniversalMembersPage = ({
5205
5204
  setIsRemoving(true);
5206
5205
  try {
5207
5206
  await onRemoveMember(memberToRemove.id);
5208
- toast12.success("Member removed successfully.");
5207
+ toast13.success("Member removed successfully.");
5209
5208
  setExpandedId(null);
5210
5209
  setMemberToRemove(null);
5211
5210
  } catch (error) {
5212
- toast12.error("Failed to remove member.");
5211
+ toast13.error("Failed to remove member.");
5213
5212
  } finally {
5214
5213
  setIsRemoving(false);
5215
5214
  }
@@ -5223,7 +5222,7 @@ var UniversalMembersPage = ({
5223
5222
  setInviteEmail("");
5224
5223
  setIsInviteMode(false);
5225
5224
  } catch (error) {
5226
- toast12.error(error.message || "Failed to send invitation.");
5225
+ toast13.error(error.message || "Failed to send invitation.");
5227
5226
  } finally {
5228
5227
  setIsInviting(false);
5229
5228
  }
@@ -5370,7 +5369,7 @@ var UniversalMembersPage = ({
5370
5369
  import React51, { useState as useState36 } from "react";
5371
5370
  import { useRouter as useRouter3 } from "next/navigation";
5372
5371
  import { HugeiconsIcon as HugeiconsIcon37 } from "@hugeicons/react";
5373
- import toast13 from "react-hot-toast";
5372
+ import toast14 from "react-hot-toast";
5374
5373
  import {
5375
5374
  Loading03Icon as Loading03Icon25,
5376
5375
  Notification01Icon as Notification01Icon2,
@@ -5434,7 +5433,7 @@ var UniversalHome2 = ({
5434
5433
  await onResolveInvite(selectedNotif, resolution);
5435
5434
  window.location.reload();
5436
5435
  } catch (error) {
5437
- toast13.error("Failed to process invitation");
5436
+ toast14.error("Failed to process invitation");
5438
5437
  setIsResolving(false);
5439
5438
  }
5440
5439
  };
@@ -5443,7 +5442,7 @@ var UniversalHome2 = ({
5443
5442
  try {
5444
5443
  if (onLogout) await onLogout();
5445
5444
  } catch (e) {
5446
- toast13.error("Failed to log out cleanly.");
5445
+ toast14.error("Failed to log out cleanly.");
5447
5446
  } finally {
5448
5447
  setIsLoggingOut(false);
5449
5448
  setShowLogoutConfirm(false);
@@ -5596,7 +5595,7 @@ var UniversalHome2 = ({
5596
5595
 
5597
5596
  // src/components/UniversalSettings.tsx
5598
5597
  import React52, { useState as useState37, useEffect as useEffect20, useRef as useRef14 } from "react";
5599
- import toast14 from "react-hot-toast";
5598
+ import toast15 from "react-hot-toast";
5600
5599
  import { HugeiconsIcon as HugeiconsIcon38 } from "@hugeicons/react";
5601
5600
  import {
5602
5601
  ArrowLeft01Icon as ArrowLeft01Icon18,
@@ -5740,13 +5739,13 @@ var UniversalSettings = ({
5740
5739
  const file = e.target.files?.[0];
5741
5740
  if (!file) return;
5742
5741
  if (file.size > 1024 * 1024) {
5743
- toast14.error("Image size must be less than 1MB.");
5742
+ toast15.error("Image size must be less than 1MB.");
5744
5743
  e.target.value = "";
5745
5744
  return;
5746
5745
  }
5747
5746
  const validTypes = ["image/jpeg", "image/jpg", "image/png"];
5748
5747
  if (!validTypes.includes(file.type)) {
5749
- toast14.error("Only PNG and JPEG images are allowed.");
5748
+ toast15.error("Only PNG and JPEG images are allowed.");
5750
5749
  e.target.value = "";
5751
5750
  return;
5752
5751
  }
@@ -5781,11 +5780,11 @@ var UniversalSettings = ({
5781
5780
  setIsRemoving(true);
5782
5781
  try {
5783
5782
  await onRemoveMember(memberToRemove.userId);
5784
- toast14.success("Member removed successfully.");
5783
+ toast15.success("Member removed successfully.");
5785
5784
  setExpandedId(null);
5786
5785
  setMemberToRemove(null);
5787
5786
  } catch (error) {
5788
- toast14.error(error.message || "Failed to remove member.");
5787
+ toast15.error(error.message || "Failed to remove member.");
5789
5788
  } finally {
5790
5789
  setIsRemoving(false);
5791
5790
  }
@@ -5799,7 +5798,7 @@ var UniversalSettings = ({
5799
5798
  setInviteEmail("");
5800
5799
  setIsInviteMode(false);
5801
5800
  } catch (error) {
5802
- toast14.error(error.message || "Failed to send invitation.");
5801
+ toast15.error(error.message || "Failed to send invitation.");
5803
5802
  } finally {
5804
5803
  setIsInviting(false);
5805
5804
  }
@@ -5847,7 +5846,7 @@ var UniversalSettings = ({
5847
5846
  const handleSaveOrganization = async (e) => {
5848
5847
  e.preventDefault();
5849
5848
  if (isSavingOrg || isCheckingSlug || !canManage || !onSaveOrganization) return;
5850
- if (orgSlug !== initialOrgSlug && slugAvailable === false) return toast14.error("Address handle unavailable.");
5849
+ if (orgSlug !== initialOrgSlug && slugAvailable === false) return toast15.error("Address handle unavailable.");
5851
5850
  setIsSavingOrg(true);
5852
5851
  try {
5853
5852
  let finalAvatarUrl = orgAvatarUrl;
@@ -5860,7 +5859,7 @@ var UniversalSettings = ({
5860
5859
  setOrgAvatarUrl(finalAvatarUrl);
5861
5860
  }
5862
5861
  } catch (err) {
5863
- toast14.error("Failed to securely upload workspace avatar.");
5862
+ toast15.error("Failed to securely upload workspace avatar.");
5864
5863
  setIsSavingOrg(false);
5865
5864
  setIsUploadingOrgAvatar(false);
5866
5865
  return;
@@ -5869,10 +5868,10 @@ var UniversalSettings = ({
5869
5868
  setIsUploadingOrgAvatar(false);
5870
5869
  }
5871
5870
  const res = await onSaveOrganization({ name: orgName, slug: orgSlug, avatarUrl: finalAvatarUrl });
5872
- if (res.success) toast14.success("Workspace updated successfully.");
5873
- else toast14.error(res.error || "Failed to update workspace.");
5871
+ if (res.success) toast15.success("Workspace updated successfully.");
5872
+ else toast15.error(res.error || "Failed to update workspace.");
5874
5873
  } catch (error) {
5875
- toast14.error("Service unavailable.");
5874
+ toast15.error("Service unavailable.");
5876
5875
  } finally {
5877
5876
  setIsSavingOrg(false);
5878
5877
  setIsUploadingOrgAvatar(false);
@@ -5893,7 +5892,7 @@ var UniversalSettings = ({
5893
5892
  setAvatarUrl(finalAvatarUrl);
5894
5893
  }
5895
5894
  } catch (err) {
5896
- toast14.error("Failed to securely upload profile avatar.");
5895
+ toast15.error("Failed to securely upload profile avatar.");
5897
5896
  setIsSavingProfile(false);
5898
5897
  setIsUploadingUserAvatar(false);
5899
5898
  return;
@@ -5902,10 +5901,10 @@ var UniversalSettings = ({
5902
5901
  setIsUploadingUserAvatar(false);
5903
5902
  }
5904
5903
  const res = await onSaveProfile({ firstName, lastName, jobTitle, description, avatarUrl: finalAvatarUrl });
5905
- if (res.success) toast14.success("Identity updated successfully.");
5906
- else toast14.error(res.error || "Failed to update identity.");
5904
+ if (res.success) toast15.success("Identity updated successfully.");
5905
+ else toast15.error(res.error || "Failed to update identity.");
5907
5906
  } catch (error) {
5908
- toast14.error("Service unavailable.");
5907
+ toast15.error("Service unavailable.");
5909
5908
  } finally {
5910
5909
  setIsSavingProfile(false);
5911
5910
  setIsUploadingUserAvatar(false);
@@ -5972,7 +5971,7 @@ var UniversalSettings = ({
5972
5971
 
5973
5972
  // src/components/UniversalCreateHuddle.tsx
5974
5973
  import React53, { useState as useState38, useEffect as useEffect21, useRef as useRef15 } from "react";
5975
- import toast15 from "react-hot-toast";
5974
+ import toast16 from "react-hot-toast";
5976
5975
  import { HugeiconsIcon as HugeiconsIcon39 } from "@hugeicons/react";
5977
5976
  import {
5978
5977
  ArrowLeft01Icon as ArrowLeft01Icon19,
@@ -6073,8 +6072,8 @@ var UniversalCreateHuddle = ({
6073
6072
  e.preventDefault();
6074
6073
  if (!canManage) return;
6075
6074
  const cleanTitle = title.trim();
6076
- if (cleanTitle.length < 2) return toast15.error("Please enter a valid huddle name.");
6077
- if (isPrivate && selectedParticipants.size === 0) return toast15.error("Private huddles require at least one participant.");
6075
+ if (cleanTitle.length < 2) return toast16.error("Please enter a valid huddle name.");
6076
+ if (isPrivate && selectedParticipants.size === 0) return toast16.error("Private huddles require at least one participant.");
6078
6077
  setIsSubmitting(true);
6079
6078
  try {
6080
6079
  await onCreateSubmit({
@@ -6085,7 +6084,7 @@ var UniversalCreateHuddle = ({
6085
6084
  participantIds: isPrivate ? Array.from(selectedParticipants) : []
6086
6085
  });
6087
6086
  } catch (error) {
6088
- toast15.error(error.message || "Failed to schedule huddle.");
6087
+ toast16.error(error.message || "Failed to schedule huddle.");
6089
6088
  setIsSubmitting(false);
6090
6089
  }
6091
6090
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@retinalabsllc/zairusjs",
3
- "version": "21.1.3",
3
+ "version": "21.1.4",
4
4
  "description": "A perceptive, Ai data driven Next.js UI component library.",
5
5
  "author": "Retina Labs Company",
6
6
  "license": "MIT",