@velora-dex/widget 0.6.1-dev.2 → 0.6.1-dev.3
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/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
- package/dist/components/widget/Duration/Duration.d.ts.map +1 -1
- package/dist/components/widget/Duration/Duration.js +10 -17
- package/dist/components/widget/Duration/Duration.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js +10 -10
- package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
- package/dist/components/widget/Twap/CustomDurationDrawer.d.ts.map +1 -1
- package/dist/components/widget/Twap/CustomDurationDrawer.js +105 -101
- package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
- package/dist/components/widget/Twap/OrderDuration.js +1 -1
- package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
- package/dist/core/Warnings.js +2 -2
- package/dist/core/Warnings.js.map +1 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +0 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/inputs/state/common.d.ts.map +1 -1
- package/dist/core/inputs/state/common.js +28 -28
- package/dist/core/inputs/state/common.js.map +1 -1
- package/dist/core/twap/state/constants.d.ts +2 -2
- package/dist/core/twap/state/constants.d.ts.map +1 -1
- package/dist/core/twap/state/constants.js.map +1 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.js +1 -1
- package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
- package/dist/core/twap/state/twapParamsAtom.js +2 -2
- package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
- package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +1 -1
- package/dist/core/twap/useTwapTokenToInputProps.js +15 -15
- package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
- package/dist/hooks/swap/prices/delta/orders/utils.js +2 -2
- package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
- package/package.json +1 -1
|
@@ -124,7 +124,7 @@ var b = {
|
|
|
124
124
|
}, w = (i) => {
|
|
125
125
|
let l = _(58), { onClose: u, onSelect: h, onSelectImportToken: g, selectableChains: b, headerProps: x } = i, S = n(), C = S === "swap", w = S === "limit", T = S === "otc", E = S === "twap", D;
|
|
126
126
|
D = w ? "limit" : E ? "twap" : "swap";
|
|
127
|
-
let se = C || w
|
|
127
|
+
let se = C || w, O = !T, k = ie(), A = s(), j = o(), M = c(), N = k;
|
|
128
128
|
C && A ? N = A : w && j ? N = j : E && M && (N = M);
|
|
129
129
|
let [P, F] = ne(N), I;
|
|
130
130
|
l[0] !== D || l[1] !== k ? (I = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SelectTokenDialog.js","names":["SelectTokenDialogProps","RegularTokenList","RegularTokenListProps","AcrossTokenLists","TokenSearch","useDeferredInputState","useEffect","useState","PropsWithChildren","useChainId","SupportedChainId","useLimitChainTo","useSwapChainTo","useTwapChainTo","Token","TokenCloud","useTradeMode","UseImportTokenDrawerReturn","assertProp","cn","useEnabledSrcChains","useSelectableDestChains","GenericScreen","GenericScreenHeader","GenericScreenHeaderProps","useImportTokenDrawer","useBreakpoints","NetworkSwitcherList","Prettify","ArbitraryNetworkSwitcherProps","NetworkSwitcherListProps","BridgeInfoMode","SelectTokenScreenProps","Pick","SelectTokenProps","drawerContainer","HTMLElement","headerClasses","root","title","const","SelectTokenScreen","t0","$","_c","props","t1","onClose","tokenType","onImported","onOpenImportTokenDrawer","importTokenDrawer","t2","showBackButton","onGoBack","classes","headerProps","t3","t4","SelectTokenContentProps","SelectTokenContent","tokenContentProps","SelectTokenContentComp","SelectTokenFromContent","SelectTokenToContent","onSelectImportToken","onSelect","token","selectableChains","networkSwitcherListClasses","_onSelect","_selectableChains","appChainId","selectedChainId","setSelectedChainId","enabledSrcChains","hasMultipleChains","length","isOverMd","showNetworksSidebar","effectiveInputValue","inputValue","handleInputValueChange","clearInputValue","token_0","fetchedOnChain","onConfirmAction","onSelectToken","t5","Symbol","for","chainId","t6","t7","selectedNetwork","networks","showCheckIcon","networkSwitcherProps","t8","undefined","t9","dropdownProps","align","disabled","t10","t11","input","t12","t13","t14","t15","tradeMode","isSwap","isLimit","isOTC","isTwap","acrossMode","modeSupportsCrosschain","includeNativeTokenInList","swapChainTo","limitChainTo","twapChainTo","initialChainId","fromChainId","mode","enabledDestChains","chainSwitchingDisabled","isChainSelectable","includes","chainToSet","shouldSetChainId","isCrossChain","chainId_0","t16","SelectTokenLayout","networkSwitcherListProps","children"],"sources":["../../../../../src/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.tsx"],"sourcesContent":["import type { SelectTokenDialogProps } from \"./types\";\nimport {\n RegularTokenList,\n type RegularTokenListProps,\n} from \"./TokenListBody/RegularTokenList\";\nimport { AcrossTokenLists } from \"./TokenListBody/AcrossTokenList\";\nimport { TokenSearch } from \"./TokenSearch\";\nimport { useDeferredInputState } from \"@/hooks/useDebouncedInputState\";\nimport { useEffect, useState, type PropsWithChildren } from \"react\";\nimport { useChainId } from \"wagmi\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n useLimitChainTo,\n useSwapChainTo,\n useTwapChainTo,\n} from \"@/core/state/chainToAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TokenCloud } from \"./TokenListBody/TokenCloud\";\nimport { useTradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { UseImportTokenDrawerReturn } from \"../../ImportToken/types\";\nimport { assertProp, cn } from \"@/lib/utils\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport {\n GenericScreen,\n GenericScreenHeader,\n type GenericScreenHeaderProps,\n} from \"../../Screen/GenericScreen\";\nimport { useImportTokenDrawer } from \"../../ImportToken/useImportTokenDrawer\";\nimport { useBreakpoints } from \"@/hooks/useBreakpoints\";\nimport { NetworkSwitcherList } from \"../../NetworkSwitcher/NetworkSwitcherList\";\nimport type { Prettify } from \"ts-essentials\";\nimport type {\n ArbitraryNetworkSwitcherProps,\n NetworkSwitcherListProps,\n} from \"../../NetworkSwitcher/types\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\nexport type SelectTokenScreenProps = Prettify<\n Pick<\n SelectTokenProps,\n \"onClose\" | \"onSelect\" | \"selectableChains\" | \"tokenType\"\n > & {\n drawerContainer?: HTMLElement | null;\n }\n>;\n\nconst headerClasses = {\n root: \"px-4 pt-5 pb-4\",\n title: \"text-[16px]\",\n} as const;\n\nexport const SelectTokenScreen = ({\n drawerContainer,\n ...props\n}: SelectTokenScreenProps) => {\n const { onOpenImportTokenDrawer, importTokenDrawer } = useImportTokenDrawer({\n drawerContainer,\n tokenType: props.tokenType,\n onImported: props.onClose,\n });\n\n const headerProps: GenericScreenHeaderProps = {\n title: \"Select Token\",\n showBackButton: true,\n onGoBack: props.onClose,\n classes: headerClasses,\n };\n\n return (\n <GenericScreen>\n <SelectTokenContent\n {...props}\n headerProps={headerProps}\n onSelectImportToken={onOpenImportTokenDrawer}\n />\n {importTokenDrawer}\n </GenericScreen>\n );\n};\n\ntype SelectTokenProps = SelectTokenDialogProps & SelectTokenContentProps;\n\nconst SelectTokenContent = ({\n tokenType,\n ...tokenContentProps\n}: SelectTokenProps) => {\n const SelectTokenContentComp =\n tokenType === \"from\" ? SelectTokenFromContent : SelectTokenToContent;\n\n return <SelectTokenContentComp {...tokenContentProps} />;\n};\n\ntype SelectTokenContentProps = {\n onSelectImportToken: UseImportTokenDrawerReturn[\"onOpenImportTokenDrawer\"];\n onClose?: () => void;\n onSelect?: (token: Token) => void;\n selectableChains?: SupportedChainId[];\n headerProps: GenericScreenHeaderProps;\n};\n\nconst networkSwitcherListClasses = {\n root: \"rounded-r-xxl\",\n} as const;\n\nconst SelectTokenFromContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n headerProps,\n}: SelectTokenContentProps) => {\n const appChainId = useChainId();\n\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(appChainId);\n\n const enabledSrcChains = useEnabledSrcChains();\n const selectableChains = _selectableChains ?? enabledSrcChains;\n const hasMultipleChains = selectableChains.length > 1;\n\n const { isOverMd } = useBreakpoints();\n const showNetworksSidebar = isOverMd && hasMultipleChains;\n\n useEffect(() => {\n // keep selectedChainId in sync with appChainId\n setSelectedChainId(appChainId);\n }, [appChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-from\" });\n } else {\n onSelect(token);\n }\n };\n\n const networkSwitcherProps: ArbitraryNetworkSwitcherProps = {\n onSelect: (chainId) => chainId !== \"all\" && setSelectedChainId(chainId),\n selectedNetwork: selectedChainId,\n networks: selectableChains,\n showCheckIcon: !showNetworksSidebar,\n };\n\n return (\n <SelectTokenLayout\n showNetworksSidebar={showNetworksSidebar}\n headerProps={headerProps}\n networkSwitcherListProps={\n showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n classes: networkSwitcherListClasses,\n }\n : undefined\n }\n >\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={\n !showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n dropdownProps: { align: \"end\" },\n disabled: !hasMultipleChains,\n }\n : undefined\n }\n classes={{\n input: cn({\n \"pr-[42px] h-[40px] dark:bg-contrast-2\": showNetworksSidebar,\n }),\n }}\n />\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n />\n </SelectTokenLayout>\n );\n};\n\nconst SelectTokenToContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n headerProps,\n}: SelectTokenContentProps) => {\n const tradeMode = useTradeMode();\n const isSwap = tradeMode === \"swap\";\n const isLimit = tradeMode === \"limit\";\n const isOTC = tradeMode === \"otc\";\n const isTwap = tradeMode === \"twap\";\n\n // types also expect \"otc\" here,\n // but only \"swap\", \"limit\" and \"twap\" are actually possible for across mode\n let acrossMode: BridgeInfoMode;\n if (isLimit) {\n acrossMode = \"limit\";\n } else if (isTwap) {\n acrossMode = \"twap\";\n } else {\n acrossMode = \"swap\";\n }\n\n const modeSupportsCrosschain = isSwap || isLimit || isTwap;\n\n // otc doesn't support destToken=ETH\n const includeNativeTokenInList = !isOTC;\n\n const appChainId = useChainId();\n const swapChainTo = useSwapChainTo();\n const limitChainTo = useLimitChainTo();\n const twapChainTo = useTwapChainTo();\n\n let initialChainId = appChainId;\n if (isSwap && swapChainTo) {\n initialChainId = swapChainTo;\n } else if (isLimit && limitChainTo) {\n initialChainId = limitChainTo;\n } else if (isTwap && twapChainTo) {\n initialChainId = twapChainTo;\n }\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(initialChainId);\n\n const enabledDestChains = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n }).selectableChains;\n const selectableChains = _selectableChains ?? enabledDestChains;\n const hasMultipleChains = selectableChains.length > 1;\n\n const { isOverMd } = useBreakpoints();\n\n const chainSwitchingDisabled = !modeSupportsCrosschain || !hasMultipleChains;\n const showNetworksSidebar = isOverMd && !chainSwitchingDisabled;\n\n const isChainSelectable = (chainId: SupportedChainId) =>\n selectableChains?.includes(chainId) ?? false;\n\n // keep track if selectedChainId is still selectable\n // - if yes, keep it and don't change\n // - if not, try to set to appChainId\n // - else set to first selectable chain\n const chainToSet = isChainSelectable(selectedChainId)\n ? selectedChainId\n : isChainSelectable(appChainId)\n ? appChainId\n : selectableChains[0];\n const shouldSetChainId = chainToSet !== selectedChainId;\n\n useEffect(() => {\n if (!shouldSetChainId) return;\n\n if (chainToSet) {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setSelectedChainId(chainToSet);\n } else {\n onClose?.();\n }\n }, [chainToSet, onClose, shouldSetChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const isCrossChain = selectedChainId !== appChainId;\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-to\" });\n } else {\n onSelect(token);\n }\n };\n\n const networkSwitcherProps: ArbitraryNetworkSwitcherProps = {\n onSelect: (chainId) => chainId !== \"all\" && setSelectedChainId(chainId),\n selectedNetwork: selectedChainId,\n networks: selectableChains,\n showCheckIcon: !showNetworksSidebar,\n };\n\n return (\n <SelectTokenLayout\n showNetworksSidebar={showNetworksSidebar}\n headerProps={headerProps}\n networkSwitcherListProps={\n showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n classes: networkSwitcherListClasses,\n }\n : undefined\n }\n >\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={\n !showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n disabled: chainSwitchingDisabled,\n dropdownProps: {\n align: \"end\",\n },\n }\n : undefined\n }\n classes={{\n input: cn({\n \"pr-[42px] h-[40px] dark:bg-contrast-2\": showNetworksSidebar,\n }),\n }}\n />\n {!isCrossChain ? (\n <>\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n withETH={includeNativeTokenInList}\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n withETH={includeNativeTokenInList}\n // when crosschain disallowed, don't search on other chains by tokenFilter\n singleChainTokensOnly={chainSwitchingDisabled}\n selectableChains={selectableChains}\n />\n </>\n ) : (\n <AcrossTokenLists\n tokenFilter={effectiveInputValue}\n onSelect={onSelect}\n fromChainId={appChainId}\n toChainId={selectedChainId}\n className=\"flex-1\"\n mode={acrossMode}\n />\n )}\n </SelectTokenLayout>\n );\n};\n\nconst SelectTokenLayout = ({\n showNetworksSidebar,\n networkSwitcherListProps,\n headerProps,\n children,\n}: PropsWithChildren<{\n showNetworksSidebar: boolean;\n networkSwitcherListProps?: NetworkSwitcherListProps;\n headerProps: GenericScreenHeaderProps;\n}>) => {\n return (\n <div\n className={cn({\n \"grid grid-cols-[auto_minmax(0,140px)] bg-contrast-9 dark:bg-contrast-2 rounded-xxl\":\n showNetworksSidebar,\n })}\n >\n <div\n className={cn({\n \"bg-contrast-8 dark:bg-contrast-1 rounded-xxl\": showNetworksSidebar,\n })}\n >\n <GenericScreenHeader {...headerProps} />\n {/* 448px height to fit search bar + two rows of token cloud + five token rows */}\n <div className=\"flex flex-col gap-y-3 h-[448px] pb-6\">{children}</div>\n </div>\n {showNetworksSidebar && networkSwitcherListProps && (\n <NetworkSwitcherList {...networkSwitcherListProps} />\n )}\n </div>\n );\n};\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SelectTokenDialog.js","names":["SelectTokenDialogProps","RegularTokenList","RegularTokenListProps","AcrossTokenLists","TokenSearch","useDeferredInputState","useEffect","useState","PropsWithChildren","useChainId","SupportedChainId","useLimitChainTo","useSwapChainTo","useTwapChainTo","Token","TokenCloud","useTradeMode","UseImportTokenDrawerReturn","assertProp","cn","useEnabledSrcChains","useSelectableDestChains","GenericScreen","GenericScreenHeader","GenericScreenHeaderProps","useImportTokenDrawer","useBreakpoints","NetworkSwitcherList","Prettify","ArbitraryNetworkSwitcherProps","NetworkSwitcherListProps","BridgeInfoMode","SelectTokenScreenProps","Pick","SelectTokenProps","drawerContainer","HTMLElement","headerClasses","root","title","const","SelectTokenScreen","t0","$","_c","props","t1","onClose","tokenType","onImported","onOpenImportTokenDrawer","importTokenDrawer","t2","showBackButton","onGoBack","classes","headerProps","t3","t4","SelectTokenContentProps","SelectTokenContent","tokenContentProps","SelectTokenContentComp","SelectTokenFromContent","SelectTokenToContent","onSelectImportToken","onSelect","token","selectableChains","networkSwitcherListClasses","_onSelect","_selectableChains","appChainId","selectedChainId","setSelectedChainId","enabledSrcChains","hasMultipleChains","length","isOverMd","showNetworksSidebar","effectiveInputValue","inputValue","handleInputValueChange","clearInputValue","token_0","fetchedOnChain","onConfirmAction","onSelectToken","t5","Symbol","for","chainId","t6","t7","selectedNetwork","networks","showCheckIcon","networkSwitcherProps","t8","undefined","t9","dropdownProps","align","disabled","t10","t11","input","t12","t13","t14","t15","tradeMode","isSwap","isLimit","isOTC","isTwap","acrossMode","modeSupportsCrosschain","includeNativeTokenInList","swapChainTo","limitChainTo","twapChainTo","initialChainId","fromChainId","mode","enabledDestChains","chainSwitchingDisabled","isChainSelectable","includes","chainToSet","shouldSetChainId","isCrossChain","chainId_0","t16","SelectTokenLayout","networkSwitcherListProps","children"],"sources":["../../../../../src/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.tsx"],"sourcesContent":["import type { SelectTokenDialogProps } from \"./types\";\nimport {\n RegularTokenList,\n type RegularTokenListProps,\n} from \"./TokenListBody/RegularTokenList\";\nimport { AcrossTokenLists } from \"./TokenListBody/AcrossTokenList\";\nimport { TokenSearch } from \"./TokenSearch\";\nimport { useDeferredInputState } from \"@/hooks/useDebouncedInputState\";\nimport { useEffect, useState, type PropsWithChildren } from \"react\";\nimport { useChainId } from \"wagmi\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport {\n useLimitChainTo,\n useSwapChainTo,\n useTwapChainTo,\n} from \"@/core/state/chainToAtom\";\nimport type { Token } from \"@/tokens/state/types\";\nimport { TokenCloud } from \"./TokenListBody/TokenCloud\";\nimport { useTradeMode } from \"@/core/state/tradeModeAtom\";\nimport type { UseImportTokenDrawerReturn } from \"../../ImportToken/types\";\nimport { assertProp, cn } from \"@/lib/utils\";\nimport { useEnabledSrcChains } from \"@/core/state/enabledChainsAtom\";\nimport { useSelectableDestChains } from \"@/hooks/useSelectableDestChains\";\nimport {\n GenericScreen,\n GenericScreenHeader,\n type GenericScreenHeaderProps,\n} from \"../../Screen/GenericScreen\";\nimport { useImportTokenDrawer } from \"../../ImportToken/useImportTokenDrawer\";\nimport { useBreakpoints } from \"@/hooks/useBreakpoints\";\nimport { NetworkSwitcherList } from \"../../NetworkSwitcher/NetworkSwitcherList\";\nimport type { Prettify } from \"ts-essentials\";\nimport type {\n ArbitraryNetworkSwitcherProps,\n NetworkSwitcherListProps,\n} from \"../../NetworkSwitcher/types\";\nimport type { BridgeInfoMode } from \"@/hooks/swap/prices/delta/queries/bridgeInfo/types\";\n\nexport type SelectTokenScreenProps = Prettify<\n Pick<\n SelectTokenProps,\n \"onClose\" | \"onSelect\" | \"selectableChains\" | \"tokenType\"\n > & {\n drawerContainer?: HTMLElement | null;\n }\n>;\n\nconst headerClasses = {\n root: \"px-4 pt-5 pb-4\",\n title: \"text-[16px]\",\n} as const;\n\nexport const SelectTokenScreen = ({\n drawerContainer,\n ...props\n}: SelectTokenScreenProps) => {\n const { onOpenImportTokenDrawer, importTokenDrawer } = useImportTokenDrawer({\n drawerContainer,\n tokenType: props.tokenType,\n onImported: props.onClose,\n });\n\n const headerProps: GenericScreenHeaderProps = {\n title: \"Select Token\",\n showBackButton: true,\n onGoBack: props.onClose,\n classes: headerClasses,\n };\n\n return (\n <GenericScreen>\n <SelectTokenContent\n {...props}\n headerProps={headerProps}\n onSelectImportToken={onOpenImportTokenDrawer}\n />\n {importTokenDrawer}\n </GenericScreen>\n );\n};\n\ntype SelectTokenProps = SelectTokenDialogProps & SelectTokenContentProps;\n\nconst SelectTokenContent = ({\n tokenType,\n ...tokenContentProps\n}: SelectTokenProps) => {\n const SelectTokenContentComp =\n tokenType === \"from\" ? SelectTokenFromContent : SelectTokenToContent;\n\n return <SelectTokenContentComp {...tokenContentProps} />;\n};\n\ntype SelectTokenContentProps = {\n onSelectImportToken: UseImportTokenDrawerReturn[\"onOpenImportTokenDrawer\"];\n onClose?: () => void;\n onSelect?: (token: Token) => void;\n selectableChains?: SupportedChainId[];\n headerProps: GenericScreenHeaderProps;\n};\n\nconst networkSwitcherListClasses = {\n root: \"rounded-r-xxl\",\n} as const;\n\nconst SelectTokenFromContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n headerProps,\n}: SelectTokenContentProps) => {\n const appChainId = useChainId();\n\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(appChainId);\n\n const enabledSrcChains = useEnabledSrcChains();\n const selectableChains = _selectableChains ?? enabledSrcChains;\n const hasMultipleChains = selectableChains.length > 1;\n\n const { isOverMd } = useBreakpoints();\n const showNetworksSidebar = isOverMd && hasMultipleChains;\n\n useEffect(() => {\n // keep selectedChainId in sync with appChainId\n setSelectedChainId(appChainId);\n }, [appChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-from\" });\n } else {\n onSelect(token);\n }\n };\n\n const networkSwitcherProps: ArbitraryNetworkSwitcherProps = {\n onSelect: (chainId) => chainId !== \"all\" && setSelectedChainId(chainId),\n selectedNetwork: selectedChainId,\n networks: selectableChains,\n showCheckIcon: !showNetworksSidebar,\n };\n\n return (\n <SelectTokenLayout\n showNetworksSidebar={showNetworksSidebar}\n headerProps={headerProps}\n networkSwitcherListProps={\n showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n classes: networkSwitcherListClasses,\n }\n : undefined\n }\n >\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={\n !showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n dropdownProps: { align: \"end\" },\n disabled: !hasMultipleChains,\n }\n : undefined\n }\n classes={{\n input: cn({\n \"pr-[42px] h-[40px] dark:bg-contrast-2\": showNetworksSidebar,\n }),\n }}\n />\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n />\n </SelectTokenLayout>\n );\n};\n\nconst SelectTokenToContent = ({\n onClose,\n onSelect: _onSelect,\n onSelectImportToken,\n selectableChains: _selectableChains,\n headerProps,\n}: SelectTokenContentProps) => {\n const tradeMode = useTradeMode();\n const isSwap = tradeMode === \"swap\";\n const isLimit = tradeMode === \"limit\";\n const isOTC = tradeMode === \"otc\";\n const isTwap = tradeMode === \"twap\";\n\n // types also expect \"otc\" here,\n // but only \"swap\", \"limit\" and \"twap\" are actually possible for across mode\n let acrossMode: BridgeInfoMode;\n if (isLimit) {\n acrossMode = \"limit\";\n } else if (isTwap) {\n acrossMode = \"twap\";\n } else {\n acrossMode = \"swap\";\n }\n\n // @TODO reenable TWAP crosschain when ready on the API\n const modeSupportsCrosschain = isSwap || isLimit; /* || isTwap */\n\n // otc doesn't support destToken=ETH\n const includeNativeTokenInList = !isOTC;\n\n const appChainId = useChainId();\n const swapChainTo = useSwapChainTo();\n const limitChainTo = useLimitChainTo();\n const twapChainTo = useTwapChainTo();\n\n let initialChainId = appChainId;\n if (isSwap && swapChainTo) {\n initialChainId = swapChainTo;\n } else if (isLimit && limitChainTo) {\n initialChainId = limitChainTo;\n } else if (isTwap && twapChainTo) {\n initialChainId = twapChainTo;\n }\n const [selectedChainId, setSelectedChainId] =\n useState<SupportedChainId>(initialChainId);\n\n const enabledDestChains = useSelectableDestChains({\n fromChainId: appChainId,\n mode: acrossMode,\n }).selectableChains;\n const selectableChains = _selectableChains ?? enabledDestChains;\n const hasMultipleChains = selectableChains.length > 1;\n\n const { isOverMd } = useBreakpoints();\n\n const chainSwitchingDisabled = !modeSupportsCrosschain || !hasMultipleChains;\n const showNetworksSidebar = isOverMd && !chainSwitchingDisabled;\n\n const isChainSelectable = (chainId: SupportedChainId) =>\n selectableChains?.includes(chainId) ?? false;\n\n // keep track if selectedChainId is still selectable\n // - if yes, keep it and don't change\n // - if not, try to set to appChainId\n // - else set to first selectable chain\n const chainToSet = isChainSelectable(selectedChainId)\n ? selectedChainId\n : isChainSelectable(appChainId)\n ? appChainId\n : selectableChains[0];\n const shouldSetChainId = chainToSet !== selectedChainId;\n\n useEffect(() => {\n if (!shouldSetChainId) return;\n\n if (chainToSet) {\n // eslint-disable-next-line react-hooks/set-state-in-effect\n setSelectedChainId(chainToSet);\n } else {\n onClose?.();\n }\n }, [chainToSet, onClose, shouldSetChainId]);\n\n const {\n effectiveInputValue,\n inputValue,\n handleInputValueChange,\n clearInputValue,\n } = useDeferredInputState();\n\n const onSelect = (token: Token) => {\n onClose?.();\n _onSelect?.(token);\n };\n\n const isCrossChain = selectedChainId !== appChainId;\n\n const onSelectToken: RegularTokenListProps[\"onSelectToken\"] = (token) => {\n if (token.fetchedOnChain) {\n assertProp(token, \"symbol\");\n\n onSelectImportToken({ token, onConfirmAction: \"set-token-to\" });\n } else {\n onSelect(token);\n }\n };\n\n const networkSwitcherProps: ArbitraryNetworkSwitcherProps = {\n onSelect: (chainId) => chainId !== \"all\" && setSelectedChainId(chainId),\n selectedNetwork: selectedChainId,\n networks: selectableChains,\n showCheckIcon: !showNetworksSidebar,\n };\n\n return (\n <SelectTokenLayout\n showNetworksSidebar={showNetworksSidebar}\n headerProps={headerProps}\n networkSwitcherListProps={\n showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n classes: networkSwitcherListClasses,\n }\n : undefined\n }\n >\n <TokenSearch\n value={inputValue}\n onChange={handleInputValueChange}\n clearSearch={clearInputValue}\n compactNetworkSwitcherProps={\n !showNetworksSidebar\n ? {\n ...networkSwitcherProps,\n disabled: chainSwitchingDisabled,\n dropdownProps: {\n align: \"end\",\n },\n }\n : undefined\n }\n classes={{\n input: cn({\n \"pr-[42px] h-[40px] dark:bg-contrast-2\": showNetworksSidebar,\n }),\n }}\n />\n {!isCrossChain ? (\n <>\n <TokenCloud\n onSelectToken={onSelect}\n forcedChainId={selectedChainId}\n showNetworkIcon\n withETH={includeNativeTokenInList}\n />\n <RegularTokenList\n tokenFilter={effectiveInputValue}\n onSelectToken={onSelectToken}\n forcedChainId={selectedChainId}\n className=\"flex-1\"\n withETH={includeNativeTokenInList}\n // when crosschain disallowed, don't search on other chains by tokenFilter\n singleChainTokensOnly={chainSwitchingDisabled}\n selectableChains={selectableChains}\n />\n </>\n ) : (\n <AcrossTokenLists\n tokenFilter={effectiveInputValue}\n onSelect={onSelect}\n fromChainId={appChainId}\n toChainId={selectedChainId}\n className=\"flex-1\"\n mode={acrossMode}\n />\n )}\n </SelectTokenLayout>\n );\n};\n\nconst SelectTokenLayout = ({\n showNetworksSidebar,\n networkSwitcherListProps,\n headerProps,\n children,\n}: PropsWithChildren<{\n showNetworksSidebar: boolean;\n networkSwitcherListProps?: NetworkSwitcherListProps;\n headerProps: GenericScreenHeaderProps;\n}>) => {\n return (\n <div\n className={cn({\n \"grid grid-cols-[auto_minmax(0,140px)] bg-contrast-9 dark:bg-contrast-2 rounded-xxl\":\n showNetworksSidebar,\n })}\n >\n <div\n className={cn({\n \"bg-contrast-8 dark:bg-contrast-1 rounded-xxl\": showNetworksSidebar,\n })}\n >\n <GenericScreenHeader {...headerProps} />\n {/* 448px height to fit search bar + two rows of token cloud + five token rows */}\n <div className=\"flex flex-col gap-y-3 h-[448px] pb-6\">{children}</div>\n </div>\n {showNetworksSidebar && networkSwitcherListProps && (\n <NetworkSwitcherList {...networkSwitcherListProps} />\n )}\n </div>\n );\n};\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Duration.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Duration/Duration.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"Duration.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Duration/Duration.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAGvD,eAAO,MAAM,QAAQ,GAAI,mCAItB;IACD,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,GAAG,WAAW,CAAC,MAAM,CAAC,4CAgCtB,CAAC"}
|
|
@@ -7,39 +7,32 @@ import { jsx as i, jsxs as a } from "react/jsx-runtime";
|
|
|
7
7
|
var o = (a) => {
|
|
8
8
|
let o = r(10), { timeMs: c, classes: l, showSeconds: u } = a, d = u === void 0 ? !1 : u, f;
|
|
9
9
|
if (o[0] !== d || o[1] !== c) {
|
|
10
|
-
let e = t(c)
|
|
11
|
-
if (d) {
|
|
12
|
-
let t = e.asSeconds();
|
|
13
|
-
r = t === 60 ? {
|
|
14
|
-
value: 60,
|
|
15
|
-
unit: "s"
|
|
16
|
-
} : {
|
|
17
|
-
value: t >= 1 ? e.seconds() : null,
|
|
18
|
-
unit: "s"
|
|
19
|
-
};
|
|
20
|
-
}
|
|
10
|
+
let e = t(c);
|
|
21
11
|
f = [
|
|
22
12
|
{
|
|
23
|
-
value: e.asYears()
|
|
13
|
+
value: e.asYears() >= 1 ? e.years() : null,
|
|
24
14
|
unit: "y"
|
|
25
15
|
},
|
|
26
16
|
{
|
|
27
|
-
value: e.asMonths()
|
|
17
|
+
value: e.asMonths() >= 1 ? e.months() : null,
|
|
28
18
|
unit: "mo"
|
|
29
19
|
},
|
|
30
20
|
{
|
|
31
|
-
value: e.asDays()
|
|
21
|
+
value: e.asDays() >= 1 ? e.days() : null,
|
|
32
22
|
unit: "d"
|
|
33
23
|
},
|
|
34
24
|
{
|
|
35
|
-
value: e.asHours()
|
|
25
|
+
value: e.asHours() >= 1 ? e.hours() : null,
|
|
36
26
|
unit: "h"
|
|
37
27
|
},
|
|
38
28
|
{
|
|
39
|
-
value: e.asMinutes()
|
|
29
|
+
value: e.asMinutes() >= 1 ? e.minutes() : null,
|
|
40
30
|
unit: "m"
|
|
41
31
|
},
|
|
42
|
-
d &&
|
|
32
|
+
d && {
|
|
33
|
+
value: e.asSeconds() >= 1 ? e.seconds() : null,
|
|
34
|
+
unit: "s"
|
|
35
|
+
}
|
|
43
36
|
].filter(n), o[0] = d, o[1] = c, o[2] = f;
|
|
44
37
|
} else f = o[2];
|
|
45
38
|
let p = f, m = l?.root, h;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Duration.js","names":["cn","getDuration","WithClasses","isPartWithValue","
|
|
1
|
+
{"version":3,"file":"Duration.js","names":["cn","getDuration","WithClasses","isPartWithValue","Duration","t0","$","_c","timeMs","classes","showSeconds","t1","undefined","t2","duration","value","asYears","years","unit","asMonths","months","asDays","days","asHours","hours","asMinutes","minutes","asSeconds","seconds","filter","parts","t3","root","t4","t5","length","map","_temp","t6","part","i"],"sources":["../../../../src/components/widget/Duration/Duration.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport { getDuration } from \"@/lib/utils/time\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { isPartWithValue } from \"./utils\";\n\nexport const Duration = ({\n timeMs,\n classes,\n showSeconds = false,\n}: {\n timeMs: number;\n showSeconds?: boolean;\n} & WithClasses<\"root\">) => {\n const duration = getDuration(timeMs);\n\n const parts = [\n { value: duration.asYears() >= 1 ? duration.years() : null, unit: \"y\" },\n { value: duration.asMonths() >= 1 ? duration.months() : null, unit: \"mo\" },\n { value: duration.asDays() >= 1 ? duration.days() : null, unit: \"d\" },\n { value: duration.asHours() >= 1 ? duration.hours() : null, unit: \"h\" },\n { value: duration.asMinutes() >= 1 ? duration.minutes() : null, unit: \"m\" },\n showSeconds && {\n value: duration.asSeconds() >= 1 ? duration.seconds() : null,\n unit: \"s\",\n },\n ].filter(isPartWithValue);\n\n return (\n <div\n className={cn(\n \"text-xs flex gap-1 items-center dark:text-contrast-7\",\n classes?.root\n )}\n >\n {!parts.length\n ? \"-\"\n : parts.map((part, i) => (\n <span key={i}>\n <span>{part.value}</span>\n <span>{part.unit}</span>\n </span>\n ))}\n </div>\n );\n};\n"],"mappings":";;;;;;AAKA,IAAaI,KAAWC,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAC,WAAAC,YAAAC,aAAAC,MAAAN,GAGvBK,IAAAC,MAAAC,KAAAA,IAAA,KAAAD,GAAmBE;AAAA,KAAAP,EAAA,OAAAI,KAAAJ,EAAA,OAAAE,GAAA;EAKnB,IAAAM,IAAiBb,EAAYO,EAAO;AAYXF,EAVXO,IAAA;GACZ;IAAAE,OAASD,EAAQE,SAAU,IAAI,IAAIF,EAAQG,OAAe,GAAjD;IAAiDC,MAAQ;IAAK;GACvE;IAAAH,OAASD,EAAQK,UAAW,IAAI,IAAIL,EAAQM,QAAgB,GAAnD;IAAmDF,MAAQ;IAAM;GAC1E;IAAAH,OAASD,EAAQO,QAAS,IAAI,IAAIP,EAAQQ,MAAc,GAA/C;IAA+CJ,MAAQ;IAAK;GACrE;IAAAH,OAASD,EAAQS,SAAU,IAAI,IAAIT,EAAQU,OAAe,GAAjD;IAAiDN,MAAQ;IAAK;GACvE;IAAAH,OAASD,EAAQW,WAAY,IAAI,IAAIX,EAAQY,SAAiB,GAArD;IAAqDR,MAAQ;IAAK;GAC3ER,KAAA;IAAAK,OACSD,EAAQa,WAAY,IAAI,IAAIb,EAAQc,SAAiB,GAArD;IAAqDV,MACtD;IACP;GACF,CAAAW,OAAQ1B,EAAgB,EAAAG,EAAA,KAAAI,GAAAJ,EAAA,KAAAE,GAAAF,EAAA,KAAAO;OAAAA,KAAAP,EAAA;CAVzB,IAAAwB,IAAcjB,GAgBRkB,IAAAtB,GAAOuB,MAAMC;AAAA,CAAA3B,EAAA,OAAAyB,IACdE,IAAA3B,EAAA,MAHU2B,IAAAjC,EACT,wDACA+B,EACD,EAAAzB,EAAA,KAAAyB,GAAAzB,EAAA,KAAA2B;CAAA,IAAAC;AAAA,CAAA5B,EAAA,OAAAwB,IASKI,IAAA5B,EAAA,MAPL4B,IAACJ,EAAKK,SAEHL,EAAKM,IAAKC,EAKR,GAPL,KAOK/B,EAAA,KAAAwB,GAAAxB,EAAA,KAAA4B;CAAA,IAAAI;AACF,QADEhC,EAAA,OAAA2B,KAAA3B,EAAA,OAAA4B,KAbRI,IAAA,kBAAA,OAAA;EACa,WAAAL;YAKVC;EAQG,CAAA,EAAA5B,EAAA,KAAA2B,GAAA3B,EAAA,KAAA4B,GAAA5B,EAAA,KAAAgC,KAAAA,IAAAhC,EAAA,IAdNgC;;AAvBoB,SAAAD,EAAAE,GAAAC,GAAA;AAAA,QAgCZ,kBAAA,QAAA,EAAA,UAAA,CACE,kBAAA,QAAA,EAAA,UAAOD,EAAIxB,OACX,CAAA,EAAA,kBAAA,QAAA,EAAA,UAAOwB,EAAIrB,MACb,CAAA,CAAO,EAAA,EAHIsB,EAGJ"}
|
|
@@ -85,23 +85,23 @@ function r({ result: t }) {
|
|
|
85
85
|
};
|
|
86
86
|
}
|
|
87
87
|
if (t.tradeFlowType === "twapOrder") {
|
|
88
|
-
let
|
|
88
|
+
let { srcToken: n, destToken: r, srcAmount: i, destAmount: a, swapSide: o } = e(t.twapOrder.lastOrderState || t.twapOrder.sentOrder);
|
|
89
89
|
return {
|
|
90
|
-
fromAmountWei:
|
|
91
|
-
toAmountWei:
|
|
90
|
+
fromAmountWei: i,
|
|
91
|
+
toAmountWei: a,
|
|
92
92
|
tokensMap: {
|
|
93
|
-
[
|
|
94
|
-
token:
|
|
95
|
-
sentAmount: BigInt(
|
|
93
|
+
[n]: {
|
|
94
|
+
token: n,
|
|
95
|
+
sentAmount: BigInt(i),
|
|
96
96
|
receivedAmount: 0n
|
|
97
97
|
},
|
|
98
|
-
[
|
|
99
|
-
token:
|
|
98
|
+
[r]: {
|
|
99
|
+
token: r,
|
|
100
100
|
sentAmount: 0n,
|
|
101
|
-
receivedAmount: BigInt(
|
|
101
|
+
receivedAmount: BigInt(a)
|
|
102
102
|
}
|
|
103
103
|
},
|
|
104
|
-
isBuy:
|
|
104
|
+
isBuy: o === "BUY"
|
|
105
105
|
};
|
|
106
106
|
}
|
|
107
107
|
let { srcToken: n, destToken: r } = t.marketPrice, i = t.marketPrice.srcAmount, a = t.marketPrice.destAmount;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","names":["formatTokenBalanceClean","TradeFlowResult","calcRate","MinTradeFlowToken","Big","Address","TokenTransfers","getUnifiedDeltaOrderData","ResultAmounts","fromAmountWei","toAmountWei","fromAmountUnit","toAmountUnit","rateStr","rate","rateFormatted","RawAmountsAndSide","tokensMap","Record","isBuy","ResultAmountsInput","fromToken","toToken","getExpectedTransferAmounts","result","tradeFlowType","order","deltaOrder","lastOrderState","sentOrder","srcToken","destToken","srcAmount","destAmount","swapSide","token","sentAmount","BigInt","receivedAmount","limitOrder","makerAsset","takerAsset","otcOrder","makerAmount","takerAmount","fill","twapOrder","marketPrice","side","getResultAmounts","undefined","decimals","rates","symbol","address","toString","SurplusAmounts","expectedAmount","diffWei","diffUnit","surplusStr","SurplusAmountsInput","getSurplusAmounts","txs","transactions","length","actualReceived","reduce","acc","tx","Number"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/utils.ts"],"sourcesContent":["import { formatTokenBalanceClean } from \"@/lib/utils/formatTokenBalance\";\nimport type { TradeFlowResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { MinTradeFlowToken } from \"../TradeDetails\";\nimport type Big from \"big.js\";\nimport type { Address } from \"viem\";\nimport type { TokenTransfers } from \"@/tokens/utils/transferAmountsFromReceipt\";\nimport { getUnifiedDeltaOrderData } from \"@/hooks/swap/prices/delta/orders/utils\";\n\ntype ResultAmounts = {\n fromAmountWei: string;\n toAmountWei: string;\n fromAmountUnit: string;\n toAmountUnit: string;\n rateStr: string | null;\n rate?: Big;\n rateFormatted?: string;\n};\n\ntype RawAmountsAndSide = {\n fromAmountWei: string;\n toAmountWei: string;\n tokensMap: Record<Address, TokenTransfers>;\n isBuy: boolean;\n};\n\ntype ResultAmountsInput = {\n fromAmountWei?: string | bigint;\n toAmountWei?: string | bigint;\n isBuy?: boolean;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n};\n\nexport function getExpectedTransferAmounts({\n result,\n}: {\n result?: TradeFlowResult;\n}): RawAmountsAndSide | undefined {\n if (!result) {\n return;\n }\n\n if (result.tradeFlowType === \"deltaOrder\") {\n const order =\n result.deltaOrder.lastOrderState || result.deltaOrder.sentOrder;\n const {\n srcToken,\n destToken,\n srcAmount: fromAmountWei,\n destAmount: toAmountWei,\n swapSide,\n } = getUnifiedDeltaOrderData(order);\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy,\n };\n }\n\n if (result.tradeFlowType === \"limitOrder\") {\n const order = result.limitOrder.sentOrder;\n const {\n srcToken,\n destToken,\n srcAmount: fromAmountWei,\n destAmount: toAmountWei,\n } = getUnifiedDeltaOrderData(order);\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"otcOrder\") {\n const { makerAsset, takerAsset } = result.otcOrder.sentOrder;\n\n const fromAmountWei = result.otcOrder.sentOrder.makerAmount;\n const toAmountWei = result.otcOrder.sentOrder.takerAmount;\n\n const tokensMap = {\n [makerAsset]: {\n // token was sent\n token: makerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [takerAsset]: {\n // token was received\n token: takerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"fillOtcOrder\") {\n const { makerAsset, takerAsset } = result.fill.order;\n\n const fromAmountWei = result.fill.order.takerAmount;\n const toAmountWei = result.fill.order.makerAmount;\n\n const tokensMap = {\n [takerAsset]: {\n // token was sent\n token: takerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [makerAsset]: {\n // token was received\n token: makerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"twapOrder\") {\n const order = result.twapOrder.sentOrder;\n const {\n srcToken,\n destToken,\n srcAmount: fromAmountWei,\n destAmount: toAmountWei,\n swapSide,\n } = getUnifiedDeltaOrderData(order);\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy,\n };\n }\n\n // result.tradeFlowType === \"marketSwap\" is the one left\n const { srcToken, destToken } = result.marketPrice;\n const fromAmountWei = result.marketPrice.srcAmount;\n const toAmountWei = result.marketPrice.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: result.marketPrice.side === \"BUY\",\n };\n}\n\nexport function getResultAmounts({\n fromAmountWei,\n toAmountWei,\n isBuy,\n fromToken,\n toToken,\n}: ResultAmountsInput): ResultAmounts {\n if (!fromAmountWei || !toAmountWei || isBuy === undefined) {\n return {\n fromAmountWei: \"0\",\n toAmountWei: \"0\",\n fromAmountUnit: \"0\",\n toAmountUnit: \"0\",\n rateStr: null,\n };\n }\n\n const fromAmountUnit = formatTokenBalanceClean(\n fromAmountWei,\n fromToken.decimals\n );\n const toAmountUnit = formatTokenBalanceClean(toAmountWei, toToken.decimals);\n\n const { srcToken, destToken, srcAmount, destAmount } = isBuy\n ? {\n srcToken: fromToken,\n destToken: toToken,\n srcAmount: fromAmountUnit,\n destAmount: toAmountUnit,\n }\n : {\n srcToken: toToken,\n destToken: fromToken,\n srcAmount: toAmountUnit,\n destAmount: fromAmountUnit,\n };\n\n const rates = calcRate(srcAmount, destAmount);\n const rateStr = rates\n ? `1 ${srcToken.symbol ?? srcToken.address} = ${rates.rateFormatted} ${destToken.symbol ?? destToken.address}`\n : null;\n\n return {\n fromAmountWei: fromAmountWei.toString(),\n toAmountWei: toAmountWei.toString(),\n fromAmountUnit,\n toAmountUnit,\n ...rates,\n rateStr,\n };\n}\n\ntype SurplusAmounts = {\n expectedAmount: bigint;\n receivedAmount: bigint;\n diffWei: bigint;\n diffUnit: string;\n surplusStr: string | null;\n};\n\ntype SurplusAmountsInput = {\n result?: TradeFlowResult;\n toToken: MinTradeFlowToken;\n};\n\nexport function getSurplusAmounts({\n result,\n toToken,\n}: SurplusAmountsInput): SurplusAmounts | null {\n if (!result) {\n return null;\n }\n\n if (result.tradeFlowType !== \"deltaOrder\") {\n // @TODO add surplus calc from SwapTx Receipt\n return null;\n }\n\n const txs = result.deltaOrder.lastOrderState?.transactions;\n if (!txs || txs.length === 0) {\n return null;\n }\n\n // @TODO check that expectedDestAmount is the amount shown at Order creation, not destAmount (=minAmount)\n const expectedAmount = BigInt(\n result.deltaOrder.lastOrderState?.order.expectedAmount ||\n result.deltaOrder.sentOrder.order.expectedAmount\n );\n\n const actualReceived = txs.reduce((acc, tx) => {\n return acc + BigInt(tx.receivedAmount);\n }, 0n);\n\n const diffWei = actualReceived - expectedAmount;\n\n const diffUnit = formatTokenBalanceClean(diffWei, toToken.decimals, 2);\n // don't show 0.00%\n const surplusStr = Number(diffUnit) > 0 ? diffUnit : null;\n\n return {\n expectedAmount,\n receivedAmount: actualReceived,\n diffWei,\n diffUnit,\n surplusStr,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"utils.js","names":["formatTokenBalanceClean","TradeFlowResult","calcRate","MinTradeFlowToken","Big","Address","TokenTransfers","getUnifiedDeltaOrderData","ResultAmounts","fromAmountWei","toAmountWei","fromAmountUnit","toAmountUnit","rateStr","rate","rateFormatted","RawAmountsAndSide","tokensMap","Record","isBuy","ResultAmountsInput","fromToken","toToken","getExpectedTransferAmounts","result","tradeFlowType","order","deltaOrder","lastOrderState","sentOrder","srcToken","destToken","srcAmount","destAmount","swapSide","token","sentAmount","BigInt","receivedAmount","limitOrder","makerAsset","takerAsset","otcOrder","makerAmount","takerAmount","fill","twapOrder","marketPrice","side","getResultAmounts","undefined","decimals","rates","symbol","address","toString","SurplusAmounts","expectedAmount","diffWei","diffUnit","surplusStr","SurplusAmountsInput","getSurplusAmounts","txs","transactions","length","actualReceived","reduce","acc","tx","Number"],"sources":["../../../../../src/components/widget/TradeOverview/TradeComplete/utils.ts"],"sourcesContent":["import { formatTokenBalanceClean } from \"@/lib/utils/formatTokenBalance\";\nimport type { TradeFlowResult } from \"@/hooks/swap/tradeFlow/common/types\";\nimport { calcRate } from \"@/lib/utils/rate\";\nimport type { MinTradeFlowToken } from \"../TradeDetails\";\nimport type Big from \"big.js\";\nimport type { Address } from \"viem\";\nimport type { TokenTransfers } from \"@/tokens/utils/transferAmountsFromReceipt\";\nimport { getUnifiedDeltaOrderData } from \"@/hooks/swap/prices/delta/orders/utils\";\n\ntype ResultAmounts = {\n fromAmountWei: string;\n toAmountWei: string;\n fromAmountUnit: string;\n toAmountUnit: string;\n rateStr: string | null;\n rate?: Big;\n rateFormatted?: string;\n};\n\ntype RawAmountsAndSide = {\n fromAmountWei: string;\n toAmountWei: string;\n tokensMap: Record<Address, TokenTransfers>;\n isBuy: boolean;\n};\n\ntype ResultAmountsInput = {\n fromAmountWei?: string | bigint;\n toAmountWei?: string | bigint;\n isBuy?: boolean;\n fromToken: MinTradeFlowToken;\n toToken: MinTradeFlowToken;\n};\n\nexport function getExpectedTransferAmounts({\n result,\n}: {\n result?: TradeFlowResult;\n}): RawAmountsAndSide | undefined {\n if (!result) {\n return;\n }\n\n if (result.tradeFlowType === \"deltaOrder\") {\n const order =\n result.deltaOrder.lastOrderState || result.deltaOrder.sentOrder;\n const {\n srcToken,\n destToken,\n srcAmount: fromAmountWei,\n destAmount: toAmountWei,\n swapSide,\n } = getUnifiedDeltaOrderData(order);\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy,\n };\n }\n\n if (result.tradeFlowType === \"limitOrder\") {\n const order = result.limitOrder.sentOrder;\n const {\n srcToken,\n destToken,\n srcAmount: fromAmountWei,\n destAmount: toAmountWei,\n } = getUnifiedDeltaOrderData(order);\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"otcOrder\") {\n const { makerAsset, takerAsset } = result.otcOrder.sentOrder;\n\n const fromAmountWei = result.otcOrder.sentOrder.makerAmount;\n const toAmountWei = result.otcOrder.sentOrder.takerAmount;\n\n const tokensMap = {\n [makerAsset]: {\n // token was sent\n token: makerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [takerAsset]: {\n // token was received\n token: takerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"fillOtcOrder\") {\n const { makerAsset, takerAsset } = result.fill.order;\n\n const fromAmountWei = result.fill.order.takerAmount;\n const toAmountWei = result.fill.order.makerAmount;\n\n const tokensMap = {\n [takerAsset]: {\n // token was sent\n token: takerAsset as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [makerAsset]: {\n // token was received\n token: makerAsset as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: false,\n };\n }\n\n if (result.tradeFlowType === \"twapOrder\") {\n const order = result.twapOrder.lastOrderState || result.twapOrder.sentOrder;\n const {\n srcToken,\n destToken,\n srcAmount: fromAmountWei,\n destAmount: toAmountWei,\n swapSide,\n } = getUnifiedDeltaOrderData(order);\n\n const tokensMap = {\n [srcToken]: {\n // token was sent\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n // token was received\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n const isBuy = swapSide === \"BUY\";\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy,\n };\n }\n\n // result.tradeFlowType === \"marketSwap\" is the one left\n const { srcToken, destToken } = result.marketPrice;\n const fromAmountWei = result.marketPrice.srcAmount;\n const toAmountWei = result.marketPrice.destAmount;\n\n const tokensMap = {\n [srcToken]: {\n token: srcToken as Address,\n sentAmount: BigInt(fromAmountWei),\n receivedAmount: 0n,\n },\n [destToken]: {\n token: destToken as Address,\n sentAmount: 0n,\n receivedAmount: BigInt(toAmountWei),\n },\n };\n\n return {\n fromAmountWei,\n toAmountWei,\n tokensMap,\n isBuy: result.marketPrice.side === \"BUY\",\n };\n}\n\nexport function getResultAmounts({\n fromAmountWei,\n toAmountWei,\n isBuy,\n fromToken,\n toToken,\n}: ResultAmountsInput): ResultAmounts {\n if (!fromAmountWei || !toAmountWei || isBuy === undefined) {\n return {\n fromAmountWei: \"0\",\n toAmountWei: \"0\",\n fromAmountUnit: \"0\",\n toAmountUnit: \"0\",\n rateStr: null,\n };\n }\n\n const fromAmountUnit = formatTokenBalanceClean(\n fromAmountWei,\n fromToken.decimals\n );\n const toAmountUnit = formatTokenBalanceClean(toAmountWei, toToken.decimals);\n\n const { srcToken, destToken, srcAmount, destAmount } = isBuy\n ? {\n srcToken: fromToken,\n destToken: toToken,\n srcAmount: fromAmountUnit,\n destAmount: toAmountUnit,\n }\n : {\n srcToken: toToken,\n destToken: fromToken,\n srcAmount: toAmountUnit,\n destAmount: fromAmountUnit,\n };\n\n const rates = calcRate(srcAmount, destAmount);\n const rateStr = rates\n ? `1 ${srcToken.symbol ?? srcToken.address} = ${rates.rateFormatted} ${destToken.symbol ?? destToken.address}`\n : null;\n\n return {\n fromAmountWei: fromAmountWei.toString(),\n toAmountWei: toAmountWei.toString(),\n fromAmountUnit,\n toAmountUnit,\n ...rates,\n rateStr,\n };\n}\n\ntype SurplusAmounts = {\n expectedAmount: bigint;\n receivedAmount: bigint;\n diffWei: bigint;\n diffUnit: string;\n surplusStr: string | null;\n};\n\ntype SurplusAmountsInput = {\n result?: TradeFlowResult;\n toToken: MinTradeFlowToken;\n};\n\nexport function getSurplusAmounts({\n result,\n toToken,\n}: SurplusAmountsInput): SurplusAmounts | null {\n if (!result) {\n return null;\n }\n\n if (result.tradeFlowType !== \"deltaOrder\") {\n // @TODO add surplus calc from SwapTx Receipt\n return null;\n }\n\n const txs = result.deltaOrder.lastOrderState?.transactions;\n if (!txs || txs.length === 0) {\n return null;\n }\n\n // @TODO check that expectedDestAmount is the amount shown at Order creation, not destAmount (=minAmount)\n const expectedAmount = BigInt(\n result.deltaOrder.lastOrderState?.order.expectedAmount ||\n result.deltaOrder.sentOrder.order.expectedAmount\n );\n\n const actualReceived = txs.reduce((acc, tx) => {\n return acc + BigInt(tx.receivedAmount);\n }, 0n);\n\n const diffWei = actualReceived - expectedAmount;\n\n const diffUnit = formatTokenBalanceClean(diffWei, toToken.decimals, 2);\n // don't show 0.00%\n const surplusStr = Number(diffUnit) > 0 ? diffUnit : null;\n\n return {\n expectedAmount,\n receivedAmount: actualReceived,\n diffWei,\n diffUnit,\n surplusStr,\n };\n}\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CustomDurationDrawer.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Twap/CustomDurationDrawer.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAOzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"CustomDurationDrawer.d.ts","sourceRoot":"","sources":["../../../../src/components/widget/Twap/CustomDurationDrawer.tsx"],"names":[],"mappings":"AAWA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,oDAAoD,CAAC;AAOzF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAQnD,wBAAgB,oBAAoB,CAAC,EACnC,WAAW,EACX,cAAc,GACf,EAAE;IACD,WAAW,EAAE,WAAW,CAAC;IACzB,cAAc,EAAE,cAAc,CAAC;CAChC,2CAkGA"}
|
|
@@ -1,131 +1,135 @@
|
|
|
1
1
|
import { useSetAtom as e } from "../../../core/store.js";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
2
|
+
import { minutesToMilliseconds as t } from "../../../lib/utils/time.js";
|
|
3
|
+
import { twapDurationAtom as n } from "../../../core/twap/state/twapParamsAtom.js";
|
|
4
|
+
import { Button as r } from "../../ui/button.js";
|
|
5
|
+
import { Tooltip as i, TooltipContent as a, TooltipTrigger as o } from "../../ui/tooltip.js";
|
|
6
|
+
import { ControlledDrawer as s } from "../Drawer/index.js";
|
|
7
|
+
import { Duration as c } from "../Duration/Duration.js";
|
|
8
|
+
import { NumberInput as l } from "../NumberInput/NumberInput.js";
|
|
9
|
+
import { ForwardRef as u } from "../../../assets/two-dots.js";
|
|
10
|
+
import { c as d } from "react-compiler-runtime";
|
|
11
|
+
import { jsx as f, jsxs as p } from "react/jsx-runtime";
|
|
10
12
|
//#region src/components/widget/Twap/CustomDurationDrawer.tsx
|
|
11
|
-
function
|
|
13
|
+
function m(e, t, n) {
|
|
12
14
|
return e * 24 * 60 + t * 60 + n;
|
|
13
15
|
}
|
|
14
|
-
function
|
|
15
|
-
let
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
},
|
|
19
|
-
let k = O, A;
|
|
20
|
-
p[5] === Symbol.for("react.memo_cache_sentinel") ? (A = /* @__PURE__ */ u("div", {
|
|
21
|
-
className: "flex items-center h-10",
|
|
22
|
-
children: /* @__PURE__ */ u(c, {})
|
|
23
|
-
}), p[5] = A) : A = p[5];
|
|
16
|
+
function h(l) {
|
|
17
|
+
let h = d(42), { drawerState: _, drawerControls: v } = l, y = e(n), { days: b, hours: x, minutes: S, setDays: C, setHours: w, setMinutes: T } = _, E = m(b, x, S), D = E < 60, O = E === 0 || D, k = D && v.open, A;
|
|
18
|
+
h[0] !== v || h[1] !== O || h[2] !== y || h[3] !== E ? (A = () => {
|
|
19
|
+
O || (y(E), v.onClose());
|
|
20
|
+
}, h[0] = v, h[1] = O, h[2] = y, h[3] = E, h[4] = A) : A = h[4];
|
|
24
21
|
let j = A, M;
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
22
|
+
h[5] === Symbol.for("react.memo_cache_sentinel") ? (M = /* @__PURE__ */ f("div", {
|
|
23
|
+
className: "flex items-center h-10",
|
|
24
|
+
children: /* @__PURE__ */ f(u, {})
|
|
25
|
+
}), h[5] = M) : M = h[5];
|
|
26
|
+
let N = M, P;
|
|
27
|
+
h[6] === Symbol.for("react.memo_cache_sentinel") ? (P = { content: "dark:bg-contrast-2" }, h[6] = P) : P = h[6];
|
|
28
|
+
let F;
|
|
29
|
+
h[7] === Symbol.for("react.memo_cache_sentinel") ? (F = /* @__PURE__ */ f("div", {
|
|
28
30
|
className: "text-center text-xs pb-8 px-4 text-contrast-5 dark:text-contrast-6",
|
|
29
31
|
children: "Set how long this TWAP order should execute. The total size will be split and filled progressively over this duration."
|
|
30
|
-
}),
|
|
31
|
-
let
|
|
32
|
-
|
|
32
|
+
}), h[7] = F) : F = h[7];
|
|
33
|
+
let I;
|
|
34
|
+
h[8] !== b || h[9] !== C ? (I = /* @__PURE__ */ f(g, {
|
|
33
35
|
label: "Days",
|
|
34
|
-
value:
|
|
36
|
+
value: b,
|
|
35
37
|
max: 30,
|
|
36
|
-
onChange:
|
|
37
|
-
}),
|
|
38
|
-
let
|
|
39
|
-
|
|
40
|
-
label: "Hours",
|
|
41
|
-
value: y,
|
|
42
|
-
max: 23,
|
|
43
|
-
onChange: S
|
|
44
|
-
}), p[11] = y, p[12] = S, p[13] = F) : F = p[13];
|
|
45
|
-
let I;
|
|
46
|
-
p[14] !== T || p[15] !== b || p[16] !== C ? (I = /* @__PURE__ */ u(a, {
|
|
38
|
+
onChange: C
|
|
39
|
+
}), h[8] = b, h[9] = C, h[10] = I) : I = h[10];
|
|
40
|
+
let L;
|
|
41
|
+
h[11] !== x || h[12] !== D || h[13] !== w ? (L = /* @__PURE__ */ f(o, {
|
|
47
42
|
asChild: !0,
|
|
48
|
-
children: /* @__PURE__ */
|
|
49
|
-
label: "
|
|
50
|
-
value:
|
|
51
|
-
max:
|
|
52
|
-
onChange:
|
|
53
|
-
isError:
|
|
43
|
+
children: /* @__PURE__ */ f("div", { children: /* @__PURE__ */ f(g, {
|
|
44
|
+
label: "Hours",
|
|
45
|
+
value: x,
|
|
46
|
+
max: 23,
|
|
47
|
+
onChange: w,
|
|
48
|
+
isError: D
|
|
54
49
|
}) })
|
|
55
|
-
}),
|
|
56
|
-
let
|
|
57
|
-
|
|
50
|
+
}), h[11] = x, h[12] = D, h[13] = w, h[14] = L) : L = h[14];
|
|
51
|
+
let R;
|
|
52
|
+
h[15] === k ? R = h[16] : (R = k && /* @__PURE__ */ p(a, {
|
|
58
53
|
side: "bottom",
|
|
59
54
|
children: [
|
|
60
|
-
"Minimum TWAP duration is
|
|
61
|
-
5,
|
|
55
|
+
"Minimum TWAP duration is",
|
|
62
56
|
" ",
|
|
63
|
-
|
|
57
|
+
/* @__PURE__ */ f(c, {
|
|
58
|
+
timeMs: t(60),
|
|
59
|
+
showSeconds: !0
|
|
60
|
+
})
|
|
64
61
|
]
|
|
65
|
-
}),
|
|
66
|
-
let R;
|
|
67
|
-
p[20] !== D || p[21] !== I || p[22] !== L ? (R = /* @__PURE__ */ d(r, {
|
|
68
|
-
open: D,
|
|
69
|
-
children: [I, L]
|
|
70
|
-
}), p[20] = D, p[21] = I, p[22] = L, p[23] = R) : R = p[23];
|
|
62
|
+
}), h[15] = k, h[16] = R);
|
|
71
63
|
let z;
|
|
72
|
-
|
|
64
|
+
h[17] !== k || h[18] !== L || h[19] !== R ? (z = /* @__PURE__ */ p(i, {
|
|
65
|
+
open: k,
|
|
66
|
+
children: [L, R]
|
|
67
|
+
}), h[17] = k, h[18] = L, h[19] = R, h[20] = z) : z = h[20];
|
|
68
|
+
let B;
|
|
69
|
+
h[21] !== S || h[22] !== T ? (B = /* @__PURE__ */ f(g, {
|
|
70
|
+
label: "Minutes",
|
|
71
|
+
value: S,
|
|
72
|
+
max: 59,
|
|
73
|
+
onChange: T
|
|
74
|
+
}), h[21] = S, h[22] = T, h[23] = B) : B = h[23];
|
|
75
|
+
let V;
|
|
76
|
+
h[24] !== I || h[25] !== z || h[26] !== B ? (V = /* @__PURE__ */ p("div", { children: [F, /* @__PURE__ */ p("div", {
|
|
73
77
|
className: "grid grid-cols-[1fr_auto_1fr_auto_1fr] items-end gap-2",
|
|
74
78
|
children: [
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
79
|
+
I,
|
|
80
|
+
N,
|
|
81
|
+
z,
|
|
82
|
+
N,
|
|
83
|
+
B
|
|
80
84
|
]
|
|
81
|
-
})] }),
|
|
82
|
-
let
|
|
83
|
-
|
|
84
|
-
onClick:
|
|
85
|
-
disabled:
|
|
85
|
+
})] }), h[24] = I, h[25] = z, h[26] = B, h[27] = V) : V = h[27];
|
|
86
|
+
let H;
|
|
87
|
+
h[28] !== j || h[29] !== O ? (H = /* @__PURE__ */ f(r, {
|
|
88
|
+
onClick: j,
|
|
89
|
+
disabled: O,
|
|
86
90
|
radius: "sm",
|
|
87
91
|
className: "h-10",
|
|
88
92
|
children: "Save"
|
|
89
|
-
}),
|
|
90
|
-
let
|
|
91
|
-
|
|
93
|
+
}), h[28] = j, h[29] = O, h[30] = H) : H = h[30];
|
|
94
|
+
let U;
|
|
95
|
+
h[31] === v.onClose ? U = h[32] : (U = /* @__PURE__ */ f(r, {
|
|
92
96
|
variant: "secondary",
|
|
93
|
-
onClick:
|
|
97
|
+
onClick: v.onClose,
|
|
94
98
|
radius: "sm",
|
|
95
99
|
className: "h-10",
|
|
96
100
|
children: "Dismiss"
|
|
97
|
-
}),
|
|
98
|
-
let
|
|
99
|
-
|
|
101
|
+
}), h[31] = v.onClose, h[32] = U);
|
|
102
|
+
let W;
|
|
103
|
+
h[33] !== H || h[34] !== U ? (W = /* @__PURE__ */ p("div", {
|
|
100
104
|
className: "flex flex-col gap-4",
|
|
101
|
-
children: [
|
|
102
|
-
}),
|
|
103
|
-
let
|
|
104
|
-
|
|
105
|
+
children: [H, U]
|
|
106
|
+
}), h[33] = H, h[34] = U, h[35] = W) : W = h[35];
|
|
107
|
+
let G;
|
|
108
|
+
h[36] !== V || h[37] !== W ? (G = /* @__PURE__ */ p("div", {
|
|
105
109
|
className: "flex flex-col gap-14 px-6 pt-2 pb-8",
|
|
106
|
-
children: [
|
|
107
|
-
}),
|
|
108
|
-
let
|
|
109
|
-
return
|
|
110
|
-
...
|
|
110
|
+
children: [V, W]
|
|
111
|
+
}), h[36] = V, h[37] = W, h[38] = G) : G = h[38];
|
|
112
|
+
let K;
|
|
113
|
+
return h[39] !== v || h[40] !== G ? (K = /* @__PURE__ */ f(s, {
|
|
114
|
+
...v,
|
|
111
115
|
title: "Custom Order Duration",
|
|
112
116
|
showCloseButton: !0,
|
|
113
|
-
classes:
|
|
114
|
-
children:
|
|
115
|
-
}),
|
|
117
|
+
classes: P,
|
|
118
|
+
children: G
|
|
119
|
+
}), h[39] = v, h[40] = G, h[41] = K) : K = h[41], K;
|
|
116
120
|
}
|
|
117
|
-
function
|
|
118
|
-
let t =
|
|
119
|
-
t[0] === n ?
|
|
121
|
+
function g(e) {
|
|
122
|
+
let t = d(13), { label: n, value: r, max: i, onChange: a, isError: o } = e, s;
|
|
123
|
+
t[0] === n ? s = t[1] : (s = /* @__PURE__ */ f("span", {
|
|
120
124
|
className: "text-xs text-contrast-5 dark:text-contrast-6 uppercase",
|
|
121
125
|
children: n
|
|
122
|
-
}), t[0] = n, t[1] =
|
|
123
|
-
let
|
|
124
|
-
t[2] === a ?
|
|
125
|
-
let
|
|
126
|
-
t[4] === Symbol.for("react.memo_cache_sentinel") ? (
|
|
126
|
+
}), t[0] = n, t[1] = s);
|
|
127
|
+
let c;
|
|
128
|
+
t[2] === a ? c = t[3] : (c = (e) => a(e ?? 0), t[2] = a, t[3] = c);
|
|
129
|
+
let u;
|
|
130
|
+
t[4] === Symbol.for("react.memo_cache_sentinel") ? (u = { root: "h-10" }, t[4] = u) : u = t[4];
|
|
127
131
|
let m;
|
|
128
|
-
t[5] !== o || t[6] !== i || t[7] !==
|
|
132
|
+
t[5] !== o || t[6] !== i || t[7] !== c || t[8] !== r ? (m = /* @__PURE__ */ f(l, {
|
|
129
133
|
allowLeadingZeros: !1,
|
|
130
134
|
allowNegative: !1,
|
|
131
135
|
decimalScale: 0,
|
|
@@ -134,17 +138,17 @@ function m(e) {
|
|
|
134
138
|
min: 0,
|
|
135
139
|
max: i,
|
|
136
140
|
stepper: 1,
|
|
137
|
-
onValueChange:
|
|
138
|
-
classes:
|
|
141
|
+
onValueChange: c,
|
|
142
|
+
classes: u,
|
|
139
143
|
isError: o
|
|
140
|
-
}), t[5] = o, t[6] = i, t[7] =
|
|
144
|
+
}), t[5] = o, t[6] = i, t[7] = c, t[8] = r, t[9] = m) : m = t[9];
|
|
141
145
|
let h;
|
|
142
|
-
return t[10] !==
|
|
146
|
+
return t[10] !== s || t[11] !== m ? (h = /* @__PURE__ */ p("div", {
|
|
143
147
|
className: "flex flex-col gap-1 flex-1",
|
|
144
|
-
children: [
|
|
145
|
-
}), t[10] =
|
|
148
|
+
children: [s, m]
|
|
149
|
+
}), t[10] = s, t[11] = m, t[12] = h) : h = t[12], h;
|
|
146
150
|
}
|
|
147
151
|
//#endregion
|
|
148
|
-
export {
|
|
152
|
+
export { h as CustomDurationDrawer };
|
|
149
153
|
|
|
150
154
|
//# sourceMappingURL=CustomDurationDrawer.js.map
|