@luxfi/ui 8.1.0 → 8.2.0
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.
- package/dist/3d-button.d.ts +5 -5
- package/dist/3d-button.d.ts.map +1 -1
- package/dist/3d-grid.d.ts +1 -1
- package/dist/3d-grid.d.ts.map +1 -1
- package/dist/3d-marquee.d.ts +5 -5
- package/dist/3d-marquee.d.ts.map +1 -1
- package/dist/3d-model-viewer.d.ts.map +1 -1
- package/dist/3d-scene.d.ts +2 -2
- package/dist/3d-scene.d.ts.map +1 -1
- package/dist/3d-text.d.ts +5 -5
- package/dist/3d-text.d.ts.map +1 -1
- package/dist/accordion.d.ts.map +1 -1
- package/dist/advanced-chart.d.ts +1 -1
- package/dist/advanced-chart.d.ts.map +1 -1
- package/dist/ai-agents.d.ts.map +1 -1
- package/dist/ai-playground.d.ts +2 -1
- package/dist/ai-playground.d.ts.map +1 -1
- package/dist/ai-voice.d.ts +8 -29
- package/dist/ai-voice.d.ts.map +1 -1
- package/dist/android.d.ts.map +1 -1
- package/dist/animated-background.d.ts +7 -7
- package/dist/animated-background.d.ts.map +1 -1
- package/dist/animated-cursor.d.ts +2 -1
- package/dist/animated-cursor.d.ts.map +1 -1
- package/dist/animated-icon.d.ts +7 -7
- package/dist/animated-icon.d.ts.map +1 -1
- package/dist/animated-list.d.ts +7 -7
- package/dist/animated-list.d.ts.map +1 -1
- package/dist/animated-number.d.ts +2 -2
- package/dist/animated-number.d.ts.map +1 -1
- package/dist/animated-text.d.ts +1 -1
- package/dist/animated-text.d.ts.map +1 -1
- package/dist/apple-cards-carousel.d.ts +1 -1
- package/dist/apple-cards-carousel.d.ts.map +1 -1
- package/dist/auth.d.ts.map +1 -1
- package/dist/bank.d.ts +31 -31
- package/dist/bank.d.ts.map +1 -1
- package/dist/banner.d.ts.map +1 -1
- package/dist/calendar.d.ts +1 -1
- package/dist/calendar.d.ts.map +1 -1
- package/dist/chart.d.ts +4 -4
- package/dist/chart.d.ts.map +1 -1
- package/dist/chrome.d.ts.map +1 -1
- package/dist/code-block.d.ts.map +1 -1
- package/dist/code-compare.d.ts.map +1 -1
- package/dist/code-diff.d.ts.map +1 -1
- package/dist/code-explorer.d.ts.map +1 -1
- package/dist/code-preview.d.ts.map +1 -1
- package/dist/code-snippet.d.ts.map +1 -1
- package/dist/code-terminal.d.ts.map +1 -1
- package/dist/collapsible.d.ts +2 -2
- package/dist/collapsible.d.ts.map +1 -1
- package/dist/color-mode.d.ts +1 -1
- package/dist/color-mode.d.ts.map +1 -1
- package/dist/combobox.d.ts +2 -1
- package/dist/combobox.d.ts.map +1 -1
- package/dist/company-profile.d.ts +1 -1
- package/dist/company-profile.d.ts.map +1 -1
- package/dist/crypto-screener.d.ts +1 -1
- package/dist/crypto-screener.d.ts.map +1 -1
- package/dist/dialog.d.ts +2 -2
- package/dist/direction.d.ts +1 -1
- package/dist/direction.d.ts.map +1 -1
- package/dist/drawer.d.ts +6 -6
- package/dist/drawer.d.ts.map +1 -1
- package/dist/empty.d.ts +6 -6
- package/dist/empty.d.ts.map +1 -1
- package/dist/financials.d.ts +1 -1
- package/dist/financials.d.ts.map +1 -1
- package/dist/forex-screener.d.ts +1 -1
- package/dist/forex-screener.d.ts.map +1 -1
- package/dist/grid-pattern.d.ts.map +1 -1
- package/dist/hooks/use-mobile.cjs +22 -0
- package/dist/hooks/use-mobile.d.ts.map +1 -1
- package/dist/hooks/use-mobile.js +17 -0
- package/dist/iam.d.ts.map +1 -1
- package/dist/identity.d.ts.map +1 -1
- package/dist/ink.d.ts.map +1 -1
- package/dist/input-otp.d.ts +6 -6
- package/dist/input-otp.d.ts.map +1 -1
- package/dist/input.d.ts +7 -7
- package/dist/input.d.ts.map +1 -1
- package/dist/item.d.ts +10 -10
- package/dist/item.d.ts.map +1 -1
- package/dist/kanban.d.ts +2 -1
- package/dist/kanban.d.ts.map +1 -1
- package/dist/kbd.d.ts +2 -2
- package/dist/kbd.d.ts.map +1 -1
- package/dist/link.d.ts +1 -1
- package/dist/link.d.ts.map +1 -1
- package/dist/lux.config.d.ts +88 -88
- package/dist/lux.config.d.ts.map +1 -1
- package/dist/market-overview.d.ts +1 -1
- package/dist/market-overview.d.ts.map +1 -1
- package/dist/menu.d.ts.map +1 -1
- package/dist/menubar.d.ts +3 -3
- package/dist/menubar.d.ts.map +1 -1
- package/dist/music-player.d.ts +2 -1
- package/dist/music-player.d.ts.map +1 -1
- package/dist/news-timeline.d.ts +1 -1
- package/dist/news-timeline.d.ts.map +1 -1
- package/dist/order-entry.d.ts +1 -1
- package/dist/order-entry.d.ts.map +1 -1
- package/dist/orders-history.d.ts +1 -1
- package/dist/orders-history.d.ts.map +1 -1
- package/dist/pagination.d.ts +20 -20
- package/dist/pagination.d.ts.map +1 -1
- package/dist/particles-background.d.ts +2 -1
- package/dist/particles-background.d.ts.map +1 -1
- package/dist/pill.d.ts.map +1 -1
- package/dist/popover.d.ts.map +1 -1
- package/dist/positions-list.d.ts +1 -1
- package/dist/positions-list.d.ts.map +1 -1
- package/dist/progress-circle.d.ts.map +1 -1
- package/dist/progress.d.ts.map +1 -1
- package/dist/provider.d.ts.map +1 -1
- package/dist/pulse-animation.d.ts +10 -10
- package/dist/pulse-animation.d.ts.map +1 -1
- package/dist/radio.d.ts.map +1 -1
- package/dist/resizable.d.ts +3 -3
- package/dist/resizable.d.ts.map +1 -1
- package/dist/reveal-animation.d.ts +9 -9
- package/dist/reveal-animation.d.ts.map +1 -1
- package/dist/sidebar.d.ts +23 -23
- package/dist/sidebar.d.ts.map +1 -1
- package/dist/site/commerce/ui/conf.cjs +15 -0
- package/dist/site/commerce/ui/conf.d.ts +12 -0
- package/dist/site/commerce/ui/conf.d.ts.map +1 -0
- package/dist/site/commerce/ui/conf.js +13 -0
- package/dist/site/commerce/ui/context.cjs +280 -0
- package/dist/site/commerce/ui/context.d.ts +7 -0
- package/dist/site/commerce/ui/context.d.ts.map +1 -0
- package/dist/site/commerce/ui/context.js +276 -0
- package/dist/site/commerce/ui/store.cjs +205 -0
- package/dist/site/commerce/ui/store.d.ts +81 -0
- package/dist/site/commerce/ui/store.d.ts.map +1 -0
- package/dist/site/commerce/ui/store.js +203 -0
- package/dist/site/components/access-code-input.cjs +52 -0
- package/dist/site/components/access-code-input.d.ts +8 -0
- package/dist/site/components/access-code-input.d.ts.map +1 -0
- package/dist/site/components/access-code-input.js +50 -0
- package/dist/site/components/analytics.cjs +52 -0
- package/dist/site/components/analytics.d.ts +3 -0
- package/dist/site/components/analytics.d.ts.map +1 -0
- package/dist/site/components/analytics.js +46 -0
- package/dist/site/components/auth/callback.cjs +31 -0
- package/dist/site/components/auth/callback.d.ts +9 -0
- package/dist/site/components/auth/callback.d.ts.map +1 -0
- package/dist/site/components/auth/callback.js +29 -0
- package/dist/site/components/auth/login-panel.cjs +131 -0
- package/dist/site/components/auth/login-panel.css +4 -0
- package/dist/site/components/auth/login-panel.d.ts +12 -0
- package/dist/site/components/auth/login-panel.d.ts.map +1 -0
- package/dist/site/components/auth/login-panel.js +124 -0
- package/dist/site/components/auth/login.cjs +35 -0
- package/dist/site/components/auth/login.d.ts +13 -0
- package/dist/site/components/auth/login.d.ts.map +1 -0
- package/dist/site/components/auth/login.js +33 -0
- package/dist/site/components/auth/provider.cjs +20 -0
- package/dist/site/components/auth/provider.d.ts +6 -0
- package/dist/site/components/auth/provider.d.ts.map +1 -0
- package/dist/site/components/auth/provider.js +18 -0
- package/dist/site/components/auth/resume.cjs +15 -0
- package/dist/site/components/auth/resume.d.ts +4 -0
- package/dist/site/components/auth/resume.d.ts.map +1 -0
- package/dist/site/components/auth/resume.js +12 -0
- package/dist/site/components/auth/widget.cjs +63 -0
- package/dist/site/components/auth/widget.d.ts +13 -0
- package/dist/site/components/auth/widget.d.ts.map +1 -0
- package/dist/site/components/auth/widget.js +61 -0
- package/dist/site/components/back-button.cjs +36 -0
- package/dist/site/components/back-button.d.ts +17 -0
- package/dist/site/components/back-button.d.ts.map +1 -0
- package/dist/site/components/back-button.js +34 -0
- package/dist/site/components/chat-widget.cjs +67 -0
- package/dist/site/components/chat-widget.d.ts +12 -0
- package/dist/site/components/chat-widget.d.ts.map +1 -0
- package/dist/site/components/chat-widget.js +61 -0
- package/dist/site/components/commerce/bag-button.cjs +79 -0
- package/dist/site/components/commerce/bag-button.css +4 -0
- package/dist/site/components/commerce/bag-button.d.ts +16 -0
- package/dist/site/components/commerce/bag-button.d.ts.map +1 -0
- package/dist/site/components/commerce/bag-button.js +77 -0
- package/dist/site/components/commerce/buy-button.cjs +31 -0
- package/dist/site/components/commerce/buy-button.d.ts +11 -0
- package/dist/site/components/commerce/buy-button.d.ts.map +1 -0
- package/dist/site/components/commerce/buy-button.js +29 -0
- package/dist/site/components/commerce/checkout-button.cjs +116 -0
- package/dist/site/components/commerce/checkout-button.css +4 -0
- package/dist/site/components/commerce/checkout-button.d.ts +13 -0
- package/dist/site/components/commerce/checkout-button.d.ts.map +1 -0
- package/dist/site/components/commerce/checkout-button.js +114 -0
- package/dist/site/components/commerce/checkout-panel/cart-accordian.cjs +50 -0
- package/dist/site/components/commerce/checkout-panel/cart-accordian.d.ts +11 -0
- package/dist/site/components/commerce/checkout-panel/cart-accordian.d.ts.map +1 -0
- package/dist/site/components/commerce/checkout-panel/cart-accordian.js +48 -0
- package/dist/site/components/commerce/checkout-panel/checkout-panel-props.cjs +2 -0
- package/dist/site/components/commerce/checkout-panel/checkout-panel-props.d.ts +8 -0
- package/dist/site/components/commerce/checkout-panel/checkout-panel-props.d.ts.map +1 -0
- package/dist/site/components/commerce/checkout-panel/checkout-panel-props.js +1 -0
- package/dist/site/components/commerce/checkout-panel/desktop-bag-carousel.cjs +30 -0
- package/dist/site/components/commerce/checkout-panel/desktop-bag-carousel.d.ts +10 -0
- package/dist/site/components/commerce/checkout-panel/desktop-bag-carousel.d.ts.map +1 -0
- package/dist/site/components/commerce/checkout-panel/desktop-bag-carousel.js +28 -0
- package/dist/site/components/commerce/checkout-panel/desktop-cp.cjs +235 -0
- package/dist/site/components/commerce/checkout-panel/desktop-cp.css +132 -0
- package/dist/site/components/commerce/checkout-panel/desktop-cp.d.ts +5 -0
- package/dist/site/components/commerce/checkout-panel/desktop-cp.d.ts.map +1 -0
- package/dist/site/components/commerce/checkout-panel/desktop-cp.js +229 -0
- package/dist/site/components/commerce/checkout-panel/index.cjs +502 -0
- package/dist/site/components/commerce/checkout-panel/index.css +132 -0
- package/dist/site/components/commerce/checkout-panel/index.d.ts +6 -0
- package/dist/site/components/commerce/checkout-panel/index.d.ts.map +1 -0
- package/dist/site/components/commerce/checkout-panel/index.js +496 -0
- package/dist/site/components/commerce/checkout-panel/mobile-cp.cjs +295 -0
- package/dist/site/components/commerce/checkout-panel/mobile-cp.css +132 -0
- package/dist/site/components/commerce/checkout-panel/mobile-cp.d.ts +5 -0
- package/dist/site/components/commerce/checkout-panel/mobile-cp.d.ts.map +1 -0
- package/dist/site/components/commerce/checkout-panel/mobile-cp.js +289 -0
- package/dist/site/components/commerce/checkout-panel/policy-links.cjs +25 -0
- package/dist/site/components/commerce/checkout-panel/policy-links.d.ts +6 -0
- package/dist/site/components/commerce/checkout-panel/policy-links.d.ts.map +1 -0
- package/dist/site/components/commerce/checkout-panel/policy-links.js +19 -0
- package/dist/site/components/commerce/checkout-panel/steps-indicator.cjs +27 -0
- package/dist/site/components/commerce/checkout-panel/steps-indicator.d.ts +7 -0
- package/dist/site/components/commerce/checkout-panel/steps-indicator.d.ts.map +1 -0
- package/dist/site/components/commerce/checkout-panel/steps-indicator.js +25 -0
- package/dist/site/components/commerce/checkout-panel/thank-you.cjs +25 -0
- package/dist/site/components/commerce/checkout-panel/thank-you.d.ts +5 -0
- package/dist/site/components/commerce/checkout-panel/thank-you.d.ts.map +1 -0
- package/dist/site/components/commerce/checkout-panel/thank-you.js +19 -0
- package/dist/site/components/commerce/desktop-bag-popup.cjs +72 -0
- package/dist/site/components/commerce/desktop-bag-popup.css +4 -0
- package/dist/site/components/commerce/desktop-bag-popup.d.ts +8 -0
- package/dist/site/components/commerce/desktop-bag-popup.d.ts.map +1 -0
- package/dist/site/components/commerce/desktop-bag-popup.js +70 -0
- package/dist/site/components/commerce/drawer/index.cjs +361 -0
- package/dist/site/components/commerce/drawer/index.css +132 -0
- package/dist/site/components/commerce/drawer/index.d.ts +4 -0
- package/dist/site/components/commerce/drawer/index.d.ts.map +1 -0
- package/dist/site/components/commerce/drawer/index.js +359 -0
- package/dist/site/components/commerce/drawer/micro.cjs +230 -0
- package/dist/site/components/commerce/drawer/micro.css +4 -0
- package/dist/site/components/commerce/drawer/micro.d.ts +8 -0
- package/dist/site/components/commerce/drawer/micro.d.ts.map +1 -0
- package/dist/site/components/commerce/drawer/micro.js +228 -0
- package/dist/site/components/commerce/drawer/shell.cjs +78 -0
- package/dist/site/components/commerce/drawer/shell.css +127 -0
- package/dist/site/components/commerce/drawer/shell.d.ts +9 -0
- package/dist/site/components/commerce/drawer/shell.d.ts.map +1 -0
- package/dist/site/components/commerce/drawer/shell.js +76 -0
- package/dist/site/components/contact-dialog/contact-form.cjs +70 -0
- package/dist/site/components/contact-dialog/contact-form.d.ts +13 -0
- package/dist/site/components/contact-dialog/contact-form.d.ts.map +1 -0
- package/dist/site/components/contact-dialog/contact-form.js +64 -0
- package/dist/site/components/contact-dialog/disclaimer.cjs +15 -0
- package/dist/site/components/contact-dialog/disclaimer.d.ts +4 -0
- package/dist/site/components/contact-dialog/disclaimer.d.ts.map +1 -0
- package/dist/site/components/contact-dialog/disclaimer.js +13 -0
- package/dist/site/components/contact-dialog/index.cjs +113 -0
- package/dist/site/components/contact-dialog/index.d.ts +5 -0
- package/dist/site/components/contact-dialog/index.d.ts.map +1 -0
- package/dist/site/components/contact-dialog/index.js +107 -0
- package/dist/site/components/copyright.cjs +24 -0
- package/dist/site/components/copyright.d.ts +6 -0
- package/dist/site/components/copyright.d.ts.map +1 -0
- package/dist/site/components/copyright.js +22 -0
- package/dist/site/components/drawer-margin.cjs +35 -0
- package/dist/site/components/drawer-margin.d.ts +6 -0
- package/dist/site/components/drawer-margin.d.ts.map +1 -0
- package/dist/site/components/drawer-margin.js +33 -0
- package/dist/site/components/footer-nav.cjs +22 -0
- package/dist/site/components/footer-nav.d.ts +9 -0
- package/dist/site/components/footer-nav.d.ts.map +1 -0
- package/dist/site/components/footer-nav.js +20 -0
- package/dist/site/components/footer.cjs +132 -0
- package/dist/site/components/footer.d.ts +9 -0
- package/dist/site/components/footer.d.ts.map +1 -0
- package/dist/site/components/footer.js +126 -0
- package/dist/site/components/header/desktop-nav-menu.cjs +170 -0
- package/dist/site/components/header/desktop-nav-menu.d.ts +9 -0
- package/dist/site/components/header/desktop-nav-menu.d.ts.map +1 -0
- package/dist/site/components/header/desktop-nav-menu.js +145 -0
- package/dist/site/components/header/desktop.cjs +405 -0
- package/dist/site/components/header/desktop.css +4 -0
- package/dist/site/components/header/desktop.d.ts +13 -0
- package/dist/site/components/header/desktop.d.ts.map +1 -0
- package/dist/site/components/header/desktop.js +381 -0
- package/dist/site/components/header/index.cjs +717 -0
- package/dist/site/components/header/index.css +132 -0
- package/dist/site/components/header/index.d.ts +11 -0
- package/dist/site/components/header/index.d.ts.map +1 -0
- package/dist/site/components/header/index.js +693 -0
- package/dist/site/components/header/mobile-bag-drawer.cjs +114 -0
- package/dist/site/components/header/mobile-bag-drawer.css +4 -0
- package/dist/site/components/header/mobile-bag-drawer.d.ts +9 -0
- package/dist/site/components/header/mobile-bag-drawer.d.ts.map +1 -0
- package/dist/site/components/header/mobile-bag-drawer.js +112 -0
- package/dist/site/components/header/mobile-menu-toggle-button.cjs +30 -0
- package/dist/site/components/header/mobile-menu-toggle-button.d.ts +8 -0
- package/dist/site/components/header/mobile-menu-toggle-button.d.ts.map +1 -0
- package/dist/site/components/header/mobile-menu-toggle-button.js +28 -0
- package/dist/site/components/header/mobile-nav-menu-ai.cjs +66 -0
- package/dist/site/components/header/mobile-nav-menu-ai.css +132 -0
- package/dist/site/components/header/mobile-nav-menu-ai.d.ts +7 -0
- package/dist/site/components/header/mobile-nav-menu-ai.d.ts.map +1 -0
- package/dist/site/components/header/mobile-nav-menu-ai.js +60 -0
- package/dist/site/components/header/mobile-nav-menu-item.cjs +98 -0
- package/dist/site/components/header/mobile-nav-menu-item.css +132 -0
- package/dist/site/components/header/mobile-nav-menu-item.d.ts +8 -0
- package/dist/site/components/header/mobile-nav-menu-item.d.ts.map +1 -0
- package/dist/site/components/header/mobile-nav-menu-item.js +92 -0
- package/dist/site/components/header/mobile-nav-menu.cjs +175 -0
- package/dist/site/components/header/mobile-nav-menu.css +132 -0
- package/dist/site/components/header/mobile-nav-menu.d.ts +14 -0
- package/dist/site/components/header/mobile-nav-menu.d.ts.map +1 -0
- package/dist/site/components/header/mobile-nav-menu.js +169 -0
- package/dist/site/components/header/mobile.cjs +447 -0
- package/dist/site/components/header/mobile.css +132 -0
- package/dist/site/components/header/mobile.d.ts +12 -0
- package/dist/site/components/header/mobile.d.ts.map +1 -0
- package/dist/site/components/header/mobile.js +441 -0
- package/dist/site/components/header/theme-toggle.cjs +28 -0
- package/dist/site/components/header/theme-toggle.d.ts +4 -0
- package/dist/site/components/header/theme-toggle.d.ts.map +1 -0
- package/dist/site/components/header/theme-toggle.js +26 -0
- package/dist/site/components/icons/avatar.cjs +12 -0
- package/dist/site/components/icons/avatar.d.ts +5 -0
- package/dist/site/components/icons/avatar.d.ts.map +1 -0
- package/dist/site/components/icons/avatar.js +10 -0
- package/dist/site/components/icons/bag-icon.cjs +9 -0
- package/dist/site/components/icons/bag-icon.d.ts +5 -0
- package/dist/site/components/icons/bag-icon.d.ts.map +1 -0
- package/dist/site/components/icons/bag-icon.js +7 -0
- package/dist/site/components/icons/index.cjs +39 -0
- package/dist/site/components/icons/index.css +4 -0
- package/dist/site/components/icons/index.d.ts +6 -0
- package/dist/site/components/icons/index.d.ts.map +1 -0
- package/dist/site/components/icons/index.js +33 -0
- package/dist/site/components/icons/left-arrow.cjs +9 -0
- package/dist/site/components/icons/left-arrow.d.ts +5 -0
- package/dist/site/components/icons/left-arrow.d.ts.map +1 -0
- package/dist/site/components/icons/left-arrow.js +7 -0
- package/dist/site/components/icons/right-arrow.cjs +9 -0
- package/dist/site/components/icons/right-arrow.d.ts +5 -0
- package/dist/site/components/icons/right-arrow.d.ts.map +1 -0
- package/dist/site/components/icons/right-arrow.js +7 -0
- package/dist/site/components/icons/social-icon.cjs +24 -0
- package/dist/site/components/icons/social-icon.css +4 -0
- package/dist/site/components/icons/social-icon.d.ts +10 -0
- package/dist/site/components/icons/social-icon.d.ts.map +1 -0
- package/dist/site/components/icons/social-icon.js +22 -0
- package/dist/site/components/index.cjs +2004 -0
- package/dist/site/components/index.css +132 -0
- package/dist/site/components/index.d.ts +24 -0
- package/dist/site/components/index.d.ts.map +1 -0
- package/dist/site/components/index.js +1952 -0
- package/dist/site/components/logo.cjs +37 -0
- package/dist/site/components/logo.d.ts +23 -0
- package/dist/site/components/logo.d.ts.map +1 -0
- package/dist/site/components/logo.js +31 -0
- package/dist/site/components/main.cjs +22 -0
- package/dist/site/components/main.d.ts +9 -0
- package/dist/site/components/main.d.ts.map +1 -0
- package/dist/site/components/main.js +20 -0
- package/dist/site/components/mini-chart/index.cjs +94 -0
- package/dist/site/components/mini-chart/index.d.ts +3 -0
- package/dist/site/components/mini-chart/index.d.ts.map +1 -0
- package/dist/site/components/mini-chart/index.js +92 -0
- package/dist/site/components/mini-chart/mini-chart-props.cjs +2 -0
- package/dist/site/components/mini-chart/mini-chart-props.d.ts +33 -0
- package/dist/site/components/mini-chart/mini-chart-props.d.ts.map +1 -0
- package/dist/site/components/mini-chart/mini-chart-props.js +1 -0
- package/dist/site/components/mini-chart/mini-chart.cjs +80 -0
- package/dist/site/components/mini-chart/mini-chart.d.ts +5 -0
- package/dist/site/components/mini-chart/mini-chart.d.ts.map +1 -0
- package/dist/site/components/mini-chart/mini-chart.js +78 -0
- package/dist/site/components/mini-chart/wrapper.cjs +94 -0
- package/dist/site/components/mini-chart/wrapper.d.ts +7 -0
- package/dist/site/components/mini-chart/wrapper.d.ts.map +1 -0
- package/dist/site/components/mini-chart/wrapper.js +92 -0
- package/dist/site/components/not-found/index.cjs +844 -0
- package/dist/site/components/not-found/index.css +132 -0
- package/dist/site/components/not-found/index.d.ts +8 -0
- package/dist/site/components/not-found/index.d.ts.map +1 -0
- package/dist/site/components/not-found/index.js +820 -0
- package/dist/site/components/security/index.cjs +857 -0
- package/dist/site/components/security/index.css +132 -0
- package/dist/site/components/security/index.d.ts +9 -0
- package/dist/site/components/security/index.d.ts.map +1 -0
- package/dist/site/components/security/index.js +833 -0
- package/dist/site/components/tooltip.cjs +28 -0
- package/dist/site/components/tooltip.d.ts +11 -0
- package/dist/site/components/tooltip.d.ts.map +1 -0
- package/dist/site/components/tooltip.js +26 -0
- package/dist/site/next/analytics/fpixel.cjs +14 -0
- package/dist/site/next/analytics/fpixel.d.ts +9 -0
- package/dist/site/next/analytics/fpixel.d.ts.map +1 -0
- package/dist/site/next/analytics/fpixel.js +10 -0
- package/dist/site/next/analytics/google-analytics.cjs +8 -0
- package/dist/site/next/analytics/google-analytics.d.ts +8 -0
- package/dist/site/next/analytics/google-analytics.d.ts.map +1 -0
- package/dist/site/next/analytics/google-analytics.js +6 -0
- package/dist/site/next/analytics/index.cjs +57 -0
- package/dist/site/next/analytics/index.d.ts +4 -0
- package/dist/site/next/analytics/index.d.ts.map +1 -0
- package/dist/site/next/analytics/index.js +49 -0
- package/dist/site/next/analytics/pixel-analytics.cjs +59 -0
- package/dist/site/next/analytics/pixel-analytics.d.ts +5 -0
- package/dist/site/next/analytics/pixel-analytics.d.ts.map +1 -0
- package/dist/site/next/analytics/pixel-analytics.js +52 -0
- package/dist/site/next/font/font-desc.cjs +2 -0
- package/dist/site/next/font/font-desc.d.ts +19 -0
- package/dist/site/next/font/font-desc.d.ts.map +1 -0
- package/dist/site/next/font/font-desc.js +1 -0
- package/dist/site/next/font/fonts.cjs +42 -0
- package/dist/site/next/font/fonts.d.ts +4 -0
- package/dist/site/next/font/fonts.d.ts.map +1 -0
- package/dist/site/next/font/fonts.js +40 -0
- package/dist/site/next/font/get-app-router-font-classes.cjs +96 -0
- package/dist/site/next/font/get-app-router-font-classes.d.ts +15 -0
- package/dist/site/next/font/get-app-router-font-classes.d.ts.map +1 -0
- package/dist/site/next/font/get-app-router-font-classes.js +90 -0
- package/dist/site/next/font/load-and-return-lux-next-fonts-on-import.cjs +90 -0
- package/dist/site/next/font/load-and-return-lux-next-fonts-on-import.d.ts +8 -0
- package/dist/site/next/font/load-and-return-lux-next-fonts-on-import.d.ts.map +1 -0
- package/dist/site/next/font/load-and-return-lux-next-fonts-on-import.js +84 -0
- package/dist/site/next/font/next-font-desc.cjs +2 -0
- package/dist/site/next/font/next-font-desc.d.ts +20 -0
- package/dist/site/next/font/next-font-desc.d.ts.map +1 -0
- package/dist/site/next/font/next-font-desc.js +1 -0
- package/dist/site/next/font/pages-router-font-vars.cjs +100 -0
- package/dist/site/next/font/pages-router-font-vars.d.ts +3 -0
- package/dist/site/next/font/pages-router-font-vars.d.ts.map +1 -0
- package/dist/site/next/font/pages-router-font-vars.js +94 -0
- package/dist/site/next/head-metadata/index.cjs +139 -0
- package/dist/site/next/head-metadata/index.d.ts +12 -0
- package/dist/site/next/head-metadata/index.d.ts.map +1 -0
- package/dist/site/next/head-metadata/index.js +129 -0
- package/dist/site/next/head-metadata/next-metadata.cjs +2 -0
- package/dist/site/next/head-metadata/next-metadata.d.ts +48 -0
- package/dist/site/next/head-metadata/next-metadata.d.ts.map +1 -0
- package/dist/site/next/head-metadata/next-metadata.js +1 -0
- package/dist/site/next/index.cjs +147 -0
- package/dist/site/next/index.d.ts +3 -0
- package/dist/site/next/index.d.ts.map +1 -0
- package/dist/site/next/index.js +140 -0
- package/dist/site/next/middleware/determine-device-mw.cjs +17 -0
- package/dist/site/next/middleware/determine-device-mw.d.ts +4 -0
- package/dist/site/next/middleware/determine-device-mw.d.ts.map +1 -0
- package/dist/site/next/middleware/determine-device-mw.js +15 -0
- package/dist/site/root-layout/index.cjs +1574 -0
- package/dist/site/root-layout/index.css +374 -0
- package/dist/site/root-layout/index.d.ts +20 -0
- package/dist/site/root-layout/index.d.ts.map +1 -0
- package/dist/site/root-layout/index.js +1547 -0
- package/dist/site/site-def/footer/community.cjs +77 -0
- package/dist/site/site-def/footer/community.css +4 -0
- package/dist/site/site-def/footer/community.d.ts +13 -0
- package/dist/site/site-def/footer/community.d.ts.map +1 -0
- package/dist/site/site-def/footer/community.js +75 -0
- package/dist/site/site-def/footer/company.cjs +40 -0
- package/dist/site/site-def/footer/company.d.ts +23 -0
- package/dist/site/site-def/footer/company.d.ts.map +1 -0
- package/dist/site/site-def/footer/company.js +38 -0
- package/dist/site/site-def/footer/ecosystem.cjs +40 -0
- package/dist/site/site-def/footer/ecosystem.d.ts +11 -0
- package/dist/site/site-def/footer/ecosystem.d.ts.map +1 -0
- package/dist/site/site-def/footer/ecosystem.js +38 -0
- package/dist/site/site-def/footer/index.cjs +228 -0
- package/dist/site/site-def/footer/index.css +4 -0
- package/dist/site/site-def/footer/index.d.ts +16 -0
- package/dist/site/site-def/footer/index.d.ts.map +1 -0
- package/dist/site/site-def/footer/index.js +220 -0
- package/dist/site/site-def/footer/legal.cjs +24 -0
- package/dist/site/site-def/footer/legal.d.ts +5 -0
- package/dist/site/site-def/footer/legal.d.ts.map +1 -0
- package/dist/site/site-def/footer/legal.js +21 -0
- package/dist/site/site-def/footer/network.cjs +48 -0
- package/dist/site/site-def/footer/network.d.ts +11 -0
- package/dist/site/site-def/footer/network.d.ts.map +1 -0
- package/dist/site/site-def/footer/network.js +46 -0
- package/dist/site/site-def/index.cjs +627 -0
- package/dist/site/site-def/index.css +4 -0
- package/dist/site/site-def/index.d.ts +5 -0
- package/dist/site/site-def/index.d.ts.map +1 -0
- package/dist/site/site-def/index.js +624 -0
- package/dist/site/site-def/main-nav.cjs +393 -0
- package/dist/site/site-def/main-nav.d.ts +46 -0
- package/dist/site/site-def/main-nav.d.ts.map +1 -0
- package/dist/site/site-def/main-nav.js +391 -0
- package/dist/site/types/chatbot-config.cjs +2 -0
- package/dist/site/types/chatbot-config.d.ts +6 -0
- package/dist/site/types/chatbot-config.d.ts.map +1 -0
- package/dist/site/types/chatbot-config.js +1 -0
- package/dist/site/types/chatbot-suggested-question.cjs +2 -0
- package/dist/site/types/chatbot-suggested-question.d.ts +7 -0
- package/dist/site/types/chatbot-suggested-question.d.ts.map +1 -0
- package/dist/site/types/chatbot-suggested-question.js +1 -0
- package/dist/site/types/contact-info.cjs +2 -0
- package/dist/site/types/contact-info.d.ts +7 -0
- package/dist/site/types/contact-info.d.ts.map +1 -0
- package/dist/site/types/contact-info.js +1 -0
- package/dist/site/types/index.cjs +2 -0
- package/dist/site/types/index.d.ts +5 -0
- package/dist/site/types/index.d.ts.map +1 -0
- package/dist/site/types/index.js +1 -0
- package/dist/site/types/site-def.cjs +2 -0
- package/dist/site/types/site-def.d.ts +41 -0
- package/dist/site/types/site-def.d.ts.map +1 -0
- package/dist/site/types/site-def.js +1 -0
- package/dist/site/util/index.cjs +11 -0
- package/dist/site/util/index.d.ts +2 -0
- package/dist/site/util/index.d.ts.map +1 -0
- package/dist/site/util/index.js +9 -0
- package/dist/skeleton.d.ts +1 -1
- package/dist/skeleton.d.ts.map +1 -1
- package/dist/status.d.ts.map +1 -1
- package/dist/stock-screener.d.ts +1 -1
- package/dist/stock-screener.d.ts.map +1 -1
- package/dist/symbol-info.d.ts +1 -1
- package/dist/symbol-info.d.ts.map +1 -1
- package/dist/table.d.ts +2 -2
- package/dist/table.d.ts.map +1 -1
- package/dist/tabs.d.ts.map +1 -1
- package/dist/technical-analysis.d.ts +1 -1
- package/dist/technical-analysis.d.ts.map +1 -1
- package/dist/terminal.d.ts +1 -1
- package/dist/terminal.d.ts.map +1 -1
- package/dist/ticker-tape.d.ts +1 -1
- package/dist/ticker-tape.d.ts.map +1 -1
- package/dist/toaster.d.ts +6 -3
- package/dist/toaster.d.ts.map +1 -1
- package/dist/toggle.d.ts +1 -1
- package/dist/toggle.d.ts.map +1 -1
- package/dist/trading-panel.d.ts +1 -1
- package/dist/trading-panel.d.ts.map +1 -1
- package/dist/utils/cn.cjs +10 -0
- package/dist/utils/cn.js +1 -0
- package/dist/white-label.d.ts +5 -5
- package/dist/white-label.d.ts.map +1 -1
- package/dist/youtube-pip-player.d.ts.map +1 -1
- package/package.json +78 -25
- package/src/ai-voice.tsx +10 -34
- package/src/site/commerce/ui/conf.ts +13 -0
- package/src/site/commerce/ui/context.tsx +120 -0
- package/src/site/commerce/ui/store.ts +295 -0
- package/src/site/components/access-code-input.tsx +70 -0
- package/src/site/components/analytics.tsx +14 -0
- package/src/site/components/auth/callback.tsx +40 -0
- package/src/site/components/auth/login-panel.tsx +83 -0
- package/src/site/components/auth/login.tsx +47 -0
- package/src/site/components/auth/provider.tsx +34 -0
- package/src/site/components/auth/resume.ts +16 -0
- package/src/site/components/auth/widget.tsx +80 -0
- package/src/site/components/back-button.tsx +46 -0
- package/src/site/components/chat-widget.tsx +83 -0
- package/src/site/components/commerce/bag-button.tsx +99 -0
- package/src/site/components/commerce/buy-button.tsx +33 -0
- package/src/site/components/commerce/checkout-button.tsx +131 -0
- package/src/site/components/commerce/checkout-panel/cart-accordian.tsx +65 -0
- package/src/site/components/commerce/checkout-panel/checkout-panel-props.ts +10 -0
- package/src/site/components/commerce/checkout-panel/desktop-bag-carousel.tsx +36 -0
- package/src/site/components/commerce/checkout-panel/desktop-cp.tsx +82 -0
- package/src/site/components/commerce/checkout-panel/index.tsx +126 -0
- package/src/site/components/commerce/checkout-panel/mobile-cp.tsx +67 -0
- package/src/site/components/commerce/checkout-panel/policy-links.tsx +24 -0
- package/src/site/components/commerce/checkout-panel/steps-indicator.tsx +39 -0
- package/src/site/components/commerce/checkout-panel/thank-you.tsx +18 -0
- package/src/site/components/commerce/desktop-bag-popup.tsx +78 -0
- package/src/site/components/commerce/drawer/index.tsx +88 -0
- package/src/site/components/commerce/drawer/micro.tsx +145 -0
- package/src/site/components/commerce/drawer/shell.tsx +83 -0
- package/src/site/components/contact-dialog/contact-form.tsx +109 -0
- package/src/site/components/contact-dialog/disclaimer.tsx +13 -0
- package/src/site/components/contact-dialog/index.tsx +64 -0
- package/src/site/components/copyright.tsx +22 -0
- package/src/site/components/drawer-margin.tsx +28 -0
- package/src/site/components/footer-nav.tsx +31 -0
- package/src/site/components/footer.tsx +72 -0
- package/src/site/components/header/desktop-nav-menu.tsx +202 -0
- package/src/site/components/header/desktop.tsx +65 -0
- package/src/site/components/header/index.tsx +50 -0
- package/src/site/components/header/mobile-bag-drawer.tsx +51 -0
- package/src/site/components/header/mobile-menu-toggle-button.tsx +34 -0
- package/src/site/components/header/mobile-nav-menu-ai.tsx +52 -0
- package/src/site/components/header/mobile-nav-menu-item.tsx +48 -0
- package/src/site/components/header/mobile-nav-menu.tsx +103 -0
- package/src/site/components/header/mobile.tsx +169 -0
- package/src/site/components/header/theme-toggle.tsx +26 -0
- package/src/site/components/icons/avatar.tsx +11 -0
- package/src/site/components/icons/bag-icon.tsx +10 -0
- package/src/site/components/icons/index.ts +5 -0
- package/src/site/components/icons/left-arrow.tsx +11 -0
- package/src/site/components/icons/right-arrow.tsx +10 -0
- package/src/site/components/icons/social-icon.tsx +35 -0
- package/src/site/components/icons/social-svg.css +3 -0
- package/src/site/components/index.ts +26 -0
- package/src/site/components/logo.tsx +65 -0
- package/src/site/components/main.tsx +26 -0
- package/src/site/components/mini-chart/index.tsx +8 -0
- package/src/site/components/mini-chart/mini-chart-props.ts +44 -0
- package/src/site/components/mini-chart/mini-chart.tsx +86 -0
- package/src/site/components/mini-chart/wrapper.tsx +23 -0
- package/src/site/components/not-found/index.tsx +28 -0
- package/src/site/components/security/index.tsx +55 -0
- package/src/site/components/tooltip.tsx +31 -0
- package/src/site/next/analytics/fpixel.ts +16 -0
- package/src/site/next/analytics/google-analytics.ts +14 -0
- package/src/site/next/analytics/index.ts +3 -0
- package/src/site/next/analytics/pixel-analytics.tsx +55 -0
- package/src/site/next/font/font-desc.ts +18 -0
- package/src/site/next/font/fonts.ts +40 -0
- package/src/site/next/font/get-app-router-font-classes.ts +19 -0
- package/src/site/next/font/load-and-return-lux-next-fonts-on-import.ts +60 -0
- package/src/site/next/font/local/InterVariable-Italic.ttf +0 -0
- package/src/site/next/font/local/InterVariable-Italic.woff2 +0 -0
- package/src/site/next/font/local/InterVariable.ttf +0 -0
- package/src/site/next/font/local/InterVariable.woff2 +0 -0
- package/src/site/next/font/local/Zen-Variable.woff2 +0 -0
- package/src/site/next/font/next-font-desc.ts +29 -0
- package/src/site/next/font/pages-router-font-vars.tsx +18 -0
- package/src/site/next/head-metadata/index.tsx +209 -0
- package/src/site/next/head-metadata/next-metadata.ts +49 -0
- package/src/site/next/index.ts +2 -0
- package/src/site/next/middleware/determine-device-mw.ts +16 -0
- package/src/site/root-layout/WHY_THIS_IS_SEPARATE.txt +2 -0
- package/src/site/root-layout/index.tsx +125 -0
- package/src/site/site-def/footer/community.tsx +58 -0
- package/src/site/site-def/footer/company.ts +37 -0
- package/src/site/site-def/footer/ecosystem.ts +37 -0
- package/src/site/site-def/footer/index.tsx +26 -0
- package/src/site/site-def/footer/legal.ts +28 -0
- package/src/site/site-def/footer/network.ts +45 -0
- package/src/site/site-def/footer/svg/warpcast-logo.svg +12 -0
- package/src/site/site-def/index.ts +4 -0
- package/src/site/site-def/main-nav.tsx +460 -0
- package/src/site/style/cart-animation.css +29 -0
- package/src/site/style/checkout-animation.css +23 -0
- package/src/site/style/drawer-handle-overrides.css +160 -0
- package/src/site/style/fonts/COPY_TO_PUBLIC_FOR_NON_NEXT.txt +0 -0
- package/src/site/style/fonts/InterVariable-Italic.ttf +0 -0
- package/src/site/style/fonts/InterVariable-Italic.woff2 +0 -0
- package/src/site/style/fonts/InterVariable.ttf +0 -0
- package/src/site/style/fonts/InterVariable.woff2 +0 -0
- package/src/site/style/fonts/Zen-Variable.woff2 +0 -0
- package/src/site/style/lux-colors.css +84 -0
- package/src/site/style/lux-fonts.css +24 -0
- package/src/site/style/lux-global-non-next.css +52 -0
- package/src/site/style/lux-global.css +135 -0
- package/src/site/types/chatbot-config.ts +7 -0
- package/src/site/types/chatbot-suggested-question.ts +7 -0
- package/src/site/types/contact-info.ts +11 -0
- package/src/site/types/index.ts +4 -0
- package/src/site/types/site-def.ts +53 -0
- package/src/site/util/index.ts +11 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
import { Box, css } from '@hanzo/ui'
|
|
3
|
+
import Link from 'next/link'
|
|
4
|
+
|
|
5
|
+
import { type TShirtSize } from '@hanzo/ui/types'
|
|
6
|
+
import { Logo as Mark, Wordmark } from '@luxfi/logo'
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* mark — the triangle alone
|
|
10
|
+
* wordmark — the LUX letterforms alone
|
|
11
|
+
* full — the mark beside the wordmark
|
|
12
|
+
*
|
|
13
|
+
* Both halves come from @luxfi/logo, which is the one home for Lux brand art.
|
|
14
|
+
* This file used to draw its own triangle and set the letters "LUX" in the body
|
|
15
|
+
* font, so every Lux site wore typed text where the wordmark belongs — and no
|
|
16
|
+
* variant could fix it, because neither the mark nor the wordmark was here to
|
|
17
|
+
* ask for. Art lives in the brand package; this composes it.
|
|
18
|
+
*/
|
|
19
|
+
type LogoVariant = 'mark' | 'wordmark' | 'full'
|
|
20
|
+
|
|
21
|
+
/** Mark height in px, and the wordmark height that stands with it. */
|
|
22
|
+
const SIZE: Record<string, { mark: number, word: number, gap: string }> = {
|
|
23
|
+
xl: { mark: 40, word: 22, gap: 'gap-4' },
|
|
24
|
+
lg: { mark: 40, word: 22, gap: 'gap-4' },
|
|
25
|
+
md: { mark: 32, word: 18, gap: 'gap-3' },
|
|
26
|
+
sm: { mark: 24, word: 13, gap: 'gap-2' },
|
|
27
|
+
xs: { mark: 16, word: 9, gap: 'gap-1.5' },
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
const Logo: React.FC<{
|
|
31
|
+
size?: TShirtSize
|
|
32
|
+
variant?: LogoVariant
|
|
33
|
+
onClick?: () => void
|
|
34
|
+
href?: string
|
|
35
|
+
outerClx?: string
|
|
36
|
+
}> = ({
|
|
37
|
+
size = 'md',
|
|
38
|
+
href, // no default please!
|
|
39
|
+
outerClx = '',
|
|
40
|
+
variant = 'full',
|
|
41
|
+
onClick,
|
|
42
|
+
}) => {
|
|
43
|
+
const s = SIZE[size as string] ?? SIZE.md
|
|
44
|
+
const clx = 'flex flex-row items-center ' + s.gap + ' '
|
|
45
|
+
+ (href ? 'hover:opacity-80 cursor-pointer ' : 'cursor-default ')
|
|
46
|
+
+ outerClx
|
|
47
|
+
|
|
48
|
+
// White on both counts: the Lux ground is black and the brand's accent is
|
|
49
|
+
// white, so the mark and the letters carry the same value.
|
|
50
|
+
const art = (<>
|
|
51
|
+
{variant !== 'wordmark' && <Mark variant='white' size={s.mark} />}
|
|
52
|
+
{variant !== 'mark' && <Wordmark height={s.word} />}
|
|
53
|
+
</>)
|
|
54
|
+
|
|
55
|
+
return href ? (
|
|
56
|
+
<Link href={href} style={css(clx)} onClick={onClick}>{art}</Link>
|
|
57
|
+
) : (
|
|
58
|
+
<Box tag="span" className={clx} onClick={onClick}>{art}</Box>
|
|
59
|
+
)
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
export {
|
|
63
|
+
Logo as default,
|
|
64
|
+
type LogoVariant
|
|
65
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import React, { type PropsWithChildren } from 'react'
|
|
2
|
+
import { Box, cn } from '@hanzo/ui'
|
|
3
|
+
const Main: React.FC<PropsWithChildren & {
|
|
4
|
+
id?: string
|
|
5
|
+
className?: string
|
|
6
|
+
headerSpace?: boolean
|
|
7
|
+
standardWidth?: boolean
|
|
8
|
+
}> = ({
|
|
9
|
+
children,
|
|
10
|
+
className='',
|
|
11
|
+
headerSpace=true,
|
|
12
|
+
standardWidth=true,
|
|
13
|
+
id
|
|
14
|
+
}) => (
|
|
15
|
+
<Box tag="main" id={id ?? 'LUX_UI_MAIN'} className={cn(
|
|
16
|
+
'flex flex-col justify-start items-center',
|
|
17
|
+
'px-4 md:px-6 lg:px-8',
|
|
18
|
+
standardWidth ? 'max-w-screen-2xl w-full lg:mx-auto' : '',
|
|
19
|
+
headerSpace ? 'pt-[44px] md:pt-[80px]' : 'py-4',
|
|
20
|
+
className
|
|
21
|
+
)}>
|
|
22
|
+
{children}
|
|
23
|
+
</Box>
|
|
24
|
+
)
|
|
25
|
+
|
|
26
|
+
export default Main
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { CSSProperties } from 'react'
|
|
2
|
+
|
|
3
|
+
// https://www.typescriptlang.org/docs/handbook/enums.html#enums-at-runtime
|
|
4
|
+
const enum MiniChartDateRangesValues {
|
|
5
|
+
'1D',
|
|
6
|
+
'1M',
|
|
7
|
+
'3M',
|
|
8
|
+
'12M',
|
|
9
|
+
'60M',
|
|
10
|
+
'ALL',
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
type MiniChartDateRanges = keyof typeof MiniChartDateRangesValues
|
|
14
|
+
|
|
15
|
+
interface MiniChartBaseProps {
|
|
16
|
+
symbol: string
|
|
17
|
+
exchange?: string
|
|
18
|
+
dateRange: MiniChartDateRanges
|
|
19
|
+
noTimeScale?: boolean
|
|
20
|
+
width?: number | string
|
|
21
|
+
height?: number | string
|
|
22
|
+
locale?: string
|
|
23
|
+
colorTheme?: "light" | "dark"
|
|
24
|
+
// @ts-ignore // TODO
|
|
25
|
+
lineColor?: CSSProperties["color"]
|
|
26
|
+
// @ts-ignore // TODO
|
|
27
|
+
topGradientColor?: CSSProperties["color"]
|
|
28
|
+
// @ts-ignore // TODO
|
|
29
|
+
bottomGradientColor?: CSSProperties["color"]
|
|
30
|
+
isTransparent?: boolean
|
|
31
|
+
autosize?: boolean
|
|
32
|
+
chartOnly?: boolean
|
|
33
|
+
largeChartUrl?: string
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
type MiniChartProps = {
|
|
37
|
+
widgetProps: MiniChartBaseProps
|
|
38
|
+
containerStyles?: CSSProperties
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export {
|
|
42
|
+
type MiniChartProps,
|
|
43
|
+
type MiniChartDateRanges
|
|
44
|
+
}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
|
|
3
|
+
import React, { useEffect, useRef } from 'react'
|
|
4
|
+
import { Box } from '@hanzo/ui'
|
|
5
|
+
import { type MiniChartProps } from './mini-chart-props'
|
|
6
|
+
|
|
7
|
+
const MiniChart: React.FC<MiniChartProps> = ({
|
|
8
|
+
widgetProps,
|
|
9
|
+
containerStyles = {}
|
|
10
|
+
}) => {
|
|
11
|
+
|
|
12
|
+
const {
|
|
13
|
+
symbol,
|
|
14
|
+
exchange,
|
|
15
|
+
lineColor,
|
|
16
|
+
topGradientColor,
|
|
17
|
+
bottomGradientColor,
|
|
18
|
+
width,
|
|
19
|
+
height,
|
|
20
|
+
autosize,
|
|
21
|
+
locale,
|
|
22
|
+
...rest
|
|
23
|
+
} = widgetProps
|
|
24
|
+
|
|
25
|
+
const symbolString = (exchange) ? `${exchange}:${symbol}` : symbol
|
|
26
|
+
|
|
27
|
+
const containerRef = useRef<HTMLDivElement | null>(null)
|
|
28
|
+
|
|
29
|
+
useEffect(() => {
|
|
30
|
+
if (!containerRef.current) {
|
|
31
|
+
return
|
|
32
|
+
}
|
|
33
|
+
const script = document.createElement('script')
|
|
34
|
+
script.type = 'text/javascript'
|
|
35
|
+
script.src = 'https://s3.tradingview.com/external-embedding/embed-widget-mini-symbol-overview.js'
|
|
36
|
+
script.async = true
|
|
37
|
+
script.onload = async () => {
|
|
38
|
+
const iframe = containerRef.current?.querySelector('iframe')
|
|
39
|
+
if (iframe && iframe instanceof Element) {
|
|
40
|
+
iframe.style.colorScheme = 'normal'
|
|
41
|
+
setTimeout(() => {
|
|
42
|
+
const value = document.querySelector('#mini-symbol-overview-ticker')
|
|
43
|
+
//console.log("TICKER: " + value)
|
|
44
|
+
}, 1200) // from experimentation
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
const copyDiv = document.querySelector('.tradingview-widget-copyright')
|
|
50
|
+
if (copyDiv) {
|
|
51
|
+
//console.log("COPY: " + copyDiv)
|
|
52
|
+
setTimeout(() => {
|
|
53
|
+
copyDiv.classList.remove('invisible')
|
|
54
|
+
}, 1200) // from experimentation
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
const config = JSON.stringify({
|
|
58
|
+
symbol: symbolString,
|
|
59
|
+
width: autosize ? '100%' : (width || 350),
|
|
60
|
+
height: autosize ? '100%' : (height || 220),
|
|
61
|
+
locale: locale ?? 'en',
|
|
62
|
+
isTransparent: 'true',
|
|
63
|
+
trendLineColor: lineColor || 'rgba(41, 98, 255, 1)',
|
|
64
|
+
underLineColor: topGradientColor || 'rgba(41, 98, 255, 0.3)',
|
|
65
|
+
underLineBottomColor: bottomGradientColor || 'rgba(41, 98, 255, 0)',
|
|
66
|
+
...rest,
|
|
67
|
+
})
|
|
68
|
+
script.innerHTML = config
|
|
69
|
+
containerRef.current.appendChild(script)
|
|
70
|
+
return () => {
|
|
71
|
+
while (containerRef.current?.firstChild) {
|
|
72
|
+
containerRef.current.removeChild(containerRef.current.firstChild)
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}, [ JSON.stringify(widgetProps) ])
|
|
76
|
+
|
|
77
|
+
return (<>
|
|
78
|
+
<div style={containerStyles} className='tradingview-widget-container h-[150px]' ref={containerRef} />
|
|
79
|
+
<div className='tradingview-widget-copyright border-t w-full invisible'>
|
|
80
|
+
<a href={`https://www.tradingview.com/symbols/${symbol}${exchange ? `/?exchange=${exchange}` : '' }`} rel="noopener" target="_blank">
|
|
81
|
+
<Box tag="span" className="text-[--hz-ui-primary]">{symbol} quotes</Box></a> by TradingView
|
|
82
|
+
</div>
|
|
83
|
+
</>)
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export default MiniChart
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
import BaseChart from './mini-chart'
|
|
4
|
+
|
|
5
|
+
const Wrapper: React.FC<{
|
|
6
|
+
symbol: string,
|
|
7
|
+
exchange?: string
|
|
8
|
+
}> = ({
|
|
9
|
+
symbol,
|
|
10
|
+
exchange
|
|
11
|
+
}) => (
|
|
12
|
+
<BaseChart widgetProps ={{
|
|
13
|
+
symbol,
|
|
14
|
+
exchange,
|
|
15
|
+
autosize: true,
|
|
16
|
+
colorTheme: 'dark',
|
|
17
|
+
lineColor: "rgb(114, 27, 228)",
|
|
18
|
+
bottomGradientColor: "rgba(255, 255, 255, 0.1)",
|
|
19
|
+
dateRange: '60M',
|
|
20
|
+
}}/>
|
|
21
|
+
)
|
|
22
|
+
|
|
23
|
+
export default Wrapper
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
import { ApplyTypography } from '@hanzo/ui'
|
|
4
|
+
|
|
5
|
+
import type { SiteDef } from '../../site-def'
|
|
6
|
+
import Footer from '../footer'
|
|
7
|
+
import Header from '../header'
|
|
8
|
+
import Main from '../main'
|
|
9
|
+
|
|
10
|
+
const NotFound: React.FC<{
|
|
11
|
+
header?: boolean
|
|
12
|
+
siteDef: SiteDef
|
|
13
|
+
}> = ({
|
|
14
|
+
header = false,
|
|
15
|
+
siteDef,
|
|
16
|
+
}) => (<>
|
|
17
|
+
{header && <Header siteDef={siteDef}/>}
|
|
18
|
+
<Main className='h-[100svh] sm:h-[700px] px-8 sm:px-10' headerSpace={header}>
|
|
19
|
+
<ApplyTypography className='mt-[200px] flex flex-col md:gap-8'>
|
|
20
|
+
<h3>...Huh?</h3>
|
|
21
|
+
<h4>Sorry, we're fresh out of those.</h4>
|
|
22
|
+
<h4>...try something from the <a href='/'>Home Page</a>?</h4>
|
|
23
|
+
</ApplyTypography>
|
|
24
|
+
</Main>
|
|
25
|
+
<Footer siteDef={siteDef}/>
|
|
26
|
+
</>)
|
|
27
|
+
|
|
28
|
+
export default NotFound
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
import { ApplyTypography } from '@hanzo/ui/primitives'
|
|
4
|
+
|
|
5
|
+
import type { SiteDef } from '../../site-def'
|
|
6
|
+
import Footer from '../footer'
|
|
7
|
+
import Header from '../header'
|
|
8
|
+
import Main from '../main'
|
|
9
|
+
|
|
10
|
+
const Security: React.FC<{
|
|
11
|
+
contact: string
|
|
12
|
+
header?: boolean
|
|
13
|
+
siteDef: SiteDef
|
|
14
|
+
}> = ({
|
|
15
|
+
contact,
|
|
16
|
+
header = false,
|
|
17
|
+
siteDef
|
|
18
|
+
}) => (<>
|
|
19
|
+
{header && <Header siteDef={siteDef} />}
|
|
20
|
+
<Main className='px-8 sm:px-10 pb-16'>
|
|
21
|
+
<ApplyTypography className='w-full max-w-[46rem] mx-auto flex flex-col gap-6 pt-12'>
|
|
22
|
+
<h1>Reporting a security problem</h1>
|
|
23
|
+
<p>
|
|
24
|
+
Email <a href={`mailto:${contact}`}>{contact}</a>. Tell us what you found and how to
|
|
25
|
+
reproduce it. Send it to us before you tell anyone else, and do not open a public issue.
|
|
26
|
+
</p>
|
|
27
|
+
<p>
|
|
28
|
+
A real report from a stranger is worth more than another internal review. We read every one.
|
|
29
|
+
</p>
|
|
30
|
+
<h2>What happens next</h2>
|
|
31
|
+
<p>
|
|
32
|
+
Someone will read your report and reply. If we can reproduce the problem we will tell you
|
|
33
|
+
what we are doing about it, and tell you again once it is fixed. If we cannot reproduce it
|
|
34
|
+
we will say so and ask you for what we are missing.
|
|
35
|
+
</p>
|
|
36
|
+
<h2>While you are looking</h2>
|
|
37
|
+
<p>
|
|
38
|
+
Test against accounts and data that are your own. Do not read, change, or keep data that
|
|
39
|
+
belongs to someone else. If you reach it by accident, stop, and say so in your report.
|
|
40
|
+
</p>
|
|
41
|
+
<p>
|
|
42
|
+
Do not run anything that degrades the service for other people. No load testing, no denial
|
|
43
|
+
of service, no mass automated scanning, and no social engineering of our staff or our users.
|
|
44
|
+
</p>
|
|
45
|
+
<h2>For scanners</h2>
|
|
46
|
+
<p>
|
|
47
|
+
This page is the policy named by{' '}
|
|
48
|
+
<a href='/.well-known/security.txt'>/.well-known/security.txt</a>, per RFC 9116.
|
|
49
|
+
</p>
|
|
50
|
+
</ApplyTypography>
|
|
51
|
+
</Main>
|
|
52
|
+
<Footer siteDef={siteDef} />
|
|
53
|
+
</>)
|
|
54
|
+
|
|
55
|
+
export default Security
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import React from 'react'
|
|
3
|
+
import { Tooltip as RTTooltip, type PlacesType } from 'react-tooltip'
|
|
4
|
+
|
|
5
|
+
const Tooltip: React.FC<{
|
|
6
|
+
select: string
|
|
7
|
+
text: string
|
|
8
|
+
position?: PlacesType // https://react-tooltip.com/docs/options
|
|
9
|
+
clx?: string
|
|
10
|
+
offset?: number
|
|
11
|
+
}> = ({
|
|
12
|
+
select,
|
|
13
|
+
text,
|
|
14
|
+
clx='',
|
|
15
|
+
position='bottom',
|
|
16
|
+
offset=2
|
|
17
|
+
}) => (
|
|
18
|
+
<RTTooltip
|
|
19
|
+
anchorSelect={select}
|
|
20
|
+
noArrow
|
|
21
|
+
opacity={1}
|
|
22
|
+
content={text}
|
|
23
|
+
place={position}
|
|
24
|
+
offset={offset}
|
|
25
|
+
delayShow={100}
|
|
26
|
+
delayHide={100}
|
|
27
|
+
className={'!opacity-100 !bg-level-2 border rounded-[3px] !px-1.5 !py-1 z-floating' + clx}
|
|
28
|
+
/>
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
export default Tooltip
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
interface Window {
|
|
3
|
+
fbq: Function;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
export const FB_PIXEL_ID = process.env.NEXT_PUBLIC_FACEBOOK_PIXEL_ID || ''
|
|
8
|
+
|
|
9
|
+
export const pageview = () => {
|
|
10
|
+
window.fbq('track', 'PageView')
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
// https://developers.facebook.com/docs/meta-pixel/reference
|
|
14
|
+
export const sendFBEvent = (name: string, options = {}) => {
|
|
15
|
+
window.fbq('track', name, options)
|
|
16
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
declare global {
|
|
2
|
+
interface Window {
|
|
3
|
+
gtag: Function;
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
// https://developers.google.com/analytics/devguides/collection/ga4/ecommerce?client_type=gtag
|
|
8
|
+
const sendGAEvent = (name: string, options = {}) => {
|
|
9
|
+
window.gtag('event', name, options)
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export {
|
|
13
|
+
sendGAEvent as default
|
|
14
|
+
}
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
'use client'
|
|
2
|
+
import React, { useEffect, useState } from 'react'
|
|
3
|
+
import { usePathname } from 'next/navigation'
|
|
4
|
+
import Script from 'next/script'
|
|
5
|
+
|
|
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
|
+
export {FacebookPixelHead, FacebookPixel}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A font in this site's vocabulary.
|
|
3
|
+
*
|
|
4
|
+
* `name` is the ROLE the font plays — `sans`, `nav`, `heading`, `serif`, `mono`
|
|
5
|
+
* — not a file and not a family. The stack is what the browser resolves, and
|
|
6
|
+
* `cssVar` is the custom property the next/font loader publishes the loaded
|
|
7
|
+
* face under, so the stack can point at it.
|
|
8
|
+
*
|
|
9
|
+
* It lived in a Tailwind preset and was called `TwFontDesc`, which named the
|
|
10
|
+
* engine that happened to read it rather than what it is. The engine is gone;
|
|
11
|
+
* the fonts are not.
|
|
12
|
+
*/
|
|
13
|
+
export type FontDesc = {
|
|
14
|
+
/** The role: `sans`, `nav`, `heading`, `serif`, `mono`. */
|
|
15
|
+
name: string
|
|
16
|
+
fontFamily: string[]
|
|
17
|
+
cssVar?: string
|
|
18
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { FontDesc } from './font-desc'
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
/* Read by ./load-and-return-lux-next-fonts-on-import.ts */
|
|
5
|
+
|
|
6
|
+
export default [
|
|
7
|
+
{
|
|
8
|
+
fontFamily: ['var(--font-inter)'], // do not provide fall-backs due to next bug
|
|
9
|
+
cssVar: '--font-inter',
|
|
10
|
+
name: 'sans'
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
fontFamily: ['var(--font-inter)'], // do not provide fall-backs due to next bug
|
|
14
|
+
cssVar: '--font-inter',
|
|
15
|
+
name: 'nav'
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
fontFamily: ['var(--font-zen-sans)'], // do not provide fall-backs due to next bug
|
|
19
|
+
cssVar: '--font-zen-sans',
|
|
20
|
+
name: 'heading'
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: 'serif',
|
|
24
|
+
fontFamily: ['ui-serif', 'Georgia', 'Cambria', '"Times New Roman"', 'Times']
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
name: '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
|
+
] as FontDesc[]
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import nextFonts from './load-and-return-lux-next-fonts-on-import'
|
|
2
|
+
import type NextFontDesc from './next-font-desc'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* next/font's own generated class names, for <body> in an app-router app using
|
|
6
|
+
* our RootLayout.
|
|
7
|
+
*
|
|
8
|
+
* Each one DEFINES a custom property holding the face it loaded, so they have
|
|
9
|
+
* to land on an element before anything can name `var(--font-inter)`.
|
|
10
|
+
*
|
|
11
|
+
* It used to append `font-<role>` for the default face as well. That was a
|
|
12
|
+
* utility class, and with no engine generating it the body had a name no sheet
|
|
13
|
+
* served — the family is set on `body` in lux-global.css instead, where it can
|
|
14
|
+
* point at the property these classes define.
|
|
15
|
+
*/
|
|
16
|
+
export default () => {
|
|
17
|
+
const named = nextFonts.map((desc: NextFontDesc) => desc.nextFont!.variable)
|
|
18
|
+
return [...new Set(named)].join(' ')
|
|
19
|
+
}
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
// import { Inter } from 'next/font/google'
|
|
2
|
+
import localFont from 'next/font/local'
|
|
3
|
+
|
|
4
|
+
import type { FontDesc } from './font-desc'
|
|
5
|
+
import type NextFontDesc from './next-font-desc'
|
|
6
|
+
|
|
7
|
+
import fonts from './fonts'
|
|
8
|
+
|
|
9
|
+
/*
|
|
10
|
+
Creating NextFontDesc's and FontDesc'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 zen = localFont({
|
|
19
|
+
src: './local/Zen-Variable.woff2',
|
|
20
|
+
weight: '100 900',
|
|
21
|
+
display: 'swap',
|
|
22
|
+
variable: '--font-zen-sans',
|
|
23
|
+
})
|
|
24
|
+
|
|
25
|
+
const inter = localFont({
|
|
26
|
+
src: './local/InterVariable.ttf',
|
|
27
|
+
display: 'swap',
|
|
28
|
+
variable: '--font-inter',
|
|
29
|
+
})
|
|
30
|
+
|
|
31
|
+
export default [
|
|
32
|
+
{
|
|
33
|
+
font: inter,
|
|
34
|
+
name: 'sans'
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
font: inter,
|
|
38
|
+
name: 'nav'
|
|
39
|
+
},
|
|
40
|
+
{
|
|
41
|
+
// Zen is one variable face over 100-900, so the display cut is weight and
|
|
42
|
+
// tracking in CSS rather than a second file: '.font-heading' in style/lux-global.css.
|
|
43
|
+
font: zen,
|
|
44
|
+
name: 'heading'
|
|
45
|
+
}
|
|
46
|
+
].map (
|
|
47
|
+
(el) => {
|
|
48
|
+
const font: FontDesc | undefined = fonts.find((f: FontDesc) => (el.name === f.name))
|
|
49
|
+
if (!font) {
|
|
50
|
+
throw new Error('lux-next-fonts: Next font is not paired to a TW font!')
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
return ({
|
|
54
|
+
...font,
|
|
55
|
+
nextFont: el.font,
|
|
56
|
+
})
|
|
57
|
+
}
|
|
58
|
+
) satisfies NextFontDesc[]
|
|
59
|
+
|
|
60
|
+
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type localFont from 'next/font/local'
|
|
2
|
+
|
|
3
|
+
import type { FontDesc } from './font-desc'
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* What a next/font loader hands back, DERIVED from the loader.
|
|
7
|
+
*
|
|
8
|
+
* These were two hand-copied declarations marked "from next repo" — a copy of a
|
|
9
|
+
* type that keeps moving, which is how the OpenGraph types in ../head-metadata
|
|
10
|
+
* went stale and failed as "two different types with this name exist, but they
|
|
11
|
+
* are unrelated". `ReturnType` names the position and lets Next say what lives
|
|
12
|
+
* there. The loader answers with a union — a font is only given a variable
|
|
13
|
+
* when it was asked for one — so `Extract` picks the half that has it.
|
|
14
|
+
*/
|
|
15
|
+
export type NextFontWithVariable = Extract<ReturnType<typeof localFont>, { variable: string }>
|
|
16
|
+
|
|
17
|
+
/*
|
|
18
|
+
NextFontDesc and FontDesc have to be seperate because they are needed
|
|
19
|
+
at different times during the next compile / build. Otherwise a nasty
|
|
20
|
+
race condition happens! That's why they are in different files.
|
|
21
|
+
*/
|
|
22
|
+
|
|
23
|
+
interface NextFontDesc extends FontDesc {
|
|
24
|
+
nextFont: NextFontWithVariable
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export {
|
|
28
|
+
type NextFontDesc as default,
|
|
29
|
+
}
|
|
@@ -0,0 +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
|