@luxfi/core 5.2.2 → 5.2.5

Sign up to get free protection for your applications and to get access to all the features.
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
+