@blueshift-gg/ui-components 0.1.0
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 +105 -0
- package/dist/Avatar.d.mts +17 -0
- package/dist/Avatar.d.ts +17 -0
- package/dist/Avatar.js +66 -0
- package/dist/Avatar.js.map +1 -0
- package/dist/Avatar.mjs +60 -0
- package/dist/Avatar.mjs.map +1 -0
- package/dist/Badge.d.mts +19 -0
- package/dist/Badge.d.ts +19 -0
- package/dist/Badge.js +78 -0
- package/dist/Badge.js.map +1 -0
- package/dist/Badge.mjs +72 -0
- package/dist/Badge.mjs.map +1 -0
- package/dist/Button.d.mts +31 -0
- package/dist/Button.d.ts +31 -0
- package/dist/Button.js +132 -0
- package/dist/Button.js.map +1 -0
- package/dist/Button.mjs +125 -0
- package/dist/Button.mjs.map +1 -0
- package/dist/Checkbox.d.mts +12 -0
- package/dist/Checkbox.d.ts +12 -0
- package/dist/Checkbox.js +63 -0
- package/dist/Checkbox.js.map +1 -0
- package/dist/Checkbox.mjs +57 -0
- package/dist/Checkbox.mjs.map +1 -0
- package/dist/Codeblock.d.mts +11 -0
- package/dist/Codeblock.d.ts +11 -0
- package/dist/Codeblock.js +87 -0
- package/dist/Codeblock.js.map +1 -0
- package/dist/Codeblock.mjs +81 -0
- package/dist/Codeblock.mjs.map +1 -0
- package/dist/CrossHair.d.mts +19 -0
- package/dist/CrossHair.d.ts +19 -0
- package/dist/CrossHair.js +269 -0
- package/dist/CrossHair.js.map +1 -0
- package/dist/CrossHair.mjs +263 -0
- package/dist/CrossHair.mjs.map +1 -0
- package/dist/DecryptText.d.mts +13 -0
- package/dist/DecryptText.d.ts +13 -0
- package/dist/DecryptText.js +123 -0
- package/dist/DecryptText.js.map +1 -0
- package/dist/DecryptText.mjs +117 -0
- package/dist/DecryptText.mjs.map +1 -0
- package/dist/Divider.d.mts +9 -0
- package/dist/Divider.d.ts +9 -0
- package/dist/Divider.js +51 -0
- package/dist/Divider.js.map +1 -0
- package/dist/Divider.mjs +45 -0
- package/dist/Divider.mjs.map +1 -0
- package/dist/Dropdown.d.mts +73 -0
- package/dist/Dropdown.d.ts +73 -0
- package/dist/Dropdown.js +396 -0
- package/dist/Dropdown.js.map +1 -0
- package/dist/Dropdown.mjs +387 -0
- package/dist/Dropdown.mjs.map +1 -0
- package/dist/GridLines.d.mts +11 -0
- package/dist/GridLines.d.ts +11 -0
- package/dist/GridLines.js +91 -0
- package/dist/GridLines.js.map +1 -0
- package/dist/GridLines.mjs +85 -0
- package/dist/GridLines.mjs.map +1 -0
- package/dist/Icon.d.mts +3 -0
- package/dist/Icon.d.ts +3 -0
- package/dist/Icon.js +33 -0
- package/dist/Icon.js.map +1 -0
- package/dist/Icon.mjs +24 -0
- package/dist/Icon.mjs.map +1 -0
- package/dist/Input.d.mts +38 -0
- package/dist/Input.d.ts +38 -0
- package/dist/Input.js +186 -0
- package/dist/Input.js.map +1 -0
- package/dist/Input.mjs +180 -0
- package/dist/Input.mjs.map +1 -0
- package/dist/Logo.d.mts +11 -0
- package/dist/Logo.d.ts +11 -0
- package/dist/Logo.js +156 -0
- package/dist/Logo.js.map +1 -0
- package/dist/Logo.mjs +150 -0
- package/dist/Logo.mjs.map +1 -0
- package/dist/Pagination.d.mts +23 -0
- package/dist/Pagination.d.ts +23 -0
- package/dist/Pagination.js +186 -0
- package/dist/Pagination.js.map +1 -0
- package/dist/Pagination.mjs +179 -0
- package/dist/Pagination.mjs.map +1 -0
- package/dist/Slider.d.mts +28 -0
- package/dist/Slider.d.ts +28 -0
- package/dist/Slider.js +344 -0
- package/dist/Slider.js.map +1 -0
- package/dist/Slider.mjs +338 -0
- package/dist/Slider.mjs.map +1 -0
- package/dist/Tabs.d.mts +23 -0
- package/dist/Tabs.d.ts +23 -0
- package/dist/Tabs.js +101 -0
- package/dist/Tabs.js.map +1 -0
- package/dist/Tabs.mjs +95 -0
- package/dist/Tabs.mjs.map +1 -0
- package/dist/Toast.d.mts +19 -0
- package/dist/Toast.d.ts +19 -0
- package/dist/Toast.js +90 -0
- package/dist/Toast.js.map +1 -0
- package/dist/Toast.mjs +80 -0
- package/dist/Toast.mjs.map +1 -0
- package/dist/Tooltip.d.mts +10 -0
- package/dist/Tooltip.d.ts +10 -0
- package/dist/Tooltip.js +146 -0
- package/dist/Tooltip.js.map +1 -0
- package/dist/Tooltip.mjs +140 -0
- package/dist/Tooltip.mjs.map +1 -0
- package/dist/fonts/CommitMono-Regular.woff2 +0 -0
- package/dist/fonts/CommitMono-Regular.woff2.d.mts +2 -0
- package/dist/fonts/CommitMono-Regular.woff2.d.ts +2 -0
- package/dist/fonts/MONTECHV02-Medium.woff2 +0 -0
- package/dist/fonts/MONTECHV02-Medium.woff2.d.mts +2 -0
- package/dist/fonts/MONTECHV02-Medium.woff2.d.ts +2 -0
- package/dist/fonts/Switzer-Regular.woff2 +0 -0
- package/dist/fonts/Switzer-Regular.woff2.d.mts +2 -0
- package/dist/fonts/Switzer-Regular.woff2.d.ts +2 -0
- package/dist/icons/Anchor.d.mts +7 -0
- package/dist/icons/Anchor.d.ts +7 -0
- package/dist/icons/Anchor.js +89 -0
- package/dist/icons/Anchor.js.map +1 -0
- package/dist/icons/Anchor.mjs +83 -0
- package/dist/icons/Anchor.mjs.map +1 -0
- package/dist/icons/ArrowLeft.d.mts +7 -0
- package/dist/icons/ArrowLeft.d.ts +7 -0
- package/dist/icons/ArrowLeft.js +37 -0
- package/dist/icons/ArrowLeft.js.map +1 -0
- package/dist/icons/ArrowLeft.mjs +35 -0
- package/dist/icons/ArrowLeft.mjs.map +1 -0
- package/dist/icons/ArrowRight.d.mts +7 -0
- package/dist/icons/ArrowRight.d.ts +7 -0
- package/dist/icons/ArrowRight.js +37 -0
- package/dist/icons/ArrowRight.js.map +1 -0
- package/dist/icons/ArrowRight.mjs +35 -0
- package/dist/icons/ArrowRight.mjs.map +1 -0
- package/dist/icons/Assembly.d.mts +7 -0
- package/dist/icons/Assembly.d.ts +7 -0
- package/dist/icons/Assembly.js +172 -0
- package/dist/icons/Assembly.js.map +1 -0
- package/dist/icons/Assembly.mjs +166 -0
- package/dist/icons/Assembly.mjs.map +1 -0
- package/dist/icons/Challenge.d.mts +7 -0
- package/dist/icons/Challenge.d.ts +7 -0
- package/dist/icons/Challenge.js +42 -0
- package/dist/icons/Challenge.js.map +1 -0
- package/dist/icons/Challenge.mjs +40 -0
- package/dist/icons/Challenge.mjs.map +1 -0
- package/dist/icons/Chevron.d.mts +7 -0
- package/dist/icons/Chevron.d.ts +7 -0
- package/dist/icons/Chevron.js +28 -0
- package/dist/icons/Chevron.js.map +1 -0
- package/dist/icons/Chevron.mjs +26 -0
- package/dist/icons/Chevron.mjs.map +1 -0
- package/dist/icons/ChevronLeft.d.mts +7 -0
- package/dist/icons/ChevronLeft.d.ts +7 -0
- package/dist/icons/ChevronLeft.js +28 -0
- package/dist/icons/ChevronLeft.js.map +1 -0
- package/dist/icons/ChevronLeft.mjs +26 -0
- package/dist/icons/ChevronLeft.mjs.map +1 -0
- package/dist/icons/ChevronRight.d.mts +7 -0
- package/dist/icons/ChevronRight.d.ts +7 -0
- package/dist/icons/ChevronRight.js +28 -0
- package/dist/icons/ChevronRight.js.map +1 -0
- package/dist/icons/ChevronRight.mjs +26 -0
- package/dist/icons/ChevronRight.mjs.map +1 -0
- package/dist/icons/Claim.d.mts +7 -0
- package/dist/icons/Claim.d.ts +7 -0
- package/dist/icons/Claim.js +38 -0
- package/dist/icons/Claim.js.map +1 -0
- package/dist/icons/Claim.mjs +36 -0
- package/dist/icons/Claim.mjs.map +1 -0
- package/dist/icons/Claimed.d.mts +7 -0
- package/dist/icons/Claimed.d.ts +7 -0
- package/dist/icons/Claimed.js +28 -0
- package/dist/icons/Claimed.js.map +1 -0
- package/dist/icons/Claimed.mjs +26 -0
- package/dist/icons/Claimed.mjs.map +1 -0
- package/dist/icons/Close.d.mts +7 -0
- package/dist/icons/Close.d.ts +7 -0
- package/dist/icons/Close.js +39 -0
- package/dist/icons/Close.js.map +1 -0
- package/dist/icons/Close.mjs +37 -0
- package/dist/icons/Close.mjs.map +1 -0
- package/dist/icons/Code.d.mts +7 -0
- package/dist/icons/Code.d.ts +7 -0
- package/dist/icons/Code.js +40 -0
- package/dist/icons/Code.js.map +1 -0
- package/dist/icons/Code.mjs +38 -0
- package/dist/icons/Code.mjs.map +1 -0
- package/dist/icons/Copy.d.mts +7 -0
- package/dist/icons/Copy.d.ts +7 -0
- package/dist/icons/Copy.js +37 -0
- package/dist/icons/Copy.js.map +1 -0
- package/dist/icons/Copy.mjs +35 -0
- package/dist/icons/Copy.mjs.map +1 -0
- package/dist/icons/Developer.d.mts +7 -0
- package/dist/icons/Developer.d.ts +7 -0
- package/dist/icons/Developer.js +46 -0
- package/dist/icons/Developer.js.map +1 -0
- package/dist/icons/Developer.mjs +44 -0
- package/dist/icons/Developer.mjs.map +1 -0
- package/dist/icons/Difficulty.d.mts +3 -0
- package/dist/icons/Difficulty.d.ts +3 -0
- package/dist/icons/Difficulty.js +142 -0
- package/dist/icons/Difficulty.js.map +1 -0
- package/dist/icons/Difficulty.mjs +140 -0
- package/dist/icons/Difficulty.mjs.map +1 -0
- package/dist/icons/Discord.d.mts +7 -0
- package/dist/icons/Discord.d.ts +7 -0
- package/dist/icons/Discord.js +28 -0
- package/dist/icons/Discord.js.map +1 -0
- package/dist/icons/Discord.mjs +26 -0
- package/dist/icons/Discord.mjs.map +1 -0
- package/dist/icons/Dollar.d.mts +7 -0
- package/dist/icons/Dollar.d.ts +7 -0
- package/dist/icons/Dollar.js +30 -0
- package/dist/icons/Dollar.js.map +1 -0
- package/dist/icons/Dollar.mjs +28 -0
- package/dist/icons/Dollar.mjs.map +1 -0
- package/dist/icons/DoubleArrow.d.mts +7 -0
- package/dist/icons/DoubleArrow.d.ts +7 -0
- package/dist/icons/DoubleArrow.js +37 -0
- package/dist/icons/DoubleArrow.js.map +1 -0
- package/dist/icons/DoubleArrow.mjs +35 -0
- package/dist/icons/DoubleArrow.mjs.map +1 -0
- package/dist/icons/EVM.d.mts +7 -0
- package/dist/icons/EVM.d.ts +7 -0
- package/dist/icons/EVM.js +41 -0
- package/dist/icons/EVM.js.map +1 -0
- package/dist/icons/EVM.mjs +39 -0
- package/dist/icons/EVM.mjs.map +1 -0
- package/dist/icons/Email.d.mts +7 -0
- package/dist/icons/Email.d.ts +7 -0
- package/dist/icons/Email.js +45 -0
- package/dist/icons/Email.js.map +1 -0
- package/dist/icons/Email.mjs +43 -0
- package/dist/icons/Email.mjs.map +1 -0
- package/dist/icons/Error.d.mts +7 -0
- package/dist/icons/Error.d.ts +7 -0
- package/dist/icons/Error.js +28 -0
- package/dist/icons/Error.js.map +1 -0
- package/dist/icons/Error.mjs +26 -0
- package/dist/icons/Error.mjs.map +1 -0
- package/dist/icons/External.d.mts +7 -0
- package/dist/icons/External.d.ts +7 -0
- package/dist/icons/External.js +38 -0
- package/dist/icons/External.js.map +1 -0
- package/dist/icons/External.mjs +36 -0
- package/dist/icons/External.mjs.map +1 -0
- package/dist/icons/Filter.d.mts +7 -0
- package/dist/icons/Filter.d.ts +7 -0
- package/dist/icons/Filter.js +45 -0
- package/dist/icons/Filter.js.map +1 -0
- package/dist/icons/Filter.mjs +43 -0
- package/dist/icons/Filter.mjs.map +1 -0
- package/dist/icons/Firmware.d.mts +7 -0
- package/dist/icons/Firmware.d.ts +7 -0
- package/dist/icons/Firmware.js +37 -0
- package/dist/icons/Firmware.js.map +1 -0
- package/dist/icons/Firmware.mjs +35 -0
- package/dist/icons/Firmware.mjs.map +1 -0
- package/dist/icons/Flag.d.mts +7 -0
- package/dist/icons/Flag.d.ts +7 -0
- package/dist/icons/Flag.js +37 -0
- package/dist/icons/Flag.js.map +1 -0
- package/dist/icons/Flag.mjs +35 -0
- package/dist/icons/Flag.mjs.map +1 -0
- package/dist/icons/Flame.d.mts +7 -0
- package/dist/icons/Flame.d.ts +7 -0
- package/dist/icons/Flame.js +28 -0
- package/dist/icons/Flame.js.map +1 -0
- package/dist/icons/Flame.mjs +26 -0
- package/dist/icons/Flame.mjs.map +1 -0
- package/dist/icons/Flexible.d.mts +7 -0
- package/dist/icons/Flexible.d.ts +7 -0
- package/dist/icons/Flexible.js +52 -0
- package/dist/icons/Flexible.js.map +1 -0
- package/dist/icons/Flexible.mjs +50 -0
- package/dist/icons/Flexible.mjs.map +1 -0
- package/dist/icons/Free.d.mts +7 -0
- package/dist/icons/Free.d.ts +7 -0
- package/dist/icons/Free.js +53 -0
- package/dist/icons/Free.js.map +1 -0
- package/dist/icons/Free.mjs +51 -0
- package/dist/icons/Free.mjs.map +1 -0
- package/dist/icons/General.d.mts +7 -0
- package/dist/icons/General.d.ts +7 -0
- package/dist/icons/General.js +60 -0
- package/dist/icons/General.js.map +1 -0
- package/dist/icons/General.mjs +58 -0
- package/dist/icons/General.mjs.map +1 -0
- package/dist/icons/Github.d.mts +7 -0
- package/dist/icons/Github.d.ts +7 -0
- package/dist/icons/Github.js +39 -0
- package/dist/icons/Github.js.map +1 -0
- package/dist/icons/Github.mjs +37 -0
- package/dist/icons/Github.mjs.map +1 -0
- package/dist/icons/GridView.d.mts +7 -0
- package/dist/icons/GridView.d.ts +7 -0
- package/dist/icons/GridView.js +51 -0
- package/dist/icons/GridView.js.map +1 -0
- package/dist/icons/GridView.mjs +49 -0
- package/dist/icons/GridView.mjs.map +1 -0
- package/dist/icons/Heart.d.mts +7 -0
- package/dist/icons/Heart.d.ts +7 -0
- package/dist/icons/Heart.js +28 -0
- package/dist/icons/Heart.js.map +1 -0
- package/dist/icons/Heart.mjs +26 -0
- package/dist/icons/Heart.mjs.map +1 -0
- package/dist/icons/Info.d.mts +7 -0
- package/dist/icons/Info.d.ts +7 -0
- package/dist/icons/Info.js +28 -0
- package/dist/icons/Info.js.map +1 -0
- package/dist/icons/Info.mjs +26 -0
- package/dist/icons/Info.mjs.map +1 -0
- package/dist/icons/Language.d.mts +7 -0
- package/dist/icons/Language.d.ts +7 -0
- package/dist/icons/Language.js +42 -0
- package/dist/icons/Language.js.map +1 -0
- package/dist/icons/Language.mjs +40 -0
- package/dist/icons/Language.mjs.map +1 -0
- package/dist/icons/Lessons.d.mts +7 -0
- package/dist/icons/Lessons.d.ts +7 -0
- package/dist/icons/Lessons.js +38 -0
- package/dist/icons/Lessons.js.map +1 -0
- package/dist/icons/Lessons.mjs +36 -0
- package/dist/icons/Lessons.mjs.map +1 -0
- package/dist/icons/Link.d.mts +7 -0
- package/dist/icons/Link.d.ts +7 -0
- package/dist/icons/Link.js +37 -0
- package/dist/icons/Link.js.map +1 -0
- package/dist/icons/Link.mjs +35 -0
- package/dist/icons/Link.mjs.map +1 -0
- package/dist/icons/ListView.d.mts +7 -0
- package/dist/icons/ListView.d.ts +7 -0
- package/dist/icons/ListView.js +44 -0
- package/dist/icons/ListView.js.map +1 -0
- package/dist/icons/ListView.mjs +42 -0
- package/dist/icons/ListView.mjs.map +1 -0
- package/dist/icons/Loading.d.mts +7 -0
- package/dist/icons/Loading.d.ts +7 -0
- package/dist/icons/Loading.js +40 -0
- package/dist/icons/Loading.js.map +1 -0
- package/dist/icons/Loading.mjs +38 -0
- package/dist/icons/Loading.mjs.map +1 -0
- package/dist/icons/Locked.d.mts +7 -0
- package/dist/icons/Locked.d.ts +7 -0
- package/dist/icons/Locked.js +37 -0
- package/dist/icons/Locked.js.map +1 -0
- package/dist/icons/Locked.mjs +35 -0
- package/dist/icons/Locked.mjs.map +1 -0
- package/dist/icons/Mentor.d.mts +7 -0
- package/dist/icons/Mentor.d.ts +7 -0
- package/dist/icons/Mentor.js +47 -0
- package/dist/icons/Mentor.js.map +1 -0
- package/dist/icons/Mentor.mjs +45 -0
- package/dist/icons/Mentor.mjs.map +1 -0
- package/dist/icons/Modular.d.mts +7 -0
- package/dist/icons/Modular.d.ts +7 -0
- package/dist/icons/Modular.js +53 -0
- package/dist/icons/Modular.js.map +1 -0
- package/dist/icons/Modular.mjs +51 -0
- package/dist/icons/Modular.mjs.map +1 -0
- package/dist/icons/NFT.d.mts +7 -0
- package/dist/icons/NFT.d.ts +7 -0
- package/dist/icons/NFT.js +49 -0
- package/dist/icons/NFT.js.map +1 -0
- package/dist/icons/NFT.mjs +47 -0
- package/dist/icons/NFT.mjs.map +1 -0
- package/dist/icons/Online.d.mts +7 -0
- package/dist/icons/Online.d.ts +7 -0
- package/dist/icons/Online.js +55 -0
- package/dist/icons/Online.js.map +1 -0
- package/dist/icons/Online.mjs +53 -0
- package/dist/icons/Online.mjs.map +1 -0
- package/dist/icons/Password.d.mts +7 -0
- package/dist/icons/Password.d.ts +7 -0
- package/dist/icons/Password.js +44 -0
- package/dist/icons/Password.js.map +1 -0
- package/dist/icons/Password.mjs +42 -0
- package/dist/icons/Password.mjs.map +1 -0
- package/dist/icons/Product.d.mts +7 -0
- package/dist/icons/Product.d.ts +7 -0
- package/dist/icons/Product.js +44 -0
- package/dist/icons/Product.js.map +1 -0
- package/dist/icons/Product.mjs +42 -0
- package/dist/icons/Product.mjs.map +1 -0
- package/dist/icons/Progress.d.mts +7 -0
- package/dist/icons/Progress.d.ts +7 -0
- package/dist/icons/Progress.js +37 -0
- package/dist/icons/Progress.js.map +1 -0
- package/dist/icons/Progress.mjs +35 -0
- package/dist/icons/Progress.mjs.map +1 -0
- package/dist/icons/Protocol.d.mts +7 -0
- package/dist/icons/Protocol.d.ts +7 -0
- package/dist/icons/Protocol.js +44 -0
- package/dist/icons/Protocol.js.map +1 -0
- package/dist/icons/Protocol.mjs +42 -0
- package/dist/icons/Protocol.mjs.map +1 -0
- package/dist/icons/Rewards.d.mts +7 -0
- package/dist/icons/Rewards.d.ts +7 -0
- package/dist/icons/Rewards.js +38 -0
- package/dist/icons/Rewards.js.map +1 -0
- package/dist/icons/Rewards.mjs +36 -0
- package/dist/icons/Rewards.mjs.map +1 -0
- package/dist/icons/Rust.d.mts +7 -0
- package/dist/icons/Rust.d.ts +7 -0
- package/dist/icons/Rust.js +146 -0
- package/dist/icons/Rust.js.map +1 -0
- package/dist/icons/Rust.mjs +144 -0
- package/dist/icons/Rust.mjs.map +1 -0
- package/dist/icons/Search.d.mts +7 -0
- package/dist/icons/Search.d.ts +7 -0
- package/dist/icons/Search.js +52 -0
- package/dist/icons/Search.js.map +1 -0
- package/dist/icons/Search.mjs +50 -0
- package/dist/icons/Search.mjs.map +1 -0
- package/dist/icons/SmartContract.d.mts +7 -0
- package/dist/icons/SmartContract.d.ts +7 -0
- package/dist/icons/SmartContract.js +28 -0
- package/dist/icons/SmartContract.js.map +1 -0
- package/dist/icons/SmartContract.mjs +26 -0
- package/dist/icons/SmartContract.mjs.map +1 -0
- package/dist/icons/Solana.d.mts +7 -0
- package/dist/icons/Solana.d.ts +7 -0
- package/dist/icons/Solana.js +52 -0
- package/dist/icons/Solana.js.map +1 -0
- package/dist/icons/Solana.mjs +50 -0
- package/dist/icons/Solana.mjs.map +1 -0
- package/dist/icons/Success.d.mts +7 -0
- package/dist/icons/Success.d.ts +7 -0
- package/dist/icons/Success.js +31 -0
- package/dist/icons/Success.js.map +1 -0
- package/dist/icons/Success.mjs +29 -0
- package/dist/icons/Success.mjs.map +1 -0
- package/dist/icons/SuccessCircle.d.mts +7 -0
- package/dist/icons/SuccessCircle.d.ts +7 -0
- package/dist/icons/SuccessCircle.js +31 -0
- package/dist/icons/SuccessCircle.js.map +1 -0
- package/dist/icons/SuccessCircle.mjs +29 -0
- package/dist/icons/SuccessCircle.mjs.map +1 -0
- package/dist/icons/Table.d.mts +7 -0
- package/dist/icons/Table.d.ts +7 -0
- package/dist/icons/Table.js +44 -0
- package/dist/icons/Table.js.map +1 -0
- package/dist/icons/Table.mjs +42 -0
- package/dist/icons/Table.mjs.map +1 -0
- package/dist/icons/Target.d.mts +7 -0
- package/dist/icons/Target.d.ts +7 -0
- package/dist/icons/Target.js +47 -0
- package/dist/icons/Target.js.map +1 -0
- package/dist/icons/Target.mjs +45 -0
- package/dist/icons/Target.mjs.map +1 -0
- package/dist/icons/Training.d.mts +7 -0
- package/dist/icons/Training.d.ts +7 -0
- package/dist/icons/Training.js +44 -0
- package/dist/icons/Training.js.map +1 -0
- package/dist/icons/Training.mjs +42 -0
- package/dist/icons/Training.mjs.map +1 -0
- package/dist/icons/Typescript.d.mts +7 -0
- package/dist/icons/Typescript.d.ts +7 -0
- package/dist/icons/Typescript.js +124 -0
- package/dist/icons/Typescript.js.map +1 -0
- package/dist/icons/Typescript.mjs +122 -0
- package/dist/icons/Typescript.mjs.map +1 -0
- package/dist/icons/Unclaimed.d.mts +7 -0
- package/dist/icons/Unclaimed.d.ts +7 -0
- package/dist/icons/Unclaimed.js +37 -0
- package/dist/icons/Unclaimed.js.map +1 -0
- package/dist/icons/Unclaimed.mjs +35 -0
- package/dist/icons/Unclaimed.mjs.map +1 -0
- package/dist/icons/Upload.d.mts +7 -0
- package/dist/icons/Upload.d.ts +7 -0
- package/dist/icons/Upload.js +38 -0
- package/dist/icons/Upload.js.map +1 -0
- package/dist/icons/Upload.mjs +36 -0
- package/dist/icons/Upload.mjs.map +1 -0
- package/dist/icons/Wallet.d.mts +7 -0
- package/dist/icons/Wallet.d.ts +7 -0
- package/dist/icons/Wallet.js +46 -0
- package/dist/icons/Wallet.js.map +1 -0
- package/dist/icons/Wallet.mjs +44 -0
- package/dist/icons/Wallet.mjs.map +1 -0
- package/dist/icons/WalletSmall.d.mts +7 -0
- package/dist/icons/WalletSmall.d.ts +7 -0
- package/dist/icons/WalletSmall.js +37 -0
- package/dist/icons/WalletSmall.js.map +1 -0
- package/dist/icons/WalletSmall.mjs +35 -0
- package/dist/icons/WalletSmall.mjs.map +1 -0
- package/dist/icons/Warning.d.mts +7 -0
- package/dist/icons/Warning.d.ts +7 -0
- package/dist/icons/Warning.js +33 -0
- package/dist/icons/Warning.js.map +1 -0
- package/dist/icons/Warning.mjs +31 -0
- package/dist/icons/Warning.mjs.map +1 -0
- package/dist/icons/X.d.mts +7 -0
- package/dist/icons/X.d.ts +7 -0
- package/dist/icons/X.js +28 -0
- package/dist/icons/X.js.map +1 -0
- package/dist/icons/X.mjs +26 -0
- package/dist/icons/X.mjs.map +1 -0
- package/dist/icons/index.d.mts +3 -0
- package/dist/icons/index.d.ts +3 -0
- package/dist/icons/index.js +147 -0
- package/dist/icons/index.js.map +1 -0
- package/dist/icons/index.mjs +144 -0
- package/dist/icons/index.mjs.map +1 -0
- package/dist/index-DWGhkMUQ.d.mts +88 -0
- package/dist/index-ekBNDG0H.d.ts +88 -0
- package/dist/index.d.mts +20 -0
- package/dist/index.d.ts +20 -0
- package/dist/index.js +119 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +20 -0
- package/dist/index.mjs.map +1 -0
- package/dist/utils/colours.d.mts +30 -0
- package/dist/utils/colours.d.ts +30 -0
- package/dist/utils/colours.js +35 -0
- package/dist/utils/colours.js.map +1 -0
- package/dist/utils/colours.mjs +31 -0
- package/dist/utils/colours.mjs.map +1 -0
- package/dist/utils/easings.d.mts +19 -0
- package/dist/utils/easings.d.ts +19 -0
- package/dist/utils/easings.js +23 -0
- package/dist/utils/easings.js.map +1 -0
- package/dist/utils/easings.mjs +14 -0
- package/dist/utils/easings.mjs.map +1 -0
- package/package.json +87 -0
- package/src/fonts/CommitMono-Regular.woff2 +0 -0
- package/src/fonts/MONTECHV02-Medium.ttf +0 -0
- package/src/fonts/MONTECHV02-Medium.woff2 +0 -0
- package/src/fonts/Switzer-Regular.woff2 +0 -0
- package/src/theme.css +124 -0
package/dist/Tabs.mjs
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
2
|
+
import classNames from 'classnames';
|
|
3
|
+
import { motion, anticipate } from 'motion/react';
|
|
4
|
+
import { Icon } from './Icon';
|
|
5
|
+
import { breeze } from './utils/easings';
|
|
6
|
+
import { CrosshairCorners } from './CrossHair';
|
|
7
|
+
|
|
8
|
+
const Tabs = ({
|
|
9
|
+
className,
|
|
10
|
+
variant,
|
|
11
|
+
items,
|
|
12
|
+
theme,
|
|
13
|
+
animation,
|
|
14
|
+
stretch
|
|
15
|
+
}) => {
|
|
16
|
+
return /* @__PURE__ */ jsx(
|
|
17
|
+
motion.div,
|
|
18
|
+
{
|
|
19
|
+
className: classNames(
|
|
20
|
+
"flex items-center gap-x-1 w-full",
|
|
21
|
+
variant === "segmented" && "border border-border p-1",
|
|
22
|
+
!stretch && "!w-max",
|
|
23
|
+
className
|
|
24
|
+
),
|
|
25
|
+
...animation,
|
|
26
|
+
children: items.map((item) => /* @__PURE__ */ jsxs(
|
|
27
|
+
motion.button,
|
|
28
|
+
{
|
|
29
|
+
className: classNames(
|
|
30
|
+
"group hover:bg-card-solid/50 relative flex items-center gap-x-1.5 justify-center w-full py-3 px-6 text-shade-tertiary",
|
|
31
|
+
!item.label && "w-max !px-3",
|
|
32
|
+
item.selected && theme === "secondary" && "!text-shade-primary",
|
|
33
|
+
item.selected && theme === "primary" && "!text-brand-primary"
|
|
34
|
+
),
|
|
35
|
+
onClick: item.onClick,
|
|
36
|
+
children: [
|
|
37
|
+
item.selected && variant === "segmented" && /* @__PURE__ */ jsx(
|
|
38
|
+
motion.div,
|
|
39
|
+
{
|
|
40
|
+
layoutId: "segmented-tab-selected",
|
|
41
|
+
transition: { duration: 0.1, ease: breeze },
|
|
42
|
+
className: classNames(
|
|
43
|
+
"absolute inset-0",
|
|
44
|
+
theme === "primary" && "bg-brand-tertiary/8",
|
|
45
|
+
theme === "secondary" && "bg-card-foreground"
|
|
46
|
+
)
|
|
47
|
+
}
|
|
48
|
+
),
|
|
49
|
+
item.selected && variant === "tab" && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
50
|
+
/* @__PURE__ */ jsx(
|
|
51
|
+
motion.div,
|
|
52
|
+
{
|
|
53
|
+
initial: { opacity: 0 },
|
|
54
|
+
animate: { opacity: [0, 0.15, 0, 0.1, 0, 0.06] },
|
|
55
|
+
transition: { duration: 0.5, ease: anticipate },
|
|
56
|
+
className: classNames(
|
|
57
|
+
"absolute inset-0 group-hover:opacity-15",
|
|
58
|
+
theme === "primary" && "bg-brand-primary text-brand-primary",
|
|
59
|
+
theme === "secondary" && "bg-shade-tertiary text-shade-primary"
|
|
60
|
+
)
|
|
61
|
+
}
|
|
62
|
+
),
|
|
63
|
+
/* @__PURE__ */ jsx(
|
|
64
|
+
CrosshairCorners,
|
|
65
|
+
{
|
|
66
|
+
animationDelay: 0,
|
|
67
|
+
animationDuration: 0.5,
|
|
68
|
+
size: 4,
|
|
69
|
+
corners: ["bottom-right"]
|
|
70
|
+
}
|
|
71
|
+
)
|
|
72
|
+
] }),
|
|
73
|
+
item.icon && /* @__PURE__ */ jsx(Icon, { ...item.icon, className: "flex-shrink-0 relative" }),
|
|
74
|
+
item.label && /* @__PURE__ */ jsx(
|
|
75
|
+
"span",
|
|
76
|
+
{
|
|
77
|
+
className: classNames(
|
|
78
|
+
"font-mono leading-[100%] relative",
|
|
79
|
+
variant === "segmented" && "text-sm",
|
|
80
|
+
variant === "tab" && "text-[15px]"
|
|
81
|
+
),
|
|
82
|
+
children: item.label
|
|
83
|
+
}
|
|
84
|
+
)
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
item.value
|
|
88
|
+
))
|
|
89
|
+
}
|
|
90
|
+
);
|
|
91
|
+
};
|
|
92
|
+
|
|
93
|
+
export { Tabs };
|
|
94
|
+
//# sourceMappingURL=Tabs.mjs.map
|
|
95
|
+
//# sourceMappingURL=Tabs.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Tabs.tsx"],"names":[],"mappings":"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","file":"Tabs.mjs","sourcesContent":["import classNames from \"classnames\";\nimport { anticipate, motion, MotionProps } from \"motion/react\";\nimport { Icon, IconProps } from \"./Icon\";\nimport { breeze, crisp, glide, swift } from \"./utils/easings\";\nimport { CrosshairCorners } from \"./CrossHair\";\n\nexport type TabsProps = {\n className?: string;\n variant: \"tab\" | \"segmented\";\n items: {\n label?: string;\n value: string;\n icon?: IconProps;\n disabled?: boolean;\n selected?: boolean;\n onClick?: () => void;\n }[];\n theme: \"primary\" | \"secondary\";\n animation?: MotionProps;\n stretch?: boolean;\n};\n\nexport const Tabs = ({\n className,\n variant,\n items,\n theme,\n animation,\n stretch,\n}: TabsProps) => {\n return (\n <motion.div\n className={classNames(\n \"flex items-center gap-x-1 w-full\",\n variant === \"segmented\" && \"border border-border p-1\",\n !stretch && \"!w-max\",\n className\n )}\n {...animation}\n >\n {items.map((item) => (\n <motion.button\n className={classNames(\n \"group hover:bg-card-solid/50 relative flex items-center gap-x-1.5 justify-center w-full py-3 px-6 text-shade-tertiary\",\n !item.label && \"w-max !px-3\",\n item.selected && theme === \"secondary\" && \"!text-shade-primary\",\n item.selected && theme === \"primary\" && \"!text-brand-primary\"\n )}\n key={item.value}\n onClick={item.onClick}\n >\n {item.selected && variant === \"segmented\" && (\n <motion.div\n layoutId=\"segmented-tab-selected\"\n transition={{ duration: 0.1, ease: breeze }}\n className={classNames(\n \"absolute inset-0\",\n theme === \"primary\" && \"bg-brand-tertiary/8\",\n theme === \"secondary\" && \"bg-card-foreground\"\n )}\n ></motion.div>\n )}\n\n {item.selected && variant === \"tab\" && (\n <>\n <motion.div\n initial={{ opacity: 0 }}\n animate={{ opacity: [0, 0.15, 0, 0.1, 0, 0.06] }}\n transition={{ duration: 0.5, ease: anticipate }}\n className={classNames(\n \"absolute inset-0 group-hover:opacity-15\",\n theme === \"primary\" && \"bg-brand-primary text-brand-primary\",\n theme === \"secondary\" &&\n \"bg-shade-tertiary text-shade-primary\"\n )}\n />\n <CrosshairCorners\n animationDelay={0}\n animationDuration={0.5}\n size={4}\n corners={[\"bottom-right\"]}\n />\n </>\n )}\n\n {item.icon && (\n <Icon {...item.icon} className=\"flex-shrink-0 relative\" />\n )}\n {item.label && (\n <span\n className={classNames(\n \"font-mono leading-[100%] relative\",\n variant === \"segmented\" && \"text-sm\",\n variant === \"tab\" && \"text-[15px]\"\n )}\n >\n {item.label}\n </span>\n )}\n </motion.button>\n ))}\n </motion.div>\n );\n};\n"]}
|
package/dist/Toast.d.mts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { c as IconName } from './index-DWGhkMUQ.mjs';
|
|
3
|
+
import './utils/colours.mjs';
|
|
4
|
+
|
|
5
|
+
type ToastProps = {
|
|
6
|
+
className?: string;
|
|
7
|
+
title: string;
|
|
8
|
+
description: string;
|
|
9
|
+
icon: IconName;
|
|
10
|
+
variant: "success" | "error" | "info";
|
|
11
|
+
clearable?: boolean;
|
|
12
|
+
};
|
|
13
|
+
declare const Toast: ({ className, title, description, icon, variant, clearable, }: ToastProps) => react_jsx_runtime.JSX.Element;
|
|
14
|
+
declare const showToast: (props: Omit<ToastProps, "className">) => string | number;
|
|
15
|
+
declare const showSuccessToast: (title: string, description: string) => string | number;
|
|
16
|
+
declare const showErrorToast: (title: string, description: string) => string | number;
|
|
17
|
+
declare const showInfoToast: (title: string, description: string) => string | number;
|
|
18
|
+
|
|
19
|
+
export { Toast, type ToastProps, showErrorToast, showInfoToast, showSuccessToast, showToast };
|
package/dist/Toast.d.ts
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { c as IconName } from './index-ekBNDG0H.js';
|
|
3
|
+
import './utils/colours.js';
|
|
4
|
+
|
|
5
|
+
type ToastProps = {
|
|
6
|
+
className?: string;
|
|
7
|
+
title: string;
|
|
8
|
+
description: string;
|
|
9
|
+
icon: IconName;
|
|
10
|
+
variant: "success" | "error" | "info";
|
|
11
|
+
clearable?: boolean;
|
|
12
|
+
};
|
|
13
|
+
declare const Toast: ({ className, title, description, icon, variant, clearable, }: ToastProps) => react_jsx_runtime.JSX.Element;
|
|
14
|
+
declare const showToast: (props: Omit<ToastProps, "className">) => string | number;
|
|
15
|
+
declare const showSuccessToast: (title: string, description: string) => string | number;
|
|
16
|
+
declare const showErrorToast: (title: string, description: string) => string | number;
|
|
17
|
+
declare const showInfoToast: (title: string, description: string) => string | number;
|
|
18
|
+
|
|
19
|
+
export { Toast, type ToastProps, showErrorToast, showInfoToast, showSuccessToast, showToast };
|
package/dist/Toast.js
ADDED
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('motion/react');
|
|
5
|
+
var Icon = require('./Icon');
|
|
6
|
+
var classNames = require('classnames');
|
|
7
|
+
var CrossHair = require('./CrossHair');
|
|
8
|
+
var sonner = require('sonner');
|
|
9
|
+
|
|
10
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
|
|
12
|
+
var classNames__default = /*#__PURE__*/_interopDefault(classNames);
|
|
13
|
+
|
|
14
|
+
const Toast = ({
|
|
15
|
+
className,
|
|
16
|
+
title,
|
|
17
|
+
description,
|
|
18
|
+
icon,
|
|
19
|
+
variant,
|
|
20
|
+
clearable
|
|
21
|
+
}) => {
|
|
22
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
23
|
+
react.motion.div,
|
|
24
|
+
{
|
|
25
|
+
className: classNames__default.default(
|
|
26
|
+
"px-0 pb-4 pt-3 w-[calc(100dvw-32px)] xs:w-[300px] flex flex-col gap-y-2.5 bg-card-foreground gradient-border before:bg-card-border",
|
|
27
|
+
variant === "success" && "text-state-success",
|
|
28
|
+
variant === "error" && "text-state-error",
|
|
29
|
+
variant === "info" && "text-shade-secondary",
|
|
30
|
+
className
|
|
31
|
+
),
|
|
32
|
+
children: [
|
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "inset-0 absolute bg-gradient-to-b from-current/8 via-transparent to-transparent" }),
|
|
34
|
+
/* @__PURE__ */ jsxRuntime.jsxs(react.motion.div, { className: "px-3 py-2 bg-current/5 border border-current/15 flex items-center gap-x-2.5 relative", children: [
|
|
35
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
36
|
+
CrossHair.CrosshairCorners,
|
|
37
|
+
{
|
|
38
|
+
animationDelay: 0,
|
|
39
|
+
animationDuration: 0.5,
|
|
40
|
+
variant: "bordered",
|
|
41
|
+
size: 4,
|
|
42
|
+
spacingX: 1
|
|
43
|
+
}
|
|
44
|
+
),
|
|
45
|
+
/* @__PURE__ */ jsxRuntime.jsx(Icon.Icon, { name: icon, className: "flex-shrink-0 text-current", size: 16 }),
|
|
46
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "font-mono text-sm", children: title })
|
|
47
|
+
] }),
|
|
48
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm leading-[160%] font-medium text-shade-primary px-4", children: description })
|
|
49
|
+
]
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
};
|
|
53
|
+
const showToast = (props) => {
|
|
54
|
+
return sonner.toast.custom((t) => /* @__PURE__ */ jsxRuntime.jsx(Toast, { ...props }), {
|
|
55
|
+
duration: 4e3,
|
|
56
|
+
unstyled: true
|
|
57
|
+
});
|
|
58
|
+
};
|
|
59
|
+
const showSuccessToast = (title, description) => {
|
|
60
|
+
return showToast({
|
|
61
|
+
title,
|
|
62
|
+
description,
|
|
63
|
+
icon: "SuccessCircle",
|
|
64
|
+
variant: "success"
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
const showErrorToast = (title, description) => {
|
|
68
|
+
return showToast({
|
|
69
|
+
title,
|
|
70
|
+
description,
|
|
71
|
+
icon: "Error",
|
|
72
|
+
variant: "error"
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
const showInfoToast = (title, description) => {
|
|
76
|
+
return showToast({
|
|
77
|
+
title,
|
|
78
|
+
description,
|
|
79
|
+
icon: "Loading",
|
|
80
|
+
variant: "info"
|
|
81
|
+
});
|
|
82
|
+
};
|
|
83
|
+
|
|
84
|
+
exports.Toast = Toast;
|
|
85
|
+
exports.showErrorToast = showErrorToast;
|
|
86
|
+
exports.showInfoToast = showInfoToast;
|
|
87
|
+
exports.showSuccessToast = showSuccessToast;
|
|
88
|
+
exports.showToast = showToast;
|
|
89
|
+
//# sourceMappingURL=Toast.js.map
|
|
90
|
+
//# sourceMappingURL=Toast.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Toast.tsx"],"names":["jsxs","motion","classNames","jsx","CrosshairCorners","Icon","toast"],"mappings":";;;;;;;;;;;;;AAeO,MAAM,QAAQ,CAAC;AAAA,EACpB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,KAAkB;AAChB,EAAA,uBACEA,eAAA;AAAA,IAACC,YAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACC,SAAA,EAAWC,2BAAA;AAAA,QACT,oIAAA;AAAA,QACA,YAAY,SAAA,IAAa,oBAAA;AAAA,QACzB,YAAY,OAAA,IAAW,kBAAA;AAAA,QACvB,YAAY,MAAA,IAAU,sBAAA;AAAA,QACtB;AAAA,OACF;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,KAAA,EAAA,EAAI,WAAU,iFAAA,EAAkF,CAAA;AAAA,wBACjGH,eAAA,CAACC,YAAA,CAAO,GAAA,EAAP,EAAW,WAAU,sFAAA,EACpB,QAAA,EAAA;AAAA,0BAAAE,cAAA;AAAA,YAACC,0BAAA;AAAA,YAAA;AAAA,cACC,cAAA,EAAgB,CAAA;AAAA,cAChB,iBAAA,EAAmB,GAAA;AAAA,cACnB,OAAA,EAAQ,UAAA;AAAA,cACR,IAAA,EAAM,CAAA;AAAA,cACN,QAAA,EAAU;AAAA;AAAA,WACZ;AAAA,yCACCC,SAAA,EAAA,EAAK,IAAA,EAAM,MAAM,SAAA,EAAU,4BAAA,EAA6B,MAAM,EAAA,EAAI,CAAA;AAAA,0BACnEF,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAA,EAAqB,QAAA,EAAA,KAAA,EAAM;AAAA,SAAA,EAC7C,CAAA;AAAA,wBACAA,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4DAAA,EACV,QAAA,EAAA,WAAA,EACH;AAAA;AAAA;AAAA,GACF;AAEJ;AAGO,MAAM,SAAA,GAAY,CAAC,KAAA,KAAyC;AACjE,EAAA,OAAOG,YAAA,CAAM,OAAO,CAAC,CAAA,oCAAO,KAAA,EAAA,EAAO,GAAG,OAAO,CAAA,EAAI;AAAA,IAC/C,QAAA,EAAU,GAAA;AAAA,IACV,QAAA,EAAU;AAAA,GACX,CAAA;AACH;AAEO,MAAM,gBAAA,GAAmB,CAAC,KAAA,EAAe,WAAA,KAAwB;AACtE,EAAA,OAAO,SAAA,CAAU;AAAA,IACf,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA,EAAM,eAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV,CAAA;AACH;AAEO,MAAM,cAAA,GAAiB,CAAC,KAAA,EAAe,WAAA,KAAwB;AACpE,EAAA,OAAO,SAAA,CAAU;AAAA,IACf,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV,CAAA;AACH;AAEO,MAAM,aAAA,GAAgB,CAAC,KAAA,EAAe,WAAA,KAAwB;AACnE,EAAA,OAAO,SAAA,CAAU;AAAA,IACf,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA,EAAM,SAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV,CAAA;AACH","file":"Toast.js","sourcesContent":["import { motion } from \"motion/react\";\nimport { Icon, IconName } from \"./Icon\";\nimport classNames from \"classnames\";\nimport { CrosshairCorners } from \"./CrossHair\";\nimport { toast } from \"sonner\";\n\nexport type ToastProps = {\n className?: string;\n title: string;\n description: string;\n icon: IconName;\n variant: \"success\" | \"error\" | \"info\";\n clearable?: boolean;\n};\n\nexport const Toast = ({\n className,\n title,\n description,\n icon,\n variant,\n clearable,\n}: ToastProps) => {\n return (\n <motion.div\n className={classNames(\n \"px-0 pb-4 pt-3 w-[calc(100dvw-32px)] xs:w-[300px] flex flex-col gap-y-2.5 bg-card-foreground gradient-border before:bg-card-border\",\n variant === \"success\" && \"text-state-success\",\n variant === \"error\" && \"text-state-error\",\n variant === \"info\" && \"text-shade-secondary\",\n className\n )}\n >\n <div className=\"inset-0 absolute bg-gradient-to-b from-current/8 via-transparent to-transparent\"></div>\n <motion.div className=\"px-3 py-2 bg-current/5 border border-current/15 flex items-center gap-x-2.5 relative\">\n <CrosshairCorners\n animationDelay={0}\n animationDuration={0.5}\n variant=\"bordered\"\n size={4}\n spacingX={1}\n />\n <Icon name={icon} className=\"flex-shrink-0 text-current\" size={16} />\n <span className=\"font-mono text-sm\">{title}</span>\n </motion.div>\n <p className=\"text-sm leading-[160%] font-medium text-shade-primary px-4\">\n {description}\n </p>\n </motion.div>\n );\n};\n\n// Sonner integration helpers\nexport const showToast = (props: Omit<ToastProps, \"className\">) => {\n return toast.custom((t) => <Toast {...props} />, {\n duration: 4000,\n unstyled: true,\n });\n};\n\nexport const showSuccessToast = (title: string, description: string) => {\n return showToast({\n title,\n description,\n icon: \"SuccessCircle\",\n variant: \"success\",\n });\n};\n\nexport const showErrorToast = (title: string, description: string) => {\n return showToast({\n title,\n description,\n icon: \"Error\",\n variant: \"error\",\n });\n};\n\nexport const showInfoToast = (title: string, description: string) => {\n return showToast({\n title,\n description,\n icon: \"Loading\",\n variant: \"info\",\n });\n};\n"]}
|
package/dist/Toast.mjs
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { motion } from 'motion/react';
|
|
3
|
+
import { Icon } from './Icon';
|
|
4
|
+
import classNames from 'classnames';
|
|
5
|
+
import { CrosshairCorners } from './CrossHair';
|
|
6
|
+
import { toast } from 'sonner';
|
|
7
|
+
|
|
8
|
+
const Toast = ({
|
|
9
|
+
className,
|
|
10
|
+
title,
|
|
11
|
+
description,
|
|
12
|
+
icon,
|
|
13
|
+
variant,
|
|
14
|
+
clearable
|
|
15
|
+
}) => {
|
|
16
|
+
return /* @__PURE__ */ jsxs(
|
|
17
|
+
motion.div,
|
|
18
|
+
{
|
|
19
|
+
className: classNames(
|
|
20
|
+
"px-0 pb-4 pt-3 w-[calc(100dvw-32px)] xs:w-[300px] flex flex-col gap-y-2.5 bg-card-foreground gradient-border before:bg-card-border",
|
|
21
|
+
variant === "success" && "text-state-success",
|
|
22
|
+
variant === "error" && "text-state-error",
|
|
23
|
+
variant === "info" && "text-shade-secondary",
|
|
24
|
+
className
|
|
25
|
+
),
|
|
26
|
+
children: [
|
|
27
|
+
/* @__PURE__ */ jsx("div", { className: "inset-0 absolute bg-gradient-to-b from-current/8 via-transparent to-transparent" }),
|
|
28
|
+
/* @__PURE__ */ jsxs(motion.div, { className: "px-3 py-2 bg-current/5 border border-current/15 flex items-center gap-x-2.5 relative", children: [
|
|
29
|
+
/* @__PURE__ */ jsx(
|
|
30
|
+
CrosshairCorners,
|
|
31
|
+
{
|
|
32
|
+
animationDelay: 0,
|
|
33
|
+
animationDuration: 0.5,
|
|
34
|
+
variant: "bordered",
|
|
35
|
+
size: 4,
|
|
36
|
+
spacingX: 1
|
|
37
|
+
}
|
|
38
|
+
),
|
|
39
|
+
/* @__PURE__ */ jsx(Icon, { name: icon, className: "flex-shrink-0 text-current", size: 16 }),
|
|
40
|
+
/* @__PURE__ */ jsx("span", { className: "font-mono text-sm", children: title })
|
|
41
|
+
] }),
|
|
42
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm leading-[160%] font-medium text-shade-primary px-4", children: description })
|
|
43
|
+
]
|
|
44
|
+
}
|
|
45
|
+
);
|
|
46
|
+
};
|
|
47
|
+
const showToast = (props) => {
|
|
48
|
+
return toast.custom((t) => /* @__PURE__ */ jsx(Toast, { ...props }), {
|
|
49
|
+
duration: 4e3,
|
|
50
|
+
unstyled: true
|
|
51
|
+
});
|
|
52
|
+
};
|
|
53
|
+
const showSuccessToast = (title, description) => {
|
|
54
|
+
return showToast({
|
|
55
|
+
title,
|
|
56
|
+
description,
|
|
57
|
+
icon: "SuccessCircle",
|
|
58
|
+
variant: "success"
|
|
59
|
+
});
|
|
60
|
+
};
|
|
61
|
+
const showErrorToast = (title, description) => {
|
|
62
|
+
return showToast({
|
|
63
|
+
title,
|
|
64
|
+
description,
|
|
65
|
+
icon: "Error",
|
|
66
|
+
variant: "error"
|
|
67
|
+
});
|
|
68
|
+
};
|
|
69
|
+
const showInfoToast = (title, description) => {
|
|
70
|
+
return showToast({
|
|
71
|
+
title,
|
|
72
|
+
description,
|
|
73
|
+
icon: "Loading",
|
|
74
|
+
variant: "info"
|
|
75
|
+
});
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export { Toast, showErrorToast, showInfoToast, showSuccessToast, showToast };
|
|
79
|
+
//# sourceMappingURL=Toast.mjs.map
|
|
80
|
+
//# sourceMappingURL=Toast.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Toast.tsx"],"names":[],"mappings":";;;;;;;AAeO,MAAM,QAAQ,CAAC;AAAA,EACpB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,WAAA;AAAA,EACA,IAAA;AAAA,EACA,OAAA;AAAA,EACA;AACF,CAAA,KAAkB;AAChB,EAAA,uBACE,IAAA;AAAA,IAAC,MAAA,CAAO,GAAA;AAAA,IAAP;AAAA,MACC,SAAA,EAAW,UAAA;AAAA,QACT,oIAAA;AAAA,QACA,YAAY,SAAA,IAAa,oBAAA;AAAA,QACzB,YAAY,OAAA,IAAW,kBAAA;AAAA,QACvB,YAAY,MAAA,IAAU,sBAAA;AAAA,QACtB;AAAA,OACF;AAAA,MAEA,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,WAAU,iFAAA,EAAkF,CAAA;AAAA,wBACjG,IAAA,CAAC,MAAA,CAAO,GAAA,EAAP,EAAW,WAAU,sFAAA,EACpB,QAAA,EAAA;AAAA,0BAAA,GAAA;AAAA,YAAC,gBAAA;AAAA,YAAA;AAAA,cACC,cAAA,EAAgB,CAAA;AAAA,cAChB,iBAAA,EAAmB,GAAA;AAAA,cACnB,OAAA,EAAQ,UAAA;AAAA,cACR,IAAA,EAAM,CAAA;AAAA,cACN,QAAA,EAAU;AAAA;AAAA,WACZ;AAAA,8BACC,IAAA,EAAA,EAAK,IAAA,EAAM,MAAM,SAAA,EAAU,4BAAA,EAA6B,MAAM,EAAA,EAAI,CAAA;AAAA,0BACnE,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,mBAAA,EAAqB,QAAA,EAAA,KAAA,EAAM;AAAA,SAAA,EAC7C,CAAA;AAAA,wBACA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,4DAAA,EACV,QAAA,EAAA,WAAA,EACH;AAAA;AAAA;AAAA,GACF;AAEJ;AAGO,MAAM,SAAA,GAAY,CAAC,KAAA,KAAyC;AACjE,EAAA,OAAO,KAAA,CAAM,OAAO,CAAC,CAAA,yBAAO,KAAA,EAAA,EAAO,GAAG,OAAO,CAAA,EAAI;AAAA,IAC/C,QAAA,EAAU,GAAA;AAAA,IACV,QAAA,EAAU;AAAA,GACX,CAAA;AACH;AAEO,MAAM,gBAAA,GAAmB,CAAC,KAAA,EAAe,WAAA,KAAwB;AACtE,EAAA,OAAO,SAAA,CAAU;AAAA,IACf,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA,EAAM,eAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV,CAAA;AACH;AAEO,MAAM,cAAA,GAAiB,CAAC,KAAA,EAAe,WAAA,KAAwB;AACpE,EAAA,OAAO,SAAA,CAAU;AAAA,IACf,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA,EAAM,OAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV,CAAA;AACH;AAEO,MAAM,aAAA,GAAgB,CAAC,KAAA,EAAe,WAAA,KAAwB;AACnE,EAAA,OAAO,SAAA,CAAU;AAAA,IACf,KAAA;AAAA,IACA,WAAA;AAAA,IACA,IAAA,EAAM,SAAA;AAAA,IACN,OAAA,EAAS;AAAA,GACV,CAAA;AACH","file":"Toast.mjs","sourcesContent":["import { motion } from \"motion/react\";\nimport { Icon, IconName } from \"./Icon\";\nimport classNames from \"classnames\";\nimport { CrosshairCorners } from \"./CrossHair\";\nimport { toast } from \"sonner\";\n\nexport type ToastProps = {\n className?: string;\n title: string;\n description: string;\n icon: IconName;\n variant: \"success\" | \"error\" | \"info\";\n clearable?: boolean;\n};\n\nexport const Toast = ({\n className,\n title,\n description,\n icon,\n variant,\n clearable,\n}: ToastProps) => {\n return (\n <motion.div\n className={classNames(\n \"px-0 pb-4 pt-3 w-[calc(100dvw-32px)] xs:w-[300px] flex flex-col gap-y-2.5 bg-card-foreground gradient-border before:bg-card-border\",\n variant === \"success\" && \"text-state-success\",\n variant === \"error\" && \"text-state-error\",\n variant === \"info\" && \"text-shade-secondary\",\n className\n )}\n >\n <div className=\"inset-0 absolute bg-gradient-to-b from-current/8 via-transparent to-transparent\"></div>\n <motion.div className=\"px-3 py-2 bg-current/5 border border-current/15 flex items-center gap-x-2.5 relative\">\n <CrosshairCorners\n animationDelay={0}\n animationDuration={0.5}\n variant=\"bordered\"\n size={4}\n spacingX={1}\n />\n <Icon name={icon} className=\"flex-shrink-0 text-current\" size={16} />\n <span className=\"font-mono text-sm\">{title}</span>\n </motion.div>\n <p className=\"text-sm leading-[160%] font-medium text-shade-primary px-4\">\n {description}\n </p>\n </motion.div>\n );\n};\n\n// Sonner integration helpers\nexport const showToast = (props: Omit<ToastProps, \"className\">) => {\n return toast.custom((t) => <Toast {...props} />, {\n duration: 4000,\n unstyled: true,\n });\n};\n\nexport const showSuccessToast = (title: string, description: string) => {\n return showToast({\n title,\n description,\n icon: \"SuccessCircle\",\n variant: \"success\",\n });\n};\n\nexport const showErrorToast = (title: string, description: string) => {\n return showToast({\n title,\n description,\n icon: \"Error\",\n variant: \"error\",\n });\n};\n\nexport const showInfoToast = (title: string, description: string) => {\n return showToast({\n title,\n description,\n icon: \"Loading\",\n variant: \"info\",\n });\n};\n"]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
type TooltipProps = {
|
|
4
|
+
description: string;
|
|
5
|
+
isOpen?: boolean;
|
|
6
|
+
position: "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right" | "center-left" | "center-right";
|
|
7
|
+
};
|
|
8
|
+
declare const Tooltip: ({ description, position, isOpen }: TooltipProps) => react_jsx_runtime.JSX.Element;
|
|
9
|
+
|
|
10
|
+
export { Tooltip, type TooltipProps };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
|
|
3
|
+
type TooltipProps = {
|
|
4
|
+
description: string;
|
|
5
|
+
isOpen?: boolean;
|
|
6
|
+
position: "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right" | "center-left" | "center-right";
|
|
7
|
+
};
|
|
8
|
+
declare const Tooltip: ({ description, position, isOpen }: TooltipProps) => react_jsx_runtime.JSX.Element;
|
|
9
|
+
|
|
10
|
+
export { Tooltip, type TooltipProps };
|
package/dist/Tooltip.js
ADDED
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var classNames = require('classnames');
|
|
5
|
+
var react = require('motion/react');
|
|
6
|
+
var easings = require('./utils/easings');
|
|
7
|
+
var CrossHair = require('./CrossHair');
|
|
8
|
+
|
|
9
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
10
|
+
|
|
11
|
+
var classNames__default = /*#__PURE__*/_interopDefault(classNames);
|
|
12
|
+
|
|
13
|
+
const Tooltip = ({ description, position, isOpen }) => {
|
|
14
|
+
const getPositionBasedAnimation = (position2) => {
|
|
15
|
+
const baseAnimation = {
|
|
16
|
+
animate: { opacity: 1, y: 0, x: 0, scale: 1 },
|
|
17
|
+
exit: { opacity: 0, scale: 0.9 },
|
|
18
|
+
transition: { duration: 0.15, ease: easings.crisp, delay: 0.15 }
|
|
19
|
+
};
|
|
20
|
+
if (position2.startsWith("bottom")) {
|
|
21
|
+
return {
|
|
22
|
+
...baseAnimation,
|
|
23
|
+
initial: { opacity: 0, y: -10, scale: 0.9 },
|
|
24
|
+
exit: { ...baseAnimation.exit, y: -10 }
|
|
25
|
+
};
|
|
26
|
+
} else if (position2.startsWith("top")) {
|
|
27
|
+
return {
|
|
28
|
+
...baseAnimation,
|
|
29
|
+
initial: { opacity: 0, y: 10, scale: 0.9 },
|
|
30
|
+
exit: { ...baseAnimation.exit, y: 10 }
|
|
31
|
+
};
|
|
32
|
+
} else if (position2.startsWith("center-left")) {
|
|
33
|
+
return {
|
|
34
|
+
...baseAnimation,
|
|
35
|
+
initial: { opacity: 0, x: 10, scale: 0.9 },
|
|
36
|
+
exit: { ...baseAnimation.exit, x: 10 }
|
|
37
|
+
};
|
|
38
|
+
} else if (position2.startsWith("center-right")) {
|
|
39
|
+
return {
|
|
40
|
+
...baseAnimation,
|
|
41
|
+
initial: { opacity: 0, x: -10, scale: 0.9 },
|
|
42
|
+
exit: { ...baseAnimation.exit, x: -10 }
|
|
43
|
+
};
|
|
44
|
+
}
|
|
45
|
+
return {
|
|
46
|
+
...baseAnimation,
|
|
47
|
+
initial: { opacity: 0, y: -10, scale: 0.9 },
|
|
48
|
+
exit: { ...baseAnimation.exit, y: -10 }
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
const animations = getPositionBasedAnimation(position);
|
|
52
|
+
return /* @__PURE__ */ jsxRuntime.jsx(react.AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxRuntime.jsxs(
|
|
53
|
+
react.motion.div,
|
|
54
|
+
{
|
|
55
|
+
...animations,
|
|
56
|
+
className: classNames__default.default(
|
|
57
|
+
"z-50 absolute font-medium w-max max-w-[200px] px-2.5 pt-1.5 pb-2 bg-card-foreground gradient-border before:bg-border text-xs leading-[150%] text-shade-tertiary",
|
|
58
|
+
"after:absolute after:bg-border",
|
|
59
|
+
!position.startsWith("center") && "after:!w-[10px] after:!h-[5px]",
|
|
60
|
+
position.startsWith("center") && "after:!h-[10px] after:!w-[5px]",
|
|
61
|
+
getTooltipPosition(position),
|
|
62
|
+
getArrowPosition(position)
|
|
63
|
+
),
|
|
64
|
+
style: { transformOrigin: getTransformOrigin(position) },
|
|
65
|
+
children: [
|
|
66
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0.5", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
67
|
+
CrossHair.CrosshairCorners,
|
|
68
|
+
{
|
|
69
|
+
size: 4,
|
|
70
|
+
variant: "corners",
|
|
71
|
+
className: "text-shade-mute",
|
|
72
|
+
animationDelay: 0.15,
|
|
73
|
+
animationDuration: 0.75,
|
|
74
|
+
corners: position === "top-left" || position === "bottom-right" ? ["bottom-left", "top-right"] : ["bottom-right", "top-left"]
|
|
75
|
+
}
|
|
76
|
+
) }),
|
|
77
|
+
description
|
|
78
|
+
]
|
|
79
|
+
},
|
|
80
|
+
position
|
|
81
|
+
) });
|
|
82
|
+
};
|
|
83
|
+
const getTooltipPosition = (position) => {
|
|
84
|
+
switch (position) {
|
|
85
|
+
case "top-right":
|
|
86
|
+
return "bottom-[calc(100%+6px)] left-1/2 mb-1";
|
|
87
|
+
case "top-center":
|
|
88
|
+
return "bottom-[calc(100%+6px)] left-1/2 -translate-x-1/2 mb-1";
|
|
89
|
+
case "top-left":
|
|
90
|
+
return "bottom-[calc(100%+6px)] right-1/2 mb-1";
|
|
91
|
+
case "bottom-right":
|
|
92
|
+
return "top-[calc(100%+6px)] left-1/2 mt-1";
|
|
93
|
+
case "bottom-center":
|
|
94
|
+
return "top-[calc(100%+6px)] left-1/2 -translate-x-1/2 mt-1";
|
|
95
|
+
case "bottom-left":
|
|
96
|
+
return "top-[calc(100%+6px)] right-1/2 mt-1";
|
|
97
|
+
case "center-left":
|
|
98
|
+
return "right-[calc(100%+6px)] top-1/2 -translate-y-1/2 mr-1";
|
|
99
|
+
case "center-right":
|
|
100
|
+
return "left-[calc(100%+6px)] top-1/2 -translate-y-1/2 ml-1";
|
|
101
|
+
}
|
|
102
|
+
};
|
|
103
|
+
const getTransformOrigin = (position) => {
|
|
104
|
+
switch (position) {
|
|
105
|
+
case "bottom-right":
|
|
106
|
+
return "bottom left";
|
|
107
|
+
case "bottom-center":
|
|
108
|
+
return "bottom center";
|
|
109
|
+
case "bottom-left":
|
|
110
|
+
return "bottom right";
|
|
111
|
+
case "top-right":
|
|
112
|
+
return "top left";
|
|
113
|
+
case "top-center":
|
|
114
|
+
return "top center";
|
|
115
|
+
case "top-left":
|
|
116
|
+
return "top right";
|
|
117
|
+
case "center-left":
|
|
118
|
+
return "center right";
|
|
119
|
+
case "center-right":
|
|
120
|
+
return "center left";
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
const getArrowPosition = (position) => {
|
|
124
|
+
switch (position) {
|
|
125
|
+
case "bottom-right":
|
|
126
|
+
return "after:top-[calc(0%-5px)] after:left-0 after:[clip-path:polygon(0%_0%,100%_100%,0%_100%,0%_0%)]";
|
|
127
|
+
case "bottom-center":
|
|
128
|
+
return "after:top-[calc(0%-5px)] after:left-1/2 after:-translate-x-1/2 after:[clip-path:polygon(50%_0%,0%_100%,100%_100%)]";
|
|
129
|
+
case "bottom-left":
|
|
130
|
+
return "after:top-[calc(0%-5px)] after:right-0 after:[clip-path:polygon(100%_0%,0%_100%,100%_100%,100%_0%)]";
|
|
131
|
+
case "top-right":
|
|
132
|
+
return "after:bottom-[calc(0%-5px)] after:left-0 after:[clip-path:polygon(0%_100%,100%_0%,0%_0%,0%_100%)]";
|
|
133
|
+
case "top-center":
|
|
134
|
+
return "after:bottom-[calc(0%-5px)] after:left-1/2 after:-translate-x-1/2 after:[clip-path:polygon(50%_100%,0%_0%,100%_0%)]";
|
|
135
|
+
case "top-left":
|
|
136
|
+
return "after:bottom-[calc(0%-5px)] after:right-0 after:[clip-path:polygon(100%_100%,0%_0%,100%_0%,100%_100%)]";
|
|
137
|
+
case "center-right":
|
|
138
|
+
return "after:top-1/2 after:left-[calc(0%-5px)] after:-translate-y-1/2 after:[clip-path:polygon(100%_0%,0%_50%,100%_100%)]";
|
|
139
|
+
case "center-left":
|
|
140
|
+
return "after:top-1/2 after:right-[calc(0%-5px)] after:-translate-y-1/2 after:[clip-path:polygon(0%_0%,100%_50%,0%_100%)]";
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
exports.Tooltip = Tooltip;
|
|
145
|
+
//# sourceMappingURL=Tooltip.js.map
|
|
146
|
+
//# sourceMappingURL=Tooltip.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/Tooltip.tsx"],"names":["position","crisp","jsx","AnimatePresence","jsxs","motion","classNames","CrosshairCorners"],"mappings":"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","file":"Tooltip.js","sourcesContent":["import classNames from \"classnames\";\nimport { AnimatePresence, motion } from \"motion/react\";\nimport { crisp, swift } from \"./utils/easings\";\nimport { CrosshairCorners } from \"./CrossHair\";\n\nexport type TooltipProps = {\n description: string;\n isOpen?: boolean;\n position:\n | \"top-left\"\n | \"top-center\"\n | \"top-right\"\n | \"bottom-left\"\n | \"bottom-center\"\n | \"bottom-right\"\n | \"center-left\"\n | \"center-right\";\n};\n\nexport const Tooltip = ({ description, position, isOpen }: TooltipProps) => {\n const getPositionBasedAnimation = (position: TooltipProps[\"position\"]) => {\n const baseAnimation = {\n animate: { opacity: 1, y: 0, x: 0, scale: 1 },\n exit: { opacity: 0, scale: 0.9 },\n transition: { duration: 0.15, ease: crisp, delay: 0.15 },\n };\n\n if (position.startsWith(\"bottom\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: -10 },\n };\n } else if (position.startsWith(\"top\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: 10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: 10 },\n };\n } else if (position.startsWith(\"center-left\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, x: 10, scale: 0.9 },\n exit: { ...baseAnimation.exit, x: 10 },\n };\n } else if (position.startsWith(\"center-right\")) {\n return {\n ...baseAnimation,\n initial: { opacity: 0, x: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, x: -10 },\n };\n }\n\n // Fallback to default animation\n return {\n ...baseAnimation,\n initial: { opacity: 0, y: -10, scale: 0.9 },\n exit: { ...baseAnimation.exit, y: -10 },\n };\n };\n\n const animations = getPositionBasedAnimation(position);\n\n return (\n <AnimatePresence>\n {isOpen && (\n <motion.div\n key={position}\n {...animations}\n className={classNames(\n \"z-50 absolute font-medium w-max max-w-[200px] px-2.5 pt-1.5 pb-2 bg-card-foreground gradient-border before:bg-border text-xs leading-[150%] text-shade-tertiary\",\n \"after:absolute after:bg-border\",\n !position.startsWith(\"center\") && \"after:!w-[10px] after:!h-[5px]\",\n position.startsWith(\"center\") && \"after:!h-[10px] after:!w-[5px]\",\n getTooltipPosition(position),\n getArrowPosition(position)\n )}\n style={{ transformOrigin: getTransformOrigin(position) }}\n >\n <div className=\"absolute inset-0.5\">\n <CrosshairCorners\n size={4}\n variant=\"corners\"\n className=\"text-shade-mute\"\n animationDelay={0.15}\n animationDuration={0.75}\n corners={\n position === \"top-left\" || position === \"bottom-right\"\n ? [\"bottom-left\", \"top-right\"]\n : [\"bottom-right\", \"top-left\"]\n }\n />\n </div>\n {description}\n </motion.div>\n )}\n </AnimatePresence>\n );\n};\n\nconst getTooltipPosition = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"top-right\":\n return \"bottom-[calc(100%+6px)] left-1/2 mb-1\";\n case \"top-center\":\n return \"bottom-[calc(100%+6px)] left-1/2 -translate-x-1/2 mb-1\";\n case \"top-left\":\n return \"bottom-[calc(100%+6px)] right-1/2 mb-1\";\n case \"bottom-right\":\n return \"top-[calc(100%+6px)] left-1/2 mt-1\";\n case \"bottom-center\":\n return \"top-[calc(100%+6px)] left-1/2 -translate-x-1/2 mt-1\";\n case \"bottom-left\":\n return \"top-[calc(100%+6px)] right-1/2 mt-1\";\n case \"center-left\":\n return \"right-[calc(100%+6px)] top-1/2 -translate-y-1/2 mr-1\";\n case \"center-right\":\n return \"left-[calc(100%+6px)] top-1/2 -translate-y-1/2 ml-1\";\n }\n};\n\nconst getTransformOrigin = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"bottom-right\":\n return \"bottom left\";\n case \"bottom-center\":\n return \"bottom center\";\n case \"bottom-left\":\n return \"bottom right\";\n case \"top-right\":\n return \"top left\";\n case \"top-center\":\n return \"top center\";\n case \"top-left\":\n return \"top right\";\n case \"center-left\":\n return \"center right\";\n case \"center-right\":\n return \"center left\";\n }\n};\n\nconst getArrowPosition = (position: TooltipProps[\"position\"]) => {\n switch (position) {\n case \"bottom-right\":\n return \"after:top-[calc(0%-5px)] after:left-0 after:[clip-path:polygon(0%_0%,100%_100%,0%_100%,0%_0%)]\";\n case \"bottom-center\":\n return \"after:top-[calc(0%-5px)] after:left-1/2 after:-translate-x-1/2 after:[clip-path:polygon(50%_0%,0%_100%,100%_100%)]\";\n case \"bottom-left\":\n return \"after:top-[calc(0%-5px)] after:right-0 after:[clip-path:polygon(100%_0%,0%_100%,100%_100%,100%_0%)]\";\n case \"top-right\":\n return \"after:bottom-[calc(0%-5px)] after:left-0 after:[clip-path:polygon(0%_100%,100%_0%,0%_0%,0%_100%)]\";\n case \"top-center\":\n return \"after:bottom-[calc(0%-5px)] after:left-1/2 after:-translate-x-1/2 after:[clip-path:polygon(50%_100%,0%_0%,100%_0%)]\";\n case \"top-left\":\n return \"after:bottom-[calc(0%-5px)] after:right-0 after:[clip-path:polygon(100%_100%,0%_0%,100%_0%,100%_100%)]\";\n case \"center-right\":\n return \"after:top-1/2 after:left-[calc(0%-5px)] after:-translate-y-1/2 after:[clip-path:polygon(100%_0%,0%_50%,100%_100%)]\";\n case \"center-left\":\n return \"after:top-1/2 after:right-[calc(0%-5px)] after:-translate-y-1/2 after:[clip-path:polygon(0%_0%,100%_50%,0%_100%)]\";\n }\n};\n"]}
|