@velora-dex/widget 0.0.15 → 0.0.16
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/README.md +91 -29
- package/dist/assets/circle-check.svg.js +12 -0
- package/dist/assets/circle-check.svg.js.map +1 -0
- package/dist/assets/circle-exclamation.svg.js +12 -0
- package/dist/assets/circle-exclamation.svg.js.map +1 -0
- package/dist/assets/copy.svg.js +12 -0
- package/dist/assets/copy.svg.js.map +1 -0
- package/dist/assets/external-url.svg.js +12 -0
- package/dist/assets/external-url.svg.js.map +1 -0
- package/dist/assets/logout.svg.js +12 -0
- package/dist/assets/logout.svg.js.map +1 -0
- package/dist/assets/spinner.svg.js.map +1 -0
- package/dist/assets/wS.svg.js +12 -0
- package/dist/assets/wS.svg.js.map +1 -0
- package/dist/assets/wS.svg2.js +4 -0
- package/dist/assets/wS.svg2.js.map +1 -0
- package/dist/components/ui/button.d.ts +1 -1
- package/dist/components/ui/button.js +1 -1
- package/dist/components/ui/button.js.map +1 -1
- package/dist/components/ui/card.js +1 -106
- package/dist/components/ui/card.js.map +1 -1
- package/dist/components/ui/dialog.js +2 -116
- package/dist/components/ui/dialog.js.map +1 -1
- package/dist/components/ui/drawer.d.ts +1 -1
- package/dist/components/ui/drawer.d.ts.map +1 -1
- package/dist/components/ui/drawer.js +2 -2
- package/dist/components/ui/drawer.js.map +1 -1
- package/dist/components/ui/dropdown-menu.js +3 -334
- package/dist/components/ui/dropdown-menu.js.map +1 -1
- package/dist/components/ui/progress.d.ts +13 -0
- package/dist/components/ui/progress.d.ts.map +1 -0
- package/dist/components/ui/progress.js +120 -0
- package/dist/components/ui/progress.js.map +1 -0
- package/dist/components/ui/sonner.d.ts.map +1 -1
- package/dist/components/ui/sonner.js +33 -9
- package/dist/components/ui/sonner.js.map +1 -1
- package/dist/components/ui/switch.d.ts +3 -1
- package/dist/components/ui/switch.d.ts.map +1 -1
- package/dist/components/ui/switch.js +30 -16
- package/dist/components/ui/switch.js.map +1 -1
- package/dist/components/ui/tooltip.d.ts.map +1 -1
- package/dist/components/ui/tooltip.js +15 -4
- package/dist/components/ui/tooltip.js.map +1 -1
- package/dist/components/web3/AccountButton.d.ts.map +1 -1
- package/dist/components/web3/AccountButton.js +98 -41
- package/dist/components/web3/AccountButton.js.map +1 -1
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts +2 -0
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.d.ts.map +1 -0
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js +92 -0
- package/dist/components/web3/ConnectExternalProvider/AutoconnectExternal.js.map +1 -0
- package/dist/components/web3/ConnectWallets/index.js +1 -1
- package/dist/components/web3/ConnectWallets/index.js.map +1 -1
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts +9 -0
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.d.ts.map +1 -0
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js +211 -0
- package/dist/components/web3/ConnectedWallet/ConnectedWallet.js.map +1 -0
- package/dist/components/web3/providers.d.ts.map +1 -1
- package/dist/components/web3/providers.js +10 -6
- package/dist/components/web3/providers.js.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.d.ts.map +1 -1
- package/dist/components/widget/AppHeader/AppHeader.js +2 -1
- package/dist/components/widget/AppHeader/AppHeader.js.map +1 -1
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js +126 -136
- package/dist/components/widget/Dialog/ReceiverAddressDialog/ReceiverAddressDialog.js.map +1 -1
- 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/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.d.ts.map +1 -1
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js +2 -3
- package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenListBody.js.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +7 -5
- package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
- package/dist/components/widget/Drawer/state/useDrawerControls.js +57 -46
- package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
- package/dist/components/widget/Line/Line.d.ts +3 -1
- package/dist/components/widget/Line/Line.d.ts.map +1 -1
- package/dist/components/widget/Line/Line.js +22 -15
- package/dist/components/widget/Line/Line.js.map +1 -1
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.d.ts.map +1 -1
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js +22 -20
- package/dist/components/widget/NetworkIcon/NetworkIconSquare.js.map +1 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/sonic.svg.js +12 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/sonic.svg.js.map +1 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/unichain.svg.js +12 -0
- package/dist/components/widget/NetworkIcon/assets/sqr/unichain.svg.js.map +1 -0
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.d.ts.map +1 -1
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js +61 -52
- package/dist/components/widget/ReceiverAddress/ReceiverAddress.js.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.d.ts.map +1 -1
- package/dist/components/widget/SelectToken/SelectTokenButton.js +106 -88
- package/dist/components/widget/SelectToken/SelectTokenButton.js.map +1 -1
- package/dist/components/widget/SwapModeSwitcher/state/swapSideAtom.js +1 -1
- package/dist/components/widget/Toasts/CustomToast.d.ts +8 -0
- package/dist/components/widget/Toasts/CustomToast.d.ts.map +1 -0
- package/dist/components/widget/Toasts/CustomToast.js +222 -0
- package/dist/components/widget/Toasts/CustomToast.js.map +1 -0
- package/dist/components/widget/TokenInput/index.d.ts.map +1 -1
- package/dist/components/widget/TokenInput/index.js +122 -137
- package/dist/components/widget/TokenInput/index.js.map +1 -1
- package/dist/components/widget/TokenInput/types.d.ts +1 -0
- package/dist/components/widget/TokenInput/types.d.ts.map +1 -1
- package/dist/components/widget/TokenSwitcher/TokenSwitcher.js +1 -1
- package/dist/components/widget/TokenSwitcher/TokenSwitcher.js.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js +20 -16
- package/dist/components/widget/TradeOverview/DeltaOrderTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts +2 -2
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js +20 -16
- package/dist/components/widget/TradeOverview/MarketSwapTradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/Step.js +1 -1
- package/dist/components/widget/TradeOverview/Step.js.map +1 -1
- package/dist/components/widget/TradeOverview/Stepper.js +5 -40
- package/dist/components/widget/TradeOverview/Stepper.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/index.js +1 -1
- package/dist/components/widget/TradeOverview/TradeComplete/index.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js +1 -1
- package/dist/components/widget/TradeOverview/TradeDetails.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js +35 -6
- package/dist/components/widget/TradeOverview/TradeDetailsDisplay.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.d.ts +5 -0
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js +55 -0
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorDetails.js.map +1 -0
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts +5 -0
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js +43 -0
- package/dist/components/widget/TradeOverview/TradeError/TradeErrorFooter.js.map +1 -0
- package/dist/components/widget/TradeOverview/TradeError/index.d.ts +6 -0
- package/dist/components/widget/TradeOverview/TradeError/index.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/TradeError/index.js +55 -0
- package/dist/components/widget/TradeOverview/TradeError/index.js.map +1 -0
- package/dist/components/widget/TradeOverview/TradeError/utils.d.ts +4 -0
- package/dist/components/widget/TradeOverview/TradeError/utils.d.ts.map +1 -0
- package/dist/components/widget/TradeOverview/TradeError/utils.js +30 -0
- package/dist/components/widget/TradeOverview/TradeError/utils.js.map +1 -0
- package/dist/components/widget/TradeOverview/TradeOverview.d.ts +3 -1
- package/dist/components/widget/TradeOverview/TradeOverview.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverview.js +156 -101
- package/dist/components/widget/TradeOverview/TradeOverview.js.map +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewHeader.js +1 -1
- package/dist/components/widget/TradeOverview/TradeOverviewHeader.js.map +1 -1
- package/dist/components/widget/TradeOverview/assets/1_approving.lottie.js +4 -0
- package/dist/components/widget/TradeOverview/assets/1_approving.lottie.js.map +1 -0
- package/dist/components/widget/TradeOverview/assets/2_in_progress.lottie.js +4 -0
- package/dist/components/widget/TradeOverview/assets/2_in_progress.lottie.js.map +1 -0
- package/dist/components/widget/TradeOverview/assets/3_executing_step.lottie.js +4 -0
- package/dist/components/widget/TradeOverview/assets/3_executing_step.lottie.js.map +1 -0
- package/dist/components/widget/TradeOverview/assets/4_complete_step.lottie.js +4 -0
- package/dist/components/widget/TradeOverview/assets/4_complete_step.lottie.js.map +1 -0
- package/dist/components/widget/TradeOverview/assets/5_error_step.lottie.js +4 -0
- package/dist/components/widget/TradeOverview/assets/5_error_step.lottie.js.map +1 -0
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts +8 -3
- package/dist/components/widget/TradeOverview/tradeFlowContext.d.ts.map +1 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js +17 -1
- package/dist/components/widget/TradeOverview/tradeFlowContext.js.map +1 -1
- package/dist/components/widget/TradeParameters/EIP1559Parameter.d.ts +2 -0
- package/dist/components/widget/TradeParameters/EIP1559Parameter.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/EIP1559Parameter.js +56 -0
- package/dist/components/widget/TradeParameters/EIP1559Parameter.js.map +1 -0
- package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js +25 -16
- package/dist/components/widget/TradeParameters/SlippageParameter/SlippageParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/TradeParameters.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/TradeParameters.js +61 -34
- package/dist/components/widget/TradeParameters/TradeParameters.js.map +1 -1
- package/dist/components/widget/TradeParameters/TransactionSpeedParameter.d.ts +2 -0
- package/dist/components/widget/TradeParameters/TransactionSpeedParameter.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js +155 -0
- package/dist/components/widget/TradeParameters/TransactionSpeedParameter.js.map +1 -0
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.d.ts.map +1 -1
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js +24 -7
- package/dist/components/widget/TradeParameters/hooks/useIsNotDefaultAnyParameter.js.map +1 -1
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts +6 -0
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js +10 -0
- package/dist/components/widget/TradeParameters/state/eip1559ParamAtom.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts +8 -0
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js +13 -0
- package/dist/components/widget/TradeParameters/state/gasPresetParamAtom.js.map +1 -0
- package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts +4 -0
- package/dist/components/widget/TradeParameters/state/resetParamsAtom.d.ts.map +1 -0
- package/dist/components/widget/TradeParameters/state/resetParamsAtom.js +16 -0
- package/dist/components/widget/TradeParameters/state/resetParamsAtom.js.map +1 -0
- package/dist/components/widget/WrapEth/WrapEthContent.d.ts.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthContent.js +64 -66
- package/dist/components/widget/WrapEth/WrapEthContent.js.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts +1 -1
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.d.ts.map +1 -1
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js +56 -47
- package/dist/components/widget/WrapEth/WrapEthDrawerButton.js.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.d.ts.map +1 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js +2 -1
- package/dist/components/widget/WrapEth/hooks/useSubmitDepositTxMutation.js.map +1 -1
- package/dist/components/widget/YouGet/YouGet.d.ts.map +1 -1
- package/dist/components/widget/YouGet/YouGet.js +97 -98
- package/dist/components/widget/YouGet/YouGet.js.map +1 -1
- package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__15df56ff48174365d34843c037ea8a33/external/vaul/dist/index.js +1626 -0
- package/dist/external/.pnpm/vaul@1.1.2_patch_hash_07b36ba5def3805dde9d543a880ba9e4caf55e5eb58e544faaa2c186846bf3c1__15df56ff48174365d34843c037ea8a33/external/vaul/dist/index.js.map +1 -0
- package/dist/hooks/gas/config.d.ts.map +1 -1
- package/dist/hooks/gas/config.js +9 -5
- package/dist/hooks/gas/config.js.map +1 -1
- package/dist/hooks/gas/types.d.ts +1 -1
- package/dist/hooks/gas/types.d.ts.map +1 -1
- package/dist/hooks/gas/useGasPrices.d.ts +8 -0
- package/dist/hooks/gas/useGasPrices.d.ts.map +1 -1
- package/dist/hooks/gas/useGasPrices.js +30 -21
- package/dist/hooks/gas/useGasPrices.js.map +1 -1
- package/dist/hooks/gas/utils.d.ts +5 -0
- package/dist/hooks/gas/utils.d.ts.map +1 -1
- package/dist/hooks/gas/utils.js +5 -2
- package/dist/hooks/gas/utils.js.map +1 -1
- package/dist/hooks/getCode/useIsAccountContract.d.ts.map +1 -1
- package/dist/hooks/getCode/useIsAccountContract.js +21 -8
- package/dist/hooks/getCode/useIsAccountContract.js.map +1 -1
- package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/{useSignArbitraryTypedData.js → common/useSignArbitraryTypedData.js} +1 -1
- package/dist/hooks/permit/hooks/common/useSignArbitraryTypedData.js.map +1 -0
- package/dist/hooks/permit/hooks/{useSignPermit.d.ts → common/useSignPermit.d.ts} +1 -1
- package/dist/hooks/permit/hooks/common/useSignPermit.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/{useSignPermit.js → common/useSignPermit.js} +2 -2
- package/dist/hooks/permit/hooks/common/useSignPermit.js.map +1 -0
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.d.ts +7 -0
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js +25 -0
- package/dist/hooks/permit/hooks/common/useWalletSupportsPermit.js.map +1 -0
- package/dist/hooks/permit/hooks/{useGetPermitInfo.d.ts → permit1/useGetPermitInfo.d.ts} +2 -2
- package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/{useGetPermitInfo.js → permit1/useGetPermitInfo.js} +3 -3
- package/dist/hooks/permit/hooks/permit1/useGetPermitInfo.js.map +1 -0
- package/dist/hooks/permit/hooks/{useGetSafePermitInfo.d.ts → permit1/useGetSafePermitInfo.d.ts} +3 -3
- package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/{useGetSafePermitInfo.js → permit1/useGetSafePermitInfo.js} +1 -1
- package/dist/hooks/permit/hooks/permit1/useGetSafePermitInfo.js.map +1 -0
- package/dist/hooks/permit/hooks/{usePermit1Nonce.d.ts → permit1/usePermit1Nonce.d.ts} +5 -5
- package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/{usePermit1Nonce.js → permit1/usePermit1Nonce.js} +4 -2
- package/dist/hooks/permit/hooks/permit1/usePermit1Nonce.js.map +1 -0
- package/dist/hooks/permit/hooks/{useSignTokenFromPermit1.d.ts → permit1/useSignTokenPermit1.d.ts} +15 -14
- package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/{useSignTokenFromPermit1.js → permit1/useSignTokenPermit1.js} +75 -68
- package/dist/hooks/permit/hooks/permit1/useSignTokenPermit1.js.map +1 -0
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.d.ts +10 -0
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/{useTokenFromPermit1Nonce.js → permit1/useTokenFromPermit1Nonce.js} +2 -2
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermit1Nonce.js.map +1 -0
- package/dist/hooks/permit/hooks/{useTokenFromPermitInfo.d.ts → permit1/useTokenFromPermitInfo.d.ts} +1 -1
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/{useTokenFromPermitInfo.js → permit1/useTokenFromPermitInfo.js} +2 -2
- package/dist/hooks/permit/hooks/permit1/useTokenFromPermitInfo.js.map +1 -0
- package/dist/hooks/permit/hooks/{useTryToSignPermit1.d.ts → permit1/useTryToSignPermit1.d.ts} +1 -1
- package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/{useTryToSignPermit1.js → permit1/useTryToSignPermit1.js} +2 -2
- package/dist/hooks/permit/hooks/permit1/useTryToSignPermit1.js.map +1 -0
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.d.ts +21 -0
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js +79 -0
- package/dist/hooks/permit/hooks/permit2/usePermit2Allowance.js.map +1 -0
- package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.d.ts +76 -0
- package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js +143 -0
- package/dist/hooks/permit/hooks/permit2/usePermit2TransferFromNonce.js.map +1 -0
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.d.ts +52 -0
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js +299 -0
- package/dist/hooks/permit/hooks/permit2/useSignTokenPermit2TransferFrom.js.map +1 -0
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.d.ts +10 -0
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.d.ts.map +1 -0
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js +55 -0
- package/dist/hooks/permit/hooks/permit2/useTokenFromPermit2TransferFromNonce.js.map +1 -0
- package/dist/hooks/permit/utils/abi.d.ts +173 -0
- package/dist/hooks/permit/utils/abi.d.ts.map +1 -1
- package/dist/hooks/permit/utils/abi.js +174 -1
- package/dist/hooks/permit/utils/abi.js.map +1 -1
- package/dist/hooks/permit/utils/construct.d.ts +3 -4
- package/dist/hooks/permit/utils/construct.d.ts.map +1 -1
- package/dist/hooks/permit/utils/construct.js +1 -1
- package/dist/hooks/permit/utils/construct.js.map +1 -1
- package/dist/hooks/permit/utils/deadlines.d.ts +8 -0
- package/dist/hooks/permit/utils/deadlines.d.ts.map +1 -0
- package/dist/hooks/permit/utils/deadlines.js +15 -0
- package/dist/hooks/permit/utils/deadlines.js.map +1 -0
- package/dist/hooks/permit/utils/encodeArgs.d.ts +22 -4
- package/dist/hooks/permit/utils/encodeArgs.d.ts.map +1 -1
- package/dist/hooks/permit/utils/encodeArgs.js +33 -4
- package/dist/hooks/permit/utils/encodeArgs.js.map +1 -1
- package/dist/hooks/permit/utils/trySignPermit1.d.ts +1 -1
- package/dist/hooks/permit/utils/trySignPermit1.d.ts.map +1 -1
- package/dist/hooks/permit/utils/trySignPermit1.js.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +1 -0
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +4 -1
- package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts +1 -1
- package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
- package/dist/hooks/swap/prices/usePricesParams.js +87 -32
- package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/types.d.ts +0 -1
- package/dist/hooks/swap/tradeFlow/common/types.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts +18 -0
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js +190 -0
- package/dist/hooks/swap/tradeFlow/common/useApproveOrPermit.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.d.ts +20 -0
- package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js +81 -0
- package/dist/hooks/swap/tradeFlow/common/useConstructGasParams.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts +53 -0
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js +308 -0
- package/dist/hooks/swap/tradeFlow/common/useSignPermit1Or2.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.d.ts +25 -0
- package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.d.ts.map +1 -0
- package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.js +103 -0
- package/dist/hooks/swap/tradeFlow/common/useTrackedPrice.js.map +1 -0
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +2 -0
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js +333 -397
- package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts +3 -0
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +31 -10
- package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts +4 -0
- package/dist/hooks/swap/tradeFlow/useMarketFlow.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js +295 -362
- package/dist/hooks/swap/tradeFlow/useMarketFlow.js.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts +3 -0
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.d.ts.map +1 -1
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js +32 -11
- package/dist/hooks/swap/tradeFlow/useMarketSwapStep.js.map +1 -1
- package/dist/hooks/tokens/allowance/types.d.ts +3 -0
- package/dist/hooks/tokens/allowance/types.d.ts.map +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.d.ts +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.d.ts.map +1 -1
- package/dist/hooks/tokens/allowance/useTokenAllowance.js +32 -28
- package/dist/hooks/tokens/allowance/useTokenAllowance.js.map +1 -1
- package/dist/hooks/tokens/balances/useInvalidateTokenData.d.ts.map +1 -1
- package/dist/hooks/tokens/balances/useInvalidateTokenData.js.map +1 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.d.ts +1 -0
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.d.ts.map +1 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js +41 -1
- package/dist/hooks/tokens/balances/useIsInsufficientTokenBalance.js.map +1 -1
- package/dist/hooks/tokens/useTokenLists.d.ts +1 -0
- package/dist/hooks/tokens/useTokenLists.d.ts.map +1 -1
- package/dist/hooks/tokens/useTokenLists.js +15 -2
- package/dist/hooks/tokens/useTokenLists.js.map +1 -1
- package/dist/hooks/tokens/useTokenTaxFee.d.ts +12 -0
- package/dist/hooks/tokens/useTokenTaxFee.d.ts.map +1 -0
- package/dist/hooks/tokens/useTokenTaxFee.js +54 -0
- package/dist/hooks/tokens/useTokenTaxFee.js.map +1 -0
- package/dist/hooks/txs/index.d.ts +1 -1
- package/dist/hooks/txs/mutations/useApprove.d.ts +5 -4
- package/dist/hooks/txs/mutations/useApprove.d.ts.map +1 -1
- package/dist/hooks/txs/mutations/useApprove.js +55 -39
- package/dist/hooks/txs/mutations/useApprove.js.map +1 -1
- package/dist/hooks/txs/mutations/useDepositWeth.d.ts.map +1 -1
- package/dist/hooks/txs/mutations/useDepositWeth.js +37 -27
- package/dist/hooks/txs/mutations/useDepositWeth.js.map +1 -1
- package/dist/hooks/useEIP1559Enabled.d.ts +6 -0
- package/dist/hooks/useEIP1559Enabled.d.ts.map +1 -0
- package/dist/hooks/useEIP1559Enabled.js +31 -0
- package/dist/hooks/useEIP1559Enabled.js.map +1 -0
- package/dist/index.d.ts +2 -19
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -21
- package/dist/index.js.map +1 -1
- package/dist/lib/constants/delta.d.ts.map +1 -1
- package/dist/lib/constants/delta.js +3 -2
- package/dist/lib/constants/delta.js.map +1 -1
- package/dist/lib/constants/weth.d.ts.map +1 -1
- package/dist/lib/constants/weth.js +24 -17
- package/dist/lib/constants/weth.js.map +1 -1
- package/dist/lib/utils/copyToClipboard.d.ts +2 -0
- package/dist/lib/utils/copyToClipboard.d.ts.map +1 -0
- package/dist/lib/utils/copyToClipboard.js +14 -0
- package/dist/lib/utils/copyToClipboard.js.map +1 -0
- package/dist/lib/utils/logger.js +24 -0
- package/dist/lib/utils/logger.js.map +1 -0
- package/dist/lib/utils/price.js +1 -1
- package/dist/lib/utils/providerErrors.d.ts +12 -0
- package/dist/lib/utils/providerErrors.d.ts.map +1 -0
- package/dist/lib/utils/providerErrors.js +29 -0
- package/dist/lib/utils/providerErrors.js.map +1 -0
- package/dist/lib/utils/slippage.d.ts +5 -0
- package/dist/lib/utils/slippage.d.ts.map +1 -1
- package/dist/lib/utils/slippage.js.map +1 -1
- package/dist/lib/utils/toDecimal.d.ts +1 -0
- package/dist/lib/utils/toDecimal.d.ts.map +1 -1
- package/dist/lib/utils/toDecimal.js +9 -4
- package/dist/lib/utils/toDecimal.js.map +1 -1
- package/dist/lib/utils/toasts.d.ts +2 -0
- package/dist/lib/utils/toasts.d.ts.map +1 -1
- package/dist/lib/utils/toasts.js +48 -27
- package/dist/lib/utils/toasts.js.map +1 -1
- package/dist/lib/web3/wagmi/config.d.ts +333 -35
- package/dist/lib/web3/wagmi/config.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/constants.d.ts +333 -35
- package/dist/lib/web3/wagmi/constants.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/constants.js +5 -4
- package/dist/lib/web3/wagmi/constants.js.map +1 -1
- package/dist/lib/web3/wagmi/supportedChains.d.ts +1 -1
- package/dist/lib/web3/wagmi/supportedChains.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/transports.d.ts.map +1 -1
- package/dist/lib/web3/wagmi/transports.js +3 -2
- package/dist/lib/web3/wagmi/transports.js.map +1 -1
- package/dist/styles.css +2445 -2933
- package/dist/test/Configurator.d.ts.map +1 -1
- package/dist/tokens/constants.d.ts.map +1 -1
- package/dist/tokens/constants.js +4 -3
- package/dist/tokens/constants.js.map +1 -1
- package/dist/tokens/defaultTokens.d.ts.map +1 -1
- package/dist/tokens/defaultTokens.js +44 -22
- package/dist/tokens/defaultTokens.js.map +1 -1
- package/dist/tokens/lists/lists.json.d.ts +21 -0
- package/dist/tokens/lists/lists.json.js +21 -0
- package/dist/tokens/lists/lists.json.js.map +1 -1
- package/dist/tokens/lists/state/tokenListsStateAtom.d.ts +10 -6
- package/dist/tokens/lists/state/tokenListsStateAtom.d.ts.map +1 -1
- package/dist/tokens/lists/state/types.d.ts +3 -2
- package/dist/tokens/lists/state/types.d.ts.map +1 -1
- package/dist/widget/ConnectWalletDrawerButton.d.ts +7 -0
- package/dist/widget/ConnectWalletDrawerButton.d.ts.map +1 -0
- package/dist/widget/ConnectWalletDrawerButton.js +95 -0
- package/dist/widget/ConnectWalletDrawerButton.js.map +1 -0
- package/dist/widget/Toaster.d.ts +2 -0
- package/dist/widget/Toaster.d.ts.map +1 -0
- package/dist/widget/Toaster.js +24 -0
- package/dist/widget/Toaster.js.map +1 -0
- package/dist/widget/TradeFlowButton.d.ts +16 -0
- package/dist/widget/TradeFlowButton.d.ts.map +1 -0
- package/dist/widget/TradeFlowButton.js +474 -0
- package/dist/widget/TradeFlowButton.js.map +1 -0
- package/dist/widget/Updaters.d.ts.map +1 -1
- package/dist/widget/Updaters.js +6 -2
- package/dist/widget/Updaters.js.map +1 -1
- package/dist/widget/button/hooks/useWidgetButtonExtraProps.d.ts.map +1 -1
- package/dist/widget/button/hooks/useWidgetButtonExtraProps.js +64 -31
- package/dist/widget/button/hooks/useWidgetButtonExtraProps.js.map +1 -1
- package/dist/widget/constants.d.ts +1 -0
- package/dist/widget/constants.d.ts.map +1 -1
- package/dist/widget/constants.js +2 -1
- package/dist/widget/constants.js.map +1 -1
- package/dist/widget/index.d.ts +1 -1
- package/dist/widget/index.d.ts.map +1 -1
- package/dist/widget/index.js +116 -461
- package/dist/widget/index.js.map +1 -1
- package/dist/widget/inputs/hooks/types.d.ts +1 -1
- package/dist/widget/inputs/hooks/types.d.ts.map +1 -1
- package/dist/widget/inputs/hooks/useTokenFromInputProps.d.ts.map +1 -1
- package/dist/widget/inputs/hooks/useTokenFromInputProps.js +66 -53
- package/dist/widget/inputs/hooks/useTokenFromInputProps.js.map +1 -1
- package/dist/widget/inputs/hooks/useTokenToInputProps.d.ts.map +1 -1
- package/dist/widget/inputs/hooks/useTokenToInputProps.js +46 -20
- package/dist/widget/inputs/hooks/useTokenToInputProps.js.map +1 -1
- package/dist/widget/inputs/state/selectedTokenActionsAtom.js +1 -1
- package/dist/widget/state/chainToAtom.d.ts +2 -2
- package/dist/widget/state/chainToAtom.d.ts.map +1 -1
- package/dist/widget/state/configActionsAtom.d.ts.map +1 -1
- package/dist/widget/state/configActionsAtom.js +3 -1
- package/dist/widget/state/configActionsAtom.js.map +1 -1
- package/dist/widget/state/configAtom.d.ts +4 -1
- package/dist/widget/state/configAtom.d.ts.map +1 -1
- package/dist/widget/state/configAtom.js +2 -1
- package/dist/widget/state/configAtom.js.map +1 -1
- package/dist/widget/state/containerAtom.js +1 -1
- package/dist/widget/state/externalProviderAtom.d.ts +23 -0
- package/dist/widget/state/externalProviderAtom.d.ts.map +1 -0
- package/dist/widget/state/externalProviderAtom.js +20 -0
- package/dist/widget/state/externalProviderAtom.js.map +1 -0
- package/dist/widget/swapDetails/youGet.d.ts.map +1 -1
- package/dist/widget/swapDetails/youGet.js +2 -3
- package/dist/widget/swapDetails/youGet.js.map +1 -1
- package/dist/widget/types.d.ts +4 -0
- package/dist/widget/types.d.ts.map +1 -1
- package/package.json +8 -66
- package/dist/components/ui/counter.js +0 -33
- package/dist/components/ui/counter.js.map +0 -1
- package/dist/components/ui/header.js +0 -21
- package/dist/components/ui/header.js.map +0 -1
- package/dist/components/ui/select.js +0 -427
- package/dist/components/ui/select.js.map +0 -1
- package/dist/components/ui/vaul/browser.d.ts +0 -8
- package/dist/components/ui/vaul/browser.d.ts.map +0 -1
- package/dist/components/ui/vaul/browser.js +0 -27
- package/dist/components/ui/vaul/browser.js.map +0 -1
- package/dist/components/ui/vaul/constants.d.ts +0 -12
- package/dist/components/ui/vaul/constants.d.ts.map +0 -1
- package/dist/components/ui/vaul/constants.js +0 -14
- package/dist/components/ui/vaul/constants.js.map +0 -1
- package/dist/components/ui/vaul/context.d.ts +0 -38
- package/dist/components/ui/vaul/context.d.ts.map +0 -1
- package/dist/components/ui/vaul/context.js +0 -62
- package/dist/components/ui/vaul/context.js.map +0 -1
- package/dist/components/ui/vaul/helpers.d.ts +0 -17
- package/dist/components/ui/vaul/helpers.d.ts.map +0 -1
- package/dist/components/ui/vaul/helpers.js +0 -77
- package/dist/components/ui/vaul/helpers.js.map +0 -1
- package/dist/components/ui/vaul/index.d.ts +0 -140
- package/dist/components/ui/vaul/index.d.ts.map +0 -1
- package/dist/components/ui/vaul/index.js +0 -797
- package/dist/components/ui/vaul/index.js.map +0 -1
- package/dist/components/ui/vaul/types.d.ts +0 -7
- package/dist/components/ui/vaul/types.d.ts.map +0 -1
- package/dist/components/ui/vaul/use-composed-refs.d.ts +0 -14
- package/dist/components/ui/vaul/use-composed-refs.d.ts.map +0 -1
- package/dist/components/ui/vaul/use-composed-refs.js +0 -18
- package/dist/components/ui/vaul/use-composed-refs.js.map +0 -1
- package/dist/components/ui/vaul/use-controllable-state.d.ts +0 -9
- package/dist/components/ui/vaul/use-controllable-state.d.ts.map +0 -1
- package/dist/components/ui/vaul/use-controllable-state.js +0 -124
- package/dist/components/ui/vaul/use-controllable-state.js.map +0 -1
- package/dist/components/ui/vaul/use-position-fixed.d.ts +0 -19
- package/dist/components/ui/vaul/use-position-fixed.d.ts.map +0 -1
- package/dist/components/ui/vaul/use-position-fixed.js +0 -99
- package/dist/components/ui/vaul/use-position-fixed.js.map +0 -1
- package/dist/components/ui/vaul/use-prevent-scroll.d.ts +0 -18
- package/dist/components/ui/vaul/use-prevent-scroll.d.ts.map +0 -1
- package/dist/components/ui/vaul/use-prevent-scroll.js +0 -172
- package/dist/components/ui/vaul/use-prevent-scroll.js.map +0 -1
- package/dist/components/ui/vaul/use-scale-background.d.ts +0 -2
- package/dist/components/ui/vaul/use-scale-background.d.ts.map +0 -1
- package/dist/components/ui/vaul/use-scale-background.js +0 -58
- package/dist/components/ui/vaul/use-scale-background.js.map +0 -1
- package/dist/components/ui/vaul/use-snap-points.d.ts +0 -32
- package/dist/components/ui/vaul/use-snap-points.d.ts.map +0 -1
- package/dist/components/ui/vaul/use-snap-points.js +0 -212
- package/dist/components/ui/vaul/use-snap-points.js.map +0 -1
- package/dist/components/widget/Informative/Informative.js +0 -23
- package/dist/components/widget/Informative/Informative.js.map +0 -1
- package/dist/components/widget/NetworkIcon/assets/sqr/polygonZkEVM.svg.js +0 -12
- package/dist/components/widget/NetworkIcon/assets/sqr/polygonZkEVM.svg.js.map +0 -1
- package/dist/components/widget/TradeOverview/assets/spinner.svg.js.map +0 -1
- package/dist/hooks/permit/hooks/useGetPermitInfo.d.ts.map +0 -1
- package/dist/hooks/permit/hooks/useGetPermitInfo.js.map +0 -1
- package/dist/hooks/permit/hooks/useGetSafePermitInfo.d.ts.map +0 -1
- package/dist/hooks/permit/hooks/useGetSafePermitInfo.js.map +0 -1
- package/dist/hooks/permit/hooks/usePermit1Nonce.d.ts.map +0 -1
- package/dist/hooks/permit/hooks/usePermit1Nonce.js.map +0 -1
- package/dist/hooks/permit/hooks/useSignArbitraryTypedData.d.ts.map +0 -1
- package/dist/hooks/permit/hooks/useSignArbitraryTypedData.js.map +0 -1
- package/dist/hooks/permit/hooks/useSignPermit.d.ts.map +0 -1
- package/dist/hooks/permit/hooks/useSignPermit.js.map +0 -1
- package/dist/hooks/permit/hooks/useSignTokenFromPermit1.d.ts.map +0 -1
- package/dist/hooks/permit/hooks/useSignTokenFromPermit1.js.map +0 -1
- package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.d.ts +0 -10
- package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.d.ts.map +0 -1
- package/dist/hooks/permit/hooks/useTokenFromPermit1Nonce.js.map +0 -1
- package/dist/hooks/permit/hooks/useTokenFromPermitInfo.d.ts.map +0 -1
- package/dist/hooks/permit/hooks/useTokenFromPermitInfo.js.map +0 -1
- package/dist/hooks/permit/hooks/useTryToSignPermit1.d.ts.map +0 -1
- package/dist/hooks/permit/hooks/useTryToSignPermit1.js.map +0 -1
- package/dist/styles2.css +0 -256
- package/dist/test/connect/AccountDisplay.js +0 -83
- package/dist/test/connect/AccountDisplay.js.map +0 -1
- package/dist/test/connect/App.js +0 -68
- package/dist/test/connect/App.js.map +0 -1
- package/dist/test/connect/ConnectWallet.js +0 -100
- package/dist/test/connect/ConnectWallet.js.map +0 -1
- package/dist/test/connect/WagmiProfile.js +0 -396
- package/dist/test/connect/WagmiProfile.js.map +0 -1
- package/dist/test/connect/WalletActions.js +0 -314
- package/dist/test/connect/WalletActions.js.map +0 -1
- package/dist/widget/DevTools.js +0 -24
- package/dist/widget/DevTools.js.map +0 -1
- /package/dist/{components/widget/TradeOverview/assets → assets}/spinner.svg.js +0 -0
- /package/dist/hooks/permit/hooks/{useSignArbitraryTypedData.d.ts → common/useSignArbitraryTypedData.d.ts} +0 -0
|
@@ -1,172 +0,0 @@
|
|
|
1
|
-
import { useLayoutEffect, useEffect } from 'react';
|
|
2
|
-
import { isIOS } from './browser.js';
|
|
3
|
-
|
|
4
|
-
const KEYBOARD_BUFFER = 24;
|
|
5
|
-
const useIsomorphicLayoutEffect = typeof window !== "undefined" ? useLayoutEffect : useEffect;
|
|
6
|
-
function chain(...callbacks) {
|
|
7
|
-
return (...args) => {
|
|
8
|
-
for (let callback of callbacks) {
|
|
9
|
-
if (typeof callback === "function") {
|
|
10
|
-
callback(...args);
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
};
|
|
14
|
-
}
|
|
15
|
-
const visualViewport = typeof document !== "undefined" && window.visualViewport;
|
|
16
|
-
function isScrollable(node) {
|
|
17
|
-
let style = window.getComputedStyle(node);
|
|
18
|
-
return /(auto|scroll)/.test(style.overflow + style.overflowX + style.overflowY);
|
|
19
|
-
}
|
|
20
|
-
function getScrollParent(node) {
|
|
21
|
-
if (isScrollable(node)) {
|
|
22
|
-
node = node.parentElement;
|
|
23
|
-
}
|
|
24
|
-
while (node && !isScrollable(node)) {
|
|
25
|
-
node = node.parentElement;
|
|
26
|
-
}
|
|
27
|
-
return node || document.scrollingElement || document.documentElement;
|
|
28
|
-
}
|
|
29
|
-
const nonTextInputTypes = /* @__PURE__ */ new Set(["checkbox", "radio", "range", "color", "file", "image", "button", "submit", "reset"]);
|
|
30
|
-
let preventScrollCount = 0;
|
|
31
|
-
let restore;
|
|
32
|
-
function usePreventScroll(options = {}) {
|
|
33
|
-
let {
|
|
34
|
-
isDisabled
|
|
35
|
-
} = options;
|
|
36
|
-
useIsomorphicLayoutEffect(() => {
|
|
37
|
-
if (isDisabled) {
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
preventScrollCount++;
|
|
41
|
-
if (preventScrollCount === 1) {
|
|
42
|
-
if (isIOS()) {
|
|
43
|
-
restore = preventScrollMobileSafari();
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
return () => {
|
|
47
|
-
preventScrollCount--;
|
|
48
|
-
if (preventScrollCount === 0) {
|
|
49
|
-
restore?.();
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
}, [isDisabled]);
|
|
53
|
-
}
|
|
54
|
-
function preventScrollMobileSafari() {
|
|
55
|
-
let scrollable;
|
|
56
|
-
let lastY = 0;
|
|
57
|
-
let onTouchStart = (e) => {
|
|
58
|
-
scrollable = getScrollParent(e.target);
|
|
59
|
-
if (scrollable === document.documentElement && scrollable === document.body) {
|
|
60
|
-
return;
|
|
61
|
-
}
|
|
62
|
-
lastY = e.changedTouches[0].pageY;
|
|
63
|
-
};
|
|
64
|
-
let onTouchMove = (e) => {
|
|
65
|
-
if (!scrollable || scrollable === document.documentElement || scrollable === document.body) {
|
|
66
|
-
e.preventDefault();
|
|
67
|
-
return;
|
|
68
|
-
}
|
|
69
|
-
let y = e.changedTouches[0].pageY;
|
|
70
|
-
let scrollTop = scrollable.scrollTop;
|
|
71
|
-
let bottom = scrollable.scrollHeight - scrollable.clientHeight;
|
|
72
|
-
if (bottom === 0) {
|
|
73
|
-
return;
|
|
74
|
-
}
|
|
75
|
-
if (scrollTop <= 0 && y > lastY || scrollTop >= bottom && y < lastY) {
|
|
76
|
-
e.preventDefault();
|
|
77
|
-
}
|
|
78
|
-
lastY = y;
|
|
79
|
-
};
|
|
80
|
-
let onTouchEnd = (e) => {
|
|
81
|
-
let target = e.target;
|
|
82
|
-
if (isInput(target) && target !== document.activeElement) {
|
|
83
|
-
e.preventDefault();
|
|
84
|
-
target.style.transform = "translateY(-2000px)";
|
|
85
|
-
target.focus();
|
|
86
|
-
requestAnimationFrame(() => {
|
|
87
|
-
target.style.transform = "";
|
|
88
|
-
});
|
|
89
|
-
}
|
|
90
|
-
};
|
|
91
|
-
let onFocus = (e) => {
|
|
92
|
-
let target = e.target;
|
|
93
|
-
if (isInput(target)) {
|
|
94
|
-
target.style.transform = "translateY(-2000px)";
|
|
95
|
-
requestAnimationFrame(() => {
|
|
96
|
-
target.style.transform = "";
|
|
97
|
-
if (visualViewport) {
|
|
98
|
-
if (visualViewport.height < window.innerHeight) {
|
|
99
|
-
requestAnimationFrame(() => {
|
|
100
|
-
scrollIntoView(target);
|
|
101
|
-
});
|
|
102
|
-
} else {
|
|
103
|
-
visualViewport.addEventListener("resize", () => scrollIntoView(target), {
|
|
104
|
-
once: true
|
|
105
|
-
});
|
|
106
|
-
}
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
}
|
|
110
|
-
};
|
|
111
|
-
let onWindowScroll = () => {
|
|
112
|
-
window.scrollTo(0, 0);
|
|
113
|
-
};
|
|
114
|
-
let scrollX = window.pageXOffset;
|
|
115
|
-
let scrollY = window.pageYOffset;
|
|
116
|
-
let restoreStyles = chain(
|
|
117
|
-
setStyle(document.documentElement, "paddingRight", `${window.innerWidth - document.documentElement.clientWidth}px`)
|
|
118
|
-
// setStyle(document.documentElement, 'overflow', 'hidden'),
|
|
119
|
-
// setStyle(document.body, 'marginTop', `-${scrollY}px`),
|
|
120
|
-
);
|
|
121
|
-
window.scrollTo(0, 0);
|
|
122
|
-
let removeEvents = chain(addEvent(document, "touchstart", onTouchStart, {
|
|
123
|
-
passive: false,
|
|
124
|
-
capture: true
|
|
125
|
-
}), addEvent(document, "touchmove", onTouchMove, {
|
|
126
|
-
passive: false,
|
|
127
|
-
capture: true
|
|
128
|
-
}), addEvent(document, "touchend", onTouchEnd, {
|
|
129
|
-
passive: false,
|
|
130
|
-
capture: true
|
|
131
|
-
}), addEvent(document, "focus", onFocus, true), addEvent(window, "scroll", onWindowScroll));
|
|
132
|
-
return () => {
|
|
133
|
-
restoreStyles();
|
|
134
|
-
removeEvents();
|
|
135
|
-
window.scrollTo(scrollX, scrollY);
|
|
136
|
-
};
|
|
137
|
-
}
|
|
138
|
-
function setStyle(element, style, value) {
|
|
139
|
-
let cur = element.style[style];
|
|
140
|
-
element.style[style] = value;
|
|
141
|
-
return () => {
|
|
142
|
-
element.style[style] = cur;
|
|
143
|
-
};
|
|
144
|
-
}
|
|
145
|
-
function addEvent(target, event, handler, options) {
|
|
146
|
-
target.addEventListener(event, handler, options);
|
|
147
|
-
return () => {
|
|
148
|
-
target.removeEventListener(event, handler, options);
|
|
149
|
-
};
|
|
150
|
-
}
|
|
151
|
-
function scrollIntoView(target) {
|
|
152
|
-
let root = document.scrollingElement || document.documentElement;
|
|
153
|
-
while (target && target !== root) {
|
|
154
|
-
let scrollable = getScrollParent(target);
|
|
155
|
-
if (scrollable !== document.documentElement && scrollable !== document.body && scrollable !== target) {
|
|
156
|
-
let scrollableTop = scrollable.getBoundingClientRect().top;
|
|
157
|
-
let targetTop = target.getBoundingClientRect().top;
|
|
158
|
-
let targetBottom = target.getBoundingClientRect().bottom;
|
|
159
|
-
const keyboardHeight = scrollable.getBoundingClientRect().bottom + KEYBOARD_BUFFER;
|
|
160
|
-
if (targetBottom > keyboardHeight) {
|
|
161
|
-
scrollable.scrollTop += targetTop - scrollableTop;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
target = scrollable.parentElement;
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
function isInput(target) {
|
|
168
|
-
return target instanceof HTMLInputElement && !nonTextInputTypes.has(target.type) || target instanceof HTMLTextAreaElement || target instanceof HTMLElement && target.isContentEditable;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
export { getScrollParent, isInput, isScrollable, useIsomorphicLayoutEffect, usePreventScroll };
|
|
172
|
-
//# sourceMappingURL=use-prevent-scroll.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-prevent-scroll.js","sources":["../../../../src/components/ui/vaul/use-prevent-scroll.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\n/* eslint-disable prefer-const */\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// This code comes from https://github.com/adobe/react-spectrum/blob/main/packages/%40react-aria/overlays/src/usePreventScroll.ts\n\nimport { useEffect, useLayoutEffect } from \"react\";\nimport { isIOS } from \"./browser\";\n\nconst KEYBOARD_BUFFER = 24;\n\nexport const useIsomorphicLayoutEffect =\n typeof window !== \"undefined\" ? useLayoutEffect : useEffect;\n\ninterface PreventScrollOptions {\n /** Whether the scroll lock is disabled. */\n isDisabled?: boolean;\n focusCallback?: () => void;\n}\n\nfunction chain(...callbacks: any[]): (...args: any[]) => void {\n return (...args: any[]) => {\n for (let callback of callbacks) {\n if (typeof callback === \"function\") {\n callback(...args);\n }\n }\n };\n}\n\n// @ts-ignore\nconst visualViewport = typeof document !== \"undefined\" && window.visualViewport;\n\nexport function isScrollable(node: Element): boolean {\n let style = window.getComputedStyle(node);\n return /(auto|scroll)/.test(\n style.overflow + style.overflowX + style.overflowY\n );\n}\n\nexport function getScrollParent(node: Element): Element {\n if (isScrollable(node)) {\n node = node.parentElement as HTMLElement;\n }\n\n while (node && !isScrollable(node)) {\n node = node.parentElement as HTMLElement;\n }\n\n return node || document.scrollingElement || document.documentElement;\n}\n\n// HTML input types that do not cause the software keyboard to appear.\nconst nonTextInputTypes = new Set([\n \"checkbox\",\n \"radio\",\n \"range\",\n \"color\",\n \"file\",\n \"image\",\n \"button\",\n \"submit\",\n \"reset\",\n]);\n\n// The number of active usePreventScroll calls. Used to determine whether to revert back to the original page style/scroll position\nlet preventScrollCount = 0;\nlet restore: () => void;\n\n/**\n * Prevents scrolling on the document body on mount, and\n * restores it on unmount. Also ensures that content does not\n * shift due to the scrollbars disappearing.\n */\nexport function usePreventScroll(options: PreventScrollOptions = {}) {\n let { isDisabled } = options;\n\n useIsomorphicLayoutEffect(() => {\n if (isDisabled) {\n return;\n }\n\n preventScrollCount++;\n if (preventScrollCount === 1) {\n if (isIOS()) {\n restore = preventScrollMobileSafari();\n }\n }\n\n return () => {\n preventScrollCount--;\n if (preventScrollCount === 0) {\n restore?.();\n }\n };\n }, [isDisabled]);\n}\n\n// Mobile Safari is a whole different beast. Even with overflow: hidden,\n// it still scrolls the page in many situations:\n//\n// 1. When the bottom toolbar and address bar are collapsed, page scrolling is always allowed.\n// 2. When the keyboard is visible, the viewport does not resize. Instead, the keyboard covers part of\n// it, so it becomes scrollable.\n// 3. When tapping on an input, the page always scrolls so that the input is centered in the visual viewport.\n// This may cause even fixed position elements to scroll off the screen.\n// 4. When using the next/previous buttons in the keyboard to navigate between inputs, the whole page always\n// scrolls, even if the input is inside a nested scrollable element that could be scrolled instead.\n//\n// In order to work around these cases, and prevent scrolling without jankiness, we do a few things:\n//\n// 1. Prevent default on `touchmove` events that are not in a scrollable element. This prevents touch scrolling\n// on the window.\n// 2. Prevent default on `touchmove` events inside a scrollable element when the scroll position is at the\n// top or bottom. This avoids the whole page scrolling instead, but does prevent overscrolling.\n// 3. Prevent default on `touchend` events on input elements and handle focusing the element ourselves.\n// 4. When focusing an input, apply a transform to trick Safari into thinking the input is at the top\n// of the page, which prevents it from scrolling the page. After the input is focused, scroll the element\n// into view ourselves, without scrolling the whole page.\n// 5. Offset the body by the scroll position using a negative margin and scroll to the top. This should appear the\n// same visually, but makes the actual scroll position always zero. This is required to make all of the\n// above work or Safari will still try to scroll the page when focusing an input.\n// 6. As a last resort, handle window scroll events, and scroll back to the top. This can happen when attempting\n// to navigate to an input with the next/previous buttons that's outside a modal.\nfunction preventScrollMobileSafari() {\n let scrollable: Element;\n let lastY = 0;\n let onTouchStart = (e: TouchEvent) => {\n // Store the nearest scrollable parent element from the element that the user touched.\n scrollable = getScrollParent(e.target as Element);\n if (\n scrollable === document.documentElement &&\n scrollable === document.body\n ) {\n return;\n }\n\n // @ts-expect-error\n lastY = e.changedTouches[0].pageY;\n };\n\n let onTouchMove = (e: TouchEvent) => {\n // Prevent scrolling the window.\n if (\n !scrollable ||\n scrollable === document.documentElement ||\n scrollable === document.body\n ) {\n e.preventDefault();\n return;\n }\n\n // Prevent scrolling up when at the top and scrolling down when at the bottom\n // of a nested scrollable area, otherwise mobile Safari will start scrolling\n // the window instead. Unfortunately, this disables bounce scrolling when at\n // the top but it's the best we can do.\n // @ts-expect-error\n let y = e.changedTouches[0].pageY;\n let scrollTop = scrollable.scrollTop;\n let bottom = scrollable.scrollHeight - scrollable.clientHeight;\n\n if (bottom === 0) {\n return;\n }\n\n if ((scrollTop <= 0 && y > lastY) || (scrollTop >= bottom && y < lastY)) {\n e.preventDefault();\n }\n\n lastY = y;\n };\n\n let onTouchEnd = (e: TouchEvent) => {\n let target = e.target as HTMLElement;\n\n // Apply this change if we're not already focused on the target element\n if (isInput(target) && target !== document.activeElement) {\n e.preventDefault();\n\n // Apply a transform to trick Safari into thinking the input is at the top of the page\n // so it doesn't try to scroll it into view. When tapping on an input, this needs to\n // be done before the \"focus\" event, so we have to focus the element ourselves.\n target.style.transform = \"translateY(-2000px)\";\n target.focus();\n requestAnimationFrame(() => {\n target.style.transform = \"\";\n });\n }\n };\n\n let onFocus = (e: FocusEvent) => {\n let target = e.target as HTMLElement;\n if (isInput(target)) {\n // Transform also needs to be applied in the focus event in cases where focus moves\n // other than tapping on an input directly, e.g. the next/previous buttons in the\n // software keyboard. In these cases, it seems applying the transform in the focus event\n // is good enough, whereas when tapping an input, it must be done before the focus event. 🤷♂️\n target.style.transform = \"translateY(-2000px)\";\n requestAnimationFrame(() => {\n target.style.transform = \"\";\n\n // This will have prevented the browser from scrolling the focused element into view,\n // so we need to do this ourselves in a way that doesn't cause the whole page to scroll.\n if (visualViewport) {\n if (visualViewport.height < window.innerHeight) {\n // If the keyboard is already visible, do this after one additional frame\n // to wait for the transform to be removed.\n requestAnimationFrame(() => {\n scrollIntoView(target);\n });\n } else {\n // Otherwise, wait for the visual viewport to resize before scrolling so we can\n // measure the correct position to scroll to.\n visualViewport.addEventListener(\n \"resize\",\n () => scrollIntoView(target),\n { once: true }\n );\n }\n }\n });\n }\n };\n\n let onWindowScroll = () => {\n // Last resort. If the window scrolled, scroll it back to the top.\n // It should always be at the top because the body will have a negative margin (see below).\n window.scrollTo(0, 0);\n };\n\n // Record the original scroll position so we can restore it.\n // Then apply a negative margin to the body to offset it by the scroll position. This will\n // enable us to scroll the window to the top, which is required for the rest of this to work.\n let scrollX = window.pageXOffset;\n let scrollY = window.pageYOffset;\n\n let restoreStyles = chain(\n setStyle(\n document.documentElement,\n \"paddingRight\",\n `${window.innerWidth - document.documentElement.clientWidth}px`\n )\n // setStyle(document.documentElement, 'overflow', 'hidden'),\n // setStyle(document.body, 'marginTop', `-${scrollY}px`),\n );\n\n // Scroll to the top. The negative margin on the body will make this appear the same.\n window.scrollTo(0, 0);\n\n let removeEvents = chain(\n addEvent(document, \"touchstart\", onTouchStart, {\n passive: false,\n capture: true,\n }),\n addEvent(document, \"touchmove\", onTouchMove, {\n passive: false,\n capture: true,\n }),\n addEvent(document, \"touchend\", onTouchEnd, {\n passive: false,\n capture: true,\n }),\n addEvent(document, \"focus\", onFocus, true),\n addEvent(window, \"scroll\", onWindowScroll)\n );\n\n return () => {\n // Restore styles and scroll the page back to where it was.\n restoreStyles();\n removeEvents();\n window.scrollTo(scrollX, scrollY);\n };\n}\n\n// Sets a CSS property on an element, and returns a function to revert it to the previous value.\nfunction setStyle(\n element: HTMLElement,\n style: keyof React.CSSProperties,\n value: string\n) {\n // https://github.com/microsoft/TypeScript/issues/17827#issuecomment-391663310\n // @ts-ignore\n let cur = element.style[style];\n // @ts-ignore\n element.style[style] = value;\n\n return () => {\n // @ts-ignore\n element.style[style] = cur;\n };\n}\n\n// Adds an event listener to an element, and returns a function to remove it.\nfunction addEvent<K extends keyof GlobalEventHandlersEventMap>(\n target: EventTarget,\n event: K,\n handler: (this: Document, ev: GlobalEventHandlersEventMap[K]) => any,\n options?: boolean | AddEventListenerOptions\n) {\n // @ts-ignore\n target.addEventListener(event, handler, options);\n\n return () => {\n // @ts-ignore\n target.removeEventListener(event, handler, options);\n };\n}\n\nfunction scrollIntoView(target: Element) {\n let root = document.scrollingElement || document.documentElement;\n while (target && target !== root) {\n // Find the parent scrollable element and adjust the scroll position if the target is not already in view.\n let scrollable = getScrollParent(target);\n if (\n scrollable !== document.documentElement &&\n scrollable !== document.body &&\n scrollable !== target\n ) {\n let scrollableTop = scrollable.getBoundingClientRect().top;\n let targetTop = target.getBoundingClientRect().top;\n let targetBottom = target.getBoundingClientRect().bottom;\n // Buffer is needed for some edge cases\n const keyboardHeight =\n scrollable.getBoundingClientRect().bottom + KEYBOARD_BUFFER;\n\n if (targetBottom > keyboardHeight) {\n scrollable.scrollTop += targetTop - scrollableTop;\n }\n }\n\n // @ts-ignore\n target = scrollable.parentElement;\n }\n}\n\nexport function isInput(target: Element) {\n return (\n (target instanceof HTMLInputElement &&\n !nonTextInputTypes.has(target.type)) ||\n target instanceof HTMLTextAreaElement ||\n (target instanceof HTMLElement && target.isContentEditable)\n );\n}\n"],"names":["KEYBOARD_BUFFER","useIsomorphicLayoutEffect","window","useLayoutEffect","useEffect","chain","callbacks","args","callback","visualViewport","document","isScrollable","node","style","getComputedStyle","test","overflow","overflowX","overflowY","getScrollParent","parentElement","scrollingElement","documentElement","nonTextInputTypes","Set","preventScrollCount","restore","usePreventScroll","options","isDisabled","isIOS","preventScrollMobileSafari","scrollable","lastY","onTouchStart","e","target","body","changedTouches","pageY","onTouchMove","preventDefault","y","scrollTop","bottom","scrollHeight","clientHeight","onTouchEnd","isInput","activeElement","transform","focus","requestAnimationFrame","onFocus","height","innerHeight","scrollIntoView","addEventListener","once","onWindowScroll","scrollTo","scrollX","pageXOffset","scrollY","pageYOffset","restoreStyles","setStyle","innerWidth","clientWidth","removeEvents","addEvent","passive","capture","element","value","cur","event","handler","removeEventListener","root","scrollableTop","getBoundingClientRect","top","targetTop","targetBottom","keyboardHeight","HTMLInputElement","has","type","HTMLTextAreaElement","HTMLElement","isContentEditable"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-scale-background.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/vaul/use-scale-background.ts"],"names":[],"mappings":"AAOA,wBAAgB,kBAAkB,SAgEjC"}
|
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
import React__default, { useMemo } from 'react';
|
|
2
|
-
import { useDrawerContext } from './context.js';
|
|
3
|
-
import { chain, assignStyle, isVertical } from './helpers.js';
|
|
4
|
-
import { TRANSITIONS, BORDER_RADIUS, WINDOW_TOP_OFFSET } from './constants.js';
|
|
5
|
-
|
|
6
|
-
const noop = () => () => {
|
|
7
|
-
};
|
|
8
|
-
function useScaleBackground() {
|
|
9
|
-
const {
|
|
10
|
-
direction,
|
|
11
|
-
isOpen,
|
|
12
|
-
shouldScaleBackground,
|
|
13
|
-
setBackgroundColorOnScale,
|
|
14
|
-
noBodyStyles
|
|
15
|
-
} = useDrawerContext();
|
|
16
|
-
const timeoutIdRef = React__default.useRef(null);
|
|
17
|
-
const initialBackgroundColor = useMemo(() => document.body.style.backgroundColor, []);
|
|
18
|
-
function getScale() {
|
|
19
|
-
return (window.innerWidth - WINDOW_TOP_OFFSET) / window.innerWidth;
|
|
20
|
-
}
|
|
21
|
-
React__default.useEffect(() => {
|
|
22
|
-
if (isOpen && shouldScaleBackground) {
|
|
23
|
-
if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);
|
|
24
|
-
const wrapper = document.querySelector("[data-vaul-drawer-wrapper]") || document.querySelector("[vaul-drawer-wrapper]");
|
|
25
|
-
if (!wrapper) return;
|
|
26
|
-
chain(setBackgroundColorOnScale && !noBodyStyles ? assignStyle(document.body, {
|
|
27
|
-
background: "black"
|
|
28
|
-
}) : noop, assignStyle(wrapper, {
|
|
29
|
-
transformOrigin: isVertical(direction) ? "top" : "left",
|
|
30
|
-
transitionProperty: "transform, border-radius",
|
|
31
|
-
transitionDuration: `${TRANSITIONS.DURATION}s`,
|
|
32
|
-
transitionTimingFunction: `cubic-bezier(${TRANSITIONS.EASE.join(",")})`
|
|
33
|
-
}));
|
|
34
|
-
const wrapperStylesCleanup = assignStyle(wrapper, {
|
|
35
|
-
borderRadius: `${BORDER_RADIUS}px`,
|
|
36
|
-
overflow: "hidden",
|
|
37
|
-
...isVertical(direction) ? {
|
|
38
|
-
transform: `scale(${getScale()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`
|
|
39
|
-
} : {
|
|
40
|
-
transform: `scale(${getScale()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`
|
|
41
|
-
}
|
|
42
|
-
});
|
|
43
|
-
return () => {
|
|
44
|
-
wrapperStylesCleanup();
|
|
45
|
-
timeoutIdRef.current = window.setTimeout(() => {
|
|
46
|
-
if (initialBackgroundColor) {
|
|
47
|
-
document.body.style.background = initialBackgroundColor;
|
|
48
|
-
} else {
|
|
49
|
-
document.body.style.removeProperty("background");
|
|
50
|
-
}
|
|
51
|
-
}, TRANSITIONS.DURATION * 1e3);
|
|
52
|
-
};
|
|
53
|
-
}
|
|
54
|
-
}, [isOpen, shouldScaleBackground, initialBackgroundColor]);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
export { useScaleBackground };
|
|
58
|
-
//# sourceMappingURL=use-scale-background.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-scale-background.js","sources":["../../../../src/components/ui/vaul/use-scale-background.ts"],"sourcesContent":["import React, { useMemo } from \"react\";\nimport { useDrawerContext } from \"./context\";\nimport { assignStyle, chain, isVertical } from \"./helpers\";\nimport { BORDER_RADIUS, TRANSITIONS, WINDOW_TOP_OFFSET } from \"./constants\";\n\nconst noop = () => () => {};\n\nexport function useScaleBackground() {\n const {\n direction,\n isOpen,\n shouldScaleBackground,\n setBackgroundColorOnScale,\n noBodyStyles,\n } = useDrawerContext();\n const timeoutIdRef = React.useRef<number | null>(null);\n const initialBackgroundColor = useMemo(\n () => document.body.style.backgroundColor,\n []\n );\n\n function getScale() {\n return (window.innerWidth - WINDOW_TOP_OFFSET) / window.innerWidth;\n }\n\n React.useEffect(() => {\n if (isOpen && shouldScaleBackground) {\n if (timeoutIdRef.current) clearTimeout(timeoutIdRef.current);\n const wrapper =\n (document.querySelector(\"[data-vaul-drawer-wrapper]\") as HTMLElement) ||\n (document.querySelector(\"[vaul-drawer-wrapper]\") as HTMLElement);\n\n if (!wrapper) return;\n\n chain(\n setBackgroundColorOnScale && !noBodyStyles\n ? assignStyle(document.body, { background: \"black\" })\n : noop,\n assignStyle(wrapper, {\n transformOrigin: isVertical(direction) ? \"top\" : \"left\",\n transitionProperty: \"transform, border-radius\",\n transitionDuration: `${TRANSITIONS.DURATION}s`,\n transitionTimingFunction: `cubic-bezier(${TRANSITIONS.EASE.join(\",\")})`,\n })\n );\n\n const wrapperStylesCleanup = assignStyle(wrapper, {\n borderRadius: `${BORDER_RADIUS}px`,\n overflow: \"hidden\",\n ...(isVertical(direction)\n ? {\n transform: `scale(${getScale()}) translate3d(0, calc(env(safe-area-inset-top) + 14px), 0)`,\n }\n : {\n transform: `scale(${getScale()}) translate3d(calc(env(safe-area-inset-top) + 14px), 0, 0)`,\n }),\n });\n\n return () => {\n wrapperStylesCleanup();\n timeoutIdRef.current = window.setTimeout(() => {\n if (initialBackgroundColor) {\n document.body.style.background = initialBackgroundColor;\n } else {\n document.body.style.removeProperty(\"background\");\n }\n }, TRANSITIONS.DURATION * 1000);\n };\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen, shouldScaleBackground, initialBackgroundColor]);\n}\n"],"names":["noop","useScaleBackground","direction","isOpen","shouldScaleBackground","setBackgroundColorOnScale","noBodyStyles","useDrawerContext","timeoutIdRef","React","useRef","initialBackgroundColor","useMemo","document","body","style","backgroundColor","getScale","window","innerWidth","WINDOW_TOP_OFFSET","useEffect","current","clearTimeout","wrapper","querySelector","chain","assignStyle","background","transformOrigin","isVertical","transitionProperty","transitionDuration","TRANSITIONS","DURATION","transitionTimingFunction","EASE","join","wrapperStylesCleanup","borderRadius","BORDER_RADIUS","overflow","transform","setTimeout","removeProperty"],"mappings":";;;;;AAKA,MAAMA,IAAAA,GAAOA,MAAM,MAAM;AAAC,CAAA;AAEnB,SAASC,kBAAAA,GAAqB;AACnC,EAAA,MAAM;AAAA,IACJC,SAAAA;AAAAA,IACAC,MAAAA;AAAAA,IACAC,qBAAAA;AAAAA,IACAC,yBAAAA;AAAAA,IACAC;AAAAA,MACEC,gBAAAA,EAAiB;AACrB,EAAA,MAAMC,YAAAA,GAAeC,cAAAA,CAAMC,MAAAA,CAAsB,IAAI,CAAA;AACrD,EAAA,MAAMC,sBAAAA,GAAyBC,QAC7B,MAAMC,QAAAA,CAASC,KAAKC,KAAAA,CAAMC,eAAAA,EAC1B,EACF,CAAA;AAEA,EAAA,SAASC,QAAAA,GAAW;AAClB,IAAA,OAAA,CAAQC,MAAAA,CAAOC,UAAAA,GAAaC,iBAAAA,IAAqBF,MAAAA,CAAOC,UAAAA;AAAAA;AAG1DV,EAAAA,cAAAA,CAAMY,UAAU,MAAM;AACpB,IAAA,IAAIlB,UAAUC,qBAAAA,EAAuB;AACnC,MAAA,IAAII,YAAAA,CAAac,OAAAA,EAASC,YAAAA,CAAaf,YAAAA,CAAac,OAAO,CAAA;AAC3D,MAAA,MAAME,UACHX,QAAAA,CAASY,aAAAA,CAAc,4BAA4B,CAAA,IACnDZ,QAAAA,CAASY,cAAc,uBAAuB,CAAA;AAEjD,MAAA,IAAI,CAACD,OAAAA,EAAS;AAEdE,MAAAA,KAAAA,CACErB,yBAAAA,IAA6B,CAACC,YAAAA,GAC1BqB,WAAAA,CAAYd,SAASC,IAAAA,EAAM;AAAA,QAAEc,UAAAA,EAAY;AAAA,OAAS,CAAA,GAClD5B,IAAAA,EACJ2B,WAAAA,CAAYH,OAAAA,EAAS;AAAA,QACnBK,eAAAA,EAAiBC,UAAAA,CAAW5B,SAAS,CAAA,GAAI,KAAA,GAAQ,MAAA;AAAA,QACjD6B,kBAAAA,EAAoB,0BAAA;AAAA,QACpBC,kBAAAA,EAAoB,CAAA,EAAGC,WAAAA,CAAYC,QAAQ,CAAA,CAAA,CAAA;AAAA,QAC3CC,0BAA0B,CAAA,aAAA,EAAgBF,WAAAA,CAAYG,IAAAA,CAAKC,IAAAA,CAAK,GAAG,CAAC,CAAA,CAAA;AAAA,OACrE,CACH,CAAA;AAEA,MAAA,MAAMC,oBAAAA,GAAuBX,YAAYH,OAAAA,EAAS;AAAA,QAChDe,YAAAA,EAAc,GAAGC,aAAa,CAAA,EAAA,CAAA;AAAA,QAC9BC,QAAAA,EAAU,QAAA;AAAA,QACV,GAAIX,UAAAA,CAAW5B,SAAS,CAAA,GACpB;AAAA,UACEwC,SAAAA,EAAW,CAAA,MAAA,EAASzB,QAAAA,EAAU,CAAA,0DAAA;AAAA,SAChC,GACA;AAAA,UACEyB,SAAAA,EAAW,CAAA,MAAA,EAASzB,QAAAA,EAAU,CAAA,0DAAA;AAAA;AAChC,OACL,CAAA;AAED,MAAA,OAAO,MAAM;AACXqB,QAAAA,oBAAAA,EAAqB;AACrB9B,QAAAA,YAAAA,CAAac,OAAAA,GAAUJ,MAAAA,CAAOyB,UAAAA,CAAW,MAAM;AAC7C,UAAA,IAAIhC,sBAAAA,EAAwB;AAC1BE,YAAAA,QAAAA,CAASC,IAAAA,CAAKC,MAAMa,UAAAA,GAAajB,sBAAAA;AAAAA,WACnC,MAAO;AACLE,YAAAA,QAAAA,CAASC,IAAAA,CAAKC,KAAAA,CAAM6B,cAAAA,CAAe,YAAY,CAAA;AAAA;AACjD,SACF,EAAGX,WAAAA,CAAYC,QAAAA,GAAW,GAAI,CAAA;AAAA,OAChC;AAAA;AACF,GAEF,EAAG,CAAC/B,MAAAA,EAAQC,qBAAAA,EAAuBO,sBAAsB,CAAC,CAAA;AAC5D;;;;"}
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
import { default as React } from 'react';
|
|
2
|
-
import { DrawerDirection } from './types';
|
|
3
|
-
export declare function useSnapPoints({ activeSnapPointProp, setActiveSnapPointProp, snapPoints, drawerRef, overlayRef, fadeFromIndex, onSnapPointChange, direction, container, snapToSequentialPoint, }: {
|
|
4
|
-
activeSnapPointProp?: number | string | null;
|
|
5
|
-
setActiveSnapPointProp?(snapPoint: number | null | string): void;
|
|
6
|
-
snapPoints?: (number | string)[];
|
|
7
|
-
fadeFromIndex?: number;
|
|
8
|
-
drawerRef: React.RefObject<HTMLDivElement>;
|
|
9
|
-
overlayRef: React.RefObject<HTMLDivElement>;
|
|
10
|
-
onSnapPointChange(activeSnapPointIndex: number): void;
|
|
11
|
-
direction?: DrawerDirection;
|
|
12
|
-
container?: HTMLElement | null | undefined;
|
|
13
|
-
snapToSequentialPoint?: boolean;
|
|
14
|
-
}): {
|
|
15
|
-
isLastSnapPoint: true | null;
|
|
16
|
-
activeSnapPoint: string | number | null | undefined;
|
|
17
|
-
shouldFade: boolean;
|
|
18
|
-
getPercentageDragged: (absDraggedDistance: number, isDraggingDown: boolean) => number | null;
|
|
19
|
-
setActiveSnapPoint: React.Dispatch<React.SetStateAction<string | number | null | undefined>>;
|
|
20
|
-
activeSnapPointIndex: number | null;
|
|
21
|
-
onRelease: ({ draggedDistance, closeDrawer, velocity, dismissible, }: {
|
|
22
|
-
draggedDistance: number;
|
|
23
|
-
closeDrawer: () => void;
|
|
24
|
-
velocity: number;
|
|
25
|
-
dismissible: boolean;
|
|
26
|
-
}) => void;
|
|
27
|
-
onDrag: ({ draggedDistance }: {
|
|
28
|
-
draggedDistance: number;
|
|
29
|
-
}) => void;
|
|
30
|
-
snapPointsOffset: number[];
|
|
31
|
-
};
|
|
32
|
-
//# sourceMappingURL=use-snap-points.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-snap-points.d.ts","sourceRoot":"","sources":["../../../../src/components/ui/vaul/use-snap-points.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAI1B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,wBAAgB,aAAa,CAAC,EAC5B,mBAAmB,EACnB,sBAAsB,EACtB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,iBAAiB,EACjB,SAAoB,EACpB,SAAS,EACT,qBAAqB,GACtB,EAAE;IACD,mBAAmB,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IAC7C,sBAAsB,CAAC,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,MAAM,GAAG,IAAI,CAAC;IACjE,UAAU,CAAC,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC3C,UAAU,EAAE,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;IAC5C,iBAAiB,CAAC,oBAAoB,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,SAAS,CAAC,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,CAAC;IAC3C,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;;;;+CAqSuB,MAAM,kBACV,OAAO;;;0EA9GtB;QACD,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,IAAI,CAAC;QACxB,QAAQ,EAAE,MAAM,CAAC;QACjB,WAAW,EAAE,OAAO,CAAC;KACtB;kCAuEoC;QAAE,eAAe,EAAE,MAAM,CAAA;KAAE;;EA4FjE"}
|
|
@@ -1,212 +0,0 @@
|
|
|
1
|
-
import React__default from 'react';
|
|
2
|
-
import { isVertical, set } from './helpers.js';
|
|
3
|
-
import { TRANSITIONS, VELOCITY_THRESHOLD } from './constants.js';
|
|
4
|
-
import { useControllableState } from './use-controllable-state.js';
|
|
5
|
-
|
|
6
|
-
function useSnapPoints({
|
|
7
|
-
activeSnapPointProp,
|
|
8
|
-
setActiveSnapPointProp,
|
|
9
|
-
snapPoints,
|
|
10
|
-
drawerRef,
|
|
11
|
-
overlayRef,
|
|
12
|
-
fadeFromIndex,
|
|
13
|
-
onSnapPointChange,
|
|
14
|
-
direction = "bottom",
|
|
15
|
-
container,
|
|
16
|
-
snapToSequentialPoint
|
|
17
|
-
}) {
|
|
18
|
-
const [activeSnapPoint, setActiveSnapPoint] = useControllableState({
|
|
19
|
-
prop: activeSnapPointProp,
|
|
20
|
-
defaultProp: snapPoints?.[0],
|
|
21
|
-
onChange: setActiveSnapPointProp
|
|
22
|
-
});
|
|
23
|
-
const [windowDimensions, setWindowDimensions] = React__default.useState(typeof window !== "undefined" ? {
|
|
24
|
-
innerWidth: window.innerWidth,
|
|
25
|
-
innerHeight: window.innerHeight
|
|
26
|
-
} : void 0);
|
|
27
|
-
React__default.useEffect(() => {
|
|
28
|
-
function onResize() {
|
|
29
|
-
setWindowDimensions({
|
|
30
|
-
innerWidth: window.innerWidth,
|
|
31
|
-
innerHeight: window.innerHeight
|
|
32
|
-
});
|
|
33
|
-
}
|
|
34
|
-
window.addEventListener("resize", onResize);
|
|
35
|
-
return () => window.removeEventListener("resize", onResize);
|
|
36
|
-
}, []);
|
|
37
|
-
const isLastSnapPoint = React__default.useMemo(() => activeSnapPoint === snapPoints?.[snapPoints.length - 1] || null, [snapPoints, activeSnapPoint]);
|
|
38
|
-
const activeSnapPointIndex = React__default.useMemo(() => snapPoints?.findIndex((snapPoint) => snapPoint === activeSnapPoint) ?? null, [snapPoints, activeSnapPoint]);
|
|
39
|
-
const shouldFade = snapPoints && snapPoints.length > 0 && (fadeFromIndex || fadeFromIndex === 0) && !Number.isNaN(fadeFromIndex) && snapPoints[fadeFromIndex] === activeSnapPoint || !snapPoints;
|
|
40
|
-
const snapPointsOffset = React__default.useMemo(() => {
|
|
41
|
-
const containerSize = container ? {
|
|
42
|
-
width: container.getBoundingClientRect().width,
|
|
43
|
-
height: container.getBoundingClientRect().height
|
|
44
|
-
} : typeof window !== "undefined" ? {
|
|
45
|
-
width: window.innerWidth,
|
|
46
|
-
height: window.innerHeight
|
|
47
|
-
} : {
|
|
48
|
-
width: 0,
|
|
49
|
-
height: 0
|
|
50
|
-
};
|
|
51
|
-
return snapPoints?.map((snapPoint) => {
|
|
52
|
-
const isPx = typeof snapPoint === "string";
|
|
53
|
-
let snapPointAsNumber = 0;
|
|
54
|
-
if (isPx) {
|
|
55
|
-
snapPointAsNumber = parseInt(snapPoint, 10);
|
|
56
|
-
}
|
|
57
|
-
if (isVertical(direction)) {
|
|
58
|
-
const height = isPx ? snapPointAsNumber : windowDimensions ? snapPoint * containerSize.height : 0;
|
|
59
|
-
if (windowDimensions) {
|
|
60
|
-
return direction === "bottom" ? containerSize.height - height : -containerSize.height + height;
|
|
61
|
-
}
|
|
62
|
-
return height;
|
|
63
|
-
}
|
|
64
|
-
const width = isPx ? snapPointAsNumber : windowDimensions ? snapPoint * containerSize.width : 0;
|
|
65
|
-
if (windowDimensions) {
|
|
66
|
-
return direction === "right" ? containerSize.width - width : -containerSize.width + width;
|
|
67
|
-
}
|
|
68
|
-
return width;
|
|
69
|
-
}) ?? [];
|
|
70
|
-
}, [snapPoints, windowDimensions, container]);
|
|
71
|
-
const activeSnapPointOffset = React__default.useMemo(() => activeSnapPointIndex !== null ? snapPointsOffset?.[activeSnapPointIndex] : null, [snapPointsOffset, activeSnapPointIndex]);
|
|
72
|
-
const snapToPoint = React__default.useCallback(
|
|
73
|
-
(dimension) => {
|
|
74
|
-
const newSnapPointIndex = snapPointsOffset?.findIndex((snapPointDim) => snapPointDim === dimension) ?? null;
|
|
75
|
-
onSnapPointChange(newSnapPointIndex);
|
|
76
|
-
set(drawerRef.current, {
|
|
77
|
-
transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`,
|
|
78
|
-
transform: isVertical(direction) ? `translate3d(0, ${dimension}px, 0)` : `translate3d(${dimension}px, 0, 0)`
|
|
79
|
-
});
|
|
80
|
-
if (snapPointsOffset && newSnapPointIndex !== snapPointsOffset.length - 1 && fadeFromIndex !== void 0 && newSnapPointIndex !== fadeFromIndex && newSnapPointIndex < fadeFromIndex) {
|
|
81
|
-
set(overlayRef.current, {
|
|
82
|
-
transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`,
|
|
83
|
-
opacity: "0"
|
|
84
|
-
});
|
|
85
|
-
} else {
|
|
86
|
-
set(overlayRef.current, {
|
|
87
|
-
transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`,
|
|
88
|
-
opacity: "1"
|
|
89
|
-
});
|
|
90
|
-
}
|
|
91
|
-
setActiveSnapPoint(snapPoints?.[Math.max(newSnapPointIndex, 0)]);
|
|
92
|
-
},
|
|
93
|
-
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
94
|
-
[drawerRef.current, snapPoints, snapPointsOffset, fadeFromIndex, overlayRef, setActiveSnapPoint]
|
|
95
|
-
);
|
|
96
|
-
React__default.useEffect(() => {
|
|
97
|
-
if (activeSnapPoint || activeSnapPointProp) {
|
|
98
|
-
const newIndex = snapPoints?.findIndex((snapPoint) => snapPoint === activeSnapPointProp || snapPoint === activeSnapPoint) ?? -1;
|
|
99
|
-
if (snapPointsOffset && newIndex !== -1 && typeof snapPointsOffset[newIndex] === "number") {
|
|
100
|
-
snapToPoint(snapPointsOffset[newIndex]);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}, [activeSnapPoint, activeSnapPointProp, snapPoints, snapPointsOffset, snapToPoint]);
|
|
104
|
-
function onRelease({
|
|
105
|
-
draggedDistance,
|
|
106
|
-
closeDrawer,
|
|
107
|
-
velocity,
|
|
108
|
-
dismissible
|
|
109
|
-
}) {
|
|
110
|
-
if (fadeFromIndex === void 0) return;
|
|
111
|
-
const currentPosition = direction === "bottom" || direction === "right" ? (activeSnapPointOffset ?? 0) - draggedDistance : (activeSnapPointOffset ?? 0) + draggedDistance;
|
|
112
|
-
const isOverlaySnapPoint = activeSnapPointIndex === fadeFromIndex - 1;
|
|
113
|
-
const isFirst = activeSnapPointIndex === 0;
|
|
114
|
-
const hasDraggedUp = draggedDistance > 0;
|
|
115
|
-
if (isOverlaySnapPoint) {
|
|
116
|
-
set(overlayRef.current, {
|
|
117
|
-
transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(",")})`
|
|
118
|
-
});
|
|
119
|
-
}
|
|
120
|
-
if (!snapToSequentialPoint && velocity > 2 && !hasDraggedUp) {
|
|
121
|
-
if (dismissible) closeDrawer();
|
|
122
|
-
else snapToPoint(snapPointsOffset[0]);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
if (!snapToSequentialPoint && velocity > 2 && hasDraggedUp && snapPointsOffset && snapPoints) {
|
|
126
|
-
snapToPoint(snapPointsOffset[snapPoints.length - 1]);
|
|
127
|
-
return;
|
|
128
|
-
}
|
|
129
|
-
const closestSnapPoint = snapPointsOffset?.reduce((prev, curr) => {
|
|
130
|
-
if (typeof prev !== "number" || typeof curr !== "number") return prev;
|
|
131
|
-
return Math.abs(curr - currentPosition) < Math.abs(prev - currentPosition) ? curr : prev;
|
|
132
|
-
});
|
|
133
|
-
const dim = isVertical(direction) ? window.innerHeight : window.innerWidth;
|
|
134
|
-
if (velocity > VELOCITY_THRESHOLD && Math.abs(draggedDistance) < dim * 0.4) {
|
|
135
|
-
const dragDirection = hasDraggedUp ? 1 : -1;
|
|
136
|
-
if (dragDirection > 0 && isLastSnapPoint && snapPoints) {
|
|
137
|
-
snapToPoint(snapPointsOffset[snapPoints.length - 1]);
|
|
138
|
-
return;
|
|
139
|
-
}
|
|
140
|
-
if (isFirst && dragDirection < 0 && dismissible) {
|
|
141
|
-
closeDrawer();
|
|
142
|
-
}
|
|
143
|
-
if (activeSnapPointIndex === null) return;
|
|
144
|
-
snapToPoint(snapPointsOffset[activeSnapPointIndex + dragDirection]);
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
snapToPoint(closestSnapPoint);
|
|
148
|
-
}
|
|
149
|
-
function onDrag({
|
|
150
|
-
draggedDistance
|
|
151
|
-
}) {
|
|
152
|
-
if (activeSnapPointOffset === null) return;
|
|
153
|
-
const newValue = direction === "bottom" || direction === "right" ? (
|
|
154
|
-
// @ts-expect-error
|
|
155
|
-
activeSnapPointOffset - draggedDistance
|
|
156
|
-
) : (
|
|
157
|
-
// @ts-expect-error
|
|
158
|
-
activeSnapPointOffset + draggedDistance
|
|
159
|
-
);
|
|
160
|
-
if ((direction === "bottom" || direction === "right") && // @ts-expect-error
|
|
161
|
-
newValue < snapPointsOffset[snapPointsOffset.length - 1]) {
|
|
162
|
-
return;
|
|
163
|
-
}
|
|
164
|
-
if ((direction === "top" || direction === "left") && // @ts-expect-error
|
|
165
|
-
newValue > snapPointsOffset[snapPointsOffset.length - 1]) {
|
|
166
|
-
return;
|
|
167
|
-
}
|
|
168
|
-
set(drawerRef.current, {
|
|
169
|
-
transform: isVertical(direction) ? `translate3d(0, ${newValue}px, 0)` : `translate3d(${newValue}px, 0, 0)`
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
function getPercentageDragged(absDraggedDistance, isDraggingDown) {
|
|
173
|
-
if (!snapPoints || typeof activeSnapPointIndex !== "number" || !snapPointsOffset || fadeFromIndex === void 0) return null;
|
|
174
|
-
const isOverlaySnapPoint = activeSnapPointIndex === fadeFromIndex - 1;
|
|
175
|
-
const isOverlaySnapPointOrHigher = activeSnapPointIndex >= fadeFromIndex;
|
|
176
|
-
if (isOverlaySnapPointOrHigher && isDraggingDown) {
|
|
177
|
-
return 0;
|
|
178
|
-
}
|
|
179
|
-
if (isOverlaySnapPoint && !isDraggingDown) return 1;
|
|
180
|
-
if (!shouldFade && !isOverlaySnapPoint) return null;
|
|
181
|
-
const targetSnapPointIndex = isOverlaySnapPoint ? activeSnapPointIndex + 1 : activeSnapPointIndex - 1;
|
|
182
|
-
const snapPointDistance = isOverlaySnapPoint ? (
|
|
183
|
-
// @ts-expect-error
|
|
184
|
-
snapPointsOffset[targetSnapPointIndex] - // @ts-expect-error
|
|
185
|
-
snapPointsOffset[targetSnapPointIndex - 1]
|
|
186
|
-
) : (
|
|
187
|
-
// @ts-expect-error
|
|
188
|
-
snapPointsOffset[targetSnapPointIndex + 1] - // @ts-expect-error
|
|
189
|
-
snapPointsOffset[targetSnapPointIndex]
|
|
190
|
-
);
|
|
191
|
-
const percentageDragged = absDraggedDistance / Math.abs(snapPointDistance);
|
|
192
|
-
if (isOverlaySnapPoint) {
|
|
193
|
-
return 1 - percentageDragged;
|
|
194
|
-
} else {
|
|
195
|
-
return percentageDragged;
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
return {
|
|
199
|
-
isLastSnapPoint,
|
|
200
|
-
activeSnapPoint,
|
|
201
|
-
shouldFade,
|
|
202
|
-
getPercentageDragged,
|
|
203
|
-
setActiveSnapPoint,
|
|
204
|
-
activeSnapPointIndex,
|
|
205
|
-
onRelease,
|
|
206
|
-
onDrag,
|
|
207
|
-
snapPointsOffset
|
|
208
|
-
};
|
|
209
|
-
}
|
|
210
|
-
|
|
211
|
-
export { useSnapPoints };
|
|
212
|
-
//# sourceMappingURL=use-snap-points.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"use-snap-points.js","sources":["../../../../src/components/ui/vaul/use-snap-points.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/ban-ts-comment */\nimport React from \"react\";\nimport { set, isVertical } from \"./helpers\";\nimport { TRANSITIONS, VELOCITY_THRESHOLD } from \"./constants\";\nimport { useControllableState } from \"./use-controllable-state\";\nimport type { DrawerDirection } from \"./types\";\n\nexport function useSnapPoints({\n activeSnapPointProp,\n setActiveSnapPointProp,\n snapPoints,\n drawerRef,\n overlayRef,\n fadeFromIndex,\n onSnapPointChange,\n direction = \"bottom\",\n container,\n snapToSequentialPoint,\n}: {\n activeSnapPointProp?: number | string | null;\n setActiveSnapPointProp?(snapPoint: number | null | string): void;\n snapPoints?: (number | string)[];\n fadeFromIndex?: number;\n drawerRef: React.RefObject<HTMLDivElement>;\n overlayRef: React.RefObject<HTMLDivElement>;\n onSnapPointChange(activeSnapPointIndex: number): void;\n direction?: DrawerDirection;\n container?: HTMLElement | null | undefined;\n snapToSequentialPoint?: boolean;\n}) {\n const [activeSnapPoint, setActiveSnapPoint] = useControllableState<\n string | number | null\n >({\n prop: activeSnapPointProp,\n defaultProp: snapPoints?.[0],\n onChange: setActiveSnapPointProp,\n });\n\n const [windowDimensions, setWindowDimensions] = React.useState(\n typeof window !== \"undefined\"\n ? {\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight,\n }\n : undefined\n );\n\n React.useEffect(() => {\n function onResize() {\n setWindowDimensions({\n innerWidth: window.innerWidth,\n innerHeight: window.innerHeight,\n });\n }\n window.addEventListener(\"resize\", onResize);\n\n return () => window.removeEventListener(\"resize\", onResize);\n }, []);\n\n const isLastSnapPoint = React.useMemo(\n () => activeSnapPoint === snapPoints?.[snapPoints.length - 1] || null,\n [snapPoints, activeSnapPoint]\n );\n\n const activeSnapPointIndex = React.useMemo(\n () =>\n snapPoints?.findIndex((snapPoint) => snapPoint === activeSnapPoint) ??\n null,\n [snapPoints, activeSnapPoint]\n );\n\n const shouldFade =\n (snapPoints &&\n snapPoints.length > 0 &&\n (fadeFromIndex || fadeFromIndex === 0) &&\n !Number.isNaN(fadeFromIndex) &&\n snapPoints[fadeFromIndex] === activeSnapPoint) ||\n !snapPoints;\n\n const snapPointsOffset = React.useMemo(() => {\n const containerSize = container\n ? {\n width: container.getBoundingClientRect().width,\n height: container.getBoundingClientRect().height,\n }\n : typeof window !== \"undefined\"\n ? { width: window.innerWidth, height: window.innerHeight }\n : { width: 0, height: 0 };\n\n return (\n snapPoints?.map((snapPoint) => {\n const isPx = typeof snapPoint === \"string\";\n let snapPointAsNumber = 0;\n\n if (isPx) {\n snapPointAsNumber = parseInt(snapPoint, 10);\n }\n\n if (isVertical(direction)) {\n const height = isPx\n ? snapPointAsNumber\n : windowDimensions\n ? snapPoint * containerSize.height\n : 0;\n\n if (windowDimensions) {\n return direction === \"bottom\"\n ? containerSize.height - height\n : -containerSize.height + height;\n }\n\n return height;\n }\n const width = isPx\n ? snapPointAsNumber\n : windowDimensions\n ? snapPoint * containerSize.width\n : 0;\n\n if (windowDimensions) {\n return direction === \"right\"\n ? containerSize.width - width\n : -containerSize.width + width;\n }\n\n return width;\n }) ?? []\n );\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [snapPoints, windowDimensions, container]);\n\n const activeSnapPointOffset = React.useMemo(\n () =>\n activeSnapPointIndex !== null\n ? snapPointsOffset?.[activeSnapPointIndex]\n : null,\n [snapPointsOffset, activeSnapPointIndex]\n );\n\n const snapToPoint = React.useCallback(\n (dimension: number) => {\n const newSnapPointIndex =\n snapPointsOffset?.findIndex(\n (snapPointDim) => snapPointDim === dimension\n ) ?? null;\n onSnapPointChange(newSnapPointIndex);\n\n set(drawerRef.current, {\n transition: `transform ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(\",\")})`,\n transform: isVertical(direction)\n ? `translate3d(0, ${dimension}px, 0)`\n : `translate3d(${dimension}px, 0, 0)`,\n });\n\n if (\n snapPointsOffset &&\n newSnapPointIndex !== snapPointsOffset.length - 1 &&\n fadeFromIndex !== undefined &&\n newSnapPointIndex !== fadeFromIndex &&\n newSnapPointIndex < fadeFromIndex\n ) {\n set(overlayRef.current, {\n transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(\",\")})`,\n opacity: \"0\",\n });\n } else {\n set(overlayRef.current, {\n transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(\",\")})`,\n opacity: \"1\",\n });\n }\n\n setActiveSnapPoint(snapPoints?.[Math.max(newSnapPointIndex, 0)]);\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [\n drawerRef.current,\n snapPoints,\n snapPointsOffset,\n fadeFromIndex,\n overlayRef,\n setActiveSnapPoint,\n ]\n );\n\n React.useEffect(() => {\n if (activeSnapPoint || activeSnapPointProp) {\n const newIndex =\n snapPoints?.findIndex(\n (snapPoint) =>\n snapPoint === activeSnapPointProp || snapPoint === activeSnapPoint\n ) ?? -1;\n if (\n snapPointsOffset &&\n newIndex !== -1 &&\n typeof snapPointsOffset[newIndex] === \"number\"\n ) {\n snapToPoint(snapPointsOffset[newIndex] as number);\n }\n }\n }, [\n activeSnapPoint,\n activeSnapPointProp,\n snapPoints,\n snapPointsOffset,\n snapToPoint,\n ]);\n\n function onRelease({\n draggedDistance,\n closeDrawer,\n velocity,\n dismissible,\n }: {\n draggedDistance: number;\n closeDrawer: () => void;\n velocity: number;\n dismissible: boolean;\n }) {\n if (fadeFromIndex === undefined) return;\n\n const currentPosition =\n direction === \"bottom\" || direction === \"right\"\n ? (activeSnapPointOffset ?? 0) - draggedDistance\n : (activeSnapPointOffset ?? 0) + draggedDistance;\n const isOverlaySnapPoint = activeSnapPointIndex === fadeFromIndex - 1;\n const isFirst = activeSnapPointIndex === 0;\n const hasDraggedUp = draggedDistance > 0;\n\n if (isOverlaySnapPoint) {\n set(overlayRef.current, {\n transition: `opacity ${TRANSITIONS.DURATION}s cubic-bezier(${TRANSITIONS.EASE.join(\",\")})`,\n });\n }\n\n if (!snapToSequentialPoint && velocity > 2 && !hasDraggedUp) {\n if (dismissible) closeDrawer();\n // @ts-expect-error\n else snapToPoint(snapPointsOffset[0]); // snap to initial point\n return;\n }\n\n if (\n !snapToSequentialPoint &&\n velocity > 2 &&\n hasDraggedUp &&\n snapPointsOffset &&\n snapPoints\n ) {\n snapToPoint(snapPointsOffset[snapPoints.length - 1] as number);\n return;\n }\n\n // Find the closest snap point to the current position\n const closestSnapPoint = snapPointsOffset?.reduce((prev, curr) => {\n if (typeof prev !== \"number\" || typeof curr !== \"number\") return prev;\n\n return Math.abs(curr - currentPosition) < Math.abs(prev - currentPosition)\n ? curr\n : prev;\n });\n\n const dim = isVertical(direction) ? window.innerHeight : window.innerWidth;\n if (\n velocity > VELOCITY_THRESHOLD &&\n Math.abs(draggedDistance) < dim * 0.4\n ) {\n const dragDirection = hasDraggedUp ? 1 : -1; // 1 = up, -1 = down\n\n // Don't do anything if we swipe upwards while being on the last snap point\n if (dragDirection > 0 && isLastSnapPoint && snapPoints) {\n // @ts-expect-error\n snapToPoint(snapPointsOffset[snapPoints.length - 1]);\n return;\n }\n\n if (isFirst && dragDirection < 0 && dismissible) {\n closeDrawer();\n }\n\n if (activeSnapPointIndex === null) return;\n // @ts-expect-error\n snapToPoint(snapPointsOffset[activeSnapPointIndex + dragDirection]);\n return;\n }\n\n snapToPoint(closestSnapPoint);\n }\n\n function onDrag({ draggedDistance }: { draggedDistance: number }) {\n if (activeSnapPointOffset === null) return;\n const newValue =\n direction === \"bottom\" || direction === \"right\"\n ? // @ts-expect-error\n activeSnapPointOffset - draggedDistance\n : // @ts-expect-error\n activeSnapPointOffset + draggedDistance;\n\n // Don't do anything if we exceed the last(biggest) snap point\n if (\n (direction === \"bottom\" || direction === \"right\") &&\n // @ts-expect-error\n newValue < snapPointsOffset[snapPointsOffset.length - 1]\n ) {\n return;\n }\n if (\n (direction === \"top\" || direction === \"left\") &&\n // @ts-expect-error\n newValue > snapPointsOffset[snapPointsOffset.length - 1]\n ) {\n return;\n }\n\n set(drawerRef.current, {\n transform: isVertical(direction)\n ? `translate3d(0, ${newValue}px, 0)`\n : `translate3d(${newValue}px, 0, 0)`,\n });\n }\n\n function getPercentageDragged(\n absDraggedDistance: number,\n isDraggingDown: boolean\n ) {\n if (\n !snapPoints ||\n typeof activeSnapPointIndex !== \"number\" ||\n !snapPointsOffset ||\n fadeFromIndex === undefined\n )\n return null;\n\n // If this is true we are dragging to a snap point that is supposed to have an overlay\n const isOverlaySnapPoint = activeSnapPointIndex === fadeFromIndex - 1;\n const isOverlaySnapPointOrHigher = activeSnapPointIndex >= fadeFromIndex;\n\n if (isOverlaySnapPointOrHigher && isDraggingDown) {\n return 0;\n }\n\n // Don't animate, but still use this one if we are dragging away from the overlaySnapPoint\n if (isOverlaySnapPoint && !isDraggingDown) return 1;\n if (!shouldFade && !isOverlaySnapPoint) return null;\n\n // Either fadeFrom index or the one before\n const targetSnapPointIndex = isOverlaySnapPoint\n ? activeSnapPointIndex + 1\n : activeSnapPointIndex - 1;\n\n // Get the distance from overlaySnapPoint to the one before or vice-versa to calculate the opacity percentage accordingly\n const snapPointDistance = isOverlaySnapPoint\n ? // @ts-expect-error\n snapPointsOffset[targetSnapPointIndex] -\n // @ts-expect-error\n snapPointsOffset[targetSnapPointIndex - 1]\n : // @ts-expect-error\n snapPointsOffset[targetSnapPointIndex + 1] -\n // @ts-expect-error\n snapPointsOffset[targetSnapPointIndex];\n\n const percentageDragged = absDraggedDistance / Math.abs(snapPointDistance);\n\n if (isOverlaySnapPoint) {\n return 1 - percentageDragged;\n } else {\n return percentageDragged;\n }\n }\n\n return {\n isLastSnapPoint,\n activeSnapPoint,\n shouldFade,\n getPercentageDragged,\n setActiveSnapPoint,\n activeSnapPointIndex,\n onRelease,\n onDrag,\n snapPointsOffset,\n };\n}\n"],"names":["useSnapPoints","activeSnapPointProp","setActiveSnapPointProp","snapPoints","drawerRef","overlayRef","fadeFromIndex","onSnapPointChange","direction","container","snapToSequentialPoint","activeSnapPoint","setActiveSnapPoint","useControllableState","prop","defaultProp","onChange","windowDimensions","setWindowDimensions","React","useState","window","innerWidth","innerHeight","undefined","useEffect","onResize","addEventListener","removeEventListener","isLastSnapPoint","useMemo","length","activeSnapPointIndex","findIndex","snapPoint","shouldFade","Number","isNaN","snapPointsOffset","containerSize","width","getBoundingClientRect","height","map","isPx","snapPointAsNumber","parseInt","isVertical","activeSnapPointOffset","snapToPoint","useCallback","dimension","newSnapPointIndex","snapPointDim","set","current","transition","TRANSITIONS","DURATION","EASE","join","transform","opacity","Math","max","newIndex","onRelease","draggedDistance","closeDrawer","velocity","dismissible","currentPosition","isOverlaySnapPoint","isFirst","hasDraggedUp","closestSnapPoint","reduce","prev","curr","abs","dim","VELOCITY_THRESHOLD","dragDirection","onDrag","newValue","getPercentageDragged","absDraggedDistance","isDraggingDown","isOverlaySnapPointOrHigher","targetSnapPointIndex","snapPointDistance","percentageDragged"],"mappings":"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"}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { cn } from '../../../lib/utils/index.js';
|
|
3
|
-
import { Share2 } from 'lucide-react';
|
|
4
|
-
|
|
5
|
-
const Informative = ({
|
|
6
|
-
title,
|
|
7
|
-
description,
|
|
8
|
-
icon = /* @__PURE__ */ jsx(Share2, { className: "text-primary-azul-1", size: 24 }),
|
|
9
|
-
classes
|
|
10
|
-
}) => {
|
|
11
|
-
return /* @__PURE__ */ jsxs("div", { className: cn("relative bg-contrast-8 dark:bg-transparent border-1 rounded-md border-primary-azul-1 flex flex-col gap-3", classes?.root), children: [
|
|
12
|
-
title && /* @__PURE__ */ jsx("div", { className: "absolute left-[-1px] top-[-1px] bg-primary-azul-1 border-1 rounded-md border-primary-azul-1 text-nowrap text-xs font-semibold text-contrast-7 py-1 px-3 z-10", children: title }),
|
|
13
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3 pr-[16px] pb-[12px] pl-[12px] pt-[12px]", children: [
|
|
14
|
-
/* @__PURE__ */ jsx("div", { className: cn("text-xs text-contrast-3 dark:text-contrast-8", {
|
|
15
|
-
"pt-6": title
|
|
16
|
-
}), children: description }),
|
|
17
|
-
/* @__PURE__ */ jsx("div", { children: icon })
|
|
18
|
-
] })
|
|
19
|
-
] });
|
|
20
|
-
};
|
|
21
|
-
|
|
22
|
-
export { Informative };
|
|
23
|
-
//# sourceMappingURL=Informative.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Informative.js","sources":["../../../../src/components/widget/Informative/Informative.tsx"],"sourcesContent":["import { cn } from \"@/lib/utils\";\nimport type { WithClasses } from \"@/types/withClasses\";\nimport { Share2 } from \"lucide-react\";\n\nexport const Informative = ({\n title,\n description,\n icon = <Share2 className=\"text-primary-azul-1\" size={24} />,\n classes,\n}: {\n title?: string;\n description?: string;\n icon?: React.ReactNode;\n} & WithClasses<\"root\">) => {\n return (\n <div\n className={cn(\n \"relative bg-contrast-8 dark:bg-transparent border-1 rounded-md border-primary-azul-1 flex flex-col gap-3\",\n classes?.root\n )}\n >\n {title && (\n <div className=\"absolute left-[-1px] top-[-1px] bg-primary-azul-1 border-1 rounded-md border-primary-azul-1 text-nowrap text-xs font-semibold text-contrast-7 py-1 px-3 z-10\">\n {title}\n </div>\n )}\n <div className=\"flex items-center gap-3 pr-[16px] pb-[12px] pl-[12px] pt-[12px]\">\n <div\n className={cn(\"text-xs text-contrast-3 dark:text-contrast-8\", {\n \"pt-6\": title,\n })}\n >\n {description}\n </div>\n <div>{icon}</div>\n </div>\n </div>\n );\n};\n"],"names":["Informative","title","description","icon","classes","cn","root"],"mappings":";;;;AAIO,MAAMA,cAAcA,CAAC;AAAA,EAC1BC,KAAAA;AAAAA,EACAC,WAAAA;AAAAA,EACAC,uBAAO,GAAA,CAAC,MAAA,EAAA,EAAO,SAAA,EAAU,qBAAA,EAAsB,MAAM,EAAA,EAAG,CAAA;AAAA,EACxDC;AAKoB,CAAA,KAAM;AAC1B,EAAA,4BACG,KAAA,EAAA,EACC,SAAA,EAAWC,GACT,0GAAA,EACAD,OAAAA,EAASE,IACX,CAAA,EAECL,QAAAA,EAAAA;AAAAA,IAAAA,KAAAA,oBACC,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,8JAAA,EACZA,QAAAA,EAAAA,KAAAA,EACH,CAAA;AAAA,oBAEF,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,iEAAA,EACb,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,KAAA,EAAA,EACC,SAAA,EAAWI,EAAAA,CAAG,8CAAA,EAAgD;AAAA,QAC5D,MAAA,EAAQJ;AAAAA,OACT,GAEAC,QAAAA,EAAAA,WAAAA,EACH,CAAA;AAAA,sBACA,GAAA,CAAC,SAAKC,QAAAA,EAAAA,IAAAA,EAAK;AAAA,KAAA,EACb;AAAA,GAAA,EACF,CAAA;AAEJ;;;;"}
|