@luxfi/core 5.1.3 → 5.1.4

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,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,28 +1,10 @@
1
- {
2
- "plugins": [{ "name": "next"}],
3
- "include": [
4
- "**/*.ts",
5
- "**/*.tsx"
6
- ],
7
- "exclude": [
8
- "node_modules"
9
- ],
10
- "compilerOptions": {
11
- "target": "es2020",
12
- "lib": ["dom", "dom.iterable", "es2020"],
13
- "allowJs": true,
14
- "skipLibCheck": true,
15
- "strict": true,
16
- "forceConsistentCasingInFileNames": true,
17
- "incremental": false,
18
- "esModuleInterop": true,
19
- "module": "esnext",
20
- "moduleResolution": "bundler",
21
- "resolveJsonModule": true,
22
- "verbatimModuleSyntax": true,
23
- "isolatedModules": true,
24
- "jsx": "preserve",
25
- "declaration": false,
26
- "noEmit": true
27
- }
28
- }
1
+ {
2
+ "extends": "../tsconfig.lux.base.json",
3
+ "include": [
4
+ "**/*.ts",
5
+ "**/*.tsx",
6
+ ],
7
+ "exclude": [
8
+ "node_modules",
9
+ ],
10
+ }
@@ -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,10 +1,10 @@
1
- import type { ServiceOptions } from '@hanzo/commerce'
2
- import type { CategoryNode, Family } from '@hanzo/commerce/types'
3
-
4
- interface CommerceConfig {
5
- families: Family[]
6
- rootNode: CategoryNode
7
- options?: ServiceOptions
8
- }
9
-
10
- export { type CommerceConfig as default }
1
+ import type { ServiceOptions } from '@hanzo/commerce'
2
+ import type { CategoryNode, Family } from '@hanzo/commerce/types'
3
+
4
+ interface CommerceConfig {
5
+ families: Family[]
6
+ rootNode: CategoryNode
7
+ options?: ServiceOptions
8
+ }
9
+
10
+ export { type CommerceConfig 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,5 +1,5 @@
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'
5
- export type { default as CommerceConfig } from './commerce-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'
5
+ export type { default as CommerceConfig } from './commerce-config'
package/types/site-def.ts CHANGED
@@ -1,45 +1,45 @@
1
- import React from 'react'
2
-
3
- import type { LinkDef } from '@hanzo/ui/types'
4
-
5
- import type CommerceConfig from './commerce-config'
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
- auth?: boolean
19
- cart?: React.ReactNode
20
- }
21
-
22
- /**
23
- * Array of columns, each of which itself is an array of links
24
- * (or "title defs" where href='' and variant='linkFG')
25
- * Common use case: To render a site-specific first column:
26
- * {
27
- * footer[myColumn, ...commonColumnsFromUi]
28
- * }
29
- * see: @hanzo/ui/siteDef/footer (default export)
30
- * or @hanzo/ui/siteDef/footer/common
31
- */
32
- footer: LinkDef[][]
33
-
34
- /**
35
- * optional override of default 'above copyright' horizantal links
36
- default (undefined / absent): links in side-def/footer/legal are rendered
37
- [] renders nothing above the copyright
38
- */
39
- aboveCopyright?: LinkDef[]
40
-
41
- commerce?: CommerceConfig
42
- chatbot?: ChatbotConfig
43
- }
44
-
45
- export { type SiteDef as default }
1
+ import React from 'react'
2
+
3
+ import type { LinkDef } from '@hanzo/ui/types'
4
+
5
+ import type CommerceConfig from './commerce-config'
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
+ auth?: boolean
19
+ cart?: React.ReactNode
20
+ }
21
+
22
+ /**
23
+ * Array of columns, each of which itself is an array of links
24
+ * (or "title defs" where href='' and variant='linkFG')
25
+ * Common use case: To render a site-specific first column:
26
+ * {
27
+ * footer[myColumn, ...commonColumnsFromUi]
28
+ * }
29
+ * see: @hanzo/ui/siteDef/footer (default export)
30
+ * or @hanzo/ui/siteDef/footer/common
31
+ */
32
+ footer: LinkDef[][]
33
+
34
+ /**
35
+ * optional override of default 'above copyright' horizantal links
36
+ default (undefined / absent): links in side-def/footer/legal are rendered
37
+ [] renders nothing above the copyright
38
+ */
39
+ aboveCopyright?: LinkDef[]
40
+
41
+ commerce?: CommerceConfig
42
+ chatbot?: ChatbotConfig
43
+ }
44
+
45
+ export { type SiteDef as default }
@@ -1,35 +0,0 @@
1
- import type { LinkDef } from '@hanzo/ui/types'
2
-
3
- export default [
4
- {
5
- title: "AI",
6
- href: "https://lux.chat",
7
- newTab: false,
8
- },
9
- {
10
- title: "Credit",
11
- href: "https://lux.credit",
12
- newTab: false,
13
- },
14
- {
15
- title: "Exchange",
16
- href: "https://lux.exchange",
17
- newTab: false,
18
- },
19
- {
20
- title: "Finance",
21
- href: "https://lux.finance",
22
- newTab: false,
23
- },
24
- {
25
- title: "Market",
26
- href: "https://lux.market",
27
- newTab: false,
28
- },
29
- {
30
- title: "Network",
31
- href: "https://lux.network",
32
- newTab: false,
33
- },
34
- ] satisfies LinkDef[]
35
-