@luxfi/core 5.2.4 → 5.2.5

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 (114) hide show
  1. package/commerce/ui/conf.ts +13 -13
  2. package/commerce/ui/context.tsx +102 -102
  3. package/commerce/ui/store.ts +276 -276
  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/chat-widget.tsx +85 -85
  11. package/components/commerce/add-widget.tsx +20 -20
  12. package/components/commerce/bag-button.tsx +98 -98
  13. package/components/commerce/buy-button.tsx +34 -34
  14. package/components/commerce/checkout-button.tsx +129 -129
  15. package/components/commerce/checkout-panel/close-button.tsx +26 -26
  16. package/components/commerce/checkout-panel/dt-bag-carousel.tsx +36 -36
  17. package/components/commerce/checkout-panel/dt-checkout-panel.tsx +66 -66
  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 +235 -0
  29. package/components/commerce/drawer/index.tsx +116 -116
  30. package/components/commerce/drawer/micro.tsx +144 -144
  31. package/components/commerce/drawer/shell.tsx +83 -83
  32. package/components/commerce/mobile-bag-drawer.tsx +51 -51
  33. package/components/commerce/mobile-login-button.tsx +101 -100
  34. package/components/commerce/mobile-menu-toggle-button.tsx +35 -35
  35. package/components/commerce/mobile-nav-menu-ai.tsx +45 -98
  36. package/components/commerce/mobile-nav-menu-item.tsx +49 -45
  37. package/components/commerce/mobile-nav-menu.tsx +68 -80
  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 +57 -54
  45. package/components/header/index.tsx +52 -40
  46. package/components/header/mobile.tsx +166 -165
  47. package/components/header/theme-toggle.tsx +26 -26
  48. package/components/icons/avatar.tsx +11 -11
  49. package/components/icons/bag-icon.tsx +10 -10
  50. package/components/icons/github.tsx +14 -14
  51. package/components/icons/index.tsx +43 -43
  52. package/components/icons/left-arrow.tsx +11 -11
  53. package/components/icons/lux-logo.tsx +10 -10
  54. package/components/icons/right-arrow.tsx +10 -10
  55. package/components/icons/search.tsx +12 -12
  56. package/components/icons/secure-delivery.tsx +13 -13
  57. package/components/icons/social-icon.tsx +35 -35
  58. package/components/icons/social-svg.css +3 -3
  59. package/components/icons/warpcast.tsx +58 -0
  60. package/components/icons/youtube-logo.tsx +59 -59
  61. package/components/index.ts +25 -25
  62. package/components/logo.tsx +81 -81
  63. package/components/main.tsx +27 -27
  64. package/components/mini-chart/index.tsx +7 -7
  65. package/components/mini-chart/mini-chart-props.ts +43 -43
  66. package/components/mini-chart/mini-chart.tsx +85 -85
  67. package/components/mini-chart/wrapper.tsx +23 -23
  68. package/components/not-found/index.tsx +28 -28
  69. package/components/not-found/not-found-content.mdx +5 -5
  70. package/components/scripts.tsx +24 -24
  71. package/environment.d.ts +5 -5
  72. package/next/analytics/fpixel.ts +15 -15
  73. package/next/analytics/google-analytics.ts +13 -13
  74. package/next/analytics/index.ts +3 -3
  75. package/next/analytics/pixel-analytics.tsx +54 -54
  76. package/next/font/get-app-router-font-classes.ts +12 -12
  77. package/next/font/load-and-return-lux-next-fonts-on-import.ts +68 -68
  78. package/next/font/next-font-desc.ts +27 -27
  79. package/next/font/pages-router-font-vars.tsx +18 -18
  80. package/next/head-metadata/from-next/metadata-types.ts +158 -158
  81. package/next/head-metadata/from-next/opengraph-types.ts +267 -267
  82. package/next/head-metadata/from-next/twitter-types.ts +92 -92
  83. package/next/head-metadata/index.tsx +208 -208
  84. package/next/middleware/determine-device-mw.ts +16 -16
  85. package/package.json +78 -78
  86. package/root-layout/WHY_THIS_IS_SEPARATE.txt +1 -1
  87. package/root-layout/index.tsx +112 -112
  88. package/server-actions/firebase-app.ts +14 -14
  89. package/server-actions/index.ts +5 -5
  90. package/server-actions/store-contact.ts +51 -51
  91. package/site-def/footer/community.tsx +67 -67
  92. package/site-def/footer/company.ts +37 -37
  93. package/site-def/footer/ecosystem.ts +37 -37
  94. package/site-def/footer/index.tsx +26 -26
  95. package/site-def/footer/legal.ts +28 -28
  96. package/site-def/footer/network.ts +45 -45
  97. package/site-def/footer/svg/warpcast-logo.svg +11 -11
  98. package/site-def/index.ts +2 -2
  99. package/site-def/main-nav.tsx +338 -292
  100. package/style/cart-animation.css +29 -29
  101. package/style/checkout-animation.css +23 -23
  102. package/style/drawer-handle-overrides.css +160 -160
  103. package/style/lux-colors.css +85 -85
  104. package/style/lux-global.css +30 -30
  105. package/tailwind/fontFamily.tailwind.lux.ts +18 -18
  106. package/tailwind/index.ts +2 -2
  107. package/tailwind/lux-tw-fonts.ts +39 -39
  108. package/tailwind/tailwind.config.lux-preset.ts +10 -10
  109. package/tsconfig.json +15 -15
  110. package/types/chatbot-config.ts +6 -6
  111. package/types/chatbot-suggested-question.ts +7 -7
  112. package/types/contact-info.ts +10 -10
  113. package/types/index.ts +4 -4
  114. 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,102 +1,102 @@
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
- // https://dev.to/ivandotv/mobx-server-side-rendering-with-next-js-4m18
23
- enableStaticRendering(typeof window === "undefined")
24
-
25
- const CommerceUIContext = createContext<CommerceUIStore | undefined>(undefined)
26
-
27
- const useCommerceDrawer = (): CommerceDrawer => {
28
- return useContext(CommerceUIContext) as CommerceDrawer
29
- }
30
-
31
- const useSelectAndBuy = (): SelectAndBuy => {
32
- return useContext(CommerceUIContext) as SelectAndBuy
33
- }
34
-
35
- const useRecentActivity = (): RecentActivity => {
36
- return useContext(CommerceUIContext) as RecentActivity
37
- }
38
-
39
- const CommerceUIProvider: React.FC<PropsWithChildren> = ({
40
- children,
41
- }) => {
42
-
43
- const cmmc = useCommerce()
44
- const pathName = usePathname()
45
- const isCheckout = pathName === '/checkout'
46
- const ref = useRef<CommerceUIStore>(new CommerceUIStore(cmmc, conf))
47
-
48
- if (ref.current.checkingOut != isCheckout) {
49
- ref.current.setCheckingOut(isCheckout)
50
- }
51
-
52
- const onResize = () => {
53
- const width = window.innerWidth
54
- let desktopMin = 0
55
- if (twConfig.theme?.screens) {
56
- // expected form: { md: '768px' }
57
- if ('md' in twConfig.theme?.screens && typeof twConfig.theme?.screens.md === 'string') {
58
- desktopMin = parseInt(twConfig.theme?.screens.md)
59
- }
60
- if (width < desktopMin) {
61
- if (!ref.current.isMobile) {
62
- ref.current.setMobile(true)
63
- }
64
- }
65
- else if (ref.current.isMobile) {
66
- ref.current.setMobile(false)
67
- }
68
- }
69
- ref.current.setViewportHeight(window.innerHeight)
70
- }
71
-
72
- const onResize_debounced = useDebounceCallback(onResize, 500)
73
-
74
- useLayoutEffect(() => {
75
- ref.current.initialize()
76
- onResize()
77
- window.addEventListener('resize', onResize_debounced);
78
- return () => {
79
- window.removeEventListener('resize', onResize_debounced)
80
- ref.current.dispose()
81
- }
82
- }, [])
83
-
84
- useEffect(() => {
85
- ref.current.reset()
86
- }, [pathName])
87
-
88
-
89
- return (
90
- <CommerceUIContext.Provider value={ref.current}>
91
- {children}
92
- </CommerceUIContext.Provider>
93
- )
94
- }
95
-
96
- export {
97
- useCommerceDrawer,
98
- useSelectAndBuy,
99
- useRecentActivity,
100
- CommerceUIProvider
101
- }
102
-
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
+ // https://dev.to/ivandotv/mobx-server-side-rendering-with-next-js-4m18
23
+ enableStaticRendering(typeof window === "undefined")
24
+
25
+ const CommerceUIContext = createContext<CommerceUIStore | undefined>(undefined)
26
+
27
+ const useCommerceDrawer = (): CommerceDrawer => {
28
+ return useContext(CommerceUIContext) as CommerceDrawer
29
+ }
30
+
31
+ const useSelectAndBuy = (): SelectAndBuy => {
32
+ return useContext(CommerceUIContext) as SelectAndBuy
33
+ }
34
+
35
+ const useRecentActivity = (): RecentActivity => {
36
+ return useContext(CommerceUIContext) as RecentActivity
37
+ }
38
+
39
+ const CommerceUIProvider: React.FC<PropsWithChildren> = ({
40
+ children,
41
+ }) => {
42
+
43
+ const cmmc = useCommerce()
44
+ const pathName = usePathname()
45
+ const isCheckout = pathName === '/checkout'
46
+ const ref = useRef<CommerceUIStore>(new CommerceUIStore(cmmc, conf))
47
+
48
+ if (ref.current.checkingOut != isCheckout) {
49
+ ref.current.setCheckingOut(isCheckout)
50
+ }
51
+
52
+ const onResize = () => {
53
+ const width = window.innerWidth
54
+ let desktopMin = 0
55
+ if (twConfig.theme?.screens) {
56
+ // expected form: { md: '768px' }
57
+ if ('md' in twConfig.theme?.screens && typeof twConfig.theme?.screens.md === 'string') {
58
+ desktopMin = parseInt(twConfig.theme?.screens.md)
59
+ }
60
+ if (width < desktopMin) {
61
+ if (!ref.current.isMobile) {
62
+ ref.current.setMobile(true)
63
+ }
64
+ }
65
+ else if (ref.current.isMobile) {
66
+ ref.current.setMobile(false)
67
+ }
68
+ }
69
+ ref.current.setViewportHeight(window.innerHeight)
70
+ }
71
+
72
+ const onResize_debounced = useDebounceCallback(onResize, 500)
73
+
74
+ useLayoutEffect(() => {
75
+ ref.current.initialize()
76
+ onResize()
77
+ window.addEventListener('resize', onResize_debounced);
78
+ return () => {
79
+ window.removeEventListener('resize', onResize_debounced)
80
+ ref.current.dispose()
81
+ }
82
+ }, [])
83
+
84
+ useEffect(() => {
85
+ ref.current.reset()
86
+ }, [pathName])
87
+
88
+
89
+ return (
90
+ <CommerceUIContext.Provider value={ref.current}>
91
+ {children}
92
+ </CommerceUIContext.Provider>
93
+ )
94
+ }
95
+
96
+ export {
97
+ useCommerceDrawer,
98
+ useSelectAndBuy,
99
+ useRecentActivity,
100
+ CommerceUIProvider
101
+ }
102
+