@aurora-is-near/intents-swap-widget 3.18.1 → 3.18.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Accordion.js +13 -13
- package/dist/components/Accordion.js.map +1 -1
- package/dist/components/Banner.js +33 -19
- package/dist/components/Banner.js.map +1 -1
- package/dist/components/BlockingError.js +11 -16
- package/dist/components/BlockingError.js.map +1 -1
- package/dist/components/Button.d.ts +2 -2
- package/dist/components/Button.js +2 -2
- package/dist/components/Button.js.map +1 -1
- package/dist/components/CloseButton.js +6 -6
- package/dist/components/CloseButton.js.map +1 -1
- package/dist/components/CopyButton.js +4 -4
- package/dist/components/CopyButton.js.map +1 -1
- package/dist/components/DirectionSwitcher.js +12 -11
- package/dist/components/DirectionSwitcher.js.map +1 -1
- package/dist/components/Input.d.ts +5 -3
- package/dist/components/Input.js +16 -16
- package/dist/components/Input.js.map +1 -1
- package/dist/components/StatusWidget.js +8 -21
- package/dist/components/StatusWidget.js.map +1 -1
- package/dist/{config-DJObWR7Z.js → config-CgCb5P7j.js} +585 -565
- package/dist/{config-DJObWR7Z.js.map → config-CgCb5P7j.js.map} +1 -1
- package/dist/config.js +21 -5
- package/dist/config.js.map +1 -1
- package/dist/errors.js +1 -1
- package/dist/ext/alchemy/index.js +1 -1
- package/dist/ext/index.js +1 -1
- package/dist/features/BalanceRpcLoader/TokenBalanceLoader.js +1 -1
- package/dist/features/BalanceRpcLoader/index.js +1 -1
- package/dist/features/BalanceRpcLoader/useTokenBalanceRpc.js +1 -1
- package/dist/features/ChainsDropdown/AllNetworksIcon.js +3 -3
- package/dist/features/ChainsDropdown/AllNetworksIcon.js.map +1 -1
- package/dist/features/ChainsDropdown/ChainItem.js +7 -7
- package/dist/features/ChainsDropdown/ChainItem.js.map +1 -1
- package/dist/features/ChainsDropdown/index.js +45 -33
- package/dist/features/ChainsDropdown/index.js.map +1 -1
- package/dist/features/DepositMethodSwitcher.js +18 -17
- package/dist/features/DepositMethodSwitcher.js.map +1 -1
- package/dist/features/ErrorBoundary.js +1 -1
- package/dist/features/ExternalDeposit.js +22 -15
- package/dist/features/ExternalDeposit.js.map +1 -1
- package/dist/features/SendAddress/index.js +15 -14
- package/dist/features/SendAddress/index.js.map +1 -1
- package/dist/features/SendAddress/useNotification.js +1 -1
- package/dist/features/SubmitButton/index.js +1 -1
- package/dist/features/SuccessScreen/CheckIcon.js +4 -4
- package/dist/features/SuccessScreen/CheckIcon.js.map +1 -1
- package/dist/features/SuccessScreen/ExternalAction.js +6 -6
- package/dist/features/SuccessScreen/ExternalAction.js.map +1 -1
- package/dist/features/SuccessScreen/index.js +1 -1
- package/dist/features/SwapDirectionSwitcher.js +1 -1
- package/dist/features/SwapQuote/SwapQuote.js +1 -1
- package/dist/features/SwapQuote/index.js +1 -1
- package/dist/features/TokenInput/TokenInput.js +1 -1
- package/dist/features/TokenInput/TokenInputEmpty.js +1 -1
- package/dist/features/TokenInput/TokenInputSource.js +1 -1
- package/dist/features/TokenInput/TokenInputTarget.js +1 -1
- package/dist/features/TokenInput/WalletBalance.js +1 -1
- package/dist/features/TokenInput/hooks/index.js +1 -1
- package/dist/features/TokenInput/hooks/useTokenInputBalance.js +1 -1
- package/dist/features/TokenInput/index.js +1 -1
- package/dist/features/TokensList/TokenItem.js +1 -1
- package/dist/features/TokensList/TokensList.js +1 -1
- package/dist/features/TokensList/index.js +1 -1
- package/dist/features/TokensModal.js +11 -11
- package/dist/features/TokensModal.js.map +1 -1
- package/dist/features/WalletCompatibilityCheck/WalletCompatibilityModal.js +19 -6
- package/dist/features/WalletCompatibilityCheck/WalletCompatibilityModal.js.map +1 -1
- package/dist/features/WalletCompatibilityCheck/index.js +1 -1
- package/dist/features/index.js +1 -1
- package/dist/hooks/index.js +1 -1
- package/dist/hooks/useAllTokens.js +1 -1
- package/dist/hooks/useChains.js +1 -1
- package/dist/hooks/useCompatibilityCheck.js +1 -1
- package/dist/hooks/useDefaultToken.js +1 -1
- package/dist/hooks/useExternalDepositStatus/index.js +1 -1
- package/dist/hooks/useExternalDepositStatus/usePoaExternalDepositStatus.js +1 -1
- package/dist/hooks/useIntentsBalance.js +1 -1
- package/dist/hooks/useIsCompatibilityCheckRequired.js +1 -1
- package/dist/hooks/useMakeDepositAddress.js +1 -1
- package/dist/hooks/useMakeIntentsTransfer.js +1 -1
- package/dist/hooks/useMakeNEARFtTransferCall.js +1 -1
- package/dist/hooks/useMakeQuote.js +1 -1
- package/dist/hooks/useMakeQuoteTransfer.js +1 -1
- package/dist/hooks/useMakeTransfer.js +1 -1
- package/dist/hooks/useMergedBalance.js +1 -1
- package/dist/hooks/useSwitchChain.js +1 -1
- package/dist/hooks/useTheme.js +1 -1
- package/dist/hooks/useTokenInputPair.js +1 -1
- package/dist/hooks/useTokens.js +1 -1
- package/dist/hooks/useTokensFiltered.js +1 -1
- package/dist/hooks/useTokensIntentsUnique.js +1 -1
- package/dist/index.js +1 -1
- package/dist/machine/effects/index.js +1 -1
- package/dist/machine/effects/useAlchemyBalanceEffect.js +1 -1
- package/dist/machine/effects/useBalancesUpdateEffect.js +1 -1
- package/dist/machine/effects/useMakeQuoteEffect.js +1 -1
- package/dist/machine/effects/useSelectedTokensEffect.js +1 -1
- package/dist/machine/effects/useSetTokenBalanceEffect.js +1 -1
- package/dist/machine/effects/useSetTokenIntentsTargetEffect.js +1 -1
- package/dist/machine/effects/useWalletConnEffect.js +1 -1
- package/dist/machine/events/index.js +1 -1
- package/dist/machine/events/tokenSelect.js +1 -1
- package/dist/machine/events/validateInputAndMoveTo.js +1 -1
- package/dist/machine/events/validateInputs.js +1 -1
- package/dist/machine/index.js +1 -1
- package/dist/machine/snap.js +1 -1
- package/dist/machine/subscriptions/checkers/isSendAddressAsConnected.js +1 -1
- package/dist/machine/subscriptions/index.js +1 -1
- package/dist/styles.css +1 -1
- package/dist/tailwind.css +9 -0
- package/dist/theme/ThemeProvider.js +1 -1
- package/dist/utils/intents/signers/near.js +1 -1
- package/dist/utils/intents/signers/privy.js +1 -1
- package/dist/utils/near/getNearNep141StorageBalance.js +1 -1
- package/dist/widgets/WidgetDeposit/WidgetDepositContent.js +18 -11
- package/dist/widgets/WidgetDeposit/WidgetDepositContent.js.map +1 -1
- package/dist/widgets/WidgetDeposit/WidgetDepositSkeleton.js +1 -1
- package/dist/widgets/WidgetSwap/WidgetSwapContent.js +33 -22
- package/dist/widgets/WidgetSwap/WidgetSwapContent.js.map +1 -1
- package/dist/widgets/WidgetSwap/WidgetSwapSkeleton.js +1 -1
- package/dist/widgets/WidgetWithdraw/WidgetWithdrawContent.js +19 -9
- package/dist/widgets/WidgetWithdraw/WidgetWithdrawContent.js.map +1 -1
- package/dist/widgets/WidgetWithdraw/WidgetWithdrawSkeleton.js +1 -1
- package/package.json +1 -2
- package/src/components/Accordion.tsx +3 -3
- package/src/components/Banner.tsx +17 -8
- package/src/components/BlockingError.tsx +4 -6
- package/src/components/Button.tsx +9 -6
- package/src/components/CloseButton.tsx +2 -2
- package/src/components/CopyButton.tsx +2 -2
- package/src/components/DirectionSwitcher.tsx +4 -4
- package/src/components/Input.tsx +5 -4
- package/src/components/StatusWidget.tsx +4 -11
- package/src/features/ChainsDropdown/AllNetworksIcon.tsx +2 -2
- package/src/features/ChainsDropdown/ChainItem.tsx +2 -2
- package/src/features/ChainsDropdown/index.tsx +9 -3
- package/src/features/DepositMethodSwitcher.tsx +4 -3
- package/src/features/ExternalDeposit.tsx +2 -2
- package/src/features/SendAddress/index.tsx +3 -2
- package/src/features/SuccessScreen/CheckIcon.tsx +2 -2
- package/src/features/SuccessScreen/ExternalAction.tsx +2 -2
- package/src/features/TokensModal.tsx +2 -2
- package/src/features/WalletCompatibilityCheck/WalletCompatibilityModal.tsx +8 -9
- package/src/tailwind.css +9 -0
|
@@ -1,36 +1,36 @@
|
|
|
1
1
|
import { jsxs as s, jsx as e } from "react/jsx-runtime";
|
|
2
|
-
import { useState as
|
|
3
|
-
import
|
|
2
|
+
import { useState as w } from "react";
|
|
3
|
+
import { ChevronLeftW700 as a } from "@material-symbols-svg/react-rounded/icons/chevron-left";
|
|
4
4
|
import { Hr as p } from "./Hr.js";
|
|
5
5
|
import { Card as f } from "./Card.js";
|
|
6
6
|
import { Badge as h } from "./Badge.js";
|
|
7
7
|
import { cn as u } from "../utils/cn.js";
|
|
8
|
-
const
|
|
8
|
+
const k = ({
|
|
9
9
|
title: r,
|
|
10
|
-
badge:
|
|
10
|
+
badge: t,
|
|
11
11
|
children: o,
|
|
12
|
-
isBadgeLoading:
|
|
13
|
-
expandedHeightPx:
|
|
14
|
-
expandedByDefault:
|
|
12
|
+
isBadgeLoading: m,
|
|
13
|
+
expandedHeightPx: i,
|
|
14
|
+
expandedByDefault: n = !1,
|
|
15
15
|
className: c
|
|
16
16
|
}) => {
|
|
17
|
-
const [
|
|
17
|
+
const [l, d] = w(n);
|
|
18
18
|
return /* @__PURE__ */ s(
|
|
19
19
|
f,
|
|
20
20
|
{
|
|
21
21
|
isClickable: !0,
|
|
22
22
|
className: u("py-sw-lg", c),
|
|
23
|
-
onClick: () => d((
|
|
23
|
+
onClick: () => d((x) => !x),
|
|
24
24
|
children: [
|
|
25
25
|
/* @__PURE__ */ s("header", { className: "align-center flex w-full justify-between", children: [
|
|
26
26
|
/* @__PURE__ */ e("span", { className: "gap-sw-xs text-sw-label-md mt-sw-xs flex text-center text-sw-gray-200", children: r }),
|
|
27
|
-
|
|
28
|
-
/* @__PURE__ */ e("button", { type: "button", className: "ml-sw-lg cursor-pointer", children:
|
|
27
|
+
m ? /* @__PURE__ */ e("div", { className: "ml-auto h-[20px] w-[100px] animate-pulse rounded-full bg-sw-gray-800" }) : t && /* @__PURE__ */ e(h, { children: t }),
|
|
28
|
+
/* @__PURE__ */ e("button", { type: "button", className: "ml-sw-lg cursor-pointer", children: l ? /* @__PURE__ */ e(a, { className: "h-sw-2xl w-sw-2xl text-sw-gray-200 rotate-90" }) : /* @__PURE__ */ e(a, { className: "h-sw-2xl w-sw-2xl text-sw-gray-200 -rotate-90" }) })
|
|
29
29
|
] }),
|
|
30
30
|
/* @__PURE__ */ s(
|
|
31
31
|
"div",
|
|
32
32
|
{
|
|
33
|
-
style: { height:
|
|
33
|
+
style: { height: l ? i : 0 },
|
|
34
34
|
className: "gap-sw-md flex flex-col overflow-hidden transition-all delay-0 duration-300 ease-in-out",
|
|
35
35
|
children: [
|
|
36
36
|
/* @__PURE__ */ e(p, { className: "mt-sw-xl mb-sw-md" }),
|
|
@@ -43,6 +43,6 @@ const j = ({
|
|
|
43
43
|
);
|
|
44
44
|
};
|
|
45
45
|
export {
|
|
46
|
-
|
|
46
|
+
k as Accordion
|
|
47
47
|
};
|
|
48
48
|
//# sourceMappingURL=Accordion.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Accordion.js","sources":["../../src/components/Accordion.tsx"],"sourcesContent":["import { useState } from 'react';\nimport
|
|
1
|
+
{"version":3,"file":"Accordion.js","sources":["../../src/components/Accordion.tsx"],"sourcesContent":["import { useState } from 'react';\nimport { ChevronLeftW700 as ChevronLeft } from '@material-symbols-svg/react-rounded/icons/chevron-left';\nimport type { ReactNode } from 'react';\n\nimport { Hr } from './Hr';\nimport { Card } from './Card';\nimport { Badge } from './Badge';\nimport { cn } from '@/utils/cn';\n\ntype Props = {\n title: ReactNode;\n badge?: string;\n isBadgeLoading?: boolean;\n expandedByDefault?: boolean;\n children: ReactNode | ReactNode[];\n expandedHeightPx: number;\n className?: string;\n};\n\nexport const Accordion = ({\n title,\n badge,\n children,\n isBadgeLoading,\n expandedHeightPx,\n expandedByDefault = false,\n className,\n}: Props) => {\n const [isExpanded, setIsExpanded] = useState(expandedByDefault);\n\n return (\n <Card\n isClickable\n className={cn('py-sw-lg', className)}\n onClick={() => setIsExpanded((p) => !p)}>\n <header className=\"align-center flex w-full justify-between\">\n <span className=\"gap-sw-xs text-sw-label-md mt-sw-xs flex text-center text-sw-gray-200\">\n {title}\n </span>\n {isBadgeLoading ? (\n <div className=\"ml-auto h-[20px] w-[100px] animate-pulse rounded-full bg-sw-gray-800\" />\n ) : (\n badge && <Badge>{badge}</Badge>\n )}\n <button type=\"button\" className=\"ml-sw-lg cursor-pointer\">\n {isExpanded ? (\n <ChevronLeft className=\"h-sw-2xl w-sw-2xl text-sw-gray-200 rotate-90\" />\n ) : (\n <ChevronLeft className=\"h-sw-2xl w-sw-2xl text-sw-gray-200 -rotate-90\" />\n )}\n </button>\n </header>\n\n <div\n style={{ height: isExpanded ? expandedHeightPx : 0 }} // has to be inline for animation to work\n className=\"gap-sw-md flex flex-col overflow-hidden transition-all delay-0 duration-300 ease-in-out\">\n <Hr className=\"mt-sw-xl mb-sw-md\" />\n {children}\n </div>\n </Card>\n );\n};\n"],"names":["Accordion","title","badge","children","isBadgeLoading","expandedHeightPx","expandedByDefault","className","isExpanded","setIsExpanded","useState","jsxs","Card","cn","p","jsx","Badge","ChevronLeft","Hr"],"mappings":";;;;;;;AAmBO,MAAMA,IAAY,CAAC;AAAA,EACxB,OAAAC;AAAA,EACA,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,mBAAAC,IAAoB;AAAA,EACpB,WAAAC;AACF,MAAa;AACX,QAAM,CAACC,GAAYC,CAAa,IAAIC,EAASJ,CAAiB;AAE9D,SACE,gBAAAK;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,aAAW;AAAA,MACX,WAAWC,EAAG,YAAYN,CAAS;AAAA,MACnC,SAAS,MAAME,EAAc,CAACK,MAAM,CAACA,CAAC;AAAA,MACtC,UAAA;AAAA,QAAA,gBAAAH,EAAC,UAAA,EAAO,WAAU,4CAChB,UAAA;AAAA,UAAA,gBAAAI,EAAC,QAAA,EAAK,WAAU,yEACb,UAAAd,GACH;AAAA,UACCG,sBACE,OAAA,EAAI,WAAU,wEAAuE,IAEtFF,KAAS,gBAAAa,EAACC,GAAA,EAAO,UAAAd,EAAA,CAAM;AAAA,4BAExB,UAAA,EAAO,MAAK,UAAS,WAAU,2BAC7B,UAAAM,IACC,gBAAAO,EAACE,GAAA,EAAY,WAAU,gDAA+C,IAEtE,gBAAAF,EAACE,GAAA,EAAY,WAAU,iDAAgD,EAAA,CAE3E;AAAA,QAAA,GACF;AAAA,QAEA,gBAAAN;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,OAAO,EAAE,QAAQH,IAAaH,IAAmB,EAAA;AAAA,YACjD,WAAU;AAAA,YACV,UAAA;AAAA,cAAA,gBAAAU,EAACG,GAAA,EAAG,WAAU,oBAAA,CAAoB;AAAA,cACjCf;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -1,43 +1,57 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
1
|
+
import { jsx as e, jsxs as n } from "react/jsx-runtime";
|
|
2
|
+
import { CloseW700 as l } from "@material-symbols-svg/react-rounded/icons/close";
|
|
3
|
+
import { EmergencyW700 as a } from "@material-symbols-svg/react-rounded/icons/emergency";
|
|
4
|
+
import { ErrorFillW700 as u } from "@material-symbols-svg/react-rounded/icons/error";
|
|
5
|
+
import { VerifiedFillW700 as f } from "@material-symbols-svg/react-rounded/icons/verified";
|
|
6
|
+
import { useMemo as p } from "react";
|
|
3
7
|
import { cn as o } from "../utils/cn.js";
|
|
4
|
-
const
|
|
5
|
-
variant:
|
|
6
|
-
multiline:
|
|
7
|
-
message:
|
|
8
|
+
const j = ({
|
|
9
|
+
variant: r,
|
|
10
|
+
multiline: s,
|
|
11
|
+
message: c,
|
|
8
12
|
className: i,
|
|
9
|
-
onDismiss:
|
|
13
|
+
onDismiss: t
|
|
10
14
|
}) => {
|
|
11
|
-
const
|
|
12
|
-
|
|
15
|
+
const m = p(() => {
|
|
16
|
+
switch (r) {
|
|
17
|
+
case "success":
|
|
18
|
+
return /* @__PURE__ */ e(f, { size: 16 });
|
|
19
|
+
case "error":
|
|
20
|
+
return /* @__PURE__ */ e(u, { size: 16 });
|
|
21
|
+
case "warn":
|
|
22
|
+
default:
|
|
23
|
+
return /* @__PURE__ */ e(a, { size: 16 });
|
|
24
|
+
}
|
|
25
|
+
}, [r]);
|
|
26
|
+
return /* @__PURE__ */ n(
|
|
13
27
|
"div",
|
|
14
28
|
{
|
|
15
29
|
className: o(
|
|
16
30
|
"gap-sw-md relative flex items-center",
|
|
17
31
|
{
|
|
18
|
-
"text-sw-status-error":
|
|
19
|
-
"text-sw-status-warning":
|
|
20
|
-
"text-sw-status-success":
|
|
32
|
+
"text-sw-status-error": r === "error",
|
|
33
|
+
"text-sw-status-warning": r === "warn",
|
|
34
|
+
"text-sw-status-success": r === "success"
|
|
21
35
|
},
|
|
22
36
|
i
|
|
23
37
|
),
|
|
24
38
|
children: [
|
|
25
|
-
!
|
|
39
|
+
!s && m,
|
|
26
40
|
/* @__PURE__ */ e(
|
|
27
41
|
"span",
|
|
28
42
|
{
|
|
29
43
|
className: o("text-sw-label-sm", {
|
|
30
|
-
"text-nowrap": !
|
|
44
|
+
"text-nowrap": !s
|
|
31
45
|
}),
|
|
32
|
-
children:
|
|
46
|
+
children: c
|
|
33
47
|
}
|
|
34
48
|
),
|
|
35
|
-
|
|
49
|
+
t && /* @__PURE__ */ e(
|
|
36
50
|
"div",
|
|
37
51
|
{
|
|
38
|
-
onClick:
|
|
52
|
+
onClick: t,
|
|
39
53
|
className: "ml-auto flex cursor-pointer items-center justify-center transition-all hover:scale-125",
|
|
40
|
-
children: /* @__PURE__ */ e(
|
|
54
|
+
children: /* @__PURE__ */ e(l, { size: 16 })
|
|
41
55
|
}
|
|
42
56
|
)
|
|
43
57
|
]
|
|
@@ -45,6 +59,6 @@ const u = ({
|
|
|
45
59
|
);
|
|
46
60
|
};
|
|
47
61
|
export {
|
|
48
|
-
|
|
62
|
+
j as Banner
|
|
49
63
|
};
|
|
50
64
|
//# sourceMappingURL=Banner.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.js","sources":["../../src/components/Banner.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"Banner.js","sources":["../../src/components/Banner.tsx"],"sourcesContent":["import { CloseW700 as Close } from '@material-symbols-svg/react-rounded/icons/close';\nimport { EmergencyW700 as Emergency } from '@material-symbols-svg/react-rounded/icons/emergency';\nimport { ErrorFillW700 as ErrorFill } from '@material-symbols-svg/react-rounded/icons/error';\nimport { VerifiedFillW700 as VerifiedFill } from '@material-symbols-svg/react-rounded/icons/verified';\nimport { useMemo } from 'react';\n\nimport { cn } from '@/utils/cn';\n\ntype Props = {\n message: string;\n multiline?: boolean;\n variant: 'error' | 'warn' | 'success';\n className?: string;\n onDismiss?: () => void;\n};\n\nexport const Banner = ({\n variant,\n multiline,\n message,\n className,\n onDismiss,\n}: Props) => {\n const icon = useMemo(() => {\n switch (variant) {\n case 'success':\n return <VerifiedFill size={16} />;\n case 'error':\n return <ErrorFill size={16} />;\n case 'warn':\n default:\n return <Emergency size={16} />;\n }\n }, [variant]);\n\n return (\n <div\n className={cn(\n 'gap-sw-md relative flex items-center',\n {\n 'text-sw-status-error': variant === 'error',\n 'text-sw-status-warning': variant === 'warn',\n 'text-sw-status-success': variant === 'success',\n },\n className,\n )}>\n {!multiline && icon}\n <span\n className={cn('text-sw-label-sm', {\n 'text-nowrap': !multiline,\n })}>\n {message}\n </span>\n {onDismiss && (\n <div\n onClick={onDismiss}\n className=\"ml-auto flex cursor-pointer items-center justify-center transition-all hover:scale-125\">\n <Close size={16} />\n </div>\n )}\n </div>\n );\n};\n"],"names":["Banner","variant","multiline","message","className","onDismiss","icon","useMemo","jsx","VerifiedFill","ErrorFill","Emergency","jsxs","cn","Close"],"mappings":";;;;;;;AAgBO,MAAMA,IAAS,CAAC;AAAA,EACrB,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,SAAAC;AAAA,EACA,WAAAC;AAAA,EACA,WAAAC;AACF,MAAa;AACX,QAAMC,IAAOC,EAAQ,MAAM;AACzB,YAAQN,GAAA;AAAA,MACN,KAAK;AACH,eAAO,gBAAAO,EAACC,GAAA,EAAa,MAAM,GAAA,CAAI;AAAA,MACjC,KAAK;AACH,eAAO,gBAAAD,EAACE,GAAA,EAAU,MAAM,GAAA,CAAI;AAAA,MAC9B,KAAK;AAAA,MACL;AACE,eAAO,gBAAAF,EAACG,GAAA,EAAU,MAAM,GAAA,CAAI;AAAA,IAAA;AAAA,EAElC,GAAG,CAACV,CAAO,CAAC;AAEZ,SACE,gBAAAW;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWC;AAAA,QACT;AAAA,QACA;AAAA,UACE,wBAAwBZ,MAAY;AAAA,UACpC,0BAA0BA,MAAY;AAAA,UACtC,0BAA0BA,MAAY;AAAA,QAAA;AAAA,QAExCG;AAAA,MAAA;AAAA,MAED,UAAA;AAAA,QAAA,CAACF,KAAaI;AAAA,QACf,gBAAAE;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,WAAWK,EAAG,oBAAoB;AAAA,cAChC,eAAe,CAACX;AAAA,YAAA,CACjB;AAAA,YACA,UAAAC;AAAA,UAAA;AAAA,QAAA;AAAA,QAEFE,KACC,gBAAAG;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAASH;AAAA,YACT,WAAU;AAAA,YACV,UAAA,gBAAAG,EAACM,GAAA,EAAM,MAAM,GAAA,CAAI;AAAA,UAAA;AAAA,QAAA;AAAA,MACnB;AAAA,IAAA;AAAA,EAAA;AAIR;"}
|
|
@@ -1,39 +1,34 @@
|
|
|
1
1
|
import { jsx as e, jsxs as s } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
|
|
2
|
+
import { CachedW700 as l } from "@material-symbols-svg/react-rounded/icons/cached";
|
|
3
|
+
import { CloseW700 as a } from "@material-symbols-svg/react-rounded/icons/close";
|
|
4
|
+
import { Button as c } from "./Button.js";
|
|
5
|
+
import { Card as i } from "./Card.js";
|
|
6
|
+
const p = ({ message: t, onClickRetry: r }) => /* @__PURE__ */ e(i, { className: "w-full", children: /* @__PURE__ */ s("div", { className: "gap-sw-4xl py-6xl flex min-h-[200px] flex-col items-center justify-center w-full", children: [
|
|
6
7
|
/* @__PURE__ */ s("div", { className: "gap-sw-xl flex flex-col items-center justify-center", children: [
|
|
7
8
|
/* @__PURE__ */ s("header", { className: "gap-sw-md flex items-center", children: [
|
|
8
|
-
/* @__PURE__ */ e(
|
|
9
|
-
t.X,
|
|
10
|
-
{
|
|
11
|
-
strokeWidth: 2.5,
|
|
12
|
-
className: "text-sw-accent-500 h-sw-4xl w-sw-4xl"
|
|
13
|
-
}
|
|
14
|
-
),
|
|
9
|
+
/* @__PURE__ */ e(a, { className: "text-sw-accent-500 h-sw-4xl w-sw-4xl" }),
|
|
15
10
|
/* @__PURE__ */ e("h3", { className: "text-sw-value-lg text-sw-accent-500", children: "Ooops..." })
|
|
16
11
|
] }),
|
|
17
12
|
/* @__PURE__ */ s("p", { className: "text-sw-body-md text-center text-sw-gray-100", children: [
|
|
18
|
-
|
|
13
|
+
t,
|
|
19
14
|
" ",
|
|
20
15
|
/* @__PURE__ */ e("br", {}),
|
|
21
16
|
" Please try again or contact support."
|
|
22
17
|
] })
|
|
23
18
|
] }),
|
|
24
19
|
/* @__PURE__ */ e(
|
|
25
|
-
|
|
20
|
+
c,
|
|
26
21
|
{
|
|
27
22
|
size: "md",
|
|
28
23
|
variant: "primary",
|
|
29
|
-
icon:
|
|
30
|
-
onClick:
|
|
24
|
+
icon: l,
|
|
25
|
+
onClick: r,
|
|
31
26
|
className: "w-fit",
|
|
32
27
|
children: "Try again"
|
|
33
28
|
}
|
|
34
29
|
)
|
|
35
30
|
] }) });
|
|
36
31
|
export {
|
|
37
|
-
|
|
32
|
+
p as BlockingError
|
|
38
33
|
};
|
|
39
34
|
//# sourceMappingURL=BlockingError.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BlockingError.js","sources":["../../src/components/BlockingError.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"BlockingError.js","sources":["../../src/components/BlockingError.tsx"],"sourcesContent":["import { CachedW700 as Cached } from '@material-symbols-svg/react-rounded/icons/cached';\nimport { CloseW700 as Close } from '@material-symbols-svg/react-rounded/icons/close';\n\nimport { Button } from './Button';\nimport { Card } from './Card';\n\ntype Props = {\n message: string;\n onClickRetry: () => void;\n};\n\nexport const BlockingError = ({ message, onClickRetry }: Props) => (\n <Card className=\"w-full\">\n <div className=\"gap-sw-4xl py-6xl flex min-h-[200px] flex-col items-center justify-center w-full\">\n <div className=\"gap-sw-xl flex flex-col items-center justify-center\">\n <header className=\"gap-sw-md flex items-center\">\n <Close className=\"text-sw-accent-500 h-sw-4xl w-sw-4xl\" />\n <h3 className=\"text-sw-value-lg text-sw-accent-500\">Ooops...</h3>\n </header>\n <p className=\"text-sw-body-md text-center text-sw-gray-100\">\n {message} <br /> Please try again or contact support.\n </p>\n </div>\n <Button\n size=\"md\"\n variant=\"primary\"\n icon={Cached}\n onClick={onClickRetry}\n className=\"w-fit\">\n Try again\n </Button>\n </div>\n </Card>\n);\n"],"names":["BlockingError","message","onClickRetry","jsx","Card","jsxs","Close","Button","Cached"],"mappings":";;;;;AAWO,MAAMA,IAAgB,CAAC,EAAE,SAAAC,GAAS,cAAAC,EAAA,MACvC,gBAAAC,EAACC,GAAA,EAAK,WAAU,UACd,UAAA,gBAAAC,EAAC,OAAA,EAAI,WAAU,oFACb,UAAA;AAAA,EAAA,gBAAAA,EAAC,OAAA,EAAI,WAAU,uDACb,UAAA;AAAA,IAAA,gBAAAA,EAAC,UAAA,EAAO,WAAU,+BAChB,UAAA;AAAA,MAAA,gBAAAF,EAACG,GAAA,EAAM,WAAU,uCAAA,CAAuC;AAAA,MACxD,gBAAAH,EAAC,MAAA,EAAG,WAAU,uCAAsC,UAAA,WAAA,CAAQ;AAAA,IAAA,GAC9D;AAAA,IACA,gBAAAE,EAAC,KAAA,EAAE,WAAU,gDACV,UAAA;AAAA,MAAAJ;AAAA,MAAQ;AAAA,wBAAE,MAAA,EAAG;AAAA,MAAE;AAAA,IAAA,EAAA,CAClB;AAAA,EAAA,GACF;AAAA,EACA,gBAAAE;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,MAAK;AAAA,MACL,SAAQ;AAAA,MACR,MAAMC;AAAAA,MACN,SAASN;AAAA,MACT,WAAU;AAAA,MAAQ,UAAA;AAAA,IAAA;AAAA,EAAA;AAEpB,EAAA,CACF,EAAA,CACF;"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MaterialSymbolsComponent } from '@material-symbols-svg/react';
|
|
2
2
|
type Size = 'sm' | 'md' | 'lg';
|
|
3
3
|
type Variant = 'primary' | 'outlined';
|
|
4
4
|
type State = 'default' | 'loading' | 'disabled' | 'active' | 'error';
|
|
@@ -11,7 +11,7 @@ type Props = {
|
|
|
11
11
|
onClick?: () => void;
|
|
12
12
|
fluid?: boolean;
|
|
13
13
|
} & ({
|
|
14
|
-
icon:
|
|
14
|
+
icon: MaterialSymbolsComponent;
|
|
15
15
|
iconPosition?: 'head' | 'tail';
|
|
16
16
|
} | {
|
|
17
17
|
icon?: never;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as s, jsxs as w } from "react/jsx-runtime";
|
|
2
2
|
import { Button as g } from "@headlessui/react";
|
|
3
|
-
import
|
|
3
|
+
import { ProgressActivityW700 as m } from "@material-symbols-svg/react-rounded/icons/progress-activity";
|
|
4
4
|
import { cn as c } from "../utils/cn.js";
|
|
5
5
|
const e = {
|
|
6
6
|
icon: "h-sw-xl w-sw-xl",
|
|
@@ -23,7 +23,7 @@ const e = {
|
|
|
23
23
|
state: r
|
|
24
24
|
}) => {
|
|
25
25
|
const t = !!n, a = t && r !== "loading" ? n ?? (() => /* @__PURE__ */ s("span", {})) : ({ className: l, ...d }) => /* @__PURE__ */ s(
|
|
26
|
-
m
|
|
26
|
+
m,
|
|
27
27
|
{
|
|
28
28
|
className: c(e.icon, "animate-spin", l),
|
|
29
29
|
...d
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Button.js","sources":["../../src/components/Button.tsx"],"sourcesContent":["import { Button as UIButton } from '@headlessui/react';\nimport
|
|
1
|
+
{"version":3,"file":"Button.js","sources":["../../src/components/Button.tsx"],"sourcesContent":["import { Button as UIButton } from '@headlessui/react';\nimport { ProgressActivityW700 as ProgressActivity } from '@material-symbols-svg/react-rounded/icons/progress-activity';\nimport type {\n IconProps,\n MaterialSymbolsComponent,\n} from '@material-symbols-svg/react';\n\nimport { cn as clsx } from '@/utils/cn';\n\ntype Size = 'sm' | 'md' | 'lg';\ntype Variant = 'primary' | 'outlined';\ntype State = 'default' | 'loading' | 'disabled' | 'active' | 'error';\n\ntype Props = {\n size: Size;\n state?: State;\n variant: Variant;\n children: React.ReactNode;\n className?: string;\n onClick?: () => void;\n fluid?: boolean;\n} & (\n | { icon: MaterialSymbolsComponent; iconPosition?: 'head' | 'tail' }\n | { icon?: never; iconPosition?: never }\n);\n\nconst styles = {\n icon: 'h-sw-xl w-sw-xl',\n\n size: (size: Size) => ({\n 'px-sw-xl py-sw-[10px] rounded-sw-sm': size === 'sm',\n 'px-sw-2xl py-sw-sm rounded-sw-md': size === 'md',\n 'px-sw-3xl py-sw-xl rounded-sw-lg': size === 'lg',\n }),\n\n width: (fluid?: boolean) => ({\n 'w-full': !fluid,\n }),\n\n common: `\n ring-1 ring-inset ring-transparent\n transition-all duration-250 ease-in-out\n `,\n};\n\nconst ButtonChildren = ({\n icon,\n iconPosition,\n children,\n state,\n}: Pick<Props, 'icon' | 'iconPosition' | 'children' | 'state'>) => {\n const hasIcon = !!icon;\n const Icon =\n hasIcon && state !== 'loading'\n ? (icon ?? (() => <span />))\n : ({ className, ...iconProps }: IconProps) => (\n <ProgressActivity\n className={clsx(styles.icon, 'animate-spin', className)}\n {...iconProps}\n />\n );\n\n return (\n <span className=\"text-sw-label-md flex w-full items-center justify-center gap-sw-lg py-sw-xs\">\n {(hasIcon && iconPosition !== 'tail') ||\n (!hasIcon && state === 'loading') ? (\n <Icon className={styles.icon} />\n ) : null}\n {children}\n {hasIcon && iconPosition === 'tail' && <Icon className={styles.icon} />}\n </span>\n );\n};\n\nconst ButtonPrimary = ({\n size,\n className,\n children,\n state = 'default',\n onClick,\n fluid,\n ...props\n}: Omit<Props, 'variant'>) => {\n const isDisabled = ['disabled', 'loading', 'error'].includes(state)\n ? true\n : undefined;\n\n return (\n <UIButton\n disabled={isDisabled}\n data-active={state === 'active' ? true : undefined}\n onClick={() => state === 'default' && onClick?.()}\n className={clsx(\n styles.common,\n styles.width(fluid),\n styles.size(size),\n {\n 'bg-transparent text-sw-status-error ring-1 ring-inset ring-sw-status-error':\n state === 'error',\n 'bg-transparent text-sw-gray-400 ring-1 ring-inset ring-sw-gray-700':\n state === 'loading' || state === 'disabled',\n 'text-sw-gray-950 bg-sw-accent-500 hover:bg-sw-accent-400 cursor-pointer':\n ['active', 'default'].includes(state),\n },\n className,\n )}>\n <ButtonChildren state={state} {...props}>\n {children}\n </ButtonChildren>\n </UIButton>\n );\n};\n\nconst ButtonOutlined = ({\n size,\n className,\n children,\n state = 'default',\n onClick,\n fluid,\n ...props\n}: Omit<Props, 'variant'>) => {\n const isDisabled = ['disabled', 'loading', 'error'].includes(state)\n ? true\n : undefined;\n\n return (\n <UIButton\n disabled={isDisabled}\n data-active={state === 'active' ? true : undefined}\n onClick={() => state === 'default' && onClick?.()}\n className={clsx(\n styles.common,\n styles.width(fluid),\n styles.size(size),\n {\n 'bg-transparent text-sw-status-error ring-1 ring-inset ring-sw-status-error':\n state === 'error',\n 'bg-transparent text-sw-gray-400 ring-1 ring-inset ring-sw-gray-700':\n state === 'loading' || state === 'disabled',\n 'bg-transparent text-sw-gray-50 ring-1 ring-inset ring-sw-gray-600 hover:ring-sw-gray-100 cursor-pointer':\n ['active', 'default'].includes(state),\n },\n className,\n )}>\n <ButtonChildren state={state} {...props}>\n {children}\n </ButtonChildren>\n </UIButton>\n );\n};\n\nexport const Button = ({ variant, ...restProps }: Props) => {\n switch (variant) {\n case 'outlined':\n return <ButtonOutlined {...restProps} />;\n case 'primary':\n default:\n return <ButtonPrimary {...restProps} />;\n }\n};\n"],"names":["styles","size","fluid","ButtonChildren","icon","iconPosition","children","state","hasIcon","Icon","jsx","className","iconProps","ProgressActivity","clsx","jsxs","ButtonPrimary","onClick","props","isDisabled","UIButton","ButtonOutlined","Button","variant","restProps"],"mappings":"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"}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import
|
|
1
|
+
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
+
import { CloseW700 as e } from "@material-symbols-svg/react-rounded/icons/close";
|
|
3
3
|
import "../constants/chains.js";
|
|
4
4
|
import "viem";
|
|
5
5
|
import "ethers";
|
|
6
6
|
import { cn as s } from "../utils/cn.js";
|
|
7
|
-
const
|
|
7
|
+
const u = ({ className: t, onClick: o }) => /* @__PURE__ */ r(
|
|
8
8
|
"button",
|
|
9
9
|
{
|
|
10
10
|
type: "button",
|
|
11
11
|
className: s(
|
|
12
12
|
"flex cursor-pointer items-center justify-center text-sw-gray-200 transition-colors hover:text-sw-gray-50 p-sw-md w-[34px] h-[34px] rounded-sw-md bg-sw-gray-950 hover:bg-sw-gray-800",
|
|
13
|
-
|
|
13
|
+
t
|
|
14
14
|
),
|
|
15
15
|
onClick: o,
|
|
16
|
-
children: /* @__PURE__ */
|
|
16
|
+
children: /* @__PURE__ */ r(e, { size: 18 })
|
|
17
17
|
}
|
|
18
18
|
);
|
|
19
19
|
export {
|
|
20
|
-
|
|
20
|
+
u as CloseButton
|
|
21
21
|
};
|
|
22
22
|
//# sourceMappingURL=CloseButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CloseButton.js","sources":["../../src/components/CloseButton.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"CloseButton.js","sources":["../../src/components/CloseButton.tsx"],"sourcesContent":["import { CloseW700 as Close } from '@material-symbols-svg/react-rounded/icons/close';\n\nimport { cn } from '@/utils';\n\ntype Props = {\n className?: string;\n onClick: () => void;\n};\n\nexport const CloseButton = ({ className, onClick }: Props) => {\n return (\n <button\n type=\"button\"\n className={cn(\n 'flex cursor-pointer items-center justify-center text-sw-gray-200 transition-colors hover:text-sw-gray-50 p-sw-md w-[34px] h-[34px] rounded-sw-md bg-sw-gray-950 hover:bg-sw-gray-800',\n className,\n )}\n onClick={onClick}>\n <Close size={18} />\n </button>\n );\n};\n"],"names":["CloseButton","className","onClick","jsx","cn","Close"],"mappings":";;;;;;AASO,MAAMA,IAAc,CAAC,EAAE,WAAAC,GAAW,SAAAC,QAErC,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,WAAWC;AAAA,MACT;AAAA,MACAH;AAAA,IAAA;AAAA,IAEF,SAAAC;AAAA,IACA,UAAA,gBAAAC,EAACE,GAAA,EAAM,MAAM,GAAA,CAAI;AAAA,EAAA;AAAA;"}
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
import { jsx as t } from "react/jsx-runtime";
|
|
2
2
|
import i from "copy-text-to-clipboard";
|
|
3
|
-
import
|
|
4
|
-
const
|
|
3
|
+
import { ContentCopyW700 as r } from "@material-symbols-svg/react-rounded/icons/content-copy";
|
|
4
|
+
const c = ({ value: o }) => /* @__PURE__ */ t(
|
|
5
5
|
"button",
|
|
6
6
|
{
|
|
7
7
|
type: "button",
|
|
8
8
|
onClick: () => i(o),
|
|
9
9
|
className: "text-sw-gray-200 hover:text-sw-gray-50 cursor-pointer transition-all duration-300 [transition-timing-function:cubic-bezier(0.175,0.885,0.32,1.275)] active:-translate-y-1 active:scale-x-90 active:scale-y-110",
|
|
10
|
-
children: /* @__PURE__ */ t(r
|
|
10
|
+
children: /* @__PURE__ */ t(r, { size: 16 })
|
|
11
11
|
}
|
|
12
12
|
);
|
|
13
13
|
export {
|
|
14
|
-
|
|
14
|
+
c as CopyButton
|
|
15
15
|
};
|
|
16
16
|
//# sourceMappingURL=CopyButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CopyButton.js","sources":["../../src/components/CopyButton.tsx"],"sourcesContent":["import copy from 'copy-text-to-clipboard';\nimport
|
|
1
|
+
{"version":3,"file":"CopyButton.js","sources":["../../src/components/CopyButton.tsx"],"sourcesContent":["import copy from 'copy-text-to-clipboard';\nimport { ContentCopyW700 as ContentCopy } from '@material-symbols-svg/react-rounded/icons/content-copy';\n\nexport const CopyButton = ({ value }: { value: string }) => (\n <button\n type=\"button\"\n onClick={() => copy(value)}\n className=\"text-sw-gray-200 hover:text-sw-gray-50 cursor-pointer transition-all duration-300 [transition-timing-function:cubic-bezier(0.175,0.885,0.32,1.275)] active:-translate-y-1 active:scale-x-90 active:scale-y-110\">\n <ContentCopy size={16} />\n </button>\n);\n"],"names":["CopyButton","value","jsx","copy","ContentCopy"],"mappings":";;;AAGO,MAAMA,IAAa,CAAC,EAAE,OAAAC,EAAA,MAC3B,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,MAAK;AAAA,IACL,SAAS,MAAMC,EAAKF,CAAK;AAAA,IACzB,WAAU;AAAA,IACV,UAAA,gBAAAC,EAACE,GAAA,EAAY,MAAM,GAAA,CAAI;AAAA,EAAA;AACzB;"}
|
|
@@ -1,27 +1,28 @@
|
|
|
1
1
|
import { jsx as r } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
2
|
+
import { ArrowDownwardW700 as a } from "@material-symbols-svg/react-rounded/icons/arrow-downward";
|
|
3
|
+
import { ProgressActivityW700 as i } from "@material-symbols-svg/react-rounded/icons/progress-activity";
|
|
3
4
|
import { cn as o } from "../utils/cn.js";
|
|
4
|
-
const
|
|
5
|
-
isEnabled:
|
|
6
|
-
isLoading:
|
|
7
|
-
onClick:
|
|
5
|
+
const w = ({
|
|
6
|
+
isEnabled: e,
|
|
7
|
+
isLoading: t = !1,
|
|
8
|
+
onClick: s
|
|
8
9
|
}) => /* @__PURE__ */ r(
|
|
9
10
|
"div",
|
|
10
11
|
{
|
|
11
|
-
onClick:
|
|
12
|
+
onClick: e && !t ? s : void 0,
|
|
12
13
|
className: o(
|
|
13
14
|
"bg-sw-gray-950 mt-sw-xs group absolute top-1/2 left-1/2 flex h-[40px] w-[40px] -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-sw-md text-sw-gray-100 transition-all duration-150",
|
|
14
15
|
{
|
|
15
|
-
"cursor-pointer hover:scale-110 hover:text-sw-gray-50 hover:bg-sw-gray-700":
|
|
16
|
+
"cursor-pointer hover:scale-110 hover:text-sw-gray-50 hover:bg-sw-gray-700": e && !t
|
|
16
17
|
}
|
|
17
18
|
),
|
|
18
|
-
children:
|
|
19
|
-
|
|
19
|
+
children: t ? /* @__PURE__ */ r("div", { className: "group relative inline-block", children: /* @__PURE__ */ r(i, { className: "h-sw-2xl w-sw-2xl animate-spin opacity-50 text-sw-accent-500" }) }) : /* @__PURE__ */ r("div", { className: "group relative inline-block", children: /* @__PURE__ */ r(
|
|
20
|
+
a,
|
|
20
21
|
{
|
|
21
22
|
className: o(
|
|
22
23
|
"h-sw-2xl w-sw-2xl transition-transform duration-300",
|
|
23
24
|
{
|
|
24
|
-
"group-hover:rotate-180":
|
|
25
|
+
"group-hover:rotate-180": e && !t
|
|
25
26
|
}
|
|
26
27
|
)
|
|
27
28
|
}
|
|
@@ -29,6 +30,6 @@ const i = ({
|
|
|
29
30
|
}
|
|
30
31
|
);
|
|
31
32
|
export {
|
|
32
|
-
|
|
33
|
+
w as DirectionSwitcher
|
|
33
34
|
};
|
|
34
35
|
//# sourceMappingURL=DirectionSwitcher.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DirectionSwitcher.js","sources":["../../src/components/DirectionSwitcher.tsx"],"sourcesContent":["import
|
|
1
|
+
{"version":3,"file":"DirectionSwitcher.js","sources":["../../src/components/DirectionSwitcher.tsx"],"sourcesContent":["import { ArrowDownwardW700 as ArrowDownward } from '@material-symbols-svg/react-rounded/icons/arrow-downward';\nimport { ProgressActivityW700 as ProgressActivity } from '@material-symbols-svg/react-rounded/icons/progress-activity';\nimport { cn } from '@/utils/cn';\n\ntype Props = {\n isEnabled: boolean;\n isLoading?: boolean;\n onClick?: () => void;\n};\n\nexport const DirectionSwitcher = ({\n isEnabled,\n isLoading = false,\n onClick,\n}: Props) => {\n return (\n <div\n onClick={isEnabled && !isLoading ? onClick : undefined}\n className={cn(\n 'bg-sw-gray-950 mt-sw-xs group absolute top-1/2 left-1/2 flex h-[40px] w-[40px] -translate-x-1/2 -translate-y-1/2 items-center justify-center rounded-sw-md text-sw-gray-100 transition-all duration-150',\n {\n 'cursor-pointer hover:scale-110 hover:text-sw-gray-50 hover:bg-sw-gray-700':\n isEnabled && !isLoading,\n },\n )}>\n {isLoading ? (\n <div className=\"group relative inline-block\">\n <ProgressActivity className=\"h-sw-2xl w-sw-2xl animate-spin opacity-50 text-sw-accent-500\" />\n </div>\n ) : (\n <div className=\"group relative inline-block\">\n <ArrowDownward\n className={cn(\n 'h-sw-2xl w-sw-2xl transition-transform duration-300',\n {\n 'group-hover:rotate-180': isEnabled && !isLoading,\n },\n )}\n />\n </div>\n )}\n </div>\n );\n};\n"],"names":["DirectionSwitcher","isEnabled","isLoading","onClick","jsx","cn","ProgressActivity","ArrowDownward"],"mappings":";;;;AAUO,MAAMA,IAAoB,CAAC;AAAA,EAChC,WAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,SAAAC;AACF,MAEI,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,SAASH,KAAa,CAACC,IAAYC,IAAU;AAAA,IAC7C,WAAWE;AAAA,MACT;AAAA,MACA;AAAA,QACE,6EACEJ,KAAa,CAACC;AAAA,MAAA;AAAA,IAClB;AAAA,IAED,UAAAA,IACC,gBAAAE,EAAC,OAAA,EAAI,WAAU,+BACb,UAAA,gBAAAA,EAACE,GAAA,EAAiB,WAAU,+DAAA,CAA+D,EAAA,CAC7F,IAEA,gBAAAF,EAAC,OAAA,EAAI,WAAU,+BACb,UAAA,gBAAAA;AAAA,MAACG;AAAAA,MAAA;AAAA,QACC,WAAWF;AAAA,UACT;AAAA,UACA;AAAA,YACE,0BAA0BJ,KAAa,CAACC;AAAA,UAAA;AAAA,QAC1C;AAAA,MACF;AAAA,IAAA,EACF,CACF;AAAA,EAAA;AAAA;"}
|
|
@@ -1,16 +1,18 @@
|
|
|
1
|
+
import { MaterialSymbolsComponent } from '@material-symbols-svg/react';
|
|
1
2
|
import { InputProps } from '@headlessui/react';
|
|
2
|
-
import { LucideIcon } from 'lucide-react';
|
|
3
3
|
type State = 'default' | 'disabled' | 'error' | 'fixed';
|
|
4
4
|
export type Props = Omit<InputProps, 'size'> & {
|
|
5
|
-
icon?:
|
|
5
|
+
icon?: MaterialSymbolsComponent;
|
|
6
6
|
defaultValue?: string;
|
|
7
7
|
focusOnMount?: boolean;
|
|
8
|
+
fontSize?: 'sm' | 'md';
|
|
8
9
|
state?: State;
|
|
9
10
|
};
|
|
10
11
|
export declare const Input: import('react').ForwardRefExoticComponent<Omit<InputProps, "size"> & {
|
|
11
|
-
icon?:
|
|
12
|
+
icon?: MaterialSymbolsComponent;
|
|
12
13
|
defaultValue?: string;
|
|
13
14
|
focusOnMount?: boolean;
|
|
15
|
+
fontSize?: "sm" | "md";
|
|
14
16
|
state?: State;
|
|
15
17
|
} & {
|
|
16
18
|
children?: import('react').ReactNode | undefined;
|
package/dist/components/Input.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { jsx as t, jsxs as m } from "react/jsx-runtime";
|
|
2
|
-
import { forwardRef as
|
|
2
|
+
import { forwardRef as I, useRef as j, useImperativeHandle as R, useState as w, useEffect as p, Fragment as B } from "react";
|
|
3
3
|
import { Input as k } from "@headlessui/react";
|
|
4
|
-
import
|
|
4
|
+
import { CloseW700 as z } from "@material-symbols-svg/react-rounded/icons/close";
|
|
5
5
|
import { cn as i } from "../utils/cn.js";
|
|
6
|
-
const
|
|
6
|
+
const $ = I(
|
|
7
7
|
({
|
|
8
8
|
state: e = "default",
|
|
9
9
|
defaultValue: r = "",
|
|
@@ -16,25 +16,25 @@ const X = F(
|
|
|
16
16
|
}, h) => {
|
|
17
17
|
const a = j(null);
|
|
18
18
|
R(h, () => a.current);
|
|
19
|
-
const [s, f] = w(!1), [o,
|
|
20
|
-
|
|
19
|
+
const [s, f] = w(!1), [o, l] = w(r), v = () => f(!0), N = () => f(!1), C = () => {
|
|
20
|
+
l(""), u?.({
|
|
21
21
|
target: { value: "" }
|
|
22
22
|
});
|
|
23
|
-
},
|
|
24
|
-
|
|
23
|
+
}, F = (g) => {
|
|
24
|
+
l(g.target.value), u?.(g);
|
|
25
25
|
};
|
|
26
26
|
p(() => {
|
|
27
|
-
|
|
27
|
+
l(r);
|
|
28
28
|
}, [r]), p(() => {
|
|
29
29
|
x && a.current?.focus();
|
|
30
30
|
}, []);
|
|
31
|
-
const
|
|
31
|
+
const n = ["disabled", "fixed"].includes(e);
|
|
32
32
|
return /* @__PURE__ */ t(
|
|
33
33
|
k,
|
|
34
34
|
{
|
|
35
35
|
type: "text",
|
|
36
36
|
as: B,
|
|
37
|
-
disabled:
|
|
37
|
+
disabled: n,
|
|
38
38
|
autoComplete: "off",
|
|
39
39
|
className: i(
|
|
40
40
|
"px-sw-lg py-sw-lg text-sw-label-md rounded-sw-md ring-transparent ring-1 ring-inset data-focus:outline-none transition-colors bg-sw-gray-800",
|
|
@@ -57,8 +57,8 @@ const X = F(
|
|
|
57
57
|
ref: a,
|
|
58
58
|
onBlur: N,
|
|
59
59
|
onFocus: v,
|
|
60
|
-
onChange:
|
|
61
|
-
disabled:
|
|
60
|
+
onChange: F,
|
|
61
|
+
disabled: n,
|
|
62
62
|
placeholder: d.placeholder,
|
|
63
63
|
autoComplete: "off",
|
|
64
64
|
className: i("text-sw-label-md mr-auto w-full outline-none", {
|
|
@@ -66,7 +66,7 @@ const X = F(
|
|
|
66
66
|
})
|
|
67
67
|
}
|
|
68
68
|
),
|
|
69
|
-
!
|
|
69
|
+
!n && /* @__PURE__ */ m("div", { className: "gap-sw-md relative flex items-center justify-end", children: [
|
|
70
70
|
b,
|
|
71
71
|
o ? /* @__PURE__ */ t(
|
|
72
72
|
"button",
|
|
@@ -80,8 +80,8 @@ const X = F(
|
|
|
80
80
|
"cursor-default text-sw-gray-300": !s
|
|
81
81
|
}
|
|
82
82
|
),
|
|
83
|
-
onClick:
|
|
84
|
-
children: /* @__PURE__ */ t(z
|
|
83
|
+
onClick: C,
|
|
84
|
+
children: /* @__PURE__ */ t(z, { className: "h-sw-xl w-sw-xl" })
|
|
85
85
|
}
|
|
86
86
|
) : null
|
|
87
87
|
] })
|
|
@@ -91,6 +91,6 @@ const X = F(
|
|
|
91
91
|
}
|
|
92
92
|
);
|
|
93
93
|
export {
|
|
94
|
-
|
|
94
|
+
$ as Input
|
|
95
95
|
};
|
|
96
96
|
//# sourceMappingURL=Input.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Input.js","sources":["../../src/components/Input.tsx"],"sourcesContent":["import {\n forwardRef,\n Fragment,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\nimport { Input as UIInput } from '@headlessui/react';\nimport
|
|
1
|
+
{"version":3,"file":"Input.js","sources":["../../src/components/Input.tsx"],"sourcesContent":["import {\n forwardRef,\n Fragment,\n useEffect,\n useImperativeHandle,\n useRef,\n useState,\n} from 'react';\nimport { Input as UIInput } from '@headlessui/react';\nimport { CloseW700 as Close } from '@material-symbols-svg/react-rounded/icons/close';\nimport type { MaterialSymbolsComponent } from '@material-symbols-svg/react';\nimport type { InputProps } from '@headlessui/react';\nimport type { PropsWithChildren } from 'react';\n\nimport { cn } from '@/utils/cn';\n\ntype State = 'default' | 'disabled' | 'error' | 'fixed';\n\nexport type Props = Omit<InputProps, 'size'> & {\n icon?: MaterialSymbolsComponent;\n defaultValue?: string;\n focusOnMount?: boolean;\n fontSize?: 'sm' | 'md';\n state?: State;\n};\n\nexport const Input = forwardRef<HTMLInputElement, PropsWithChildren<Props>>(\n (\n {\n state = 'default',\n defaultValue = '',\n focusOnMount = false,\n className,\n onChange,\n children,\n icon: Icon,\n ...inputProps\n },\n ref,\n ) => {\n const inputRef = useRef<HTMLInputElement>(null);\n\n useImperativeHandle(ref, () => inputRef.current!);\n\n const [isFocused, setIsFocused] = useState(false);\n const [value, setValue] = useState(defaultValue);\n\n const handleFocus = () => setIsFocused(true);\n const handleBlur = () => setIsFocused(false);\n const handleClear = () => {\n setValue('');\n onChange?.({\n target: { value: '' },\n } as React.ChangeEvent<HTMLInputElement>);\n };\n\n const onInputChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n setValue(e.target.value);\n onChange?.(e);\n };\n\n useEffect(() => {\n setValue(defaultValue);\n }, [defaultValue]);\n\n useEffect(() => {\n if (focusOnMount) {\n inputRef.current?.focus();\n }\n }, []);\n\n const inputDisabled = ['disabled', 'fixed'].includes(state);\n\n return (\n <UIInput\n type=\"text\"\n as={Fragment}\n disabled={inputDisabled}\n autoComplete=\"off\"\n className={cn(\n 'px-sw-lg py-sw-lg text-sw-label-md rounded-sw-md ring-transparent ring-1 ring-inset data-focus:outline-none transition-colors bg-sw-gray-800',\n {\n 'text-sw-gray-400 bg-sw-gray-800': state === 'fixed',\n 'text-sw-status-error bg-sw-gray-800': state === 'error',\n 'text-sw-gray-50 bg-sw-gray-700': isFocused && state === 'default',\n 'text-sw-gray-50 hover:bg-sw-gray-700':\n !isFocused && state === 'default',\n 'cursor-not-allowed bg-sw-gray-800 text-sw-gray-400':\n state === 'disabled',\n },\n className,\n )}\n {...inputProps}>\n {() => (\n <div className=\"flex items-center justify-between\">\n {Icon && <Icon size={16} className=\"mr-sw-md text-sw-gray-200\" />}\n <input\n value={value}\n ref={inputRef}\n onBlur={handleBlur}\n onFocus={handleFocus}\n onChange={onInputChange}\n disabled={inputDisabled}\n placeholder={inputProps.placeholder}\n autoComplete=\"off\"\n className={cn('text-sw-label-md mr-auto w-full outline-none', {\n 'cursor-not-allowed': state === 'disabled',\n })}\n />\n {!inputDisabled && (\n <div className=\"gap-sw-md relative flex items-center justify-end\">\n {children}\n {value ? (\n <button\n type=\"button\"\n className={cn(\n 'opacity-0 transition-opacity duration-150 ease-in-out hover:text-sw-gray-50',\n {\n 'cursor-pointer opacity-100': !!value,\n 'cursor-default text-sw-gray-200': isFocused,\n 'cursor-default text-sw-gray-300': !isFocused,\n },\n )}\n onClick={handleClear}>\n <Close className=\"h-sw-xl w-sw-xl\" />\n </button>\n ) : null}\n </div>\n )}\n </div>\n )}\n </UIInput>\n );\n },\n);\n"],"names":["Input","forwardRef","state","defaultValue","focusOnMount","className","onChange","children","Icon","inputProps","ref","inputRef","useRef","useImperativeHandle","isFocused","setIsFocused","useState","value","setValue","handleFocus","handleBlur","handleClear","onInputChange","e","useEffect","inputDisabled","jsx","UIInput","Fragment","cn","jsxs","Close"],"mappings":";;;;;AA0BO,MAAMA,IAAQC;AAAA,EACnB,CACE;AAAA,IACE,OAAAC,IAAQ;AAAA,IACR,cAAAC,IAAe;AAAA,IACf,cAAAC,IAAe;AAAA,IACf,WAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAMC;AAAA,IACN,GAAGC;AAAA,EAAA,GAELC,MACG;AACH,UAAMC,IAAWC,EAAyB,IAAI;AAE9C,IAAAC,EAAoBH,GAAK,MAAMC,EAAS,OAAQ;AAEhD,UAAM,CAACG,GAAWC,CAAY,IAAIC,EAAS,EAAK,GAC1C,CAACC,GAAOC,CAAQ,IAAIF,EAASb,CAAY,GAEzCgB,IAAc,MAAMJ,EAAa,EAAI,GACrCK,IAAa,MAAML,EAAa,EAAK,GACrCM,IAAc,MAAM;AACxB,MAAAH,EAAS,EAAE,GACXZ,IAAW;AAAA,QACT,QAAQ,EAAE,OAAO,GAAA;AAAA,MAAG,CACkB;AAAA,IAC1C,GAEMgB,IAAgB,CAACC,MAA2C;AAChE,MAAAL,EAASK,EAAE,OAAO,KAAK,GACvBjB,IAAWiB,CAAC;AAAA,IACd;AAEA,IAAAC,EAAU,MAAM;AACd,MAAAN,EAASf,CAAY;AAAA,IACvB,GAAG,CAACA,CAAY,CAAC,GAEjBqB,EAAU,MAAM;AACd,MAAIpB,KACFO,EAAS,SAAS,MAAA;AAAA,IAEtB,GAAG,CAAA,CAAE;AAEL,UAAMc,IAAgB,CAAC,YAAY,OAAO,EAAE,SAASvB,CAAK;AAE1D,WACE,gBAAAwB;AAAA,MAACC;AAAAA,MAAA;AAAA,QACC,MAAK;AAAA,QACL,IAAIC;AAAA,QACJ,UAAUH;AAAA,QACV,cAAa;AAAA,QACb,WAAWI;AAAA,UACT;AAAA,UACA;AAAA,YACE,mCAAmC3B,MAAU;AAAA,YAC7C,uCAAuCA,MAAU;AAAA,YACjD,kCAAkCY,KAAaZ,MAAU;AAAA,YACzD,wCACE,CAACY,KAAaZ,MAAU;AAAA,YAC1B,sDACEA,MAAU;AAAA,UAAA;AAAA,UAEdG;AAAA,QAAA;AAAA,QAED,GAAGI;AAAA,QACH,UAAA,MACC,gBAAAqB,EAAC,OAAA,EAAI,WAAU,qCACZ,UAAA;AAAA,UAAAtB,KAAQ,gBAAAkB,EAAClB,GAAA,EAAK,MAAM,IAAI,WAAU,6BAA4B;AAAA,UAC/D,gBAAAkB;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,OAAAT;AAAA,cACA,KAAKN;AAAA,cACL,QAAQS;AAAA,cACR,SAASD;AAAA,cACT,UAAUG;AAAA,cACV,UAAUG;AAAA,cACV,aAAahB,EAAW;AAAA,cACxB,cAAa;AAAA,cACb,WAAWoB,EAAG,gDAAgD;AAAA,gBAC5D,sBAAsB3B,MAAU;AAAA,cAAA,CACjC;AAAA,YAAA;AAAA,UAAA;AAAA,UAEF,CAACuB,KACA,gBAAAK,EAAC,OAAA,EAAI,WAAU,oDACZ,UAAA;AAAA,YAAAvB;AAAA,YACAU,IACC,gBAAAS;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,MAAK;AAAA,gBACL,WAAWG;AAAA,kBACT;AAAA,kBACA;AAAA,oBACE,8BAA8B,CAAC,CAACZ;AAAA,oBAChC,mCAAmCH;AAAA,oBACnC,mCAAmC,CAACA;AAAA,kBAAA;AAAA,gBACtC;AAAA,gBAEF,SAASO;AAAA,gBACT,UAAA,gBAAAK,EAACK,GAAA,EAAM,WAAU,kBAAA,CAAkB;AAAA,cAAA;AAAA,YAAA,IAEnC;AAAA,UAAA,EAAA,CACN;AAAA,QAAA,EAAA,CAEJ;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;"}
|