@luxfi/core 5.1.3 → 5.1.5

Sign up to get free protection for your applications and to get access to all the features.
Files changed (115) hide show
  1. package/commerce/AUTO-GEN-bullion-by-family.json +33 -33
  2. package/commerce/EDIT-ME-bullion-market-prices.ts +11 -11
  3. package/commerce/assign-prices.ts +49 -49
  4. package/commerce/assign-videos-by-family-group.ts +14 -14
  5. package/commerce/bullion-price-1oz.ts +5 -5
  6. package/commerce/index.ts +18 -18
  7. package/commerce/lux-service-options.ts +6 -6
  8. package/components/access-code-input.tsx +71 -71
  9. package/components/auth/auth-listener.tsx +29 -29
  10. package/components/auth/auth-token/clear-auth-token.tsx +12 -12
  11. package/components/auth/auth-token/set-auth-token.tsx +16 -16
  12. package/components/auth/common-auth-domains.ts +16 -16
  13. package/components/auth/login-panel.tsx +104 -104
  14. package/components/chat-widget.tsx +80 -80
  15. package/components/commerce/bag-button.tsx +98 -98
  16. package/components/commerce/buy-drawer/drawer.tsx +44 -44
  17. package/components/commerce/buy-drawer/index.tsx +46 -46
  18. package/components/commerce/checkout-button.tsx +116 -116
  19. package/components/commerce/checkout-panel/close-button.tsx +26 -26
  20. package/components/commerce/checkout-panel/dt-bag-carousel.tsx +36 -36
  21. package/components/commerce/checkout-panel/dt-checkout-panel.tsx +66 -66
  22. package/components/commerce/checkout-panel/index.tsx +123 -123
  23. package/components/commerce/checkout-panel/links-row.tsx +21 -21
  24. package/components/commerce/checkout-panel/mb-checkout-panel.tsx +54 -54
  25. package/components/commerce/checkout-panel/steps-indicator.tsx +39 -39
  26. package/components/commerce/checkout-panel/thank-you.tsx +18 -18
  27. package/components/commerce/checkout-widget/const.ts +13 -13
  28. package/components/commerce/checkout-widget/index.tsx +86 -86
  29. package/components/commerce/checkout-widget/obs-string-set.ts +48 -48
  30. package/components/commerce/checkout-widget/use-anim-clx-set.ts +56 -56
  31. package/components/commerce/checkout-widget/use-lagging-item-ref.ts +29 -29
  32. package/components/commerce/desktop-bag-popup.tsx +78 -78
  33. package/components/commerce/mobile-bag-drawer.tsx +51 -51
  34. package/components/commerce/mobile-login-button.tsx +101 -0
  35. package/components/commerce/mobile-menu-toggle-button.tsx +35 -35
  36. package/components/commerce/mobile-nav-menu-ai.tsx +98 -0
  37. package/components/commerce/mobile-nav-menu-item.tsx +46 -0
  38. package/components/commerce/mobile-nav-menu.tsx +79 -64
  39. package/components/contact-dialog/contact-form.tsx +112 -112
  40. package/components/contact-dialog/disclaimer.tsx +13 -13
  41. package/components/contact-dialog/index.tsx +64 -64
  42. package/components/copyright.tsx +21 -21
  43. package/components/footer.tsx +77 -77
  44. package/components/header/desktop.tsx +54 -54
  45. package/components/header/guts.tsx +27 -0
  46. package/components/header/index.tsx +47 -26
  47. package/components/header/mobile.tsx +165 -161
  48. package/components/header/theme-toggle.tsx +26 -26
  49. package/components/icons/avatar.tsx +11 -0
  50. package/components/icons/bag-icon.tsx +10 -10
  51. package/components/icons/github.tsx +14 -14
  52. package/components/icons/index.tsx +43 -35
  53. package/components/icons/left-arrow.tsx +11 -0
  54. package/components/icons/lux-logo.tsx +10 -10
  55. package/components/icons/right-arrow.tsx +10 -0
  56. package/components/icons/search.tsx +12 -0
  57. package/components/icons/secure-delivery.tsx +13 -13
  58. package/components/icons/social-icon.tsx +35 -35
  59. package/components/icons/social-svg.css +3 -3
  60. package/components/icons/youtube-logo.tsx +59 -59
  61. package/components/index.ts +27 -27
  62. package/components/logo.tsx +81 -81
  63. package/components/mini-chart/index.tsx +7 -7
  64. package/components/mini-chart/mini-chart-props.ts +43 -43
  65. package/components/mini-chart/mini-chart.tsx +85 -85
  66. package/components/mini-chart/wrapper.tsx +23 -23
  67. package/components/not-found/index.tsx +27 -27
  68. package/components/not-found/not-found-content.mdx +5 -5
  69. package/components/scripts.tsx +24 -24
  70. package/conf/index.ts +50 -50
  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 +73 -72
  86. package/root-layout/WHY_THIS_IS_SEPARATE.txt +1 -1
  87. package/root-layout/index.tsx +121 -120
  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 +292 -0
  100. package/style/cart-animation.css +29 -29
  101. package/style/checkout-animation.css +23 -23
  102. package/style/lux-colors.css +85 -85
  103. package/style/lux-global.css +30 -30
  104. package/tailwind/fontFamily.tailwind.lux.ts +18 -18
  105. package/tailwind/index.ts +2 -2
  106. package/tailwind/lux-tw-fonts.ts +39 -39
  107. package/tailwind/tailwind.config.lux-preset.ts +10 -10
  108. package/tsconfig.json +10 -28
  109. package/types/chatbot-config.ts +6 -6
  110. package/types/chatbot-suggested-question.ts +7 -7
  111. package/types/commerce-config.ts +10 -10
  112. package/types/contact-info.ts +10 -10
  113. package/types/index.ts +5 -5
  114. package/types/site-def.ts +45 -45
  115. package/site-def/main-nav.ts +0 -35
@@ -1,55 +1,55 @@
1
- 'use client'
2
-
3
- import { usePathname } from 'next/navigation'
4
- import Script from 'next/script'
5
- import { useEffect, useState } from 'react'
6
- import * as fbq from './fpixel'
7
-
8
- const FacebookPixelHead = () => {
9
- return (
10
- <noscript>
11
- <img
12
- height='1'
13
- width='1'
14
- style={{ display: 'none' }}
15
- src={`https://www.facebook.com/tr?id=${fbq.FB_PIXEL_ID}&ev=PageView&noscript=1`}
16
- />
17
- </noscript>
18
- )
19
- }
20
-
21
- const FacebookPixel = () => {
22
- const [loaded, setLoaded] = useState(false)
23
- const pathname = usePathname()
24
-
25
- useEffect(() => {
26
- if (!loaded) return
27
-
28
- fbq.pageview()
29
- }, [pathname, loaded])
30
-
31
- return (
32
- <div>
33
- <Script
34
- id='fb-pixel'
35
- strategy='afterInteractive'
36
- onLoad={() => setLoaded(true)}
37
- dangerouslySetInnerHTML={{
38
- __html: `
39
- !function(f,b,e,v,n,t,s)
40
- {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
41
- n.callMethod.apply(n,arguments):n.queue.push(arguments)};
42
- if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
43
- n.queue=[];t=b.createElement(e);t.async=!0;
44
- t.src=v;s=b.getElementsByTagName(e)[0];
45
- s.parentNode.insertBefore(t,s)}(window, document,'script',
46
- 'https://connect.facebook.net/en_US/fbevents.js');
47
- fbq('init', ${fbq.FB_PIXEL_ID});
48
- `,
49
- }}
50
- />
51
- </div>
52
- )
53
- }
54
-
1
+ 'use client'
2
+
3
+ import { usePathname } from 'next/navigation'
4
+ import Script from 'next/script'
5
+ import { useEffect, useState } from 'react'
6
+ import * as fbq from './fpixel'
7
+
8
+ const FacebookPixelHead = () => {
9
+ return (
10
+ <noscript>
11
+ <img
12
+ height='1'
13
+ width='1'
14
+ style={{ display: 'none' }}
15
+ src={`https://www.facebook.com/tr?id=${fbq.FB_PIXEL_ID}&ev=PageView&noscript=1`}
16
+ />
17
+ </noscript>
18
+ )
19
+ }
20
+
21
+ const FacebookPixel = () => {
22
+ const [loaded, setLoaded] = useState(false)
23
+ const pathname = usePathname()
24
+
25
+ useEffect(() => {
26
+ if (!loaded) return
27
+
28
+ fbq.pageview()
29
+ }, [pathname, loaded])
30
+
31
+ return (
32
+ <div>
33
+ <Script
34
+ id='fb-pixel'
35
+ strategy='afterInteractive'
36
+ onLoad={() => setLoaded(true)}
37
+ dangerouslySetInnerHTML={{
38
+ __html: `
39
+ !function(f,b,e,v,n,t,s)
40
+ {if(f.fbq)return;n=f.fbq=function(){n.callMethod?
41
+ n.callMethod.apply(n,arguments):n.queue.push(arguments)};
42
+ if(!f._fbq)f._fbq=n;n.push=n;n.loaded=!0;n.version='2.0';
43
+ n.queue=[];t=b.createElement(e);t.async=!0;
44
+ t.src=v;s=b.getElementsByTagName(e)[0];
45
+ s.parentNode.insertBefore(t,s)}(window, document,'script',
46
+ 'https://connect.facebook.net/en_US/fbevents.js');
47
+ fbq('init', ${fbq.FB_PIXEL_ID});
48
+ `,
49
+ }}
50
+ />
51
+ </div>
52
+ )
53
+ }
54
+
55
55
  export {FacebookPixelHead, FacebookPixel}
@@ -1,12 +1,12 @@
1
- import nextFonts from './load-and-return-lux-next-fonts-on-import'
2
- import type NextFontDesc from './next-font-desc'
3
-
4
- // These will be injected for <body> in app router app that uses our RootLayout
5
-
6
- // First is assumed to be mapped to the default font and is injected into <body>
7
- // as a normal tw font family class.
8
- export default () => (
9
- nextFonts.map(
10
- (desc: NextFontDesc) => (desc.nextFont!.variable)
11
- ).join(' ') + ` font-${nextFonts[0].twName}`
12
- )
1
+ import nextFonts from './load-and-return-lux-next-fonts-on-import'
2
+ import type NextFontDesc from './next-font-desc'
3
+
4
+ // These will be injected for <body> in app router app that uses our RootLayout
5
+
6
+ // First is assumed to be mapped to the default font and is injected into <body>
7
+ // as a normal tw font family class.
8
+ export default () => (
9
+ nextFonts.map(
10
+ (desc: NextFontDesc) => (desc.nextFont!.variable)
11
+ ).join(' ') + ` font-${nextFonts[0].twName}`
12
+ )
@@ -1,68 +1,68 @@
1
- // import { Inter } from 'next/font/google'
2
- import localFont from 'next/font/local'
3
-
4
- import type { TwFontDesc } from '@hanzo/ui/tailwind' // TODO
5
- import type NextFontDesc from './next-font-desc'
6
-
7
- import twFonts from '../../tailwind/lux-tw-fonts'
8
-
9
- /*
10
- Creating NextFontDesc's and TwFontDesc's has to be seperated because they are needed
11
- at different times during the next compile / build. Otherwise a nasty
12
- race condition happens!
13
-
14
- Also, requires that "Font loaders must be called and assigned to a const in the module scope"
15
-
16
- */
17
-
18
- const drukWide = localFont({
19
- src: [
20
- {
21
- path: './local/Druk-Wide-Bold.ttf',
22
- weight: '700',
23
- style: 'normal'
24
- },
25
- {
26
- path: './local/Druk-Wide-Medium.ttf',
27
- weight: '500',
28
- style: 'normal',
29
- },
30
- ],
31
- display: 'swap',
32
- variable: '--font-druk-wide',
33
- })
34
-
35
- const inter = localFont({
36
- src: './local/InterVariable.ttf',
37
- display: 'swap',
38
- variable: '--font-inter',
39
- })
40
-
41
- export default [
42
- {
43
- font: inter,
44
- twName: 'sans'
45
- },
46
- {
47
- font: inter,
48
- twName: 'nav'
49
- },
50
- {
51
- font: drukWide,
52
- twName: 'heading'
53
- }
54
- ].map (
55
- (el) => {
56
- const twFont: TwFontDesc | undefined = twFonts.find((twf: TwFontDesc) => (el.twName === twf.twName))
57
- if (!twFont) {
58
- throw new Error('lux-next-fonts: Next font is not paired to a TW font!')
59
- }
60
-
61
- return ({
62
- ...twFont,
63
- nextFont: el.font,
64
- })
65
- }
66
- ) satisfies NextFontDesc[]
67
-
68
-
1
+ // import { Inter } from 'next/font/google'
2
+ import localFont from 'next/font/local'
3
+
4
+ import type { TwFontDesc } from '@hanzo/ui/tailwind' // TODO
5
+ import type NextFontDesc from './next-font-desc'
6
+
7
+ import twFonts from '../../tailwind/lux-tw-fonts'
8
+
9
+ /*
10
+ Creating NextFontDesc's and TwFontDesc's has to be seperated because they are needed
11
+ at different times during the next compile / build. Otherwise a nasty
12
+ race condition happens!
13
+
14
+ Also, requires that "Font loaders must be called and assigned to a const in the module scope"
15
+
16
+ */
17
+
18
+ const drukWide = localFont({
19
+ src: [
20
+ {
21
+ path: './local/Druk-Wide-Bold.ttf',
22
+ weight: '700',
23
+ style: 'normal'
24
+ },
25
+ {
26
+ path: './local/Druk-Wide-Medium.ttf',
27
+ weight: '500',
28
+ style: 'normal',
29
+ },
30
+ ],
31
+ display: 'swap',
32
+ variable: '--font-druk-wide',
33
+ })
34
+
35
+ const inter = localFont({
36
+ src: './local/InterVariable.ttf',
37
+ display: 'swap',
38
+ variable: '--font-inter',
39
+ })
40
+
41
+ export default [
42
+ {
43
+ font: inter,
44
+ twName: 'sans'
45
+ },
46
+ {
47
+ font: inter,
48
+ twName: 'nav'
49
+ },
50
+ {
51
+ font: drukWide,
52
+ twName: 'heading'
53
+ }
54
+ ].map (
55
+ (el) => {
56
+ const twFont: TwFontDesc | undefined = twFonts.find((twf: TwFontDesc) => (el.twName === twf.twName))
57
+ if (!twFont) {
58
+ throw new Error('lux-next-fonts: Next font is not paired to a TW font!')
59
+ }
60
+
61
+ return ({
62
+ ...twFont,
63
+ nextFont: el.font,
64
+ })
65
+ }
66
+ ) satisfies NextFontDesc[]
67
+
68
+
@@ -1,28 +1,28 @@
1
- import type { TwFontDesc } from '@hanzo/ui/tailwind'
2
-
3
- // from next repo
4
- type NextFont = {
5
- className: string
6
- style: { fontFamily: string; fontWeight?: number; fontStyle?: string }
7
- }
8
-
9
- // from next repo
10
- type NextFontWithVariable = NextFont & {
11
- variable: string
12
- }
13
-
14
-
15
- /*
16
- NextFontDesc and TwFontDesc have to be seperate because they are needed
17
- at different times during the next compile / build. Otherwise a nasty
18
- race condition happens! That's why they are in different files.
19
- */
20
-
21
- interface NextFontDesc extends TwFontDesc {
22
- nextFont: NextFontWithVariable
23
- }
24
-
25
- export {
26
- type NextFontDesc as default,
27
- type NextFontWithVariable,
1
+ import type { TwFontDesc } from '@hanzo/ui/tailwind'
2
+
3
+ // from next repo
4
+ type NextFont = {
5
+ className: string
6
+ style: { fontFamily: string; fontWeight?: number; fontStyle?: string }
7
+ }
8
+
9
+ // from next repo
10
+ type NextFontWithVariable = NextFont & {
11
+ variable: string
12
+ }
13
+
14
+
15
+ /*
16
+ NextFontDesc and TwFontDesc have to be seperate because they are needed
17
+ at different times during the next compile / build. Otherwise a nasty
18
+ race condition happens! That's why they are in different files.
19
+ */
20
+
21
+ interface NextFontDesc extends TwFontDesc {
22
+ nextFont: NextFontWithVariable
23
+ }
24
+
25
+ export {
26
+ type NextFontDesc as default,
27
+ type NextFontWithVariable,
28
28
  }
@@ -1,18 +1,18 @@
1
-
2
- import nextFonts from './load-and-return-lux-next-fonts-on-import'
3
- import type NextFontDesc from './next-font-desc'
4
-
5
- const PagesRouterFontVars: React.FC = () => {
6
-
7
- const fontVars = nextFonts.map((fd: NextFontDesc) => (
8
- `${fd.cssVar}: ${fd.nextFont.style.fontFamily};`
9
- )).join('\n')
10
-
11
- return <style jsx global>{`
12
- html {
13
- ${fontVars}
14
- }
15
- `}</style>
16
- }
17
-
18
- export default PagesRouterFontVars
1
+
2
+ import nextFonts from './load-and-return-lux-next-fonts-on-import'
3
+ import type NextFontDesc from './next-font-desc'
4
+
5
+ const PagesRouterFontVars: React.FC = () => {
6
+
7
+ const fontVars = nextFonts.map((fd: NextFontDesc) => (
8
+ `${fd.cssVar}: ${fd.nextFont.style.fontFamily};`
9
+ )).join('\n')
10
+
11
+ return <style jsx global>{`
12
+ html {
13
+ ${fontVars}
14
+ }
15
+ `}</style>
16
+ }
17
+
18
+ export default PagesRouterFontVars