@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.
Files changed (155) hide show
  1. package/commerce/ui/conf.ts +13 -13
  2. package/commerce/ui/context.tsx +126 -126
  3. package/commerce/ui/store.ts +306 -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 +49 -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/cart-accordian.tsx +66 -0
  17. package/components/commerce/checkout-panel/checkout-panel-props.ts +10 -0
  18. package/components/commerce/checkout-panel/{dt-bag-carousel.tsx → desktop-bag-carousel.tsx} +36 -36
  19. package/components/commerce/checkout-panel/desktop-cp.tsx +83 -0
  20. package/components/commerce/checkout-panel/index.tsx +126 -129
  21. package/components/commerce/checkout-panel/mobile-cp.tsx +67 -0
  22. package/components/commerce/checkout-panel/policy-links.tsx +29 -0
  23. package/components/commerce/checkout-panel/steps-indicator.tsx +39 -39
  24. package/components/commerce/checkout-panel/thank-you.tsx +18 -18
  25. package/components/commerce/checkout-widget/const.ts +13 -13
  26. package/components/commerce/checkout-widget/index.tsx +192 -192
  27. package/components/commerce/checkout-widget/obs-string-set.ts +48 -48
  28. package/components/commerce/checkout-widget/use-anim-clx-set.ts +58 -58
  29. package/components/commerce/desktop-bag-popup.tsx +78 -78
  30. package/components/commerce/desktop-nav-menu.tsx +130 -130
  31. package/components/commerce/drawer/index.tsx +99 -99
  32. package/components/commerce/drawer/micro.tsx +144 -144
  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 +101 -101
  36. package/components/commerce/mobile-menu-toggle-button.tsx +35 -35
  37. package/components/commerce/mobile-nav-menu-ai.tsx +47 -48
  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 +25 -25
  45. package/components/footer.tsx +77 -77
  46. package/components/header/desktop.tsx +50 -50
  47. package/components/header/index.tsx +52 -52
  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.tsx +29 -29
  52. package/components/icons/anodized-titanium.tsx +45 -45
  53. package/components/icons/avatar.tsx +11 -11
  54. package/components/icons/bag-icon.tsx +10 -10
  55. package/components/icons/blog.tsx +20 -20
  56. package/components/icons/bridge.tsx +68 -68
  57. package/components/icons/changelog.tsx +21 -21
  58. package/components/icons/chrome.tsx +45 -45
  59. package/components/icons/coins.tsx +20 -20
  60. package/components/icons/compare-cards.tsx +21 -21
  61. package/components/icons/credit.tsx +20 -20
  62. package/components/icons/customer-support.tsx +21 -21
  63. package/components/icons/customers.tsx +33 -33
  64. package/components/icons/developer-docs.tsx +20 -20
  65. package/components/icons/exchange.tsx +21 -21
  66. package/components/icons/explorer.tsx +22 -22
  67. package/components/icons/faqs.tsx +21 -21
  68. package/components/icons/github.tsx +14 -14
  69. package/components/icons/guides.tsx +21 -21
  70. package/components/icons/gun-metal.tsx +44 -44
  71. package/components/icons/index.tsx +43 -43
  72. package/components/icons/integrations.tsx +25 -25
  73. package/components/icons/irradescent.tsx +41 -41
  74. package/components/icons/launch-subnet.tsx +21 -21
  75. package/components/icons/left-arrow.tsx +11 -11
  76. package/components/icons/lux-finance.tsx +23 -23
  77. package/components/icons/lux-logo.tsx +10 -10
  78. package/components/icons/lux-pass.tsx +25 -25
  79. package/components/icons/lux-quests.tsx +21 -21
  80. package/components/icons/market.tsx +24 -24
  81. package/components/icons/mirrored-titanium.tsx +46 -46
  82. package/components/icons/more-benefits.tsx +21 -21
  83. package/components/icons/open-source.tsx +26 -26
  84. package/components/icons/right-arrow.tsx +10 -10
  85. package/components/icons/safe.tsx +37 -37
  86. package/components/icons/search.tsx +12 -12
  87. package/components/icons/secure-delivery.tsx +13 -13
  88. package/components/icons/shop.tsx +20 -20
  89. package/components/icons/social-icon.tsx +35 -35
  90. package/components/icons/social-svg.css +3 -3
  91. package/components/icons/sterling-silver-card.tsx +44 -44
  92. package/components/icons/templates.tsx +21 -21
  93. package/components/icons/validators.tsx +41 -41
  94. package/components/icons/view-all-card.tsx +20 -20
  95. package/components/icons/wallet.tsx +20 -20
  96. package/components/icons/warpcast.tsx +58 -58
  97. package/components/icons/youtube-logo.tsx +59 -59
  98. package/components/index.ts +27 -27
  99. package/components/logo.tsx +89 -89
  100. package/components/main.tsx +27 -27
  101. package/components/mini-chart/index.tsx +7 -7
  102. package/components/mini-chart/mini-chart-props.ts +43 -43
  103. package/components/mini-chart/mini-chart.tsx +85 -85
  104. package/components/mini-chart/wrapper.tsx +23 -23
  105. package/components/not-found/index.tsx +28 -28
  106. package/components/not-found/not-found-content.mdx +5 -5
  107. package/components/scripts.tsx +24 -24
  108. package/components/tooltip.tsx +31 -31
  109. package/environment.d.ts +5 -5
  110. package/next/analytics/fpixel.ts +15 -15
  111. package/next/analytics/google-analytics.ts +13 -13
  112. package/next/analytics/index.ts +3 -3
  113. package/next/analytics/pixel-analytics.tsx +54 -54
  114. package/next/font/get-app-router-font-classes.ts +12 -12
  115. package/next/font/load-and-return-lux-next-fonts-on-import.ts +68 -68
  116. package/next/font/next-font-desc.ts +27 -27
  117. package/next/font/pages-router-font-vars.tsx +18 -18
  118. package/next/head-metadata/from-next/metadata-types.ts +158 -158
  119. package/next/head-metadata/from-next/opengraph-types.ts +267 -267
  120. package/next/head-metadata/from-next/twitter-types.ts +92 -92
  121. package/next/head-metadata/index.tsx +208 -208
  122. package/next/middleware/determine-device-mw.ts +16 -16
  123. package/package.json +79 -79
  124. package/root-layout/WHY_THIS_IS_SEPARATE.txt +1 -1
  125. package/root-layout/index.tsx +112 -112
  126. package/server-actions/firebase-app.ts +14 -14
  127. package/server-actions/index.ts +5 -5
  128. package/server-actions/store-contact.ts +51 -51
  129. package/site-def/footer/community.tsx +67 -67
  130. package/site-def/footer/company.ts +37 -37
  131. package/site-def/footer/ecosystem.ts +37 -37
  132. package/site-def/footer/index.tsx +26 -26
  133. package/site-def/footer/legal.ts +28 -28
  134. package/site-def/footer/network.ts +45 -45
  135. package/site-def/footer/svg/warpcast-logo.svg +11 -11
  136. package/site-def/index.ts +2 -2
  137. package/site-def/main-nav.tsx +392 -392
  138. package/style/cart-animation.css +29 -29
  139. package/style/checkout-animation.css +23 -23
  140. package/style/drawer-handle-overrides.css +160 -160
  141. package/style/lux-colors.css +85 -85
  142. package/style/lux-global.css +30 -30
  143. package/tailwind/fontFamily.tailwind.lux.ts +18 -18
  144. package/tailwind/index.ts +2 -2
  145. package/tailwind/lux-tw-fonts.ts +39 -39
  146. package/tailwind/tailwind.config.lux-preset.ts +10 -10
  147. package/tsconfig.json +15 -15
  148. package/types/chatbot-config.ts +6 -6
  149. package/types/chatbot-suggested-question.ts +7 -7
  150. package/types/contact-info.ts +10 -10
  151. package/types/index.ts +4 -4
  152. package/types/site-def.ts +43 -43
  153. package/components/commerce/checkout-panel/dt-checkout-panel.tsx +0 -85
  154. package/components/commerce/checkout-panel/links-row.tsx +0 -21
  155. package/components/commerce/checkout-panel/mb-checkout-panel.tsx +0 -55
@@ -1,18 +1,18 @@
1
- import type { TwFontDesc } from '@hanzo/ui/tailwind'
2
-
3
- import luxTwFonts from './lux-tw-fonts'
4
-
5
- export const fontFamily = (ignoreTheme: any): {
6
- [key: string]: string[]
7
- } => {
8
-
9
- let result: any = {}
10
- luxTwFonts.forEach((font: TwFontDesc) => {
11
- result[font.twName] = font.fontFamily
12
- // eg: heading: ['var(--font-druk-text-wide)']
13
- })
14
-
15
- return result as {
16
- [key: string]: string[]
17
- }
18
- }
1
+ import type { TwFontDesc } from '@hanzo/ui/tailwind'
2
+
3
+ import luxTwFonts from './lux-tw-fonts'
4
+
5
+ export const fontFamily = (ignoreTheme: any): {
6
+ [key: string]: string[]
7
+ } => {
8
+
9
+ let result: any = {}
10
+ luxTwFonts.forEach((font: TwFontDesc) => {
11
+ result[font.twName] = font.fontFamily
12
+ // eg: heading: ['var(--font-druk-text-wide)']
13
+ })
14
+
15
+ return result as {
16
+ [key: string]: string[]
17
+ }
18
+ }
package/tailwind/index.ts CHANGED
@@ -1,2 +1,2 @@
1
-
2
- export {default as preset} from './tailwind.config.lux-preset'
1
+
2
+ export {default as preset} from './tailwind.config.lux-preset'
@@ -1,40 +1,40 @@
1
- import type { TwFontDesc } from '@hanzo/ui/tailwind'
2
-
3
-
4
- /* NOTE: /next/load-and-return....ts depends on this file! */
5
-
6
- export default [
7
- {
8
- fontFamily: ['var(--font-inter)'], // do not provide fall-backs due to next bug
9
- cssVar: '--font-inter',
10
- twName: 'sans'
11
- },
12
- {
13
- fontFamily: ['var(--font-druk-text-wide)'], // do not provide fall-backs due to next bug
14
- cssVar: '--font-druk-text-wide',
15
- twName: 'nav'
16
- },
17
- {
18
- fontFamily: ['var(--font-druk-wide)'], // do not provide fall-backs due to next bug
19
- cssVar: '--font-druk-wide',
20
- twName: 'heading'
21
- },
22
- {
23
- twName: 'serif',
24
- fontFamily: ['ui-serif', 'Georgia', 'Cambria', '"Times New Roman"', 'Times']
25
- },
26
- {
27
- twName: 'mono',
28
- fontFamily: [
29
- 'ui-monospace',
30
- 'SFMono-Regular',
31
- 'Menlo',
32
- 'Monaco',
33
- 'Consolas',
34
- '"Liberation Mono"',
35
- '"Courier New"',
36
- 'monospace',
37
- ]
38
- }
39
-
1
+ import type { TwFontDesc } from '@hanzo/ui/tailwind'
2
+
3
+
4
+ /* NOTE: /next/load-and-return....ts depends on this file! */
5
+
6
+ export default [
7
+ {
8
+ fontFamily: ['var(--font-inter)'], // do not provide fall-backs due to next bug
9
+ cssVar: '--font-inter',
10
+ twName: 'sans'
11
+ },
12
+ {
13
+ fontFamily: ['var(--font-druk-text-wide)'], // do not provide fall-backs due to next bug
14
+ cssVar: '--font-druk-text-wide',
15
+ twName: 'nav'
16
+ },
17
+ {
18
+ fontFamily: ['var(--font-druk-wide)'], // do not provide fall-backs due to next bug
19
+ cssVar: '--font-druk-wide',
20
+ twName: 'heading'
21
+ },
22
+ {
23
+ twName: 'serif',
24
+ fontFamily: ['ui-serif', 'Georgia', 'Cambria', '"Times New Roman"', 'Times']
25
+ },
26
+ {
27
+ twName: 'mono',
28
+ fontFamily: [
29
+ 'ui-monospace',
30
+ 'SFMono-Regular',
31
+ 'Menlo',
32
+ 'Monaco',
33
+ 'Consolas',
34
+ '"Liberation Mono"',
35
+ '"Courier New"',
36
+ 'monospace',
37
+ ]
38
+ }
39
+
40
40
  ] as TwFontDesc[]
@@ -1,10 +1,10 @@
1
- import type { Config } from 'tailwindcss'
2
- import { preset } from '@hanzo/ui/tailwind'
3
- import { fontFamily } from './fontFamily.tailwind.lux'
4
-
5
- export default {
6
- presets: [preset],
7
- content: [],
8
- theme: { fontFamily }
9
- } satisfies Config
10
-
1
+ import type { Config } from 'tailwindcss'
2
+ import { preset } from '@hanzo/ui/tailwind'
3
+ import { fontFamily } from './fontFamily.tailwind.lux'
4
+
5
+ export default {
6
+ presets: [preset],
7
+ content: [],
8
+ theme: { fontFamily }
9
+ } satisfies Config
10
+
package/tsconfig.json CHANGED
@@ -1,15 +1,15 @@
1
- {
2
- "extends": "../tsconfig.modules.base.json",
3
- "include": [
4
- "**/*.ts",
5
- "**/*.tsx",
6
- ],
7
- "exclude": [
8
- "node_modules",
9
- ],
10
- "compilerOptions": {
11
- "paths": {
12
- "react": [ "./node_modules/@types/react" ],
13
- }
14
- }
15
- }
1
+ {
2
+ "extends": "../tsconfig.modules.base.json",
3
+ "include": [
4
+ "**/*.ts",
5
+ "**/*.tsx",
6
+ ],
7
+ "exclude": [
8
+ "node_modules",
9
+ ],
10
+ "compilerOptions": {
11
+ "paths": {
12
+ "react": [ "./node_modules/@types/react" ],
13
+ }
14
+ }
15
+ }
@@ -1,7 +1,7 @@
1
- import type ChatbotSuggestQuestion from './chatbot-suggested-question'
2
-
3
- interface ChatbotConfig {
4
- suggestedQuestions?: ChatbotSuggestQuestion[]
5
- }
6
-
1
+ import type ChatbotSuggestQuestion from './chatbot-suggested-question'
2
+
3
+ interface ChatbotConfig {
4
+ suggestedQuestions?: ChatbotSuggestQuestion[]
5
+ }
6
+
7
7
  export { type ChatbotConfig as default }
@@ -1,7 +1,7 @@
1
- interface ChatbotSuggestedQuestion {
2
- heading: string
3
- message: string
4
- icon?: string
5
- }
6
-
7
- export { type ChatbotSuggestedQuestion as default }
1
+ interface ChatbotSuggestedQuestion {
2
+ heading: string
3
+ message: string
4
+ icon?: string
5
+ }
6
+
7
+ export { type ChatbotSuggestedQuestion as default }
@@ -1,11 +1,11 @@
1
- interface ContactInfo {
2
- email: string
3
- phone?: string
4
- }
5
-
6
- type ContactInfoFields = keyof ContactInfo
7
-
8
- export {
9
- type ContactInfo,
10
- type ContactInfoFields
1
+ interface ContactInfo {
2
+ email: string
3
+ phone?: string
4
+ }
5
+
6
+ type ContactInfoFields = keyof ContactInfo
7
+
8
+ export {
9
+ type ContactInfo,
10
+ type ContactInfoFields
11
11
  }
package/types/index.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type { ContactInfo, ContactInfoFields } from './contact-info'
2
- export type { default as SiteDef } from './site-def'
3
- export type { default as ChatbotSuggestedQuestion } from './chatbot-suggested-question'
4
- export type { default as ChatbotConfig } from './chatbot-config'
1
+ export type { ContactInfo, ContactInfoFields } from './contact-info'
2
+ export type { default as SiteDef } from './site-def'
3
+ export type { default as ChatbotSuggestedQuestion } from './chatbot-suggested-question'
4
+ export type { default as ChatbotConfig } from './chatbot-config'
package/types/site-def.ts CHANGED
@@ -1,43 +1,43 @@
1
- import React from 'react'
2
-
3
- import type { LinkDef } from '@hanzo/ui/types'
4
- import type { CommerceConfig } from '@hanzo/commerce/types'
5
-
6
- import type ChatbotConfig from './chatbot-config'
7
-
8
- interface SiteDef {
9
-
10
- /** url of this site. All nav links in the system will show it in 'current' state */
11
- currentAs?: string
12
-
13
- nav: {
14
- /** common elements (will auto-select currentAs if it's provide) */
15
- /** optional feature element. right-most after 'elements' (any min-w is ignored) */
16
- common: LinkDef[]
17
- featured?: LinkDef[]
18
- }
19
-
20
- /**
21
- * Array of columns, each of which itself is an array of links
22
- * (or "title defs" where href='' and variant='linkFG')
23
- * Common use case: To render a site-specific first column:
24
- * {
25
- * footer[myColumn, ...commonColumnsFromUi]
26
- * }
27
- * see: @hanzo/ui/siteDef/footer (default export)
28
- * or @hanzo/ui/siteDef/footer/common
29
- */
30
- footer: LinkDef[][]
31
-
32
- /**
33
- * optional override of default 'above copyright' horizantal links
34
- default (undefined / absent): links in side-def/footer/legal are rendered
35
- [] renders nothing above the copyright
36
- */
37
- aboveCopyright?: LinkDef[]
38
-
39
- commerce?: CommerceConfig
40
- chatbot?: ChatbotConfig
41
- }
42
-
43
- export { type SiteDef as default }
1
+ import React from 'react'
2
+
3
+ import type { LinkDef } from '@hanzo/ui/types'
4
+ import type { CommerceConfig } from '@hanzo/commerce/types'
5
+
6
+ import type ChatbotConfig from './chatbot-config'
7
+
8
+ interface SiteDef {
9
+
10
+ /** url of this site. All nav links in the system will show it in 'current' state */
11
+ currentAs?: string
12
+
13
+ nav: {
14
+ /** common elements (will auto-select currentAs if it's provide) */
15
+ /** optional feature element. right-most after 'elements' (any min-w is ignored) */
16
+ common: LinkDef[]
17
+ featured?: LinkDef[]
18
+ }
19
+
20
+ /**
21
+ * Array of columns, each of which itself is an array of links
22
+ * (or "title defs" where href='' and variant='linkFG')
23
+ * Common use case: To render a site-specific first column:
24
+ * {
25
+ * footer[myColumn, ...commonColumnsFromUi]
26
+ * }
27
+ * see: @hanzo/ui/siteDef/footer (default export)
28
+ * or @hanzo/ui/siteDef/footer/common
29
+ */
30
+ footer: LinkDef[][]
31
+
32
+ /**
33
+ * optional override of default 'above copyright' horizantal links
34
+ default (undefined / absent): links in side-def/footer/legal are rendered
35
+ [] renders nothing above the copyright
36
+ */
37
+ aboveCopyright?: LinkDef[]
38
+
39
+ commerce?: CommerceConfig
40
+ chatbot?: ChatbotConfig
41
+ }
42
+
43
+ export { type SiteDef as default }
@@ -1,85 +0,0 @@
1
- 'use client'
2
- import React, { type PropsWithChildren } from 'react'
3
- import { observer } from 'mobx-react-lite'
4
-
5
- import { ScrollArea, StepIndicator } from '@hanzo/ui/primitives'
6
- import { AuthWidget } from '@hanzo/auth/components'
7
- import { CartPanel, useCommerce } from '@hanzo/commerce'
8
- import { cn } from '@hanzo/ui/util'
9
-
10
- import { BackButton, Logo, Tooltip } from '../..'
11
- import DesktopBagCarousel from './dt-bag-carousel'
12
- import LinksRow from './links-row'
13
-
14
- const DesktopCheckoutPanel: React.FC<PropsWithChildren & {
15
- index: number
16
- stepNames: string[]
17
- close: () => void
18
- className?: string
19
- }> = observer(({
20
- index,
21
- stepNames,
22
- close,
23
- className='',
24
- children
25
- }) => {
26
-
27
- const cmmc = useCommerce()
28
-
29
- return (
30
- <div /* id='CHECKOUT_PANEL' */ className={cn('grid grid-cols-2', className)}>
31
- <div key={1} className='w-full h-full bg-background flex flex-row items-start justify-end'>
32
- <div className='w-full h-full max-w-[750px] relative flex flex-col items-stretch justify-start px-8 pb-8'>
33
- <div key={1} className='h-[80px] grow-0 flex flex-row items-center z-10' >
34
- <Logo onClick={close} size='md' href='/' variant='text-only' outerClx='logo-outer-tooltip-class' />
35
- <Tooltip select='.logo-outer-tooltip-class' text='home' position='right' offset={6}/>
36
- </div>
37
- <BackButton size='sm' clx={
38
- 'z-10 absolute top-14 left-6 !px-0 aspect-square ' +
39
- 'rounded-full hover:!bg-level-3 ' +
40
- //'border border-transparent hover:border-muted-2 ' +
41
- 'back-button-tooltip-class '
42
- }/>
43
- <Tooltip select='.back-button-tooltip-class' text='back' position='right' offset={5}/>
44
- <div key={2} className={cn(
45
- 'w-full grow min-h-0 max-w-[550px] mx-auto flex flex-col gap-3',
46
- (cmmc.cartItems.length > 4 ? 'justify-between' : 'justify-start gap-10 pt-10')
47
- )}>
48
- <DesktopBagCarousel className='grow-0 h-[260px] w-[360px] lg:w-[420px] mx-auto -mt-8' constrainTo={{w: 250, h: 250}}/>
49
- <CartPanel
50
- className='w-full border-none p-0'
51
- itemClx='mb-2'
52
- totalClx='sticky bottom-0 bg-background'
53
- listClx='pr-3'
54
- scrollAfter={5}
55
- scrollHeightClx='min-h-[50vh] grow'
56
- showPromoCode
57
- showShipping
58
- selectItems
59
- />
60
- </div>
61
- </div>
62
- </div>
63
- <div key={2} className='w-full h-full flex flex-col bg-level-1 min-h-screen justify-between'>
64
- <ScrollArea className='w-full flex flex-row items-start justify-start overflow-y-auto'>
65
- <div className='h-full w-full max-w-[750px] relative flex flex-col items-center px-8 pt-0'>
66
- <div key={1} className='bg-level-1 sticky h-30 pb-8 w-full top-0 flex justify-center items-end'>
67
- <AuthWidget noLogin className='hidden md:flex absolute top-4 right-4 '/>
68
- <StepIndicator dotSizeRem={1.5} steps={stepNames} currentStep={index} className='gap-2 text-base w-pr-70' />
69
- </div>
70
- <div key={2} className='w-full max-w-[550px] mx-auto pb-10'>
71
- {children}
72
- </div>
73
- </div>
74
- </ScrollArea>
75
- <div className='w-full max-w-[750px] relative flex flex-col items-center px-8 pt-0'>
76
- <div className='w-full max-w-[550px] mx-auto flex flex-col items-center'>
77
- <LinksRow className='w-full' />
78
- </div>
79
- </div>
80
- </div>
81
- </div>
82
- )
83
- })
84
-
85
- export default DesktopCheckoutPanel
@@ -1,21 +0,0 @@
1
- import Link from 'next/link'
2
-
3
- import { Separator } from '@hanzo/ui/primitives'
4
- import { cn } from '@hanzo/ui/util'
5
-
6
- const LinksRow: React.FC<{
7
- className?: string
8
- }> = ({
9
- className=''
10
- }) => (
11
- <div className={cn('flex flex-col', className)}>
12
- <Separator/>
13
- <div className='flex gap-4 text-sm py-2'>
14
- {/* TODO: add Refund policy and Privacy policy links */}
15
- <Link href=''>Refund policy</Link>
16
- <Link href=''>Privacy policy</Link>
17
- </div>
18
- </div>
19
- )
20
-
21
- export default LinksRow
@@ -1,55 +0,0 @@
1
- 'use client'
2
- import React, { type PropsWithChildren } from 'react'
3
-
4
- import { StepIndicator } from '@hanzo/ui/primitives'
5
- import { cn } from '@hanzo/ui/util'
6
- import { AuthWidget } from '@hanzo/auth/components'
7
- import { CartAccordian } from '@hanzo/commerce'
8
-
9
- import { Logo } from '../..'
10
- import BagButton from '../bag-button'
11
- import LinksRow from './links-row'
12
-
13
- const MobileCheckoutPanel: React.FC<PropsWithChildren & {
14
- index: number
15
- stepNames: string[]
16
- close:() => void
17
- className?: string
18
- }> = ({
19
- index,
20
- stepNames,
21
- close,
22
- className='',
23
- children
24
- }) => (
25
-
26
- <div /* id='MOBILE_GRID' */ className={cn('bg-background flex flex-col justify-start px-4', className)}>
27
- <div className='sticky top-0 w-full flex flex-row justify-between items-center bg-background'>
28
- <Logo onClick={close} size='xs' href='/' />
29
- {/* Need wrapper div since 'noLogin' returns null if no logged in user */}
30
- <div className='w-10 h-10 flex items-center justify-center'><AuthWidget noLogin className=''/></div>
31
- </div>
32
- <CartAccordian
33
- icon={
34
- <BagButton
35
- animateOnHover={false}
36
- showIfEmpty
37
- size='sm'
38
- className='mr-1 relative w-5 h-6 sm:w-6 sm:h-7'
39
- iconClx='fill-foreground'
40
- />
41
- }
42
- className='flex items-center justify-center w-full'
43
- />
44
- <StepIndicator
45
- dotSizeRem={1}
46
- steps={stepNames}
47
- currentStep={index}
48
- className='text-xs font-semibold w-full pb-3'
49
- />
50
- {children}
51
- <LinksRow className='mt-auto mb-3 pt-2' />
52
- </div>
53
- )
54
-
55
- export default MobileCheckoutPanel