@ape.swap/bonds-sdk 6.2.10 → 6.2.12
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 +2 -4
- package/dist/components/Carousel/index.d.ts +8 -0
- package/dist/components/Carousel/index.js +151 -0
- package/dist/components/Carousel/index.js.map +1 -0
- package/dist/components/Carousel/styles.d.ts +35 -0
- package/dist/components/Carousel/styles.js +40 -0
- package/dist/components/Carousel/styles.js.map +1 -0
- package/dist/config/constants/chains.js +1 -1
- package/dist/config/constants/chains.js.map +1 -1
- package/dist/views/Bonds/components/BondRows/ActiveBondRows.js +1 -2
- package/dist/views/Bonds/components/BondRows/ActiveBondRows.js.map +1 -1
- package/dist/views/Bonds/components/HotBondCards/index.js +3 -26
- package/dist/views/Bonds/components/HotBondCards/index.js.map +1 -1
- package/package.json +1 -2
- package/dist/contexts/SwiperProvider.d.ts +0 -12
- package/dist/contexts/SwiperProvider.js +0 -21
- package/dist/contexts/SwiperProvider.js.map +0 -1
- package/dist/hooks/useSwiper.d.ts +0 -2
- package/dist/hooks/useSwiper.js +0 -13
- package/dist/hooks/useSwiper.js.map +0 -1
- package/dist/utils/getDotPos.d.ts +0 -1
- package/dist/utils/getDotPos.js +0 -12
- package/dist/utils/getDotPos.js.map +0 -1
package/README.md
CHANGED
|
@@ -21,13 +21,13 @@ To install the package via npm or yarn, run the following command:
|
|
|
21
21
|
npm:
|
|
22
22
|
|
|
23
23
|
```bash
|
|
24
|
-
npm install "@ape.swap/bonds-sdk@solana" @bigmi/react@^0.6.5 @lifi/widget@^3.40.6 @mysten/dapp-kit@^0.19.11 @solana/kit@2.3.0 @solana/spl-token@^0.4.14 @solana/wallet-adapter-react@^0.15.39 @solana/wallet-adapter-react-ui@^0.9.39 @solana/web3.js@^1.98.4 @tanstack/react-query@^5.90.2 wagmi@^2.14.16
|
|
24
|
+
npm install "@ape.swap/bonds-sdk@solana" @bigmi/react@^0.6.5 @lifi/widget@^3.40.6 @mysten/dapp-kit@^0.19.11 @solana/kit@2.3.0 @solana/spl-token@^0.4.14 @solana/wallet-adapter-react@^0.15.39 @solana/wallet-adapter-react-ui@^0.9.39 @solana/web3.js@^1.98.4 @tanstack/react-query@^5.90.2 wagmi@^2.14.16
|
|
25
25
|
```
|
|
26
26
|
|
|
27
27
|
yarn:
|
|
28
28
|
|
|
29
29
|
```bash
|
|
30
|
-
yarn add "@ape.swap/bonds-sdk@solana" @bigmi/react@^0.6.5 @lifi/widget@^3.40.6 @mysten/dapp-kit@^0.19.11 @solana/kit@2.3.0 @solana/spl-token@^0.4.14 @solana/wallet-adapter-react@^0.15.39 @solana/wallet-adapter-react-ui@^0.9.39 @solana/web3.js@^1.98.4 @tanstack/react-query@^5.90.2 wagmi@^2.14.16
|
|
30
|
+
yarn add "@ape.swap/bonds-sdk@solana" @bigmi/react@^0.6.5 @lifi/widget@^3.40.6 @mysten/dapp-kit@^0.19.11 @solana/kit@2.3.0 @solana/spl-token@^0.4.14 @solana/wallet-adapter-react@^0.15.39 @solana/wallet-adapter-react-ui@^0.9.39 @solana/web3.js@^1.98.4 @tanstack/react-query@^5.90.2 wagmi@^2.14.16
|
|
31
31
|
```
|
|
32
32
|
|
|
33
33
|
---
|
|
@@ -64,7 +64,6 @@ import React from 'react'
|
|
|
64
64
|
import FullBondsView from '@ape.swap/bonds-sdk/views/FullBondsView'
|
|
65
65
|
import { ChainId } from '@ape.swap/apeswap-lists'
|
|
66
66
|
import '@ape.swap/bonds-sdk/styles.css'
|
|
67
|
-
import 'swiper/css' // only if useHotBonds: true
|
|
68
67
|
|
|
69
68
|
const MyBondsComponent = () => {
|
|
70
69
|
return (
|
|
@@ -184,7 +183,6 @@ The package comes with prebuilt styles that you must import in your project. Mak
|
|
|
184
183
|
|
|
185
184
|
```javascript
|
|
186
185
|
import '@ape.swap/bonds-sdk/dist/styles.css'
|
|
187
|
-
import 'swiper/css' // only if useHotBonds is true
|
|
188
186
|
```
|
|
189
187
|
|
|
190
188
|
These styles ensure that the components render correctly and include all necessary design details. You can customize or override styles using your own branding.
|
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'theme-ui/jsx-runtime';
|
|
2
|
+
import { useRef, useState, useEffect } from 'react';
|
|
3
|
+
import { Flex as Flex$1 } from 'theme-ui';
|
|
4
|
+
import { styles } from './styles.js';
|
|
5
|
+
import Flex from '../uikit-sdk/Flex/index.js';
|
|
6
|
+
import SwiperDots from '../uikit-sdk/SwiperDots/index.js';
|
|
7
|
+
|
|
8
|
+
// Minimum movement (px) before a mouse-down is treated as a drag rather than a click
|
|
9
|
+
const DRAG_TOLERANCE = 5;
|
|
10
|
+
// Minimum net drag distance (px) before a mouse release advances to the next/previous slide
|
|
11
|
+
const DRAG_THRESHOLD = 40;
|
|
12
|
+
// How much of an out-of-bounds drag actually shows up on screen, and the cap for it (px) —
|
|
13
|
+
// gives the "rubber band" resistance that hints the carousel is draggable at its edges.
|
|
14
|
+
const OVERSCROLL_RESISTANCE = 0.35;
|
|
15
|
+
const MAX_OVERSCROLL = 70;
|
|
16
|
+
const Carousel = ({ slides, showDots = true, autoPlay }) => {
|
|
17
|
+
const viewportRef = useRef(null);
|
|
18
|
+
const [activeSlide, setActiveSlide] = useState(0);
|
|
19
|
+
const [isDragging, setIsDragging] = useState(false);
|
|
20
|
+
const [isHovered, setIsHovered] = useState(false);
|
|
21
|
+
const [overscroll, setOverscroll] = useState(0);
|
|
22
|
+
const isMouseDragging = useRef(false);
|
|
23
|
+
const activePointerId = useRef(null);
|
|
24
|
+
const dragStartX = useRef(0);
|
|
25
|
+
const dragStartScrollLeft = useRef(0);
|
|
26
|
+
const slideTo = (index) => {
|
|
27
|
+
const viewport = viewportRef.current;
|
|
28
|
+
if (!viewport)
|
|
29
|
+
return;
|
|
30
|
+
const clamped = Math.min(Math.max(index, 0), slides.length - 1);
|
|
31
|
+
viewport.scrollTo({ left: clamped * viewport.clientWidth, behavior: 'smooth' });
|
|
32
|
+
};
|
|
33
|
+
// Native scrolling (touch swipe, trackpad, or the mouse-drag below) is the only source of
|
|
34
|
+
// truth for position; this just keeps the dots in sync with wherever the viewport lands.
|
|
35
|
+
const handleScroll = () => {
|
|
36
|
+
const viewport = viewportRef.current;
|
|
37
|
+
if (!viewport || viewport.clientWidth === 0)
|
|
38
|
+
return;
|
|
39
|
+
const index = Math.round(viewport.scrollLeft / viewport.clientWidth);
|
|
40
|
+
setActiveSlide((current) => (current === index ? current : index));
|
|
41
|
+
};
|
|
42
|
+
// Pauses while the user is dragging or hovering, and restarts its countdown from whatever
|
|
43
|
+
// slide is currently active — so a manual dot click or drag gets a full autoPlay window too.
|
|
44
|
+
useEffect(() => {
|
|
45
|
+
if (!autoPlay || autoPlay <= 0 || slides.length <= 1 || isDragging || isHovered)
|
|
46
|
+
return;
|
|
47
|
+
const timeoutId = setTimeout(() => {
|
|
48
|
+
slideTo((activeSlide + 1) % slides.length);
|
|
49
|
+
}, autoPlay * 1000);
|
|
50
|
+
return () => clearTimeout(timeoutId);
|
|
51
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
52
|
+
}, [autoPlay, isDragging, isHovered, activeSlide, slides.length]);
|
|
53
|
+
// Desktop click-and-drag only. Touch is deliberately left to the browser's native scroll-snap
|
|
54
|
+
// (see the `viewport` styles) rather than driven from JS: iOS Safari/Chrome (both WebKit) have
|
|
55
|
+
// long-standing bugs where a touch drag captured via setPointerCapture can lose its terminating
|
|
56
|
+
// pointerup/pointercancel mid-gesture, leaving the carousel stuck partway through a transition.
|
|
57
|
+
// Native scrolling never has that failure mode, and mouse pointers aren't affected by the bug.
|
|
58
|
+
//
|
|
59
|
+
// Pointer capture is only claimed once real dragging is detected (see handlePointerMove), so a
|
|
60
|
+
// plain click on a link/button inside a slide never gets hijacked into a drag.
|
|
61
|
+
const handlePointerDown = (event) => {
|
|
62
|
+
if (slides.length <= 1 || event.pointerType !== 'mouse' || event.button !== 0)
|
|
63
|
+
return;
|
|
64
|
+
activePointerId.current = event.pointerId;
|
|
65
|
+
dragStartX.current = event.clientX;
|
|
66
|
+
};
|
|
67
|
+
const handlePointerMove = (event) => {
|
|
68
|
+
if (activePointerId.current !== event.pointerId)
|
|
69
|
+
return;
|
|
70
|
+
const viewport = viewportRef.current;
|
|
71
|
+
if (!viewport)
|
|
72
|
+
return;
|
|
73
|
+
const delta = event.clientX - dragStartX.current;
|
|
74
|
+
if (!isMouseDragging.current) {
|
|
75
|
+
if (Math.abs(delta) < DRAG_TOLERANCE)
|
|
76
|
+
return;
|
|
77
|
+
isMouseDragging.current = true;
|
|
78
|
+
dragStartScrollLeft.current = viewport.scrollLeft;
|
|
79
|
+
viewport.setPointerCapture(event.pointerId);
|
|
80
|
+
setIsDragging(true);
|
|
81
|
+
}
|
|
82
|
+
// scrollLeft can't natively go out of bounds, so the excess past either edge is tracked
|
|
83
|
+
// separately and rendered as a damped transform — the "rubber band" that shows the first/last
|
|
84
|
+
// slide can still be dragged, then springs back once released (see endMouseDrag).
|
|
85
|
+
const maxScrollLeft = viewport.scrollWidth - viewport.clientWidth;
|
|
86
|
+
const rawTarget = dragStartScrollLeft.current - delta;
|
|
87
|
+
let clampedScrollLeft = rawTarget;
|
|
88
|
+
let rawOverscroll = 0;
|
|
89
|
+
if (rawTarget < 0) {
|
|
90
|
+
rawOverscroll = rawTarget;
|
|
91
|
+
clampedScrollLeft = 0;
|
|
92
|
+
}
|
|
93
|
+
else if (rawTarget > maxScrollLeft) {
|
|
94
|
+
rawOverscroll = rawTarget - maxScrollLeft;
|
|
95
|
+
clampedScrollLeft = maxScrollLeft;
|
|
96
|
+
}
|
|
97
|
+
viewport.scrollLeft = clampedScrollLeft;
|
|
98
|
+
// Negated: scrollLeft and visual position move opposite each other (lower scrollLeft
|
|
99
|
+
// shifts content right), so the transform has to flip sign to keep following the drag.
|
|
100
|
+
const visualOverscroll = -rawOverscroll * OVERSCROLL_RESISTANCE;
|
|
101
|
+
setOverscroll(Math.max(-MAX_OVERSCROLL, Math.min(MAX_OVERSCROLL, visualOverscroll)));
|
|
102
|
+
};
|
|
103
|
+
const endMouseDrag = (event) => {
|
|
104
|
+
if (activePointerId.current !== event.pointerId)
|
|
105
|
+
return;
|
|
106
|
+
activePointerId.current = null;
|
|
107
|
+
const viewport = viewportRef.current;
|
|
108
|
+
if (viewport?.hasPointerCapture(event.pointerId)) {
|
|
109
|
+
viewport.releasePointerCapture(event.pointerId);
|
|
110
|
+
}
|
|
111
|
+
if (!isMouseDragging.current)
|
|
112
|
+
return;
|
|
113
|
+
isMouseDragging.current = false;
|
|
114
|
+
setIsDragging(false);
|
|
115
|
+
setOverscroll(0);
|
|
116
|
+
if (!viewport)
|
|
117
|
+
return;
|
|
118
|
+
// A fixed pixel threshold (rather than "past the halfway point") so a normal quick
|
|
119
|
+
// swipe advances the slide, matching the feel of the previous transform-based drag.
|
|
120
|
+
const netDelta = viewport.scrollLeft - dragStartScrollLeft.current;
|
|
121
|
+
const startIndex = Math.round(dragStartScrollLeft.current / viewport.clientWidth);
|
|
122
|
+
if (netDelta > DRAG_THRESHOLD) {
|
|
123
|
+
slideTo(startIndex + 1);
|
|
124
|
+
}
|
|
125
|
+
else if (netDelta < -DRAG_THRESHOLD) {
|
|
126
|
+
slideTo(startIndex - 1);
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
slideTo(startIndex);
|
|
130
|
+
}
|
|
131
|
+
};
|
|
132
|
+
if (slides.length <= 1) {
|
|
133
|
+
return jsx(Fragment, { children: slides[0] });
|
|
134
|
+
}
|
|
135
|
+
return (jsxs(Flex, { sx: styles.container, onMouseEnter: () => setIsHovered(true), onMouseLeave: () => setIsHovered(false), children: [jsx(Flex$1, { ref: viewportRef, sx: {
|
|
136
|
+
...styles.viewport,
|
|
137
|
+
cursor: isDragging ? 'grabbing' : 'grab',
|
|
138
|
+
// Mandatory scroll-snap otherwise fights a programmatic scrollLeft mutation
|
|
139
|
+
// (see handlePointerMove) and yanks it straight back to the last snap point.
|
|
140
|
+
scrollSnapType: isDragging ? 'none' : 'x mandatory',
|
|
141
|
+
transform: overscroll ? `translateX(${overscroll}px)` : undefined,
|
|
142
|
+
transition: isDragging ? 'none' : 'transform 0.3s ease',
|
|
143
|
+
}, onScroll: handleScroll, onPointerDown: handlePointerDown, onPointerMove: handlePointerMove, onPointerUp: endMouseDrag, onPointerCancel: endMouseDrag, onPointerLeave: endMouseDrag, onDragStart: (event) => event.preventDefault(), children: slides.map((slide, index) => {
|
|
144
|
+
return (jsx(Flex, { sx: styles.slide, children: slide }, index));
|
|
145
|
+
}) }), showDots && (jsx(Flex, { sx: styles.dotsContainer, children: slides.map((_, i) => {
|
|
146
|
+
return jsx(SwiperDots, { isActive: i === activeSlide, onClick: () => slideTo(i) }, i);
|
|
147
|
+
}) }))] }));
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
export { Carousel as default };
|
|
151
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/components/Carousel/index.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react'\nimport { Flex as ThemeUIFlex } from 'theme-ui'\nimport { styles } from './styles'\nimport Flex from '../uikit-sdk/Flex'\nimport SwiperDots from '../uikit-sdk/SwiperDots'\n\n// Minimum movement (px) before a mouse-down is treated as a drag rather than a click\nconst DRAG_TOLERANCE = 5\n// Minimum net drag distance (px) before a mouse release advances to the next/previous slide\nconst DRAG_THRESHOLD = 40\n// How much of an out-of-bounds drag actually shows up on screen, and the cap for it (px) —\n// gives the \"rubber band\" resistance that hints the carousel is draggable at its edges.\nconst OVERSCROLL_RESISTANCE = 0.35\nconst MAX_OVERSCROLL = 70\n\ninterface CarouselProps {\n slides: React.ReactNode[]\n showDots?: boolean\n // Seconds between automatic slide advances. Omit/0 to disable.\n autoPlay?: number\n}\n\nconst Carousel = ({ slides, showDots = true, autoPlay }: CarouselProps) => {\n const viewportRef = useRef<HTMLDivElement>(null)\n const [activeSlide, setActiveSlide] = useState(0)\n const [isDragging, setIsDragging] = useState(false)\n const [isHovered, setIsHovered] = useState(false)\n const [overscroll, setOverscroll] = useState(0)\n\n const isMouseDragging = useRef(false)\n const activePointerId = useRef<number | null>(null)\n const dragStartX = useRef(0)\n const dragStartScrollLeft = useRef(0)\n\n const slideTo = (index: number) => {\n const viewport = viewportRef.current\n if (!viewport) return\n const clamped = Math.min(Math.max(index, 0), slides.length - 1)\n viewport.scrollTo({ left: clamped * viewport.clientWidth, behavior: 'smooth' })\n }\n\n // Native scrolling (touch swipe, trackpad, or the mouse-drag below) is the only source of\n // truth for position; this just keeps the dots in sync with wherever the viewport lands.\n const handleScroll = () => {\n const viewport = viewportRef.current\n if (!viewport || viewport.clientWidth === 0) return\n const index = Math.round(viewport.scrollLeft / viewport.clientWidth)\n setActiveSlide((current) => (current === index ? current : index))\n }\n\n // Pauses while the user is dragging or hovering, and restarts its countdown from whatever\n // slide is currently active — so a manual dot click or drag gets a full autoPlay window too.\n useEffect(() => {\n if (!autoPlay || autoPlay <= 0 || slides.length <= 1 || isDragging || isHovered) return\n const timeoutId = setTimeout(() => {\n slideTo((activeSlide + 1) % slides.length)\n }, autoPlay * 1000)\n return () => clearTimeout(timeoutId)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [autoPlay, isDragging, isHovered, activeSlide, slides.length])\n\n // Desktop click-and-drag only. Touch is deliberately left to the browser's native scroll-snap\n // (see the `viewport` styles) rather than driven from JS: iOS Safari/Chrome (both WebKit) have\n // long-standing bugs where a touch drag captured via setPointerCapture can lose its terminating\n // pointerup/pointercancel mid-gesture, leaving the carousel stuck partway through a transition.\n // Native scrolling never has that failure mode, and mouse pointers aren't affected by the bug.\n //\n // Pointer capture is only claimed once real dragging is detected (see handlePointerMove), so a\n // plain click on a link/button inside a slide never gets hijacked into a drag.\n const handlePointerDown = (event: React.PointerEvent<HTMLDivElement>) => {\n if (slides.length <= 1 || event.pointerType !== 'mouse' || event.button !== 0) return\n activePointerId.current = event.pointerId\n dragStartX.current = event.clientX\n }\n\n const handlePointerMove = (event: React.PointerEvent<HTMLDivElement>) => {\n if (activePointerId.current !== event.pointerId) return\n const viewport = viewportRef.current\n if (!viewport) return\n const delta = event.clientX - dragStartX.current\n if (!isMouseDragging.current) {\n if (Math.abs(delta) < DRAG_TOLERANCE) return\n isMouseDragging.current = true\n dragStartScrollLeft.current = viewport.scrollLeft\n viewport.setPointerCapture(event.pointerId)\n setIsDragging(true)\n }\n // scrollLeft can't natively go out of bounds, so the excess past either edge is tracked\n // separately and rendered as a damped transform — the \"rubber band\" that shows the first/last\n // slide can still be dragged, then springs back once released (see endMouseDrag).\n const maxScrollLeft = viewport.scrollWidth - viewport.clientWidth\n const rawTarget = dragStartScrollLeft.current - delta\n let clampedScrollLeft = rawTarget\n let rawOverscroll = 0\n if (rawTarget < 0) {\n rawOverscroll = rawTarget\n clampedScrollLeft = 0\n } else if (rawTarget > maxScrollLeft) {\n rawOverscroll = rawTarget - maxScrollLeft\n clampedScrollLeft = maxScrollLeft\n }\n viewport.scrollLeft = clampedScrollLeft\n // Negated: scrollLeft and visual position move opposite each other (lower scrollLeft\n // shifts content right), so the transform has to flip sign to keep following the drag.\n const visualOverscroll = -rawOverscroll * OVERSCROLL_RESISTANCE\n setOverscroll(Math.max(-MAX_OVERSCROLL, Math.min(MAX_OVERSCROLL, visualOverscroll)))\n }\n\n const endMouseDrag = (event: React.PointerEvent<HTMLDivElement>) => {\n if (activePointerId.current !== event.pointerId) return\n activePointerId.current = null\n const viewport = viewportRef.current\n if (viewport?.hasPointerCapture(event.pointerId)) {\n viewport.releasePointerCapture(event.pointerId)\n }\n if (!isMouseDragging.current) return\n isMouseDragging.current = false\n setIsDragging(false)\n setOverscroll(0)\n if (!viewport) return\n // A fixed pixel threshold (rather than \"past the halfway point\") so a normal quick\n // swipe advances the slide, matching the feel of the previous transform-based drag.\n const netDelta = viewport.scrollLeft - dragStartScrollLeft.current\n const startIndex = Math.round(dragStartScrollLeft.current / viewport.clientWidth)\n if (netDelta > DRAG_THRESHOLD) {\n slideTo(startIndex + 1)\n } else if (netDelta < -DRAG_THRESHOLD) {\n slideTo(startIndex - 1)\n } else {\n slideTo(startIndex)\n }\n }\n\n if (slides.length <= 1) {\n return <>{slides[0]}</>\n }\n\n return (\n <Flex sx={styles.container} onMouseEnter={() => setIsHovered(true)} onMouseLeave={() => setIsHovered(false)}>\n <ThemeUIFlex\n ref={viewportRef}\n sx={\n {\n ...styles.viewport,\n cursor: isDragging ? 'grabbing' : 'grab',\n // Mandatory scroll-snap otherwise fights a programmatic scrollLeft mutation\n // (see handlePointerMove) and yanks it straight back to the last snap point.\n scrollSnapType: isDragging ? 'none' : 'x mandatory',\n transform: overscroll ? `translateX(${overscroll}px)` : undefined,\n transition: isDragging ? 'none' : 'transform 0.3s ease',\n } as any\n }\n onScroll={handleScroll}\n onPointerDown={handlePointerDown}\n onPointerMove={handlePointerMove}\n onPointerUp={endMouseDrag}\n onPointerCancel={endMouseDrag}\n onPointerLeave={endMouseDrag}\n onDragStart={(event: React.DragEvent<HTMLDivElement>) => event.preventDefault()}\n >\n {slides.map((slide, index) => {\n return (\n <Flex sx={styles.slide} key={index}>\n {slide}\n </Flex>\n )\n })}\n </ThemeUIFlex>\n {showDots && (\n <Flex sx={styles.dotsContainer}>\n {slides.map((_, i) => {\n return <SwiperDots isActive={i === activeSlide} onClick={() => slideTo(i)} key={i} />\n })}\n </Flex>\n )}\n </Flex>\n )\n}\n\nexport default Carousel\n"],"names":["_jsx","_jsxs","ThemeUIFlex"],"mappings":";;;;;;;AAMA;AACA,MAAM,cAAc,GAAG,CAAC;AACxB;AACA,MAAM,cAAc,GAAG,EAAE;AACzB;AACA;AACA,MAAM,qBAAqB,GAAG,IAAI;AAClC,MAAM,cAAc,GAAG,EAAE;AASzB,MAAM,QAAQ,GAAG,CAAC,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,QAAQ,EAAiB,KAAI;AACxE,IAAA,MAAM,WAAW,GAAG,MAAM,CAAiB,IAAI,CAAC;IAChD,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;IACjD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACnD,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC;IACjD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC;AAE/C,IAAA,MAAM,eAAe,GAAG,MAAM,CAAC,KAAK,CAAC;AACrC,IAAA,MAAM,eAAe,GAAG,MAAM,CAAgB,IAAI,CAAC;AACnD,IAAA,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC;AAC5B,IAAA,MAAM,mBAAmB,GAAG,MAAM,CAAC,CAAC,CAAC;AAErC,IAAA,MAAM,OAAO,GAAG,CAAC,KAAa,KAAI;AAChC,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO;AACpC,QAAA,IAAI,CAAC,QAAQ;YAAE;QACf,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;AAC/D,QAAA,QAAQ,CAAC,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC;AACjF,IAAA,CAAC;;;IAID,MAAM,YAAY,GAAG,MAAK;AACxB,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO;AACpC,QAAA,IAAI,CAAC,QAAQ,IAAI,QAAQ,CAAC,WAAW,KAAK,CAAC;YAAE;AAC7C,QAAA,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,UAAU,GAAG,QAAQ,CAAC,WAAW,CAAC;QACpE,cAAc,CAAC,CAAC,OAAO,MAAM,OAAO,KAAK,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC,CAAC;AACpE,IAAA,CAAC;;;IAID,SAAS,CAAC,MAAK;AACb,QAAA,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,CAAC,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,UAAU,IAAI,SAAS;YAAE;AACjF,QAAA,MAAM,SAAS,GAAG,UAAU,CAAC,MAAK;YAChC,OAAO,CAAC,CAAC,WAAW,GAAG,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC;AAC5C,QAAA,CAAC,EAAE,QAAQ,GAAG,IAAI,CAAC;AACnB,QAAA,OAAO,MAAM,YAAY,CAAC,SAAS,CAAC;;AAEtC,IAAA,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;;;;;;;;;AAUjE,IAAA,MAAM,iBAAiB,GAAG,CAAC,KAAyC,KAAI;AACtE,QAAA,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,WAAW,KAAK,OAAO,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;YAAE;AAC/E,QAAA,eAAe,CAAC,OAAO,GAAG,KAAK,CAAC,SAAS;AACzC,QAAA,UAAU,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO;AACpC,IAAA,CAAC;AAED,IAAA,MAAM,iBAAiB,GAAG,CAAC,KAAyC,KAAI;AACtE,QAAA,IAAI,eAAe,CAAC,OAAO,KAAK,KAAK,CAAC,SAAS;YAAE;AACjD,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO;AACpC,QAAA,IAAI,CAAC,QAAQ;YAAE;QACf,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,GAAG,UAAU,CAAC,OAAO;AAChD,QAAA,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;AAC5B,YAAA,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,cAAc;gBAAE;AACtC,YAAA,eAAe,CAAC,OAAO,GAAG,IAAI;AAC9B,YAAA,mBAAmB,CAAC,OAAO,GAAG,QAAQ,CAAC,UAAU;AACjD,YAAA,QAAQ,CAAC,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC;YAC3C,aAAa,CAAC,IAAI,CAAC;QACrB;;;;QAIA,MAAM,aAAa,GAAG,QAAQ,CAAC,WAAW,GAAG,QAAQ,CAAC,WAAW;AACjE,QAAA,MAAM,SAAS,GAAG,mBAAmB,CAAC,OAAO,GAAG,KAAK;QACrD,IAAI,iBAAiB,GAAG,SAAS;QACjC,IAAI,aAAa,GAAG,CAAC;AACrB,QAAA,IAAI,SAAS,GAAG,CAAC,EAAE;YACjB,aAAa,GAAG,SAAS;YACzB,iBAAiB,GAAG,CAAC;QACvB;AAAO,aAAA,IAAI,SAAS,GAAG,aAAa,EAAE;AACpC,YAAA,aAAa,GAAG,SAAS,GAAG,aAAa;YACzC,iBAAiB,GAAG,aAAa;QACnC;AACA,QAAA,QAAQ,CAAC,UAAU,GAAG,iBAAiB;;;AAGvC,QAAA,MAAM,gBAAgB,GAAG,CAAC,aAAa,GAAG,qBAAqB;AAC/D,QAAA,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,gBAAgB,CAAC,CAAC,CAAC;AACtF,IAAA,CAAC;AAED,IAAA,MAAM,YAAY,GAAG,CAAC,KAAyC,KAAI;AACjE,QAAA,IAAI,eAAe,CAAC,OAAO,KAAK,KAAK,CAAC,SAAS;YAAE;AACjD,QAAA,eAAe,CAAC,OAAO,GAAG,IAAI;AAC9B,QAAA,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO;QACpC,IAAI,QAAQ,EAAE,iBAAiB,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE;AAChD,YAAA,QAAQ,CAAC,qBAAqB,CAAC,KAAK,CAAC,SAAS,CAAC;QACjD;QACA,IAAI,CAAC,eAAe,CAAC,OAAO;YAAE;AAC9B,QAAA,eAAe,CAAC,OAAO,GAAG,KAAK;QAC/B,aAAa,CAAC,KAAK,CAAC;QACpB,aAAa,CAAC,CAAC,CAAC;AAChB,QAAA,IAAI,CAAC,QAAQ;YAAE;;;QAGf,MAAM,QAAQ,GAAG,QAAQ,CAAC,UAAU,GAAG,mBAAmB,CAAC,OAAO;AAClE,QAAA,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,OAAO,GAAG,QAAQ,CAAC,WAAW,CAAC;AACjF,QAAA,IAAI,QAAQ,GAAG,cAAc,EAAE;AAC7B,YAAA,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;QACzB;AAAO,aAAA,IAAI,QAAQ,GAAG,CAAC,cAAc,EAAE;AACrC,YAAA,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC;QACzB;aAAO;YACL,OAAO,CAAC,UAAU,CAAC;QACrB;AACF,IAAA,CAAC;AAED,IAAA,IAAI,MAAM,CAAC,MAAM,IAAI,CAAC,EAAE;AACtB,QAAA,OAAOA,0BAAG,MAAM,CAAC,CAAC,CAAC,GAAI;IACzB;AAEA,IAAA,QACEC,IAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC,IAAI,CAAC,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC,KAAK,CAAC,EAAA,QAAA,EAAA,CACzGD,GAAA,CAACE,MAAW,EAAA,EACV,GAAG,EAAE,WAAW,EAChB,EAAE,EACA;oBACE,GAAG,MAAM,CAAC,QAAQ;oBAClB,MAAM,EAAE,UAAU,GAAG,UAAU,GAAG,MAAM;;;oBAGxC,cAAc,EAAE,UAAU,GAAG,MAAM,GAAG,aAAa;oBACnD,SAAS,EAAE,UAAU,GAAG,CAAA,WAAA,EAAc,UAAU,CAAA,GAAA,CAAK,GAAG,SAAS;oBACjE,UAAU,EAAE,UAAU,GAAG,MAAM,GAAG,qBAAqB;iBACjD,EAEV,QAAQ,EAAE,YAAY,EACtB,aAAa,EAAE,iBAAiB,EAChC,aAAa,EAAE,iBAAiB,EAChC,WAAW,EAAE,YAAY,EACzB,eAAe,EAAE,YAAY,EAC7B,cAAc,EAAE,YAAY,EAC5B,WAAW,EAAE,CAAC,KAAsC,KAAK,KAAK,CAAC,cAAc,EAAE,EAAA,QAAA,EAE9E,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAI;AAC3B,oBAAA,QACEF,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,MAAM,CAAC,KAAK,YACnB,KAAK,EAAA,EADqB,KAAK,CAE3B;gBAEX,CAAC,CAAC,EAAA,CACU,EACb,QAAQ,KACPA,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,MAAM,CAAC,aAAa,EAAA,QAAA,EAC3B,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAI;oBACnB,OAAOA,GAAA,CAAC,UAAU,EAAA,EAAC,QAAQ,EAAE,CAAC,KAAK,WAAW,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAA,EAAO,CAAC,CAAI;AACvF,gBAAA,CAAC,CAAC,EAAA,CACG,CACR,CAAA,EAAA,CACI;AAEX;;;;"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
export declare const styles: {
|
|
2
|
+
container: {
|
|
3
|
+
flexDirection: string;
|
|
4
|
+
alignItems: string;
|
|
5
|
+
width: string;
|
|
6
|
+
};
|
|
7
|
+
viewport: {
|
|
8
|
+
width: string;
|
|
9
|
+
overflowX: string;
|
|
10
|
+
overflowY: string;
|
|
11
|
+
scrollSnapType: string;
|
|
12
|
+
WebkitOverflowScrolling: string;
|
|
13
|
+
scrollbarWidth: string;
|
|
14
|
+
msOverflowStyle: string;
|
|
15
|
+
userSelect: string;
|
|
16
|
+
WebkitUserSelect: string;
|
|
17
|
+
WebkitTouchCallout: string;
|
|
18
|
+
'&::-webkit-scrollbar': {
|
|
19
|
+
display: string;
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
slide: {
|
|
23
|
+
flex: string;
|
|
24
|
+
width: string;
|
|
25
|
+
scrollSnapAlign: string;
|
|
26
|
+
padding: string;
|
|
27
|
+
height: string;
|
|
28
|
+
justifyContent: string;
|
|
29
|
+
};
|
|
30
|
+
dotsContainer: {
|
|
31
|
+
marginTop: string;
|
|
32
|
+
justifyContent: string;
|
|
33
|
+
alignItems: string;
|
|
34
|
+
};
|
|
35
|
+
};
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
const styles = {
|
|
2
|
+
container: {
|
|
3
|
+
flexDirection: 'column',
|
|
4
|
+
alignItems: 'center',
|
|
5
|
+
width: '100%',
|
|
6
|
+
},
|
|
7
|
+
viewport: {
|
|
8
|
+
width: '100%',
|
|
9
|
+
overflowX: 'auto',
|
|
10
|
+
overflowY: 'hidden',
|
|
11
|
+
scrollSnapType: 'x mandatory',
|
|
12
|
+
WebkitOverflowScrolling: 'touch',
|
|
13
|
+
scrollbarWidth: 'none',
|
|
14
|
+
msOverflowStyle: 'none',
|
|
15
|
+
userSelect: 'none',
|
|
16
|
+
WebkitUserSelect: 'none',
|
|
17
|
+
// Suppress iOS Safari's long-press "Save Image/Share" callout on the slide images/links,
|
|
18
|
+
// which can otherwise pop up mid-swipe and make the carousel look broken on iPhone.
|
|
19
|
+
WebkitTouchCallout: 'none',
|
|
20
|
+
'&::-webkit-scrollbar': {
|
|
21
|
+
display: 'none',
|
|
22
|
+
},
|
|
23
|
+
},
|
|
24
|
+
slide: {
|
|
25
|
+
flex: '0 0 100%',
|
|
26
|
+
width: '100%',
|
|
27
|
+
scrollSnapAlign: 'center',
|
|
28
|
+
padding: '1px',
|
|
29
|
+
height: 'fit-content',
|
|
30
|
+
justifyContent: 'center',
|
|
31
|
+
},
|
|
32
|
+
dotsContainer: {
|
|
33
|
+
marginTop: '20px',
|
|
34
|
+
justifyContent: 'center',
|
|
35
|
+
alignItems: 'center',
|
|
36
|
+
},
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
export { styles };
|
|
40
|
+
//# sourceMappingURL=styles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.js","sources":["../../../src/components/Carousel/styles.ts"],"sourcesContent":["export const styles = {\n container: {\n flexDirection: 'column',\n alignItems: 'center',\n width: '100%',\n },\n viewport: {\n width: '100%',\n overflowX: 'auto',\n overflowY: 'hidden',\n scrollSnapType: 'x mandatory',\n WebkitOverflowScrolling: 'touch',\n scrollbarWidth: 'none',\n msOverflowStyle: 'none',\n userSelect: 'none',\n WebkitUserSelect: 'none',\n // Suppress iOS Safari's long-press \"Save Image/Share\" callout on the slide images/links,\n // which can otherwise pop up mid-swipe and make the carousel look broken on iPhone.\n WebkitTouchCallout: 'none',\n '&::-webkit-scrollbar': {\n display: 'none',\n },\n },\n slide: {\n flex: '0 0 100%',\n width: '100%',\n scrollSnapAlign: 'center',\n padding: '1px',\n height: 'fit-content',\n justifyContent: 'center',\n },\n dotsContainer: {\n marginTop: '20px',\n justifyContent: 'center',\n alignItems: 'center',\n },\n}\n"],"names":[],"mappings":"AAAO,MAAM,MAAM,GAAG;AACpB,IAAA,SAAS,EAAE;AACT,QAAA,aAAa,EAAE,QAAQ;AACvB,QAAA,UAAU,EAAE,QAAQ;AACpB,QAAA,KAAK,EAAE,MAAM;AACd,KAAA;AACD,IAAA,QAAQ,EAAE;AACR,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,SAAS,EAAE,QAAQ;AACnB,QAAA,cAAc,EAAE,aAAa;AAC7B,QAAA,uBAAuB,EAAE,OAAO;AAChC,QAAA,cAAc,EAAE,MAAM;AACtB,QAAA,eAAe,EAAE,MAAM;AACvB,QAAA,UAAU,EAAE,MAAM;AAClB,QAAA,gBAAgB,EAAE,MAAM;;;AAGxB,QAAA,kBAAkB,EAAE,MAAM;AAC1B,QAAA,sBAAsB,EAAE;AACtB,YAAA,OAAO,EAAE,MAAM;AAChB,SAAA;AACF,KAAA;AACD,IAAA,KAAK,EAAE;AACL,QAAA,IAAI,EAAE,UAAU;AAChB,QAAA,KAAK,EAAE,MAAM;AACb,QAAA,eAAe,EAAE,QAAQ;AACzB,QAAA,OAAO,EAAE,KAAK;AACd,QAAA,MAAM,EAAE,aAAa;AACrB,QAAA,cAAc,EAAE,QAAQ;AACzB,KAAA;AACD,IAAA,aAAa,EAAE;AACb,QAAA,SAAS,EAAE,MAAM;AACjB,QAAA,cAAc,EAAE,QAAQ;AACxB,QAAA,UAAU,EAAE,QAAQ;AACrB,KAAA;;;;;"}
|
|
@@ -122,7 +122,7 @@ const NETWORK_LABEL = {
|
|
|
122
122
|
[ChainId.SUI]: 'Sui',
|
|
123
123
|
[ChainId.BITTENSOR_TESTNET]: 'Bittensor Testnet',
|
|
124
124
|
[ChainId.ROBINHOOD]: 'Robinhood',
|
|
125
|
-
[ChainId.L1X]: 'Layer
|
|
125
|
+
[ChainId.L1X]: 'Layer One X',
|
|
126
126
|
};
|
|
127
127
|
const SHORT_NETWORK_LABEL = {
|
|
128
128
|
[ChainId.BSC]: 'BNB',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chains.js","sources":["../../../src/config/constants/chains.ts"],"sourcesContent":["// Network chain ids\nimport type React from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n// Ensure the ChainId.APTOS and ChainId.SUI runtime patches run before the maps below evaluate\nimport '../../constants/aptosConstants'\nimport '../../constants/suiConstants'\nimport { SvgProps } from '../../components/uikit-sdk/Svg/types'\nimport BNB from '../../components/uikit-sdk/Svg/tokens/BNB'\nimport POLYGON from '../../components/uikit-sdk/Svg/tokens/POLYGON'\nimport ETH from '../../components/uikit-sdk/Svg/tokens/ETH'\nimport TLOS from '../../components/uikit-sdk/Svg/tokens/TLOS'\nimport ARBITRUM from '../../components/uikit-sdk/Svg/tokens/ARBITRUM'\nimport INEVM from '../../components/uikit-sdk/Svg/tokens/INEVM'\nimport LINEA from '../../components/uikit-sdk/Svg/tokens/LINEA'\nimport LIGHTLINK from '../../components/uikit-sdk/Svg/tokens/LIGHTLINK'\nimport IOTA from '../../components/uikit-sdk/Svg/tokens/IOTA'\nimport BASE from '../../components/uikit-sdk/Svg/tokens/BASE'\nimport GRAPHLINQ from '../../components/uikit-sdk/Svg/tokens/GraphLinq'\nimport AVAX from '../../components/uikit-sdk/Svg/tokens/AVAX'\nimport BLAST from '../../components/uikit-sdk/Svg/tokens/BLAST'\nimport CROSSFI from '../../components/uikit-sdk/Svg/tokens/CROSSFI'\nimport MONAD from '../../components/uikit-sdk/Svg/tokens/MONAD'\nimport SONIC from '../../components/uikit-sdk/Svg/tokens/SONIC'\nimport BERA from '../../components/uikit-sdk/Svg/tokens/BERA'\nimport SOL from '../../components/uikit-sdk/Svg/tokens/SOL'\nimport KATANA from '../../components/uikit-sdk/Svg/tokens/KATANA'\nimport UNICHAIN from '../../components/uikit-sdk/Svg/tokens/UNICHAIN'\nimport MEGAETH from '../../components/uikit-sdk/Svg/tokens/MEGAETH'\nimport HYPEREVM from '../../components/uikit-sdk/Svg/tokens/HYPEREVM'\nimport APTOS from '../../components/uikit-sdk/Svg/tokens/APTOS'\nimport SUI from '../../components/uikit-sdk/Svg/tokens/SUI'\nimport BitTensor from '../../components/uikit-sdk/Svg/Icons/BitTensor'\nimport Robinhood from '../../components/uikit-sdk/Svg/Icons/Robinhood'\nimport L1X from '../../components/uikit-sdk/Svg/Icons/L1X'\n\n// These are the lists we will display to the user\nexport const MAINNET_CHAINS = [\n ChainId.MAINNET,\n ChainId.BSC,\n ChainId.MATIC,\n ChainId.BASE,\n ChainId.IOTA,\n ChainId.LINEA,\n ChainId.ARBITRUM,\n ChainId.APTOS,\n ChainId.SUI,\n ChainId.LIGHTLINK,\n ChainId.GRAPHLINQ,\n ChainId.AVAX,\n ChainId.BLAST,\n ChainId.CROSSFI,\n ChainId.SONIC,\n ChainId.MONAD,\n ChainId.BERACHAIN,\n ChainId.SOL,\n ChainId.KATANA,\n ChainId.UNICHAIN,\n ChainId.MEGAETH_TESTNET,\n ChainId.HYPEREVM,\n ChainId.BITTENSOR_TESTNET,\n ChainId.ROBINHOOD,\n ChainId.L1X,\n]\n\nexport const TESTNET_CHAINS = [ChainId.MEGAETH_TESTNET]\n\n// Network Icons\nexport const NETWORK_ICONS: Partial<Record<number, React.ComponentType<SvgProps>>> = {\n [ChainId.BSC]: BNB,\n [ChainId.MATIC]: POLYGON,\n [ChainId.MAINNET]: ETH,\n [ChainId.TLOS]: TLOS,\n [ChainId.ARBITRUM]: ARBITRUM,\n [ChainId.INEVM]: INEVM,\n [ChainId.SEPOLIA]: ETH,\n [ChainId.LINEA]: LINEA,\n [ChainId.LIGHTLINK]: LIGHTLINK,\n [ChainId.IOTA]: IOTA,\n [ChainId.BASE]: BASE,\n [ChainId.GRAPHLINQ]: GRAPHLINQ,\n [ChainId.AVAX]: AVAX,\n [ChainId.BLAST]: BLAST,\n [ChainId.CROSSFI]: CROSSFI,\n [ChainId.MONAD_TESTNET]: MONAD,\n [ChainId.MONAD]: MONAD,\n [ChainId.SONIC]: SONIC,\n [ChainId.BERACHAIN]: BERA,\n [ChainId.SOL]: SOL,\n [ChainId.KATANA]: KATANA,\n [ChainId.UNICHAIN]: UNICHAIN,\n [ChainId.MEGAETH_TESTNET]: MEGAETH,\n [ChainId.HYPEREVM]: HYPEREVM,\n [ChainId.APTOS]: APTOS,\n [ChainId.SUI]: SUI,\n [ChainId.BITTENSOR_TESTNET]: BitTensor,\n [ChainId.ROBINHOOD]: Robinhood,\n [ChainId.L1X]: L1X,\n}\n\n// Network labels\nexport const NETWORK_LABEL: Record<number, string> = {\n [ChainId.BSC]: 'BNB',\n [ChainId.BSC_TESTNET]: 'BNB Testnet',\n [ChainId.MATIC]: 'Polygon',\n [ChainId.MAINNET]: 'Ethereum',\n [ChainId.TLOS]: 'Telos',\n [ChainId.ARBITRUM]: 'Arbitrum',\n [ChainId.INEVM]: 'inEVM',\n [ChainId.SEPOLIA]: 'Sepolia',\n [ChainId.LINEA]: 'Linea',\n [ChainId.LIGHTLINK]: 'Lightlink',\n [ChainId.IOTA]: 'Iota',\n [ChainId.IOTA_TESTNET]: 'Iota Testnet',\n [ChainId.BASE]: 'Base',\n [ChainId.GRAPHLINQ]: 'GraphLinq',\n [ChainId.AVAX]: 'Avalanche',\n [ChainId.BLAST]: 'Blast',\n [ChainId.CROSSFI]: 'Crossfi',\n [ChainId.MONAD_TESTNET]: 'Monad Testnet',\n [ChainId.MONAD]: 'Monad',\n [ChainId.SONIC]: 'Sonic',\n [ChainId.BERACHAIN]: 'Berachain',\n [ChainId.SOL]: 'Solana',\n [ChainId.KATANA]: 'Katana',\n [ChainId.UNICHAIN]: 'Unichain',\n [ChainId.MEGAETH_TESTNET]: 'MegaETH Testnet',\n [ChainId.HYPEREVM]: 'HyperEVM',\n [ChainId.APTOS]: 'Aptos',\n [ChainId.SUI]: 'Sui',\n [ChainId.BITTENSOR_TESTNET]: 'Bittensor Testnet',\n [ChainId.ROBINHOOD]: 'Robinhood',\n [ChainId.L1X]: 'Layer 1X',\n}\n\nexport const SHORT_NETWORK_LABEL: Record<number, string> = {\n [ChainId.BSC]: 'BNB',\n [ChainId.MATIC]: 'Pol',\n [ChainId.MAINNET]: 'Eth',\n [ChainId.TLOS]: 'Telo',\n [ChainId.ARBITRUM]: 'Arb',\n [ChainId.LINEA]: 'Line',\n [ChainId.LIGHTLINK]: 'Ligh',\n [ChainId.IOTA]: 'Iota',\n [ChainId.BASE]: 'Base',\n [ChainId.GRAPHLINQ]: 'Grap',\n [ChainId.AVAX]: 'Avax',\n [ChainId.BLAST]: 'Bla',\n [ChainId.CROSSFI]: 'Cro',\n [ChainId.MONAD]: 'Mona',\n [ChainId.SONIC]: 'Son',\n [ChainId.BERACHAIN]: 'Bera',\n [ChainId.SOL]: 'Sol',\n [ChainId.KATANA]: 'Kat',\n [ChainId.UNICHAIN]: 'Unic',\n [ChainId.HYPEREVM]: 'Hyp',\n [ChainId.APTOS]: 'Apt',\n [ChainId.SUI]: 'Sui',\n [ChainId.BITTENSOR_TESTNET]: 'Bitt',\n [ChainId.ROBINHOOD]: 'Robin',\n [ChainId.L1X]: 'L1X',\n}\n\n// Network block explorers\nexport const BLOCK_EXPLORER: Record<number, string> = {\n [ChainId.MAINNET]: 'https://etherscan.io',\n [ChainId.ARBITRUM]: 'https://arbiscan.io',\n [ChainId.MATIC]: 'https://polygonscan.com',\n [ChainId.BSC]: 'https://bscscan.com',\n [ChainId.BSC_TESTNET]: 'https://testnet.bscscan.com',\n [ChainId.TLOS]: 'https://www.teloscan.io',\n [ChainId.INEVM]: 'https://explorer.inevm.com',\n [ChainId.SEPOLIA]: 'https://sepolia.etherscan.io',\n [ChainId.LINEA]: 'https://lineascan.build',\n [ChainId.LIGHTLINK]: 'https://phoenix.lightlink.io',\n [ChainId.IOTA]: 'https://explorer.evm.iota.org',\n [ChainId.IOTA_TESTNET]: 'https://explorer.evm.testnet.iotaledger.net/',\n [ChainId.BASE]: 'https://basescan.org',\n [ChainId.GRAPHLINQ]: 'https://graphlinq.dex.guru',\n [ChainId.AVAX]: 'https://snowtrace.io/',\n [ChainId.BLAST]: 'https://blastscan.io',\n [ChainId.CROSSFI]: 'https://xfiscan.com',\n [ChainId.MONAD_TESTNET]: 'https://testnet.monadexplorer.com/',\n [ChainId.MONAD]: 'https://monadvision.com/',\n [ChainId.SONIC]: 'https://sonicscan.org',\n [ChainId.BERACHAIN]: 'https://berascan.com',\n [ChainId.SOL]: 'https://solscan.io',\n [ChainId.KATANA]: 'https://explorer.katanarpc.com',\n [ChainId.UNICHAIN]: 'https://uniscan.xyz',\n [ChainId.MEGAETH_TESTNET]: 'https://megaexplorer.xyz',\n [ChainId.HYPEREVM]: 'https://hyperevmscan.io',\n [ChainId.APTOS]: 'https://explorer.aptoslabs.com',\n [ChainId.SUI]: 'https://suiscan.xyz/mainnet',\n [ChainId.BITTENSOR_TESTNET]: 'https://evm-testscan.dev.opentensor.ai',\n [ChainId.ROBINHOOD]: 'https://robinhoodchain.blockscout.com',\n [ChainId.L1X]: 'https://explorer.l1xapp.com',\n}\n"],"names":["MONAD","SONIC"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chains.js","sources":["../../../src/config/constants/chains.ts"],"sourcesContent":["// Network chain ids\nimport type React from 'react'\nimport { ChainId } from '@ape.swap/apeswap-lists'\n// Ensure the ChainId.APTOS and ChainId.SUI runtime patches run before the maps below evaluate\nimport '../../constants/aptosConstants'\nimport '../../constants/suiConstants'\nimport { SvgProps } from '../../components/uikit-sdk/Svg/types'\nimport BNB from '../../components/uikit-sdk/Svg/tokens/BNB'\nimport POLYGON from '../../components/uikit-sdk/Svg/tokens/POLYGON'\nimport ETH from '../../components/uikit-sdk/Svg/tokens/ETH'\nimport TLOS from '../../components/uikit-sdk/Svg/tokens/TLOS'\nimport ARBITRUM from '../../components/uikit-sdk/Svg/tokens/ARBITRUM'\nimport INEVM from '../../components/uikit-sdk/Svg/tokens/INEVM'\nimport LINEA from '../../components/uikit-sdk/Svg/tokens/LINEA'\nimport LIGHTLINK from '../../components/uikit-sdk/Svg/tokens/LIGHTLINK'\nimport IOTA from '../../components/uikit-sdk/Svg/tokens/IOTA'\nimport BASE from '../../components/uikit-sdk/Svg/tokens/BASE'\nimport GRAPHLINQ from '../../components/uikit-sdk/Svg/tokens/GraphLinq'\nimport AVAX from '../../components/uikit-sdk/Svg/tokens/AVAX'\nimport BLAST from '../../components/uikit-sdk/Svg/tokens/BLAST'\nimport CROSSFI from '../../components/uikit-sdk/Svg/tokens/CROSSFI'\nimport MONAD from '../../components/uikit-sdk/Svg/tokens/MONAD'\nimport SONIC from '../../components/uikit-sdk/Svg/tokens/SONIC'\nimport BERA from '../../components/uikit-sdk/Svg/tokens/BERA'\nimport SOL from '../../components/uikit-sdk/Svg/tokens/SOL'\nimport KATANA from '../../components/uikit-sdk/Svg/tokens/KATANA'\nimport UNICHAIN from '../../components/uikit-sdk/Svg/tokens/UNICHAIN'\nimport MEGAETH from '../../components/uikit-sdk/Svg/tokens/MEGAETH'\nimport HYPEREVM from '../../components/uikit-sdk/Svg/tokens/HYPEREVM'\nimport APTOS from '../../components/uikit-sdk/Svg/tokens/APTOS'\nimport SUI from '../../components/uikit-sdk/Svg/tokens/SUI'\nimport BitTensor from '../../components/uikit-sdk/Svg/Icons/BitTensor'\nimport Robinhood from '../../components/uikit-sdk/Svg/Icons/Robinhood'\nimport L1X from '../../components/uikit-sdk/Svg/Icons/L1X'\n\n// These are the lists we will display to the user\nexport const MAINNET_CHAINS = [\n ChainId.MAINNET,\n ChainId.BSC,\n ChainId.MATIC,\n ChainId.BASE,\n ChainId.IOTA,\n ChainId.LINEA,\n ChainId.ARBITRUM,\n ChainId.APTOS,\n ChainId.SUI,\n ChainId.LIGHTLINK,\n ChainId.GRAPHLINQ,\n ChainId.AVAX,\n ChainId.BLAST,\n ChainId.CROSSFI,\n ChainId.SONIC,\n ChainId.MONAD,\n ChainId.BERACHAIN,\n ChainId.SOL,\n ChainId.KATANA,\n ChainId.UNICHAIN,\n ChainId.MEGAETH_TESTNET,\n ChainId.HYPEREVM,\n ChainId.BITTENSOR_TESTNET,\n ChainId.ROBINHOOD,\n ChainId.L1X,\n]\n\nexport const TESTNET_CHAINS = [ChainId.MEGAETH_TESTNET]\n\n// Network Icons\nexport const NETWORK_ICONS: Partial<Record<number, React.ComponentType<SvgProps>>> = {\n [ChainId.BSC]: BNB,\n [ChainId.MATIC]: POLYGON,\n [ChainId.MAINNET]: ETH,\n [ChainId.TLOS]: TLOS,\n [ChainId.ARBITRUM]: ARBITRUM,\n [ChainId.INEVM]: INEVM,\n [ChainId.SEPOLIA]: ETH,\n [ChainId.LINEA]: LINEA,\n [ChainId.LIGHTLINK]: LIGHTLINK,\n [ChainId.IOTA]: IOTA,\n [ChainId.BASE]: BASE,\n [ChainId.GRAPHLINQ]: GRAPHLINQ,\n [ChainId.AVAX]: AVAX,\n [ChainId.BLAST]: BLAST,\n [ChainId.CROSSFI]: CROSSFI,\n [ChainId.MONAD_TESTNET]: MONAD,\n [ChainId.MONAD]: MONAD,\n [ChainId.SONIC]: SONIC,\n [ChainId.BERACHAIN]: BERA,\n [ChainId.SOL]: SOL,\n [ChainId.KATANA]: KATANA,\n [ChainId.UNICHAIN]: UNICHAIN,\n [ChainId.MEGAETH_TESTNET]: MEGAETH,\n [ChainId.HYPEREVM]: HYPEREVM,\n [ChainId.APTOS]: APTOS,\n [ChainId.SUI]: SUI,\n [ChainId.BITTENSOR_TESTNET]: BitTensor,\n [ChainId.ROBINHOOD]: Robinhood,\n [ChainId.L1X]: L1X,\n}\n\n// Network labels\nexport const NETWORK_LABEL: Record<number, string> = {\n [ChainId.BSC]: 'BNB',\n [ChainId.BSC_TESTNET]: 'BNB Testnet',\n [ChainId.MATIC]: 'Polygon',\n [ChainId.MAINNET]: 'Ethereum',\n [ChainId.TLOS]: 'Telos',\n [ChainId.ARBITRUM]: 'Arbitrum',\n [ChainId.INEVM]: 'inEVM',\n [ChainId.SEPOLIA]: 'Sepolia',\n [ChainId.LINEA]: 'Linea',\n [ChainId.LIGHTLINK]: 'Lightlink',\n [ChainId.IOTA]: 'Iota',\n [ChainId.IOTA_TESTNET]: 'Iota Testnet',\n [ChainId.BASE]: 'Base',\n [ChainId.GRAPHLINQ]: 'GraphLinq',\n [ChainId.AVAX]: 'Avalanche',\n [ChainId.BLAST]: 'Blast',\n [ChainId.CROSSFI]: 'Crossfi',\n [ChainId.MONAD_TESTNET]: 'Monad Testnet',\n [ChainId.MONAD]: 'Monad',\n [ChainId.SONIC]: 'Sonic',\n [ChainId.BERACHAIN]: 'Berachain',\n [ChainId.SOL]: 'Solana',\n [ChainId.KATANA]: 'Katana',\n [ChainId.UNICHAIN]: 'Unichain',\n [ChainId.MEGAETH_TESTNET]: 'MegaETH Testnet',\n [ChainId.HYPEREVM]: 'HyperEVM',\n [ChainId.APTOS]: 'Aptos',\n [ChainId.SUI]: 'Sui',\n [ChainId.BITTENSOR_TESTNET]: 'Bittensor Testnet',\n [ChainId.ROBINHOOD]: 'Robinhood',\n [ChainId.L1X]: 'Layer One X',\n}\n\nexport const SHORT_NETWORK_LABEL: Record<number, string> = {\n [ChainId.BSC]: 'BNB',\n [ChainId.MATIC]: 'Pol',\n [ChainId.MAINNET]: 'Eth',\n [ChainId.TLOS]: 'Telo',\n [ChainId.ARBITRUM]: 'Arb',\n [ChainId.LINEA]: 'Line',\n [ChainId.LIGHTLINK]: 'Ligh',\n [ChainId.IOTA]: 'Iota',\n [ChainId.BASE]: 'Base',\n [ChainId.GRAPHLINQ]: 'Grap',\n [ChainId.AVAX]: 'Avax',\n [ChainId.BLAST]: 'Bla',\n [ChainId.CROSSFI]: 'Cro',\n [ChainId.MONAD]: 'Mona',\n [ChainId.SONIC]: 'Son',\n [ChainId.BERACHAIN]: 'Bera',\n [ChainId.SOL]: 'Sol',\n [ChainId.KATANA]: 'Kat',\n [ChainId.UNICHAIN]: 'Unic',\n [ChainId.HYPEREVM]: 'Hyp',\n [ChainId.APTOS]: 'Apt',\n [ChainId.SUI]: 'Sui',\n [ChainId.BITTENSOR_TESTNET]: 'Bitt',\n [ChainId.ROBINHOOD]: 'Robin',\n [ChainId.L1X]: 'L1X',\n}\n\n// Network block explorers\nexport const BLOCK_EXPLORER: Record<number, string> = {\n [ChainId.MAINNET]: 'https://etherscan.io',\n [ChainId.ARBITRUM]: 'https://arbiscan.io',\n [ChainId.MATIC]: 'https://polygonscan.com',\n [ChainId.BSC]: 'https://bscscan.com',\n [ChainId.BSC_TESTNET]: 'https://testnet.bscscan.com',\n [ChainId.TLOS]: 'https://www.teloscan.io',\n [ChainId.INEVM]: 'https://explorer.inevm.com',\n [ChainId.SEPOLIA]: 'https://sepolia.etherscan.io',\n [ChainId.LINEA]: 'https://lineascan.build',\n [ChainId.LIGHTLINK]: 'https://phoenix.lightlink.io',\n [ChainId.IOTA]: 'https://explorer.evm.iota.org',\n [ChainId.IOTA_TESTNET]: 'https://explorer.evm.testnet.iotaledger.net/',\n [ChainId.BASE]: 'https://basescan.org',\n [ChainId.GRAPHLINQ]: 'https://graphlinq.dex.guru',\n [ChainId.AVAX]: 'https://snowtrace.io/',\n [ChainId.BLAST]: 'https://blastscan.io',\n [ChainId.CROSSFI]: 'https://xfiscan.com',\n [ChainId.MONAD_TESTNET]: 'https://testnet.monadexplorer.com/',\n [ChainId.MONAD]: 'https://monadvision.com/',\n [ChainId.SONIC]: 'https://sonicscan.org',\n [ChainId.BERACHAIN]: 'https://berascan.com',\n [ChainId.SOL]: 'https://solscan.io',\n [ChainId.KATANA]: 'https://explorer.katanarpc.com',\n [ChainId.UNICHAIN]: 'https://uniscan.xyz',\n [ChainId.MEGAETH_TESTNET]: 'https://megaexplorer.xyz',\n [ChainId.HYPEREVM]: 'https://hyperevmscan.io',\n [ChainId.APTOS]: 'https://explorer.aptoslabs.com',\n [ChainId.SUI]: 'https://suiscan.xyz/mainnet',\n [ChainId.BITTENSOR_TESTNET]: 'https://evm-testscan.dev.opentensor.ai',\n [ChainId.ROBINHOOD]: 'https://robinhoodchain.blockscout.com',\n [ChainId.L1X]: 'https://explorer.l1xapp.com',\n}\n"],"names":["MONAD","SONIC"],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ import ChainTitle from './ChainTitle.js';
|
|
|
5
5
|
import BondRow from './BondRow.js';
|
|
6
6
|
import { Flex } from 'theme-ui';
|
|
7
7
|
import { ChainId } from '@ape.swap/apeswap-lists';
|
|
8
|
-
import SwiperProvider from '../../../../contexts/SwiperProvider.js';
|
|
9
8
|
import HotBondCards from '../HotBondCards/index.js';
|
|
10
9
|
import ChainBanner from '../ChainBanner/ChainBanner.js';
|
|
11
10
|
import { getRemainingTokensString, remainingPercentage, getVestingTermsTooltipString, getVestingTermsString } from '../../../../utils/displayHelpers.js';
|
|
@@ -72,7 +71,7 @@ const ActiveBondRows = ({ chain, bonds, hideTitles, showHotBonds }) => {
|
|
|
72
71
|
? `${bond?.trueBondPrices?.[0]?.discountWithFee?.toFixed(2)}%`
|
|
73
72
|
: undefined, shortDescription: bond.shortDescription, cgId: bond.cgId, dexscreener: bond?.dexscreener }, `${bondAddress}-${bond.chainId}-${index}`));
|
|
74
73
|
}
|
|
75
|
-
}), showHotBonds &&
|
|
74
|
+
}), showHotBonds && jsx(HotBondCards, {})] }, key))] }) }, key));
|
|
76
75
|
};
|
|
77
76
|
|
|
78
77
|
export { ActiveBondRows as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ActiveBondRows.js","sources":["../../../../../src/views/Bonds/components/BondRows/ActiveBondRows.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport ChainTitle from './ChainTitle'\nimport BondRow from './BondRow'\nimport { Flex } from 'theme-ui'\nimport { BondsData } from '../../../../types/bonds'\nimport { BaseBondConfig, ChainId, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport SwiperProvider from '../../../../contexts/SwiperProvider'\nimport HotBondCards from '../HotBondCards'\nimport ChainBanner from '../ChainBanner/ChainBanner'\nimport {\n getRemainingTokensString,\n getVestingTermsString,\n getVestingTermsTooltipString,\n remainingPercentage,\n} from '../../../../utils/displayHelpers'\nimport { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\n\n// Record<string, (BondsData | BaseBondConfig)[]>\n\ninterface ActiveBondRowsProps {\n chain: number\n bonds: (BondsData | BaseBondConfig)[]\n hideTitles: boolean\n showHotBonds: boolean\n}\n\nconst ActiveBondRows: React.FC<ActiveBondRowsProps> = ({ chain, bonds, hideTitles, showHotBonds }) => {\n const { namingPreference } = useSDKConfig()\n const [isOpen, setIsOpen] = useState<boolean>(true)\n const key = chain\n\n return (\n <Flex className=\"bondrowswithtitle\" key={key}>\n <AnimatePresence initial={false}>\n <Flex onClick={() => setIsOpen(!isOpen)} sx={{ cursor: 'pointer' }}>\n <ChainTitle\n chain={chain}\n pt={'5px'}\n hideTitles={(bonds.length <= 0 && chain !== ChainId.SOL && chain !== ChainId.MONAD) || hideTitles}\n isOpen={isOpen}\n />\n </Flex>\n {isOpen && (bonds.length > 0 || chain === ChainId.MONAD) && (\n <motion.div\n initial={{ height: 0, overflow: 'hidden' }}\n animate={{ height: 'fit-content', overflow: 'hidden', transitionEnd: { overflow: 'visible' } }}\n exit={{ height: 0, overflow: 'hidden' }}\n sx={{\n position: 'relative',\n overflow: 'hidden',\n width: '100%',\n marginTop: '0px',\n }}\n key={key}\n className=\"bonds-card-container\"\n >\n {[\n // ChainId.SOL,\n ChainId.MONAD,\n // ChainId.APTOS,\n // ChainId.SUI\n ].includes(chain) &&\n !hideTitles && <ChainBanner chainId={chain} />}\n {bonds?.map((bondFromMap, index) => {\n // PRE TGE ROWS\n\n if (bondFromMap.billType === 'fcfs') {\n const bond = bondFromMap as BondsData\n const totalPrincipalBilled =\n Math.round(\n getBalanceNumber(\n bond?.totalPrincipalBilled ?? '0',\n bond?.lpToken?.decimals?.[bond?.chainId] as number,\n ),\n ) / (bond.initPrice ?? 0)\n const raiseGoal =\n Math.round(\n getBalanceNumber(bond?.totalRaise ?? '0', bond?.lpToken?.decimals?.[bond?.chainId] as number),\n ) / (bond.initPrice ?? 0)\n\n const tokensRemaining = raiseGoal - totalPrincipalBilled\n const tokensRemainingUSD = tokensRemaining * (bond?.initPrice ?? 0)\n const percentageAvailable = 100 - Math.floor((totalPrincipalBilled * 100) / raiseGoal)\n const earnToken = bond?.earnToken?.symbol\n\n const baseBonus = bond?.trueBondPrices?.[0]?.bonus ?? 0\n const airdropBonus = bond?.airdropBonus ?? 0\n const bonus = baseBonus + airdropBonus\n const initialRelease = (bond?.initialRelease ?? 0) * 100\n\n const now = new Date().getTime()\n const saleFinishTime = (bond?.finishTime ?? 0) * 1000\n const saleHasFinished = now > saleFinishTime || bond.finalized\n\n return (\n <BondRow\n key={`${bond.contractAddress}-${bond.chainId}-${index}`}\n bondAddress={bond.contractAddress?.[bond.chainId] as string}\n bondChain={bond.chainId}\n marketingCampaign={bond.marketingCampaign as MarketingCampaign}\n payoutToken={bond.underlyingEarnToken || bond.earnToken}\n billType={bond.billType}\n tag={bond.tags?.[0]}\n bonus={\n bond.yieldBond\n ? `${bond.yieldData?.apr.toFixed()}% APR`\n : saleHasFinished\n ? undefined\n : `${bonus}%`\n }\n airdropTooltip={bond.airdropTooltip}\n percentageAvailable={percentageAvailable}\n remainingTokensString={\n saleHasFinished\n ? `0 ${earnToken} ($0) `\n : `${formatNumberSI(tokensRemaining, 0)} ${earnToken} ($${formatNumberSI(tokensRemainingUSD, 2)})`\n }\n vestingTermString={\n saleHasFinished\n ? '-'\n : bond.yieldBond\n ? `${\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) -\n parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n } D`\n : initialRelease === 100\n ? `0 D`\n : `${getTimePeriods(bond.vestingTerm).months} Mo`\n }\n vestingCliffString={\n bond.yieldBond\n ? `This is the duration over which the bonus yield will be distributed while your initial tokens remain staked.`\n : undefined\n }\n projectURL={bond.projectLink}\n twitterURL={bond.twitter}\n bondSoldOut={saleHasFinished}\n shortDescription={bond.shortDescription}\n />\n )\n } else {\n // POST TGE BONDS AKA NORMAL BONDS\n\n const bond = bondFromMap as BondsData\n const bondAddress = bond?.contractAddress?.[bond?.chainId] as string\n const remainingTokensString = getRemainingTokensString(bond)\n return (\n <BondRow\n key={`${bondAddress}-${bond.chainId}-${index}`}\n bondAddress={bondAddress}\n bondChain={bond.chainId}\n marketingCampaign={bond.marketingCampaign as MarketingCampaign}\n payoutToken={bond.earnToken}\n billType={bond.billType}\n tag={bond.highlightTag || bond.tags?.[0]}\n trueBondPrices={namingPreference === 'Bonus' ? bond.trueBondPrices : undefined}\n minTier={bond?.minTier}\n vestingTermString={getVestingTermsString(bond)}\n vestingCliffString={getVestingTermsTooltipString(bond)}\n percentageAvailable={remainingPercentage(bond)}\n remainingTokensString={remainingTokensString}\n projectURL={bond.projectLink}\n twitterURL={bond.twitter}\n bonus={\n namingPreference === 'Discount'\n ? `${bond?.trueBondPrices?.[0]?.discountWithFee?.toFixed(2)}%`\n : undefined\n }\n shortDescription={bond.shortDescription}\n cgId={bond.cgId}\n dexscreener={bond?.dexscreener}\n />\n )\n }\n })}\n {showHotBonds && (\n <SwiperProvider>\n <HotBondCards />\n </SwiperProvider>\n )}\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n )\n}\n\nexport default ActiveBondRows\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ActiveBondRows.js","sources":["../../../../../src/views/Bonds/components/BondRows/ActiveBondRows.tsx"],"sourcesContent":["import React, { useState } from 'react'\nimport { AnimatePresence, motion } from 'framer-motion'\nimport ChainTitle from './ChainTitle'\nimport BondRow from './BondRow'\nimport { Flex } from 'theme-ui'\nimport { BondsData } from '../../../../types/bonds'\nimport { BaseBondConfig, ChainId, MarketingCampaign } from '@ape.swap/apeswap-lists'\nimport HotBondCards from '../HotBondCards'\nimport ChainBanner from '../ChainBanner/ChainBanner'\nimport {\n getRemainingTokensString,\n getVestingTermsString,\n getVestingTermsTooltipString,\n remainingPercentage,\n} from '../../../../utils/displayHelpers'\nimport { getBalanceNumber } from '../../../../utils/getBalanceNumber'\nimport { formatNumberSI } from '../../../../utils/formatNumber'\nimport { getTimePeriods } from '../../../../utils/getTimePeriods'\nimport { useSDKConfig } from '../../../../state/useSDKConfig'\n\n// Record<string, (BondsData | BaseBondConfig)[]>\n\ninterface ActiveBondRowsProps {\n chain: number\n bonds: (BondsData | BaseBondConfig)[]\n hideTitles: boolean\n showHotBonds: boolean\n}\n\nconst ActiveBondRows: React.FC<ActiveBondRowsProps> = ({ chain, bonds, hideTitles, showHotBonds }) => {\n const { namingPreference } = useSDKConfig()\n const [isOpen, setIsOpen] = useState<boolean>(true)\n const key = chain\n\n return (\n <Flex className=\"bondrowswithtitle\" key={key}>\n <AnimatePresence initial={false}>\n <Flex onClick={() => setIsOpen(!isOpen)} sx={{ cursor: 'pointer' }}>\n <ChainTitle\n chain={chain}\n pt={'5px'}\n hideTitles={(bonds.length <= 0 && chain !== ChainId.SOL && chain !== ChainId.MONAD) || hideTitles}\n isOpen={isOpen}\n />\n </Flex>\n {isOpen && (bonds.length > 0 || chain === ChainId.MONAD) && (\n <motion.div\n initial={{ height: 0, overflow: 'hidden' }}\n animate={{ height: 'fit-content', overflow: 'hidden', transitionEnd: { overflow: 'visible' } }}\n exit={{ height: 0, overflow: 'hidden' }}\n sx={{\n position: 'relative',\n overflow: 'hidden',\n width: '100%',\n marginTop: '0px',\n }}\n key={key}\n className=\"bonds-card-container\"\n >\n {[\n // ChainId.SOL,\n ChainId.MONAD,\n // ChainId.APTOS,\n // ChainId.SUI\n ].includes(chain) &&\n !hideTitles && <ChainBanner chainId={chain} />}\n {bonds?.map((bondFromMap, index) => {\n // PRE TGE ROWS\n\n if (bondFromMap.billType === 'fcfs') {\n const bond = bondFromMap as BondsData\n const totalPrincipalBilled =\n Math.round(\n getBalanceNumber(\n bond?.totalPrincipalBilled ?? '0',\n bond?.lpToken?.decimals?.[bond?.chainId] as number,\n ),\n ) / (bond.initPrice ?? 0)\n const raiseGoal =\n Math.round(\n getBalanceNumber(bond?.totalRaise ?? '0', bond?.lpToken?.decimals?.[bond?.chainId] as number),\n ) / (bond.initPrice ?? 0)\n\n const tokensRemaining = raiseGoal - totalPrincipalBilled\n const tokensRemainingUSD = tokensRemaining * (bond?.initPrice ?? 0)\n const percentageAvailable = 100 - Math.floor((totalPrincipalBilled * 100) / raiseGoal)\n const earnToken = bond?.earnToken?.symbol\n\n const baseBonus = bond?.trueBondPrices?.[0]?.bonus ?? 0\n const airdropBonus = bond?.airdropBonus ?? 0\n const bonus = baseBonus + airdropBonus\n const initialRelease = (bond?.initialRelease ?? 0) * 100\n\n const now = new Date().getTime()\n const saleFinishTime = (bond?.finishTime ?? 0) * 1000\n const saleHasFinished = now > saleFinishTime || bond.finalized\n\n return (\n <BondRow\n key={`${bond.contractAddress}-${bond.chainId}-${index}`}\n bondAddress={bond.contractAddress?.[bond.chainId] as string}\n bondChain={bond.chainId}\n marketingCampaign={bond.marketingCampaign as MarketingCampaign}\n payoutToken={bond.underlyingEarnToken || bond.earnToken}\n billType={bond.billType}\n tag={bond.tags?.[0]}\n bonus={\n bond.yieldBond\n ? `${bond.yieldData?.apr.toFixed()}% APR`\n : saleHasFinished\n ? undefined\n : `${bonus}%`\n }\n airdropTooltip={bond.airdropTooltip}\n percentageAvailable={percentageAvailable}\n remainingTokensString={\n saleHasFinished\n ? `0 ${earnToken} ($0) `\n : `${formatNumberSI(tokensRemaining, 0)} ${earnToken} ($${formatNumberSI(tokensRemainingUSD, 2)})`\n }\n vestingTermString={\n saleHasFinished\n ? '-'\n : bond.yieldBond\n ? `${\n getTimePeriods(\n (bond?.yieldData?.rewardDistributionEnd ?? 0) -\n parseInt(bond.startVestingTimestamp ?? '0'),\n true,\n ).days\n } D`\n : initialRelease === 100\n ? `0 D`\n : `${getTimePeriods(bond.vestingTerm).months} Mo`\n }\n vestingCliffString={\n bond.yieldBond\n ? `This is the duration over which the bonus yield will be distributed while your initial tokens remain staked.`\n : undefined\n }\n projectURL={bond.projectLink}\n twitterURL={bond.twitter}\n bondSoldOut={saleHasFinished}\n shortDescription={bond.shortDescription}\n />\n )\n } else {\n // POST TGE BONDS AKA NORMAL BONDS\n\n const bond = bondFromMap as BondsData\n const bondAddress = bond?.contractAddress?.[bond?.chainId] as string\n const remainingTokensString = getRemainingTokensString(bond)\n return (\n <BondRow\n key={`${bondAddress}-${bond.chainId}-${index}`}\n bondAddress={bondAddress}\n bondChain={bond.chainId}\n marketingCampaign={bond.marketingCampaign as MarketingCampaign}\n payoutToken={bond.earnToken}\n billType={bond.billType}\n tag={bond.highlightTag || bond.tags?.[0]}\n trueBondPrices={namingPreference === 'Bonus' ? bond.trueBondPrices : undefined}\n minTier={bond?.minTier}\n vestingTermString={getVestingTermsString(bond)}\n vestingCliffString={getVestingTermsTooltipString(bond)}\n percentageAvailable={remainingPercentage(bond)}\n remainingTokensString={remainingTokensString}\n projectURL={bond.projectLink}\n twitterURL={bond.twitter}\n bonus={\n namingPreference === 'Discount'\n ? `${bond?.trueBondPrices?.[0]?.discountWithFee?.toFixed(2)}%`\n : undefined\n }\n shortDescription={bond.shortDescription}\n cgId={bond.cgId}\n dexscreener={bond?.dexscreener}\n />\n )\n }\n })}\n {showHotBonds && <HotBondCards />}\n </motion.div>\n )}\n </AnimatePresence>\n </Flex>\n )\n}\n\nexport default ActiveBondRows\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
|
@@ -1,29 +1,15 @@
|
|
|
1
1
|
import { jsxs, jsx } from 'theme-ui/jsx-runtime';
|
|
2
|
-
import { useState } from 'react';
|
|
3
2
|
import { styles } from './styles.js';
|
|
4
3
|
import HotBondCard from './HotBondCard.js';
|
|
5
|
-
import { Swiper, SwiperSlide } from 'swiper/react';
|
|
6
|
-
import useSwiper from '../../../../hooks/useSwiper.js';
|
|
7
|
-
import { getDotPos } from '../../../../utils/getDotPos.js';
|
|
8
4
|
import useHotBonds from '../../../../state/hotBonds/useHotBonds.js';
|
|
9
5
|
import Flex from '../../../../components/uikit-sdk/Flex/index.js';
|
|
10
|
-
import
|
|
6
|
+
import Carousel from '../../../../components/Carousel/index.js';
|
|
11
7
|
|
|
12
8
|
const HotBondCards = () => {
|
|
13
9
|
const { data: hotBonds } = useHotBonds();
|
|
14
|
-
const [activeSlide, setActiveSlide] = useState(0);
|
|
15
|
-
const { swiper, setSwiper } = useSwiper();
|
|
16
|
-
const handleSlide = (event) => {
|
|
17
|
-
const slideNumber = getDotPos(event.activeIndex, hotBonds?.length);
|
|
18
|
-
setActiveSlide(slideNumber);
|
|
19
|
-
};
|
|
20
|
-
const slideTo = (index) => {
|
|
21
|
-
setActiveSlide(index);
|
|
22
|
-
swiper?.slideTo(index);
|
|
23
|
-
};
|
|
24
10
|
return (jsxs(Flex, { sx: styles.mainComponent, children: [jsx(Flex, { sx: styles.hotBondTitle, children: "HOT BONDS" }), jsx(Flex, { sx: styles.desktopCards, children: hotBonds?.map((bond, index) => {
|
|
25
11
|
return jsx(HotBondCard, { bond: bond }, `${bond?.contractAddress?.[bond?.chainId]}-${index}`);
|
|
26
|
-
}) }),
|
|
12
|
+
}) }), jsx(Flex, { sx: {
|
|
27
13
|
flexDirection: 'column',
|
|
28
14
|
width: '100%',
|
|
29
15
|
alignItems: 'center',
|
|
@@ -33,16 +19,7 @@ const HotBondCards = () => {
|
|
|
33
19
|
'@media screen and (min-width: 1000px)': {
|
|
34
20
|
display: 'none',
|
|
35
21
|
},
|
|
36
|
-
}, children:
|
|
37
|
-
return (jsx(SwiperSlide, { style: {
|
|
38
|
-
width: '100%',
|
|
39
|
-
padding: '1px',
|
|
40
|
-
display: 'flex',
|
|
41
|
-
justifyContent: 'center',
|
|
42
|
-
}, children: jsx(HotBondCard, { bond: bond }, `${bond?.contractAddress?.[bond?.chainId]}-${index}`) }, index));
|
|
43
|
-
}) }), jsx(Flex, { children: [...Array(hotBonds?.length)].map((_, i) => {
|
|
44
|
-
return jsx(SwiperDots, { isActive: i === activeSlide, onClick: () => slideTo(i) }, i);
|
|
45
|
-
}) })] })] }));
|
|
22
|
+
}, children: jsx(Carousel, { slides: hotBonds?.map((bond, index) => (jsx(HotBondCard, { bond: bond }, `${bond?.contractAddress?.[bond?.chainId]}-${index}`))) ?? [] }) })] }));
|
|
46
23
|
};
|
|
47
24
|
|
|
48
25
|
export { HotBondCards as default };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/index.tsx"],"sourcesContent":["import React
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../../src/views/Bonds/components/HotBondCards/index.tsx"],"sourcesContent":["import React from 'react'\nimport { styles } from './styles'\nimport HotBondCard from './HotBondCard'\nimport useHotBonds from '../../../../state/hotBonds/useHotBonds'\nimport Flex from '../../../../components/uikit-sdk/Flex'\nimport Carousel from '../../../../components/Carousel'\n\nconst HotBondCards = () => {\n const { data: hotBonds } = useHotBonds()\n\n return (\n <Flex sx={styles.mainComponent}>\n <Flex sx={styles.hotBondTitle}>HOT BONDS</Flex>\n {/* DESKTOP CARDS */}\n <Flex sx={styles.desktopCards}>\n {hotBonds?.map((bond, index) => {\n return <HotBondCard bond={bond} key={`${bond?.contractAddress?.[bond?.chainId]}-${index}`} />\n })}\n </Flex>\n {/* MOBILE CARDS WITH CAROUSEL */}\n <Flex\n sx={{\n flexDirection: 'column',\n width: '100%',\n alignItems: 'center',\n mb: '15px',\n overflow: 'hidden',\n display: 'flex',\n '@media screen and (min-width: 1000px)': {\n display: 'none',\n },\n }}\n >\n <Carousel\n slides={\n hotBonds?.map((bond, index) => (\n <HotBondCard bond={bond} key={`${bond?.contractAddress?.[bond?.chainId]}-${index}`} />\n )) ?? []\n }\n />\n </Flex>\n </Flex>\n )\n}\n\nexport default HotBondCards\n"],"names":["_jsxs","_jsx"],"mappings":";;;;;;;AAOA,MAAM,YAAY,GAAG,MAAK;IACxB,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE;AAExC,IAAA,QACEA,IAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,MAAM,CAAC,aAAa,EAAA,QAAA,EAAA,CAC5BC,IAAC,IAAI,EAAA,EAAC,EAAE,EAAE,MAAM,CAAC,YAAY,EAAA,QAAA,EAAA,WAAA,EAAA,CAAkB,EAE/CA,GAAA,CAAC,IAAI,EAAA,EAAC,EAAE,EAAE,MAAM,CAAC,YAAY,EAAA,QAAA,EAC1B,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,KAAI;oBAC7B,OAAOA,GAAA,CAAC,WAAW,EAAA,EAAC,IAAI,EAAE,IAAI,EAAA,EAAO,GAAG,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,OAAO,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,CAAI;AAC/F,gBAAA,CAAC,CAAC,EAAA,CACG,EAEPA,IAAC,IAAI,EAAA,EACH,EAAE,EAAE;AACF,oBAAA,aAAa,EAAE,QAAQ;AACvB,oBAAA,KAAK,EAAE,MAAM;AACb,oBAAA,UAAU,EAAE,QAAQ;AACpB,oBAAA,EAAE,EAAE,MAAM;AACV,oBAAA,QAAQ,EAAE,QAAQ;AAClB,oBAAA,OAAO,EAAE,MAAM;AACf,oBAAA,uCAAuC,EAAE;AACvC,wBAAA,OAAO,EAAE,MAAM;AAChB,qBAAA;iBACF,EAAA,QAAA,EAEDA,GAAA,CAAC,QAAQ,EAAA,EACP,MAAM,EACJ,QAAQ,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,MACxBA,GAAA,CAAC,WAAW,EAAA,EAAC,IAAI,EAAE,IAAI,IAAO,CAAA,EAAG,IAAI,EAAE,eAAe,GAAG,IAAI,EAAE,OAAO,CAAC,CAAA,CAAA,EAAI,KAAK,CAAA,CAAE,CAAI,CACvF,CAAC,IAAI,EAAE,EAAA,CAEV,EAAA,CACG,CAAA,EAAA,CACF;AAEX;;;;"}
|
package/package.json
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"description": "Ape Bond SDK",
|
|
4
4
|
"author": "Ape Bond",
|
|
5
5
|
"license": "MIT",
|
|
6
|
-
"version": "6.2.
|
|
6
|
+
"version": "6.2.12",
|
|
7
7
|
"module": "dist/main.js",
|
|
8
8
|
"type": "module",
|
|
9
9
|
"types": "dist/main.d.ts",
|
|
@@ -124,7 +124,6 @@
|
|
|
124
124
|
"framer-motion": "11.18.2",
|
|
125
125
|
"lightweight-charts": "4.2.3",
|
|
126
126
|
"lodash-es": "4.17.23",
|
|
127
|
-
"swiper": "12.1.2",
|
|
128
127
|
"theme-ui": "0.17.2"
|
|
129
128
|
},
|
|
130
129
|
"devDependencies": {
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import React, { Dispatch } from 'react';
|
|
2
|
-
import SwiperCore from 'swiper';
|
|
3
|
-
export interface Context {
|
|
4
|
-
swiper: SwiperCore | undefined;
|
|
5
|
-
setSwiper: Dispatch<React.SetStateAction<SwiperCore | undefined>>;
|
|
6
|
-
destroySwiper: () => void;
|
|
7
|
-
}
|
|
8
|
-
export declare const SwiperContext: React.Context<Context>;
|
|
9
|
-
declare const SwiperProvider: React.FC<{
|
|
10
|
-
children: React.ReactNode;
|
|
11
|
-
}>;
|
|
12
|
-
export default SwiperProvider;
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'theme-ui/jsx-runtime';
|
|
2
|
-
import { createContext, useState } from 'react';
|
|
3
|
-
|
|
4
|
-
const SwiperContext = createContext({
|
|
5
|
-
swiper: undefined,
|
|
6
|
-
setSwiper: () => null,
|
|
7
|
-
destroySwiper: () => null,
|
|
8
|
-
});
|
|
9
|
-
const SwiperProvider = ({ children }) => {
|
|
10
|
-
const [swiper, setSwiper] = useState(undefined);
|
|
11
|
-
const destroySwiper = () => {
|
|
12
|
-
if (swiper) {
|
|
13
|
-
swiper.destroy();
|
|
14
|
-
setSwiper(undefined);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
return jsx(SwiperContext.Provider, { value: { swiper, setSwiper, destroySwiper }, children: children });
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
export { SwiperContext, SwiperProvider as default };
|
|
21
|
-
//# sourceMappingURL=SwiperProvider.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SwiperProvider.js","sources":["../../src/contexts/SwiperProvider.tsx"],"sourcesContent":["import React, { createContext, Dispatch, useState } from 'react'\nimport SwiperCore from 'swiper'\n\nexport interface Context {\n swiper: SwiperCore | undefined\n setSwiper: Dispatch<React.SetStateAction<SwiperCore | undefined>>\n destroySwiper: () => void\n}\n\nexport const SwiperContext = createContext<Context>({\n swiper: undefined,\n setSwiper: () => null,\n destroySwiper: () => null,\n})\n\nconst SwiperProvider: React.FC<{ children: React.ReactNode }> = ({ children }) => {\n const [swiper, setSwiper] = useState<SwiperCore | undefined>(undefined)\n\n const destroySwiper = () => {\n if (swiper) {\n swiper.destroy()\n setSwiper(undefined)\n }\n }\n\n return <SwiperContext.Provider value={{ swiper, setSwiper, destroySwiper }}>{children}</SwiperContext.Provider>\n}\n\nexport default SwiperProvider\n"],"names":["_jsx"],"mappings":";;;AASO,MAAM,aAAa,GAAG,aAAa,CAAU;AAClD,IAAA,MAAM,EAAE,SAAS;AACjB,IAAA,SAAS,EAAE,MAAM,IAAI;AACrB,IAAA,aAAa,EAAE,MAAM,IAAI;AAC1B,CAAA;AAED,MAAM,cAAc,GAA4C,CAAC,EAAE,QAAQ,EAAE,KAAI;IAC/E,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,QAAQ,CAAyB,SAAS,CAAC;IAEvE,MAAM,aAAa,GAAG,MAAK;QACzB,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,OAAO,EAAE;YAChB,SAAS,CAAC,SAAS,CAAC;QACtB;AACF,IAAA,CAAC;AAED,IAAA,OAAOA,IAAC,aAAa,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,EAAE,MAAM,EAAE,SAAS,EAAE,aAAa,EAAE,EAAA,QAAA,EAAG,QAAQ,GAA0B;AACjH;;;;"}
|
package/dist/hooks/useSwiper.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { useContext } from 'react';
|
|
2
|
-
import { SwiperContext } from '../contexts/SwiperProvider.js';
|
|
3
|
-
|
|
4
|
-
const useSwiper = () => {
|
|
5
|
-
const swiperContext = useContext(SwiperContext);
|
|
6
|
-
if (swiperContext === undefined) {
|
|
7
|
-
throw new Error('Swiper not found');
|
|
8
|
-
}
|
|
9
|
-
return swiperContext;
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
export { useSwiper as default };
|
|
13
|
-
//# sourceMappingURL=useSwiper.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useSwiper.js","sources":["../../src/hooks/useSwiper.ts"],"sourcesContent":["import { useContext } from 'react'\nimport { SwiperContext } from '../contexts/SwiperProvider'\n\nconst useSwiper = () => {\n const swiperContext = useContext(SwiperContext)\n\n if (swiperContext === undefined) {\n throw new Error('Swiper not found')\n }\n\n return swiperContext\n}\n\nexport default useSwiper\n"],"names":[],"mappings":";;;AAGA,MAAM,SAAS,GAAG,MAAK;AACrB,IAAA,MAAM,aAAa,GAAG,UAAU,CAAC,aAAa,CAAC;AAE/C,IAAA,IAAI,aAAa,KAAK,SAAS,EAAE;AAC/B,QAAA,MAAM,IAAI,KAAK,CAAC,kBAAkB,CAAC;IACrC;AAEA,IAAA,OAAO,aAAa;AACtB;;;;"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const getDotPos: (index: number, carouselLength?: number) => number;
|
package/dist/utils/getDotPos.js
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
const getDotPos = (index, carouselLength) => {
|
|
2
|
-
if (!carouselLength)
|
|
3
|
-
return 0;
|
|
4
|
-
return index >= carouselLength * 2
|
|
5
|
-
? index - carouselLength * 2
|
|
6
|
-
: index - carouselLength < 0
|
|
7
|
-
? index
|
|
8
|
-
: index - carouselLength;
|
|
9
|
-
};
|
|
10
|
-
|
|
11
|
-
export { getDotPos };
|
|
12
|
-
//# sourceMappingURL=getDotPos.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"getDotPos.js","sources":["../../src/utils/getDotPos.ts"],"sourcesContent":["export const getDotPos = (index: number, carouselLength?: number) => {\n if (!carouselLength) return 0\n return index >= carouselLength * 2\n ? index - carouselLength * 2\n : index - carouselLength < 0\n ? index\n : index - carouselLength\n}\n"],"names":[],"mappings":"MAAa,SAAS,GAAG,CAAC,KAAa,EAAE,cAAuB,KAAI;AAClE,IAAA,IAAI,CAAC,cAAc;AAAE,QAAA,OAAO,CAAC;AAC7B,IAAA,OAAO,KAAK,IAAI,cAAc,GAAG;AAC/B,UAAE,KAAK,GAAG,cAAc,GAAG;AAC3B,UAAE,KAAK,GAAG,cAAc,GAAG;AACzB,cAAE;AACF,cAAE,KAAK,GAAG,cAAc;AAC9B;;;;"}
|