@velora-dex/widget 0.7.0 → 0.7.1

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 (53) hide show
  1. package/dist/components/ui/drawer.js +1 -1
  2. package/dist/components/ui/tooltip.js +1 -1
  3. package/dist/components/ui/tooltip.js.map +1 -1
  4. package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
  5. package/dist/components/widget/AppHeader/AppHeader.js +45 -41
  6. package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
  7. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts +3 -1
  8. package/dist/components/widget/AppHeader/TradeModeSwitcher.d.ts.map +1 -1
  9. package/dist/components/widget/AppHeader/TradeModeSwitcher.js +69 -34
  10. package/dist/components/widget/AppHeader/TradeModeSwitcher.js.map +1 -1
  11. package/dist/components/widget/SwapRate/SwapRate.d.ts +2 -1
  12. package/dist/components/widget/SwapRate/SwapRate.d.ts.map +1 -1
  13. package/dist/components/widget/SwapRate/SwapRate.js +25 -37
  14. package/dist/components/widget/SwapRate/SwapRate.js.map +1 -1
  15. package/dist/components/widget/SwapRate/SwapRateWithTooltip.d.ts +3 -0
  16. package/dist/components/widget/SwapRate/SwapRateWithTooltip.d.ts.map +1 -0
  17. package/dist/components/widget/SwapRate/SwapRateWithTooltip.js +42 -0
  18. package/dist/components/widget/SwapRate/SwapRateWithTooltip.js.map +1 -0
  19. package/dist/components/widget/SwapRate/utils.d.ts +3 -0
  20. package/dist/components/widget/SwapRate/utils.d.ts.map +1 -0
  21. package/dist/components/widget/SwapRate/utils.js +26 -0
  22. package/dist/components/widget/SwapRate/utils.js.map +1 -0
  23. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.d.ts.map +1 -1
  24. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js +20 -27
  25. package/dist/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.js.map +1 -1
  26. package/dist/core/index.js +1 -1
  27. package/dist/core/index.js.map +1 -1
  28. package/dist/core/logger.d.ts +2 -2
  29. package/dist/core/logger.d.ts.map +1 -1
  30. package/dist/core/logger.js +8 -2
  31. package/dist/core/logger.js.map +1 -1
  32. package/dist/core/screen/hooks/useRunOnMount.d.ts +10 -0
  33. package/dist/core/screen/hooks/useRunOnMount.d.ts.map +1 -1
  34. package/dist/core/screen/hooks/useRunOnMount.js +6 -1
  35. package/dist/core/screen/hooks/useRunOnMount.js.map +1 -1
  36. package/dist/external/.pnpm/{vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d → vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1}/external/vaul/dist/index.js +1 -1
  37. package/dist/external/.pnpm/{vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d → vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1}/external/vaul/dist/index.js.map +1 -1
  38. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  39. package/dist/hooks/swap/tradeFlow/useLimitOrderFlow.js.map +1 -1
  40. package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
  41. package/dist/hooks/swap/tradeFlow/useTwapFlow.js.map +1 -1
  42. package/dist/lib/utils/logger.d.ts +7 -4
  43. package/dist/lib/utils/logger.d.ts.map +1 -1
  44. package/dist/lib/utils/logger.js +70 -33
  45. package/dist/lib/utils/logger.js.map +1 -1
  46. package/dist/lib/web3/wagmi/isInsideSafeIframe.js +11 -11
  47. package/dist/lib/web3/wagmi/isInsideSafeIframe.js.map +1 -1
  48. package/dist/styles.css +1 -1
  49. package/dist/tokens/utils/transferAmountsFromReceipt.js +14 -14
  50. package/dist/tokens/utils/transferAmountsFromReceipt.js.map +1 -1
  51. package/dist/transactions/queries/ensureTxReceipt.js +8 -8
  52. package/dist/transactions/queries/ensureTxReceipt.js.map +1 -1
  53. package/package.json +7 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","names":["formatUnits","SwapRateProps","calcRate","getRateString","srcToken","_srcToken","destToken","_destToken","srcAmountWei","_srcAmountWei","destAmountWei","_destAmountWei","reverse","prefix","Omit","undefined","srcUnits","BigInt","decimals","destUnits","rateFormatted","rateText","symbol","address"],"sources":["../../../../src/components/widget/SwapRate/utils.ts"],"sourcesContent":["import { formatUnits } from \"viem\";\nimport type { SwapRateProps } from \"./types\";\nimport { calcRate } from \"@/lib/utils/rate\";\n\nexport function getRateString({\n srcToken: _srcToken,\n destToken: _destToken,\n srcAmountWei: _srcAmountWei,\n destAmountWei: _destAmountWei,\n reverse,\n prefix,\n}: Omit<SwapRateProps, \"isLoading\">): string | null {\n if (!_destToken) return null;\n\n const { srcToken, destToken, srcAmountWei, destAmountWei } = reverse\n ? {\n srcToken: _destToken,\n destToken: _srcToken,\n srcAmountWei: _destAmountWei,\n destAmountWei: _srcAmountWei,\n }\n : {\n srcToken: _srcToken,\n destToken: _destToken,\n srcAmountWei: _srcAmountWei,\n destAmountWei: _destAmountWei,\n };\n\n if (srcAmountWei === undefined || destAmountWei === undefined) return null;\n\n const srcUnits = formatUnits(BigInt(srcAmountWei), srcToken.decimals);\n const destUnits = formatUnits(BigInt(destAmountWei), destToken.decimals);\n\n const rateFormatted = calcRate(srcUnits, destUnits)?.rateFormatted;\n if (!rateFormatted) {\n // will happen when destAmount is not yet filled from the first price fetch (=\"0\")\n return null;\n }\n\n const rateText = `1 ${srcToken.symbol ?? srcToken.address} = ${rateFormatted} ${destToken.symbol ?? destToken.address}`;\n\n if (prefix) {\n return `${prefix} ${rateText}`;\n }\n\n return rateText;\n}\n"],"mappings":";;;AAIA,SAAgBG,EAAc,EAC5BC,UAAUC,GACVC,WAAWC,GACXC,cAAcC,GACdC,eAAeC,GACfC,YACAC,aACkD;AAClD,KAAI,CAACN,EAAY,QAAO;CAExB,IAAM,EAAEH,aAAUE,cAAWE,iBAAcE,qBAAkBE,IACzD;EACER,UAAUG;EACVD,WAAWD;EACXG,cAAcG;EACdD,eAAeD;EAChB,GACD;EACEL,UAAUC;EACVC,WAAWC;EACXC,cAAcC;EACdC,eAAeC;EAChB;AAEL,KAAIH,MAAiBO,KAAAA,KAAaL,MAAkBK,KAAAA,EAAW,QAAO;CAKtE,IAAMK,IAAgBlB,EAHLF,EAAYiB,OAAOT,EAAa,EAAEJ,EAASc,SAAS,EACnDlB,EAAYiB,OAAOP,EAAc,EAAEJ,EAAUY,SAAS,CAErB,EAAEE;AACrD,KAAI,CAACA,EAEH,QAAO;CAGT,IAAMC,IAAW,KAAKjB,EAASkB,UAAUlB,EAASmB,QAAO,KAAMH,EAAa,GAAId,EAAUgB,UAAUhB,EAAUiB;AAM9G,QAJIV,IACK,GAAGA,EAAM,GAAIQ,MAGfA"}
@@ -1 +1 @@
1
- {"version":3,"file":"SwapRateWithPriceImpactRow.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAElE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAEvD,eAAO,MAAM,0BAA0B,GAAI,uCAGxC;IACD,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;CAC9B,4CAiDA,CAAC"}
1
+ {"version":3,"file":"SwapRateWithPriceImpactRow.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.tsx"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,eAAO,MAAM,0BAA0B,GAAI,uCAGxC;IACD,iBAAiB,EAAE,iBAAiB,CAAC;IACrC,aAAa,EAAE,aAAa,CAAC;CAC9B,4CAwCA,CAAC"}
@@ -1,48 +1,41 @@
1
1
  import { cn as e } from "../../../lib/utils/index.js";
2
2
  import { Skeleton as t } from "../../ui/skeleton.js";
3
3
  import { Tooltip as n, TooltipContent as r, TooltipTrigger as i } from "../../ui/tooltip.js";
4
- import { SwapRate as a } from "../SwapRate/SwapRate.js";
5
- import { ForwardRef as o } from "../../../assets/price-impact.js";
4
+ import { ForwardRef as a } from "../../../assets/price-impact.js";
5
+ import { SwapRateWithTooltip as o } from "../SwapRate/SwapRateWithTooltip.js";
6
6
  import { c as s } from "react-compiler-runtime";
7
7
  import { jsx as c, jsxs as l } from "react/jsx-runtime";
8
8
  //#region src/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.tsx
9
9
  var u = (u) => {
10
- let d = s(22), { priceImpactDetail: f, swapRateProps: p } = u, { isHighImpact: m, isMediumImpact: h, isUnavailable: g, value: _, isLoading: v, classes: y } = f, b;
11
- d[0] === p ? b = d[1] : (b = /* @__PURE__ */ c(i, {
12
- asChild: !0,
13
- children: /* @__PURE__ */ c("div", { children: /* @__PURE__ */ c(a, { ...p }) })
14
- }), d[0] = p, d[1] = b);
10
+ let d = s(19), { priceImpactDetail: f, swapRateProps: p } = u, { isHighImpact: m, isMediumImpact: h, isUnavailable: g, value: _, isLoading: v, classes: y } = f, b;
11
+ d[0] === p ? b = d[1] : (b = /* @__PURE__ */ c(o, { ...p }), d[0] = p, d[1] = b);
15
12
  let x;
16
- d[2] === Symbol.for("react.memo_cache_sentinel") ? (x = /* @__PURE__ */ c(r, { children: "Best price for this trade based on the current market conditions" }), d[2] = x) : x = d[2];
17
- let S;
18
- d[3] === b ? S = d[4] : (S = /* @__PURE__ */ l(n, { children: [b, x] }), d[3] = b, d[4] = S);
19
- let C;
20
- d[5] !== m || d[6] !== h || d[7] !== g ? (C = !m && /* @__PURE__ */ c(o, { className: e("size-[16px]", {
13
+ d[2] !== m || d[3] !== h || d[4] !== g ? (x = !m && /* @__PURE__ */ c(a, { className: e("size-[16px]", {
21
14
  "text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1": h,
22
15
  "text-secondary-radical-red-2 dark:text-secondary-radical-red-2": g
23
- }) }), d[5] = m, d[6] = h, d[7] = g, d[8] = C) : C = d[8];
24
- let w;
25
- d[9] !== y?.value || d[10] !== v || d[11] !== _ ? (w = v ? /* @__PURE__ */ c(t, { className: "bg-contrast-6 dark:bg-contrast-5 min-w-[42px] h-[12px]" }) : /* @__PURE__ */ c("div", {
16
+ }) }), d[2] = m, d[3] = h, d[4] = g, d[5] = x) : x = d[5];
17
+ let S;
18
+ d[6] !== y?.value || d[7] !== v || d[8] !== _ ? (S = v ? /* @__PURE__ */ c(t, { className: "bg-contrast-6 dark:bg-contrast-5 min-w-[42px] h-[12px]" }) : /* @__PURE__ */ c("div", {
26
19
  className: e(y?.value, "text-nowrap"),
27
20
  children: _ ?? "-"
28
- }), d[9] = y?.value, d[10] = v, d[11] = _, d[12] = w) : w = d[12];
29
- let T;
30
- d[13] !== C || d[14] !== w ? (T = /* @__PURE__ */ c(i, {
21
+ }), d[6] = y?.value, d[7] = v, d[8] = _, d[9] = S) : S = d[9];
22
+ let C;
23
+ d[10] !== x || d[11] !== S ? (C = /* @__PURE__ */ c(i, {
31
24
  asChild: !0,
32
25
  children: /* @__PURE__ */ l("div", {
33
26
  className: "flex items-center gap-1",
34
- children: [C, w]
27
+ children: [x, S]
35
28
  })
36
- }), d[13] = C, d[14] = w, d[15] = T) : T = d[15];
29
+ }), d[10] = x, d[11] = S, d[12] = C) : C = d[12];
30
+ let w;
31
+ d[13] === Symbol.for("react.memo_cache_sentinel") ? (w = /* @__PURE__ */ c(r, { children: "Price Impact" }), d[13] = w) : w = d[13];
32
+ let T;
33
+ d[14] === C ? T = d[15] : (T = /* @__PURE__ */ l(n, { children: [C, w] }), d[14] = C, d[15] = T);
37
34
  let E;
38
- d[16] === Symbol.for("react.memo_cache_sentinel") ? (E = /* @__PURE__ */ c(r, { children: "Price Impact" }), d[16] = E) : E = d[16];
39
- let D;
40
- d[17] === T ? D = d[18] : (D = /* @__PURE__ */ l(n, { children: [T, E] }), d[17] = T, d[18] = D);
41
- let O;
42
- return d[19] !== S || d[20] !== D ? (O = /* @__PURE__ */ l("div", {
35
+ return d[16] !== b || d[17] !== T ? (E = /* @__PURE__ */ l("div", {
43
36
  className: "flex items-center justify-between",
44
- children: [S, D]
45
- }), d[19] = S, d[20] = D, d[21] = O) : O = d[21], O;
37
+ children: [b, T]
38
+ }), d[16] = b, d[17] = T, d[18] = E) : E = d[18], E;
46
39
  };
47
40
  //#endregion
48
41
  export { u as SwapRateWithPriceImpactRow };
@@ -1 +1 @@
1
- {"version":3,"file":"SwapRateWithPriceImpactRow.js","names":["Tooltip","TooltipContent","TooltipTrigger","ReactComponent","PriceImpactSVG","cn","Skeleton","PriceImpactDetail","SwapRate","SwapRateProps","SwapRateWithPriceImpactRow","t0","$","_c","priceImpactDetail","swapRateProps","isHighImpact","isMediumImpact","isUnavailable","value","priceImpactValue","isLoading","classes","t1","t2","Symbol","for","t3","t4","t5","t6","t7","t8","t9"],"sources":["../../../../src/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.tsx"],"sourcesContent":["import {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { ReactComponent as PriceImpactSVG } from \"@/assets/price-impact.svg\";\nimport { cn } from \"@/lib/utils\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport type { PriceImpactDetail } from \"@/core/swapDetails/types\";\nimport { SwapRate } from \"../SwapRate/SwapRate\";\nimport type { SwapRateProps } from \"../SwapRate/types\";\n\nexport const SwapRateWithPriceImpactRow = ({\n priceImpactDetail,\n swapRateProps,\n}: {\n priceImpactDetail: PriceImpactDetail;\n swapRateProps: SwapRateProps;\n}) => {\n const {\n isHighImpact,\n isMediumImpact,\n isUnavailable,\n value: priceImpactValue,\n isLoading,\n classes,\n } = priceImpactDetail;\n\n return (\n <div className=\"flex items-center justify-between\">\n <Tooltip>\n <TooltipTrigger asChild>\n <div>\n <SwapRate {...swapRateProps} />\n </div>\n </TooltipTrigger>\n <TooltipContent>\n Best price for this trade based on the current market conditions\n </TooltipContent>\n </Tooltip>\n\n <Tooltip>\n <TooltipTrigger asChild>\n <div className=\"flex items-center gap-1\">\n {!isHighImpact && (\n <PriceImpactSVG\n className={cn(\"size-[16px]\", {\n \"text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\":\n isMediumImpact,\n \"text-secondary-radical-red-2 dark:text-secondary-radical-red-2\":\n isUnavailable,\n })}\n />\n )}\n {isLoading ? (\n <Skeleton className=\"bg-contrast-6 dark:bg-contrast-5 min-w-[42px] h-[12px]\" />\n ) : (\n <div className={cn(classes?.value, \"text-nowrap\")}>\n {priceImpactValue ?? \"-\"}\n </div>\n )}\n </div>\n </TooltipTrigger>\n <TooltipContent>Price Impact</TooltipContent>\n </Tooltip>\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAYA,IAAaU,KAA6BC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,sBAAAC,qBAAAJ,GAOzC,EAAAK,iBAAAC,mBAAAC,kBAAAC,OAAAC,GAAAC,cAAAC,eAOIR,GAAkBS;AAAA,CAAAX,EAAA,OAAAG,IASCQ,IAAAX,EAAA,MAJjBW,IAAA,kBAAC,GAAD;EAAgB,SAAA;YACd,kBAAA,OAAA,EAAA,UACE,kBAAC,GAAD,EAAS,GAAKR,GAChB,CAAA,EACF,CAAA;EAAiB,CAAA,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAW;CAAA,IAAAC;AAAA,CAAAZ,EAAA,OAAAa,OAAAC,IAAA,4BAAA,IACjBF,IAAA,kBAAC,GAAD,EAAA,UAAgB,oEAEC,CAAA,EAAAZ,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAe;AAAA,CAAAf,EAAA,OAAAW,IACTI,IAAAf,EAAA,MATVe,IAAA,kBAAC,GAAD,EAAA,UAAA,CACEJ,GAKAC,EAGQ,EAAA,CAAA,EAAAZ,EAAA,KAAAW,GAAAX,EAAA,KAAAe;CAAA,IAAAC;AAAA,CAAAhB,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAKHU,IAAA,CAACZ,KACA,kBAAC,GAAD,EACa,WAAAX,EAAG,eAAe;EAAA,kEAEzBY;EAAc,kEAEdC;EACH,CAAA,EAEJ,CAAA,EAAAN,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAgB,KAAAA,IAAAhB,EAAA;CAAA,IAAAiB;AAAA,CAAAjB,EAAA,OAAAU,GAAAH,SAAAP,EAAA,QAAAS,KAAAT,EAAA,QAAAQ,KACAS,IAAAR,IACC,kBAAC,GAAD,EAAoB,WAAA,0DAKrB,CAAA,GAHC,kBAAA,OAAA;EAAgB,WAAAhB,EAAGiB,GAAOH,OAAS,cAAa;YAC7CC,KAAA;EAEJ,CAAA,EAAAR,EAAA,KAAAU,GAAAH,OAAAP,EAAA,MAAAS,GAAAT,EAAA,MAAAQ,GAAAR,EAAA,MAAAiB,KAAAA,IAAAjB,EAAA;CAAA,IAAAkB;AAAA,CAAAlB,EAAA,QAAAgB,KAAAhB,EAAA,QAAAiB,KAlBLC,IAAA,kBAAC,GAAD;EAAgB,SAAA;YACd,kBAAA,OAAA;GAAe,WAAA;aAAf,CACGF,GAUAC,EAQL;;EAAiB,CAAA,EAAAjB,EAAA,MAAAgB,GAAAhB,EAAA,MAAAiB,GAAAjB,EAAA,MAAAkB,KAAAA,IAAAlB,EAAA;CAAA,IAAAmB;AAAA,CAAAnB,EAAA,QAAAa,OAAAC,IAAA,4BAAA,IACjBK,IAAA,kBAAC,GAAD,EAAA,UAAgB,gBAA6B,CAAA,EAAAnB,EAAA,MAAAmB,KAAAA,IAAAnB,EAAA;CAAA,IAAAoB;AAAA,CAAApB,EAAA,QAAAkB,IACrCE,IAAApB,EAAA,OAvBVoB,IAAA,kBAAC,GAAD,EAAA,UAAA,CACEF,GAqBAC,EACQ,EAAA,CAAA,EAAAnB,EAAA,MAAAkB,GAAAlB,EAAA,MAAAoB;CAAA,IAAAC;AACN,QADMrB,EAAA,QAAAe,KAAAf,EAAA,QAAAoB,KAnCZC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACEN,GAWAK,EAwBI;KAAApB,EAAA,MAAAe,GAAAf,EAAA,MAAAoB,GAAApB,EAAA,MAAAqB,KAAAA,IAAArB,EAAA,KApCNqB"}
1
+ {"version":3,"file":"SwapRateWithPriceImpactRow.js","names":["Tooltip","TooltipContent","TooltipTrigger","ReactComponent","PriceImpactSVG","cn","Skeleton","PriceImpactDetail","SwapRateProps","SwapRateWithTooltip","SwapRateWithPriceImpactRow","t0","$","_c","priceImpactDetail","swapRateProps","isHighImpact","isMediumImpact","isUnavailable","value","priceImpactValue","isLoading","classes","t1","t2","t3","t4","t5","Symbol","for","t6","t7"],"sources":["../../../../src/components/widget/SwapRateWithPriceImpactRow/SwapRateWithPriceImpactRow.tsx"],"sourcesContent":["import {\n Tooltip,\n TooltipContent,\n TooltipTrigger,\n} from \"@/components/ui/tooltip\";\nimport { ReactComponent as PriceImpactSVG } from \"@/assets/price-impact.svg\";\nimport { cn } from \"@/lib/utils\";\nimport { Skeleton } from \"@/components/ui/skeleton\";\nimport type { PriceImpactDetail } from \"@/core/swapDetails/types\";\nimport type { SwapRateProps } from \"../SwapRate/types\";\nimport { SwapRateWithTooltip } from \"../SwapRate/SwapRateWithTooltip\";\n\nexport const SwapRateWithPriceImpactRow = ({\n priceImpactDetail,\n swapRateProps,\n}: {\n priceImpactDetail: PriceImpactDetail;\n swapRateProps: SwapRateProps;\n}) => {\n const {\n isHighImpact,\n isMediumImpact,\n isUnavailable,\n value: priceImpactValue,\n isLoading,\n classes,\n } = priceImpactDetail;\n\n return (\n <div className=\"flex items-center justify-between\">\n <SwapRateWithTooltip {...swapRateProps} />\n\n <Tooltip>\n <TooltipTrigger asChild>\n <div className=\"flex items-center gap-1\">\n {!isHighImpact && (\n <PriceImpactSVG\n className={cn(\"size-[16px]\", {\n \"text-secondary-orange-peel-1 dark:text-secondary-orange-peel-1\":\n isMediumImpact,\n \"text-secondary-radical-red-2 dark:text-secondary-radical-red-2\":\n isUnavailable,\n })}\n />\n )}\n {isLoading ? (\n <Skeleton className=\"bg-contrast-6 dark:bg-contrast-5 min-w-[42px] h-[12px]\" />\n ) : (\n <div className={cn(classes?.value, \"text-nowrap\")}>\n {priceImpactValue ?? \"-\"}\n </div>\n )}\n </div>\n </TooltipTrigger>\n <TooltipContent>Price Impact</TooltipContent>\n </Tooltip>\n </div>\n );\n};\n"],"mappings":";;;;;;;;AAYA,IAAaU,KAA6BC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,sBAAAC,qBAAAJ,GAOzC,EAAAK,iBAAAC,mBAAAC,kBAAAC,OAAAC,GAAAC,cAAAC,eAOIR,GAAkBS;AAAA,CAAAX,EAAA,OAAAG,IAIwBQ,IAAAX,EAAA,MAA1CW,IAAA,kBAAC,GAAD,EAAoB,GAAKR,GAAiB,CAAA,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAW;CAAA,IAAAC;AAAA,CAAAZ,EAAA,OAAAI,KAAAJ,EAAA,OAAAK,KAAAL,EAAA,OAAAM,KAKnCM,IAAA,CAACR,KACA,kBAAC,GAAD,EACa,WAAAX,EAAG,eAAe;EAAA,kEAEzBY;EAAc,kEAEdC;EACH,CAAA,EAEJ,CAAA,EAAAN,EAAA,KAAAI,GAAAJ,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAY,KAAAA,IAAAZ,EAAA;CAAA,IAAAa;AAAA,CAAAb,EAAA,OAAAU,GAAAH,SAAAP,EAAA,OAAAS,KAAAT,EAAA,OAAAQ,KACAK,IAAAJ,IACC,kBAAC,GAAD,EAAoB,WAAA,0DAKrB,CAAA,GAHC,kBAAA,OAAA;EAAgB,WAAAhB,EAAGiB,GAAOH,OAAS,cAAa;YAC7CC,KAAA;EAEJ,CAAA,EAAAR,EAAA,KAAAU,GAAAH,OAAAP,EAAA,KAAAS,GAAAT,EAAA,KAAAQ,GAAAR,EAAA,KAAAa,KAAAA,IAAAb,EAAA;CAAA,IAAAc;AAAA,CAAAd,EAAA,QAAAY,KAAAZ,EAAA,QAAAa,KAlBLC,IAAA,kBAAC,GAAD;EAAgB,SAAA;YACd,kBAAA,OAAA;GAAe,WAAA;aAAf,CACGF,GAUAC,EAQL;;EAAiB,CAAA,EAAAb,EAAA,MAAAY,GAAAZ,EAAA,MAAAa,GAAAb,EAAA,MAAAc,KAAAA,IAAAd,EAAA;CAAA,IAAAe;AAAA,CAAAf,EAAA,QAAAgB,OAAAC,IAAA,4BAAA,IACjBF,IAAA,kBAAC,GAAD,EAAA,UAAgB,gBAA6B,CAAA,EAAAf,EAAA,MAAAe,KAAAA,IAAAf,EAAA;CAAA,IAAAkB;AAAA,CAAAlB,EAAA,QAAAc,IACrCI,IAAAlB,EAAA,OAvBVkB,IAAA,kBAAC,GAAD,EAAA,UAAA,CACEJ,GAqBAC,EACQ,EAAA,CAAA,EAAAf,EAAA,MAAAc,GAAAd,EAAA,MAAAkB;CAAA,IAAAC;AACN,QADMnB,EAAA,QAAAW,KAAAX,EAAA,QAAAkB,KA1BZC,IAAA,kBAAA,OAAA;EAAe,WAAA;YAAf,CACER,GAEAO,EAwBI;KAAAlB,EAAA,MAAAW,GAAAX,EAAA,MAAAkB,GAAAlB,EAAA,MAAAmB,KAAAA,IAAAnB,EAAA,KA3BNmB"}
@@ -372,7 +372,7 @@ function et(e) {
372
372
  let m;
373
373
  t[2] === d ? m = t[3] : (m = /* @__PURE__ */ Q(W, { open: d }), t[2] = d, t[3] = m);
374
374
  let ee;
375
- t[4] === Symbol.for("react.memo_cache_sentinel") ? (ee = r("overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none [&>*]:pointer-events-auto", h), t[4] = ee) : ee = t[4];
375
+ t[4] === Symbol.for("react.memo_cache_sentinel") ? (ee = r("overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none *:pointer-events-auto", h), t[4] = ee) : ee = t[4];
376
376
  let _;
377
377
  t[5] === a ? _ = t[6] : (_ = /* @__PURE__ */ Q("div", {
378
378
  className: ee,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["DevTools","TokenInput","useTokenFromInputProps","Button","JotaiProvider","QueryClientProvider","Web3Providers","useAccount","WIDGET_ELEMENT_ID","WIDGET_HEIGHT_CLASSNAME","Updaters","useTokenToInputProps","TokenSwitcher","TokenSwitcherComp","WidgetProps","cn","useSwapTokenSwitcherProps","runSubscriptions","PrivyIframeDependency","SwapModeSwitcherExpandable","useTokenInputsFromPrice","MinTradeOverviewProps","BridgePrice","DeltaPrice","OptimalRate","SwapMode","SwapDetailsExpandable","ReceiverAddress","jotaiStore","useAtomValue","useSetAtom","useHydrateAtoms","containerAtom","AppHeader","useLayoutEffect","useRef","defaultSubConfig","defaultWidgetConfig","excludeUIAtom","useWidgetConfig","setSubConfigAtom","setWidgetConfigAtom","PoweredBy","useWidgetButtonExtraProps","useSwapPrices","Toaster","externalProviderAtom","AutoconnectExternalProvider","SwapTradeFlowScreenButton","TwapTradeFlowScreenButton","ConnectWalletDrawerButton","PriceInput","OrderExpiryInput","useLimitTokenToInputProps","useLimitTokenFromInputProps","useTradeMode","TradeMode","useDrawerContainerHeightTransition","InWidgetDrawerOverlay","LimitOrderButton","LimitOrderDetails","useOtcTokenFromInputProps","useOtcTokenToInputProps","useLimitPriceInputProps","useOtcPriceInputProps","OtcOrderButton","OtcOrderDetails","SwapWidgetWarning","TwapWarnings","WidgetWarning","useUnsupportedLimitChain","useUnsupportedOtcChain","useLimitTokenSwitcherProps","useOtcTokenSwitcherProps","useTwapTokenFromInputProps","useTwapTokenToInputProps","useTwapTokenSwitcherProps","TwapOrderDuration","TwapOrderSplit","TwapRateProtection","TwapDetails","useTokenInputsFromTwapPrice","useTwapButtonExtraProps","useSwapReceiverAddress","useOtcReceiverAddress","useWidgetEventsSetter","widgetEventsAtom","formInputPropsAtom","useSetFormInputFromProps","queryClientAtom","useQueryClient","useScreenValue","MainScreenContainer","SecondaryScreenContainer","useCloseScreenOnClickOutside","useResizeObserver","useLimitReceiverAddress","isBridgePrice","BridgeSelectorExpandable","ErrorBoundary","useInitialValue","apiConfigAtom","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","unsupportedChain","t1","t2","t3","OtcOrderExtraInputs","LimitOrderScreen","OtcOrderScreen","TwapExtraInputs","TwapButton","isConnected","overrides","isLoading","tokenFromAmount","override","isPriceLoading","tokenFromInputProps","cachedError","tokenToAmount","priceError","tokenToInputProps","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","tokenFrom","tokenTo","extraProps","t4","className","disabled","labelOverride","price","TwapScreen","tradeModeToScreen","Record","React","FC","swap","limit","otc","twap","MainScreen","tradeMode","TradeModeScreen","App","excludeUI","screenElement","includes","WidgetBase","config","_config","apiConfig","provider","events","input","formInputProps","queryClient","setWidgetConfig","setSubConfig","setApiConfig","destChains","devURLs","partnerConfig","srcChains","tokenLists","tradeModes","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","store","t15","t16","debug","enableCrossChain","enableDegenMode","enableDelta","privyAppId","privyClientId","theme","widgetMode","t17","t18","t19","apiKey","headers","t20","t21","t22","setExternalProvider","t23","t24","isDappMode","reconnectOnMountInit","t25","t26","t27","t28","t29","import","meta","env","DEV","t30","Widget","Containers","children","setContainerElement","containerRef","widgetConfig","isDrawerFullCover","isDrawerOpen","partialDrawerOpen","dark","WidgetHeader","root","SwapTokenFromInput","priceMode","activeSwapMode","LimitTokenFromInput","OtcTokenFromInput","TwapTokenFromInput","SwapTokenToInput","error","LimitTokenToInput","OtcTokenToInput","TwapTokenToInput","SwapTokenSwitcher","tokenSwitcherProps","LimitTokenSwitcher","OtcTokenSwitcher","TwapTokenSwitcher","SwapButton","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","shouldShowReceiverAddress","swapReceiverAddressProps","OtcReceiverAddress","otcReceiverAddressProps","LimitReceiverAddress","limitReceiverAddressProps","swapModeSwitcherClasses","const","SwapModeSwitcher","enabled","delta","market","canBeUsed","ButtonWithDrawerProps","ComponentProps","drawerContainer","HTMLDivElement","marketPrice","deltaPrice","SwapButtonWithDrawer","buttonProps","priceProps"],"sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { jotaiStore, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport {\n SwapTradeFlowScreenButton,\n TwapTradeFlowScreenButton,\n} from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { SwapWidgetWarning, TwapWarnings, WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useTwapTokenFromInputProps } from \"./twap/useTwapTokenFromInputProps\";\nimport { useTwapTokenToInputProps } from \"./twap/useTwapTokenToInputProps\";\nimport { useTwapTokenSwitcherProps } from \"./twap/useTwapTokenSwitcherProps\";\nimport { TwapOrderDuration } from \"@/components/widget/Twap/OrderDuration\";\nimport { TwapOrderSplit } from \"@/components/widget/Twap/OrderSplit\";\nimport { TwapRateProtection } from \"@/components/widget/Twap/RateProtection\";\nimport { TwapDetails } from \"./TwapDetails\";\nimport { useTokenInputsFromTwapPrice } from \"@/hooks/swap/prices/useTokenInputsFromTwapPrice\";\nimport { useTwapButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\nimport { apiConfigAtom } from \"./state/apiConfigAtom\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst TwapExtraInputs = () => {\n return (\n <div className=\"flex flex-col gap-4 pt-4\">\n <TwapOrderDuration />\n <TwapOrderSplit />\n <TwapRateProtection />\n </div>\n );\n};\n\nfunction TwapButton() {\n const { isConnected } = useAccount();\n\n const overrides = useTokenInputsFromTwapPrice();\n\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useTwapButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n if (!isConnected) return <ConnectWalletDrawerButton />;\n\n return (\n <TwapTradeFlowScreenButton\n orderProps={orderProps}\n twapPrice={overrides.price}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nconst TwapScreen = () => {\n return (\n <>\n <TwapTokenFromInput />\n <TwapTokenSwitcher />\n <TwapTokenToInput />\n <TwapExtraInputs />\n <TwapWarnings />\n <TwapDetails />\n <TwapButton />\n </>\n );\n};\n\nconst tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n twap: TwapScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n apiConfig,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const setApiConfig = useSetAtom(apiConfigAtom);\n\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms(\n [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n },\n ],\n [apiConfigAtom, apiConfig || {}],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ],\n {\n store: jotaiStore,\n }\n );\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n enableDegenMode: config.enableDegenMode,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.enableDegenMode,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ]);\n\n useLayoutEffect(() => {\n setApiConfig({\n apiKey: apiConfig?.apiKey,\n headers: apiConfig?.headers,\n });\n }, [apiConfig?.apiKey, apiConfig?.headers, setApiConfig]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({\n config,\n apiConfig,\n provider,\n events,\n input,\n}: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n apiConfig={apiConfig}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none [&>*]:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction TwapTokenFromInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction TwapTokenToInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction TwapTokenSwitcher() {\n const tokenSwitcherProps = useTwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["DevTools","TokenInput","useTokenFromInputProps","Button","JotaiProvider","QueryClientProvider","Web3Providers","useAccount","WIDGET_ELEMENT_ID","WIDGET_HEIGHT_CLASSNAME","Updaters","useTokenToInputProps","TokenSwitcher","TokenSwitcherComp","WidgetProps","cn","useSwapTokenSwitcherProps","runSubscriptions","PrivyIframeDependency","SwapModeSwitcherExpandable","useTokenInputsFromPrice","MinTradeOverviewProps","BridgePrice","DeltaPrice","OptimalRate","SwapMode","SwapDetailsExpandable","ReceiverAddress","jotaiStore","useAtomValue","useSetAtom","useHydrateAtoms","containerAtom","AppHeader","useLayoutEffect","useRef","defaultSubConfig","defaultWidgetConfig","excludeUIAtom","useWidgetConfig","setSubConfigAtom","setWidgetConfigAtom","PoweredBy","useWidgetButtonExtraProps","useSwapPrices","Toaster","externalProviderAtom","AutoconnectExternalProvider","SwapTradeFlowScreenButton","TwapTradeFlowScreenButton","ConnectWalletDrawerButton","PriceInput","OrderExpiryInput","useLimitTokenToInputProps","useLimitTokenFromInputProps","useTradeMode","TradeMode","useDrawerContainerHeightTransition","InWidgetDrawerOverlay","LimitOrderButton","LimitOrderDetails","useOtcTokenFromInputProps","useOtcTokenToInputProps","useLimitPriceInputProps","useOtcPriceInputProps","OtcOrderButton","OtcOrderDetails","SwapWidgetWarning","TwapWarnings","WidgetWarning","useUnsupportedLimitChain","useUnsupportedOtcChain","useLimitTokenSwitcherProps","useOtcTokenSwitcherProps","useTwapTokenFromInputProps","useTwapTokenToInputProps","useTwapTokenSwitcherProps","TwapOrderDuration","TwapOrderSplit","TwapRateProtection","TwapDetails","useTokenInputsFromTwapPrice","useTwapButtonExtraProps","useSwapReceiverAddress","useOtcReceiverAddress","useWidgetEventsSetter","widgetEventsAtom","formInputPropsAtom","useSetFormInputFromProps","queryClientAtom","useQueryClient","useScreenValue","MainScreenContainer","SecondaryScreenContainer","useCloseScreenOnClickOutside","useResizeObserver","useLimitReceiverAddress","isBridgePrice","BridgeSelectorExpandable","ErrorBoundary","useInitialValue","apiConfigAtom","SwapScreen","$","_c","t0","Symbol","for","LimitOrderExtraInputs","priceInputProps","unsupportedChain","t1","t2","t3","OtcOrderExtraInputs","LimitOrderScreen","OtcOrderScreen","TwapExtraInputs","TwapButton","isConnected","overrides","isLoading","tokenFromAmount","override","isPriceLoading","tokenFromInputProps","cachedError","tokenToAmount","priceError","tokenToInputProps","side","amount","token","fromToken","toToken","fromAmount","toAmount","swapSide","undefined","orderProps","tokenFrom","tokenTo","extraProps","t4","className","disabled","labelOverride","price","TwapScreen","tradeModeToScreen","Record","React","FC","swap","limit","otc","twap","MainScreen","tradeMode","TradeModeScreen","App","excludeUI","screenElement","includes","WidgetBase","config","_config","apiConfig","provider","events","input","formInputProps","queryClient","setWidgetConfig","setSubConfig","setApiConfig","destChains","devURLs","partnerConfig","srcChains","tokenLists","tradeModes","t5","t6","t7","t8","t9","t10","t11","t12","t13","t14","store","t15","t16","debug","enableCrossChain","enableDegenMode","enableDelta","privyAppId","privyClientId","theme","widgetMode","t17","t18","t19","apiKey","headers","t20","t21","t22","setExternalProvider","t23","t24","isDappMode","reconnectOnMountInit","t25","t26","t27","t28","t29","import","meta","env","DEV","t30","Widget","Containers","children","setContainerElement","containerRef","widgetConfig","isDrawerFullCover","isDrawerOpen","partialDrawerOpen","dark","WidgetHeader","root","SwapTokenFromInput","priceMode","activeSwapMode","LimitTokenFromInput","OtcTokenFromInput","TwapTokenFromInput","SwapTokenToInput","error","LimitTokenToInput","OtcTokenToInput","TwapTokenToInput","SwapTokenSwitcher","tokenSwitcherProps","LimitTokenSwitcher","OtcTokenSwitcher","TwapTokenSwitcher","SwapButton","SwapDetails","fromAmountGtZero","Number","shouldShowDetails","SwapReceiverAddress","shouldShowReceiverAddress","swapReceiverAddressProps","OtcReceiverAddress","otcReceiverAddressProps","LimitReceiverAddress","limitReceiverAddressProps","swapModeSwitcherClasses","const","SwapModeSwitcher","enabled","delta","market","canBeUsed","ButtonWithDrawerProps","ComponentProps","drawerContainer","HTMLDivElement","marketPrice","deltaPrice","SwapButtonWithDrawer","buttonProps","priceProps"],"sources":["../../src/core/index.tsx"],"sourcesContent":["import \"@/styles/global.css\";\n\nimport { DevTools } from \"./DevTools\"; // Jotai DevTools instantiation needs to be before jotai.createStore (even implicit with default provider)\nimport { TokenInput } from \"@/components/widget/TokenInput\";\nimport { useTokenFromInputProps } from \"./inputs/hooks/useTokenFromInputProps\";\nimport { Button } from \"@/components/ui/button\";\nimport {\n JotaiProvider,\n QueryClientProvider,\n Web3Providers,\n} from \"@/components/web3/providers\";\nimport { useAccount } from \"wagmi\";\nimport { WIDGET_ELEMENT_ID, WIDGET_HEIGHT_CLASSNAME } from \"./constants\";\n\nimport { Updaters } from \"./Updaters\";\nimport { useTokenToInputProps } from \"./inputs/hooks/useTokenToInputProps\";\nimport { TokenSwitcher as TokenSwitcherComp } from \"@/components/widget/TokenSwitcher/TokenSwitcher\";\nimport type { WidgetProps } from \"./types\";\nimport { cn } from \"@/lib/utils\";\nimport { useSwapTokenSwitcherProps } from \"./inputs/hooks/useTokenSwitcherProps\";\n\nimport { runSubscriptions } from \"./subscriptions\";\n\nimport { PrivyIframeDependency } from \"@/components/web3/ConnectWallets/privy/iframe\";\nimport { SwapModeSwitcherExpandable } from \"@/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable\";\n\nimport { useTokenInputsFromPrice } from \"@/hooks/swap/prices/useTokenInputsFromPrice\";\nimport type { MinTradeOverviewProps } from \"@/components/widget/TradeOverview/TradeOverview\";\n\nimport type { BridgePrice, DeltaPrice, OptimalRate } from \"@velora-dex/sdk\";\nimport type { SwapMode } from \"@/components/widget/SwapModeSwitcher/state/types\";\nimport { SwapDetailsExpandable } from \"@/components/widget/Details/SwapDetailsExpandable\";\nimport { ReceiverAddress } from \"@/components/widget/ReceiverAddress/ReceiverAddress\";\nimport { jotaiStore, useAtomValue, useSetAtom } from \"@/core/store\";\nimport { useHydrateAtoms } from \"jotai/utils\";\nimport { containerAtom } from \"./state/containerAtom\";\nimport { AppHeader } from \"@/components/widget/AppHeader/AppHeader\";\nimport { useLayoutEffect, useRef } from \"react\";\nimport {\n defaultSubConfig,\n defaultWidgetConfig,\n excludeUIAtom,\n useWidgetConfig,\n} from \"./state/configAtom\";\nimport {\n setSubConfigAtom,\n setWidgetConfigAtom,\n} from \"./state/configActionsAtom\";\nimport { PoweredBy } from \"@/components/widget/PoweredBy/PoweredBy\";\nimport { useWidgetButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapPrices } from \"@/hooks/swap/prices/useSwapPrices\";\nimport { Toaster } from \"./Toaster\";\nimport { externalProviderAtom } from \"./state/externalProviderAtom\";\nimport { AutoconnectExternalProvider } from \"@/components/web3/ConnectExternalProvider/AutoconnectExternal\";\nimport {\n SwapTradeFlowScreenButton,\n TwapTradeFlowScreenButton,\n} from \"./TradeFlowScreenButton\";\nimport { ConnectWalletDrawerButton } from \"./ConnectWalletDrawerButton\";\nimport { PriceInput } from \"@/components/widget/LimitPriceInput\";\nimport { OrderExpiryInput } from \"@/components/widget/OrderExpiryInput\";\nimport { useLimitTokenToInputProps } from \"./limit/useLimitTokenToInputProps\";\nimport { useLimitTokenFromInputProps } from \"./limit/useLimitTokenFromInputProps\";\nimport { useTradeMode, type TradeMode } from \"./state/tradeModeAtom\";\nimport { useDrawerContainerHeightTransition } from \"@/components/widget/Drawer/state/useDrawerControls\";\nimport { InWidgetDrawerOverlay } from \"@/components/widget/Drawer/Overlay\";\nimport { LimitOrderButton } from \"./LimitOrderButton\";\nimport { LimitOrderDetails } from \"./LimitOrderDetails\";\nimport { useOtcTokenFromInputProps } from \"./otc/useOtcTokenFromInputProps\";\nimport { useOtcTokenToInputProps } from \"./otc/useOtcTokenToInputProps\";\nimport { useLimitPriceInputProps } from \"./limit/useLimitPriceInputProps\";\nimport { useOtcPriceInputProps } from \"./otc/useOtcPriceInputProps\";\nimport { OtcOrderButton } from \"./OtcOrderButton\";\nimport { OtcOrderDetails } from \"./OtcOrderDetails\";\nimport { SwapWidgetWarning, TwapWarnings, WidgetWarning } from \"./Warnings\";\nimport { useUnsupportedLimitChain } from \"./limit/useLimitNotSupported\";\nimport { useUnsupportedOtcChain } from \"./otc/useOtcNotSupported\";\nimport { useLimitTokenSwitcherProps } from \"./limit/useLimitTokenSwitcherProps\";\nimport { useOtcTokenSwitcherProps } from \"./otc/useOtcTokenSwitcherProps\";\nimport { useTwapTokenFromInputProps } from \"./twap/useTwapTokenFromInputProps\";\nimport { useTwapTokenToInputProps } from \"./twap/useTwapTokenToInputProps\";\nimport { useTwapTokenSwitcherProps } from \"./twap/useTwapTokenSwitcherProps\";\nimport { TwapOrderDuration } from \"@/components/widget/Twap/OrderDuration\";\nimport { TwapOrderSplit } from \"@/components/widget/Twap/OrderSplit\";\nimport { TwapRateProtection } from \"@/components/widget/Twap/RateProtection\";\nimport { TwapDetails } from \"./TwapDetails\";\nimport { useTokenInputsFromTwapPrice } from \"@/hooks/swap/prices/useTokenInputsFromTwapPrice\";\nimport { useTwapButtonExtraProps } from \"./button/hooks/useWidgetButtonExtraProps\";\nimport { useSwapReceiverAddress } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useOtcReceiverAddress } from \"./otc/state/receiverAddressAtom\";\nimport {\n useWidgetEventsSetter,\n widgetEventsAtom,\n} from \"./state/widgetEventsAtom\";\nimport {\n formInputPropsAtom,\n useSetFormInputFromProps,\n} from \"./inputs/state/setTokenByAddressAtom\";\nimport { queryClientAtom } from \"jotai-tanstack-query\";\nimport { useQueryClient } from \"@tanstack/react-query\";\nimport { useScreenValue } from \"./screen/state/hooks/useScreenValue\";\nimport {\n MainScreenContainer,\n SecondaryScreenContainer,\n} from \"@/components/widget/Screen/ScreenContainer\";\n\nimport { useCloseScreenOnClickOutside } from \"./screen/hooks/useOnClickOutside\";\nimport { useResizeObserver } from \"./screen/hooks/useResizeObserver\";\n\nimport { useLimitReceiverAddress } from \"./limit/state/receiverAddressAtom\";\nimport { isBridgePrice } from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\nimport { BridgeSelectorExpandable } from \"@/components/widget/BridgeSelectorExpandable/BridgeSelectorExpandable\";\nimport { ErrorBoundary } from \"react-error-boundary\";\nimport { useInitialValue } from \"./screen/hooks/useInitialValue\";\nimport { apiConfigAtom } from \"./state/apiConfigAtom\";\n\nrunSubscriptions();\n\nconst SwapScreen = () => {\n return (\n <>\n <SwapTokenFromInput />\n <SwapTokenSwitcher />\n <SwapTokenToInput />\n <SwapReceiverAddress />\n <WidgetWarning />\n <SwapWidgetWarning />\n <SwapButton />\n <SwapDetails />\n <SwapModeSwitcher />\n </>\n );\n};\n\nconst LimitOrderExtraInputs = () => {\n const priceInputProps = useLimitPriceInputProps();\n const unsupportedChain = useUnsupportedLimitChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"limit\" />\n </div>\n </div>\n );\n};\n\nconst OtcOrderExtraInputs = () => {\n const priceInputProps = useOtcPriceInputProps();\n const unsupportedChain = useUnsupportedOtcChain();\n\n return (\n <div\n className={cn(\"flex gap-4 items-stretch py-2\", {\n \"pointer-events-none\": unsupportedChain,\n })}\n >\n <div className=\"flex-1\">\n <PriceInput {...priceInputProps} />\n </div>\n <div className=\"flex-1\">\n <OrderExpiryInput type=\"otc\" />\n </div>\n </div>\n );\n};\n\nconst LimitOrderScreen = () => {\n return (\n <>\n <LimitTokenFromInput />\n <LimitTokenSwitcher />\n <LimitTokenToInput />\n <LimitOrderExtraInputs />\n <LimitReceiverAddress />\n <WidgetWarning />\n <LimitOrderButton />\n <LimitOrderDetails />\n </>\n );\n};\n\nconst OtcOrderScreen = () => {\n return (\n <>\n <OtcTokenFromInput />\n <OtcTokenSwitcher />\n <OtcTokenToInput />\n <OtcOrderExtraInputs />\n <OtcReceiverAddress />\n <WidgetWarning />\n <OtcOrderButton />\n <OtcOrderDetails />\n </>\n );\n};\n\nconst TwapExtraInputs = () => {\n return (\n <div className=\"flex flex-col gap-4 pt-4\">\n <TwapOrderDuration />\n <TwapOrderSplit />\n <TwapRateProtection />\n </div>\n );\n};\n\nfunction TwapButton() {\n const { isConnected } = useAccount();\n\n const overrides = useTokenInputsFromTwapPrice();\n\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useTwapButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n if (!isConnected) return <ConnectWalletDrawerButton />;\n\n return (\n <TwapTradeFlowScreenButton\n orderProps={orderProps}\n twapPrice={overrides.price}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nconst TwapScreen = () => {\n return (\n <>\n <TwapTokenFromInput />\n <TwapTokenSwitcher />\n <TwapTokenToInput />\n <TwapExtraInputs />\n <TwapWarnings />\n <TwapDetails />\n <TwapButton />\n </>\n );\n};\n\nconst tradeModeToScreen: Record<TradeMode, React.FC> = {\n swap: SwapScreen,\n limit: LimitOrderScreen,\n otc: OtcOrderScreen,\n twap: TwapScreen,\n};\n\nconst MainScreen = () => {\n const tradeMode = useTradeMode();\n const TradeModeScreen = tradeModeToScreen[tradeMode];\n return <TradeModeScreen />;\n};\n\nconst App = () => {\n const excludeUI = useAtomValue(excludeUIAtom);\n const { screenElement } = useScreenValue();\n\n return (\n <Containers>\n {screenElement ? (\n <SecondaryScreenContainer>{screenElement}</SecondaryScreenContainer>\n ) : (\n <MainScreenContainer>\n <WidgetHeader />\n <MainScreen />\n <PoweredBy />\n </MainScreenContainer>\n )}\n {!excludeUI.includes(\"snackbars\") && <Toaster />}\n </Containers>\n );\n};\n\nconst WidgetBase = ({\n config: _config,\n apiConfig,\n provider,\n events,\n input: formInputProps,\n}: WidgetProps) => {\n const queryClient = useQueryClient();\n\n const setWidgetConfig = useSetAtom(setWidgetConfigAtom);\n const setSubConfig = useSetAtom(setSubConfigAtom);\n const setApiConfig = useSetAtom(apiConfigAtom);\n\n const {\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ...config\n } = _config || {};\n\n // hydrating with only partial config overrides values with undefined,\n // so we have default values too\n useHydrateAtoms(\n [\n [setWidgetConfigAtom, { ...defaultWidgetConfig, ...config }],\n [\n setSubConfigAtom,\n {\n ...defaultSubConfig,\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n },\n ],\n [apiConfigAtom, apiConfig || {}],\n [externalProviderAtom, provider || null],\n [widgetEventsAtom, events || {}],\n [formInputPropsAtom, formInputProps || {}],\n // this provider initialisation step is needed so that jotai reference the same\n // queryClient in both atomWithQuery and other parts of the app. Without this,\n // jotai will reference a different instance of queryClient\n [queryClientAtom, queryClient],\n ],\n {\n store: jotaiStore,\n }\n );\n\n useWidgetEventsSetter(events);\n useSetFormInputFromProps(formInputProps);\n\n useLayoutEffect(() => {\n setWidgetConfig({\n theme: config.theme,\n enableDelta: config.enableDelta,\n enableCrossChain: config.enableCrossChain,\n privyAppId: config.privyAppId,\n privyClientId: config.privyClientId,\n debug: config.debug,\n widgetMode: config.widgetMode,\n enableDegenMode: config.enableDegenMode,\n });\n }, [\n config.theme,\n config.enableDelta,\n config.enableCrossChain,\n config.privyAppId,\n config.privyClientId,\n config.debug,\n config.widgetMode,\n config.enableDegenMode,\n setWidgetConfig,\n ]);\n\n useLayoutEffect(() => {\n setSubConfig({\n srcChains,\n destChains,\n tokenLists,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n });\n }, [\n srcChains,\n destChains,\n tokenLists,\n setSubConfig,\n tradeModes,\n excludeUI,\n devURLs,\n partnerConfig,\n ]);\n\n useLayoutEffect(() => {\n setApiConfig({\n apiKey: apiConfig?.apiKey,\n headers: apiConfig?.headers,\n });\n }, [apiConfig?.apiKey, apiConfig?.headers, setApiConfig]);\n\n const setExternalProvider = useSetAtom(externalProviderAtom);\n\n useLayoutEffect(() => {\n // update external provider on change\n setExternalProvider(provider || null);\n }, [provider, setExternalProvider]);\n\n const isDappMode = config?.widgetMode === \"dapp\";\n // after initial reconnect (or not reconnect) on mount, we want to keep the same reconnectOnMount value\n // so that onMount logic inside WagmiProvider/Hydrate doesn't re-run.\n // reconnectOnMountInit should be considered reconnectOnRender,\n // in normal Apps where WagmiProvider is at the very top of the tree, first and only render = when mounting,\n // in Widget, because of external props, rerender can happen more often.\n const reconnectOnMountInit = useInitialValue(!isDappMode);\n // reconnectOnMount not in Dapp mode,\n // in Dapp mode, connection happens to provider external provider, when provided, whether onMount or later\n\n return (\n <Web3Providers reconnectOnMount={reconnectOnMountInit}>\n <AutoconnectExternalProvider />\n <PrivyIframeDependency />\n <Updaters />\n <App />\n {import.meta.env.DEV && <DevTools />}\n </Web3Providers>\n );\n};\n\nexport const Widget = ({\n config,\n apiConfig,\n provider,\n events,\n input,\n}: WidgetProps) => {\n return (\n <JotaiProvider>\n <QueryClientProvider>\n <WidgetBase\n config={config}\n apiConfig={apiConfig}\n provider={provider}\n events={events}\n input={input}\n />\n </QueryClientProvider>\n </JotaiProvider>\n );\n};\n\nfunction Containers({ children }: { children: React.ReactNode }) {\n const setContainerElement = useSetAtom(containerAtom);\n\n const containerRef = useRef<HTMLDivElement | null>(null);\n useCloseScreenOnClickOutside(containerRef);\n useResizeObserver(containerRef);\n\n const widgetConfig = useWidgetConfig();\n\n const { isDrawerFullCover, isDrawerOpen } =\n useDrawerContainerHeightTransition(containerRef);\n\n const partialDrawerOpen = isDrawerOpen && !isDrawerFullCover;\n\n return (\n <div\n ref={containerRef}\n // don't use tailwind classes on the root element, because of .velora-widget { @import tailwind/*}\n className={cn(\"velora-widget\", {\n dark: widgetConfig.theme === \"dark\",\n })}\n id={WIDGET_ELEMENT_ID}\n >\n <InWidgetDrawerOverlay open={partialDrawerOpen} />\n\n <div\n // absolutely positioned container on top of parent container with fixed height,\n // but because it's not statically positioned, it doesn't add to the whole widget height\n className={cn(\n \"overflow-hidden bottom-0 left-0 right-0 absolute transition-transform duration-500 z-11 pointer-events-none *:pointer-events-auto\",\n WIDGET_HEIGHT_CLASSNAME\n )}\n ref={setContainerElement}\n />\n {children}\n </div>\n );\n}\n\nfunction WidgetHeader() {\n return <AppHeader classes={{ root: \"mb-4\" }} />;\n}\n\nfunction SwapTokenFromInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction LimitTokenFromInput() {\n const tokenFromInputProps = useLimitTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction OtcTokenFromInput() {\n const tokenFromInputProps = useOtcTokenFromInputProps();\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction TwapTokenFromInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenFromInputProps = useTwapTokenFromInputProps({\n override: overrides.tokenFromAmount,\n isPriceLoading: overrides.isLoading,\n });\n return <TokenInput {...tokenFromInputProps} />;\n}\n\nfunction SwapTokenToInput() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction LimitTokenToInput() {\n const tokenToInputProps = useLimitTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction OtcTokenToInput() {\n const tokenToInputProps = useOtcTokenToInputProps();\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction TwapTokenToInput() {\n const overrides = useTokenInputsFromTwapPrice();\n const tokenToInputProps = useTwapTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceError: overrides.cachedError,\n });\n return <TokenInput {...tokenToInputProps} />;\n}\n\nfunction SwapTokenSwitcher() {\n const tokenSwitcherProps = useSwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction LimitTokenSwitcher() {\n const tokenSwitcherProps = useLimitTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction OtcTokenSwitcher() {\n const tokenSwitcherProps = useOtcTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction TwapTokenSwitcher() {\n const tokenSwitcherProps = useTwapTokenSwitcherProps();\n return <TokenSwitcherComp {...tokenSwitcherProps} />;\n}\n\nfunction SwapButton() {\n // override Token amounts based on current swap price\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const orderProps =\n tokenFromInputProps.token && tokenToInputProps.token\n ? {\n fromToken: tokenFromInputProps.token,\n toToken: tokenToInputProps.token,\n fromAmount: tokenFromInputProps.amount,\n toAmount: tokenToInputProps.amount,\n swapSide: overrides.side,\n }\n : undefined;\n\n const extraProps = useWidgetButtonExtraProps({\n tokenFrom: tokenFromInputProps.token,\n tokenTo: tokenToInputProps.token,\n });\n\n return (\n <SwapButtonWithDrawer\n orderProps={orderProps}\n marketPrice={\n overrides.priceMode === \"market\" ? overrides.price : undefined\n }\n deltaPrice={overrides.priceMode === \"delta\" ? overrides.price : undefined}\n priceMode={overrides.priceMode}\n disabled={extraProps.disabled}\n labelOverride={extraProps.labelOverride}\n className={extraProps.className}\n />\n );\n}\n\nfunction SwapDetails() {\n const overrides = useTokenInputsFromPrice();\n\n const tokenFromInputProps = useTokenFromInputProps({\n override: overrides.tokenFromAmount,\n activeSwapMode: overrides.priceMode,\n isPriceLoading: overrides.isLoading,\n price: overrides.price,\n });\n const tokenToInputProps = useTokenToInputProps({\n override: overrides.tokenToAmount,\n isPriceLoading: overrides.isLoading,\n priceMode: overrides.priceMode,\n price: overrides.price,\n priceError: overrides.error,\n });\n\n const fromAmountGtZero = Number(tokenFromInputProps.amount) > 0;\n const shouldShowDetails = fromAmountGtZero && tokenToInputProps.token;\n\n return shouldShowDetails ? <SwapDetailsExpandable /> : null;\n}\n\nfunction SwapReceiverAddress() {\n const { isConnected } = useAccount();\n const shouldShowReceiverAddress = isConnected;\n const swapReceiverAddressProps = useSwapReceiverAddress();\n\n return shouldShowReceiverAddress ? (\n <ReceiverAddress\n classes={{ root: \"mt-2\" }}\n type=\"swap\"\n {...swapReceiverAddressProps}\n />\n ) : null;\n}\n\nfunction OtcReceiverAddress() {\n const unsupportedChain = useUnsupportedOtcChain();\n const otcReceiverAddressProps = useOtcReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"otc\"\n {...otcReceiverAddressProps}\n />\n );\n}\n\nfunction LimitReceiverAddress() {\n const unsupportedChain = useUnsupportedLimitChain();\n const limitReceiverAddressProps = useLimitReceiverAddress();\n\n return (\n <ReceiverAddress\n classes={{\n root: cn(\"mt-2\", {\n \"pointer-events-none\": unsupportedChain,\n }),\n }}\n type=\"limit\"\n {...limitReceiverAddressProps}\n />\n );\n}\n\nconst swapModeSwitcherClasses = {\n root: \"mt-4\",\n} as const;\n\nfunction SwapModeSwitcher() {\n const { delta, market, priceMode } = useSwapPrices({ enabled: false });\n // @TODO as on the main UI:\n // 1. Show Market MarketOffers if marketPrice can be switched to and price will fetch\n // 2. Show nothing if only one of the prices can be used\n if (delta.canBeUsed && market.canBeUsed) {\n return (\n <SwapModeSwitcherExpandable\n classes={swapModeSwitcherClasses}\n currentEffectiveMode={priceMode}\n />\n );\n }\n\n if (delta.canBeUsed && delta.price && isBridgePrice(delta.price)) {\n return (\n <ErrorBoundary fallback={null}>\n <BridgeSelectorExpandable\n classes={swapModeSwitcherClasses}\n bridgePrice={delta.price}\n />\n </ErrorBoundary>\n );\n }\n}\n\ntype ButtonWithDrawerProps = React.ComponentProps<typeof Button> & {\n orderProps?: MinTradeOverviewProps;\n drawerContainer?: HTMLDivElement | null;\n marketPrice?: OptimalRate;\n deltaPrice?: DeltaPrice | BridgePrice;\n priceMode: SwapMode;\n labelOverride?: string;\n};\n\nfunction SwapButtonWithDrawer({\n orderProps,\n drawerContainer,\n marketPrice,\n deltaPrice,\n priceMode,\n labelOverride,\n ...buttonProps\n}: ButtonWithDrawerProps) {\n const { isConnected } = useAccount();\n\n if (!isConnected)\n return (\n <ConnectWalletDrawerButton\n drawerContainer={drawerContainer}\n {...buttonProps}\n />\n );\n\n const priceProps =\n priceMode === \"delta\"\n ? { price: deltaPrice, priceMode }\n : { price: marketPrice, priceMode };\n\n return (\n <SwapTradeFlowScreenButton\n orderProps={orderProps}\n labelOverride={labelOverride}\n {...priceProps}\n {...buttonProps}\n />\n );\n}\n"],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  import * as logger from "@/lib/utils/logger";
2
2
  /**
3
- * Creates a logger instance with consideration for development mode and debug in widget config.
3
+ * Creates a logger instance with consideration for debug passed in widget config.
4
4
  * To be used outside of React.
5
5
  */
6
- export declare const getLogger: logger.CreateLoggerFn;
6
+ export declare const getLogger: (context?: string, options?: Omit<logger.LoggerOptions, "isOn">) => logger.LoggerInstance;
7
7
  export declare const useLogger: logger.CreateLoggerFn;
8
8
  //# sourceMappingURL=logger.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAa7C;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,cAM9B,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,cAgB9B,CAAC"}
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/core/logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,oBAAoB,CAAC;AAW7C;;;GAGG;AACH,eAAO,MAAM,SAAS,GACpB,UAAU,MAAM,EAChB,UAAU,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,MAAM,CAAC,KAC3C,MAAM,CAAC,cAGT,CAAC;AAIF,eAAO,MAAM,SAAS,EAAE,MAAM,CAAC,cAgB9B,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { jotaiStore as e } from "./store.js";
2
- import { createLogger as t, createNoopLogger as n } from "../lib/utils/logger.js";
2
+ import { _createLogger as t, _createNoopLogger as n } from "../lib/utils/logger.js";
3
3
  import { useWidgetConfig as r, widgetConfigAtom as i } from "./state/configAtom.js";
4
4
  import { c as a } from "react-compiler-runtime";
5
5
  import "react";
@@ -9,7 +9,13 @@ e.sub(i, () => {
9
9
  let t = e.get(i).debug;
10
10
  t !== o && (o = t);
11
11
  });
12
- var s = (...e) => o ? t(...e) : n(...e), c = (e, i) => {
12
+ var s = (e, n) => {
13
+ let r = () => o;
14
+ return t(e, {
15
+ ...n,
16
+ isOn: r
17
+ });
18
+ }, c = (e, i) => {
13
19
  let o = a(5), s = r().debug;
14
20
  i?.color, i?.showCallSite;
15
21
  let c = i?.color, l = i?.showCallSite, u;
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","names":["logger","useWidgetConfig","widgetConfigAtom","jotaiStore","useMemo","isDev","import","meta","env","DEV","isDebugOn","get","debug","sub","getLogger","CreateLoggerFn","args","LoggerInstance","createLogger","createNoopLogger","useLogger","context","options","$","_c","isUsingLogger","color","showCallSite","t0","t1","t2","opts"],"sources":["../../src/core/logger.ts"],"sourcesContent":["import * as logger from \"@/lib/utils/logger\";\nimport { useWidgetConfig, widgetConfigAtom } from \"./state/configAtom\";\nimport { jotaiStore } from \"./store\";\nimport { useMemo } from \"react\";\n\nconst isDev = import.meta.env.DEV;\n\nlet isDebugOn = jotaiStore.get(widgetConfigAtom).debug;\njotaiStore.sub(widgetConfigAtom, () => {\n const debug = jotaiStore.get(widgetConfigAtom).debug;\n if (debug !== isDebugOn) isDebugOn = debug;\n});\n\n/**\n * Creates a logger instance with consideration for development mode and debug in widget config.\n * To be used outside of React.\n */\nexport const getLogger: logger.CreateLoggerFn = (\n ...args\n): logger.LoggerInstance => {\n return isDev || isDebugOn\n ? logger.createLogger(...args)\n : logger.createNoopLogger(...args);\n};\n\n// creating a hooks like this: `useLogger(...args)` will cause it's result to be created anew on every render,\n// because react-compiler fails to memoize spreded args, probably because spread creates a new array on every render\nexport const useLogger: logger.CreateLoggerFn = (\n context?: string,\n options?: logger.LoggerOptions\n): logger.LoggerInstance => {\n const debug = useWidgetConfig().debug;\n\n const isUsingLogger = isDev || debug;\n return useMemo(() => {\n const opts = {\n color: options?.color,\n showCallSite: options?.showCallSite,\n };\n return isUsingLogger\n ? logger.createLogger(context, opts)\n : logger.createNoopLogger(context, opts);\n }, [context, options?.color, options?.showCallSite, isUsingLogger]);\n};\n"],"mappings":";;;;;;AAOA,IAAIU,IAAYP,EAAWQ,IAAIT,EAAiB,CAACU;AACjDT,EAAWU,IAAIX,SAAwB;CACrC,IAAMU,IAAQT,EAAWQ,IAAIT,EAAiB,CAACU;AAC/C,CAAIA,MAAUF,MAAWA,IAAYE;EACrC;AAMF,IAAaE,KACX,GAAGE,MAEaN,IACZV,EAAoB,GAAGgB,EAAK,GAC5BhB,EAAwB,GAAGgB,EAAK,EAKzBI,KAAmCC,GAAAC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAM9CC,IAFcxB,GAAiB,CAAAW;AAWFU,CAAhBA,GAAOI,OAASJ,GAAOK;CANzB,IAAAC,IAAAN,GAAOI,OACAG,IAAAP,GAAOK,cAAcG;AAAA,KAAAP,EAAA,OAAAF,KAAAE,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAAAL,EAAA,OAAAM,GAAA;EAFrC,IAAAE,IAAa;GAAAL,OACJE;GAAcD,cACPE;GACf;AAGyCN,EAFnCO,IAAAL,IACHzB,EAAoBqB,GAASU,EACS,GAAtC/B,EAAwBqB,GAASU,EAAK,EAAAR,EAAA,KAAAF,GAAAE,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO;OAAAA,KAAAP,EAAA;AAAA,QAF1CO"}
1
+ {"version":3,"file":"logger.js","names":["logger","useWidgetConfig","widgetConfigAtom","jotaiStore","useMemo","isDebugOn","get","debug","sub","getLogger","context","options","Omit","LoggerOptions","LoggerInstance","isOn","_createLogger","useLogger","CreateLoggerFn","$","_c","isUsingLogger","color","showCallSite","t0","t1","t2","opts","_createNoopLogger"],"sources":["../../src/core/logger.ts"],"sourcesContent":["import * as logger from \"@/lib/utils/logger\";\nimport { useWidgetConfig, widgetConfigAtom } from \"./state/configAtom\";\nimport { jotaiStore } from \"./store\";\nimport { useMemo } from \"react\";\n\nlet isDebugOn = jotaiStore.get(widgetConfigAtom).debug;\njotaiStore.sub(widgetConfigAtom, () => {\n const debug = jotaiStore.get(widgetConfigAtom).debug;\n if (debug !== isDebugOn) isDebugOn = debug;\n});\n\n/**\n * Creates a logger instance with consideration for debug passed in widget config.\n * To be used outside of React.\n */\nexport const getLogger = (\n context?: string,\n options?: Omit<logger.LoggerOptions, \"isOn\">\n): logger.LoggerInstance => {\n const isOn = () => isDebugOn;\n return logger._createLogger(context, { ...options, isOn });\n};\n\n// creating a hooks like this: `useLogger(...args)` will cause it's result to be created anew on every render,\n// because react-compiler fails to memoize spreded args, probably because spread creates a new array on every render\nexport const useLogger: logger.CreateLoggerFn = (\n context?: string,\n options?: logger.LoggerOptions\n): logger.LoggerInstance => {\n const debug = useWidgetConfig().debug;\n\n const isUsingLogger = debug;\n return useMemo(() => {\n const opts = {\n color: options?.color,\n showCallSite: options?.showCallSite,\n };\n return isUsingLogger\n ? logger._createLogger(context, opts)\n : logger._createNoopLogger(context, opts);\n }, [context, options?.color, options?.showCallSite, isUsingLogger]);\n};\n"],"mappings":";;;;;;AAKA,IAAIK,IAAYF,EAAWG,IAAIJ,EAAiB,CAACK;AACjDJ,EAAWK,IAAIN,SAAwB;CACrC,IAAMK,IAAQJ,EAAWG,IAAIJ,EAAiB,CAACK;AAC/C,CAAIA,MAAUF,MAAWA,IAAYE;EACrC;AAMF,IAAaE,KACXC,GACAC,MAC0B;CAC1B,IAAMI,UAAaV;AACnB,QAAOL,EAAqBU,GAAS;EAAE,GAAGC;EAASI;EAAM,CAAC;GAK/CE,KAAmCP,GAAAC,MAAA;CAAA,IAAAQ,IAAAC,EAAA,EAAA,EAM9CC,IAFcpB,GAAiB,CAAAM;AAWFI,CAAhBA,GAAOW,OAASX,GAAOY;CANzB,IAAAC,IAAAb,GAAOW,OACAG,IAAAd,GAAOY,cAAcG;AAAA,KAAAP,EAAA,OAAAT,KAAAS,EAAA,OAAAE,KAAAF,EAAA,OAAAK,KAAAL,EAAA,OAAAM,GAAA;EAFrC,IAAAE,IAAa;GAAAL,OACJE;GAAcD,cACPE;GACf;AAG0CN,EAFpCO,IAAAL,IACHrB,EAAqBU,GAASiB,EACS,GAAvC3B,EAAyBU,GAASiB,EAAK,EAAAR,EAAA,KAAAT,GAAAS,EAAA,KAAAE,GAAAF,EAAA,KAAAK,GAAAL,EAAA,KAAAM,GAAAN,EAAA,KAAAO;OAAAA,KAAAP,EAAA;AAAA,QAF3CO"}
@@ -1,2 +1,12 @@
1
+ /**
2
+ * runs once after the event loop is empty (microtask timing);
3
+ * cancelled if cleanup called fast (in StrictMode where cleanup runs synchronously);
4
+ * in StrictMode: after cancellation, reruns immediately and now doesn't cancel;
5
+ * not in StrictMode: if was cancelled immediately, then that means func either changed or disappeared,
6
+ * but this won't happen because of microtask timing -- func will always manage to run in normal useEffect flow.
7
+ *
8
+ * This one has the best guarantees to avoid double runs in StrictMode
9
+ * and at the same time to run func in the second StrictMode useEffect run.
10
+ */
1
11
  export declare function useRunOnMount(func: () => void): void;
2
12
  //# sourceMappingURL=useRunOnMount.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useRunOnMount.d.ts","sourceRoot":"","sources":["../../../../src/core/screen/hooks/useRunOnMount.ts"],"names":[],"mappings":"AAEA,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CASpD"}
1
+ {"version":3,"file":"useRunOnMount.d.ts","sourceRoot":"","sources":["../../../../src/core/screen/hooks/useRunOnMount.ts"],"names":[],"mappings":"AAEA;;;;;;;;;GASG;AAEH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,IAAI,GAAG,IAAI,CAqBpD"}
@@ -4,7 +4,12 @@ import { useEffect as t, useRef as n } from "react";
4
4
  function r(r) {
5
5
  let i = e(3), a = n(!1), o, s;
6
6
  i[0] === r ? (o = i[1], s = i[2]) : (o = () => {
7
- a.current ||= (r(), !0);
7
+ let e = !1;
8
+ if (!a.current) return queueMicrotask(() => {
9
+ e || a.current || (r(), a.current = !0);
10
+ }), () => {
11
+ e = !0;
12
+ };
8
13
  }, s = [r], i[0] = r, i[1] = o, i[2] = s), t(o, s);
9
14
  }
10
15
  //#endregion
@@ -1 +1 @@
1
- {"version":3,"file":"useRunOnMount.js","names":["useEffect","useRef","useRunOnMount","func","$","_c","hasRunRef","t0","t1","current"],"sources":["../../../../src/core/screen/hooks/useRunOnMount.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\nexport function useRunOnMount(func: () => void): void {\n const hasRunRef = useRef(false);\n\n useEffect(() => {\n if (!hasRunRef.current) {\n func();\n hasRunRef.current = true;\n }\n }, [func]); // only run on mount, once\n}\n"],"mappings":";;;AAEA,SAAOE,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACLC,IAAkBL,EAAO,GAAM,EAACM,GAAAC;AAEhCR,CAFgCI,EAAA,OAAAD,KAOvBI,IAAAH,EAAA,IAAAI,IAAAJ,EAAA,OALCG,UAAA;AACR,EAEED,EAASG,aADTN,GAAM,EACc;IAErBK,IAAA,CAACL,EAAK,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAG,GAAAH,EAAA,KAAAI,IALTR,EAAUO,GAKPC,EAAO"}
1
+ {"version":3,"file":"useRunOnMount.js","names":["useEffect","useRef","useRunOnMount","func","$","_c","hasRunRef","t0","t1","hasCleanedUp","current","queueMicrotask"],"sources":["../../../../src/core/screen/hooks/useRunOnMount.ts"],"sourcesContent":["import { useEffect, useRef } from \"react\";\n\n/**\n * runs once after the event loop is empty (microtask timing);\n * cancelled if cleanup called fast (in StrictMode where cleanup runs synchronously);\n * in StrictMode: after cancellation, reruns immediately and now doesn't cancel;\n * not in StrictMode: if was cancelled immediately, then that means func either changed or disappeared,\n * but this won't happen because of microtask timing -- func will always manage to run in normal useEffect flow.\n *\n * This one has the best guarantees to avoid double runs in StrictMode\n * and at the same time to run func in the second StrictMode useEffect run.\n */\n\nexport function useRunOnMount(func: () => void): void {\n const hasRunRef = useRef(false);\n useEffect(() => {\n let hasCleanedUp = false;\n if (hasRunRef.current) {\n return;\n }\n // don't run immediately,\n // schedule a microtask queue task\n queueMicrotask(() => {\n if (hasCleanedUp || hasRunRef.current) return; // hasRunRef.current check avoid double run if queued twice back-to-back\n func();\n hasRunRef.current = true;\n });\n return () => {\n // if cleanup has run before the func has run, prevent the scheduled run.\n // this happens in StrictMode, where the cleanup runs before the microtask queue starts\n hasCleanedUp = true;\n // if cleanup hasn't run when the microtask queue starts, run normally\n };\n }, [func]);\n}\n"],"mappings":";;;AAaA,SAAOE,EAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EACLC,IAAkBL,EAAO,GAAM,EAACM,GAAAC;AAChCR,CADgCI,EAAA,OAAAD,KAmBvBI,IAAAH,EAAA,IAAAI,IAAAJ,EAAA,OAlBCG,UAAA;EACR,IAAAE,IAAmB;AACfH,SAASI,QASX,QAJFC,qBAAe;AACTF,QAAgBH,EAASI,YAC7BP,GAAM,EACNG,EAASI,UAAW;IACpB,QACK;AAGLD,OAAeA;;IAGhBD,IAAA,CAACL,EAAK,EAAAC,EAAA,KAAAD,GAAAC,EAAA,KAAAG,GAAAH,EAAA,KAAAI,IAlBTR,EAAUO,GAkBPC,EAAO"}
@@ -2,7 +2,7 @@
2
2
  import * as e from "react";
3
3
  import t, { useEffect as n, useLayoutEffect as r, useMemo as i } from "react";
4
4
  import * as a from "@radix-ui/react-dialog";
5
- //#region ../../node_modules/.pnpm/vaul@1.1.2_patch_hash=07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__7f2d7d5ed11750fbec42b3f5689c802d/node_modules/vaul/dist/index.mjs
5
+ //#region ../../node_modules/.pnpm/vaul@1.1.2_patch_hash=07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__6feb48fe37bd41e9af5c8e81d5a6f4e1/node_modules/vaul/dist/index.mjs
6
6
  function o(e) {
7
7
  if (!e || typeof document > "u") return;
8
8
  let t = document.head || document.getElementsByTagName("head")[0], n = document.createElement("style");