@ton/appkit-react 0.0.1-alpha.2 → 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +211 -1
- package/dist/components/block/block.d.ts +13 -0
- package/dist/components/block/block.d.ts.map +1 -0
- package/dist/components/block/block.js +18 -0
- package/dist/components/block/block.js.map +1 -0
- package/dist/components/block/block.mjs +11 -0
- package/dist/components/block/block.mjs.map +1 -0
- package/dist/components/block/block.module.css +13 -0
- package/dist/components/block/block.module.css.map +1 -0
- package/dist/components/block/block.stories.d.ts +15 -0
- package/dist/components/block/block.stories.d.ts.map +1 -0
- package/dist/components/block/block.stories.js +45 -0
- package/dist/components/block/block.stories.js.map +1 -0
- package/dist/components/block/block.stories.mjs +39 -0
- package/dist/components/block/block.stories.mjs.map +1 -0
- package/dist/components/block/index.d.ts +9 -0
- package/dist/components/block/index.d.ts.map +1 -0
- package/dist/components/block/index.js +14 -0
- package/dist/components/block/index.js.map +1 -0
- package/dist/components/block/index.mjs +3 -0
- package/dist/components/block/index.mjs.map +1 -0
- package/dist/components/button/button.d.ts +10 -0
- package/dist/components/button/button.d.ts.map +1 -0
- package/dist/components/button/button.js +18 -0
- package/dist/components/button/button.js.map +1 -0
- package/dist/components/button/button.mjs +11 -0
- package/dist/components/button/button.mjs.map +1 -0
- package/dist/components/button/button.module.css +33 -0
- package/dist/components/button/button.module.css.map +1 -0
- package/dist/components/button/button.stories.d.ts +16 -0
- package/dist/components/button/button.stories.d.ts.map +1 -0
- package/dist/components/button/button.stories.js +53 -0
- package/dist/components/button/button.stories.js.map +1 -0
- package/dist/components/button/button.stories.mjs +46 -0
- package/dist/components/button/button.stories.mjs.map +1 -0
- package/dist/components/button/index.d.ts +9 -0
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/button/index.js +12 -0
- package/dist/components/button/index.js.map +1 -0
- package/dist/components/button/index.mjs +3 -0
- package/dist/components/button/index.mjs.map +1 -0
- package/dist/components/circle-icon/circle-icon.d.ts +16 -0
- package/dist/components/circle-icon/circle-icon.d.ts.map +1 -0
- package/dist/components/circle-icon/circle-icon.js +22 -0
- package/dist/components/circle-icon/circle-icon.js.map +1 -0
- package/dist/components/circle-icon/circle-icon.mjs +15 -0
- package/dist/components/circle-icon/circle-icon.mjs.map +1 -0
- package/dist/components/circle-icon/circle-icon.module.css +31 -0
- package/dist/components/circle-icon/circle-icon.module.css.map +1 -0
- package/dist/components/circle-icon/circle-icon.stories.d.ts +18 -0
- package/dist/components/circle-icon/circle-icon.stories.d.ts.map +1 -0
- package/dist/components/circle-icon/circle-icon.stories.js +62 -0
- package/dist/components/circle-icon/circle-icon.stories.js.map +1 -0
- package/dist/components/circle-icon/circle-icon.stories.mjs +53 -0
- package/dist/components/circle-icon/circle-icon.stories.mjs.map +1 -0
- package/dist/components/circle-icon/index.d.ts +9 -0
- package/dist/components/circle-icon/index.d.ts.map +1 -0
- package/dist/components/circle-icon/index.js +14 -0
- package/dist/components/circle-icon/index.js.map +1 -0
- package/dist/components/circle-icon/index.mjs +3 -0
- package/dist/components/circle-icon/index.mjs.map +1 -0
- package/dist/components/ton-icon/index.d.ts +9 -0
- package/dist/components/ton-icon/index.d.ts.map +1 -0
- package/dist/components/ton-icon/index.js +16 -0
- package/dist/components/ton-icon/index.js.map +1 -0
- package/dist/components/ton-icon/index.mjs +3 -0
- package/dist/components/ton-icon/index.mjs.map +1 -0
- package/dist/components/ton-icon/ton-icon.d.ts +14 -0
- package/dist/components/ton-icon/ton-icon.d.ts.map +1 -0
- package/dist/components/ton-icon/ton-icon.js +39 -0
- package/dist/components/ton-icon/ton-icon.js.map +1 -0
- package/dist/components/ton-icon/ton-icon.mjs +36 -0
- package/dist/components/ton-icon/ton-icon.mjs.map +1 -0
- package/dist/components/ton-icon/ton-icon.stories.d.ts +20 -0
- package/dist/components/ton-icon/ton-icon.stories.d.ts.map +1 -0
- package/dist/components/ton-icon/ton-icon.stories.js +71 -0
- package/dist/components/ton-icon/ton-icon.stories.js.map +1 -0
- package/dist/components/ton-icon/ton-icon.stories.mjs +60 -0
- package/dist/components/ton-icon/ton-icon.stories.mjs.map +1 -0
- package/dist/features/balances/components/balance-badge/balance-badge.d.ts +21 -0
- package/dist/features/balances/components/balance-badge/balance-badge.d.ts.map +1 -0
- package/dist/features/balances/components/balance-badge/balance-badge.js +41 -0
- package/dist/features/balances/components/balance-badge/balance-badge.js.map +1 -0
- package/dist/features/balances/components/balance-badge/balance-badge.mjs +34 -0
- package/dist/features/balances/components/balance-badge/balance-badge.mjs.map +1 -0
- package/dist/features/balances/components/balance-badge/balance-badge.module.css +19 -0
- package/dist/features/balances/components/balance-badge/balance-badge.module.css.map +1 -0
- package/dist/features/balances/components/balance-badge/balance-badge.stories.d.ts +16 -0
- package/dist/features/balances/components/balance-badge/balance-badge.stories.d.ts.map +1 -0
- package/dist/features/balances/components/balance-badge/balance-badge.stories.js +59 -0
- package/dist/features/balances/components/balance-badge/balance-badge.stories.js.map +1 -0
- package/dist/features/balances/components/balance-badge/balance-badge.stories.mjs +51 -0
- package/dist/features/balances/components/balance-badge/balance-badge.stories.mjs.map +1 -0
- package/dist/features/balances/components/balance-badge/index.d.ts +9 -0
- package/dist/features/balances/components/balance-badge/index.d.ts.map +1 -0
- package/dist/features/balances/components/balance-badge/index.js +12 -0
- package/dist/features/balances/components/balance-badge/index.js.map +1 -0
- package/dist/features/balances/components/balance-badge/index.mjs +3 -0
- package/dist/features/balances/components/balance-badge/index.mjs.map +1 -0
- package/dist/features/balances/components/currency-item/currency-item.d.ts +17 -0
- package/dist/features/balances/components/currency-item/currency-item.d.ts.map +1 -0
- package/dist/features/balances/components/currency-item/currency-item.js +44 -0
- package/dist/features/balances/components/currency-item/currency-item.js.map +1 -0
- package/dist/features/balances/components/currency-item/currency-item.mjs +37 -0
- package/dist/features/balances/components/currency-item/currency-item.mjs.map +1 -0
- package/dist/features/balances/components/currency-item/currency-item.module.css +69 -0
- package/dist/features/balances/components/currency-item/currency-item.module.css.map +1 -0
- package/dist/features/balances/components/currency-item/currency-item.stories.d.ts +19 -0
- package/dist/features/balances/components/currency-item/currency-item.stories.d.ts.map +1 -0
- package/dist/features/balances/components/currency-item/currency-item.stories.js +89 -0
- package/dist/features/balances/components/currency-item/currency-item.stories.js.map +1 -0
- package/dist/features/balances/components/currency-item/currency-item.stories.mjs +79 -0
- package/dist/features/balances/components/currency-item/currency-item.stories.mjs.map +1 -0
- package/dist/features/balances/components/currency-item/index.d.ts +9 -0
- package/dist/features/balances/components/currency-item/index.d.ts.map +1 -0
- package/dist/features/balances/components/currency-item/index.js +14 -0
- package/dist/features/balances/components/currency-item/index.js.map +1 -0
- package/dist/features/balances/components/currency-item/index.mjs +3 -0
- package/dist/features/balances/components/currency-item/index.mjs.map +1 -0
- package/dist/features/balances/components/send-jetton-button/index.d.ts +9 -0
- package/dist/features/balances/components/send-jetton-button/index.d.ts.map +1 -0
- package/dist/features/balances/components/send-jetton-button/index.js +14 -0
- package/dist/features/balances/components/send-jetton-button/index.js.map +1 -0
- package/dist/features/balances/components/send-jetton-button/index.mjs +3 -0
- package/dist/features/balances/components/send-jetton-button/index.mjs.map +1 -0
- package/dist/features/balances/components/send-jetton-button/send-jetton-button.d.ts +21 -0
- package/dist/features/balances/components/send-jetton-button/send-jetton-button.d.ts.map +1 -0
- package/dist/features/balances/components/send-jetton-button/send-jetton-button.js +56 -0
- package/dist/features/balances/components/send-jetton-button/send-jetton-button.js.map +1 -0
- package/dist/features/balances/components/send-jetton-button/send-jetton-button.mjs +54 -0
- package/dist/features/balances/components/send-jetton-button/send-jetton-button.mjs.map +1 -0
- package/dist/features/balances/components/send-jetton-button/send-jetton-button.stories.d.ts +22 -0
- package/dist/features/balances/components/send-jetton-button/send-jetton-button.stories.d.ts.map +1 -0
- package/dist/features/balances/components/send-jetton-button/send-jetton-button.stories.js +58 -0
- package/dist/features/balances/components/send-jetton-button/send-jetton-button.stories.js.map +1 -0
- package/dist/features/balances/components/send-jetton-button/send-jetton-button.stories.mjs +49 -0
- package/dist/features/balances/components/send-jetton-button/send-jetton-button.stories.mjs.map +1 -0
- package/dist/features/balances/components/send-ton-button/index.d.ts +9 -0
- package/dist/features/balances/components/send-ton-button/index.d.ts.map +1 -0
- package/dist/features/balances/components/send-ton-button/index.js +14 -0
- package/dist/features/balances/components/send-ton-button/index.js.map +1 -0
- package/dist/features/balances/components/send-ton-button/index.mjs +3 -0
- package/dist/features/balances/components/send-ton-button/index.mjs.map +1 -0
- package/dist/features/balances/components/send-ton-button/send-ton-button.d.ts +16 -0
- package/dist/features/balances/components/send-ton-button/send-ton-button.d.ts.map +1 -0
- package/dist/features/balances/components/send-ton-button/send-ton-button.js +33 -0
- package/dist/features/balances/components/send-ton-button/send-ton-button.js.map +1 -0
- package/dist/features/balances/components/send-ton-button/send-ton-button.mjs +31 -0
- package/dist/features/balances/components/send-ton-button/send-ton-button.mjs.map +1 -0
- package/dist/features/balances/components/send-ton-button/send-ton-button.stories.d.ts +21 -0
- package/dist/features/balances/components/send-ton-button/send-ton-button.stories.d.ts.map +1 -0
- package/dist/features/balances/components/send-ton-button/send-ton-button.stories.js +52 -0
- package/dist/features/balances/components/send-ton-button/send-ton-button.stories.js.map +1 -0
- package/dist/features/balances/components/send-ton-button/send-ton-button.stories.mjs +44 -0
- package/dist/features/balances/components/send-ton-button/send-ton-button.stories.mjs.map +1 -0
- package/dist/features/balances/hooks/use-balance-by-address.d.ts +16 -0
- package/dist/features/balances/hooks/use-balance-by-address.d.ts.map +1 -0
- package/dist/features/balances/hooks/use-balance-by-address.js +14 -0
- package/dist/features/balances/hooks/use-balance-by-address.js.map +1 -0
- package/dist/features/balances/hooks/use-balance-by-address.mjs +12 -0
- package/dist/features/balances/hooks/use-balance-by-address.mjs.map +1 -0
- package/dist/features/balances/hooks/use-balance.d.ts +16 -0
- package/dist/features/balances/hooks/use-balance.d.ts.map +1 -0
- package/dist/features/balances/hooks/use-balance.js +13 -0
- package/dist/features/balances/hooks/use-balance.js.map +1 -0
- package/dist/features/balances/hooks/use-balance.mjs +11 -0
- package/dist/features/balances/hooks/use-balance.mjs.map +1 -0
- package/dist/features/balances/index.d.ts +14 -0
- package/dist/features/balances/index.d.ts.map +1 -0
- package/dist/features/balances/index.js +49 -0
- package/dist/features/balances/index.js.map +1 -0
- package/dist/features/balances/index.mjs +8 -0
- package/dist/features/balances/index.mjs.map +1 -0
- package/dist/features/jettons/hooks/use-jetton-balance-by-address.d.ts +16 -0
- package/dist/features/jettons/hooks/use-jetton-balance-by-address.d.ts.map +1 -0
- package/dist/features/jettons/hooks/use-jetton-balance-by-address.js +14 -0
- package/dist/features/jettons/hooks/use-jetton-balance-by-address.js.map +1 -0
- package/dist/features/jettons/hooks/use-jetton-balance-by-address.mjs +12 -0
- package/dist/features/jettons/hooks/use-jetton-balance-by-address.mjs.map +1 -0
- package/dist/features/jettons/hooks/use-jetton-info.d.ts +16 -0
- package/dist/features/jettons/hooks/use-jetton-info.d.ts.map +1 -0
- package/dist/features/jettons/hooks/use-jetton-info.js +14 -0
- package/dist/features/jettons/hooks/use-jetton-info.js.map +1 -0
- package/dist/features/jettons/hooks/use-jetton-info.mjs +12 -0
- package/dist/features/jettons/hooks/use-jetton-info.mjs.map +1 -0
- package/dist/features/jettons/hooks/use-jetton-wallet-address.d.ts +16 -0
- package/dist/features/jettons/hooks/use-jetton-wallet-address.d.ts.map +1 -0
- package/dist/features/jettons/hooks/use-jetton-wallet-address.js +14 -0
- package/dist/features/jettons/hooks/use-jetton-wallet-address.js.map +1 -0
- package/dist/features/jettons/hooks/use-jetton-wallet-address.mjs +12 -0
- package/dist/features/jettons/hooks/use-jetton-wallet-address.mjs.map +1 -0
- package/dist/features/jettons/hooks/use-jettons-by-address.d.ts +16 -0
- package/dist/features/jettons/hooks/use-jettons-by-address.d.ts.map +1 -0
- package/dist/features/jettons/hooks/use-jettons-by-address.js +14 -0
- package/dist/features/jettons/hooks/use-jettons-by-address.js.map +1 -0
- package/dist/features/jettons/hooks/use-jettons-by-address.mjs +12 -0
- package/dist/features/jettons/hooks/use-jettons-by-address.mjs.map +1 -0
- package/dist/features/jettons/hooks/use-jettons.d.ts +16 -0
- package/dist/features/jettons/hooks/use-jettons.d.ts.map +1 -0
- package/dist/features/jettons/hooks/use-jettons.js +13 -0
- package/dist/features/jettons/hooks/use-jettons.js.map +1 -0
- package/dist/features/jettons/hooks/use-jettons.mjs +11 -0
- package/dist/features/jettons/hooks/use-jettons.mjs.map +1 -0
- package/dist/features/jettons/hooks/use-transfer-jetton.d.ts +14 -0
- package/dist/features/jettons/hooks/use-transfer-jetton.d.ts.map +1 -0
- package/dist/features/jettons/hooks/use-transfer-jetton.js +14 -0
- package/dist/features/jettons/hooks/use-transfer-jetton.js.map +1 -0
- package/dist/features/jettons/hooks/use-transfer-jetton.mjs +12 -0
- package/dist/features/jettons/hooks/use-transfer-jetton.mjs.map +1 -0
- package/dist/features/jettons/index.d.ts +14 -0
- package/dist/features/jettons/index.d.ts.map +1 -0
- package/dist/features/jettons/index.js +49 -0
- package/dist/features/jettons/index.js.map +1 -0
- package/dist/features/jettons/index.mjs +8 -0
- package/dist/features/jettons/index.mjs.map +1 -0
- package/dist/features/network/hooks/use-network.d.ts +14 -0
- package/dist/features/network/hooks/use-network.d.ts.map +1 -0
- package/dist/features/network/hooks/use-network.js +13 -0
- package/dist/features/network/hooks/use-network.js.map +1 -0
- package/dist/features/network/hooks/use-network.mjs +11 -0
- package/dist/features/network/hooks/use-network.mjs.map +1 -0
- package/dist/features/network/hooks/use-networks.d.ts +14 -0
- package/dist/features/network/hooks/use-networks.d.ts.map +1 -0
- package/dist/features/network/hooks/use-networks.js +23 -0
- package/dist/features/network/hooks/use-networks.js.map +1 -0
- package/dist/features/network/hooks/use-networks.mjs +21 -0
- package/dist/features/network/hooks/use-networks.mjs.map +1 -0
- package/dist/features/network/index.d.ts +10 -0
- package/dist/features/network/index.d.ts.map +1 -0
- package/dist/features/network/index.js +17 -0
- package/dist/features/network/index.js.map +1 -0
- package/dist/features/network/index.mjs +4 -0
- package/dist/features/network/index.mjs.map +1 -0
- package/dist/features/nft/components/nft-item/index.d.ts +9 -0
- package/dist/features/nft/components/nft-item/index.d.ts.map +1 -0
- package/dist/features/nft/components/nft-item/index.js +14 -0
- package/dist/features/nft/components/nft-item/index.js.map +1 -0
- package/dist/features/nft/components/nft-item/index.mjs +3 -0
- package/dist/features/nft/components/nft-item/index.mjs.map +1 -0
- package/dist/features/nft/components/nft-item/nft-item.d.ts +14 -0
- package/dist/features/nft/components/nft-item/nft-item.d.ts.map +1 -0
- package/dist/features/nft/components/nft-item/nft-item.js +43 -0
- package/dist/features/nft/components/nft-item/nft-item.js.map +1 -0
- package/dist/features/nft/components/nft-item/nft-item.mjs +36 -0
- package/dist/features/nft/components/nft-item/nft-item.mjs.map +1 -0
- package/dist/features/nft/components/nft-item/nft-item.module.css +65 -0
- package/dist/features/nft/components/nft-item/nft-item.module.css.map +1 -0
- package/dist/features/nft/components/nft-item/nft-item.stories.d.ts +25 -0
- package/dist/features/nft/components/nft-item/nft-item.stories.d.ts.map +1 -0
- package/dist/features/nft/components/nft-item/nft-item.stories.js +124 -0
- package/dist/features/nft/components/nft-item/nft-item.stories.js.map +1 -0
- package/dist/features/nft/components/nft-item/nft-item.stories.mjs +110 -0
- package/dist/features/nft/components/nft-item/nft-item.stories.mjs.map +1 -0
- package/dist/features/nft/hooks/use-nft.d.ts +16 -0
- package/dist/features/nft/hooks/use-nft.d.ts.map +1 -0
- package/dist/features/nft/hooks/use-nft.js +14 -0
- package/dist/features/nft/hooks/use-nft.js.map +1 -0
- package/dist/features/nft/hooks/use-nft.mjs +12 -0
- package/dist/features/nft/hooks/use-nft.mjs.map +1 -0
- package/dist/features/nft/hooks/use-nfts-by-address.d.ts +16 -0
- package/dist/features/nft/hooks/use-nfts-by-address.d.ts.map +1 -0
- package/dist/features/nft/hooks/use-nfts-by-address.js +14 -0
- package/dist/features/nft/hooks/use-nfts-by-address.js.map +1 -0
- package/dist/features/nft/hooks/use-nfts-by-address.mjs +12 -0
- package/dist/features/nft/hooks/use-nfts-by-address.mjs.map +1 -0
- package/dist/features/nft/hooks/use-nfts.d.ts +16 -0
- package/dist/features/nft/hooks/use-nfts.d.ts.map +1 -0
- package/dist/features/nft/hooks/use-nfts.js +13 -0
- package/dist/features/nft/hooks/use-nfts.js.map +1 -0
- package/dist/features/nft/hooks/use-nfts.mjs +11 -0
- package/dist/features/nft/hooks/use-nfts.mjs.map +1 -0
- package/dist/features/nft/hooks/use-transfer-nft.d.ts +14 -0
- package/dist/features/nft/hooks/use-transfer-nft.d.ts.map +1 -0
- package/dist/features/nft/hooks/use-transfer-nft.js +14 -0
- package/dist/features/nft/hooks/use-transfer-nft.js.map +1 -0
- package/dist/features/nft/hooks/use-transfer-nft.mjs +12 -0
- package/dist/features/nft/hooks/use-transfer-nft.mjs.map +1 -0
- package/dist/features/nft/index.d.ts +13 -0
- package/dist/features/nft/index.d.ts.map +1 -0
- package/dist/features/nft/index.js +42 -0
- package/dist/features/nft/index.js.map +1 -0
- package/dist/features/nft/index.mjs +7 -0
- package/dist/features/nft/index.mjs.map +1 -0
- package/dist/features/signing/hooks/use-sign-binary.d.ts +25 -0
- package/dist/features/signing/hooks/use-sign-binary.d.ts.map +1 -0
- package/dist/features/signing/hooks/use-sign-binary.js +14 -0
- package/dist/features/signing/hooks/use-sign-binary.js.map +1 -0
- package/dist/features/signing/hooks/use-sign-binary.mjs +12 -0
- package/dist/features/signing/hooks/use-sign-binary.mjs.map +1 -0
- package/dist/features/signing/hooks/use-sign-cell.d.ts +26 -0
- package/dist/features/signing/hooks/use-sign-cell.d.ts.map +1 -0
- package/dist/features/signing/hooks/use-sign-cell.js +14 -0
- package/dist/features/signing/hooks/use-sign-cell.js.map +1 -0
- package/dist/features/signing/hooks/use-sign-cell.mjs +12 -0
- package/dist/features/signing/hooks/use-sign-cell.mjs.map +1 -0
- package/dist/features/signing/hooks/use-sign-text.d.ts +25 -0
- package/dist/features/signing/hooks/use-sign-text.d.ts.map +1 -0
- package/dist/features/signing/hooks/use-sign-text.js +14 -0
- package/dist/features/signing/hooks/use-sign-text.js.map +1 -0
- package/dist/features/signing/hooks/use-sign-text.mjs +12 -0
- package/dist/features/signing/hooks/use-sign-text.mjs.map +1 -0
- package/dist/features/signing/index.d.ts +11 -0
- package/dist/features/signing/index.d.ts.map +1 -0
- package/dist/features/signing/index.js +28 -0
- package/dist/features/signing/index.js.map +1 -0
- package/dist/features/signing/index.mjs +5 -0
- package/dist/features/signing/index.mjs.map +1 -0
- package/dist/features/swap/hooks/use-build-swap-transaction.d.ts +13 -0
- package/dist/features/swap/hooks/use-build-swap-transaction.d.ts.map +1 -0
- package/dist/features/swap/hooks/use-build-swap-transaction.js +14 -0
- package/dist/features/swap/hooks/use-build-swap-transaction.js.map +1 -0
- package/dist/features/swap/hooks/use-build-swap-transaction.mjs +12 -0
- package/dist/features/swap/hooks/use-build-swap-transaction.mjs.map +1 -0
- package/dist/features/swap/hooks/use-swap-quote.d.ts +13 -0
- package/dist/features/swap/hooks/use-swap-quote.d.ts.map +1 -0
- package/dist/features/swap/hooks/use-swap-quote.js +14 -0
- package/dist/features/swap/hooks/use-swap-quote.js.map +1 -0
- package/dist/features/swap/hooks/use-swap-quote.mjs +12 -0
- package/dist/features/swap/hooks/use-swap-quote.mjs.map +1 -0
- package/dist/features/swap/index.d.ts +10 -0
- package/dist/features/swap/index.d.ts.map +1 -0
- package/dist/features/swap/index.js +21 -0
- package/dist/features/swap/index.js.map +1 -0
- package/dist/features/swap/index.mjs +4 -0
- package/dist/features/swap/index.mjs.map +1 -0
- package/dist/features/transaction/components/transaction/index.d.ts +10 -0
- package/dist/features/transaction/components/transaction/index.d.ts.map +1 -0
- package/dist/features/transaction/components/transaction/index.js +12 -0
- package/dist/features/transaction/components/transaction/index.js.map +1 -0
- package/dist/features/transaction/components/transaction/index.mjs +3 -0
- package/dist/features/transaction/components/transaction/index.mjs.map +1 -0
- package/dist/features/transaction/components/transaction/transaction.d.ts +30 -0
- package/dist/features/transaction/components/transaction/transaction.d.ts.map +1 -0
- package/dist/features/transaction/components/transaction/transaction.js +49 -0
- package/dist/features/transaction/components/transaction/transaction.js.map +1 -0
- package/dist/features/transaction/components/transaction/transaction.mjs +47 -0
- package/dist/features/transaction/components/transaction/transaction.mjs.map +1 -0
- package/dist/features/transaction/components/transaction/transaction.stories.d.ts +23 -0
- package/dist/features/transaction/components/transaction/transaction.stories.d.ts.map +1 -0
- package/dist/features/transaction/components/transaction/transaction.stories.js +64 -0
- package/dist/features/transaction/components/transaction/transaction.stories.js.map +1 -0
- package/dist/features/transaction/components/transaction/transaction.stories.mjs +54 -0
- package/dist/features/transaction/components/transaction/transaction.stories.mjs.map +1 -0
- package/dist/features/transaction/components/transaction-provider/index.d.ts +10 -0
- package/dist/features/transaction/components/transaction-provider/index.d.ts.map +1 -0
- package/dist/features/transaction/components/transaction-provider/index.js +20 -0
- package/dist/features/transaction/components/transaction-provider/index.js.map +1 -0
- package/dist/features/transaction/components/transaction-provider/index.mjs +3 -0
- package/dist/features/transaction/components/transaction-provider/index.mjs.map +1 -0
- package/dist/features/transaction/components/transaction-provider/transaction-provider.d.ts +36 -0
- package/dist/features/transaction/components/transaction-provider/transaction-provider.d.ts.map +1 -0
- package/dist/features/transaction/components/transaction-provider/transaction-provider.js +76 -0
- package/dist/features/transaction/components/transaction-provider/transaction-provider.js.map +1 -0
- package/dist/features/transaction/components/transaction-provider/transaction-provider.mjs +72 -0
- package/dist/features/transaction/components/transaction-provider/transaction-provider.mjs.map +1 -0
- package/dist/features/transaction/hooks/use-send-transaction.d.ts +14 -0
- package/dist/features/transaction/hooks/use-send-transaction.d.ts.map +1 -0
- package/dist/features/transaction/hooks/use-send-transaction.js +14 -0
- package/dist/features/transaction/hooks/use-send-transaction.js.map +1 -0
- package/dist/features/transaction/hooks/use-send-transaction.mjs +12 -0
- package/dist/features/transaction/hooks/use-send-transaction.mjs.map +1 -0
- package/dist/features/transaction/hooks/use-transfer-ton.d.ts +14 -0
- package/dist/features/transaction/hooks/use-transfer-ton.d.ts.map +1 -0
- package/dist/features/transaction/hooks/use-transfer-ton.js +14 -0
- package/dist/features/transaction/hooks/use-transfer-ton.js.map +1 -0
- package/dist/features/transaction/hooks/use-transfer-ton.mjs +12 -0
- package/dist/features/transaction/hooks/use-transfer-ton.mjs.map +1 -0
- package/dist/features/transaction/index.d.ts +11 -0
- package/dist/features/transaction/index.d.ts.map +1 -0
- package/dist/features/transaction/index.js +28 -0
- package/dist/features/transaction/index.js.map +1 -0
- package/dist/features/transaction/index.mjs +5 -0
- package/dist/features/transaction/index.mjs.map +1 -0
- package/dist/features/wallets/components/connect-button/index.d.ts +9 -0
- package/dist/features/wallets/components/connect-button/index.d.ts.map +1 -0
- package/dist/features/wallets/components/connect-button/index.js +12 -0
- package/dist/features/wallets/components/connect-button/index.js.map +1 -0
- package/dist/features/wallets/components/connect-button/index.mjs +3 -0
- package/dist/features/wallets/components/connect-button/index.mjs.map +1 -0
- package/dist/features/wallets/hooks/use-address.d.ts +13 -0
- package/dist/features/wallets/hooks/use-address.d.ts.map +1 -0
- package/dist/features/wallets/hooks/use-address.js +13 -0
- package/dist/features/wallets/hooks/use-address.js.map +1 -0
- package/dist/features/wallets/hooks/use-address.mjs +11 -0
- package/dist/features/wallets/hooks/use-address.mjs.map +1 -0
- package/dist/features/wallets/hooks/use-connect.d.ts +14 -0
- package/dist/features/wallets/hooks/use-connect.d.ts.map +1 -0
- package/dist/features/wallets/hooks/use-connect.js +14 -0
- package/dist/features/wallets/hooks/use-connect.js.map +1 -0
- package/dist/features/wallets/hooks/use-connect.mjs +12 -0
- package/dist/features/wallets/hooks/use-connect.mjs.map +1 -0
- package/dist/features/wallets/hooks/use-connected-wallets.d.ts +11 -0
- package/dist/features/wallets/hooks/use-connected-wallets.d.ts.map +1 -0
- package/dist/features/wallets/hooks/use-connected-wallets.js +23 -0
- package/dist/features/wallets/hooks/use-connected-wallets.js.map +1 -0
- package/dist/features/wallets/hooks/use-connected-wallets.mjs +21 -0
- package/dist/features/wallets/hooks/use-connected-wallets.mjs.map +1 -0
- package/dist/features/wallets/hooks/use-connector-by-id.d.ts +10 -0
- package/dist/features/wallets/hooks/use-connector-by-id.d.ts.map +1 -0
- package/dist/features/wallets/hooks/use-connector-by-id.js +23 -0
- package/dist/features/wallets/hooks/use-connector-by-id.js.map +1 -0
- package/dist/features/wallets/hooks/use-connector-by-id.mjs +21 -0
- package/dist/features/wallets/hooks/use-connector-by-id.mjs.map +1 -0
- package/dist/features/wallets/hooks/use-connectors.d.ts +11 -0
- package/dist/features/wallets/hooks/use-connectors.d.ts.map +1 -0
- package/dist/features/wallets/hooks/use-connectors.js +23 -0
- package/dist/features/wallets/hooks/use-connectors.js.map +1 -0
- package/dist/features/wallets/hooks/use-connectors.mjs +21 -0
- package/dist/features/wallets/hooks/use-connectors.mjs.map +1 -0
- package/dist/features/wallets/hooks/use-disconnect.d.ts +14 -0
- package/dist/features/wallets/hooks/use-disconnect.d.ts.map +1 -0
- package/dist/features/wallets/hooks/use-disconnect.js +14 -0
- package/dist/features/wallets/hooks/use-disconnect.js.map +1 -0
- package/dist/features/wallets/hooks/use-disconnect.mjs +12 -0
- package/dist/features/wallets/hooks/use-disconnect.mjs.map +1 -0
- package/dist/features/wallets/hooks/use-selected-wallet.d.ts +14 -0
- package/dist/features/wallets/hooks/use-selected-wallet.d.ts.map +1 -0
- package/dist/features/wallets/hooks/use-selected-wallet.js +30 -0
- package/dist/features/wallets/hooks/use-selected-wallet.js.map +1 -0
- package/dist/features/wallets/hooks/use-selected-wallet.mjs +28 -0
- package/dist/features/wallets/hooks/use-selected-wallet.mjs.map +1 -0
- package/dist/features/wallets/index.d.ts +16 -0
- package/dist/features/wallets/index.d.ts.map +1 -0
- package/dist/features/wallets/index.js +63 -0
- package/dist/features/wallets/index.js.map +1 -0
- package/dist/features/wallets/index.mjs +10 -0
- package/dist/features/wallets/index.mjs.map +1 -0
- package/dist/global.d.js +4 -0
- package/dist/global.d.js.map +1 -0
- package/dist/global.d.mjs +3 -0
- package/dist/global.d.mjs.map +1 -0
- package/dist/hooks/use-app-kit-theme.d.ts +10 -0
- package/dist/hooks/use-app-kit-theme.d.ts.map +1 -0
- package/dist/hooks/use-app-kit-theme.js +16 -0
- package/dist/hooks/use-app-kit-theme.js.map +1 -0
- package/dist/hooks/use-app-kit-theme.mjs +14 -0
- package/dist/hooks/use-app-kit-theme.mjs.map +1 -0
- package/dist/hooks/use-app-kit.d.ts +9 -0
- package/dist/hooks/use-app-kit.d.ts.map +1 -0
- package/dist/hooks/use-app-kit.js +16 -0
- package/dist/hooks/use-app-kit.js.map +1 -0
- package/dist/hooks/use-app-kit.mjs +14 -0
- package/dist/hooks/use-app-kit.mjs.map +1 -0
- package/dist/hooks/use-i18n.d.ts +9 -0
- package/dist/hooks/use-i18n.d.ts.map +1 -0
- package/dist/hooks/use-i18n.js +16 -0
- package/dist/hooks/use-i18n.js.map +1 -0
- package/dist/hooks/use-i18n.mjs +14 -0
- package/dist/hooks/use-i18n.mjs.map +1 -0
- package/dist/index.d.ts +26 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +123 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +20 -0
- package/dist/index.mjs.map +1 -0
- package/dist/libs/i18n.d.ts +34 -0
- package/dist/libs/i18n.d.ts.map +1 -0
- package/dist/libs/i18n.js +22 -0
- package/dist/libs/i18n.js.map +1 -0
- package/dist/libs/i18n.mjs +11 -0
- package/dist/libs/i18n.mjs.map +1 -0
- package/dist/libs/query.d.ts +26 -0
- package/dist/libs/query.d.ts.map +1 -0
- package/dist/libs/query.js +20 -0
- package/dist/libs/query.js.map +1 -0
- package/dist/libs/query.mjs +15 -0
- package/dist/libs/query.mjs.map +1 -0
- package/dist/locales/en.d.ts +29 -0
- package/dist/locales/en.d.ts.map +1 -0
- package/dist/locales/en.js +30 -0
- package/dist/locales/en.js.map +1 -0
- package/dist/locales/en.mjs +28 -0
- package/dist/locales/en.mjs.map +1 -0
- package/dist/providers/app-kit-provider.d.ts +15 -0
- package/dist/providers/app-kit-provider.d.ts.map +1 -0
- package/dist/providers/app-kit-provider.js +16 -0
- package/dist/providers/app-kit-provider.js.map +1 -0
- package/dist/providers/app-kit-provider.mjs +13 -0
- package/dist/providers/app-kit-provider.mjs.map +1 -0
- package/dist/providers/i18n-provider.d.ts +22 -0
- package/dist/providers/i18n-provider.d.ts.map +1 -0
- package/dist/providers/i18n-provider.js +55 -0
- package/dist/providers/i18n-provider.js.map +1 -0
- package/dist/providers/i18n-provider.mjs +52 -0
- package/dist/providers/i18n-provider.mjs.map +1 -0
- package/dist/styles/index.css +73 -0
- package/dist/styles/index.css.map +1 -0
- package/dist/styles/typography.module.css +79 -0
- package/dist/styles/typography.module.css.map +1 -0
- package/dist/tonconnect/tonconnect-bridge.d.ts +19 -0
- package/dist/tonconnect/tonconnect-bridge.d.ts.map +1 -0
- package/dist/tonconnect/tonconnect-bridge.js +23 -0
- package/dist/tonconnect/tonconnect-bridge.js.map +1 -0
- package/dist/tonconnect/tonconnect-bridge.mjs +21 -0
- package/dist/tonconnect/tonconnect-bridge.mjs.map +1 -0
- package/package.json +63 -7
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var nftItem = require('./nft-item');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
Object.keys(nftItem).forEach(function (k) {
|
|
8
|
+
if (k !== 'default' && !Object.prototype.hasOwnProperty.call(exports, k)) Object.defineProperty(exports, k, {
|
|
9
|
+
enumerable: true,
|
|
10
|
+
get: function () { return nftItem[k]; }
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
//# sourceMappingURL=index.js.map
|
|
14
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.js","sourcesContent":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","file":"index.mjs","sourcesContent":[]}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) TonTech.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
import type { NFT } from '@ton/appkit';
|
|
9
|
+
import type { FC, ComponentProps } from 'react';
|
|
10
|
+
export interface NftItemProps extends ComponentProps<'button'> {
|
|
11
|
+
nft: NFT;
|
|
12
|
+
}
|
|
13
|
+
export declare const NftItem: FC<NftItemProps>;
|
|
14
|
+
//# sourceMappingURL=nft-item.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nft-item.d.ts","sourceRoot":"","sources":["../../../../../src/features/nft/components/nft-item/nft-item.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,aAAa,CAAC;AAEvC,OAAO,KAAK,EAAE,EAAE,EAAE,cAAc,EAAE,MAAM,OAAO,CAAC;AAkBhD,MAAM,WAAW,YAAa,SAAQ,cAAc,CAAC,QAAQ,CAAC;IAC1D,GAAG,EAAE,GAAG,CAAC;CACZ;AAED,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CAwBpC,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
4
|
+
var react = require('react');
|
|
5
|
+
var appkit = require('@ton/appkit');
|
|
6
|
+
var clsx = require('clsx');
|
|
7
|
+
var useI18n = require('../../../../hooks/use-i18n');
|
|
8
|
+
var styles = require('./nft-item.module.css');
|
|
9
|
+
|
|
10
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
|
|
12
|
+
var clsx__default = /*#__PURE__*/_interopDefault(clsx);
|
|
13
|
+
var styles__default = /*#__PURE__*/_interopDefault(styles);
|
|
14
|
+
|
|
15
|
+
const PlaceholderIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: styles__default.default.placeholderIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16
|
+
"path",
|
|
17
|
+
{
|
|
18
|
+
strokeLinecap: "round",
|
|
19
|
+
strokeLinejoin: "round",
|
|
20
|
+
strokeWidth: 2,
|
|
21
|
+
d: "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"
|
|
22
|
+
}
|
|
23
|
+
) });
|
|
24
|
+
const NftItem = ({ nft, className, ...props }) => {
|
|
25
|
+
const { t } = useI18n.useI18n();
|
|
26
|
+
const { name, collectionName, image, isOnSale } = react.useMemo(() => appkit.getFormattedNftInfo(nft), [nft]);
|
|
27
|
+
const [imageError, setImageError] = react.useState(false);
|
|
28
|
+
const showImage = image && !imageError;
|
|
29
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("button", { className: clsx__default.default(styles__default.default.nftItem, className), ...props, children: [
|
|
30
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles__default.default.imageWrapper, children: [
|
|
31
|
+
showImage ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: image, alt: name, className: styles__default.default.image, onError: () => setImageError(true) }) : /* @__PURE__ */ jsxRuntime.jsx(PlaceholderIcon, {}),
|
|
32
|
+
isOnSale && /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles__default.default.saleBadge, children: t("nft.onSale") })
|
|
33
|
+
] }),
|
|
34
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles__default.default.info, children: [
|
|
35
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: styles__default.default.name, children: name }),
|
|
36
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: styles__default.default.collectionName, children: collectionName })
|
|
37
|
+
] })
|
|
38
|
+
] });
|
|
39
|
+
};
|
|
40
|
+
|
|
41
|
+
exports.NftItem = NftItem;
|
|
42
|
+
//# sourceMappingURL=nft-item.js.map
|
|
43
|
+
//# sourceMappingURL=nft-item.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/features/nft/components/nft-item/nft-item.tsx"],"names":["jsx","styles","useI18n","useMemo","getFormattedNftInfo","useState","jsxs","clsx"],"mappings":";;;;;;;;;;;;;;AAiBA,MAAM,eAAA,GAAsB,sBACxBA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWC,uBAAA,CAAO,eAAA,EAAiB,IAAA,EAAK,MAAA,EAAO,MAAA,EAAO,cAAA,EAAe,OAAA,EAAQ,WAAA,EAC9E,QAAA,kBAAAD,cAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACG,aAAA,EAAc,OAAA;AAAA,IACd,cAAA,EAAe,OAAA;AAAA,IACf,WAAA,EAAa,CAAA;AAAA,IACb,CAAA,EAAE;AAAA;AACN,CAAA,EACJ,CAAA;AAOG,MAAM,UAA4B,CAAC,EAAE,KAAK,SAAA,EAAW,GAAG,OAAM,KAAM;AACvE,EAAA,MAAM,EAAE,CAAA,EAAE,GAAIE,eAAA,EAAQ;AACtB,EAAA,MAAM,EAAE,IAAA,EAAM,cAAA,EAAgB,KAAA,EAAO,QAAA,EAAS,GAAIC,aAAA,CAAQ,MAAMC,0BAAA,CAAoB,GAAG,CAAA,EAAG,CAAC,GAAG,CAAC,CAAA;AAC/F,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAIC,eAAS,KAAK,CAAA;AAElD,EAAA,MAAM,SAAA,GAAY,SAAS,CAAC,UAAA;AAE5B,EAAA,uBACIC,eAAA,CAAC,YAAO,SAAA,EAAWC,qBAAA,CAAKN,wBAAO,OAAA,EAAS,SAAS,CAAA,EAAI,GAAG,KAAA,EACpD,QAAA,EAAA;AAAA,oBAAAK,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWL,uBAAA,CAAO,YAAA,EAClB,QAAA,EAAA;AAAA,MAAA,SAAA,kCACI,KAAA,EAAA,EAAI,GAAA,EAAK,KAAA,EAAO,GAAA,EAAK,MAAM,SAAA,EAAWA,uBAAA,CAAO,KAAA,EAAO,OAAA,EAAS,MAAM,aAAA,CAAc,IAAI,CAAA,EAAG,CAAA,kCAExF,eAAA,EAAA,EAAgB,CAAA;AAAA,MAEpB,QAAA,mCAAa,MAAA,EAAA,EAAK,SAAA,EAAWA,wBAAO,SAAA,EAAY,QAAA,EAAA,CAAA,CAAE,YAAY,CAAA,EAAE;AAAA,KAAA,EACrE,CAAA;AAAA,oBAEAK,eAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAWL,uBAAA,CAAO,IAAA,EACnB,QAAA,EAAA;AAAA,sBAAAD,cAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAWC,uBAAA,CAAO,IAAA,EAAO,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,sBAClCD,cAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAWC,uBAAA,CAAO,gBAAiB,QAAA,EAAA,cAAA,EAAe;AAAA,KAAA,EACzD;AAAA,GAAA,EACJ,CAAA;AAER","file":"nft-item.js","sourcesContent":["/**\n * Copyright (c) TonTech.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport type { NFT } from '@ton/appkit';\nimport { useMemo, useState } from 'react';\nimport type { FC, ComponentProps } from 'react';\nimport { getFormattedNftInfo } from '@ton/appkit';\nimport clsx from 'clsx';\n\nimport { useI18n } from '../../../../hooks/use-i18n';\nimport styles from './nft-item.module.css';\n\nconst PlaceholderIcon: FC = () => (\n <svg className={styles.placeholderIcon} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"\n />\n </svg>\n);\n\nexport interface NftItemProps extends ComponentProps<'button'> {\n nft: NFT;\n}\n\nexport const NftItem: FC<NftItemProps> = ({ nft, className, ...props }) => {\n const { t } = useI18n();\n const { name, collectionName, image, isOnSale } = useMemo(() => getFormattedNftInfo(nft), [nft]);\n const [imageError, setImageError] = useState(false);\n\n const showImage = image && !imageError;\n\n return (\n <button className={clsx(styles.nftItem, className)} {...props}>\n <div className={styles.imageWrapper}>\n {showImage ? (\n <img src={image} alt={name} className={styles.image} onError={() => setImageError(true)} />\n ) : (\n <PlaceholderIcon />\n )}\n {isOnSale && <span className={styles.saleBadge}>{t('nft.onSale')}</span>}\n </div>\n\n <div className={styles.info}>\n <h4 className={styles.name}>{name}</h4>\n <p className={styles.collectionName}>{collectionName}</p>\n </div>\n </button>\n );\n};\n"]}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useMemo, useState } from 'react';
|
|
3
|
+
import { getFormattedNftInfo } from '@ton/appkit';
|
|
4
|
+
import clsx from 'clsx';
|
|
5
|
+
import { useI18n } from '../../../../hooks/use-i18n';
|
|
6
|
+
import styles from './nft-item.module.css';
|
|
7
|
+
|
|
8
|
+
const PlaceholderIcon = () => /* @__PURE__ */ jsx("svg", { className: styles.placeholderIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx(
|
|
9
|
+
"path",
|
|
10
|
+
{
|
|
11
|
+
strokeLinecap: "round",
|
|
12
|
+
strokeLinejoin: "round",
|
|
13
|
+
strokeWidth: 2,
|
|
14
|
+
d: "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"
|
|
15
|
+
}
|
|
16
|
+
) });
|
|
17
|
+
const NftItem = ({ nft, className, ...props }) => {
|
|
18
|
+
const { t } = useI18n();
|
|
19
|
+
const { name, collectionName, image, isOnSale } = useMemo(() => getFormattedNftInfo(nft), [nft]);
|
|
20
|
+
const [imageError, setImageError] = useState(false);
|
|
21
|
+
const showImage = image && !imageError;
|
|
22
|
+
return /* @__PURE__ */ jsxs("button", { className: clsx(styles.nftItem, className), ...props, children: [
|
|
23
|
+
/* @__PURE__ */ jsxs("div", { className: styles.imageWrapper, children: [
|
|
24
|
+
showImage ? /* @__PURE__ */ jsx("img", { src: image, alt: name, className: styles.image, onError: () => setImageError(true) }) : /* @__PURE__ */ jsx(PlaceholderIcon, {}),
|
|
25
|
+
isOnSale && /* @__PURE__ */ jsx("span", { className: styles.saleBadge, children: t("nft.onSale") })
|
|
26
|
+
] }),
|
|
27
|
+
/* @__PURE__ */ jsxs("div", { className: styles.info, children: [
|
|
28
|
+
/* @__PURE__ */ jsx("h4", { className: styles.name, children: name }),
|
|
29
|
+
/* @__PURE__ */ jsx("p", { className: styles.collectionName, children: collectionName })
|
|
30
|
+
] })
|
|
31
|
+
] });
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
export { NftItem };
|
|
35
|
+
//# sourceMappingURL=nft-item.mjs.map
|
|
36
|
+
//# sourceMappingURL=nft-item.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/features/nft/components/nft-item/nft-item.tsx"],"names":[],"mappings":";;;;;;;AAiBA,MAAM,eAAA,GAAsB,sBACxB,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,eAAA,EAAiB,IAAA,EAAK,MAAA,EAAO,MAAA,EAAO,cAAA,EAAe,OAAA,EAAQ,WAAA,EAC9E,QAAA,kBAAA,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACG,aAAA,EAAc,OAAA;AAAA,IACd,cAAA,EAAe,OAAA;AAAA,IACf,WAAA,EAAa,CAAA;AAAA,IACb,CAAA,EAAE;AAAA;AACN,CAAA,EACJ,CAAA;AAOG,MAAM,UAA4B,CAAC,EAAE,KAAK,SAAA,EAAW,GAAG,OAAM,KAAM;AACvE,EAAA,MAAM,EAAE,CAAA,EAAE,GAAI,OAAA,EAAQ;AACtB,EAAA,MAAM,EAAE,IAAA,EAAM,cAAA,EAAgB,KAAA,EAAO,QAAA,EAAS,GAAI,OAAA,CAAQ,MAAM,mBAAA,CAAoB,GAAG,CAAA,EAAG,CAAC,GAAG,CAAC,CAAA;AAC/F,EAAA,MAAM,CAAC,UAAA,EAAY,aAAa,CAAA,GAAI,SAAS,KAAK,CAAA;AAElD,EAAA,MAAM,SAAA,GAAY,SAAS,CAAC,UAAA;AAE5B,EAAA,uBACI,IAAA,CAAC,YAAO,SAAA,EAAW,IAAA,CAAK,OAAO,OAAA,EAAS,SAAS,CAAA,EAAI,GAAG,KAAA,EACpD,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,YAAA,EAClB,QAAA,EAAA;AAAA,MAAA,SAAA,uBACI,KAAA,EAAA,EAAI,GAAA,EAAK,KAAA,EAAO,GAAA,EAAK,MAAM,SAAA,EAAW,MAAA,CAAO,KAAA,EAAO,OAAA,EAAS,MAAM,aAAA,CAAc,IAAI,CAAA,EAAG,CAAA,uBAExF,eAAA,EAAA,EAAgB,CAAA;AAAA,MAEpB,QAAA,wBAAa,MAAA,EAAA,EAAK,SAAA,EAAW,OAAO,SAAA,EAAY,QAAA,EAAA,CAAA,CAAE,YAAY,CAAA,EAAE;AAAA,KAAA,EACrE,CAAA;AAAA,oBAEA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,IAAA,EACnB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAW,MAAA,CAAO,IAAA,EAAO,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,sBAClC,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,MAAA,CAAO,gBAAiB,QAAA,EAAA,cAAA,EAAe;AAAA,KAAA,EACzD;AAAA,GAAA,EACJ,CAAA;AAER","file":"nft-item.mjs","sourcesContent":["/**\n * Copyright (c) TonTech.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport type { NFT } from '@ton/appkit';\nimport { useMemo, useState } from 'react';\nimport type { FC, ComponentProps } from 'react';\nimport { getFormattedNftInfo } from '@ton/appkit';\nimport clsx from 'clsx';\n\nimport { useI18n } from '../../../../hooks/use-i18n';\nimport styles from './nft-item.module.css';\n\nconst PlaceholderIcon: FC = () => (\n <svg className={styles.placeholderIcon} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"\n />\n </svg>\n);\n\nexport interface NftItemProps extends ComponentProps<'button'> {\n nft: NFT;\n}\n\nexport const NftItem: FC<NftItemProps> = ({ nft, className, ...props }) => {\n const { t } = useI18n();\n const { name, collectionName, image, isOnSale } = useMemo(() => getFormattedNftInfo(nft), [nft]);\n const [imageError, setImageError] = useState(false);\n\n const showImage = image && !imageError;\n\n return (\n <button className={clsx(styles.nftItem, className)} {...props}>\n <div className={styles.imageWrapper}>\n {showImage ? (\n <img src={image} alt={name} className={styles.image} onError={() => setImageError(true)} />\n ) : (\n <PlaceholderIcon />\n )}\n {isOnSale && <span className={styles.saleBadge}>{t('nft.onSale')}</span>}\n </div>\n\n <div className={styles.info}>\n <h4 className={styles.name}>{name}</h4>\n <p className={styles.collectionName}>{collectionName}</p>\n </div>\n </button>\n );\n};\n"]}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
.nftItem {
|
|
2
|
+
box-sizing: border-box;
|
|
3
|
+
width: 100%;
|
|
4
|
+
background-color: var(--ta-color-background-secondary);
|
|
5
|
+
border-radius: var(--ta-border-radius-l);
|
|
6
|
+
overflow: hidden;
|
|
7
|
+
cursor: pointer;
|
|
8
|
+
border: none;
|
|
9
|
+
outline: none;
|
|
10
|
+
padding: 0;
|
|
11
|
+
}
|
|
12
|
+
.imageWrapper {
|
|
13
|
+
position: relative;
|
|
14
|
+
aspect-ratio: 1 / 1;
|
|
15
|
+
background-color: var(--ta-color-background-secondary);
|
|
16
|
+
display: flex;
|
|
17
|
+
align-items: center;
|
|
18
|
+
justify-content: center;
|
|
19
|
+
overflow: hidden;
|
|
20
|
+
}
|
|
21
|
+
.image {
|
|
22
|
+
width: 100%;
|
|
23
|
+
height: 100%;
|
|
24
|
+
object-fit: cover;
|
|
25
|
+
}
|
|
26
|
+
.placeholderIcon {
|
|
27
|
+
width: 32px;
|
|
28
|
+
height: 32px;
|
|
29
|
+
color: var(--ta-color-text-secondary);
|
|
30
|
+
}
|
|
31
|
+
.info {
|
|
32
|
+
padding: 8px;
|
|
33
|
+
text-align: left;
|
|
34
|
+
}
|
|
35
|
+
.name {
|
|
36
|
+
composes: bodySmall from "../../../../styles/typography.module.css";
|
|
37
|
+
color: var(--ta-color-text);
|
|
38
|
+
font-weight: var(--ta-body-medium-font-weight);
|
|
39
|
+
white-space: nowrap;
|
|
40
|
+
overflow: hidden;
|
|
41
|
+
text-overflow: ellipsis;
|
|
42
|
+
margin: 0;
|
|
43
|
+
}
|
|
44
|
+
.collectionName {
|
|
45
|
+
composes: bodySmall from "../../../../styles/typography.module.css";
|
|
46
|
+
color: var(--ta-color-text-secondary);
|
|
47
|
+
white-space: nowrap;
|
|
48
|
+
overflow: hidden;
|
|
49
|
+
text-overflow: ellipsis;
|
|
50
|
+
margin: 0;
|
|
51
|
+
}
|
|
52
|
+
.saleBadge {
|
|
53
|
+
composes: caption2 from "../../../../styles/typography.module.css";
|
|
54
|
+
position: absolute;
|
|
55
|
+
top: 8px;
|
|
56
|
+
left: 8px;
|
|
57
|
+
display: inline-flex;
|
|
58
|
+
align-items: center;
|
|
59
|
+
padding: 2px 6px;
|
|
60
|
+
border-radius: var(--ta-border-radius-s);
|
|
61
|
+
font-weight: var(--ta-body-medium-font-weight);
|
|
62
|
+
background-color: var(--ta-color-primary);
|
|
63
|
+
color: var(--ta-color-text-on-primary, #fff);
|
|
64
|
+
}
|
|
65
|
+
/*# sourceMappingURL=nft-item.module.css.map */
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/features/nft/components/nft-item/nft-item.module.css"],"sourcesContent":[".nftItem {\n box-sizing: border-box;\n width: 100%;\n background-color: var(--ta-color-background-secondary);\n border-radius: var(--ta-border-radius-l);\n overflow: hidden;\n cursor: pointer;\n border: none;\n outline: none;\n padding: 0;\n}\n\n.imageWrapper {\n position: relative;\n aspect-ratio: 1 / 1;\n background-color: var(--ta-color-background-secondary);\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n}\n\n.image {\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.placeholderIcon {\n width: 32px;\n height: 32px;\n color: var(--ta-color-text-secondary);\n}\n\n.info {\n padding: 8px;\n text-align: left;\n}\n\n.name {\n composes: bodySmall from \"../../../../styles/typography.module.css\";\n\n color: var(--ta-color-text);\n font-weight: var(--ta-body-medium-font-weight);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n}\n\n.collectionName {\n composes: bodySmall from \"../../../../styles/typography.module.css\";\n\n color: var(--ta-color-text-secondary);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n margin: 0;\n}\n\n.saleBadge {\n composes: caption2 from \"../../../../styles/typography.module.css\";\n\n position: absolute;\n top: 8px;\n left: 8px;\n display: inline-flex;\n align-items: center;\n padding: 2px 6px;\n border-radius: var(--ta-border-radius-s);\n font-weight: var(--ta-body-medium-font-weight);\n background-color: var(--ta-color-primary);\n color: var(--ta-color-text-on-primary, #fff);\n}\n"],"mappings":"AAAA,CAAC;AACG,cAAY;AACZ,SAAO;AACP,oBAAkB,IAAI;AACtB,iBAAe,IAAI;AACnB,YAAU;AACV,UAAQ;AACR,UAAQ;AACR,WAAS;AACT,WAAS;AACb;AAEA,CAAC;AACG,YAAU;AACV,gBAAc,EAAE,EAAE;AAClB,oBAAkB,IAAI;AACtB,WAAS;AACT,eAAa;AACb,mBAAiB;AACjB,YAAU;AACd;AAEA,CAAC;AACG,SAAO;AACP,UAAQ;AACR,cAAY;AAChB;AAEA,CAAC;AACG,SAAO;AACP,UAAQ;AACR,SAAO,IAAI;AACf;AAEA,CAAC;AACG,WAAS;AACT,cAAY;AAChB;AAEA,CAAC;AACG,YAAU,UAAU,KAAK;AAEzB,SAAO,IAAI;AACX,eAAa,IAAI;AACjB,eAAa;AACb,YAAU;AACV,iBAAe;AACf,UAAQ;AACZ;AAEA,CAAC;AACG,YAAU,UAAU,KAAK;AAEzB,SAAO,IAAI;AACX,eAAa;AACb,YAAU;AACV,iBAAe;AACf,UAAQ;AACZ;AAEA,CAAC;AACG,YAAU,SAAS,KAAK;AAExB,YAAU;AACV,OAAK;AACL,QAAM;AACN,WAAS;AACT,eAAa;AACb,WAAS,IAAI;AACb,iBAAe,IAAI;AACnB,eAAa,IAAI;AACjB,oBAAkB,IAAI;AACtB,SAAO,IAAI,0BAA0B,EAAE;AAC3C;","names":[]}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) TonTech.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
9
|
+
declare const NftItemPreview: ({ name, collectionName, image, isOnSale, onClick, className, }: {
|
|
10
|
+
name: string;
|
|
11
|
+
collectionName: string;
|
|
12
|
+
image?: string;
|
|
13
|
+
isOnSale?: boolean;
|
|
14
|
+
onClick?: () => void;
|
|
15
|
+
className?: string;
|
|
16
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
declare const meta: Meta<typeof NftItemPreview>;
|
|
18
|
+
export default meta;
|
|
19
|
+
type Story = StoryObj<typeof NftItemPreview>;
|
|
20
|
+
export declare const WithImage: Story;
|
|
21
|
+
export declare const WithoutImage: Story;
|
|
22
|
+
export declare const OnSale: Story;
|
|
23
|
+
export declare const LongName: Story;
|
|
24
|
+
export declare const NftGrid: Story;
|
|
25
|
+
//# sourceMappingURL=nft-item.stories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nft-item.stories.d.ts","sourceRoot":"","sources":["../../../../../src/features/nft/components/nft-item/nft-item.stories.tsx"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAiBvD,QAAA,MAAM,cAAc,GAAI,gEAOrB;IACC,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB,4CAaA,CAAC;AAEF,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,cAAc,CAUrC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,cAAc,CAAC,CAAC;AAE7C,eAAO,MAAM,SAAS,EAAE,KAMvB,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAK1B,CAAC;AAEF,eAAO,MAAM,MAAM,EAAE,KAOpB,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,KAMtB,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAyBrB,CAAC"}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
|
+
|
|
5
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
6
|
+
var test = require('@storybook/test');
|
|
7
|
+
var clsx = require('clsx');
|
|
8
|
+
var styles = require('./nft-item.module.css');
|
|
9
|
+
|
|
10
|
+
function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
|
|
11
|
+
|
|
12
|
+
var clsx__default = /*#__PURE__*/_interopDefault(clsx);
|
|
13
|
+
var styles__default = /*#__PURE__*/_interopDefault(styles);
|
|
14
|
+
|
|
15
|
+
const PlaceholderIcon = () => /* @__PURE__ */ jsxRuntime.jsx("svg", { className: styles__default.default.placeholderIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
16
|
+
"path",
|
|
17
|
+
{
|
|
18
|
+
strokeLinecap: "round",
|
|
19
|
+
strokeLinejoin: "round",
|
|
20
|
+
strokeWidth: 2,
|
|
21
|
+
d: "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"
|
|
22
|
+
}
|
|
23
|
+
) });
|
|
24
|
+
const NftItemPreview = ({
|
|
25
|
+
name,
|
|
26
|
+
collectionName,
|
|
27
|
+
image,
|
|
28
|
+
isOnSale = false,
|
|
29
|
+
onClick,
|
|
30
|
+
className
|
|
31
|
+
}) => {
|
|
32
|
+
return /* @__PURE__ */ jsxRuntime.jsxs("button", { onClick, className: clsx__default.default(styles__default.default.nftItem, className), children: [
|
|
33
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles__default.default.imageWrapper, children: [
|
|
34
|
+
image ? /* @__PURE__ */ jsxRuntime.jsx("img", { src: image, alt: name, className: styles__default.default.image }) : /* @__PURE__ */ jsxRuntime.jsx(PlaceholderIcon, {}),
|
|
35
|
+
isOnSale && /* @__PURE__ */ jsxRuntime.jsx("span", { className: styles__default.default.saleBadge, children: "On Sale" })
|
|
36
|
+
] }),
|
|
37
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: styles__default.default.info, children: [
|
|
38
|
+
/* @__PURE__ */ jsxRuntime.jsx("h4", { className: styles__default.default.name, children: name }),
|
|
39
|
+
/* @__PURE__ */ jsxRuntime.jsx("p", { className: styles__default.default.collectionName, children: collectionName })
|
|
40
|
+
] })
|
|
41
|
+
] });
|
|
42
|
+
};
|
|
43
|
+
const meta = {
|
|
44
|
+
title: "Public/Features/NFT/NftItem",
|
|
45
|
+
component: NftItemPreview,
|
|
46
|
+
tags: ["autodocs"],
|
|
47
|
+
parameters: {
|
|
48
|
+
layout: "centered"
|
|
49
|
+
},
|
|
50
|
+
args: {
|
|
51
|
+
onClick: test.fn()
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
var nft_item_stories_default = meta;
|
|
55
|
+
const WithImage = {
|
|
56
|
+
args: {
|
|
57
|
+
name: "TON Diamond #1234",
|
|
58
|
+
collectionName: "TON Diamonds",
|
|
59
|
+
image: "https://picsum.photos/200"
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
const WithoutImage = {
|
|
63
|
+
args: {
|
|
64
|
+
name: "Mystery NFT",
|
|
65
|
+
collectionName: "Unknown Collection"
|
|
66
|
+
}
|
|
67
|
+
};
|
|
68
|
+
const OnSale = {
|
|
69
|
+
args: {
|
|
70
|
+
name: "Rare NFT #001",
|
|
71
|
+
collectionName: "Rare Collection",
|
|
72
|
+
image: "https://picsum.photos/201",
|
|
73
|
+
isOnSale: true
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
const LongName = {
|
|
77
|
+
args: {
|
|
78
|
+
name: "Very Long NFT Name That Might Overflow The Container",
|
|
79
|
+
collectionName: "Long Collection Name Here",
|
|
80
|
+
image: "https://picsum.photos/202"
|
|
81
|
+
}
|
|
82
|
+
};
|
|
83
|
+
const NftGrid = {
|
|
84
|
+
render: () => /* @__PURE__ */ jsxRuntime.jsxs("div", { style: { display: "grid", gridTemplateColumns: "repeat(3, 1fr)", gap: "16px" }, children: [
|
|
85
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
86
|
+
NftItemPreview,
|
|
87
|
+
{
|
|
88
|
+
name: "TON Diamond #1",
|
|
89
|
+
collectionName: "TON Diamonds",
|
|
90
|
+
image: "https://picsum.photos/200",
|
|
91
|
+
onClick: test.fn()
|
|
92
|
+
}
|
|
93
|
+
),
|
|
94
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
95
|
+
NftItemPreview,
|
|
96
|
+
{
|
|
97
|
+
name: "TON Diamond #2",
|
|
98
|
+
collectionName: "TON Diamonds",
|
|
99
|
+
image: "https://picsum.photos/201",
|
|
100
|
+
isOnSale: true,
|
|
101
|
+
onClick: test.fn()
|
|
102
|
+
}
|
|
103
|
+
),
|
|
104
|
+
/* @__PURE__ */ jsxRuntime.jsx(NftItemPreview, { name: "Mystery NFT", collectionName: "Unknown", onClick: test.fn() }),
|
|
105
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
106
|
+
NftItemPreview,
|
|
107
|
+
{
|
|
108
|
+
name: "Rare Item #123",
|
|
109
|
+
collectionName: "Rare Items",
|
|
110
|
+
image: "https://picsum.photos/203",
|
|
111
|
+
onClick: test.fn()
|
|
112
|
+
}
|
|
113
|
+
)
|
|
114
|
+
] })
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
exports.LongName = LongName;
|
|
118
|
+
exports.NftGrid = NftGrid;
|
|
119
|
+
exports.OnSale = OnSale;
|
|
120
|
+
exports.WithImage = WithImage;
|
|
121
|
+
exports.WithoutImage = WithoutImage;
|
|
122
|
+
exports.default = nft_item_stories_default;
|
|
123
|
+
//# sourceMappingURL=nft-item.stories.js.map
|
|
124
|
+
//# sourceMappingURL=nft-item.stories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/features/nft/components/nft-item/nft-item.stories.tsx"],"names":["jsx","styles","jsxs","clsx","fn"],"mappings":"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","file":"nft-item.stories.js","sourcesContent":["/**\n * Copyright (c) TonTech.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport type { Meta, StoryObj } from '@storybook/react';\nimport { fn } from '@storybook/test';\nimport clsx from 'clsx';\n\nimport styles from './nft-item.module.css';\n\nconst PlaceholderIcon = () => (\n <svg className={styles.placeholderIcon} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"\n />\n </svg>\n);\n\nconst NftItemPreview = ({\n name,\n collectionName,\n image,\n isOnSale = false,\n onClick,\n className,\n}: {\n name: string;\n collectionName: string;\n image?: string;\n isOnSale?: boolean;\n onClick?: () => void;\n className?: string;\n}) => {\n return (\n <button onClick={onClick} className={clsx(styles.nftItem, className)}>\n <div className={styles.imageWrapper}>\n {image ? <img src={image} alt={name} className={styles.image} /> : <PlaceholderIcon />}\n {isOnSale && <span className={styles.saleBadge}>On Sale</span>}\n </div>\n <div className={styles.info}>\n <h4 className={styles.name}>{name}</h4>\n <p className={styles.collectionName}>{collectionName}</p>\n </div>\n </button>\n );\n};\n\nconst meta: Meta<typeof NftItemPreview> = {\n title: 'Public/Features/NFT/NftItem',\n component: NftItemPreview,\n tags: ['autodocs'],\n parameters: {\n layout: 'centered',\n },\n args: {\n onClick: fn(),\n },\n};\n\nexport default meta;\n\ntype Story = StoryObj<typeof NftItemPreview>;\n\nexport const WithImage: Story = {\n args: {\n name: 'TON Diamond #1234',\n collectionName: 'TON Diamonds',\n image: 'https://picsum.photos/200',\n },\n};\n\nexport const WithoutImage: Story = {\n args: {\n name: 'Mystery NFT',\n collectionName: 'Unknown Collection',\n },\n};\n\nexport const OnSale: Story = {\n args: {\n name: 'Rare NFT #001',\n collectionName: 'Rare Collection',\n image: 'https://picsum.photos/201',\n isOnSale: true,\n },\n};\n\nexport const LongName: Story = {\n args: {\n name: 'Very Long NFT Name That Might Overflow The Container',\n collectionName: 'Long Collection Name Here',\n image: 'https://picsum.photos/202',\n },\n};\n\nexport const NftGrid: Story = {\n render: () => (\n <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: '16px' }}>\n <NftItemPreview\n name=\"TON Diamond #1\"\n collectionName=\"TON Diamonds\"\n image=\"https://picsum.photos/200\"\n onClick={fn()}\n />\n <NftItemPreview\n name=\"TON Diamond #2\"\n collectionName=\"TON Diamonds\"\n image=\"https://picsum.photos/201\"\n isOnSale\n onClick={fn()}\n />\n <NftItemPreview name=\"Mystery NFT\" collectionName=\"Unknown\" onClick={fn()} />\n <NftItemPreview\n name=\"Rare Item #123\"\n collectionName=\"Rare Items\"\n image=\"https://picsum.photos/203\"\n onClick={fn()}\n />\n </div>\n ),\n};\n"]}
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { fn } from '@storybook/test';
|
|
3
|
+
import clsx from 'clsx';
|
|
4
|
+
import styles from './nft-item.module.css';
|
|
5
|
+
|
|
6
|
+
const PlaceholderIcon = () => /* @__PURE__ */ jsx("svg", { className: styles.placeholderIcon, fill: "none", stroke: "currentColor", viewBox: "0 0 24 24", children: /* @__PURE__ */ jsx(
|
|
7
|
+
"path",
|
|
8
|
+
{
|
|
9
|
+
strokeLinecap: "round",
|
|
10
|
+
strokeLinejoin: "round",
|
|
11
|
+
strokeWidth: 2,
|
|
12
|
+
d: "M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z"
|
|
13
|
+
}
|
|
14
|
+
) });
|
|
15
|
+
const NftItemPreview = ({
|
|
16
|
+
name,
|
|
17
|
+
collectionName,
|
|
18
|
+
image,
|
|
19
|
+
isOnSale = false,
|
|
20
|
+
onClick,
|
|
21
|
+
className
|
|
22
|
+
}) => {
|
|
23
|
+
return /* @__PURE__ */ jsxs("button", { onClick, className: clsx(styles.nftItem, className), children: [
|
|
24
|
+
/* @__PURE__ */ jsxs("div", { className: styles.imageWrapper, children: [
|
|
25
|
+
image ? /* @__PURE__ */ jsx("img", { src: image, alt: name, className: styles.image }) : /* @__PURE__ */ jsx(PlaceholderIcon, {}),
|
|
26
|
+
isOnSale && /* @__PURE__ */ jsx("span", { className: styles.saleBadge, children: "On Sale" })
|
|
27
|
+
] }),
|
|
28
|
+
/* @__PURE__ */ jsxs("div", { className: styles.info, children: [
|
|
29
|
+
/* @__PURE__ */ jsx("h4", { className: styles.name, children: name }),
|
|
30
|
+
/* @__PURE__ */ jsx("p", { className: styles.collectionName, children: collectionName })
|
|
31
|
+
] })
|
|
32
|
+
] });
|
|
33
|
+
};
|
|
34
|
+
const meta = {
|
|
35
|
+
title: "Public/Features/NFT/NftItem",
|
|
36
|
+
component: NftItemPreview,
|
|
37
|
+
tags: ["autodocs"],
|
|
38
|
+
parameters: {
|
|
39
|
+
layout: "centered"
|
|
40
|
+
},
|
|
41
|
+
args: {
|
|
42
|
+
onClick: fn()
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
var nft_item_stories_default = meta;
|
|
46
|
+
const WithImage = {
|
|
47
|
+
args: {
|
|
48
|
+
name: "TON Diamond #1234",
|
|
49
|
+
collectionName: "TON Diamonds",
|
|
50
|
+
image: "https://picsum.photos/200"
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
const WithoutImage = {
|
|
54
|
+
args: {
|
|
55
|
+
name: "Mystery NFT",
|
|
56
|
+
collectionName: "Unknown Collection"
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const OnSale = {
|
|
60
|
+
args: {
|
|
61
|
+
name: "Rare NFT #001",
|
|
62
|
+
collectionName: "Rare Collection",
|
|
63
|
+
image: "https://picsum.photos/201",
|
|
64
|
+
isOnSale: true
|
|
65
|
+
}
|
|
66
|
+
};
|
|
67
|
+
const LongName = {
|
|
68
|
+
args: {
|
|
69
|
+
name: "Very Long NFT Name That Might Overflow The Container",
|
|
70
|
+
collectionName: "Long Collection Name Here",
|
|
71
|
+
image: "https://picsum.photos/202"
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
const NftGrid = {
|
|
75
|
+
render: () => /* @__PURE__ */ jsxs("div", { style: { display: "grid", gridTemplateColumns: "repeat(3, 1fr)", gap: "16px" }, children: [
|
|
76
|
+
/* @__PURE__ */ jsx(
|
|
77
|
+
NftItemPreview,
|
|
78
|
+
{
|
|
79
|
+
name: "TON Diamond #1",
|
|
80
|
+
collectionName: "TON Diamonds",
|
|
81
|
+
image: "https://picsum.photos/200",
|
|
82
|
+
onClick: fn()
|
|
83
|
+
}
|
|
84
|
+
),
|
|
85
|
+
/* @__PURE__ */ jsx(
|
|
86
|
+
NftItemPreview,
|
|
87
|
+
{
|
|
88
|
+
name: "TON Diamond #2",
|
|
89
|
+
collectionName: "TON Diamonds",
|
|
90
|
+
image: "https://picsum.photos/201",
|
|
91
|
+
isOnSale: true,
|
|
92
|
+
onClick: fn()
|
|
93
|
+
}
|
|
94
|
+
),
|
|
95
|
+
/* @__PURE__ */ jsx(NftItemPreview, { name: "Mystery NFT", collectionName: "Unknown", onClick: fn() }),
|
|
96
|
+
/* @__PURE__ */ jsx(
|
|
97
|
+
NftItemPreview,
|
|
98
|
+
{
|
|
99
|
+
name: "Rare Item #123",
|
|
100
|
+
collectionName: "Rare Items",
|
|
101
|
+
image: "https://picsum.photos/203",
|
|
102
|
+
onClick: fn()
|
|
103
|
+
}
|
|
104
|
+
)
|
|
105
|
+
] })
|
|
106
|
+
};
|
|
107
|
+
|
|
108
|
+
export { LongName, NftGrid, OnSale, WithImage, WithoutImage, nft_item_stories_default as default };
|
|
109
|
+
//# sourceMappingURL=nft-item.stories.mjs.map
|
|
110
|
+
//# sourceMappingURL=nft-item.stories.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../../src/features/nft/components/nft-item/nft-item.stories.tsx"],"names":[],"mappings":";;;;;AAcA,MAAM,eAAA,GAAkB,sBACpB,GAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,eAAA,EAAiB,IAAA,EAAK,MAAA,EAAO,MAAA,EAAO,cAAA,EAAe,OAAA,EAAQ,WAAA,EAC9E,QAAA,kBAAA,GAAA;AAAA,EAAC,MAAA;AAAA,EAAA;AAAA,IACG,aAAA,EAAc,OAAA;AAAA,IACd,cAAA,EAAe,OAAA;AAAA,IACf,WAAA,EAAa,CAAA;AAAA,IACb,CAAA,EAAE;AAAA;AACN,CAAA,EACJ,CAAA;AAGJ,MAAM,iBAAiB,CAAC;AAAA,EACpB,IAAA;AAAA,EACA,cAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA,GAAW,KAAA;AAAA,EACX,OAAA;AAAA,EACA;AACJ,CAAA,KAOM;AACF,EAAA,uBACI,IAAA,CAAC,YAAO,OAAA,EAAkB,SAAA,EAAW,KAAK,MAAA,CAAO,OAAA,EAAS,SAAS,CAAA,EAC/D,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,YAAA,EAClB,QAAA,EAAA;AAAA,MAAA,KAAA,mBAAQ,GAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAK,KAAA,EAAO,GAAA,EAAK,IAAA,EAAM,SAAA,EAAW,MAAA,CAAO,KAAA,EAAO,CAAA,mBAAK,GAAA,CAAC,eAAA,EAAA,EAAgB,CAAA;AAAA,MACnF,4BAAY,GAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAW,MAAA,CAAO,WAAW,QAAA,EAAA,SAAA,EAAO;AAAA,KAAA,EAC3D,CAAA;AAAA,oBACA,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,MAAA,CAAO,IAAA,EACnB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAW,MAAA,CAAO,IAAA,EAAO,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,sBAClC,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAW,MAAA,CAAO,gBAAiB,QAAA,EAAA,cAAA,EAAe;AAAA,KAAA,EACzD;AAAA,GAAA,EACJ,CAAA;AAER,CAAA;AAEA,MAAM,IAAA,GAAoC;AAAA,EACtC,KAAA,EAAO,6BAAA;AAAA,EACP,SAAA,EAAW,cAAA;AAAA,EACX,IAAA,EAAM,CAAC,UAAU,CAAA;AAAA,EACjB,UAAA,EAAY;AAAA,IACR,MAAA,EAAQ;AAAA,GACZ;AAAA,EACA,IAAA,EAAM;AAAA,IACF,SAAS,EAAA;AAAG;AAEpB,CAAA;AAEA,IAAO,wBAAA,GAAQ;AAIR,MAAM,SAAA,GAAmB;AAAA,EAC5B,IAAA,EAAM;AAAA,IACF,IAAA,EAAM,mBAAA;AAAA,IACN,cAAA,EAAgB,cAAA;AAAA,IAChB,KAAA,EAAO;AAAA;AAEf;AAEO,MAAM,YAAA,GAAsB;AAAA,EAC/B,IAAA,EAAM;AAAA,IACF,IAAA,EAAM,aAAA;AAAA,IACN,cAAA,EAAgB;AAAA;AAExB;AAEO,MAAM,MAAA,GAAgB;AAAA,EACzB,IAAA,EAAM;AAAA,IACF,IAAA,EAAM,eAAA;AAAA,IACN,cAAA,EAAgB,iBAAA;AAAA,IAChB,KAAA,EAAO,2BAAA;AAAA,IACP,QAAA,EAAU;AAAA;AAElB;AAEO,MAAM,QAAA,GAAkB;AAAA,EAC3B,IAAA,EAAM;AAAA,IACF,IAAA,EAAM,sDAAA;AAAA,IACN,cAAA,EAAgB,2BAAA;AAAA,IAChB,KAAA,EAAO;AAAA;AAEf;AAEO,MAAM,OAAA,GAAiB;AAAA,EAC1B,MAAA,EAAQ,sBACJ,IAAA,CAAC,KAAA,EAAA,EAAI,KAAA,EAAO,EAAE,OAAA,EAAS,MAAA,EAAQ,mBAAA,EAAqB,gBAAA,EAAkB,GAAA,EAAK,MAAA,EAAO,EAC9E,QAAA,EAAA;AAAA,oBAAA,GAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACG,IAAA,EAAK,gBAAA;AAAA,QACL,cAAA,EAAe,cAAA;AAAA,QACf,KAAA,EAAM,2BAAA;AAAA,QACN,SAAS,EAAA;AAAG;AAAA,KAChB;AAAA,oBACA,GAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACG,IAAA,EAAK,gBAAA;AAAA,QACL,cAAA,EAAe,cAAA;AAAA,QACf,KAAA,EAAM,2BAAA;AAAA,QACN,QAAA,EAAQ,IAAA;AAAA,QACR,SAAS,EAAA;AAAG;AAAA,KAChB;AAAA,oBACA,GAAA,CAAC,kBAAe,IAAA,EAAK,aAAA,EAAc,gBAAe,SAAA,EAAU,OAAA,EAAS,IAAG,EAAG,CAAA;AAAA,oBAC3E,GAAA;AAAA,MAAC,cAAA;AAAA,MAAA;AAAA,QACG,IAAA,EAAK,gBAAA;AAAA,QACL,cAAA,EAAe,YAAA;AAAA,QACf,KAAA,EAAM,2BAAA;AAAA,QACN,SAAS,EAAA;AAAG;AAAA;AAChB,GAAA,EACJ;AAER","file":"nft-item.stories.mjs","sourcesContent":["/**\n * Copyright (c) TonTech.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport type { Meta, StoryObj } from '@storybook/react';\nimport { fn } from '@storybook/test';\nimport clsx from 'clsx';\n\nimport styles from './nft-item.module.css';\n\nconst PlaceholderIcon = () => (\n <svg className={styles.placeholderIcon} fill=\"none\" stroke=\"currentColor\" viewBox=\"0 0 24 24\">\n <path\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n strokeWidth={2}\n d=\"M4 16l4.586-4.586a2 2 0 012.828 0L16 16m-2-2l1.586-1.586a2 2 0 012.828 0L20 14m-6-6h.01M6 20h12a2 2 0 002-2V6a2 2 0 00-2-2H6a2 2 0 00-2 2v12a2 2 0 002 2z\"\n />\n </svg>\n);\n\nconst NftItemPreview = ({\n name,\n collectionName,\n image,\n isOnSale = false,\n onClick,\n className,\n}: {\n name: string;\n collectionName: string;\n image?: string;\n isOnSale?: boolean;\n onClick?: () => void;\n className?: string;\n}) => {\n return (\n <button onClick={onClick} className={clsx(styles.nftItem, className)}>\n <div className={styles.imageWrapper}>\n {image ? <img src={image} alt={name} className={styles.image} /> : <PlaceholderIcon />}\n {isOnSale && <span className={styles.saleBadge}>On Sale</span>}\n </div>\n <div className={styles.info}>\n <h4 className={styles.name}>{name}</h4>\n <p className={styles.collectionName}>{collectionName}</p>\n </div>\n </button>\n );\n};\n\nconst meta: Meta<typeof NftItemPreview> = {\n title: 'Public/Features/NFT/NftItem',\n component: NftItemPreview,\n tags: ['autodocs'],\n parameters: {\n layout: 'centered',\n },\n args: {\n onClick: fn(),\n },\n};\n\nexport default meta;\n\ntype Story = StoryObj<typeof NftItemPreview>;\n\nexport const WithImage: Story = {\n args: {\n name: 'TON Diamond #1234',\n collectionName: 'TON Diamonds',\n image: 'https://picsum.photos/200',\n },\n};\n\nexport const WithoutImage: Story = {\n args: {\n name: 'Mystery NFT',\n collectionName: 'Unknown Collection',\n },\n};\n\nexport const OnSale: Story = {\n args: {\n name: 'Rare NFT #001',\n collectionName: 'Rare Collection',\n image: 'https://picsum.photos/201',\n isOnSale: true,\n },\n};\n\nexport const LongName: Story = {\n args: {\n name: 'Very Long NFT Name That Might Overflow The Container',\n collectionName: 'Long Collection Name Here',\n image: 'https://picsum.photos/202',\n },\n};\n\nexport const NftGrid: Story = {\n render: () => (\n <div style={{ display: 'grid', gridTemplateColumns: 'repeat(3, 1fr)', gap: '16px' }}>\n <NftItemPreview\n name=\"TON Diamond #1\"\n collectionName=\"TON Diamonds\"\n image=\"https://picsum.photos/200\"\n onClick={fn()}\n />\n <NftItemPreview\n name=\"TON Diamond #2\"\n collectionName=\"TON Diamonds\"\n image=\"https://picsum.photos/201\"\n isOnSale\n onClick={fn()}\n />\n <NftItemPreview name=\"Mystery NFT\" collectionName=\"Unknown\" onClick={fn()} />\n <NftItemPreview\n name=\"Rare Item #123\"\n collectionName=\"Rare Items\"\n image=\"https://picsum.photos/203\"\n onClick={fn()}\n />\n </div>\n ),\n};\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) TonTech.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
import type { GetNftData, GetNftErrorType, GetNftQueryConfig } from '@ton/appkit/queries';
|
|
9
|
+
import type { UseQueryReturnType } from '../../../libs/query';
|
|
10
|
+
export type UseNftParameters<selectData = GetNftData> = GetNftQueryConfig<selectData>;
|
|
11
|
+
export type UseNftReturnType<selectData = GetNftData> = UseQueryReturnType<selectData, GetNftErrorType>;
|
|
12
|
+
/**
|
|
13
|
+
* Hook to get a single NFT
|
|
14
|
+
*/
|
|
15
|
+
export declare const useNft: <selectData = GetNftData>(parameters?: UseNftParameters<selectData>) => UseNftReturnType<selectData>;
|
|
16
|
+
//# sourceMappingURL=use-nft.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-nft.d.ts","sourceRoot":"","sources":["../../../../src/features/nft/hooks/use-nft.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAI1F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,MAAM,gBAAgB,CAAC,UAAU,GAAG,UAAU,IAAI,iBAAiB,CAAC,UAAU,CAAC,CAAC;AAEtF,MAAM,MAAM,gBAAgB,CAAC,UAAU,GAAG,UAAU,IAAI,kBAAkB,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;AAExG;;GAEG;AACH,eAAO,MAAM,MAAM,GAAI,UAAU,GAAG,UAAU,EAC1C,aAAY,gBAAgB,CAAC,UAAU,CAAM,KAC9C,gBAAgB,CAAC,UAAU,CAI7B,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var queries = require('@ton/appkit/queries');
|
|
4
|
+
var useAppKit = require('../../../hooks/use-app-kit');
|
|
5
|
+
var query = require('../../../libs/query');
|
|
6
|
+
|
|
7
|
+
const useNft = (parameters = {}) => {
|
|
8
|
+
const appKit = useAppKit.useAppKit();
|
|
9
|
+
return query.useQuery(queries.getNftQueryOptions(appKit, parameters));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
exports.useNft = useNft;
|
|
13
|
+
//# sourceMappingURL=use-nft.js.map
|
|
14
|
+
//# sourceMappingURL=use-nft.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/nft/hooks/use-nft.ts"],"names":["useAppKit","useQuery","getNftQueryOptions"],"mappings":";;;;;;AAsBO,MAAM,MAAA,GAAS,CAClB,UAAA,GAA2C,EAAC,KACb;AAC/B,EAAA,MAAM,SAASA,mBAAA,EAAU;AAEzB,EAAA,OAAOC,cAAA,CAASC,0BAAA,CAAmB,MAAA,EAAQ,UAAU,CAAC,CAAA;AAC1D","file":"use-nft.js","sourcesContent":["/**\n * Copyright (c) TonTech.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { getNftQueryOptions } from '@ton/appkit/queries';\nimport type { GetNftData, GetNftErrorType, GetNftQueryConfig } from '@ton/appkit/queries';\n\nimport { useAppKit } from '../../../hooks/use-app-kit';\nimport { useQuery } from '../../../libs/query';\nimport type { UseQueryReturnType } from '../../../libs/query';\n\nexport type UseNftParameters<selectData = GetNftData> = GetNftQueryConfig<selectData>;\n\nexport type UseNftReturnType<selectData = GetNftData> = UseQueryReturnType<selectData, GetNftErrorType>;\n\n/**\n * Hook to get a single NFT\n */\nexport const useNft = <selectData = GetNftData>(\n parameters: UseNftParameters<selectData> = {},\n): UseNftReturnType<selectData> => {\n const appKit = useAppKit();\n\n return useQuery(getNftQueryOptions(appKit, parameters));\n};\n"]}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { getNftQueryOptions } from '@ton/appkit/queries';
|
|
2
|
+
import { useAppKit } from '../../../hooks/use-app-kit';
|
|
3
|
+
import { useQuery } from '../../../libs/query';
|
|
4
|
+
|
|
5
|
+
const useNft = (parameters = {}) => {
|
|
6
|
+
const appKit = useAppKit();
|
|
7
|
+
return useQuery(getNftQueryOptions(appKit, parameters));
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
export { useNft };
|
|
11
|
+
//# sourceMappingURL=use-nft.mjs.map
|
|
12
|
+
//# sourceMappingURL=use-nft.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/nft/hooks/use-nft.ts"],"names":[],"mappings":";;;;AAsBO,MAAM,MAAA,GAAS,CAClB,UAAA,GAA2C,EAAC,KACb;AAC/B,EAAA,MAAM,SAAS,SAAA,EAAU;AAEzB,EAAA,OAAO,QAAA,CAAS,kBAAA,CAAmB,MAAA,EAAQ,UAAU,CAAC,CAAA;AAC1D","file":"use-nft.mjs","sourcesContent":["/**\n * Copyright (c) TonTech.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { getNftQueryOptions } from '@ton/appkit/queries';\nimport type { GetNftData, GetNftErrorType, GetNftQueryConfig } from '@ton/appkit/queries';\n\nimport { useAppKit } from '../../../hooks/use-app-kit';\nimport { useQuery } from '../../../libs/query';\nimport type { UseQueryReturnType } from '../../../libs/query';\n\nexport type UseNftParameters<selectData = GetNftData> = GetNftQueryConfig<selectData>;\n\nexport type UseNftReturnType<selectData = GetNftData> = UseQueryReturnType<selectData, GetNftErrorType>;\n\n/**\n * Hook to get a single NFT\n */\nexport const useNft = <selectData = GetNftData>(\n parameters: UseNftParameters<selectData> = {},\n): UseNftReturnType<selectData> => {\n const appKit = useAppKit();\n\n return useQuery(getNftQueryOptions(appKit, parameters));\n};\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Copyright (c) TonTech.
|
|
3
|
+
*
|
|
4
|
+
* This source code is licensed under the MIT license found in the
|
|
5
|
+
* LICENSE file in the root directory of this source tree.
|
|
6
|
+
*
|
|
7
|
+
*/
|
|
8
|
+
import type { GetNFTsData, GetNFTsErrorType, GetNFTsQueryConfig } from '@ton/appkit/queries';
|
|
9
|
+
import type { UseQueryReturnType } from '../../../libs/query';
|
|
10
|
+
export type UseNFTsByAddressParameters<selectData = GetNFTsData> = GetNFTsQueryConfig<selectData>;
|
|
11
|
+
export type UseNFTsByAddressReturnType<selectData = GetNFTsData> = UseQueryReturnType<selectData, GetNFTsErrorType>;
|
|
12
|
+
/**
|
|
13
|
+
* Hook to get NFTs
|
|
14
|
+
*/
|
|
15
|
+
export declare const useNFTsByAddress: <selectData = GetNFTsData>(parameters?: UseNFTsByAddressParameters<selectData>) => UseNFTsByAddressReturnType<selectData>;
|
|
16
|
+
//# sourceMappingURL=use-nfts-by-address.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-nfts-by-address.d.ts","sourceRoot":"","sources":["../../../../src/features/nft/hooks/use-nfts-by-address.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,WAAW,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAI7F,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAE9D,MAAM,MAAM,0BAA0B,CAAC,UAAU,GAAG,WAAW,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;AAElG,MAAM,MAAM,0BAA0B,CAAC,UAAU,GAAG,WAAW,IAAI,kBAAkB,CAAC,UAAU,EAAE,gBAAgB,CAAC,CAAC;AAEpH;;GAEG;AACH,eAAO,MAAM,gBAAgB,GAAI,UAAU,GAAG,WAAW,EACrD,aAAY,0BAA0B,CAAC,UAAU,CAAM,KACxD,0BAA0B,CAAC,UAAU,CAIvC,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var queries = require('@ton/appkit/queries');
|
|
4
|
+
var useAppKit = require('../../../hooks/use-app-kit');
|
|
5
|
+
var query = require('../../../libs/query');
|
|
6
|
+
|
|
7
|
+
const useNFTsByAddress = (parameters = {}) => {
|
|
8
|
+
const appKit = useAppKit.useAppKit();
|
|
9
|
+
return query.useQuery(queries.getNFTsQueryOptions(appKit, parameters));
|
|
10
|
+
};
|
|
11
|
+
|
|
12
|
+
exports.useNFTsByAddress = useNFTsByAddress;
|
|
13
|
+
//# sourceMappingURL=use-nfts-by-address.js.map
|
|
14
|
+
//# sourceMappingURL=use-nfts-by-address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/features/nft/hooks/use-nfts-by-address.ts"],"names":["useAppKit","useQuery","getNFTsQueryOptions"],"mappings":";;;;;;AAsBO,MAAM,gBAAA,GAAmB,CAC5B,UAAA,GAAqD,EAAC,KACb;AACzC,EAAA,MAAM,SAASA,mBAAA,EAAU;AAEzB,EAAA,OAAOC,cAAA,CAASC,2BAAA,CAAoB,MAAA,EAAQ,UAAU,CAAC,CAAA;AAC3D","file":"use-nfts-by-address.js","sourcesContent":["/**\n * Copyright (c) TonTech.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\nimport { getNFTsQueryOptions } from '@ton/appkit/queries';\nimport type { GetNFTsData, GetNFTsErrorType, GetNFTsQueryConfig } from '@ton/appkit/queries';\n\nimport { useAppKit } from '../../../hooks/use-app-kit';\nimport { useQuery } from '../../../libs/query';\nimport type { UseQueryReturnType } from '../../../libs/query';\n\nexport type UseNFTsByAddressParameters<selectData = GetNFTsData> = GetNFTsQueryConfig<selectData>;\n\nexport type UseNFTsByAddressReturnType<selectData = GetNFTsData> = UseQueryReturnType<selectData, GetNFTsErrorType>;\n\n/**\n * Hook to get NFTs\n */\nexport const useNFTsByAddress = <selectData = GetNFTsData>(\n parameters: UseNFTsByAddressParameters<selectData> = {},\n): UseNFTsByAddressReturnType<selectData> => {\n const appKit = useAppKit();\n\n return useQuery(getNFTsQueryOptions(appKit, parameters));\n};\n"]}
|