@luxfi/core 5.1.3 → 5.1.4

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 (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
-