@luxfi/core 5.2.10 → 5.2.11
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/commerce/ui/conf.ts +13 -13
- package/commerce/ui/context.tsx +126 -126
- package/commerce/ui/store.ts +306 -304
- package/components/access-code-input.tsx +71 -71
- package/components/auth/auth-listener.tsx +29 -29
- package/components/auth/auth-token/clear-auth-token.tsx +12 -12
- package/components/auth/auth-token/set-auth-token.tsx +16 -16
- package/components/auth/common-auth-domains.ts +16 -16
- package/components/auth/login-panel.tsx +107 -107
- package/components/back-button.tsx +49 -42
- package/components/chat-widget.tsx +85 -85
- package/components/commerce/add-widget.tsx +20 -20
- package/components/commerce/bag-button.tsx +98 -98
- package/components/commerce/buy-button.tsx +34 -34
- package/components/commerce/checkout-button.tsx +129 -129
- package/components/commerce/checkout-panel/cart-accordian.tsx +66 -0
- package/components/commerce/checkout-panel/checkout-panel-props.ts +10 -0
- package/components/commerce/checkout-panel/{dt-bag-carousel.tsx → desktop-bag-carousel.tsx} +36 -36
- package/components/commerce/checkout-panel/desktop-cp.tsx +83 -0
- package/components/commerce/checkout-panel/index.tsx +126 -129
- package/components/commerce/checkout-panel/mobile-cp.tsx +67 -0
- package/components/commerce/checkout-panel/policy-links.tsx +29 -0
- package/components/commerce/checkout-panel/steps-indicator.tsx +39 -39
- package/components/commerce/checkout-panel/thank-you.tsx +18 -18
- package/components/commerce/checkout-widget/const.ts +13 -13
- package/components/commerce/checkout-widget/index.tsx +192 -192
- package/components/commerce/checkout-widget/obs-string-set.ts +48 -48
- package/components/commerce/checkout-widget/use-anim-clx-set.ts +58 -58
- package/components/commerce/desktop-bag-popup.tsx +78 -78
- package/components/commerce/desktop-nav-menu.tsx +130 -130
- package/components/commerce/drawer/index.tsx +99 -99
- package/components/commerce/drawer/micro.tsx +144 -144
- package/components/commerce/drawer/shell.tsx +85 -85
- package/components/commerce/mobile-bag-drawer.tsx +51 -51
- package/components/commerce/mobile-login-button.tsx +101 -101
- package/components/commerce/mobile-menu-toggle-button.tsx +35 -35
- package/components/commerce/mobile-nav-menu-ai.tsx +47 -48
- package/components/commerce/mobile-nav-menu-item.tsx +49 -49
- package/components/commerce/mobile-nav-menu.tsx +101 -101
- package/components/contact-dialog/contact-form.tsx +113 -113
- package/components/contact-dialog/disclaimer.tsx +13 -13
- package/components/contact-dialog/index.tsx +64 -64
- package/components/copyright.tsx +21 -21
- package/components/drawer-margin.tsx +25 -25
- package/components/footer.tsx +77 -77
- package/components/header/desktop.tsx +50 -50
- package/components/header/index.tsx +52 -52
- package/components/header/mobile.tsx +163 -163
- package/components/header/theme-toggle.tsx +26 -26
- package/components/icons/24k-gold-card.tsx +43 -43
- package/components/icons/ai-chat.tsx +29 -29
- package/components/icons/anodized-titanium.tsx +45 -45
- package/components/icons/avatar.tsx +11 -11
- package/components/icons/bag-icon.tsx +10 -10
- package/components/icons/blog.tsx +20 -20
- package/components/icons/bridge.tsx +68 -68
- package/components/icons/changelog.tsx +21 -21
- package/components/icons/chrome.tsx +45 -45
- package/components/icons/coins.tsx +20 -20
- package/components/icons/compare-cards.tsx +21 -21
- package/components/icons/credit.tsx +20 -20
- package/components/icons/customer-support.tsx +21 -21
- package/components/icons/customers.tsx +33 -33
- package/components/icons/developer-docs.tsx +20 -20
- package/components/icons/exchange.tsx +21 -21
- package/components/icons/explorer.tsx +22 -22
- package/components/icons/faqs.tsx +21 -21
- package/components/icons/github.tsx +14 -14
- package/components/icons/guides.tsx +21 -21
- package/components/icons/gun-metal.tsx +44 -44
- package/components/icons/index.tsx +43 -43
- package/components/icons/integrations.tsx +25 -25
- package/components/icons/irradescent.tsx +41 -41
- package/components/icons/launch-subnet.tsx +21 -21
- package/components/icons/left-arrow.tsx +11 -11
- package/components/icons/lux-finance.tsx +23 -23
- package/components/icons/lux-logo.tsx +10 -10
- package/components/icons/lux-pass.tsx +25 -25
- package/components/icons/lux-quests.tsx +21 -21
- package/components/icons/market.tsx +24 -24
- package/components/icons/mirrored-titanium.tsx +46 -46
- package/components/icons/more-benefits.tsx +21 -21
- package/components/icons/open-source.tsx +26 -26
- package/components/icons/right-arrow.tsx +10 -10
- package/components/icons/safe.tsx +37 -37
- package/components/icons/search.tsx +12 -12
- package/components/icons/secure-delivery.tsx +13 -13
- package/components/icons/shop.tsx +20 -20
- package/components/icons/social-icon.tsx +35 -35
- package/components/icons/social-svg.css +3 -3
- package/components/icons/sterling-silver-card.tsx +44 -44
- package/components/icons/templates.tsx +21 -21
- package/components/icons/validators.tsx +41 -41
- package/components/icons/view-all-card.tsx +20 -20
- package/components/icons/wallet.tsx +20 -20
- package/components/icons/warpcast.tsx +58 -58
- package/components/icons/youtube-logo.tsx +59 -59
- package/components/index.ts +27 -27
- package/components/logo.tsx +89 -89
- package/components/main.tsx +27 -27
- package/components/mini-chart/index.tsx +7 -7
- package/components/mini-chart/mini-chart-props.ts +43 -43
- package/components/mini-chart/mini-chart.tsx +85 -85
- package/components/mini-chart/wrapper.tsx +23 -23
- package/components/not-found/index.tsx +28 -28
- package/components/not-found/not-found-content.mdx +5 -5
- package/components/scripts.tsx +24 -24
- package/components/tooltip.tsx +31 -31
- package/environment.d.ts +5 -5
- package/next/analytics/fpixel.ts +15 -15
- package/next/analytics/google-analytics.ts +13 -13
- package/next/analytics/index.ts +3 -3
- package/next/analytics/pixel-analytics.tsx +54 -54
- package/next/font/get-app-router-font-classes.ts +12 -12
- package/next/font/load-and-return-lux-next-fonts-on-import.ts +68 -68
- package/next/font/next-font-desc.ts +27 -27
- package/next/font/pages-router-font-vars.tsx +18 -18
- package/next/head-metadata/from-next/metadata-types.ts +158 -158
- package/next/head-metadata/from-next/opengraph-types.ts +267 -267
- package/next/head-metadata/from-next/twitter-types.ts +92 -92
- package/next/head-metadata/index.tsx +208 -208
- package/next/middleware/determine-device-mw.ts +16 -16
- package/package.json +79 -79
- package/root-layout/WHY_THIS_IS_SEPARATE.txt +1 -1
- package/root-layout/index.tsx +112 -112
- package/server-actions/firebase-app.ts +14 -14
- package/server-actions/index.ts +5 -5
- package/server-actions/store-contact.ts +51 -51
- package/site-def/footer/community.tsx +67 -67
- package/site-def/footer/company.ts +37 -37
- package/site-def/footer/ecosystem.ts +37 -37
- package/site-def/footer/index.tsx +26 -26
- package/site-def/footer/legal.ts +28 -28
- package/site-def/footer/network.ts +45 -45
- package/site-def/footer/svg/warpcast-logo.svg +11 -11
- package/site-def/index.ts +2 -2
- package/site-def/main-nav.tsx +392 -392
- package/style/cart-animation.css +29 -29
- package/style/checkout-animation.css +23 -23
- package/style/drawer-handle-overrides.css +160 -160
- package/style/lux-colors.css +85 -85
- package/style/lux-global.css +30 -30
- package/tailwind/fontFamily.tailwind.lux.ts +18 -18
- package/tailwind/index.ts +2 -2
- package/tailwind/lux-tw-fonts.ts +39 -39
- package/tailwind/tailwind.config.lux-preset.ts +10 -10
- package/tsconfig.json +15 -15
- package/types/chatbot-config.ts +6 -6
- package/types/chatbot-suggested-question.ts +7 -7
- package/types/contact-info.ts +10 -10
- package/types/index.ts +4 -4
- package/types/site-def.ts +43 -43
- package/components/commerce/checkout-panel/dt-checkout-panel.tsx +0 -85
- package/components/commerce/checkout-panel/links-row.tsx +0 -21
- package/components/commerce/checkout-panel/mb-checkout-panel.tsx +0 -55
|
@@ -1,59 +1,59 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import { type LucideProps } from 'lucide-react'
|
|
3
|
-
|
|
4
|
-
const YouTubeLogo: React.FC<LucideProps> = (props: LucideProps) => (
|
|
5
|
-
<svg
|
|
6
|
-
viewBox="0 0 256 256"
|
|
7
|
-
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
-
{...props}
|
|
9
|
-
>
|
|
10
|
-
<g
|
|
11
|
-
style={{
|
|
12
|
-
stroke: 'none',
|
|
13
|
-
strokeWidth: 0,
|
|
14
|
-
strokeDasharray: 'none',
|
|
15
|
-
strokeLinecap: 'butt',
|
|
16
|
-
strokeLinejoin: 'miter',
|
|
17
|
-
strokeMiterlimit: 10,
|
|
18
|
-
fill: 'none',
|
|
19
|
-
fillRule: 'nonzero',
|
|
20
|
-
opacity: 1
|
|
21
|
-
}}
|
|
22
|
-
transform="translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)"
|
|
23
|
-
>
|
|
24
|
-
<path
|
|
25
|
-
d="M 88.119 23.338 c -1.035 -3.872 -4.085 -6.922 -7.957 -7.957 C 73.144 13.5 45 13.5 45 13.5 s -28.144 0 -35.162 1.881 c -3.872 1.035 -6.922 4.085 -7.957 7.957 C 0 30.356 0 45 0 45 s 0 14.644 1.881 21.662 c 1.035 3.872 4.085 6.922 7.957 7.957 C 16.856 76.5 45 76.5 45 76.5 s 28.144 0 35.162 -1.881 c 3.872 -1.035 6.922 -4.085 7.957 -7.957 C 90 59.644 90 45 90 45 S 90 30.356 88.119 23.338 z"
|
|
26
|
-
style={{
|
|
27
|
-
stroke: 'none',
|
|
28
|
-
strokeWidth: 1,
|
|
29
|
-
strokeDasharray: 'none',
|
|
30
|
-
strokeLinecap: 'butt',
|
|
31
|
-
strokeLinejoin: 'miter',
|
|
32
|
-
strokeMiterlimit: 10,
|
|
33
|
-
fill: 'red',
|
|
34
|
-
fillRule: 'nonzero',
|
|
35
|
-
opacity: 1
|
|
36
|
-
}}
|
|
37
|
-
transform=" matrix(1 0 0 1 0 0) "
|
|
38
|
-
strokeLinecap="round"
|
|
39
|
-
/>
|
|
40
|
-
<polygon
|
|
41
|
-
points="36,58.5 59.38,45 36,31.5 "
|
|
42
|
-
style={{
|
|
43
|
-
stroke: 'none',
|
|
44
|
-
strokeWidth: 1,
|
|
45
|
-
strokeDasharray: 'none',
|
|
46
|
-
strokeLinecap: 'butt',
|
|
47
|
-
strokeLinejoin: 'miter',
|
|
48
|
-
strokeMiterlimit: 10,
|
|
49
|
-
fill: 'white',
|
|
50
|
-
fillRule: 'nonzero',
|
|
51
|
-
opacity: 1
|
|
52
|
-
}}
|
|
53
|
-
transform="matrix(1 0 0 1 0 0)"
|
|
54
|
-
/>
|
|
55
|
-
</g>
|
|
56
|
-
</svg>
|
|
57
|
-
)
|
|
58
|
-
|
|
59
|
-
export default YouTubeLogo
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { type LucideProps } from 'lucide-react'
|
|
3
|
+
|
|
4
|
+
const YouTubeLogo: React.FC<LucideProps> = (props: LucideProps) => (
|
|
5
|
+
<svg
|
|
6
|
+
viewBox="0 0 256 256"
|
|
7
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
8
|
+
{...props}
|
|
9
|
+
>
|
|
10
|
+
<g
|
|
11
|
+
style={{
|
|
12
|
+
stroke: 'none',
|
|
13
|
+
strokeWidth: 0,
|
|
14
|
+
strokeDasharray: 'none',
|
|
15
|
+
strokeLinecap: 'butt',
|
|
16
|
+
strokeLinejoin: 'miter',
|
|
17
|
+
strokeMiterlimit: 10,
|
|
18
|
+
fill: 'none',
|
|
19
|
+
fillRule: 'nonzero',
|
|
20
|
+
opacity: 1
|
|
21
|
+
}}
|
|
22
|
+
transform="translate(1.4065934065934016 1.4065934065934016) scale(2.81 2.81)"
|
|
23
|
+
>
|
|
24
|
+
<path
|
|
25
|
+
d="M 88.119 23.338 c -1.035 -3.872 -4.085 -6.922 -7.957 -7.957 C 73.144 13.5 45 13.5 45 13.5 s -28.144 0 -35.162 1.881 c -3.872 1.035 -6.922 4.085 -7.957 7.957 C 0 30.356 0 45 0 45 s 0 14.644 1.881 21.662 c 1.035 3.872 4.085 6.922 7.957 7.957 C 16.856 76.5 45 76.5 45 76.5 s 28.144 0 35.162 -1.881 c 3.872 -1.035 6.922 -4.085 7.957 -7.957 C 90 59.644 90 45 90 45 S 90 30.356 88.119 23.338 z"
|
|
26
|
+
style={{
|
|
27
|
+
stroke: 'none',
|
|
28
|
+
strokeWidth: 1,
|
|
29
|
+
strokeDasharray: 'none',
|
|
30
|
+
strokeLinecap: 'butt',
|
|
31
|
+
strokeLinejoin: 'miter',
|
|
32
|
+
strokeMiterlimit: 10,
|
|
33
|
+
fill: 'red',
|
|
34
|
+
fillRule: 'nonzero',
|
|
35
|
+
opacity: 1
|
|
36
|
+
}}
|
|
37
|
+
transform=" matrix(1 0 0 1 0 0) "
|
|
38
|
+
strokeLinecap="round"
|
|
39
|
+
/>
|
|
40
|
+
<polygon
|
|
41
|
+
points="36,58.5 59.38,45 36,31.5 "
|
|
42
|
+
style={{
|
|
43
|
+
stroke: 'none',
|
|
44
|
+
strokeWidth: 1,
|
|
45
|
+
strokeDasharray: 'none',
|
|
46
|
+
strokeLinecap: 'butt',
|
|
47
|
+
strokeLinejoin: 'miter',
|
|
48
|
+
strokeMiterlimit: 10,
|
|
49
|
+
fill: 'white',
|
|
50
|
+
fillRule: 'nonzero',
|
|
51
|
+
opacity: 1
|
|
52
|
+
}}
|
|
53
|
+
transform="matrix(1 0 0 1 0 0)"
|
|
54
|
+
/>
|
|
55
|
+
</g>
|
|
56
|
+
</svg>
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
export default YouTubeLogo
|
package/components/index.ts
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
export { default as AccessCodeInput } from './access-code-input'
|
|
2
|
-
export { default as ChatWidget } from './chat-widget'
|
|
3
|
-
export { default as ContactDialog } from './contact-dialog'
|
|
4
|
-
export { default as Copyright} from './copyright'
|
|
5
|
-
export { default as Footer } from './footer'
|
|
6
|
-
export { default as Header } from './header'
|
|
7
|
-
export * as Icons from './icons'
|
|
8
|
-
export { default as Logo } from './logo'
|
|
9
|
-
export { default as Main } from './main'
|
|
10
|
-
export { default as MiniChart } from './mini-chart'
|
|
11
|
-
export { default as NotFound } from './not-found'
|
|
12
|
-
|
|
13
|
-
export { default as AuthListener } from './auth/auth-listener'
|
|
14
|
-
export { default as AddWidget } from './commerce/add-widget'
|
|
15
|
-
export { default as BackButton } from './back-button'
|
|
16
|
-
export { default as BuyDrawer } from './commerce/drawer'
|
|
17
|
-
export { default as DrawerMargin } from './drawer-margin'
|
|
18
|
-
export { default as BuyButton } from './commerce/buy-button'
|
|
19
|
-
export { default as CheckoutButton } from './commerce/checkout-button'
|
|
20
|
-
export { default as CheckoutPanel } from './commerce/checkout-panel'
|
|
21
|
-
export { default as CheckoutWidget } from './commerce/checkout-widget'
|
|
22
|
-
export { default as LoginPanel } from './auth/login-panel'
|
|
23
|
-
export { default as Scripts } from './scripts'
|
|
24
|
-
export { default as Tooltip } from './tooltip'
|
|
25
|
-
|
|
26
|
-
export { default as EmblaAutoplay } from 'embla-carousel-autoplay'
|
|
27
|
-
|
|
1
|
+
export { default as AccessCodeInput } from './access-code-input'
|
|
2
|
+
export { default as ChatWidget } from './chat-widget'
|
|
3
|
+
export { default as ContactDialog } from './contact-dialog'
|
|
4
|
+
export { default as Copyright} from './copyright'
|
|
5
|
+
export { default as Footer } from './footer'
|
|
6
|
+
export { default as Header } from './header'
|
|
7
|
+
export * as Icons from './icons'
|
|
8
|
+
export { default as Logo } from './logo'
|
|
9
|
+
export { default as Main } from './main'
|
|
10
|
+
export { default as MiniChart } from './mini-chart'
|
|
11
|
+
export { default as NotFound } from './not-found'
|
|
12
|
+
|
|
13
|
+
export { default as AuthListener } from './auth/auth-listener'
|
|
14
|
+
export { default as AddWidget } from './commerce/add-widget'
|
|
15
|
+
export { default as BackButton } from './back-button'
|
|
16
|
+
export { default as BuyDrawer } from './commerce/drawer'
|
|
17
|
+
export { default as DrawerMargin } from './drawer-margin'
|
|
18
|
+
export { default as BuyButton } from './commerce/buy-button'
|
|
19
|
+
export { default as CheckoutButton } from './commerce/checkout-button'
|
|
20
|
+
export { default as CheckoutPanel } from './commerce/checkout-panel'
|
|
21
|
+
export { default as CheckoutWidget } from './commerce/checkout-widget'
|
|
22
|
+
export { default as LoginPanel } from './auth/login-panel'
|
|
23
|
+
export { default as Scripts } from './scripts'
|
|
24
|
+
export { default as Tooltip } from './tooltip'
|
|
25
|
+
|
|
26
|
+
export { default as EmblaAutoplay } from 'embla-carousel-autoplay'
|
|
27
|
+
|
package/components/logo.tsx
CHANGED
|
@@ -1,89 +1,89 @@
|
|
|
1
|
-
import React from 'react'
|
|
2
|
-
import Link from 'next/link'
|
|
3
|
-
|
|
4
|
-
import { type TShirtSize } from '@hanzo/ui/types'
|
|
5
|
-
|
|
6
|
-
import { cn } from '@hanzo/ui/util'
|
|
7
|
-
|
|
8
|
-
import * as Icons from './icons'
|
|
9
|
-
|
|
10
|
-
const TEXT = 'LUX'
|
|
11
|
-
|
|
12
|
-
const Logo: React.FC<{
|
|
13
|
-
size?: TShirtSize
|
|
14
|
-
variant?: 'text-only' | 'logo-only' | 'full'
|
|
15
|
-
onClick?: () => void
|
|
16
|
-
href?: string
|
|
17
|
-
outerClx?: string
|
|
18
|
-
textClx?: string
|
|
19
|
-
}> = ({
|
|
20
|
-
size,
|
|
21
|
-
href, // no default please!
|
|
22
|
-
outerClx='',
|
|
23
|
-
textClx='',
|
|
24
|
-
variant='full',
|
|
25
|
-
onClick,
|
|
26
|
-
}) => {
|
|
27
|
-
let classes: any = {}
|
|
28
|
-
const toAdd = (variant === 'logo-only') ?
|
|
29
|
-
{
|
|
30
|
-
span: 'hidden',
|
|
31
|
-
icon: ''
|
|
32
|
-
}
|
|
33
|
-
:
|
|
34
|
-
(variant === 'text-only') ?
|
|
35
|
-
{
|
|
36
|
-
span: '',
|
|
37
|
-
icon: 'hidden'
|
|
38
|
-
}
|
|
39
|
-
:
|
|
40
|
-
{
|
|
41
|
-
span: '',
|
|
42
|
-
icon: ''
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
if (size === 'lg' || size === 'xl' ) { // for safety
|
|
46
|
-
classes.icon = 'h-10 w-10 mr-4 color-inherit '
|
|
47
|
-
classes.span = 'text-3xl '
|
|
48
|
-
}
|
|
49
|
-
// match lux.network
|
|
50
|
-
else if (size === 'md') {
|
|
51
|
-
classes.icon = 'h-[32px] w-[32px] mr-[12px] color-inherit '
|
|
52
|
-
classes.span = 'text-[1.8rem]/[1.8rem] tracking-tighter '
|
|
53
|
-
}
|
|
54
|
-
else if (size === 'sm' ) {
|
|
55
|
-
classes.icon = 'h-6 w-6 mr-2 color-inherit '
|
|
56
|
-
classes.span = 'text-lg '
|
|
57
|
-
}
|
|
58
|
-
// xs
|
|
59
|
-
else {
|
|
60
|
-
classes.icon = 'h-4 w-4 mr-1 color-inherit '
|
|
61
|
-
classes.span = 'text-base '
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
classes.icon += toAdd.icon
|
|
65
|
-
classes.span += toAdd.span
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
const outerClasses = 'flex flex-row items-center ' + outerClx
|
|
69
|
-
const spanClasses = 'inline-block font-bold font-heading '
|
|
70
|
-
+ textClx
|
|
71
|
-
+ (href ? ' hover:text-accent cursor-pointer ' : ' cursor-default ')
|
|
72
|
-
+ classes.span
|
|
73
|
-
|
|
74
|
-
return (
|
|
75
|
-
href ? (
|
|
76
|
-
<Link href={href} className={outerClasses} onClick={onClick} >
|
|
77
|
-
<Icons.logo className={classes.icon} />
|
|
78
|
-
<span className={spanClasses}>{TEXT}</span>
|
|
79
|
-
</Link>
|
|
80
|
-
) : (
|
|
81
|
-
<span className={outerClasses} onClick={onClick}>
|
|
82
|
-
<Icons.logo className={classes.icon} />
|
|
83
|
-
<span className={spanClasses}>{TEXT}</span>
|
|
84
|
-
</span>
|
|
85
|
-
)
|
|
86
|
-
)
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
export default Logo
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import Link from 'next/link'
|
|
3
|
+
|
|
4
|
+
import { type TShirtSize } from '@hanzo/ui/types'
|
|
5
|
+
|
|
6
|
+
import { cn } from '@hanzo/ui/util'
|
|
7
|
+
|
|
8
|
+
import * as Icons from './icons'
|
|
9
|
+
|
|
10
|
+
const TEXT = 'LUX'
|
|
11
|
+
|
|
12
|
+
const Logo: React.FC<{
|
|
13
|
+
size?: TShirtSize
|
|
14
|
+
variant?: 'text-only' | 'logo-only' | 'full'
|
|
15
|
+
onClick?: () => void
|
|
16
|
+
href?: string
|
|
17
|
+
outerClx?: string
|
|
18
|
+
textClx?: string
|
|
19
|
+
}> = ({
|
|
20
|
+
size,
|
|
21
|
+
href, // no default please!
|
|
22
|
+
outerClx='',
|
|
23
|
+
textClx='',
|
|
24
|
+
variant='full',
|
|
25
|
+
onClick,
|
|
26
|
+
}) => {
|
|
27
|
+
let classes: any = {}
|
|
28
|
+
const toAdd = (variant === 'logo-only') ?
|
|
29
|
+
{
|
|
30
|
+
span: 'hidden',
|
|
31
|
+
icon: ''
|
|
32
|
+
}
|
|
33
|
+
:
|
|
34
|
+
(variant === 'text-only') ?
|
|
35
|
+
{
|
|
36
|
+
span: '',
|
|
37
|
+
icon: 'hidden'
|
|
38
|
+
}
|
|
39
|
+
:
|
|
40
|
+
{
|
|
41
|
+
span: '',
|
|
42
|
+
icon: ''
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
if (size === 'lg' || size === 'xl' ) { // for safety
|
|
46
|
+
classes.icon = 'h-10 w-10 mr-4 color-inherit '
|
|
47
|
+
classes.span = 'text-3xl '
|
|
48
|
+
}
|
|
49
|
+
// match lux.network
|
|
50
|
+
else if (size === 'md') {
|
|
51
|
+
classes.icon = 'h-[32px] w-[32px] mr-[12px] color-inherit '
|
|
52
|
+
classes.span = 'text-[1.8rem]/[1.8rem] tracking-tighter '
|
|
53
|
+
}
|
|
54
|
+
else if (size === 'sm' ) {
|
|
55
|
+
classes.icon = 'h-6 w-6 mr-2 color-inherit '
|
|
56
|
+
classes.span = 'text-lg '
|
|
57
|
+
}
|
|
58
|
+
// xs
|
|
59
|
+
else {
|
|
60
|
+
classes.icon = 'h-4 w-4 mr-1 color-inherit '
|
|
61
|
+
classes.span = 'text-base '
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
classes.icon += toAdd.icon
|
|
65
|
+
classes.span += toAdd.span
|
|
66
|
+
|
|
67
|
+
|
|
68
|
+
const outerClasses = 'flex flex-row items-center ' + outerClx
|
|
69
|
+
const spanClasses = 'inline-block font-bold font-heading '
|
|
70
|
+
+ textClx
|
|
71
|
+
+ (href ? ' hover:text-accent cursor-pointer ' : ' cursor-default ')
|
|
72
|
+
+ classes.span
|
|
73
|
+
|
|
74
|
+
return (
|
|
75
|
+
href ? (
|
|
76
|
+
<Link href={href} className={outerClasses} onClick={onClick} >
|
|
77
|
+
<Icons.logo className={classes.icon} />
|
|
78
|
+
<span className={spanClasses}>{TEXT}</span>
|
|
79
|
+
</Link>
|
|
80
|
+
) : (
|
|
81
|
+
<span className={outerClasses} onClick={onClick}>
|
|
82
|
+
<Icons.logo className={classes.icon} />
|
|
83
|
+
<span className={spanClasses}>{TEXT}</span>
|
|
84
|
+
</span>
|
|
85
|
+
)
|
|
86
|
+
)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
export default Logo
|
package/components/main.tsx
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
import React, { type PropsWithChildren } from 'react'
|
|
2
|
-
import { cn } from '@hanzo/ui/util'
|
|
3
|
-
|
|
4
|
-
const Main: React.FC<PropsWithChildren & {
|
|
5
|
-
id?: string
|
|
6
|
-
className?: string
|
|
7
|
-
headerSpace?: boolean
|
|
8
|
-
standardWidth?: boolean
|
|
9
|
-
}> = ({
|
|
10
|
-
children,
|
|
11
|
-
className='',
|
|
12
|
-
headerSpace=true,
|
|
13
|
-
standardWidth=true,
|
|
14
|
-
id
|
|
15
|
-
}) => (
|
|
16
|
-
<main id={id ?? 'LUX_UI_MAIN'} className={cn(
|
|
17
|
-
'flex flex-col justify-start items-center',
|
|
18
|
-
'px-4 md:px-6 lg:px-8',
|
|
19
|
-
standardWidth ? 'max-w-screen-2xl w-full lg:mx-auto' : '',
|
|
20
|
-
headerSpace ? 'pt-[44px] md:pt-[80px]' : 'py-4',
|
|
21
|
-
className
|
|
22
|
-
)}>
|
|
23
|
-
{children}
|
|
24
|
-
</main>
|
|
25
|
-
)
|
|
26
|
-
|
|
27
|
-
export default Main
|
|
1
|
+
import React, { type PropsWithChildren } from 'react'
|
|
2
|
+
import { cn } from '@hanzo/ui/util'
|
|
3
|
+
|
|
4
|
+
const Main: React.FC<PropsWithChildren & {
|
|
5
|
+
id?: string
|
|
6
|
+
className?: string
|
|
7
|
+
headerSpace?: boolean
|
|
8
|
+
standardWidth?: boolean
|
|
9
|
+
}> = ({
|
|
10
|
+
children,
|
|
11
|
+
className='',
|
|
12
|
+
headerSpace=true,
|
|
13
|
+
standardWidth=true,
|
|
14
|
+
id
|
|
15
|
+
}) => (
|
|
16
|
+
<main id={id ?? 'LUX_UI_MAIN'} className={cn(
|
|
17
|
+
'flex flex-col justify-start items-center',
|
|
18
|
+
'px-4 md:px-6 lg:px-8',
|
|
19
|
+
standardWidth ? 'max-w-screen-2xl w-full lg:mx-auto' : '',
|
|
20
|
+
headerSpace ? 'pt-[44px] md:pt-[80px]' : 'py-4',
|
|
21
|
+
className
|
|
22
|
+
)}>
|
|
23
|
+
{children}
|
|
24
|
+
</main>
|
|
25
|
+
)
|
|
26
|
+
|
|
27
|
+
export default Main
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import MiniChart from './wrapper'
|
|
2
|
-
// import { type MiniChartProps, type MiniChartDateRanges } from './mini-chart-props'
|
|
3
|
-
|
|
4
|
-
export {
|
|
5
|
-
MiniChart as default,
|
|
6
|
-
// type MiniChartProps,
|
|
7
|
-
// type MiniChartDateRanges
|
|
1
|
+
import MiniChart from './wrapper'
|
|
2
|
+
// import { type MiniChartProps, type MiniChartDateRanges } from './mini-chart-props'
|
|
3
|
+
|
|
4
|
+
export {
|
|
5
|
+
MiniChart as default,
|
|
6
|
+
// type MiniChartProps,
|
|
7
|
+
// type MiniChartDateRanges
|
|
8
8
|
}
|
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import type { CSSProperties } from 'react'
|
|
2
|
-
|
|
3
|
-
// https://www.typescriptlang.org/docs/handbook/enums.html#enums-at-runtime
|
|
4
|
-
const enum MiniChartDateRangesValues {
|
|
5
|
-
'1D',
|
|
6
|
-
'1M',
|
|
7
|
-
'3M',
|
|
8
|
-
'12M',
|
|
9
|
-
'60M',
|
|
10
|
-
'ALL',
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
type MiniChartDateRanges = keyof typeof MiniChartDateRangesValues
|
|
14
|
-
|
|
15
|
-
interface MiniChartBaseProps {
|
|
16
|
-
symbol: string
|
|
17
|
-
exchange?: string
|
|
18
|
-
dateRange: MiniChartDateRanges
|
|
19
|
-
noTimeScale?: boolean
|
|
20
|
-
width?: number | string
|
|
21
|
-
height?: number | string
|
|
22
|
-
locale?: string
|
|
23
|
-
colorTheme?: "light" | "dark"
|
|
24
|
-
// @ts-ignore // TODO
|
|
25
|
-
lineColor?: CSSProperties["color"]
|
|
26
|
-
// @ts-ignore // TODO
|
|
27
|
-
topGradientColor?: CSSProperties["color"]
|
|
28
|
-
// @ts-ignore // TODO
|
|
29
|
-
bottomGradientColor?: CSSProperties["color"]
|
|
30
|
-
isTransparent?: boolean
|
|
31
|
-
autosize?: boolean
|
|
32
|
-
chartOnly?: boolean
|
|
33
|
-
largeChartUrl?: string
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
type MiniChartProps = {
|
|
37
|
-
widgetProps: MiniChartBaseProps
|
|
38
|
-
containerStyles?: CSSProperties
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
export {
|
|
42
|
-
type MiniChartProps,
|
|
43
|
-
type MiniChartDateRanges
|
|
1
|
+
import type { CSSProperties } from 'react'
|
|
2
|
+
|
|
3
|
+
// https://www.typescriptlang.org/docs/handbook/enums.html#enums-at-runtime
|
|
4
|
+
const enum MiniChartDateRangesValues {
|
|
5
|
+
'1D',
|
|
6
|
+
'1M',
|
|
7
|
+
'3M',
|
|
8
|
+
'12M',
|
|
9
|
+
'60M',
|
|
10
|
+
'ALL',
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type MiniChartDateRanges = keyof typeof MiniChartDateRangesValues
|
|
14
|
+
|
|
15
|
+
interface MiniChartBaseProps {
|
|
16
|
+
symbol: string
|
|
17
|
+
exchange?: string
|
|
18
|
+
dateRange: MiniChartDateRanges
|
|
19
|
+
noTimeScale?: boolean
|
|
20
|
+
width?: number | string
|
|
21
|
+
height?: number | string
|
|
22
|
+
locale?: string
|
|
23
|
+
colorTheme?: "light" | "dark"
|
|
24
|
+
// @ts-ignore // TODO
|
|
25
|
+
lineColor?: CSSProperties["color"]
|
|
26
|
+
// @ts-ignore // TODO
|
|
27
|
+
topGradientColor?: CSSProperties["color"]
|
|
28
|
+
// @ts-ignore // TODO
|
|
29
|
+
bottomGradientColor?: CSSProperties["color"]
|
|
30
|
+
isTransparent?: boolean
|
|
31
|
+
autosize?: boolean
|
|
32
|
+
chartOnly?: boolean
|
|
33
|
+
largeChartUrl?: string
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
type MiniChartProps = {
|
|
37
|
+
widgetProps: MiniChartBaseProps
|
|
38
|
+
containerStyles?: CSSProperties
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export {
|
|
42
|
+
type MiniChartProps,
|
|
43
|
+
type MiniChartDateRanges
|
|
44
44
|
}
|