@luxfi/ui 5.3.16 → 5.3.17

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.
Files changed (180) hide show
  1. package/commerce/ui/conf.ts +13 -13
  2. package/commerce/ui/context.tsx +123 -123
  3. package/commerce/ui/store.ts +289 -289
  4. package/components/access-code-input.tsx +71 -71
  5. package/components/auth/auth-listener.tsx +29 -29
  6. package/components/auth/auth-token/clear-auth-token.tsx +12 -12
  7. package/components/auth/auth-token/set-auth-token.tsx +16 -16
  8. package/components/auth/common-auth-domains.ts +17 -17
  9. package/components/auth/login-panel.tsx +111 -111
  10. package/components/auth/signup-panel.tsx +113 -113
  11. package/components/back-button.tsx +49 -49
  12. package/components/chat-widget.tsx +85 -85
  13. package/components/commerce/_to_deprecate_checkout-widget/const.ts +13 -13
  14. package/components/commerce/_to_deprecate_checkout-widget/index.tsx_ +188 -188
  15. package/components/commerce/_to_deprecate_checkout-widget/obs-string-set.ts +48 -48
  16. package/components/commerce/_to_deprecate_checkout-widget/use-anim-clx-set.ts +58 -58
  17. package/components/commerce/bag-button.tsx +98 -98
  18. package/components/commerce/buy-button.tsx +34 -34
  19. package/components/commerce/checkout-button.tsx +129 -129
  20. package/components/commerce/checkout-panel/cart-accordian.tsx +66 -66
  21. package/components/commerce/checkout-panel/checkout-panel-props.ts +9 -9
  22. package/components/commerce/checkout-panel/desktop-bag-carousel.tsx +36 -36
  23. package/components/commerce/checkout-panel/desktop-cp.tsx +82 -82
  24. package/components/commerce/checkout-panel/index.tsx +126 -126
  25. package/components/commerce/checkout-panel/mobile-cp.tsx +66 -66
  26. package/components/commerce/checkout-panel/policy-links.tsx +29 -29
  27. package/components/commerce/checkout-panel/steps-indicator.tsx +39 -39
  28. package/components/commerce/checkout-panel/thank-you.tsx +18 -18
  29. package/components/commerce/desktop-bag-popup.tsx +78 -78
  30. package/components/commerce/desktop-nav-menu.tsx +204 -204
  31. package/components/commerce/drawer/index.tsx +88 -88
  32. package/components/commerce/drawer/micro.tsx +145 -145
  33. package/components/commerce/drawer/shell.tsx +85 -85
  34. package/components/commerce/mobile-bag-drawer.tsx +51 -51
  35. package/components/commerce/mobile-login-button.tsx +107 -107
  36. package/components/commerce/mobile-menu-toggle-button.tsx +35 -35
  37. package/components/commerce/mobile-nav-menu-ai.tsx +50 -50
  38. package/components/commerce/mobile-nav-menu-item.tsx +49 -49
  39. package/components/commerce/mobile-nav-menu.tsx +101 -101
  40. package/components/contact-dialog/contact-form.tsx +113 -113
  41. package/components/contact-dialog/disclaimer.tsx +13 -13
  42. package/components/contact-dialog/index.tsx +64 -64
  43. package/components/copyright.tsx +21 -21
  44. package/components/drawer-margin.tsx +28 -28
  45. package/components/footer.tsx +77 -77
  46. package/components/header/desktop.tsx +51 -51
  47. package/components/header/index.tsx +44 -44
  48. package/components/header/mobile.tsx +163 -163
  49. package/components/header/theme-toggle.tsx +26 -26
  50. package/components/icons/24k-gold-card.tsx +43 -43
  51. package/components/icons/ai-chat-act.tsx +47 -47
  52. package/components/icons/ai-chat.tsx +29 -29
  53. package/components/icons/anodized-titanium.tsx +45 -45
  54. package/components/icons/avatar.tsx +11 -11
  55. package/components/icons/bag-icon.tsx +10 -10
  56. package/components/icons/blog-act.tsx +14 -14
  57. package/components/icons/blog.tsx +20 -20
  58. package/components/icons/bridge-act.tsx +18 -18
  59. package/components/icons/bridge.tsx +68 -68
  60. package/components/icons/changelog-act.tsx +15 -15
  61. package/components/icons/changelog.tsx +21 -21
  62. package/components/icons/chrome.tsx +45 -45
  63. package/components/icons/coins-act.tsx +29 -29
  64. package/components/icons/coins.tsx +20 -20
  65. package/components/icons/compare-cards-act.tsx +30 -30
  66. package/components/icons/compare-cards.tsx +21 -21
  67. package/components/icons/credit-act.tsx +29 -29
  68. package/components/icons/credit.tsx +20 -20
  69. package/components/icons/customer-support-act.tsx +27 -27
  70. package/components/icons/customer-support.tsx +21 -21
  71. package/components/icons/customers-act.tsx +65 -65
  72. package/components/icons/customers.tsx +33 -33
  73. package/components/icons/developer-docs-act.tsx +26 -26
  74. package/components/icons/developer-docs.tsx +20 -20
  75. package/components/icons/exchange-act.tsx +27 -27
  76. package/components/icons/exchange.tsx +21 -21
  77. package/components/icons/explorer-act.tsx +27 -27
  78. package/components/icons/explorer.tsx +22 -22
  79. package/components/icons/faqs-act.tsx +27 -27
  80. package/components/icons/faqs.tsx +21 -21
  81. package/components/icons/github.tsx +14 -14
  82. package/components/icons/guides-act.tsx +26 -26
  83. package/components/icons/guides.tsx +21 -21
  84. package/components/icons/gun-metal.tsx +44 -44
  85. package/components/icons/index.tsx +43 -43
  86. package/components/icons/integrations-act.tsx +41 -41
  87. package/components/icons/integrations.tsx +25 -25
  88. package/components/icons/irradescent.tsx +41 -41
  89. package/components/icons/launch-subnet.tsx +21 -21
  90. package/components/icons/launchsubnet-act.tsx +29 -29
  91. package/components/icons/left-arrow.tsx +11 -11
  92. package/components/icons/lux-finance-act.tsx +34 -34
  93. package/components/icons/lux-finance.tsx +23 -23
  94. package/components/icons/lux-logo.tsx +10 -10
  95. package/components/icons/lux-pass-act.tsx +41 -41
  96. package/components/icons/lux-pass.tsx +25 -25
  97. package/components/icons/lux-quests-act.tsx +15 -15
  98. package/components/icons/lux-quests.tsx +21 -21
  99. package/components/icons/market-act.tsx +39 -39
  100. package/components/icons/market.tsx +24 -24
  101. package/components/icons/mirrored-titanium.tsx +46 -46
  102. package/components/icons/more-benefits-act.tsx +29 -29
  103. package/components/icons/more-benefits.tsx +21 -21
  104. package/components/icons/open-source-act.tsx +41 -41
  105. package/components/icons/open-source.tsx +26 -26
  106. package/components/icons/right-arrow.tsx +10 -10
  107. package/components/icons/safe-act.tsx +77 -77
  108. package/components/icons/safe.tsx +37 -37
  109. package/components/icons/search.tsx +12 -12
  110. package/components/icons/secure-delivery.tsx +13 -13
  111. package/components/icons/shop-act.tsx +29 -29
  112. package/components/icons/shop.tsx +20 -20
  113. package/components/icons/social-icon.tsx +35 -35
  114. package/components/icons/social-svg.css +3 -3
  115. package/components/icons/sterling-silver-card.tsx +44 -44
  116. package/components/icons/templates-act.tsx +29 -29
  117. package/components/icons/templates.tsx +21 -21
  118. package/components/icons/validators-act.tsx +42 -42
  119. package/components/icons/validators.tsx +41 -41
  120. package/components/icons/view-all-card-act.tsx +28 -28
  121. package/components/icons/view-all-card.tsx +20 -20
  122. package/components/icons/wallet-act.tsx +29 -29
  123. package/components/icons/wallet.tsx +20 -20
  124. package/components/icons/warpcast.tsx +58 -58
  125. package/components/icons/youtube-logo.tsx +59 -59
  126. package/components/index.ts +26 -26
  127. package/components/logo.tsx +89 -89
  128. package/components/main.tsx +27 -27
  129. package/components/mini-chart/index.tsx +7 -7
  130. package/components/mini-chart/mini-chart-props.ts +43 -43
  131. package/components/mini-chart/mini-chart.tsx +85 -85
  132. package/components/mini-chart/wrapper.tsx +23 -23
  133. package/components/not-found/index.tsx +28 -28
  134. package/components/not-found/not-found-content.mdx +5 -5
  135. package/components/scripts.tsx +24 -24
  136. package/components/tooltip.tsx +31 -31
  137. package/environment.d.ts +5 -5
  138. package/next/analytics/fpixel.ts +15 -15
  139. package/next/analytics/google-analytics.ts +13 -13
  140. package/next/analytics/index.ts +3 -3
  141. package/next/analytics/pixel-analytics.tsx +54 -54
  142. package/next/font/get-app-router-font-classes.ts +12 -12
  143. package/next/font/load-and-return-lux-next-fonts-on-import.ts +68 -68
  144. package/next/font/next-font-desc.ts +27 -27
  145. package/next/font/pages-router-font-vars.tsx +18 -18
  146. package/next/head-metadata/from-next/metadata-types.ts +158 -158
  147. package/next/head-metadata/from-next/opengraph-types.ts +267 -267
  148. package/next/head-metadata/from-next/twitter-types.ts +92 -92
  149. package/next/head-metadata/index.tsx +208 -208
  150. package/next/middleware/determine-device-mw.ts +29 -29
  151. package/package.json +13 -3
  152. package/root-layout/WHY_THIS_IS_SEPARATE.txt +1 -1
  153. package/root-layout/index.tsx +112 -112
  154. package/server-actions/firebase-app.ts +14 -14
  155. package/server-actions/index.ts +5 -5
  156. package/server-actions/store-contact.ts +51 -51
  157. package/site-def/footer/community.tsx +67 -67
  158. package/site-def/footer/company.ts +37 -37
  159. package/site-def/footer/ecosystem.ts +37 -37
  160. package/site-def/footer/index.tsx +26 -26
  161. package/site-def/footer/legal.ts +28 -28
  162. package/site-def/footer/network.ts +45 -45
  163. package/site-def/footer/svg/warpcast-logo.svg +11 -11
  164. package/site-def/index.ts +2 -2
  165. package/site-def/main-nav.tsx +458 -458
  166. package/style/cart-animation.css +29 -29
  167. package/style/checkout-animation.css +23 -23
  168. package/style/drawer-handle-overrides.css +160 -160
  169. package/style/lux-colors.css +85 -85
  170. package/style/lux-global.css +50 -50
  171. package/tailwind/fontFamily.tailwind.lux.ts +18 -18
  172. package/tailwind/index.ts +2 -2
  173. package/tailwind/lux-tw-fonts.ts +39 -39
  174. package/tailwind/tailwind.config.lux-preset.ts +10 -10
  175. package/tsconfig.json +15 -15
  176. package/types/chatbot-config.ts +6 -6
  177. package/types/chatbot-suggested-question.ts +7 -7
  178. package/types/contact-info.ts +10 -10
  179. package/types/index.ts +4 -4
  180. package/types/site-def.ts +43 -43
@@ -1,29 +1,29 @@
1
- import React from 'react'
2
- import Link from 'next/link'
3
-
4
- import { Separator, buttonVariants } from '@hanzo/ui/primitives'
5
- import { cn } from '@hanzo/ui/util'
6
-
7
-
8
- const linkClx = buttonVariants({
9
- variant: 'linkMuted',
10
- size: 'link',
11
- rounded: 'none',
12
- })
13
-
14
- const PolicyLinks: React.FC<{
15
- clx?: string
16
- }> = ({
17
- clx=''
18
- }) => (
19
- <div className={cn('flex flex-col items-center', clx)}>
20
- <Separator/>
21
- <div className='flex gap-4 py-2 text-sm'>
22
- {/* TODO: add Refund policy and Privacy policy links */}
23
- <Link className={linkClx} href=''>refund policy</Link>
24
- <Link className={linkClx} href=''>privacy policy</Link>
25
- </div>
26
- </div>
27
- )
28
-
29
- export default PolicyLinks
1
+ import React from 'react'
2
+ import Link from 'next/link'
3
+
4
+ import { Separator, buttonVariants } from '@hanzo/ui/primitives'
5
+ import { cn } from '@hanzo/ui/util'
6
+
7
+
8
+ const linkClx = buttonVariants({
9
+ variant: 'linkMuted',
10
+ size: 'link',
11
+ rounded: 'none',
12
+ })
13
+
14
+ const PolicyLinks: React.FC<{
15
+ clx?: string
16
+ }> = ({
17
+ clx=''
18
+ }) => (
19
+ <div className={cn('flex flex-col items-center', clx)}>
20
+ <Separator/>
21
+ <div className='flex gap-4 py-2 text-sm'>
22
+ {/* TODO: add Refund policy and Privacy policy links */}
23
+ <Link className={linkClx} href=''>refund policy</Link>
24
+ <Link className={linkClx} href=''>privacy policy</Link>
25
+ </div>
26
+ </div>
27
+ )
28
+
29
+ export default PolicyLinks
@@ -1,39 +1,39 @@
1
- import {
2
- Breadcrumb,
3
- BreadcrumbItem,
4
- BreadcrumbLink,
5
- BreadcrumbList,
6
- BreadcrumbSeparator
7
- } from '@hanzo/ui/primitives'
8
- import { cn } from '@hanzo/ui/util'
9
-
10
- const StepsIndicator: React.FC<{
11
- currentStep: number
12
- stepNames: string[]
13
- className?: string
14
- }> = ({
15
- currentStep,
16
- stepNames,
17
- className=''
18
- }) => (
19
- <Breadcrumb className={className}>
20
- <BreadcrumbList>
21
- {stepNames.map((name, i) => (
22
- <>
23
- <BreadcrumbItem key={`item-${i}`}>
24
- <BreadcrumbLink className={cn(
25
- currentStep >= i ? '!text-foreground hover:text-foreground' : 'hover:text-muted-2',
26
- 'text-xxs sm:text-sm'
27
- )}
28
- >
29
- {name}
30
- </BreadcrumbLink>
31
- </BreadcrumbItem>
32
- {i !== stepNames.length - 1 && <BreadcrumbSeparator key={`sep-${i}`}/>}
33
- </>
34
- ))}
35
- </BreadcrumbList>
36
- </Breadcrumb>
37
- )
38
-
39
- export default StepsIndicator
1
+ import {
2
+ Breadcrumb,
3
+ BreadcrumbItem,
4
+ BreadcrumbLink,
5
+ BreadcrumbList,
6
+ BreadcrumbSeparator
7
+ } from '@hanzo/ui/primitives'
8
+ import { cn } from '@hanzo/ui/util'
9
+
10
+ const StepsIndicator: React.FC<{
11
+ currentStep: number
12
+ stepNames: string[]
13
+ className?: string
14
+ }> = ({
15
+ currentStep,
16
+ stepNames,
17
+ className=''
18
+ }) => (
19
+ <Breadcrumb className={className}>
20
+ <BreadcrumbList>
21
+ {stepNames.map((name, i) => (
22
+ <>
23
+ <BreadcrumbItem key={`item-${i}`}>
24
+ <BreadcrumbLink className={cn(
25
+ currentStep >= i ? '!text-foreground hover:text-foreground' : 'hover:text-muted-2',
26
+ 'text-xxs sm:text-sm'
27
+ )}
28
+ >
29
+ {name}
30
+ </BreadcrumbLink>
31
+ </BreadcrumbItem>
32
+ {i !== stepNames.length - 1 && <BreadcrumbSeparator key={`sep-${i}`}/>}
33
+ </>
34
+ ))}
35
+ </BreadcrumbList>
36
+ </Breadcrumb>
37
+ )
38
+
39
+ export default StepsIndicator
@@ -1,18 +1,18 @@
1
- import React from 'react'
2
- import Link from 'next/link'
3
-
4
- import { ApplyTypography } from '@hanzo/ui/primitives'
5
-
6
- import type { CheckoutStepComponentProps } from '@hanzo/commerce/types'
7
-
8
- const ThankYou: React.FC<CheckoutStepComponentProps> = ({}) => (
9
- <ApplyTypography className='flex flex-col gap-4 text-center mt-10'>
10
- <h3>Thank you for your order!</h3>
11
- <h6>Once your payment has been confirmed, you'll recieve an email with additional information.</h6>
12
- <p>
13
- While you wait, we cordially invite you to join the <Link href='https://warpcast.com/~/channel/lux'>Lux Channel</Link> on <Link href='https://warpcast.com/~/invite-page/227706?id=fbc9ca91'>Warpcast</Link>.
14
- </p>
15
- </ApplyTypography>
16
- )
17
-
18
- export default ThankYou
1
+ import React from 'react'
2
+ import Link from 'next/link'
3
+
4
+ import { ApplyTypography } from '@hanzo/ui/primitives'
5
+
6
+ import type { CheckoutStepComponentProps } from '@hanzo/commerce/types'
7
+
8
+ const ThankYou: React.FC<CheckoutStepComponentProps> = ({}) => (
9
+ <ApplyTypography className='flex flex-col gap-4 text-center mt-10'>
10
+ <h3>Thank you for your order!</h3>
11
+ <h6>Once your payment has been confirmed, you'll recieve an email with additional information.</h6>
12
+ <p>
13
+ While you wait, we cordially invite you to join the <Link href='https://warpcast.com/~/channel/lux'>Lux Channel</Link> on <Link href='https://warpcast.com/~/invite-page/227706?id=fbc9ca91'>Warpcast</Link>.
14
+ </p>
15
+ </ApplyTypography>
16
+ )
17
+
18
+ export default ThankYou
@@ -1,78 +1,78 @@
1
- 'use client'
2
- import React, { useState, useEffect } from 'react'
3
- import { useRouter } from 'next/navigation'
4
-
5
- import { X } from 'lucide-react'
6
-
7
- import {
8
- Popover,
9
- PopoverContent,
10
- PopoverTrigger,
11
- PopoverClose,
12
- } from "@hanzo/ui/primitives"
13
-
14
- import { cn } from '@hanzo/ui/util'
15
- import { CartPanel, useCommerce } from '@hanzo/commerce'
16
-
17
- import * as Icons from '../icons'
18
- import sendGAEvent from '../../next/analytics/google-analytics'
19
-
20
- const DesktopBagPopup: React.FC<{
21
- triggerClx?: string
22
- popupClx?: string
23
- trigger: React.ReactNode
24
- }> = ({
25
- triggerClx='',
26
- popupClx='',
27
- trigger
28
- }) => {
29
- const cmmc = useCommerce()
30
-
31
- const [bagOpen, setBagOpen] = useState<boolean>(false)
32
- const router = useRouter()
33
-
34
- useEffect(() => {
35
- if (bagOpen) {
36
- sendGAEvent('view_cart', {
37
- items: cmmc.cartItems.map((item) => ({
38
- item_id: item.sku,
39
- item_name: item.title,
40
- item_category: item.familyId,
41
- price: item.price,
42
- quantity: item.quantity
43
- })),
44
- value: cmmc.cartTotal,
45
- currency: 'USD',
46
- })
47
- }
48
- }, [bagOpen])
49
-
50
- return (
51
- <Popover open={bagOpen} onOpenChange={setBagOpen}>
52
- <PopoverTrigger className={triggerClx}>
53
- {trigger}
54
- </PopoverTrigger>
55
- <PopoverContent sideOffset={28} className={cn('relative flex flex-col p-0 px-4 pb-4 pt-2', popupClx)}>
56
- <PopoverClose className='absolute z-above-content right-2 top-2 self-end hover:bg-level-3 text-muted hover:text-accent p-1 rounded-full'><X className='w-5 h-5'/></PopoverClose>
57
- <CartPanel
58
- handleCheckout={() => {router.push('/checkout')}}
59
- className='mt-4 mb-4 border-none py-0 px-4'
60
- listClx='rounded-sm pr-3'
61
- scrollAfter={5}
62
- scrollHeightClx='h-[70vh]'
63
- itemClx='mt-3'
64
- totalClx='sticky px-1 pr-2 -bottom-[1px] bg-level-1'
65
- buttonClx='max-w-[220px] flex-none'
66
- >
67
- <div className='flex flex-row items-center flex-none justify-center '>
68
- <Icons.bag className='mr-2 relative w-6 h-7 fill-foreground ' />
69
- <p className='font-heading text-foreground text-default'>Your Bag</p>
70
- </div>
71
- <div className='h-[1px] w-pr-80 bg-muted-3 mx-auto mt-1.5 flex-none'/>
72
- </CartPanel>
73
- </PopoverContent>
74
- </Popover>
75
- )
76
- }
77
-
78
- export default DesktopBagPopup
1
+ 'use client'
2
+ import React, { useState, useEffect } from 'react'
3
+ import { useRouter } from 'next/navigation'
4
+
5
+ import { X } from 'lucide-react'
6
+
7
+ import {
8
+ Popover,
9
+ PopoverContent,
10
+ PopoverTrigger,
11
+ PopoverClose,
12
+ } from "@hanzo/ui/primitives"
13
+
14
+ import { cn } from '@hanzo/ui/util'
15
+ import { CartPanel, useCommerce } from '@hanzo/commerce'
16
+
17
+ import * as Icons from '../icons'
18
+ import sendGAEvent from '../../next/analytics/google-analytics'
19
+
20
+ const DesktopBagPopup: React.FC<{
21
+ triggerClx?: string
22
+ popupClx?: string
23
+ trigger: React.ReactNode
24
+ }> = ({
25
+ triggerClx='',
26
+ popupClx='',
27
+ trigger
28
+ }) => {
29
+ const cmmc = useCommerce()
30
+
31
+ const [bagOpen, setBagOpen] = useState<boolean>(false)
32
+ const router = useRouter()
33
+
34
+ useEffect(() => {
35
+ if (bagOpen) {
36
+ sendGAEvent('view_cart', {
37
+ items: cmmc.cartItems.map((item) => ({
38
+ item_id: item.sku,
39
+ item_name: item.title,
40
+ item_category: item.familyId,
41
+ price: item.price,
42
+ quantity: item.quantity
43
+ })),
44
+ value: cmmc.cartTotal,
45
+ currency: 'USD',
46
+ })
47
+ }
48
+ }, [bagOpen])
49
+
50
+ return (
51
+ <Popover open={bagOpen} onOpenChange={setBagOpen}>
52
+ <PopoverTrigger className={triggerClx}>
53
+ {trigger}
54
+ </PopoverTrigger>
55
+ <PopoverContent sideOffset={28} className={cn('relative flex flex-col p-0 px-4 pb-4 pt-2', popupClx)}>
56
+ <PopoverClose className='absolute z-above-content right-2 top-2 self-end hover:bg-level-3 text-muted hover:text-accent p-1 rounded-full'><X className='w-5 h-5'/></PopoverClose>
57
+ <CartPanel
58
+ handleCheckout={() => {router.push('/checkout')}}
59
+ className='mt-4 mb-4 border-none py-0 px-4'
60
+ listClx='rounded-sm pr-3'
61
+ scrollAfter={5}
62
+ scrollHeightClx='h-[70vh]'
63
+ itemClx='mt-3'
64
+ totalClx='sticky px-1 pr-2 -bottom-[1px] bg-level-1'
65
+ buttonClx='max-w-[220px] flex-none'
66
+ >
67
+ <div className='flex flex-row items-center flex-none justify-center '>
68
+ <Icons.bag className='mr-2 relative w-6 h-7 fill-foreground ' />
69
+ <p className='font-heading text-foreground text-default'>Your Bag</p>
70
+ </div>
71
+ <div className='h-[1px] w-pr-80 bg-muted-3 mx-auto mt-1.5 flex-none'/>
72
+ </CartPanel>
73
+ </PopoverContent>
74
+ </Popover>
75
+ )
76
+ }
77
+
78
+ export default DesktopBagPopup