@luxfi/core 5.2.8 → 5.2.9

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 (150) hide show
  1. package/commerce/ui/conf.ts +13 -13
  2. package/commerce/ui/context.tsx +126 -126
  3. package/commerce/ui/store.ts +304 -304
  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 +16 -16
  9. package/components/auth/login-panel.tsx +107 -107
  10. package/components/back-button.tsx +42 -42
  11. package/components/chat-widget.tsx +85 -85
  12. package/components/commerce/add-widget.tsx +20 -20
  13. package/components/commerce/bag-button.tsx +98 -98
  14. package/components/commerce/buy-button.tsx +34 -34
  15. package/components/commerce/checkout-button.tsx +129 -129
  16. package/components/commerce/checkout-panel/dt-bag-carousel.tsx +36 -36
  17. package/components/commerce/checkout-panel/dt-checkout-panel.tsx +84 -84
  18. package/components/commerce/checkout-panel/index.tsx +129 -129
  19. package/components/commerce/checkout-panel/links-row.tsx +21 -21
  20. package/components/commerce/checkout-panel/mb-checkout-panel.tsx +54 -54
  21. package/components/commerce/checkout-panel/steps-indicator.tsx +39 -39
  22. package/components/commerce/checkout-panel/thank-you.tsx +18 -18
  23. package/components/commerce/checkout-widget/const.ts +13 -13
  24. package/components/commerce/checkout-widget/index.tsx +192 -192
  25. package/components/commerce/checkout-widget/obs-string-set.ts +48 -48
  26. package/components/commerce/checkout-widget/use-anim-clx-set.ts +58 -58
  27. package/components/commerce/desktop-bag-popup.tsx +78 -78
  28. package/components/commerce/desktop-nav-menu.tsx +131 -130
  29. package/components/commerce/drawer/index.tsx +99 -99
  30. package/components/commerce/drawer/micro.tsx +144 -144
  31. package/components/commerce/drawer/shell.tsx +85 -85
  32. package/components/commerce/mobile-bag-drawer.tsx +51 -51
  33. package/components/commerce/mobile-login-button.tsx +101 -101
  34. package/components/commerce/mobile-menu-toggle-button.tsx +35 -35
  35. package/components/commerce/mobile-nav-menu-ai.tsx +48 -42
  36. package/components/commerce/mobile-nav-menu-item.tsx +49 -49
  37. package/components/commerce/mobile-nav-menu.tsx +102 -68
  38. package/components/contact-dialog/contact-form.tsx +113 -113
  39. package/components/contact-dialog/disclaimer.tsx +13 -13
  40. package/components/contact-dialog/index.tsx +64 -64
  41. package/components/copyright.tsx +21 -21
  42. package/components/drawer-margin.tsx +25 -25
  43. package/components/footer.tsx +77 -77
  44. package/components/header/desktop.tsx +50 -49
  45. package/components/header/index.tsx +52 -52
  46. package/components/header/mobile.tsx +163 -163
  47. package/components/header/theme-toggle.tsx +26 -26
  48. package/components/icons/24k-gold-card.tsx +43 -0
  49. package/components/icons/ai-chat.tsx +29 -0
  50. package/components/icons/anodized-titanium.tsx +45 -0
  51. package/components/icons/avatar.tsx +11 -11
  52. package/components/icons/bag-icon.tsx +10 -10
  53. package/components/icons/blog.tsx +20 -0
  54. package/components/icons/bridge.tsx +68 -0
  55. package/components/icons/changelog.tsx +21 -0
  56. package/components/icons/chrome.tsx +45 -0
  57. package/components/icons/coins.tsx +20 -0
  58. package/components/icons/compare-cards.tsx +21 -0
  59. package/components/icons/credit.tsx +20 -0
  60. package/components/icons/customer-support.tsx +21 -0
  61. package/components/icons/customers.tsx +33 -0
  62. package/components/icons/developer-docs.tsx +20 -0
  63. package/components/icons/exchange.tsx +21 -0
  64. package/components/icons/explorer.tsx +22 -0
  65. package/components/icons/faqs.tsx +21 -0
  66. package/components/icons/github.tsx +14 -14
  67. package/components/icons/guides.tsx +21 -0
  68. package/components/icons/gun-metal.tsx +44 -0
  69. package/components/icons/index.tsx +43 -43
  70. package/components/icons/integrations.tsx +25 -0
  71. package/components/icons/irradescent.tsx +41 -0
  72. package/components/icons/launch-subnet.tsx +21 -0
  73. package/components/icons/left-arrow.tsx +11 -11
  74. package/components/icons/lux-finance.tsx +23 -0
  75. package/components/icons/lux-logo.tsx +10 -10
  76. package/components/icons/lux-pass.tsx +25 -0
  77. package/components/icons/lux-quests.tsx +21 -0
  78. package/components/icons/market.tsx +24 -0
  79. package/components/icons/mirrored-titanium.tsx +46 -0
  80. package/components/icons/more-benefits.tsx +21 -0
  81. package/components/icons/open-source.tsx +26 -0
  82. package/components/icons/right-arrow.tsx +10 -10
  83. package/components/icons/safe.tsx +37 -0
  84. package/components/icons/search.tsx +12 -12
  85. package/components/icons/secure-delivery.tsx +13 -13
  86. package/components/icons/shop.tsx +20 -0
  87. package/components/icons/social-icon.tsx +35 -35
  88. package/components/icons/social-svg.css +3 -3
  89. package/components/icons/sterling-silver-card.tsx +44 -0
  90. package/components/icons/templates.tsx +21 -0
  91. package/components/icons/validators.tsx +41 -0
  92. package/components/icons/view-all-card.tsx +20 -0
  93. package/components/icons/wallet.tsx +20 -0
  94. package/components/icons/warpcast.tsx +58 -58
  95. package/components/icons/youtube-logo.tsx +59 -59
  96. package/components/index.ts +27 -27
  97. package/components/logo.tsx +89 -89
  98. package/components/main.tsx +27 -27
  99. package/components/mini-chart/index.tsx +7 -7
  100. package/components/mini-chart/mini-chart-props.ts +43 -43
  101. package/components/mini-chart/mini-chart.tsx +85 -85
  102. package/components/mini-chart/wrapper.tsx +23 -23
  103. package/components/not-found/index.tsx +28 -28
  104. package/components/not-found/not-found-content.mdx +5 -5
  105. package/components/scripts.tsx +24 -24
  106. package/components/tooltip.tsx +31 -31
  107. package/environment.d.ts +5 -5
  108. package/next/analytics/fpixel.ts +15 -15
  109. package/next/analytics/google-analytics.ts +13 -13
  110. package/next/analytics/index.ts +3 -3
  111. package/next/analytics/pixel-analytics.tsx +54 -54
  112. package/next/font/get-app-router-font-classes.ts +12 -12
  113. package/next/font/load-and-return-lux-next-fonts-on-import.ts +68 -68
  114. package/next/font/next-font-desc.ts +27 -27
  115. package/next/font/pages-router-font-vars.tsx +18 -18
  116. package/next/head-metadata/from-next/metadata-types.ts +158 -158
  117. package/next/head-metadata/from-next/opengraph-types.ts +267 -267
  118. package/next/head-metadata/from-next/twitter-types.ts +92 -92
  119. package/next/head-metadata/index.tsx +208 -208
  120. package/next/middleware/determine-device-mw.ts +16 -16
  121. package/package.json +79 -79
  122. package/root-layout/WHY_THIS_IS_SEPARATE.txt +1 -1
  123. package/root-layout/index.tsx +112 -112
  124. package/server-actions/firebase-app.ts +14 -14
  125. package/server-actions/index.ts +5 -5
  126. package/server-actions/store-contact.ts +51 -51
  127. package/site-def/footer/community.tsx +67 -67
  128. package/site-def/footer/company.ts +37 -37
  129. package/site-def/footer/ecosystem.ts +37 -37
  130. package/site-def/footer/index.tsx +26 -26
  131. package/site-def/footer/legal.ts +28 -28
  132. package/site-def/footer/network.ts +45 -45
  133. package/site-def/footer/svg/warpcast-logo.svg +11 -11
  134. package/site-def/index.ts +2 -2
  135. package/site-def/main-nav.tsx +392 -338
  136. package/style/cart-animation.css +29 -29
  137. package/style/checkout-animation.css +23 -23
  138. package/style/drawer-handle-overrides.css +160 -160
  139. package/style/lux-colors.css +85 -85
  140. package/style/lux-global.css +30 -30
  141. package/tailwind/fontFamily.tailwind.lux.ts +18 -18
  142. package/tailwind/index.ts +2 -2
  143. package/tailwind/lux-tw-fonts.ts +39 -39
  144. package/tailwind/tailwind.config.lux-preset.ts +10 -10
  145. package/tsconfig.json +15 -15
  146. package/types/chatbot-config.ts +6 -6
  147. package/types/chatbot-suggested-question.ts +7 -7
  148. package/types/contact-info.ts +10 -10
  149. package/types/index.ts +4 -4
  150. package/types/site-def.ts +43 -43
@@ -1,13 +1,13 @@
1
- import type { SnapPointsConfig } from './store'
2
-
3
- export default {
4
- mb: {
5
- micro: '62px',
6
- full: '550px'
7
- },
8
-
9
- dt: {
10
- micro: '74px',
11
- full: '575px'
12
- }
13
- } satisfies SnapPointsConfig
1
+ import type { SnapPointsConfig } from './store'
2
+
3
+ export default {
4
+ mb: {
5
+ micro: '62px',
6
+ full: '550px'
7
+ },
8
+
9
+ dt: {
10
+ micro: '74px',
11
+ full: '575px'
12
+ }
13
+ } satisfies SnapPointsConfig
@@ -1,126 +1,126 @@
1
- 'use client'
2
- import React, {
3
- createContext,
4
- useContext,
5
- useRef,
6
- type PropsWithChildren,
7
- useEffect,
8
- useLayoutEffect
9
- } from 'react'
10
- import { enableStaticRendering } from 'mobx-react-lite'
11
- import { usePathname } from 'next/navigation'
12
- import { useDebounceCallback } from 'usehooks-ts'
13
-
14
-
15
- import { preset as twConfig } from '@hanzo/ui/tailwind'
16
- import { useCommerce } from '@hanzo/commerce'
17
-
18
- import type { CommerceDrawer, SelectAndBuy, RecentActivity } from './store'
19
- import { CommerceUIStore } from './store'
20
- import conf from './conf'
21
-
22
- const LOG = false ////////////////////
23
- const log = (s: string) => {
24
- if (LOG) {
25
- console.log('CMMC UI CONTEXT ' + s)
26
- }
27
- }
28
-
29
- // https://dev.to/ivandotv/mobx-server-side-rendering-with-next-js-4m18
30
- enableStaticRendering(typeof window === "undefined")
31
-
32
- const CommerceUIContext = createContext<CommerceUIStore | undefined>(undefined)
33
-
34
- const useCommerceDrawer = (): CommerceDrawer => {
35
- return useContext(CommerceUIContext) as CommerceDrawer
36
- }
37
-
38
- const useSelectAndBuy = (): SelectAndBuy => {
39
- return useContext(CommerceUIContext) as SelectAndBuy
40
- }
41
-
42
- const useRecentActivity = (): RecentActivity => {
43
- return useContext(CommerceUIContext) as RecentActivity
44
- }
45
-
46
- const CommerceUIProvider: React.FC<PropsWithChildren> = ({
47
- children,
48
- }) => {
49
-
50
- const cmmc = useCommerce()
51
- const pathname = usePathname()
52
- const storeRef = useRef<CommerceUIStore>(new CommerceUIStore(cmmc, conf))
53
- const prevPathRef = useRef<string>('initial')
54
-
55
- const onResize = () => {
56
- const width = window.innerWidth
57
- let desktopMin = 0
58
- if (twConfig.theme?.screens) {
59
- // expected form: { md: '768px' }
60
- if ('md' in twConfig.theme?.screens && typeof twConfig.theme?.screens.md === 'string') {
61
- desktopMin = parseInt(twConfig.theme?.screens.md)
62
- }
63
- if (width < desktopMin) {
64
- if (!storeRef.current.isMobile) {
65
- storeRef.current.setMobile(true)
66
- }
67
- }
68
- else if (storeRef.current.isMobile) {
69
- storeRef.current.setMobile(false)
70
- }
71
- }
72
- storeRef.current.setViewportHeight(window.innerHeight)
73
- }
74
-
75
- const onResize_debounced = useDebounceCallback(onResize, 500)
76
-
77
- useLayoutEffect(() => {
78
- storeRef.current.initialize()
79
- onResize()
80
- window.addEventListener('resize', onResize_debounced);
81
- return () => {
82
- window.removeEventListener('resize', onResize_debounced)
83
- storeRef.current.dispose()
84
- }
85
- }, [])
86
-
87
- useEffect(() => {
88
- const checkingOut = (pathname === '/checkout')
89
-
90
- /////////////////////////////////////
91
- log("useEffect: pathname: " + pathname)
92
- log("useEffect: prev pathname: " + prevPathRef.current)
93
-
94
- if (storeRef.current.checkingOut === undefined || storeRef.current._checkingOut!== checkingOut) {
95
- log("useEffect: setting checkingOut to: " + checkingOut) /////////////////////////////////////
96
- storeRef.current.setCheckingOut(checkingOut)
97
- }
98
- if ( prevPathRef.current === 'initial') {
99
- prevPathRef.current = pathname
100
- // no need to reset
101
- }
102
- else if (
103
- !checkingOut
104
- &&
105
- prevPathRef.current !== pathname
106
- ) {
107
- storeRef.current.reset()
108
- prevPathRef.current = pathname
109
- }
110
- }, [pathname])
111
-
112
-
113
- return (
114
- <CommerceUIContext.Provider value={storeRef.current}>
115
- {children}
116
- </CommerceUIContext.Provider>
117
- )
118
- }
119
-
120
- export {
121
- useCommerceDrawer,
122
- useSelectAndBuy,
123
- useRecentActivity,
124
- CommerceUIProvider
125
- }
126
-
1
+ 'use client'
2
+ import React, {
3
+ createContext,
4
+ useContext,
5
+ useRef,
6
+ type PropsWithChildren,
7
+ useEffect,
8
+ useLayoutEffect
9
+ } from 'react'
10
+ import { enableStaticRendering } from 'mobx-react-lite'
11
+ import { usePathname } from 'next/navigation'
12
+ import { useDebounceCallback } from 'usehooks-ts'
13
+
14
+
15
+ import { preset as twConfig } from '@hanzo/ui/tailwind'
16
+ import { useCommerce } from '@hanzo/commerce'
17
+
18
+ import type { CommerceDrawer, SelectAndBuy, RecentActivity } from './store'
19
+ import { CommerceUIStore } from './store'
20
+ import conf from './conf'
21
+
22
+ const LOG = false ////////////////////
23
+ const log = (s: string) => {
24
+ if (LOG) {
25
+ console.log('CMMC UI CONTEXT ' + s)
26
+ }
27
+ }
28
+
29
+ // https://dev.to/ivandotv/mobx-server-side-rendering-with-next-js-4m18
30
+ enableStaticRendering(typeof window === "undefined")
31
+
32
+ const CommerceUIContext = createContext<CommerceUIStore | undefined>(undefined)
33
+
34
+ const useCommerceDrawer = (): CommerceDrawer => {
35
+ return useContext(CommerceUIContext) as CommerceDrawer
36
+ }
37
+
38
+ const useSelectAndBuy = (): SelectAndBuy => {
39
+ return useContext(CommerceUIContext) as SelectAndBuy
40
+ }
41
+
42
+ const useRecentActivity = (): RecentActivity => {
43
+ return useContext(CommerceUIContext) as RecentActivity
44
+ }
45
+
46
+ const CommerceUIProvider: React.FC<PropsWithChildren> = ({
47
+ children,
48
+ }) => {
49
+
50
+ const cmmc = useCommerce()
51
+ const pathname = usePathname()
52
+ const storeRef = useRef<CommerceUIStore>(new CommerceUIStore(cmmc, conf))
53
+ const prevPathRef = useRef<string>('initial')
54
+
55
+ const onResize = () => {
56
+ const width = window.innerWidth
57
+ let desktopMin = 0
58
+ if (twConfig.theme?.screens) {
59
+ // expected form: { md: '768px' }
60
+ if ('md' in twConfig.theme?.screens && typeof twConfig.theme?.screens.md === 'string') {
61
+ desktopMin = parseInt(twConfig.theme?.screens.md)
62
+ }
63
+ if (width < desktopMin) {
64
+ if (!storeRef.current.isMobile) {
65
+ storeRef.current.setMobile(true)
66
+ }
67
+ }
68
+ else if (storeRef.current.isMobile) {
69
+ storeRef.current.setMobile(false)
70
+ }
71
+ }
72
+ storeRef.current.setViewportHeight(window.innerHeight)
73
+ }
74
+
75
+ const onResize_debounced = useDebounceCallback(onResize, 500)
76
+
77
+ useLayoutEffect(() => {
78
+ storeRef.current.initialize()
79
+ onResize()
80
+ window.addEventListener('resize', onResize_debounced);
81
+ return () => {
82
+ window.removeEventListener('resize', onResize_debounced)
83
+ storeRef.current.dispose()
84
+ }
85
+ }, [])
86
+
87
+ useEffect(() => {
88
+ const checkingOut = (pathname === '/checkout')
89
+
90
+ /////////////////////////////////////
91
+ log("useEffect: pathname: " + pathname)
92
+ log("useEffect: prev pathname: " + prevPathRef.current)
93
+
94
+ if (storeRef.current.checkingOut === undefined || storeRef.current._checkingOut!== checkingOut) {
95
+ log("useEffect: setting checkingOut to: " + checkingOut) /////////////////////////////////////
96
+ storeRef.current.setCheckingOut(checkingOut)
97
+ }
98
+ if ( prevPathRef.current === 'initial') {
99
+ prevPathRef.current = pathname
100
+ // no need to reset
101
+ }
102
+ else if (
103
+ !checkingOut
104
+ &&
105
+ prevPathRef.current !== pathname
106
+ ) {
107
+ storeRef.current.reset()
108
+ prevPathRef.current = pathname
109
+ }
110
+ }, [pathname])
111
+
112
+
113
+ return (
114
+ <CommerceUIContext.Provider value={storeRef.current}>
115
+ {children}
116
+ </CommerceUIContext.Provider>
117
+ )
118
+ }
119
+
120
+ export {
121
+ useCommerceDrawer,
122
+ useSelectAndBuy,
123
+ useRecentActivity,
124
+ CommerceUIProvider
125
+ }
126
+