@hanzo/ui-shadcn 5.7.2
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/README.md +229 -0
- package/bin/cli.js +100 -0
- package/bin/create-registry.js +108 -0
- package/bin/mcp.js +403 -0
- package/bin/npx-registry-mcp.js +15 -0
- package/bin/registry-mcp-wrapper.sh +19 -0
- package/bin/registry-mcp.js +100 -0
- package/bin/start-mcp-server.sh +22 -0
- package/bin/test-mcp.sh +52 -0
- package/bin/update-registry.js +196 -0
- package/content/index.ts +26 -0
- package/dist/3d/button.js +2 -0
- package/dist/3d/button.mjs +2 -0
- package/dist/3d/card.js +2 -0
- package/dist/3d/card.mjs +2 -0
- package/dist/3d/carousel.js +2 -0
- package/dist/3d/carousel.mjs +2 -0
- package/dist/3d/grid.js +2 -0
- package/dist/3d/grid.mjs +2 -0
- package/dist/3d/index.js +2 -0
- package/dist/3d/index.mjs +2 -0
- package/dist/3d/marquee.js +2 -0
- package/dist/3d/marquee.mjs +2 -0
- package/dist/3d/pin.js +2 -0
- package/dist/3d/pin.mjs +2 -0
- package/dist/accordion.js +2 -0
- package/dist/accordion.mjs +2 -0
- package/dist/alert-dialog.js +2 -0
- package/dist/alert-dialog.mjs +2 -0
- package/dist/alert.js +2 -0
- package/dist/alert.mjs +2 -0
- package/dist/animation/animated-background.js +2 -0
- package/dist/animation/animated-background.mjs +2 -0
- package/dist/animation/animated-beam.js +2 -0
- package/dist/animation/animated-beam.mjs +2 -0
- package/dist/animation/animated-cursor.js +2 -0
- package/dist/animation/animated-cursor.mjs +2 -0
- package/dist/animation/animated-icon.js +3 -0
- package/dist/animation/animated-icon.mjs +3 -0
- package/dist/animation/animated-list.js +2 -0
- package/dist/animation/animated-list.mjs +2 -0
- package/dist/animation/animated-number.js +2 -0
- package/dist/animation/animated-number.mjs +2 -0
- package/dist/animation/animated-testimonials.js +2 -0
- package/dist/animation/animated-testimonials.mjs +2 -0
- package/dist/animation/animated-tooltip.js +2 -0
- package/dist/animation/animated-tooltip.mjs +2 -0
- package/dist/animation/apple-cards-carousel.js +2 -0
- package/dist/animation/apple-cards-carousel.mjs +2 -0
- package/dist/animation/apple-hello-effect.js +2 -0
- package/dist/animation/apple-hello-effect.mjs +2 -0
- package/dist/animation/index.js +3 -0
- package/dist/animation/index.mjs +3 -0
- package/dist/assets/ai-icons.d.ts +28 -0
- package/dist/assets/ai-icons.d.ts.map +1 -0
- package/dist/assets/ai-icons.js +60 -0
- package/dist/assets/crypto.d.ts +7 -0
- package/dist/assets/crypto.d.ts.map +1 -0
- package/dist/assets/crypto.js +4 -0
- package/dist/assets/file-type-icon.d.ts +7 -0
- package/dist/assets/file-type-icon.d.ts.map +1 -0
- package/dist/assets/file-type-icon.js +36 -0
- package/dist/assets/file.d.ts +5 -0
- package/dist/assets/file.d.ts.map +1 -0
- package/dist/assets/file.js +29 -0
- package/dist/assets/general.d.ts +220 -0
- package/dist/assets/general.d.ts.map +1 -0
- package/dist/assets/general.js +136 -0
- package/dist/assets/hanzo-logo.d.ts +4 -0
- package/dist/assets/hanzo-logo.d.ts.map +1 -0
- package/dist/assets/hanzo-logo.js +3 -0
- package/dist/assets/index.d.ts +7 -0
- package/dist/assets/index.d.ts.map +1 -0
- package/dist/assets/index.js +23 -0
- package/dist/assets/llm-provider.d.ts +64 -0
- package/dist/assets/llm-provider.d.ts.map +1 -0
- package/dist/assets/llm-provider.js +90 -0
- package/dist/auth/index.js +3 -0
- package/dist/auth/index.mjs +3 -0
- package/dist/avatar.js +2 -0
- package/dist/avatar.mjs +2 -0
- package/dist/badge.js +2 -0
- package/dist/badge.mjs +2 -0
- package/dist/billing/index.js +3 -0
- package/dist/billing/index.mjs +3 -0
- package/dist/blocks/index.js +3 -0
- package/dist/blocks/index.mjs +3 -0
- package/dist/breadcrumb.js +2 -0
- package/dist/breadcrumb.mjs +2 -0
- package/dist/calendar-ext/index.js +2 -0
- package/dist/calendar-ext/index.mjs +2 -0
- package/dist/calendar.js +2 -0
- package/dist/calendar.mjs +2 -0
- package/dist/carousel.js +2 -0
- package/dist/carousel.mjs +2 -0
- package/dist/charts/index.js +8 -0
- package/dist/charts/index.mjs +8 -0
- package/dist/checkbox.js +2 -0
- package/dist/checkbox.mjs +2 -0
- package/dist/code/block.js +3 -0
- package/dist/code/block.mjs +3 -0
- package/dist/code/compare.js +7 -0
- package/dist/code/compare.mjs +7 -0
- package/dist/code/diff.js +13 -0
- package/dist/code/diff.mjs +13 -0
- package/dist/code/editor.js +2 -0
- package/dist/code/editor.mjs +2 -0
- package/dist/code/explorer.js +2 -0
- package/dist/code/explorer.mjs +2 -0
- package/dist/code/index.js +63 -0
- package/dist/code/index.mjs +63 -0
- package/dist/code/preview.js +43 -0
- package/dist/code/preview.mjs +43 -0
- package/dist/code/snippet.js +3 -0
- package/dist/code/snippet.mjs +3 -0
- package/dist/code/tabs.js +2 -0
- package/dist/code/tabs.mjs +2 -0
- package/dist/code/terminal.js +4 -0
- package/dist/code/terminal.mjs +4 -0
- package/dist/collapsible.js +2 -0
- package/dist/collapsible.mjs +2 -0
- package/dist/command.js +2 -0
- package/dist/command.mjs +2 -0
- package/dist/components/cal-embed.d.ts +11 -0
- package/dist/components/cal-embed.d.ts.map +1 -0
- package/dist/components/cal-embed.js +38 -0
- package/dist/components/index.d.ts +3 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +7 -0
- package/dist/context-menu.js +2 -0
- package/dist/context-menu.mjs +2 -0
- package/dist/dash/crud.js +2 -0
- package/dist/dash/crud.mjs +2 -0
- package/dist/dash/form.js +2 -0
- package/dist/dash/form.mjs +2 -0
- package/dist/dash/header.js +2 -0
- package/dist/dash/header.mjs +2 -0
- package/dist/dash/index.js +3 -0
- package/dist/dash/index.mjs +3 -0
- package/dist/dash/layout.js +2 -0
- package/dist/dash/layout.mjs +2 -0
- package/dist/dash/sidebar.js +3 -0
- package/dist/dash/sidebar.mjs +3 -0
- package/dist/dash/table.js +2 -0
- package/dist/dash/table.mjs +2 -0
- package/dist/desktop/hooks.js +2 -0
- package/dist/desktop/hooks.mjs +2 -0
- package/dist/desktop/index.js +2 -0
- package/dist/desktop/index.mjs +2 -0
- package/dist/desktop/spotlight.js +2 -0
- package/dist/desktop/spotlight.mjs +2 -0
- package/dist/desktop/window.js +2 -0
- package/dist/desktop/window.mjs +2 -0
- package/dist/device/index.js +2 -0
- package/dist/device/index.mjs +1 -0
- package/dist/dialog.js +2 -0
- package/dist/dialog.mjs +2 -0
- package/dist/dock/basic.js +2 -0
- package/dist/dock/basic.mjs +2 -0
- package/dist/dock/index.js +2 -0
- package/dist/dock/index.mjs +2 -0
- package/dist/dock/limelight-nav.js +2 -0
- package/dist/dock/limelight-nav.mjs +2 -0
- package/dist/dock/macos.js +2 -0
- package/dist/dock/macos.mjs +2 -0
- package/dist/dock/menu.js +2 -0
- package/dist/dock/menu.mjs +2 -0
- package/dist/dock/message.js +2 -0
- package/dist/dock/message.mjs +2 -0
- package/dist/drawer.js +2 -0
- package/dist/drawer.mjs +2 -0
- package/dist/dropdown-menu.js +2 -0
- package/dist/dropdown-menu.mjs +2 -0
- package/dist/finance/AdvancedChart.js +3 -0
- package/dist/finance/AdvancedChart.mjs +3 -0
- package/dist/finance/CompanyProfile.js +3 -0
- package/dist/finance/CompanyProfile.mjs +3 -0
- package/dist/finance/CryptoScreener.js +3 -0
- package/dist/finance/CryptoScreener.mjs +3 -0
- package/dist/finance/Financials.js +3 -0
- package/dist/finance/Financials.mjs +3 -0
- package/dist/finance/ForexScreener.js +3 -0
- package/dist/finance/ForexScreener.mjs +3 -0
- package/dist/finance/MarketOverview.js +3 -0
- package/dist/finance/MarketOverview.mjs +3 -0
- package/dist/finance/NewsTimeline.js +3 -0
- package/dist/finance/NewsTimeline.mjs +3 -0
- package/dist/finance/OrderEntry.js +2 -0
- package/dist/finance/OrderEntry.mjs +2 -0
- package/dist/finance/OrdersHistory.js +2 -0
- package/dist/finance/OrdersHistory.mjs +2 -0
- package/dist/finance/PositionsList.js +2 -0
- package/dist/finance/PositionsList.mjs +2 -0
- package/dist/finance/StockScreener.js +3 -0
- package/dist/finance/StockScreener.mjs +3 -0
- package/dist/finance/SymbolInfo.js +3 -0
- package/dist/finance/SymbolInfo.mjs +3 -0
- package/dist/finance/TechnicalAnalysis.js +3 -0
- package/dist/finance/TechnicalAnalysis.mjs +3 -0
- package/dist/finance/TickerTape.js +3 -0
- package/dist/finance/TickerTape.mjs +3 -0
- package/dist/finance/TradingPanel.js +2 -0
- package/dist/finance/TradingPanel.mjs +2 -0
- package/dist/finance/index.js +3 -0
- package/dist/finance/index.mjs +3 -0
- package/dist/form/index.js +2 -0
- package/dist/form/index.mjs +2 -0
- package/dist/form.js +2 -0
- package/dist/form.mjs +2 -0
- package/dist/frameworks/core/index.d.ts +4 -0
- package/dist/frameworks/core/index.d.ts.map +1 -0
- package/dist/frameworks/core/index.js +5 -0
- package/dist/frameworks/core/styles.d.ts +12 -0
- package/dist/frameworks/core/styles.d.ts.map +1 -0
- package/dist/frameworks/core/styles.js +11 -0
- package/dist/frameworks/core/types.d.ts +17 -0
- package/dist/frameworks/core/types.d.ts.map +1 -0
- package/dist/frameworks/core/types.js +11 -0
- package/dist/frameworks/core/utils/index.d.ts +19 -0
- package/dist/frameworks/core/utils/index.d.ts.map +1 -0
- package/dist/frameworks/core/utils/index.js +49 -0
- package/dist/frameworks/react/components/button.d.ts +8 -0
- package/dist/frameworks/react/components/button.d.ts.map +1 -0
- package/dist/frameworks/react/components/button.js +8 -0
- package/dist/frameworks/react/components/index.d.ts +2 -0
- package/dist/frameworks/react/components/index.d.ts.map +1 -0
- package/dist/frameworks/react/components/index.js +4 -0
- package/dist/frameworks/react/hooks/index.d.ts +2 -0
- package/dist/frameworks/react/hooks/index.d.ts.map +1 -0
- package/dist/frameworks/react/hooks/index.js +5 -0
- package/dist/frameworks/react/index.d.ts +5 -0
- package/dist/frameworks/react/index.d.ts.map +1 -0
- package/dist/frameworks/react/index.js +7 -0
- package/dist/frameworks/react/utils/index.d.ts +2 -0
- package/dist/frameworks/react/utils/index.d.ts.map +1 -0
- package/dist/frameworks/react/utils/index.js +2 -0
- package/dist/frameworks/react-native/components.d.ts +17 -0
- package/dist/frameworks/react-native/components.d.ts.map +1 -0
- package/dist/frameworks/react-native/components.js +17 -0
- package/dist/frameworks/react-native/hooks.d.ts +10 -0
- package/dist/frameworks/react-native/hooks.d.ts.map +1 -0
- package/dist/frameworks/react-native/hooks.js +9 -0
- package/dist/frameworks/react-native/index.d.ts +5 -0
- package/dist/frameworks/react-native/index.d.ts.map +1 -0
- package/dist/frameworks/react-native/index.js +7 -0
- package/dist/frameworks/react-native/utils.d.ts +7 -0
- package/dist/frameworks/react-native/utils.d.ts.map +1 -0
- package/dist/frameworks/react-native/utils.js +9 -0
- package/dist/frameworks/svelte/components.d.ts +15 -0
- package/dist/frameworks/svelte/components.d.ts.map +1 -0
- package/dist/frameworks/svelte/components.js +16 -0
- package/dist/frameworks/svelte/index.d.ts +5 -0
- package/dist/frameworks/svelte/index.d.ts.map +1 -0
- package/dist/frameworks/svelte/index.js +7 -0
- package/dist/frameworks/svelte/stores.d.ts +13 -0
- package/dist/frameworks/svelte/stores.d.ts.map +1 -0
- package/dist/frameworks/svelte/stores.js +9 -0
- package/dist/frameworks/svelte/utils.d.ts +7 -0
- package/dist/frameworks/svelte/utils.d.ts.map +1 -0
- package/dist/frameworks/svelte/utils.js +8 -0
- package/dist/frameworks/vue/components.d.ts +15 -0
- package/dist/frameworks/vue/components.d.ts.map +1 -0
- package/dist/frameworks/vue/components.js +16 -0
- package/dist/frameworks/vue/composables.d.ts +16 -0
- package/dist/frameworks/vue/composables.d.ts.map +1 -0
- package/dist/frameworks/vue/composables.js +14 -0
- package/dist/frameworks/vue/index.d.ts +5 -0
- package/dist/frameworks/vue/index.d.ts.map +1 -0
- package/dist/frameworks/vue/index.js +7 -0
- package/dist/frameworks/vue/utils.d.ts +7 -0
- package/dist/frameworks/vue/utils.d.ts.map +1 -0
- package/dist/frameworks/vue/utils.js +8 -0
- package/dist/helpers/file.d.ts +7 -0
- package/dist/helpers/file.d.ts.map +1 -0
- package/dist/helpers/file.js +30 -0
- package/dist/helpers/memoization.d.ts +9 -0
- package/dist/helpers/memoization.d.ts.map +1 -0
- package/dist/helpers/memoization.js +24 -0
- package/dist/hover-card.js +2 -0
- package/dist/hover-card.mjs +2 -0
- package/dist/index.js +193 -0
- package/dist/index.mjs +193 -0
- package/dist/input-otp.js +2 -0
- package/dist/input-otp.mjs +2 -0
- package/dist/kanban/index.js +2 -0
- package/dist/kanban/index.mjs +2 -0
- package/dist/lib/utils.js +1 -0
- package/dist/lib/utils.mjs +1 -0
- package/dist/mermaid/index.js +2 -0
- package/dist/mermaid/index.mjs +2 -0
- package/dist/models/index.js +35 -0
- package/dist/models/index.mjs +35 -0
- package/dist/navigation/hanzo-shell.js +3 -0
- package/dist/navigation/hanzo-shell.mjs +3 -0
- package/dist/navigation/index.js +3 -0
- package/dist/navigation/index.mjs +3 -0
- package/dist/navigation-menu.js +2 -0
- package/dist/navigation-menu.mjs +2 -0
- package/dist/network/index.js +3 -0
- package/dist/network/index.mjs +3 -0
- package/dist/pattern/grid-pattern.js +11 -0
- package/dist/pattern/grid-pattern.mjs +11 -0
- package/dist/pattern/index.js +11 -0
- package/dist/pattern/index.mjs +11 -0
- package/dist/popover.js +2 -0
- package/dist/popover.mjs +2 -0
- package/dist/primitives/accordion.d.ts +27 -0
- package/dist/primitives/accordion.d.ts.map +1 -0
- package/dist/primitives/accordion.js +12 -0
- package/dist/primitives/action-button.d.ts +10 -0
- package/dist/primitives/action-button.d.ts.map +1 -0
- package/dist/primitives/action-button.js +14 -0
- package/dist/primitives/alert-dialog.d.ts +57 -0
- package/dist/primitives/alert-dialog.d.ts.map +1 -0
- package/dist/primitives/alert-dialog.js +25 -0
- package/dist/primitives/alert.d.ts +11 -0
- package/dist/primitives/alert.d.ts.map +1 -0
- package/dist/primitives/alert.js +32 -0
- package/dist/primitives/apply-typography.d.ts +8 -0
- package/dist/primitives/apply-typography.d.ts.map +1 -0
- package/dist/primitives/apply-typography.js +36 -0
- package/dist/primitives/aspect-ratio.d.ts +4 -0
- package/dist/primitives/aspect-ratio.d.ts.map +1 -0
- package/dist/primitives/aspect-ratio.js +4 -0
- package/dist/primitives/avatar.d.ts +25 -0
- package/dist/primitives/avatar.d.ts.map +1 -0
- package/dist/primitives/avatar.js +10 -0
- package/dist/primitives/badge.d.ts +11 -0
- package/dist/primitives/badge.d.ts.map +1 -0
- package/dist/primitives/badge.js +28 -0
- package/dist/primitives/breadcrumb.d.ts +51 -0
- package/dist/primitives/breadcrumb.d.ts.map +1 -0
- package/dist/primitives/breadcrumb.js +22 -0
- package/dist/primitives/breakpoint-indicator.d.ts +4 -0
- package/dist/primitives/breakpoint-indicator.d.ts.map +1 -0
- package/dist/primitives/breakpoint-indicator.js +7 -0
- package/dist/primitives/button-group.d.ts +12 -0
- package/dist/primitives/button-group.d.ts.map +1 -0
- package/dist/primitives/button-group.js +28 -0
- package/dist/primitives/button.d.ts +14 -0
- package/dist/primitives/button.d.ts.map +1 -0
- package/dist/primitives/button.js +41 -0
- package/dist/primitives/cal-embed.d.ts +11 -0
- package/dist/primitives/cal-embed.d.ts.map +1 -0
- package/dist/primitives/cal-embed.js +38 -0
- package/dist/primitives/calendar.d.ts +11 -0
- package/dist/primitives/calendar.d.ts.map +1 -0
- package/dist/primitives/calendar.js +58 -0
- package/dist/primitives/card.d.ts +10 -0
- package/dist/primitives/card.d.ts.map +1 -0
- package/dist/primitives/card.js +24 -0
- package/dist/primitives/carousel.d.ts +19 -0
- package/dist/primitives/carousel.d.ts.map +1 -0
- package/dist/primitives/carousel.js +95 -0
- package/dist/primitives/chart.d.ts +41 -0
- package/dist/primitives/chart.d.ts.map +1 -0
- package/dist/primitives/chart.js +128 -0
- package/dist/primitives/charts/area/chart-area-axes.d.ts +3 -0
- package/dist/primitives/charts/area/chart-area-axes.d.ts.map +1 -0
- package/dist/primitives/charts/area/chart-area-axes.js +31 -0
- package/dist/primitives/charts/area/chart-area-default.d.ts +3 -0
- package/dist/primitives/charts/area/chart-area-default.d.ts.map +1 -0
- package/dist/primitives/charts/area/chart-area-default.js +27 -0
- package/dist/primitives/charts/area/chart-area-gradient.d.ts +3 -0
- package/dist/primitives/charts/area/chart-area-gradient.d.ts.map +1 -0
- package/dist/primitives/charts/area/chart-area-gradient.js +31 -0
- package/dist/primitives/charts/area/chart-area-icons.d.ts +3 -0
- package/dist/primitives/charts/area/chart-area-icons.d.ts.map +1 -0
- package/dist/primitives/charts/area/chart-area-icons.js +33 -0
- package/dist/primitives/charts/area/chart-area-interactive.d.ts +3 -0
- package/dist/primitives/charts/area/chart-area-interactive.d.ts.map +1 -0
- package/dist/primitives/charts/area/chart-area-interactive.js +143 -0
- package/dist/primitives/charts/area/chart-area-legend.d.ts +3 -0
- package/dist/primitives/charts/area/chart-area-legend.d.ts.map +1 -0
- package/dist/primitives/charts/area/chart-area-legend.js +31 -0
- package/dist/primitives/charts/area/chart-area-linear.d.ts +3 -0
- package/dist/primitives/charts/area/chart-area-linear.d.ts.map +1 -0
- package/dist/primitives/charts/area/chart-area-linear.js +27 -0
- package/dist/primitives/charts/area/chart-area-stacked-expand.d.ts +3 -0
- package/dist/primitives/charts/area/chart-area-stacked-expand.d.ts.map +1 -0
- package/dist/primitives/charts/area/chart-area-stacked-expand.js +36 -0
- package/dist/primitives/charts/area/chart-area-stacked.d.ts +3 -0
- package/dist/primitives/charts/area/chart-area-stacked.d.ts.map +1 -0
- package/dist/primitives/charts/area/chart-area-stacked.js +31 -0
- package/dist/primitives/charts/area/chart-area-step.d.ts +3 -0
- package/dist/primitives/charts/area/chart-area-step.d.ts.map +1 -0
- package/dist/primitives/charts/area/chart-area-step.js +28 -0
- package/dist/primitives/charts/area/index.d.ts +11 -0
- package/dist/primitives/charts/area/index.d.ts.map +1 -0
- package/dist/primitives/charts/area/index.js +11 -0
- package/dist/primitives/charts/bar/chart-bar-active.d.ts +3 -0
- package/dist/primitives/charts/bar/chart-bar-active.d.ts.map +1 -0
- package/dist/primitives/charts/bar/chart-bar-active.js +44 -0
- package/dist/primitives/charts/bar/chart-bar-default.d.ts +3 -0
- package/dist/primitives/charts/bar/chart-bar-default.d.ts.map +1 -0
- package/dist/primitives/charts/bar/chart-bar-default.js +24 -0
- package/dist/primitives/charts/bar/chart-bar-horizontal.d.ts +3 -0
- package/dist/primitives/charts/bar/chart-bar-horizontal.d.ts.map +1 -0
- package/dist/primitives/charts/bar/chart-bar-horizontal.js +26 -0
- package/dist/primitives/charts/bar/chart-bar-interactive.d.ts +3 -0
- package/dist/primitives/charts/bar/chart-bar-interactive.d.ts.map +1 -0
- package/dist/primitives/charts/bar/chart-bar-interactive.js +139 -0
- package/dist/primitives/charts/bar/chart-bar-label-custom.d.ts +3 -0
- package/dist/primitives/charts/bar/chart-bar-label-custom.d.ts.map +1 -0
- package/dist/primitives/charts/bar/chart-bar-label-custom.js +33 -0
- package/dist/primitives/charts/bar/chart-bar-label.d.ts +3 -0
- package/dist/primitives/charts/bar/chart-bar-label.d.ts.map +1 -0
- package/dist/primitives/charts/bar/chart-bar-label.js +26 -0
- package/dist/primitives/charts/bar/chart-bar-mixed.d.ts +3 -0
- package/dist/primitives/charts/bar/chart-bar-mixed.d.ts.map +1 -0
- package/dist/primitives/charts/bar/chart-bar-mixed.js +44 -0
- package/dist/primitives/charts/bar/chart-bar-multiple.d.ts +3 -0
- package/dist/primitives/charts/bar/chart-bar-multiple.d.ts.map +1 -0
- package/dist/primitives/charts/bar/chart-bar-multiple.js +28 -0
- package/dist/primitives/charts/bar/chart-bar-negative.d.ts +3 -0
- package/dist/primitives/charts/bar/chart-bar-negative.d.ts.map +1 -0
- package/dist/primitives/charts/bar/chart-bar-negative.js +25 -0
- package/dist/primitives/charts/bar/chart-bar-stacked.d.ts +3 -0
- package/dist/primitives/charts/bar/chart-bar-stacked.d.ts.map +1 -0
- package/dist/primitives/charts/bar/chart-bar-stacked.js +28 -0
- package/dist/primitives/charts/bar/index.d.ts +11 -0
- package/dist/primitives/charts/bar/index.d.ts.map +1 -0
- package/dist/primitives/charts/bar/index.js +11 -0
- package/dist/primitives/charts/index.d.ts +8 -0
- package/dist/primitives/charts/index.d.ts.map +1 -0
- package/dist/primitives/charts/index.js +11 -0
- package/dist/primitives/charts/line/chart-line-default.d.ts +3 -0
- package/dist/primitives/charts/line/chart-line-default.d.ts.map +1 -0
- package/dist/primitives/charts/line/chart-line-default.js +27 -0
- package/dist/primitives/charts/line/chart-line-dots-colors.d.ts +3 -0
- package/dist/primitives/charts/line/chart-line-dots-colors.d.ts.map +1 -0
- package/dist/primitives/charts/line/chart-line-dots-colors.js +49 -0
- package/dist/primitives/charts/line/chart-line-dots-custom.d.ts +3 -0
- package/dist/primitives/charts/line/chart-line-dots-custom.d.ts.map +1 -0
- package/dist/primitives/charts/line/chart-line-dots-custom.js +34 -0
- package/dist/primitives/charts/line/chart-line-dots.d.ts +3 -0
- package/dist/primitives/charts/line/chart-line-dots.d.ts.map +1 -0
- package/dist/primitives/charts/line/chart-line-dots.js +35 -0
- package/dist/primitives/charts/line/chart-line-interactive.d.ts +3 -0
- package/dist/primitives/charts/line/chart-line-interactive.d.ts.map +1 -0
- package/dist/primitives/charts/line/chart-line-interactive.js +139 -0
- package/dist/primitives/charts/line/chart-line-label-custom.d.ts +3 -0
- package/dist/primitives/charts/line/chart-line-label-custom.d.ts.map +1 -0
- package/dist/primitives/charts/line/chart-line-label-custom.js +51 -0
- package/dist/primitives/charts/line/chart-line-label.d.ts +3 -0
- package/dist/primitives/charts/line/chart-line-label.d.ts.map +1 -0
- package/dist/primitives/charts/line/chart-line-label.js +36 -0
- package/dist/primitives/charts/line/chart-line-linear.d.ts +3 -0
- package/dist/primitives/charts/line/chart-line-linear.d.ts.map +1 -0
- package/dist/primitives/charts/line/chart-line-linear.js +27 -0
- package/dist/primitives/charts/line/chart-line-multiple.d.ts +3 -0
- package/dist/primitives/charts/line/chart-line-multiple.d.ts.map +1 -0
- package/dist/primitives/charts/line/chart-line-multiple.js +31 -0
- package/dist/primitives/charts/line/chart-line-step.d.ts +3 -0
- package/dist/primitives/charts/line/chart-line-step.d.ts.map +1 -0
- package/dist/primitives/charts/line/chart-line-step.js +27 -0
- package/dist/primitives/charts/line/index.d.ts +11 -0
- package/dist/primitives/charts/line/index.d.ts.map +1 -0
- package/dist/primitives/charts/line/index.js +11 -0
- package/dist/primitives/charts/pie/chart-pie-donut-active.d.ts +3 -0
- package/dist/primitives/charts/pie/chart-pie-donut-active.d.ts.map +1 -0
- package/dist/primitives/charts/pie/chart-pie-donut-active.js +42 -0
- package/dist/primitives/charts/pie/chart-pie-donut-text.d.ts +3 -0
- package/dist/primitives/charts/pie/chart-pie-donut-text.d.ts.map +1 -0
- package/dist/primitives/charts/pie/chart-pie-donut-text.js +50 -0
- package/dist/primitives/charts/pie/chart-pie-donut.d.ts +3 -0
- package/dist/primitives/charts/pie/chart-pie-donut.d.ts.map +1 -0
- package/dist/primitives/charts/pie/chart-pie-donut.js +42 -0
- package/dist/primitives/charts/pie/chart-pie-interactive.d.ts +3 -0
- package/dist/primitives/charts/pie/chart-pie-interactive.d.ts.map +1 -0
- package/dist/primitives/charts/pie/chart-pie-interactive.js +65 -0
- package/dist/primitives/charts/pie/chart-pie-label-custom.d.ts +3 -0
- package/dist/primitives/charts/pie/chart-pie-label-custom.d.ts.map +1 -0
- package/dist/primitives/charts/pie/chart-pie-label-custom.js +44 -0
- package/dist/primitives/charts/pie/chart-pie-label-list.d.ts +3 -0
- package/dist/primitives/charts/pie/chart-pie-label-list.d.ts.map +1 -0
- package/dist/primitives/charts/pie/chart-pie-label-list.js +42 -0
- package/dist/primitives/charts/pie/chart-pie-label.d.ts +3 -0
- package/dist/primitives/charts/pie/chart-pie-label.d.ts.map +1 -0
- package/dist/primitives/charts/pie/chart-pie-label.js +42 -0
- package/dist/primitives/charts/pie/chart-pie-legend.d.ts +3 -0
- package/dist/primitives/charts/pie/chart-pie-legend.d.ts.map +1 -0
- package/dist/primitives/charts/pie/chart-pie-legend.js +41 -0
- package/dist/primitives/charts/pie/chart-pie-separator-none.d.ts +3 -0
- package/dist/primitives/charts/pie/chart-pie-separator-none.d.ts.map +1 -0
- package/dist/primitives/charts/pie/chart-pie-separator-none.js +42 -0
- package/dist/primitives/charts/pie/index.d.ts +10 -0
- package/dist/primitives/charts/pie/index.d.ts.map +1 -0
- package/dist/primitives/charts/pie/index.js +10 -0
- package/dist/primitives/charts/radar/chart-radar-default.d.ts +3 -0
- package/dist/primitives/charts/radar/chart-radar-default.d.ts.map +1 -0
- package/dist/primitives/charts/radar/chart-radar-default.js +24 -0
- package/dist/primitives/charts/radar/chart-radar-dots.d.ts +3 -0
- package/dist/primitives/charts/radar/chart-radar-dots.d.ts.map +1 -0
- package/dist/primitives/charts/radar/chart-radar-dots.js +27 -0
- package/dist/primitives/charts/radar/chart-radar-grid-circle-fill.d.ts +3 -0
- package/dist/primitives/charts/radar/chart-radar-grid-circle-fill.d.ts.map +1 -0
- package/dist/primitives/charts/radar/chart-radar-grid-circle-fill.js +24 -0
- package/dist/primitives/charts/radar/chart-radar-grid-circle-no-lines.d.ts +3 -0
- package/dist/primitives/charts/radar/chart-radar-grid-circle-no-lines.d.ts.map +1 -0
- package/dist/primitives/charts/radar/chart-radar-grid-circle-no-lines.js +27 -0
- package/dist/primitives/charts/radar/chart-radar-grid-circle.d.ts +3 -0
- package/dist/primitives/charts/radar/chart-radar-grid-circle.d.ts.map +1 -0
- package/dist/primitives/charts/radar/chart-radar-grid-circle.js +27 -0
- package/dist/primitives/charts/radar/chart-radar-grid-custom.d.ts +3 -0
- package/dist/primitives/charts/radar/chart-radar-grid-custom.d.ts.map +1 -0
- package/dist/primitives/charts/radar/chart-radar-grid-custom.js +24 -0
- package/dist/primitives/charts/radar/chart-radar-grid-fill.d.ts +3 -0
- package/dist/primitives/charts/radar/chart-radar-grid-fill.d.ts.map +1 -0
- package/dist/primitives/charts/radar/chart-radar-grid-fill.js +24 -0
- package/dist/primitives/charts/radar/chart-radar-grid-none.d.ts +3 -0
- package/dist/primitives/charts/radar/chart-radar-grid-none.d.ts.map +1 -0
- package/dist/primitives/charts/radar/chart-radar-grid-none.js +27 -0
- package/dist/primitives/charts/radar/chart-radar-icons.d.ts +3 -0
- package/dist/primitives/charts/radar/chart-radar-icons.d.ts.map +1 -0
- package/dist/primitives/charts/radar/chart-radar-icons.js +33 -0
- package/dist/primitives/charts/radar/index.d.ts +10 -0
- package/dist/primitives/charts/radar/index.d.ts.map +1 -0
- package/dist/primitives/charts/radar/index.js +10 -0
- package/dist/primitives/charts/radial/chart-radial-grid.d.ts +3 -0
- package/dist/primitives/charts/radial/chart-radial-grid.d.ts.map +1 -0
- package/dist/primitives/charts/radial/chart-radial-grid.js +42 -0
- package/dist/primitives/charts/radial/chart-radial-label.d.ts +3 -0
- package/dist/primitives/charts/radial/chart-radial-label.d.ts.map +1 -0
- package/dist/primitives/charts/radial/chart-radial-label.js +42 -0
- package/dist/primitives/charts/radial/chart-radial-shape.d.ts +3 -0
- package/dist/primitives/charts/radial/chart-radial-shape.d.ts.map +1 -0
- package/dist/primitives/charts/radial/chart-radial-shape.js +26 -0
- package/dist/primitives/charts/radial/chart-radial-simple.d.ts +3 -0
- package/dist/primitives/charts/radial/chart-radial-simple.d.ts.map +1 -0
- package/dist/primitives/charts/radial/chart-radial-simple.js +42 -0
- package/dist/primitives/charts/radial/chart-radial-stacked.d.ts +3 -0
- package/dist/primitives/charts/radial/chart-radial-stacked.d.ts.map +1 -0
- package/dist/primitives/charts/radial/chart-radial-stacked.js +26 -0
- package/dist/primitives/charts/radial/chart-radial-text.d.ts +3 -0
- package/dist/primitives/charts/radial/chart-radial-text.d.ts.map +1 -0
- package/dist/primitives/charts/radial/chart-radial-text.js +26 -0
- package/dist/primitives/charts/radial/index.d.ts +7 -0
- package/dist/primitives/charts/radial/index.d.ts.map +1 -0
- package/dist/primitives/charts/radial/index.js +7 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-advanced.d.ts +3 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-advanced.d.ts.map +1 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-advanced.js +34 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-default.d.ts +5 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-default.d.ts.map +1 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-default.js +33 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-formatter.d.ts +3 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-formatter.d.ts.map +1 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-formatter.js +32 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-icons.d.ts +3 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-icons.d.ts.map +1 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-icons.js +34 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-indicator-line.d.ts +5 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-indicator-line.d.ts.map +1 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-indicator-line.js +33 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-indicator-none.d.ts +3 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-indicator-none.d.ts.map +1 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-indicator-none.js +31 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-label-custom.d.ts +3 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-label-custom.d.ts.map +1 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-label-custom.js +34 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-label-formatter.d.ts +3 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-label-formatter.d.ts.map +1 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-label-formatter.js +37 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-label-none.d.ts +3 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-label-none.d.ts.map +1 -0
- package/dist/primitives/charts/tooltip/chart-tooltip-label-none.js +31 -0
- package/dist/primitives/charts/tooltip/index.d.ts +10 -0
- package/dist/primitives/charts/tooltip/index.d.ts.map +1 -0
- package/dist/primitives/charts/tooltip/index.js +10 -0
- package/dist/primitives/chat/chat-input-area.d.ts +24 -0
- package/dist/primitives/chat/chat-input-area.d.ts.map +1 -0
- package/dist/primitives/chat/chat-input-area.js +23 -0
- package/dist/primitives/chat/chat-input.d.ts +13 -0
- package/dist/primitives/chat/chat-input.d.ts.map +1 -0
- package/dist/primitives/chat/chat-input.js +33 -0
- package/dist/primitives/chat/json-form.d.ts +4 -0
- package/dist/primitives/chat/json-form.d.ts.map +1 -0
- package/dist/primitives/chat/json-form.js +6 -0
- package/dist/primitives/checkbox.d.ts +12 -0
- package/dist/primitives/checkbox.d.ts.map +1 -0
- package/dist/primitives/checkbox.js +8 -0
- package/dist/primitives/collapsible.d.ts +6 -0
- package/dist/primitives/collapsible.d.ts.map +1 -0
- package/dist/primitives/collapsible.js +5 -0
- package/dist/primitives/combobox.d.ts +42 -0
- package/dist/primitives/combobox.d.ts.map +1 -0
- package/dist/primitives/combobox.js +49 -0
- package/dist/primitives/command.d.ts +39 -0
- package/dist/primitives/command.d.ts.map +1 -0
- package/dist/primitives/command.js +28 -0
- package/dist/primitives/context-menu.d.ts +54 -0
- package/dist/primitives/context-menu.d.ts.map +1 -0
- package/dist/primitives/context-menu.js +32 -0
- package/dist/primitives/copy-to-clipboard-icon.d.ts +15 -0
- package/dist/primitives/copy-to-clipboard-icon.d.ts.map +1 -0
- package/dist/primitives/copy-to-clipboard-icon.js +21 -0
- package/dist/primitives/dialog-video-controller.d.ts +4 -0
- package/dist/primitives/dialog-video-controller.d.ts.map +1 -0
- package/dist/primitives/dialog-video-controller.js +23 -0
- package/dist/primitives/dialog.d.ts +18 -0
- package/dist/primitives/dialog.d.ts.map +1 -0
- package/dist/primitives/dialog.js +37 -0
- package/dist/primitives/dot-pattern.d.ts +14 -0
- package/dist/primitives/dot-pattern.d.ts.map +1 -0
- package/dist/primitives/dot-pattern.js +8 -0
- package/dist/primitives/dots-loader.d.ts +5 -0
- package/dist/primitives/dots-loader.d.ts.map +1 -0
- package/dist/primitives/dots-loader.js +5 -0
- package/dist/primitives/drawer.d.ts +38 -0
- package/dist/primitives/drawer.d.ts.map +1 -0
- package/dist/primitives/drawer.js +22 -0
- package/dist/primitives/dropdown-menu.d.ts +52 -0
- package/dist/primitives/dropdown-menu.d.ts.map +1 -0
- package/dist/primitives/dropdown-menu.js +34 -0
- package/dist/primitives/empty.d.ts +12 -0
- package/dist/primitives/empty.d.ts.map +1 -0
- package/dist/primitives/empty.js +33 -0
- package/dist/primitives/error-message.d.ts +7 -0
- package/dist/primitives/error-message.d.ts.map +1 -0
- package/dist/primitives/error-message.js +5 -0
- package/dist/primitives/field.d.ts +10 -0
- package/dist/primitives/field.d.ts.map +1 -0
- package/dist/primitives/field.js +16 -0
- package/dist/primitives/file-uploader.d.ts +20 -0
- package/dist/primitives/file-uploader.d.ts.map +1 -0
- package/dist/primitives/file-uploader.js +68 -0
- package/dist/primitives/form.d.ts +40 -0
- package/dist/primitives/form.d.ts.map +1 -0
- package/dist/primitives/form.js +67 -0
- package/dist/primitives/hover-card.d.ts +10 -0
- package/dist/primitives/hover-card.d.ts.map +1 -0
- package/dist/primitives/hover-card.js +8 -0
- package/dist/primitives/icons/github.d.ts +5 -0
- package/dist/primitives/icons/github.d.ts.map +1 -0
- package/dist/primitives/icons/github.js +3 -0
- package/dist/primitives/icons/index.d.ts +5 -0
- package/dist/primitives/icons/index.d.ts.map +1 -0
- package/dist/primitives/icons/index.js +4 -0
- package/dist/primitives/icons/youtube-logo.d.ts +5 -0
- package/dist/primitives/icons/youtube-logo.d.ts.map +1 -0
- package/dist/primitives/icons/youtube-logo.js +33 -0
- package/dist/primitives/index-blocks.d.ts +5 -0
- package/dist/primitives/index-blocks.d.ts.map +1 -0
- package/dist/primitives/index-blocks.js +6 -0
- package/dist/primitives/index-common.d.ts +75 -0
- package/dist/primitives/index-common.d.ts.map +1 -0
- package/dist/primitives/index-common.js +82 -0
- package/dist/primitives/index-core.d.ts +29 -0
- package/dist/primitives/index-core.d.ts.map +1 -0
- package/dist/primitives/index-core.js +30 -0
- package/dist/primitives/index-next.d.ts +3 -0
- package/dist/primitives/index-next.d.ts.map +1 -0
- package/dist/primitives/index-next.js +4 -0
- package/dist/primitives/index-standard.d.ts +79 -0
- package/dist/primitives/index-standard.d.ts.map +1 -0
- package/dist/primitives/index-standard.js +98 -0
- package/dist/primitives/input-group.d.ts +17 -0
- package/dist/primitives/input-group.d.ts.map +1 -0
- package/dist/primitives/input-group.js +61 -0
- package/dist/primitives/input-otp.d.ts +35 -0
- package/dist/primitives/input-otp.d.ts.map +1 -0
- package/dist/primitives/input-otp.js +19 -0
- package/dist/primitives/input.d.ts +15 -0
- package/dist/primitives/input.d.ts.map +1 -0
- package/dist/primitives/input.js +43 -0
- package/dist/primitives/item.d.ts +24 -0
- package/dist/primitives/item.d.ts.map +1 -0
- package/dist/primitives/item.js +67 -0
- package/dist/primitives/kbd.d.ts +5 -0
- package/dist/primitives/kbd.d.ts.map +1 -0
- package/dist/primitives/kbd.js +9 -0
- package/dist/primitives/label.d.ts +11 -0
- package/dist/primitives/label.d.ts.map +1 -0
- package/dist/primitives/label.js +9 -0
- package/dist/primitives/list-adaptor.d.ts +10 -0
- package/dist/primitives/list-adaptor.d.ts.map +1 -0
- package/dist/primitives/list-adaptor.js +1 -0
- package/dist/primitives/list-box.d.ts +12 -0
- package/dist/primitives/list-box.d.ts.map +1 -0
- package/dist/primitives/list-box.js +10 -0
- package/dist/primitives/loading-spinner.d.ts +6 -0
- package/dist/primitives/loading-spinner.d.ts.map +1 -0
- package/dist/primitives/loading-spinner.js +7 -0
- package/dist/primitives/markdown-preview.d.ts +129 -0
- package/dist/primitives/markdown-preview.d.ts.map +1 -0
- package/dist/primitives/markdown-preview.js +165 -0
- package/dist/primitives/menubar.d.ts +29 -0
- package/dist/primitives/menubar.d.ts.map +1 -0
- package/dist/primitives/menubar.js +46 -0
- package/dist/primitives/mermaid.d.ts +8 -0
- package/dist/primitives/mermaid.d.ts.map +1 -0
- package/dist/primitives/mermaid.js +112 -0
- package/dist/primitives/native-select.d.ts +9 -0
- package/dist/primitives/native-select.d.ts.map +1 -0
- package/dist/primitives/native-select.js +14 -0
- package/dist/primitives/navigation-menu.d.ts +13 -0
- package/dist/primitives/navigation-menu.d.ts.map +1 -0
- package/dist/primitives/navigation-menu.js +29 -0
- package/dist/primitives/next/image.d.ts +12 -0
- package/dist/primitives/next/image.d.ts.map +1 -0
- package/dist/primitives/next/image.js +40 -0
- package/dist/primitives/next/index.d.ts +8 -0
- package/dist/primitives/next/index.d.ts.map +1 -0
- package/dist/primitives/next/index.js +7 -0
- package/dist/primitives/next/inline-icon.d.ts +14 -0
- package/dist/primitives/next/inline-icon.d.ts.map +1 -0
- package/dist/primitives/next/inline-icon.js +13 -0
- package/dist/primitives/next/link-element.d.ts +24 -0
- package/dist/primitives/next/link-element.d.ts.map +1 -0
- package/dist/primitives/next/link-element.js +47 -0
- package/dist/primitives/next/mdx-link.d.ts +4 -0
- package/dist/primitives/next/mdx-link.d.ts.map +1 -0
- package/dist/primitives/next/mdx-link.js +10 -0
- package/dist/primitives/next/media-stack.d.ts +9 -0
- package/dist/primitives/next/media-stack.d.ts.map +1 -0
- package/dist/primitives/next/media-stack.js +20 -0
- package/dist/primitives/next/nav-items.d.ts +11 -0
- package/dist/primitives/next/nav-items.d.ts.map +1 -0
- package/dist/primitives/next/nav-items.js +22 -0
- package/dist/primitives/next/youtube-embed.d.ts +12 -0
- package/dist/primitives/next/youtube-embed.d.ts.map +1 -0
- package/dist/primitives/next/youtube-embed.js +16 -0
- package/dist/primitives/popover.d.ts +12 -0
- package/dist/primitives/popover.d.ts.map +1 -0
- package/dist/primitives/popover.js +10 -0
- package/dist/primitives/pretty-json-print.d.ts +5 -0
- package/dist/primitives/pretty-json-print.d.ts.map +1 -0
- package/dist/primitives/pretty-json-print.js +22 -0
- package/dist/primitives/progress.d.ts +9 -0
- package/dist/primitives/progress.d.ts.map +1 -0
- package/dist/primitives/progress.js +7 -0
- package/dist/primitives/prompt-textarea.d.ts +19 -0
- package/dist/primitives/prompt-textarea.d.ts.map +1 -0
- package/dist/primitives/prompt-textarea.js +30 -0
- package/dist/primitives/radio-group.d.ts +12 -0
- package/dist/primitives/radio-group.d.ts.map +1 -0
- package/dist/primitives/radio-group.js +14 -0
- package/dist/primitives/resizable.d.ts +24 -0
- package/dist/primitives/resizable.d.ts.map +1 -0
- package/dist/primitives/resizable.js +8 -0
- package/dist/primitives/scroll-area.d.ts +14 -0
- package/dist/primitives/scroll-area.d.ts.map +1 -0
- package/dist/primitives/scroll-area.js +10 -0
- package/dist/primitives/search-input.d.ts +14 -0
- package/dist/primitives/search-input.d.ts.map +1 -0
- package/dist/primitives/search-input.js +16 -0
- package/dist/primitives/select.d.ts +27 -0
- package/dist/primitives/select.d.ts.map +1 -0
- package/dist/primitives/select.js +21 -0
- package/dist/primitives/separator.d.ts +9 -0
- package/dist/primitives/separator.d.ts.map +1 -0
- package/dist/primitives/separator.js +7 -0
- package/dist/primitives/sheet.d.ts +41 -0
- package/dist/primitives/sheet.d.ts.map +1 -0
- package/dist/primitives/sheet.js +35 -0
- package/dist/primitives/skeleton.d.ts +5 -0
- package/dist/primitives/skeleton.d.ts.map +1 -0
- package/dist/primitives/skeleton.js +7 -0
- package/dist/primitives/slider.d.ts +6 -0
- package/dist/primitives/slider.d.ts.map +1 -0
- package/dist/primitives/slider.js +15 -0
- package/dist/primitives/sonner.d.ts +6 -0
- package/dist/primitives/sonner.d.ts.map +1 -0
- package/dist/primitives/sonner.js +17 -0
- package/dist/primitives/spinner.d.ts +3 -0
- package/dist/primitives/spinner.d.ts.map +1 -0
- package/dist/primitives/spinner.js +7 -0
- package/dist/primitives/step-indicator.d.ts +10 -0
- package/dist/primitives/step-indicator.d.ts.map +1 -0
- package/dist/primitives/step-indicator.js +13 -0
- package/dist/primitives/stepper.d.ts +49 -0
- package/dist/primitives/stepper.d.ts.map +1 -0
- package/dist/primitives/stepper.js +75 -0
- package/dist/primitives/switch.d.ts +9 -0
- package/dist/primitives/switch.d.ts.map +1 -0
- package/dist/primitives/switch.js +7 -0
- package/dist/primitives/table.d.ts +35 -0
- package/dist/primitives/table.d.ts.map +1 -0
- package/dist/primitives/table.js +19 -0
- package/dist/primitives/tabs.d.ts +12 -0
- package/dist/primitives/tabs.d.ts.map +1 -0
- package/dist/primitives/tabs.js +35 -0
- package/dist/primitives/text-area.d.ts +6 -0
- package/dist/primitives/text-area.d.ts.map +1 -0
- package/dist/primitives/text-area.js +10 -0
- package/dist/primitives/text-link.d.ts +6 -0
- package/dist/primitives/text-link.d.ts.map +1 -0
- package/dist/primitives/text-link.js +5 -0
- package/dist/primitives/textarea.d.ts +13 -0
- package/dist/primitives/textarea.d.ts.map +1 -0
- package/dist/primitives/textarea.js +28 -0
- package/dist/primitives/textfield.d.ts +33 -0
- package/dist/primitives/textfield.d.ts.map +1 -0
- package/dist/primitives/textfield.js +9 -0
- package/dist/primitives/toast.d.ts +6 -0
- package/dist/primitives/toast.d.ts.map +1 -0
- package/dist/primitives/toast.js +13 -0
- package/dist/primitives/toggle-group.d.ts +14 -0
- package/dist/primitives/toggle-group.d.ts.map +1 -0
- package/dist/primitives/toggle-group.js +20 -0
- package/dist/primitives/toggle.d.ts +13 -0
- package/dist/primitives/toggle.d.ts.map +1 -0
- package/dist/primitives/toggle.js +24 -0
- package/dist/primitives/tooltip.d.ts +15 -0
- package/dist/primitives/tooltip.d.ts.map +1 -0
- package/dist/primitives/tooltip.js +11 -0
- package/dist/primitives/video-player.d.ts +7 -0
- package/dist/primitives/video-player.d.ts.map +1 -0
- package/dist/primitives/video-player.js +7 -0
- package/dist/primitives/youtube-pip-player.d.ts +33 -0
- package/dist/primitives/youtube-pip-player.d.ts.map +1 -0
- package/dist/primitives/youtube-pip-player.js +253 -0
- package/dist/progress.js +2 -0
- package/dist/progress.mjs +2 -0
- package/dist/project/gantt.js +2 -0
- package/dist/project/gantt.mjs +2 -0
- package/dist/project/index.js +2 -0
- package/dist/project/index.mjs +2 -0
- package/dist/project/kanban.js +2 -0
- package/dist/project/kanban.mjs +2 -0
- package/dist/project/list.js +2 -0
- package/dist/project/list.mjs +2 -0
- package/dist/radio-group.js +2 -0
- package/dist/radio-group.mjs +2 -0
- package/dist/resizable.js +2 -0
- package/dist/resizable.mjs +2 -0
- package/dist/scroll-area.js +2 -0
- package/dist/scroll-area.mjs +2 -0
- package/dist/select.js +2 -0
- package/dist/select.mjs +2 -0
- package/dist/separator.js +2 -0
- package/dist/separator.mjs +2 -0
- package/dist/sheet.js +2 -0
- package/dist/sheet.mjs +2 -0
- package/dist/skeleton.js +2 -0
- package/dist/skeleton.mjs +2 -0
- package/dist/slider.js +2 -0
- package/dist/slider.mjs +2 -0
- package/dist/sonner.js +2 -0
- package/dist/sonner.mjs +2 -0
- package/dist/spline/index.js +2 -0
- package/dist/spline/index.mjs +2 -0
- package/dist/spline/media-stack.js +2 -0
- package/dist/spline/media-stack.mjs +2 -0
- package/dist/spline/player.js +2 -0
- package/dist/spline/player.mjs +2 -0
- package/dist/src/3d/button.d.ts +27 -0
- package/dist/src/3d/button.d.ts.map +1 -0
- package/dist/src/3d/button.js +181 -0
- package/dist/src/3d/card.d.ts +29 -0
- package/dist/src/3d/card.d.ts.map +1 -0
- package/dist/src/3d/card.js +117 -0
- package/dist/src/3d/carousel.d.ts +26 -0
- package/dist/src/3d/carousel.d.ts.map +1 -0
- package/dist/src/3d/carousel.js +171 -0
- package/dist/src/3d/grid.d.ts +49 -0
- package/dist/src/3d/grid.d.ts.map +1 -0
- package/dist/src/3d/grid.js +126 -0
- package/dist/src/3d/index.d.ts +7 -0
- package/dist/src/3d/index.d.ts.map +1 -0
- package/dist/src/3d/index.js +7 -0
- package/dist/src/3d/marquee.d.ts +37 -0
- package/dist/src/3d/marquee.d.ts.map +1 -0
- package/dist/src/3d/marquee.js +208 -0
- package/dist/src/3d/pin.d.ts +8 -0
- package/dist/src/3d/pin.d.ts.map +1 -0
- package/dist/src/3d/pin.js +9 -0
- package/dist/src/auth/AuthGuard.d.ts +16 -0
- package/dist/src/auth/AuthGuard.d.ts.map +1 -0
- package/dist/src/auth/AuthGuard.js +32 -0
- package/dist/src/auth/IAMLoginButton.d.ts +27 -0
- package/dist/src/auth/IAMLoginButton.d.ts.map +1 -0
- package/dist/src/auth/IAMLoginButton.js +22 -0
- package/dist/src/auth/PasswordForm.d.ts +22 -0
- package/dist/src/auth/PasswordForm.d.ts.map +1 -0
- package/dist/src/auth/PasswordForm.js +28 -0
- package/dist/src/auth/SignIn.d.ts +37 -0
- package/dist/src/auth/SignIn.d.ts.map +1 -0
- package/dist/src/auth/SignIn.js +26 -0
- package/dist/src/auth/SocialButton.d.ts +27 -0
- package/dist/src/auth/SocialButton.d.ts.map +1 -0
- package/dist/src/auth/SocialButton.js +37 -0
- package/dist/src/auth/Web3Connect.d.ts +9 -0
- package/dist/src/auth/Web3Connect.d.ts.map +1 -0
- package/dist/src/auth/Web3Connect.js +11 -0
- package/dist/src/auth/iam.d.ts +56 -0
- package/dist/src/auth/iam.d.ts.map +1 -0
- package/dist/src/auth/iam.js +78 -0
- package/dist/src/auth/index.d.ts +19 -0
- package/dist/src/auth/index.d.ts.map +1 -0
- package/dist/src/auth/index.js +14 -0
- package/dist/src/auth/types.d.ts +43 -0
- package/dist/src/auth/types.d.ts.map +1 -0
- package/dist/src/auth/types.js +8 -0
- package/dist/src/avatar.d.ts +2 -0
- package/dist/src/avatar.d.ts.map +1 -0
- package/dist/src/avatar.js +1 -0
- package/dist/src/badge.d.ts +2 -0
- package/dist/src/badge.d.ts.map +1 -0
- package/dist/src/badge.js +1 -0
- package/dist/src/billing/components/account-members.d.ts +10 -0
- package/dist/src/billing/components/account-members.d.ts.map +1 -0
- package/dist/src/billing/components/account-members.js +63 -0
- package/dist/src/billing/components/account-switcher.d.ts +9 -0
- package/dist/src/billing/components/account-switcher.d.ts.map +1 -0
- package/dist/src/billing/components/account-switcher.js +52 -0
- package/dist/src/billing/components/animated-card.d.ts +9 -0
- package/dist/src/billing/components/animated-card.d.ts.map +1 -0
- package/dist/src/billing/components/animated-card.js +161 -0
- package/dist/src/billing/components/billing-settings.d.ts +26 -0
- package/dist/src/billing/components/billing-settings.d.ts.map +1 -0
- package/dist/src/billing/components/billing-settings.js +23 -0
- package/dist/src/billing/components/billing-workspace.d.ts +28 -0
- package/dist/src/billing/components/billing-workspace.d.ts.map +1 -0
- package/dist/src/billing/components/billing-workspace.js +22 -0
- package/dist/src/billing/components/business-profile-panel.d.ts +7 -0
- package/dist/src/billing/components/business-profile-panel.d.ts.map +1 -0
- package/dist/src/billing/components/business-profile-panel.js +45 -0
- package/dist/src/billing/components/card-form.d.ts +18 -0
- package/dist/src/billing/components/card-form.d.ts.map +1 -0
- package/dist/src/billing/components/card-form.js +139 -0
- package/dist/src/billing/components/cost-explorer.d.ts +7 -0
- package/dist/src/billing/components/cost-explorer.d.ts.map +1 -0
- package/dist/src/billing/components/cost-explorer.js +73 -0
- package/dist/src/billing/components/credit-modal.d.ts +38 -0
- package/dist/src/billing/components/credit-modal.d.ts.map +1 -0
- package/dist/src/billing/components/credit-modal.js +39 -0
- package/dist/src/billing/components/credits-panel.d.ts +8 -0
- package/dist/src/billing/components/credits-panel.d.ts.map +1 -0
- package/dist/src/billing/components/credits-panel.js +58 -0
- package/dist/src/billing/components/guided-setup.d.ts +13 -0
- package/dist/src/billing/components/guided-setup.d.ts.map +1 -0
- package/dist/src/billing/components/guided-setup.js +44 -0
- package/dist/src/billing/components/index.d.ts +49 -0
- package/dist/src/billing/components/index.d.ts.map +1 -0
- package/dist/src/billing/components/index.js +24 -0
- package/dist/src/billing/components/invoice-manager.d.ts +10 -0
- package/dist/src/billing/components/invoice-manager.d.ts.map +1 -0
- package/dist/src/billing/components/invoice-manager.js +131 -0
- package/dist/src/billing/components/invoices-payments.d.ts +7 -0
- package/dist/src/billing/components/invoices-payments.d.ts.map +1 -0
- package/dist/src/billing/components/invoices-payments.js +44 -0
- package/dist/src/billing/components/overview-dashboard.d.ts +31 -0
- package/dist/src/billing/components/overview-dashboard.d.ts.map +1 -0
- package/dist/src/billing/components/overview-dashboard.js +105 -0
- package/dist/src/billing/components/payment-manager.d.ts +13 -0
- package/dist/src/billing/components/payment-manager.d.ts.map +1 -0
- package/dist/src/billing/components/payment-manager.js +342 -0
- package/dist/src/billing/components/promotions-panel.d.ts +7 -0
- package/dist/src/billing/components/promotions-panel.d.ts.map +1 -0
- package/dist/src/billing/components/promotions-panel.js +48 -0
- package/dist/src/billing/components/spend-alerts.d.ts +9 -0
- package/dist/src/billing/components/spend-alerts.d.ts.map +1 -0
- package/dist/src/billing/components/spend-alerts.js +99 -0
- package/dist/src/billing/components/square-card-form.d.ts +32 -0
- package/dist/src/billing/components/square-card-form.d.ts.map +1 -0
- package/dist/src/billing/components/square-card-form.js +179 -0
- package/dist/src/billing/components/status-bar.d.ts +12 -0
- package/dist/src/billing/components/status-bar.d.ts.map +1 -0
- package/dist/src/billing/components/status-bar.js +32 -0
- package/dist/src/billing/components/subscription-portal.d.ts +17 -0
- package/dist/src/billing/components/subscription-portal.d.ts.map +1 -0
- package/dist/src/billing/components/subscription-portal.js +185 -0
- package/dist/src/billing/components/support-tiers-panel.d.ts +6 -0
- package/dist/src/billing/components/support-tiers-panel.d.ts.map +1 -0
- package/dist/src/billing/components/support-tiers-panel.js +90 -0
- package/dist/src/billing/components/tax-compliance-panel.d.ts +8 -0
- package/dist/src/billing/components/tax-compliance-panel.d.ts.map +1 -0
- package/dist/src/billing/components/tax-compliance-panel.js +41 -0
- package/dist/src/billing/components/transactions-panel.d.ts +8 -0
- package/dist/src/billing/components/transactions-panel.d.ts.map +1 -0
- package/dist/src/billing/components/transactions-panel.js +64 -0
- package/dist/src/billing/components/usage-panel.d.ts +7 -0
- package/dist/src/billing/components/usage-panel.d.ts.map +1 -0
- package/dist/src/billing/components/usage-panel.js +64 -0
- package/dist/src/billing/index.d.ts +7 -0
- package/dist/src/billing/index.d.ts.map +1 -0
- package/dist/src/billing/index.js +8 -0
- package/dist/src/billing/types/index.d.ts +312 -0
- package/dist/src/billing/types/index.d.ts.map +1 -0
- package/dist/src/billing/types/index.js +1 -0
- package/dist/src/button.d.ts +2 -0
- package/dist/src/button.d.ts.map +1 -0
- package/dist/src/button.js +1 -0
- package/dist/src/calendar-ext/index.d.ts +4 -0
- package/dist/src/calendar-ext/index.d.ts.map +1 -0
- package/dist/src/calendar-ext/index.js +7 -0
- package/dist/src/charts/index.d.ts +65 -0
- package/dist/src/charts/index.d.ts.map +1 -0
- package/dist/src/charts/index.js +76 -0
- package/dist/src/dash/crud.d.ts +37 -0
- package/dist/src/dash/crud.d.ts.map +1 -0
- package/dist/src/dash/crud.js +74 -0
- package/dist/src/dash/form.d.ts +52 -0
- package/dist/src/dash/form.d.ts.map +1 -0
- package/dist/src/dash/form.js +90 -0
- package/dist/src/dash/header.d.ts +28 -0
- package/dist/src/dash/header.d.ts.map +1 -0
- package/dist/src/dash/header.js +24 -0
- package/dist/src/dash/index.d.ts +21 -0
- package/dist/src/dash/index.d.ts.map +1 -0
- package/dist/src/dash/index.js +20 -0
- package/dist/src/dash/layout.d.ts +16 -0
- package/dist/src/dash/layout.d.ts.map +1 -0
- package/dist/src/dash/layout.js +8 -0
- package/dist/src/dash/sidebar.d.ts +31 -0
- package/dist/src/dash/sidebar.d.ts.map +1 -0
- package/dist/src/dash/sidebar.js +26 -0
- package/dist/src/dash/table.d.ts +50 -0
- package/dist/src/dash/table.d.ts.map +1 -0
- package/dist/src/dash/table.js +88 -0
- package/dist/src/desktop/hooks.d.ts +75 -0
- package/dist/src/desktop/hooks.d.ts.map +1 -0
- package/dist/src/desktop/hooks.js +194 -0
- package/dist/src/desktop/index.d.ts +7 -0
- package/dist/src/desktop/index.d.ts.map +1 -0
- package/dist/src/desktop/index.js +8 -0
- package/dist/src/desktop/spotlight.d.ts +24 -0
- package/dist/src/desktop/spotlight.d.ts.map +1 -0
- package/dist/src/desktop/spotlight.js +126 -0
- package/dist/src/desktop/window.d.ts +34 -0
- package/dist/src/desktop/window.d.ts.map +1 -0
- package/dist/src/desktop/window.js +114 -0
- package/dist/src/device/index.d.ts +2 -0
- package/dist/src/device/index.d.ts.map +1 -0
- package/dist/src/device/index.js +1 -0
- package/dist/src/dock/basic.d.ts +20 -0
- package/dist/src/dock/basic.d.ts.map +1 -0
- package/dist/src/dock/basic.js +50 -0
- package/dist/src/dock/index.d.ts +6 -0
- package/dist/src/dock/index.d.ts.map +1 -0
- package/dist/src/dock/index.js +6 -0
- package/dist/src/dock/limelight-nav.d.ts +10 -0
- package/dist/src/dock/limelight-nav.d.ts.map +1 -0
- package/dist/src/dock/limelight-nav.js +25 -0
- package/dist/src/dock/macos.d.ts +17 -0
- package/dist/src/dock/macos.d.ts.map +1 -0
- package/dist/src/dock/macos.js +38 -0
- package/dist/src/dock/menu.d.ts +14 -0
- package/dist/src/dock/menu.d.ts.map +1 -0
- package/dist/src/dock/menu.js +10 -0
- package/dist/src/dock/message.d.ts +15 -0
- package/dist/src/dock/message.d.ts.map +1 -0
- package/dist/src/dock/message.js +21 -0
- package/dist/src/form/form.d.ts +26 -0
- package/dist/src/form/form.d.ts.map +1 -0
- package/dist/src/form/form.js +66 -0
- package/dist/src/form/index.d.ts +2 -0
- package/dist/src/form/index.d.ts.map +1 -0
- package/dist/src/form/index.js +2 -0
- package/dist/src/hooks/index.d.ts +8 -0
- package/dist/src/hooks/index.d.ts.map +1 -0
- package/dist/src/hooks/index.js +7 -0
- package/dist/src/hooks/use-click-away.d.ts +3 -0
- package/dist/src/hooks/use-click-away.d.ts.map +1 -0
- package/dist/src/hooks/use-click-away.js +23 -0
- package/dist/src/hooks/use-combined-refs.d.ts +4 -0
- package/dist/src/hooks/use-combined-refs.d.ts.map +1 -0
- package/dist/src/hooks/use-combined-refs.js +18 -0
- package/dist/src/hooks/use-copy-clipboard.d.ts +10 -0
- package/dist/src/hooks/use-copy-clipboard.d.ts.map +1 -0
- package/dist/src/hooks/use-copy-clipboard.js +21 -0
- package/dist/src/hooks/use-debounce.d.ts +2 -0
- package/dist/src/hooks/use-debounce.d.ts.map +1 -0
- package/dist/src/hooks/use-debounce.js +13 -0
- package/dist/src/hooks/use-fill-ids.d.ts +9 -0
- package/dist/src/hooks/use-fill-ids.d.ts.map +1 -0
- package/dist/src/hooks/use-fill-ids.js +20 -0
- package/dist/src/hooks/use-map.d.ts +2 -0
- package/dist/src/hooks/use-map.d.ts.map +1 -0
- package/dist/src/hooks/use-map.js +20 -0
- package/dist/src/hooks/use-measure.d.ts +9 -0
- package/dist/src/hooks/use-measure.d.ts.map +1 -0
- package/dist/src/hooks/use-measure.js +25 -0
- package/dist/src/hooks/use-reverse-video-playback.d.ts +2 -0
- package/dist/src/hooks/use-reverse-video-playback.d.ts.map +1 -0
- package/dist/src/hooks/use-reverse-video-playback.js +41 -0
- package/dist/src/hooks/use-scroll-restoration.d.ts +9 -0
- package/dist/src/hooks/use-scroll-restoration.d.ts.map +1 -0
- package/dist/src/hooks/use-scroll-restoration.js +36 -0
- package/dist/src/kanban/index.d.ts +3 -0
- package/dist/src/kanban/index.d.ts.map +1 -0
- package/dist/src/kanban/index.js +4 -0
- package/dist/src/mcp/enhanced-server.d.ts +41 -0
- package/dist/src/mcp/enhanced-server.d.ts.map +1 -0
- package/dist/src/mcp/enhanced-server.js +1128 -0
- package/dist/src/mcp/index.d.ts +40 -0
- package/dist/src/mcp/index.d.ts.map +1 -0
- package/dist/src/mcp/index.js +436 -0
- package/dist/src/mermaid/index.d.ts +3 -0
- package/dist/src/mermaid/index.d.ts.map +1 -0
- package/dist/src/mermaid/index.js +3 -0
- package/dist/src/models/ModelCard.d.ts +25 -0
- package/dist/src/models/ModelCard.d.ts.map +1 -0
- package/dist/src/models/ModelCard.js +73 -0
- package/dist/src/models/ModelLibrary.d.ts +41 -0
- package/dist/src/models/ModelLibrary.d.ts.map +1 -0
- package/dist/src/models/ModelLibrary.js +63 -0
- package/dist/src/models/ModelTable.d.ts +17 -0
- package/dist/src/models/ModelTable.d.ts.map +1 -0
- package/dist/src/models/ModelTable.js +35 -0
- package/dist/src/models/ZenEnso.d.ts +17 -0
- package/dist/src/models/ZenEnso.d.ts.map +1 -0
- package/dist/src/models/ZenEnso.js +50 -0
- package/dist/src/models/index.d.ts +23 -0
- package/dist/src/models/index.d.ts.map +1 -0
- package/dist/src/models/index.js +18 -0
- package/dist/src/models/types.d.ts +40 -0
- package/dist/src/models/types.d.ts.map +1 -0
- package/dist/src/models/types.js +7 -0
- package/dist/src/navigation/advanced-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/advanced-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/advanced-navigation-bar.js +4 -0
- package/dist/src/navigation/ai-model-selector-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/ai-model-selector-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/ai-model-selector-navigation-bar.js +4 -0
- package/dist/src/navigation/app-switcher-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/app-switcher-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/app-switcher-navigation-bar.js +4 -0
- package/dist/src/navigation/breadcrumb-and-filters-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/breadcrumb-and-filters-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/breadcrumb-and-filters-navigation-bar.js +4 -0
- package/dist/src/navigation/breadcrumb-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/breadcrumb-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/breadcrumb-navigation-bar.js +4 -0
- package/dist/src/navigation/centered-logo-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/centered-logo-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/centered-logo-navigation-bar.js +4 -0
- package/dist/src/navigation/collaboration-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/collaboration-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/collaboration-navigation-bar.js +4 -0
- package/dist/src/navigation/communication-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/communication-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/communication-navigation-bar.js +4 -0
- package/dist/src/navigation/context-switcher-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/context-switcher-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/context-switcher-navigation-bar.js +4 -0
- package/dist/src/navigation/dashboard-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/dashboard-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/dashboard-navigation-bar.js +4 -0
- package/dist/src/navigation/e-commerce-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/e-commerce-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/e-commerce-navigation-bar.js +4 -0
- package/dist/src/navigation/hanzo-shell/AppSwitcher.d.ts +8 -0
- package/dist/src/navigation/hanzo-shell/AppSwitcher.d.ts.map +1 -0
- package/dist/src/navigation/hanzo-shell/AppSwitcher.js +42 -0
- package/dist/src/navigation/hanzo-shell/BeamAvatar.d.ts +9 -0
- package/dist/src/navigation/hanzo-shell/BeamAvatar.d.ts.map +1 -0
- package/dist/src/navigation/hanzo-shell/BeamAvatar.js +38 -0
- package/dist/src/navigation/hanzo-shell/HanzoCommandPalette.d.ts +28 -0
- package/dist/src/navigation/hanzo-shell/HanzoCommandPalette.d.ts.map +1 -0
- package/dist/src/navigation/hanzo-shell/HanzoCommandPalette.js +124 -0
- package/dist/src/navigation/hanzo-shell/HanzoHeader.d.ts +16 -0
- package/dist/src/navigation/hanzo-shell/HanzoHeader.d.ts.map +1 -0
- package/dist/src/navigation/hanzo-shell/HanzoHeader.js +101 -0
- package/dist/src/navigation/hanzo-shell/HanzoMark.d.ts +17 -0
- package/dist/src/navigation/hanzo-shell/HanzoMark.d.ts.map +1 -0
- package/dist/src/navigation/hanzo-shell/HanzoMark.js +57 -0
- package/dist/src/navigation/hanzo-shell/UserAvatar.d.ts +15 -0
- package/dist/src/navigation/hanzo-shell/UserAvatar.d.ts.map +1 -0
- package/dist/src/navigation/hanzo-shell/UserAvatar.js +44 -0
- package/dist/src/navigation/hanzo-shell/UserOrgDropdown.d.ts +11 -0
- package/dist/src/navigation/hanzo-shell/UserOrgDropdown.d.ts.map +1 -0
- package/dist/src/navigation/hanzo-shell/UserOrgDropdown.js +29 -0
- package/dist/src/navigation/hanzo-shell/index.d.ts +14 -0
- package/dist/src/navigation/hanzo-shell/index.d.ts.map +1 -0
- package/dist/src/navigation/hanzo-shell/index.js +9 -0
- package/dist/src/navigation/hanzo-shell/types.d.ts +95 -0
- package/dist/src/navigation/hanzo-shell/types.d.ts.map +1 -0
- package/dist/src/navigation/hanzo-shell/types.js +337 -0
- package/dist/src/navigation/hanzo-shell/useHanzoAuth.d.ts +16 -0
- package/dist/src/navigation/hanzo-shell/useHanzoAuth.d.ts.map +1 -0
- package/dist/src/navigation/hanzo-shell/useHanzoAuth.js +93 -0
- package/dist/src/navigation/icon-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/icon-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/icon-navigation-bar.js +4 -0
- package/dist/src/navigation/index.d.ts +21 -0
- package/dist/src/navigation/index.d.ts.map +1 -0
- package/dist/src/navigation/index.js +21 -0
- package/dist/src/navigation/search-and-toggle-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/search-and-toggle-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/search-and-toggle-navigation-bar.js +4 -0
- package/dist/src/navigation/simple-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/simple-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/simple-navigation-bar.js +4 -0
- package/dist/src/navigation/status-dashboard-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/status-dashboard-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/status-dashboard-navigation-bar.js +4 -0
- package/dist/src/navigation/team-switcher-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/team-switcher-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/team-switcher-navigation-bar.js +4 -0
- package/dist/src/navigation/two-tier-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/two-tier-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/two-tier-navigation-bar.js +4 -0
- package/dist/src/navigation/underline-navigation-bar.d.ts +2 -0
- package/dist/src/navigation/underline-navigation-bar.d.ts.map +1 -0
- package/dist/src/navigation/underline-navigation-bar.js +4 -0
- package/dist/src/network/NetworkSwitcher.d.ts +8 -0
- package/dist/src/network/NetworkSwitcher.d.ts.map +1 -0
- package/dist/src/network/NetworkSwitcher.js +80 -0
- package/dist/src/network/index.d.ts +4 -0
- package/dist/src/network/index.d.ts.map +1 -0
- package/dist/src/network/index.js +3 -0
- package/dist/src/network/networks.d.ts +39 -0
- package/dist/src/network/networks.d.ts.map +1 -0
- package/dist/src/network/networks.js +70 -0
- package/dist/src/network/store.d.ts +24 -0
- package/dist/src/network/store.d.ts.map +1 -0
- package/dist/src/network/store.js +116 -0
- package/dist/src/pattern/grid.d.ts +111 -0
- package/dist/src/pattern/grid.d.ts.map +1 -0
- package/dist/src/pattern/grid.js +126 -0
- package/dist/src/pattern/index.d.ts +3 -0
- package/dist/src/pattern/index.d.ts.map +1 -0
- package/dist/src/pattern/index.js +2 -0
- package/dist/src/project/gantt.d.ts +13 -0
- package/dist/src/project/gantt.d.ts.map +1 -0
- package/dist/src/project/gantt.js +9 -0
- package/dist/src/project/index.d.ts +4 -0
- package/dist/src/project/index.d.ts.map +1 -0
- package/dist/src/project/index.js +7 -0
- package/dist/src/project/kanban.d.ts +36 -0
- package/dist/src/project/kanban.d.ts.map +1 -0
- package/dist/src/project/kanban.js +259 -0
- package/dist/src/project/list.d.ts +5 -0
- package/dist/src/project/list.d.ts.map +1 -0
- package/dist/src/project/list.js +8 -0
- package/dist/src/registry/api.d.ts +38 -0
- package/dist/src/registry/api.d.ts.map +1 -0
- package/dist/src/registry/api.js +129 -0
- package/dist/src/registry/index.d.ts +354 -0
- package/dist/src/registry/index.d.ts.map +1 -0
- package/dist/src/registry/index.js +45 -0
- package/dist/src/spline/index.d.ts +3 -0
- package/dist/src/spline/index.d.ts.map +1 -0
- package/dist/src/spline/index.js +4 -0
- package/dist/src/spline/media-stack.d.ts +15 -0
- package/dist/src/spline/media-stack.d.ts.map +1 -0
- package/dist/src/spline/media-stack.js +33 -0
- package/dist/src/spline/player.d.ts +15 -0
- package/dist/src/spline/player.d.ts.map +1 -0
- package/dist/src/spline/player.js +12 -0
- package/dist/src/ui/announcement.d.ts +9 -0
- package/dist/src/ui/announcement.d.ts.map +1 -0
- package/dist/src/ui/announcement.js +18 -0
- package/dist/src/ui/avatar-group.d.ts +12 -0
- package/dist/src/ui/avatar-group.d.ts.map +1 -0
- package/dist/src/ui/avatar-group.js +12 -0
- package/dist/src/ui/banner.d.ts +11 -0
- package/dist/src/ui/banner.d.ts.map +1 -0
- package/dist/src/ui/banner.js +25 -0
- package/dist/src/ui/cursor.d.ts +9 -0
- package/dist/src/ui/cursor.d.ts.map +1 -0
- package/dist/src/ui/cursor.js +24 -0
- package/dist/src/ui/index.d.ts +18 -0
- package/dist/src/ui/index.d.ts.map +1 -0
- package/dist/src/ui/index.js +10 -0
- package/dist/src/ui/marquee.d.ts +10 -0
- package/dist/src/ui/marquee.d.ts.map +1 -0
- package/dist/src/ui/marquee.js +14 -0
- package/dist/src/ui/pill.d.ts +11 -0
- package/dist/src/ui/pill.d.ts.map +1 -0
- package/dist/src/ui/pill.js +25 -0
- package/dist/src/ui/spinner.d.ts +3 -0
- package/dist/src/ui/spinner.d.ts.map +1 -0
- package/dist/src/ui/spinner.js +7 -0
- package/dist/src/ui/tags.d.ts +13 -0
- package/dist/src/ui/tags.d.ts.map +1 -0
- package/dist/src/ui/tags.js +11 -0
- package/dist/src/ui/ticker.d.ts +10 -0
- package/dist/src/ui/ticker.d.ts.map +1 -0
- package/dist/src/ui/ticker.js +12 -0
- package/dist/src/utils.d.ts +5 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +16 -0
- package/dist/src/wallet/WalletMenu.d.ts +9 -0
- package/dist/src/wallet/WalletMenu.d.ts.map +1 -0
- package/dist/src/wallet/WalletMenu.js +70 -0
- package/dist/src/wallet/evm.d.ts +28 -0
- package/dist/src/wallet/evm.d.ts.map +1 -0
- package/dist/src/wallet/evm.js +113 -0
- package/dist/src/wallet/index.d.ts +4 -0
- package/dist/src/wallet/index.d.ts.map +1 -0
- package/dist/src/wallet/index.js +3 -0
- package/dist/src/wallet/types.d.ts +44 -0
- package/dist/src/wallet/types.d.ts.map +1 -0
- package/dist/src/wallet/types.js +17 -0
- package/dist/style/theme-provider.d.ts +5 -0
- package/dist/style/theme-provider.d.ts.map +1 -0
- package/dist/style/theme-provider.js +8 -0
- package/dist/switch.js +2 -0
- package/dist/switch.mjs +2 -0
- package/dist/table.js +2 -0
- package/dist/table.mjs +2 -0
- package/dist/tabs.js +2 -0
- package/dist/tabs.mjs +2 -0
- package/dist/tailwind/colors.tailwind.d.ts +53 -0
- package/dist/tailwind/colors.tailwind.d.ts.map +1 -0
- package/dist/tailwind/colors.tailwind.js +52 -0
- package/dist/tailwind/fontFamily.tailwind.d.ts +9 -0
- package/dist/tailwind/fontFamily.tailwind.d.ts.map +1 -0
- package/dist/tailwind/fontFamily.tailwind.js +7 -0
- package/dist/tailwind/fontSize.tailwind.d.ts +37 -0
- package/dist/tailwind/fontSize.tailwind.d.ts.map +1 -0
- package/dist/tailwind/fontSize.tailwind.js +13 -0
- package/dist/tailwind/index.d.ts +4 -0
- package/dist/tailwind/index.d.ts.map +1 -0
- package/dist/tailwind/index.js +2 -0
- package/dist/tailwind/index.mjs +1 -0
- package/dist/tailwind/safelist.tailwind.d.ts +9 -0
- package/dist/tailwind/safelist.tailwind.d.ts.map +1 -0
- package/dist/tailwind/safelist.tailwind.js +25 -0
- package/dist/tailwind/screens.tailwind.d.ts +10 -0
- package/dist/tailwind/screens.tailwind.d.ts.map +1 -0
- package/dist/tailwind/screens.tailwind.js +8 -0
- package/dist/tailwind/spacing.tailwind.d.ts +59 -0
- package/dist/tailwind/spacing.tailwind.d.ts.map +1 -0
- package/dist/tailwind/spacing.tailwind.js +62 -0
- package/dist/tailwind/tailwind.config.hanzo-preset.d.ts +1299 -0
- package/dist/tailwind/tailwind.config.hanzo-preset.d.ts.map +1 -0
- package/dist/tailwind/tailwind.config.hanzo-preset.js +911 -0
- package/dist/tailwind/tw-font-desc.d.ts +7 -0
- package/dist/tailwind/tw-font-desc.d.ts.map +1 -0
- package/dist/tailwind/tw-font-desc.js +6 -0
- package/dist/tailwind/z-index.tailwind.d.ts +51 -0
- package/dist/tailwind/z-index.tailwind.d.ts.map +1 -0
- package/dist/tailwind/z-index.tailwind.js +67 -0
- package/dist/textarea.js +2 -0
- package/dist/textarea.mjs +2 -0
- package/dist/toggle-group.js +2 -0
- package/dist/toggle-group.mjs +2 -0
- package/dist/toggle.js +2 -0
- package/dist/toggle.mjs +2 -0
- package/dist/tooltip.js +2 -0
- package/dist/tooltip.mjs +2 -0
- package/dist/types/animation-def.d.ts +3 -0
- package/dist/types/animation-def.d.ts.map +1 -0
- package/dist/types/animation-def.js +1 -0
- package/dist/types/breakpoints.d.ts +5 -0
- package/dist/types/breakpoints.d.ts.map +1 -0
- package/dist/types/breakpoints.js +4 -0
- package/dist/types/bullet-item.d.ts +7 -0
- package/dist/types/bullet-item.d.ts.map +1 -0
- package/dist/types/bullet-item.js +1 -0
- package/dist/types/button-def.d.ts +30 -0
- package/dist/types/button-def.d.ts.map +1 -0
- package/dist/types/button-def.js +1 -0
- package/dist/types/dimensions.d.ts +6 -0
- package/dist/types/dimensions.d.ts.map +1 -0
- package/dist/types/dimensions.js +1 -0
- package/dist/types/grid-def.d.ts +37 -0
- package/dist/types/grid-def.d.ts.map +1 -0
- package/dist/types/grid-def.js +33 -0
- package/dist/types/image-def.d.ts +28 -0
- package/dist/types/image-def.d.ts.map +1 -0
- package/dist/types/image-def.js +1 -0
- package/dist/types/index.d.ts +15 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +2 -0
- package/dist/types/index.mjs +1 -0
- package/dist/types/link-def.d.ts +45 -0
- package/dist/types/link-def.d.ts.map +1 -0
- package/dist/types/link-def.js +1 -0
- package/dist/types/media-stack-def.d.ts +26 -0
- package/dist/types/media-stack-def.d.ts.map +1 -0
- package/dist/types/media-stack-def.js +1 -0
- package/dist/types/t-shirt-size.d.ts +3 -0
- package/dist/types/t-shirt-size.d.ts.map +1 -0
- package/dist/types/t-shirt-size.js +1 -0
- package/dist/types/tshirt-dimensions.d.ts +13 -0
- package/dist/types/tshirt-dimensions.d.ts.map +1 -0
- package/dist/types/tshirt-dimensions.js +1 -0
- package/dist/types/video-def.d.ts +10 -0
- package/dist/types/video-def.d.ts.map +1 -0
- package/dist/types/video-def.js +1 -0
- package/dist/ui/announcement.js +2 -0
- package/dist/ui/announcement.mjs +2 -0
- package/dist/ui/avatar-group.js +2 -0
- package/dist/ui/avatar-group.mjs +2 -0
- package/dist/ui/banner.js +2 -0
- package/dist/ui/banner.mjs +2 -0
- package/dist/ui/cursor.js +2 -0
- package/dist/ui/cursor.mjs +2 -0
- package/dist/ui/index.js +2 -0
- package/dist/ui/index.mjs +2 -0
- package/dist/ui/marquee.js +2 -0
- package/dist/ui/marquee.mjs +2 -0
- package/dist/ui/pill.js +2 -0
- package/dist/ui/pill.mjs +2 -0
- package/dist/ui/spinner.js +2 -0
- package/dist/ui/spinner.mjs +2 -0
- package/dist/ui/tags.js +2 -0
- package/dist/ui/tags.mjs +2 -0
- package/dist/ui/ticker.js +2 -0
- package/dist/ui/ticker.mjs +2 -0
- package/dist/util/blob.d.ts +3 -0
- package/dist/util/blob.d.ts.map +1 -0
- package/dist/util/blob.js +23 -0
- package/dist/util/copy-to-clipboard.d.ts +2 -0
- package/dist/util/copy-to-clipboard.d.ts.map +1 -0
- package/dist/util/copy-to-clipboard.js +18 -0
- package/dist/util/create-shadow-root.d.ts +8 -0
- package/dist/util/create-shadow-root.d.ts.map +1 -0
- package/dist/util/create-shadow-root.js +18 -0
- package/dist/util/date.d.ts +29 -0
- package/dist/util/date.d.ts.map +1 -0
- package/dist/util/date.js +60 -0
- package/dist/util/debounce.d.ts +2 -0
- package/dist/util/debounce.d.ts.map +1 -0
- package/dist/util/debounce.js +11 -0
- package/dist/util/file.d.ts +4 -0
- package/dist/util/file.d.ts.map +1 -0
- package/dist/util/file.js +13 -0
- package/dist/util/format-and-abbreviate-as-currency.d.ts +18 -0
- package/dist/util/format-and-abbreviate-as-currency.d.ts.map +1 -0
- package/dist/util/format-and-abbreviate-as-currency.js +91 -0
- package/dist/util/format-text.d.ts +8 -0
- package/dist/util/format-text.d.ts.map +1 -0
- package/dist/util/format-text.js +26 -0
- package/dist/util/format-to-max-char.d.ts +12 -0
- package/dist/util/format-to-max-char.d.ts.map +1 -0
- package/dist/util/format-to-max-char.js +57 -0
- package/dist/util/index-client.d.ts +3 -0
- package/dist/util/index-client.d.ts.map +1 -0
- package/dist/util/index-client.js +3 -0
- package/dist/util/index.d.ts +37 -0
- package/dist/util/index.d.ts.map +1 -0
- package/dist/util/index.js +80 -0
- package/dist/util/index.mjs +1 -0
- package/dist/util/number-abbreviate.d.ts +10 -0
- package/dist/util/number-abbreviate.d.ts.map +1 -0
- package/dist/util/number-abbreviate.js +30 -0
- package/dist/util/specifier.d.ts +8 -0
- package/dist/util/specifier.d.ts.map +1 -0
- package/dist/util/specifier.js +31 -0
- package/dist/util/spread-to-transform.d.ts +8 -0
- package/dist/util/spread-to-transform.d.ts.map +1 -0
- package/dist/util/spread-to-transform.js +19 -0
- package/dist/util/step-animation.d.ts +6 -0
- package/dist/util/step-animation.d.ts.map +1 -0
- package/dist/util/step-animation.js +60 -0
- package/dist/util/timing.d.ts +2 -0
- package/dist/util/timing.d.ts.map +1 -0
- package/dist/util/timing.js +3 -0
- package/dist/util/toasts.d.ts +3 -0
- package/dist/util/toasts.d.ts.map +1 -0
- package/dist/util/toasts.js +10 -0
- package/dist/util/two-way-map.d.ts +9 -0
- package/dist/util/two-way-map.d.ts.map +1 -0
- package/dist/util/two-way-map.js +16 -0
- package/dist/util/use-mobile.d.ts +2 -0
- package/dist/util/use-mobile.d.ts.map +1 -0
- package/dist/util/use-mobile.js +15 -0
- package/dist/utils.d.ts +4 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +7 -0
- package/dist/wallet/index.js +3 -0
- package/dist/wallet/index.mjs +3 -0
- package/docs/_registry/index.ts +426 -0
- package/docs/_registry/layout/docs-min.tsx +197 -0
- package/docs/_registry/layout/page-min.tsx +128 -0
- package/docs/components/accordion.tsx +118 -0
- package/docs/components/banner.tsx +144 -0
- package/docs/components/callout.tsx +112 -0
- package/docs/components/card.tsx +52 -0
- package/docs/components/codeblock.tsx +258 -0
- package/docs/components/dialog/search-algolia.tsx +132 -0
- package/docs/components/dialog/search-default.tsx +131 -0
- package/docs/components/dialog/search-orama.tsx +143 -0
- package/docs/components/dialog/search.tsx +529 -0
- package/docs/components/dynamic-codeblock.tsx +129 -0
- package/docs/components/files.tsx +81 -0
- package/docs/components/github-info.tsx +107 -0
- package/docs/components/heading.tsx +33 -0
- package/docs/components/image-zoom.css +77 -0
- package/docs/components/image-zoom.tsx +58 -0
- package/docs/components/index.ts +7 -0
- package/docs/components/inline-toc.tsx +48 -0
- package/docs/components/sidebar/base.tsx +451 -0
- package/docs/components/sidebar/link-item.tsx +65 -0
- package/docs/components/sidebar/page-tree.tsx +113 -0
- package/docs/components/sidebar/tabs/dropdown.tsx +109 -0
- package/docs/components/sidebar/tabs/index.tsx +89 -0
- package/docs/components/steps.tsx +9 -0
- package/docs/components/tabs.tsx +203 -0
- package/docs/components/toc/clerk.tsx +173 -0
- package/docs/components/toc/default.tsx +57 -0
- package/docs/components/toc/index.tsx +136 -0
- package/docs/components/type-table.tsx +174 -0
- package/docs/components/ui/accordion.tsx +88 -0
- package/docs/components/ui/button.tsx +28 -0
- package/docs/components/ui/collapsible.tsx +42 -0
- package/docs/components/ui/navigation-menu.tsx +83 -0
- package/docs/components/ui/popover.tsx +32 -0
- package/docs/components/ui/scroll-area.tsx +59 -0
- package/docs/components/ui/tabs.tsx +145 -0
- package/docs/contexts/i18n.tsx +56 -0
- package/docs/contexts/search.tsx +165 -0
- package/docs/contexts/tree.tsx +65 -0
- package/docs/css/aspen.css +39 -0
- package/docs/css/black.css +39 -0
- package/docs/css/catppuccin.css +49 -0
- package/docs/css/colors/index.css +51 -0
- package/docs/css/dusk.css +47 -0
- package/docs/css/emerald.css +39 -0
- package/docs/css/layouts/docs.css +1 -0
- package/docs/css/layouts/home.css +1 -0
- package/docs/css/layouts/notebook.css +1 -0
- package/docs/css/neutral.css +7 -0
- package/docs/css/ocean.css +48 -0
- package/docs/css/preset.css +305 -0
- package/docs/css/purple.css +39 -0
- package/docs/css/ruby.css +39 -0
- package/docs/css/shadcn.css +36 -0
- package/docs/css/shiki.css +90 -0
- package/docs/css/solar.css +75 -0
- package/docs/css/style.css +9 -0
- package/docs/css/vitepress.css +77 -0
- package/docs/i18n.tsx +30 -0
- package/docs/icons.tsx +354 -0
- package/docs/layouts/docs/client.tsx +129 -0
- package/docs/layouts/docs/index.tsx +321 -0
- package/docs/layouts/docs/page/client.tsx +376 -0
- package/docs/layouts/docs/page/index.tsx +251 -0
- package/docs/layouts/docs/sidebar.tsx +265 -0
- package/docs/layouts/home/client.tsx +375 -0
- package/docs/layouts/home/index.tsx +51 -0
- package/docs/layouts/home/navbar.tsx +55 -0
- package/docs/layouts/notebook/client.tsx +281 -0
- package/docs/layouts/notebook/index.tsx +461 -0
- package/docs/layouts/notebook/page/client.tsx +375 -0
- package/docs/layouts/notebook/page/index.tsx +251 -0
- package/docs/layouts/notebook/sidebar.tsx +248 -0
- package/docs/layouts/shared/index.tsx +89 -0
- package/docs/layouts/shared/language-toggle.tsx +66 -0
- package/docs/layouts/shared/link-item.tsx +119 -0
- package/docs/layouts/shared/search-toggle.tsx +78 -0
- package/docs/layouts/shared/theme-toggle.tsx +86 -0
- package/docs/mdx.server.tsx +37 -0
- package/docs/mdx.tsx +97 -0
- package/docs/og.tsx +101 -0
- package/docs/page.tsx +85 -0
- package/docs/provider/base.tsx +173 -0
- package/docs/provider/next.tsx +23 -0
- package/docs/provider/react-router.tsx +23 -0
- package/docs/provider/tanstack.tsx +23 -0
- package/docs/provider/waku.tsx +23 -0
- package/docs/source.ts +3 -0
- package/docs/theme/typography/LICENSE +21 -0
- package/docs/theme/typography/index.ts +201 -0
- package/docs/theme/typography/styles.ts +449 -0
- package/docs/utils/cn.ts +1 -0
- package/docs/utils/is-active.ts +23 -0
- package/docs/utils/merge-refs.ts +15 -0
- package/docs/utils/use-copy-button.ts +39 -0
- package/docs/utils/use-footer-items.ts +27 -0
- package/docs/utils/use-is-scroll-top.ts +21 -0
- package/finance/README.md +164 -0
- package/finance/components/AdvancedChart.tsx +58 -0
- package/finance/components/CompanyProfile.tsx +65 -0
- package/finance/components/CryptoScreener.tsx +55 -0
- package/finance/components/Financials.tsx +71 -0
- package/finance/components/ForexScreener.tsx +56 -0
- package/finance/components/MarketOverview.tsx +114 -0
- package/finance/components/NewsTimeline.tsx +54 -0
- package/finance/components/OrderEntry.tsx +157 -0
- package/finance/components/OrdersHistory.tsx +103 -0
- package/finance/components/PositionsList.tsx +85 -0
- package/finance/components/StockScreener.tsx +56 -0
- package/finance/components/SymbolInfo.tsx +62 -0
- package/finance/components/TechnicalAnalysis.tsx +74 -0
- package/finance/components/TickerTape.tsx +66 -0
- package/finance/components/TradingPanel.tsx +238 -0
- package/finance/components/index.ts +40 -0
- package/finance/index.ts +23 -0
- package/package.json +871 -0
- package/style/drawer.css +163 -0
- package/style/globals.css +146 -0
- package/style/hanzo-common.css +31 -0
- package/style/hanzo-default-colors.css +147 -0
- package/style/tailwind.css +200 -0
- package/style/theme-provider.tsx +20 -0
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
'use strict';var U=require('react'),jsxRuntime=require('react/jsx-runtime'),rainbowkit=require('@rainbow-me/rainbowkit'),wagmi=require('wagmi'),re=require('@radix-ui/react-dialog'),lucideReact=require('lucide-react'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),reactSlot=require('@radix-ui/react-slot'),classVarianceAuthority=require('class-variance-authority');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var U__namespace=/*#__PURE__*/_interopNamespace(U);var re__namespace=/*#__PURE__*/_interopNamespace(re);var ca=Object.defineProperty;var n=(e,t)=>ca(e,"name",{value:t,configurable:true});function at(e,t="USD"){return new Intl.NumberFormat("en-US",{style:"currency",currency:t,maximumFractionDigits:0}).format(e)}n(at,"formatCurrency");function rt(e){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"}).format(e)}n(rt,"formatDate");var At={active:{label:"Active",className:"bg-emerald-500/10 text-emerald-500 ring-emerald-500/20"},canceled:{label:"Canceled",className:"bg-rose-500/10 text-rose-500 ring-rose-500/20"},past_due:{label:"Past due",className:"bg-amber-500/10 text-amber-500 ring-amber-500/20"},trialing:{label:"Trialing",className:"bg-sky-500/10 text-sky-500 ring-sky-500/20"},unpaid:{label:"Unpaid",className:"bg-rose-500/10 text-rose-500 ring-rose-500/20"},incomplete:{label:"Incomplete",className:"bg-text-dim/10 text-text-muted ring-text-dim/20"}};function mt(e){let{subscription:t,availablePlans:r,usageMetrics:a=[],retentionOffers:l=[],subscriptionHistory:p=[],onUpgrade:i,onDowngrade:x,onCancel:c,onApplyDiscount:s,defaultView:o="overview"}=e,[u,y]=U__namespace.useState(o),[k,w]=U__namespace.useState(null),[R,P]=U__namespace.useState(""),[v,d]=U__namespace.useState(false),[f,m]=U__namespace.useState(null),[M,j]=U__namespace.useState(false),[le,h]=U__namespace.useState(""),[N,E]=U__namespace.useState(false),K=U__namespace.useMemo(()=>r.find(b=>b.id===t.planId),[r,t.planId]),We=U__namespace.useCallback(async b=>{if(b.externalUrl){window.open(b.externalUrl,"_blank","noopener,noreferrer");return}if(b.id!==K?.id){w(b.id);try{!K||b.price>=(K?.price??0)?await i?.(b.id):await x?.(b.id);}finally{w(null);}}},[K,x,i]),Ee=U__namespace.useCallback(async()=>{if(!(!s||!R.trim())){d(true),m(null);try{let b=await s(R.trim());if(b&&b.valid){let X=b.kind==="percent"?`${b.value}% off`:`${at(b.value)} off`;m({success:!0,message:`Applied: ${b.name||b.code} (${X})`}),P("");}else m({success:!1,message:"Invalid or expired discount code"});}catch(b){m({success:false,message:b instanceof Error?b.message:"Failed to apply code"});}finally{d(false);}}},[s,R]),et=U__namespace.useCallback(async()=>{if(!(!c||!le.trim())){E(true);try{await c(le.trim()),j(!1),h("");}finally{E(false);}}},[c,le]);return jsxRuntime.jsxs("div",{className:"space-y-6",children:[jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-2xl border border-border bg-bg-card p-6",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-4",children:[jsxRuntime.jsxs("div",{className:"space-y-2",children:[jsxRuntime.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.14em] text-text-muted",children:"Subscription"}),jsxRuntime.jsx("h2",{className:"text-2xl font-semibold text-text",children:K?.name??"No active plan"}),jsxRuntime.jsx("p",{className:"text-sm text-text-secondary",children:t.id?`Billing period ends on ${rt(t.currentPeriodEnd)}`:"Select a plan to get started"}),t.discount&&jsxRuntime.jsxs("p",{className:"text-sm text-emerald-500",children:["Discount: ",t.discount.name||t.discount.code," (",t.discount.kind==="percent"?`${t.discount.value}% off`:`${at(t.discount.value)} off`,t.discount.duration==="repeating"&&t.discount.durationInMonths?` for ${t.discount.durationInMonths} months`:t.discount.duration==="forever"?" forever":"",")"]})]}),t.id&&jsxRuntime.jsx("span",{className:`inline-flex items-center rounded-full px-3 py-1 text-xs font-semibold ring-1 ${At[t.status].className}`,children:At[t.status].label})]}),jsxRuntime.jsxs("div",{className:"mt-6 flex flex-wrap gap-2 rounded-xl border border-border bg-bg-elevated p-1",children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>y("overview"),className:`rounded-lg px-3 py-1.5 text-sm transition ${u==="overview"?"bg-text text-bg":"text-text-muted hover:bg-bg-card hover:text-text"}`,children:"Overview"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>y("plans"),className:`rounded-lg px-3 py-1.5 text-sm transition ${u==="plans"?"bg-text text-bg":"text-text-muted hover:bg-bg-card hover:text-text"}`,children:"Plans"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>y("history"),className:`rounded-lg px-3 py-1.5 text-sm transition ${u==="history"?"bg-text text-bg":"text-text-muted hover:bg-bg-card hover:text-text"}`,children:"History"})]})]}),u==="overview"&&jsxRuntime.jsxs("div",{className:"grid gap-4 md:grid-cols-3",children:[jsxRuntime.jsxs("div",{className:"rounded-xl border border-border bg-bg-card p-4",children:[jsxRuntime.jsx("p",{className:"text-xs uppercase tracking-wide text-text-muted",children:"Current spend"}),jsxRuntime.jsxs("p",{className:"mt-2 text-2xl font-semibold text-text",children:[at(K?.price??0),jsxRuntime.jsxs("span",{className:"text-sm font-normal text-text-muted",children:["/",K?.billingPeriod??"monthly"]})]})]}),jsxRuntime.jsxs("div",{className:"rounded-xl border border-border bg-bg-card p-4",children:[jsxRuntime.jsx("p",{className:"text-xs uppercase tracking-wide text-text-muted",children:"Next invoice"}),jsxRuntime.jsx("p",{className:"mt-2 text-lg font-semibold text-text",children:t.id?rt(t.currentPeriodEnd):"\u2014"})]}),jsxRuntime.jsxs("div",{className:"rounded-xl border border-border bg-bg-card p-4",children:[jsxRuntime.jsx("p",{className:"text-xs uppercase tracking-wide text-text-muted",children:"Status"}),jsxRuntime.jsx("p",{className:"mt-2 text-lg font-semibold text-text",children:t.cancelAtPeriodEnd?"Cancels at period end":t.id?"Auto-renewing":"No subscription"})]}),s&&t.id&&jsxRuntime.jsxs("div",{className:"md:col-span-3 rounded-xl border border-border bg-bg-card p-4",children:[jsxRuntime.jsx("p",{className:"text-xs uppercase tracking-wide text-text-muted",children:"Discount code"}),jsxRuntime.jsxs("div",{className:"mt-3 flex gap-2",children:[jsxRuntime.jsx("input",{value:R,onChange:b=>{P(b.target.value.toUpperCase()),m(null);},placeholder:"Enter promo code",className:"flex-1 rounded-lg border border-border bg-bg-input px-3 py-2 text-sm font-mono uppercase text-text outline-none transition focus:border-brand"}),jsxRuntime.jsx("button",{type:"button",disabled:!R.trim()||v,onClick:Ee,className:"rounded-lg bg-text px-4 py-2 text-sm font-medium text-bg transition hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-60",children:v?"Applying\u2026":"Apply"})]}),f&&jsxRuntime.jsx("p",{className:`mt-2 text-sm ${f.success?"text-success":"text-danger"}`,children:f.message})]}),a.length>0&&jsxRuntime.jsxs("div",{className:"md:col-span-3 rounded-xl border border-border bg-bg-card p-4",children:[jsxRuntime.jsx("p",{className:"text-xs uppercase tracking-wide text-text-muted",children:"Usage metrics"}),jsxRuntime.jsx("div",{className:"mt-3 grid gap-3 md:grid-cols-2 xl:grid-cols-4",children:a.map(b=>{let X=b.limit&&b.limit>0?Math.min(b.current/b.limit*100,100):0;return jsxRuntime.jsxs("div",{className:"rounded-lg border border-border p-3",children:[jsxRuntime.jsx("p",{className:"text-sm text-text-secondary",children:b.label}),jsxRuntime.jsxs("p",{className:"mt-1 text-lg font-semibold text-text",children:[b.current.toLocaleString(),b.unit?` ${b.unit}`:""]}),b.limit?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsxs("p",{className:"text-xs text-text-muted",children:["of ",b.limit.toLocaleString()," ",b.unit??""]}),jsxRuntime.jsx("div",{className:"mt-2 h-2 rounded-full bg-bg-elevated",children:jsxRuntime.jsx("div",{className:"h-2 rounded-full bg-brand transition-all",style:{width:`${X}%`}})})]}):null]},b.id)})})]}),l.length>0&&jsxRuntime.jsxs("div",{className:"md:col-span-3 rounded-xl border border-warning/30 bg-warning/5 p-4",children:[jsxRuntime.jsx("p",{className:"text-xs uppercase tracking-wide text-warning",children:"Retention offers"}),jsxRuntime.jsx("div",{className:"mt-3 grid gap-3 md:grid-cols-2",children:l.map(b=>jsxRuntime.jsxs("div",{className:"rounded-lg border border-warning/30 bg-bg-card p-3",children:[jsxRuntime.jsx("p",{className:"font-medium text-text",children:b.title}),jsxRuntime.jsx("p",{className:"mt-1 text-sm text-text-secondary",children:b.description}),jsxRuntime.jsxs("p",{className:"mt-2 text-sm font-semibold text-warning",children:["Save ",b.discount,"% for ",b.durationMonths," months"]})]},b.id))})]}),t.id&&t.status==="active"&&!t.cancelAtPeriodEnd&&c&&jsxRuntime.jsx("div",{className:"md:col-span-3",children:M?jsxRuntime.jsxs("div",{className:"rounded-xl border border-rose-500/30 bg-rose-500/5 p-4",children:[jsxRuntime.jsx("p",{className:"text-sm font-medium text-rose-400",children:"Cancel subscription"}),jsxRuntime.jsxs("p",{className:"mt-1 text-sm text-text-muted",children:["Your subscription will remain active until ",rt(t.currentPeriodEnd),"."]}),jsxRuntime.jsx("textarea",{value:le,onChange:b=>h(b.target.value),placeholder:"Why are you canceling? (required)",rows:2,className:"mt-3 w-full rounded-lg border border-rose-500/30 bg-bg-input px-3 py-2 text-sm text-text outline-none transition focus:border-rose-500"}),jsxRuntime.jsxs("div",{className:"mt-3 flex gap-2",children:[jsxRuntime.jsx("button",{type:"button",disabled:!le.trim()||N,onClick:et,className:"rounded-lg bg-rose-600 px-4 py-2 text-sm font-medium text-white transition hover:bg-rose-500 disabled:cursor-not-allowed disabled:opacity-60",children:N?"Canceling\u2026":"Confirm cancellation"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>{j(false),h("");},className:"rounded-lg border border-border px-4 py-2 text-sm font-medium text-text-secondary transition hover:bg-bg-elevated",children:"Keep subscription"})]})]}):jsxRuntime.jsx("button",{type:"button",onClick:()=>j(true),className:"text-sm text-text-muted transition hover:text-rose-500",children:"Cancel subscription"})})]}),u==="plans"&&jsxRuntime.jsx("div",{className:"grid gap-4 md:grid-cols-2 xl:grid-cols-4",children:r.map(b=>{let X=b.id===t.planId,je=k===b.id,tt=b.price===0,ct=(b.trialDays??0)>0,qe=!!b.externalUrl||b.contactSales,la=tt?"Free":`$${b.price}/mo`,da=X?"Current plan":je?"Applying\u2026":qe?b.contactSales?"Contact Sales \u2192":"Get started \u2192":ct&&!t.id?`Start ${b.trialDays}-day free trial`:K&&b.price<(K?.price??0)?"Downgrade":"Upgrade";return jsxRuntime.jsxs("div",{className:`relative flex flex-col rounded-2xl border p-5 transition ${b.highlighted&&!X?"border-white/[0.2] bg-[#141419]":X?"border-white/[0.25] bg-[#141419]":"border-white/[0.08] bg-[#141419]"}`,children:[b.highlighted&&!X&&jsxRuntime.jsx("div",{className:"absolute -top-px left-0 right-0 h-px rounded-t-2xl bg-gradient-to-r from-transparent via-white/40 to-transparent"}),jsxRuntime.jsxs("div",{className:"flex items-start justify-between gap-2",children:[jsxRuntime.jsx("p",{className:"text-[15px] font-semibold text-white",children:b.name}),b.badge?jsxRuntime.jsx("span",{className:`rounded-full px-2 py-1 text-[11px] font-semibold flex-shrink-0 ${X?"bg-white/10 text-white/60":b.contactSales?"bg-amber-500/15 text-amber-400":ct?"bg-sky-500/15 text-sky-400":"bg-white/[0.07] text-white/40"}`,children:b.badge}):null]}),jsxRuntime.jsxs("div",{className:"mt-4",children:[jsxRuntime.jsxs("p",{className:"text-2xl font-bold text-white",children:[qe&&!tt?`$${at(b.price).replace("$","").split(".")[0]}`:la,!tt&&!qe&&jsxRuntime.jsx("span",{className:"text-sm font-normal text-white/40",children:"/mo"}),qe&&!tt&&jsxRuntime.jsx("span",{className:"text-sm font-normal text-white/40",children:"/mo+"})]}),b.annualPrice&&!X&&jsxRuntime.jsxs("p",{className:"mt-0.5 text-[12px] text-emerald-400",children:["$",b.annualPrice,"/yr ","\u2014"," save $",b.price*12-b.annualPrice]}),(b.trialCreditCents??0)>0&&!X&&jsxRuntime.jsxs("p",{className:"mt-0.5 text-[12px] text-emerald-400",children:["+$",(b.trialCreditCents/100).toFixed(0)," credit included"]})]}),jsxRuntime.jsx("p",{className:"mt-3 text-[13px] leading-relaxed text-white/40",children:b.description}),jsxRuntime.jsx("ul",{className:"mt-4 flex-1 space-y-1.5",children:b.features.map(Rt=>jsxRuntime.jsxs("li",{className:"flex items-start gap-2 text-[13px] text-white/50",children:[jsxRuntime.jsx("span",{className:"mt-0.5 flex-shrink-0 text-white/30",children:jsxRuntime.jsx("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M20 6L9 17l-5-5"})})}),Rt]},Rt))}),jsxRuntime.jsx("button",{type:"button",disabled:X||je,onClick:()=>We(b),className:`mt-5 w-full rounded-xl px-3 py-2.5 text-sm font-semibold transition active:scale-[0.98] ${X?"cursor-not-allowed bg-white/[0.06] text-white/30":je?"cursor-wait bg-white/[0.06] text-white/30":b.highlighted?"bg-white text-black hover:bg-white/90":qe?"bg-white/[0.08] text-white/70 hover:bg-white/[0.12] hover:text-white":ct&&!t.id?"bg-sky-500/20 text-sky-300 hover:bg-sky-500/30":"bg-white/[0.08] text-white/70 hover:bg-white/[0.12] hover:text-white"}`,children:da})]},b.id)})}),u==="history"&&jsxRuntime.jsxs("div",{className:"rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsx("div",{className:"border-b border-border px-4 py-3",children:jsxRuntime.jsx("h3",{className:"text-sm font-semibold text-text",children:"Subscription timeline"})}),p.length===0?jsxRuntime.jsx("div",{className:"p-6 text-sm text-text-muted",children:"No history entries yet."}):jsxRuntime.jsx("div",{className:"divide-y divide-border",children:p.map(b=>jsxRuntime.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-2 px-4 py-3",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"text-sm font-medium text-text",children:b.action}),jsxRuntime.jsx("p",{className:"text-sm text-text-secondary",children:b.details}),b.fromPlan||b.toPlan?jsxRuntime.jsxs("p",{className:"text-xs text-text-muted",children:[b.fromPlan??"\u2014"," ","\u2192"," ",b.toPlan??"\u2014"]}):null]}),jsxRuntime.jsx("p",{className:"text-xs text-text-muted",children:rt(b.date)})]},b.id))})]})]})}n(mt,"SubscriptionPortal");function ua(e){return e.startsWith("4")?"visa":/^5[1-5]/.test(e)||/^2[2-7]/.test(e)?"mastercard":/^3[47]/.test(e)?"amex":/^6(?:011|5)/.test(e)?"discover":"unknown"}n(ua,"detectNetwork");function pa(){return jsxRuntime.jsx("svg",{viewBox:"0 0 60 20",width:"60",height:"20","aria-label":"Visa",children:jsxRuntime.jsx("text",{x:"0",y:"16",fontFamily:"Arial Black, sans-serif",fontWeight:"900",fontSize:"18",fill:"white",letterSpacing:"-1",children:"VISA"})})}n(pa,"VisaLogo");function xa(){return jsxRuntime.jsxs("svg",{viewBox:"0 0 48 30",width:"48",height:"30","aria-label":"Mastercard",children:[jsxRuntime.jsx("circle",{cx:"15",cy:"15",r:"14",fill:"#eb001b",opacity:"0.9"}),jsxRuntime.jsx("circle",{cx:"33",cy:"15",r:"14",fill:"#f79e1b",opacity:"0.9"}),jsxRuntime.jsx("path",{d:"M24 4.8a14 14 0 0 1 0 20.4A14 14 0 0 1 24 4.8z",fill:"#ff5f00",opacity:"0.9"})]})}n(xa,"MastercardLogo");function ba(){return jsxRuntime.jsxs("svg",{viewBox:"0 0 70 20",width:"70",height:"20","aria-label":"American Express",children:[jsxRuntime.jsx("text",{x:"0",y:"15",fontFamily:"Arial, sans-serif",fontWeight:"700",fontSize:"13",fill:"white",letterSpacing:"0.5",children:"AMERICAN"}),jsxRuntime.jsx("text",{x:"0",y:"28",fontFamily:"Arial, sans-serif",fontWeight:"700",fontSize:"13",fill:"white",letterSpacing:"0.5",children:"EXPRESS"})]})}n(ba,"AmexLogo");function ga(){return jsxRuntime.jsxs("svg",{viewBox:"0 0 80 22",width:"80",height:"22","aria-label":"Discover",children:[jsxRuntime.jsx("text",{x:"0",y:"16",fontFamily:"Arial, sans-serif",fontWeight:"700",fontSize:"14",fill:"white",children:"DISCOVER"}),jsxRuntime.jsx("circle",{cx:"72",cy:"11",r:"9",fill:"#f76f20"})]})}n(ga,"DiscoverLogo");function Dt({network:e}){return e==="visa"?jsxRuntime.jsx(pa,{}):e==="mastercard"?jsxRuntime.jsx(xa,{}):e==="amex"?jsxRuntime.jsx(ba,{}):e==="discover"?jsxRuntime.jsx(ga,{}):null}n(Dt,"NetworkLogo");function fa(){return jsxRuntime.jsxs("svg",{width:"44",height:"34",viewBox:"0 0 44 34",fill:"none","aria-hidden":"true",children:[jsxRuntime.jsx("rect",{x:"0.5",y:"0.5",width:"43",height:"33",rx:"5.5",fill:"#c8a951",stroke:"#b8993e"}),jsxRuntime.jsx("rect",{x:"14",y:"0.5",width:"16",height:"33",fill:"#b8993e",opacity:"0.5"}),jsxRuntime.jsx("rect",{x:"0.5",y:"11",width:"43",height:"12",fill:"#b8993e",opacity:"0.5"}),jsxRuntime.jsx("rect",{x:"14",y:"11",width:"16",height:"12",fill:"#c8a951",opacity:"0.8"}),jsxRuntime.jsx("line",{x1:"14",y1:"0.5",x2:"14",y2:"33.5",stroke:"#a08030",strokeWidth:"0.5"}),jsxRuntime.jsx("line",{x1:"30",y1:"0.5",x2:"30",y2:"33.5",stroke:"#a08030",strokeWidth:"0.5"}),jsxRuntime.jsx("line",{x1:"0.5",y1:"11",x2:"43.5",y2:"11",stroke:"#a08030",strokeWidth:"0.5"}),jsxRuntime.jsx("line",{x1:"0.5",y1:"23",x2:"43.5",y2:"23",stroke:"#a08030",strokeWidth:"0.5"})]})}n(fa,"ChipIcon");function va(e,t){let r=t==="amex"?15:16,a=e.padEnd(r,"\u2022");return t==="amex"?`${a.slice(0,4)} ${a.slice(4,10)} ${a.slice(10,15)}`:[a.slice(0,4),a.slice(4,8),a.slice(8,12),a.slice(12,16)].map((p,i)=>i<3?p.replace(/\d/g,"\u2022"):p).join(" ")}n(va,"maskNumber");function ya({number:e,name:t,expiry:r,cvv:a,cvvFocused:l}){let p=e.replace(/\D/g,""),i=ua(p),x=va(p,i),c=t.trim()||"YOUR NAME",s=r||"MM/YY",o=a?a.replace(/./g,"\u2022"):"\u2022\u2022\u2022",u={perspective:"1000px",width:"340px",height:"215px"},y={position:"relative",width:"100%",height:"100%",transformStyle:"preserve-3d",transition:"transform 0.6s cubic-bezier(0.4, 0, 0.2, 1)",transform:l?"rotateY(180deg)":"rotateY(0deg)"},k={position:"absolute",inset:0,backfaceVisibility:"hidden",WebkitBackfaceVisibility:"hidden",borderRadius:"16px",overflow:"hidden"},w={...k,background:"linear-gradient(135deg, #1a1a2e 0%, #16213e 40%, #0f3460 100%)",boxShadow:"0 20px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.08)"},R={...k,background:"linear-gradient(135deg, #12121f 0%, #1a1a2e 100%)",boxShadow:"0 20px 60px rgba(0,0,0,0.5), 0 0 0 1px rgba(255,255,255,0.08)",transform:"rotateY(180deg)"};return jsxRuntime.jsx("div",{style:u,role:"img","aria-label":"Payment card preview",children:jsxRuntime.jsxs("div",{style:y,children:[jsxRuntime.jsxs("div",{style:w,children:[jsxRuntime.jsx("div",{style:{position:"absolute",inset:0,background:"linear-gradient(135deg, rgba(255,255,255,0.12) 0%, transparent 50%)",pointerEvents:"none"}}),jsxRuntime.jsxs("div",{style:{position:"absolute",top:"22px",left:"22px",right:"22px",display:"flex",alignItems:"center",justifyContent:"space-between"},children:[jsxRuntime.jsx(fa,{}),jsxRuntime.jsx(Dt,{network:i})]}),jsxRuntime.jsx("div",{style:{position:"absolute",top:"50%",left:"22px",right:"22px",transform:"translateY(-50%)",fontFamily:"ui-monospace, SFMono-Regular, Menlo, monospace",fontSize:"18px",fontWeight:"600",letterSpacing:"0.18em",color:"rgba(255,255,255,0.92)",textShadow:"0 1px 3px rgba(0,0,0,0.4)"},children:x}),jsxRuntime.jsxs("div",{style:{position:"absolute",bottom:"22px",left:"22px",right:"22px",display:"flex",alignItems:"flex-end",justifyContent:"space-between"},children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{style:{fontSize:"9px",color:"rgba(255,255,255,0.5)",textTransform:"uppercase",letterSpacing:"0.1em",marginBottom:"3px"},children:"Card holder"}),jsxRuntime.jsx("div",{style:{fontSize:"13px",fontWeight:"600",color:"rgba(255,255,255,0.9)",textTransform:"uppercase",letterSpacing:"0.05em",maxWidth:"180px",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:c})]}),jsxRuntime.jsxs("div",{style:{textAlign:"right"},children:[jsxRuntime.jsx("div",{style:{fontSize:"9px",color:"rgba(255,255,255,0.5)",textTransform:"uppercase",letterSpacing:"0.1em",marginBottom:"3px"},children:"Expires"}),jsxRuntime.jsx("div",{style:{fontFamily:"ui-monospace, monospace",fontSize:"13px",fontWeight:"600",color:"rgba(255,255,255,0.9)"},children:s})]})]})]}),jsxRuntime.jsxs("div",{style:R,children:[jsxRuntime.jsx("div",{style:{position:"absolute",top:"40px",left:0,right:0,height:"46px",background:"linear-gradient(180deg, #1a1a1a 0%, #111 50%, #1a1a1a 100%)"}}),jsxRuntime.jsxs("div",{style:{position:"absolute",top:"108px",left:"22px",right:"22px",display:"flex",alignItems:"center",gap:"12px"},children:[jsxRuntime.jsx("div",{style:{flex:1,height:"40px",background:"repeating-linear-gradient(90deg, #e8e0d0 0px, #e8e0d0 8px, #d4cabb 8px, #d4cabb 10px)",borderRadius:"4px",display:"flex",alignItems:"center",paddingLeft:"8px"},children:jsxRuntime.jsx("span",{style:{fontFamily:"cursive, serif",fontSize:"12px",color:"#555",opacity:.6},children:"Authorized signature"})}),jsxRuntime.jsxs("div",{style:{width:"60px",height:"40px",background:"white",borderRadius:"4px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",boxShadow:l?"0 0 0 2px #6366f1, 0 0 12px rgba(99,102,241,0.4)":"none",transition:"box-shadow 0.3s ease"},children:[jsxRuntime.jsx("span",{style:{fontSize:"9px",color:"#888",marginBottom:"2px"},children:"CVV"}),jsxRuntime.jsx("span",{style:{fontFamily:"ui-monospace, monospace",fontSize:"14px",fontWeight:"700",color:"#111",letterSpacing:"0.1em"},children:o})]})]}),jsxRuntime.jsx("div",{style:{position:"absolute",bottom:"18px",right:"22px",opacity:.7},children:jsxRuntime.jsx(Dt,{network:i})})]})]})})}n(ya,"AnimatedCard");var It=process.env.NEXT_PUBLIC_SQUARE_APPLICATION_ID??"",Mt=process.env.NEXT_PUBLIC_SQUARE_LOCATION_ID??"",ha=process.env.NEXT_PUBLIC_SQUARE_ENVIRONMENT??"sandbox",Tt=ha==="production"?"https://web.squarecdn.com/v1/square.js":"https://sandbox.web.squarecdn.com/v1/square.js",He=null;function Na(){return He||(typeof window<"u"&&window.Square?He=Promise.resolve():(He=new Promise((e,t)=>{let r=document.querySelector(`script[src="${Tt}"]`);if(r){r.addEventListener("load",()=>e());return}let a=document.createElement("script");a.src=Tt,a.async=true,a.onload=()=>e(),a.onerror=()=>t(new Error("Failed to load Square Web Payments SDK")),document.head.appendChild(a);}),He))}n(Na,"loadSquareScript");var wa={".input-wrapper":{backgroundColor:"transparent"},input:{backgroundColor:"transparent",color:"#fafafa",fontFamily:"ui-sans-serif, system-ui, sans-serif",fontSize:"14px"},"input::placeholder":{color:"#52525b"},".message-text":{color:"#f87171"},".message-icon":{color:"#f87171"}},ut="sq-card-container";function pt({onToken:e,onCvvFocus:t,disabled:r}){let a=U__namespace.useRef(null),[l,p]=U__namespace.useState(true),[i,x]=U__namespace.useState(false),[c,s]=U__namespace.useState(null),[o,u]=U__namespace.useState(false),y=U__namespace.useRef(true);U__namespace.useEffect(()=>{y.current=true;let w=null;async function R(){try{if(await Na(),!y.current)return;if(!window.Square)throw new Error("Square SDK not available");if(!It)throw new Error("NEXT_PUBLIC_SQUARE_APPLICATION_ID is not set");if(!Mt)throw new Error("NEXT_PUBLIC_SQUARE_LOCATION_ID is not set");w=await(await window.Square.payments(It,Mt)).card({style:wa}),await w.attach(`#${ut}`),y.current?(a.current=w,u(!0)):await w.destroy();}catch(P){y.current&&s(P instanceof Error?P.message:"Failed to initialize payment form");}finally{y.current&&p(false);}}return n(R,"init"),R(),()=>{y.current=false,a.current?.destroy().catch(()=>{}),a.current=null;}},[]);let k=U__namespace.useCallback(async()=>{if(!(!a.current||!o||i||r)){x(true),s(null);try{let w=await a.current.tokenize();if(w.status==="OK"&&w.token)await e(w.token);else {let R=w.errors?.map(P=>P.message).join("; ")??"Tokenization failed";s(R);}}catch(w){s(w instanceof Error?w.message:"Payment processing error");}finally{y.current&&x(false);}}},[e,o,i,r]);return U__namespace.useEffect(()=>{if(!t)return;let w=document.getElementById(ut);if(!w)return;let R=null;function P(){w.querySelectorAll("iframe").forEach(f=>{let m=f.getAttribute("name")??f.id??"";if((m.toLowerCase().includes("cvv")||m.toLowerCase().includes("cvc"))&&R!==f){R=f;try{f.contentWindow?.document.body?.addEventListener("focus",()=>t(!0),!0),f.contentWindow?.document.body?.addEventListener("blur",()=>t(!1),!0);}catch{}}});}n(P,"findAndAttach");let v=new MutationObserver(P);return v.observe(w,{childList:true,subtree:true}),P(),()=>v.disconnect()},[t,o]),jsxRuntime.jsxs("div",{className:"space-y-3",children:[jsxRuntime.jsx("div",{id:ut,style:{minHeight:l?"120px":void 0,borderRadius:"8px",border:"1px solid rgba(255,255,255,0.1)",backgroundColor:"rgba(255,255,255,0.04)",padding:"12px",transition:"border-color 0.2s"},children:l&&jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",height:"96px"},children:[jsxRuntime.jsx("div",{style:{width:"20px",height:"20px",border:"2px solid rgba(255,255,255,0.15)",borderTopColor:"rgba(255,255,255,0.7)",borderRadius:"50%",animation:"spin 0.8s linear infinite"}}),jsxRuntime.jsx("style",{children:"@keyframes spin { to { transform: rotate(360deg); } }"})]})}),c&&jsxRuntime.jsx("p",{className:"text-sm",style:{color:"#f87171"},children:c}),jsxRuntime.jsx("button",{type:"button",disabled:!o||i||!!r,onClick:k,style:{width:"100%",borderRadius:"8px",backgroundColor:o&&!i&&!r?"rgb(250,250,250)":"rgba(250,250,250,0.3)",color:o&&!i&&!r?"rgb(9,9,11)":"rgba(9,9,11,0.5)",padding:"10px 16px",fontSize:"14px",fontWeight:"500",cursor:o&&!i&&!r?"pointer":"not-allowed",border:"none",transition:"opacity 0.15s"},children:i?"Processing\u2026":"Add card"}),jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"11px",color:"rgba(255,255,255,0.35)"},children:[jsxRuntime.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsxRuntime.jsx("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2"}),jsxRuntime.jsx("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),"Secured by Square ","\u2014"," PCI DSS compliant tokenization"]})]})}n(pt,"SquareCardForm");var ka={bitcoin:"Bitcoin (BTC)",ethereum:"Ethereum (ETH)",solana:"Solana (SOL)",usdc:"USDC"},Ra={1:"Ethereum",137:"Polygon",10:"Optimism",42161:"Arbitrum",8453:"Base",43114:"Avalanche",56:"BSC"};function Aa(e){return e?e.charAt(0).toUpperCase()+e.slice(1):"Card"}n(Aa,"formatCardBrand");function Da(e){if(e.type==="card")return `${Aa(e.card?.brand||"")} \u2022\u2022\u2022\u2022 ${e.card?.last4||"\u2022\u2022\u2022\u2022"}`;if(e.type==="crypto"){let t=e.crypto?.network??"ethereum",r=ka[t]??t,a=e.crypto?.walletAddress??"",l=a.length>12?`${a.slice(0,6)}\u2026${a.slice(-4)}`:a;return `${r} ${l}`}return e.type==="wire"?e.wire?.bankName??"Wire transfer":e.type==="bank_account"||e.type==="sepa_debit"?`${e.bank_account?.bankName||"Bank account"} \u2022\u2022\u2022\u2022 ${e.bank_account?.last4||"\u2022\u2022\u2022\u2022"}`:e.type}n(Da,"methodDisplay");function Ia(e){switch(e){case "card":return "\u{1F4B3}";case "crypto":return "\u{1F517}";case "wire":return "\u{1F3E6}";case "bank_account":case "sepa_debit":return "\u{1F3DB}\uFE0F";default:return "\u{1F4B0}"}}n(Ia,"methodIcon");function Bt(e){if(e.type!=="card")return null;let t=e.card?.exp_month,r=e.card?.exp_year;return !t||!r?null:`${String(t).padStart(2,"0")}/${String(r).slice(-2)}`}n(Bt,"methodExpiration");function Ma(e){if(e.type==="crypto")return e.crypto?.label||"Crypto wallet";if(e.type==="wire"){let t=[];return e.wire?.swift&&t.push(`SWIFT: ${e.wire.swift}`),e.wire?.country&&t.push(e.wire.country),t.join(" \xB7 ")||"Wire transfer"}return null}n(Ma,"methodSubtext");function Ta(e,t,r){navigator.clipboard.writeText(e).then(()=>{r(`${t} copied`),setTimeout(()=>r(""),2e3);});}n(Ta,"copyToClipboard");var Ba="flex-1 rounded-lg px-3 py-2 text-sm font-medium transition",Ea="bg-bg-elevated text-text",Fa="text-text-muted hover:text-text-secondary",$a="w-full rounded-lg border border-border bg-bg-input px-3 py-2 text-sm text-text outline-none transition placeholder:text-text-dim focus:border-brand focus:ring-1 focus:ring-brand",Et="w-full rounded-lg bg-text px-4 py-2.5 text-sm font-medium text-bg transition hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-60";function xt(e){let{paymentMethods:t,initialMethods:r,onAdd:a,onRemove:l,onSetDefault:p,onMethodAdded:i,onMethodRemoved:x,onDefaultChanged:c}=e,[s,o]=U__namespace.useState(t&&t.length>0?t:r||[]),[u,y]=U__namespace.useState(null),[k,w]=U__namespace.useState(false),[R,P]=U__namespace.useState("card"),[v,d]=U__namespace.useState(null),[f,m]=U__namespace.useState(null);U__namespace.useEffect(()=>{t&&o(t);},[t]);let M=U__namespace.useCallback(async h=>{try{await a?.(h),o(N=>[...N,h]),i?.(h),w(!1),m(null),d("Payment method added"),setTimeout(()=>d(null),3e3);}catch(N){m(N instanceof Error?N.message:"Failed to add payment method");}},[a,i]),j=U__namespace.useCallback(async h=>{y(h);try{await l?.(h),o(N=>N.filter(E=>E.id!==h)),x?.(h);}finally{y(null);}},[x,l]),le=U__namespace.useCallback(async h=>{y(h);try{await p?.(h),o(N=>N.map(E=>({...E,is_default:E.id===h,isDefault:E.id===h}))),c?.(h);}finally{y(null);}},[c,p]);return jsxRuntime.jsx("div",{className:"space-y-4",children:jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 border-b border-border p-4",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Payment methods"}),jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:"Add a card, crypto wallet, or bank wire transfer"})]}),jsxRuntime.jsx("button",{type:"button",onClick:()=>{w(h=>!h),m(null);},className:"rounded-lg bg-text px-3 py-2 text-sm font-medium text-bg transition hover:opacity-80",children:k?"Cancel":"Add method"})]}),k&&jsxRuntime.jsxs("div",{className:"border-b border-border p-4",children:[jsxRuntime.jsx("div",{className:"mb-4 flex gap-1 rounded-xl bg-bg p-1",children:[["card","Card"],["crypto","Crypto"],["wire","Bank Wire"]].map(([h,N])=>jsxRuntime.jsx("button",{type:"button",onClick:()=>{P(h),m(null);},className:`${Ba} ${R===h?Ea:Fa}`,children:N},h))}),R==="card"&&jsxRuntime.jsx(pt,{onToken:async h=>{let N={id:`pm_${Math.random().toString(36).slice(2,12)}`,type:"card",is_default:false,isDefault:false,created_at:new Date().toISOString(),_sourceToken:h,card:{brand:"card",last4:"\u2022\u2022\u2022\u2022",exp_month:0,exp_year:0,funding:"credit"}};await M(N);}}),R==="crypto"&&jsxRuntime.jsx(La,{onAdd:M,setError:m}),R==="wire"&&jsxRuntime.jsx(Ua,{onAdd:M}),f&&jsxRuntime.jsx("p",{className:"mt-3 text-sm text-danger",children:f})]}),v&&jsxRuntime.jsx("div",{className:"border-b border-border px-4 py-2",children:jsxRuntime.jsx("p",{className:"text-sm text-success",children:v})}),jsxRuntime.jsx("div",{className:"divide-y divide-border",children:s.length===0?jsxRuntime.jsx("div",{className:"p-6 text-sm text-text-muted",children:"No payment methods on file."}):s.map(h=>{let N=h.is_default||h.isDefault,E=u===h.id,K=Ma(h);return jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 p-4",children:[jsxRuntime.jsxs("div",{className:"flex items-start gap-3",children:[jsxRuntime.jsx("span",{className:"mt-0.5 text-lg",children:Ia(h.type)}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"text-sm font-medium text-text",children:Da(h)}),jsxRuntime.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-2 text-xs text-text-muted",children:[jsxRuntime.jsxs("span",{children:["Added ",new Date(h.created_at).toLocaleDateString("en-US")]}),Bt(h)?jsxRuntime.jsxs("span",{children:["Expires ",Bt(h)]}):null,K?jsxRuntime.jsx("span",{children:K}):null,N&&jsxRuntime.jsx("span",{className:"rounded-full bg-brand px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide text-brand-foreground",children:"Default"})]})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[!N&&jsxRuntime.jsx("button",{type:"button",disabled:E,onClick:()=>le(h.id),className:"rounded-md border border-border px-3 py-1.5 text-xs font-medium text-text-secondary transition hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",children:E?"Saving\u2026":"Set default"}),jsxRuntime.jsx("button",{type:"button",disabled:E,onClick:()=>j(h.id),className:"rounded-md border border-rose-500/30 px-3 py-1.5 text-xs font-medium text-rose-500 transition hover:bg-rose-500/10 disabled:cursor-not-allowed disabled:opacity-60",children:E?"Removing\u2026":"Remove"})]})]},h.id)})})]})})}n(xt,"PaymentMethodManager");function La({onAdd:e,setError:t}){let{address:r,isConnected:a}=wagmi.useAccount(),l=wagmi.useChainId(),[p,i]=U__namespace.useState(""),[x,c]=U__namespace.useState(false),s=Ra[l]??`Chain ${l}`,o=U__namespace.useCallback(async()=>{if(r){c(true);try{let u={id:`pm_${Math.random().toString(36).slice(2,12)}`,type:"crypto",is_default:!1,isDefault:!1,created_at:new Date().toISOString(),crypto:{network:"ethereum",walletAddress:r,label:p||`${s} wallet`},billing_details:{}};await e(u);}catch(u){t(u instanceof Error?u.message:"Failed to save wallet");}finally{c(false);}}},[r,l,s,p,e,t]);return jsxRuntime.jsxs("div",{className:"space-y-3",children:[jsxRuntime.jsx("p",{className:"text-xs text-text-muted",children:"Connect your wallet to save it as a payment method. Supports Ethereum, Polygon, Arbitrum, Optimism, Base, Avalanche, BSC, and more."}),jsxRuntime.jsx("div",{className:"flex justify-center",children:jsxRuntime.jsx(rainbowkit.ConnectButton,{showBalance:false})}),a&&r&&jsxRuntime.jsxs("div",{className:"space-y-3",children:[jsxRuntime.jsxs("div",{className:"rounded-lg border border-border bg-bg p-3",children:[jsxRuntime.jsx("div",{className:"flex items-center justify-between",children:jsxRuntime.jsxs("p",{className:"text-xs text-text-dim",children:["Connected on ",s]})}),jsxRuntime.jsx("p",{className:"mt-1 font-mono text-sm text-text break-all",children:r})]}),jsxRuntime.jsx("input",{value:p,onChange:u=>i(u.target.value),placeholder:`Label (e.g. "My ${s} wallet")`,className:$a}),jsxRuntime.jsx("button",{type:"button",disabled:x,onClick:o,className:Et,children:x?"Saving wallet\u2026":"Save wallet as payment method"})]}),jsxRuntime.jsx("p",{className:"text-xs text-text-dim",children:"Non-EVM chains (Solana, TON, Bitcoin) coming soon."})]})}n(La,"CryptoForm");var _a=[{label:"Beneficiary Bank",value:"Bank of America, NA 222 Broadway, New York, NY 10038"},{label:"Beneficiary",value:"Hanzo, Inc, 4811 Mastin Street, Merriam, KS 66203"},{label:"Routing \u2014 ACH",value:"113000023 / 111000025"},{label:"Routing \u2014 Wire",value:"026009593"},{label:"SWIFT",value:"BOFAUS3N"},{label:"Reference",value:"Hanzo"}];function Ua({onAdd:e}){let[t,r]=U__namespace.useState(""),[a,l]=U__namespace.useState(false),p=U__namespace.useCallback(async()=>{l(true);try{let i={id:`pm_${Math.random().toString(36).slice(2,12)}`,type:"wire",is_default:!1,isDefault:!1,created_at:new Date().toISOString(),wire:{bankName:"Bank of America",accountHolder:"Hanzo, Inc",routingNumber:"026009593",swift:"BOFAUS3N",country:"US"},billing_details:{}};await e(i);}finally{l(false);}},[e]);return jsxRuntime.jsxs("div",{className:"space-y-3",children:[jsxRuntime.jsx("p",{className:"text-xs text-text-muted",children:"Send a wire transfer to the account below. Click any field to copy."}),jsxRuntime.jsx("div",{className:"space-y-2",children:_a.map(({label:i,value:x})=>jsxRuntime.jsxs("button",{type:"button",onClick:()=>Ta(x,i,r),className:"w-full rounded-lg border border-border bg-bg p-3 text-left transition hover:border-border-strong group",children:[jsxRuntime.jsx("p",{className:"text-[11px] uppercase tracking-wide text-text-dim",children:i}),jsxRuntime.jsxs("div",{className:"mt-0.5 flex items-center justify-between",children:[jsxRuntime.jsx("p",{className:"text-sm text-text",children:x}),jsxRuntime.jsxs("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",className:"shrink-0 text-text-dim group-hover:text-text-muted",children:[jsxRuntime.jsx("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),jsxRuntime.jsx("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})]})]})]},i))}),t&&jsxRuntime.jsx("p",{className:"text-xs text-success",children:t}),jsxRuntime.jsx("button",{type:"button",disabled:a,onClick:p,className:Et,children:a?"Saving\u2026":"Confirm wire sent"})]})}n(Ua,"WireForm");function Ft(e,t="USD"){return new Intl.NumberFormat("en-US",{style:"currency",currency:t,minimumFractionDigits:2,maximumFractionDigits:2}).format(e)}n(Ft,"formatCurrency");function $t(e){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"}).format(e)}n($t,"formatDate");function Lt(e){return typeof e.breakdown?.totalCents=="number"?e.breakdown.totalCents/100:typeof e.total=="number"?e.total:e.amount}n(Lt,"invoiceAmount");var Ve={paid:{label:"Paid",className:"bg-emerald-500/10 text-emerald-500 ring-emerald-500/20"},pending:{label:"Pending",className:"bg-amber-500/10 text-amber-500 ring-amber-500/20"},unpaid:{label:"Unpaid",className:"bg-rose-500/10 text-rose-500 ring-rose-500/20"},failed:{label:"Failed",className:"bg-rose-500/10 text-rose-500 ring-rose-500/20"},refunded:{label:"Refunded",className:"bg-sky-500/10 text-sky-500 ring-sky-500/20"},void:{label:"Void",className:"bg-text-dim/10 text-text-muted ring-text-dim/20"}},za=["all","paid","pending","unpaid","failed","refunded","void"];function bt(e){let{invoices:t=[],onDownload:r,onFilter:a,defaultView:l="table",pageSize:p=10}=e,[i,x]=U__namespace.useState(l),[c,s]=U__namespace.useState(""),[o,u]=U__namespace.useState("all"),[y,k]=U__namespace.useState(1),[w,R]=U__namespace.useState(null),P=U__namespace.useMemo(()=>{let m=c.trim().toLowerCase();return t.filter(M=>o!=="all"&&M.status!==o?false:m?[M.invoiceNumber,M.number??"",M.id,M.status].join(" ").toLowerCase().includes(m):true).sort((M,j)=>j.date.getTime()-M.date.getTime())},[t,c,o]),v=Math.max(1,Math.ceil(P.length/p)),d=U__namespace.useMemo(()=>{let M=(Math.min(y,v)-1)*p;return P.slice(M,M+p)},[P,y,p,v]);U__namespace.useEffect(()=>{a?.({status:o==="all"?void 0:o,search:c.trim()||void 0});},[a,c,o]),U__namespace.useEffect(()=>{y>v&&k(v);},[y,v]);let f=U__namespace.useCallback(async m=>{if(r){R(m.id);try{await r(m);}finally{R(null);}}},[r]);return jsxRuntime.jsx("div",{className:"space-y-4",children:jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 border-b border-border p-4",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Invoice history"}),jsxRuntime.jsxs("p",{className:"text-sm text-text-muted",children:[P.length," invoice(s) matching current filters"]})]}),jsxRuntime.jsxs("div",{className:"inline-flex rounded-lg border border-border p-1",children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>x("table"),className:`rounded-md px-3 py-1.5 text-sm transition ${i==="table"?"bg-text text-bg":"text-text-muted hover:bg-bg-elevated"}`,children:"Table"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>x("grid"),className:`rounded-md px-3 py-1.5 text-sm transition ${i==="grid"?"bg-text text-bg":"text-text-muted hover:bg-bg-elevated"}`,children:"Grid"})]})]}),jsxRuntime.jsxs("div",{className:"flex flex-wrap gap-3 border-b border-border p-4",children:[jsxRuntime.jsx("input",{type:"search",value:c,onChange:m=>{s(m.target.value),k(1);},placeholder:"Search invoices by id, number, or status",className:"min-w-[250px] flex-1 rounded-lg border border-border bg-bg-input px-3 py-2 text-sm text-text outline-none transition focus:border-brand"}),jsxRuntime.jsx("select",{value:o,onChange:m=>{u(m.target.value),k(1);},className:"rounded-lg border border-border bg-bg-input px-3 py-2 text-sm text-text-secondary outline-none transition focus:border-brand",children:za.map(m=>jsxRuntime.jsx("option",{value:m,children:m==="all"?"All statuses":Ve[m].label},m))})]}),i==="table"?jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[720px]",children:[jsxRuntime.jsx("thead",{className:"bg-bg-elevated",children:jsxRuntime.jsxs("tr",{children:[jsxRuntime.jsx("th",{className:"px-4 py-3 text-left text-xs font-semibold uppercase tracking-wide text-text-muted",children:"Invoice"}),jsxRuntime.jsx("th",{className:"px-4 py-3 text-left text-xs font-semibold uppercase tracking-wide text-text-muted",children:"Date"}),jsxRuntime.jsx("th",{className:"px-4 py-3 text-left text-xs font-semibold uppercase tracking-wide text-text-muted",children:"Amount"}),jsxRuntime.jsx("th",{className:"px-4 py-3 text-left text-xs font-semibold uppercase tracking-wide text-text-muted",children:"Status"}),jsxRuntime.jsx("th",{className:"px-4 py-3 text-right text-xs font-semibold uppercase tracking-wide text-text-muted",children:"Actions"})]})}),jsxRuntime.jsx("tbody",{className:"divide-y divide-border",children:d.length===0?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:5,className:"px-4 py-10 text-center text-sm text-text-muted",children:"No invoices found."})}):d.map(m=>jsxRuntime.jsxs("tr",{children:[jsxRuntime.jsx("td",{className:"px-4 py-3 text-sm text-text",children:m.number||m.invoiceNumber||m.id}),jsxRuntime.jsx("td",{className:"px-4 py-3 text-sm text-text-secondary",children:$t(m.date)}),jsxRuntime.jsx("td",{className:"px-4 py-3 text-sm font-medium text-text",children:Ft(Lt(m),m.currency||"USD")}),jsxRuntime.jsx("td",{className:"px-4 py-3 text-sm",children:jsxRuntime.jsx("span",{className:`inline-flex rounded-full px-2 py-1 text-xs font-semibold ring-1 ${Ve[m.status].className}`,children:Ve[m.status].label})}),jsxRuntime.jsx("td",{className:"px-4 py-3 text-right",children:jsxRuntime.jsx("button",{type:"button",disabled:!r||w===m.id,onClick:()=>f(m),className:"rounded-md border border-border px-3 py-1.5 text-xs font-medium text-text-secondary transition hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",children:w===m.id?"Downloading\u2026":"Download PDF"})})]},m.id))})]})}):jsxRuntime.jsx("div",{className:"grid gap-3 p-4 md:grid-cols-2 xl:grid-cols-3",children:d.length===0?jsxRuntime.jsx("div",{className:"md:col-span-2 xl:col-span-3 rounded-lg border border-border p-8 text-center text-sm text-text-muted",children:"No invoices found."}):d.map(m=>jsxRuntime.jsxs("div",{className:"rounded-lg border border-border bg-bg-card p-4",children:[jsxRuntime.jsxs("div",{className:"flex items-start justify-between gap-3",children:[jsxRuntime.jsx("p",{className:"font-medium text-text",children:m.number||m.invoiceNumber||m.id}),jsxRuntime.jsx("span",{className:`inline-flex rounded-full px-2 py-1 text-xs font-semibold ring-1 ${Ve[m.status].className}`,children:Ve[m.status].label})]}),jsxRuntime.jsxs("p",{className:"mt-2 text-sm text-text-muted",children:["Issued ",$t(m.date)]}),jsxRuntime.jsx("p",{className:"mt-2 text-xl font-semibold text-text",children:Ft(Lt(m),m.currency||"USD")}),jsxRuntime.jsx("button",{type:"button",disabled:!r||w===m.id,onClick:()=>f(m),className:"mt-4 w-full rounded-md border border-border px-3 py-2 text-xs font-medium text-text-secondary transition hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",children:w===m.id?"Downloading\u2026":"Download PDF"})]},m.id))}),jsxRuntime.jsxs("div",{className:"flex items-center justify-between border-t border-border p-4",children:[jsxRuntime.jsxs("p",{className:"text-xs text-text-muted",children:["Page ",Math.min(y,v)," of ",v]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>k(m=>Math.max(1,m-1)),disabled:y<=1,className:"rounded-md border border-border px-3 py-1.5 text-xs font-medium text-text-secondary transition hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",children:"Previous"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>k(m=>Math.min(v,m+1)),disabled:y>=v,className:"rounded-md border border-border px-3 py-1.5 text-xs font-medium text-text-secondary transition hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",children:"Next"})]})]})]})})}n(bt,"InvoiceManager");var pe="w-full rounded-lg border border-border bg-bg-input px-3 py-2 text-sm text-text outline-none transition focus:border-brand";function Ye(e){let{profile:t,onSave:r}=e,[a,l]=U__namespace.useState(t),[p,i]=U__namespace.useState(false);U__namespace.useEffect(()=>{l(t);},[t]);let x=(a.contacts||[]).some(s=>s.role==="finance"||s.role==="legal"),c=U__namespace.useCallback(async()=>{if(r){i(true);try{await r(a);}finally{i(false);}}},[a,r]);return jsxRuntime.jsx("div",{className:"space-y-4",children:jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsxs("div",{className:"border-b border-border p-4",children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Business profile"}),jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:"Keep your legal and support details accurate for invoices, tax, and compliance workflows."})]}),jsxRuntime.jsxs("div",{className:"grid gap-4 p-4 md:grid-cols-2",children:[jsxRuntime.jsxs("label",{className:"space-y-1 text-sm",children:[jsxRuntime.jsx("span",{className:"font-medium text-text-secondary",children:"Legal name"}),jsxRuntime.jsx("input",{value:a.legalName,onChange:s=>l(o=>({...o,legalName:s.target.value})),className:pe})]}),jsxRuntime.jsxs("label",{className:"space-y-1 text-sm",children:[jsxRuntime.jsx("span",{className:"font-medium text-text-secondary",children:"Display name"}),jsxRuntime.jsx("input",{value:a.displayName,onChange:s=>l(o=>({...o,displayName:s.target.value})),className:pe})]}),jsxRuntime.jsxs("label",{className:"space-y-1 text-sm",children:[jsxRuntime.jsx("span",{className:"font-medium text-text-secondary",children:"Website"}),jsxRuntime.jsx("input",{value:a.website||"",onChange:s=>l(o=>({...o,website:s.target.value})),className:pe})]}),jsxRuntime.jsxs("label",{className:"space-y-1 text-sm",children:[jsxRuntime.jsx("span",{className:"font-medium text-text-secondary",children:"Support email"}),jsxRuntime.jsx("input",{value:a.supportEmail||"",onChange:s=>l(o=>({...o,supportEmail:s.target.value})),className:pe})]}),jsxRuntime.jsxs("label",{className:"space-y-1 text-sm",children:[jsxRuntime.jsx("span",{className:"font-medium text-text-secondary",children:"Statement descriptor"}),jsxRuntime.jsx("input",{value:a.statementDescriptor||"",onChange:s=>l(o=>({...o,statementDescriptor:s.target.value})),className:pe})]}),jsxRuntime.jsxs("label",{className:"space-y-1 text-sm",children:[jsxRuntime.jsx("span",{className:"font-medium text-text-secondary",children:"Tax ID"}),jsxRuntime.jsx("input",{value:a.taxId||"",onChange:s=>l(o=>({...o,taxId:s.target.value})),className:pe})]})]}),jsxRuntime.jsxs("div",{className:"border-t border-border bg-bg-elevated p-4",children:[jsxRuntime.jsx("p",{className:"mb-2 text-sm font-medium text-text-secondary",children:"Registered address"}),jsxRuntime.jsxs("div",{className:"grid gap-3 md:grid-cols-2",children:[jsxRuntime.jsx("input",{value:a.registeredAddress.line1,onChange:s=>l(o=>({...o,registeredAddress:{...o.registeredAddress,line1:s.target.value}})),placeholder:"Line 1",className:`${pe} text-sm`}),jsxRuntime.jsx("input",{value:a.registeredAddress.line2||"",onChange:s=>l(o=>({...o,registeredAddress:{...o.registeredAddress,line2:s.target.value}})),placeholder:"Line 2",className:`${pe} text-sm`}),jsxRuntime.jsx("input",{value:a.registeredAddress.city,onChange:s=>l(o=>({...o,registeredAddress:{...o.registeredAddress,city:s.target.value}})),placeholder:"City",className:`${pe} text-sm`}),jsxRuntime.jsx("input",{value:a.registeredAddress.state||"",onChange:s=>l(o=>({...o,registeredAddress:{...o.registeredAddress,state:s.target.value}})),placeholder:"State/Province",className:`${pe} text-sm`}),jsxRuntime.jsx("input",{value:a.registeredAddress.zip,onChange:s=>l(o=>({...o,registeredAddress:{...o.registeredAddress,zip:s.target.value}})),placeholder:"Postal code",className:`${pe} text-sm`}),jsxRuntime.jsx("input",{value:a.registeredAddress.country,onChange:s=>l(o=>({...o,registeredAddress:{...o.registeredAddress,country:s.target.value}})),placeholder:"Country",className:`${pe} text-sm`})]})]}),jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 border-t border-border p-4",children:[jsxRuntime.jsx("p",{className:"text-xs text-text-muted",children:x?"Finance and legal contacts are configured.":"Tip: add at least one finance or legal contact for smooth audits."}),jsxRuntime.jsx("button",{type:"button",onClick:c,disabled:!r||p,className:"rounded-lg bg-text px-3 py-2 text-sm font-medium text-bg transition hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-60",children:p?"Saving\u2026":"Save profile"})]})]})})}n(Ye,"BusinessProfilePanel");var _t={complete:{label:"Complete",className:"bg-emerald-500/10 text-emerald-500 ring-emerald-500/20"},required:{label:"Required",className:"bg-rose-500/10 text-rose-500 ring-rose-500/20"},review:{label:"Review",className:"bg-amber-500/10 text-amber-500 ring-amber-500/20"},blocked:{label:"Blocked",className:"bg-text-dim/10 text-text-muted ring-text-dim/20"}};function Ge(e){let{taxSettings:t,complianceItems:r,onToggleAutomaticTax:a}=e,[l,p]=U__namespace.useState(t.automaticCollection),[i,x]=U__namespace.useState(false);U__namespace.useEffect(()=>{p(t.automaticCollection);},[t.automaticCollection]);let c=U__namespace.useCallback(async()=>{let s=!l;p(s),x(true);try{await a?.(s);}finally{x(false);}},[l,a]);return jsxRuntime.jsx("div",{className:"space-y-4",children:jsxRuntime.jsxs("div",{className:"grid gap-4 xl:grid-cols-5",children:[jsxRuntime.jsxs("div",{className:"xl:col-span-2 overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsxs("div",{className:"border-b border-border p-4",children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Tax settings"}),jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:"Manage registrations, nexus, and tax collection behavior"})]}),jsxRuntime.jsxs("div",{className:"space-y-4 p-4",children:[jsxRuntime.jsxs("div",{className:"flex items-start justify-between gap-4 rounded-lg border border-border p-3",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"text-sm font-medium text-text",children:"Automatic tax"}),jsxRuntime.jsx("p",{className:"text-xs text-text-muted",children:"Calculate and collect tax where required"})]}),jsxRuntime.jsx("button",{type:"button",onClick:c,disabled:i,className:`relative inline-flex h-6 w-11 items-center rounded-full transition ${l?"bg-brand":"bg-border-strong"}`,children:jsxRuntime.jsx("span",{className:`inline-block h-4 w-4 transform rounded-full bg-white transition ${l?"translate-x-6":"translate-x-1"}`})})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"mb-2 text-sm font-medium text-text",children:"Registrations"}),jsxRuntime.jsx("div",{className:"space-y-2",children:t.registrations.length===0?jsxRuntime.jsx("p",{className:"rounded-lg border border-dashed border-border p-3 text-sm text-text-muted",children:"No tax registrations configured."}):t.registrations.map(s=>jsxRuntime.jsxs("div",{className:"rounded-lg border border-border p-3",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between gap-2",children:[jsxRuntime.jsx("p",{className:"text-sm font-medium text-text",children:s.region}),jsxRuntime.jsx("span",{className:"rounded-full bg-bg-elevated px-2 py-1 text-[10px] font-semibold uppercase tracking-wide text-text-secondary",children:s.status})]}),jsxRuntime.jsxs("p",{className:"mt-1 text-xs text-text-muted",children:[s.type.toUpperCase()," ","\xB7"," ",s.registrationId]})]},s.id))})]})]})]}),jsxRuntime.jsxs("div",{className:"xl:col-span-3 overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsxs("div",{className:"border-b border-border p-4",children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Compliance checklist"}),jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:"Track KYC/KYB, tax filings, and policy requirements"})]}),jsxRuntime.jsx("div",{className:"divide-y divide-border",children:r.length===0?jsxRuntime.jsx("div",{className:"p-6 text-sm text-text-muted",children:"No compliance tasks yet."}):r.map(s=>jsxRuntime.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3 p-4",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"text-sm font-medium text-text",children:s.title}),jsxRuntime.jsx("p",{className:"mt-1 text-sm text-text-secondary",children:s.description}),jsxRuntime.jsxs("p",{className:"mt-1 text-xs text-text-muted",children:["Category: ",s.category.toUpperCase(),s.owner?` \xB7 Owner: ${s.owner}`:""]})]}),jsxRuntime.jsxs("div",{className:"flex flex-col items-end gap-2",children:[jsxRuntime.jsx("span",{className:`inline-flex rounded-full px-2 py-1 text-xs font-semibold ring-1 ${_t[s.status].className}`,children:_t[s.status].label}),s.actionLabel?jsxRuntime.jsx("button",{type:"button",className:"rounded-md border border-border px-3 py-1.5 text-xs font-medium text-text-secondary transition hover:bg-bg-elevated",children:s.actionLabel}):null]})]},s.id))})]})]})})}n(Ge,"TaxCompliancePanel");var Oa=[{id:"overview",label:"Overview"},{id:"payment",label:"Payment methods"},{id:"invoices",label:"Invoices"},{id:"business",label:"Business info"},{id:"compliance",label:"Tax & compliance"}];function Wa(e){let{subscription:t,plans:r,usageMetrics:a,retentionOffers:l,subscriptionHistory:p,paymentMethods:i,invoices:x,businessProfile:c,taxSettings:s,complianceItems:o,defaultTab:u="overview",onUpgrade:y,onDowngrade:k,onCancel:w,onAcceptOffer:R,onAddPaymentMethod:P,onRemovePaymentMethod:v,onSetDefaultPaymentMethod:d,onDownloadInvoice:f,onSaveBusinessProfile:m,onToggleAutomaticTax:M}=e,[j,le]=U__namespace.useState(u);return jsxRuntime.jsxs("div",{className:"space-y-4",children:[jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-2xl border border-zinc-200 bg-gradient-to-b from-zinc-50 to-white",children:[jsxRuntime.jsxs("div",{className:"border-b border-zinc-200 px-4 py-4",children:[jsxRuntime.jsx("h2",{className:"text-2xl font-semibold text-zinc-900",children:"Billing workspace"}),jsxRuntime.jsx("p",{className:"text-sm text-zinc-500",children:"Run subscription, invoicing, payment, business profile, and compliance operations from one surface."})]}),jsxRuntime.jsx("div",{className:"flex flex-wrap gap-2 p-3",children:Oa.map(h=>jsxRuntime.jsx("button",{type:"button",onClick:()=>le(h.id),className:`rounded-lg px-3 py-1.5 text-sm transition ${j===h.id?"bg-zinc-900 text-white":"text-zinc-600 hover:bg-zinc-100"}`,children:h.label},h.id))})]}),j==="overview"?jsxRuntime.jsx(mt,{subscription:t,availablePlans:r,usageMetrics:a,retentionOffers:l,subscriptionHistory:p,onUpgrade:y,onDowngrade:k,onCancel:w,onAcceptOffer:R}):null,j==="payment"?jsxRuntime.jsx(xt,{paymentMethods:i,onAdd:P,onRemove:v,onSetDefault:d}):null,j==="invoices"?jsxRuntime.jsx(bt,{invoices:x,onDownload:f}):null,j==="business"?jsxRuntime.jsx(Ye,{profile:c,onSave:m}):null,j==="compliance"?jsxRuntime.jsx(Ge,{taxSettings:s,complianceItems:o,onToggleAutomaticTax:M}):null]})}n(Wa,"BillingWorkspace");function ja(e,t="USD"){return new Intl.NumberFormat("en-US",{style:"currency",currency:t,minimumFractionDigits:0,maximumFractionDigits:0}).format(e)}n(ja,"formatCurrency");function zt(e){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"}).format(new Date(e))}n(zt,"formatDate");function ft(e){let{alerts:t,onCreateAlert:r,onUpdateAlert:a,onDeleteAlert:l}=e,[p,i]=U__namespace.useState(false),[x,c]=U__namespace.useState(null),[s,o]=U__namespace.useState(""),[u,y]=U__namespace.useState(""),[k,w]=U__namespace.useState(false),[R,P]=U__namespace.useState(null),[v,d]=U__namespace.useState(null),f=s.trim().length>0&&parseFloat(u)>0,m=U__namespace.useCallback(()=>{o(""),y(""),c(null),i(false),d(null);},[]),M=U__namespace.useCallback(async()=>{if(!(!f||!r)){w(true),d(null);try{await r(s.trim(),parseFloat(u)),m();}catch(N){d(N instanceof Error?N.message:"Failed to create alert");}finally{w(false);}}},[f,r,s,u,m]),j=U__namespace.useCallback(async()=>{if(!(!f||!x||!a)){w(true),d(null);try{await a(x,s.trim(),parseFloat(u)),m();}catch(N){d(N instanceof Error?N.message:"Failed to update alert");}finally{w(false);}}},[f,x,a,s,u,m]),le=U__namespace.useCallback(async N=>{if(l){P(N);try{await l(N);}finally{P(null);}}},[l]),h=U__namespace.useCallback(N=>{c(N.id),o(N.title),y(String(N.threshold)),i(true),d(null);},[]);return jsxRuntime.jsx("div",{className:"space-y-4",children:jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 border-b border-border p-4",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Spend alerts"}),jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:"Get notified when your spending crosses a threshold. Alerts check every 90 minutes."})]}),jsxRuntime.jsx("button",{type:"button",onClick:()=>{p?m():i(true);},className:"rounded-lg bg-text px-3 py-2 text-sm font-medium text-bg transition hover:opacity-80",children:p?"Cancel":"New alert"})]}),p&&jsxRuntime.jsxs("div",{className:"border-b border-border p-4",children:[jsxRuntime.jsxs("div",{className:"grid gap-3 md:grid-cols-3",children:[jsxRuntime.jsx("input",{value:s,onChange:N=>o(N.target.value),placeholder:"Alert name (e.g. Monthly budget)",className:"rounded-lg border border-border bg-bg-input px-3 py-2 text-sm text-text outline-none transition focus:border-brand md:col-span-2"}),jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsxs("div",{className:"relative flex-1",children:[jsxRuntime.jsx("span",{className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-sm text-text-dim",children:"$"}),jsxRuntime.jsx("input",{type:"number",min:"1",step:"1",value:u,onChange:N=>y(N.target.value),placeholder:"Threshold",className:"w-full rounded-lg border border-border bg-bg-input py-2 pl-7 pr-3 text-sm text-text outline-none transition focus:border-brand"})]}),jsxRuntime.jsx("button",{type:"button",disabled:!f||k,onClick:x?j:M,className:"rounded-lg bg-text px-4 py-2 text-sm font-medium text-bg transition hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-60",children:k?"Saving...":x?"Update":"Create"})]})]}),v&&jsxRuntime.jsx("p",{className:"mt-2 text-sm text-danger",children:v})]}),jsxRuntime.jsx("div",{className:"divide-y divide-border",children:t.length===0?jsxRuntime.jsx("div",{className:"p-6 text-sm text-text-muted",children:"No spend alerts configured."}):t.map(N=>{let E=R===N.id;return jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 p-4",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("p",{className:"text-sm font-medium text-text",children:N.title}),N.triggeredAt&&jsxRuntime.jsx("span",{className:"rounded-full bg-amber-500/10 px-2 py-0.5 text-[10px] font-semibold text-amber-500 ring-1 ring-amber-500/20",children:"Triggered"})]}),jsxRuntime.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-2 text-xs text-text-muted",children:[jsxRuntime.jsxs("span",{children:["Threshold: ",ja(N.threshold,N.currency)]}),jsxRuntime.jsxs("span",{children:["Created ",zt(N.createdAt)]}),N.triggeredAt&&jsxRuntime.jsxs("span",{children:["Triggered ",zt(N.triggeredAt)]})]})]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>h(N),disabled:E,className:"rounded-md border border-border px-3 py-1.5 text-xs font-medium text-text-secondary transition hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",children:"Edit"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>le(N.id),disabled:E,className:"rounded-md border border-rose-500/30 px-3 py-1.5 text-xs font-medium text-rose-500 transition hover:bg-rose-500/10 disabled:cursor-not-allowed disabled:opacity-60",children:E?"Deleting...":"Delete"})]})]},N.id)})})]})})}n(ft,"SpendAlertsPanel");function jt(e,t="USD"){return new Intl.NumberFormat("en-US",{style:"currency",currency:t,minimumFractionDigits:2,maximumFractionDigits:2}).format(e)}n(jt,"formatCurrency");function Ot(e){return e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(1)}k`:e.toLocaleString()}n(Ot,"formatNumber");function Wt(e){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric"}).format(new Date(e))}n(Wt,"formatDate");var qa={ai:"\u{1F916}",storage:"\u{1F4BE}",network:"\u{1F310}",network_egress:"\u{1F4E4}",gpu:"\u26A1",api_calls:"\u{1F4E1}"},Ha={ai:"bg-violet-500",storage:"bg-blue-500",network:"bg-emerald-500",network_egress:"bg-teal-500",gpu:"bg-amber-500",api_calls:"bg-indigo-500"};function Va({record:e}){let t=e.limit&&e.limit>0?Math.min(e.current/e.limit*100,100):null,r=qa[e.meterId]??"\u{1F4CA}",a=Ha[e.meterId]??"bg-brand",l=t!==null&&t>=100,p=t!==null&&t>=80&&t<100;return jsxRuntime.jsxs("div",{className:"rounded-lg border border-border bg-bg-card p-4",children:[jsxRuntime.jsxs("div",{className:"flex items-start justify-between gap-2",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-lg",children:r}),jsxRuntime.jsx("p",{className:"text-sm font-medium text-text",children:e.label})]}),e.cost>0&&jsxRuntime.jsx("span",{className:"rounded-full bg-bg-elevated px-2 py-0.5 text-xs font-medium text-text-secondary",children:jt(e.cost)})]}),jsxRuntime.jsxs("div",{className:"mt-3",children:[jsxRuntime.jsxs("div",{className:"flex items-end justify-between",children:[jsxRuntime.jsxs("p",{className:"text-2xl font-semibold text-text",children:[Ot(e.current),jsxRuntime.jsx("span",{className:"ml-1 text-sm font-normal text-text-muted",children:e.unit})]}),e.limit&&e.limit>0&&jsxRuntime.jsxs("p",{className:"text-xs text-text-muted",children:["of ",Ot(e.limit)," ",e.unit]})]}),t!==null&&jsxRuntime.jsxs("div",{className:"mt-2",children:[jsxRuntime.jsx("div",{className:"h-2 rounded-full bg-bg-elevated",children:jsxRuntime.jsx("div",{className:`h-2 rounded-full transition-all ${l?"bg-danger":p?"bg-warning":a}`,style:{width:`${Math.min(t,100)}%`}})}),jsxRuntime.jsx("p",{className:`mt-1 text-xs ${l?"text-danger font-medium":p?"text-warning":"text-text-muted"}`,children:l?`${(t-100).toFixed(0)}% over limit`:`${t.toFixed(0)}% used`})]})]})]})}n(Va,"UsageMeter");function Ya(e){let{usage:t,loading:r=false}=e;if(r)return jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card p-8 text-center",children:[jsxRuntime.jsx("div",{className:"mx-auto h-6 w-6 animate-spin rounded-full border-2 border-text-dim border-t-brand"}),jsxRuntime.jsx("p",{className:"mt-3 text-sm text-text-muted",children:"Loading usage data..."})]});if(!t||t.records.length===0)return jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsxs("div",{className:"border-b border-border p-4",children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Usage"}),jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:"Current billing period resource consumption"})]}),jsxRuntime.jsx("div",{className:"p-6 text-sm text-text-muted",children:"No usage data available for this period."})]});let a=t.period.start&&t.period.end?`${Wt(t.period.start)} \u2013 ${Wt(t.period.end)}`:"Current period";return jsxRuntime.jsx("div",{className:"space-y-4",children:jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3 border-b border-border p-4",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Usage"}),jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:a})]}),jsxRuntime.jsxs("div",{className:"text-right",children:[jsxRuntime.jsx("p",{className:"text-xs uppercase tracking-wide text-text-muted",children:"Total cost"}),jsxRuntime.jsx("p",{className:"mt-1 text-xl font-semibold text-text",children:jt(t.totalCost,t.currency)})]})]}),jsxRuntime.jsx("div",{className:"grid gap-4 p-4 md:grid-cols-2 xl:grid-cols-3",children:t.records.map(l=>jsxRuntime.jsx(Va,{record:l},l.meterId))})]})})}n(Ya,"UsagePanel");function ot(e,t="USD"){return new Intl.NumberFormat("en-US",{style:"currency",currency:t,minimumFractionDigits:2}).format(e)}n(ot,"formatCurrency");function Ga(e){let t=new Date(e).getTime()-Date.now();if(t<=0)return "Expired";let r=Math.floor(t/(1e3*60*60*24)),a=Math.floor(t%(1e3*60*60*24)/(1e3*60*60));if(r>0)return `${r}d ${a}h remaining`;let l=Math.floor(t%(1e3*60*60)/(1e3*60));return `${a}h ${l}m remaining`}n(Ga,"formatCountdown");function qt(e){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric"}).format(new Date(e))}n(qt,"formatDate");function Ka({creditGrants:e,creditBalance:t=0,onClaimStarterCredit:r}){let[a,l]=U__namespace.useState(false),[p,i]=U__namespace.useState(null),x=e.some(u=>u.name.toLowerCase().includes("starter")&&u.active),c=e.filter(u=>u.active&&!u.voided),s=e.filter(u=>!u.active||u.voided),o=U__namespace.useCallback(async()=>{if(r){l(true),i(null);try{await r();}catch(u){i(u instanceof Error?u.message:"Failed to claim credit");}finally{l(false);}}},[r]);return jsxRuntime.jsxs("div",{className:"space-y-4",children:[jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsxs("div",{className:"border-b border-border p-4",children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Credits"}),jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:"View your credit grants, starter credits, and promotional balances"})]}),jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-4 p-4",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.14em] text-text-muted",children:"Total credit balance"}),jsxRuntime.jsx("p",{className:"mt-1 text-3xl font-bold text-text",children:ot(t/100)})]}),r&&!x&&jsxRuntime.jsx("button",{type:"button",disabled:a,onClick:o,className:"rounded-lg bg-brand px-5 py-2.5 text-sm font-semibold text-brand-foreground transition hover:bg-brand-hover active:scale-[0.97] disabled:cursor-not-allowed disabled:opacity-60",children:a?"Claiming...":"Claim $5 Starter Credit"})]}),p&&jsxRuntime.jsx("div",{className:"border-t border-border px-4 py-2",children:jsxRuntime.jsx("p",{className:"text-sm text-danger",children:p})})]}),c.length>0&&jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsx("div",{className:"border-b border-border px-4 py-3",children:jsxRuntime.jsx("h4",{className:"text-sm font-semibold text-text",children:"Active credits"})}),jsxRuntime.jsx("div",{className:"divide-y divide-border",children:c.map(u=>{let y=u.amountCents>0?Math.round(u.remainingCents/u.amountCents*100):0;return jsxRuntime.jsxs("div",{className:"p-4",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-start justify-between gap-3",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"text-sm font-medium text-text",children:u.name}),jsxRuntime.jsxs("div",{className:"mt-1 flex flex-wrap items-center gap-2 text-xs text-text-muted",children:[jsxRuntime.jsxs("span",{children:[ot(u.remainingCents/100,u.currency)," of ",ot(u.amountCents/100,u.currency)," remaining"]}),u.createdAt&&jsxRuntime.jsxs("span",{children:["Granted ",qt(u.createdAt)]})]})]}),u.expiresAt&&jsxRuntime.jsx("span",{className:`rounded-full px-3 py-1 text-xs font-semibold ${new Date(u.expiresAt).getTime()-Date.now()<10080*60*1e3?"bg-warning/10 text-warning":"bg-bg-elevated text-text-muted"}`,children:Ga(u.expiresAt)})]}),jsxRuntime.jsxs("div",{className:"mt-3",children:[jsxRuntime.jsx("div",{className:"h-2 rounded-full bg-bg-elevated",children:jsxRuntime.jsx("div",{className:"h-2 rounded-full bg-brand transition-all",style:{width:`${y}%`}})}),jsxRuntime.jsxs("p",{className:"mt-1 text-xs text-text-dim",children:[y,"% remaining"]})]})]},u.id)})})]}),s.length>0&&jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsx("div",{className:"border-b border-border px-4 py-3",children:jsxRuntime.jsx("h4",{className:"text-sm font-semibold text-text-muted",children:"Expired / used credits"})}),jsxRuntime.jsx("div",{className:"divide-y divide-border",children:s.map(u=>jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 px-4 py-3 opacity-60",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"text-sm font-medium text-text-muted",children:u.name}),jsxRuntime.jsxs("p",{className:"text-xs text-text-dim",children:[ot(u.amountCents/100,u.currency)," ",u.voided?"Voided":"Expired"]})]}),u.expiresAt&&jsxRuntime.jsxs("p",{className:"text-xs text-text-dim",children:["Expired ",qt(u.expiresAt)]})]},u.id))})]}),e.length===0&&jsxRuntime.jsxs("div",{className:"rounded-xl border border-dashed border-border p-8 text-center",children:[jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:"No credit grants yet."}),r&&!x&&jsxRuntime.jsx("p",{className:"mt-2 text-xs text-text-dim",children:"Claim your $5 starter credit above to get started."})]})]})}n(Ka,"CreditsPanel");function Se(...e){return tailwindMerge.twMerge(clsx.clsx(e))}n(Se,"cn");var tr=classVarianceAuthority.cva('inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*="size-"])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline",primary:"bg-primary text-primary-foreground shadow hover:bg-primary/90",linkFG:"text-primary underline-offset-4 hover:underline",linkMuted:"text-muted-foreground underline-offset-4 hover:underline hover:text-foreground"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-8","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}}),vt=U__namespace.forwardRef(({className:e,variant:t="default",size:r="default",asChild:a=false,isLoading:l=false,children:p,...i},x)=>jsxRuntime.jsxs(a?reactSlot.Slot:"button",{"data-slot":"button","data-variant":t,"data-size":r,className:Se(tr({variant:t,size:r,className:e})),ref:x,...i,children:[l?jsxRuntime.jsx(lucideReact.Loader2,{className:Se("h-4 w-4 animate-spin",r!=="icon"&&r!=="icon-sm"&&r!=="icon-lg"&&"mr-2")}):null,l&&(r==="icon"||r==="icon-sm"||r==="icon-lg")?null:p]}));vt.displayName="Button";function Vt({...e}){return jsxRuntime.jsx(re__namespace.Root,{"data-slot":"dialog",...e})}n(Vt,"Dialog");function or({...e}){return jsxRuntime.jsx(re__namespace.Portal,{"data-slot":"dialog-portal",...e})}n(or,"DialogPortal");function ir({className:e,...t}){return jsxRuntime.jsx(re__namespace.Overlay,{"data-slot":"dialog-overlay",className:Se("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 isolate z-50","bg-black/80",e),...t})}n(ir,"DialogOverlay");function Yt({className:e,children:t,showCloseButton:r=true,...a}){return jsxRuntime.jsxs(or,{children:[jsxRuntime.jsx(ir,{}),jsxRuntime.jsxs(re__namespace.Content,{"data-slot":"dialog-content",className:Se("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-1/2 left-1/2 z-50 grid w-full max-w-lg -translate-x-1/2 -translate-y-1/2 gap-4 rounded-lg border p-6 shadow-lg duration-200",e),...a,children:[t,r&&jsxRuntime.jsx(re__namespace.Close,{"data-slot":"dialog-close",asChild:true,children:jsxRuntime.jsxs(vt,{variant:"ghost",size:"icon-sm",className:"absolute top-4 right-4 rounded-sm opacity-70 transition-opacity hover:opacity-100 disabled:pointer-events-none",children:[jsxRuntime.jsx(lucideReact.X,{className:"size-4"}),jsxRuntime.jsx("span",{className:"sr-only",children:"Close"})]})})]})]})}n(Yt,"DialogContent");function Gt({className:e,...t}){return jsxRuntime.jsx("div",{"data-slot":"dialog-header",className:Se("flex flex-col gap-1.5 text-center sm:text-left",e),...t})}n(Gt,"DialogHeader");function Kt({className:e,...t}){return jsxRuntime.jsx(re__namespace.Title,{"data-slot":"dialog-title",className:Se("text-lg leading-none font-semibold tracking-tight",e),...t})}n(Kt,"DialogTitle");function Qt({className:e,...t}){return jsxRuntime.jsx(re__namespace.Description,{"data-slot":"dialog-description",className:Se("text-muted-foreground text-sm",e),...t})}n(Qt,"DialogDescription");var nr=[1e3,2500,5e3,1e4];function Be(e,t){return new Intl.NumberFormat("en-US",{style:"currency",currency:t,minimumFractionDigits:2}).format((e||0)/100)}n(Be,"formatCents");function lr({open:e,onClose:t,trialBalanceCents:r=0,prepaidBalanceCents:a=0,trialGrantedCents:l,currency:p="usd",topUpOptions:i=nr,onTopUp:x,isNewUser:c=false,busy:s=false,error:o,children:u,title:y="Credits & balance"}){let[k,w]=U__namespace.useState(""),R=r+a,P=l??r,v=c&&P>0,d=U__namespace.useMemo(()=>{let m=Number.parseFloat(k);return !Number.isFinite(m)||m<=0?0:Math.round(m*100)},[k]),f=U__namespace.useCallback(m=>{s||m<=0||!x||x(m);},[s,x]);return jsxRuntime.jsx(Vt,{open:e,onOpenChange:m=>{m||t();},children:jsxRuntime.jsxs(Yt,{className:"max-w-md border-border bg-bg-card text-text",children:[jsxRuntime.jsxs(Gt,{children:[jsxRuntime.jsx(Kt,{className:"text-text",children:v?`You've got ${Be(P,p)} in free credits`:y}),jsxRuntime.jsx(Qt,{className:"text-text-muted",children:v?"Start building \u2014 trial credit is applied automatically before any charge.":"Trial credit is applied before your prepaid balance."})]}),jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg",children:[jsxRuntime.jsxs("div",{className:"grid grid-cols-2 divide-x divide-border",children:[jsxRuntime.jsxs("div",{className:"p-4",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.14em] text-text-muted",children:"Trial"}),jsxRuntime.jsx("span",{className:"rounded-full bg-warning/10 px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wider text-warning",children:"Promo"})]}),jsxRuntime.jsx("p",{className:"mt-1 text-2xl font-bold text-text",children:Be(r,p)}),jsxRuntime.jsx("p",{className:"mt-0.5 text-xs text-text-dim",children:"Non-cash credit"})]}),jsxRuntime.jsxs("div",{className:"p-4",children:[jsxRuntime.jsx("p",{className:"text-xs font-semibold uppercase tracking-[0.14em] text-text-muted",children:"Prepaid"}),jsxRuntime.jsx("p",{className:"mt-1 text-2xl font-bold text-text",children:Be(a,p)}),jsxRuntime.jsx("p",{className:"mt-0.5 text-xs text-text-dim",children:"Paid credit"})]})]}),jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-2 border-t border-border px-4 py-3",children:[jsxRuntime.jsxs("span",{className:"text-sm text-text-muted",children:[Be(r,p)," trial + ",Be(a,p)," credits"]}),jsxRuntime.jsxs("span",{className:"text-sm font-semibold text-text",children:["Total ",Be(R,p)]})]})]}),x&&jsxRuntime.jsxs("div",{className:"space-y-3",children:[jsxRuntime.jsx("p",{className:"text-sm font-medium text-text",children:"Add credits"}),i.length>0&&jsxRuntime.jsx("div",{className:"grid grid-cols-4 gap-2",children:i.map(m=>jsxRuntime.jsx("button",{type:"button",disabled:s,onClick:()=>f(m),className:"rounded-lg border border-border bg-bg px-3 py-2 text-sm font-semibold text-text transition hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",children:Be(m,p)},m))}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsxs("div",{className:"relative flex-1",children:[jsxRuntime.jsx("span",{className:"pointer-events-none absolute left-3 top-1/2 -translate-y-1/2 text-sm text-text-dim",children:"$"}),jsxRuntime.jsx("input",{type:"number",min:"0",step:"0.01",inputMode:"decimal",value:k,onChange:m=>w(m.target.value),placeholder:"Custom amount",disabled:s,className:"w-full rounded-lg border border-border bg-bg py-2 pl-7 pr-3 text-sm text-text placeholder:text-text-dim focus:border-brand focus:outline-none disabled:opacity-60"})]}),jsxRuntime.jsx("button",{type:"button",disabled:s||d<=0,onClick:()=>f(d),className:"rounded-lg bg-brand px-5 py-2 text-sm font-semibold text-brand-foreground transition hover:bg-brand-hover active:scale-[0.97] disabled:cursor-not-allowed disabled:opacity-60",children:s?"Processing\u2026":"Add"})]})]}),u,o&&jsxRuntime.jsx("p",{role:"alert",className:"text-sm text-danger",children:o})]})})}n(lr,"CreditModal");function Xt(e,t="USD"){return new Intl.NumberFormat("en-US",{style:"currency",currency:t,minimumFractionDigits:2}).format(e)}n(Xt,"formatCurrency");function dr(e){return new Intl.DateTimeFormat("en-US",{month:"short",day:"numeric",year:"numeric",hour:"numeric",minute:"2-digit"}).format(new Date(e))}n(dr,"formatDate");var Zt={deposit:{label:"Deposit",color:"text-emerald-500"},withdraw:{label:"Withdrawal",color:"text-rose-500"},hold:{label:"Hold",color:"text-amber-500"},"hold-removed":{label:"Hold Released",color:"text-sky-500"},transfer:{label:"Transfer",color:"text-violet-500"}},cr=["all","deposit","withdraw","hold","hold-removed","transfer"];function mr({transactions:e,loading:t=false,pageSize:r=20}){let[a,l]=U__namespace.useState("all"),[p,i]=U__namespace.useState(1),x=U__namespace.useMemo(()=>a==="all"?e:e.filter(o=>o.type===a),[e,a]),c=Math.max(1,Math.ceil(x.length/r)),s=U__namespace.useMemo(()=>{let u=(Math.min(p,c)-1)*r;return x.slice(u,u+r)},[x,p,r,c]);return U__namespace.useEffect(()=>{p>c&&i(c);},[p,c]),t?jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card p-8 text-center",children:[jsxRuntime.jsx("div",{className:"mx-auto h-6 w-6 animate-spin rounded-full border-2 border-text-dim border-t-brand"}),jsxRuntime.jsx("p",{className:"mt-3 text-sm text-text-muted",children:"Loading transactions..."})]}):jsxRuntime.jsx("div",{className:"space-y-4",children:jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 border-b border-border p-4",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Transactions"}),jsxRuntime.jsxs("p",{className:"text-sm text-text-muted",children:[x.length," transaction(s)"]})]}),jsxRuntime.jsx("select",{value:a,onChange:o=>{l(o.target.value),i(1);},className:"rounded-lg border border-border bg-bg-input px-3 py-2 text-sm text-text-secondary outline-none transition focus:border-brand",children:cr.map(o=>jsxRuntime.jsx("option",{value:o,children:o==="all"?"All types":Zt[o].label},o))})]}),jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full min-w-[640px]",children:[jsxRuntime.jsx("thead",{className:"bg-bg-elevated",children:jsxRuntime.jsxs("tr",{children:[jsxRuntime.jsx("th",{className:"px-4 py-3 text-left text-xs font-semibold uppercase tracking-wide text-text-muted",children:"Date"}),jsxRuntime.jsx("th",{className:"px-4 py-3 text-left text-xs font-semibold uppercase tracking-wide text-text-muted",children:"Type"}),jsxRuntime.jsx("th",{className:"px-4 py-3 text-right text-xs font-semibold uppercase tracking-wide text-text-muted",children:"Amount"}),jsxRuntime.jsx("th",{className:"px-4 py-3 text-left text-xs font-semibold uppercase tracking-wide text-text-muted",children:"Description"}),jsxRuntime.jsx("th",{className:"px-4 py-3 text-right text-xs font-semibold uppercase tracking-wide text-text-muted",children:"Balance"})]})}),jsxRuntime.jsx("tbody",{className:"divide-y divide-border",children:s.length===0?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:5,className:"px-4 py-10 text-center text-sm text-text-muted",children:"No transactions found."})}):s.map(o=>{let u=Zt[o.type]??{label:o.type,color:"text-text-muted"},y=o.type==="deposit"||o.type==="hold-removed";return jsxRuntime.jsxs("tr",{children:[jsxRuntime.jsx("td",{className:"px-4 py-3 text-sm text-text-secondary",children:dr(o.createdAt)}),jsxRuntime.jsx("td",{className:"px-4 py-3 text-sm",children:jsxRuntime.jsx("span",{className:`font-medium ${u.color}`,children:u.label})}),jsxRuntime.jsxs("td",{className:`px-4 py-3 text-right text-sm font-medium ${y?"text-emerald-500":"text-rose-500"}`,children:[y?"+":"-",Xt(Math.abs(o.amountCents)/100,o.currency)]}),jsxRuntime.jsx("td",{className:"px-4 py-3 text-sm text-text-muted",children:o.description||"\u2014"}),jsxRuntime.jsx("td",{className:"px-4 py-3 text-right text-sm text-text-secondary",children:o.balanceAfter!=null?Xt(o.balanceAfter/100,o.currency):"\u2014"})]},o.id)})})]})}),c>1&&jsxRuntime.jsxs("div",{className:"flex items-center justify-between border-t border-border p-4",children:[jsxRuntime.jsxs("p",{className:"text-xs text-text-muted",children:["Page ",Math.min(p,c)," of ",c]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>i(o=>Math.max(1,o-1)),disabled:p<=1,className:"rounded-md border border-border px-3 py-1.5 text-xs font-medium text-text-secondary transition hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",children:"Previous"}),jsxRuntime.jsx("button",{type:"button",onClick:()=>i(o=>Math.min(c,o+1)),disabled:p>=c,className:"rounded-md border border-border px-3 py-1.5 text-xs font-medium text-text-secondary transition hover:bg-bg-elevated disabled:cursor-not-allowed disabled:opacity-60",children:"Next"})]})]})]})})}n(mr,"TransactionsPanel");function Jt(e){return e.kind==="percent"?`${e.value}% off`:`$${e.value} off`}n(Jt,"formatDiscount");function ht({discount:e,onApplyDiscount:t}){let[r,a]=U__namespace.useState(""),[l,p]=U__namespace.useState(false),[i,x]=U__namespace.useState(null),c=U__namespace.useCallback(async()=>{if(!(!t||!r.trim())){p(true),x(null);try{let s=await t(r.trim());s&&s.valid?(x({success:!0,message:`Applied: ${s.name||s.code} (${Jt(s)})`}),a("")):x({success:!1,message:"Invalid or expired code"});}catch(s){x({success:false,message:s instanceof Error?s.message:"Failed to apply code"});}finally{p(false);}}},[t,r]);return jsxRuntime.jsxs("div",{className:"space-y-4",children:[e&&jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-emerald-500/30 bg-emerald-500/5",children:[jsxRuntime.jsx("div",{className:"border-b border-emerald-500/20 px-4 py-3",children:jsxRuntime.jsx("h4",{className:"text-sm font-semibold text-emerald-500",children:"Active discount"})}),jsxRuntime.jsxs("div",{className:"p-4",children:[jsxRuntime.jsx("p",{className:"text-lg font-semibold text-text",children:e.name||e.code||"Discount"}),jsxRuntime.jsxs("p",{className:"mt-1 text-sm text-text-secondary",children:[Jt(e),e.duration==="repeating"&&e.durationInMonths?` for ${e.durationInMonths} months`:e.duration==="forever"?" forever":e.duration==="once"?" (one-time)":""]})]})]}),jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsxs("div",{className:"border-b border-border p-4",children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Promotions & Discounts"}),jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:"Enter a promo code, referral code, or discount code to apply to your subscription."})]}),jsxRuntime.jsxs("div",{className:"p-4",children:[jsxRuntime.jsxs("div",{className:"flex gap-2",children:[jsxRuntime.jsx("input",{value:r,onChange:s=>{a(s.target.value.toUpperCase()),x(null);},placeholder:"Enter promo code",className:"flex-1 rounded-lg border border-border bg-bg-input px-3 py-2 text-sm font-mono uppercase text-text outline-none transition placeholder:text-text-dim focus:border-brand"}),jsxRuntime.jsx("button",{type:"button",disabled:!r.trim()||l||!t,onClick:c,className:"rounded-lg bg-text px-5 py-2 text-sm font-medium text-bg transition hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-60",children:l?"Applying...":"Apply"})]}),i&&jsxRuntime.jsx("p",{className:`mt-2 text-sm ${i.success?"text-success":"text-danger"}`,children:i.message})]})]}),jsxRuntime.jsxs("div",{className:"rounded-xl border border-dashed border-border p-6 text-center",children:[jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:"Watch for promotional offers, seasonal discounts, and referral bonuses."}),jsxRuntime.jsx("p",{className:"mt-1 text-xs text-text-dim",children:"Credits and promotions are applied automatically at billing time."})]})]})}n(ht,"PromotionsPanel");var ur=[{id:"community",name:"Community",price:0,billingPeriod:"monthly",features:["Community forum access","Public documentation","GitHub issues","72-hour response SLA"]},{id:"priority",name:"Priority",price:99,billingPeriod:"monthly",highlighted:true,features:["Email support","Dedicated support channel","24-hour response SLA","Priority bug fixes","Quarterly architecture review"]},{id:"enterprise",name:"Enterprise",price:499,billingPeriod:"monthly",features:["Dedicated support engineer","Slack/Teams integration","4-hour response SLA","Custom SLAs available","Onboarding assistance","Monthly strategy calls"]}];function pr(e){return e===0?"Free":new Intl.NumberFormat("en-US",{style:"currency",currency:"USD",maximumFractionDigits:0}).format(e)}n(pr,"formatCurrency");function Nt({currentTier:e,onSubscribe:t}){let[r,a]=U__namespace.useState(null),l=U__namespace.useCallback(async i=>{if(t){a(i);try{await t(i);}finally{a(null);}}},[t]),p=e??"community";return jsxRuntime.jsxs("div",{className:"space-y-4",children:[jsxRuntime.jsx("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:jsxRuntime.jsxs("div",{className:"border-b border-border p-4",children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Support plans"}),jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:"Choose the level of support that fits your needs. Upgrade anytime."})]})}),jsxRuntime.jsx("div",{className:"grid gap-4 md:grid-cols-3",children:ur.map(i=>{let x=i.id===p,c=r===i.id;return jsxRuntime.jsxs("div",{className:`relative rounded-xl border p-5 transition ${i.highlighted&&!x?"border-2 border-brand bg-bg-card":x?"border-brand bg-brand/10":"border-border bg-bg-card"}`,children:[i.highlighted&&!x&&jsxRuntime.jsx("span",{className:"absolute -top-3 left-4 rounded-full bg-brand px-3 py-0.5 text-xs font-semibold text-brand-foreground",children:"Recommended"}),jsxRuntime.jsx("p",{className:"text-lg font-semibold text-text",children:i.name}),jsxRuntime.jsxs("p",{className:"mt-2 text-2xl font-bold text-text",children:[pr(i.price),i.price>0&&jsxRuntime.jsxs("span",{className:"text-sm font-normal text-text-muted",children:["/",i.billingPeriod]})]}),jsxRuntime.jsx("ul",{className:"mt-4 space-y-2 text-sm text-text-secondary",children:i.features.map(s=>jsxRuntime.jsxs("li",{className:"flex items-start gap-2",children:[jsxRuntime.jsx("span",{className:"mt-0.5 text-emerald-500",children:"\u2713"}),s]},s))}),jsxRuntime.jsx("button",{type:"button",disabled:x||c||!t,onClick:()=>l(i.id),className:`mt-5 w-full rounded-lg px-3 py-2 text-sm font-medium transition ${x?"cursor-not-allowed bg-bg-elevated text-text-dim":c?"cursor-wait bg-bg-elevated text-text-muted":i.highlighted?"bg-brand text-brand-foreground hover:bg-brand-hover active:scale-[0.97]":"bg-text text-bg hover:opacity-80"}`,children:x?"Current plan":c?"Subscribing...":i.price===0?"Downgrade":"Upgrade"})]},i.id)})})]})}n(Nt,"SupportTiersPanel");function ea(e){switch(e){case "owner":return "bg-brand/20 text-brand";case "admin":return "bg-amber-500/20 text-amber-400";case "viewer":return "bg-text-dim/20 text-text-muted"}}n(ea,"roleBadgeClass");function ta(e){return "bg-text-dim/20 text-text-muted"}n(ta,"planBadgeClass");function aa(e,t){return new Intl.NumberFormat("en-US",{style:"currency",currency:t.toUpperCase(),minimumFractionDigits:2}).format(e/100)}n(aa,"formatBalance");function xr({accounts:e,activeAccountId:t,onSwitch:r,onCreate:a}){let[l,p]=U__namespace.useState(false),i=U__namespace.useRef(null);U__namespace.useEffect(()=>{function c(s){i.current&&!i.current.contains(s.target)&&p(false);}if(n(c,"handleClick"),l)return document.addEventListener("mousedown",c),()=>document.removeEventListener("mousedown",c)},[l]);let x=e.find(c=>c.id===t)??e[0]??null;return e.length===0&&!a?null:jsxRuntime.jsxs("div",{ref:i,className:"relative mb-4",children:[jsxRuntime.jsxs("button",{type:"button",onClick:()=>p(c=>!c),className:"flex w-full items-center justify-between rounded-xl border border-border bg-bg-card px-4 py-3 text-left transition hover:bg-bg-elevated",children:[x?jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-brand/20 text-sm font-bold text-brand",children:x.orgName.charAt(0).toUpperCase()}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-sm font-semibold text-text",children:x.name}),jsxRuntime.jsx("span",{className:`rounded-full px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide ${ta(x.plan)}`,children:x.plan}),jsxRuntime.jsx("span",{className:`rounded-full px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide ${ea(x.role)}`,children:x.role})]}),jsxRuntime.jsxs("span",{className:"text-xs text-text-muted",children:[x.orgName," \xB7 ",aa(x.balance,x.currency)]})]})]}):jsxRuntime.jsx("span",{className:"text-sm text-text-muted",children:"No billing account"}),jsxRuntime.jsx("svg",{className:`h-4 w-4 text-text-muted transition-transform ${l?"rotate-180":""}`,fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M19 9l-7 7-7-7"})})]}),l&&jsxRuntime.jsxs("div",{className:"absolute left-0 right-0 z-50 mt-1 overflow-hidden rounded-xl border border-border bg-bg-card shadow-lg",children:[jsxRuntime.jsx("div",{className:"max-h-72 overflow-y-auto divide-y divide-border",children:e.map(c=>{let s=c.id===t;return jsxRuntime.jsxs("button",{type:"button",onClick:()=>{r(c.id),p(false);},className:`flex w-full items-center gap-3 px-4 py-3 text-left transition hover:bg-bg-elevated ${s?"bg-bg-elevated":""}`,children:[jsxRuntime.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-lg bg-brand/20 text-sm font-bold text-brand",children:c.orgName.charAt(0).toUpperCase()}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("span",{className:"text-sm font-medium text-text truncate",children:c.name}),jsxRuntime.jsx("span",{className:`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide ${ta(c.plan)}`,children:c.plan}),jsxRuntime.jsx("span",{className:`shrink-0 rounded-full px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide ${ea(c.role)}`,children:c.role})]}),jsxRuntime.jsxs("span",{className:"text-xs text-text-muted",children:[c.orgName," \xB7 ",aa(c.balance,c.currency)]})]}),s&&jsxRuntime.jsx("svg",{className:"h-4 w-4 shrink-0 text-brand",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M5 13l4 4L19 7"})})]},c.id)})}),a&&jsxRuntime.jsx("div",{className:"border-t border-border p-2",children:jsxRuntime.jsxs("button",{type:"button",onClick:()=>{a(),p(false);},className:"flex w-full items-center gap-2 rounded-lg px-3 py-2 text-sm text-text-muted transition hover:bg-bg-elevated hover:text-text",children:[jsxRuntime.jsx("svg",{className:"h-4 w-4",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor",strokeWidth:2,children:jsxRuntime.jsx("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M12 4v16m8-8H4"})}),"Create billing account"]})})]})]})}n(xr,"AccountSwitcher");var ra=["owner","admin","viewer"];function br(e){switch(e){case "owner":return "bg-brand/20 text-brand";case "admin":return "bg-amber-500/20 text-amber-400";case "viewer":return "bg-text-dim/20 text-text-muted"}}n(br,"roleBadgeClass");var sa="rounded-lg border border-border bg-bg-input px-3 py-2 text-sm text-text outline-none transition focus:border-brand";function wt({members:e,userRole:t,onInvite:r,onChangeRole:a,onRemove:l}){let p=t==="owner"||t==="admin",[i,x]=U__namespace.useState(""),[c,s]=U__namespace.useState("viewer"),[o,u]=U__namespace.useState(false),[y,k]=U__namespace.useState(null),w=U__namespace.useCallback(async()=>{if(!(!i.includes("@")||!r)){u(true);try{await r(i,c),x(""),s("viewer");}finally{u(false);}}},[i,c,r]),R=U__namespace.useCallback(async(v,d)=>{if(a){k(v);try{await a(v,d);}finally{k(null);}}},[a]),P=U__namespace.useCallback(async v=>{if(l){k(v);try{await l(v);}finally{k(null);}}},[l]);return jsxRuntime.jsx("div",{className:"space-y-4",children:jsxRuntime.jsxs("div",{className:"overflow-hidden rounded-xl border border-border bg-bg-card",children:[jsxRuntime.jsxs("div",{className:"border-b border-border p-4",children:[jsxRuntime.jsx("h3",{className:"text-lg font-semibold text-text",children:"Team members"}),jsxRuntime.jsx("p",{className:"text-sm text-text-muted",children:p?"Manage who has access to this billing account.":"View members of this billing account."})]}),p&&r&&jsxRuntime.jsxs("div",{className:"flex flex-wrap items-end gap-3 border-b border-border p-4",children:[jsxRuntime.jsxs("div",{className:"flex-1 min-w-[200px]",children:[jsxRuntime.jsx("label",{className:"mb-1 block text-xs font-medium text-text-muted",children:"Email address"}),jsxRuntime.jsx("input",{type:"email",value:i,onChange:v=>x(v.target.value),placeholder:"colleague@company.com",className:`${sa} w-full`})]}),jsxRuntime.jsxs("div",{className:"w-32",children:[jsxRuntime.jsx("label",{className:"mb-1 block text-xs font-medium text-text-muted",children:"Role"}),jsxRuntime.jsx("select",{value:c,onChange:v=>s(v.target.value),className:`${sa} w-full`,children:ra.map(v=>jsxRuntime.jsx("option",{value:v,children:v.charAt(0).toUpperCase()+v.slice(1)},v))})]}),jsxRuntime.jsx("button",{type:"button",disabled:!i.includes("@")||o,onClick:w,className:"rounded-lg bg-text px-4 py-2 text-sm font-medium text-bg transition hover:opacity-80 disabled:cursor-not-allowed disabled:opacity-60",children:o?"Inviting...":"Invite"})]}),jsxRuntime.jsx("div",{className:"divide-y divide-border",children:e.length===0?jsxRuntime.jsx("div",{className:"p-6 text-sm text-text-muted",children:"No members yet."}):e.map(v=>{let d=y===v.id;return jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center justify-between gap-3 p-4",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("div",{className:"flex h-8 w-8 items-center justify-center rounded-full bg-brand/20 text-sm font-bold text-brand",children:(v.name||v.email).charAt(0).toUpperCase()}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("p",{className:"text-sm font-medium text-text",children:v.name||v.email}),jsxRuntime.jsxs("div",{className:"flex items-center gap-2 text-xs text-text-muted",children:[jsxRuntime.jsx("span",{children:v.email}),jsxRuntime.jsx("span",{className:`rounded-full px-2 py-0.5 text-[10px] font-semibold uppercase tracking-wide ${br(v.role)}`,children:v.role}),jsxRuntime.jsxs("span",{children:["Joined ",new Date(v.addedAt).toLocaleDateString("en-US")]})]})]})]}),p&&jsxRuntime.jsxs("div",{className:"flex items-center gap-2",children:[jsxRuntime.jsx("select",{value:v.role,onChange:f=>R(v.id,f.target.value),disabled:d,className:"rounded-md border border-border bg-bg-input px-2 py-1 text-xs text-text outline-none transition focus:border-brand disabled:cursor-not-allowed disabled:opacity-60",children:ra.map(f=>jsxRuntime.jsx("option",{value:f,children:f.charAt(0).toUpperCase()+f.slice(1)},f))}),jsxRuntime.jsx("button",{type:"button",disabled:d,onClick:()=>P(v.id),className:"rounded-md border border-rose-500/30 px-3 py-1.5 text-xs font-medium text-rose-500 transition hover:bg-rose-500/10 disabled:cursor-not-allowed disabled:opacity-60",children:d?"Removing...":"Remove"})]})]},v.id)})})]})})}n(wt,"AccountMembers");function gr(e,t="usd"){return new Intl.NumberFormat("en-US",{style:"currency",currency:t}).format(e)}n(gr,"fmt");function fr(e){return e.toLocaleDateString("en-US",{month:"short",day:"numeric"})}n(fr,"fmtDate");function vr({subscription:e,currentPlan:t,mtdSpend:r,currency:a,paymentMethods:l,onNavigate:p}){let i=t?.name??"Pay-as-you-go",x=!!e.id&&e.status==="active",c=e.currentPeriodEnd?fr(new Date(e.currentPeriodEnd)):null,s=l.find(w=>w.is_default||w.isDefault),o=l.length>0,u=e.status==="past_due",y,k;return o?x?(y="View costs",k="usage"):(y="Choose a plan",k="overview"):(y="Add payment method",k="invoices:payment-methods"),jsxRuntime.jsx("div",{className:"rounded-2xl border border-border bg-bg-card p-1",children:jsxRuntime.jsxs("div",{className:"grid grid-cols-2 md:grid-cols-4 divide-x divide-border",children:[jsxRuntime.jsxs("div",{className:"p-4",children:[jsxRuntime.jsx("p",{className:"text-[11px] uppercase tracking-wide text-text-dim mb-1",children:"Plan"}),jsxRuntime.jsx("p",{className:"text-sm font-semibold text-text",children:i}),c&&x&&jsxRuntime.jsxs("p",{className:"text-xs text-text-muted mt-0.5",children:[e.cancelAt?"Cancels":"Renews"," ",c]})]}),jsxRuntime.jsxs("div",{className:"p-4",children:[jsxRuntime.jsx("p",{className:"text-[11px] uppercase tracking-wide text-text-dim mb-1",children:"This Period"}),jsxRuntime.jsx("p",{className:"text-sm font-semibold text-text",children:gr(r,a)}),jsxRuntime.jsx("p",{className:"text-xs text-text-muted mt-0.5",children:"Month-to-date"})]}),jsxRuntime.jsxs("div",{className:"p-4",children:[jsxRuntime.jsx("p",{className:"text-[11px] uppercase tracking-wide text-text-dim mb-1",children:"Payment"}),u?jsxRuntime.jsx("p",{className:"text-sm font-semibold text-warning",children:"Past due"}):o?jsxRuntime.jsx("p",{className:"text-sm font-semibold text-text",children:s?.card?`${s.card.brand} \xB7\xB7\xB7\xB7${s.card.last4}`:"Active"}):jsxRuntime.jsx("p",{className:"text-sm font-semibold text-danger",children:"No payment method"}),o&&!u&&jsxRuntime.jsx("p",{className:"text-xs text-success mt-0.5",children:"Healthy"})]}),jsxRuntime.jsx("div",{className:"p-4 flex items-center justify-center",children:jsxRuntime.jsx("button",{type:"button",onClick:()=>p(k),className:"w-full rounded-lg bg-brand px-4 py-2 text-sm font-medium text-brand-foreground transition hover:bg-brand-hover",children:y})})]})})}n(vr,"StatusBar");function Ue(e,t="usd"){return new Intl.NumberFormat("en-US",{style:"currency",currency:t}).format(e)}n(Ue,"fmt");function St(e){return e>=1e9?`${(e/1e9).toFixed(1)}B`:e>=1e6?`${(e/1e6).toFixed(1)}M`:e>=1e3?`${(e/1e3).toFixed(0)}K`:String(e)}n(St,"fmtTokens");function oa(e){let t=new Date(e).getTime()-Date.now();return Math.max(0,Math.ceil(t/(1e3*60*60*24)))}n(oa,"daysUntil");function ze({children:e,delay:t=0,className:r=""}){let a=U.useRef(null);return U.useEffect(()=>{let l=a.current;if(!l)return;l.style.opacity="0",l.style.transform="translateY(10px)";let p=setTimeout(()=>{l.style.transition="opacity 0.4s ease, transform 0.4s ease",l.style.opacity="1",l.style.transform="translateY(0)";},t);return ()=>clearTimeout(p)},[t]),jsxRuntime.jsx("div",{ref:a,className:r,children:e})}n(ze,"FadeIn");function yr({value:e,duration:t=1200}){let[r,a]=U__namespace.useState(0),l=U.useRef(0);return U.useEffect(()=>{let p=l.current,i=e;if(p===i)return;let x=Date.now(),c=n(()=>{let s=Date.now()-x,o=Math.min(s/t,1),u=1-Math.pow(1-o,3);a(Math.round(p+(i-p)*u)),o<1?requestAnimationFrame(c):l.current=i;},"tick");requestAnimationFrame(c);},[e,t]),jsxRuntime.jsx(jsxRuntime.Fragment,{children:St(r)})}n(yr,"AnimatedNumber");var Ct={developer:{label:"Pay As You Go",color:"text-white/50",glow:""},pro:{label:"Pro",color:"text-sky-400",glow:"shadow-[0_0_20px_rgba(56,189,248,0.15)]"},team:{label:"Team",color:"text-violet-400",glow:"shadow-[0_0_20px_rgba(167,139,250,0.15)]"},enterprise:{label:"Enterprise",color:"text-amber-400",glow:"shadow-[0_0_20px_rgba(251,191,36,0.15)]"},custom:{label:"Custom",color:"text-emerald-400",glow:"shadow-[0_0_20px_rgba(52,211,153,0.15)]"}};function hr(e){let t=e.plans.find(d=>d.id===e.subscription.planId),r=e.plans.find(d=>d.id==="pro")??e.plans[1],a=e.usage?.totalCost??0,l=e.usage?.currency??"usd",p=e.subscription.currentPeriodEnd,i=oa(p),x=(e.balance?.available??0)/100,c=e.paymentMethods.find(d=>d.is_default||d.isDefault)??e.paymentMethods[0],s=!!e.subscription.id&&e.subscription.status==="active",o=e.subscription.status==="trialing",u=o?oa(e.subscription.currentPeriodEnd):0,k=e.usage?.records.find(d=>d.meterId==="ai"||d.unit?.toLowerCase().includes("token"))?.current??0,R=e.usage?.records.find(d=>d.meterId==="api_calls")?.current??0,P=t?Ct[t.id]??Ct.developer:Ct.developer,v=U__namespace.useMemo(()=>Array.from({length:28},(d,f)=>a>0?Math.max((f*137+17)%100,4):f%3===0?2:1),[a]);return jsxRuntime.jsxs("div",{className:"space-y-5",children:[o&&jsxRuntime.jsx(ze,{delay:0,children:jsxRuntime.jsxs("div",{className:"rounded-2xl border border-sky-500/25 bg-sky-500/[0.05] p-5 flex items-center justify-between gap-4",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("p",{className:"text-sm font-semibold text-sky-400",children:["Free trial active ","\xB7"," ",u," day",u!==1?"s":""," left"]}),jsxRuntime.jsx("p",{className:"text-[13px] text-white/50 mt-1",children:"Add a payment method to continue after your trial ends."})]}),jsxRuntime.jsx("button",{type:"button",onClick:()=>e.onNavigate("payment"),className:"rounded-full bg-sky-500 px-5 py-2 text-sm font-semibold text-white transition hover:bg-sky-400 active:scale-[0.97] flex-shrink-0",children:"Add payment"})]})}),!s&&!o&&r&&jsxRuntime.jsx(ze,{delay:0,children:jsxRuntime.jsxs("div",{className:"relative overflow-hidden rounded-2xl border border-sky-500/20 bg-gradient-to-br from-[#1a1a2e] to-[#141419] p-6",children:[jsxRuntime.jsx("div",{className:"pointer-events-none absolute -top-12 left-1/2 h-32 w-64 -translate-x-1/2 rounded-full bg-sky-500/10 blur-2xl"}),jsxRuntime.jsxs("div",{className:"relative",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",className:"text-sky-400",children:jsxRuntime.jsx("path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"})}),jsxRuntime.jsx("span",{className:"text-sm font-semibold text-sky-400",children:"Unlock the full Hanzo AI suite"})]}),jsxRuntime.jsxs("p",{className:"text-[22px] font-bold text-white mb-1",children:["All AI models. One plan. ",jsxRuntime.jsx("span",{className:"text-sky-400",children:"$20/mo."})]}),jsxRuntime.jsxs("p",{className:"text-[13px] text-white/50 mb-5",children:["14+ Zen AI models ","\xB7"," 1M+ token context ","\xB7"," Unlimited chat ","\xB7"," MCP tools ","\xB7"," Priority inference",r.trialDays?` \xB7 ${r.trialDays}-day free trial`:""]}),jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("button",{type:"button",onClick:()=>e.onUpgrade?.(r.id),className:"rounded-full bg-white px-6 py-2.5 text-sm font-bold text-black transition hover:bg-white/90 active:scale-[0.97]",children:r.trialDays?`Start ${r.trialDays}-day free trial`:"Upgrade to Unified AI"}),jsxRuntime.jsxs("button",{type:"button",onClick:()=>e.onNavigate("pricing"),className:"text-sm text-white/40 transition hover:text-white/70",children:["View all plans ","\u2192"]})]}),(r.annualPrice??0)>0&&jsxRuntime.jsxs("p",{className:"mt-3 text-[12px] text-emerald-400",children:["Or go annual for $",r.annualPrice,"/yr ","\u2014"," save $",r.price*12-r.annualPrice]})]})]})}),jsxRuntime.jsx(ze,{delay:0,children:jsxRuntime.jsx("div",{className:`rounded-2xl border border-white/[0.08] bg-[#141419] overflow-hidden transition-all ${P.glow}`,children:jsxRuntime.jsxs("div",{className:"p-6",children:[jsxRuntime.jsxs("div",{className:"flex items-start justify-between mb-5",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2.5 mb-1",children:[jsxRuntime.jsxs("span",{className:`text-[11px] font-semibold uppercase tracking-widest ${P.color}`,children:[P.label," Plan"]}),s&&jsxRuntime.jsx("span",{className:"rounded-full bg-emerald-500/15 px-2 py-0.5 text-[10px] font-semibold text-emerald-400",children:"Active"})]}),jsxRuntime.jsx("h2",{className:"text-2xl font-bold text-white",children:k>0?jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(yr,{value:k})," tokens"]}):e.usageLoading?"Loading\u2026":jsxRuntime.jsx("span",{className:"text-white/40",children:"No usage yet"})}),jsxRuntime.jsx("p",{className:"text-[13px] text-white/40 mt-1",children:k>0?"processed this billing period":"Start using Hanzo AI to see stats"})]}),jsxRuntime.jsxs("div",{className:"text-right",children:[jsxRuntime.jsx("p",{className:"text-[11px] text-white/30 mb-1",children:a>0?"API spend":"Credits available"}),jsxRuntime.jsx("p",{className:"text-xl font-semibold text-white tabular-nums",children:a>0?Ue(a,l):x>0?Ue(x,l):Ue(0,l)}),jsxRuntime.jsxs("p",{className:"text-[12px] text-white/30 mt-1",children:[i,"d until renewal"]})]})]}),jsxRuntime.jsx("div",{className:"h-10 flex items-end gap-[2px]",children:v.map((d,f)=>jsxRuntime.jsx("div",{className:`flex-1 rounded-sm transition-all duration-700 ${a>0?"bg-white/[0.12]":"bg-white/[0.04]"}`,style:{height:`${d}%`,transitionDelay:`${f*20}ms`}},f))}),jsxRuntime.jsxs("div",{className:"mt-5 grid grid-cols-3 gap-3",children:[jsxRuntime.jsxs("div",{className:"rounded-xl border border-white/[0.06] bg-white/[0.02] p-3",children:[jsxRuntime.jsx("p",{className:"text-[11px] text-white/30 mb-1",children:"Tokens / period"}),jsxRuntime.jsx("p",{className:"text-base font-semibold text-white tabular-nums",children:k>0?St(k):"\u2014"})]}),jsxRuntime.jsxs("div",{className:"rounded-xl border border-white/[0.06] bg-white/[0.02] p-3",children:[jsxRuntime.jsx("p",{className:"text-[11px] text-white/30 mb-1",children:"API calls"}),jsxRuntime.jsx("p",{className:"text-base font-semibold text-white tabular-nums",children:R>0?St(R):"\u2014"})]}),jsxRuntime.jsxs("div",{className:"rounded-xl border border-white/[0.06] bg-white/[0.02] p-3",children:[jsxRuntime.jsx("p",{className:"text-[11px] text-white/30 mb-1",children:"Credits left"}),jsxRuntime.jsx("p",{className:"text-base font-semibold text-white tabular-nums",children:Ue(x)})]})]})]})})}),jsxRuntime.jsx(ze,{delay:80,children:jsxRuntime.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-4",children:[jsxRuntime.jsxs("button",{type:"button",onClick:()=>e.onNavigate("credits"),className:"rounded-2xl border border-white/[0.08] bg-[#141419] p-5 text-left transition-all hover:border-white/[0.14] hover:bg-[#16161c] group active:scale-[0.99]",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between mb-3",children:[jsxRuntime.jsx("p",{className:"text-[11px] uppercase tracking-widest text-white/30",children:"Credit Balance"}),jsxRuntime.jsx("div",{className:"text-white/20 group-hover:text-white/40 transition-colors",children:jsxRuntime.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"6"}),jsxRuntime.jsx("path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18"})]})})]}),jsxRuntime.jsx("p",{className:"text-2xl font-bold text-white tabular-nums",children:Ue(x)}),jsxRuntime.jsxs("p",{className:"text-[13px] text-white/35 mt-1.5 group-hover:text-white/50 transition-colors",children:[e.creditGrants.filter(d=>d.active&&!d.voided).length," active grant",e.creditGrants.filter(d=>d.active&&!d.voided).length!==1?"s":""]})]}),jsxRuntime.jsxs("button",{type:"button",onClick:()=>e.onNavigate("pricing"),className:"rounded-2xl border border-white/[0.08] bg-[#141419] p-5 text-left transition-all hover:border-white/[0.14] hover:bg-[#16161c] group active:scale-[0.99]",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between mb-3",children:[jsxRuntime.jsx("p",{className:"text-[11px] uppercase tracking-widest text-white/30",children:"AI Plan"}),jsxRuntime.jsx("div",{className:"text-white/20 group-hover:text-white/40 transition-colors",children:jsxRuntime.jsx("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"})})})]}),jsxRuntime.jsx("p",{className:`text-2xl font-bold ${P.color||"text-white"}`,children:t?.name??"Pay As You Go"}),jsxRuntime.jsx("p",{className:"text-[13px] text-white/35 mt-1.5 group-hover:text-white/50 transition-colors",children:o?`Trial \xB7 ${u}d left`:s?"Active":"Upgrade to unlock all \u2192"})]}),jsxRuntime.jsxs("button",{type:"button",onClick:()=>e.onNavigate("payment"),className:"rounded-2xl border border-white/[0.08] bg-[#141419] p-5 text-left transition-all hover:border-white/[0.14] hover:bg-[#16161c] group active:scale-[0.99]",children:[jsxRuntime.jsxs("div",{className:"flex items-center justify-between mb-3",children:[jsxRuntime.jsx("p",{className:"text-[11px] uppercase tracking-widest text-white/30",children:"Payment"}),jsxRuntime.jsx("div",{className:"text-white/20 group-hover:text-white/40 transition-colors",children:jsxRuntime.jsxs("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("rect",{x:"2",y:"5",width:"20",height:"14",rx:"2"}),jsxRuntime.jsx("path",{d:"M2 10h20"})]})})]}),jsxRuntime.jsx("p",{className:"text-2xl font-bold text-white",children:c?.card?`\u2022\u2022\u2022\u2022 ${c.card.last4}`:c?c.type:"\u2014"}),jsxRuntime.jsx("p",{className:"text-[13px] text-white/35 mt-1.5 group-hover:text-white/50 transition-colors",children:c?.card?c.card.brand:c?"Active":"Add a payment method"})]})]})}),jsxRuntime.jsx(ze,{delay:120,children:jsxRuntime.jsxs("div",{className:"rounded-2xl border border-white/[0.08] bg-[#141419] overflow-hidden",children:[jsxRuntime.jsx("div",{className:"px-6 py-4 border-b border-white/[0.06]",children:jsxRuntime.jsx("h3",{className:"text-[14px] font-semibold text-white",children:"Quick access"})}),jsxRuntime.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 divide-x divide-y divide-white/[0.05]",children:[{label:"Usage",icon:jsxRuntime.jsx("path",{d:"M3 3v18h18"}),section:"usage"},{label:"Invoices",icon:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"}),jsxRuntime.jsx("path",{d:"M8 7h8"}),jsxRuntime.jsx("path",{d:"M8 11h8"})]}),section:"invoices"},{label:"Plans",icon:jsxRuntime.jsx("path",{d:"M9.937 15.5A2 2 0 0 0 8.5 14.063l-6.135-1.582a.5.5 0 0 1 0-.962L8.5 9.936A2 2 0 0 0 9.937 8.5l1.582-6.135a.5.5 0 0 1 .963 0L14.063 8.5A2 2 0 0 0 15.5 9.937l6.135 1.581a.5.5 0 0 1 0 .964L15.5 14.063a2 2 0 0 0-1.437 1.437l-1.582 6.135a.5.5 0 0 1-.963 0z"}),section:"pricing"},{label:"Credits",icon:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("circle",{cx:"8",cy:"8",r:"6"}),jsxRuntime.jsx("path",{d:"M18.09 10.37A6 6 0 1 1 10.34 18"})]}),section:"credits"},{label:"Alerts",icon:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M6 8a6 6 0 0 1 12 0c0 7 3 9 3 9H3s3-2 3-9"}),jsxRuntime.jsx("path",{d:"M10.3 21a1.94 1.94 0 0 0 3.4 0"})]}),section:"alerts"},{label:"Team",icon:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2"}),jsxRuntime.jsx("circle",{cx:"9",cy:"7",r:"4"})]}),section:"team"}].map(d=>jsxRuntime.jsxs("button",{type:"button",onClick:()=>e.onNavigate(d.section),className:"flex flex-col items-center gap-2 px-4 py-5 text-left transition-colors hover:bg-white/[0.03] group",children:[jsxRuntime.jsx("div",{className:"text-white/25 group-hover:text-white/50 transition-colors",children:jsxRuntime.jsx("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:d.icon})}),jsxRuntime.jsx("p",{className:"text-[12px] font-medium text-white/35 group-hover:text-white/60 transition-colors",children:d.label})]},d.section))})]})}),e.invoices.length>0&&jsxRuntime.jsx(ze,{delay:160,children:jsxRuntime.jsxs("div",{className:"rounded-2xl border border-white/[0.08] bg-[#141419] overflow-hidden",children:[jsxRuntime.jsxs("div",{className:"px-6 py-4 border-b border-white/[0.06] flex items-center justify-between",children:[jsxRuntime.jsx("h3",{className:"text-[14px] font-semibold text-white",children:"Recent invoices"}),jsxRuntime.jsxs("button",{type:"button",onClick:()=>e.onNavigate("invoices"),className:"text-[12px] text-white/35 hover:text-white/60 transition-colors",children:["View all ","\u2192"]})]}),jsxRuntime.jsx("div",{className:"divide-y divide-white/[0.04]",children:e.invoices.slice(0,3).map(d=>jsxRuntime.jsxs("div",{className:"flex items-center justify-between px-6 py-3.5 hover:bg-white/[0.02] transition-colors",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("p",{className:"text-[13px] text-white/70",children:["#",d.invoiceNumber||d.number||d.id.slice(0,10)]}),jsxRuntime.jsx("p",{className:"text-[12px] text-white/30",children:new Date(d.date).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"})})]}),jsxRuntime.jsxs("div",{className:"text-right",children:[jsxRuntime.jsx("p",{className:"text-[13px] font-semibold text-white tabular-nums",children:Ue(d.total,d.currency)}),jsxRuntime.jsx("span",{className:`text-[11px] font-medium ${d.status==="paid"?"text-emerald-400":d.status==="failed"?"text-red-400":"text-amber-400"}`,children:d.status.charAt(0).toUpperCase()+d.status.slice(1)})]})]},d.id))})]})})]})}n(hr,"OverviewDashboard");function dt(e,t="usd"){return new Intl.NumberFormat("en-US",{style:"currency",currency:t}).format(e)}n(dt,"fmt");var kt={ai:"LLM / Chat",api_calls:"API Requests",storage:"Storage",gpu:"GPU Compute",network:"Network",network_egress:"Egress"},Nr={ai:"bg-violet-500",api_calls:"bg-indigo-500",storage:"bg-blue-500",gpu:"bg-amber-500",network:"bg-emerald-500",network_egress:"bg-teal-500"};function wr({usage:e,usageLoading:t}){let[r,a]=U.useState("30d"),[l,p]=U.useState("all"),[i,x]=U.useState("cost"),[c,s]=U.useState(false),o=e?.records??[],u=e?.totalCost??0,y=e?.currency??"usd",k=U.useMemo(()=>{let d=new Set(o.map(f=>f.meterId));return Array.from(d)},[o]),w=U.useMemo(()=>{let d=l==="all"?o:o.filter(f=>f.meterId===l);return d=[...d].sort((f,m)=>{let M=0;return i==="cost"?M=f.cost-m.cost:i==="usage"?M=f.current-m.current:M=f.label.localeCompare(m.label),c?M:-M}),d},[o,l,i,c]),R=U.useMemo(()=>[...o].sort((d,f)=>f.cost-d.cost).slice(0,5),[o]),P=n(d=>{i===d?s(!c):(x(d),s(false));},"handleSort"),v=n(d=>i===d?c?" \u2191":" \u2193":"","sortIndicator");return t?jsxRuntime.jsx("div",{className:"flex items-center justify-center py-16",children:jsxRuntime.jsx("div",{className:"h-6 w-6 animate-spin rounded-full border-2 border-text-dim border-t-brand"})}):jsxRuntime.jsxs("div",{className:"space-y-6",children:[jsxRuntime.jsxs("div",{className:"flex flex-wrap items-center gap-3 rounded-xl border border-border bg-bg-card p-4",children:[jsxRuntime.jsx("div",{className:"flex gap-1 rounded-lg bg-bg p-0.5",children:["7d","30d","90d"].map(d=>jsxRuntime.jsx("button",{type:"button",onClick:()=>a(d),className:`rounded-md px-3 py-1.5 text-xs font-medium transition ${r===d?"bg-bg-elevated text-text":"text-text-muted hover:text-text"}`,children:d},d))}),jsxRuntime.jsxs("select",{value:l,onChange:d=>p(d.target.value),className:"rounded-lg border border-border bg-bg-input px-3 py-1.5 text-xs text-text outline-none",children:[jsxRuntime.jsx("option",{value:"all",children:"All products"}),k.map(d=>jsxRuntime.jsx("option",{value:d,children:kt[d]??d},d))]}),jsxRuntime.jsx("select",{disabled:true,className:"rounded-lg border border-border bg-bg-input px-3 py-1.5 text-xs text-text-dim opacity-50 cursor-not-allowed",children:jsxRuntime.jsx("option",{children:"Model (coming soon)"})}),jsxRuntime.jsx("select",{disabled:true,className:"rounded-lg border border-border bg-bg-input px-3 py-1.5 text-xs text-text-dim opacity-50 cursor-not-allowed",children:jsxRuntime.jsx("option",{children:"Project (coming soon)"})})]}),jsxRuntime.jsxs("div",{className:"rounded-xl border border-border bg-bg-card p-6",children:[jsxRuntime.jsxs("div",{className:"flex items-end justify-between mb-4",children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("p",{className:"text-xs uppercase tracking-wide text-text-dim",children:["Total Cost (",r,")"]}),jsxRuntime.jsx("p",{className:"text-3xl font-bold text-text mt-1",children:dt(u,y)})]}),e?.period&&jsxRuntime.jsxs("p",{className:"text-xs text-text-muted",children:[new Date(e.period.start).toLocaleDateString()," ","\u2014"," ",new Date(e.period.end).toLocaleDateString()]})]}),jsxRuntime.jsx("div",{className:"flex items-center justify-center h-32 rounded-lg bg-bg border border-dashed border-border",children:jsxRuntime.jsxs("p",{className:"text-xs text-text-dim",children:["Cost trend chart ","\u2014"," coming soon"]})})]}),R.length>0&&jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("h3",{className:"text-xs font-medium uppercase tracking-wide text-text-dim mb-3",children:"Top Drivers"}),jsxRuntime.jsx("div",{className:"space-y-2",children:R.map(d=>{let f=u>0?d.cost/u*100:0,m=Nr[d.meterId]??"bg-gray-500";return jsxRuntime.jsxs("div",{className:"flex items-center gap-3",children:[jsxRuntime.jsx("span",{className:"w-24 shrink-0 text-xs text-text-muted truncate",children:kt[d.meterId]??d.label}),jsxRuntime.jsx("div",{className:"flex-1 h-4 rounded bg-bg-elevated overflow-hidden",children:jsxRuntime.jsx("div",{className:`h-full rounded ${m} transition-all`,style:{width:`${f}%`}})}),jsxRuntime.jsx("span",{className:"w-20 shrink-0 text-right text-xs font-medium text-text",children:dt(d.cost)}),jsxRuntime.jsxs("span",{className:"w-12 shrink-0 text-right text-[11px] text-text-muted",children:[f.toFixed(1),"%"]})]},d.meterId)})})]}),jsxRuntime.jsx("div",{className:"rounded-xl border border-border overflow-hidden",children:jsxRuntime.jsxs("table",{className:"w-full text-sm",children:[jsxRuntime.jsx("thead",{children:jsxRuntime.jsxs("tr",{className:"bg-bg-elevated text-xs uppercase tracking-wide text-text-muted",children:[jsxRuntime.jsxs("th",{className:"px-4 py-3 text-left cursor-pointer select-none",onClick:()=>P("label"),children:["Product",v("label")]}),jsxRuntime.jsx("th",{className:"px-4 py-3 text-left",children:"Meter"}),jsxRuntime.jsxs("th",{className:"px-4 py-3 text-right cursor-pointer select-none",onClick:()=>P("usage"),children:["Usage",v("usage")]}),jsxRuntime.jsxs("th",{className:"px-4 py-3 text-right cursor-pointer select-none",onClick:()=>P("cost"),children:["Cost",v("cost")]}),jsxRuntime.jsx("th",{className:"px-4 py-3 text-right",children:"% of Total"})]})}),jsxRuntime.jsx("tbody",{className:"divide-y divide-border",children:w.length===0?jsxRuntime.jsx("tr",{children:jsxRuntime.jsx("td",{colSpan:5,className:"px-4 py-8 text-center text-text-muted text-sm",children:"No usage data for this period."})}):w.map(d=>{let f=u>0?d.cost/u*100:0;return jsxRuntime.jsxs("tr",{className:"hover:bg-bg-card transition-colors",children:[jsxRuntime.jsx("td",{className:"px-4 py-3 text-text font-medium",children:kt[d.meterId]??d.label}),jsxRuntime.jsx("td",{className:"px-4 py-3 text-text-muted",children:d.meterId}),jsxRuntime.jsxs("td",{className:"px-4 py-3 text-right text-text",children:[d.current.toLocaleString()," ",d.unit,d.limit?jsxRuntime.jsxs("span",{className:"text-text-dim",children:[" / ",d.limit.toLocaleString()]}):null]}),jsxRuntime.jsx("td",{className:"px-4 py-3 text-right text-text font-medium",children:dt(d.cost)}),jsxRuntime.jsxs("td",{className:"px-4 py-3 text-right text-text-muted",children:[f.toFixed(1),"%"]})]},d.meterId)})}),w.length>0&&jsxRuntime.jsx("tfoot",{children:jsxRuntime.jsxs("tr",{className:"bg-bg-elevated font-medium",children:[jsxRuntime.jsx("td",{colSpan:3,className:"px-4 py-3 text-xs uppercase tracking-wide text-text-muted",children:"Total"}),jsxRuntime.jsx("td",{className:"px-4 py-3 text-right text-text",children:dt(u,y)}),jsxRuntime.jsx("td",{className:"px-4 py-3 text-right text-text-muted",children:"100%"})]})})]})})]})}n(wr,"CostExplorer");function kr(e,t="usd"){return new Intl.NumberFormat("en-US",{style:"currency",currency:t}).format(e)}n(kr,"fmt");function Rr(e){return new Date(e).toLocaleDateString("en-US",{day:"numeric",month:"short",year:"numeric"})}n(Rr,"fmtDate");var Xe=20;function Ar({children:e,delay:t=0}){let r=U.useRef(null);return U.useEffect(()=>{let a=r.current;if(!a)return;a.style.opacity="0",a.style.transform="translateY(8px)";let l=setTimeout(()=>{a.style.transition="opacity 0.4s ease, transform 0.4s ease",a.style.opacity="1",a.style.transform="translateY(0)";},t);return ()=>clearTimeout(l)},[t]),jsxRuntime.jsx("div",{ref:r,children:e})}n(Ar,"FadeIn");function Dr(e){let[t,r]=U.useState(0),{invoices:a}=e,l=Math.ceil(a.length/Xe),p=a.slice(t*Xe,(t+1)*Xe);return jsxRuntime.jsx(Ar,{delay:0,children:jsxRuntime.jsxs("div",{className:"rounded-2xl border border-white/[0.08] bg-[#141419] overflow-hidden",children:[jsxRuntime.jsx("div",{className:"px-6 py-5",children:jsxRuntime.jsx("h3",{className:"text-[15px] font-semibold text-white",children:"All invoices"})}),jsxRuntime.jsx("div",{className:"border-t border-white/[0.06]",children:a.length===0?jsxRuntime.jsxs("div",{className:"py-20 flex flex-col items-center justify-center gap-3",children:[jsxRuntime.jsx("div",{className:"flex h-14 w-14 items-center justify-center rounded-2xl border border-white/[0.08] bg-white/[0.03] text-white/20",children:jsxRuntime.jsxs("svg",{width:"28",height:"28",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round",children:[jsxRuntime.jsx("path",{d:"M4 2v20l2-1 2 1 2-1 2 1 2-1 2 1 2-1 2 1V2l-2 1-2-1-2 1-2-1-2 1-2-1-2 1Z"}),jsxRuntime.jsx("path",{d:"M8 7h8"}),jsxRuntime.jsx("path",{d:"M8 11h8"}),jsxRuntime.jsx("path",{d:"M8 15h4"})]})}),jsxRuntime.jsxs("div",{className:"text-center",children:[jsxRuntime.jsx("p",{className:"text-sm font-medium text-white/40",children:"No invoices yet"}),jsxRuntime.jsx("p",{className:"mt-1 text-[13px] text-white/25",children:"Invoices appear here once you subscribe or make a purchase."})]})]}):jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx("div",{className:"overflow-x-auto",children:jsxRuntime.jsxs("table",{className:"w-full text-sm",children:[jsxRuntime.jsx("thead",{children:jsxRuntime.jsxs("tr",{className:"border-b border-white/[0.06] text-left",children:[jsxRuntime.jsx("th",{className:"px-6 py-3 text-[13px] font-medium text-white/40",children:"Invoice #"}),jsxRuntime.jsx("th",{className:"px-6 py-3 text-[13px] font-medium text-white/40",children:"Date"}),jsxRuntime.jsx("th",{className:"px-6 py-3 text-[13px] font-medium text-white/40",children:"Type"}),jsxRuntime.jsx("th",{className:"px-6 py-3 text-[13px] font-medium text-white/40 text-right",children:"Amount"}),jsxRuntime.jsx("th",{className:"px-6 py-3 text-[13px] font-medium text-white/40 text-right",children:"Status"})]})}),jsxRuntime.jsx("tbody",{children:p.map((i,x)=>jsxRuntime.jsxs("tr",{className:"group border-b border-white/[0.04] last:border-0 hover:bg-white/[0.02] transition-colors cursor-pointer",onClick:()=>e.onDownloadInvoice?.(i),children:[jsxRuntime.jsxs("td",{className:"px-6 py-4 text-[13px] text-white font-medium",children:["#",i.invoiceNumber||i.number||i.id.slice(0,15)]}),jsxRuntime.jsx("td",{className:"px-6 py-4 text-[13px] text-white/50",children:Rr(i.date)}),jsxRuntime.jsx("td",{className:"px-6 py-4 text-[13px] text-white/50",children:i.items?.length===1?"Single Purchase":"Monthly Invoice"}),jsxRuntime.jsx("td",{className:"px-6 py-4 text-[13px] text-white font-semibold text-right tabular-nums",children:kr(i.total,i.currency)}),jsxRuntime.jsx("td",{className:"px-6 py-4 text-right",children:jsxRuntime.jsx(Ir,{status:i.status})})]},i.id))})]})}),l>1&&jsxRuntime.jsxs("div",{className:"border-t border-white/[0.06] px-6 py-3 flex items-center justify-between bg-white/[0.02]",children:[jsxRuntime.jsxs("p",{className:"text-[13px] text-white/30",children:["Showing ",t*Xe+1,"\u2013",Math.min((t+1)*Xe,a.length)," of ",a.length]}),jsxRuntime.jsxs("div",{className:"flex gap-1.5",children:[jsxRuntime.jsx("button",{type:"button",disabled:t===0,onClick:()=>r(i=>i-1),className:"rounded-full border border-white/[0.1] px-3.5 py-1.5 text-[13px] font-medium text-white/70 transition-all hover:bg-white/[0.05] hover:border-white/[0.2] disabled:opacity-30 disabled:cursor-not-allowed active:scale-[0.97]",children:"Previous"}),jsxRuntime.jsx("button",{type:"button",disabled:t>=l-1,onClick:()=>r(i=>i+1),className:"rounded-full border border-white/[0.1] px-3.5 py-1.5 text-[13px] font-medium text-white/70 transition-all hover:bg-white/[0.05] hover:border-white/[0.2] disabled:opacity-30 disabled:cursor-not-allowed active:scale-[0.97]",children:"Next"})]})]})]})})]})})}n(Dr,"InvoicesPayments");function Ir({status:e}){return jsxRuntime.jsx("span",{className:`inline-flex items-center rounded-full px-3 py-1 text-[12px] font-medium transition-colors ${e==="paid"||e==="active"?"bg-white/[0.08] text-white/80":e==="failed"||e==="uncollectible"?"bg-red-500/15 text-red-400":"bg-amber-500/15 text-amber-400"}`,children:e.charAt(0).toUpperCase()+e.slice(1)})}n(Ir,"StatusBadge");var Br=[{id:"alerts",label:"Spend Alerts"},{id:"team",label:"Team"},{id:"business",label:"Business Info"},{id:"tax",label:"Tax & Compliance"},{id:"support",label:"Support"},{id:"promotions",label:"Promotions"}];function Er(e){let[t,r]=U.useState(e.defaultSubTab??"alerts");return jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("div",{className:"mb-6 flex flex-wrap gap-1 rounded-xl bg-bg-card p-1 border border-border",children:Br.map(a=>jsxRuntime.jsx("button",{type:"button",onClick:()=>r(a.id),className:`rounded-lg px-3 py-2 text-sm font-medium transition ${t===a.id?"bg-bg-elevated text-text":"text-text-muted hover:text-text-secondary"}`,children:a.label},a.id))}),t==="alerts"&&jsxRuntime.jsx(ft,{alerts:e.spendAlerts,onCreateAlert:e.onCreateSpendAlert,onUpdateAlert:e.onUpdateSpendAlert,onDeleteAlert:e.onDeleteSpendAlert}),t==="team"&&jsxRuntime.jsx(wt,{members:e.accountMembers,userRole:e.userRole,onInvite:e.onInviteMember,onChangeRole:e.onChangeMemberRole,onRemove:e.onRemoveMember}),t==="business"&&jsxRuntime.jsx(Ye,{profile:e.businessProfile,onSave:e.onSaveBusinessProfile}),t==="tax"&&jsxRuntime.jsx(Ge,{taxSettings:e.taxSettings,complianceItems:e.complianceItems,onToggleAutomaticTax:e.onToggleAutomaticTax}),t==="support"&&jsxRuntime.jsx(Nt,{currentTier:e.currentSupportTier,onSubscribe:e.onSubscribeSupport}),t==="promotions"&&jsxRuntime.jsx(ht,{discount:e.discount??null,onApplyDiscount:e.onApplyDiscount})]})}n(Er,"BillingSettings");function $r(e){let t=[{label:"Add a payment method",description:"Required to activate your account and start using Hanzo services.",done:e.hasPaymentMethod,required:true,action:e.onAddPaymentMethod,actionLabel:"Add payment method"},{label:"Pick a billing mode",description:"Choose a monthly plan for predictable costs, or pay-as-you-go for flexible usage.",done:e.hasSubscription,required:true,action:e.onPickPlan,actionLabel:"Choose plan"},{label:"Set a spend limit",description:"Prevent surprise bills by setting a monthly budget with automatic alerts.",done:e.hasSpendAlert,required:false,action:e.onSetSpendLimit,actionLabel:"Set limit"},{label:"Buy credits",description:"Pre-pay for usage at a discount. Credits are applied before card charges.",done:e.hasCredits,required:false,action:e.onBuyCredits,actionLabel:"Buy credits"}],r=t.filter(a=>a.done).length;return jsxRuntime.jsx("div",{className:"mx-auto max-w-lg py-8",children:jsxRuntime.jsxs("div",{className:"rounded-2xl border border-border bg-bg-card p-8",children:[jsxRuntime.jsx("h2",{className:"text-lg font-semibold text-text mb-1",children:"Get billing ready"}),jsxRuntime.jsxs("p",{className:"text-sm text-text-muted mb-6",children:["Complete these steps to activate your account. ",r," of ",t.length," done."]}),jsxRuntime.jsx("div",{className:"h-1.5 rounded-full bg-bg-elevated mb-8 overflow-hidden",children:jsxRuntime.jsx("div",{className:"h-full rounded-full bg-success transition-all duration-500",style:{width:`${r/t.length*100}%`}})}),jsxRuntime.jsx("div",{className:"space-y-4",children:t.map((a,l)=>jsxRuntime.jsxs("div",{className:`flex items-start gap-4 rounded-xl border p-4 transition ${a.done?"border-success/20 bg-success/5":"border-border bg-bg"}`,children:[jsxRuntime.jsx("div",{className:`mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-full text-xs font-semibold ${a.done?"bg-success text-white":"bg-bg-elevated text-text-muted border border-border"}`,children:a.done?jsxRuntime.jsx("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round",children:jsxRuntime.jsx("polyline",{points:"20 6 9 17 4 12"})}):l+1}),jsxRuntime.jsxs("div",{className:"flex-1 min-w-0",children:[jsxRuntime.jsxs("div",{className:"flex items-center gap-2 mb-0.5",children:[jsxRuntime.jsx("p",{className:`text-sm font-medium ${a.done?"text-success":"text-text"}`,children:a.label}),!a.required&&!a.done&&jsxRuntime.jsx("span",{className:"text-[10px] uppercase tracking-wider text-text-dim",children:"Optional"})]}),jsxRuntime.jsx("p",{className:"text-xs text-text-muted",children:a.description})]}),!a.done&&jsxRuntime.jsx("button",{type:"button",onClick:a.action,className:"shrink-0 rounded-lg border border-border px-3 py-1.5 text-xs font-medium text-text transition hover:bg-bg-elevated",children:a.actionLabel})]},a.label))}),jsxRuntime.jsx("div",{className:"mt-6 text-center",children:jsxRuntime.jsx("button",{type:"button",onClick:e.onDismiss,className:"text-sm text-text-muted transition hover:text-text",children:"Skip setup"})})]})})}n($r,"GuidedSetup");function Lr(e){return e.replace(/\D/g,"").slice(0,16).replace(/(.{4})/g,"$1 ").trim()}n(Lr,"formatCardNumber");function _r(e){let t=e.replace(/\D/g,"").slice(0,4);return t.length>=3?t.slice(0,2)+"/"+t.slice(2):t}n(_r,"formatExpiry");function Ur(e){return e.startsWith("4")?"visa":/^5[1-5]/.test(e)||/^2[2-7]/.test(e)?"mastercard":/^3[47]/.test(e)?"amex":/^6(?:011|5)/.test(e)?"discover":""}n(Ur,"detectBrand");var zr={width:"100%",background:"rgba(255,255,255,0.04)",border:"1px solid rgba(255,255,255,0.10)",borderRadius:"8px",padding:"10px 12px",color:"#fafafa",fontSize:"14px",fontFamily:"ui-sans-serif, system-ui, sans-serif",outline:"none",transition:"border-color 0.2s",boxSizing:"border-box"},Or={borderColor:"rgba(255,255,255,0.35)"},Je={display:"block",fontSize:"12px",fontWeight:500,color:"rgba(255,255,255,0.5)",marginBottom:"4px",textTransform:"uppercase",letterSpacing:"0.05em"},Wr=process.env.NEXT_PUBLIC_COMMERCE_API??"https://api.hanzo.ai/api/v1";function jr({onSuccess:e,apiBaseUrl:t,authToken:r,disabled:a}){let[l,p]=U__namespace.useState(""),[i,x]=U__namespace.useState(""),[c,s]=U__namespace.useState(""),[o,u]=U__namespace.useState(""),[y,k]=U__namespace.useState(""),[w,R]=U__namespace.useState(null),[P,v]=U__namespace.useState(false),[d,f]=U__namespace.useState(null),m=l.replace(/\D/g,""),M=Ur(m),j=M==="amex"?4:3,le=U__namespace.useCallback(async E=>{if(E.preventDefault(),R(null),m.length<13){R("Invalid card number");return}if(!c.includes("/")){R("Invalid expiry (MM/YY)");return}let[K,We]=c.split("/");if(!K||!We||K.length!==2||We.length!==2){R("Invalid expiry");return}if(o.length<3){R("Invalid CVC");return}if(!i.trim()){R("Cardholder name is required");return}v(true);try{let Ee=t??Wr,et={"Content-Type":"application/json"};r&&(et.Authorization=`Bearer ${r}`);let b=await fetch(`${Ee}/billing/card/tokenize`,{method:"POST",headers:et,body:JSON.stringify({number:m,expiry_month:K,expiry_year:`20${We}`,cvc:o,name:i.trim(),zip:y.trim()})});if(!b.ok){let je=await b.json().catch(()=>({}));throw new Error(je.error??`Tokenization failed (${b.status})`)}let X=await b.json();await e(X);}catch(Ee){R(Ee instanceof Error?Ee.message:"Card processing error");}finally{v(false);}},[m,c,o,i,y,t,r,e]),h=n(E=>({...zr,...d===E?Or:{}}),"fieldStyle"),N=!a&&!P&&m.length>=13&&!!c&&!!o&&!!i.trim();return jsxRuntime.jsxs("form",{onSubmit:le,style:{display:"flex",flexDirection:"column",gap:"12px"},children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("label",{style:Je,children:"Card number"}),jsxRuntime.jsxs("div",{style:{position:"relative"},children:[jsxRuntime.jsx("input",{type:"text",inputMode:"numeric",autoComplete:"cc-number",placeholder:"1234 5678 9012 3456",value:l,onChange:E=>p(Lr(E.target.value)),onFocus:()=>f("number"),onBlur:()=>f(null),style:{...h("number"),paddingRight:M?"44px":"12px"},disabled:a||P,maxLength:19}),M&&jsxRuntime.jsx("span",{style:{position:"absolute",right:"12px",top:"50%",transform:"translateY(-50%)",fontSize:"11px",fontWeight:600,color:"rgba(255,255,255,0.5)",textTransform:"uppercase"},children:M})]})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("label",{style:Je,children:"Cardholder name"}),jsxRuntime.jsx("input",{type:"text",autoComplete:"cc-name",placeholder:"Jane Smith",value:i,onChange:E=>x(E.target.value),onFocus:()=>f("name"),onBlur:()=>f(null),style:h("name"),disabled:a||P})]}),jsxRuntime.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:"10px"},children:[jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("label",{style:Je,children:"Expiry"}),jsxRuntime.jsx("input",{type:"text",inputMode:"numeric",autoComplete:"cc-exp",placeholder:"MM/YY",value:c,onChange:E=>s(_r(E.target.value)),onFocus:()=>f("expiry"),onBlur:()=>f(null),style:h("expiry"),disabled:a||P,maxLength:5})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsx("label",{style:Je,children:M==="amex"?"CID (4 digits)":"CVC"}),jsxRuntime.jsx("input",{type:"password",inputMode:"numeric",autoComplete:"cc-csc",placeholder:M==="amex"?"1234":"123",value:o,onChange:E=>u(E.target.value.replace(/\D/g,"").slice(0,j)),onFocus:()=>f("cvc"),onBlur:()=>f(null),style:h("cvc"),disabled:a||P,maxLength:j})]})]}),jsxRuntime.jsxs("div",{children:[jsxRuntime.jsxs("label",{style:Je,children:["ZIP / Postal code"," ",jsxRuntime.jsx("span",{style:{color:"rgba(255,255,255,0.25)"},children:"(optional)"})]}),jsxRuntime.jsx("input",{type:"text",autoComplete:"postal-code",placeholder:"10001",value:y,onChange:E=>k(E.target.value.slice(0,10)),onFocus:()=>f("zip"),onBlur:()=>f(null),style:h("zip"),disabled:a||P})]}),w&&jsxRuntime.jsx("p",{style:{margin:0,fontSize:"13px",color:"#f87171"},children:w}),jsxRuntime.jsx("button",{type:"submit",disabled:!N,style:{width:"100%",borderRadius:"8px",border:"none",backgroundColor:N?"rgb(250,250,250)":"rgba(250,250,250,0.3)",color:N?"rgb(9,9,11)":"rgba(9,9,11,0.5)",padding:"10px 16px",fontSize:"14px",fontWeight:500,cursor:N?"pointer":"not-allowed",transition:"opacity 0.15s"},children:P?"Processing...":"Save card"}),jsxRuntime.jsxs("div",{style:{display:"flex",alignItems:"center",gap:"6px",fontSize:"11px",color:"rgba(255,255,255,0.3)"},children:[jsxRuntime.jsxs("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",children:[jsxRuntime.jsx("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2"}),jsxRuntime.jsx("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"})]}),"Encrypted \xB7 PCI-compliant \xB7 Powered by Hanzo Commerce"]})]})}n(jr,"CardForm");
|
|
3
|
+
exports.AccountMembers=wt;exports.AccountSwitcher=xr;exports.AnimatedCard=ya;exports.BillingSettings=Er;exports.BillingWorkspace=Wa;exports.BusinessProfilePanel=Ye;exports.CardForm=jr;exports.CostExplorer=wr;exports.CreditModal=lr;exports.CreditsPanel=Ka;exports.GuidedSetup=$r;exports.InvoiceManager=bt;exports.InvoicesPayments=Dr;exports.OverviewDashboard=hr;exports.PaymentMethodManager=xt;exports.PromotionsPanel=ht;exports.SpendAlertsPanel=ft;exports.SquareCardForm=pt;exports.StatusBar=vr;exports.SubscriptionPortal=mt;exports.SupportTiersPanel=Nt;exports.TaxCompliancePanel=Ge;exports.TransactionsPanel=mr;exports.UsagePanel=Ya;
|